/* Do not modify this file. Changes will be overwritten.                      */
/* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
/* packet-f1ap.c                                                              */
/* asn2wrs.py -q -L -p f1ap -c ./f1ap.cnf -s ./packet-f1ap-template -D . -O ../.. F1AP-CommonDataTypes.asn F1AP-Constants.asn F1AP-Containers.asn F1AP-IEs.asn F1AP-PDU-Contents.asn F1AP-PDU-Descriptions.asn */

/* packet-f1ap.c
 * Routines for E-UTRAN F1 Application Protocol (F1AP) packet dissection
 * Copyright 2018-2024, Pascal Quantin <pascal@wireshark.org>
 *
 * Wireshark - Network traffic analyzer
 * By Gerald Combs <gerald@wireshark.org>
 * Copyright 1998 Gerald Combs
 *
 * SPDX-License-Identifier: GPL-2.0-or-later
 *
 * References: 3GPP TS 38.473 V18.2.0 (2024-06)
 */

#include "config.h"

#include <epan/packet.h>

#include <epan/asn1.h>
#include <epan/sctpppids.h>
#include <epan/proto_data.h>
#include <epan/stats_tree.h>
#include <epan/tfs.h>
#include <epan/unit_strings.h>
#include <wsutil/array.h>

#include "packet-per.h"
#include "packet-f1ap.h"
#include "packet-x2ap.h"
#include "packet-nr-rrc.h"
#include "packet-e212.h"
#include "packet-pdcp-nr.h"
#include "packet-lte-rrc.h"
#include "packet-nrppa.h"
#include "packet-lpp.h"

#define PNAME  "F1 Application Protocol"
#define PSNAME "F1AP"
#define PFNAME "f1ap"

#define SCTP_PORT_F1AP 38472

void proto_register_f1ap(void);
void proto_reg_handoff_f1ap(void);

#define maxPrivateIEs                  65535
#define maxProtocolExtensions          65535
#define maxProtocolIEs                 65535
#define maxNRARFCN                     3279165
#define maxnoofErrors                  256
#define maxnoofIndividualF1ConnectionsToReset 65536
#define maxCellingNBDU                 512
#define maxnoofSCells                  32
#define maxnoofSRBs                    8
#define maxnoofDRBs                    64
#define maxnoofULUPTNLInformation      2
#define maxnoofDLUPTNLInformation      2
#define maxnoofBPLMNs                  6
#define maxnoofCandidateSpCells        64
#define maxnoofPotentialSpCells        64
#define maxnoofNrCellBands             32
#define maxnoofSIBTypes                32
#define maxnoofSITypes                 32
#define maxnoofPagingCells             512
#define maxnoofTNLAssociations         32
#define maxnoofQoSFlows                64
#define maxnoofSliceItems              1024
#define maxCellineNB                   256
#define maxnoofExtendedBPLMNs          6
#define maxnoofUEIDs                   65536
#define maxnoofBPLMNsNR                12
#define maxnoofUACPLMNs                12
#define maxnoofUACperPLMN              64
#define maxnoofAdditionalSIBs          63
#define maxnoofslots                   5120
#define maxnoofTLAs                    16
#define maxnoofGTPTLAs                 16
#define maxnoofBHRLCChannels           65536
#define maxnoofRoutingEntries          1024
#define maxnoofIABSTCInfo              45
#define maxnoofSymbols                 14
#define maxnoofServingCells            32
#define maxnoofDUFSlots                320
#define maxnoofHSNASlots               5120
#define maxnoofServedCellsIAB          512
#define maxnoofSSBarea                 64
#define maxnoofChildIABNodes           1024
#define maxnoofNonUPTrafficMappings    32
#define maxnoofTLAsIAB                 1024
#define maxnoofMappingEntries          67108864
#define maxnoofDSInfo                  64
#define maxnoofEgressLinks             2
#define maxnoofULUPTNLInformationforIAB 32678
#define maxnoofUPTNLAddresses          8
#define maxnoofSLDRBs                  512
#define maxnoofQoSParaSets             8
#define maxnoofPC5QoSFlows             2048
#define maxnoofSSBAreas                64
#define maxnoofPhysicalResourceBlocks  275
#define maxnoofPhysicalResourceBlocks_1 274
#define maxnoofPRACHconfigs            16
#define maxnoofRAReports               64
#define maxnoofRLFReports              64
#define maxnoofAdditionalPDCPDuplicationTNL 2
#define maxnoofRLCDuplicationState     3
#define maxnoofCHOcells                8
#define maxnoofMDTPLMNs                16
#define maxnoofCAGsupported            12
#define maxnoofNIDsupported            12
#define maxnoofNRSCSs                  5
#define maxnoofExtSliceItems           65535
#define maxnoofPosMeas                 16384
#define maxnoofTRPInfoTypes            64
#define maxnoofTRPs                    65535
#define maxnoofSRSTriggerStates        3
#define maxnoofSpatialRelations        64
#define maxnoBcastCell                 16384
#define maxnoofAngleInfo               65535
#define maxnooflcs_gcs_translation     3
#define maxnoofPath                    2
#define maxnoofMeasE_CID               64
#define maxnoofSSBs                    255
#define maxnoSRS_ResourceSets          16
#define maxnoSRS_ResourcePerSet        16
#define maxnoSRS_Carriers              32
#define maxnoSCSs                      5
#define maxnoSRS_Resources             64
#define maxnoSRS_PosResources          64
#define maxnoSRS_PosResourceSets       16
#define maxnoSRS_PosResourcePerSet     16
#define maxnoofPRS_ResourceSets        2
#define maxnoofPRS_ResourcesPerSet     64
#define maxNoOfMeasTRPs                64
#define maxnoofPRSresourceSets         8
#define maxnoofPRSresources            64
#define maxnoofSuccessfulHOReports     64
#define maxnoofNR_UChannelIDs          16
#define maxServedCellforSON            256
#define maxNeighbourCellforSON         32
#define maxAffectedCells               32
#define maxnoofMRBs                    32
#define maxnoofMBSQoSFlows             64
#define maxnoofMBSFSAs                 256
#define maxnoofUEIDforPaging           4096
#define maxnoofCellsforMBS             512
#define maxnoofTAIforMBS               512
#define maxnoofMBSAreaSessionIDs       256
#define maxnoofMBSServiceAreaInformation 256
#define maxnoofIABCongInd              1024
#define maxnoofNeighbourNodeCellsIAB   1024
#define maxnoofRBsetsPerCell           8
#define maxnoofRBsetsPerCell_1         7
#define maxnoofMeasPDC                 16
#define maxnoARPs                      16
#define maxnoofULAoAs                  8
#define maxNoPathExtended              8
#define maxnoTRPTEGs                   8
#define maxFreqLayers                  4
#define maxNumResourcesPerAngle        24
#define maxnoAzimuthAngles             3600
#define maxnoElevationAngles           1801
#define maxnoofPRSTRPs                 256
#define maxnoofQoEInformation          16
#define maxnoofUuRLCChannels           32
#define maxnoofPC5RLCChannels          512
#define maxnoofSMBRValues              8
#define maxnoofMRBsforUE               64
#define maxnoofMBSSessionsofUE         256
#define maxnoofSLdestinations          32
#define maxnoofNSAGs                   256
#define maxnoofSDTBearers              72
#define maxnoofServingCellMOs          16
#define maxNrofBWPs                    8
#define maxnoofPosSITypes              32
#define maxnoofUETypes                 8
#define maxnoofLTMCells                8
#define maxnoofTAList                  8
#define maxnoofLTMgNB_DUs              8
#define maxnoofUEsInQMCTransferControlMessage 512
#define maxnoofUEsforRAReportIndications 64
#define maxnoofSuccessfulPSCellChangeReports 64
#define maxnoofPeriodicities           8
#define maxnoofThresholdMBS_1          7
#define maxMBSSessionsinSessionInfoList 1024
#define maxnoofLBTFailureInformation   64
#define maxnoofRSPPQoSFlows            2048
#define maxnoVACell                    32
#define maxnoAggregatedSRS_Resources   3
#define maxnoAggregatedPosSRSResourceSets 48
#define maxnoAggregatedPosPRSResourceSets 3
#define maxnoofTimeWindowSRS           16
#define maxnoofTimeWindowMea           16
#define maxnoPreconfiguredSRS          16
#define maxnoHopsMinusOne              5
#define maxnoAggCombinations           2

typedef enum _ProcedureCode_enum {
  id_Reset     =   0,
  id_F1Setup   =   1,
  id_ErrorIndication =   2,
  id_gNBDUConfigurationUpdate =   3,
  id_gNBCUConfigurationUpdate =   4,
  id_UEContextSetup =   5,
  id_UEContextRelease =   6,
  id_UEContextModification =   7,
  id_UEContextModificationRequired =   8,
  id_procedure_code_9_not_to_be_used =   9,
  id_UEContextReleaseRequest =  10,
  id_InitialULRRCMessageTransfer =  11,
  id_DLRRCMessageTransfer =  12,
  id_ULRRCMessageTransfer =  13,
  id_privateMessage =  14,
  id_UEInactivityNotification =  15,
  id_GNBDUResourceCoordination =  16,
  id_SystemInformationDeliveryCommand =  17,
  id_Paging    =  18,
  id_Notify    =  19,
  id_WriteReplaceWarning =  20,
  id_PWSCancel =  21,
  id_PWSRestartIndication =  22,
  id_PWSFailureIndication =  23,
  id_GNBDUStatusIndication =  24,
  id_RRCDeliveryReport =  25,
  id_F1Removal =  26,
  id_NetworkAccessRateReduction =  27,
  id_TraceStart =  28,
  id_DeactivateTrace =  29,
  id_DUCURadioInformationTransfer =  30,
  id_CUDURadioInformationTransfer =  31,
  id_BAPMappingConfiguration =  32,
  id_GNBDUResourceConfiguration =  33,
  id_IABTNLAddressAllocation =  34,
  id_IABUPConfigurationUpdate =  35,
  id_resourceStatusReportingInitiation =  36,
  id_resourceStatusReporting =  37,
  id_accessAndMobilityIndication =  38,
  id_accessSuccess =  39,
  id_cellTrafficTrace =  40,
  id_PositioningMeasurementExchange =  41,
  id_PositioningAssistanceInformationControl =  42,
  id_PositioningAssistanceInformationFeedback =  43,
  id_PositioningMeasurementReport =  44,
  id_PositioningMeasurementAbort =  45,
  id_PositioningMeasurementFailureIndication =  46,
  id_PositioningMeasurementUpdate =  47,
  id_TRPInformationExchange =  48,
  id_PositioningInformationExchange =  49,
  id_PositioningActivation =  50,
  id_PositioningDeactivation =  51,
  id_E_CIDMeasurementInitiation =  52,
  id_E_CIDMeasurementFailureIndication =  53,
  id_E_CIDMeasurementReport =  54,
  id_E_CIDMeasurementTermination =  55,
  id_PositioningInformationUpdate =  56,
  id_ReferenceTimeInformationReport =  57,
  id_ReferenceTimeInformationReportingControl =  58,
  id_BroadcastContextSetup =  59,
  id_BroadcastContextRelease =  60,
  id_BroadcastContextReleaseRequest =  61,
  id_BroadcastContextModification =  62,
  id_MulticastGroupPaging =  63,
  id_MulticastContextSetup =  64,
  id_MulticastContextRelease =  65,
  id_MulticastContextReleaseRequest =  66,
  id_MulticastContextModification =  67,
  id_MulticastDistributionSetup =  68,
  id_MulticastDistributionRelease =  69,
  id_PDCMeasurementInitiation =  70,
  id_PDCMeasurementReport =  71,
  id_procedure_code_72_not_to_be_used =  72,
  id_procedure_code_73_not_to_be_used =  73,
  id_procedure_code_74_not_to_be_used =  74,
  id_pRSConfigurationExchange =  75,
  id_measurementPreconfiguration =  76,
  id_measurementActivation =  77,
  id_QoEInformationTransfer =  78,
  id_PDCMeasurementTerminationCommand =  79,
  id_PDCMeasurementFailureIndication =  80,
  id_PosSystemInformationDeliveryCommand =  81,
  id_DUCUCellSwitchNotification =  82,
  id_CUDUCellSwitchNotification =  83,
  id_DUCUTAInformationTransfer =  84,
  id_CUDUTAInformationTransfer =  85,
  id_QoEInformationTransferControl =  86,
  id_RachIndication =  87,
  id_TimingSynchronisationStatus =  88,
  id_TimingSynchronisationStatusReport =  89,
  id_MIABF1SetupTriggering =  90,
  id_MIABF1SetupOutcomeNotification =  91,
  id_MulticastContextNotification =  92,
  id_MulticastCommonConfiguration =  93,
  id_BroadcastTransportResourceRequest =  94,
  id_DUCUAccessAndMobilityIndication =  95,
  id_SRSInformationReservationNotification =  96
} ProcedureCode_enum;

typedef enum _ProtocolIE_ID_enum {
  id_Cause     =   0,
  id_Cells_Failed_to_be_Activated_List =   1,
  id_Cells_Failed_to_be_Activated_List_Item =   2,
  id_Cells_to_be_Activated_List =   3,
  id_Cells_to_be_Activated_List_Item =   4,
  id_Cells_to_be_Deactivated_List =   5,
  id_Cells_to_be_Deactivated_List_Item =   6,
  id_CriticalityDiagnostics =   7,
  id_CUtoDURRCInformation =   9,
  id_Unknown_10 =  10,
  id_Unknown_11 =  11,
  id_DRBs_FailedToBeModified_Item =  12,
  id_DRBs_FailedToBeModified_List =  13,
  id_DRBs_FailedToBeSetup_Item =  14,
  id_DRBs_FailedToBeSetup_List =  15,
  id_DRBs_FailedToBeSetupMod_Item =  16,
  id_DRBs_FailedToBeSetupMod_List =  17,
  id_DRBs_ModifiedConf_Item =  18,
  id_DRBs_ModifiedConf_List =  19,
  id_DRBs_Modified_Item =  20,
  id_DRBs_Modified_List =  21,
  id_DRBs_Required_ToBeModified_Item =  22,
  id_DRBs_Required_ToBeModified_List =  23,
  id_DRBs_Required_ToBeReleased_Item =  24,
  id_DRBs_Required_ToBeReleased_List =  25,
  id_DRBs_Setup_Item =  26,
  id_DRBs_Setup_List =  27,
  id_DRBs_SetupMod_Item =  28,
  id_DRBs_SetupMod_List =  29,
  id_DRBs_ToBeModified_Item =  30,
  id_DRBs_ToBeModified_List =  31,
  id_DRBs_ToBeReleased_Item =  32,
  id_DRBs_ToBeReleased_List =  33,
  id_DRBs_ToBeSetup_Item =  34,
  id_DRBs_ToBeSetup_List =  35,
  id_DRBs_ToBeSetupMod_Item =  36,
  id_DRBs_ToBeSetupMod_List =  37,
  id_DRXCycle  =  38,
  id_DUtoCURRCInformation =  39,
  id_gNB_CU_UE_F1AP_ID =  40,
  id_gNB_DU_UE_F1AP_ID =  41,
  id_gNB_DU_ID =  42,
  id_GNB_DU_Served_Cells_Item =  43,
  id_gNB_DU_Served_Cells_List =  44,
  id_gNB_DU_Name =  45,
  id_ProtocolIE_ID_46_not_to_be_used =  46,
  id_oldgNB_DU_UE_F1AP_ID =  47,
  id_ResetType =  48,
  id_ResourceCoordinationTransferContainer =  49,
  id_RRCContainer =  50,
  id_SCell_ToBeRemoved_Item =  51,
  id_SCell_ToBeRemoved_List =  52,
  id_SCell_ToBeSetup_Item =  53,
  id_SCell_ToBeSetup_List =  54,
  id_SCell_ToBeSetupMod_Item =  55,
  id_SCell_ToBeSetupMod_List =  56,
  id_Served_Cells_To_Add_Item =  57,
  id_Served_Cells_To_Add_List =  58,
  id_Served_Cells_To_Delete_Item =  59,
  id_Served_Cells_To_Delete_List =  60,
  id_Served_Cells_To_Modify_Item =  61,
  id_Served_Cells_To_Modify_List =  62,
  id_SpCell_ID =  63,
  id_SRBID     =  64,
  id_SRBs_FailedToBeSetup_Item =  65,
  id_SRBs_FailedToBeSetup_List =  66,
  id_SRBs_FailedToBeSetupMod_Item =  67,
  id_SRBs_FailedToBeSetupMod_List =  68,
  id_SRBs_Required_ToBeReleased_Item =  69,
  id_SRBs_Required_ToBeReleased_List =  70,
  id_SRBs_ToBeReleased_Item =  71,
  id_SRBs_ToBeReleased_List =  72,
  id_SRBs_ToBeSetup_Item =  73,
  id_SRBs_ToBeSetup_List =  74,
  id_SRBs_ToBeSetupMod_Item =  75,
  id_SRBs_ToBeSetupMod_List =  76,
  id_TimeToWait =  77,
  id_TransactionID =  78,
  id_TransmissionActionIndicator =  79,
  id_UE_associatedLogicalF1_ConnectionItem =  80,
  id_UE_associatedLogicalF1_ConnectionListResAck =  81,
  id_gNB_CU_Name =  82,
  id_SCell_FailedtoSetup_List =  83,
  id_SCell_FailedtoSetup_Item =  84,
  id_SCell_FailedtoSetupMod_List =  85,
  id_SCell_FailedtoSetupMod_Item =  86,
  id_RRCReconfigurationCompleteIndicator =  87,
  id_Cells_Status_Item =  88,
  id_Cells_Status_List =  89,
  id_Candidate_SpCell_List =  90,
  id_Candidate_SpCell_Item =  91,
  id_Potential_SpCell_List =  92,
  id_Potential_SpCell_Item =  93,
  id_FullConfiguration =  94,
  id_C_RNTI    =  95,
  id_SpCellULConfigured =  96,
  id_InactivityMonitoringRequest =  97,
  id_InactivityMonitoringResponse =  98,
  id_DRB_Activity_Item =  99,
  id_DRB_Activity_List = 100,
  id_EUTRA_NR_CellResourceCoordinationReq_Container = 101,
  id_EUTRA_NR_CellResourceCoordinationReqAck_Container = 102,
  id_Unknown_103 = 103,
  id_Unknown_104 = 104,
  id_Protected_EUTRA_Resources_List = 105,
  id_RequestType = 106,
  id_ServCellIndex = 107,
  id_RAT_FrequencyPriorityInformation = 108,
  id_ExecuteDuplication = 109,
  id_Unknown_110 = 110,
  id_NRCGI     = 111,
  id_PagingCell_Item = 112,
  id_PagingCell_List = 113,
  id_PagingDRX = 114,
  id_PagingPriority = 115,
  id_SItype_List = 116,
  id_UEIdentityIndexValue = 117,
  id_gNB_CUSystemInformation = 118,
  id_HandoverPreparationInformation = 119,
  id_GNB_CU_TNL_Association_To_Add_Item = 120,
  id_GNB_CU_TNL_Association_To_Add_List = 121,
  id_GNB_CU_TNL_Association_To_Remove_Item = 122,
  id_GNB_CU_TNL_Association_To_Remove_List = 123,
  id_GNB_CU_TNL_Association_To_Update_Item = 124,
  id_GNB_CU_TNL_Association_To_Update_List = 125,
  id_MaskedIMEISV = 126,
  id_PagingIdentity = 127,
  id_DUtoCURRCContainer = 128,
  id_Cells_to_be_Barred_List = 129,
  id_Cells_to_be_Barred_Item = 130,
  id_TAISliceSupportList = 131,
  id_GNB_CU_TNL_Association_Setup_List = 132,
  id_GNB_CU_TNL_Association_Setup_Item = 133,
  id_GNB_CU_TNL_Association_Failed_To_Setup_List = 134,
  id_GNB_CU_TNL_Association_Failed_To_Setup_Item = 135,
  id_DRB_Notify_Item = 136,
  id_DRB_Notify_List = 137,
  id_ProtocolIE_ID_138_not_to_be_used = 138,
  id_RANAC     = 139,
  id_PWSSystemInformation = 140,
  id_RepetitionPeriod = 141,
  id_NumberofBroadcastRequest = 142,
  id_Unknown_143 = 143,
  id_Cells_To_Be_Broadcast_List = 144,
  id_Cells_To_Be_Broadcast_Item = 145,
  id_Cells_Broadcast_Completed_List = 146,
  id_Cells_Broadcast_Completed_Item = 147,
  id_Broadcast_To_Be_Cancelled_List = 148,
  id_Broadcast_To_Be_Cancelled_Item = 149,
  id_Cells_Broadcast_Cancelled_List = 150,
  id_Cells_Broadcast_Cancelled_Item = 151,
  id_NR_CGI_List_For_Restart_List = 152,
  id_NR_CGI_List_For_Restart_Item = 153,
  id_PWS_Failed_NR_CGI_List = 154,
  id_PWS_Failed_NR_CGI_Item = 155,
  id_ConfirmedUEID = 156,
  id_Cancel_all_Warning_Messages_Indicator = 157,
  id_GNB_DU_UE_AMBR_UL = 158,
  id_DRXConfigurationIndicator = 159,
  id_RLC_Status = 160,
  id_DLPDCPSNLength = 161,
  id_GNB_DUConfigurationQuery = 162,
  id_MeasurementTimingConfiguration = 163,
  id_DRB_Information = 164,
  id_ServingPLMN = 165,
  id_Unknown_166 = 166,
  id_Unknown_167 = 167,
  id_Protected_EUTRA_Resources_Item = 168,
  id_Unknown_169 = 169,
  id_GNB_CU_RRC_Version = 170,
  id_GNB_DU_RRC_Version = 171,
  id_GNBDUOverloadInformation = 172,
  id_CellGroupConfig = 173,
  id_RLCFailureIndication = 174,
  id_UplinkTxDirectCurrentListInformation = 175,
  id_DC_Based_Duplication_Configured = 176,
  id_DC_Based_Duplication_Activation = 177,
  id_SULAccessIndication = 178,
  id_AvailablePLMNList = 179,
  id_PDUSessionID = 180,
  id_ULPDUSessionAggregateMaximumBitRate = 181,
  id_ServingCellMO = 182,
  id_QoSFlowMappingIndication = 183,
  id_RRCDeliveryStatusRequest = 184,
  id_RRCDeliveryStatus = 185,
  id_BearerTypeChange = 186,
  id_RLCMode   = 187,
  id_Duplication_Activation = 188,
  id_Dedicated_SIDelivery_NeededUE_List = 189,
  id_Dedicated_SIDelivery_NeededUE_Item = 190,
  id_DRX_LongCycleStartOffset = 191,
  id_ULPDCPSNLength = 192,
  id_SelectedBandCombinationIndex = 193,
  id_SelectedFeatureSetEntryIndex = 194,
  id_ResourceCoordinationTransferInformation = 195,
  id_ExtendedServedPLMNs_List = 196,
  id_ExtendedAvailablePLMN_List = 197,
  id_Associated_SCell_List = 198,
  id_latest_RRC_Version_Enhanced = 199,
  id_Associated_SCell_Item = 200,
  id_Cell_Direction = 201,
  id_SRBs_Setup_List = 202,
  id_SRBs_Setup_Item = 203,
  id_SRBs_SetupMod_List = 204,
  id_SRBs_SetupMod_Item = 205,
  id_SRBs_Modified_List = 206,
  id_SRBs_Modified_Item = 207,
  id_Ph_InfoSCG = 208,
  id_RequestedBandCombinationIndex = 209,
  id_RequestedFeatureSetEntryIndex = 210,
  id_RequestedP_MaxFR2 = 211,
  id_DRX_Config = 212,
  id_IgnoreResourceCoordinationContainer = 213,
  id_UEAssistanceInformation = 214,
  id_NeedforGap = 215,
  id_PagingOrigin = 216,
  id_new_gNB_CU_UE_F1AP_ID = 217,
  id_RedirectedRRCmessage = 218,
  id_new_gNB_DU_UE_F1AP_ID = 219,
  id_NotificationInformation = 220,
  id_PLMNAssistanceInfoForNetShar = 221,
  id_UEContextNotRetrievable = 222,
  id_BPLMN_ID_Info_List = 223,
  id_SelectedPLMNID = 224,
  id_UAC_Assistance_Info = 225,
  id_RANUEID   = 226,
  id_GNB_DU_TNL_Association_To_Remove_Item = 227,
  id_GNB_DU_TNL_Association_To_Remove_List = 228,
  id_TNLAssociationTransportLayerAddressgNBDU = 229,
  id_portNumber = 230,
  id_AdditionalSIBMessageList = 231,
  id_Cell_Type = 232,
  id_IgnorePRACHConfiguration = 233,
  id_CG_Config = 234,
  id_PDCCH_BlindDetectionSCG = 235,
  id_Requested_PDCCH_BlindDetectionSCG = 236,
  id_Ph_InfoMCG = 237,
  id_MeasGapSharingConfig = 238,
  id_systemInformationAreaID = 239,
  id_areaScope = 240,
  id_RRCContainer_RRCSetupComplete = 241,
  id_TraceActivation = 242,
  id_TraceID   = 243,
  id_Neighbour_Cell_Information_List = 244,
  id_Unknown_245 = 245,
  id_ProtocolIE_ID_246_not_to_be_used = 246,
  id_ProtocolIE_ID_247_not_to_be_used = 247,
  id_AdditionalRRMPriorityIndex = 248,
  id_DUCURadioInformationType = 249,
  id_CUDURadioInformationType = 250,
  id_AggressorgNBSetID = 251,
  id_VictimgNBSetID = 252,
  id_LowerLayerPresenceStatusChange = 253,
  id_Transport_Layer_Address_Info = 254,
  id_Neighbour_Cell_Information_Item = 255,
  id_IntendedTDD_DL_ULConfig = 256,
  id_QosMonitoringRequest = 257,
  id_BHChannels_ToBeSetup_List = 258,
  id_BHChannels_ToBeSetup_Item = 259,
  id_BHChannels_Setup_List = 260,
  id_BHChannels_Setup_Item = 261,
  id_BHChannels_ToBeModified_Item = 262,
  id_BHChannels_ToBeModified_List = 263,
  id_BHChannels_ToBeReleased_Item = 264,
  id_BHChannels_ToBeReleased_List = 265,
  id_BHChannels_ToBeSetupMod_Item = 266,
  id_BHChannels_ToBeSetupMod_List = 267,
  id_BHChannels_FailedToBeModified_Item = 268,
  id_BHChannels_FailedToBeModified_List = 269,
  id_BHChannels_FailedToBeSetupMod_Item = 270,
  id_BHChannels_FailedToBeSetupMod_List = 271,
  id_BHChannels_Modified_Item = 272,
  id_BHChannels_Modified_List = 273,
  id_BHChannels_SetupMod_Item = 274,
  id_BHChannels_SetupMod_List = 275,
  id_BHChannels_Required_ToBeReleased_Item = 276,
  id_BHChannels_Required_ToBeReleased_List = 277,
  id_BHChannels_FailedToBeSetup_Item = 278,
  id_BHChannels_FailedToBeSetup_List = 279,
  id_BHInfo    = 280,
  id_BAPAddress = 281,
  id_ConfiguredBAPAddress = 282,
  id_BH_Routing_Information_Added_List = 283,
  id_BH_Routing_Information_Added_List_Item = 284,
  id_BH_Routing_Information_Removed_List = 285,
  id_BH_Routing_Information_Removed_List_Item = 286,
  id_UL_BH_Non_UP_Traffic_Mapping = 287,
  id_Activated_Cells_to_be_Updated_List = 288,
  id_Child_Nodes_List = 289,
  id_IAB_Info_IAB_DU = 290,
  id_IAB_Info_IAB_donor_CU = 291,
  id_IAB_TNL_Addresses_To_Remove_List = 292,
  id_IAB_TNL_Addresses_To_Remove_Item = 293,
  id_IAB_Allocated_TNL_Address_List = 294,
  id_IAB_Allocated_TNL_Address_Item = 295,
  id_IABIPv6RequestType = 296,
  id_IABv4AddressesRequested = 297,
  id_IAB_Barred = 298,
  id_TrafficMappingInformation = 299,
  id_UL_UP_TNL_Information_to_Update_List = 300,
  id_UL_UP_TNL_Information_to_Update_List_Item = 301,
  id_UL_UP_TNL_Address_to_Update_List = 302,
  id_UL_UP_TNL_Address_to_Update_List_Item = 303,
  id_DL_UP_TNL_Address_to_Update_List = 304,
  id_DL_UP_TNL_Address_to_Update_List_Item = 305,
  id_NRV2XServicesAuthorized = 306,
  id_LTEV2XServicesAuthorized = 307,
  id_NRUESidelinkAggregateMaximumBitrate = 308,
  id_LTEUESidelinkAggregateMaximumBitrate = 309,
  id_SIB12_message = 310,
  id_SIB13_message = 311,
  id_SIB14_message = 312,
  id_SLDRBs_FailedToBeModified_Item = 313,
  id_SLDRBs_FailedToBeModified_List = 314,
  id_SLDRBs_FailedToBeSetup_Item = 315,
  id_SLDRBs_FailedToBeSetup_List = 316,
  id_SLDRBs_Modified_Item = 317,
  id_SLDRBs_Modified_List = 318,
  id_SLDRBs_Required_ToBeModified_Item = 319,
  id_SLDRBs_Required_ToBeModified_List = 320,
  id_SLDRBs_Required_ToBeReleased_Item = 321,
  id_SLDRBs_Required_ToBeReleased_List = 322,
  id_SLDRBs_Setup_Item = 323,
  id_SLDRBs_Setup_List = 324,
  id_SLDRBs_ToBeModified_Item = 325,
  id_SLDRBs_ToBeModified_List = 326,
  id_SLDRBs_ToBeReleased_Item = 327,
  id_SLDRBs_ToBeReleased_List = 328,
  id_SLDRBs_ToBeSetup_Item = 329,
  id_SLDRBs_ToBeSetup_List = 330,
  id_SLDRBs_ToBeSetupMod_Item = 331,
  id_SLDRBs_ToBeSetupMod_List = 332,
  id_SLDRBs_SetupMod_List = 333,
  id_SLDRBs_FailedToBeSetupMod_List = 334,
  id_SLDRBs_SetupMod_Item = 335,
  id_SLDRBs_FailedToBeSetupMod_Item = 336,
  id_SLDRBs_ModifiedConf_List = 337,
  id_SLDRBs_ModifiedConf_Item = 338,
  id_UEAssistanceInformationEUTRA = 339,
  id_PC5LinkAMBR = 340,
  id_SL_PHY_MAC_RLC_Config = 341,
  id_SL_ConfigDedicatedEUTRA_Info = 342,
  id_AlternativeQoSParaSetList = 343,
  id_CurrentQoSParaSetIndex = 344,
  id_gNBCUMeasurementID = 345,
  id_gNBDUMeasurementID = 346,
  id_RegistrationRequest = 347,
  id_ReportCharacteristics = 348,
  id_CellToReportList = 349,
  id_CellMeasurementResultList = 350,
  id_HardwareLoadIndicator = 351,
  id_ReportingPeriodicity = 352,
  id_TNLCapacityIndicator = 353,
  id_CarrierList = 354,
  id_ULCarrierList = 355,
  id_FrequencyShift7p5khz = 356,
  id_SSB_PositionsInBurst = 357,
  id_NRPRACHConfig = 358,
  id_RAReportList = 359,
  id_RLFReportInformationList = 360,
  id_TDD_UL_DLConfigCommonNR = 361,
  id_CNPacketDelayBudgetDownlink = 362,
  id_ExtendedPacketDelayBudget = 363,
  id_TSCTrafficCharacteristics = 364,
  id_ReportingRequestType = 365,
  id_TimeReferenceInformation = 366,
  id_Unknown_367 = 367,
  id_Unknown_368 = 368,
  id_CNPacketDelayBudgetUplink = 369,
  id_AdditionalPDCPDuplicationTNL_List = 370,
  id_RLCDuplicationInformation = 371,
  id_AdditionalDuplicationIndication = 372,
  id_ConditionalInterDUMobilityInformation = 373,
  id_ConditionalIntraDUMobilityInformation = 374,
  id_targetCellsToCancel = 375,
  id_requestedTargetCellGlobalID = 376,
  id_ManagementBasedMDTPLMNList = 377,
  id_TraceCollectionEntityIPAddress = 378,
  id_PrivacyIndicator = 379,
  id_TraceCollectionEntityURI = 380,
  id_mdtConfiguration = 381,
  id_ServingNID = 382,
  id_NPNBroadcastInformation = 383,
  id_NPNSupportInfo = 384,
  id_NID       = 385,
  id_AvailableSNPN_ID_List = 386,
  id_SIB10_message = 387,
  id_Unknown_388 = 388,
  id_DLCarrierList = 389,
  id_ExtendedTAISliceSupportList = 390,
  id_RequestedSRSTransmissionCharacteristics = 391,
  id_PosAssistance_Information = 392,
  id_PosBroadcast = 393,
  id_RoutingID = 394,
  id_PosAssistanceInformationFailureList = 395,
  id_PosMeasurementQuantities = 396,
  id_PosMeasurementResultList = 397,
  id_TRPInformationTypeListTRPReq = 398,
  id_TRPInformationTypeItem = 399,
  id_TRPInformationListTRPResp = 400,
  id_TRPInformationItem = 401,
  id_LMF_MeasurementID = 402,
  id_SRSType   = 403,
  id_ActivationTime = 404,
  id_AbortTransmission = 405,
  id_PositioningBroadcastCells = 406,
  id_SRSConfiguration = 407,
  id_PosReportCharacteristics = 408,
  id_PosMeasurementPeriodicity = 409,
  id_TRPList   = 410,
  id_RAN_MeasurementID = 411,
  id_LMF_UE_MeasurementID = 412,
  id_RAN_UE_MeasurementID = 413,
  id_E_CID_MeasurementQuantities = 414,
  id_E_CID_MeasurementQuantities_Item = 415,
  id_E_CID_MeasurementPeriodicity = 416,
  id_E_CID_MeasurementResult = 417,
  id_Cell_Portion_ID = 418,
  id_SFNInitialisationTime = 419,
  id_SystemFrameNumber = 420,
  id_SlotNumber = 421,
  id_TRP_MeasurementRequestList = 422,
  id_MeasurementBeamInfoRequest = 423,
  id_E_CID_ReportCharacteristics = 424,
  id_ConfiguredTACIndication = 425,
  id_Extended_GNB_CU_Name = 426,
  id_Extended_GNB_DU_Name = 427,
  id_F1CTransferPath = 428,
  id_SFN_Offset = 429,
  id_TransmissionStopIndicator = 430,
  id_SrsFrequency = 431,
  id_SCGIndicator = 432,
  id_EstimatedArrivalProbability = 433,
  id_TRPType   = 434,
  id_SRSSpatialRelationPerSRSResource = 435,
  id_PDCPTerminatingNodeDLTNLAddrInfo = 436,
  id_ENBDLTNLAddress = 437,
  id_PosMeasurementPeriodicityExtended = 438,
  id_PRS_Resource_ID = 439,
  id_LocationMeasurementInformation = 440,
  id_SliceRadioResourceStatus = 441,
  id_CompositeAvailableCapacity_SUL = 442,
  id_SuccessfulHOReportInformationList = 443,
  id_NR_U_Channel_List = 444,
  id_NR_U      = 445,
  id_Coverage_Modification_Notification = 446,
  id_CCO_Assistance_Information = 447,
  id_ProtocolIE_ID_448_not_to_be_used = 448,
  id_CellsForSON_List = 449,
  id_MIMOPRBusageInformation = 450,
  id_gNB_CU_MBS_F1AP_ID = 451,
  id_gNB_DU_MBS_F1AP_ID = 452,
  id_ProtocolIE_ID_453_not_to_be_used = 453,
  id_MBS_CUtoDURRCInformation = 454,
  id_MBS_Session_ID = 455,
  id_SNSSAI    = 456,
  id_MBS_Broadcast_NeighbourCellList = 457,
  id_BroadcastMRBs_FailedToBeModified_List = 458,
  id_BroadcastMRBs_FailedToBeModified_Item = 459,
  id_BroadcastMRBs_FailedToBeSetup_List = 460,
  id_BroadcastMRBs_FailedToBeSetup_Item = 461,
  id_BroadcastMRBs_FailedToBeSetupMod_List = 462,
  id_BroadcastMRBs_FailedToBeSetupMod_Item = 463,
  id_BroadcastMRBs_Modified_List = 464,
  id_BroadcastMRBs_Modified_Item = 465,
  id_BroadcastMRBs_Setup_List = 466,
  id_BroadcastMRBs_Setup_Item = 467,
  id_BroadcastMRBs_SetupMod_List = 468,
  id_BroadcastMRBs_SetupMod_Item = 469,
  id_BroadcastMRBs_ToBeModified_List = 470,
  id_BroadcastMRBs_ToBeModified_Item = 471,
  id_BroadcastMRBs_ToBeReleased_List = 472,
  id_BroadcastMRBs_ToBeReleased_Item = 473,
  id_BroadcastMRBs_ToBeSetup_List = 474,
  id_BroadcastMRBs_ToBeSetup_Item = 475,
  id_BroadcastMRBs_ToBeSetupMod_List = 476,
  id_BroadcastMRBs_ToBeSetupMod_Item = 477,
  id_Supported_MBS_FSA_ID_List = 478,
  id_UEIdentity_List_For_Paging_List = 479,
  id_UEIdentity_List_For_Paging_Item = 480,
  id_MBS_ServiceArea = 481,
  id_MulticastMRBs_FailedToBeModified_List = 482,
  id_MulticastMRBs_FailedToBeModified_Item = 483,
  id_MulticastMRBs_FailedToBeSetup_List = 484,
  id_MulticastMRBs_FailedToBeSetup_Item = 485,
  id_MulticastMRBs_FailedToBeSetupMod_List = 486,
  id_MulticastMRBs_FailedToBeSetupMod_Item = 487,
  id_MulticastMRBs_Modified_List = 488,
  id_MulticastMRBs_Modified_Item = 489,
  id_MulticastMRBs_Setup_List = 490,
  id_MulticastMRBs_Setup_Item = 491,
  id_MulticastMRBs_SetupMod_List = 492,
  id_MulticastMRBs_SetupMod_Item = 493,
  id_MulticastMRBs_ToBeModified_List = 494,
  id_MulticastMRBs_ToBeModified_Item = 495,
  id_MulticastMRBs_ToBeReleased_List = 496,
  id_MulticastMRBs_ToBeReleased_Item = 497,
  id_MulticastMRBs_ToBeSetup_List = 498,
  id_MulticastMRBs_ToBeSetup_Item = 499,
  id_MulticastMRBs_ToBeSetupMod_List = 500,
  id_MulticastMRBs_ToBeSetupMod_Item = 501,
  id_MBSMulticastF1UContextDescriptor = 502,
  id_MulticastF1UContext_ToBeSetup_List = 503,
  id_MulticastF1UContext_ToBeSetup_Item = 504,
  id_MulticastF1UContext_Setup_List = 505,
  id_MulticastF1UContext_Setup_Item = 506,
  id_MulticastF1UContext_FailedToBeSetup_List = 507,
  id_MulticastF1UContext_FailedToBeSetup_Item = 508,
  id_IABCongestionIndication = 509,
  id_IABConditionalRRCMessageDeliveryIndication = 510,
  id_F1CTransferPathNRDC = 511,
  id_BufferSizeThresh = 512,
  id_IAB_TNL_Addresses_Exception = 513,
  id_BAP_Header_Rewriting_Added_List = 514,
  id_BAP_Header_Rewriting_Added_List_Item = 515,
  id_Re_routingEnableIndicator = 516,
  id_NonF1terminatingTopologyIndicator = 517,
  id_EgressNonF1terminatingTopologyIndicator = 518,
  id_IngressNonF1terminatingTopologyIndicator = 519,
  id_rBSetConfiguration = 520,
  id_frequency_Domain_HSNA_Configuration_List = 521,
  id_child_IAB_Nodes_NA_Resource_List = 522,
  id_Parent_IAB_Nodes_NA_Resource_Configuration_List = 523,
  id_uL_FreqInfo = 524,
  id_uL_Transmission_Bandwidth = 525,
  id_dL_FreqInfo = 526,
  id_dL_Transmission_Bandwidth = 527,
  id_uL_NR_Carrier_List = 528,
  id_dL_NR_Carrier_List = 529,
  id_nRFreqInfo = 530,
  id_transmission_Bandwidth = 531,
  id_nR_Carrier_List = 532,
  id_Neighbour_Node_Cells_List = 533,
  id_Serving_Cells_List = 534,
  id_permutation = 535,
  id_MDTPollutedMeasurementIndicator = 536,
  id_M5ReportAmount = 537,
  id_M6ReportAmount = 538,
  id_M7ReportAmount = 539,
  id_SurvivalTime = 540,
  id_PDCMeasurementPeriodicity = 541,
  id_PDCMeasurementQuantities = 542,
  id_PDCMeasurementQuantities_Item = 543,
  id_PDCMeasurementResult = 544,
  id_PDCReportType = 545,
  id_RAN_UE_PDC_MeasID = 546,
  id_SCGActivationRequest = 547,
  id_SCGActivationStatus = 548,
  id_PRSTRPList = 549,
  id_PRSTransmissionTRPList = 550,
  id_OnDemandPRS = 551,
  id_AoA_SearchWindow = 552,
  id_TRP_MeasurementUpdateList = 553,
  id_ZoAInformation = 554,
  id_ResponseTime = 555,
  id_ARPLocationInfo = 556,
  id_ARP_ID    = 557,
  id_MultipleULAoA = 558,
  id_UL_SRS_RSRPP = 559,
  id_SRSResourcetype = 560,
  id_ExtendedAdditionalPathList = 561,
  id_LoS_NLoSInformation = 562,
  id_Unknown_563 = 563,
  id_NumberOfTRPRxTEG = 564,
  id_NumberOfTRPRxTxTEG = 565,
  id_TRPTxTEGAssociation = 566,
  id_TRPTEGInformation = 567,
  id_TRPRx_TEGInformation = 568,
  id_TRP_PRS_Info_List = 569,
  id_PRS_Measurement_Info_List = 570,
  id_PRSConfigRequestType = 571,
  id_Unknown_572 = 572,
  id_MeasurementTimeOccasion = 573,
  id_MeasurementCharacteristicsRequestIndicator = 574,
  id_UEReportingInformation = 575,
  id_PosContextRevIndication = 576,
  id_TRPBeamAntennaInformation = 577,
  id_NRRedCapUEIndication = 578,
  id_Redcap_Bcast_Information = 579,
  id_RANUEPagingDRX = 580,
  id_CNUEPagingDRX = 581,
  id_NRPagingeDRXInformation = 582,
  id_NRPagingeDRXInformationforRRCINACTIVE = 583,
  id_NR_TADV   = 584,
  id_QoEInformation = 585,
  id_CG_SDTQueryIndication = 586,
  id_SDT_MAC_PHY_CG_Config = 587,
  id_CG_SDTKeptIndicator = 588,
  id_CG_SDTindicatorSetup = 589,
  id_CG_SDTindicatorMod = 590,
  id_CG_SDTSessionInfoOld = 591,
  id_SDTInformation = 592,
  id_SDTRLCBearerConfiguration = 593,
  id_FiveG_ProSeAuthorized = 594,
  id_FiveG_ProSeUEPC5AggregateMaximumBitrate = 595,
  id_FiveG_ProSePC5LinkAMBR = 596,
  id_SRBMappingInfo = 597,
  id_DRBMappingInfo = 598,
  id_UuRLCChannelToBeSetupList = 599,
  id_UuRLCChannelToBeModifiedList = 600,
  id_UuRLCChannelToBeReleasedList = 601,
  id_UuRLCChannelSetupList = 602,
  id_UuRLCChannelFailedToBeSetupList = 603,
  id_UuRLCChannelModifiedList = 604,
  id_UuRLCChannelFailedToBeModifiedList = 605,
  id_UuRLCChannelRequiredToBeModifiedList = 606,
  id_UuRLCChannelRequiredToBeReleasedList = 607,
  id_PC5RLCChannelToBeSetupList = 608,
  id_PC5RLCChannelToBeModifiedList = 609,
  id_PC5RLCChannelToBeReleasedList = 610,
  id_PC5RLCChannelSetupList = 611,
  id_PC5RLCChannelFailedToBeSetupList = 612,
  id_PC5RLCChannelFailedToBeModifiedList = 613,
  id_PC5RLCChannelRequiredToBeModifiedList = 614,
  id_PC5RLCChannelRequiredToBeReleasedList = 615,
  id_PC5RLCChannelModifiedList = 616,
  id_SidelinkRelayConfiguration = 617,
  id_UpdatedRemoteUELocalID = 618,
  id_PathSwitchConfiguration = 619,
  id_PagingCause = 620,
  id_MUSIM_GapConfig = 621,
  id_PEIPSAssistanceInfo = 622,
  id_UEPagingCapability = 623,
  id_LastUsedCellIndication = 624,
  id_SIB17_message = 625,
  id_GNBDUUESliceMaximumBitRateList = 626,
  id_SIB20_message = 627,
  id_UE_MulticastMRBs_ToBeReleased_List = 628,
  id_UE_MulticastMRBs_ToBeReleased_Item = 629,
  id_UE_MulticastMRBs_ToBeSetup_List = 630,
  id_UE_MulticastMRBs_ToBeSetup_Item = 631,
  id_MulticastMBSSessionSetupList = 632,
  id_MulticastMBSSessionRemoveList = 633,
  id_PosMeasurementAmount = 634,
  id_SDT_Termination_Request = 635,
  id_pathPower = 636,
  id_DU_RX_MT_RX_Extend = 637,
  id_DU_TX_MT_TX_Extend = 638,
  id_DU_RX_MT_TX_Extend = 639,
  id_DU_TX_MT_RX_Extend = 640,
  id_BAP_Header_Rewriting_Removed_List = 641,
  id_BAP_Header_Rewriting_Removed_List_Item = 642,
  id_SLDRXCycleList = 643,
  id_TAINSAGSupportList = 644,
  id_SL_RLC_ChannelToAddModList = 645,
  id_BroadcastAreaScope = 646,
  id_ManagementBasedMDTPLMNModificationList = 647,
  id_SIB15_message = 648,
  id_ActivationRequestType = 649,
  id_PosMeasGapPreConfigList = 650,
  id_InterFrequencyConfig_NoGap = 651,
  id_MBSInterestIndication = 652,
  id_UE_MulticastMRBs_ConfirmedToBeModified_List = 653,
  id_UE_MulticastMRBs_ConfirmedToBeModified_Item = 654,
  id_UE_MulticastMRBs_RequiredToBeModified_List = 655,
  id_UE_MulticastMRBs_RequiredToBeModified_Item = 656,
  id_UE_MulticastMRBs_RequiredToBeReleased_List = 657,
  id_UE_MulticastMRBs_RequiredToBeReleased_Item = 658,
  id_L571Info  = 659,
  id_L1151Info = 660,
  id_SCS_480   = 661,
  id_SCS_960   = 662,
  id_SRSPortIndex = 663,
  id_PEISubgroupingSupportIndication = 664,
  id_NeedForGapsInfoNR = 665,
  id_NeedForGapNCSGInfoNR = 666,
  id_NeedForGapNCSGInfoEUTRA = 667,
  id_ProtocolIE_ID_668_not_to_be_used = 668,
  id_ProtocolIE_ID_669_not_to_be_used = 669,
  id_ProtocolIE_ID_670_not_to_be_used = 670,
  id_Source_MRB_ID = 671,
  id_PosMeasurementPeriodicityNR_AoA = 672,
  id_RedCapIndication = 673,
  id_SRSPosRRCInactiveConfig = 674,
  id_SDTBearerConfigurationQueryIndication = 675,
  id_SDTBearerConfigurationInfo = 676,
  id_UL_GapFR2_Config = 677,
  id_ConfigRestrictInfoDAPS = 678,
  id_UE_MulticastMRBs_Setup_List = 679,
  id_UE_MulticastMRBs_Setup_Item = 680,
  id_MulticastF1UContextReferenceCU = 681,
  id_PosSItypeList = 682,
  id_DAPS_HO_Status = 683,
  id_UplinkTxDirectCurrentTwoCarrierListInfo = 684,
  id_UE_MulticastMRBs_ToBeSetup_atModify_List = 685,
  id_UE_MulticastMRBs_ToBeSetup_atModify_Item = 686,
  id_MC_PagingCell_List = 687,
  id_MC_PagingCell_Item = 688,
  id_SRSPosRRCInactiveQueryIndication = 689,
  id_UlTxDirectCurrentMoreCarrierInformation = 690,
  id_CPACMCGInformation = 691,
  id_TwoPHRModeMCG = 692,
  id_TwoPHRModeSCG = 693,
  id_ExtendedUEIdentityIndexValue = 694,
  id_ServingCellMO_List = 695,
  id_ServingCellMO_List_Item = 696,
  id_ServingCellMO_encoded_in_CGC_List = 697,
  id_HashedUEIdentityIndexValue = 698,
  id_UE_MulticastMRBs_Setupnew_List = 699,
  id_UE_MulticastMRBs_Setupnew_Item = 700,
  id_ncd_SSB_RedCapInitialBWP_SDT = 701,
  id_nrofSymbolsExtended = 702,
  id_repetitionFactorExtended = 703,
  id_startRBHopping = 704,
  id_startRBIndex = 705,
  id_transmissionCombn8 = 706,
  id_ServCellInfoList = 707,
  id_DedicatedSIDeliveryIndication = 708,
  id_Configured_BWP_List = 709,
  id_Preconfigured_measurement_GAP_Request = 710,
  id_BWP_Id    = 711,
  id_NetworkControlledRepeaterAuthorized = 712,
  id_MT_SDT_Information = 713,
  id_ExtendedResourceSymbolOffset = 714,
  id_NeedForInterruptionInfoNR = 715,
  id_SDT_Volume_Threshold = 716,
  id_SupportedUETypeList = 717,
  id_MusimCapabilityRestrictionIndication = 718,
  id_duplicationIndication = 719,
  id_LTMInformation_Setup = 720,
  id_LTMConfigurationIDMappingList = 721,
  id_LTMInformation_Modify = 722,
  id_LTMCells_ToBeReleased_List = 723,
  id_ProtocolIE_ID_724_not_to_be_used = 724,
  id_LTMConfiguration = 725,
  id_EarlySyncInformation_Request = 726,
  id_EarlySyncInformation = 727,
  id_EarlySyncCandidateCellInformation_List = 728,
  id_LTMCellSwitchInformation = 729,
  id_DUtoCUTAInformation_List = 730,
  id_ProtocolIE_ID_731_not_to_be_used = 731,
  id_dRB_List  = 732,
  id_DeactivationIndication = 733,
  id_RAReportIndicationList = 734,
  id_ChannelOccupancyTimePercentageUL = 735,
  id_SuccessfulPSCellChangeReportInformationList = 736,
  id_RadioResourceStatusNR_U = 737,
  id_FiveG_ProSeLayer2Multipath = 738,
  id_FiveG_ProSeLayer2UEtoUERelay = 739,
  id_FiveG_ProSeLayer2UEtoUERemote = 740,
  id_PathAdditionInformation = 741,
  id_Recommended_SSBs_List = 742,
  id_Recommended_SSBs_for_Paging_List = 743,
  id_SSBs_withinTheCell_tobe_Activated_List = 744,
  id_Cells_With_SSBs_Activated_List = 745,
  id_Cells_Allowed_to_be_Deactivated_List = 746,
  id_Cells_Allowed_to_be_Deactivated_List_Item = 747,
  id_Coverage_Modification_Cause = 748,
  id_RANTSSRequestType = 749,
  id_RANTimingSynchronisationStatusInfo = 750,
  id_TSCTrafficCharacteristicsFeedback = 751,
  id_RANfeedbacktype = 752,
  id_Mobile_TRP_LocationInformation = 753,
  id_Mobile_IAB_MT_UE_ID = 754,
  id_Target_gNB_ID = 755,
  id_Target_gNB_IP_address = 756,
  id_Target_SeGW_IP_address = 757,
  id_Activated_Cells_Mapping_List = 758,
  id_Activated_Cells_Mapping_List_Item = 759,
  id_F1SetupOutcome = 760,
  id_RRC_Terminating_IAB_Donor_Related_Info = 761,
  id_RRC_Terminating_IAB_Donor_gNB_ID = 762,
  id_NCGI_to_be_Updated_List = 763,
  id_NCGI_to_be_Updated_List_Item = 764,
  id_Mobile_IAB_MTUserLocationInformation = 765,
  id_MobileAccessPointLocation = 766,
  id_AssociatedSessionID = 767,
  id_IndicationMCInactiveReception = 768,
  id_MulticastCU2DURRCInfo = 769,
  id_MBSMulticastSessionReceptionState = 770,
  id_F1UTunnelNotEstablished = 771,
  id_MulticastDU2CURRCInfo = 772,
  id_SIB24_message = 773,
  id_MulticastCU2DUCommonRRCInfo = 774,
  id_PDUSetQoSParameters = 775,
  id_N6JitterInformation = 776,
  id_ECNMarkingorCongestionInformationReportingRequest = 777,
  id_ECNMarkingorCongestionInformationReportingStatus = 778,
  id_NRA2XServicesAuthorized = 779,
  id_LTEA2XServicesAuthorized = 780,
  id_NRUESidelinkAggregateMaximumBitrateForA2X = 781,
  id_LTEUESidelinkAggregateMaximumBitrateForA2X = 782,
  id_NReRedCapUEIndication = 783,
  id_ERedcap_Bcast_Information = 784,
  id_NRPaginglongeDRXInformationforRRCINACTIVE = 785,
  id_SCPAC_Request = 786,
  id_Target_F1_Terminating_Donor_gNB_ID = 787,
  id_MobileIAB_Barred = 788,
  id_Broadcast_MRBs_Transport_Request_List = 789,
  id_Broadcast_MRBs_Transport_Request_Item = 790,
  id_S_CPACLowerLayerReferenceConfigRequest = 791,
  id_S_CPAC_Configuration = 792,
  id_MusimCandidateBandList = 793,
  id_DLLBTFailureInformationRequest = 794,
  id_DLLBTFailureInformationList = 795,
  id_PSIbasedSDUdiscardUL = 796,
  id_SIB22_message = 797,
  id_CUtoDUTAInformation_List = 798,
  id_U2URLCChannelQoS = 799,
  id_SL_PHY_MAC_RLC_ConfigExt = 800,
  id_SLPositioning_Ranging_Service_Info = 801,
  id_TimeWindowInformation_SRS_List = 802,
  id_TimeWindowInformation_Measurement_List = 803,
  id_UL_RSCP   = 804,
  id_BW_Aggregation_Request_Indication = 805,
  id_ReportingGranularitykminus1 = 806,
  id_ReportingGranularitykminus2 = 807,
  id_ReportingGranularitykminus1additionalpath = 808,
  id_ReportingGranularitykminus2additionalpath = 809,
  id_TimingReportingGranularityFactorExtended = 810,
  id_SRSPosRRCInactiveValidityAreaConfig = 811,
  id_PosValidityAreaCellList = 812,
  id_SRSReservationType = 813,
  id_SymbolIndex = 814,
  id_PRSBandwidthAggregationRequestIndication = 815,
  id_AggregatedPosSRSResourceIDList = 816,
  id_AggregatedPRSResourceSetList = 817,
  id_PhaseQuality = 818,
  id_MeasuredFrequencyHops = 819,
  id_TxHoppingConfiguration = 820,
  id_ReportingGranularitykminus3 = 821,
  id_ReportingGranularitykminus4 = 822,
  id_ReportingGranularitykminus5 = 823,
  id_ReportingGranularitykminus6 = 824,
  id_ReportingGranularitykminus3additionalpath = 825,
  id_ReportingGranularitykminus4additionalpath = 826,
  id_ReportingGranularitykminus5additionalpath = 827,
  id_ReportingGranularitykminus6additionalpath = 828,
  id_AggregatedPosSRSResourceSetList = 829,
  id_RequestedSRSPreconfigurationCharacteristics_List = 830,
  id_SRSPreconfiguration_List = 831,
  id_SRSInformation = 832,
  id_ValidityAreaSpecificSRSInformation = 833,
  id_E_CID_MeasuredResultsAssociatedInfoList = 834,
  id_XR_Bcast_Information = 835,
  id_MaxDataBurstVolume = 836,
  id_TAInformation_List = 837,
  id_NonIntegerDRXCycle = 838,
  id_PointA    = 839,
  id_SCS_SpecificCarrier = 840,
  id_NR_PCI    = 841,
  id_PeerUE_ID = 842,
  id_EarlySyncServingCellInformation = 843,
  id_RANSharingAssistanceInformation = 844,
  id_LTMCFRAResourceConfig_List = 845,
  id_F1U_PathFailure = 846,
  id_MeasBasedOnAggregatedResources = 847,
  id_SIB23_message = 848
} ProtocolIE_ID_enum;

/* Initialize the protocol and registered fields */
static int proto_f1ap;

static int hf_f1ap_transportLayerAddressIPv4;
static int hf_f1ap_transportLayerAddressIPv6;
static int hf_f1ap_IABTNLAddressIPv4;
static int hf_f1ap_IABTNLAddressIPv6;
static int hf_f1ap_IABTNLAddressIPv6Prefix;
static int hf_f1ap_interfacesToTrace_NG_C;
static int hf_f1ap_interfacesToTrace_Xn_C;
static int hf_f1ap_interfacesToTrace_Uu;
static int hf_f1ap_interfacesToTrace_F1_C;
static int hf_f1ap_interfacesToTrace_E1;
static int hf_f1ap_interfacesToTrace_Reserved;
static int hf_f1ap_MeasurementsToActivate_Reserved1;
static int hf_f1ap_MeasurementsToActivate_M2;
static int hf_f1ap_MeasurementsToActivate_Reserved2;
static int hf_f1ap_MeasurementsToActivate_M5;
static int hf_f1ap_MeasurementsToActivate_Reserved3;
static int hf_f1ap_MeasurementsToActivate_M6;
static int hf_f1ap_MeasurementsToActivate_M7;
static int hf_f1ap_ReportCharacteristics_PRBPeriodic;
static int hf_f1ap_ReportCharacteristics_TNLCapacityIndPeriodic;
static int hf_f1ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic;
static int hf_f1ap_ReportCharacteristics_HWLoadIndPeriodic;
static int hf_f1ap_ReportCharacteristics_NumberOfActiveUEs;
static int hf_f1ap_ReportCharacteristics_Reserved;
static int hf_f1ap_AbortTransmission_PDU;         /* AbortTransmission */
static int hf_f1ap_Activated_Cells_Mapping_List_Item_PDU;  /* Activated_Cells_Mapping_List_Item */
static int hf_f1ap_Activated_Cells_to_be_Updated_List_PDU;  /* Activated_Cells_to_be_Updated_List */
static int hf_f1ap_ActivationRequestType_PDU;     /* ActivationRequestType */
static int hf_f1ap_AdditionalDuplicationIndication_PDU;  /* AdditionalDuplicationIndication */
static int hf_f1ap_ExtendedAdditionalPathList_PDU;  /* ExtendedAdditionalPathList */
static int hf_f1ap_AdditionalPDCPDuplicationTNL_List_PDU;  /* AdditionalPDCPDuplicationTNL_List */
static int hf_f1ap_AdditionalSIBMessageList_PDU;  /* AdditionalSIBMessageList */
static int hf_f1ap_AdditionalRRMPriorityIndex_PDU;  /* AdditionalRRMPriorityIndex */
static int hf_f1ap_AggregatedPosSRSResourceIDList_PDU;  /* AggregatedPosSRSResourceIDList */
static int hf_f1ap_AggregatedPosSRSResourceSetList_PDU;  /* AggregatedPosSRSResourceSetList */
static int hf_f1ap_AggregatedPRSResourceSetList_PDU;  /* AggregatedPRSResourceSetList */
static int hf_f1ap_AggressorgNBSetID_PDU;         /* AggressorgNBSetID */
static int hf_f1ap_AlternativeQoSParaSetList_PDU;  /* AlternativeQoSParaSetList */
static int hf_f1ap_Associated_SCell_Item_PDU;     /* Associated_SCell_Item */
static int hf_f1ap_AssociatedSessionID_PDU;       /* AssociatedSessionID */
static int hf_f1ap_AvailablePLMNList_PDU;         /* AvailablePLMNList */
static int hf_f1ap_AvailableSNPN_ID_List_PDU;     /* AvailableSNPN_ID_List */
static int hf_f1ap_AreaScope_PDU;                 /* AreaScope */
static int hf_f1ap_AoA_AssistanceInfo_PDU;        /* AoA_AssistanceInfo */
static int hf_f1ap_ARP_ID_PDU;                    /* ARP_ID */
static int hf_f1ap_ARPLocationInformation_PDU;    /* ARPLocationInformation */
static int hf_f1ap_BAP_Header_Rewriting_Added_List_Item_PDU;  /* BAP_Header_Rewriting_Added_List_Item */
static int hf_f1ap_BAP_Header_Rewriting_Removed_List_Item_PDU;  /* BAP_Header_Rewriting_Removed_List_Item */
static int hf_f1ap_BAPAddress_PDU;                /* BAPAddress */
static int hf_f1ap_BitRate_PDU;                   /* BitRate */
static int hf_f1ap_BearerTypeChange_PDU;          /* BearerTypeChange */
static int hf_f1ap_BHChannels_FailedToBeModified_Item_PDU;  /* BHChannels_FailedToBeModified_Item */
static int hf_f1ap_BHChannels_FailedToBeSetup_Item_PDU;  /* BHChannels_FailedToBeSetup_Item */
static int hf_f1ap_BHChannels_FailedToBeSetupMod_Item_PDU;  /* BHChannels_FailedToBeSetupMod_Item */
static int hf_f1ap_BHChannels_Modified_Item_PDU;  /* BHChannels_Modified_Item */
static int hf_f1ap_BHChannels_Required_ToBeReleased_Item_PDU;  /* BHChannels_Required_ToBeReleased_Item */
static int hf_f1ap_BHChannels_Setup_Item_PDU;     /* BHChannels_Setup_Item */
static int hf_f1ap_BHChannels_SetupMod_Item_PDU;  /* BHChannels_SetupMod_Item */
static int hf_f1ap_BHChannels_ToBeModified_Item_PDU;  /* BHChannels_ToBeModified_Item */
static int hf_f1ap_BHChannels_ToBeReleased_Item_PDU;  /* BHChannels_ToBeReleased_Item */
static int hf_f1ap_BHChannels_ToBeSetup_Item_PDU;  /* BHChannels_ToBeSetup_Item */
static int hf_f1ap_BHChannels_ToBeSetupMod_Item_PDU;  /* BHChannels_ToBeSetupMod_Item */
static int hf_f1ap_BHInfo_PDU;                    /* BHInfo */
static int hf_f1ap_BH_Routing_Information_Added_List_Item_PDU;  /* BH_Routing_Information_Added_List_Item */
static int hf_f1ap_BH_Routing_Information_Removed_List_Item_PDU;  /* BH_Routing_Information_Removed_List_Item */
static int hf_f1ap_BPLMN_ID_Info_List_PDU;        /* BPLMN_ID_Info_List */
static int hf_f1ap_BroadcastMRBs_FailedToBeModified_Item_PDU;  /* BroadcastMRBs_FailedToBeModified_Item */
static int hf_f1ap_BroadcastMRBs_FailedToBeSetup_Item_PDU;  /* BroadcastMRBs_FailedToBeSetup_Item */
static int hf_f1ap_BroadcastMRBs_FailedToBeSetupMod_Item_PDU;  /* BroadcastMRBs_FailedToBeSetupMod_Item */
static int hf_f1ap_BroadcastMRBs_Modified_Item_PDU;  /* BroadcastMRBs_Modified_Item */
static int hf_f1ap_BroadcastMRBs_Setup_Item_PDU;  /* BroadcastMRBs_Setup_Item */
static int hf_f1ap_BroadcastMRBs_SetupMod_Item_PDU;  /* BroadcastMRBs_SetupMod_Item */
static int hf_f1ap_BroadcastMRBs_ToBeModified_Item_PDU;  /* BroadcastMRBs_ToBeModified_Item */
static int hf_f1ap_BroadcastMRBs_ToBeReleased_Item_PDU;  /* BroadcastMRBs_ToBeReleased_Item */
static int hf_f1ap_BroadcastMRBs_ToBeSetup_Item_PDU;  /* BroadcastMRBs_ToBeSetup_Item */
static int hf_f1ap_BroadcastMRBs_ToBeSetupMod_Item_PDU;  /* BroadcastMRBs_ToBeSetupMod_Item */
static int hf_f1ap_BroadcastAreaScope_PDU;        /* BroadcastAreaScope */
static int hf_f1ap_BufferSizeThresh_PDU;          /* BufferSizeThresh */
static int hf_f1ap_BW_Aggregation_Request_Indication_PDU;  /* BW_Aggregation_Request_Indication */
static int hf_f1ap_BWP_Id_PDU;                    /* BWP_Id */
static int hf_f1ap_Broadcast_MRBs_Transport_Request_Item_PDU;  /* Broadcast_MRBs_Transport_Request_Item */
static int hf_f1ap_Cancel_all_Warning_Messages_Indicator_PDU;  /* Cancel_all_Warning_Messages_Indicator */
static int hf_f1ap_Candidate_SpCell_Item_PDU;     /* Candidate_SpCell_Item */
static int hf_f1ap_Cause_PDU;                     /* Cause */
static int hf_f1ap_CellGroupConfig_PDU;           /* CellGroupConfig */
static int hf_f1ap_Cell_Direction_PDU;            /* Cell_Direction */
static int hf_f1ap_CellMeasurementResultList_PDU;  /* CellMeasurementResultList */
static int hf_f1ap_Cell_Portion_ID_PDU;           /* Cell_Portion_ID */
static int hf_f1ap_CellsForSON_List_PDU;          /* CellsForSON_List */
static int hf_f1ap_Cells_Failed_to_be_Activated_List_Item_PDU;  /* Cells_Failed_to_be_Activated_List_Item */
static int hf_f1ap_Cells_Status_Item_PDU;         /* Cells_Status_Item */
static int hf_f1ap_Cells_To_Be_Broadcast_Item_PDU;  /* Cells_To_Be_Broadcast_Item */
static int hf_f1ap_Cells_Broadcast_Completed_Item_PDU;  /* Cells_Broadcast_Completed_Item */
static int hf_f1ap_Broadcast_To_Be_Cancelled_Item_PDU;  /* Broadcast_To_Be_Cancelled_Item */
static int hf_f1ap_Cells_Broadcast_Cancelled_Item_PDU;  /* Cells_Broadcast_Cancelled_Item */
static int hf_f1ap_Cells_to_be_Activated_List_Item_PDU;  /* Cells_to_be_Activated_List_Item */
static int hf_f1ap_Cells_With_SSBs_Activated_List_PDU;  /* Cells_With_SSBs_Activated_List */
static int hf_f1ap_Cells_Allowed_to_be_Deactivated_List_Item_PDU;  /* Cells_Allowed_to_be_Deactivated_List_Item */
static int hf_f1ap_Cells_to_be_Deactivated_List_Item_PDU;  /* Cells_to_be_Deactivated_List_Item */
static int hf_f1ap_Cells_to_be_Barred_Item_PDU;   /* Cells_to_be_Barred_Item */
static int hf_f1ap_CellToReportList_PDU;          /* CellToReportList */
static int hf_f1ap_CellType_PDU;                  /* CellType */
static int hf_f1ap_CellULConfigured_PDU;          /* CellULConfigured */
static int hf_f1ap_CG_SDTQueryIndication_PDU;     /* CG_SDTQueryIndication */
static int hf_f1ap_CG_SDTKeptIndicator_PDU;       /* CG_SDTKeptIndicator */
static int hf_f1ap_CG_SDTindicatorSetup_PDU;      /* CG_SDTindicatorSetup */
static int hf_f1ap_CG_SDTindicatorMod_PDU;        /* CG_SDTindicatorMod */
static int hf_f1ap_CG_SDTSessionInfo_PDU;         /* CG_SDTSessionInfo */
static int hf_f1ap_ChannelOccupancyTimePercentage_PDU;  /* ChannelOccupancyTimePercentage */
static int hf_f1ap_Child_IAB_Nodes_NA_Resource_List_PDU;  /* Child_IAB_Nodes_NA_Resource_List */
static int hf_f1ap_Child_Nodes_List_PDU;          /* Child_Nodes_List */
static int hf_f1ap_CompositeAvailableCapacity_PDU;  /* CompositeAvailableCapacity */
static int hf_f1ap_CHO_Probability_PDU;           /* CHO_Probability */
static int hf_f1ap_ConditionalInterDUMobilityInformation_PDU;  /* ConditionalInterDUMobilityInformation */
static int hf_f1ap_ConditionalIntraDUMobilityInformation_PDU;  /* ConditionalIntraDUMobilityInformation */
static int hf_f1ap_ConfigRestrictInfoDAPS_PDU;    /* ConfigRestrictInfoDAPS */
static int hf_f1ap_ConfiguredTACIndication_PDU;   /* ConfiguredTACIndication */
static int hf_f1ap_Configured_BWP_List_PDU;       /* Configured_BWP_List */
static int hf_f1ap_Coverage_Modification_Notification_PDU;  /* Coverage_Modification_Notification */
static int hf_f1ap_CCO_Assistance_Information_PDU;  /* CCO_Assistance_Information */
static int hf_f1ap_CCO_issue_detection_PDU;       /* CCO_issue_detection */
static int hf_f1ap_CP_TransportLayerAddress_PDU;  /* CP_TransportLayerAddress */
static int hf_f1ap_CPACMCGInformation_PDU;        /* CPACMCGInformation */
static int hf_f1ap_CriticalityDiagnostics_PDU;    /* CriticalityDiagnostics */
static int hf_f1ap_C_RNTI_PDU;                    /* C_RNTI */
static int hf_f1ap_CUDURadioInformationType_PDU;  /* CUDURadioInformationType */
static int hf_f1ap_CUtoDURRCInformation_PDU;      /* CUtoDURRCInformation */
static int hf_f1ap_CUtoDUTAInformation_List_PDU;  /* CUtoDUTAInformation_List */
static int hf_f1ap_DAPS_HO_Status_PDU;            /* DAPS_HO_Status */
static int hf_f1ap_DCBasedDuplicationConfigured_PDU;  /* DCBasedDuplicationConfigured */
static int hf_f1ap_DeactivationIndication_PDU;    /* DeactivationIndication */
static int hf_f1ap_Dedicated_SIDelivery_NeededUE_Item_PDU;  /* Dedicated_SIDelivery_NeededUE_Item */
static int hf_f1ap_DedicatedSIDeliveryIndication_PDU;  /* DedicatedSIDeliveryIndication */
static int hf_f1ap_DL_UP_TNL_Address_to_Update_List_Item_PDU;  /* DL_UP_TNL_Address_to_Update_List_Item */
static int hf_f1ap_DRB_Activity_Item_PDU;         /* DRB_Activity_Item */
static int hf_f1ap_DRBs_FailedToBeModified_Item_PDU;  /* DRBs_FailedToBeModified_Item */
static int hf_f1ap_DRBs_FailedToBeSetup_Item_PDU;  /* DRBs_FailedToBeSetup_Item */
static int hf_f1ap_DRBs_FailedToBeSetupMod_Item_PDU;  /* DRBs_FailedToBeSetupMod_Item */
static int hf_f1ap_DRB_Information_PDU;           /* DRB_Information */
static int hf_f1ap_DRBs_Modified_Item_PDU;        /* DRBs_Modified_Item */
static int hf_f1ap_DRBs_ModifiedConf_Item_PDU;    /* DRBs_ModifiedConf_Item */
static int hf_f1ap_DRB_Notify_Item_PDU;           /* DRB_Notify_Item */
static int hf_f1ap_DRBs_Required_ToBeModified_Item_PDU;  /* DRBs_Required_ToBeModified_Item */
static int hf_f1ap_DRBs_Required_ToBeReleased_Item_PDU;  /* DRBs_Required_ToBeReleased_Item */
static int hf_f1ap_DRBs_Setup_Item_PDU;           /* DRBs_Setup_Item */
static int hf_f1ap_DRBs_SetupMod_Item_PDU;        /* DRBs_SetupMod_Item */
static int hf_f1ap_DRBs_ToBeModified_Item_PDU;    /* DRBs_ToBeModified_Item */
static int hf_f1ap_DRBs_ToBeReleased_Item_PDU;    /* DRBs_ToBeReleased_Item */
static int hf_f1ap_DRBs_ToBeSetup_Item_PDU;       /* DRBs_ToBeSetup_Item */
static int hf_f1ap_DRBs_ToBeSetupMod_Item_PDU;    /* DRBs_ToBeSetupMod_Item */
static int hf_f1ap_DRB_List_PDU;                  /* DRB_List */
static int hf_f1ap_DRXCycle_PDU;                  /* DRXCycle */
static int hf_f1ap_NonIntegerDRXCycle_PDU;        /* NonIntegerDRXCycle */
static int hf_f1ap_DRX_Config_PDU;                /* DRX_Config */
static int hf_f1ap_DRXConfigurationIndicator_PDU;  /* DRXConfigurationIndicator */
static int hf_f1ap_DRX_LongCycleStartOffset_PDU;  /* DRX_LongCycleStartOffset */
static int hf_f1ap_DUtoCURRCContainer_PDU;        /* DUtoCURRCContainer */
static int hf_f1ap_DUCURadioInformationType_PDU;  /* DUCURadioInformationType */
static int hf_f1ap_DU_RX_MT_RX_Extend_PDU;        /* DU_RX_MT_RX_Extend */
static int hf_f1ap_DU_TX_MT_TX_Extend_PDU;        /* DU_TX_MT_TX_Extend */
static int hf_f1ap_DU_RX_MT_TX_Extend_PDU;        /* DU_RX_MT_TX_Extend */
static int hf_f1ap_DU_TX_MT_RX_Extend_PDU;        /* DU_TX_MT_RX_Extend */
static int hf_f1ap_DUtoCURRCInformation_PDU;      /* DUtoCURRCInformation */
static int hf_f1ap_DUtoCUTAInformation_List_PDU;  /* DUtoCUTAInformation_List */
static int hf_f1ap_DuplicationActivation_PDU;     /* DuplicationActivation */
static int hf_f1ap_DuplicationIndication_PDU;     /* DuplicationIndication */
static int hf_f1ap_DLLBTFailureInformationRequest_PDU;  /* DLLBTFailureInformationRequest */
static int hf_f1ap_DLLBTFailureInformationList_PDU;  /* DLLBTFailureInformationList */
static int hf_f1ap_EarlySyncInformation_Request_PDU;  /* EarlySyncInformation_Request */
static int hf_f1ap_EarlySyncInformation_PDU;      /* EarlySyncInformation */
static int hf_f1ap_EarlySyncCandidateCellInformation_List_PDU;  /* EarlySyncCandidateCellInformation_List */
static int hf_f1ap_EarlySyncServingCellInformation_PDU;  /* EarlySyncServingCellInformation */
static int hf_f1ap_E_CID_MeasurementQuantities_PDU;  /* E_CID_MeasurementQuantities */
static int hf_f1ap_E_CID_MeasurementQuantities_Item_PDU;  /* E_CID_MeasurementQuantities_Item */
static int hf_f1ap_E_CID_MeasurementResult_PDU;   /* E_CID_MeasurementResult */
static int hf_f1ap_E_CID_MeasuredResultsAssociatedInfoList_PDU;  /* E_CID_MeasuredResultsAssociatedInfoList */
static int hf_f1ap_E_CID_ReportCharacteristics_PDU;  /* E_CID_ReportCharacteristics */
static int hf_f1ap_EgressNonF1terminatingTopologyIndicator_PDU;  /* EgressNonF1terminatingTopologyIndicator */
static int hf_f1ap_ExtendedAvailablePLMN_List_PDU;  /* ExtendedAvailablePLMN_List */
static int hf_f1ap_ExtendedServedPLMNs_List_PDU;  /* ExtendedServedPLMNs_List */
static int hf_f1ap_ExtendedSliceSupportList_PDU;  /* ExtendedSliceSupportList */
static int hf_f1ap_ExtendedUEIdentityIndexValue_PDU;  /* ExtendedUEIdentityIndexValue */
static int hf_f1ap_ExecuteDuplication_PDU;        /* ExecuteDuplication */
static int hf_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container_PDU;  /* EUTRA_NR_CellResourceCoordinationReq_Container */
static int hf_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container_PDU;  /* EUTRA_NR_CellResourceCoordinationReqAck_Container */
static int hf_f1ap_ExtendedPacketDelayBudget_PDU;  /* ExtendedPacketDelayBudget */
static int hf_f1ap_ECNMarkingorCongestionInformationReportingRequest_PDU;  /* ECNMarkingorCongestionInformationReportingRequest */
static int hf_f1ap_ECNMarkingorCongestionInformationReportingStatus_PDU;  /* ECNMarkingorCongestionInformationReportingStatus */
static int hf_f1ap_F1CTransferPath_PDU;           /* F1CTransferPath */
static int hf_f1ap_F1CTransferPathNRDC_PDU;       /* F1CTransferPathNRDC */
static int hf_f1ap_F1U_PathFailure_PDU;           /* F1U_PathFailure */
static int hf_f1ap_F1UTunnelNotEstablished_PDU;   /* F1UTunnelNotEstablished */
static int hf_f1ap_FiveG_ProSeAuthorized_PDU;     /* FiveG_ProSeAuthorized */
static int hf_f1ap_FiveG_ProSeLayer2Multipath_PDU;  /* FiveG_ProSeLayer2Multipath */
static int hf_f1ap_FiveG_ProSeLayer2UEtoUERelay_PDU;  /* FiveG_ProSeLayer2UEtoUERelay */
static int hf_f1ap_FiveG_ProSeLayer2UEtoUERemote_PDU;  /* FiveG_ProSeLayer2UEtoUERemote */
static int hf_f1ap_FrequencyShift7p5khz_PDU;      /* FrequencyShift7p5khz */
static int hf_f1ap_Frequency_Domain_HSNA_Configuration_List_PDU;  /* Frequency_Domain_HSNA_Configuration_List */
static int hf_f1ap_FullConfiguration_PDU;         /* FullConfiguration */
static int hf_f1ap_CG_Config_PDU;                 /* CG_Config */
static int hf_f1ap_GlobalGNB_ID_PDU;              /* GlobalGNB_ID */
static int hf_f1ap_GNB_CU_MBS_F1AP_ID_PDU;        /* GNB_CU_MBS_F1AP_ID */
static int hf_f1ap_GNBCUMeasurementID_PDU;        /* GNBCUMeasurementID */
static int hf_f1ap_GNBDUMeasurementID_PDU;        /* GNBDUMeasurementID */
static int hf_f1ap_GNB_CUSystemInformation_PDU;   /* GNB_CUSystemInformation */
static int hf_f1ap_GNB_CU_TNL_Association_Setup_Item_PDU;  /* GNB_CU_TNL_Association_Setup_Item */
static int hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item_PDU;  /* GNB_CU_TNL_Association_Failed_To_Setup_Item */
static int hf_f1ap_GNB_CU_TNL_Association_To_Add_Item_PDU;  /* GNB_CU_TNL_Association_To_Add_Item */
static int hf_f1ap_GNB_CU_TNL_Association_To_Remove_Item_PDU;  /* GNB_CU_TNL_Association_To_Remove_Item */
static int hf_f1ap_GNB_CU_TNL_Association_To_Update_Item_PDU;  /* GNB_CU_TNL_Association_To_Update_Item */
static int hf_f1ap_GNB_CU_UE_F1AP_ID_PDU;         /* GNB_CU_UE_F1AP_ID */
static int hf_f1ap_GNB_DU_MBS_F1AP_ID_PDU;        /* GNB_DU_MBS_F1AP_ID */
static int hf_f1ap_GNB_DU_UE_F1AP_ID_PDU;         /* GNB_DU_UE_F1AP_ID */
static int hf_f1ap_GNB_DU_ID_PDU;                 /* GNB_DU_ID */
static int hf_f1ap_GNB_CU_Name_PDU;               /* GNB_CU_Name */
static int hf_f1ap_GNB_DU_Name_PDU;               /* GNB_DU_Name */
static int hf_f1ap_Extended_GNB_CU_Name_PDU;      /* Extended_GNB_CU_Name */
static int hf_f1ap_Extended_GNB_DU_Name_PDU;      /* Extended_GNB_DU_Name */
static int hf_f1ap_GNB_DU_Served_Cells_Item_PDU;  /* GNB_DU_Served_Cells_Item */
static int hf_f1ap_GNB_DUConfigurationQuery_PDU;  /* GNB_DUConfigurationQuery */
static int hf_f1ap_GNBDUOverloadInformation_PDU;  /* GNBDUOverloadInformation */
static int hf_f1ap_GNB_DU_TNL_Association_To_Remove_Item_PDU;  /* GNB_DU_TNL_Association_To_Remove_Item */
static int hf_f1ap_GNBDUUESliceMaximumBitRateList_PDU;  /* GNBDUUESliceMaximumBitRateList */
static int hf_f1ap_HandoverPreparationInformation_PDU;  /* HandoverPreparationInformation */
static int hf_f1ap_HardwareLoadIndicator_PDU;     /* HardwareLoadIndicator */
static int hf_f1ap_HashedUEIdentityIndexValue_PDU;  /* HashedUEIdentityIndexValue */
static int hf_f1ap_IAB_Barred_PDU;                /* IAB_Barred */
static int hf_f1ap_IABConditionalRRCMessageDeliveryIndication_PDU;  /* IABConditionalRRCMessageDeliveryIndication */
static int hf_f1ap_IABCongestionIndication_PDU;   /* IABCongestionIndication */
static int hf_f1ap_IAB_Info_IAB_donor_CU_PDU;     /* IAB_Info_IAB_donor_CU */
static int hf_f1ap_IAB_Info_IAB_DU_PDU;           /* IAB_Info_IAB_DU */
static int hf_f1ap_IAB_Allocated_TNL_Address_Item_PDU;  /* IAB_Allocated_TNL_Address_Item */
static int hf_f1ap_IABIPv6RequestType_PDU;        /* IABIPv6RequestType */
static int hf_f1ap_IAB_TNL_Addresses_To_Remove_Item_PDU;  /* IAB_TNL_Addresses_To_Remove_Item */
static int hf_f1ap_IAB_TNL_Addresses_Exception_PDU;  /* IAB_TNL_Addresses_Exception */
static int hf_f1ap_IABv4AddressesRequested_PDU;   /* IABv4AddressesRequested */
static int hf_f1ap_Mobile_IAB_MTUserLocationInformation_PDU;  /* Mobile_IAB_MTUserLocationInformation */
static int hf_f1ap_IgnorePRACHConfiguration_PDU;  /* IgnorePRACHConfiguration */
static int hf_f1ap_IgnoreResourceCoordinationContainer_PDU;  /* IgnoreResourceCoordinationContainer */
static int hf_f1ap_InactivityMonitoringRequest_PDU;  /* InactivityMonitoringRequest */
static int hf_f1ap_InactivityMonitoringResponse_PDU;  /* InactivityMonitoringResponse */
static int hf_f1ap_IntendedTDD_DL_ULConfig_PDU;   /* IntendedTDD_DL_ULConfig */
static int hf_f1ap_InterFrequencyConfig_NoGap_PDU;  /* InterFrequencyConfig_NoGap */
static int hf_f1ap_IngressNonF1terminatingTopologyIndicator_PDU;  /* IngressNonF1terminatingTopologyIndicator */
static int hf_f1ap_IndicationMCInactiveReception_PDU;  /* IndicationMCInactiveReception */
static int hf_f1ap_LTEA2XServicesAuthorized_PDU;  /* LTEA2XServicesAuthorized */
static int hf_f1ap_L571Info_PDU;                  /* L571Info */
static int hf_f1ap_L1151Info_PDU;                 /* L1151Info */
static int hf_f1ap_LastUsedCellIndication_PDU;    /* LastUsedCellIndication */
static int hf_f1ap_LMF_MeasurementID_PDU;         /* LMF_MeasurementID */
static int hf_f1ap_LMF_UE_MeasurementID_PDU;      /* LMF_UE_MeasurementID */
static int hf_f1ap_LocationMeasurementInformation_PDU;  /* LocationMeasurementInformation */
static int hf_f1ap_LowerLayerPresenceStatusChange_PDU;  /* LowerLayerPresenceStatusChange */
static int hf_f1ap_LoS_NLoSInformation_PDU;       /* LoS_NLoSInformation */
static int hf_f1ap_LTEUESidelinkAggregateMaximumBitrate_PDU;  /* LTEUESidelinkAggregateMaximumBitrate */
static int hf_f1ap_LTEV2XServicesAuthorized_PDU;  /* LTEV2XServicesAuthorized */
static int hf_f1ap_LTMCells_ToBeReleased_List_PDU;  /* LTMCells_ToBeReleased_List */
static int hf_f1ap_LTMInformation_Setup_PDU;      /* LTMInformation_Setup */
static int hf_f1ap_LTMConfigurationIDMappingList_PDU;  /* LTMConfigurationIDMappingList */
static int hf_f1ap_LTMInformation_Modify_PDU;     /* LTMInformation_Modify */
static int hf_f1ap_LTMConfiguration_PDU;          /* LTMConfiguration */
static int hf_f1ap_LTMCellSwitchInformation_PDU;  /* LTMCellSwitchInformation */
static int hf_f1ap_LTMCFRAResourceConfig_List_PDU;  /* LTMCFRAResourceConfig_List */
static int hf_f1ap_MaskedIMEISV_PDU;              /* MaskedIMEISV */
static int hf_f1ap_MaxDataBurstVolume_PDU;        /* MaxDataBurstVolume */
static int hf_f1ap_MBS_Broadcast_NeighbourCellList_PDU;  /* MBS_Broadcast_NeighbourCellList */
static int hf_f1ap_MBSInterestIndication_PDU;     /* MBSInterestIndication */
static int hf_f1ap_MBS_CUtoDURRCInformation_PDU;  /* MBS_CUtoDURRCInformation */
static int hf_f1ap_MBSMulticastF1UContextDescriptor_PDU;  /* MBSMulticastF1UContextDescriptor */
static int hf_f1ap_MT_SDT_Information_PDU;        /* MT_SDT_Information */
static int hf_f1ap_MBSMulticastSessionReceptionState_PDU;  /* MBSMulticastSessionReceptionState */
static int hf_f1ap_MulticastCU2DURRCInfo_PDU;     /* MulticastCU2DURRCInfo */
static int hf_f1ap_MulticastCU2DUCommonRRCInfo_PDU;  /* MulticastCU2DUCommonRRCInfo */
static int hf_f1ap_MulticastDU2CURRCInfo_PDU;     /* MulticastDU2CURRCInfo */
static int hf_f1ap_MulticastF1UContext_ToBeSetup_Item_PDU;  /* MulticastF1UContext_ToBeSetup_Item */
static int hf_f1ap_MulticastF1UContext_Setup_Item_PDU;  /* MulticastF1UContext_Setup_Item */
static int hf_f1ap_MulticastF1UContext_FailedToBeSetup_Item_PDU;  /* MulticastF1UContext_FailedToBeSetup_Item */
static int hf_f1ap_MBS_ServiceArea_PDU;           /* MBS_ServiceArea */
static int hf_f1ap_MC_PagingCell_Item_PDU;        /* MC_PagingCell_Item */
static int hf_f1ap_MeasGapSharingConfig_PDU;      /* MeasGapSharingConfig */
static int hf_f1ap_PosMeasurementAmount_PDU;      /* PosMeasurementAmount */
static int hf_f1ap_MeasurementBeamInfoRequest_PDU;  /* MeasurementBeamInfoRequest */
static int hf_f1ap_MeasurementTimingConfiguration_PDU;  /* MeasurementTimingConfiguration */
static int hf_f1ap_MeasurementTimeOccasion_PDU;   /* MeasurementTimeOccasion */
static int hf_f1ap_MeasurementCharacteristicsRequestIndicator_PDU;  /* MeasurementCharacteristicsRequestIndicator */
static int hf_f1ap_MulticastF1UContextReferenceCU_PDU;  /* MulticastF1UContextReferenceCU */
static int hf_f1ap_MultipleULAoA_PDU;             /* MultipleULAoA */
static int hf_f1ap_MDTPollutedMeasurementIndicator_PDU;  /* MDTPollutedMeasurementIndicator */
static int hf_f1ap_MRB_ID_PDU;                    /* MRB_ID */
static int hf_f1ap_MulticastMBSSessionList_PDU;   /* MulticastMBSSessionList */
static int hf_f1ap_MulticastMRBs_FailedToBeModified_Item_PDU;  /* MulticastMRBs_FailedToBeModified_Item */
static int hf_f1ap_MulticastMRBs_FailedToBeSetup_Item_PDU;  /* MulticastMRBs_FailedToBeSetup_Item */
static int hf_f1ap_MulticastMRBs_FailedToBeSetupMod_Item_PDU;  /* MulticastMRBs_FailedToBeSetupMod_Item */
static int hf_f1ap_MulticastMRBs_Modified_Item_PDU;  /* MulticastMRBs_Modified_Item */
static int hf_f1ap_MulticastMRBs_Setup_Item_PDU;  /* MulticastMRBs_Setup_Item */
static int hf_f1ap_MulticastMRBs_SetupMod_Item_PDU;  /* MulticastMRBs_SetupMod_Item */
static int hf_f1ap_MulticastMRBs_ToBeModified_Item_PDU;  /* MulticastMRBs_ToBeModified_Item */
static int hf_f1ap_MulticastMRBs_ToBeReleased_Item_PDU;  /* MulticastMRBs_ToBeReleased_Item */
static int hf_f1ap_MulticastMRBs_ToBeSetup_Item_PDU;  /* MulticastMRBs_ToBeSetup_Item */
static int hf_f1ap_MulticastMRBs_ToBeSetupMod_Item_PDU;  /* MulticastMRBs_ToBeSetupMod_Item */
static int hf_f1ap_MusimCapabilityRestrictionIndication_PDU;  /* MusimCapabilityRestrictionIndication */
static int hf_f1ap_MusimCandidateBandList_PDU;    /* MusimCandidateBandList */
static int hf_f1ap_M5ReportAmount_PDU;            /* M5ReportAmount */
static int hf_f1ap_M6ReportAmount_PDU;            /* M6ReportAmount */
static int hf_f1ap_M7ReportAmount_PDU;            /* M7ReportAmount */
static int hf_f1ap_MDTConfiguration_PDU;          /* MDTConfiguration */
static int hf_f1ap_MDTPLMNList_PDU;               /* MDTPLMNList */
static int hf_f1ap_MDTPLMNModificationList_PDU;   /* MDTPLMNModificationList */
static int hf_f1ap_MeasuredFrequencyHops_PDU;     /* MeasuredFrequencyHops */
static int hf_f1ap_Mobile_TRP_LocationInformation_PDU;  /* Mobile_TRP_LocationInformation */
static int hf_f1ap_Mobile_IAB_MT_UE_ID_PDU;       /* Mobile_IAB_MT_UE_ID */
static int hf_f1ap_MUSIM_GapConfig_PDU;           /* MUSIM_GapConfig */
static int hf_f1ap_MobileIAB_Barred_PDU;          /* MobileIAB_Barred */
static int hf_f1ap_MeasBasedOnAggregatedResources_PDU;  /* MeasBasedOnAggregatedResources */
static int hf_f1ap_NRA2XServicesAuthorized_PDU;   /* NRA2XServicesAuthorized */
static int hf_f1ap_Ncd_SSB_RedCapInitialBWP_SDT_PDU;  /* Ncd_SSB_RedCapInitialBWP_SDT */
static int hf_f1ap_NetworkControlledRepeaterAuthorized_PDU;  /* NetworkControlledRepeaterAuthorized */
static int hf_f1ap_NCGI_to_be_Updated_List_Item_PDU;  /* NCGI_to_be_Updated_List_Item */
static int hf_f1ap_Neighbour_Node_Cells_List_PDU;  /* Neighbour_Node_Cells_List */
static int hf_f1ap_NeedforGap_PDU;                /* NeedforGap */
static int hf_f1ap_NeedForGapsInfoNR_PDU;         /* NeedForGapsInfoNR */
static int hf_f1ap_NeedForGapNCSGInfoNR_PDU;      /* NeedForGapNCSGInfoNR */
static int hf_f1ap_NeedForGapNCSGInfoEUTRA_PDU;   /* NeedForGapNCSGInfoEUTRA */
static int hf_f1ap_NeedForInterruptionInfoNR_PDU;  /* NeedForInterruptionInfoNR */
static int hf_f1ap_Neighbour_Cell_Information_Item_PDU;  /* Neighbour_Cell_Information_Item */
static int hf_f1ap_NID_PDU;                       /* NID */
static int hf_f1ap_NonF1terminatingTopologyIndicator_PDU;  /* NonF1terminatingTopologyIndicator */
static int hf_f1ap_NR_CGI_List_For_Restart_Item_PDU;  /* NR_CGI_List_For_Restart_Item */
static int hf_f1ap_NrofSymbolsExtended_PDU;       /* NrofSymbolsExtended */
static int hf_f1ap_NR_TADV_PDU;                   /* NR_TADV */
static int hf_f1ap_NReRedCapUEIndication_PDU;     /* NReRedCapUEIndication */
static int hf_f1ap_ERedcap_Bcast_Information_PDU;  /* ERedcap_Bcast_Information */
static int hf_f1ap_NRRedCapUEIndication_PDU;      /* NRRedCapUEIndication */
static int hf_f1ap_NRPagingeDRXInformation_PDU;   /* NRPagingeDRXInformation */
static int hf_f1ap_NRPagingeDRXInformationforRRCINACTIVE_PDU;  /* NRPagingeDRXInformationforRRCINACTIVE */
static int hf_f1ap_NRPaginglongeDRXInformationforRRCINACTIVE_PDU;  /* NRPaginglongeDRXInformationforRRCINACTIVE */
static int hf_f1ap_NotificationInformation_PDU;   /* NotificationInformation */
static int hf_f1ap_NPNBroadcastInformation_PDU;   /* NPNBroadcastInformation */
static int hf_f1ap_NPNSupportInfo_PDU;            /* NPNSupportInfo */
static int hf_f1ap_NRCarrierList_PDU;             /* NRCarrierList */
static int hf_f1ap_NRFreqInfo_PDU;                /* NRFreqInfo */
static int hf_f1ap_NRCGI_PDU;                     /* NRCGI */
static int hf_f1ap_f1ap_NRPRACHConfig_PDU;        /* NRPRACHConfig */
static int hf_f1ap_NRPCI_PDU;                     /* NRPCI */
static int hf_f1ap_NR_U_Channel_Info_List_PDU;    /* NR_U_Channel_Info_List */
static int hf_f1ap_NR_U_Channel_List_PDU;         /* NR_U_Channel_List */
static int hf_f1ap_NumberofBroadcastRequest_PDU;  /* NumberofBroadcastRequest */
static int hf_f1ap_NumberOfTRPRxTEG_PDU;          /* NumberOfTRPRxTEG */
static int hf_f1ap_NumberOfTRPRxTxTEG_PDU;        /* NumberOfTRPRxTxTEG */
static int hf_f1ap_NRV2XServicesAuthorized_PDU;   /* NRV2XServicesAuthorized */
static int hf_f1ap_NRUESidelinkAggregateMaximumBitrate_PDU;  /* NRUESidelinkAggregateMaximumBitrate */
static int hf_f1ap_N6JitterInformation_PDU;       /* N6JitterInformation */
static int hf_f1ap_OnDemandPRS_Info_PDU;          /* OnDemandPRS_Info */
static int hf_f1ap_PathAdditionInformation_PDU;   /* PathAdditionInformation */
static int hf_f1ap_PagingCell_Item_PDU;           /* PagingCell_Item */
static int hf_f1ap_Recommended_SSBs_List_PDU;     /* Recommended_SSBs_List */
static int hf_f1ap_PagingDRX_PDU;                 /* PagingDRX */
static int hf_f1ap_PagingIdentity_PDU;            /* PagingIdentity */
static int hf_f1ap_PagingCause_PDU;               /* PagingCause */
static int hf_f1ap_PagingOrigin_PDU;              /* PagingOrigin */
static int hf_f1ap_PagingPriority_PDU;            /* PagingPriority */
static int hf_f1ap_PEIPSAssistanceInfo_PDU;       /* PEIPSAssistanceInfo */
static int hf_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_List_PDU;  /* Parent_IAB_Nodes_NA_Resource_Configuration_List */
static int hf_f1ap_PathSwitchConfiguration_PDU;   /* PathSwitchConfiguration */
static int hf_f1ap_PC5QoSParameters_PDU;          /* PC5QoSParameters */
static int hf_f1ap_PC5RLCChannelToBeSetupList_PDU;  /* PC5RLCChannelToBeSetupList */
static int hf_f1ap_PeerUE_ID_PDU;                 /* PeerUE_ID */
static int hf_f1ap_PC5RLCChannelToBeModifiedList_PDU;  /* PC5RLCChannelToBeModifiedList */
static int hf_f1ap_PC5RLCChannelToBeReleasedList_PDU;  /* PC5RLCChannelToBeReleasedList */
static int hf_f1ap_PC5RLCChannelSetupList_PDU;    /* PC5RLCChannelSetupList */
static int hf_f1ap_PC5RLCChannelFailedToBeSetupList_PDU;  /* PC5RLCChannelFailedToBeSetupList */
static int hf_f1ap_PC5RLCChannelModifiedList_PDU;  /* PC5RLCChannelModifiedList */
static int hf_f1ap_PC5RLCChannelFailedToBeModifiedList_PDU;  /* PC5RLCChannelFailedToBeModifiedList */
static int hf_f1ap_PC5RLCChannelRequiredToBeModifiedList_PDU;  /* PC5RLCChannelRequiredToBeModifiedList */
static int hf_f1ap_PC5RLCChannelRequiredToBeReleasedList_PDU;  /* PC5RLCChannelRequiredToBeReleasedList */
static int hf_f1ap_PDCCH_BlindDetectionSCG_PDU;   /* PDCCH_BlindDetectionSCG */
static int hf_f1ap_PDCMeasurementPeriodicity_PDU;  /* PDCMeasurementPeriodicity */
static int hf_f1ap_PDCMeasurementQuantities_PDU;  /* PDCMeasurementQuantities */
static int hf_f1ap_PDCMeasurementQuantities_Item_PDU;  /* PDCMeasurementQuantities_Item */
static int hf_f1ap_PDCMeasurementResult_PDU;      /* PDCMeasurementResult */
static int hf_f1ap_PDCReportType_PDU;             /* PDCReportType */
static int hf_f1ap_PDCPSNLength_PDU;              /* PDCPSNLength */
static int hf_f1ap_PDUSessionID_PDU;              /* PDUSessionID */
static int hf_f1ap_PEISubgroupingSupportIndication_PDU;  /* PEISubgroupingSupportIndication */
static int hf_f1ap_Permutation_PDU;               /* Permutation */
static int hf_f1ap_Ph_InfoMCG_PDU;                /* Ph_InfoMCG */
static int hf_f1ap_Ph_InfoSCG_PDU;                /* Ph_InfoSCG */
static int hf_f1ap_PLMN_Identity_PDU;             /* PLMN_Identity */
static int hf_f1ap_PortNumber_PDU;                /* PortNumber */
static int hf_f1ap_PosAssistance_Information_PDU;  /* PosAssistance_Information */
static int hf_f1ap_PosAssistanceInformationFailureList_PDU;  /* PosAssistanceInformationFailureList */
static int hf_f1ap_PosBroadcast_PDU;              /* PosBroadcast */
static int hf_f1ap_PosContextRevIndication_PDU;   /* PosContextRevIndication */
static int hf_f1ap_PositioningBroadcastCells_PDU;  /* PositioningBroadcastCells */
static int hf_f1ap_PosMeasGapPreConfigList_PDU;   /* PosMeasGapPreConfigList */
static int hf_f1ap_MeasurementPeriodicity_PDU;    /* MeasurementPeriodicity */
static int hf_f1ap_MeasurementPeriodicityExtended_PDU;  /* MeasurementPeriodicityExtended */
static int hf_f1ap_PosMeasurementPeriodicityNR_AoA_PDU;  /* PosMeasurementPeriodicityNR_AoA */
static int hf_f1ap_PosMeasurementQuantities_PDU;  /* PosMeasurementQuantities */
static int hf_f1ap_PosMeasurementResultList_PDU;  /* PosMeasurementResultList */
static int hf_f1ap_PosReportCharacteristics_PDU;  /* PosReportCharacteristics */
static int hf_f1ap_PosSItypeList_PDU;             /* PosSItypeList */
static int hf_f1ap_PosValidityAreaCellList_PDU;   /* PosValidityAreaCellList */
static int hf_f1ap_Preconfigured_measurement_GAP_Request_PDU;  /* Preconfigured_measurement_GAP_Request */
static int hf_f1ap_Protected_EUTRA_Resources_Item_PDU;  /* Protected_EUTRA_Resources_Item */
static int hf_f1ap_PRS_Measurement_Info_List_PDU;  /* PRS_Measurement_Info_List */
static int hf_f1ap_Potential_SpCell_Item_PDU;     /* Potential_SpCell_Item */
static int hf_f1ap_PRSConfigRequestType_PDU;      /* PRSConfigRequestType */
static int hf_f1ap_PRS_Resource_ID_PDU;           /* PRS_Resource_ID */
static int hf_f1ap_PRSBandwidthAggregationRequestIndication_PDU;  /* PRSBandwidthAggregationRequestIndication */
static int hf_f1ap_ExtendedResourceSymbolOffset_PDU;  /* ExtendedResourceSymbolOffset */
static int hf_f1ap_PWS_Failed_NR_CGI_Item_PDU;    /* PWS_Failed_NR_CGI_Item */
static int hf_f1ap_PWSSystemInformation_PDU;      /* PWSSystemInformation */
static int hf_f1ap_PrivacyIndicator_PDU;          /* PrivacyIndicator */
static int hf_f1ap_PRSTRPList_PDU;                /* PRSTRPList */
static int hf_f1ap_PRSTransmissionTRPList_PDU;    /* PRSTransmissionTRPList */
static int hf_f1ap_PDUSetQoSParameters_PDU;       /* PDUSetQoSParameters */
static int hf_f1ap_PSIbasedSDUdiscardUL_PDU;      /* PSIbasedSDUdiscardUL */
static int hf_f1ap_PointA_PDU;                    /* PointA */
static int hf_f1ap_QoEInformation_PDU;            /* QoEInformation */
static int hf_f1ap_QoSFlowMappingIndication_PDU;  /* QoSFlowMappingIndication */
static int hf_f1ap_QosMonitoringRequest_PDU;      /* QosMonitoringRequest */
static int hf_f1ap_QoSParaSetNotifyIndex_PDU;     /* QoSParaSetNotifyIndex */
static int hf_f1ap_RAReportList_PDU;              /* RAReportList */
static int hf_f1ap_RAReportIndicationList_PDU;    /* RAReportIndicationList */
static int hf_f1ap_RadioResourceStatusNR_U_PDU;   /* RadioResourceStatusNR_U */
static int hf_f1ap_MIMOPRBusageInformation_PDU;   /* MIMOPRBusageInformation */
static int hf_f1ap_RANfeedbacktype_PDU;           /* RANfeedbacktype */
static int hf_f1ap_RANSharingAssistanceInformation_PDU;  /* RANSharingAssistanceInformation */
static int hf_f1ap_RANTSSRequestType_PDU;         /* RANTSSRequestType */
static int hf_f1ap_RANTimingSynchronisationStatusInfo_PDU;  /* RANTimingSynchronisationStatusInfo */
static int hf_f1ap_RANAC_PDU;                     /* RANAC */
static int hf_f1ap_RAN_MeasurementID_PDU;         /* RAN_MeasurementID */
static int hf_f1ap_RAN_UE_MeasurementID_PDU;      /* RAN_UE_MeasurementID */
static int hf_f1ap_RAN_UE_PDC_MeasID_PDU;         /* RAN_UE_PDC_MeasID */
static int hf_f1ap_RANUEID_PDU;                   /* RANUEID */
static int hf_f1ap_RAT_FrequencyPriorityInformation_PDU;  /* RAT_FrequencyPriorityInformation */
static int hf_f1ap_RBSetConfiguration_PDU;        /* RBSetConfiguration */
static int hf_f1ap_Re_routingEnableIndicator_PDU;  /* Re_routingEnableIndicator */
static int hf_f1ap_Recommended_SSBs_for_Paging_List_PDU;  /* Recommended_SSBs_for_Paging_List */
static int hf_f1ap_Redcap_Bcast_Information_PDU;  /* Redcap_Bcast_Information */
static int hf_f1ap_RedCapIndication_PDU;          /* RedCapIndication */
static int hf_f1ap_RemoteUELocalID_PDU;           /* RemoteUELocalID */
static int hf_f1ap_RegistrationRequest_PDU;       /* RegistrationRequest */
static int hf_f1ap_ReportCharacteristics_PDU;     /* ReportCharacteristics */
static int hf_f1ap_ReportingGranularitykminus1_PDU;  /* ReportingGranularitykminus1 */
static int hf_f1ap_ReportingGranularitykminus2_PDU;  /* ReportingGranularitykminus2 */
static int hf_f1ap_ReportingGranularitykminus3_PDU;  /* ReportingGranularitykminus3 */
static int hf_f1ap_ReportingGranularitykminus4_PDU;  /* ReportingGranularitykminus4 */
static int hf_f1ap_ReportingGranularitykminus5_PDU;  /* ReportingGranularitykminus5 */
static int hf_f1ap_ReportingGranularitykminus6_PDU;  /* ReportingGranularitykminus6 */
static int hf_f1ap_ReportingGranularitykminus1AdditionalPath_PDU;  /* ReportingGranularitykminus1AdditionalPath */
static int hf_f1ap_ReportingGranularitykminus2AdditionalPath_PDU;  /* ReportingGranularitykminus2AdditionalPath */
static int hf_f1ap_ReportingGranularitykminus3AdditionalPath_PDU;  /* ReportingGranularitykminus3AdditionalPath */
static int hf_f1ap_ReportingGranularitykminus4AdditionalPath_PDU;  /* ReportingGranularitykminus4AdditionalPath */
static int hf_f1ap_ReportingGranularitykminus5AdditionalPath_PDU;  /* ReportingGranularitykminus5AdditionalPath */
static int hf_f1ap_ReportingGranularitykminus6AdditionalPath_PDU;  /* ReportingGranularitykminus6AdditionalPath */
static int hf_f1ap_ReportingPeriodicity_PDU;      /* ReportingPeriodicity */
static int hf_f1ap_RequestedBandCombinationIndex_PDU;  /* RequestedBandCombinationIndex */
static int hf_f1ap_RequestedFeatureSetEntryIndex_PDU;  /* RequestedFeatureSetEntryIndex */
static int hf_f1ap_RequestedP_MaxFR2_PDU;         /* RequestedP_MaxFR2 */
static int hf_f1ap_Requested_PDCCH_BlindDetectionSCG_PDU;  /* Requested_PDCCH_BlindDetectionSCG */
static int hf_f1ap_RequestedSRSPreconfigurationCharacteristics_List_PDU;  /* RequestedSRSPreconfigurationCharacteristics_List */
static int hf_f1ap_RequestedSRSTransmissionCharacteristics_PDU;  /* RequestedSRSTransmissionCharacteristics */
static int hf_f1ap_RequestType_PDU;               /* RequestType */
static int hf_f1ap_ResourceCoordinationTransferInformation_PDU;  /* ResourceCoordinationTransferInformation */
static int hf_f1ap_ResourceCoordinationTransferContainer_PDU;  /* ResourceCoordinationTransferContainer */
static int hf_f1ap_RepetitionFactorExtended_PDU;  /* RepetitionFactorExtended */
static int hf_f1ap_RepetitionPeriod_PDU;          /* RepetitionPeriod */
static int hf_f1ap_ReportingRequestType_PDU;      /* ReportingRequestType */
static int hf_f1ap_RLCDuplicationInformation_PDU;  /* RLCDuplicationInformation */
static int hf_f1ap_RLCFailureIndication_PDU;      /* RLCFailureIndication */
static int hf_f1ap_RLCMode_PDU;                   /* RLCMode */
static int hf_f1ap_RLC_Status_PDU;                /* RLC_Status */
static int hf_f1ap_RLFReportInformationList_PDU;  /* RLFReportInformationList */
static int hf_f1ap_RRCContainer_PDU;              /* RRCContainer */
static int hf_f1ap_RRCContainer_RRCSetupComplete_PDU;  /* RRCContainer_RRCSetupComplete */
static int hf_f1ap_RRCDeliveryStatus_PDU;         /* RRCDeliveryStatus */
static int hf_f1ap_RRCDeliveryStatusRequest_PDU;  /* RRCDeliveryStatusRequest */
static int hf_f1ap_RRCReconfigurationCompleteIndicator_PDU;  /* RRCReconfigurationCompleteIndicator */
static int hf_f1ap_RRC_Terminating_IAB_Donor_Related_Info_PDU;  /* RRC_Terminating_IAB_Donor_Related_Info */
static int hf_f1ap_RRC_Version_PDU;               /* RRC_Version */
static int hf_f1ap_Latest_RRC_Version_Enhanced_PDU;  /* Latest_RRC_Version_Enhanced */
static int hf_f1ap_RoutingID_PDU;                 /* RoutingID */
static int hf_f1ap_ResponseTime_PDU;              /* ResponseTime */
static int hf_f1ap_SCell_FailedtoSetup_Item_PDU;  /* SCell_FailedtoSetup_Item */
static int hf_f1ap_SCell_FailedtoSetupMod_Item_PDU;  /* SCell_FailedtoSetupMod_Item */
static int hf_f1ap_SCell_ToBeRemoved_Item_PDU;    /* SCell_ToBeRemoved_Item */
static int hf_f1ap_SCell_ToBeSetup_Item_PDU;      /* SCell_ToBeSetup_Item */
static int hf_f1ap_SCell_ToBeSetupMod_Item_PDU;   /* SCell_ToBeSetupMod_Item */
static int hf_f1ap_SCGActivationRequest_PDU;      /* SCGActivationRequest */
static int hf_f1ap_SCGActivationStatus_PDU;       /* SCGActivationStatus */
static int hf_f1ap_SCGIndicator_PDU;              /* SCGIndicator */
static int hf_f1ap_SCPAC_Request_PDU;             /* SCPAC_Request */
static int hf_f1ap_S_CPAC_Configuration_PDU;      /* S_CPAC_Configuration */
static int hf_f1ap_S_CPACLowerLayerReferenceConfigRequest_PDU;  /* S_CPACLowerLayerReferenceConfigRequest */
static int hf_f1ap_SCS_480_PDU;                   /* SCS_480 */
static int hf_f1ap_SCS_960_PDU;                   /* SCS_960 */
static int hf_f1ap_SCS_SpecificCarrier_PDU;       /* SCS_SpecificCarrier */
static int hf_f1ap_SDTBearerConfigurationQueryIndication_PDU;  /* SDTBearerConfigurationQueryIndication */
static int hf_f1ap_SDTBearerConfigurationInfo_PDU;  /* SDTBearerConfigurationInfo */
static int hf_f1ap_SDT_MAC_PHY_CG_Config_PDU;     /* SDT_MAC_PHY_CG_Config */
static int hf_f1ap_SDTInformation_PDU;            /* SDTInformation */
static int hf_f1ap_SDTRLCBearerConfiguration_PDU;  /* SDTRLCBearerConfiguration */
static int hf_f1ap_SDT_Termination_Request_PDU;   /* SDT_Termination_Request */
static int hf_f1ap_SDT_Volume_Threshold_PDU;      /* SDT_Volume_Threshold */
static int hf_f1ap_SelectedBandCombinationIndex_PDU;  /* SelectedBandCombinationIndex */
static int hf_f1ap_SelectedFeatureSetEntryIndex_PDU;  /* SelectedFeatureSetEntryIndex */
static int hf_f1ap_ServCellInfoList_PDU;          /* ServCellInfoList */
static int hf_f1ap_ServCellIndex_PDU;             /* ServCellIndex */
static int hf_f1ap_ServingCellMO_PDU;             /* ServingCellMO */
static int hf_f1ap_ServingCellMO_List_Item_PDU;   /* ServingCellMO_List_Item */
static int hf_f1ap_ServingCellMO_encoded_in_CGC_List_PDU;  /* ServingCellMO_encoded_in_CGC_List */
static int hf_f1ap_Serving_Cells_List_PDU;        /* Serving_Cells_List */
static int hf_f1ap_Supported_MBS_FSA_ID_List_PDU;  /* Supported_MBS_FSA_ID_List */
static int hf_f1ap_SFN_Offset_PDU;                /* SFN_Offset */
static int hf_f1ap_Served_Cells_To_Add_Item_PDU;  /* Served_Cells_To_Add_Item */
static int hf_f1ap_Served_Cells_To_Delete_Item_PDU;  /* Served_Cells_To_Delete_Item */
static int hf_f1ap_Served_Cells_To_Modify_Item_PDU;  /* Served_Cells_To_Modify_Item */
static int hf_f1ap_RelativeTime1900_PDU;          /* RelativeTime1900 */
static int hf_f1ap_SIB10_message_PDU;             /* SIB10_message */
static int hf_f1ap_SIB12_message_PDU;             /* SIB12_message */
static int hf_f1ap_SIB13_message_PDU;             /* SIB13_message */
static int hf_f1ap_SIB14_message_PDU;             /* SIB14_message */
static int hf_f1ap_SIB15_message_PDU;             /* SIB15_message */
static int hf_f1ap_SIB17_message_PDU;             /* SIB17_message */
static int hf_f1ap_SIB20_message_PDU;             /* SIB20_message */
static int hf_f1ap_SIB24_message_PDU;             /* SIB24_message */
static int hf_f1ap_SIB22_message_PDU;             /* SIB22_message */
static int hf_f1ap_SIB23_message_PDU;             /* SIB23_message */
static int hf_f1ap_SItype_List_PDU;               /* SItype_List */
static int hf_f1ap_SidelinkRelayConfiguration_PDU;  /* SidelinkRelayConfiguration */
static int hf_f1ap_SLDRBs_FailedToBeModified_Item_PDU;  /* SLDRBs_FailedToBeModified_Item */
static int hf_f1ap_SLDRBs_FailedToBeSetup_Item_PDU;  /* SLDRBs_FailedToBeSetup_Item */
static int hf_f1ap_SLDRBs_FailedToBeSetupMod_Item_PDU;  /* SLDRBs_FailedToBeSetupMod_Item */
static int hf_f1ap_SLDRBs_Modified_Item_PDU;      /* SLDRBs_Modified_Item */
static int hf_f1ap_SLDRBs_ModifiedConf_Item_PDU;  /* SLDRBs_ModifiedConf_Item */
static int hf_f1ap_SLDRBs_Required_ToBeModified_Item_PDU;  /* SLDRBs_Required_ToBeModified_Item */
static int hf_f1ap_SLDRBs_Required_ToBeReleased_Item_PDU;  /* SLDRBs_Required_ToBeReleased_Item */
static int hf_f1ap_SLDRBs_Setup_Item_PDU;         /* SLDRBs_Setup_Item */
static int hf_f1ap_SLDRBs_SetupMod_Item_PDU;      /* SLDRBs_SetupMod_Item */
static int hf_f1ap_SLDRBs_ToBeModified_Item_PDU;  /* SLDRBs_ToBeModified_Item */
static int hf_f1ap_SLDRBs_ToBeReleased_Item_PDU;  /* SLDRBs_ToBeReleased_Item */
static int hf_f1ap_SLDRBs_ToBeSetup_Item_PDU;     /* SLDRBs_ToBeSetup_Item */
static int hf_f1ap_SLDRBs_ToBeSetupMod_Item_PDU;  /* SLDRBs_ToBeSetupMod_Item */
static int hf_f1ap_SLDRXCycleList_PDU;            /* SLDRXCycleList */
static int hf_f1ap_SL_PHY_MAC_RLC_Config_PDU;     /* SL_PHY_MAC_RLC_Config */
static int hf_f1ap_SL_PHY_MAC_RLC_ConfigExt_PDU;  /* SL_PHY_MAC_RLC_ConfigExt */
static int hf_f1ap_SL_RLC_ChannelToAddModList_PDU;  /* SL_RLC_ChannelToAddModList */
static int hf_f1ap_SL_ConfigDedicatedEUTRA_Info_PDU;  /* SL_ConfigDedicatedEUTRA_Info */
static int hf_f1ap_SliceRadioResourceStatus_PDU;  /* SliceRadioResourceStatus */
static int hf_f1ap_SliceSupportList_PDU;          /* SliceSupportList */
static int hf_f1ap_SlotNumber_PDU;                /* SlotNumber */
static int hf_f1ap_SLPositioning_Ranging_Service_Info_PDU;  /* SLPositioning_Ranging_Service_Info */
static int hf_f1ap_SNSSAI_PDU;                    /* SNSSAI */
static int hf_f1ap_SpatialRelationPerSRSResource_PDU;  /* SpatialRelationPerSRSResource */
static int hf_f1ap_SRBID_PDU;                     /* SRBID */
static int hf_f1ap_SRBs_FailedToBeSetup_Item_PDU;  /* SRBs_FailedToBeSetup_Item */
static int hf_f1ap_SRBs_FailedToBeSetupMod_Item_PDU;  /* SRBs_FailedToBeSetupMod_Item */
static int hf_f1ap_SRBs_Modified_Item_PDU;        /* SRBs_Modified_Item */
static int hf_f1ap_SRBs_Required_ToBeReleased_Item_PDU;  /* SRBs_Required_ToBeReleased_Item */
static int hf_f1ap_SRBs_Setup_Item_PDU;           /* SRBs_Setup_Item */
static int hf_f1ap_SRBs_SetupMod_Item_PDU;        /* SRBs_SetupMod_Item */
static int hf_f1ap_SRBs_ToBeReleased_Item_PDU;    /* SRBs_ToBeReleased_Item */
static int hf_f1ap_SRBs_ToBeSetup_Item_PDU;       /* SRBs_ToBeSetup_Item */
static int hf_f1ap_SRBs_ToBeSetupMod_Item_PDU;    /* SRBs_ToBeSetupMod_Item */
static int hf_f1ap_SRSConfiguration_PDU;          /* SRSConfiguration */
static int hf_f1ap_SrsFrequency_PDU;              /* SrsFrequency */
static int hf_f1ap_SRSPortIndex_PDU;              /* SRSPortIndex */
static int hf_f1ap_SRSPreconfiguration_List_PDU;  /* SRSPreconfiguration_List */
static int hf_f1ap_SRSResourcetype_PDU;           /* SRSResourcetype */
static int hf_f1ap_SRSPosRRCInactiveConfig_PDU;   /* SRSPosRRCInactiveConfig */
static int hf_f1ap_SRSPosRRCInactiveValidityAreaConfig_PDU;  /* SRSPosRRCInactiveValidityAreaConfig */
static int hf_f1ap_SRSPosRRCInactiveQueryIndication_PDU;  /* SRSPosRRCInactiveQueryIndication */
static int hf_f1ap_SRSReservationType_PDU;        /* SRSReservationType */
static int hf_f1ap_SSB_PositionsInBurst_PDU;      /* SSB_PositionsInBurst */
static int hf_f1ap_SSBs_toBeActivated_List_PDU;   /* SSBs_toBeActivated_List */
static int hf_f1ap_StartRBIndex_PDU;              /* StartRBIndex */
static int hf_f1ap_StartRBHopping_PDU;            /* StartRBHopping */
static int hf_f1ap_SuccessfulHOReportInformationList_PDU;  /* SuccessfulHOReportInformationList */
static int hf_f1ap_SuccessfulPSCellChangeReportInformationList_PDU;  /* SuccessfulPSCellChangeReportInformationList */
static int hf_f1ap_SULAccessIndication_PDU;       /* SULAccessIndication */
static int hf_f1ap_SupportedUETypeList_PDU;       /* SupportedUETypeList */
static int hf_f1ap_SurvivalTime_PDU;              /* SurvivalTime */
static int hf_f1ap_SymbolIndex_PDU;               /* SymbolIndex */
static int hf_f1ap_SystemFrameNumber_PDU;         /* SystemFrameNumber */
static int hf_f1ap_SystemInformationAreaID_PDU;   /* SystemInformationAreaID */
static int hf_f1ap_TargetCellList_PDU;            /* TargetCellList */
static int hf_f1ap_NSAGSupportList_PDU;           /* NSAGSupportList */
static int hf_f1ap_TDD_UL_DLConfigCommonNR_PDU;   /* TDD_UL_DLConfigCommonNR */
static int hf_f1ap_TRPTEGInformation_PDU;         /* TRPTEGInformation */
static int hf_f1ap_TimeReferenceInformation_PDU;  /* TimeReferenceInformation */
static int hf_f1ap_TimeToWait_PDU;                /* TimeToWait */
static int hf_f1ap_TimingReportingGranularityFactorExtended_PDU;  /* TimingReportingGranularityFactorExtended */
static int hf_f1ap_TimeWindowInformation_Measurement_List_PDU;  /* TimeWindowInformation_Measurement_List */
static int hf_f1ap_TimeWindowInformation_SRS_List_PDU;  /* TimeWindowInformation_SRS_List */
static int hf_f1ap_TNLCapacityIndicator_PDU;      /* TNLCapacityIndicator */
static int hf_f1ap_TraceActivation_PDU;           /* TraceActivation */
static int hf_f1ap_TraceID_PDU;                   /* TraceID */
static int hf_f1ap_TrafficMappingInfo_PDU;        /* TrafficMappingInfo */
static int hf_f1ap_TransportLayerAddress_PDU;     /* TransportLayerAddress */
static int hf_f1ap_TransactionID_PDU;             /* TransactionID */
static int hf_f1ap_Transmission_Bandwidth_PDU;    /* Transmission_Bandwidth */
static int hf_f1ap_TransmissionCombn8_PDU;        /* TransmissionCombn8 */
static int hf_f1ap_TransmissionStopIndicator_PDU;  /* TransmissionStopIndicator */
static int hf_f1ap_TransmissionActionIndicator_PDU;  /* TransmissionActionIndicator */
static int hf_f1ap_TRPBeamAntennaInformation_PDU;  /* TRPBeamAntennaInformation */
static int hf_f1ap_TRPInformationItem_PDU;        /* TRPInformationItem */
static int hf_f1ap_TRPInformationTypeItem_PDU;    /* TRPInformationTypeItem */
static int hf_f1ap_TRPList_PDU;                   /* TRPList */
static int hf_f1ap_PhaseQuality_PDU;              /* PhaseQuality */
static int hf_f1ap_TRP_MeasurementRequestList_PDU;  /* TRP_MeasurementRequestList */
static int hf_f1ap_TRP_PRS_Info_List_PDU;         /* TRP_PRS_Info_List */
static int hf_f1ap_TRP_Rx_TEGInformation_PDU;     /* TRP_Rx_TEGInformation */
static int hf_f1ap_TRPTxTEGAssociation_PDU;       /* TRPTxTEGAssociation */
static int hf_f1ap_Transport_Layer_Address_Info_PDU;  /* Transport_Layer_Address_Info */
static int hf_f1ap_TRPType_PDU;                   /* TRPType */
static int hf_f1ap_TSCTrafficCharacteristics_PDU;  /* TSCTrafficCharacteristics */
static int hf_f1ap_TSCTrafficCharacteristicsFeedback_PDU;  /* TSCTrafficCharacteristicsFeedback */
static int hf_f1ap_TRP_MeasurementUpdateList_PDU;  /* TRP_MeasurementUpdateList */
static int hf_f1ap_TwoPHRModeMCG_PDU;             /* TwoPHRModeMCG */
static int hf_f1ap_TwoPHRModeSCG_PDU;             /* TwoPHRModeSCG */
static int hf_f1ap_TxHoppingConfiguration_PDU;    /* TxHoppingConfiguration */
static int hf_f1ap_TAInformation_List_PDU;        /* TAInformation_List */
static int hf_f1ap_UAC_Assistance_Info_PDU;       /* UAC_Assistance_Info */
static int hf_f1ap_UE_associatedLogicalF1_ConnectionItem_PDU;  /* UE_associatedLogicalF1_ConnectionItem */
static int hf_f1ap_UEAssistanceInformation_PDU;   /* UEAssistanceInformation */
static int hf_f1ap_UEAssistanceInformationEUTRA_PDU;  /* UEAssistanceInformationEUTRA */
static int hf_f1ap_UEContextNotRetrievable_PDU;   /* UEContextNotRetrievable */
static int hf_f1ap_UEIdentityIndexValue_PDU;      /* UEIdentityIndexValue */
static int hf_f1ap_UEIdentity_List_For_Paging_Item_PDU;  /* UEIdentity_List_For_Paging_Item */
static int hf_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_Item_PDU;  /* UE_MulticastMRBs_ConfirmedToBeModified_Item */
static int hf_f1ap_UE_MulticastMRBs_RequiredToBeModified_Item_PDU;  /* UE_MulticastMRBs_RequiredToBeModified_Item */
static int hf_f1ap_UE_MulticastMRBs_RequiredToBeReleased_Item_PDU;  /* UE_MulticastMRBs_RequiredToBeReleased_Item */
static int hf_f1ap_UE_MulticastMRBs_Setup_Item_PDU;  /* UE_MulticastMRBs_Setup_Item */
static int hf_f1ap_UE_MulticastMRBs_Setupnew_Item_PDU;  /* UE_MulticastMRBs_Setupnew_Item */
static int hf_f1ap_UE_MulticastMRBs_ToBeReleased_Item_PDU;  /* UE_MulticastMRBs_ToBeReleased_Item */
static int hf_f1ap_UE_MulticastMRBs_ToBeSetup_Item_PDU;  /* UE_MulticastMRBs_ToBeSetup_Item */
static int hf_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_Item_PDU;  /* UE_MulticastMRBs_ToBeSetup_atModify_Item */
static int hf_f1ap_UEPagingCapability_PDU;        /* UEPagingCapability */
static int hf_f1ap_UEReportingInformation_PDU;    /* UEReportingInformation */
static int hf_f1ap_UlTxDirectCurrentMoreCarrierInformation_PDU;  /* UlTxDirectCurrentMoreCarrierInformation */
static int hf_f1ap_UL_BH_Non_UP_Traffic_Mapping_PDU;  /* UL_BH_Non_UP_Traffic_Mapping */
static int hf_f1ap_UL_GapFR2_Config_PDU;          /* UL_GapFR2_Config */
static int hf_f1ap_UL_SRS_RSRPP_PDU;              /* UL_SRS_RSRPP */
static int hf_f1ap_UL_RSCP_PDU;                   /* UL_RSCP */
static int hf_f1ap_UL_UP_TNL_Information_to_Update_List_Item_PDU;  /* UL_UP_TNL_Information_to_Update_List_Item */
static int hf_f1ap_UL_UP_TNL_Address_to_Update_List_Item_PDU;  /* UL_UP_TNL_Address_to_Update_List_Item */
static int hf_f1ap_UplinkTxDirectCurrentListInformation_PDU;  /* UplinkTxDirectCurrentListInformation */
static int hf_f1ap_UplinkTxDirectCurrentTwoCarrierListInfo_PDU;  /* UplinkTxDirectCurrentTwoCarrierListInfo */
static int hf_f1ap_URI_address_PDU;               /* URI_address */
static int hf_f1ap_UuRLCChannelID_PDU;            /* UuRLCChannelID */
static int hf_f1ap_UuRLCChannelToBeSetupList_PDU;  /* UuRLCChannelToBeSetupList */
static int hf_f1ap_UuRLCChannelToBeModifiedList_PDU;  /* UuRLCChannelToBeModifiedList */
static int hf_f1ap_UuRLCChannelToBeReleasedList_PDU;  /* UuRLCChannelToBeReleasedList */
static int hf_f1ap_UuRLCChannelSetupList_PDU;     /* UuRLCChannelSetupList */
static int hf_f1ap_UuRLCChannelFailedToBeSetupList_PDU;  /* UuRLCChannelFailedToBeSetupList */
static int hf_f1ap_UuRLCChannelModifiedList_PDU;  /* UuRLCChannelModifiedList */
static int hf_f1ap_UuRLCChannelFailedToBeModifiedList_PDU;  /* UuRLCChannelFailedToBeModifiedList */
static int hf_f1ap_UuRLCChannelRequiredToBeModifiedList_PDU;  /* UuRLCChannelRequiredToBeModifiedList */
static int hf_f1ap_UuRLCChannelRequiredToBeReleasedList_PDU;  /* UuRLCChannelRequiredToBeReleasedList */
static int hf_f1ap_VictimgNBSetID_PDU;            /* VictimgNBSetID */
static int hf_f1ap_ValidityAreaSpecificSRSInformation_PDU;  /* ValidityAreaSpecificSRSInformation */
static int hf_f1ap_XR_Bcast_Information_PDU;      /* XR_Bcast_Information */
static int hf_f1ap_ZoAInformation_PDU;            /* ZoAInformation */
static int hf_f1ap_Reset_PDU;                     /* Reset */
static int hf_f1ap_ResetType_PDU;                 /* ResetType */
static int hf_f1ap_ResetAcknowledge_PDU;          /* ResetAcknowledge */
static int hf_f1ap_UE_associatedLogicalF1_ConnectionListResAck_PDU;  /* UE_associatedLogicalF1_ConnectionListResAck */
static int hf_f1ap_ErrorIndication_PDU;           /* ErrorIndication */
static int hf_f1ap_F1SetupRequest_PDU;            /* F1SetupRequest */
static int hf_f1ap_GNB_DU_Served_Cells_List_PDU;  /* GNB_DU_Served_Cells_List */
static int hf_f1ap_F1SetupResponse_PDU;           /* F1SetupResponse */
static int hf_f1ap_Cells_to_be_Activated_List_PDU;  /* Cells_to_be_Activated_List */
static int hf_f1ap_NCGI_to_be_Updated_List_PDU;   /* NCGI_to_be_Updated_List */
static int hf_f1ap_F1SetupFailure_PDU;            /* F1SetupFailure */
static int hf_f1ap_GNBDUConfigurationUpdate_PDU;  /* GNBDUConfigurationUpdate */
static int hf_f1ap_Served_Cells_To_Add_List_PDU;  /* Served_Cells_To_Add_List */
static int hf_f1ap_Served_Cells_To_Modify_List_PDU;  /* Served_Cells_To_Modify_List */
static int hf_f1ap_Served_Cells_To_Delete_List_PDU;  /* Served_Cells_To_Delete_List */
static int hf_f1ap_Cells_Status_List_PDU;         /* Cells_Status_List */
static int hf_f1ap_Dedicated_SIDelivery_NeededUE_List_PDU;  /* Dedicated_SIDelivery_NeededUE_List */
static int hf_f1ap_GNB_DU_TNL_Association_To_Remove_List_PDU;  /* GNB_DU_TNL_Association_To_Remove_List */
static int hf_f1ap_GNBDUConfigurationUpdateAcknowledge_PDU;  /* GNBDUConfigurationUpdateAcknowledge */
static int hf_f1ap_GNBDUConfigurationUpdateFailure_PDU;  /* GNBDUConfigurationUpdateFailure */
static int hf_f1ap_GNBCUConfigurationUpdate_PDU;  /* GNBCUConfigurationUpdate */
static int hf_f1ap_Cells_to_be_Deactivated_List_PDU;  /* Cells_to_be_Deactivated_List */
static int hf_f1ap_GNB_CU_TNL_Association_To_Add_List_PDU;  /* GNB_CU_TNL_Association_To_Add_List */
static int hf_f1ap_GNB_CU_TNL_Association_To_Remove_List_PDU;  /* GNB_CU_TNL_Association_To_Remove_List */
static int hf_f1ap_GNB_CU_TNL_Association_To_Update_List_PDU;  /* GNB_CU_TNL_Association_To_Update_List */
static int hf_f1ap_Cells_to_be_Barred_List_PDU;   /* Cells_to_be_Barred_List */
static int hf_f1ap_Cells_Allowed_to_be_Deactivated_List_PDU;  /* Cells_Allowed_to_be_Deactivated_List */
static int hf_f1ap_Protected_EUTRA_Resources_List_PDU;  /* Protected_EUTRA_Resources_List */
static int hf_f1ap_Neighbour_Cell_Information_List_PDU;  /* Neighbour_Cell_Information_List */
static int hf_f1ap_GNBCUConfigurationUpdateAcknowledge_PDU;  /* GNBCUConfigurationUpdateAcknowledge */
static int hf_f1ap_Cells_Failed_to_be_Activated_List_PDU;  /* Cells_Failed_to_be_Activated_List */
static int hf_f1ap_GNB_CU_TNL_Association_Setup_List_PDU;  /* GNB_CU_TNL_Association_Setup_List */
static int hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List_PDU;  /* GNB_CU_TNL_Association_Failed_To_Setup_List */
static int hf_f1ap_GNBCUConfigurationUpdateFailure_PDU;  /* GNBCUConfigurationUpdateFailure */
static int hf_f1ap_GNBDUResourceCoordinationRequest_PDU;  /* GNBDUResourceCoordinationRequest */
static int hf_f1ap_GNBDUResourceCoordinationResponse_PDU;  /* GNBDUResourceCoordinationResponse */
static int hf_f1ap_UEContextSetupRequest_PDU;     /* UEContextSetupRequest */
static int hf_f1ap_Candidate_SpCell_List_PDU;     /* Candidate_SpCell_List */
static int hf_f1ap_SCell_ToBeSetup_List_PDU;      /* SCell_ToBeSetup_List */
static int hf_f1ap_SRBs_ToBeSetup_List_PDU;       /* SRBs_ToBeSetup_List */
static int hf_f1ap_DRBs_ToBeSetup_List_PDU;       /* DRBs_ToBeSetup_List */
static int hf_f1ap_BHChannels_ToBeSetup_List_PDU;  /* BHChannels_ToBeSetup_List */
static int hf_f1ap_SLDRBs_ToBeSetup_List_PDU;     /* SLDRBs_ToBeSetup_List */
static int hf_f1ap_UE_MulticastMRBs_ToBeSetup_List_PDU;  /* UE_MulticastMRBs_ToBeSetup_List */
static int hf_f1ap_ServingCellMO_List_PDU;        /* ServingCellMO_List */
static int hf_f1ap_UEContextSetupResponse_PDU;    /* UEContextSetupResponse */
static int hf_f1ap_DRBs_Setup_List_PDU;           /* DRBs_Setup_List */
static int hf_f1ap_SRBs_FailedToBeSetup_List_PDU;  /* SRBs_FailedToBeSetup_List */
static int hf_f1ap_DRBs_FailedToBeSetup_List_PDU;  /* DRBs_FailedToBeSetup_List */
static int hf_f1ap_SCell_FailedtoSetup_List_PDU;  /* SCell_FailedtoSetup_List */
static int hf_f1ap_SRBs_Setup_List_PDU;           /* SRBs_Setup_List */
static int hf_f1ap_BHChannels_Setup_List_PDU;     /* BHChannels_Setup_List */
static int hf_f1ap_BHChannels_FailedToBeSetup_List_PDU;  /* BHChannels_FailedToBeSetup_List */
static int hf_f1ap_SLDRBs_Setup_List_PDU;         /* SLDRBs_Setup_List */
static int hf_f1ap_SLDRBs_FailedToBeSetup_List_PDU;  /* SLDRBs_FailedToBeSetup_List */
static int hf_f1ap_UE_MulticastMRBs_Setupnew_List_PDU;  /* UE_MulticastMRBs_Setupnew_List */
static int hf_f1ap_UEContextSetupFailure_PDU;     /* UEContextSetupFailure */
static int hf_f1ap_Potential_SpCell_List_PDU;     /* Potential_SpCell_List */
static int hf_f1ap_UEContextReleaseRequest_PDU;   /* UEContextReleaseRequest */
static int hf_f1ap_UEContextReleaseCommand_PDU;   /* UEContextReleaseCommand */
static int hf_f1ap_UEContextReleaseComplete_PDU;  /* UEContextReleaseComplete */
static int hf_f1ap_UEContextModificationRequest_PDU;  /* UEContextModificationRequest */
static int hf_f1ap_SCell_ToBeSetupMod_List_PDU;   /* SCell_ToBeSetupMod_List */
static int hf_f1ap_SCell_ToBeRemoved_List_PDU;    /* SCell_ToBeRemoved_List */
static int hf_f1ap_SRBs_ToBeSetupMod_List_PDU;    /* SRBs_ToBeSetupMod_List */
static int hf_f1ap_DRBs_ToBeSetupMod_List_PDU;    /* DRBs_ToBeSetupMod_List */
static int hf_f1ap_BHChannels_ToBeSetupMod_List_PDU;  /* BHChannels_ToBeSetupMod_List */
static int hf_f1ap_DRBs_ToBeModified_List_PDU;    /* DRBs_ToBeModified_List */
static int hf_f1ap_BHChannels_ToBeModified_List_PDU;  /* BHChannels_ToBeModified_List */
static int hf_f1ap_SRBs_ToBeReleased_List_PDU;    /* SRBs_ToBeReleased_List */
static int hf_f1ap_DRBs_ToBeReleased_List_PDU;    /* DRBs_ToBeReleased_List */
static int hf_f1ap_BHChannels_ToBeReleased_List_PDU;  /* BHChannels_ToBeReleased_List */
static int hf_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_List_PDU;  /* UE_MulticastMRBs_ToBeSetup_atModify_List */
static int hf_f1ap_UE_MulticastMRBs_ToBeReleased_List_PDU;  /* UE_MulticastMRBs_ToBeReleased_List */
static int hf_f1ap_SLDRBs_ToBeSetupMod_List_PDU;  /* SLDRBs_ToBeSetupMod_List */
static int hf_f1ap_SLDRBs_ToBeModified_List_PDU;  /* SLDRBs_ToBeModified_List */
static int hf_f1ap_SLDRBs_ToBeReleased_List_PDU;  /* SLDRBs_ToBeReleased_List */
static int hf_f1ap_UEContextModificationResponse_PDU;  /* UEContextModificationResponse */
static int hf_f1ap_DRBs_SetupMod_List_PDU;        /* DRBs_SetupMod_List */
static int hf_f1ap_DRBs_Modified_List_PDU;        /* DRBs_Modified_List */
static int hf_f1ap_SRBs_SetupMod_List_PDU;        /* SRBs_SetupMod_List */
static int hf_f1ap_SRBs_Modified_List_PDU;        /* SRBs_Modified_List */
static int hf_f1ap_DRBs_FailedToBeModified_List_PDU;  /* DRBs_FailedToBeModified_List */
static int hf_f1ap_SRBs_FailedToBeSetupMod_List_PDU;  /* SRBs_FailedToBeSetupMod_List */
static int hf_f1ap_DRBs_FailedToBeSetupMod_List_PDU;  /* DRBs_FailedToBeSetupMod_List */
static int hf_f1ap_SCell_FailedtoSetupMod_List_PDU;  /* SCell_FailedtoSetupMod_List */
static int hf_f1ap_BHChannels_SetupMod_List_PDU;  /* BHChannels_SetupMod_List */
static int hf_f1ap_BHChannels_Modified_List_PDU;  /* BHChannels_Modified_List */
static int hf_f1ap_BHChannels_FailedToBeModified_List_PDU;  /* BHChannels_FailedToBeModified_List */
static int hf_f1ap_BHChannels_FailedToBeSetupMod_List_PDU;  /* BHChannels_FailedToBeSetupMod_List */
static int hf_f1ap_Associated_SCell_List_PDU;     /* Associated_SCell_List */
static int hf_f1ap_SLDRBs_SetupMod_List_PDU;      /* SLDRBs_SetupMod_List */
static int hf_f1ap_SLDRBs_Modified_List_PDU;      /* SLDRBs_Modified_List */
static int hf_f1ap_SLDRBs_FailedToBeModified_List_PDU;  /* SLDRBs_FailedToBeModified_List */
static int hf_f1ap_SLDRBs_FailedToBeSetupMod_List_PDU;  /* SLDRBs_FailedToBeSetupMod_List */
static int hf_f1ap_UE_MulticastMRBs_Setup_List_PDU;  /* UE_MulticastMRBs_Setup_List */
static int hf_f1ap_UEContextModificationFailure_PDU;  /* UEContextModificationFailure */
static int hf_f1ap_UEContextModificationRequired_PDU;  /* UEContextModificationRequired */
static int hf_f1ap_DRBs_Required_ToBeModified_List_PDU;  /* DRBs_Required_ToBeModified_List */
static int hf_f1ap_DRBs_Required_ToBeReleased_List_PDU;  /* DRBs_Required_ToBeReleased_List */
static int hf_f1ap_SRBs_Required_ToBeReleased_List_PDU;  /* SRBs_Required_ToBeReleased_List */
static int hf_f1ap_BHChannels_Required_ToBeReleased_List_PDU;  /* BHChannels_Required_ToBeReleased_List */
static int hf_f1ap_SLDRBs_Required_ToBeModified_List_PDU;  /* SLDRBs_Required_ToBeModified_List */
static int hf_f1ap_SLDRBs_Required_ToBeReleased_List_PDU;  /* SLDRBs_Required_ToBeReleased_List */
static int hf_f1ap_UE_MulticastMRBs_RequiredToBeModified_List_PDU;  /* UE_MulticastMRBs_RequiredToBeModified_List */
static int hf_f1ap_UE_MulticastMRBs_RequiredToBeReleased_List_PDU;  /* UE_MulticastMRBs_RequiredToBeReleased_List */
static int hf_f1ap_UEContextModificationConfirm_PDU;  /* UEContextModificationConfirm */
static int hf_f1ap_DRBs_ModifiedConf_List_PDU;    /* DRBs_ModifiedConf_List */
static int hf_f1ap_SLDRBs_ModifiedConf_List_PDU;  /* SLDRBs_ModifiedConf_List */
static int hf_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_List_PDU;  /* UE_MulticastMRBs_ConfirmedToBeModified_List */
static int hf_f1ap_UEContextModificationRefuse_PDU;  /* UEContextModificationRefuse */
static int hf_f1ap_WriteReplaceWarningRequest_PDU;  /* WriteReplaceWarningRequest */
static int hf_f1ap_Cells_To_Be_Broadcast_List_PDU;  /* Cells_To_Be_Broadcast_List */
static int hf_f1ap_WriteReplaceWarningResponse_PDU;  /* WriteReplaceWarningResponse */
static int hf_f1ap_Cells_Broadcast_Completed_List_PDU;  /* Cells_Broadcast_Completed_List */
static int hf_f1ap_PWSCancelRequest_PDU;          /* PWSCancelRequest */
static int hf_f1ap_Broadcast_To_Be_Cancelled_List_PDU;  /* Broadcast_To_Be_Cancelled_List */
static int hf_f1ap_PWSCancelResponse_PDU;         /* PWSCancelResponse */
static int hf_f1ap_Cells_Broadcast_Cancelled_List_PDU;  /* Cells_Broadcast_Cancelled_List */
static int hf_f1ap_UEInactivityNotification_PDU;  /* UEInactivityNotification */
static int hf_f1ap_DRB_Activity_List_PDU;         /* DRB_Activity_List */
static int hf_f1ap_InitialULRRCMessageTransfer_PDU;  /* InitialULRRCMessageTransfer */
static int hf_f1ap_DLRRCMessageTransfer_PDU;      /* DLRRCMessageTransfer */
static int hf_f1ap_RedirectedRRCmessage_PDU;      /* RedirectedRRCmessage */
static int hf_f1ap_ULRRCMessageTransfer_PDU;      /* ULRRCMessageTransfer */
static int hf_f1ap_PrivateMessage_PDU;            /* PrivateMessage */
static int hf_f1ap_SystemInformationDeliveryCommand_PDU;  /* SystemInformationDeliveryCommand */
static int hf_f1ap_Paging_PDU;                    /* Paging */
static int hf_f1ap_PagingCell_list_PDU;           /* PagingCell_list */
static int hf_f1ap_Notify_PDU;                    /* Notify */
static int hf_f1ap_DRB_Notify_List_PDU;           /* DRB_Notify_List */
static int hf_f1ap_NetworkAccessRateReduction_PDU;  /* NetworkAccessRateReduction */
static int hf_f1ap_PWSRestartIndication_PDU;      /* PWSRestartIndication */
static int hf_f1ap_NR_CGI_List_For_Restart_List_PDU;  /* NR_CGI_List_For_Restart_List */
static int hf_f1ap_PWSFailureIndication_PDU;      /* PWSFailureIndication */
static int hf_f1ap_PWS_Failed_NR_CGI_List_PDU;    /* PWS_Failed_NR_CGI_List */
static int hf_f1ap_GNBDUStatusIndication_PDU;     /* GNBDUStatusIndication */
static int hf_f1ap_RRCDeliveryReport_PDU;         /* RRCDeliveryReport */
static int hf_f1ap_F1RemovalRequest_PDU;          /* F1RemovalRequest */
static int hf_f1ap_F1RemovalResponse_PDU;         /* F1RemovalResponse */
static int hf_f1ap_F1RemovalFailure_PDU;          /* F1RemovalFailure */
static int hf_f1ap_TraceStart_PDU;                /* TraceStart */
static int hf_f1ap_DeactivateTrace_PDU;           /* DeactivateTrace */
static int hf_f1ap_CellTrafficTrace_PDU;          /* CellTrafficTrace */
static int hf_f1ap_DUCURadioInformationTransfer_PDU;  /* DUCURadioInformationTransfer */
static int hf_f1ap_CUDURadioInformationTransfer_PDU;  /* CUDURadioInformationTransfer */
static int hf_f1ap_BAPMappingConfiguration_PDU;   /* BAPMappingConfiguration */
static int hf_f1ap_BH_Routing_Information_Added_List_PDU;  /* BH_Routing_Information_Added_List */
static int hf_f1ap_BH_Routing_Information_Removed_List_PDU;  /* BH_Routing_Information_Removed_List */
static int hf_f1ap_BAP_Header_Rewriting_Added_List_PDU;  /* BAP_Header_Rewriting_Added_List */
static int hf_f1ap_BAP_Header_Rewriting_Removed_List_PDU;  /* BAP_Header_Rewriting_Removed_List */
static int hf_f1ap_BAPMappingConfigurationAcknowledge_PDU;  /* BAPMappingConfigurationAcknowledge */
static int hf_f1ap_BAPMappingConfigurationFailure_PDU;  /* BAPMappingConfigurationFailure */
static int hf_f1ap_GNBDUResourceConfiguration_PDU;  /* GNBDUResourceConfiguration */
static int hf_f1ap_GNBDUResourceConfigurationAcknowledge_PDU;  /* GNBDUResourceConfigurationAcknowledge */
static int hf_f1ap_GNBDUResourceConfigurationFailure_PDU;  /* GNBDUResourceConfigurationFailure */
static int hf_f1ap_IABTNLAddressRequest_PDU;      /* IABTNLAddressRequest */
static int hf_f1ap_IAB_TNL_Addresses_To_Remove_List_PDU;  /* IAB_TNL_Addresses_To_Remove_List */
static int hf_f1ap_IABTNLAddressResponse_PDU;     /* IABTNLAddressResponse */
static int hf_f1ap_IAB_Allocated_TNL_Address_List_PDU;  /* IAB_Allocated_TNL_Address_List */
static int hf_f1ap_IABTNLAddressFailure_PDU;      /* IABTNLAddressFailure */
static int hf_f1ap_IABUPConfigurationUpdateRequest_PDU;  /* IABUPConfigurationUpdateRequest */
static int hf_f1ap_UL_UP_TNL_Information_to_Update_List_PDU;  /* UL_UP_TNL_Information_to_Update_List */
static int hf_f1ap_UL_UP_TNL_Address_to_Update_List_PDU;  /* UL_UP_TNL_Address_to_Update_List */
static int hf_f1ap_IABUPConfigurationUpdateResponse_PDU;  /* IABUPConfigurationUpdateResponse */
static int hf_f1ap_DL_UP_TNL_Address_to_Update_List_PDU;  /* DL_UP_TNL_Address_to_Update_List */
static int hf_f1ap_IABUPConfigurationUpdateFailure_PDU;  /* IABUPConfigurationUpdateFailure */
static int hf_f1ap_MIABF1SetupTriggering_PDU;     /* MIABF1SetupTriggering */
static int hf_f1ap_MIABF1SetupOutcomeNotification_PDU;  /* MIABF1SetupOutcomeNotification */
static int hf_f1ap_F1SetupOutcome_PDU;            /* F1SetupOutcome */
static int hf_f1ap_Activated_Cells_Mapping_List_PDU;  /* Activated_Cells_Mapping_List */
static int hf_f1ap_ResourceStatusRequest_PDU;     /* ResourceStatusRequest */
static int hf_f1ap_ResourceStatusResponse_PDU;    /* ResourceStatusResponse */
static int hf_f1ap_ResourceStatusFailure_PDU;     /* ResourceStatusFailure */
static int hf_f1ap_ResourceStatusUpdate_PDU;      /* ResourceStatusUpdate */
static int hf_f1ap_AccessAndMobilityIndication_PDU;  /* AccessAndMobilityIndication */
static int hf_f1ap_ReferenceTimeInformationReportingControl_PDU;  /* ReferenceTimeInformationReportingControl */
static int hf_f1ap_ReferenceTimeInformationReport_PDU;  /* ReferenceTimeInformationReport */
static int hf_f1ap_AccessSuccess_PDU;             /* AccessSuccess */
static int hf_f1ap_PositioningAssistanceInformationControl_PDU;  /* PositioningAssistanceInformationControl */
static int hf_f1ap_PositioningAssistanceInformationFeedback_PDU;  /* PositioningAssistanceInformationFeedback */
static int hf_f1ap_PositioningMeasurementRequest_PDU;  /* PositioningMeasurementRequest */
static int hf_f1ap_PositioningMeasurementResponse_PDU;  /* PositioningMeasurementResponse */
static int hf_f1ap_PositioningMeasurementFailure_PDU;  /* PositioningMeasurementFailure */
static int hf_f1ap_PositioningMeasurementReport_PDU;  /* PositioningMeasurementReport */
static int hf_f1ap_PositioningMeasurementAbort_PDU;  /* PositioningMeasurementAbort */
static int hf_f1ap_PositioningMeasurementFailureIndication_PDU;  /* PositioningMeasurementFailureIndication */
static int hf_f1ap_PositioningMeasurementUpdate_PDU;  /* PositioningMeasurementUpdate */
static int hf_f1ap_TRPInformationRequest_PDU;     /* TRPInformationRequest */
static int hf_f1ap_TRPInformationTypeListTRPReq_PDU;  /* TRPInformationTypeListTRPReq */
static int hf_f1ap_TRPInformationResponse_PDU;    /* TRPInformationResponse */
static int hf_f1ap_TRPInformationListTRPResp_PDU;  /* TRPInformationListTRPResp */
static int hf_f1ap_TRPInformationFailure_PDU;     /* TRPInformationFailure */
static int hf_f1ap_PositioningInformationRequest_PDU;  /* PositioningInformationRequest */
static int hf_f1ap_PositioningInformationResponse_PDU;  /* PositioningInformationResponse */
static int hf_f1ap_PositioningInformationFailure_PDU;  /* PositioningInformationFailure */
static int hf_f1ap_PositioningActivationRequest_PDU;  /* PositioningActivationRequest */
static int hf_f1ap_SRSType_PDU;                   /* SRSType */
static int hf_f1ap_PositioningActivationResponse_PDU;  /* PositioningActivationResponse */
static int hf_f1ap_PositioningActivationFailure_PDU;  /* PositioningActivationFailure */
static int hf_f1ap_PositioningDeactivation_PDU;   /* PositioningDeactivation */
static int hf_f1ap_PositioningInformationUpdate_PDU;  /* PositioningInformationUpdate */
static int hf_f1ap_SRSInformationReservationNotification_PDU;  /* SRSInformationReservationNotification */
static int hf_f1ap_E_CIDMeasurementInitiationRequest_PDU;  /* E_CIDMeasurementInitiationRequest */
static int hf_f1ap_E_CIDMeasurementInitiationResponse_PDU;  /* E_CIDMeasurementInitiationResponse */
static int hf_f1ap_E_CIDMeasurementInitiationFailure_PDU;  /* E_CIDMeasurementInitiationFailure */
static int hf_f1ap_E_CIDMeasurementFailureIndication_PDU;  /* E_CIDMeasurementFailureIndication */
static int hf_f1ap_E_CIDMeasurementReport_PDU;    /* E_CIDMeasurementReport */
static int hf_f1ap_E_CIDMeasurementTerminationCommand_PDU;  /* E_CIDMeasurementTerminationCommand */
static int hf_f1ap_BroadcastContextSetupRequest_PDU;  /* BroadcastContextSetupRequest */
static int hf_f1ap_BroadcastMRBs_ToBeSetup_List_PDU;  /* BroadcastMRBs_ToBeSetup_List */
static int hf_f1ap_BroadcastContextSetupResponse_PDU;  /* BroadcastContextSetupResponse */
static int hf_f1ap_BroadcastMRBs_Setup_List_PDU;  /* BroadcastMRBs_Setup_List */
static int hf_f1ap_BroadcastMRBs_FailedToBeSetup_List_PDU;  /* BroadcastMRBs_FailedToBeSetup_List */
static int hf_f1ap_BroadcastContextSetupFailure_PDU;  /* BroadcastContextSetupFailure */
static int hf_f1ap_BroadcastContextReleaseCommand_PDU;  /* BroadcastContextReleaseCommand */
static int hf_f1ap_BroadcastContextReleaseComplete_PDU;  /* BroadcastContextReleaseComplete */
static int hf_f1ap_BroadcastContextReleaseRequest_PDU;  /* BroadcastContextReleaseRequest */
static int hf_f1ap_BroadcastContextModificationRequest_PDU;  /* BroadcastContextModificationRequest */
static int hf_f1ap_BroadcastMRBs_ToBeSetupMod_List_PDU;  /* BroadcastMRBs_ToBeSetupMod_List */
static int hf_f1ap_BroadcastMRBs_ToBeModified_List_PDU;  /* BroadcastMRBs_ToBeModified_List */
static int hf_f1ap_BroadcastMRBs_ToBeReleased_List_PDU;  /* BroadcastMRBs_ToBeReleased_List */
static int hf_f1ap_BroadcastContextModificationResponse_PDU;  /* BroadcastContextModificationResponse */
static int hf_f1ap_BroadcastMRBs_SetupMod_List_PDU;  /* BroadcastMRBs_SetupMod_List */
static int hf_f1ap_BroadcastMRBs_FailedToBeSetupMod_List_PDU;  /* BroadcastMRBs_FailedToBeSetupMod_List */
static int hf_f1ap_BroadcastMRBs_Modified_List_PDU;  /* BroadcastMRBs_Modified_List */
static int hf_f1ap_BroadcastMRBs_FailedToBeModified_List_PDU;  /* BroadcastMRBs_FailedToBeModified_List */
static int hf_f1ap_BroadcastContextModificationFailure_PDU;  /* BroadcastContextModificationFailure */
static int hf_f1ap_BroadcastTransportResourceRequest_PDU;  /* BroadcastTransportResourceRequest */
static int hf_f1ap_Broadcast_MRBs_Transport_Request_List_PDU;  /* Broadcast_MRBs_Transport_Request_List */
static int hf_f1ap_MulticastGroupPaging_PDU;      /* MulticastGroupPaging */
static int hf_f1ap_UEIdentity_List_For_Paging_List_PDU;  /* UEIdentity_List_For_Paging_List */
static int hf_f1ap_MC_PagingCell_list_PDU;        /* MC_PagingCell_list */
static int hf_f1ap_MulticastContextSetupRequest_PDU;  /* MulticastContextSetupRequest */
static int hf_f1ap_MulticastMRBs_ToBeSetup_List_PDU;  /* MulticastMRBs_ToBeSetup_List */
static int hf_f1ap_MulticastContextSetupResponse_PDU;  /* MulticastContextSetupResponse */
static int hf_f1ap_MulticastMRBs_Setup_List_PDU;  /* MulticastMRBs_Setup_List */
static int hf_f1ap_MulticastMRBs_FailedToBeSetup_List_PDU;  /* MulticastMRBs_FailedToBeSetup_List */
static int hf_f1ap_MulticastContextSetupFailure_PDU;  /* MulticastContextSetupFailure */
static int hf_f1ap_MulticastContextReleaseCommand_PDU;  /* MulticastContextReleaseCommand */
static int hf_f1ap_MulticastContextReleaseComplete_PDU;  /* MulticastContextReleaseComplete */
static int hf_f1ap_MulticastContextReleaseRequest_PDU;  /* MulticastContextReleaseRequest */
static int hf_f1ap_MulticastContextModificationRequest_PDU;  /* MulticastContextModificationRequest */
static int hf_f1ap_MulticastMRBs_ToBeSetupMod_List_PDU;  /* MulticastMRBs_ToBeSetupMod_List */
static int hf_f1ap_MulticastMRBs_ToBeModified_List_PDU;  /* MulticastMRBs_ToBeModified_List */
static int hf_f1ap_MulticastMRBs_ToBeReleased_List_PDU;  /* MulticastMRBs_ToBeReleased_List */
static int hf_f1ap_MulticastContextModificationResponse_PDU;  /* MulticastContextModificationResponse */
static int hf_f1ap_MulticastMRBs_SetupMod_List_PDU;  /* MulticastMRBs_SetupMod_List */
static int hf_f1ap_MulticastMRBs_FailedToBeSetupMod_List_PDU;  /* MulticastMRBs_FailedToBeSetupMod_List */
static int hf_f1ap_MulticastMRBs_Modified_List_PDU;  /* MulticastMRBs_Modified_List */
static int hf_f1ap_MulticastMRBs_FailedToBeModified_List_PDU;  /* MulticastMRBs_FailedToBeModified_List */
static int hf_f1ap_MulticastContextModificationFailure_PDU;  /* MulticastContextModificationFailure */
static int hf_f1ap_MulticastContextNotificationIndication_PDU;  /* MulticastContextNotificationIndication */
static int hf_f1ap_MulticastContextNotificationConfirm_PDU;  /* MulticastContextNotificationConfirm */
static int hf_f1ap_MulticastContextNotificationRefuse_PDU;  /* MulticastContextNotificationRefuse */
static int hf_f1ap_MulticastCommonConfigurationRequest_PDU;  /* MulticastCommonConfigurationRequest */
static int hf_f1ap_MulticastCommonConfigurationResponse_PDU;  /* MulticastCommonConfigurationResponse */
static int hf_f1ap_MulticastCommonConfigurationRefuse_PDU;  /* MulticastCommonConfigurationRefuse */
static int hf_f1ap_MulticastDistributionSetupRequest_PDU;  /* MulticastDistributionSetupRequest */
static int hf_f1ap_MulticastF1UContext_ToBeSetup_List_PDU;  /* MulticastF1UContext_ToBeSetup_List */
static int hf_f1ap_MulticastDistributionSetupResponse_PDU;  /* MulticastDistributionSetupResponse */
static int hf_f1ap_MulticastF1UContext_Setup_List_PDU;  /* MulticastF1UContext_Setup_List */
static int hf_f1ap_MulticastF1UContext_FailedToBeSetup_List_PDU;  /* MulticastF1UContext_FailedToBeSetup_List */
static int hf_f1ap_MulticastDistributionSetupFailure_PDU;  /* MulticastDistributionSetupFailure */
static int hf_f1ap_MulticastDistributionReleaseCommand_PDU;  /* MulticastDistributionReleaseCommand */
static int hf_f1ap_MulticastDistributionReleaseComplete_PDU;  /* MulticastDistributionReleaseComplete */
static int hf_f1ap_PDCMeasurementInitiationRequest_PDU;  /* PDCMeasurementInitiationRequest */
static int hf_f1ap_PDCMeasurementInitiationResponse_PDU;  /* PDCMeasurementInitiationResponse */
static int hf_f1ap_PDCMeasurementInitiationFailure_PDU;  /* PDCMeasurementInitiationFailure */
static int hf_f1ap_PDCMeasurementReport_PDU;      /* PDCMeasurementReport */
static int hf_f1ap_PDCMeasurementTerminationCommand_PDU;  /* PDCMeasurementTerminationCommand */
static int hf_f1ap_PDCMeasurementFailureIndication_PDU;  /* PDCMeasurementFailureIndication */
static int hf_f1ap_PRSConfigurationRequest_PDU;   /* PRSConfigurationRequest */
static int hf_f1ap_PRSConfigurationResponse_PDU;  /* PRSConfigurationResponse */
static int hf_f1ap_PRSConfigurationFailure_PDU;   /* PRSConfigurationFailure */
static int hf_f1ap_MeasurementPreconfigurationRequired_PDU;  /* MeasurementPreconfigurationRequired */
static int hf_f1ap_MeasurementPreconfigurationConfirm_PDU;  /* MeasurementPreconfigurationConfirm */
static int hf_f1ap_MeasurementPreconfigurationRefuse_PDU;  /* MeasurementPreconfigurationRefuse */
static int hf_f1ap_MeasurementActivation_PDU;     /* MeasurementActivation */
static int hf_f1ap_QoEInformationTransfer_PDU;    /* QoEInformationTransfer */
static int hf_f1ap_PosSystemInformationDeliveryCommand_PDU;  /* PosSystemInformationDeliveryCommand */
static int hf_f1ap_DUCUCellSwitchNotification_PDU;  /* DUCUCellSwitchNotification */
static int hf_f1ap_CUDUCellSwitchNotification_PDU;  /* CUDUCellSwitchNotification */
static int hf_f1ap_DUCUTAInformationTransfer_PDU;  /* DUCUTAInformationTransfer */
static int hf_f1ap_CUDUTAInformationTransfer_PDU;  /* CUDUTAInformationTransfer */
static int hf_f1ap_QoEInformationTransferControl_PDU;  /* QoEInformationTransferControl */
static int hf_f1ap_RachIndication_PDU;            /* RachIndication */
static int hf_f1ap_TimingSynchronisationStatusRequest_PDU;  /* TimingSynchronisationStatusRequest */
static int hf_f1ap_TimingSynchronisationStatusResponse_PDU;  /* TimingSynchronisationStatusResponse */
static int hf_f1ap_TimingSynchronisationStatusFailure_PDU;  /* TimingSynchronisationStatusFailure */
static int hf_f1ap_TimingSynchronisationStatusReport_PDU;  /* TimingSynchronisationStatusReport */
static int hf_f1ap_DUCUAccessAndMobilityIndication_PDU;  /* DUCUAccessAndMobilityIndication */
static int hf_f1ap_F1AP_PDU_PDU;                  /* F1AP_PDU */
static int hf_f1ap_local;                         /* INTEGER_0_65535 */
static int hf_f1ap_global;                        /* T_global */
static int hf_f1ap_ProtocolIE_Container_item;     /* ProtocolIE_Field */
static int hf_f1ap_id;                            /* ProtocolIE_ID */
static int hf_f1ap_criticality;                   /* Criticality */
static int hf_f1ap_ie_field_value;                /* T_ie_field_value */
static int hf_f1ap_ProtocolExtensionContainer_item;  /* ProtocolExtensionField */
static int hf_f1ap_ext_id;                        /* ProtocolExtensionID */
static int hf_f1ap_extensionValue;                /* T_extensionValue */
static int hf_f1ap_PrivateIE_Container_item;      /* PrivateIE_Field */
static int hf_f1ap_private_id;                    /* PrivateIE_ID */
static int hf_f1ap_value;                         /* T_value */
static int hf_f1ap_sRSResourceSetID;              /* SRSResourceSetID */
static int hf_f1ap_releaseALL;                    /* NULL */
static int hf_f1ap_choice_extension;              /* ProtocolIE_SingleContainer */
static int hf_f1ap_latitudeSign;                  /* T_latitudeSign */
static int hf_f1ap_latitude;                      /* INTEGER_0_8388607 */
static int hf_f1ap_longitude;                     /* INTEGER_M8388608_8388607 */
static int hf_f1ap_directionOfAltitude;           /* T_directionOfAltitude */
static int hf_f1ap_altitude;                      /* INTEGER_0_32767 */
static int hf_f1ap_uncertaintySemi_major;         /* INTEGER_0_127 */
static int hf_f1ap_uncertaintySemi_minor;         /* INTEGER_0_127 */
static int hf_f1ap_orientationOfMajorAxis;        /* INTEGER_0_179 */
static int hf_f1ap_uncertaintyAltitude;           /* INTEGER_0_127 */
static int hf_f1ap_confidence;                    /* INTEGER_0_100 */
static int hf_f1ap_iE_Extensions;                 /* ProtocolExtensionContainer */
static int hf_f1ap_nRCGIforTargetLogicalDU;       /* NRCGI */
static int hf_f1ap_nRCGIforSourceLogicalDU;       /* NRCGI */
static int hf_f1ap_Activated_Cells_to_be_Updated_List_item;  /* Activated_Cells_to_be_Updated_List_Item */
static int hf_f1ap_nRCGI;                         /* NRCGI */
static int hf_f1ap_iAB_DU_Cell_Resource_Configuration_Mode_Info;  /* IAB_DU_Cell_Resource_Configuration_Mode_Info */
static int hf_f1ap_locationAndBandwidth;          /* INTEGER_0_37949_ */
static int hf_f1ap_subcarrierSpacing;             /* T_subcarrierSpacing */
static int hf_f1ap_cyclicPrefix;                  /* T_cyclicPrefix */
static int hf_f1ap_txDirectCurrentLocation;       /* INTEGER_0_3301_ */
static int hf_f1ap_shift7dot5kHz;                 /* T_shift7dot5kHz */
static int hf_f1ap_sRSConfig;                     /* SRSConfig */
static int hf_f1ap_AdditionalPath_List_item;      /* AdditionalPath_Item */
static int hf_f1ap_relativePathDelay;             /* RelativePathDelay */
static int hf_f1ap_pathQuality;                   /* TRPMeasurementQuality */
static int hf_f1ap_ExtendedAdditionalPathList_item;  /* ExtendedAdditionalPathList_Item */
static int hf_f1ap_relativeTimeOfPath;            /* RelativePathDelay */
static int hf_f1ap_multipleULAoA;                 /* MultipleULAoA */
static int hf_f1ap_pathPower;                     /* UL_SRS_RSRPP */
static int hf_f1ap_AdditionalPDCPDuplicationTNL_List_item;  /* AdditionalPDCPDuplicationTNL_Item */
static int hf_f1ap_additionalPDCPDuplicationUPTNLInformation;  /* UPTransportLayerInformation */
static int hf_f1ap_AdditionalSIBMessageList_item;  /* AdditionalSIBMessageList_Item */
static int hf_f1ap_additionalSIB;                 /* T_additionalSIB */
static int hf_f1ap_AffectedCellsAndBeams_List_item;  /* AffectedCellsAndBeams_Item */
static int hf_f1ap_affectedSSB_List;              /* AffectedSSB_List */
static int hf_f1ap_AffectedSSB_List_item;         /* AffectedSSB_Item */
static int hf_f1ap_sSB_Index;                     /* INTEGER_0_63 */
static int hf_f1ap_AggregatedPosSRSResourceIDList_item;  /* Aggregated_PosSRS_Resource_ID_Item */
static int hf_f1ap_positioningSRS;                /* SRSPosResourceID */
static int hf_f1ap_AggregatedPosSRSResourceSetList_item;  /* AggregatedPosSRSResourceSet_Item */
static int hf_f1ap_pointA;                        /* INTEGER_0_3279165 */
static int hf_f1ap_nRPCI;                         /* NRPCI */
static int hf_f1ap_posSRSResourceSetID;           /* INTEGER_0_15 */
static int hf_f1ap_AggregatedPRSResourceSetList_item;  /* AggregatedPRSResourceSet_Item */
static int hf_f1ap_dl_PRS_ResourceSet_List;       /* DL_PRS_ResourceSet_List */
static int hf_f1ap_DL_PRS_ResourceSet_List_item;  /* DL_PRS_ResourceSet_Item */
static int hf_f1ap_dl_prs_ResourceSetIndex;       /* INTEGER_1_8 */
static int hf_f1ap_AggressorCellList_item;        /* AggressorCellList_Item */
static int hf_f1ap_aggressorCell_ID;              /* NRCGI */
static int hf_f1ap_aggressorgNBSetID;             /* GNBSetID */
static int hf_f1ap_priorityLevel;                 /* PriorityLevel */
static int hf_f1ap_pre_emptionCapability;         /* Pre_emptionCapability */
static int hf_f1ap_pre_emptionVulnerability;      /* Pre_emptionVulnerability */
static int hf_f1ap_AlternativeQoSParaSetList_item;  /* AlternativeQoSParaSetItem */
static int hf_f1ap_alternativeQoSParaSetIndex;    /* QoSParaSetIndex */
static int hf_f1ap_guaranteedFlowBitRateDL;       /* BitRate */
static int hf_f1ap_guaranteedFlowBitRateUL;       /* BitRate */
static int hf_f1ap_packetDelayBudget;             /* PacketDelayBudget */
static int hf_f1ap_packetErrorRate;               /* PacketErrorRate */
static int hf_f1ap_azimuthQuality;                /* INTEGER_0_255 */
static int hf_f1ap_zenithQuality;                 /* INTEGER_0_255 */
static int hf_f1ap_resolution;                    /* T_resolution */
static int hf_f1ap_AperiodicSRSResourceTriggerList_item;  /* AperiodicSRSResourceTrigger */
static int hf_f1ap_sCell_ID;                      /* NRCGI */
static int hf_f1ap_AvailablePLMNList_item;        /* AvailablePLMNList_Item */
static int hf_f1ap_pLMNIdentity;                  /* PLMN_Identity */
static int hf_f1ap_AvailableSNPN_ID_List_item;    /* AvailableSNPN_ID_List_Item */
static int hf_f1ap_pLMN_Identity;                 /* PLMN_Identity */
static int hf_f1ap_availableNIDList;              /* BroadcastNIDList */
static int hf_f1ap_angleMeasurement;              /* AngleMeasurementType */
static int hf_f1ap_lCS_to_GCS_Translation;        /* LCS_to_GCS_Translation */
static int hf_f1ap_expected_ULAoA;                /* Expected_UL_AoA */
static int hf_f1ap_expected_ZoA;                  /* Expected_ZoA_only */
static int hf_f1ap_ARPLocationInformation_item;   /* ARPLocationInformation_Item */
static int hf_f1ap_aRP_ID;                        /* ARP_ID */
static int hf_f1ap_aRPLocationType;               /* ARPLocationType */
static int hf_f1ap_aRPPositionRelativeGeodetic;   /* RelativeGeodeticLocation */
static int hf_f1ap_aRPPositionRelativeCartesian;  /* RelativeCartesianLocation */
static int hf_f1ap_ingressBAPRoutingID;           /* BAPRoutingID */
static int hf_f1ap_egressBAPRoutingID;            /* BAPRoutingID */
static int hf_f1ap_nonF1terminatingTopologyIndicator;  /* NonF1terminatingTopologyIndicator */
static int hf_f1ap_fR1;                           /* FR1_Bandwidth */
static int hf_f1ap_fR2;                           /* FR2_Bandwidth */
static int hf_f1ap_bAPlayerBHRLCchannelMappingInfoToAdd;  /* BAPlayerBHRLCchannelMappingInfoList */
static int hf_f1ap_bAPlayerBHRLCchannelMappingInfoToRemove;  /* MappingInformationtoRemove */
static int hf_f1ap_BAPlayerBHRLCchannelMappingInfoList_item;  /* BAPlayerBHRLCchannelMappingInfo_Item */
static int hf_f1ap_mappingInformationIndex;       /* MappingInformationIndex */
static int hf_f1ap_priorHopBAPAddress;            /* BAPAddress */
static int hf_f1ap_ingressbHRLCChannelID;         /* BHRLCChannelID */
static int hf_f1ap_nextHopBAPAddress;             /* BAPAddress */
static int hf_f1ap_egressbHRLCChannelID;          /* BHRLCChannelID */
static int hf_f1ap_bAPAddress;                    /* BAPAddress */
static int hf_f1ap_bAPPathID;                     /* BAPPathID */
static int hf_f1ap_locationindpendent;            /* MBSF1UInformation */
static int hf_f1ap_locationdependent;             /* LocationDependentMBSF1UInformation */
static int hf_f1ap_bHRLCChannelID;                /* BHRLCChannelID */
static int hf_f1ap_cause;                         /* Cause */
static int hf_f1ap_bHQoSInformation;              /* BHQoSInformation */
static int hf_f1ap_rLCmode;                       /* RLCMode */
static int hf_f1ap_bAPCtrlPDUChannel;             /* BAPCtrlPDUChannel */
static int hf_f1ap_trafficMappingInfo;            /* TrafficMappingInfo */
static int hf_f1ap_bAProutingID;                  /* BAPRoutingID */
static int hf_f1ap_egressBHRLCCHList;             /* EgressBHRLCCHList */
static int hf_f1ap_bHRLCCHQoS;                    /* QoSFlowLevelQoSParameters */
static int hf_f1ap_eUTRANBHRLCCHQoS;              /* EUTRANQoS */
static int hf_f1ap_cPTrafficType;                 /* CPTrafficType */
static int hf_f1ap_BHRLCCHList_item;              /* BHRLCCHItem */
static int hf_f1ap_bAPRoutingID;                  /* BAPRoutingID */
static int hf_f1ap_BPLMN_ID_Info_List_item;       /* BPLMN_ID_Info_Item */
static int hf_f1ap_pLMN_Identity_List;            /* AvailablePLMNList */
static int hf_f1ap_extended_PLMN_Identity_List;   /* ExtendedAvailablePLMN_List */
static int hf_f1ap_fiveGS_TAC;                    /* FiveGS_TAC */
static int hf_f1ap_nr_cell_ID;                    /* NRCellIdentity */
static int hf_f1ap_ranac;                         /* RANAC */
static int hf_f1ap_ServedPLMNs_List_item;         /* ServedPLMNs_Item */
static int hf_f1ap_BroadcastCAGList_item;         /* CAGID */
static int hf_f1ap_mRB_ID;                        /* MRB_ID */
static int hf_f1ap_bcBearerCtxtF1U_TNLInfoatDU;   /* BCBearerContextF1U_TNLInfo */
static int hf_f1ap_mRB_QoSInformation;            /* QoSFlowLevelQoSParameters */
static int hf_f1ap_mBS_Flows_Mapped_To_MRB_List;  /* MBS_Flows_Mapped_To_MRB_List */
static int hf_f1ap_bcBearerCtxtF1U_TNLInfoatCU;   /* BCBearerContextF1U_TNLInfo */
static int hf_f1ap_BroadcastNIDList_item;         /* NID */
static int hf_f1ap_BroadcastSNPN_ID_List_item;    /* BroadcastSNPN_ID_List_Item */
static int hf_f1ap_broadcastNIDList;              /* BroadcastNIDList */
static int hf_f1ap_BroadcastPNI_NPN_ID_List_item;  /* BroadcastPNI_NPN_ID_List_Item */
static int hf_f1ap_broadcastCAGList;              /* BroadcastCAGList */
static int hf_f1ap_completeSuccess;               /* NULL */
static int hf_f1ap_partialSuccess;                /* PartialSuccessCell */
static int hf_f1ap_BroadcastCellList_item;        /* Broadcast_Cell_List_Item */
static int hf_f1ap_cellID;                        /* NRCGI */
static int hf_f1ap_burstArrivalTimeWindowStart;   /* INTEGER_0_640000_ */
static int hf_f1ap_burstArrivalTimeWindowEnd;     /* INTEGER_0_640000_ */
static int hf_f1ap_iE_Extension;                  /* ProtocolExtensionContainer */
static int hf_f1ap_candidate_SpCell_ID;           /* NRCGI */
static int hf_f1ap_capacityValue;                 /* INTEGER_0_100 */
static int hf_f1ap_sSBAreaCapacityValueList;      /* SSBAreaCapacityValueList */
static int hf_f1ap_radioNetwork;                  /* CauseRadioNetwork */
static int hf_f1ap_transport;                     /* CauseTransport */
static int hf_f1ap_protocol;                      /* CauseProtocol */
static int hf_f1ap_misc;                          /* CauseMisc */
static int hf_f1ap_CellMeasurementResultList_item;  /* CellMeasurementResultItem */
static int hf_f1ap_radioResourceStatus;           /* RadioResourceStatus */
static int hf_f1ap_compositeAvailableCapacityGroup;  /* CompositeAvailableCapacityGroup */
static int hf_f1ap_sliceAvailableCapacity;        /* SliceAvailableCapacity */
static int hf_f1ap_numberofActiveUEs;             /* NumberofActiveUEs */
static int hf_f1ap_CellsForSON_List_item;         /* CellsForSON_Item */
static int hf_f1ap_neighbourNR_CellsForSON_List;  /* NeighbourNR_CellsForSON_List */
static int hf_f1ap_service_status;                /* Service_Status */
static int hf_f1ap_numberOfBroadcasts;            /* NumberOfBroadcasts */
static int hf_f1ap_Cells_With_SSBs_Activated_List_item;  /* Cells_With_SSBs_Activated_List_Item */
static int hf_f1ap_sSBs_activated_List;           /* SSBs_activated_List */
static int hf_f1ap_cellBarred;                    /* CellBarred */
static int hf_f1ap_CellToReportList_item;         /* CellToReportItem */
static int hf_f1ap_sSBToReportList;               /* SSBToReportList */
static int hf_f1ap_sliceToReportList;             /* SliceToReportList */
static int hf_f1ap_cellSize;                      /* CellSize */
static int hf_f1ap_gNB_CU_UE_F1AP_ID;             /* GNB_CU_UE_F1AP_ID */
static int hf_f1ap_gNB_DU_UE_F1AP_ID;             /* GNB_DU_UE_F1AP_ID */
static int hf_f1ap_Child_IAB_Nodes_NA_Resource_List_item;  /* Child_IAB_Nodes_NA_Resource_List_Item */
static int hf_f1ap_nA_Resource_Configuration_List;  /* NA_Resource_Configuration_List */
static int hf_f1ap_Child_Node_Cells_List_item;    /* Child_Node_Cells_List_Item */
static int hf_f1ap_iAB_STC_Info;                  /* IAB_STC_Info */
static int hf_f1ap_rACH_Config_Common;            /* RACH_Config_Common */
static int hf_f1ap_rACH_Config_Common_IAB;        /* RACH_Config_Common_IAB */
static int hf_f1ap_cSI_RS_Configuration;          /* T_cSI_RS_Configuration */
static int hf_f1ap_sR_Configuration;              /* T_sR_Configuration */
static int hf_f1ap_pDCCH_ConfigSIB1;              /* T_pDCCH_ConfigSIB1 */
static int hf_f1ap_sCS_Common;                    /* T_sCS_Common */
static int hf_f1ap_multiplexingInfo;              /* MultiplexingInfo */
static int hf_f1ap_Child_Nodes_List_item;         /* Child_Nodes_List_Item */
static int hf_f1ap_child_Node_Cells_List;         /* Child_Node_Cells_List */
static int hf_f1ap_fiveG_S_TMSI;                  /* BIT_STRING_SIZE_48 */
static int hf_f1ap_compositeAvailableCapacityDownlink;  /* CompositeAvailableCapacity */
static int hf_f1ap_compositeAvailableCapacityUplink;  /* CompositeAvailableCapacity */
static int hf_f1ap_cellCapacityClassValue;        /* CellCapacityClassValue */
static int hf_f1ap_capacityValue_01;              /* CapacityValue */
static int hf_f1ap_cho_trigger;                   /* CHOtrigger_InterDU */
static int hf_f1ap_targetgNB_DUUEF1APID;          /* GNB_DU_UE_F1AP_ID */
static int hf_f1ap_cho_trigger_01;                /* CHOtrigger_IntraDU */
static int hf_f1ap_targetCellsTocancel;           /* TargetCellList */
static int hf_f1ap_Configured_BWP_List_item;      /* Configured_BWP_Item */
static int hf_f1ap_bWP_Id;                        /* BWP_Id */
static int hf_f1ap_bWP_Location_and_bandwidth;    /* INTEGER_0_37949 */
static int hf_f1ap_coverage_Modification_List;    /* Coverage_Modification_List */
static int hf_f1ap_Coverage_Modification_List_item;  /* Coverage_Modification_Item */
static int hf_f1ap_cellCoverageState;             /* CellCoverageState */
static int hf_f1ap_sSBCoverageModificationList;   /* SSBCoverageModification_List */
static int hf_f1ap_cCO_issue_detection;           /* CCO_issue_detection */
static int hf_f1ap_affectedCellsAndBeams_List;    /* AffectedCellsAndBeams_List */
static int hf_f1ap_endpoint_IP_address;           /* TransportLayerAddress */
static int hf_f1ap_endpoint_IP_address_and_port;  /* Endpoint_IP_address_and_port */
static int hf_f1ap_cpac_trigger;                  /* CPAC_trigger */
static int hf_f1ap_pscellid;                      /* NRCGI */
static int hf_f1ap_procedureCode;                 /* ProcedureCode */
static int hf_f1ap_triggeringMessage;             /* TriggeringMessage */
static int hf_f1ap_procedureCriticality;          /* Criticality */
static int hf_f1ap_transactionID;                 /* TransactionID */
static int hf_f1ap_iEsCriticalityDiagnostics;     /* CriticalityDiagnostics_IE_List */
static int hf_f1ap_CriticalityDiagnostics_IE_List_item;  /* CriticalityDiagnostics_IE_Item */
static int hf_f1ap_iECriticality;                 /* Criticality */
static int hf_f1ap_iE_ID;                         /* ProtocolIE_ID */
static int hf_f1ap_typeOfError;                   /* TypeOfError */
static int hf_f1ap_rIM;                           /* CUDURIMInformation */
static int hf_f1ap_victimgNBSetID;                /* GNBSetID */
static int hf_f1ap_rIMRSDetectionStatus;          /* RIMRSDetectionStatus */
static int hf_f1ap_cG_ConfigInfo;                 /* CG_ConfigInfo */
static int hf_f1ap_uE_CapabilityRAT_ContainerList;  /* UE_CapabilityRAT_ContainerList */
static int hf_f1ap_measConfig;                    /* MeasConfig */
static int hf_f1ap_CUtoDUTAInformation_List_item;  /* CUtoDUTAInformation_Item */
static int hf_f1ap_tAValue;                       /* TAValue */
static int hf_f1ap_preambleIndex;                 /* PreambleIndex */
static int hf_f1ap_rA_RNTI;                       /* RA_RNTI */
static int hf_f1ap_tagIDPointer;                  /* TagIDPointer */
static int hf_f1ap_cSIResourceConfigToAddModList;  /* T_cSIResourceConfigToAddModList */
static int hf_f1ap_cSIResourceConfigToReleaseList;  /* T_cSIResourceConfigToReleaseList */
static int hf_f1ap_perUE;                         /* DeactivationIndicationList */
static int hf_f1ap_deactivateAll;                 /* NULL */
static int hf_f1ap_DeactivationIndicationList_item;  /* DeactivationIndicationList_Item */
static int hf_f1ap_prsid;                         /* INTEGER_0_255 */
static int hf_f1ap_dl_PRSResourceSetID;           /* PRS_Resource_Set_ID */
static int hf_f1ap_dl_PRSResourceID;              /* PRS_Resource_ID */
static int hf_f1ap_two;                           /* BIT_STRING_SIZE_2 */
static int hf_f1ap_four;                          /* BIT_STRING_SIZE_4 */
static int hf_f1ap_six;                           /* BIT_STRING_SIZE_6 */
static int hf_f1ap_eight;                         /* BIT_STRING_SIZE_8 */
static int hf_f1ap_sixteen;                       /* BIT_STRING_SIZE_16 */
static int hf_f1ap_thirty_two;                    /* BIT_STRING_SIZE_32 */
static int hf_f1ap_listofDL_PRSResourceSetARP;    /* SEQUENCE_SIZE_1_maxnoofPRS_ResourceSets_OF_DLPRSResourceSetARP */
static int hf_f1ap_listofDL_PRSResourceSetARP_item;  /* DLPRSResourceSetARP */
static int hf_f1ap_dL_PRSResourceSetARPLocation;  /* DL_PRSResourceSetARPLocation */
static int hf_f1ap_listofDL_PRSResourceARP;       /* SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceARP */
static int hf_f1ap_listofDL_PRSResourceARP_item;  /* DLPRSResourceARP */
static int hf_f1ap_relativeGeodeticLocation;      /* RelativeGeodeticLocation */
static int hf_f1ap_relativeCartesianLocation;     /* RelativeCartesianLocation */
static int hf_f1ap_choice_Extension;              /* ProtocolIE_SingleContainer */
static int hf_f1ap_dL_PRSResourceARPLocation;     /* DL_PRSResourceARPLocation */
static int hf_f1ap_oldIPAdress;                   /* TransportLayerAddress */
static int hf_f1ap_newIPAdress;                   /* TransportLayerAddress */
static int hf_f1ap_DLUPTNLInformation_ToBeSetup_List_item;  /* DLUPTNLInformation_ToBeSetup_Item */
static int hf_f1ap_dLUPTNLInformation;            /* UPTransportLayerInformation */
static int hf_f1ap_dRBID;                         /* DRBID */
static int hf_f1ap_dRB_Activity;                  /* DRB_Activity */
static int hf_f1ap_dRB_QoS;                       /* QoSFlowLevelQoSParameters */
static int hf_f1ap_sNSSAI;                        /* SNSSAI */
static int hf_f1ap_notificationControl;           /* NotificationControl */
static int hf_f1ap_flows_Mapped_To_DRB_List;      /* Flows_Mapped_To_DRB_List */
static int hf_f1ap_lCID;                          /* LCID */
static int hf_f1ap_dLUPTNLInformation_ToBeSetup_List;  /* DLUPTNLInformation_ToBeSetup_List */
static int hf_f1ap_uLUPTNLInformation_ToBeSetup_List;  /* ULUPTNLInformation_ToBeSetup_List */
static int hf_f1ap_notification_Cause;            /* Notification_Cause */
static int hf_f1ap_qoSInformation;                /* QoSInformation */
static int hf_f1ap_uLConfiguration;               /* ULConfiguration */
static int hf_f1ap_rLCMode;                       /* RLCMode */
static int hf_f1ap_duplicationActivation;         /* DuplicationActivation */
static int hf_f1ap_DRB_List_item;                 /* DRB_List_Item */
static int hf_f1ap_longDRXCycleLength;            /* LongDRXCycleLength */
static int hf_f1ap_shortDRXCycleLength;           /* ShortDRXCycleLength */
static int hf_f1ap_shortDRXCycleTimer;            /* ShortDRXCycleTimer */
static int hf_f1ap_longNonIntegerDRXCycleLength;  /* LongNonIntegerDRXCycleLength */
static int hf_f1ap_shortNonIntegerDRXCycleLength;  /* ShortNonIntegerDRXCycleLength */
static int hf_f1ap_DSInformationList_item;        /* DSCP */
static int hf_f1ap_rIM_01;                        /* DUCURIMInformation */
static int hf_f1ap_aggressorCellList;             /* AggressorCellList */
static int hf_f1ap_explicitFormat;                /* ExplicitFormat */
static int hf_f1ap_implicitFormat;                /* ImplicitFormat */
static int hf_f1ap_DUF_Slot_Config_List_item;     /* DUF_Slot_Config_Item */
static int hf_f1ap_cellGroupConfig;               /* CellGroupConfig */
static int hf_f1ap_measGapConfig;                 /* MeasGapConfig */
static int hf_f1ap_requestedP_MaxFR1;             /* T_requestedP_MaxFR1 */
static int hf_f1ap_DUtoCUTAInformation_List_item;  /* DUtoCUTAInformation_Item */
static int hf_f1ap_sourceGNB_DU_ID;               /* GNB_DU_ID */
static int hf_f1ap_qoSPriorityLevel;              /* INTEGER_1_127 */
static int hf_f1ap_fiveQI;                        /* INTEGER_0_255_ */
static int hf_f1ap_delayCritical;                 /* T_delayCritical */
static int hf_f1ap_averagingWindow;               /* AveragingWindow */
static int hf_f1ap_maxDataBurstVolume;            /* MaxDataBurstVolume */
static int hf_f1ap_resourceType;                  /* T_resourceType */
static int hf_f1ap_qoSPriorityLevel_01;           /* INTEGER_1_8_ */
static int hf_f1ap_DLLBTFailureInformationList_item;  /* DLLBTFailureInformationList_Item */
static int hf_f1ap_uEAssistantIdentifier;         /* GNB_CU_UE_F1AP_ID */
static int hf_f1ap_numberOfDLLBTFailures;         /* INTEGER_1_1000_ */
static int hf_f1ap_rACH;                          /* RACHConfiguration */
static int hf_f1ap_lTMgNB_DU_IDs_PreambleIndexList;  /* LTMgNB_DU_IDs_PreambleIndexList */
static int hf_f1ap_requestforRACHConfiguration;   /* RequestforRACHConfiguration */
static int hf_f1ap_lTMgNB_DU_IDsList;             /* LTMgNB_DU_IDsList */
static int hf_f1ap_tCIStatesConfigurationsList;   /* TCIStatesConfigurationsList */
static int hf_f1ap_earlyULSyncConfig;             /* EarlyULSyncConfig */
static int hf_f1ap_earlyULSyncConfigSUL;          /* EarlyULSyncConfig */
static int hf_f1ap_EarlySyncCandidateCellInformation_List_item;  /* EarlySyncCandidateCellInformation_Item */
static int hf_f1ap_tAAssistanceInfo;              /* TAAssistanceInfo */
static int hf_f1ap_uEbasedTAmeasurementConfig;    /* OCTET_STRING */
static int hf_f1ap_E_CID_MeasurementQuantities_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_e_CIDmeasurementQuantitiesValue;  /* E_CID_MeasurementQuantitiesValue */
static int hf_f1ap_geographicalCoordinates;       /* GeographicalCoordinates */
static int hf_f1ap_measuredResults_List;          /* E_CID_MeasuredResults_List */
static int hf_f1ap_E_CID_MeasuredResults_List_item;  /* E_CID_MeasuredResults_Item */
static int hf_f1ap_e_CID_MeasuredResults_Value;   /* E_CID_MeasuredResults_Value */
static int hf_f1ap_valueAngleofArrivalNR;         /* UL_AoA */
static int hf_f1ap_E_CID_MeasuredResultsAssociatedInfoList_item;  /* E_CID_MeasuredResultsAssociatedInfoItem */
static int hf_f1ap_timeStamp;                     /* TimeStamp */
static int hf_f1ap_measurementQuality;            /* TRPMeasurementQuality */
static int hf_f1ap_EgressBHRLCCHList_item;        /* EgressBHRLCCHItem */
static int hf_f1ap_endpointIPAddress;             /* TransportLayerAddress */
static int hf_f1ap_ExtendedAvailablePLMN_List_item;  /* ExtendedAvailablePLMN_Item */
static int hf_f1ap_permutation;                   /* Permutation */
static int hf_f1ap_noofDownlinkSymbols;           /* NoofDownlinkSymbols */
static int hf_f1ap_noofUplinkSymbols;             /* NoofUplinkSymbols */
static int hf_f1ap_ExtendedServedPLMNs_List_item;  /* ExtendedServedPLMNs_Item */
static int hf_f1ap_tAISliceSupportList;           /* SliceSupportList */
static int hf_f1ap_ExtendedSliceSupportList_item;  /* SliceSupportItem */
static int hf_f1ap_EUTRACells_List_item;          /* EUTRACells_List_item */
static int hf_f1ap_eUTRA_Cell_ID;                 /* EUTRA_Cell_ID */
static int hf_f1ap_served_EUTRA_Cells_Information;  /* Served_EUTRA_Cells_Information */
static int hf_f1ap_uL_EARFCN;                     /* ExtendedEARFCN */
static int hf_f1ap_dL_EARFCN;                     /* ExtendedEARFCN */
static int hf_f1ap_uL_Transmission_Bandwidth;     /* EUTRA_Transmission_Bandwidth */
static int hf_f1ap_dL_Transmission_Bandwidth;     /* EUTRA_Transmission_Bandwidth */
static int hf_f1ap_fDD;                           /* EUTRA_Coex_FDD_Info */
static int hf_f1ap_tDD;                           /* EUTRA_Coex_TDD_Info */
static int hf_f1ap_eARFCN;                        /* ExtendedEARFCN */
static int hf_f1ap_transmission_Bandwidth;        /* EUTRA_Transmission_Bandwidth */
static int hf_f1ap_subframeAssignment;            /* EUTRA_SubframeAssignment */
static int hf_f1ap_specialSubframe_Info;          /* EUTRA_SpecialSubframe_Info */
static int hf_f1ap_rootSequenceIndex;             /* INTEGER_0_837 */
static int hf_f1ap_zeroCorrelationIndex;          /* INTEGER_0_15 */
static int hf_f1ap_highSpeedFlag;                 /* BOOLEAN */
static int hf_f1ap_prach_FreqOffset;              /* INTEGER_0_94 */
static int hf_f1ap_prach_ConfigIndex;             /* INTEGER_0_63 */
static int hf_f1ap_specialSubframePatterns;       /* EUTRA_SpecialSubframePatterns */
static int hf_f1ap_cyclicPrefixDL;                /* EUTRA_CyclicPrefixDL */
static int hf_f1ap_cyclicPrefixUL;                /* EUTRA_CyclicPrefixUL */
static int hf_f1ap_qCI;                           /* QCI */
static int hf_f1ap_allocationAndRetentionPriority;  /* AllocationAndRetentionPriority */
static int hf_f1ap_gbrQosInformation;             /* GBR_QosInformation */
static int hf_f1ap_eUTRAFDD;                      /* EUTRA_FDD_Info */
static int hf_f1ap_eUTRATDD;                      /* EUTRA_TDD_Info */
static int hf_f1ap_uL_offsetToPointA;             /* OffsetToPointA */
static int hf_f1ap_dL_offsetToPointA;             /* OffsetToPointA */
static int hf_f1ap_offsetToPointA;                /* OffsetToPointA */
static int hf_f1ap_expected_Azimuth_AoA;          /* Expected_Azimuth_AoA */
static int hf_f1ap_expected_Zenith_AoA;           /* Expected_Zenith_AoA */
static int hf_f1ap_iE_extensions;                 /* ProtocolExtensionContainer */
static int hf_f1ap_expected_ZoA_only;             /* Expected_Zenith_AoA */
static int hf_f1ap_expected_Azimuth_AoA_value;    /* Expected_Value_AoA */
static int hf_f1ap_expected_Azimuth_AoA_uncertainty;  /* Uncertainty_range_AoA */
static int hf_f1ap_expected_Zenith_AoA_value;     /* Expected_Value_ZoA */
static int hf_f1ap_expected_Zenith_AoA_uncertainty;  /* Uncertainty_range_ZoA */
static int hf_f1ap_ecnMarking;                    /* ECNmarkingRequest */
static int hf_f1ap_congestionInformation;         /* CongestionInformationRequest */
static int hf_f1ap_f1CPathNSA;                    /* F1CPathNSA */
static int hf_f1ap_f1CPathNRDC;                   /* F1CPathNRDC */
static int hf_f1ap_uL_NRFreqInfo;                 /* NRFreqInfo */
static int hf_f1ap_dL_NRFreqInfo;                 /* NRFreqInfo */
static int hf_f1ap_uL_Transmission_Bandwidth_01;  /* Transmission_Bandwidth */
static int hf_f1ap_dL_Transmission_Bandwidth_01;  /* Transmission_Bandwidth */
static int hf_f1ap_uL_FreqInfo;                   /* FreqInfoRel16 */
static int hf_f1ap_sUL_FreqInfo;                  /* FreqInfoRel16 */
static int hf_f1ap_fiveG_proSeDirectDiscovery;    /* FiveG_ProSeDirectDiscovery */
static int hf_f1ap_fiveG_proSeDirectCommunication;  /* FiveG_ProSeDirectCommunication */
static int hf_f1ap_fiveG_ProSeLayer2UEtoNetworkRelay;  /* FiveG_ProSeLayer2UEtoNetworkRelay */
static int hf_f1ap_fiveG_ProSeLayer3UEtoNetworkRelay;  /* FiveG_ProSeLayer3UEtoNetworkRelay */
static int hf_f1ap_fiveG_ProSeLayer2RemoteUE;     /* FiveG_ProSeLayer2RemoteUE */
static int hf_f1ap_Flows_Mapped_To_DRB_List_item;  /* Flows_Mapped_To_DRB_Item */
static int hf_f1ap_qoSFlowIdentifier;             /* QoSFlowIdentifier */
static int hf_f1ap_qoSFlowLevelQoSParameters;     /* QoSFlowLevelQoSParameters */
static int hf_f1ap_freqBandIndicatorNr;           /* INTEGER_1_1024_ */
static int hf_f1ap_supportedSULBandList;          /* SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem */
static int hf_f1ap_supportedSULBandList_item;     /* SupportedSULFreqBandItem */
static int hf_f1ap_l839;                          /* L839Info */
static int hf_f1ap_l139;                          /* L139Info */
static int hf_f1ap_nRARFCN;                       /* INTEGER_0_maxNRARFCN */
static int hf_f1ap_frequencyShift7p5khz;          /* FrequencyShift7p5khz */
static int hf_f1ap_carrierList;                   /* NRCarrierList */
static int hf_f1ap_Frequency_Domain_HSNA_Configuration_List_item;  /* Frequency_Domain_HSNA_Configuration_Item */
static int hf_f1ap_rBSetIndex;                    /* INTEGER_0_maxnoofRBsetsPerCell_1_ */
static int hf_f1ap_frequency_Domain_HSNA_Slot_Configuration_List;  /* Frequency_Domain_HSNA_Slot_Configuration_List */
static int hf_f1ap_Frequency_Domain_HSNA_Slot_Configuration_List_item;  /* Frequency_Domain_HSNA_Slot_Configuration_Item */
static int hf_f1ap_slotIndex;                     /* INTEGER_0_5119 */
static int hf_f1ap_hSNADownlink;                  /* HSNADownlink */
static int hf_f1ap_hSNAUplink;                    /* HSNAUplink */
static int hf_f1ap_hSNAFlexible;                  /* HSNAFlexible */
static int hf_f1ap_FlowsMappedToSLDRB_List_item;  /* FlowsMappedToSLDRB_Item */
static int hf_f1ap_pc5QoSFlowIdentifier;          /* PC5QoSFlowIdentifier */
static int hf_f1ap_e_RAB_MaximumBitrateDL;        /* BitRate */
static int hf_f1ap_e_RAB_MaximumBitrateUL;        /* BitRate */
static int hf_f1ap_e_RAB_GuaranteedBitrateDL;     /* BitRate */
static int hf_f1ap_e_RAB_GuaranteedBitrateUL;     /* BitRate */
static int hf_f1ap_maxFlowBitRateDownlink;        /* BitRate */
static int hf_f1ap_maxFlowBitRateUplink;          /* BitRate */
static int hf_f1ap_guaranteedFlowBitRateDownlink;  /* BitRate */
static int hf_f1ap_guaranteedFlowBitRateUplink;   /* BitRate */
static int hf_f1ap_maxPacketLossRateDownlink;     /* MaxPacketLossRate */
static int hf_f1ap_maxPacketLossRateUplink;       /* MaxPacketLossRate */
static int hf_f1ap_tRPPositionDefinitionType;     /* TRPPositionDefinitionType */
static int hf_f1ap_dLPRSResourceCoordinates;      /* DLPRSResourceCoordinates */
static int hf_f1ap_gNB_ID;                        /* GNB_ID */
static int hf_f1ap_gNB_ID_01;                     /* BIT_STRING_SIZE_22_32 */
static int hf_f1ap_choice_Extensions;             /* ProtocolIE_SingleContainer */
static int hf_f1ap_sibtypetobeupdatedlist;        /* SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem */
static int hf_f1ap_sibtypetobeupdatedlist_item;   /* SibtypetobeupdatedListItem */
static int hf_f1ap_tNLAssociationTransportLayerAddress;  /* CP_TransportLayerAddress */
static int hf_f1ap_tNLAssociationUsage;           /* TNLAssociationUsage */
static int hf_f1ap_subcarrierSpacing_01;          /* SubcarrierSpacing */
static int hf_f1ap_dUFTransmissionPeriodicity;    /* DUFTransmissionPeriodicity */
static int hf_f1ap_dUF_Slot_Config_List;          /* DUF_Slot_Config_List */
static int hf_f1ap_hSNATransmissionPeriodicity;   /* HSNATransmissionPeriodicity */
static int hf_f1ap_hsNSASlotConfigList;           /* HSNASlotConfigList */
static int hf_f1ap_gNB_CU_NameVisibleString;      /* GNB_CU_NameVisibleString */
static int hf_f1ap_gNB_CU_NameUTF8String;         /* GNB_CU_NameUTF8String */
static int hf_f1ap_gNB_DU_NameVisibleString;      /* GNB_DU_NameVisibleString */
static int hf_f1ap_gNB_DU_NameUTF8String;         /* GNB_DU_NameUTF8String */
static int hf_f1ap_served_Cell_Information;       /* Served_Cell_Information */
static int hf_f1ap_gNB_DU_System_Information;     /* GNB_DU_System_Information */
static int hf_f1ap_mIB_message;                   /* MIB_message */
static int hf_f1ap_sIB1_message;                  /* SIB1_message */
static int hf_f1ap_tNLAssociationTransportLayerAddressgNBCU;  /* CP_TransportLayerAddress */
static int hf_f1ap_GNBDUUESliceMaximumBitRateList_item;  /* GNBDUUESliceMaximumBitRateItem */
static int hf_f1ap_uESliceMaximumBitRateUL;       /* BitRate */
static int hf_f1ap_rxTxTimeDiff;                  /* GNBRxTxTimeDiffMeas */
static int hf_f1ap_additionalPath_List;           /* AdditionalPath_List */
static int hf_f1ap_k0;                            /* INTEGER_0_1970049 */
static int hf_f1ap_k1;                            /* INTEGER_0_985025 */
static int hf_f1ap_k2;                            /* INTEGER_0_492513 */
static int hf_f1ap_k3;                            /* INTEGER_0_246257 */
static int hf_f1ap_k4;                            /* INTEGER_0_123129 */
static int hf_f1ap_k5;                            /* INTEGER_0_61565 */
static int hf_f1ap_GTPTLAs_item;                  /* GTPTLA_Item */
static int hf_f1ap_gTPTransportLayerAddress;      /* TransportLayerAddress */
static int hf_f1ap_transportLayerAddress;         /* TransportLayerAddress */
static int hf_f1ap_gTP_TEID;                      /* GTP_TEID */
static int hf_f1ap_dLHardwareLoadIndicator;       /* INTEGER_0_100_ */
static int hf_f1ap_uLHardwareLoadIndicator;       /* INTEGER_0_100_ */
static int hf_f1ap_HSNASlotConfigList_item;       /* HSNASlotConfigItem */
static int hf_f1ap_iAB_Congestion_Indication_List;  /* IAB_Congestion_Indication_List */
static int hf_f1ap_IAB_Congestion_Indication_List_item;  /* IAB_Congestion_Indication_Item */
static int hf_f1ap_childNodeIdentifier;           /* BAPAddress */
static int hf_f1ap_bHRLCCHList;                   /* BHRLCCHList */
static int hf_f1ap_IAB_MT_Cell_List_item;         /* IAB_MT_Cell_List_Item */
static int hf_f1ap_nRCellIdentity;                /* NRCellIdentity */
static int hf_f1ap_dU_RX_MT_RX;                   /* DU_RX_MT_RX */
static int hf_f1ap_dU_TX_MT_TX;                   /* DU_TX_MT_TX */
static int hf_f1ap_dU_RX_MT_TX;                   /* DU_RX_MT_TX */
static int hf_f1ap_dU_TX_MT_RX;                   /* DU_TX_MT_RX */
static int hf_f1ap_fDD_01;                        /* IAB_MT_Cell_NA_Resource_Configuration_FDD_Info */
static int hf_f1ap_tDD_01;                        /* IAB_MT_Cell_NA_Resource_Configuration_TDD_Info */
static int hf_f1ap_gNB_DU_Cell_NA_Resource_Configuration_FDD_UL;  /* GNB_DU_Cell_Resource_Configuration */
static int hf_f1ap_gNB_DU_Cell_NA_Resource_Configuration_FDD_DL;  /* GNB_DU_Cell_Resource_Configuration */
static int hf_f1ap_uL_FreqInfo_01;                /* NRFreqInfo */
static int hf_f1ap_uL_NR_Carrier_List;            /* NRCarrierList */
static int hf_f1ap_dL_FreqInfo;                   /* NRFreqInfo */
static int hf_f1ap_dL_NR_Carrier_List;            /* NRCarrierList */
static int hf_f1ap_gNB_DU_Cell_NA_Resourc_Configuration_TDD;  /* GNB_DU_Cell_Resource_Configuration */
static int hf_f1ap_nRFreqInfo;                    /* NRFreqInfo */
static int hf_f1ap_transmission_Bandwidth_01;     /* Transmission_Bandwidth */
static int hf_f1ap_nR_Carrier_List;               /* NRCarrierList */
static int hf_f1ap_iAB_STC_Info_List;             /* IAB_STC_Info_List */
static int hf_f1ap_IAB_STC_Info_List_item;        /* IAB_STC_Info_Item */
static int hf_f1ap_sSB_freqInfo;                  /* SSB_freqInfo */
static int hf_f1ap_sSB_subcarrierSpacing;         /* SSB_subcarrierSpacing */
static int hf_f1ap_sSB_transmissionPeriodicity;   /* SSB_transmissionPeriodicity */
static int hf_f1ap_sSB_transmissionTimingOffset;  /* SSB_transmissionTimingOffset */
static int hf_f1ap_sSB_transmissionBitmap;        /* SSB_transmissionBitmap */
static int hf_f1ap_iABTNLAddress;                 /* IABTNLAddress */
static int hf_f1ap_iABTNLAddressUsage;            /* IABTNLAddressUsage */
static int hf_f1ap_fDD_02;                        /* IAB_DU_Cell_Resource_Configuration_FDD_Info */
static int hf_f1ap_tDD_02;                        /* IAB_DU_Cell_Resource_Configuration_TDD_Info */
static int hf_f1ap_gNB_DU_Cell_Resource_Configuration_FDD_UL;  /* GNB_DU_Cell_Resource_Configuration */
static int hf_f1ap_gNB_DU_Cell_Resource_Configuration_FDD_DL;  /* GNB_DU_Cell_Resource_Configuration */
static int hf_f1ap_gNB_DU_Cell_Resourc_Configuration_TDD;  /* GNB_DU_Cell_Resource_Configuration */
static int hf_f1ap_iPv6Address;                   /* IABTNLAddressesRequested */
static int hf_f1ap_iPv6Prefix;                    /* IABTNLAddressesRequested */
static int hf_f1ap_iPv4Address;                   /* T_iPv4Address */
static int hf_f1ap_iPv6Address_01;                /* T_iPv6Address */
static int hf_f1ap_iPv6Prefix_01;                 /* T_iPv6Prefix */
static int hf_f1ap_tNLAddressesOrPrefixesRequestedAllTraffic;  /* INTEGER_1_256 */
static int hf_f1ap_tNLAddressesOrPrefixesRequestedF1_C;  /* INTEGER_1_256 */
static int hf_f1ap_tNLAddressesOrPrefixesRequestedF1_U;  /* INTEGER_1_256 */
static int hf_f1ap_tNLAddressesOrPrefixesRequestedNoNF1;  /* INTEGER_1_256 */
static int hf_f1ap_iABTNLAddressList;             /* IABTNLAddressList */
static int hf_f1ap_IABTNLAddressList_item;        /* IABTNLAddress_Item */
static int hf_f1ap_iABv4AddressesRequested;       /* IABTNLAddressesRequested */
static int hf_f1ap_tAI;                           /* TAI */
static int hf_f1ap_dUFSlotformatIndex;            /* DUFSlotformatIndex */
static int hf_f1ap_targetRelayUEID;               /* BIT_STRING_SIZE_24 */
static int hf_f1ap_remoteUELocalID;               /* RemoteUELocalID */
static int hf_f1ap_nRSCS;                         /* T_nRSCS */
static int hf_f1ap_nRCP;                          /* T_nRCP */
static int hf_f1ap_nRDLULTxPeriodicity;           /* T_nRDLULTxPeriodicity */
static int hf_f1ap_slot_Configuration_List;       /* Slot_Configuration_List */
static int hf_f1ap_destinationIABTNLAddress;      /* IABTNLAddress */
static int hf_f1ap_dsInformationList;             /* DSInformationList */
static int hf_f1ap_iPv6FlowLabel;                 /* BIT_STRING_SIZE_20 */
static int hf_f1ap_iPtolayer2TrafficMappingInfoToAdd;  /* IPtolayer2TrafficMappingInfoList */
static int hf_f1ap_iPtolayer2TrafficMappingInfoToRemove;  /* MappingInformationtoRemove */
static int hf_f1ap_IPtolayer2TrafficMappingInfoList_item;  /* IPtolayer2TrafficMappingInfo_Item */
static int hf_f1ap_iPHeaderInformation;           /* IPHeaderInformation */
static int hf_f1ap_bHInfo;                        /* BHInfo */
static int hf_f1ap_aerialUE;                      /* AerialUE */
static int hf_f1ap_controllerUE;                  /* ControllerUE */
static int hf_f1ap_prachSCS;                      /* T_prachSCS */
static int hf_f1ap_rootSequenceIndex_01;          /* INTEGER_0_137 */
static int hf_f1ap_restrictedSetConfig;           /* T_restrictedSetConfig */
static int hf_f1ap_prachSCSForL571;               /* T_prachSCSForL571 */
static int hf_f1ap_rootSequenceIndex_02;          /* INTEGER_0_569 */
static int hf_f1ap_prachSCSForL1151;              /* T_prachSCSForL1151 */
static int hf_f1ap_rootSequenceIndex_03;          /* INTEGER_0_1149 */
static int hf_f1ap_alpha;                         /* INTEGER_0_3599 */
static int hf_f1ap_beta;                          /* INTEGER_0_3599 */
static int hf_f1ap_gamma;                         /* INTEGER_0_3599 */
static int hf_f1ap_LCStoGCSTranslationList_item;  /* LCStoGCSTranslation */
static int hf_f1ap_alpha_01;                      /* INTEGER_0_359 */
static int hf_f1ap_alpha_fine;                    /* INTEGER_0_9 */
static int hf_f1ap_beta_01;                       /* INTEGER_0_359 */
static int hf_f1ap_beta_fine;                     /* INTEGER_0_9 */
static int hf_f1ap_gamma_01;                      /* INTEGER_0_359 */
static int hf_f1ap_gamma_fine;                    /* INTEGER_0_9 */
static int hf_f1ap_LocationDependentMBSF1UInformation_item;  /* LocationDependentMBSF1UInformation_Item */
static int hf_f1ap_mbsAreaSession_ID;             /* MBS_Area_Session_ID */
static int hf_f1ap_mbs_f1u_info_at_CU;            /* UPTransportLayerInformation */
static int hf_f1ap_horizontalUncertainty;         /* INTEGER_0_255 */
static int hf_f1ap_horizontalConfidence;          /* INTEGER_0_100 */
static int hf_f1ap_verticalUncertainty;           /* INTEGER_0_255 */
static int hf_f1ap_verticalConfidence;            /* INTEGER_0_100 */
static int hf_f1ap_loS_NLoSIndicatorSoft;         /* LoS_NLoSIndicatorSoft */
static int hf_f1ap_loS_NLoSIndicatorHard;         /* LoS_NLoSIndicatorHard */
static int hf_f1ap_uELTESidelinkAggregateMaximumBitrate;  /* BitRate */
static int hf_f1ap_vehicleUE;                     /* VehicleUE */
static int hf_f1ap_pedestrianUE;                  /* PedestrianUE */
static int hf_f1ap_LTMCells_ToBeReleased_List_item;  /* LTMCells_ToBeReleased_Item */
static int hf_f1ap_lTMIndicator;                  /* LTMIndicator */
static int hf_f1ap_referenceConfiguration;        /* ReferenceConfiguration */
static int hf_f1ap_cSIResourceConfiguration;      /* CSIResourceConfiguration */
static int hf_f1ap_LTMConfigurationIDMappingList_item;  /* LTMConfigurationIDMapping_Item */
static int hf_f1ap_lTMCellID;                     /* NRCGI */
static int hf_f1ap_lTMConfigurationID;            /* LTMConfigurationID */
static int hf_f1ap_sSBInformation;                /* SSBInformation */
static int hf_f1ap_referenceConfigurationInformation;  /* ReferenceConfigurationInformation */
static int hf_f1ap_completeConfigurationIndicator;  /* CompleteConfigurationIndicator */
static int hf_f1ap_lTMCFRAResourceConfig;         /* LTMCFRAResourceConfig */
static int hf_f1ap_lTMCFRAResourceConfigSUL;      /* LTMCFRAResourceConfig */
static int hf_f1ap_jointorDLTCIStateID;           /* JointorDLTCIStateID */
static int hf_f1ap_uLTCIStateID;                  /* ULTCIStateID */
static int hf_f1ap_LTMgNB_DU_IDsList_item;        /* LTMgNB_DU_IDs_Item */
static int hf_f1ap_lTMgNB_DU_ID;                  /* GNB_DU_ID */
static int hf_f1ap_LTMgNB_DU_IDs_PreambleIndexList_item;  /* LTMgNB_DU_IDs_PreambleIndex_Item */
static int hf_f1ap_preambleIndexList;             /* PreambleIndexList */
static int hf_f1ap_LTMCFRAResourceConfig_List_item;  /* LTMCFRAResourceConfig_Item */
static int hf_f1ap_MappingInformationtoRemove_item;  /* MappingInformationIndex */
static int hf_f1ap_MBS_Flows_Mapped_To_MRB_List_item;  /* MBS_Flows_Mapped_To_MRB_Item */
static int hf_f1ap_mBS_QoSFlowIdentifier;         /* QoSFlowIdentifier */
static int hf_f1ap_mbs_QoSFlowLevelQoSParameters;  /* QoSFlowLevelQoSParameters */
static int hf_f1ap_mbs_f1u_info;                  /* UPTransportLayerInformation */
static int hf_f1ap_tMGI;                          /* TMGI */
static int hf_f1ap_nID;                           /* NID */
static int hf_f1ap_mBS_Broadcast_Cell_List;       /* MBS_Broadcast_Cell_List */
static int hf_f1ap_mBS_Broadcast_MRB_List;        /* MBS_Broadcast_MRB_List */
static int hf_f1ap_MBS_Broadcast_Cell_List_item;  /* MBS_Broadcast_Cell_Item */
static int hf_f1ap_mtch_neighbourCell;            /* OCTET_STRING */
static int hf_f1ap_MBS_Broadcast_MRB_List_item;   /* MBS_Broadcast_MRB_Item */
static int hf_f1ap_mRB_PDCP_Config_Broadcast;     /* T_mRB_PDCP_Config_Broadcast */
static int hf_f1ap_multicastF1UContextReferenceF1;  /* MulticastF1UContextReferenceF1 */
static int hf_f1ap_mc_F1UCtxtusage;               /* T_mc_F1UCtxtusage */
static int hf_f1ap_mbsAreaSession;                /* MBS_Area_Session_ID */
static int hf_f1ap_mt_SDT_Indicator;              /* MT_SDT_Indicator */
static int hf_f1ap_mBS_Multicast_CU2DU_Cell_List;  /* MBS_Multicast_CU2DU_Cell_List */
static int hf_f1ap_mBS_Multicast_MRB_List;        /* MBS_Multicast_MRB_List */
static int hf_f1ap_MBS_Multicast_CU2DU_Cell_List_item;  /* MBS_Multicast_CU2DU_Cell_Item */
static int hf_f1ap_mbsMulticastRRC_INACTIVEReceptionMode;  /* MBSMulticastRRCINACTIVEReceptionMode */
static int hf_f1ap_mbsMulticastConfigurationRequest;  /* T_mbsMulticastConfigurationRequest */
static int hf_f1ap_MBS_Multicast_MRB_List_item;   /* MBS_Multicast_MRB_Item */
static int hf_f1ap_mRB_PDCP_Config_Broadcast_01;  /* T_mRB_PDCP_Config_Broadcast_01 */
static int hf_f1ap_multicastCommonCU2DUCellList;  /* MulticastCommonCU2DUCellList */
static int hf_f1ap_MulticastCommonCU2DUCellList_item;  /* MulticastCommonCU2DUCell_Item */
static int hf_f1ap_multicastCommonCu2DUCellInformation;  /* MulticastCommonCu2DUCellInformation */
static int hf_f1ap_mBSMulticastNeighbourCellListItem;  /* MBSMulticastNeighbourCellListItem */
static int hf_f1ap_thresholdMBS_ListItem;         /* ThresholdMBS_ListItem */
static int hf_f1ap_mbsMulticastNeighbourCellListInformationprovided;  /* UpdateMBSMulticastNeighbourCellListInformation */
static int hf_f1ap_nombsMulticastNeighbourCellListInformationprovided;  /* NULL */
static int hf_f1ap_thresholdMBS_ListInformationprovided;  /* UpdateThresholdMBS_ListInformation */
static int hf_f1ap_nothresholdMBSListInformationprovided;  /* NULL */
static int hf_f1ap_mbs_NeighbourCellList;         /* T_mbs_NeighbourCellList */
static int hf_f1ap_mbs_MulticastSessionList;      /* MTCH_NeighbourCellSessionList */
static int hf_f1ap_MTCH_NeighbourCellSessionList_item;  /* MTCH_NeighbourCellSession_Item */
static int hf_f1ap_mbsSessionID;                  /* MBS_Session_ID */
static int hf_f1ap_mtch_NeighbourCellInformation;  /* MTCH_NeighbourCellInformation */
static int hf_f1ap_mtch_NeighbourCellprovided;    /* T_mtch_NeighbourCellprovided */
static int hf_f1ap_mtch_NeighbourCellnotprovided;  /* NULL */
static int hf_f1ap_thresholdMBSList;              /* T_thresholdMBSList */
static int hf_f1ap_thresholdIndexSessionList;     /* ThresholdIndexSessionList */
static int hf_f1ap_ThresholdIndexSessionList_item;  /* ThresholdIndexSession_Item */
static int hf_f1ap_thresholdIndexInformation;     /* ThresholdIndexInformation */
static int hf_f1ap_thresholdIndexprovided;        /* ThresholdIndex */
static int hf_f1ap_thresholdIndexnotprovided;     /* NULL */
static int hf_f1ap_mBS_Multicast_DU2CU_Cell_List;  /* MBS_Multicast_DU2CU_Cell_List */
static int hf_f1ap_MBS_Multicast_DU2CU_Cell_List_item;  /* MBS_Multicast_DU2CU_Cell_Item */
static int hf_f1ap_mbsMulticastConfigurationResponseInfo;  /* MBSMulticastConfigurationResponseInfo */
static int hf_f1ap_mbsMulticastConfigurationNotification;  /* MBSMulticastConfigurationNotification */
static int hf_f1ap_mbsMulticastConfiguration_available;  /* MBSMulticastConfiguration_available */
static int hf_f1ap_mbsMulticastConfiguration_notavailable;  /* MBSMulticastConfiguration_notavailable */
static int hf_f1ap_mBSMulticastConfiguration;     /* T_mBSMulticastConfiguration */
static int hf_f1ap_mBSMulticastConfiguration_notavailable;  /* T_mBSMulticastConfiguration_notavailable */
static int hf_f1ap_mbsMulticastConfigurationNotificationInfo;  /* MBSMulticastConfigurationNotificationInfo */
static int hf_f1ap_mbsMulticastConfigurationChanged;  /* T_mbsMulticastConfigurationChanged */
static int hf_f1ap_mbsMulticastConfigurationRemoved;  /* NULL */
static int hf_f1ap_mbs_f1u_info_at_DU;            /* UPTransportLayerInformation */
static int hf_f1ap_mbsProgressInformation;        /* MRB_ProgressInformation */
static int hf_f1ap_locationindependent;           /* MBS_ServiceAreaInformation */
static int hf_f1ap_locationdependent_01;          /* MBS_ServiceAreaInformationList */
static int hf_f1ap_mBS_ServiceAreaCellList;       /* MBS_ServiceAreaCellList */
static int hf_f1ap_mBS_ServiceAreaTAIList;        /* MBS_ServiceAreaTAIList */
static int hf_f1ap_MBS_ServiceAreaCellList_item;  /* NRCGI */
static int hf_f1ap_MBS_ServiceAreaTAIList_item;   /* MBS_ServiceAreaTAIList_Item */
static int hf_f1ap_plmn_ID;                       /* PLMN_Identity */
static int hf_f1ap_MBS_ServiceAreaInformationList_item;  /* MBS_ServiceAreaInformationItem */
static int hf_f1ap_mBS_AreaSessionID;             /* MBS_Area_Session_ID */
static int hf_f1ap_mBS_ServiceAreaInformation;    /* MBS_ServiceAreaInformation */
static int hf_f1ap_pRS_Resource_ID;               /* PRS_Resource_ID */
static int hf_f1ap_pRS_Resource_Set_ID;           /* PRS_Resource_Set_ID */
static int hf_f1ap_sSB_Index_01;                  /* SSB_Index */
static int hf_f1ap_pdcp_SN12;                     /* INTEGER_0_4095 */
static int hf_f1ap_pdcp_SN18;                     /* INTEGER_0_262143 */
static int hf_f1ap_multipleULAoA_01;              /* MultipleULAoA_List */
static int hf_f1ap_MultipleULAoA_List_item;       /* MultipleULAoA_Item */
static int hf_f1ap_uL_AoA;                        /* UL_AoA */
static int hf_f1ap_ul_ZoA;                        /* ZoAInformation */
static int hf_f1ap_MulticastMBSSessionList_item;  /* MulticastMBSSessionList_Item */
static int hf_f1ap_mbsSessionId;                  /* MBS_Session_ID */
static int hf_f1ap_mBS_DL_PDCP_SN_Length;         /* PDCPSNLength */
static int hf_f1ap_iAB_MT_Cell_List;              /* IAB_MT_Cell_List */
static int hf_f1ap_m5period;                      /* M5period */
static int hf_f1ap_m5_links_to_log;               /* M5_Links_to_log */
static int hf_f1ap_m6report_Interval;             /* M6report_Interval */
static int hf_f1ap_m6_links_to_log;               /* M6_Links_to_log */
static int hf_f1ap_m7period;                      /* M7period */
static int hf_f1ap_m7_links_to_log;               /* M7_Links_to_log */
static int hf_f1ap_mdt_Activation;                /* MDT_Activation */
static int hf_f1ap_measurementsToActivate;        /* MeasurementsToActivate */
static int hf_f1ap_m2Configuration;               /* M2Configuration */
static int hf_f1ap_m5Configuration;               /* M5Configuration */
static int hf_f1ap_m6Configuration;               /* M6Configuration */
static int hf_f1ap_m7Configuration;               /* M7Configuration */
static int hf_f1ap_MDTPLMNList_item;              /* PLMN_Identity */
static int hf_f1ap_MDTPLMNModificationList_item;  /* PLMN_Identity */
static int hf_f1ap_uL_AngleOfArrival;             /* UL_AoA */
static int hf_f1ap_uL_SRS_RSRP;                   /* UL_SRS_RSRP */
static int hf_f1ap_uL_RTOA;                       /* UL_RTOA_Measurement */
static int hf_f1ap_gNB_RxTxTimeDiff;              /* GNB_RxTxTimeDiff */
static int hf_f1ap_location_Information;          /* T_location_Information */
static int hf_f1ap_velocity_Information;          /* T_velocity_Information */
static int hf_f1ap_location_time_stamp;           /* TimeStamp */
static int hf_f1ap_targetRelayUEID_01;            /* GNB_DU_UE_F1AP_ID */
static int hf_f1ap_NA_Resource_Configuration_List_item;  /* NA_Resource_Configuration_Item */
static int hf_f1ap_nADownlink;                    /* NADownlink */
static int hf_f1ap_nAUplink;                      /* NAUplink */
static int hf_f1ap_nAFlexible;                    /* NAFlexible */
static int hf_f1ap_oLDNCGI;                       /* NRCGI */
static int hf_f1ap_nEWNCGI;                       /* NRCGI */
static int hf_f1ap_Neighbour_Node_Cells_List_item;  /* Neighbour_Node_Cells_List_Item */
static int hf_f1ap_peer_Parent_Node_Indicator;    /* T_peer_Parent_Node_Indicator */
static int hf_f1ap_cSI_RS_Configuration_01;       /* T_cSI_RS_Configuration_01 */
static int hf_f1ap_sR_Configuration_01;           /* T_sR_Configuration_01 */
static int hf_f1ap_pDCCH_ConfigSIB1_01;           /* T_pDCCH_ConfigSIB1_01 */
static int hf_f1ap_sCS_Common_01;                 /* T_sCS_Common_01 */
static int hf_f1ap_intendedTDD_DL_ULConfig;       /* IntendedTDD_DL_ULConfig */
static int hf_f1ap_NeighbourNR_CellsForSON_List_item;  /* NeighbourNR_CellsForSON_Item */
static int hf_f1ap_nR_ModeInfoRel16;              /* NR_ModeInfoRel16 */
static int hf_f1ap_sSB_PositionsInBurst;          /* SSB_PositionsInBurst */
static int hf_f1ap_nRPRACHConfig;                 /* NRPRACHConfig */
static int hf_f1ap_latitude_01;                   /* INTEGER_M2147483648_2147483647 */
static int hf_f1ap_longitude_01;                  /* INTEGER_M2147483648_2147483647 */
static int hf_f1ap_altitude_01;                   /* INTEGER_M64000_1280000 */
static int hf_f1ap_uncertaintySemi_major_01;      /* INTEGER_0_255 */
static int hf_f1ap_uncertaintySemi_minor_01;      /* INTEGER_0_255 */
static int hf_f1ap_uncertaintyAltitude_01;        /* INTEGER_0_255 */
static int hf_f1ap_nR_PRSBeamInformationList;     /* NR_PRSBeamInformationList */
static int hf_f1ap_lCStoGCSTranslationList;       /* LCStoGCSTranslationList */
static int hf_f1ap_NR_PRSBeamInformationList_item;  /* NR_PRSBeamInformationItem */
static int hf_f1ap_pRSResourceSetID;              /* PRS_Resource_Set_ID */
static int hf_f1ap_pRSAngleList;                  /* PRSAngleList */
static int hf_f1ap_nrpaging_eDRX_Cycle_Idle;      /* NRPaging_eDRX_Cycle_Idle */
static int hf_f1ap_nrpaging_Time_Window;          /* NRPaging_Time_Window */
static int hf_f1ap_nrpaging_eDRX_Cycle_Inactive;  /* NRPaging_eDRX_Cycle_Inactive */
static int hf_f1ap_nRPaging_long_eDRX_Cycle_Inactive;  /* NRPaging_long_eDRX_Cycle_Inactive */
static int hf_f1ap_nRPaging_Time_Window_Inactive;  /* NRPaging_Time_Window_Inactive */
static int hf_f1ap_message_Identifier;            /* MessageIdentifier */
static int hf_f1ap_serialNumber;                  /* SerialNumber */
static int hf_f1ap_sNPN_Broadcast_Information;    /* NPN_Broadcast_Information_SNPN */
static int hf_f1ap_pNI_NPN_Broadcast_Information;  /* NPN_Broadcast_Information_PNI_NPN */
static int hf_f1ap_broadcastSNPNID_List;          /* BroadcastSNPN_ID_List */
static int hf_f1ap_broadcastPNI_NPN_ID_Information;  /* BroadcastPNI_NPN_ID_List */
static int hf_f1ap_sNPN_Information;              /* NID */
static int hf_f1ap_NRCarrierList_item;            /* NRCarrierItem */
static int hf_f1ap_carrierSCS;                    /* NRSCS */
static int hf_f1ap_offsetToCarrier;               /* INTEGER_0_2199_ */
static int hf_f1ap_carrierBandwidth;              /* INTEGER_0_maxnoofPhysicalResourceBlocks_ */
static int hf_f1ap_sul_Information;               /* SUL_Information */
static int hf_f1ap_freqBandListNr;                /* SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem */
static int hf_f1ap_freqBandListNr_item;           /* FreqBandNrItem */
static int hf_f1ap_fDD_03;                        /* FDD_Info */
static int hf_f1ap_tDD_03;                        /* TDD_Info */
static int hf_f1ap_fDD_04;                        /* FDD_InfoRel16 */
static int hf_f1ap_tDD_04;                        /* TDD_InfoRel16 */
static int hf_f1ap_ulPRACHConfigList;             /* NRPRACHConfigList */
static int hf_f1ap_sulPRACHConfigList;            /* NRPRACHConfigList */
static int hf_f1ap_NRPRACHConfigList_item;        /* NRPRACHConfigItem */
static int hf_f1ap_nRSCS_01;                      /* NRSCS */
static int hf_f1ap_prachFreqStartfromCarrier;     /* INTEGER_0_maxnoofPhysicalResourceBlocks_1_ */
static int hf_f1ap_prachFDM;                      /* T_prachFDM */
static int hf_f1ap_prachConfigIndex;              /* INTEGER_0_255_ */
static int hf_f1ap_ssb_perRACH_Occasion;          /* T_ssb_perRACH_Occasion */
static int hf_f1ap_freqDomainLength;              /* FreqDomainLength */
static int hf_f1ap_zeroCorrelZoneConfig;          /* INTEGER_0_15 */
static int hf_f1ap_NR_U_Channel_Info_List_item;   /* NR_U_Channel_Info_Item */
static int hf_f1ap_nr_U_channel_ID;               /* INTEGER_1_maxnoofNR_UChannelIDs_ */
static int hf_f1ap_nR_ARFCN;                      /* INTEGER_0_maxNRARFCN */
static int hf_f1ap_bandwidth;                     /* T_bandwidth */
static int hf_f1ap_NR_U_Channel_List_item;        /* NR_U_Channel_Item */
static int hf_f1ap_nR_U_ChannelID;                /* INTEGER_1_maxnoofNR_UChannelIDs */
static int hf_f1ap_channelOccupancyTimePercentageDL;  /* ChannelOccupancyTimePercentage */
static int hf_f1ap_energyDetectionThreshold;      /* EnergyDetectionThreshold */
static int hf_f1ap_numDLSymbols;                  /* INTEGER_0_13_ */
static int hf_f1ap_numULSymbols;                  /* INTEGER_0_13_ */
static int hf_f1ap_uENRSidelinkAggregateMaximumBitrate;  /* BitRate */
static int hf_f1ap_n6JitterLowerBound;            /* INTEGER_M127_127 */
static int hf_f1ap_n6JitterUpperBound;            /* INTEGER_M127_127 */
static int hf_f1ap_onDemandPRSRequestAllowed;     /* BIT_STRING_SIZE_16 */
static int hf_f1ap_allowedResourceSetPeriodicityValues;  /* BIT_STRING_SIZE_24 */
static int hf_f1ap_allowedPRSBandwidthValues;     /* BIT_STRING_SIZE_64 */
static int hf_f1ap_allowedResourceRepetitionFactorValues;  /* BIT_STRING_SIZE_8 */
static int hf_f1ap_allowedResourceNumberOfSymbolsValues;  /* BIT_STRING_SIZE_8 */
static int hf_f1ap_allowedCombSizeValues;         /* BIT_STRING_SIZE_8 */
static int hf_f1ap_pER_Scalar;                    /* PER_Scalar */
static int hf_f1ap_pER_Exponent;                  /* PER_Exponent */
static int hf_f1ap_indirectPathAddition;          /* IndirectPathAddition */
static int hf_f1ap_directPathAddition;            /* NULL */
static int hf_f1ap_n3C_indirectPathAddition;      /* N3CIndirectPathAddition */
static int hf_f1ap_Recommended_SSBs_List_item;    /* RecommendedSSBItem_List_Item */
static int hf_f1ap_rANUEPagingIdentity;           /* RANUEPagingIdentity */
static int hf_f1ap_cNUEPagingIdentity;            /* CNUEPagingIdentity */
static int hf_f1ap_cNSubgroupID;                  /* CNSubgroupID */
static int hf_f1ap_k0_01;                         /* INTEGER_0_16351 */
static int hf_f1ap_k1_01;                         /* INTEGER_0_8176 */
static int hf_f1ap_k2_01;                         /* INTEGER_0_4088 */
static int hf_f1ap_k3_01;                         /* INTEGER_0_2044 */
static int hf_f1ap_k4_01;                         /* INTEGER_0_1022 */
static int hf_f1ap_k5_01;                         /* INTEGER_0_511 */
static int hf_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_List_item;  /* Parent_IAB_Nodes_NA_Resource_Configuration_Item */
static int hf_f1ap_broadcastCellList;             /* BroadcastCellList */
static int hf_f1ap_pathlossReferenceSignal;       /* PathlossReferenceSignal */
static int hf_f1ap_sSB;                           /* SSB */
static int hf_f1ap_dL_PRS;                        /* DL_PRS */
static int hf_f1ap_t420;                          /* T_t420 */
static int hf_f1ap_non_Dynamic_PQI;               /* NonDynamicPQIDescriptor */
static int hf_f1ap_dynamic_PQI;                   /* DynamicPQIDescriptor */
static int hf_f1ap_pC5_QoS_Characteristics;       /* PC5_QoS_Characteristics */
static int hf_f1ap_pC5_QoS_Flow_Bit_Rates;        /* PC5FlowBitRates */
static int hf_f1ap_guaranteedFlowBitRate;         /* BitRate */
static int hf_f1ap_maximumFlowBitRate;            /* BitRate */
static int hf_f1ap_pC5RLCChannelQoS;              /* QoSFlowLevelQoSParameters */
static int hf_f1ap_pC5ControlPlaneTrafficType;    /* T_pC5ControlPlaneTrafficType */
static int hf_f1ap_PC5RLCChannelToBeSetupList_item;  /* PC5RLCChannelToBeSetupItem */
static int hf_f1ap_pC5RLCChannelID;               /* PC5RLCChannelID */
static int hf_f1ap_pC5RLCChannelQoSInformation;   /* PC5RLCChannelQoSInformation */
static int hf_f1ap_PC5RLCChannelToBeModifiedList_item;  /* PC5RLCChannelToBeModifiedItem */
static int hf_f1ap_PC5RLCChannelToBeReleasedList_item;  /* PC5RLCChannelToBeReleasedItem */
static int hf_f1ap_PC5RLCChannelSetupList_item;   /* PC5RLCChannelSetupItem */
static int hf_f1ap_PC5RLCChannelFailedToBeSetupList_item;  /* PC5RLCChannelFailedToBeSetupItem */
static int hf_f1ap_PC5RLCChannelModifiedList_item;  /* PC5RLCChannelModifiedItem */
static int hf_f1ap_PC5RLCChannelFailedToBeModifiedList_item;  /* PC5RLCChannelFailedToBeModifiedItem */
static int hf_f1ap_PC5RLCChannelRequiredToBeModifiedList_item;  /* PC5RLCChannelRequiredToBeModifiedItem */
static int hf_f1ap_PC5RLCChannelRequiredToBeReleasedList_item;  /* PC5RLCChannelRequiredToBeReleasedItem */
static int hf_f1ap_PDCMeasurementQuantities_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_pDCmeasurementQuantitiesValue;  /* PDCMeasurementQuantitiesValue */
static int hf_f1ap_pDCMeasuredResultsList;        /* PDCMeasuredResultsList */
static int hf_f1ap_PDCMeasuredResultsList_item;   /* PDCMeasuredResults_Item */
static int hf_f1ap_pDCMeasuredResults_Value;      /* PDCMeasuredResults_Value */
static int hf_f1ap_pDC_TADV_NR;                   /* PDC_TADV_NR */
static int hf_f1ap_pDC_RxTxTimeDiff;              /* PDC_RxTxTimeDiff */
static int hf_f1ap_PeriodicityList_item;          /* PeriodicityList_Item */
static int hf_f1ap_periodicitySRS;                /* PeriodicitySRS */
static int hf_f1ap_periodicityLowerBound;         /* Periodicity */
static int hf_f1ap_periodicityUpperBound;         /* Periodicity */
static int hf_f1ap_AllowedPeriodicityList_item;   /* Periodicity */
static int hf_f1ap_periodicityBound;              /* PeriodicityBound */
static int hf_f1ap_periodicityList;               /* AllowedPeriodicityList */
static int hf_f1ap_choice_extensions;             /* ProtocolIE_SingleContainer */
static int hf_f1ap_PositioningBroadcastCells_item;  /* NRCGI */
static int hf_f1ap_posMeasGapPreConfigToAddModList;  /* T_posMeasGapPreConfigToAddModList */
static int hf_f1ap_posMeasGapPreConfigToReleaseList;  /* T_posMeasGapPreConfigToReleaseList */
static int hf_f1ap_PosMeasurementQuantities_item;  /* PosMeasurementQuantities_Item */
static int hf_f1ap_posMeasurementType;            /* PosMeasurementType */
static int hf_f1ap_timingReportingGranularityFactor;  /* INTEGER_0_5 */
static int hf_f1ap_PosMeasurementResult_item;     /* PosMeasurementResultItem */
static int hf_f1ap_measuredResultsValue;          /* MeasuredResultsValue */
static int hf_f1ap_measurementBeamInfo;           /* MeasurementBeamInfo */
static int hf_f1ap_PosMeasurementResultList_item;  /* PosMeasurementResultList_Item */
static int hf_f1ap_posMeasurementResult;          /* PosMeasurementResult */
static int hf_f1ap_tRPID;                         /* TRPID */
static int hf_f1ap_periodic;                      /* PosResourceSetTypePR */
static int hf_f1ap_semi_persistent;               /* PosResourceSetTypeSP */
static int hf_f1ap_aperiodic;                     /* PosResourceSetTypeAP */
static int hf_f1ap_posperiodicSet;                /* T_posperiodicSet */
static int hf_f1ap_possemi_persistentSet;         /* T_possemi_persistentSet */
static int hf_f1ap_sRSResourceTrigger_List;       /* INTEGER_1_3 */
static int hf_f1ap_PosSItypeList_item;            /* PosSItype_Item */
static int hf_f1ap_posItype;                      /* PosSItype */
static int hf_f1ap_PosSRSResourceID_List_item;    /* SRSPosResourceID */
static int hf_f1ap_srs_PosResourceId;             /* SRSPosResourceID */
static int hf_f1ap_transmissionCombPos;           /* TransmissionCombPos */
static int hf_f1ap_startPosition;                 /* INTEGER_0_13 */
static int hf_f1ap_nrofSymbols;                   /* T_nrofSymbols */
static int hf_f1ap_freqDomainShift;               /* INTEGER_0_268 */
static int hf_f1ap_c_SRS;                         /* INTEGER_0_63 */
static int hf_f1ap_groupOrSequenceHopping;        /* T_groupOrSequenceHopping */
static int hf_f1ap_resourceTypePos;               /* ResourceTypePos */
static int hf_f1ap_sequenceId;                    /* INTEGER_0_65535 */
static int hf_f1ap_spatialRelationPos;            /* SpatialRelationPos */
static int hf_f1ap_PosSRSResource_List_item;      /* PosSRSResource_Item */
static int hf_f1ap_possrsResourceSetID;           /* INTEGER_0_15 */
static int hf_f1ap_possRSResourceID_List;         /* PosSRSResourceID_List */
static int hf_f1ap_posresourceSetType;            /* PosResourceSetType */
static int hf_f1ap_PosValidityAreaCellList_item;  /* PosValidityAreaCellList_Item */
static int hf_f1ap_nRPCI_01;                      /* INTEGER_0_1007 */
static int hf_f1ap_PosSRSResourceSet_List_item;   /* PosSRSResourceSet_Item */
static int hf_f1ap_PreambleIndexList_item;        /* PreambleIndexList_Item */
static int hf_f1ap_preambleIndex_01;              /* INTEGER_0_63 */
static int hf_f1ap_spectrumSharingGroupID;        /* SpectrumSharingGroupID */
static int hf_f1ap_eUTRACells_List;               /* EUTRACells_List */
static int hf_f1ap_pRSResourceSet_List;           /* PRSResourceSet_List */
static int hf_f1ap_pRS_IDPos;                     /* INTEGER_0_255 */
static int hf_f1ap_pRS_Resource_Set_IDPos;        /* INTEGER_0_7 */
static int hf_f1ap_pRS_Resource_IDPos;            /* INTEGER_0_63 */
static int hf_f1ap_PRS_Measurement_Info_List_item;  /* PRS_Measurement_Info_List_Item */
static int hf_f1ap_measPRSPeriodicity;            /* T_measPRSPeriodicity */
static int hf_f1ap_measPRSOffset;                 /* INTEGER_0_159_ */
static int hf_f1ap_measurementPRSLength;          /* T_measurementPRSLength */
static int hf_f1ap_potential_SpCell_ID;           /* NRCGI */
static int hf_f1ap_PRSAngleList_item;             /* PRSAngleItem */
static int hf_f1ap_nR_PRS_Azimuth;                /* INTEGER_0_359 */
static int hf_f1ap_nR_PRS_Azimuth_fine;           /* INTEGER_0_9 */
static int hf_f1ap_nR_PRS_Elevation;              /* INTEGER_0_180 */
static int hf_f1ap_nR_PRS_Elevation_fine;         /* INTEGER_0_9 */
static int hf_f1ap_pRSMutingOption1;              /* PRSMutingOption1 */
static int hf_f1ap_pRSMutingOption2;              /* PRSMutingOption2 */
static int hf_f1ap_mutingPattern;                 /* DL_PRSMutingPattern */
static int hf_f1ap_mutingBitRepetitionFactor;     /* T_mutingBitRepetitionFactor */
static int hf_f1ap_PRSResource_List_item;         /* PRSResource_Item */
static int hf_f1ap_pRSResourceID;                 /* PRS_Resource_ID */
static int hf_f1ap_sequenceID;                    /* INTEGER_0_4095 */
static int hf_f1ap_rEOffset;                      /* INTEGER_0_11_ */
static int hf_f1ap_resourceSlotOffset;            /* INTEGER_0_511 */
static int hf_f1ap_resourceSymbolOffset;          /* INTEGER_0_12 */
static int hf_f1ap_qCLInfo;                       /* PRSResource_QCLInfo */
static int hf_f1ap_qCLSourceSSB;                  /* PRSResource_QCLSourceSSB */
static int hf_f1ap_qCLSourcePRS;                  /* PRSResource_QCLSourcePRS */
static int hf_f1ap_pCI_NR;                        /* INTEGER_0_1007 */
static int hf_f1ap_qCLSourcePRSResourceSetID;     /* PRS_Resource_Set_ID */
static int hf_f1ap_qCLSourcePRSResourceID;        /* PRS_Resource_ID */
static int hf_f1ap_PRSResourceSet_List_item;      /* PRSResourceSet_Item */
static int hf_f1ap_subcarrierSpacing_02;          /* T_subcarrierSpacing_01 */
static int hf_f1ap_pRSbandwidth;                  /* INTEGER_1_63 */
static int hf_f1ap_startPRB;                      /* INTEGER_0_2176 */
static int hf_f1ap_combSize;                      /* T_combSize */
static int hf_f1ap_cPType;                        /* T_cPType */
static int hf_f1ap_resourceSetPeriodicity;        /* T_resourceSetPeriodicity */
static int hf_f1ap_resourceSetSlotOffset;         /* INTEGER_0_81919_ */
static int hf_f1ap_resourceRepetitionFactor;      /* T_resourceRepetitionFactor */
static int hf_f1ap_resourceTimeGap;               /* T_resourceTimeGap */
static int hf_f1ap_resourceNumberofSymbols;       /* T_resourceNumberofSymbols */
static int hf_f1ap_pRSMuting;                     /* PRSMuting */
static int hf_f1ap_pRSResourceTransmitPower;      /* INTEGER_M60_50 */
static int hf_f1ap_pRSResource_List;              /* PRSResource_List */
static int hf_f1ap_pRSTransmissionOffPerTRP;      /* NULL */
static int hf_f1ap_pRSTransmissionOffPerResourceSet;  /* PRSTransmissionOffPerResourceSet */
static int hf_f1ap_pRSTransmissionOffPerResource;  /* PRSTransmissionOffPerResource */
static int hf_f1ap_PRSTransmissionOffPerResource_item;  /* PRSTransmissionOffPerResource_Item */
static int hf_f1ap_pRSTransmissionOffIndicationPerResourceList;  /* SEQUENCE_SIZE_1_maxnoofPRSresources_OF_PRSTransmissionOffIndicationPerResource_Item */
static int hf_f1ap_pRSTransmissionOffIndicationPerResourceList_item;  /* PRSTransmissionOffIndicationPerResource_Item */
static int hf_f1ap_pRSTransmissionOffIndication;  /* PRSTransmissionOffIndication */
static int hf_f1ap_PRSTransmissionOffPerResourceSet_item;  /* PRSTransmissionOffPerResourceSet_Item */
static int hf_f1ap_sIBtype;                       /* SIBType_PWS */
static int hf_f1ap_sIBmessage;                    /* T_sIBmessage */
static int hf_f1ap_PRSTRPList_item;               /* PRSTRPItem */
static int hf_f1ap_tRP_ID;                        /* TRPID */
static int hf_f1ap_requestedDLPRSTransmissionCharacteristics;  /* RequestedDLPRSTransmissionCharacteristics */
static int hf_f1ap_pRSTransmissionOffInformation;  /* PRSTransmissionOffInformation */
static int hf_f1ap_requestedDLPRSResourceSet_List;  /* RequestedDLPRSResourceSet_List */
static int hf_f1ap_numberofFrequencyLayers;       /* INTEGER_1_4 */
static int hf_f1ap_startTimeAndDuration;          /* StartTimeAndDuration */
static int hf_f1ap_RequestedDLPRSResourceSet_List_item;  /* RequestedDLPRSResourceSet_Item */
static int hf_f1ap_combSize_01;                   /* T_combSize_01 */
static int hf_f1ap_resourceSetPeriodicity_01;     /* T_resourceSetPeriodicity_01 */
static int hf_f1ap_resourceRepetitionFactor_01;   /* T_resourceRepetitionFactor_01 */
static int hf_f1ap_resourceNumberofSymbols_01;    /* T_resourceNumberofSymbols_01 */
static int hf_f1ap_requestedDLPRSResource_List;   /* RequestedDLPRSResource_List */
static int hf_f1ap_resourceSetStartTimeAndDuration;  /* StartTimeAndDuration */
static int hf_f1ap_RequestedDLPRSResource_List_item;  /* RequestedDLPRSResource_Item */
static int hf_f1ap_PRSTransmissionTRPList_item;   /* PRSTransmissionTRPItem */
static int hf_f1ap_pRSConfiguration;              /* PRSConfiguration */
static int hf_f1ap_ulPDUSetQoSInformation;        /* PDUSetQoSInformation */
static int hf_f1ap_dlPDUSetQoSInformation;        /* PDUSetQoSInformation */
static int hf_f1ap_pduSetDelayBudget;             /* ExtendedPacketDelayBudget */
static int hf_f1ap_pduSetErrorRate;               /* PacketErrorRate */
static int hf_f1ap_pduSetIntegratedHandlingInformation;  /* T_pduSetIntegratedHandlingInformation */
static int hf_f1ap_qoEInformationList;            /* QoEInformationList */
static int hf_f1ap_QoEInformationList_item;       /* QoEInformationList_Item */
static int hf_f1ap_qoEMetrics;                    /* QoEMetrics */
static int hf_f1ap_appLayerBufferLevelList;       /* AppLayerBufferLevelList */
static int hf_f1ap_playoutDelayForMediaStartup;   /* PlayoutDelayForMediaStartup */
static int hf_f1ap_non_Dynamic_5QI;               /* NonDynamic5QIDescriptor */
static int hf_f1ap_dynamic_5QI;                   /* Dynamic5QIDescriptor */
static int hf_f1ap_qoS_Characteristics;           /* QoS_Characteristics */
static int hf_f1ap_nGRANallocationRetentionPriority;  /* NGRANAllocationAndRetentionPriority */
static int hf_f1ap_gBR_QoS_Flow_Information;      /* GBR_QoSFlowInformation */
static int hf_f1ap_reflective_QoS_Attribute;      /* T_reflective_QoS_Attribute */
static int hf_f1ap_eUTRANQoS;                     /* EUTRANQoS */
static int hf_f1ap_RAReportList_item;             /* RAReportItem */
static int hf_f1ap_rAReportContainer;             /* RAReportContainer */
static int hf_f1ap_uEAssitantIdentifier;          /* GNB_DU_UE_F1AP_ID */
static int hf_f1ap_RAReportIndicationList_item;   /* RAReportIndicationList_Item */
static int hf_f1ap_sSBAreaRadioResourceStatusList;  /* SSBAreaRadioResourceStatusList */
static int hf_f1ap_dl_Total_PRB_usage;            /* INTEGER_0_100 */
static int hf_f1ap_ul_Total_PRB_usage;            /* INTEGER_0_100 */
static int hf_f1ap_dl_GBR_PRB_usage_for_MIMO;     /* INTEGER_0_100 */
static int hf_f1ap_ul_GBR_PRB_usage_for_MIMO;     /* INTEGER_0_100 */
static int hf_f1ap_dl_non_GBR_PRB_usage_for_MIMO;  /* INTEGER_0_100 */
static int hf_f1ap_ul_non_GBR_PRB_usage_for_MIMO;  /* INTEGER_0_100 */
static int hf_f1ap_dl_Total_PRB_usage_for_MIMO;   /* INTEGER_0_100 */
static int hf_f1ap_ul_Total_PRB_usage_for_MIMO;   /* INTEGER_0_100 */
static int hf_f1ap_proactive;                     /* RANfeedbacktype_proactive */
static int hf_f1ap_reactive;                      /* RANfeedbacktype_reactive */
static int hf_f1ap_burstArrivalTimeWindow;        /* BurstArrivalTimeWindow */
static int hf_f1ap_periodicityRange;              /* PeriodicityRange */
static int hf_f1ap_capabilityForBATAdaptation;    /* T_capabilityForBATAdaptation */
static int hf_f1ap_synchronisationstate;          /* T_synchronisationstate */
static int hf_f1ap_traceabletoUTC;                /* T_traceabletoUTC */
static int hf_f1ap_traceabletoGNSS;               /* T_traceabletoGNSS */
static int hf_f1ap_clockFrequencyStability;       /* BIT_STRING_SIZE_16 */
static int hf_f1ap_clockAccuracy;                 /* ClockAccuracy */
static int hf_f1ap_parentTimeSource;              /* ParentTImeSource */
static int hf_f1ap_clockAccuracyValue;            /* INTEGER_1_40000000_ */
static int hf_f1ap_clockAccuracyIndex;            /* INTEGER_32_47_ */
static int hf_f1ap_iRNTI;                         /* BIT_STRING_SIZE_40 */
static int hf_f1ap_eNDC;                          /* SubscriberProfileIDforRFP */
static int hf_f1ap_nGRAN;                         /* RAT_FrequencySelectionPriority */
static int hf_f1ap_rBSetSize;                     /* RBSetSize */
static int hf_f1ap_nUmberRBsets;                  /* INTEGER_1_maxnoofRBsetsPerCell */
static int hf_f1ap_Recommended_SSBs_for_Paging_List_item;  /* Recommended_SSBs_for_Paging_List_Item */
static int hf_f1ap_sSBs_forPaging_List;           /* SSBs_forPaging_List */
static int hf_f1ap_coordinateID;                  /* CoordinateID */
static int hf_f1ap_referencePointCoordinate;      /* AccessPointPosition */
static int hf_f1ap_referencePointCoordinateHA;    /* NGRANHighAccuracyAccessPointPosition */
static int hf_f1ap_nZP_CSI_RS;                    /* NZP_CSI_RS_ResourceID */
static int hf_f1ap_sRS;                           /* SRSResourceID */
static int hf_f1ap_rEQUESTforLowerLayerConfiguration;  /* RequestforLowerLayerConfiguration */
static int hf_f1ap_referenceConfiguration_01;     /* ReferenceConfigurationInformation */
static int hf_f1ap_xYZunit;                       /* T_xYZunit */
static int hf_f1ap_xvalue;                        /* INTEGER_M65536_65535 */
static int hf_f1ap_yvalue;                        /* INTEGER_M65536_65535 */
static int hf_f1ap_zvalue;                        /* INTEGER_M32768_32767 */
static int hf_f1ap_locationUncertainty;           /* LocationUncertainty */
static int hf_f1ap_milli_Arc_SecondUnits;         /* T_milli_Arc_SecondUnits */
static int hf_f1ap_heightUnits;                   /* T_heightUnits */
static int hf_f1ap_deltaLatitude;                 /* INTEGER_M1024_1023 */
static int hf_f1ap_deltaLongitude;                /* INTEGER_M1024_1023 */
static int hf_f1ap_deltaHeight;                   /* INTEGER_M1024_1023 */
static int hf_f1ap_RequestedSRSPreconfigurationCharacteristics_List_item;  /* RequestedSRSPreconfigurationCharacteristics_Item */
static int hf_f1ap_requestedSRSTransmissionCharacteristics;  /* RequestedSRSTransmissionCharacteristics */
static int hf_f1ap_numberOfTransmissions;         /* INTEGER_0_500_ */
static int hf_f1ap_resourceType_01;               /* T_resourceType_01 */
static int hf_f1ap_bandwidthSRS;                  /* BandwidthSRS */
static int hf_f1ap_sRSResourceSetList;            /* SRSResourceSetList */
static int hf_f1ap_eUTRA_Mode_Info;               /* EUTRA_Coex_Mode_Info */
static int hf_f1ap_eUTRA_PRACH_Configuration;     /* EUTRA_PRACH_Configuration */
static int hf_f1ap_meNB_Cell_ID;                  /* EUTRA_Cell_ID */
static int hf_f1ap_resourceCoordinationEUTRACellInfo;  /* ResourceCoordinationEUTRACellInfo */
static int hf_f1ap_nrofSumbols;                   /* T_nrofSumbols */
static int hf_f1ap_periodic_01;                   /* ResourceSetTypePeriodic */
static int hf_f1ap_semi_persistent_01;            /* ResourceSetTypeSemi_persistent */
static int hf_f1ap_aperiodic_01;                  /* ResourceSetTypeAperiodic */
static int hf_f1ap_periodicSet;                   /* T_periodicSet */
static int hf_f1ap_semi_persistentSet;            /* T_semi_persistentSet */
static int hf_f1ap_slotoffset;                    /* INTEGER_0_32 */
static int hf_f1ap_eventType;                     /* EventType */
static int hf_f1ap_reportingPeriodicityValue;     /* ReportingPeriodicityValue */
static int hf_f1ap_periodic_02;                   /* ResourceTypePeriodic */
static int hf_f1ap_semi_persistent_02;            /* ResourceTypeSemi_persistent */
static int hf_f1ap_aperiodic_02;                  /* ResourceTypeAperiodic */
static int hf_f1ap_periodicity;                   /* T_periodicity */
static int hf_f1ap_offset;                        /* INTEGER_0_2559_ */
static int hf_f1ap_periodicity_01;                /* T_periodicity_01 */
static int hf_f1ap_aperiodicResourceType;         /* T_aperiodicResourceType */
static int hf_f1ap_periodic_03;                   /* ResourceTypePeriodicPos */
static int hf_f1ap_semi_persistent_03;            /* ResourceTypeSemi_persistentPos */
static int hf_f1ap_aperiodic_03;                  /* ResourceTypeAperiodicPos */
static int hf_f1ap_periodicity_02;                /* SRS_Periodicity */
static int hf_f1ap_offset_01;                     /* INTEGER_0_81919_ */
static int hf_f1ap_slotOffset;                    /* INTEGER_0_32 */
static int hf_f1ap_rLCDuplicationStateList;       /* RLCDuplicationStateList */
static int hf_f1ap_primaryPathIndication;         /* PrimaryPathIndication */
static int hf_f1ap_RLCDuplicationStateList_item;  /* RLCDuplicationState_Item */
static int hf_f1ap_duplicationState;              /* DuplicationState */
static int hf_f1ap_assocatedLCID;                 /* LCID */
static int hf_f1ap_reestablishment_Indication;    /* Reestablishment_Indication */
static int hf_f1ap_RLFReportInformationList_item;  /* RLFReportInformationItem */
static int hf_f1ap_nRUERLFReportContainer;        /* NRUERLFReportContainer */
static int hf_f1ap_delivery_status;               /* PDCP_SN */
static int hf_f1ap_triggering_message;            /* PDCP_SN */
static int hf_f1ap_rRC_TerminatingIAB_Donor_gNB_ID;  /* GlobalGNB_ID */
static int hf_f1ap_mobileIAB_MT_BAP_Address;      /* BAPAddress */
static int hf_f1ap_latest_RRC_Version;            /* BIT_STRING_SIZE_3 */
static int hf_f1ap_time;                          /* INTEGER_1_128_ */
static int hf_f1ap_timeUnit;                      /* T_timeUnit */
static int hf_f1ap_sCellIndex;                    /* SCellIndex */
static int hf_f1ap_sCellULConfigured;             /* CellULConfigured */
static int hf_f1ap_subcarrierSpacing_03;          /* T_subcarrierSpacing_02 */
static int hf_f1ap_carrierBandwidth_01;           /* INTEGER_1_275_ */
static int hf_f1ap_sDTBearerConfig_List;          /* SDTBearerConfig_List */
static int hf_f1ap_SDTBearerConfig_List_item;     /* SDTBearerConfig_List_Item */
static int hf_f1ap_sDTBearerType;                 /* SDTBearerType */
static int hf_f1ap_sDTRLCBearerConfiguration;     /* SDTRLCBearerConfiguration */
static int hf_f1ap_sRB;                           /* SRBID */
static int hf_f1ap_dRB;                           /* DRBID */
static int hf_f1ap_sdtIndicator;                  /* T_sdtIndicator */
static int hf_f1ap_sdtAssistantInformation;       /* T_sdtAssistantInformation */
static int hf_f1ap_expectedPropagationDelay;      /* INTEGER_M3841_3841_ */
static int hf_f1ap_delayUncertainty;              /* INTEGER_1_246_ */
static int hf_f1ap_servingCellMO;                 /* ServingCellMO */
static int hf_f1ap_sSB_Frequency;                 /* INTEGER_0_3279165 */
static int hf_f1ap_ServingCellMO_encoded_in_CGC_List_item;  /* ServingCellMO_encoded_in_CGC_Item */
static int hf_f1ap_configured_EPS_TAC;            /* Configured_EPS_TAC */
static int hf_f1ap_servedPLMNs;                   /* ServedPLMNs_List */
static int hf_f1ap_nR_Mode_Info;                  /* NR_Mode_Info */
static int hf_f1ap_measurementTimingConfiguration;  /* T_measurementTimingConfiguration */
static int hf_f1ap_Serving_Cells_List_item;       /* Serving_Cells_List_Item */
static int hf_f1ap_iAB_MT_Cell_NA_Resource_Configuration_Mode_Info;  /* IAB_MT_Cell_NA_Resource_Configuration_Mode_Info */
static int hf_f1ap_Supported_MBS_FSA_ID_List_item;  /* MBS_FrequencySelectionArea_Identity */
static int hf_f1ap_sFN_Time_Offset;               /* BIT_STRING_SIZE_24 */
static int hf_f1ap_oldNRCGI;                      /* NRCGI */
static int hf_f1ap_eUTRA_Mode_Info_01;            /* EUTRA_Mode_Info */
static int hf_f1ap_protectedEUTRAResourceIndication;  /* ProtectedEUTRAResourceIndication */
static int hf_f1ap_service_state;                 /* Service_State */
static int hf_f1ap_switchingOffOngoing;           /* T_switchingOffOngoing */
static int hf_f1ap_SItype_List_item;              /* SItype_Item */
static int hf_f1ap_sItype;                        /* SItype */
static int hf_f1ap_sIBtype_01;                    /* T_sIBtype */
static int hf_f1ap_sIBmessage_01;                 /* T_sIBmessage_01 */
static int hf_f1ap_valueTag;                      /* INTEGER_0_31_ */
static int hf_f1ap_gNB_DU_UE_F1APIDofRelayUE;     /* GNB_DU_UE_F1AP_ID */
static int hf_f1ap_sidelinkConfigurationContainer;  /* SidelinkConfigurationContainer */
static int hf_f1ap_sLDRB_QoS;                     /* PC5QoSParameters */
static int hf_f1ap_flowsMappedToSLDRB_List;       /* FlowsMappedToSLDRB_List */
static int hf_f1ap_sLDRBID;                       /* SLDRBID */
static int hf_f1ap_sLDRBInformation;              /* SLDRBInformation */
static int hf_f1ap_SLDRXCycleList_item;           /* SLDRXCycleItem */
static int hf_f1ap_rXUEID;                        /* BIT_STRING_SIZE_24 */
static int hf_f1ap_sLDRXInformation;              /* SLDRXInformation */
static int hf_f1ap_sLDRXCycle;                    /* SLDRXCycleLength */
static int hf_f1ap_nosLDRX;                       /* SLDRXConfigurationIndicator */
static int hf_f1ap_sliceAvailableCapacityList;    /* SliceAvailableCapacityList */
static int hf_f1ap_SliceAvailableCapacityList_item;  /* SliceAvailableCapacityItem */
static int hf_f1ap_sNSSAIAvailableCapacity_List;  /* SNSSAIAvailableCapacity_List */
static int hf_f1ap_SNSSAIAvailableCapacity_List_item;  /* SNSSAIAvailableCapacity_Item */
static int hf_f1ap_sliceAvailableCapacityValueDownlink;  /* INTEGER_0_100 */
static int hf_f1ap_sliceAvailableCapacityValueUplink;  /* INTEGER_0_100 */
static int hf_f1ap_sliceRadioResourceStatus;      /* SliceRadioResourceStatus_List */
static int hf_f1ap_SliceRadioResourceStatus_List_item;  /* SliceRadioResourceStatus_Item */
static int hf_f1ap_sNSSAIRadioResourceStatus_List;  /* SNSSAIRadioResourceStatus_List */
static int hf_f1ap_SNSSAIRadioResourceStatus_List_item;  /* SNSSAIRadioResourceStatus_Item */
static int hf_f1ap_sNSSAIdlGBRPRBusage;           /* INTEGER_0_100 */
static int hf_f1ap_sNSSAIulGBRPRBusage;           /* INTEGER_0_100 */
static int hf_f1ap_sNSSAIdlNonGBRPRBusage;        /* INTEGER_0_100 */
static int hf_f1ap_sNSSAIulNonGBRPRBusage;        /* INTEGER_0_100 */
static int hf_f1ap_sNSSAIdlTotalPRBallocation;    /* INTEGER_0_100 */
static int hf_f1ap_sNSSAIulTotalPRBallocation;    /* INTEGER_0_100 */
static int hf_f1ap_SliceSupportList_item;         /* SliceSupportItem */
static int hf_f1ap_SliceToReportList_item;        /* SliceToReportItem */
static int hf_f1ap_sNSSAIlist;                    /* SNSSAI_list */
static int hf_f1ap_sLPositioning_Ranging_Authorized;  /* SLPositioning_Ranging_Authorized */
static int hf_f1ap_rSPP_transport_QoS_parameters;  /* RSPP_transport_QoS_parameters */
static int hf_f1ap_rSPPQoSFlowList;               /* RSPPQoSFlowList */
static int hf_f1ap_rSPPLinkAggregateBitRates;     /* BitRate */
static int hf_f1ap_RSPPQoSFlowList_item;          /* RSPPQoSFlowItem */
static int hf_f1ap_pQI;                           /* FiveQI */
static int hf_f1ap_rSPPFlowBitRates;              /* RSPPFlowBitRates */
static int hf_f1ap_range;                         /* Range */
static int hf_f1ap_SNSSAI_list_item;              /* SNSSAI_Item */
static int hf_f1ap_Slot_Configuration_List_item;  /* Slot_Configuration_Item */
static int hf_f1ap_slotIndex_01;                  /* INTEGER_0_5119_ */
static int hf_f1ap_symbolAllocInSlot;             /* SymbolAllocInSlot */
static int hf_f1ap_SlotOffsetForRemainingHopsList_item;  /* SlotOffsetForRemainingHopsItem */
static int hf_f1ap_slotOffsetRemainingHops;       /* SlotOffsetRemainingHops */
static int hf_f1ap_aperiodic_04;                  /* SlotOffsetRemainingHopsAperiodic */
static int hf_f1ap_semi_persistent_04;            /* SlotOffsetRemainingHopsSemiPersistent */
static int hf_f1ap_periodic_04;                   /* SlotOffsetRemainingHopsPeriodic */
static int hf_f1ap_slotOffset_01;                 /* INTEGER_1_32 */
static int hf_f1ap_sRSperiodicity;                /* SRS_Periodicity */
static int hf_f1ap_sST;                           /* OCTET_STRING_SIZE_1 */
static int hf_f1ap_sD;                            /* OCTET_STRING_SIZE_3 */
static int hf_f1ap_nR_PRSBeamInformation;         /* NR_PRSBeamInformation */
static int hf_f1ap_spatialRelationforResourceID;  /* SpatialRelationforResourceID */
static int hf_f1ap_SpatialRelationforResourceID_item;  /* SpatialRelationforResourceIDItem */
static int hf_f1ap_referenceSignal;               /* ReferenceSignal */
static int hf_f1ap_spatialRelationPerSRSResource_List;  /* SpatialRelationPerSRSResource_List */
static int hf_f1ap_SpatialRelationPerSRSResource_List_item;  /* SpatialRelationPerSRSResourceItem */
static int hf_f1ap_sSBPos;                        /* SSB */
static int hf_f1ap_pRSInformationPos;             /* PRSInformationPos */
static int hf_f1ap_sRBID;                         /* SRBID */
static int hf_f1ap_duplicationIndication;         /* DuplicationIndication */
static int hf_f1ap_SRSCarrier_List_item;          /* SRSCarrier_List_Item */
static int hf_f1ap_uplinkChannelBW_PerSCS_List;   /* UplinkChannelBW_PerSCS_List */
static int hf_f1ap_activeULBWP;                   /* ActiveULBWP */
static int hf_f1ap_pci;                           /* NRPCI */
static int hf_f1ap_sRSResource_List;              /* SRSResource_List */
static int hf_f1ap_posSRSResource_List;           /* PosSRSResource_List */
static int hf_f1ap_sRSResourceSet_List;           /* SRSResourceSet_List */
static int hf_f1ap_posSRSResourceSet_List;        /* PosSRSResourceSet_List */
static int hf_f1ap_sRSCarrier_List;               /* SRSCarrier_List */
static int hf_f1ap_SRSPreconfiguration_List_item;  /* SRSPreconfiguration_Item */
static int hf_f1ap_sRSPosRRCInactiveValidityAreaConfig;  /* SRSPosRRCInactiveValidityAreaConfig */
static int hf_f1ap_posValidityAreaCellList;       /* PosValidityAreaCellList */
static int hf_f1ap_sRSResourceID;                 /* SRSResourceID */
static int hf_f1ap_nrofSRS_Ports;                 /* T_nrofSRS_Ports */
static int hf_f1ap_transmissionComb;              /* TransmissionComb */
static int hf_f1ap_nrofSymbols_01;                /* T_nrofSymbols_01 */
static int hf_f1ap_repetitionFactor;              /* T_repetitionFactor */
static int hf_f1ap_freqDomainPosition;            /* INTEGER_0_67 */
static int hf_f1ap_b_SRS;                         /* INTEGER_0_3 */
static int hf_f1ap_b_hop;                         /* INTEGER_0_3 */
static int hf_f1ap_groupOrSequenceHopping_01;     /* T_groupOrSequenceHopping_01 */
static int hf_f1ap_resourceType_02;               /* ResourceType */
static int hf_f1ap_sequenceId_01;                 /* INTEGER_0_1023 */
static int hf_f1ap_SRSResourceID_List_item;       /* SRSResourceID */
static int hf_f1ap_SRSResource_List_item;         /* SRSResource */
static int hf_f1ap_sRSResourceID_List;            /* SRSResourceID_List */
static int hf_f1ap_resourceSetType;               /* ResourceSetType */
static int hf_f1ap_SRSResourceSetList_item;       /* SRSResourceSetItem */
static int hf_f1ap_numSRSresourcesperset;         /* INTEGER_1_16_ */
static int hf_f1ap_periodicityList_01;            /* PeriodicityList */
static int hf_f1ap_spatialRelationInfo;           /* SpatialRelationInfo */
static int hf_f1ap_pathlossReferenceInfo;         /* PathlossReferenceInfo */
static int hf_f1ap_SRSResourceSet_List_item;      /* SRSResourceSet */
static int hf_f1ap_aperiodicSRSResourceTriggerList;  /* AperiodicSRSResourceTriggerList */
static int hf_f1ap_sRSResourceTypeChoice;         /* SRSResourceTypeChoice */
static int hf_f1ap_sRSResourceInfo;               /* SRSInfo */
static int hf_f1ap_posSRSResourceInfo;            /* PosSRSInfo */
static int hf_f1ap_sRSResource;                   /* SRSResourceID */
static int hf_f1ap_posSRSResourceID;              /* SRSPosResourceID */
static int hf_f1ap_pCI_NR_01;                     /* NRPCI */
static int hf_f1ap_ssb_index;                     /* SSB_Index */
static int hf_f1ap_SSBCoverageModification_List_item;  /* SSBCoverageModification_Item */
static int hf_f1ap_sSBIndex;                      /* INTEGER_0_63 */
static int hf_f1ap_sSBCoverageState;              /* SSBCoverageState */
static int hf_f1ap_shortBitmap;                   /* BIT_STRING_SIZE_4 */
static int hf_f1ap_mediumBitmap;                  /* BIT_STRING_SIZE_8 */
static int hf_f1ap_longBitmap;                    /* BIT_STRING_SIZE_64 */
static int hf_f1ap_SSBAreaCapacityValueList_item;  /* SSBAreaCapacityValueItem */
static int hf_f1ap_sSBAreaCapacityValue;          /* INTEGER_0_100 */
static int hf_f1ap_SSBAreaRadioResourceStatusList_item;  /* SSBAreaRadioResourceStatusItem */
static int hf_f1ap_sSBAreaDLGBRPRBusage;          /* INTEGER_0_100 */
static int hf_f1ap_sSBAreaULGBRPRBusage;          /* INTEGER_0_100 */
static int hf_f1ap_sSBAreaDLnon_GBRPRBusage;      /* INTEGER_0_100 */
static int hf_f1ap_sSBAreaULnon_GBRPRBusage;      /* INTEGER_0_100 */
static int hf_f1ap_sSBAreaDLTotalPRBusage;        /* INTEGER_0_100 */
static int hf_f1ap_sSBAreaULTotalPRBusage;        /* INTEGER_0_100 */
static int hf_f1ap_dLschedulingPDCCHCCEusage;     /* INTEGER_0_100 */
static int hf_f1ap_uLschedulingPDCCHCCEusage;     /* INTEGER_0_100 */
static int hf_f1ap_sSBInformationList;            /* SSBInformationList */
static int hf_f1ap_SSBInformationList_item;       /* SSBInformationItem */
static int hf_f1ap_sSB_Configuration;             /* SSB_TF_Configuration */
static int hf_f1ap_SSBs_activated_List_item;      /* SSB_Index */
static int hf_f1ap_SSBs_forPaging_List_item;      /* SSB_Index */
static int hf_f1ap_SSBs_toBeActivated_List_item;  /* SSB_Index */
static int hf_f1ap_sSB_frequency;                 /* INTEGER_0_3279165 */
static int hf_f1ap_sSB_subcarrier_spacing;        /* T_sSB_subcarrier_spacing */
static int hf_f1ap_sSB_Transmit_power;            /* INTEGER_M60_50 */
static int hf_f1ap_sSB_periodicity;               /* T_sSB_periodicity */
static int hf_f1ap_sSB_half_frame_offset;         /* INTEGER_0_1 */
static int hf_f1ap_sSB_SFN_offset;                /* INTEGER_0_15 */
static int hf_f1ap_sSB_position_in_burst;         /* SSB_PositionsInBurst */
static int hf_f1ap_sFNInitialisationTime;         /* RelativeTime1900 */
static int hf_f1ap_SSBToReportList_item;          /* SSBToReportItem */
static int hf_f1ap_freqScalingFactor2;            /* INTEGER_0_1 */
static int hf_f1ap_freqScalingFactor4;            /* INTEGER_0_3 */
static int hf_f1ap_startTime;                     /* RelativeTime1900 */
static int hf_f1ap_duration;                      /* INTEGER_0_90060_ */
static int hf_f1ap_sUL_NRARFCN;                   /* INTEGER_0_maxNRARFCN */
static int hf_f1ap_sUL_transmission_Bandwidth;    /* Transmission_Bandwidth */
static int hf_f1ap_SuccessfulHOReportInformationList_item;  /* SuccessfulHOReportInformation_Item */
static int hf_f1ap_successfulHOReportContainer;   /* T_successfulHOReportContainer */
static int hf_f1ap_SuccessfulPSCellChangeReportInformationList_item;  /* SuccessfulPSCellChangeReportInformation_Item */
static int hf_f1ap_successfulPSCellChangeReportContainer;  /* T_successfulPSCellChangeReportContainer */
static int hf_f1ap_SupportedUETypeList_item;      /* SupportedUETypeList_Item */
static int hf_f1ap_supportedUEtype;               /* T_supportedUEtype */
static int hf_f1ap_all_DL;                        /* NULL */
static int hf_f1ap_all_UL;                        /* NULL */
static int hf_f1ap_both_DL_and_UL;                /* NumDLULSymbols */
static int hf_f1ap_TargetCellList_item;           /* TargetCellList_Item */
static int hf_f1ap_target_cell;                   /* NRCGI */
static int hf_f1ap_NSAGSupportList_item;          /* NSAGSupportItem */
static int hf_f1ap_nSAG_ID;                       /* NSAG_ID */
static int hf_f1ap_nSAGSliceSupport;              /* ExtendedSliceSupportList */
static int hf_f1ap_tDD_FreqInfo;                  /* FreqInfoRel16 */
static int hf_f1ap_tDD_UL_DLConfigCommonNR;       /* TDD_UL_DLConfigCommonNR */
static int hf_f1ap_rxTx_TEG;                      /* RxTxTEG */
static int hf_f1ap_rx_TEG;                        /* RxTEG */
static int hf_f1ap_tRP_RxTx_TEGInformation;       /* TRP_RxTx_TEGInformation */
static int hf_f1ap_tRP_Tx_TEGInformation;         /* TRP_Tx_TEGInformation */
static int hf_f1ap_tRP_Rx_TEGInformation;         /* TRP_Rx_TEGInformation */
static int hf_f1ap_referenceTime;                 /* ReferenceTime */
static int hf_f1ap_referenceSFN;                  /* ReferenceSFN */
static int hf_f1ap_uncertainty;                   /* Uncertainty */
static int hf_f1ap_timeInformationType;           /* TimeInformationType */
static int hf_f1ap_systemFrameNumber;             /* SystemFrameNumber */
static int hf_f1ap_slotIndex_02;                  /* TimeStampSlotIndex */
static int hf_f1ap_measurementTime;               /* RelativeTime1900 */
static int hf_f1ap_sCS_15;                        /* INTEGER_0_9 */
static int hf_f1ap_sCS_30;                        /* INTEGER_0_19 */
static int hf_f1ap_sCS_60;                        /* INTEGER_0_39 */
static int hf_f1ap_sCS_120;                       /* INTEGER_0_79 */
static int hf_f1ap_measurementQuality_01;         /* INTEGER_0_31 */
static int hf_f1ap_resolution_01;                 /* T_resolution_01 */
static int hf_f1ap_TimeWindowInformation_Measurement_List_item;  /* TimeWindowInformation_Measurement_Item */
static int hf_f1ap_timeWindowDurationMeasurement;  /* TimeWindowDurationMeasurement */
static int hf_f1ap_timeWindowType;                /* T_timeWindowType */
static int hf_f1ap_timeWindowPeriodicityMeasurement;  /* TimeWindowPeriodicityMeasurement */
static int hf_f1ap_TimeWindowInformation_SRS_List_item;  /* TimeWindowInformation_SRS_Item */
static int hf_f1ap_timeWindowStartSRS;            /* TimeWindowStartSRS */
static int hf_f1ap_timeWindowDurationSRS;         /* TimeWindowDurationSRS */
static int hf_f1ap_timeWindowType_01;             /* T_timeWindowType_01 */
static int hf_f1ap_timeWindowPeriodicitySRS;      /* TimeWindowPeriodicitySRS */
static int hf_f1ap_durationSlots;                 /* T_durationSlots */
static int hf_f1ap_durationSymbols;               /* T_durationSymbols */
static int hf_f1ap_durationSlots_01;              /* T_durationSlots_01 */
static int hf_f1ap_slotNumber;                    /* SlotNumber */
static int hf_f1ap_symbolIndex;                   /* SymbolIndex */
static int hf_f1ap_dLTNLOfferedCapacity;          /* INTEGER_1_16777216_ */
static int hf_f1ap_dLTNLAvailableCapacity;        /* INTEGER_0_100_ */
static int hf_f1ap_uLTNLOfferedCapacity;          /* INTEGER_1_16777216_ */
static int hf_f1ap_uLTNLAvailableCapacity;        /* INTEGER_0_100_ */
static int hf_f1ap_traceID;                       /* TraceID */
static int hf_f1ap_interfacesToTrace;             /* InterfacesToTrace */
static int hf_f1ap_traceDepth;                    /* TraceDepth */
static int hf_f1ap_traceCollectionEntityIPAddress;  /* TransportLayerAddress */
static int hf_f1ap_iPtolayer2TrafficMappingInfo;  /* IPtolayer2TrafficMappingInfo */
static int hf_f1ap_bAPlayerBHRLCchannelMappingInfo;  /* BAPlayerBHRLCchannelMappingInfo */
static int hf_f1ap_nRNRB;                         /* NRNRB */
static int hf_f1ap_n2;                            /* T_n2 */
static int hf_f1ap_combOffset_n2;                 /* INTEGER_0_1 */
static int hf_f1ap_cyclicShift_n2;                /* INTEGER_0_7 */
static int hf_f1ap_n4;                            /* T_n4 */
static int hf_f1ap_combOffset_n4;                 /* INTEGER_0_3 */
static int hf_f1ap_cyclicShift_n4;                /* INTEGER_0_11 */
static int hf_f1ap_combOffset_n8;                 /* INTEGER_0_7 */
static int hf_f1ap_cyclicShift_n8;                /* INTEGER_0_5 */
static int hf_f1ap_n2_01;                         /* T_n2_01 */
static int hf_f1ap_n4_01;                         /* T_n4_01 */
static int hf_f1ap_n8;                            /* T_n8 */
static int hf_f1ap_Transport_UP_Layer_Address_Info_To_Add_List_item;  /* Transport_UP_Layer_Address_Info_To_Add_Item */
static int hf_f1ap_iP_SecTransportLayerAddress;   /* TransportLayerAddress */
static int hf_f1ap_gTPTransportLayerAddressToAdd;  /* GTPTLAs */
static int hf_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List_item;  /* Transport_UP_Layer_Address_Info_To_Remove_Item */
static int hf_f1ap_gTPTransportLayerAddressToRemove;  /* GTPTLAs */
static int hf_f1ap_choice_TRP_Beam_Antenna_Info_Item;  /* Choice_TRP_Beam_Antenna_Info_Item */
static int hf_f1ap_reference;                     /* TRPID */
static int hf_f1ap_explicit;                      /* TRP_BeamAntennaExplicitInformation */
static int hf_f1ap_noChange;                      /* NULL */
static int hf_f1ap_trp_BeamAntennaAngles;         /* TRP_BeamAntennaAngles */
static int hf_f1ap_lcs_to_gcs_translation;        /* LCS_to_GCS_Translation */
static int hf_f1ap_TRP_BeamAntennaAngles_item;    /* TRP_BeamAntennaAnglesList_Item */
static int hf_f1ap_trp_azimuth_angle;             /* INTEGER_0_359 */
static int hf_f1ap_trp_azimuth_angle_fine;        /* INTEGER_0_9 */
static int hf_f1ap_trp_elevation_angle_list;      /* SEQUENCE_SIZE_1_maxnoElevationAngles_OF_TRP_ElevationAngleList_Item */
static int hf_f1ap_trp_elevation_angle_list_item;  /* TRP_ElevationAngleList_Item */
static int hf_f1ap_trp_elevation_angle;           /* INTEGER_0_180 */
static int hf_f1ap_trp_elevation_angle_fine;      /* INTEGER_0_9 */
static int hf_f1ap_trp_beam_power_list;           /* SEQUENCE_SIZE_2_maxNumResourcesPerAngle_OF_TRP_Beam_Power_Item */
static int hf_f1ap_trp_beam_power_list_item;      /* TRP_Beam_Power_Item */
static int hf_f1ap_relativePower;                 /* INTEGER_0_30 */
static int hf_f1ap_relativePowerFine;             /* INTEGER_0_9 */
static int hf_f1ap_tRPInformationTypeResponseList;  /* TRPInformationTypeResponseList */
static int hf_f1ap_tRPInformation;                /* TRPInformation */
static int hf_f1ap_TRPInformationTypeResponseList_item;  /* TRPInformationTypeResponseItem */
static int hf_f1ap_nG_RAN_CGI;                    /* NRCGI */
static int hf_f1ap_sSBinformation;                /* SSBInformation */
static int hf_f1ap_spatialDirectionInformation;   /* SpatialDirectionInformation */
static int hf_f1ap_TRPList_item;                  /* TRPListItem */
static int hf_f1ap_tRPmeasurementQuality_Item;    /* TRPMeasurementQuality_Item */
static int hf_f1ap_timingMeasurementQuality;      /* TimingMeasurementQuality */
static int hf_f1ap_angleMeasurementQuality;       /* AngleMeasurementQuality */
static int hf_f1ap_phaseQualityIndex;             /* INTEGER_0_179 */
static int hf_f1ap_phaseQualityResolution;        /* T_phaseQualityResolution */
static int hf_f1ap_TRP_MeasurementRequestList_item;  /* TRP_MeasurementRequestItem */
static int hf_f1ap_search_window_information;     /* Search_window_information */
static int hf_f1ap_TRP_PRS_Info_List_item;        /* TRP_PRS_Info_List_Item */
static int hf_f1ap_nR_PCI;                        /* NRPCI */
static int hf_f1ap_cGI_NR;                        /* NRCGI */
static int hf_f1ap_direct;                        /* TRPPositionDirect */
static int hf_f1ap_referenced;                    /* TRPPositionReferenced */
static int hf_f1ap_accuracy;                      /* TRPPositionDirectAccuracy */
static int hf_f1ap_tRPPosition;                   /* AccessPointPosition */
static int hf_f1ap_tRPHAposition;                 /* NGRANHighAccuracyAccessPointPosition */
static int hf_f1ap_referencePoint;                /* ReferencePoint */
static int hf_f1ap_referencePointType;            /* TRPReferencePointType */
static int hf_f1ap_tRPPositionRelativeGeodetic;   /* RelativeGeodeticLocation */
static int hf_f1ap_tRPPositionRelativeCartesian;  /* RelativeCartesianLocation */
static int hf_f1ap_tRP_Rx_TEGID;                  /* INTEGER_0_31 */
static int hf_f1ap_tRP_Rx_TimingErrorMargin;      /* TimingErrorMargin */
static int hf_f1ap_tRP_RxTx_TEGID;                /* INTEGER_0_255 */
static int hf_f1ap_tRP_RxTx_TimingErrorMargin;    /* RxTxTimingErrorMargin */
static int hf_f1ap_tRP_Tx_TEGID;                  /* INTEGER_0_7 */
static int hf_f1ap_tRP_Tx_TimingErrorMargin;      /* TimingErrorMargin */
static int hf_f1ap_TRPTxTEGAssociation_item;      /* TRPTEG_Item */
static int hf_f1ap_dl_PRSResourceID_List;         /* SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceID_Item */
static int hf_f1ap_dl_PRSResourceID_List_item;    /* DLPRSResourceID_Item */
static int hf_f1ap_transport_UP_Layer_Address_Info_To_Add_List;  /* Transport_UP_Layer_Address_Info_To_Add_List */
static int hf_f1ap_transport_UP_Layer_Address_Info_To_Remove_List;  /* Transport_UP_Layer_Address_Info_To_Remove_List */
static int hf_f1ap_periodicity_03;                /* Periodicity */
static int hf_f1ap_burstArrivalTime;              /* BurstArrivalTime */
static int hf_f1ap_tSCAssistanceInformationDL;    /* TSCAssistanceInformation */
static int hf_f1ap_tSCAssistanceInformationUL;    /* TSCAssistanceInformation */
static int hf_f1ap_tSCFeedbackInformationDL;      /* TSCFeedbackInformation */
static int hf_f1ap_tSCFeedbackInformationUL;      /* TSCFeedbackInformation */
static int hf_f1ap_burstArrivalTimeOffset;        /* INTEGER_M640000_640000_ */
static int hf_f1ap_adjustedPeriodicity;           /* Periodicity */
static int hf_f1ap_TRP_MeasurementUpdateList_item;  /* TRP_MeasurementUpdateItem */
static int hf_f1ap_aoA_window_information;        /* AoA_AssistanceInfo */
static int hf_f1ap_overlapValue;                  /* T_overlapValue */
static int hf_f1ap_numberOfHops;                  /* INTEGER_1_6 */
static int hf_f1ap_slotOffsetForRemainingHopsList;  /* SlotOffsetForRemainingHopsList */
static int hf_f1ap_TAInformation_List_item;       /* TAInformation_Item */
static int hf_f1ap_uACPLMN_List;                  /* UACPLMN_List */
static int hf_f1ap_UACPLMN_List_item;             /* UACPLMN_Item */
static int hf_f1ap_uACType_List;                  /* UACType_List */
static int hf_f1ap_UACType_List_item;             /* UACType_Item */
static int hf_f1ap_uACReductionIndication;        /* UACReductionIndication */
static int hf_f1ap_uACCategoryType;               /* UACCategoryType */
static int hf_f1ap_uACstandardized;               /* UACAction */
static int hf_f1ap_uACOperatorDefined;            /* UACOperatorDefined */
static int hf_f1ap_accessCategory;                /* INTEGER_32_63_ */
static int hf_f1ap_accessIdentity;                /* BIT_STRING_SIZE_7 */
static int hf_f1ap_indexLength10;                 /* BIT_STRING_SIZE_10 */
static int hf_f1ap_uEIdentityIndexValue;          /* UEIdentityIndexValue */
static int hf_f1ap_pagingDRX;                     /* PagingDRX */
static int hf_f1ap_mrb_type_reconfiguration;      /* MBSPTPRetransmissionTunnelRequired */
static int hf_f1ap_mrb_type_reconfiguration_01;   /* T_mrb_type_reconfiguration */
static int hf_f1ap_mrb_reconfigured_RLCtype;      /* T_mrb_reconfigured_RLCtype */
static int hf_f1ap_multicastF1UContextReferenceCU;  /* MulticastF1UContextReferenceCU */
static int hf_f1ap_mbsPTPRetransmissionTunnelRequired;  /* MBSPTPRetransmissionTunnelRequired */
static int hf_f1ap_mbsPTPForwardingRequiredInformation;  /* MRB_ProgressInformation */
static int hf_f1ap_iNACTIVEStatePODetermination;  /* T_iNACTIVEStatePODetermination */
static int hf_f1ap_reportingAmount;               /* T_reportingAmount */
static int hf_f1ap_reportingInterval;             /* T_reportingInterval */
static int hf_f1ap_azimuthAoA;                    /* INTEGER_0_3599 */
static int hf_f1ap_zenithAoA;                     /* INTEGER_0_1799 */
static int hf_f1ap_uL_BH_Non_UP_Traffic_Mapping_List;  /* UL_BH_Non_UP_Traffic_Mapping_List */
static int hf_f1ap_UL_BH_Non_UP_Traffic_Mapping_List_item;  /* UL_BH_Non_UP_Traffic_Mapping_Item */
static int hf_f1ap_nonUPTrafficType;              /* NonUPTrafficType */
static int hf_f1ap_uLUEConfiguration;             /* ULUEConfiguration */
static int hf_f1ap_uL_RTOA_MeasurementItem;       /* UL_RTOA_MeasurementItem */
static int hf_f1ap_firstPathRSRPP;                /* INTEGER_0_126 */
static int hf_f1ap_uLRSCP;                        /* INTEGER_0_3599 */
static int hf_f1ap_uLUPTNLInformation;            /* UPTransportLayerInformation */
static int hf_f1ap_newULUPTNLInformation;         /* UPTransportLayerInformation */
static int hf_f1ap_ULUPTNLInformation_ToBeSetup_List_item;  /* ULUPTNLInformation_ToBeSetup_Item */
static int hf_f1ap_UplinkChannelBW_PerSCS_List_item;  /* SCS_SpecificCarrier */
static int hf_f1ap_gTPTunnel;                     /* GTPTunnel */
static int hf_f1ap_uuRLCChannelQoS;               /* QoSFlowLevelQoSParameters */
static int hf_f1ap_uuControlPlaneTrafficType;     /* T_uuControlPlaneTrafficType */
static int hf_f1ap_UuRLCChannelToBeSetupList_item;  /* UuRLCChannelToBeSetupItem */
static int hf_f1ap_uuRLCChannelID;                /* UuRLCChannelID */
static int hf_f1ap_uuRLCChannelQoSInformation;    /* UuRLCChannelQoSInformation */
static int hf_f1ap_UuRLCChannelToBeModifiedList_item;  /* UuRLCChannelToBeModifiedItem */
static int hf_f1ap_UuRLCChannelToBeReleasedList_item;  /* UuRLCChannelToBeReleasedItem */
static int hf_f1ap_UuRLCChannelSetupList_item;    /* UuRLCChannelSetupItem */
static int hf_f1ap_UuRLCChannelFailedToBeSetupList_item;  /* UuRLCChannelFailedToBeSetupItem */
static int hf_f1ap_UuRLCChannelModifiedList_item;  /* UuRLCChannelModifiedItem */
static int hf_f1ap_UuRLCChannelFailedToBeModifiedList_item;  /* UuRLCChannelFailedToBeModifiedItem */
static int hf_f1ap_UuRLCChannelRequiredToBeModifiedList_item;  /* UuRLCChannelRequiredToBeModifiedItem */
static int hf_f1ap_UuRLCChannelRequiredToBeReleasedList_item;  /* UuRLCChannelRequiredToBeReleasedItem */
static int hf_f1ap_resourceMapping;               /* ResourceMapping */
static int hf_f1ap_sequenceIDPos;                 /* INTEGER_0_65535 */
static int hf_f1ap_protocolIEs;                   /* ProtocolIE_Container */
static int hf_f1ap_f1_Interface;                  /* ResetAll */
static int hf_f1ap_partOfF1_Interface;            /* UE_associatedLogicalF1_ConnectionListRes */
static int hf_f1ap_UE_associatedLogicalF1_ConnectionListRes_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_UE_associatedLogicalF1_ConnectionListResAck_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_GNB_DU_Served_Cells_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Cells_to_be_Activated_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_NCGI_to_be_Updated_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Served_Cells_To_Add_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Served_Cells_To_Modify_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Served_Cells_To_Delete_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Cells_Status_List_item;        /* ProtocolIE_SingleContainer */
static int hf_f1ap_Dedicated_SIDelivery_NeededUE_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_GNB_DU_TNL_Association_To_Remove_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Cells_to_be_Deactivated_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_GNB_CU_TNL_Association_To_Add_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_GNB_CU_TNL_Association_To_Remove_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_GNB_CU_TNL_Association_To_Update_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Cells_to_be_Barred_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Cells_Allowed_to_be_Deactivated_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Protected_EUTRA_Resources_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Neighbour_Cell_Information_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Cells_Failed_to_be_Activated_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_GNB_CU_TNL_Association_Setup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Candidate_SpCell_List_item;    /* ProtocolIE_SingleContainer */
static int hf_f1ap_SCell_ToBeSetup_List_item;     /* ProtocolIE_SingleContainer */
static int hf_f1ap_SRBs_ToBeSetup_List_item;      /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRBs_ToBeSetup_List_item;      /* ProtocolIE_SingleContainer */
static int hf_f1ap_BHChannels_ToBeSetup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SLDRBs_ToBeSetup_List_item;    /* ProtocolIE_SingleContainer */
static int hf_f1ap_UE_MulticastMRBs_ToBeSetup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_ServingCellMO_List_item;       /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRBs_Setup_List_item;          /* ProtocolIE_SingleContainer */
static int hf_f1ap_SRBs_FailedToBeSetup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRBs_FailedToBeSetup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SCell_FailedtoSetup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SRBs_Setup_List_item;          /* ProtocolIE_SingleContainer */
static int hf_f1ap_BHChannels_Setup_List_item;    /* ProtocolIE_SingleContainer */
static int hf_f1ap_BHChannels_FailedToBeSetup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SLDRBs_Setup_List_item;        /* ProtocolIE_SingleContainer */
static int hf_f1ap_SLDRBs_FailedToBeSetup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_UE_MulticastMRBs_Setupnew_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Potential_SpCell_List_item;    /* ProtocolIE_SingleContainer */
static int hf_f1ap_SCell_ToBeSetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SCell_ToBeRemoved_List_item;   /* ProtocolIE_SingleContainer */
static int hf_f1ap_SRBs_ToBeSetupMod_List_item;   /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRBs_ToBeSetupMod_List_item;   /* ProtocolIE_SingleContainer */
static int hf_f1ap_BHChannels_ToBeSetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRBs_ToBeModified_List_item;   /* ProtocolIE_SingleContainer */
static int hf_f1ap_BHChannels_ToBeModified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SRBs_ToBeReleased_List_item;   /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRBs_ToBeReleased_List_item;   /* ProtocolIE_SingleContainer */
static int hf_f1ap_BHChannels_ToBeReleased_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_UE_MulticastMRBs_ToBeReleased_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SLDRBs_ToBeSetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SLDRBs_ToBeModified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SLDRBs_ToBeReleased_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRBs_SetupMod_List_item;       /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRBs_Modified_List_item;       /* ProtocolIE_SingleContainer */
static int hf_f1ap_SRBs_SetupMod_List_item;       /* ProtocolIE_SingleContainer */
static int hf_f1ap_SRBs_Modified_List_item;       /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRBs_FailedToBeModified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SRBs_FailedToBeSetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRBs_FailedToBeSetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SCell_FailedtoSetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BHChannels_SetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BHChannels_Modified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BHChannels_FailedToBeModified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BHChannels_FailedToBeSetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Associated_SCell_List_item;    /* ProtocolIE_SingleContainer */
static int hf_f1ap_SLDRBs_SetupMod_List_item;     /* ProtocolIE_SingleContainer */
static int hf_f1ap_SLDRBs_Modified_List_item;     /* ProtocolIE_SingleContainer */
static int hf_f1ap_SLDRBs_FailedToBeModified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SLDRBs_FailedToBeSetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_UE_MulticastMRBs_Setup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRBs_Required_ToBeModified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRBs_Required_ToBeReleased_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SRBs_Required_ToBeReleased_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BHChannels_Required_ToBeReleased_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SLDRBs_Required_ToBeModified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_SLDRBs_Required_ToBeReleased_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_UE_MulticastMRBs_RequiredToBeModified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_UE_MulticastMRBs_RequiredToBeReleased_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRBs_ModifiedConf_List_item;   /* ProtocolIE_SingleContainer */
static int hf_f1ap_SLDRBs_ModifiedConf_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Cells_To_Be_Broadcast_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Cells_Broadcast_Completed_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Broadcast_To_Be_Cancelled_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Cells_Broadcast_Cancelled_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRB_Activity_List_item;        /* ProtocolIE_SingleContainer */
static int hf_f1ap_privateIEs;                    /* PrivateIE_Container */
static int hf_f1ap_PagingCell_list_item;          /* ProtocolIE_SingleContainer */
static int hf_f1ap_DRB_Notify_List_item;          /* ProtocolIE_SingleContainer */
static int hf_f1ap_NR_CGI_List_For_Restart_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_PWS_Failed_NR_CGI_List_item;   /* ProtocolIE_SingleContainer */
static int hf_f1ap_BH_Routing_Information_Added_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BH_Routing_Information_Removed_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BAP_Header_Rewriting_Added_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BAP_Header_Rewriting_Removed_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_IAB_TNL_Addresses_To_Remove_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_IAB_Allocated_TNL_Address_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_UL_UP_TNL_Information_to_Update_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_UL_UP_TNL_Address_to_Update_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_DL_UP_TNL_Address_to_Update_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Activated_Cells_Mapping_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_TRPInformationTypeListTRPReq_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_TRPInformationListTRPResp_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_semipersistentSRS;             /* SemipersistentSRS */
static int hf_f1ap_aperiodicSRS;                  /* AperiodicSRS */
static int hf_f1ap_sRSSpatialRelation;            /* SpatialRelationInfo */
static int hf_f1ap_aperiodic_05;                  /* T_aperiodic */
static int hf_f1ap_sRSResourceTrigger;            /* SRSResourceTrigger */
static int hf_f1ap_BroadcastMRBs_ToBeSetup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BroadcastMRBs_Setup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BroadcastMRBs_FailedToBeSetup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BroadcastMRBs_ToBeSetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BroadcastMRBs_ToBeModified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BroadcastMRBs_ToBeReleased_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BroadcastMRBs_SetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BroadcastMRBs_FailedToBeSetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BroadcastMRBs_Modified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_BroadcastMRBs_FailedToBeModified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_Broadcast_MRBs_Transport_Request_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_UEIdentity_List_For_Paging_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_MC_PagingCell_list_item;       /* ProtocolIE_SingleContainer */
static int hf_f1ap_MulticastMRBs_ToBeSetup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_MulticastMRBs_Setup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_MulticastMRBs_FailedToBeSetup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_MulticastMRBs_ToBeSetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_MulticastMRBs_ToBeModified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_MulticastMRBs_ToBeReleased_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_MulticastMRBs_SetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_MulticastMRBs_FailedToBeSetupMod_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_MulticastMRBs_Modified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_MulticastMRBs_FailedToBeModified_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_MulticastF1UContext_ToBeSetup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_MulticastF1UContext_Setup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_MulticastF1UContext_FailedToBeSetup_List_item;  /* ProtocolIE_SingleContainer */
static int hf_f1ap_initiatingMessage;             /* InitiatingMessage */
static int hf_f1ap_successfulOutcome;             /* SuccessfulOutcome */
static int hf_f1ap_unsuccessfulOutcome;           /* UnsuccessfulOutcome */
static int hf_f1ap_initiatingMessagevalue;        /* InitiatingMessage_value */
static int hf_f1ap_successfulOutcome_value;       /* SuccessfulOutcome_value */
static int hf_f1ap_unsuccessfulOutcome_value;     /* UnsuccessfulOutcome_value */

/* Initialize the subtree pointers */
static int ett_f1ap;
static int ett_f1ap_ResourceCoordinationTransferContainer;
static int ett_f1ap_PLMN_Identity;
static int ett_f1ap_MIB_message;
static int ett_f1ap_SIB1_message;
static int ett_f1ap_CG_ConfigInfo;
static int ett_f1ap_CellGroupConfig;
static int ett_f1ap_TransportLayerAddress;
static int ett_f1ap_UE_CapabilityRAT_ContainerList;
static int ett_f1ap_measurementTimingConfiguration;
static int ett_f1ap_DUtoCURRCContainer;
static int ett_f1ap_requestedP_MaxFR1;
static int ett_f1ap_HandoverPreparationInformation;
static int ett_f1ap_MeasConfig;
static int ett_f1ap_MeasGapConfig;
static int ett_f1ap_MeasGapSharingConfig;
static int ett_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container;
static int ett_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container;
static int ett_f1ap_ProtectedEUTRAResourceIndication;
static int ett_f1ap_RRCContainer;
static int ett_f1ap_RRCContainer_RRCSetupComplete;
static int ett_f1ap_sIBmessage;
static int ett_f1ap_UplinkTxDirectCurrentListInformation;
static int ett_f1ap_DRX_Config;
static int ett_f1ap_Ph_InfoSCG;
static int ett_f1ap_RequestedBandCombinationIndex;
static int ett_f1ap_RequestedFeatureSetEntryIndex;
static int ett_f1ap_RequestedP_MaxFR2;
static int ett_f1ap_UEAssistanceInformation;
static int ett_f1ap_CG_Config;
static int ett_f1ap_Ph_InfoMCG;
static int ett_f1ap_BurstArrivalTime;
static int ett_f1ap_cSI_RS_Configuration;
static int ett_f1ap_sR_Configuration;
static int ett_f1ap_pDCCH_ConfigSIB1;
static int ett_f1ap_sCS_Common;
static int ett_f1ap_IABTNLAddressIPv4Address;
static int ett_f1ap_IABTNLAddressIPv6Address;
static int ett_f1ap_IABTNLAddressIPv6Prefix;
static int ett_f1ap_InterfacesToTrace;
static int ett_f1ap_MeasurementsToActivate;
static int ett_f1ap_NRUERLFReportContainer;
static int ett_f1ap_RACH_Config_Common;
static int ett_f1ap_RACH_Config_Common_IAB;
static int ett_f1ap_RAReportContainer;
static int ett_f1ap_ReferenceTime;
static int ett_f1ap_ReportCharacteristics;
static int ett_f1ap_SIB10_message;
static int ett_f1ap_SIB12_message;
static int ett_f1ap_SIB13_message;
static int ett_f1ap_SIB14_message;
static int ett_f1ap_SIB15_message;
static int ett_f1ap_SIB17_message;
static int ett_f1ap_SIB20_message;
static int ett_f1ap_SIB22_message;
static int ett_f1ap_SIB23_message;
static int ett_f1ap_SIB24_message;
static int ett_f1ap_SL_PHY_MAC_RLC_Config;
static int ett_f1ap_SL_PHY_MAC_RLC_ConfigExt;
static int ett_f1ap_SL_RLC_ChannelToAddModList;
static int ett_f1ap_SL_ConfigDedicatedEUTRA_Info;
static int ett_f1ap_TDD_UL_DLConfigCommonNR;
static int ett_f1ap_UEAssistanceInformationEUTRA;
static int ett_f1ap_PosAssistance_Information;
static int ett_f1ap_LocationMeasurementInformation;
static int ett_f1ap_MUSIM_GapConfig;
static int ett_f1ap_SDT_MAC_PHY_CG_Config;
static int ett_f1ap_SDTRLCBearerConfiguration;
static int ett_f1ap_MBSInterestIndication;
static int ett_f1ap_NeedForGapsInfoNR;
static int ett_f1ap_NeedForGapNCSGInfoNR;
static int ett_f1ap_NeedForGapNCSGInfoEUTRA;
static int ett_f1ap_MBS_Broadcast_NeighbourCellList;
static int ett_f1ap_mRB_PDCP_Config_Broadcast;
static int ett_f1ap_posMeasGapPreConfigToAddModList;
static int ett_f1ap_posMeasGapPreConfigToReleaseList;
static int ett_f1ap_SidelinkConfigurationContainer;
static int ett_f1ap_SRSPosRRCInactiveConfig;
static int ett_f1ap_successfulHOReportContainer;
static int ett_f1ap_UL_GapFR2_Config;
static int ett_f1ap_ConfigRestrictInfoDAPS;
static int ett_f1ap_UplinkTxDirectCurrentTwoCarrierListInfo;
static int ett_f1ap_Ncd_SSB_RedCapInitialBWP_SDT;
static int ett_f1ap_JointorDLTCIStateID;
static int ett_f1ap_ULTCIStateID;
static int ett_f1ap_ReferenceConfigurationInformation;
static int ett_f1ap_LTMCFRAResourceConfig;
static int ett_f1ap_location_Information;
static int ett_f1ap_velocity_Information;
static int ett_f1ap_successfulPSCellChangeReportContainer;
static int ett_f1ap_cSIResourceConfigToAddModList;
static int ett_f1ap_cSIResourceConfigToReleaseList;
static int ett_f1ap_mbs_NeighbourCellList;
static int ett_f1ap_mtch_NeighbourCellprovided;
static int ett_f1ap_thresholdMBSList;
static int ett_f1ap_mBSMulticastConfiguration;
static int ett_f1ap_MusimCandidateBandList;
static int ett_f1ap_NeedForInterruptionInfoNR;
static int ett_f1ap_RACHConfiguration;
static int ett_f1ap_SRSPosRRCInactiveValidityAreaConfig;
static int ett_f1ap_TCIStatesConfigurationsList;
static int ett_f1ap_PrivateIE_ID;
static int ett_f1ap_ProtocolIE_Container;
static int ett_f1ap_ProtocolIE_Field;
static int ett_f1ap_ProtocolExtensionContainer;
static int ett_f1ap_ProtocolExtensionField;
static int ett_f1ap_PrivateIE_Container;
static int ett_f1ap_PrivateIE_Field;
static int ett_f1ap_AbortTransmission;
static int ett_f1ap_AccessPointPosition;
static int ett_f1ap_Activated_Cells_Mapping_List_Item;
static int ett_f1ap_Activated_Cells_to_be_Updated_List;
static int ett_f1ap_Activated_Cells_to_be_Updated_List_Item;
static int ett_f1ap_ActiveULBWP;
static int ett_f1ap_AdditionalPath_List;
static int ett_f1ap_AdditionalPath_Item;
static int ett_f1ap_ExtendedAdditionalPathList;
static int ett_f1ap_ExtendedAdditionalPathList_Item;
static int ett_f1ap_AdditionalPDCPDuplicationTNL_List;
static int ett_f1ap_AdditionalPDCPDuplicationTNL_Item;
static int ett_f1ap_AdditionalSIBMessageList;
static int ett_f1ap_AdditionalSIBMessageList_Item;
static int ett_f1ap_AffectedCellsAndBeams_List;
static int ett_f1ap_AffectedCellsAndBeams_Item;
static int ett_f1ap_AffectedSSB_List;
static int ett_f1ap_AffectedSSB_Item;
static int ett_f1ap_AggregatedPosSRSResourceIDList;
static int ett_f1ap_Aggregated_PosSRS_Resource_ID_Item;
static int ett_f1ap_AggregatedPosSRSResourceSetList;
static int ett_f1ap_AggregatedPosSRSResourceSet_Item;
static int ett_f1ap_AggregatedPRSResourceSetList;
static int ett_f1ap_AggregatedPRSResourceSet_Item;
static int ett_f1ap_DL_PRS_ResourceSet_List;
static int ett_f1ap_DL_PRS_ResourceSet_Item;
static int ett_f1ap_AggressorCellList;
static int ett_f1ap_AggressorCellList_Item;
static int ett_f1ap_AggressorgNBSetID;
static int ett_f1ap_AllocationAndRetentionPriority;
static int ett_f1ap_AlternativeQoSParaSetList;
static int ett_f1ap_AlternativeQoSParaSetItem;
static int ett_f1ap_AngleMeasurementQuality;
static int ett_f1ap_AperiodicSRSResourceTriggerList;
static int ett_f1ap_Associated_SCell_Item;
static int ett_f1ap_AvailablePLMNList;
static int ett_f1ap_AvailablePLMNList_Item;
static int ett_f1ap_AvailableSNPN_ID_List;
static int ett_f1ap_AvailableSNPN_ID_List_Item;
static int ett_f1ap_AoA_AssistanceInfo;
static int ett_f1ap_AngleMeasurementType;
static int ett_f1ap_ARPLocationInformation;
static int ett_f1ap_ARPLocationInformation_Item;
static int ett_f1ap_ARPLocationType;
static int ett_f1ap_BAP_Header_Rewriting_Added_List_Item;
static int ett_f1ap_BAP_Header_Rewriting_Removed_List_Item;
static int ett_f1ap_BandwidthSRS;
static int ett_f1ap_BAPlayerBHRLCchannelMappingInfo;
static int ett_f1ap_BAPlayerBHRLCchannelMappingInfoList;
static int ett_f1ap_BAPlayerBHRLCchannelMappingInfo_Item;
static int ett_f1ap_BAPRoutingID;
static int ett_f1ap_BCBearerContextF1U_TNLInfo;
static int ett_f1ap_BHChannels_FailedToBeModified_Item;
static int ett_f1ap_BHChannels_FailedToBeSetup_Item;
static int ett_f1ap_BHChannels_FailedToBeSetupMod_Item;
static int ett_f1ap_BHChannels_Modified_Item;
static int ett_f1ap_BHChannels_Required_ToBeReleased_Item;
static int ett_f1ap_BHChannels_Setup_Item;
static int ett_f1ap_BHChannels_SetupMod_Item;
static int ett_f1ap_BHChannels_ToBeModified_Item;
static int ett_f1ap_BHChannels_ToBeReleased_Item;
static int ett_f1ap_BHChannels_ToBeSetup_Item;
static int ett_f1ap_BHChannels_ToBeSetupMod_Item;
static int ett_f1ap_BHInfo;
static int ett_f1ap_BHQoSInformation;
static int ett_f1ap_BHRLCCHList;
static int ett_f1ap_BHRLCCHItem;
static int ett_f1ap_BH_Routing_Information_Added_List_Item;
static int ett_f1ap_BH_Routing_Information_Removed_List_Item;
static int ett_f1ap_BPLMN_ID_Info_List;
static int ett_f1ap_BPLMN_ID_Info_Item;
static int ett_f1ap_ServedPLMNs_List;
static int ett_f1ap_ServedPLMNs_Item;
static int ett_f1ap_BroadcastCAGList;
static int ett_f1ap_BroadcastMRBs_FailedToBeModified_Item;
static int ett_f1ap_BroadcastMRBs_FailedToBeSetup_Item;
static int ett_f1ap_BroadcastMRBs_FailedToBeSetupMod_Item;
static int ett_f1ap_BroadcastMRBs_Modified_Item;
static int ett_f1ap_BroadcastMRBs_Setup_Item;
static int ett_f1ap_BroadcastMRBs_SetupMod_Item;
static int ett_f1ap_BroadcastMRBs_ToBeModified_Item;
static int ett_f1ap_BroadcastMRBs_ToBeReleased_Item;
static int ett_f1ap_BroadcastMRBs_ToBeSetup_Item;
static int ett_f1ap_BroadcastMRBs_ToBeSetupMod_Item;
static int ett_f1ap_BroadcastNIDList;
static int ett_f1ap_BroadcastSNPN_ID_List;
static int ett_f1ap_BroadcastSNPN_ID_List_Item;
static int ett_f1ap_BroadcastPNI_NPN_ID_List;
static int ett_f1ap_BroadcastPNI_NPN_ID_List_Item;
static int ett_f1ap_BroadcastAreaScope;
static int ett_f1ap_BroadcastCellList;
static int ett_f1ap_Broadcast_Cell_List_Item;
static int ett_f1ap_BurstArrivalTimeWindow;
static int ett_f1ap_Broadcast_MRBs_Transport_Request_Item;
static int ett_f1ap_Candidate_SpCell_Item;
static int ett_f1ap_CapacityValue;
static int ett_f1ap_Cause;
static int ett_f1ap_CellMeasurementResultList;
static int ett_f1ap_CellMeasurementResultItem;
static int ett_f1ap_CellsForSON_List;
static int ett_f1ap_CellsForSON_Item;
static int ett_f1ap_Cells_Failed_to_be_Activated_List_Item;
static int ett_f1ap_Cells_Status_Item;
static int ett_f1ap_Cells_To_Be_Broadcast_Item;
static int ett_f1ap_Cells_Broadcast_Completed_Item;
static int ett_f1ap_Broadcast_To_Be_Cancelled_Item;
static int ett_f1ap_Cells_Broadcast_Cancelled_Item;
static int ett_f1ap_Cells_to_be_Activated_List_Item;
static int ett_f1ap_Cells_With_SSBs_Activated_List;
static int ett_f1ap_Cells_With_SSBs_Activated_List_Item;
static int ett_f1ap_Cells_Allowed_to_be_Deactivated_List_Item;
static int ett_f1ap_Cells_to_be_Deactivated_List_Item;
static int ett_f1ap_Cells_to_be_Barred_Item;
static int ett_f1ap_CellToReportList;
static int ett_f1ap_CellToReportItem;
static int ett_f1ap_CellType;
static int ett_f1ap_CG_SDTSessionInfo;
static int ett_f1ap_Child_IAB_Nodes_NA_Resource_List;
static int ett_f1ap_Child_IAB_Nodes_NA_Resource_List_Item;
static int ett_f1ap_Child_Node_Cells_List;
static int ett_f1ap_Child_Node_Cells_List_Item;
static int ett_f1ap_Child_Nodes_List;
static int ett_f1ap_Child_Nodes_List_Item;
static int ett_f1ap_CNUEPagingIdentity;
static int ett_f1ap_CompositeAvailableCapacityGroup;
static int ett_f1ap_CompositeAvailableCapacity;
static int ett_f1ap_ConditionalInterDUMobilityInformation;
static int ett_f1ap_ConditionalIntraDUMobilityInformation;
static int ett_f1ap_Configured_BWP_List;
static int ett_f1ap_Configured_BWP_Item;
static int ett_f1ap_Coverage_Modification_Notification;
static int ett_f1ap_Coverage_Modification_List;
static int ett_f1ap_Coverage_Modification_Item;
static int ett_f1ap_CCO_Assistance_Information;
static int ett_f1ap_CP_TransportLayerAddress;
static int ett_f1ap_CPACMCGInformation;
static int ett_f1ap_CriticalityDiagnostics;
static int ett_f1ap_CriticalityDiagnostics_IE_List;
static int ett_f1ap_CriticalityDiagnostics_IE_Item;
static int ett_f1ap_CUDURadioInformationType;
static int ett_f1ap_CUDURIMInformation;
static int ett_f1ap_CUtoDURRCInformation;
static int ett_f1ap_CUtoDUTAInformation_List;
static int ett_f1ap_CUtoDUTAInformation_Item;
static int ett_f1ap_CSIResourceConfiguration;
static int ett_f1ap_DeactivationIndication;
static int ett_f1ap_DeactivationIndicationList;
static int ett_f1ap_DeactivationIndicationList_Item;
static int ett_f1ap_Dedicated_SIDelivery_NeededUE_Item;
static int ett_f1ap_DL_PRS;
static int ett_f1ap_DL_PRSMutingPattern;
static int ett_f1ap_DLPRSResourceCoordinates;
static int ett_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourceSets_OF_DLPRSResourceSetARP;
static int ett_f1ap_DLPRSResourceSetARP;
static int ett_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceARP;
static int ett_f1ap_DL_PRSResourceSetARPLocation;
static int ett_f1ap_DLPRSResourceARP;
static int ett_f1ap_DL_PRSResourceARPLocation;
static int ett_f1ap_DL_UP_TNL_Address_to_Update_List_Item;
static int ett_f1ap_DLUPTNLInformation_ToBeSetup_List;
static int ett_f1ap_DLUPTNLInformation_ToBeSetup_Item;
static int ett_f1ap_DRB_Activity_Item;
static int ett_f1ap_DRBs_FailedToBeModified_Item;
static int ett_f1ap_DRBs_FailedToBeSetup_Item;
static int ett_f1ap_DRBs_FailedToBeSetupMod_Item;
static int ett_f1ap_DRB_Information;
static int ett_f1ap_DRBs_Modified_Item;
static int ett_f1ap_DRBs_ModifiedConf_Item;
static int ett_f1ap_DRB_Notify_Item;
static int ett_f1ap_DRBs_Required_ToBeModified_Item;
static int ett_f1ap_DRBs_Required_ToBeReleased_Item;
static int ett_f1ap_DRBs_Setup_Item;
static int ett_f1ap_DRBs_SetupMod_Item;
static int ett_f1ap_DRBs_ToBeModified_Item;
static int ett_f1ap_DRBs_ToBeReleased_Item;
static int ett_f1ap_DRBs_ToBeSetup_Item;
static int ett_f1ap_DRBs_ToBeSetupMod_Item;
static int ett_f1ap_DRB_List;
static int ett_f1ap_DRB_List_Item;
static int ett_f1ap_DRXCycle;
static int ett_f1ap_NonIntegerDRXCycle;
static int ett_f1ap_DSInformationList;
static int ett_f1ap_DUCURadioInformationType;
static int ett_f1ap_DUCURIMInformation;
static int ett_f1ap_DUF_Slot_Config_Item;
static int ett_f1ap_DUF_Slot_Config_List;
static int ett_f1ap_DUtoCURRCInformation;
static int ett_f1ap_DUtoCUTAInformation_List;
static int ett_f1ap_DUtoCUTAInformation_Item;
static int ett_f1ap_Dynamic5QIDescriptor;
static int ett_f1ap_DynamicPQIDescriptor;
static int ett_f1ap_DLLBTFailureInformationList;
static int ett_f1ap_DLLBTFailureInformationList_Item;
static int ett_f1ap_EarlyULSyncConfig;
static int ett_f1ap_EarlySyncInformation_Request;
static int ett_f1ap_EarlySyncInformation;
static int ett_f1ap_EarlySyncCandidateCellInformation_List;
static int ett_f1ap_EarlySyncCandidateCellInformation_Item;
static int ett_f1ap_EarlySyncServingCellInformation;
static int ett_f1ap_E_CID_MeasurementQuantities;
static int ett_f1ap_E_CID_MeasurementQuantities_Item;
static int ett_f1ap_E_CID_MeasurementResult;
static int ett_f1ap_E_CID_MeasuredResults_List;
static int ett_f1ap_E_CID_MeasuredResults_Item;
static int ett_f1ap_E_CID_MeasuredResults_Value;
static int ett_f1ap_E_CID_MeasuredResultsAssociatedInfoList;
static int ett_f1ap_E_CID_MeasuredResultsAssociatedInfoItem;
static int ett_f1ap_EgressBHRLCCHList;
static int ett_f1ap_EgressBHRLCCHItem;
static int ett_f1ap_Endpoint_IP_address_and_port;
static int ett_f1ap_ExtendedAvailablePLMN_List;
static int ett_f1ap_ExtendedAvailablePLMN_Item;
static int ett_f1ap_ExplicitFormat;
static int ett_f1ap_ExtendedServedPLMNs_List;
static int ett_f1ap_ExtendedServedPLMNs_Item;
static int ett_f1ap_ExtendedSliceSupportList;
static int ett_f1ap_EUTRACells_List;
static int ett_f1ap_EUTRACells_List_item;
static int ett_f1ap_EUTRA_Coex_FDD_Info;
static int ett_f1ap_EUTRA_Coex_Mode_Info;
static int ett_f1ap_EUTRA_Coex_TDD_Info;
static int ett_f1ap_EUTRA_PRACH_Configuration;
static int ett_f1ap_EUTRA_SpecialSubframe_Info;
static int ett_f1ap_EUTRANQoS;
static int ett_f1ap_EUTRA_Mode_Info;
static int ett_f1ap_EUTRA_FDD_Info;
static int ett_f1ap_EUTRA_TDD_Info;
static int ett_f1ap_Expected_UL_AoA;
static int ett_f1ap_Expected_ZoA_only;
static int ett_f1ap_Expected_Azimuth_AoA;
static int ett_f1ap_Expected_Zenith_AoA;
static int ett_f1ap_ECNMarkingorCongestionInformationReportingRequest;
static int ett_f1ap_F1CTransferPath;
static int ett_f1ap_F1CTransferPathNRDC;
static int ett_f1ap_FDD_Info;
static int ett_f1ap_FDD_InfoRel16;
static int ett_f1ap_FiveG_ProSeAuthorized;
static int ett_f1ap_Flows_Mapped_To_DRB_List;
static int ett_f1ap_Flows_Mapped_To_DRB_Item;
static int ett_f1ap_FreqBandNrItem;
static int ett_f1ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem;
static int ett_f1ap_FreqDomainLength;
static int ett_f1ap_FreqInfoRel16;
static int ett_f1ap_Frequency_Domain_HSNA_Configuration_List;
static int ett_f1ap_Frequency_Domain_HSNA_Configuration_Item;
static int ett_f1ap_Frequency_Domain_HSNA_Slot_Configuration_List;
static int ett_f1ap_Frequency_Domain_HSNA_Slot_Configuration_Item;
static int ett_f1ap_FlowsMappedToSLDRB_List;
static int ett_f1ap_FlowsMappedToSLDRB_Item;
static int ett_f1ap_GBR_QosInformation;
static int ett_f1ap_GBR_QoSFlowInformation;
static int ett_f1ap_GeographicalCoordinates;
static int ett_f1ap_GlobalGNB_ID;
static int ett_f1ap_GNB_ID;
static int ett_f1ap_GNB_CUSystemInformation;
static int ett_f1ap_SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem;
static int ett_f1ap_GNB_CU_TNL_Association_Setup_Item;
static int ett_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item;
static int ett_f1ap_GNB_CU_TNL_Association_To_Add_Item;
static int ett_f1ap_GNB_CU_TNL_Association_To_Remove_Item;
static int ett_f1ap_GNB_CU_TNL_Association_To_Update_Item;
static int ett_f1ap_GNB_DU_Cell_Resource_Configuration;
static int ett_f1ap_Extended_GNB_CU_Name;
static int ett_f1ap_Extended_GNB_DU_Name;
static int ett_f1ap_GNB_DU_Served_Cells_Item;
static int ett_f1ap_GNB_DU_System_Information;
static int ett_f1ap_GNB_DU_TNL_Association_To_Remove_Item;
static int ett_f1ap_GNBDUUESliceMaximumBitRateList;
static int ett_f1ap_GNBDUUESliceMaximumBitRateItem;
static int ett_f1ap_GNB_RxTxTimeDiff;
static int ett_f1ap_GNBRxTxTimeDiffMeas;
static int ett_f1ap_GTPTLAs;
static int ett_f1ap_GTPTLA_Item;
static int ett_f1ap_GTPTunnel;
static int ett_f1ap_HardwareLoadIndicator;
static int ett_f1ap_HSNASlotConfigList;
static int ett_f1ap_HSNASlotConfigItem;
static int ett_f1ap_IABCongestionIndication;
static int ett_f1ap_IAB_Congestion_Indication_List;
static int ett_f1ap_IAB_Congestion_Indication_Item;
static int ett_f1ap_IAB_Info_IAB_donor_CU;
static int ett_f1ap_IAB_Info_IAB_DU;
static int ett_f1ap_IAB_MT_Cell_List;
static int ett_f1ap_IAB_MT_Cell_List_Item;
static int ett_f1ap_IAB_MT_Cell_NA_Resource_Configuration_Mode_Info;
static int ett_f1ap_IAB_MT_Cell_NA_Resource_Configuration_FDD_Info;
static int ett_f1ap_IAB_MT_Cell_NA_Resource_Configuration_TDD_Info;
static int ett_f1ap_IAB_STC_Info;
static int ett_f1ap_IAB_STC_Info_List;
static int ett_f1ap_IAB_STC_Info_Item;
static int ett_f1ap_IAB_Allocated_TNL_Address_Item;
static int ett_f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info;
static int ett_f1ap_IAB_DU_Cell_Resource_Configuration_FDD_Info;
static int ett_f1ap_IAB_DU_Cell_Resource_Configuration_TDD_Info;
static int ett_f1ap_IABIPv6RequestType;
static int ett_f1ap_IABTNLAddress;
static int ett_f1ap_IABTNLAddressesRequested;
static int ett_f1ap_IAB_TNL_Addresses_To_Remove_Item;
static int ett_f1ap_IAB_TNL_Addresses_Exception;
static int ett_f1ap_IABTNLAddressList;
static int ett_f1ap_IABTNLAddress_Item;
static int ett_f1ap_IABv4AddressesRequested;
static int ett_f1ap_Mobile_IAB_MTUserLocationInformation;
static int ett_f1ap_ImplicitFormat;
static int ett_f1ap_IndirectPathAddition;
static int ett_f1ap_IntendedTDD_DL_ULConfig;
static int ett_f1ap_IPHeaderInformation;
static int ett_f1ap_IPtolayer2TrafficMappingInfo;
static int ett_f1ap_IPtolayer2TrafficMappingInfoList;
static int ett_f1ap_IPtolayer2TrafficMappingInfo_Item;
static int ett_f1ap_LTEA2XServicesAuthorized;
static int ett_f1ap_L139Info;
static int ett_f1ap_L839Info;
static int ett_f1ap_L571Info;
static int ett_f1ap_L1151Info;
static int ett_f1ap_LCS_to_GCS_Translation;
static int ett_f1ap_LCStoGCSTranslationList;
static int ett_f1ap_LCStoGCSTranslation;
static int ett_f1ap_LocationDependentMBSF1UInformation;
static int ett_f1ap_LocationDependentMBSF1UInformation_Item;
static int ett_f1ap_LocationUncertainty;
static int ett_f1ap_LoS_NLoSInformation;
static int ett_f1ap_LTEUESidelinkAggregateMaximumBitrate;
static int ett_f1ap_LTEV2XServicesAuthorized;
static int ett_f1ap_LTMCells_ToBeReleased_List;
static int ett_f1ap_LTMCells_ToBeReleased_Item;
static int ett_f1ap_LTMInformation_Setup;
static int ett_f1ap_LTMConfigurationIDMappingList;
static int ett_f1ap_LTMConfigurationIDMapping_Item;
static int ett_f1ap_LTMInformation_Modify;
static int ett_f1ap_LTMConfiguration;
static int ett_f1ap_LTMCellSwitchInformation;
static int ett_f1ap_LTMgNB_DU_IDsList;
static int ett_f1ap_LTMgNB_DU_IDs_Item;
static int ett_f1ap_LTMgNB_DU_IDs_PreambleIndexList;
static int ett_f1ap_LTMgNB_DU_IDs_PreambleIndex_Item;
static int ett_f1ap_LTMCFRAResourceConfig_List;
static int ett_f1ap_LTMCFRAResourceConfig_Item;
static int ett_f1ap_MappingInformationtoRemove;
static int ett_f1ap_MBS_Flows_Mapped_To_MRB_List;
static int ett_f1ap_MBS_Flows_Mapped_To_MRB_Item;
static int ett_f1ap_MBSF1UInformation;
static int ett_f1ap_MBS_Session_ID;
static int ett_f1ap_MBS_CUtoDURRCInformation;
static int ett_f1ap_MBS_Broadcast_Cell_List;
static int ett_f1ap_MBS_Broadcast_Cell_Item;
static int ett_f1ap_MBS_Broadcast_MRB_List;
static int ett_f1ap_MBS_Broadcast_MRB_Item;
static int ett_f1ap_MBSMulticastF1UContextDescriptor;
static int ett_f1ap_MT_SDT_Information;
static int ett_f1ap_MulticastCU2DURRCInfo;
static int ett_f1ap_MBS_Multicast_CU2DU_Cell_List;
static int ett_f1ap_MBS_Multicast_CU2DU_Cell_Item;
static int ett_f1ap_MBS_Multicast_MRB_List;
static int ett_f1ap_MBS_Multicast_MRB_Item;
static int ett_f1ap_MulticastCU2DUCommonRRCInfo;
static int ett_f1ap_MulticastCommonCU2DUCellList;
static int ett_f1ap_MulticastCommonCU2DUCell_Item;
static int ett_f1ap_MulticastCommonCu2DUCellInformation;
static int ett_f1ap_MBSMulticastNeighbourCellListItem;
static int ett_f1ap_ThresholdMBS_ListItem;
static int ett_f1ap_UpdateMBSMulticastNeighbourCellListInformation;
static int ett_f1ap_MTCH_NeighbourCellSessionList;
static int ett_f1ap_MTCH_NeighbourCellSession_Item;
static int ett_f1ap_MTCH_NeighbourCellInformation;
static int ett_f1ap_UpdateThresholdMBS_ListInformation;
static int ett_f1ap_ThresholdIndexSessionList;
static int ett_f1ap_ThresholdIndexSession_Item;
static int ett_f1ap_ThresholdIndexInformation;
static int ett_f1ap_MulticastDU2CURRCInfo;
static int ett_f1ap_MBS_Multicast_DU2CU_Cell_List;
static int ett_f1ap_MBS_Multicast_DU2CU_Cell_Item;
static int ett_f1ap_MBSMulticastConfigurationResponseInfo;
static int ett_f1ap_MBSMulticastConfiguration_available;
static int ett_f1ap_MBSMulticastConfiguration_notavailable;
static int ett_f1ap_MBSMulticastConfigurationNotification;
static int ett_f1ap_MBSMulticastConfigurationNotificationInfo;
static int ett_f1ap_MulticastF1UContext_ToBeSetup_Item;
static int ett_f1ap_MulticastF1UContext_Setup_Item;
static int ett_f1ap_MulticastF1UContext_FailedToBeSetup_Item;
static int ett_f1ap_MBS_ServiceArea;
static int ett_f1ap_MBS_ServiceAreaInformation;
static int ett_f1ap_MBS_ServiceAreaCellList;
static int ett_f1ap_MBS_ServiceAreaTAIList;
static int ett_f1ap_MBS_ServiceAreaTAIList_Item;
static int ett_f1ap_MBS_ServiceAreaInformationList;
static int ett_f1ap_MBS_ServiceAreaInformationItem;
static int ett_f1ap_MC_PagingCell_Item;
static int ett_f1ap_MeasurementBeamInfo;
static int ett_f1ap_MRB_ProgressInformation;
static int ett_f1ap_MultipleULAoA;
static int ett_f1ap_MultipleULAoA_List;
static int ett_f1ap_MultipleULAoA_Item;
static int ett_f1ap_MulticastMBSSessionList;
static int ett_f1ap_MulticastMBSSessionList_Item;
static int ett_f1ap_MulticastMRBs_FailedToBeModified_Item;
static int ett_f1ap_MulticastMRBs_FailedToBeSetup_Item;
static int ett_f1ap_MulticastMRBs_FailedToBeSetupMod_Item;
static int ett_f1ap_MulticastMRBs_Modified_Item;
static int ett_f1ap_MulticastMRBs_Setup_Item;
static int ett_f1ap_MulticastMRBs_SetupMod_Item;
static int ett_f1ap_MulticastMRBs_ToBeModified_Item;
static int ett_f1ap_MulticastMRBs_ToBeReleased_Item;
static int ett_f1ap_MulticastMRBs_ToBeSetup_Item;
static int ett_f1ap_MulticastMRBs_ToBeSetupMod_Item;
static int ett_f1ap_MultiplexingInfo;
static int ett_f1ap_M5Configuration;
static int ett_f1ap_M6Configuration;
static int ett_f1ap_M7Configuration;
static int ett_f1ap_MDTConfiguration;
static int ett_f1ap_MDTPLMNList;
static int ett_f1ap_MDTPLMNModificationList;
static int ett_f1ap_MeasuredResultsValue;
static int ett_f1ap_Mobile_TRP_LocationInformation;
static int ett_f1ap_NRA2XServicesAuthorized;
static int ett_f1ap_N3CIndirectPathAddition;
static int ett_f1ap_NA_Resource_Configuration_List;
static int ett_f1ap_NA_Resource_Configuration_Item;
static int ett_f1ap_NCGI_to_be_Updated_List_Item;
static int ett_f1ap_Neighbour_Node_Cells_List;
static int ett_f1ap_Neighbour_Node_Cells_List_Item;
static int ett_f1ap_Neighbour_Cell_Information_Item;
static int ett_f1ap_NeighbourNR_CellsForSON_List;
static int ett_f1ap_NeighbourNR_CellsForSON_Item;
static int ett_f1ap_NGRANAllocationAndRetentionPriority;
static int ett_f1ap_NGRANHighAccuracyAccessPointPosition;
static int ett_f1ap_NR_CGI_List_For_Restart_Item;
static int ett_f1ap_NR_PRSBeamInformation;
static int ett_f1ap_NR_PRSBeamInformationList;
static int ett_f1ap_NR_PRSBeamInformationItem;
static int ett_f1ap_NRPagingeDRXInformation;
static int ett_f1ap_NRPagingeDRXInformationforRRCINACTIVE;
static int ett_f1ap_NRPaginglongeDRXInformationforRRCINACTIVE;
static int ett_f1ap_NonDynamic5QIDescriptor;
static int ett_f1ap_NonDynamicPQIDescriptor;
static int ett_f1ap_NotificationInformation;
static int ett_f1ap_NPNBroadcastInformation;
static int ett_f1ap_NPN_Broadcast_Information_SNPN;
static int ett_f1ap_NPN_Broadcast_Information_PNI_NPN;
static int ett_f1ap_NPNSupportInfo;
static int ett_f1ap_NRCarrierList;
static int ett_f1ap_NRCarrierItem;
static int ett_f1ap_NRFreqInfo;
static int ett_f1ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem;
static int ett_f1ap_NRCGI;
static int ett_f1ap_NR_Mode_Info;
static int ett_f1ap_NR_ModeInfoRel16;
static int ett_f1ap_NRPRACHConfig;
static int ett_f1ap_NRPRACHConfigList;
static int ett_f1ap_NRPRACHConfigItem;
static int ett_f1ap_NR_U_Channel_Info_List;
static int ett_f1ap_NR_U_Channel_Info_Item;
static int ett_f1ap_NR_U_Channel_List;
static int ett_f1ap_NR_U_Channel_Item;
static int ett_f1ap_NumDLULSymbols;
static int ett_f1ap_NRV2XServicesAuthorized;
static int ett_f1ap_NRUESidelinkAggregateMaximumBitrate;
static int ett_f1ap_N6JitterInformation;
static int ett_f1ap_OnDemandPRS_Info;
static int ett_f1ap_PacketErrorRate;
static int ett_f1ap_PathAdditionInformation;
static int ett_f1ap_PagingCell_Item;
static int ett_f1ap_Recommended_SSBs_List;
static int ett_f1ap_RecommendedSSBItem_List_Item;
static int ett_f1ap_PagingIdentity;
static int ett_f1ap_PEIPSAssistanceInfo;
static int ett_f1ap_RelativePathDelay;
static int ett_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_List;
static int ett_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_Item;
static int ett_f1ap_PartialSuccessCell;
static int ett_f1ap_PathlossReferenceInfo;
static int ett_f1ap_PathlossReferenceSignal;
static int ett_f1ap_PathSwitchConfiguration;
static int ett_f1ap_PC5_QoS_Characteristics;
static int ett_f1ap_PC5QoSParameters;
static int ett_f1ap_PC5FlowBitRates;
static int ett_f1ap_PC5RLCChannelQoSInformation;
static int ett_f1ap_PC5RLCChannelToBeSetupList;
static int ett_f1ap_PC5RLCChannelToBeSetupItem;
static int ett_f1ap_PC5RLCChannelToBeModifiedList;
static int ett_f1ap_PC5RLCChannelToBeModifiedItem;
static int ett_f1ap_PC5RLCChannelToBeReleasedList;
static int ett_f1ap_PC5RLCChannelToBeReleasedItem;
static int ett_f1ap_PC5RLCChannelSetupList;
static int ett_f1ap_PC5RLCChannelSetupItem;
static int ett_f1ap_PC5RLCChannelFailedToBeSetupList;
static int ett_f1ap_PC5RLCChannelFailedToBeSetupItem;
static int ett_f1ap_PC5RLCChannelModifiedList;
static int ett_f1ap_PC5RLCChannelModifiedItem;
static int ett_f1ap_PC5RLCChannelFailedToBeModifiedList;
static int ett_f1ap_PC5RLCChannelFailedToBeModifiedItem;
static int ett_f1ap_PC5RLCChannelRequiredToBeModifiedList;
static int ett_f1ap_PC5RLCChannelRequiredToBeModifiedItem;
static int ett_f1ap_PC5RLCChannelRequiredToBeReleasedList;
static int ett_f1ap_PC5RLCChannelRequiredToBeReleasedItem;
static int ett_f1ap_PDCMeasurementQuantities;
static int ett_f1ap_PDCMeasurementQuantities_Item;
static int ett_f1ap_PDCMeasurementResult;
static int ett_f1ap_PDCMeasuredResultsList;
static int ett_f1ap_PDCMeasuredResults_Item;
static int ett_f1ap_PDCMeasuredResults_Value;
static int ett_f1ap_PeriodicityList;
static int ett_f1ap_PeriodicityList_Item;
static int ett_f1ap_PeriodicityBound;
static int ett_f1ap_AllowedPeriodicityList;
static int ett_f1ap_PeriodicityRange;
static int ett_f1ap_PositioningBroadcastCells;
static int ett_f1ap_PosMeasGapPreConfigList;
static int ett_f1ap_PosMeasurementQuantities;
static int ett_f1ap_PosMeasurementQuantities_Item;
static int ett_f1ap_PosMeasurementResult;
static int ett_f1ap_PosMeasurementResultItem;
static int ett_f1ap_PosMeasurementResultList;
static int ett_f1ap_PosMeasurementResultList_Item;
static int ett_f1ap_PosResourceSetType;
static int ett_f1ap_PosResourceSetTypePR;
static int ett_f1ap_PosResourceSetTypeSP;
static int ett_f1ap_PosResourceSetTypeAP;
static int ett_f1ap_PosSItypeList;
static int ett_f1ap_PosSItype_Item;
static int ett_f1ap_PosSRSResourceID_List;
static int ett_f1ap_PosSRSResource_Item;
static int ett_f1ap_PosSRSResource_List;
static int ett_f1ap_PosSRSResourceSet_Item;
static int ett_f1ap_PosValidityAreaCellList;
static int ett_f1ap_PosValidityAreaCellList_Item;
static int ett_f1ap_PosSRSResourceSet_List;
static int ett_f1ap_PreambleIndexList;
static int ett_f1ap_PreambleIndexList_Item;
static int ett_f1ap_Protected_EUTRA_Resources_Item;
static int ett_f1ap_PRSConfiguration;
static int ett_f1ap_PRSInformationPos;
static int ett_f1ap_PRS_Measurement_Info_List;
static int ett_f1ap_PRS_Measurement_Info_List_Item;
static int ett_f1ap_Potential_SpCell_Item;
static int ett_f1ap_PRSAngleList;
static int ett_f1ap_PRSAngleItem;
static int ett_f1ap_PRSMuting;
static int ett_f1ap_PRSMutingOption1;
static int ett_f1ap_PRSMutingOption2;
static int ett_f1ap_PRSResource_List;
static int ett_f1ap_PRSResource_Item;
static int ett_f1ap_PRSResource_QCLInfo;
static int ett_f1ap_PRSResource_QCLSourceSSB;
static int ett_f1ap_PRSResource_QCLSourcePRS;
static int ett_f1ap_PRSResourceSet_List;
static int ett_f1ap_PRSResourceSet_Item;
static int ett_f1ap_PRSTransmissionOffIndication;
static int ett_f1ap_PRSTransmissionOffPerResource;
static int ett_f1ap_PRSTransmissionOffPerResource_Item;
static int ett_f1ap_SEQUENCE_SIZE_1_maxnoofPRSresources_OF_PRSTransmissionOffIndicationPerResource_Item;
static int ett_f1ap_PRSTransmissionOffIndicationPerResource_Item;
static int ett_f1ap_PRSTransmissionOffInformation;
static int ett_f1ap_PRSTransmissionOffPerResourceSet;
static int ett_f1ap_PRSTransmissionOffPerResourceSet_Item;
static int ett_f1ap_PWS_Failed_NR_CGI_Item;
static int ett_f1ap_PWSSystemInformation;
static int ett_f1ap_PRSTRPList;
static int ett_f1ap_PRSTRPItem;
static int ett_f1ap_RequestedDLPRSTransmissionCharacteristics;
static int ett_f1ap_RequestedDLPRSResourceSet_List;
static int ett_f1ap_RequestedDLPRSResourceSet_Item;
static int ett_f1ap_RequestedDLPRSResource_List;
static int ett_f1ap_RequestedDLPRSResource_Item;
static int ett_f1ap_PRSTransmissionTRPList;
static int ett_f1ap_PRSTransmissionTRPItem;
static int ett_f1ap_PDUSetQoSParameters;
static int ett_f1ap_PDUSetQoSInformation;
static int ett_f1ap_QoEInformation;
static int ett_f1ap_QoEInformationList;
static int ett_f1ap_QoEInformationList_Item;
static int ett_f1ap_QoEMetrics;
static int ett_f1ap_QoS_Characteristics;
static int ett_f1ap_QoSFlowLevelQoSParameters;
static int ett_f1ap_QoSInformation;
static int ett_f1ap_RAReportList;
static int ett_f1ap_RAReportItem;
static int ett_f1ap_RAReportIndicationList;
static int ett_f1ap_RAReportIndicationList_Item;
static int ett_f1ap_RadioResourceStatus;
static int ett_f1ap_RadioResourceStatusNR_U;
static int ett_f1ap_MIMOPRBusageInformation;
static int ett_f1ap_RANfeedbacktype;
static int ett_f1ap_RANfeedbacktype_proactive;
static int ett_f1ap_RANfeedbacktype_reactive;
static int ett_f1ap_RANTimingSynchronisationStatusInfo;
static int ett_f1ap_ClockAccuracy;
static int ett_f1ap_RANUEPagingIdentity;
static int ett_f1ap_RAT_FrequencyPriorityInformation;
static int ett_f1ap_RBSetConfiguration;
static int ett_f1ap_Recommended_SSBs_for_Paging_List;
static int ett_f1ap_Recommended_SSBs_for_Paging_List_Item;
static int ett_f1ap_ReferencePoint;
static int ett_f1ap_ReferenceSignal;
static int ett_f1ap_ReferenceConfiguration;
static int ett_f1ap_RelativeCartesianLocation;
static int ett_f1ap_RelativeGeodeticLocation;
static int ett_f1ap_RequestedSRSPreconfigurationCharacteristics_List;
static int ett_f1ap_RequestedSRSPreconfigurationCharacteristics_Item;
static int ett_f1ap_RequestedSRSTransmissionCharacteristics;
static int ett_f1ap_ResourceCoordinationEUTRACellInfo;
static int ett_f1ap_ResourceCoordinationTransferInformation;
static int ett_f1ap_ResourceMapping;
static int ett_f1ap_ResourceSetType;
static int ett_f1ap_ResourceSetTypePeriodic;
static int ett_f1ap_ResourceSetTypeSemi_persistent;
static int ett_f1ap_ResourceSetTypeAperiodic;
static int ett_f1ap_ReportingRequestType;
static int ett_f1ap_ResourceType;
static int ett_f1ap_ResourceTypePeriodic;
static int ett_f1ap_ResourceTypeSemi_persistent;
static int ett_f1ap_ResourceTypeAperiodic;
static int ett_f1ap_ResourceTypePos;
static int ett_f1ap_ResourceTypePeriodicPos;
static int ett_f1ap_ResourceTypeSemi_persistentPos;
static int ett_f1ap_ResourceTypeAperiodicPos;
static int ett_f1ap_RLCDuplicationInformation;
static int ett_f1ap_RLCDuplicationStateList;
static int ett_f1ap_RLCDuplicationState_Item;
static int ett_f1ap_RLCFailureIndication;
static int ett_f1ap_RLC_Status;
static int ett_f1ap_RLFReportInformationList;
static int ett_f1ap_RLFReportInformationItem;
static int ett_f1ap_RRCDeliveryStatus;
static int ett_f1ap_RRC_Terminating_IAB_Donor_Related_Info;
static int ett_f1ap_RRC_Version;
static int ett_f1ap_ResponseTime;
static int ett_f1ap_SCell_FailedtoSetup_Item;
static int ett_f1ap_SCell_FailedtoSetupMod_Item;
static int ett_f1ap_SCell_ToBeRemoved_Item;
static int ett_f1ap_SCell_ToBeSetup_Item;
static int ett_f1ap_SCell_ToBeSetupMod_Item;
static int ett_f1ap_S_CPAC_Configuration;
static int ett_f1ap_SCS_SpecificCarrier;
static int ett_f1ap_SDTBearerConfigurationInfo;
static int ett_f1ap_SDTBearerConfig_List;
static int ett_f1ap_SDTBearerConfig_List_Item;
static int ett_f1ap_SDTBearerType;
static int ett_f1ap_SDTInformation;
static int ett_f1ap_Search_window_information;
static int ett_f1ap_ServingCellMO_List_Item;
static int ett_f1ap_ServingCellMO_encoded_in_CGC_List;
static int ett_f1ap_ServingCellMO_encoded_in_CGC_Item;
static int ett_f1ap_Served_Cell_Information;
static int ett_f1ap_Serving_Cells_List;
static int ett_f1ap_Serving_Cells_List_Item;
static int ett_f1ap_Supported_MBS_FSA_ID_List;
static int ett_f1ap_SFN_Offset;
static int ett_f1ap_Served_Cells_To_Add_Item;
static int ett_f1ap_Served_Cells_To_Delete_Item;
static int ett_f1ap_Served_Cells_To_Modify_Item;
static int ett_f1ap_Served_EUTRA_Cells_Information;
static int ett_f1ap_Service_Status;
static int ett_f1ap_SItype_List;
static int ett_f1ap_SItype_Item;
static int ett_f1ap_SibtypetobeupdatedListItem;
static int ett_f1ap_SidelinkRelayConfiguration;
static int ett_f1ap_SLDRBInformation;
static int ett_f1ap_SLDRBs_FailedToBeModified_Item;
static int ett_f1ap_SLDRBs_FailedToBeSetup_Item;
static int ett_f1ap_SLDRBs_FailedToBeSetupMod_Item;
static int ett_f1ap_SLDRBs_Modified_Item;
static int ett_f1ap_SLDRBs_ModifiedConf_Item;
static int ett_f1ap_SLDRBs_Required_ToBeModified_Item;
static int ett_f1ap_SLDRBs_Required_ToBeReleased_Item;
static int ett_f1ap_SLDRBs_Setup_Item;
static int ett_f1ap_SLDRBs_SetupMod_Item;
static int ett_f1ap_SLDRBs_ToBeModified_Item;
static int ett_f1ap_SLDRBs_ToBeReleased_Item;
static int ett_f1ap_SLDRBs_ToBeSetup_Item;
static int ett_f1ap_SLDRBs_ToBeSetupMod_Item;
static int ett_f1ap_SLDRXCycleList;
static int ett_f1ap_SLDRXCycleItem;
static int ett_f1ap_SLDRXInformation;
static int ett_f1ap_SliceAvailableCapacity;
static int ett_f1ap_SliceAvailableCapacityList;
static int ett_f1ap_SliceAvailableCapacityItem;
static int ett_f1ap_SNSSAIAvailableCapacity_List;
static int ett_f1ap_SNSSAIAvailableCapacity_Item;
static int ett_f1ap_SliceRadioResourceStatus;
static int ett_f1ap_SliceRadioResourceStatus_List;
static int ett_f1ap_SliceRadioResourceStatus_Item;
static int ett_f1ap_SNSSAIRadioResourceStatus_List;
static int ett_f1ap_SNSSAIRadioResourceStatus_Item;
static int ett_f1ap_SliceSupportList;
static int ett_f1ap_SliceSupportItem;
static int ett_f1ap_SliceToReportList;
static int ett_f1ap_SliceToReportItem;
static int ett_f1ap_SLPositioning_Ranging_Service_Info;
static int ett_f1ap_RSPP_transport_QoS_parameters;
static int ett_f1ap_RSPPQoSFlowList;
static int ett_f1ap_RSPPQoSFlowItem;
static int ett_f1ap_RSPPFlowBitRates;
static int ett_f1ap_SNSSAI_list;
static int ett_f1ap_SNSSAI_Item;
static int ett_f1ap_Slot_Configuration_List;
static int ett_f1ap_Slot_Configuration_Item;
static int ett_f1ap_SlotOffsetForRemainingHopsList;
static int ett_f1ap_SlotOffsetForRemainingHopsItem;
static int ett_f1ap_SlotOffsetRemainingHops;
static int ett_f1ap_SlotOffsetRemainingHopsAperiodic;
static int ett_f1ap_SlotOffsetRemainingHopsSemiPersistent;
static int ett_f1ap_SlotOffsetRemainingHopsPeriodic;
static int ett_f1ap_SNSSAI;
static int ett_f1ap_SpatialDirectionInformation;
static int ett_f1ap_SpatialRelationInfo;
static int ett_f1ap_SpatialRelationforResourceID;
static int ett_f1ap_SpatialRelationforResourceIDItem;
static int ett_f1ap_SpatialRelationPerSRSResource;
static int ett_f1ap_SpatialRelationPerSRSResource_List;
static int ett_f1ap_SpatialRelationPerSRSResourceItem;
static int ett_f1ap_SpatialRelationPos;
static int ett_f1ap_SRBs_FailedToBeSetup_Item;
static int ett_f1ap_SRBs_FailedToBeSetupMod_Item;
static int ett_f1ap_SRBs_Modified_Item;
static int ett_f1ap_SRBs_Required_ToBeReleased_Item;
static int ett_f1ap_SRBs_Setup_Item;
static int ett_f1ap_SRBs_SetupMod_Item;
static int ett_f1ap_SRBs_ToBeReleased_Item;
static int ett_f1ap_SRBs_ToBeSetup_Item;
static int ett_f1ap_SRBs_ToBeSetupMod_Item;
static int ett_f1ap_SRSCarrier_List;
static int ett_f1ap_SRSCarrier_List_Item;
static int ett_f1ap_SRSConfig;
static int ett_f1ap_SRSConfiguration;
static int ett_f1ap_SRSPreconfiguration_List;
static int ett_f1ap_SRSPreconfiguration_Item;
static int ett_f1ap_SRSResource;
static int ett_f1ap_SRSResourceID_List;
static int ett_f1ap_SRSResource_List;
static int ett_f1ap_SRSResourceSet;
static int ett_f1ap_SRSResourceSetList;
static int ett_f1ap_SRSResourceSetItem;
static int ett_f1ap_SRSResourceSet_List;
static int ett_f1ap_SRSResourceTrigger;
static int ett_f1ap_SRSResourcetype;
static int ett_f1ap_SRSResourceTypeChoice;
static int ett_f1ap_SRSInfo;
static int ett_f1ap_PosSRSInfo;
static int ett_f1ap_SSB;
static int ett_f1ap_SSBCoverageModification_List;
static int ett_f1ap_SSBCoverageModification_Item;
static int ett_f1ap_SSB_transmissionBitmap;
static int ett_f1ap_SSBAreaCapacityValueList;
static int ett_f1ap_SSBAreaCapacityValueItem;
static int ett_f1ap_SSBAreaRadioResourceStatusList;
static int ett_f1ap_SSBAreaRadioResourceStatusItem;
static int ett_f1ap_SSBInformation;
static int ett_f1ap_SSBInformationList;
static int ett_f1ap_SSBInformationItem;
static int ett_f1ap_SSB_PositionsInBurst;
static int ett_f1ap_SSBs_activated_List;
static int ett_f1ap_SSBs_forPaging_List;
static int ett_f1ap_SSBs_toBeActivated_List;
static int ett_f1ap_SSB_TF_Configuration;
static int ett_f1ap_SSBToReportList;
static int ett_f1ap_SSBToReportItem;
static int ett_f1ap_StartRBIndex;
static int ett_f1ap_StartTimeAndDuration;
static int ett_f1ap_SUL_Information;
static int ett_f1ap_SuccessfulHOReportInformationList;
static int ett_f1ap_SuccessfulHOReportInformation_Item;
static int ett_f1ap_SuccessfulPSCellChangeReportInformationList;
static int ett_f1ap_SuccessfulPSCellChangeReportInformation_Item;
static int ett_f1ap_SupportedSULFreqBandItem;
static int ett_f1ap_SupportedUETypeList;
static int ett_f1ap_SupportedUETypeList_Item;
static int ett_f1ap_SymbolAllocInSlot;
static int ett_f1ap_TAI;
static int ett_f1ap_TargetCellList;
static int ett_f1ap_TargetCellList_Item;
static int ett_f1ap_NSAGSupportList;
static int ett_f1ap_NSAGSupportItem;
static int ett_f1ap_TDD_Info;
static int ett_f1ap_TDD_InfoRel16;
static int ett_f1ap_TRPTEGInformation;
static int ett_f1ap_RxTxTEG;
static int ett_f1ap_RxTEG;
static int ett_f1ap_TimeReferenceInformation;
static int ett_f1ap_TimeStamp;
static int ett_f1ap_TimeStampSlotIndex;
static int ett_f1ap_TimingMeasurementQuality;
static int ett_f1ap_TimeWindowInformation_Measurement_List;
static int ett_f1ap_TimeWindowInformation_Measurement_Item;
static int ett_f1ap_TimeWindowInformation_SRS_List;
static int ett_f1ap_TimeWindowInformation_SRS_Item;
static int ett_f1ap_TimeWindowDurationMeasurement;
static int ett_f1ap_TimeWindowDurationSRS;
static int ett_f1ap_TimeWindowStartSRS;
static int ett_f1ap_TNLCapacityIndicator;
static int ett_f1ap_TraceActivation;
static int ett_f1ap_TrafficMappingInfo;
static int ett_f1ap_Transmission_Bandwidth;
static int ett_f1ap_TransmissionComb;
static int ett_f1ap_T_n2;
static int ett_f1ap_T_n4;
static int ett_f1ap_TransmissionCombn8;
static int ett_f1ap_TransmissionCombPos;
static int ett_f1ap_T_n2_01;
static int ett_f1ap_T_n4_01;
static int ett_f1ap_T_n8;
static int ett_f1ap_Transport_UP_Layer_Address_Info_To_Add_List;
static int ett_f1ap_Transport_UP_Layer_Address_Info_To_Add_Item;
static int ett_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List;
static int ett_f1ap_Transport_UP_Layer_Address_Info_To_Remove_Item;
static int ett_f1ap_TRPBeamAntennaInformation;
static int ett_f1ap_Choice_TRP_Beam_Antenna_Info_Item;
static int ett_f1ap_TRP_BeamAntennaExplicitInformation;
static int ett_f1ap_TRP_BeamAntennaAngles;
static int ett_f1ap_TRP_BeamAntennaAnglesList_Item;
static int ett_f1ap_SEQUENCE_SIZE_1_maxnoElevationAngles_OF_TRP_ElevationAngleList_Item;
static int ett_f1ap_TRP_ElevationAngleList_Item;
static int ett_f1ap_SEQUENCE_SIZE_2_maxNumResourcesPerAngle_OF_TRP_Beam_Power_Item;
static int ett_f1ap_TRP_Beam_Power_Item;
static int ett_f1ap_TRPInformation;
static int ett_f1ap_TRPInformationItem;
static int ett_f1ap_TRPInformationTypeResponseList;
static int ett_f1ap_TRPInformationTypeResponseItem;
static int ett_f1ap_TRPList;
static int ett_f1ap_TRPListItem;
static int ett_f1ap_TRPMeasurementQuality;
static int ett_f1ap_TRPMeasurementQuality_Item;
static int ett_f1ap_PhaseQuality;
static int ett_f1ap_TRP_MeasurementRequestList;
static int ett_f1ap_TRP_MeasurementRequestItem;
static int ett_f1ap_TRP_PRS_Info_List;
static int ett_f1ap_TRP_PRS_Info_List_Item;
static int ett_f1ap_TRPPositionDefinitionType;
static int ett_f1ap_TRPPositionDirect;
static int ett_f1ap_TRPPositionDirectAccuracy;
static int ett_f1ap_TRPPositionReferenced;
static int ett_f1ap_TRPReferencePointType;
static int ett_f1ap_TRP_Rx_TEGInformation;
static int ett_f1ap_TRP_RxTx_TEGInformation;
static int ett_f1ap_TRP_Tx_TEGInformation;
static int ett_f1ap_TRPTxTEGAssociation;
static int ett_f1ap_TRPTEG_Item;
static int ett_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceID_Item;
static int ett_f1ap_DLPRSResourceID_Item;
static int ett_f1ap_Transport_Layer_Address_Info;
static int ett_f1ap_TSCAssistanceInformation;
static int ett_f1ap_TSCTrafficCharacteristics;
static int ett_f1ap_TSCTrafficCharacteristicsFeedback;
static int ett_f1ap_TSCFeedbackInformation;
static int ett_f1ap_TRP_MeasurementUpdateList;
static int ett_f1ap_TRP_MeasurementUpdateItem;
static int ett_f1ap_TxHoppingConfiguration;
static int ett_f1ap_TAInformation_List;
static int ett_f1ap_TAInformation_Item;
static int ett_f1ap_UAC_Assistance_Info;
static int ett_f1ap_UACPLMN_List;
static int ett_f1ap_UACPLMN_Item;
static int ett_f1ap_UACType_List;
static int ett_f1ap_UACType_Item;
static int ett_f1ap_UACCategoryType;
static int ett_f1ap_UACOperatorDefined;
static int ett_f1ap_UE_associatedLogicalF1_ConnectionItem;
static int ett_f1ap_UEIdentityIndexValue;
static int ett_f1ap_UEIdentity_List_For_Paging_Item;
static int ett_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_Item;
static int ett_f1ap_UE_MulticastMRBs_RequiredToBeModified_Item;
static int ett_f1ap_UE_MulticastMRBs_RequiredToBeReleased_Item;
static int ett_f1ap_UE_MulticastMRBs_Setup_Item;
static int ett_f1ap_UE_MulticastMRBs_Setupnew_Item;
static int ett_f1ap_UE_MulticastMRBs_ToBeReleased_Item;
static int ett_f1ap_UE_MulticastMRBs_ToBeSetup_Item;
static int ett_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_Item;
static int ett_f1ap_UEPagingCapability;
static int ett_f1ap_UEReportingInformation;
static int ett_f1ap_UL_AoA;
static int ett_f1ap_UL_BH_Non_UP_Traffic_Mapping;
static int ett_f1ap_UL_BH_Non_UP_Traffic_Mapping_List;
static int ett_f1ap_UL_BH_Non_UP_Traffic_Mapping_Item;
static int ett_f1ap_ULConfiguration;
static int ett_f1ap_UL_RTOA_Measurement;
static int ett_f1ap_UL_RTOA_MeasurementItem;
static int ett_f1ap_UL_SRS_RSRPP;
static int ett_f1ap_UL_RSCP;
static int ett_f1ap_UL_UP_TNL_Information_to_Update_List_Item;
static int ett_f1ap_UL_UP_TNL_Address_to_Update_List_Item;
static int ett_f1ap_ULUPTNLInformation_ToBeSetup_List;
static int ett_f1ap_ULUPTNLInformation_ToBeSetup_Item;
static int ett_f1ap_UplinkChannelBW_PerSCS_List;
static int ett_f1ap_UPTransportLayerInformation;
static int ett_f1ap_UuRLCChannelQoSInformation;
static int ett_f1ap_UuRLCChannelToBeSetupList;
static int ett_f1ap_UuRLCChannelToBeSetupItem;
static int ett_f1ap_UuRLCChannelToBeModifiedList;
static int ett_f1ap_UuRLCChannelToBeModifiedItem;
static int ett_f1ap_UuRLCChannelToBeReleasedList;
static int ett_f1ap_UuRLCChannelToBeReleasedItem;
static int ett_f1ap_UuRLCChannelSetupList;
static int ett_f1ap_UuRLCChannelSetupItem;
static int ett_f1ap_UuRLCChannelFailedToBeSetupList;
static int ett_f1ap_UuRLCChannelFailedToBeSetupItem;
static int ett_f1ap_UuRLCChannelModifiedList;
static int ett_f1ap_UuRLCChannelModifiedItem;
static int ett_f1ap_UuRLCChannelFailedToBeModifiedList;
static int ett_f1ap_UuRLCChannelFailedToBeModifiedItem;
static int ett_f1ap_UuRLCChannelRequiredToBeModifiedList;
static int ett_f1ap_UuRLCChannelRequiredToBeModifiedItem;
static int ett_f1ap_UuRLCChannelRequiredToBeReleasedList;
static int ett_f1ap_UuRLCChannelRequiredToBeReleasedItem;
static int ett_f1ap_VictimgNBSetID;
static int ett_f1ap_ValidityAreaSpecificSRSInformation;
static int ett_f1ap_ZoAInformation;
static int ett_f1ap_Reset;
static int ett_f1ap_ResetType;
static int ett_f1ap_UE_associatedLogicalF1_ConnectionListRes;
static int ett_f1ap_ResetAcknowledge;
static int ett_f1ap_UE_associatedLogicalF1_ConnectionListResAck;
static int ett_f1ap_ErrorIndication;
static int ett_f1ap_F1SetupRequest;
static int ett_f1ap_GNB_DU_Served_Cells_List;
static int ett_f1ap_F1SetupResponse;
static int ett_f1ap_Cells_to_be_Activated_List;
static int ett_f1ap_NCGI_to_be_Updated_List;
static int ett_f1ap_F1SetupFailure;
static int ett_f1ap_GNBDUConfigurationUpdate;
static int ett_f1ap_Served_Cells_To_Add_List;
static int ett_f1ap_Served_Cells_To_Modify_List;
static int ett_f1ap_Served_Cells_To_Delete_List;
static int ett_f1ap_Cells_Status_List;
static int ett_f1ap_Dedicated_SIDelivery_NeededUE_List;
static int ett_f1ap_GNB_DU_TNL_Association_To_Remove_List;
static int ett_f1ap_GNBDUConfigurationUpdateAcknowledge;
static int ett_f1ap_GNBDUConfigurationUpdateFailure;
static int ett_f1ap_GNBCUConfigurationUpdate;
static int ett_f1ap_Cells_to_be_Deactivated_List;
static int ett_f1ap_GNB_CU_TNL_Association_To_Add_List;
static int ett_f1ap_GNB_CU_TNL_Association_To_Remove_List;
static int ett_f1ap_GNB_CU_TNL_Association_To_Update_List;
static int ett_f1ap_Cells_to_be_Barred_List;
static int ett_f1ap_Cells_Allowed_to_be_Deactivated_List;
static int ett_f1ap_Protected_EUTRA_Resources_List;
static int ett_f1ap_Neighbour_Cell_Information_List;
static int ett_f1ap_GNBCUConfigurationUpdateAcknowledge;
static int ett_f1ap_Cells_Failed_to_be_Activated_List;
static int ett_f1ap_GNB_CU_TNL_Association_Setup_List;
static int ett_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List;
static int ett_f1ap_GNBCUConfigurationUpdateFailure;
static int ett_f1ap_GNBDUResourceCoordinationRequest;
static int ett_f1ap_GNBDUResourceCoordinationResponse;
static int ett_f1ap_UEContextSetupRequest;
static int ett_f1ap_Candidate_SpCell_List;
static int ett_f1ap_SCell_ToBeSetup_List;
static int ett_f1ap_SRBs_ToBeSetup_List;
static int ett_f1ap_DRBs_ToBeSetup_List;
static int ett_f1ap_BHChannels_ToBeSetup_List;
static int ett_f1ap_SLDRBs_ToBeSetup_List;
static int ett_f1ap_UE_MulticastMRBs_ToBeSetup_List;
static int ett_f1ap_ServingCellMO_List;
static int ett_f1ap_UEContextSetupResponse;
static int ett_f1ap_DRBs_Setup_List;
static int ett_f1ap_SRBs_FailedToBeSetup_List;
static int ett_f1ap_DRBs_FailedToBeSetup_List;
static int ett_f1ap_SCell_FailedtoSetup_List;
static int ett_f1ap_SRBs_Setup_List;
static int ett_f1ap_BHChannels_Setup_List;
static int ett_f1ap_BHChannels_FailedToBeSetup_List;
static int ett_f1ap_SLDRBs_Setup_List;
static int ett_f1ap_SLDRBs_FailedToBeSetup_List;
static int ett_f1ap_UE_MulticastMRBs_Setupnew_List;
static int ett_f1ap_UEContextSetupFailure;
static int ett_f1ap_Potential_SpCell_List;
static int ett_f1ap_UEContextReleaseRequest;
static int ett_f1ap_UEContextReleaseCommand;
static int ett_f1ap_UEContextReleaseComplete;
static int ett_f1ap_UEContextModificationRequest;
static int ett_f1ap_SCell_ToBeSetupMod_List;
static int ett_f1ap_SCell_ToBeRemoved_List;
static int ett_f1ap_SRBs_ToBeSetupMod_List;
static int ett_f1ap_DRBs_ToBeSetupMod_List;
static int ett_f1ap_BHChannels_ToBeSetupMod_List;
static int ett_f1ap_DRBs_ToBeModified_List;
static int ett_f1ap_BHChannels_ToBeModified_List;
static int ett_f1ap_SRBs_ToBeReleased_List;
static int ett_f1ap_DRBs_ToBeReleased_List;
static int ett_f1ap_BHChannels_ToBeReleased_List;
static int ett_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_List;
static int ett_f1ap_UE_MulticastMRBs_ToBeReleased_List;
static int ett_f1ap_SLDRBs_ToBeSetupMod_List;
static int ett_f1ap_SLDRBs_ToBeModified_List;
static int ett_f1ap_SLDRBs_ToBeReleased_List;
static int ett_f1ap_UEContextModificationResponse;
static int ett_f1ap_DRBs_SetupMod_List;
static int ett_f1ap_DRBs_Modified_List;
static int ett_f1ap_SRBs_SetupMod_List;
static int ett_f1ap_SRBs_Modified_List;
static int ett_f1ap_DRBs_FailedToBeModified_List;
static int ett_f1ap_SRBs_FailedToBeSetupMod_List;
static int ett_f1ap_DRBs_FailedToBeSetupMod_List;
static int ett_f1ap_SCell_FailedtoSetupMod_List;
static int ett_f1ap_BHChannels_SetupMod_List;
static int ett_f1ap_BHChannels_Modified_List;
static int ett_f1ap_BHChannels_FailedToBeModified_List;
static int ett_f1ap_BHChannels_FailedToBeSetupMod_List;
static int ett_f1ap_Associated_SCell_List;
static int ett_f1ap_SLDRBs_SetupMod_List;
static int ett_f1ap_SLDRBs_Modified_List;
static int ett_f1ap_SLDRBs_FailedToBeModified_List;
static int ett_f1ap_SLDRBs_FailedToBeSetupMod_List;
static int ett_f1ap_UE_MulticastMRBs_Setup_List;
static int ett_f1ap_UEContextModificationFailure;
static int ett_f1ap_UEContextModificationRequired;
static int ett_f1ap_DRBs_Required_ToBeModified_List;
static int ett_f1ap_DRBs_Required_ToBeReleased_List;
static int ett_f1ap_SRBs_Required_ToBeReleased_List;
static int ett_f1ap_BHChannels_Required_ToBeReleased_List;
static int ett_f1ap_SLDRBs_Required_ToBeModified_List;
static int ett_f1ap_SLDRBs_Required_ToBeReleased_List;
static int ett_f1ap_UE_MulticastMRBs_RequiredToBeModified_List;
static int ett_f1ap_UE_MulticastMRBs_RequiredToBeReleased_List;
static int ett_f1ap_UEContextModificationConfirm;
static int ett_f1ap_DRBs_ModifiedConf_List;
static int ett_f1ap_SLDRBs_ModifiedConf_List;
static int ett_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_List;
static int ett_f1ap_UEContextModificationRefuse;
static int ett_f1ap_WriteReplaceWarningRequest;
static int ett_f1ap_Cells_To_Be_Broadcast_List;
static int ett_f1ap_WriteReplaceWarningResponse;
static int ett_f1ap_Cells_Broadcast_Completed_List;
static int ett_f1ap_PWSCancelRequest;
static int ett_f1ap_Broadcast_To_Be_Cancelled_List;
static int ett_f1ap_PWSCancelResponse;
static int ett_f1ap_Cells_Broadcast_Cancelled_List;
static int ett_f1ap_UEInactivityNotification;
static int ett_f1ap_DRB_Activity_List;
static int ett_f1ap_InitialULRRCMessageTransfer;
static int ett_f1ap_DLRRCMessageTransfer;
static int ett_f1ap_ULRRCMessageTransfer;
static int ett_f1ap_PrivateMessage;
static int ett_f1ap_SystemInformationDeliveryCommand;
static int ett_f1ap_Paging;
static int ett_f1ap_PagingCell_list;
static int ett_f1ap_Notify;
static int ett_f1ap_DRB_Notify_List;
static int ett_f1ap_NetworkAccessRateReduction;
static int ett_f1ap_PWSRestartIndication;
static int ett_f1ap_NR_CGI_List_For_Restart_List;
static int ett_f1ap_PWSFailureIndication;
static int ett_f1ap_PWS_Failed_NR_CGI_List;
static int ett_f1ap_GNBDUStatusIndication;
static int ett_f1ap_RRCDeliveryReport;
static int ett_f1ap_F1RemovalRequest;
static int ett_f1ap_F1RemovalResponse;
static int ett_f1ap_F1RemovalFailure;
static int ett_f1ap_TraceStart;
static int ett_f1ap_DeactivateTrace;
static int ett_f1ap_CellTrafficTrace;
static int ett_f1ap_DUCURadioInformationTransfer;
static int ett_f1ap_CUDURadioInformationTransfer;
static int ett_f1ap_BAPMappingConfiguration;
static int ett_f1ap_BH_Routing_Information_Added_List;
static int ett_f1ap_BH_Routing_Information_Removed_List;
static int ett_f1ap_BAP_Header_Rewriting_Added_List;
static int ett_f1ap_BAP_Header_Rewriting_Removed_List;
static int ett_f1ap_BAPMappingConfigurationAcknowledge;
static int ett_f1ap_BAPMappingConfigurationFailure;
static int ett_f1ap_GNBDUResourceConfiguration;
static int ett_f1ap_GNBDUResourceConfigurationAcknowledge;
static int ett_f1ap_GNBDUResourceConfigurationFailure;
static int ett_f1ap_IABTNLAddressRequest;
static int ett_f1ap_IAB_TNL_Addresses_To_Remove_List;
static int ett_f1ap_IABTNLAddressResponse;
static int ett_f1ap_IAB_Allocated_TNL_Address_List;
static int ett_f1ap_IABTNLAddressFailure;
static int ett_f1ap_IABUPConfigurationUpdateRequest;
static int ett_f1ap_UL_UP_TNL_Information_to_Update_List;
static int ett_f1ap_UL_UP_TNL_Address_to_Update_List;
static int ett_f1ap_IABUPConfigurationUpdateResponse;
static int ett_f1ap_DL_UP_TNL_Address_to_Update_List;
static int ett_f1ap_IABUPConfigurationUpdateFailure;
static int ett_f1ap_MIABF1SetupTriggering;
static int ett_f1ap_MIABF1SetupOutcomeNotification;
static int ett_f1ap_Activated_Cells_Mapping_List;
static int ett_f1ap_ResourceStatusRequest;
static int ett_f1ap_ResourceStatusResponse;
static int ett_f1ap_ResourceStatusFailure;
static int ett_f1ap_ResourceStatusUpdate;
static int ett_f1ap_AccessAndMobilityIndication;
static int ett_f1ap_ReferenceTimeInformationReportingControl;
static int ett_f1ap_ReferenceTimeInformationReport;
static int ett_f1ap_AccessSuccess;
static int ett_f1ap_PositioningAssistanceInformationControl;
static int ett_f1ap_PositioningAssistanceInformationFeedback;
static int ett_f1ap_PositioningMeasurementRequest;
static int ett_f1ap_PositioningMeasurementResponse;
static int ett_f1ap_PositioningMeasurementFailure;
static int ett_f1ap_PositioningMeasurementReport;
static int ett_f1ap_PositioningMeasurementAbort;
static int ett_f1ap_PositioningMeasurementFailureIndication;
static int ett_f1ap_PositioningMeasurementUpdate;
static int ett_f1ap_TRPInformationRequest;
static int ett_f1ap_TRPInformationTypeListTRPReq;
static int ett_f1ap_TRPInformationResponse;
static int ett_f1ap_TRPInformationListTRPResp;
static int ett_f1ap_TRPInformationFailure;
static int ett_f1ap_PositioningInformationRequest;
static int ett_f1ap_PositioningInformationResponse;
static int ett_f1ap_PositioningInformationFailure;
static int ett_f1ap_PositioningActivationRequest;
static int ett_f1ap_SRSType;
static int ett_f1ap_SemipersistentSRS;
static int ett_f1ap_AperiodicSRS;
static int ett_f1ap_PositioningActivationResponse;
static int ett_f1ap_PositioningActivationFailure;
static int ett_f1ap_PositioningDeactivation;
static int ett_f1ap_PositioningInformationUpdate;
static int ett_f1ap_SRSInformationReservationNotification;
static int ett_f1ap_E_CIDMeasurementInitiationRequest;
static int ett_f1ap_E_CIDMeasurementInitiationResponse;
static int ett_f1ap_E_CIDMeasurementInitiationFailure;
static int ett_f1ap_E_CIDMeasurementFailureIndication;
static int ett_f1ap_E_CIDMeasurementReport;
static int ett_f1ap_E_CIDMeasurementTerminationCommand;
static int ett_f1ap_BroadcastContextSetupRequest;
static int ett_f1ap_BroadcastMRBs_ToBeSetup_List;
static int ett_f1ap_BroadcastContextSetupResponse;
static int ett_f1ap_BroadcastMRBs_Setup_List;
static int ett_f1ap_BroadcastMRBs_FailedToBeSetup_List;
static int ett_f1ap_BroadcastContextSetupFailure;
static int ett_f1ap_BroadcastContextReleaseCommand;
static int ett_f1ap_BroadcastContextReleaseComplete;
static int ett_f1ap_BroadcastContextReleaseRequest;
static int ett_f1ap_BroadcastContextModificationRequest;
static int ett_f1ap_BroadcastMRBs_ToBeSetupMod_List;
static int ett_f1ap_BroadcastMRBs_ToBeModified_List;
static int ett_f1ap_BroadcastMRBs_ToBeReleased_List;
static int ett_f1ap_BroadcastContextModificationResponse;
static int ett_f1ap_BroadcastMRBs_SetupMod_List;
static int ett_f1ap_BroadcastMRBs_FailedToBeSetupMod_List;
static int ett_f1ap_BroadcastMRBs_Modified_List;
static int ett_f1ap_BroadcastMRBs_FailedToBeModified_List;
static int ett_f1ap_BroadcastContextModificationFailure;
static int ett_f1ap_BroadcastTransportResourceRequest;
static int ett_f1ap_Broadcast_MRBs_Transport_Request_List;
static int ett_f1ap_MulticastGroupPaging;
static int ett_f1ap_UEIdentity_List_For_Paging_List;
static int ett_f1ap_MC_PagingCell_list;
static int ett_f1ap_MulticastContextSetupRequest;
static int ett_f1ap_MulticastMRBs_ToBeSetup_List;
static int ett_f1ap_MulticastContextSetupResponse;
static int ett_f1ap_MulticastMRBs_Setup_List;
static int ett_f1ap_MulticastMRBs_FailedToBeSetup_List;
static int ett_f1ap_MulticastContextSetupFailure;
static int ett_f1ap_MulticastContextReleaseCommand;
static int ett_f1ap_MulticastContextReleaseComplete;
static int ett_f1ap_MulticastContextReleaseRequest;
static int ett_f1ap_MulticastContextModificationRequest;
static int ett_f1ap_MulticastMRBs_ToBeSetupMod_List;
static int ett_f1ap_MulticastMRBs_ToBeModified_List;
static int ett_f1ap_MulticastMRBs_ToBeReleased_List;
static int ett_f1ap_MulticastContextModificationResponse;
static int ett_f1ap_MulticastMRBs_SetupMod_List;
static int ett_f1ap_MulticastMRBs_FailedToBeSetupMod_List;
static int ett_f1ap_MulticastMRBs_Modified_List;
static int ett_f1ap_MulticastMRBs_FailedToBeModified_List;
static int ett_f1ap_MulticastContextModificationFailure;
static int ett_f1ap_MulticastContextNotificationIndication;
static int ett_f1ap_MulticastContextNotificationConfirm;
static int ett_f1ap_MulticastContextNotificationRefuse;
static int ett_f1ap_MulticastCommonConfigurationRequest;
static int ett_f1ap_MulticastCommonConfigurationResponse;
static int ett_f1ap_MulticastCommonConfigurationRefuse;
static int ett_f1ap_MulticastDistributionSetupRequest;
static int ett_f1ap_MulticastF1UContext_ToBeSetup_List;
static int ett_f1ap_MulticastDistributionSetupResponse;
static int ett_f1ap_MulticastF1UContext_Setup_List;
static int ett_f1ap_MulticastF1UContext_FailedToBeSetup_List;
static int ett_f1ap_MulticastDistributionSetupFailure;
static int ett_f1ap_MulticastDistributionReleaseCommand;
static int ett_f1ap_MulticastDistributionReleaseComplete;
static int ett_f1ap_PDCMeasurementInitiationRequest;
static int ett_f1ap_PDCMeasurementInitiationResponse;
static int ett_f1ap_PDCMeasurementInitiationFailure;
static int ett_f1ap_PDCMeasurementReport;
static int ett_f1ap_PDCMeasurementTerminationCommand;
static int ett_f1ap_PDCMeasurementFailureIndication;
static int ett_f1ap_PRSConfigurationRequest;
static int ett_f1ap_PRSConfigurationResponse;
static int ett_f1ap_PRSConfigurationFailure;
static int ett_f1ap_MeasurementPreconfigurationRequired;
static int ett_f1ap_MeasurementPreconfigurationConfirm;
static int ett_f1ap_MeasurementPreconfigurationRefuse;
static int ett_f1ap_MeasurementActivation;
static int ett_f1ap_QoEInformationTransfer;
static int ett_f1ap_PosSystemInformationDeliveryCommand;
static int ett_f1ap_DUCUCellSwitchNotification;
static int ett_f1ap_CUDUCellSwitchNotification;
static int ett_f1ap_DUCUTAInformationTransfer;
static int ett_f1ap_CUDUTAInformationTransfer;
static int ett_f1ap_QoEInformationTransferControl;
static int ett_f1ap_RachIndication;
static int ett_f1ap_TimingSynchronisationStatusRequest;
static int ett_f1ap_TimingSynchronisationStatusResponse;
static int ett_f1ap_TimingSynchronisationStatusFailure;
static int ett_f1ap_TimingSynchronisationStatusReport;
static int ett_f1ap_DUCUAccessAndMobilityIndication;
static int ett_f1ap_F1AP_PDU;
static int ett_f1ap_InitiatingMessage;
static int ett_f1ap_SuccessfulOutcome;
static int ett_f1ap_UnsuccessfulOutcome;

enum{
  INITIATING_MESSAGE,
  SUCCESSFUL_OUTCOME,
  UNSUCCESSFUL_OUTCOME
};

/* F1AP stats - Tap interface */

static void set_stats_message_type(packet_info *pinfo, int type);

static const uint8_t *st_str_packets        = "Total Packets";
static const uint8_t *st_str_packet_types   = "F1AP Packet Types";

static int st_node_packets = -1;
static int st_node_packet_types = -1;
static int f1ap_tap;

struct f1ap_tap_t {
    int f1ap_mtype;
};

#define MTYPE_RESET                                        1
#define MTYPE_RESET_ACK                                    2
#define MTYPE_F1_SETUP_REQUEST                             3
#define MTYPE_F1_SETUP_RESPONSE                            4
#define MTYPE_F1_SETUP_FAILURE                             5
#define MTYPE_GNB_DU_CONFIGURATION_UPDATE                  6
#define MTYPE_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE      7
#define MTYPE_GNB_DU_CONFIGURATION_UPDATE_FAILURE          8
#define MTYPE_GNB_CU_CONFIGURATION_UPDATE                  9
#define MTYPE_GNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE      10
#define MTYPE_GNB_CU_CONFIGURATION_UPDATE_FAILURE          11
#define MTYPE_UE_CONTEXT_SETUP_REQUEST                     12
#define MTYPE_UE_CONTEXT_SETUP_RESPONSE                    13
#define MTYPE_UE_CONTEXT_SETUP_FAILURE                     14
#define MTYPE_UE_CONTEXT_RELEASE_COMMAND                   15
#define MTYPE_UE_CONTEXT_RELEASE_COMPLETE                  16
#define MTYPE_UE_CONTEXT_MODIFICATION_REQUEST              17
#define MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE             18
#define MTYPE_UE_CONTEXT_MODIFICATION_FAILURE              19
#define MTYPE_UE_CONTEXT_MODIFICATION_REQUIRED             20
#define MTYPE_UE_CONTEXT_MODIFICATION_CONFIRM              21
#define MTYPE_UE_CONTEXT_MODIFICATION_REFUSE               22
#define MTYPE_WRITE_REPLACE_WARNING_REQUEST                23
#define MTYPE_WRITE_REPLACE_WARNING_RESPONSE               24
#define MTYPE_PWS_CANCEL_REQUEST                           25
#define MTYPE_PWS_CANCEL_RESPONSE                          26
#define MTYPE_ERROR_INDICATION                             27
#define MTYPE_UE_CONTEXT_RELEASE_REQUEST                   28
#define MTYPE_INITIAL_UL_RRC_MESSAGE_TRANSFER              29
#define MTYPE_DL_RRC_MESSAGE_TRANSFER                      30
#define MTYPE_UL_RRC_MESSAGE_TRANSFER                      31
#define MTYPE_UE_INACTIVITY_NOTIFICATION                   32
#define MTYPE_GNB_DU_RESOURCE_COORDINATION_REQUEST         33
#define MTYPE_GNB_DU_RESOURCE_COORDINATION_RESPONSE        34
#define MTYPE_PRIVATE_MESSAGE                              35
#define MTYPE_SYSTEM_INFORMATION_DELIVERY_COMMAND          36
#define MTYPE_PAGING                                       37
#define MTYPE_NOTIFY                                       38
#define MTYPE_NETWORK_ACCESS_RATE_REDUCTION                39
#define MTYPE_PWS_RESTART_INDICATION                       40
#define MTYPE_PWS_FAILURE_INDICATION                       41
#define MTYPE_GNB_DU_STATUS_INDICATION                     42
#define MTYPE_RRC_DELIVERY_REPORT                          43
#define MTYPE_F1_REMOVAL_REQUEST                           44
#define MTYPE_F1_REMOVAL_RESPONSE                          45
#define MTYPE_F1_REMOVAL_FAILURE                           46
#define MTYPE_TRACE_START                                  47
#define MTYPE_DEACTIVATE_TRACE                             48
#define MTYPE_DU_CU_RADIO_INFORMATION_TRANSFER             49
#define MTYPE_CU_DU_RADIO_INFORMATION_TRANSFER             50
#define MTYPE_BAP_MAPPING_CONFIGURATION                    51
#define MTYPE_BAP_MAPPING_CONFIGURATION_ACKNOWLEDGE        52
#define MTYPE_BAP_MAPPING_CONFIGURATION_FAILURE            53
#define MTYPE_GNB_DU_RESOURCE_CONFIGURATION                54
#define MTYPE_GNB_DU_RESOURCE_CONFIGURATION_ACKNOWLEDGE    55
#define MTYPE_GNB_DU_RESOURCE_CONFIGURATION_FAILURE        56
#define MTYPE_IAB_TNL_ADDRESS_REQUEST                      57
#define MTYPE_IAB_TNL_ADDRESS_RESPONSE                     58
#define MTYPE_IAB_TNL_ADDRESS_FAILURE                      59
#define MTYPE_IAB_UP_CONFIGURATION_UPDATE_REQUEST          60
#define MTYPE_IAB_UP_CONFIGURATION_UPDATE_RESPONSE         61
#define MTYPE_IAB_UP_CONFIGURATION_UPDATE_FAILURE          62
#define MTYPE_RESOURCE_STATUS_REQUEST                      63
#define MTYPE_RESOURCE_STATUS_RESPONSE                     64
#define MTYPE_RESOURCE_STATUS_FAILURE                      65
#define MTYPE_RESOURCE_STATUS_UPDATE                       66
#define MTYPE_ACCESS_AND_MOBILITY_INDICATION               67
#define MTYPE_REFERENCE_TIME_INFORMATION_REPORTING_CONTROL 68
#define MTYPE_REFERENCE_TIME_INFORMATION_REPORT            69
#define MTYPE_ACCESS_SUCCESS                               70
#define MTYPE_CELL_TRAFFIC_TRACE                           71
#define MTYPE_POSITIONING_ASSISTANCE_INFORMATION_CONTROL   72
#define MTYPE_POSITIONING_ASSISTANCE_INFORMATION_FEEDBACK  73
#define MTYPE_POSITIONING_MEASUREMENT_REQUEST              74
#define MTYPE_POSITIONING_MEASUREMENT_RESPONSE             75
#define MTYPE_POSITIONING_MEASUREMENT_FAILURE              76
#define MTYPE_POSITIONING_MEASUREMENT_REPORT               77
#define MTYPE_POSITIONING_MEASUREMENT_ABORT                78
#define MTYPE_POSITIONING_MEASUREMENT_FAILURE_INDICATION   79
#define MTYPE_POSITIONING_MEASUREMENT_UPDATE               80
#define MTYPE_TRP_INFORMATION_REQUEST                      81
#define MTYPE_TRP_INFORMATION_RESPONSE                     82
#define MTYPE_TRP_INFORMATION_FAILURE                      83
#define MTYPE_POSITIONING_INFORMATION_REQUEST              84
#define MTYPE_POSITIONING_INFORMATION_RESPONSE             85
#define MTYPE_POSITIONING_INFORMATION_FAILURE              86
#define MTYPE_POSITIONING_ACTIVATION_REQUEST               87
#define MTYPE_POSITIONING_ACTIVATION_RESPONSE              88
#define MTYPE_POSITIONING_ACTIVATION_FAILURE               89
#define MTYPE_POSITIONING_DEACTIVATION                     90
#define MTYPE_E_CID_MEASUREMENT_INITIATION_REQUEST         91
#define MTYPE_E_CID_MEASUREMENT_INITIATION_RESPONSE        92
#define MTYPE_E_CID_MEASUREMENT_INITIATION_FAILURE         93
#define MTYPE_E_CID_MEASUREMENT_FAILURE_INDICATION         94
#define MTYPE_E_CID_MEASUREMENT_REPORT                     95
#define MTYPE_E_CID_MEASUREMENT_TERMINATION_COMMAND        96
#define MTYPE_POSITIONING_INFORMATION_UPDATE               97
#define MTYPE_BROADCAST_CONTEXT_SETUP_REQUEST              98
#define MTYPE_BROADCAST_CONTEXT_SETUP_RESPONSE             99
#define MTYPE_BROADCAST_CONTEXT_SETUP_FAILURE              100
#define MTYPE_BROADCAST_CONTEXT_RELEASE_COMMAND            101
#define MTYPE_BROADCAST_CONTEXT_RELEASE_COMPLETE           102
#define MTYPE_BROADCAST_CONTEXT_RELEASE_REQUEST            103
#define MTYPE_BROADCAST_CONTEXT_MODIFICATION_REQUEST       104
#define MTYPE_BROADCAST_CONTEXT_MODIFICATION_RESPONSE      105
#define MTYPE_BROADCAST_CONTEXT_MODIFICATION_FAILURE       106
#define MTYPE_MULTICAST_GROUP_PAGING                       107
#define MTYPE_MULTICAST_CONTEXT_SETUP_REQUEST              108
#define MTYPE_MULTICAST_CONTEXT_SETUP_RESPONSE             109
#define MTYPE_MULTICAST_CONTEXT_SETUP_FAILURE              110
#define MTYPE_MULTICAST_CONTEXT_RELEASE_COMMAND            111
#define MTYPE_MULTICAST_CONTEXT_RELEASE_COMPLETE           112
#define MTYPE_MULTICAST_CONTEXT_RELEASE_REQUEST            113
#define MTYPE_MULTICAST_CONTEXT_MODIFICATION_REQUEST       114
#define MTYPE_MULTICAST_CONTEXT_MODIFICATION_RESPONSE      115
#define MTYPE_MULTICAST_CONTEXT_MODIFICATION_FAILURE       116
#define MTYPE_MULTICAST_DISTRIBUTION_SETUP_REQUEST         117
#define MTYPE_MULTICAST_DISTRIBUTION_SETUP_RESPONSE        118
#define MTYPE_MULTICAST_DISTRIBUTION_SETUP_FAILURE         119
#define MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMMAND       120
#define MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMPLETE      121
#define MTYPE_PDCP_MEASUREMENT_INITIATION_REQUEST          122
#define MTYPE_PDCP_MEASUREMENT_INITIATION_RESPONSE         123
#define MTYPE_PDCP_MEASUREMENT_INITIATION_FAILURE          124
#define MTYPE_PDCP_MEASUREMENT_REPORT                      125
#define MTYPE_PDCP_MEASUREMENT_TERMINATION_COMMAND         126
#define MTYPE_PDCP_MEASUREMENT_FAILURE_INDICATION          127
#define MTYPE_PRS_CONFIGURATION_REQUEST                    128
#define MTYPE_PRS_CONFIGURATION_RESPONSE                   129
#define MTYPE_PRS_CONFIGURATION_FAILURE                    130
#define MTYPE_MEASUREMENT_PRECONFIGURATION_REQUIRED        131
#define MTYPE_MEASUREMENT_PRECONFIGURATION_CONFIRM         132
#define MTYPE_MEASUREMENT_PRECONFIGURATION_REFUSE          133
#define MTYPE_MEASUREMENT_ACTIVATION                       134
#define MTYPE_QOE_INFORMATION_TRANSFER                     135
#define MTYPE_POS_SYSTEM_INFORMATION_DELIVERY_COMMAND      136
#define MTYPE_DU_CU_CELL_SWITCH_NOTIFICATION               137
#define MTYPE_CU_DU_CELL_SWITCH_NOTIFICATION               138
#define MTYPE_DU_CU_TA_INFORMATION_TRANSFER                139
#define MTYPE_CU_DU_TA_INFORMATION_TRANSFER                140
#define MTYPE_QOE_INFORMATION_TRANSFER_CONTROL             141
#define MTYPE_RACH_INDICATION                              142
#define MTYPE_TIMING_SYNCHRONISATION_STATUS_REQUEST        143
#define MTYPE_TIMING_SYNCHRONISATION_STATUS_RESPONSE       144
#define MTYPE_TIMING_SYNCHRONISATION_STATUS_FAILURE        145
#define MTYPE_TIMING_SYNCHRONISATION_STATUS_REPORT         146
#define MTYPE_MIAB_F1_SETUP_TRIGGERING                     147
#define MTYPE_MIAB_F1_SETUP_OUTCOME_NOTIFICATION           148
#define MTYPE_MULTICAST_CONTEXT_NOTIFICATION_INDICATION    149
#define MTYPE_MULTICAST_CONTEXT_NOTIFICATION_CONFIRM       150
#define MTYPE_MULTICAST_CONTEXT_NOTIFICATION_REFUSE        151
#define MTYPE_MULTICAST_COMMON_CONFIGURATION_REQUEST       152
#define MTYPE_MULTICAST_COMMON_CONFIGURATION_RESPONSE      153
#define MTYPE_MULTICAST_COMMON_CONFIGURATION_REFUSE        154
#define MTYPE_BROADCAST_TRANSPORT_RESOURCE_REQUEST         155
#define MTYPE_DU_CU_ACCESS_AND_MOBILITY_INDICATION         156
#define MTYPE_SRS_INFORMATION_RESERVATION_NOTIFICATION     157

static const value_string mtype_names[] = {
    { MTYPE_RESET,     "Reset" },
    { MTYPE_RESET_ACK, "ResetAcknowledge" },
    { MTYPE_F1_SETUP_REQUEST,  "F1SetupRequest" },
    { MTYPE_F1_SETUP_RESPONSE, "F1SetupResponse" },
    { MTYPE_F1_SETUP_FAILURE,  "F1SetupFailure" },
    { MTYPE_GNB_DU_CONFIGURATION_UPDATE,             "GNBDUConfigurationUpdate" },
    { MTYPE_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE, "GNBDUConfigurationUpdateAcknowledge" },
    { MTYPE_GNB_DU_CONFIGURATION_UPDATE_FAILURE,     "GNBDUConfigurationUpdateFailure" },
    { MTYPE_GNB_CU_CONFIGURATION_UPDATE,             "GNBCUConfigurationUpdate" },
    { MTYPE_GNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE, "GNBCUConfigurationUpdateAcknowledge" },
    { MTYPE_GNB_CU_CONFIGURATION_UPDATE_FAILURE,     "GNBCUConfigurationUpdateFailure" },
    { MTYPE_UE_CONTEXT_SETUP_REQUEST,    "UEContextSetupRequest" },
    { MTYPE_UE_CONTEXT_SETUP_RESPONSE,   "UEContextSetupResponse" },
    { MTYPE_UE_CONTEXT_SETUP_FAILURE,    "UEContextSetupFailure" },
    { MTYPE_UE_CONTEXT_RELEASE_COMMAND,      "UEContextReleaseCommand"},
    { MTYPE_UE_CONTEXT_RELEASE_COMPLETE,     "UEContextReleaseComplete"},
    { MTYPE_UE_CONTEXT_MODIFICATION_REQUEST,   "UEContextModificationRequest" },
    { MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE,  "UEContextModificationResponse" },
    { MTYPE_UE_CONTEXT_MODIFICATION_FAILURE,   "UEContextModificationFailure" },
    { MTYPE_UE_CONTEXT_MODIFICATION_REQUIRED,  "UEContextModificationRequired" },
    { MTYPE_UE_CONTEXT_MODIFICATION_CONFIRM,   "UEContextModificationConfirm" },
    { MTYPE_UE_CONTEXT_MODIFICATION_REFUSE,   "UEContextModificationRefuse" },
    { MTYPE_WRITE_REPLACE_WARNING_REQUEST,  "WriteReplaceWarningRequest" },
    { MTYPE_WRITE_REPLACE_WARNING_RESPONSE, "WriteReplaceWarningResponse" },
    { MTYPE_PWS_CANCEL_REQUEST,   "PWSCancelRequest" },
    { MTYPE_PWS_CANCEL_RESPONSE,  "PWSCancelResponse" },
    { MTYPE_ERROR_INDICATION, "ErrorIndication" },
    { MTYPE_UE_CONTEXT_RELEASE_REQUEST, "UEContextReleaseRequest" },
    { MTYPE_INITIAL_UL_RRC_MESSAGE_TRANSFER, "InitialULRRCMessageTransfer" },
    { MTYPE_DL_RRC_MESSAGE_TRANSFER,  "DLRRCMessageTransfer" },
    { MTYPE_UL_RRC_MESSAGE_TRANSFER,  "ULRRCMessageTransfer" },
    { MTYPE_UE_INACTIVITY_NOTIFICATION, "UEInactivityNotification" },
    { MTYPE_GNB_DU_RESOURCE_COORDINATION_REQUEST,  "GNBDUResourceCoordinationRequest" },
    { MTYPE_GNB_DU_RESOURCE_COORDINATION_RESPONSE, "GNBDUResourceCoordinationResponse" },
    { MTYPE_PRIVATE_MESSAGE, "PrivateMessage" },
    { MTYPE_SYSTEM_INFORMATION_DELIVERY_COMMAND, "SystemInformationDeliveryCommand" },
    { MTYPE_PAGING, "Paging" },
    { MTYPE_NOTIFY, "Notify" },
    { MTYPE_NETWORK_ACCESS_RATE_REDUCTION, "NetworkAccessRateReduction" },
    { MTYPE_PWS_RESTART_INDICATION, "PWSRestartIndication" },
    { MTYPE_PWS_FAILURE_INDICATION, "PWSFailureIndication" },
    { MTYPE_GNB_DU_STATUS_INDICATION, "GNBDUStatusIndication" },
    { MTYPE_RRC_DELIVERY_REPORT, "RRCDeliveryReport" },
    { MTYPE_F1_REMOVAL_REQUEST,  "F1RemovalRequest" },
    { MTYPE_F1_REMOVAL_RESPONSE, "F1RemovalResponse" },
    { MTYPE_F1_REMOVAL_FAILURE,  "F1RemovalFailure" },
    { MTYPE_TRACE_START, "TraceStart" },
    { MTYPE_DEACTIVATE_TRACE, "DeactivateTrace" },
    { MTYPE_DU_CU_RADIO_INFORMATION_TRANSFER, "DUCURadioInformationTransfer" },
    { MTYPE_CU_DU_RADIO_INFORMATION_TRANSFER, "CUDURadioInformationTransfer" },
    { MTYPE_BAP_MAPPING_CONFIGURATION,             "BAPMappingConfiguration" },
    { MTYPE_BAP_MAPPING_CONFIGURATION_ACKNOWLEDGE, "BAPMappingConfigurationAcknowledge" },
    { MTYPE_BAP_MAPPING_CONFIGURATION_FAILURE,     "BAPMappingConfigurationFailure" },
    { MTYPE_GNB_DU_RESOURCE_CONFIGURATION,             "GNBDUResourceConfiguration" },
    { MTYPE_GNB_DU_RESOURCE_CONFIGURATION_ACKNOWLEDGE, "GNBDUResourceConfigurationAcknowledge" },
    { MTYPE_GNB_DU_RESOURCE_CONFIGURATION_FAILURE,     "GNBDUResourceConfigurationFailure" },
    { MTYPE_IAB_TNL_ADDRESS_REQUEST,  "IABTNLAddressRequest" },
    { MTYPE_IAB_TNL_ADDRESS_RESPONSE, "IABTNLAddressResponse" },
    { MTYPE_IAB_TNL_ADDRESS_FAILURE,  "IABTNLAddressFailure" },
    { MTYPE_IAB_UP_CONFIGURATION_UPDATE_REQUEST,  "IABUPConfigurationUpdateRequest" },
    { MTYPE_IAB_UP_CONFIGURATION_UPDATE_RESPONSE, "IABUPConfigurationUpdateResponse" },
    { MTYPE_IAB_UP_CONFIGURATION_UPDATE_FAILURE,  "IABUPConfigurationUpdateFailure" },
    { MTYPE_RESOURCE_STATUS_REQUEST,   "ResourceStatusRequest" },
    { MTYPE_RESOURCE_STATUS_RESPONSE,  "ResourceStatusResponse" },
    { MTYPE_RESOURCE_STATUS_FAILURE,   "ResourceStatusFailure" },
    { MTYPE_RESOURCE_STATUS_UPDATE,    "ResourceStatusUpdate" },
    { MTYPE_ACCESS_AND_MOBILITY_INDICATION, "AccessAndMobilityIndication" },
    { MTYPE_REFERENCE_TIME_INFORMATION_REPORTING_CONTROL, "ReferenceTimeInformationReportingControl" },
    { MTYPE_REFERENCE_TIME_INFORMATION_REPORT,            "ReferenceTimeInformationReport" },
    { MTYPE_ACCESS_SUCCESS, "AccessSuccess" },
    { MTYPE_CELL_TRAFFIC_TRACE, "CellTrafficTrace" },
    { MTYPE_POSITIONING_ASSISTANCE_INFORMATION_CONTROL,  "PositioningAssistanceInformationControl" },
    { MTYPE_POSITIONING_ASSISTANCE_INFORMATION_FEEDBACK, "PositioningAssistanceInformationFeedback" },
    { MTYPE_POSITIONING_MEASUREMENT_REQUEST,            "PositioningMeasurementRequest" },
    { MTYPE_POSITIONING_MEASUREMENT_RESPONSE,           "PositioningMeasurementResponse" },
    { MTYPE_POSITIONING_MEASUREMENT_FAILURE,            "PositioningMeasurementFailure" },
    { MTYPE_POSITIONING_MEASUREMENT_REPORT,             "PositioningMeasurementReport" },
    { MTYPE_POSITIONING_MEASUREMENT_ABORT,              "PositioningMeasurementAbort" },
    { MTYPE_POSITIONING_MEASUREMENT_FAILURE_INDICATION, "PositioningMeasurementFailureIndication" },
    { MTYPE_POSITIONING_MEASUREMENT_UPDATE,             "PositioningMeasurementUpdate" },
    { MTYPE_TRP_INFORMATION_REQUEST,  "TRPInformationRequest" },
    { MTYPE_TRP_INFORMATION_RESPONSE, "TRPInformationResponse" },
    { MTYPE_TRP_INFORMATION_FAILURE,  "TRPInformationFailure" },
    { MTYPE_POSITIONING_INFORMATION_REQUEST,  "PositioningInformationRequest" },
    { MTYPE_POSITIONING_INFORMATION_RESPONSE, "PositioningInformationResponse" },
    { MTYPE_POSITIONING_INFORMATION_FAILURE,  "PositioningInformationFailure" },
    { MTYPE_POSITIONING_ACTIVATION_REQUEST,   "PositioningActivationRequest" },
    { MTYPE_POSITIONING_ACTIVATION_RESPONSE,  "PositioningActivationResponse" },
    { MTYPE_POSITIONING_ACTIVATION_FAILURE,   "PositioningActivationFailure" },
    { MTYPE_POSITIONING_DEACTIVATION, "PositioningDeactivation" },
    { MTYPE_E_CID_MEASUREMENT_INITIATION_REQUEST,  "E-CIDMeasurementInitiationRequest" },
    { MTYPE_E_CID_MEASUREMENT_INITIATION_RESPONSE, "E-CIDMeasurementInitiationResponse" },
    { MTYPE_E_CID_MEASUREMENT_INITIATION_FAILURE,  "E-CIDMeasurementInitiationFailure" },
    { MTYPE_E_CID_MEASUREMENT_FAILURE_INDICATION,  "E-CIDMeasurementFailureIndication" },
    { MTYPE_E_CID_MEASUREMENT_REPORT,              "E-CIDMeasurementReport" },
    { MTYPE_E_CID_MEASUREMENT_TERMINATION_COMMAND, "E-CIDMeasurementTerminationCommand" },
    { MTYPE_POSITIONING_INFORMATION_UPDATE, "PositioningInformationUpdate" },
    { MTYPE_BROADCAST_CONTEXT_SETUP_REQUEST, "BroadcastContextSetupRequest" },
    { MTYPE_BROADCAST_CONTEXT_SETUP_RESPONSE, "BroadcastContextSetupResponse" },
    { MTYPE_BROADCAST_CONTEXT_SETUP_FAILURE, "BroadcastContextSetupFailure" },
    { MTYPE_BROADCAST_CONTEXT_RELEASE_COMMAND, "BroadcastContextReleaseCommand" },
    { MTYPE_BROADCAST_CONTEXT_RELEASE_COMPLETE, "BroadcastContextReleaseComplete" },
    { MTYPE_BROADCAST_CONTEXT_RELEASE_REQUEST, "BroadcastContextReleaseRequest" },
    { MTYPE_BROADCAST_CONTEXT_MODIFICATION_REQUEST, "BroadcastContextModificationRequest" },
    { MTYPE_BROADCAST_CONTEXT_MODIFICATION_RESPONSE, "BroadcastContextModificationResponse" },
    { MTYPE_BROADCAST_CONTEXT_MODIFICATION_FAILURE, "BroadcastContextModificationFailure" },
    { MTYPE_MULTICAST_GROUP_PAGING, "MulticastGroupPaging" },
    { MTYPE_MULTICAST_CONTEXT_SETUP_REQUEST, "MulticastContextSetupRequest" },
    { MTYPE_MULTICAST_CONTEXT_SETUP_RESPONSE, "MulticastContextSetupResponse" },
    { MTYPE_MULTICAST_CONTEXT_SETUP_FAILURE, "MulticastContextSetupFailure" },
    { MTYPE_MULTICAST_CONTEXT_RELEASE_COMMAND, "MulticastContextReleaseCommand" },
    { MTYPE_MULTICAST_CONTEXT_RELEASE_COMPLETE, "MulticastContextReleaseComplete" },
    { MTYPE_MULTICAST_CONTEXT_RELEASE_REQUEST, "MulticastContextReleaseRequest" },
    { MTYPE_MULTICAST_CONTEXT_MODIFICATION_REQUEST, "MulticastContextModificationRequest" },
    { MTYPE_MULTICAST_CONTEXT_MODIFICATION_RESPONSE, "MulticastContextModificationResponse" },
    { MTYPE_MULTICAST_CONTEXT_MODIFICATION_FAILURE, "MulticastContextModificationFailure" },
    { MTYPE_MULTICAST_DISTRIBUTION_SETUP_REQUEST, "MulticastDistributionSetupRequest" },
    { MTYPE_MULTICAST_DISTRIBUTION_SETUP_RESPONSE, "MulticastDistributionSetupResponse" },
    { MTYPE_MULTICAST_DISTRIBUTION_SETUP_FAILURE, "MulticastDistributionSetupFailure" },
    { MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMMAND, "MulticastDistributionReleaseCommand" },
    { MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMPLETE, "MulticastDistributionReleaseComplete" },
    { MTYPE_PDCP_MEASUREMENT_INITIATION_REQUEST, "PDCMeasurementInitiationRequest" },
    { MTYPE_PDCP_MEASUREMENT_INITIATION_RESPONSE, "PDCMeasurementInitiationResponse" },
    { MTYPE_PDCP_MEASUREMENT_INITIATION_FAILURE, "PDCMeasurementInitiationFailure" },
    { MTYPE_PDCP_MEASUREMENT_REPORT, "PDCMeasurementReport" },
    { MTYPE_PDCP_MEASUREMENT_TERMINATION_COMMAND, "PDCMeasurementTerminationCommand" },
    { MTYPE_PDCP_MEASUREMENT_FAILURE_INDICATION, "PDCMeasurementFailureIndication" },
    { MTYPE_PRS_CONFIGURATION_REQUEST, "PRSConfigurationRequest" },
    { MTYPE_PRS_CONFIGURATION_RESPONSE, "PRSConfigurationResponse" },
    { MTYPE_PRS_CONFIGURATION_FAILURE, "PRSConfigurationFailure" },
    { MTYPE_MEASUREMENT_PRECONFIGURATION_REQUIRED, "MeasurementPreconfigurationRequired" },
    { MTYPE_MEASUREMENT_PRECONFIGURATION_CONFIRM, "MeasurementPreconfigurationConfirm" },
    { MTYPE_MEASUREMENT_PRECONFIGURATION_REFUSE, "MeasurementPreconfigurationRefuse" },
    { MTYPE_MEASUREMENT_ACTIVATION, "MeasurementActivation" },
    { MTYPE_QOE_INFORMATION_TRANSFER, "QoEInformationTransfer" },
    { MTYPE_POS_SYSTEM_INFORMATION_DELIVERY_COMMAND, "PosSystemInformationDeliveryCommand" },
    { MTYPE_DU_CU_CELL_SWITCH_NOTIFICATION, "DUCUCellSwitchNotification" },
    { MTYPE_CU_DU_CELL_SWITCH_NOTIFICATION, "CUDUCellSwitchNotification" },
    { MTYPE_DU_CU_TA_INFORMATION_TRANSFER, "DUCUTAInformationTransfer" },
    { MTYPE_CU_DU_TA_INFORMATION_TRANSFER, "CUDUTAInformationTransfer" },
    { MTYPE_QOE_INFORMATION_TRANSFER_CONTROL, "QoEInformationTransferControl" },
    { MTYPE_RACH_INDICATION, "RachIndication" },
    { MTYPE_TIMING_SYNCHRONISATION_STATUS_REQUEST, "TimingSynchronisationStatusRequest" },
    { MTYPE_TIMING_SYNCHRONISATION_STATUS_RESPONSE, "TimingSynchronisationStatusResponse" },
    { MTYPE_TIMING_SYNCHRONISATION_STATUS_FAILURE, "TimingSynchronisationStatusFailure" },
    { MTYPE_TIMING_SYNCHRONISATION_STATUS_REPORT, "TimingSynchronisationStatusReport" },
    { MTYPE_MIAB_F1_SETUP_TRIGGERING, "MIABF1SetupTriggering" },
    { MTYPE_MIAB_F1_SETUP_OUTCOME_NOTIFICATION, "MIABF1SetupOutcomeNotification" },
    { MTYPE_MULTICAST_CONTEXT_NOTIFICATION_INDICATION, "MulticastContextNotificationIndication" },
    { MTYPE_MULTICAST_CONTEXT_NOTIFICATION_CONFIRM, "MulticastContextNotificationConfirm" },
    { MTYPE_MULTICAST_CONTEXT_NOTIFICATION_REFUSE, "MulticastContextNotificationRefuse" },
    { MTYPE_MULTICAST_COMMON_CONFIGURATION_REQUEST, "MulticastCommonConfigurationRequest" },
    { MTYPE_MULTICAST_COMMON_CONFIGURATION_RESPONSE, "MulticastCommonConfigurationResponse" },
    { MTYPE_MULTICAST_COMMON_CONFIGURATION_REFUSE, "MulticastCommonConfigurationRefuse" },
    { MTYPE_BROADCAST_TRANSPORT_RESOURCE_REQUEST, "BroadcastTransportResourceRequest" },
    { MTYPE_DU_CU_ACCESS_AND_MOBILITY_INDICATION, "DUCUAccessAndMobilityIndication" },
    { MTYPE_SRS_INFORMATION_RESERVATION_NOTIFICATION, "SRSInformationReservationNotification" },
    { 0,  NULL }
};
static value_string_ext mtype_names_ext = VALUE_STRING_EXT_INIT(mtype_names);


typedef struct {
  uint32_t message_type;
  uint32_t procedure_code;
  uint32_t protocol_ie_id;
  uint32_t protocol_extension_id;
  const char *obj_id;
  uint32_t sib_type;
  uint32_t srb_id;
  uint32_t gdb_cu_ue_f1ap_id;
  e212_number_type_t number_type;
  struct f1ap_tap_t  *stats_tap;
} f1ap_private_data_t;

typedef struct {
  uint32_t message_type;
  uint32_t ProcedureCode;
  uint32_t ProtocolIE_ID;
  uint32_t ProtocolExtensionID;
} f1ap_ctx_t;

/* Global variables */
static dissector_handle_t f1ap_handle;
static dissector_handle_t nr_rrc_ul_ccch_handle;
static dissector_handle_t nr_rrc_ul_ccch1_handle;
static dissector_handle_t nr_rrc_dl_ccch_handle;
static dissector_handle_t nr_rrc_ul_dcch_handle;
static dissector_handle_t nr_pdcp_handle;
static dissector_handle_t lte_rrc_conn_reconf_handle;

/* Dissector tables */
static dissector_table_t f1ap_ies_dissector_table;
static dissector_table_t f1ap_extension_dissector_table;
static dissector_table_t f1ap_proc_imsg_dissector_table;
static dissector_table_t f1ap_proc_sout_dissector_table;
static dissector_table_t f1ap_proc_uout_dissector_table;

static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);


static proto_tree *top_tree;

static void set_message_label(asn1_ctx_t *actx, int type)
{
  const char *label = val_to_str_ext_const(type, &mtype_names_ext, "Unknown");
  col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, label);
  /* N.B. would like to be able to use actx->subTree.top_tree, but not easy to set.. */
  proto_item_append_text(top_tree, " (%s)", label);
}



static void
f1ap_MaxPacketLossRate_fmt(char *s, uint32_t v)
{
  snprintf(s, ITEM_LABEL_LENGTH, "%.1f%% (%u)", (float)v/10, v);
}

static void
f1ap_PacketDelayBudget_fmt(char *s, uint32_t v)
{
  snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/2, v);
}

static void
f1ap_ExtendedPacketDelayBudget_fmt(char *s, uint32_t v)
{
  snprintf(s, ITEM_LABEL_LENGTH, "%.2fms (%u)", (float)v/100, v);
}

static void
f1ap_N6Jitter_fmt(char *s, uint32_t v)
{
  snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%d)", (float)v/2, (int32_t)v);
}

static f1ap_private_data_t*
f1ap_get_private_data(packet_info *pinfo)
{
  f1ap_private_data_t *f1ap_data = (f1ap_private_data_t*)p_get_proto_data(wmem_file_scope(), pinfo, proto_f1ap, 0);
  if (!f1ap_data) {
    f1ap_data = wmem_new0(wmem_file_scope(), f1ap_private_data_t);
    f1ap_data->srb_id = -1;
    f1ap_data->gdb_cu_ue_f1ap_id = 1;
    p_add_proto_data(wmem_file_scope(), pinfo, proto_f1ap, 0, f1ap_data);
  }
  return f1ap_data;
}

static void
add_nr_pdcp_meta_data(packet_info *pinfo, uint8_t direction, uint8_t srb_id)
{
  pdcp_nr_info *p_pdcp_nr_info;

  /* Only need to set info once per session. */
  if (get_pdcp_nr_proto_data(pinfo)) {
      return;
  }

  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);

  p_pdcp_nr_info = wmem_new0(wmem_file_scope(), pdcp_nr_info);
  p_pdcp_nr_info->direction = direction;
  p_pdcp_nr_info->ueid = f1ap_data->gdb_cu_ue_f1ap_id;
  p_pdcp_nr_info->bearerType = Bearer_DCCH;
  p_pdcp_nr_info->bearerId = srb_id;
  p_pdcp_nr_info->plane = NR_SIGNALING_PLANE;
  p_pdcp_nr_info->seqnum_length = PDCP_NR_SN_LENGTH_12_BITS;
  p_pdcp_nr_info->maci_present = true;
  set_pdcp_nr_proto_data(pinfo, p_pdcp_nr_info);
}


static const value_string f1ap_Criticality_vals[] = {
  {   0, "reject" },
  {   1, "ignore" },
  {   2, "notify" },
  { 0, NULL }
};


static int
dissect_f1ap_Criticality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, false, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 65535U, NULL, false);

  return offset;
}



static int
dissect_f1ap_T_global(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &f1ap_data->obj_id);



  return offset;
}


static const value_string f1ap_PrivateIE_ID_vals[] = {
  {   0, "local" },
  {   1, "global" },
  { 0, NULL }
};

static const per_choice_t PrivateIE_ID_choice[] = {
  {   0, &hf_f1ap_local          , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_65535 },
  {   1, &hf_f1ap_global         , ASN1_NO_EXTENSIONS     , dissect_f1ap_T_global },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_PrivateIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  f1ap_data->obj_id = NULL;

  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_PrivateIE_ID, PrivateIE_ID_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_ProcedureCode_vals[] = {
  { id_Reset, "id-Reset" },
  { id_F1Setup, "id-F1Setup" },
  { id_ErrorIndication, "id-ErrorIndication" },
  { id_gNBDUConfigurationUpdate, "id-gNBDUConfigurationUpdate" },
  { id_gNBCUConfigurationUpdate, "id-gNBCUConfigurationUpdate" },
  { id_UEContextSetup, "id-UEContextSetup" },
  { id_UEContextRelease, "id-UEContextRelease" },
  { id_UEContextModification, "id-UEContextModification" },
  { id_UEContextModificationRequired, "id-UEContextModificationRequired" },
  { id_procedure_code_9_not_to_be_used, "id-procedure-code-9-not-to-be-used" },
  { id_UEContextReleaseRequest, "id-UEContextReleaseRequest" },
  { id_InitialULRRCMessageTransfer, "id-InitialULRRCMessageTransfer" },
  { id_DLRRCMessageTransfer, "id-DLRRCMessageTransfer" },
  { id_ULRRCMessageTransfer, "id-ULRRCMessageTransfer" },
  { id_privateMessage, "id-privateMessage" },
  { id_UEInactivityNotification, "id-UEInactivityNotification" },
  { id_GNBDUResourceCoordination, "id-GNBDUResourceCoordination" },
  { id_SystemInformationDeliveryCommand, "id-SystemInformationDeliveryCommand" },
  { id_Paging, "id-Paging" },
  { id_Notify, "id-Notify" },
  { id_WriteReplaceWarning, "id-WriteReplaceWarning" },
  { id_PWSCancel, "id-PWSCancel" },
  { id_PWSRestartIndication, "id-PWSRestartIndication" },
  { id_PWSFailureIndication, "id-PWSFailureIndication" },
  { id_GNBDUStatusIndication, "id-GNBDUStatusIndication" },
  { id_RRCDeliveryReport, "id-RRCDeliveryReport" },
  { id_F1Removal, "id-F1Removal" },
  { id_NetworkAccessRateReduction, "id-NetworkAccessRateReduction" },
  { id_TraceStart, "id-TraceStart" },
  { id_DeactivateTrace, "id-DeactivateTrace" },
  { id_DUCURadioInformationTransfer, "id-DUCURadioInformationTransfer" },
  { id_CUDURadioInformationTransfer, "id-CUDURadioInformationTransfer" },
  { id_BAPMappingConfiguration, "id-BAPMappingConfiguration" },
  { id_GNBDUResourceConfiguration, "id-GNBDUResourceConfiguration" },
  { id_IABTNLAddressAllocation, "id-IABTNLAddressAllocation" },
  { id_IABUPConfigurationUpdate, "id-IABUPConfigurationUpdate" },
  { id_resourceStatusReportingInitiation, "id-resourceStatusReportingInitiation" },
  { id_resourceStatusReporting, "id-resourceStatusReporting" },
  { id_accessAndMobilityIndication, "id-accessAndMobilityIndication" },
  { id_accessSuccess, "id-accessSuccess" },
  { id_cellTrafficTrace, "id-cellTrafficTrace" },
  { id_PositioningMeasurementExchange, "id-PositioningMeasurementExchange" },
  { id_PositioningAssistanceInformationControl, "id-PositioningAssistanceInformationControl" },
  { id_PositioningAssistanceInformationFeedback, "id-PositioningAssistanceInformationFeedback" },
  { id_PositioningMeasurementReport, "id-PositioningMeasurementReport" },
  { id_PositioningMeasurementAbort, "id-PositioningMeasurementAbort" },
  { id_PositioningMeasurementFailureIndication, "id-PositioningMeasurementFailureIndication" },
  { id_PositioningMeasurementUpdate, "id-PositioningMeasurementUpdate" },
  { id_TRPInformationExchange, "id-TRPInformationExchange" },
  { id_PositioningInformationExchange, "id-PositioningInformationExchange" },
  { id_PositioningActivation, "id-PositioningActivation" },
  { id_PositioningDeactivation, "id-PositioningDeactivation" },
  { id_E_CIDMeasurementInitiation, "id-E-CIDMeasurementInitiation" },
  { id_E_CIDMeasurementFailureIndication, "id-E-CIDMeasurementFailureIndication" },
  { id_E_CIDMeasurementReport, "id-E-CIDMeasurementReport" },
  { id_E_CIDMeasurementTermination, "id-E-CIDMeasurementTermination" },
  { id_PositioningInformationUpdate, "id-PositioningInformationUpdate" },
  { id_ReferenceTimeInformationReport, "id-ReferenceTimeInformationReport" },
  { id_ReferenceTimeInformationReportingControl, "id-ReferenceTimeInformationReportingControl" },
  { id_BroadcastContextSetup, "id-BroadcastContextSetup" },
  { id_BroadcastContextRelease, "id-BroadcastContextRelease" },
  { id_BroadcastContextReleaseRequest, "id-BroadcastContextReleaseRequest" },
  { id_BroadcastContextModification, "id-BroadcastContextModification" },
  { id_MulticastGroupPaging, "id-MulticastGroupPaging" },
  { id_MulticastContextSetup, "id-MulticastContextSetup" },
  { id_MulticastContextRelease, "id-MulticastContextRelease" },
  { id_MulticastContextReleaseRequest, "id-MulticastContextReleaseRequest" },
  { id_MulticastContextModification, "id-MulticastContextModification" },
  { id_MulticastDistributionSetup, "id-MulticastDistributionSetup" },
  { id_MulticastDistributionRelease, "id-MulticastDistributionRelease" },
  { id_PDCMeasurementInitiation, "id-PDCMeasurementInitiation" },
  { id_PDCMeasurementReport, "id-PDCMeasurementReport" },
  { id_procedure_code_72_not_to_be_used, "id-procedure-code-72-not-to-be-used" },
  { id_procedure_code_73_not_to_be_used, "id-procedure-code-73-not-to-be-used" },
  { id_procedure_code_74_not_to_be_used, "id-procedure-code-74-not-to-be-used" },
  { id_pRSConfigurationExchange, "id-pRSConfigurationExchange" },
  { id_measurementPreconfiguration, "id-measurementPreconfiguration" },
  { id_measurementActivation, "id-measurementActivation" },
  { id_QoEInformationTransfer, "id-QoEInformationTransfer" },
  { id_PDCMeasurementTerminationCommand, "id-PDCMeasurementTerminationCommand" },
  { id_PDCMeasurementFailureIndication, "id-PDCMeasurementFailureIndication" },
  { id_PosSystemInformationDeliveryCommand, "id-PosSystemInformationDeliveryCommand" },
  { id_DUCUCellSwitchNotification, "id-DUCUCellSwitchNotification" },
  { id_CUDUCellSwitchNotification, "id-CUDUCellSwitchNotification" },
  { id_DUCUTAInformationTransfer, "id-DUCUTAInformationTransfer" },
  { id_CUDUTAInformationTransfer, "id-CUDUTAInformationTransfer" },
  { id_QoEInformationTransferControl, "id-QoEInformationTransferControl" },
  { id_RachIndication, "id-RachIndication" },
  { id_TimingSynchronisationStatus, "id-TimingSynchronisationStatus" },
  { id_TimingSynchronisationStatusReport, "id-TimingSynchronisationStatusReport" },
  { id_MIABF1SetupTriggering, "id-MIABF1SetupTriggering" },
  { id_MIABF1SetupOutcomeNotification, "id-MIABF1SetupOutcomeNotification" },
  { id_MulticastContextNotification, "id-MulticastContextNotification" },
  { id_MulticastCommonConfiguration, "id-MulticastCommonConfiguration" },
  { id_BroadcastTransportResourceRequest, "id-BroadcastTransportResourceRequest" },
  { id_DUCUAccessAndMobilityIndication, "id-DUCUAccessAndMobilityIndication" },
  { id_SRSInformationReservationNotification, "id-SRSInformationReservationNotification" },
  { 0, NULL }
};

static value_string_ext f1ap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(f1ap_ProcedureCode_vals);


static int
dissect_f1ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 255U, &f1ap_data->procedure_code, false);


  return offset;
}



static int
dissect_f1ap_ProtocolExtensionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 65535U, &f1ap_data->protocol_extension_id, false);



  return offset;
}


static const value_string f1ap_ProtocolIE_ID_vals[] = {
  { id_Cause, "id-Cause" },
  { id_Cells_Failed_to_be_Activated_List, "id-Cells-Failed-to-be-Activated-List" },
  { id_Cells_Failed_to_be_Activated_List_Item, "id-Cells-Failed-to-be-Activated-List-Item" },
  { id_Cells_to_be_Activated_List, "id-Cells-to-be-Activated-List" },
  { id_Cells_to_be_Activated_List_Item, "id-Cells-to-be-Activated-List-Item" },
  { id_Cells_to_be_Deactivated_List, "id-Cells-to-be-Deactivated-List" },
  { id_Cells_to_be_Deactivated_List_Item, "id-Cells-to-be-Deactivated-List-Item" },
  { id_CriticalityDiagnostics, "id-CriticalityDiagnostics" },
  { id_CUtoDURRCInformation, "id-CUtoDURRCInformation" },
  { id_Unknown_10, "id-Unknown-10" },
  { id_Unknown_11, "id-Unknown-11" },
  { id_DRBs_FailedToBeModified_Item, "id-DRBs-FailedToBeModified-Item" },
  { id_DRBs_FailedToBeModified_List, "id-DRBs-FailedToBeModified-List" },
  { id_DRBs_FailedToBeSetup_Item, "id-DRBs-FailedToBeSetup-Item" },
  { id_DRBs_FailedToBeSetup_List, "id-DRBs-FailedToBeSetup-List" },
  { id_DRBs_FailedToBeSetupMod_Item, "id-DRBs-FailedToBeSetupMod-Item" },
  { id_DRBs_FailedToBeSetupMod_List, "id-DRBs-FailedToBeSetupMod-List" },
  { id_DRBs_ModifiedConf_Item, "id-DRBs-ModifiedConf-Item" },
  { id_DRBs_ModifiedConf_List, "id-DRBs-ModifiedConf-List" },
  { id_DRBs_Modified_Item, "id-DRBs-Modified-Item" },
  { id_DRBs_Modified_List, "id-DRBs-Modified-List" },
  { id_DRBs_Required_ToBeModified_Item, "id-DRBs-Required-ToBeModified-Item" },
  { id_DRBs_Required_ToBeModified_List, "id-DRBs-Required-ToBeModified-List" },
  { id_DRBs_Required_ToBeReleased_Item, "id-DRBs-Required-ToBeReleased-Item" },
  { id_DRBs_Required_ToBeReleased_List, "id-DRBs-Required-ToBeReleased-List" },
  { id_DRBs_Setup_Item, "id-DRBs-Setup-Item" },
  { id_DRBs_Setup_List, "id-DRBs-Setup-List" },
  { id_DRBs_SetupMod_Item, "id-DRBs-SetupMod-Item" },
  { id_DRBs_SetupMod_List, "id-DRBs-SetupMod-List" },
  { id_DRBs_ToBeModified_Item, "id-DRBs-ToBeModified-Item" },
  { id_DRBs_ToBeModified_List, "id-DRBs-ToBeModified-List" },
  { id_DRBs_ToBeReleased_Item, "id-DRBs-ToBeReleased-Item" },
  { id_DRBs_ToBeReleased_List, "id-DRBs-ToBeReleased-List" },
  { id_DRBs_ToBeSetup_Item, "id-DRBs-ToBeSetup-Item" },
  { id_DRBs_ToBeSetup_List, "id-DRBs-ToBeSetup-List" },
  { id_DRBs_ToBeSetupMod_Item, "id-DRBs-ToBeSetupMod-Item" },
  { id_DRBs_ToBeSetupMod_List, "id-DRBs-ToBeSetupMod-List" },
  { id_DRXCycle, "id-DRXCycle" },
  { id_DUtoCURRCInformation, "id-DUtoCURRCInformation" },
  { id_gNB_CU_UE_F1AP_ID, "id-gNB-CU-UE-F1AP-ID" },
  { id_gNB_DU_UE_F1AP_ID, "id-gNB-DU-UE-F1AP-ID" },
  { id_gNB_DU_ID, "id-gNB-DU-ID" },
  { id_GNB_DU_Served_Cells_Item, "id-GNB-DU-Served-Cells-Item" },
  { id_gNB_DU_Served_Cells_List, "id-gNB-DU-Served-Cells-List" },
  { id_gNB_DU_Name, "id-gNB-DU-Name" },
  { id_ProtocolIE_ID_46_not_to_be_used, "id-ProtocolIE-ID-46-not-to-be-used" },
  { id_oldgNB_DU_UE_F1AP_ID, "id-oldgNB-DU-UE-F1AP-ID" },
  { id_ResetType, "id-ResetType" },
  { id_ResourceCoordinationTransferContainer, "id-ResourceCoordinationTransferContainer" },
  { id_RRCContainer, "id-RRCContainer" },
  { id_SCell_ToBeRemoved_Item, "id-SCell-ToBeRemoved-Item" },
  { id_SCell_ToBeRemoved_List, "id-SCell-ToBeRemoved-List" },
  { id_SCell_ToBeSetup_Item, "id-SCell-ToBeSetup-Item" },
  { id_SCell_ToBeSetup_List, "id-SCell-ToBeSetup-List" },
  { id_SCell_ToBeSetupMod_Item, "id-SCell-ToBeSetupMod-Item" },
  { id_SCell_ToBeSetupMod_List, "id-SCell-ToBeSetupMod-List" },
  { id_Served_Cells_To_Add_Item, "id-Served-Cells-To-Add-Item" },
  { id_Served_Cells_To_Add_List, "id-Served-Cells-To-Add-List" },
  { id_Served_Cells_To_Delete_Item, "id-Served-Cells-To-Delete-Item" },
  { id_Served_Cells_To_Delete_List, "id-Served-Cells-To-Delete-List" },
  { id_Served_Cells_To_Modify_Item, "id-Served-Cells-To-Modify-Item" },
  { id_Served_Cells_To_Modify_List, "id-Served-Cells-To-Modify-List" },
  { id_SpCell_ID, "id-SpCell-ID" },
  { id_SRBID, "id-SRBID" },
  { id_SRBs_FailedToBeSetup_Item, "id-SRBs-FailedToBeSetup-Item" },
  { id_SRBs_FailedToBeSetup_List, "id-SRBs-FailedToBeSetup-List" },
  { id_SRBs_FailedToBeSetupMod_Item, "id-SRBs-FailedToBeSetupMod-Item" },
  { id_SRBs_FailedToBeSetupMod_List, "id-SRBs-FailedToBeSetupMod-List" },
  { id_SRBs_Required_ToBeReleased_Item, "id-SRBs-Required-ToBeReleased-Item" },
  { id_SRBs_Required_ToBeReleased_List, "id-SRBs-Required-ToBeReleased-List" },
  { id_SRBs_ToBeReleased_Item, "id-SRBs-ToBeReleased-Item" },
  { id_SRBs_ToBeReleased_List, "id-SRBs-ToBeReleased-List" },
  { id_SRBs_ToBeSetup_Item, "id-SRBs-ToBeSetup-Item" },
  { id_SRBs_ToBeSetup_List, "id-SRBs-ToBeSetup-List" },
  { id_SRBs_ToBeSetupMod_Item, "id-SRBs-ToBeSetupMod-Item" },
  { id_SRBs_ToBeSetupMod_List, "id-SRBs-ToBeSetupMod-List" },
  { id_TimeToWait, "id-TimeToWait" },
  { id_TransactionID, "id-TransactionID" },
  { id_TransmissionActionIndicator, "id-TransmissionActionIndicator" },
  { id_UE_associatedLogicalF1_ConnectionItem, "id-UE-associatedLogicalF1-ConnectionItem" },
  { id_UE_associatedLogicalF1_ConnectionListResAck, "id-UE-associatedLogicalF1-ConnectionListResAck" },
  { id_gNB_CU_Name, "id-gNB-CU-Name" },
  { id_SCell_FailedtoSetup_List, "id-SCell-FailedtoSetup-List" },
  { id_SCell_FailedtoSetup_Item, "id-SCell-FailedtoSetup-Item" },
  { id_SCell_FailedtoSetupMod_List, "id-SCell-FailedtoSetupMod-List" },
  { id_SCell_FailedtoSetupMod_Item, "id-SCell-FailedtoSetupMod-Item" },
  { id_RRCReconfigurationCompleteIndicator, "id-RRCReconfigurationCompleteIndicator" },
  { id_Cells_Status_Item, "id-Cells-Status-Item" },
  { id_Cells_Status_List, "id-Cells-Status-List" },
  { id_Candidate_SpCell_List, "id-Candidate-SpCell-List" },
  { id_Candidate_SpCell_Item, "id-Candidate-SpCell-Item" },
  { id_Potential_SpCell_List, "id-Potential-SpCell-List" },
  { id_Potential_SpCell_Item, "id-Potential-SpCell-Item" },
  { id_FullConfiguration, "id-FullConfiguration" },
  { id_C_RNTI, "id-C-RNTI" },
  { id_SpCellULConfigured, "id-SpCellULConfigured" },
  { id_InactivityMonitoringRequest, "id-InactivityMonitoringRequest" },
  { id_InactivityMonitoringResponse, "id-InactivityMonitoringResponse" },
  { id_DRB_Activity_Item, "id-DRB-Activity-Item" },
  { id_DRB_Activity_List, "id-DRB-Activity-List" },
  { id_EUTRA_NR_CellResourceCoordinationReq_Container, "id-EUTRA-NR-CellResourceCoordinationReq-Container" },
  { id_EUTRA_NR_CellResourceCoordinationReqAck_Container, "id-EUTRA-NR-CellResourceCoordinationReqAck-Container" },
  { id_Unknown_103, "id-Unknown-103" },
  { id_Unknown_104, "id-Unknown-104" },
  { id_Protected_EUTRA_Resources_List, "id-Protected-EUTRA-Resources-List" },
  { id_RequestType, "id-RequestType" },
  { id_ServCellIndex, "id-ServCellIndex" },
  { id_RAT_FrequencyPriorityInformation, "id-RAT-FrequencyPriorityInformation" },
  { id_ExecuteDuplication, "id-ExecuteDuplication" },
  { id_Unknown_110, "id-Unknown-110" },
  { id_NRCGI, "id-NRCGI" },
  { id_PagingCell_Item, "id-PagingCell-Item" },
  { id_PagingCell_List, "id-PagingCell-List" },
  { id_PagingDRX, "id-PagingDRX" },
  { id_PagingPriority, "id-PagingPriority" },
  { id_SItype_List, "id-SItype-List" },
  { id_UEIdentityIndexValue, "id-UEIdentityIndexValue" },
  { id_gNB_CUSystemInformation, "id-gNB-CUSystemInformation" },
  { id_HandoverPreparationInformation, "id-HandoverPreparationInformation" },
  { id_GNB_CU_TNL_Association_To_Add_Item, "id-GNB-CU-TNL-Association-To-Add-Item" },
  { id_GNB_CU_TNL_Association_To_Add_List, "id-GNB-CU-TNL-Association-To-Add-List" },
  { id_GNB_CU_TNL_Association_To_Remove_Item, "id-GNB-CU-TNL-Association-To-Remove-Item" },
  { id_GNB_CU_TNL_Association_To_Remove_List, "id-GNB-CU-TNL-Association-To-Remove-List" },
  { id_GNB_CU_TNL_Association_To_Update_Item, "id-GNB-CU-TNL-Association-To-Update-Item" },
  { id_GNB_CU_TNL_Association_To_Update_List, "id-GNB-CU-TNL-Association-To-Update-List" },
  { id_MaskedIMEISV, "id-MaskedIMEISV" },
  { id_PagingIdentity, "id-PagingIdentity" },
  { id_DUtoCURRCContainer, "id-DUtoCURRCContainer" },
  { id_Cells_to_be_Barred_List, "id-Cells-to-be-Barred-List" },
  { id_Cells_to_be_Barred_Item, "id-Cells-to-be-Barred-Item" },
  { id_TAISliceSupportList, "id-TAISliceSupportList" },
  { id_GNB_CU_TNL_Association_Setup_List, "id-GNB-CU-TNL-Association-Setup-List" },
  { id_GNB_CU_TNL_Association_Setup_Item, "id-GNB-CU-TNL-Association-Setup-Item" },
  { id_GNB_CU_TNL_Association_Failed_To_Setup_List, "id-GNB-CU-TNL-Association-Failed-To-Setup-List" },
  { id_GNB_CU_TNL_Association_Failed_To_Setup_Item, "id-GNB-CU-TNL-Association-Failed-To-Setup-Item" },
  { id_DRB_Notify_Item, "id-DRB-Notify-Item" },
  { id_DRB_Notify_List, "id-DRB-Notify-List" },
  { id_ProtocolIE_ID_138_not_to_be_used, "id-ProtocolIE-ID-138-not-to-be-used" },
  { id_RANAC, "id-RANAC" },
  { id_PWSSystemInformation, "id-PWSSystemInformation" },
  { id_RepetitionPeriod, "id-RepetitionPeriod" },
  { id_NumberofBroadcastRequest, "id-NumberofBroadcastRequest" },
  { id_Unknown_143, "id-Unknown-143" },
  { id_Cells_To_Be_Broadcast_List, "id-Cells-To-Be-Broadcast-List" },
  { id_Cells_To_Be_Broadcast_Item, "id-Cells-To-Be-Broadcast-Item" },
  { id_Cells_Broadcast_Completed_List, "id-Cells-Broadcast-Completed-List" },
  { id_Cells_Broadcast_Completed_Item, "id-Cells-Broadcast-Completed-Item" },
  { id_Broadcast_To_Be_Cancelled_List, "id-Broadcast-To-Be-Cancelled-List" },
  { id_Broadcast_To_Be_Cancelled_Item, "id-Broadcast-To-Be-Cancelled-Item" },
  { id_Cells_Broadcast_Cancelled_List, "id-Cells-Broadcast-Cancelled-List" },
  { id_Cells_Broadcast_Cancelled_Item, "id-Cells-Broadcast-Cancelled-Item" },
  { id_NR_CGI_List_For_Restart_List, "id-NR-CGI-List-For-Restart-List" },
  { id_NR_CGI_List_For_Restart_Item, "id-NR-CGI-List-For-Restart-Item" },
  { id_PWS_Failed_NR_CGI_List, "id-PWS-Failed-NR-CGI-List" },
  { id_PWS_Failed_NR_CGI_Item, "id-PWS-Failed-NR-CGI-Item" },
  { id_ConfirmedUEID, "id-ConfirmedUEID" },
  { id_Cancel_all_Warning_Messages_Indicator, "id-Cancel-all-Warning-Messages-Indicator" },
  { id_GNB_DU_UE_AMBR_UL, "id-GNB-DU-UE-AMBR-UL" },
  { id_DRXConfigurationIndicator, "id-DRXConfigurationIndicator" },
  { id_RLC_Status, "id-RLC-Status" },
  { id_DLPDCPSNLength, "id-DLPDCPSNLength" },
  { id_GNB_DUConfigurationQuery, "id-GNB-DUConfigurationQuery" },
  { id_MeasurementTimingConfiguration, "id-MeasurementTimingConfiguration" },
  { id_DRB_Information, "id-DRB-Information" },
  { id_ServingPLMN, "id-ServingPLMN" },
  { id_Unknown_166, "id-Unknown-166" },
  { id_Unknown_167, "id-Unknown-167" },
  { id_Protected_EUTRA_Resources_Item, "id-Protected-EUTRA-Resources-Item" },
  { id_Unknown_169, "id-Unknown-169" },
  { id_GNB_CU_RRC_Version, "id-GNB-CU-RRC-Version" },
  { id_GNB_DU_RRC_Version, "id-GNB-DU-RRC-Version" },
  { id_GNBDUOverloadInformation, "id-GNBDUOverloadInformation" },
  { id_CellGroupConfig, "id-CellGroupConfig" },
  { id_RLCFailureIndication, "id-RLCFailureIndication" },
  { id_UplinkTxDirectCurrentListInformation, "id-UplinkTxDirectCurrentListInformation" },
  { id_DC_Based_Duplication_Configured, "id-DC-Based-Duplication-Configured" },
  { id_DC_Based_Duplication_Activation, "id-DC-Based-Duplication-Activation" },
  { id_SULAccessIndication, "id-SULAccessIndication" },
  { id_AvailablePLMNList, "id-AvailablePLMNList" },
  { id_PDUSessionID, "id-PDUSessionID" },
  { id_ULPDUSessionAggregateMaximumBitRate, "id-ULPDUSessionAggregateMaximumBitRate" },
  { id_ServingCellMO, "id-ServingCellMO" },
  { id_QoSFlowMappingIndication, "id-QoSFlowMappingIndication" },
  { id_RRCDeliveryStatusRequest, "id-RRCDeliveryStatusRequest" },
  { id_RRCDeliveryStatus, "id-RRCDeliveryStatus" },
  { id_BearerTypeChange, "id-BearerTypeChange" },
  { id_RLCMode, "id-RLCMode" },
  { id_Duplication_Activation, "id-Duplication-Activation" },
  { id_Dedicated_SIDelivery_NeededUE_List, "id-Dedicated-SIDelivery-NeededUE-List" },
  { id_Dedicated_SIDelivery_NeededUE_Item, "id-Dedicated-SIDelivery-NeededUE-Item" },
  { id_DRX_LongCycleStartOffset, "id-DRX-LongCycleStartOffset" },
  { id_ULPDCPSNLength, "id-ULPDCPSNLength" },
  { id_SelectedBandCombinationIndex, "id-SelectedBandCombinationIndex" },
  { id_SelectedFeatureSetEntryIndex, "id-SelectedFeatureSetEntryIndex" },
  { id_ResourceCoordinationTransferInformation, "id-ResourceCoordinationTransferInformation" },
  { id_ExtendedServedPLMNs_List, "id-ExtendedServedPLMNs-List" },
  { id_ExtendedAvailablePLMN_List, "id-ExtendedAvailablePLMN-List" },
  { id_Associated_SCell_List, "id-Associated-SCell-List" },
  { id_latest_RRC_Version_Enhanced, "id-latest-RRC-Version-Enhanced" },
  { id_Associated_SCell_Item, "id-Associated-SCell-Item" },
  { id_Cell_Direction, "id-Cell-Direction" },
  { id_SRBs_Setup_List, "id-SRBs-Setup-List" },
  { id_SRBs_Setup_Item, "id-SRBs-Setup-Item" },
  { id_SRBs_SetupMod_List, "id-SRBs-SetupMod-List" },
  { id_SRBs_SetupMod_Item, "id-SRBs-SetupMod-Item" },
  { id_SRBs_Modified_List, "id-SRBs-Modified-List" },
  { id_SRBs_Modified_Item, "id-SRBs-Modified-Item" },
  { id_Ph_InfoSCG, "id-Ph-InfoSCG" },
  { id_RequestedBandCombinationIndex, "id-RequestedBandCombinationIndex" },
  { id_RequestedFeatureSetEntryIndex, "id-RequestedFeatureSetEntryIndex" },
  { id_RequestedP_MaxFR2, "id-RequestedP-MaxFR2" },
  { id_DRX_Config, "id-DRX-Config" },
  { id_IgnoreResourceCoordinationContainer, "id-IgnoreResourceCoordinationContainer" },
  { id_UEAssistanceInformation, "id-UEAssistanceInformation" },
  { id_NeedforGap, "id-NeedforGap" },
  { id_PagingOrigin, "id-PagingOrigin" },
  { id_new_gNB_CU_UE_F1AP_ID, "id-new-gNB-CU-UE-F1AP-ID" },
  { id_RedirectedRRCmessage, "id-RedirectedRRCmessage" },
  { id_new_gNB_DU_UE_F1AP_ID, "id-new-gNB-DU-UE-F1AP-ID" },
  { id_NotificationInformation, "id-NotificationInformation" },
  { id_PLMNAssistanceInfoForNetShar, "id-PLMNAssistanceInfoForNetShar" },
  { id_UEContextNotRetrievable, "id-UEContextNotRetrievable" },
  { id_BPLMN_ID_Info_List, "id-BPLMN-ID-Info-List" },
  { id_SelectedPLMNID, "id-SelectedPLMNID" },
  { id_UAC_Assistance_Info, "id-UAC-Assistance-Info" },
  { id_RANUEID, "id-RANUEID" },
  { id_GNB_DU_TNL_Association_To_Remove_Item, "id-GNB-DU-TNL-Association-To-Remove-Item" },
  { id_GNB_DU_TNL_Association_To_Remove_List, "id-GNB-DU-TNL-Association-To-Remove-List" },
  { id_TNLAssociationTransportLayerAddressgNBDU, "id-TNLAssociationTransportLayerAddressgNBDU" },
  { id_portNumber, "id-portNumber" },
  { id_AdditionalSIBMessageList, "id-AdditionalSIBMessageList" },
  { id_Cell_Type, "id-Cell-Type" },
  { id_IgnorePRACHConfiguration, "id-IgnorePRACHConfiguration" },
  { id_CG_Config, "id-CG-Config" },
  { id_PDCCH_BlindDetectionSCG, "id-PDCCH-BlindDetectionSCG" },
  { id_Requested_PDCCH_BlindDetectionSCG, "id-Requested-PDCCH-BlindDetectionSCG" },
  { id_Ph_InfoMCG, "id-Ph-InfoMCG" },
  { id_MeasGapSharingConfig, "id-MeasGapSharingConfig" },
  { id_systemInformationAreaID, "id-systemInformationAreaID" },
  { id_areaScope, "id-areaScope" },
  { id_RRCContainer_RRCSetupComplete, "id-RRCContainer-RRCSetupComplete" },
  { id_TraceActivation, "id-TraceActivation" },
  { id_TraceID, "id-TraceID" },
  { id_Neighbour_Cell_Information_List, "id-Neighbour-Cell-Information-List" },
  { id_Unknown_245, "id-Unknown-245" },
  { id_ProtocolIE_ID_246_not_to_be_used, "id-ProtocolIE-ID-246-not-to-be-used" },
  { id_ProtocolIE_ID_247_not_to_be_used, "id-ProtocolIE-ID-247-not-to-be-used" },
  { id_AdditionalRRMPriorityIndex, "id-AdditionalRRMPriorityIndex" },
  { id_DUCURadioInformationType, "id-DUCURadioInformationType" },
  { id_CUDURadioInformationType, "id-CUDURadioInformationType" },
  { id_AggressorgNBSetID, "id-AggressorgNBSetID" },
  { id_VictimgNBSetID, "id-VictimgNBSetID" },
  { id_LowerLayerPresenceStatusChange, "id-LowerLayerPresenceStatusChange" },
  { id_Transport_Layer_Address_Info, "id-Transport-Layer-Address-Info" },
  { id_Neighbour_Cell_Information_Item, "id-Neighbour-Cell-Information-Item" },
  { id_IntendedTDD_DL_ULConfig, "id-IntendedTDD-DL-ULConfig" },
  { id_QosMonitoringRequest, "id-QosMonitoringRequest" },
  { id_BHChannels_ToBeSetup_List, "id-BHChannels-ToBeSetup-List" },
  { id_BHChannels_ToBeSetup_Item, "id-BHChannels-ToBeSetup-Item" },
  { id_BHChannels_Setup_List, "id-BHChannels-Setup-List" },
  { id_BHChannels_Setup_Item, "id-BHChannels-Setup-Item" },
  { id_BHChannels_ToBeModified_Item, "id-BHChannels-ToBeModified-Item" },
  { id_BHChannels_ToBeModified_List, "id-BHChannels-ToBeModified-List" },
  { id_BHChannels_ToBeReleased_Item, "id-BHChannels-ToBeReleased-Item" },
  { id_BHChannels_ToBeReleased_List, "id-BHChannels-ToBeReleased-List" },
  { id_BHChannels_ToBeSetupMod_Item, "id-BHChannels-ToBeSetupMod-Item" },
  { id_BHChannels_ToBeSetupMod_List, "id-BHChannels-ToBeSetupMod-List" },
  { id_BHChannels_FailedToBeModified_Item, "id-BHChannels-FailedToBeModified-Item" },
  { id_BHChannels_FailedToBeModified_List, "id-BHChannels-FailedToBeModified-List" },
  { id_BHChannels_FailedToBeSetupMod_Item, "id-BHChannels-FailedToBeSetupMod-Item" },
  { id_BHChannels_FailedToBeSetupMod_List, "id-BHChannels-FailedToBeSetupMod-List" },
  { id_BHChannels_Modified_Item, "id-BHChannels-Modified-Item" },
  { id_BHChannels_Modified_List, "id-BHChannels-Modified-List" },
  { id_BHChannels_SetupMod_Item, "id-BHChannels-SetupMod-Item" },
  { id_BHChannels_SetupMod_List, "id-BHChannels-SetupMod-List" },
  { id_BHChannels_Required_ToBeReleased_Item, "id-BHChannels-Required-ToBeReleased-Item" },
  { id_BHChannels_Required_ToBeReleased_List, "id-BHChannels-Required-ToBeReleased-List" },
  { id_BHChannels_FailedToBeSetup_Item, "id-BHChannels-FailedToBeSetup-Item" },
  { id_BHChannels_FailedToBeSetup_List, "id-BHChannels-FailedToBeSetup-List" },
  { id_BHInfo, "id-BHInfo" },
  { id_BAPAddress, "id-BAPAddress" },
  { id_ConfiguredBAPAddress, "id-ConfiguredBAPAddress" },
  { id_BH_Routing_Information_Added_List, "id-BH-Routing-Information-Added-List" },
  { id_BH_Routing_Information_Added_List_Item, "id-BH-Routing-Information-Added-List-Item" },
  { id_BH_Routing_Information_Removed_List, "id-BH-Routing-Information-Removed-List" },
  { id_BH_Routing_Information_Removed_List_Item, "id-BH-Routing-Information-Removed-List-Item" },
  { id_UL_BH_Non_UP_Traffic_Mapping, "id-UL-BH-Non-UP-Traffic-Mapping" },
  { id_Activated_Cells_to_be_Updated_List, "id-Activated-Cells-to-be-Updated-List" },
  { id_Child_Nodes_List, "id-Child-Nodes-List" },
  { id_IAB_Info_IAB_DU, "id-IAB-Info-IAB-DU" },
  { id_IAB_Info_IAB_donor_CU, "id-IAB-Info-IAB-donor-CU" },
  { id_IAB_TNL_Addresses_To_Remove_List, "id-IAB-TNL-Addresses-To-Remove-List" },
  { id_IAB_TNL_Addresses_To_Remove_Item, "id-IAB-TNL-Addresses-To-Remove-Item" },
  { id_IAB_Allocated_TNL_Address_List, "id-IAB-Allocated-TNL-Address-List" },
  { id_IAB_Allocated_TNL_Address_Item, "id-IAB-Allocated-TNL-Address-Item" },
  { id_IABIPv6RequestType, "id-IABIPv6RequestType" },
  { id_IABv4AddressesRequested, "id-IABv4AddressesRequested" },
  { id_IAB_Barred, "id-IAB-Barred" },
  { id_TrafficMappingInformation, "id-TrafficMappingInformation" },
  { id_UL_UP_TNL_Information_to_Update_List, "id-UL-UP-TNL-Information-to-Update-List" },
  { id_UL_UP_TNL_Information_to_Update_List_Item, "id-UL-UP-TNL-Information-to-Update-List-Item" },
  { id_UL_UP_TNL_Address_to_Update_List, "id-UL-UP-TNL-Address-to-Update-List" },
  { id_UL_UP_TNL_Address_to_Update_List_Item, "id-UL-UP-TNL-Address-to-Update-List-Item" },
  { id_DL_UP_TNL_Address_to_Update_List, "id-DL-UP-TNL-Address-to-Update-List" },
  { id_DL_UP_TNL_Address_to_Update_List_Item, "id-DL-UP-TNL-Address-to-Update-List-Item" },
  { id_NRV2XServicesAuthorized, "id-NRV2XServicesAuthorized" },
  { id_LTEV2XServicesAuthorized, "id-LTEV2XServicesAuthorized" },
  { id_NRUESidelinkAggregateMaximumBitrate, "id-NRUESidelinkAggregateMaximumBitrate" },
  { id_LTEUESidelinkAggregateMaximumBitrate, "id-LTEUESidelinkAggregateMaximumBitrate" },
  { id_SIB12_message, "id-SIB12-message" },
  { id_SIB13_message, "id-SIB13-message" },
  { id_SIB14_message, "id-SIB14-message" },
  { id_SLDRBs_FailedToBeModified_Item, "id-SLDRBs-FailedToBeModified-Item" },
  { id_SLDRBs_FailedToBeModified_List, "id-SLDRBs-FailedToBeModified-List" },
  { id_SLDRBs_FailedToBeSetup_Item, "id-SLDRBs-FailedToBeSetup-Item" },
  { id_SLDRBs_FailedToBeSetup_List, "id-SLDRBs-FailedToBeSetup-List" },
  { id_SLDRBs_Modified_Item, "id-SLDRBs-Modified-Item" },
  { id_SLDRBs_Modified_List, "id-SLDRBs-Modified-List" },
  { id_SLDRBs_Required_ToBeModified_Item, "id-SLDRBs-Required-ToBeModified-Item" },
  { id_SLDRBs_Required_ToBeModified_List, "id-SLDRBs-Required-ToBeModified-List" },
  { id_SLDRBs_Required_ToBeReleased_Item, "id-SLDRBs-Required-ToBeReleased-Item" },
  { id_SLDRBs_Required_ToBeReleased_List, "id-SLDRBs-Required-ToBeReleased-List" },
  { id_SLDRBs_Setup_Item, "id-SLDRBs-Setup-Item" },
  { id_SLDRBs_Setup_List, "id-SLDRBs-Setup-List" },
  { id_SLDRBs_ToBeModified_Item, "id-SLDRBs-ToBeModified-Item" },
  { id_SLDRBs_ToBeModified_List, "id-SLDRBs-ToBeModified-List" },
  { id_SLDRBs_ToBeReleased_Item, "id-SLDRBs-ToBeReleased-Item" },
  { id_SLDRBs_ToBeReleased_List, "id-SLDRBs-ToBeReleased-List" },
  { id_SLDRBs_ToBeSetup_Item, "id-SLDRBs-ToBeSetup-Item" },
  { id_SLDRBs_ToBeSetup_List, "id-SLDRBs-ToBeSetup-List" },
  { id_SLDRBs_ToBeSetupMod_Item, "id-SLDRBs-ToBeSetupMod-Item" },
  { id_SLDRBs_ToBeSetupMod_List, "id-SLDRBs-ToBeSetupMod-List" },
  { id_SLDRBs_SetupMod_List, "id-SLDRBs-SetupMod-List" },
  { id_SLDRBs_FailedToBeSetupMod_List, "id-SLDRBs-FailedToBeSetupMod-List" },
  { id_SLDRBs_SetupMod_Item, "id-SLDRBs-SetupMod-Item" },
  { id_SLDRBs_FailedToBeSetupMod_Item, "id-SLDRBs-FailedToBeSetupMod-Item" },
  { id_SLDRBs_ModifiedConf_List, "id-SLDRBs-ModifiedConf-List" },
  { id_SLDRBs_ModifiedConf_Item, "id-SLDRBs-ModifiedConf-Item" },
  { id_UEAssistanceInformationEUTRA, "id-UEAssistanceInformationEUTRA" },
  { id_PC5LinkAMBR, "id-PC5LinkAMBR" },
  { id_SL_PHY_MAC_RLC_Config, "id-SL-PHY-MAC-RLC-Config" },
  { id_SL_ConfigDedicatedEUTRA_Info, "id-SL-ConfigDedicatedEUTRA-Info" },
  { id_AlternativeQoSParaSetList, "id-AlternativeQoSParaSetList" },
  { id_CurrentQoSParaSetIndex, "id-CurrentQoSParaSetIndex" },
  { id_gNBCUMeasurementID, "id-gNBCUMeasurementID" },
  { id_gNBDUMeasurementID, "id-gNBDUMeasurementID" },
  { id_RegistrationRequest, "id-RegistrationRequest" },
  { id_ReportCharacteristics, "id-ReportCharacteristics" },
  { id_CellToReportList, "id-CellToReportList" },
  { id_CellMeasurementResultList, "id-CellMeasurementResultList" },
  { id_HardwareLoadIndicator, "id-HardwareLoadIndicator" },
  { id_ReportingPeriodicity, "id-ReportingPeriodicity" },
  { id_TNLCapacityIndicator, "id-TNLCapacityIndicator" },
  { id_CarrierList, "id-CarrierList" },
  { id_ULCarrierList, "id-ULCarrierList" },
  { id_FrequencyShift7p5khz, "id-FrequencyShift7p5khz" },
  { id_SSB_PositionsInBurst, "id-SSB-PositionsInBurst" },
  { id_NRPRACHConfig, "id-NRPRACHConfig" },
  { id_RAReportList, "id-RAReportList" },
  { id_RLFReportInformationList, "id-RLFReportInformationList" },
  { id_TDD_UL_DLConfigCommonNR, "id-TDD-UL-DLConfigCommonNR" },
  { id_CNPacketDelayBudgetDownlink, "id-CNPacketDelayBudgetDownlink" },
  { id_ExtendedPacketDelayBudget, "id-ExtendedPacketDelayBudget" },
  { id_TSCTrafficCharacteristics, "id-TSCTrafficCharacteristics" },
  { id_ReportingRequestType, "id-ReportingRequestType" },
  { id_TimeReferenceInformation, "id-TimeReferenceInformation" },
  { id_Unknown_367, "id-Unknown-367" },
  { id_Unknown_368, "id-Unknown-368" },
  { id_CNPacketDelayBudgetUplink, "id-CNPacketDelayBudgetUplink" },
  { id_AdditionalPDCPDuplicationTNL_List, "id-AdditionalPDCPDuplicationTNL-List" },
  { id_RLCDuplicationInformation, "id-RLCDuplicationInformation" },
  { id_AdditionalDuplicationIndication, "id-AdditionalDuplicationIndication" },
  { id_ConditionalInterDUMobilityInformation, "id-ConditionalInterDUMobilityInformation" },
  { id_ConditionalIntraDUMobilityInformation, "id-ConditionalIntraDUMobilityInformation" },
  { id_targetCellsToCancel, "id-targetCellsToCancel" },
  { id_requestedTargetCellGlobalID, "id-requestedTargetCellGlobalID" },
  { id_ManagementBasedMDTPLMNList, "id-ManagementBasedMDTPLMNList" },
  { id_TraceCollectionEntityIPAddress, "id-TraceCollectionEntityIPAddress" },
  { id_PrivacyIndicator, "id-PrivacyIndicator" },
  { id_TraceCollectionEntityURI, "id-TraceCollectionEntityURI" },
  { id_mdtConfiguration, "id-mdtConfiguration" },
  { id_ServingNID, "id-ServingNID" },
  { id_NPNBroadcastInformation, "id-NPNBroadcastInformation" },
  { id_NPNSupportInfo, "id-NPNSupportInfo" },
  { id_NID, "id-NID" },
  { id_AvailableSNPN_ID_List, "id-AvailableSNPN-ID-List" },
  { id_SIB10_message, "id-SIB10-message" },
  { id_Unknown_388, "id-Unknown-388" },
  { id_DLCarrierList, "id-DLCarrierList" },
  { id_ExtendedTAISliceSupportList, "id-ExtendedTAISliceSupportList" },
  { id_RequestedSRSTransmissionCharacteristics, "id-RequestedSRSTransmissionCharacteristics" },
  { id_PosAssistance_Information, "id-PosAssistance-Information" },
  { id_PosBroadcast, "id-PosBroadcast" },
  { id_RoutingID, "id-RoutingID" },
  { id_PosAssistanceInformationFailureList, "id-PosAssistanceInformationFailureList" },
  { id_PosMeasurementQuantities, "id-PosMeasurementQuantities" },
  { id_PosMeasurementResultList, "id-PosMeasurementResultList" },
  { id_TRPInformationTypeListTRPReq, "id-TRPInformationTypeListTRPReq" },
  { id_TRPInformationTypeItem, "id-TRPInformationTypeItem" },
  { id_TRPInformationListTRPResp, "id-TRPInformationListTRPResp" },
  { id_TRPInformationItem, "id-TRPInformationItem" },
  { id_LMF_MeasurementID, "id-LMF-MeasurementID" },
  { id_SRSType, "id-SRSType" },
  { id_ActivationTime, "id-ActivationTime" },
  { id_AbortTransmission, "id-AbortTransmission" },
  { id_PositioningBroadcastCells, "id-PositioningBroadcastCells" },
  { id_SRSConfiguration, "id-SRSConfiguration" },
  { id_PosReportCharacteristics, "id-PosReportCharacteristics" },
  { id_PosMeasurementPeriodicity, "id-PosMeasurementPeriodicity" },
  { id_TRPList, "id-TRPList" },
  { id_RAN_MeasurementID, "id-RAN-MeasurementID" },
  { id_LMF_UE_MeasurementID, "id-LMF-UE-MeasurementID" },
  { id_RAN_UE_MeasurementID, "id-RAN-UE-MeasurementID" },
  { id_E_CID_MeasurementQuantities, "id-E-CID-MeasurementQuantities" },
  { id_E_CID_MeasurementQuantities_Item, "id-E-CID-MeasurementQuantities-Item" },
  { id_E_CID_MeasurementPeriodicity, "id-E-CID-MeasurementPeriodicity" },
  { id_E_CID_MeasurementResult, "id-E-CID-MeasurementResult" },
  { id_Cell_Portion_ID, "id-Cell-Portion-ID" },
  { id_SFNInitialisationTime, "id-SFNInitialisationTime" },
  { id_SystemFrameNumber, "id-SystemFrameNumber" },
  { id_SlotNumber, "id-SlotNumber" },
  { id_TRP_MeasurementRequestList, "id-TRP-MeasurementRequestList" },
  { id_MeasurementBeamInfoRequest, "id-MeasurementBeamInfoRequest" },
  { id_E_CID_ReportCharacteristics, "id-E-CID-ReportCharacteristics" },
  { id_ConfiguredTACIndication, "id-ConfiguredTACIndication" },
  { id_Extended_GNB_CU_Name, "id-Extended-GNB-CU-Name" },
  { id_Extended_GNB_DU_Name, "id-Extended-GNB-DU-Name" },
  { id_F1CTransferPath, "id-F1CTransferPath" },
  { id_SFN_Offset, "id-SFN-Offset" },
  { id_TransmissionStopIndicator, "id-TransmissionStopIndicator" },
  { id_SrsFrequency, "id-SrsFrequency" },
  { id_SCGIndicator, "id-SCGIndicator" },
  { id_EstimatedArrivalProbability, "id-EstimatedArrivalProbability" },
  { id_TRPType, "id-TRPType" },
  { id_SRSSpatialRelationPerSRSResource, "id-SRSSpatialRelationPerSRSResource" },
  { id_PDCPTerminatingNodeDLTNLAddrInfo, "id-PDCPTerminatingNodeDLTNLAddrInfo" },
  { id_ENBDLTNLAddress, "id-ENBDLTNLAddress" },
  { id_PosMeasurementPeriodicityExtended, "id-PosMeasurementPeriodicityExtended" },
  { id_PRS_Resource_ID, "id-PRS-Resource-ID" },
  { id_LocationMeasurementInformation, "id-LocationMeasurementInformation" },
  { id_SliceRadioResourceStatus, "id-SliceRadioResourceStatus" },
  { id_CompositeAvailableCapacity_SUL, "id-CompositeAvailableCapacity-SUL" },
  { id_SuccessfulHOReportInformationList, "id-SuccessfulHOReportInformationList" },
  { id_NR_U_Channel_List, "id-NR-U-Channel-List" },
  { id_NR_U, "id-NR-U" },
  { id_Coverage_Modification_Notification, "id-Coverage-Modification-Notification" },
  { id_CCO_Assistance_Information, "id-CCO-Assistance-Information" },
  { id_ProtocolIE_ID_448_not_to_be_used, "id-ProtocolIE-ID-448-not-to-be-used" },
  { id_CellsForSON_List, "id-CellsForSON-List" },
  { id_MIMOPRBusageInformation, "id-MIMOPRBusageInformation" },
  { id_gNB_CU_MBS_F1AP_ID, "id-gNB-CU-MBS-F1AP-ID" },
  { id_gNB_DU_MBS_F1AP_ID, "id-gNB-DU-MBS-F1AP-ID" },
  { id_ProtocolIE_ID_453_not_to_be_used, "id-ProtocolIE-ID-453-not-to-be-used" },
  { id_MBS_CUtoDURRCInformation, "id-MBS-CUtoDURRCInformation" },
  { id_MBS_Session_ID, "id-MBS-Session-ID" },
  { id_SNSSAI, "id-SNSSAI" },
  { id_MBS_Broadcast_NeighbourCellList, "id-MBS-Broadcast-NeighbourCellList" },
  { id_BroadcastMRBs_FailedToBeModified_List, "id-BroadcastMRBs-FailedToBeModified-List" },
  { id_BroadcastMRBs_FailedToBeModified_Item, "id-BroadcastMRBs-FailedToBeModified-Item" },
  { id_BroadcastMRBs_FailedToBeSetup_List, "id-BroadcastMRBs-FailedToBeSetup-List" },
  { id_BroadcastMRBs_FailedToBeSetup_Item, "id-BroadcastMRBs-FailedToBeSetup-Item" },
  { id_BroadcastMRBs_FailedToBeSetupMod_List, "id-BroadcastMRBs-FailedToBeSetupMod-List" },
  { id_BroadcastMRBs_FailedToBeSetupMod_Item, "id-BroadcastMRBs-FailedToBeSetupMod-Item" },
  { id_BroadcastMRBs_Modified_List, "id-BroadcastMRBs-Modified-List" },
  { id_BroadcastMRBs_Modified_Item, "id-BroadcastMRBs-Modified-Item" },
  { id_BroadcastMRBs_Setup_List, "id-BroadcastMRBs-Setup-List" },
  { id_BroadcastMRBs_Setup_Item, "id-BroadcastMRBs-Setup-Item" },
  { id_BroadcastMRBs_SetupMod_List, "id-BroadcastMRBs-SetupMod-List" },
  { id_BroadcastMRBs_SetupMod_Item, "id-BroadcastMRBs-SetupMod-Item" },
  { id_BroadcastMRBs_ToBeModified_List, "id-BroadcastMRBs-ToBeModified-List" },
  { id_BroadcastMRBs_ToBeModified_Item, "id-BroadcastMRBs-ToBeModified-Item" },
  { id_BroadcastMRBs_ToBeReleased_List, "id-BroadcastMRBs-ToBeReleased-List" },
  { id_BroadcastMRBs_ToBeReleased_Item, "id-BroadcastMRBs-ToBeReleased-Item" },
  { id_BroadcastMRBs_ToBeSetup_List, "id-BroadcastMRBs-ToBeSetup-List" },
  { id_BroadcastMRBs_ToBeSetup_Item, "id-BroadcastMRBs-ToBeSetup-Item" },
  { id_BroadcastMRBs_ToBeSetupMod_List, "id-BroadcastMRBs-ToBeSetupMod-List" },
  { id_BroadcastMRBs_ToBeSetupMod_Item, "id-BroadcastMRBs-ToBeSetupMod-Item" },
  { id_Supported_MBS_FSA_ID_List, "id-Supported-MBS-FSA-ID-List" },
  { id_UEIdentity_List_For_Paging_List, "id-UEIdentity-List-For-Paging-List" },
  { id_UEIdentity_List_For_Paging_Item, "id-UEIdentity-List-For-Paging-Item" },
  { id_MBS_ServiceArea, "id-MBS-ServiceArea" },
  { id_MulticastMRBs_FailedToBeModified_List, "id-MulticastMRBs-FailedToBeModified-List" },
  { id_MulticastMRBs_FailedToBeModified_Item, "id-MulticastMRBs-FailedToBeModified-Item" },
  { id_MulticastMRBs_FailedToBeSetup_List, "id-MulticastMRBs-FailedToBeSetup-List" },
  { id_MulticastMRBs_FailedToBeSetup_Item, "id-MulticastMRBs-FailedToBeSetup-Item" },
  { id_MulticastMRBs_FailedToBeSetupMod_List, "id-MulticastMRBs-FailedToBeSetupMod-List" },
  { id_MulticastMRBs_FailedToBeSetupMod_Item, "id-MulticastMRBs-FailedToBeSetupMod-Item" },
  { id_MulticastMRBs_Modified_List, "id-MulticastMRBs-Modified-List" },
  { id_MulticastMRBs_Modified_Item, "id-MulticastMRBs-Modified-Item" },
  { id_MulticastMRBs_Setup_List, "id-MulticastMRBs-Setup-List" },
  { id_MulticastMRBs_Setup_Item, "id-MulticastMRBs-Setup-Item" },
  { id_MulticastMRBs_SetupMod_List, "id-MulticastMRBs-SetupMod-List" },
  { id_MulticastMRBs_SetupMod_Item, "id-MulticastMRBs-SetupMod-Item" },
  { id_MulticastMRBs_ToBeModified_List, "id-MulticastMRBs-ToBeModified-List" },
  { id_MulticastMRBs_ToBeModified_Item, "id-MulticastMRBs-ToBeModified-Item" },
  { id_MulticastMRBs_ToBeReleased_List, "id-MulticastMRBs-ToBeReleased-List" },
  { id_MulticastMRBs_ToBeReleased_Item, "id-MulticastMRBs-ToBeReleased-Item" },
  { id_MulticastMRBs_ToBeSetup_List, "id-MulticastMRBs-ToBeSetup-List" },
  { id_MulticastMRBs_ToBeSetup_Item, "id-MulticastMRBs-ToBeSetup-Item" },
  { id_MulticastMRBs_ToBeSetupMod_List, "id-MulticastMRBs-ToBeSetupMod-List" },
  { id_MulticastMRBs_ToBeSetupMod_Item, "id-MulticastMRBs-ToBeSetupMod-Item" },
  { id_MBSMulticastF1UContextDescriptor, "id-MBSMulticastF1UContextDescriptor" },
  { id_MulticastF1UContext_ToBeSetup_List, "id-MulticastF1UContext-ToBeSetup-List" },
  { id_MulticastF1UContext_ToBeSetup_Item, "id-MulticastF1UContext-ToBeSetup-Item" },
  { id_MulticastF1UContext_Setup_List, "id-MulticastF1UContext-Setup-List" },
  { id_MulticastF1UContext_Setup_Item, "id-MulticastF1UContext-Setup-Item" },
  { id_MulticastF1UContext_FailedToBeSetup_List, "id-MulticastF1UContext-FailedToBeSetup-List" },
  { id_MulticastF1UContext_FailedToBeSetup_Item, "id-MulticastF1UContext-FailedToBeSetup-Item" },
  { id_IABCongestionIndication, "id-IABCongestionIndication" },
  { id_IABConditionalRRCMessageDeliveryIndication, "id-IABConditionalRRCMessageDeliveryIndication" },
  { id_F1CTransferPathNRDC, "id-F1CTransferPathNRDC" },
  { id_BufferSizeThresh, "id-BufferSizeThresh" },
  { id_IAB_TNL_Addresses_Exception, "id-IAB-TNL-Addresses-Exception" },
  { id_BAP_Header_Rewriting_Added_List, "id-BAP-Header-Rewriting-Added-List" },
  { id_BAP_Header_Rewriting_Added_List_Item, "id-BAP-Header-Rewriting-Added-List-Item" },
  { id_Re_routingEnableIndicator, "id-Re-routingEnableIndicator" },
  { id_NonF1terminatingTopologyIndicator, "id-NonF1terminatingTopologyIndicator" },
  { id_EgressNonF1terminatingTopologyIndicator, "id-EgressNonF1terminatingTopologyIndicator" },
  { id_IngressNonF1terminatingTopologyIndicator, "id-IngressNonF1terminatingTopologyIndicator" },
  { id_rBSetConfiguration, "id-rBSetConfiguration" },
  { id_frequency_Domain_HSNA_Configuration_List, "id-frequency-Domain-HSNA-Configuration-List" },
  { id_child_IAB_Nodes_NA_Resource_List, "id-child-IAB-Nodes-NA-Resource-List" },
  { id_Parent_IAB_Nodes_NA_Resource_Configuration_List, "id-Parent-IAB-Nodes-NA-Resource-Configuration-List" },
  { id_uL_FreqInfo, "id-uL-FreqInfo" },
  { id_uL_Transmission_Bandwidth, "id-uL-Transmission-Bandwidth" },
  { id_dL_FreqInfo, "id-dL-FreqInfo" },
  { id_dL_Transmission_Bandwidth, "id-dL-Transmission-Bandwidth" },
  { id_uL_NR_Carrier_List, "id-uL-NR-Carrier-List" },
  { id_dL_NR_Carrier_List, "id-dL-NR-Carrier-List" },
  { id_nRFreqInfo, "id-nRFreqInfo" },
  { id_transmission_Bandwidth, "id-transmission-Bandwidth" },
  { id_nR_Carrier_List, "id-nR-Carrier-List" },
  { id_Neighbour_Node_Cells_List, "id-Neighbour-Node-Cells-List" },
  { id_Serving_Cells_List, "id-Serving-Cells-List" },
  { id_permutation, "id-permutation" },
  { id_MDTPollutedMeasurementIndicator, "id-MDTPollutedMeasurementIndicator" },
  { id_M5ReportAmount, "id-M5ReportAmount" },
  { id_M6ReportAmount, "id-M6ReportAmount" },
  { id_M7ReportAmount, "id-M7ReportAmount" },
  { id_SurvivalTime, "id-SurvivalTime" },
  { id_PDCMeasurementPeriodicity, "id-PDCMeasurementPeriodicity" },
  { id_PDCMeasurementQuantities, "id-PDCMeasurementQuantities" },
  { id_PDCMeasurementQuantities_Item, "id-PDCMeasurementQuantities-Item" },
  { id_PDCMeasurementResult, "id-PDCMeasurementResult" },
  { id_PDCReportType, "id-PDCReportType" },
  { id_RAN_UE_PDC_MeasID, "id-RAN-UE-PDC-MeasID" },
  { id_SCGActivationRequest, "id-SCGActivationRequest" },
  { id_SCGActivationStatus, "id-SCGActivationStatus" },
  { id_PRSTRPList, "id-PRSTRPList" },
  { id_PRSTransmissionTRPList, "id-PRSTransmissionTRPList" },
  { id_OnDemandPRS, "id-OnDemandPRS" },
  { id_AoA_SearchWindow, "id-AoA-SearchWindow" },
  { id_TRP_MeasurementUpdateList, "id-TRP-MeasurementUpdateList" },
  { id_ZoAInformation, "id-ZoAInformation" },
  { id_ResponseTime, "id-ResponseTime" },
  { id_ARPLocationInfo, "id-ARPLocationInfo" },
  { id_ARP_ID, "id-ARP-ID" },
  { id_MultipleULAoA, "id-MultipleULAoA" },
  { id_UL_SRS_RSRPP, "id-UL-SRS-RSRPP" },
  { id_SRSResourcetype, "id-SRSResourcetype" },
  { id_ExtendedAdditionalPathList, "id-ExtendedAdditionalPathList" },
  { id_LoS_NLoSInformation, "id-LoS-NLoSInformation" },
  { id_Unknown_563, "id-Unknown-563" },
  { id_NumberOfTRPRxTEG, "id-NumberOfTRPRxTEG" },
  { id_NumberOfTRPRxTxTEG, "id-NumberOfTRPRxTxTEG" },
  { id_TRPTxTEGAssociation, "id-TRPTxTEGAssociation" },
  { id_TRPTEGInformation, "id-TRPTEGInformation" },
  { id_TRPRx_TEGInformation, "id-TRPRx-TEGInformation" },
  { id_TRP_PRS_Info_List, "id-TRP-PRS-Info-List" },
  { id_PRS_Measurement_Info_List, "id-PRS-Measurement-Info-List" },
  { id_PRSConfigRequestType, "id-PRSConfigRequestType" },
  { id_Unknown_572, "id-Unknown-572" },
  { id_MeasurementTimeOccasion, "id-MeasurementTimeOccasion" },
  { id_MeasurementCharacteristicsRequestIndicator, "id-MeasurementCharacteristicsRequestIndicator" },
  { id_UEReportingInformation, "id-UEReportingInformation" },
  { id_PosContextRevIndication, "id-PosContextRevIndication" },
  { id_TRPBeamAntennaInformation, "id-TRPBeamAntennaInformation" },
  { id_NRRedCapUEIndication, "id-NRRedCapUEIndication" },
  { id_Redcap_Bcast_Information, "id-Redcap-Bcast-Information" },
  { id_RANUEPagingDRX, "id-RANUEPagingDRX" },
  { id_CNUEPagingDRX, "id-CNUEPagingDRX" },
  { id_NRPagingeDRXInformation, "id-NRPagingeDRXInformation" },
  { id_NRPagingeDRXInformationforRRCINACTIVE, "id-NRPagingeDRXInformationforRRCINACTIVE" },
  { id_NR_TADV, "id-NR-TADV" },
  { id_QoEInformation, "id-QoEInformation" },
  { id_CG_SDTQueryIndication, "id-CG-SDTQueryIndication" },
  { id_SDT_MAC_PHY_CG_Config, "id-SDT-MAC-PHY-CG-Config" },
  { id_CG_SDTKeptIndicator, "id-CG-SDTKeptIndicator" },
  { id_CG_SDTindicatorSetup, "id-CG-SDTindicatorSetup" },
  { id_CG_SDTindicatorMod, "id-CG-SDTindicatorMod" },
  { id_CG_SDTSessionInfoOld, "id-CG-SDTSessionInfoOld" },
  { id_SDTInformation, "id-SDTInformation" },
  { id_SDTRLCBearerConfiguration, "id-SDTRLCBearerConfiguration" },
  { id_FiveG_ProSeAuthorized, "id-FiveG-ProSeAuthorized" },
  { id_FiveG_ProSeUEPC5AggregateMaximumBitrate, "id-FiveG-ProSeUEPC5AggregateMaximumBitrate" },
  { id_FiveG_ProSePC5LinkAMBR, "id-FiveG-ProSePC5LinkAMBR" },
  { id_SRBMappingInfo, "id-SRBMappingInfo" },
  { id_DRBMappingInfo, "id-DRBMappingInfo" },
  { id_UuRLCChannelToBeSetupList, "id-UuRLCChannelToBeSetupList" },
  { id_UuRLCChannelToBeModifiedList, "id-UuRLCChannelToBeModifiedList" },
  { id_UuRLCChannelToBeReleasedList, "id-UuRLCChannelToBeReleasedList" },
  { id_UuRLCChannelSetupList, "id-UuRLCChannelSetupList" },
  { id_UuRLCChannelFailedToBeSetupList, "id-UuRLCChannelFailedToBeSetupList" },
  { id_UuRLCChannelModifiedList, "id-UuRLCChannelModifiedList" },
  { id_UuRLCChannelFailedToBeModifiedList, "id-UuRLCChannelFailedToBeModifiedList" },
  { id_UuRLCChannelRequiredToBeModifiedList, "id-UuRLCChannelRequiredToBeModifiedList" },
  { id_UuRLCChannelRequiredToBeReleasedList, "id-UuRLCChannelRequiredToBeReleasedList" },
  { id_PC5RLCChannelToBeSetupList, "id-PC5RLCChannelToBeSetupList" },
  { id_PC5RLCChannelToBeModifiedList, "id-PC5RLCChannelToBeModifiedList" },
  { id_PC5RLCChannelToBeReleasedList, "id-PC5RLCChannelToBeReleasedList" },
  { id_PC5RLCChannelSetupList, "id-PC5RLCChannelSetupList" },
  { id_PC5RLCChannelFailedToBeSetupList, "id-PC5RLCChannelFailedToBeSetupList" },
  { id_PC5RLCChannelFailedToBeModifiedList, "id-PC5RLCChannelFailedToBeModifiedList" },
  { id_PC5RLCChannelRequiredToBeModifiedList, "id-PC5RLCChannelRequiredToBeModifiedList" },
  { id_PC5RLCChannelRequiredToBeReleasedList, "id-PC5RLCChannelRequiredToBeReleasedList" },
  { id_PC5RLCChannelModifiedList, "id-PC5RLCChannelModifiedList" },
  { id_SidelinkRelayConfiguration, "id-SidelinkRelayConfiguration" },
  { id_UpdatedRemoteUELocalID, "id-UpdatedRemoteUELocalID" },
  { id_PathSwitchConfiguration, "id-PathSwitchConfiguration" },
  { id_PagingCause, "id-PagingCause" },
  { id_MUSIM_GapConfig, "id-MUSIM-GapConfig" },
  { id_PEIPSAssistanceInfo, "id-PEIPSAssistanceInfo" },
  { id_UEPagingCapability, "id-UEPagingCapability" },
  { id_LastUsedCellIndication, "id-LastUsedCellIndication" },
  { id_SIB17_message, "id-SIB17-message" },
  { id_GNBDUUESliceMaximumBitRateList, "id-GNBDUUESliceMaximumBitRateList" },
  { id_SIB20_message, "id-SIB20-message" },
  { id_UE_MulticastMRBs_ToBeReleased_List, "id-UE-MulticastMRBs-ToBeReleased-List" },
  { id_UE_MulticastMRBs_ToBeReleased_Item, "id-UE-MulticastMRBs-ToBeReleased-Item" },
  { id_UE_MulticastMRBs_ToBeSetup_List, "id-UE-MulticastMRBs-ToBeSetup-List" },
  { id_UE_MulticastMRBs_ToBeSetup_Item, "id-UE-MulticastMRBs-ToBeSetup-Item" },
  { id_MulticastMBSSessionSetupList, "id-MulticastMBSSessionSetupList" },
  { id_MulticastMBSSessionRemoveList, "id-MulticastMBSSessionRemoveList" },
  { id_PosMeasurementAmount, "id-PosMeasurementAmount" },
  { id_SDT_Termination_Request, "id-SDT-Termination-Request" },
  { id_pathPower, "id-pathPower" },
  { id_DU_RX_MT_RX_Extend, "id-DU-RX-MT-RX-Extend" },
  { id_DU_TX_MT_TX_Extend, "id-DU-TX-MT-TX-Extend" },
  { id_DU_RX_MT_TX_Extend, "id-DU-RX-MT-TX-Extend" },
  { id_DU_TX_MT_RX_Extend, "id-DU-TX-MT-RX-Extend" },
  { id_BAP_Header_Rewriting_Removed_List, "id-BAP-Header-Rewriting-Removed-List" },
  { id_BAP_Header_Rewriting_Removed_List_Item, "id-BAP-Header-Rewriting-Removed-List-Item" },
  { id_SLDRXCycleList, "id-SLDRXCycleList" },
  { id_TAINSAGSupportList, "id-TAINSAGSupportList" },
  { id_SL_RLC_ChannelToAddModList, "id-SL-RLC-ChannelToAddModList" },
  { id_BroadcastAreaScope, "id-BroadcastAreaScope" },
  { id_ManagementBasedMDTPLMNModificationList, "id-ManagementBasedMDTPLMNModificationList" },
  { id_SIB15_message, "id-SIB15-message" },
  { id_ActivationRequestType, "id-ActivationRequestType" },
  { id_PosMeasGapPreConfigList, "id-PosMeasGapPreConfigList" },
  { id_InterFrequencyConfig_NoGap, "id-InterFrequencyConfig-NoGap" },
  { id_MBSInterestIndication, "id-MBSInterestIndication" },
  { id_UE_MulticastMRBs_ConfirmedToBeModified_List, "id-UE-MulticastMRBs-ConfirmedToBeModified-List" },
  { id_UE_MulticastMRBs_ConfirmedToBeModified_Item, "id-UE-MulticastMRBs-ConfirmedToBeModified-Item" },
  { id_UE_MulticastMRBs_RequiredToBeModified_List, "id-UE-MulticastMRBs-RequiredToBeModified-List" },
  { id_UE_MulticastMRBs_RequiredToBeModified_Item, "id-UE-MulticastMRBs-RequiredToBeModified-Item" },
  { id_UE_MulticastMRBs_RequiredToBeReleased_List, "id-UE-MulticastMRBs-RequiredToBeReleased-List" },
  { id_UE_MulticastMRBs_RequiredToBeReleased_Item, "id-UE-MulticastMRBs-RequiredToBeReleased-Item" },
  { id_L571Info, "id-L571Info" },
  { id_L1151Info, "id-L1151Info" },
  { id_SCS_480, "id-SCS-480" },
  { id_SCS_960, "id-SCS-960" },
  { id_SRSPortIndex, "id-SRSPortIndex" },
  { id_PEISubgroupingSupportIndication, "id-PEISubgroupingSupportIndication" },
  { id_NeedForGapsInfoNR, "id-NeedForGapsInfoNR" },
  { id_NeedForGapNCSGInfoNR, "id-NeedForGapNCSGInfoNR" },
  { id_NeedForGapNCSGInfoEUTRA, "id-NeedForGapNCSGInfoEUTRA" },
  { id_ProtocolIE_ID_668_not_to_be_used, "id-ProtocolIE-ID-668-not-to-be-used" },
  { id_ProtocolIE_ID_669_not_to_be_used, "id-ProtocolIE-ID-669-not-to-be-used" },
  { id_ProtocolIE_ID_670_not_to_be_used, "id-ProtocolIE-ID-670-not-to-be-used" },
  { id_Source_MRB_ID, "id-Source-MRB-ID" },
  { id_PosMeasurementPeriodicityNR_AoA, "id-PosMeasurementPeriodicityNR-AoA" },
  { id_RedCapIndication, "id-RedCapIndication" },
  { id_SRSPosRRCInactiveConfig, "id-SRSPosRRCInactiveConfig" },
  { id_SDTBearerConfigurationQueryIndication, "id-SDTBearerConfigurationQueryIndication" },
  { id_SDTBearerConfigurationInfo, "id-SDTBearerConfigurationInfo" },
  { id_UL_GapFR2_Config, "id-UL-GapFR2-Config" },
  { id_ConfigRestrictInfoDAPS, "id-ConfigRestrictInfoDAPS" },
  { id_UE_MulticastMRBs_Setup_List, "id-UE-MulticastMRBs-Setup-List" },
  { id_UE_MulticastMRBs_Setup_Item, "id-UE-MulticastMRBs-Setup-Item" },
  { id_MulticastF1UContextReferenceCU, "id-MulticastF1UContextReferenceCU" },
  { id_PosSItypeList, "id-PosSItypeList" },
  { id_DAPS_HO_Status, "id-DAPS-HO-Status" },
  { id_UplinkTxDirectCurrentTwoCarrierListInfo, "id-UplinkTxDirectCurrentTwoCarrierListInfo" },
  { id_UE_MulticastMRBs_ToBeSetup_atModify_List, "id-UE-MulticastMRBs-ToBeSetup-atModify-List" },
  { id_UE_MulticastMRBs_ToBeSetup_atModify_Item, "id-UE-MulticastMRBs-ToBeSetup-atModify-Item" },
  { id_MC_PagingCell_List, "id-MC-PagingCell-List" },
  { id_MC_PagingCell_Item, "id-MC-PagingCell-Item" },
  { id_SRSPosRRCInactiveQueryIndication, "id-SRSPosRRCInactiveQueryIndication" },
  { id_UlTxDirectCurrentMoreCarrierInformation, "id-UlTxDirectCurrentMoreCarrierInformation" },
  { id_CPACMCGInformation, "id-CPACMCGInformation" },
  { id_TwoPHRModeMCG, "id-TwoPHRModeMCG" },
  { id_TwoPHRModeSCG, "id-TwoPHRModeSCG" },
  { id_ExtendedUEIdentityIndexValue, "id-ExtendedUEIdentityIndexValue" },
  { id_ServingCellMO_List, "id-ServingCellMO-List" },
  { id_ServingCellMO_List_Item, "id-ServingCellMO-List-Item" },
  { id_ServingCellMO_encoded_in_CGC_List, "id-ServingCellMO-encoded-in-CGC-List" },
  { id_HashedUEIdentityIndexValue, "id-HashedUEIdentityIndexValue" },
  { id_UE_MulticastMRBs_Setupnew_List, "id-UE-MulticastMRBs-Setupnew-List" },
  { id_UE_MulticastMRBs_Setupnew_Item, "id-UE-MulticastMRBs-Setupnew-Item" },
  { id_ncd_SSB_RedCapInitialBWP_SDT, "id-ncd-SSB-RedCapInitialBWP-SDT" },
  { id_nrofSymbolsExtended, "id-nrofSymbolsExtended" },
  { id_repetitionFactorExtended, "id-repetitionFactorExtended" },
  { id_startRBHopping, "id-startRBHopping" },
  { id_startRBIndex, "id-startRBIndex" },
  { id_transmissionCombn8, "id-transmissionCombn8" },
  { id_ServCellInfoList, "id-ServCellInfoList" },
  { id_DedicatedSIDeliveryIndication, "id-DedicatedSIDeliveryIndication" },
  { id_Configured_BWP_List, "id-Configured-BWP-List" },
  { id_Preconfigured_measurement_GAP_Request, "id-Preconfigured-measurement-GAP-Request" },
  { id_BWP_Id, "id-BWP-Id" },
  { id_NetworkControlledRepeaterAuthorized, "id-NetworkControlledRepeaterAuthorized" },
  { id_MT_SDT_Information, "id-MT-SDT-Information" },
  { id_ExtendedResourceSymbolOffset, "id-ExtendedResourceSymbolOffset" },
  { id_NeedForInterruptionInfoNR, "id-NeedForInterruptionInfoNR" },
  { id_SDT_Volume_Threshold, "id-SDT-Volume-Threshold" },
  { id_SupportedUETypeList, "id-SupportedUETypeList" },
  { id_MusimCapabilityRestrictionIndication, "id-MusimCapabilityRestrictionIndication" },
  { id_duplicationIndication, "id-duplicationIndication" },
  { id_LTMInformation_Setup, "id-LTMInformation-Setup" },
  { id_LTMConfigurationIDMappingList, "id-LTMConfigurationIDMappingList" },
  { id_LTMInformation_Modify, "id-LTMInformation-Modify" },
  { id_LTMCells_ToBeReleased_List, "id-LTMCells-ToBeReleased-List" },
  { id_ProtocolIE_ID_724_not_to_be_used, "id-ProtocolIE-ID-724-not-to-be-used" },
  { id_LTMConfiguration, "id-LTMConfiguration" },
  { id_EarlySyncInformation_Request, "id-EarlySyncInformation-Request" },
  { id_EarlySyncInformation, "id-EarlySyncInformation" },
  { id_EarlySyncCandidateCellInformation_List, "id-EarlySyncCandidateCellInformation-List" },
  { id_LTMCellSwitchInformation, "id-LTMCellSwitchInformation" },
  { id_DUtoCUTAInformation_List, "id-DUtoCUTAInformation-List" },
  { id_ProtocolIE_ID_731_not_to_be_used, "id-ProtocolIE-ID-731-not-to-be-used" },
  { id_dRB_List, "id-dRB-List" },
  { id_DeactivationIndication, "id-DeactivationIndication" },
  { id_RAReportIndicationList, "id-RAReportIndicationList" },
  { id_ChannelOccupancyTimePercentageUL, "id-ChannelOccupancyTimePercentageUL" },
  { id_SuccessfulPSCellChangeReportInformationList, "id-SuccessfulPSCellChangeReportInformationList" },
  { id_RadioResourceStatusNR_U, "id-RadioResourceStatusNR-U" },
  { id_FiveG_ProSeLayer2Multipath, "id-FiveG-ProSeLayer2Multipath" },
  { id_FiveG_ProSeLayer2UEtoUERelay, "id-FiveG-ProSeLayer2UEtoUERelay" },
  { id_FiveG_ProSeLayer2UEtoUERemote, "id-FiveG-ProSeLayer2UEtoUERemote" },
  { id_PathAdditionInformation, "id-PathAdditionInformation" },
  { id_Recommended_SSBs_List, "id-Recommended-SSBs-List" },
  { id_Recommended_SSBs_for_Paging_List, "id-Recommended-SSBs-for-Paging-List" },
  { id_SSBs_withinTheCell_tobe_Activated_List, "id-SSBs-withinTheCell-tobe-Activated-List" },
  { id_Cells_With_SSBs_Activated_List, "id-Cells-With-SSBs-Activated-List" },
  { id_Cells_Allowed_to_be_Deactivated_List, "id-Cells-Allowed-to-be-Deactivated-List" },
  { id_Cells_Allowed_to_be_Deactivated_List_Item, "id-Cells-Allowed-to-be-Deactivated-List-Item" },
  { id_Coverage_Modification_Cause, "id-Coverage-Modification-Cause" },
  { id_RANTSSRequestType, "id-RANTSSRequestType" },
  { id_RANTimingSynchronisationStatusInfo, "id-RANTimingSynchronisationStatusInfo" },
  { id_TSCTrafficCharacteristicsFeedback, "id-TSCTrafficCharacteristicsFeedback" },
  { id_RANfeedbacktype, "id-RANfeedbacktype" },
  { id_Mobile_TRP_LocationInformation, "id-Mobile-TRP-LocationInformation" },
  { id_Mobile_IAB_MT_UE_ID, "id-Mobile-IAB-MT-UE-ID" },
  { id_Target_gNB_ID, "id-Target-gNB-ID" },
  { id_Target_gNB_IP_address, "id-Target-gNB-IP-address" },
  { id_Target_SeGW_IP_address, "id-Target-SeGW-IP-address" },
  { id_Activated_Cells_Mapping_List, "id-Activated-Cells-Mapping-List" },
  { id_Activated_Cells_Mapping_List_Item, "id-Activated-Cells-Mapping-List-Item" },
  { id_F1SetupOutcome, "id-F1SetupOutcome" },
  { id_RRC_Terminating_IAB_Donor_Related_Info, "id-RRC-Terminating-IAB-Donor-Related-Info" },
  { id_RRC_Terminating_IAB_Donor_gNB_ID, "id-RRC-Terminating-IAB-Donor-gNB-ID" },
  { id_NCGI_to_be_Updated_List, "id-NCGI-to-be-Updated-List" },
  { id_NCGI_to_be_Updated_List_Item, "id-NCGI-to-be-Updated-List-Item" },
  { id_Mobile_IAB_MTUserLocationInformation, "id-Mobile-IAB-MTUserLocationInformation" },
  { id_MobileAccessPointLocation, "id-MobileAccessPointLocation" },
  { id_AssociatedSessionID, "id-AssociatedSessionID" },
  { id_IndicationMCInactiveReception, "id-IndicationMCInactiveReception" },
  { id_MulticastCU2DURRCInfo, "id-MulticastCU2DURRCInfo" },
  { id_MBSMulticastSessionReceptionState, "id-MBSMulticastSessionReceptionState" },
  { id_F1UTunnelNotEstablished, "id-F1UTunnelNotEstablished" },
  { id_MulticastDU2CURRCInfo, "id-MulticastDU2CURRCInfo" },
  { id_SIB24_message, "id-SIB24-message" },
  { id_MulticastCU2DUCommonRRCInfo, "id-MulticastCU2DUCommonRRCInfo" },
  { id_PDUSetQoSParameters, "id-PDUSetQoSParameters" },
  { id_N6JitterInformation, "id-N6JitterInformation" },
  { id_ECNMarkingorCongestionInformationReportingRequest, "id-ECNMarkingorCongestionInformationReportingRequest" },
  { id_ECNMarkingorCongestionInformationReportingStatus, "id-ECNMarkingorCongestionInformationReportingStatus" },
  { id_NRA2XServicesAuthorized, "id-NRA2XServicesAuthorized" },
  { id_LTEA2XServicesAuthorized, "id-LTEA2XServicesAuthorized" },
  { id_NRUESidelinkAggregateMaximumBitrateForA2X, "id-NRUESidelinkAggregateMaximumBitrateForA2X" },
  { id_LTEUESidelinkAggregateMaximumBitrateForA2X, "id-LTEUESidelinkAggregateMaximumBitrateForA2X" },
  { id_NReRedCapUEIndication, "id-NReRedCapUEIndication" },
  { id_ERedcap_Bcast_Information, "id-ERedcap-Bcast-Information" },
  { id_NRPaginglongeDRXInformationforRRCINACTIVE, "id-NRPaginglongeDRXInformationforRRCINACTIVE" },
  { id_SCPAC_Request, "id-SCPAC-Request" },
  { id_Target_F1_Terminating_Donor_gNB_ID, "id-Target-F1-Terminating-Donor-gNB-ID" },
  { id_MobileIAB_Barred, "id-MobileIAB-Barred" },
  { id_Broadcast_MRBs_Transport_Request_List, "id-Broadcast-MRBs-Transport-Request-List" },
  { id_Broadcast_MRBs_Transport_Request_Item, "id-Broadcast-MRBs-Transport-Request-Item" },
  { id_S_CPACLowerLayerReferenceConfigRequest, "id-S-CPACLowerLayerReferenceConfigRequest" },
  { id_S_CPAC_Configuration, "id-S-CPAC-Configuration" },
  { id_MusimCandidateBandList, "id-MusimCandidateBandList" },
  { id_DLLBTFailureInformationRequest, "id-DLLBTFailureInformationRequest" },
  { id_DLLBTFailureInformationList, "id-DLLBTFailureInformationList" },
  { id_PSIbasedSDUdiscardUL, "id-PSIbasedSDUdiscardUL" },
  { id_SIB22_message, "id-SIB22-message" },
  { id_CUtoDUTAInformation_List, "id-CUtoDUTAInformation-List" },
  { id_U2URLCChannelQoS, "id-U2URLCChannelQoS" },
  { id_SL_PHY_MAC_RLC_ConfigExt, "id-SL-PHY-MAC-RLC-ConfigExt" },
  { id_SLPositioning_Ranging_Service_Info, "id-SLPositioning-Ranging-Service-Info" },
  { id_TimeWindowInformation_SRS_List, "id-TimeWindowInformation-SRS-List" },
  { id_TimeWindowInformation_Measurement_List, "id-TimeWindowInformation-Measurement-List" },
  { id_UL_RSCP, "id-UL-RSCP" },
  { id_BW_Aggregation_Request_Indication, "id-BW-Aggregation-Request-Indication" },
  { id_ReportingGranularitykminus1, "id-ReportingGranularitykminus1" },
  { id_ReportingGranularitykminus2, "id-ReportingGranularitykminus2" },
  { id_ReportingGranularitykminus1additionalpath, "id-ReportingGranularitykminus1additionalpath" },
  { id_ReportingGranularitykminus2additionalpath, "id-ReportingGranularitykminus2additionalpath" },
  { id_TimingReportingGranularityFactorExtended, "id-TimingReportingGranularityFactorExtended" },
  { id_SRSPosRRCInactiveValidityAreaConfig, "id-SRSPosRRCInactiveValidityAreaConfig" },
  { id_PosValidityAreaCellList, "id-PosValidityAreaCellList" },
  { id_SRSReservationType, "id-SRSReservationType" },
  { id_SymbolIndex, "id-SymbolIndex" },
  { id_PRSBandwidthAggregationRequestIndication, "id-PRSBandwidthAggregationRequestIndication" },
  { id_AggregatedPosSRSResourceIDList, "id-AggregatedPosSRSResourceIDList" },
  { id_AggregatedPRSResourceSetList, "id-AggregatedPRSResourceSetList" },
  { id_PhaseQuality, "id-PhaseQuality" },
  { id_MeasuredFrequencyHops, "id-MeasuredFrequencyHops" },
  { id_TxHoppingConfiguration, "id-TxHoppingConfiguration" },
  { id_ReportingGranularitykminus3, "id-ReportingGranularitykminus3" },
  { id_ReportingGranularitykminus4, "id-ReportingGranularitykminus4" },
  { id_ReportingGranularitykminus5, "id-ReportingGranularitykminus5" },
  { id_ReportingGranularitykminus6, "id-ReportingGranularitykminus6" },
  { id_ReportingGranularitykminus3additionalpath, "id-ReportingGranularitykminus3additionalpath" },
  { id_ReportingGranularitykminus4additionalpath, "id-ReportingGranularitykminus4additionalpath" },
  { id_ReportingGranularitykminus5additionalpath, "id-ReportingGranularitykminus5additionalpath" },
  { id_ReportingGranularitykminus6additionalpath, "id-ReportingGranularitykminus6additionalpath" },
  { id_AggregatedPosSRSResourceSetList, "id-AggregatedPosSRSResourceSetList" },
  { id_RequestedSRSPreconfigurationCharacteristics_List, "id-RequestedSRSPreconfigurationCharacteristics-List" },
  { id_SRSPreconfiguration_List, "id-SRSPreconfiguration-List" },
  { id_SRSInformation, "id-SRSInformation" },
  { id_ValidityAreaSpecificSRSInformation, "id-ValidityAreaSpecificSRSInformation" },
  { id_E_CID_MeasuredResultsAssociatedInfoList, "id-E-CID-MeasuredResultsAssociatedInfoList" },
  { id_XR_Bcast_Information, "id-XR-Bcast-Information" },
  { id_MaxDataBurstVolume, "id-MaxDataBurstVolume" },
  { id_TAInformation_List, "id-TAInformation-List" },
  { id_NonIntegerDRXCycle, "id-NonIntegerDRXCycle" },
  { id_PointA, "id-PointA" },
  { id_SCS_SpecificCarrier, "id-SCS-SpecificCarrier" },
  { id_NR_PCI, "id-NR-PCI" },
  { id_PeerUE_ID, "id-PeerUE-ID" },
  { id_EarlySyncServingCellInformation, "id-EarlySyncServingCellInformation" },
  { id_RANSharingAssistanceInformation, "id-RANSharingAssistanceInformation" },
  { id_LTMCFRAResourceConfig_List, "id-LTMCFRAResourceConfig-List" },
  { id_F1U_PathFailure, "id-F1U-PathFailure" },
  { id_MeasBasedOnAggregatedResources, "id-MeasBasedOnAggregatedResources" },
  { id_SIB23_message, "id-SIB23-message" },
  { 0, NULL }
};

static value_string_ext f1ap_ProtocolIE_ID_vals_ext = VALUE_STRING_EXT_INIT(f1ap_ProtocolIE_ID_vals);


static int
dissect_f1ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 65535U, &f1ap_data->protocol_ie_id, false);



  if (tree) {
    proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
                           val_to_str_ext(f1ap_data->protocol_ie_id, &f1ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
  }

  return offset;
}


static const value_string f1ap_TriggeringMessage_vals[] = {
  {   0, "initiating-message" },
  {   1, "successful-outcome" },
  {   2, "unsuccessful-outcome" },
  { 0, NULL }
};


static int
dissect_f1ap_TriggeringMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, false, 0, NULL);

  return offset;
}



static int
dissect_f1ap_T_ie_field_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolIEFieldValue);

  return offset;
}


static const per_sequence_t ProtocolIE_Field_sequence[] = {
  { &hf_f1ap_id             , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_ID },
  { &hf_f1ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality },
  { &hf_f1ap_ie_field_value , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_ie_field_value },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ProtocolIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ProtocolIE_Field, ProtocolIE_Field_sequence);

  return offset;
}


static const per_sequence_t ProtocolIE_Container_sequence_of[1] = {
  { &hf_f1ap_ProtocolIE_Container_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Field },
};

static int
dissect_f1ap_ProtocolIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_ProtocolIE_Container, ProtocolIE_Container_sequence_of,
                                                  0, maxProtocolIEs, false);

  return offset;
}



static int
dissect_f1ap_ProtocolIE_SingleContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_f1ap_ProtocolIE_Field(tvb, offset, actx, tree, hf_index);

  return offset;
}



static int
dissect_f1ap_T_extensionValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_ProtocolExtensionFieldExtensionValue);

  return offset;
}


static const per_sequence_t ProtocolExtensionField_sequence[] = {
  { &hf_f1ap_ext_id         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolExtensionID },
  { &hf_f1ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality },
  { &hf_f1ap_extensionValue , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_extensionValue },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ProtocolExtensionField(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ProtocolExtensionField, ProtocolExtensionField_sequence);

  return offset;
}


static const per_sequence_t ProtocolExtensionContainer_sequence_of[1] = {
  { &hf_f1ap_ProtocolExtensionContainer_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolExtensionField },
};

static int
dissect_f1ap_ProtocolExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_ProtocolExtensionContainer, ProtocolExtensionContainer_sequence_of,
                                                  1, maxProtocolExtensions, false);

  return offset;
}



static int
dissect_f1ap_T_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  if (f1ap_data->obj_id) {
    offset = call_per_oid_callback(f1ap_data->obj_id, tvb, actx->pinfo, tree, offset, actx, hf_index);
  } else {
  offset = dissect_per_open_type(tvb, offset, actx, tree, hf_index, NULL);

  }


  return offset;
}


static const per_sequence_t PrivateIE_Field_sequence[] = {
  { &hf_f1ap_private_id     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PrivateIE_ID },
  { &hf_f1ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality },
  { &hf_f1ap_value          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_value },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PrivateIE_Field(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PrivateIE_Field, PrivateIE_Field_sequence);

  return offset;
}


static const per_sequence_t PrivateIE_Container_sequence_of[1] = {
  { &hf_f1ap_PrivateIE_Container_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PrivateIE_Field },
};

static int
dissect_f1ap_PrivateIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PrivateIE_Container, PrivateIE_Container_sequence_of,
                                                  1, maxPrivateIEs, false);

  return offset;
}



static int
dissect_f1ap_SRSResourceSetID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 15U, NULL, true);

  return offset;
}



static int
dissect_f1ap_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_null(tvb, offset, actx, tree, hf_index);

  return offset;
}


static const value_string f1ap_AbortTransmission_vals[] = {
  {   0, "sRSResourceSetID" },
  {   1, "releaseALL" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t AbortTransmission_choice[] = {
  {   0, &hf_f1ap_sRSResourceSetID, ASN1_NO_EXTENSIONS     , dissect_f1ap_SRSResourceSetID },
  {   1, &hf_f1ap_releaseALL     , ASN1_NO_EXTENSIONS     , dissect_f1ap_NULL },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_AbortTransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_AbortTransmission, AbortTransmission_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_T_latitudeSign_vals[] = {
  {   0, "north" },
  {   1, "south" },
  { 0, NULL }
};


static int
dissect_f1ap_T_latitudeSign(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, false, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_8388607(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 8388607U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_M8388608_8388607(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -8388608, 8388607U, NULL, false);

  return offset;
}


static const value_string f1ap_T_directionOfAltitude_vals[] = {
  {   0, "height" },
  {   1, "depth" },
  { 0, NULL }
};


static int
dissect_f1ap_T_directionOfAltitude(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, false, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 32767U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 127U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_179(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 179U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_100(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 100U, NULL, false);

  return offset;
}


static const per_sequence_t AccessPointPosition_sequence[] = {
  { &hf_f1ap_latitudeSign   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_latitudeSign },
  { &hf_f1ap_latitude       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_8388607 },
  { &hf_f1ap_longitude      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M8388608_8388607 },
  { &hf_f1ap_directionOfAltitude, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_directionOfAltitude },
  { &hf_f1ap_altitude       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_32767 },
  { &hf_f1ap_uncertaintySemi_major, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_127 },
  { &hf_f1ap_uncertaintySemi_minor, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_127 },
  { &hf_f1ap_orientationOfMajorAxis, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_179 },
  { &hf_f1ap_uncertaintyAltitude, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_127 },
  { &hf_f1ap_confidence     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AccessPointPosition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AccessPointPosition, AccessPointPosition_sequence);

  return offset;
}



static int
dissect_f1ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  e212_number_type_t number_type = f1ap_data->number_type;
  f1ap_data->number_type = E212_NONE;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       3, 3, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_PLMN_Identity);
    dissect_e212_mcc_mnc(param_tvb, actx->pinfo, subtree, 0, number_type, false);
  }


  return offset;
}



static int
dissect_f1ap_NRCellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     36, 36, false, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t NRCGI_sequence[] = {
  { &hf_f1ap_pLMN_Identity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_nRCellIdentity , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCellIdentity },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NRCGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  f1ap_data->number_type = E212_NRCGI;
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NRCGI, NRCGI_sequence);



  return offset;
}


static const per_sequence_t Activated_Cells_Mapping_List_Item_sequence[] = {
  { &hf_f1ap_nRCGIforTargetLogicalDU, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_nRCGIforSourceLogicalDU, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Activated_Cells_Mapping_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Activated_Cells_Mapping_List_Item, Activated_Cells_Mapping_List_Item_sequence);

  return offset;
}


static const value_string f1ap_SubcarrierSpacing_vals[] = {
  {   0, "kHz15" },
  {   1, "kHz30" },
  {   2, "kHz60" },
  {   3, "kHz120" },
  {   4, "kHz240" },
  {   5, "spare3" },
  {   6, "spare2" },
  {   7, "spare1" },
  { 0, NULL }
};


static int
dissect_f1ap_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_DUFTransmissionPeriodicity_vals[] = {
  {   0, "ms0p5" },
  {   1, "ms0p625" },
  {   2, "ms1" },
  {   3, "ms1p25" },
  {   4, "ms2" },
  {   5, "ms2p5" },
  {   6, "ms5" },
  {   7, "ms10" },
  { 0, NULL }
};


static int
dissect_f1ap_DUFTransmissionPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_Permutation_vals[] = {
  {   0, "dfu" },
  {   1, "ufd" },
  { 0, NULL }
};


static int
dissect_f1ap_Permutation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_NoofDownlinkSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 14U, NULL, false);

  return offset;
}



static int
dissect_f1ap_NoofUplinkSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 14U, NULL, false);

  return offset;
}


static const per_sequence_t ExplicitFormat_sequence[] = {
  { &hf_f1ap_permutation    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Permutation },
  { &hf_f1ap_noofDownlinkSymbols, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_NoofDownlinkSymbols },
  { &hf_f1ap_noofUplinkSymbols, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_NoofUplinkSymbols },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ExplicitFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ExplicitFormat, ExplicitFormat_sequence);

  return offset;
}



static int
dissect_f1ap_DUFSlotformatIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 254U, NULL, false);

  return offset;
}


static const per_sequence_t ImplicitFormat_sequence[] = {
  { &hf_f1ap_dUFSlotformatIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DUFSlotformatIndex },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ImplicitFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ImplicitFormat, ImplicitFormat_sequence);

  return offset;
}


static const value_string f1ap_DUF_Slot_Config_Item_vals[] = {
  {   0, "explicitFormat" },
  {   1, "implicitFormat" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t DUF_Slot_Config_Item_choice[] = {
  {   0, &hf_f1ap_explicitFormat , ASN1_NO_EXTENSIONS     , dissect_f1ap_ExplicitFormat },
  {   1, &hf_f1ap_implicitFormat , ASN1_NO_EXTENSIONS     , dissect_f1ap_ImplicitFormat },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_DUF_Slot_Config_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_DUF_Slot_Config_Item, DUF_Slot_Config_Item_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DUF_Slot_Config_List_sequence_of[1] = {
  { &hf_f1ap_DUF_Slot_Config_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DUF_Slot_Config_Item },
};

static int
dissect_f1ap_DUF_Slot_Config_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DUF_Slot_Config_List, DUF_Slot_Config_List_sequence_of,
                                                  1, maxnoofDUFSlots, false);

  return offset;
}


static const value_string f1ap_HSNATransmissionPeriodicity_vals[] = {
  {   0, "ms0p5" },
  {   1, "ms0p625" },
  {   2, "ms1" },
  {   3, "ms1p25" },
  {   4, "ms2" },
  {   5, "ms2p5" },
  {   6, "ms5" },
  {   7, "ms10" },
  {   8, "ms20" },
  {   9, "ms40" },
  {  10, "ms80" },
  {  11, "ms160" },
  { 0, NULL }
};


static int
dissect_f1ap_HSNATransmissionPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     12, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_HSNADownlink_vals[] = {
  {   0, "hard" },
  {   1, "soft" },
  {   2, "notavailable" },
  { 0, NULL }
};


static int
dissect_f1ap_HSNADownlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, false, 0, NULL);

  return offset;
}


static const value_string f1ap_HSNAUplink_vals[] = {
  {   0, "hard" },
  {   1, "soft" },
  {   2, "notavailable" },
  { 0, NULL }
};


static int
dissect_f1ap_HSNAUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, false, 0, NULL);

  return offset;
}


static const value_string f1ap_HSNAFlexible_vals[] = {
  {   0, "hard" },
  {   1, "soft" },
  {   2, "notavailable" },
  { 0, NULL }
};


static int
dissect_f1ap_HSNAFlexible(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, false, 0, NULL);

  return offset;
}


static const per_sequence_t HSNASlotConfigItem_sequence[] = {
  { &hf_f1ap_hSNADownlink   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_HSNADownlink },
  { &hf_f1ap_hSNAUplink     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_HSNAUplink },
  { &hf_f1ap_hSNAFlexible   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_HSNAFlexible },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_HSNASlotConfigItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_HSNASlotConfigItem, HSNASlotConfigItem_sequence);

  return offset;
}


static const per_sequence_t HSNASlotConfigList_sequence_of[1] = {
  { &hf_f1ap_HSNASlotConfigList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_HSNASlotConfigItem },
};

static int
dissect_f1ap_HSNASlotConfigList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_HSNASlotConfigList, HSNASlotConfigList_sequence_of,
                                                  1, maxnoofHSNASlots, false);

  return offset;
}


static const per_sequence_t GNB_DU_Cell_Resource_Configuration_sequence[] = {
  { &hf_f1ap_subcarrierSpacing_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SubcarrierSpacing },
  { &hf_f1ap_dUFTransmissionPeriodicity, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_DUFTransmissionPeriodicity },
  { &hf_f1ap_dUF_Slot_Config_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_DUF_Slot_Config_List },
  { &hf_f1ap_hSNATransmissionPeriodicity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_HSNATransmissionPeriodicity },
  { &hf_f1ap_hsNSASlotConfigList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_HSNASlotConfigList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNB_DU_Cell_Resource_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNB_DU_Cell_Resource_Configuration, GNB_DU_Cell_Resource_Configuration_sequence);

  return offset;
}


static const per_sequence_t IAB_DU_Cell_Resource_Configuration_FDD_Info_sequence[] = {
  { &hf_f1ap_gNB_DU_Cell_Resource_Configuration_FDD_UL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_Cell_Resource_Configuration },
  { &hf_f1ap_gNB_DU_Cell_Resource_Configuration_FDD_DL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_Cell_Resource_Configuration },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IAB_DU_Cell_Resource_Configuration_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IAB_DU_Cell_Resource_Configuration_FDD_Info, IAB_DU_Cell_Resource_Configuration_FDD_Info_sequence);

  return offset;
}


static const per_sequence_t IAB_DU_Cell_Resource_Configuration_TDD_Info_sequence[] = {
  { &hf_f1ap_gNB_DU_Cell_Resourc_Configuration_TDD, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_Cell_Resource_Configuration },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IAB_DU_Cell_Resource_Configuration_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IAB_DU_Cell_Resource_Configuration_TDD_Info, IAB_DU_Cell_Resource_Configuration_TDD_Info_sequence);

  return offset;
}


static const value_string f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info_vals[] = {
  {   0, "fDD" },
  {   1, "tDD" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t IAB_DU_Cell_Resource_Configuration_Mode_Info_choice[] = {
  {   0, &hf_f1ap_fDD_02         , ASN1_NO_EXTENSIONS     , dissect_f1ap_IAB_DU_Cell_Resource_Configuration_FDD_Info },
  {   1, &hf_f1ap_tDD_02         , ASN1_NO_EXTENSIONS     , dissect_f1ap_IAB_DU_Cell_Resource_Configuration_TDD_Info },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info, IAB_DU_Cell_Resource_Configuration_Mode_Info_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t Activated_Cells_to_be_Updated_List_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iAB_DU_Cell_Resource_Configuration_Mode_Info, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Activated_Cells_to_be_Updated_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Activated_Cells_to_be_Updated_List_Item, Activated_Cells_to_be_Updated_List_Item_sequence);

  return offset;
}


static const per_sequence_t Activated_Cells_to_be_Updated_List_sequence_of[1] = {
  { &hf_f1ap_Activated_Cells_to_be_Updated_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Activated_Cells_to_be_Updated_List_Item },
};

static int
dissect_f1ap_Activated_Cells_to_be_Updated_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Activated_Cells_to_be_Updated_List, Activated_Cells_to_be_Updated_List_sequence_of,
                                                  1, maxnoofServedCellsIAB, false);

  return offset;
}


static const value_string f1ap_ActivationRequestType_vals[] = {
  {   0, "activate" },
  {   1, "deactivate" },
  { 0, NULL }
};


static int
dissect_f1ap_ActivationRequestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_37949_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 37949U, NULL, true);

  return offset;
}


static const value_string f1ap_T_subcarrierSpacing_vals[] = {
  {   0, "kHz15" },
  {   1, "kHz30" },
  {   2, "kHz60" },
  {   3, "kHz120" },
  {   4, "kHz480" },
  {   5, "kHz960" },
  { 0, NULL }
};


static int
dissect_f1ap_T_subcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 2, NULL);

  return offset;
}


static const value_string f1ap_T_cyclicPrefix_vals[] = {
  {   0, "normal" },
  {   1, "extended" },
  { 0, NULL }
};


static int
dissect_f1ap_T_cyclicPrefix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, false, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_3301_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3301U, NULL, true);

  return offset;
}


static const value_string f1ap_T_shift7dot5kHz_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_T_shift7dot5kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_SRSResourceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 63U, NULL, false);

  return offset;
}


static const value_string f1ap_T_nrofSRS_Ports_vals[] = {
  {   0, "port1" },
  {   1, "ports2" },
  {   2, "ports4" },
  { 0, NULL }
};


static int
dissect_f1ap_T_nrofSRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, false, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7U, NULL, false);

  return offset;
}


static const per_sequence_t T_n2_sequence[] = {
  { &hf_f1ap_combOffset_n2  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_1 },
  { &hf_f1ap_cyclicShift_n2 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_7 },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_T_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_T_n2, T_n2_sequence);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 11U, NULL, false);

  return offset;
}


static const per_sequence_t T_n4_sequence[] = {
  { &hf_f1ap_combOffset_n4  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3 },
  { &hf_f1ap_cyclicShift_n4 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_11 },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_T_n4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_T_n4, T_n4_sequence);

  return offset;
}


static const value_string f1ap_TransmissionComb_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t TransmissionComb_choice[] = {
  {   0, &hf_f1ap_n2             , ASN1_NO_EXTENSIONS     , dissect_f1ap_T_n2 },
  {   1, &hf_f1ap_n4             , ASN1_NO_EXTENSIONS     , dissect_f1ap_T_n4 },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_TransmissionComb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_TransmissionComb, TransmissionComb_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 13U, NULL, false);

  return offset;
}


static const value_string f1ap_T_nrofSymbols_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_f1ap_T_nrofSymbols_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, false, 0, NULL);

  return offset;
}


static const value_string f1ap_T_repetitionFactor_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  { 0, NULL }
};


static int
dissect_f1ap_T_repetitionFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, false, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_67(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 67U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_268(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 268U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 63U, NULL, false);

  return offset;
}


static const value_string f1ap_T_groupOrSequenceHopping_01_vals[] = {
  {   0, "neither" },
  {   1, "groupHopping" },
  {   2, "sequenceHopping" },
  { 0, NULL }
};


static int
dissect_f1ap_T_groupOrSequenceHopping_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, false, 0, NULL);

  return offset;
}


static const value_string f1ap_T_periodicity_vals[] = {
  {   0, "slot1" },
  {   1, "slot2" },
  {   2, "slot4" },
  {   3, "slot5" },
  {   4, "slot8" },
  {   5, "slot10" },
  {   6, "slot16" },
  {   7, "slot20" },
  {   8, "slot32" },
  {   9, "slot40" },
  {  10, "slot64" },
  {  11, "slot80" },
  {  12, "slot160" },
  {  13, "slot320" },
  {  14, "slot640" },
  {  15, "slot1280" },
  {  16, "slot2560" },
  { 0, NULL }
};


static int
dissect_f1ap_T_periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     17, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_2559_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 2559U, NULL, true);

  return offset;
}


static const per_sequence_t ResourceTypePeriodic_sequence[] = {
  { &hf_f1ap_periodicity    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_periodicity },
  { &hf_f1ap_offset         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_2559_ },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceTypePeriodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceTypePeriodic, ResourceTypePeriodic_sequence);

  return offset;
}


static const value_string f1ap_T_periodicity_01_vals[] = {
  {   0, "slot1" },
  {   1, "slot2" },
  {   2, "slot4" },
  {   3, "slot5" },
  {   4, "slot8" },
  {   5, "slot10" },
  {   6, "slot16" },
  {   7, "slot20" },
  {   8, "slot32" },
  {   9, "slot40" },
  {  10, "slot64" },
  {  11, "slot80" },
  {  12, "slot160" },
  {  13, "slot320" },
  {  14, "slot640" },
  {  15, "slot1280" },
  {  16, "slot2560" },
  { 0, NULL }
};


static int
dissect_f1ap_T_periodicity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     17, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t ResourceTypeSemi_persistent_sequence[] = {
  { &hf_f1ap_periodicity_01 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_periodicity_01 },
  { &hf_f1ap_offset         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_2559_ },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceTypeSemi_persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceTypeSemi_persistent, ResourceTypeSemi_persistent_sequence);

  return offset;
}


static const value_string f1ap_T_aperiodicResourceType_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_T_aperiodicResourceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t ResourceTypeAperiodic_sequence[] = {
  { &hf_f1ap_aperiodicResourceType, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_aperiodicResourceType },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceTypeAperiodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceTypeAperiodic, ResourceTypeAperiodic_sequence);

  return offset;
}


static const value_string f1ap_ResourceType_vals[] = {
  {   0, "periodic" },
  {   1, "semi-persistent" },
  {   2, "aperiodic" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t ResourceType_choice[] = {
  {   0, &hf_f1ap_periodic_02    , ASN1_NO_EXTENSIONS     , dissect_f1ap_ResourceTypePeriodic },
  {   1, &hf_f1ap_semi_persistent_02, ASN1_NO_EXTENSIONS     , dissect_f1ap_ResourceTypeSemi_persistent },
  {   2, &hf_f1ap_aperiodic_02   , ASN1_NO_EXTENSIONS     , dissect_f1ap_ResourceTypeAperiodic },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_ResourceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_ResourceType, ResourceType_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1023U, NULL, false);

  return offset;
}


static const per_sequence_t SRSResource_sequence[] = {
  { &hf_f1ap_sRSResourceID  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSResourceID },
  { &hf_f1ap_nrofSRS_Ports  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_nrofSRS_Ports },
  { &hf_f1ap_transmissionComb, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TransmissionComb },
  { &hf_f1ap_startPosition  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_13 },
  { &hf_f1ap_nrofSymbols_01 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_nrofSymbols_01 },
  { &hf_f1ap_repetitionFactor, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_repetitionFactor },
  { &hf_f1ap_freqDomainPosition, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_67 },
  { &hf_f1ap_freqDomainShift, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_268 },
  { &hf_f1ap_c_SRS          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_63 },
  { &hf_f1ap_b_SRS          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3 },
  { &hf_f1ap_b_hop          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3 },
  { &hf_f1ap_groupOrSequenceHopping_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_groupOrSequenceHopping_01 },
  { &hf_f1ap_resourceType_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ResourceType },
  { &hf_f1ap_sequenceId_01  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_1023 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRSResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRSResource, SRSResource_sequence);

  return offset;
}


static const per_sequence_t SRSResource_List_sequence_of[1] = {
  { &hf_f1ap_SRSResource_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSResource },
};

static int
dissect_f1ap_SRSResource_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRSResource_List, SRSResource_List_sequence_of,
                                                  1, maxnoSRS_Resources, false);

  return offset;
}



static int
dissect_f1ap_SRSPosResourceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 63U, NULL, false);

  return offset;
}


static const per_sequence_t T_n2_01_sequence[] = {
  { &hf_f1ap_combOffset_n2  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_1 },
  { &hf_f1ap_cyclicShift_n2 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_7 },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_T_n2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_T_n2_01, T_n2_01_sequence);

  return offset;
}


static const per_sequence_t T_n4_01_sequence[] = {
  { &hf_f1ap_combOffset_n4  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3 },
  { &hf_f1ap_cyclicShift_n4 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_11 },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_T_n4_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_T_n4_01, T_n4_01_sequence);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 5U, NULL, false);

  return offset;
}


static const per_sequence_t T_n8_sequence[] = {
  { &hf_f1ap_combOffset_n8  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_7 },
  { &hf_f1ap_cyclicShift_n8 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_5 },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_T_n8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_T_n8, T_n8_sequence);

  return offset;
}


static const value_string f1ap_TransmissionCombPos_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n8" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t TransmissionCombPos_choice[] = {
  {   0, &hf_f1ap_n2_01          , ASN1_NO_EXTENSIONS     , dissect_f1ap_T_n2_01 },
  {   1, &hf_f1ap_n4_01          , ASN1_NO_EXTENSIONS     , dissect_f1ap_T_n4_01 },
  {   2, &hf_f1ap_n8             , ASN1_NO_EXTENSIONS     , dissect_f1ap_T_n8 },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_TransmissionCombPos(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_TransmissionCombPos, TransmissionCombPos_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_T_nrofSymbols_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n12" },
  { 0, NULL }
};


static int
dissect_f1ap_T_nrofSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, false, 0, NULL);

  return offset;
}


static const value_string f1ap_T_groupOrSequenceHopping_vals[] = {
  {   0, "neither" },
  {   1, "groupHopping" },
  {   2, "sequenceHopping" },
  { 0, NULL }
};


static int
dissect_f1ap_T_groupOrSequenceHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, false, 0, NULL);

  return offset;
}


static const value_string f1ap_SRS_Periodicity_vals[] = {
  {   0, "slot1" },
  {   1, "slot2" },
  {   2, "slot4" },
  {   3, "slot5" },
  {   4, "slot8" },
  {   5, "slot10" },
  {   6, "slot16" },
  {   7, "slot20" },
  {   8, "slot32" },
  {   9, "slot40" },
  {  10, "slot64" },
  {  11, "slot80" },
  {  12, "slot160" },
  {  13, "slot320" },
  {  14, "slot640" },
  {  15, "slot1280" },
  {  16, "slot2560" },
  {  17, "slot5120" },
  {  18, "slot10240" },
  {  19, "slot40960" },
  {  20, "slot81920" },
  {  21, "slot128" },
  {  22, "slot256" },
  {  23, "slot512" },
  {  24, "slot20480" },
  { 0, NULL }
};


static int
dissect_f1ap_SRS_Periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     21, NULL, true, 4, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_81919_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 81919U, NULL, true);

  return offset;
}


static const per_sequence_t ResourceTypePeriodicPos_sequence[] = {
  { &hf_f1ap_periodicity_02 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRS_Periodicity },
  { &hf_f1ap_offset_01      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_81919_ },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceTypePeriodicPos(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceTypePeriodicPos, ResourceTypePeriodicPos_sequence);

  return offset;
}


static const per_sequence_t ResourceTypeSemi_persistentPos_sequence[] = {
  { &hf_f1ap_periodicity_02 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRS_Periodicity },
  { &hf_f1ap_offset_01      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_81919_ },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceTypeSemi_persistentPos(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceTypeSemi_persistentPos, ResourceTypeSemi_persistentPos_sequence);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 32U, NULL, false);

  return offset;
}


static const per_sequence_t ResourceTypeAperiodicPos_sequence[] = {
  { &hf_f1ap_slotOffset     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_32 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceTypeAperiodicPos(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceTypeAperiodicPos, ResourceTypeAperiodicPos_sequence);

  return offset;
}


static const value_string f1ap_ResourceTypePos_vals[] = {
  {   0, "periodic" },
  {   1, "semi-persistent" },
  {   2, "aperiodic" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t ResourceTypePos_choice[] = {
  {   0, &hf_f1ap_periodic_03    , ASN1_NO_EXTENSIONS     , dissect_f1ap_ResourceTypePeriodicPos },
  {   1, &hf_f1ap_semi_persistent_03, ASN1_NO_EXTENSIONS     , dissect_f1ap_ResourceTypeSemi_persistentPos },
  {   2, &hf_f1ap_aperiodic_03   , ASN1_NO_EXTENSIONS     , dissect_f1ap_ResourceTypeAperiodicPos },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_ResourceTypePos(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_ResourceTypePos, ResourceTypePos_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_NRPCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1007U, NULL, false);

  return offset;
}



static int
dissect_f1ap_SSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 63U, NULL, false);

  return offset;
}


static const per_sequence_t SSB_sequence[] = {
  { &hf_f1ap_pCI_NR_01      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRPCI },
  { &hf_f1ap_ssb_index      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_SSB_Index },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SSB, SSB_sequence);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 255U, NULL, false);

  return offset;
}


static const per_sequence_t PRSInformationPos_sequence[] = {
  { &hf_f1ap_pRS_IDPos      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_255 },
  { &hf_f1ap_pRS_Resource_Set_IDPos, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_7 },
  { &hf_f1ap_pRS_Resource_IDPos, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_63 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSInformationPos(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSInformationPos, PRSInformationPos_sequence);

  return offset;
}


static const value_string f1ap_SpatialRelationPos_vals[] = {
  {   0, "sSBPos" },
  {   1, "pRSInformationPos" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t SpatialRelationPos_choice[] = {
  {   0, &hf_f1ap_sSBPos         , ASN1_NO_EXTENSIONS     , dissect_f1ap_SSB },
  {   1, &hf_f1ap_pRSInformationPos, ASN1_NO_EXTENSIONS     , dissect_f1ap_PRSInformationPos },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_SpatialRelationPos(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_SpatialRelationPos, SpatialRelationPos_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PosSRSResource_Item_sequence[] = {
  { &hf_f1ap_srs_PosResourceId, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSPosResourceID },
  { &hf_f1ap_transmissionCombPos, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TransmissionCombPos },
  { &hf_f1ap_startPosition  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_13 },
  { &hf_f1ap_nrofSymbols    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_nrofSymbols },
  { &hf_f1ap_freqDomainShift, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_268 },
  { &hf_f1ap_c_SRS          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_63 },
  { &hf_f1ap_groupOrSequenceHopping, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_groupOrSequenceHopping },
  { &hf_f1ap_resourceTypePos, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ResourceTypePos },
  { &hf_f1ap_sequenceId     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_65535 },
  { &hf_f1ap_spatialRelationPos, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_SpatialRelationPos },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PosSRSResource_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PosSRSResource_Item, PosSRSResource_Item_sequence);

  return offset;
}


static const per_sequence_t PosSRSResource_List_sequence_of[1] = {
  { &hf_f1ap_PosSRSResource_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PosSRSResource_Item },
};

static int
dissect_f1ap_PosSRSResource_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PosSRSResource_List, PosSRSResource_List_sequence_of,
                                                  1, maxnoSRS_PosResources, false);

  return offset;
}


static const per_sequence_t SRSResourceID_List_sequence_of[1] = {
  { &hf_f1ap_SRSResourceID_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSResourceID },
};

static int
dissect_f1ap_SRSResourceID_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRSResourceID_List, SRSResourceID_List_sequence_of,
                                                  1, maxnoSRS_ResourcePerSet, false);

  return offset;
}


static const value_string f1ap_T_periodicSet_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_T_periodicSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t ResourceSetTypePeriodic_sequence[] = {
  { &hf_f1ap_periodicSet    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_periodicSet },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceSetTypePeriodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceSetTypePeriodic, ResourceSetTypePeriodic_sequence);

  return offset;
}


static const value_string f1ap_T_semi_persistentSet_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_T_semi_persistentSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t ResourceSetTypeSemi_persistent_sequence[] = {
  { &hf_f1ap_semi_persistentSet, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_semi_persistentSet },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceSetTypeSemi_persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceSetTypeSemi_persistent, ResourceSetTypeSemi_persistent_sequence);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 3U, NULL, false);

  return offset;
}


static const per_sequence_t ResourceSetTypeAperiodic_sequence[] = {
  { &hf_f1ap_sRSResourceTrigger_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_3 },
  { &hf_f1ap_slotoffset     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_32 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceSetTypeAperiodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceSetTypeAperiodic, ResourceSetTypeAperiodic_sequence);

  return offset;
}


static const value_string f1ap_ResourceSetType_vals[] = {
  {   0, "periodic" },
  {   1, "semi-persistent" },
  {   2, "aperiodic" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t ResourceSetType_choice[] = {
  {   0, &hf_f1ap_periodic_01    , ASN1_NO_EXTENSIONS     , dissect_f1ap_ResourceSetTypePeriodic },
  {   1, &hf_f1ap_semi_persistent_01, ASN1_NO_EXTENSIONS     , dissect_f1ap_ResourceSetTypeSemi_persistent },
  {   2, &hf_f1ap_aperiodic_01   , ASN1_NO_EXTENSIONS     , dissect_f1ap_ResourceSetTypeAperiodic },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_ResourceSetType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_ResourceSetType, ResourceSetType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SRSResourceSet_sequence[] = {
  { &hf_f1ap_sRSResourceSetID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSResourceSetID },
  { &hf_f1ap_sRSResourceID_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSResourceID_List },
  { &hf_f1ap_resourceSetType, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ResourceSetType },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRSResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRSResourceSet, SRSResourceSet_sequence);

  return offset;
}


static const per_sequence_t SRSResourceSet_List_sequence_of[1] = {
  { &hf_f1ap_SRSResourceSet_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSResourceSet },
};

static int
dissect_f1ap_SRSResourceSet_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRSResourceSet_List, SRSResourceSet_List_sequence_of,
                                                  1, maxnoSRS_ResourceSets, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 15U, NULL, false);

  return offset;
}


static const per_sequence_t PosSRSResourceID_List_sequence_of[1] = {
  { &hf_f1ap_PosSRSResourceID_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSPosResourceID },
};

static int
dissect_f1ap_PosSRSResourceID_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PosSRSResourceID_List, PosSRSResourceID_List_sequence_of,
                                                  1, maxnoSRS_PosResourcePerSet, false);

  return offset;
}


static const value_string f1ap_T_posperiodicSet_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_T_posperiodicSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t PosResourceSetTypePR_sequence[] = {
  { &hf_f1ap_posperiodicSet , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_posperiodicSet },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PosResourceSetTypePR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PosResourceSetTypePR, PosResourceSetTypePR_sequence);

  return offset;
}


static const value_string f1ap_T_possemi_persistentSet_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_T_possemi_persistentSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t PosResourceSetTypeSP_sequence[] = {
  { &hf_f1ap_possemi_persistentSet, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_possemi_persistentSet },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PosResourceSetTypeSP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PosResourceSetTypeSP, PosResourceSetTypeSP_sequence);

  return offset;
}


static const per_sequence_t PosResourceSetTypeAP_sequence[] = {
  { &hf_f1ap_sRSResourceTrigger_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_3 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PosResourceSetTypeAP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PosResourceSetTypeAP, PosResourceSetTypeAP_sequence);

  return offset;
}


static const value_string f1ap_PosResourceSetType_vals[] = {
  {   0, "periodic" },
  {   1, "semi-persistent" },
  {   2, "aperiodic" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t PosResourceSetType_choice[] = {
  {   0, &hf_f1ap_periodic       , ASN1_NO_EXTENSIONS     , dissect_f1ap_PosResourceSetTypePR },
  {   1, &hf_f1ap_semi_persistent, ASN1_NO_EXTENSIONS     , dissect_f1ap_PosResourceSetTypeSP },
  {   2, &hf_f1ap_aperiodic      , ASN1_NO_EXTENSIONS     , dissect_f1ap_PosResourceSetTypeAP },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_PosResourceSetType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_PosResourceSetType, PosResourceSetType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PosSRSResourceSet_Item_sequence[] = {
  { &hf_f1ap_possrsResourceSetID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_15 },
  { &hf_f1ap_possRSResourceID_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PosSRSResourceID_List },
  { &hf_f1ap_posresourceSetType, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PosResourceSetType },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PosSRSResourceSet_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PosSRSResourceSet_Item, PosSRSResourceSet_Item_sequence);

  return offset;
}


static const per_sequence_t PosSRSResourceSet_List_sequence_of[1] = {
  { &hf_f1ap_PosSRSResourceSet_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PosSRSResourceSet_Item },
};

static int
dissect_f1ap_PosSRSResourceSet_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PosSRSResourceSet_List, PosSRSResourceSet_List_sequence_of,
                                                  1, maxnoSRS_PosResourceSets, false);

  return offset;
}


static const per_sequence_t SRSConfig_sequence[] = {
  { &hf_f1ap_sRSResource_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_SRSResource_List },
  { &hf_f1ap_posSRSResource_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PosSRSResource_List },
  { &hf_f1ap_sRSResourceSet_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_SRSResourceSet_List },
  { &hf_f1ap_posSRSResourceSet_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PosSRSResourceSet_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRSConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRSConfig, SRSConfig_sequence);

  return offset;
}


static const per_sequence_t ActiveULBWP_sequence[] = {
  { &hf_f1ap_locationAndBandwidth, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_37949_ },
  { &hf_f1ap_subcarrierSpacing, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_subcarrierSpacing },
  { &hf_f1ap_cyclicPrefix   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_cyclicPrefix },
  { &hf_f1ap_txDirectCurrentLocation, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3301_ },
  { &hf_f1ap_shift7dot5kHz  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_shift7dot5kHz },
  { &hf_f1ap_sRSConfig      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSConfig },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ActiveULBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ActiveULBWP, ActiveULBWP_sequence);

  return offset;
}


static const value_string f1ap_AdditionalDuplicationIndication_vals[] = {
  {   0, "three" },
  {   1, "four" },
  { 0, NULL }
};


static int
dissect_f1ap_AdditionalDuplicationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_16351(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 16351U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_8176(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 8176U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_4088(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4088U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_2044(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 2044U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_1022(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1022U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_511(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 511U, NULL, false);

  return offset;
}


static const value_string f1ap_RelativePathDelay_vals[] = {
  {   0, "k0" },
  {   1, "k1" },
  {   2, "k2" },
  {   3, "k3" },
  {   4, "k4" },
  {   5, "k5" },
  {   6, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t RelativePathDelay_choice[] = {
  {   0, &hf_f1ap_k0_01          , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_16351 },
  {   1, &hf_f1ap_k1_01          , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_8176 },
  {   2, &hf_f1ap_k2_01          , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_4088 },
  {   3, &hf_f1ap_k3_01          , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_2044 },
  {   4, &hf_f1ap_k4_01          , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_1022 },
  {   5, &hf_f1ap_k5_01          , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_511 },
  {   6, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_RelativePathDelay(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_RelativePathDelay, RelativePathDelay_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 31U, NULL, false);

  return offset;
}


static const value_string f1ap_T_resolution_01_vals[] = {
  {   0, "m0dot1" },
  {   1, "m1" },
  {   2, "m10" },
  {   3, "m30" },
  { 0, NULL }
};


static int
dissect_f1ap_T_resolution_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t TimingMeasurementQuality_sequence[] = {
  { &hf_f1ap_measurementQuality_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_31 },
  { &hf_f1ap_resolution_01  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_resolution_01 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TimingMeasurementQuality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TimingMeasurementQuality, TimingMeasurementQuality_sequence);

  return offset;
}


static const value_string f1ap_T_resolution_vals[] = {
  {   0, "deg0dot1" },
  { 0, NULL }
};


static int
dissect_f1ap_T_resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t AngleMeasurementQuality_sequence[] = {
  { &hf_f1ap_azimuthQuality , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_255 },
  { &hf_f1ap_zenithQuality  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_255 },
  { &hf_f1ap_resolution     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_resolution },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AngleMeasurementQuality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AngleMeasurementQuality, AngleMeasurementQuality_sequence);

  return offset;
}


static const value_string f1ap_TRPMeasurementQuality_Item_vals[] = {
  {   0, "timingMeasurementQuality" },
  {   1, "angleMeasurementQuality" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t TRPMeasurementQuality_Item_choice[] = {
  {   0, &hf_f1ap_timingMeasurementQuality, ASN1_NO_EXTENSIONS     , dissect_f1ap_TimingMeasurementQuality },
  {   1, &hf_f1ap_angleMeasurementQuality, ASN1_NO_EXTENSIONS     , dissect_f1ap_AngleMeasurementQuality },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_TRPMeasurementQuality_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_TRPMeasurementQuality_Item, TRPMeasurementQuality_Item_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t TRPMeasurementQuality_sequence[] = {
  { &hf_f1ap_tRPmeasurementQuality_Item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPMeasurementQuality_Item },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRPMeasurementQuality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRPMeasurementQuality, TRPMeasurementQuality_sequence);

  return offset;
}


static const per_sequence_t AdditionalPath_Item_sequence[] = {
  { &hf_f1ap_relativePathDelay, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RelativePathDelay },
  { &hf_f1ap_pathQuality    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_TRPMeasurementQuality },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AdditionalPath_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AdditionalPath_Item, AdditionalPath_Item_sequence);

  return offset;
}


static const per_sequence_t AdditionalPath_List_sequence_of[1] = {
  { &hf_f1ap_AdditionalPath_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_AdditionalPath_Item },
};

static int
dissect_f1ap_AdditionalPath_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_AdditionalPath_List, AdditionalPath_List_sequence_of,
                                                  1, maxnoofPath, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_3599(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3599U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_1799(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1799U, NULL, false);

  return offset;
}


static const per_sequence_t LCS_to_GCS_Translation_sequence[] = {
  { &hf_f1ap_alpha          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3599 },
  { &hf_f1ap_beta           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3599 },
  { &hf_f1ap_gamma          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3599 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LCS_to_GCS_Translation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LCS_to_GCS_Translation, LCS_to_GCS_Translation_sequence);

  return offset;
}


static const per_sequence_t UL_AoA_sequence[] = {
  { &hf_f1ap_azimuthAoA     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3599 },
  { &hf_f1ap_zenithAoA      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_1799 },
  { &hf_f1ap_lCS_to_GCS_Translation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_LCS_to_GCS_Translation },
  { &hf_f1ap_iE_extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UL_AoA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UL_AoA, UL_AoA_sequence);

  return offset;
}


static const per_sequence_t ZoAInformation_sequence[] = {
  { &hf_f1ap_zenithAoA      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_1799 },
  { &hf_f1ap_lCS_to_GCS_Translation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_LCS_to_GCS_Translation },
  { &hf_f1ap_iE_extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ZoAInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ZoAInformation, ZoAInformation_sequence);

  return offset;
}


static const value_string f1ap_MultipleULAoA_Item_vals[] = {
  {   0, "uL-AoA" },
  {   1, "ul-ZoA" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t MultipleULAoA_Item_choice[] = {
  {   0, &hf_f1ap_uL_AoA         , ASN1_NO_EXTENSIONS     , dissect_f1ap_UL_AoA },
  {   1, &hf_f1ap_ul_ZoA         , ASN1_NO_EXTENSIONS     , dissect_f1ap_ZoAInformation },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_MultipleULAoA_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_MultipleULAoA_Item, MultipleULAoA_Item_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MultipleULAoA_List_sequence_of[1] = {
  { &hf_f1ap_MultipleULAoA_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MultipleULAoA_Item },
};

static int
dissect_f1ap_MultipleULAoA_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MultipleULAoA_List, MultipleULAoA_List_sequence_of,
                                                  1, maxnoofULAoAs, false);

  return offset;
}


static const per_sequence_t MultipleULAoA_sequence[] = {
  { &hf_f1ap_multipleULAoA_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MultipleULAoA_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MultipleULAoA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MultipleULAoA, MultipleULAoA_sequence);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_126(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 126U, NULL, false);

  return offset;
}


static const per_sequence_t UL_SRS_RSRPP_sequence[] = {
  { &hf_f1ap_firstPathRSRPP , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_126 },
  { &hf_f1ap_iE_extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UL_SRS_RSRPP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UL_SRS_RSRPP, UL_SRS_RSRPP_sequence);

  return offset;
}


static const per_sequence_t ExtendedAdditionalPathList_Item_sequence[] = {
  { &hf_f1ap_relativeTimeOfPath, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RelativePathDelay },
  { &hf_f1ap_pathQuality    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TRPMeasurementQuality },
  { &hf_f1ap_multipleULAoA  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MultipleULAoA },
  { &hf_f1ap_pathPower      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_UL_SRS_RSRPP },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ExtendedAdditionalPathList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ExtendedAdditionalPathList_Item, ExtendedAdditionalPathList_Item_sequence);

  return offset;
}


static const per_sequence_t ExtendedAdditionalPathList_sequence_of[1] = {
  { &hf_f1ap_ExtendedAdditionalPathList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ExtendedAdditionalPathList_Item },
};

static int
dissect_f1ap_ExtendedAdditionalPathList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_ExtendedAdditionalPathList, ExtendedAdditionalPathList_sequence_of,
                                                  1, maxNoPathExtended, false);

  return offset;
}



static int
dissect_f1ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     1, 160, true, NULL, 0, &param_tvb, NULL);

  if (param_tvb) {
    proto_tree *subtree;
    int tvb_len;

    tvb_len = tvb_reported_length(param_tvb);
    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_TransportLayerAddress);
    if (tvb_len == 4) {
      /* IPv4 */
       proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN);
    } else if (tvb_len == 16) {
      /* IPv6 */
       proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv6, param_tvb, 0, 16, ENC_NA);
    } else if (tvb_len == 20) {
      /* IPv4 */
       proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN);
      /* IPv6 */
       proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv6, param_tvb, 4, 16, ENC_NA);
    }
  }


  return offset;
}



static int
dissect_f1ap_GTP_TEID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       4, 4, false, NULL);

  return offset;
}


static const per_sequence_t GTPTunnel_sequence[] = {
  { &hf_f1ap_transportLayerAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress },
  { &hf_f1ap_gTP_TEID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GTP_TEID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GTPTunnel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GTPTunnel, GTPTunnel_sequence);

  return offset;
}


static const value_string f1ap_UPTransportLayerInformation_vals[] = {
  {   0, "gTPTunnel" },
  {   1, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t UPTransportLayerInformation_choice[] = {
  {   0, &hf_f1ap_gTPTunnel      , ASN1_NO_EXTENSIONS     , dissect_f1ap_GTPTunnel },
  {   1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_UPTransportLayerInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_UPTransportLayerInformation, UPTransportLayerInformation_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t AdditionalPDCPDuplicationTNL_Item_sequence[] = {
  { &hf_f1ap_additionalPDCPDuplicationUPTNLInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UPTransportLayerInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AdditionalPDCPDuplicationTNL_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AdditionalPDCPDuplicationTNL_Item, AdditionalPDCPDuplicationTNL_Item_sequence);

  return offset;
}


static const per_sequence_t AdditionalPDCPDuplicationTNL_List_sequence_of[1] = {
  { &hf_f1ap_AdditionalPDCPDuplicationTNL_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_AdditionalPDCPDuplicationTNL_Item },
};

static int
dissect_f1ap_AdditionalPDCPDuplicationTNL_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_AdditionalPDCPDuplicationTNL_List, AdditionalPDCPDuplicationTNL_List_sequence_of,
                                                  1, maxnoofAdditionalPDCPDuplicationTNL, false);

  return offset;
}



static int
dissect_f1ap_T_additionalSIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sIBmessage);
    switch (f1ap_data->sib_type) {
    case 6:
      dissect_nr_rrc_SIB6_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 7:
      dissect_nr_rrc_SIB7_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 8:
      dissect_nr_rrc_SIB8_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    default:
      break;
    }
  }


  return offset;
}


static const per_sequence_t AdditionalSIBMessageList_Item_sequence[] = {
  { &hf_f1ap_additionalSIB  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_additionalSIB },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AdditionalSIBMessageList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AdditionalSIBMessageList_Item, AdditionalSIBMessageList_Item_sequence);

  return offset;
}


static const per_sequence_t AdditionalSIBMessageList_sequence_of[1] = {
  { &hf_f1ap_AdditionalSIBMessageList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_AdditionalSIBMessageList_Item },
};

static int
dissect_f1ap_AdditionalSIBMessageList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_AdditionalSIBMessageList, AdditionalSIBMessageList_sequence_of,
                                                  1, maxnoofAdditionalSIBs, false);

  return offset;
}



static int
dissect_f1ap_AdditionalRRMPriorityIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     32, 32, false, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t AffectedSSB_Item_sequence[] = {
  { &hf_f1ap_sSB_Index      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_63 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AffectedSSB_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AffectedSSB_Item, AffectedSSB_Item_sequence);

  return offset;
}


static const per_sequence_t AffectedSSB_List_sequence_of[1] = {
  { &hf_f1ap_AffectedSSB_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_AffectedSSB_Item },
};

static int
dissect_f1ap_AffectedSSB_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_AffectedSSB_List, AffectedSSB_List_sequence_of,
                                                  1, maxnoofSSBAreas, false);

  return offset;
}


static const per_sequence_t AffectedCellsAndBeams_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_affectedSSB_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_AffectedSSB_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AffectedCellsAndBeams_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AffectedCellsAndBeams_Item, AffectedCellsAndBeams_Item_sequence);

  return offset;
}


static const per_sequence_t AffectedCellsAndBeams_List_sequence_of[1] = {
  { &hf_f1ap_AffectedCellsAndBeams_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_AffectedCellsAndBeams_Item },
};

static int
dissect_f1ap_AffectedCellsAndBeams_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_AffectedCellsAndBeams_List, AffectedCellsAndBeams_List_sequence_of,
                                                  1, maxAffectedCells, false);

  return offset;
}


static const per_sequence_t Aggregated_PosSRS_Resource_ID_Item_sequence[] = {
  { &hf_f1ap_positioningSRS , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSPosResourceID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Aggregated_PosSRS_Resource_ID_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Aggregated_PosSRS_Resource_ID_Item, Aggregated_PosSRS_Resource_ID_Item_sequence);

  return offset;
}


static const per_sequence_t AggregatedPosSRSResourceIDList_sequence_of[1] = {
  { &hf_f1ap_AggregatedPosSRSResourceIDList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Aggregated_PosSRS_Resource_ID_Item },
};

static int
dissect_f1ap_AggregatedPosSRSResourceIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_AggregatedPosSRSResourceIDList, AggregatedPosSRSResourceIDList_sequence_of,
                                                  2, maxnoAggregatedSRS_Resources, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_3279165(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3279165U, NULL, false);

  return offset;
}


static const per_sequence_t AggregatedPosSRSResourceSet_Item_sequence[] = {
  { &hf_f1ap_pointA         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3279165 },
  { &hf_f1ap_nRPCI          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NRPCI },
  { &hf_f1ap_posSRSResourceSetID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_15 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AggregatedPosSRSResourceSet_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AggregatedPosSRSResourceSet_Item, AggregatedPosSRSResourceSet_Item_sequence);

  return offset;
}


static const per_sequence_t AggregatedPosSRSResourceSetList_sequence_of[1] = {
  { &hf_f1ap_AggregatedPosSRSResourceSetList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_AggregatedPosSRSResourceSet_Item },
};

static int
dissect_f1ap_AggregatedPosSRSResourceSetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_AggregatedPosSRSResourceSetList, AggregatedPosSRSResourceSetList_sequence_of,
                                                  1, maxnoAggregatedPosSRSResourceSets, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 8U, NULL, false);

  return offset;
}


static const per_sequence_t DL_PRS_ResourceSet_Item_sequence[] = {
  { &hf_f1ap_dl_prs_ResourceSetIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_8 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DL_PRS_ResourceSet_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DL_PRS_ResourceSet_Item, DL_PRS_ResourceSet_Item_sequence);

  return offset;
}


static const per_sequence_t DL_PRS_ResourceSet_List_sequence_of[1] = {
  { &hf_f1ap_DL_PRS_ResourceSet_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DL_PRS_ResourceSet_Item },
};

static int
dissect_f1ap_DL_PRS_ResourceSet_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DL_PRS_ResourceSet_List, DL_PRS_ResourceSet_List_sequence_of,
                                                  1, maxnoAggregatedPosPRSResourceSets, false);

  return offset;
}


static const per_sequence_t AggregatedPRSResourceSet_Item_sequence[] = {
  { &hf_f1ap_dl_PRS_ResourceSet_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DL_PRS_ResourceSet_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AggregatedPRSResourceSet_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AggregatedPRSResourceSet_Item, AggregatedPRSResourceSet_Item_sequence);

  return offset;
}


static const per_sequence_t AggregatedPRSResourceSetList_sequence_of[1] = {
  { &hf_f1ap_AggregatedPRSResourceSetList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_AggregatedPRSResourceSet_Item },
};

static int
dissect_f1ap_AggregatedPRSResourceSetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_AggregatedPRSResourceSetList, AggregatedPRSResourceSetList_sequence_of,
                                                  1, maxnoAggCombinations, false);

  return offset;
}


static const per_sequence_t AggressorCellList_Item_sequence[] = {
  { &hf_f1ap_aggressorCell_ID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AggressorCellList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AggressorCellList_Item, AggressorCellList_Item_sequence);

  return offset;
}


static const per_sequence_t AggressorCellList_sequence_of[1] = {
  { &hf_f1ap_AggressorCellList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_AggressorCellList_Item },
};

static int
dissect_f1ap_AggressorCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_AggressorCellList, AggressorCellList_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}



static int
dissect_f1ap_GNBSetID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     22, 22, false, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t AggressorgNBSetID_sequence[] = {
  { &hf_f1ap_aggressorgNBSetID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_GNBSetID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AggressorgNBSetID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AggressorgNBSetID, AggressorgNBSetID_sequence);

  return offset;
}


static const value_string f1ap_PriorityLevel_vals[] = {
  {   0, "spare" },
  {   1, "highest" },
  {  14, "lowest" },
  {  15, "no-priority" },
  { 0, NULL }
};


static int
dissect_f1ap_PriorityLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 15U, NULL, false);

  return offset;
}


static const value_string f1ap_Pre_emptionCapability_vals[] = {
  {   0, "shall-not-trigger-pre-emption" },
  {   1, "may-trigger-pre-emption" },
  { 0, NULL }
};


static int
dissect_f1ap_Pre_emptionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, false, 0, NULL);

  return offset;
}


static const value_string f1ap_Pre_emptionVulnerability_vals[] = {
  {   0, "not-pre-emptable" },
  {   1, "pre-emptable" },
  { 0, NULL }
};


static int
dissect_f1ap_Pre_emptionVulnerability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, false, 0, NULL);

  return offset;
}


static const per_sequence_t AllocationAndRetentionPriority_sequence[] = {
  { &hf_f1ap_priorityLevel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PriorityLevel },
  { &hf_f1ap_pre_emptionCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Pre_emptionCapability },
  { &hf_f1ap_pre_emptionVulnerability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Pre_emptionVulnerability },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AllocationAndRetentionPriority, AllocationAndRetentionPriority_sequence);

  return offset;
}



static int
dissect_f1ap_QoSParaSetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 8U, NULL, true);

  return offset;
}



static int
dissect_f1ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
                                                            0U, UINT64_C(4000000000000), NULL, true);

  return offset;
}



static int
dissect_f1ap_PacketDelayBudget(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1023U, NULL, true);

  return offset;
}



static int
dissect_f1ap_PER_Scalar(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 9U, NULL, true);

  return offset;
}



static int
dissect_f1ap_PER_Exponent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 9U, NULL, true);

  return offset;
}


static const per_sequence_t PacketErrorRate_sequence[] = {
  { &hf_f1ap_pER_Scalar     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PER_Scalar },
  { &hf_f1ap_pER_Exponent   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PER_Exponent },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PacketErrorRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PacketErrorRate, PacketErrorRate_sequence);

  return offset;
}


static const per_sequence_t AlternativeQoSParaSetItem_sequence[] = {
  { &hf_f1ap_alternativeQoSParaSetIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSParaSetIndex },
  { &hf_f1ap_guaranteedFlowBitRateDL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BitRate },
  { &hf_f1ap_guaranteedFlowBitRateUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BitRate },
  { &hf_f1ap_packetDelayBudget, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_PacketDelayBudget },
  { &hf_f1ap_packetErrorRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_PacketErrorRate },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AlternativeQoSParaSetItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AlternativeQoSParaSetItem, AlternativeQoSParaSetItem_sequence);

  return offset;
}


static const per_sequence_t AlternativeQoSParaSetList_sequence_of[1] = {
  { &hf_f1ap_AlternativeQoSParaSetList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_AlternativeQoSParaSetItem },
};

static int
dissect_f1ap_AlternativeQoSParaSetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_AlternativeQoSParaSetList, AlternativeQoSParaSetList_sequence_of,
                                                  1, maxnoofQoSParaSets, false);

  return offset;
}



static int
dissect_f1ap_AperiodicSRSResourceTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 3U, NULL, false);

  return offset;
}


static const per_sequence_t AperiodicSRSResourceTriggerList_sequence_of[1] = {
  { &hf_f1ap_AperiodicSRSResourceTriggerList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_AperiodicSRSResourceTrigger },
};

static int
dissect_f1ap_AperiodicSRSResourceTriggerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_AperiodicSRSResourceTriggerList, AperiodicSRSResourceTriggerList_sequence_of,
                                                  1, maxnoofSRSTriggerStates, false);

  return offset;
}


static const per_sequence_t Associated_SCell_Item_sequence[] = {
  { &hf_f1ap_sCell_ID       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Associated_SCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Associated_SCell_Item, Associated_SCell_Item_sequence);

  return offset;
}



static int
dissect_f1ap_AssociatedSessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, NULL);

  return offset;
}


static const per_sequence_t AvailablePLMNList_Item_sequence[] = {
  { &hf_f1ap_pLMNIdentity   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AvailablePLMNList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AvailablePLMNList_Item, AvailablePLMNList_Item_sequence);

  return offset;
}


static const per_sequence_t AvailablePLMNList_sequence_of[1] = {
  { &hf_f1ap_AvailablePLMNList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_AvailablePLMNList_Item },
};

static int
dissect_f1ap_AvailablePLMNList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_AvailablePLMNList, AvailablePLMNList_sequence_of,
                                                  1, maxnoofBPLMNs, false);

  return offset;
}



static int
dissect_f1ap_NID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     44, 44, false, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t BroadcastNIDList_sequence_of[1] = {
  { &hf_f1ap_BroadcastNIDList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NID },
};

static int
dissect_f1ap_BroadcastNIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastNIDList, BroadcastNIDList_sequence_of,
                                                  1, maxnoofNIDsupported, false);

  return offset;
}


static const per_sequence_t AvailableSNPN_ID_List_Item_sequence[] = {
  { &hf_f1ap_pLMN_Identity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_availableNIDList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastNIDList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AvailableSNPN_ID_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AvailableSNPN_ID_List_Item, AvailableSNPN_ID_List_Item_sequence);

  return offset;
}


static const per_sequence_t AvailableSNPN_ID_List_sequence_of[1] = {
  { &hf_f1ap_AvailableSNPN_ID_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_AvailableSNPN_ID_List_Item },
};

static int
dissect_f1ap_AvailableSNPN_ID_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_AvailableSNPN_ID_List, AvailableSNPN_ID_List_sequence_of,
                                                  1, maxnoofNIDsupported, false);

  return offset;
}



static int
dissect_f1ap_AveragingWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4095U, NULL, true);

  return offset;
}


static const value_string f1ap_AreaScope_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_AreaScope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_Expected_Value_AoA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3599U, NULL, false);

  return offset;
}



static int
dissect_f1ap_Uncertainty_range_AoA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3599U, NULL, false);

  return offset;
}


static const per_sequence_t Expected_Azimuth_AoA_sequence[] = {
  { &hf_f1ap_expected_Azimuth_AoA_value, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Expected_Value_AoA },
  { &hf_f1ap_expected_Azimuth_AoA_uncertainty, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Uncertainty_range_AoA },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Expected_Azimuth_AoA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Expected_Azimuth_AoA, Expected_Azimuth_AoA_sequence);

  return offset;
}



static int
dissect_f1ap_Expected_Value_ZoA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1799U, NULL, false);

  return offset;
}



static int
dissect_f1ap_Uncertainty_range_ZoA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1799U, NULL, false);

  return offset;
}


static const per_sequence_t Expected_Zenith_AoA_sequence[] = {
  { &hf_f1ap_expected_Zenith_AoA_value, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Expected_Value_ZoA },
  { &hf_f1ap_expected_Zenith_AoA_uncertainty, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Uncertainty_range_ZoA },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Expected_Zenith_AoA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Expected_Zenith_AoA, Expected_Zenith_AoA_sequence);

  return offset;
}


static const per_sequence_t Expected_UL_AoA_sequence[] = {
  { &hf_f1ap_expected_Azimuth_AoA, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Expected_Azimuth_AoA },
  { &hf_f1ap_expected_Zenith_AoA, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Expected_Zenith_AoA },
  { &hf_f1ap_iE_extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Expected_UL_AoA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Expected_UL_AoA, Expected_UL_AoA_sequence);

  return offset;
}


static const per_sequence_t Expected_ZoA_only_sequence[] = {
  { &hf_f1ap_expected_ZoA_only, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Expected_Zenith_AoA },
  { &hf_f1ap_iE_extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Expected_ZoA_only(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Expected_ZoA_only, Expected_ZoA_only_sequence);

  return offset;
}


static const value_string f1ap_AngleMeasurementType_vals[] = {
  {   0, "expected-ULAoA" },
  {   1, "expected-ZoA" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t AngleMeasurementType_choice[] = {
  {   0, &hf_f1ap_expected_ULAoA , ASN1_NO_EXTENSIONS     , dissect_f1ap_Expected_UL_AoA },
  {   1, &hf_f1ap_expected_ZoA   , ASN1_NO_EXTENSIONS     , dissect_f1ap_Expected_ZoA_only },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_AngleMeasurementType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_AngleMeasurementType, AngleMeasurementType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t AoA_AssistanceInfo_sequence[] = {
  { &hf_f1ap_angleMeasurement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_AngleMeasurementType },
  { &hf_f1ap_lCS_to_GCS_Translation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_LCS_to_GCS_Translation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AoA_AssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AoA_AssistanceInfo, AoA_AssistanceInfo_sequence);

  return offset;
}



static int
dissect_f1ap_AppLayerBufferLevelList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, NULL);

  return offset;
}



static int
dissect_f1ap_ARP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 16U, NULL, true);

  return offset;
}


static const value_string f1ap_T_milli_Arc_SecondUnits_vals[] = {
  {   0, "zerodot03" },
  {   1, "zerodot3" },
  {   2, "three" },
  { 0, NULL }
};


static int
dissect_f1ap_T_milli_Arc_SecondUnits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_heightUnits_vals[] = {
  {   0, "mm" },
  {   1, "cm" },
  {   2, "m" },
  { 0, NULL }
};


static int
dissect_f1ap_T_heightUnits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_M1024_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -1024, 1023U, NULL, false);

  return offset;
}


static const per_sequence_t LocationUncertainty_sequence[] = {
  { &hf_f1ap_horizontalUncertainty, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_255 },
  { &hf_f1ap_horizontalConfidence, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_verticalUncertainty, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_255 },
  { &hf_f1ap_verticalConfidence, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LocationUncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LocationUncertainty, LocationUncertainty_sequence);

  return offset;
}


static const per_sequence_t RelativeGeodeticLocation_sequence[] = {
  { &hf_f1ap_milli_Arc_SecondUnits, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_milli_Arc_SecondUnits },
  { &hf_f1ap_heightUnits    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_heightUnits },
  { &hf_f1ap_deltaLatitude  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M1024_1023 },
  { &hf_f1ap_deltaLongitude , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M1024_1023 },
  { &hf_f1ap_deltaHeight    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M1024_1023 },
  { &hf_f1ap_locationUncertainty, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_LocationUncertainty },
  { &hf_f1ap_iE_extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RelativeGeodeticLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RelativeGeodeticLocation, RelativeGeodeticLocation_sequence);

  return offset;
}


static const value_string f1ap_T_xYZunit_vals[] = {
  {   0, "mm" },
  {   1, "cm" },
  {   2, "dm" },
  { 0, NULL }
};


static int
dissect_f1ap_T_xYZunit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_M65536_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -65536, 65535U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_M32768_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -32768, 32767U, NULL, false);

  return offset;
}


static const per_sequence_t RelativeCartesianLocation_sequence[] = {
  { &hf_f1ap_xYZunit        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_xYZunit },
  { &hf_f1ap_xvalue         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M65536_65535 },
  { &hf_f1ap_yvalue         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M65536_65535 },
  { &hf_f1ap_zvalue         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M32768_32767 },
  { &hf_f1ap_locationUncertainty, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_LocationUncertainty },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RelativeCartesianLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RelativeCartesianLocation, RelativeCartesianLocation_sequence);

  return offset;
}


static const value_string f1ap_ARPLocationType_vals[] = {
  {   0, "aRPPositionRelativeGeodetic" },
  {   1, "aRPPositionRelativeCartesian" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t ARPLocationType_choice[] = {
  {   0, &hf_f1ap_aRPPositionRelativeGeodetic, ASN1_NO_EXTENSIONS     , dissect_f1ap_RelativeGeodeticLocation },
  {   1, &hf_f1ap_aRPPositionRelativeCartesian, ASN1_NO_EXTENSIONS     , dissect_f1ap_RelativeCartesianLocation },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_ARPLocationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_ARPLocationType, ARPLocationType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ARPLocationInformation_Item_sequence[] = {
  { &hf_f1ap_aRP_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ARP_ID },
  { &hf_f1ap_aRPLocationType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ARPLocationType },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ARPLocationInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ARPLocationInformation_Item, ARPLocationInformation_Item_sequence);

  return offset;
}


static const per_sequence_t ARPLocationInformation_sequence_of[1] = {
  { &hf_f1ap_ARPLocationInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ARPLocationInformation_Item },
};

static int
dissect_f1ap_ARPLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_ARPLocationInformation, ARPLocationInformation_sequence_of,
                                                  1, maxnoARPs, false);

  return offset;
}



static int
dissect_f1ap_BAPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     10, 10, false, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_f1ap_BAPPathID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     10, 10, false, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t BAPRoutingID_sequence[] = {
  { &hf_f1ap_bAPAddress     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPAddress },
  { &hf_f1ap_bAPPathID      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPPathID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BAPRoutingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BAPRoutingID, BAPRoutingID_sequence);

  return offset;
}


static const value_string f1ap_NonF1terminatingTopologyIndicator_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_NonF1terminatingTopologyIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t BAP_Header_Rewriting_Added_List_Item_sequence[] = {
  { &hf_f1ap_ingressBAPRoutingID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPRoutingID },
  { &hf_f1ap_egressBAPRoutingID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPRoutingID },
  { &hf_f1ap_nonF1terminatingTopologyIndicator, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_NonF1terminatingTopologyIndicator },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BAP_Header_Rewriting_Added_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BAP_Header_Rewriting_Added_List_Item, BAP_Header_Rewriting_Added_List_Item_sequence);

  return offset;
}


static const per_sequence_t BAP_Header_Rewriting_Removed_List_Item_sequence[] = {
  { &hf_f1ap_ingressBAPRoutingID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPRoutingID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BAP_Header_Rewriting_Removed_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BAP_Header_Rewriting_Removed_List_Item, BAP_Header_Rewriting_Removed_List_Item_sequence);

  return offset;
}


static const value_string f1ap_FR1_Bandwidth_vals[] = {
  {   0, "bw5" },
  {   1, "bw10" },
  {   2, "bw20" },
  {   3, "bw40" },
  {   4, "bw50" },
  {   5, "bw80" },
  {   6, "bw100" },
  {   7, "bw160" },
  {   8, "bw200" },
  { 0, NULL }
};


static int
dissect_f1ap_FR1_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, true, 2, NULL);

  return offset;
}


static const value_string f1ap_FR2_Bandwidth_vals[] = {
  {   0, "bw50" },
  {   1, "bw100" },
  {   2, "bw200" },
  {   3, "bw400" },
  {   4, "bw800" },
  {   5, "bw1600" },
  {   6, "bw2000" },
  {   7, "bw600" },
  { 0, NULL }
};


static int
dissect_f1ap_FR2_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 4, NULL);

  return offset;
}


static const value_string f1ap_BandwidthSRS_vals[] = {
  {   0, "fR1" },
  {   1, "fR2" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t BandwidthSRS_choice[] = {
  {   0, &hf_f1ap_fR1            , ASN1_NO_EXTENSIONS     , dissect_f1ap_FR1_Bandwidth },
  {   1, &hf_f1ap_fR2            , ASN1_NO_EXTENSIONS     , dissect_f1ap_FR2_Bandwidth },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_BandwidthSRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_BandwidthSRS, BandwidthSRS_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_BAPCtrlPDUChannel_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_BAPCtrlPDUChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_MappingInformationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     26, 26, false, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_f1ap_BHRLCChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     16, 16, false, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t BAPlayerBHRLCchannelMappingInfo_Item_sequence[] = {
  { &hf_f1ap_mappingInformationIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MappingInformationIndex },
  { &hf_f1ap_priorHopBAPAddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BAPAddress },
  { &hf_f1ap_ingressbHRLCChannelID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_nextHopBAPAddress, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BAPAddress },
  { &hf_f1ap_egressbHRLCChannelID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BAPlayerBHRLCchannelMappingInfo_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BAPlayerBHRLCchannelMappingInfo_Item, BAPlayerBHRLCchannelMappingInfo_Item_sequence);

  return offset;
}


static const per_sequence_t BAPlayerBHRLCchannelMappingInfoList_sequence_of[1] = {
  { &hf_f1ap_BAPlayerBHRLCchannelMappingInfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPlayerBHRLCchannelMappingInfo_Item },
};

static int
dissect_f1ap_BAPlayerBHRLCchannelMappingInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BAPlayerBHRLCchannelMappingInfoList, BAPlayerBHRLCchannelMappingInfoList_sequence_of,
                                                  1, maxnoofMappingEntries, false);

  return offset;
}


static const per_sequence_t MappingInformationtoRemove_sequence_of[1] = {
  { &hf_f1ap_MappingInformationtoRemove_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MappingInformationIndex },
};

static int
dissect_f1ap_MappingInformationtoRemove(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MappingInformationtoRemove, MappingInformationtoRemove_sequence_of,
                                                  1, maxnoofMappingEntries, false);

  return offset;
}


static const per_sequence_t BAPlayerBHRLCchannelMappingInfo_sequence[] = {
  { &hf_f1ap_bAPlayerBHRLCchannelMappingInfoToAdd, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BAPlayerBHRLCchannelMappingInfoList },
  { &hf_f1ap_bAPlayerBHRLCchannelMappingInfoToRemove, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MappingInformationtoRemove },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BAPlayerBHRLCchannelMappingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BAPlayerBHRLCchannelMappingInfo, BAPlayerBHRLCchannelMappingInfo_sequence);

  return offset;
}


static const per_sequence_t MBSF1UInformation_sequence[] = {
  { &hf_f1ap_mbs_f1u_info   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UPTransportLayerInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBSF1UInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBSF1UInformation, MBSF1UInformation_sequence);

  return offset;
}



static int
dissect_f1ap_MBS_Area_Session_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 65535U, NULL, true);

  return offset;
}


static const per_sequence_t LocationDependentMBSF1UInformation_Item_sequence[] = {
  { &hf_f1ap_mbsAreaSession_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Area_Session_ID },
  { &hf_f1ap_mbs_f1u_info_at_CU, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UPTransportLayerInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LocationDependentMBSF1UInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LocationDependentMBSF1UInformation_Item, LocationDependentMBSF1UInformation_Item_sequence);

  return offset;
}


static const per_sequence_t LocationDependentMBSF1UInformation_sequence_of[1] = {
  { &hf_f1ap_LocationDependentMBSF1UInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_LocationDependentMBSF1UInformation_Item },
};

static int
dissect_f1ap_LocationDependentMBSF1UInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_LocationDependentMBSF1UInformation, LocationDependentMBSF1UInformation_sequence_of,
                                                  1, maxnoofMBSAreaSessionIDs, false);

  return offset;
}


static const value_string f1ap_BCBearerContextF1U_TNLInfo_vals[] = {
  {   0, "locationindpendent" },
  {   1, "locationdependent" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t BCBearerContextF1U_TNLInfo_choice[] = {
  {   0, &hf_f1ap_locationindpendent, ASN1_NO_EXTENSIONS     , dissect_f1ap_MBSF1UInformation },
  {   1, &hf_f1ap_locationdependent, ASN1_NO_EXTENSIONS     , dissect_f1ap_LocationDependentMBSF1UInformation },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_BCBearerContextF1U_TNLInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_BCBearerContextF1U_TNLInfo, BCBearerContextF1U_TNLInfo_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_BearerTypeChange_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_BearerTypeChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_CauseRadioNetwork_vals[] = {
  {   0, "unspecified" },
  {   1, "rl-failure-rlc" },
  {   2, "unknown-or-already-allocated-gnb-cu-ue-f1ap-id" },
  {   3, "unknown-or-already-allocated-gnb-du-ue-f1ap-id" },
  {   4, "unknown-or-inconsistent-pair-of-ue-f1ap-id" },
  {   5, "interaction-with-other-procedure" },
  {   6, "not-supported-qci-Value" },
  {   7, "action-desirable-for-radio-reasons" },
  {   8, "no-radio-resources-available" },
  {   9, "procedure-cancelled" },
  {  10, "normal-release" },
  {  11, "cell-not-available" },
  {  12, "rl-failure-others" },
  {  13, "ue-rejection" },
  {  14, "resources-not-available-for-the-slice" },
  {  15, "amf-initiated-abnormal-release" },
  {  16, "release-due-to-pre-emption" },
  {  17, "plmn-not-served-by-the-gNB-CU" },
  {  18, "multiple-drb-id-instances" },
  {  19, "unknown-drb-id" },
  {  20, "multiple-bh-rlc-ch-id-instances" },
  {  21, "unknown-bh-rlc-ch-id" },
  {  22, "cho-cpc-resources-tobechanged" },
  {  23, "nPN-not-supported" },
  {  24, "nPN-access-denied" },
  {  25, "gNB-CU-Cell-Capacity-Exceeded" },
  {  26, "report-characteristics-empty" },
  {  27, "existing-measurement-ID" },
  {  28, "measurement-temporarily-not-available" },
  {  29, "measurement-not-supported-for-the-object" },
  {  30, "unknown-bh-address" },
  {  31, "unknown-bap-routing-id" },
  {  32, "insufficient-ue-capabilities" },
  {  33, "scg-activation-deactivation-failure" },
  {  34, "scg-deactivation-failure-due-to-data-transmission" },
  {  35, "requested-item-not-supported-on-time" },
  {  36, "unknown-or-already-allocated-gNB-CU-MBS-F1AP-ID" },
  {  37, "unknown-or-already-allocated-gNB-DU-MBS-F1AP-ID" },
  {  38, "unknown-or-inconsistent-pair-of-MBS-F1AP-ID" },
  {  39, "unknown-or-inconsistent-MRB-ID" },
  {  40, "tat-sdt-expiry" },
  {  41, "lTM-command-triggered" },
  {  42, "sSB-not-available" },
  { 0, NULL }
};


static int
dissect_f1ap_CauseRadioNetwork(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, true, 32, NULL);

  return offset;
}


static const value_string f1ap_CauseTransport_vals[] = {
  {   0, "unspecified" },
  {   1, "transport-resource-unavailable" },
  {   2, "unknown-TNL-address-for-IAB" },
  {   3, "unknown-UP-TNL-information-for-IAB" },
  { 0, NULL }
};


static int
dissect_f1ap_CauseTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 2, NULL);

  return offset;
}


static const value_string f1ap_CauseProtocol_vals[] = {
  {   0, "transfer-syntax-error" },
  {   1, "abstract-syntax-error-reject" },
  {   2, "abstract-syntax-error-ignore-and-notify" },
  {   3, "message-not-compatible-with-receiver-state" },
  {   4, "semantic-error" },
  {   5, "abstract-syntax-error-falsely-constructed-message" },
  {   6, "unspecified" },
  { 0, NULL }
};


static int
dissect_f1ap_CauseProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_CauseMisc_vals[] = {
  {   0, "control-processing-overload" },
  {   1, "not-enough-user-plane-processing-resources" },
  {   2, "hardware-failure" },
  {   3, "om-intervention" },
  {   4, "unspecified" },
  { 0, NULL }
};


static int
dissect_f1ap_CauseMisc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_Cause_vals[] = {
  {   0, "radioNetwork" },
  {   1, "transport" },
  {   2, "protocol" },
  {   3, "misc" },
  {   4, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t Cause_choice[] = {
  {   0, &hf_f1ap_radioNetwork   , ASN1_NO_EXTENSIONS     , dissect_f1ap_CauseRadioNetwork },
  {   1, &hf_f1ap_transport      , ASN1_NO_EXTENSIONS     , dissect_f1ap_CauseTransport },
  {   2, &hf_f1ap_protocol       , ASN1_NO_EXTENSIONS     , dissect_f1ap_CauseProtocol },
  {   3, &hf_f1ap_misc           , ASN1_NO_EXTENSIONS     , dissect_f1ap_CauseMisc },
  {   4, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_Cause, Cause_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BHChannels_FailedToBeModified_Item_sequence[] = {
  { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_cause          , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BHChannels_FailedToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BHChannels_FailedToBeModified_Item, BHChannels_FailedToBeModified_Item_sequence);

  return offset;
}


static const per_sequence_t BHChannels_FailedToBeSetup_Item_sequence[] = {
  { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_cause          , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BHChannels_FailedToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BHChannels_FailedToBeSetup_Item, BHChannels_FailedToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t BHChannels_FailedToBeSetupMod_Item_sequence[] = {
  { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_cause          , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BHChannels_FailedToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BHChannels_FailedToBeSetupMod_Item, BHChannels_FailedToBeSetupMod_Item_sequence);

  return offset;
}


static const per_sequence_t BHChannels_Modified_Item_sequence[] = {
  { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BHChannels_Modified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BHChannels_Modified_Item, BHChannels_Modified_Item_sequence);

  return offset;
}


static const per_sequence_t BHChannels_Required_ToBeReleased_Item_sequence[] = {
  { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BHChannels_Required_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BHChannels_Required_ToBeReleased_Item, BHChannels_Required_ToBeReleased_Item_sequence);

  return offset;
}


static const per_sequence_t BHChannels_Setup_Item_sequence[] = {
  { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BHChannels_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BHChannels_Setup_Item, BHChannels_Setup_Item_sequence);

  return offset;
}


static const per_sequence_t BHChannels_SetupMod_Item_sequence[] = {
  { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BHChannels_SetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BHChannels_SetupMod_Item, BHChannels_SetupMod_Item_sequence);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_255_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 255U, NULL, true);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 127U, NULL, false);

  return offset;
}



static int
dissect_f1ap_MaxDataBurstVolume(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4095U, NULL, true);

  return offset;
}


static const per_sequence_t NonDynamic5QIDescriptor_sequence[] = {
  { &hf_f1ap_fiveQI         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_255_ },
  { &hf_f1ap_qoSPriorityLevel, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_1_127 },
  { &hf_f1ap_averagingWindow, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_AveragingWindow },
  { &hf_f1ap_maxDataBurstVolume, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_MaxDataBurstVolume },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NonDynamic5QIDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NonDynamic5QIDescriptor, NonDynamic5QIDescriptor_sequence);

  return offset;
}


static const value_string f1ap_T_delayCritical_vals[] = {
  {   0, "delay-critical" },
  {   1, "non-delay-critical" },
  { 0, NULL }
};


static int
dissect_f1ap_T_delayCritical(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, false, 0, NULL);

  return offset;
}


static const per_sequence_t Dynamic5QIDescriptor_sequence[] = {
  { &hf_f1ap_qoSPriorityLevel, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_127 },
  { &hf_f1ap_packetDelayBudget, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PacketDelayBudget },
  { &hf_f1ap_packetErrorRate, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PacketErrorRate },
  { &hf_f1ap_fiveQI         , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_255_ },
  { &hf_f1ap_delayCritical  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_delayCritical },
  { &hf_f1ap_averagingWindow, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_AveragingWindow },
  { &hf_f1ap_maxDataBurstVolume, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_MaxDataBurstVolume },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Dynamic5QIDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Dynamic5QIDescriptor, Dynamic5QIDescriptor_sequence);

  return offset;
}


static const value_string f1ap_QoS_Characteristics_vals[] = {
  {   0, "non-Dynamic-5QI" },
  {   1, "dynamic-5QI" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t QoS_Characteristics_choice[] = {
  {   0, &hf_f1ap_non_Dynamic_5QI, ASN1_NO_EXTENSIONS     , dissect_f1ap_NonDynamic5QIDescriptor },
  {   1, &hf_f1ap_dynamic_5QI    , ASN1_NO_EXTENSIONS     , dissect_f1ap_Dynamic5QIDescriptor },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_QoS_Characteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_QoS_Characteristics, QoS_Characteristics_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t NGRANAllocationAndRetentionPriority_sequence[] = {
  { &hf_f1ap_priorityLevel  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PriorityLevel },
  { &hf_f1ap_pre_emptionCapability, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Pre_emptionCapability },
  { &hf_f1ap_pre_emptionVulnerability, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Pre_emptionVulnerability },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NGRANAllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NGRANAllocationAndRetentionPriority, NGRANAllocationAndRetentionPriority_sequence);

  return offset;
}



static int
dissect_f1ap_MaxPacketLossRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1000U, NULL, false);

  return offset;
}


static const per_sequence_t GBR_QoSFlowInformation_sequence[] = {
  { &hf_f1ap_maxFlowBitRateDownlink, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_maxFlowBitRateUplink, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_guaranteedFlowBitRateDownlink, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_guaranteedFlowBitRateUplink, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_maxPacketLossRateDownlink, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MaxPacketLossRate },
  { &hf_f1ap_maxPacketLossRateUplink, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MaxPacketLossRate },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GBR_QoSFlowInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GBR_QoSFlowInformation, GBR_QoSFlowInformation_sequence);

  return offset;
}


static const value_string f1ap_T_reflective_QoS_Attribute_vals[] = {
  {   0, "subject-to" },
  { 0, NULL }
};


static int
dissect_f1ap_T_reflective_QoS_Attribute(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t QoSFlowLevelQoSParameters_sequence[] = {
  { &hf_f1ap_qoS_Characteristics, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_QoS_Characteristics },
  { &hf_f1ap_nGRANallocationRetentionPriority, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NGRANAllocationAndRetentionPriority },
  { &hf_f1ap_gBR_QoS_Flow_Information, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_GBR_QoSFlowInformation },
  { &hf_f1ap_reflective_QoS_Attribute, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_reflective_QoS_Attribute },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_QoSFlowLevelQoSParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_QoSFlowLevelQoSParameters, QoSFlowLevelQoSParameters_sequence);

  return offset;
}



static int
dissect_f1ap_QCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 255U, NULL, false);

  return offset;
}


static const per_sequence_t GBR_QosInformation_sequence[] = {
  { &hf_f1ap_e_RAB_MaximumBitrateDL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_e_RAB_MaximumBitrateUL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_e_RAB_GuaranteedBitrateDL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_e_RAB_GuaranteedBitrateUL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GBR_QosInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GBR_QosInformation, GBR_QosInformation_sequence);

  return offset;
}


static const per_sequence_t EUTRANQoS_sequence[] = {
  { &hf_f1ap_qCI            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_QCI },
  { &hf_f1ap_allocationAndRetentionPriority, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_AllocationAndRetentionPriority },
  { &hf_f1ap_gbrQosInformation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_GBR_QosInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_EUTRANQoS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_EUTRANQoS, EUTRANQoS_sequence);

  return offset;
}



static int
dissect_f1ap_CPTrafficType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 3U, NULL, true);

  return offset;
}


static const value_string f1ap_BHQoSInformation_vals[] = {
  {   0, "bHRLCCHQoS" },
  {   1, "eUTRANBHRLCCHQoS" },
  {   2, "cPTrafficType" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t BHQoSInformation_choice[] = {
  {   0, &hf_f1ap_bHRLCCHQoS     , ASN1_NO_EXTENSIONS     , dissect_f1ap_QoSFlowLevelQoSParameters },
  {   1, &hf_f1ap_eUTRANBHRLCCHQoS, ASN1_NO_EXTENSIONS     , dissect_f1ap_EUTRANQoS },
  {   2, &hf_f1ap_cPTrafficType  , ASN1_NO_EXTENSIONS     , dissect_f1ap_CPTrafficType },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_BHQoSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_BHQoSInformation, BHQoSInformation_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_RLCMode_vals[] = {
  {   0, "rlc-am" },
  {   1, "rlc-um-bidirectional" },
  {   2, "rlc-um-unidirectional-ul" },
  {   3, "rlc-um-unidirectional-dl" },
  { 0, NULL }
};


static int
dissect_f1ap_RLCMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_T_iPv4Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     32, 32, false, NULL, 0, &param_tvb, NULL);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_IABTNLAddressIPv4Address);
    proto_tree_add_item(subtree, hf_f1ap_IABTNLAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN);
  }


  return offset;
}



static int
dissect_f1ap_T_iPv6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     128, 128, false, NULL, 0, &param_tvb, NULL);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_IABTNLAddressIPv6Address);
    proto_tree_add_item(subtree, hf_f1ap_IABTNLAddressIPv6, param_tvb, 0, 16, ENC_NA);
  }


  return offset;
}



static int
dissect_f1ap_T_iPv6Prefix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     64, 64, false, NULL, 0, &param_tvb, NULL);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_IABTNLAddressIPv6Prefix);
    proto_tree_add_item(subtree, hf_f1ap_IABTNLAddressIPv6Prefix, param_tvb, 0, 8, ENC_NA);
  }


  return offset;
}


static const value_string f1ap_IABTNLAddress_vals[] = {
  {   0, "iPv4Address" },
  {   1, "iPv6Address" },
  {   2, "iPv6Prefix" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t IABTNLAddress_choice[] = {
  {   0, &hf_f1ap_iPv4Address    , ASN1_NO_EXTENSIONS     , dissect_f1ap_T_iPv4Address },
  {   1, &hf_f1ap_iPv6Address_01 , ASN1_NO_EXTENSIONS     , dissect_f1ap_T_iPv6Address },
  {   2, &hf_f1ap_iPv6Prefix_01  , ASN1_NO_EXTENSIONS     , dissect_f1ap_T_iPv6Prefix },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_IABTNLAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_IABTNLAddress, IABTNLAddress_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_DSCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     6, 6, false, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t DSInformationList_sequence_of[1] = {
  { &hf_f1ap_DSInformationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DSCP },
};

static int
dissect_f1ap_DSInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DSInformationList, DSInformationList_sequence_of,
                                                  0, maxnoofDSInfo, false);

  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     20, 20, false, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t IPHeaderInformation_sequence[] = {
  { &hf_f1ap_destinationIABTNLAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_IABTNLAddress },
  { &hf_f1ap_dsInformationList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_DSInformationList },
  { &hf_f1ap_iPv6FlowLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BIT_STRING_SIZE_20 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IPHeaderInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IPHeaderInformation, IPHeaderInformation_sequence);

  return offset;
}


static const per_sequence_t EgressBHRLCCHItem_sequence[] = {
  { &hf_f1ap_nextHopBAPAddress, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPAddress },
  { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_EgressBHRLCCHItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_EgressBHRLCCHItem, EgressBHRLCCHItem_sequence);

  return offset;
}


static const per_sequence_t EgressBHRLCCHList_sequence_of[1] = {
  { &hf_f1ap_EgressBHRLCCHList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_EgressBHRLCCHItem },
};

static int
dissect_f1ap_EgressBHRLCCHList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_EgressBHRLCCHList, EgressBHRLCCHList_sequence_of,
                                                  1, maxnoofEgressLinks, false);

  return offset;
}


static const per_sequence_t BHInfo_sequence[] = {
  { &hf_f1ap_bAProutingID   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_BAPRoutingID },
  { &hf_f1ap_egressBHRLCCHList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_EgressBHRLCCHList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BHInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BHInfo, BHInfo_sequence);

  return offset;
}


static const per_sequence_t IPtolayer2TrafficMappingInfo_Item_sequence[] = {
  { &hf_f1ap_mappingInformationIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MappingInformationIndex },
  { &hf_f1ap_iPHeaderInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_IPHeaderInformation },
  { &hf_f1ap_bHInfo         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BHInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IPtolayer2TrafficMappingInfo_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IPtolayer2TrafficMappingInfo_Item, IPtolayer2TrafficMappingInfo_Item_sequence);

  return offset;
}


static const per_sequence_t IPtolayer2TrafficMappingInfoList_sequence_of[1] = {
  { &hf_f1ap_IPtolayer2TrafficMappingInfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_IPtolayer2TrafficMappingInfo_Item },
};

static int
dissect_f1ap_IPtolayer2TrafficMappingInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_IPtolayer2TrafficMappingInfoList, IPtolayer2TrafficMappingInfoList_sequence_of,
                                                  1, maxnoofMappingEntries, false);

  return offset;
}


static const per_sequence_t IPtolayer2TrafficMappingInfo_sequence[] = {
  { &hf_f1ap_iPtolayer2TrafficMappingInfoToAdd, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_IPtolayer2TrafficMappingInfoList },
  { &hf_f1ap_iPtolayer2TrafficMappingInfoToRemove, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MappingInformationtoRemove },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IPtolayer2TrafficMappingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IPtolayer2TrafficMappingInfo, IPtolayer2TrafficMappingInfo_sequence);

  return offset;
}


static const value_string f1ap_TrafficMappingInfo_vals[] = {
  {   0, "iPtolayer2TrafficMappingInfo" },
  {   1, "bAPlayerBHRLCchannelMappingInfo" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t TrafficMappingInfo_choice[] = {
  {   0, &hf_f1ap_iPtolayer2TrafficMappingInfo, ASN1_NO_EXTENSIONS     , dissect_f1ap_IPtolayer2TrafficMappingInfo },
  {   1, &hf_f1ap_bAPlayerBHRLCchannelMappingInfo, ASN1_NO_EXTENSIONS     , dissect_f1ap_BAPlayerBHRLCchannelMappingInfo },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_TrafficMappingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_TrafficMappingInfo, TrafficMappingInfo_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t BHChannels_ToBeModified_Item_sequence[] = {
  { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_bHQoSInformation, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHQoSInformation },
  { &hf_f1ap_rLCmode        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_RLCMode },
  { &hf_f1ap_bAPCtrlPDUChannel, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_BAPCtrlPDUChannel },
  { &hf_f1ap_trafficMappingInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_TrafficMappingInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BHChannels_ToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BHChannels_ToBeModified_Item, BHChannels_ToBeModified_Item_sequence);

  return offset;
}


static const per_sequence_t BHChannels_ToBeReleased_Item_sequence[] = {
  { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BHChannels_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BHChannels_ToBeReleased_Item, BHChannels_ToBeReleased_Item_sequence);

  return offset;
}


static const per_sequence_t BHChannels_ToBeSetup_Item_sequence[] = {
  { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_bHQoSInformation, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHQoSInformation },
  { &hf_f1ap_rLCmode        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCMode },
  { &hf_f1ap_bAPCtrlPDUChannel, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_BAPCtrlPDUChannel },
  { &hf_f1ap_trafficMappingInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_TrafficMappingInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BHChannels_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BHChannels_ToBeSetup_Item, BHChannels_ToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t BHChannels_ToBeSetupMod_Item_sequence[] = {
  { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_bHQoSInformation, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHQoSInformation },
  { &hf_f1ap_rLCmode        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCMode },
  { &hf_f1ap_bAPCtrlPDUChannel, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_BAPCtrlPDUChannel },
  { &hf_f1ap_trafficMappingInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_TrafficMappingInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BHChannels_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BHChannels_ToBeSetupMod_Item, BHChannels_ToBeSetupMod_Item_sequence);

  return offset;
}


static const per_sequence_t BHRLCCHItem_sequence[] = {
  { &hf_f1ap_bHRLCChannelID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCChannelID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BHRLCCHItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BHRLCCHItem, BHRLCCHItem_sequence);

  return offset;
}


static const per_sequence_t BHRLCCHList_sequence_of[1] = {
  { &hf_f1ap_BHRLCCHList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHRLCCHItem },
};

static int
dissect_f1ap_BHRLCCHList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BHRLCCHList, BHRLCCHList_sequence_of,
                                                  1, maxnoofBHRLCChannels, false);

  return offset;
}


static const per_sequence_t BH_Routing_Information_Added_List_Item_sequence[] = {
  { &hf_f1ap_bAPRoutingID   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPRoutingID },
  { &hf_f1ap_nextHopBAPAddress, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPAddress },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BH_Routing_Information_Added_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BH_Routing_Information_Added_List_Item, BH_Routing_Information_Added_List_Item_sequence);

  return offset;
}


static const per_sequence_t BH_Routing_Information_Removed_List_Item_sequence[] = {
  { &hf_f1ap_bAPRoutingID   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPRoutingID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BH_Routing_Information_Removed_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BH_Routing_Information_Removed_List_Item, BH_Routing_Information_Removed_List_Item_sequence);

  return offset;
}


static const per_sequence_t ExtendedAvailablePLMN_Item_sequence[] = {
  { &hf_f1ap_pLMNIdentity   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ExtendedAvailablePLMN_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ExtendedAvailablePLMN_Item, ExtendedAvailablePLMN_Item_sequence);

  return offset;
}


static const per_sequence_t ExtendedAvailablePLMN_List_sequence_of[1] = {
  { &hf_f1ap_ExtendedAvailablePLMN_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ExtendedAvailablePLMN_Item },
};

static int
dissect_f1ap_ExtendedAvailablePLMN_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_ExtendedAvailablePLMN_List, ExtendedAvailablePLMN_List_sequence_of,
                                                  1, maxnoofExtendedBPLMNs, false);

  return offset;
}



static int
dissect_f1ap_FiveGS_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *parameter_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
                                       3, 3, false, &parameter_tvb);

  if (parameter_tvb) {
    actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN);
  }


  return offset;
}



static int
dissect_f1ap_RANAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 255U, NULL, false);

  return offset;
}


static const per_sequence_t BPLMN_ID_Info_Item_sequence[] = {
  { &hf_f1ap_pLMN_Identity_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_AvailablePLMNList },
  { &hf_f1ap_extended_PLMN_Identity_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ExtendedAvailablePLMN_List },
  { &hf_f1ap_fiveGS_TAC     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_FiveGS_TAC },
  { &hf_f1ap_nr_cell_ID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCellIdentity },
  { &hf_f1ap_ranac          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RANAC },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BPLMN_ID_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BPLMN_ID_Info_Item, BPLMN_ID_Info_Item_sequence);

  return offset;
}


static const per_sequence_t BPLMN_ID_Info_List_sequence_of[1] = {
  { &hf_f1ap_BPLMN_ID_Info_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BPLMN_ID_Info_Item },
};

static int
dissect_f1ap_BPLMN_ID_Info_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BPLMN_ID_Info_List, BPLMN_ID_Info_List_sequence_of,
                                                  1, maxnoofBPLMNsNR, false);

  return offset;
}


static const per_sequence_t ServedPLMNs_Item_sequence[] = {
  { &hf_f1ap_pLMN_Identity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ServedPLMNs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ServedPLMNs_Item, ServedPLMNs_Item_sequence);

  return offset;
}


static const per_sequence_t ServedPLMNs_List_sequence_of[1] = {
  { &hf_f1ap_ServedPLMNs_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ServedPLMNs_Item },
};

static int
dissect_f1ap_ServedPLMNs_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_ServedPLMNs_List, ServedPLMNs_List_sequence_of,
                                                  1, maxnoofBPLMNs, false);

  return offset;
}



static int
dissect_f1ap_CAGID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     32, 32, false, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t BroadcastCAGList_sequence_of[1] = {
  { &hf_f1ap_BroadcastCAGList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CAGID },
};

static int
dissect_f1ap_BroadcastCAGList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastCAGList, BroadcastCAGList_sequence_of,
                                                  1, maxnoofCAGsupported, false);

  return offset;
}



static int
dissect_f1ap_MRB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 512U, NULL, true);

  return offset;
}


static const per_sequence_t BroadcastMRBs_FailedToBeModified_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastMRBs_FailedToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastMRBs_FailedToBeModified_Item, BroadcastMRBs_FailedToBeModified_Item_sequence);

  return offset;
}


static const per_sequence_t BroadcastMRBs_FailedToBeSetup_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastMRBs_FailedToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastMRBs_FailedToBeSetup_Item, BroadcastMRBs_FailedToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t BroadcastMRBs_FailedToBeSetupMod_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastMRBs_FailedToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastMRBs_FailedToBeSetupMod_Item, BroadcastMRBs_FailedToBeSetupMod_Item_sequence);

  return offset;
}


static const per_sequence_t BroadcastMRBs_Modified_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_bcBearerCtxtF1U_TNLInfoatDU, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BCBearerContextF1U_TNLInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastMRBs_Modified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastMRBs_Modified_Item, BroadcastMRBs_Modified_Item_sequence);

  return offset;
}


static const per_sequence_t BroadcastMRBs_Setup_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_bcBearerCtxtF1U_TNLInfoatDU, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BCBearerContextF1U_TNLInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastMRBs_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastMRBs_Setup_Item, BroadcastMRBs_Setup_Item_sequence);

  return offset;
}


static const per_sequence_t BroadcastMRBs_SetupMod_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_bcBearerCtxtF1U_TNLInfoatDU, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BCBearerContextF1U_TNLInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastMRBs_SetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastMRBs_SetupMod_Item, BroadcastMRBs_SetupMod_Item_sequence);

  return offset;
}



static int
dissect_f1ap_QoSFlowIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 63U, NULL, false);

  return offset;
}


static const per_sequence_t MBS_Flows_Mapped_To_MRB_Item_sequence[] = {
  { &hf_f1ap_mBS_QoSFlowIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowIdentifier },
  { &hf_f1ap_mbs_QoSFlowLevelQoSParameters, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowLevelQoSParameters },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBS_Flows_Mapped_To_MRB_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBS_Flows_Mapped_To_MRB_Item, MBS_Flows_Mapped_To_MRB_Item_sequence);

  return offset;
}


static const per_sequence_t MBS_Flows_Mapped_To_MRB_List_sequence_of[1] = {
  { &hf_f1ap_MBS_Flows_Mapped_To_MRB_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Flows_Mapped_To_MRB_Item },
};

static int
dissect_f1ap_MBS_Flows_Mapped_To_MRB_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MBS_Flows_Mapped_To_MRB_List, MBS_Flows_Mapped_To_MRB_List_sequence_of,
                                                  1, maxnoofMBSQoSFlows, false);

  return offset;
}


static const per_sequence_t BroadcastMRBs_ToBeModified_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_mRB_QoSInformation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_QoSFlowLevelQoSParameters },
  { &hf_f1ap_mBS_Flows_Mapped_To_MRB_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MBS_Flows_Mapped_To_MRB_List },
  { &hf_f1ap_bcBearerCtxtF1U_TNLInfoatCU, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BCBearerContextF1U_TNLInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastMRBs_ToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastMRBs_ToBeModified_Item, BroadcastMRBs_ToBeModified_Item_sequence);

  return offset;
}


static const per_sequence_t BroadcastMRBs_ToBeReleased_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastMRBs_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastMRBs_ToBeReleased_Item, BroadcastMRBs_ToBeReleased_Item_sequence);

  return offset;
}


static const per_sequence_t BroadcastMRBs_ToBeSetup_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_mRB_QoSInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowLevelQoSParameters },
  { &hf_f1ap_mBS_Flows_Mapped_To_MRB_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Flows_Mapped_To_MRB_List },
  { &hf_f1ap_bcBearerCtxtF1U_TNLInfoatCU, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BCBearerContextF1U_TNLInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastMRBs_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastMRBs_ToBeSetup_Item, BroadcastMRBs_ToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t BroadcastMRBs_ToBeSetupMod_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_mRB_QoSInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowLevelQoSParameters },
  { &hf_f1ap_mBS_Flows_Mapped_To_MRB_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Flows_Mapped_To_MRB_List },
  { &hf_f1ap_bcBearerCtxtF1U_TNLInfoatCU, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BCBearerContextF1U_TNLInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastMRBs_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastMRBs_ToBeSetupMod_Item, BroadcastMRBs_ToBeSetupMod_Item_sequence);

  return offset;
}


static const per_sequence_t BroadcastSNPN_ID_List_Item_sequence[] = {
  { &hf_f1ap_pLMN_Identity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_broadcastNIDList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastNIDList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastSNPN_ID_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastSNPN_ID_List_Item, BroadcastSNPN_ID_List_Item_sequence);

  return offset;
}


static const per_sequence_t BroadcastSNPN_ID_List_sequence_of[1] = {
  { &hf_f1ap_BroadcastSNPN_ID_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastSNPN_ID_List_Item },
};

static int
dissect_f1ap_BroadcastSNPN_ID_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastSNPN_ID_List, BroadcastSNPN_ID_List_sequence_of,
                                                  1, maxnoofNIDsupported, false);

  return offset;
}


static const per_sequence_t BroadcastPNI_NPN_ID_List_Item_sequence[] = {
  { &hf_f1ap_pLMN_Identity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_broadcastCAGList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastCAGList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastPNI_NPN_ID_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastPNI_NPN_ID_List_Item, BroadcastPNI_NPN_ID_List_Item_sequence);

  return offset;
}


static const per_sequence_t BroadcastPNI_NPN_ID_List_sequence_of[1] = {
  { &hf_f1ap_BroadcastPNI_NPN_ID_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastPNI_NPN_ID_List_Item },
};

static int
dissect_f1ap_BroadcastPNI_NPN_ID_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastPNI_NPN_ID_List, BroadcastPNI_NPN_ID_List_sequence_of,
                                                  1, maxnoofCAGsupported, false);

  return offset;
}


static const per_sequence_t Broadcast_Cell_List_Item_sequence[] = {
  { &hf_f1ap_cellID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Broadcast_Cell_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Broadcast_Cell_List_Item, Broadcast_Cell_List_Item_sequence);

  return offset;
}


static const per_sequence_t BroadcastCellList_sequence_of[1] = {
  { &hf_f1ap_BroadcastCellList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Broadcast_Cell_List_Item },
};

static int
dissect_f1ap_BroadcastCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastCellList, BroadcastCellList_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t PartialSuccessCell_sequence[] = {
  { &hf_f1ap_broadcastCellList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastCellList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PartialSuccessCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PartialSuccessCell, PartialSuccessCell_sequence);

  return offset;
}


static const value_string f1ap_BroadcastAreaScope_vals[] = {
  {   0, "completeSuccess" },
  {   1, "partialSuccess" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t BroadcastAreaScope_choice[] = {
  {   0, &hf_f1ap_completeSuccess, ASN1_NO_EXTENSIONS     , dissect_f1ap_NULL },
  {   1, &hf_f1ap_partialSuccess , ASN1_NO_EXTENSIONS     , dissect_f1ap_PartialSuccessCell },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_BroadcastAreaScope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_BroadcastAreaScope, BroadcastAreaScope_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_BufferSizeThresh(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 16777215U, NULL, false);

  return offset;
}



static int
dissect_f1ap_BurstArrivalTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_BurstArrivalTime);
    dissect_nr_rrc_ReferenceTime_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_BW_Aggregation_Request_Indication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_BW_Aggregation_Request_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_640000_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 640000U, NULL, true);

  return offset;
}


static const per_sequence_t BurstArrivalTimeWindow_sequence[] = {
  { &hf_f1ap_burstArrivalTimeWindowStart, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_640000_ },
  { &hf_f1ap_burstArrivalTimeWindowEnd, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_640000_ },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BurstArrivalTimeWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BurstArrivalTimeWindow, BurstArrivalTimeWindow_sequence);

  return offset;
}


static const per_sequence_t Broadcast_MRBs_Transport_Request_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_bcBearerCtxtF1U_TNLInfoatDU, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BCBearerContextF1U_TNLInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Broadcast_MRBs_Transport_Request_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Broadcast_MRBs_Transport_Request_Item, Broadcast_MRBs_Transport_Request_Item_sequence);

  return offset;
}


static const value_string f1ap_Cancel_all_Warning_Messages_Indicator_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_Cancel_all_Warning_Messages_Indicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t Candidate_SpCell_Item_sequence[] = {
  { &hf_f1ap_candidate_SpCell_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Candidate_SpCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Candidate_SpCell_Item, Candidate_SpCell_Item_sequence);

  return offset;
}


static const per_sequence_t SSBAreaCapacityValueItem_sequence[] = {
  { &hf_f1ap_sSBIndex       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_63 },
  { &hf_f1ap_sSBAreaCapacityValue, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SSBAreaCapacityValueItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SSBAreaCapacityValueItem, SSBAreaCapacityValueItem_sequence);

  return offset;
}


static const per_sequence_t SSBAreaCapacityValueList_sequence_of[1] = {
  { &hf_f1ap_SSBAreaCapacityValueList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBAreaCapacityValueItem },
};

static int
dissect_f1ap_SSBAreaCapacityValueList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SSBAreaCapacityValueList, SSBAreaCapacityValueList_sequence_of,
                                                  1, maxnoofSSBAreas, false);

  return offset;
}


static const per_sequence_t CapacityValue_sequence[] = {
  { &hf_f1ap_capacityValue  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_sSBAreaCapacityValueList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_SSBAreaCapacityValueList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CapacityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CapacityValue, CapacityValue_sequence);

  return offset;
}



static int
dissect_f1ap_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_CellGroupConfig);
    dissect_nr_rrc_CellGroupConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_CellCapacityClassValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 100U, NULL, true);

  return offset;
}


static const value_string f1ap_Cell_Direction_vals[] = {
  {   0, "dl-only" },
  {   1, "ul-only" },
  { 0, NULL }
};


static int
dissect_f1ap_Cell_Direction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, false, 0, NULL);

  return offset;
}


static const per_sequence_t SSBAreaRadioResourceStatusItem_sequence[] = {
  { &hf_f1ap_sSBIndex       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_63 },
  { &hf_f1ap_sSBAreaDLGBRPRBusage, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_sSBAreaULGBRPRBusage, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_sSBAreaDLnon_GBRPRBusage, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_sSBAreaULnon_GBRPRBusage, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_sSBAreaDLTotalPRBusage, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_sSBAreaULTotalPRBusage, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_dLschedulingPDCCHCCEusage, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_uLschedulingPDCCHCCEusage, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SSBAreaRadioResourceStatusItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SSBAreaRadioResourceStatusItem, SSBAreaRadioResourceStatusItem_sequence);

  return offset;
}


static const per_sequence_t SSBAreaRadioResourceStatusList_sequence_of[1] = {
  { &hf_f1ap_SSBAreaRadioResourceStatusList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBAreaRadioResourceStatusItem },
};

static int
dissect_f1ap_SSBAreaRadioResourceStatusList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SSBAreaRadioResourceStatusList, SSBAreaRadioResourceStatusList_sequence_of,
                                                  1, maxnoofSSBAreas, false);

  return offset;
}


static const per_sequence_t RadioResourceStatus_sequence[] = {
  { &hf_f1ap_sSBAreaRadioResourceStatusList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBAreaRadioResourceStatusList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RadioResourceStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RadioResourceStatus, RadioResourceStatus_sequence);

  return offset;
}


static const per_sequence_t CompositeAvailableCapacity_sequence[] = {
  { &hf_f1ap_cellCapacityClassValue, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_CellCapacityClassValue },
  { &hf_f1ap_capacityValue_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CapacityValue },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CompositeAvailableCapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CompositeAvailableCapacity, CompositeAvailableCapacity_sequence);

  return offset;
}


static const per_sequence_t CompositeAvailableCapacityGroup_sequence[] = {
  { &hf_f1ap_compositeAvailableCapacityDownlink, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CompositeAvailableCapacity },
  { &hf_f1ap_compositeAvailableCapacityUplink, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CompositeAvailableCapacity },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CompositeAvailableCapacityGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CompositeAvailableCapacityGroup, CompositeAvailableCapacityGroup_sequence);

  return offset;
}



static int
dissect_f1ap_OCTET_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       1, 1, false, NULL);

  return offset;
}



static int
dissect_f1ap_OCTET_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       3, 3, false, NULL);

  return offset;
}


static const per_sequence_t SNSSAI_sequence[] = {
  { &hf_f1ap_sST            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_OCTET_STRING_SIZE_1 },
  { &hf_f1ap_sD             , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_OCTET_STRING_SIZE_3 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SNSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SNSSAI, SNSSAI_sequence);

  return offset;
}


static const per_sequence_t SNSSAIAvailableCapacity_Item_sequence[] = {
  { &hf_f1ap_sNSSAI         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI },
  { &hf_f1ap_sliceAvailableCapacityValueDownlink, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_sliceAvailableCapacityValueUplink, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SNSSAIAvailableCapacity_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SNSSAIAvailableCapacity_Item, SNSSAIAvailableCapacity_Item_sequence);

  return offset;
}


static const per_sequence_t SNSSAIAvailableCapacity_List_sequence_of[1] = {
  { &hf_f1ap_SNSSAIAvailableCapacity_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAIAvailableCapacity_Item },
};

static int
dissect_f1ap_SNSSAIAvailableCapacity_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SNSSAIAvailableCapacity_List, SNSSAIAvailableCapacity_List_sequence_of,
                                                  1, maxnoofSliceItems, false);

  return offset;
}


static const per_sequence_t SliceAvailableCapacityItem_sequence[] = {
  { &hf_f1ap_pLMNIdentity   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_sNSSAIAvailableCapacity_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAIAvailableCapacity_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SliceAvailableCapacityItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SliceAvailableCapacityItem, SliceAvailableCapacityItem_sequence);

  return offset;
}


static const per_sequence_t SliceAvailableCapacityList_sequence_of[1] = {
  { &hf_f1ap_SliceAvailableCapacityList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SliceAvailableCapacityItem },
};

static int
dissect_f1ap_SliceAvailableCapacityList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SliceAvailableCapacityList, SliceAvailableCapacityList_sequence_of,
                                                  1, maxnoofBPLMNsNR, false);

  return offset;
}


static const per_sequence_t SliceAvailableCapacity_sequence[] = {
  { &hf_f1ap_sliceAvailableCapacityList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SliceAvailableCapacityList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SliceAvailableCapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SliceAvailableCapacity, SliceAvailableCapacity_sequence);

  return offset;
}



static int
dissect_f1ap_NumberofActiveUEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 16777215U, NULL, true);

  return offset;
}


static const per_sequence_t CellMeasurementResultItem_sequence[] = {
  { &hf_f1ap_cellID         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_radioResourceStatus, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_RadioResourceStatus },
  { &hf_f1ap_compositeAvailableCapacityGroup, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_CompositeAvailableCapacityGroup },
  { &hf_f1ap_sliceAvailableCapacity, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_SliceAvailableCapacity },
  { &hf_f1ap_numberofActiveUEs, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_NumberofActiveUEs },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CellMeasurementResultItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CellMeasurementResultItem, CellMeasurementResultItem_sequence);

  return offset;
}


static const per_sequence_t CellMeasurementResultList_sequence_of[1] = {
  { &hf_f1ap_CellMeasurementResultList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CellMeasurementResultItem },
};

static int
dissect_f1ap_CellMeasurementResultList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_CellMeasurementResultList, CellMeasurementResultList_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}



static int
dissect_f1ap_Cell_Portion_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4095U, NULL, true);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_maxNRARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNRARFCN, NULL, false);

  return offset;
}


static const value_string f1ap_FrequencyShift7p5khz_vals[] = {
  {   0, "false" },
  {   1, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_FrequencyShift7p5khz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_NRSCS_vals[] = {
  {   0, "scs15" },
  {   1, "scs30" },
  {   2, "scs60" },
  {   3, "scs120" },
  {   4, "scs480" },
  {   5, "scs960" },
  { 0, NULL }
};


static int
dissect_f1ap_NRSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 2, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_2199_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 2199U, NULL, true);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_maxnoofPhysicalResourceBlocks_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxnoofPhysicalResourceBlocks, NULL, true);

  return offset;
}


static const per_sequence_t NRCarrierItem_sequence[] = {
  { &hf_f1ap_carrierSCS     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRSCS },
  { &hf_f1ap_offsetToCarrier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_2199_ },
  { &hf_f1ap_carrierBandwidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_maxnoofPhysicalResourceBlocks_ },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NRCarrierItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NRCarrierItem, NRCarrierItem_sequence);

  return offset;
}


static const per_sequence_t NRCarrierList_sequence_of[1] = {
  { &hf_f1ap_NRCarrierList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCarrierItem },
};

static int
dissect_f1ap_NRCarrierList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_NRCarrierList, NRCarrierList_sequence_of,
                                                  1, maxnoofNRSCSs, false);

  return offset;
}


static const per_sequence_t FreqInfoRel16_sequence[] = {
  { &hf_f1ap_nRARFCN        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_maxNRARFCN },
  { &hf_f1ap_frequencyShift7p5khz, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_FrequencyShift7p5khz },
  { &hf_f1ap_carrierList    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NRCarrierList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_FreqInfoRel16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_FreqInfoRel16, FreqInfoRel16_sequence);

  return offset;
}


static const per_sequence_t FDD_InfoRel16_sequence[] = {
  { &hf_f1ap_uL_FreqInfo    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_FreqInfoRel16 },
  { &hf_f1ap_sUL_FreqInfo   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_FreqInfoRel16 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_FDD_InfoRel16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_FDD_InfoRel16, FDD_InfoRel16_sequence);

  return offset;
}



static int
dissect_f1ap_TDD_UL_DLConfigCommonNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  proto_tree *subtree;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb && lte_rrc_conn_reconf_handle) {
    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_TDD_UL_DLConfigCommonNR);
    dissect_nr_rrc_TDD_UL_DL_ConfigCommon_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t TDD_InfoRel16_sequence[] = {
  { &hf_f1ap_tDD_FreqInfo   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_FreqInfoRel16 },
  { &hf_f1ap_sUL_FreqInfo   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_FreqInfoRel16 },
  { &hf_f1ap_tDD_UL_DLConfigCommonNR, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TDD_UL_DLConfigCommonNR },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TDD_InfoRel16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TDD_InfoRel16, TDD_InfoRel16_sequence);

  return offset;
}


static const value_string f1ap_NR_ModeInfoRel16_vals[] = {
  {   0, "fDD" },
  {   1, "tDD" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t NR_ModeInfoRel16_choice[] = {
  {   0, &hf_f1ap_fDD_04         , ASN1_NO_EXTENSIONS     , dissect_f1ap_FDD_InfoRel16 },
  {   1, &hf_f1ap_tDD_04         , ASN1_NO_EXTENSIONS     , dissect_f1ap_TDD_InfoRel16 },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_NR_ModeInfoRel16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_NR_ModeInfoRel16, NR_ModeInfoRel16_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     4, 4, false, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     8, 8, false, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     64, 64, false, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string f1ap_SSB_PositionsInBurst_vals[] = {
  {   0, "shortBitmap" },
  {   1, "mediumBitmap" },
  {   2, "longBitmap" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t SSB_PositionsInBurst_choice[] = {
  {   0, &hf_f1ap_shortBitmap    , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_4 },
  {   1, &hf_f1ap_mediumBitmap   , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_8 },
  {   2, &hf_f1ap_longBitmap     , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_64 },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_SSB_PositionsInBurst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_SSB_PositionsInBurst, SSB_PositionsInBurst_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_maxnoofPhysicalResourceBlocks_1_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxnoofPhysicalResourceBlocks_1, NULL, true);

  return offset;
}


static const value_string f1ap_T_prachFDM_vals[] = {
  {   0, "one" },
  {   1, "two" },
  {   2, "four" },
  {   3, "eight" },
  { 0, NULL }
};


static int
dissect_f1ap_T_prachFDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_ssb_perRACH_Occasion_vals[] = {
  {   0, "oneEighth" },
  {   1, "oneFourth" },
  {   2, "oneHalf" },
  {   3, "one" },
  {   4, "two" },
  {   5, "four" },
  {   6, "eight" },
  {   7, "sixteen" },
  { 0, NULL }
};


static int
dissect_f1ap_T_ssb_perRACH_Occasion(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_837(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 837U, NULL, false);

  return offset;
}


static const value_string f1ap_T_restrictedSetConfig_vals[] = {
  {   0, "unrestrictedSet" },
  {   1, "restrictedSetTypeA" },
  {   2, "restrictedSetTypeB" },
  { 0, NULL }
};


static int
dissect_f1ap_T_restrictedSetConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t L839Info_sequence[] = {
  { &hf_f1ap_rootSequenceIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_837 },
  { &hf_f1ap_restrictedSetConfig, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_restrictedSetConfig },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_L839Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_L839Info, L839Info_sequence);

  return offset;
}


static const value_string f1ap_T_prachSCS_vals[] = {
  {   0, "scs15" },
  {   1, "scs30" },
  {   2, "scs60" },
  {   3, "scs120" },
  {   4, "scs480" },
  {   5, "scs960" },
  { 0, NULL }
};


static int
dissect_f1ap_T_prachSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 2, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_137(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 137U, NULL, false);

  return offset;
}


static const per_sequence_t L139Info_sequence[] = {
  { &hf_f1ap_prachSCS       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_prachSCS },
  { &hf_f1ap_rootSequenceIndex_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_137 },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_L139Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_L139Info, L139Info_sequence);

  return offset;
}


static const value_string f1ap_FreqDomainLength_vals[] = {
  {   0, "l839" },
  {   1, "l139" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t FreqDomainLength_choice[] = {
  {   0, &hf_f1ap_l839           , ASN1_NO_EXTENSIONS     , dissect_f1ap_L839Info },
  {   1, &hf_f1ap_l139           , ASN1_NO_EXTENSIONS     , dissect_f1ap_L139Info },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_FreqDomainLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_FreqDomainLength, FreqDomainLength_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t NRPRACHConfigItem_sequence[] = {
  { &hf_f1ap_nRSCS_01       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRSCS },
  { &hf_f1ap_prachFreqStartfromCarrier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_maxnoofPhysicalResourceBlocks_1_ },
  { &hf_f1ap_prachFDM       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_prachFDM },
  { &hf_f1ap_prachConfigIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_255_ },
  { &hf_f1ap_ssb_perRACH_Occasion, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_ssb_perRACH_Occasion },
  { &hf_f1ap_freqDomainLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_FreqDomainLength },
  { &hf_f1ap_zeroCorrelZoneConfig, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_15 },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NRPRACHConfigItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NRPRACHConfigItem, NRPRACHConfigItem_sequence);

  return offset;
}


static const per_sequence_t NRPRACHConfigList_sequence_of[1] = {
  { &hf_f1ap_NRPRACHConfigList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRPRACHConfigItem },
};

static int
dissect_f1ap_NRPRACHConfigList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_NRPRACHConfigList, NRPRACHConfigList_sequence_of,
                                                  0, maxnoofPRACHconfigs, false);

  return offset;
}


static const per_sequence_t NRPRACHConfig_sequence[] = {
  { &hf_f1ap_ulPRACHConfigList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NRPRACHConfigList },
  { &hf_f1ap_sulPRACHConfigList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NRPRACHConfigList },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NRPRACHConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NRPRACHConfig, NRPRACHConfig_sequence);

  return offset;
}


static const per_sequence_t NeighbourNR_CellsForSON_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_nR_ModeInfoRel16, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NR_ModeInfoRel16 },
  { &hf_f1ap_sSB_PositionsInBurst, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_SSB_PositionsInBurst },
  { &hf_f1ap_nRPRACHConfig  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NRPRACHConfig },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NeighbourNR_CellsForSON_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NeighbourNR_CellsForSON_Item, NeighbourNR_CellsForSON_Item_sequence);

  return offset;
}


static const per_sequence_t NeighbourNR_CellsForSON_List_sequence_of[1] = {
  { &hf_f1ap_NeighbourNR_CellsForSON_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NeighbourNR_CellsForSON_Item },
};

static int
dissect_f1ap_NeighbourNR_CellsForSON_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_NeighbourNR_CellsForSON_List, NeighbourNR_CellsForSON_List_sequence_of,
                                                  1, maxNeighbourCellforSON, false);

  return offset;
}


static const per_sequence_t CellsForSON_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_neighbourNR_CellsForSON_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NeighbourNR_CellsForSON_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CellsForSON_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CellsForSON_Item, CellsForSON_Item_sequence);

  return offset;
}


static const per_sequence_t CellsForSON_List_sequence_of[1] = {
  { &hf_f1ap_CellsForSON_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CellsForSON_Item },
};

static int
dissect_f1ap_CellsForSON_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_CellsForSON_List, CellsForSON_List_sequence_of,
                                                  1, maxServedCellforSON, false);

  return offset;
}


static const per_sequence_t Cells_Failed_to_be_Activated_List_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Cells_Failed_to_be_Activated_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Cells_Failed_to_be_Activated_List_Item, Cells_Failed_to_be_Activated_List_Item_sequence);

  return offset;
}


static const value_string f1ap_Service_State_vals[] = {
  {   0, "in-service" },
  {   1, "out-of-service" },
  { 0, NULL }
};


static int
dissect_f1ap_Service_State(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_switchingOffOngoing_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_T_switchingOffOngoing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t Service_Status_sequence[] = {
  { &hf_f1ap_service_state  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Service_State },
  { &hf_f1ap_switchingOffOngoing, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_T_switchingOffOngoing },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Service_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Service_Status, Service_Status_sequence);

  return offset;
}


static const per_sequence_t Cells_Status_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_service_status , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Service_Status },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Cells_Status_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Cells_Status_Item, Cells_Status_Item_sequence);

  return offset;
}


static const per_sequence_t Cells_To_Be_Broadcast_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Cells_To_Be_Broadcast_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Cells_To_Be_Broadcast_Item, Cells_To_Be_Broadcast_Item_sequence);

  return offset;
}


static const per_sequence_t Cells_Broadcast_Completed_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Cells_Broadcast_Completed_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Cells_Broadcast_Completed_Item, Cells_Broadcast_Completed_Item_sequence);

  return offset;
}


static const per_sequence_t Broadcast_To_Be_Cancelled_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Broadcast_To_Be_Cancelled_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Broadcast_To_Be_Cancelled_Item, Broadcast_To_Be_Cancelled_Item_sequence);

  return offset;
}



static int
dissect_f1ap_NumberOfBroadcasts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 65535U, NULL, false);

  return offset;
}


static const per_sequence_t Cells_Broadcast_Cancelled_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_numberOfBroadcasts, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NumberOfBroadcasts },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Cells_Broadcast_Cancelled_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Cells_Broadcast_Cancelled_Item, Cells_Broadcast_Cancelled_Item_sequence);

  return offset;
}


static const per_sequence_t Cells_to_be_Activated_List_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_nRPCI          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NRPCI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Cells_to_be_Activated_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Cells_to_be_Activated_List_Item, Cells_to_be_Activated_List_Item_sequence);

  return offset;
}


static const per_sequence_t SSBs_activated_List_sequence_of[1] = {
  { &hf_f1ap_SSBs_activated_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_Index },
};

static int
dissect_f1ap_SSBs_activated_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SSBs_activated_List, SSBs_activated_List_sequence_of,
                                                  1, maxnoofSSBAreas, false);

  return offset;
}


static const per_sequence_t Cells_With_SSBs_Activated_List_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_sSBs_activated_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBs_activated_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Cells_With_SSBs_Activated_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Cells_With_SSBs_Activated_List_Item, Cells_With_SSBs_Activated_List_Item_sequence);

  return offset;
}


static const per_sequence_t Cells_With_SSBs_Activated_List_sequence_of[1] = {
  { &hf_f1ap_Cells_With_SSBs_Activated_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Cells_With_SSBs_Activated_List_Item },
};

static int
dissect_f1ap_Cells_With_SSBs_Activated_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Cells_With_SSBs_Activated_List, Cells_With_SSBs_Activated_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t Cells_Allowed_to_be_Deactivated_List_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Cells_Allowed_to_be_Deactivated_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Cells_Allowed_to_be_Deactivated_List_Item, Cells_Allowed_to_be_Deactivated_List_Item_sequence);

  return offset;
}


static const per_sequence_t Cells_to_be_Deactivated_List_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Cells_to_be_Deactivated_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Cells_to_be_Deactivated_List_Item, Cells_to_be_Deactivated_List_Item_sequence);

  return offset;
}


static const value_string f1ap_CellBarred_vals[] = {
  {   0, "barred" },
  {   1, "not-barred" },
  { 0, NULL }
};


static int
dissect_f1ap_CellBarred(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t Cells_to_be_Barred_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_cellBarred     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CellBarred },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Cells_to_be_Barred_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Cells_to_be_Barred_Item, Cells_to_be_Barred_Item_sequence);

  return offset;
}


static const value_string f1ap_CellSize_vals[] = {
  {   0, "verysmall" },
  {   1, "small" },
  {   2, "medium" },
  {   3, "large" },
  { 0, NULL }
};


static int
dissect_f1ap_CellSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t SSBToReportItem_sequence[] = {
  { &hf_f1ap_sSBIndex       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_63 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SSBToReportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SSBToReportItem, SSBToReportItem_sequence);

  return offset;
}


static const per_sequence_t SSBToReportList_sequence_of[1] = {
  { &hf_f1ap_SSBToReportList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBToReportItem },
};

static int
dissect_f1ap_SSBToReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SSBToReportList, SSBToReportList_sequence_of,
                                                  1, maxnoofSSBAreas, false);

  return offset;
}


static const per_sequence_t SNSSAI_Item_sequence[] = {
  { &hf_f1ap_sNSSAI         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SNSSAI_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SNSSAI_Item, SNSSAI_Item_sequence);

  return offset;
}


static const per_sequence_t SNSSAI_list_sequence_of[1] = {
  { &hf_f1ap_SNSSAI_list_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI_Item },
};

static int
dissect_f1ap_SNSSAI_list(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SNSSAI_list, SNSSAI_list_sequence_of,
                                                  1, maxnoofSliceItems, false);

  return offset;
}


static const per_sequence_t SliceToReportItem_sequence[] = {
  { &hf_f1ap_pLMNIdentity   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_sNSSAIlist     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI_list },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SliceToReportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SliceToReportItem, SliceToReportItem_sequence);

  return offset;
}


static const per_sequence_t SliceToReportList_sequence_of[1] = {
  { &hf_f1ap_SliceToReportList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SliceToReportItem },
};

static int
dissect_f1ap_SliceToReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SliceToReportList, SliceToReportList_sequence_of,
                                                  1, maxnoofBPLMNsNR, false);

  return offset;
}


static const per_sequence_t CellToReportItem_sequence[] = {
  { &hf_f1ap_cellID         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_sSBToReportList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_SSBToReportList },
  { &hf_f1ap_sliceToReportList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_SliceToReportList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CellToReportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CellToReportItem, CellToReportItem_sequence);

  return offset;
}


static const per_sequence_t CellToReportList_sequence_of[1] = {
  { &hf_f1ap_CellToReportList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CellToReportItem },
};

static int
dissect_f1ap_CellToReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_CellToReportList, CellToReportList_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t CellType_sequence[] = {
  { &hf_f1ap_cellSize       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_CellSize },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CellType, CellType_sequence);

  return offset;
}


static const value_string f1ap_CellULConfigured_vals[] = {
  {   0, "none" },
  {   1, "ul" },
  {   2, "sul" },
  {   3, "ul-and-sul" },
  { 0, NULL }
};


static int
dissect_f1ap_CellULConfigured(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_CG_SDTQueryIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_CG_SDTQueryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_CG_SDTKeptIndicator_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_CG_SDTKeptIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_CG_SDTindicatorSetup_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_CG_SDTindicatorSetup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_CG_SDTindicatorMod_vals[] = {
  {   0, "true" },
  {   1, "false" },
  { 0, NULL }
};


static int
dissect_f1ap_CG_SDTindicatorMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_GNB_CU_UE_F1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  uint32_t id;
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4294967295U, &id, false);

  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  f1ap_data->gdb_cu_ue_f1ap_id = id;


  return offset;
}



static int
dissect_f1ap_GNB_DU_UE_F1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4294967295U, NULL, false);

  return offset;
}


static const per_sequence_t CG_SDTSessionInfo_sequence[] = {
  { &hf_f1ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_CU_UE_F1AP_ID },
  { &hf_f1ap_gNB_DU_UE_F1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_UE_F1AP_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CG_SDTSessionInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CG_SDTSessionInfo, CG_SDTSessionInfo_sequence);

  return offset;
}



static int
dissect_f1ap_ChannelOccupancyTimePercentage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 100U, NULL, true);

  return offset;
}


static const value_string f1ap_NADownlink_vals[] = {
  {   0, "true" },
  {   1, "false" },
  { 0, NULL }
};


static int
dissect_f1ap_NADownlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_NAUplink_vals[] = {
  {   0, "true" },
  {   1, "false" },
  { 0, NULL }
};


static int
dissect_f1ap_NAUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_NAFlexible_vals[] = {
  {   0, "true" },
  {   1, "false" },
  { 0, NULL }
};


static int
dissect_f1ap_NAFlexible(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t NA_Resource_Configuration_Item_sequence[] = {
  { &hf_f1ap_nADownlink     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_NADownlink },
  { &hf_f1ap_nAUplink       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_NAUplink },
  { &hf_f1ap_nAFlexible     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_NAFlexible },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NA_Resource_Configuration_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NA_Resource_Configuration_Item, NA_Resource_Configuration_Item_sequence);

  return offset;
}


static const per_sequence_t NA_Resource_Configuration_List_sequence_of[1] = {
  { &hf_f1ap_NA_Resource_Configuration_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NA_Resource_Configuration_Item },
};

static int
dissect_f1ap_NA_Resource_Configuration_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_NA_Resource_Configuration_List, NA_Resource_Configuration_List_sequence_of,
                                                  1, maxnoofHSNASlots, false);

  return offset;
}


static const per_sequence_t Child_IAB_Nodes_NA_Resource_List_Item_sequence[] = {
  { &hf_f1ap_gNB_CU_UE_F1AP_ID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_CU_UE_F1AP_ID },
  { &hf_f1ap_gNB_DU_UE_F1AP_ID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_UE_F1AP_ID },
  { &hf_f1ap_nA_Resource_Configuration_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_NA_Resource_Configuration_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Child_IAB_Nodes_NA_Resource_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Child_IAB_Nodes_NA_Resource_List_Item, Child_IAB_Nodes_NA_Resource_List_Item_sequence);

  return offset;
}


static const per_sequence_t Child_IAB_Nodes_NA_Resource_List_sequence_of[1] = {
  { &hf_f1ap_Child_IAB_Nodes_NA_Resource_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Child_IAB_Nodes_NA_Resource_List_Item },
};

static int
dissect_f1ap_Child_IAB_Nodes_NA_Resource_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Child_IAB_Nodes_NA_Resource_List, Child_IAB_Nodes_NA_Resource_List_sequence_of,
                                                  1, maxnoofChildIABNodes, false);

  return offset;
}



static int
dissect_f1ap_SSB_freqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxNRARFCN, NULL, false);

  return offset;
}


static const value_string f1ap_SSB_subcarrierSpacing_vals[] = {
  {   0, "kHz15" },
  {   1, "kHz30" },
  {   2, "kHz120" },
  {   3, "kHz240" },
  {   4, "spare3" },
  {   5, "spare2" },
  {   6, "spare1" },
  { 0, NULL }
};


static int
dissect_f1ap_SSB_subcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_SSB_transmissionPeriodicity_vals[] = {
  {   0, "sf10" },
  {   1, "sf20" },
  {   2, "sf40" },
  {   3, "sf80" },
  {   4, "sf160" },
  {   5, "sf320" },
  {   6, "sf640" },
  { 0, NULL }
};


static int
dissect_f1ap_SSB_transmissionPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_SSB_transmissionTimingOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 127U, NULL, true);

  return offset;
}


static const value_string f1ap_SSB_transmissionBitmap_vals[] = {
  {   0, "shortBitmap" },
  {   1, "mediumBitmap" },
  {   2, "longBitmap" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t SSB_transmissionBitmap_choice[] = {
  {   0, &hf_f1ap_shortBitmap    , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_4 },
  {   1, &hf_f1ap_mediumBitmap   , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_8 },
  {   2, &hf_f1ap_longBitmap     , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_64 },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_SSB_transmissionBitmap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_SSB_transmissionBitmap, SSB_transmissionBitmap_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t IAB_STC_Info_Item_sequence[] = {
  { &hf_f1ap_sSB_freqInfo   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_freqInfo },
  { &hf_f1ap_sSB_subcarrierSpacing, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_subcarrierSpacing },
  { &hf_f1ap_sSB_transmissionPeriodicity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_transmissionPeriodicity },
  { &hf_f1ap_sSB_transmissionTimingOffset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_transmissionTimingOffset },
  { &hf_f1ap_sSB_transmissionBitmap, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_transmissionBitmap },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IAB_STC_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IAB_STC_Info_Item, IAB_STC_Info_Item_sequence);

  return offset;
}


static const per_sequence_t IAB_STC_Info_List_sequence_of[1] = {
  { &hf_f1ap_IAB_STC_Info_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_STC_Info_Item },
};

static int
dissect_f1ap_IAB_STC_Info_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_IAB_STC_Info_List, IAB_STC_Info_List_sequence_of,
                                                  1, maxnoofIABSTCInfo, false);

  return offset;
}


static const per_sequence_t IAB_STC_Info_sequence[] = {
  { &hf_f1ap_iAB_STC_Info_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_STC_Info_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IAB_STC_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IAB_STC_Info, IAB_STC_Info_sequence);

  return offset;
}



static int
dissect_f1ap_RACH_Config_Common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RACH_Config_Common);
    dissect_nr_rrc_RACH_ConfigCommon_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_RACH_Config_Common_IAB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RACH_Config_Common_IAB);
    dissect_nr_rrc_RACH_ConfigCommon_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_T_cSI_RS_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_cSI_RS_Configuration);
    dissect_nr_rrc_NZP_CSI_RS_Resource_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_T_sR_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sR_Configuration);
    dissect_nr_rrc_SchedulingRequestResourceConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_T_pDCCH_ConfigSIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_pDCCH_ConfigSIB1);
    dissect_nr_rrc_PDCCH_ConfigSIB1_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_T_sCS_Common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sCS_Common);
    dissect_nr_rrc_subCarrierSpacingCommon_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_DU_RX_MT_RX_vals[] = {
  {   0, "supported" },
  {   1, "not-supported" },
  { 0, NULL }
};


static int
dissect_f1ap_DU_RX_MT_RX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, false, 0, NULL);

  return offset;
}


static const value_string f1ap_DU_TX_MT_TX_vals[] = {
  {   0, "supported" },
  {   1, "not-supported" },
  { 0, NULL }
};


static int
dissect_f1ap_DU_TX_MT_TX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, false, 0, NULL);

  return offset;
}


static const value_string f1ap_DU_RX_MT_TX_vals[] = {
  {   0, "supported" },
  {   1, "not-supported" },
  { 0, NULL }
};


static int
dissect_f1ap_DU_RX_MT_TX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, false, 0, NULL);

  return offset;
}


static const value_string f1ap_DU_TX_MT_RX_vals[] = {
  {   0, "supported" },
  {   1, "not-supported" },
  { 0, NULL }
};


static int
dissect_f1ap_DU_TX_MT_RX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, false, 0, NULL);

  return offset;
}


static const per_sequence_t IAB_MT_Cell_List_Item_sequence[] = {
  { &hf_f1ap_nRCellIdentity , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCellIdentity },
  { &hf_f1ap_dU_RX_MT_RX    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DU_RX_MT_RX },
  { &hf_f1ap_dU_TX_MT_TX    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DU_TX_MT_TX },
  { &hf_f1ap_dU_RX_MT_TX    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DU_RX_MT_TX },
  { &hf_f1ap_dU_TX_MT_RX    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DU_TX_MT_RX },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IAB_MT_Cell_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IAB_MT_Cell_List_Item, IAB_MT_Cell_List_Item_sequence);

  return offset;
}


static const per_sequence_t IAB_MT_Cell_List_sequence_of[1] = {
  { &hf_f1ap_IAB_MT_Cell_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_MT_Cell_List_Item },
};

static int
dissect_f1ap_IAB_MT_Cell_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_IAB_MT_Cell_List, IAB_MT_Cell_List_sequence_of,
                                                  1, maxnoofServingCells, false);

  return offset;
}


static const per_sequence_t MultiplexingInfo_sequence[] = {
  { &hf_f1ap_iAB_MT_Cell_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_MT_Cell_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MultiplexingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MultiplexingInfo, MultiplexingInfo_sequence);

  return offset;
}


static const per_sequence_t Child_Node_Cells_List_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iAB_DU_Cell_Resource_Configuration_Mode_Info, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info },
  { &hf_f1ap_iAB_STC_Info   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_IAB_STC_Info },
  { &hf_f1ap_rACH_Config_Common, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_RACH_Config_Common },
  { &hf_f1ap_rACH_Config_Common_IAB, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_RACH_Config_Common_IAB },
  { &hf_f1ap_cSI_RS_Configuration, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_cSI_RS_Configuration },
  { &hf_f1ap_sR_Configuration, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_sR_Configuration },
  { &hf_f1ap_pDCCH_ConfigSIB1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_pDCCH_ConfigSIB1 },
  { &hf_f1ap_sCS_Common     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_sCS_Common },
  { &hf_f1ap_multiplexingInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_MultiplexingInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Child_Node_Cells_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Child_Node_Cells_List_Item, Child_Node_Cells_List_Item_sequence);

  return offset;
}


static const per_sequence_t Child_Node_Cells_List_sequence_of[1] = {
  { &hf_f1ap_Child_Node_Cells_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Child_Node_Cells_List_Item },
};

static int
dissect_f1ap_Child_Node_Cells_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Child_Node_Cells_List, Child_Node_Cells_List_sequence_of,
                                                  1, maxnoofChildIABNodes, false);

  return offset;
}


static const per_sequence_t Child_Nodes_List_Item_sequence[] = {
  { &hf_f1ap_gNB_CU_UE_F1AP_ID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_CU_UE_F1AP_ID },
  { &hf_f1ap_gNB_DU_UE_F1AP_ID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_UE_F1AP_ID },
  { &hf_f1ap_child_Node_Cells_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_Child_Node_Cells_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Child_Nodes_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Child_Nodes_List_Item, Child_Nodes_List_Item_sequence);

  return offset;
}


static const per_sequence_t Child_Nodes_List_sequence_of[1] = {
  { &hf_f1ap_Child_Nodes_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Child_Nodes_List_Item },
};

static int
dissect_f1ap_Child_Nodes_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Child_Nodes_List, Child_Nodes_List_sequence_of,
                                                  1, maxnoofChildIABNodes, false);

  return offset;
}


static const value_string f1ap_CHOtrigger_InterDU_vals[] = {
  {   0, "cho-initiation" },
  {   1, "cho-replace" },
  { 0, NULL }
};


static int
dissect_f1ap_CHOtrigger_InterDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_CHOtrigger_IntraDU_vals[] = {
  {   0, "cho-initiation" },
  {   1, "cho-replace" },
  {   2, "cho-cancel" },
  { 0, NULL }
};


static int
dissect_f1ap_CHOtrigger_IntraDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_CNSubgroupID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7U, NULL, true);

  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     48, 48, false, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string f1ap_CNUEPagingIdentity_vals[] = {
  {   0, "fiveG-S-TMSI" },
  {   1, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t CNUEPagingIdentity_choice[] = {
  {   0, &hf_f1ap_fiveG_S_TMSI   , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_48 },
  {   1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_CNUEPagingIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_CNUEPagingIdentity, CNUEPagingIdentity_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_CHO_Probability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 100U, NULL, false);

  return offset;
}


static const per_sequence_t ConditionalInterDUMobilityInformation_sequence[] = {
  { &hf_f1ap_cho_trigger    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_CHOtrigger_InterDU },
  { &hf_f1ap_targetgNB_DUUEF1APID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_GNB_DU_UE_F1AP_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ConditionalInterDUMobilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ConditionalInterDUMobilityInformation, ConditionalInterDUMobilityInformation_sequence);

  return offset;
}


static const per_sequence_t TargetCellList_Item_sequence[] = {
  { &hf_f1ap_target_cell    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TargetCellList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TargetCellList_Item, TargetCellList_Item_sequence);

  return offset;
}


static const per_sequence_t TargetCellList_sequence_of[1] = {
  { &hf_f1ap_TargetCellList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TargetCellList_Item },
};

static int
dissect_f1ap_TargetCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_TargetCellList, TargetCellList_sequence_of,
                                                  1, maxnoofCHOcells, false);

  return offset;
}


static const per_sequence_t ConditionalIntraDUMobilityInformation_sequence[] = {
  { &hf_f1ap_cho_trigger_01 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_CHOtrigger_IntraDU },
  { &hf_f1ap_targetCellsTocancel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TargetCellList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ConditionalIntraDUMobilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ConditionalIntraDUMobilityInformation, ConditionalIntraDUMobilityInformation_sequence);

  return offset;
}



static int
dissect_f1ap_ConfigRestrictInfoDAPS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ConfigRestrictInfoDAPS);
    dissect_nr_rrc_ConfigRestrictInfoDAPS_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_ConfiguredTACIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_ConfiguredTACIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_37949(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 37949U, NULL, false);

  return offset;
}


static const per_sequence_t Configured_BWP_Item_sequence[] = {
  { &hf_f1ap_bWP_Id         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BWP_Id },
  { &hf_f1ap_bWP_Location_and_bandwidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_37949 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Configured_BWP_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Configured_BWP_Item, Configured_BWP_Item_sequence);

  return offset;
}


static const per_sequence_t Configured_BWP_List_sequence_of[1] = {
  { &hf_f1ap_Configured_BWP_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Configured_BWP_Item },
};

static int
dissect_f1ap_Configured_BWP_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Configured_BWP_List, Configured_BWP_List_sequence_of,
                                                  1, maxNrofBWPs, false);

  return offset;
}



static int
dissect_f1ap_CoordinateID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 511U, NULL, true);

  return offset;
}



static int
dissect_f1ap_CellCoverageState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 63U, NULL, true);

  return offset;
}



static int
dissect_f1ap_SSBCoverageState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 15U, NULL, true);

  return offset;
}


static const per_sequence_t SSBCoverageModification_Item_sequence[] = {
  { &hf_f1ap_sSBIndex       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_63 },
  { &hf_f1ap_sSBCoverageState, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBCoverageState },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SSBCoverageModification_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SSBCoverageModification_Item, SSBCoverageModification_Item_sequence);

  return offset;
}


static const per_sequence_t SSBCoverageModification_List_sequence_of[1] = {
  { &hf_f1ap_SSBCoverageModification_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBCoverageModification_Item },
};

static int
dissect_f1ap_SSBCoverageModification_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SSBCoverageModification_List, SSBCoverageModification_List_sequence_of,
                                                  1, maxnoofSSBAreas, false);

  return offset;
}


static const per_sequence_t Coverage_Modification_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_cellCoverageState, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_CellCoverageState },
  { &hf_f1ap_sSBCoverageModificationList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_SSBCoverageModification_List },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Coverage_Modification_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Coverage_Modification_Item, Coverage_Modification_Item_sequence);

  return offset;
}


static const per_sequence_t Coverage_Modification_List_sequence_of[1] = {
  { &hf_f1ap_Coverage_Modification_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Coverage_Modification_Item },
};

static int
dissect_f1ap_Coverage_Modification_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Coverage_Modification_List, Coverage_Modification_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t Coverage_Modification_Notification_sequence[] = {
  { &hf_f1ap_coverage_Modification_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Coverage_Modification_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Coverage_Modification_Notification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Coverage_Modification_Notification, Coverage_Modification_Notification_sequence);

  return offset;
}


static const value_string f1ap_CCO_issue_detection_vals[] = {
  {   0, "coverage" },
  {   1, "cell-edge-capacity" },
  {   2, "network-energy-saving" },
  { 0, NULL }
};


static int
dissect_f1ap_CCO_issue_detection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 1, NULL);

  return offset;
}


static const per_sequence_t CCO_Assistance_Information_sequence[] = {
  { &hf_f1ap_cCO_issue_detection, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_CCO_issue_detection },
  { &hf_f1ap_affectedCellsAndBeams_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_AffectedCellsAndBeams_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CCO_Assistance_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CCO_Assistance_Information, CCO_Assistance_Information_sequence);

  return offset;
}


static const per_sequence_t Endpoint_IP_address_and_port_sequence[] = {
  { &hf_f1ap_endpointIPAddress, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Endpoint_IP_address_and_port(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Endpoint_IP_address_and_port, Endpoint_IP_address_and_port_sequence);

  return offset;
}


static const value_string f1ap_CP_TransportLayerAddress_vals[] = {
  {   0, "endpoint-IP-address" },
  {   1, "endpoint-IP-address-and-port" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t CP_TransportLayerAddress_choice[] = {
  {   0, &hf_f1ap_endpoint_IP_address, ASN1_NO_EXTENSIONS     , dissect_f1ap_TransportLayerAddress },
  {   1, &hf_f1ap_endpoint_IP_address_and_port, ASN1_NO_EXTENSIONS     , dissect_f1ap_Endpoint_IP_address_and_port },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_CP_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_CP_TransportLayerAddress, CP_TransportLayerAddress_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_CPAC_trigger_vals[] = {
  {   0, "cpac-preparation" },
  {   1, "cpac-executed" },
  { 0, NULL }
};


static int
dissect_f1ap_CPAC_trigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t CPACMCGInformation_sequence[] = {
  { &hf_f1ap_cpac_trigger   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_CPAC_trigger },
  { &hf_f1ap_pscellid       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CPACMCGInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CPACMCGInformation, CPACMCGInformation_sequence);

  return offset;
}



static int
dissect_f1ap_TransactionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 255U, NULL, true);

  return offset;
}


static const value_string f1ap_TypeOfError_vals[] = {
  {   0, "not-understood" },
  {   1, "missing" },
  { 0, NULL }
};


static int
dissect_f1ap_TypeOfError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t CriticalityDiagnostics_IE_Item_sequence[] = {
  { &hf_f1ap_iECriticality  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality },
  { &hf_f1ap_iE_ID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_ID },
  { &hf_f1ap_typeOfError    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TypeOfError },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CriticalityDiagnostics_IE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CriticalityDiagnostics_IE_Item, CriticalityDiagnostics_IE_Item_sequence);

  return offset;
}


static const per_sequence_t CriticalityDiagnostics_IE_List_sequence_of[1] = {
  { &hf_f1ap_CriticalityDiagnostics_IE_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CriticalityDiagnostics_IE_Item },
};

static int
dissect_f1ap_CriticalityDiagnostics_IE_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_CriticalityDiagnostics_IE_List, CriticalityDiagnostics_IE_List_sequence_of,
                                                  1, maxnoofErrors, false);

  return offset;
}


static const per_sequence_t CriticalityDiagnostics_sequence[] = {
  { &hf_f1ap_procedureCode  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProcedureCode },
  { &hf_f1ap_triggeringMessage, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TriggeringMessage },
  { &hf_f1ap_procedureCriticality, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Criticality },
  { &hf_f1ap_transactionID  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TransactionID },
  { &hf_f1ap_iEsCriticalityDiagnostics, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_CriticalityDiagnostics_IE_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CriticalityDiagnostics, CriticalityDiagnostics_sequence);

  return offset;
}



static int
dissect_f1ap_C_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 65535U, NULL, true);

  return offset;
}


static const value_string f1ap_RIMRSDetectionStatus_vals[] = {
  {   0, "rs-detected" },
  {   1, "rs-disappeared" },
  { 0, NULL }
};


static int
dissect_f1ap_RIMRSDetectionStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t CUDURIMInformation_sequence[] = {
  { &hf_f1ap_victimgNBSetID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_GNBSetID },
  { &hf_f1ap_rIMRSDetectionStatus, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RIMRSDetectionStatus },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CUDURIMInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CUDURIMInformation, CUDURIMInformation_sequence);

  return offset;
}


static const value_string f1ap_CUDURadioInformationType_vals[] = {
  {   0, "rIM" },
  {   1, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t CUDURadioInformationType_choice[] = {
  {   0, &hf_f1ap_rIM            , ASN1_NO_EXTENSIONS     , dissect_f1ap_CUDURIMInformation },
  {   1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_CUDURadioInformationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_CUDURadioInformationType, CUDURadioInformationType_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_CG_ConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_CG_ConfigInfo);
    dissect_nr_rrc_CG_ConfigInfo_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_UE_CapabilityRAT_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UE_CapabilityRAT_ContainerList);
    dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasConfig);
    dissect_nr_rrc_MeasConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t CUtoDURRCInformation_sequence[] = {
  { &hf_f1ap_cG_ConfigInfo  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_CG_ConfigInfo },
  { &hf_f1ap_uE_CapabilityRAT_ContainerList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_UE_CapabilityRAT_ContainerList },
  { &hf_f1ap_measConfig     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MeasConfig },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CUtoDURRCInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CUtoDURRCInformation, CUtoDURRCInformation_sequence);

  return offset;
}



static int
dissect_f1ap_TAValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4095U, NULL, false);

  return offset;
}



static int
dissect_f1ap_PreambleIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 63U, NULL, false);

  return offset;
}



static int
dissect_f1ap_RA_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 65535U, NULL, true);

  return offset;
}



static int
dissect_f1ap_TagIDPointer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, NULL);

  return offset;
}


static const per_sequence_t CUtoDUTAInformation_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_tAValue        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TAValue },
  { &hf_f1ap_preambleIndex  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PreambleIndex },
  { &hf_f1ap_rA_RNTI        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RA_RNTI },
  { &hf_f1ap_tagIDPointer   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TagIDPointer },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CUtoDUTAInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CUtoDUTAInformation_Item, CUtoDUTAInformation_Item_sequence);

  return offset;
}


static const per_sequence_t CUtoDUTAInformation_List_sequence_of[1] = {
  { &hf_f1ap_CUtoDUTAInformation_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CUtoDUTAInformation_Item },
};

static int
dissect_f1ap_CUtoDUTAInformation_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_CUtoDUTAInformation_List, CUtoDUTAInformation_List_sequence_of,
                                                  1, maxnoofTAList, false);

  return offset;
}



static int
dissect_f1ap_T_cSIResourceConfigToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *parameter_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);

  if (parameter_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_cSIResourceConfigToAddModList);
    dissect_nr_rrc_LTM_CSI_ResourceConfigToAddModList_r18_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_T_cSIResourceConfigToReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *parameter_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);

  if (parameter_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_cSIResourceConfigToReleaseList);
    dissect_nr_rrc_LTM_CSI_ResourceConfigToReleaseList_r18_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t CSIResourceConfiguration_sequence[] = {
  { &hf_f1ap_cSIResourceConfigToAddModList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_cSIResourceConfigToAddModList },
  { &hf_f1ap_cSIResourceConfigToReleaseList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_cSIResourceConfigToReleaseList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CSIResourceConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CSIResourceConfiguration, CSIResourceConfiguration_sequence);

  return offset;
}


static const value_string f1ap_DAPS_HO_Status_vals[] = {
  {   0, "initiation" },
  { 0, NULL }
};


static int
dissect_f1ap_DAPS_HO_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_DCBasedDuplicationConfigured_vals[] = {
  {   0, "true" },
  {   1, "false" },
  { 0, NULL }
};


static int
dissect_f1ap_DCBasedDuplicationConfigured(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 1, NULL);

  return offset;
}


static const per_sequence_t DeactivationIndicationList_Item_sequence[] = {
  { &hf_f1ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_CU_UE_F1AP_ID },
  { &hf_f1ap_gNB_DU_UE_F1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_UE_F1AP_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DeactivationIndicationList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DeactivationIndicationList_Item, DeactivationIndicationList_Item_sequence);

  return offset;
}


static const per_sequence_t DeactivationIndicationList_sequence_of[1] = {
  { &hf_f1ap_DeactivationIndicationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DeactivationIndicationList_Item },
};

static int
dissect_f1ap_DeactivationIndicationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DeactivationIndicationList, DeactivationIndicationList_sequence_of,
                                                  1, maxnoofUEsInQMCTransferControlMessage, false);

  return offset;
}


static const value_string f1ap_DeactivationIndication_vals[] = {
  {   0, "perUE" },
  {   1, "deactivateAll" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t DeactivationIndication_choice[] = {
  {   0, &hf_f1ap_perUE          , ASN1_NO_EXTENSIONS     , dissect_f1ap_DeactivationIndicationList },
  {   1, &hf_f1ap_deactivateAll  , ASN1_NO_EXTENSIONS     , dissect_f1ap_NULL },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_DeactivationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_DeactivationIndication, DeactivationIndication_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t Dedicated_SIDelivery_NeededUE_Item_sequence[] = {
  { &hf_f1ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_CU_UE_F1AP_ID },
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Dedicated_SIDelivery_NeededUE_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Dedicated_SIDelivery_NeededUE_Item, Dedicated_SIDelivery_NeededUE_Item_sequence);

  return offset;
}


static const value_string f1ap_DedicatedSIDeliveryIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_DedicatedSIDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_PRS_Resource_Set_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7U, NULL, false);

  return offset;
}



static int
dissect_f1ap_PRS_Resource_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 63U, NULL, false);

  return offset;
}


static const per_sequence_t DL_PRS_sequence[] = {
  { &hf_f1ap_prsid          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_255 },
  { &hf_f1ap_dl_PRSResourceSetID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRS_Resource_Set_ID },
  { &hf_f1ap_dl_PRSResourceID, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PRS_Resource_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DL_PRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DL_PRS, DL_PRS_sequence);

  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     2, 2, false, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     6, 6, false, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     16, 16, false, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     32, 32, false, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string f1ap_DL_PRSMutingPattern_vals[] = {
  {   0, "two" },
  {   1, "four" },
  {   2, "six" },
  {   3, "eight" },
  {   4, "sixteen" },
  {   5, "thirty-two" },
  {   6, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t DL_PRSMutingPattern_choice[] = {
  {   0, &hf_f1ap_two            , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_2 },
  {   1, &hf_f1ap_four           , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_4 },
  {   2, &hf_f1ap_six            , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_6 },
  {   3, &hf_f1ap_eight          , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_8 },
  {   4, &hf_f1ap_sixteen        , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_16 },
  {   5, &hf_f1ap_thirty_two     , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_32 },
  {   6, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_DL_PRSMutingPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_DL_PRSMutingPattern, DL_PRSMutingPattern_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_DL_PRSResourceSetARPLocation_vals[] = {
  {   0, "relativeGeodeticLocation" },
  {   1, "relativeCartesianLocation" },
  {   2, "choice-Extension" },
  { 0, NULL }
};

static const per_choice_t DL_PRSResourceSetARPLocation_choice[] = {
  {   0, &hf_f1ap_relativeGeodeticLocation, ASN1_NO_EXTENSIONS     , dissect_f1ap_RelativeGeodeticLocation },
  {   1, &hf_f1ap_relativeCartesianLocation, ASN1_NO_EXTENSIONS     , dissect_f1ap_RelativeCartesianLocation },
  {   2, &hf_f1ap_choice_Extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_DL_PRSResourceSetARPLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_DL_PRSResourceSetARPLocation, DL_PRSResourceSetARPLocation_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_DL_PRSResourceARPLocation_vals[] = {
  {   0, "relativeGeodeticLocation" },
  {   1, "relativeCartesianLocation" },
  {   2, "choice-Extension" },
  { 0, NULL }
};

static const per_choice_t DL_PRSResourceARPLocation_choice[] = {
  {   0, &hf_f1ap_relativeGeodeticLocation, ASN1_NO_EXTENSIONS     , dissect_f1ap_RelativeGeodeticLocation },
  {   1, &hf_f1ap_relativeCartesianLocation, ASN1_NO_EXTENSIONS     , dissect_f1ap_RelativeCartesianLocation },
  {   2, &hf_f1ap_choice_Extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_DL_PRSResourceARPLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_DL_PRSResourceARPLocation, DL_PRSResourceARPLocation_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t DLPRSResourceARP_sequence[] = {
  { &hf_f1ap_dl_PRSResourceID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRS_Resource_ID },
  { &hf_f1ap_dL_PRSResourceARPLocation, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DL_PRSResourceARPLocation },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DLPRSResourceARP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DLPRSResourceARP, DLPRSResourceARP_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceARP_sequence_of[1] = {
  { &hf_f1ap_listofDL_PRSResourceARP_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DLPRSResourceARP },
};

static int
dissect_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceARP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceARP, SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceARP_sequence_of,
                                                  1, maxnoofPRS_ResourcesPerSet, false);

  return offset;
}


static const per_sequence_t DLPRSResourceSetARP_sequence[] = {
  { &hf_f1ap_dl_PRSResourceSetID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRS_Resource_Set_ID },
  { &hf_f1ap_dL_PRSResourceSetARPLocation, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DL_PRSResourceSetARPLocation },
  { &hf_f1ap_listofDL_PRSResourceARP, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceARP },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DLPRSResourceSetARP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DLPRSResourceSetARP, DLPRSResourceSetARP_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxnoofPRS_ResourceSets_OF_DLPRSResourceSetARP_sequence_of[1] = {
  { &hf_f1ap_listofDL_PRSResourceSetARP_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DLPRSResourceSetARP },
};

static int
dissect_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourceSets_OF_DLPRSResourceSetARP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourceSets_OF_DLPRSResourceSetARP, SEQUENCE_SIZE_1_maxnoofPRS_ResourceSets_OF_DLPRSResourceSetARP_sequence_of,
                                                  1, maxnoofPRS_ResourceSets, false);

  return offset;
}


static const per_sequence_t DLPRSResourceCoordinates_sequence[] = {
  { &hf_f1ap_listofDL_PRSResourceSetARP, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourceSets_OF_DLPRSResourceSetARP },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DLPRSResourceCoordinates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DLPRSResourceCoordinates, DLPRSResourceCoordinates_sequence);

  return offset;
}


static const per_sequence_t DL_UP_TNL_Address_to_Update_List_Item_sequence[] = {
  { &hf_f1ap_oldIPAdress    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress },
  { &hf_f1ap_newIPAdress    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DL_UP_TNL_Address_to_Update_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DL_UP_TNL_Address_to_Update_List_Item, DL_UP_TNL_Address_to_Update_List_Item_sequence);

  return offset;
}


static const per_sequence_t DLUPTNLInformation_ToBeSetup_Item_sequence[] = {
  { &hf_f1ap_dLUPTNLInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UPTransportLayerInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DLUPTNLInformation_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DLUPTNLInformation_ToBeSetup_Item, DLUPTNLInformation_ToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t DLUPTNLInformation_ToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_DLUPTNLInformation_ToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_Item },
};

static int
dissect_f1ap_DLUPTNLInformation_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DLUPTNLInformation_ToBeSetup_List, DLUPTNLInformation_ToBeSetup_List_sequence_of,
                                                  1, maxnoofDLUPTNLInformation, false);

  return offset;
}



static int
dissect_f1ap_DRBID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 32U, NULL, true);

  return offset;
}


static const value_string f1ap_DRB_Activity_vals[] = {
  {   0, "active" },
  {   1, "not-active" },
  { 0, NULL }
};


static int
dissect_f1ap_DRB_Activity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, false, 0, NULL);

  return offset;
}


static const per_sequence_t DRB_Activity_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_dRB_Activity   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_DRB_Activity },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRB_Activity_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRB_Activity_Item, DRB_Activity_Item_sequence);

  return offset;
}


static const per_sequence_t DRBs_FailedToBeModified_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRBs_FailedToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRBs_FailedToBeModified_Item, DRBs_FailedToBeModified_Item_sequence);

  return offset;
}


static const per_sequence_t DRBs_FailedToBeSetup_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRBs_FailedToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRBs_FailedToBeSetup_Item, DRBs_FailedToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t DRBs_FailedToBeSetupMod_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRBs_FailedToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRBs_FailedToBeSetupMod_Item, DRBs_FailedToBeSetupMod_Item_sequence);

  return offset;
}


static const value_string f1ap_NotificationControl_vals[] = {
  {   0, "active" },
  {   1, "not-active" },
  { 0, NULL }
};


static int
dissect_f1ap_NotificationControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t Flows_Mapped_To_DRB_Item_sequence[] = {
  { &hf_f1ap_qoSFlowIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowIdentifier },
  { &hf_f1ap_qoSFlowLevelQoSParameters, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowLevelQoSParameters },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Flows_Mapped_To_DRB_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Flows_Mapped_To_DRB_Item, Flows_Mapped_To_DRB_Item_sequence);

  return offset;
}


static const per_sequence_t Flows_Mapped_To_DRB_List_sequence_of[1] = {
  { &hf_f1ap_Flows_Mapped_To_DRB_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Flows_Mapped_To_DRB_Item },
};

static int
dissect_f1ap_Flows_Mapped_To_DRB_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Flows_Mapped_To_DRB_List, Flows_Mapped_To_DRB_List_sequence_of,
                                                  1, maxnoofQoSFlows, false);

  return offset;
}


static const per_sequence_t DRB_Information_sequence[] = {
  { &hf_f1ap_dRB_QoS        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowLevelQoSParameters },
  { &hf_f1ap_sNSSAI         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI },
  { &hf_f1ap_notificationControl, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_NotificationControl },
  { &hf_f1ap_flows_Mapped_To_DRB_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Flows_Mapped_To_DRB_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRB_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRB_Information, DRB_Information_sequence);

  return offset;
}



static int
dissect_f1ap_LCID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 32U, NULL, true);

  return offset;
}


static const per_sequence_t DRBs_Modified_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_lCID           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_LCID },
  { &hf_f1ap_dLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRBs_Modified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRBs_Modified_Item, DRBs_Modified_Item_sequence);

  return offset;
}


static const per_sequence_t ULUPTNLInformation_ToBeSetup_Item_sequence[] = {
  { &hf_f1ap_uLUPTNLInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UPTransportLayerInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ULUPTNLInformation_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ULUPTNLInformation_ToBeSetup_Item, ULUPTNLInformation_ToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t ULUPTNLInformation_ToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_ULUPTNLInformation_ToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_Item },
};

static int
dissect_f1ap_ULUPTNLInformation_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_ULUPTNLInformation_ToBeSetup_List, ULUPTNLInformation_ToBeSetup_List_sequence_of,
                                                  1, maxnoofULUPTNLInformation, false);

  return offset;
}


static const per_sequence_t DRBs_ModifiedConf_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_uLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRBs_ModifiedConf_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRBs_ModifiedConf_Item, DRBs_ModifiedConf_Item_sequence);

  return offset;
}


static const value_string f1ap_Notification_Cause_vals[] = {
  {   0, "fulfilled" },
  {   1, "not-fulfilled" },
  { 0, NULL }
};


static int
dissect_f1ap_Notification_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t DRB_Notify_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_notification_Cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Notification_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRB_Notify_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRB_Notify_Item, DRB_Notify_Item_sequence);

  return offset;
}


static const per_sequence_t DRBs_Required_ToBeModified_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_dLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRBs_Required_ToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRBs_Required_ToBeModified_Item, DRBs_Required_ToBeModified_Item_sequence);

  return offset;
}


static const per_sequence_t DRBs_Required_ToBeReleased_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRBs_Required_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRBs_Required_ToBeReleased_Item, DRBs_Required_ToBeReleased_Item_sequence);

  return offset;
}


static const per_sequence_t DRBs_Setup_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_lCID           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_LCID },
  { &hf_f1ap_dLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRBs_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRBs_Setup_Item, DRBs_Setup_Item_sequence);

  return offset;
}


static const per_sequence_t DRBs_SetupMod_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_lCID           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_LCID },
  { &hf_f1ap_dLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DLUPTNLInformation_ToBeSetup_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRBs_SetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRBs_SetupMod_Item, DRBs_SetupMod_Item_sequence);

  return offset;
}


static const value_string f1ap_QoSInformation_vals[] = {
  {   0, "eUTRANQoS" },
  {   1, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t QoSInformation_choice[] = {
  {   0, &hf_f1ap_eUTRANQoS      , ASN1_NO_EXTENSIONS     , dissect_f1ap_EUTRANQoS },
  {   1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_QoSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_QoSInformation, QoSInformation_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_ULUEConfiguration_vals[] = {
  {   0, "no-data" },
  {   1, "shared" },
  {   2, "only" },
  { 0, NULL }
};


static int
dissect_f1ap_ULUEConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t ULConfiguration_sequence[] = {
  { &hf_f1ap_uLUEConfiguration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUEConfiguration },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ULConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ULConfiguration, ULConfiguration_sequence);

  return offset;
}


static const per_sequence_t DRBs_ToBeModified_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_qoSInformation , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_QoSInformation },
  { &hf_f1ap_uLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_List },
  { &hf_f1ap_uLConfiguration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ULConfiguration },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRBs_ToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRBs_ToBeModified_Item, DRBs_ToBeModified_Item_sequence);

  return offset;
}


static const per_sequence_t DRBs_ToBeReleased_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRBs_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRBs_ToBeReleased_Item, DRBs_ToBeReleased_Item_sequence);

  return offset;
}


static const value_string f1ap_DuplicationActivation_vals[] = {
  {   0, "active" },
  {   1, "inactive" },
  { 0, NULL }
};


static int
dissect_f1ap_DuplicationActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t DRBs_ToBeSetup_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_qoSInformation , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSInformation },
  { &hf_f1ap_uLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_List },
  { &hf_f1ap_rLCMode        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCMode },
  { &hf_f1ap_uLConfiguration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ULConfiguration },
  { &hf_f1ap_duplicationActivation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_DuplicationActivation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRBs_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRBs_ToBeSetup_Item, DRBs_ToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t DRBs_ToBeSetupMod_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_qoSInformation , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSInformation },
  { &hf_f1ap_uLUPTNLInformation_ToBeSetup_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ULUPTNLInformation_ToBeSetup_List },
  { &hf_f1ap_rLCMode        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCMode },
  { &hf_f1ap_uLConfiguration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ULConfiguration },
  { &hf_f1ap_duplicationActivation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_DuplicationActivation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRBs_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRBs_ToBeSetupMod_Item, DRBs_ToBeSetupMod_Item_sequence);

  return offset;
}


static const per_sequence_t DRB_List_Item_sequence[] = {
  { &hf_f1ap_dRBID          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DRBID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRB_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRB_List_Item, DRB_List_Item_sequence);

  return offset;
}


static const per_sequence_t DRB_List_sequence_of[1] = {
  { &hf_f1ap_DRB_List_item  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DRB_List_Item },
};

static int
dissect_f1ap_DRB_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRB_List, DRB_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const value_string f1ap_LongDRXCycleLength_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms32" },
  {   3, "ms40" },
  {   4, "ms60" },
  {   5, "ms64" },
  {   6, "ms70" },
  {   7, "ms80" },
  {   8, "ms128" },
  {   9, "ms160" },
  {  10, "ms256" },
  {  11, "ms320" },
  {  12, "ms512" },
  {  13, "ms640" },
  {  14, "ms1024" },
  {  15, "ms1280" },
  {  16, "ms2048" },
  {  17, "ms2560" },
  {  18, "ms5120" },
  {  19, "ms10240" },
  { 0, NULL }
};

static value_string_ext f1ap_LongDRXCycleLength_vals_ext = VALUE_STRING_EXT_INIT(f1ap_LongDRXCycleLength_vals);


static int
dissect_f1ap_LongDRXCycleLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     20, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_ShortDRXCycleLength_vals[] = {
  {   0, "ms2" },
  {   1, "ms3" },
  {   2, "ms4" },
  {   3, "ms5" },
  {   4, "ms6" },
  {   5, "ms7" },
  {   6, "ms8" },
  {   7, "ms10" },
  {   8, "ms14" },
  {   9, "ms16" },
  {  10, "ms20" },
  {  11, "ms30" },
  {  12, "ms32" },
  {  13, "ms35" },
  {  14, "ms40" },
  {  15, "ms64" },
  {  16, "ms80" },
  {  17, "ms128" },
  {  18, "ms160" },
  {  19, "ms256" },
  {  20, "ms320" },
  {  21, "ms512" },
  {  22, "ms640" },
  { 0, NULL }
};

static value_string_ext f1ap_ShortDRXCycleLength_vals_ext = VALUE_STRING_EXT_INIT(f1ap_ShortDRXCycleLength_vals);


static int
dissect_f1ap_ShortDRXCycleLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     23, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_ShortDRXCycleTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 16U, NULL, false);

  return offset;
}


static const per_sequence_t DRXCycle_sequence[] = {
  { &hf_f1ap_longDRXCycleLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_LongDRXCycleLength },
  { &hf_f1ap_shortDRXCycleLength, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ShortDRXCycleLength },
  { &hf_f1ap_shortDRXCycleTimer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ShortDRXCycleTimer },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DRXCycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DRXCycle, DRXCycle_sequence);

  return offset;
}


static const value_string f1ap_LongNonIntegerDRXCycleLength_vals[] = {
  {   0, "ms1001over240" },
  {   1, "ms25over6" },
  {   2, "ms25over3" },
  {   3, "ms1001over120" },
  {   4, "ms100over9" },
  {   5, "ms25over2" },
  {   6, "ms40over3" },
  {   7, "ms125over9" },
  {   8, "ms50over3" },
  {   9, "ms1001over60" },
  {  10, "ms125over6" },
  {  11, "ms200over9" },
  {  12, "ms250over9" },
  {  13, "ms100over3" },
  {  14, "ms1001over30" },
  {  15, "ms75over2" },
  {  16, "ms125over3" },
  {  17, "ms1001over24" },
  {  18, "ms200over3" },
  {  19, "ms1001over15" },
  {  20, "ms250over3" },
  {  21, "ms1001over12" },
  {  22, "ms400over3" },
  { 0, NULL }
};


static int
dissect_f1ap_LongNonIntegerDRXCycleLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     23, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_ShortNonIntegerDRXCycleLength_vals[] = {
  {   0, "ms1001over240" },
  {   1, "ms25over6" },
  {   2, "ms25over3" },
  {   3, "ms1001over120" },
  {   4, "ms100over9" },
  {   5, "ms25over2" },
  {   6, "ms40over3" },
  {   7, "ms125over9" },
  {   8, "ms50over3" },
  {   9, "ms1001over60" },
  {  10, "ms125over6" },
  {  11, "ms200over9" },
  {  12, "ms100over3" },
  {  13, "ms1001over30" },
  {  14, "ms125over3" },
  {  15, "ms1001over24" },
  {  16, "ms200over3" },
  { 0, NULL }
};


static int
dissect_f1ap_ShortNonIntegerDRXCycleLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     17, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t NonIntegerDRXCycle_sequence[] = {
  { &hf_f1ap_longNonIntegerDRXCycleLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_LongNonIntegerDRXCycleLength },
  { &hf_f1ap_shortNonIntegerDRXCycleLength, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ShortNonIntegerDRXCycleLength },
  { &hf_f1ap_shortDRXCycleTimer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ShortDRXCycleTimer },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NonIntegerDRXCycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NonIntegerDRXCycle, NonIntegerDRXCycle_sequence);

  return offset;
}



static int
dissect_f1ap_DRX_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_DRX_Config);
    dissect_nr_rrc_DRX_Config_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_DRXConfigurationIndicator_vals[] = {
  {   0, "release" },
  { 0, NULL }
};


static int
dissect_f1ap_DRXConfigurationIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_DRX_LongCycleStartOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 10239U, NULL, false);

  return offset;
}



static int
dissect_f1ap_DUtoCURRCContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_DUtoCURRCContainer);
    dissect_nr_rrc_CellGroupConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t DUCURIMInformation_sequence[] = {
  { &hf_f1ap_victimgNBSetID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_GNBSetID },
  { &hf_f1ap_rIMRSDetectionStatus, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RIMRSDetectionStatus },
  { &hf_f1ap_aggressorCellList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_AggressorCellList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DUCURIMInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DUCURIMInformation, DUCURIMInformation_sequence);

  return offset;
}


static const value_string f1ap_DUCURadioInformationType_vals[] = {
  {   0, "rIM" },
  {   1, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t DUCURadioInformationType_choice[] = {
  {   0, &hf_f1ap_rIM_01         , ASN1_NO_EXTENSIONS     , dissect_f1ap_DUCURIMInformation },
  {   1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_DUCURadioInformationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_DUCURadioInformationType, DUCURadioInformationType_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_DU_RX_MT_RX_Extend_vals[] = {
  {   0, "supported" },
  {   1, "not-supported" },
  {   2, "supported-and-FDM-required" },
  { 0, NULL }
};


static int
dissect_f1ap_DU_RX_MT_RX_Extend(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_DU_TX_MT_TX_Extend_vals[] = {
  {   0, "supported" },
  {   1, "not-supported" },
  {   2, "supported-and-FDM-required" },
  { 0, NULL }
};


static int
dissect_f1ap_DU_TX_MT_TX_Extend(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_DU_RX_MT_TX_Extend_vals[] = {
  {   0, "supported" },
  {   1, "not-supported" },
  {   2, "supported-and-FDM-required" },
  { 0, NULL }
};


static int
dissect_f1ap_DU_RX_MT_TX_Extend(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_DU_TX_MT_RX_Extend_vals[] = {
  {   0, "supported" },
  {   1, "not-supported" },
  {   2, "supported-and-FDM-required" },
  { 0, NULL }
};


static int
dissect_f1ap_DU_TX_MT_RX_Extend(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_MeasGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasGapConfig);
    dissect_nr_rrc_MeasGapConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_T_requestedP_MaxFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_requestedP_MaxFR1);
    dissect_nr_rrc_P_Max_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t DUtoCURRCInformation_sequence[] = {
  { &hf_f1ap_cellGroupConfig, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_CellGroupConfig },
  { &hf_f1ap_measGapConfig  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MeasGapConfig },
  { &hf_f1ap_requestedP_MaxFR1, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_T_requestedP_MaxFR1 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DUtoCURRCInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DUtoCURRCInformation, DUtoCURRCInformation_sequence);

  return offset;
}



static int
dissect_f1ap_GNB_DU_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
                                                            0U, UINT64_C(68719476735), NULL, false);

  return offset;
}


static const per_sequence_t DUtoCUTAInformation_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_tAValue        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TAValue },
  { &hf_f1ap_preambleIndex  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PreambleIndex },
  { &hf_f1ap_rA_RNTI        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RA_RNTI },
  { &hf_f1ap_sourceGNB_DU_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_ID },
  { &hf_f1ap_tagIDPointer   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TagIDPointer },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DUtoCUTAInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DUtoCUTAInformation_Item, DUtoCUTAInformation_Item_sequence);

  return offset;
}


static const per_sequence_t DUtoCUTAInformation_List_sequence_of[1] = {
  { &hf_f1ap_DUtoCUTAInformation_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DUtoCUTAInformation_Item },
};

static int
dissect_f1ap_DUtoCUTAInformation_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DUtoCUTAInformation_List, DUtoCUTAInformation_List_sequence_of,
                                                  1, maxnoofTAList, false);

  return offset;
}


static const value_string f1ap_DuplicationIndication_vals[] = {
  {   0, "true" },
  {   1, "false" },
  { 0, NULL }
};


static int
dissect_f1ap_DuplicationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 1, NULL);

  return offset;
}


static const value_string f1ap_DuplicationState_vals[] = {
  {   0, "active" },
  {   1, "inactive" },
  { 0, NULL }
};


static int
dissect_f1ap_DuplicationState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_resourceType_vals[] = {
  {   0, "gbr" },
  {   1, "non-gbr" },
  {   2, "delay-critical-grb" },
  { 0, NULL }
};


static int
dissect_f1ap_T_resourceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_8_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 8U, NULL, true);

  return offset;
}


static const per_sequence_t DynamicPQIDescriptor_sequence[] = {
  { &hf_f1ap_resourceType   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_resourceType },
  { &hf_f1ap_qoSPriorityLevel_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_8_ },
  { &hf_f1ap_packetDelayBudget, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PacketDelayBudget },
  { &hf_f1ap_packetErrorRate, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PacketErrorRate },
  { &hf_f1ap_averagingWindow, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_AveragingWindow },
  { &hf_f1ap_maxDataBurstVolume, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_MaxDataBurstVolume },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DynamicPQIDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DynamicPQIDescriptor, DynamicPQIDescriptor_sequence);

  return offset;
}


static const value_string f1ap_DLLBTFailureInformationRequest_vals[] = {
  {   0, "inquiry" },
  { 0, NULL }
};


static int
dissect_f1ap_DLLBTFailureInformationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_1000_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 1000U, NULL, true);

  return offset;
}


static const per_sequence_t DLLBTFailureInformationList_Item_sequence[] = {
  { &hf_f1ap_uEAssistantIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_CU_UE_F1AP_ID },
  { &hf_f1ap_numberOfDLLBTFailures, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_1_1000_ },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DLLBTFailureInformationList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DLLBTFailureInformationList_Item, DLLBTFailureInformationList_Item_sequence);

  return offset;
}


static const per_sequence_t DLLBTFailureInformationList_sequence_of[1] = {
  { &hf_f1ap_DLLBTFailureInformationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DLLBTFailureInformationList_Item },
};

static int
dissect_f1ap_DLLBTFailureInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DLLBTFailureInformationList, DLLBTFailureInformationList_sequence_of,
                                                  1, maxnoofLBTFailureInformation, false);

  return offset;
}



static int
dissect_f1ap_RACHConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RACHConfiguration);
    dissect_nr_rrc_EarlyUL_SyncConfig_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t PreambleIndexList_Item_sequence[] = {
  { &hf_f1ap_preambleIndex_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_63 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PreambleIndexList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PreambleIndexList_Item, PreambleIndexList_Item_sequence);

  return offset;
}


static const per_sequence_t PreambleIndexList_sequence_of[1] = {
  { &hf_f1ap_PreambleIndexList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PreambleIndexList_Item },
};

static int
dissect_f1ap_PreambleIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PreambleIndexList, PreambleIndexList_sequence_of,
                                                  1, maxnoofLTMCells, false);

  return offset;
}


static const per_sequence_t LTMgNB_DU_IDs_PreambleIndex_Item_sequence[] = {
  { &hf_f1ap_lTMgNB_DU_ID   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_ID },
  { &hf_f1ap_preambleIndexList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PreambleIndexList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LTMgNB_DU_IDs_PreambleIndex_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LTMgNB_DU_IDs_PreambleIndex_Item, LTMgNB_DU_IDs_PreambleIndex_Item_sequence);

  return offset;
}


static const per_sequence_t LTMgNB_DU_IDs_PreambleIndexList_sequence_of[1] = {
  { &hf_f1ap_LTMgNB_DU_IDs_PreambleIndexList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_LTMgNB_DU_IDs_PreambleIndex_Item },
};

static int
dissect_f1ap_LTMgNB_DU_IDs_PreambleIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_LTMgNB_DU_IDs_PreambleIndexList, LTMgNB_DU_IDs_PreambleIndexList_sequence_of,
                                                  1, maxnoofLTMgNB_DUs, false);

  return offset;
}


static const per_sequence_t EarlyULSyncConfig_sequence[] = {
  { &hf_f1ap_rACH           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RACHConfiguration },
  { &hf_f1ap_lTMgNB_DU_IDs_PreambleIndexList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_LTMgNB_DU_IDs_PreambleIndexList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_EarlyULSyncConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_EarlyULSyncConfig, EarlyULSyncConfig_sequence);

  return offset;
}


static const value_string f1ap_RequestforRACHConfiguration_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_RequestforRACHConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t LTMgNB_DU_IDs_Item_sequence[] = {
  { &hf_f1ap_lTMgNB_DU_ID   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LTMgNB_DU_IDs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LTMgNB_DU_IDs_Item, LTMgNB_DU_IDs_Item_sequence);

  return offset;
}


static const per_sequence_t LTMgNB_DU_IDsList_sequence_of[1] = {
  { &hf_f1ap_LTMgNB_DU_IDsList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_LTMgNB_DU_IDs_Item },
};

static int
dissect_f1ap_LTMgNB_DU_IDsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_LTMgNB_DU_IDsList, LTMgNB_DU_IDsList_sequence_of,
                                                  1, maxnoofLTMgNB_DUs, false);

  return offset;
}


static const per_sequence_t EarlySyncInformation_Request_sequence[] = {
  { &hf_f1ap_requestforRACHConfiguration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RequestforRACHConfiguration },
  { &hf_f1ap_lTMgNB_DU_IDsList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_LTMgNB_DU_IDsList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_EarlySyncInformation_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_EarlySyncInformation_Request, EarlySyncInformation_Request_sequence);

  return offset;
}



static int
dissect_f1ap_TCIStatesConfigurationsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_TCIStatesConfigurationsList);
    dissect_nr_rrc_LTM_TCI_Info_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t EarlySyncInformation_sequence[] = {
  { &hf_f1ap_tCIStatesConfigurationsList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TCIStatesConfigurationsList },
  { &hf_f1ap_earlyULSyncConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_EarlyULSyncConfig },
  { &hf_f1ap_earlyULSyncConfigSUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_EarlyULSyncConfig },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_EarlySyncInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_EarlySyncInformation, EarlySyncInformation_sequence);

  return offset;
}


static const value_string f1ap_TAAssistanceInfo_vals[] = {
  {   0, "zero" },
  { 0, NULL }
};


static int
dissect_f1ap_TAAssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, NULL);

  return offset;
}


static const per_sequence_t EarlySyncCandidateCellInformation_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_tCIStatesConfigurationsList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TCIStatesConfigurationsList },
  { &hf_f1ap_earlyULSyncConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_EarlyULSyncConfig },
  { &hf_f1ap_earlyULSyncConfigSUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_EarlyULSyncConfig },
  { &hf_f1ap_tAAssistanceInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TAAssistanceInfo },
  { &hf_f1ap_uEbasedTAmeasurementConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_OCTET_STRING },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_EarlySyncCandidateCellInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_EarlySyncCandidateCellInformation_Item, EarlySyncCandidateCellInformation_Item_sequence);

  return offset;
}


static const per_sequence_t EarlySyncCandidateCellInformation_List_sequence_of[1] = {
  { &hf_f1ap_EarlySyncCandidateCellInformation_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_EarlySyncCandidateCellInformation_Item },
};

static int
dissect_f1ap_EarlySyncCandidateCellInformation_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_EarlySyncCandidateCellInformation_List, EarlySyncCandidateCellInformation_List_sequence_of,
                                                  1, maxnoofLTMCells, false);

  return offset;
}


static const per_sequence_t EarlySyncServingCellInformation_sequence[] = {
  { &hf_f1ap_uEbasedTAmeasurementConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_OCTET_STRING },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_EarlySyncServingCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_EarlySyncServingCellInformation, EarlySyncServingCellInformation_sequence);

  return offset;
}


static const per_sequence_t E_CID_MeasurementQuantities_sequence_of[1] = {
  { &hf_f1ap_E_CID_MeasurementQuantities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_E_CID_MeasurementQuantities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_E_CID_MeasurementQuantities, E_CID_MeasurementQuantities_sequence_of,
                                                  1, maxnoofMeasE_CID, false);

  return offset;
}


static const value_string f1ap_E_CID_MeasurementQuantitiesValue_vals[] = {
  {   0, "default" },
  {   1, "angleOfArrivalNR" },
  {   2, "timingAdvanceNR" },
  { 0, NULL }
};


static int
dissect_f1ap_E_CID_MeasurementQuantitiesValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 1, NULL);

  return offset;
}


static const per_sequence_t E_CID_MeasurementQuantities_Item_sequence[] = {
  { &hf_f1ap_e_CIDmeasurementQuantitiesValue, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_E_CID_MeasurementQuantitiesValue },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_E_CID_MeasurementQuantities_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_E_CID_MeasurementQuantities_Item, E_CID_MeasurementQuantities_Item_sequence);

  return offset;
}



static int
dissect_f1ap_INTEGER_M2147483648_2147483647(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            INT32_MIN, 2147483647U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_M64000_1280000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -64000, 1280000U, NULL, false);

  return offset;
}


static const per_sequence_t NGRANHighAccuracyAccessPointPosition_sequence[] = {
  { &hf_f1ap_latitude_01    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M2147483648_2147483647 },
  { &hf_f1ap_longitude_01   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M2147483648_2147483647 },
  { &hf_f1ap_altitude_01    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M64000_1280000 },
  { &hf_f1ap_uncertaintySemi_major_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_255 },
  { &hf_f1ap_uncertaintySemi_minor_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_255 },
  { &hf_f1ap_orientationOfMajorAxis, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_179 },
  { &hf_f1ap_horizontalConfidence, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_uncertaintyAltitude_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_255 },
  { &hf_f1ap_verticalConfidence, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NGRANHighAccuracyAccessPointPosition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NGRANHighAccuracyAccessPointPosition, NGRANHighAccuracyAccessPointPosition_sequence);

  return offset;
}


static const value_string f1ap_TRPPositionDirectAccuracy_vals[] = {
  {   0, "tRPPosition" },
  {   1, "tRPHAposition" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t TRPPositionDirectAccuracy_choice[] = {
  {   0, &hf_f1ap_tRPPosition    , ASN1_NO_EXTENSIONS     , dissect_f1ap_AccessPointPosition },
  {   1, &hf_f1ap_tRPHAposition  , ASN1_NO_EXTENSIONS     , dissect_f1ap_NGRANHighAccuracyAccessPointPosition },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_TRPPositionDirectAccuracy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_TRPPositionDirectAccuracy, TRPPositionDirectAccuracy_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t TRPPositionDirect_sequence[] = {
  { &hf_f1ap_accuracy       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPPositionDirectAccuracy },
  { &hf_f1ap_iE_extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRPPositionDirect(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRPPositionDirect, TRPPositionDirect_sequence);

  return offset;
}


static const value_string f1ap_ReferencePoint_vals[] = {
  {   0, "coordinateID" },
  {   1, "referencePointCoordinate" },
  {   2, "referencePointCoordinateHA" },
  {   3, "choice-Extension" },
  { 0, NULL }
};

static const per_choice_t ReferencePoint_choice[] = {
  {   0, &hf_f1ap_coordinateID   , ASN1_NO_EXTENSIONS     , dissect_f1ap_CoordinateID },
  {   1, &hf_f1ap_referencePointCoordinate, ASN1_NO_EXTENSIONS     , dissect_f1ap_AccessPointPosition },
  {   2, &hf_f1ap_referencePointCoordinateHA, ASN1_NO_EXTENSIONS     , dissect_f1ap_NGRANHighAccuracyAccessPointPosition },
  {   3, &hf_f1ap_choice_Extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_ReferencePoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_ReferencePoint, ReferencePoint_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_TRPReferencePointType_vals[] = {
  {   0, "tRPPositionRelativeGeodetic" },
  {   1, "tRPPositionRelativeCartesian" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t TRPReferencePointType_choice[] = {
  {   0, &hf_f1ap_tRPPositionRelativeGeodetic, ASN1_NO_EXTENSIONS     , dissect_f1ap_RelativeGeodeticLocation },
  {   1, &hf_f1ap_tRPPositionRelativeCartesian, ASN1_NO_EXTENSIONS     , dissect_f1ap_RelativeCartesianLocation },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_TRPReferencePointType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_TRPReferencePointType, TRPReferencePointType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t TRPPositionReferenced_sequence[] = {
  { &hf_f1ap_referencePoint , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ReferencePoint },
  { &hf_f1ap_referencePointType, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPReferencePointType },
  { &hf_f1ap_iE_extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRPPositionReferenced(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRPPositionReferenced, TRPPositionReferenced_sequence);

  return offset;
}


static const value_string f1ap_TRPPositionDefinitionType_vals[] = {
  {   0, "direct" },
  {   1, "referenced" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t TRPPositionDefinitionType_choice[] = {
  {   0, &hf_f1ap_direct         , ASN1_NO_EXTENSIONS     , dissect_f1ap_TRPPositionDirect },
  {   1, &hf_f1ap_referenced     , ASN1_NO_EXTENSIONS     , dissect_f1ap_TRPPositionReferenced },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_TRPPositionDefinitionType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_TRPPositionDefinitionType, TRPPositionDefinitionType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t GeographicalCoordinates_sequence[] = {
  { &hf_f1ap_tRPPositionDefinitionType, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPPositionDefinitionType },
  { &hf_f1ap_dLPRSResourceCoordinates, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_DLPRSResourceCoordinates },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GeographicalCoordinates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GeographicalCoordinates, GeographicalCoordinates_sequence);

  return offset;
}


static const value_string f1ap_E_CID_MeasuredResults_Value_vals[] = {
  {   0, "valueAngleofArrivalNR" },
  {   1, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t E_CID_MeasuredResults_Value_choice[] = {
  {   0, &hf_f1ap_valueAngleofArrivalNR, ASN1_NO_EXTENSIONS     , dissect_f1ap_UL_AoA },
  {   1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_E_CID_MeasuredResults_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_E_CID_MeasuredResults_Value, E_CID_MeasuredResults_Value_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t E_CID_MeasuredResults_Item_sequence[] = {
  { &hf_f1ap_e_CID_MeasuredResults_Value, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_E_CID_MeasuredResults_Value },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_E_CID_MeasuredResults_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_E_CID_MeasuredResults_Item, E_CID_MeasuredResults_Item_sequence);

  return offset;
}


static const per_sequence_t E_CID_MeasuredResults_List_sequence_of[1] = {
  { &hf_f1ap_E_CID_MeasuredResults_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_E_CID_MeasuredResults_Item },
};

static int
dissect_f1ap_E_CID_MeasuredResults_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_E_CID_MeasuredResults_List, E_CID_MeasuredResults_List_sequence_of,
                                                  1, maxnoofMeasE_CID, false);

  return offset;
}


static const per_sequence_t E_CID_MeasurementResult_sequence[] = {
  { &hf_f1ap_geographicalCoordinates, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_GeographicalCoordinates },
  { &hf_f1ap_measuredResults_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_E_CID_MeasuredResults_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_E_CID_MeasurementResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_E_CID_MeasurementResult, E_CID_MeasurementResult_sequence);

  return offset;
}



static int
dissect_f1ap_SystemFrameNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1023U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 9U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 19U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 39U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_79(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 79U, NULL, false);

  return offset;
}


static const value_string f1ap_TimeStampSlotIndex_vals[] = {
  {   0, "sCS-15" },
  {   1, "sCS-30" },
  {   2, "sCS-60" },
  {   3, "sCS-120" },
  {   4, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t TimeStampSlotIndex_choice[] = {
  {   0, &hf_f1ap_sCS_15         , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_9 },
  {   1, &hf_f1ap_sCS_30         , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_19 },
  {   2, &hf_f1ap_sCS_60         , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_39 },
  {   3, &hf_f1ap_sCS_120        , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_79 },
  {   4, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_TimeStampSlotIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_TimeStampSlotIndex, TimeStampSlotIndex_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_RelativeTime1900(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
                                     64, 64, false, NULL, 0, &param_tvb, NULL);

  if (param_tvb) {
    actx->created_item = proto_tree_add_item(tree, hf_index, param_tvb, 0, 8, ENC_TIME_NTP|ENC_BIG_ENDIAN);
  }


  return offset;
}


static const per_sequence_t TimeStamp_sequence[] = {
  { &hf_f1ap_systemFrameNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SystemFrameNumber },
  { &hf_f1ap_slotIndex_02   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TimeStampSlotIndex },
  { &hf_f1ap_measurementTime, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_RelativeTime1900 },
  { &hf_f1ap_iE_Extension   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TimeStamp, TimeStamp_sequence);

  return offset;
}


static const per_sequence_t E_CID_MeasuredResultsAssociatedInfoItem_sequence[] = {
  { &hf_f1ap_timeStamp      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TimeStamp },
  { &hf_f1ap_measurementQuality, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TRPMeasurementQuality },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_E_CID_MeasuredResultsAssociatedInfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_E_CID_MeasuredResultsAssociatedInfoItem, E_CID_MeasuredResultsAssociatedInfoItem_sequence);

  return offset;
}


static const per_sequence_t E_CID_MeasuredResultsAssociatedInfoList_sequence_of[1] = {
  { &hf_f1ap_E_CID_MeasuredResultsAssociatedInfoList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_E_CID_MeasuredResultsAssociatedInfoItem },
};

static int
dissect_f1ap_E_CID_MeasuredResultsAssociatedInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_E_CID_MeasuredResultsAssociatedInfoList, E_CID_MeasuredResultsAssociatedInfoList_sequence_of,
                                                  1, maxnoofMeasE_CID, false);

  return offset;
}


static const value_string f1ap_E_CID_ReportCharacteristics_vals[] = {
  {   0, "onDemand" },
  {   1, "periodic" },
  { 0, NULL }
};


static int
dissect_f1ap_E_CID_ReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_EgressNonF1terminatingTopologyIndicator_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_EgressNonF1terminatingTopologyIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_EnergyDetectionThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -100, -50, NULL, true);

  return offset;
}


static const per_sequence_t SliceSupportItem_sequence[] = {
  { &hf_f1ap_sNSSAI         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SliceSupportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SliceSupportItem, SliceSupportItem_sequence);

  return offset;
}


static const per_sequence_t SliceSupportList_sequence_of[1] = {
  { &hf_f1ap_SliceSupportList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SliceSupportItem },
};

static int
dissect_f1ap_SliceSupportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SliceSupportList, SliceSupportList_sequence_of,
                                                  1, maxnoofSliceItems, false);

  return offset;
}


static const per_sequence_t ExtendedServedPLMNs_Item_sequence[] = {
  { &hf_f1ap_pLMN_Identity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_tAISliceSupportList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_SliceSupportList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ExtendedServedPLMNs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ExtendedServedPLMNs_Item, ExtendedServedPLMNs_Item_sequence);

  return offset;
}


static const per_sequence_t ExtendedServedPLMNs_List_sequence_of[1] = {
  { &hf_f1ap_ExtendedServedPLMNs_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ExtendedServedPLMNs_Item },
};

static int
dissect_f1ap_ExtendedServedPLMNs_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_ExtendedServedPLMNs_List, ExtendedServedPLMNs_List_sequence_of,
                                                  1, maxnoofExtendedBPLMNs, false);

  return offset;
}


static const per_sequence_t ExtendedSliceSupportList_sequence_of[1] = {
  { &hf_f1ap_ExtendedSliceSupportList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SliceSupportItem },
};

static int
dissect_f1ap_ExtendedSliceSupportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_ExtendedSliceSupportList, ExtendedSliceSupportList_sequence_of,
                                                  1, maxnoofExtSliceItems, false);

  return offset;
}



static int
dissect_f1ap_ExtendedUEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     16, 16, false, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_f1ap_EUTRA_Cell_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     28, 28, false, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_f1ap_OffsetToPointA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 2199U, NULL, true);

  return offset;
}


static const per_sequence_t EUTRA_FDD_Info_sequence[] = {
  { &hf_f1ap_uL_offsetToPointA, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_OffsetToPointA },
  { &hf_f1ap_dL_offsetToPointA, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_OffsetToPointA },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_EUTRA_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_EUTRA_FDD_Info, EUTRA_FDD_Info_sequence);

  return offset;
}


static const per_sequence_t EUTRA_TDD_Info_sequence[] = {
  { &hf_f1ap_offsetToPointA , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_OffsetToPointA },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_EUTRA_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_EUTRA_TDD_Info, EUTRA_TDD_Info_sequence);

  return offset;
}


static const value_string f1ap_EUTRA_Mode_Info_vals[] = {
  {   0, "eUTRAFDD" },
  {   1, "eUTRATDD" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t EUTRA_Mode_Info_choice[] = {
  {   0, &hf_f1ap_eUTRAFDD       , ASN1_NO_EXTENSIONS     , dissect_f1ap_EUTRA_FDD_Info },
  {   1, &hf_f1ap_eUTRATDD       , ASN1_NO_EXTENSIONS     , dissect_f1ap_EUTRA_TDD_Info },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_EUTRA_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_EUTRA_Mode_Info, EUTRA_Mode_Info_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_ProtectedEUTRAResourceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ProtectedEUTRAResourceIndication);
    dissect_x2ap_ProtectedEUTRAResourceIndication_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t Served_EUTRA_Cells_Information_sequence[] = {
  { &hf_f1ap_eUTRA_Mode_Info_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Mode_Info },
  { &hf_f1ap_protectedEUTRAResourceIndication, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtectedEUTRAResourceIndication },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Served_EUTRA_Cells_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Served_EUTRA_Cells_Information, Served_EUTRA_Cells_Information_sequence);

  return offset;
}


static const per_sequence_t EUTRACells_List_item_sequence[] = {
  { &hf_f1ap_eUTRA_Cell_ID  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Cell_ID },
  { &hf_f1ap_served_EUTRA_Cells_Information, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Served_EUTRA_Cells_Information },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_EUTRACells_List_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_EUTRACells_List_item, EUTRACells_List_item_sequence);

  return offset;
}


static const per_sequence_t EUTRACells_List_sequence_of[1] = {
  { &hf_f1ap_EUTRACells_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRACells_List_item },
};

static int
dissect_f1ap_EUTRACells_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_EUTRACells_List, EUTRACells_List_sequence_of,
                                                  1, maxCellineNB, false);

  return offset;
}



static int
dissect_f1ap_ExtendedEARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 262143U, NULL, false);

  return offset;
}


static const value_string f1ap_EUTRA_Transmission_Bandwidth_vals[] = {
  {   0, "bw6" },
  {   1, "bw15" },
  {   2, "bw25" },
  {   3, "bw50" },
  {   4, "bw75" },
  {   5, "bw100" },
  { 0, NULL }
};


static int
dissect_f1ap_EUTRA_Transmission_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t EUTRA_Coex_FDD_Info_sequence[] = {
  { &hf_f1ap_uL_EARFCN      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ExtendedEARFCN },
  { &hf_f1ap_dL_EARFCN      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ExtendedEARFCN },
  { &hf_f1ap_uL_Transmission_Bandwidth, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_EUTRA_Transmission_Bandwidth },
  { &hf_f1ap_dL_Transmission_Bandwidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Transmission_Bandwidth },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_EUTRA_Coex_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_EUTRA_Coex_FDD_Info, EUTRA_Coex_FDD_Info_sequence);

  return offset;
}


static const value_string f1ap_EUTRA_SubframeAssignment_vals[] = {
  {   0, "sa0" },
  {   1, "sa1" },
  {   2, "sa2" },
  {   3, "sa3" },
  {   4, "sa4" },
  {   5, "sa5" },
  {   6, "sa6" },
  { 0, NULL }
};


static int
dissect_f1ap_EUTRA_SubframeAssignment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_EUTRA_SpecialSubframePatterns_vals[] = {
  {   0, "ssp0" },
  {   1, "ssp1" },
  {   2, "ssp2" },
  {   3, "ssp3" },
  {   4, "ssp4" },
  {   5, "ssp5" },
  {   6, "ssp6" },
  {   7, "ssp7" },
  {   8, "ssp8" },
  {   9, "ssp9" },
  {  10, "ssp10" },
  { 0, NULL }
};


static int
dissect_f1ap_EUTRA_SpecialSubframePatterns(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     11, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_EUTRA_CyclicPrefixDL_vals[] = {
  {   0, "normal" },
  {   1, "extended" },
  { 0, NULL }
};


static int
dissect_f1ap_EUTRA_CyclicPrefixDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_EUTRA_CyclicPrefixUL_vals[] = {
  {   0, "normal" },
  {   1, "extended" },
  { 0, NULL }
};


static int
dissect_f1ap_EUTRA_CyclicPrefixUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t EUTRA_SpecialSubframe_Info_sequence[] = {
  { &hf_f1ap_specialSubframePatterns, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_SpecialSubframePatterns },
  { &hf_f1ap_cyclicPrefixDL , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_CyclicPrefixDL },
  { &hf_f1ap_cyclicPrefixUL , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_CyclicPrefixUL },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_EUTRA_SpecialSubframe_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_EUTRA_SpecialSubframe_Info, EUTRA_SpecialSubframe_Info_sequence);

  return offset;
}


static const per_sequence_t EUTRA_Coex_TDD_Info_sequence[] = {
  { &hf_f1ap_eARFCN         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ExtendedEARFCN },
  { &hf_f1ap_transmission_Bandwidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Transmission_Bandwidth },
  { &hf_f1ap_subframeAssignment, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_SubframeAssignment },
  { &hf_f1ap_specialSubframe_Info, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_SpecialSubframe_Info },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_EUTRA_Coex_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_EUTRA_Coex_TDD_Info, EUTRA_Coex_TDD_Info_sequence);

  return offset;
}


static const value_string f1ap_EUTRA_Coex_Mode_Info_vals[] = {
  {   0, "fDD" },
  {   1, "tDD" },
  { 0, NULL }
};

static const per_choice_t EUTRA_Coex_Mode_Info_choice[] = {
  {   0, &hf_f1ap_fDD            , ASN1_EXTENSION_ROOT    , dissect_f1ap_EUTRA_Coex_FDD_Info },
  {   1, &hf_f1ap_tDD            , ASN1_EXTENSION_ROOT    , dissect_f1ap_EUTRA_Coex_TDD_Info },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_EUTRA_Coex_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_EUTRA_Coex_Mode_Info, EUTRA_Coex_Mode_Info_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_94(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 94U, NULL, false);

  return offset;
}


static const per_sequence_t EUTRA_PRACH_Configuration_sequence[] = {
  { &hf_f1ap_rootSequenceIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_837 },
  { &hf_f1ap_zeroCorrelationIndex, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_15 },
  { &hf_f1ap_highSpeedFlag  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BOOLEAN },
  { &hf_f1ap_prach_FreqOffset, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_94 },
  { &hf_f1ap_prach_ConfigIndex, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_63 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_EUTRA_PRACH_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_EUTRA_PRACH_Configuration, EUTRA_PRACH_Configuration_sequence);

  return offset;
}


static const value_string f1ap_ExecuteDuplication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_ExecuteDuplication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container);
    dissect_x2ap_EUTRANRCellResourceCoordinationRequest_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container);
    dissect_x2ap_EUTRANRCellResourceCoordinationResponse_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_EventType_vals[] = {
  {   0, "on-demand" },
  {   1, "periodic" },
  {   2, "stop" },
  { 0, NULL }
};


static int
dissect_f1ap_EventType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_ExtendedPacketDelayBudget(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 65535U, NULL, true);

  return offset;
}


static const value_string f1ap_ECNmarkingRequest_vals[] = {
  {   0, "ul" },
  {   1, "dl" },
  {   2, "both" },
  {   3, "stop" },
  { 0, NULL }
};


static int
dissect_f1ap_ECNmarkingRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_CongestionInformationRequest_vals[] = {
  {   0, "ul" },
  {   1, "dl" },
  {   2, "both" },
  {   3, "stop" },
  { 0, NULL }
};


static int
dissect_f1ap_CongestionInformationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_ECNMarkingorCongestionInformationReportingRequest_vals[] = {
  {   0, "ecnMarking" },
  {   1, "congestionInformation" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t ECNMarkingorCongestionInformationReportingRequest_choice[] = {
  {   0, &hf_f1ap_ecnMarking     , ASN1_NO_EXTENSIONS     , dissect_f1ap_ECNmarkingRequest },
  {   1, &hf_f1ap_congestionInformation, ASN1_NO_EXTENSIONS     , dissect_f1ap_CongestionInformationRequest },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_ECNMarkingorCongestionInformationReportingRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_ECNMarkingorCongestionInformationReportingRequest, ECNMarkingorCongestionInformationReportingRequest_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_ECNMarkingorCongestionInformationReportingStatus_vals[] = {
  {   0, "active" },
  {   1, "not-active" },
  { 0, NULL }
};


static int
dissect_f1ap_ECNMarkingorCongestionInformationReportingStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_F1CPathNSA_vals[] = {
  {   0, "lte" },
  {   1, "nr" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_f1ap_F1CPathNSA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, false, 0, NULL);

  return offset;
}


static const per_sequence_t F1CTransferPath_sequence[] = {
  { &hf_f1ap_f1CPathNSA     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_F1CPathNSA },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_F1CTransferPath(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_F1CTransferPath, F1CTransferPath_sequence);

  return offset;
}


static const value_string f1ap_F1CPathNRDC_vals[] = {
  {   0, "mcg" },
  {   1, "scg" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_f1ap_F1CPathNRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, false, 0, NULL);

  return offset;
}


static const per_sequence_t F1CTransferPathNRDC_sequence[] = {
  { &hf_f1ap_f1CPathNRDC    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_F1CPathNRDC },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_F1CTransferPathNRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_F1CTransferPathNRDC, F1CTransferPathNRDC_sequence);

  return offset;
}


static const value_string f1ap_F1U_PathFailure_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_F1U_PathFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_F1UTunnelNotEstablished_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_F1UTunnelNotEstablished(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_NRNRB_vals[] = {
  {   0, "nrb11" },
  {   1, "nrb18" },
  {   2, "nrb24" },
  {   3, "nrb25" },
  {   4, "nrb31" },
  {   5, "nrb32" },
  {   6, "nrb38" },
  {   7, "nrb51" },
  {   8, "nrb52" },
  {   9, "nrb65" },
  {  10, "nrb66" },
  {  11, "nrb78" },
  {  12, "nrb79" },
  {  13, "nrb93" },
  {  14, "nrb106" },
  {  15, "nrb107" },
  {  16, "nrb121" },
  {  17, "nrb132" },
  {  18, "nrb133" },
  {  19, "nrb135" },
  {  20, "nrb160" },
  {  21, "nrb162" },
  {  22, "nrb189" },
  {  23, "nrb216" },
  {  24, "nrb217" },
  {  25, "nrb245" },
  {  26, "nrb264" },
  {  27, "nrb270" },
  {  28, "nrb273" },
  {  29, "nrb33" },
  {  30, "nrb62" },
  {  31, "nrb124" },
  {  32, "nrb148" },
  {  33, "nrb248" },
  {  34, "nrb44" },
  {  35, "nrb58" },
  {  36, "nrb92" },
  {  37, "nrb119" },
  {  38, "nrb188" },
  {  39, "nrb242" },
  {  40, "nrb15" },
  { 0, NULL }
};

static value_string_ext f1ap_NRNRB_vals_ext = VALUE_STRING_EXT_INIT(f1ap_NRNRB_vals);


static int
dissect_f1ap_NRNRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     29, NULL, true, 12, NULL);

  return offset;
}


static const per_sequence_t Transmission_Bandwidth_sequence[] = {
  { &hf_f1ap_nRSCS_01       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRSCS },
  { &hf_f1ap_nRNRB          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRNRB },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Transmission_Bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Transmission_Bandwidth, Transmission_Bandwidth_sequence);

  return offset;
}


static const per_sequence_t SUL_Information_sequence[] = {
  { &hf_f1ap_sUL_NRARFCN    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_maxNRARFCN },
  { &hf_f1ap_sUL_transmission_Bandwidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Transmission_Bandwidth },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SUL_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SUL_Information, SUL_Information_sequence);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_1024_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 1024U, NULL, true);

  return offset;
}


static const per_sequence_t SupportedSULFreqBandItem_sequence[] = {
  { &hf_f1ap_freqBandIndicatorNr, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_1024_ },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SupportedSULFreqBandItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SupportedSULFreqBandItem, SupportedSULFreqBandItem_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem_sequence_of[1] = {
  { &hf_f1ap_supportedSULBandList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SupportedSULFreqBandItem },
};

static int
dissect_f1ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem, SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem_sequence_of,
                                                  0, maxnoofNrCellBands, false);

  return offset;
}


static const per_sequence_t FreqBandNrItem_sequence[] = {
  { &hf_f1ap_freqBandIndicatorNr, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_1024_ },
  { &hf_f1ap_supportedSULBandList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_FreqBandNrItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_FreqBandNrItem, FreqBandNrItem_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem_sequence_of[1] = {
  { &hf_f1ap_freqBandListNr_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_FreqBandNrItem },
};

static int
dissect_f1ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem, SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem_sequence_of,
                                                  1, maxnoofNrCellBands, false);

  return offset;
}


static const per_sequence_t NRFreqInfo_sequence[] = {
  { &hf_f1ap_nRARFCN        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_maxNRARFCN },
  { &hf_f1ap_sul_Information, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_SUL_Information },
  { &hf_f1ap_freqBandListNr , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NRFreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NRFreqInfo, NRFreqInfo_sequence);

  return offset;
}


static const per_sequence_t FDD_Info_sequence[] = {
  { &hf_f1ap_uL_NRFreqInfo  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRFreqInfo },
  { &hf_f1ap_dL_NRFreqInfo  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRFreqInfo },
  { &hf_f1ap_uL_Transmission_Bandwidth_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Transmission_Bandwidth },
  { &hf_f1ap_dL_Transmission_Bandwidth_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Transmission_Bandwidth },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_FDD_Info, FDD_Info_sequence);

  return offset;
}


static const value_string f1ap_FiveG_ProSeDirectDiscovery_vals[] = {
  {   0, "authorized" },
  {   1, "not-authorized" },
  { 0, NULL }
};


static int
dissect_f1ap_FiveG_ProSeDirectDiscovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_FiveG_ProSeDirectCommunication_vals[] = {
  {   0, "authorized" },
  {   1, "not-authorized" },
  { 0, NULL }
};


static int
dissect_f1ap_FiveG_ProSeDirectCommunication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_FiveG_ProSeLayer2UEtoNetworkRelay_vals[] = {
  {   0, "authorized" },
  {   1, "not-authorized" },
  { 0, NULL }
};


static int
dissect_f1ap_FiveG_ProSeLayer2UEtoNetworkRelay(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_FiveG_ProSeLayer3UEtoNetworkRelay_vals[] = {
  {   0, "authorized" },
  {   1, "not-authorized" },
  { 0, NULL }
};


static int
dissect_f1ap_FiveG_ProSeLayer3UEtoNetworkRelay(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_FiveG_ProSeLayer2RemoteUE_vals[] = {
  {   0, "authorized" },
  {   1, "not-authorized" },
  { 0, NULL }
};


static int
dissect_f1ap_FiveG_ProSeLayer2RemoteUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t FiveG_ProSeAuthorized_sequence[] = {
  { &hf_f1ap_fiveG_proSeDirectDiscovery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_FiveG_ProSeDirectDiscovery },
  { &hf_f1ap_fiveG_proSeDirectCommunication, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_FiveG_ProSeDirectCommunication },
  { &hf_f1ap_fiveG_ProSeLayer2UEtoNetworkRelay, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_FiveG_ProSeLayer2UEtoNetworkRelay },
  { &hf_f1ap_fiveG_ProSeLayer3UEtoNetworkRelay, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_FiveG_ProSeLayer3UEtoNetworkRelay },
  { &hf_f1ap_fiveG_ProSeLayer2RemoteUE, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_FiveG_ProSeLayer2RemoteUE },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_FiveG_ProSeAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_FiveG_ProSeAuthorized, FiveG_ProSeAuthorized_sequence);

  return offset;
}


static const value_string f1ap_FiveG_ProSeLayer2Multipath_vals[] = {
  {   0, "authorized" },
  {   1, "not-authorized" },
  { 0, NULL }
};


static int
dissect_f1ap_FiveG_ProSeLayer2Multipath(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_FiveG_ProSeLayer2UEtoUERelay_vals[] = {
  {   0, "authorized" },
  {   1, "not-authorized" },
  { 0, NULL }
};


static int
dissect_f1ap_FiveG_ProSeLayer2UEtoUERelay(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_FiveG_ProSeLayer2UEtoUERemote_vals[] = {
  {   0, "authorized" },
  {   1, "not-authorized" },
  { 0, NULL }
};


static int
dissect_f1ap_FiveG_ProSeLayer2UEtoUERemote(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_FiveQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 255U, NULL, true);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_maxnoofRBsetsPerCell_1_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxnoofRBsetsPerCell_1, NULL, true);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_5119(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 5119U, NULL, false);

  return offset;
}


static const per_sequence_t Frequency_Domain_HSNA_Slot_Configuration_Item_sequence[] = {
  { &hf_f1ap_slotIndex      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_5119 },
  { &hf_f1ap_hSNADownlink   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_HSNADownlink },
  { &hf_f1ap_hSNAUplink     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_HSNAUplink },
  { &hf_f1ap_hSNAFlexible   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_HSNAFlexible },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Frequency_Domain_HSNA_Slot_Configuration_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Frequency_Domain_HSNA_Slot_Configuration_Item, Frequency_Domain_HSNA_Slot_Configuration_Item_sequence);

  return offset;
}


static const per_sequence_t Frequency_Domain_HSNA_Slot_Configuration_List_sequence_of[1] = {
  { &hf_f1ap_Frequency_Domain_HSNA_Slot_Configuration_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Frequency_Domain_HSNA_Slot_Configuration_Item },
};

static int
dissect_f1ap_Frequency_Domain_HSNA_Slot_Configuration_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Frequency_Domain_HSNA_Slot_Configuration_List, Frequency_Domain_HSNA_Slot_Configuration_List_sequence_of,
                                                  1, maxnoofHSNASlots, false);

  return offset;
}


static const per_sequence_t Frequency_Domain_HSNA_Configuration_Item_sequence[] = {
  { &hf_f1ap_rBSetIndex     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_maxnoofRBsetsPerCell_1_ },
  { &hf_f1ap_frequency_Domain_HSNA_Slot_Configuration_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Frequency_Domain_HSNA_Slot_Configuration_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Frequency_Domain_HSNA_Configuration_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Frequency_Domain_HSNA_Configuration_Item, Frequency_Domain_HSNA_Configuration_Item_sequence);

  return offset;
}


static const per_sequence_t Frequency_Domain_HSNA_Configuration_List_sequence_of[1] = {
  { &hf_f1ap_Frequency_Domain_HSNA_Configuration_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Frequency_Domain_HSNA_Configuration_Item },
};

static int
dissect_f1ap_Frequency_Domain_HSNA_Configuration_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Frequency_Domain_HSNA_Configuration_List, Frequency_Domain_HSNA_Configuration_List_sequence_of,
                                                  1, maxnoofRBsetsPerCell, false);

  return offset;
}


static const value_string f1ap_FullConfiguration_vals[] = {
  {   0, "full" },
  { 0, NULL }
};


static int
dissect_f1ap_FullConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_PC5QoSFlowIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 2048U, NULL, false);

  return offset;
}


static const per_sequence_t FlowsMappedToSLDRB_Item_sequence[] = {
  { &hf_f1ap_pc5QoSFlowIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5QoSFlowIdentifier },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_FlowsMappedToSLDRB_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_FlowsMappedToSLDRB_Item, FlowsMappedToSLDRB_Item_sequence);

  return offset;
}


static const per_sequence_t FlowsMappedToSLDRB_List_sequence_of[1] = {
  { &hf_f1ap_FlowsMappedToSLDRB_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_FlowsMappedToSLDRB_Item },
};

static int
dissect_f1ap_FlowsMappedToSLDRB_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_FlowsMappedToSLDRB_List, FlowsMappedToSLDRB_List_sequence_of,
                                                  1, maxnoofPC5QoSFlows, false);

  return offset;
}



static int
dissect_f1ap_CG_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_CG_Config);
    dissect_nr_rrc_CG_Config_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_22_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     22, 32, false, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string f1ap_GNB_ID_vals[] = {
  {   0, "gNB-ID" },
  {   1, "choice-Extensions" },
  { 0, NULL }
};

static const per_choice_t GNB_ID_choice[] = {
  {   0, &hf_f1ap_gNB_ID_01      , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_22_32 },
  {   1, &hf_f1ap_choice_Extensions, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_GNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_GNB_ID, GNB_ID_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t GlobalGNB_ID_sequence[] = {
  { &hf_f1ap_pLMNIdentity   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_gNB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GlobalGNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GlobalGNB_ID, GlobalGNB_ID_sequence);

  return offset;
}



static int
dissect_f1ap_GNB_CU_MBS_F1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4294967295U, NULL, false);

  return offset;
}



static int
dissect_f1ap_GNBCUMeasurementID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4095U, NULL, true);

  return offset;
}



static int
dissect_f1ap_GNBDUMeasurementID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4095U, NULL, true);

  return offset;
}



static int
dissect_f1ap_T_sIBtype(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            2U, 32U, &f1ap_data->sib_type, true);



  return offset;
}



static int
dissect_f1ap_T_sIBmessage_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sIBmessage);
    switch (f1ap_data->sib_type) {
    case 2:
      dissect_nr_rrc_SIB2_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 3:
      dissect_nr_rrc_SIB3_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 4:
      dissect_nr_rrc_SIB4_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 5:
      dissect_nr_rrc_SIB5_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 6:
      dissect_nr_rrc_SIB6_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 7:
      dissect_nr_rrc_SIB7_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 8:
      dissect_nr_rrc_SIB8_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 9:
      dissect_nr_rrc_SIB9_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 10:
      dissect_nr_rrc_SIB10_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 11:
      dissect_nr_rrc_SIB11_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 12:
      dissect_nr_rrc_SIB12_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 13:
      dissect_nr_rrc_SIB13_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 14:
      dissect_nr_rrc_SIB14_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 15:
      dissect_nr_rrc_SIB15_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 16:
      dissect_nr_rrc_SIB16_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 17:
      dissect_nr_rrc_SIB17_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 18:
      dissect_nr_rrc_SIB18_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 19:
      dissect_nr_rrc_SIB19_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 20:
      dissect_nr_rrc_SIB20_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 21:
      dissect_nr_rrc_SIB21_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 22:
      dissect_nr_rrc_SIB22_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 23:
      dissect_nr_rrc_SIB23_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 24:
      dissect_nr_rrc_SIB24_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 25:
      dissect_nr_rrc_SIB25_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    default:
      break;
    }
  }


  return offset;
}



static int
dissect_f1ap_INTEGER_0_31_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 31U, NULL, true);

  return offset;
}


static const per_sequence_t SibtypetobeupdatedListItem_sequence[] = {
  { &hf_f1ap_sIBtype_01     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_sIBtype },
  { &hf_f1ap_sIBmessage_01  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_sIBmessage_01 },
  { &hf_f1ap_valueTag       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_31_ },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SibtypetobeupdatedListItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SibtypetobeupdatedListItem, SibtypetobeupdatedListItem_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem_sequence_of[1] = {
  { &hf_f1ap_sibtypetobeupdatedlist_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SibtypetobeupdatedListItem },
};

static int
dissect_f1ap_SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem, SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem_sequence_of,
                                                  1, maxnoofSIBTypes, false);

  return offset;
}


static const per_sequence_t GNB_CUSystemInformation_sequence[] = {
  { &hf_f1ap_sibtypetobeupdatedlist, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNB_CUSystemInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNB_CUSystemInformation, GNB_CUSystemInformation_sequence);

  return offset;
}


static const per_sequence_t GNB_CU_TNL_Association_Setup_Item_sequence[] = {
  { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNB_CU_TNL_Association_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNB_CU_TNL_Association_Setup_Item, GNB_CU_TNL_Association_Setup_Item_sequence);

  return offset;
}


static const per_sequence_t GNB_CU_TNL_Association_Failed_To_Setup_Item_sequence[] = {
  { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress },
  { &hf_f1ap_cause          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item, GNB_CU_TNL_Association_Failed_To_Setup_Item_sequence);

  return offset;
}


static const value_string f1ap_TNLAssociationUsage_vals[] = {
  {   0, "ue" },
  {   1, "non-ue" },
  {   2, "both" },
  { 0, NULL }
};


static int
dissect_f1ap_TNLAssociationUsage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t GNB_CU_TNL_Association_To_Add_Item_sequence[] = {
  { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress },
  { &hf_f1ap_tNLAssociationUsage, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TNLAssociationUsage },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNB_CU_TNL_Association_To_Add_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNB_CU_TNL_Association_To_Add_Item, GNB_CU_TNL_Association_To_Add_Item_sequence);

  return offset;
}


static const per_sequence_t GNB_CU_TNL_Association_To_Remove_Item_sequence[] = {
  { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNB_CU_TNL_Association_To_Remove_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNB_CU_TNL_Association_To_Remove_Item, GNB_CU_TNL_Association_To_Remove_Item_sequence);

  return offset;
}


static const per_sequence_t GNB_CU_TNL_Association_To_Update_Item_sequence[] = {
  { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress },
  { &hf_f1ap_tNLAssociationUsage, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_TNLAssociationUsage },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNB_CU_TNL_Association_To_Update_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNB_CU_TNL_Association_To_Update_Item, GNB_CU_TNL_Association_To_Update_Item_sequence);

  return offset;
}



static int
dissect_f1ap_GNB_DU_MBS_F1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4294967295U, NULL, false);

  return offset;
}



static int
dissect_f1ap_GNB_CU_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
                                          1, 150, true,
                                          NULL);

  return offset;
}



static int
dissect_f1ap_GNB_DU_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
                                          1, 150, true,
                                          NULL);

  return offset;
}



static int
dissect_f1ap_GNB_CU_NameVisibleString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
                                          1, 150, true,
                                          NULL);

  return offset;
}



static int
dissect_f1ap_GNB_CU_NameUTF8String(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_UTF8String(tvb, offset, actx, tree, hf_index,
                                          1, 150, true);

  return offset;
}


static const per_sequence_t Extended_GNB_CU_Name_sequence[] = {
  { &hf_f1ap_gNB_CU_NameVisibleString, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_GNB_CU_NameVisibleString },
  { &hf_f1ap_gNB_CU_NameUTF8String, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_GNB_CU_NameUTF8String },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Extended_GNB_CU_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Extended_GNB_CU_Name, Extended_GNB_CU_Name_sequence);

  return offset;
}



static int
dissect_f1ap_GNB_DU_NameVisibleString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
                                          1, 150, true,
                                          NULL);

  return offset;
}



static int
dissect_f1ap_GNB_DU_NameUTF8String(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_UTF8String(tvb, offset, actx, tree, hf_index,
                                          1, 150, true);

  return offset;
}


static const per_sequence_t Extended_GNB_DU_Name_sequence[] = {
  { &hf_f1ap_gNB_DU_NameVisibleString, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_GNB_DU_NameVisibleString },
  { &hf_f1ap_gNB_DU_NameUTF8String, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_GNB_DU_NameUTF8String },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Extended_GNB_DU_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Extended_GNB_DU_Name, Extended_GNB_DU_Name_sequence);

  return offset;
}



static int
dissect_f1ap_Configured_EPS_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *parameter_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
                                       2, 2, false, &parameter_tvb);

  if (parameter_tvb) {
    actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
  }


  return offset;
}


static const per_sequence_t TDD_Info_sequence[] = {
  { &hf_f1ap_nRFreqInfo     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRFreqInfo },
  { &hf_f1ap_transmission_Bandwidth_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Transmission_Bandwidth },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TDD_Info, TDD_Info_sequence);

  return offset;
}


static const value_string f1ap_NR_Mode_Info_vals[] = {
  {   0, "fDD" },
  {   1, "tDD" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t NR_Mode_Info_choice[] = {
  {   0, &hf_f1ap_fDD_03         , ASN1_NO_EXTENSIONS     , dissect_f1ap_FDD_Info },
  {   1, &hf_f1ap_tDD_03         , ASN1_NO_EXTENSIONS     , dissect_f1ap_TDD_Info },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_NR_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_NR_Mode_Info, NR_Mode_Info_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_T_measurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_measurementTimingConfiguration);
    dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t Served_Cell_Information_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_nRPCI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRPCI },
  { &hf_f1ap_fiveGS_TAC     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_FiveGS_TAC },
  { &hf_f1ap_configured_EPS_TAC, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Configured_EPS_TAC },
  { &hf_f1ap_servedPLMNs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ServedPLMNs_List },
  { &hf_f1ap_nR_Mode_Info   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NR_Mode_Info },
  { &hf_f1ap_measurementTimingConfiguration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_measurementTimingConfiguration },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Served_Cell_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Served_Cell_Information, Served_Cell_Information_sequence);

  return offset;
}



static int
dissect_f1ap_MIB_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MIB_message);
    dissect_nr_rrc_MIB_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_SIB1_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB1_message);
    dissect_nr_rrc_SIB1_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t GNB_DU_System_Information_sequence[] = {
  { &hf_f1ap_mIB_message    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MIB_message },
  { &hf_f1ap_sIB1_message   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SIB1_message },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNB_DU_System_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNB_DU_System_Information, GNB_DU_System_Information_sequence);

  return offset;
}


static const per_sequence_t GNB_DU_Served_Cells_Item_sequence[] = {
  { &hf_f1ap_served_Cell_Information, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Served_Cell_Information },
  { &hf_f1ap_gNB_DU_System_Information, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_GNB_DU_System_Information },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNB_DU_Served_Cells_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNB_DU_Served_Cells_Item, GNB_DU_Served_Cells_Item_sequence);

  return offset;
}


static const value_string f1ap_GNB_DUConfigurationQuery_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_GNB_DUConfigurationQuery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_GNBDUOverloadInformation_vals[] = {
  {   0, "overloaded" },
  {   1, "not-overloaded" },
  { 0, NULL }
};


static int
dissect_f1ap_GNBDUOverloadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, false, 0, NULL);

  return offset;
}


static const per_sequence_t GNB_DU_TNL_Association_To_Remove_Item_sequence[] = {
  { &hf_f1ap_tNLAssociationTransportLayerAddress, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CP_TransportLayerAddress },
  { &hf_f1ap_tNLAssociationTransportLayerAddressgNBCU, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_CP_TransportLayerAddress },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNB_DU_TNL_Association_To_Remove_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNB_DU_TNL_Association_To_Remove_Item, GNB_DU_TNL_Association_To_Remove_Item_sequence);

  return offset;
}


static const per_sequence_t GNBDUUESliceMaximumBitRateItem_sequence[] = {
  { &hf_f1ap_sNSSAI         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI },
  { &hf_f1ap_uESliceMaximumBitRateUL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNBDUUESliceMaximumBitRateItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNBDUUESliceMaximumBitRateItem, GNBDUUESliceMaximumBitRateItem_sequence);

  return offset;
}


static const per_sequence_t GNBDUUESliceMaximumBitRateList_sequence_of[1] = {
  { &hf_f1ap_GNBDUUESliceMaximumBitRateList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_GNBDUUESliceMaximumBitRateItem },
};

static int
dissect_f1ap_GNBDUUESliceMaximumBitRateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_GNBDUUESliceMaximumBitRateList, GNBDUUESliceMaximumBitRateList_sequence_of,
                                                  1, maxnoofSMBRValues, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_1970049(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1970049U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_985025(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 985025U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_492513(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 492513U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_246257(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 246257U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_123129(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 123129U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_61565(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 61565U, NULL, false);

  return offset;
}


static const value_string f1ap_GNBRxTxTimeDiffMeas_vals[] = {
  {   0, "k0" },
  {   1, "k1" },
  {   2, "k2" },
  {   3, "k3" },
  {   4, "k4" },
  {   5, "k5" },
  {   6, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t GNBRxTxTimeDiffMeas_choice[] = {
  {   0, &hf_f1ap_k0             , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_1970049 },
  {   1, &hf_f1ap_k1             , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_985025 },
  {   2, &hf_f1ap_k2             , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_492513 },
  {   3, &hf_f1ap_k3             , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_246257 },
  {   4, &hf_f1ap_k4             , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_123129 },
  {   5, &hf_f1ap_k5             , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_61565 },
  {   6, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_GNBRxTxTimeDiffMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_GNBRxTxTimeDiffMeas, GNBRxTxTimeDiffMeas_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t GNB_RxTxTimeDiff_sequence[] = {
  { &hf_f1ap_rxTxTimeDiff   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_GNBRxTxTimeDiffMeas },
  { &hf_f1ap_additionalPath_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_AdditionalPath_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNB_RxTxTimeDiff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNB_RxTxTimeDiff, GNB_RxTxTimeDiff_sequence);

  return offset;
}


static const per_sequence_t GTPTLA_Item_sequence[] = {
  { &hf_f1ap_gTPTransportLayerAddress, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GTPTLA_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GTPTLA_Item, GTPTLA_Item_sequence);

  return offset;
}


static const per_sequence_t GTPTLAs_sequence_of[1] = {
  { &hf_f1ap_GTPTLAs_item   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_GTPTLA_Item },
};

static int
dissect_f1ap_GTPTLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_GTPTLAs, GTPTLAs_sequence_of,
                                                  1, maxnoofGTPTLAs, false);

  return offset;
}



static int
dissect_f1ap_HandoverPreparationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_HandoverPreparationInformation);
    dissect_nr_rrc_HandoverPreparationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_INTEGER_0_100_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 100U, NULL, true);

  return offset;
}


static const per_sequence_t HardwareLoadIndicator_sequence[] = {
  { &hf_f1ap_dLHardwareLoadIndicator, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100_ },
  { &hf_f1ap_uLHardwareLoadIndicator, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100_ },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_HardwareLoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_HardwareLoadIndicator, HardwareLoadIndicator_sequence);

  return offset;
}



static int
dissect_f1ap_HashedUEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     13, 13, true, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string f1ap_IAB_Barred_vals[] = {
  {   0, "barred" },
  {   1, "not-barred" },
  { 0, NULL }
};


static int
dissect_f1ap_IAB_Barred(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_IABConditionalRRCMessageDeliveryIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_IABConditionalRRCMessageDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t IAB_Congestion_Indication_Item_sequence[] = {
  { &hf_f1ap_childNodeIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPAddress },
  { &hf_f1ap_bHRLCCHList    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_BHRLCCHList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IAB_Congestion_Indication_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IAB_Congestion_Indication_Item, IAB_Congestion_Indication_Item_sequence);

  return offset;
}


static const per_sequence_t IAB_Congestion_Indication_List_sequence_of[1] = {
  { &hf_f1ap_IAB_Congestion_Indication_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_Congestion_Indication_Item },
};

static int
dissect_f1ap_IAB_Congestion_Indication_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_IAB_Congestion_Indication_List, IAB_Congestion_Indication_List_sequence_of,
                                                  1, maxnoofIABCongInd, false);

  return offset;
}


static const per_sequence_t IABCongestionIndication_sequence[] = {
  { &hf_f1ap_iAB_Congestion_Indication_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_IAB_Congestion_Indication_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IABCongestionIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IABCongestionIndication, IABCongestionIndication_sequence);

  return offset;
}


static const per_sequence_t IAB_Info_IAB_donor_CU_sequence[] = {
  { &hf_f1ap_iAB_STC_Info   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_IAB_STC_Info },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IAB_Info_IAB_donor_CU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IAB_Info_IAB_donor_CU, IAB_Info_IAB_donor_CU_sequence);

  return offset;
}


static const per_sequence_t IAB_Info_IAB_DU_sequence[] = {
  { &hf_f1ap_multiplexingInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_MultiplexingInfo },
  { &hf_f1ap_iAB_STC_Info   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_IAB_STC_Info },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IAB_Info_IAB_DU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IAB_Info_IAB_DU, IAB_Info_IAB_DU_sequence);

  return offset;
}


static const per_sequence_t IAB_MT_Cell_NA_Resource_Configuration_FDD_Info_sequence[] = {
  { &hf_f1ap_gNB_DU_Cell_NA_Resource_Configuration_FDD_UL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_Cell_Resource_Configuration },
  { &hf_f1ap_gNB_DU_Cell_NA_Resource_Configuration_FDD_DL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_Cell_Resource_Configuration },
  { &hf_f1ap_uL_FreqInfo_01 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NRFreqInfo },
  { &hf_f1ap_uL_Transmission_Bandwidth_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Transmission_Bandwidth },
  { &hf_f1ap_uL_NR_Carrier_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NRCarrierList },
  { &hf_f1ap_dL_FreqInfo    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NRFreqInfo },
  { &hf_f1ap_dL_Transmission_Bandwidth_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Transmission_Bandwidth },
  { &hf_f1ap_dL_NR_Carrier_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NRCarrierList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IAB_MT_Cell_NA_Resource_Configuration_FDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IAB_MT_Cell_NA_Resource_Configuration_FDD_Info, IAB_MT_Cell_NA_Resource_Configuration_FDD_Info_sequence);

  return offset;
}


static const per_sequence_t IAB_MT_Cell_NA_Resource_Configuration_TDD_Info_sequence[] = {
  { &hf_f1ap_gNB_DU_Cell_NA_Resourc_Configuration_TDD, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_Cell_Resource_Configuration },
  { &hf_f1ap_nRFreqInfo     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NRFreqInfo },
  { &hf_f1ap_transmission_Bandwidth_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Transmission_Bandwidth },
  { &hf_f1ap_nR_Carrier_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NRCarrierList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IAB_MT_Cell_NA_Resource_Configuration_TDD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IAB_MT_Cell_NA_Resource_Configuration_TDD_Info, IAB_MT_Cell_NA_Resource_Configuration_TDD_Info_sequence);

  return offset;
}


static const value_string f1ap_IAB_MT_Cell_NA_Resource_Configuration_Mode_Info_vals[] = {
  {   0, "fDD" },
  {   1, "tDD" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t IAB_MT_Cell_NA_Resource_Configuration_Mode_Info_choice[] = {
  {   0, &hf_f1ap_fDD_01         , ASN1_NO_EXTENSIONS     , dissect_f1ap_IAB_MT_Cell_NA_Resource_Configuration_FDD_Info },
  {   1, &hf_f1ap_tDD_01         , ASN1_NO_EXTENSIONS     , dissect_f1ap_IAB_MT_Cell_NA_Resource_Configuration_TDD_Info },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_IAB_MT_Cell_NA_Resource_Configuration_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_IAB_MT_Cell_NA_Resource_Configuration_Mode_Info, IAB_MT_Cell_NA_Resource_Configuration_Mode_Info_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_IABTNLAddressUsage_vals[] = {
  {   0, "f1-c" },
  {   1, "f1-u" },
  {   2, "non-f1" },
  { 0, NULL }
};


static int
dissect_f1ap_IABTNLAddressUsage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t IAB_Allocated_TNL_Address_Item_sequence[] = {
  { &hf_f1ap_iABTNLAddress  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_IABTNLAddress },
  { &hf_f1ap_iABTNLAddressUsage, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_IABTNLAddressUsage },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IAB_Allocated_TNL_Address_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IAB_Allocated_TNL_Address_Item, IAB_Allocated_TNL_Address_Item_sequence);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 256U, NULL, false);

  return offset;
}


static const per_sequence_t IABTNLAddressesRequested_sequence[] = {
  { &hf_f1ap_tNLAddressesOrPrefixesRequestedAllTraffic, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_1_256 },
  { &hf_f1ap_tNLAddressesOrPrefixesRequestedF1_C, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_1_256 },
  { &hf_f1ap_tNLAddressesOrPrefixesRequestedF1_U, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_1_256 },
  { &hf_f1ap_tNLAddressesOrPrefixesRequestedNoNF1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_1_256 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IABTNLAddressesRequested(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IABTNLAddressesRequested, IABTNLAddressesRequested_sequence);

  return offset;
}


static const value_string f1ap_IABIPv6RequestType_vals[] = {
  {   0, "iPv6Address" },
  {   1, "iPv6Prefix" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t IABIPv6RequestType_choice[] = {
  {   0, &hf_f1ap_iPv6Address    , ASN1_NO_EXTENSIONS     , dissect_f1ap_IABTNLAddressesRequested },
  {   1, &hf_f1ap_iPv6Prefix     , ASN1_NO_EXTENSIONS     , dissect_f1ap_IABTNLAddressesRequested },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_IABIPv6RequestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_IABIPv6RequestType, IABIPv6RequestType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t IAB_TNL_Addresses_To_Remove_Item_sequence[] = {
  { &hf_f1ap_iABTNLAddress  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_IABTNLAddress },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IAB_TNL_Addresses_To_Remove_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IAB_TNL_Addresses_To_Remove_Item, IAB_TNL_Addresses_To_Remove_Item_sequence);

  return offset;
}


static const per_sequence_t IABTNLAddress_Item_sequence[] = {
  { &hf_f1ap_iABTNLAddress  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_IABTNLAddress },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IABTNLAddress_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IABTNLAddress_Item, IABTNLAddress_Item_sequence);

  return offset;
}


static const per_sequence_t IABTNLAddressList_sequence_of[1] = {
  { &hf_f1ap_IABTNLAddressList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_IABTNLAddress_Item },
};

static int
dissect_f1ap_IABTNLAddressList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_IABTNLAddressList, IABTNLAddressList_sequence_of,
                                                  1, maxnoofTLAsIAB, false);

  return offset;
}


static const per_sequence_t IAB_TNL_Addresses_Exception_sequence[] = {
  { &hf_f1ap_iABTNLAddressList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_IABTNLAddressList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IAB_TNL_Addresses_Exception(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IAB_TNL_Addresses_Exception, IAB_TNL_Addresses_Exception_sequence);

  return offset;
}


static const per_sequence_t IABv4AddressesRequested_sequence[] = {
  { &hf_f1ap_iABv4AddressesRequested, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_IABTNLAddressesRequested },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IABv4AddressesRequested(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IABv4AddressesRequested, IABv4AddressesRequested_sequence);

  return offset;
}


static const per_sequence_t TAI_sequence[] = {
  { &hf_f1ap_pLMN_Identity  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_fiveGS_TAC     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_FiveGS_TAC },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TAI, TAI_sequence);

  return offset;
}


static const per_sequence_t Mobile_IAB_MTUserLocationInformation_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_tAI            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TAI },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Mobile_IAB_MTUserLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Mobile_IAB_MTUserLocationInformation, Mobile_IAB_MTUserLocationInformation_sequence);

  return offset;
}


static const value_string f1ap_IgnorePRACHConfiguration_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_IgnorePRACHConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_IgnoreResourceCoordinationContainer_vals[] = {
  {   0, "yes" },
  { 0, NULL }
};


static int
dissect_f1ap_IgnoreResourceCoordinationContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_InactivityMonitoringRequest_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_InactivityMonitoringRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_InactivityMonitoringResponse_vals[] = {
  {   0, "not-supported" },
  { 0, NULL }
};


static int
dissect_f1ap_InactivityMonitoringResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     24, 24, false, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_f1ap_RemoteUELocalID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 255U, NULL, true);

  return offset;
}


static const per_sequence_t IndirectPathAddition_sequence[] = {
  { &hf_f1ap_targetRelayUEID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BIT_STRING_SIZE_24 },
  { &hf_f1ap_remoteUELocalID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RemoteUELocalID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IndirectPathAddition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IndirectPathAddition, IndirectPathAddition_sequence);

  return offset;
}



static int
dissect_f1ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     8, 8, false, NULL, 0, &param_tvb, NULL);

  if(param_tvb){
    static int * const fields[] = {
      &hf_f1ap_interfacesToTrace_NG_C,
      &hf_f1ap_interfacesToTrace_Xn_C,
      &hf_f1ap_interfacesToTrace_Uu,
      &hf_f1ap_interfacesToTrace_F1_C,
      &hf_f1ap_interfacesToTrace_E1,
      &hf_f1ap_interfacesToTrace_Reserved,
      NULL
    };
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_InterfacesToTrace);
    proto_tree_add_bitmask_list(subtree, param_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
  }


  return offset;
}


static const value_string f1ap_T_nRSCS_vals[] = {
  {   0, "scs15" },
  {   1, "scs30" },
  {   2, "scs60" },
  {   3, "scs120" },
  {   4, "scs480" },
  {   5, "scs960" },
  { 0, NULL }
};


static int
dissect_f1ap_T_nRSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 2, NULL);

  return offset;
}


static const value_string f1ap_T_nRCP_vals[] = {
  {   0, "normal" },
  {   1, "extended" },
  { 0, NULL }
};


static int
dissect_f1ap_T_nRCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_nRDLULTxPeriodicity_vals[] = {
  {   0, "ms0p5" },
  {   1, "ms0p625" },
  {   2, "ms1" },
  {   3, "ms1p25" },
  {   4, "ms2" },
  {   5, "ms2p5" },
  {   6, "ms3" },
  {   7, "ms4" },
  {   8, "ms5" },
  {   9, "ms10" },
  {  10, "ms20" },
  {  11, "ms40" },
  {  12, "ms60" },
  {  13, "ms80" },
  {  14, "ms100" },
  {  15, "ms120" },
  {  16, "ms140" },
  {  17, "ms160" },
  { 0, NULL }
};


static int
dissect_f1ap_T_nRDLULTxPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     18, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_5119_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 5119U, NULL, true);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_13_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 13U, NULL, true);

  return offset;
}


static const per_sequence_t NumDLULSymbols_sequence[] = {
  { &hf_f1ap_numDLSymbols   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_13_ },
  { &hf_f1ap_numULSymbols   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_13_ },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NumDLULSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NumDLULSymbols, NumDLULSymbols_sequence);

  return offset;
}


static const value_string f1ap_SymbolAllocInSlot_vals[] = {
  {   0, "all-DL" },
  {   1, "all-UL" },
  {   2, "both-DL-and-UL" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t SymbolAllocInSlot_choice[] = {
  {   0, &hf_f1ap_all_DL         , ASN1_NO_EXTENSIONS     , dissect_f1ap_NULL },
  {   1, &hf_f1ap_all_UL         , ASN1_NO_EXTENSIONS     , dissect_f1ap_NULL },
  {   2, &hf_f1ap_both_DL_and_UL , ASN1_NO_EXTENSIONS     , dissect_f1ap_NumDLULSymbols },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_SymbolAllocInSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_SymbolAllocInSlot, SymbolAllocInSlot_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t Slot_Configuration_Item_sequence[] = {
  { &hf_f1ap_slotIndex_01   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_5119_ },
  { &hf_f1ap_symbolAllocInSlot, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SymbolAllocInSlot },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Slot_Configuration_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Slot_Configuration_Item, Slot_Configuration_Item_sequence);

  return offset;
}


static const per_sequence_t Slot_Configuration_List_sequence_of[1] = {
  { &hf_f1ap_Slot_Configuration_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Slot_Configuration_Item },
};

static int
dissect_f1ap_Slot_Configuration_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Slot_Configuration_List, Slot_Configuration_List_sequence_of,
                                                  1, maxnoofslots, false);

  return offset;
}


static const per_sequence_t IntendedTDD_DL_ULConfig_sequence[] = {
  { &hf_f1ap_nRSCS          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_nRSCS },
  { &hf_f1ap_nRCP           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_nRCP },
  { &hf_f1ap_nRDLULTxPeriodicity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_nRDLULTxPeriodicity },
  { &hf_f1ap_slot_Configuration_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Slot_Configuration_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IntendedTDD_DL_ULConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IntendedTDD_DL_ULConfig, IntendedTDD_DL_ULConfig_sequence);

  return offset;
}


static const value_string f1ap_InterFrequencyConfig_NoGap_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_InterFrequencyConfig_NoGap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_IngressNonF1terminatingTopologyIndicator_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_IngressNonF1terminatingTopologyIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_IndicationMCInactiveReception_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_IndicationMCInactiveReception(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_JointorDLTCIStateID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  proto_tree *subtree;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb && lte_rrc_conn_reconf_handle) {
    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_JointorDLTCIStateID);
    dissect_nr_rrc_TCI_StateId_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_AerialUE_vals[] = {
  {   0, "authorized" },
  {   1, "not-authorized" },
  { 0, NULL }
};


static int
dissect_f1ap_AerialUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_ControllerUE_vals[] = {
  {   0, "authorized" },
  {   1, "not-authorized" },
  { 0, NULL }
};


static int
dissect_f1ap_ControllerUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t LTEA2XServicesAuthorized_sequence[] = {
  { &hf_f1ap_aerialUE       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_AerialUE },
  { &hf_f1ap_controllerUE   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ControllerUE },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LTEA2XServicesAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LTEA2XServicesAuthorized, LTEA2XServicesAuthorized_sequence);

  return offset;
}


static const value_string f1ap_T_prachSCSForL571_vals[] = {
  {   0, "scs30" },
  {   1, "scs120" },
  {   2, "scs480" },
  { 0, NULL }
};


static int
dissect_f1ap_T_prachSCSForL571(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 1, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_569(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 569U, NULL, false);

  return offset;
}


static const per_sequence_t L571Info_sequence[] = {
  { &hf_f1ap_prachSCSForL571, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_prachSCSForL571 },
  { &hf_f1ap_rootSequenceIndex_02, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_569 },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_L571Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_L571Info, L571Info_sequence);

  return offset;
}


static const value_string f1ap_T_prachSCSForL1151_vals[] = {
  {   0, "scs15" },
  {   1, "scs120" },
  { 0, NULL }
};


static int
dissect_f1ap_T_prachSCSForL1151(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_1149(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1149U, NULL, false);

  return offset;
}


static const per_sequence_t L1151Info_sequence[] = {
  { &hf_f1ap_prachSCSForL1151, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_prachSCSForL1151 },
  { &hf_f1ap_rootSequenceIndex_03, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_1149 },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_L1151Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_L1151Info, L1151Info_sequence);

  return offset;
}


static const value_string f1ap_LastUsedCellIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_LastUsedCellIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_359(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 359U, NULL, false);

  return offset;
}


static const per_sequence_t LCStoGCSTranslation_sequence[] = {
  { &hf_f1ap_alpha_01       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_359 },
  { &hf_f1ap_alpha_fine     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_9 },
  { &hf_f1ap_beta_01        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_359 },
  { &hf_f1ap_beta_fine      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_9 },
  { &hf_f1ap_gamma_01       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_359 },
  { &hf_f1ap_gamma_fine     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_9 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LCStoGCSTranslation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LCStoGCSTranslation, LCStoGCSTranslation_sequence);

  return offset;
}


static const per_sequence_t LCStoGCSTranslationList_sequence_of[1] = {
  { &hf_f1ap_LCStoGCSTranslationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_LCStoGCSTranslation },
};

static int
dissect_f1ap_LCStoGCSTranslationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_LCStoGCSTranslationList, LCStoGCSTranslationList_sequence_of,
                                                  1, maxnooflcs_gcs_translation, false);

  return offset;
}



static int
dissect_f1ap_LMF_MeasurementID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 65536U, NULL, true);

  return offset;
}



static int
dissect_f1ap_LMF_UE_MeasurementID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 256U, NULL, true);

  return offset;
}



static int
dissect_f1ap_LocationMeasurementInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_LocationMeasurementInformation);
    dissect_nr_rrc_LocationMeasurementInfo_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_LowerLayerPresenceStatusChange_vals[] = {
  {   0, "suspend-lower-layers" },
  {   1, "resume-lower-layers" },
  { 0, NULL }
};


static int
dissect_f1ap_LowerLayerPresenceStatusChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_LoS_NLoSIndicatorHard_vals[] = {
  {   0, "nLoS" },
  {   1, "loS" },
  { 0, NULL }
};


static int
dissect_f1ap_LoS_NLoSIndicatorHard(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, false, 0, NULL);

  return offset;
}



static int
dissect_f1ap_LoS_NLoSIndicatorSoft(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 10U, NULL, false);

  return offset;
}


static const value_string f1ap_LoS_NLoSInformation_vals[] = {
  {   0, "loS-NLoSIndicatorSoft" },
  {   1, "loS-NLoSIndicatorHard" },
  {   2, "choice-Extension" },
  { 0, NULL }
};

static const per_choice_t LoS_NLoSInformation_choice[] = {
  {   0, &hf_f1ap_loS_NLoSIndicatorSoft, ASN1_NO_EXTENSIONS     , dissect_f1ap_LoS_NLoSIndicatorSoft },
  {   1, &hf_f1ap_loS_NLoSIndicatorHard, ASN1_NO_EXTENSIONS     , dissect_f1ap_LoS_NLoSIndicatorHard },
  {   2, &hf_f1ap_choice_Extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_LoS_NLoSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_LoS_NLoSInformation, LoS_NLoSInformation_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t LTEUESidelinkAggregateMaximumBitrate_sequence[] = {
  { &hf_f1ap_uELTESidelinkAggregateMaximumBitrate, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LTEUESidelinkAggregateMaximumBitrate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LTEUESidelinkAggregateMaximumBitrate, LTEUESidelinkAggregateMaximumBitrate_sequence);

  return offset;
}


static const value_string f1ap_VehicleUE_vals[] = {
  {   0, "authorized" },
  {   1, "not-authorized" },
  { 0, NULL }
};


static int
dissect_f1ap_VehicleUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_PedestrianUE_vals[] = {
  {   0, "authorized" },
  {   1, "not-authorized" },
  { 0, NULL }
};


static int
dissect_f1ap_PedestrianUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t LTEV2XServicesAuthorized_sequence[] = {
  { &hf_f1ap_vehicleUE      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_VehicleUE },
  { &hf_f1ap_pedestrianUE   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PedestrianUE },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LTEV2XServicesAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LTEV2XServicesAuthorized, LTEV2XServicesAuthorized_sequence);

  return offset;
}


static const per_sequence_t LTMCells_ToBeReleased_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LTMCells_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LTMCells_ToBeReleased_Item, LTMCells_ToBeReleased_Item_sequence);

  return offset;
}


static const per_sequence_t LTMCells_ToBeReleased_List_sequence_of[1] = {
  { &hf_f1ap_LTMCells_ToBeReleased_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_LTMCells_ToBeReleased_Item },
};

static int
dissect_f1ap_LTMCells_ToBeReleased_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_LTMCells_ToBeReleased_List, LTMCells_ToBeReleased_List_sequence_of,
                                                  1, maxnoofLTMCells, false);

  return offset;
}


static const value_string f1ap_LTMIndicator_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_LTMIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_RequestforLowerLayerConfiguration_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_RequestforLowerLayerConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_ReferenceConfigurationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  proto_tree *subtree;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb && lte_rrc_conn_reconf_handle) {
    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ReferenceConfigurationInformation);
    dissect_nr_rrc_CellGroupConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_ReferenceConfiguration_vals[] = {
  {   0, "rEQUESTforLowerLayerConfiguration" },
  {   1, "referenceConfiguration" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t ReferenceConfiguration_choice[] = {
  {   0, &hf_f1ap_rEQUESTforLowerLayerConfiguration, ASN1_NO_EXTENSIONS     , dissect_f1ap_RequestforLowerLayerConfiguration },
  {   1, &hf_f1ap_referenceConfiguration_01, ASN1_NO_EXTENSIONS     , dissect_f1ap_ReferenceConfigurationInformation },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_ReferenceConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_ReferenceConfiguration, ReferenceConfiguration_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t LTMInformation_Setup_sequence[] = {
  { &hf_f1ap_lTMIndicator   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_LTMIndicator },
  { &hf_f1ap_referenceConfiguration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ReferenceConfiguration },
  { &hf_f1ap_cSIResourceConfiguration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_CSIResourceConfiguration },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LTMInformation_Setup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LTMInformation_Setup, LTMInformation_Setup_sequence);

  return offset;
}



static int
dissect_f1ap_LTMConfigurationID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 8U, NULL, false);

  return offset;
}


static const per_sequence_t LTMConfigurationIDMapping_Item_sequence[] = {
  { &hf_f1ap_lTMCellID      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_lTMConfigurationID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_LTMConfigurationID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LTMConfigurationIDMapping_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LTMConfigurationIDMapping_Item, LTMConfigurationIDMapping_Item_sequence);

  return offset;
}


static const per_sequence_t LTMConfigurationIDMappingList_sequence_of[1] = {
  { &hf_f1ap_LTMConfigurationIDMappingList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_LTMConfigurationIDMapping_Item },
};

static int
dissect_f1ap_LTMConfigurationIDMappingList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_LTMConfigurationIDMappingList, LTMConfigurationIDMappingList_sequence_of,
                                                  1, maxnoofLTMCells, false);

  return offset;
}


static const per_sequence_t LTMInformation_Modify_sequence[] = {
  { &hf_f1ap_lTMIndicator   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_LTMIndicator },
  { &hf_f1ap_referenceConfiguration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ReferenceConfiguration },
  { &hf_f1ap_cSIResourceConfiguration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_CSIResourceConfiguration },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LTMInformation_Modify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LTMInformation_Modify, LTMInformation_Modify_sequence);

  return offset;
}


static const value_string f1ap_CompleteConfigurationIndicator_vals[] = {
  {   0, "complete" },
  { 0, NULL }
};


static int
dissect_f1ap_CompleteConfigurationIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_sSB_subcarrier_spacing_vals[] = {
  {   0, "kHz15" },
  {   1, "kHz30" },
  {   2, "kHz60" },
  {   3, "kHz120" },
  {   4, "kHz240" },
  {   5, "kHz480" },
  {   6, "kHz960" },
  { 0, NULL }
};


static int
dissect_f1ap_T_sSB_subcarrier_spacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, true, 2, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_M60_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -60, 50U, NULL, false);

  return offset;
}


static const value_string f1ap_T_sSB_periodicity_vals[] = {
  {   0, "ms5" },
  {   1, "ms10" },
  {   2, "ms20" },
  {   3, "ms40" },
  {   4, "ms80" },
  {   5, "ms160" },
  { 0, NULL }
};


static int
dissect_f1ap_T_sSB_periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t SSB_TF_Configuration_sequence[] = {
  { &hf_f1ap_sSB_frequency  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3279165 },
  { &hf_f1ap_sSB_subcarrier_spacing, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_sSB_subcarrier_spacing },
  { &hf_f1ap_sSB_Transmit_power, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M60_50 },
  { &hf_f1ap_sSB_periodicity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_sSB_periodicity },
  { &hf_f1ap_sSB_half_frame_offset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_1 },
  { &hf_f1ap_sSB_SFN_offset , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_15 },
  { &hf_f1ap_sSB_position_in_burst, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_SSB_PositionsInBurst },
  { &hf_f1ap_sFNInitialisationTime, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_RelativeTime1900 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SSB_TF_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SSB_TF_Configuration, SSB_TF_Configuration_sequence);

  return offset;
}


static const per_sequence_t SSBInformationItem_sequence[] = {
  { &hf_f1ap_sSB_Configuration, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_TF_Configuration },
  { &hf_f1ap_pCI_NR_01      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRPCI },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SSBInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SSBInformationItem, SSBInformationItem_sequence);

  return offset;
}


static const per_sequence_t SSBInformationList_sequence_of[1] = {
  { &hf_f1ap_SSBInformationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBInformationItem },
};

static int
dissect_f1ap_SSBInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SSBInformationList, SSBInformationList_sequence_of,
                                                  1, maxnoofSSBs, false);

  return offset;
}


static const per_sequence_t SSBInformation_sequence[] = {
  { &hf_f1ap_sSBInformationList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBInformationList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SSBInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SSBInformation, SSBInformation_sequence);

  return offset;
}



static int
dissect_f1ap_LTMCFRAResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  proto_tree *subtree;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb && lte_rrc_conn_reconf_handle) {
    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_LTMCFRAResourceConfig);
    dissect_nr_rrc_RACH_ConfigDedicated_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t LTMConfiguration_sequence[] = {
  { &hf_f1ap_sSBInformation , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBInformation },
  { &hf_f1ap_referenceConfigurationInformation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ReferenceConfigurationInformation },
  { &hf_f1ap_completeConfigurationIndicator, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_CompleteConfigurationIndicator },
  { &hf_f1ap_lTMCFRAResourceConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_LTMCFRAResourceConfig },
  { &hf_f1ap_lTMCFRAResourceConfigSUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_LTMCFRAResourceConfig },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LTMConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LTMConfiguration, LTMConfiguration_sequence);

  return offset;
}



static int
dissect_f1ap_ULTCIStateID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  proto_tree *subtree;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb && lte_rrc_conn_reconf_handle) {
    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ULTCIStateID);
    dissect_nr_rrc_TCI_UL_StateId_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t LTMCellSwitchInformation_sequence[] = {
  { &hf_f1ap_jointorDLTCIStateID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_JointorDLTCIStateID },
  { &hf_f1ap_uLTCIStateID   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ULTCIStateID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LTMCellSwitchInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LTMCellSwitchInformation, LTMCellSwitchInformation_sequence);

  return offset;
}


static const per_sequence_t LTMCFRAResourceConfig_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_lTMCFRAResourceConfig, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_LTMCFRAResourceConfig },
  { &hf_f1ap_lTMCFRAResourceConfigSUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_LTMCFRAResourceConfig },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_LTMCFRAResourceConfig_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_LTMCFRAResourceConfig_Item, LTMCFRAResourceConfig_Item_sequence);

  return offset;
}


static const per_sequence_t LTMCFRAResourceConfig_List_sequence_of[1] = {
  { &hf_f1ap_LTMCFRAResourceConfig_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_LTMCFRAResourceConfig_Item },
};

static int
dissect_f1ap_LTMCFRAResourceConfig_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_LTMCFRAResourceConfig_List, LTMCFRAResourceConfig_List_sequence_of,
                                                  1, maxnoofLTMCells, false);

  return offset;
}



static int
dissect_f1ap_MaskedIMEISV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     64, 64, false, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_f1ap_MBS_Broadcast_NeighbourCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MBS_Broadcast_NeighbourCellList);
    dissect_nr_rrc_MBS_NeighbourCellList_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_MBSInterestIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MBSInterestIndication);
    dissect_nr_rrc_MBSInterestIndication_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_TMGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       6, 6, false, NULL);

  return offset;
}


static const per_sequence_t MBS_Session_ID_sequence[] = {
  { &hf_f1ap_tMGI           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TMGI },
  { &hf_f1ap_nID            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBS_Session_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBS_Session_ID, MBS_Session_ID_sequence);

  return offset;
}


static const per_sequence_t MBS_Broadcast_Cell_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_mtch_neighbourCell, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_OCTET_STRING },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBS_Broadcast_Cell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBS_Broadcast_Cell_Item, MBS_Broadcast_Cell_Item_sequence);

  return offset;
}


static const per_sequence_t MBS_Broadcast_Cell_List_sequence_of[1] = {
  { &hf_f1ap_MBS_Broadcast_Cell_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Broadcast_Cell_Item },
};

static int
dissect_f1ap_MBS_Broadcast_Cell_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MBS_Broadcast_Cell_List, MBS_Broadcast_Cell_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}



static int
dissect_f1ap_T_mRB_PDCP_Config_Broadcast(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_mRB_PDCP_Config_Broadcast);
    dissect_nr_rrc_MRB_PDCP_ConfigBroadcast_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t MBS_Broadcast_MRB_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_mRB_PDCP_Config_Broadcast, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_mRB_PDCP_Config_Broadcast },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBS_Broadcast_MRB_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBS_Broadcast_MRB_Item, MBS_Broadcast_MRB_Item_sequence);

  return offset;
}


static const per_sequence_t MBS_Broadcast_MRB_List_sequence_of[1] = {
  { &hf_f1ap_MBS_Broadcast_MRB_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Broadcast_MRB_Item },
};

static int
dissect_f1ap_MBS_Broadcast_MRB_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MBS_Broadcast_MRB_List, MBS_Broadcast_MRB_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MBS_CUtoDURRCInformation_sequence[] = {
  { &hf_f1ap_mBS_Broadcast_Cell_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Broadcast_Cell_List },
  { &hf_f1ap_mBS_Broadcast_MRB_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Broadcast_MRB_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBS_CUtoDURRCInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBS_CUtoDURRCInformation, MBS_CUtoDURRCInformation_sequence);

  return offset;
}



static int
dissect_f1ap_MulticastF1UContextReferenceF1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       4, 4, false, NULL);

  return offset;
}


static const value_string f1ap_T_mc_F1UCtxtusage_vals[] = {
  {   0, "ptm" },
  {   1, "ptp" },
  {   2, "ptp-retransmission" },
  {   3, "ptp-forwarding" },
  { 0, NULL }
};


static int
dissect_f1ap_T_mc_F1UCtxtusage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t MBSMulticastF1UContextDescriptor_sequence[] = {
  { &hf_f1ap_multicastF1UContextReferenceF1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MulticastF1UContextReferenceF1 },
  { &hf_f1ap_mc_F1UCtxtusage, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_mc_F1UCtxtusage },
  { &hf_f1ap_mbsAreaSession , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MBS_Area_Session_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBSMulticastF1UContextDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBSMulticastF1UContextDescriptor, MBSMulticastF1UContextDescriptor_sequence);

  return offset;
}


static const value_string f1ap_MT_SDT_Indicator_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_MT_SDT_Indicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t MT_SDT_Information_sequence[] = {
  { &hf_f1ap_mt_SDT_Indicator, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MT_SDT_Indicator },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MT_SDT_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MT_SDT_Information, MT_SDT_Information_sequence);

  return offset;
}


static const value_string f1ap_MBSMulticastSessionReceptionState_vals[] = {
  {   0, "start-monitoring-G-RNTI" },
  {   1, "stop-monitoring-G-RNTI" },
  { 0, NULL }
};


static int
dissect_f1ap_MBSMulticastSessionReceptionState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_MBSMulticastRRCINACTIVEReceptionMode_vals[] = {
  {   0, "activated" },
  {   1, "deactivated" },
  { 0, NULL }
};


static int
dissect_f1ap_MBSMulticastRRCINACTIVEReceptionMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_mbsMulticastConfigurationRequest_vals[] = {
  {   0, "query" },
  { 0, NULL }
};


static int
dissect_f1ap_T_mbsMulticastConfigurationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t MBS_Multicast_CU2DU_Cell_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_mbsMulticastRRC_INACTIVEReceptionMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MBSMulticastRRCINACTIVEReceptionMode },
  { &hf_f1ap_mbsMulticastConfigurationRequest, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_T_mbsMulticastConfigurationRequest },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBS_Multicast_CU2DU_Cell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBS_Multicast_CU2DU_Cell_Item, MBS_Multicast_CU2DU_Cell_Item_sequence);

  return offset;
}


static const per_sequence_t MBS_Multicast_CU2DU_Cell_List_sequence_of[1] = {
  { &hf_f1ap_MBS_Multicast_CU2DU_Cell_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Multicast_CU2DU_Cell_Item },
};

static int
dissect_f1ap_MBS_Multicast_CU2DU_Cell_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MBS_Multicast_CU2DU_Cell_List, MBS_Multicast_CU2DU_Cell_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}



static int
dissect_f1ap_T_mRB_PDCP_Config_Broadcast_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  proto_tree *subtree;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb && lte_rrc_conn_reconf_handle) {
    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_mRB_PDCP_Config_Broadcast);
    dissect_nr_rrc_MRB_PDCP_ConfigBroadcast_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t MBS_Multicast_MRB_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_mRB_PDCP_Config_Broadcast_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_mRB_PDCP_Config_Broadcast_01 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBS_Multicast_MRB_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBS_Multicast_MRB_Item, MBS_Multicast_MRB_Item_sequence);

  return offset;
}


static const per_sequence_t MBS_Multicast_MRB_List_sequence_of[1] = {
  { &hf_f1ap_MBS_Multicast_MRB_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Multicast_MRB_Item },
};

static int
dissect_f1ap_MBS_Multicast_MRB_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MBS_Multicast_MRB_List, MBS_Multicast_MRB_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastCU2DURRCInfo_sequence[] = {
  { &hf_f1ap_mBS_Multicast_CU2DU_Cell_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MBS_Multicast_CU2DU_Cell_List },
  { &hf_f1ap_mBS_Multicast_MRB_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MBS_Multicast_MRB_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastCU2DURRCInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastCU2DURRCInfo, MulticastCU2DURRCInfo_sequence);

  return offset;
}



static int
dissect_f1ap_T_mbs_NeighbourCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_mbs_NeighbourCellList);
    dissect_nr_rrc_MBS_NeighbourCellList_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_T_mtch_NeighbourCellprovided(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_mtch_NeighbourCellprovided);
    dissect_nr_rrc_MTCH_NeighbourCell_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_MTCH_NeighbourCellInformation_vals[] = {
  {   0, "mtch-NeighbourCellprovided" },
  {   1, "mtch-NeighbourCellnotprovided" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t MTCH_NeighbourCellInformation_choice[] = {
  {   0, &hf_f1ap_mtch_NeighbourCellprovided, ASN1_NO_EXTENSIONS     , dissect_f1ap_T_mtch_NeighbourCellprovided },
  {   1, &hf_f1ap_mtch_NeighbourCellnotprovided, ASN1_NO_EXTENSIONS     , dissect_f1ap_NULL },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_MTCH_NeighbourCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_MTCH_NeighbourCellInformation, MTCH_NeighbourCellInformation_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MTCH_NeighbourCellSession_Item_sequence[] = {
  { &hf_f1ap_mbsSessionID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Session_ID },
  { &hf_f1ap_mtch_NeighbourCellInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MTCH_NeighbourCellInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MTCH_NeighbourCellSession_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MTCH_NeighbourCellSession_Item, MTCH_NeighbourCellSession_Item_sequence);

  return offset;
}


static const per_sequence_t MTCH_NeighbourCellSessionList_sequence_of[1] = {
  { &hf_f1ap_MTCH_NeighbourCellSessionList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MTCH_NeighbourCellSession_Item },
};

static int
dissect_f1ap_MTCH_NeighbourCellSessionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MTCH_NeighbourCellSessionList, MTCH_NeighbourCellSessionList_sequence_of,
                                                  1, maxMBSSessionsinSessionInfoList, false);

  return offset;
}


static const per_sequence_t UpdateMBSMulticastNeighbourCellListInformation_sequence[] = {
  { &hf_f1ap_mbs_NeighbourCellList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_T_mbs_NeighbourCellList },
  { &hf_f1ap_mbs_MulticastSessionList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MTCH_NeighbourCellSessionList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UpdateMBSMulticastNeighbourCellListInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UpdateMBSMulticastNeighbourCellListInformation, UpdateMBSMulticastNeighbourCellListInformation_sequence);

  return offset;
}


static const value_string f1ap_MBSMulticastNeighbourCellListItem_vals[] = {
  {   0, "mbsMulticastNeighbourCellListInformationprovided" },
  {   1, "nombsMulticastNeighbourCellListInformationprovided" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t MBSMulticastNeighbourCellListItem_choice[] = {
  {   0, &hf_f1ap_mbsMulticastNeighbourCellListInformationprovided, ASN1_NO_EXTENSIONS     , dissect_f1ap_UpdateMBSMulticastNeighbourCellListInformation },
  {   1, &hf_f1ap_nombsMulticastNeighbourCellListInformationprovided, ASN1_NO_EXTENSIONS     , dissect_f1ap_NULL },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_MBSMulticastNeighbourCellListItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_MBSMulticastNeighbourCellListItem, MBSMulticastNeighbourCellListItem_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_T_thresholdMBSList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_thresholdMBSList);
    dissect_nr_rrc_ThresholdMBS_List_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_ThresholdIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxnoofThresholdMBS_1, NULL, false);

  return offset;
}


static const value_string f1ap_ThresholdIndexInformation_vals[] = {
  {   0, "thresholdIndexprovided" },
  {   1, "thresholdIndexnotprovided" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t ThresholdIndexInformation_choice[] = {
  {   0, &hf_f1ap_thresholdIndexprovided, ASN1_NO_EXTENSIONS     , dissect_f1ap_ThresholdIndex },
  {   1, &hf_f1ap_thresholdIndexnotprovided, ASN1_NO_EXTENSIONS     , dissect_f1ap_NULL },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_ThresholdIndexInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_ThresholdIndexInformation, ThresholdIndexInformation_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ThresholdIndexSession_Item_sequence[] = {
  { &hf_f1ap_mbsSessionID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Session_ID },
  { &hf_f1ap_thresholdIndexInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ThresholdIndexInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ThresholdIndexSession_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ThresholdIndexSession_Item, ThresholdIndexSession_Item_sequence);

  return offset;
}


static const per_sequence_t ThresholdIndexSessionList_sequence_of[1] = {
  { &hf_f1ap_ThresholdIndexSessionList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ThresholdIndexSession_Item },
};

static int
dissect_f1ap_ThresholdIndexSessionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_ThresholdIndexSessionList, ThresholdIndexSessionList_sequence_of,
                                                  1, maxMBSSessionsinSessionInfoList, false);

  return offset;
}


static const per_sequence_t UpdateThresholdMBS_ListInformation_sequence[] = {
  { &hf_f1ap_thresholdMBSList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_T_thresholdMBSList },
  { &hf_f1ap_thresholdIndexSessionList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ThresholdIndexSessionList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UpdateThresholdMBS_ListInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UpdateThresholdMBS_ListInformation, UpdateThresholdMBS_ListInformation_sequence);

  return offset;
}


static const value_string f1ap_ThresholdMBS_ListItem_vals[] = {
  {   0, "thresholdMBS-ListInformationprovided" },
  {   1, "nothresholdMBSListInformationprovided" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t ThresholdMBS_ListItem_choice[] = {
  {   0, &hf_f1ap_thresholdMBS_ListInformationprovided, ASN1_NO_EXTENSIONS     , dissect_f1ap_UpdateThresholdMBS_ListInformation },
  {   1, &hf_f1ap_nothresholdMBSListInformationprovided, ASN1_NO_EXTENSIONS     , dissect_f1ap_NULL },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_ThresholdMBS_ListItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_ThresholdMBS_ListItem, ThresholdMBS_ListItem_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MulticastCommonCu2DUCellInformation_sequence[] = {
  { &hf_f1ap_mBSMulticastNeighbourCellListItem, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MBSMulticastNeighbourCellListItem },
  { &hf_f1ap_thresholdMBS_ListItem, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ThresholdMBS_ListItem },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastCommonCu2DUCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastCommonCu2DUCellInformation, MulticastCommonCu2DUCellInformation_sequence);

  return offset;
}


static const per_sequence_t MulticastCommonCU2DUCell_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_multicastCommonCu2DUCellInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MulticastCommonCu2DUCellInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastCommonCU2DUCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastCommonCU2DUCell_Item, MulticastCommonCU2DUCell_Item_sequence);

  return offset;
}


static const per_sequence_t MulticastCommonCU2DUCellList_sequence_of[1] = {
  { &hf_f1ap_MulticastCommonCU2DUCellList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MulticastCommonCU2DUCell_Item },
};

static int
dissect_f1ap_MulticastCommonCU2DUCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastCommonCU2DUCellList, MulticastCommonCU2DUCellList_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t MulticastCU2DUCommonRRCInfo_sequence[] = {
  { &hf_f1ap_multicastCommonCU2DUCellList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MulticastCommonCU2DUCellList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastCU2DUCommonRRCInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastCU2DUCommonRRCInfo, MulticastCU2DUCommonRRCInfo_sequence);

  return offset;
}



static int
dissect_f1ap_T_mBSMulticastConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_mBSMulticastConfiguration);
    dissect_nr_rrc_MBSMulticastConfiguration_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t MBSMulticastConfiguration_available_sequence[] = {
  { &hf_f1ap_mBSMulticastConfiguration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_mBSMulticastConfiguration },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBSMulticastConfiguration_available(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBSMulticastConfiguration_available, MBSMulticastConfiguration_available_sequence);

  return offset;
}


static const value_string f1ap_T_mBSMulticastConfiguration_notavailable_vals[] = {
  {   0, "not-available" },
  { 0, NULL }
};


static int
dissect_f1ap_T_mBSMulticastConfiguration_notavailable(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t MBSMulticastConfiguration_notavailable_sequence[] = {
  { &hf_f1ap_mBSMulticastConfiguration_notavailable, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_mBSMulticastConfiguration_notavailable },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBSMulticastConfiguration_notavailable(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBSMulticastConfiguration_notavailable, MBSMulticastConfiguration_notavailable_sequence);

  return offset;
}


static const value_string f1ap_MBSMulticastConfigurationResponseInfo_vals[] = {
  {   0, "mbsMulticastConfiguration-available" },
  {   1, "mbsMulticastConfiguration-notavailable" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t MBSMulticastConfigurationResponseInfo_choice[] = {
  {   0, &hf_f1ap_mbsMulticastConfiguration_available, ASN1_NO_EXTENSIONS     , dissect_f1ap_MBSMulticastConfiguration_available },
  {   1, &hf_f1ap_mbsMulticastConfiguration_notavailable, ASN1_NO_EXTENSIONS     , dissect_f1ap_MBSMulticastConfiguration_notavailable },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_MBSMulticastConfigurationResponseInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_MBSMulticastConfigurationResponseInfo, MBSMulticastConfigurationResponseInfo_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_T_mbsMulticastConfigurationChanged(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_mBSMulticastConfiguration);
    dissect_nr_rrc_MBSMulticastConfiguration_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_MBSMulticastConfigurationNotificationInfo_vals[] = {
  {   0, "mbsMulticastConfigurationChanged" },
  {   1, "mbsMulticastConfigurationRemoved" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t MBSMulticastConfigurationNotificationInfo_choice[] = {
  {   0, &hf_f1ap_mbsMulticastConfigurationChanged, ASN1_NO_EXTENSIONS     , dissect_f1ap_T_mbsMulticastConfigurationChanged },
  {   1, &hf_f1ap_mbsMulticastConfigurationRemoved, ASN1_NO_EXTENSIONS     , dissect_f1ap_NULL },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_MBSMulticastConfigurationNotificationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_MBSMulticastConfigurationNotificationInfo, MBSMulticastConfigurationNotificationInfo_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MBSMulticastConfigurationNotification_sequence[] = {
  { &hf_f1ap_mbsMulticastConfigurationNotificationInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MBSMulticastConfigurationNotificationInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBSMulticastConfigurationNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBSMulticastConfigurationNotification, MBSMulticastConfigurationNotification_sequence);

  return offset;
}


static const per_sequence_t MBS_Multicast_DU2CU_Cell_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_mbsMulticastConfigurationResponseInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MBSMulticastConfigurationResponseInfo },
  { &hf_f1ap_mbsMulticastConfigurationNotification, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MBSMulticastConfigurationNotification },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBS_Multicast_DU2CU_Cell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBS_Multicast_DU2CU_Cell_Item, MBS_Multicast_DU2CU_Cell_Item_sequence);

  return offset;
}


static const per_sequence_t MBS_Multicast_DU2CU_Cell_List_sequence_of[1] = {
  { &hf_f1ap_MBS_Multicast_DU2CU_Cell_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Multicast_DU2CU_Cell_Item },
};

static int
dissect_f1ap_MBS_Multicast_DU2CU_Cell_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MBS_Multicast_DU2CU_Cell_List, MBS_Multicast_DU2CU_Cell_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t MulticastDU2CURRCInfo_sequence[] = {
  { &hf_f1ap_mBS_Multicast_DU2CU_Cell_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MBS_Multicast_DU2CU_Cell_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastDU2CURRCInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastDU2CURRCInfo, MulticastDU2CURRCInfo_sequence);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4095U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_262143(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 262143U, NULL, false);

  return offset;
}


static const value_string f1ap_MRB_ProgressInformation_vals[] = {
  {   0, "pdcp-SN12" },
  {   1, "pdcp-SN18" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t MRB_ProgressInformation_choice[] = {
  {   0, &hf_f1ap_pdcp_SN12      , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_4095 },
  {   1, &hf_f1ap_pdcp_SN18      , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_262143 },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_MRB_ProgressInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_MRB_ProgressInformation, MRB_ProgressInformation_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MulticastF1UContext_ToBeSetup_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_mbs_f1u_info_at_DU, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UPTransportLayerInformation },
  { &hf_f1ap_mbsProgressInformation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MRB_ProgressInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastF1UContext_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastF1UContext_ToBeSetup_Item, MulticastF1UContext_ToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t MulticastF1UContext_Setup_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_mbs_f1u_info_at_CU, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UPTransportLayerInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastF1UContext_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastF1UContext_Setup_Item, MulticastF1UContext_Setup_Item_sequence);

  return offset;
}


static const per_sequence_t MulticastF1UContext_FailedToBeSetup_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastF1UContext_FailedToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastF1UContext_FailedToBeSetup_Item, MulticastF1UContext_FailedToBeSetup_Item_sequence);

  return offset;
}


static const value_string f1ap_MBSPTPRetransmissionTunnelRequired_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_MBSPTPRetransmissionTunnelRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t MBS_ServiceAreaCellList_sequence_of[1] = {
  { &hf_f1ap_MBS_ServiceAreaCellList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
};

static int
dissect_f1ap_MBS_ServiceAreaCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MBS_ServiceAreaCellList, MBS_ServiceAreaCellList_sequence_of,
                                                  1, maxnoofCellsforMBS, false);

  return offset;
}


static const per_sequence_t MBS_ServiceAreaTAIList_Item_sequence[] = {
  { &hf_f1ap_plmn_ID        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_fiveGS_TAC     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_FiveGS_TAC },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBS_ServiceAreaTAIList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBS_ServiceAreaTAIList_Item, MBS_ServiceAreaTAIList_Item_sequence);

  return offset;
}


static const per_sequence_t MBS_ServiceAreaTAIList_sequence_of[1] = {
  { &hf_f1ap_MBS_ServiceAreaTAIList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_ServiceAreaTAIList_Item },
};

static int
dissect_f1ap_MBS_ServiceAreaTAIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MBS_ServiceAreaTAIList, MBS_ServiceAreaTAIList_sequence_of,
                                                  1, maxnoofTAIforMBS, false);

  return offset;
}


static const per_sequence_t MBS_ServiceAreaInformation_sequence[] = {
  { &hf_f1ap_mBS_ServiceAreaCellList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MBS_ServiceAreaCellList },
  { &hf_f1ap_mBS_ServiceAreaTAIList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MBS_ServiceAreaTAIList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBS_ServiceAreaInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBS_ServiceAreaInformation, MBS_ServiceAreaInformation_sequence);

  return offset;
}


static const per_sequence_t MBS_ServiceAreaInformationItem_sequence[] = {
  { &hf_f1ap_mBS_AreaSessionID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Area_Session_ID },
  { &hf_f1ap_mBS_ServiceAreaInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_ServiceAreaInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MBS_ServiceAreaInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MBS_ServiceAreaInformationItem, MBS_ServiceAreaInformationItem_sequence);

  return offset;
}


static const per_sequence_t MBS_ServiceAreaInformationList_sequence_of[1] = {
  { &hf_f1ap_MBS_ServiceAreaInformationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_ServiceAreaInformationItem },
};

static int
dissect_f1ap_MBS_ServiceAreaInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MBS_ServiceAreaInformationList, MBS_ServiceAreaInformationList_sequence_of,
                                                  1, maxnoofMBSServiceAreaInformation, false);

  return offset;
}


static const value_string f1ap_MBS_ServiceArea_vals[] = {
  {   0, "locationindependent" },
  {   1, "locationdependent" },
  {   2, "choice-Extensions" },
  { 0, NULL }
};

static const per_choice_t MBS_ServiceArea_choice[] = {
  {   0, &hf_f1ap_locationindependent, ASN1_NO_EXTENSIONS     , dissect_f1ap_MBS_ServiceAreaInformation },
  {   1, &hf_f1ap_locationdependent_01, ASN1_NO_EXTENSIONS     , dissect_f1ap_MBS_ServiceAreaInformationList },
  {   2, &hf_f1ap_choice_Extensions, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_MBS_ServiceArea(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_MBS_ServiceArea, MBS_ServiceArea_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t MC_PagingCell_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MC_PagingCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MC_PagingCell_Item, MC_PagingCell_Item_sequence);

  return offset;
}



static int
dissect_f1ap_MeasGapSharingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasGapSharingConfig);
    dissect_nr_rrc_MeasGapSharingConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_PosMeasurementAmount_vals[] = {
  {   0, "ma0" },
  {   1, "ma1" },
  {   2, "ma2" },
  {   3, "ma4" },
  {   4, "ma8" },
  {   5, "ma16" },
  {   6, "ma32" },
  {   7, "ma64" },
  { 0, NULL }
};


static int
dissect_f1ap_PosMeasurementAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, false, 0, NULL);

  return offset;
}


static const value_string f1ap_MeasurementBeamInfoRequest_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_MeasurementBeamInfoRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t MeasurementBeamInfo_sequence[] = {
  { &hf_f1ap_pRS_Resource_ID, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PRS_Resource_ID },
  { &hf_f1ap_pRS_Resource_Set_ID, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PRS_Resource_Set_ID },
  { &hf_f1ap_sSB_Index_01   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_SSB_Index },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MeasurementBeamInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MeasurementBeamInfo, MeasurementBeamInfo_sequence);

  return offset;
}



static int
dissect_f1ap_MeasurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_measurementTimingConfiguration);
    dissect_nr_rrc_MeasurementTimingConfiguration_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_MessageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     16, 16, false, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string f1ap_MeasurementTimeOccasion_vals[] = {
  {   0, "o1" },
  {   1, "o4" },
  { 0, NULL }
};


static int
dissect_f1ap_MeasurementTimeOccasion(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_MeasurementCharacteristicsRequestIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     16, 16, false, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_f1ap_MulticastF1UContextReferenceCU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       4, 4, false, NULL);

  return offset;
}


static const value_string f1ap_MDTPollutedMeasurementIndicator_vals[] = {
  {   0, "iDC" },
  {   1, "no-IDC" },
  { 0, NULL }
};


static int
dissect_f1ap_MDTPollutedMeasurementIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t MulticastMBSSessionList_Item_sequence[] = {
  { &hf_f1ap_mbsSessionId   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Session_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastMBSSessionList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastMBSSessionList_Item, MulticastMBSSessionList_Item_sequence);

  return offset;
}


static const per_sequence_t MulticastMBSSessionList_sequence_of[1] = {
  { &hf_f1ap_MulticastMBSSessionList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MulticastMBSSessionList_Item },
};

static int
dissect_f1ap_MulticastMBSSessionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastMBSSessionList, MulticastMBSSessionList_sequence_of,
                                                  1, maxnoofMBSSessionsofUE, false);

  return offset;
}


static const per_sequence_t MulticastMRBs_FailedToBeModified_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastMRBs_FailedToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastMRBs_FailedToBeModified_Item, MulticastMRBs_FailedToBeModified_Item_sequence);

  return offset;
}


static const per_sequence_t MulticastMRBs_FailedToBeSetup_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastMRBs_FailedToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastMRBs_FailedToBeSetup_Item, MulticastMRBs_FailedToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t MulticastMRBs_FailedToBeSetupMod_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastMRBs_FailedToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastMRBs_FailedToBeSetupMod_Item, MulticastMRBs_FailedToBeSetupMod_Item_sequence);

  return offset;
}


static const per_sequence_t MulticastMRBs_Modified_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastMRBs_Modified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastMRBs_Modified_Item, MulticastMRBs_Modified_Item_sequence);

  return offset;
}


static const per_sequence_t MulticastMRBs_Setup_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastMRBs_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastMRBs_Setup_Item, MulticastMRBs_Setup_Item_sequence);

  return offset;
}


static const per_sequence_t MulticastMRBs_SetupMod_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastMRBs_SetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastMRBs_SetupMod_Item, MulticastMRBs_SetupMod_Item_sequence);

  return offset;
}


static const value_string f1ap_PDCPSNLength_vals[] = {
  {   0, "twelve-bits" },
  {   1, "eighteen-bits" },
  { 0, NULL }
};


static int
dissect_f1ap_PDCPSNLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t MulticastMRBs_ToBeModified_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_mRB_QoSInformation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_QoSFlowLevelQoSParameters },
  { &hf_f1ap_mBS_Flows_Mapped_To_MRB_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_MBS_Flows_Mapped_To_MRB_List },
  { &hf_f1ap_mBS_DL_PDCP_SN_Length, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_PDCPSNLength },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastMRBs_ToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastMRBs_ToBeModified_Item, MulticastMRBs_ToBeModified_Item_sequence);

  return offset;
}


static const per_sequence_t MulticastMRBs_ToBeReleased_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastMRBs_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastMRBs_ToBeReleased_Item, MulticastMRBs_ToBeReleased_Item_sequence);

  return offset;
}


static const per_sequence_t MulticastMRBs_ToBeSetup_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_mRB_QoSInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowLevelQoSParameters },
  { &hf_f1ap_mBS_Flows_Mapped_To_MRB_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Flows_Mapped_To_MRB_List },
  { &hf_f1ap_mBS_DL_PDCP_SN_Length, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PDCPSNLength },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastMRBs_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastMRBs_ToBeSetup_Item, MulticastMRBs_ToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t MulticastMRBs_ToBeSetupMod_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_mRB_QoSInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_QoSFlowLevelQoSParameters },
  { &hf_f1ap_mBS_Flows_Mapped_To_MRB_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_Flows_Mapped_To_MRB_List },
  { &hf_f1ap_mBS_DL_PDCP_SN_Length, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PDCPSNLength },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastMRBs_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastMRBs_ToBeSetupMod_Item, MulticastMRBs_ToBeSetupMod_Item_sequence);

  return offset;
}


static const value_string f1ap_MusimCapabilityRestrictionIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_MusimCapabilityRestrictionIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_MusimCandidateBandList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MusimCandidateBandList);
    dissect_nr_rrc_MUSIM_CandidateBandList_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_M2Configuration_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_M2Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_M5period_vals[] = {
  {   0, "ms1024" },
  {   1, "ms2048" },
  {   2, "ms5120" },
  {   3, "ms10240" },
  {   4, "min1" },
  { 0, NULL }
};


static int
dissect_f1ap_M5period(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_M5_Links_to_log_vals[] = {
  {   0, "uplink" },
  {   1, "downlink" },
  {   2, "both-uplink-and-downlink" },
  { 0, NULL }
};


static int
dissect_f1ap_M5_Links_to_log(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t M5Configuration_sequence[] = {
  { &hf_f1ap_m5period       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_M5period },
  { &hf_f1ap_m5_links_to_log, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_M5_Links_to_log },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_M5Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_M5Configuration, M5Configuration_sequence);

  return offset;
}


static const value_string f1ap_M5ReportAmount_vals[] = {
  {   0, "r1" },
  {   1, "r2" },
  {   2, "r4" },
  {   3, "r8" },
  {   4, "r16" },
  {   5, "r32" },
  {   6, "r64" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_f1ap_M5ReportAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_M6report_Interval_vals[] = {
  {   0, "ms120" },
  {   1, "ms240" },
  {   2, "ms640" },
  {   3, "ms1024" },
  {   4, "ms2048" },
  {   5, "ms5120" },
  {   6, "ms10240" },
  {   7, "ms20480" },
  {   8, "ms40960" },
  {   9, "min1" },
  {  10, "min6" },
  {  11, "min12" },
  {  12, "min30" },
  {  13, "ms480" },
  { 0, NULL }
};


static int
dissect_f1ap_M6report_Interval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     13, NULL, true, 1, NULL);

  return offset;
}


static const value_string f1ap_M6_Links_to_log_vals[] = {
  {   0, "uplink" },
  {   1, "downlink" },
  {   2, "both-uplink-and-downlink" },
  { 0, NULL }
};


static int
dissect_f1ap_M6_Links_to_log(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t M6Configuration_sequence[] = {
  { &hf_f1ap_m6report_Interval, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_M6report_Interval },
  { &hf_f1ap_m6_links_to_log, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_M6_Links_to_log },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_M6Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_M6Configuration, M6Configuration_sequence);

  return offset;
}


static const value_string f1ap_M6ReportAmount_vals[] = {
  {   0, "r1" },
  {   1, "r2" },
  {   2, "r4" },
  {   3, "r8" },
  {   4, "r16" },
  {   5, "r32" },
  {   6, "r64" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_f1ap_M6ReportAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_M7period(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 60U, NULL, true);

  return offset;
}


static const value_string f1ap_M7_Links_to_log_vals[] = {
  {   0, "downlink" },
  { 0, NULL }
};


static int
dissect_f1ap_M7_Links_to_log(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t M7Configuration_sequence[] = {
  { &hf_f1ap_m7period       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_M7period },
  { &hf_f1ap_m7_links_to_log, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_M7_Links_to_log },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_M7Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_M7Configuration, M7Configuration_sequence);

  return offset;
}


static const value_string f1ap_M7ReportAmount_vals[] = {
  {   0, "r1" },
  {   1, "r2" },
  {   2, "r4" },
  {   3, "r8" },
  {   4, "r16" },
  {   5, "r32" },
  {   6, "r64" },
  {   7, "infinity" },
  { 0, NULL }
};


static int
dissect_f1ap_M7ReportAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_MDT_Activation_vals[] = {
  {   0, "immediate-MDT-only" },
  {   1, "immediate-MDT-and-Trace" },
  { 0, NULL }
};


static int
dissect_f1ap_MDT_Activation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_MeasurementsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     8, 8, false, NULL, 0, &param_tvb, NULL);

  if (param_tvb) {
    static int * const fields[] = {
      &hf_f1ap_MeasurementsToActivate_Reserved1,
      &hf_f1ap_MeasurementsToActivate_M2,
      &hf_f1ap_MeasurementsToActivate_Reserved2,
      &hf_f1ap_MeasurementsToActivate_M5,
      &hf_f1ap_MeasurementsToActivate_Reserved3,
      &hf_f1ap_MeasurementsToActivate_M6,
      &hf_f1ap_MeasurementsToActivate_M7,
      NULL
    };
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MeasurementsToActivate);
    proto_tree_add_bitmask_list(subtree, param_tvb, 0, 1, fields, ENC_BIG_ENDIAN);
  }


  return offset;
}


static const per_sequence_t MDTConfiguration_sequence[] = {
  { &hf_f1ap_mdt_Activation , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MDT_Activation },
  { &hf_f1ap_measurementsToActivate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MeasurementsToActivate },
  { &hf_f1ap_m2Configuration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_M2Configuration },
  { &hf_f1ap_m5Configuration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_M5Configuration },
  { &hf_f1ap_m6Configuration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_M6Configuration },
  { &hf_f1ap_m7Configuration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_M7Configuration },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MDTConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MDTConfiguration, MDTConfiguration_sequence);

  return offset;
}


static const per_sequence_t MDTPLMNList_sequence_of[1] = {
  { &hf_f1ap_MDTPLMNList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
};

static int
dissect_f1ap_MDTPLMNList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MDTPLMNList, MDTPLMNList_sequence_of,
                                                  1, maxnoofMDTPLMNs, false);

  return offset;
}


static const per_sequence_t MDTPLMNModificationList_sequence_of[1] = {
  { &hf_f1ap_MDTPLMNModificationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
};

static int
dissect_f1ap_MDTPLMNModificationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MDTPLMNModificationList, MDTPLMNModificationList_sequence_of,
                                                  0, maxnoofMDTPLMNs, false);

  return offset;
}


static const value_string f1ap_MeasuredFrequencyHops_vals[] = {
  {   0, "singleHop" },
  {   1, "multiHop" },
  { 0, NULL }
};


static int
dissect_f1ap_MeasuredFrequencyHops(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_UL_SRS_RSRP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 126U, NULL, false);

  return offset;
}


static const value_string f1ap_UL_RTOA_MeasurementItem_vals[] = {
  {   0, "k0" },
  {   1, "k1" },
  {   2, "k2" },
  {   3, "k3" },
  {   4, "k4" },
  {   5, "k5" },
  {   6, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t UL_RTOA_MeasurementItem_choice[] = {
  {   0, &hf_f1ap_k0             , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_1970049 },
  {   1, &hf_f1ap_k1             , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_985025 },
  {   2, &hf_f1ap_k2             , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_492513 },
  {   3, &hf_f1ap_k3             , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_246257 },
  {   4, &hf_f1ap_k4             , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_123129 },
  {   5, &hf_f1ap_k5             , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_61565 },
  {   6, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_UL_RTOA_MeasurementItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_UL_RTOA_MeasurementItem, UL_RTOA_MeasurementItem_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UL_RTOA_Measurement_sequence[] = {
  { &hf_f1ap_uL_RTOA_MeasurementItem, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UL_RTOA_MeasurementItem },
  { &hf_f1ap_additionalPath_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_AdditionalPath_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UL_RTOA_Measurement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UL_RTOA_Measurement, UL_RTOA_Measurement_sequence);

  return offset;
}


static const value_string f1ap_MeasuredResultsValue_vals[] = {
  {   0, "uL-AngleOfArrival" },
  {   1, "uL-SRS-RSRP" },
  {   2, "uL-RTOA" },
  {   3, "gNB-RxTxTimeDiff" },
  {   4, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t MeasuredResultsValue_choice[] = {
  {   0, &hf_f1ap_uL_AngleOfArrival, ASN1_NO_EXTENSIONS     , dissect_f1ap_UL_AoA },
  {   1, &hf_f1ap_uL_SRS_RSRP    , ASN1_NO_EXTENSIONS     , dissect_f1ap_UL_SRS_RSRP },
  {   2, &hf_f1ap_uL_RTOA        , ASN1_NO_EXTENSIONS     , dissect_f1ap_UL_RTOA_Measurement },
  {   3, &hf_f1ap_gNB_RxTxTimeDiff, ASN1_NO_EXTENSIONS     , dissect_f1ap_GNB_RxTxTimeDiff },
  {   4, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_MeasuredResultsValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_MeasuredResultsValue, MeasuredResultsValue_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_T_location_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *location_coordinate_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &location_coordinate_tvb);

  if (location_coordinate_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_location_Information);
    dissect_lpp_LocationCoordinates_PDU(location_coordinate_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_T_velocity_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *location_coordinate_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &location_coordinate_tvb);

  if (location_coordinate_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_velocity_Information);
    dissect_lpp_Velocity_PDU(location_coordinate_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t Mobile_TRP_LocationInformation_sequence[] = {
  { &hf_f1ap_location_Information, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_location_Information },
  { &hf_f1ap_velocity_Information, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_T_velocity_Information },
  { &hf_f1ap_location_time_stamp, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TimeStamp },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Mobile_TRP_LocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Mobile_TRP_LocationInformation, Mobile_TRP_LocationInformation_sequence);

  return offset;
}



static int
dissect_f1ap_Mobile_IAB_MT_UE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, NULL);

  return offset;
}



static int
dissect_f1ap_MUSIM_GapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MUSIM_GapConfig);
    dissect_nr_rrc_MUSIM_GapConfig_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_MobileIAB_Barred_vals[] = {
  {   0, "barred" },
  {   1, "not-barred" },
  { 0, NULL }
};


static int
dissect_f1ap_MobileIAB_Barred(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_MeasBasedOnAggregatedResources_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_MeasBasedOnAggregatedResources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t NRA2XServicesAuthorized_sequence[] = {
  { &hf_f1ap_aerialUE       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_AerialUE },
  { &hf_f1ap_controllerUE   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ControllerUE },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NRA2XServicesAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NRA2XServicesAuthorized, NRA2XServicesAuthorized_sequence);

  return offset;
}


static const per_sequence_t N3CIndirectPathAddition_sequence[] = {
  { &hf_f1ap_targetRelayUEID_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_UE_F1AP_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_N3CIndirectPathAddition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_N3CIndirectPathAddition, N3CIndirectPathAddition_sequence);

  return offset;
}



static int
dissect_f1ap_Ncd_SSB_RedCapInitialBWP_SDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_Ncd_SSB_RedCapInitialBWP_SDT);
    dissect_nr_rrc_NonCellDefiningSSB_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_NetworkControlledRepeaterAuthorized_vals[] = {
  {   0, "authorized" },
  {   1, "not-authorized" },
  { 0, NULL }
};


static int
dissect_f1ap_NetworkControlledRepeaterAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t NCGI_to_be_Updated_List_Item_sequence[] = {
  { &hf_f1ap_oLDNCGI        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_nEWNCGI        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NCGI_to_be_Updated_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NCGI_to_be_Updated_List_Item, NCGI_to_be_Updated_List_Item_sequence);

  return offset;
}


static const value_string f1ap_T_peer_Parent_Node_Indicator_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_T_peer_Parent_Node_Indicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_T_cSI_RS_Configuration_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_cSI_RS_Configuration);
    dissect_nr_rrc_NZP_CSI_RS_Resource_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_T_sR_Configuration_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sR_Configuration);
    dissect_nr_rrc_SchedulingRequestResourceConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_T_pDCCH_ConfigSIB1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_pDCCH_ConfigSIB1);
    dissect_nr_rrc_PDCCH_ConfigSIB1_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_T_sCS_Common_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sCS_Common);
    dissect_nr_rrc_subCarrierSpacingCommon_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t Neighbour_Node_Cells_List_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_gNB_CU_UE_F1AP_ID, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_GNB_CU_UE_F1AP_ID },
  { &hf_f1ap_gNB_DU_UE_F1AP_ID, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_GNB_DU_UE_F1AP_ID },
  { &hf_f1ap_peer_Parent_Node_Indicator, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_peer_Parent_Node_Indicator },
  { &hf_f1ap_iAB_DU_Cell_Resource_Configuration_Mode_Info, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info },
  { &hf_f1ap_iAB_STC_Info   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_IAB_STC_Info },
  { &hf_f1ap_rACH_Config_Common, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_RACH_Config_Common },
  { &hf_f1ap_rACH_Config_Common_IAB, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_RACH_Config_Common_IAB },
  { &hf_f1ap_cSI_RS_Configuration_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_cSI_RS_Configuration_01 },
  { &hf_f1ap_sR_Configuration_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_sR_Configuration_01 },
  { &hf_f1ap_pDCCH_ConfigSIB1_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_pDCCH_ConfigSIB1_01 },
  { &hf_f1ap_sCS_Common_01  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_sCS_Common_01 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Neighbour_Node_Cells_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Neighbour_Node_Cells_List_Item, Neighbour_Node_Cells_List_Item_sequence);

  return offset;
}


static const per_sequence_t Neighbour_Node_Cells_List_sequence_of[1] = {
  { &hf_f1ap_Neighbour_Node_Cells_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Neighbour_Node_Cells_List_Item },
};

static int
dissect_f1ap_Neighbour_Node_Cells_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Neighbour_Node_Cells_List, Neighbour_Node_Cells_List_sequence_of,
                                                  1, maxnoofNeighbourNodeCellsIAB, false);

  return offset;
}


static const value_string f1ap_NeedforGap_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_NeedforGap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_NeedForGapsInfoNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_NeedForGapsInfoNR);
    dissect_nr_rrc_NeedForGapsInfoNR_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_NeedForGapNCSGInfoNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_NeedForGapNCSGInfoNR);
    dissect_nr_rrc_NeedForGapNCSG_InfoNR_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_NeedForGapNCSGInfoEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_NeedForGapNCSGInfoEUTRA);
    dissect_nr_rrc_NeedForGapNCSG_InfoEUTRA_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_NeedForInterruptionInfoNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_NeedForInterruptionInfoNR);
    dissect_nr_rrc_NeedForInterruptionInfoNR_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t Neighbour_Cell_Information_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_intendedTDD_DL_ULConfig, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_IntendedTDD_DL_ULConfig },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Neighbour_Cell_Information_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Neighbour_Cell_Information_Item, Neighbour_Cell_Information_Item_sequence);

  return offset;
}


static const per_sequence_t NR_CGI_List_For_Restart_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NR_CGI_List_For_Restart_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NR_CGI_List_For_Restart_Item, NR_CGI_List_For_Restart_Item_sequence);

  return offset;
}


static const value_string f1ap_NrofSymbolsExtended_vals[] = {
  {   0, "n8" },
  {   1, "n10" },
  {   2, "n12" },
  {   3, "n14" },
  { 0, NULL }
};


static int
dissect_f1ap_NrofSymbolsExtended(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_180(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 180U, NULL, false);

  return offset;
}


static const per_sequence_t PRSAngleItem_sequence[] = {
  { &hf_f1ap_nR_PRS_Azimuth , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_359 },
  { &hf_f1ap_nR_PRS_Azimuth_fine, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_9 },
  { &hf_f1ap_nR_PRS_Elevation, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_180 },
  { &hf_f1ap_nR_PRS_Elevation_fine, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_9 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSAngleItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSAngleItem, PRSAngleItem_sequence);

  return offset;
}


static const per_sequence_t PRSAngleList_sequence_of[1] = {
  { &hf_f1ap_PRSAngleList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRSAngleItem },
};

static int
dissect_f1ap_PRSAngleList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PRSAngleList, PRSAngleList_sequence_of,
                                                  1, maxnoofPRS_ResourcesPerSet, false);

  return offset;
}


static const per_sequence_t NR_PRSBeamInformationItem_sequence[] = {
  { &hf_f1ap_pRSResourceSetID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRS_Resource_Set_ID },
  { &hf_f1ap_pRSAngleList   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRSAngleList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NR_PRSBeamInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NR_PRSBeamInformationItem, NR_PRSBeamInformationItem_sequence);

  return offset;
}


static const per_sequence_t NR_PRSBeamInformationList_sequence_of[1] = {
  { &hf_f1ap_NR_PRSBeamInformationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NR_PRSBeamInformationItem },
};

static int
dissect_f1ap_NR_PRSBeamInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_NR_PRSBeamInformationList, NR_PRSBeamInformationList_sequence_of,
                                                  1, maxnoofPRS_ResourceSets, false);

  return offset;
}


static const per_sequence_t NR_PRSBeamInformation_sequence[] = {
  { &hf_f1ap_nR_PRSBeamInformationList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NR_PRSBeamInformationList },
  { &hf_f1ap_lCStoGCSTranslationList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_LCStoGCSTranslationList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NR_PRSBeamInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NR_PRSBeamInformation, NR_PRSBeamInformation_sequence);

  return offset;
}



static int
dissect_f1ap_NR_TADV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7690U, NULL, false);

  return offset;
}


static const value_string f1ap_NReRedCapUEIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_NReRedCapUEIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_ERedcap_Bcast_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     8, 8, false, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string f1ap_NRRedCapUEIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_NRRedCapUEIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_NRPaging_eDRX_Cycle_Idle_vals[] = {
  {   0, "hfquarter" },
  {   1, "hfhalf" },
  {   2, "hf1" },
  {   3, "hf2" },
  {   4, "hf4" },
  {   5, "hf8" },
  {   6, "hf16" },
  {   7, "hf32" },
  {   8, "hf64" },
  {   9, "hf128" },
  {  10, "hf256" },
  {  11, "hf512" },
  {  12, "hf1024" },
  { 0, NULL }
};


static int
dissect_f1ap_NRPaging_eDRX_Cycle_Idle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     13, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_NRPaging_Time_Window_vals[] = {
  {   0, "s1" },
  {   1, "s2" },
  {   2, "s3" },
  {   3, "s4" },
  {   4, "s5" },
  {   5, "s6" },
  {   6, "s7" },
  {   7, "s8" },
  {   8, "s9" },
  {   9, "s10" },
  {  10, "s11" },
  {  11, "s12" },
  {  12, "s13" },
  {  13, "s14" },
  {  14, "s15" },
  {  15, "s16" },
  {  16, "s17" },
  {  17, "s18" },
  {  18, "s19" },
  {  19, "s20" },
  {  20, "s21" },
  {  21, "s22" },
  {  22, "s23" },
  {  23, "s24" },
  {  24, "s25" },
  {  25, "s26" },
  {  26, "s27" },
  {  27, "s28" },
  {  28, "s29" },
  {  29, "s30" },
  {  30, "s31" },
  {  31, "s32" },
  { 0, NULL }
};


static int
dissect_f1ap_NRPaging_Time_Window(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, true, 16, NULL);

  return offset;
}


static const per_sequence_t NRPagingeDRXInformation_sequence[] = {
  { &hf_f1ap_nrpaging_eDRX_Cycle_Idle, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRPaging_eDRX_Cycle_Idle },
  { &hf_f1ap_nrpaging_Time_Window, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NRPaging_Time_Window },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NRPagingeDRXInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NRPagingeDRXInformation, NRPagingeDRXInformation_sequence);

  return offset;
}


static const value_string f1ap_NRPaging_eDRX_Cycle_Inactive_vals[] = {
  {   0, "hfquarter" },
  {   1, "hfhalf" },
  {   2, "hf1" },
  { 0, NULL }
};


static int
dissect_f1ap_NRPaging_eDRX_Cycle_Inactive(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t NRPagingeDRXInformationforRRCINACTIVE_sequence[] = {
  { &hf_f1ap_nrpaging_eDRX_Cycle_Inactive, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRPaging_eDRX_Cycle_Inactive },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NRPagingeDRXInformationforRRCINACTIVE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NRPagingeDRXInformationforRRCINACTIVE, NRPagingeDRXInformationforRRCINACTIVE_sequence);

  return offset;
}


static const value_string f1ap_NRPaging_long_eDRX_Cycle_Inactive_vals[] = {
  {   0, "hf2" },
  {   1, "hf4" },
  {   2, "hf8" },
  {   3, "hf16" },
  {   4, "hf32" },
  {   5, "hf64" },
  {   6, "hf128" },
  {   7, "hf256" },
  {   8, "hf512" },
  {   9, "hf1024" },
  { 0, NULL }
};


static int
dissect_f1ap_NRPaging_long_eDRX_Cycle_Inactive(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_NRPaging_Time_Window_Inactive_vals[] = {
  {   0, "s1" },
  {   1, "s2" },
  {   2, "s3" },
  {   3, "s4" },
  {   4, "s5" },
  {   5, "s6" },
  {   6, "s7" },
  {   7, "s8" },
  {   8, "s9" },
  {   9, "s10" },
  {  10, "s11" },
  {  11, "s12" },
  {  12, "s13" },
  {  13, "s14" },
  {  14, "s15" },
  {  15, "s16" },
  {  16, "s17" },
  {  17, "s18" },
  {  18, "s19" },
  {  19, "s20" },
  {  20, "s21" },
  {  21, "s22" },
  {  22, "s23" },
  {  23, "s24" },
  {  24, "s25" },
  {  25, "s26" },
  {  26, "s27" },
  {  27, "s28" },
  {  28, "s29" },
  {  29, "s30" },
  {  30, "s31" },
  {  31, "s32" },
  { 0, NULL }
};


static int
dissect_f1ap_NRPaging_Time_Window_Inactive(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     32, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t NRPaginglongeDRXInformationforRRCINACTIVE_sequence[] = {
  { &hf_f1ap_nRPaging_long_eDRX_Cycle_Inactive, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRPaging_long_eDRX_Cycle_Inactive },
  { &hf_f1ap_nRPaging_Time_Window_Inactive, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRPaging_Time_Window_Inactive },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NRPaginglongeDRXInformationforRRCINACTIVE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NRPaginglongeDRXInformationforRRCINACTIVE, NRPaginglongeDRXInformationforRRCINACTIVE_sequence);

  return offset;
}


static const per_sequence_t NonDynamicPQIDescriptor_sequence[] = {
  { &hf_f1ap_fiveQI         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_255_ },
  { &hf_f1ap_qoSPriorityLevel_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_1_8_ },
  { &hf_f1ap_averagingWindow, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_AveragingWindow },
  { &hf_f1ap_maxDataBurstVolume, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_MaxDataBurstVolume },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NonDynamicPQIDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NonDynamicPQIDescriptor, NonDynamicPQIDescriptor_sequence);

  return offset;
}


static const value_string f1ap_NonUPTrafficType_vals[] = {
  {   0, "ue-associated" },
  {   1, "non-ue-associated" },
  {   2, "non-f1" },
  {   3, "bap-control-pdu" },
  { 0, NULL }
};


static int
dissect_f1ap_NonUPTrafficType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_SerialNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     16, 16, false, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t NotificationInformation_sequence[] = {
  { &hf_f1ap_message_Identifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_MessageIdentifier },
  { &hf_f1ap_serialNumber   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SerialNumber },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NotificationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NotificationInformation, NotificationInformation_sequence);

  return offset;
}


static const per_sequence_t NPN_Broadcast_Information_SNPN_sequence[] = {
  { &hf_f1ap_broadcastSNPNID_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastSNPN_ID_List },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NPN_Broadcast_Information_SNPN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NPN_Broadcast_Information_SNPN, NPN_Broadcast_Information_SNPN_sequence);

  return offset;
}


static const per_sequence_t NPN_Broadcast_Information_PNI_NPN_sequence[] = {
  { &hf_f1ap_broadcastPNI_NPN_ID_Information, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BroadcastPNI_NPN_ID_List },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NPN_Broadcast_Information_PNI_NPN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NPN_Broadcast_Information_PNI_NPN, NPN_Broadcast_Information_PNI_NPN_sequence);

  return offset;
}


static const value_string f1ap_NPNBroadcastInformation_vals[] = {
  {   0, "sNPN-Broadcast-Information" },
  {   1, "pNI-NPN-Broadcast-Information" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t NPNBroadcastInformation_choice[] = {
  {   0, &hf_f1ap_sNPN_Broadcast_Information, ASN1_NO_EXTENSIONS     , dissect_f1ap_NPN_Broadcast_Information_SNPN },
  {   1, &hf_f1ap_pNI_NPN_Broadcast_Information, ASN1_NO_EXTENSIONS     , dissect_f1ap_NPN_Broadcast_Information_PNI_NPN },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_NPNBroadcastInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_NPNBroadcastInformation, NPNBroadcastInformation_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_NPNSupportInfo_vals[] = {
  {   0, "sNPN-Information" },
  {   1, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t NPNSupportInfo_choice[] = {
  {   0, &hf_f1ap_sNPN_Information, ASN1_NO_EXTENSIONS     , dissect_f1ap_NID },
  {   1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_NPNSupportInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_NPNSupportInfo, NPNSupportInfo_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_NRUERLFReportContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_NRUERLFReportContainer);
    dissect_nr_rrc_nr_RLF_Report_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_INTEGER_1_maxnoofNR_UChannelIDs_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxnoofNR_UChannelIDs, NULL, true);

  return offset;
}


static const value_string f1ap_T_bandwidth_vals[] = {
  {   0, "mHz-10" },
  {   1, "mHz-20" },
  {   2, "mHz-40" },
  {   3, "mHz-60" },
  {   4, "mHz-80" },
  {   5, "mHz-100" },
  { 0, NULL }
};


static int
dissect_f1ap_T_bandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, true, 1, NULL);

  return offset;
}


static const per_sequence_t NR_U_Channel_Info_Item_sequence[] = {
  { &hf_f1ap_nr_U_channel_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_maxnoofNR_UChannelIDs_ },
  { &hf_f1ap_nR_ARFCN       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_maxNRARFCN },
  { &hf_f1ap_bandwidth      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_bandwidth },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NR_U_Channel_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NR_U_Channel_Info_Item, NR_U_Channel_Info_Item_sequence);

  return offset;
}


static const per_sequence_t NR_U_Channel_Info_List_sequence_of[1] = {
  { &hf_f1ap_NR_U_Channel_Info_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NR_U_Channel_Info_Item },
};

static int
dissect_f1ap_NR_U_Channel_Info_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_NR_U_Channel_Info_List, NR_U_Channel_Info_List_sequence_of,
                                                  1, maxnoofNR_UChannelIDs, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_maxnoofNR_UChannelIDs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxnoofNR_UChannelIDs, NULL, false);

  return offset;
}


static const per_sequence_t NR_U_Channel_Item_sequence[] = {
  { &hf_f1ap_nR_U_ChannelID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_maxnoofNR_UChannelIDs },
  { &hf_f1ap_channelOccupancyTimePercentageDL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ChannelOccupancyTimePercentage },
  { &hf_f1ap_energyDetectionThreshold, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_EnergyDetectionThreshold },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NR_U_Channel_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NR_U_Channel_Item, NR_U_Channel_Item_sequence);

  return offset;
}


static const per_sequence_t NR_U_Channel_List_sequence_of[1] = {
  { &hf_f1ap_NR_U_Channel_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NR_U_Channel_Item },
};

static int
dissect_f1ap_NR_U_Channel_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_NR_U_Channel_List, NR_U_Channel_List_sequence_of,
                                                  1, maxnoofNR_UChannelIDs, false);

  return offset;
}



static int
dissect_f1ap_NumberofBroadcastRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 65535U, NULL, false);

  return offset;
}


static const value_string f1ap_NumberOfTRPRxTEG_vals[] = {
  {   0, "two" },
  {   1, "three" },
  {   2, "four" },
  {   3, "six" },
  {   4, "eight" },
  { 0, NULL }
};


static int
dissect_f1ap_NumberOfTRPRxTEG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_NumberOfTRPRxTxTEG_vals[] = {
  {   0, "wo" },
  {   1, "three" },
  {   2, "four" },
  {   3, "six" },
  {   4, "eight" },
  { 0, NULL }
};


static int
dissect_f1ap_NumberOfTRPRxTxTEG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t NRV2XServicesAuthorized_sequence[] = {
  { &hf_f1ap_vehicleUE      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_VehicleUE },
  { &hf_f1ap_pedestrianUE   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PedestrianUE },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NRV2XServicesAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NRV2XServicesAuthorized, NRV2XServicesAuthorized_sequence);

  return offset;
}


static const per_sequence_t NRUESidelinkAggregateMaximumBitrate_sequence[] = {
  { &hf_f1ap_uENRSidelinkAggregateMaximumBitrate, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NRUESidelinkAggregateMaximumBitrate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NRUESidelinkAggregateMaximumBitrate, NRUESidelinkAggregateMaximumBitrate_sequence);

  return offset;
}



static int
dissect_f1ap_NZP_CSI_RS_ResourceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 191U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_M127_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -127, 127U, NULL, false);

  return offset;
}


static const per_sequence_t N6JitterInformation_sequence[] = {
  { &hf_f1ap_n6JitterLowerBound, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M127_127 },
  { &hf_f1ap_n6JitterUpperBound, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M127_127 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_N6JitterInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_N6JitterInformation, N6JitterInformation_sequence);

  return offset;
}


static const per_sequence_t OnDemandPRS_Info_sequence[] = {
  { &hf_f1ap_onDemandPRSRequestAllowed, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BIT_STRING_SIZE_16 },
  { &hf_f1ap_allowedResourceSetPeriodicityValues, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BIT_STRING_SIZE_24 },
  { &hf_f1ap_allowedPRSBandwidthValues, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BIT_STRING_SIZE_64 },
  { &hf_f1ap_allowedResourceRepetitionFactorValues, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BIT_STRING_SIZE_8 },
  { &hf_f1ap_allowedResourceNumberOfSymbolsValues, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BIT_STRING_SIZE_8 },
  { &hf_f1ap_allowedCombSizeValues, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BIT_STRING_SIZE_8 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_OnDemandPRS_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_OnDemandPRS_Info, OnDemandPRS_Info_sequence);

  return offset;
}


static const value_string f1ap_PathAdditionInformation_vals[] = {
  {   0, "indirectPathAddition" },
  {   1, "directPathAddition" },
  {   2, "n3C-indirectPathAddition" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t PathAdditionInformation_choice[] = {
  {   0, &hf_f1ap_indirectPathAddition, ASN1_NO_EXTENSIONS     , dissect_f1ap_IndirectPathAddition },
  {   1, &hf_f1ap_directPathAddition, ASN1_NO_EXTENSIONS     , dissect_f1ap_NULL },
  {   2, &hf_f1ap_n3C_indirectPathAddition, ASN1_NO_EXTENSIONS     , dissect_f1ap_N3CIndirectPathAddition },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_PathAdditionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_PathAdditionInformation, PathAdditionInformation_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PagingCell_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PagingCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PagingCell_Item, PagingCell_Item_sequence);

  return offset;
}


static const per_sequence_t RecommendedSSBItem_List_Item_sequence[] = {
  { &hf_f1ap_sSB_Index_01   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_Index },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RecommendedSSBItem_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RecommendedSSBItem_List_Item, RecommendedSSBItem_List_Item_sequence);

  return offset;
}


static const per_sequence_t Recommended_SSBs_List_sequence_of[1] = {
  { &hf_f1ap_Recommended_SSBs_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RecommendedSSBItem_List_Item },
};

static int
dissect_f1ap_Recommended_SSBs_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Recommended_SSBs_List, Recommended_SSBs_List_sequence_of,
                                                  1, maxnoofSSBAreas, false);

  return offset;
}


static const value_string f1ap_PagingDRX_vals[] = {
  {   0, "v32" },
  {   1, "v64" },
  {   2, "v128" },
  {   3, "v256" },
  { 0, NULL }
};


static int
dissect_f1ap_PagingDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     40, 40, false, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t RANUEPagingIdentity_sequence[] = {
  { &hf_f1ap_iRNTI          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BIT_STRING_SIZE_40 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RANUEPagingIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RANUEPagingIdentity, RANUEPagingIdentity_sequence);

  return offset;
}


static const value_string f1ap_PagingIdentity_vals[] = {
  {   0, "rANUEPagingIdentity" },
  {   1, "cNUEPagingIdentity" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t PagingIdentity_choice[] = {
  {   0, &hf_f1ap_rANUEPagingIdentity, ASN1_NO_EXTENSIONS     , dissect_f1ap_RANUEPagingIdentity },
  {   1, &hf_f1ap_cNUEPagingIdentity, ASN1_NO_EXTENSIONS     , dissect_f1ap_CNUEPagingIdentity },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_PagingIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_PagingIdentity, PagingIdentity_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_PagingCause_vals[] = {
  {   0, "voice" },
  { 0, NULL }
};


static int
dissect_f1ap_PagingCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_PagingOrigin_vals[] = {
  {   0, "non-3gpp" },
  { 0, NULL }
};


static int
dissect_f1ap_PagingOrigin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_PagingPriority_vals[] = {
  {   0, "priolevel1" },
  {   1, "priolevel2" },
  {   2, "priolevel3" },
  {   3, "priolevel4" },
  {   4, "priolevel5" },
  {   5, "priolevel6" },
  {   6, "priolevel7" },
  {   7, "priolevel8" },
  { 0, NULL }
};


static int
dissect_f1ap_PagingPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_ParentTImeSource_vals[] = {
  {   0, "synce" },
  {   1, "ptp" },
  {   2, "gnss" },
  {   3, "atomicclock" },
  {   4, "terrestrialradio" },
  {   5, "serialtimecode" },
  {   6, "ntp" },
  {   7, "handset" },
  {   8, "other" },
  { 0, NULL }
};


static int
dissect_f1ap_ParentTImeSource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     9, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t PEIPSAssistanceInfo_sequence[] = {
  { &hf_f1ap_cNSubgroupID   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_CNSubgroupID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PEIPSAssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PEIPSAssistanceInfo, PEIPSAssistanceInfo_sequence);

  return offset;
}


static const per_sequence_t Parent_IAB_Nodes_NA_Resource_Configuration_Item_sequence[] = {
  { &hf_f1ap_nADownlink     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_NADownlink },
  { &hf_f1ap_nAUplink       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_NAUplink },
  { &hf_f1ap_nAFlexible     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_NAFlexible },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_Item, Parent_IAB_Nodes_NA_Resource_Configuration_Item_sequence);

  return offset;
}


static const per_sequence_t Parent_IAB_Nodes_NA_Resource_Configuration_List_sequence_of[1] = {
  { &hf_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_Item },
};

static int
dissect_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_List, Parent_IAB_Nodes_NA_Resource_Configuration_List_sequence_of,
                                                  1, maxnoofHSNASlots, false);

  return offset;
}


static const value_string f1ap_PathlossReferenceSignal_vals[] = {
  {   0, "sSB" },
  {   1, "dL-PRS" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t PathlossReferenceSignal_choice[] = {
  {   0, &hf_f1ap_sSB            , ASN1_NO_EXTENSIONS     , dissect_f1ap_SSB },
  {   1, &hf_f1ap_dL_PRS         , ASN1_NO_EXTENSIONS     , dissect_f1ap_DL_PRS },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_PathlossReferenceSignal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_PathlossReferenceSignal, PathlossReferenceSignal_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PathlossReferenceInfo_sequence[] = {
  { &hf_f1ap_pathlossReferenceSignal, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PathlossReferenceSignal },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PathlossReferenceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PathlossReferenceInfo, PathlossReferenceInfo_sequence);

  return offset;
}


static const value_string f1ap_T_t420_vals[] = {
  {   0, "ms50" },
  {   1, "ms100" },
  {   2, "ms150" },
  {   3, "ms200" },
  {   4, "ms500" },
  {   5, "ms1000" },
  {   6, "ms2000" },
  {   7, "ms10000" },
  { 0, NULL }
};


static int
dissect_f1ap_T_t420(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, false, 0, NULL);

  return offset;
}


static const per_sequence_t PathSwitchConfiguration_sequence[] = {
  { &hf_f1ap_targetRelayUEID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BIT_STRING_SIZE_24 },
  { &hf_f1ap_remoteUELocalID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RemoteUELocalID },
  { &hf_f1ap_t420           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_t420 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PathSwitchConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PathSwitchConfiguration, PathSwitchConfiguration_sequence);

  return offset;
}


static const value_string f1ap_PC5_QoS_Characteristics_vals[] = {
  {   0, "non-Dynamic-PQI" },
  {   1, "dynamic-PQI" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t PC5_QoS_Characteristics_choice[] = {
  {   0, &hf_f1ap_non_Dynamic_PQI, ASN1_NO_EXTENSIONS     , dissect_f1ap_NonDynamicPQIDescriptor },
  {   1, &hf_f1ap_dynamic_PQI    , ASN1_NO_EXTENSIONS     , dissect_f1ap_DynamicPQIDescriptor },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_PC5_QoS_Characteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_PC5_QoS_Characteristics, PC5_QoS_Characteristics_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PC5FlowBitRates_sequence[] = {
  { &hf_f1ap_guaranteedFlowBitRate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_maximumFlowBitRate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PC5FlowBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PC5FlowBitRates, PC5FlowBitRates_sequence);

  return offset;
}


static const per_sequence_t PC5QoSParameters_sequence[] = {
  { &hf_f1ap_pC5_QoS_Characteristics, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5_QoS_Characteristics },
  { &hf_f1ap_pC5_QoS_Flow_Bit_Rates, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_PC5FlowBitRates },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PC5QoSParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PC5QoSParameters, PC5QoSParameters_sequence);

  return offset;
}



static int
dissect_f1ap_PC5RLCChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 512U, NULL, true);

  return offset;
}


static const value_string f1ap_T_pC5ControlPlaneTrafficType_vals[] = {
  {   0, "srb1" },
  {   1, "srb2" },
  { 0, NULL }
};


static int
dissect_f1ap_T_pC5ControlPlaneTrafficType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_PC5RLCChannelQoSInformation_vals[] = {
  {   0, "pC5RLCChannelQoS" },
  {   1, "pC5ControlPlaneTrafficType" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t PC5RLCChannelQoSInformation_choice[] = {
  {   0, &hf_f1ap_pC5RLCChannelQoS, ASN1_NO_EXTENSIONS     , dissect_f1ap_QoSFlowLevelQoSParameters },
  {   1, &hf_f1ap_pC5ControlPlaneTrafficType, ASN1_NO_EXTENSIONS     , dissect_f1ap_T_pC5ControlPlaneTrafficType },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_PC5RLCChannelQoSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_PC5RLCChannelQoSInformation, PC5RLCChannelQoSInformation_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PC5RLCChannelToBeSetupItem_sequence[] = {
  { &hf_f1ap_pC5RLCChannelID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelID },
  { &hf_f1ap_remoteUELocalID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RemoteUELocalID },
  { &hf_f1ap_pC5RLCChannelQoSInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelQoSInformation },
  { &hf_f1ap_rLCMode        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCMode },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PC5RLCChannelToBeSetupItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PC5RLCChannelToBeSetupItem, PC5RLCChannelToBeSetupItem_sequence);

  return offset;
}


static const per_sequence_t PC5RLCChannelToBeSetupList_sequence_of[1] = {
  { &hf_f1ap_PC5RLCChannelToBeSetupList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelToBeSetupItem },
};

static int
dissect_f1ap_PC5RLCChannelToBeSetupList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PC5RLCChannelToBeSetupList, PC5RLCChannelToBeSetupList_sequence_of,
                                                  1, maxnoofPC5RLCChannels, false);

  return offset;
}



static int
dissect_f1ap_PeerUE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     24, 24, false, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t PC5RLCChannelToBeModifiedItem_sequence[] = {
  { &hf_f1ap_pC5RLCChannelID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelID },
  { &hf_f1ap_remoteUELocalID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RemoteUELocalID },
  { &hf_f1ap_pC5RLCChannelQoSInformation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_PC5RLCChannelQoSInformation },
  { &hf_f1ap_rLCMode        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RLCMode },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PC5RLCChannelToBeModifiedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PC5RLCChannelToBeModifiedItem, PC5RLCChannelToBeModifiedItem_sequence);

  return offset;
}


static const per_sequence_t PC5RLCChannelToBeModifiedList_sequence_of[1] = {
  { &hf_f1ap_PC5RLCChannelToBeModifiedList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelToBeModifiedItem },
};

static int
dissect_f1ap_PC5RLCChannelToBeModifiedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PC5RLCChannelToBeModifiedList, PC5RLCChannelToBeModifiedList_sequence_of,
                                                  1, maxnoofPC5RLCChannels, false);

  return offset;
}


static const per_sequence_t PC5RLCChannelToBeReleasedItem_sequence[] = {
  { &hf_f1ap_pC5RLCChannelID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelID },
  { &hf_f1ap_remoteUELocalID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RemoteUELocalID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PC5RLCChannelToBeReleasedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PC5RLCChannelToBeReleasedItem, PC5RLCChannelToBeReleasedItem_sequence);

  return offset;
}


static const per_sequence_t PC5RLCChannelToBeReleasedList_sequence_of[1] = {
  { &hf_f1ap_PC5RLCChannelToBeReleasedList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelToBeReleasedItem },
};

static int
dissect_f1ap_PC5RLCChannelToBeReleasedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PC5RLCChannelToBeReleasedList, PC5RLCChannelToBeReleasedList_sequence_of,
                                                  1, maxnoofPC5RLCChannels, false);

  return offset;
}


static const per_sequence_t PC5RLCChannelSetupItem_sequence[] = {
  { &hf_f1ap_pC5RLCChannelID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelID },
  { &hf_f1ap_remoteUELocalID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RemoteUELocalID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PC5RLCChannelSetupItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PC5RLCChannelSetupItem, PC5RLCChannelSetupItem_sequence);

  return offset;
}


static const per_sequence_t PC5RLCChannelSetupList_sequence_of[1] = {
  { &hf_f1ap_PC5RLCChannelSetupList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelSetupItem },
};

static int
dissect_f1ap_PC5RLCChannelSetupList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PC5RLCChannelSetupList, PC5RLCChannelSetupList_sequence_of,
                                                  1, maxnoofPC5RLCChannels, false);

  return offset;
}


static const per_sequence_t PC5RLCChannelFailedToBeSetupItem_sequence[] = {
  { &hf_f1ap_pC5RLCChannelID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelID },
  { &hf_f1ap_remoteUELocalID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RemoteUELocalID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PC5RLCChannelFailedToBeSetupItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PC5RLCChannelFailedToBeSetupItem, PC5RLCChannelFailedToBeSetupItem_sequence);

  return offset;
}


static const per_sequence_t PC5RLCChannelFailedToBeSetupList_sequence_of[1] = {
  { &hf_f1ap_PC5RLCChannelFailedToBeSetupList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelFailedToBeSetupItem },
};

static int
dissect_f1ap_PC5RLCChannelFailedToBeSetupList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PC5RLCChannelFailedToBeSetupList, PC5RLCChannelFailedToBeSetupList_sequence_of,
                                                  1, maxnoofPC5RLCChannels, false);

  return offset;
}


static const per_sequence_t PC5RLCChannelModifiedItem_sequence[] = {
  { &hf_f1ap_pC5RLCChannelID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelID },
  { &hf_f1ap_remoteUELocalID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RemoteUELocalID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PC5RLCChannelModifiedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PC5RLCChannelModifiedItem, PC5RLCChannelModifiedItem_sequence);

  return offset;
}


static const per_sequence_t PC5RLCChannelModifiedList_sequence_of[1] = {
  { &hf_f1ap_PC5RLCChannelModifiedList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelModifiedItem },
};

static int
dissect_f1ap_PC5RLCChannelModifiedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PC5RLCChannelModifiedList, PC5RLCChannelModifiedList_sequence_of,
                                                  1, maxnoofPC5RLCChannels, false);

  return offset;
}


static const per_sequence_t PC5RLCChannelFailedToBeModifiedItem_sequence[] = {
  { &hf_f1ap_pC5RLCChannelID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelID },
  { &hf_f1ap_remoteUELocalID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RemoteUELocalID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PC5RLCChannelFailedToBeModifiedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PC5RLCChannelFailedToBeModifiedItem, PC5RLCChannelFailedToBeModifiedItem_sequence);

  return offset;
}


static const per_sequence_t PC5RLCChannelFailedToBeModifiedList_sequence_of[1] = {
  { &hf_f1ap_PC5RLCChannelFailedToBeModifiedList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelFailedToBeModifiedItem },
};

static int
dissect_f1ap_PC5RLCChannelFailedToBeModifiedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PC5RLCChannelFailedToBeModifiedList, PC5RLCChannelFailedToBeModifiedList_sequence_of,
                                                  1, maxnoofPC5RLCChannels, false);

  return offset;
}


static const per_sequence_t PC5RLCChannelRequiredToBeModifiedItem_sequence[] = {
  { &hf_f1ap_pC5RLCChannelID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelID },
  { &hf_f1ap_remoteUELocalID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RemoteUELocalID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PC5RLCChannelRequiredToBeModifiedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PC5RLCChannelRequiredToBeModifiedItem, PC5RLCChannelRequiredToBeModifiedItem_sequence);

  return offset;
}


static const per_sequence_t PC5RLCChannelRequiredToBeModifiedList_sequence_of[1] = {
  { &hf_f1ap_PC5RLCChannelRequiredToBeModifiedList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelRequiredToBeModifiedItem },
};

static int
dissect_f1ap_PC5RLCChannelRequiredToBeModifiedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PC5RLCChannelRequiredToBeModifiedList, PC5RLCChannelRequiredToBeModifiedList_sequence_of,
                                                  1, maxnoofPC5RLCChannels, false);

  return offset;
}


static const per_sequence_t PC5RLCChannelRequiredToBeReleasedItem_sequence[] = {
  { &hf_f1ap_pC5RLCChannelID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelID },
  { &hf_f1ap_remoteUELocalID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RemoteUELocalID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PC5RLCChannelRequiredToBeReleasedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PC5RLCChannelRequiredToBeReleasedItem, PC5RLCChannelRequiredToBeReleasedItem_sequence);

  return offset;
}


static const per_sequence_t PC5RLCChannelRequiredToBeReleasedList_sequence_of[1] = {
  { &hf_f1ap_PC5RLCChannelRequiredToBeReleasedList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5RLCChannelRequiredToBeReleasedItem },
};

static int
dissect_f1ap_PC5RLCChannelRequiredToBeReleasedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PC5RLCChannelRequiredToBeReleasedList, PC5RLCChannelRequiredToBeReleasedList_sequence_of,
                                                  1, maxnoofPC5RLCChannels, false);

  return offset;
}



static int
dissect_f1ap_PDCCH_BlindDetectionSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *parameter_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);

  if (parameter_tvb) {
    actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
  }


  return offset;
}


static const value_string f1ap_PDCMeasurementPeriodicity_vals[] = {
  {   0, "ms80" },
  {   1, "ms120" },
  {   2, "ms160" },
  {   3, "ms240" },
  {   4, "ms320" },
  {   5, "ms480" },
  {   6, "ms640" },
  {   7, "ms1024" },
  {   8, "ms1280" },
  {   9, "ms2048" },
  {  10, "ms2560" },
  {  11, "ms5120" },
  { 0, NULL }
};


static int
dissect_f1ap_PDCMeasurementPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     12, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t PDCMeasurementQuantities_sequence_of[1] = {
  { &hf_f1ap_PDCMeasurementQuantities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_PDCMeasurementQuantities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PDCMeasurementQuantities, PDCMeasurementQuantities_sequence_of,
                                                  1, maxnoofMeasPDC, false);

  return offset;
}


static const value_string f1ap_PDCMeasurementQuantitiesValue_vals[] = {
  {   0, "nr-pdc-tadv" },
  {   1, "gNB-rx-tx" },
  { 0, NULL }
};


static int
dissect_f1ap_PDCMeasurementQuantitiesValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t PDCMeasurementQuantities_Item_sequence[] = {
  { &hf_f1ap_pDCmeasurementQuantitiesValue, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PDCMeasurementQuantitiesValue },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PDCMeasurementQuantities_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PDCMeasurementQuantities_Item, PDCMeasurementQuantities_Item_sequence);

  return offset;
}



static int
dissect_f1ap_PDC_TADV_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 62500U, NULL, true);

  return offset;
}



static int
dissect_f1ap_PDC_RxTxTimeDiff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 61565U, NULL, true);

  return offset;
}


static const value_string f1ap_PDCMeasuredResults_Value_vals[] = {
  {   0, "pDC-TADV-NR" },
  {   1, "pDC-RxTxTimeDiff" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t PDCMeasuredResults_Value_choice[] = {
  {   0, &hf_f1ap_pDC_TADV_NR    , ASN1_NO_EXTENSIONS     , dissect_f1ap_PDC_TADV_NR },
  {   1, &hf_f1ap_pDC_RxTxTimeDiff, ASN1_NO_EXTENSIONS     , dissect_f1ap_PDC_RxTxTimeDiff },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_PDCMeasuredResults_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_PDCMeasuredResults_Value, PDCMeasuredResults_Value_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PDCMeasuredResults_Item_sequence[] = {
  { &hf_f1ap_pDCMeasuredResults_Value, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PDCMeasuredResults_Value },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PDCMeasuredResults_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PDCMeasuredResults_Item, PDCMeasuredResults_Item_sequence);

  return offset;
}


static const per_sequence_t PDCMeasuredResultsList_sequence_of[1] = {
  { &hf_f1ap_PDCMeasuredResultsList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PDCMeasuredResults_Item },
};

static int
dissect_f1ap_PDCMeasuredResultsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PDCMeasuredResultsList, PDCMeasuredResultsList_sequence_of,
                                                  1, maxnoofMeasPDC, false);

  return offset;
}


static const per_sequence_t PDCMeasurementResult_sequence[] = {
  { &hf_f1ap_pDCMeasuredResultsList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PDCMeasuredResultsList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PDCMeasurementResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PDCMeasurementResult, PDCMeasurementResult_sequence);

  return offset;
}


static const value_string f1ap_PDCReportType_vals[] = {
  {   0, "onDemand" },
  {   1, "periodic" },
  { 0, NULL }
};


static int
dissect_f1ap_PDCReportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_PDCP_SN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 4095U, NULL, false);

  return offset;
}



static int
dissect_f1ap_PDUSessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 255U, NULL, false);

  return offset;
}


static const value_string f1ap_PEISubgroupingSupportIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_PEISubgroupingSupportIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_ReportingPeriodicityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 512U, NULL, true);

  return offset;
}



static int
dissect_f1ap_Periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 640000U, NULL, true);

  return offset;
}


static const value_string f1ap_PeriodicitySRS_vals[] = {
  {   0, "ms0p125" },
  {   1, "ms0p25" },
  {   2, "ms0p5" },
  {   3, "ms0p625" },
  {   4, "ms1" },
  {   5, "ms1p25" },
  {   6, "ms2" },
  {   7, "ms2p5" },
  {   8, "ms4" },
  {   9, "ms5" },
  {  10, "ms8" },
  {  11, "ms10" },
  {  12, "ms16" },
  {  13, "ms20" },
  {  14, "ms32" },
  {  15, "ms40" },
  {  16, "ms64" },
  {  17, "ms80" },
  {  18, "ms160" },
  {  19, "ms320" },
  {  20, "ms640" },
  {  21, "ms1280" },
  {  22, "ms2560" },
  {  23, "ms5120" },
  {  24, "ms10240" },
  { 0, NULL }
};


static int
dissect_f1ap_PeriodicitySRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     25, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t PeriodicityList_Item_sequence[] = {
  { &hf_f1ap_periodicitySRS , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PeriodicitySRS },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PeriodicityList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PeriodicityList_Item, PeriodicityList_Item_sequence);

  return offset;
}


static const per_sequence_t PeriodicityList_sequence_of[1] = {
  { &hf_f1ap_PeriodicityList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PeriodicityList_Item },
};

static int
dissect_f1ap_PeriodicityList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PeriodicityList, PeriodicityList_sequence_of,
                                                  1, maxnoSRS_ResourcePerSet, false);

  return offset;
}


static const per_sequence_t PeriodicityBound_sequence[] = {
  { &hf_f1ap_periodicityLowerBound, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Periodicity },
  { &hf_f1ap_periodicityUpperBound, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Periodicity },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PeriodicityBound(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PeriodicityBound, PeriodicityBound_sequence);

  return offset;
}


static const per_sequence_t AllowedPeriodicityList_sequence_of[1] = {
  { &hf_f1ap_AllowedPeriodicityList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Periodicity },
};

static int
dissect_f1ap_AllowedPeriodicityList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_AllowedPeriodicityList, AllowedPeriodicityList_sequence_of,
                                                  1, maxnoofPeriodicities, false);

  return offset;
}


static const value_string f1ap_PeriodicityRange_vals[] = {
  {   0, "periodicityBound" },
  {   1, "periodicityList" },
  {   2, "choice-extensions" },
  { 0, NULL }
};

static const per_choice_t PeriodicityRange_choice[] = {
  {   0, &hf_f1ap_periodicityBound, ASN1_NO_EXTENSIONS     , dissect_f1ap_PeriodicityBound },
  {   1, &hf_f1ap_periodicityList, ASN1_NO_EXTENSIONS     , dissect_f1ap_AllowedPeriodicityList },
  {   2, &hf_f1ap_choice_extensions, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_PeriodicityRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_PeriodicityRange, PeriodicityRange_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_Ph_InfoMCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_Ph_InfoMCG);
    dissect_nr_rrc_PH_TypeListMCG_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_Ph_InfoSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_Ph_InfoSCG);
    dissect_nr_rrc_PH_TypeListSCG_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_PlayoutDelayForMediaStartup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, NULL);

  return offset;
}



static int
dissect_f1ap_PortNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *parameter_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
                                     16, 16, false, NULL, 0, &parameter_tvb, NULL);

  if (parameter_tvb) {
    actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
  }


  return offset;
}



static int
dissect_f1ap_PosAssistance_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_PosAssistance_Information);
    dissect_nrppa_Assistance_Information_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_PosAssistanceInformationFailureList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_PosAssistance_Information);
    dissect_nrppa_Assistance_Information_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_PosBroadcast_vals[] = {
  {   0, "start" },
  {   1, "stop" },
  { 0, NULL }
};


static int
dissect_f1ap_PosBroadcast(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_PosContextRevIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_PosContextRevIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t PositioningBroadcastCells_sequence_of[1] = {
  { &hf_f1ap_PositioningBroadcastCells_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
};

static int
dissect_f1ap_PositioningBroadcastCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PositioningBroadcastCells, PositioningBroadcastCells_sequence_of,
                                                  1, maxnoBcastCell, false);

  return offset;
}



static int
dissect_f1ap_T_posMeasGapPreConfigToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_posMeasGapPreConfigToAddModList);
    dissect_nr_rrc_PosMeasGapPreConfigToAddModList_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_T_posMeasGapPreConfigToReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_posMeasGapPreConfigToReleaseList);
    dissect_nr_rrc_PosMeasGapPreConfigToReleaseList_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t PosMeasGapPreConfigList_sequence[] = {
  { &hf_f1ap_posMeasGapPreConfigToAddModList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_posMeasGapPreConfigToAddModList },
  { &hf_f1ap_posMeasGapPreConfigToReleaseList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_posMeasGapPreConfigToReleaseList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PosMeasGapPreConfigList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PosMeasGapPreConfigList, PosMeasGapPreConfigList_sequence);

  return offset;
}


static const value_string f1ap_MeasurementPeriodicity_vals[] = {
  {   0, "ms120" },
  {   1, "ms240" },
  {   2, "ms480" },
  {   3, "ms640" },
  {   4, "ms1024" },
  {   5, "ms2048" },
  {   6, "ms5120" },
  {   7, "ms10240" },
  {   8, "min1" },
  {   9, "min6" },
  {  10, "min12" },
  {  11, "min30" },
  {  12, "ms20480" },
  {  13, "ms40960" },
  {  14, "extended" },
  { 0, NULL }
};


static int
dissect_f1ap_MeasurementPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     12, NULL, true, 3, NULL);

  return offset;
}


static const value_string f1ap_MeasurementPeriodicityExtended_vals[] = {
  {   0, "ms160" },
  {   1, "ms320" },
  {   2, "ms1280" },
  {   3, "ms2560" },
  {   4, "ms61440" },
  {   5, "ms81920" },
  {   6, "ms368640" },
  {   7, "ms737280" },
  {   8, "ms1843200" },
  { 0, NULL }
};


static int
dissect_f1ap_MeasurementPeriodicityExtended(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     9, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_PosMeasurementPeriodicityNR_AoA_vals[] = {
  {   0, "ms160" },
  {   1, "ms320" },
  {   2, "ms640" },
  {   3, "ms1280" },
  {   4, "ms2560" },
  {   5, "ms5120" },
  {   6, "ms10240" },
  {   7, "ms20480" },
  {   8, "ms40960" },
  {   9, "ms61440" },
  {  10, "ms81920" },
  {  11, "ms368640" },
  {  12, "ms737280" },
  {  13, "ms1843200" },
  { 0, NULL }
};


static int
dissect_f1ap_PosMeasurementPeriodicityNR_AoA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     14, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_PosMeasurementType_vals[] = {
  {   0, "gnb-rx-tx" },
  {   1, "ul-srs-rsrp" },
  {   2, "ul-aoa" },
  {   3, "ul-rtoa" },
  {   4, "multiple-ul-aoa" },
  {   5, "ul-srs-rsrpp" },
  {   6, "ul-rscp" },
  { 0, NULL }
};


static int
dissect_f1ap_PosMeasurementType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 3, NULL);

  return offset;
}


static const per_sequence_t PosMeasurementQuantities_Item_sequence[] = {
  { &hf_f1ap_posMeasurementType, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PosMeasurementType },
  { &hf_f1ap_timingReportingGranularityFactor, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_5 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PosMeasurementQuantities_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PosMeasurementQuantities_Item, PosMeasurementQuantities_Item_sequence);

  return offset;
}


static const per_sequence_t PosMeasurementQuantities_sequence_of[1] = {
  { &hf_f1ap_PosMeasurementQuantities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PosMeasurementQuantities_Item },
};

static int
dissect_f1ap_PosMeasurementQuantities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PosMeasurementQuantities, PosMeasurementQuantities_sequence_of,
                                                  1, maxnoofPosMeas, false);

  return offset;
}


static const per_sequence_t PosMeasurementResultItem_sequence[] = {
  { &hf_f1ap_measuredResultsValue, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MeasuredResultsValue },
  { &hf_f1ap_timeStamp      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TimeStamp },
  { &hf_f1ap_measurementQuality, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_TRPMeasurementQuality },
  { &hf_f1ap_measurementBeamInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_MeasurementBeamInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PosMeasurementResultItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PosMeasurementResultItem, PosMeasurementResultItem_sequence);

  return offset;
}


static const per_sequence_t PosMeasurementResult_sequence_of[1] = {
  { &hf_f1ap_PosMeasurementResult_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PosMeasurementResultItem },
};

static int
dissect_f1ap_PosMeasurementResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PosMeasurementResult, PosMeasurementResult_sequence_of,
                                                  1, maxnoofPosMeas, false);

  return offset;
}



static int
dissect_f1ap_TRPID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, maxnoofTRPs, NULL, true);

  return offset;
}


static const per_sequence_t PosMeasurementResultList_Item_sequence[] = {
  { &hf_f1ap_posMeasurementResult, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PosMeasurementResult },
  { &hf_f1ap_tRPID          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PosMeasurementResultList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PosMeasurementResultList_Item, PosMeasurementResultList_Item_sequence);

  return offset;
}


static const per_sequence_t PosMeasurementResultList_sequence_of[1] = {
  { &hf_f1ap_PosMeasurementResultList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PosMeasurementResultList_Item },
};

static int
dissect_f1ap_PosMeasurementResultList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PosMeasurementResultList, PosMeasurementResultList_sequence_of,
                                                  1, maxNoOfMeasTRPs, false);

  return offset;
}


static const value_string f1ap_PosReportCharacteristics_vals[] = {
  {   0, "ondemand" },
  {   1, "periodic" },
  { 0, NULL }
};


static int
dissect_f1ap_PosReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_PosSItype(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 32U, NULL, true);

  return offset;
}


static const per_sequence_t PosSItype_Item_sequence[] = {
  { &hf_f1ap_posItype       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PosSItype },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PosSItype_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PosSItype_Item, PosSItype_Item_sequence);

  return offset;
}


static const per_sequence_t PosSItypeList_sequence_of[1] = {
  { &hf_f1ap_PosSItypeList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PosSItype_Item },
};

static int
dissect_f1ap_PosSItypeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PosSItypeList, PosSItypeList_sequence_of,
                                                  1, maxnoofPosSITypes, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_1007(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1007U, NULL, false);

  return offset;
}


static const per_sequence_t PosValidityAreaCellList_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_nRPCI_01       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_1007 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PosValidityAreaCellList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PosValidityAreaCellList_Item, PosValidityAreaCellList_Item_sequence);

  return offset;
}


static const per_sequence_t PosValidityAreaCellList_sequence_of[1] = {
  { &hf_f1ap_PosValidityAreaCellList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PosValidityAreaCellList_Item },
};

static int
dissect_f1ap_PosValidityAreaCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PosValidityAreaCellList, PosValidityAreaCellList_sequence_of,
                                                  1, maxnoVACell, false);

  return offset;
}


static const value_string f1ap_PrimaryPathIndication_vals[] = {
  {   0, "true" },
  {   1, "false" },
  { 0, NULL }
};


static int
dissect_f1ap_PrimaryPathIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_Preconfigured_measurement_GAP_Request_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_Preconfigured_measurement_GAP_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_SpectrumSharingGroupID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxCellineNB, NULL, false);

  return offset;
}


static const per_sequence_t Protected_EUTRA_Resources_Item_sequence[] = {
  { &hf_f1ap_spectrumSharingGroupID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SpectrumSharingGroupID },
  { &hf_f1ap_eUTRACells_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRACells_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Protected_EUTRA_Resources_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Protected_EUTRA_Resources_Item, Protected_EUTRA_Resources_Item_sequence);

  return offset;
}


static const value_string f1ap_T_subcarrierSpacing_01_vals[] = {
  {   0, "kHz15" },
  {   1, "kHz30" },
  {   2, "kHz60" },
  {   3, "kHz120" },
  { 0, NULL }
};


static int
dissect_f1ap_T_subcarrierSpacing_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 63U, NULL, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_2176(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 2176U, NULL, false);

  return offset;
}


static const value_string f1ap_T_combSize_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n6" },
  {   3, "n12" },
  { 0, NULL }
};


static int
dissect_f1ap_T_combSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_cPType_vals[] = {
  {   0, "normal" },
  {   1, "extended" },
  { 0, NULL }
};


static int
dissect_f1ap_T_cPType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_resourceSetPeriodicity_vals[] = {
  {   0, "n4" },
  {   1, "n5" },
  {   2, "n8" },
  {   3, "n10" },
  {   4, "n16" },
  {   5, "n20" },
  {   6, "n32" },
  {   7, "n40" },
  {   8, "n64" },
  {   9, "n80" },
  {  10, "n160" },
  {  11, "n320" },
  {  12, "n640" },
  {  13, "n1280" },
  {  14, "n2560" },
  {  15, "n5120" },
  {  16, "n10240" },
  {  17, "n20480" },
  {  18, "n40960" },
  {  19, "n81920" },
  {  20, "n128" },
  {  21, "n256" },
  {  22, "n512" },
  { 0, NULL }
};


static int
dissect_f1ap_T_resourceSetPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     20, NULL, true, 3, NULL);

  return offset;
}


static const value_string f1ap_T_resourceRepetitionFactor_vals[] = {
  {   0, "rf1" },
  {   1, "rf2" },
  {   2, "rf4" },
  {   3, "rf6" },
  {   4, "rf8" },
  {   5, "rf16" },
  {   6, "rf32" },
  { 0, NULL }
};


static int
dissect_f1ap_T_resourceRepetitionFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_resourceTimeGap_vals[] = {
  {   0, "tg1" },
  {   1, "tg2" },
  {   2, "tg4" },
  {   3, "tg8" },
  {   4, "tg16" },
  {   5, "tg32" },
  { 0, NULL }
};


static int
dissect_f1ap_T_resourceTimeGap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_resourceNumberofSymbols_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n6" },
  {   3, "n12" },
  {   4, "n1" },
  { 0, NULL }
};


static int
dissect_f1ap_T_resourceNumberofSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 1, NULL);

  return offset;
}


static const value_string f1ap_T_mutingBitRepetitionFactor_vals[] = {
  {   0, "rf1" },
  {   1, "rf2" },
  {   2, "rf4" },
  {   3, "rf8" },
  { 0, NULL }
};


static int
dissect_f1ap_T_mutingBitRepetitionFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t PRSMutingOption1_sequence[] = {
  { &hf_f1ap_mutingPattern  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DL_PRSMutingPattern },
  { &hf_f1ap_mutingBitRepetitionFactor, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_mutingBitRepetitionFactor },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSMutingOption1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSMutingOption1, PRSMutingOption1_sequence);

  return offset;
}


static const per_sequence_t PRSMutingOption2_sequence[] = {
  { &hf_f1ap_mutingPattern  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DL_PRSMutingPattern },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSMutingOption2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSMutingOption2, PRSMutingOption2_sequence);

  return offset;
}


static const per_sequence_t PRSMuting_sequence[] = {
  { &hf_f1ap_pRSMutingOption1, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PRSMutingOption1 },
  { &hf_f1ap_pRSMutingOption2, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PRSMutingOption2 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSMuting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSMuting, PRSMuting_sequence);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_11_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 11U, NULL, true);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 12U, NULL, false);

  return offset;
}


static const per_sequence_t PRSResource_QCLSourceSSB_sequence[] = {
  { &hf_f1ap_pCI_NR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_1007 },
  { &hf_f1ap_sSB_Index_01   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_SSB_Index },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSResource_QCLSourceSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSResource_QCLSourceSSB, PRSResource_QCLSourceSSB_sequence);

  return offset;
}


static const per_sequence_t PRSResource_QCLSourcePRS_sequence[] = {
  { &hf_f1ap_qCLSourcePRSResourceSetID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRS_Resource_Set_ID },
  { &hf_f1ap_qCLSourcePRSResourceID, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PRS_Resource_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSResource_QCLSourcePRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSResource_QCLSourcePRS, PRSResource_QCLSourcePRS_sequence);

  return offset;
}


static const value_string f1ap_PRSResource_QCLInfo_vals[] = {
  {   0, "qCLSourceSSB" },
  {   1, "qCLSourcePRS" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t PRSResource_QCLInfo_choice[] = {
  {   0, &hf_f1ap_qCLSourceSSB   , ASN1_NO_EXTENSIONS     , dissect_f1ap_PRSResource_QCLSourceSSB },
  {   1, &hf_f1ap_qCLSourcePRS   , ASN1_NO_EXTENSIONS     , dissect_f1ap_PRSResource_QCLSourcePRS },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_PRSResource_QCLInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_PRSResource_QCLInfo, PRSResource_QCLInfo_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PRSResource_Item_sequence[] = {
  { &hf_f1ap_pRSResourceID  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRS_Resource_ID },
  { &hf_f1ap_sequenceID     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_4095 },
  { &hf_f1ap_rEOffset       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_11_ },
  { &hf_f1ap_resourceSlotOffset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_511 },
  { &hf_f1ap_resourceSymbolOffset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_12 },
  { &hf_f1ap_qCLInfo        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PRSResource_QCLInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSResource_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSResource_Item, PRSResource_Item_sequence);

  return offset;
}


static const per_sequence_t PRSResource_List_sequence_of[1] = {
  { &hf_f1ap_PRSResource_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRSResource_Item },
};

static int
dissect_f1ap_PRSResource_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PRSResource_List, PRSResource_List_sequence_of,
                                                  1, maxnoofPRSresources, false);

  return offset;
}


static const per_sequence_t PRSResourceSet_Item_sequence[] = {
  { &hf_f1ap_pRSResourceSetID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRS_Resource_Set_ID },
  { &hf_f1ap_subcarrierSpacing_02, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_subcarrierSpacing_01 },
  { &hf_f1ap_pRSbandwidth   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_63 },
  { &hf_f1ap_startPRB       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_2176 },
  { &hf_f1ap_pointA         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3279165 },
  { &hf_f1ap_combSize       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_combSize },
  { &hf_f1ap_cPType         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_cPType },
  { &hf_f1ap_resourceSetPeriodicity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_resourceSetPeriodicity },
  { &hf_f1ap_resourceSetSlotOffset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_81919_ },
  { &hf_f1ap_resourceRepetitionFactor, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_resourceRepetitionFactor },
  { &hf_f1ap_resourceTimeGap, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_resourceTimeGap },
  { &hf_f1ap_resourceNumberofSymbols, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_resourceNumberofSymbols },
  { &hf_f1ap_pRSMuting      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PRSMuting },
  { &hf_f1ap_pRSResourceTransmitPower, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M60_50 },
  { &hf_f1ap_pRSResource_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRSResource_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSResourceSet_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSResourceSet_Item, PRSResourceSet_Item_sequence);

  return offset;
}


static const per_sequence_t PRSResourceSet_List_sequence_of[1] = {
  { &hf_f1ap_PRSResourceSet_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRSResourceSet_Item },
};

static int
dissect_f1ap_PRSResourceSet_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PRSResourceSet_List, PRSResourceSet_List_sequence_of,
                                                  1, maxnoofPRSresourceSets, false);

  return offset;
}


static const per_sequence_t PRSConfiguration_sequence[] = {
  { &hf_f1ap_pRSResourceSet_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRSResourceSet_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSConfiguration, PRSConfiguration_sequence);

  return offset;
}


static const value_string f1ap_T_measPRSPeriodicity_vals[] = {
  {   0, "ms20" },
  {   1, "ms40" },
  {   2, "ms80" },
  {   3, "ms160" },
  { 0, NULL }
};


static int
dissect_f1ap_T_measPRSPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_159_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 159U, NULL, true);

  return offset;
}


static const value_string f1ap_T_measurementPRSLength_vals[] = {
  {   0, "ms1dot5" },
  {   1, "ms3" },
  {   2, "ms3dot5" },
  {   3, "ms4" },
  {   4, "ms5dot5" },
  {   5, "ms6" },
  {   6, "ms10" },
  {   7, "ms20" },
  { 0, NULL }
};


static int
dissect_f1ap_T_measurementPRSLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, false, 0, NULL);

  return offset;
}


static const per_sequence_t PRS_Measurement_Info_List_Item_sequence[] = {
  { &hf_f1ap_pointA         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3279165 },
  { &hf_f1ap_measPRSPeriodicity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_measPRSPeriodicity },
  { &hf_f1ap_measPRSOffset  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_159_ },
  { &hf_f1ap_measurementPRSLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_measurementPRSLength },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRS_Measurement_Info_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRS_Measurement_Info_List_Item, PRS_Measurement_Info_List_Item_sequence);

  return offset;
}


static const per_sequence_t PRS_Measurement_Info_List_sequence_of[1] = {
  { &hf_f1ap_PRS_Measurement_Info_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRS_Measurement_Info_List_Item },
};

static int
dissect_f1ap_PRS_Measurement_Info_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PRS_Measurement_Info_List, PRS_Measurement_Info_List_sequence_of,
                                                  1, maxFreqLayers, false);

  return offset;
}


static const per_sequence_t Potential_SpCell_Item_sequence[] = {
  { &hf_f1ap_potential_SpCell_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Potential_SpCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Potential_SpCell_Item, Potential_SpCell_Item_sequence);

  return offset;
}


static const value_string f1ap_PRSConfigRequestType_vals[] = {
  {   0, "configure" },
  {   1, "off" },
  { 0, NULL }
};


static int
dissect_f1ap_PRSConfigRequestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_PRSBandwidthAggregationRequestIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_PRSBandwidthAggregationRequestIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_ExtendedResourceSymbolOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 13U, NULL, true);

  return offset;
}


static const per_sequence_t PRSTransmissionOffPerResourceSet_Item_sequence[] = {
  { &hf_f1ap_pRSResourceSetID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PRS_Resource_Set_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSTransmissionOffPerResourceSet_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSTransmissionOffPerResourceSet_Item, PRSTransmissionOffPerResourceSet_Item_sequence);

  return offset;
}


static const per_sequence_t PRSTransmissionOffPerResourceSet_sequence_of[1] = {
  { &hf_f1ap_PRSTransmissionOffPerResourceSet_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRSTransmissionOffPerResourceSet_Item },
};

static int
dissect_f1ap_PRSTransmissionOffPerResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PRSTransmissionOffPerResourceSet, PRSTransmissionOffPerResourceSet_sequence_of,
                                                  1, maxnoofPRSresourceSets, false);

  return offset;
}


static const per_sequence_t PRSTransmissionOffIndicationPerResource_Item_sequence[] = {
  { &hf_f1ap_pRSResourceID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PRS_Resource_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSTransmissionOffIndicationPerResource_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSTransmissionOffIndicationPerResource_Item, PRSTransmissionOffIndicationPerResource_Item_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxnoofPRSresources_OF_PRSTransmissionOffIndicationPerResource_Item_sequence_of[1] = {
  { &hf_f1ap_pRSTransmissionOffIndicationPerResourceList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRSTransmissionOffIndicationPerResource_Item },
};

static int
dissect_f1ap_SEQUENCE_SIZE_1_maxnoofPRSresources_OF_PRSTransmissionOffIndicationPerResource_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SEQUENCE_SIZE_1_maxnoofPRSresources_OF_PRSTransmissionOffIndicationPerResource_Item, SEQUENCE_SIZE_1_maxnoofPRSresources_OF_PRSTransmissionOffIndicationPerResource_Item_sequence_of,
                                                  1, maxnoofPRSresources, false);

  return offset;
}


static const per_sequence_t PRSTransmissionOffPerResource_Item_sequence[] = {
  { &hf_f1ap_pRSResourceSetID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PRS_Resource_Set_ID },
  { &hf_f1ap_pRSTransmissionOffIndicationPerResourceList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SEQUENCE_SIZE_1_maxnoofPRSresources_OF_PRSTransmissionOffIndicationPerResource_Item },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSTransmissionOffPerResource_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSTransmissionOffPerResource_Item, PRSTransmissionOffPerResource_Item_sequence);

  return offset;
}


static const per_sequence_t PRSTransmissionOffPerResource_sequence_of[1] = {
  { &hf_f1ap_PRSTransmissionOffPerResource_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRSTransmissionOffPerResource_Item },
};

static int
dissect_f1ap_PRSTransmissionOffPerResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PRSTransmissionOffPerResource, PRSTransmissionOffPerResource_sequence_of,
                                                  1, maxnoofPRSresourceSets, false);

  return offset;
}


static const value_string f1ap_PRSTransmissionOffIndication_vals[] = {
  {   0, "pRSTransmissionOffPerTRP" },
  {   1, "pRSTransmissionOffPerResourceSet" },
  {   2, "pRSTransmissionOffPerResource" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t PRSTransmissionOffIndication_choice[] = {
  {   0, &hf_f1ap_pRSTransmissionOffPerTRP, ASN1_NO_EXTENSIONS     , dissect_f1ap_NULL },
  {   1, &hf_f1ap_pRSTransmissionOffPerResourceSet, ASN1_NO_EXTENSIONS     , dissect_f1ap_PRSTransmissionOffPerResourceSet },
  {   2, &hf_f1ap_pRSTransmissionOffPerResource, ASN1_NO_EXTENSIONS     , dissect_f1ap_PRSTransmissionOffPerResource },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_PRSTransmissionOffIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_PRSTransmissionOffIndication, PRSTransmissionOffIndication_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PRSTransmissionOffInformation_sequence[] = {
  { &hf_f1ap_pRSTransmissionOffIndication, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PRSTransmissionOffIndication },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSTransmissionOffInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSTransmissionOffInformation, PRSTransmissionOffInformation_sequence);

  return offset;
}


static const per_sequence_t PWS_Failed_NR_CGI_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_numberOfBroadcasts, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NumberOfBroadcasts },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PWS_Failed_NR_CGI_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PWS_Failed_NR_CGI_Item, PWS_Failed_NR_CGI_Item_sequence);

  return offset;
}



static int
dissect_f1ap_SIBType_PWS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            6U, 8U, &f1ap_data->sib_type, true);



  return offset;
}



static int
dissect_f1ap_T_sIBmessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_sIBmessage);
    switch (f1ap_data->sib_type) {
    case 6:
      dissect_nr_rrc_SIB6_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 7:
      dissect_nr_rrc_SIB7_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    case 8:
      dissect_nr_rrc_SIB8_PDU(param_tvb, actx->pinfo, subtree, NULL);
      break;
    default:
      break;
    }
  }


  return offset;
}


static const per_sequence_t PWSSystemInformation_sequence[] = {
  { &hf_f1ap_sIBtype        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SIBType_PWS },
  { &hf_f1ap_sIBmessage     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_sIBmessage },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PWSSystemInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PWSSystemInformation, PWSSystemInformation_sequence);

  return offset;
}


static const value_string f1ap_PrivacyIndicator_vals[] = {
  {   0, "immediate-MDT" },
  {   1, "logged-MDT" },
  { 0, NULL }
};


static int
dissect_f1ap_PrivacyIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_combSize_01_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n6" },
  {   3, "n12" },
  { 0, NULL }
};


static int
dissect_f1ap_T_combSize_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_resourceSetPeriodicity_01_vals[] = {
  {   0, "n4" },
  {   1, "n5" },
  {   2, "n8" },
  {   3, "n10" },
  {   4, "n16" },
  {   5, "n20" },
  {   6, "n32" },
  {   7, "n40" },
  {   8, "n64" },
  {   9, "n80" },
  {  10, "n160" },
  {  11, "n320" },
  {  12, "n640" },
  {  13, "n1280" },
  {  14, "n2560" },
  {  15, "n5120" },
  {  16, "n10240" },
  {  17, "n20480" },
  {  18, "n40960" },
  {  19, "n81920" },
  {  20, "n128" },
  {  21, "n256" },
  {  22, "n512" },
  { 0, NULL }
};


static int
dissect_f1ap_T_resourceSetPeriodicity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     20, NULL, true, 3, NULL);

  return offset;
}


static const value_string f1ap_T_resourceRepetitionFactor_01_vals[] = {
  {   0, "rf1" },
  {   1, "rf2" },
  {   2, "rf4" },
  {   3, "rf6" },
  {   4, "rf8" },
  {   5, "rf16" },
  {   6, "rf32" },
  { 0, NULL }
};


static int
dissect_f1ap_T_resourceRepetitionFactor_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_resourceNumberofSymbols_01_vals[] = {
  {   0, "n2" },
  {   1, "n4" },
  {   2, "n6" },
  {   3, "n12" },
  {   4, "n1" },
  { 0, NULL }
};


static int
dissect_f1ap_T_resourceNumberofSymbols_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 1, NULL);

  return offset;
}


static const per_sequence_t RequestedDLPRSResource_Item_sequence[] = {
  { &hf_f1ap_qCLInfo        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_PRSResource_QCLInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RequestedDLPRSResource_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RequestedDLPRSResource_Item, RequestedDLPRSResource_Item_sequence);

  return offset;
}


static const per_sequence_t RequestedDLPRSResource_List_sequence_of[1] = {
  { &hf_f1ap_RequestedDLPRSResource_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RequestedDLPRSResource_Item },
};

static int
dissect_f1ap_RequestedDLPRSResource_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_RequestedDLPRSResource_List, RequestedDLPRSResource_List_sequence_of,
                                                  1, maxnoofPRSresources, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_90060_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 90060U, NULL, true);

  return offset;
}


static const per_sequence_t StartTimeAndDuration_sequence[] = {
  { &hf_f1ap_startTime      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RelativeTime1900 },
  { &hf_f1ap_duration       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_90060_ },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_StartTimeAndDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_StartTimeAndDuration, StartTimeAndDuration_sequence);

  return offset;
}


static const per_sequence_t RequestedDLPRSResourceSet_Item_sequence[] = {
  { &hf_f1ap_pRSbandwidth   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_1_63 },
  { &hf_f1ap_combSize_01    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_T_combSize_01 },
  { &hf_f1ap_resourceSetPeriodicity_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_T_resourceSetPeriodicity_01 },
  { &hf_f1ap_resourceRepetitionFactor_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_T_resourceRepetitionFactor_01 },
  { &hf_f1ap_resourceNumberofSymbols_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_T_resourceNumberofSymbols_01 },
  { &hf_f1ap_requestedDLPRSResource_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RequestedDLPRSResource_List },
  { &hf_f1ap_resourceSetStartTimeAndDuration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_StartTimeAndDuration },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RequestedDLPRSResourceSet_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RequestedDLPRSResourceSet_Item, RequestedDLPRSResourceSet_Item_sequence);

  return offset;
}


static const per_sequence_t RequestedDLPRSResourceSet_List_sequence_of[1] = {
  { &hf_f1ap_RequestedDLPRSResourceSet_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RequestedDLPRSResourceSet_Item },
};

static int
dissect_f1ap_RequestedDLPRSResourceSet_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_RequestedDLPRSResourceSet_List, RequestedDLPRSResourceSet_List_sequence_of,
                                                  1, maxnoofPRSresourceSets, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 4U, NULL, false);

  return offset;
}


static const per_sequence_t RequestedDLPRSTransmissionCharacteristics_sequence[] = {
  { &hf_f1ap_requestedDLPRSResourceSet_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RequestedDLPRSResourceSet_List },
  { &hf_f1ap_numberofFrequencyLayers, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_1_4 },
  { &hf_f1ap_startTimeAndDuration, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_StartTimeAndDuration },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RequestedDLPRSTransmissionCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RequestedDLPRSTransmissionCharacteristics, RequestedDLPRSTransmissionCharacteristics_sequence);

  return offset;
}


static const per_sequence_t PRSTRPItem_sequence[] = {
  { &hf_f1ap_tRP_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPID },
  { &hf_f1ap_requestedDLPRSTransmissionCharacteristics, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RequestedDLPRSTransmissionCharacteristics },
  { &hf_f1ap_pRSTransmissionOffInformation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_PRSTransmissionOffInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSTRPItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSTRPItem, PRSTRPItem_sequence);

  return offset;
}


static const per_sequence_t PRSTRPList_sequence_of[1] = {
  { &hf_f1ap_PRSTRPList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRSTRPItem },
};

static int
dissect_f1ap_PRSTRPList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PRSTRPList, PRSTRPList_sequence_of,
                                                  1, maxnoofTRPs, false);

  return offset;
}


static const per_sequence_t PRSTransmissionTRPItem_sequence[] = {
  { &hf_f1ap_tRP_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPID },
  { &hf_f1ap_pRSConfiguration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PRSConfiguration },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSTransmissionTRPItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSTransmissionTRPItem, PRSTransmissionTRPItem_sequence);

  return offset;
}


static const per_sequence_t PRSTransmissionTRPList_sequence_of[1] = {
  { &hf_f1ap_PRSTransmissionTRPList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PRSTransmissionTRPItem },
};

static int
dissect_f1ap_PRSTransmissionTRPList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PRSTransmissionTRPList, PRSTransmissionTRPList_sequence_of,
                                                  1, maxnoofTRPs, false);

  return offset;
}


static const value_string f1ap_T_pduSetIntegratedHandlingInformation_vals[] = {
  {   0, "true" },
  {   1, "false" },
  { 0, NULL }
};


static int
dissect_f1ap_T_pduSetIntegratedHandlingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t PDUSetQoSInformation_sequence[] = {
  { &hf_f1ap_pduSetDelayBudget, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ExtendedPacketDelayBudget },
  { &hf_f1ap_pduSetErrorRate, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PacketErrorRate },
  { &hf_f1ap_pduSetIntegratedHandlingInformation, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_pduSetIntegratedHandlingInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PDUSetQoSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PDUSetQoSInformation, PDUSetQoSInformation_sequence);

  return offset;
}


static const per_sequence_t PDUSetQoSParameters_sequence[] = {
  { &hf_f1ap_ulPDUSetQoSInformation, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PDUSetQoSInformation },
  { &hf_f1ap_dlPDUSetQoSInformation, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PDUSetQoSInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PDUSetQoSParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PDUSetQoSParameters, PDUSetQoSParameters_sequence);

  return offset;
}


static const value_string f1ap_PSIbasedSDUdiscardUL_vals[] = {
  {   0, "start" },
  {   1, "stop" },
  { 0, NULL }
};


static int
dissect_f1ap_PSIbasedSDUdiscardUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_PointA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3279165U, NULL, false);

  return offset;
}


static const per_sequence_t QoEMetrics_sequence[] = {
  { &hf_f1ap_appLayerBufferLevelList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_AppLayerBufferLevelList },
  { &hf_f1ap_playoutDelayForMediaStartup, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_PlayoutDelayForMediaStartup },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_QoEMetrics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_QoEMetrics, QoEMetrics_sequence);

  return offset;
}


static const per_sequence_t QoEInformationList_Item_sequence[] = {
  { &hf_f1ap_qoEMetrics     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_QoEMetrics },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_QoEInformationList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_QoEInformationList_Item, QoEInformationList_Item_sequence);

  return offset;
}


static const per_sequence_t QoEInformationList_sequence_of[1] = {
  { &hf_f1ap_QoEInformationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_QoEInformationList_Item },
};

static int
dissect_f1ap_QoEInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_QoEInformationList, QoEInformationList_sequence_of,
                                                  1, maxnoofQoEInformation, false);

  return offset;
}


static const per_sequence_t QoEInformation_sequence[] = {
  { &hf_f1ap_qoEInformationList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_QoEInformationList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_QoEInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_QoEInformation, QoEInformation_sequence);

  return offset;
}


static const value_string f1ap_QoSFlowMappingIndication_vals[] = {
  {   0, "ul" },
  {   1, "dl" },
  { 0, NULL }
};


static int
dissect_f1ap_QoSFlowMappingIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_QosMonitoringRequest_vals[] = {
  {   0, "ul" },
  {   1, "dl" },
  {   2, "both" },
  {   3, "stop" },
  { 0, NULL }
};


static int
dissect_f1ap_QosMonitoringRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 1, NULL);

  return offset;
}



static int
dissect_f1ap_QoSParaSetNotifyIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 8U, NULL, true);

  return offset;
}


static const value_string f1ap_Range_vals[] = {
  {   0, "m50" },
  {   1, "m80" },
  {   2, "m180" },
  {   3, "m200" },
  {   4, "m350" },
  {   5, "m400" },
  {   6, "m500" },
  {   7, "m700" },
  {   8, "m1000" },
  { 0, NULL }
};


static int
dissect_f1ap_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     9, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_RAReportContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RAReportContainer);
    dissect_nr_rrc_RA_ReportList_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t RAReportItem_sequence[] = {
  { &hf_f1ap_rAReportContainer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RAReportContainer },
  { &hf_f1ap_uEAssitantIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_GNB_DU_UE_F1AP_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RAReportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RAReportItem, RAReportItem_sequence);

  return offset;
}


static const per_sequence_t RAReportList_sequence_of[1] = {
  { &hf_f1ap_RAReportList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RAReportItem },
};

static int
dissect_f1ap_RAReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_RAReportList, RAReportList_sequence_of,
                                                  1, maxnoofRAReports, false);

  return offset;
}


static const per_sequence_t RAReportIndicationList_Item_sequence[] = {
  { &hf_f1ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_CU_UE_F1AP_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RAReportIndicationList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RAReportIndicationList_Item, RAReportIndicationList_Item_sequence);

  return offset;
}


static const per_sequence_t RAReportIndicationList_sequence_of[1] = {
  { &hf_f1ap_RAReportIndicationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RAReportIndicationList_Item },
};

static int
dissect_f1ap_RAReportIndicationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_RAReportIndicationList, RAReportIndicationList_sequence_of,
                                                  1, maxnoofUEsforRAReportIndications, false);

  return offset;
}


static const per_sequence_t RadioResourceStatusNR_U_sequence[] = {
  { &hf_f1ap_dl_Total_PRB_usage, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_ul_Total_PRB_usage, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RadioResourceStatusNR_U(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RadioResourceStatusNR_U, RadioResourceStatusNR_U_sequence);

  return offset;
}


static const per_sequence_t MIMOPRBusageInformation_sequence[] = {
  { &hf_f1ap_dl_GBR_PRB_usage_for_MIMO, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_ul_GBR_PRB_usage_for_MIMO, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_dl_non_GBR_PRB_usage_for_MIMO, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_ul_non_GBR_PRB_usage_for_MIMO, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_dl_Total_PRB_usage_for_MIMO, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_ul_Total_PRB_usage_for_MIMO, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MIMOPRBusageInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MIMOPRBusageInformation, MIMOPRBusageInformation_sequence);

  return offset;
}


static const per_sequence_t RANfeedbacktype_proactive_sequence[] = {
  { &hf_f1ap_burstArrivalTimeWindow, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BurstArrivalTimeWindow },
  { &hf_f1ap_periodicityRange, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_PeriodicityRange },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RANfeedbacktype_proactive(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RANfeedbacktype_proactive, RANfeedbacktype_proactive_sequence);

  return offset;
}


static const value_string f1ap_T_capabilityForBATAdaptation_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_T_capabilityForBATAdaptation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t RANfeedbacktype_reactive_sequence[] = {
  { &hf_f1ap_capabilityForBATAdaptation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_capabilityForBATAdaptation },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RANfeedbacktype_reactive(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RANfeedbacktype_reactive, RANfeedbacktype_reactive_sequence);

  return offset;
}


static const value_string f1ap_RANfeedbacktype_vals[] = {
  {   0, "proactive" },
  {   1, "reactive" },
  {   2, "choice-extensions" },
  { 0, NULL }
};

static const per_choice_t RANfeedbacktype_choice[] = {
  {   0, &hf_f1ap_proactive      , ASN1_NO_EXTENSIONS     , dissect_f1ap_RANfeedbacktype_proactive },
  {   1, &hf_f1ap_reactive       , ASN1_NO_EXTENSIONS     , dissect_f1ap_RANfeedbacktype_reactive },
  {   2, &hf_f1ap_choice_extensions, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_RANfeedbacktype(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_RANfeedbacktype, RANfeedbacktype_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_RANSharingAssistanceInformation_vals[] = {
  {   0, "mbs-session-in-non-shared-cell-resources" },
  { 0, NULL }
};


static int
dissect_f1ap_RANSharingAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_RANTSSRequestType_vals[] = {
  {   0, "start" },
  {   1, "stop" },
  { 0, NULL }
};


static int
dissect_f1ap_RANTSSRequestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_synchronisationstate_vals[] = {
  {   0, "locked" },
  {   1, "holdover" },
  {   2, "freeRun" },
  { 0, NULL }
};


static int
dissect_f1ap_T_synchronisationstate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_traceabletoUTC_vals[] = {
  {   0, "true" },
  {   1, "false" },
  { 0, NULL }
};


static int
dissect_f1ap_T_traceabletoUTC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_traceabletoGNSS_vals[] = {
  {   0, "true" },
  {   1, "false" },
  { 0, NULL }
};


static int
dissect_f1ap_T_traceabletoGNSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_40000000_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 40000000U, NULL, true);

  return offset;
}



static int
dissect_f1ap_INTEGER_32_47_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            32U, 47U, NULL, true);

  return offset;
}


static const value_string f1ap_ClockAccuracy_vals[] = {
  {   0, "clockAccuracyValue" },
  {   1, "clockAccuracyIndex" },
  {   2, "choice-Extensions" },
  { 0, NULL }
};

static const per_choice_t ClockAccuracy_choice[] = {
  {   0, &hf_f1ap_clockAccuracyValue, ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_1_40000000_ },
  {   1, &hf_f1ap_clockAccuracyIndex, ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_32_47_ },
  {   2, &hf_f1ap_choice_Extensions, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_ClockAccuracy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_ClockAccuracy, ClockAccuracy_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t RANTimingSynchronisationStatusInfo_sequence[] = {
  { &hf_f1ap_synchronisationstate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_T_synchronisationstate },
  { &hf_f1ap_traceabletoUTC , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_T_traceabletoUTC },
  { &hf_f1ap_traceabletoGNSS, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_T_traceabletoGNSS },
  { &hf_f1ap_clockFrequencyStability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BIT_STRING_SIZE_16 },
  { &hf_f1ap_clockAccuracy  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ClockAccuracy },
  { &hf_f1ap_parentTimeSource, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ParentTImeSource },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RANTimingSynchronisationStatusInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RANTimingSynchronisationStatusInfo, RANTimingSynchronisationStatusInfo_sequence);

  return offset;
}



static int
dissect_f1ap_RAN_MeasurementID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 65536U, NULL, true);

  return offset;
}



static int
dissect_f1ap_RAN_UE_MeasurementID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 256U, NULL, true);

  return offset;
}



static int
dissect_f1ap_RAN_UE_PDC_MeasID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 16U, NULL, true);

  return offset;
}



static int
dissect_f1ap_RANUEID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       8, 8, false, NULL);

  return offset;
}



static int
dissect_f1ap_SubscriberProfileIDforRFP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 256U, NULL, true);

  return offset;
}



static int
dissect_f1ap_RAT_FrequencySelectionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 256U, NULL, true);

  return offset;
}


static const value_string f1ap_RAT_FrequencyPriorityInformation_vals[] = {
  {   0, "eNDC" },
  {   1, "nGRAN" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t RAT_FrequencyPriorityInformation_choice[] = {
  {   0, &hf_f1ap_eNDC           , ASN1_NO_EXTENSIONS     , dissect_f1ap_SubscriberProfileIDforRFP },
  {   1, &hf_f1ap_nGRAN          , ASN1_NO_EXTENSIONS     , dissect_f1ap_RAT_FrequencySelectionPriority },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_RAT_FrequencyPriorityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_RAT_FrequencyPriorityInformation, RAT_FrequencyPriorityInformation_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_RBSetSize_vals[] = {
  {   0, "rb2" },
  {   1, "rb4" },
  {   2, "rb8" },
  {   3, "rb16" },
  {   4, "rb32" },
  {   5, "rb64" },
  { 0, NULL }
};


static int
dissect_f1ap_RBSetSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, false, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_maxnoofRBsetsPerCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, maxnoofRBsetsPerCell, NULL, false);

  return offset;
}


static const per_sequence_t RBSetConfiguration_sequence[] = {
  { &hf_f1ap_subcarrierSpacing_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SubcarrierSpacing },
  { &hf_f1ap_rBSetSize      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RBSetSize },
  { &hf_f1ap_nUmberRBsets   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_maxnoofRBsetsPerCell },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RBSetConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RBSetConfiguration, RBSetConfiguration_sequence);

  return offset;
}


static const value_string f1ap_Re_routingEnableIndicator_vals[] = {
  {   0, "true" },
  {   1, "false" },
  { 0, NULL }
};


static int
dissect_f1ap_Re_routingEnableIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t SSBs_forPaging_List_sequence_of[1] = {
  { &hf_f1ap_SSBs_forPaging_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_Index },
};

static int
dissect_f1ap_SSBs_forPaging_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SSBs_forPaging_List, SSBs_forPaging_List_sequence_of,
                                                  1, maxnoofSSBAreas, false);

  return offset;
}


static const per_sequence_t Recommended_SSBs_for_Paging_List_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_sSBs_forPaging_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSBs_forPaging_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Recommended_SSBs_for_Paging_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Recommended_SSBs_for_Paging_List_Item, Recommended_SSBs_for_Paging_List_Item_sequence);

  return offset;
}


static const per_sequence_t Recommended_SSBs_for_Paging_List_sequence_of[1] = {
  { &hf_f1ap_Recommended_SSBs_for_Paging_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Recommended_SSBs_for_Paging_List_Item },
};

static int
dissect_f1ap_Recommended_SSBs_for_Paging_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Recommended_SSBs_for_Paging_List, Recommended_SSBs_for_Paging_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}



static int
dissect_f1ap_Redcap_Bcast_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     8, 8, false, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string f1ap_RedCapIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_RedCapIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_Reestablishment_Indication_vals[] = {
  {   0, "reestablished" },
  { 0, NULL }
};


static int
dissect_f1ap_Reestablishment_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_ReferenceSFN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1023U, NULL, false);

  return offset;
}


static const value_string f1ap_ReferenceSignal_vals[] = {
  {   0, "nZP-CSI-RS" },
  {   1, "sSB" },
  {   2, "sRS" },
  {   3, "positioningSRS" },
  {   4, "dL-PRS" },
  {   5, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t ReferenceSignal_choice[] = {
  {   0, &hf_f1ap_nZP_CSI_RS     , ASN1_NO_EXTENSIONS     , dissect_f1ap_NZP_CSI_RS_ResourceID },
  {   1, &hf_f1ap_sSB            , ASN1_NO_EXTENSIONS     , dissect_f1ap_SSB },
  {   2, &hf_f1ap_sRS            , ASN1_NO_EXTENSIONS     , dissect_f1ap_SRSResourceID },
  {   3, &hf_f1ap_positioningSRS , ASN1_NO_EXTENSIONS     , dissect_f1ap_SRSPosResourceID },
  {   4, &hf_f1ap_dL_PRS         , ASN1_NO_EXTENSIONS     , dissect_f1ap_DL_PRS },
  {   5, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_ReferenceSignal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_ReferenceSignal, ReferenceSignal_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_ReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ReferenceTime);
    dissect_nr_rrc_ReferenceTime_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_RegistrationRequest_vals[] = {
  {   0, "start" },
  {   1, "stop" },
  {   2, "add" },
  { 0, NULL }
};


static int
dissect_f1ap_RegistrationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_ReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *parameter_tvb = NULL;
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     32, 32, false, NULL, 0, &parameter_tvb, NULL);

  if(parameter_tvb){
    static int * const fields[] = {
      &hf_f1ap_ReportCharacteristics_PRBPeriodic,
      &hf_f1ap_ReportCharacteristics_TNLCapacityIndPeriodic,
      &hf_f1ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic,
      &hf_f1ap_ReportCharacteristics_HWLoadIndPeriodic,
      &hf_f1ap_ReportCharacteristics_NumberOfActiveUEs,
      &hf_f1ap_ReportCharacteristics_Reserved,
      NULL
    };
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ReportCharacteristics);
    proto_tree_add_bitmask_list(subtree, parameter_tvb, 0, 4, fields, ENC_BIG_ENDIAN);
  }


  return offset;
}



static int
dissect_f1ap_ReportingGranularitykminus1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3940097U, NULL, false);

  return offset;
}



static int
dissect_f1ap_ReportingGranularitykminus2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 7880193U, NULL, false);

  return offset;
}



static int
dissect_f1ap_ReportingGranularitykminus3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 15760385U, NULL, false);

  return offset;
}



static int
dissect_f1ap_ReportingGranularitykminus4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 31520769U, NULL, false);

  return offset;
}



static int
dissect_f1ap_ReportingGranularitykminus5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 63041537U, NULL, false);

  return offset;
}



static int
dissect_f1ap_ReportingGranularitykminus6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 126083073U, NULL, false);

  return offset;
}



static int
dissect_f1ap_ReportingGranularitykminus1AdditionalPath(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 32701U, NULL, false);

  return offset;
}



static int
dissect_f1ap_ReportingGranularitykminus2AdditionalPath(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 65401U, NULL, false);

  return offset;
}



static int
dissect_f1ap_ReportingGranularitykminus3AdditionalPath(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 130801U, NULL, false);

  return offset;
}



static int
dissect_f1ap_ReportingGranularitykminus4AdditionalPath(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 261601U, NULL, false);

  return offset;
}



static int
dissect_f1ap_ReportingGranularitykminus5AdditionalPath(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 523201U, NULL, false);

  return offset;
}



static int
dissect_f1ap_ReportingGranularitykminus6AdditionalPath(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1046401U, NULL, false);

  return offset;
}


static const value_string f1ap_ReportingPeriodicity_vals[] = {
  {   0, "ms500" },
  {   1, "ms1000" },
  {   2, "ms2000" },
  {   3, "ms5000" },
  {   4, "ms10000" },
  { 0, NULL }
};


static int
dissect_f1ap_ReportingPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_RequestedBandCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RequestedBandCombinationIndex);
    dissect_nr_rrc_BandCombinationIndex_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_RequestedFeatureSetEntryIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RequestedFeatureSetEntryIndex);
    dissect_nr_rrc_FeatureSetEntryIndex_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_RequestedP_MaxFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RequestedP_MaxFR2);
    dissect_nr_rrc_P_Max_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_Requested_PDCCH_BlindDetectionSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *parameter_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);

  if (parameter_tvb) {
    actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 1, ENC_BIG_ENDIAN);
  }


  return offset;
}



static int
dissect_f1ap_INTEGER_0_500_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 500U, NULL, true);

  return offset;
}


static const value_string f1ap_T_resourceType_01_vals[] = {
  {   0, "periodic" },
  {   1, "semi-persistent" },
  {   2, "aperiodic" },
  { 0, NULL }
};


static int
dissect_f1ap_T_resourceType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_16_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 16U, NULL, true);

  return offset;
}


static const per_sequence_t SpatialRelationforResourceIDItem_sequence[] = {
  { &hf_f1ap_referenceSignal, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ReferenceSignal },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SpatialRelationforResourceIDItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SpatialRelationforResourceIDItem, SpatialRelationforResourceIDItem_sequence);

  return offset;
}


static const per_sequence_t SpatialRelationforResourceID_sequence_of[1] = {
  { &hf_f1ap_SpatialRelationforResourceID_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SpatialRelationforResourceIDItem },
};

static int
dissect_f1ap_SpatialRelationforResourceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SpatialRelationforResourceID, SpatialRelationforResourceID_sequence_of,
                                                  1, maxnoofSpatialRelations, false);

  return offset;
}


static const per_sequence_t SpatialRelationInfo_sequence[] = {
  { &hf_f1ap_spatialRelationforResourceID, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SpatialRelationforResourceID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SpatialRelationInfo, SpatialRelationInfo_sequence);

  return offset;
}


static const per_sequence_t SRSResourceSetItem_sequence[] = {
  { &hf_f1ap_numSRSresourcesperset, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_1_16_ },
  { &hf_f1ap_periodicityList_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PeriodicityList },
  { &hf_f1ap_spatialRelationInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_SpatialRelationInfo },
  { &hf_f1ap_pathlossReferenceInfo, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PathlossReferenceInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRSResourceSetItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRSResourceSetItem, SRSResourceSetItem_sequence);

  return offset;
}


static const per_sequence_t SRSResourceSetList_sequence_of[1] = {
  { &hf_f1ap_SRSResourceSetList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSResourceSetItem },
};

static int
dissect_f1ap_SRSResourceSetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRSResourceSetList, SRSResourceSetList_sequence_of,
                                                  1, maxnoSRS_ResourceSets, false);

  return offset;
}


static const per_sequence_t RequestedSRSTransmissionCharacteristics_sequence[] = {
  { &hf_f1ap_numberOfTransmissions, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_500_ },
  { &hf_f1ap_resourceType_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_resourceType_01 },
  { &hf_f1ap_bandwidthSRS   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BandwidthSRS },
  { &hf_f1ap_sRSResourceSetList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_SRSResourceSetList },
  { &hf_f1ap_sSBInformation , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_SSBInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RequestedSRSTransmissionCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RequestedSRSTransmissionCharacteristics, RequestedSRSTransmissionCharacteristics_sequence);

  return offset;
}


static const per_sequence_t RequestedSRSPreconfigurationCharacteristics_Item_sequence[] = {
  { &hf_f1ap_requestedSRSTransmissionCharacteristics, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RequestedSRSTransmissionCharacteristics },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RequestedSRSPreconfigurationCharacteristics_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RequestedSRSPreconfigurationCharacteristics_Item, RequestedSRSPreconfigurationCharacteristics_Item_sequence);

  return offset;
}


static const per_sequence_t RequestedSRSPreconfigurationCharacteristics_List_sequence_of[1] = {
  { &hf_f1ap_RequestedSRSPreconfigurationCharacteristics_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RequestedSRSPreconfigurationCharacteristics_Item },
};

static int
dissect_f1ap_RequestedSRSPreconfigurationCharacteristics_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_RequestedSRSPreconfigurationCharacteristics_List, RequestedSRSPreconfigurationCharacteristics_List_sequence_of,
                                                  1, maxnoPreconfiguredSRS, false);

  return offset;
}


static const value_string f1ap_RequestType_vals[] = {
  {   0, "offer" },
  {   1, "execution" },
  { 0, NULL }
};


static int
dissect_f1ap_RequestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t ResourceCoordinationEUTRACellInfo_sequence[] = {
  { &hf_f1ap_eUTRA_Mode_Info, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Coex_Mode_Info },
  { &hf_f1ap_eUTRA_PRACH_Configuration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_PRACH_Configuration },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceCoordinationEUTRACellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceCoordinationEUTRACellInfo, ResourceCoordinationEUTRACellInfo_sequence);

  return offset;
}


static const per_sequence_t ResourceCoordinationTransferInformation_sequence[] = {
  { &hf_f1ap_meNB_Cell_ID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_EUTRA_Cell_ID },
  { &hf_f1ap_resourceCoordinationEUTRACellInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ResourceCoordinationEUTRACellInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceCoordinationTransferInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceCoordinationTransferInformation, ResourceCoordinationTransferInformation_sequence);

  return offset;
}



static int
dissect_f1ap_ResourceCoordinationTransferContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree;
    f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);

    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ResourceCoordinationTransferContainer);
    switch (f1ap_data->message_type) {
    case INITIATING_MESSAGE:
      switch (f1ap_data->procedure_code) {
      case id_UEContextSetup:
      case id_UEContextModification:
        dissect_x2ap_MeNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
        break;
      case id_UEContextModificationRequired:
        dissect_x2ap_SgNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
        break;
      default:
        break;
      }
      break;
    case SUCCESSFUL_OUTCOME:
      switch (f1ap_data->procedure_code) {
      case id_UEContextSetup:
      case id_UEContextModification:
        dissect_x2ap_SgNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
        break;
      case id_UEContextModificationRequired:
        dissect_x2ap_MeNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
        break;
      default:
        break;
      }
      break;
    default:
      break;
    }
  }


  return offset;
}


static const value_string f1ap_T_nrofSumbols_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n12" },
  { 0, NULL }
};


static int
dissect_f1ap_T_nrofSumbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, false, 0, NULL);

  return offset;
}


static const per_sequence_t ResourceMapping_sequence[] = {
  { &hf_f1ap_startPosition  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_13 },
  { &hf_f1ap_nrofSumbols    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_nrofSumbols },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceMapping, ResourceMapping_sequence);

  return offset;
}


static const value_string f1ap_RepetitionFactorExtended_vals[] = {
  {   0, "n3" },
  {   1, "n5" },
  {   2, "n6" },
  {   3, "n7" },
  {   4, "n8" },
  {   5, "n10" },
  {   6, "n12" },
  {   7, "n14" },
  { 0, NULL }
};


static int
dissect_f1ap_RepetitionFactorExtended(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_RepetitionPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 131071U, NULL, true);

  return offset;
}


static const per_sequence_t ReportingRequestType_sequence[] = {
  { &hf_f1ap_eventType      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_EventType },
  { &hf_f1ap_reportingPeriodicityValue, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ReportingPeriodicityValue },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ReportingRequestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ReportingRequestType, ReportingRequestType_sequence);

  return offset;
}


static const per_sequence_t RLCDuplicationState_Item_sequence[] = {
  { &hf_f1ap_duplicationState, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_DuplicationState },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RLCDuplicationState_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RLCDuplicationState_Item, RLCDuplicationState_Item_sequence);

  return offset;
}


static const per_sequence_t RLCDuplicationStateList_sequence_of[1] = {
  { &hf_f1ap_RLCDuplicationStateList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCDuplicationState_Item },
};

static int
dissect_f1ap_RLCDuplicationStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_RLCDuplicationStateList, RLCDuplicationStateList_sequence_of,
                                                  1, maxnoofRLCDuplicationState, false);

  return offset;
}


static const per_sequence_t RLCDuplicationInformation_sequence[] = {
  { &hf_f1ap_rLCDuplicationStateList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCDuplicationStateList },
  { &hf_f1ap_primaryPathIndication, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PrimaryPathIndication },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RLCDuplicationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RLCDuplicationInformation, RLCDuplicationInformation_sequence);

  return offset;
}


static const per_sequence_t RLCFailureIndication_sequence[] = {
  { &hf_f1ap_assocatedLCID  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_LCID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RLCFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RLCFailureIndication, RLCFailureIndication_sequence);

  return offset;
}


static const per_sequence_t RLC_Status_sequence[] = {
  { &hf_f1ap_reestablishment_Indication, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Reestablishment_Indication },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RLC_Status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RLC_Status, RLC_Status_sequence);

  return offset;
}


static const per_sequence_t RLFReportInformationItem_sequence[] = {
  { &hf_f1ap_nRUERLFReportContainer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRUERLFReportContainer },
  { &hf_f1ap_uEAssitantIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_GNB_DU_UE_F1AP_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RLFReportInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RLFReportInformationItem, RLFReportInformationItem_sequence);

  return offset;
}


static const per_sequence_t RLFReportInformationList_sequence_of[1] = {
  { &hf_f1ap_RLFReportInformationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RLFReportInformationItem },
};

static int
dissect_f1ap_RLFReportInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_RLFReportInformationList, RLFReportInformationList_sequence_of,
                                                  1, maxnoofRLFReports, false);

  return offset;
}



static int
dissect_f1ap_RRCContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree;
    f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);

    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RRCContainer);
    switch (f1ap_data->message_type) {
    case INITIATING_MESSAGE:
      switch (f1ap_data->procedure_code) {
      case id_InitialULRRCMessageTransfer:
        col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
        col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
        col_set_fence(actx->pinfo->cinfo, COL_INFO);
        switch (tvb_captured_length(param_tvb)){
          case 6:
            call_dissector(nr_rrc_ul_ccch_handle, param_tvb, actx->pinfo, subtree);
            break;
          case 8:
            call_dissector(nr_rrc_ul_ccch1_handle, param_tvb, actx->pinfo, subtree);
            break;
          default:
            break;
        }
        break;
      case id_ULRRCMessageTransfer:
        switch (f1ap_data->srb_id) {
        case 1:
        case 2:
        case 3:
          col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
          col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
          col_set_fence(actx->pinfo->cinfo, COL_INFO);
          add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_UPLINK, f1ap_data->srb_id);
          call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree);
          break;
        default:
          break;
        }
        break;
      case id_DLRRCMessageTransfer:
      case id_UEContextRelease:
        switch (f1ap_data->srb_id) {
        case 0:
          col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
          col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
          col_set_fence(actx->pinfo->cinfo, COL_INFO);
          call_dissector(nr_rrc_dl_ccch_handle, param_tvb, actx->pinfo, subtree);
          break;
        case 1:
        case 2:
        case 3:
          col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
          col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
          col_set_fence(actx->pinfo->cinfo, COL_INFO);
          add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_DOWNLINK, f1ap_data->srb_id);
          call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree);
          break;
        default:
          break;
        }
        break;
      case id_UEContextSetup:
      case id_UEContextModification:
        col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
        col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
        col_set_fence(actx->pinfo->cinfo, COL_INFO);
        add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_DOWNLINK, 1);
        call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree);
        break;
      default:
        break;
      }
      break;
    case SUCCESSFUL_OUTCOME:
      switch (f1ap_data->procedure_code) {
      case id_UEContextModificationRequired:
        col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
        col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
        col_set_fence(actx->pinfo->cinfo, COL_INFO);
        add_nr_pdcp_meta_data(actx->pinfo, PDCP_NR_DIRECTION_DOWNLINK, 1);
        call_dissector(nr_pdcp_handle, param_tvb, actx->pinfo, subtree);
        break;
      default:
        break;
      }
      break;
    default:
      break;
    }
  }


  return offset;
}



static int
dissect_f1ap_RRCContainer_RRCSetupComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_RRCContainer_RRCSetupComplete);
    col_append_str(actx->pinfo->cinfo, COL_PROTOCOL, "/");
    col_set_fence(actx->pinfo->cinfo, COL_PROTOCOL);
    col_set_fence(actx->pinfo->cinfo, COL_INFO);
    call_dissector(nr_rrc_ul_dcch_handle, param_tvb, actx->pinfo, subtree);
  }


  return offset;
}


static const per_sequence_t RRCDeliveryStatus_sequence[] = {
  { &hf_f1ap_delivery_status, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PDCP_SN },
  { &hf_f1ap_triggering_message, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PDCP_SN },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RRCDeliveryStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RRCDeliveryStatus, RRCDeliveryStatus_sequence);

  return offset;
}


static const value_string f1ap_RRCDeliveryStatusRequest_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_RRCDeliveryStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_RRCReconfigurationCompleteIndicator_vals[] = {
  {   0, "true" },
  {   1, "failure" },
  { 0, NULL }
};


static int
dissect_f1ap_RRCReconfigurationCompleteIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 1, NULL);

  return offset;
}


static const per_sequence_t RRC_Terminating_IAB_Donor_Related_Info_sequence[] = {
  { &hf_f1ap_rRC_TerminatingIAB_Donor_gNB_ID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GlobalGNB_ID },
  { &hf_f1ap_mobileIAB_MT_BAP_Address, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BAPAddress },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RRC_Terminating_IAB_Donor_Related_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RRC_Terminating_IAB_Donor_Related_Info, RRC_Terminating_IAB_Donor_Related_Info_sequence);

  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     3, 3, false, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t RRC_Version_sequence[] = {
  { &hf_f1ap_latest_RRC_Version, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BIT_STRING_SIZE_3 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RRC_Version(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RRC_Version, RRC_Version_sequence);

  return offset;
}



static int
dissect_f1ap_Latest_RRC_Version_Enhanced(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       3, 3, false, &param_tvb);


  if (param_tvb) {
    proto_item_set_text(actx->created_item, "%u.%u.%u", tvb_get_uint8(param_tvb, 0), tvb_get_uint8(param_tvb, 1), tvb_get_uint8(param_tvb, 2));
  }

  return offset;
}



static int
dissect_f1ap_RoutingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_128_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 128U, NULL, true);

  return offset;
}


static const value_string f1ap_T_timeUnit_vals[] = {
  {   0, "second" },
  {   1, "ten-seconds" },
  {   2, "ten-milliseconds" },
  { 0, NULL }
};


static int
dissect_f1ap_T_timeUnit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t ResponseTime_sequence[] = {
  { &hf_f1ap_time           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_128_ },
  { &hf_f1ap_timeUnit       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_timeUnit },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResponseTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResponseTime, ResponseTime_sequence);

  return offset;
}


static const value_string f1ap_RxTxTimingErrorMargin_vals[] = {
  {   0, "tc0dot5" },
  {   1, "tc1" },
  {   2, "tc2" },
  {   3, "tc4" },
  {   4, "tc8" },
  {   5, "tc12" },
  {   6, "tc16" },
  {   7, "tc20" },
  {   8, "tc24" },
  {   9, "tc32" },
  {  10, "tc40" },
  {  11, "tc48" },
  {  12, "tc64" },
  {  13, "tc80" },
  {  14, "tc96" },
  {  15, "tc128" },
  { 0, NULL }
};


static int
dissect_f1ap_RxTxTimingErrorMargin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t SCell_FailedtoSetup_Item_sequence[] = {
  { &hf_f1ap_sCell_ID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SCell_FailedtoSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SCell_FailedtoSetup_Item, SCell_FailedtoSetup_Item_sequence);

  return offset;
}


static const per_sequence_t SCell_FailedtoSetupMod_Item_sequence[] = {
  { &hf_f1ap_sCell_ID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SCell_FailedtoSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SCell_FailedtoSetupMod_Item, SCell_FailedtoSetupMod_Item_sequence);

  return offset;
}


static const per_sequence_t SCell_ToBeRemoved_Item_sequence[] = {
  { &hf_f1ap_sCell_ID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SCell_ToBeRemoved_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SCell_ToBeRemoved_Item, SCell_ToBeRemoved_Item_sequence);

  return offset;
}



static int
dissect_f1ap_SCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 31U, NULL, true);

  return offset;
}


static const per_sequence_t SCell_ToBeSetup_Item_sequence[] = {
  { &hf_f1ap_sCell_ID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_sCellIndex     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SCellIndex },
  { &hf_f1ap_sCellULConfigured, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_CellULConfigured },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SCell_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SCell_ToBeSetup_Item, SCell_ToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t SCell_ToBeSetupMod_Item_sequence[] = {
  { &hf_f1ap_sCell_ID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_sCellIndex     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SCellIndex },
  { &hf_f1ap_sCellULConfigured, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_CellULConfigured },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SCell_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SCell_ToBeSetupMod_Item, SCell_ToBeSetupMod_Item_sequence);

  return offset;
}


static const value_string f1ap_SCGActivationRequest_vals[] = {
  {   0, "activate-scg" },
  {   1, "deactivate-scg" },
  { 0, NULL }
};


static int
dissect_f1ap_SCGActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_SCGActivationStatus_vals[] = {
  {   0, "scg-activated" },
  {   1, "scg-deactivated" },
  { 0, NULL }
};


static int
dissect_f1ap_SCGActivationStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_SCGIndicator_vals[] = {
  {   0, "released" },
  { 0, NULL }
};


static int
dissect_f1ap_SCGIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_SCPAC_Request_vals[] = {
  {   0, "initiation" },
  { 0, NULL }
};


static int
dissect_f1ap_SCPAC_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t S_CPAC_Configuration_sequence[] = {
  { &hf_f1ap_referenceConfigurationInformation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ReferenceConfigurationInformation },
  { &hf_f1ap_completeConfigurationIndicator, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_CompleteConfigurationIndicator },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_S_CPAC_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_S_CPAC_Configuration, S_CPAC_Configuration_sequence);

  return offset;
}


static const value_string f1ap_S_CPACLowerLayerReferenceConfigRequest_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_S_CPACLowerLayerReferenceConfigRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_SCS_480(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 319U, NULL, false);

  return offset;
}



static int
dissect_f1ap_SCS_960(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 639U, NULL, false);

  return offset;
}


static const value_string f1ap_T_subcarrierSpacing_02_vals[] = {
  {   0, "kHz15" },
  {   1, "kHz30" },
  {   2, "kHz60" },
  {   3, "kHz120" },
  {   4, "kHz480" },
  {   5, "kHz960" },
  { 0, NULL }
};


static int
dissect_f1ap_T_subcarrierSpacing_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 2, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_275_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 275U, NULL, true);

  return offset;
}


static const per_sequence_t SCS_SpecificCarrier_sequence[] = {
  { &hf_f1ap_offsetToCarrier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_2199_ },
  { &hf_f1ap_subcarrierSpacing_03, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_subcarrierSpacing_02 },
  { &hf_f1ap_carrierBandwidth_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_275_ },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SCS_SpecificCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SCS_SpecificCarrier, SCS_SpecificCarrier_sequence);

  return offset;
}


static const value_string f1ap_SDTBearerConfigurationQueryIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_SDTBearerConfigurationQueryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_SRBID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3U, &f1ap_data->srb_id, true);



  return offset;
}


static const value_string f1ap_SDTBearerType_vals[] = {
  {   0, "sRB" },
  {   1, "dRB" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t SDTBearerType_choice[] = {
  {   0, &hf_f1ap_sRB            , ASN1_NO_EXTENSIONS     , dissect_f1ap_SRBID },
  {   1, &hf_f1ap_dRB            , ASN1_NO_EXTENSIONS     , dissect_f1ap_DRBID },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_SDTBearerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_SDTBearerType, SDTBearerType_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_SDTRLCBearerConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SDTRLCBearerConfiguration);
    dissect_nr_rrc_RLC_BearerConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t SDTBearerConfig_List_Item_sequence[] = {
  { &hf_f1ap_sDTBearerType  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SDTBearerType },
  { &hf_f1ap_sDTRLCBearerConfiguration, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SDTRLCBearerConfiguration },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SDTBearerConfig_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SDTBearerConfig_List_Item, SDTBearerConfig_List_Item_sequence);

  return offset;
}


static const per_sequence_t SDTBearerConfig_List_sequence_of[1] = {
  { &hf_f1ap_SDTBearerConfig_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SDTBearerConfig_List_Item },
};

static int
dissect_f1ap_SDTBearerConfig_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SDTBearerConfig_List, SDTBearerConfig_List_sequence_of,
                                                  1, maxnoofSDTBearers, false);

  return offset;
}


static const per_sequence_t SDTBearerConfigurationInfo_sequence[] = {
  { &hf_f1ap_sDTBearerConfig_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SDTBearerConfig_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SDTBearerConfigurationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SDTBearerConfigurationInfo, SDTBearerConfigurationInfo_sequence);

  return offset;
}



static int
dissect_f1ap_SDT_MAC_PHY_CG_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SDT_MAC_PHY_CG_Config);
    dissect_nr_rrc_SDT_MAC_PHY_CG_Config_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_T_sdtIndicator_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_T_sdtIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_sdtAssistantInformation_vals[] = {
  {   0, "singlepacket" },
  {   1, "multiplepackets" },
  { 0, NULL }
};


static int
dissect_f1ap_T_sdtAssistantInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t SDTInformation_sequence[] = {
  { &hf_f1ap_sdtIndicator   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_sdtIndicator },
  { &hf_f1ap_sdtAssistantInformation, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_sdtAssistantInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SDTInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SDTInformation, SDTInformation_sequence);

  return offset;
}


static const value_string f1ap_SDT_Termination_Request_vals[] = {
  {   0, "radio-link-problem" },
  {   1, "normal" },
  {   2, "sdt-volume-threshold-crossed" },
  { 0, NULL }
};


static int
dissect_f1ap_SDT_Termination_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 1, NULL);

  return offset;
}



static int
dissect_f1ap_SDT_Volume_Threshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 192000U, NULL, true);

  return offset;
}



static int
dissect_f1ap_INTEGER_M3841_3841_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -3841, 3841U, NULL, true);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_246_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 246U, NULL, true);

  return offset;
}


static const per_sequence_t Search_window_information_sequence[] = {
  { &hf_f1ap_expectedPropagationDelay, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M3841_3841_ },
  { &hf_f1ap_delayUncertainty, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_246_ },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Search_window_information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Search_window_information, Search_window_information_sequence);

  return offset;
}



static int
dissect_f1ap_SelectedBandCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, NULL);

  return offset;
}



static int
dissect_f1ap_SelectedFeatureSetEntryIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, NULL);

  return offset;
}



static int
dissect_f1ap_ServCellInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, NULL);

  return offset;
}



static int
dissect_f1ap_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 31U, NULL, true);

  return offset;
}



static int
dissect_f1ap_ServingCellMO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 64U, NULL, true);

  return offset;
}


static const per_sequence_t ServingCellMO_List_Item_sequence[] = {
  { &hf_f1ap_servingCellMO  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ServingCellMO },
  { &hf_f1ap_sSB_Frequency  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3279165 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ServingCellMO_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ServingCellMO_List_Item, ServingCellMO_List_Item_sequence);

  return offset;
}


static const per_sequence_t ServingCellMO_encoded_in_CGC_Item_sequence[] = {
  { &hf_f1ap_servingCellMO  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ServingCellMO },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ServingCellMO_encoded_in_CGC_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ServingCellMO_encoded_in_CGC_Item, ServingCellMO_encoded_in_CGC_Item_sequence);

  return offset;
}


static const per_sequence_t ServingCellMO_encoded_in_CGC_List_sequence_of[1] = {
  { &hf_f1ap_ServingCellMO_encoded_in_CGC_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ServingCellMO_encoded_in_CGC_Item },
};

static int
dissect_f1ap_ServingCellMO_encoded_in_CGC_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_ServingCellMO_encoded_in_CGC_List, ServingCellMO_encoded_in_CGC_List_sequence_of,
                                                  1, maxNrofBWPs, false);

  return offset;
}


static const per_sequence_t Serving_Cells_List_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iAB_MT_Cell_NA_Resource_Configuration_Mode_Info, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_IAB_MT_Cell_NA_Resource_Configuration_Mode_Info },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Serving_Cells_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Serving_Cells_List_Item, Serving_Cells_List_Item_sequence);

  return offset;
}


static const per_sequence_t Serving_Cells_List_sequence_of[1] = {
  { &hf_f1ap_Serving_Cells_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Serving_Cells_List_Item },
};

static int
dissect_f1ap_Serving_Cells_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Serving_Cells_List, Serving_Cells_List_sequence_of,
                                                  1, maxnoofServingCells, false);

  return offset;
}



static int
dissect_f1ap_MBS_FrequencySelectionArea_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       3, 3, false, NULL);

  return offset;
}


static const per_sequence_t Supported_MBS_FSA_ID_List_sequence_of[1] = {
  { &hf_f1ap_Supported_MBS_FSA_ID_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MBS_FrequencySelectionArea_Identity },
};

static int
dissect_f1ap_Supported_MBS_FSA_ID_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Supported_MBS_FSA_ID_List, Supported_MBS_FSA_ID_List_sequence_of,
                                                  1, maxnoofMBSFSAs, false);

  return offset;
}


static const per_sequence_t SFN_Offset_sequence[] = {
  { &hf_f1ap_sFN_Time_Offset, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BIT_STRING_SIZE_24 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SFN_Offset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SFN_Offset, SFN_Offset_sequence);

  return offset;
}


static const per_sequence_t Served_Cells_To_Add_Item_sequence[] = {
  { &hf_f1ap_served_Cell_Information, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Served_Cell_Information },
  { &hf_f1ap_gNB_DU_System_Information, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_GNB_DU_System_Information },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Served_Cells_To_Add_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Served_Cells_To_Add_Item, Served_Cells_To_Add_Item_sequence);

  return offset;
}


static const per_sequence_t Served_Cells_To_Delete_Item_sequence[] = {
  { &hf_f1ap_oldNRCGI       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Served_Cells_To_Delete_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Served_Cells_To_Delete_Item, Served_Cells_To_Delete_Item_sequence);

  return offset;
}


static const per_sequence_t Served_Cells_To_Modify_Item_sequence[] = {
  { &hf_f1ap_oldNRCGI       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_served_Cell_Information, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Served_Cell_Information },
  { &hf_f1ap_gNB_DU_System_Information, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_GNB_DU_System_Information },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Served_Cells_To_Modify_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Served_Cells_To_Modify_Item, Served_Cells_To_Modify_Item_sequence);

  return offset;
}



static int
dissect_f1ap_SIB10_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB10_message);
    dissect_nr_rrc_SIB10_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_SIB12_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB12_message);
    dissect_nr_rrc_SIB12_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_SIB13_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB13_message);
    dissect_nr_rrc_SIB13_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_SIB14_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB14_message);
    dissect_nr_rrc_SIB14_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_SIB15_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB15_message);
    dissect_nr_rrc_SIB15_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_SIB17_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB17_message);
    dissect_nr_rrc_SIB17_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_SIB20_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB20_message);
    dissect_nr_rrc_SIB20_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_SIB24_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB24_message);
    dissect_nr_rrc_SIB24_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_SIB22_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB22_message);
    dissect_nr_rrc_SIB22_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_SIB23_message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SIB23_message);
    dissect_nr_rrc_SIB23_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_SItype(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 32U, NULL, true);

  return offset;
}


static const per_sequence_t SItype_Item_sequence[] = {
  { &hf_f1ap_sItype         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SItype },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SItype_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SItype_Item, SItype_Item_sequence);

  return offset;
}


static const per_sequence_t SItype_List_sequence_of[1] = {
  { &hf_f1ap_SItype_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SItype_Item },
};

static int
dissect_f1ap_SItype_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SItype_List, SItype_List_sequence_of,
                                                  1, maxnoofSITypes, false);

  return offset;
}



static int
dissect_f1ap_SidelinkConfigurationContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SidelinkConfigurationContainer);
    dissect_nr_rrc_SL_ConfigDedicatedNR_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t SidelinkRelayConfiguration_sequence[] = {
  { &hf_f1ap_gNB_DU_UE_F1APIDofRelayUE, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_GNB_DU_UE_F1AP_ID },
  { &hf_f1ap_remoteUELocalID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RemoteUELocalID },
  { &hf_f1ap_sidelinkConfigurationContainer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_SidelinkConfigurationContainer },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SidelinkRelayConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SidelinkRelayConfiguration, SidelinkRelayConfiguration_sequence);

  return offset;
}



static int
dissect_f1ap_SLDRBID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 512U, NULL, true);

  return offset;
}


static const per_sequence_t SLDRBInformation_sequence[] = {
  { &hf_f1ap_sLDRB_QoS      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PC5QoSParameters },
  { &hf_f1ap_flowsMappedToSLDRB_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_FlowsMappedToSLDRB_List },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRBInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRBInformation, SLDRBInformation_sequence);

  return offset;
}


static const per_sequence_t SLDRBs_FailedToBeModified_Item_sequence[] = {
  { &hf_f1ap_sLDRBID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID },
  { &hf_f1ap_cause          , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRBs_FailedToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRBs_FailedToBeModified_Item, SLDRBs_FailedToBeModified_Item_sequence);

  return offset;
}


static const per_sequence_t SLDRBs_FailedToBeSetup_Item_sequence[] = {
  { &hf_f1ap_sLDRBID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID },
  { &hf_f1ap_cause          , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRBs_FailedToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRBs_FailedToBeSetup_Item, SLDRBs_FailedToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t SLDRBs_FailedToBeSetupMod_Item_sequence[] = {
  { &hf_f1ap_sLDRBID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID },
  { &hf_f1ap_cause          , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRBs_FailedToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRBs_FailedToBeSetupMod_Item, SLDRBs_FailedToBeSetupMod_Item_sequence);

  return offset;
}


static const per_sequence_t SLDRBs_Modified_Item_sequence[] = {
  { &hf_f1ap_sLDRBID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRBs_Modified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRBs_Modified_Item, SLDRBs_Modified_Item_sequence);

  return offset;
}


static const per_sequence_t SLDRBs_ModifiedConf_Item_sequence[] = {
  { &hf_f1ap_sLDRBID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRBs_ModifiedConf_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRBs_ModifiedConf_Item, SLDRBs_ModifiedConf_Item_sequence);

  return offset;
}


static const per_sequence_t SLDRBs_Required_ToBeModified_Item_sequence[] = {
  { &hf_f1ap_sLDRBID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRBs_Required_ToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRBs_Required_ToBeModified_Item, SLDRBs_Required_ToBeModified_Item_sequence);

  return offset;
}


static const per_sequence_t SLDRBs_Required_ToBeReleased_Item_sequence[] = {
  { &hf_f1ap_sLDRBID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRBs_Required_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRBs_Required_ToBeReleased_Item, SLDRBs_Required_ToBeReleased_Item_sequence);

  return offset;
}


static const per_sequence_t SLDRBs_Setup_Item_sequence[] = {
  { &hf_f1ap_sLDRBID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRBs_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRBs_Setup_Item, SLDRBs_Setup_Item_sequence);

  return offset;
}


static const per_sequence_t SLDRBs_SetupMod_Item_sequence[] = {
  { &hf_f1ap_sLDRBID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRBs_SetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRBs_SetupMod_Item, SLDRBs_SetupMod_Item_sequence);

  return offset;
}


static const per_sequence_t SLDRBs_ToBeModified_Item_sequence[] = {
  { &hf_f1ap_sLDRBID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID },
  { &hf_f1ap_sLDRBInformation, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_SLDRBInformation },
  { &hf_f1ap_rLCMode        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_RLCMode },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRBs_ToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRBs_ToBeModified_Item, SLDRBs_ToBeModified_Item_sequence);

  return offset;
}


static const per_sequence_t SLDRBs_ToBeReleased_Item_sequence[] = {
  { &hf_f1ap_sLDRBID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRBs_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRBs_ToBeReleased_Item, SLDRBs_ToBeReleased_Item_sequence);

  return offset;
}


static const per_sequence_t SLDRBs_ToBeSetup_Item_sequence[] = {
  { &hf_f1ap_sLDRBID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID },
  { &hf_f1ap_sLDRBInformation, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBInformation },
  { &hf_f1ap_rLCMode        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCMode },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRBs_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRBs_ToBeSetup_Item, SLDRBs_ToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t SLDRBs_ToBeSetupMod_Item_sequence[] = {
  { &hf_f1ap_sLDRBID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBID },
  { &hf_f1ap_sLDRBInformation, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRBInformation },
  { &hf_f1ap_rLCMode        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_RLCMode },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRBs_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRBs_ToBeSetupMod_Item, SLDRBs_ToBeSetupMod_Item_sequence);

  return offset;
}


static const value_string f1ap_SLDRXCycleLength_vals[] = {
  {   0, "ms10" },
  {   1, "ms20" },
  {   2, "ms32" },
  {   3, "ms40" },
  {   4, "ms60" },
  {   5, "ms64" },
  {   6, "ms70" },
  {   7, "ms80" },
  {   8, "ms128" },
  {   9, "ms160" },
  {  10, "ms256" },
  {  11, "ms320" },
  {  12, "ms512" },
  {  13, "ms640" },
  {  14, "ms1024" },
  {  15, "ms1280" },
  {  16, "ms2048" },
  {  17, "ms2560" },
  {  18, "ms5120" },
  {  19, "ms10240" },
  { 0, NULL }
};


static int
dissect_f1ap_SLDRXCycleLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     20, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_SLDRXConfigurationIndicator_vals[] = {
  {   0, "release" },
  { 0, NULL }
};


static int
dissect_f1ap_SLDRXConfigurationIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_SLDRXInformation_vals[] = {
  {   0, "sLDRXCycle" },
  {   1, "nosLDRX" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t SLDRXInformation_choice[] = {
  {   0, &hf_f1ap_sLDRXCycle     , ASN1_NO_EXTENSIONS     , dissect_f1ap_SLDRXCycleLength },
  {   1, &hf_f1ap_nosLDRX        , ASN1_NO_EXTENSIONS     , dissect_f1ap_SLDRXConfigurationIndicator },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_SLDRXInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_SLDRXInformation, SLDRXInformation_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SLDRXCycleItem_sequence[] = {
  { &hf_f1ap_rXUEID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BIT_STRING_SIZE_24 },
  { &hf_f1ap_sLDRXInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRXInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLDRXCycleItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLDRXCycleItem, SLDRXCycleItem_sequence);

  return offset;
}


static const per_sequence_t SLDRXCycleList_sequence_of[1] = {
  { &hf_f1ap_SLDRXCycleList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SLDRXCycleItem },
};

static int
dissect_f1ap_SLDRXCycleList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SLDRXCycleList, SLDRXCycleList_sequence_of,
                                                  1, maxnoofSLdestinations, false);

  return offset;
}



static int
dissect_f1ap_SL_PHY_MAC_RLC_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SL_PHY_MAC_RLC_Config);
    dissect_nr_rrc_SL_PHY_MAC_RLC_Config_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_SL_PHY_MAC_RLC_ConfigExt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SL_PHY_MAC_RLC_ConfigExt);
    dissect_nr_rrc_SL_PHY_MAC_RLC_Config_v1700_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_SL_RLC_ChannelToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SL_RLC_ChannelToAddModList);
    dissect_nr_rrc_SL_RLC_ChannelToAddModList_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_SL_ConfigDedicatedEUTRA_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  proto_tree *subtree;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb && lte_rrc_conn_reconf_handle) {
    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SL_ConfigDedicatedEUTRA_Info);
    dissect_nr_rrc_SL_ConfigDedicatedEUTRA_Info_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t SNSSAIRadioResourceStatus_Item_sequence[] = {
  { &hf_f1ap_sNSSAI         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAI },
  { &hf_f1ap_sNSSAIdlGBRPRBusage, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_sNSSAIulGBRPRBusage, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_sNSSAIdlNonGBRPRBusage, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_sNSSAIulNonGBRPRBusage, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_sNSSAIdlTotalPRBallocation, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_sNSSAIulTotalPRBallocation, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SNSSAIRadioResourceStatus_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SNSSAIRadioResourceStatus_Item, SNSSAIRadioResourceStatus_Item_sequence);

  return offset;
}


static const per_sequence_t SNSSAIRadioResourceStatus_List_sequence_of[1] = {
  { &hf_f1ap_SNSSAIRadioResourceStatus_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAIRadioResourceStatus_Item },
};

static int
dissect_f1ap_SNSSAIRadioResourceStatus_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SNSSAIRadioResourceStatus_List, SNSSAIRadioResourceStatus_List_sequence_of,
                                                  1, maxnoofSliceItems, false);

  return offset;
}


static const per_sequence_t SliceRadioResourceStatus_Item_sequence[] = {
  { &hf_f1ap_pLMNIdentity   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_sNSSAIRadioResourceStatus_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SNSSAIRadioResourceStatus_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SliceRadioResourceStatus_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SliceRadioResourceStatus_Item, SliceRadioResourceStatus_Item_sequence);

  return offset;
}


static const per_sequence_t SliceRadioResourceStatus_List_sequence_of[1] = {
  { &hf_f1ap_SliceRadioResourceStatus_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SliceRadioResourceStatus_Item },
};

static int
dissect_f1ap_SliceRadioResourceStatus_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SliceRadioResourceStatus_List, SliceRadioResourceStatus_List_sequence_of,
                                                  1, maxnoofBPLMNsNR, false);

  return offset;
}


static const per_sequence_t SliceRadioResourceStatus_sequence[] = {
  { &hf_f1ap_sliceRadioResourceStatus, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SliceRadioResourceStatus_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SliceRadioResourceStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SliceRadioResourceStatus, SliceRadioResourceStatus_sequence);

  return offset;
}



static int
dissect_f1ap_SlotNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 79U, NULL, false);

  return offset;
}


static const value_string f1ap_SLPositioning_Ranging_Authorized_vals[] = {
  {   0, "authorized" },
  {   1, "not-authorized" },
  { 0, NULL }
};


static int
dissect_f1ap_SLPositioning_Ranging_Authorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t RSPPFlowBitRates_sequence[] = {
  { &hf_f1ap_guaranteedFlowBitRate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_maximumFlowBitRate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BitRate },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RSPPFlowBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RSPPFlowBitRates, RSPPFlowBitRates_sequence);

  return offset;
}


static const per_sequence_t RSPPQoSFlowItem_sequence[] = {
  { &hf_f1ap_pQI            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_FiveQI },
  { &hf_f1ap_rSPPFlowBitRates, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RSPPFlowBitRates },
  { &hf_f1ap_range          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Range },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RSPPQoSFlowItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RSPPQoSFlowItem, RSPPQoSFlowItem_sequence);

  return offset;
}


static const per_sequence_t RSPPQoSFlowList_sequence_of[1] = {
  { &hf_f1ap_RSPPQoSFlowList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_RSPPQoSFlowItem },
};

static int
dissect_f1ap_RSPPQoSFlowList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_RSPPQoSFlowList, RSPPQoSFlowList_sequence_of,
                                                  1, maxnoofRSPPQoSFlows, false);

  return offset;
}


static const per_sequence_t RSPP_transport_QoS_parameters_sequence[] = {
  { &hf_f1ap_rSPPQoSFlowList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RSPPQoSFlowList },
  { &hf_f1ap_rSPPLinkAggregateBitRates, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BitRate },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RSPP_transport_QoS_parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RSPP_transport_QoS_parameters, RSPP_transport_QoS_parameters_sequence);

  return offset;
}


static const per_sequence_t SLPositioning_Ranging_Service_Info_sequence[] = {
  { &hf_f1ap_sLPositioning_Ranging_Authorized, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SLPositioning_Ranging_Authorized },
  { &hf_f1ap_rSPP_transport_QoS_parameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RSPP_transport_QoS_parameters },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SLPositioning_Ranging_Service_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SLPositioning_Ranging_Service_Info, SLPositioning_Ranging_Service_Info_sequence);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 32U, NULL, false);

  return offset;
}


static const per_sequence_t SlotOffsetRemainingHopsAperiodic_sequence[] = {
  { &hf_f1ap_slotOffset_01  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_1_32 },
  { &hf_f1ap_startPosition  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_13 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SlotOffsetRemainingHopsAperiodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SlotOffsetRemainingHopsAperiodic, SlotOffsetRemainingHopsAperiodic_sequence);

  return offset;
}


static const per_sequence_t SlotOffsetRemainingHopsSemiPersistent_sequence[] = {
  { &hf_f1ap_sRSperiodicity , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRS_Periodicity },
  { &hf_f1ap_offset_01      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_81919_ },
  { &hf_f1ap_startPosition  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_13 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SlotOffsetRemainingHopsSemiPersistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SlotOffsetRemainingHopsSemiPersistent, SlotOffsetRemainingHopsSemiPersistent_sequence);

  return offset;
}


static const per_sequence_t SlotOffsetRemainingHopsPeriodic_sequence[] = {
  { &hf_f1ap_sRSperiodicity , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRS_Periodicity },
  { &hf_f1ap_offset_01      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_81919_ },
  { &hf_f1ap_startPosition  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_13 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SlotOffsetRemainingHopsPeriodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SlotOffsetRemainingHopsPeriodic, SlotOffsetRemainingHopsPeriodic_sequence);

  return offset;
}


static const value_string f1ap_SlotOffsetRemainingHops_vals[] = {
  {   0, "aperiodic" },
  {   1, "semi-persistent" },
  {   2, "periodic" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t SlotOffsetRemainingHops_choice[] = {
  {   0, &hf_f1ap_aperiodic_04   , ASN1_NO_EXTENSIONS     , dissect_f1ap_SlotOffsetRemainingHopsAperiodic },
  {   1, &hf_f1ap_semi_persistent_04, ASN1_NO_EXTENSIONS     , dissect_f1ap_SlotOffsetRemainingHopsSemiPersistent },
  {   2, &hf_f1ap_periodic_04    , ASN1_NO_EXTENSIONS     , dissect_f1ap_SlotOffsetRemainingHopsPeriodic },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_SlotOffsetRemainingHops(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_SlotOffsetRemainingHops, SlotOffsetRemainingHops_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SlotOffsetForRemainingHopsItem_sequence[] = {
  { &hf_f1ap_slotOffsetRemainingHops, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SlotOffsetRemainingHops },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SlotOffsetForRemainingHopsItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SlotOffsetForRemainingHopsItem, SlotOffsetForRemainingHopsItem_sequence);

  return offset;
}


static const per_sequence_t SlotOffsetForRemainingHopsList_sequence_of[1] = {
  { &hf_f1ap_SlotOffsetForRemainingHopsList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SlotOffsetForRemainingHopsItem },
};

static int
dissect_f1ap_SlotOffsetForRemainingHopsList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SlotOffsetForRemainingHopsList, SlotOffsetForRemainingHopsList_sequence_of,
                                                  1, maxnoHopsMinusOne, false);

  return offset;
}


static const per_sequence_t SpatialDirectionInformation_sequence[] = {
  { &hf_f1ap_nR_PRSBeamInformation, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NR_PRSBeamInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SpatialDirectionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SpatialDirectionInformation, SpatialDirectionInformation_sequence);

  return offset;
}


static const per_sequence_t SpatialRelationPerSRSResourceItem_sequence[] = {
  { &hf_f1ap_referenceSignal, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ReferenceSignal },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SpatialRelationPerSRSResourceItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SpatialRelationPerSRSResourceItem, SpatialRelationPerSRSResourceItem_sequence);

  return offset;
}


static const per_sequence_t SpatialRelationPerSRSResource_List_sequence_of[1] = {
  { &hf_f1ap_SpatialRelationPerSRSResource_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SpatialRelationPerSRSResourceItem },
};

static int
dissect_f1ap_SpatialRelationPerSRSResource_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SpatialRelationPerSRSResource_List, SpatialRelationPerSRSResource_List_sequence_of,
                                                  1, maxnoSRS_ResourcePerSet, false);

  return offset;
}


static const per_sequence_t SpatialRelationPerSRSResource_sequence[] = {
  { &hf_f1ap_spatialRelationPerSRSResource_List, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SpatialRelationPerSRSResource_List },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SpatialRelationPerSRSResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SpatialRelationPerSRSResource, SpatialRelationPerSRSResource_sequence);

  return offset;
}


static const per_sequence_t SRBs_FailedToBeSetup_Item_sequence[] = {
  { &hf_f1ap_sRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRBs_FailedToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRBs_FailedToBeSetup_Item, SRBs_FailedToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t SRBs_FailedToBeSetupMod_Item_sequence[] = {
  { &hf_f1ap_sRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRBs_FailedToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRBs_FailedToBeSetupMod_Item, SRBs_FailedToBeSetupMod_Item_sequence);

  return offset;
}


static const per_sequence_t SRBs_Modified_Item_sequence[] = {
  { &hf_f1ap_sRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID },
  { &hf_f1ap_lCID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_LCID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRBs_Modified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRBs_Modified_Item, SRBs_Modified_Item_sequence);

  return offset;
}


static const per_sequence_t SRBs_Required_ToBeReleased_Item_sequence[] = {
  { &hf_f1ap_sRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRBs_Required_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRBs_Required_ToBeReleased_Item, SRBs_Required_ToBeReleased_Item_sequence);

  return offset;
}


static const per_sequence_t SRBs_Setup_Item_sequence[] = {
  { &hf_f1ap_sRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID },
  { &hf_f1ap_lCID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_LCID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRBs_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRBs_Setup_Item, SRBs_Setup_Item_sequence);

  return offset;
}


static const per_sequence_t SRBs_SetupMod_Item_sequence[] = {
  { &hf_f1ap_sRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID },
  { &hf_f1ap_lCID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_LCID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRBs_SetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRBs_SetupMod_Item, SRBs_SetupMod_Item_sequence);

  return offset;
}


static const per_sequence_t SRBs_ToBeReleased_Item_sequence[] = {
  { &hf_f1ap_sRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRBs_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRBs_ToBeReleased_Item, SRBs_ToBeReleased_Item_sequence);

  return offset;
}


static const per_sequence_t SRBs_ToBeSetup_Item_sequence[] = {
  { &hf_f1ap_sRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID },
  { &hf_f1ap_duplicationIndication, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_DuplicationIndication },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRBs_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRBs_ToBeSetup_Item, SRBs_ToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t SRBs_ToBeSetupMod_Item_sequence[] = {
  { &hf_f1ap_sRBID          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRBID },
  { &hf_f1ap_duplicationIndication, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_DuplicationIndication },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRBs_ToBeSetupMod_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRBs_ToBeSetupMod_Item, SRBs_ToBeSetupMod_Item_sequence);

  return offset;
}


static const per_sequence_t UplinkChannelBW_PerSCS_List_sequence_of[1] = {
  { &hf_f1ap_UplinkChannelBW_PerSCS_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SCS_SpecificCarrier },
};

static int
dissect_f1ap_UplinkChannelBW_PerSCS_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UplinkChannelBW_PerSCS_List, UplinkChannelBW_PerSCS_List_sequence_of,
                                                  1, maxnoSCSs, false);

  return offset;
}


static const per_sequence_t SRSCarrier_List_Item_sequence[] = {
  { &hf_f1ap_pointA         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3279165 },
  { &hf_f1ap_uplinkChannelBW_PerSCS_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UplinkChannelBW_PerSCS_List },
  { &hf_f1ap_activeULBWP    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ActiveULBWP },
  { &hf_f1ap_pci            , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_NRPCI },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRSCarrier_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRSCarrier_List_Item, SRSCarrier_List_Item_sequence);

  return offset;
}


static const per_sequence_t SRSCarrier_List_sequence_of[1] = {
  { &hf_f1ap_SRSCarrier_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSCarrier_List_Item },
};

static int
dissect_f1ap_SRSCarrier_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRSCarrier_List, SRSCarrier_List_sequence_of,
                                                  1, maxnoSRS_Carriers, false);

  return offset;
}


static const per_sequence_t SRSConfiguration_sequence[] = {
  { &hf_f1ap_sRSCarrier_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSCarrier_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRSConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRSConfiguration, SRSConfiguration_sequence);

  return offset;
}



static int
dissect_f1ap_SrsFrequency(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 3279165U, NULL, false);

  return offset;
}


static const value_string f1ap_SRSPortIndex_vals[] = {
  {   0, "id1000" },
  {   1, "id1001" },
  {   2, "id1002" },
  {   3, "id1003" },
  { 0, NULL }
};


static int
dissect_f1ap_SRSPortIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_SRSPosRRCInactiveValidityAreaConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SRSPosRRCInactiveValidityAreaConfig);
    dissect_nr_rrc_SRS_PosRRC_InactiveValidityAreaConfig_r18_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t SRSPreconfiguration_Item_sequence[] = {
  { &hf_f1ap_sRSPosRRCInactiveValidityAreaConfig, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSPosRRCInactiveValidityAreaConfig },
  { &hf_f1ap_posValidityAreaCellList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PosValidityAreaCellList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRSPreconfiguration_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRSPreconfiguration_Item, SRSPreconfiguration_Item_sequence);

  return offset;
}


static const per_sequence_t SRSPreconfiguration_List_sequence_of[1] = {
  { &hf_f1ap_SRSPreconfiguration_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSPreconfiguration_Item },
};

static int
dissect_f1ap_SRSPreconfiguration_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRSPreconfiguration_List, SRSPreconfiguration_List_sequence_of,
                                                  1, maxnoPreconfiguredSRS, false);

  return offset;
}


static const per_sequence_t SRSResourceTrigger_sequence[] = {
  { &hf_f1ap_aperiodicSRSResourceTriggerList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_AperiodicSRSResourceTriggerList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRSResourceTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRSResourceTrigger, SRSResourceTrigger_sequence);

  return offset;
}


static const per_sequence_t SRSInfo_sequence[] = {
  { &hf_f1ap_sRSResource    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSResourceID },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRSInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRSInfo, SRSInfo_sequence);

  return offset;
}


static const per_sequence_t PosSRSInfo_sequence[] = {
  { &hf_f1ap_posSRSResourceID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSPosResourceID },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PosSRSInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PosSRSInfo, PosSRSInfo_sequence);

  return offset;
}


static const value_string f1ap_SRSResourceTypeChoice_vals[] = {
  {   0, "sRSResourceInfo" },
  {   1, "posSRSResourceInfo" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t SRSResourceTypeChoice_choice[] = {
  {   0, &hf_f1ap_sRSResourceInfo, ASN1_NO_EXTENSIONS     , dissect_f1ap_SRSInfo },
  {   1, &hf_f1ap_posSRSResourceInfo, ASN1_NO_EXTENSIONS     , dissect_f1ap_PosSRSInfo },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_SRSResourceTypeChoice(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_SRSResourceTypeChoice, SRSResourceTypeChoice_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t SRSResourcetype_sequence[] = {
  { &hf_f1ap_sRSResourceTypeChoice, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSResourceTypeChoice },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRSResourcetype(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRSResourcetype, SRSResourcetype_sequence);

  return offset;
}



static int
dissect_f1ap_SRSPosRRCInactiveConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SRSPosRRCInactiveConfig);
    dissect_nr_rrc_SRS_PosRRC_InactiveConfig_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_SRSPosRRCInactiveQueryIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_SRSPosRRCInactiveQueryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_SRSReservationType_vals[] = {
  {   0, "reserve" },
  {   1, "release" },
  { 0, NULL }
};


static int
dissect_f1ap_SRSReservationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t SSBs_toBeActivated_List_sequence_of[1] = {
  { &hf_f1ap_SSBs_toBeActivated_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SSB_Index },
};

static int
dissect_f1ap_SSBs_toBeActivated_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SSBs_toBeActivated_List, SSBs_toBeActivated_List_sequence_of,
                                                  1, maxnoofSSBAreas, false);

  return offset;
}


static const value_string f1ap_StartRBIndex_vals[] = {
  {   0, "freqScalingFactor2" },
  {   1, "freqScalingFactor4" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t StartRBIndex_choice[] = {
  {   0, &hf_f1ap_freqScalingFactor2, ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_1 },
  {   1, &hf_f1ap_freqScalingFactor4, ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_3 },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_StartRBIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_StartRBIndex, StartRBIndex_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_StartRBHopping_vals[] = {
  {   0, "enable" },
  { 0, NULL }
};


static int
dissect_f1ap_StartRBHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, false, 0, NULL);

  return offset;
}



static int
dissect_f1ap_T_successfulHOReportContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_successfulHOReportContainer);
    dissect_nr_rrc_SuccessHO_Report_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t SuccessfulHOReportInformation_Item_sequence[] = {
  { &hf_f1ap_successfulHOReportContainer, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_successfulHOReportContainer },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SuccessfulHOReportInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SuccessfulHOReportInformation_Item, SuccessfulHOReportInformation_Item_sequence);

  return offset;
}


static const per_sequence_t SuccessfulHOReportInformationList_sequence_of[1] = {
  { &hf_f1ap_SuccessfulHOReportInformationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SuccessfulHOReportInformation_Item },
};

static int
dissect_f1ap_SuccessfulHOReportInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SuccessfulHOReportInformationList, SuccessfulHOReportInformationList_sequence_of,
                                                  1, maxnoofSuccessfulHOReports, false);

  return offset;
}



static int
dissect_f1ap_T_successfulPSCellChangeReportContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *parameter_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &parameter_tvb);

  if (parameter_tvb) {
    proto_tree *subtree;
    subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_successfulPSCellChangeReportContainer);
    dissect_nr_rrc_SuccessPSCell_Report_r18_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t SuccessfulPSCellChangeReportInformation_Item_sequence[] = {
  { &hf_f1ap_successfulPSCellChangeReportContainer, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_successfulPSCellChangeReportContainer },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SuccessfulPSCellChangeReportInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SuccessfulPSCellChangeReportInformation_Item, SuccessfulPSCellChangeReportInformation_Item_sequence);

  return offset;
}


static const per_sequence_t SuccessfulPSCellChangeReportInformationList_sequence_of[1] = {
  { &hf_f1ap_SuccessfulPSCellChangeReportInformationList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SuccessfulPSCellChangeReportInformation_Item },
};

static int
dissect_f1ap_SuccessfulPSCellChangeReportInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SuccessfulPSCellChangeReportInformationList, SuccessfulPSCellChangeReportInformationList_sequence_of,
                                                  1, maxnoofSuccessfulPSCellChangeReports, false);

  return offset;
}


static const value_string f1ap_SULAccessIndication_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_SULAccessIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_supportedUEtype_vals[] = {
  {   0, "non-redcap-ue" },
  {   1, "redcap-ue" },
  { 0, NULL }
};


static int
dissect_f1ap_T_supportedUEtype(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t SupportedUETypeList_Item_sequence[] = {
  { &hf_f1ap_supportedUEtype, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_supportedUEtype },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SupportedUETypeList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SupportedUETypeList_Item, SupportedUETypeList_Item_sequence);

  return offset;
}


static const per_sequence_t SupportedUETypeList_sequence_of[1] = {
  { &hf_f1ap_SupportedUETypeList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SupportedUETypeList_Item },
};

static int
dissect_f1ap_SupportedUETypeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SupportedUETypeList, SupportedUETypeList_sequence_of,
                                                  1, maxnoofUETypes, false);

  return offset;
}



static int
dissect_f1ap_SurvivalTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 1920000U, NULL, true);

  return offset;
}



static int
dissect_f1ap_SymbolIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 13U, NULL, false);

  return offset;
}



static int
dissect_f1ap_SystemInformationAreaID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     24, 24, false, NULL, 0, NULL, NULL);

  return offset;
}



static int
dissect_f1ap_NSAG_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 255U, NULL, true);

  return offset;
}


static const per_sequence_t NSAGSupportItem_sequence[] = {
  { &hf_f1ap_nSAG_ID        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NSAG_ID },
  { &hf_f1ap_nSAGSliceSupport, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ExtendedSliceSupportList },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NSAGSupportItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NSAGSupportItem, NSAGSupportItem_sequence);

  return offset;
}


static const per_sequence_t NSAGSupportList_sequence_of[1] = {
  { &hf_f1ap_NSAGSupportList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NSAGSupportItem },
};

static int
dissect_f1ap_NSAGSupportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_NSAGSupportList, NSAGSupportList_sequence_of,
                                                  1, maxnoofNSAGs, false);

  return offset;
}


static const per_sequence_t TRP_RxTx_TEGInformation_sequence[] = {
  { &hf_f1ap_tRP_RxTx_TEGID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_255 },
  { &hf_f1ap_tRP_RxTx_TimingErrorMargin, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RxTxTimingErrorMargin },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRP_RxTx_TEGInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRP_RxTx_TEGInformation, TRP_RxTx_TEGInformation_sequence);

  return offset;
}


static const value_string f1ap_TimingErrorMargin_vals[] = {
  {   0, "m0Tc" },
  {   1, "m2Tc" },
  {   2, "m4Tc" },
  {   3, "m6Tc" },
  {   4, "m8Tc" },
  {   5, "m12Tc" },
  {   6, "m16Tc" },
  {   7, "m20Tc" },
  {   8, "m24Tc" },
  {   9, "m32Tc" },
  {  10, "m40Tc" },
  {  11, "m48Tc" },
  {  12, "m56Tc" },
  {  13, "m64Tc" },
  {  14, "m72Tc" },
  {  15, "m80Tc" },
  { 0, NULL }
};


static int
dissect_f1ap_TimingErrorMargin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     16, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t TRP_Tx_TEGInformation_sequence[] = {
  { &hf_f1ap_tRP_Tx_TEGID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_7 },
  { &hf_f1ap_tRP_Tx_TimingErrorMargin, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TimingErrorMargin },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRP_Tx_TEGInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRP_Tx_TEGInformation, TRP_Tx_TEGInformation_sequence);

  return offset;
}


static const per_sequence_t RxTxTEG_sequence[] = {
  { &hf_f1ap_tRP_RxTx_TEGInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TRP_RxTx_TEGInformation },
  { &hf_f1ap_tRP_Tx_TEGInformation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TRP_Tx_TEGInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RxTxTEG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RxTxTEG, RxTxTEG_sequence);

  return offset;
}


static const per_sequence_t TRP_Rx_TEGInformation_sequence[] = {
  { &hf_f1ap_tRP_Rx_TEGID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_31 },
  { &hf_f1ap_tRP_Rx_TimingErrorMargin, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TimingErrorMargin },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRP_Rx_TEGInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRP_Rx_TEGInformation, TRP_Rx_TEGInformation_sequence);

  return offset;
}


static const per_sequence_t RxTEG_sequence[] = {
  { &hf_f1ap_tRP_Rx_TEGInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TRP_Rx_TEGInformation },
  { &hf_f1ap_tRP_Tx_TEGInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TRP_Tx_TEGInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RxTEG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RxTEG, RxTEG_sequence);

  return offset;
}


static const value_string f1ap_TRPTEGInformation_vals[] = {
  {   0, "rxTx-TEG" },
  {   1, "rx-TEG" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t TRPTEGInformation_choice[] = {
  {   0, &hf_f1ap_rxTx_TEG       , ASN1_NO_EXTENSIONS     , dissect_f1ap_RxTxTEG },
  {   1, &hf_f1ap_rx_TEG         , ASN1_NO_EXTENSIONS     , dissect_f1ap_RxTEG },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_TRPTEGInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_TRPTEGInformation, TRPTEGInformation_choice,
                                 NULL);

  return offset;
}



static int
dissect_f1ap_Uncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 32767U, NULL, true);

  return offset;
}


static const value_string f1ap_TimeInformationType_vals[] = {
  {   0, "localClock" },
  { 0, NULL }
};


static int
dissect_f1ap_TimeInformationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, false, 0, NULL);

  return offset;
}


static const per_sequence_t TimeReferenceInformation_sequence[] = {
  { &hf_f1ap_referenceTime  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ReferenceTime },
  { &hf_f1ap_referenceSFN   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ReferenceSFN },
  { &hf_f1ap_uncertainty    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_Uncertainty },
  { &hf_f1ap_timeInformationType, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_TimeInformationType },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TimeReferenceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TimeReferenceInformation, TimeReferenceInformation_sequence);

  return offset;
}


static const value_string f1ap_TimeToWait_vals[] = {
  {   0, "v1s" },
  {   1, "v2s" },
  {   2, "v5s" },
  {   3, "v10s" },
  {   4, "v20s" },
  {   5, "v60s" },
  { 0, NULL }
};


static int
dissect_f1ap_TimeToWait(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_TimingReportingGranularityFactorExtended(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -6, -1, NULL, true);

  return offset;
}


static const value_string f1ap_T_durationSlots_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n6" },
  {   4, "n8" },
  {   5, "n12" },
  {   6, "n16" },
  { 0, NULL }
};


static int
dissect_f1ap_T_durationSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_TimeWindowDurationMeasurement_vals[] = {
  {   0, "durationSlots" },
  {   1, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t TimeWindowDurationMeasurement_choice[] = {
  {   0, &hf_f1ap_durationSlots  , ASN1_NO_EXTENSIONS     , dissect_f1ap_T_durationSlots },
  {   1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_TimeWindowDurationMeasurement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_TimeWindowDurationMeasurement, TimeWindowDurationMeasurement_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_T_timeWindowType_vals[] = {
  {   0, "single" },
  {   1, "periodic" },
  { 0, NULL }
};


static int
dissect_f1ap_T_timeWindowType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_TimeWindowPeriodicityMeasurement_vals[] = {
  {   0, "ms160" },
  {   1, "ms320" },
  {   2, "ms640" },
  {   3, "ms1280" },
  {   4, "ms2560" },
  {   5, "ms5120" },
  {   6, "ms10240" },
  {   7, "ms20480" },
  {   8, "ms40960" },
  {   9, "ms61440" },
  {  10, "ms81920" },
  {  11, "ms368640" },
  {  12, "ms737280" },
  {  13, "ms1843200" },
  { 0, NULL }
};


static int
dissect_f1ap_TimeWindowPeriodicityMeasurement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     14, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t TimeWindowInformation_Measurement_Item_sequence[] = {
  { &hf_f1ap_timeWindowDurationMeasurement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TimeWindowDurationMeasurement },
  { &hf_f1ap_timeWindowType , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_timeWindowType },
  { &hf_f1ap_timeWindowPeriodicityMeasurement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TimeWindowPeriodicityMeasurement },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TimeWindowInformation_Measurement_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TimeWindowInformation_Measurement_Item, TimeWindowInformation_Measurement_Item_sequence);

  return offset;
}


static const per_sequence_t TimeWindowInformation_Measurement_List_sequence_of[1] = {
  { &hf_f1ap_TimeWindowInformation_Measurement_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TimeWindowInformation_Measurement_Item },
};

static int
dissect_f1ap_TimeWindowInformation_Measurement_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_TimeWindowInformation_Measurement_List, TimeWindowInformation_Measurement_List_sequence_of,
                                                  1, maxnoofTimeWindowMea, false);

  return offset;
}


static const per_sequence_t TimeWindowStartSRS_sequence[] = {
  { &hf_f1ap_systemFrameNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SystemFrameNumber },
  { &hf_f1ap_slotNumber     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SlotNumber },
  { &hf_f1ap_symbolIndex    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SymbolIndex },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TimeWindowStartSRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TimeWindowStartSRS, TimeWindowStartSRS_sequence);

  return offset;
}


static const value_string f1ap_T_durationSymbols_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n8" },
  {   4, "n12" },
  { 0, NULL }
};


static int
dissect_f1ap_T_durationSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_durationSlots_01_vals[] = {
  {   0, "n1" },
  {   1, "n2" },
  {   2, "n4" },
  {   3, "n6" },
  {   4, "n8" },
  {   5, "n12" },
  {   6, "n16" },
  { 0, NULL }
};


static int
dissect_f1ap_T_durationSlots_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     7, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_TimeWindowDurationSRS_vals[] = {
  {   0, "durationSymbols" },
  {   1, "durationSlots" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t TimeWindowDurationSRS_choice[] = {
  {   0, &hf_f1ap_durationSymbols, ASN1_NO_EXTENSIONS     , dissect_f1ap_T_durationSymbols },
  {   1, &hf_f1ap_durationSlots_01, ASN1_NO_EXTENSIONS     , dissect_f1ap_T_durationSlots_01 },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_TimeWindowDurationSRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_TimeWindowDurationSRS, TimeWindowDurationSRS_choice,
                                 NULL);

  return offset;
}


static const value_string f1ap_T_timeWindowType_01_vals[] = {
  {   0, "single" },
  {   1, "periodic" },
  { 0, NULL }
};


static int
dissect_f1ap_T_timeWindowType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_TimeWindowPeriodicitySRS_vals[] = {
  {   0, "ms0dot125" },
  {   1, "ms0dot25" },
  {   2, "ms0dot5" },
  {   3, "ms0dot625" },
  {   4, "ms1" },
  {   5, "ms1dot25" },
  {   6, "ms2" },
  {   7, "ms2dot5" },
  {   8, "ms4" },
  {   9, "ms5" },
  {  10, "ms8" },
  {  11, "ms10" },
  {  12, "ms16" },
  {  13, "ms20" },
  {  14, "ms32" },
  {  15, "ms40" },
  {  16, "ms64" },
  {  17, "ms80" },
  {  18, "ms160" },
  {  19, "ms320" },
  {  20, "ms640" },
  {  21, "ms1280" },
  {  22, "ms2560" },
  {  23, "ms5120" },
  {  24, "ms10240" },
  { 0, NULL }
};


static int
dissect_f1ap_TimeWindowPeriodicitySRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     25, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t TimeWindowInformation_SRS_Item_sequence[] = {
  { &hf_f1ap_timeWindowStartSRS, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TimeWindowStartSRS },
  { &hf_f1ap_timeWindowDurationSRS, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TimeWindowDurationSRS },
  { &hf_f1ap_timeWindowType_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_timeWindowType_01 },
  { &hf_f1ap_timeWindowPeriodicitySRS, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TimeWindowPeriodicitySRS },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TimeWindowInformation_SRS_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TimeWindowInformation_SRS_Item, TimeWindowInformation_SRS_Item_sequence);

  return offset;
}


static const per_sequence_t TimeWindowInformation_SRS_List_sequence_of[1] = {
  { &hf_f1ap_TimeWindowInformation_SRS_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TimeWindowInformation_SRS_Item },
};

static int
dissect_f1ap_TimeWindowInformation_SRS_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_TimeWindowInformation_SRS_List, TimeWindowInformation_SRS_List_sequence_of,
                                                  1, maxnoofTimeWindowSRS, false);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_16777216_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 16777216U, NULL, true);

  return offset;
}


static const per_sequence_t TNLCapacityIndicator_sequence[] = {
  { &hf_f1ap_dLTNLOfferedCapacity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_16777216_ },
  { &hf_f1ap_dLTNLAvailableCapacity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100_ },
  { &hf_f1ap_uLTNLOfferedCapacity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_16777216_ },
  { &hf_f1ap_uLTNLAvailableCapacity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_100_ },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TNLCapacityIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TNLCapacityIndicator, TNLCapacityIndicator_sequence);

  return offset;
}



static int
dissect_f1ap_TraceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       8, 8, false, NULL);

  return offset;
}


static const value_string f1ap_TraceDepth_vals[] = {
  {   0, "minimum" },
  {   1, "medium" },
  {   2, "maximum" },
  {   3, "minimumWithoutVendorSpecificExtension" },
  {   4, "mediumWithoutVendorSpecificExtension" },
  {   5, "maximumWithoutVendorSpecificExtension" },
  { 0, NULL }
};


static int
dissect_f1ap_TraceDepth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t TraceActivation_sequence[] = {
  { &hf_f1ap_traceID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TraceID },
  { &hf_f1ap_interfacesToTrace, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_InterfacesToTrace },
  { &hf_f1ap_traceDepth     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TraceDepth },
  { &hf_f1ap_traceCollectionEntityIPAddress, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TraceActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TraceActivation, TraceActivation_sequence);

  return offset;
}


static const per_sequence_t TransmissionCombn8_sequence[] = {
  { &hf_f1ap_combOffset_n8  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_7 },
  { &hf_f1ap_cyclicShift_n8 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_5 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TransmissionCombn8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TransmissionCombn8, TransmissionCombn8_sequence);

  return offset;
}


static const value_string f1ap_TransmissionStopIndicator_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_TransmissionStopIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t Transport_UP_Layer_Address_Info_To_Add_Item_sequence[] = {
  { &hf_f1ap_iP_SecTransportLayerAddress, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress },
  { &hf_f1ap_gTPTransportLayerAddressToAdd, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_GTPTLAs },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Transport_UP_Layer_Address_Info_To_Add_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Transport_UP_Layer_Address_Info_To_Add_Item, Transport_UP_Layer_Address_Info_To_Add_Item_sequence);

  return offset;
}


static const per_sequence_t Transport_UP_Layer_Address_Info_To_Add_List_sequence_of[1] = {
  { &hf_f1ap_Transport_UP_Layer_Address_Info_To_Add_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Transport_UP_Layer_Address_Info_To_Add_Item },
};

static int
dissect_f1ap_Transport_UP_Layer_Address_Info_To_Add_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Transport_UP_Layer_Address_Info_To_Add_List, Transport_UP_Layer_Address_Info_To_Add_List_sequence_of,
                                                  1, maxnoofTLAs, false);

  return offset;
}


static const per_sequence_t Transport_UP_Layer_Address_Info_To_Remove_Item_sequence[] = {
  { &hf_f1ap_iP_SecTransportLayerAddress, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress },
  { &hf_f1ap_gTPTransportLayerAddressToRemove, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_GTPTLAs },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Transport_UP_Layer_Address_Info_To_Remove_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Transport_UP_Layer_Address_Info_To_Remove_Item, Transport_UP_Layer_Address_Info_To_Remove_Item_sequence);

  return offset;
}


static const per_sequence_t Transport_UP_Layer_Address_Info_To_Remove_List_sequence_of[1] = {
  { &hf_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Transport_UP_Layer_Address_Info_To_Remove_Item },
};

static int
dissect_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List, Transport_UP_Layer_Address_Info_To_Remove_List_sequence_of,
                                                  1, maxnoofTLAs, false);

  return offset;
}


static const value_string f1ap_TransmissionActionIndicator_vals[] = {
  {   0, "stop" },
  {   1, "restart" },
  { 0, NULL }
};


static int
dissect_f1ap_TransmissionActionIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 1, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_0_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 30U, NULL, false);

  return offset;
}


static const per_sequence_t TRP_Beam_Power_Item_sequence[] = {
  { &hf_f1ap_pRSResourceSetID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_PRS_Resource_Set_ID },
  { &hf_f1ap_pRSResourceID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PRS_Resource_ID },
  { &hf_f1ap_relativePower  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_30 },
  { &hf_f1ap_relativePowerFine, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_9 },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRP_Beam_Power_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRP_Beam_Power_Item, TRP_Beam_Power_Item_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_2_maxNumResourcesPerAngle_OF_TRP_Beam_Power_Item_sequence_of[1] = {
  { &hf_f1ap_trp_beam_power_list_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRP_Beam_Power_Item },
};

static int
dissect_f1ap_SEQUENCE_SIZE_2_maxNumResourcesPerAngle_OF_TRP_Beam_Power_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SEQUENCE_SIZE_2_maxNumResourcesPerAngle_OF_TRP_Beam_Power_Item, SEQUENCE_SIZE_2_maxNumResourcesPerAngle_OF_TRP_Beam_Power_Item_sequence_of,
                                                  2, maxNumResourcesPerAngle, false);

  return offset;
}


static const per_sequence_t TRP_ElevationAngleList_Item_sequence[] = {
  { &hf_f1ap_trp_elevation_angle, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_180 },
  { &hf_f1ap_trp_elevation_angle_fine, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_9 },
  { &hf_f1ap_trp_beam_power_list, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SEQUENCE_SIZE_2_maxNumResourcesPerAngle_OF_TRP_Beam_Power_Item },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRP_ElevationAngleList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRP_ElevationAngleList_Item, TRP_ElevationAngleList_Item_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxnoElevationAngles_OF_TRP_ElevationAngleList_Item_sequence_of[1] = {
  { &hf_f1ap_trp_elevation_angle_list_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRP_ElevationAngleList_Item },
};

static int
dissect_f1ap_SEQUENCE_SIZE_1_maxnoElevationAngles_OF_TRP_ElevationAngleList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SEQUENCE_SIZE_1_maxnoElevationAngles_OF_TRP_ElevationAngleList_Item, SEQUENCE_SIZE_1_maxnoElevationAngles_OF_TRP_ElevationAngleList_Item_sequence_of,
                                                  1, maxnoElevationAngles, false);

  return offset;
}


static const per_sequence_t TRP_BeamAntennaAnglesList_Item_sequence[] = {
  { &hf_f1ap_trp_azimuth_angle, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_359 },
  { &hf_f1ap_trp_azimuth_angle_fine, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_9 },
  { &hf_f1ap_trp_elevation_angle_list, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SEQUENCE_SIZE_1_maxnoElevationAngles_OF_TRP_ElevationAngleList_Item },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRP_BeamAntennaAnglesList_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRP_BeamAntennaAnglesList_Item, TRP_BeamAntennaAnglesList_Item_sequence);

  return offset;
}


static const per_sequence_t TRP_BeamAntennaAngles_sequence_of[1] = {
  { &hf_f1ap_TRP_BeamAntennaAngles_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRP_BeamAntennaAnglesList_Item },
};

static int
dissect_f1ap_TRP_BeamAntennaAngles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_TRP_BeamAntennaAngles, TRP_BeamAntennaAngles_sequence_of,
                                                  1, maxnoAzimuthAngles, false);

  return offset;
}


static const per_sequence_t TRP_BeamAntennaExplicitInformation_sequence[] = {
  { &hf_f1ap_trp_BeamAntennaAngles, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TRP_BeamAntennaAngles },
  { &hf_f1ap_lcs_to_gcs_translation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_LCS_to_GCS_Translation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRP_BeamAntennaExplicitInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRP_BeamAntennaExplicitInformation, TRP_BeamAntennaExplicitInformation_sequence);

  return offset;
}


static const value_string f1ap_Choice_TRP_Beam_Antenna_Info_Item_vals[] = {
  {   0, "reference" },
  {   1, "explicit" },
  {   2, "noChange" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t Choice_TRP_Beam_Antenna_Info_Item_choice[] = {
  {   0, &hf_f1ap_reference      , ASN1_NO_EXTENSIONS     , dissect_f1ap_TRPID },
  {   1, &hf_f1ap_explicit       , ASN1_NO_EXTENSIONS     , dissect_f1ap_TRP_BeamAntennaExplicitInformation },
  {   2, &hf_f1ap_noChange       , ASN1_NO_EXTENSIONS     , dissect_f1ap_NULL },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_Choice_TRP_Beam_Antenna_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_Choice_TRP_Beam_Antenna_Info_Item, Choice_TRP_Beam_Antenna_Info_Item_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t TRPBeamAntennaInformation_sequence[] = {
  { &hf_f1ap_choice_TRP_Beam_Antenna_Info_Item, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Choice_TRP_Beam_Antenna_Info_Item },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRPBeamAntennaInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRPBeamAntennaInformation, TRPBeamAntennaInformation_sequence);

  return offset;
}


static const value_string f1ap_TRPInformationTypeResponseItem_vals[] = {
  {   0, "pCI-NR" },
  {   1, "nG-RAN-CGI" },
  {   2, "nRARFCN" },
  {   3, "pRSConfiguration" },
  {   4, "sSBinformation" },
  {   5, "sFNInitialisationTime" },
  {   6, "spatialDirectionInformation" },
  {   7, "geographicalCoordinates" },
  {   8, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t TRPInformationTypeResponseItem_choice[] = {
  {   0, &hf_f1ap_pCI_NR_01      , ASN1_NO_EXTENSIONS     , dissect_f1ap_NRPCI },
  {   1, &hf_f1ap_nG_RAN_CGI     , ASN1_NO_EXTENSIONS     , dissect_f1ap_NRCGI },
  {   2, &hf_f1ap_nRARFCN        , ASN1_NO_EXTENSIONS     , dissect_f1ap_INTEGER_0_maxNRARFCN },
  {   3, &hf_f1ap_pRSConfiguration, ASN1_NO_EXTENSIONS     , dissect_f1ap_PRSConfiguration },
  {   4, &hf_f1ap_sSBinformation , ASN1_NO_EXTENSIONS     , dissect_f1ap_SSBInformation },
  {   5, &hf_f1ap_sFNInitialisationTime, ASN1_NO_EXTENSIONS     , dissect_f1ap_RelativeTime1900 },
  {   6, &hf_f1ap_spatialDirectionInformation, ASN1_NO_EXTENSIONS     , dissect_f1ap_SpatialDirectionInformation },
  {   7, &hf_f1ap_geographicalCoordinates, ASN1_NO_EXTENSIONS     , dissect_f1ap_GeographicalCoordinates },
  {   8, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_TRPInformationTypeResponseItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_TRPInformationTypeResponseItem, TRPInformationTypeResponseItem_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t TRPInformationTypeResponseList_sequence_of[1] = {
  { &hf_f1ap_TRPInformationTypeResponseList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPInformationTypeResponseItem },
};

static int
dissect_f1ap_TRPInformationTypeResponseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_TRPInformationTypeResponseList, TRPInformationTypeResponseList_sequence_of,
                                                  1, maxnoofTRPInfoTypes, false);

  return offset;
}


static const per_sequence_t TRPInformation_sequence[] = {
  { &hf_f1ap_tRPID          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPID },
  { &hf_f1ap_tRPInformationTypeResponseList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPInformationTypeResponseList },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRPInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRPInformation, TRPInformation_sequence);

  return offset;
}


static const per_sequence_t TRPInformationItem_sequence[] = {
  { &hf_f1ap_tRPInformation , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRPInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRPInformationItem, TRPInformationItem_sequence);

  return offset;
}


static const value_string f1ap_TRPInformationTypeItem_vals[] = {
  {   0, "nrPCI" },
  {   1, "nG-RAN-CGI" },
  {   2, "arfcn" },
  {   3, "pRSConfig" },
  {   4, "sSBConfig" },
  {   5, "sFNInitTime" },
  {   6, "spatialDirectInfo" },
  {   7, "geoCoord" },
  {   8, "trp-type" },
  {   9, "ondemandPRS" },
  {  10, "trpTxTeg" },
  {  11, "beam-antenna-info" },
  {  12, "mobile-trp-location-info" },
  { 0, NULL }
};


static int
dissect_f1ap_TRPInformationTypeItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, true, 5, NULL);

  return offset;
}


static const per_sequence_t TRPListItem_sequence[] = {
  { &hf_f1ap_tRPID          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRPListItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRPListItem, TRPListItem_sequence);

  return offset;
}


static const per_sequence_t TRPList_sequence_of[1] = {
  { &hf_f1ap_TRPList_item   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPListItem },
};

static int
dissect_f1ap_TRPList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_TRPList, TRPList_sequence_of,
                                                  1, maxnoofTRPs, false);

  return offset;
}


static const value_string f1ap_T_phaseQualityResolution_vals[] = {
  {   0, "deg0dot1" },
  {   1, "deg1" },
  { 0, NULL }
};


static int
dissect_f1ap_T_phaseQualityResolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t PhaseQuality_sequence[] = {
  { &hf_f1ap_phaseQualityIndex, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_179 },
  { &hf_f1ap_phaseQualityResolution, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_T_phaseQualityResolution },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PhaseQuality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PhaseQuality, PhaseQuality_sequence);

  return offset;
}


static const per_sequence_t TRP_MeasurementRequestItem_sequence[] = {
  { &hf_f1ap_tRPID          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPID },
  { &hf_f1ap_search_window_information, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_Search_window_information },
  { &hf_f1ap_iE_extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRP_MeasurementRequestItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRP_MeasurementRequestItem, TRP_MeasurementRequestItem_sequence);

  return offset;
}


static const per_sequence_t TRP_MeasurementRequestList_sequence_of[1] = {
  { &hf_f1ap_TRP_MeasurementRequestList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRP_MeasurementRequestItem },
};

static int
dissect_f1ap_TRP_MeasurementRequestList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_TRP_MeasurementRequestList, TRP_MeasurementRequestList_sequence_of,
                                                  1, maxNoOfMeasTRPs, false);

  return offset;
}


static const per_sequence_t TRP_PRS_Info_List_Item_sequence[] = {
  { &hf_f1ap_tRP_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPID },
  { &hf_f1ap_nR_PCI         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRPCI },
  { &hf_f1ap_cGI_NR         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_NRCGI },
  { &hf_f1ap_pRSConfiguration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PRSConfiguration },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRP_PRS_Info_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRP_PRS_Info_List_Item, TRP_PRS_Info_List_Item_sequence);

  return offset;
}


static const per_sequence_t TRP_PRS_Info_List_sequence_of[1] = {
  { &hf_f1ap_TRP_PRS_Info_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRP_PRS_Info_List_Item },
};

static int
dissect_f1ap_TRP_PRS_Info_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_TRP_PRS_Info_List, TRP_PRS_Info_List_sequence_of,
                                                  1, maxnoofPRSTRPs, false);

  return offset;
}


static const per_sequence_t DLPRSResourceID_Item_sequence[] = {
  { &hf_f1ap_dl_PRSResourceID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PRS_Resource_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DLPRSResourceID_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DLPRSResourceID_Item, DLPRSResourceID_Item_sequence);

  return offset;
}


static const per_sequence_t SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceID_Item_sequence_of[1] = {
  { &hf_f1ap_dl_PRSResourceID_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_DLPRSResourceID_Item },
};

static int
dissect_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceID_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceID_Item, SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceID_Item_sequence_of,
                                                  1, maxnoofPRS_ResourcesPerSet, false);

  return offset;
}


static const per_sequence_t TRPTEG_Item_sequence[] = {
  { &hf_f1ap_tRP_Tx_TEGInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TRP_Tx_TEGInformation },
  { &hf_f1ap_dl_PRSResourceSetID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PRS_Resource_Set_ID },
  { &hf_f1ap_dl_PRSResourceID_List, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceID_Item },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRPTEG_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRPTEG_Item, TRPTEG_Item_sequence);

  return offset;
}


static const per_sequence_t TRPTxTEGAssociation_sequence_of[1] = {
  { &hf_f1ap_TRPTxTEGAssociation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPTEG_Item },
};

static int
dissect_f1ap_TRPTxTEGAssociation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_TRPTxTEGAssociation, TRPTxTEGAssociation_sequence_of,
                                                  1, maxnoTRPTEGs, false);

  return offset;
}


static const per_sequence_t Transport_Layer_Address_Info_sequence[] = {
  { &hf_f1ap_transport_UP_Layer_Address_Info_To_Add_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_Transport_UP_Layer_Address_Info_To_Add_List },
  { &hf_f1ap_transport_UP_Layer_Address_Info_To_Remove_List, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Transport_Layer_Address_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Transport_Layer_Address_Info, Transport_Layer_Address_Info_sequence);

  return offset;
}


static const value_string f1ap_TRPType_vals[] = {
  {   0, "prsOnlyTP" },
  {   1, "srsOnlyRP" },
  {   2, "tp" },
  {   3, "rp" },
  {   4, "trp" },
  {   5, "mobile-trp" },
  { 0, NULL }
};


static int
dissect_f1ap_TRPType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     5, NULL, true, 1, NULL);

  return offset;
}


static const per_sequence_t TSCAssistanceInformation_sequence[] = {
  { &hf_f1ap_periodicity_03 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_Periodicity },
  { &hf_f1ap_burstArrivalTime, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_BurstArrivalTime },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TSCAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TSCAssistanceInformation, TSCAssistanceInformation_sequence);

  return offset;
}


static const per_sequence_t TSCTrafficCharacteristics_sequence[] = {
  { &hf_f1ap_tSCAssistanceInformationDL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TSCAssistanceInformation },
  { &hf_f1ap_tSCAssistanceInformationUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TSCAssistanceInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TSCTrafficCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TSCTrafficCharacteristics, TSCTrafficCharacteristics_sequence);

  return offset;
}



static int
dissect_f1ap_INTEGER_M640000_640000_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            -640000, 640000U, NULL, true);

  return offset;
}


static const per_sequence_t TSCFeedbackInformation_sequence[] = {
  { &hf_f1ap_burstArrivalTimeOffset, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_M640000_640000_ },
  { &hf_f1ap_adjustedPeriodicity, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Periodicity },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TSCFeedbackInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TSCFeedbackInformation, TSCFeedbackInformation_sequence);

  return offset;
}


static const per_sequence_t TSCTrafficCharacteristicsFeedback_sequence[] = {
  { &hf_f1ap_tSCFeedbackInformationDL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TSCFeedbackInformation },
  { &hf_f1ap_tSCFeedbackInformationUL, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TSCFeedbackInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TSCTrafficCharacteristicsFeedback(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TSCTrafficCharacteristicsFeedback, TSCTrafficCharacteristicsFeedback_sequence);

  return offset;
}


static const per_sequence_t TRP_MeasurementUpdateItem_sequence[] = {
  { &hf_f1ap_tRP_ID         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TRPID },
  { &hf_f1ap_aoA_window_information, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_AoA_AssistanceInfo },
  { &hf_f1ap_iE_extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRP_MeasurementUpdateItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRP_MeasurementUpdateItem, TRP_MeasurementUpdateItem_sequence);

  return offset;
}


static const per_sequence_t TRP_MeasurementUpdateList_sequence_of[1] = {
  { &hf_f1ap_TRP_MeasurementUpdateList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TRP_MeasurementUpdateItem },
};

static int
dissect_f1ap_TRP_MeasurementUpdateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_TRP_MeasurementUpdateList, TRP_MeasurementUpdateList_sequence_of,
                                                  1, maxNoOfMeasTRPs, false);

  return offset;
}


static const value_string f1ap_TwoPHRModeMCG_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_f1ap_TwoPHRModeMCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_TwoPHRModeSCG_vals[] = {
  {   0, "enabled" },
  { 0, NULL }
};


static int
dissect_f1ap_TwoPHRModeSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_overlapValue_vals[] = {
  {   0, "rb0" },
  {   1, "rb1" },
  {   2, "rb2" },
  {   3, "rb4" },
  { 0, NULL }
};


static int
dissect_f1ap_T_overlapValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, false, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_1_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 6U, NULL, false);

  return offset;
}


static const per_sequence_t TxHoppingConfiguration_sequence[] = {
  { &hf_f1ap_overlapValue   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_overlapValue },
  { &hf_f1ap_numberOfHops   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_1_6 },
  { &hf_f1ap_slotOffsetForRemainingHopsList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SlotOffsetForRemainingHopsList },
  { &hf_f1ap_iE_extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TxHoppingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TxHoppingConfiguration, TxHoppingConfiguration_sequence);

  return offset;
}


static const per_sequence_t TAInformation_Item_sequence[] = {
  { &hf_f1ap_nRCGI          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_NRCGI },
  { &hf_f1ap_tAValue        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TAValue },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TAInformation_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TAInformation_Item, TAInformation_Item_sequence);

  return offset;
}


static const per_sequence_t TAInformation_List_sequence_of[1] = {
  { &hf_f1ap_TAInformation_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_TAInformation_Item },
};

static int
dissect_f1ap_TAInformation_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_TAInformation_List, TAInformation_List_sequence_of,
                                                  1, maxnoofTAList, false);

  return offset;
}



static int
dissect_f1ap_UACReductionIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            0U, 100U, NULL, false);

  return offset;
}


static const value_string f1ap_UACAction_vals[] = {
  {   0, "reject-non-emergency-mo-dt" },
  {   1, "reject-rrc-cr-signalling" },
  {   2, "permit-emergency-sessions-and-mobile-terminated-services-only" },
  {   3, "permit-high-priority-sessions-and-mobile-terminated-services-only" },
  { 0, NULL }
};


static int
dissect_f1ap_UACAction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     4, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_INTEGER_32_63_(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            32U, 63U, NULL, true);

  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     7, 7, false, NULL, 0, NULL, NULL);

  return offset;
}


static const per_sequence_t UACOperatorDefined_sequence[] = {
  { &hf_f1ap_accessCategory , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_32_63_ },
  { &hf_f1ap_accessIdentity , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BIT_STRING_SIZE_7 },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UACOperatorDefined(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UACOperatorDefined, UACOperatorDefined_sequence);

  return offset;
}


static const value_string f1ap_UACCategoryType_vals[] = {
  {   0, "uACstandardized" },
  {   1, "uACOperatorDefined" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t UACCategoryType_choice[] = {
  {   0, &hf_f1ap_uACstandardized, ASN1_NO_EXTENSIONS     , dissect_f1ap_UACAction },
  {   1, &hf_f1ap_uACOperatorDefined, ASN1_NO_EXTENSIONS     , dissect_f1ap_UACOperatorDefined },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_UACCategoryType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_UACCategoryType, UACCategoryType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UACType_Item_sequence[] = {
  { &hf_f1ap_uACReductionIndication, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UACReductionIndication },
  { &hf_f1ap_uACCategoryType, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UACCategoryType },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UACType_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UACType_Item, UACType_Item_sequence);

  return offset;
}


static const per_sequence_t UACType_List_sequence_of[1] = {
  { &hf_f1ap_UACType_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UACType_Item },
};

static int
dissect_f1ap_UACType_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UACType_List, UACType_List_sequence_of,
                                                  1, maxnoofUACperPLMN, false);

  return offset;
}


static const per_sequence_t UACPLMN_Item_sequence[] = {
  { &hf_f1ap_pLMNIdentity   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_PLMN_Identity },
  { &hf_f1ap_uACType_List   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UACType_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UACPLMN_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UACPLMN_Item, UACPLMN_Item_sequence);

  return offset;
}


static const per_sequence_t UACPLMN_List_sequence_of[1] = {
  { &hf_f1ap_UACPLMN_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UACPLMN_Item },
};

static int
dissect_f1ap_UACPLMN_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UACPLMN_List, UACPLMN_List_sequence_of,
                                                  1, maxnoofUACPLMNs, false);

  return offset;
}


static const per_sequence_t UAC_Assistance_Info_sequence[] = {
  { &hf_f1ap_uACPLMN_List   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UACPLMN_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UAC_Assistance_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UAC_Assistance_Info, UAC_Assistance_Info_sequence);

  return offset;
}


static const per_sequence_t UE_associatedLogicalF1_ConnectionItem_sequence[] = {
  { &hf_f1ap_gNB_CU_UE_F1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_GNB_CU_UE_F1AP_ID },
  { &hf_f1ap_gNB_DU_UE_F1AP_ID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_GNB_DU_UE_F1AP_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UE_associatedLogicalF1_ConnectionItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UE_associatedLogicalF1_ConnectionItem, UE_associatedLogicalF1_ConnectionItem_sequence);

  return offset;
}



static int
dissect_f1ap_UEAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UEAssistanceInformation);
    dissect_nr_rrc_UEAssistanceInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_UEAssistanceInformationEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UEAssistanceInformationEUTRA);
    dissect_lte_rrc_UEAssistanceInformation_r11_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const value_string f1ap_UEContextNotRetrievable_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_UEContextNotRetrievable(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}



static int
dissect_f1ap_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
                                     10, 10, false, NULL, 0, NULL, NULL);

  return offset;
}


static const value_string f1ap_UEIdentityIndexValue_vals[] = {
  {   0, "indexLength10" },
  {   1, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t UEIdentityIndexValue_choice[] = {
  {   0, &hf_f1ap_indexLength10  , ASN1_NO_EXTENSIONS     , dissect_f1ap_BIT_STRING_SIZE_10 },
  {   1, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_UEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_UEIdentityIndexValue, UEIdentityIndexValue_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UEIdentity_List_For_Paging_Item_sequence[] = {
  { &hf_f1ap_uEIdentityIndexValue, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UEIdentityIndexValue },
  { &hf_f1ap_pagingDRX      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_PagingDRX },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEIdentity_List_For_Paging_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEIdentity_List_For_Paging_Item, UEIdentity_List_For_Paging_Item_sequence);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_ConfirmedToBeModified_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_mrb_type_reconfiguration, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_MBSPTPRetransmissionTunnelRequired },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_Item, UE_MulticastMRBs_ConfirmedToBeModified_Item_sequence);

  return offset;
}


static const value_string f1ap_T_mrb_type_reconfiguration_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_T_mrb_type_reconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_T_mrb_reconfigured_RLCtype_vals[] = {
  {   0, "rlc-um-ptp" },
  {   1, "rlc-am-ptp" },
  {   2, "rlc-um-dl-ptm" },
  {   3, "two-rlc-um-dl-ptp-and-dl-ptm" },
  {   4, "three-rlc-um-dl-ptp-ul-ptp-dl-ptm" },
  {   5, "two-rlc-am-ptp-um-dl-ptm" },
  { 0, NULL }
};


static int
dissect_f1ap_T_mrb_reconfigured_RLCtype(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     6, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_RequiredToBeModified_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_mrb_type_reconfiguration_01, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_mrb_type_reconfiguration },
  { &hf_f1ap_mrb_reconfigured_RLCtype, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_T_mrb_reconfigured_RLCtype },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UE_MulticastMRBs_RequiredToBeModified_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UE_MulticastMRBs_RequiredToBeModified_Item, UE_MulticastMRBs_RequiredToBeModified_Item_sequence);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_RequiredToBeReleased_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UE_MulticastMRBs_RequiredToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UE_MulticastMRBs_RequiredToBeReleased_Item, UE_MulticastMRBs_RequiredToBeReleased_Item_sequence);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_Setup_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_multicastF1UContextReferenceCU, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MulticastF1UContextReferenceCU },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UE_MulticastMRBs_Setup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UE_MulticastMRBs_Setup_Item, UE_MulticastMRBs_Setup_Item_sequence);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_Setupnew_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_multicastF1UContextReferenceCU, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MulticastF1UContextReferenceCU },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UE_MulticastMRBs_Setupnew_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UE_MulticastMRBs_Setupnew_Item, UE_MulticastMRBs_Setupnew_Item_sequence);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_ToBeReleased_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UE_MulticastMRBs_ToBeReleased_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UE_MulticastMRBs_ToBeReleased_Item, UE_MulticastMRBs_ToBeReleased_Item_sequence);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_ToBeSetup_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_mbsPTPRetransmissionTunnelRequired, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_MBSPTPRetransmissionTunnelRequired },
  { &hf_f1ap_mbsPTPForwardingRequiredInformation, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_MRB_ProgressInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UE_MulticastMRBs_ToBeSetup_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UE_MulticastMRBs_ToBeSetup_Item, UE_MulticastMRBs_ToBeSetup_Item_sequence);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_ToBeSetup_atModify_Item_sequence[] = {
  { &hf_f1ap_mRB_ID         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_MRB_ID },
  { &hf_f1ap_mbsPTPRetransmissionTunnelRequired, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_MBSPTPRetransmissionTunnelRequired },
  { &hf_f1ap_mbsPTPForwardingRequiredInformation, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_MRB_ProgressInformation },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_Item, UE_MulticastMRBs_ToBeSetup_atModify_Item_sequence);

  return offset;
}


static const value_string f1ap_T_iNACTIVEStatePODetermination_vals[] = {
  {   0, "supported" },
  { 0, NULL }
};


static int
dissect_f1ap_T_iNACTIVEStatePODetermination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t UEPagingCapability_sequence[] = {
  { &hf_f1ap_iNACTIVEStatePODetermination, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_T_iNACTIVEStatePODetermination },
  { &hf_f1ap_iE_Extension   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEPagingCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEPagingCapability, UEPagingCapability_sequence);

  return offset;
}


static const value_string f1ap_T_reportingAmount_vals[] = {
  {   0, "ma0" },
  {   1, "ma1" },
  {   2, "ma2" },
  {   3, "ma4" },
  {   4, "ma8" },
  {   5, "ma16" },
  {   6, "ma32" },
  {   7, "ma64" },
  { 0, NULL }
};


static int
dissect_f1ap_T_reportingAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     8, NULL, false, 0, NULL);

  return offset;
}


static const value_string f1ap_T_reportingInterval_vals[] = {
  {   0, "none" },
  {   1, "one" },
  {   2, "two" },
  {   3, "four" },
  {   4, "eight" },
  {   5, "ten" },
  {   6, "sixteen" },
  {   7, "twenty" },
  {   8, "thirty-two" },
  {   9, "sixty-four" },
  { 0, NULL }
};


static int
dissect_f1ap_T_reportingInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     10, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t UEReportingInformation_sequence[] = {
  { &hf_f1ap_reportingAmount, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_reportingAmount },
  { &hf_f1ap_reportingInterval, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_reportingInterval },
  { &hf_f1ap_iE_extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEReportingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEReportingInformation, UEReportingInformation_sequence);

  return offset;
}



static int
dissect_f1ap_UlTxDirectCurrentMoreCarrierInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, NULL);

  return offset;
}


static const per_sequence_t UL_BH_Non_UP_Traffic_Mapping_Item_sequence[] = {
  { &hf_f1ap_nonUPTrafficType, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_NonUPTrafficType },
  { &hf_f1ap_bHInfo         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_BHInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UL_BH_Non_UP_Traffic_Mapping_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UL_BH_Non_UP_Traffic_Mapping_Item, UL_BH_Non_UP_Traffic_Mapping_Item_sequence);

  return offset;
}


static const per_sequence_t UL_BH_Non_UP_Traffic_Mapping_List_sequence_of[1] = {
  { &hf_f1ap_UL_BH_Non_UP_Traffic_Mapping_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UL_BH_Non_UP_Traffic_Mapping_Item },
};

static int
dissect_f1ap_UL_BH_Non_UP_Traffic_Mapping_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UL_BH_Non_UP_Traffic_Mapping_List, UL_BH_Non_UP_Traffic_Mapping_List_sequence_of,
                                                  1, maxnoofNonUPTrafficMappings, false);

  return offset;
}


static const per_sequence_t UL_BH_Non_UP_Traffic_Mapping_sequence[] = {
  { &hf_f1ap_uL_BH_Non_UP_Traffic_Mapping_List, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UL_BH_Non_UP_Traffic_Mapping_List },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UL_BH_Non_UP_Traffic_Mapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UL_BH_Non_UP_Traffic_Mapping, UL_BH_Non_UP_Traffic_Mapping_sequence);

  return offset;
}



static int
dissect_f1ap_UL_GapFR2_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UL_GapFR2_Config);
    dissect_nr_rrc_UL_GapFR2_Config_r17_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}


static const per_sequence_t UL_RSCP_sequence[] = {
  { &hf_f1ap_uLRSCP         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_INTEGER_0_3599 },
  { &hf_f1ap_iE_extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UL_RSCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UL_RSCP, UL_RSCP_sequence);

  return offset;
}


static const per_sequence_t UL_UP_TNL_Information_to_Update_List_Item_sequence[] = {
  { &hf_f1ap_uLUPTNLInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UPTransportLayerInformation },
  { &hf_f1ap_newULUPTNLInformation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_UPTransportLayerInformation },
  { &hf_f1ap_bHInfo         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_BHInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UL_UP_TNL_Information_to_Update_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UL_UP_TNL_Information_to_Update_List_Item, UL_UP_TNL_Information_to_Update_List_Item_sequence);

  return offset;
}


static const per_sequence_t UL_UP_TNL_Address_to_Update_List_Item_sequence[] = {
  { &hf_f1ap_oldIPAdress    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress },
  { &hf_f1ap_newIPAdress    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_TransportLayerAddress },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UL_UP_TNL_Address_to_Update_List_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UL_UP_TNL_Address_to_Update_List_Item, UL_UP_TNL_Address_to_Update_List_Item_sequence);

  return offset;
}



static int
dissect_f1ap_UplinkTxDirectCurrentListInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UplinkTxDirectCurrentListInformation);
    dissect_nr_rrc_UplinkTxDirectCurrentList_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_UplinkTxDirectCurrentTwoCarrierListInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  tvbuff_t *param_tvb = NULL;
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, &param_tvb);

  if (param_tvb) {
    proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_UplinkTxDirectCurrentTwoCarrierListInfo);
    dissect_nr_rrc_UplinkTxDirectCurrentTwoCarrierList_r16_PDU(param_tvb, actx->pinfo, subtree, NULL);
  }


  return offset;
}



static int
dissect_f1ap_URI_address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
                                          NO_BOUND, NO_BOUND, false,
                                          NULL);

  return offset;
}



static int
dissect_f1ap_UuRLCChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
                                                            1U, 32U, NULL, false);

  return offset;
}


static const value_string f1ap_T_uuControlPlaneTrafficType_vals[] = {
  {   0, "srb0" },
  {   1, "srb1" },
  {   2, "srb2" },
  { 0, NULL }
};


static int
dissect_f1ap_T_uuControlPlaneTrafficType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     3, NULL, true, 0, NULL);

  return offset;
}


static const value_string f1ap_UuRLCChannelQoSInformation_vals[] = {
  {   0, "uuRLCChannelQoS" },
  {   1, "uuControlPlaneTrafficType" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t UuRLCChannelQoSInformation_choice[] = {
  {   0, &hf_f1ap_uuRLCChannelQoS, ASN1_NO_EXTENSIONS     , dissect_f1ap_QoSFlowLevelQoSParameters },
  {   1, &hf_f1ap_uuControlPlaneTrafficType, ASN1_NO_EXTENSIONS     , dissect_f1ap_T_uuControlPlaneTrafficType },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_UuRLCChannelQoSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_UuRLCChannelQoSInformation, UuRLCChannelQoSInformation_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t UuRLCChannelToBeSetupItem_sequence[] = {
  { &hf_f1ap_uuRLCChannelID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelID },
  { &hf_f1ap_uuRLCChannelQoSInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelQoSInformation },
  { &hf_f1ap_rLCMode        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_RLCMode },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UuRLCChannelToBeSetupItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UuRLCChannelToBeSetupItem, UuRLCChannelToBeSetupItem_sequence);

  return offset;
}


static const per_sequence_t UuRLCChannelToBeSetupList_sequence_of[1] = {
  { &hf_f1ap_UuRLCChannelToBeSetupList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelToBeSetupItem },
};

static int
dissect_f1ap_UuRLCChannelToBeSetupList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UuRLCChannelToBeSetupList, UuRLCChannelToBeSetupList_sequence_of,
                                                  1, maxnoofUuRLCChannels, false);

  return offset;
}


static const per_sequence_t UuRLCChannelToBeModifiedItem_sequence[] = {
  { &hf_f1ap_uuRLCChannelID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelID },
  { &hf_f1ap_uuRLCChannelQoSInformation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_UuRLCChannelQoSInformation },
  { &hf_f1ap_rLCMode        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_RLCMode },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UuRLCChannelToBeModifiedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UuRLCChannelToBeModifiedItem, UuRLCChannelToBeModifiedItem_sequence);

  return offset;
}


static const per_sequence_t UuRLCChannelToBeModifiedList_sequence_of[1] = {
  { &hf_f1ap_UuRLCChannelToBeModifiedList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelToBeModifiedItem },
};

static int
dissect_f1ap_UuRLCChannelToBeModifiedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UuRLCChannelToBeModifiedList, UuRLCChannelToBeModifiedList_sequence_of,
                                                  1, maxnoofUuRLCChannels, false);

  return offset;
}


static const per_sequence_t UuRLCChannelToBeReleasedItem_sequence[] = {
  { &hf_f1ap_uuRLCChannelID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UuRLCChannelToBeReleasedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UuRLCChannelToBeReleasedItem, UuRLCChannelToBeReleasedItem_sequence);

  return offset;
}


static const per_sequence_t UuRLCChannelToBeReleasedList_sequence_of[1] = {
  { &hf_f1ap_UuRLCChannelToBeReleasedList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelToBeReleasedItem },
};

static int
dissect_f1ap_UuRLCChannelToBeReleasedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UuRLCChannelToBeReleasedList, UuRLCChannelToBeReleasedList_sequence_of,
                                                  1, maxnoofUuRLCChannels, false);

  return offset;
}


static const per_sequence_t UuRLCChannelSetupItem_sequence[] = {
  { &hf_f1ap_uuRLCChannelID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UuRLCChannelSetupItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UuRLCChannelSetupItem, UuRLCChannelSetupItem_sequence);

  return offset;
}


static const per_sequence_t UuRLCChannelSetupList_sequence_of[1] = {
  { &hf_f1ap_UuRLCChannelSetupList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelSetupItem },
};

static int
dissect_f1ap_UuRLCChannelSetupList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UuRLCChannelSetupList, UuRLCChannelSetupList_sequence_of,
                                                  1, maxnoofUuRLCChannels, false);

  return offset;
}


static const per_sequence_t UuRLCChannelFailedToBeSetupItem_sequence[] = {
  { &hf_f1ap_uuRLCChannelID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UuRLCChannelFailedToBeSetupItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UuRLCChannelFailedToBeSetupItem, UuRLCChannelFailedToBeSetupItem_sequence);

  return offset;
}


static const per_sequence_t UuRLCChannelFailedToBeSetupList_sequence_of[1] = {
  { &hf_f1ap_UuRLCChannelFailedToBeSetupList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelFailedToBeSetupItem },
};

static int
dissect_f1ap_UuRLCChannelFailedToBeSetupList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UuRLCChannelFailedToBeSetupList, UuRLCChannelFailedToBeSetupList_sequence_of,
                                                  1, maxnoofUuRLCChannels, false);

  return offset;
}


static const per_sequence_t UuRLCChannelModifiedItem_sequence[] = {
  { &hf_f1ap_uuRLCChannelID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UuRLCChannelModifiedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UuRLCChannelModifiedItem, UuRLCChannelModifiedItem_sequence);

  return offset;
}


static const per_sequence_t UuRLCChannelModifiedList_sequence_of[1] = {
  { &hf_f1ap_UuRLCChannelModifiedList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelModifiedItem },
};

static int
dissect_f1ap_UuRLCChannelModifiedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UuRLCChannelModifiedList, UuRLCChannelModifiedList_sequence_of,
                                                  1, maxnoofUuRLCChannels, false);

  return offset;
}


static const per_sequence_t UuRLCChannelFailedToBeModifiedItem_sequence[] = {
  { &hf_f1ap_uuRLCChannelID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelID },
  { &hf_f1ap_cause          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_Cause },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UuRLCChannelFailedToBeModifiedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UuRLCChannelFailedToBeModifiedItem, UuRLCChannelFailedToBeModifiedItem_sequence);

  return offset;
}


static const per_sequence_t UuRLCChannelFailedToBeModifiedList_sequence_of[1] = {
  { &hf_f1ap_UuRLCChannelFailedToBeModifiedList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelFailedToBeModifiedItem },
};

static int
dissect_f1ap_UuRLCChannelFailedToBeModifiedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UuRLCChannelFailedToBeModifiedList, UuRLCChannelFailedToBeModifiedList_sequence_of,
                                                  1, maxnoofUuRLCChannels, false);

  return offset;
}


static const per_sequence_t UuRLCChannelRequiredToBeModifiedItem_sequence[] = {
  { &hf_f1ap_uuRLCChannelID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UuRLCChannelRequiredToBeModifiedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UuRLCChannelRequiredToBeModifiedItem, UuRLCChannelRequiredToBeModifiedItem_sequence);

  return offset;
}


static const per_sequence_t UuRLCChannelRequiredToBeModifiedList_sequence_of[1] = {
  { &hf_f1ap_UuRLCChannelRequiredToBeModifiedList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelRequiredToBeModifiedItem },
};

static int
dissect_f1ap_UuRLCChannelRequiredToBeModifiedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UuRLCChannelRequiredToBeModifiedList, UuRLCChannelRequiredToBeModifiedList_sequence_of,
                                                  1, maxnoofUuRLCChannels, false);

  return offset;
}


static const per_sequence_t UuRLCChannelRequiredToBeReleasedItem_sequence[] = {
  { &hf_f1ap_uuRLCChannelID , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelID },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UuRLCChannelRequiredToBeReleasedItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UuRLCChannelRequiredToBeReleasedItem, UuRLCChannelRequiredToBeReleasedItem_sequence);

  return offset;
}


static const per_sequence_t UuRLCChannelRequiredToBeReleasedList_sequence_of[1] = {
  { &hf_f1ap_UuRLCChannelRequiredToBeReleasedList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UuRLCChannelRequiredToBeReleasedItem },
};

static int
dissect_f1ap_UuRLCChannelRequiredToBeReleasedList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UuRLCChannelRequiredToBeReleasedList, UuRLCChannelRequiredToBeReleasedList_sequence_of,
                                                  1, maxnoofUuRLCChannels, false);

  return offset;
}


static const per_sequence_t VictimgNBSetID_sequence[] = {
  { &hf_f1ap_victimgNBSetID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_GNBSetID },
  { &hf_f1ap_iE_Extensions  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_VictimgNBSetID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_VictimgNBSetID, VictimgNBSetID_sequence);

  return offset;
}


static const per_sequence_t ValidityAreaSpecificSRSInformation_sequence[] = {
  { &hf_f1ap_transmissionCombPos, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_TransmissionCombPos },
  { &hf_f1ap_resourceMapping, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ResourceMapping },
  { &hf_f1ap_freqDomainShift, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_268 },
  { &hf_f1ap_c_SRS          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_63 },
  { &hf_f1ap_resourceTypePos, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ResourceTypePos },
  { &hf_f1ap_sequenceIDPos  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_INTEGER_0_65535 },
  { &hf_f1ap_iE_extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ValidityAreaSpecificSRSInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ValidityAreaSpecificSRSInformation, ValidityAreaSpecificSRSInformation_sequence);

  return offset;
}


static const value_string f1ap_XR_Bcast_Information_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_XR_Bcast_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t Reset_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Reset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_RESET);
  set_stats_message_type(actx->pinfo, MTYPE_RESET);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Reset, Reset_sequence);

  return offset;
}


static const value_string f1ap_ResetAll_vals[] = {
  {   0, "reset-all" },
  { 0, NULL }
};


static int
dissect_f1ap_ResetAll(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t UE_associatedLogicalF1_ConnectionListRes_sequence_of[1] = {
  { &hf_f1ap_UE_associatedLogicalF1_ConnectionListRes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_UE_associatedLogicalF1_ConnectionListRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UE_associatedLogicalF1_ConnectionListRes, UE_associatedLogicalF1_ConnectionListRes_sequence_of,
                                                  1, maxnoofIndividualF1ConnectionsToReset, false);

  return offset;
}


static const value_string f1ap_ResetType_vals[] = {
  {   0, "f1-Interface" },
  {   1, "partOfF1-Interface" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t ResetType_choice[] = {
  {   0, &hf_f1ap_f1_Interface   , ASN1_NO_EXTENSIONS     , dissect_f1ap_ResetAll },
  {   1, &hf_f1ap_partOfF1_Interface, ASN1_NO_EXTENSIONS     , dissect_f1ap_UE_associatedLogicalF1_ConnectionListRes },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_ResetType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_ResetType, ResetType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t ResetAcknowledge_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_RESET_ACK);
  set_stats_message_type(actx->pinfo, MTYPE_RESET_ACK);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResetAcknowledge, ResetAcknowledge_sequence);

  return offset;
}


static const per_sequence_t UE_associatedLogicalF1_ConnectionListResAck_sequence_of[1] = {
  { &hf_f1ap_UE_associatedLogicalF1_ConnectionListResAck_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_UE_associatedLogicalF1_ConnectionListResAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UE_associatedLogicalF1_ConnectionListResAck, UE_associatedLogicalF1_ConnectionListResAck_sequence_of,
                                                  1, maxnoofIndividualF1ConnectionsToReset, false);

  return offset;
}


static const per_sequence_t ErrorIndication_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_ERROR_INDICATION);
  set_stats_message_type(actx->pinfo, MTYPE_ERROR_INDICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ErrorIndication, ErrorIndication_sequence);

  return offset;
}


static const per_sequence_t F1SetupRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_F1SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_F1_SETUP_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_F1_SETUP_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_F1SetupRequest, F1SetupRequest_sequence);

  return offset;
}


static const per_sequence_t GNB_DU_Served_Cells_List_sequence_of[1] = {
  { &hf_f1ap_GNB_DU_Served_Cells_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_GNB_DU_Served_Cells_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_GNB_DU_Served_Cells_List, GNB_DU_Served_Cells_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t F1SetupResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_F1SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_F1_SETUP_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_F1_SETUP_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_F1SetupResponse, F1SetupResponse_sequence);

  return offset;
}


static const per_sequence_t Cells_to_be_Activated_List_sequence_of[1] = {
  { &hf_f1ap_Cells_to_be_Activated_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Cells_to_be_Activated_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Cells_to_be_Activated_List, Cells_to_be_Activated_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t NCGI_to_be_Updated_List_sequence_of[1] = {
  { &hf_f1ap_NCGI_to_be_Updated_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_NCGI_to_be_Updated_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_NCGI_to_be_Updated_List, NCGI_to_be_Updated_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t F1SetupFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_F1SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_F1_SETUP_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_F1_SETUP_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_F1SetupFailure, F1SetupFailure_sequence);

  return offset;
}


static const per_sequence_t GNBDUConfigurationUpdate_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNBDUConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_GNB_DU_CONFIGURATION_UPDATE);
  set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_CONFIGURATION_UPDATE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNBDUConfigurationUpdate, GNBDUConfigurationUpdate_sequence);

  return offset;
}


static const per_sequence_t Served_Cells_To_Add_List_sequence_of[1] = {
  { &hf_f1ap_Served_Cells_To_Add_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Served_Cells_To_Add_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Served_Cells_To_Add_List, Served_Cells_To_Add_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t Served_Cells_To_Modify_List_sequence_of[1] = {
  { &hf_f1ap_Served_Cells_To_Modify_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Served_Cells_To_Modify_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Served_Cells_To_Modify_List, Served_Cells_To_Modify_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t Served_Cells_To_Delete_List_sequence_of[1] = {
  { &hf_f1ap_Served_Cells_To_Delete_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Served_Cells_To_Delete_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Served_Cells_To_Delete_List, Served_Cells_To_Delete_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t Cells_Status_List_sequence_of[1] = {
  { &hf_f1ap_Cells_Status_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Cells_Status_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Cells_Status_List, Cells_Status_List_sequence_of,
                                                  0, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t Dedicated_SIDelivery_NeededUE_List_sequence_of[1] = {
  { &hf_f1ap_Dedicated_SIDelivery_NeededUE_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Dedicated_SIDelivery_NeededUE_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Dedicated_SIDelivery_NeededUE_List, Dedicated_SIDelivery_NeededUE_List_sequence_of,
                                                  1, maxnoofUEIDs, false);

  return offset;
}


static const per_sequence_t GNB_DU_TNL_Association_To_Remove_List_sequence_of[1] = {
  { &hf_f1ap_GNB_DU_TNL_Association_To_Remove_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_GNB_DU_TNL_Association_To_Remove_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_GNB_DU_TNL_Association_To_Remove_List, GNB_DU_TNL_Association_To_Remove_List_sequence_of,
                                                  1, maxnoofTNLAssociations, false);

  return offset;
}


static const per_sequence_t GNBDUConfigurationUpdateAcknowledge_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNBDUConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE);
  set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_CONFIGURATION_UPDATE_ACKNOWLEDGE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNBDUConfigurationUpdateAcknowledge, GNBDUConfigurationUpdateAcknowledge_sequence);

  return offset;
}


static const per_sequence_t GNBDUConfigurationUpdateFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNBDUConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_GNB_DU_CONFIGURATION_UPDATE_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_CONFIGURATION_UPDATE_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNBDUConfigurationUpdateFailure, GNBDUConfigurationUpdateFailure_sequence);

  return offset;
}


static const per_sequence_t GNBCUConfigurationUpdate_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNBCUConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_GNB_CU_CONFIGURATION_UPDATE);
  set_stats_message_type(actx->pinfo, MTYPE_GNB_CU_CONFIGURATION_UPDATE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNBCUConfigurationUpdate, GNBCUConfigurationUpdate_sequence);

  return offset;
}


static const per_sequence_t Cells_to_be_Deactivated_List_sequence_of[1] = {
  { &hf_f1ap_Cells_to_be_Deactivated_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Cells_to_be_Deactivated_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Cells_to_be_Deactivated_List, Cells_to_be_Deactivated_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t GNB_CU_TNL_Association_To_Add_List_sequence_of[1] = {
  { &hf_f1ap_GNB_CU_TNL_Association_To_Add_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_GNB_CU_TNL_Association_To_Add_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_GNB_CU_TNL_Association_To_Add_List, GNB_CU_TNL_Association_To_Add_List_sequence_of,
                                                  1, maxnoofTNLAssociations, false);

  return offset;
}


static const per_sequence_t GNB_CU_TNL_Association_To_Remove_List_sequence_of[1] = {
  { &hf_f1ap_GNB_CU_TNL_Association_To_Remove_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_GNB_CU_TNL_Association_To_Remove_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_GNB_CU_TNL_Association_To_Remove_List, GNB_CU_TNL_Association_To_Remove_List_sequence_of,
                                                  1, maxnoofTNLAssociations, false);

  return offset;
}


static const per_sequence_t GNB_CU_TNL_Association_To_Update_List_sequence_of[1] = {
  { &hf_f1ap_GNB_CU_TNL_Association_To_Update_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_GNB_CU_TNL_Association_To_Update_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_GNB_CU_TNL_Association_To_Update_List, GNB_CU_TNL_Association_To_Update_List_sequence_of,
                                                  1, maxnoofTNLAssociations, false);

  return offset;
}


static const per_sequence_t Cells_to_be_Barred_List_sequence_of[1] = {
  { &hf_f1ap_Cells_to_be_Barred_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Cells_to_be_Barred_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Cells_to_be_Barred_List, Cells_to_be_Barred_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t Cells_Allowed_to_be_Deactivated_List_sequence_of[1] = {
  { &hf_f1ap_Cells_Allowed_to_be_Deactivated_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Cells_Allowed_to_be_Deactivated_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Cells_Allowed_to_be_Deactivated_List, Cells_Allowed_to_be_Deactivated_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t Protected_EUTRA_Resources_List_sequence_of[1] = {
  { &hf_f1ap_Protected_EUTRA_Resources_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Protected_EUTRA_Resources_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Protected_EUTRA_Resources_List, Protected_EUTRA_Resources_List_sequence_of,
                                                  1, maxCellineNB, false);

  return offset;
}


static const per_sequence_t Neighbour_Cell_Information_List_sequence_of[1] = {
  { &hf_f1ap_Neighbour_Cell_Information_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Neighbour_Cell_Information_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Neighbour_Cell_Information_List, Neighbour_Cell_Information_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t GNBCUConfigurationUpdateAcknowledge_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNBCUConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_GNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE);
  set_stats_message_type(actx->pinfo, MTYPE_GNB_CU_CONFIGURATION_UPDATE_ACKNOWLEDGE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNBCUConfigurationUpdateAcknowledge, GNBCUConfigurationUpdateAcknowledge_sequence);

  return offset;
}


static const per_sequence_t Cells_Failed_to_be_Activated_List_sequence_of[1] = {
  { &hf_f1ap_Cells_Failed_to_be_Activated_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Cells_Failed_to_be_Activated_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Cells_Failed_to_be_Activated_List, Cells_Failed_to_be_Activated_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t GNB_CU_TNL_Association_Setup_List_sequence_of[1] = {
  { &hf_f1ap_GNB_CU_TNL_Association_Setup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_GNB_CU_TNL_Association_Setup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_GNB_CU_TNL_Association_Setup_List, GNB_CU_TNL_Association_Setup_List_sequence_of,
                                                  1, maxnoofTNLAssociations, false);

  return offset;
}


static const per_sequence_t GNB_CU_TNL_Association_Failed_To_Setup_List_sequence_of[1] = {
  { &hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List, GNB_CU_TNL_Association_Failed_To_Setup_List_sequence_of,
                                                  1, maxnoofTNLAssociations, false);

  return offset;
}


static const per_sequence_t GNBCUConfigurationUpdateFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNBCUConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_GNB_CU_CONFIGURATION_UPDATE_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_GNB_CU_CONFIGURATION_UPDATE_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNBCUConfigurationUpdateFailure, GNBCUConfigurationUpdateFailure_sequence);

  return offset;
}


static const per_sequence_t GNBDUResourceCoordinationRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNBDUResourceCoordinationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_GNB_DU_RESOURCE_COORDINATION_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_COORDINATION_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNBDUResourceCoordinationRequest, GNBDUResourceCoordinationRequest_sequence);

  return offset;
}


static const per_sequence_t GNBDUResourceCoordinationResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNBDUResourceCoordinationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_GNB_DU_RESOURCE_COORDINATION_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_COORDINATION_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNBDUResourceCoordinationResponse, GNBDUResourceCoordinationResponse_sequence);

  return offset;
}


static const per_sequence_t UEContextSetupRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_UE_CONTEXT_SETUP_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SETUP_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEContextSetupRequest, UEContextSetupRequest_sequence);

  return offset;
}


static const per_sequence_t Candidate_SpCell_List_sequence_of[1] = {
  { &hf_f1ap_Candidate_SpCell_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Candidate_SpCell_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Candidate_SpCell_List, Candidate_SpCell_List_sequence_of,
                                                  1, maxnoofCandidateSpCells, false);

  return offset;
}


static const per_sequence_t SCell_ToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_SCell_ToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SCell_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SCell_ToBeSetup_List, SCell_ToBeSetup_List_sequence_of,
                                                  1, maxnoofSCells, false);

  return offset;
}


static const per_sequence_t SRBs_ToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_SRBs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SRBs_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRBs_ToBeSetup_List, SRBs_ToBeSetup_List_sequence_of,
                                                  1, maxnoofSRBs, false);

  return offset;
}


static const per_sequence_t DRBs_ToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_DRBs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRBs_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRBs_ToBeSetup_List, DRBs_ToBeSetup_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t BHChannels_ToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_BHChannels_ToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BHChannels_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BHChannels_ToBeSetup_List, BHChannels_ToBeSetup_List_sequence_of,
                                                  1, maxnoofBHRLCChannels, false);

  return offset;
}


static const per_sequence_t SLDRBs_ToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_SLDRBs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SLDRBs_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SLDRBs_ToBeSetup_List, SLDRBs_ToBeSetup_List_sequence_of,
                                                  1, maxnoofSLDRBs, false);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_ToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_UE_MulticastMRBs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_UE_MulticastMRBs_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UE_MulticastMRBs_ToBeSetup_List, UE_MulticastMRBs_ToBeSetup_List_sequence_of,
                                                  1, maxnoofMRBsforUE, false);

  return offset;
}


static const per_sequence_t ServingCellMO_List_sequence_of[1] = {
  { &hf_f1ap_ServingCellMO_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_ServingCellMO_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_ServingCellMO_List, ServingCellMO_List_sequence_of,
                                                  1, maxnoofServingCellMOs, false);

  return offset;
}


static const per_sequence_t UEContextSetupResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_UE_CONTEXT_SETUP_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SETUP_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEContextSetupResponse, UEContextSetupResponse_sequence);

  return offset;
}


static const per_sequence_t DRBs_Setup_List_sequence_of[1] = {
  { &hf_f1ap_DRBs_Setup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRBs_Setup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRBs_Setup_List, DRBs_Setup_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t SRBs_FailedToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_SRBs_FailedToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SRBs_FailedToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRBs_FailedToBeSetup_List, SRBs_FailedToBeSetup_List_sequence_of,
                                                  1, maxnoofSRBs, false);

  return offset;
}


static const per_sequence_t DRBs_FailedToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_DRBs_FailedToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRBs_FailedToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRBs_FailedToBeSetup_List, DRBs_FailedToBeSetup_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t SCell_FailedtoSetup_List_sequence_of[1] = {
  { &hf_f1ap_SCell_FailedtoSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SCell_FailedtoSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SCell_FailedtoSetup_List, SCell_FailedtoSetup_List_sequence_of,
                                                  1, maxnoofSCells, false);

  return offset;
}


static const per_sequence_t SRBs_Setup_List_sequence_of[1] = {
  { &hf_f1ap_SRBs_Setup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SRBs_Setup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRBs_Setup_List, SRBs_Setup_List_sequence_of,
                                                  1, maxnoofSRBs, false);

  return offset;
}


static const per_sequence_t BHChannels_Setup_List_sequence_of[1] = {
  { &hf_f1ap_BHChannels_Setup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BHChannels_Setup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BHChannels_Setup_List, BHChannels_Setup_List_sequence_of,
                                                  1, maxnoofBHRLCChannels, false);

  return offset;
}


static const per_sequence_t BHChannels_FailedToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_BHChannels_FailedToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BHChannels_FailedToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BHChannels_FailedToBeSetup_List, BHChannels_FailedToBeSetup_List_sequence_of,
                                                  1, maxnoofBHRLCChannels, false);

  return offset;
}


static const per_sequence_t SLDRBs_Setup_List_sequence_of[1] = {
  { &hf_f1ap_SLDRBs_Setup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SLDRBs_Setup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SLDRBs_Setup_List, SLDRBs_Setup_List_sequence_of,
                                                  1, maxnoofSLDRBs, false);

  return offset;
}


static const per_sequence_t SLDRBs_FailedToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_SLDRBs_FailedToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SLDRBs_FailedToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SLDRBs_FailedToBeSetup_List, SLDRBs_FailedToBeSetup_List_sequence_of,
                                                  1, maxnoofSLDRBs, false);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_Setupnew_List_sequence_of[1] = {
  { &hf_f1ap_UE_MulticastMRBs_Setupnew_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_UE_MulticastMRBs_Setupnew_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UE_MulticastMRBs_Setupnew_List, UE_MulticastMRBs_Setupnew_List_sequence_of,
                                                  1, maxnoofMRBsforUE, false);

  return offset;
}


static const per_sequence_t UEContextSetupFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_UE_CONTEXT_SETUP_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_SETUP_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEContextSetupFailure, UEContextSetupFailure_sequence);

  return offset;
}


static const per_sequence_t Potential_SpCell_List_sequence_of[1] = {
  { &hf_f1ap_Potential_SpCell_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Potential_SpCell_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Potential_SpCell_List, Potential_SpCell_List_sequence_of,
                                                  0, maxnoofPotentialSpCells, false);

  return offset;
}


static const per_sequence_t UEContextReleaseRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEContextReleaseRequest, UEContextReleaseRequest_sequence);

  return offset;
}


static const per_sequence_t UEContextReleaseCommand_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_COMMAND);
  set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_COMMAND);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEContextReleaseCommand, UEContextReleaseCommand_sequence);

  return offset;
}


static const per_sequence_t UEContextReleaseComplete_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_UE_CONTEXT_RELEASE_COMPLETE);
  set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_RELEASE_COMPLETE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEContextReleaseComplete, UEContextReleaseComplete_sequence);

  return offset;
}


static const per_sequence_t UEContextModificationRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEContextModificationRequest, UEContextModificationRequest_sequence);

  return offset;
}


static const per_sequence_t SCell_ToBeSetupMod_List_sequence_of[1] = {
  { &hf_f1ap_SCell_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SCell_ToBeSetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SCell_ToBeSetupMod_List, SCell_ToBeSetupMod_List_sequence_of,
                                                  1, maxnoofSCells, false);

  return offset;
}


static const per_sequence_t SCell_ToBeRemoved_List_sequence_of[1] = {
  { &hf_f1ap_SCell_ToBeRemoved_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SCell_ToBeRemoved_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SCell_ToBeRemoved_List, SCell_ToBeRemoved_List_sequence_of,
                                                  1, maxnoofSCells, false);

  return offset;
}


static const per_sequence_t SRBs_ToBeSetupMod_List_sequence_of[1] = {
  { &hf_f1ap_SRBs_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SRBs_ToBeSetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRBs_ToBeSetupMod_List, SRBs_ToBeSetupMod_List_sequence_of,
                                                  1, maxnoofSRBs, false);

  return offset;
}


static const per_sequence_t DRBs_ToBeSetupMod_List_sequence_of[1] = {
  { &hf_f1ap_DRBs_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRBs_ToBeSetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRBs_ToBeSetupMod_List, DRBs_ToBeSetupMod_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t BHChannels_ToBeSetupMod_List_sequence_of[1] = {
  { &hf_f1ap_BHChannels_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BHChannels_ToBeSetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BHChannels_ToBeSetupMod_List, BHChannels_ToBeSetupMod_List_sequence_of,
                                                  1, maxnoofBHRLCChannels, false);

  return offset;
}


static const per_sequence_t DRBs_ToBeModified_List_sequence_of[1] = {
  { &hf_f1ap_DRBs_ToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRBs_ToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRBs_ToBeModified_List, DRBs_ToBeModified_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t BHChannels_ToBeModified_List_sequence_of[1] = {
  { &hf_f1ap_BHChannels_ToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BHChannels_ToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BHChannels_ToBeModified_List, BHChannels_ToBeModified_List_sequence_of,
                                                  1, maxnoofBHRLCChannels, false);

  return offset;
}


static const per_sequence_t SRBs_ToBeReleased_List_sequence_of[1] = {
  { &hf_f1ap_SRBs_ToBeReleased_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SRBs_ToBeReleased_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRBs_ToBeReleased_List, SRBs_ToBeReleased_List_sequence_of,
                                                  1, maxnoofSRBs, false);

  return offset;
}


static const per_sequence_t DRBs_ToBeReleased_List_sequence_of[1] = {
  { &hf_f1ap_DRBs_ToBeReleased_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRBs_ToBeReleased_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRBs_ToBeReleased_List, DRBs_ToBeReleased_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t BHChannels_ToBeReleased_List_sequence_of[1] = {
  { &hf_f1ap_BHChannels_ToBeReleased_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BHChannels_ToBeReleased_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BHChannels_ToBeReleased_List, BHChannels_ToBeReleased_List_sequence_of,
                                                  1, maxnoofBHRLCChannels, false);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_ToBeSetup_atModify_List_sequence_of[1] = {
  { &hf_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_List, UE_MulticastMRBs_ToBeSetup_atModify_List_sequence_of,
                                                  1, maxnoofMRBsforUE, false);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_ToBeReleased_List_sequence_of[1] = {
  { &hf_f1ap_UE_MulticastMRBs_ToBeReleased_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_UE_MulticastMRBs_ToBeReleased_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UE_MulticastMRBs_ToBeReleased_List, UE_MulticastMRBs_ToBeReleased_List_sequence_of,
                                                  1, maxnoofMRBsforUE, false);

  return offset;
}


static const per_sequence_t SLDRBs_ToBeSetupMod_List_sequence_of[1] = {
  { &hf_f1ap_SLDRBs_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SLDRBs_ToBeSetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SLDRBs_ToBeSetupMod_List, SLDRBs_ToBeSetupMod_List_sequence_of,
                                                  1, maxnoofSLDRBs, false);

  return offset;
}


static const per_sequence_t SLDRBs_ToBeModified_List_sequence_of[1] = {
  { &hf_f1ap_SLDRBs_ToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SLDRBs_ToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SLDRBs_ToBeModified_List, SLDRBs_ToBeModified_List_sequence_of,
                                                  1, maxnoofSLDRBs, false);

  return offset;
}


static const per_sequence_t SLDRBs_ToBeReleased_List_sequence_of[1] = {
  { &hf_f1ap_SLDRBs_ToBeReleased_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SLDRBs_ToBeReleased_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SLDRBs_ToBeReleased_List, SLDRBs_ToBeReleased_List_sequence_of,
                                                  1, maxnoofSLDRBs, false);

  return offset;
}


static const per_sequence_t UEContextModificationResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEContextModificationResponse, UEContextModificationResponse_sequence);

  return offset;
}


static const per_sequence_t DRBs_SetupMod_List_sequence_of[1] = {
  { &hf_f1ap_DRBs_SetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRBs_SetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRBs_SetupMod_List, DRBs_SetupMod_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t DRBs_Modified_List_sequence_of[1] = {
  { &hf_f1ap_DRBs_Modified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRBs_Modified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRBs_Modified_List, DRBs_Modified_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t SRBs_SetupMod_List_sequence_of[1] = {
  { &hf_f1ap_SRBs_SetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SRBs_SetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRBs_SetupMod_List, SRBs_SetupMod_List_sequence_of,
                                                  1, maxnoofSRBs, false);

  return offset;
}


static const per_sequence_t SRBs_Modified_List_sequence_of[1] = {
  { &hf_f1ap_SRBs_Modified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SRBs_Modified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRBs_Modified_List, SRBs_Modified_List_sequence_of,
                                                  1, maxnoofSRBs, false);

  return offset;
}


static const per_sequence_t DRBs_FailedToBeModified_List_sequence_of[1] = {
  { &hf_f1ap_DRBs_FailedToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRBs_FailedToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRBs_FailedToBeModified_List, DRBs_FailedToBeModified_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t SRBs_FailedToBeSetupMod_List_sequence_of[1] = {
  { &hf_f1ap_SRBs_FailedToBeSetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SRBs_FailedToBeSetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRBs_FailedToBeSetupMod_List, SRBs_FailedToBeSetupMod_List_sequence_of,
                                                  1, maxnoofSRBs, false);

  return offset;
}


static const per_sequence_t DRBs_FailedToBeSetupMod_List_sequence_of[1] = {
  { &hf_f1ap_DRBs_FailedToBeSetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRBs_FailedToBeSetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRBs_FailedToBeSetupMod_List, DRBs_FailedToBeSetupMod_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t SCell_FailedtoSetupMod_List_sequence_of[1] = {
  { &hf_f1ap_SCell_FailedtoSetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SCell_FailedtoSetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SCell_FailedtoSetupMod_List, SCell_FailedtoSetupMod_List_sequence_of,
                                                  1, maxnoofSCells, false);

  return offset;
}


static const per_sequence_t BHChannels_SetupMod_List_sequence_of[1] = {
  { &hf_f1ap_BHChannels_SetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BHChannels_SetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BHChannels_SetupMod_List, BHChannels_SetupMod_List_sequence_of,
                                                  1, maxnoofBHRLCChannels, false);

  return offset;
}


static const per_sequence_t BHChannels_Modified_List_sequence_of[1] = {
  { &hf_f1ap_BHChannels_Modified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BHChannels_Modified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BHChannels_Modified_List, BHChannels_Modified_List_sequence_of,
                                                  1, maxnoofBHRLCChannels, false);

  return offset;
}


static const per_sequence_t BHChannels_FailedToBeModified_List_sequence_of[1] = {
  { &hf_f1ap_BHChannels_FailedToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BHChannels_FailedToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BHChannels_FailedToBeModified_List, BHChannels_FailedToBeModified_List_sequence_of,
                                                  1, maxnoofBHRLCChannels, false);

  return offset;
}


static const per_sequence_t BHChannels_FailedToBeSetupMod_List_sequence_of[1] = {
  { &hf_f1ap_BHChannels_FailedToBeSetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BHChannels_FailedToBeSetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BHChannels_FailedToBeSetupMod_List, BHChannels_FailedToBeSetupMod_List_sequence_of,
                                                  1, maxnoofBHRLCChannels, false);

  return offset;
}


static const per_sequence_t Associated_SCell_List_sequence_of[1] = {
  { &hf_f1ap_Associated_SCell_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Associated_SCell_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Associated_SCell_List, Associated_SCell_List_sequence_of,
                                                  1, maxnoofSCells, false);

  return offset;
}


static const per_sequence_t SLDRBs_SetupMod_List_sequence_of[1] = {
  { &hf_f1ap_SLDRBs_SetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SLDRBs_SetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SLDRBs_SetupMod_List, SLDRBs_SetupMod_List_sequence_of,
                                                  1, maxnoofSLDRBs, false);

  return offset;
}


static const per_sequence_t SLDRBs_Modified_List_sequence_of[1] = {
  { &hf_f1ap_SLDRBs_Modified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SLDRBs_Modified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SLDRBs_Modified_List, SLDRBs_Modified_List_sequence_of,
                                                  1, maxnoofSLDRBs, false);

  return offset;
}


static const per_sequence_t SLDRBs_FailedToBeModified_List_sequence_of[1] = {
  { &hf_f1ap_SLDRBs_FailedToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SLDRBs_FailedToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SLDRBs_FailedToBeModified_List, SLDRBs_FailedToBeModified_List_sequence_of,
                                                  1, maxnoofSLDRBs, false);

  return offset;
}


static const per_sequence_t SLDRBs_FailedToBeSetupMod_List_sequence_of[1] = {
  { &hf_f1ap_SLDRBs_FailedToBeSetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SLDRBs_FailedToBeSetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SLDRBs_FailedToBeSetupMod_List, SLDRBs_FailedToBeSetupMod_List_sequence_of,
                                                  1, maxnoofSLDRBs, false);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_Setup_List_sequence_of[1] = {
  { &hf_f1ap_UE_MulticastMRBs_Setup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_UE_MulticastMRBs_Setup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UE_MulticastMRBs_Setup_List, UE_MulticastMRBs_Setup_List_sequence_of,
                                                  1, maxnoofMRBsforUE, false);

  return offset;
}


static const per_sequence_t UEContextModificationFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEContextModificationFailure, UEContextModificationFailure_sequence);

  return offset;
}


static const per_sequence_t UEContextModificationRequired_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEContextModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_REQUIRED);
  set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_REQUIRED);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEContextModificationRequired, UEContextModificationRequired_sequence);

  return offset;
}


static const per_sequence_t DRBs_Required_ToBeModified_List_sequence_of[1] = {
  { &hf_f1ap_DRBs_Required_ToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRBs_Required_ToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRBs_Required_ToBeModified_List, DRBs_Required_ToBeModified_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t DRBs_Required_ToBeReleased_List_sequence_of[1] = {
  { &hf_f1ap_DRBs_Required_ToBeReleased_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRBs_Required_ToBeReleased_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRBs_Required_ToBeReleased_List, DRBs_Required_ToBeReleased_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t SRBs_Required_ToBeReleased_List_sequence_of[1] = {
  { &hf_f1ap_SRBs_Required_ToBeReleased_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SRBs_Required_ToBeReleased_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SRBs_Required_ToBeReleased_List, SRBs_Required_ToBeReleased_List_sequence_of,
                                                  1, maxnoofSRBs, false);

  return offset;
}


static const per_sequence_t BHChannels_Required_ToBeReleased_List_sequence_of[1] = {
  { &hf_f1ap_BHChannels_Required_ToBeReleased_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BHChannels_Required_ToBeReleased_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BHChannels_Required_ToBeReleased_List, BHChannels_Required_ToBeReleased_List_sequence_of,
                                                  1, maxnoofBHRLCChannels, false);

  return offset;
}


static const per_sequence_t SLDRBs_Required_ToBeModified_List_sequence_of[1] = {
  { &hf_f1ap_SLDRBs_Required_ToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SLDRBs_Required_ToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SLDRBs_Required_ToBeModified_List, SLDRBs_Required_ToBeModified_List_sequence_of,
                                                  1, maxnoofSLDRBs, false);

  return offset;
}


static const per_sequence_t SLDRBs_Required_ToBeReleased_List_sequence_of[1] = {
  { &hf_f1ap_SLDRBs_Required_ToBeReleased_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SLDRBs_Required_ToBeReleased_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SLDRBs_Required_ToBeReleased_List, SLDRBs_Required_ToBeReleased_List_sequence_of,
                                                  1, maxnoofSLDRBs, false);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_RequiredToBeModified_List_sequence_of[1] = {
  { &hf_f1ap_UE_MulticastMRBs_RequiredToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_UE_MulticastMRBs_RequiredToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UE_MulticastMRBs_RequiredToBeModified_List, UE_MulticastMRBs_RequiredToBeModified_List_sequence_of,
                                                  1, maxnoofMRBsforUE, false);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_RequiredToBeReleased_List_sequence_of[1] = {
  { &hf_f1ap_UE_MulticastMRBs_RequiredToBeReleased_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_UE_MulticastMRBs_RequiredToBeReleased_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UE_MulticastMRBs_RequiredToBeReleased_List, UE_MulticastMRBs_RequiredToBeReleased_List_sequence_of,
                                                  1, maxnoofMRBsforUE, false);

  return offset;
}


static const per_sequence_t UEContextModificationConfirm_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEContextModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_CONFIRM);
  set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_CONFIRM);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEContextModificationConfirm, UEContextModificationConfirm_sequence);

  return offset;
}


static const per_sequence_t DRBs_ModifiedConf_List_sequence_of[1] = {
  { &hf_f1ap_DRBs_ModifiedConf_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRBs_ModifiedConf_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRBs_ModifiedConf_List, DRBs_ModifiedConf_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t SLDRBs_ModifiedConf_List_sequence_of[1] = {
  { &hf_f1ap_SLDRBs_ModifiedConf_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_SLDRBs_ModifiedConf_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_SLDRBs_ModifiedConf_List, SLDRBs_ModifiedConf_List_sequence_of,
                                                  1, maxnoofSLDRBs, false);

  return offset;
}


static const per_sequence_t UE_MulticastMRBs_ConfirmedToBeModified_List_sequence_of[1] = {
  { &hf_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_List, UE_MulticastMRBs_ConfirmedToBeModified_List_sequence_of,
                                                  1, maxnoofMRBsforUE, false);

  return offset;
}


static const per_sequence_t UEContextModificationRefuse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEContextModificationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_UE_CONTEXT_MODIFICATION_REFUSE);
  set_stats_message_type(actx->pinfo, MTYPE_UE_CONTEXT_MODIFICATION_REFUSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEContextModificationRefuse, UEContextModificationRefuse_sequence);

  return offset;
}


static const per_sequence_t WriteReplaceWarningRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_WriteReplaceWarningRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_WRITE_REPLACE_WARNING_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_WRITE_REPLACE_WARNING_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_WriteReplaceWarningRequest, WriteReplaceWarningRequest_sequence);

  return offset;
}


static const per_sequence_t Cells_To_Be_Broadcast_List_sequence_of[1] = {
  { &hf_f1ap_Cells_To_Be_Broadcast_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Cells_To_Be_Broadcast_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Cells_To_Be_Broadcast_List, Cells_To_Be_Broadcast_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t WriteReplaceWarningResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_WriteReplaceWarningResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_WRITE_REPLACE_WARNING_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_WRITE_REPLACE_WARNING_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_WriteReplaceWarningResponse, WriteReplaceWarningResponse_sequence);

  return offset;
}


static const per_sequence_t Cells_Broadcast_Completed_List_sequence_of[1] = {
  { &hf_f1ap_Cells_Broadcast_Completed_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Cells_Broadcast_Completed_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Cells_Broadcast_Completed_List, Cells_Broadcast_Completed_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t PWSCancelRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PWSCancelRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PWS_CANCEL_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_PWS_CANCEL_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PWSCancelRequest, PWSCancelRequest_sequence);

  return offset;
}


static const per_sequence_t Broadcast_To_Be_Cancelled_List_sequence_of[1] = {
  { &hf_f1ap_Broadcast_To_Be_Cancelled_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Broadcast_To_Be_Cancelled_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Broadcast_To_Be_Cancelled_List, Broadcast_To_Be_Cancelled_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t PWSCancelResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PWSCancelResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PWS_CANCEL_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_PWS_CANCEL_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PWSCancelResponse, PWSCancelResponse_sequence);

  return offset;
}


static const per_sequence_t Cells_Broadcast_Cancelled_List_sequence_of[1] = {
  { &hf_f1ap_Cells_Broadcast_Cancelled_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Cells_Broadcast_Cancelled_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Cells_Broadcast_Cancelled_List, Cells_Broadcast_Cancelled_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t UEInactivityNotification_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UEInactivityNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_UE_INACTIVITY_NOTIFICATION);
  set_stats_message_type(actx->pinfo, MTYPE_UE_INACTIVITY_NOTIFICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UEInactivityNotification, UEInactivityNotification_sequence);

  return offset;
}


static const per_sequence_t DRB_Activity_List_sequence_of[1] = {
  { &hf_f1ap_DRB_Activity_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRB_Activity_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRB_Activity_List, DRB_Activity_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t InitialULRRCMessageTransfer_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_InitialULRRCMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_INITIAL_UL_RRC_MESSAGE_TRANSFER);
  set_stats_message_type(actx->pinfo, MTYPE_INITIAL_UL_RRC_MESSAGE_TRANSFER);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_InitialULRRCMessageTransfer, InitialULRRCMessageTransfer_sequence);

  return offset;
}


static const per_sequence_t DLRRCMessageTransfer_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DLRRCMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_DL_RRC_MESSAGE_TRANSFER);
  set_stats_message_type(actx->pinfo, MTYPE_DL_RRC_MESSAGE_TRANSFER);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DLRRCMessageTransfer, DLRRCMessageTransfer_sequence);

  return offset;
}



static int
dissect_f1ap_RedirectedRRCmessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                       NO_BOUND, NO_BOUND, false, NULL);

  return offset;
}


static const per_sequence_t ULRRCMessageTransfer_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ULRRCMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_UL_RRC_MESSAGE_TRANSFER);
  set_stats_message_type(actx->pinfo, MTYPE_UL_RRC_MESSAGE_TRANSFER);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ULRRCMessageTransfer, ULRRCMessageTransfer_sequence);

  return offset;
}


static const per_sequence_t PrivateMessage_sequence[] = {
  { &hf_f1ap_privateIEs     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_PrivateIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PRIVATE_MESSAGE);
  set_stats_message_type(actx->pinfo, MTYPE_PRIVATE_MESSAGE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PrivateMessage, PrivateMessage_sequence);

  return offset;
}


static const per_sequence_t SystemInformationDeliveryCommand_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SystemInformationDeliveryCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_SYSTEM_INFORMATION_DELIVERY_COMMAND);
  set_stats_message_type(actx->pinfo, MTYPE_SYSTEM_INFORMATION_DELIVERY_COMMAND);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SystemInformationDeliveryCommand, SystemInformationDeliveryCommand_sequence);

  return offset;
}


static const per_sequence_t Paging_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PAGING);
  set_stats_message_type(actx->pinfo, MTYPE_PAGING);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Paging, Paging_sequence);

  return offset;
}


static const per_sequence_t PagingCell_list_sequence_of[1] = {
  { &hf_f1ap_PagingCell_list_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_PagingCell_list(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PagingCell_list, PagingCell_list_sequence_of,
                                                  1, maxnoofPagingCells, false);

  return offset;
}


static const per_sequence_t Notify_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_Notify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_NOTIFY);
  set_stats_message_type(actx->pinfo, MTYPE_NOTIFY);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_Notify, Notify_sequence);

  return offset;
}


static const per_sequence_t DRB_Notify_List_sequence_of[1] = {
  { &hf_f1ap_DRB_Notify_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DRB_Notify_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DRB_Notify_List, DRB_Notify_List_sequence_of,
                                                  1, maxnoofDRBs, false);

  return offset;
}


static const per_sequence_t NetworkAccessRateReduction_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_NetworkAccessRateReduction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_NETWORK_ACCESS_RATE_REDUCTION);
  set_stats_message_type(actx->pinfo, MTYPE_NETWORK_ACCESS_RATE_REDUCTION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_NetworkAccessRateReduction, NetworkAccessRateReduction_sequence);

  return offset;
}


static const per_sequence_t PWSRestartIndication_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PWSRestartIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PWS_RESTART_INDICATION);
  set_stats_message_type(actx->pinfo, MTYPE_PWS_RESTART_INDICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PWSRestartIndication, PWSRestartIndication_sequence);

  return offset;
}


static const per_sequence_t NR_CGI_List_For_Restart_List_sequence_of[1] = {
  { &hf_f1ap_NR_CGI_List_For_Restart_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_NR_CGI_List_For_Restart_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_NR_CGI_List_For_Restart_List, NR_CGI_List_For_Restart_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t PWSFailureIndication_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PWSFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PWS_FAILURE_INDICATION);
  set_stats_message_type(actx->pinfo, MTYPE_PWS_FAILURE_INDICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PWSFailureIndication, PWSFailureIndication_sequence);

  return offset;
}


static const per_sequence_t PWS_Failed_NR_CGI_List_sequence_of[1] = {
  { &hf_f1ap_PWS_Failed_NR_CGI_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_PWS_Failed_NR_CGI_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_PWS_Failed_NR_CGI_List, PWS_Failed_NR_CGI_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t GNBDUStatusIndication_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNBDUStatusIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_GNB_DU_STATUS_INDICATION);
  set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_STATUS_INDICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNBDUStatusIndication, GNBDUStatusIndication_sequence);

  return offset;
}


static const per_sequence_t RRCDeliveryReport_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RRCDeliveryReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_RRC_DELIVERY_REPORT);
  set_stats_message_type(actx->pinfo, MTYPE_RRC_DELIVERY_REPORT);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RRCDeliveryReport, RRCDeliveryReport_sequence);

  return offset;
}


static const per_sequence_t F1RemovalRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_F1RemovalRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_F1_REMOVAL_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_F1_REMOVAL_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_F1RemovalRequest, F1RemovalRequest_sequence);

  return offset;
}


static const per_sequence_t F1RemovalResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_F1RemovalResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_F1_REMOVAL_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_F1_REMOVAL_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_F1RemovalResponse, F1RemovalResponse_sequence);

  return offset;
}


static const per_sequence_t F1RemovalFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_F1RemovalFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_F1_REMOVAL_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_F1_REMOVAL_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_F1RemovalFailure, F1RemovalFailure_sequence);

  return offset;
}


static const per_sequence_t TraceStart_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_TRACE_START);
  set_stats_message_type(actx->pinfo, MTYPE_TRACE_START);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TraceStart, TraceStart_sequence);

  return offset;
}


static const per_sequence_t DeactivateTrace_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_DEACTIVATE_TRACE);
  set_stats_message_type(actx->pinfo, MTYPE_DEACTIVATE_TRACE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DeactivateTrace, DeactivateTrace_sequence);

  return offset;
}


static const per_sequence_t CellTrafficTrace_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CellTrafficTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_CELL_TRAFFIC_TRACE);
  set_stats_message_type(actx->pinfo, MTYPE_CELL_TRAFFIC_TRACE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CellTrafficTrace, CellTrafficTrace_sequence);

  return offset;
}


static const per_sequence_t DUCURadioInformationTransfer_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DUCURadioInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_DU_CU_RADIO_INFORMATION_TRANSFER);
  set_stats_message_type(actx->pinfo, MTYPE_DU_CU_RADIO_INFORMATION_TRANSFER);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DUCURadioInformationTransfer, DUCURadioInformationTransfer_sequence);

  return offset;
}


static const per_sequence_t CUDURadioInformationTransfer_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CUDURadioInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_CU_DU_RADIO_INFORMATION_TRANSFER);
  set_stats_message_type(actx->pinfo, MTYPE_CU_DU_RADIO_INFORMATION_TRANSFER);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CUDURadioInformationTransfer, CUDURadioInformationTransfer_sequence);

  return offset;
}


static const per_sequence_t BAPMappingConfiguration_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BAPMappingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_BAP_MAPPING_CONFIGURATION);
  set_stats_message_type(actx->pinfo, MTYPE_BAP_MAPPING_CONFIGURATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BAPMappingConfiguration, BAPMappingConfiguration_sequence);

  return offset;
}


static const per_sequence_t BH_Routing_Information_Added_List_sequence_of[1] = {
  { &hf_f1ap_BH_Routing_Information_Added_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BH_Routing_Information_Added_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BH_Routing_Information_Added_List, BH_Routing_Information_Added_List_sequence_of,
                                                  1, maxnoofRoutingEntries, false);

  return offset;
}


static const per_sequence_t BH_Routing_Information_Removed_List_sequence_of[1] = {
  { &hf_f1ap_BH_Routing_Information_Removed_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BH_Routing_Information_Removed_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BH_Routing_Information_Removed_List, BH_Routing_Information_Removed_List_sequence_of,
                                                  1, maxnoofRoutingEntries, false);

  return offset;
}


static const per_sequence_t BAP_Header_Rewriting_Added_List_sequence_of[1] = {
  { &hf_f1ap_BAP_Header_Rewriting_Added_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BAP_Header_Rewriting_Added_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BAP_Header_Rewriting_Added_List, BAP_Header_Rewriting_Added_List_sequence_of,
                                                  1, maxnoofRoutingEntries, false);

  return offset;
}


static const per_sequence_t BAP_Header_Rewriting_Removed_List_sequence_of[1] = {
  { &hf_f1ap_BAP_Header_Rewriting_Removed_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BAP_Header_Rewriting_Removed_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BAP_Header_Rewriting_Removed_List, BAP_Header_Rewriting_Removed_List_sequence_of,
                                                  1, maxnoofRoutingEntries, false);

  return offset;
}


static const per_sequence_t BAPMappingConfigurationAcknowledge_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BAPMappingConfigurationAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_BAP_MAPPING_CONFIGURATION_ACKNOWLEDGE);
  set_stats_message_type(actx->pinfo, MTYPE_BAP_MAPPING_CONFIGURATION_ACKNOWLEDGE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BAPMappingConfigurationAcknowledge, BAPMappingConfigurationAcknowledge_sequence);

  return offset;
}


static const per_sequence_t BAPMappingConfigurationFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BAPMappingConfigurationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_BAP_MAPPING_CONFIGURATION_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_BAP_MAPPING_CONFIGURATION_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BAPMappingConfigurationFailure, BAPMappingConfigurationFailure_sequence);

  return offset;
}


static const per_sequence_t GNBDUResourceConfiguration_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNBDUResourceConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_GNB_DU_RESOURCE_CONFIGURATION);
  set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_CONFIGURATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNBDUResourceConfiguration, GNBDUResourceConfiguration_sequence);

  return offset;
}


static const per_sequence_t GNBDUResourceConfigurationAcknowledge_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNBDUResourceConfigurationAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_GNB_DU_RESOURCE_CONFIGURATION_ACKNOWLEDGE);
  set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_CONFIGURATION_ACKNOWLEDGE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNBDUResourceConfigurationAcknowledge, GNBDUResourceConfigurationAcknowledge_sequence);

  return offset;
}


static const per_sequence_t GNBDUResourceConfigurationFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_GNBDUResourceConfigurationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_GNB_DU_RESOURCE_CONFIGURATION_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_GNB_DU_RESOURCE_CONFIGURATION_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_GNBDUResourceConfigurationFailure, GNBDUResourceConfigurationFailure_sequence);

  return offset;
}


static const per_sequence_t IABTNLAddressRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IABTNLAddressRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_IAB_TNL_ADDRESS_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_IAB_TNL_ADDRESS_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IABTNLAddressRequest, IABTNLAddressRequest_sequence);

  return offset;
}


static const per_sequence_t IAB_TNL_Addresses_To_Remove_List_sequence_of[1] = {
  { &hf_f1ap_IAB_TNL_Addresses_To_Remove_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_IAB_TNL_Addresses_To_Remove_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_IAB_TNL_Addresses_To_Remove_List, IAB_TNL_Addresses_To_Remove_List_sequence_of,
                                                  1, maxnoofTLAsIAB, false);

  return offset;
}


static const per_sequence_t IABTNLAddressResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IABTNLAddressResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_IAB_TNL_ADDRESS_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_IAB_TNL_ADDRESS_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IABTNLAddressResponse, IABTNLAddressResponse_sequence);

  return offset;
}


static const per_sequence_t IAB_Allocated_TNL_Address_List_sequence_of[1] = {
  { &hf_f1ap_IAB_Allocated_TNL_Address_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_IAB_Allocated_TNL_Address_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_IAB_Allocated_TNL_Address_List, IAB_Allocated_TNL_Address_List_sequence_of,
                                                  1, maxnoofTLAsIAB, false);

  return offset;
}


static const per_sequence_t IABTNLAddressFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IABTNLAddressFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_IAB_TNL_ADDRESS_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_IAB_TNL_ADDRESS_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IABTNLAddressFailure, IABTNLAddressFailure_sequence);

  return offset;
}


static const per_sequence_t IABUPConfigurationUpdateRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IABUPConfigurationUpdateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_IAB_UP_CONFIGURATION_UPDATE_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_IAB_UP_CONFIGURATION_UPDATE_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IABUPConfigurationUpdateRequest, IABUPConfigurationUpdateRequest_sequence);

  return offset;
}


static const per_sequence_t UL_UP_TNL_Information_to_Update_List_sequence_of[1] = {
  { &hf_f1ap_UL_UP_TNL_Information_to_Update_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_UL_UP_TNL_Information_to_Update_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UL_UP_TNL_Information_to_Update_List, UL_UP_TNL_Information_to_Update_List_sequence_of,
                                                  1, maxnoofULUPTNLInformationforIAB, false);

  return offset;
}


static const per_sequence_t UL_UP_TNL_Address_to_Update_List_sequence_of[1] = {
  { &hf_f1ap_UL_UP_TNL_Address_to_Update_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_UL_UP_TNL_Address_to_Update_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UL_UP_TNL_Address_to_Update_List, UL_UP_TNL_Address_to_Update_List_sequence_of,
                                                  1, maxnoofUPTNLAddresses, false);

  return offset;
}


static const per_sequence_t IABUPConfigurationUpdateResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IABUPConfigurationUpdateResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_IAB_UP_CONFIGURATION_UPDATE_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_IAB_UP_CONFIGURATION_UPDATE_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IABUPConfigurationUpdateResponse, IABUPConfigurationUpdateResponse_sequence);

  return offset;
}


static const per_sequence_t DL_UP_TNL_Address_to_Update_List_sequence_of[1] = {
  { &hf_f1ap_DL_UP_TNL_Address_to_Update_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_DL_UP_TNL_Address_to_Update_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_DL_UP_TNL_Address_to_Update_List, DL_UP_TNL_Address_to_Update_List_sequence_of,
                                                  1, maxnoofUPTNLAddresses, false);

  return offset;
}


static const per_sequence_t IABUPConfigurationUpdateFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_IABUPConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_IAB_UP_CONFIGURATION_UPDATE_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_IAB_UP_CONFIGURATION_UPDATE_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_IABUPConfigurationUpdateFailure, IABUPConfigurationUpdateFailure_sequence);

  return offset;
}


static const per_sequence_t MIABF1SetupTriggering_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MIABF1SetupTriggering(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MIAB_F1_SETUP_TRIGGERING);
  set_stats_message_type(actx->pinfo, MTYPE_MIAB_F1_SETUP_TRIGGERING);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MIABF1SetupTriggering, MIABF1SetupTriggering_sequence);

  return offset;
}


static const per_sequence_t MIABF1SetupOutcomeNotification_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MIABF1SetupOutcomeNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MIAB_F1_SETUP_OUTCOME_NOTIFICATION);
  set_stats_message_type(actx->pinfo, MTYPE_MIAB_F1_SETUP_OUTCOME_NOTIFICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MIABF1SetupOutcomeNotification, MIABF1SetupOutcomeNotification_sequence);

  return offset;
}


static const value_string f1ap_F1SetupOutcome_vals[] = {
  {   0, "success" },
  {   1, "failure" },
  { 0, NULL }
};


static int
dissect_f1ap_F1SetupOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     2, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t Activated_Cells_Mapping_List_sequence_of[1] = {
  { &hf_f1ap_Activated_Cells_Mapping_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Activated_Cells_Mapping_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Activated_Cells_Mapping_List, Activated_Cells_Mapping_List_sequence_of,
                                                  1, maxCellingNBDU, false);

  return offset;
}


static const per_sequence_t ResourceStatusRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_RESOURCE_STATUS_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_RESOURCE_STATUS_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceStatusRequest, ResourceStatusRequest_sequence);

  return offset;
}


static const per_sequence_t ResourceStatusResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_RESOURCE_STATUS_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_RESOURCE_STATUS_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceStatusResponse, ResourceStatusResponse_sequence);

  return offset;
}


static const per_sequence_t ResourceStatusFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_RESOURCE_STATUS_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_RESOURCE_STATUS_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceStatusFailure, ResourceStatusFailure_sequence);

  return offset;
}


static const per_sequence_t ResourceStatusUpdate_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_RESOURCE_STATUS_UPDATE);
  set_stats_message_type(actx->pinfo, MTYPE_RESOURCE_STATUS_UPDATE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ResourceStatusUpdate, ResourceStatusUpdate_sequence);

  return offset;
}


static const per_sequence_t AccessAndMobilityIndication_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AccessAndMobilityIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_ACCESS_AND_MOBILITY_INDICATION);
  set_stats_message_type(actx->pinfo, MTYPE_ACCESS_AND_MOBILITY_INDICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AccessAndMobilityIndication, AccessAndMobilityIndication_sequence);

  return offset;
}


static const per_sequence_t ReferenceTimeInformationReportingControl_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ReferenceTimeInformationReportingControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_REFERENCE_TIME_INFORMATION_REPORTING_CONTROL);
  set_stats_message_type(actx->pinfo, MTYPE_REFERENCE_TIME_INFORMATION_REPORTING_CONTROL);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ReferenceTimeInformationReportingControl, ReferenceTimeInformationReportingControl_sequence);

  return offset;
}


static const per_sequence_t ReferenceTimeInformationReport_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_ReferenceTimeInformationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_REFERENCE_TIME_INFORMATION_REPORT);
  set_stats_message_type(actx->pinfo, MTYPE_REFERENCE_TIME_INFORMATION_REPORT);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_ReferenceTimeInformationReport, ReferenceTimeInformationReport_sequence);

  return offset;
}


static const per_sequence_t AccessSuccess_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AccessSuccess(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_ACCESS_SUCCESS);
  set_stats_message_type(actx->pinfo, MTYPE_ACCESS_SUCCESS);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AccessSuccess, AccessSuccess_sequence);

  return offset;
}


static const per_sequence_t PositioningAssistanceInformationControl_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningAssistanceInformationControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_ASSISTANCE_INFORMATION_CONTROL);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ASSISTANCE_INFORMATION_CONTROL);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningAssistanceInformationControl, PositioningAssistanceInformationControl_sequence);

  return offset;
}


static const per_sequence_t PositioningAssistanceInformationFeedback_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningAssistanceInformationFeedback(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_ASSISTANCE_INFORMATION_FEEDBACK);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ASSISTANCE_INFORMATION_FEEDBACK);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningAssistanceInformationFeedback, PositioningAssistanceInformationFeedback_sequence);

  return offset;
}


static const per_sequence_t PositioningMeasurementRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningMeasurementRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningMeasurementRequest, PositioningMeasurementRequest_sequence);

  return offset;
}


static const per_sequence_t PositioningMeasurementResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningMeasurementResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningMeasurementResponse, PositioningMeasurementResponse_sequence);

  return offset;
}


static const per_sequence_t PositioningMeasurementFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningMeasurementFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningMeasurementFailure, PositioningMeasurementFailure_sequence);

  return offset;
}


static const per_sequence_t PositioningMeasurementReport_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningMeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_REPORT);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_REPORT);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningMeasurementReport, PositioningMeasurementReport_sequence);

  return offset;
}


static const per_sequence_t PositioningMeasurementAbort_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningMeasurementAbort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_ABORT);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_ABORT);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningMeasurementAbort, PositioningMeasurementAbort_sequence);

  return offset;
}


static const per_sequence_t PositioningMeasurementFailureIndication_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningMeasurementFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_FAILURE_INDICATION);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_FAILURE_INDICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningMeasurementFailureIndication, PositioningMeasurementFailureIndication_sequence);

  return offset;
}


static const per_sequence_t PositioningMeasurementUpdate_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningMeasurementUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_MEASUREMENT_UPDATE);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_MEASUREMENT_UPDATE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningMeasurementUpdate, PositioningMeasurementUpdate_sequence);

  return offset;
}


static const per_sequence_t TRPInformationRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRPInformationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_TRP_INFORMATION_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_TRP_INFORMATION_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRPInformationRequest, TRPInformationRequest_sequence);

  return offset;
}


static const per_sequence_t TRPInformationTypeListTRPReq_sequence_of[1] = {
  { &hf_f1ap_TRPInformationTypeListTRPReq_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_TRPInformationTypeListTRPReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_TRPInformationTypeListTRPReq, TRPInformationTypeListTRPReq_sequence_of,
                                                  1, maxnoofTRPInfoTypes, false);

  return offset;
}


static const per_sequence_t TRPInformationResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRPInformationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_TRP_INFORMATION_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_TRP_INFORMATION_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRPInformationResponse, TRPInformationResponse_sequence);

  return offset;
}


static const per_sequence_t TRPInformationListTRPResp_sequence_of[1] = {
  { &hf_f1ap_TRPInformationListTRPResp_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_TRPInformationListTRPResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_TRPInformationListTRPResp, TRPInformationListTRPResp_sequence_of,
                                                  1, maxnoofTRPs, false);

  return offset;
}


static const per_sequence_t TRPInformationFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TRPInformationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_TRP_INFORMATION_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_TRP_INFORMATION_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TRPInformationFailure, TRPInformationFailure_sequence);

  return offset;
}


static const per_sequence_t PositioningInformationRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningInformationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_INFORMATION_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_INFORMATION_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningInformationRequest, PositioningInformationRequest_sequence);

  return offset;
}


static const per_sequence_t PositioningInformationResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningInformationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_INFORMATION_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_INFORMATION_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningInformationResponse, PositioningInformationResponse_sequence);

  return offset;
}


static const per_sequence_t PositioningInformationFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningInformationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_INFORMATION_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_INFORMATION_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningInformationFailure, PositioningInformationFailure_sequence);

  return offset;
}


static const per_sequence_t PositioningActivationRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_ACTIVATION_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ACTIVATION_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningActivationRequest, PositioningActivationRequest_sequence);

  return offset;
}


static const per_sequence_t SemipersistentSRS_sequence[] = {
  { &hf_f1ap_sRSResourceSetID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_SRSResourceSetID },
  { &hf_f1ap_sRSSpatialRelation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_SpatialRelationInfo },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SemipersistentSRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SemipersistentSRS, SemipersistentSRS_sequence);

  return offset;
}


static const value_string f1ap_T_aperiodic_vals[] = {
  {   0, "true" },
  { 0, NULL }
};


static int
dissect_f1ap_T_aperiodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
                                     1, NULL, true, 0, NULL);

  return offset;
}


static const per_sequence_t AperiodicSRS_sequence[] = {
  { &hf_f1ap_aperiodic_05   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_T_aperiodic },
  { &hf_f1ap_sRSResourceTrigger, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_SRSResourceTrigger },
  { &hf_f1ap_iE_Extensions  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_f1ap_ProtocolExtensionContainer },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_AperiodicSRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_AperiodicSRS, AperiodicSRS_sequence);

  return offset;
}


static const value_string f1ap_SRSType_vals[] = {
  {   0, "semipersistentSRS" },
  {   1, "aperiodicSRS" },
  {   2, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t SRSType_choice[] = {
  {   0, &hf_f1ap_semipersistentSRS, ASN1_NO_EXTENSIONS     , dissect_f1ap_SemipersistentSRS },
  {   1, &hf_f1ap_aperiodicSRS   , ASN1_NO_EXTENSIONS     , dissect_f1ap_AperiodicSRS },
  {   2, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_SRSType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_SRSType, SRSType_choice,
                                 NULL);

  return offset;
}


static const per_sequence_t PositioningActivationResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningActivationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_ACTIVATION_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ACTIVATION_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningActivationResponse, PositioningActivationResponse_sequence);

  return offset;
}


static const per_sequence_t PositioningActivationFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningActivationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_ACTIVATION_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_ACTIVATION_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningActivationFailure, PositioningActivationFailure_sequence);

  return offset;
}


static const per_sequence_t PositioningDeactivation_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningDeactivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_DEACTIVATION);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_DEACTIVATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningDeactivation, PositioningDeactivation_sequence);

  return offset;
}


static const per_sequence_t PositioningInformationUpdate_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PositioningInformationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POSITIONING_INFORMATION_UPDATE);
  set_stats_message_type(actx->pinfo, MTYPE_POSITIONING_INFORMATION_UPDATE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PositioningInformationUpdate, PositioningInformationUpdate_sequence);

  return offset;
}


static const per_sequence_t SRSInformationReservationNotification_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SRSInformationReservationNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_SRS_INFORMATION_RESERVATION_NOTIFICATION);
  set_stats_message_type(actx->pinfo, MTYPE_SRS_INFORMATION_RESERVATION_NOTIFICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SRSInformationReservationNotification, SRSInformationReservationNotification_sequence);

  return offset;
}


static const per_sequence_t E_CIDMeasurementInitiationRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_E_CIDMeasurementInitiationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_E_CID_MEASUREMENT_INITIATION_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_INITIATION_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_E_CIDMeasurementInitiationRequest, E_CIDMeasurementInitiationRequest_sequence);

  return offset;
}


static const per_sequence_t E_CIDMeasurementInitiationResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_E_CIDMeasurementInitiationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_E_CID_MEASUREMENT_INITIATION_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_INITIATION_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_E_CIDMeasurementInitiationResponse, E_CIDMeasurementInitiationResponse_sequence);

  return offset;
}


static const per_sequence_t E_CIDMeasurementInitiationFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_E_CIDMeasurementInitiationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_E_CID_MEASUREMENT_INITIATION_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_INITIATION_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_E_CIDMeasurementInitiationFailure, E_CIDMeasurementInitiationFailure_sequence);

  return offset;
}


static const per_sequence_t E_CIDMeasurementFailureIndication_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_E_CIDMeasurementFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_E_CID_MEASUREMENT_FAILURE_INDICATION);
  set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_FAILURE_INDICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_E_CIDMeasurementFailureIndication, E_CIDMeasurementFailureIndication_sequence);

  return offset;
}


static const per_sequence_t E_CIDMeasurementReport_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_E_CIDMeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_E_CID_MEASUREMENT_REPORT);
  set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_REPORT);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_E_CIDMeasurementReport, E_CIDMeasurementReport_sequence);

  return offset;
}


static const per_sequence_t E_CIDMeasurementTerminationCommand_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_E_CIDMeasurementTerminationCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_E_CID_MEASUREMENT_TERMINATION_COMMAND);
  set_stats_message_type(actx->pinfo, MTYPE_E_CID_MEASUREMENT_TERMINATION_COMMAND);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_E_CIDMeasurementTerminationCommand, E_CIDMeasurementTerminationCommand_sequence);

  return offset;
}


static const per_sequence_t BroadcastContextSetupRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_BROADCAST_CONTEXT_SETUP_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_SETUP_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastContextSetupRequest, BroadcastContextSetupRequest_sequence);

  return offset;
}


static const per_sequence_t BroadcastMRBs_ToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_BroadcastMRBs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BroadcastMRBs_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastMRBs_ToBeSetup_List, BroadcastMRBs_ToBeSetup_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t BroadcastContextSetupResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_BROADCAST_CONTEXT_SETUP_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_SETUP_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastContextSetupResponse, BroadcastContextSetupResponse_sequence);

  return offset;
}


static const per_sequence_t BroadcastMRBs_Setup_List_sequence_of[1] = {
  { &hf_f1ap_BroadcastMRBs_Setup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BroadcastMRBs_Setup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastMRBs_Setup_List, BroadcastMRBs_Setup_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t BroadcastMRBs_FailedToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_BroadcastMRBs_FailedToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BroadcastMRBs_FailedToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastMRBs_FailedToBeSetup_List, BroadcastMRBs_FailedToBeSetup_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t BroadcastContextSetupFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_BROADCAST_CONTEXT_SETUP_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_SETUP_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastContextSetupFailure, BroadcastContextSetupFailure_sequence);

  return offset;
}


static const per_sequence_t BroadcastContextReleaseCommand_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_BROADCAST_CONTEXT_RELEASE_COMMAND);
  set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_RELEASE_COMMAND);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastContextReleaseCommand, BroadcastContextReleaseCommand_sequence);

  return offset;
}


static const per_sequence_t BroadcastContextReleaseComplete_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_BROADCAST_CONTEXT_RELEASE_COMPLETE);
  set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_RELEASE_COMPLETE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastContextReleaseComplete, BroadcastContextReleaseComplete_sequence);

  return offset;
}


static const per_sequence_t BroadcastContextReleaseRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_BROADCAST_CONTEXT_RELEASE_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_RELEASE_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastContextReleaseRequest, BroadcastContextReleaseRequest_sequence);

  return offset;
}


static const per_sequence_t BroadcastContextModificationRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_BROADCAST_CONTEXT_MODIFICATION_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_MODIFICATION_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastContextModificationRequest, BroadcastContextModificationRequest_sequence);

  return offset;
}


static const per_sequence_t BroadcastMRBs_ToBeSetupMod_List_sequence_of[1] = {
  { &hf_f1ap_BroadcastMRBs_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BroadcastMRBs_ToBeSetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastMRBs_ToBeSetupMod_List, BroadcastMRBs_ToBeSetupMod_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t BroadcastMRBs_ToBeModified_List_sequence_of[1] = {
  { &hf_f1ap_BroadcastMRBs_ToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BroadcastMRBs_ToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastMRBs_ToBeModified_List, BroadcastMRBs_ToBeModified_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t BroadcastMRBs_ToBeReleased_List_sequence_of[1] = {
  { &hf_f1ap_BroadcastMRBs_ToBeReleased_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BroadcastMRBs_ToBeReleased_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastMRBs_ToBeReleased_List, BroadcastMRBs_ToBeReleased_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t BroadcastContextModificationResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_BROADCAST_CONTEXT_MODIFICATION_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_MODIFICATION_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastContextModificationResponse, BroadcastContextModificationResponse_sequence);

  return offset;
}


static const per_sequence_t BroadcastMRBs_SetupMod_List_sequence_of[1] = {
  { &hf_f1ap_BroadcastMRBs_SetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BroadcastMRBs_SetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastMRBs_SetupMod_List, BroadcastMRBs_SetupMod_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t BroadcastMRBs_FailedToBeSetupMod_List_sequence_of[1] = {
  { &hf_f1ap_BroadcastMRBs_FailedToBeSetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BroadcastMRBs_FailedToBeSetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastMRBs_FailedToBeSetupMod_List, BroadcastMRBs_FailedToBeSetupMod_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t BroadcastMRBs_Modified_List_sequence_of[1] = {
  { &hf_f1ap_BroadcastMRBs_Modified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BroadcastMRBs_Modified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastMRBs_Modified_List, BroadcastMRBs_Modified_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t BroadcastMRBs_FailedToBeModified_List_sequence_of[1] = {
  { &hf_f1ap_BroadcastMRBs_FailedToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_BroadcastMRBs_FailedToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_BroadcastMRBs_FailedToBeModified_List, BroadcastMRBs_FailedToBeModified_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t BroadcastContextModificationFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_BROADCAST_CONTEXT_MODIFICATION_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_CONTEXT_MODIFICATION_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastContextModificationFailure, BroadcastContextModificationFailure_sequence);

  return offset;
}


static const per_sequence_t BroadcastTransportResourceRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_BroadcastTransportResourceRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_BROADCAST_TRANSPORT_RESOURCE_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_BROADCAST_TRANSPORT_RESOURCE_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_BroadcastTransportResourceRequest, BroadcastTransportResourceRequest_sequence);

  return offset;
}


static const per_sequence_t Broadcast_MRBs_Transport_Request_List_sequence_of[1] = {
  { &hf_f1ap_Broadcast_MRBs_Transport_Request_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_Broadcast_MRBs_Transport_Request_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_Broadcast_MRBs_Transport_Request_List, Broadcast_MRBs_Transport_Request_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastGroupPaging_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastGroupPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_GROUP_PAGING);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_GROUP_PAGING);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastGroupPaging, MulticastGroupPaging_sequence);

  return offset;
}


static const per_sequence_t UEIdentity_List_For_Paging_List_sequence_of[1] = {
  { &hf_f1ap_UEIdentity_List_For_Paging_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_UEIdentity_List_For_Paging_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_UEIdentity_List_For_Paging_List, UEIdentity_List_For_Paging_List_sequence_of,
                                                  1, maxnoofUEIDforPaging, false);

  return offset;
}


static const per_sequence_t MC_PagingCell_list_sequence_of[1] = {
  { &hf_f1ap_MC_PagingCell_list_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_MC_PagingCell_list(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MC_PagingCell_list, MC_PagingCell_list_sequence_of,
                                                  1, maxnoofPagingCells, false);

  return offset;
}


static const per_sequence_t MulticastContextSetupRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_CONTEXT_SETUP_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_SETUP_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastContextSetupRequest, MulticastContextSetupRequest_sequence);

  return offset;
}


static const per_sequence_t MulticastMRBs_ToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_MulticastMRBs_ToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_MulticastMRBs_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastMRBs_ToBeSetup_List, MulticastMRBs_ToBeSetup_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastContextSetupResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_CONTEXT_SETUP_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_SETUP_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastContextSetupResponse, MulticastContextSetupResponse_sequence);

  return offset;
}


static const per_sequence_t MulticastMRBs_Setup_List_sequence_of[1] = {
  { &hf_f1ap_MulticastMRBs_Setup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_MulticastMRBs_Setup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastMRBs_Setup_List, MulticastMRBs_Setup_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastMRBs_FailedToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_MulticastMRBs_FailedToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_MulticastMRBs_FailedToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastMRBs_FailedToBeSetup_List, MulticastMRBs_FailedToBeSetup_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastContextSetupFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_CONTEXT_SETUP_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_SETUP_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastContextSetupFailure, MulticastContextSetupFailure_sequence);

  return offset;
}


static const per_sequence_t MulticastContextReleaseCommand_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_CONTEXT_RELEASE_COMMAND);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_RELEASE_COMMAND);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastContextReleaseCommand, MulticastContextReleaseCommand_sequence);

  return offset;
}


static const per_sequence_t MulticastContextReleaseComplete_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_CONTEXT_RELEASE_COMPLETE);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_RELEASE_COMPLETE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastContextReleaseComplete, MulticastContextReleaseComplete_sequence);

  return offset;
}


static const per_sequence_t MulticastContextReleaseRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_CONTEXT_RELEASE_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_RELEASE_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastContextReleaseRequest, MulticastContextReleaseRequest_sequence);

  return offset;
}


static const per_sequence_t MulticastContextModificationRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_CONTEXT_MODIFICATION_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_MODIFICATION_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastContextModificationRequest, MulticastContextModificationRequest_sequence);

  return offset;
}


static const per_sequence_t MulticastMRBs_ToBeSetupMod_List_sequence_of[1] = {
  { &hf_f1ap_MulticastMRBs_ToBeSetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_MulticastMRBs_ToBeSetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastMRBs_ToBeSetupMod_List, MulticastMRBs_ToBeSetupMod_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastMRBs_ToBeModified_List_sequence_of[1] = {
  { &hf_f1ap_MulticastMRBs_ToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_MulticastMRBs_ToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastMRBs_ToBeModified_List, MulticastMRBs_ToBeModified_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastMRBs_ToBeReleased_List_sequence_of[1] = {
  { &hf_f1ap_MulticastMRBs_ToBeReleased_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_MulticastMRBs_ToBeReleased_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastMRBs_ToBeReleased_List, MulticastMRBs_ToBeReleased_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastContextModificationResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_CONTEXT_MODIFICATION_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_MODIFICATION_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastContextModificationResponse, MulticastContextModificationResponse_sequence);

  return offset;
}


static const per_sequence_t MulticastMRBs_SetupMod_List_sequence_of[1] = {
  { &hf_f1ap_MulticastMRBs_SetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_MulticastMRBs_SetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastMRBs_SetupMod_List, MulticastMRBs_SetupMod_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastMRBs_FailedToBeSetupMod_List_sequence_of[1] = {
  { &hf_f1ap_MulticastMRBs_FailedToBeSetupMod_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_MulticastMRBs_FailedToBeSetupMod_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastMRBs_FailedToBeSetupMod_List, MulticastMRBs_FailedToBeSetupMod_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastMRBs_Modified_List_sequence_of[1] = {
  { &hf_f1ap_MulticastMRBs_Modified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_MulticastMRBs_Modified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastMRBs_Modified_List, MulticastMRBs_Modified_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastMRBs_FailedToBeModified_List_sequence_of[1] = {
  { &hf_f1ap_MulticastMRBs_FailedToBeModified_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_MulticastMRBs_FailedToBeModified_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastMRBs_FailedToBeModified_List, MulticastMRBs_FailedToBeModified_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastContextModificationFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_CONTEXT_MODIFICATION_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_MODIFICATION_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastContextModificationFailure, MulticastContextModificationFailure_sequence);

  return offset;
}


static const per_sequence_t MulticastContextNotificationIndication_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastContextNotificationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_CONTEXT_NOTIFICATION_INDICATION);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_NOTIFICATION_INDICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastContextNotificationIndication, MulticastContextNotificationIndication_sequence);

  return offset;
}


static const per_sequence_t MulticastContextNotificationConfirm_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastContextNotificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_CONTEXT_NOTIFICATION_CONFIRM);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_NOTIFICATION_CONFIRM);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastContextNotificationConfirm, MulticastContextNotificationConfirm_sequence);

  return offset;
}


static const per_sequence_t MulticastContextNotificationRefuse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastContextNotificationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_CONTEXT_NOTIFICATION_REFUSE);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_CONTEXT_NOTIFICATION_REFUSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastContextNotificationRefuse, MulticastContextNotificationRefuse_sequence);

  return offset;
}


static const per_sequence_t MulticastCommonConfigurationRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastCommonConfigurationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_COMMON_CONFIGURATION_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_COMMON_CONFIGURATION_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastCommonConfigurationRequest, MulticastCommonConfigurationRequest_sequence);

  return offset;
}


static const per_sequence_t MulticastCommonConfigurationResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastCommonConfigurationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_COMMON_CONFIGURATION_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_COMMON_CONFIGURATION_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastCommonConfigurationResponse, MulticastCommonConfigurationResponse_sequence);

  return offset;
}


static const per_sequence_t MulticastCommonConfigurationRefuse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastCommonConfigurationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_COMMON_CONFIGURATION_REFUSE);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_COMMON_CONFIGURATION_REFUSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastCommonConfigurationRefuse, MulticastCommonConfigurationRefuse_sequence);

  return offset;
}


static const per_sequence_t MulticastDistributionSetupRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastDistributionSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_DISTRIBUTION_SETUP_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_DISTRIBUTION_SETUP_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastDistributionSetupRequest, MulticastDistributionSetupRequest_sequence);

  return offset;
}


static const per_sequence_t MulticastF1UContext_ToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_MulticastF1UContext_ToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_MulticastF1UContext_ToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastF1UContext_ToBeSetup_List, MulticastF1UContext_ToBeSetup_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastDistributionSetupResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastDistributionSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_DISTRIBUTION_SETUP_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_DISTRIBUTION_SETUP_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastDistributionSetupResponse, MulticastDistributionSetupResponse_sequence);

  return offset;
}


static const per_sequence_t MulticastF1UContext_Setup_List_sequence_of[1] = {
  { &hf_f1ap_MulticastF1UContext_Setup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_MulticastF1UContext_Setup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastF1UContext_Setup_List, MulticastF1UContext_Setup_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastF1UContext_FailedToBeSetup_List_sequence_of[1] = {
  { &hf_f1ap_MulticastF1UContext_FailedToBeSetup_List_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_SingleContainer },
};

static int
dissect_f1ap_MulticastF1UContext_FailedToBeSetup_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
                                                  ett_f1ap_MulticastF1UContext_FailedToBeSetup_List, MulticastF1UContext_FailedToBeSetup_List_sequence_of,
                                                  1, maxnoofMRBs, false);

  return offset;
}


static const per_sequence_t MulticastDistributionSetupFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastDistributionSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_DISTRIBUTION_SETUP_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_DISTRIBUTION_SETUP_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastDistributionSetupFailure, MulticastDistributionSetupFailure_sequence);

  return offset;
}


static const per_sequence_t MulticastDistributionReleaseCommand_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastDistributionReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMMAND);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMMAND);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastDistributionReleaseCommand, MulticastDistributionReleaseCommand_sequence);

  return offset;
}


static const per_sequence_t MulticastDistributionReleaseComplete_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MulticastDistributionReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMPLETE);
  set_stats_message_type(actx->pinfo, MTYPE_MULTICAST_DISTRIBUTION_RELEASE_COMPLETE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MulticastDistributionReleaseComplete, MulticastDistributionReleaseComplete_sequence);

  return offset;
}


static const per_sequence_t PDCMeasurementInitiationRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PDCMeasurementInitiationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PDCP_MEASUREMENT_INITIATION_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_PDCP_MEASUREMENT_INITIATION_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PDCMeasurementInitiationRequest, PDCMeasurementInitiationRequest_sequence);

  return offset;
}


static const per_sequence_t PDCMeasurementInitiationResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PDCMeasurementInitiationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PDCP_MEASUREMENT_INITIATION_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_PDCP_MEASUREMENT_INITIATION_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PDCMeasurementInitiationResponse, PDCMeasurementInitiationResponse_sequence);

  return offset;
}


static const per_sequence_t PDCMeasurementInitiationFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PDCMeasurementInitiationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PDCP_MEASUREMENT_INITIATION_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_PDCP_MEASUREMENT_INITIATION_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PDCMeasurementInitiationFailure, PDCMeasurementInitiationFailure_sequence);

  return offset;
}


static const per_sequence_t PDCMeasurementReport_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PDCMeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PDCP_MEASUREMENT_REPORT);
  set_stats_message_type(actx->pinfo, MTYPE_PDCP_MEASUREMENT_REPORT);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PDCMeasurementReport, PDCMeasurementReport_sequence);

  return offset;
}


static const per_sequence_t PDCMeasurementTerminationCommand_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PDCMeasurementTerminationCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PDCP_MEASUREMENT_TERMINATION_COMMAND);
  set_stats_message_type(actx->pinfo, MTYPE_PDCP_MEASUREMENT_TERMINATION_COMMAND);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PDCMeasurementTerminationCommand, PDCMeasurementTerminationCommand_sequence);

  return offset;
}


static const per_sequence_t PDCMeasurementFailureIndication_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PDCMeasurementFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PDCP_MEASUREMENT_FAILURE_INDICATION);
  set_stats_message_type(actx->pinfo, MTYPE_PDCP_MEASUREMENT_FAILURE_INDICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PDCMeasurementFailureIndication, PDCMeasurementFailureIndication_sequence);

  return offset;
}


static const per_sequence_t PRSConfigurationRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSConfigurationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PRS_CONFIGURATION_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_PRS_CONFIGURATION_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSConfigurationRequest, PRSConfigurationRequest_sequence);

  return offset;
}


static const per_sequence_t PRSConfigurationResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSConfigurationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PRS_CONFIGURATION_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_PRS_CONFIGURATION_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSConfigurationResponse, PRSConfigurationResponse_sequence);

  return offset;
}


static const per_sequence_t PRSConfigurationFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PRSConfigurationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_PRS_CONFIGURATION_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_PRS_CONFIGURATION_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PRSConfigurationFailure, PRSConfigurationFailure_sequence);

  return offset;
}


static const per_sequence_t MeasurementPreconfigurationRequired_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MeasurementPreconfigurationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MEASUREMENT_PRECONFIGURATION_REQUIRED);
  set_stats_message_type(actx->pinfo, MTYPE_MEASUREMENT_PRECONFIGURATION_REQUIRED);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MeasurementPreconfigurationRequired, MeasurementPreconfigurationRequired_sequence);

  return offset;
}


static const per_sequence_t MeasurementPreconfigurationConfirm_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MeasurementPreconfigurationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MEASUREMENT_PRECONFIGURATION_CONFIRM);
  set_stats_message_type(actx->pinfo, MTYPE_MEASUREMENT_PRECONFIGURATION_CONFIRM);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MeasurementPreconfigurationConfirm, MeasurementPreconfigurationConfirm_sequence);

  return offset;
}


static const per_sequence_t MeasurementPreconfigurationRefuse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MeasurementPreconfigurationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MEASUREMENT_PRECONFIGURATION_REFUSE);
  set_stats_message_type(actx->pinfo, MTYPE_MEASUREMENT_PRECONFIGURATION_REFUSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MeasurementPreconfigurationRefuse, MeasurementPreconfigurationRefuse_sequence);

  return offset;
}


static const per_sequence_t MeasurementActivation_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_MeasurementActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_MEASUREMENT_ACTIVATION);
  set_stats_message_type(actx->pinfo, MTYPE_MEASUREMENT_ACTIVATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_MeasurementActivation, MeasurementActivation_sequence);

  return offset;
}


static const per_sequence_t QoEInformationTransfer_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_QoEInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_QOE_INFORMATION_TRANSFER);
  set_stats_message_type(actx->pinfo, MTYPE_QOE_INFORMATION_TRANSFER);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_QoEInformationTransfer, QoEInformationTransfer_sequence);

  return offset;
}


static const per_sequence_t PosSystemInformationDeliveryCommand_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_PosSystemInformationDeliveryCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_POS_SYSTEM_INFORMATION_DELIVERY_COMMAND);
  set_stats_message_type(actx->pinfo, MTYPE_POS_SYSTEM_INFORMATION_DELIVERY_COMMAND);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_PosSystemInformationDeliveryCommand, PosSystemInformationDeliveryCommand_sequence);

  return offset;
}


static const per_sequence_t DUCUCellSwitchNotification_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DUCUCellSwitchNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_DU_CU_CELL_SWITCH_NOTIFICATION);
  set_stats_message_type(actx->pinfo, MTYPE_DU_CU_CELL_SWITCH_NOTIFICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DUCUCellSwitchNotification, DUCUCellSwitchNotification_sequence);

  return offset;
}


static const per_sequence_t CUDUCellSwitchNotification_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CUDUCellSwitchNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_CU_DU_CELL_SWITCH_NOTIFICATION);
  set_stats_message_type(actx->pinfo, MTYPE_CU_DU_CELL_SWITCH_NOTIFICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CUDUCellSwitchNotification, CUDUCellSwitchNotification_sequence);

  return offset;
}


static const per_sequence_t DUCUTAInformationTransfer_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DUCUTAInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_DU_CU_TA_INFORMATION_TRANSFER);
  set_stats_message_type(actx->pinfo, MTYPE_DU_CU_TA_INFORMATION_TRANSFER);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DUCUTAInformationTransfer, DUCUTAInformationTransfer_sequence);

  return offset;
}


static const per_sequence_t CUDUTAInformationTransfer_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_CUDUTAInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_CU_DU_TA_INFORMATION_TRANSFER);
  set_stats_message_type(actx->pinfo, MTYPE_CU_DU_TA_INFORMATION_TRANSFER);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_CUDUTAInformationTransfer, CUDUTAInformationTransfer_sequence);

  return offset;
}


static const per_sequence_t QoEInformationTransferControl_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_QoEInformationTransferControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_QOE_INFORMATION_TRANSFER_CONTROL);
  set_stats_message_type(actx->pinfo, MTYPE_QOE_INFORMATION_TRANSFER_CONTROL);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_QoEInformationTransferControl, QoEInformationTransferControl_sequence);

  return offset;
}


static const per_sequence_t RachIndication_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_RachIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_RACH_INDICATION);
  set_stats_message_type(actx->pinfo, MTYPE_RACH_INDICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_RachIndication, RachIndication_sequence);

  return offset;
}


static const per_sequence_t TimingSynchronisationStatusRequest_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TimingSynchronisationStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_TIMING_SYNCHRONISATION_STATUS_REQUEST);
  set_stats_message_type(actx->pinfo, MTYPE_TIMING_SYNCHRONISATION_STATUS_REQUEST);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TimingSynchronisationStatusRequest, TimingSynchronisationStatusRequest_sequence);

  return offset;
}


static const per_sequence_t TimingSynchronisationStatusResponse_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TimingSynchronisationStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_TIMING_SYNCHRONISATION_STATUS_RESPONSE);
  set_stats_message_type(actx->pinfo, MTYPE_TIMING_SYNCHRONISATION_STATUS_RESPONSE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TimingSynchronisationStatusResponse, TimingSynchronisationStatusResponse_sequence);

  return offset;
}


static const per_sequence_t TimingSynchronisationStatusFailure_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TimingSynchronisationStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_TIMING_SYNCHRONISATION_STATUS_FAILURE);
  set_stats_message_type(actx->pinfo, MTYPE_TIMING_SYNCHRONISATION_STATUS_FAILURE);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TimingSynchronisationStatusFailure, TimingSynchronisationStatusFailure_sequence);

  return offset;
}


static const per_sequence_t TimingSynchronisationStatusReport_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_TimingSynchronisationStatusReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_TIMING_SYNCHRONISATION_STATUS_REPORT);
  set_stats_message_type(actx->pinfo, MTYPE_TIMING_SYNCHRONISATION_STATUS_REPORT);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_TimingSynchronisationStatusReport, TimingSynchronisationStatusReport_sequence);

  return offset;
}


static const per_sequence_t DUCUAccessAndMobilityIndication_sequence[] = {
  { &hf_f1ap_protocolIEs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_f1ap_ProtocolIE_Container },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_DUCUAccessAndMobilityIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  set_message_label(actx, MTYPE_DU_CU_ACCESS_AND_MOBILITY_INDICATION);
  set_stats_message_type(actx->pinfo, MTYPE_DU_CU_ACCESS_AND_MOBILITY_INDICATION);
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_DUCUAccessAndMobilityIndication, DUCUAccessAndMobilityIndication_sequence);

  return offset;
}



static int
dissect_f1ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  f1ap_data->message_type = INITIATING_MESSAGE;
  offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_InitiatingMessageValue);

  return offset;
}


static const per_sequence_t InitiatingMessage_sequence[] = {
  { &hf_f1ap_procedureCode  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProcedureCode },
  { &hf_f1ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality },
  { &hf_f1ap_initiatingMessagevalue, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_InitiatingMessage_value },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_InitiatingMessage, InitiatingMessage_sequence);

  return offset;
}



static int
dissect_f1ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  f1ap_data->message_type = SUCCESSFUL_OUTCOME;
  offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_SuccessfulOutcomeValue);

  return offset;
}


static const per_sequence_t SuccessfulOutcome_sequence[] = {
  { &hf_f1ap_procedureCode  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProcedureCode },
  { &hf_f1ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality },
  { &hf_f1ap_successfulOutcome_value, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_SuccessfulOutcome_value },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_SuccessfulOutcome, SuccessfulOutcome_sequence);

  return offset;
}



static int
dissect_f1ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
  f1ap_data->message_type = UNSUCCESSFUL_OUTCOME;
  offset = dissect_per_open_type_pdu_new(tvb, offset, actx, tree, hf_index, dissect_UnsuccessfulOutcomeValue);

  return offset;
}


static const per_sequence_t UnsuccessfulOutcome_sequence[] = {
  { &hf_f1ap_procedureCode  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_ProcedureCode },
  { &hf_f1ap_criticality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_Criticality },
  { &hf_f1ap_unsuccessfulOutcome_value, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_f1ap_UnsuccessfulOutcome_value },
  { NULL, 0, 0, NULL }
};

static int
dissect_f1ap_UnsuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                   ett_f1ap_UnsuccessfulOutcome, UnsuccessfulOutcome_sequence);

  return offset;
}


static const value_string f1ap_F1AP_PDU_vals[] = {
  {   0, "initiatingMessage" },
  {   1, "successfulOutcome" },
  {   2, "unsuccessfulOutcome" },
  {   3, "choice-extension" },
  { 0, NULL }
};

static const per_choice_t F1AP_PDU_choice[] = {
  {   0, &hf_f1ap_initiatingMessage, ASN1_NO_EXTENSIONS     , dissect_f1ap_InitiatingMessage },
  {   1, &hf_f1ap_successfulOutcome, ASN1_NO_EXTENSIONS     , dissect_f1ap_SuccessfulOutcome },
  {   2, &hf_f1ap_unsuccessfulOutcome, ASN1_NO_EXTENSIONS     , dissect_f1ap_UnsuccessfulOutcome },
  {   3, &hf_f1ap_choice_extension, ASN1_NO_EXTENSIONS     , dissect_f1ap_ProtocolIE_SingleContainer },
  { 0, NULL, 0, NULL }
};

static int
dissect_f1ap_F1AP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
  offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
                                 ett_f1ap_F1AP_PDU, F1AP_PDU_choice,
                                 NULL);

  return offset;
}

/*--- PDUs ---*/

static int dissect_AbortTransmission_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AbortTransmission(tvb, offset, &asn1_ctx, tree, hf_f1ap_AbortTransmission_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Activated_Cells_Mapping_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Activated_Cells_Mapping_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Activated_Cells_Mapping_List_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Activated_Cells_to_be_Updated_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Activated_Cells_to_be_Updated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Activated_Cells_to_be_Updated_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ActivationRequestType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ActivationRequestType(tvb, offset, &asn1_ctx, tree, hf_f1ap_ActivationRequestType_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AdditionalDuplicationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AdditionalDuplicationIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_AdditionalDuplicationIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ExtendedAdditionalPathList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ExtendedAdditionalPathList(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExtendedAdditionalPathList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AdditionalPDCPDuplicationTNL_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AdditionalPDCPDuplicationTNL_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_AdditionalPDCPDuplicationTNL_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AdditionalSIBMessageList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AdditionalSIBMessageList(tvb, offset, &asn1_ctx, tree, hf_f1ap_AdditionalSIBMessageList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AdditionalRRMPriorityIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AdditionalRRMPriorityIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_AdditionalRRMPriorityIndex_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AggregatedPosSRSResourceIDList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AggregatedPosSRSResourceIDList(tvb, offset, &asn1_ctx, tree, hf_f1ap_AggregatedPosSRSResourceIDList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AggregatedPosSRSResourceSetList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AggregatedPosSRSResourceSetList(tvb, offset, &asn1_ctx, tree, hf_f1ap_AggregatedPosSRSResourceSetList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AggregatedPRSResourceSetList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AggregatedPRSResourceSetList(tvb, offset, &asn1_ctx, tree, hf_f1ap_AggregatedPRSResourceSetList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AggressorgNBSetID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AggressorgNBSetID(tvb, offset, &asn1_ctx, tree, hf_f1ap_AggressorgNBSetID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AlternativeQoSParaSetList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AlternativeQoSParaSetList(tvb, offset, &asn1_ctx, tree, hf_f1ap_AlternativeQoSParaSetList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Associated_SCell_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Associated_SCell_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Associated_SCell_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AssociatedSessionID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AssociatedSessionID(tvb, offset, &asn1_ctx, tree, hf_f1ap_AssociatedSessionID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AvailablePLMNList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AvailablePLMNList(tvb, offset, &asn1_ctx, tree, hf_f1ap_AvailablePLMNList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AvailableSNPN_ID_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AvailableSNPN_ID_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_AvailableSNPN_ID_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AreaScope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AreaScope(tvb, offset, &asn1_ctx, tree, hf_f1ap_AreaScope_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AoA_AssistanceInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AoA_AssistanceInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_AoA_AssistanceInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ARP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ARP_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_ARP_ID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ARPLocationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ARPLocationInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_ARPLocationInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BAP_Header_Rewriting_Added_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BAP_Header_Rewriting_Added_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BAP_Header_Rewriting_Added_List_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BAP_Header_Rewriting_Removed_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BAP_Header_Rewriting_Removed_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BAP_Header_Rewriting_Removed_List_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BAPAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BAPAddress(tvb, offset, &asn1_ctx, tree, hf_f1ap_BAPAddress_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BitRate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BitRate(tvb, offset, &asn1_ctx, tree, hf_f1ap_BitRate_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BearerTypeChange_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BearerTypeChange(tvb, offset, &asn1_ctx, tree, hf_f1ap_BearerTypeChange_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_FailedToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_FailedToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_FailedToBeModified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_FailedToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_FailedToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_FailedToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_FailedToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_FailedToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_FailedToBeSetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_Modified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_Modified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_Modified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_Required_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_Required_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_Required_ToBeReleased_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_Setup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_Setup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_SetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_SetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_SetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_ToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_ToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeModified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeReleased_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_ToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeSetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BH_Routing_Information_Added_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BH_Routing_Information_Added_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BH_Routing_Information_Added_List_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BH_Routing_Information_Removed_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BH_Routing_Information_Removed_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BH_Routing_Information_Removed_List_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BPLMN_ID_Info_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BPLMN_ID_Info_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BPLMN_ID_Info_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_FailedToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_FailedToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_FailedToBeModified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_FailedToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_FailedToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_FailedToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_FailedToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_FailedToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_FailedToBeSetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_Modified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_Modified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_Modified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_Setup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_Setup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_SetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_SetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_SetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_ToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_ToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_ToBeModified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_ToBeReleased_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_ToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_ToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_ToBeSetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastAreaScope_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastAreaScope(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastAreaScope_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BufferSizeThresh_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BufferSizeThresh(tvb, offset, &asn1_ctx, tree, hf_f1ap_BufferSizeThresh_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BW_Aggregation_Request_Indication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BW_Aggregation_Request_Indication(tvb, offset, &asn1_ctx, tree, hf_f1ap_BW_Aggregation_Request_Indication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BWP_Id_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BWP_Id(tvb, offset, &asn1_ctx, tree, hf_f1ap_BWP_Id_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Broadcast_MRBs_Transport_Request_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Broadcast_MRBs_Transport_Request_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Broadcast_MRBs_Transport_Request_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cancel_all_Warning_Messages_Indicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cancel_all_Warning_Messages_Indicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cancel_all_Warning_Messages_Indicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Candidate_SpCell_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Candidate_SpCell_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Candidate_SpCell_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cause(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cause_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CellGroupConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CellGroupConfig(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellGroupConfig_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cell_Direction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cell_Direction(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cell_Direction_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CellMeasurementResultList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CellMeasurementResultList(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellMeasurementResultList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cell_Portion_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cell_Portion_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cell_Portion_ID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CellsForSON_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CellsForSON_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellsForSON_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_Failed_to_be_Activated_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_Failed_to_be_Activated_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Failed_to_be_Activated_List_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_Status_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_Status_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Status_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_To_Be_Broadcast_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_To_Be_Broadcast_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_To_Be_Broadcast_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_Broadcast_Completed_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_Broadcast_Completed_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Broadcast_Completed_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Broadcast_To_Be_Cancelled_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Broadcast_To_Be_Cancelled_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Broadcast_To_Be_Cancelled_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_Broadcast_Cancelled_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_Broadcast_Cancelled_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Broadcast_Cancelled_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_to_be_Activated_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_to_be_Activated_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Activated_List_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_With_SSBs_Activated_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_With_SSBs_Activated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_With_SSBs_Activated_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_Allowed_to_be_Deactivated_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_Allowed_to_be_Deactivated_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Allowed_to_be_Deactivated_List_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_to_be_Deactivated_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_to_be_Deactivated_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Deactivated_List_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_to_be_Barred_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_to_be_Barred_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Barred_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CellToReportList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CellToReportList(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellToReportList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CellType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CellType(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellType_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CellULConfigured_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CellULConfigured(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellULConfigured_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CG_SDTQueryIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CG_SDTQueryIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_CG_SDTQueryIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CG_SDTKeptIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CG_SDTKeptIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_CG_SDTKeptIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CG_SDTindicatorSetup_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CG_SDTindicatorSetup(tvb, offset, &asn1_ctx, tree, hf_f1ap_CG_SDTindicatorSetup_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CG_SDTindicatorMod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CG_SDTindicatorMod(tvb, offset, &asn1_ctx, tree, hf_f1ap_CG_SDTindicatorMod_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CG_SDTSessionInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CG_SDTSessionInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_CG_SDTSessionInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ChannelOccupancyTimePercentage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ChannelOccupancyTimePercentage(tvb, offset, &asn1_ctx, tree, hf_f1ap_ChannelOccupancyTimePercentage_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Child_IAB_Nodes_NA_Resource_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Child_IAB_Nodes_NA_Resource_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Child_IAB_Nodes_NA_Resource_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Child_Nodes_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Child_Nodes_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Child_Nodes_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CompositeAvailableCapacity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CompositeAvailableCapacity(tvb, offset, &asn1_ctx, tree, hf_f1ap_CompositeAvailableCapacity_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CHO_Probability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CHO_Probability(tvb, offset, &asn1_ctx, tree, hf_f1ap_CHO_Probability_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ConditionalInterDUMobilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ConditionalInterDUMobilityInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_ConditionalInterDUMobilityInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ConditionalIntraDUMobilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ConditionalIntraDUMobilityInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_ConditionalIntraDUMobilityInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ConfigRestrictInfoDAPS_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ConfigRestrictInfoDAPS(tvb, offset, &asn1_ctx, tree, hf_f1ap_ConfigRestrictInfoDAPS_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ConfiguredTACIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ConfiguredTACIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_ConfiguredTACIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Configured_BWP_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Configured_BWP_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Configured_BWP_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Coverage_Modification_Notification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Coverage_Modification_Notification(tvb, offset, &asn1_ctx, tree, hf_f1ap_Coverage_Modification_Notification_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CCO_Assistance_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CCO_Assistance_Information(tvb, offset, &asn1_ctx, tree, hf_f1ap_CCO_Assistance_Information_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CCO_issue_detection_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CCO_issue_detection(tvb, offset, &asn1_ctx, tree, hf_f1ap_CCO_issue_detection_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CP_TransportLayerAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CP_TransportLayerAddress(tvb, offset, &asn1_ctx, tree, hf_f1ap_CP_TransportLayerAddress_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CPACMCGInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CPACMCGInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_CPACMCGInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CriticalityDiagnostics(tvb, offset, &asn1_ctx, tree, hf_f1ap_CriticalityDiagnostics_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_C_RNTI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_C_RNTI(tvb, offset, &asn1_ctx, tree, hf_f1ap_C_RNTI_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CUDURadioInformationType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CUDURadioInformationType(tvb, offset, &asn1_ctx, tree, hf_f1ap_CUDURadioInformationType_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CUtoDURRCInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CUtoDURRCInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_CUtoDURRCInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CUtoDUTAInformation_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CUtoDUTAInformation_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_CUtoDUTAInformation_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DAPS_HO_Status_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DAPS_HO_Status(tvb, offset, &asn1_ctx, tree, hf_f1ap_DAPS_HO_Status_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DCBasedDuplicationConfigured_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DCBasedDuplicationConfigured(tvb, offset, &asn1_ctx, tree, hf_f1ap_DCBasedDuplicationConfigured_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DeactivationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DeactivationIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_DeactivationIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Dedicated_SIDelivery_NeededUE_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Dedicated_SIDelivery_NeededUE_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Dedicated_SIDelivery_NeededUE_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DedicatedSIDeliveryIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DedicatedSIDeliveryIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_DedicatedSIDeliveryIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DL_UP_TNL_Address_to_Update_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DL_UP_TNL_Address_to_Update_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DL_UP_TNL_Address_to_Update_List_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRB_Activity_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRB_Activity_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Activity_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_FailedToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_FailedToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeModified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_FailedToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_FailedToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_FailedToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_FailedToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeSetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRB_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRB_Information(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Information_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_Modified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_Modified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Modified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_ModifiedConf_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_ModifiedConf_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ModifiedConf_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRB_Notify_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRB_Notify_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Notify_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_Required_ToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_Required_ToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Required_ToBeModified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_Required_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_Required_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Required_ToBeReleased_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_Setup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Setup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_SetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_SetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_SetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_ToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_ToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeModified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeReleased_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_ToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeSetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRB_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRB_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRXCycle_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRXCycle(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRXCycle_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NonIntegerDRXCycle_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NonIntegerDRXCycle(tvb, offset, &asn1_ctx, tree, hf_f1ap_NonIntegerDRXCycle_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRX_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRX_Config(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRX_Config_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRXConfigurationIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRXConfigurationIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRXConfigurationIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRX_LongCycleStartOffset_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRX_LongCycleStartOffset(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRX_LongCycleStartOffset_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DUtoCURRCContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DUtoCURRCContainer(tvb, offset, &asn1_ctx, tree, hf_f1ap_DUtoCURRCContainer_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DUCURadioInformationType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DUCURadioInformationType(tvb, offset, &asn1_ctx, tree, hf_f1ap_DUCURadioInformationType_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DU_RX_MT_RX_Extend_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DU_RX_MT_RX_Extend(tvb, offset, &asn1_ctx, tree, hf_f1ap_DU_RX_MT_RX_Extend_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DU_TX_MT_TX_Extend_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DU_TX_MT_TX_Extend(tvb, offset, &asn1_ctx, tree, hf_f1ap_DU_TX_MT_TX_Extend_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DU_RX_MT_TX_Extend_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DU_RX_MT_TX_Extend(tvb, offset, &asn1_ctx, tree, hf_f1ap_DU_RX_MT_TX_Extend_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DU_TX_MT_RX_Extend_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DU_TX_MT_RX_Extend(tvb, offset, &asn1_ctx, tree, hf_f1ap_DU_TX_MT_RX_Extend_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DUtoCURRCInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DUtoCURRCInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_DUtoCURRCInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DUtoCUTAInformation_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DUtoCUTAInformation_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DUtoCUTAInformation_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DuplicationActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DuplicationActivation(tvb, offset, &asn1_ctx, tree, hf_f1ap_DuplicationActivation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DuplicationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DuplicationIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_DuplicationIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DLLBTFailureInformationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DLLBTFailureInformationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_DLLBTFailureInformationRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DLLBTFailureInformationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DLLBTFailureInformationList(tvb, offset, &asn1_ctx, tree, hf_f1ap_DLLBTFailureInformationList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_EarlySyncInformation_Request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_EarlySyncInformation_Request(tvb, offset, &asn1_ctx, tree, hf_f1ap_EarlySyncInformation_Request_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_EarlySyncInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_EarlySyncInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_EarlySyncInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_EarlySyncCandidateCellInformation_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_EarlySyncCandidateCellInformation_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_EarlySyncCandidateCellInformation_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_EarlySyncServingCellInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_EarlySyncServingCellInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_EarlySyncServingCellInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_E_CID_MeasurementQuantities_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_E_CID_MeasurementQuantities(tvb, offset, &asn1_ctx, tree, hf_f1ap_E_CID_MeasurementQuantities_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_E_CID_MeasurementQuantities_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_E_CID_MeasurementQuantities_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_E_CID_MeasurementQuantities_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_E_CID_MeasurementResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_E_CID_MeasurementResult(tvb, offset, &asn1_ctx, tree, hf_f1ap_E_CID_MeasurementResult_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_E_CID_MeasuredResultsAssociatedInfoList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_E_CID_MeasuredResultsAssociatedInfoList(tvb, offset, &asn1_ctx, tree, hf_f1ap_E_CID_MeasuredResultsAssociatedInfoList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_E_CID_ReportCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_E_CID_ReportCharacteristics(tvb, offset, &asn1_ctx, tree, hf_f1ap_E_CID_ReportCharacteristics_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_EgressNonF1terminatingTopologyIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_EgressNonF1terminatingTopologyIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_EgressNonF1terminatingTopologyIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ExtendedAvailablePLMN_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ExtendedAvailablePLMN_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExtendedAvailablePLMN_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ExtendedServedPLMNs_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ExtendedServedPLMNs_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExtendedServedPLMNs_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ExtendedSliceSupportList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ExtendedSliceSupportList(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExtendedSliceSupportList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ExtendedUEIdentityIndexValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ExtendedUEIdentityIndexValue(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExtendedUEIdentityIndexValue_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ExecuteDuplication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ExecuteDuplication(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExecuteDuplication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_EUTRA_NR_CellResourceCoordinationReq_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container(tvb, offset, &asn1_ctx, tree, hf_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_EUTRA_NR_CellResourceCoordinationReqAck_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container(tvb, offset, &asn1_ctx, tree, hf_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ExtendedPacketDelayBudget_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ExtendedPacketDelayBudget(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExtendedPacketDelayBudget_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ECNMarkingorCongestionInformationReportingRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ECNMarkingorCongestionInformationReportingRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_ECNMarkingorCongestionInformationReportingRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ECNMarkingorCongestionInformationReportingStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ECNMarkingorCongestionInformationReportingStatus(tvb, offset, &asn1_ctx, tree, hf_f1ap_ECNMarkingorCongestionInformationReportingStatus_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_F1CTransferPath_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_F1CTransferPath(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1CTransferPath_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_F1CTransferPathNRDC_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_F1CTransferPathNRDC(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1CTransferPathNRDC_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_F1U_PathFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_F1U_PathFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1U_PathFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_F1UTunnelNotEstablished_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_F1UTunnelNotEstablished(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1UTunnelNotEstablished_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_FiveG_ProSeAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_FiveG_ProSeAuthorized(tvb, offset, &asn1_ctx, tree, hf_f1ap_FiveG_ProSeAuthorized_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_FiveG_ProSeLayer2Multipath_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_FiveG_ProSeLayer2Multipath(tvb, offset, &asn1_ctx, tree, hf_f1ap_FiveG_ProSeLayer2Multipath_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_FiveG_ProSeLayer2UEtoUERelay_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_FiveG_ProSeLayer2UEtoUERelay(tvb, offset, &asn1_ctx, tree, hf_f1ap_FiveG_ProSeLayer2UEtoUERelay_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_FiveG_ProSeLayer2UEtoUERemote_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_FiveG_ProSeLayer2UEtoUERemote(tvb, offset, &asn1_ctx, tree, hf_f1ap_FiveG_ProSeLayer2UEtoUERemote_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_FrequencyShift7p5khz_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_FrequencyShift7p5khz(tvb, offset, &asn1_ctx, tree, hf_f1ap_FrequencyShift7p5khz_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Frequency_Domain_HSNA_Configuration_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Frequency_Domain_HSNA_Configuration_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Frequency_Domain_HSNA_Configuration_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_FullConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_FullConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_FullConfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CG_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CG_Config(tvb, offset, &asn1_ctx, tree, hf_f1ap_CG_Config_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GlobalGNB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GlobalGNB_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GlobalGNB_ID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_CU_MBS_F1AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_CU_MBS_F1AP_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_MBS_F1AP_ID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBCUMeasurementID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBCUMeasurementID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBCUMeasurementID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBDUMeasurementID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBDUMeasurementID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUMeasurementID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_CUSystemInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_CUSystemInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CUSystemInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_CU_TNL_Association_Setup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_CU_TNL_Association_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_Setup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_CU_TNL_Association_Failed_To_Setup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_CU_TNL_Association_To_Add_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_CU_TNL_Association_To_Add_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Add_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_CU_TNL_Association_To_Remove_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_CU_TNL_Association_To_Remove_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Remove_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_CU_TNL_Association_To_Update_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_CU_TNL_Association_To_Update_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Update_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_CU_UE_F1AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_CU_UE_F1AP_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_UE_F1AP_ID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_DU_MBS_F1AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_DU_MBS_F1AP_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_MBS_F1AP_ID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_DU_UE_F1AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_DU_UE_F1AP_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_UE_F1AP_ID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_DU_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_DU_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_ID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_CU_Name_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_CU_Name(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_Name_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_DU_Name_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_DU_Name(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_Name_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Extended_GNB_CU_Name_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Extended_GNB_CU_Name(tvb, offset, &asn1_ctx, tree, hf_f1ap_Extended_GNB_CU_Name_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Extended_GNB_DU_Name_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Extended_GNB_DU_Name(tvb, offset, &asn1_ctx, tree, hf_f1ap_Extended_GNB_DU_Name_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_DU_Served_Cells_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_DU_Served_Cells_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_Served_Cells_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_DUConfigurationQuery_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_DUConfigurationQuery(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DUConfigurationQuery_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBDUOverloadInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBDUOverloadInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUOverloadInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_DU_TNL_Association_To_Remove_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_DU_TNL_Association_To_Remove_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_TNL_Association_To_Remove_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBDUUESliceMaximumBitRateList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBDUUESliceMaximumBitRateList(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUUESliceMaximumBitRateList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_HandoverPreparationInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_HandoverPreparationInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_HardwareLoadIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_HardwareLoadIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_HardwareLoadIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_HashedUEIdentityIndexValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_HashedUEIdentityIndexValue(tvb, offset, &asn1_ctx, tree, hf_f1ap_HashedUEIdentityIndexValue_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IAB_Barred_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IAB_Barred(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_Barred_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IABConditionalRRCMessageDeliveryIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IABConditionalRRCMessageDeliveryIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABConditionalRRCMessageDeliveryIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IABCongestionIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IABCongestionIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABCongestionIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IAB_Info_IAB_donor_CU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IAB_Info_IAB_donor_CU(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_Info_IAB_donor_CU_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IAB_Info_IAB_DU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IAB_Info_IAB_DU(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_Info_IAB_DU_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IAB_Allocated_TNL_Address_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IAB_Allocated_TNL_Address_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_Allocated_TNL_Address_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IABIPv6RequestType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IABIPv6RequestType(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABIPv6RequestType_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IAB_TNL_Addresses_To_Remove_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IAB_TNL_Addresses_To_Remove_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_TNL_Addresses_To_Remove_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IAB_TNL_Addresses_Exception_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IAB_TNL_Addresses_Exception(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_TNL_Addresses_Exception_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IABv4AddressesRequested_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IABv4AddressesRequested(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABv4AddressesRequested_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Mobile_IAB_MTUserLocationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Mobile_IAB_MTUserLocationInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_Mobile_IAB_MTUserLocationInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IgnorePRACHConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IgnorePRACHConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_IgnorePRACHConfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IgnoreResourceCoordinationContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IgnoreResourceCoordinationContainer(tvb, offset, &asn1_ctx, tree, hf_f1ap_IgnoreResourceCoordinationContainer_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_InactivityMonitoringRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_InactivityMonitoringRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_InactivityMonitoringRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_InactivityMonitoringResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_InactivityMonitoringResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_InactivityMonitoringResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IntendedTDD_DL_ULConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IntendedTDD_DL_ULConfig(tvb, offset, &asn1_ctx, tree, hf_f1ap_IntendedTDD_DL_ULConfig_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_InterFrequencyConfig_NoGap_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_InterFrequencyConfig_NoGap(tvb, offset, &asn1_ctx, tree, hf_f1ap_InterFrequencyConfig_NoGap_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IngressNonF1terminatingTopologyIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IngressNonF1terminatingTopologyIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_IngressNonF1terminatingTopologyIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IndicationMCInactiveReception_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IndicationMCInactiveReception(tvb, offset, &asn1_ctx, tree, hf_f1ap_IndicationMCInactiveReception_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LTEA2XServicesAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LTEA2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_f1ap_LTEA2XServicesAuthorized_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_L571Info_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_L571Info(tvb, offset, &asn1_ctx, tree, hf_f1ap_L571Info_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_L1151Info_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_L1151Info(tvb, offset, &asn1_ctx, tree, hf_f1ap_L1151Info_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LastUsedCellIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LastUsedCellIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_LastUsedCellIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LMF_MeasurementID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LMF_MeasurementID(tvb, offset, &asn1_ctx, tree, hf_f1ap_LMF_MeasurementID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LMF_UE_MeasurementID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LMF_UE_MeasurementID(tvb, offset, &asn1_ctx, tree, hf_f1ap_LMF_UE_MeasurementID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LocationMeasurementInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LocationMeasurementInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_LocationMeasurementInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LowerLayerPresenceStatusChange_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LowerLayerPresenceStatusChange(tvb, offset, &asn1_ctx, tree, hf_f1ap_LowerLayerPresenceStatusChange_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LoS_NLoSInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LoS_NLoSInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_LoS_NLoSInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LTEUESidelinkAggregateMaximumBitrate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LTEUESidelinkAggregateMaximumBitrate(tvb, offset, &asn1_ctx, tree, hf_f1ap_LTEUESidelinkAggregateMaximumBitrate_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LTEV2XServicesAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LTEV2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_f1ap_LTEV2XServicesAuthorized_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LTMCells_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LTMCells_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_LTMCells_ToBeReleased_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LTMInformation_Setup_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LTMInformation_Setup(tvb, offset, &asn1_ctx, tree, hf_f1ap_LTMInformation_Setup_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LTMConfigurationIDMappingList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LTMConfigurationIDMappingList(tvb, offset, &asn1_ctx, tree, hf_f1ap_LTMConfigurationIDMappingList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LTMInformation_Modify_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LTMInformation_Modify(tvb, offset, &asn1_ctx, tree, hf_f1ap_LTMInformation_Modify_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LTMConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LTMConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_LTMConfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LTMCellSwitchInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LTMCellSwitchInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_LTMCellSwitchInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_LTMCFRAResourceConfig_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_LTMCFRAResourceConfig_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_LTMCFRAResourceConfig_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MaskedIMEISV_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MaskedIMEISV(tvb, offset, &asn1_ctx, tree, hf_f1ap_MaskedIMEISV_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MaxDataBurstVolume_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MaxDataBurstVolume(tvb, offset, &asn1_ctx, tree, hf_f1ap_MaxDataBurstVolume_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MBS_Broadcast_NeighbourCellList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MBS_Broadcast_NeighbourCellList(tvb, offset, &asn1_ctx, tree, hf_f1ap_MBS_Broadcast_NeighbourCellList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MBSInterestIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MBSInterestIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_MBSInterestIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MBS_CUtoDURRCInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MBS_CUtoDURRCInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_MBS_CUtoDURRCInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MBSMulticastF1UContextDescriptor_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MBSMulticastF1UContextDescriptor(tvb, offset, &asn1_ctx, tree, hf_f1ap_MBSMulticastF1UContextDescriptor_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MT_SDT_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MT_SDT_Information(tvb, offset, &asn1_ctx, tree, hf_f1ap_MT_SDT_Information_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MBSMulticastSessionReceptionState_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MBSMulticastSessionReceptionState(tvb, offset, &asn1_ctx, tree, hf_f1ap_MBSMulticastSessionReceptionState_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastCU2DURRCInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastCU2DURRCInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastCU2DURRCInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastCU2DUCommonRRCInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastCU2DUCommonRRCInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastCU2DUCommonRRCInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastDU2CURRCInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastDU2CURRCInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastDU2CURRCInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastF1UContext_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastF1UContext_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastF1UContext_ToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastF1UContext_Setup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastF1UContext_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastF1UContext_Setup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastF1UContext_FailedToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastF1UContext_FailedToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastF1UContext_FailedToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MBS_ServiceArea_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MBS_ServiceArea(tvb, offset, &asn1_ctx, tree, hf_f1ap_MBS_ServiceArea_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MC_PagingCell_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MC_PagingCell_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_MC_PagingCell_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MeasGapSharingConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MeasGapSharingConfig(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasGapSharingConfig_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PosMeasurementAmount_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PosMeasurementAmount(tvb, offset, &asn1_ctx, tree, hf_f1ap_PosMeasurementAmount_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MeasurementBeamInfoRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MeasurementBeamInfoRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasurementBeamInfoRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MeasurementTimingConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MeasurementTimingConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasurementTimingConfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MeasurementTimeOccasion_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MeasurementTimeOccasion(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasurementTimeOccasion_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MeasurementCharacteristicsRequestIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MeasurementCharacteristicsRequestIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasurementCharacteristicsRequestIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastF1UContextReferenceCU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastF1UContextReferenceCU(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastF1UContextReferenceCU_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MultipleULAoA_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MultipleULAoA(tvb, offset, &asn1_ctx, tree, hf_f1ap_MultipleULAoA_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MDTPollutedMeasurementIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MDTPollutedMeasurementIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_MDTPollutedMeasurementIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MRB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MRB_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_MRB_ID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMBSSessionList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMBSSessionList(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMBSSessionList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_FailedToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_FailedToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_FailedToBeModified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_FailedToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_FailedToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_FailedToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_FailedToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_FailedToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_FailedToBeSetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_Modified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_Modified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_Modified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_Setup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_Setup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_SetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_SetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_SetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_ToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_ToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_ToBeModified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_ToBeReleased_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_ToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_ToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_ToBeSetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MusimCapabilityRestrictionIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MusimCapabilityRestrictionIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_MusimCapabilityRestrictionIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MusimCandidateBandList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MusimCandidateBandList(tvb, offset, &asn1_ctx, tree, hf_f1ap_MusimCandidateBandList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_M5ReportAmount_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_M5ReportAmount(tvb, offset, &asn1_ctx, tree, hf_f1ap_M5ReportAmount_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_M6ReportAmount_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_M6ReportAmount(tvb, offset, &asn1_ctx, tree, hf_f1ap_M6ReportAmount_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_M7ReportAmount_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_M7ReportAmount(tvb, offset, &asn1_ctx, tree, hf_f1ap_M7ReportAmount_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MDTConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MDTConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_MDTConfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MDTPLMNList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MDTPLMNList(tvb, offset, &asn1_ctx, tree, hf_f1ap_MDTPLMNList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MDTPLMNModificationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MDTPLMNModificationList(tvb, offset, &asn1_ctx, tree, hf_f1ap_MDTPLMNModificationList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MeasuredFrequencyHops_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MeasuredFrequencyHops(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasuredFrequencyHops_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Mobile_TRP_LocationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Mobile_TRP_LocationInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_Mobile_TRP_LocationInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Mobile_IAB_MT_UE_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Mobile_IAB_MT_UE_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_Mobile_IAB_MT_UE_ID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MUSIM_GapConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MUSIM_GapConfig(tvb, offset, &asn1_ctx, tree, hf_f1ap_MUSIM_GapConfig_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MobileIAB_Barred_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MobileIAB_Barred(tvb, offset, &asn1_ctx, tree, hf_f1ap_MobileIAB_Barred_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MeasBasedOnAggregatedResources_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MeasBasedOnAggregatedResources(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasBasedOnAggregatedResources_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NRA2XServicesAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NRA2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRA2XServicesAuthorized_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Ncd_SSB_RedCapInitialBWP_SDT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Ncd_SSB_RedCapInitialBWP_SDT(tvb, offset, &asn1_ctx, tree, hf_f1ap_Ncd_SSB_RedCapInitialBWP_SDT_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NetworkControlledRepeaterAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NetworkControlledRepeaterAuthorized(tvb, offset, &asn1_ctx, tree, hf_f1ap_NetworkControlledRepeaterAuthorized_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NCGI_to_be_Updated_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NCGI_to_be_Updated_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_NCGI_to_be_Updated_List_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Neighbour_Node_Cells_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Neighbour_Node_Cells_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Neighbour_Node_Cells_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NeedforGap_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NeedforGap(tvb, offset, &asn1_ctx, tree, hf_f1ap_NeedforGap_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NeedForGapsInfoNR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NeedForGapsInfoNR(tvb, offset, &asn1_ctx, tree, hf_f1ap_NeedForGapsInfoNR_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NeedForGapNCSGInfoNR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NeedForGapNCSGInfoNR(tvb, offset, &asn1_ctx, tree, hf_f1ap_NeedForGapNCSGInfoNR_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NeedForGapNCSGInfoEUTRA_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NeedForGapNCSGInfoEUTRA(tvb, offset, &asn1_ctx, tree, hf_f1ap_NeedForGapNCSGInfoEUTRA_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NeedForInterruptionInfoNR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NeedForInterruptionInfoNR(tvb, offset, &asn1_ctx, tree, hf_f1ap_NeedForInterruptionInfoNR_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Neighbour_Cell_Information_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Neighbour_Cell_Information_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Neighbour_Cell_Information_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NID(tvb, offset, &asn1_ctx, tree, hf_f1ap_NID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NonF1terminatingTopologyIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NonF1terminatingTopologyIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_NonF1terminatingTopologyIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NR_CGI_List_For_Restart_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NR_CGI_List_For_Restart_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_NR_CGI_List_For_Restart_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NrofSymbolsExtended_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NrofSymbolsExtended(tvb, offset, &asn1_ctx, tree, hf_f1ap_NrofSymbolsExtended_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NR_TADV_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NR_TADV(tvb, offset, &asn1_ctx, tree, hf_f1ap_NR_TADV_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NReRedCapUEIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NReRedCapUEIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_NReRedCapUEIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ERedcap_Bcast_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ERedcap_Bcast_Information(tvb, offset, &asn1_ctx, tree, hf_f1ap_ERedcap_Bcast_Information_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NRRedCapUEIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NRRedCapUEIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRRedCapUEIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NRPagingeDRXInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NRPagingeDRXInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRPagingeDRXInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NRPagingeDRXInformationforRRCINACTIVE_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NRPagingeDRXInformationforRRCINACTIVE(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRPagingeDRXInformationforRRCINACTIVE_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NRPaginglongeDRXInformationforRRCINACTIVE_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NRPaginglongeDRXInformationforRRCINACTIVE(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRPaginglongeDRXInformationforRRCINACTIVE_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NotificationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NotificationInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_NotificationInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NPNBroadcastInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NPNBroadcastInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_NPNBroadcastInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NPNSupportInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NPNSupportInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_NPNSupportInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NRCarrierList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NRCarrierList(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRCarrierList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NRFreqInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NRFreqInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRFreqInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NRCGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NRCGI(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRCGI_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
int dissect_f1ap_NRPRACHConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NRPRACHConfig(tvb, offset, &asn1_ctx, tree, hf_f1ap_f1ap_NRPRACHConfig_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NRPCI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NRPCI(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRPCI_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NR_U_Channel_Info_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NR_U_Channel_Info_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_NR_U_Channel_Info_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NR_U_Channel_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NR_U_Channel_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_NR_U_Channel_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NumberofBroadcastRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NumberofBroadcastRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_NumberofBroadcastRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NumberOfTRPRxTEG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NumberOfTRPRxTEG(tvb, offset, &asn1_ctx, tree, hf_f1ap_NumberOfTRPRxTEG_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NumberOfTRPRxTxTEG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NumberOfTRPRxTxTEG(tvb, offset, &asn1_ctx, tree, hf_f1ap_NumberOfTRPRxTxTEG_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NRV2XServicesAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NRV2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRV2XServicesAuthorized_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NRUESidelinkAggregateMaximumBitrate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NRUESidelinkAggregateMaximumBitrate(tvb, offset, &asn1_ctx, tree, hf_f1ap_NRUESidelinkAggregateMaximumBitrate_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_N6JitterInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_N6JitterInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_N6JitterInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_OnDemandPRS_Info_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_OnDemandPRS_Info(tvb, offset, &asn1_ctx, tree, hf_f1ap_OnDemandPRS_Info_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PathAdditionInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PathAdditionInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_PathAdditionInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PagingCell_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PagingCell_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingCell_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Recommended_SSBs_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Recommended_SSBs_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Recommended_SSBs_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PagingDRX_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PagingDRX(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingDRX_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PagingIdentity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PagingIdentity(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingIdentity_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PagingCause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PagingCause(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingCause_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PagingOrigin_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PagingOrigin(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingOrigin_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PagingPriority_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PagingPriority(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingPriority_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PEIPSAssistanceInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PEIPSAssistanceInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_PEIPSAssistanceInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Parent_IAB_Nodes_NA_Resource_Configuration_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PathSwitchConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PathSwitchConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_PathSwitchConfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PC5QoSParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PC5QoSParameters(tvb, offset, &asn1_ctx, tree, hf_f1ap_PC5QoSParameters_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PC5RLCChannelToBeSetupList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PC5RLCChannelToBeSetupList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PC5RLCChannelToBeSetupList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PeerUE_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PeerUE_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_PeerUE_ID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PC5RLCChannelToBeModifiedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PC5RLCChannelToBeModifiedList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PC5RLCChannelToBeModifiedList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PC5RLCChannelToBeReleasedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PC5RLCChannelToBeReleasedList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PC5RLCChannelToBeReleasedList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PC5RLCChannelSetupList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PC5RLCChannelSetupList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PC5RLCChannelSetupList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PC5RLCChannelFailedToBeSetupList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PC5RLCChannelFailedToBeSetupList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PC5RLCChannelFailedToBeSetupList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PC5RLCChannelModifiedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PC5RLCChannelModifiedList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PC5RLCChannelModifiedList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PC5RLCChannelFailedToBeModifiedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PC5RLCChannelFailedToBeModifiedList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PC5RLCChannelFailedToBeModifiedList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PC5RLCChannelRequiredToBeModifiedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PC5RLCChannelRequiredToBeModifiedList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PC5RLCChannelRequiredToBeModifiedList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PC5RLCChannelRequiredToBeReleasedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PC5RLCChannelRequiredToBeReleasedList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PC5RLCChannelRequiredToBeReleasedList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDCCH_BlindDetectionSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDCCH_BlindDetectionSCG(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCCH_BlindDetectionSCG_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDCMeasurementPeriodicity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDCMeasurementPeriodicity(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCMeasurementPeriodicity_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDCMeasurementQuantities_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDCMeasurementQuantities(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCMeasurementQuantities_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDCMeasurementQuantities_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDCMeasurementQuantities_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCMeasurementQuantities_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDCMeasurementResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDCMeasurementResult(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCMeasurementResult_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDCReportType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDCReportType(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCReportType_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDCPSNLength_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDCPSNLength(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCPSNLength_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDUSessionID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDUSessionID(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDUSessionID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PEISubgroupingSupportIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PEISubgroupingSupportIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_PEISubgroupingSupportIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Permutation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Permutation(tvb, offset, &asn1_ctx, tree, hf_f1ap_Permutation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Ph_InfoMCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Ph_InfoMCG(tvb, offset, &asn1_ctx, tree, hf_f1ap_Ph_InfoMCG_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Ph_InfoSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Ph_InfoSCG(tvb, offset, &asn1_ctx, tree, hf_f1ap_Ph_InfoSCG_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PLMN_Identity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PLMN_Identity(tvb, offset, &asn1_ctx, tree, hf_f1ap_PLMN_Identity_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PortNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PortNumber(tvb, offset, &asn1_ctx, tree, hf_f1ap_PortNumber_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PosAssistance_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PosAssistance_Information(tvb, offset, &asn1_ctx, tree, hf_f1ap_PosAssistance_Information_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PosAssistanceInformationFailureList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PosAssistanceInformationFailureList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PosAssistanceInformationFailureList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PosBroadcast_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PosBroadcast(tvb, offset, &asn1_ctx, tree, hf_f1ap_PosBroadcast_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PosContextRevIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PosContextRevIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_PosContextRevIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningBroadcastCells_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningBroadcastCells(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningBroadcastCells_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PosMeasGapPreConfigList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PosMeasGapPreConfigList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PosMeasGapPreConfigList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MeasurementPeriodicity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MeasurementPeriodicity(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasurementPeriodicity_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MeasurementPeriodicityExtended_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MeasurementPeriodicityExtended(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasurementPeriodicityExtended_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PosMeasurementPeriodicityNR_AoA_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PosMeasurementPeriodicityNR_AoA(tvb, offset, &asn1_ctx, tree, hf_f1ap_PosMeasurementPeriodicityNR_AoA_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PosMeasurementQuantities_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PosMeasurementQuantities(tvb, offset, &asn1_ctx, tree, hf_f1ap_PosMeasurementQuantities_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PosMeasurementResultList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PosMeasurementResultList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PosMeasurementResultList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PosReportCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PosReportCharacteristics(tvb, offset, &asn1_ctx, tree, hf_f1ap_PosReportCharacteristics_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PosSItypeList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PosSItypeList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PosSItypeList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PosValidityAreaCellList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PosValidityAreaCellList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PosValidityAreaCellList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Preconfigured_measurement_GAP_Request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Preconfigured_measurement_GAP_Request(tvb, offset, &asn1_ctx, tree, hf_f1ap_Preconfigured_measurement_GAP_Request_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Protected_EUTRA_Resources_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Protected_EUTRA_Resources_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Protected_EUTRA_Resources_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PRS_Measurement_Info_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PRS_Measurement_Info_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_PRS_Measurement_Info_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Potential_SpCell_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Potential_SpCell_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Potential_SpCell_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PRSConfigRequestType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PRSConfigRequestType(tvb, offset, &asn1_ctx, tree, hf_f1ap_PRSConfigRequestType_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PRS_Resource_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PRS_Resource_ID(tvb, offset, &asn1_ctx, tree, hf_f1ap_PRS_Resource_ID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PRSBandwidthAggregationRequestIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PRSBandwidthAggregationRequestIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_PRSBandwidthAggregationRequestIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ExtendedResourceSymbolOffset_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ExtendedResourceSymbolOffset(tvb, offset, &asn1_ctx, tree, hf_f1ap_ExtendedResourceSymbolOffset_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PWS_Failed_NR_CGI_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PWS_Failed_NR_CGI_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWS_Failed_NR_CGI_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PWSSystemInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PWSSystemInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSSystemInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PrivacyIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PrivacyIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_PrivacyIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PRSTRPList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PRSTRPList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PRSTRPList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PRSTransmissionTRPList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PRSTransmissionTRPList(tvb, offset, &asn1_ctx, tree, hf_f1ap_PRSTransmissionTRPList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDUSetQoSParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDUSetQoSParameters(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDUSetQoSParameters_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PSIbasedSDUdiscardUL_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PSIbasedSDUdiscardUL(tvb, offset, &asn1_ctx, tree, hf_f1ap_PSIbasedSDUdiscardUL_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PointA_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PointA(tvb, offset, &asn1_ctx, tree, hf_f1ap_PointA_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_QoEInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_QoEInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_QoEInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_QoSFlowMappingIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_QoSFlowMappingIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_QoSFlowMappingIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_QosMonitoringRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_QosMonitoringRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_QosMonitoringRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_QoSParaSetNotifyIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_QoSParaSetNotifyIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_QoSParaSetNotifyIndex_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RAReportList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RAReportList(tvb, offset, &asn1_ctx, tree, hf_f1ap_RAReportList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RAReportIndicationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RAReportIndicationList(tvb, offset, &asn1_ctx, tree, hf_f1ap_RAReportIndicationList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RadioResourceStatusNR_U_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RadioResourceStatusNR_U(tvb, offset, &asn1_ctx, tree, hf_f1ap_RadioResourceStatusNR_U_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MIMOPRBusageInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MIMOPRBusageInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_MIMOPRBusageInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RANfeedbacktype_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RANfeedbacktype(tvb, offset, &asn1_ctx, tree, hf_f1ap_RANfeedbacktype_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RANSharingAssistanceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RANSharingAssistanceInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_RANSharingAssistanceInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RANTSSRequestType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RANTSSRequestType(tvb, offset, &asn1_ctx, tree, hf_f1ap_RANTSSRequestType_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RANTimingSynchronisationStatusInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RANTimingSynchronisationStatusInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_RANTimingSynchronisationStatusInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RANAC_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RANAC(tvb, offset, &asn1_ctx, tree, hf_f1ap_RANAC_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RAN_MeasurementID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RAN_MeasurementID(tvb, offset, &asn1_ctx, tree, hf_f1ap_RAN_MeasurementID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RAN_UE_MeasurementID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RAN_UE_MeasurementID(tvb, offset, &asn1_ctx, tree, hf_f1ap_RAN_UE_MeasurementID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RAN_UE_PDC_MeasID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RAN_UE_PDC_MeasID(tvb, offset, &asn1_ctx, tree, hf_f1ap_RAN_UE_PDC_MeasID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RANUEID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RANUEID(tvb, offset, &asn1_ctx, tree, hf_f1ap_RANUEID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RAT_FrequencyPriorityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RAT_FrequencyPriorityInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_RAT_FrequencyPriorityInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RBSetConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RBSetConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_RBSetConfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Re_routingEnableIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Re_routingEnableIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_Re_routingEnableIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Recommended_SSBs_for_Paging_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Recommended_SSBs_for_Paging_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Recommended_SSBs_for_Paging_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Redcap_Bcast_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Redcap_Bcast_Information(tvb, offset, &asn1_ctx, tree, hf_f1ap_Redcap_Bcast_Information_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RedCapIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RedCapIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_RedCapIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RemoteUELocalID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RemoteUELocalID(tvb, offset, &asn1_ctx, tree, hf_f1ap_RemoteUELocalID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RegistrationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RegistrationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_RegistrationRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportCharacteristics(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportCharacteristics_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportingGranularitykminus1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportingGranularitykminus1(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingGranularitykminus1_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportingGranularitykminus2_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportingGranularitykminus2(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingGranularitykminus2_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportingGranularitykminus3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportingGranularitykminus3(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingGranularitykminus3_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportingGranularitykminus4_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportingGranularitykminus4(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingGranularitykminus4_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportingGranularitykminus5_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportingGranularitykminus5(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingGranularitykminus5_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportingGranularitykminus6_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportingGranularitykminus6(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingGranularitykminus6_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportingGranularitykminus1AdditionalPath_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportingGranularitykminus1AdditionalPath(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingGranularitykminus1AdditionalPath_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportingGranularitykminus2AdditionalPath_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportingGranularitykminus2AdditionalPath(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingGranularitykminus2AdditionalPath_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportingGranularitykminus3AdditionalPath_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportingGranularitykminus3AdditionalPath(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingGranularitykminus3AdditionalPath_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportingGranularitykminus4AdditionalPath_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportingGranularitykminus4AdditionalPath(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingGranularitykminus4AdditionalPath_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportingGranularitykminus5AdditionalPath_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportingGranularitykminus5AdditionalPath(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingGranularitykminus5AdditionalPath_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportingGranularitykminus6AdditionalPath_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportingGranularitykminus6AdditionalPath(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingGranularitykminus6AdditionalPath_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportingPeriodicity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportingPeriodicity(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingPeriodicity_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RequestedBandCombinationIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RequestedBandCombinationIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_RequestedBandCombinationIndex_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RequestedFeatureSetEntryIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RequestedFeatureSetEntryIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_RequestedFeatureSetEntryIndex_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RequestedP_MaxFR2_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RequestedP_MaxFR2(tvb, offset, &asn1_ctx, tree, hf_f1ap_RequestedP_MaxFR2_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Requested_PDCCH_BlindDetectionSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Requested_PDCCH_BlindDetectionSCG(tvb, offset, &asn1_ctx, tree, hf_f1ap_Requested_PDCCH_BlindDetectionSCG_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RequestedSRSPreconfigurationCharacteristics_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RequestedSRSPreconfigurationCharacteristics_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_RequestedSRSPreconfigurationCharacteristics_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RequestedSRSTransmissionCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RequestedSRSTransmissionCharacteristics(tvb, offset, &asn1_ctx, tree, hf_f1ap_RequestedSRSTransmissionCharacteristics_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RequestType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RequestType(tvb, offset, &asn1_ctx, tree, hf_f1ap_RequestType_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ResourceCoordinationTransferInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ResourceCoordinationTransferInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResourceCoordinationTransferInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ResourceCoordinationTransferContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ResourceCoordinationTransferContainer(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResourceCoordinationTransferContainer_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RepetitionFactorExtended_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RepetitionFactorExtended(tvb, offset, &asn1_ctx, tree, hf_f1ap_RepetitionFactorExtended_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RepetitionPeriod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RepetitionPeriod(tvb, offset, &asn1_ctx, tree, hf_f1ap_RepetitionPeriod_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReportingRequestType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReportingRequestType(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReportingRequestType_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RLCDuplicationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RLCDuplicationInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_RLCDuplicationInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RLCFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RLCFailureIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_RLCFailureIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RLCMode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RLCMode(tvb, offset, &asn1_ctx, tree, hf_f1ap_RLCMode_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RLC_Status_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RLC_Status(tvb, offset, &asn1_ctx, tree, hf_f1ap_RLC_Status_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RLFReportInformationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RLFReportInformationList(tvb, offset, &asn1_ctx, tree, hf_f1ap_RLFReportInformationList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RRCContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RRCContainer(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCContainer_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RRCContainer_RRCSetupComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RRCContainer_RRCSetupComplete(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCContainer_RRCSetupComplete_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RRCDeliveryStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RRCDeliveryStatus(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCDeliveryStatus_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RRCDeliveryStatusRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RRCDeliveryStatusRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCDeliveryStatusRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RRCReconfigurationCompleteIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RRCReconfigurationCompleteIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCReconfigurationCompleteIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RRC_Terminating_IAB_Donor_Related_Info_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RRC_Terminating_IAB_Donor_Related_Info(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRC_Terminating_IAB_Donor_Related_Info_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RRC_Version_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RRC_Version(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRC_Version_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Latest_RRC_Version_Enhanced_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Latest_RRC_Version_Enhanced(tvb, offset, &asn1_ctx, tree, hf_f1ap_Latest_RRC_Version_Enhanced_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RoutingID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RoutingID(tvb, offset, &asn1_ctx, tree, hf_f1ap_RoutingID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ResponseTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ResponseTime(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResponseTime_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCell_FailedtoSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCell_FailedtoSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_FailedtoSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCell_FailedtoSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCell_FailedtoSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_FailedtoSetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCell_ToBeRemoved_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCell_ToBeRemoved_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeRemoved_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCell_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCell_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCell_ToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCell_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeSetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCGActivationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCGActivationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCGActivationRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCGActivationStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCGActivationStatus(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCGActivationStatus_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCGIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCGIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCGIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCPAC_Request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCPAC_Request(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCPAC_Request_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_S_CPAC_Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_S_CPAC_Configuration(tvb, offset, &asn1_ctx, tree, hf_f1ap_S_CPAC_Configuration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_S_CPACLowerLayerReferenceConfigRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_S_CPACLowerLayerReferenceConfigRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_S_CPACLowerLayerReferenceConfigRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCS_480_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCS_480(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCS_480_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCS_960_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCS_960(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCS_960_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCS_SpecificCarrier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCS_SpecificCarrier(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCS_SpecificCarrier_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SDTBearerConfigurationQueryIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SDTBearerConfigurationQueryIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_SDTBearerConfigurationQueryIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SDTBearerConfigurationInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SDTBearerConfigurationInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_SDTBearerConfigurationInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SDT_MAC_PHY_CG_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SDT_MAC_PHY_CG_Config(tvb, offset, &asn1_ctx, tree, hf_f1ap_SDT_MAC_PHY_CG_Config_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SDTInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SDTInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_SDTInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SDTRLCBearerConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SDTRLCBearerConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_SDTRLCBearerConfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SDT_Termination_Request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SDT_Termination_Request(tvb, offset, &asn1_ctx, tree, hf_f1ap_SDT_Termination_Request_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SDT_Volume_Threshold_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SDT_Volume_Threshold(tvb, offset, &asn1_ctx, tree, hf_f1ap_SDT_Volume_Threshold_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SelectedBandCombinationIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SelectedBandCombinationIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_SelectedBandCombinationIndex_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SelectedFeatureSetEntryIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SelectedFeatureSetEntryIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_SelectedFeatureSetEntryIndex_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ServCellInfoList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ServCellInfoList(tvb, offset, &asn1_ctx, tree, hf_f1ap_ServCellInfoList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ServCellIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ServCellIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_ServCellIndex_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ServingCellMO_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ServingCellMO(tvb, offset, &asn1_ctx, tree, hf_f1ap_ServingCellMO_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ServingCellMO_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ServingCellMO_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_ServingCellMO_List_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ServingCellMO_encoded_in_CGC_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ServingCellMO_encoded_in_CGC_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_ServingCellMO_encoded_in_CGC_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Serving_Cells_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Serving_Cells_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Serving_Cells_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Supported_MBS_FSA_ID_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Supported_MBS_FSA_ID_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Supported_MBS_FSA_ID_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SFN_Offset_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SFN_Offset(tvb, offset, &asn1_ctx, tree, hf_f1ap_SFN_Offset_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Served_Cells_To_Add_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Served_Cells_To_Add_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Add_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Served_Cells_To_Delete_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Served_Cells_To_Delete_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Delete_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Served_Cells_To_Modify_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Served_Cells_To_Modify_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Modify_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RelativeTime1900_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RelativeTime1900(tvb, offset, &asn1_ctx, tree, hf_f1ap_RelativeTime1900_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SIB10_message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SIB10_message(tvb, offset, &asn1_ctx, tree, hf_f1ap_SIB10_message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SIB12_message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SIB12_message(tvb, offset, &asn1_ctx, tree, hf_f1ap_SIB12_message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SIB13_message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SIB13_message(tvb, offset, &asn1_ctx, tree, hf_f1ap_SIB13_message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SIB14_message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SIB14_message(tvb, offset, &asn1_ctx, tree, hf_f1ap_SIB14_message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SIB15_message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SIB15_message(tvb, offset, &asn1_ctx, tree, hf_f1ap_SIB15_message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SIB17_message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SIB17_message(tvb, offset, &asn1_ctx, tree, hf_f1ap_SIB17_message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SIB20_message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SIB20_message(tvb, offset, &asn1_ctx, tree, hf_f1ap_SIB20_message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SIB24_message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SIB24_message(tvb, offset, &asn1_ctx, tree, hf_f1ap_SIB24_message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SIB22_message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SIB22_message(tvb, offset, &asn1_ctx, tree, hf_f1ap_SIB22_message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SIB23_message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SIB23_message(tvb, offset, &asn1_ctx, tree, hf_f1ap_SIB23_message_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SItype_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SItype_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SItype_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SidelinkRelayConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SidelinkRelayConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_SidelinkRelayConfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_FailedToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_FailedToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_FailedToBeModified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_FailedToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_FailedToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_FailedToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_FailedToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_FailedToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_FailedToBeSetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_Modified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_Modified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Modified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_ModifiedConf_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_ModifiedConf_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ModifiedConf_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_Required_ToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_Required_ToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Required_ToBeModified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_Required_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_Required_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Required_ToBeReleased_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_Setup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Setup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_SetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_SetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_SetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_ToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_ToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeModified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeReleased_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_ToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeSetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRXCycleList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRXCycleList(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRXCycleList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SL_PHY_MAC_RLC_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SL_PHY_MAC_RLC_Config(tvb, offset, &asn1_ctx, tree, hf_f1ap_SL_PHY_MAC_RLC_Config_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SL_PHY_MAC_RLC_ConfigExt_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SL_PHY_MAC_RLC_ConfigExt(tvb, offset, &asn1_ctx, tree, hf_f1ap_SL_PHY_MAC_RLC_ConfigExt_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SL_RLC_ChannelToAddModList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SL_RLC_ChannelToAddModList(tvb, offset, &asn1_ctx, tree, hf_f1ap_SL_RLC_ChannelToAddModList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SL_ConfigDedicatedEUTRA_Info_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SL_ConfigDedicatedEUTRA_Info(tvb, offset, &asn1_ctx, tree, hf_f1ap_SL_ConfigDedicatedEUTRA_Info_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SliceRadioResourceStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SliceRadioResourceStatus(tvb, offset, &asn1_ctx, tree, hf_f1ap_SliceRadioResourceStatus_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SliceSupportList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SliceSupportList(tvb, offset, &asn1_ctx, tree, hf_f1ap_SliceSupportList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SlotNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SlotNumber(tvb, offset, &asn1_ctx, tree, hf_f1ap_SlotNumber_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLPositioning_Ranging_Service_Info_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLPositioning_Ranging_Service_Info(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLPositioning_Ranging_Service_Info_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SNSSAI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SNSSAI(tvb, offset, &asn1_ctx, tree, hf_f1ap_SNSSAI_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SpatialRelationPerSRSResource_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SpatialRelationPerSRSResource(tvb, offset, &asn1_ctx, tree, hf_f1ap_SpatialRelationPerSRSResource_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBID(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_FailedToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_FailedToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_FailedToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_FailedToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_FailedToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_FailedToBeSetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_Modified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_Modified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Modified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_Required_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_Required_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Required_ToBeReleased_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_Setup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Setup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_SetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_SetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_SetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeReleased_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_ToBeSetupMod_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_ToBeSetupMod_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeSetupMod_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRSConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRSConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRSConfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SrsFrequency_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SrsFrequency(tvb, offset, &asn1_ctx, tree, hf_f1ap_SrsFrequency_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRSPortIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRSPortIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRSPortIndex_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRSPreconfiguration_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRSPreconfiguration_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRSPreconfiguration_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRSResourcetype_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRSResourcetype(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRSResourcetype_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRSPosRRCInactiveConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRSPosRRCInactiveConfig(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRSPosRRCInactiveConfig_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRSPosRRCInactiveValidityAreaConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRSPosRRCInactiveValidityAreaConfig(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRSPosRRCInactiveValidityAreaConfig_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRSPosRRCInactiveQueryIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRSPosRRCInactiveQueryIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRSPosRRCInactiveQueryIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRSReservationType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRSReservationType(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRSReservationType_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SSB_PositionsInBurst_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SSB_PositionsInBurst(tvb, offset, &asn1_ctx, tree, hf_f1ap_SSB_PositionsInBurst_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SSBs_toBeActivated_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SSBs_toBeActivated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SSBs_toBeActivated_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_StartRBIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_StartRBIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_StartRBIndex_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_StartRBHopping_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_StartRBHopping(tvb, offset, &asn1_ctx, tree, hf_f1ap_StartRBHopping_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SuccessfulHOReportInformationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SuccessfulHOReportInformationList(tvb, offset, &asn1_ctx, tree, hf_f1ap_SuccessfulHOReportInformationList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SuccessfulPSCellChangeReportInformationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SuccessfulPSCellChangeReportInformationList(tvb, offset, &asn1_ctx, tree, hf_f1ap_SuccessfulPSCellChangeReportInformationList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SULAccessIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SULAccessIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_SULAccessIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SupportedUETypeList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SupportedUETypeList(tvb, offset, &asn1_ctx, tree, hf_f1ap_SupportedUETypeList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SurvivalTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SurvivalTime(tvb, offset, &asn1_ctx, tree, hf_f1ap_SurvivalTime_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SymbolIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SymbolIndex(tvb, offset, &asn1_ctx, tree, hf_f1ap_SymbolIndex_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SystemFrameNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SystemFrameNumber(tvb, offset, &asn1_ctx, tree, hf_f1ap_SystemFrameNumber_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SystemInformationAreaID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SystemInformationAreaID(tvb, offset, &asn1_ctx, tree, hf_f1ap_SystemInformationAreaID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TargetCellList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TargetCellList(tvb, offset, &asn1_ctx, tree, hf_f1ap_TargetCellList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NSAGSupportList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NSAGSupportList(tvb, offset, &asn1_ctx, tree, hf_f1ap_NSAGSupportList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TDD_UL_DLConfigCommonNR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TDD_UL_DLConfigCommonNR(tvb, offset, &asn1_ctx, tree, hf_f1ap_TDD_UL_DLConfigCommonNR_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRPTEGInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRPTEGInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRPTEGInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TimeReferenceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TimeReferenceInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_TimeReferenceInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TimeToWait_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TimeToWait(tvb, offset, &asn1_ctx, tree, hf_f1ap_TimeToWait_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TimingReportingGranularityFactorExtended_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TimingReportingGranularityFactorExtended(tvb, offset, &asn1_ctx, tree, hf_f1ap_TimingReportingGranularityFactorExtended_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TimeWindowInformation_Measurement_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TimeWindowInformation_Measurement_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_TimeWindowInformation_Measurement_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TimeWindowInformation_SRS_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TimeWindowInformation_SRS_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_TimeWindowInformation_SRS_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TNLCapacityIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TNLCapacityIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_TNLCapacityIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TraceActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TraceActivation(tvb, offset, &asn1_ctx, tree, hf_f1ap_TraceActivation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TraceID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TraceID(tvb, offset, &asn1_ctx, tree, hf_f1ap_TraceID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TrafficMappingInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TrafficMappingInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_TrafficMappingInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TransportLayerAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TransportLayerAddress(tvb, offset, &asn1_ctx, tree, hf_f1ap_TransportLayerAddress_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TransactionID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TransactionID(tvb, offset, &asn1_ctx, tree, hf_f1ap_TransactionID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Transmission_Bandwidth_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Transmission_Bandwidth(tvb, offset, &asn1_ctx, tree, hf_f1ap_Transmission_Bandwidth_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TransmissionCombn8_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TransmissionCombn8(tvb, offset, &asn1_ctx, tree, hf_f1ap_TransmissionCombn8_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TransmissionStopIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TransmissionStopIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_TransmissionStopIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TransmissionActionIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TransmissionActionIndicator(tvb, offset, &asn1_ctx, tree, hf_f1ap_TransmissionActionIndicator_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRPBeamAntennaInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRPBeamAntennaInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRPBeamAntennaInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRPInformationItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRPInformationItem(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRPInformationItem_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRPInformationTypeItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRPInformationTypeItem(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRPInformationTypeItem_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRPList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRPList(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRPList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PhaseQuality_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PhaseQuality(tvb, offset, &asn1_ctx, tree, hf_f1ap_PhaseQuality_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRP_MeasurementRequestList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRP_MeasurementRequestList(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRP_MeasurementRequestList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRP_PRS_Info_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRP_PRS_Info_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRP_PRS_Info_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRP_Rx_TEGInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRP_Rx_TEGInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRP_Rx_TEGInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRPTxTEGAssociation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRPTxTEGAssociation(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRPTxTEGAssociation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Transport_Layer_Address_Info_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Transport_Layer_Address_Info(tvb, offset, &asn1_ctx, tree, hf_f1ap_Transport_Layer_Address_Info_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRPType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRPType(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRPType_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TSCTrafficCharacteristics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TSCTrafficCharacteristics(tvb, offset, &asn1_ctx, tree, hf_f1ap_TSCTrafficCharacteristics_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TSCTrafficCharacteristicsFeedback_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TSCTrafficCharacteristicsFeedback(tvb, offset, &asn1_ctx, tree, hf_f1ap_TSCTrafficCharacteristicsFeedback_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRP_MeasurementUpdateList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRP_MeasurementUpdateList(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRP_MeasurementUpdateList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TwoPHRModeMCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TwoPHRModeMCG(tvb, offset, &asn1_ctx, tree, hf_f1ap_TwoPHRModeMCG_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TwoPHRModeSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TwoPHRModeSCG(tvb, offset, &asn1_ctx, tree, hf_f1ap_TwoPHRModeSCG_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TxHoppingConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TxHoppingConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_TxHoppingConfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TAInformation_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TAInformation_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_TAInformation_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UAC_Assistance_Info_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UAC_Assistance_Info(tvb, offset, &asn1_ctx, tree, hf_f1ap_UAC_Assistance_Info_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_associatedLogicalF1_ConnectionItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_associatedLogicalF1_ConnectionItem(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_associatedLogicalF1_ConnectionItem_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEAssistanceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEAssistanceInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEAssistanceInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEAssistanceInformationEUTRA_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEAssistanceInformationEUTRA(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEAssistanceInformationEUTRA_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEContextNotRetrievable_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEContextNotRetrievable(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextNotRetrievable_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEIdentityIndexValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEIdentityIndexValue(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEIdentityIndexValue_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEIdentity_List_For_Paging_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEIdentity_List_For_Paging_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEIdentity_List_For_Paging_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_ConfirmedToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_RequiredToBeModified_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_RequiredToBeModified_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_RequiredToBeModified_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_RequiredToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_RequiredToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_RequiredToBeReleased_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_Setup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_Setup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_Setup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_Setupnew_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_Setupnew_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_Setupnew_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_ToBeReleased_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_ToBeReleased_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_ToBeReleased_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_ToBeSetup_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_ToBeSetup_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_ToBeSetup_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_ToBeSetup_atModify_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEPagingCapability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEPagingCapability(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEPagingCapability_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEReportingInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEReportingInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEReportingInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UlTxDirectCurrentMoreCarrierInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UlTxDirectCurrentMoreCarrierInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_UlTxDirectCurrentMoreCarrierInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UL_BH_Non_UP_Traffic_Mapping_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UL_BH_Non_UP_Traffic_Mapping(tvb, offset, &asn1_ctx, tree, hf_f1ap_UL_BH_Non_UP_Traffic_Mapping_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UL_GapFR2_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UL_GapFR2_Config(tvb, offset, &asn1_ctx, tree, hf_f1ap_UL_GapFR2_Config_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UL_SRS_RSRPP_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UL_SRS_RSRPP(tvb, offset, &asn1_ctx, tree, hf_f1ap_UL_SRS_RSRPP_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UL_RSCP_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UL_RSCP(tvb, offset, &asn1_ctx, tree, hf_f1ap_UL_RSCP_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UL_UP_TNL_Information_to_Update_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UL_UP_TNL_Information_to_Update_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_UL_UP_TNL_Information_to_Update_List_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UL_UP_TNL_Address_to_Update_List_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UL_UP_TNL_Address_to_Update_List_Item(tvb, offset, &asn1_ctx, tree, hf_f1ap_UL_UP_TNL_Address_to_Update_List_Item_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UplinkTxDirectCurrentListInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UplinkTxDirectCurrentListInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_UplinkTxDirectCurrentListInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UplinkTxDirectCurrentTwoCarrierListInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UplinkTxDirectCurrentTwoCarrierListInfo(tvb, offset, &asn1_ctx, tree, hf_f1ap_UplinkTxDirectCurrentTwoCarrierListInfo_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_URI_address_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_URI_address(tvb, offset, &asn1_ctx, tree, hf_f1ap_URI_address_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UuRLCChannelID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UuRLCChannelID(tvb, offset, &asn1_ctx, tree, hf_f1ap_UuRLCChannelID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UuRLCChannelToBeSetupList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UuRLCChannelToBeSetupList(tvb, offset, &asn1_ctx, tree, hf_f1ap_UuRLCChannelToBeSetupList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UuRLCChannelToBeModifiedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UuRLCChannelToBeModifiedList(tvb, offset, &asn1_ctx, tree, hf_f1ap_UuRLCChannelToBeModifiedList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UuRLCChannelToBeReleasedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UuRLCChannelToBeReleasedList(tvb, offset, &asn1_ctx, tree, hf_f1ap_UuRLCChannelToBeReleasedList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UuRLCChannelSetupList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UuRLCChannelSetupList(tvb, offset, &asn1_ctx, tree, hf_f1ap_UuRLCChannelSetupList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UuRLCChannelFailedToBeSetupList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UuRLCChannelFailedToBeSetupList(tvb, offset, &asn1_ctx, tree, hf_f1ap_UuRLCChannelFailedToBeSetupList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UuRLCChannelModifiedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UuRLCChannelModifiedList(tvb, offset, &asn1_ctx, tree, hf_f1ap_UuRLCChannelModifiedList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UuRLCChannelFailedToBeModifiedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UuRLCChannelFailedToBeModifiedList(tvb, offset, &asn1_ctx, tree, hf_f1ap_UuRLCChannelFailedToBeModifiedList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UuRLCChannelRequiredToBeModifiedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UuRLCChannelRequiredToBeModifiedList(tvb, offset, &asn1_ctx, tree, hf_f1ap_UuRLCChannelRequiredToBeModifiedList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UuRLCChannelRequiredToBeReleasedList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UuRLCChannelRequiredToBeReleasedList(tvb, offset, &asn1_ctx, tree, hf_f1ap_UuRLCChannelRequiredToBeReleasedList_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_VictimgNBSetID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_VictimgNBSetID(tvb, offset, &asn1_ctx, tree, hf_f1ap_VictimgNBSetID_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ValidityAreaSpecificSRSInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ValidityAreaSpecificSRSInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_ValidityAreaSpecificSRSInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_XR_Bcast_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_XR_Bcast_Information(tvb, offset, &asn1_ctx, tree, hf_f1ap_XR_Bcast_Information_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ZoAInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ZoAInformation(tvb, offset, &asn1_ctx, tree, hf_f1ap_ZoAInformation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Reset_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Reset(tvb, offset, &asn1_ctx, tree, hf_f1ap_Reset_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ResetType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ResetType(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResetType_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ResetAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ResetAcknowledge(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResetAcknowledge_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_associatedLogicalF1_ConnectionListResAck_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_associatedLogicalF1_ConnectionListResAck(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_associatedLogicalF1_ConnectionListResAck_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ErrorIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ErrorIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_ErrorIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_F1SetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_F1SetupRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1SetupRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_DU_Served_Cells_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_DU_Served_Cells_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_Served_Cells_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_F1SetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_F1SetupResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1SetupResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_to_be_Activated_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_to_be_Activated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Activated_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NCGI_to_be_Updated_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NCGI_to_be_Updated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_NCGI_to_be_Updated_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_F1SetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_F1SetupFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1SetupFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBDUConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBDUConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUConfigurationUpdate_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Served_Cells_To_Add_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Served_Cells_To_Add_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Add_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Served_Cells_To_Modify_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Served_Cells_To_Modify_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Modify_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Served_Cells_To_Delete_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Served_Cells_To_Delete_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Served_Cells_To_Delete_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_Status_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_Status_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Status_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Dedicated_SIDelivery_NeededUE_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Dedicated_SIDelivery_NeededUE_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Dedicated_SIDelivery_NeededUE_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_DU_TNL_Association_To_Remove_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_DU_TNL_Association_To_Remove_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_DU_TNL_Association_To_Remove_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBDUConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBDUConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUConfigurationUpdateAcknowledge_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBDUConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBDUConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUConfigurationUpdateFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBCUConfigurationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBCUConfigurationUpdate(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBCUConfigurationUpdate_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_to_be_Deactivated_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_to_be_Deactivated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Deactivated_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_CU_TNL_Association_To_Add_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_CU_TNL_Association_To_Add_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Add_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_CU_TNL_Association_To_Remove_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_CU_TNL_Association_To_Remove_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Remove_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_CU_TNL_Association_To_Update_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_CU_TNL_Association_To_Update_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_To_Update_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_to_be_Barred_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_to_be_Barred_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_to_be_Barred_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_Allowed_to_be_Deactivated_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_Allowed_to_be_Deactivated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Allowed_to_be_Deactivated_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Protected_EUTRA_Resources_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Protected_EUTRA_Resources_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Protected_EUTRA_Resources_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Neighbour_Cell_Information_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Neighbour_Cell_Information_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Neighbour_Cell_Information_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBCUConfigurationUpdateAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBCUConfigurationUpdateAcknowledge(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBCUConfigurationUpdateAcknowledge_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_Failed_to_be_Activated_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_Failed_to_be_Activated_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Failed_to_be_Activated_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_CU_TNL_Association_Setup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_CU_TNL_Association_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_Setup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNB_CU_TNL_Association_Failed_To_Setup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBCUConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBCUConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBCUConfigurationUpdateFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBDUResourceCoordinationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBDUResourceCoordinationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUResourceCoordinationRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBDUResourceCoordinationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBDUResourceCoordinationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUResourceCoordinationResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEContextSetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEContextSetupRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextSetupRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Candidate_SpCell_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Candidate_SpCell_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Candidate_SpCell_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCell_ToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCell_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_ToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_ToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_ToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_ToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_ToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_ToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ServingCellMO_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ServingCellMO_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_ServingCellMO_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEContextSetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEContextSetupResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextSetupResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_Setup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Setup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_FailedToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_FailedToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_FailedToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_FailedToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_FailedToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCell_FailedtoSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCell_FailedtoSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_FailedtoSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_Setup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Setup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_Setup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_Setup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_FailedToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_FailedToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_FailedToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_Setup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Setup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_FailedToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_FailedToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_FailedToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_Setupnew_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_Setupnew_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_Setupnew_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEContextSetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEContextSetupFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextSetupFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Potential_SpCell_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Potential_SpCell_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Potential_SpCell_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEContextReleaseRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEContextReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextReleaseRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEContextReleaseCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEContextReleaseCommand(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextReleaseCommand_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEContextReleaseComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEContextReleaseComplete(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextReleaseComplete_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEContextModificationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEContextModificationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCell_ToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCell_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeSetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCell_ToBeRemoved_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCell_ToBeRemoved_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_ToBeRemoved_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_ToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeSetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_ToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeSetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_ToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeSetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_ToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_ToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeModified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_ToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_ToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeModified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_ToBeReleased_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ToBeReleased_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_ToBeReleased_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_ToBeSetup_atModify_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_ToBeReleased_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_ToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeSetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_ToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_ToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeModified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ToBeReleased_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEContextModificationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEContextModificationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_SetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_SetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_SetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_Modified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_Modified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Modified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_SetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_SetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_SetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_Modified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_Modified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Modified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_FailedToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_FailedToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeModified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_FailedToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_FailedToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_FailedToBeSetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_FailedToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_FailedToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_FailedToBeSetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SCell_FailedtoSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SCell_FailedtoSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SCell_FailedtoSetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_SetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_SetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_SetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_Modified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_Modified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_Modified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_FailedToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_FailedToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_FailedToBeModified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_FailedToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_FailedToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_FailedToBeSetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Associated_SCell_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Associated_SCell_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Associated_SCell_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_SetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_SetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_SetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_Modified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_Modified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Modified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_FailedToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_FailedToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_FailedToBeModified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_FailedToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_FailedToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_FailedToBeSetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_Setup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_Setup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEContextModificationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEContextModificationFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEContextModificationRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEContextModificationRequired(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationRequired_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_Required_ToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_Required_ToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Required_ToBeModified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_Required_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_Required_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_Required_ToBeReleased_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRBs_Required_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRBs_Required_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRBs_Required_ToBeReleased_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BHChannels_Required_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BHChannels_Required_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BHChannels_Required_ToBeReleased_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_Required_ToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_Required_ToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Required_ToBeModified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_Required_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_Required_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_Required_ToBeReleased_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_RequiredToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_RequiredToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_RequiredToBeModified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_RequiredToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_RequiredToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_RequiredToBeReleased_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEContextModificationConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEContextModificationConfirm(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationConfirm_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRBs_ModifiedConf_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRBs_ModifiedConf_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRBs_ModifiedConf_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SLDRBs_ModifiedConf_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SLDRBs_ModifiedConf_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_SLDRBs_ModifiedConf_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UE_MulticastMRBs_ConfirmedToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEContextModificationRefuse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEContextModificationRefuse(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEContextModificationRefuse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_WriteReplaceWarningRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_WriteReplaceWarningRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_WriteReplaceWarningRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_To_Be_Broadcast_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_To_Be_Broadcast_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_To_Be_Broadcast_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_WriteReplaceWarningResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_WriteReplaceWarningResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_WriteReplaceWarningResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_Broadcast_Completed_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_Broadcast_Completed_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Broadcast_Completed_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PWSCancelRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PWSCancelRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSCancelRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Broadcast_To_Be_Cancelled_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Broadcast_To_Be_Cancelled_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Broadcast_To_Be_Cancelled_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PWSCancelResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PWSCancelResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSCancelResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Cells_Broadcast_Cancelled_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Cells_Broadcast_Cancelled_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Cells_Broadcast_Cancelled_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEInactivityNotification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEInactivityNotification(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEInactivityNotification_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRB_Activity_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRB_Activity_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Activity_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_InitialULRRCMessageTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_InitialULRRCMessageTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_InitialULRRCMessageTransfer_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DLRRCMessageTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DLRRCMessageTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_DLRRCMessageTransfer_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RedirectedRRCmessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RedirectedRRCmessage(tvb, offset, &asn1_ctx, tree, hf_f1ap_RedirectedRRCmessage_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ULRRCMessageTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ULRRCMessageTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_ULRRCMessageTransfer_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PrivateMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PrivateMessage(tvb, offset, &asn1_ctx, tree, hf_f1ap_PrivateMessage_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SystemInformationDeliveryCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SystemInformationDeliveryCommand(tvb, offset, &asn1_ctx, tree, hf_f1ap_SystemInformationDeliveryCommand_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Paging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Paging(tvb, offset, &asn1_ctx, tree, hf_f1ap_Paging_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PagingCell_list_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PagingCell_list(tvb, offset, &asn1_ctx, tree, hf_f1ap_PagingCell_list_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Notify_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Notify(tvb, offset, &asn1_ctx, tree, hf_f1ap_Notify_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DRB_Notify_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DRB_Notify_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DRB_Notify_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NetworkAccessRateReduction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NetworkAccessRateReduction(tvb, offset, &asn1_ctx, tree, hf_f1ap_NetworkAccessRateReduction_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PWSRestartIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PWSRestartIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSRestartIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_NR_CGI_List_For_Restart_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_NR_CGI_List_For_Restart_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_NR_CGI_List_For_Restart_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PWSFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PWSFailureIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWSFailureIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PWS_Failed_NR_CGI_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PWS_Failed_NR_CGI_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_PWS_Failed_NR_CGI_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBDUStatusIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBDUStatusIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUStatusIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RRCDeliveryReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RRCDeliveryReport(tvb, offset, &asn1_ctx, tree, hf_f1ap_RRCDeliveryReport_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_F1RemovalRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_F1RemovalRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1RemovalRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_F1RemovalResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_F1RemovalResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1RemovalResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_F1RemovalFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_F1RemovalFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1RemovalFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TraceStart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TraceStart(tvb, offset, &asn1_ctx, tree, hf_f1ap_TraceStart_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DeactivateTrace_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DeactivateTrace(tvb, offset, &asn1_ctx, tree, hf_f1ap_DeactivateTrace_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CellTrafficTrace_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CellTrafficTrace(tvb, offset, &asn1_ctx, tree, hf_f1ap_CellTrafficTrace_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DUCURadioInformationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DUCURadioInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_DUCURadioInformationTransfer_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CUDURadioInformationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CUDURadioInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_CUDURadioInformationTransfer_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BAPMappingConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BAPMappingConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_BAPMappingConfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BH_Routing_Information_Added_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BH_Routing_Information_Added_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BH_Routing_Information_Added_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BH_Routing_Information_Removed_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BH_Routing_Information_Removed_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BH_Routing_Information_Removed_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BAP_Header_Rewriting_Added_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BAP_Header_Rewriting_Added_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BAP_Header_Rewriting_Added_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BAP_Header_Rewriting_Removed_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BAP_Header_Rewriting_Removed_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BAP_Header_Rewriting_Removed_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BAPMappingConfigurationAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BAPMappingConfigurationAcknowledge(tvb, offset, &asn1_ctx, tree, hf_f1ap_BAPMappingConfigurationAcknowledge_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BAPMappingConfigurationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BAPMappingConfigurationFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_BAPMappingConfigurationFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBDUResourceConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBDUResourceConfiguration(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUResourceConfiguration_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBDUResourceConfigurationAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBDUResourceConfigurationAcknowledge(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUResourceConfigurationAcknowledge_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_GNBDUResourceConfigurationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_GNBDUResourceConfigurationFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_GNBDUResourceConfigurationFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IABTNLAddressRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IABTNLAddressRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABTNLAddressRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IAB_TNL_Addresses_To_Remove_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IAB_TNL_Addresses_To_Remove_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_TNL_Addresses_To_Remove_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IABTNLAddressResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IABTNLAddressResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABTNLAddressResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IAB_Allocated_TNL_Address_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IAB_Allocated_TNL_Address_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_IAB_Allocated_TNL_Address_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IABTNLAddressFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IABTNLAddressFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABTNLAddressFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IABUPConfigurationUpdateRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IABUPConfigurationUpdateRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABUPConfigurationUpdateRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UL_UP_TNL_Information_to_Update_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UL_UP_TNL_Information_to_Update_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_UL_UP_TNL_Information_to_Update_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UL_UP_TNL_Address_to_Update_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UL_UP_TNL_Address_to_Update_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_UL_UP_TNL_Address_to_Update_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IABUPConfigurationUpdateResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IABUPConfigurationUpdateResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABUPConfigurationUpdateResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DL_UP_TNL_Address_to_Update_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DL_UP_TNL_Address_to_Update_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_DL_UP_TNL_Address_to_Update_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_IABUPConfigurationUpdateFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_IABUPConfigurationUpdateFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_IABUPConfigurationUpdateFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MIABF1SetupTriggering_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MIABF1SetupTriggering(tvb, offset, &asn1_ctx, tree, hf_f1ap_MIABF1SetupTriggering_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MIABF1SetupOutcomeNotification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MIABF1SetupOutcomeNotification(tvb, offset, &asn1_ctx, tree, hf_f1ap_MIABF1SetupOutcomeNotification_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_F1SetupOutcome_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_F1SetupOutcome(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1SetupOutcome_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Activated_Cells_Mapping_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Activated_Cells_Mapping_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Activated_Cells_Mapping_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ResourceStatusRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ResourceStatusRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResourceStatusRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ResourceStatusResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ResourceStatusResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResourceStatusResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ResourceStatusFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ResourceStatusFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResourceStatusFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ResourceStatusUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ResourceStatusUpdate(tvb, offset, &asn1_ctx, tree, hf_f1ap_ResourceStatusUpdate_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AccessAndMobilityIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AccessAndMobilityIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_AccessAndMobilityIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReferenceTimeInformationReportingControl_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReferenceTimeInformationReportingControl(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReferenceTimeInformationReportingControl_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_ReferenceTimeInformationReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_ReferenceTimeInformationReport(tvb, offset, &asn1_ctx, tree, hf_f1ap_ReferenceTimeInformationReport_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_AccessSuccess_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_AccessSuccess(tvb, offset, &asn1_ctx, tree, hf_f1ap_AccessSuccess_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningAssistanceInformationControl_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningAssistanceInformationControl(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningAssistanceInformationControl_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningAssistanceInformationFeedback_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningAssistanceInformationFeedback(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningAssistanceInformationFeedback_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningMeasurementRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningMeasurementRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningMeasurementRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningMeasurementResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningMeasurementResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningMeasurementResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningMeasurementFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningMeasurementFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningMeasurementFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningMeasurementReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningMeasurementReport(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningMeasurementReport_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningMeasurementAbort_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningMeasurementAbort(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningMeasurementAbort_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningMeasurementFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningMeasurementFailureIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningMeasurementFailureIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningMeasurementUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningMeasurementUpdate(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningMeasurementUpdate_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRPInformationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRPInformationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRPInformationRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRPInformationTypeListTRPReq_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRPInformationTypeListTRPReq(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRPInformationTypeListTRPReq_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRPInformationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRPInformationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRPInformationResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRPInformationListTRPResp_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRPInformationListTRPResp(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRPInformationListTRPResp_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TRPInformationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TRPInformationFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_TRPInformationFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningInformationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningInformationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningInformationRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningInformationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningInformationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningInformationResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningInformationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningInformationFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningInformationFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningActivationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningActivationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningActivationRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRSType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRSType(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRSType_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningActivationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningActivationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningActivationResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningActivationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningActivationFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningActivationFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningDeactivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningDeactivation(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningDeactivation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PositioningInformationUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PositioningInformationUpdate(tvb, offset, &asn1_ctx, tree, hf_f1ap_PositioningInformationUpdate_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_SRSInformationReservationNotification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_SRSInformationReservationNotification(tvb, offset, &asn1_ctx, tree, hf_f1ap_SRSInformationReservationNotification_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_E_CIDMeasurementInitiationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_E_CIDMeasurementInitiationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_E_CIDMeasurementInitiationRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_E_CIDMeasurementInitiationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_E_CIDMeasurementInitiationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_E_CIDMeasurementInitiationResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_E_CIDMeasurementInitiationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_E_CIDMeasurementInitiationFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_E_CIDMeasurementInitiationFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_E_CIDMeasurementFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_E_CIDMeasurementFailureIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_E_CIDMeasurementFailureIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_E_CIDMeasurementReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_E_CIDMeasurementReport(tvb, offset, &asn1_ctx, tree, hf_f1ap_E_CIDMeasurementReport_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_E_CIDMeasurementTerminationCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_E_CIDMeasurementTerminationCommand(tvb, offset, &asn1_ctx, tree, hf_f1ap_E_CIDMeasurementTerminationCommand_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastContextSetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastContextSetupRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastContextSetupRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_ToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_ToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastContextSetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastContextSetupResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastContextSetupResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_Setup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_Setup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_FailedToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_FailedToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_FailedToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastContextSetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastContextSetupFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastContextSetupFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastContextReleaseCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastContextReleaseCommand(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastContextReleaseCommand_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastContextReleaseComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastContextReleaseComplete(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastContextReleaseComplete_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastContextReleaseRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastContextReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastContextReleaseRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastContextModificationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastContextModificationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastContextModificationRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_ToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_ToBeSetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_ToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_ToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_ToBeModified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_ToBeReleased_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastContextModificationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastContextModificationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastContextModificationResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_SetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_SetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_SetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_FailedToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_FailedToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_FailedToBeSetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_Modified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_Modified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_Modified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastMRBs_FailedToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastMRBs_FailedToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastMRBs_FailedToBeModified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastContextModificationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastContextModificationFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastContextModificationFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_BroadcastTransportResourceRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_BroadcastTransportResourceRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_BroadcastTransportResourceRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_Broadcast_MRBs_Transport_Request_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_Broadcast_MRBs_Transport_Request_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_Broadcast_MRBs_Transport_Request_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastGroupPaging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastGroupPaging(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastGroupPaging_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_UEIdentity_List_For_Paging_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_UEIdentity_List_For_Paging_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_UEIdentity_List_For_Paging_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MC_PagingCell_list_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MC_PagingCell_list(tvb, offset, &asn1_ctx, tree, hf_f1ap_MC_PagingCell_list_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastContextSetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastContextSetupRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastContextSetupRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_ToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_ToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastContextSetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastContextSetupResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastContextSetupResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_Setup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_Setup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_FailedToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_FailedToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_FailedToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastContextSetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastContextSetupFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastContextSetupFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastContextReleaseCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastContextReleaseCommand(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastContextReleaseCommand_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastContextReleaseComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastContextReleaseComplete(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastContextReleaseComplete_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastContextReleaseRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastContextReleaseRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastContextReleaseRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastContextModificationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastContextModificationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastContextModificationRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_ToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_ToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_ToBeSetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_ToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_ToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_ToBeModified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_ToBeReleased_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_ToBeReleased_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_ToBeReleased_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastContextModificationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastContextModificationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastContextModificationResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_SetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_SetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_SetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_FailedToBeSetupMod_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_FailedToBeSetupMod_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_FailedToBeSetupMod_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_Modified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_Modified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_Modified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastMRBs_FailedToBeModified_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastMRBs_FailedToBeModified_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastMRBs_FailedToBeModified_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastContextModificationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastContextModificationFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastContextModificationFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastContextNotificationIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastContextNotificationIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastContextNotificationIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastContextNotificationConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastContextNotificationConfirm(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastContextNotificationConfirm_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastContextNotificationRefuse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastContextNotificationRefuse(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastContextNotificationRefuse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastCommonConfigurationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastCommonConfigurationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastCommonConfigurationRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastCommonConfigurationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastCommonConfigurationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastCommonConfigurationResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastCommonConfigurationRefuse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastCommonConfigurationRefuse(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastCommonConfigurationRefuse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastDistributionSetupRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastDistributionSetupRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastDistributionSetupRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastF1UContext_ToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastF1UContext_ToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastF1UContext_ToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastDistributionSetupResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastDistributionSetupResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastDistributionSetupResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastF1UContext_Setup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastF1UContext_Setup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastF1UContext_Setup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastF1UContext_FailedToBeSetup_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastF1UContext_FailedToBeSetup_List(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastF1UContext_FailedToBeSetup_List_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastDistributionSetupFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastDistributionSetupFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastDistributionSetupFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastDistributionReleaseCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastDistributionReleaseCommand(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastDistributionReleaseCommand_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MulticastDistributionReleaseComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MulticastDistributionReleaseComplete(tvb, offset, &asn1_ctx, tree, hf_f1ap_MulticastDistributionReleaseComplete_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDCMeasurementInitiationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDCMeasurementInitiationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCMeasurementInitiationRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDCMeasurementInitiationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDCMeasurementInitiationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCMeasurementInitiationResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDCMeasurementInitiationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDCMeasurementInitiationFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCMeasurementInitiationFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDCMeasurementReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDCMeasurementReport(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCMeasurementReport_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDCMeasurementTerminationCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDCMeasurementTerminationCommand(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCMeasurementTerminationCommand_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PDCMeasurementFailureIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PDCMeasurementFailureIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_PDCMeasurementFailureIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PRSConfigurationRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PRSConfigurationRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_PRSConfigurationRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PRSConfigurationResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PRSConfigurationResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_PRSConfigurationResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PRSConfigurationFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PRSConfigurationFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_PRSConfigurationFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MeasurementPreconfigurationRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MeasurementPreconfigurationRequired(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasurementPreconfigurationRequired_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MeasurementPreconfigurationConfirm_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MeasurementPreconfigurationConfirm(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasurementPreconfigurationConfirm_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MeasurementPreconfigurationRefuse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MeasurementPreconfigurationRefuse(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasurementPreconfigurationRefuse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_MeasurementActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_MeasurementActivation(tvb, offset, &asn1_ctx, tree, hf_f1ap_MeasurementActivation_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_QoEInformationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_QoEInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_QoEInformationTransfer_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_PosSystemInformationDeliveryCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_PosSystemInformationDeliveryCommand(tvb, offset, &asn1_ctx, tree, hf_f1ap_PosSystemInformationDeliveryCommand_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DUCUCellSwitchNotification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DUCUCellSwitchNotification(tvb, offset, &asn1_ctx, tree, hf_f1ap_DUCUCellSwitchNotification_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CUDUCellSwitchNotification_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CUDUCellSwitchNotification(tvb, offset, &asn1_ctx, tree, hf_f1ap_CUDUCellSwitchNotification_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DUCUTAInformationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DUCUTAInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_DUCUTAInformationTransfer_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_CUDUTAInformationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_CUDUTAInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_f1ap_CUDUTAInformationTransfer_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_QoEInformationTransferControl_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_QoEInformationTransferControl(tvb, offset, &asn1_ctx, tree, hf_f1ap_QoEInformationTransferControl_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_RachIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_RachIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_RachIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TimingSynchronisationStatusRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TimingSynchronisationStatusRequest(tvb, offset, &asn1_ctx, tree, hf_f1ap_TimingSynchronisationStatusRequest_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TimingSynchronisationStatusResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TimingSynchronisationStatusResponse(tvb, offset, &asn1_ctx, tree, hf_f1ap_TimingSynchronisationStatusResponse_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TimingSynchronisationStatusFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TimingSynchronisationStatusFailure(tvb, offset, &asn1_ctx, tree, hf_f1ap_TimingSynchronisationStatusFailure_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_TimingSynchronisationStatusReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_TimingSynchronisationStatusReport(tvb, offset, &asn1_ctx, tree, hf_f1ap_TimingSynchronisationStatusReport_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_DUCUAccessAndMobilityIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_DUCUAccessAndMobilityIndication(tvb, offset, &asn1_ctx, tree, hf_f1ap_DUCUAccessAndMobilityIndication_PDU);
  offset += 7; offset >>= 3;
  return offset;
}
static int dissect_F1AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
  int offset = 0;
  asn1_ctx_t asn1_ctx;
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, true, pinfo);
  offset = dissect_f1ap_F1AP_PDU(tvb, offset, &asn1_ctx, tree, hf_f1ap_F1AP_PDU_PDU);
  offset += 7; offset >>= 3;
  return offset;
}


static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
  f1ap_ctx_t f1ap_ctx;
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);

  f1ap_ctx.message_type        = f1ap_data->message_type;
  f1ap_ctx.ProcedureCode       = f1ap_data->procedure_code;
  f1ap_ctx.ProtocolIE_ID       = f1ap_data->protocol_ie_id;
  f1ap_ctx.ProtocolExtensionID = f1ap_data->protocol_extension_id;

  return (dissector_try_uint_new(f1ap_ies_dissector_table, f1ap_data->protocol_ie_id, tvb, pinfo, tree, false, &f1ap_ctx)) ? tvb_captured_length(tvb) : 0;
}

static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
  f1ap_ctx_t f1ap_ctx;
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);

  f1ap_ctx.message_type        = f1ap_data->message_type;
  f1ap_ctx.ProcedureCode       = f1ap_data->procedure_code;
  f1ap_ctx.ProtocolIE_ID       = f1ap_data->protocol_ie_id;
  f1ap_ctx.ProtocolExtensionID = f1ap_data->protocol_extension_id;

  return (dissector_try_uint_new(f1ap_extension_dissector_table, f1ap_data->protocol_extension_id, tvb, pinfo, tree, false, &f1ap_ctx)) ? tvb_captured_length(tvb) : 0;
}

static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
{
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);

  return (dissector_try_uint_new(f1ap_proc_imsg_dissector_table, f1ap_data->procedure_code, tvb, pinfo, tree, false, data)) ? tvb_captured_length(tvb) : 0;
}

static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
{
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);

  return (dissector_try_uint_new(f1ap_proc_sout_dissector_table, f1ap_data->procedure_code, tvb, pinfo, tree, false, data)) ? tvb_captured_length(tvb) : 0;
}

static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
{
  f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);

  return (dissector_try_uint_new(f1ap_proc_uout_dissector_table, f1ap_data->procedure_code, tvb, pinfo, tree, false, data)) ? tvb_captured_length(tvb) : 0;
}


static void
f1ap_stats_tree_init(stats_tree *st)
{
    st_node_packets = stats_tree_create_node(st, st_str_packets, 0, STAT_DT_INT, true);
    st_node_packet_types = stats_tree_create_pivot(st, st_str_packet_types, st_node_packets);
}

static tap_packet_status
f1ap_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_,
                       epan_dissect_t* edt _U_ , const void* p, tap_flags_t flags _U_)
{
    const struct f1ap_tap_t *pi = (const struct f1ap_tap_t *) p;

    tick_stat_node(st, st_str_packets, 0, false);
    stats_tree_tick_pivot(st, st_node_packet_types,
                          val_to_str_ext(pi->f1ap_mtype, &mtype_names_ext,
                                         "Unknown packet type (%d)"));
    return TAP_PACKET_REDRAW;
}

static void set_stats_message_type(packet_info *pinfo, int type)
{
    f1ap_private_data_t* priv_data = f1ap_get_private_data(pinfo);
    priv_data->stats_tap->f1ap_mtype = type;
}

static int
dissect_f1ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
  proto_item *f1ap_item = NULL;
  proto_tree *f1ap_tree = NULL;

  struct f1ap_tap_t *f1ap_info;

  /* make entry in the Protocol column on summary display */
  col_set_str(pinfo->cinfo, COL_PROTOCOL, "F1AP");
  col_clear(pinfo->cinfo, COL_INFO);

  f1ap_info = wmem_new(pinfo->pool, struct f1ap_tap_t);
  f1ap_info->f1ap_mtype   = 0;  /* unknown/invalid */

  /* create the f1ap protocol tree */
  f1ap_item = proto_tree_add_item(tree, proto_f1ap, tvb, 0, -1, ENC_NA);
  f1ap_tree = proto_item_add_subtree(f1ap_item, ett_f1ap);

  /* Store top-level tree */
  top_tree = f1ap_tree;

  /* Add stats tap to private struct */
  f1ap_private_data_t *priv_data = f1ap_get_private_data(pinfo);
  priv_data->stats_tap = f1ap_info;


  dissect_F1AP_PDU_PDU(tvb, pinfo, f1ap_tree, NULL);

  tap_queue_packet(f1ap_tap, pinfo, f1ap_info);
  return tvb_captured_length(tvb);
}

void proto_register_f1ap(void) {

  /* List of fields */

  static hf_register_info hf[] = {
    { &hf_f1ap_transportLayerAddressIPv4,
      { "IPv4 transportLayerAddress", "f1ap.transportLayerAddressIPv4",
        FT_IPv4, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_transportLayerAddressIPv6,
      { "IPv6 transportLayerAddress", "f1ap.transportLayerAddressIPv6",
        FT_IPv6, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IABTNLAddressIPv4,
      { "IPv4 IABTNLAddress", "f1ap.IABTNLAddressIPv4",
        FT_IPv4, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IABTNLAddressIPv6,
      { "IPv6 IABTNLAddress", "f1ap.IABTNLAddressIPv6",
        FT_IPv6, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IABTNLAddressIPv6Prefix,
      { "IPv6 Prefix IABTNLAddress", "f1ap.IABTNLAddressIPv6Prefix",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_interfacesToTrace_NG_C,
      { "NG-C", "f1ap.interfacesToTrace.NG_C",
        FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x80,
        NULL, HFILL }},
    { &hf_f1ap_interfacesToTrace_Xn_C,
      { "Xn-C", "f1ap.interfacesToTrace.Xn_C",
        FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x40,
        NULL, HFILL }},
    { &hf_f1ap_interfacesToTrace_Uu,
      { "Uu", "f1ap.interfacesToTrace.Uu",
        FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x20,
        NULL, HFILL }},
    { &hf_f1ap_interfacesToTrace_F1_C,
      { "F1-C", "f1ap.interfacesToTrace.F1_C",
        FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x10,
        NULL, HFILL }},
    { &hf_f1ap_interfacesToTrace_E1,
      { "E1", "f1ap.interfacesToTrace.E1",
        FT_BOOLEAN, 8, TFS(&tfs_should_be_traced_should_not_be_traced), 0x08,
        NULL, HFILL }},
    { &hf_f1ap_interfacesToTrace_Reserved,
      { "Reserved", "f1ap.interfacesToTrace.Reserved",
        FT_UINT8, BASE_HEX, NULL, 0x07,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementsToActivate_Reserved1,
      { "Reserved", "f1ap.MeasurementsToActivate.Reserved",
        FT_UINT8, BASE_HEX, NULL, 0x80,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementsToActivate_M2,
      { "M2", "f1ap.MeasurementsToActivate.M2",
        FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x40,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementsToActivate_Reserved2,
      { "Reserved", "f1ap.MeasurementsToActivate.Reserved",
        FT_UINT8, BASE_HEX, NULL, 0x30,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementsToActivate_M5,
      { "M5", "f1ap.MeasurementsToActivate.M5",
        FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x08,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementsToActivate_Reserved3,
      { "Reserved", "f1ap.MeasurementsToActivate.Reserved",
        FT_UINT8, BASE_HEX, NULL, 0x04,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementsToActivate_M6,
      { "M6", "f1ap.MeasurementsToActivate.M6",
        FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x02,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementsToActivate_M7,
      { "M7", "f1ap.MeasurementsToActivate.M7",
        FT_BOOLEAN, 8, TFS(&tfs_activated_deactivated), 0x01,
        NULL, HFILL }},
    { &hf_f1ap_ReportCharacteristics_PRBPeriodic,
      { "PRBPeriodic", "f1ap.ReportCharacteristics.PRBPeriodic",
        FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x80000000,
        NULL, HFILL }},
    { &hf_f1ap_ReportCharacteristics_TNLCapacityIndPeriodic,
      { "TNLCapacityIndPeriodic", "f1ap.ReportCharacteristics.TNLCapacityIndPeriodic",
        FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x40000000,
        NULL, HFILL }},
    { &hf_f1ap_ReportCharacteristics_CompositeAvailableCapacityPeriodic,
      { "CompositeAvailableCapacityPeriodic", "f1ap.ReportCharacteristics.CompositeAvailableCapacityPeriodic",
        FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x20000000,
        NULL, HFILL }},
    { &hf_f1ap_ReportCharacteristics_HWLoadIndPeriodic,
      { "HWLoadIndPeriodic", "f1ap.ReportCharacteristics.HWLoadIndPeriodic",
        FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x10000000,
        NULL, HFILL }},
    { &hf_f1ap_ReportCharacteristics_NumberOfActiveUEs,
      { "NumberOfActiveUEs", "f1ap.ReportCharacteristics.NumberOfActiveUEs",
        FT_BOOLEAN, 32, TFS(&tfs_requested_not_requested), 0x08000000,
        NULL, HFILL }},
    { &hf_f1ap_ReportCharacteristics_Reserved,
      { "Reserved", "f1ap.ReportCharacteristics.Reserved",
        FT_UINT32, BASE_HEX, NULL, 0x07ffffff,
        NULL, HFILL }},
    { &hf_f1ap_AbortTransmission_PDU,
      { "AbortTransmission", "f1ap.AbortTransmission",
        FT_UINT32, BASE_DEC, VALS(f1ap_AbortTransmission_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_Activated_Cells_Mapping_List_Item_PDU,
      { "Activated-Cells-Mapping-List-Item", "f1ap.Activated_Cells_Mapping_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Activated_Cells_to_be_Updated_List_PDU,
      { "Activated-Cells-to-be-Updated-List", "f1ap.Activated_Cells_to_be_Updated_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ActivationRequestType_PDU,
      { "ActivationRequestType", "f1ap.ActivationRequestType",
        FT_UINT32, BASE_DEC, VALS(f1ap_ActivationRequestType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_AdditionalDuplicationIndication_PDU,
      { "AdditionalDuplicationIndication", "f1ap.AdditionalDuplicationIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_AdditionalDuplicationIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_ExtendedAdditionalPathList_PDU,
      { "ExtendedAdditionalPathList", "f1ap.ExtendedAdditionalPathList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AdditionalPDCPDuplicationTNL_List_PDU,
      { "AdditionalPDCPDuplicationTNL-List", "f1ap.AdditionalPDCPDuplicationTNL_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AdditionalSIBMessageList_PDU,
      { "AdditionalSIBMessageList", "f1ap.AdditionalSIBMessageList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AdditionalRRMPriorityIndex_PDU,
      { "AdditionalRRMPriorityIndex", "f1ap.AdditionalRRMPriorityIndex",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AggregatedPosSRSResourceIDList_PDU,
      { "AggregatedPosSRSResourceIDList", "f1ap.AggregatedPosSRSResourceIDList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AggregatedPosSRSResourceSetList_PDU,
      { "AggregatedPosSRSResourceSetList", "f1ap.AggregatedPosSRSResourceSetList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AggregatedPRSResourceSetList_PDU,
      { "AggregatedPRSResourceSetList", "f1ap.AggregatedPRSResourceSetList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AggressorgNBSetID_PDU,
      { "AggressorgNBSetID", "f1ap.AggressorgNBSetID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AlternativeQoSParaSetList_PDU,
      { "AlternativeQoSParaSetList", "f1ap.AlternativeQoSParaSetList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Associated_SCell_Item_PDU,
      { "Associated-SCell-Item", "f1ap.Associated_SCell_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AssociatedSessionID_PDU,
      { "AssociatedSessionID", "f1ap.AssociatedSessionID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AvailablePLMNList_PDU,
      { "AvailablePLMNList", "f1ap.AvailablePLMNList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AvailableSNPN_ID_List_PDU,
      { "AvailableSNPN-ID-List", "f1ap.AvailableSNPN_ID_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AreaScope_PDU,
      { "AreaScope", "f1ap.AreaScope",
        FT_UINT32, BASE_DEC, VALS(f1ap_AreaScope_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_AoA_AssistanceInfo_PDU,
      { "AoA-AssistanceInfo", "f1ap.AoA_AssistanceInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ARP_ID_PDU,
      { "ARP-ID", "f1ap.ARP_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ARPLocationInformation_PDU,
      { "ARPLocationInformation", "f1ap.ARPLocationInformation",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BAP_Header_Rewriting_Added_List_Item_PDU,
      { "BAP-Header-Rewriting-Added-List-Item", "f1ap.BAP_Header_Rewriting_Added_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BAP_Header_Rewriting_Removed_List_Item_PDU,
      { "BAP-Header-Rewriting-Removed-List-Item", "f1ap.BAP_Header_Rewriting_Removed_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BAPAddress_PDU,
      { "BAPAddress", "f1ap.BAPAddress",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BitRate_PDU,
      { "BitRate", "f1ap.BitRate",
        FT_UINT64, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BearerTypeChange_PDU,
      { "BearerTypeChange", "f1ap.BearerTypeChange",
        FT_UINT32, BASE_DEC, VALS(f1ap_BearerTypeChange_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_FailedToBeModified_Item_PDU,
      { "BHChannels-FailedToBeModified-Item", "f1ap.BHChannels_FailedToBeModified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_FailedToBeSetup_Item_PDU,
      { "BHChannels-FailedToBeSetup-Item", "f1ap.BHChannels_FailedToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_FailedToBeSetupMod_Item_PDU,
      { "BHChannels-FailedToBeSetupMod-Item", "f1ap.BHChannels_FailedToBeSetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_Modified_Item_PDU,
      { "BHChannels-Modified-Item", "f1ap.BHChannels_Modified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_Required_ToBeReleased_Item_PDU,
      { "BHChannels-Required-ToBeReleased-Item", "f1ap.BHChannels_Required_ToBeReleased_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_Setup_Item_PDU,
      { "BHChannels-Setup-Item", "f1ap.BHChannels_Setup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_SetupMod_Item_PDU,
      { "BHChannels-SetupMod-Item", "f1ap.BHChannels_SetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_ToBeModified_Item_PDU,
      { "BHChannels-ToBeModified-Item", "f1ap.BHChannels_ToBeModified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_ToBeReleased_Item_PDU,
      { "BHChannels-ToBeReleased-Item", "f1ap.BHChannels_ToBeReleased_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_ToBeSetup_Item_PDU,
      { "BHChannels-ToBeSetup-Item", "f1ap.BHChannels_ToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_ToBeSetupMod_Item_PDU,
      { "BHChannels-ToBeSetupMod-Item", "f1ap.BHChannels_ToBeSetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHInfo_PDU,
      { "BHInfo", "f1ap.BHInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BH_Routing_Information_Added_List_Item_PDU,
      { "BH-Routing-Information-Added-List-Item", "f1ap.BH_Routing_Information_Added_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BH_Routing_Information_Removed_List_Item_PDU,
      { "BH-Routing-Information-Removed-List-Item", "f1ap.BH_Routing_Information_Removed_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BPLMN_ID_Info_List_PDU,
      { "BPLMN-ID-Info-List", "f1ap.BPLMN_ID_Info_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_FailedToBeModified_Item_PDU,
      { "BroadcastMRBs-FailedToBeModified-Item", "f1ap.BroadcastMRBs_FailedToBeModified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_FailedToBeSetup_Item_PDU,
      { "BroadcastMRBs-FailedToBeSetup-Item", "f1ap.BroadcastMRBs_FailedToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_FailedToBeSetupMod_Item_PDU,
      { "BroadcastMRBs-FailedToBeSetupMod-Item", "f1ap.BroadcastMRBs_FailedToBeSetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_Modified_Item_PDU,
      { "BroadcastMRBs-Modified-Item", "f1ap.BroadcastMRBs_Modified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_Setup_Item_PDU,
      { "BroadcastMRBs-Setup-Item", "f1ap.BroadcastMRBs_Setup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_SetupMod_Item_PDU,
      { "BroadcastMRBs-SetupMod-Item", "f1ap.BroadcastMRBs_SetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_ToBeModified_Item_PDU,
      { "BroadcastMRBs-ToBeModified-Item", "f1ap.BroadcastMRBs_ToBeModified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_ToBeReleased_Item_PDU,
      { "BroadcastMRBs-ToBeReleased-Item", "f1ap.BroadcastMRBs_ToBeReleased_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_ToBeSetup_Item_PDU,
      { "BroadcastMRBs-ToBeSetup-Item", "f1ap.BroadcastMRBs_ToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_ToBeSetupMod_Item_PDU,
      { "BroadcastMRBs-ToBeSetupMod-Item", "f1ap.BroadcastMRBs_ToBeSetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastAreaScope_PDU,
      { "BroadcastAreaScope", "f1ap.BroadcastAreaScope",
        FT_UINT32, BASE_DEC, VALS(f1ap_BroadcastAreaScope_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_BufferSizeThresh_PDU,
      { "BufferSizeThresh", "f1ap.BufferSizeThresh",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BW_Aggregation_Request_Indication_PDU,
      { "BW-Aggregation-Request-Indication", "f1ap.BW_Aggregation_Request_Indication",
        FT_UINT32, BASE_DEC, VALS(f1ap_BW_Aggregation_Request_Indication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_BWP_Id_PDU,
      { "BWP-Id", "f1ap.BWP_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Broadcast_MRBs_Transport_Request_Item_PDU,
      { "Broadcast-MRBs-Transport-Request-Item", "f1ap.Broadcast_MRBs_Transport_Request_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cancel_all_Warning_Messages_Indicator_PDU,
      { "Cancel-all-Warning-Messages-Indicator", "f1ap.Cancel_all_Warning_Messages_Indicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_Cancel_all_Warning_Messages_Indicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_Candidate_SpCell_Item_PDU,
      { "Candidate-SpCell-Item", "f1ap.Candidate_SpCell_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cause_PDU,
      { "Cause", "f1ap.Cause",
        FT_UINT32, BASE_DEC, VALS(f1ap_Cause_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_CellGroupConfig_PDU,
      { "CellGroupConfig", "f1ap.CellGroupConfig",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cell_Direction_PDU,
      { "Cell-Direction", "f1ap.Cell_Direction",
        FT_UINT32, BASE_DEC, VALS(f1ap_Cell_Direction_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_CellMeasurementResultList_PDU,
      { "CellMeasurementResultList", "f1ap.CellMeasurementResultList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cell_Portion_ID_PDU,
      { "Cell-Portion-ID", "f1ap.Cell_Portion_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CellsForSON_List_PDU,
      { "CellsForSON-List", "f1ap.CellsForSON_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Failed_to_be_Activated_List_Item_PDU,
      { "Cells-Failed-to-be-Activated-List-Item", "f1ap.Cells_Failed_to_be_Activated_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Status_Item_PDU,
      { "Cells-Status-Item", "f1ap.Cells_Status_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_To_Be_Broadcast_Item_PDU,
      { "Cells-To-Be-Broadcast-Item", "f1ap.Cells_To_Be_Broadcast_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Broadcast_Completed_Item_PDU,
      { "Cells-Broadcast-Completed-Item", "f1ap.Cells_Broadcast_Completed_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Broadcast_To_Be_Cancelled_Item_PDU,
      { "Broadcast-To-Be-Cancelled-Item", "f1ap.Broadcast_To_Be_Cancelled_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Broadcast_Cancelled_Item_PDU,
      { "Cells-Broadcast-Cancelled-Item", "f1ap.Cells_Broadcast_Cancelled_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_to_be_Activated_List_Item_PDU,
      { "Cells-to-be-Activated-List-Item", "f1ap.Cells_to_be_Activated_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_With_SSBs_Activated_List_PDU,
      { "Cells-With-SSBs-Activated-List", "f1ap.Cells_With_SSBs_Activated_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Allowed_to_be_Deactivated_List_Item_PDU,
      { "Cells-Allowed-to-be-Deactivated-List-Item", "f1ap.Cells_Allowed_to_be_Deactivated_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_to_be_Deactivated_List_Item_PDU,
      { "Cells-to-be-Deactivated-List-Item", "f1ap.Cells_to_be_Deactivated_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_to_be_Barred_Item_PDU,
      { "Cells-to-be-Barred-Item", "f1ap.Cells_to_be_Barred_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CellToReportList_PDU,
      { "CellToReportList", "f1ap.CellToReportList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CellType_PDU,
      { "CellType", "f1ap.CellType_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CellULConfigured_PDU,
      { "CellULConfigured", "f1ap.CellULConfigured",
        FT_UINT32, BASE_DEC, VALS(f1ap_CellULConfigured_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_CG_SDTQueryIndication_PDU,
      { "CG-SDTQueryIndication", "f1ap.CG_SDTQueryIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_CG_SDTQueryIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_CG_SDTKeptIndicator_PDU,
      { "CG-SDTKeptIndicator", "f1ap.CG_SDTKeptIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_CG_SDTKeptIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_CG_SDTindicatorSetup_PDU,
      { "CG-SDTindicatorSetup", "f1ap.CG_SDTindicatorSetup",
        FT_UINT32, BASE_DEC, VALS(f1ap_CG_SDTindicatorSetup_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_CG_SDTindicatorMod_PDU,
      { "CG-SDTindicatorMod", "f1ap.CG_SDTindicatorMod",
        FT_UINT32, BASE_DEC, VALS(f1ap_CG_SDTindicatorMod_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_CG_SDTSessionInfo_PDU,
      { "CG-SDTSessionInfo", "f1ap.CG_SDTSessionInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ChannelOccupancyTimePercentage_PDU,
      { "ChannelOccupancyTimePercentage", "f1ap.ChannelOccupancyTimePercentage",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        NULL, HFILL }},
    { &hf_f1ap_Child_IAB_Nodes_NA_Resource_List_PDU,
      { "Child-IAB-Nodes-NA-Resource-List", "f1ap.Child_IAB_Nodes_NA_Resource_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Child_Nodes_List_PDU,
      { "Child-Nodes-List", "f1ap.Child_Nodes_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CompositeAvailableCapacity_PDU,
      { "CompositeAvailableCapacity", "f1ap.CompositeAvailableCapacity_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CHO_Probability_PDU,
      { "CHO-Probability", "f1ap.CHO_Probability",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ConditionalInterDUMobilityInformation_PDU,
      { "ConditionalInterDUMobilityInformation", "f1ap.ConditionalInterDUMobilityInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ConditionalIntraDUMobilityInformation_PDU,
      { "ConditionalIntraDUMobilityInformation", "f1ap.ConditionalIntraDUMobilityInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ConfigRestrictInfoDAPS_PDU,
      { "ConfigRestrictInfoDAPS", "f1ap.ConfigRestrictInfoDAPS",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ConfiguredTACIndication_PDU,
      { "ConfiguredTACIndication", "f1ap.ConfiguredTACIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_ConfiguredTACIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_Configured_BWP_List_PDU,
      { "Configured-BWP-List", "f1ap.Configured_BWP_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Coverage_Modification_Notification_PDU,
      { "Coverage-Modification-Notification", "f1ap.Coverage_Modification_Notification_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CCO_Assistance_Information_PDU,
      { "CCO-Assistance-Information", "f1ap.CCO_Assistance_Information_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CCO_issue_detection_PDU,
      { "CCO-issue-detection", "f1ap.CCO_issue_detection",
        FT_UINT32, BASE_DEC, VALS(f1ap_CCO_issue_detection_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_CP_TransportLayerAddress_PDU,
      { "CP-TransportLayerAddress", "f1ap.CP_TransportLayerAddress",
        FT_UINT32, BASE_DEC, VALS(f1ap_CP_TransportLayerAddress_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_CPACMCGInformation_PDU,
      { "CPACMCGInformation", "f1ap.CPACMCGInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CriticalityDiagnostics_PDU,
      { "CriticalityDiagnostics", "f1ap.CriticalityDiagnostics_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_C_RNTI_PDU,
      { "C-RNTI", "f1ap.C_RNTI",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CUDURadioInformationType_PDU,
      { "CUDURadioInformationType", "f1ap.CUDURadioInformationType",
        FT_UINT32, BASE_DEC, VALS(f1ap_CUDURadioInformationType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_CUtoDURRCInformation_PDU,
      { "CUtoDURRCInformation", "f1ap.CUtoDURRCInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CUtoDUTAInformation_List_PDU,
      { "CUtoDUTAInformation-List", "f1ap.CUtoDUTAInformation_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DAPS_HO_Status_PDU,
      { "DAPS-HO-Status", "f1ap.DAPS_HO_Status",
        FT_UINT32, BASE_DEC, VALS(f1ap_DAPS_HO_Status_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_DCBasedDuplicationConfigured_PDU,
      { "DCBasedDuplicationConfigured", "f1ap.DCBasedDuplicationConfigured",
        FT_UINT32, BASE_DEC, VALS(f1ap_DCBasedDuplicationConfigured_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_DeactivationIndication_PDU,
      { "DeactivationIndication", "f1ap.DeactivationIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_DeactivationIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_Dedicated_SIDelivery_NeededUE_Item_PDU,
      { "Dedicated-SIDelivery-NeededUE-Item", "f1ap.Dedicated_SIDelivery_NeededUE_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DedicatedSIDeliveryIndication_PDU,
      { "DedicatedSIDeliveryIndication", "f1ap.DedicatedSIDeliveryIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_DedicatedSIDeliveryIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_DL_UP_TNL_Address_to_Update_List_Item_PDU,
      { "DL-UP-TNL-Address-to-Update-List-Item", "f1ap.DL_UP_TNL_Address_to_Update_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRB_Activity_Item_PDU,
      { "DRB-Activity-Item", "f1ap.DRB_Activity_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_FailedToBeModified_Item_PDU,
      { "DRBs-FailedToBeModified-Item", "f1ap.DRBs_FailedToBeModified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_FailedToBeSetup_Item_PDU,
      { "DRBs-FailedToBeSetup-Item", "f1ap.DRBs_FailedToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_FailedToBeSetupMod_Item_PDU,
      { "DRBs-FailedToBeSetupMod-Item", "f1ap.DRBs_FailedToBeSetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRB_Information_PDU,
      { "DRB-Information", "f1ap.DRB_Information_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_Modified_Item_PDU,
      { "DRBs-Modified-Item", "f1ap.DRBs_Modified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ModifiedConf_Item_PDU,
      { "DRBs-ModifiedConf-Item", "f1ap.DRBs_ModifiedConf_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRB_Notify_Item_PDU,
      { "DRB-Notify-Item", "f1ap.DRB_Notify_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_Required_ToBeModified_Item_PDU,
      { "DRBs-Required-ToBeModified-Item", "f1ap.DRBs_Required_ToBeModified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_Required_ToBeReleased_Item_PDU,
      { "DRBs-Required-ToBeReleased-Item", "f1ap.DRBs_Required_ToBeReleased_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_Setup_Item_PDU,
      { "DRBs-Setup-Item", "f1ap.DRBs_Setup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_SetupMod_Item_PDU,
      { "DRBs-SetupMod-Item", "f1ap.DRBs_SetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ToBeModified_Item_PDU,
      { "DRBs-ToBeModified-Item", "f1ap.DRBs_ToBeModified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ToBeReleased_Item_PDU,
      { "DRBs-ToBeReleased-Item", "f1ap.DRBs_ToBeReleased_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ToBeSetup_Item_PDU,
      { "DRBs-ToBeSetup-Item", "f1ap.DRBs_ToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ToBeSetupMod_Item_PDU,
      { "DRBs-ToBeSetupMod-Item", "f1ap.DRBs_ToBeSetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRB_List_PDU,
      { "DRB-List", "f1ap.DRB_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRXCycle_PDU,
      { "DRXCycle", "f1ap.DRXCycle_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NonIntegerDRXCycle_PDU,
      { "NonIntegerDRXCycle", "f1ap.NonIntegerDRXCycle_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRX_Config_PDU,
      { "DRX-Config", "f1ap.DRX_Config",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRXConfigurationIndicator_PDU,
      { "DRXConfigurationIndicator", "f1ap.DRXConfigurationIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_DRXConfigurationIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_DRX_LongCycleStartOffset_PDU,
      { "DRX-LongCycleStartOffset", "f1ap.DRX_LongCycleStartOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DUtoCURRCContainer_PDU,
      { "DUtoCURRCContainer", "f1ap.DUtoCURRCContainer",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DUCURadioInformationType_PDU,
      { "DUCURadioInformationType", "f1ap.DUCURadioInformationType",
        FT_UINT32, BASE_DEC, VALS(f1ap_DUCURadioInformationType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_DU_RX_MT_RX_Extend_PDU,
      { "DU-RX-MT-RX-Extend", "f1ap.DU_RX_MT_RX_Extend",
        FT_UINT32, BASE_DEC, VALS(f1ap_DU_RX_MT_RX_Extend_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_DU_TX_MT_TX_Extend_PDU,
      { "DU-TX-MT-TX-Extend", "f1ap.DU_TX_MT_TX_Extend",
        FT_UINT32, BASE_DEC, VALS(f1ap_DU_TX_MT_TX_Extend_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_DU_RX_MT_TX_Extend_PDU,
      { "DU-RX-MT-TX-Extend", "f1ap.DU_RX_MT_TX_Extend",
        FT_UINT32, BASE_DEC, VALS(f1ap_DU_RX_MT_TX_Extend_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_DU_TX_MT_RX_Extend_PDU,
      { "DU-TX-MT-RX-Extend", "f1ap.DU_TX_MT_RX_Extend",
        FT_UINT32, BASE_DEC, VALS(f1ap_DU_TX_MT_RX_Extend_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_DUtoCURRCInformation_PDU,
      { "DUtoCURRCInformation", "f1ap.DUtoCURRCInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DUtoCUTAInformation_List_PDU,
      { "DUtoCUTAInformation-List", "f1ap.DUtoCUTAInformation_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DuplicationActivation_PDU,
      { "DuplicationActivation", "f1ap.DuplicationActivation",
        FT_UINT32, BASE_DEC, VALS(f1ap_DuplicationActivation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_DuplicationIndication_PDU,
      { "DuplicationIndication", "f1ap.DuplicationIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_DuplicationIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_DLLBTFailureInformationRequest_PDU,
      { "DLLBTFailureInformationRequest", "f1ap.DLLBTFailureInformationRequest",
        FT_UINT32, BASE_DEC, VALS(f1ap_DLLBTFailureInformationRequest_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_DLLBTFailureInformationList_PDU,
      { "DLLBTFailureInformationList", "f1ap.DLLBTFailureInformationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_EarlySyncInformation_Request_PDU,
      { "EarlySyncInformation-Request", "f1ap.EarlySyncInformation_Request_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_EarlySyncInformation_PDU,
      { "EarlySyncInformation", "f1ap.EarlySyncInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_EarlySyncCandidateCellInformation_List_PDU,
      { "EarlySyncCandidateCellInformation-List", "f1ap.EarlySyncCandidateCellInformation_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_EarlySyncServingCellInformation_PDU,
      { "EarlySyncServingCellInformation", "f1ap.EarlySyncServingCellInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_E_CID_MeasurementQuantities_PDU,
      { "E-CID-MeasurementQuantities", "f1ap.E_CID_MeasurementQuantities",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_E_CID_MeasurementQuantities_Item_PDU,
      { "E-CID-MeasurementQuantities-Item", "f1ap.E_CID_MeasurementQuantities_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_E_CID_MeasurementResult_PDU,
      { "E-CID-MeasurementResult", "f1ap.E_CID_MeasurementResult_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_E_CID_MeasuredResultsAssociatedInfoList_PDU,
      { "E-CID-MeasuredResultsAssociatedInfoList", "f1ap.E_CID_MeasuredResultsAssociatedInfoList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_E_CID_ReportCharacteristics_PDU,
      { "E-CID-ReportCharacteristics", "f1ap.E_CID_ReportCharacteristics",
        FT_UINT32, BASE_DEC, VALS(f1ap_E_CID_ReportCharacteristics_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_EgressNonF1terminatingTopologyIndicator_PDU,
      { "EgressNonF1terminatingTopologyIndicator", "f1ap.EgressNonF1terminatingTopologyIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_EgressNonF1terminatingTopologyIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_ExtendedAvailablePLMN_List_PDU,
      { "ExtendedAvailablePLMN-List", "f1ap.ExtendedAvailablePLMN_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ExtendedServedPLMNs_List_PDU,
      { "ExtendedServedPLMNs-List", "f1ap.ExtendedServedPLMNs_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ExtendedSliceSupportList_PDU,
      { "ExtendedSliceSupportList", "f1ap.ExtendedSliceSupportList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ExtendedUEIdentityIndexValue_PDU,
      { "ExtendedUEIdentityIndexValue", "f1ap.ExtendedUEIdentityIndexValue",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ExecuteDuplication_PDU,
      { "ExecuteDuplication", "f1ap.ExecuteDuplication",
        FT_UINT32, BASE_DEC, VALS(f1ap_ExecuteDuplication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container_PDU,
      { "EUTRA-NR-CellResourceCoordinationReq-Container", "f1ap.EUTRA_NR_CellResourceCoordinationReq_Container",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container_PDU,
      { "EUTRA-NR-CellResourceCoordinationReqAck-Container", "f1ap.EUTRA_NR_CellResourceCoordinationReqAck_Container",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ExtendedPacketDelayBudget_PDU,
      { "ExtendedPacketDelayBudget", "f1ap.ExtendedPacketDelayBudget",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(f1ap_ExtendedPacketDelayBudget_fmt), 0,
        NULL, HFILL }},
    { &hf_f1ap_ECNMarkingorCongestionInformationReportingRequest_PDU,
      { "ECNMarkingorCongestionInformationReportingRequest", "f1ap.ECNMarkingorCongestionInformationReportingRequest",
        FT_UINT32, BASE_DEC, VALS(f1ap_ECNMarkingorCongestionInformationReportingRequest_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_ECNMarkingorCongestionInformationReportingStatus_PDU,
      { "ECNMarkingorCongestionInformationReportingStatus", "f1ap.ECNMarkingorCongestionInformationReportingStatus",
        FT_UINT32, BASE_DEC, VALS(f1ap_ECNMarkingorCongestionInformationReportingStatus_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_F1CTransferPath_PDU,
      { "F1CTransferPath", "f1ap.F1CTransferPath_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_F1CTransferPathNRDC_PDU,
      { "F1CTransferPathNRDC", "f1ap.F1CTransferPathNRDC_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_F1U_PathFailure_PDU,
      { "F1U-PathFailure", "f1ap.F1U_PathFailure",
        FT_UINT32, BASE_DEC, VALS(f1ap_F1U_PathFailure_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_F1UTunnelNotEstablished_PDU,
      { "F1UTunnelNotEstablished", "f1ap.F1UTunnelNotEstablished",
        FT_UINT32, BASE_DEC, VALS(f1ap_F1UTunnelNotEstablished_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_FiveG_ProSeAuthorized_PDU,
      { "FiveG-ProSeAuthorized", "f1ap.FiveG_ProSeAuthorized_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_FiveG_ProSeLayer2Multipath_PDU,
      { "FiveG-ProSeLayer2Multipath", "f1ap.FiveG_ProSeLayer2Multipath",
        FT_UINT32, BASE_DEC, VALS(f1ap_FiveG_ProSeLayer2Multipath_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_FiveG_ProSeLayer2UEtoUERelay_PDU,
      { "FiveG-ProSeLayer2UEtoUERelay", "f1ap.FiveG_ProSeLayer2UEtoUERelay",
        FT_UINT32, BASE_DEC, VALS(f1ap_FiveG_ProSeLayer2UEtoUERelay_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_FiveG_ProSeLayer2UEtoUERemote_PDU,
      { "FiveG-ProSeLayer2UEtoUERemote", "f1ap.FiveG_ProSeLayer2UEtoUERemote",
        FT_UINT32, BASE_DEC, VALS(f1ap_FiveG_ProSeLayer2UEtoUERemote_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_FrequencyShift7p5khz_PDU,
      { "FrequencyShift7p5khz", "f1ap.FrequencyShift7p5khz",
        FT_UINT32, BASE_DEC, VALS(f1ap_FrequencyShift7p5khz_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_Frequency_Domain_HSNA_Configuration_List_PDU,
      { "Frequency-Domain-HSNA-Configuration-List", "f1ap.Frequency_Domain_HSNA_Configuration_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_FullConfiguration_PDU,
      { "FullConfiguration", "f1ap.FullConfiguration",
        FT_UINT32, BASE_DEC, VALS(f1ap_FullConfiguration_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_CG_Config_PDU,
      { "CG-Config", "f1ap.CG_Config",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GlobalGNB_ID_PDU,
      { "GlobalGNB-ID", "f1ap.GlobalGNB_ID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_MBS_F1AP_ID_PDU,
      { "GNB-CU-MBS-F1AP-ID", "f1ap.GNB_CU_MBS_F1AP_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBCUMeasurementID_PDU,
      { "GNBCUMeasurementID", "f1ap.GNBCUMeasurementID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBDUMeasurementID_PDU,
      { "GNBDUMeasurementID", "f1ap.GNBDUMeasurementID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CUSystemInformation_PDU,
      { "GNB-CUSystemInformation", "f1ap.GNB_CUSystemInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_Setup_Item_PDU,
      { "GNB-CU-TNL-Association-Setup-Item", "f1ap.GNB_CU_TNL_Association_Setup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item_PDU,
      { "GNB-CU-TNL-Association-Failed-To-Setup-Item", "f1ap.GNB_CU_TNL_Association_Failed_To_Setup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_To_Add_Item_PDU,
      { "GNB-CU-TNL-Association-To-Add-Item", "f1ap.GNB_CU_TNL_Association_To_Add_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_To_Remove_Item_PDU,
      { "GNB-CU-TNL-Association-To-Remove-Item", "f1ap.GNB_CU_TNL_Association_To_Remove_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_To_Update_Item_PDU,
      { "GNB-CU-TNL-Association-To-Update-Item", "f1ap.GNB_CU_TNL_Association_To_Update_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_UE_F1AP_ID_PDU,
      { "GNB-CU-UE-F1AP-ID", "f1ap.GNB_CU_UE_F1AP_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_DU_MBS_F1AP_ID_PDU,
      { "GNB-DU-MBS-F1AP-ID", "f1ap.GNB_DU_MBS_F1AP_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_DU_UE_F1AP_ID_PDU,
      { "GNB-DU-UE-F1AP-ID", "f1ap.GNB_DU_UE_F1AP_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_DU_ID_PDU,
      { "GNB-DU-ID", "f1ap.GNB_DU_ID",
        FT_UINT64, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_Name_PDU,
      { "GNB-CU-Name", "f1ap.GNB_CU_Name",
        FT_STRING, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_DU_Name_PDU,
      { "GNB-DU-Name", "f1ap.GNB_DU_Name",
        FT_STRING, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Extended_GNB_CU_Name_PDU,
      { "Extended-GNB-CU-Name", "f1ap.Extended_GNB_CU_Name_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Extended_GNB_DU_Name_PDU,
      { "Extended-GNB-DU-Name", "f1ap.Extended_GNB_DU_Name_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_DU_Served_Cells_Item_PDU,
      { "GNB-DU-Served-Cells-Item", "f1ap.GNB_DU_Served_Cells_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_DUConfigurationQuery_PDU,
      { "GNB-DUConfigurationQuery", "f1ap.GNB_DUConfigurationQuery",
        FT_UINT32, BASE_DEC, VALS(f1ap_GNB_DUConfigurationQuery_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBDUOverloadInformation_PDU,
      { "GNBDUOverloadInformation", "f1ap.GNBDUOverloadInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_GNBDUOverloadInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_DU_TNL_Association_To_Remove_Item_PDU,
      { "GNB-DU-TNL-Association-To-Remove-Item", "f1ap.GNB_DU_TNL_Association_To_Remove_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBDUUESliceMaximumBitRateList_PDU,
      { "GNBDUUESliceMaximumBitRateList", "f1ap.GNBDUUESliceMaximumBitRateList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_HandoverPreparationInformation_PDU,
      { "HandoverPreparationInformation", "f1ap.HandoverPreparationInformation",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_HardwareLoadIndicator_PDU,
      { "HardwareLoadIndicator", "f1ap.HardwareLoadIndicator_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_HashedUEIdentityIndexValue_PDU,
      { "HashedUEIdentityIndexValue", "f1ap.HashedUEIdentityIndexValue",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IAB_Barred_PDU,
      { "IAB-Barred", "f1ap.IAB_Barred",
        FT_UINT32, BASE_DEC, VALS(f1ap_IAB_Barred_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_IABConditionalRRCMessageDeliveryIndication_PDU,
      { "IABConditionalRRCMessageDeliveryIndication", "f1ap.IABConditionalRRCMessageDeliveryIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_IABConditionalRRCMessageDeliveryIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_IABCongestionIndication_PDU,
      { "IABCongestionIndication", "f1ap.IABCongestionIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IAB_Info_IAB_donor_CU_PDU,
      { "IAB-Info-IAB-donor-CU", "f1ap.IAB_Info_IAB_donor_CU_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IAB_Info_IAB_DU_PDU,
      { "IAB-Info-IAB-DU", "f1ap.IAB_Info_IAB_DU_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IAB_Allocated_TNL_Address_Item_PDU,
      { "IAB-Allocated-TNL-Address-Item", "f1ap.IAB_Allocated_TNL_Address_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IABIPv6RequestType_PDU,
      { "IABIPv6RequestType", "f1ap.IABIPv6RequestType",
        FT_UINT32, BASE_DEC, VALS(f1ap_IABIPv6RequestType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_IAB_TNL_Addresses_To_Remove_Item_PDU,
      { "IAB-TNL-Addresses-To-Remove-Item", "f1ap.IAB_TNL_Addresses_To_Remove_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IAB_TNL_Addresses_Exception_PDU,
      { "IAB-TNL-Addresses-Exception", "f1ap.IAB_TNL_Addresses_Exception_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IABv4AddressesRequested_PDU,
      { "IABv4AddressesRequested", "f1ap.IABv4AddressesRequested_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Mobile_IAB_MTUserLocationInformation_PDU,
      { "Mobile-IAB-MTUserLocationInformation", "f1ap.Mobile_IAB_MTUserLocationInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IgnorePRACHConfiguration_PDU,
      { "IgnorePRACHConfiguration", "f1ap.IgnorePRACHConfiguration",
        FT_UINT32, BASE_DEC, VALS(f1ap_IgnorePRACHConfiguration_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_IgnoreResourceCoordinationContainer_PDU,
      { "IgnoreResourceCoordinationContainer", "f1ap.IgnoreResourceCoordinationContainer",
        FT_UINT32, BASE_DEC, VALS(f1ap_IgnoreResourceCoordinationContainer_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_InactivityMonitoringRequest_PDU,
      { "InactivityMonitoringRequest", "f1ap.InactivityMonitoringRequest",
        FT_UINT32, BASE_DEC, VALS(f1ap_InactivityMonitoringRequest_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_InactivityMonitoringResponse_PDU,
      { "InactivityMonitoringResponse", "f1ap.InactivityMonitoringResponse",
        FT_UINT32, BASE_DEC, VALS(f1ap_InactivityMonitoringResponse_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_IntendedTDD_DL_ULConfig_PDU,
      { "IntendedTDD-DL-ULConfig", "f1ap.IntendedTDD_DL_ULConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_InterFrequencyConfig_NoGap_PDU,
      { "InterFrequencyConfig-NoGap", "f1ap.InterFrequencyConfig_NoGap",
        FT_UINT32, BASE_DEC, VALS(f1ap_InterFrequencyConfig_NoGap_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_IngressNonF1terminatingTopologyIndicator_PDU,
      { "IngressNonF1terminatingTopologyIndicator", "f1ap.IngressNonF1terminatingTopologyIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_IngressNonF1terminatingTopologyIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_IndicationMCInactiveReception_PDU,
      { "IndicationMCInactiveReception", "f1ap.IndicationMCInactiveReception",
        FT_UINT32, BASE_DEC, VALS(f1ap_IndicationMCInactiveReception_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_LTEA2XServicesAuthorized_PDU,
      { "LTEA2XServicesAuthorized", "f1ap.LTEA2XServicesAuthorized_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_L571Info_PDU,
      { "L571Info", "f1ap.L571Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_L1151Info_PDU,
      { "L1151Info", "f1ap.L1151Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LastUsedCellIndication_PDU,
      { "LastUsedCellIndication", "f1ap.LastUsedCellIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_LastUsedCellIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_LMF_MeasurementID_PDU,
      { "LMF-MeasurementID", "f1ap.LMF_MeasurementID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LMF_UE_MeasurementID_PDU,
      { "LMF-UE-MeasurementID", "f1ap.LMF_UE_MeasurementID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LocationMeasurementInformation_PDU,
      { "LocationMeasurementInformation", "f1ap.LocationMeasurementInformation",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LowerLayerPresenceStatusChange_PDU,
      { "LowerLayerPresenceStatusChange", "f1ap.LowerLayerPresenceStatusChange",
        FT_UINT32, BASE_DEC, VALS(f1ap_LowerLayerPresenceStatusChange_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_LoS_NLoSInformation_PDU,
      { "LoS-NLoSInformation", "f1ap.LoS_NLoSInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_LoS_NLoSInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_LTEUESidelinkAggregateMaximumBitrate_PDU,
      { "LTEUESidelinkAggregateMaximumBitrate", "f1ap.LTEUESidelinkAggregateMaximumBitrate_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LTEV2XServicesAuthorized_PDU,
      { "LTEV2XServicesAuthorized", "f1ap.LTEV2XServicesAuthorized_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LTMCells_ToBeReleased_List_PDU,
      { "LTMCells-ToBeReleased-List", "f1ap.LTMCells_ToBeReleased_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LTMInformation_Setup_PDU,
      { "LTMInformation-Setup", "f1ap.LTMInformation_Setup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LTMConfigurationIDMappingList_PDU,
      { "LTMConfigurationIDMappingList", "f1ap.LTMConfigurationIDMappingList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LTMInformation_Modify_PDU,
      { "LTMInformation-Modify", "f1ap.LTMInformation_Modify_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LTMConfiguration_PDU,
      { "LTMConfiguration", "f1ap.LTMConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LTMCellSwitchInformation_PDU,
      { "LTMCellSwitchInformation", "f1ap.LTMCellSwitchInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LTMCFRAResourceConfig_List_PDU,
      { "LTMCFRAResourceConfig-List", "f1ap.LTMCFRAResourceConfig_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MaskedIMEISV_PDU,
      { "MaskedIMEISV", "f1ap.MaskedIMEISV",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MaxDataBurstVolume_PDU,
      { "MaxDataBurstVolume", "f1ap.MaxDataBurstVolume",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MBS_Broadcast_NeighbourCellList_PDU,
      { "MBS-Broadcast-NeighbourCellList", "f1ap.MBS_Broadcast_NeighbourCellList",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MBSInterestIndication_PDU,
      { "MBSInterestIndication", "f1ap.MBSInterestIndication",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MBS_CUtoDURRCInformation_PDU,
      { "MBS-CUtoDURRCInformation", "f1ap.MBS_CUtoDURRCInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MBSMulticastF1UContextDescriptor_PDU,
      { "MBSMulticastF1UContextDescriptor", "f1ap.MBSMulticastF1UContextDescriptor_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MT_SDT_Information_PDU,
      { "MT-SDT-Information", "f1ap.MT_SDT_Information_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MBSMulticastSessionReceptionState_PDU,
      { "MBSMulticastSessionReceptionState", "f1ap.MBSMulticastSessionReceptionState",
        FT_UINT32, BASE_DEC, VALS(f1ap_MBSMulticastSessionReceptionState_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastCU2DURRCInfo_PDU,
      { "MulticastCU2DURRCInfo", "f1ap.MulticastCU2DURRCInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastCU2DUCommonRRCInfo_PDU,
      { "MulticastCU2DUCommonRRCInfo", "f1ap.MulticastCU2DUCommonRRCInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastDU2CURRCInfo_PDU,
      { "MulticastDU2CURRCInfo", "f1ap.MulticastDU2CURRCInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastF1UContext_ToBeSetup_Item_PDU,
      { "MulticastF1UContext-ToBeSetup-Item", "f1ap.MulticastF1UContext_ToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastF1UContext_Setup_Item_PDU,
      { "MulticastF1UContext-Setup-Item", "f1ap.MulticastF1UContext_Setup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastF1UContext_FailedToBeSetup_Item_PDU,
      { "MulticastF1UContext-FailedToBeSetup-Item", "f1ap.MulticastF1UContext_FailedToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MBS_ServiceArea_PDU,
      { "MBS-ServiceArea", "f1ap.MBS_ServiceArea",
        FT_UINT32, BASE_DEC, VALS(f1ap_MBS_ServiceArea_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_MC_PagingCell_Item_PDU,
      { "MC-PagingCell-Item", "f1ap.MC_PagingCell_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MeasGapSharingConfig_PDU,
      { "MeasGapSharingConfig", "f1ap.MeasGapSharingConfig",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PosMeasurementAmount_PDU,
      { "PosMeasurementAmount", "f1ap.PosMeasurementAmount",
        FT_UINT32, BASE_DEC, VALS(f1ap_PosMeasurementAmount_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementBeamInfoRequest_PDU,
      { "MeasurementBeamInfoRequest", "f1ap.MeasurementBeamInfoRequest",
        FT_UINT32, BASE_DEC, VALS(f1ap_MeasurementBeamInfoRequest_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementTimingConfiguration_PDU,
      { "MeasurementTimingConfiguration", "f1ap.MeasurementTimingConfiguration",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementTimeOccasion_PDU,
      { "MeasurementTimeOccasion", "f1ap.MeasurementTimeOccasion",
        FT_UINT32, BASE_DEC, VALS(f1ap_MeasurementTimeOccasion_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementCharacteristicsRequestIndicator_PDU,
      { "MeasurementCharacteristicsRequestIndicator", "f1ap.MeasurementCharacteristicsRequestIndicator",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastF1UContextReferenceCU_PDU,
      { "MulticastF1UContextReferenceCU", "f1ap.MulticastF1UContextReferenceCU",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MultipleULAoA_PDU,
      { "MultipleULAoA", "f1ap.MultipleULAoA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MDTPollutedMeasurementIndicator_PDU,
      { "MDTPollutedMeasurementIndicator", "f1ap.MDTPollutedMeasurementIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_MDTPollutedMeasurementIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_MRB_ID_PDU,
      { "MRB-ID", "f1ap.MRB_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMBSSessionList_PDU,
      { "MulticastMBSSessionList", "f1ap.MulticastMBSSessionList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_FailedToBeModified_Item_PDU,
      { "MulticastMRBs-FailedToBeModified-Item", "f1ap.MulticastMRBs_FailedToBeModified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_FailedToBeSetup_Item_PDU,
      { "MulticastMRBs-FailedToBeSetup-Item", "f1ap.MulticastMRBs_FailedToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_FailedToBeSetupMod_Item_PDU,
      { "MulticastMRBs-FailedToBeSetupMod-Item", "f1ap.MulticastMRBs_FailedToBeSetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_Modified_Item_PDU,
      { "MulticastMRBs-Modified-Item", "f1ap.MulticastMRBs_Modified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_Setup_Item_PDU,
      { "MulticastMRBs-Setup-Item", "f1ap.MulticastMRBs_Setup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_SetupMod_Item_PDU,
      { "MulticastMRBs-SetupMod-Item", "f1ap.MulticastMRBs_SetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_ToBeModified_Item_PDU,
      { "MulticastMRBs-ToBeModified-Item", "f1ap.MulticastMRBs_ToBeModified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_ToBeReleased_Item_PDU,
      { "MulticastMRBs-ToBeReleased-Item", "f1ap.MulticastMRBs_ToBeReleased_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_ToBeSetup_Item_PDU,
      { "MulticastMRBs-ToBeSetup-Item", "f1ap.MulticastMRBs_ToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_ToBeSetupMod_Item_PDU,
      { "MulticastMRBs-ToBeSetupMod-Item", "f1ap.MulticastMRBs_ToBeSetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MusimCapabilityRestrictionIndication_PDU,
      { "MusimCapabilityRestrictionIndication", "f1ap.MusimCapabilityRestrictionIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_MusimCapabilityRestrictionIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_MusimCandidateBandList_PDU,
      { "MusimCandidateBandList", "f1ap.MusimCandidateBandList",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_M5ReportAmount_PDU,
      { "M5ReportAmount", "f1ap.M5ReportAmount",
        FT_UINT32, BASE_DEC, VALS(f1ap_M5ReportAmount_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_M6ReportAmount_PDU,
      { "M6ReportAmount", "f1ap.M6ReportAmount",
        FT_UINT32, BASE_DEC, VALS(f1ap_M6ReportAmount_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_M7ReportAmount_PDU,
      { "M7ReportAmount", "f1ap.M7ReportAmount",
        FT_UINT32, BASE_DEC, VALS(f1ap_M7ReportAmount_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_MDTConfiguration_PDU,
      { "MDTConfiguration", "f1ap.MDTConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MDTPLMNList_PDU,
      { "MDTPLMNList", "f1ap.MDTPLMNList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MDTPLMNModificationList_PDU,
      { "MDTPLMNModificationList", "f1ap.MDTPLMNModificationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MeasuredFrequencyHops_PDU,
      { "MeasuredFrequencyHops", "f1ap.MeasuredFrequencyHops",
        FT_UINT32, BASE_DEC, VALS(f1ap_MeasuredFrequencyHops_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_Mobile_TRP_LocationInformation_PDU,
      { "Mobile-TRP-LocationInformation", "f1ap.Mobile_TRP_LocationInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Mobile_IAB_MT_UE_ID_PDU,
      { "Mobile-IAB-MT-UE-ID", "f1ap.Mobile_IAB_MT_UE_ID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MUSIM_GapConfig_PDU,
      { "MUSIM-GapConfig", "f1ap.MUSIM_GapConfig",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MobileIAB_Barred_PDU,
      { "MobileIAB-Barred", "f1ap.MobileIAB_Barred",
        FT_UINT32, BASE_DEC, VALS(f1ap_MobileIAB_Barred_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_MeasBasedOnAggregatedResources_PDU,
      { "MeasBasedOnAggregatedResources", "f1ap.MeasBasedOnAggregatedResources",
        FT_UINT32, BASE_DEC, VALS(f1ap_MeasBasedOnAggregatedResources_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_NRA2XServicesAuthorized_PDU,
      { "NRA2XServicesAuthorized", "f1ap.NRA2XServicesAuthorized_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Ncd_SSB_RedCapInitialBWP_SDT_PDU,
      { "Ncd-SSB-RedCapInitialBWP-SDT", "f1ap.Ncd_SSB_RedCapInitialBWP_SDT",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NetworkControlledRepeaterAuthorized_PDU,
      { "NetworkControlledRepeaterAuthorized", "f1ap.NetworkControlledRepeaterAuthorized",
        FT_UINT32, BASE_DEC, VALS(f1ap_NetworkControlledRepeaterAuthorized_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_NCGI_to_be_Updated_List_Item_PDU,
      { "NCGI-to-be-Updated-List-Item", "f1ap.NCGI_to_be_Updated_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Neighbour_Node_Cells_List_PDU,
      { "Neighbour-Node-Cells-List", "f1ap.Neighbour_Node_Cells_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NeedforGap_PDU,
      { "NeedforGap", "f1ap.NeedforGap",
        FT_UINT32, BASE_DEC, VALS(f1ap_NeedforGap_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_NeedForGapsInfoNR_PDU,
      { "NeedForGapsInfoNR", "f1ap.NeedForGapsInfoNR",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NeedForGapNCSGInfoNR_PDU,
      { "NeedForGapNCSGInfoNR", "f1ap.NeedForGapNCSGInfoNR",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NeedForGapNCSGInfoEUTRA_PDU,
      { "NeedForGapNCSGInfoEUTRA", "f1ap.NeedForGapNCSGInfoEUTRA",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NeedForInterruptionInfoNR_PDU,
      { "NeedForInterruptionInfoNR", "f1ap.NeedForInterruptionInfoNR",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Neighbour_Cell_Information_Item_PDU,
      { "Neighbour-Cell-Information-Item", "f1ap.Neighbour_Cell_Information_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NID_PDU,
      { "NID", "f1ap.NID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NonF1terminatingTopologyIndicator_PDU,
      { "NonF1terminatingTopologyIndicator", "f1ap.NonF1terminatingTopologyIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_NonF1terminatingTopologyIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_NR_CGI_List_For_Restart_Item_PDU,
      { "NR-CGI-List-For-Restart-Item", "f1ap.NR_CGI_List_For_Restart_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NrofSymbolsExtended_PDU,
      { "NrofSymbolsExtended", "f1ap.NrofSymbolsExtended",
        FT_UINT32, BASE_DEC, VALS(f1ap_NrofSymbolsExtended_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_NR_TADV_PDU,
      { "NR-TADV", "f1ap.NR_TADV",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NReRedCapUEIndication_PDU,
      { "NReRedCapUEIndication", "f1ap.NReRedCapUEIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_NReRedCapUEIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_ERedcap_Bcast_Information_PDU,
      { "ERedcap-Bcast-Information", "f1ap.ERedcap_Bcast_Information",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NRRedCapUEIndication_PDU,
      { "NRRedCapUEIndication", "f1ap.NRRedCapUEIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_NRRedCapUEIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_NRPagingeDRXInformation_PDU,
      { "NRPagingeDRXInformation", "f1ap.NRPagingeDRXInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NRPagingeDRXInformationforRRCINACTIVE_PDU,
      { "NRPagingeDRXInformationforRRCINACTIVE", "f1ap.NRPagingeDRXInformationforRRCINACTIVE_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NRPaginglongeDRXInformationforRRCINACTIVE_PDU,
      { "NRPaginglongeDRXInformationforRRCINACTIVE", "f1ap.NRPaginglongeDRXInformationforRRCINACTIVE_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NotificationInformation_PDU,
      { "NotificationInformation", "f1ap.NotificationInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NPNBroadcastInformation_PDU,
      { "NPNBroadcastInformation", "f1ap.NPNBroadcastInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_NPNBroadcastInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_NPNSupportInfo_PDU,
      { "NPNSupportInfo", "f1ap.NPNSupportInfo",
        FT_UINT32, BASE_DEC, VALS(f1ap_NPNSupportInfo_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_NRCarrierList_PDU,
      { "NRCarrierList", "f1ap.NRCarrierList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NRFreqInfo_PDU,
      { "NRFreqInfo", "f1ap.NRFreqInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NRCGI_PDU,
      { "NRCGI", "f1ap.NRCGI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_f1ap_NRPRACHConfig_PDU,
      { "NRPRACHConfig", "f1ap.NRPRACHConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NRPCI_PDU,
      { "NRPCI", "f1ap.NRPCI",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NR_U_Channel_Info_List_PDU,
      { "NR-U-Channel-Info-List", "f1ap.NR_U_Channel_Info_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NR_U_Channel_List_PDU,
      { "NR-U-Channel-List", "f1ap.NR_U_Channel_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NumberofBroadcastRequest_PDU,
      { "NumberofBroadcastRequest", "f1ap.NumberofBroadcastRequest",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NumberOfTRPRxTEG_PDU,
      { "NumberOfTRPRxTEG", "f1ap.NumberOfTRPRxTEG",
        FT_UINT32, BASE_DEC, VALS(f1ap_NumberOfTRPRxTEG_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_NumberOfTRPRxTxTEG_PDU,
      { "NumberOfTRPRxTxTEG", "f1ap.NumberOfTRPRxTxTEG",
        FT_UINT32, BASE_DEC, VALS(f1ap_NumberOfTRPRxTxTEG_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_NRV2XServicesAuthorized_PDU,
      { "NRV2XServicesAuthorized", "f1ap.NRV2XServicesAuthorized_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NRUESidelinkAggregateMaximumBitrate_PDU,
      { "NRUESidelinkAggregateMaximumBitrate", "f1ap.NRUESidelinkAggregateMaximumBitrate_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_N6JitterInformation_PDU,
      { "N6JitterInformation", "f1ap.N6JitterInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_OnDemandPRS_Info_PDU,
      { "OnDemandPRS-Info", "f1ap.OnDemandPRS_Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PathAdditionInformation_PDU,
      { "PathAdditionInformation", "f1ap.PathAdditionInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_PathAdditionInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PagingCell_Item_PDU,
      { "PagingCell-Item", "f1ap.PagingCell_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Recommended_SSBs_List_PDU,
      { "Recommended-SSBs-List", "f1ap.Recommended_SSBs_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PagingDRX_PDU,
      { "PagingDRX", "f1ap.PagingDRX",
        FT_UINT32, BASE_DEC, VALS(f1ap_PagingDRX_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PagingIdentity_PDU,
      { "PagingIdentity", "f1ap.PagingIdentity",
        FT_UINT32, BASE_DEC, VALS(f1ap_PagingIdentity_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PagingCause_PDU,
      { "PagingCause", "f1ap.PagingCause",
        FT_UINT32, BASE_DEC, VALS(f1ap_PagingCause_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PagingOrigin_PDU,
      { "PagingOrigin", "f1ap.PagingOrigin",
        FT_UINT32, BASE_DEC, VALS(f1ap_PagingOrigin_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PagingPriority_PDU,
      { "PagingPriority", "f1ap.PagingPriority",
        FT_UINT32, BASE_DEC, VALS(f1ap_PagingPriority_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PEIPSAssistanceInfo_PDU,
      { "PEIPSAssistanceInfo", "f1ap.PEIPSAssistanceInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_List_PDU,
      { "Parent-IAB-Nodes-NA-Resource-Configuration-List", "f1ap.Parent_IAB_Nodes_NA_Resource_Configuration_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PathSwitchConfiguration_PDU,
      { "PathSwitchConfiguration", "f1ap.PathSwitchConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5QoSParameters_PDU,
      { "PC5QoSParameters", "f1ap.PC5QoSParameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelToBeSetupList_PDU,
      { "PC5RLCChannelToBeSetupList", "f1ap.PC5RLCChannelToBeSetupList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PeerUE_ID_PDU,
      { "PeerUE-ID", "f1ap.PeerUE_ID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelToBeModifiedList_PDU,
      { "PC5RLCChannelToBeModifiedList", "f1ap.PC5RLCChannelToBeModifiedList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelToBeReleasedList_PDU,
      { "PC5RLCChannelToBeReleasedList", "f1ap.PC5RLCChannelToBeReleasedList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelSetupList_PDU,
      { "PC5RLCChannelSetupList", "f1ap.PC5RLCChannelSetupList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelFailedToBeSetupList_PDU,
      { "PC5RLCChannelFailedToBeSetupList", "f1ap.PC5RLCChannelFailedToBeSetupList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelModifiedList_PDU,
      { "PC5RLCChannelModifiedList", "f1ap.PC5RLCChannelModifiedList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelFailedToBeModifiedList_PDU,
      { "PC5RLCChannelFailedToBeModifiedList", "f1ap.PC5RLCChannelFailedToBeModifiedList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelRequiredToBeModifiedList_PDU,
      { "PC5RLCChannelRequiredToBeModifiedList", "f1ap.PC5RLCChannelRequiredToBeModifiedList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelRequiredToBeReleasedList_PDU,
      { "PC5RLCChannelRequiredToBeReleasedList", "f1ap.PC5RLCChannelRequiredToBeReleasedList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCCH_BlindDetectionSCG_PDU,
      { "PDCCH-BlindDetectionSCG", "f1ap.PDCCH_BlindDetectionSCG",
        FT_UINT8, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCMeasurementPeriodicity_PDU,
      { "PDCMeasurementPeriodicity", "f1ap.PDCMeasurementPeriodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_PDCMeasurementPeriodicity_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCMeasurementQuantities_PDU,
      { "PDCMeasurementQuantities", "f1ap.PDCMeasurementQuantities",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCMeasurementQuantities_Item_PDU,
      { "PDCMeasurementQuantities-Item", "f1ap.PDCMeasurementQuantities_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCMeasurementResult_PDU,
      { "PDCMeasurementResult", "f1ap.PDCMeasurementResult_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCReportType_PDU,
      { "PDCReportType", "f1ap.PDCReportType",
        FT_UINT32, BASE_DEC, VALS(f1ap_PDCReportType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCPSNLength_PDU,
      { "PDCPSNLength", "f1ap.PDCPSNLength",
        FT_UINT32, BASE_DEC, VALS(f1ap_PDCPSNLength_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PDUSessionID_PDU,
      { "PDUSessionID", "f1ap.PDUSessionID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PEISubgroupingSupportIndication_PDU,
      { "PEISubgroupingSupportIndication", "f1ap.PEISubgroupingSupportIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_PEISubgroupingSupportIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_Permutation_PDU,
      { "Permutation", "f1ap.Permutation",
        FT_UINT32, BASE_DEC, VALS(f1ap_Permutation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_Ph_InfoMCG_PDU,
      { "Ph-InfoMCG", "f1ap.Ph_InfoMCG",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Ph_InfoSCG_PDU,
      { "Ph-InfoSCG", "f1ap.Ph_InfoSCG",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PLMN_Identity_PDU,
      { "PLMN-Identity", "f1ap.PLMN_Identity",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PortNumber_PDU,
      { "PortNumber", "f1ap.PortNumber",
        FT_UINT16, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PosAssistance_Information_PDU,
      { "PosAssistance-Information", "f1ap.PosAssistance_Information",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PosAssistanceInformationFailureList_PDU,
      { "PosAssistanceInformationFailureList", "f1ap.PosAssistanceInformationFailureList",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PosBroadcast_PDU,
      { "PosBroadcast", "f1ap.PosBroadcast",
        FT_UINT32, BASE_DEC, VALS(f1ap_PosBroadcast_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PosContextRevIndication_PDU,
      { "PosContextRevIndication", "f1ap.PosContextRevIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_PosContextRevIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningBroadcastCells_PDU,
      { "PositioningBroadcastCells", "f1ap.PositioningBroadcastCells",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PosMeasGapPreConfigList_PDU,
      { "PosMeasGapPreConfigList", "f1ap.PosMeasGapPreConfigList_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementPeriodicity_PDU,
      { "MeasurementPeriodicity", "f1ap.MeasurementPeriodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_MeasurementPeriodicity_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementPeriodicityExtended_PDU,
      { "MeasurementPeriodicityExtended", "f1ap.MeasurementPeriodicityExtended",
        FT_UINT32, BASE_DEC, VALS(f1ap_MeasurementPeriodicityExtended_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PosMeasurementPeriodicityNR_AoA_PDU,
      { "PosMeasurementPeriodicityNR-AoA", "f1ap.PosMeasurementPeriodicityNR_AoA",
        FT_UINT32, BASE_DEC, VALS(f1ap_PosMeasurementPeriodicityNR_AoA_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PosMeasurementQuantities_PDU,
      { "PosMeasurementQuantities", "f1ap.PosMeasurementQuantities",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PosMeasurementResultList_PDU,
      { "PosMeasurementResultList", "f1ap.PosMeasurementResultList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PosReportCharacteristics_PDU,
      { "PosReportCharacteristics", "f1ap.PosReportCharacteristics",
        FT_UINT32, BASE_DEC, VALS(f1ap_PosReportCharacteristics_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PosSItypeList_PDU,
      { "PosSItypeList", "f1ap.PosSItypeList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PosValidityAreaCellList_PDU,
      { "PosValidityAreaCellList", "f1ap.PosValidityAreaCellList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Preconfigured_measurement_GAP_Request_PDU,
      { "Preconfigured-measurement-GAP-Request", "f1ap.Preconfigured_measurement_GAP_Request",
        FT_UINT32, BASE_DEC, VALS(f1ap_Preconfigured_measurement_GAP_Request_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_Protected_EUTRA_Resources_Item_PDU,
      { "Protected-EUTRA-Resources-Item", "f1ap.Protected_EUTRA_Resources_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PRS_Measurement_Info_List_PDU,
      { "PRS-Measurement-Info-List", "f1ap.PRS_Measurement_Info_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Potential_SpCell_Item_PDU,
      { "Potential-SpCell-Item", "f1ap.Potential_SpCell_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PRSConfigRequestType_PDU,
      { "PRSConfigRequestType", "f1ap.PRSConfigRequestType",
        FT_UINT32, BASE_DEC, VALS(f1ap_PRSConfigRequestType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PRS_Resource_ID_PDU,
      { "PRS-Resource-ID", "f1ap.PRS_Resource_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PRSBandwidthAggregationRequestIndication_PDU,
      { "PRSBandwidthAggregationRequestIndication", "f1ap.PRSBandwidthAggregationRequestIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_PRSBandwidthAggregationRequestIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_ExtendedResourceSymbolOffset_PDU,
      { "ExtendedResourceSymbolOffset", "f1ap.ExtendedResourceSymbolOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PWS_Failed_NR_CGI_Item_PDU,
      { "PWS-Failed-NR-CGI-Item", "f1ap.PWS_Failed_NR_CGI_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PWSSystemInformation_PDU,
      { "PWSSystemInformation", "f1ap.PWSSystemInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PrivacyIndicator_PDU,
      { "PrivacyIndicator", "f1ap.PrivacyIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_PrivacyIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PRSTRPList_PDU,
      { "PRSTRPList", "f1ap.PRSTRPList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PRSTransmissionTRPList_PDU,
      { "PRSTransmissionTRPList", "f1ap.PRSTransmissionTRPList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PDUSetQoSParameters_PDU,
      { "PDUSetQoSParameters", "f1ap.PDUSetQoSParameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PSIbasedSDUdiscardUL_PDU,
      { "PSIbasedSDUdiscardUL", "f1ap.PSIbasedSDUdiscardUL",
        FT_UINT32, BASE_DEC, VALS(f1ap_PSIbasedSDUdiscardUL_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PointA_PDU,
      { "PointA", "f1ap.PointA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_QoEInformation_PDU,
      { "QoEInformation", "f1ap.QoEInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_QoSFlowMappingIndication_PDU,
      { "QoSFlowMappingIndication", "f1ap.QoSFlowMappingIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_QoSFlowMappingIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_QosMonitoringRequest_PDU,
      { "QosMonitoringRequest", "f1ap.QosMonitoringRequest",
        FT_UINT32, BASE_DEC, VALS(f1ap_QosMonitoringRequest_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_QoSParaSetNotifyIndex_PDU,
      { "QoSParaSetNotifyIndex", "f1ap.QoSParaSetNotifyIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RAReportList_PDU,
      { "RAReportList", "f1ap.RAReportList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RAReportIndicationList_PDU,
      { "RAReportIndicationList", "f1ap.RAReportIndicationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RadioResourceStatusNR_U_PDU,
      { "RadioResourceStatusNR-U", "f1ap.RadioResourceStatusNR_U_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MIMOPRBusageInformation_PDU,
      { "MIMOPRBusageInformation", "f1ap.MIMOPRBusageInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RANfeedbacktype_PDU,
      { "RANfeedbacktype", "f1ap.RANfeedbacktype",
        FT_UINT32, BASE_DEC, VALS(f1ap_RANfeedbacktype_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_RANSharingAssistanceInformation_PDU,
      { "RANSharingAssistanceInformation", "f1ap.RANSharingAssistanceInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_RANSharingAssistanceInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_RANTSSRequestType_PDU,
      { "RANTSSRequestType", "f1ap.RANTSSRequestType",
        FT_UINT32, BASE_DEC, VALS(f1ap_RANTSSRequestType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_RANTimingSynchronisationStatusInfo_PDU,
      { "RANTimingSynchronisationStatusInfo", "f1ap.RANTimingSynchronisationStatusInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RANAC_PDU,
      { "RANAC", "f1ap.RANAC",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RAN_MeasurementID_PDU,
      { "RAN-MeasurementID", "f1ap.RAN_MeasurementID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RAN_UE_MeasurementID_PDU,
      { "RAN-UE-MeasurementID", "f1ap.RAN_UE_MeasurementID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RAN_UE_PDC_MeasID_PDU,
      { "RAN-UE-PDC-MeasID", "f1ap.RAN_UE_PDC_MeasID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RANUEID_PDU,
      { "RANUEID", "f1ap.RANUEID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RAT_FrequencyPriorityInformation_PDU,
      { "RAT-FrequencyPriorityInformation", "f1ap.RAT_FrequencyPriorityInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_RAT_FrequencyPriorityInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_RBSetConfiguration_PDU,
      { "RBSetConfiguration", "f1ap.RBSetConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Re_routingEnableIndicator_PDU,
      { "Re-routingEnableIndicator", "f1ap.Re_routingEnableIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_Re_routingEnableIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_Recommended_SSBs_for_Paging_List_PDU,
      { "Recommended-SSBs-for-Paging-List", "f1ap.Recommended_SSBs_for_Paging_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Redcap_Bcast_Information_PDU,
      { "Redcap-Bcast-Information", "f1ap.Redcap_Bcast_Information",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RedCapIndication_PDU,
      { "RedCapIndication", "f1ap.RedCapIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_RedCapIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_RemoteUELocalID_PDU,
      { "RemoteUELocalID", "f1ap.RemoteUELocalID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RegistrationRequest_PDU,
      { "RegistrationRequest", "f1ap.RegistrationRequest",
        FT_UINT32, BASE_DEC, VALS(f1ap_RegistrationRequest_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportCharacteristics_PDU,
      { "ReportCharacteristics", "f1ap.ReportCharacteristics",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportingGranularitykminus1_PDU,
      { "ReportingGranularitykminus1", "f1ap.ReportingGranularitykminus1",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportingGranularitykminus2_PDU,
      { "ReportingGranularitykminus2", "f1ap.ReportingGranularitykminus2",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportingGranularitykminus3_PDU,
      { "ReportingGranularitykminus3", "f1ap.ReportingGranularitykminus3",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportingGranularitykminus4_PDU,
      { "ReportingGranularitykminus4", "f1ap.ReportingGranularitykminus4",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportingGranularitykminus5_PDU,
      { "ReportingGranularitykminus5", "f1ap.ReportingGranularitykminus5",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportingGranularitykminus6_PDU,
      { "ReportingGranularitykminus6", "f1ap.ReportingGranularitykminus6",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportingGranularitykminus1AdditionalPath_PDU,
      { "ReportingGranularitykminus1AdditionalPath", "f1ap.ReportingGranularitykminus1AdditionalPath",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportingGranularitykminus2AdditionalPath_PDU,
      { "ReportingGranularitykminus2AdditionalPath", "f1ap.ReportingGranularitykminus2AdditionalPath",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportingGranularitykminus3AdditionalPath_PDU,
      { "ReportingGranularitykminus3AdditionalPath", "f1ap.ReportingGranularitykminus3AdditionalPath",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportingGranularitykminus4AdditionalPath_PDU,
      { "ReportingGranularitykminus4AdditionalPath", "f1ap.ReportingGranularitykminus4AdditionalPath",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportingGranularitykminus5AdditionalPath_PDU,
      { "ReportingGranularitykminus5AdditionalPath", "f1ap.ReportingGranularitykminus5AdditionalPath",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportingGranularitykminus6AdditionalPath_PDU,
      { "ReportingGranularitykminus6AdditionalPath", "f1ap.ReportingGranularitykminus6AdditionalPath",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportingPeriodicity_PDU,
      { "ReportingPeriodicity", "f1ap.ReportingPeriodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_ReportingPeriodicity_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_RequestedBandCombinationIndex_PDU,
      { "RequestedBandCombinationIndex", "f1ap.RequestedBandCombinationIndex",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RequestedFeatureSetEntryIndex_PDU,
      { "RequestedFeatureSetEntryIndex", "f1ap.RequestedFeatureSetEntryIndex",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RequestedP_MaxFR2_PDU,
      { "RequestedP-MaxFR2", "f1ap.RequestedP_MaxFR2",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Requested_PDCCH_BlindDetectionSCG_PDU,
      { "Requested-PDCCH-BlindDetectionSCG", "f1ap.Requested_PDCCH_BlindDetectionSCG",
        FT_UINT8, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RequestedSRSPreconfigurationCharacteristics_List_PDU,
      { "RequestedSRSPreconfigurationCharacteristics-List", "f1ap.RequestedSRSPreconfigurationCharacteristics_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RequestedSRSTransmissionCharacteristics_PDU,
      { "RequestedSRSTransmissionCharacteristics", "f1ap.RequestedSRSTransmissionCharacteristics_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RequestType_PDU,
      { "RequestType", "f1ap.RequestType",
        FT_UINT32, BASE_DEC, VALS(f1ap_RequestType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_ResourceCoordinationTransferInformation_PDU,
      { "ResourceCoordinationTransferInformation", "f1ap.ResourceCoordinationTransferInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ResourceCoordinationTransferContainer_PDU,
      { "ResourceCoordinationTransferContainer", "f1ap.ResourceCoordinationTransferContainer",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RepetitionFactorExtended_PDU,
      { "RepetitionFactorExtended", "f1ap.RepetitionFactorExtended",
        FT_UINT32, BASE_DEC, VALS(f1ap_RepetitionFactorExtended_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_RepetitionPeriod_PDU,
      { "RepetitionPeriod", "f1ap.RepetitionPeriod",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
        NULL, HFILL }},
    { &hf_f1ap_ReportingRequestType_PDU,
      { "ReportingRequestType", "f1ap.ReportingRequestType_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RLCDuplicationInformation_PDU,
      { "RLCDuplicationInformation", "f1ap.RLCDuplicationInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RLCFailureIndication_PDU,
      { "RLCFailureIndication", "f1ap.RLCFailureIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RLCMode_PDU,
      { "RLCMode", "f1ap.RLCMode",
        FT_UINT32, BASE_DEC, VALS(f1ap_RLCMode_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_RLC_Status_PDU,
      { "RLC-Status", "f1ap.RLC_Status_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RLFReportInformationList_PDU,
      { "RLFReportInformationList", "f1ap.RLFReportInformationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RRCContainer_PDU,
      { "RRCContainer", "f1ap.RRCContainer",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RRCContainer_RRCSetupComplete_PDU,
      { "RRCContainer-RRCSetupComplete", "f1ap.RRCContainer_RRCSetupComplete",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RRCDeliveryStatus_PDU,
      { "RRCDeliveryStatus", "f1ap.RRCDeliveryStatus_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RRCDeliveryStatusRequest_PDU,
      { "RRCDeliveryStatusRequest", "f1ap.RRCDeliveryStatusRequest",
        FT_UINT32, BASE_DEC, VALS(f1ap_RRCDeliveryStatusRequest_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_RRCReconfigurationCompleteIndicator_PDU,
      { "RRCReconfigurationCompleteIndicator", "f1ap.RRCReconfigurationCompleteIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_RRCReconfigurationCompleteIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_RRC_Terminating_IAB_Donor_Related_Info_PDU,
      { "RRC-Terminating-IAB-Donor-Related-Info", "f1ap.RRC_Terminating_IAB_Donor_Related_Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RRC_Version_PDU,
      { "RRC-Version", "f1ap.RRC_Version_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Latest_RRC_Version_Enhanced_PDU,
      { "Latest-RRC-Version-Enhanced", "f1ap.Latest_RRC_Version_Enhanced",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RoutingID_PDU,
      { "RoutingID", "f1ap.RoutingID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ResponseTime_PDU,
      { "ResponseTime", "f1ap.ResponseTime_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_FailedtoSetup_Item_PDU,
      { "SCell-FailedtoSetup-Item", "f1ap.SCell_FailedtoSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_FailedtoSetupMod_Item_PDU,
      { "SCell-FailedtoSetupMod-Item", "f1ap.SCell_FailedtoSetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_ToBeRemoved_Item_PDU,
      { "SCell-ToBeRemoved-Item", "f1ap.SCell_ToBeRemoved_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_ToBeSetup_Item_PDU,
      { "SCell-ToBeSetup-Item", "f1ap.SCell_ToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_ToBeSetupMod_Item_PDU,
      { "SCell-ToBeSetupMod-Item", "f1ap.SCell_ToBeSetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCGActivationRequest_PDU,
      { "SCGActivationRequest", "f1ap.SCGActivationRequest",
        FT_UINT32, BASE_DEC, VALS(f1ap_SCGActivationRequest_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SCGActivationStatus_PDU,
      { "SCGActivationStatus", "f1ap.SCGActivationStatus",
        FT_UINT32, BASE_DEC, VALS(f1ap_SCGActivationStatus_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SCGIndicator_PDU,
      { "SCGIndicator", "f1ap.SCGIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_SCGIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SCPAC_Request_PDU,
      { "SCPAC-Request", "f1ap.SCPAC_Request",
        FT_UINT32, BASE_DEC, VALS(f1ap_SCPAC_Request_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_S_CPAC_Configuration_PDU,
      { "S-CPAC-Configuration", "f1ap.S_CPAC_Configuration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_S_CPACLowerLayerReferenceConfigRequest_PDU,
      { "S-CPACLowerLayerReferenceConfigRequest", "f1ap.S_CPACLowerLayerReferenceConfigRequest",
        FT_UINT32, BASE_DEC, VALS(f1ap_S_CPACLowerLayerReferenceConfigRequest_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SCS_480_PDU,
      { "SCS-480", "f1ap.SCS_480",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCS_960_PDU,
      { "SCS-960", "f1ap.SCS_960",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCS_SpecificCarrier_PDU,
      { "SCS-SpecificCarrier", "f1ap.SCS_SpecificCarrier_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SDTBearerConfigurationQueryIndication_PDU,
      { "SDTBearerConfigurationQueryIndication", "f1ap.SDTBearerConfigurationQueryIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_SDTBearerConfigurationQueryIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SDTBearerConfigurationInfo_PDU,
      { "SDTBearerConfigurationInfo", "f1ap.SDTBearerConfigurationInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SDT_MAC_PHY_CG_Config_PDU,
      { "SDT-MAC-PHY-CG-Config", "f1ap.SDT_MAC_PHY_CG_Config",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SDTInformation_PDU,
      { "SDTInformation", "f1ap.SDTInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SDTRLCBearerConfiguration_PDU,
      { "SDTRLCBearerConfiguration", "f1ap.SDTRLCBearerConfiguration",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SDT_Termination_Request_PDU,
      { "SDT-Termination-Request", "f1ap.SDT_Termination_Request",
        FT_UINT32, BASE_DEC, VALS(f1ap_SDT_Termination_Request_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SDT_Volume_Threshold_PDU,
      { "SDT-Volume-Threshold", "f1ap.SDT_Volume_Threshold",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SelectedBandCombinationIndex_PDU,
      { "SelectedBandCombinationIndex", "f1ap.SelectedBandCombinationIndex",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SelectedFeatureSetEntryIndex_PDU,
      { "SelectedFeatureSetEntryIndex", "f1ap.SelectedFeatureSetEntryIndex",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ServCellInfoList_PDU,
      { "ServCellInfoList", "f1ap.ServCellInfoList",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ServCellIndex_PDU,
      { "ServCellIndex", "f1ap.ServCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ServingCellMO_PDU,
      { "ServingCellMO", "f1ap.ServingCellMO",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ServingCellMO_List_Item_PDU,
      { "ServingCellMO-List-Item", "f1ap.ServingCellMO_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ServingCellMO_encoded_in_CGC_List_PDU,
      { "ServingCellMO-encoded-in-CGC-List", "f1ap.ServingCellMO_encoded_in_CGC_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Serving_Cells_List_PDU,
      { "Serving-Cells-List", "f1ap.Serving_Cells_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Supported_MBS_FSA_ID_List_PDU,
      { "Supported-MBS-FSA-ID-List", "f1ap.Supported_MBS_FSA_ID_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SFN_Offset_PDU,
      { "SFN-Offset", "f1ap.SFN_Offset_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Served_Cells_To_Add_Item_PDU,
      { "Served-Cells-To-Add-Item", "f1ap.Served_Cells_To_Add_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Served_Cells_To_Delete_Item_PDU,
      { "Served-Cells-To-Delete-Item", "f1ap.Served_Cells_To_Delete_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Served_Cells_To_Modify_Item_PDU,
      { "Served-Cells-To-Modify-Item", "f1ap.Served_Cells_To_Modify_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RelativeTime1900_PDU,
      { "RelativeTime1900", "f1ap.RelativeTime1900",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SIB10_message_PDU,
      { "SIB10-message", "f1ap.SIB10_message",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SIB12_message_PDU,
      { "SIB12-message", "f1ap.SIB12_message",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SIB13_message_PDU,
      { "SIB13-message", "f1ap.SIB13_message",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SIB14_message_PDU,
      { "SIB14-message", "f1ap.SIB14_message",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SIB15_message_PDU,
      { "SIB15-message", "f1ap.SIB15_message",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SIB17_message_PDU,
      { "SIB17-message", "f1ap.SIB17_message",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SIB20_message_PDU,
      { "SIB20-message", "f1ap.SIB20_message",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SIB24_message_PDU,
      { "SIB24-message", "f1ap.SIB24_message",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SIB22_message_PDU,
      { "SIB22-message", "f1ap.SIB22_message",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SIB23_message_PDU,
      { "SIB23-message", "f1ap.SIB23_message",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SItype_List_PDU,
      { "SItype-List", "f1ap.SItype_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SidelinkRelayConfiguration_PDU,
      { "SidelinkRelayConfiguration", "f1ap.SidelinkRelayConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_FailedToBeModified_Item_PDU,
      { "SLDRBs-FailedToBeModified-Item", "f1ap.SLDRBs_FailedToBeModified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_FailedToBeSetup_Item_PDU,
      { "SLDRBs-FailedToBeSetup-Item", "f1ap.SLDRBs_FailedToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_FailedToBeSetupMod_Item_PDU,
      { "SLDRBs-FailedToBeSetupMod-Item", "f1ap.SLDRBs_FailedToBeSetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_Modified_Item_PDU,
      { "SLDRBs-Modified-Item", "f1ap.SLDRBs_Modified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ModifiedConf_Item_PDU,
      { "SLDRBs-ModifiedConf-Item", "f1ap.SLDRBs_ModifiedConf_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_Required_ToBeModified_Item_PDU,
      { "SLDRBs-Required-ToBeModified-Item", "f1ap.SLDRBs_Required_ToBeModified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_Required_ToBeReleased_Item_PDU,
      { "SLDRBs-Required-ToBeReleased-Item", "f1ap.SLDRBs_Required_ToBeReleased_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_Setup_Item_PDU,
      { "SLDRBs-Setup-Item", "f1ap.SLDRBs_Setup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_SetupMod_Item_PDU,
      { "SLDRBs-SetupMod-Item", "f1ap.SLDRBs_SetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ToBeModified_Item_PDU,
      { "SLDRBs-ToBeModified-Item", "f1ap.SLDRBs_ToBeModified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ToBeReleased_Item_PDU,
      { "SLDRBs-ToBeReleased-Item", "f1ap.SLDRBs_ToBeReleased_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ToBeSetup_Item_PDU,
      { "SLDRBs-ToBeSetup-Item", "f1ap.SLDRBs_ToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ToBeSetupMod_Item_PDU,
      { "SLDRBs-ToBeSetupMod-Item", "f1ap.SLDRBs_ToBeSetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRXCycleList_PDU,
      { "SLDRXCycleList", "f1ap.SLDRXCycleList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SL_PHY_MAC_RLC_Config_PDU,
      { "SL-PHY-MAC-RLC-Config", "f1ap.SL_PHY_MAC_RLC_Config",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SL_PHY_MAC_RLC_ConfigExt_PDU,
      { "SL-PHY-MAC-RLC-ConfigExt", "f1ap.SL_PHY_MAC_RLC_ConfigExt",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SL_RLC_ChannelToAddModList_PDU,
      { "SL-RLC-ChannelToAddModList", "f1ap.SL_RLC_ChannelToAddModList",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SL_ConfigDedicatedEUTRA_Info_PDU,
      { "SL-ConfigDedicatedEUTRA-Info", "f1ap.SL_ConfigDedicatedEUTRA_Info",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SliceRadioResourceStatus_PDU,
      { "SliceRadioResourceStatus", "f1ap.SliceRadioResourceStatus_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SliceSupportList_PDU,
      { "SliceSupportList", "f1ap.SliceSupportList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SlotNumber_PDU,
      { "SlotNumber", "f1ap.SlotNumber",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLPositioning_Ranging_Service_Info_PDU,
      { "SLPositioning-Ranging-Service-Info", "f1ap.SLPositioning_Ranging_Service_Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SNSSAI_PDU,
      { "SNSSAI", "f1ap.SNSSAI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SpatialRelationPerSRSResource_PDU,
      { "SpatialRelationPerSRSResource", "f1ap.SpatialRelationPerSRSResource_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBID_PDU,
      { "SRBID", "f1ap.SRBID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_FailedToBeSetup_Item_PDU,
      { "SRBs-FailedToBeSetup-Item", "f1ap.SRBs_FailedToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_FailedToBeSetupMod_Item_PDU,
      { "SRBs-FailedToBeSetupMod-Item", "f1ap.SRBs_FailedToBeSetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_Modified_Item_PDU,
      { "SRBs-Modified-Item", "f1ap.SRBs_Modified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_Required_ToBeReleased_Item_PDU,
      { "SRBs-Required-ToBeReleased-Item", "f1ap.SRBs_Required_ToBeReleased_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_Setup_Item_PDU,
      { "SRBs-Setup-Item", "f1ap.SRBs_Setup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_SetupMod_Item_PDU,
      { "SRBs-SetupMod-Item", "f1ap.SRBs_SetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_ToBeReleased_Item_PDU,
      { "SRBs-ToBeReleased-Item", "f1ap.SRBs_ToBeReleased_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_ToBeSetup_Item_PDU,
      { "SRBs-ToBeSetup-Item", "f1ap.SRBs_ToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_ToBeSetupMod_Item_PDU,
      { "SRBs-ToBeSetupMod-Item", "f1ap.SRBs_ToBeSetupMod_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSConfiguration_PDU,
      { "SRSConfiguration", "f1ap.SRSConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SrsFrequency_PDU,
      { "SrsFrequency", "f1ap.SrsFrequency",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSPortIndex_PDU,
      { "SRSPortIndex", "f1ap.SRSPortIndex",
        FT_UINT32, BASE_DEC, VALS(f1ap_SRSPortIndex_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSPreconfiguration_List_PDU,
      { "SRSPreconfiguration-List", "f1ap.SRSPreconfiguration_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSResourcetype_PDU,
      { "SRSResourcetype", "f1ap.SRSResourcetype_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSPosRRCInactiveConfig_PDU,
      { "SRSPosRRCInactiveConfig", "f1ap.SRSPosRRCInactiveConfig",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSPosRRCInactiveValidityAreaConfig_PDU,
      { "SRSPosRRCInactiveValidityAreaConfig", "f1ap.SRSPosRRCInactiveValidityAreaConfig",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSPosRRCInactiveQueryIndication_PDU,
      { "SRSPosRRCInactiveQueryIndication", "f1ap.SRSPosRRCInactiveQueryIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_SRSPosRRCInactiveQueryIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSReservationType_PDU,
      { "SRSReservationType", "f1ap.SRSReservationType",
        FT_UINT32, BASE_DEC, VALS(f1ap_SRSReservationType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SSB_PositionsInBurst_PDU,
      { "SSB-PositionsInBurst", "f1ap.SSB_PositionsInBurst",
        FT_UINT32, BASE_DEC, VALS(f1ap_SSB_PositionsInBurst_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SSBs_toBeActivated_List_PDU,
      { "SSBs-toBeActivated-List", "f1ap.SSBs_toBeActivated_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_StartRBIndex_PDU,
      { "StartRBIndex", "f1ap.StartRBIndex",
        FT_UINT32, BASE_DEC, VALS(f1ap_StartRBIndex_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_StartRBHopping_PDU,
      { "StartRBHopping", "f1ap.StartRBHopping",
        FT_UINT32, BASE_DEC, VALS(f1ap_StartRBHopping_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SuccessfulHOReportInformationList_PDU,
      { "SuccessfulHOReportInformationList", "f1ap.SuccessfulHOReportInformationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SuccessfulPSCellChangeReportInformationList_PDU,
      { "SuccessfulPSCellChangeReportInformationList", "f1ap.SuccessfulPSCellChangeReportInformationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SULAccessIndication_PDU,
      { "SULAccessIndication", "f1ap.SULAccessIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_SULAccessIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SupportedUETypeList_PDU,
      { "SupportedUETypeList", "f1ap.SupportedUETypeList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SurvivalTime_PDU,
      { "SurvivalTime", "f1ap.SurvivalTime",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_microseconds), 0,
        NULL, HFILL }},
    { &hf_f1ap_SymbolIndex_PDU,
      { "SymbolIndex", "f1ap.SymbolIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SystemFrameNumber_PDU,
      { "SystemFrameNumber", "f1ap.SystemFrameNumber",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SystemInformationAreaID_PDU,
      { "SystemInformationAreaID", "f1ap.SystemInformationAreaID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TargetCellList_PDU,
      { "TargetCellList", "f1ap.TargetCellList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NSAGSupportList_PDU,
      { "NSAGSupportList", "f1ap.NSAGSupportList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TDD_UL_DLConfigCommonNR_PDU,
      { "TDD-UL-DLConfigCommonNR", "f1ap.TDD_UL_DLConfigCommonNR",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPTEGInformation_PDU,
      { "TRPTEGInformation", "f1ap.TRPTEGInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_TRPTEGInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_TimeReferenceInformation_PDU,
      { "TimeReferenceInformation", "f1ap.TimeReferenceInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TimeToWait_PDU,
      { "TimeToWait", "f1ap.TimeToWait",
        FT_UINT32, BASE_DEC, VALS(f1ap_TimeToWait_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_TimingReportingGranularityFactorExtended_PDU,
      { "TimingReportingGranularityFactorExtended", "f1ap.TimingReportingGranularityFactorExtended",
        FT_INT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TimeWindowInformation_Measurement_List_PDU,
      { "TimeWindowInformation-Measurement-List", "f1ap.TimeWindowInformation_Measurement_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TimeWindowInformation_SRS_List_PDU,
      { "TimeWindowInformation-SRS-List", "f1ap.TimeWindowInformation_SRS_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TNLCapacityIndicator_PDU,
      { "TNLCapacityIndicator", "f1ap.TNLCapacityIndicator_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TraceActivation_PDU,
      { "TraceActivation", "f1ap.TraceActivation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TraceID_PDU,
      { "TraceID", "f1ap.TraceID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TrafficMappingInfo_PDU,
      { "TrafficMappingInfo", "f1ap.TrafficMappingInfo",
        FT_UINT32, BASE_DEC, VALS(f1ap_TrafficMappingInfo_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_TransportLayerAddress_PDU,
      { "TransportLayerAddress", "f1ap.TransportLayerAddress",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TransactionID_PDU,
      { "TransactionID", "f1ap.TransactionID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Transmission_Bandwidth_PDU,
      { "Transmission-Bandwidth", "f1ap.Transmission_Bandwidth_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TransmissionCombn8_PDU,
      { "TransmissionCombn8", "f1ap.TransmissionCombn8_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TransmissionStopIndicator_PDU,
      { "TransmissionStopIndicator", "f1ap.TransmissionStopIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_TransmissionStopIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_TransmissionActionIndicator_PDU,
      { "TransmissionActionIndicator", "f1ap.TransmissionActionIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_TransmissionActionIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPBeamAntennaInformation_PDU,
      { "TRPBeamAntennaInformation", "f1ap.TRPBeamAntennaInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPInformationItem_PDU,
      { "TRPInformationItem", "f1ap.TRPInformationItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPInformationTypeItem_PDU,
      { "TRPInformationTypeItem", "f1ap.TRPInformationTypeItem",
        FT_UINT32, BASE_DEC, VALS(f1ap_TRPInformationTypeItem_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPList_PDU,
      { "TRPList", "f1ap.TRPList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PhaseQuality_PDU,
      { "PhaseQuality", "f1ap.PhaseQuality_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRP_MeasurementRequestList_PDU,
      { "TRP-MeasurementRequestList", "f1ap.TRP_MeasurementRequestList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRP_PRS_Info_List_PDU,
      { "TRP-PRS-Info-List", "f1ap.TRP_PRS_Info_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRP_Rx_TEGInformation_PDU,
      { "TRP-Rx-TEGInformation", "f1ap.TRP_Rx_TEGInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPTxTEGAssociation_PDU,
      { "TRPTxTEGAssociation", "f1ap.TRPTxTEGAssociation",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Transport_Layer_Address_Info_PDU,
      { "Transport-Layer-Address-Info", "f1ap.Transport_Layer_Address_Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPType_PDU,
      { "TRPType", "f1ap.TRPType",
        FT_UINT32, BASE_DEC, VALS(f1ap_TRPType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_TSCTrafficCharacteristics_PDU,
      { "TSCTrafficCharacteristics", "f1ap.TSCTrafficCharacteristics_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TSCTrafficCharacteristicsFeedback_PDU,
      { "TSCTrafficCharacteristicsFeedback", "f1ap.TSCTrafficCharacteristicsFeedback_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRP_MeasurementUpdateList_PDU,
      { "TRP-MeasurementUpdateList", "f1ap.TRP_MeasurementUpdateList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TwoPHRModeMCG_PDU,
      { "TwoPHRModeMCG", "f1ap.TwoPHRModeMCG",
        FT_UINT32, BASE_DEC, VALS(f1ap_TwoPHRModeMCG_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_TwoPHRModeSCG_PDU,
      { "TwoPHRModeSCG", "f1ap.TwoPHRModeSCG",
        FT_UINT32, BASE_DEC, VALS(f1ap_TwoPHRModeSCG_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_TxHoppingConfiguration_PDU,
      { "TxHoppingConfiguration", "f1ap.TxHoppingConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TAInformation_List_PDU,
      { "TAInformation-List", "f1ap.TAInformation_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UAC_Assistance_Info_PDU,
      { "UAC-Assistance-Info", "f1ap.UAC_Assistance_Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_associatedLogicalF1_ConnectionItem_PDU,
      { "UE-associatedLogicalF1-ConnectionItem", "f1ap.UE_associatedLogicalF1_ConnectionItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEAssistanceInformation_PDU,
      { "UEAssistanceInformation", "f1ap.UEAssistanceInformation",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEAssistanceInformationEUTRA_PDU,
      { "UEAssistanceInformationEUTRA", "f1ap.UEAssistanceInformationEUTRA",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEContextNotRetrievable_PDU,
      { "UEContextNotRetrievable", "f1ap.UEContextNotRetrievable",
        FT_UINT32, BASE_DEC, VALS(f1ap_UEContextNotRetrievable_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_UEIdentityIndexValue_PDU,
      { "UEIdentityIndexValue", "f1ap.UEIdentityIndexValue",
        FT_UINT32, BASE_DEC, VALS(f1ap_UEIdentityIndexValue_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_UEIdentity_List_For_Paging_Item_PDU,
      { "UEIdentity-List-For-Paging-Item", "f1ap.UEIdentity_List_For_Paging_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_Item_PDU,
      { "UE-MulticastMRBs-ConfirmedToBeModified-Item", "f1ap.UE_MulticastMRBs_ConfirmedToBeModified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_RequiredToBeModified_Item_PDU,
      { "UE-MulticastMRBs-RequiredToBeModified-Item", "f1ap.UE_MulticastMRBs_RequiredToBeModified_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_RequiredToBeReleased_Item_PDU,
      { "UE-MulticastMRBs-RequiredToBeReleased-Item", "f1ap.UE_MulticastMRBs_RequiredToBeReleased_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_Setup_Item_PDU,
      { "UE-MulticastMRBs-Setup-Item", "f1ap.UE_MulticastMRBs_Setup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_Setupnew_Item_PDU,
      { "UE-MulticastMRBs-Setupnew-Item", "f1ap.UE_MulticastMRBs_Setupnew_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_ToBeReleased_Item_PDU,
      { "UE-MulticastMRBs-ToBeReleased-Item", "f1ap.UE_MulticastMRBs_ToBeReleased_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_ToBeSetup_Item_PDU,
      { "UE-MulticastMRBs-ToBeSetup-Item", "f1ap.UE_MulticastMRBs_ToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_Item_PDU,
      { "UE-MulticastMRBs-ToBeSetup-atModify-Item", "f1ap.UE_MulticastMRBs_ToBeSetup_atModify_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEPagingCapability_PDU,
      { "UEPagingCapability", "f1ap.UEPagingCapability_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEReportingInformation_PDU,
      { "UEReportingInformation", "f1ap.UEReportingInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UlTxDirectCurrentMoreCarrierInformation_PDU,
      { "UlTxDirectCurrentMoreCarrierInformation", "f1ap.UlTxDirectCurrentMoreCarrierInformation",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UL_BH_Non_UP_Traffic_Mapping_PDU,
      { "UL-BH-Non-UP-Traffic-Mapping", "f1ap.UL_BH_Non_UP_Traffic_Mapping_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UL_GapFR2_Config_PDU,
      { "UL-GapFR2-Config", "f1ap.UL_GapFR2_Config",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UL_SRS_RSRPP_PDU,
      { "UL-SRS-RSRPP", "f1ap.UL_SRS_RSRPP_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UL_RSCP_PDU,
      { "UL-RSCP", "f1ap.UL_RSCP_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UL_UP_TNL_Information_to_Update_List_Item_PDU,
      { "UL-UP-TNL-Information-to-Update-List-Item", "f1ap.UL_UP_TNL_Information_to_Update_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UL_UP_TNL_Address_to_Update_List_Item_PDU,
      { "UL-UP-TNL-Address-to-Update-List-Item", "f1ap.UL_UP_TNL_Address_to_Update_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UplinkTxDirectCurrentListInformation_PDU,
      { "UplinkTxDirectCurrentListInformation", "f1ap.UplinkTxDirectCurrentListInformation",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UplinkTxDirectCurrentTwoCarrierListInfo_PDU,
      { "UplinkTxDirectCurrentTwoCarrierListInfo", "f1ap.UplinkTxDirectCurrentTwoCarrierListInfo",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_URI_address_PDU,
      { "URI-address", "f1ap.URI_address",
        FT_STRING, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelID_PDU,
      { "UuRLCChannelID", "f1ap.UuRLCChannelID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelToBeSetupList_PDU,
      { "UuRLCChannelToBeSetupList", "f1ap.UuRLCChannelToBeSetupList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelToBeModifiedList_PDU,
      { "UuRLCChannelToBeModifiedList", "f1ap.UuRLCChannelToBeModifiedList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelToBeReleasedList_PDU,
      { "UuRLCChannelToBeReleasedList", "f1ap.UuRLCChannelToBeReleasedList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelSetupList_PDU,
      { "UuRLCChannelSetupList", "f1ap.UuRLCChannelSetupList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelFailedToBeSetupList_PDU,
      { "UuRLCChannelFailedToBeSetupList", "f1ap.UuRLCChannelFailedToBeSetupList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelModifiedList_PDU,
      { "UuRLCChannelModifiedList", "f1ap.UuRLCChannelModifiedList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelFailedToBeModifiedList_PDU,
      { "UuRLCChannelFailedToBeModifiedList", "f1ap.UuRLCChannelFailedToBeModifiedList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelRequiredToBeModifiedList_PDU,
      { "UuRLCChannelRequiredToBeModifiedList", "f1ap.UuRLCChannelRequiredToBeModifiedList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelRequiredToBeReleasedList_PDU,
      { "UuRLCChannelRequiredToBeReleasedList", "f1ap.UuRLCChannelRequiredToBeReleasedList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_VictimgNBSetID_PDU,
      { "VictimgNBSetID", "f1ap.VictimgNBSetID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ValidityAreaSpecificSRSInformation_PDU,
      { "ValidityAreaSpecificSRSInformation", "f1ap.ValidityAreaSpecificSRSInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_XR_Bcast_Information_PDU,
      { "XR-Bcast-Information", "f1ap.XR_Bcast_Information",
        FT_UINT32, BASE_DEC, VALS(f1ap_XR_Bcast_Information_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_ZoAInformation_PDU,
      { "ZoAInformation", "f1ap.ZoAInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Reset_PDU,
      { "Reset", "f1ap.Reset_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ResetType_PDU,
      { "ResetType", "f1ap.ResetType",
        FT_UINT32, BASE_DEC, VALS(f1ap_ResetType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_ResetAcknowledge_PDU,
      { "ResetAcknowledge", "f1ap.ResetAcknowledge_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_associatedLogicalF1_ConnectionListResAck_PDU,
      { "UE-associatedLogicalF1-ConnectionListResAck", "f1ap.UE_associatedLogicalF1_ConnectionListResAck",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ErrorIndication_PDU,
      { "ErrorIndication", "f1ap.ErrorIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_F1SetupRequest_PDU,
      { "F1SetupRequest", "f1ap.F1SetupRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_DU_Served_Cells_List_PDU,
      { "GNB-DU-Served-Cells-List", "f1ap.GNB_DU_Served_Cells_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_F1SetupResponse_PDU,
      { "F1SetupResponse", "f1ap.F1SetupResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_to_be_Activated_List_PDU,
      { "Cells-to-be-Activated-List", "f1ap.Cells_to_be_Activated_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NCGI_to_be_Updated_List_PDU,
      { "NCGI-to-be-Updated-List", "f1ap.NCGI_to_be_Updated_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_F1SetupFailure_PDU,
      { "F1SetupFailure", "f1ap.F1SetupFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBDUConfigurationUpdate_PDU,
      { "GNBDUConfigurationUpdate", "f1ap.GNBDUConfigurationUpdate_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Served_Cells_To_Add_List_PDU,
      { "Served-Cells-To-Add-List", "f1ap.Served_Cells_To_Add_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Served_Cells_To_Modify_List_PDU,
      { "Served-Cells-To-Modify-List", "f1ap.Served_Cells_To_Modify_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Served_Cells_To_Delete_List_PDU,
      { "Served-Cells-To-Delete-List", "f1ap.Served_Cells_To_Delete_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Status_List_PDU,
      { "Cells-Status-List", "f1ap.Cells_Status_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Dedicated_SIDelivery_NeededUE_List_PDU,
      { "Dedicated-SIDelivery-NeededUE-List", "f1ap.Dedicated_SIDelivery_NeededUE_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_DU_TNL_Association_To_Remove_List_PDU,
      { "GNB-DU-TNL-Association-To-Remove-List", "f1ap.GNB_DU_TNL_Association_To_Remove_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBDUConfigurationUpdateAcknowledge_PDU,
      { "GNBDUConfigurationUpdateAcknowledge", "f1ap.GNBDUConfigurationUpdateAcknowledge_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBDUConfigurationUpdateFailure_PDU,
      { "GNBDUConfigurationUpdateFailure", "f1ap.GNBDUConfigurationUpdateFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBCUConfigurationUpdate_PDU,
      { "GNBCUConfigurationUpdate", "f1ap.GNBCUConfigurationUpdate_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_to_be_Deactivated_List_PDU,
      { "Cells-to-be-Deactivated-List", "f1ap.Cells_to_be_Deactivated_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_To_Add_List_PDU,
      { "GNB-CU-TNL-Association-To-Add-List", "f1ap.GNB_CU_TNL_Association_To_Add_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_To_Remove_List_PDU,
      { "GNB-CU-TNL-Association-To-Remove-List", "f1ap.GNB_CU_TNL_Association_To_Remove_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_To_Update_List_PDU,
      { "GNB-CU-TNL-Association-To-Update-List", "f1ap.GNB_CU_TNL_Association_To_Update_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_to_be_Barred_List_PDU,
      { "Cells-to-be-Barred-List", "f1ap.Cells_to_be_Barred_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Allowed_to_be_Deactivated_List_PDU,
      { "Cells-Allowed-to-be-Deactivated-List", "f1ap.Cells_Allowed_to_be_Deactivated_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Protected_EUTRA_Resources_List_PDU,
      { "Protected-EUTRA-Resources-List", "f1ap.Protected_EUTRA_Resources_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Neighbour_Cell_Information_List_PDU,
      { "Neighbour-Cell-Information-List", "f1ap.Neighbour_Cell_Information_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBCUConfigurationUpdateAcknowledge_PDU,
      { "GNBCUConfigurationUpdateAcknowledge", "f1ap.GNBCUConfigurationUpdateAcknowledge_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Failed_to_be_Activated_List_PDU,
      { "Cells-Failed-to-be-Activated-List", "f1ap.Cells_Failed_to_be_Activated_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_Setup_List_PDU,
      { "GNB-CU-TNL-Association-Setup-List", "f1ap.GNB_CU_TNL_Association_Setup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List_PDU,
      { "GNB-CU-TNL-Association-Failed-To-Setup-List", "f1ap.GNB_CU_TNL_Association_Failed_To_Setup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBCUConfigurationUpdateFailure_PDU,
      { "GNBCUConfigurationUpdateFailure", "f1ap.GNBCUConfigurationUpdateFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBDUResourceCoordinationRequest_PDU,
      { "GNBDUResourceCoordinationRequest", "f1ap.GNBDUResourceCoordinationRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBDUResourceCoordinationResponse_PDU,
      { "GNBDUResourceCoordinationResponse", "f1ap.GNBDUResourceCoordinationResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEContextSetupRequest_PDU,
      { "UEContextSetupRequest", "f1ap.UEContextSetupRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Candidate_SpCell_List_PDU,
      { "Candidate-SpCell-List", "f1ap.Candidate_SpCell_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_ToBeSetup_List_PDU,
      { "SCell-ToBeSetup-List", "f1ap.SCell_ToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_ToBeSetup_List_PDU,
      { "SRBs-ToBeSetup-List", "f1ap.SRBs_ToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ToBeSetup_List_PDU,
      { "DRBs-ToBeSetup-List", "f1ap.DRBs_ToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_ToBeSetup_List_PDU,
      { "BHChannels-ToBeSetup-List", "f1ap.BHChannels_ToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ToBeSetup_List_PDU,
      { "SLDRBs-ToBeSetup-List", "f1ap.SLDRBs_ToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_ToBeSetup_List_PDU,
      { "UE-MulticastMRBs-ToBeSetup-List", "f1ap.UE_MulticastMRBs_ToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ServingCellMO_List_PDU,
      { "ServingCellMO-List", "f1ap.ServingCellMO_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEContextSetupResponse_PDU,
      { "UEContextSetupResponse", "f1ap.UEContextSetupResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_Setup_List_PDU,
      { "DRBs-Setup-List", "f1ap.DRBs_Setup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_FailedToBeSetup_List_PDU,
      { "SRBs-FailedToBeSetup-List", "f1ap.SRBs_FailedToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_FailedToBeSetup_List_PDU,
      { "DRBs-FailedToBeSetup-List", "f1ap.DRBs_FailedToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_FailedtoSetup_List_PDU,
      { "SCell-FailedtoSetup-List", "f1ap.SCell_FailedtoSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_Setup_List_PDU,
      { "SRBs-Setup-List", "f1ap.SRBs_Setup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_Setup_List_PDU,
      { "BHChannels-Setup-List", "f1ap.BHChannels_Setup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_FailedToBeSetup_List_PDU,
      { "BHChannels-FailedToBeSetup-List", "f1ap.BHChannels_FailedToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_Setup_List_PDU,
      { "SLDRBs-Setup-List", "f1ap.SLDRBs_Setup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_FailedToBeSetup_List_PDU,
      { "SLDRBs-FailedToBeSetup-List", "f1ap.SLDRBs_FailedToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_Setupnew_List_PDU,
      { "UE-MulticastMRBs-Setupnew-List", "f1ap.UE_MulticastMRBs_Setupnew_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEContextSetupFailure_PDU,
      { "UEContextSetupFailure", "f1ap.UEContextSetupFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Potential_SpCell_List_PDU,
      { "Potential-SpCell-List", "f1ap.Potential_SpCell_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEContextReleaseRequest_PDU,
      { "UEContextReleaseRequest", "f1ap.UEContextReleaseRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEContextReleaseCommand_PDU,
      { "UEContextReleaseCommand", "f1ap.UEContextReleaseCommand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEContextReleaseComplete_PDU,
      { "UEContextReleaseComplete", "f1ap.UEContextReleaseComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEContextModificationRequest_PDU,
      { "UEContextModificationRequest", "f1ap.UEContextModificationRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_ToBeSetupMod_List_PDU,
      { "SCell-ToBeSetupMod-List", "f1ap.SCell_ToBeSetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_ToBeRemoved_List_PDU,
      { "SCell-ToBeRemoved-List", "f1ap.SCell_ToBeRemoved_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_ToBeSetupMod_List_PDU,
      { "SRBs-ToBeSetupMod-List", "f1ap.SRBs_ToBeSetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ToBeSetupMod_List_PDU,
      { "DRBs-ToBeSetupMod-List", "f1ap.DRBs_ToBeSetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_ToBeSetupMod_List_PDU,
      { "BHChannels-ToBeSetupMod-List", "f1ap.BHChannels_ToBeSetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ToBeModified_List_PDU,
      { "DRBs-ToBeModified-List", "f1ap.DRBs_ToBeModified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_ToBeModified_List_PDU,
      { "BHChannels-ToBeModified-List", "f1ap.BHChannels_ToBeModified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_ToBeReleased_List_PDU,
      { "SRBs-ToBeReleased-List", "f1ap.SRBs_ToBeReleased_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ToBeReleased_List_PDU,
      { "DRBs-ToBeReleased-List", "f1ap.DRBs_ToBeReleased_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_ToBeReleased_List_PDU,
      { "BHChannels-ToBeReleased-List", "f1ap.BHChannels_ToBeReleased_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_List_PDU,
      { "UE-MulticastMRBs-ToBeSetup-atModify-List", "f1ap.UE_MulticastMRBs_ToBeSetup_atModify_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_ToBeReleased_List_PDU,
      { "UE-MulticastMRBs-ToBeReleased-List", "f1ap.UE_MulticastMRBs_ToBeReleased_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ToBeSetupMod_List_PDU,
      { "SLDRBs-ToBeSetupMod-List", "f1ap.SLDRBs_ToBeSetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ToBeModified_List_PDU,
      { "SLDRBs-ToBeModified-List", "f1ap.SLDRBs_ToBeModified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ToBeReleased_List_PDU,
      { "SLDRBs-ToBeReleased-List", "f1ap.SLDRBs_ToBeReleased_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEContextModificationResponse_PDU,
      { "UEContextModificationResponse", "f1ap.UEContextModificationResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_SetupMod_List_PDU,
      { "DRBs-SetupMod-List", "f1ap.DRBs_SetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_Modified_List_PDU,
      { "DRBs-Modified-List", "f1ap.DRBs_Modified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_SetupMod_List_PDU,
      { "SRBs-SetupMod-List", "f1ap.SRBs_SetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_Modified_List_PDU,
      { "SRBs-Modified-List", "f1ap.SRBs_Modified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_FailedToBeModified_List_PDU,
      { "DRBs-FailedToBeModified-List", "f1ap.DRBs_FailedToBeModified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_FailedToBeSetupMod_List_PDU,
      { "SRBs-FailedToBeSetupMod-List", "f1ap.SRBs_FailedToBeSetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_FailedToBeSetupMod_List_PDU,
      { "DRBs-FailedToBeSetupMod-List", "f1ap.DRBs_FailedToBeSetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_FailedtoSetupMod_List_PDU,
      { "SCell-FailedtoSetupMod-List", "f1ap.SCell_FailedtoSetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_SetupMod_List_PDU,
      { "BHChannels-SetupMod-List", "f1ap.BHChannels_SetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_Modified_List_PDU,
      { "BHChannels-Modified-List", "f1ap.BHChannels_Modified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_FailedToBeModified_List_PDU,
      { "BHChannels-FailedToBeModified-List", "f1ap.BHChannels_FailedToBeModified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_FailedToBeSetupMod_List_PDU,
      { "BHChannels-FailedToBeSetupMod-List", "f1ap.BHChannels_FailedToBeSetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Associated_SCell_List_PDU,
      { "Associated-SCell-List", "f1ap.Associated_SCell_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_SetupMod_List_PDU,
      { "SLDRBs-SetupMod-List", "f1ap.SLDRBs_SetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_Modified_List_PDU,
      { "SLDRBs-Modified-List", "f1ap.SLDRBs_Modified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_FailedToBeModified_List_PDU,
      { "SLDRBs-FailedToBeModified-List", "f1ap.SLDRBs_FailedToBeModified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_FailedToBeSetupMod_List_PDU,
      { "SLDRBs-FailedToBeSetupMod-List", "f1ap.SLDRBs_FailedToBeSetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_Setup_List_PDU,
      { "UE-MulticastMRBs-Setup-List", "f1ap.UE_MulticastMRBs_Setup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEContextModificationFailure_PDU,
      { "UEContextModificationFailure", "f1ap.UEContextModificationFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEContextModificationRequired_PDU,
      { "UEContextModificationRequired", "f1ap.UEContextModificationRequired_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_Required_ToBeModified_List_PDU,
      { "DRBs-Required-ToBeModified-List", "f1ap.DRBs_Required_ToBeModified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_Required_ToBeReleased_List_PDU,
      { "DRBs-Required-ToBeReleased-List", "f1ap.DRBs_Required_ToBeReleased_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_Required_ToBeReleased_List_PDU,
      { "SRBs-Required-ToBeReleased-List", "f1ap.SRBs_Required_ToBeReleased_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_Required_ToBeReleased_List_PDU,
      { "BHChannels-Required-ToBeReleased-List", "f1ap.BHChannels_Required_ToBeReleased_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_Required_ToBeModified_List_PDU,
      { "SLDRBs-Required-ToBeModified-List", "f1ap.SLDRBs_Required_ToBeModified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_Required_ToBeReleased_List_PDU,
      { "SLDRBs-Required-ToBeReleased-List", "f1ap.SLDRBs_Required_ToBeReleased_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_RequiredToBeModified_List_PDU,
      { "UE-MulticastMRBs-RequiredToBeModified-List", "f1ap.UE_MulticastMRBs_RequiredToBeModified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_RequiredToBeReleased_List_PDU,
      { "UE-MulticastMRBs-RequiredToBeReleased-List", "f1ap.UE_MulticastMRBs_RequiredToBeReleased_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEContextModificationConfirm_PDU,
      { "UEContextModificationConfirm", "f1ap.UEContextModificationConfirm_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ModifiedConf_List_PDU,
      { "DRBs-ModifiedConf-List", "f1ap.DRBs_ModifiedConf_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ModifiedConf_List_PDU,
      { "SLDRBs-ModifiedConf-List", "f1ap.SLDRBs_ModifiedConf_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_List_PDU,
      { "UE-MulticastMRBs-ConfirmedToBeModified-List", "f1ap.UE_MulticastMRBs_ConfirmedToBeModified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEContextModificationRefuse_PDU,
      { "UEContextModificationRefuse", "f1ap.UEContextModificationRefuse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_WriteReplaceWarningRequest_PDU,
      { "WriteReplaceWarningRequest", "f1ap.WriteReplaceWarningRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_To_Be_Broadcast_List_PDU,
      { "Cells-To-Be-Broadcast-List", "f1ap.Cells_To_Be_Broadcast_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_WriteReplaceWarningResponse_PDU,
      { "WriteReplaceWarningResponse", "f1ap.WriteReplaceWarningResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Broadcast_Completed_List_PDU,
      { "Cells-Broadcast-Completed-List", "f1ap.Cells_Broadcast_Completed_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PWSCancelRequest_PDU,
      { "PWSCancelRequest", "f1ap.PWSCancelRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Broadcast_To_Be_Cancelled_List_PDU,
      { "Broadcast-To-Be-Cancelled-List", "f1ap.Broadcast_To_Be_Cancelled_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PWSCancelResponse_PDU,
      { "PWSCancelResponse", "f1ap.PWSCancelResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Broadcast_Cancelled_List_PDU,
      { "Cells-Broadcast-Cancelled-List", "f1ap.Cells_Broadcast_Cancelled_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEInactivityNotification_PDU,
      { "UEInactivityNotification", "f1ap.UEInactivityNotification_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRB_Activity_List_PDU,
      { "DRB-Activity-List", "f1ap.DRB_Activity_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_InitialULRRCMessageTransfer_PDU,
      { "InitialULRRCMessageTransfer", "f1ap.InitialULRRCMessageTransfer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DLRRCMessageTransfer_PDU,
      { "DLRRCMessageTransfer", "f1ap.DLRRCMessageTransfer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RedirectedRRCmessage_PDU,
      { "RedirectedRRCmessage", "f1ap.RedirectedRRCmessage",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ULRRCMessageTransfer_PDU,
      { "ULRRCMessageTransfer", "f1ap.ULRRCMessageTransfer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PrivateMessage_PDU,
      { "PrivateMessage", "f1ap.PrivateMessage_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SystemInformationDeliveryCommand_PDU,
      { "SystemInformationDeliveryCommand", "f1ap.SystemInformationDeliveryCommand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Paging_PDU,
      { "Paging", "f1ap.Paging_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PagingCell_list_PDU,
      { "PagingCell-list", "f1ap.PagingCell_list",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Notify_PDU,
      { "Notify", "f1ap.Notify_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRB_Notify_List_PDU,
      { "DRB-Notify-List", "f1ap.DRB_Notify_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NetworkAccessRateReduction_PDU,
      { "NetworkAccessRateReduction", "f1ap.NetworkAccessRateReduction_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PWSRestartIndication_PDU,
      { "PWSRestartIndication", "f1ap.PWSRestartIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NR_CGI_List_For_Restart_List_PDU,
      { "NR-CGI-List-For-Restart-List", "f1ap.NR_CGI_List_For_Restart_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PWSFailureIndication_PDU,
      { "PWSFailureIndication", "f1ap.PWSFailureIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PWS_Failed_NR_CGI_List_PDU,
      { "PWS-Failed-NR-CGI-List", "f1ap.PWS_Failed_NR_CGI_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBDUStatusIndication_PDU,
      { "GNBDUStatusIndication", "f1ap.GNBDUStatusIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RRCDeliveryReport_PDU,
      { "RRCDeliveryReport", "f1ap.RRCDeliveryReport_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_F1RemovalRequest_PDU,
      { "F1RemovalRequest", "f1ap.F1RemovalRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_F1RemovalResponse_PDU,
      { "F1RemovalResponse", "f1ap.F1RemovalResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_F1RemovalFailure_PDU,
      { "F1RemovalFailure", "f1ap.F1RemovalFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TraceStart_PDU,
      { "TraceStart", "f1ap.TraceStart_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DeactivateTrace_PDU,
      { "DeactivateTrace", "f1ap.DeactivateTrace_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CellTrafficTrace_PDU,
      { "CellTrafficTrace", "f1ap.CellTrafficTrace_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DUCURadioInformationTransfer_PDU,
      { "DUCURadioInformationTransfer", "f1ap.DUCURadioInformationTransfer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CUDURadioInformationTransfer_PDU,
      { "CUDURadioInformationTransfer", "f1ap.CUDURadioInformationTransfer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BAPMappingConfiguration_PDU,
      { "BAPMappingConfiguration", "f1ap.BAPMappingConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BH_Routing_Information_Added_List_PDU,
      { "BH-Routing-Information-Added-List", "f1ap.BH_Routing_Information_Added_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BH_Routing_Information_Removed_List_PDU,
      { "BH-Routing-Information-Removed-List", "f1ap.BH_Routing_Information_Removed_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BAP_Header_Rewriting_Added_List_PDU,
      { "BAP-Header-Rewriting-Added-List", "f1ap.BAP_Header_Rewriting_Added_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BAP_Header_Rewriting_Removed_List_PDU,
      { "BAP-Header-Rewriting-Removed-List", "f1ap.BAP_Header_Rewriting_Removed_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BAPMappingConfigurationAcknowledge_PDU,
      { "BAPMappingConfigurationAcknowledge", "f1ap.BAPMappingConfigurationAcknowledge_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BAPMappingConfigurationFailure_PDU,
      { "BAPMappingConfigurationFailure", "f1ap.BAPMappingConfigurationFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBDUResourceConfiguration_PDU,
      { "GNBDUResourceConfiguration", "f1ap.GNBDUResourceConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBDUResourceConfigurationAcknowledge_PDU,
      { "GNBDUResourceConfigurationAcknowledge", "f1ap.GNBDUResourceConfigurationAcknowledge_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNBDUResourceConfigurationFailure_PDU,
      { "GNBDUResourceConfigurationFailure", "f1ap.GNBDUResourceConfigurationFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IABTNLAddressRequest_PDU,
      { "IABTNLAddressRequest", "f1ap.IABTNLAddressRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IAB_TNL_Addresses_To_Remove_List_PDU,
      { "IAB-TNL-Addresses-To-Remove-List", "f1ap.IAB_TNL_Addresses_To_Remove_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IABTNLAddressResponse_PDU,
      { "IABTNLAddressResponse", "f1ap.IABTNLAddressResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IAB_Allocated_TNL_Address_List_PDU,
      { "IAB-Allocated-TNL-Address-List", "f1ap.IAB_Allocated_TNL_Address_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IABTNLAddressFailure_PDU,
      { "IABTNLAddressFailure", "f1ap.IABTNLAddressFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IABUPConfigurationUpdateRequest_PDU,
      { "IABUPConfigurationUpdateRequest", "f1ap.IABUPConfigurationUpdateRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UL_UP_TNL_Information_to_Update_List_PDU,
      { "UL-UP-TNL-Information-to-Update-List", "f1ap.UL_UP_TNL_Information_to_Update_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UL_UP_TNL_Address_to_Update_List_PDU,
      { "UL-UP-TNL-Address-to-Update-List", "f1ap.UL_UP_TNL_Address_to_Update_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IABUPConfigurationUpdateResponse_PDU,
      { "IABUPConfigurationUpdateResponse", "f1ap.IABUPConfigurationUpdateResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DL_UP_TNL_Address_to_Update_List_PDU,
      { "DL-UP-TNL-Address-to-Update-List", "f1ap.DL_UP_TNL_Address_to_Update_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IABUPConfigurationUpdateFailure_PDU,
      { "IABUPConfigurationUpdateFailure", "f1ap.IABUPConfigurationUpdateFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MIABF1SetupTriggering_PDU,
      { "MIABF1SetupTriggering", "f1ap.MIABF1SetupTriggering_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MIABF1SetupOutcomeNotification_PDU,
      { "MIABF1SetupOutcomeNotification", "f1ap.MIABF1SetupOutcomeNotification_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_F1SetupOutcome_PDU,
      { "F1SetupOutcome", "f1ap.F1SetupOutcome",
        FT_UINT32, BASE_DEC, VALS(f1ap_F1SetupOutcome_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_Activated_Cells_Mapping_List_PDU,
      { "Activated-Cells-Mapping-List", "f1ap.Activated_Cells_Mapping_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ResourceStatusRequest_PDU,
      { "ResourceStatusRequest", "f1ap.ResourceStatusRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ResourceStatusResponse_PDU,
      { "ResourceStatusResponse", "f1ap.ResourceStatusResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ResourceStatusFailure_PDU,
      { "ResourceStatusFailure", "f1ap.ResourceStatusFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ResourceStatusUpdate_PDU,
      { "ResourceStatusUpdate", "f1ap.ResourceStatusUpdate_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AccessAndMobilityIndication_PDU,
      { "AccessAndMobilityIndication", "f1ap.AccessAndMobilityIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReferenceTimeInformationReportingControl_PDU,
      { "ReferenceTimeInformationReportingControl", "f1ap.ReferenceTimeInformationReportingControl_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ReferenceTimeInformationReport_PDU,
      { "ReferenceTimeInformationReport", "f1ap.ReferenceTimeInformationReport_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AccessSuccess_PDU,
      { "AccessSuccess", "f1ap.AccessSuccess_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningAssistanceInformationControl_PDU,
      { "PositioningAssistanceInformationControl", "f1ap.PositioningAssistanceInformationControl_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningAssistanceInformationFeedback_PDU,
      { "PositioningAssistanceInformationFeedback", "f1ap.PositioningAssistanceInformationFeedback_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningMeasurementRequest_PDU,
      { "PositioningMeasurementRequest", "f1ap.PositioningMeasurementRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningMeasurementResponse_PDU,
      { "PositioningMeasurementResponse", "f1ap.PositioningMeasurementResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningMeasurementFailure_PDU,
      { "PositioningMeasurementFailure", "f1ap.PositioningMeasurementFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningMeasurementReport_PDU,
      { "PositioningMeasurementReport", "f1ap.PositioningMeasurementReport_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningMeasurementAbort_PDU,
      { "PositioningMeasurementAbort", "f1ap.PositioningMeasurementAbort_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningMeasurementFailureIndication_PDU,
      { "PositioningMeasurementFailureIndication", "f1ap.PositioningMeasurementFailureIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningMeasurementUpdate_PDU,
      { "PositioningMeasurementUpdate", "f1ap.PositioningMeasurementUpdate_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPInformationRequest_PDU,
      { "TRPInformationRequest", "f1ap.TRPInformationRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPInformationTypeListTRPReq_PDU,
      { "TRPInformationTypeListTRPReq", "f1ap.TRPInformationTypeListTRPReq",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPInformationResponse_PDU,
      { "TRPInformationResponse", "f1ap.TRPInformationResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPInformationListTRPResp_PDU,
      { "TRPInformationListTRPResp", "f1ap.TRPInformationListTRPResp",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPInformationFailure_PDU,
      { "TRPInformationFailure", "f1ap.TRPInformationFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningInformationRequest_PDU,
      { "PositioningInformationRequest", "f1ap.PositioningInformationRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningInformationResponse_PDU,
      { "PositioningInformationResponse", "f1ap.PositioningInformationResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningInformationFailure_PDU,
      { "PositioningInformationFailure", "f1ap.PositioningInformationFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningActivationRequest_PDU,
      { "PositioningActivationRequest", "f1ap.PositioningActivationRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSType_PDU,
      { "SRSType", "f1ap.SRSType",
        FT_UINT32, BASE_DEC, VALS(f1ap_SRSType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningActivationResponse_PDU,
      { "PositioningActivationResponse", "f1ap.PositioningActivationResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningActivationFailure_PDU,
      { "PositioningActivationFailure", "f1ap.PositioningActivationFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningDeactivation_PDU,
      { "PositioningDeactivation", "f1ap.PositioningDeactivation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PositioningInformationUpdate_PDU,
      { "PositioningInformationUpdate", "f1ap.PositioningInformationUpdate_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSInformationReservationNotification_PDU,
      { "SRSInformationReservationNotification", "f1ap.SRSInformationReservationNotification_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_E_CIDMeasurementInitiationRequest_PDU,
      { "E-CIDMeasurementInitiationRequest", "f1ap.E_CIDMeasurementInitiationRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_E_CIDMeasurementInitiationResponse_PDU,
      { "E-CIDMeasurementInitiationResponse", "f1ap.E_CIDMeasurementInitiationResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_E_CIDMeasurementInitiationFailure_PDU,
      { "E-CIDMeasurementInitiationFailure", "f1ap.E_CIDMeasurementInitiationFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_E_CIDMeasurementFailureIndication_PDU,
      { "E-CIDMeasurementFailureIndication", "f1ap.E_CIDMeasurementFailureIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_E_CIDMeasurementReport_PDU,
      { "E-CIDMeasurementReport", "f1ap.E_CIDMeasurementReport_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_E_CIDMeasurementTerminationCommand_PDU,
      { "E-CIDMeasurementTerminationCommand", "f1ap.E_CIDMeasurementTerminationCommand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastContextSetupRequest_PDU,
      { "BroadcastContextSetupRequest", "f1ap.BroadcastContextSetupRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_ToBeSetup_List_PDU,
      { "BroadcastMRBs-ToBeSetup-List", "f1ap.BroadcastMRBs_ToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastContextSetupResponse_PDU,
      { "BroadcastContextSetupResponse", "f1ap.BroadcastContextSetupResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_Setup_List_PDU,
      { "BroadcastMRBs-Setup-List", "f1ap.BroadcastMRBs_Setup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_FailedToBeSetup_List_PDU,
      { "BroadcastMRBs-FailedToBeSetup-List", "f1ap.BroadcastMRBs_FailedToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastContextSetupFailure_PDU,
      { "BroadcastContextSetupFailure", "f1ap.BroadcastContextSetupFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastContextReleaseCommand_PDU,
      { "BroadcastContextReleaseCommand", "f1ap.BroadcastContextReleaseCommand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastContextReleaseComplete_PDU,
      { "BroadcastContextReleaseComplete", "f1ap.BroadcastContextReleaseComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastContextReleaseRequest_PDU,
      { "BroadcastContextReleaseRequest", "f1ap.BroadcastContextReleaseRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastContextModificationRequest_PDU,
      { "BroadcastContextModificationRequest", "f1ap.BroadcastContextModificationRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_ToBeSetupMod_List_PDU,
      { "BroadcastMRBs-ToBeSetupMod-List", "f1ap.BroadcastMRBs_ToBeSetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_ToBeModified_List_PDU,
      { "BroadcastMRBs-ToBeModified-List", "f1ap.BroadcastMRBs_ToBeModified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_ToBeReleased_List_PDU,
      { "BroadcastMRBs-ToBeReleased-List", "f1ap.BroadcastMRBs_ToBeReleased_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastContextModificationResponse_PDU,
      { "BroadcastContextModificationResponse", "f1ap.BroadcastContextModificationResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_SetupMod_List_PDU,
      { "BroadcastMRBs-SetupMod-List", "f1ap.BroadcastMRBs_SetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_FailedToBeSetupMod_List_PDU,
      { "BroadcastMRBs-FailedToBeSetupMod-List", "f1ap.BroadcastMRBs_FailedToBeSetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_Modified_List_PDU,
      { "BroadcastMRBs-Modified-List", "f1ap.BroadcastMRBs_Modified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_FailedToBeModified_List_PDU,
      { "BroadcastMRBs-FailedToBeModified-List", "f1ap.BroadcastMRBs_FailedToBeModified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastContextModificationFailure_PDU,
      { "BroadcastContextModificationFailure", "f1ap.BroadcastContextModificationFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastTransportResourceRequest_PDU,
      { "BroadcastTransportResourceRequest", "f1ap.BroadcastTransportResourceRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Broadcast_MRBs_Transport_Request_List_PDU,
      { "Broadcast-MRBs-Transport-Request-List", "f1ap.Broadcast_MRBs_Transport_Request_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastGroupPaging_PDU,
      { "MulticastGroupPaging", "f1ap.MulticastGroupPaging_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEIdentity_List_For_Paging_List_PDU,
      { "UEIdentity-List-For-Paging-List", "f1ap.UEIdentity_List_For_Paging_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MC_PagingCell_list_PDU,
      { "MC-PagingCell-list", "f1ap.MC_PagingCell_list",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastContextSetupRequest_PDU,
      { "MulticastContextSetupRequest", "f1ap.MulticastContextSetupRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_ToBeSetup_List_PDU,
      { "MulticastMRBs-ToBeSetup-List", "f1ap.MulticastMRBs_ToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastContextSetupResponse_PDU,
      { "MulticastContextSetupResponse", "f1ap.MulticastContextSetupResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_Setup_List_PDU,
      { "MulticastMRBs-Setup-List", "f1ap.MulticastMRBs_Setup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_FailedToBeSetup_List_PDU,
      { "MulticastMRBs-FailedToBeSetup-List", "f1ap.MulticastMRBs_FailedToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastContextSetupFailure_PDU,
      { "MulticastContextSetupFailure", "f1ap.MulticastContextSetupFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastContextReleaseCommand_PDU,
      { "MulticastContextReleaseCommand", "f1ap.MulticastContextReleaseCommand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastContextReleaseComplete_PDU,
      { "MulticastContextReleaseComplete", "f1ap.MulticastContextReleaseComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastContextReleaseRequest_PDU,
      { "MulticastContextReleaseRequest", "f1ap.MulticastContextReleaseRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastContextModificationRequest_PDU,
      { "MulticastContextModificationRequest", "f1ap.MulticastContextModificationRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_ToBeSetupMod_List_PDU,
      { "MulticastMRBs-ToBeSetupMod-List", "f1ap.MulticastMRBs_ToBeSetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_ToBeModified_List_PDU,
      { "MulticastMRBs-ToBeModified-List", "f1ap.MulticastMRBs_ToBeModified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_ToBeReleased_List_PDU,
      { "MulticastMRBs-ToBeReleased-List", "f1ap.MulticastMRBs_ToBeReleased_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastContextModificationResponse_PDU,
      { "MulticastContextModificationResponse", "f1ap.MulticastContextModificationResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_SetupMod_List_PDU,
      { "MulticastMRBs-SetupMod-List", "f1ap.MulticastMRBs_SetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_FailedToBeSetupMod_List_PDU,
      { "MulticastMRBs-FailedToBeSetupMod-List", "f1ap.MulticastMRBs_FailedToBeSetupMod_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_Modified_List_PDU,
      { "MulticastMRBs-Modified-List", "f1ap.MulticastMRBs_Modified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_FailedToBeModified_List_PDU,
      { "MulticastMRBs-FailedToBeModified-List", "f1ap.MulticastMRBs_FailedToBeModified_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastContextModificationFailure_PDU,
      { "MulticastContextModificationFailure", "f1ap.MulticastContextModificationFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastContextNotificationIndication_PDU,
      { "MulticastContextNotificationIndication", "f1ap.MulticastContextNotificationIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastContextNotificationConfirm_PDU,
      { "MulticastContextNotificationConfirm", "f1ap.MulticastContextNotificationConfirm_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastContextNotificationRefuse_PDU,
      { "MulticastContextNotificationRefuse", "f1ap.MulticastContextNotificationRefuse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastCommonConfigurationRequest_PDU,
      { "MulticastCommonConfigurationRequest", "f1ap.MulticastCommonConfigurationRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastCommonConfigurationResponse_PDU,
      { "MulticastCommonConfigurationResponse", "f1ap.MulticastCommonConfigurationResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastCommonConfigurationRefuse_PDU,
      { "MulticastCommonConfigurationRefuse", "f1ap.MulticastCommonConfigurationRefuse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastDistributionSetupRequest_PDU,
      { "MulticastDistributionSetupRequest", "f1ap.MulticastDistributionSetupRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastF1UContext_ToBeSetup_List_PDU,
      { "MulticastF1UContext-ToBeSetup-List", "f1ap.MulticastF1UContext_ToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastDistributionSetupResponse_PDU,
      { "MulticastDistributionSetupResponse", "f1ap.MulticastDistributionSetupResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastF1UContext_Setup_List_PDU,
      { "MulticastF1UContext-Setup-List", "f1ap.MulticastF1UContext_Setup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastF1UContext_FailedToBeSetup_List_PDU,
      { "MulticastF1UContext-FailedToBeSetup-List", "f1ap.MulticastF1UContext_FailedToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastDistributionSetupFailure_PDU,
      { "MulticastDistributionSetupFailure", "f1ap.MulticastDistributionSetupFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastDistributionReleaseCommand_PDU,
      { "MulticastDistributionReleaseCommand", "f1ap.MulticastDistributionReleaseCommand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastDistributionReleaseComplete_PDU,
      { "MulticastDistributionReleaseComplete", "f1ap.MulticastDistributionReleaseComplete_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCMeasurementInitiationRequest_PDU,
      { "PDCMeasurementInitiationRequest", "f1ap.PDCMeasurementInitiationRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCMeasurementInitiationResponse_PDU,
      { "PDCMeasurementInitiationResponse", "f1ap.PDCMeasurementInitiationResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCMeasurementInitiationFailure_PDU,
      { "PDCMeasurementInitiationFailure", "f1ap.PDCMeasurementInitiationFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCMeasurementReport_PDU,
      { "PDCMeasurementReport", "f1ap.PDCMeasurementReport_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCMeasurementTerminationCommand_PDU,
      { "PDCMeasurementTerminationCommand", "f1ap.PDCMeasurementTerminationCommand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCMeasurementFailureIndication_PDU,
      { "PDCMeasurementFailureIndication", "f1ap.PDCMeasurementFailureIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PRSConfigurationRequest_PDU,
      { "PRSConfigurationRequest", "f1ap.PRSConfigurationRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PRSConfigurationResponse_PDU,
      { "PRSConfigurationResponse", "f1ap.PRSConfigurationResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PRSConfigurationFailure_PDU,
      { "PRSConfigurationFailure", "f1ap.PRSConfigurationFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementPreconfigurationRequired_PDU,
      { "MeasurementPreconfigurationRequired", "f1ap.MeasurementPreconfigurationRequired_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementPreconfigurationConfirm_PDU,
      { "MeasurementPreconfigurationConfirm", "f1ap.MeasurementPreconfigurationConfirm_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementPreconfigurationRefuse_PDU,
      { "MeasurementPreconfigurationRefuse", "f1ap.MeasurementPreconfigurationRefuse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MeasurementActivation_PDU,
      { "MeasurementActivation", "f1ap.MeasurementActivation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_QoEInformationTransfer_PDU,
      { "QoEInformationTransfer", "f1ap.QoEInformationTransfer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PosSystemInformationDeliveryCommand_PDU,
      { "PosSystemInformationDeliveryCommand", "f1ap.PosSystemInformationDeliveryCommand_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DUCUCellSwitchNotification_PDU,
      { "DUCUCellSwitchNotification", "f1ap.DUCUCellSwitchNotification_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CUDUCellSwitchNotification_PDU,
      { "CUDUCellSwitchNotification", "f1ap.CUDUCellSwitchNotification_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DUCUTAInformationTransfer_PDU,
      { "DUCUTAInformationTransfer", "f1ap.DUCUTAInformationTransfer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CUDUTAInformationTransfer_PDU,
      { "CUDUTAInformationTransfer", "f1ap.CUDUTAInformationTransfer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_QoEInformationTransferControl_PDU,
      { "QoEInformationTransferControl", "f1ap.QoEInformationTransferControl_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RachIndication_PDU,
      { "RachIndication", "f1ap.RachIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TimingSynchronisationStatusRequest_PDU,
      { "TimingSynchronisationStatusRequest", "f1ap.TimingSynchronisationStatusRequest_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TimingSynchronisationStatusResponse_PDU,
      { "TimingSynchronisationStatusResponse", "f1ap.TimingSynchronisationStatusResponse_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TimingSynchronisationStatusFailure_PDU,
      { "TimingSynchronisationStatusFailure", "f1ap.TimingSynchronisationStatusFailure_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TimingSynchronisationStatusReport_PDU,
      { "TimingSynchronisationStatusReport", "f1ap.TimingSynchronisationStatusReport_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DUCUAccessAndMobilityIndication_PDU,
      { "DUCUAccessAndMobilityIndication", "f1ap.DUCUAccessAndMobilityIndication_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_F1AP_PDU_PDU,
      { "F1AP-PDU", "f1ap.F1AP_PDU",
        FT_UINT32, BASE_DEC, VALS(f1ap_F1AP_PDU_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_local,
      { "local", "f1ap.local",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65535", HFILL }},
    { &hf_f1ap_global,
      { "global", "f1ap.global",
        FT_OID, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ProtocolIE_Container_item,
      { "ProtocolIE-Field", "f1ap.ProtocolIE_Field_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_id,
      { "id", "f1ap.id",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &f1ap_ProtocolIE_ID_vals_ext, 0,
        "ProtocolIE_ID", HFILL }},
    { &hf_f1ap_criticality,
      { "criticality", "f1ap.criticality",
        FT_UINT32, BASE_DEC, VALS(f1ap_Criticality_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_ie_field_value,
      { "value", "f1ap.value_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_ie_field_value", HFILL }},
    { &hf_f1ap_ProtocolExtensionContainer_item,
      { "ProtocolExtensionField", "f1ap.ProtocolExtensionField_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ext_id,
      { "id", "f1ap.id",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ProtocolExtensionID", HFILL }},
    { &hf_f1ap_extensionValue,
      { "extensionValue", "f1ap.extensionValue_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PrivateIE_Container_item,
      { "PrivateIE-Field", "f1ap.PrivateIE_Field_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_private_id,
      { "id", "f1ap.id",
        FT_UINT32, BASE_DEC, VALS(f1ap_PrivateIE_ID_vals), 0,
        "PrivateIE_ID", HFILL }},
    { &hf_f1ap_value,
      { "value", "f1ap.value_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sRSResourceSetID,
      { "sRSResourceSetID", "f1ap.sRSResourceSetID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_releaseALL,
      { "releaseALL", "f1ap.releaseALL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_choice_extension,
      { "choice-extension", "f1ap.choice_extension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ProtocolIE_SingleContainer", HFILL }},
    { &hf_f1ap_latitudeSign,
      { "latitudeSign", "f1ap.latitudeSign",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_latitudeSign_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_latitude,
      { "latitude", "f1ap.latitude",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_8388607", HFILL }},
    { &hf_f1ap_longitude,
      { "longitude", "f1ap.longitude",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M8388608_8388607", HFILL }},
    { &hf_f1ap_directionOfAltitude,
      { "directionOfAltitude", "f1ap.directionOfAltitude",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_directionOfAltitude_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_altitude,
      { "altitude", "f1ap.altitude",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_32767", HFILL }},
    { &hf_f1ap_uncertaintySemi_major,
      { "uncertaintySemi-major", "f1ap.uncertaintySemi_major",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_127", HFILL }},
    { &hf_f1ap_uncertaintySemi_minor,
      { "uncertaintySemi-minor", "f1ap.uncertaintySemi_minor",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_127", HFILL }},
    { &hf_f1ap_orientationOfMajorAxis,
      { "orientationOfMajorAxis", "f1ap.orientationOfMajorAxis",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_179", HFILL }},
    { &hf_f1ap_uncertaintyAltitude,
      { "uncertaintyAltitude", "f1ap.uncertaintyAltitude",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_127", HFILL }},
    { &hf_f1ap_confidence,
      { "confidence", "f1ap.confidence",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_iE_Extensions,
      { "iE-Extensions", "f1ap.iE_Extensions",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ProtocolExtensionContainer", HFILL }},
    { &hf_f1ap_nRCGIforTargetLogicalDU,
      { "nRCGIforTargetLogicalDU", "f1ap.nRCGIforTargetLogicalDU_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_nRCGIforSourceLogicalDU,
      { "nRCGIforSourceLogicalDU", "f1ap.nRCGIforSourceLogicalDU_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_Activated_Cells_to_be_Updated_List_item,
      { "Activated-Cells-to-be-Updated-List-Item", "f1ap.Activated_Cells_to_be_Updated_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nRCGI,
      { "nRCGI", "f1ap.nRCGI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_iAB_DU_Cell_Resource_Configuration_Mode_Info,
      { "iAB-DU-Cell-Resource-Configuration-Mode-Info", "f1ap.iAB_DU_Cell_Resource_Configuration_Mode_Info",
        FT_UINT32, BASE_DEC, VALS(f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_locationAndBandwidth,
      { "locationAndBandwidth", "f1ap.locationAndBandwidth",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_37949_", HFILL }},
    { &hf_f1ap_subcarrierSpacing,
      { "subcarrierSpacing", "f1ap.subcarrierSpacing",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_subcarrierSpacing_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_cyclicPrefix,
      { "cyclicPrefix", "f1ap.cyclicPrefix",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_cyclicPrefix_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_txDirectCurrentLocation,
      { "txDirectCurrentLocation", "f1ap.txDirectCurrentLocation",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3301_", HFILL }},
    { &hf_f1ap_shift7dot5kHz,
      { "shift7dot5kHz", "f1ap.shift7dot5kHz",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_shift7dot5kHz_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sRSConfig,
      { "sRSConfig", "f1ap.sRSConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AdditionalPath_List_item,
      { "AdditionalPath-Item", "f1ap.AdditionalPath_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_relativePathDelay,
      { "relativePathDelay", "f1ap.relativePathDelay",
        FT_UINT32, BASE_DEC, VALS(f1ap_RelativePathDelay_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_pathQuality,
      { "pathQuality", "f1ap.pathQuality_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TRPMeasurementQuality", HFILL }},
    { &hf_f1ap_ExtendedAdditionalPathList_item,
      { "ExtendedAdditionalPathList-Item", "f1ap.ExtendedAdditionalPathList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_relativeTimeOfPath,
      { "relativeTimeOfPath", "f1ap.relativeTimeOfPath",
        FT_UINT32, BASE_DEC, VALS(f1ap_RelativePathDelay_vals), 0,
        "RelativePathDelay", HFILL }},
    { &hf_f1ap_multipleULAoA,
      { "multipleULAoA", "f1ap.multipleULAoA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pathPower,
      { "pathPower", "f1ap.pathPower_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UL_SRS_RSRPP", HFILL }},
    { &hf_f1ap_AdditionalPDCPDuplicationTNL_List_item,
      { "AdditionalPDCPDuplicationTNL-Item", "f1ap.AdditionalPDCPDuplicationTNL_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_additionalPDCPDuplicationUPTNLInformation,
      { "additionalPDCPDuplicationUPTNLInformation", "f1ap.additionalPDCPDuplicationUPTNLInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_UPTransportLayerInformation_vals), 0,
        "UPTransportLayerInformation", HFILL }},
    { &hf_f1ap_AdditionalSIBMessageList_item,
      { "AdditionalSIBMessageList-Item", "f1ap.AdditionalSIBMessageList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_additionalSIB,
      { "additionalSIB", "f1ap.additionalSIB",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AffectedCellsAndBeams_List_item,
      { "AffectedCellsAndBeams-Item", "f1ap.AffectedCellsAndBeams_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_affectedSSB_List,
      { "affectedSSB-List", "f1ap.affectedSSB_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_AffectedSSB_List_item,
      { "AffectedSSB-Item", "f1ap.AffectedSSB_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSB_Index,
      { "sSB-Index", "f1ap.sSB_Index",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_f1ap_AggregatedPosSRSResourceIDList_item,
      { "Aggregated-PosSRS-Resource-ID-Item", "f1ap.Aggregated_PosSRS_Resource_ID_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_positioningSRS,
      { "positioningSRS", "f1ap.positioningSRS",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SRSPosResourceID", HFILL }},
    { &hf_f1ap_AggregatedPosSRSResourceSetList_item,
      { "AggregatedPosSRSResourceSet-Item", "f1ap.AggregatedPosSRSResourceSet_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pointA,
      { "pointA", "f1ap.pointA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3279165", HFILL }},
    { &hf_f1ap_nRPCI,
      { "nRPCI", "f1ap.nRPCI",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_posSRSResourceSetID,
      { "posSRSResourceSetID", "f1ap.posSRSResourceSetID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_f1ap_AggregatedPRSResourceSetList_item,
      { "AggregatedPRSResourceSet-Item", "f1ap.AggregatedPRSResourceSet_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_dl_PRS_ResourceSet_List,
      { "dl-PRS-ResourceSet-List", "f1ap.dl_PRS_ResourceSet_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DL_PRS_ResourceSet_List_item,
      { "DL-PRS-ResourceSet-Item", "f1ap.DL_PRS_ResourceSet_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_dl_prs_ResourceSetIndex,
      { "dl-prs-ResourceSetIndex", "f1ap.dl_prs_ResourceSetIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8", HFILL }},
    { &hf_f1ap_AggressorCellList_item,
      { "AggressorCellList-Item", "f1ap.AggressorCellList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_aggressorCell_ID,
      { "aggressorCell-ID", "f1ap.aggressorCell_ID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_aggressorgNBSetID,
      { "aggressorgNBSetID", "f1ap.aggressorgNBSetID",
        FT_BYTES, BASE_NONE, NULL, 0,
        "GNBSetID", HFILL }},
    { &hf_f1ap_priorityLevel,
      { "priorityLevel", "f1ap.priorityLevel",
        FT_UINT32, BASE_DEC, VALS(f1ap_PriorityLevel_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_pre_emptionCapability,
      { "pre-emptionCapability", "f1ap.pre_emptionCapability",
        FT_UINT32, BASE_DEC, VALS(f1ap_Pre_emptionCapability_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_pre_emptionVulnerability,
      { "pre-emptionVulnerability", "f1ap.pre_emptionVulnerability",
        FT_UINT32, BASE_DEC, VALS(f1ap_Pre_emptionVulnerability_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_AlternativeQoSParaSetList_item,
      { "AlternativeQoSParaSetItem", "f1ap.AlternativeQoSParaSetItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_alternativeQoSParaSetIndex,
      { "alternativeQoSParaSetIndex", "f1ap.alternativeQoSParaSetIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "QoSParaSetIndex", HFILL }},
    { &hf_f1ap_guaranteedFlowBitRateDL,
      { "guaranteedFlowBitRateDL", "f1ap.guaranteedFlowBitRateDL",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_guaranteedFlowBitRateUL,
      { "guaranteedFlowBitRateUL", "f1ap.guaranteedFlowBitRateUL",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_packetDelayBudget,
      { "packetDelayBudget", "f1ap.packetDelayBudget",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(f1ap_PacketDelayBudget_fmt), 0,
        NULL, HFILL }},
    { &hf_f1ap_packetErrorRate,
      { "packetErrorRate", "f1ap.packetErrorRate_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_azimuthQuality,
      { "azimuthQuality", "f1ap.azimuthQuality",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_f1ap_zenithQuality,
      { "zenithQuality", "f1ap.zenithQuality",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_f1ap_resolution,
      { "resolution", "f1ap.resolution",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_resolution_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_AperiodicSRSResourceTriggerList_item,
      { "AperiodicSRSResourceTrigger", "f1ap.AperiodicSRSResourceTrigger",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sCell_ID,
      { "sCell-ID", "f1ap.sCell_ID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_AvailablePLMNList_item,
      { "AvailablePLMNList-Item", "f1ap.AvailablePLMNList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pLMNIdentity,
      { "pLMNIdentity", "f1ap.pLMNIdentity",
        FT_BYTES, BASE_NONE, NULL, 0,
        "PLMN_Identity", HFILL }},
    { &hf_f1ap_AvailableSNPN_ID_List_item,
      { "AvailableSNPN-ID-List-Item", "f1ap.AvailableSNPN_ID_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pLMN_Identity,
      { "pLMN-Identity", "f1ap.pLMN_Identity",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_availableNIDList,
      { "availableNIDList", "f1ap.availableNIDList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BroadcastNIDList", HFILL }},
    { &hf_f1ap_angleMeasurement,
      { "angleMeasurement", "f1ap.angleMeasurement",
        FT_UINT32, BASE_DEC, VALS(f1ap_AngleMeasurementType_vals), 0,
        "AngleMeasurementType", HFILL }},
    { &hf_f1ap_lCS_to_GCS_Translation,
      { "lCS-to-GCS-Translation", "f1ap.lCS_to_GCS_Translation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_expected_ULAoA,
      { "expected-ULAoA", "f1ap.expected_ULAoA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "Expected_UL_AoA", HFILL }},
    { &hf_f1ap_expected_ZoA,
      { "expected-ZoA", "f1ap.expected_ZoA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "Expected_ZoA_only", HFILL }},
    { &hf_f1ap_ARPLocationInformation_item,
      { "ARPLocationInformation-Item", "f1ap.ARPLocationInformation_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_aRP_ID,
      { "aRP-ID", "f1ap.aRP_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_aRPLocationType,
      { "aRPLocationType", "f1ap.aRPLocationType",
        FT_UINT32, BASE_DEC, VALS(f1ap_ARPLocationType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_aRPPositionRelativeGeodetic,
      { "aRPPositionRelativeGeodetic", "f1ap.aRPPositionRelativeGeodetic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RelativeGeodeticLocation", HFILL }},
    { &hf_f1ap_aRPPositionRelativeCartesian,
      { "aRPPositionRelativeCartesian", "f1ap.aRPPositionRelativeCartesian_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RelativeCartesianLocation", HFILL }},
    { &hf_f1ap_ingressBAPRoutingID,
      { "ingressBAPRoutingID", "f1ap.ingressBAPRoutingID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BAPRoutingID", HFILL }},
    { &hf_f1ap_egressBAPRoutingID,
      { "egressBAPRoutingID", "f1ap.egressBAPRoutingID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "BAPRoutingID", HFILL }},
    { &hf_f1ap_nonF1terminatingTopologyIndicator,
      { "nonF1terminatingTopologyIndicator", "f1ap.nonF1terminatingTopologyIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_NonF1terminatingTopologyIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_fR1,
      { "fR1", "f1ap.fR1",
        FT_UINT32, BASE_DEC, VALS(f1ap_FR1_Bandwidth_vals), 0,
        "FR1_Bandwidth", HFILL }},
    { &hf_f1ap_fR2,
      { "fR2", "f1ap.fR2",
        FT_UINT32, BASE_DEC, VALS(f1ap_FR2_Bandwidth_vals), 0,
        "FR2_Bandwidth", HFILL }},
    { &hf_f1ap_bAPlayerBHRLCchannelMappingInfoToAdd,
      { "bAPlayerBHRLCchannelMappingInfoToAdd", "f1ap.bAPlayerBHRLCchannelMappingInfoToAdd",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BAPlayerBHRLCchannelMappingInfoList", HFILL }},
    { &hf_f1ap_bAPlayerBHRLCchannelMappingInfoToRemove,
      { "bAPlayerBHRLCchannelMappingInfoToRemove", "f1ap.bAPlayerBHRLCchannelMappingInfoToRemove",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MappingInformationtoRemove", HFILL }},
    { &hf_f1ap_BAPlayerBHRLCchannelMappingInfoList_item,
      { "BAPlayerBHRLCchannelMappingInfo-Item", "f1ap.BAPlayerBHRLCchannelMappingInfo_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mappingInformationIndex,
      { "mappingInformationIndex", "f1ap.mappingInformationIndex",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_priorHopBAPAddress,
      { "priorHopBAPAddress", "f1ap.priorHopBAPAddress",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BAPAddress", HFILL }},
    { &hf_f1ap_ingressbHRLCChannelID,
      { "ingressbHRLCChannelID", "f1ap.ingressbHRLCChannelID",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BHRLCChannelID", HFILL }},
    { &hf_f1ap_nextHopBAPAddress,
      { "nextHopBAPAddress", "f1ap.nextHopBAPAddress",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BAPAddress", HFILL }},
    { &hf_f1ap_egressbHRLCChannelID,
      { "egressbHRLCChannelID", "f1ap.egressbHRLCChannelID",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BHRLCChannelID", HFILL }},
    { &hf_f1ap_bAPAddress,
      { "bAPAddress", "f1ap.bAPAddress",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_bAPPathID,
      { "bAPPathID", "f1ap.bAPPathID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_locationindpendent,
      { "locationindpendent", "f1ap.locationindpendent_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MBSF1UInformation", HFILL }},
    { &hf_f1ap_locationdependent,
      { "locationdependent", "f1ap.locationdependent",
        FT_UINT32, BASE_DEC, NULL, 0,
        "LocationDependentMBSF1UInformation", HFILL }},
    { &hf_f1ap_bHRLCChannelID,
      { "bHRLCChannelID", "f1ap.bHRLCChannelID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_cause,
      { "cause", "f1ap.cause",
        FT_UINT32, BASE_DEC, VALS(f1ap_Cause_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_bHQoSInformation,
      { "bHQoSInformation", "f1ap.bHQoSInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_BHQoSInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_rLCmode,
      { "rLCmode", "f1ap.rLCmode",
        FT_UINT32, BASE_DEC, VALS(f1ap_RLCMode_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_bAPCtrlPDUChannel,
      { "bAPCtrlPDUChannel", "f1ap.bAPCtrlPDUChannel",
        FT_UINT32, BASE_DEC, VALS(f1ap_BAPCtrlPDUChannel_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_trafficMappingInfo,
      { "trafficMappingInfo", "f1ap.trafficMappingInfo",
        FT_UINT32, BASE_DEC, VALS(f1ap_TrafficMappingInfo_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_bAProutingID,
      { "bAProutingID", "f1ap.bAProutingID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_egressBHRLCCHList,
      { "egressBHRLCCHList", "f1ap.egressBHRLCCHList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_bHRLCCHQoS,
      { "bHRLCCHQoS", "f1ap.bHRLCCHQoS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "QoSFlowLevelQoSParameters", HFILL }},
    { &hf_f1ap_eUTRANBHRLCCHQoS,
      { "eUTRANBHRLCCHQoS", "f1ap.eUTRANBHRLCCHQoS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "EUTRANQoS", HFILL }},
    { &hf_f1ap_cPTrafficType,
      { "cPTrafficType", "f1ap.cPTrafficType",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHRLCCHList_item,
      { "BHRLCCHItem", "f1ap.BHRLCCHItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_bAPRoutingID,
      { "bAPRoutingID", "f1ap.bAPRoutingID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BPLMN_ID_Info_List_item,
      { "BPLMN-ID-Info-Item", "f1ap.BPLMN_ID_Info_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pLMN_Identity_List,
      { "pLMN-Identity-List", "f1ap.pLMN_Identity_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "AvailablePLMNList", HFILL }},
    { &hf_f1ap_extended_PLMN_Identity_List,
      { "extended-PLMN-Identity-List", "f1ap.extended_PLMN_Identity_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ExtendedAvailablePLMN_List", HFILL }},
    { &hf_f1ap_fiveGS_TAC,
      { "fiveGS-TAC", "f1ap.fiveGS_TAC",
        FT_UINT24, BASE_DEC_HEX, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nr_cell_ID,
      { "nr-cell-ID", "f1ap.nr_cell_ID",
        FT_BYTES, BASE_NONE, NULL, 0,
        "NRCellIdentity", HFILL }},
    { &hf_f1ap_ranac,
      { "ranac", "f1ap.ranac",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ServedPLMNs_List_item,
      { "ServedPLMNs-Item", "f1ap.ServedPLMNs_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastCAGList_item,
      { "CAGID", "f1ap.CAGID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mRB_ID,
      { "mRB-ID", "f1ap.mRB_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_bcBearerCtxtF1U_TNLInfoatDU,
      { "bcBearerCtxtF1U-TNLInfoatDU", "f1ap.bcBearerCtxtF1U_TNLInfoatDU",
        FT_UINT32, BASE_DEC, VALS(f1ap_BCBearerContextF1U_TNLInfo_vals), 0,
        "BCBearerContextF1U_TNLInfo", HFILL }},
    { &hf_f1ap_mRB_QoSInformation,
      { "mRB-QoSInformation", "f1ap.mRB_QoSInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "QoSFlowLevelQoSParameters", HFILL }},
    { &hf_f1ap_mBS_Flows_Mapped_To_MRB_List,
      { "mBS-Flows-Mapped-To-MRB-List", "f1ap.mBS_Flows_Mapped_To_MRB_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_bcBearerCtxtF1U_TNLInfoatCU,
      { "bcBearerCtxtF1U-TNLInfoatCU", "f1ap.bcBearerCtxtF1U_TNLInfoatCU",
        FT_UINT32, BASE_DEC, VALS(f1ap_BCBearerContextF1U_TNLInfo_vals), 0,
        "BCBearerContextF1U_TNLInfo", HFILL }},
    { &hf_f1ap_BroadcastNIDList_item,
      { "NID", "f1ap.NID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastSNPN_ID_List_item,
      { "BroadcastSNPN-ID-List-Item", "f1ap.BroadcastSNPN_ID_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_broadcastNIDList,
      { "broadcastNIDList", "f1ap.broadcastNIDList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastPNI_NPN_ID_List_item,
      { "BroadcastPNI-NPN-ID-List-Item", "f1ap.BroadcastPNI_NPN_ID_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_broadcastCAGList,
      { "broadcastCAGList", "f1ap.broadcastCAGList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_completeSuccess,
      { "completeSuccess", "f1ap.completeSuccess_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_partialSuccess,
      { "partialSuccess", "f1ap.partialSuccess_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PartialSuccessCell", HFILL }},
    { &hf_f1ap_BroadcastCellList_item,
      { "Broadcast-Cell-List-Item", "f1ap.Broadcast_Cell_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_cellID,
      { "cellID", "f1ap.cellID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_burstArrivalTimeWindowStart,
      { "burstArrivalTimeWindowStart", "f1ap.burstArrivalTimeWindowStart",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_640000_", HFILL }},
    { &hf_f1ap_burstArrivalTimeWindowEnd,
      { "burstArrivalTimeWindowEnd", "f1ap.burstArrivalTimeWindowEnd",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_640000_", HFILL }},
    { &hf_f1ap_iE_Extension,
      { "iE-Extension", "f1ap.iE_Extension",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ProtocolExtensionContainer", HFILL }},
    { &hf_f1ap_candidate_SpCell_ID,
      { "candidate-SpCell-ID", "f1ap.candidate_SpCell_ID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_capacityValue,
      { "capacityValue", "f1ap.capacityValue",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_sSBAreaCapacityValueList,
      { "sSBAreaCapacityValueList", "f1ap.sSBAreaCapacityValueList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_radioNetwork,
      { "radioNetwork", "f1ap.radioNetwork",
        FT_UINT32, BASE_DEC, VALS(f1ap_CauseRadioNetwork_vals), 0,
        "CauseRadioNetwork", HFILL }},
    { &hf_f1ap_transport,
      { "transport", "f1ap.transport",
        FT_UINT32, BASE_DEC, VALS(f1ap_CauseTransport_vals), 0,
        "CauseTransport", HFILL }},
    { &hf_f1ap_protocol,
      { "protocol", "f1ap.protocol",
        FT_UINT32, BASE_DEC, VALS(f1ap_CauseProtocol_vals), 0,
        "CauseProtocol", HFILL }},
    { &hf_f1ap_misc,
      { "misc", "f1ap.misc",
        FT_UINT32, BASE_DEC, VALS(f1ap_CauseMisc_vals), 0,
        "CauseMisc", HFILL }},
    { &hf_f1ap_CellMeasurementResultList_item,
      { "CellMeasurementResultItem", "f1ap.CellMeasurementResultItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_radioResourceStatus,
      { "radioResourceStatus", "f1ap.radioResourceStatus_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_compositeAvailableCapacityGroup,
      { "compositeAvailableCapacityGroup", "f1ap.compositeAvailableCapacityGroup_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sliceAvailableCapacity,
      { "sliceAvailableCapacity", "f1ap.sliceAvailableCapacity_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_numberofActiveUEs,
      { "numberofActiveUEs", "f1ap.numberofActiveUEs",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CellsForSON_List_item,
      { "CellsForSON-Item", "f1ap.CellsForSON_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_neighbourNR_CellsForSON_List,
      { "neighbourNR-CellsForSON-List", "f1ap.neighbourNR_CellsForSON_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_service_status,
      { "service-status", "f1ap.service_status_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_numberOfBroadcasts,
      { "numberOfBroadcasts", "f1ap.numberOfBroadcasts",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_With_SSBs_Activated_List_item,
      { "Cells-With-SSBs-Activated-List-Item", "f1ap.Cells_With_SSBs_Activated_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSBs_activated_List,
      { "sSBs-activated-List", "f1ap.sSBs_activated_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_cellBarred,
      { "cellBarred", "f1ap.cellBarred",
        FT_UINT32, BASE_DEC, VALS(f1ap_CellBarred_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_CellToReportList_item,
      { "CellToReportItem", "f1ap.CellToReportItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSBToReportList,
      { "sSBToReportList", "f1ap.sSBToReportList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sliceToReportList,
      { "sliceToReportList", "f1ap.sliceToReportList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_cellSize,
      { "cellSize", "f1ap.cellSize",
        FT_UINT32, BASE_DEC, VALS(f1ap_CellSize_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_gNB_CU_UE_F1AP_ID,
      { "gNB-CU-UE-F1AP-ID", "f1ap.gNB_CU_UE_F1AP_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_gNB_DU_UE_F1AP_ID,
      { "gNB-DU-UE-F1AP-ID", "f1ap.gNB_DU_UE_F1AP_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Child_IAB_Nodes_NA_Resource_List_item,
      { "Child-IAB-Nodes-NA-Resource-List-Item", "f1ap.Child_IAB_Nodes_NA_Resource_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nA_Resource_Configuration_List,
      { "nA-Resource-Configuration-List", "f1ap.nA_Resource_Configuration_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Child_Node_Cells_List_item,
      { "Child-Node-Cells-List-Item", "f1ap.Child_Node_Cells_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_iAB_STC_Info,
      { "iAB-STC-Info", "f1ap.iAB_STC_Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_rACH_Config_Common,
      { "rACH-Config-Common", "f1ap.rACH_Config_Common",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_rACH_Config_Common_IAB,
      { "rACH-Config-Common-IAB", "f1ap.rACH_Config_Common_IAB",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_cSI_RS_Configuration,
      { "cSI-RS-Configuration", "f1ap.cSI_RS_Configuration",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sR_Configuration,
      { "sR-Configuration", "f1ap.sR_Configuration",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pDCCH_ConfigSIB1,
      { "pDCCH-ConfigSIB1", "f1ap.pDCCH_ConfigSIB1",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sCS_Common,
      { "sCS-Common", "f1ap.sCS_Common",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_multiplexingInfo,
      { "multiplexingInfo", "f1ap.multiplexingInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Child_Nodes_List_item,
      { "Child-Nodes-List-Item", "f1ap.Child_Nodes_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_child_Node_Cells_List,
      { "child-Node-Cells-List", "f1ap.child_Node_Cells_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_fiveG_S_TMSI,
      { "fiveG-S-TMSI", "f1ap.fiveG_S_TMSI",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_48", HFILL }},
    { &hf_f1ap_compositeAvailableCapacityDownlink,
      { "compositeAvailableCapacityDownlink", "f1ap.compositeAvailableCapacityDownlink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CompositeAvailableCapacity", HFILL }},
    { &hf_f1ap_compositeAvailableCapacityUplink,
      { "compositeAvailableCapacityUplink", "f1ap.compositeAvailableCapacityUplink_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CompositeAvailableCapacity", HFILL }},
    { &hf_f1ap_cellCapacityClassValue,
      { "cellCapacityClassValue", "f1ap.cellCapacityClassValue",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_capacityValue_01,
      { "capacityValue", "f1ap.capacityValue_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_cho_trigger,
      { "cho-trigger", "f1ap.cho_trigger",
        FT_UINT32, BASE_DEC, VALS(f1ap_CHOtrigger_InterDU_vals), 0,
        "CHOtrigger_InterDU", HFILL }},
    { &hf_f1ap_targetgNB_DUUEF1APID,
      { "targetgNB-DUUEF1APID", "f1ap.targetgNB_DUUEF1APID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "GNB_DU_UE_F1AP_ID", HFILL }},
    { &hf_f1ap_cho_trigger_01,
      { "cho-trigger", "f1ap.cho_trigger",
        FT_UINT32, BASE_DEC, VALS(f1ap_CHOtrigger_IntraDU_vals), 0,
        "CHOtrigger_IntraDU", HFILL }},
    { &hf_f1ap_targetCellsTocancel,
      { "targetCellsTocancel", "f1ap.targetCellsTocancel",
        FT_UINT32, BASE_DEC, NULL, 0,
        "TargetCellList", HFILL }},
    { &hf_f1ap_Configured_BWP_List_item,
      { "Configured-BWP-Item", "f1ap.Configured_BWP_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_bWP_Id,
      { "bWP-Id", "f1ap.bWP_Id",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_bWP_Location_and_bandwidth,
      { "bWP-Location-and-bandwidth", "f1ap.bWP_Location_and_bandwidth",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_37949", HFILL }},
    { &hf_f1ap_coverage_Modification_List,
      { "coverage-Modification-List", "f1ap.coverage_Modification_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Coverage_Modification_List_item,
      { "Coverage-Modification-Item", "f1ap.Coverage_Modification_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_cellCoverageState,
      { "cellCoverageState", "f1ap.cellCoverageState",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSBCoverageModificationList,
      { "sSBCoverageModificationList", "f1ap.sSBCoverageModificationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SSBCoverageModification_List", HFILL }},
    { &hf_f1ap_cCO_issue_detection,
      { "cCO-issue-detection", "f1ap.cCO_issue_detection",
        FT_UINT32, BASE_DEC, VALS(f1ap_CCO_issue_detection_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_affectedCellsAndBeams_List,
      { "affectedCellsAndBeams-List", "f1ap.affectedCellsAndBeams_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_endpoint_IP_address,
      { "endpoint-IP-address", "f1ap.endpoint_IP_address",
        FT_BYTES, BASE_NONE, NULL, 0,
        "TransportLayerAddress", HFILL }},
    { &hf_f1ap_endpoint_IP_address_and_port,
      { "endpoint-IP-address-and-port", "f1ap.endpoint_IP_address_and_port_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_cpac_trigger,
      { "cpac-trigger", "f1ap.cpac_trigger",
        FT_UINT32, BASE_DEC, VALS(f1ap_CPAC_trigger_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_pscellid,
      { "pscellid", "f1ap.pscellid_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_procedureCode,
      { "procedureCode", "f1ap.procedureCode",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &f1ap_ProcedureCode_vals_ext, 0,
        NULL, HFILL }},
    { &hf_f1ap_triggeringMessage,
      { "triggeringMessage", "f1ap.triggeringMessage",
        FT_UINT32, BASE_DEC, VALS(f1ap_TriggeringMessage_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_procedureCriticality,
      { "procedureCriticality", "f1ap.procedureCriticality",
        FT_UINT32, BASE_DEC, VALS(f1ap_Criticality_vals), 0,
        "Criticality", HFILL }},
    { &hf_f1ap_transactionID,
      { "transactionID", "f1ap.transactionID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_iEsCriticalityDiagnostics,
      { "iEsCriticalityDiagnostics", "f1ap.iEsCriticalityDiagnostics",
        FT_UINT32, BASE_DEC, NULL, 0,
        "CriticalityDiagnostics_IE_List", HFILL }},
    { &hf_f1ap_CriticalityDiagnostics_IE_List_item,
      { "CriticalityDiagnostics-IE-Item", "f1ap.CriticalityDiagnostics_IE_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_iECriticality,
      { "iECriticality", "f1ap.iECriticality",
        FT_UINT32, BASE_DEC, VALS(f1ap_Criticality_vals), 0,
        "Criticality", HFILL }},
    { &hf_f1ap_iE_ID,
      { "iE-ID", "f1ap.iE_ID",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &f1ap_ProtocolIE_ID_vals_ext, 0,
        "ProtocolIE_ID", HFILL }},
    { &hf_f1ap_typeOfError,
      { "typeOfError", "f1ap.typeOfError",
        FT_UINT32, BASE_DEC, VALS(f1ap_TypeOfError_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_rIM,
      { "rIM", "f1ap.rIM_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "CUDURIMInformation", HFILL }},
    { &hf_f1ap_victimgNBSetID,
      { "victimgNBSetID", "f1ap.victimgNBSetID",
        FT_BYTES, BASE_NONE, NULL, 0,
        "GNBSetID", HFILL }},
    { &hf_f1ap_rIMRSDetectionStatus,
      { "rIMRSDetectionStatus", "f1ap.rIMRSDetectionStatus",
        FT_UINT32, BASE_DEC, VALS(f1ap_RIMRSDetectionStatus_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_cG_ConfigInfo,
      { "cG-ConfigInfo", "f1ap.cG_ConfigInfo",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uE_CapabilityRAT_ContainerList,
      { "uE-CapabilityRAT-ContainerList", "f1ap.uE_CapabilityRAT_ContainerList",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_measConfig,
      { "measConfig", "f1ap.measConfig",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_CUtoDUTAInformation_List_item,
      { "CUtoDUTAInformation-Item", "f1ap.CUtoDUTAInformation_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tAValue,
      { "tAValue", "f1ap.tAValue",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_preambleIndex,
      { "preambleIndex", "f1ap.preambleIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_rA_RNTI,
      { "rA-RNTI", "f1ap.rA_RNTI",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tagIDPointer,
      { "tagIDPointer", "f1ap.tagIDPointer",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_cSIResourceConfigToAddModList,
      { "cSIResourceConfigToAddModList", "f1ap.cSIResourceConfigToAddModList",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_cSIResourceConfigToReleaseList,
      { "cSIResourceConfigToReleaseList", "f1ap.cSIResourceConfigToReleaseList",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_perUE,
      { "perUE", "f1ap.perUE",
        FT_UINT32, BASE_DEC, NULL, 0,
        "DeactivationIndicationList", HFILL }},
    { &hf_f1ap_deactivateAll,
      { "deactivateAll", "f1ap.deactivateAll_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DeactivationIndicationList_item,
      { "DeactivationIndicationList-Item", "f1ap.DeactivationIndicationList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_prsid,
      { "prsid", "f1ap.prsid",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_f1ap_dl_PRSResourceSetID,
      { "dl-PRSResourceSetID", "f1ap.dl_PRSResourceSetID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PRS_Resource_Set_ID", HFILL }},
    { &hf_f1ap_dl_PRSResourceID,
      { "dl-PRSResourceID", "f1ap.dl_PRSResourceID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PRS_Resource_ID", HFILL }},
    { &hf_f1ap_two,
      { "two", "f1ap.two",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_2", HFILL }},
    { &hf_f1ap_four,
      { "four", "f1ap.four",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_f1ap_six,
      { "six", "f1ap.six",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_6", HFILL }},
    { &hf_f1ap_eight,
      { "eight", "f1ap.eight",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_f1ap_sixteen,
      { "sixteen", "f1ap.sixteen",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_f1ap_thirty_two,
      { "thirty-two", "f1ap.thirty_two",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_32", HFILL }},
    { &hf_f1ap_listofDL_PRSResourceSetARP,
      { "listofDL-PRSResourceSetARP", "f1ap.listofDL_PRSResourceSetARP",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxnoofPRS_ResourceSets_OF_DLPRSResourceSetARP", HFILL }},
    { &hf_f1ap_listofDL_PRSResourceSetARP_item,
      { "DLPRSResourceSetARP", "f1ap.DLPRSResourceSetARP_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_dL_PRSResourceSetARPLocation,
      { "dL-PRSResourceSetARPLocation", "f1ap.dL_PRSResourceSetARPLocation",
        FT_UINT32, BASE_DEC, VALS(f1ap_DL_PRSResourceSetARPLocation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_listofDL_PRSResourceARP,
      { "listofDL-PRSResourceARP", "f1ap.listofDL_PRSResourceARP",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceARP", HFILL }},
    { &hf_f1ap_listofDL_PRSResourceARP_item,
      { "DLPRSResourceARP", "f1ap.DLPRSResourceARP_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_relativeGeodeticLocation,
      { "relativeGeodeticLocation", "f1ap.relativeGeodeticLocation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_relativeCartesianLocation,
      { "relativeCartesianLocation", "f1ap.relativeCartesianLocation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_choice_Extension,
      { "choice-Extension", "f1ap.choice_Extension_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ProtocolIE_SingleContainer", HFILL }},
    { &hf_f1ap_dL_PRSResourceARPLocation,
      { "dL-PRSResourceARPLocation", "f1ap.dL_PRSResourceARPLocation",
        FT_UINT32, BASE_DEC, VALS(f1ap_DL_PRSResourceARPLocation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_oldIPAdress,
      { "oldIPAdress", "f1ap.oldIPAdress",
        FT_BYTES, BASE_NONE, NULL, 0,
        "TransportLayerAddress", HFILL }},
    { &hf_f1ap_newIPAdress,
      { "newIPAdress", "f1ap.newIPAdress",
        FT_BYTES, BASE_NONE, NULL, 0,
        "TransportLayerAddress", HFILL }},
    { &hf_f1ap_DLUPTNLInformation_ToBeSetup_List_item,
      { "DLUPTNLInformation-ToBeSetup-Item", "f1ap.DLUPTNLInformation_ToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_dLUPTNLInformation,
      { "dLUPTNLInformation", "f1ap.dLUPTNLInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_UPTransportLayerInformation_vals), 0,
        "UPTransportLayerInformation", HFILL }},
    { &hf_f1ap_dRBID,
      { "dRBID", "f1ap.dRBID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_dRB_Activity,
      { "dRB-Activity", "f1ap.dRB_Activity",
        FT_UINT32, BASE_DEC, VALS(f1ap_DRB_Activity_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_dRB_QoS,
      { "dRB-QoS", "f1ap.dRB_QoS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "QoSFlowLevelQoSParameters", HFILL }},
    { &hf_f1ap_sNSSAI,
      { "sNSSAI", "f1ap.sNSSAI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_notificationControl,
      { "notificationControl", "f1ap.notificationControl",
        FT_UINT32, BASE_DEC, VALS(f1ap_NotificationControl_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_flows_Mapped_To_DRB_List,
      { "flows-Mapped-To-DRB-List", "f1ap.flows_Mapped_To_DRB_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_lCID,
      { "lCID", "f1ap.lCID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_dLUPTNLInformation_ToBeSetup_List,
      { "dLUPTNLInformation-ToBeSetup-List", "f1ap.dLUPTNLInformation_ToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uLUPTNLInformation_ToBeSetup_List,
      { "uLUPTNLInformation-ToBeSetup-List", "f1ap.uLUPTNLInformation_ToBeSetup_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_notification_Cause,
      { "notification-Cause", "f1ap.notification_Cause",
        FT_UINT32, BASE_DEC, VALS(f1ap_Notification_Cause_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_qoSInformation,
      { "qoSInformation", "f1ap.qoSInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_QoSInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_uLConfiguration,
      { "uLConfiguration", "f1ap.uLConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_rLCMode,
      { "rLCMode", "f1ap.rLCMode",
        FT_UINT32, BASE_DEC, VALS(f1ap_RLCMode_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_duplicationActivation,
      { "duplicationActivation", "f1ap.duplicationActivation",
        FT_UINT32, BASE_DEC, VALS(f1ap_DuplicationActivation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_DRB_List_item,
      { "DRB-List-Item", "f1ap.DRB_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_longDRXCycleLength,
      { "longDRXCycleLength", "f1ap.longDRXCycleLength",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &f1ap_LongDRXCycleLength_vals_ext, 0,
        NULL, HFILL }},
    { &hf_f1ap_shortDRXCycleLength,
      { "shortDRXCycleLength", "f1ap.shortDRXCycleLength",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &f1ap_ShortDRXCycleLength_vals_ext, 0,
        NULL, HFILL }},
    { &hf_f1ap_shortDRXCycleTimer,
      { "shortDRXCycleTimer", "f1ap.shortDRXCycleTimer",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_longNonIntegerDRXCycleLength,
      { "longNonIntegerDRXCycleLength", "f1ap.longNonIntegerDRXCycleLength",
        FT_UINT32, BASE_DEC, VALS(f1ap_LongNonIntegerDRXCycleLength_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_shortNonIntegerDRXCycleLength,
      { "shortNonIntegerDRXCycleLength", "f1ap.shortNonIntegerDRXCycleLength",
        FT_UINT32, BASE_DEC, VALS(f1ap_ShortNonIntegerDRXCycleLength_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_DSInformationList_item,
      { "DSCP", "f1ap.DSCP",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_rIM_01,
      { "rIM", "f1ap.rIM_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DUCURIMInformation", HFILL }},
    { &hf_f1ap_aggressorCellList,
      { "aggressorCellList", "f1ap.aggressorCellList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_explicitFormat,
      { "explicitFormat", "f1ap.explicitFormat_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_implicitFormat,
      { "implicitFormat", "f1ap.implicitFormat_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DUF_Slot_Config_List_item,
      { "DUF-Slot-Config-Item", "f1ap.DUF_Slot_Config_Item",
        FT_UINT32, BASE_DEC, VALS(f1ap_DUF_Slot_Config_Item_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_cellGroupConfig,
      { "cellGroupConfig", "f1ap.cellGroupConfig",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_measGapConfig,
      { "measGapConfig", "f1ap.measGapConfig",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_requestedP_MaxFR1,
      { "requestedP-MaxFR1", "f1ap.requestedP_MaxFR1",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DUtoCUTAInformation_List_item,
      { "DUtoCUTAInformation-Item", "f1ap.DUtoCUTAInformation_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sourceGNB_DU_ID,
      { "sourceGNB-DU-ID", "f1ap.sourceGNB_DU_ID",
        FT_UINT64, BASE_DEC, NULL, 0,
        "GNB_DU_ID", HFILL }},
    { &hf_f1ap_qoSPriorityLevel,
      { "qoSPriorityLevel", "f1ap.qoSPriorityLevel",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_127", HFILL }},
    { &hf_f1ap_fiveQI,
      { "fiveQI", "f1ap.fiveQI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255_", HFILL }},
    { &hf_f1ap_delayCritical,
      { "delayCritical", "f1ap.delayCritical",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_delayCritical_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_averagingWindow,
      { "averagingWindow", "f1ap.averagingWindow",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_milliseconds), 0,
        NULL, HFILL }},
    { &hf_f1ap_maxDataBurstVolume,
      { "maxDataBurstVolume", "f1ap.maxDataBurstVolume",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_resourceType,
      { "resourceType", "f1ap.resourceType",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_resourceType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_qoSPriorityLevel_01,
      { "qoSPriorityLevel", "f1ap.qoSPriorityLevel",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_8_", HFILL }},
    { &hf_f1ap_DLLBTFailureInformationList_item,
      { "DLLBTFailureInformationList-Item", "f1ap.DLLBTFailureInformationList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uEAssistantIdentifier,
      { "uEAssistantIdentifier", "f1ap.uEAssistantIdentifier",
        FT_UINT32, BASE_DEC, NULL, 0,
        "GNB_CU_UE_F1AP_ID", HFILL }},
    { &hf_f1ap_numberOfDLLBTFailures,
      { "numberOfDLLBTFailures", "f1ap.numberOfDLLBTFailures",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_1000_", HFILL }},
    { &hf_f1ap_rACH,
      { "rACH", "f1ap.rACH",
        FT_BYTES, BASE_NONE, NULL, 0,
        "RACHConfiguration", HFILL }},
    { &hf_f1ap_lTMgNB_DU_IDs_PreambleIndexList,
      { "lTMgNB-DU-IDs-PreambleIndexList", "f1ap.lTMgNB_DU_IDs_PreambleIndexList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_requestforRACHConfiguration,
      { "requestforRACHConfiguration", "f1ap.requestforRACHConfiguration",
        FT_UINT32, BASE_DEC, VALS(f1ap_RequestforRACHConfiguration_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_lTMgNB_DU_IDsList,
      { "lTMgNB-DU-IDsList", "f1ap.lTMgNB_DU_IDsList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tCIStatesConfigurationsList,
      { "tCIStatesConfigurationsList", "f1ap.tCIStatesConfigurationsList",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_earlyULSyncConfig,
      { "earlyULSyncConfig", "f1ap.earlyULSyncConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_earlyULSyncConfigSUL,
      { "earlyULSyncConfigSUL", "f1ap.earlyULSyncConfigSUL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "EarlyULSyncConfig", HFILL }},
    { &hf_f1ap_EarlySyncCandidateCellInformation_List_item,
      { "EarlySyncCandidateCellInformation-Item", "f1ap.EarlySyncCandidateCellInformation_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tAAssistanceInfo,
      { "tAAssistanceInfo", "f1ap.tAAssistanceInfo",
        FT_UINT32, BASE_DEC, VALS(f1ap_TAAssistanceInfo_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_uEbasedTAmeasurementConfig,
      { "uEbasedTAmeasurementConfig", "f1ap.uEbasedTAmeasurementConfig",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_f1ap_E_CID_MeasurementQuantities_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_e_CIDmeasurementQuantitiesValue,
      { "e-CIDmeasurementQuantitiesValue", "f1ap.e_CIDmeasurementQuantitiesValue",
        FT_UINT32, BASE_DEC, VALS(f1ap_E_CID_MeasurementQuantitiesValue_vals), 0,
        "E_CID_MeasurementQuantitiesValue", HFILL }},
    { &hf_f1ap_geographicalCoordinates,
      { "geographicalCoordinates", "f1ap.geographicalCoordinates_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_measuredResults_List,
      { "measuredResults-List", "f1ap.measuredResults_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "E_CID_MeasuredResults_List", HFILL }},
    { &hf_f1ap_E_CID_MeasuredResults_List_item,
      { "E-CID-MeasuredResults-Item", "f1ap.E_CID_MeasuredResults_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_e_CID_MeasuredResults_Value,
      { "e-CID-MeasuredResults-Value", "f1ap.e_CID_MeasuredResults_Value",
        FT_UINT32, BASE_DEC, VALS(f1ap_E_CID_MeasuredResults_Value_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_valueAngleofArrivalNR,
      { "valueAngleofArrivalNR", "f1ap.valueAngleofArrivalNR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UL_AoA", HFILL }},
    { &hf_f1ap_E_CID_MeasuredResultsAssociatedInfoList_item,
      { "E-CID-MeasuredResultsAssociatedInfoItem", "f1ap.E_CID_MeasuredResultsAssociatedInfoItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_timeStamp,
      { "timeStamp", "f1ap.timeStamp_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_measurementQuality,
      { "measurementQuality", "f1ap.measurementQuality_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TRPMeasurementQuality", HFILL }},
    { &hf_f1ap_EgressBHRLCCHList_item,
      { "EgressBHRLCCHItem", "f1ap.EgressBHRLCCHItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_endpointIPAddress,
      { "endpointIPAddress", "f1ap.endpointIPAddress",
        FT_BYTES, BASE_NONE, NULL, 0,
        "TransportLayerAddress", HFILL }},
    { &hf_f1ap_ExtendedAvailablePLMN_List_item,
      { "ExtendedAvailablePLMN-Item", "f1ap.ExtendedAvailablePLMN_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_permutation,
      { "permutation", "f1ap.permutation",
        FT_UINT32, BASE_DEC, VALS(f1ap_Permutation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_noofDownlinkSymbols,
      { "noofDownlinkSymbols", "f1ap.noofDownlinkSymbols",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_noofUplinkSymbols,
      { "noofUplinkSymbols", "f1ap.noofUplinkSymbols",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ExtendedServedPLMNs_List_item,
      { "ExtendedServedPLMNs-Item", "f1ap.ExtendedServedPLMNs_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tAISliceSupportList,
      { "tAISliceSupportList", "f1ap.tAISliceSupportList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SliceSupportList", HFILL }},
    { &hf_f1ap_ExtendedSliceSupportList_item,
      { "SliceSupportItem", "f1ap.SliceSupportItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_EUTRACells_List_item,
      { "EUTRACells-List-item", "f1ap.EUTRACells_List_item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_eUTRA_Cell_ID,
      { "eUTRA-Cell-ID", "f1ap.eUTRA_Cell_ID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_served_EUTRA_Cells_Information,
      { "served-EUTRA-Cells-Information", "f1ap.served_EUTRA_Cells_Information_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uL_EARFCN,
      { "uL-EARFCN", "f1ap.uL_EARFCN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ExtendedEARFCN", HFILL }},
    { &hf_f1ap_dL_EARFCN,
      { "dL-EARFCN", "f1ap.dL_EARFCN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ExtendedEARFCN", HFILL }},
    { &hf_f1ap_uL_Transmission_Bandwidth,
      { "uL-Transmission-Bandwidth", "f1ap.uL_Transmission_Bandwidth",
        FT_UINT32, BASE_DEC, VALS(f1ap_EUTRA_Transmission_Bandwidth_vals), 0,
        "EUTRA_Transmission_Bandwidth", HFILL }},
    { &hf_f1ap_dL_Transmission_Bandwidth,
      { "dL-Transmission-Bandwidth", "f1ap.dL_Transmission_Bandwidth",
        FT_UINT32, BASE_DEC, VALS(f1ap_EUTRA_Transmission_Bandwidth_vals), 0,
        "EUTRA_Transmission_Bandwidth", HFILL }},
    { &hf_f1ap_fDD,
      { "fDD", "f1ap.fDD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "EUTRA_Coex_FDD_Info", HFILL }},
    { &hf_f1ap_tDD,
      { "tDD", "f1ap.tDD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "EUTRA_Coex_TDD_Info", HFILL }},
    { &hf_f1ap_eARFCN,
      { "eARFCN", "f1ap.eARFCN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ExtendedEARFCN", HFILL }},
    { &hf_f1ap_transmission_Bandwidth,
      { "transmission-Bandwidth", "f1ap.transmission_Bandwidth",
        FT_UINT32, BASE_DEC, VALS(f1ap_EUTRA_Transmission_Bandwidth_vals), 0,
        "EUTRA_Transmission_Bandwidth", HFILL }},
    { &hf_f1ap_subframeAssignment,
      { "subframeAssignment", "f1ap.subframeAssignment",
        FT_UINT32, BASE_DEC, VALS(f1ap_EUTRA_SubframeAssignment_vals), 0,
        "EUTRA_SubframeAssignment", HFILL }},
    { &hf_f1ap_specialSubframe_Info,
      { "specialSubframe-Info", "f1ap.specialSubframe_Info_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "EUTRA_SpecialSubframe_Info", HFILL }},
    { &hf_f1ap_rootSequenceIndex,
      { "rootSequenceIndex", "f1ap.rootSequenceIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_837", HFILL }},
    { &hf_f1ap_zeroCorrelationIndex,
      { "zeroCorrelationIndex", "f1ap.zeroCorrelationIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_f1ap_highSpeedFlag,
      { "highSpeedFlag", "f1ap.highSpeedFlag",
        FT_BOOLEAN, BASE_NONE, NULL, 0,
        "BOOLEAN", HFILL }},
    { &hf_f1ap_prach_FreqOffset,
      { "prach-FreqOffset", "f1ap.prach_FreqOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_94", HFILL }},
    { &hf_f1ap_prach_ConfigIndex,
      { "prach-ConfigIndex", "f1ap.prach_ConfigIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_f1ap_specialSubframePatterns,
      { "specialSubframePatterns", "f1ap.specialSubframePatterns",
        FT_UINT32, BASE_DEC, VALS(f1ap_EUTRA_SpecialSubframePatterns_vals), 0,
        "EUTRA_SpecialSubframePatterns", HFILL }},
    { &hf_f1ap_cyclicPrefixDL,
      { "cyclicPrefixDL", "f1ap.cyclicPrefixDL",
        FT_UINT32, BASE_DEC, VALS(f1ap_EUTRA_CyclicPrefixDL_vals), 0,
        "EUTRA_CyclicPrefixDL", HFILL }},
    { &hf_f1ap_cyclicPrefixUL,
      { "cyclicPrefixUL", "f1ap.cyclicPrefixUL",
        FT_UINT32, BASE_DEC, VALS(f1ap_EUTRA_CyclicPrefixUL_vals), 0,
        "EUTRA_CyclicPrefixUL", HFILL }},
    { &hf_f1ap_qCI,
      { "qCI", "f1ap.qCI",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_allocationAndRetentionPriority,
      { "allocationAndRetentionPriority", "f1ap.allocationAndRetentionPriority_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_gbrQosInformation,
      { "gbrQosInformation", "f1ap.gbrQosInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GBR_QosInformation", HFILL }},
    { &hf_f1ap_eUTRAFDD,
      { "eUTRAFDD", "f1ap.eUTRAFDD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "EUTRA_FDD_Info", HFILL }},
    { &hf_f1ap_eUTRATDD,
      { "eUTRATDD", "f1ap.eUTRATDD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "EUTRA_TDD_Info", HFILL }},
    { &hf_f1ap_uL_offsetToPointA,
      { "uL-offsetToPointA", "f1ap.uL_offsetToPointA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "OffsetToPointA", HFILL }},
    { &hf_f1ap_dL_offsetToPointA,
      { "dL-offsetToPointA", "f1ap.dL_offsetToPointA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "OffsetToPointA", HFILL }},
    { &hf_f1ap_offsetToPointA,
      { "offsetToPointA", "f1ap.offsetToPointA",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_expected_Azimuth_AoA,
      { "expected-Azimuth-AoA", "f1ap.expected_Azimuth_AoA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_expected_Zenith_AoA,
      { "expected-Zenith-AoA", "f1ap.expected_Zenith_AoA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_iE_extensions,
      { "iE-extensions", "f1ap.iE_extensions",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ProtocolExtensionContainer", HFILL }},
    { &hf_f1ap_expected_ZoA_only,
      { "expected-ZoA-only", "f1ap.expected_ZoA_only_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "Expected_Zenith_AoA", HFILL }},
    { &hf_f1ap_expected_Azimuth_AoA_value,
      { "expected-Azimuth-AoA-value", "f1ap.expected_Azimuth_AoA_value",
        FT_UINT32, BASE_DEC, NULL, 0,
        "Expected_Value_AoA", HFILL }},
    { &hf_f1ap_expected_Azimuth_AoA_uncertainty,
      { "expected-Azimuth-AoA-uncertainty", "f1ap.expected_Azimuth_AoA_uncertainty",
        FT_UINT32, BASE_DEC, NULL, 0,
        "Uncertainty_range_AoA", HFILL }},
    { &hf_f1ap_expected_Zenith_AoA_value,
      { "expected-Zenith-AoA-value", "f1ap.expected_Zenith_AoA_value",
        FT_UINT32, BASE_DEC, NULL, 0,
        "Expected_Value_ZoA", HFILL }},
    { &hf_f1ap_expected_Zenith_AoA_uncertainty,
      { "expected-Zenith-AoA-uncertainty", "f1ap.expected_Zenith_AoA_uncertainty",
        FT_UINT32, BASE_DEC, NULL, 0,
        "Uncertainty_range_ZoA", HFILL }},
    { &hf_f1ap_ecnMarking,
      { "ecnMarking", "f1ap.ecnMarking",
        FT_UINT32, BASE_DEC, VALS(f1ap_ECNmarkingRequest_vals), 0,
        "ECNmarkingRequest", HFILL }},
    { &hf_f1ap_congestionInformation,
      { "congestionInformation", "f1ap.congestionInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_CongestionInformationRequest_vals), 0,
        "CongestionInformationRequest", HFILL }},
    { &hf_f1ap_f1CPathNSA,
      { "f1CPathNSA", "f1ap.f1CPathNSA",
        FT_UINT32, BASE_DEC, VALS(f1ap_F1CPathNSA_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_f1CPathNRDC,
      { "f1CPathNRDC", "f1ap.f1CPathNRDC",
        FT_UINT32, BASE_DEC, VALS(f1ap_F1CPathNRDC_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_uL_NRFreqInfo,
      { "uL-NRFreqInfo", "f1ap.uL_NRFreqInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRFreqInfo", HFILL }},
    { &hf_f1ap_dL_NRFreqInfo,
      { "dL-NRFreqInfo", "f1ap.dL_NRFreqInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRFreqInfo", HFILL }},
    { &hf_f1ap_uL_Transmission_Bandwidth_01,
      { "uL-Transmission-Bandwidth", "f1ap.uL_Transmission_Bandwidth_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "Transmission_Bandwidth", HFILL }},
    { &hf_f1ap_dL_Transmission_Bandwidth_01,
      { "dL-Transmission-Bandwidth", "f1ap.dL_Transmission_Bandwidth_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "Transmission_Bandwidth", HFILL }},
    { &hf_f1ap_uL_FreqInfo,
      { "uL-FreqInfo", "f1ap.uL_FreqInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FreqInfoRel16", HFILL }},
    { &hf_f1ap_sUL_FreqInfo,
      { "sUL-FreqInfo", "f1ap.sUL_FreqInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FreqInfoRel16", HFILL }},
    { &hf_f1ap_fiveG_proSeDirectDiscovery,
      { "fiveG-proSeDirectDiscovery", "f1ap.fiveG_proSeDirectDiscovery",
        FT_UINT32, BASE_DEC, VALS(f1ap_FiveG_ProSeDirectDiscovery_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_fiveG_proSeDirectCommunication,
      { "fiveG-proSeDirectCommunication", "f1ap.fiveG_proSeDirectCommunication",
        FT_UINT32, BASE_DEC, VALS(f1ap_FiveG_ProSeDirectCommunication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_fiveG_ProSeLayer2UEtoNetworkRelay,
      { "fiveG-ProSeLayer2UEtoNetworkRelay", "f1ap.fiveG_ProSeLayer2UEtoNetworkRelay",
        FT_UINT32, BASE_DEC, VALS(f1ap_FiveG_ProSeLayer2UEtoNetworkRelay_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_fiveG_ProSeLayer3UEtoNetworkRelay,
      { "fiveG-ProSeLayer3UEtoNetworkRelay", "f1ap.fiveG_ProSeLayer3UEtoNetworkRelay",
        FT_UINT32, BASE_DEC, VALS(f1ap_FiveG_ProSeLayer3UEtoNetworkRelay_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_fiveG_ProSeLayer2RemoteUE,
      { "fiveG-ProSeLayer2RemoteUE", "f1ap.fiveG_ProSeLayer2RemoteUE",
        FT_UINT32, BASE_DEC, VALS(f1ap_FiveG_ProSeLayer2RemoteUE_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_Flows_Mapped_To_DRB_List_item,
      { "Flows-Mapped-To-DRB-Item", "f1ap.Flows_Mapped_To_DRB_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_qoSFlowIdentifier,
      { "qoSFlowIdentifier", "f1ap.qoSFlowIdentifier",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_qoSFlowLevelQoSParameters,
      { "qoSFlowLevelQoSParameters", "f1ap.qoSFlowLevelQoSParameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_freqBandIndicatorNr,
      { "freqBandIndicatorNr", "f1ap.freqBandIndicatorNr",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_1024_", HFILL }},
    { &hf_f1ap_supportedSULBandList,
      { "supportedSULBandList", "f1ap.supportedSULBandList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem", HFILL }},
    { &hf_f1ap_supportedSULBandList_item,
      { "SupportedSULFreqBandItem", "f1ap.SupportedSULFreqBandItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_l839,
      { "l839", "f1ap.l839_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "L839Info", HFILL }},
    { &hf_f1ap_l139,
      { "l139", "f1ap.l139_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "L139Info", HFILL }},
    { &hf_f1ap_nRARFCN,
      { "nRARFCN", "f1ap.nRARFCN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNRARFCN", HFILL }},
    { &hf_f1ap_frequencyShift7p5khz,
      { "frequencyShift7p5khz", "f1ap.frequencyShift7p5khz",
        FT_UINT32, BASE_DEC, VALS(f1ap_FrequencyShift7p5khz_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_carrierList,
      { "carrierList", "f1ap.carrierList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NRCarrierList", HFILL }},
    { &hf_f1ap_Frequency_Domain_HSNA_Configuration_List_item,
      { "Frequency-Domain-HSNA-Configuration-Item", "f1ap.Frequency_Domain_HSNA_Configuration_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_rBSetIndex,
      { "rBSetIndex", "f1ap.rBSetIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxnoofRBsetsPerCell_1_", HFILL }},
    { &hf_f1ap_frequency_Domain_HSNA_Slot_Configuration_List,
      { "frequency-Domain-HSNA-Slot-Configuration-List", "f1ap.frequency_Domain_HSNA_Slot_Configuration_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Frequency_Domain_HSNA_Slot_Configuration_List_item,
      { "Frequency-Domain-HSNA-Slot-Configuration-Item", "f1ap.Frequency_Domain_HSNA_Slot_Configuration_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_slotIndex,
      { "slotIndex", "f1ap.slotIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5119", HFILL }},
    { &hf_f1ap_hSNADownlink,
      { "hSNADownlink", "f1ap.hSNADownlink",
        FT_UINT32, BASE_DEC, VALS(f1ap_HSNADownlink_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_hSNAUplink,
      { "hSNAUplink", "f1ap.hSNAUplink",
        FT_UINT32, BASE_DEC, VALS(f1ap_HSNAUplink_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_hSNAFlexible,
      { "hSNAFlexible", "f1ap.hSNAFlexible",
        FT_UINT32, BASE_DEC, VALS(f1ap_HSNAFlexible_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_FlowsMappedToSLDRB_List_item,
      { "FlowsMappedToSLDRB-Item", "f1ap.FlowsMappedToSLDRB_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pc5QoSFlowIdentifier,
      { "pc5QoSFlowIdentifier", "f1ap.pc5QoSFlowIdentifier",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_e_RAB_MaximumBitrateDL,
      { "e-RAB-MaximumBitrateDL", "f1ap.e_RAB_MaximumBitrateDL",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_e_RAB_MaximumBitrateUL,
      { "e-RAB-MaximumBitrateUL", "f1ap.e_RAB_MaximumBitrateUL",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_e_RAB_GuaranteedBitrateDL,
      { "e-RAB-GuaranteedBitrateDL", "f1ap.e_RAB_GuaranteedBitrateDL",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_e_RAB_GuaranteedBitrateUL,
      { "e-RAB-GuaranteedBitrateUL", "f1ap.e_RAB_GuaranteedBitrateUL",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_maxFlowBitRateDownlink,
      { "maxFlowBitRateDownlink", "f1ap.maxFlowBitRateDownlink",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_maxFlowBitRateUplink,
      { "maxFlowBitRateUplink", "f1ap.maxFlowBitRateUplink",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_guaranteedFlowBitRateDownlink,
      { "guaranteedFlowBitRateDownlink", "f1ap.guaranteedFlowBitRateDownlink",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_guaranteedFlowBitRateUplink,
      { "guaranteedFlowBitRateUplink", "f1ap.guaranteedFlowBitRateUplink",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_maxPacketLossRateDownlink,
      { "maxPacketLossRateDownlink", "f1ap.maxPacketLossRateDownlink",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(f1ap_MaxPacketLossRate_fmt), 0,
        "MaxPacketLossRate", HFILL }},
    { &hf_f1ap_maxPacketLossRateUplink,
      { "maxPacketLossRateUplink", "f1ap.maxPacketLossRateUplink",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(f1ap_MaxPacketLossRate_fmt), 0,
        "MaxPacketLossRate", HFILL }},
    { &hf_f1ap_tRPPositionDefinitionType,
      { "tRPPositionDefinitionType", "f1ap.tRPPositionDefinitionType",
        FT_UINT32, BASE_DEC, VALS(f1ap_TRPPositionDefinitionType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_dLPRSResourceCoordinates,
      { "dLPRSResourceCoordinates", "f1ap.dLPRSResourceCoordinates_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_gNB_ID,
      { "gNB-ID", "f1ap.gNB_ID",
        FT_UINT32, BASE_DEC, VALS(f1ap_GNB_ID_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_gNB_ID_01,
      { "gNB-ID", "f1ap.gNB_ID",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_22_32", HFILL }},
    { &hf_f1ap_choice_Extensions,
      { "choice-Extensions", "f1ap.choice_Extensions_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ProtocolIE_SingleContainer", HFILL }},
    { &hf_f1ap_sibtypetobeupdatedlist,
      { "sibtypetobeupdatedlist", "f1ap.sibtypetobeupdatedlist",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem", HFILL }},
    { &hf_f1ap_sibtypetobeupdatedlist_item,
      { "SibtypetobeupdatedListItem", "f1ap.SibtypetobeupdatedListItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tNLAssociationTransportLayerAddress,
      { "tNLAssociationTransportLayerAddress", "f1ap.tNLAssociationTransportLayerAddress",
        FT_UINT32, BASE_DEC, VALS(f1ap_CP_TransportLayerAddress_vals), 0,
        "CP_TransportLayerAddress", HFILL }},
    { &hf_f1ap_tNLAssociationUsage,
      { "tNLAssociationUsage", "f1ap.tNLAssociationUsage",
        FT_UINT32, BASE_DEC, VALS(f1ap_TNLAssociationUsage_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_subcarrierSpacing_01,
      { "subcarrierSpacing", "f1ap.subcarrierSpacing",
        FT_UINT32, BASE_DEC, VALS(f1ap_SubcarrierSpacing_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_dUFTransmissionPeriodicity,
      { "dUFTransmissionPeriodicity", "f1ap.dUFTransmissionPeriodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_DUFTransmissionPeriodicity_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_dUF_Slot_Config_List,
      { "dUF-Slot-Config-List", "f1ap.dUF_Slot_Config_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_hSNATransmissionPeriodicity,
      { "hSNATransmissionPeriodicity", "f1ap.hSNATransmissionPeriodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_HSNATransmissionPeriodicity_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_hsNSASlotConfigList,
      { "hsNSASlotConfigList", "f1ap.hsNSASlotConfigList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "HSNASlotConfigList", HFILL }},
    { &hf_f1ap_gNB_CU_NameVisibleString,
      { "gNB-CU-NameVisibleString", "f1ap.gNB_CU_NameVisibleString",
        FT_STRING, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_gNB_CU_NameUTF8String,
      { "gNB-CU-NameUTF8String", "f1ap.gNB_CU_NameUTF8String",
        FT_STRING, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_gNB_DU_NameVisibleString,
      { "gNB-DU-NameVisibleString", "f1ap.gNB_DU_NameVisibleString",
        FT_STRING, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_gNB_DU_NameUTF8String,
      { "gNB-DU-NameUTF8String", "f1ap.gNB_DU_NameUTF8String",
        FT_STRING, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_served_Cell_Information,
      { "served-Cell-Information", "f1ap.served_Cell_Information_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_gNB_DU_System_Information,
      { "gNB-DU-System-Information", "f1ap.gNB_DU_System_Information_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mIB_message,
      { "mIB-message", "f1ap.mIB_message",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sIB1_message,
      { "sIB1-message", "f1ap.sIB1_message",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tNLAssociationTransportLayerAddressgNBCU,
      { "tNLAssociationTransportLayerAddressgNBCU", "f1ap.tNLAssociationTransportLayerAddressgNBCU",
        FT_UINT32, BASE_DEC, VALS(f1ap_CP_TransportLayerAddress_vals), 0,
        "CP_TransportLayerAddress", HFILL }},
    { &hf_f1ap_GNBDUUESliceMaximumBitRateList_item,
      { "GNBDUUESliceMaximumBitRateItem", "f1ap.GNBDUUESliceMaximumBitRateItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uESliceMaximumBitRateUL,
      { "uESliceMaximumBitRateUL", "f1ap.uESliceMaximumBitRateUL",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_rxTxTimeDiff,
      { "rxTxTimeDiff", "f1ap.rxTxTimeDiff",
        FT_UINT32, BASE_DEC, VALS(f1ap_GNBRxTxTimeDiffMeas_vals), 0,
        "GNBRxTxTimeDiffMeas", HFILL }},
    { &hf_f1ap_additionalPath_List,
      { "additionalPath-List", "f1ap.additionalPath_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_k0,
      { "k0", "f1ap.k0",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1970049", HFILL }},
    { &hf_f1ap_k1,
      { "k1", "f1ap.k1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_985025", HFILL }},
    { &hf_f1ap_k2,
      { "k2", "f1ap.k2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_492513", HFILL }},
    { &hf_f1ap_k3,
      { "k3", "f1ap.k3",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_246257", HFILL }},
    { &hf_f1ap_k4,
      { "k4", "f1ap.k4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_123129", HFILL }},
    { &hf_f1ap_k5,
      { "k5", "f1ap.k5",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_61565", HFILL }},
    { &hf_f1ap_GTPTLAs_item,
      { "GTPTLA-Item", "f1ap.GTPTLA_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_gTPTransportLayerAddress,
      { "gTPTransportLayerAddress", "f1ap.gTPTransportLayerAddress",
        FT_BYTES, BASE_NONE, NULL, 0,
        "TransportLayerAddress", HFILL }},
    { &hf_f1ap_transportLayerAddress,
      { "transportLayerAddress", "f1ap.transportLayerAddress",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_gTP_TEID,
      { "gTP-TEID", "f1ap.gTP_TEID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_dLHardwareLoadIndicator,
      { "dLHardwareLoadIndicator", "f1ap.dLHardwareLoadIndicator",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100_", HFILL }},
    { &hf_f1ap_uLHardwareLoadIndicator,
      { "uLHardwareLoadIndicator", "f1ap.uLHardwareLoadIndicator",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100_", HFILL }},
    { &hf_f1ap_HSNASlotConfigList_item,
      { "HSNASlotConfigItem", "f1ap.HSNASlotConfigItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_iAB_Congestion_Indication_List,
      { "iAB-Congestion-Indication-List", "f1ap.iAB_Congestion_Indication_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IAB_Congestion_Indication_List_item,
      { "IAB-Congestion-Indication-Item", "f1ap.IAB_Congestion_Indication_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_childNodeIdentifier,
      { "childNodeIdentifier", "f1ap.childNodeIdentifier",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BAPAddress", HFILL }},
    { &hf_f1ap_bHRLCCHList,
      { "bHRLCCHList", "f1ap.bHRLCCHList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IAB_MT_Cell_List_item,
      { "IAB-MT-Cell-List-Item", "f1ap.IAB_MT_Cell_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nRCellIdentity,
      { "nRCellIdentity", "f1ap.nRCellIdentity",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_dU_RX_MT_RX,
      { "dU-RX-MT-RX", "f1ap.dU_RX_MT_RX",
        FT_UINT32, BASE_DEC, VALS(f1ap_DU_RX_MT_RX_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_dU_TX_MT_TX,
      { "dU-TX-MT-TX", "f1ap.dU_TX_MT_TX",
        FT_UINT32, BASE_DEC, VALS(f1ap_DU_TX_MT_TX_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_dU_RX_MT_TX,
      { "dU-RX-MT-TX", "f1ap.dU_RX_MT_TX",
        FT_UINT32, BASE_DEC, VALS(f1ap_DU_RX_MT_TX_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_dU_TX_MT_RX,
      { "dU-TX-MT-RX", "f1ap.dU_TX_MT_RX",
        FT_UINT32, BASE_DEC, VALS(f1ap_DU_TX_MT_RX_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_fDD_01,
      { "fDD", "f1ap.fDD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IAB_MT_Cell_NA_Resource_Configuration_FDD_Info", HFILL }},
    { &hf_f1ap_tDD_01,
      { "tDD", "f1ap.tDD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IAB_MT_Cell_NA_Resource_Configuration_TDD_Info", HFILL }},
    { &hf_f1ap_gNB_DU_Cell_NA_Resource_Configuration_FDD_UL,
      { "gNB-DU-Cell-NA-Resource-Configuration-FDD-UL", "f1ap.gNB_DU_Cell_NA_Resource_Configuration_FDD_UL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GNB_DU_Cell_Resource_Configuration", HFILL }},
    { &hf_f1ap_gNB_DU_Cell_NA_Resource_Configuration_FDD_DL,
      { "gNB-DU-Cell-NA-Resource-Configuration-FDD-DL", "f1ap.gNB_DU_Cell_NA_Resource_Configuration_FDD_DL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GNB_DU_Cell_Resource_Configuration", HFILL }},
    { &hf_f1ap_uL_FreqInfo_01,
      { "uL-FreqInfo", "f1ap.uL_FreqInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRFreqInfo", HFILL }},
    { &hf_f1ap_uL_NR_Carrier_List,
      { "uL-NR-Carrier-List", "f1ap.uL_NR_Carrier_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NRCarrierList", HFILL }},
    { &hf_f1ap_dL_FreqInfo,
      { "dL-FreqInfo", "f1ap.dL_FreqInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRFreqInfo", HFILL }},
    { &hf_f1ap_dL_NR_Carrier_List,
      { "dL-NR-Carrier-List", "f1ap.dL_NR_Carrier_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NRCarrierList", HFILL }},
    { &hf_f1ap_gNB_DU_Cell_NA_Resourc_Configuration_TDD,
      { "gNB-DU-Cell-NA-Resourc-Configuration-TDD", "f1ap.gNB_DU_Cell_NA_Resourc_Configuration_TDD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GNB_DU_Cell_Resource_Configuration", HFILL }},
    { &hf_f1ap_nRFreqInfo,
      { "nRFreqInfo", "f1ap.nRFreqInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_transmission_Bandwidth_01,
      { "transmission-Bandwidth", "f1ap.transmission_Bandwidth_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nR_Carrier_List,
      { "nR-Carrier-List", "f1ap.nR_Carrier_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NRCarrierList", HFILL }},
    { &hf_f1ap_iAB_STC_Info_List,
      { "iAB-STC-Info-List", "f1ap.iAB_STC_Info_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IAB_STC_Info_List_item,
      { "IAB-STC-Info-Item", "f1ap.IAB_STC_Info_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSB_freqInfo,
      { "sSB-freqInfo", "f1ap.sSB_freqInfo",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSB_subcarrierSpacing,
      { "sSB-subcarrierSpacing", "f1ap.sSB_subcarrierSpacing",
        FT_UINT32, BASE_DEC, VALS(f1ap_SSB_subcarrierSpacing_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sSB_transmissionPeriodicity,
      { "sSB-transmissionPeriodicity", "f1ap.sSB_transmissionPeriodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_SSB_transmissionPeriodicity_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sSB_transmissionTimingOffset,
      { "sSB-transmissionTimingOffset", "f1ap.sSB_transmissionTimingOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSB_transmissionBitmap,
      { "sSB-transmissionBitmap", "f1ap.sSB_transmissionBitmap",
        FT_UINT32, BASE_DEC, VALS(f1ap_SSB_transmissionBitmap_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_iABTNLAddress,
      { "iABTNLAddress", "f1ap.iABTNLAddress",
        FT_UINT32, BASE_DEC, VALS(f1ap_IABTNLAddress_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_iABTNLAddressUsage,
      { "iABTNLAddressUsage", "f1ap.iABTNLAddressUsage",
        FT_UINT32, BASE_DEC, VALS(f1ap_IABTNLAddressUsage_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_fDD_02,
      { "fDD", "f1ap.fDD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IAB_DU_Cell_Resource_Configuration_FDD_Info", HFILL }},
    { &hf_f1ap_tDD_02,
      { "tDD", "f1ap.tDD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IAB_DU_Cell_Resource_Configuration_TDD_Info", HFILL }},
    { &hf_f1ap_gNB_DU_Cell_Resource_Configuration_FDD_UL,
      { "gNB-DU-Cell-Resource-Configuration-FDD-UL", "f1ap.gNB_DU_Cell_Resource_Configuration_FDD_UL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GNB_DU_Cell_Resource_Configuration", HFILL }},
    { &hf_f1ap_gNB_DU_Cell_Resource_Configuration_FDD_DL,
      { "gNB-DU-Cell-Resource-Configuration-FDD-DL", "f1ap.gNB_DU_Cell_Resource_Configuration_FDD_DL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GNB_DU_Cell_Resource_Configuration", HFILL }},
    { &hf_f1ap_gNB_DU_Cell_Resourc_Configuration_TDD,
      { "gNB-DU-Cell-Resourc-Configuration-TDD", "f1ap.gNB_DU_Cell_Resourc_Configuration_TDD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GNB_DU_Cell_Resource_Configuration", HFILL }},
    { &hf_f1ap_iPv6Address,
      { "iPv6Address", "f1ap.iPv6Address_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IABTNLAddressesRequested", HFILL }},
    { &hf_f1ap_iPv6Prefix,
      { "iPv6Prefix", "f1ap.iPv6Prefix_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IABTNLAddressesRequested", HFILL }},
    { &hf_f1ap_iPv4Address,
      { "iPv4Address", "f1ap.iPv4Address",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_iPv6Address_01,
      { "iPv6Address", "f1ap.iPv6Address",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_iPv6Prefix_01,
      { "iPv6Prefix", "f1ap.iPv6Prefix",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tNLAddressesOrPrefixesRequestedAllTraffic,
      { "tNLAddressesOrPrefixesRequestedAllTraffic", "f1ap.tNLAddressesOrPrefixesRequestedAllTraffic",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_256", HFILL }},
    { &hf_f1ap_tNLAddressesOrPrefixesRequestedF1_C,
      { "tNLAddressesOrPrefixesRequestedF1-C", "f1ap.tNLAddressesOrPrefixesRequestedF1_C",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_256", HFILL }},
    { &hf_f1ap_tNLAddressesOrPrefixesRequestedF1_U,
      { "tNLAddressesOrPrefixesRequestedF1-U", "f1ap.tNLAddressesOrPrefixesRequestedF1_U",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_256", HFILL }},
    { &hf_f1ap_tNLAddressesOrPrefixesRequestedNoNF1,
      { "tNLAddressesOrPrefixesRequestedNoNF1", "f1ap.tNLAddressesOrPrefixesRequestedNoNF1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_256", HFILL }},
    { &hf_f1ap_iABTNLAddressList,
      { "iABTNLAddressList", "f1ap.iABTNLAddressList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IABTNLAddressList_item,
      { "IABTNLAddress-Item", "f1ap.IABTNLAddress_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_iABv4AddressesRequested,
      { "iABv4AddressesRequested", "f1ap.iABv4AddressesRequested_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "IABTNLAddressesRequested", HFILL }},
    { &hf_f1ap_tAI,
      { "tAI", "f1ap.tAI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_dUFSlotformatIndex,
      { "dUFSlotformatIndex", "f1ap.dUFSlotformatIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_targetRelayUEID,
      { "targetRelayUEID", "f1ap.targetRelayUEID",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_24", HFILL }},
    { &hf_f1ap_remoteUELocalID,
      { "remoteUELocalID", "f1ap.remoteUELocalID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nRSCS,
      { "nRSCS", "f1ap.nRSCS",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_nRSCS_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_nRCP,
      { "nRCP", "f1ap.nRCP",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_nRCP_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_nRDLULTxPeriodicity,
      { "nRDLULTxPeriodicity", "f1ap.nRDLULTxPeriodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_nRDLULTxPeriodicity_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_slot_Configuration_List,
      { "slot-Configuration-List", "f1ap.slot_Configuration_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_destinationIABTNLAddress,
      { "destinationIABTNLAddress", "f1ap.destinationIABTNLAddress",
        FT_UINT32, BASE_DEC, VALS(f1ap_IABTNLAddress_vals), 0,
        "IABTNLAddress", HFILL }},
    { &hf_f1ap_dsInformationList,
      { "dsInformationList", "f1ap.dsInformationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_iPv6FlowLabel,
      { "iPv6FlowLabel", "f1ap.iPv6FlowLabel",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_20", HFILL }},
    { &hf_f1ap_iPtolayer2TrafficMappingInfoToAdd,
      { "iPtolayer2TrafficMappingInfoToAdd", "f1ap.iPtolayer2TrafficMappingInfoToAdd",
        FT_UINT32, BASE_DEC, NULL, 0,
        "IPtolayer2TrafficMappingInfoList", HFILL }},
    { &hf_f1ap_iPtolayer2TrafficMappingInfoToRemove,
      { "iPtolayer2TrafficMappingInfoToRemove", "f1ap.iPtolayer2TrafficMappingInfoToRemove",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MappingInformationtoRemove", HFILL }},
    { &hf_f1ap_IPtolayer2TrafficMappingInfoList_item,
      { "IPtolayer2TrafficMappingInfo-Item", "f1ap.IPtolayer2TrafficMappingInfo_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_iPHeaderInformation,
      { "iPHeaderInformation", "f1ap.iPHeaderInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_bHInfo,
      { "bHInfo", "f1ap.bHInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_aerialUE,
      { "aerialUE", "f1ap.aerialUE",
        FT_UINT32, BASE_DEC, VALS(f1ap_AerialUE_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_controllerUE,
      { "controllerUE", "f1ap.controllerUE",
        FT_UINT32, BASE_DEC, VALS(f1ap_ControllerUE_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_prachSCS,
      { "prachSCS", "f1ap.prachSCS",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_prachSCS_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_rootSequenceIndex_01,
      { "rootSequenceIndex", "f1ap.rootSequenceIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_137", HFILL }},
    { &hf_f1ap_restrictedSetConfig,
      { "restrictedSetConfig", "f1ap.restrictedSetConfig",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_restrictedSetConfig_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_prachSCSForL571,
      { "prachSCSForL571", "f1ap.prachSCSForL571",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_prachSCSForL571_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_rootSequenceIndex_02,
      { "rootSequenceIndex", "f1ap.rootSequenceIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_569", HFILL }},
    { &hf_f1ap_prachSCSForL1151,
      { "prachSCSForL1151", "f1ap.prachSCSForL1151",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_prachSCSForL1151_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_rootSequenceIndex_03,
      { "rootSequenceIndex", "f1ap.rootSequenceIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1149", HFILL }},
    { &hf_f1ap_alpha,
      { "alpha", "f1ap.alpha",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3599", HFILL }},
    { &hf_f1ap_beta,
      { "beta", "f1ap.beta",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3599", HFILL }},
    { &hf_f1ap_gamma,
      { "gamma", "f1ap.gamma",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3599", HFILL }},
    { &hf_f1ap_LCStoGCSTranslationList_item,
      { "LCStoGCSTranslation", "f1ap.LCStoGCSTranslation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_alpha_01,
      { "alpha", "f1ap.alpha",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_359", HFILL }},
    { &hf_f1ap_alpha_fine,
      { "alpha-fine", "f1ap.alpha_fine",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_f1ap_beta_01,
      { "beta", "f1ap.beta",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_359", HFILL }},
    { &hf_f1ap_beta_fine,
      { "beta-fine", "f1ap.beta_fine",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_f1ap_gamma_01,
      { "gamma", "f1ap.gamma",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_359", HFILL }},
    { &hf_f1ap_gamma_fine,
      { "gamma-fine", "f1ap.gamma_fine",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_f1ap_LocationDependentMBSF1UInformation_item,
      { "LocationDependentMBSF1UInformation-Item", "f1ap.LocationDependentMBSF1UInformation_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsAreaSession_ID,
      { "mbsAreaSession-ID", "f1ap.mbsAreaSession_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MBS_Area_Session_ID", HFILL }},
    { &hf_f1ap_mbs_f1u_info_at_CU,
      { "mbs-f1u-info-at-CU", "f1ap.mbs_f1u_info_at_CU",
        FT_UINT32, BASE_DEC, VALS(f1ap_UPTransportLayerInformation_vals), 0,
        "UPTransportLayerInformation", HFILL }},
    { &hf_f1ap_horizontalUncertainty,
      { "horizontalUncertainty", "f1ap.horizontalUncertainty",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_f1ap_horizontalConfidence,
      { "horizontalConfidence", "f1ap.horizontalConfidence",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_verticalUncertainty,
      { "verticalUncertainty", "f1ap.verticalUncertainty",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_f1ap_verticalConfidence,
      { "verticalConfidence", "f1ap.verticalConfidence",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_loS_NLoSIndicatorSoft,
      { "loS-NLoSIndicatorSoft", "f1ap.loS_NLoSIndicatorSoft",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_loS_NLoSIndicatorHard,
      { "loS-NLoSIndicatorHard", "f1ap.loS_NLoSIndicatorHard",
        FT_UINT32, BASE_DEC, VALS(f1ap_LoS_NLoSIndicatorHard_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_uELTESidelinkAggregateMaximumBitrate,
      { "uELTESidelinkAggregateMaximumBitrate", "f1ap.uELTESidelinkAggregateMaximumBitrate",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_vehicleUE,
      { "vehicleUE", "f1ap.vehicleUE",
        FT_UINT32, BASE_DEC, VALS(f1ap_VehicleUE_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_pedestrianUE,
      { "pedestrianUE", "f1ap.pedestrianUE",
        FT_UINT32, BASE_DEC, VALS(f1ap_PedestrianUE_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_LTMCells_ToBeReleased_List_item,
      { "LTMCells-ToBeReleased-Item", "f1ap.LTMCells_ToBeReleased_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_lTMIndicator,
      { "lTMIndicator", "f1ap.lTMIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_LTMIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_referenceConfiguration,
      { "referenceConfiguration", "f1ap.referenceConfiguration",
        FT_UINT32, BASE_DEC, VALS(f1ap_ReferenceConfiguration_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_cSIResourceConfiguration,
      { "cSIResourceConfiguration", "f1ap.cSIResourceConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LTMConfigurationIDMappingList_item,
      { "LTMConfigurationIDMapping-Item", "f1ap.LTMConfigurationIDMapping_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_lTMCellID,
      { "lTMCellID", "f1ap.lTMCellID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_lTMConfigurationID,
      { "lTMConfigurationID", "f1ap.lTMConfigurationID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSBInformation,
      { "sSBInformation", "f1ap.sSBInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_referenceConfigurationInformation,
      { "referenceConfigurationInformation", "f1ap.referenceConfigurationInformation",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_completeConfigurationIndicator,
      { "completeConfigurationIndicator", "f1ap.completeConfigurationIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_CompleteConfigurationIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_lTMCFRAResourceConfig,
      { "lTMCFRAResourceConfig", "f1ap.lTMCFRAResourceConfig",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_lTMCFRAResourceConfigSUL,
      { "lTMCFRAResourceConfigSUL", "f1ap.lTMCFRAResourceConfigSUL",
        FT_BYTES, BASE_NONE, NULL, 0,
        "LTMCFRAResourceConfig", HFILL }},
    { &hf_f1ap_jointorDLTCIStateID,
      { "jointorDLTCIStateID", "f1ap.jointorDLTCIStateID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uLTCIStateID,
      { "uLTCIStateID", "f1ap.uLTCIStateID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LTMgNB_DU_IDsList_item,
      { "LTMgNB-DU-IDs-Item", "f1ap.LTMgNB_DU_IDs_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_lTMgNB_DU_ID,
      { "lTMgNB-DU-ID", "f1ap.lTMgNB_DU_ID",
        FT_UINT64, BASE_DEC, NULL, 0,
        "GNB_DU_ID", HFILL }},
    { &hf_f1ap_LTMgNB_DU_IDs_PreambleIndexList_item,
      { "LTMgNB-DU-IDs-PreambleIndex-Item", "f1ap.LTMgNB_DU_IDs_PreambleIndex_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_preambleIndexList,
      { "preambleIndexList", "f1ap.preambleIndexList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_LTMCFRAResourceConfig_List_item,
      { "LTMCFRAResourceConfig-Item", "f1ap.LTMCFRAResourceConfig_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MappingInformationtoRemove_item,
      { "MappingInformationIndex", "f1ap.MappingInformationIndex",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MBS_Flows_Mapped_To_MRB_List_item,
      { "MBS-Flows-Mapped-To-MRB-Item", "f1ap.MBS_Flows_Mapped_To_MRB_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mBS_QoSFlowIdentifier,
      { "mBS-QoSFlowIdentifier", "f1ap.mBS_QoSFlowIdentifier",
        FT_UINT32, BASE_DEC, NULL, 0,
        "QoSFlowIdentifier", HFILL }},
    { &hf_f1ap_mbs_QoSFlowLevelQoSParameters,
      { "mbs-QoSFlowLevelQoSParameters", "f1ap.mbs_QoSFlowLevelQoSParameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "QoSFlowLevelQoSParameters", HFILL }},
    { &hf_f1ap_mbs_f1u_info,
      { "mbs-f1u-info", "f1ap.mbs_f1u_info",
        FT_UINT32, BASE_DEC, VALS(f1ap_UPTransportLayerInformation_vals), 0,
        "UPTransportLayerInformation", HFILL }},
    { &hf_f1ap_tMGI,
      { "tMGI", "f1ap.tMGI",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nID,
      { "nID", "f1ap.nID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mBS_Broadcast_Cell_List,
      { "mBS-Broadcast-Cell-List", "f1ap.mBS_Broadcast_Cell_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mBS_Broadcast_MRB_List,
      { "mBS-Broadcast-MRB-List", "f1ap.mBS_Broadcast_MRB_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MBS_Broadcast_Cell_List_item,
      { "MBS-Broadcast-Cell-Item", "f1ap.MBS_Broadcast_Cell_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mtch_neighbourCell,
      { "mtch-neighbourCell", "f1ap.mtch_neighbourCell",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING", HFILL }},
    { &hf_f1ap_MBS_Broadcast_MRB_List_item,
      { "MBS-Broadcast-MRB-Item", "f1ap.MBS_Broadcast_MRB_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mRB_PDCP_Config_Broadcast,
      { "mRB-PDCP-Config-Broadcast", "f1ap.mRB_PDCP_Config_Broadcast",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_multicastF1UContextReferenceF1,
      { "multicastF1UContextReferenceF1", "f1ap.multicastF1UContextReferenceF1",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mc_F1UCtxtusage,
      { "mc-F1UCtxtusage", "f1ap.mc_F1UCtxtusage",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_mc_F1UCtxtusage_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsAreaSession,
      { "mbsAreaSession", "f1ap.mbsAreaSession",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MBS_Area_Session_ID", HFILL }},
    { &hf_f1ap_mt_SDT_Indicator,
      { "mt-SDT-Indicator", "f1ap.mt_SDT_Indicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_MT_SDT_Indicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_mBS_Multicast_CU2DU_Cell_List,
      { "mBS-Multicast-CU2DU-Cell-List", "f1ap.mBS_Multicast_CU2DU_Cell_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mBS_Multicast_MRB_List,
      { "mBS-Multicast-MRB-List", "f1ap.mBS_Multicast_MRB_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MBS_Multicast_CU2DU_Cell_List_item,
      { "MBS-Multicast-CU2DU-Cell-Item", "f1ap.MBS_Multicast_CU2DU_Cell_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsMulticastRRC_INACTIVEReceptionMode,
      { "mbsMulticastRRC-INACTIVEReceptionMode", "f1ap.mbsMulticastRRC_INACTIVEReceptionMode",
        FT_UINT32, BASE_DEC, VALS(f1ap_MBSMulticastRRCINACTIVEReceptionMode_vals), 0,
        "MBSMulticastRRCINACTIVEReceptionMode", HFILL }},
    { &hf_f1ap_mbsMulticastConfigurationRequest,
      { "mbsMulticastConfigurationRequest", "f1ap.mbsMulticastConfigurationRequest",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_mbsMulticastConfigurationRequest_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_MBS_Multicast_MRB_List_item,
      { "MBS-Multicast-MRB-Item", "f1ap.MBS_Multicast_MRB_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mRB_PDCP_Config_Broadcast_01,
      { "mRB-PDCP-Config-Broadcast", "f1ap.mRB_PDCP_Config_Broadcast",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_mRB_PDCP_Config_Broadcast_01", HFILL }},
    { &hf_f1ap_multicastCommonCU2DUCellList,
      { "multicastCommonCU2DUCellList", "f1ap.multicastCommonCU2DUCellList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastCommonCU2DUCellList_item,
      { "MulticastCommonCU2DUCell-Item", "f1ap.MulticastCommonCU2DUCell_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_multicastCommonCu2DUCellInformation,
      { "multicastCommonCu2DUCellInformation", "f1ap.multicastCommonCu2DUCellInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mBSMulticastNeighbourCellListItem,
      { "mBSMulticastNeighbourCellListItem", "f1ap.mBSMulticastNeighbourCellListItem",
        FT_UINT32, BASE_DEC, VALS(f1ap_MBSMulticastNeighbourCellListItem_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_thresholdMBS_ListItem,
      { "thresholdMBS-ListItem", "f1ap.thresholdMBS_ListItem",
        FT_UINT32, BASE_DEC, VALS(f1ap_ThresholdMBS_ListItem_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsMulticastNeighbourCellListInformationprovided,
      { "mbsMulticastNeighbourCellListInformationprovided", "f1ap.mbsMulticastNeighbourCellListInformationprovided_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UpdateMBSMulticastNeighbourCellListInformation", HFILL }},
    { &hf_f1ap_nombsMulticastNeighbourCellListInformationprovided,
      { "nombsMulticastNeighbourCellListInformationprovided", "f1ap.nombsMulticastNeighbourCellListInformationprovided_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_thresholdMBS_ListInformationprovided,
      { "thresholdMBS-ListInformationprovided", "f1ap.thresholdMBS_ListInformationprovided_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UpdateThresholdMBS_ListInformation", HFILL }},
    { &hf_f1ap_nothresholdMBSListInformationprovided,
      { "nothresholdMBSListInformationprovided", "f1ap.nothresholdMBSListInformationprovided_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mbs_NeighbourCellList,
      { "mbs-NeighbourCellList", "f1ap.mbs_NeighbourCellList",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mbs_MulticastSessionList,
      { "mbs-MulticastSessionList", "f1ap.mbs_MulticastSessionList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MTCH_NeighbourCellSessionList", HFILL }},
    { &hf_f1ap_MTCH_NeighbourCellSessionList_item,
      { "MTCH-NeighbourCellSession-Item", "f1ap.MTCH_NeighbourCellSession_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsSessionID,
      { "mbsSessionID", "f1ap.mbsSessionID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MBS_Session_ID", HFILL }},
    { &hf_f1ap_mtch_NeighbourCellInformation,
      { "mtch-NeighbourCellInformation", "f1ap.mtch_NeighbourCellInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_MTCH_NeighbourCellInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_mtch_NeighbourCellprovided,
      { "mtch-NeighbourCellprovided", "f1ap.mtch_NeighbourCellprovided",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mtch_NeighbourCellnotprovided,
      { "mtch-NeighbourCellnotprovided", "f1ap.mtch_NeighbourCellnotprovided_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_thresholdMBSList,
      { "thresholdMBSList", "f1ap.thresholdMBSList",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_thresholdIndexSessionList,
      { "thresholdIndexSessionList", "f1ap.thresholdIndexSessionList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ThresholdIndexSessionList_item,
      { "ThresholdIndexSession-Item", "f1ap.ThresholdIndexSession_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_thresholdIndexInformation,
      { "thresholdIndexInformation", "f1ap.thresholdIndexInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_ThresholdIndexInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_thresholdIndexprovided,
      { "thresholdIndexprovided", "f1ap.thresholdIndexprovided",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ThresholdIndex", HFILL }},
    { &hf_f1ap_thresholdIndexnotprovided,
      { "thresholdIndexnotprovided", "f1ap.thresholdIndexnotprovided_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mBS_Multicast_DU2CU_Cell_List,
      { "mBS-Multicast-DU2CU-Cell-List", "f1ap.mBS_Multicast_DU2CU_Cell_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MBS_Multicast_DU2CU_Cell_List_item,
      { "MBS-Multicast-DU2CU-Cell-Item", "f1ap.MBS_Multicast_DU2CU_Cell_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsMulticastConfigurationResponseInfo,
      { "mbsMulticastConfigurationResponseInfo", "f1ap.mbsMulticastConfigurationResponseInfo",
        FT_UINT32, BASE_DEC, VALS(f1ap_MBSMulticastConfigurationResponseInfo_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsMulticastConfigurationNotification,
      { "mbsMulticastConfigurationNotification", "f1ap.mbsMulticastConfigurationNotification_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsMulticastConfiguration_available,
      { "mbsMulticastConfiguration-available", "f1ap.mbsMulticastConfiguration_available_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsMulticastConfiguration_notavailable,
      { "mbsMulticastConfiguration-notavailable", "f1ap.mbsMulticastConfiguration_notavailable_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mBSMulticastConfiguration,
      { "mBSMulticastConfiguration", "f1ap.mBSMulticastConfiguration",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mBSMulticastConfiguration_notavailable,
      { "mBSMulticastConfiguration-notavailable", "f1ap.mBSMulticastConfiguration_notavailable",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_mBSMulticastConfiguration_notavailable_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsMulticastConfigurationNotificationInfo,
      { "mbsMulticastConfigurationNotificationInfo", "f1ap.mbsMulticastConfigurationNotificationInfo",
        FT_UINT32, BASE_DEC, VALS(f1ap_MBSMulticastConfigurationNotificationInfo_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsMulticastConfigurationChanged,
      { "mbsMulticastConfigurationChanged", "f1ap.mbsMulticastConfigurationChanged",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsMulticastConfigurationRemoved,
      { "mbsMulticastConfigurationRemoved", "f1ap.mbsMulticastConfigurationRemoved_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mbs_f1u_info_at_DU,
      { "mbs-f1u-info-at-DU", "f1ap.mbs_f1u_info_at_DU",
        FT_UINT32, BASE_DEC, VALS(f1ap_UPTransportLayerInformation_vals), 0,
        "UPTransportLayerInformation", HFILL }},
    { &hf_f1ap_mbsProgressInformation,
      { "mbsProgressInformation", "f1ap.mbsProgressInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_MRB_ProgressInformation_vals), 0,
        "MRB_ProgressInformation", HFILL }},
    { &hf_f1ap_locationindependent,
      { "locationindependent", "f1ap.locationindependent_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MBS_ServiceAreaInformation", HFILL }},
    { &hf_f1ap_locationdependent_01,
      { "locationdependent", "f1ap.locationdependent",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MBS_ServiceAreaInformationList", HFILL }},
    { &hf_f1ap_mBS_ServiceAreaCellList,
      { "mBS-ServiceAreaCellList", "f1ap.mBS_ServiceAreaCellList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mBS_ServiceAreaTAIList,
      { "mBS-ServiceAreaTAIList", "f1ap.mBS_ServiceAreaTAIList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MBS_ServiceAreaCellList_item,
      { "NRCGI", "f1ap.NRCGI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MBS_ServiceAreaTAIList_item,
      { "MBS-ServiceAreaTAIList-Item", "f1ap.MBS_ServiceAreaTAIList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_plmn_ID,
      { "plmn-ID", "f1ap.plmn_ID",
        FT_BYTES, BASE_NONE, NULL, 0,
        "PLMN_Identity", HFILL }},
    { &hf_f1ap_MBS_ServiceAreaInformationList_item,
      { "MBS-ServiceAreaInformationItem", "f1ap.MBS_ServiceAreaInformationItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mBS_AreaSessionID,
      { "mBS-AreaSessionID", "f1ap.mBS_AreaSessionID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MBS_Area_Session_ID", HFILL }},
    { &hf_f1ap_mBS_ServiceAreaInformation,
      { "mBS-ServiceAreaInformation", "f1ap.mBS_ServiceAreaInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRS_Resource_ID,
      { "pRS-Resource-ID", "f1ap.pRS_Resource_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRS_Resource_Set_ID,
      { "pRS-Resource-Set-ID", "f1ap.pRS_Resource_Set_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSB_Index_01,
      { "sSB-Index", "f1ap.sSB_Index",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pdcp_SN12,
      { "pdcp-SN12", "f1ap.pdcp_SN12",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4095", HFILL }},
    { &hf_f1ap_pdcp_SN18,
      { "pdcp-SN18", "f1ap.pdcp_SN18",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_262143", HFILL }},
    { &hf_f1ap_multipleULAoA_01,
      { "multipleULAoA", "f1ap.multipleULAoA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "MultipleULAoA_List", HFILL }},
    { &hf_f1ap_MultipleULAoA_List_item,
      { "MultipleULAoA-Item", "f1ap.MultipleULAoA_Item",
        FT_UINT32, BASE_DEC, VALS(f1ap_MultipleULAoA_Item_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_uL_AoA,
      { "uL-AoA", "f1ap.uL_AoA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ul_ZoA,
      { "ul-ZoA", "f1ap.ul_ZoA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ZoAInformation", HFILL }},
    { &hf_f1ap_MulticastMBSSessionList_item,
      { "MulticastMBSSessionList-Item", "f1ap.MulticastMBSSessionList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsSessionId,
      { "mbsSessionId", "f1ap.mbsSessionId_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "MBS_Session_ID", HFILL }},
    { &hf_f1ap_mBS_DL_PDCP_SN_Length,
      { "mBS-DL-PDCP-SN-Length", "f1ap.mBS_DL_PDCP_SN_Length",
        FT_UINT32, BASE_DEC, VALS(f1ap_PDCPSNLength_vals), 0,
        "PDCPSNLength", HFILL }},
    { &hf_f1ap_iAB_MT_Cell_List,
      { "iAB-MT-Cell-List", "f1ap.iAB_MT_Cell_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_m5period,
      { "m5period", "f1ap.m5period",
        FT_UINT32, BASE_DEC, VALS(f1ap_M5period_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_m5_links_to_log,
      { "m5-links-to-log", "f1ap.m5_links_to_log",
        FT_UINT32, BASE_DEC, VALS(f1ap_M5_Links_to_log_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_m6report_Interval,
      { "m6report-Interval", "f1ap.m6report_Interval",
        FT_UINT32, BASE_DEC, VALS(f1ap_M6report_Interval_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_m6_links_to_log,
      { "m6-links-to-log", "f1ap.m6_links_to_log",
        FT_UINT32, BASE_DEC, VALS(f1ap_M6_Links_to_log_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_m7period,
      { "m7period", "f1ap.m7period",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_minutes), 0,
        NULL, HFILL }},
    { &hf_f1ap_m7_links_to_log,
      { "m7-links-to-log", "f1ap.m7_links_to_log",
        FT_UINT32, BASE_DEC, VALS(f1ap_M7_Links_to_log_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_mdt_Activation,
      { "mdt-Activation", "f1ap.mdt_Activation",
        FT_UINT32, BASE_DEC, VALS(f1ap_MDT_Activation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_measurementsToActivate,
      { "measurementsToActivate", "f1ap.measurementsToActivate",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_m2Configuration,
      { "m2Configuration", "f1ap.m2Configuration",
        FT_UINT32, BASE_DEC, VALS(f1ap_M2Configuration_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_m5Configuration,
      { "m5Configuration", "f1ap.m5Configuration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_m6Configuration,
      { "m6Configuration", "f1ap.m6Configuration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_m7Configuration,
      { "m7Configuration", "f1ap.m7Configuration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MDTPLMNList_item,
      { "PLMN-Identity", "f1ap.PLMN_Identity",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MDTPLMNModificationList_item,
      { "PLMN-Identity", "f1ap.PLMN_Identity",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uL_AngleOfArrival,
      { "uL-AngleOfArrival", "f1ap.uL_AngleOfArrival_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UL_AoA", HFILL }},
    { &hf_f1ap_uL_SRS_RSRP,
      { "uL-SRS-RSRP", "f1ap.uL_SRS_RSRP",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uL_RTOA,
      { "uL-RTOA", "f1ap.uL_RTOA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UL_RTOA_Measurement", HFILL }},
    { &hf_f1ap_gNB_RxTxTimeDiff,
      { "gNB-RxTxTimeDiff", "f1ap.gNB_RxTxTimeDiff_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_location_Information,
      { "location-Information", "f1ap.location_Information",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_velocity_Information,
      { "velocity-Information", "f1ap.velocity_Information",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_location_time_stamp,
      { "location-time-stamp", "f1ap.location_time_stamp_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TimeStamp", HFILL }},
    { &hf_f1ap_targetRelayUEID_01,
      { "targetRelayUEID", "f1ap.targetRelayUEID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "GNB_DU_UE_F1AP_ID", HFILL }},
    { &hf_f1ap_NA_Resource_Configuration_List_item,
      { "NA-Resource-Configuration-Item", "f1ap.NA_Resource_Configuration_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nADownlink,
      { "nADownlink", "f1ap.nADownlink",
        FT_UINT32, BASE_DEC, VALS(f1ap_NADownlink_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_nAUplink,
      { "nAUplink", "f1ap.nAUplink",
        FT_UINT32, BASE_DEC, VALS(f1ap_NAUplink_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_nAFlexible,
      { "nAFlexible", "f1ap.nAFlexible",
        FT_UINT32, BASE_DEC, VALS(f1ap_NAFlexible_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_oLDNCGI,
      { "oLDNCGI", "f1ap.oLDNCGI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_nEWNCGI,
      { "nEWNCGI", "f1ap.nEWNCGI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_Neighbour_Node_Cells_List_item,
      { "Neighbour-Node-Cells-List-Item", "f1ap.Neighbour_Node_Cells_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_peer_Parent_Node_Indicator,
      { "peer-Parent-Node-Indicator", "f1ap.peer_Parent_Node_Indicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_peer_Parent_Node_Indicator_vals), 0,
        "T_peer_Parent_Node_Indicator", HFILL }},
    { &hf_f1ap_cSI_RS_Configuration_01,
      { "cSI-RS-Configuration", "f1ap.cSI_RS_Configuration",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_cSI_RS_Configuration_01", HFILL }},
    { &hf_f1ap_sR_Configuration_01,
      { "sR-Configuration", "f1ap.sR_Configuration",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_sR_Configuration_01", HFILL }},
    { &hf_f1ap_pDCCH_ConfigSIB1_01,
      { "pDCCH-ConfigSIB1", "f1ap.pDCCH_ConfigSIB1",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_pDCCH_ConfigSIB1_01", HFILL }},
    { &hf_f1ap_sCS_Common_01,
      { "sCS-Common", "f1ap.sCS_Common",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_sCS_Common_01", HFILL }},
    { &hf_f1ap_intendedTDD_DL_ULConfig,
      { "intendedTDD-DL-ULConfig", "f1ap.intendedTDD_DL_ULConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NeighbourNR_CellsForSON_List_item,
      { "NeighbourNR-CellsForSON-Item", "f1ap.NeighbourNR_CellsForSON_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nR_ModeInfoRel16,
      { "nR-ModeInfoRel16", "f1ap.nR_ModeInfoRel16",
        FT_UINT32, BASE_DEC, VALS(f1ap_NR_ModeInfoRel16_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sSB_PositionsInBurst,
      { "sSB-PositionsInBurst", "f1ap.sSB_PositionsInBurst",
        FT_UINT32, BASE_DEC, VALS(f1ap_SSB_PositionsInBurst_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_nRPRACHConfig,
      { "nRPRACHConfig", "f1ap.nRPRACHConfig_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_latitude_01,
      { "latitude", "f1ap.latitude",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M2147483648_2147483647", HFILL }},
    { &hf_f1ap_longitude_01,
      { "longitude", "f1ap.longitude",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M2147483648_2147483647", HFILL }},
    { &hf_f1ap_altitude_01,
      { "altitude", "f1ap.altitude",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M64000_1280000", HFILL }},
    { &hf_f1ap_uncertaintySemi_major_01,
      { "uncertaintySemi-major", "f1ap.uncertaintySemi_major",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_f1ap_uncertaintySemi_minor_01,
      { "uncertaintySemi-minor", "f1ap.uncertaintySemi_minor",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_f1ap_uncertaintyAltitude_01,
      { "uncertaintyAltitude", "f1ap.uncertaintyAltitude",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_f1ap_nR_PRSBeamInformationList,
      { "nR-PRSBeamInformationList", "f1ap.nR_PRSBeamInformationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_lCStoGCSTranslationList,
      { "lCStoGCSTranslationList", "f1ap.lCStoGCSTranslationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NR_PRSBeamInformationList_item,
      { "NR-PRSBeamInformationItem", "f1ap.NR_PRSBeamInformationItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRSResourceSetID,
      { "pRSResourceSetID", "f1ap.pRSResourceSetID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PRS_Resource_Set_ID", HFILL }},
    { &hf_f1ap_pRSAngleList,
      { "pRSAngleList", "f1ap.pRSAngleList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nrpaging_eDRX_Cycle_Idle,
      { "nrpaging-eDRX-Cycle-Idle", "f1ap.nrpaging_eDRX_Cycle_Idle",
        FT_UINT32, BASE_DEC, VALS(f1ap_NRPaging_eDRX_Cycle_Idle_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_nrpaging_Time_Window,
      { "nrpaging-Time-Window", "f1ap.nrpaging_Time_Window",
        FT_UINT32, BASE_DEC, VALS(f1ap_NRPaging_Time_Window_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_nrpaging_eDRX_Cycle_Inactive,
      { "nrpaging-eDRX-Cycle-Inactive", "f1ap.nrpaging_eDRX_Cycle_Inactive",
        FT_UINT32, BASE_DEC, VALS(f1ap_NRPaging_eDRX_Cycle_Inactive_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_nRPaging_long_eDRX_Cycle_Inactive,
      { "nRPaging-long-eDRX-Cycle-Inactive", "f1ap.nRPaging_long_eDRX_Cycle_Inactive",
        FT_UINT32, BASE_DEC, VALS(f1ap_NRPaging_long_eDRX_Cycle_Inactive_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_nRPaging_Time_Window_Inactive,
      { "nRPaging-Time-Window-Inactive", "f1ap.nRPaging_Time_Window_Inactive",
        FT_UINT32, BASE_DEC, VALS(f1ap_NRPaging_Time_Window_Inactive_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_message_Identifier,
      { "message-Identifier", "f1ap.message_Identifier",
        FT_BYTES, BASE_NONE, NULL, 0,
        "MessageIdentifier", HFILL }},
    { &hf_f1ap_serialNumber,
      { "serialNumber", "f1ap.serialNumber",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sNPN_Broadcast_Information,
      { "sNPN-Broadcast-Information", "f1ap.sNPN_Broadcast_Information_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NPN_Broadcast_Information_SNPN", HFILL }},
    { &hf_f1ap_pNI_NPN_Broadcast_Information,
      { "pNI-NPN-Broadcast-Information", "f1ap.pNI_NPN_Broadcast_Information_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NPN_Broadcast_Information_PNI_NPN", HFILL }},
    { &hf_f1ap_broadcastSNPNID_List,
      { "broadcastSNPNID-List", "f1ap.broadcastSNPNID_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BroadcastSNPN_ID_List", HFILL }},
    { &hf_f1ap_broadcastPNI_NPN_ID_Information,
      { "broadcastPNI-NPN-ID-Information", "f1ap.broadcastPNI_NPN_ID_Information",
        FT_UINT32, BASE_DEC, NULL, 0,
        "BroadcastPNI_NPN_ID_List", HFILL }},
    { &hf_f1ap_sNPN_Information,
      { "sNPN-Information", "f1ap.sNPN_Information",
        FT_BYTES, BASE_NONE, NULL, 0,
        "NID", HFILL }},
    { &hf_f1ap_NRCarrierList_item,
      { "NRCarrierItem", "f1ap.NRCarrierItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_carrierSCS,
      { "carrierSCS", "f1ap.carrierSCS",
        FT_UINT32, BASE_DEC, VALS(f1ap_NRSCS_vals), 0,
        "NRSCS", HFILL }},
    { &hf_f1ap_offsetToCarrier,
      { "offsetToCarrier", "f1ap.offsetToCarrier",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2199_", HFILL }},
    { &hf_f1ap_carrierBandwidth,
      { "carrierBandwidth", "f1ap.carrierBandwidth",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxnoofPhysicalResourceBlocks_", HFILL }},
    { &hf_f1ap_sul_Information,
      { "sul-Information", "f1ap.sul_Information_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_freqBandListNr,
      { "freqBandListNr", "f1ap.freqBandListNr",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem", HFILL }},
    { &hf_f1ap_freqBandListNr_item,
      { "FreqBandNrItem", "f1ap.FreqBandNrItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_fDD_03,
      { "fDD", "f1ap.fDD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FDD_Info", HFILL }},
    { &hf_f1ap_tDD_03,
      { "tDD", "f1ap.tDD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TDD_Info", HFILL }},
    { &hf_f1ap_fDD_04,
      { "fDD", "f1ap.fDD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FDD_InfoRel16", HFILL }},
    { &hf_f1ap_tDD_04,
      { "tDD", "f1ap.tDD_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TDD_InfoRel16", HFILL }},
    { &hf_f1ap_ulPRACHConfigList,
      { "ulPRACHConfigList", "f1ap.ulPRACHConfigList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NRPRACHConfigList", HFILL }},
    { &hf_f1ap_sulPRACHConfigList,
      { "sulPRACHConfigList", "f1ap.sulPRACHConfigList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NRPRACHConfigList", HFILL }},
    { &hf_f1ap_NRPRACHConfigList_item,
      { "NRPRACHConfigItem", "f1ap.NRPRACHConfigItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nRSCS_01,
      { "nRSCS", "f1ap.nRSCS",
        FT_UINT32, BASE_DEC, VALS(f1ap_NRSCS_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_prachFreqStartfromCarrier,
      { "prachFreqStartfromCarrier", "f1ap.prachFreqStartfromCarrier",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxnoofPhysicalResourceBlocks_1_", HFILL }},
    { &hf_f1ap_prachFDM,
      { "prachFDM", "f1ap.prachFDM",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_prachFDM_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_prachConfigIndex,
      { "prachConfigIndex", "f1ap.prachConfigIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255_", HFILL }},
    { &hf_f1ap_ssb_perRACH_Occasion,
      { "ssb-perRACH-Occasion", "f1ap.ssb_perRACH_Occasion",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_ssb_perRACH_Occasion_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_freqDomainLength,
      { "freqDomainLength", "f1ap.freqDomainLength",
        FT_UINT32, BASE_DEC, VALS(f1ap_FreqDomainLength_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_zeroCorrelZoneConfig,
      { "zeroCorrelZoneConfig", "f1ap.zeroCorrelZoneConfig",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_f1ap_NR_U_Channel_Info_List_item,
      { "NR-U-Channel-Info-Item", "f1ap.NR_U_Channel_Info_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nr_U_channel_ID,
      { "nr-U-channel-ID", "f1ap.nr_U_channel_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxnoofNR_UChannelIDs_", HFILL }},
    { &hf_f1ap_nR_ARFCN,
      { "nR-ARFCN", "f1ap.nR_ARFCN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNRARFCN", HFILL }},
    { &hf_f1ap_bandwidth,
      { "bandwidth", "f1ap.bandwidth",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_bandwidth_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_NR_U_Channel_List_item,
      { "NR-U-Channel-Item", "f1ap.NR_U_Channel_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nR_U_ChannelID,
      { "nR-U-ChannelID", "f1ap.nR_U_ChannelID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxnoofNR_UChannelIDs", HFILL }},
    { &hf_f1ap_channelOccupancyTimePercentageDL,
      { "channelOccupancyTimePercentageDL", "f1ap.channelOccupancyTimePercentageDL",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        "ChannelOccupancyTimePercentage", HFILL }},
    { &hf_f1ap_energyDetectionThreshold,
      { "energyDetectionThreshold", "f1ap.energyDetectionThreshold",
        FT_INT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_dbm), 0,
        NULL, HFILL }},
    { &hf_f1ap_numDLSymbols,
      { "numDLSymbols", "f1ap.numDLSymbols",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_13_", HFILL }},
    { &hf_f1ap_numULSymbols,
      { "numULSymbols", "f1ap.numULSymbols",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_13_", HFILL }},
    { &hf_f1ap_uENRSidelinkAggregateMaximumBitrate,
      { "uENRSidelinkAggregateMaximumBitrate", "f1ap.uENRSidelinkAggregateMaximumBitrate",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_n6JitterLowerBound,
      { "n6JitterLowerBound", "f1ap.n6JitterLowerBound",
        FT_INT32, BASE_CUSTOM, CF_FUNC(f1ap_N6Jitter_fmt), 0,
        "INTEGER_M127_127", HFILL }},
    { &hf_f1ap_n6JitterUpperBound,
      { "n6JitterUpperBound", "f1ap.n6JitterUpperBound",
        FT_INT32, BASE_CUSTOM, CF_FUNC(f1ap_N6Jitter_fmt), 0,
        "INTEGER_M127_127", HFILL }},
    { &hf_f1ap_onDemandPRSRequestAllowed,
      { "onDemandPRSRequestAllowed", "f1ap.onDemandPRSRequestAllowed",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_f1ap_allowedResourceSetPeriodicityValues,
      { "allowedResourceSetPeriodicityValues", "f1ap.allowedResourceSetPeriodicityValues",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_24", HFILL }},
    { &hf_f1ap_allowedPRSBandwidthValues,
      { "allowedPRSBandwidthValues", "f1ap.allowedPRSBandwidthValues",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_f1ap_allowedResourceRepetitionFactorValues,
      { "allowedResourceRepetitionFactorValues", "f1ap.allowedResourceRepetitionFactorValues",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_f1ap_allowedResourceNumberOfSymbolsValues,
      { "allowedResourceNumberOfSymbolsValues", "f1ap.allowedResourceNumberOfSymbolsValues",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_f1ap_allowedCombSizeValues,
      { "allowedCombSizeValues", "f1ap.allowedCombSizeValues",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_f1ap_pER_Scalar,
      { "pER-Scalar", "f1ap.pER_Scalar",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pER_Exponent,
      { "pER-Exponent", "f1ap.pER_Exponent",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_indirectPathAddition,
      { "indirectPathAddition", "f1ap.indirectPathAddition_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_directPathAddition,
      { "directPathAddition", "f1ap.directPathAddition_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_n3C_indirectPathAddition,
      { "n3C-indirectPathAddition", "f1ap.n3C_indirectPathAddition_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "N3CIndirectPathAddition", HFILL }},
    { &hf_f1ap_Recommended_SSBs_List_item,
      { "RecommendedSSBItem-List-Item", "f1ap.RecommendedSSBItem_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_rANUEPagingIdentity,
      { "rANUEPagingIdentity", "f1ap.rANUEPagingIdentity_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_cNUEPagingIdentity,
      { "cNUEPagingIdentity", "f1ap.cNUEPagingIdentity",
        FT_UINT32, BASE_DEC, VALS(f1ap_CNUEPagingIdentity_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_cNSubgroupID,
      { "cNSubgroupID", "f1ap.cNSubgroupID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_k0_01,
      { "k0", "f1ap.k0",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_16351", HFILL }},
    { &hf_f1ap_k1_01,
      { "k1", "f1ap.k1",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_8176", HFILL }},
    { &hf_f1ap_k2_01,
      { "k2", "f1ap.k2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4088", HFILL }},
    { &hf_f1ap_k3_01,
      { "k3", "f1ap.k3",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2044", HFILL }},
    { &hf_f1ap_k4_01,
      { "k4", "f1ap.k4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1022", HFILL }},
    { &hf_f1ap_k5_01,
      { "k5", "f1ap.k5",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_511", HFILL }},
    { &hf_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_List_item,
      { "Parent-IAB-Nodes-NA-Resource-Configuration-Item", "f1ap.Parent_IAB_Nodes_NA_Resource_Configuration_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_broadcastCellList,
      { "broadcastCellList", "f1ap.broadcastCellList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pathlossReferenceSignal,
      { "pathlossReferenceSignal", "f1ap.pathlossReferenceSignal",
        FT_UINT32, BASE_DEC, VALS(f1ap_PathlossReferenceSignal_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sSB,
      { "sSB", "f1ap.sSB_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_dL_PRS,
      { "dL-PRS", "f1ap.dL_PRS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_t420,
      { "t420", "f1ap.t420",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_t420_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_non_Dynamic_PQI,
      { "non-Dynamic-PQI", "f1ap.non_Dynamic_PQI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NonDynamicPQIDescriptor", HFILL }},
    { &hf_f1ap_dynamic_PQI,
      { "dynamic-PQI", "f1ap.dynamic_PQI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "DynamicPQIDescriptor", HFILL }},
    { &hf_f1ap_pC5_QoS_Characteristics,
      { "pC5-QoS-Characteristics", "f1ap.pC5_QoS_Characteristics",
        FT_UINT32, BASE_DEC, VALS(f1ap_PC5_QoS_Characteristics_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_pC5_QoS_Flow_Bit_Rates,
      { "pC5-QoS-Flow-Bit-Rates", "f1ap.pC5_QoS_Flow_Bit_Rates_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PC5FlowBitRates", HFILL }},
    { &hf_f1ap_guaranteedFlowBitRate,
      { "guaranteedFlowBitRate", "f1ap.guaranteedFlowBitRate",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_maximumFlowBitRate,
      { "maximumFlowBitRate", "f1ap.maximumFlowBitRate",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_pC5RLCChannelQoS,
      { "pC5RLCChannelQoS", "f1ap.pC5RLCChannelQoS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "QoSFlowLevelQoSParameters", HFILL }},
    { &hf_f1ap_pC5ControlPlaneTrafficType,
      { "pC5ControlPlaneTrafficType", "f1ap.pC5ControlPlaneTrafficType",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_pC5ControlPlaneTrafficType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelToBeSetupList_item,
      { "PC5RLCChannelToBeSetupItem", "f1ap.PC5RLCChannelToBeSetupItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pC5RLCChannelID,
      { "pC5RLCChannelID", "f1ap.pC5RLCChannelID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pC5RLCChannelQoSInformation,
      { "pC5RLCChannelQoSInformation", "f1ap.pC5RLCChannelQoSInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_PC5RLCChannelQoSInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelToBeModifiedList_item,
      { "PC5RLCChannelToBeModifiedItem", "f1ap.PC5RLCChannelToBeModifiedItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelToBeReleasedList_item,
      { "PC5RLCChannelToBeReleasedItem", "f1ap.PC5RLCChannelToBeReleasedItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelSetupList_item,
      { "PC5RLCChannelSetupItem", "f1ap.PC5RLCChannelSetupItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelFailedToBeSetupList_item,
      { "PC5RLCChannelFailedToBeSetupItem", "f1ap.PC5RLCChannelFailedToBeSetupItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelModifiedList_item,
      { "PC5RLCChannelModifiedItem", "f1ap.PC5RLCChannelModifiedItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelFailedToBeModifiedList_item,
      { "PC5RLCChannelFailedToBeModifiedItem", "f1ap.PC5RLCChannelFailedToBeModifiedItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelRequiredToBeModifiedList_item,
      { "PC5RLCChannelRequiredToBeModifiedItem", "f1ap.PC5RLCChannelRequiredToBeModifiedItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PC5RLCChannelRequiredToBeReleasedList_item,
      { "PC5RLCChannelRequiredToBeReleasedItem", "f1ap.PC5RLCChannelRequiredToBeReleasedItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCMeasurementQuantities_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pDCmeasurementQuantitiesValue,
      { "pDCmeasurementQuantitiesValue", "f1ap.pDCmeasurementQuantitiesValue",
        FT_UINT32, BASE_DEC, VALS(f1ap_PDCMeasurementQuantitiesValue_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_pDCMeasuredResultsList,
      { "pDCMeasuredResultsList", "f1ap.pDCMeasuredResultsList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PDCMeasuredResultsList_item,
      { "PDCMeasuredResults-Item", "f1ap.PDCMeasuredResults_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pDCMeasuredResults_Value,
      { "pDCMeasuredResults-Value", "f1ap.pDCMeasuredResults_Value",
        FT_UINT32, BASE_DEC, VALS(f1ap_PDCMeasuredResults_Value_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_pDC_TADV_NR,
      { "pDC-TADV-NR", "f1ap.pDC_TADV_NR",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pDC_RxTxTimeDiff,
      { "pDC-RxTxTimeDiff", "f1ap.pDC_RxTxTimeDiff",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PeriodicityList_item,
      { "PeriodicityList-Item", "f1ap.PeriodicityList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_periodicitySRS,
      { "periodicitySRS", "f1ap.periodicitySRS",
        FT_UINT32, BASE_DEC, VALS(f1ap_PeriodicitySRS_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_periodicityLowerBound,
      { "periodicityLowerBound", "f1ap.periodicityLowerBound",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_microseconds), 0,
        "Periodicity", HFILL }},
    { &hf_f1ap_periodicityUpperBound,
      { "periodicityUpperBound", "f1ap.periodicityUpperBound",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_microseconds), 0,
        "Periodicity", HFILL }},
    { &hf_f1ap_AllowedPeriodicityList_item,
      { "Periodicity", "f1ap.Periodicity",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_microseconds), 0,
        NULL, HFILL }},
    { &hf_f1ap_periodicityBound,
      { "periodicityBound", "f1ap.periodicityBound_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_periodicityList,
      { "periodicityList", "f1ap.periodicityList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "AllowedPeriodicityList", HFILL }},
    { &hf_f1ap_choice_extensions,
      { "choice-extensions", "f1ap.choice_extensions_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ProtocolIE_SingleContainer", HFILL }},
    { &hf_f1ap_PositioningBroadcastCells_item,
      { "NRCGI", "f1ap.NRCGI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_posMeasGapPreConfigToAddModList,
      { "posMeasGapPreConfigToAddModList", "f1ap.posMeasGapPreConfigToAddModList",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_posMeasGapPreConfigToReleaseList,
      { "posMeasGapPreConfigToReleaseList", "f1ap.posMeasGapPreConfigToReleaseList",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PosMeasurementQuantities_item,
      { "PosMeasurementQuantities-Item", "f1ap.PosMeasurementQuantities_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_posMeasurementType,
      { "posMeasurementType", "f1ap.posMeasurementType",
        FT_UINT32, BASE_DEC, VALS(f1ap_PosMeasurementType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_timingReportingGranularityFactor,
      { "timingReportingGranularityFactor", "f1ap.timingReportingGranularityFactor",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5", HFILL }},
    { &hf_f1ap_PosMeasurementResult_item,
      { "PosMeasurementResultItem", "f1ap.PosMeasurementResultItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_measuredResultsValue,
      { "measuredResultsValue", "f1ap.measuredResultsValue",
        FT_UINT32, BASE_DEC, VALS(f1ap_MeasuredResultsValue_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_measurementBeamInfo,
      { "measurementBeamInfo", "f1ap.measurementBeamInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PosMeasurementResultList_item,
      { "PosMeasurementResultList-Item", "f1ap.PosMeasurementResultList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_posMeasurementResult,
      { "posMeasurementResult", "f1ap.posMeasurementResult",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tRPID,
      { "tRPID", "f1ap.tRPID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_periodic,
      { "periodic", "f1ap.periodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PosResourceSetTypePR", HFILL }},
    { &hf_f1ap_semi_persistent,
      { "semi-persistent", "f1ap.semi_persistent_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PosResourceSetTypeSP", HFILL }},
    { &hf_f1ap_aperiodic,
      { "aperiodic", "f1ap.aperiodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PosResourceSetTypeAP", HFILL }},
    { &hf_f1ap_posperiodicSet,
      { "posperiodicSet", "f1ap.posperiodicSet",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_posperiodicSet_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_possemi_persistentSet,
      { "possemi-persistentSet", "f1ap.possemi_persistentSet",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_possemi_persistentSet_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sRSResourceTrigger_List,
      { "sRSResourceTrigger-List", "f1ap.sRSResourceTrigger_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_3", HFILL }},
    { &hf_f1ap_PosSItypeList_item,
      { "PosSItype-Item", "f1ap.PosSItype_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_posItype,
      { "posItype", "f1ap.posItype",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PosSItype", HFILL }},
    { &hf_f1ap_PosSRSResourceID_List_item,
      { "SRSPosResourceID", "f1ap.SRSPosResourceID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_srs_PosResourceId,
      { "srs-PosResourceId", "f1ap.srs_PosResourceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SRSPosResourceID", HFILL }},
    { &hf_f1ap_transmissionCombPos,
      { "transmissionCombPos", "f1ap.transmissionCombPos",
        FT_UINT32, BASE_DEC, VALS(f1ap_TransmissionCombPos_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_startPosition,
      { "startPosition", "f1ap.startPosition",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_13", HFILL }},
    { &hf_f1ap_nrofSymbols,
      { "nrofSymbols", "f1ap.nrofSymbols",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_nrofSymbols_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_freqDomainShift,
      { "freqDomainShift", "f1ap.freqDomainShift",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_268", HFILL }},
    { &hf_f1ap_c_SRS,
      { "c-SRS", "f1ap.c_SRS",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_f1ap_groupOrSequenceHopping,
      { "groupOrSequenceHopping", "f1ap.groupOrSequenceHopping",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_groupOrSequenceHopping_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_resourceTypePos,
      { "resourceTypePos", "f1ap.resourceTypePos",
        FT_UINT32, BASE_DEC, VALS(f1ap_ResourceTypePos_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sequenceId,
      { "sequenceId", "f1ap.sequenceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65535", HFILL }},
    { &hf_f1ap_spatialRelationPos,
      { "spatialRelationPos", "f1ap.spatialRelationPos",
        FT_UINT32, BASE_DEC, VALS(f1ap_SpatialRelationPos_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PosSRSResource_List_item,
      { "PosSRSResource-Item", "f1ap.PosSRSResource_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_possrsResourceSetID,
      { "possrsResourceSetID", "f1ap.possrsResourceSetID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_f1ap_possRSResourceID_List,
      { "possRSResourceID-List", "f1ap.possRSResourceID_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_posresourceSetType,
      { "posresourceSetType", "f1ap.posresourceSetType",
        FT_UINT32, BASE_DEC, VALS(f1ap_PosResourceSetType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PosValidityAreaCellList_item,
      { "PosValidityAreaCellList-Item", "f1ap.PosValidityAreaCellList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nRPCI_01,
      { "nRPCI", "f1ap.nRPCI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1007", HFILL }},
    { &hf_f1ap_PosSRSResourceSet_List_item,
      { "PosSRSResourceSet-Item", "f1ap.PosSRSResourceSet_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PreambleIndexList_item,
      { "PreambleIndexList-Item", "f1ap.PreambleIndexList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_preambleIndex_01,
      { "preambleIndex", "f1ap.preambleIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_f1ap_spectrumSharingGroupID,
      { "spectrumSharingGroupID", "f1ap.spectrumSharingGroupID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_eUTRACells_List,
      { "eUTRACells-List", "f1ap.eUTRACells_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRSResourceSet_List,
      { "pRSResourceSet-List", "f1ap.pRSResourceSet_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRS_IDPos,
      { "pRS-IDPos", "f1ap.pRS_IDPos",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_f1ap_pRS_Resource_Set_IDPos,
      { "pRS-Resource-Set-IDPos", "f1ap.pRS_Resource_Set_IDPos",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_f1ap_pRS_Resource_IDPos,
      { "pRS-Resource-IDPos", "f1ap.pRS_Resource_IDPos",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_f1ap_PRS_Measurement_Info_List_item,
      { "PRS-Measurement-Info-List-Item", "f1ap.PRS_Measurement_Info_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_measPRSPeriodicity,
      { "measPRSPeriodicity", "f1ap.measPRSPeriodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_measPRSPeriodicity_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_measPRSOffset,
      { "measPRSOffset", "f1ap.measPRSOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_159_", HFILL }},
    { &hf_f1ap_measurementPRSLength,
      { "measurementPRSLength", "f1ap.measurementPRSLength",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_measurementPRSLength_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_potential_SpCell_ID,
      { "potential-SpCell-ID", "f1ap.potential_SpCell_ID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_PRSAngleList_item,
      { "PRSAngleItem", "f1ap.PRSAngleItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nR_PRS_Azimuth,
      { "nR-PRS-Azimuth", "f1ap.nR_PRS_Azimuth",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_359", HFILL }},
    { &hf_f1ap_nR_PRS_Azimuth_fine,
      { "nR-PRS-Azimuth-fine", "f1ap.nR_PRS_Azimuth_fine",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_f1ap_nR_PRS_Elevation,
      { "nR-PRS-Elevation", "f1ap.nR_PRS_Elevation",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_180", HFILL }},
    { &hf_f1ap_nR_PRS_Elevation_fine,
      { "nR-PRS-Elevation-fine", "f1ap.nR_PRS_Elevation_fine",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_f1ap_pRSMutingOption1,
      { "pRSMutingOption1", "f1ap.pRSMutingOption1_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRSMutingOption2,
      { "pRSMutingOption2", "f1ap.pRSMutingOption2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mutingPattern,
      { "mutingPattern", "f1ap.mutingPattern",
        FT_UINT32, BASE_DEC, VALS(f1ap_DL_PRSMutingPattern_vals), 0,
        "DL_PRSMutingPattern", HFILL }},
    { &hf_f1ap_mutingBitRepetitionFactor,
      { "mutingBitRepetitionFactor", "f1ap.mutingBitRepetitionFactor",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_mutingBitRepetitionFactor_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PRSResource_List_item,
      { "PRSResource-Item", "f1ap.PRSResource_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRSResourceID,
      { "pRSResourceID", "f1ap.pRSResourceID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PRS_Resource_ID", HFILL }},
    { &hf_f1ap_sequenceID,
      { "sequenceID", "f1ap.sequenceID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_4095", HFILL }},
    { &hf_f1ap_rEOffset,
      { "rEOffset", "f1ap.rEOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_11_", HFILL }},
    { &hf_f1ap_resourceSlotOffset,
      { "resourceSlotOffset", "f1ap.resourceSlotOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_511", HFILL }},
    { &hf_f1ap_resourceSymbolOffset,
      { "resourceSymbolOffset", "f1ap.resourceSymbolOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_12", HFILL }},
    { &hf_f1ap_qCLInfo,
      { "qCLInfo", "f1ap.qCLInfo",
        FT_UINT32, BASE_DEC, VALS(f1ap_PRSResource_QCLInfo_vals), 0,
        "PRSResource_QCLInfo", HFILL }},
    { &hf_f1ap_qCLSourceSSB,
      { "qCLSourceSSB", "f1ap.qCLSourceSSB_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PRSResource_QCLSourceSSB", HFILL }},
    { &hf_f1ap_qCLSourcePRS,
      { "qCLSourcePRS", "f1ap.qCLSourcePRS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PRSResource_QCLSourcePRS", HFILL }},
    { &hf_f1ap_pCI_NR,
      { "pCI-NR", "f1ap.pCI_NR",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1007", HFILL }},
    { &hf_f1ap_qCLSourcePRSResourceSetID,
      { "qCLSourcePRSResourceSetID", "f1ap.qCLSourcePRSResourceSetID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PRS_Resource_Set_ID", HFILL }},
    { &hf_f1ap_qCLSourcePRSResourceID,
      { "qCLSourcePRSResourceID", "f1ap.qCLSourcePRSResourceID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PRS_Resource_ID", HFILL }},
    { &hf_f1ap_PRSResourceSet_List_item,
      { "PRSResourceSet-Item", "f1ap.PRSResourceSet_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_subcarrierSpacing_02,
      { "subcarrierSpacing", "f1ap.subcarrierSpacing",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_subcarrierSpacing_01_vals), 0,
        "T_subcarrierSpacing_01", HFILL }},
    { &hf_f1ap_pRSbandwidth,
      { "pRSbandwidth", "f1ap.pRSbandwidth",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_63", HFILL }},
    { &hf_f1ap_startPRB,
      { "startPRB", "f1ap.startPRB",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2176", HFILL }},
    { &hf_f1ap_combSize,
      { "combSize", "f1ap.combSize",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_combSize_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_cPType,
      { "cPType", "f1ap.cPType",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_cPType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_resourceSetPeriodicity,
      { "resourceSetPeriodicity", "f1ap.resourceSetPeriodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_resourceSetPeriodicity_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_resourceSetSlotOffset,
      { "resourceSetSlotOffset", "f1ap.resourceSetSlotOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_81919_", HFILL }},
    { &hf_f1ap_resourceRepetitionFactor,
      { "resourceRepetitionFactor", "f1ap.resourceRepetitionFactor",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_resourceRepetitionFactor_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_resourceTimeGap,
      { "resourceTimeGap", "f1ap.resourceTimeGap",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_resourceTimeGap_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_resourceNumberofSymbols,
      { "resourceNumberofSymbols", "f1ap.resourceNumberofSymbols",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_resourceNumberofSymbols_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_pRSMuting,
      { "pRSMuting", "f1ap.pRSMuting_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRSResourceTransmitPower,
      { "pRSResourceTransmitPower", "f1ap.pRSResourceTransmitPower",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M60_50", HFILL }},
    { &hf_f1ap_pRSResource_List,
      { "pRSResource-List", "f1ap.pRSResource_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRSTransmissionOffPerTRP,
      { "pRSTransmissionOffPerTRP", "f1ap.pRSTransmissionOffPerTRP_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRSTransmissionOffPerResourceSet,
      { "pRSTransmissionOffPerResourceSet", "f1ap.pRSTransmissionOffPerResourceSet",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRSTransmissionOffPerResource,
      { "pRSTransmissionOffPerResource", "f1ap.pRSTransmissionOffPerResource",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PRSTransmissionOffPerResource_item,
      { "PRSTransmissionOffPerResource-Item", "f1ap.PRSTransmissionOffPerResource_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRSTransmissionOffIndicationPerResourceList,
      { "pRSTransmissionOffIndicationPerResourceList", "f1ap.pRSTransmissionOffIndicationPerResourceList",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxnoofPRSresources_OF_PRSTransmissionOffIndicationPerResource_Item", HFILL }},
    { &hf_f1ap_pRSTransmissionOffIndicationPerResourceList_item,
      { "PRSTransmissionOffIndicationPerResource-Item", "f1ap.PRSTransmissionOffIndicationPerResource_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRSTransmissionOffIndication,
      { "pRSTransmissionOffIndication", "f1ap.pRSTransmissionOffIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_PRSTransmissionOffIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_PRSTransmissionOffPerResourceSet_item,
      { "PRSTransmissionOffPerResourceSet-Item", "f1ap.PRSTransmissionOffPerResourceSet_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sIBtype,
      { "sIBtype", "f1ap.sIBtype",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SIBType_PWS", HFILL }},
    { &hf_f1ap_sIBmessage,
      { "sIBmessage", "f1ap.sIBmessage",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PRSTRPList_item,
      { "PRSTRPItem", "f1ap.PRSTRPItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tRP_ID,
      { "tRP-ID", "f1ap.tRP_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "TRPID", HFILL }},
    { &hf_f1ap_requestedDLPRSTransmissionCharacteristics,
      { "requestedDLPRSTransmissionCharacteristics", "f1ap.requestedDLPRSTransmissionCharacteristics_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRSTransmissionOffInformation,
      { "pRSTransmissionOffInformation", "f1ap.pRSTransmissionOffInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_requestedDLPRSResourceSet_List,
      { "requestedDLPRSResourceSet-List", "f1ap.requestedDLPRSResourceSet_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_numberofFrequencyLayers,
      { "numberofFrequencyLayers", "f1ap.numberofFrequencyLayers",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_4", HFILL }},
    { &hf_f1ap_startTimeAndDuration,
      { "startTimeAndDuration", "f1ap.startTimeAndDuration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RequestedDLPRSResourceSet_List_item,
      { "RequestedDLPRSResourceSet-Item", "f1ap.RequestedDLPRSResourceSet_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_combSize_01,
      { "combSize", "f1ap.combSize",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_combSize_01_vals), 0,
        "T_combSize_01", HFILL }},
    { &hf_f1ap_resourceSetPeriodicity_01,
      { "resourceSetPeriodicity", "f1ap.resourceSetPeriodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_resourceSetPeriodicity_01_vals), 0,
        "T_resourceSetPeriodicity_01", HFILL }},
    { &hf_f1ap_resourceRepetitionFactor_01,
      { "resourceRepetitionFactor", "f1ap.resourceRepetitionFactor",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_resourceRepetitionFactor_01_vals), 0,
        "T_resourceRepetitionFactor_01", HFILL }},
    { &hf_f1ap_resourceNumberofSymbols_01,
      { "resourceNumberofSymbols", "f1ap.resourceNumberofSymbols",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_resourceNumberofSymbols_01_vals), 0,
        "T_resourceNumberofSymbols_01", HFILL }},
    { &hf_f1ap_requestedDLPRSResource_List,
      { "requestedDLPRSResource-List", "f1ap.requestedDLPRSResource_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_resourceSetStartTimeAndDuration,
      { "resourceSetStartTimeAndDuration", "f1ap.resourceSetStartTimeAndDuration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "StartTimeAndDuration", HFILL }},
    { &hf_f1ap_RequestedDLPRSResource_List_item,
      { "RequestedDLPRSResource-Item", "f1ap.RequestedDLPRSResource_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PRSTransmissionTRPList_item,
      { "PRSTransmissionTRPItem", "f1ap.PRSTransmissionTRPItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pRSConfiguration,
      { "pRSConfiguration", "f1ap.pRSConfiguration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ulPDUSetQoSInformation,
      { "ulPDUSetQoSInformation", "f1ap.ulPDUSetQoSInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDUSetQoSInformation", HFILL }},
    { &hf_f1ap_dlPDUSetQoSInformation,
      { "dlPDUSetQoSInformation", "f1ap.dlPDUSetQoSInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PDUSetQoSInformation", HFILL }},
    { &hf_f1ap_pduSetDelayBudget,
      { "pduSetDelayBudget", "f1ap.pduSetDelayBudget",
        FT_UINT32, BASE_CUSTOM, CF_FUNC(f1ap_ExtendedPacketDelayBudget_fmt), 0,
        "ExtendedPacketDelayBudget", HFILL }},
    { &hf_f1ap_pduSetErrorRate,
      { "pduSetErrorRate", "f1ap.pduSetErrorRate_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PacketErrorRate", HFILL }},
    { &hf_f1ap_pduSetIntegratedHandlingInformation,
      { "pduSetIntegratedHandlingInformation", "f1ap.pduSetIntegratedHandlingInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_pduSetIntegratedHandlingInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_qoEInformationList,
      { "qoEInformationList", "f1ap.qoEInformationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_QoEInformationList_item,
      { "QoEInformationList-Item", "f1ap.QoEInformationList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_qoEMetrics,
      { "qoEMetrics", "f1ap.qoEMetrics_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_appLayerBufferLevelList,
      { "appLayerBufferLevelList", "f1ap.appLayerBufferLevelList",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_playoutDelayForMediaStartup,
      { "playoutDelayForMediaStartup", "f1ap.playoutDelayForMediaStartup",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_non_Dynamic_5QI,
      { "non-Dynamic-5QI", "f1ap.non_Dynamic_5QI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NonDynamic5QIDescriptor", HFILL }},
    { &hf_f1ap_dynamic_5QI,
      { "dynamic-5QI", "f1ap.dynamic_5QI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "Dynamic5QIDescriptor", HFILL }},
    { &hf_f1ap_qoS_Characteristics,
      { "qoS-Characteristics", "f1ap.qoS_Characteristics",
        FT_UINT32, BASE_DEC, VALS(f1ap_QoS_Characteristics_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_nGRANallocationRetentionPriority,
      { "nGRANallocationRetentionPriority", "f1ap.nGRANallocationRetentionPriority_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NGRANAllocationAndRetentionPriority", HFILL }},
    { &hf_f1ap_gBR_QoS_Flow_Information,
      { "gBR-QoS-Flow-Information", "f1ap.gBR_QoS_Flow_Information_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GBR_QoSFlowInformation", HFILL }},
    { &hf_f1ap_reflective_QoS_Attribute,
      { "reflective-QoS-Attribute", "f1ap.reflective_QoS_Attribute",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_reflective_QoS_Attribute_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_eUTRANQoS,
      { "eUTRANQoS", "f1ap.eUTRANQoS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_RAReportList_item,
      { "RAReportItem", "f1ap.RAReportItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_rAReportContainer,
      { "rAReportContainer", "f1ap.rAReportContainer",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uEAssitantIdentifier,
      { "uEAssitantIdentifier", "f1ap.uEAssitantIdentifier",
        FT_UINT32, BASE_DEC, NULL, 0,
        "GNB_DU_UE_F1AP_ID", HFILL }},
    { &hf_f1ap_RAReportIndicationList_item,
      { "RAReportIndicationList-Item", "f1ap.RAReportIndicationList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSBAreaRadioResourceStatusList,
      { "sSBAreaRadioResourceStatusList", "f1ap.sSBAreaRadioResourceStatusList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_dl_Total_PRB_usage,
      { "dl-Total-PRB-usage", "f1ap.dl_Total_PRB_usage",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_ul_Total_PRB_usage,
      { "ul-Total-PRB-usage", "f1ap.ul_Total_PRB_usage",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_dl_GBR_PRB_usage_for_MIMO,
      { "dl-GBR-PRB-usage-for-MIMO", "f1ap.dl_GBR_PRB_usage_for_MIMO",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_ul_GBR_PRB_usage_for_MIMO,
      { "ul-GBR-PRB-usage-for-MIMO", "f1ap.ul_GBR_PRB_usage_for_MIMO",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_dl_non_GBR_PRB_usage_for_MIMO,
      { "dl-non-GBR-PRB-usage-for-MIMO", "f1ap.dl_non_GBR_PRB_usage_for_MIMO",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_ul_non_GBR_PRB_usage_for_MIMO,
      { "ul-non-GBR-PRB-usage-for-MIMO", "f1ap.ul_non_GBR_PRB_usage_for_MIMO",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_dl_Total_PRB_usage_for_MIMO,
      { "dl-Total-PRB-usage-for-MIMO", "f1ap.dl_Total_PRB_usage_for_MIMO",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_ul_Total_PRB_usage_for_MIMO,
      { "ul-Total-PRB-usage-for-MIMO", "f1ap.ul_Total_PRB_usage_for_MIMO",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_proactive,
      { "proactive", "f1ap.proactive_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RANfeedbacktype_proactive", HFILL }},
    { &hf_f1ap_reactive,
      { "reactive", "f1ap.reactive_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RANfeedbacktype_reactive", HFILL }},
    { &hf_f1ap_burstArrivalTimeWindow,
      { "burstArrivalTimeWindow", "f1ap.burstArrivalTimeWindow_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_periodicityRange,
      { "periodicityRange", "f1ap.periodicityRange",
        FT_UINT32, BASE_DEC, VALS(f1ap_PeriodicityRange_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_capabilityForBATAdaptation,
      { "capabilityForBATAdaptation", "f1ap.capabilityForBATAdaptation",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_capabilityForBATAdaptation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_synchronisationstate,
      { "synchronisationstate", "f1ap.synchronisationstate",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_synchronisationstate_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_traceabletoUTC,
      { "traceabletoUTC", "f1ap.traceabletoUTC",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_traceabletoUTC_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_traceabletoGNSS,
      { "traceabletoGNSS", "f1ap.traceabletoGNSS",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_traceabletoGNSS_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_clockFrequencyStability,
      { "clockFrequencyStability", "f1ap.clockFrequencyStability",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_16", HFILL }},
    { &hf_f1ap_clockAccuracy,
      { "clockAccuracy", "f1ap.clockAccuracy",
        FT_UINT32, BASE_DEC, VALS(f1ap_ClockAccuracy_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_parentTimeSource,
      { "parentTimeSource", "f1ap.parentTimeSource",
        FT_UINT32, BASE_DEC, VALS(f1ap_ParentTImeSource_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_clockAccuracyValue,
      { "clockAccuracyValue", "f1ap.clockAccuracyValue",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_40000000_", HFILL }},
    { &hf_f1ap_clockAccuracyIndex,
      { "clockAccuracyIndex", "f1ap.clockAccuracyIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_32_47_", HFILL }},
    { &hf_f1ap_iRNTI,
      { "iRNTI", "f1ap.iRNTI",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_40", HFILL }},
    { &hf_f1ap_eNDC,
      { "eNDC", "f1ap.eNDC",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SubscriberProfileIDforRFP", HFILL }},
    { &hf_f1ap_nGRAN,
      { "nGRAN", "f1ap.nGRAN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "RAT_FrequencySelectionPriority", HFILL }},
    { &hf_f1ap_rBSetSize,
      { "rBSetSize", "f1ap.rBSetSize",
        FT_UINT32, BASE_DEC, VALS(f1ap_RBSetSize_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_nUmberRBsets,
      { "nUmberRBsets", "f1ap.nUmberRBsets",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_maxnoofRBsetsPerCell", HFILL }},
    { &hf_f1ap_Recommended_SSBs_for_Paging_List_item,
      { "Recommended-SSBs-for-Paging-List-Item", "f1ap.Recommended_SSBs_for_Paging_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSBs_forPaging_List,
      { "sSBs-forPaging-List", "f1ap.sSBs_forPaging_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_coordinateID,
      { "coordinateID", "f1ap.coordinateID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_referencePointCoordinate,
      { "referencePointCoordinate", "f1ap.referencePointCoordinate_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "AccessPointPosition", HFILL }},
    { &hf_f1ap_referencePointCoordinateHA,
      { "referencePointCoordinateHA", "f1ap.referencePointCoordinateHA_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NGRANHighAccuracyAccessPointPosition", HFILL }},
    { &hf_f1ap_nZP_CSI_RS,
      { "nZP-CSI-RS", "f1ap.nZP_CSI_RS",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NZP_CSI_RS_ResourceID", HFILL }},
    { &hf_f1ap_sRS,
      { "sRS", "f1ap.sRS",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SRSResourceID", HFILL }},
    { &hf_f1ap_rEQUESTforLowerLayerConfiguration,
      { "rEQUESTforLowerLayerConfiguration", "f1ap.rEQUESTforLowerLayerConfiguration",
        FT_UINT32, BASE_DEC, VALS(f1ap_RequestforLowerLayerConfiguration_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_referenceConfiguration_01,
      { "referenceConfiguration", "f1ap.referenceConfiguration",
        FT_BYTES, BASE_NONE, NULL, 0,
        "ReferenceConfigurationInformation", HFILL }},
    { &hf_f1ap_xYZunit,
      { "xYZunit", "f1ap.xYZunit",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_xYZunit_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_xvalue,
      { "xvalue", "f1ap.xvalue",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M65536_65535", HFILL }},
    { &hf_f1ap_yvalue,
      { "yvalue", "f1ap.yvalue",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M65536_65535", HFILL }},
    { &hf_f1ap_zvalue,
      { "zvalue", "f1ap.zvalue",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M32768_32767", HFILL }},
    { &hf_f1ap_locationUncertainty,
      { "locationUncertainty", "f1ap.locationUncertainty_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_milli_Arc_SecondUnits,
      { "milli-Arc-SecondUnits", "f1ap.milli_Arc_SecondUnits",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_milli_Arc_SecondUnits_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_heightUnits,
      { "heightUnits", "f1ap.heightUnits",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_heightUnits_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_deltaLatitude,
      { "deltaLatitude", "f1ap.deltaLatitude",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M1024_1023", HFILL }},
    { &hf_f1ap_deltaLongitude,
      { "deltaLongitude", "f1ap.deltaLongitude",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M1024_1023", HFILL }},
    { &hf_f1ap_deltaHeight,
      { "deltaHeight", "f1ap.deltaHeight",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M1024_1023", HFILL }},
    { &hf_f1ap_RequestedSRSPreconfigurationCharacteristics_List_item,
      { "RequestedSRSPreconfigurationCharacteristics-Item", "f1ap.RequestedSRSPreconfigurationCharacteristics_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_requestedSRSTransmissionCharacteristics,
      { "requestedSRSTransmissionCharacteristics", "f1ap.requestedSRSTransmissionCharacteristics_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_numberOfTransmissions,
      { "numberOfTransmissions", "f1ap.numberOfTransmissions",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_500_", HFILL }},
    { &hf_f1ap_resourceType_01,
      { "resourceType", "f1ap.resourceType",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_resourceType_01_vals), 0,
        "T_resourceType_01", HFILL }},
    { &hf_f1ap_bandwidthSRS,
      { "bandwidthSRS", "f1ap.bandwidthSRS",
        FT_UINT32, BASE_DEC, VALS(f1ap_BandwidthSRS_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sRSResourceSetList,
      { "sRSResourceSetList", "f1ap.sRSResourceSetList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_eUTRA_Mode_Info,
      { "eUTRA-Mode-Info", "f1ap.eUTRA_Mode_Info",
        FT_UINT32, BASE_DEC, VALS(f1ap_EUTRA_Coex_Mode_Info_vals), 0,
        "EUTRA_Coex_Mode_Info", HFILL }},
    { &hf_f1ap_eUTRA_PRACH_Configuration,
      { "eUTRA-PRACH-Configuration", "f1ap.eUTRA_PRACH_Configuration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_meNB_Cell_ID,
      { "meNB-Cell-ID", "f1ap.meNB_Cell_ID",
        FT_BYTES, BASE_NONE, NULL, 0,
        "EUTRA_Cell_ID", HFILL }},
    { &hf_f1ap_resourceCoordinationEUTRACellInfo,
      { "resourceCoordinationEUTRACellInfo", "f1ap.resourceCoordinationEUTRACellInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nrofSumbols,
      { "nrofSumbols", "f1ap.nrofSumbols",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_nrofSumbols_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_periodic_01,
      { "periodic", "f1ap.periodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ResourceSetTypePeriodic", HFILL }},
    { &hf_f1ap_semi_persistent_01,
      { "semi-persistent", "f1ap.semi_persistent_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ResourceSetTypeSemi_persistent", HFILL }},
    { &hf_f1ap_aperiodic_01,
      { "aperiodic", "f1ap.aperiodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ResourceSetTypeAperiodic", HFILL }},
    { &hf_f1ap_periodicSet,
      { "periodicSet", "f1ap.periodicSet",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_periodicSet_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_semi_persistentSet,
      { "semi-persistentSet", "f1ap.semi_persistentSet",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_semi_persistentSet_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_slotoffset,
      { "slotoffset", "f1ap.slotoffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_32", HFILL }},
    { &hf_f1ap_eventType,
      { "eventType", "f1ap.eventType",
        FT_UINT32, BASE_DEC, VALS(f1ap_EventType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_reportingPeriodicityValue,
      { "reportingPeriodicityValue", "f1ap.reportingPeriodicityValue",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_periodic_02,
      { "periodic", "f1ap.periodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ResourceTypePeriodic", HFILL }},
    { &hf_f1ap_semi_persistent_02,
      { "semi-persistent", "f1ap.semi_persistent_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ResourceTypeSemi_persistent", HFILL }},
    { &hf_f1ap_aperiodic_02,
      { "aperiodic", "f1ap.aperiodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ResourceTypeAperiodic", HFILL }},
    { &hf_f1ap_periodicity,
      { "periodicity", "f1ap.periodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_periodicity_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_offset,
      { "offset", "f1ap.offset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_2559_", HFILL }},
    { &hf_f1ap_periodicity_01,
      { "periodicity", "f1ap.periodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_periodicity_01_vals), 0,
        "T_periodicity_01", HFILL }},
    { &hf_f1ap_aperiodicResourceType,
      { "aperiodicResourceType", "f1ap.aperiodicResourceType",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_aperiodicResourceType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_periodic_03,
      { "periodic", "f1ap.periodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ResourceTypePeriodicPos", HFILL }},
    { &hf_f1ap_semi_persistent_03,
      { "semi-persistent", "f1ap.semi_persistent_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ResourceTypeSemi_persistentPos", HFILL }},
    { &hf_f1ap_aperiodic_03,
      { "aperiodic", "f1ap.aperiodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "ResourceTypeAperiodicPos", HFILL }},
    { &hf_f1ap_periodicity_02,
      { "periodicity", "f1ap.periodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_SRS_Periodicity_vals), 0,
        "SRS_Periodicity", HFILL }},
    { &hf_f1ap_offset_01,
      { "offset", "f1ap.offset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_81919_", HFILL }},
    { &hf_f1ap_slotOffset,
      { "slotOffset", "f1ap.slotOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_32", HFILL }},
    { &hf_f1ap_rLCDuplicationStateList,
      { "rLCDuplicationStateList", "f1ap.rLCDuplicationStateList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_primaryPathIndication,
      { "primaryPathIndication", "f1ap.primaryPathIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_PrimaryPathIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_RLCDuplicationStateList_item,
      { "RLCDuplicationState-Item", "f1ap.RLCDuplicationState_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_duplicationState,
      { "duplicationState", "f1ap.duplicationState",
        FT_UINT32, BASE_DEC, VALS(f1ap_DuplicationState_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_assocatedLCID,
      { "assocatedLCID", "f1ap.assocatedLCID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "LCID", HFILL }},
    { &hf_f1ap_reestablishment_Indication,
      { "reestablishment-Indication", "f1ap.reestablishment_Indication",
        FT_UINT32, BASE_DEC, VALS(f1ap_Reestablishment_Indication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_RLFReportInformationList_item,
      { "RLFReportInformationItem", "f1ap.RLFReportInformationItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nRUERLFReportContainer,
      { "nRUERLFReportContainer", "f1ap.nRUERLFReportContainer",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_delivery_status,
      { "delivery-status", "f1ap.delivery_status",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PDCP_SN", HFILL }},
    { &hf_f1ap_triggering_message,
      { "triggering-message", "f1ap.triggering_message",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PDCP_SN", HFILL }},
    { &hf_f1ap_rRC_TerminatingIAB_Donor_gNB_ID,
      { "rRC-TerminatingIAB-Donor-gNB-ID", "f1ap.rRC_TerminatingIAB_Donor_gNB_ID_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "GlobalGNB_ID", HFILL }},
    { &hf_f1ap_mobileIAB_MT_BAP_Address,
      { "mobileIAB-MT-BAP-Address", "f1ap.mobileIAB_MT_BAP_Address",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BAPAddress", HFILL }},
    { &hf_f1ap_latest_RRC_Version,
      { "latest-RRC-Version", "f1ap.latest_RRC_Version",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_3", HFILL }},
    { &hf_f1ap_time,
      { "time", "f1ap.time",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_128_", HFILL }},
    { &hf_f1ap_timeUnit,
      { "timeUnit", "f1ap.timeUnit",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_timeUnit_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sCellIndex,
      { "sCellIndex", "f1ap.sCellIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sCellULConfigured,
      { "sCellULConfigured", "f1ap.sCellULConfigured",
        FT_UINT32, BASE_DEC, VALS(f1ap_CellULConfigured_vals), 0,
        "CellULConfigured", HFILL }},
    { &hf_f1ap_subcarrierSpacing_03,
      { "subcarrierSpacing", "f1ap.subcarrierSpacing",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_subcarrierSpacing_02_vals), 0,
        "T_subcarrierSpacing_02", HFILL }},
    { &hf_f1ap_carrierBandwidth_01,
      { "carrierBandwidth", "f1ap.carrierBandwidth",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_275_", HFILL }},
    { &hf_f1ap_sDTBearerConfig_List,
      { "sDTBearerConfig-List", "f1ap.sDTBearerConfig_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SDTBearerConfig_List_item,
      { "SDTBearerConfig-List-Item", "f1ap.SDTBearerConfig_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sDTBearerType,
      { "sDTBearerType", "f1ap.sDTBearerType",
        FT_UINT32, BASE_DEC, VALS(f1ap_SDTBearerType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sDTRLCBearerConfiguration,
      { "sDTRLCBearerConfiguration", "f1ap.sDTRLCBearerConfiguration",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sRB,
      { "sRB", "f1ap.sRB",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SRBID", HFILL }},
    { &hf_f1ap_dRB,
      { "dRB", "f1ap.dRB",
        FT_UINT32, BASE_DEC, NULL, 0,
        "DRBID", HFILL }},
    { &hf_f1ap_sdtIndicator,
      { "sdtIndicator", "f1ap.sdtIndicator",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_sdtIndicator_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sdtAssistantInformation,
      { "sdtAssistantInformation", "f1ap.sdtAssistantInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_sdtAssistantInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_expectedPropagationDelay,
      { "expectedPropagationDelay", "f1ap.expectedPropagationDelay",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M3841_3841_", HFILL }},
    { &hf_f1ap_delayUncertainty,
      { "delayUncertainty", "f1ap.delayUncertainty",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_246_", HFILL }},
    { &hf_f1ap_servingCellMO,
      { "servingCellMO", "f1ap.servingCellMO",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSB_Frequency,
      { "sSB-Frequency", "f1ap.sSB_Frequency",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3279165", HFILL }},
    { &hf_f1ap_ServingCellMO_encoded_in_CGC_List_item,
      { "ServingCellMO-encoded-in-CGC-Item", "f1ap.ServingCellMO_encoded_in_CGC_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_configured_EPS_TAC,
      { "configured-EPS-TAC", "f1ap.configured_EPS_TAC",
        FT_UINT16, BASE_DEC_HEX, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_servedPLMNs,
      { "servedPLMNs", "f1ap.servedPLMNs",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ServedPLMNs_List", HFILL }},
    { &hf_f1ap_nR_Mode_Info,
      { "nR-Mode-Info", "f1ap.nR_Mode_Info",
        FT_UINT32, BASE_DEC, VALS(f1ap_NR_Mode_Info_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_measurementTimingConfiguration,
      { "measurementTimingConfiguration", "f1ap.measurementTimingConfiguration",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Serving_Cells_List_item,
      { "Serving-Cells-List-Item", "f1ap.Serving_Cells_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_iAB_MT_Cell_NA_Resource_Configuration_Mode_Info,
      { "iAB-MT-Cell-NA-Resource-Configuration-Mode-Info", "f1ap.iAB_MT_Cell_NA_Resource_Configuration_Mode_Info",
        FT_UINT32, BASE_DEC, VALS(f1ap_IAB_MT_Cell_NA_Resource_Configuration_Mode_Info_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_Supported_MBS_FSA_ID_List_item,
      { "MBS-FrequencySelectionArea-Identity", "f1ap.MBS_FrequencySelectionArea_Identity",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sFN_Time_Offset,
      { "sFN-Time-Offset", "f1ap.sFN_Time_Offset",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_24", HFILL }},
    { &hf_f1ap_oldNRCGI,
      { "oldNRCGI", "f1ap.oldNRCGI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_eUTRA_Mode_Info_01,
      { "eUTRA-Mode-Info", "f1ap.eUTRA_Mode_Info",
        FT_UINT32, BASE_DEC, VALS(f1ap_EUTRA_Mode_Info_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_protectedEUTRAResourceIndication,
      { "protectedEUTRAResourceIndication", "f1ap.protectedEUTRAResourceIndication",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_service_state,
      { "service-state", "f1ap.service_state",
        FT_UINT32, BASE_DEC, VALS(f1ap_Service_State_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_switchingOffOngoing,
      { "switchingOffOngoing", "f1ap.switchingOffOngoing",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_switchingOffOngoing_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SItype_List_item,
      { "SItype-Item", "f1ap.SItype_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sItype,
      { "sItype", "f1ap.sItype",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sIBtype_01,
      { "sIBtype", "f1ap.sIBtype",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sIBmessage_01,
      { "sIBmessage", "f1ap.sIBmessage",
        FT_BYTES, BASE_NONE, NULL, 0,
        "T_sIBmessage_01", HFILL }},
    { &hf_f1ap_valueTag,
      { "valueTag", "f1ap.valueTag",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31_", HFILL }},
    { &hf_f1ap_gNB_DU_UE_F1APIDofRelayUE,
      { "gNB-DU-UE-F1APIDofRelayUE", "f1ap.gNB_DU_UE_F1APIDofRelayUE",
        FT_UINT32, BASE_DEC, NULL, 0,
        "GNB_DU_UE_F1AP_ID", HFILL }},
    { &hf_f1ap_sidelinkConfigurationContainer,
      { "sidelinkConfigurationContainer", "f1ap.sidelinkConfigurationContainer",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sLDRB_QoS,
      { "sLDRB-QoS", "f1ap.sLDRB_QoS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PC5QoSParameters", HFILL }},
    { &hf_f1ap_flowsMappedToSLDRB_List,
      { "flowsMappedToSLDRB-List", "f1ap.flowsMappedToSLDRB_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sLDRBID,
      { "sLDRBID", "f1ap.sLDRBID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sLDRBInformation,
      { "sLDRBInformation", "f1ap.sLDRBInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRXCycleList_item,
      { "SLDRXCycleItem", "f1ap.SLDRXCycleItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_rXUEID,
      { "rXUEID", "f1ap.rXUEID",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_24", HFILL }},
    { &hf_f1ap_sLDRXInformation,
      { "sLDRXInformation", "f1ap.sLDRXInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_SLDRXInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sLDRXCycle,
      { "sLDRXCycle", "f1ap.sLDRXCycle",
        FT_UINT32, BASE_DEC, VALS(f1ap_SLDRXCycleLength_vals), 0,
        "SLDRXCycleLength", HFILL }},
    { &hf_f1ap_nosLDRX,
      { "nosLDRX", "f1ap.nosLDRX",
        FT_UINT32, BASE_DEC, VALS(f1ap_SLDRXConfigurationIndicator_vals), 0,
        "SLDRXConfigurationIndicator", HFILL }},
    { &hf_f1ap_sliceAvailableCapacityList,
      { "sliceAvailableCapacityList", "f1ap.sliceAvailableCapacityList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SliceAvailableCapacityList_item,
      { "SliceAvailableCapacityItem", "f1ap.SliceAvailableCapacityItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sNSSAIAvailableCapacity_List,
      { "sNSSAIAvailableCapacity-List", "f1ap.sNSSAIAvailableCapacity_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SNSSAIAvailableCapacity_List_item,
      { "SNSSAIAvailableCapacity-Item", "f1ap.SNSSAIAvailableCapacity_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sliceAvailableCapacityValueDownlink,
      { "sliceAvailableCapacityValueDownlink", "f1ap.sliceAvailableCapacityValueDownlink",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_sliceAvailableCapacityValueUplink,
      { "sliceAvailableCapacityValueUplink", "f1ap.sliceAvailableCapacityValueUplink",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_sliceRadioResourceStatus,
      { "sliceRadioResourceStatus", "f1ap.sliceRadioResourceStatus",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SliceRadioResourceStatus_List", HFILL }},
    { &hf_f1ap_SliceRadioResourceStatus_List_item,
      { "SliceRadioResourceStatus-Item", "f1ap.SliceRadioResourceStatus_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sNSSAIRadioResourceStatus_List,
      { "sNSSAIRadioResourceStatus-List", "f1ap.sNSSAIRadioResourceStatus_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SNSSAIRadioResourceStatus_List_item,
      { "SNSSAIRadioResourceStatus-Item", "f1ap.SNSSAIRadioResourceStatus_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sNSSAIdlGBRPRBusage,
      { "sNSSAIdlGBRPRBusage", "f1ap.sNSSAIdlGBRPRBusage",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_sNSSAIulGBRPRBusage,
      { "sNSSAIulGBRPRBusage", "f1ap.sNSSAIulGBRPRBusage",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_sNSSAIdlNonGBRPRBusage,
      { "sNSSAIdlNonGBRPRBusage", "f1ap.sNSSAIdlNonGBRPRBusage",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_sNSSAIulNonGBRPRBusage,
      { "sNSSAIulNonGBRPRBusage", "f1ap.sNSSAIulNonGBRPRBusage",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_sNSSAIdlTotalPRBallocation,
      { "sNSSAIdlTotalPRBallocation", "f1ap.sNSSAIdlTotalPRBallocation",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_sNSSAIulTotalPRBallocation,
      { "sNSSAIulTotalPRBallocation", "f1ap.sNSSAIulTotalPRBallocation",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_SliceSupportList_item,
      { "SliceSupportItem", "f1ap.SliceSupportItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SliceToReportList_item,
      { "SliceToReportItem", "f1ap.SliceToReportItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sNSSAIlist,
      { "sNSSAIlist", "f1ap.sNSSAIlist",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SNSSAI_list", HFILL }},
    { &hf_f1ap_sLPositioning_Ranging_Authorized,
      { "sLPositioning-Ranging-Authorized", "f1ap.sLPositioning_Ranging_Authorized",
        FT_UINT32, BASE_DEC, VALS(f1ap_SLPositioning_Ranging_Authorized_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_rSPP_transport_QoS_parameters,
      { "rSPP-transport-QoS-parameters", "f1ap.rSPP_transport_QoS_parameters_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_rSPPQoSFlowList,
      { "rSPPQoSFlowList", "f1ap.rSPPQoSFlowList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_rSPPLinkAggregateBitRates,
      { "rSPPLinkAggregateBitRates", "f1ap.rSPPLinkAggregateBitRates",
        FT_UINT64, BASE_DEC, NULL, 0,
        "BitRate", HFILL }},
    { &hf_f1ap_RSPPQoSFlowList_item,
      { "RSPPQoSFlowItem", "f1ap.RSPPQoSFlowItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pQI,
      { "pQI", "f1ap.pQI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "FiveQI", HFILL }},
    { &hf_f1ap_rSPPFlowBitRates,
      { "rSPPFlowBitRates", "f1ap.rSPPFlowBitRates_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_range,
      { "range", "f1ap.range",
        FT_UINT32, BASE_DEC, VALS(f1ap_Range_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SNSSAI_list_item,
      { "SNSSAI-Item", "f1ap.SNSSAI_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Slot_Configuration_List_item,
      { "Slot-Configuration-Item", "f1ap.Slot_Configuration_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_slotIndex_01,
      { "slotIndex", "f1ap.slotIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5119_", HFILL }},
    { &hf_f1ap_symbolAllocInSlot,
      { "symbolAllocInSlot", "f1ap.symbolAllocInSlot",
        FT_UINT32, BASE_DEC, VALS(f1ap_SymbolAllocInSlot_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SlotOffsetForRemainingHopsList_item,
      { "SlotOffsetForRemainingHopsItem", "f1ap.SlotOffsetForRemainingHopsItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_slotOffsetRemainingHops,
      { "slotOffsetRemainingHops", "f1ap.slotOffsetRemainingHops",
        FT_UINT32, BASE_DEC, VALS(f1ap_SlotOffsetRemainingHops_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_aperiodic_04,
      { "aperiodic", "f1ap.aperiodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SlotOffsetRemainingHopsAperiodic", HFILL }},
    { &hf_f1ap_semi_persistent_04,
      { "semi-persistent", "f1ap.semi_persistent_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SlotOffsetRemainingHopsSemiPersistent", HFILL }},
    { &hf_f1ap_periodic_04,
      { "periodic", "f1ap.periodic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SlotOffsetRemainingHopsPeriodic", HFILL }},
    { &hf_f1ap_slotOffset_01,
      { "slotOffset", "f1ap.slotOffset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_32", HFILL }},
    { &hf_f1ap_sRSperiodicity,
      { "sRSperiodicity", "f1ap.sRSperiodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_SRS_Periodicity_vals), 0,
        "SRS_Periodicity", HFILL }},
    { &hf_f1ap_sST,
      { "sST", "f1ap.sST",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING_SIZE_1", HFILL }},
    { &hf_f1ap_sD,
      { "sD", "f1ap.sD",
        FT_BYTES, BASE_NONE, NULL, 0,
        "OCTET_STRING_SIZE_3", HFILL }},
    { &hf_f1ap_nR_PRSBeamInformation,
      { "nR-PRSBeamInformation", "f1ap.nR_PRSBeamInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_spatialRelationforResourceID,
      { "spatialRelationforResourceID", "f1ap.spatialRelationforResourceID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SpatialRelationforResourceID_item,
      { "SpatialRelationforResourceIDItem", "f1ap.SpatialRelationforResourceIDItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_referenceSignal,
      { "referenceSignal", "f1ap.referenceSignal",
        FT_UINT32, BASE_DEC, VALS(f1ap_ReferenceSignal_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_spatialRelationPerSRSResource_List,
      { "spatialRelationPerSRSResource-List", "f1ap.spatialRelationPerSRSResource_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SpatialRelationPerSRSResource_List_item,
      { "SpatialRelationPerSRSResourceItem", "f1ap.SpatialRelationPerSRSResourceItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSBPos,
      { "sSBPos", "f1ap.sSBPos_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SSB", HFILL }},
    { &hf_f1ap_pRSInformationPos,
      { "pRSInformationPos", "f1ap.pRSInformationPos_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sRBID,
      { "sRBID", "f1ap.sRBID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_duplicationIndication,
      { "duplicationIndication", "f1ap.duplicationIndication",
        FT_UINT32, BASE_DEC, VALS(f1ap_DuplicationIndication_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSCarrier_List_item,
      { "SRSCarrier-List-Item", "f1ap.SRSCarrier_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uplinkChannelBW_PerSCS_List,
      { "uplinkChannelBW-PerSCS-List", "f1ap.uplinkChannelBW_PerSCS_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_activeULBWP,
      { "activeULBWP", "f1ap.activeULBWP_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pci,
      { "pci", "f1ap.pci",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NRPCI", HFILL }},
    { &hf_f1ap_sRSResource_List,
      { "sRSResource-List", "f1ap.sRSResource_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_posSRSResource_List,
      { "posSRSResource-List", "f1ap.posSRSResource_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sRSResourceSet_List,
      { "sRSResourceSet-List", "f1ap.sRSResourceSet_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_posSRSResourceSet_List,
      { "posSRSResourceSet-List", "f1ap.posSRSResourceSet_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sRSCarrier_List,
      { "sRSCarrier-List", "f1ap.sRSCarrier_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSPreconfiguration_List_item,
      { "SRSPreconfiguration-Item", "f1ap.SRSPreconfiguration_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sRSPosRRCInactiveValidityAreaConfig,
      { "sRSPosRRCInactiveValidityAreaConfig", "f1ap.sRSPosRRCInactiveValidityAreaConfig",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_posValidityAreaCellList,
      { "posValidityAreaCellList", "f1ap.posValidityAreaCellList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sRSResourceID,
      { "sRSResourceID", "f1ap.sRSResourceID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nrofSRS_Ports,
      { "nrofSRS-Ports", "f1ap.nrofSRS_Ports",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_nrofSRS_Ports_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_transmissionComb,
      { "transmissionComb", "f1ap.transmissionComb",
        FT_UINT32, BASE_DEC, VALS(f1ap_TransmissionComb_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_nrofSymbols_01,
      { "nrofSymbols", "f1ap.nrofSymbols",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_nrofSymbols_01_vals), 0,
        "T_nrofSymbols_01", HFILL }},
    { &hf_f1ap_repetitionFactor,
      { "repetitionFactor", "f1ap.repetitionFactor",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_repetitionFactor_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_freqDomainPosition,
      { "freqDomainPosition", "f1ap.freqDomainPosition",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_67", HFILL }},
    { &hf_f1ap_b_SRS,
      { "b-SRS", "f1ap.b_SRS",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_f1ap_b_hop,
      { "b-hop", "f1ap.b_hop",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_f1ap_groupOrSequenceHopping_01,
      { "groupOrSequenceHopping", "f1ap.groupOrSequenceHopping",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_groupOrSequenceHopping_01_vals), 0,
        "T_groupOrSequenceHopping_01", HFILL }},
    { &hf_f1ap_resourceType_02,
      { "resourceType", "f1ap.resourceType",
        FT_UINT32, BASE_DEC, VALS(f1ap_ResourceType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sequenceId_01,
      { "sequenceId", "f1ap.sequenceId",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1023", HFILL }},
    { &hf_f1ap_SRSResourceID_List_item,
      { "SRSResourceID", "f1ap.SRSResourceID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSResource_List_item,
      { "SRSResource", "f1ap.SRSResource_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sRSResourceID_List,
      { "sRSResourceID-List", "f1ap.sRSResourceID_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_resourceSetType,
      { "resourceSetType", "f1ap.resourceSetType",
        FT_UINT32, BASE_DEC, VALS(f1ap_ResourceSetType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSResourceSetList_item,
      { "SRSResourceSetItem", "f1ap.SRSResourceSetItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_numSRSresourcesperset,
      { "numSRSresourcesperset", "f1ap.numSRSresourcesperset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16_", HFILL }},
    { &hf_f1ap_periodicityList_01,
      { "periodicityList", "f1ap.periodicityList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_spatialRelationInfo,
      { "spatialRelationInfo", "f1ap.spatialRelationInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_pathlossReferenceInfo,
      { "pathlossReferenceInfo", "f1ap.pathlossReferenceInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRSResourceSet_List_item,
      { "SRSResourceSet", "f1ap.SRSResourceSet_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_aperiodicSRSResourceTriggerList,
      { "aperiodicSRSResourceTriggerList", "f1ap.aperiodicSRSResourceTriggerList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sRSResourceTypeChoice,
      { "sRSResourceTypeChoice", "f1ap.sRSResourceTypeChoice",
        FT_UINT32, BASE_DEC, VALS(f1ap_SRSResourceTypeChoice_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sRSResourceInfo,
      { "sRSResourceInfo", "f1ap.sRSResourceInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SRSInfo", HFILL }},
    { &hf_f1ap_posSRSResourceInfo,
      { "posSRSResourceInfo", "f1ap.posSRSResourceInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "PosSRSInfo", HFILL }},
    { &hf_f1ap_sRSResource,
      { "sRSResource", "f1ap.sRSResource",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SRSResourceID", HFILL }},
    { &hf_f1ap_posSRSResourceID,
      { "posSRSResourceID", "f1ap.posSRSResourceID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SRSPosResourceID", HFILL }},
    { &hf_f1ap_pCI_NR_01,
      { "pCI-NR", "f1ap.pCI_NR",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NRPCI", HFILL }},
    { &hf_f1ap_ssb_index,
      { "ssb-index", "f1ap.ssb_index",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SSBCoverageModification_List_item,
      { "SSBCoverageModification-Item", "f1ap.SSBCoverageModification_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSBIndex,
      { "sSBIndex", "f1ap.sSBIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_63", HFILL }},
    { &hf_f1ap_sSBCoverageState,
      { "sSBCoverageState", "f1ap.sSBCoverageState",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_shortBitmap,
      { "shortBitmap", "f1ap.shortBitmap",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_4", HFILL }},
    { &hf_f1ap_mediumBitmap,
      { "mediumBitmap", "f1ap.mediumBitmap",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_8", HFILL }},
    { &hf_f1ap_longBitmap,
      { "longBitmap", "f1ap.longBitmap",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_64", HFILL }},
    { &hf_f1ap_SSBAreaCapacityValueList_item,
      { "SSBAreaCapacityValueItem", "f1ap.SSBAreaCapacityValueItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSBAreaCapacityValue,
      { "sSBAreaCapacityValue", "f1ap.sSBAreaCapacityValue",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_SSBAreaRadioResourceStatusList_item,
      { "SSBAreaRadioResourceStatusItem", "f1ap.SSBAreaRadioResourceStatusItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSBAreaDLGBRPRBusage,
      { "sSBAreaDLGBRPRBusage", "f1ap.sSBAreaDLGBRPRBusage",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_sSBAreaULGBRPRBusage,
      { "sSBAreaULGBRPRBusage", "f1ap.sSBAreaULGBRPRBusage",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_sSBAreaDLnon_GBRPRBusage,
      { "sSBAreaDLnon-GBRPRBusage", "f1ap.sSBAreaDLnon_GBRPRBusage",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_sSBAreaULnon_GBRPRBusage,
      { "sSBAreaULnon-GBRPRBusage", "f1ap.sSBAreaULnon_GBRPRBusage",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_sSBAreaDLTotalPRBusage,
      { "sSBAreaDLTotalPRBusage", "f1ap.sSBAreaDLTotalPRBusage",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_sSBAreaULTotalPRBusage,
      { "sSBAreaULTotalPRBusage", "f1ap.sSBAreaULTotalPRBusage",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_dLschedulingPDCCHCCEusage,
      { "dLschedulingPDCCHCCEusage", "f1ap.dLschedulingPDCCHCCEusage",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_uLschedulingPDCCHCCEusage,
      { "uLschedulingPDCCHCCEusage", "f1ap.uLschedulingPDCCHCCEusage",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100", HFILL }},
    { &hf_f1ap_sSBInformationList,
      { "sSBInformationList", "f1ap.sSBInformationList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SSBInformationList_item,
      { "SSBInformationItem", "f1ap.SSBInformationItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSB_Configuration,
      { "sSB-Configuration", "f1ap.sSB_Configuration_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SSB_TF_Configuration", HFILL }},
    { &hf_f1ap_SSBs_activated_List_item,
      { "SSB-Index", "f1ap.SSB_Index",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SSBs_forPaging_List_item,
      { "SSB-Index", "f1ap.SSB_Index",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SSBs_toBeActivated_List_item,
      { "SSB-Index", "f1ap.SSB_Index",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sSB_frequency,
      { "sSB-frequency", "f1ap.sSB_frequency",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3279165", HFILL }},
    { &hf_f1ap_sSB_subcarrier_spacing,
      { "sSB-subcarrier-spacing", "f1ap.sSB_subcarrier_spacing",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_sSB_subcarrier_spacing_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sSB_Transmit_power,
      { "sSB-Transmit-power", "f1ap.sSB_Transmit_power",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M60_50", HFILL }},
    { &hf_f1ap_sSB_periodicity,
      { "sSB-periodicity", "f1ap.sSB_periodicity",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_sSB_periodicity_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sSB_half_frame_offset,
      { "sSB-half-frame-offset", "f1ap.sSB_half_frame_offset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_f1ap_sSB_SFN_offset,
      { "sSB-SFN-offset", "f1ap.sSB_SFN_offset",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_15", HFILL }},
    { &hf_f1ap_sSB_position_in_burst,
      { "sSB-position-in-burst", "f1ap.sSB_position_in_burst",
        FT_UINT32, BASE_DEC, VALS(f1ap_SSB_PositionsInBurst_vals), 0,
        "SSB_PositionsInBurst", HFILL }},
    { &hf_f1ap_sFNInitialisationTime,
      { "sFNInitialisationTime", "f1ap.sFNInitialisationTime",
        FT_BYTES, BASE_NONE, NULL, 0,
        "RelativeTime1900", HFILL }},
    { &hf_f1ap_SSBToReportList_item,
      { "SSBToReportItem", "f1ap.SSBToReportItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_freqScalingFactor2,
      { "freqScalingFactor2", "f1ap.freqScalingFactor2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_f1ap_freqScalingFactor4,
      { "freqScalingFactor4", "f1ap.freqScalingFactor4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_f1ap_startTime,
      { "startTime", "f1ap.startTime",
        FT_BYTES, BASE_NONE, NULL, 0,
        "RelativeTime1900", HFILL }},
    { &hf_f1ap_duration,
      { "duration", "f1ap.duration",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_seconds), 0,
        "INTEGER_0_90060_", HFILL }},
    { &hf_f1ap_sUL_NRARFCN,
      { "sUL-NRARFCN", "f1ap.sUL_NRARFCN",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_maxNRARFCN", HFILL }},
    { &hf_f1ap_sUL_transmission_Bandwidth,
      { "sUL-transmission-Bandwidth", "f1ap.sUL_transmission_Bandwidth_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "Transmission_Bandwidth", HFILL }},
    { &hf_f1ap_SuccessfulHOReportInformationList_item,
      { "SuccessfulHOReportInformation-Item", "f1ap.SuccessfulHOReportInformation_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_successfulHOReportContainer,
      { "successfulHOReportContainer", "f1ap.successfulHOReportContainer",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SuccessfulPSCellChangeReportInformationList_item,
      { "SuccessfulPSCellChangeReportInformation-Item", "f1ap.SuccessfulPSCellChangeReportInformation_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_successfulPSCellChangeReportContainer,
      { "successfulPSCellChangeReportContainer", "f1ap.successfulPSCellChangeReportContainer",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SupportedUETypeList_item,
      { "SupportedUETypeList-Item", "f1ap.SupportedUETypeList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_supportedUEtype,
      { "supportedUEtype", "f1ap.supportedUEtype",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_supportedUEtype_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_all_DL,
      { "all-DL", "f1ap.all_DL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_all_UL,
      { "all-UL", "f1ap.all_UL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_both_DL_and_UL,
      { "both-DL-and-UL", "f1ap.both_DL_and_UL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NumDLULSymbols", HFILL }},
    { &hf_f1ap_TargetCellList_item,
      { "TargetCellList-Item", "f1ap.TargetCellList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_target_cell,
      { "target-cell", "f1ap.target_cell_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_NSAGSupportList_item,
      { "NSAGSupportItem", "f1ap.NSAGSupportItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nSAG_ID,
      { "nSAG-ID", "f1ap.nSAG_ID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nSAGSliceSupport,
      { "nSAGSliceSupport", "f1ap.nSAGSliceSupport",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ExtendedSliceSupportList", HFILL }},
    { &hf_f1ap_tDD_FreqInfo,
      { "tDD-FreqInfo", "f1ap.tDD_FreqInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "FreqInfoRel16", HFILL }},
    { &hf_f1ap_tDD_UL_DLConfigCommonNR,
      { "tDD-UL-DLConfigCommonNR", "f1ap.tDD_UL_DLConfigCommonNR",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_rxTx_TEG,
      { "rxTx-TEG", "f1ap.rxTx_TEG_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RxTxTEG", HFILL }},
    { &hf_f1ap_rx_TEG,
      { "rx-TEG", "f1ap.rx_TEG_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RxTEG", HFILL }},
    { &hf_f1ap_tRP_RxTx_TEGInformation,
      { "tRP-RxTx-TEGInformation", "f1ap.tRP_RxTx_TEGInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tRP_Tx_TEGInformation,
      { "tRP-Tx-TEGInformation", "f1ap.tRP_Tx_TEGInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tRP_Rx_TEGInformation,
      { "tRP-Rx-TEGInformation", "f1ap.tRP_Rx_TEGInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_referenceTime,
      { "referenceTime", "f1ap.referenceTime",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_referenceSFN,
      { "referenceSFN", "f1ap.referenceSFN",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uncertainty,
      { "uncertainty", "f1ap.uncertainty",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_timeInformationType,
      { "timeInformationType", "f1ap.timeInformationType",
        FT_UINT32, BASE_DEC, VALS(f1ap_TimeInformationType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_systemFrameNumber,
      { "systemFrameNumber", "f1ap.systemFrameNumber",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_slotIndex_02,
      { "slotIndex", "f1ap.slotIndex",
        FT_UINT32, BASE_DEC, VALS(f1ap_TimeStampSlotIndex_vals), 0,
        "TimeStampSlotIndex", HFILL }},
    { &hf_f1ap_measurementTime,
      { "measurementTime", "f1ap.measurementTime",
        FT_BYTES, BASE_NONE, NULL, 0,
        "RelativeTime1900", HFILL }},
    { &hf_f1ap_sCS_15,
      { "sCS-15", "f1ap.sCS_15",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_f1ap_sCS_30,
      { "sCS-30", "f1ap.sCS_30",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_19", HFILL }},
    { &hf_f1ap_sCS_60,
      { "sCS-60", "f1ap.sCS_60",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_39", HFILL }},
    { &hf_f1ap_sCS_120,
      { "sCS-120", "f1ap.sCS_120",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_79", HFILL }},
    { &hf_f1ap_measurementQuality_01,
      { "measurementQuality", "f1ap.measurementQuality",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_f1ap_resolution_01,
      { "resolution", "f1ap.resolution",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_resolution_01_vals), 0,
        "T_resolution_01", HFILL }},
    { &hf_f1ap_TimeWindowInformation_Measurement_List_item,
      { "TimeWindowInformation-Measurement-Item", "f1ap.TimeWindowInformation_Measurement_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_timeWindowDurationMeasurement,
      { "timeWindowDurationMeasurement", "f1ap.timeWindowDurationMeasurement",
        FT_UINT32, BASE_DEC, VALS(f1ap_TimeWindowDurationMeasurement_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_timeWindowType,
      { "timeWindowType", "f1ap.timeWindowType",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_timeWindowType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_timeWindowPeriodicityMeasurement,
      { "timeWindowPeriodicityMeasurement", "f1ap.timeWindowPeriodicityMeasurement",
        FT_UINT32, BASE_DEC, VALS(f1ap_TimeWindowPeriodicityMeasurement_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_TimeWindowInformation_SRS_List_item,
      { "TimeWindowInformation-SRS-Item", "f1ap.TimeWindowInformation_SRS_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_timeWindowStartSRS,
      { "timeWindowStartSRS", "f1ap.timeWindowStartSRS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_timeWindowDurationSRS,
      { "timeWindowDurationSRS", "f1ap.timeWindowDurationSRS",
        FT_UINT32, BASE_DEC, VALS(f1ap_TimeWindowDurationSRS_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_timeWindowType_01,
      { "timeWindowType", "f1ap.timeWindowType",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_timeWindowType_01_vals), 0,
        "T_timeWindowType_01", HFILL }},
    { &hf_f1ap_timeWindowPeriodicitySRS,
      { "timeWindowPeriodicitySRS", "f1ap.timeWindowPeriodicitySRS",
        FT_UINT32, BASE_DEC, VALS(f1ap_TimeWindowPeriodicitySRS_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_durationSlots,
      { "durationSlots", "f1ap.durationSlots",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_durationSlots_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_durationSymbols,
      { "durationSymbols", "f1ap.durationSymbols",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_durationSymbols_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_durationSlots_01,
      { "durationSlots", "f1ap.durationSlots",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_durationSlots_01_vals), 0,
        "T_durationSlots_01", HFILL }},
    { &hf_f1ap_slotNumber,
      { "slotNumber", "f1ap.slotNumber",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_symbolIndex,
      { "symbolIndex", "f1ap.symbolIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_dLTNLOfferedCapacity,
      { "dLTNLOfferedCapacity", "f1ap.dLTNLOfferedCapacity",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16777216_", HFILL }},
    { &hf_f1ap_dLTNLAvailableCapacity,
      { "dLTNLAvailableCapacity", "f1ap.dLTNLAvailableCapacity",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100_", HFILL }},
    { &hf_f1ap_uLTNLOfferedCapacity,
      { "uLTNLOfferedCapacity", "f1ap.uLTNLOfferedCapacity",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_16777216_", HFILL }},
    { &hf_f1ap_uLTNLAvailableCapacity,
      { "uLTNLAvailableCapacity", "f1ap.uLTNLAvailableCapacity",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_100_", HFILL }},
    { &hf_f1ap_traceID,
      { "traceID", "f1ap.traceID",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_interfacesToTrace,
      { "interfacesToTrace", "f1ap.interfacesToTrace",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_traceDepth,
      { "traceDepth", "f1ap.traceDepth",
        FT_UINT32, BASE_DEC, VALS(f1ap_TraceDepth_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_traceCollectionEntityIPAddress,
      { "traceCollectionEntityIPAddress", "f1ap.traceCollectionEntityIPAddress",
        FT_BYTES, BASE_NONE, NULL, 0,
        "TransportLayerAddress", HFILL }},
    { &hf_f1ap_iPtolayer2TrafficMappingInfo,
      { "iPtolayer2TrafficMappingInfo", "f1ap.iPtolayer2TrafficMappingInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_bAPlayerBHRLCchannelMappingInfo,
      { "bAPlayerBHRLCchannelMappingInfo", "f1ap.bAPlayerBHRLCchannelMappingInfo_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nRNRB,
      { "nRNRB", "f1ap.nRNRB",
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &f1ap_NRNRB_vals_ext, 0,
        NULL, HFILL }},
    { &hf_f1ap_n2,
      { "n2", "f1ap.n2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_combOffset_n2,
      { "combOffset-n2", "f1ap.combOffset_n2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1", HFILL }},
    { &hf_f1ap_cyclicShift_n2,
      { "cyclicShift-n2", "f1ap.cyclicShift_n2",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_f1ap_n4,
      { "n4", "f1ap.n4_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_combOffset_n4,
      { "combOffset-n4", "f1ap.combOffset_n4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3", HFILL }},
    { &hf_f1ap_cyclicShift_n4,
      { "cyclicShift-n4", "f1ap.cyclicShift_n4",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_11", HFILL }},
    { &hf_f1ap_combOffset_n8,
      { "combOffset-n8", "f1ap.combOffset_n8",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_f1ap_cyclicShift_n8,
      { "cyclicShift-n8", "f1ap.cyclicShift_n8",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_5", HFILL }},
    { &hf_f1ap_n2_01,
      { "n2", "f1ap.n2_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_n2_01", HFILL }},
    { &hf_f1ap_n4_01,
      { "n4", "f1ap.n4_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "T_n4_01", HFILL }},
    { &hf_f1ap_n8,
      { "n8", "f1ap.n8_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Transport_UP_Layer_Address_Info_To_Add_List_item,
      { "Transport-UP-Layer-Address-Info-To-Add-Item", "f1ap.Transport_UP_Layer_Address_Info_To_Add_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_iP_SecTransportLayerAddress,
      { "iP-SecTransportLayerAddress", "f1ap.iP_SecTransportLayerAddress",
        FT_BYTES, BASE_NONE, NULL, 0,
        "TransportLayerAddress", HFILL }},
    { &hf_f1ap_gTPTransportLayerAddressToAdd,
      { "gTPTransportLayerAddressToAdd", "f1ap.gTPTransportLayerAddressToAdd",
        FT_UINT32, BASE_DEC, NULL, 0,
        "GTPTLAs", HFILL }},
    { &hf_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List_item,
      { "Transport-UP-Layer-Address-Info-To-Remove-Item", "f1ap.Transport_UP_Layer_Address_Info_To_Remove_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_gTPTransportLayerAddressToRemove,
      { "gTPTransportLayerAddressToRemove", "f1ap.gTPTransportLayerAddressToRemove",
        FT_UINT32, BASE_DEC, NULL, 0,
        "GTPTLAs", HFILL }},
    { &hf_f1ap_choice_TRP_Beam_Antenna_Info_Item,
      { "choice-TRP-Beam-Antenna-Info-Item", "f1ap.choice_TRP_Beam_Antenna_Info_Item",
        FT_UINT32, BASE_DEC, VALS(f1ap_Choice_TRP_Beam_Antenna_Info_Item_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_reference,
      { "reference", "f1ap.reference",
        FT_UINT32, BASE_DEC, NULL, 0,
        "TRPID", HFILL }},
    { &hf_f1ap_explicit,
      { "explicit", "f1ap.explicit_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TRP_BeamAntennaExplicitInformation", HFILL }},
    { &hf_f1ap_noChange,
      { "noChange", "f1ap.noChange_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_trp_BeamAntennaAngles,
      { "trp-BeamAntennaAngles", "f1ap.trp_BeamAntennaAngles",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_lcs_to_gcs_translation,
      { "lcs-to-gcs-translation", "f1ap.lcs_to_gcs_translation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRP_BeamAntennaAngles_item,
      { "TRP-BeamAntennaAnglesList-Item", "f1ap.TRP_BeamAntennaAnglesList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_trp_azimuth_angle,
      { "trp-azimuth-angle", "f1ap.trp_azimuth_angle",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_359", HFILL }},
    { &hf_f1ap_trp_azimuth_angle_fine,
      { "trp-azimuth-angle-fine", "f1ap.trp_azimuth_angle_fine",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_f1ap_trp_elevation_angle_list,
      { "trp-elevation-angle-list", "f1ap.trp_elevation_angle_list",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxnoElevationAngles_OF_TRP_ElevationAngleList_Item", HFILL }},
    { &hf_f1ap_trp_elevation_angle_list_item,
      { "TRP-ElevationAngleList-Item", "f1ap.TRP_ElevationAngleList_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_trp_elevation_angle,
      { "trp-elevation-angle", "f1ap.trp_elevation_angle",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_180", HFILL }},
    { &hf_f1ap_trp_elevation_angle_fine,
      { "trp-elevation-angle-fine", "f1ap.trp_elevation_angle_fine",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_f1ap_trp_beam_power_list,
      { "trp-beam-power-list", "f1ap.trp_beam_power_list",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_2_maxNumResourcesPerAngle_OF_TRP_Beam_Power_Item", HFILL }},
    { &hf_f1ap_trp_beam_power_list_item,
      { "TRP-Beam-Power-Item", "f1ap.TRP_Beam_Power_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_relativePower,
      { "relativePower", "f1ap.relativePower",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_30", HFILL }},
    { &hf_f1ap_relativePowerFine,
      { "relativePowerFine", "f1ap.relativePowerFine",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_9", HFILL }},
    { &hf_f1ap_tRPInformationTypeResponseList,
      { "tRPInformationTypeResponseList", "f1ap.tRPInformationTypeResponseList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tRPInformation,
      { "tRPInformation", "f1ap.tRPInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPInformationTypeResponseList_item,
      { "TRPInformationTypeResponseItem", "f1ap.TRPInformationTypeResponseItem",
        FT_UINT32, BASE_DEC, VALS(f1ap_TRPInformationTypeResponseItem_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_nG_RAN_CGI,
      { "nG-RAN-CGI", "f1ap.nG_RAN_CGI_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_sSBinformation,
      { "sSBinformation", "f1ap.sSBinformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_spatialDirectionInformation,
      { "spatialDirectionInformation", "f1ap.spatialDirectionInformation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPList_item,
      { "TRPListItem", "f1ap.TRPListItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tRPmeasurementQuality_Item,
      { "tRPmeasurementQuality-Item", "f1ap.tRPmeasurementQuality_Item",
        FT_UINT32, BASE_DEC, VALS(f1ap_TRPMeasurementQuality_Item_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_timingMeasurementQuality,
      { "timingMeasurementQuality", "f1ap.timingMeasurementQuality_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_angleMeasurementQuality,
      { "angleMeasurementQuality", "f1ap.angleMeasurementQuality_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_phaseQualityIndex,
      { "phaseQualityIndex", "f1ap.phaseQualityIndex",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_179", HFILL }},
    { &hf_f1ap_phaseQualityResolution,
      { "phaseQualityResolution", "f1ap.phaseQualityResolution",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_phaseQualityResolution_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_TRP_MeasurementRequestList_item,
      { "TRP-MeasurementRequestItem", "f1ap.TRP_MeasurementRequestItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_search_window_information,
      { "search-window-information", "f1ap.search_window_information_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRP_PRS_Info_List_item,
      { "TRP-PRS-Info-List-Item", "f1ap.TRP_PRS_Info_List_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nR_PCI,
      { "nR-PCI", "f1ap.nR_PCI",
        FT_UINT32, BASE_DEC, NULL, 0,
        "NRPCI", HFILL }},
    { &hf_f1ap_cGI_NR,
      { "cGI-NR", "f1ap.cGI_NR_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NRCGI", HFILL }},
    { &hf_f1ap_direct,
      { "direct", "f1ap.direct_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TRPPositionDirect", HFILL }},
    { &hf_f1ap_referenced,
      { "referenced", "f1ap.referenced_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TRPPositionReferenced", HFILL }},
    { &hf_f1ap_accuracy,
      { "accuracy", "f1ap.accuracy",
        FT_UINT32, BASE_DEC, VALS(f1ap_TRPPositionDirectAccuracy_vals), 0,
        "TRPPositionDirectAccuracy", HFILL }},
    { &hf_f1ap_tRPPosition,
      { "tRPPosition", "f1ap.tRPPosition_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "AccessPointPosition", HFILL }},
    { &hf_f1ap_tRPHAposition,
      { "tRPHAposition", "f1ap.tRPHAposition_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "NGRANHighAccuracyAccessPointPosition", HFILL }},
    { &hf_f1ap_referencePoint,
      { "referencePoint", "f1ap.referencePoint",
        FT_UINT32, BASE_DEC, VALS(f1ap_ReferencePoint_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_referencePointType,
      { "referencePointType", "f1ap.referencePointType",
        FT_UINT32, BASE_DEC, VALS(f1ap_TRPReferencePointType_vals), 0,
        "TRPReferencePointType", HFILL }},
    { &hf_f1ap_tRPPositionRelativeGeodetic,
      { "tRPPositionRelativeGeodetic", "f1ap.tRPPositionRelativeGeodetic_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RelativeGeodeticLocation", HFILL }},
    { &hf_f1ap_tRPPositionRelativeCartesian,
      { "tRPPositionRelativeCartesian", "f1ap.tRPPositionRelativeCartesian_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "RelativeCartesianLocation", HFILL }},
    { &hf_f1ap_tRP_Rx_TEGID,
      { "tRP-Rx-TEGID", "f1ap.tRP_Rx_TEGID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_31", HFILL }},
    { &hf_f1ap_tRP_Rx_TimingErrorMargin,
      { "tRP-Rx-TimingErrorMargin", "f1ap.tRP_Rx_TimingErrorMargin",
        FT_UINT32, BASE_DEC, VALS(f1ap_TimingErrorMargin_vals), 0,
        "TimingErrorMargin", HFILL }},
    { &hf_f1ap_tRP_RxTx_TEGID,
      { "tRP-RxTx-TEGID", "f1ap.tRP_RxTx_TEGID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_255", HFILL }},
    { &hf_f1ap_tRP_RxTx_TimingErrorMargin,
      { "tRP-RxTx-TimingErrorMargin", "f1ap.tRP_RxTx_TimingErrorMargin",
        FT_UINT32, BASE_DEC, VALS(f1ap_RxTxTimingErrorMargin_vals), 0,
        "RxTxTimingErrorMargin", HFILL }},
    { &hf_f1ap_tRP_Tx_TEGID,
      { "tRP-Tx-TEGID", "f1ap.tRP_Tx_TEGID",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_7", HFILL }},
    { &hf_f1ap_tRP_Tx_TimingErrorMargin,
      { "tRP-Tx-TimingErrorMargin", "f1ap.tRP_Tx_TimingErrorMargin",
        FT_UINT32, BASE_DEC, VALS(f1ap_TimingErrorMargin_vals), 0,
        "TimingErrorMargin", HFILL }},
    { &hf_f1ap_TRPTxTEGAssociation_item,
      { "TRPTEG-Item", "f1ap.TRPTEG_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_dl_PRSResourceID_List,
      { "dl-PRSResourceID-List", "f1ap.dl_PRSResourceID_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        "SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceID_Item", HFILL }},
    { &hf_f1ap_dl_PRSResourceID_List_item,
      { "DLPRSResourceID-Item", "f1ap.DLPRSResourceID_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_transport_UP_Layer_Address_Info_To_Add_List,
      { "transport-UP-Layer-Address-Info-To-Add-List", "f1ap.transport_UP_Layer_Address_Info_To_Add_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_transport_UP_Layer_Address_Info_To_Remove_List,
      { "transport-UP-Layer-Address-Info-To-Remove-List", "f1ap.transport_UP_Layer_Address_Info_To_Remove_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_periodicity_03,
      { "periodicity", "f1ap.periodicity",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_microseconds), 0,
        NULL, HFILL }},
    { &hf_f1ap_burstArrivalTime,
      { "burstArrivalTime", "f1ap.burstArrivalTime",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_tSCAssistanceInformationDL,
      { "tSCAssistanceInformationDL", "f1ap.tSCAssistanceInformationDL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TSCAssistanceInformation", HFILL }},
    { &hf_f1ap_tSCAssistanceInformationUL,
      { "tSCAssistanceInformationUL", "f1ap.tSCAssistanceInformationUL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TSCAssistanceInformation", HFILL }},
    { &hf_f1ap_tSCFeedbackInformationDL,
      { "tSCFeedbackInformationDL", "f1ap.tSCFeedbackInformationDL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TSCFeedbackInformation", HFILL }},
    { &hf_f1ap_tSCFeedbackInformationUL,
      { "tSCFeedbackInformationUL", "f1ap.tSCFeedbackInformationUL_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "TSCFeedbackInformation", HFILL }},
    { &hf_f1ap_burstArrivalTimeOffset,
      { "burstArrivalTimeOffset", "f1ap.burstArrivalTimeOffset",
        FT_INT32, BASE_DEC, NULL, 0,
        "INTEGER_M640000_640000_", HFILL }},
    { &hf_f1ap_adjustedPeriodicity,
      { "adjustedPeriodicity", "f1ap.adjustedPeriodicity",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_microseconds), 0,
        "Periodicity", HFILL }},
    { &hf_f1ap_TRP_MeasurementUpdateList_item,
      { "TRP-MeasurementUpdateItem", "f1ap.TRP_MeasurementUpdateItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_aoA_window_information,
      { "aoA-window-information", "f1ap.aoA_window_information_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "AoA_AssistanceInfo", HFILL }},
    { &hf_f1ap_overlapValue,
      { "overlapValue", "f1ap.overlapValue",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_overlapValue_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_numberOfHops,
      { "numberOfHops", "f1ap.numberOfHops",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_1_6", HFILL }},
    { &hf_f1ap_slotOffsetForRemainingHopsList,
      { "slotOffsetForRemainingHopsList", "f1ap.slotOffsetForRemainingHopsList",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TAInformation_List_item,
      { "TAInformation-Item", "f1ap.TAInformation_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uACPLMN_List,
      { "uACPLMN-List", "f1ap.uACPLMN_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UACPLMN_List_item,
      { "UACPLMN-Item", "f1ap.UACPLMN_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uACType_List,
      { "uACType-List", "f1ap.uACType_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UACType_List_item,
      { "UACType-Item", "f1ap.UACType_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uACReductionIndication,
      { "uACReductionIndication", "f1ap.uACReductionIndication",
        FT_UINT32, BASE_DEC|BASE_UNIT_STRING, UNS(&units_percent), 0,
        NULL, HFILL }},
    { &hf_f1ap_uACCategoryType,
      { "uACCategoryType", "f1ap.uACCategoryType",
        FT_UINT32, BASE_DEC, VALS(f1ap_UACCategoryType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_uACstandardized,
      { "uACstandardized", "f1ap.uACstandardized",
        FT_UINT32, BASE_DEC, VALS(f1ap_UACAction_vals), 0,
        "UACAction", HFILL }},
    { &hf_f1ap_uACOperatorDefined,
      { "uACOperatorDefined", "f1ap.uACOperatorDefined_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_accessCategory,
      { "accessCategory", "f1ap.accessCategory",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_32_63_", HFILL }},
    { &hf_f1ap_accessIdentity,
      { "accessIdentity", "f1ap.accessIdentity",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_7", HFILL }},
    { &hf_f1ap_indexLength10,
      { "indexLength10", "f1ap.indexLength10",
        FT_BYTES, BASE_NONE, NULL, 0,
        "BIT_STRING_SIZE_10", HFILL }},
    { &hf_f1ap_uEIdentityIndexValue,
      { "uEIdentityIndexValue", "f1ap.uEIdentityIndexValue",
        FT_UINT32, BASE_DEC, VALS(f1ap_UEIdentityIndexValue_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_pagingDRX,
      { "pagingDRX", "f1ap.pagingDRX",
        FT_UINT32, BASE_DEC, VALS(f1ap_PagingDRX_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_mrb_type_reconfiguration,
      { "mrb-type-reconfiguration", "f1ap.mrb_type_reconfiguration",
        FT_UINT32, BASE_DEC, VALS(f1ap_MBSPTPRetransmissionTunnelRequired_vals), 0,
        "MBSPTPRetransmissionTunnelRequired", HFILL }},
    { &hf_f1ap_mrb_type_reconfiguration_01,
      { "mrb-type-reconfiguration", "f1ap.mrb_type_reconfiguration",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_mrb_type_reconfiguration_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_mrb_reconfigured_RLCtype,
      { "mrb-reconfigured-RLCtype", "f1ap.mrb_reconfigured_RLCtype",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_mrb_reconfigured_RLCtype_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_multicastF1UContextReferenceCU,
      { "multicastF1UContextReferenceCU", "f1ap.multicastF1UContextReferenceCU",
        FT_BYTES, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsPTPRetransmissionTunnelRequired,
      { "mbsPTPRetransmissionTunnelRequired", "f1ap.mbsPTPRetransmissionTunnelRequired",
        FT_UINT32, BASE_DEC, VALS(f1ap_MBSPTPRetransmissionTunnelRequired_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_mbsPTPForwardingRequiredInformation,
      { "mbsPTPForwardingRequiredInformation", "f1ap.mbsPTPForwardingRequiredInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_MRB_ProgressInformation_vals), 0,
        "MRB_ProgressInformation", HFILL }},
    { &hf_f1ap_iNACTIVEStatePODetermination,
      { "iNACTIVEStatePODetermination", "f1ap.iNACTIVEStatePODetermination",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_iNACTIVEStatePODetermination_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_reportingAmount,
      { "reportingAmount", "f1ap.reportingAmount",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_reportingAmount_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_reportingInterval,
      { "reportingInterval", "f1ap.reportingInterval",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_reportingInterval_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_azimuthAoA,
      { "azimuthAoA", "f1ap.azimuthAoA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3599", HFILL }},
    { &hf_f1ap_zenithAoA,
      { "zenithAoA", "f1ap.zenithAoA",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_1799", HFILL }},
    { &hf_f1ap_uL_BH_Non_UP_Traffic_Mapping_List,
      { "uL-BH-Non-UP-Traffic-Mapping-List", "f1ap.uL_BH_Non_UP_Traffic_Mapping_List",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UL_BH_Non_UP_Traffic_Mapping_List_item,
      { "UL-BH-Non-UP-Traffic-Mapping-Item", "f1ap.UL_BH_Non_UP_Traffic_Mapping_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_nonUPTrafficType,
      { "nonUPTrafficType", "f1ap.nonUPTrafficType",
        FT_UINT32, BASE_DEC, VALS(f1ap_NonUPTrafficType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_uLUEConfiguration,
      { "uLUEConfiguration", "f1ap.uLUEConfiguration",
        FT_UINT32, BASE_DEC, VALS(f1ap_ULUEConfiguration_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_uL_RTOA_MeasurementItem,
      { "uL-RTOA-MeasurementItem", "f1ap.uL_RTOA_MeasurementItem",
        FT_UINT32, BASE_DEC, VALS(f1ap_UL_RTOA_MeasurementItem_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_firstPathRSRPP,
      { "firstPathRSRPP", "f1ap.firstPathRSRPP",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_126", HFILL }},
    { &hf_f1ap_uLRSCP,
      { "uLRSCP", "f1ap.uLRSCP",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_3599", HFILL }},
    { &hf_f1ap_uLUPTNLInformation,
      { "uLUPTNLInformation", "f1ap.uLUPTNLInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_UPTransportLayerInformation_vals), 0,
        "UPTransportLayerInformation", HFILL }},
    { &hf_f1ap_newULUPTNLInformation,
      { "newULUPTNLInformation", "f1ap.newULUPTNLInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_UPTransportLayerInformation_vals), 0,
        "UPTransportLayerInformation", HFILL }},
    { &hf_f1ap_ULUPTNLInformation_ToBeSetup_List_item,
      { "ULUPTNLInformation-ToBeSetup-Item", "f1ap.ULUPTNLInformation_ToBeSetup_Item_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UplinkChannelBW_PerSCS_List_item,
      { "SCS-SpecificCarrier", "f1ap.SCS_SpecificCarrier_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_gTPTunnel,
      { "gTPTunnel", "f1ap.gTPTunnel_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uuRLCChannelQoS,
      { "uuRLCChannelQoS", "f1ap.uuRLCChannelQoS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "QoSFlowLevelQoSParameters", HFILL }},
    { &hf_f1ap_uuControlPlaneTrafficType,
      { "uuControlPlaneTrafficType", "f1ap.uuControlPlaneTrafficType",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_uuControlPlaneTrafficType_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelToBeSetupList_item,
      { "UuRLCChannelToBeSetupItem", "f1ap.UuRLCChannelToBeSetupItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uuRLCChannelID,
      { "uuRLCChannelID", "f1ap.uuRLCChannelID",
        FT_UINT32, BASE_DEC, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_uuRLCChannelQoSInformation,
      { "uuRLCChannelQoSInformation", "f1ap.uuRLCChannelQoSInformation",
        FT_UINT32, BASE_DEC, VALS(f1ap_UuRLCChannelQoSInformation_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelToBeModifiedList_item,
      { "UuRLCChannelToBeModifiedItem", "f1ap.UuRLCChannelToBeModifiedItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelToBeReleasedList_item,
      { "UuRLCChannelToBeReleasedItem", "f1ap.UuRLCChannelToBeReleasedItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelSetupList_item,
      { "UuRLCChannelSetupItem", "f1ap.UuRLCChannelSetupItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelFailedToBeSetupList_item,
      { "UuRLCChannelFailedToBeSetupItem", "f1ap.UuRLCChannelFailedToBeSetupItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelModifiedList_item,
      { "UuRLCChannelModifiedItem", "f1ap.UuRLCChannelModifiedItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelFailedToBeModifiedList_item,
      { "UuRLCChannelFailedToBeModifiedItem", "f1ap.UuRLCChannelFailedToBeModifiedItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelRequiredToBeModifiedList_item,
      { "UuRLCChannelRequiredToBeModifiedItem", "f1ap.UuRLCChannelRequiredToBeModifiedItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UuRLCChannelRequiredToBeReleasedList_item,
      { "UuRLCChannelRequiredToBeReleasedItem", "f1ap.UuRLCChannelRequiredToBeReleasedItem_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_resourceMapping,
      { "resourceMapping", "f1ap.resourceMapping_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sequenceIDPos,
      { "sequenceIDPos", "f1ap.sequenceIDPos",
        FT_UINT32, BASE_DEC, NULL, 0,
        "INTEGER_0_65535", HFILL }},
    { &hf_f1ap_protocolIEs,
      { "protocolIEs", "f1ap.protocolIEs",
        FT_UINT32, BASE_DEC, NULL, 0,
        "ProtocolIE_Container", HFILL }},
    { &hf_f1ap_f1_Interface,
      { "f1-Interface", "f1ap.f1_Interface",
        FT_UINT32, BASE_DEC, VALS(f1ap_ResetAll_vals), 0,
        "ResetAll", HFILL }},
    { &hf_f1ap_partOfF1_Interface,
      { "partOfF1-Interface", "f1ap.partOfF1_Interface",
        FT_UINT32, BASE_DEC, NULL, 0,
        "UE_associatedLogicalF1_ConnectionListRes", HFILL }},
    { &hf_f1ap_UE_associatedLogicalF1_ConnectionListRes_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_associatedLogicalF1_ConnectionListResAck_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_DU_Served_Cells_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_to_be_Activated_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NCGI_to_be_Updated_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Served_Cells_To_Add_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Served_Cells_To_Modify_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Served_Cells_To_Delete_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Status_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Dedicated_SIDelivery_NeededUE_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_DU_TNL_Association_To_Remove_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_to_be_Deactivated_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_To_Add_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_To_Remove_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_To_Update_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_to_be_Barred_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Allowed_to_be_Deactivated_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Protected_EUTRA_Resources_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Neighbour_Cell_Information_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Failed_to_be_Activated_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_Setup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Candidate_SpCell_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_ToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_ToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_ToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_ToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_ServingCellMO_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_Setup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_FailedToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_FailedToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_FailedtoSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_Setup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_Setup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_FailedToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_Setup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_FailedToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_Setupnew_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Potential_SpCell_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_ToBeSetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_ToBeRemoved_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_ToBeSetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ToBeSetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_ToBeSetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ToBeModified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_ToBeModified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_ToBeReleased_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ToBeReleased_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_ToBeReleased_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_ToBeReleased_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ToBeSetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ToBeModified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ToBeReleased_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_SetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_Modified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_SetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_Modified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_FailedToBeModified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_FailedToBeSetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_FailedToBeSetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SCell_FailedtoSetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_SetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_Modified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_FailedToBeModified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_FailedToBeSetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Associated_SCell_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_SetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_Modified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_FailedToBeModified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_FailedToBeSetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_Setup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_Required_ToBeModified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_Required_ToBeReleased_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SRBs_Required_ToBeReleased_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BHChannels_Required_ToBeReleased_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_Required_ToBeModified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_Required_ToBeReleased_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_RequiredToBeModified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_RequiredToBeReleased_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRBs_ModifiedConf_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_SLDRBs_ModifiedConf_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_To_Be_Broadcast_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Broadcast_Completed_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Broadcast_To_Be_Cancelled_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Cells_Broadcast_Cancelled_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRB_Activity_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_privateIEs,
      { "privateIEs", "f1ap.privateIEs",
        FT_UINT32, BASE_DEC, NULL, 0,
        "PrivateIE_Container", HFILL }},
    { &hf_f1ap_PagingCell_list_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DRB_Notify_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_NR_CGI_List_For_Restart_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_PWS_Failed_NR_CGI_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BH_Routing_Information_Added_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BH_Routing_Information_Removed_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BAP_Header_Rewriting_Added_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BAP_Header_Rewriting_Removed_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IAB_TNL_Addresses_To_Remove_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_IAB_Allocated_TNL_Address_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UL_UP_TNL_Information_to_Update_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UL_UP_TNL_Address_to_Update_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_DL_UP_TNL_Address_to_Update_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Activated_Cells_Mapping_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPInformationTypeListTRPReq_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_TRPInformationListTRPResp_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_semipersistentSRS,
      { "semipersistentSRS", "f1ap.semipersistentSRS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_aperiodicSRS,
      { "aperiodicSRS", "f1ap.aperiodicSRS_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_sRSSpatialRelation,
      { "sRSSpatialRelation", "f1ap.sRSSpatialRelation_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SpatialRelationInfo", HFILL }},
    { &hf_f1ap_aperiodic_05,
      { "aperiodic", "f1ap.aperiodic",
        FT_UINT32, BASE_DEC, VALS(f1ap_T_aperiodic_vals), 0,
        NULL, HFILL }},
    { &hf_f1ap_sRSResourceTrigger,
      { "sRSResourceTrigger", "f1ap.sRSResourceTrigger_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_ToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_Setup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_FailedToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_ToBeSetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_ToBeModified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_ToBeReleased_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_SetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_FailedToBeSetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_Modified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_BroadcastMRBs_FailedToBeModified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_Broadcast_MRBs_Transport_Request_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_UEIdentity_List_For_Paging_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MC_PagingCell_list_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_ToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_Setup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_FailedToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_ToBeSetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_ToBeModified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_ToBeReleased_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_SetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_FailedToBeSetupMod_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_Modified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastMRBs_FailedToBeModified_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastF1UContext_ToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastF1UContext_Setup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_MulticastF1UContext_FailedToBeSetup_List_item,
      { "ProtocolIE-SingleContainer", "f1ap.ProtocolIE_SingleContainer_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_initiatingMessage,
      { "initiatingMessage", "f1ap.initiatingMessage_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_successfulOutcome,
      { "successfulOutcome", "f1ap.successfulOutcome_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_unsuccessfulOutcome,
      { "unsuccessfulOutcome", "f1ap.unsuccessfulOutcome_element",
        FT_NONE, BASE_NONE, NULL, 0,
        NULL, HFILL }},
    { &hf_f1ap_initiatingMessagevalue,
      { "value", "f1ap.value_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "InitiatingMessage_value", HFILL }},
    { &hf_f1ap_successfulOutcome_value,
      { "value", "f1ap.value_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "SuccessfulOutcome_value", HFILL }},
    { &hf_f1ap_unsuccessfulOutcome_value,
      { "value", "f1ap.value_element",
        FT_NONE, BASE_NONE, NULL, 0,
        "UnsuccessfulOutcome_value", HFILL }},
  };

  /* List of subtrees */
  static int *ett[] = {
    &ett_f1ap,
    &ett_f1ap_ResourceCoordinationTransferContainer,
    &ett_f1ap_PLMN_Identity,
    &ett_f1ap_MIB_message,
    &ett_f1ap_SIB1_message,
    &ett_f1ap_CG_ConfigInfo,
    &ett_f1ap_CellGroupConfig,
    &ett_f1ap_TransportLayerAddress,
    &ett_f1ap_UE_CapabilityRAT_ContainerList,
    &ett_f1ap_measurementTimingConfiguration,
    &ett_f1ap_DUtoCURRCContainer,
    &ett_f1ap_requestedP_MaxFR1,
    &ett_f1ap_HandoverPreparationInformation,
    &ett_f1ap_MeasConfig,
    &ett_f1ap_MeasGapConfig,
    &ett_f1ap_MeasGapSharingConfig,
    &ett_f1ap_EUTRA_NR_CellResourceCoordinationReq_Container,
    &ett_f1ap_EUTRA_NR_CellResourceCoordinationReqAck_Container,
    &ett_f1ap_ProtectedEUTRAResourceIndication,
    &ett_f1ap_RRCContainer,
    &ett_f1ap_RRCContainer_RRCSetupComplete,
    &ett_f1ap_sIBmessage,
    &ett_f1ap_UplinkTxDirectCurrentListInformation,
    &ett_f1ap_DRX_Config,
    &ett_f1ap_Ph_InfoSCG,
    &ett_f1ap_RequestedBandCombinationIndex,
    &ett_f1ap_RequestedFeatureSetEntryIndex,
    &ett_f1ap_RequestedP_MaxFR2,
    &ett_f1ap_UEAssistanceInformation,
    &ett_f1ap_CG_Config,
    &ett_f1ap_Ph_InfoMCG,
    &ett_f1ap_BurstArrivalTime,
    &ett_f1ap_cSI_RS_Configuration,
    &ett_f1ap_sR_Configuration,
    &ett_f1ap_pDCCH_ConfigSIB1,
    &ett_f1ap_sCS_Common,
    &ett_f1ap_IABTNLAddressIPv4Address,
    &ett_f1ap_IABTNLAddressIPv6Address,
    &ett_f1ap_IABTNLAddressIPv6Prefix,
    &ett_f1ap_InterfacesToTrace,
    &ett_f1ap_MeasurementsToActivate,
    &ett_f1ap_NRUERLFReportContainer,
    &ett_f1ap_RACH_Config_Common,
    &ett_f1ap_RACH_Config_Common_IAB,
    &ett_f1ap_RAReportContainer,
    &ett_f1ap_ReferenceTime,
    &ett_f1ap_ReportCharacteristics,
    &ett_f1ap_SIB10_message,
    &ett_f1ap_SIB12_message,
    &ett_f1ap_SIB13_message,
    &ett_f1ap_SIB14_message,
    &ett_f1ap_SIB15_message,
    &ett_f1ap_SIB17_message,
    &ett_f1ap_SIB20_message,
    &ett_f1ap_SIB22_message,
    &ett_f1ap_SIB23_message,
    &ett_f1ap_SIB24_message,
    &ett_f1ap_SL_PHY_MAC_RLC_Config,
    &ett_f1ap_SL_PHY_MAC_RLC_ConfigExt,
    &ett_f1ap_SL_RLC_ChannelToAddModList,
    &ett_f1ap_SL_ConfigDedicatedEUTRA_Info,
    &ett_f1ap_TDD_UL_DLConfigCommonNR,
    &ett_f1ap_UEAssistanceInformationEUTRA,
    &ett_f1ap_PosAssistance_Information,
    &ett_f1ap_LocationMeasurementInformation,
    &ett_f1ap_MUSIM_GapConfig,
    &ett_f1ap_SDT_MAC_PHY_CG_Config,
    &ett_f1ap_SDTRLCBearerConfiguration,
    &ett_f1ap_MBSInterestIndication,
    &ett_f1ap_NeedForGapsInfoNR,
    &ett_f1ap_NeedForGapNCSGInfoNR,
    &ett_f1ap_NeedForGapNCSGInfoEUTRA,
    &ett_f1ap_MBS_Broadcast_NeighbourCellList,
    &ett_f1ap_mRB_PDCP_Config_Broadcast,
    &ett_f1ap_posMeasGapPreConfigToAddModList,
    &ett_f1ap_posMeasGapPreConfigToReleaseList,
    &ett_f1ap_SidelinkConfigurationContainer,
    &ett_f1ap_SRSPosRRCInactiveConfig,
    &ett_f1ap_successfulHOReportContainer,
    &ett_f1ap_UL_GapFR2_Config,
    &ett_f1ap_ConfigRestrictInfoDAPS,
    &ett_f1ap_UplinkTxDirectCurrentTwoCarrierListInfo,
    &ett_f1ap_Ncd_SSB_RedCapInitialBWP_SDT,
    &ett_f1ap_JointorDLTCIStateID,
    &ett_f1ap_ULTCIStateID,
    &ett_f1ap_ReferenceConfigurationInformation,
    &ett_f1ap_LTMCFRAResourceConfig,
    &ett_f1ap_location_Information,
    &ett_f1ap_velocity_Information,
    &ett_f1ap_successfulPSCellChangeReportContainer,
    &ett_f1ap_cSIResourceConfigToAddModList,
    &ett_f1ap_cSIResourceConfigToReleaseList,
    &ett_f1ap_mbs_NeighbourCellList,
    &ett_f1ap_mtch_NeighbourCellprovided,
    &ett_f1ap_thresholdMBSList,
    &ett_f1ap_mBSMulticastConfiguration,
    &ett_f1ap_MusimCandidateBandList,
    &ett_f1ap_NeedForInterruptionInfoNR,
    &ett_f1ap_RACHConfiguration,
    &ett_f1ap_SRSPosRRCInactiveValidityAreaConfig,
    &ett_f1ap_TCIStatesConfigurationsList,
    &ett_f1ap_PrivateIE_ID,
    &ett_f1ap_ProtocolIE_Container,
    &ett_f1ap_ProtocolIE_Field,
    &ett_f1ap_ProtocolExtensionContainer,
    &ett_f1ap_ProtocolExtensionField,
    &ett_f1ap_PrivateIE_Container,
    &ett_f1ap_PrivateIE_Field,
    &ett_f1ap_AbortTransmission,
    &ett_f1ap_AccessPointPosition,
    &ett_f1ap_Activated_Cells_Mapping_List_Item,
    &ett_f1ap_Activated_Cells_to_be_Updated_List,
    &ett_f1ap_Activated_Cells_to_be_Updated_List_Item,
    &ett_f1ap_ActiveULBWP,
    &ett_f1ap_AdditionalPath_List,
    &ett_f1ap_AdditionalPath_Item,
    &ett_f1ap_ExtendedAdditionalPathList,
    &ett_f1ap_ExtendedAdditionalPathList_Item,
    &ett_f1ap_AdditionalPDCPDuplicationTNL_List,
    &ett_f1ap_AdditionalPDCPDuplicationTNL_Item,
    &ett_f1ap_AdditionalSIBMessageList,
    &ett_f1ap_AdditionalSIBMessageList_Item,
    &ett_f1ap_AffectedCellsAndBeams_List,
    &ett_f1ap_AffectedCellsAndBeams_Item,
    &ett_f1ap_AffectedSSB_List,
    &ett_f1ap_AffectedSSB_Item,
    &ett_f1ap_AggregatedPosSRSResourceIDList,
    &ett_f1ap_Aggregated_PosSRS_Resource_ID_Item,
    &ett_f1ap_AggregatedPosSRSResourceSetList,
    &ett_f1ap_AggregatedPosSRSResourceSet_Item,
    &ett_f1ap_AggregatedPRSResourceSetList,
    &ett_f1ap_AggregatedPRSResourceSet_Item,
    &ett_f1ap_DL_PRS_ResourceSet_List,
    &ett_f1ap_DL_PRS_ResourceSet_Item,
    &ett_f1ap_AggressorCellList,
    &ett_f1ap_AggressorCellList_Item,
    &ett_f1ap_AggressorgNBSetID,
    &ett_f1ap_AllocationAndRetentionPriority,
    &ett_f1ap_AlternativeQoSParaSetList,
    &ett_f1ap_AlternativeQoSParaSetItem,
    &ett_f1ap_AngleMeasurementQuality,
    &ett_f1ap_AperiodicSRSResourceTriggerList,
    &ett_f1ap_Associated_SCell_Item,
    &ett_f1ap_AvailablePLMNList,
    &ett_f1ap_AvailablePLMNList_Item,
    &ett_f1ap_AvailableSNPN_ID_List,
    &ett_f1ap_AvailableSNPN_ID_List_Item,
    &ett_f1ap_AoA_AssistanceInfo,
    &ett_f1ap_AngleMeasurementType,
    &ett_f1ap_ARPLocationInformation,
    &ett_f1ap_ARPLocationInformation_Item,
    &ett_f1ap_ARPLocationType,
    &ett_f1ap_BAP_Header_Rewriting_Added_List_Item,
    &ett_f1ap_BAP_Header_Rewriting_Removed_List_Item,
    &ett_f1ap_BandwidthSRS,
    &ett_f1ap_BAPlayerBHRLCchannelMappingInfo,
    &ett_f1ap_BAPlayerBHRLCchannelMappingInfoList,
    &ett_f1ap_BAPlayerBHRLCchannelMappingInfo_Item,
    &ett_f1ap_BAPRoutingID,
    &ett_f1ap_BCBearerContextF1U_TNLInfo,
    &ett_f1ap_BHChannels_FailedToBeModified_Item,
    &ett_f1ap_BHChannels_FailedToBeSetup_Item,
    &ett_f1ap_BHChannels_FailedToBeSetupMod_Item,
    &ett_f1ap_BHChannels_Modified_Item,
    &ett_f1ap_BHChannels_Required_ToBeReleased_Item,
    &ett_f1ap_BHChannels_Setup_Item,
    &ett_f1ap_BHChannels_SetupMod_Item,
    &ett_f1ap_BHChannels_ToBeModified_Item,
    &ett_f1ap_BHChannels_ToBeReleased_Item,
    &ett_f1ap_BHChannels_ToBeSetup_Item,
    &ett_f1ap_BHChannels_ToBeSetupMod_Item,
    &ett_f1ap_BHInfo,
    &ett_f1ap_BHQoSInformation,
    &ett_f1ap_BHRLCCHList,
    &ett_f1ap_BHRLCCHItem,
    &ett_f1ap_BH_Routing_Information_Added_List_Item,
    &ett_f1ap_BH_Routing_Information_Removed_List_Item,
    &ett_f1ap_BPLMN_ID_Info_List,
    &ett_f1ap_BPLMN_ID_Info_Item,
    &ett_f1ap_ServedPLMNs_List,
    &ett_f1ap_ServedPLMNs_Item,
    &ett_f1ap_BroadcastCAGList,
    &ett_f1ap_BroadcastMRBs_FailedToBeModified_Item,
    &ett_f1ap_BroadcastMRBs_FailedToBeSetup_Item,
    &ett_f1ap_BroadcastMRBs_FailedToBeSetupMod_Item,
    &ett_f1ap_BroadcastMRBs_Modified_Item,
    &ett_f1ap_BroadcastMRBs_Setup_Item,
    &ett_f1ap_BroadcastMRBs_SetupMod_Item,
    &ett_f1ap_BroadcastMRBs_ToBeModified_Item,
    &ett_f1ap_BroadcastMRBs_ToBeReleased_Item,
    &ett_f1ap_BroadcastMRBs_ToBeSetup_Item,
    &ett_f1ap_BroadcastMRBs_ToBeSetupMod_Item,
    &ett_f1ap_BroadcastNIDList,
    &ett_f1ap_BroadcastSNPN_ID_List,
    &ett_f1ap_BroadcastSNPN_ID_List_Item,
    &ett_f1ap_BroadcastPNI_NPN_ID_List,
    &ett_f1ap_BroadcastPNI_NPN_ID_List_Item,
    &ett_f1ap_BroadcastAreaScope,
    &ett_f1ap_BroadcastCellList,
    &ett_f1ap_Broadcast_Cell_List_Item,
    &ett_f1ap_BurstArrivalTimeWindow,
    &ett_f1ap_Broadcast_MRBs_Transport_Request_Item,
    &ett_f1ap_Candidate_SpCell_Item,
    &ett_f1ap_CapacityValue,
    &ett_f1ap_Cause,
    &ett_f1ap_CellMeasurementResultList,
    &ett_f1ap_CellMeasurementResultItem,
    &ett_f1ap_CellsForSON_List,
    &ett_f1ap_CellsForSON_Item,
    &ett_f1ap_Cells_Failed_to_be_Activated_List_Item,
    &ett_f1ap_Cells_Status_Item,
    &ett_f1ap_Cells_To_Be_Broadcast_Item,
    &ett_f1ap_Cells_Broadcast_Completed_Item,
    &ett_f1ap_Broadcast_To_Be_Cancelled_Item,
    &ett_f1ap_Cells_Broadcast_Cancelled_Item,
    &ett_f1ap_Cells_to_be_Activated_List_Item,
    &ett_f1ap_Cells_With_SSBs_Activated_List,
    &ett_f1ap_Cells_With_SSBs_Activated_List_Item,
    &ett_f1ap_Cells_Allowed_to_be_Deactivated_List_Item,
    &ett_f1ap_Cells_to_be_Deactivated_List_Item,
    &ett_f1ap_Cells_to_be_Barred_Item,
    &ett_f1ap_CellToReportList,
    &ett_f1ap_CellToReportItem,
    &ett_f1ap_CellType,
    &ett_f1ap_CG_SDTSessionInfo,
    &ett_f1ap_Child_IAB_Nodes_NA_Resource_List,
    &ett_f1ap_Child_IAB_Nodes_NA_Resource_List_Item,
    &ett_f1ap_Child_Node_Cells_List,
    &ett_f1ap_Child_Node_Cells_List_Item,
    &ett_f1ap_Child_Nodes_List,
    &ett_f1ap_Child_Nodes_List_Item,
    &ett_f1ap_CNUEPagingIdentity,
    &ett_f1ap_CompositeAvailableCapacityGroup,
    &ett_f1ap_CompositeAvailableCapacity,
    &ett_f1ap_ConditionalInterDUMobilityInformation,
    &ett_f1ap_ConditionalIntraDUMobilityInformation,
    &ett_f1ap_Configured_BWP_List,
    &ett_f1ap_Configured_BWP_Item,
    &ett_f1ap_Coverage_Modification_Notification,
    &ett_f1ap_Coverage_Modification_List,
    &ett_f1ap_Coverage_Modification_Item,
    &ett_f1ap_CCO_Assistance_Information,
    &ett_f1ap_CP_TransportLayerAddress,
    &ett_f1ap_CPACMCGInformation,
    &ett_f1ap_CriticalityDiagnostics,
    &ett_f1ap_CriticalityDiagnostics_IE_List,
    &ett_f1ap_CriticalityDiagnostics_IE_Item,
    &ett_f1ap_CUDURadioInformationType,
    &ett_f1ap_CUDURIMInformation,
    &ett_f1ap_CUtoDURRCInformation,
    &ett_f1ap_CUtoDUTAInformation_List,
    &ett_f1ap_CUtoDUTAInformation_Item,
    &ett_f1ap_CSIResourceConfiguration,
    &ett_f1ap_DeactivationIndication,
    &ett_f1ap_DeactivationIndicationList,
    &ett_f1ap_DeactivationIndicationList_Item,
    &ett_f1ap_Dedicated_SIDelivery_NeededUE_Item,
    &ett_f1ap_DL_PRS,
    &ett_f1ap_DL_PRSMutingPattern,
    &ett_f1ap_DLPRSResourceCoordinates,
    &ett_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourceSets_OF_DLPRSResourceSetARP,
    &ett_f1ap_DLPRSResourceSetARP,
    &ett_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceARP,
    &ett_f1ap_DL_PRSResourceSetARPLocation,
    &ett_f1ap_DLPRSResourceARP,
    &ett_f1ap_DL_PRSResourceARPLocation,
    &ett_f1ap_DL_UP_TNL_Address_to_Update_List_Item,
    &ett_f1ap_DLUPTNLInformation_ToBeSetup_List,
    &ett_f1ap_DLUPTNLInformation_ToBeSetup_Item,
    &ett_f1ap_DRB_Activity_Item,
    &ett_f1ap_DRBs_FailedToBeModified_Item,
    &ett_f1ap_DRBs_FailedToBeSetup_Item,
    &ett_f1ap_DRBs_FailedToBeSetupMod_Item,
    &ett_f1ap_DRB_Information,
    &ett_f1ap_DRBs_Modified_Item,
    &ett_f1ap_DRBs_ModifiedConf_Item,
    &ett_f1ap_DRB_Notify_Item,
    &ett_f1ap_DRBs_Required_ToBeModified_Item,
    &ett_f1ap_DRBs_Required_ToBeReleased_Item,
    &ett_f1ap_DRBs_Setup_Item,
    &ett_f1ap_DRBs_SetupMod_Item,
    &ett_f1ap_DRBs_ToBeModified_Item,
    &ett_f1ap_DRBs_ToBeReleased_Item,
    &ett_f1ap_DRBs_ToBeSetup_Item,
    &ett_f1ap_DRBs_ToBeSetupMod_Item,
    &ett_f1ap_DRB_List,
    &ett_f1ap_DRB_List_Item,
    &ett_f1ap_DRXCycle,
    &ett_f1ap_NonIntegerDRXCycle,
    &ett_f1ap_DSInformationList,
    &ett_f1ap_DUCURadioInformationType,
    &ett_f1ap_DUCURIMInformation,
    &ett_f1ap_DUF_Slot_Config_Item,
    &ett_f1ap_DUF_Slot_Config_List,
    &ett_f1ap_DUtoCURRCInformation,
    &ett_f1ap_DUtoCUTAInformation_List,
    &ett_f1ap_DUtoCUTAInformation_Item,
    &ett_f1ap_Dynamic5QIDescriptor,
    &ett_f1ap_DynamicPQIDescriptor,
    &ett_f1ap_DLLBTFailureInformationList,
    &ett_f1ap_DLLBTFailureInformationList_Item,
    &ett_f1ap_EarlyULSyncConfig,
    &ett_f1ap_EarlySyncInformation_Request,
    &ett_f1ap_EarlySyncInformation,
    &ett_f1ap_EarlySyncCandidateCellInformation_List,
    &ett_f1ap_EarlySyncCandidateCellInformation_Item,
    &ett_f1ap_EarlySyncServingCellInformation,
    &ett_f1ap_E_CID_MeasurementQuantities,
    &ett_f1ap_E_CID_MeasurementQuantities_Item,
    &ett_f1ap_E_CID_MeasurementResult,
    &ett_f1ap_E_CID_MeasuredResults_List,
    &ett_f1ap_E_CID_MeasuredResults_Item,
    &ett_f1ap_E_CID_MeasuredResults_Value,
    &ett_f1ap_E_CID_MeasuredResultsAssociatedInfoList,
    &ett_f1ap_E_CID_MeasuredResultsAssociatedInfoItem,
    &ett_f1ap_EgressBHRLCCHList,
    &ett_f1ap_EgressBHRLCCHItem,
    &ett_f1ap_Endpoint_IP_address_and_port,
    &ett_f1ap_ExtendedAvailablePLMN_List,
    &ett_f1ap_ExtendedAvailablePLMN_Item,
    &ett_f1ap_ExplicitFormat,
    &ett_f1ap_ExtendedServedPLMNs_List,
    &ett_f1ap_ExtendedServedPLMNs_Item,
    &ett_f1ap_ExtendedSliceSupportList,
    &ett_f1ap_EUTRACells_List,
    &ett_f1ap_EUTRACells_List_item,
    &ett_f1ap_EUTRA_Coex_FDD_Info,
    &ett_f1ap_EUTRA_Coex_Mode_Info,
    &ett_f1ap_EUTRA_Coex_TDD_Info,
    &ett_f1ap_EUTRA_PRACH_Configuration,
    &ett_f1ap_EUTRA_SpecialSubframe_Info,
    &ett_f1ap_EUTRANQoS,
    &ett_f1ap_EUTRA_Mode_Info,
    &ett_f1ap_EUTRA_FDD_Info,
    &ett_f1ap_EUTRA_TDD_Info,
    &ett_f1ap_Expected_UL_AoA,
    &ett_f1ap_Expected_ZoA_only,
    &ett_f1ap_Expected_Azimuth_AoA,
    &ett_f1ap_Expected_Zenith_AoA,
    &ett_f1ap_ECNMarkingorCongestionInformationReportingRequest,
    &ett_f1ap_F1CTransferPath,
    &ett_f1ap_F1CTransferPathNRDC,
    &ett_f1ap_FDD_Info,
    &ett_f1ap_FDD_InfoRel16,
    &ett_f1ap_FiveG_ProSeAuthorized,
    &ett_f1ap_Flows_Mapped_To_DRB_List,
    &ett_f1ap_Flows_Mapped_To_DRB_Item,
    &ett_f1ap_FreqBandNrItem,
    &ett_f1ap_SEQUENCE_SIZE_0_maxnoofNrCellBands_OF_SupportedSULFreqBandItem,
    &ett_f1ap_FreqDomainLength,
    &ett_f1ap_FreqInfoRel16,
    &ett_f1ap_Frequency_Domain_HSNA_Configuration_List,
    &ett_f1ap_Frequency_Domain_HSNA_Configuration_Item,
    &ett_f1ap_Frequency_Domain_HSNA_Slot_Configuration_List,
    &ett_f1ap_Frequency_Domain_HSNA_Slot_Configuration_Item,
    &ett_f1ap_FlowsMappedToSLDRB_List,
    &ett_f1ap_FlowsMappedToSLDRB_Item,
    &ett_f1ap_GBR_QosInformation,
    &ett_f1ap_GBR_QoSFlowInformation,
    &ett_f1ap_GeographicalCoordinates,
    &ett_f1ap_GlobalGNB_ID,
    &ett_f1ap_GNB_ID,
    &ett_f1ap_GNB_CUSystemInformation,
    &ett_f1ap_SEQUENCE_SIZE_1_maxnoofSIBTypes_OF_SibtypetobeupdatedListItem,
    &ett_f1ap_GNB_CU_TNL_Association_Setup_Item,
    &ett_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_Item,
    &ett_f1ap_GNB_CU_TNL_Association_To_Add_Item,
    &ett_f1ap_GNB_CU_TNL_Association_To_Remove_Item,
    &ett_f1ap_GNB_CU_TNL_Association_To_Update_Item,
    &ett_f1ap_GNB_DU_Cell_Resource_Configuration,
    &ett_f1ap_Extended_GNB_CU_Name,
    &ett_f1ap_Extended_GNB_DU_Name,
    &ett_f1ap_GNB_DU_Served_Cells_Item,
    &ett_f1ap_GNB_DU_System_Information,
    &ett_f1ap_GNB_DU_TNL_Association_To_Remove_Item,
    &ett_f1ap_GNBDUUESliceMaximumBitRateList,
    &ett_f1ap_GNBDUUESliceMaximumBitRateItem,
    &ett_f1ap_GNB_RxTxTimeDiff,
    &ett_f1ap_GNBRxTxTimeDiffMeas,
    &ett_f1ap_GTPTLAs,
    &ett_f1ap_GTPTLA_Item,
    &ett_f1ap_GTPTunnel,
    &ett_f1ap_HardwareLoadIndicator,
    &ett_f1ap_HSNASlotConfigList,
    &ett_f1ap_HSNASlotConfigItem,
    &ett_f1ap_IABCongestionIndication,
    &ett_f1ap_IAB_Congestion_Indication_List,
    &ett_f1ap_IAB_Congestion_Indication_Item,
    &ett_f1ap_IAB_Info_IAB_donor_CU,
    &ett_f1ap_IAB_Info_IAB_DU,
    &ett_f1ap_IAB_MT_Cell_List,
    &ett_f1ap_IAB_MT_Cell_List_Item,
    &ett_f1ap_IAB_MT_Cell_NA_Resource_Configuration_Mode_Info,
    &ett_f1ap_IAB_MT_Cell_NA_Resource_Configuration_FDD_Info,
    &ett_f1ap_IAB_MT_Cell_NA_Resource_Configuration_TDD_Info,
    &ett_f1ap_IAB_STC_Info,
    &ett_f1ap_IAB_STC_Info_List,
    &ett_f1ap_IAB_STC_Info_Item,
    &ett_f1ap_IAB_Allocated_TNL_Address_Item,
    &ett_f1ap_IAB_DU_Cell_Resource_Configuration_Mode_Info,
    &ett_f1ap_IAB_DU_Cell_Resource_Configuration_FDD_Info,
    &ett_f1ap_IAB_DU_Cell_Resource_Configuration_TDD_Info,
    &ett_f1ap_IABIPv6RequestType,
    &ett_f1ap_IABTNLAddress,
    &ett_f1ap_IABTNLAddressesRequested,
    &ett_f1ap_IAB_TNL_Addresses_To_Remove_Item,
    &ett_f1ap_IAB_TNL_Addresses_Exception,
    &ett_f1ap_IABTNLAddressList,
    &ett_f1ap_IABTNLAddress_Item,
    &ett_f1ap_IABv4AddressesRequested,
    &ett_f1ap_Mobile_IAB_MTUserLocationInformation,
    &ett_f1ap_ImplicitFormat,
    &ett_f1ap_IndirectPathAddition,
    &ett_f1ap_IntendedTDD_DL_ULConfig,
    &ett_f1ap_IPHeaderInformation,
    &ett_f1ap_IPtolayer2TrafficMappingInfo,
    &ett_f1ap_IPtolayer2TrafficMappingInfoList,
    &ett_f1ap_IPtolayer2TrafficMappingInfo_Item,
    &ett_f1ap_LTEA2XServicesAuthorized,
    &ett_f1ap_L139Info,
    &ett_f1ap_L839Info,
    &ett_f1ap_L571Info,
    &ett_f1ap_L1151Info,
    &ett_f1ap_LCS_to_GCS_Translation,
    &ett_f1ap_LCStoGCSTranslationList,
    &ett_f1ap_LCStoGCSTranslation,
    &ett_f1ap_LocationDependentMBSF1UInformation,
    &ett_f1ap_LocationDependentMBSF1UInformation_Item,
    &ett_f1ap_LocationUncertainty,
    &ett_f1ap_LoS_NLoSInformation,
    &ett_f1ap_LTEUESidelinkAggregateMaximumBitrate,
    &ett_f1ap_LTEV2XServicesAuthorized,
    &ett_f1ap_LTMCells_ToBeReleased_List,
    &ett_f1ap_LTMCells_ToBeReleased_Item,
    &ett_f1ap_LTMInformation_Setup,
    &ett_f1ap_LTMConfigurationIDMappingList,
    &ett_f1ap_LTMConfigurationIDMapping_Item,
    &ett_f1ap_LTMInformation_Modify,
    &ett_f1ap_LTMConfiguration,
    &ett_f1ap_LTMCellSwitchInformation,
    &ett_f1ap_LTMgNB_DU_IDsList,
    &ett_f1ap_LTMgNB_DU_IDs_Item,
    &ett_f1ap_LTMgNB_DU_IDs_PreambleIndexList,
    &ett_f1ap_LTMgNB_DU_IDs_PreambleIndex_Item,
    &ett_f1ap_LTMCFRAResourceConfig_List,
    &ett_f1ap_LTMCFRAResourceConfig_Item,
    &ett_f1ap_MappingInformationtoRemove,
    &ett_f1ap_MBS_Flows_Mapped_To_MRB_List,
    &ett_f1ap_MBS_Flows_Mapped_To_MRB_Item,
    &ett_f1ap_MBSF1UInformation,
    &ett_f1ap_MBS_Session_ID,
    &ett_f1ap_MBS_CUtoDURRCInformation,
    &ett_f1ap_MBS_Broadcast_Cell_List,
    &ett_f1ap_MBS_Broadcast_Cell_Item,
    &ett_f1ap_MBS_Broadcast_MRB_List,
    &ett_f1ap_MBS_Broadcast_MRB_Item,
    &ett_f1ap_MBSMulticastF1UContextDescriptor,
    &ett_f1ap_MT_SDT_Information,
    &ett_f1ap_MulticastCU2DURRCInfo,
    &ett_f1ap_MBS_Multicast_CU2DU_Cell_List,
    &ett_f1ap_MBS_Multicast_CU2DU_Cell_Item,
    &ett_f1ap_MBS_Multicast_MRB_List,
    &ett_f1ap_MBS_Multicast_MRB_Item,
    &ett_f1ap_MulticastCU2DUCommonRRCInfo,
    &ett_f1ap_MulticastCommonCU2DUCellList,
    &ett_f1ap_MulticastCommonCU2DUCell_Item,
    &ett_f1ap_MulticastCommonCu2DUCellInformation,
    &ett_f1ap_MBSMulticastNeighbourCellListItem,
    &ett_f1ap_ThresholdMBS_ListItem,
    &ett_f1ap_UpdateMBSMulticastNeighbourCellListInformation,
    &ett_f1ap_MTCH_NeighbourCellSessionList,
    &ett_f1ap_MTCH_NeighbourCellSession_Item,
    &ett_f1ap_MTCH_NeighbourCellInformation,
    &ett_f1ap_UpdateThresholdMBS_ListInformation,
    &ett_f1ap_ThresholdIndexSessionList,
    &ett_f1ap_ThresholdIndexSession_Item,
    &ett_f1ap_ThresholdIndexInformation,
    &ett_f1ap_MulticastDU2CURRCInfo,
    &ett_f1ap_MBS_Multicast_DU2CU_Cell_List,
    &ett_f1ap_MBS_Multicast_DU2CU_Cell_Item,
    &ett_f1ap_MBSMulticastConfigurationResponseInfo,
    &ett_f1ap_MBSMulticastConfiguration_available,
    &ett_f1ap_MBSMulticastConfiguration_notavailable,
    &ett_f1ap_MBSMulticastConfigurationNotification,
    &ett_f1ap_MBSMulticastConfigurationNotificationInfo,
    &ett_f1ap_MulticastF1UContext_ToBeSetup_Item,
    &ett_f1ap_MulticastF1UContext_Setup_Item,
    &ett_f1ap_MulticastF1UContext_FailedToBeSetup_Item,
    &ett_f1ap_MBS_ServiceArea,
    &ett_f1ap_MBS_ServiceAreaInformation,
    &ett_f1ap_MBS_ServiceAreaCellList,
    &ett_f1ap_MBS_ServiceAreaTAIList,
    &ett_f1ap_MBS_ServiceAreaTAIList_Item,
    &ett_f1ap_MBS_ServiceAreaInformationList,
    &ett_f1ap_MBS_ServiceAreaInformationItem,
    &ett_f1ap_MC_PagingCell_Item,
    &ett_f1ap_MeasurementBeamInfo,
    &ett_f1ap_MRB_ProgressInformation,
    &ett_f1ap_MultipleULAoA,
    &ett_f1ap_MultipleULAoA_List,
    &ett_f1ap_MultipleULAoA_Item,
    &ett_f1ap_MulticastMBSSessionList,
    &ett_f1ap_MulticastMBSSessionList_Item,
    &ett_f1ap_MulticastMRBs_FailedToBeModified_Item,
    &ett_f1ap_MulticastMRBs_FailedToBeSetup_Item,
    &ett_f1ap_MulticastMRBs_FailedToBeSetupMod_Item,
    &ett_f1ap_MulticastMRBs_Modified_Item,
    &ett_f1ap_MulticastMRBs_Setup_Item,
    &ett_f1ap_MulticastMRBs_SetupMod_Item,
    &ett_f1ap_MulticastMRBs_ToBeModified_Item,
    &ett_f1ap_MulticastMRBs_ToBeReleased_Item,
    &ett_f1ap_MulticastMRBs_ToBeSetup_Item,
    &ett_f1ap_MulticastMRBs_ToBeSetupMod_Item,
    &ett_f1ap_MultiplexingInfo,
    &ett_f1ap_M5Configuration,
    &ett_f1ap_M6Configuration,
    &ett_f1ap_M7Configuration,
    &ett_f1ap_MDTConfiguration,
    &ett_f1ap_MDTPLMNList,
    &ett_f1ap_MDTPLMNModificationList,
    &ett_f1ap_MeasuredResultsValue,
    &ett_f1ap_Mobile_TRP_LocationInformation,
    &ett_f1ap_NRA2XServicesAuthorized,
    &ett_f1ap_N3CIndirectPathAddition,
    &ett_f1ap_NA_Resource_Configuration_List,
    &ett_f1ap_NA_Resource_Configuration_Item,
    &ett_f1ap_NCGI_to_be_Updated_List_Item,
    &ett_f1ap_Neighbour_Node_Cells_List,
    &ett_f1ap_Neighbour_Node_Cells_List_Item,
    &ett_f1ap_Neighbour_Cell_Information_Item,
    &ett_f1ap_NeighbourNR_CellsForSON_List,
    &ett_f1ap_NeighbourNR_CellsForSON_Item,
    &ett_f1ap_NGRANAllocationAndRetentionPriority,
    &ett_f1ap_NGRANHighAccuracyAccessPointPosition,
    &ett_f1ap_NR_CGI_List_For_Restart_Item,
    &ett_f1ap_NR_PRSBeamInformation,
    &ett_f1ap_NR_PRSBeamInformationList,
    &ett_f1ap_NR_PRSBeamInformationItem,
    &ett_f1ap_NRPagingeDRXInformation,
    &ett_f1ap_NRPagingeDRXInformationforRRCINACTIVE,
    &ett_f1ap_NRPaginglongeDRXInformationforRRCINACTIVE,
    &ett_f1ap_NonDynamic5QIDescriptor,
    &ett_f1ap_NonDynamicPQIDescriptor,
    &ett_f1ap_NotificationInformation,
    &ett_f1ap_NPNBroadcastInformation,
    &ett_f1ap_NPN_Broadcast_Information_SNPN,
    &ett_f1ap_NPN_Broadcast_Information_PNI_NPN,
    &ett_f1ap_NPNSupportInfo,
    &ett_f1ap_NRCarrierList,
    &ett_f1ap_NRCarrierItem,
    &ett_f1ap_NRFreqInfo,
    &ett_f1ap_SEQUENCE_SIZE_1_maxnoofNrCellBands_OF_FreqBandNrItem,
    &ett_f1ap_NRCGI,
    &ett_f1ap_NR_Mode_Info,
    &ett_f1ap_NR_ModeInfoRel16,
    &ett_f1ap_NRPRACHConfig,
    &ett_f1ap_NRPRACHConfigList,
    &ett_f1ap_NRPRACHConfigItem,
    &ett_f1ap_NR_U_Channel_Info_List,
    &ett_f1ap_NR_U_Channel_Info_Item,
    &ett_f1ap_NR_U_Channel_List,
    &ett_f1ap_NR_U_Channel_Item,
    &ett_f1ap_NumDLULSymbols,
    &ett_f1ap_NRV2XServicesAuthorized,
    &ett_f1ap_NRUESidelinkAggregateMaximumBitrate,
    &ett_f1ap_N6JitterInformation,
    &ett_f1ap_OnDemandPRS_Info,
    &ett_f1ap_PacketErrorRate,
    &ett_f1ap_PathAdditionInformation,
    &ett_f1ap_PagingCell_Item,
    &ett_f1ap_Recommended_SSBs_List,
    &ett_f1ap_RecommendedSSBItem_List_Item,
    &ett_f1ap_PagingIdentity,
    &ett_f1ap_PEIPSAssistanceInfo,
    &ett_f1ap_RelativePathDelay,
    &ett_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_List,
    &ett_f1ap_Parent_IAB_Nodes_NA_Resource_Configuration_Item,
    &ett_f1ap_PartialSuccessCell,
    &ett_f1ap_PathlossReferenceInfo,
    &ett_f1ap_PathlossReferenceSignal,
    &ett_f1ap_PathSwitchConfiguration,
    &ett_f1ap_PC5_QoS_Characteristics,
    &ett_f1ap_PC5QoSParameters,
    &ett_f1ap_PC5FlowBitRates,
    &ett_f1ap_PC5RLCChannelQoSInformation,
    &ett_f1ap_PC5RLCChannelToBeSetupList,
    &ett_f1ap_PC5RLCChannelToBeSetupItem,
    &ett_f1ap_PC5RLCChannelToBeModifiedList,
    &ett_f1ap_PC5RLCChannelToBeModifiedItem,
    &ett_f1ap_PC5RLCChannelToBeReleasedList,
    &ett_f1ap_PC5RLCChannelToBeReleasedItem,
    &ett_f1ap_PC5RLCChannelSetupList,
    &ett_f1ap_PC5RLCChannelSetupItem,
    &ett_f1ap_PC5RLCChannelFailedToBeSetupList,
    &ett_f1ap_PC5RLCChannelFailedToBeSetupItem,
    &ett_f1ap_PC5RLCChannelModifiedList,
    &ett_f1ap_PC5RLCChannelModifiedItem,
    &ett_f1ap_PC5RLCChannelFailedToBeModifiedList,
    &ett_f1ap_PC5RLCChannelFailedToBeModifiedItem,
    &ett_f1ap_PC5RLCChannelRequiredToBeModifiedList,
    &ett_f1ap_PC5RLCChannelRequiredToBeModifiedItem,
    &ett_f1ap_PC5RLCChannelRequiredToBeReleasedList,
    &ett_f1ap_PC5RLCChannelRequiredToBeReleasedItem,
    &ett_f1ap_PDCMeasurementQuantities,
    &ett_f1ap_PDCMeasurementQuantities_Item,
    &ett_f1ap_PDCMeasurementResult,
    &ett_f1ap_PDCMeasuredResultsList,
    &ett_f1ap_PDCMeasuredResults_Item,
    &ett_f1ap_PDCMeasuredResults_Value,
    &ett_f1ap_PeriodicityList,
    &ett_f1ap_PeriodicityList_Item,
    &ett_f1ap_PeriodicityBound,
    &ett_f1ap_AllowedPeriodicityList,
    &ett_f1ap_PeriodicityRange,
    &ett_f1ap_PositioningBroadcastCells,
    &ett_f1ap_PosMeasGapPreConfigList,
    &ett_f1ap_PosMeasurementQuantities,
    &ett_f1ap_PosMeasurementQuantities_Item,
    &ett_f1ap_PosMeasurementResult,
    &ett_f1ap_PosMeasurementResultItem,
    &ett_f1ap_PosMeasurementResultList,
    &ett_f1ap_PosMeasurementResultList_Item,
    &ett_f1ap_PosResourceSetType,
    &ett_f1ap_PosResourceSetTypePR,
    &ett_f1ap_PosResourceSetTypeSP,
    &ett_f1ap_PosResourceSetTypeAP,
    &ett_f1ap_PosSItypeList,
    &ett_f1ap_PosSItype_Item,
    &ett_f1ap_PosSRSResourceID_List,
    &ett_f1ap_PosSRSResource_Item,
    &ett_f1ap_PosSRSResource_List,
    &ett_f1ap_PosSRSResourceSet_Item,
    &ett_f1ap_PosValidityAreaCellList,
    &ett_f1ap_PosValidityAreaCellList_Item,
    &ett_f1ap_PosSRSResourceSet_List,
    &ett_f1ap_PreambleIndexList,
    &ett_f1ap_PreambleIndexList_Item,
    &ett_f1ap_Protected_EUTRA_Resources_Item,
    &ett_f1ap_PRSConfiguration,
    &ett_f1ap_PRSInformationPos,
    &ett_f1ap_PRS_Measurement_Info_List,
    &ett_f1ap_PRS_Measurement_Info_List_Item,
    &ett_f1ap_Potential_SpCell_Item,
    &ett_f1ap_PRSAngleList,
    &ett_f1ap_PRSAngleItem,
    &ett_f1ap_PRSMuting,
    &ett_f1ap_PRSMutingOption1,
    &ett_f1ap_PRSMutingOption2,
    &ett_f1ap_PRSResource_List,
    &ett_f1ap_PRSResource_Item,
    &ett_f1ap_PRSResource_QCLInfo,
    &ett_f1ap_PRSResource_QCLSourceSSB,
    &ett_f1ap_PRSResource_QCLSourcePRS,
    &ett_f1ap_PRSResourceSet_List,
    &ett_f1ap_PRSResourceSet_Item,
    &ett_f1ap_PRSTransmissionOffIndication,
    &ett_f1ap_PRSTransmissionOffPerResource,
    &ett_f1ap_PRSTransmissionOffPerResource_Item,
    &ett_f1ap_SEQUENCE_SIZE_1_maxnoofPRSresources_OF_PRSTransmissionOffIndicationPerResource_Item,
    &ett_f1ap_PRSTransmissionOffIndicationPerResource_Item,
    &ett_f1ap_PRSTransmissionOffInformation,
    &ett_f1ap_PRSTransmissionOffPerResourceSet,
    &ett_f1ap_PRSTransmissionOffPerResourceSet_Item,
    &ett_f1ap_PWS_Failed_NR_CGI_Item,
    &ett_f1ap_PWSSystemInformation,
    &ett_f1ap_PRSTRPList,
    &ett_f1ap_PRSTRPItem,
    &ett_f1ap_RequestedDLPRSTransmissionCharacteristics,
    &ett_f1ap_RequestedDLPRSResourceSet_List,
    &ett_f1ap_RequestedDLPRSResourceSet_Item,
    &ett_f1ap_RequestedDLPRSResource_List,
    &ett_f1ap_RequestedDLPRSResource_Item,
    &ett_f1ap_PRSTransmissionTRPList,
    &ett_f1ap_PRSTransmissionTRPItem,
    &ett_f1ap_PDUSetQoSParameters,
    &ett_f1ap_PDUSetQoSInformation,
    &ett_f1ap_QoEInformation,
    &ett_f1ap_QoEInformationList,
    &ett_f1ap_QoEInformationList_Item,
    &ett_f1ap_QoEMetrics,
    &ett_f1ap_QoS_Characteristics,
    &ett_f1ap_QoSFlowLevelQoSParameters,
    &ett_f1ap_QoSInformation,
    &ett_f1ap_RAReportList,
    &ett_f1ap_RAReportItem,
    &ett_f1ap_RAReportIndicationList,
    &ett_f1ap_RAReportIndicationList_Item,
    &ett_f1ap_RadioResourceStatus,
    &ett_f1ap_RadioResourceStatusNR_U,
    &ett_f1ap_MIMOPRBusageInformation,
    &ett_f1ap_RANfeedbacktype,
    &ett_f1ap_RANfeedbacktype_proactive,
    &ett_f1ap_RANfeedbacktype_reactive,
    &ett_f1ap_RANTimingSynchronisationStatusInfo,
    &ett_f1ap_ClockAccuracy,
    &ett_f1ap_RANUEPagingIdentity,
    &ett_f1ap_RAT_FrequencyPriorityInformation,
    &ett_f1ap_RBSetConfiguration,
    &ett_f1ap_Recommended_SSBs_for_Paging_List,
    &ett_f1ap_Recommended_SSBs_for_Paging_List_Item,
    &ett_f1ap_ReferencePoint,
    &ett_f1ap_ReferenceSignal,
    &ett_f1ap_ReferenceConfiguration,
    &ett_f1ap_RelativeCartesianLocation,
    &ett_f1ap_RelativeGeodeticLocation,
    &ett_f1ap_RequestedSRSPreconfigurationCharacteristics_List,
    &ett_f1ap_RequestedSRSPreconfigurationCharacteristics_Item,
    &ett_f1ap_RequestedSRSTransmissionCharacteristics,
    &ett_f1ap_ResourceCoordinationEUTRACellInfo,
    &ett_f1ap_ResourceCoordinationTransferInformation,
    &ett_f1ap_ResourceMapping,
    &ett_f1ap_ResourceSetType,
    &ett_f1ap_ResourceSetTypePeriodic,
    &ett_f1ap_ResourceSetTypeSemi_persistent,
    &ett_f1ap_ResourceSetTypeAperiodic,
    &ett_f1ap_ReportingRequestType,
    &ett_f1ap_ResourceType,
    &ett_f1ap_ResourceTypePeriodic,
    &ett_f1ap_ResourceTypeSemi_persistent,
    &ett_f1ap_ResourceTypeAperiodic,
    &ett_f1ap_ResourceTypePos,
    &ett_f1ap_ResourceTypePeriodicPos,
    &ett_f1ap_ResourceTypeSemi_persistentPos,
    &ett_f1ap_ResourceTypeAperiodicPos,
    &ett_f1ap_RLCDuplicationInformation,
    &ett_f1ap_RLCDuplicationStateList,
    &ett_f1ap_RLCDuplicationState_Item,
    &ett_f1ap_RLCFailureIndication,
    &ett_f1ap_RLC_Status,
    &ett_f1ap_RLFReportInformationList,
    &ett_f1ap_RLFReportInformationItem,
    &ett_f1ap_RRCDeliveryStatus,
    &ett_f1ap_RRC_Terminating_IAB_Donor_Related_Info,
    &ett_f1ap_RRC_Version,
    &ett_f1ap_ResponseTime,
    &ett_f1ap_SCell_FailedtoSetup_Item,
    &ett_f1ap_SCell_FailedtoSetupMod_Item,
    &ett_f1ap_SCell_ToBeRemoved_Item,
    &ett_f1ap_SCell_ToBeSetup_Item,
    &ett_f1ap_SCell_ToBeSetupMod_Item,
    &ett_f1ap_S_CPAC_Configuration,
    &ett_f1ap_SCS_SpecificCarrier,
    &ett_f1ap_SDTBearerConfigurationInfo,
    &ett_f1ap_SDTBearerConfig_List,
    &ett_f1ap_SDTBearerConfig_List_Item,
    &ett_f1ap_SDTBearerType,
    &ett_f1ap_SDTInformation,
    &ett_f1ap_Search_window_information,
    &ett_f1ap_ServingCellMO_List_Item,
    &ett_f1ap_ServingCellMO_encoded_in_CGC_List,
    &ett_f1ap_ServingCellMO_encoded_in_CGC_Item,
    &ett_f1ap_Served_Cell_Information,
    &ett_f1ap_Serving_Cells_List,
    &ett_f1ap_Serving_Cells_List_Item,
    &ett_f1ap_Supported_MBS_FSA_ID_List,
    &ett_f1ap_SFN_Offset,
    &ett_f1ap_Served_Cells_To_Add_Item,
    &ett_f1ap_Served_Cells_To_Delete_Item,
    &ett_f1ap_Served_Cells_To_Modify_Item,
    &ett_f1ap_Served_EUTRA_Cells_Information,
    &ett_f1ap_Service_Status,
    &ett_f1ap_SItype_List,
    &ett_f1ap_SItype_Item,
    &ett_f1ap_SibtypetobeupdatedListItem,
    &ett_f1ap_SidelinkRelayConfiguration,
    &ett_f1ap_SLDRBInformation,
    &ett_f1ap_SLDRBs_FailedToBeModified_Item,
    &ett_f1ap_SLDRBs_FailedToBeSetup_Item,
    &ett_f1ap_SLDRBs_FailedToBeSetupMod_Item,
    &ett_f1ap_SLDRBs_Modified_Item,
    &ett_f1ap_SLDRBs_ModifiedConf_Item,
    &ett_f1ap_SLDRBs_Required_ToBeModified_Item,
    &ett_f1ap_SLDRBs_Required_ToBeReleased_Item,
    &ett_f1ap_SLDRBs_Setup_Item,
    &ett_f1ap_SLDRBs_SetupMod_Item,
    &ett_f1ap_SLDRBs_ToBeModified_Item,
    &ett_f1ap_SLDRBs_ToBeReleased_Item,
    &ett_f1ap_SLDRBs_ToBeSetup_Item,
    &ett_f1ap_SLDRBs_ToBeSetupMod_Item,
    &ett_f1ap_SLDRXCycleList,
    &ett_f1ap_SLDRXCycleItem,
    &ett_f1ap_SLDRXInformation,
    &ett_f1ap_SliceAvailableCapacity,
    &ett_f1ap_SliceAvailableCapacityList,
    &ett_f1ap_SliceAvailableCapacityItem,
    &ett_f1ap_SNSSAIAvailableCapacity_List,
    &ett_f1ap_SNSSAIAvailableCapacity_Item,
    &ett_f1ap_SliceRadioResourceStatus,
    &ett_f1ap_SliceRadioResourceStatus_List,
    &ett_f1ap_SliceRadioResourceStatus_Item,
    &ett_f1ap_SNSSAIRadioResourceStatus_List,
    &ett_f1ap_SNSSAIRadioResourceStatus_Item,
    &ett_f1ap_SliceSupportList,
    &ett_f1ap_SliceSupportItem,
    &ett_f1ap_SliceToReportList,
    &ett_f1ap_SliceToReportItem,
    &ett_f1ap_SLPositioning_Ranging_Service_Info,
    &ett_f1ap_RSPP_transport_QoS_parameters,
    &ett_f1ap_RSPPQoSFlowList,
    &ett_f1ap_RSPPQoSFlowItem,
    &ett_f1ap_RSPPFlowBitRates,
    &ett_f1ap_SNSSAI_list,
    &ett_f1ap_SNSSAI_Item,
    &ett_f1ap_Slot_Configuration_List,
    &ett_f1ap_Slot_Configuration_Item,
    &ett_f1ap_SlotOffsetForRemainingHopsList,
    &ett_f1ap_SlotOffsetForRemainingHopsItem,
    &ett_f1ap_SlotOffsetRemainingHops,
    &ett_f1ap_SlotOffsetRemainingHopsAperiodic,
    &ett_f1ap_SlotOffsetRemainingHopsSemiPersistent,
    &ett_f1ap_SlotOffsetRemainingHopsPeriodic,
    &ett_f1ap_SNSSAI,
    &ett_f1ap_SpatialDirectionInformation,
    &ett_f1ap_SpatialRelationInfo,
    &ett_f1ap_SpatialRelationforResourceID,
    &ett_f1ap_SpatialRelationforResourceIDItem,
    &ett_f1ap_SpatialRelationPerSRSResource,
    &ett_f1ap_SpatialRelationPerSRSResource_List,
    &ett_f1ap_SpatialRelationPerSRSResourceItem,
    &ett_f1ap_SpatialRelationPos,
    &ett_f1ap_SRBs_FailedToBeSetup_Item,
    &ett_f1ap_SRBs_FailedToBeSetupMod_Item,
    &ett_f1ap_SRBs_Modified_Item,
    &ett_f1ap_SRBs_Required_ToBeReleased_Item,
    &ett_f1ap_SRBs_Setup_Item,
    &ett_f1ap_SRBs_SetupMod_Item,
    &ett_f1ap_SRBs_ToBeReleased_Item,
    &ett_f1ap_SRBs_ToBeSetup_Item,
    &ett_f1ap_SRBs_ToBeSetupMod_Item,
    &ett_f1ap_SRSCarrier_List,
    &ett_f1ap_SRSCarrier_List_Item,
    &ett_f1ap_SRSConfig,
    &ett_f1ap_SRSConfiguration,
    &ett_f1ap_SRSPreconfiguration_List,
    &ett_f1ap_SRSPreconfiguration_Item,
    &ett_f1ap_SRSResource,
    &ett_f1ap_SRSResourceID_List,
    &ett_f1ap_SRSResource_List,
    &ett_f1ap_SRSResourceSet,
    &ett_f1ap_SRSResourceSetList,
    &ett_f1ap_SRSResourceSetItem,
    &ett_f1ap_SRSResourceSet_List,
    &ett_f1ap_SRSResourceTrigger,
    &ett_f1ap_SRSResourcetype,
    &ett_f1ap_SRSResourceTypeChoice,
    &ett_f1ap_SRSInfo,
    &ett_f1ap_PosSRSInfo,
    &ett_f1ap_SSB,
    &ett_f1ap_SSBCoverageModification_List,
    &ett_f1ap_SSBCoverageModification_Item,
    &ett_f1ap_SSB_transmissionBitmap,
    &ett_f1ap_SSBAreaCapacityValueList,
    &ett_f1ap_SSBAreaCapacityValueItem,
    &ett_f1ap_SSBAreaRadioResourceStatusList,
    &ett_f1ap_SSBAreaRadioResourceStatusItem,
    &ett_f1ap_SSBInformation,
    &ett_f1ap_SSBInformationList,
    &ett_f1ap_SSBInformationItem,
    &ett_f1ap_SSB_PositionsInBurst,
    &ett_f1ap_SSBs_activated_List,
    &ett_f1ap_SSBs_forPaging_List,
    &ett_f1ap_SSBs_toBeActivated_List,
    &ett_f1ap_SSB_TF_Configuration,
    &ett_f1ap_SSBToReportList,
    &ett_f1ap_SSBToReportItem,
    &ett_f1ap_StartRBIndex,
    &ett_f1ap_StartTimeAndDuration,
    &ett_f1ap_SUL_Information,
    &ett_f1ap_SuccessfulHOReportInformationList,
    &ett_f1ap_SuccessfulHOReportInformation_Item,
    &ett_f1ap_SuccessfulPSCellChangeReportInformationList,
    &ett_f1ap_SuccessfulPSCellChangeReportInformation_Item,
    &ett_f1ap_SupportedSULFreqBandItem,
    &ett_f1ap_SupportedUETypeList,
    &ett_f1ap_SupportedUETypeList_Item,
    &ett_f1ap_SymbolAllocInSlot,
    &ett_f1ap_TAI,
    &ett_f1ap_TargetCellList,
    &ett_f1ap_TargetCellList_Item,
    &ett_f1ap_NSAGSupportList,
    &ett_f1ap_NSAGSupportItem,
    &ett_f1ap_TDD_Info,
    &ett_f1ap_TDD_InfoRel16,
    &ett_f1ap_TRPTEGInformation,
    &ett_f1ap_RxTxTEG,
    &ett_f1ap_RxTEG,
    &ett_f1ap_TimeReferenceInformation,
    &ett_f1ap_TimeStamp,
    &ett_f1ap_TimeStampSlotIndex,
    &ett_f1ap_TimingMeasurementQuality,
    &ett_f1ap_TimeWindowInformation_Measurement_List,
    &ett_f1ap_TimeWindowInformation_Measurement_Item,
    &ett_f1ap_TimeWindowInformation_SRS_List,
    &ett_f1ap_TimeWindowInformation_SRS_Item,
    &ett_f1ap_TimeWindowDurationMeasurement,
    &ett_f1ap_TimeWindowDurationSRS,
    &ett_f1ap_TimeWindowStartSRS,
    &ett_f1ap_TNLCapacityIndicator,
    &ett_f1ap_TraceActivation,
    &ett_f1ap_TrafficMappingInfo,
    &ett_f1ap_Transmission_Bandwidth,
    &ett_f1ap_TransmissionComb,
    &ett_f1ap_T_n2,
    &ett_f1ap_T_n4,
    &ett_f1ap_TransmissionCombn8,
    &ett_f1ap_TransmissionCombPos,
    &ett_f1ap_T_n2_01,
    &ett_f1ap_T_n4_01,
    &ett_f1ap_T_n8,
    &ett_f1ap_Transport_UP_Layer_Address_Info_To_Add_List,
    &ett_f1ap_Transport_UP_Layer_Address_Info_To_Add_Item,
    &ett_f1ap_Transport_UP_Layer_Address_Info_To_Remove_List,
    &ett_f1ap_Transport_UP_Layer_Address_Info_To_Remove_Item,
    &ett_f1ap_TRPBeamAntennaInformation,
    &ett_f1ap_Choice_TRP_Beam_Antenna_Info_Item,
    &ett_f1ap_TRP_BeamAntennaExplicitInformation,
    &ett_f1ap_TRP_BeamAntennaAngles,
    &ett_f1ap_TRP_BeamAntennaAnglesList_Item,
    &ett_f1ap_SEQUENCE_SIZE_1_maxnoElevationAngles_OF_TRP_ElevationAngleList_Item,
    &ett_f1ap_TRP_ElevationAngleList_Item,
    &ett_f1ap_SEQUENCE_SIZE_2_maxNumResourcesPerAngle_OF_TRP_Beam_Power_Item,
    &ett_f1ap_TRP_Beam_Power_Item,
    &ett_f1ap_TRPInformation,
    &ett_f1ap_TRPInformationItem,
    &ett_f1ap_TRPInformationTypeResponseList,
    &ett_f1ap_TRPInformationTypeResponseItem,
    &ett_f1ap_TRPList,
    &ett_f1ap_TRPListItem,
    &ett_f1ap_TRPMeasurementQuality,
    &ett_f1ap_TRPMeasurementQuality_Item,
    &ett_f1ap_PhaseQuality,
    &ett_f1ap_TRP_MeasurementRequestList,
    &ett_f1ap_TRP_MeasurementRequestItem,
    &ett_f1ap_TRP_PRS_Info_List,
    &ett_f1ap_TRP_PRS_Info_List_Item,
    &ett_f1ap_TRPPositionDefinitionType,
    &ett_f1ap_TRPPositionDirect,
    &ett_f1ap_TRPPositionDirectAccuracy,
    &ett_f1ap_TRPPositionReferenced,
    &ett_f1ap_TRPReferencePointType,
    &ett_f1ap_TRP_Rx_TEGInformation,
    &ett_f1ap_TRP_RxTx_TEGInformation,
    &ett_f1ap_TRP_Tx_TEGInformation,
    &ett_f1ap_TRPTxTEGAssociation,
    &ett_f1ap_TRPTEG_Item,
    &ett_f1ap_SEQUENCE_SIZE_1_maxnoofPRS_ResourcesPerSet_OF_DLPRSResourceID_Item,
    &ett_f1ap_DLPRSResourceID_Item,
    &ett_f1ap_Transport_Layer_Address_Info,
    &ett_f1ap_TSCAssistanceInformation,
    &ett_f1ap_TSCTrafficCharacteristics,
    &ett_f1ap_TSCTrafficCharacteristicsFeedback,
    &ett_f1ap_TSCFeedbackInformation,
    &ett_f1ap_TRP_MeasurementUpdateList,
    &ett_f1ap_TRP_MeasurementUpdateItem,
    &ett_f1ap_TxHoppingConfiguration,
    &ett_f1ap_TAInformation_List,
    &ett_f1ap_TAInformation_Item,
    &ett_f1ap_UAC_Assistance_Info,
    &ett_f1ap_UACPLMN_List,
    &ett_f1ap_UACPLMN_Item,
    &ett_f1ap_UACType_List,
    &ett_f1ap_UACType_Item,
    &ett_f1ap_UACCategoryType,
    &ett_f1ap_UACOperatorDefined,
    &ett_f1ap_UE_associatedLogicalF1_ConnectionItem,
    &ett_f1ap_UEIdentityIndexValue,
    &ett_f1ap_UEIdentity_List_For_Paging_Item,
    &ett_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_Item,
    &ett_f1ap_UE_MulticastMRBs_RequiredToBeModified_Item,
    &ett_f1ap_UE_MulticastMRBs_RequiredToBeReleased_Item,
    &ett_f1ap_UE_MulticastMRBs_Setup_Item,
    &ett_f1ap_UE_MulticastMRBs_Setupnew_Item,
    &ett_f1ap_UE_MulticastMRBs_ToBeReleased_Item,
    &ett_f1ap_UE_MulticastMRBs_ToBeSetup_Item,
    &ett_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_Item,
    &ett_f1ap_UEPagingCapability,
    &ett_f1ap_UEReportingInformation,
    &ett_f1ap_UL_AoA,
    &ett_f1ap_UL_BH_Non_UP_Traffic_Mapping,
    &ett_f1ap_UL_BH_Non_UP_Traffic_Mapping_List,
    &ett_f1ap_UL_BH_Non_UP_Traffic_Mapping_Item,
    &ett_f1ap_ULConfiguration,
    &ett_f1ap_UL_RTOA_Measurement,
    &ett_f1ap_UL_RTOA_MeasurementItem,
    &ett_f1ap_UL_SRS_RSRPP,
    &ett_f1ap_UL_RSCP,
    &ett_f1ap_UL_UP_TNL_Information_to_Update_List_Item,
    &ett_f1ap_UL_UP_TNL_Address_to_Update_List_Item,
    &ett_f1ap_ULUPTNLInformation_ToBeSetup_List,
    &ett_f1ap_ULUPTNLInformation_ToBeSetup_Item,
    &ett_f1ap_UplinkChannelBW_PerSCS_List,
    &ett_f1ap_UPTransportLayerInformation,
    &ett_f1ap_UuRLCChannelQoSInformation,
    &ett_f1ap_UuRLCChannelToBeSetupList,
    &ett_f1ap_UuRLCChannelToBeSetupItem,
    &ett_f1ap_UuRLCChannelToBeModifiedList,
    &ett_f1ap_UuRLCChannelToBeModifiedItem,
    &ett_f1ap_UuRLCChannelToBeReleasedList,
    &ett_f1ap_UuRLCChannelToBeReleasedItem,
    &ett_f1ap_UuRLCChannelSetupList,
    &ett_f1ap_UuRLCChannelSetupItem,
    &ett_f1ap_UuRLCChannelFailedToBeSetupList,
    &ett_f1ap_UuRLCChannelFailedToBeSetupItem,
    &ett_f1ap_UuRLCChannelModifiedList,
    &ett_f1ap_UuRLCChannelModifiedItem,
    &ett_f1ap_UuRLCChannelFailedToBeModifiedList,
    &ett_f1ap_UuRLCChannelFailedToBeModifiedItem,
    &ett_f1ap_UuRLCChannelRequiredToBeModifiedList,
    &ett_f1ap_UuRLCChannelRequiredToBeModifiedItem,
    &ett_f1ap_UuRLCChannelRequiredToBeReleasedList,
    &ett_f1ap_UuRLCChannelRequiredToBeReleasedItem,
    &ett_f1ap_VictimgNBSetID,
    &ett_f1ap_ValidityAreaSpecificSRSInformation,
    &ett_f1ap_ZoAInformation,
    &ett_f1ap_Reset,
    &ett_f1ap_ResetType,
    &ett_f1ap_UE_associatedLogicalF1_ConnectionListRes,
    &ett_f1ap_ResetAcknowledge,
    &ett_f1ap_UE_associatedLogicalF1_ConnectionListResAck,
    &ett_f1ap_ErrorIndication,
    &ett_f1ap_F1SetupRequest,
    &ett_f1ap_GNB_DU_Served_Cells_List,
    &ett_f1ap_F1SetupResponse,
    &ett_f1ap_Cells_to_be_Activated_List,
    &ett_f1ap_NCGI_to_be_Updated_List,
    &ett_f1ap_F1SetupFailure,
    &ett_f1ap_GNBDUConfigurationUpdate,
    &ett_f1ap_Served_Cells_To_Add_List,
    &ett_f1ap_Served_Cells_To_Modify_List,
    &ett_f1ap_Served_Cells_To_Delete_List,
    &ett_f1ap_Cells_Status_List,
    &ett_f1ap_Dedicated_SIDelivery_NeededUE_List,
    &ett_f1ap_GNB_DU_TNL_Association_To_Remove_List,
    &ett_f1ap_GNBDUConfigurationUpdateAcknowledge,
    &ett_f1ap_GNBDUConfigurationUpdateFailure,
    &ett_f1ap_GNBCUConfigurationUpdate,
    &ett_f1ap_Cells_to_be_Deactivated_List,
    &ett_f1ap_GNB_CU_TNL_Association_To_Add_List,
    &ett_f1ap_GNB_CU_TNL_Association_To_Remove_List,
    &ett_f1ap_GNB_CU_TNL_Association_To_Update_List,
    &ett_f1ap_Cells_to_be_Barred_List,
    &ett_f1ap_Cells_Allowed_to_be_Deactivated_List,
    &ett_f1ap_Protected_EUTRA_Resources_List,
    &ett_f1ap_Neighbour_Cell_Information_List,
    &ett_f1ap_GNBCUConfigurationUpdateAcknowledge,
    &ett_f1ap_Cells_Failed_to_be_Activated_List,
    &ett_f1ap_GNB_CU_TNL_Association_Setup_List,
    &ett_f1ap_GNB_CU_TNL_Association_Failed_To_Setup_List,
    &ett_f1ap_GNBCUConfigurationUpdateFailure,
    &ett_f1ap_GNBDUResourceCoordinationRequest,
    &ett_f1ap_GNBDUResourceCoordinationResponse,
    &ett_f1ap_UEContextSetupRequest,
    &ett_f1ap_Candidate_SpCell_List,
    &ett_f1ap_SCell_ToBeSetup_List,
    &ett_f1ap_SRBs_ToBeSetup_List,
    &ett_f1ap_DRBs_ToBeSetup_List,
    &ett_f1ap_BHChannels_ToBeSetup_List,
    &ett_f1ap_SLDRBs_ToBeSetup_List,
    &ett_f1ap_UE_MulticastMRBs_ToBeSetup_List,
    &ett_f1ap_ServingCellMO_List,
    &ett_f1ap_UEContextSetupResponse,
    &ett_f1ap_DRBs_Setup_List,
    &ett_f1ap_SRBs_FailedToBeSetup_List,
    &ett_f1ap_DRBs_FailedToBeSetup_List,
    &ett_f1ap_SCell_FailedtoSetup_List,
    &ett_f1ap_SRBs_Setup_List,
    &ett_f1ap_BHChannels_Setup_List,
    &ett_f1ap_BHChannels_FailedToBeSetup_List,
    &ett_f1ap_SLDRBs_Setup_List,
    &ett_f1ap_SLDRBs_FailedToBeSetup_List,
    &ett_f1ap_UE_MulticastMRBs_Setupnew_List,
    &ett_f1ap_UEContextSetupFailure,
    &ett_f1ap_Potential_SpCell_List,
    &ett_f1ap_UEContextReleaseRequest,
    &ett_f1ap_UEContextReleaseCommand,
    &ett_f1ap_UEContextReleaseComplete,
    &ett_f1ap_UEContextModificationRequest,
    &ett_f1ap_SCell_ToBeSetupMod_List,
    &ett_f1ap_SCell_ToBeRemoved_List,
    &ett_f1ap_SRBs_ToBeSetupMod_List,
    &ett_f1ap_DRBs_ToBeSetupMod_List,
    &ett_f1ap_BHChannels_ToBeSetupMod_List,
    &ett_f1ap_DRBs_ToBeModified_List,
    &ett_f1ap_BHChannels_ToBeModified_List,
    &ett_f1ap_SRBs_ToBeReleased_List,
    &ett_f1ap_DRBs_ToBeReleased_List,
    &ett_f1ap_BHChannels_ToBeReleased_List,
    &ett_f1ap_UE_MulticastMRBs_ToBeSetup_atModify_List,
    &ett_f1ap_UE_MulticastMRBs_ToBeReleased_List,
    &ett_f1ap_SLDRBs_ToBeSetupMod_List,
    &ett_f1ap_SLDRBs_ToBeModified_List,
    &ett_f1ap_SLDRBs_ToBeReleased_List,
    &ett_f1ap_UEContextModificationResponse,
    &ett_f1ap_DRBs_SetupMod_List,
    &ett_f1ap_DRBs_Modified_List,
    &ett_f1ap_SRBs_SetupMod_List,
    &ett_f1ap_SRBs_Modified_List,
    &ett_f1ap_DRBs_FailedToBeModified_List,
    &ett_f1ap_SRBs_FailedToBeSetupMod_List,
    &ett_f1ap_DRBs_FailedToBeSetupMod_List,
    &ett_f1ap_SCell_FailedtoSetupMod_List,
    &ett_f1ap_BHChannels_SetupMod_List,
    &ett_f1ap_BHChannels_Modified_List,
    &ett_f1ap_BHChannels_FailedToBeModified_List,
    &ett_f1ap_BHChannels_FailedToBeSetupMod_List,
    &ett_f1ap_Associated_SCell_List,
    &ett_f1ap_SLDRBs_SetupMod_List,
    &ett_f1ap_SLDRBs_Modified_List,
    &ett_f1ap_SLDRBs_FailedToBeModified_List,
    &ett_f1ap_SLDRBs_FailedToBeSetupMod_List,
    &ett_f1ap_UE_MulticastMRBs_Setup_List,
    &ett_f1ap_UEContextModificationFailure,
    &ett_f1ap_UEContextModificationRequired,
    &ett_f1ap_DRBs_Required_ToBeModified_List,
    &ett_f1ap_DRBs_Required_ToBeReleased_List,
    &ett_f1ap_SRBs_Required_ToBeReleased_List,
    &ett_f1ap_BHChannels_Required_ToBeReleased_List,
    &ett_f1ap_SLDRBs_Required_ToBeModified_List,
    &ett_f1ap_SLDRBs_Required_ToBeReleased_List,
    &ett_f1ap_UE_MulticastMRBs_RequiredToBeModified_List,
    &ett_f1ap_UE_MulticastMRBs_RequiredToBeReleased_List,
    &ett_f1ap_UEContextModificationConfirm,
    &ett_f1ap_DRBs_ModifiedConf_List,
    &ett_f1ap_SLDRBs_ModifiedConf_List,
    &ett_f1ap_UE_MulticastMRBs_ConfirmedToBeModified_List,
    &ett_f1ap_UEContextModificationRefuse,
    &ett_f1ap_WriteReplaceWarningRequest,
    &ett_f1ap_Cells_To_Be_Broadcast_List,
    &ett_f1ap_WriteReplaceWarningResponse,
    &ett_f1ap_Cells_Broadcast_Completed_List,
    &ett_f1ap_PWSCancelRequest,
    &ett_f1ap_Broadcast_To_Be_Cancelled_List,
    &ett_f1ap_PWSCancelResponse,
    &ett_f1ap_Cells_Broadcast_Cancelled_List,
    &ett_f1ap_UEInactivityNotification,
    &ett_f1ap_DRB_Activity_List,
    &ett_f1ap_InitialULRRCMessageTransfer,
    &ett_f1ap_DLRRCMessageTransfer,
    &ett_f1ap_ULRRCMessageTransfer,
    &ett_f1ap_PrivateMessage,
    &ett_f1ap_SystemInformationDeliveryCommand,
    &ett_f1ap_Paging,
    &ett_f1ap_PagingCell_list,
    &ett_f1ap_Notify,
    &ett_f1ap_DRB_Notify_List,
    &ett_f1ap_NetworkAccessRateReduction,
    &ett_f1ap_PWSRestartIndication,
    &ett_f1ap_NR_CGI_List_For_Restart_List,
    &ett_f1ap_PWSFailureIndication,
    &ett_f1ap_PWS_Failed_NR_CGI_List,
    &ett_f1ap_GNBDUStatusIndication,
    &ett_f1ap_RRCDeliveryReport,
    &ett_f1ap_F1RemovalRequest,
    &ett_f1ap_F1RemovalResponse,
    &ett_f1ap_F1RemovalFailure,
    &ett_f1ap_TraceStart,
    &ett_f1ap_DeactivateTrace,
    &ett_f1ap_CellTrafficTrace,
    &ett_f1ap_DUCURadioInformationTransfer,
    &ett_f1ap_CUDURadioInformationTransfer,
    &ett_f1ap_BAPMappingConfiguration,
    &ett_f1ap_BH_Routing_Information_Added_List,
    &ett_f1ap_BH_Routing_Information_Removed_List,
    &ett_f1ap_BAP_Header_Rewriting_Added_List,
    &ett_f1ap_BAP_Header_Rewriting_Removed_List,
    &ett_f1ap_BAPMappingConfigurationAcknowledge,
    &ett_f1ap_BAPMappingConfigurationFailure,
    &ett_f1ap_GNBDUResourceConfiguration,
    &ett_f1ap_GNBDUResourceConfigurationAcknowledge,
    &ett_f1ap_GNBDUResourceConfigurationFailure,
    &ett_f1ap_IABTNLAddressRequest,
    &ett_f1ap_IAB_TNL_Addresses_To_Remove_List,
    &ett_f1ap_IABTNLAddressResponse,
    &ett_f1ap_IAB_Allocated_TNL_Address_List,
    &ett_f1ap_IABTNLAddressFailure,
    &ett_f1ap_IABUPConfigurationUpdateRequest,
    &ett_f1ap_UL_UP_TNL_Information_to_Update_List,
    &ett_f1ap_UL_UP_TNL_Address_to_Update_List,
    &ett_f1ap_IABUPConfigurationUpdateResponse,
    &ett_f1ap_DL_UP_TNL_Address_to_Update_List,
    &ett_f1ap_IABUPConfigurationUpdateFailure,
    &ett_f1ap_MIABF1SetupTriggering,
    &ett_f1ap_MIABF1SetupOutcomeNotification,
    &ett_f1ap_Activated_Cells_Mapping_List,
    &ett_f1ap_ResourceStatusRequest,
    &ett_f1ap_ResourceStatusResponse,
    &ett_f1ap_ResourceStatusFailure,
    &ett_f1ap_ResourceStatusUpdate,
    &ett_f1ap_AccessAndMobilityIndication,
    &ett_f1ap_ReferenceTimeInformationReportingControl,
    &ett_f1ap_ReferenceTimeInformationReport,
    &ett_f1ap_AccessSuccess,
    &ett_f1ap_PositioningAssistanceInformationControl,
    &ett_f1ap_PositioningAssistanceInformationFeedback,
    &ett_f1ap_PositioningMeasurementRequest,
    &ett_f1ap_PositioningMeasurementResponse,
    &ett_f1ap_PositioningMeasurementFailure,
    &ett_f1ap_PositioningMeasurementReport,
    &ett_f1ap_PositioningMeasurementAbort,
    &ett_f1ap_PositioningMeasurementFailureIndication,
    &ett_f1ap_PositioningMeasurementUpdate,
    &ett_f1ap_TRPInformationRequest,
    &ett_f1ap_TRPInformationTypeListTRPReq,
    &ett_f1ap_TRPInformationResponse,
    &ett_f1ap_TRPInformationListTRPResp,
    &ett_f1ap_TRPInformationFailure,
    &ett_f1ap_PositioningInformationRequest,
    &ett_f1ap_PositioningInformationResponse,
    &ett_f1ap_PositioningInformationFailure,
    &ett_f1ap_PositioningActivationRequest,
    &ett_f1ap_SRSType,
    &ett_f1ap_SemipersistentSRS,
    &ett_f1ap_AperiodicSRS,
    &ett_f1ap_PositioningActivationResponse,
    &ett_f1ap_PositioningActivationFailure,
    &ett_f1ap_PositioningDeactivation,
    &ett_f1ap_PositioningInformationUpdate,
    &ett_f1ap_SRSInformationReservationNotification,
    &ett_f1ap_E_CIDMeasurementInitiationRequest,
    &ett_f1ap_E_CIDMeasurementInitiationResponse,
    &ett_f1ap_E_CIDMeasurementInitiationFailure,
    &ett_f1ap_E_CIDMeasurementFailureIndication,
    &ett_f1ap_E_CIDMeasurementReport,
    &ett_f1ap_E_CIDMeasurementTerminationCommand,
    &ett_f1ap_BroadcastContextSetupRequest,
    &ett_f1ap_BroadcastMRBs_ToBeSetup_List,
    &ett_f1ap_BroadcastContextSetupResponse,
    &ett_f1ap_BroadcastMRBs_Setup_List,
    &ett_f1ap_BroadcastMRBs_FailedToBeSetup_List,
    &ett_f1ap_BroadcastContextSetupFailure,
    &ett_f1ap_BroadcastContextReleaseCommand,
    &ett_f1ap_BroadcastContextReleaseComplete,
    &ett_f1ap_BroadcastContextReleaseRequest,
    &ett_f1ap_BroadcastContextModificationRequest,
    &ett_f1ap_BroadcastMRBs_ToBeSetupMod_List,
    &ett_f1ap_BroadcastMRBs_ToBeModified_List,
    &ett_f1ap_BroadcastMRBs_ToBeReleased_List,
    &ett_f1ap_BroadcastContextModificationResponse,
    &ett_f1ap_BroadcastMRBs_SetupMod_List,
    &ett_f1ap_BroadcastMRBs_FailedToBeSetupMod_List,
    &ett_f1ap_BroadcastMRBs_Modified_List,
    &ett_f1ap_BroadcastMRBs_FailedToBeModified_List,
    &ett_f1ap_BroadcastContextModificationFailure,
    &ett_f1ap_BroadcastTransportResourceRequest,
    &ett_f1ap_Broadcast_MRBs_Transport_Request_List,
    &ett_f1ap_MulticastGroupPaging,
    &ett_f1ap_UEIdentity_List_For_Paging_List,
    &ett_f1ap_MC_PagingCell_list,
    &ett_f1ap_MulticastContextSetupRequest,
    &ett_f1ap_MulticastMRBs_ToBeSetup_List,
    &ett_f1ap_MulticastContextSetupResponse,
    &ett_f1ap_MulticastMRBs_Setup_List,
    &ett_f1ap_MulticastMRBs_FailedToBeSetup_List,
    &ett_f1ap_MulticastContextSetupFailure,
    &ett_f1ap_MulticastContextReleaseCommand,
    &ett_f1ap_MulticastContextReleaseComplete,
    &ett_f1ap_MulticastContextReleaseRequest,
    &ett_f1ap_MulticastContextModificationRequest,
    &ett_f1ap_MulticastMRBs_ToBeSetupMod_List,
    &ett_f1ap_MulticastMRBs_ToBeModified_List,
    &ett_f1ap_MulticastMRBs_ToBeReleased_List,
    &ett_f1ap_MulticastContextModificationResponse,
    &ett_f1ap_MulticastMRBs_SetupMod_List,
    &ett_f1ap_MulticastMRBs_FailedToBeSetupMod_List,
    &ett_f1ap_MulticastMRBs_Modified_List,
    &ett_f1ap_MulticastMRBs_FailedToBeModified_List,
    &ett_f1ap_MulticastContextModificationFailure,
    &ett_f1ap_MulticastContextNotificationIndication,
    &ett_f1ap_MulticastContextNotificationConfirm,
    &ett_f1ap_MulticastContextNotificationRefuse,
    &ett_f1ap_MulticastCommonConfigurationRequest,
    &ett_f1ap_MulticastCommonConfigurationResponse,
    &ett_f1ap_MulticastCommonConfigurationRefuse,
    &ett_f1ap_MulticastDistributionSetupRequest,
    &ett_f1ap_MulticastF1UContext_ToBeSetup_List,
    &ett_f1ap_MulticastDistributionSetupResponse,
    &ett_f1ap_MulticastF1UContext_Setup_List,
    &ett_f1ap_MulticastF1UContext_FailedToBeSetup_List,
    &ett_f1ap_MulticastDistributionSetupFailure,
    &ett_f1ap_MulticastDistributionReleaseCommand,
    &ett_f1ap_MulticastDistributionReleaseComplete,
    &ett_f1ap_PDCMeasurementInitiationRequest,
    &ett_f1ap_PDCMeasurementInitiationResponse,
    &ett_f1ap_PDCMeasurementInitiationFailure,
    &ett_f1ap_PDCMeasurementReport,
    &ett_f1ap_PDCMeasurementTerminationCommand,
    &ett_f1ap_PDCMeasurementFailureIndication,
    &ett_f1ap_PRSConfigurationRequest,
    &ett_f1ap_PRSConfigurationResponse,
    &ett_f1ap_PRSConfigurationFailure,
    &ett_f1ap_MeasurementPreconfigurationRequired,
    &ett_f1ap_MeasurementPreconfigurationConfirm,
    &ett_f1ap_MeasurementPreconfigurationRefuse,
    &ett_f1ap_MeasurementActivation,
    &ett_f1ap_QoEInformationTransfer,
    &ett_f1ap_PosSystemInformationDeliveryCommand,
    &ett_f1ap_DUCUCellSwitchNotification,
    &ett_f1ap_CUDUCellSwitchNotification,
    &ett_f1ap_DUCUTAInformationTransfer,
    &ett_f1ap_CUDUTAInformationTransfer,
    &ett_f1ap_QoEInformationTransferControl,
    &ett_f1ap_RachIndication,
    &ett_f1ap_TimingSynchronisationStatusRequest,
    &ett_f1ap_TimingSynchronisationStatusResponse,
    &ett_f1ap_TimingSynchronisationStatusFailure,
    &ett_f1ap_TimingSynchronisationStatusReport,
    &ett_f1ap_DUCUAccessAndMobilityIndication,
    &ett_f1ap_F1AP_PDU,
    &ett_f1ap_InitiatingMessage,
    &ett_f1ap_SuccessfulOutcome,
    &ett_f1ap_UnsuccessfulOutcome,
  };

  /* Register protocol */
  proto_f1ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
  /* Register fields and subtrees */
  proto_register_field_array(proto_f1ap, hf, array_length(hf));
  proto_register_subtree_array(ett, array_length(ett));

  /* Register dissector */
  f1ap_handle = register_dissector("f1ap", dissect_f1ap, proto_f1ap);

  /* Register dissector tables */
  f1ap_ies_dissector_table = register_dissector_table("f1ap.ies", "F1AP-PROTOCOL-IES", proto_f1ap, FT_UINT32, BASE_DEC);
  f1ap_extension_dissector_table = register_dissector_table("f1ap.extension", "F1AP-PROTOCOL-EXTENSION", proto_f1ap, FT_UINT32, BASE_DEC);
  f1ap_proc_imsg_dissector_table = register_dissector_table("f1ap.proc.imsg", "F1AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_f1ap, FT_UINT32, BASE_DEC);
  f1ap_proc_sout_dissector_table = register_dissector_table("f1ap.proc.sout", "F1AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_f1ap, FT_UINT32, BASE_DEC);
  f1ap_proc_uout_dissector_table = register_dissector_table("f1ap.proc.uout", "F1AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_f1ap, FT_UINT32, BASE_DEC);

  f1ap_tap = register_tap("f1ap");
}

void
proto_reg_handoff_f1ap(void)
{
  dissector_add_uint_with_preference("sctp.port", SCTP_PORT_F1AP, f1ap_handle);
  dissector_add_uint("sctp.ppi", F1AP_PROTOCOL_ID, f1ap_handle);
  nr_rrc_ul_ccch_handle = find_dissector_add_dependency("nr-rrc.ul.ccch", proto_f1ap);
  nr_rrc_ul_ccch1_handle = find_dissector_add_dependency("nr-rrc.ul.ccch1", proto_f1ap);
  nr_rrc_dl_ccch_handle = find_dissector_add_dependency("nr-rrc.dl.ccch", proto_f1ap);
  nr_rrc_ul_dcch_handle = find_dissector_add_dependency("nr-rrc.ul.dcch", proto_f1ap);
  nr_pdcp_handle = find_dissector_add_dependency("pdcp-nr", proto_f1ap);
  lte_rrc_conn_reconf_handle = find_dissector_add_dependency("lte-rrc.rrc_conn_reconf", proto_f1ap);

  stats_tree_register("f1ap", "f1ap", "F1AP", 0,
                       f1ap_stats_tree_packet, f1ap_stats_tree_init, NULL);

  dissector_add_uint("f1ap.ies", id_Cause, create_dissector_handle(dissect_Cause_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_Failed_to_be_Activated_List, create_dissector_handle(dissect_Cells_Failed_to_be_Activated_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_Failed_to_be_Activated_List_Item, create_dissector_handle(dissect_Cells_Failed_to_be_Activated_List_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_to_be_Activated_List, create_dissector_handle(dissect_Cells_to_be_Activated_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_to_be_Activated_List_Item, create_dissector_handle(dissect_Cells_to_be_Activated_List_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_to_be_Deactivated_List, create_dissector_handle(dissect_Cells_to_be_Deactivated_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_to_be_Deactivated_List_Item, create_dissector_handle(dissect_Cells_to_be_Deactivated_List_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_CriticalityDiagnostics, create_dissector_handle(dissect_CriticalityDiagnostics_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_CUtoDURRCInformation, create_dissector_handle(dissect_CUtoDURRCInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_FailedToBeModified_Item, create_dissector_handle(dissect_DRBs_FailedToBeModified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_FailedToBeModified_List, create_dissector_handle(dissect_DRBs_FailedToBeModified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_FailedToBeSetup_Item, create_dissector_handle(dissect_DRBs_FailedToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_FailedToBeSetup_List, create_dissector_handle(dissect_DRBs_FailedToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_FailedToBeSetupMod_Item, create_dissector_handle(dissect_DRBs_FailedToBeSetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_FailedToBeSetupMod_List, create_dissector_handle(dissect_DRBs_FailedToBeSetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_ModifiedConf_Item, create_dissector_handle(dissect_DRBs_ModifiedConf_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_ModifiedConf_List, create_dissector_handle(dissect_DRBs_ModifiedConf_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_Modified_Item, create_dissector_handle(dissect_DRBs_Modified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_Modified_List, create_dissector_handle(dissect_DRBs_Modified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_Required_ToBeModified_Item, create_dissector_handle(dissect_DRBs_Required_ToBeModified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_Required_ToBeModified_List, create_dissector_handle(dissect_DRBs_Required_ToBeModified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_Required_ToBeReleased_Item, create_dissector_handle(dissect_DRBs_Required_ToBeReleased_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_Required_ToBeReleased_List, create_dissector_handle(dissect_DRBs_Required_ToBeReleased_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_Setup_Item, create_dissector_handle(dissect_DRBs_Setup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_Setup_List, create_dissector_handle(dissect_DRBs_Setup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_SetupMod_Item, create_dissector_handle(dissect_DRBs_SetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_SetupMod_List, create_dissector_handle(dissect_DRBs_SetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_ToBeModified_Item, create_dissector_handle(dissect_DRBs_ToBeModified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_ToBeModified_List, create_dissector_handle(dissect_DRBs_ToBeModified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_ToBeReleased_Item, create_dissector_handle(dissect_DRBs_ToBeReleased_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_ToBeReleased_List, create_dissector_handle(dissect_DRBs_ToBeReleased_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_ToBeSetup_Item, create_dissector_handle(dissect_DRBs_ToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_ToBeSetup_List, create_dissector_handle(dissect_DRBs_ToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_ToBeSetupMod_Item, create_dissector_handle(dissect_DRBs_ToBeSetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRBs_ToBeSetupMod_List, create_dissector_handle(dissect_DRBs_ToBeSetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRXCycle, create_dissector_handle(dissect_DRXCycle_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DUtoCURRCInformation, create_dissector_handle(dissect_DUtoCURRCInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_gNB_CU_UE_F1AP_ID, create_dissector_handle(dissect_GNB_CU_UE_F1AP_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_gNB_DU_UE_F1AP_ID, create_dissector_handle(dissect_GNB_DU_UE_F1AP_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_gNB_DU_ID, create_dissector_handle(dissect_GNB_DU_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_DU_Served_Cells_Item, create_dissector_handle(dissect_GNB_DU_Served_Cells_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_gNB_DU_Served_Cells_List, create_dissector_handle(dissect_GNB_DU_Served_Cells_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_gNB_DU_Name, create_dissector_handle(dissect_GNB_DU_Name_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_oldgNB_DU_UE_F1AP_ID, create_dissector_handle(dissect_GNB_DU_UE_F1AP_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ResetType, create_dissector_handle(dissect_ResetType_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ResourceCoordinationTransferContainer, create_dissector_handle(dissect_ResourceCoordinationTransferContainer_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RRCContainer, create_dissector_handle(dissect_RRCContainer_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCell_ToBeRemoved_Item, create_dissector_handle(dissect_SCell_ToBeRemoved_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCell_ToBeRemoved_List, create_dissector_handle(dissect_SCell_ToBeRemoved_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCell_ToBeSetup_Item, create_dissector_handle(dissect_SCell_ToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCell_ToBeSetup_List, create_dissector_handle(dissect_SCell_ToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCell_ToBeSetupMod_Item, create_dissector_handle(dissect_SCell_ToBeSetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCell_ToBeSetupMod_List, create_dissector_handle(dissect_SCell_ToBeSetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Served_Cells_To_Add_Item, create_dissector_handle(dissect_Served_Cells_To_Add_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Served_Cells_To_Add_List, create_dissector_handle(dissect_Served_Cells_To_Add_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Served_Cells_To_Delete_Item, create_dissector_handle(dissect_Served_Cells_To_Delete_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Served_Cells_To_Delete_List, create_dissector_handle(dissect_Served_Cells_To_Delete_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Served_Cells_To_Modify_Item, create_dissector_handle(dissect_Served_Cells_To_Modify_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Served_Cells_To_Modify_List, create_dissector_handle(dissect_Served_Cells_To_Modify_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SpCell_ID, create_dissector_handle(dissect_NRCGI_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBID, create_dissector_handle(dissect_SRBID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_FailedToBeSetup_Item, create_dissector_handle(dissect_SRBs_FailedToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_FailedToBeSetup_List, create_dissector_handle(dissect_SRBs_FailedToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_FailedToBeSetupMod_Item, create_dissector_handle(dissect_SRBs_FailedToBeSetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_FailedToBeSetupMod_List, create_dissector_handle(dissect_SRBs_FailedToBeSetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_Required_ToBeReleased_Item, create_dissector_handle(dissect_SRBs_Required_ToBeReleased_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_Required_ToBeReleased_List, create_dissector_handle(dissect_SRBs_Required_ToBeReleased_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_ToBeReleased_Item, create_dissector_handle(dissect_SRBs_ToBeReleased_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_ToBeReleased_List, create_dissector_handle(dissect_SRBs_ToBeReleased_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_ToBeSetup_Item, create_dissector_handle(dissect_SRBs_ToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_ToBeSetup_List, create_dissector_handle(dissect_SRBs_ToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_ToBeSetupMod_Item, create_dissector_handle(dissect_SRBs_ToBeSetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_ToBeSetupMod_List, create_dissector_handle(dissect_SRBs_ToBeSetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TimeToWait, create_dissector_handle(dissect_TimeToWait_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TransactionID, create_dissector_handle(dissect_TransactionID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TransmissionActionIndicator, create_dissector_handle(dissect_TransmissionActionIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_associatedLogicalF1_ConnectionItem, create_dissector_handle(dissect_UE_associatedLogicalF1_ConnectionItem_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_associatedLogicalF1_ConnectionListResAck, create_dissector_handle(dissect_UE_associatedLogicalF1_ConnectionListResAck_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_gNB_CU_Name, create_dissector_handle(dissect_GNB_CU_Name_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCell_FailedtoSetup_List, create_dissector_handle(dissect_SCell_FailedtoSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCell_FailedtoSetup_Item, create_dissector_handle(dissect_SCell_FailedtoSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCell_FailedtoSetupMod_List, create_dissector_handle(dissect_SCell_FailedtoSetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCell_FailedtoSetupMod_Item, create_dissector_handle(dissect_SCell_FailedtoSetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RRCReconfigurationCompleteIndicator, create_dissector_handle(dissect_RRCReconfigurationCompleteIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_Status_Item, create_dissector_handle(dissect_Cells_Status_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_Status_List, create_dissector_handle(dissect_Cells_Status_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Candidate_SpCell_List, create_dissector_handle(dissect_Candidate_SpCell_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Candidate_SpCell_Item, create_dissector_handle(dissect_Candidate_SpCell_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Potential_SpCell_List, create_dissector_handle(dissect_Potential_SpCell_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Potential_SpCell_Item, create_dissector_handle(dissect_Potential_SpCell_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_FullConfiguration, create_dissector_handle(dissect_FullConfiguration_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_C_RNTI, create_dissector_handle(dissect_C_RNTI_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SpCellULConfigured, create_dissector_handle(dissect_CellULConfigured_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_InactivityMonitoringRequest, create_dissector_handle(dissect_InactivityMonitoringRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_InactivityMonitoringResponse, create_dissector_handle(dissect_InactivityMonitoringResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRB_Activity_Item, create_dissector_handle(dissect_DRB_Activity_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRB_Activity_List, create_dissector_handle(dissect_DRB_Activity_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_EUTRA_NR_CellResourceCoordinationReq_Container, create_dissector_handle(dissect_EUTRA_NR_CellResourceCoordinationReq_Container_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_EUTRA_NR_CellResourceCoordinationReqAck_Container, create_dissector_handle(dissect_EUTRA_NR_CellResourceCoordinationReqAck_Container_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Protected_EUTRA_Resources_List, create_dissector_handle(dissect_Protected_EUTRA_Resources_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RequestType, create_dissector_handle(dissect_RequestType_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ServCellIndex, create_dissector_handle(dissect_ServCellIndex_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RAT_FrequencyPriorityInformation, create_dissector_handle(dissect_RAT_FrequencyPriorityInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ExecuteDuplication, create_dissector_handle(dissect_ExecuteDuplication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NRCGI, create_dissector_handle(dissect_NRCGI_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PagingCell_Item, create_dissector_handle(dissect_PagingCell_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PagingCell_List, create_dissector_handle(dissect_PagingCell_list_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PagingDRX, create_dissector_handle(dissect_PagingDRX_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PagingPriority, create_dissector_handle(dissect_PagingPriority_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SItype_List, create_dissector_handle(dissect_SItype_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UEIdentityIndexValue, create_dissector_handle(dissect_UEIdentityIndexValue_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_CU_TNL_Association_To_Add_Item, create_dissector_handle(dissect_GNB_CU_TNL_Association_To_Add_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_CU_TNL_Association_To_Add_List, create_dissector_handle(dissect_GNB_CU_TNL_Association_To_Add_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_CU_TNL_Association_To_Remove_Item, create_dissector_handle(dissect_GNB_CU_TNL_Association_To_Remove_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_CU_TNL_Association_To_Remove_List, create_dissector_handle(dissect_GNB_CU_TNL_Association_To_Remove_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_CU_TNL_Association_To_Update_Item, create_dissector_handle(dissect_GNB_CU_TNL_Association_To_Update_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_CU_TNL_Association_To_Update_List, create_dissector_handle(dissect_GNB_CU_TNL_Association_To_Update_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MaskedIMEISV, create_dissector_handle(dissect_MaskedIMEISV_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PagingIdentity, create_dissector_handle(dissect_PagingIdentity_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DUtoCURRCContainer, create_dissector_handle(dissect_DUtoCURRCContainer_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_to_be_Barred_List, create_dissector_handle(dissect_Cells_to_be_Barred_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_to_be_Barred_Item, create_dissector_handle(dissect_Cells_to_be_Barred_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_CU_TNL_Association_Setup_List, create_dissector_handle(dissect_GNB_CU_TNL_Association_Setup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_CU_TNL_Association_Setup_Item, create_dissector_handle(dissect_GNB_CU_TNL_Association_Setup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_CU_TNL_Association_Failed_To_Setup_List, create_dissector_handle(dissect_GNB_CU_TNL_Association_Failed_To_Setup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_CU_TNL_Association_Failed_To_Setup_Item, create_dissector_handle(dissect_GNB_CU_TNL_Association_Failed_To_Setup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRB_Notify_Item, create_dissector_handle(dissect_DRB_Notify_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRB_Notify_List, create_dissector_handle(dissect_DRB_Notify_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PWSSystemInformation, create_dissector_handle(dissect_PWSSystemInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RepetitionPeriod, create_dissector_handle(dissect_RepetitionPeriod_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NumberofBroadcastRequest, create_dissector_handle(dissect_NumberofBroadcastRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_To_Be_Broadcast_List, create_dissector_handle(dissect_Cells_To_Be_Broadcast_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_To_Be_Broadcast_Item, create_dissector_handle(dissect_Cells_To_Be_Broadcast_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_Broadcast_Completed_List, create_dissector_handle(dissect_Cells_Broadcast_Completed_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_Broadcast_Completed_Item, create_dissector_handle(dissect_Cells_Broadcast_Completed_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Broadcast_To_Be_Cancelled_List, create_dissector_handle(dissect_Broadcast_To_Be_Cancelled_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Broadcast_To_Be_Cancelled_Item, create_dissector_handle(dissect_Broadcast_To_Be_Cancelled_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_Broadcast_Cancelled_List, create_dissector_handle(dissect_Cells_Broadcast_Cancelled_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_Broadcast_Cancelled_Item, create_dissector_handle(dissect_Cells_Broadcast_Cancelled_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NR_CGI_List_For_Restart_List, create_dissector_handle(dissect_NR_CGI_List_For_Restart_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NR_CGI_List_For_Restart_Item, create_dissector_handle(dissect_NR_CGI_List_For_Restart_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PWS_Failed_NR_CGI_List, create_dissector_handle(dissect_PWS_Failed_NR_CGI_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PWS_Failed_NR_CGI_Item, create_dissector_handle(dissect_PWS_Failed_NR_CGI_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ConfirmedUEID, create_dissector_handle(dissect_GNB_DU_UE_F1AP_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cancel_all_Warning_Messages_Indicator, create_dissector_handle(dissect_Cancel_all_Warning_Messages_Indicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_DU_UE_AMBR_UL, create_dissector_handle(dissect_BitRate_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRXConfigurationIndicator, create_dissector_handle(dissect_DRXConfigurationIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_DUConfigurationQuery, create_dissector_handle(dissect_GNB_DUConfigurationQuery_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DRB_Information, create_dissector_handle(dissect_DRB_Information_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ServingPLMN, create_dissector_handle(dissect_PLMN_Identity_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Protected_EUTRA_Resources_Item, create_dissector_handle(dissect_Protected_EUTRA_Resources_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_CU_RRC_Version, create_dissector_handle(dissect_RRC_Version_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_DU_RRC_Version, create_dissector_handle(dissect_RRC_Version_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNBDUOverloadInformation, create_dissector_handle(dissect_GNBDUOverloadInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RLCFailureIndication, create_dissector_handle(dissect_RLCFailureIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UplinkTxDirectCurrentListInformation, create_dissector_handle(dissect_UplinkTxDirectCurrentListInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SULAccessIndication, create_dissector_handle(dissect_SULAccessIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ServingCellMO, create_dissector_handle(dissect_ServingCellMO_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RRCDeliveryStatusRequest, create_dissector_handle(dissect_RRCDeliveryStatusRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RRCDeliveryStatus, create_dissector_handle(dissect_RRCDeliveryStatus_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Dedicated_SIDelivery_NeededUE_List, create_dissector_handle(dissect_Dedicated_SIDelivery_NeededUE_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Dedicated_SIDelivery_NeededUE_Item, create_dissector_handle(dissect_Dedicated_SIDelivery_NeededUE_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Associated_SCell_List, create_dissector_handle(dissect_Associated_SCell_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Associated_SCell_Item, create_dissector_handle(dissect_Associated_SCell_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_Setup_List, create_dissector_handle(dissect_SRBs_Setup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_Setup_Item, create_dissector_handle(dissect_SRBs_Setup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_SetupMod_List, create_dissector_handle(dissect_SRBs_SetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_SetupMod_Item, create_dissector_handle(dissect_SRBs_SetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_Modified_List, create_dissector_handle(dissect_SRBs_Modified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRBs_Modified_Item, create_dissector_handle(dissect_SRBs_Modified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_IgnoreResourceCoordinationContainer, create_dissector_handle(dissect_IgnoreResourceCoordinationContainer_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NeedforGap, create_dissector_handle(dissect_NeedforGap_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PagingOrigin, create_dissector_handle(dissect_PagingOrigin_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_new_gNB_CU_UE_F1AP_ID, create_dissector_handle(dissect_GNB_CU_UE_F1AP_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RedirectedRRCmessage, create_dissector_handle(dissect_RedirectedRRCmessage_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_new_gNB_DU_UE_F1AP_ID, create_dissector_handle(dissect_GNB_DU_UE_F1AP_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NotificationInformation, create_dissector_handle(dissect_NotificationInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PLMNAssistanceInfoForNetShar, create_dissector_handle(dissect_PLMN_Identity_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UEContextNotRetrievable, create_dissector_handle(dissect_UEContextNotRetrievable_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SelectedPLMNID, create_dissector_handle(dissect_PLMN_Identity_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UAC_Assistance_Info, create_dissector_handle(dissect_UAC_Assistance_Info_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RANUEID, create_dissector_handle(dissect_RANUEID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_DU_TNL_Association_To_Remove_Item, create_dissector_handle(dissect_GNB_DU_TNL_Association_To_Remove_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNB_DU_TNL_Association_To_Remove_List, create_dissector_handle(dissect_GNB_DU_TNL_Association_To_Remove_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RRCContainer_RRCSetupComplete, create_dissector_handle(dissect_RRCContainer_RRCSetupComplete_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TraceActivation, create_dissector_handle(dissect_TraceActivation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TraceID, create_dissector_handle(dissect_TraceID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Neighbour_Cell_Information_List, create_dissector_handle(dissect_Neighbour_Cell_Information_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_AdditionalRRMPriorityIndex, create_dissector_handle(dissect_AdditionalRRMPriorityIndex_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DUCURadioInformationType, create_dissector_handle(dissect_DUCURadioInformationType_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_CUDURadioInformationType, create_dissector_handle(dissect_CUDURadioInformationType_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_LowerLayerPresenceStatusChange, create_dissector_handle(dissect_LowerLayerPresenceStatusChange_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Transport_Layer_Address_Info, create_dissector_handle(dissect_Transport_Layer_Address_Info_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Neighbour_Cell_Information_Item, create_dissector_handle(dissect_Neighbour_Cell_Information_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_ToBeSetup_List, create_dissector_handle(dissect_BHChannels_ToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_ToBeSetup_Item, create_dissector_handle(dissect_BHChannels_ToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_Setup_List, create_dissector_handle(dissect_BHChannels_Setup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_Setup_Item, create_dissector_handle(dissect_BHChannels_Setup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_ToBeModified_Item, create_dissector_handle(dissect_BHChannels_ToBeModified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_ToBeModified_List, create_dissector_handle(dissect_BHChannels_ToBeModified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_ToBeReleased_Item, create_dissector_handle(dissect_BHChannels_ToBeReleased_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_ToBeReleased_List, create_dissector_handle(dissect_BHChannels_ToBeReleased_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_ToBeSetupMod_Item, create_dissector_handle(dissect_BHChannels_ToBeSetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_ToBeSetupMod_List, create_dissector_handle(dissect_BHChannels_ToBeSetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_FailedToBeModified_Item, create_dissector_handle(dissect_BHChannels_FailedToBeModified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_FailedToBeModified_List, create_dissector_handle(dissect_BHChannels_FailedToBeModified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_FailedToBeSetupMod_Item, create_dissector_handle(dissect_BHChannels_FailedToBeSetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_FailedToBeSetupMod_List, create_dissector_handle(dissect_BHChannels_FailedToBeSetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_Modified_Item, create_dissector_handle(dissect_BHChannels_Modified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_Modified_List, create_dissector_handle(dissect_BHChannels_Modified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_SetupMod_Item, create_dissector_handle(dissect_BHChannels_SetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_SetupMod_List, create_dissector_handle(dissect_BHChannels_SetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_Required_ToBeReleased_Item, create_dissector_handle(dissect_BHChannels_Required_ToBeReleased_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_Required_ToBeReleased_List, create_dissector_handle(dissect_BHChannels_Required_ToBeReleased_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_FailedToBeSetup_Item, create_dissector_handle(dissect_BHChannels_FailedToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BHChannels_FailedToBeSetup_List, create_dissector_handle(dissect_BHChannels_FailedToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BAPAddress, create_dissector_handle(dissect_BAPAddress_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ConfiguredBAPAddress, create_dissector_handle(dissect_BAPAddress_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BH_Routing_Information_Added_List, create_dissector_handle(dissect_BH_Routing_Information_Added_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BH_Routing_Information_Added_List_Item, create_dissector_handle(dissect_BH_Routing_Information_Added_List_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BH_Routing_Information_Removed_List, create_dissector_handle(dissect_BH_Routing_Information_Removed_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BH_Routing_Information_Removed_List_Item, create_dissector_handle(dissect_BH_Routing_Information_Removed_List_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UL_BH_Non_UP_Traffic_Mapping, create_dissector_handle(dissect_UL_BH_Non_UP_Traffic_Mapping_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Activated_Cells_to_be_Updated_List, create_dissector_handle(dissect_Activated_Cells_to_be_Updated_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Child_Nodes_List, create_dissector_handle(dissect_Child_Nodes_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_IAB_TNL_Addresses_To_Remove_List, create_dissector_handle(dissect_IAB_TNL_Addresses_To_Remove_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_IAB_TNL_Addresses_To_Remove_Item, create_dissector_handle(dissect_IAB_TNL_Addresses_To_Remove_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_IAB_Allocated_TNL_Address_List, create_dissector_handle(dissect_IAB_Allocated_TNL_Address_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_IAB_Allocated_TNL_Address_Item, create_dissector_handle(dissect_IAB_Allocated_TNL_Address_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_IABIPv6RequestType, create_dissector_handle(dissect_IABIPv6RequestType_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_IABv4AddressesRequested, create_dissector_handle(dissect_IABv4AddressesRequested_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TrafficMappingInformation, create_dissector_handle(dissect_TrafficMappingInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UL_UP_TNL_Information_to_Update_List, create_dissector_handle(dissect_UL_UP_TNL_Information_to_Update_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UL_UP_TNL_Information_to_Update_List_Item, create_dissector_handle(dissect_UL_UP_TNL_Information_to_Update_List_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UL_UP_TNL_Address_to_Update_List, create_dissector_handle(dissect_UL_UP_TNL_Address_to_Update_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UL_UP_TNL_Address_to_Update_List_Item, create_dissector_handle(dissect_UL_UP_TNL_Address_to_Update_List_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DL_UP_TNL_Address_to_Update_List, create_dissector_handle(dissect_DL_UP_TNL_Address_to_Update_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DL_UP_TNL_Address_to_Update_List_Item, create_dissector_handle(dissect_DL_UP_TNL_Address_to_Update_List_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NRV2XServicesAuthorized, create_dissector_handle(dissect_NRV2XServicesAuthorized_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_LTEV2XServicesAuthorized, create_dissector_handle(dissect_LTEV2XServicesAuthorized_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NRUESidelinkAggregateMaximumBitrate, create_dissector_handle(dissect_NRUESidelinkAggregateMaximumBitrate_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_LTEUESidelinkAggregateMaximumBitrate, create_dissector_handle(dissect_LTEUESidelinkAggregateMaximumBitrate_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_FailedToBeModified_Item, create_dissector_handle(dissect_SLDRBs_FailedToBeModified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_FailedToBeModified_List, create_dissector_handle(dissect_SLDRBs_FailedToBeModified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_FailedToBeSetup_Item, create_dissector_handle(dissect_SLDRBs_FailedToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_FailedToBeSetup_List, create_dissector_handle(dissect_SLDRBs_FailedToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_Modified_Item, create_dissector_handle(dissect_SLDRBs_Modified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_Modified_List, create_dissector_handle(dissect_SLDRBs_Modified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_Required_ToBeModified_Item, create_dissector_handle(dissect_SLDRBs_Required_ToBeModified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_Required_ToBeModified_List, create_dissector_handle(dissect_SLDRBs_Required_ToBeModified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_Required_ToBeReleased_Item, create_dissector_handle(dissect_SLDRBs_Required_ToBeReleased_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_Required_ToBeReleased_List, create_dissector_handle(dissect_SLDRBs_Required_ToBeReleased_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_Setup_Item, create_dissector_handle(dissect_SLDRBs_Setup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_Setup_List, create_dissector_handle(dissect_SLDRBs_Setup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeModified_Item, create_dissector_handle(dissect_SLDRBs_ToBeModified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeModified_List, create_dissector_handle(dissect_SLDRBs_ToBeModified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeReleased_Item, create_dissector_handle(dissect_SLDRBs_ToBeReleased_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeReleased_List, create_dissector_handle(dissect_SLDRBs_ToBeReleased_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeSetup_Item, create_dissector_handle(dissect_SLDRBs_ToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeSetup_List, create_dissector_handle(dissect_SLDRBs_ToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeSetupMod_Item, create_dissector_handle(dissect_SLDRBs_ToBeSetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_ToBeSetupMod_List, create_dissector_handle(dissect_SLDRBs_ToBeSetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_SetupMod_List, create_dissector_handle(dissect_SLDRBs_SetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_FailedToBeSetupMod_List, create_dissector_handle(dissect_SLDRBs_FailedToBeSetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_SetupMod_Item, create_dissector_handle(dissect_SLDRBs_SetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_FailedToBeSetupMod_Item, create_dissector_handle(dissect_SLDRBs_FailedToBeSetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_ModifiedConf_List, create_dissector_handle(dissect_SLDRBs_ModifiedConf_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRBs_ModifiedConf_Item, create_dissector_handle(dissect_SLDRBs_ModifiedConf_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PC5LinkAMBR, create_dissector_handle(dissect_BitRate_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_gNBCUMeasurementID, create_dissector_handle(dissect_GNBCUMeasurementID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_gNBDUMeasurementID, create_dissector_handle(dissect_GNBDUMeasurementID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RegistrationRequest, create_dissector_handle(dissect_RegistrationRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportCharacteristics, create_dissector_handle(dissect_ReportCharacteristics_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_CellToReportList, create_dissector_handle(dissect_CellToReportList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_CellMeasurementResultList, create_dissector_handle(dissect_CellMeasurementResultList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_HardwareLoadIndicator, create_dissector_handle(dissect_HardwareLoadIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportingPeriodicity, create_dissector_handle(dissect_ReportingPeriodicity_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TNLCapacityIndicator, create_dissector_handle(dissect_TNLCapacityIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RAReportList, create_dissector_handle(dissect_RAReportList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RLFReportInformationList, create_dissector_handle(dissect_RLFReportInformationList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportingRequestType, create_dissector_handle(dissect_ReportingRequestType_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TimeReferenceInformation, create_dissector_handle(dissect_TimeReferenceInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ConditionalInterDUMobilityInformation, create_dissector_handle(dissect_ConditionalInterDUMobilityInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ConditionalIntraDUMobilityInformation, create_dissector_handle(dissect_ConditionalIntraDUMobilityInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_targetCellsToCancel, create_dissector_handle(dissect_TargetCellList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_requestedTargetCellGlobalID, create_dissector_handle(dissect_NRCGI_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ManagementBasedMDTPLMNList, create_dissector_handle(dissect_MDTPLMNList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TraceCollectionEntityIPAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PrivacyIndicator, create_dissector_handle(dissect_PrivacyIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TraceCollectionEntityURI, create_dissector_handle(dissect_URI_address_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ServingNID, create_dissector_handle(dissect_NID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RequestedSRSTransmissionCharacteristics, create_dissector_handle(dissect_RequestedSRSTransmissionCharacteristics_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PosAssistance_Information, create_dissector_handle(dissect_PosAssistance_Information_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PosBroadcast, create_dissector_handle(dissect_PosBroadcast_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RoutingID, create_dissector_handle(dissect_RoutingID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PosAssistanceInformationFailureList, create_dissector_handle(dissect_PosAssistanceInformationFailureList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PosMeasurementQuantities, create_dissector_handle(dissect_PosMeasurementQuantities_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PosMeasurementResultList, create_dissector_handle(dissect_PosMeasurementResultList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TRPInformationTypeListTRPReq, create_dissector_handle(dissect_TRPInformationTypeListTRPReq_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TRPInformationTypeItem, create_dissector_handle(dissect_TRPInformationTypeItem_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TRPInformationListTRPResp, create_dissector_handle(dissect_TRPInformationListTRPResp_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TRPInformationItem, create_dissector_handle(dissect_TRPInformationItem_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_LMF_MeasurementID, create_dissector_handle(dissect_LMF_MeasurementID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRSType, create_dissector_handle(dissect_SRSType_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ActivationTime, create_dissector_handle(dissect_RelativeTime1900_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_AbortTransmission, create_dissector_handle(dissect_AbortTransmission_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PositioningBroadcastCells, create_dissector_handle(dissect_PositioningBroadcastCells_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRSConfiguration, create_dissector_handle(dissect_SRSConfiguration_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PosReportCharacteristics, create_dissector_handle(dissect_PosReportCharacteristics_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PosMeasurementPeriodicity, create_dissector_handle(dissect_MeasurementPeriodicity_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TRPList, create_dissector_handle(dissect_TRPList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RAN_MeasurementID, create_dissector_handle(dissect_RAN_MeasurementID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_LMF_UE_MeasurementID, create_dissector_handle(dissect_LMF_UE_MeasurementID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RAN_UE_MeasurementID, create_dissector_handle(dissect_RAN_UE_MeasurementID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_E_CID_MeasurementQuantities, create_dissector_handle(dissect_E_CID_MeasurementQuantities_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_E_CID_MeasurementQuantities_Item, create_dissector_handle(dissect_E_CID_MeasurementQuantities_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_E_CID_MeasurementPeriodicity, create_dissector_handle(dissect_MeasurementPeriodicity_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_E_CID_MeasurementResult, create_dissector_handle(dissect_E_CID_MeasurementResult_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cell_Portion_ID, create_dissector_handle(dissect_Cell_Portion_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SFNInitialisationTime, create_dissector_handle(dissect_RelativeTime1900_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SystemFrameNumber, create_dissector_handle(dissect_SystemFrameNumber_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SlotNumber, create_dissector_handle(dissect_SlotNumber_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TRP_MeasurementRequestList, create_dissector_handle(dissect_TRP_MeasurementRequestList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MeasurementBeamInfoRequest, create_dissector_handle(dissect_MeasurementBeamInfoRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_E_CID_ReportCharacteristics, create_dissector_handle(dissect_E_CID_ReportCharacteristics_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Extended_GNB_CU_Name, create_dissector_handle(dissect_Extended_GNB_CU_Name_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Extended_GNB_DU_Name, create_dissector_handle(dissect_Extended_GNB_DU_Name_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_F1CTransferPath, create_dissector_handle(dissect_F1CTransferPath_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCGIndicator, create_dissector_handle(dissect_SCGIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TRPType, create_dissector_handle(dissect_TRPType_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PosMeasurementPeriodicityExtended, create_dissector_handle(dissect_MeasurementPeriodicityExtended_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SuccessfulHOReportInformationList, create_dissector_handle(dissect_SuccessfulHOReportInformationList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_CellsForSON_List, create_dissector_handle(dissect_CellsForSON_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_gNB_CU_MBS_F1AP_ID, create_dissector_handle(dissect_GNB_CU_MBS_F1AP_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_gNB_DU_MBS_F1AP_ID, create_dissector_handle(dissect_GNB_DU_MBS_F1AP_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MBS_CUtoDURRCInformation, create_dissector_handle(dissect_MBS_CUtoDURRCInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SNSSAI, create_dissector_handle(dissect_SNSSAI_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_FailedToBeModified_List, create_dissector_handle(dissect_BroadcastMRBs_FailedToBeModified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_FailedToBeModified_Item, create_dissector_handle(dissect_BroadcastMRBs_FailedToBeModified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_FailedToBeSetup_List, create_dissector_handle(dissect_BroadcastMRBs_FailedToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_FailedToBeSetup_Item, create_dissector_handle(dissect_BroadcastMRBs_FailedToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_FailedToBeSetupMod_List, create_dissector_handle(dissect_BroadcastMRBs_FailedToBeSetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_FailedToBeSetupMod_Item, create_dissector_handle(dissect_BroadcastMRBs_FailedToBeSetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_Modified_List, create_dissector_handle(dissect_BroadcastMRBs_Modified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_Modified_Item, create_dissector_handle(dissect_BroadcastMRBs_Modified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_Setup_List, create_dissector_handle(dissect_BroadcastMRBs_Setup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_Setup_Item, create_dissector_handle(dissect_BroadcastMRBs_Setup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_SetupMod_List, create_dissector_handle(dissect_BroadcastMRBs_SetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_SetupMod_Item, create_dissector_handle(dissect_BroadcastMRBs_SetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_ToBeModified_List, create_dissector_handle(dissect_BroadcastMRBs_ToBeModified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_ToBeModified_Item, create_dissector_handle(dissect_BroadcastMRBs_ToBeModified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_ToBeReleased_List, create_dissector_handle(dissect_BroadcastMRBs_ToBeReleased_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_ToBeReleased_Item, create_dissector_handle(dissect_BroadcastMRBs_ToBeReleased_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_ToBeSetup_List, create_dissector_handle(dissect_BroadcastMRBs_ToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_ToBeSetup_Item, create_dissector_handle(dissect_BroadcastMRBs_ToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_ToBeSetupMod_List, create_dissector_handle(dissect_BroadcastMRBs_ToBeSetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastMRBs_ToBeSetupMod_Item, create_dissector_handle(dissect_BroadcastMRBs_ToBeSetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UEIdentity_List_For_Paging_List, create_dissector_handle(dissect_UEIdentity_List_For_Paging_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UEIdentity_List_For_Paging_Item, create_dissector_handle(dissect_UEIdentity_List_For_Paging_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MBS_ServiceArea, create_dissector_handle(dissect_MBS_ServiceArea_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_FailedToBeModified_List, create_dissector_handle(dissect_MulticastMRBs_FailedToBeModified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_FailedToBeModified_Item, create_dissector_handle(dissect_MulticastMRBs_FailedToBeModified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_FailedToBeSetup_List, create_dissector_handle(dissect_MulticastMRBs_FailedToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_FailedToBeSetup_Item, create_dissector_handle(dissect_MulticastMRBs_FailedToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_FailedToBeSetupMod_List, create_dissector_handle(dissect_MulticastMRBs_FailedToBeSetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_FailedToBeSetupMod_Item, create_dissector_handle(dissect_MulticastMRBs_FailedToBeSetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_Modified_List, create_dissector_handle(dissect_MulticastMRBs_Modified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_Modified_Item, create_dissector_handle(dissect_MulticastMRBs_Modified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_Setup_List, create_dissector_handle(dissect_MulticastMRBs_Setup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_Setup_Item, create_dissector_handle(dissect_MulticastMRBs_Setup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_SetupMod_List, create_dissector_handle(dissect_MulticastMRBs_SetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_SetupMod_Item, create_dissector_handle(dissect_MulticastMRBs_SetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_ToBeModified_List, create_dissector_handle(dissect_MulticastMRBs_ToBeModified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_ToBeModified_Item, create_dissector_handle(dissect_MulticastMRBs_ToBeModified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_ToBeReleased_List, create_dissector_handle(dissect_MulticastMRBs_ToBeReleased_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_ToBeReleased_Item, create_dissector_handle(dissect_MulticastMRBs_ToBeReleased_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_ToBeSetup_List, create_dissector_handle(dissect_MulticastMRBs_ToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_ToBeSetup_Item, create_dissector_handle(dissect_MulticastMRBs_ToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_ToBeSetupMod_List, create_dissector_handle(dissect_MulticastMRBs_ToBeSetupMod_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMRBs_ToBeSetupMod_Item, create_dissector_handle(dissect_MulticastMRBs_ToBeSetupMod_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MBSMulticastF1UContextDescriptor, create_dissector_handle(dissect_MBSMulticastF1UContextDescriptor_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastF1UContext_ToBeSetup_List, create_dissector_handle(dissect_MulticastF1UContext_ToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastF1UContext_ToBeSetup_Item, create_dissector_handle(dissect_MulticastF1UContext_ToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastF1UContext_Setup_List, create_dissector_handle(dissect_MulticastF1UContext_Setup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastF1UContext_Setup_Item, create_dissector_handle(dissect_MulticastF1UContext_Setup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastF1UContext_FailedToBeSetup_List, create_dissector_handle(dissect_MulticastF1UContext_FailedToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastF1UContext_FailedToBeSetup_Item, create_dissector_handle(dissect_MulticastF1UContext_FailedToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_IABCongestionIndication, create_dissector_handle(dissect_IABCongestionIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_IABConditionalRRCMessageDeliveryIndication, create_dissector_handle(dissect_IABConditionalRRCMessageDeliveryIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_F1CTransferPathNRDC, create_dissector_handle(dissect_F1CTransferPathNRDC_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BufferSizeThresh, create_dissector_handle(dissect_BufferSizeThresh_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_IAB_TNL_Addresses_Exception, create_dissector_handle(dissect_IAB_TNL_Addresses_Exception_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BAP_Header_Rewriting_Added_List, create_dissector_handle(dissect_BAP_Header_Rewriting_Added_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BAP_Header_Rewriting_Added_List_Item, create_dissector_handle(dissect_BAP_Header_Rewriting_Added_List_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Re_routingEnableIndicator, create_dissector_handle(dissect_Re_routingEnableIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Neighbour_Node_Cells_List, create_dissector_handle(dissect_Neighbour_Node_Cells_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Serving_Cells_List, create_dissector_handle(dissect_Serving_Cells_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MDTPollutedMeasurementIndicator, create_dissector_handle(dissect_MDTPollutedMeasurementIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PDCMeasurementPeriodicity, create_dissector_handle(dissect_PDCMeasurementPeriodicity_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PDCMeasurementQuantities, create_dissector_handle(dissect_PDCMeasurementQuantities_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PDCMeasurementQuantities_Item, create_dissector_handle(dissect_PDCMeasurementQuantities_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PDCMeasurementResult, create_dissector_handle(dissect_PDCMeasurementResult_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PDCReportType, create_dissector_handle(dissect_PDCReportType_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RAN_UE_PDC_MeasID, create_dissector_handle(dissect_RAN_UE_PDC_MeasID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCGActivationRequest, create_dissector_handle(dissect_SCGActivationRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCGActivationStatus, create_dissector_handle(dissect_SCGActivationStatus_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PRSTRPList, create_dissector_handle(dissect_PRSTRPList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PRSTransmissionTRPList, create_dissector_handle(dissect_PRSTransmissionTRPList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_OnDemandPRS, create_dissector_handle(dissect_OnDemandPRS_Info_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TRP_MeasurementUpdateList, create_dissector_handle(dissect_TRP_MeasurementUpdateList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ZoAInformation, create_dissector_handle(dissect_ZoAInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ResponseTime, create_dissector_handle(dissect_ResponseTime_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MultipleULAoA, create_dissector_handle(dissect_MultipleULAoA_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UL_SRS_RSRPP, create_dissector_handle(dissect_UL_SRS_RSRPP_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ExtendedAdditionalPathList, create_dissector_handle(dissect_ExtendedAdditionalPathList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TRPTxTEGAssociation, create_dissector_handle(dissect_TRPTxTEGAssociation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TRPRx_TEGInformation, create_dissector_handle(dissect_TRP_Rx_TEGInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TRP_PRS_Info_List, create_dissector_handle(dissect_TRP_PRS_Info_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PRS_Measurement_Info_List, create_dissector_handle(dissect_PRS_Measurement_Info_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PRSConfigRequestType, create_dissector_handle(dissect_PRSConfigRequestType_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MeasurementTimeOccasion, create_dissector_handle(dissect_MeasurementTimeOccasion_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MeasurementCharacteristicsRequestIndicator, create_dissector_handle(dissect_MeasurementCharacteristicsRequestIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UEReportingInformation, create_dissector_handle(dissect_UEReportingInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PosContextRevIndication, create_dissector_handle(dissect_PosContextRevIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TRPBeamAntennaInformation, create_dissector_handle(dissect_TRPBeamAntennaInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NRRedCapUEIndication, create_dissector_handle(dissect_NRRedCapUEIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RANUEPagingDRX, create_dissector_handle(dissect_PagingDRX_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_CNUEPagingDRX, create_dissector_handle(dissect_PagingDRX_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NRPagingeDRXInformation, create_dissector_handle(dissect_NRPagingeDRXInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NRPagingeDRXInformationforRRCINACTIVE, create_dissector_handle(dissect_NRPagingeDRXInformationforRRCINACTIVE_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NR_TADV, create_dissector_handle(dissect_NR_TADV_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_QoEInformation, create_dissector_handle(dissect_QoEInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_CG_SDTQueryIndication, create_dissector_handle(dissect_CG_SDTQueryIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_CG_SDTKeptIndicator, create_dissector_handle(dissect_CG_SDTKeptIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_CG_SDTSessionInfoOld, create_dissector_handle(dissect_CG_SDTSessionInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SDTInformation, create_dissector_handle(dissect_SDTInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_FiveG_ProSeAuthorized, create_dissector_handle(dissect_FiveG_ProSeAuthorized_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_FiveG_ProSeUEPC5AggregateMaximumBitrate, create_dissector_handle(dissect_NRUESidelinkAggregateMaximumBitrate_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_FiveG_ProSePC5LinkAMBR, create_dissector_handle(dissect_BitRate_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UuRLCChannelToBeSetupList, create_dissector_handle(dissect_UuRLCChannelToBeSetupList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UuRLCChannelToBeModifiedList, create_dissector_handle(dissect_UuRLCChannelToBeModifiedList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UuRLCChannelToBeReleasedList, create_dissector_handle(dissect_UuRLCChannelToBeReleasedList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UuRLCChannelSetupList, create_dissector_handle(dissect_UuRLCChannelSetupList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UuRLCChannelFailedToBeSetupList, create_dissector_handle(dissect_UuRLCChannelFailedToBeSetupList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UuRLCChannelModifiedList, create_dissector_handle(dissect_UuRLCChannelModifiedList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UuRLCChannelFailedToBeModifiedList, create_dissector_handle(dissect_UuRLCChannelFailedToBeModifiedList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UuRLCChannelRequiredToBeModifiedList, create_dissector_handle(dissect_UuRLCChannelRequiredToBeModifiedList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UuRLCChannelRequiredToBeReleasedList, create_dissector_handle(dissect_UuRLCChannelRequiredToBeReleasedList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PC5RLCChannelToBeSetupList, create_dissector_handle(dissect_PC5RLCChannelToBeSetupList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PC5RLCChannelToBeModifiedList, create_dissector_handle(dissect_PC5RLCChannelToBeModifiedList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PC5RLCChannelToBeReleasedList, create_dissector_handle(dissect_PC5RLCChannelToBeReleasedList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PC5RLCChannelSetupList, create_dissector_handle(dissect_PC5RLCChannelSetupList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PC5RLCChannelFailedToBeSetupList, create_dissector_handle(dissect_PC5RLCChannelFailedToBeSetupList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PC5RLCChannelFailedToBeModifiedList, create_dissector_handle(dissect_PC5RLCChannelFailedToBeModifiedList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PC5RLCChannelRequiredToBeModifiedList, create_dissector_handle(dissect_PC5RLCChannelRequiredToBeModifiedList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PC5RLCChannelRequiredToBeReleasedList, create_dissector_handle(dissect_PC5RLCChannelRequiredToBeReleasedList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PC5RLCChannelModifiedList, create_dissector_handle(dissect_PC5RLCChannelModifiedList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SidelinkRelayConfiguration, create_dissector_handle(dissect_SidelinkRelayConfiguration_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UpdatedRemoteUELocalID, create_dissector_handle(dissect_RemoteUELocalID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PathSwitchConfiguration, create_dissector_handle(dissect_PathSwitchConfiguration_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PagingCause, create_dissector_handle(dissect_PagingCause_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PEIPSAssistanceInfo, create_dissector_handle(dissect_PEIPSAssistanceInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UEPagingCapability, create_dissector_handle(dissect_UEPagingCapability_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_GNBDUUESliceMaximumBitRateList, create_dissector_handle(dissect_GNBDUUESliceMaximumBitRateList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_ToBeReleased_List, create_dissector_handle(dissect_UE_MulticastMRBs_ToBeReleased_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_ToBeReleased_Item, create_dissector_handle(dissect_UE_MulticastMRBs_ToBeReleased_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_ToBeSetup_List, create_dissector_handle(dissect_UE_MulticastMRBs_ToBeSetup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_ToBeSetup_Item, create_dissector_handle(dissect_UE_MulticastMRBs_ToBeSetup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMBSSessionSetupList, create_dissector_handle(dissect_MulticastMBSSessionList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastMBSSessionRemoveList, create_dissector_handle(dissect_MulticastMBSSessionList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PosMeasurementAmount, create_dissector_handle(dissect_PosMeasurementAmount_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SDT_Termination_Request, create_dissector_handle(dissect_SDT_Termination_Request_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BAP_Header_Rewriting_Removed_List, create_dissector_handle(dissect_BAP_Header_Rewriting_Removed_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BAP_Header_Rewriting_Removed_List_Item, create_dissector_handle(dissect_BAP_Header_Rewriting_Removed_List_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLDRXCycleList, create_dissector_handle(dissect_SLDRXCycleList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_BroadcastAreaScope, create_dissector_handle(dissect_BroadcastAreaScope_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ManagementBasedMDTPLMNModificationList, create_dissector_handle(dissect_MDTPLMNModificationList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ActivationRequestType, create_dissector_handle(dissect_ActivationRequestType_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PosMeasGapPreConfigList, create_dissector_handle(dissect_PosMeasGapPreConfigList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_ConfirmedToBeModified_List, create_dissector_handle(dissect_UE_MulticastMRBs_ConfirmedToBeModified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_ConfirmedToBeModified_Item, create_dissector_handle(dissect_UE_MulticastMRBs_ConfirmedToBeModified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_RequiredToBeModified_List, create_dissector_handle(dissect_UE_MulticastMRBs_RequiredToBeModified_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_RequiredToBeModified_Item, create_dissector_handle(dissect_UE_MulticastMRBs_RequiredToBeModified_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_RequiredToBeReleased_List, create_dissector_handle(dissect_UE_MulticastMRBs_RequiredToBeReleased_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_RequiredToBeReleased_Item, create_dissector_handle(dissect_UE_MulticastMRBs_RequiredToBeReleased_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_L571Info, create_dissector_handle(dissect_L571Info_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_L1151Info, create_dissector_handle(dissect_L1151Info_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCS_480, create_dissector_handle(dissect_SCS_480_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SCS_960, create_dissector_handle(dissect_SCS_960_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRSPosRRCInactiveConfig, create_dissector_handle(dissect_SRSPosRRCInactiveConfig_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SDTBearerConfigurationQueryIndication, create_dissector_handle(dissect_SDTBearerConfigurationQueryIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SDTBearerConfigurationInfo, create_dissector_handle(dissect_SDTBearerConfigurationInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_Setup_List, create_dissector_handle(dissect_UE_MulticastMRBs_Setup_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_Setup_Item, create_dissector_handle(dissect_UE_MulticastMRBs_Setup_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastF1UContextReferenceCU, create_dissector_handle(dissect_MulticastF1UContextReferenceCU_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PosSItypeList, create_dissector_handle(dissect_PosSItypeList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DAPS_HO_Status, create_dissector_handle(dissect_DAPS_HO_Status_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UplinkTxDirectCurrentTwoCarrierListInfo, create_dissector_handle(dissect_UplinkTxDirectCurrentTwoCarrierListInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_ToBeSetup_atModify_List, create_dissector_handle(dissect_UE_MulticastMRBs_ToBeSetup_atModify_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_ToBeSetup_atModify_Item, create_dissector_handle(dissect_UE_MulticastMRBs_ToBeSetup_atModify_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MC_PagingCell_List, create_dissector_handle(dissect_MC_PagingCell_list_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MC_PagingCell_Item, create_dissector_handle(dissect_MC_PagingCell_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRSPosRRCInactiveQueryIndication, create_dissector_handle(dissect_SRSPosRRCInactiveQueryIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UlTxDirectCurrentMoreCarrierInformation, create_dissector_handle(dissect_UlTxDirectCurrentMoreCarrierInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_CPACMCGInformation, create_dissector_handle(dissect_CPACMCGInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ExtendedUEIdentityIndexValue, create_dissector_handle(dissect_ExtendedUEIdentityIndexValue_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ServingCellMO_List, create_dissector_handle(dissect_ServingCellMO_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ServingCellMO_List_Item, create_dissector_handle(dissect_ServingCellMO_List_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ServingCellMO_encoded_in_CGC_List, create_dissector_handle(dissect_ServingCellMO_encoded_in_CGC_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_HashedUEIdentityIndexValue, create_dissector_handle(dissect_HashedUEIdentityIndexValue_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_Setupnew_List, create_dissector_handle(dissect_UE_MulticastMRBs_Setupnew_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UE_MulticastMRBs_Setupnew_Item, create_dissector_handle(dissect_UE_MulticastMRBs_Setupnew_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_transmissionCombn8, create_dissector_handle(dissect_TransmissionCombn8_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DedicatedSIDeliveryIndication, create_dissector_handle(dissect_DedicatedSIDeliveryIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Configured_BWP_List, create_dissector_handle(dissect_Configured_BWP_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NetworkControlledRepeaterAuthorized, create_dissector_handle(dissect_NetworkControlledRepeaterAuthorized_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MT_SDT_Information, create_dissector_handle(dissect_MT_SDT_Information_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SDT_Volume_Threshold, create_dissector_handle(dissect_SDT_Volume_Threshold_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SupportedUETypeList, create_dissector_handle(dissect_SupportedUETypeList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_LTMInformation_Setup, create_dissector_handle(dissect_LTMInformation_Setup_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_LTMConfigurationIDMappingList, create_dissector_handle(dissect_LTMConfigurationIDMappingList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_LTMInformation_Modify, create_dissector_handle(dissect_LTMInformation_Modify_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_LTMCells_ToBeReleased_List, create_dissector_handle(dissect_LTMCells_ToBeReleased_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_LTMConfiguration, create_dissector_handle(dissect_LTMConfiguration_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_EarlySyncInformation_Request, create_dissector_handle(dissect_EarlySyncInformation_Request_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_EarlySyncInformation, create_dissector_handle(dissect_EarlySyncInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_EarlySyncCandidateCellInformation_List, create_dissector_handle(dissect_EarlySyncCandidateCellInformation_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_LTMCellSwitchInformation, create_dissector_handle(dissect_LTMCellSwitchInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DUtoCUTAInformation_List, create_dissector_handle(dissect_DUtoCUTAInformation_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DeactivationIndication, create_dissector_handle(dissect_DeactivationIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RAReportIndicationList, create_dissector_handle(dissect_RAReportIndicationList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SuccessfulPSCellChangeReportInformationList, create_dissector_handle(dissect_SuccessfulPSCellChangeReportInformationList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PathAdditionInformation, create_dissector_handle(dissect_PathAdditionInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Recommended_SSBs_for_Paging_List, create_dissector_handle(dissect_Recommended_SSBs_for_Paging_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_With_SSBs_Activated_List, create_dissector_handle(dissect_Cells_With_SSBs_Activated_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_Allowed_to_be_Deactivated_List, create_dissector_handle(dissect_Cells_Allowed_to_be_Deactivated_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Cells_Allowed_to_be_Deactivated_List_Item, create_dissector_handle(dissect_Cells_Allowed_to_be_Deactivated_List_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RANTSSRequestType, create_dissector_handle(dissect_RANTSSRequestType_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RANTimingSynchronisationStatusInfo, create_dissector_handle(dissect_RANTimingSynchronisationStatusInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Mobile_TRP_LocationInformation, create_dissector_handle(dissect_Mobile_TRP_LocationInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Target_gNB_ID, create_dissector_handle(dissect_GlobalGNB_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Target_gNB_IP_address, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Target_SeGW_IP_address, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Activated_Cells_Mapping_List, create_dissector_handle(dissect_Activated_Cells_Mapping_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Activated_Cells_Mapping_List_Item, create_dissector_handle(dissect_Activated_Cells_Mapping_List_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_F1SetupOutcome, create_dissector_handle(dissect_F1SetupOutcome_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RRC_Terminating_IAB_Donor_Related_Info, create_dissector_handle(dissect_RRC_Terminating_IAB_Donor_Related_Info_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RRC_Terminating_IAB_Donor_gNB_ID, create_dissector_handle(dissect_GlobalGNB_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NCGI_to_be_Updated_List, create_dissector_handle(dissect_NCGI_to_be_Updated_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NCGI_to_be_Updated_List_Item, create_dissector_handle(dissect_NCGI_to_be_Updated_List_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Mobile_IAB_MTUserLocationInformation, create_dissector_handle(dissect_Mobile_IAB_MTUserLocationInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_AssociatedSessionID, create_dissector_handle(dissect_AssociatedSessionID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_IndicationMCInactiveReception, create_dissector_handle(dissect_IndicationMCInactiveReception_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastCU2DURRCInfo, create_dissector_handle(dissect_MulticastCU2DURRCInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MBSMulticastSessionReceptionState, create_dissector_handle(dissect_MBSMulticastSessionReceptionState_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastDU2CURRCInfo, create_dissector_handle(dissect_MulticastDU2CURRCInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_MulticastCU2DUCommonRRCInfo, create_dissector_handle(dissect_MulticastCU2DUCommonRRCInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NRA2XServicesAuthorized, create_dissector_handle(dissect_NRA2XServicesAuthorized_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_LTEA2XServicesAuthorized, create_dissector_handle(dissect_LTEA2XServicesAuthorized_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NRUESidelinkAggregateMaximumBitrateForA2X, create_dissector_handle(dissect_NRUESidelinkAggregateMaximumBitrate_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_LTEUESidelinkAggregateMaximumBitrateForA2X, create_dissector_handle(dissect_LTEUESidelinkAggregateMaximumBitrate_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NReRedCapUEIndication, create_dissector_handle(dissect_NReRedCapUEIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NRPaginglongeDRXInformationforRRCINACTIVE, create_dissector_handle(dissect_NRPaginglongeDRXInformationforRRCINACTIVE_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Target_F1_Terminating_Donor_gNB_ID, create_dissector_handle(dissect_GlobalGNB_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Broadcast_MRBs_Transport_Request_List, create_dissector_handle(dissect_Broadcast_MRBs_Transport_Request_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_Broadcast_MRBs_Transport_Request_Item, create_dissector_handle(dissect_Broadcast_MRBs_Transport_Request_Item_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_S_CPAC_Configuration, create_dissector_handle(dissect_S_CPAC_Configuration_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DLLBTFailureInformationRequest, create_dissector_handle(dissect_DLLBTFailureInformationRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_DLLBTFailureInformationList, create_dissector_handle(dissect_DLLBTFailureInformationList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_CUtoDUTAInformation_List, create_dissector_handle(dissect_CUtoDUTAInformation_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_U2URLCChannelQoS, create_dissector_handle(dissect_PC5QoSParameters_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SLPositioning_Ranging_Service_Info, create_dissector_handle(dissect_SLPositioning_Ranging_Service_Info_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TimeWindowInformation_SRS_List, create_dissector_handle(dissect_TimeWindowInformation_SRS_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TimeWindowInformation_Measurement_List, create_dissector_handle(dissect_TimeWindowInformation_Measurement_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_UL_RSCP, create_dissector_handle(dissect_UL_RSCP_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportingGranularitykminus1, create_dissector_handle(dissect_ReportingGranularitykminus1_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportingGranularitykminus2, create_dissector_handle(dissect_ReportingGranularitykminus2_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportingGranularitykminus1additionalpath, create_dissector_handle(dissect_ReportingGranularitykminus1AdditionalPath_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportingGranularitykminus2additionalpath, create_dissector_handle(dissect_ReportingGranularitykminus2AdditionalPath_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRSPosRRCInactiveValidityAreaConfig, create_dissector_handle(dissect_SRSPosRRCInactiveValidityAreaConfig_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRSReservationType, create_dissector_handle(dissect_SRSReservationType_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_PhaseQuality, create_dissector_handle(dissect_PhaseQuality_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportingGranularitykminus3, create_dissector_handle(dissect_ReportingGranularitykminus3_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportingGranularitykminus4, create_dissector_handle(dissect_ReportingGranularitykminus4_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportingGranularitykminus5, create_dissector_handle(dissect_ReportingGranularitykminus5_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportingGranularitykminus6, create_dissector_handle(dissect_ReportingGranularitykminus6_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportingGranularitykminus3additionalpath, create_dissector_handle(dissect_ReportingGranularitykminus3AdditionalPath_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportingGranularitykminus4additionalpath, create_dissector_handle(dissect_ReportingGranularitykminus4AdditionalPath_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportingGranularitykminus5additionalpath, create_dissector_handle(dissect_ReportingGranularitykminus5AdditionalPath_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_ReportingGranularitykminus6additionalpath, create_dissector_handle(dissect_ReportingGranularitykminus6AdditionalPath_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_AggregatedPosSRSResourceSetList, create_dissector_handle(dissect_AggregatedPosSRSResourceSetList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RequestedSRSPreconfigurationCharacteristics_List, create_dissector_handle(dissect_RequestedSRSPreconfigurationCharacteristics_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRSPreconfiguration_List, create_dissector_handle(dissect_SRSPreconfiguration_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_SRSInformation, create_dissector_handle(dissect_RequestedSRSTransmissionCharacteristics_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_TAInformation_List, create_dissector_handle(dissect_TAInformation_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_NonIntegerDRXCycle, create_dissector_handle(dissect_NonIntegerDRXCycle_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_EarlySyncServingCellInformation, create_dissector_handle(dissect_EarlySyncServingCellInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_RANSharingAssistanceInformation, create_dissector_handle(dissect_RANSharingAssistanceInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_LTMCFRAResourceConfig_List, create_dissector_handle(dissect_LTMCFRAResourceConfig_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.ies", id_F1U_PathFailure, create_dissector_handle(dissect_F1U_PathFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_gNB_CUSystemInformation, create_dissector_handle(dissect_GNB_CUSystemInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_HandoverPreparationInformation, create_dissector_handle(dissect_HandoverPreparationInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_TAISliceSupportList, create_dissector_handle(dissect_SliceSupportList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_RANAC, create_dissector_handle(dissect_RANAC_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_RLC_Status, create_dissector_handle(dissect_RLC_Status_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_DLPDCPSNLength, create_dissector_handle(dissect_PDCPSNLength_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MeasurementTimingConfiguration, create_dissector_handle(dissect_MeasurementTimingConfiguration_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_CellGroupConfig, create_dissector_handle(dissect_CellGroupConfig_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_DC_Based_Duplication_Configured, create_dissector_handle(dissect_DCBasedDuplicationConfigured_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_DC_Based_Duplication_Activation, create_dissector_handle(dissect_DuplicationActivation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_AvailablePLMNList, create_dissector_handle(dissect_AvailablePLMNList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_PDUSessionID, create_dissector_handle(dissect_PDUSessionID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ULPDUSessionAggregateMaximumBitRate, create_dissector_handle(dissect_BitRate_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ServingCellMO, create_dissector_handle(dissect_ServingCellMO_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_QoSFlowMappingIndication, create_dissector_handle(dissect_QoSFlowMappingIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_BearerTypeChange, create_dissector_handle(dissect_BearerTypeChange_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_RLCMode, create_dissector_handle(dissect_RLCMode_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Duplication_Activation, create_dissector_handle(dissect_DuplicationActivation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_DRX_LongCycleStartOffset, create_dissector_handle(dissect_DRX_LongCycleStartOffset_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ULPDCPSNLength, create_dissector_handle(dissect_PDCPSNLength_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SelectedBandCombinationIndex, create_dissector_handle(dissect_SelectedBandCombinationIndex_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SelectedFeatureSetEntryIndex, create_dissector_handle(dissect_SelectedFeatureSetEntryIndex_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ResourceCoordinationTransferInformation, create_dissector_handle(dissect_ResourceCoordinationTransferInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ExtendedServedPLMNs_List, create_dissector_handle(dissect_ExtendedServedPLMNs_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ExtendedAvailablePLMN_List, create_dissector_handle(dissect_ExtendedAvailablePLMN_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_latest_RRC_Version_Enhanced, create_dissector_handle(dissect_Latest_RRC_Version_Enhanced_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Cell_Direction, create_dissector_handle(dissect_Cell_Direction_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Ph_InfoSCG, create_dissector_handle(dissect_Ph_InfoSCG_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_RequestedBandCombinationIndex, create_dissector_handle(dissect_RequestedBandCombinationIndex_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_RequestedFeatureSetEntryIndex, create_dissector_handle(dissect_RequestedFeatureSetEntryIndex_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_RequestedP_MaxFR2, create_dissector_handle(dissect_RequestedP_MaxFR2_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_DRX_Config, create_dissector_handle(dissect_DRX_Config_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_UEAssistanceInformation, create_dissector_handle(dissect_UEAssistanceInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_BPLMN_ID_Info_List, create_dissector_handle(dissect_BPLMN_ID_Info_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_TNLAssociationTransportLayerAddressgNBDU, create_dissector_handle(dissect_CP_TransportLayerAddress_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_portNumber, create_dissector_handle(dissect_PortNumber_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_AdditionalSIBMessageList, create_dissector_handle(dissect_AdditionalSIBMessageList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Cell_Type, create_dissector_handle(dissect_CellType_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_IgnorePRACHConfiguration, create_dissector_handle(dissect_IgnorePRACHConfiguration_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_CG_Config, create_dissector_handle(dissect_CG_Config_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_PDCCH_BlindDetectionSCG, create_dissector_handle(dissect_PDCCH_BlindDetectionSCG_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Requested_PDCCH_BlindDetectionSCG, create_dissector_handle(dissect_Requested_PDCCH_BlindDetectionSCG_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Ph_InfoMCG, create_dissector_handle(dissect_Ph_InfoMCG_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MeasGapSharingConfig, create_dissector_handle(dissect_MeasGapSharingConfig_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_systemInformationAreaID, create_dissector_handle(dissect_SystemInformationAreaID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_areaScope, create_dissector_handle(dissect_AreaScope_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_AggressorgNBSetID, create_dissector_handle(dissect_AggressorgNBSetID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_VictimgNBSetID, create_dissector_handle(dissect_VictimgNBSetID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_IntendedTDD_DL_ULConfig, create_dissector_handle(dissect_IntendedTDD_DL_ULConfig_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_QosMonitoringRequest, create_dissector_handle(dissect_QosMonitoringRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_BHInfo, create_dissector_handle(dissect_BHInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_IAB_Info_IAB_DU, create_dissector_handle(dissect_IAB_Info_IAB_DU_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_IAB_Info_IAB_donor_CU, create_dissector_handle(dissect_IAB_Info_IAB_donor_CU_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_IAB_Barred, create_dissector_handle(dissect_IAB_Barred_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SIB12_message, create_dissector_handle(dissect_SIB12_message_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SIB13_message, create_dissector_handle(dissect_SIB13_message_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SIB14_message, create_dissector_handle(dissect_SIB14_message_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_UEAssistanceInformationEUTRA, create_dissector_handle(dissect_UEAssistanceInformationEUTRA_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SL_PHY_MAC_RLC_Config, create_dissector_handle(dissect_SL_PHY_MAC_RLC_Config_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SL_ConfigDedicatedEUTRA_Info, create_dissector_handle(dissect_SL_ConfigDedicatedEUTRA_Info_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_AlternativeQoSParaSetList, create_dissector_handle(dissect_AlternativeQoSParaSetList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_CurrentQoSParaSetIndex, create_dissector_handle(dissect_QoSParaSetNotifyIndex_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_CarrierList, create_dissector_handle(dissect_NRCarrierList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ULCarrierList, create_dissector_handle(dissect_NRCarrierList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_FrequencyShift7p5khz, create_dissector_handle(dissect_FrequencyShift7p5khz_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SSB_PositionsInBurst, create_dissector_handle(dissect_SSB_PositionsInBurst_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NRPRACHConfig, create_dissector_handle(dissect_f1ap_NRPRACHConfig_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_TDD_UL_DLConfigCommonNR, create_dissector_handle(dissect_TDD_UL_DLConfigCommonNR_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_CNPacketDelayBudgetDownlink, create_dissector_handle(dissect_ExtendedPacketDelayBudget_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ExtendedPacketDelayBudget, create_dissector_handle(dissect_ExtendedPacketDelayBudget_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_TSCTrafficCharacteristics, create_dissector_handle(dissect_TSCTrafficCharacteristics_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_CNPacketDelayBudgetUplink, create_dissector_handle(dissect_ExtendedPacketDelayBudget_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_AdditionalPDCPDuplicationTNL_List, create_dissector_handle(dissect_AdditionalPDCPDuplicationTNL_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_RLCDuplicationInformation, create_dissector_handle(dissect_RLCDuplicationInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_AdditionalDuplicationIndication, create_dissector_handle(dissect_AdditionalDuplicationIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_TraceCollectionEntityURI, create_dissector_handle(dissect_URI_address_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_mdtConfiguration, create_dissector_handle(dissect_MDTConfiguration_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NPNBroadcastInformation, create_dissector_handle(dissect_NPNBroadcastInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NPNSupportInfo, create_dissector_handle(dissect_NPNSupportInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NID, create_dissector_handle(dissect_NID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_AvailableSNPN_ID_List, create_dissector_handle(dissect_AvailableSNPN_ID_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SIB10_message, create_dissector_handle(dissect_SIB10_message_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_DLCarrierList, create_dissector_handle(dissect_NRCarrierList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ExtendedTAISliceSupportList, create_dissector_handle(dissect_ExtendedSliceSupportList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ConfiguredTACIndication, create_dissector_handle(dissect_ConfiguredTACIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NRCGI, create_dissector_handle(dissect_NRCGI_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SFN_Offset, create_dissector_handle(dissect_SFN_Offset_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_TransmissionStopIndicator, create_dissector_handle(dissect_TransmissionStopIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SrsFrequency, create_dissector_handle(dissect_SrsFrequency_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_EstimatedArrivalProbability, create_dissector_handle(dissect_CHO_Probability_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SRSSpatialRelationPerSRSResource, create_dissector_handle(dissect_SpatialRelationPerSRSResource_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_PDCPTerminatingNodeDLTNLAddrInfo, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ENBDLTNLAddress, create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_PRS_Resource_ID, create_dissector_handle(dissect_PRS_Resource_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_LocationMeasurementInformation, create_dissector_handle(dissect_LocationMeasurementInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SliceRadioResourceStatus, create_dissector_handle(dissect_SliceRadioResourceStatus_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_CompositeAvailableCapacity_SUL, create_dissector_handle(dissect_CompositeAvailableCapacity_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NR_U_Channel_List, create_dissector_handle(dissect_NR_U_Channel_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NR_U, create_dissector_handle(dissect_NR_U_Channel_Info_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Coverage_Modification_Notification, create_dissector_handle(dissect_Coverage_Modification_Notification_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_CCO_Assistance_Information, create_dissector_handle(dissect_CCO_Assistance_Information_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MIMOPRBusageInformation, create_dissector_handle(dissect_MIMOPRBusageInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MBS_Broadcast_NeighbourCellList, create_dissector_handle(dissect_MBS_Broadcast_NeighbourCellList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Supported_MBS_FSA_ID_List, create_dissector_handle(dissect_Supported_MBS_FSA_ID_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NonF1terminatingTopologyIndicator, create_dissector_handle(dissect_NonF1terminatingTopologyIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_EgressNonF1terminatingTopologyIndicator, create_dissector_handle(dissect_EgressNonF1terminatingTopologyIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_IngressNonF1terminatingTopologyIndicator, create_dissector_handle(dissect_IngressNonF1terminatingTopologyIndicator_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_rBSetConfiguration, create_dissector_handle(dissect_RBSetConfiguration_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_frequency_Domain_HSNA_Configuration_List, create_dissector_handle(dissect_Frequency_Domain_HSNA_Configuration_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_child_IAB_Nodes_NA_Resource_List, create_dissector_handle(dissect_Child_IAB_Nodes_NA_Resource_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Parent_IAB_Nodes_NA_Resource_Configuration_List, create_dissector_handle(dissect_Parent_IAB_Nodes_NA_Resource_Configuration_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_uL_FreqInfo, create_dissector_handle(dissect_NRFreqInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_uL_Transmission_Bandwidth, create_dissector_handle(dissect_Transmission_Bandwidth_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_dL_FreqInfo, create_dissector_handle(dissect_NRFreqInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_dL_Transmission_Bandwidth, create_dissector_handle(dissect_Transmission_Bandwidth_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_uL_NR_Carrier_List, create_dissector_handle(dissect_NRCarrierList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_dL_NR_Carrier_List, create_dissector_handle(dissect_NRCarrierList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_nRFreqInfo, create_dissector_handle(dissect_NRFreqInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_transmission_Bandwidth, create_dissector_handle(dissect_Transmission_Bandwidth_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_nR_Carrier_List, create_dissector_handle(dissect_NRCarrierList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_permutation, create_dissector_handle(dissect_Permutation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_M5ReportAmount, create_dissector_handle(dissect_M5ReportAmount_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_M6ReportAmount, create_dissector_handle(dissect_M6ReportAmount_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_M7ReportAmount, create_dissector_handle(dissect_M7ReportAmount_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SurvivalTime, create_dissector_handle(dissect_SurvivalTime_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_AoA_SearchWindow, create_dissector_handle(dissect_AoA_AssistanceInfo_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ARPLocationInfo, create_dissector_handle(dissect_ARPLocationInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ARP_ID, create_dissector_handle(dissect_ARP_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MultipleULAoA, create_dissector_handle(dissect_MultipleULAoA_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SRSResourcetype, create_dissector_handle(dissect_SRSResourcetype_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ExtendedAdditionalPathList, create_dissector_handle(dissect_ExtendedAdditionalPathList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_LoS_NLoSInformation, create_dissector_handle(dissect_LoS_NLoSInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NumberOfTRPRxTEG, create_dissector_handle(dissect_NumberOfTRPRxTEG_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NumberOfTRPRxTxTEG, create_dissector_handle(dissect_NumberOfTRPRxTxTEG_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_TRPTEGInformation, create_dissector_handle(dissect_TRPTEGInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Redcap_Bcast_Information, create_dissector_handle(dissect_Redcap_Bcast_Information_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SDT_MAC_PHY_CG_Config, create_dissector_handle(dissect_SDT_MAC_PHY_CG_Config_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_CG_SDTindicatorSetup, create_dissector_handle(dissect_CG_SDTindicatorSetup_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_CG_SDTindicatorMod, create_dissector_handle(dissect_CG_SDTindicatorMod_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SDTRLCBearerConfiguration, create_dissector_handle(dissect_SDTRLCBearerConfiguration_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SRBMappingInfo, create_dissector_handle(dissect_UuRLCChannelID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_DRBMappingInfo, create_dissector_handle(dissect_UuRLCChannelID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MUSIM_GapConfig, create_dissector_handle(dissect_MUSIM_GapConfig_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_LastUsedCellIndication, create_dissector_handle(dissect_LastUsedCellIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SIB17_message, create_dissector_handle(dissect_SIB17_message_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SIB20_message, create_dissector_handle(dissect_SIB20_message_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_pathPower, create_dissector_handle(dissect_UL_SRS_RSRPP_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_DU_RX_MT_RX_Extend, create_dissector_handle(dissect_DU_RX_MT_RX_Extend_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_DU_TX_MT_TX_Extend, create_dissector_handle(dissect_DU_TX_MT_TX_Extend_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_DU_RX_MT_TX_Extend, create_dissector_handle(dissect_DU_RX_MT_TX_Extend_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_DU_TX_MT_RX_Extend, create_dissector_handle(dissect_DU_TX_MT_RX_Extend_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_TAINSAGSupportList, create_dissector_handle(dissect_NSAGSupportList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SL_RLC_ChannelToAddModList, create_dissector_handle(dissect_SL_RLC_ChannelToAddModList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SIB15_message, create_dissector_handle(dissect_SIB15_message_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_InterFrequencyConfig_NoGap, create_dissector_handle(dissect_InterFrequencyConfig_NoGap_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MBSInterestIndication, create_dissector_handle(dissect_MBSInterestIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SRSPortIndex, create_dissector_handle(dissect_SRSPortIndex_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_PEISubgroupingSupportIndication, create_dissector_handle(dissect_PEISubgroupingSupportIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NeedForGapsInfoNR, create_dissector_handle(dissect_NeedForGapsInfoNR_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NeedForGapNCSGInfoNR, create_dissector_handle(dissect_NeedForGapNCSGInfoNR_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NeedForGapNCSGInfoEUTRA, create_dissector_handle(dissect_NeedForGapNCSGInfoEUTRA_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Source_MRB_ID, create_dissector_handle(dissect_MRB_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_PosMeasurementPeriodicityNR_AoA, create_dissector_handle(dissect_PosMeasurementPeriodicityNR_AoA_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_RedCapIndication, create_dissector_handle(dissect_RedCapIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_UL_GapFR2_Config, create_dissector_handle(dissect_UL_GapFR2_Config_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ConfigRestrictInfoDAPS, create_dissector_handle(dissect_ConfigRestrictInfoDAPS_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MulticastF1UContextReferenceCU, create_dissector_handle(dissect_MulticastF1UContextReferenceCU_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_TwoPHRModeMCG, create_dissector_handle(dissect_TwoPHRModeMCG_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_TwoPHRModeSCG, create_dissector_handle(dissect_TwoPHRModeSCG_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ncd_SSB_RedCapInitialBWP_SDT, create_dissector_handle(dissect_Ncd_SSB_RedCapInitialBWP_SDT_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_nrofSymbolsExtended, create_dissector_handle(dissect_NrofSymbolsExtended_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_repetitionFactorExtended, create_dissector_handle(dissect_RepetitionFactorExtended_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_startRBHopping, create_dissector_handle(dissect_StartRBHopping_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_startRBIndex, create_dissector_handle(dissect_StartRBIndex_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ServCellInfoList, create_dissector_handle(dissect_ServCellInfoList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Preconfigured_measurement_GAP_Request, create_dissector_handle(dissect_Preconfigured_measurement_GAP_Request_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_BWP_Id, create_dissector_handle(dissect_BWP_Id_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ExtendedResourceSymbolOffset, create_dissector_handle(dissect_ExtendedResourceSymbolOffset_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NeedForInterruptionInfoNR, create_dissector_handle(dissect_NeedForInterruptionInfoNR_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MusimCapabilityRestrictionIndication, create_dissector_handle(dissect_MusimCapabilityRestrictionIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_duplicationIndication, create_dissector_handle(dissect_DuplicationIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_dRB_List, create_dissector_handle(dissect_DRB_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ChannelOccupancyTimePercentageUL, create_dissector_handle(dissect_ChannelOccupancyTimePercentage_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_RadioResourceStatusNR_U, create_dissector_handle(dissect_RadioResourceStatusNR_U_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_FiveG_ProSeLayer2Multipath, create_dissector_handle(dissect_FiveG_ProSeLayer2Multipath_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_FiveG_ProSeLayer2UEtoUERelay, create_dissector_handle(dissect_FiveG_ProSeLayer2UEtoUERelay_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_FiveG_ProSeLayer2UEtoUERemote, create_dissector_handle(dissect_FiveG_ProSeLayer2UEtoUERemote_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Recommended_SSBs_List, create_dissector_handle(dissect_Recommended_SSBs_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SSBs_withinTheCell_tobe_Activated_List, create_dissector_handle(dissect_SSBs_toBeActivated_List_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Coverage_Modification_Cause, create_dissector_handle(dissect_CCO_issue_detection_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_TSCTrafficCharacteristicsFeedback, create_dissector_handle(dissect_TSCTrafficCharacteristicsFeedback_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_RANfeedbacktype, create_dissector_handle(dissect_RANfeedbacktype_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Mobile_TRP_LocationInformation, create_dissector_handle(dissect_Mobile_TRP_LocationInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_Mobile_IAB_MT_UE_ID, create_dissector_handle(dissect_Mobile_IAB_MT_UE_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MobileAccessPointLocation, create_dissector_handle(dissect_Mobile_TRP_LocationInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_F1UTunnelNotEstablished, create_dissector_handle(dissect_F1UTunnelNotEstablished_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SIB24_message, create_dissector_handle(dissect_SIB24_message_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_PDUSetQoSParameters, create_dissector_handle(dissect_PDUSetQoSParameters_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_N6JitterInformation, create_dissector_handle(dissect_N6JitterInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ECNMarkingorCongestionInformationReportingRequest, create_dissector_handle(dissect_ECNMarkingorCongestionInformationReportingRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ECNMarkingorCongestionInformationReportingStatus, create_dissector_handle(dissect_ECNMarkingorCongestionInformationReportingStatus_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ERedcap_Bcast_Information, create_dissector_handle(dissect_ERedcap_Bcast_Information_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SCPAC_Request, create_dissector_handle(dissect_SCPAC_Request_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MobileIAB_Barred, create_dissector_handle(dissect_MobileIAB_Barred_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_S_CPACLowerLayerReferenceConfigRequest, create_dissector_handle(dissect_S_CPACLowerLayerReferenceConfigRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MusimCandidateBandList, create_dissector_handle(dissect_MusimCandidateBandList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_PSIbasedSDUdiscardUL, create_dissector_handle(dissect_PSIbasedSDUdiscardUL_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SIB22_message, create_dissector_handle(dissect_SIB22_message_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SL_PHY_MAC_RLC_ConfigExt, create_dissector_handle(dissect_SL_PHY_MAC_RLC_ConfigExt_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_BW_Aggregation_Request_Indication, create_dissector_handle(dissect_BW_Aggregation_Request_Indication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_TimingReportingGranularityFactorExtended, create_dissector_handle(dissect_TimingReportingGranularityFactorExtended_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_PosValidityAreaCellList, create_dissector_handle(dissect_PosValidityAreaCellList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SymbolIndex, create_dissector_handle(dissect_SymbolIndex_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_PRSBandwidthAggregationRequestIndication, create_dissector_handle(dissect_PRSBandwidthAggregationRequestIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_AggregatedPosSRSResourceIDList, create_dissector_handle(dissect_AggregatedPosSRSResourceIDList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_AggregatedPRSResourceSetList, create_dissector_handle(dissect_AggregatedPRSResourceSetList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MeasuredFrequencyHops, create_dissector_handle(dissect_MeasuredFrequencyHops_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_TxHoppingConfiguration, create_dissector_handle(dissect_TxHoppingConfiguration_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_AggregatedPosSRSResourceSetList, create_dissector_handle(dissect_AggregatedPosSRSResourceSetList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_ValidityAreaSpecificSRSInformation, create_dissector_handle(dissect_ValidityAreaSpecificSRSInformation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_E_CID_MeasuredResultsAssociatedInfoList, create_dissector_handle(dissect_E_CID_MeasuredResultsAssociatedInfoList_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_XR_Bcast_Information, create_dissector_handle(dissect_XR_Bcast_Information_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MaxDataBurstVolume, create_dissector_handle(dissect_MaxDataBurstVolume_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_PointA, create_dissector_handle(dissect_PointA_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SCS_SpecificCarrier, create_dissector_handle(dissect_SCS_SpecificCarrier_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_NR_PCI, create_dissector_handle(dissect_NRPCI_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_PeerUE_ID, create_dissector_handle(dissect_PeerUE_ID_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_MeasBasedOnAggregatedResources, create_dissector_handle(dissect_MeasBasedOnAggregatedResources_PDU, proto_f1ap));
  dissector_add_uint("f1ap.extension", id_SIB23_message, create_dissector_handle(dissect_SIB23_message_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_Reset, create_dissector_handle(dissect_Reset_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_Reset, create_dissector_handle(dissect_ResetAcknowledge_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_F1Setup, create_dissector_handle(dissect_F1SetupRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_F1Setup, create_dissector_handle(dissect_F1SetupResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_F1Setup, create_dissector_handle(dissect_F1SetupFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_gNBDUConfigurationUpdate, create_dissector_handle(dissect_GNBDUConfigurationUpdate_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_gNBDUConfigurationUpdate, create_dissector_handle(dissect_GNBDUConfigurationUpdateAcknowledge_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_gNBDUConfigurationUpdate, create_dissector_handle(dissect_GNBDUConfigurationUpdateFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_gNBCUConfigurationUpdate, create_dissector_handle(dissect_GNBCUConfigurationUpdate_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_gNBCUConfigurationUpdate, create_dissector_handle(dissect_GNBCUConfigurationUpdateAcknowledge_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_gNBCUConfigurationUpdate, create_dissector_handle(dissect_GNBCUConfigurationUpdateFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_UEContextSetup, create_dissector_handle(dissect_UEContextSetupRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_UEContextSetup, create_dissector_handle(dissect_UEContextSetupResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_UEContextSetup, create_dissector_handle(dissect_UEContextSetupFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_UEContextRelease, create_dissector_handle(dissect_UEContextReleaseCommand_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_UEContextRelease, create_dissector_handle(dissect_UEContextReleaseComplete_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_UEContextModification, create_dissector_handle(dissect_UEContextModificationRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_UEContextModification, create_dissector_handle(dissect_UEContextModificationResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_UEContextModification, create_dissector_handle(dissect_UEContextModificationFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_UEContextModificationRequired, create_dissector_handle(dissect_UEContextModificationRequired_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_UEContextModificationRequired, create_dissector_handle(dissect_UEContextModificationConfirm_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_UEContextModificationRequired, create_dissector_handle(dissect_UEContextModificationRefuse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_WriteReplaceWarning, create_dissector_handle(dissect_WriteReplaceWarningRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_WriteReplaceWarning, create_dissector_handle(dissect_WriteReplaceWarningResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PWSCancel, create_dissector_handle(dissect_PWSCancelRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_PWSCancel, create_dissector_handle(dissect_PWSCancelResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_ErrorIndication, create_dissector_handle(dissect_ErrorIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_UEContextReleaseRequest, create_dissector_handle(dissect_UEContextReleaseRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_InitialULRRCMessageTransfer, create_dissector_handle(dissect_InitialULRRCMessageTransfer_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_DLRRCMessageTransfer, create_dissector_handle(dissect_DLRRCMessageTransfer_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_ULRRCMessageTransfer, create_dissector_handle(dissect_ULRRCMessageTransfer_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_UEInactivityNotification, create_dissector_handle(dissect_UEInactivityNotification_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_GNBDUResourceCoordination, create_dissector_handle(dissect_GNBDUResourceCoordinationRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_GNBDUResourceCoordination, create_dissector_handle(dissect_GNBDUResourceCoordinationResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_privateMessage, create_dissector_handle(dissect_PrivateMessage_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_SystemInformationDeliveryCommand, create_dissector_handle(dissect_SystemInformationDeliveryCommand_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_Paging, create_dissector_handle(dissect_Paging_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_Notify, create_dissector_handle(dissect_Notify_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_NetworkAccessRateReduction, create_dissector_handle(dissect_NetworkAccessRateReduction_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PWSRestartIndication, create_dissector_handle(dissect_PWSRestartIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PWSFailureIndication, create_dissector_handle(dissect_PWSFailureIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_GNBDUStatusIndication, create_dissector_handle(dissect_GNBDUStatusIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_RRCDeliveryReport, create_dissector_handle(dissect_RRCDeliveryReport_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_F1Removal, create_dissector_handle(dissect_F1RemovalRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_F1Removal, create_dissector_handle(dissect_F1RemovalResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_F1Removal, create_dissector_handle(dissect_F1RemovalFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_TraceStart, create_dissector_handle(dissect_TraceStart_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_DeactivateTrace, create_dissector_handle(dissect_DeactivateTrace_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_DUCURadioInformationTransfer, create_dissector_handle(dissect_DUCURadioInformationTransfer_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_CUDURadioInformationTransfer, create_dissector_handle(dissect_CUDURadioInformationTransfer_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_BAPMappingConfiguration, create_dissector_handle(dissect_BAPMappingConfiguration_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_BAPMappingConfiguration, create_dissector_handle(dissect_BAPMappingConfigurationAcknowledge_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_BAPMappingConfiguration, create_dissector_handle(dissect_BAPMappingConfigurationFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_GNBDUResourceConfiguration, create_dissector_handle(dissect_GNBDUResourceConfiguration_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_GNBDUResourceConfiguration, create_dissector_handle(dissect_GNBDUResourceConfigurationAcknowledge_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_GNBDUResourceConfiguration, create_dissector_handle(dissect_GNBDUResourceConfigurationFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_IABTNLAddressAllocation, create_dissector_handle(dissect_IABTNLAddressRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_IABTNLAddressAllocation, create_dissector_handle(dissect_IABTNLAddressResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_IABTNLAddressAllocation, create_dissector_handle(dissect_IABTNLAddressFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_IABUPConfigurationUpdate, create_dissector_handle(dissect_IABUPConfigurationUpdateRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_IABUPConfigurationUpdate, create_dissector_handle(dissect_IABUPConfigurationUpdateResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_IABUPConfigurationUpdate, create_dissector_handle(dissect_IABUPConfigurationUpdateFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_resourceStatusReportingInitiation, create_dissector_handle(dissect_ResourceStatusRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_resourceStatusReportingInitiation, create_dissector_handle(dissect_ResourceStatusResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_resourceStatusReportingInitiation, create_dissector_handle(dissect_ResourceStatusFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_resourceStatusReporting, create_dissector_handle(dissect_ResourceStatusUpdate_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_accessAndMobilityIndication, create_dissector_handle(dissect_AccessAndMobilityIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_ReferenceTimeInformationReportingControl, create_dissector_handle(dissect_ReferenceTimeInformationReportingControl_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_ReferenceTimeInformationReport, create_dissector_handle(dissect_ReferenceTimeInformationReport_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_accessSuccess, create_dissector_handle(dissect_AccessSuccess_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_cellTrafficTrace, create_dissector_handle(dissect_CellTrafficTrace_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PositioningAssistanceInformationControl, create_dissector_handle(dissect_PositioningAssistanceInformationControl_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PositioningAssistanceInformationFeedback, create_dissector_handle(dissect_PositioningAssistanceInformationFeedback_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PositioningMeasurementExchange, create_dissector_handle(dissect_PositioningMeasurementRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_PositioningMeasurementExchange, create_dissector_handle(dissect_PositioningMeasurementResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_PositioningMeasurementExchange, create_dissector_handle(dissect_PositioningMeasurementFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PositioningMeasurementReport, create_dissector_handle(dissect_PositioningMeasurementReport_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PositioningMeasurementAbort, create_dissector_handle(dissect_PositioningMeasurementAbort_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PositioningMeasurementFailureIndication, create_dissector_handle(dissect_PositioningMeasurementFailureIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PositioningMeasurementUpdate, create_dissector_handle(dissect_PositioningMeasurementUpdate_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_TRPInformationExchange, create_dissector_handle(dissect_TRPInformationRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_TRPInformationExchange, create_dissector_handle(dissect_TRPInformationResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_TRPInformationExchange, create_dissector_handle(dissect_TRPInformationFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PositioningInformationExchange, create_dissector_handle(dissect_PositioningInformationRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_PositioningInformationExchange, create_dissector_handle(dissect_PositioningInformationResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_PositioningInformationExchange, create_dissector_handle(dissect_PositioningInformationFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PositioningActivation, create_dissector_handle(dissect_PositioningActivationRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_PositioningActivation, create_dissector_handle(dissect_PositioningActivationResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_PositioningActivation, create_dissector_handle(dissect_PositioningActivationFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PositioningDeactivation, create_dissector_handle(dissect_PositioningDeactivation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_E_CIDMeasurementInitiation, create_dissector_handle(dissect_E_CIDMeasurementInitiationRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_E_CIDMeasurementInitiation, create_dissector_handle(dissect_E_CIDMeasurementInitiationResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_E_CIDMeasurementInitiation, create_dissector_handle(dissect_E_CIDMeasurementInitiationFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_E_CIDMeasurementFailureIndication, create_dissector_handle(dissect_E_CIDMeasurementFailureIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_E_CIDMeasurementReport, create_dissector_handle(dissect_E_CIDMeasurementReport_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_E_CIDMeasurementTermination, create_dissector_handle(dissect_E_CIDMeasurementTerminationCommand_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PositioningInformationUpdate, create_dissector_handle(dissect_PositioningInformationUpdate_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_BroadcastContextSetup, create_dissector_handle(dissect_BroadcastContextSetupRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_BroadcastContextSetup, create_dissector_handle(dissect_BroadcastContextSetupResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_BroadcastContextSetup, create_dissector_handle(dissect_BroadcastContextSetupFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_BroadcastContextRelease, create_dissector_handle(dissect_BroadcastContextReleaseCommand_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_BroadcastContextRelease, create_dissector_handle(dissect_BroadcastContextReleaseComplete_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_BroadcastContextReleaseRequest, create_dissector_handle(dissect_BroadcastContextReleaseRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_BroadcastContextModification, create_dissector_handle(dissect_BroadcastContextModificationRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_BroadcastContextModification, create_dissector_handle(dissect_BroadcastContextModificationResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_BroadcastContextModification, create_dissector_handle(dissect_BroadcastContextModificationFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_MulticastGroupPaging, create_dissector_handle(dissect_MulticastGroupPaging_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_MulticastContextSetup, create_dissector_handle(dissect_MulticastContextSetupRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_MulticastContextSetup, create_dissector_handle(dissect_MulticastContextSetupResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_MulticastContextSetup, create_dissector_handle(dissect_MulticastContextSetupFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_MulticastContextRelease, create_dissector_handle(dissect_MulticastContextReleaseCommand_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_MulticastContextRelease, create_dissector_handle(dissect_MulticastContextReleaseComplete_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_MulticastContextReleaseRequest, create_dissector_handle(dissect_MulticastContextReleaseRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_MulticastContextModification, create_dissector_handle(dissect_MulticastContextModificationRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_MulticastContextModification, create_dissector_handle(dissect_MulticastContextModificationResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_MulticastContextModification, create_dissector_handle(dissect_MulticastContextModificationFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_MulticastDistributionSetup, create_dissector_handle(dissect_MulticastDistributionSetupRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_MulticastDistributionSetup, create_dissector_handle(dissect_MulticastDistributionSetupResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_MulticastDistributionSetup, create_dissector_handle(dissect_MulticastDistributionSetupFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_MulticastDistributionRelease, create_dissector_handle(dissect_MulticastDistributionReleaseCommand_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_MulticastDistributionRelease, create_dissector_handle(dissect_MulticastDistributionReleaseComplete_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PDCMeasurementInitiation, create_dissector_handle(dissect_PDCMeasurementInitiationRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_PDCMeasurementInitiation, create_dissector_handle(dissect_PDCMeasurementInitiationResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_PDCMeasurementInitiation, create_dissector_handle(dissect_PDCMeasurementInitiationFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PDCMeasurementReport, create_dissector_handle(dissect_PDCMeasurementReport_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PDCMeasurementTerminationCommand, create_dissector_handle(dissect_PDCMeasurementTerminationCommand_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PDCMeasurementFailureIndication, create_dissector_handle(dissect_PDCMeasurementFailureIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_pRSConfigurationExchange, create_dissector_handle(dissect_PRSConfigurationRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_pRSConfigurationExchange, create_dissector_handle(dissect_PRSConfigurationResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_pRSConfigurationExchange, create_dissector_handle(dissect_PRSConfigurationFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_measurementPreconfiguration, create_dissector_handle(dissect_MeasurementPreconfigurationRequired_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_measurementPreconfiguration, create_dissector_handle(dissect_MeasurementPreconfigurationConfirm_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_measurementPreconfiguration, create_dissector_handle(dissect_MeasurementPreconfigurationRefuse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_measurementActivation, create_dissector_handle(dissect_MeasurementActivation_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_QoEInformationTransfer, create_dissector_handle(dissect_QoEInformationTransfer_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_PosSystemInformationDeliveryCommand, create_dissector_handle(dissect_PosSystemInformationDeliveryCommand_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_DUCUCellSwitchNotification, create_dissector_handle(dissect_DUCUCellSwitchNotification_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_CUDUCellSwitchNotification, create_dissector_handle(dissect_CUDUCellSwitchNotification_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_DUCUTAInformationTransfer, create_dissector_handle(dissect_DUCUTAInformationTransfer_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_CUDUTAInformationTransfer, create_dissector_handle(dissect_CUDUTAInformationTransfer_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_QoEInformationTransferControl, create_dissector_handle(dissect_QoEInformationTransferControl_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_RachIndication, create_dissector_handle(dissect_RachIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_TimingSynchronisationStatus, create_dissector_handle(dissect_TimingSynchronisationStatusRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_TimingSynchronisationStatus, create_dissector_handle(dissect_TimingSynchronisationStatusResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_TimingSynchronisationStatus, create_dissector_handle(dissect_TimingSynchronisationStatusFailure_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_TimingSynchronisationStatusReport, create_dissector_handle(dissect_TimingSynchronisationStatusReport_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_MIABF1SetupTriggering, create_dissector_handle(dissect_MIABF1SetupTriggering_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_MIABF1SetupOutcomeNotification, create_dissector_handle(dissect_MIABF1SetupOutcomeNotification_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_MulticastContextNotification, create_dissector_handle(dissect_MulticastContextNotificationIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_MulticastContextNotification, create_dissector_handle(dissect_MulticastContextNotificationConfirm_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_MulticastContextNotification, create_dissector_handle(dissect_MulticastContextNotificationRefuse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_MulticastCommonConfiguration, create_dissector_handle(dissect_MulticastCommonConfigurationRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.sout", id_MulticastCommonConfiguration, create_dissector_handle(dissect_MulticastCommonConfigurationResponse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.uout", id_MulticastCommonConfiguration, create_dissector_handle(dissect_MulticastCommonConfigurationRefuse_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_BroadcastTransportResourceRequest, create_dissector_handle(dissect_BroadcastTransportResourceRequest_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_DUCUAccessAndMobilityIndication, create_dissector_handle(dissect_DUCUAccessAndMobilityIndication_PDU, proto_f1ap));
  dissector_add_uint("f1ap.proc.imsg", id_SRSInformationReservationNotification, create_dissector_handle(dissect_SRSInformationReservationNotification_PDU, proto_f1ap));

}

/*
 * Editor modelines
 *
 * Local Variables:
 * c-basic-offset: 2
 * tab-width: 8
 * indent-tabs-mode: nil
 * End:
 *
 * ex: set shiftwidth=2 tabstop=8 expandtab:
 * :indentSize=2:tabSize=8:noTabs=true:
 */
