<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-avtcore-rtp-vdmc-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="RTP-Payload-VDMC">RTP Payload Format for V-DMC</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-vdmc-03"/>
    <author initials="" surname="HS Yang" fullname="Hyunsik Yang">
      <organization>InterDigital</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>hyunsik.yang@interdigital.com</email>
      </address>
    </author>
    <author initials="X." surname="de Foy" fullname="Xavier de Foy">
      <organization>InterDigital</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>xavier.defoy@interdigital.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="16"/>
    <area>Transport</area>
    <workgroup>avtcore</workgroup>
    <abstract>


<t>This memo outlines RTP payload formats for the Video-based Dynamic Mesh Coding (V-DMC), which comprises several types of components, such as a basemesh, AC-based displacements, 2D representations of attributes, and an atlas. This document focuses on describing the basemesh and displacement, while the RTP payload formats for the atlas and attributes are addressed in other documents. The RTP payload header formats enable the packetization of a basemesh or displacement Network Abstraction Layer (NAL) unit in an RTP packet payload as well as fragmentation of a NAL unit into multiple RTP packets.</t>
    </abstract>
  </front>
  <middle>


<section anchor="introduction">
      <name>Introduction</name>
      <t>The advancements in 3D capture, modeling, and rendering have greatly expanded the presence of 3D content across various platforms and devices. However, when left uncompressed, 3D content can incur considerable costs in terms of storage and transmission.</t>
      <t>In response to this challenge, a visual volumetric video-based coding (V3C) standard <xref target="ISO.IEC.23090-05"/> has been developed to cater to the growing demand for efficient handling of 3D content. V3C is a generic mechanism for volumetric video coding, and it can be used by applications targeting volumetric content. A high-level description of V3C is provided by <xref target="RFC10034"/>. V3C applications today target volumetric data types such as point clouds with Video-based Point Cloud Compression (V-PCC)<xref target="ISO.IEC.23090-05"/> and immersive video with depth, with MPEG Immersive Video (MIV) <xref target="ISO.IEC.23090-12"/>.</t>
      <t>3D mesh is another widely utilized technology for representing immersive content. 3D meshes are continuously evolving to become more sophisticated, inevitably leading to an increase in mesh size. Additionally, dynamic mesh sequences demand substantial data volumes due to the significant amount of temporal information they contain. With respect to this evolution, the V-DMC standard has been developed to facilitate the compression of 3D mesh data using the V3C standard <xref target="ISO.IEC.23090-05"/>.</t>
      <t>V-DMC is a V3C application which consists of several V3C sub-components: Atlas, Attributes, Basemesh, and AC-based Displacement. The RTP payloads for the Atlas and Attributes sub-components are described in <xref target="RFC10034"/>, which defines an RTP payload format for the Atlas sub-component, and refers to existing 2D video RTP payload formats for attributes. In contrast, the Basemesh sub-component in V-DMC utilizes a new codec defined in appendix H of <xref target="ISO.IEC.23090-29"/>, requiring the definition of a new RTP payload. The AC-based displacement sub-component may be coded using Arithmetic Coding (AC) as specified in appendix J of <xref target="ISO.IEC.23090-29"/>, thus requiring the definition of a new RTP payload for AC-based displacement. The displacement sub-component may alternatively be coded using a 2D video codec, and in this case may be transported using 2D video RTP payload formats, (e.g., <xref target="RFC9328"/>, <xref target="RFC7798"/>). Therefore, this memo describes RTP payload headers for the basemesh codec and the AC-based displacement codec defined by MPEG in <xref target="ISO.IEC.23090-29"/> (appendix H and J, respectively).</t>
      <t>Furthermore, the basemesh and AC-based displacement RTP payload formats defined in this memo, and their codecs defined in <xref target="ISO.IEC.23090-29"/> appendix H and J respectively, can also be used in a non-V-DMC context. This document followed recommendations in <xref target="RFC8088"/> and <xref target="RFC2736"/> for RTP payload format writers.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
      <t>All fields defined in this specification related to RTP payload structures SHALL be considered in network order.</t>
    </section>
    <section anchor="definition-and-abbreviations">
      <name>Definition, and abbreviations</name>
      <section anchor="general">
        <name>General</name>
        <t>This document uses the definitions of the Video-based dynamic mesh coding <xref target="ISO.IEC.23090-29"/>. Some of these terms are provided here for convenience.</t>
      </section>
      <section anchor="definitions-from-the-v-dmc-specification">
        <name>Definitions from the V-DMC specification</name>
        <t>The following definitions are added to the ones found in section 3.1.2 of <xref target="RFC10034"/>.</t>
        <t>attribute map : image for mapping an attribute into a surface of 3D shape.</t>
        <t>basemesh: a simplified low-resolution approximation of the original mesh.</t>
        <t>displacement : a set of 3D vectors that are added to the vertices of the subdivided mesh to approximate closely the input mesh surface.</t>
        <t>submesh : independently decodable region of a basemesh</t>
        <t>subdisplacement : independently decodable displacement data associated with a submesh</t>
        <t>subdivision : process of dividing the mesh faces into a number of sub-faces</t>
      </section>
      <section anchor="abbreviation">
        <name>Abbreviation</name>
        <t>The following abbreviations are added to the ones found in section 3.2 of <xref target="RFC10034"/>.</t>
        <t>BMD Basemesh Data</t>
        <t>CDS Coded Displacement Sequence</t>
        <t>CBMS Coded BaseMesh Sequence</t>
        <t>LOD Level Of Detail</t>
        <t>V-DMC Video-based Dynamic Mesh Coding</t>
        <t>VDMCD Video-based Dynamic Mesh Coding Displacement</t>
      </section>
    </section>
    <section anchor="vdmc-format-dsecription">
      <name>V-DMC format Description</name>
      <section anchor="overview-of-v-dmc-informative">
        <name>Overview of V-DMC (informative)</name>
        <t>V-DMC is a V3C application, which uses the framework described in section 4 of <xref target="RFC10034"/>. As such, a V-DMC encoder converts a 3D representation into multiple representations, the V3C components, and generates associated data, the atlas, which documents this conversion and enables the reconstruction of the 3D representation by a decoder.</t>
        <t>The other V3C components used in V-DMC are a basemesh, AC-based displacement, and attributes providing properties such as mesh and connectivity information, vertex displacement information and texture or material information respectively. <xref target="_figure-v-dmc-structure"/> represents the 4 types of V3C components altogether used in V-DMC, including these V3C video components and the V3C atlas component.</t>
        <t>The basemesh component represents a simplified version of the detailed mesh describing the object. The simplified mesh can be encoded using any mesh codec. <xref target="ISO.IEC.23090-29"/> defines a static mesh codec that can used by the generic mechanism of the basemesh codec defined in <xref target="ISO.IEC.23090-29"/>. The AC-based displacement component provides displacement information which should be applied to the subdivided basemesh to obtain a detailed mesh. The displacement component can be encoded either using an arithmetic displacement codec described in <xref target="ISO.IEC.23090-29"/>, or alternatively it can be encoded as a V3C geometry video component i.e., V3C_GVD using any 2D video codec, indicated by the profile or using an SEI message. The attribute components can provide additional properties such as texture or material information and can be encoded by any video codec. Atlas component provides information to a V3C decoding and rendering system on how to perform inverse reconstruction. The atlas component codec is described in <xref target="ISO.IEC.23090-05"/> and an extension of the V3C atlas codec for V-DMC is described in <xref target="ISO.IEC.23090-29"/>.</t>
        <figure anchor="_figure-v-dmc-structure">
          <name>V-DMC streaming structure</name>
          <artwork><![CDATA[
+------------+ Atlas        +------------+
|   Atlas    | sub-bitstream|   Atlas    |
|  encoder   | ------------>|  decoder   |
+------------+              +------------+
+------------+ BaseMesh     +------------+
|  BaseMesh  | sub-bitstream|  BaseMesh  |
|  encoder   | ------------>|  decoder   |
+------------+              +------------+
+------------+ Displacement +------------+
|Displacement| sub-bitstream|Displacement|
|  encoder   | ------------>|  decoder   |
+------------+              +------------+
+------------+ Attribute    +------------+
|   Video    | sub-bitstream|   Video    |
|  encoder   | ------------>|  decoder   |
+------------+              +------------+
]]></artwork>
        </figure>
        <t>Similarly to other V3C applications, in V-DMC, the binary form of the V3C components, i.e., video bitstreams, basemesh bitstream and V3C atlas component, i.e., atlas bitstream, can be grouped and represented by a single V-DMC bitstream. The V-DMC bitstream is composed of a set of V3C units. Each V3C unit has a V3C unit header and a V3C unit payload. The V3C unit header describes the V3C unit type for the payload. V3C unit payload contains V3C video components, V3C non-video components such as basemesh and AC-based displacement, V3C atlas component or a V3C parameter set. V3C components, i.e., basemesh, displacement, or attribute components, correspond to NAL-based data units (e.g., NAL units for basemesh and AC-based displacement are defined in <xref target="ISO.IEC.23090-29"/>). The NAL units for attribute and video-based displacement are defined in the respective specification that could be decoded by appropriate video decoders. An example of V-DMC bitstream consisting of a V3C units for V3C parameter set, atlas bitstream, one video component bitstream (attribute) and two non-video component bitstreams(basemesh, displacement) is provided in <xref target="_figure-v-dmc-bitstream"/>.</t>
        <figure anchor="_figure-v-dmc-bitstream">
          <name>Example of V-DMC bitstream</name>
          <artwork><![CDATA[
  +-------------------+------------------+-------------------+
  | V3C Unit(V3C_VPS) | V3C Unit(V3C_AD) | V3C Unit(V3C_BMD) |
  +-------------------+------------------+-------------------+
  | V3C Unit(V3C_ADD) | V3C Unit(V3C_AVD)| V3C Unit(V3C_CAD) | ...
  +-------------------+------------------+-------------------+ 
]]></artwork>
        </figure>
      </section>
      <section anchor="v3c-parameter">
        <name>V3C Parameter set for V-DMC</name>
        <t>The V3C parameter set(VPS) is encapsulated in its own V3C unit, which allows decoupling the transmission of the V3C parameter set from the V3C video, non-video and atlas components. The VPS may be transmitted by external means (e.g., as a result of the capability exchange) or through a (reliable or unreliable) control protocol. Section 9 of <xref target="RFC10034"/> provides information on how a V3C parameter set may be signaled as part of session description protocol.</t>
        <t>V-DMC, since it is a V3C application, uses the V3C parameter set and extends it with additional parameters, defined in <xref target="ISO.IEC.23090-29"/>. Section 9 of this memo provides information on these additional parameters and their signaling in SDP. V3C parameter set signaling in V-DMC may include V3C parameters described in section 9 of <xref target="RFC10034"/> and in the section 9 of this memo.</t>
      </section>
      <section anchor="section4">
        <name>Atlas, Video and non-Video Components for V-DMC (informative)</name>
        <t>In a V-DMC bitstream the atlas component is identified by a vuh_unit_type field equal to V3C_AD, in the V3C unit header. The atlas component consists of atlas NAL units that define header and payload pairs, see <xref target="atlas-nal"/>. V-DMC video components are identified by a vuh_unit_type field equal to V3C_GVD or V3C_AVD. The base mesh information is present in a non-video component identified by vuh_unit_type equal to V3C_BMD, which consists of basemesh NAL units that define header and payload pairs, see <xref target="basemesh-nal"/>. The AC-based displacement information is present in a non-video component identified by vuh_unit_type equal to V3C_ADD. The component identified by vuh_unit_type equal to V3C_ADD consists of displacement NAL units that define header and payload pairs, see <xref target="displ-nal"/>. The V3C video attribute components with vuh_unit_type equal to V3C_AVD can be further differentiated by other fields in the V3C unit header such as vuh_attribute_index, vuh_attribute_partition_index, vuh_map_index and vuh_auxiliary_video_flag, which are described further below. By mapping V3C parameter set information to vuh_attribute_index, a V3C decoder identifies which attribute a given V3C video component contains, e.g., color.</t>
        <t>The information supplied by a V3C unit header should be provided in one form or another to a V3C decoder, e.g., as part of SDP as described in this memo in <xref target="session-descp"/> or in-band. The four-byte V3C unit header syntax and semantics are copied below as defined in <xref target="ISO.IEC.23090-29"/>, but the syntax is subject to change. Implementations should always refer to the latest specification of <xref target="ISO.IEC.23090-29"/>. The syntax of four-byte V3C unit header is provided here for informative purposes only.</t>
        <artwork><![CDATA[
   v3c_unit_header( ) {
    unsigned int(5) vuh_unit_type;
    if( vuh_unit_type == V3C_AVD || vuh_unit_type == V3C_GVD ||
       vuh_unit_type == V3C_OVD || vuh_unit_type == V3C_AD || 
       vuh_unit_type == V3C_CAD || vuh_unit_type == V3C_PVD || 
       vuh_unit_type == V3C_BMD || vuh_unit_type == V3C_ADD){ 
       unsigned int(4) vuh_v3c_parameter_set_id;
     }
     if( vuh_unit_type == V3C_AVD || vuh_unit_type == V3C_GVD ||
       vuh_unit_type == V3C_OVD || vuh_unit_type == V3C_AD ||
       vuh_unit_type == V3C_PVD || vuh_unit_type == V3C_BMD) ||
       vuh_unit_type == V3C_ADD ) {
       unsigned int(6) vuh_atlas_id;
     }
     if( vuh_unit_type == V3C_AVD ) {
       unsigned int(7) vuh_attribute_index;
       unsigned int(5) vuh_attribute_partition_index;
       unsigned int(4) vuh_map_index;
       unsigned int(1) vuh_auxiliary_video_flag;
     }
     else if( vuh_unit_type == V3C_GVD ) {
       unsigned int(4) vuh_map_index;
       unsigned int(1) vuh_auxiliary_video_flag;
       bit(12) vuh_reserved_zero_12bits;
     }
     else if( vuh_unit_type == V3C_OVD || vuh_unit_type == V3C_AD ||
         vuh_unit_type == V3C_PVD || vuh_unit_type == V3C_BMD ||
         vuh_unit_type == V3C_ADD) {
       bit(17) vuh_reserved_zero_17bits;
     }
     else if( vuh_unit_type == V3C_CAD ) {
       bit(23) vuh_reserved_zero_23bits;
     }
     else {
       bit(27) vuh_reserved_zero_27bits;
     }
   }

]]></artwork>
        <t>vuh_unit_type indicates the V3C unit type for the V3C component as specified in <xref target="ISO.IEC.23090-29"/>. As a convenience, the mapping table from vuh_unit_type values to semantics is copied below in <xref target="_figure-v3ctype"/>.</t>
        <figure anchor="_figure-v3ctype">
          <name>V3C component for V-DMC</name>
          <artwork><![CDATA[
+--------+----------+--------------------+------------------------+
|vuh unit|Identifier|    V3C unit type   |     Description        |
|  type  |          |                    |                        |
+--------+----------+--------------------+------------------------+
|   0    | V3C_VPS  |  V3C parameter set |   V3C level parameters |
+--------+----------+--------------------+------------------------+
|   1    | V3C_AD   |     Atlas data     |   Atlas information    |
+--------+----------+--------------------+------------------------+
|   2    | V3C_OVD  |Occupancy video data|   (Not used in V-DMC)  |
+--------+----------+--------------------+------------------------+
|   3    | V3C_GVD  |Geometry video data |Displacement information|
|        |          |                    |(Displacement when      |
|        |          |                    |using a video-based     |
|        |          |                    |codec)                  |
+--------+----------+--------------------+------------------------+
|   4    | V3C_AVD  |Attribute video data|  Attribute information |
+--------+----------+--------------------+------------------------+
|   5    | V3C_PVD  | Packed video data  |Contains rectangular    |
|        |          |                    |regions                 |
+--------+----------+--------------------+------------------------+
|   6    | V3C_CAD  | Common atlas data  |   (Not used in V-DMC)  |
+--------+----------+--------------------+------------------------+
|   7    | V3C_BMD  |   Basemesh data    |  Basemesh information  |
+--------+----------+--------------------+------------------------+
|        | V3C_ADD  |  Arithmetic coded  |Displacement information|
|   8    |          | displacement data  |                        |
+--------+----------+--------------------+------------------------+

]]></artwork>
        </figure>
        <t>vuh_v3c_parameter_set_id specifies the value of
   vps_v3c_parameter_set_id for the active V3C VPS.</t>
        <t>vuh_atlas_id specifies the ID of the atlas that corresponds to the
   current V3C unit.</t>
        <t>vuh_attribute_index indicates the index of the attribute data carried
   in the Attribute Video Data unit.</t>
        <t>vuh_attribute_partition_index indicates the index of the attribute
   dimension group carried in the attribute video data unit.</t>
        <t>vuh_map_index when present indicates the map index of the current
   geometry or attribute stream.  When not present, the map index of the
   current geometry or attribute sub-bitstream is derived based on the
   type of the sub-bitstream.</t>
        <t>vuh_auxiliary_video_flag equal indicates if the associated geometry
   or attribute video data unit is a RAW and/or EOM coded points video
   only sub-bitstream.</t>
        <section anchor="atlas-nal">
          <name>Atlas NAL units</name>
          <t>The atlas component provides information to a V3C decoding and/or rendering system on how to perform inverse reconstruction. V-DMC uses an atlas component based on the V3C atlas, including new V-DMC specific parameters defined in <xref target="ISO.IEC.23090-29"/>, which do not impact the payload format. For example, the V-DMC atlas component indicates how to perform the subdivision of the basemesh, how to apply the AC-based displacement information to the subdivided mesh vertices and how to apply attributes to the reconstructed mesh.</t>
          <t>The V3C atlas RTP payload format described in <xref target="ISO.IEC.23090-05"/> can be used to transport the V-DMC atlas component. Section 4.3.2 of <xref target="RFC10034"/> includes a copy of the syntax and semantics of the V3C atlas NAL unit.</t>
        </section>
        <section anchor="basemesh-nal-units">
          <name>Basemesh NAL units</name>
          <t>The basemesh component is a simplified low-resolution approximation of the original mesh. The basemesh component can be encoded using any mesh codec, including the basemesh codec described in <xref target="ISO.IEC.23090-29"/>. When employing the basemesh codec described in <xref target="ISO.IEC.23090-29"/>, data can be transmitted using the RTP payload format specified in <xref target="section5"/>.</t>
          <t>The basemesh NAL unit (nal_unit(BmNumBytesInNalUnit)) is a byte-aligned syntax structure defined by <xref target="ISO.IEC.23090-29"/> to carry base mesh data. A basemesh NAL unit always contains a 16-bit NAL unit header (bmesh_nal_unit_header()), which indicates among other things the type of the NAL unit (bmesh_nal_unit_type). The payload of a NAL unit refers to the NAL unit excluding the NAL unit header. The basemesh NAL unit syntax and semantics are copied here as defined in <xref target="ISO.IEC.23090-29"/>.</t>
          <artwork><![CDATA[
bmesh_nal_unit_header( ) {
    bit(1) bmesh_nal_forbidden_zero_bit
    bit(6) bmesh_nal_unit_type
    bit(6) bmesh_nal_layer_id
    bit(3) bmesh_nal_temporal_id_plus1
}
nal_unit(BmNumBytesInNalUnit){
    bmesh_nal_unit_header();
    BmNumBytesInRbsp = 0;
    for( i = 2; i < BmNumBytesInNalUnit; i++ )
      bit(8) rbsp_byte[ BmNumBytesInRbsp++ ];
}
]]></artwork>
          <t>bmesh_nal_forbidden_zero_bit MUST be equal to 0.</t>
          <t>bmesh_nal_unit_type specifies the type of the RBSP data structure contained in the NAL unit as specified in <xref target="ISO.IEC.23090-29"/>. In particular, the basemesh NAL unit types supported are specified in Table H.1 of  <xref target="ISO.IEC.23090-29"/>.</t>
          <t>bmesh_nal_layer_id specifies the identifier of the layer to which an BMCL NAL unit belongs or the identifier of a layer to which a non-BMCL NAL unit applies. The value of bmesh_nal_layer_id shall be in the range of 0 to 62, inclusive.</t>
          <t>bmesh_nal_temporal_id_plus1 minus 1 specifies a temporal identifier for the NAL unit. The value of nal_temporal_id_plus1 shall not be equal to 0.</t>
        </section>
        <section anchor="ac-based-displacement-nal-units">
          <name>AC-based Displacement NAL units</name>
          <t>The displacement component provides displacement information, that are used to apply deformation on a mesh over time. The displacement component can be encoded using the arithmetic codec defined in Annex J of <xref target="ISO.IEC.23090-29"/>, or alternatively can be encoded as V3C geometry video component using traditional 2D video codec, when employing a 2D codec, data can be transmitted using the RTP payload format specified for the codec. When employing the arithmetic codec defined in Annex J of <xref target="ISO.IEC.23090-29"/>, data can be transmitted using the RTP payload format specified in <xref target="section6"/>.</t>
          <t>The displacement NAL unit (nal_unit(NumBytesInNalUnit)) is a byte-aligned syntax structure defined by <xref target="ISO.IEC.23090-29"/> to carry displacement data. A displacement NAL unit always contains a 16-bit NAL unit header (displ_nal_unit_header()), which indicates among other things the type of the NAL unit (displ_nal_unit_type). The payload of a NAL unit refers to the NAL unit excluding the NAL unit header.  The displacement NAL unit syntax and semantics are copied here as defined in <xref target="ISO.IEC.23090-29"/>.</t>
          <artwork><![CDATA[
displ_nal_unit_header( ) {
    bit(1) displ_nal_forbidden_zero_bit
    bit(6) displ_nal_unit_type
    bit(6) displ_nal_layer_id
    bit(3) displ_nal_temporal_id_plus1
}
nal_unit(NumBytesInNalUnit){
    displ_nal_unit_header();
    NumBytesInRbsp = 0;
    for( i = 2; i < NumBytesInNalUnit; i++ )
      bit(8) rbsp_byte[ NumBytesInRbsp++ ];
}
]]></artwork>
          <t>displ_nal_forbidden_zero_bit MUST be equal to 0.</t>
          <t>displ_nal_unit_type specifies the type of the RBSP data structure contained in the NAL unit as specified in <xref target="ISO.IEC.23090-29"/>. In particular, the AC-based displacement NAL unit types supported are specified in Table J.1 of  <xref target="ISO.IEC.23090-29"/>.</t>
          <t>displ_nal_layer_id is specifies the identifier of the layer to which an DCL NAL unit belongs or the identifier of a layer to which a non-DCL NAL unit applies. The value of displ_nal_layer_id shall be in the range of 0 to 62, inclusive.</t>
          <t>displ_nal_temporal_id_plus1 is minus 1 specifies a temporal identifier for the NAL unit. The value of
nal_temporal_id_plus1 shall not be equal to 0.</t>
        </section>
      </section>
    </section>
    <section anchor="section5">
      <name>Payload format for V-DMC Basemesh</name>
      <section anchor="general-1">
        <name>General</name>
        <t>This section describes details related to the RTP payload format definitions for the V-DMC basemesh codec defined in Annex H of <xref target="ISO.IEC.23090-29"/>. Aspects related to RTP header, RTP payload header and general payload structure are considered.</t>
      </section>
      <section anchor="rtp-header-usage">
        <name>RTP header Usage</name>
        <t>The RTP header is defined in <xref target="RFC3550"/> and represented in <xref target="_figure-rtpheader"/>. Some of the header field values are interpreted as follows.</t>
        <figure anchor="_figure-rtpheader">
          <name>RTP header for V-DMC Basemesh</name>
          <artwork><![CDATA[
   0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|X|  CC   |M|     PT      |       sequence number         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           timestamp                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           synchronization source (SSRC) identifier            |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
   |            contributing source (CSRC) identifiers             |
   |                             ....                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   
]]></artwork>
        </figure>
        <t>Marker bit (M): 1 bit</t>
        <t>Set for the last packet of the access unit, carried in the current
   RTP stream.  This is in line with the normal use of the M bit in
   video formats to allow an efficient playout buffer handling.</t>
        <t>Payload type (PT): 7 bits</t>
        <t>The assignment of a payload type MUST be performed either through the profile used or in a dynamic way.</t>
        <t>Sequence Number (SN): 16 bits</t>
        <t>Set and used in accordance with <xref target="RFC3550"/></t>
        <t>Timestamp : 32 bits</t>
        <t>The RTP timestamp is set to the sampling timestamp of the content.  A
   90 kHz clock rate MUST be used.</t>
        <t>If the NAL unit has no timing properties of its own (e.g., 
   set and SEI NAL units), the RTP timestamp MUST be set to the RTP 
   timestamp of the coded basemesh of the access unit in which the NAL
   unit (according to Section H of <xref target="ISO.IEC.23090-29"/> is included.</t>
        <t>Receivers MUST use the RTP timestamp for the display process, even
   when the bitstream contains basemesh frame timing SEI messages as
   specified in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>Synchronization source (SSRC): 32 bits</t>
        <t>Used to identify the source of the RTP packets. By definition a
   single SSRC is used for all parts of a single bitstream. 
   The remaining RTP header fields are used as specified in <xref target="RFC3550"/>.</t>
      </section>
      <section anchor="basemesh-nal">
        <name>RTP payload header for Basemesh</name>
        <t>The RTP Payload Header follows the RTP header. <xref target="_figure-rtpheader-base"/> describes RTP Payload Header.</t>
        <figure anchor="_figure-rtpheader-base">
          <name>RTP Payload header for Basemesh</name>
          <artwork><![CDATA[
      0                   1
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |F|    NUT    |    NLI    | TID |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>F : bmesh_nal_forbidden_zero_bit specified in <xref target="ISO.IEC.23090-29"/> MUST be equal to 0.</t>
        <t>NUT : bmesh_nal_unit_type as specified in <xref target="ISO.IEC.23090-29"/> define the type of the RBSP data structure contained in the NAL unit as specified in <xref target="ISO.IEC.23090-29"/>. In particular, the basemesh NAL unit types supported are specified in Table H.1 of <xref target="ISO.IEC.23090-29"/>.</t>
        <t>NLI : bmesh_nal_layer_id as specified in <xref target="ISO.IEC.23090-29"/> defines the identifier of the layer to which an BMCL NAL unit belongs or the identifier of a layer to which a non-BMCL NAL unit applies. The value of nal_layer_id shall be in the range of 0 to 62, inclusive.</t>
        <t>TID : bmesh_nal_temporal_id_plus1 minus 1 as specified in <xref target="ISO.IEC.23090-29"/> defines a temporal identifier for the NAL unit. The value of bmesh_nal_temporal_id_plus1 shall not be equal to 0.</t>
      </section>
      <section anchor="payload-structures">
        <name>Payload structures</name>
        <section anchor="general-2">
          <name>General</name>
          <t>Three different types of RTP packet payload structures are specified. A receiver can identify the payload structure by the first two bytes of the RTP packet payload, which co-serves as the RTP payload header. These two bytes are always structured as a NAL unit header. The NAL unit type field indicates which structure is present in the payload.</t>
          <t>The three different payload structures are as follows:</t>
          <t>Single NAL Unit Packet: Contains a single NAL unit in the payload. This payload structure is specified in <xref target="bmesh-single"/>.</t>
          <t>Aggregation Packet: Contains multiple NAL units in a single RTP payload. This payload structure is specified in <xref target="bmesh-aggr"/>.</t>
          <t>Fragmentation Unit: Contains a subset of a single NAL unit. This payload structure is specified in <xref target="bmesh-frag"/>.</t>
          <t>NOTE: (informative) This memo does not limit the size of NAL units encapsulated in NAL unit packets and fragmentation units. <xref target="ISO.IEC.23090-29"/> does not restrict the maximum size of a NAL unit directly either. Instead, a NAL unit sample stream format may be used, which provides flexibility to signal NAL unit size up to UINT64_MAX bytes.</t>
        </section>
        <section anchor="bmesh-single">
          <name>Single NAL unit packet</name>
          <t>Single NAL unit packet contains exactly one NAL unit and consists of an RTP payload header and following conditional fields: 16-bit DONL and 16-bit bmesh-sm-id. The rest of the payload data contains the NAL unit payload data (excluding the NAL unit header). Single NAL unit packet MUST only contain basemesh NAL units of the types defined in Table H.1 of <xref target="ISO.IEC.23090-29"/>. The structure of the single NAL unit packet is shown below in <xref target="_figure-bsnal-unit"/>.</t>
          <figure anchor="_figure-bsnal-unit">
            <name>Single NAL unit packet for Basemesh</name>
            <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |      RTP payload header       |      DONL (conditional)       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |       bmesh-sm-id (cond)      |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
  |                                                               |
  |                        NAL unit data                          |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               :...OPTIONAL RTP padding        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>RTP payload header MUST be an exact copy of the NAL unit header of the contained NAL unit.</t>
          <t>A NAL unit stream composed by de-packetizing single NAL unit packets in RTP sequence number order MUST conform to the NAL unit decoding order, when DONL is not present.</t>
          <t>The DONL field, when present, specifies the value of the 16-bit decoding order number of the contained NAL unit. If sprop-max-don-diff is greater than 0 for any of the RTP streams, the DONL field MUST be present, and the variable DONL for the contained NAL unit is derived as equal to the value of the DONL field. Otherwise (sprop-max-don-diff is equal to 0 for all the RTP streams), the DONL field MUST NOT be present.</t>
          <t>The bmesh-sm-id field, when present, specifies the 16-bit submesh identifier for the NAL unit, as signaled in basemesh header defined in <xref target="ISO.IEC.23090-29"/>. If sprop-bmesh-sm-id-pres is equal to 1 and RTP payload header NUT is in range 0-29, inclusive, the bmesh-sm-id field MUST be present. Otherwise, the bmesh-sm-id field MUST NOT be present.</t>
          <t>NOTE: (informative) Only values for NAL unit type (NUT) in range 0-29, inclusive, are allocated for bash mesh submesh layer unit data in <xref target="ISO.IEC.23090-29"/>.</t>
        </section>
        <section anchor="bmesh-aggr">
          <name>Aggregation packet</name>
          <t>Aggregation Packets (APs) enable the reduction of packetization overhead for small NAL units, such as most of the non-BMCL NAL units, which are often only a few octets in size.</t>
          <t>Aggregation packets MAY be used wrap multiple NAL units belonging to the same access unit in a single RTP payload. The first two bytes of the AP MUST contain RTP payload header. The NAL unit type (NUT) for the NAL unit header contained in the RTP payload header MUST be equal to 45, which falls in the unspecified range of the NAL unit types defined in <xref target="ISO.IEC.23090-29"/>. AP MAY contains a conditional bmesh-sm-id field. AP MUST contain two or more aggregation units. The structure of AP is shown in <xref target="_figure-bsnal-ap"/>.</t>
          <figure anchor="_figure-bsnal-ap">
            <name>Aggregation Packet (AP) for Basemesh</name>
            <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  RTP payload header (NUT=45)  |       bmesh-sm-id (cond)      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  |                  Two or more aggregation units                |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               :...OPTIONAL RTP padding        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>The fields in the payload header are set as follows. The F bit MUST be equal to 0 if the F bit of each aggregated NAL unit is equal to zero; otherwise, it MUST be equal to 1. The NUT field MUST be equal to 45. The value of NLI MUST be equal to the lowest value of NLI of all the aggregated NAL units. The value of TID MUST be the lowest value of TID of all the aggregated NAL units.</t>
          <t>All BMCL NAL units in an aggregation packet have the same TID value since they belong to the same access unit. However, the packet MAY contain non-BMCL NAL units for which the TID value in the NAL unit header MAY be different than the TID value of the BMCL NAL units in the same AP.</t>
          <t>The bmesh-sm-id field, when present, specifies the 16-bit basemesh identifier for all BMCL NAL units in the AP. If sprop-bmesh-sm-id-pres is equal to 1, the bmesh-sm-id field MUST be present. Otherwise, the bmesh-sm-id field MUST NOT be present.</t>
          <t>AP MUST carry at least two aggregation units (AU) and can carry as many aggregation units as necessary. However, the total amount of data in an AP MUST fit into an IP packet, and the size SHOULD be chosen so that the resulting IP packet is smaller than the MTU size so to avoid IP layer fragmentation. The structure of the AU depends both on the presence of the decoding order number, the sequence order of the AU in the AP and the presence of bmesh-sm-id field. The structure of an AU is shown in <xref target="_figure-ap-unit"/>.</t>
          <figure anchor="_figure-ap-unit">
            <name>Aggregation Unit (AU) for Basemesh</name>
            <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  DOND (cond)  /  DONL (cond)  |       bmesh-sm-id (cond)      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |            NALU size          |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
  |                                                               |
  |                            NAL unit                           |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>If sprop-max-don-diff is greater than 0 for any of the RTP streams, an AU begins with the DOND / DONL field. The first AU in the AP contains DONL field, which specifies the 16-bit value of the decoding order number of the aggregated NAL unit. The variable DON for the aggregated NAL unit is derived as equal to the value of the DONL field. All subsequent AUs in the AP MUST contain an (8-bit) DOND field, which specifies the difference between the decoding order number values of the current aggregated NAL unit and the preceding aggregated NAL unit in the same AP. The variable DON for the aggregated NAL unit is derived as equal to the DON of the preceding aggregated NAL unit in the same AP plus the value of the DOND field plus 1 modulo 65536.</t>
          <t>When sprop-max-don-diff is equal to 0 for all the RTP streams, DOND / DONL fields MUST NOT be present in an aggregation unit. The aggregation units MUST be stored in the aggregation packet so that the decoding order of the containing NAL units is preserved. This means that the first aggregation unit in the aggregation packet SHOULD contain the NAL unit that SHOULD be decoded first.</t>
          <t>If sprop-bmesh-sm-id-pres is equal to 2 and the AU NAL unit header type is in range 0-29, inclusive, the 16-bit bmesh-sm-id field MUST be present in the aggregation unit after the conditional DOND/DONL field. Otherwise bmesh-sm-id field MUST NOT be present in the aggregation unit.</t>
          <t>The conditional fields of the aggregation unit are followed by a 16-bit NALU size field, which provides the size of the NAL unit (in bytes) in the aggregation unit. The remainder of the data in the aggregation unit SHOULD contain the NAL unit (including the unmodified NAL unit header).</t>
        </section>
        <section anchor="bmesh-frag">
          <name>Fragmentation unit</name>
          <t>Fragmentation Units (FUs) are introduced to enable fragmenting a single NAL unit into multiple RTP packets, possibly without co-operation or knowledge of the encoder. A fragment of a NAL unit consists of an integer number of consecutive octets of that NAL unit. Fragments of the same NAL unit MUST be sent in consecutive order with ascending RTP sequence numbers (with no other RTP packets within the same RTP stream being sent between the first and last fragments.</t>
          <t>When a NAL unit is fragmented and conveyed within FUs, it is referred to as a fragmented NAL unit. Aggregation packets MUST NOT be fragmented. FUs MUST NOT be nested; i.e., an FU MUST NOT contain a subset of another FU. The RTP header timestamp of an RTP packet carrying an FU is set to the NALU-time of the fragmented NAL unit.</t>
          <t>A FU consists of an RTP payload header with the NUT field set to 46, an 8-bit FU header, a conditional 16-bit DONL field, a conditional 16-bit bmesh-sm-id field and an FU payload. The structure of an FU is illustrated below in <xref target="_figure-aggr-unit"/>.</t>
          <figure anchor="_figure-aggr-unit">
            <name>Fragmentation Unit for Basemesh</name>
            <artwork><![CDATA[
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  RTP payload header (NUT=46)  |   FU header   |  DONL (cond)  |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  DONL (cond)  |    bmesh-sm-id  (cond)        |               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
 |                                                               |
 |                          FU payload                           |
 |                                                               |
 |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               :...OPTIONAL RTP padding        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>When a basemesh NAL unit is fragmented over multiple RTP packets, the payload header fields that describe the original NAL unit or its associated V-DMC component SHALL have the same values in all fragments of that NAL unit.  Only fields that are specific to the fragmentation process, such as the start and end indications of a Fragmentation Unit, may differ between fragments.</t>
        </section>
      </section>
      <section anchor="packetization-and-de-packetization-rules">
        <name>Packetization and De-packetization Rules</name>
        <t>The following packetization rules apply for V-DMC data:</t>
        <ul spacing="normal">
          <li>
            <t>If sprop-max-don-diff is greater than 0 for any of the RTP streams, the transmission order of NAL units carried in the RTP stream MAY be different than the NAL unit decoding order and the NAL unit output order. Otherwise (sprop-max-don-diff is equal to 0 for all the RTP streams), the transmission order of NAL units carried in the RTP stream MUST be the same as the NAL unit decoding order.</t>
          </li>
          <li>
            <t>A NAL unit of a small size SHOULD be encapsulated in an aggregation packet together with one or more other NAL units in order to avoid unnecessary packetization overhead for small NAL units. For example, non-BMCL NAL units such as access unit delimiters, parameter sets, or SEI NAL units are typically small and can often be aggregated with BMCL NAL units without violating MTU size constraints.</t>
          </li>
          <li>
            <t>Each non-BMCL NAL unit SHOULD, when possible, from an MTU size perspective, be encapsulated in an aggregation packet together with its associated BMCL NAL unit, as typically a non-BMCL NAL unit would be meaningless without the associated BMCL NAL unit being available.</t>
          </li>
          <li>
            <t>For carrying exactly one NAL unit in an RTP packet, a single NAL unit packet MUST be used</t>
          </li>
        </ul>
        <t>The general concept behind de-packetization is to get the NAL units out of the RTP packets in an RTP stream and all RTP streams the RTP stream depend on, if any, and pass them to the decoder in the NAL unit decoding order.
The de-packetization process is implementation dependent. Therefore, the following de-packetization rules SHOULD be taken as an example.</t>
        <ul spacing="normal">
          <li>
            <t>All normal RTP mechanisms related to buffer management apply. In particular, duplicated or outdated RTP packets (as indicated by the RTP sequence number and the RTP timestamp) are removed. To determine the exact time for decoding, factors such as a possible intentional delay to allow for proper inter-stream synchronization must be factored in.</t>
          </li>
          <li>
            <t>NAL units with NAL unit type values in the range of 0 to 44, inclusive, MAY be passed to the decoder. NAL-unit-like structures with NAL unit type values in the range of 45 to 63, inclusive, MUST NOT be passed to the decoder.</t>
          </li>
          <li>
            <t>When sprop-max-don-diff is equal to 0 for the received RTP stream, the NAL units carried in the RTP stream MAY be directly passed to the decoder in their transmission order, which is identical to their decoding order.</t>
          </li>
          <li>
            <t>When sprop-max-don-diff is greater than 0 for any of the received RTP streams, the received NAL units need to be arranged into decoding order before handing them over to the decoder.</t>
          </li>
          <li>
            <t>For further de-packetization examples, the reader is referred to Section 6 of <xref target="RFC7798"/>.</t>
          </li>
        </ul>
        <t>Regarding the packetization of V3C video component data, the respective RTP video payload specification(s) define how packetization and de-packetization SHOULD be handled.</t>
      </section>
    </section>
    <section anchor="section6">
      <name>Payload format for V-DMC Arithmetic-coded Displacement</name>
      <section anchor="general-3">
        <name>General</name>
        <t>This section describes details related to the RTP payload format definitions for the V-DMC arithmetic displacement codec defined in Annex J of <xref target="ISO.IEC.23090-29"/>. Aspects related to RTP header, RTP payload header and general payload structure are considered. As discussed in <xref target="section4"/>, a V-DMC stream may alternatively use another displacement codec, in which case  the RTP payload described in this section would not be applicable.</t>
      </section>
      <section anchor="rtp-header-usage-1">
        <name>RTP header Usage</name>
        <t>The RTP header is defined in <xref target="RFC3550"/> and represented in <xref target="_figure-rtpheader2"/>. Some of the header field values are interpreted as follows.</t>
        <figure anchor="_figure-rtpheader2">
          <name>RTP header for V-DMC Displacement</name>
          <artwork><![CDATA[
   0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|X|  CC   |M|     PT      |       sequence number         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           timestamp                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           synchronization source (SSRC) identifier            |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
   |            contributing source (CSRC) identifiers             |
   |                             ....                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Marker bit (M): 1 bit</t>
        <t>Set for the last packet of the access unit, carried in the current
   RTP stream.  This is in line with the normal use of the M bit in
   video formats to allow efficient playout buffer handling.</t>
        <t>Payload type (PT): 7 bits</t>
        <t>The assignment of a payload type MUST be performed either through the profile used or in a dynamic way.</t>
        <t>Sequence Number (SN): 16 bits</t>
        <t>Set and used in accordance with <xref target="RFC3550"/></t>
        <t>Timestamp : 32 bits</t>
        <t>The RTP timestamp is set to the sampling timestamp of the content.  A
   90 kHz clock rate MUST be used.</t>
        <t>If the NAL unit has no timing properties of its own (e.g., 
   set and SEI NAL units), the RTP timestamp MUST be set to the RTP 
   timestamp of the coded displacement of the access unit in which the NAL
   unit (according to Section J of <xref target="ISO.IEC.23090-29"/> is included.</t>
        <t>Receivers MUST use the RTP timestamp for the display process, even
   when the bitstream contains displacement frame timing SEI messages as
   specified in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>Synchronization source (SSRC): 32 bits</t>
        <t>Used to identify the source of the RTP packets. By definition a
   single SSRC is used for all parts of a single bitstream. 
   The remaining RTP header fields are used as specified in <xref target="RFC3550"/>.</t>
      </section>
      <section anchor="displ-nal">
        <name>RTP Payload header for AC-based Displacement</name>
        <t>The RTP Payload Header follows the RTP header. <xref target="_figure-rtpheader-dp"/> describes RTP Payload Header.</t>
        <figure anchor="_figure-rtpheader-dp">
          <name>RTP header for AC-based Displacement.</name>
          <artwork><![CDATA[
  0                   1
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |F|    NUT    |    NLI    | TID |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>F : displ_nal_forbidden_zero_bit specified in <xref target="ISO.IEC.23090-29"/> MUST be equal to 0.</t>
        <t>NUT : displ_nal_unit_type as specified in <xref target="ISO.IEC.23090-29"/> define the type of the RBSP data structure contained in the NAL unit as specified in <xref target="ISO.IEC.23090-29"/>. In particular, the AC-based displacement NAL unit types supported are specified in Table J.1 of <xref target="ISO.IEC.23090-29"/>.</t>
        <t>NLI : displ_nal_layer_id as specified in <xref target="ISO.IEC.23090-29"/> defines the identifier of the layer to which an DCL NAL unit belongs or the identifier of a layer to which a non-DCL NAL unit applies. The value of displ_nal_layer_id shall be in the range of 0 to 62, inclusive.</t>
        <t>TID : displ_nal_temporal_id_plus1 minus 1 as specified in <xref target="ISO.IEC.23090-29"/> defines a temporal identifier for the NAL unit. The value of displ_nal_temporal_id_plus1 shall not be equal to 0.</t>
      </section>
      <section anchor="payload-structures-1">
        <name>Payload structures</name>
        <section anchor="general-4">
          <name>General</name>
          <t>Three different types of RTP packet payload structures are specified. A receiver can identify the payload structure by the first two bytes of the RTP packet payload, which co-serves as the RTP payload header. These two bytes are always structured as a NAL unit header. The NAL unit type field indicates which structure is present in the payload.</t>
          <t>The three different payload structures are as follows:</t>
          <t>Single NAL Unit Packet: Contains a single NAL unit in the payload. This payload structure is specified in <xref target="displ-nalp"/></t>
          <t>Aggregation Packet: Contains multiple NAL units in a single RTP payload. This payload structure is specified in <xref target="disp-aggp"/>.</t>
          <t>Fragmentation Unit: Contains a subset of a single NAL unit. This payload structure is specified in <xref target="displ-fragu"/>.</t>
          <t>NOTE: (informative) This memo does not limit the size of NAL units encapsulated in NAL unit packets and fragmentation units. <xref target="ISO.IEC.23090-29"/> does not restrict the maximum size of a NAL unit directly either. Instead, a NAL unit sample stream format may be used, which provides flexibility to signal NAL unit size up to UINT64_MAX bytes.</t>
        </section>
        <section anchor="displ-nalp">
          <name>Single NAL unit packet</name>
          <t>Single NAL unit packet contains exactly one NAL unit, and consists of an RTP payload header and following conditional fields: 16-bit DONL and 16-bit vdmcd-id. The rest of the payload data contains the NAL unit payload data (excluding the NAL unit header). Single NAL unit packet MUST only contain displacement NAL units of the types defined in Table J.1 of <xref target="ISO.IEC.23090-29"/>. The structure of the single NAL unit packet is shown below in <xref target="_figure-singlenal-dp"/></t>
          <figure anchor="_figure-singlenal-dp">
            <name>Single NAL unit packet for AC-based Displacement</name>
            <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |      RTP payload header       |      DONL (conditional)       |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |     vdmcd-sd-id (cond)        |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
  |                                                               |
  |                        NAL unit data                          |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               :...OPTIONAL RTP padding        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>RTP payload header MUST be an exact copy of the NAL unit header of the contained NAL unit.</t>
          <t>A NAL unit stream composed of de-packetizing single NAL unit packets in RTP sequence number order MUST conform to the NAL unit decoding order, when DONL is not present.</t>
          <t>The DONL field, when present, specifies the value of the 16-bit decoding order number of the contained NAL unit. If sprop-max-don-diff is greater than 0 for any of the RTP streams, the DONL field MUST be present, and the variable DONL for the contained NAL unit is derived as equal to the value of the DONL field. Otherwise (sprop-max-don-diff is equal to 0 for all the RTP streams), the DONL field MUST NOT be present.</t>
          <t>The vdmcd-sd-id field, when present, specifies the 16-bit sub displacement identifier for the NAL unit, as signaled in displacement header defined in <xref target="ISO.IEC.23090-29"/>. If sprop-vdmcd-sd-id-pres is equal to 1 and RTP payload header NUT is in range 0-29, inclusive, the vdmcd-sd-id field MUST be present. Otherwise, the vdmcd-sd-id field MUST NOT be present.</t>
          <t>NOTE: (informative) Only values for NAL unit type (NUT) in range 0-29, inclusive, are allocated for AC-based sub displacement layer unit data in <xref target="ISO.IEC.23090-29"/>.</t>
        </section>
        <section anchor="disp-aggp">
          <name>Aggregation packet</name>
          <t>Aggregation Packets (APs) enable the reduction of packetization overhead for small NAL units, such as most of the non-DCL NAL units, which are often only a few octets in size.</t>
          <t>Aggregation packets MAY be used wrap multiple NAL units belonging to the same access unit in a single RTP payload. The first two bytes of the AP MUST contain RTP payload header. The NAL unit type (NUT) for the NAL unit header contained in the RTP payload header MUST be equal to 47, which falls in the unspecified range of the NAL unit types defined in <xref target="ISO.IEC.23090-29"/>. AP MAY contains a conditional vdmcd-sd-id field. AP MUST contain two or more aggregation units. The structure of AP is shown in <xref target="_figure-aggrepacket-dp"/>.</t>
          <figure anchor="_figure-aggrepacket-dp">
            <name>Aggregation packet for AC-based displacement</name>
            <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  RTP payload header (NUT=47)  |         vdmcd-sd-id (cond)    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  |                  Two or more aggregation units                |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               :...OPTIONAL RTP padding        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>The fields in the payload header are set as follows. The F bit MUST be equal to 0 if the F bit of each aggregated NAL unit is equal to zero; otherwise, it MUST be equal to 1. The NUT field MUST be equal to 47. The value of NLI MUST be equal to the lowest value of NLI of all the aggregated NAL units. The value of TID MUST be the lowest value of TID of all the aggregated NAL units.</t>
          <t>All DCL NAL units in an aggregation packet have the same TID value since they belong to the same access unit. However, the packet MAY contain non-DCL NAL units for which the TID value in the NAL unit header MAY be different than the TID value of the DCL NAL units in the same AP.</t>
          <t>The vdmcd-sd-id field, when present, specifies the 16-bit displacement identifier for all DCL NAL units in the AP. If sprop-vdmcd-sd-id-pres is equal to 1, the vdmcd-sd-id field MUST be present. Otherwise, the vdmcd-sd-id field MUST NOT be present.</t>
          <t>AP MUST carry at least two aggregation units (AU) and can carry as many aggregation units as necessary. However, the total amount of data in an AP MUST fit into an IP packet, and the size SHOULD be chosen so that the resulting IP packet is smaller than the MTU size so to avoid IP layer fragmentation. The structure of the AU depends both on the presence of the decoding order number, the sequence order of the AU in the AP and the presence of vdmcd-sd-id field. The structure of an AU is shown in <xref target="_figure-aggreunit-dp"/>.</t>
          <figure anchor="_figure-aggreunit-dp">
            <name>Aggregation unit for AC-based Displacement</name>
            <artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  DOND (cond)  /  DONL (cond)  |        vdmcd-sd-id (cond)     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |            NALU size          |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
  |                                                               |
  |                            NAL unit                           |
  |                                                               |
  |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure>
          <t>If sprop-max-don-diff is greater than 0 for any of the RTP streams, an AU begins with the DOND / DONL field. The first AU in the AP contains DONL field, which specifies the 16-bit value of the decoding order number of the aggregated NAL unit. The variable DON for the aggregated NAL unit is derived as equal to the value of the DONL field. All subsequent AUs in the AP MUST contain an (8-bit) DOND field, which specifies the difference between the decoding order number values of the current aggregated NAL unit and the preceding aggregated NAL unit in the same AP. The variable DON for the aggregated NAL unit is derived as equal to the DON of the preceding aggregated NAL unit in the same AP plus the value of the DOND field plus 1 modulo 65536.</t>
          <t>When sprop-max-don-diff is equal to 0 for all the RTP streams, DOND / DONL fields MUST NOT be present in an aggregation unit. The aggregation units MUST be stored in the aggregation packet so that the decoding order of the containing NAL units is preserved. This means that the first aggregation unit in the aggregation packet SHOULD contain the NAL unit that SHOULD be decoded first.</t>
          <t>If sprop-vdmcd-sd-id-pres is equal to 2 and the AU NAL unit header type is in range 0-29, inclusive, the 16-bit vdmcd-sd-id field MUST be present in the aggregation unit after the conditional DOND/DONL field. Otherwise vdmcd-sd-id field MUST NOT be present in the aggregation unit.</t>
          <t>The conditional fields of the aggregation unit are followed by a 16-bit NALU size field, which provides the size of the NAL unit (in bytes) in the aggregation unit. The remainder of the data in the aggregation unit SHOULD contain the NAL unit (including the unmodified NAL unit header).</t>
        </section>
        <section anchor="displ-fragu">
          <name>Fragmentation unit</name>
          <t>Fragmentation Units (FUs) are introduced to enable fragmenting a single NAL unit into multiple RTP packets, possibly without co-operation or knowledge of the encoder. A fragment of a NAL unit consists of an integer number of consecutive octets of that NAL unit. Fragments of the same NAL unit MUST be sent in consecutive order with ascending RTP sequence numbers (with no other RTP packets within the same RTP stream being sent between the first and last fragment.</t>
          <t>When a NAL unit is fragmented and conveyed within FUs, it is referred to as a fragmented NAL unit. Aggregation packets MUST NOT be fragmented. FUs MUST NOT be nested; i.e., an FU MUST NOT contain a subset of another FU. The RTP header timestamp of an RTP packet carrying an FU is set to the NALU-time of the fragmented NAL unit.
A FU consists of an RTP payload header with the NUT field set to 48, an 8-bit FU header, a conditional 16-bit DONL field, a conditional 16-bit vdmc-sd-id field and an FU payload. The structure of an FU is illustrated below in <xref target="_figure-frag-dp"/>.</t>
          <figure anchor="_figure-frag-dp">
            <name>Fragmentation Unit for Displacement</name>
            <artwork><![CDATA[
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  RTP payload header (NUT=48)  |   FU header   |  DONL (cond)  |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  DONL (cond)  |      vdmcd-sd-id (cond)       |               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
 |                                                               |
 |                          FU payload                           |
 |                                                               |
 |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                               :...OPTIONAL RTP padding        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
]]></artwork>
          </figure>
          <t>When a displacement NAL unit is fragmented over multiple RTP packets, the payload header fields that describe the original NAL unit or its associated V-DMC component SHALL have the same values in all fragments of that NAL unit.  Only fields that are specific to the fragmentation process, such as the start and end indications of a Fragmentation Unit, may differ between fragments.</t>
        </section>
      </section>
      <section anchor="packetization-and-de-packetization-rules-1">
        <name>Packetization and De-packetization Rules</name>
        <t>The following packetization rules apply for V-DMC data:
 -      If sprop-max-don-diff is greater than 0 for any of the RTP streams, the transmission order of NAL units carried in the RTP stream MAY be different than the NAL unit decoding order and the NAL unit output order. Otherwise (sprop-max-don-diff is equal to 0 for all the RTP streams), the transmission order of NAL units carried in the RTP stream MUST be the same as the NAL unit decoding order.
 -      A NAL unit of a small size SHOULD be encapsulated in an aggregation packet together with one or more other NAL units in order to avoid the unnecessary packetization overhead for small NAL units. For example, non-DCL NAL units such as access unit delimiters, parameter sets, or SEI NAL units are typically small and can often be aggregated with DCL NAL units without violating MTU size constraints.
 -      Each non-DCL NAL unit SHOULD, when possible, from an MTU size perspective, be encapsulated in an aggregation packet together with its associated DCL NAL unit, as typically a non-DCL NAL unit would be meaningless without the associated DCL NAL unit being available.
 -      For carrying exactly one NAL unit in an RTP packet, a single NAL unit packet MUST be used</t>
        <t>The general concept behind de-packetization is to get the NAL units out of the RTP packets in an RTP stream and all RTP streams the RTP stream depends on, if any, and pass them to the decoder in the NAL unit decoding order.</t>
        <t>The de-packetization process is implementation dependent. Therefore, the following de-packetization rules SHOULD be taken as an example.</t>
        <ul spacing="normal">
          <li>
            <t>All normal RTP mechanisms related to buffer management apply. In particular, duplicated or outdated RTP packets (as indicated by the RTP sequence number and the RTP timestamp) are removed. To determine the exact time for decoding, factors such as a possible intentional delay to allow for proper inter-stream synchronization must be factored in.</t>
          </li>
          <li>
            <t>NAL units with NAL unit type values in the range of 0 to 44, inclusive, MAY be passed to the decoder. NAL-unit-like structures with NAL unit type values in the range of 45 to 63, inclusive, MUST NOT be passed to the decoder.</t>
          </li>
          <li>
            <t>When sprop-max-don-diff is equal to 0 for the received RTP stream, the NAL units carried in the RTP stream MAY be directly passed to the decoder in their transmission order, which is identical to their decoding order.</t>
          </li>
          <li>
            <t>When sprop-max-don-diff is greater than 0 for any of the received RTP streams, the received NAL units need to be arranged into decoding order before handing them over to the decoder.</t>
          </li>
          <li>
            <t>For further de-packetization examples, the reader is referred to Section 6 of <xref target="RFC7798"/>.</t>
          </li>
        </ul>
        <t>Regarding the packetization of V3C video component data, the respective RTP video payload specification(s) define how packetization and de-packetization SHOULD be handled.</t>
      </section>
    </section>
    <section anchor="payload-format-parameters">
      <name>Payload Format Parameters</name>
      <t>This section describes payload format optional parameters.  A mapping of the parameters into the Session Description Protocol (SDP) <xref target="RFC8866"/> is also provided for applications that use SDP. Equivalent parameters could be defined elsewhere for use with control protocols that do not use SDP.</t>
      <section anchor="media-type-bm">
        <name>Media Type Registration for Basemesh</name>
        <t>The receiver MUST ignore any parameter unspecified in this memo.</t>
        <t>Type name: application</t>
        <t>Subtype name: bmesh</t>
        <t>Required parameters : N/A</t>
        <t>Optional parameters: bmesh-codec-idc, bmesh-level-idc, bmesh-seq-set, bmesh-tier-flag, bmesh-toolset-idc, sprop-bmesh-sei, sprop-bmesh-sm-id, sprop-bmesh-sm-id-pres</t>
        <t>Optional parameters inherited from V3C: sprop-v3c-unit-header, sprop-v3c-unit-type, sprop-v3c-vps-id, sprop-v3c-atlas-id, sprop-v3c-attr-idx, sprop-v3c-attr-part-idx, sprop-v3c-map-idx, sprop-v3c-aux-video-flag, sprop-v3c-parameter-set, sprop-v3c-tile-id, sprop-v3c-tile-id-pres, sprop-v3c-atlas-data, sprop-v3c-common-atlas-data, sprop-v3c-sei, v3c-ptl-level-idc, v3c-ptl-tier-flag, v3c-ptl-codec-idc, v3c-ptl-toolset-idc, v3c-ptl-rec-idc and sprop-max-don-diff</t>
        <t>Encoding considerations: framed</t>
        <t>Security considerations: Please see <xref target="security"/>.</t>
        <t>Interoperability considerations: N/A</t>
        <t>Published specification: Please refer to <xref target="ISO.IEC.23090-29"/></t>
        <t>Applications that use this media type: Any application that relies on V-DMC-based media services over RTP.</t>
        <t>Fragment identifier considerations: N/A</t>
        <t>Additional information: N/A</t>
        <t>Person &amp; email address to contact for further information: Hyunsik Yang (hyunsik.yang@interdigital.com)</t>
        <t>Intended usage: COMMON</t>
        <t>Restrictions on usage: This media type depends on RTP framing and, hence, is only defined for transfer via RTP <xref target="RFC3550"/>. Transport within other framing protocols is not defined at this time.</t>
        <t>Author: See Authors' Addresses section of this memo.</t>
        <t>Change controller: IETF</t>
        <t>Provisional registration? (standards tree only): No</t>
      </section>
      <section anchor="media-type-displ">
        <name>Media Type Registration for Displacement</name>
        <t>The receiver MUST ignore any parameter unspecified in this memo.</t>
        <t>Type name: application</t>
        <t>Subtype name: vdmcd</t>
        <t>Required parameters : N/A</t>
        <t>Optional parameters: vdmcd-codec-idc, vdmcd-level-idc, vdmcd-lod, vdmcd-seq-set,vdmcd-tier-flag, vdmcd-toolset-idc, sprop-vdmcd-sei, sprop-vdmcd-sd-id,sprop-vdmcd-sd-id-pres</t>
        <t>Optional parameters inherited from V3C: sprop-v3c-unit-header, sprop-v3c-unit-type, sprop-v3c-vps-id, sprop-v3c-atlas-id, sprop-v3c-attr-idx, sprop-v3c-attr-part-idx, sprop-v3c-map-idx, sprop-v3c-aux-video-flag, sprop-v3c-parameter-set, sprop-v3c-tile-id, sprop-v3c-tile-id-pres, sprop-v3c-atlas-data, sprop-v3c-common-atlas-data, sprop-v3c-sei, v3c-ptl-level-idc, v3c-ptl-tier-flag, v3c-ptl-codec-idc, v3c-ptl-toolset-idc, v3c-ptl-rec-idc and sprop-max-don-diff</t>
        <t>Encoding considerations: framed</t>
        <t>Security considerations: Please see <xref target="security"/>.</t>
        <t>Interoperability considerations: N/A</t>
        <t>Published specification: Please refer to <xref target="ISO.IEC.23090-29"/></t>
        <t>Applications that use this media type: Any application that relies on V-DMC-based media services over RTP.</t>
        <t>Fragment identifier considerations: N/A</t>
        <t>Additional information: N/A</t>
        <t>Person &amp; email address to contact for further information: Hyunsik Yang (hyunsik.yang@interdigital.com)</t>
        <t>Intended usage: COMMON</t>
        <t>Restrictions on usage: This media type depends on RTP framing and, hence, is only defined for transfer via RTP <xref target="RFC3550"/>. Transport within other framing protocols is not defined at this time.</t>
        <t>Author: See Authors' Addresses section of this memo.</t>
        <t>Change controller: IETF</t>
        <t>Provisional registration? (standards tree only): No</t>
      </section>
      <section anchor="optional-param">
        <name>Optional Parameters Definition</name>
        <t>The optional parameters defined in Section 7.3 of <xref target="RFC10034"/> apply to V-DMC unless explicitly updated by this specification.</t>
        <t><strong>Parameters defined in <xref target="RFC10034"/></strong></t>
        <t>The possible values of sprop-v3c-unit-type are updated by this memo. sprop-v3c-unit-type specifies a V3C unit type value corresponding to vuh_unit_type defined in <xref target="ISO.IEC.23090-29"/>, i.e., it defines V3C sub-bitstream type. <xref target="ISO.IEC.23090-29"/> only introduces new values and does not modify the values previously defined in <xref target="ISO.IEC.23090-05"/>. The remaining V3C parameters can also be utilized in the V-DMC bitstream if necessary.</t>
        <t><strong>optional parameters for Basemesh are defined in this memo</strong></t>
        <t>bmesh-codec-idc:</t>
        <t>bmesh-codec-idc indicates the codec group profile component to which the CVS conforms. It corresponds to bmptl_profile_codec_group_idc defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>bmesh-level-idc:</t>
        <t>bmesh-level-idc indicates a level to which the coded V3C sequence (CVS) conforms. It corresponds to bmptl_level_idc defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>bmesh-seq-set:</t>
        <t>bmesh-seq-set provides an identifier for the basemesh sequence parameter set for reference by other syntax elements defined in <xref target="ISO.IEC.23090-29"/>. It corresponds to bmsps_sequence_parameter_set_id defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>bmesh-tier-flag:</t>
        <t>bmesh-tier-flag specifies the tier context for the interpretation of bmptl_level_idc. It corresponds to bmptl_tier_flag defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>bmesh-toolset-idc:</t>
        <t>bmesh-toolset-idc indicates the toolset combination profile component to which the CVS conforms. It corresponds to bmptl_profile_toolset_idc defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>sprop-bmesh-sei:</t>
        <t>sprop-bmesh-sei MAY be used to convey SEI NAL units of VDMC basemesh sub bitstreams for out-of-band transmission. The value is defined in Table H.1 of <xref target="ISO.IEC.23090-29"/>.</t>
        <t>sprop-bmesh-sm-id:</t>
        <t>sprop-bmesh-id indicates that the RTP stream contains only portion of the frame in the basemesh. sprop-bmesh-id is a comma-separated (',') list of integer values, which indicate the sprop-bmesh-ids that are present in the RTP stream.</t>
        <t>sprop-bmesh-sm-id-pres:</t>
        <t>sprop-bmesh-sm-id-pres indicates that the RTP packets contain bmesh-sm-id field.</t>
        <t><strong>Optional parameters for AC-based displacement are defined in this memo</strong></t>
        <t>vdmcd-codec-idc:</t>
        <t>vdmcd-codec-idc indicates the codec group profile component to which the CDS conforms as specified in Annex J of <xref target="ISO.IEC.23090-29"/>. It corresponds to dptl_profile_codec_group_idc defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>vdmcd-level-idc:</t>
        <t>vdmcd-level-idc indicates a level to which the CDS conforms as specified in Annex J of <xref target="ISO.IEC.23090-29"/>. The vdmcd-level-idc parameter corresponds to dptl_level_idc defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>vdmcd-lod:</t>
        <t>vdmcd-lod specifies the support for signalling and adjusting the level of detail in the stream. vdmcd-lod correspond to lod_index in <xref target="ISO.IEC.23090-10"/>.</t>
        <t>vdmcd-seq-set:</t>
        <t>vdmcd-seq-set provides an identifier for the base mesh sequence parameter set for reference by other syntax elements defined in <xref target="ISO.IEC.23090-29"/>. It corresponds to dsps_sequence_parameter_set_id defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>vdmcd-tier-flag:</t>
        <t>vdmcd-tier-flag specifies the tier context for the interpretation of dptl_level_idc as specified in Annex J of <xref target="ISO.IEC.23090-29"/>. It corresponds to dptl_tier_flag defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>vdmcd-toolset-idc:</t>
        <t>vdmcd-toolset-idc indicates the toolset combination profile component to which the CDS conforms as specified in Annex J of <xref target="ISO.IEC.23090-29"/>. It corresponds to dptl_profile_toolset_idc defined in <xref target="ISO.IEC.23090-29"/>.</t>
        <t>sprop-vdmcd-sei:</t>
        <t>sprop-vdmcd-sei MAY be used to convey SEI NAL units of VDMC displacement sub bitstreams for out-of-band transmission. The value is defined in Table J.1 of <xref target="ISO.IEC.23090-29"/>.</t>
        <t>sprop-vdmcd-sd-id:</t>
        <t>sprop-vdmcd-sd-id indicates that the RTP stream contains only portion of the frame in the displacement(i.e., a sub-displacement). sprop-vdmcd-sd-id is a comma-separated (',') list of integer values, which indicate the sprop-vdmcd-sd-ids that are present in the RTP stream.</t>
        <t>sprop-vdmcd-sd-id-pres:</t>
        <t>sprop-vdmcd-sd-id-pres indicates that the RTP packets contain vdmcd-sd-id field.</t>
      </section>
    </section>
    <section anchor="congestion-control-considerations">
      <name>Congestion control considerations</name>
      <t>Congestion control for RTP SHALL be used in accordance with RTP <xref target="RFC3550"/> and with any applicable RTP profile.</t>
      <t>In case of congestion, adjusting the LoD level of each V-DMC stream can help partially mitigate the congestion issue. The substreams that make up V-DMC can independently adjust their LoD (Level of Detail) levels with high level parameters (e.g, vdmcd-lod). This parameter is linked to LoD-related parameters defined for each substream, allowing the overall LoD to be fine-tuned. During periods of congestion, a higher LoD level may overload transmitters and/or receivers, while also increasing network bandwidth consumption. To alleviate this, the LoD levels of individual substreams can be adjusted to reduce overall bandwidth usage and improve processing speed.</t>
    </section>
    <section anchor="session-descp">
      <name>Session description protocol</name>
      <t>This document complies with, and builds over, SDP mechanisms defined in <xref target="RFC10034"/>, including the "v3cfmtp" attribute and the grouping framework "v3c" type.</t>
      <section anchor="v3c-format-parameters-v3cfmtp-attribute">
        <name>V3C format parameters "v3cfmtp" attribute</name>
        <t>The "v3cfmtp" SDP attribute is used to carry V3C specific media format parameters, which were defined in <xref target="ISO.IEC.23090-05"/>. This memo defines new values for one of these parameters, v3c-unit-type. New SDP parameters defined in this memo are carried with the "fmtp" attribute.</t>
      </section>
      <section anchor="mapping-of-payload-type-parameters-to-sdp">
        <name>Mapping of Payload Type Parameters to SDP</name>
        <t>The OPTIONAL parameters, when present, MUST be included in the "a=fmtp" line of SDP.  This is expressed as a media type string, in the form of a semicolon-separated list of parameter=value pairs. Parameter values, including string values, MUST be written without quotation marks ("") in SDP.  Parameter values that are strings are not case sensitive and SHOULD be written in lowercase.</t>
        <section anchor="for-v-dmc-basemesh-components">
          <name>For V-DMC Basemesh Components</name>
          <t>The mapping of above defined payload format media type to the corresponding fields in the Session Description Protocol (SDP) is done according to <xref target="RFC8866"/>.</t>
          <ul spacing="normal">
            <li>
              <t>The media name in the "m=" line of SDP MUST be application.</t>
            </li>
            <li>
              <t>The encoding name in the "a=rtpmap" line of SDP MUST be bmesh</t>
            </li>
            <li>
              <t>The clock rate in the "a=rtpmap" line MUST be 90000.</t>
            </li>
            <li>
              <t>The OPTIONAL parameters , when present, MUST be included in the "a=fmtp" line of SDP.  This is expressed as a media type string, in the form of a semicolon-separated list of parameter=value pairs.</t>
            </li>
            <li>
              <t>The OPTIONAL parameters bmesh-codec-idc, bmesh-level-idc, bmesh-lod, bmesh-seq-set, bmesh-tier-flag, bmesh-toolset-idc, sprop-bmesh-sei, sprop-bmesh-sm-id, sprop-bmesh-sm-id-pres when present, MUST be included in the "a=fmtp" line of SDP. This parameter is expressed as a media type string, in the form of a semicolon-separated list of parameter=value pairs.</t>
            </li>
          </ul>
          <t>The OPTIONAL parameters, when present in the basemesh component media line format parameters attribute, specify values that are valid for the coded V3C sequence until a new value is received in-band. Some OPTIONAL parameters, like sprop-v3c-parameter-set or sprop-v3c-unit-header, can't be carried in-band in the basemesh stream and may thus be considered static for the session. The carriage of basemesh payload format parameters in "a=fmtp" and "a=v3cfmtp" attributes is separated by logical context, where "a=fmtp" consists of basemesh level media format parameters and "a=v3cfmtp" contains V3C level media format parameters.</t>
          <t>An example of media representation corresponding to the vdmc RTP payload in SDP is as follows:</t>
          <artwork><![CDATA[
   m=application 49170 RTP/AVP 98
   a=rtpmap:98 bmesh/90000
   a=fmtp:98 sprop-bmesh-sm-id=0,1
   a=v3cfmtp:sprop-v3c-unit-header=OAAAAA==;
]]></artwork>
        </section>
        <section anchor="for-v-dmc-displacement-components">
          <name>For V-DMC Displacement Components</name>
          <ul spacing="normal">
            <li>
              <t>The media name in the "m=" line of SDP MUST be application.</t>
            </li>
            <li>
              <t>The encoding name in the "a=rtpmap" line of SDP MUST be vdmcd</t>
            </li>
            <li>
              <t>The clock rate in the "a=rtpmap" line MUST be 90000.</t>
            </li>
            <li>
              <t>The OPTIONAL parameters, when present, MUST be included in the "a=fmtp" line of SDP.  This is expressed as a media type string, in the form of a semicolon-separated list of parameter=value pairs.</t>
            </li>
            <li>
              <t>The OPTIONAL parameters vdmcd-codec-idc, vdmcd-level-idc, vdmcd-lod, vdmcd-seq-set,vdmcd-tier-flag, vdmcd-toolset-idc, sprop-vdmcd-sei, sprop-vdmcd-sd-id,sprop-vdmcd-sd-id-pres when present, MUST be included in the "a=fmtp" line of SDP. This parameter is expressed as a media type string, in the form of a semicolon-separated list of parameter=value pairs.</t>
            </li>
          </ul>
          <t>The OPTIONAL parameters, when present in the displacement component media line format parameters attribute, specify values that are valid for the coded displacement sequence until a new value is received in-band. Some OPTIONAL parameters, like sprop-v3c-parameter-set or sprop-v3c-unit-header, can't be carried in-band in the displacement stream and may thus be considered static for the session. The carriage of V3C payload format parameters in "a=fmtp" and "a=v3cfmtp" attributes is separated by logical context, where "a=fmtp" consists of displacement level media format parameters and "a=v3cfmtp" contains V3C level media format parameters.</t>
          <t>An example of media representation corresponding to the vdmc RTP payload in SDP is as follows:</t>
          <artwork><![CDATA[
   m=application 49170 RTP/AVP 98
   a=rtpmap:98 vdmcd/90000
   a=fmtp:98 sprop-vdmcd-sd-id=0,1
   a=v3cfmtp:sprop-v3c-unit-header=GAAAABB==;
   
]]></artwork>
        </section>
        <section anchor="for-other-v-dmc-components">
          <name>For Other V-DMC Components</name>
          <t>The mapping of payload type parameters to SDP is described in section 9.2.1. of <xref target="RFC10034"/> for the V3C atlas components and in section 9.2.2. of <xref target="RFC10034"/> for other video V-DMC components.</t>
        </section>
        <section anchor="grouping">
          <name>Grouping Framework</name>
          <t>The grouping framework is described in section 9.3. of <xref target="RFC10034"/> can be used for V-DMC. Group attribute with VDMC type is provided to allow application to identify "m" lines that belong to the same VDMC bitstream. Grouping type VDMC MUST be used with the group attribute. The tokens that follow are mapped to 'mid'-values of individual media lines in the SDP.</t>
          <artwork><![CDATA[
 a=group:VDMC <tokens>
]]></artwork>
          <t>The following example shows an SDP including four media lines, three describing VDMC components (PT:96=attribute, PT:97=displacement, PT:98=basemesh) and one VDMC atlas component (PT:100). All the media lines are grouped under one VDMC group. V3C parameter set is provided via session level VDMC media format parameter attribute.</t>
          <artwork><![CDATA[
  ...
a=group:VDMC 1 2 3 4 
m=video 40000 RTP/AVP 96
a=rtpmap:96 H264/90000 
a=v3cfmtp:96 
  v3c-unit-header=EAAAAA==;
a=mid:1
m=application 40002 RTP/AVP 97
a=rtpmap:97 disp/90000 
a=fmtp:97 
  v3c-unit-header=GAAAABB==; 
a=mid:2
m=application 40004 RTP/AVP 98
a=rtpmap:98 bmesh/90000  
a=fmtp:98 
  v3c-unit-header=IAAAAA==;
a=mid:3
m=application 40008 RTP/AVP 100
a=rtpmap:100 v3c/90000  
a=fmtp:100
  v3c-unit-header=CAAAAA==; 


]]></artwork>
        </section>
      </section>
      <section anchor="offer-and-answer-considerations">
        <name>Offer and Answer Considerations</name>
        <t>The parameters defined in this specification describe properties of the RTP stream and its association with V-DMC components. They are not receiver capability parameters.
In SDP Offer/Answer usage, an answerer that accepts the media stream SHALL preserve the offered values of these parameters. If the offered values cannot be supported, the media stream SHALL be rejected.</t>
        <t>An example offer, which allows bundling different V-DMC components (attribute, basemesh, AC-based displacement, atlas) into one stream, based on <xref target="RFC9143"/>.</t>
        <artwork><![CDATA[
  ...
  a=group:BUNDLE 1 2 3 4
  a=group:VDMC 1 2 3 4
  m=video 40000 RTP/AVP 96
  a=rtpmap:96 H264/90000
  a=v3cfmtp:sprop-v3c-unit-type=4;sprop-v3c-vps-id=0;
  sprop-v3c-atlas-id=0
  a=mid:1
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=application 40002 RTP/AVP 97
  a=rtpmap:97 bmesh /90000
  a=v3cfmtp:sprop-v3c-unit-type=7;sprop-v3c-vps-id=0;
  sprop-v3c-atlas-id=0
  a=mid:2
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=application 40004 RTP/AVP 98
  a=rtpmap:98 vdmcd /90000
  a=v3cfmtp:sprop-v3c-unit-type=8;sprop-v3c-vps-id=0;
  sprop-v3c-atlas-id=0
  a=mid:3
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=application 40006 RTP/AVP 99
  a=rtpmap:99 v3c/90000
  a=v3cfmtp:sprop-v3c-unit-type=1;sprop-v3c-vps-id=0;
  sprop-v3c-atlas-id=0;
  sprop-v3c-parameter-set=AQD/AAAP/zwAAAAAADwIAQ5BwAAOADjgQAADkA==
  a=mid:4
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  
]]></artwork>
        <t>An example answer, which accepts bundling of different V-DMC components.</t>
        <artwork><![CDATA[
  a=group:BUNDLE 1 2 3 4
  a=group:VDMC 1 2 3 4
  m=video 50000 RTP/AVP 96
  a=rtpmap:96 H264/90000
  a=mid:1
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=application 0 RTP/AVP 97
  a=rtpmap:97 bmesh/90000
  a=bundle-only
  a=mid:2
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=application 0 RTP/AVP 98
  a=rtpmap:98 vdmcd/90000
  a=bundle-only
  a=mid:3
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid
  m=application 0 RTP/AVP 99
  a=rtpmap:99 v3c/90000
  a=bundle-only
  a=mid:4
  a=extmap:1 urn:ietf:params:rtp-hdrext:sdes:mid

]]></artwork>
      </section>
      <section anchor="declarative-sdp-considerations">
        <name>Declarative SDP Considerations</name>
        <t>When V-DMC content is offered over RTP in a declarative style, the considerations in section 9.5. of <xref target="RFC10034"/> are applicable.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="vdmc-media-type-registration">
        <name>VDMC media type registration</name>
        <t>New media types will be registered with IANA; see <xref target="media-type-bm"/> and <xref target="media-type-displ"/>.</t>
      </section>
      <section anchor="vdmc-grouping-type-extension">
        <name>VDMC grouping type extension</name>
        <t>Grouping is extended to establish relationships between substreams of a VDMC representation. A new group type (VDMC) for the group attribute will be registered as defined in <xref target="grouping"/>.  This document registers the semantics in <xref target="_table-group-id"/> with IANA in the "Semantics for the 'group' SDP Attribute" registry group (under the "Session Description Protocol (SDP) Parameters" registry):</t>
        <figure anchor="_table-group-id">
          <name>Additional semantics for VDMC SDP group type</name>
          <sourcecode type="table"><![CDATA[
+==============+=======+==============+=============+
| Semantics    | Token | Mux Category | Reference   |
+==============+=======+==============+=============+
|VDMC grouping | VDMC  |   NORMAL     | "this memo" |
+--------------+-------+--------------+-------------+
]]></sourcecode>
        </figure>
        <t>NOTE: (informative) "this memo" to be replaced with the RFC number,
   once it becomes available.</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>RTP packets using the payload format defined in this specification are subject to the security considerations discussed in the RTP specification <xref target="RFC3550"/>, and in any applicable RTP profile such as RTP/AVP <xref target="RFC3551"/>, RTP/AVPF <xref target="RFC4585"/>, RTP/SAVP <xref target="RFC3711"/>, or RTP/SAVPF <xref target="RFC5124"/>. However, as "Securing the RTP Protocol Framework: Why RTP Does Not Mandate a Single Media Security Solution" <xref target="RFC7202"/> discusses, it is not an RTP payload format's responsibility to discuss or mandate what solutions are used to meet the basic security goals like confidentiality, integrity, and source authenticity for RTP in general. This responsibility lays on anyone using RTP in an application. They can find guidance on available security mechanisms and important considerations in "Options for Securing RTP Sessions" <xref target="RFC7201"/>.</t>
      <t>A V-DMC session can consist of multiple component substreams carried over different RTP streams. The security considerations specified in <xref target="RFC10034"/>, including those related to source authentication of constituent RTP streams, also apply to V-DMC representations.</t>
      <t>Applications SHOULD use one or more appropriate and current strong security mechanisms. In addition to the guidance provided in <xref target="RFC7201"/>, applications MAY consider current best practices such as (D)TLS-based protection <xref target="BCP195"/> or IPsec-based protection <xref target="RFC4303"/> <xref target="RFC7296"/>, as appropriate.</t>
      <t>End-to-end security with authentication, integrity, or confidentiality protection will prevent a Media-Aware Network Element (MANE) from performing media-aware operations other than discarding complete packets. In the case of confidentiality protection, it will even be prevented from discarding packets in a media-aware way. To be allowed to perform such operations, a MANE is required to be a trusted entity that is included in the security context establishment.</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Srinivas Gudumasu(InterDigital Canada) and Gurdeep Singh Bhullar and Olivier Mocquard(InterDigital Europe Ltd.) contributed to this draft as co-authors.</t>
      <t>Thanks to Chandok Gurtej Singh, Harald Tveit Alvestrand, Mo Zanaty, Lukasz Kondrad and Danillo Bracco Graziosi for discussions and comments about this draft.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC10034">
          <front>
            <title>RTP Payload Format for Visual Volumetric Video-Based Coding (V3C)</title>
            <author fullname="L. Ilola" initials="L." surname="Ilola"/>
            <author fullname="L. Kondrad" initials="L." surname="Kondrad"/>
            <date month="August" year="2026"/>
            <abstract>
              <t>A visual volumetric video-based coding (V3C) ISO/IEC 23090-5 bitstream is composed of V3C units that contain V3C atlas sub-bitstreams, V3C video sub-bitstreams, and a V3C parameter set. This document describes an RTP payload format for V3C atlas sub-bitstreams. The RTP payload format for V3C video sub-bitstreams is defined by relevant IETF RFCs for the applicable video codec. The V3C RTP payload format allows for the packetization of one or more V3C atlas Network Abstraction Layer (NAL) units in an RTP packet payload as well as the fragmentation of a V3C atlas NAL unit into multiple RTP packets. The document also describes the mechanisms for grouping RTP streams of V3C component sub-bitstreams, providing a complete solution for streaming V3C-encoded content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="10034"/>
          <seriesInfo name="DOI" value="10.17487/RFC10034"/>
        </reference>
        <reference anchor="ISO.IEC.23090-29" target="https://www.iso.org/standard/85254.html">
          <front>
            <title>Information technology - Coded representation of immersive media - Part 29: Video-based dynamic mesh coding (V-DMC)</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2024"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-29"/>
        </reference>
        <reference anchor="ISO.IEC.23090-05" target="https://www.iso.org/standard/83535.html">
          <front>
            <title>Information technology - Coded representation of immersive media - Part 5: Visual volumetric video-based coding (V3C) and video-based point cloud compression (V-PCC)</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2023"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-05"/>
        </reference>
        <reference anchor="ISO.IEC.23090-12" target="https://www.iso.org/standard/79113.html">
          <front>
            <title>Information technology - Coded representation of immersive media - Part 12: MPEG Immersive video (MIV)</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2023"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-12"/>
        </reference>
        <reference anchor="ISO.IEC.23090-10" target="https://www.iso.org/standard/78991.html">
          <front>
            <title>Information technology - Coded representation of immersive media - Part 10: Carriage of visual volumetric video-based coding data</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2022"/>
          </front>
          <seriesInfo name="ISO/IEC" value="23090-10"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC2736">
          <front>
            <title>Guidelines for Writers of RTP Payload Format Specifications</title>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <date month="December" year="1999"/>
            <abstract>
              <t>This document provides general guidelines aimed at assisting the authors of RTP Payload Format specifications in deciding on good formats. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="36"/>
          <seriesInfo name="RFC" value="2736"/>
          <seriesInfo name="DOI" value="10.17487/RFC2736"/>
        </reference>
        <reference anchor="RFC8088">
          <front>
            <title>How to Write an RTP Payload Format</title>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>This document contains information on how best to write an RTP payload format specification. It provides reading tips, design practices, and practical tips on how to produce an RTP payload format specification quickly and with good results. A template is also included with instructions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8088"/>
          <seriesInfo name="DOI" value="10.17487/RFC8088"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC3550">
          <front>
            <title>RTP: A Transport Protocol for Real-Time Applications</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <author fullname="R. Frederick" initials="R." surname="Frederick"/>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This memorandum describes RTP, the real-time transport protocol. RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services. RTP does not address resource reservation and does not guarantee quality-of- service for real-time services. The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality. RTP and RTCP are designed to be independent of the underlying transport and network layers. The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes. There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="64"/>
          <seriesInfo name="RFC" value="3550"/>
          <seriesInfo name="DOI" value="10.17487/RFC3550"/>
        </reference>
        <reference anchor="RFC7798">
          <front>
            <title>RTP Payload Format for High Efficiency Video Coding (HEVC)</title>
            <author fullname="Y.-K. Wang" initials="Y.-K." surname="Wang"/>
            <author fullname="Y. Sanchez" initials="Y." surname="Sanchez"/>
            <author fullname="T. Schierl" initials="T." surname="Schierl"/>
            <author fullname="S. Wenger" initials="S." surname="Wenger"/>
            <author fullname="M. M. Hannuksela" initials="M. M." surname="Hannuksela"/>
            <date month="March" year="2016"/>
            <abstract>
              <t>This memo describes an RTP payload format for the video coding standard ITU-T Recommendation H.265 and ISO/IEC International Standard 23008-2, both also known as High Efficiency Video Coding (HEVC) and developed by the Joint Collaborative Team on Video Coding (JCT-VC). The RTP payload format allows for packetization of one or more Network Abstraction Layer (NAL) units in each RTP packet payload as well as fragmentation of a NAL unit into multiple RTP packets. Furthermore, it supports transmission of an HEVC bitstream over a single stream as well as multiple RTP streams. When multiple RTP streams are used, a single transport or multiple transports may be utilized. The payload format has wide applicability in videoconferencing, Internet video streaming, and high-bitrate entertainment-quality video, among others.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7798"/>
          <seriesInfo name="DOI" value="10.17487/RFC7798"/>
        </reference>
        <reference anchor="RFC8866">
          <front>
            <title>SDP: Session Description Protocol</title>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="P. Kyzivat" initials="P." surname="Kyzivat"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This memo defines the Session Description Protocol (SDP). SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. This document obsoletes RFC 4566.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8866"/>
          <seriesInfo name="DOI" value="10.17487/RFC8866"/>
        </reference>
        <reference anchor="RFC9143">
          <front>
            <title>Negotiating Media Multiplexing Using the Session Description Protocol (SDP)</title>
            <author fullname="C. Holmberg" initials="C." surname="Holmberg"/>
            <author fullname="H. Alvestrand" initials="H." surname="Alvestrand"/>
            <author fullname="C. Jennings" initials="C." surname="Jennings"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This specification defines a new Session Description Protocol (SDP) Grouping Framework extension called 'BUNDLE'. The extension can be used with the SDP offer/answer mechanism to negotiate the usage of a single transport (5-tuple) for sending and receiving media described by multiple SDP media descriptions ("m=" sections). Such transport is referred to as a "BUNDLE transport", and the media is referred to as "bundled media". The "m=" sections that use the BUNDLE transport form a BUNDLE group.</t>
              <t>This specification defines a new RTP Control Protocol (RTCP) Source Description (SDES) item and a new RTP header extension.</t>
              <t>This specification updates RFCs 3264, 5888, and 7941.</t>
              <t>This specification obsoletes RFC 8843.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9143"/>
          <seriesInfo name="DOI" value="10.17487/RFC9143"/>
        </reference>
        <reference anchor="RFC3551">
          <front>
            <title>RTP Profile for Audio and Video Conferences with Minimal Control</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This document describes a profile called "RTP/AVP" for the use of the real-time transport protocol (RTP), version 2, and the associated control protocol, RTCP, within audio and video multiparticipant conferences with minimal control. It provides interpretations of generic fields within the RTP specification suitable for audio and video conferences. In particular, this document defines a set of default mappings from payload type numbers to encodings. This document also describes how audio and video data may be carried within RTP. It defines a set of standard encodings and their names when used within RTP. The descriptions provide pointers to reference implementations and the detailed standards. This document is meant as an aid for implementors of audio, video and other real-time multimedia applications. This memorandum obsoletes RFC 1890. It is mostly backwards-compatible except for functions removed because two interoperable implementations were not found. The additions to RFC 1890 codify existing practice in the use of payload formats under this profile and include new payload formats defined since RFC 1890 was published. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="65"/>
          <seriesInfo name="RFC" value="3551"/>
          <seriesInfo name="DOI" value="10.17487/RFC3551"/>
        </reference>
        <reference anchor="RFC4585">
          <front>
            <title>Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF)</title>
            <author fullname="J. Ott" initials="J." surname="Ott"/>
            <author fullname="S. Wenger" initials="S." surname="Wenger"/>
            <author fullname="N. Sato" initials="N." surname="Sato"/>
            <author fullname="C. Burmeister" initials="C." surname="Burmeister"/>
            <author fullname="J. Rey" initials="J." surname="Rey"/>
            <date month="July" year="2006"/>
            <abstract>
              <t>Real-time media streams that use RTP are, to some degree, resilient against packet losses. Receivers may use the base mechanisms of the Real-time Transport Control Protocol (RTCP) to report packet reception statistics and thus allow a sender to adapt its transmission behavior in the mid-term. This is the sole means for feedback and feedback-based error repair (besides a few codec-specific mechanisms). This document defines an extension to the Audio-visual Profile (AVP) that enables receivers to provide, statistically, more immediate feedback to the senders and thus allows for short-term adaptation and efficient feedback-based repair mechanisms to be implemented. This early feedback profile (AVPF) maintains the AVP bandwidth constraints for RTCP and preserves scalability to large groups. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4585"/>
          <seriesInfo name="DOI" value="10.17487/RFC4585"/>
        </reference>
        <reference anchor="RFC3711">
          <front>
            <title>The Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="M. Baugher" initials="M." surname="Baugher"/>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Naslund" initials="M." surname="Naslund"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <author fullname="K. Norrman" initials="K." surname="Norrman"/>
            <date month="March" year="2004"/>
            <abstract>
              <t>This document describes the Secure Real-time Transport Protocol (SRTP), a profile of the Real-time Transport Protocol (RTP), which can provide confidentiality, message authentication, and replay protection to the RTP traffic and to the control traffic for RTP, the Real-time Transport Control Protocol (RTCP). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3711"/>
          <seriesInfo name="DOI" value="10.17487/RFC3711"/>
        </reference>
        <reference anchor="RFC5124">
          <front>
            <title>Extended Secure RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/SAVPF)</title>
            <author fullname="J. Ott" initials="J." surname="Ott"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <date month="February" year="2008"/>
            <abstract>
              <t>An RTP profile (SAVP) for secure real-time communications and another profile (AVPF) to provide timely feedback from the receivers to a sender are defined in RFC 3711 and RFC 4585, respectively. This memo specifies the combination of both profiles to enable secure RTP communications with feedback. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5124"/>
          <seriesInfo name="DOI" value="10.17487/RFC5124"/>
        </reference>
        <reference anchor="RFC7201">
          <front>
            <title>Options for Securing RTP Sessions</title>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <date month="April" year="2014"/>
            <abstract>
              <t>The Real-time Transport Protocol (RTP) is used in a large number of different application domains and environments. This heterogeneity implies that different security mechanisms are needed to provide services such as confidentiality, integrity, and source authentication of RTP and RTP Control Protocol (RTCP) packets suitable for the various environments. The range of solutions makes it difficult for RTP-based application developers to pick the most suitable mechanism. This document provides an overview of a number of security solutions for RTP and gives guidance for developers on how to choose the appropriate security mechanism.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7201"/>
          <seriesInfo name="DOI" value="10.17487/RFC7201"/>
        </reference>
        <reference anchor="RFC7202">
          <front>
            <title>Securing the RTP Framework: Why RTP Does Not Mandate a Single Media Security Solution</title>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="April" year="2014"/>
            <abstract>
              <t>This memo discusses the problem of securing real-time multimedia sessions. It also explains why the Real-time Transport Protocol (RTP) and the associated RTP Control Protocol (RTCP) do not mandate a single media security mechanism. This is relevant for designers and reviewers of future RTP extensions to ensure that appropriate security mechanisms are mandated and that any such mechanisms are specified in a manner that conforms with the RTP architecture.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7202"/>
          <seriesInfo name="DOI" value="10.17487/RFC7202"/>
        </reference>
        <reference anchor="RFC9328">
          <front>
            <title>RTP Payload Format for Versatile Video Coding (VVC)</title>
            <author fullname="S. Zhao" initials="S." surname="Zhao"/>
            <author fullname="S. Wenger" initials="S." surname="Wenger"/>
            <author fullname="Y. Sanchez" initials="Y." surname="Sanchez"/>
            <author fullname="Y.-K. Wang" initials="Y.-K." surname="Wang"/>
            <author fullname="M. M Hannuksela" initials="M. M" surname="Hannuksela"/>
            <date month="December" year="2022"/>
            <abstract>
              <t>This memo describes an RTP payload format for the Versatile Video Coding (VVC) specification, which was published as both ITU-T Recommendation H.266 and ISO/IEC International Standard 23090-3. VVC was developed by the Joint Video Experts Team (JVET). The RTP payload format allows for packetization of one or more Network Abstraction Layer (NAL) units in each RTP packet payload, as well as fragmentation of a NAL unit into multiple RTP packets. The payload format has wide applicability in videoconferencing, Internet video streaming, and high-bitrate entertainment-quality video, among other applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9328"/>
          <seriesInfo name="DOI" value="10.17487/RFC9328"/>
        </reference>
        <referencegroup anchor="BCP195" target="https://www.rfc-editor.org/info/bcp195">
          <reference anchor="RFC8996" target="https://www.rfc-editor.org/info/rfc8996">
            <front>
              <title>Deprecating TLS 1.0 and TLS 1.1</title>
              <author fullname="K. Moriarty" initials="K." surname="Moriarty"/>
              <author fullname="S. Farrell" initials="S." surname="Farrell"/>
              <date month="March" year="2021"/>
              <abstract>
                <t>This document formally deprecates Transport Layer Security (TLS) versions 1.0 (RFC 2246) and 1.1 (RFC 4346). Accordingly, those documents have been moved to Historic status. These versions lack support for current and recommended cryptographic algorithms and mechanisms, and various government and industry profiles of applications using TLS now mandate avoiding these old TLS versions. TLS version 1.2 became the recommended version for IETF protocols in 2008 (subsequently being obsoleted by TLS version 1.3 in 2018), providing sufficient time to transition away from older versions. Removing support for older versions from implementations reduces the attack surface, reduces opportunity for misconfiguration, and streamlines library and product maintenance.</t>
                <t>This document also deprecates Datagram TLS (DTLS) version 1.0 (RFC 4347) but not DTLS version 1.2, and there is no DTLS version 1.1.</t>
                <t>This document updates many RFCs that normatively refer to TLS version 1.0 or TLS version 1.1, as described herein. This document also updates the best practices for TLS usage in RFC 7525; hence, it is part of BCP 195.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="195"/>
            <seriesInfo name="RFC" value="8996"/>
            <seriesInfo name="DOI" value="10.17487/RFC8996"/>
          </reference>
          <reference anchor="RFC9325" target="https://www.rfc-editor.org/info/rfc9325">
            <front>
              <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
              <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
              <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
              <author fullname="T. Fossati" initials="T." surname="Fossati"/>
              <date month="November" year="2022"/>
              <abstract>
                <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols. Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation. This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases.</t>
                <t>RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="195"/>
            <seriesInfo name="RFC" value="9325"/>
            <seriesInfo name="DOI" value="10.17487/RFC9325"/>
          </reference>
        </referencegroup>
        <reference anchor="RFC4303">
          <front>
            <title>IP Encapsulating Security Payload (ESP)</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="December" year="2005"/>
            <abstract>
              <t>This document describes an updated version of the Encapsulating Security Payload (ESP) protocol, which is designed to provide a mix of security services in IPv4 and IPv6. ESP is used to provide confidentiality, data origin authentication, connectionless integrity, an anti-replay service (a form of partial sequence integrity), and limited traffic flow confidentiality. This document obsoletes RFC 2406 (November 1998). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4303"/>
          <seriesInfo name="DOI" value="10.17487/RFC4303"/>
        </reference>
        <reference anchor="RFC7296">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="C. Kaufman" initials="C." surname="Kaufman"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="October" year="2014"/>
            <abstract>
              <t>This document describes version 2 of the Internet Key Exchange (IKE) protocol. IKE is a component of IPsec used for performing mutual authentication and establishing and maintaining Security Associations (SAs). This document obsoletes RFC 5996, and includes all of the errata for it. It advances IKEv2 to be an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="79"/>
          <seriesInfo name="RFC" value="7296"/>
          <seriesInfo name="DOI" value="10.17487/RFC7296"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
tUurcR8MDlQ0QVTTK0mQXWsz+UTnbLTFyS5MdI+PekY/68FM8eFB70Q6PW3V
VZxIY4KaPD5SbfBz8m3Z71+86okXZHi+OoPtBfYBBwF4U13jHqOG0K53rR/N
ho/ZEg8gxUzPMno/PqCAHL9pDQEx8s1nifNXQKuXCehbaB5TL6uW67Mx33hQ
urdmbGd5NI6JaTriQK3HVm01RJcNaPRp8DiAywx9XMSwctT+cb95fmjXueS5
/JraMLLdiMityRcRkevNUDZSetM46bQ9obxwUhMkcIjYsSf2vPGkUTlIWZxY
/KQONPoxeLtJcYIUzta3C6xWURgjROzXOT+bvnORRQCSC/w2QYZk+Sq0ogaQ
p6QmJeXUtnGbxMPiDy5TsI1gUtFAZwIJKohbg/RJPEPZVsLasPBnyTk0b122
kCa1AAaFQGOKMbplPMEeZkCXz85jwpmDJPQfDEaVYjsFr7/S683nUk8mOiZT
UL/UK2Kp1sqKsMBz5IqiCLnkQ9rxisl7LuSs/29ABRssVhc8Enu7mPS1ZZJO
hVHxEX21sCtgTpu96AUoLaUBNH4STti3cqORN6/mj5PQeyaFo3EHRp5nThrM
SUWkmE1HvNtAuatGQ0QCsRfD2C3RqQGEV1kfnS+0nyycB8xBA4qH5DiRVKR0
DGPhBo0nx/0QwEcTd4Fraia1QSPFRM/jDD2JU59ERdKOwWiEJu+eve1ZlOBb
qSDE2XOm1hUwfYaRiMya08mTQ8RLASoVo8YoUtamQBjlOqFQlV61ENu4br8T
R3FnjEwvndqwt6UTJkAkjpMtk6gijskTsn39xbQo4zHGasAuwNYALH4NneC2
9Nmymr87Mi9uUlyzvtobC3MDFMSpvettXoK96Tya6/ulfcTW4P/TP/fv/dKy
fn6R6JI/7rv79z7BM93gE6lU/aTkVBv3HbVV0hXb2j39N7yToonbejA4Pz4M
XlutGs2A17yvw2u9+2bwOupeDV77rQ+v8+6bwasdpbPogWMAYXow774evDYt
f+yIB2GxzykI+yvKN44Q0sZWDVY+89a4f+8kGSejKEcTKbM0JjtS07RUAZJm
YMvlFLsY2xvV1giZ1TJn0jiC51rO6Ie09wM6g+qDH+vmTcUEKVsN2X5qZVJI
piiQSY+Uwa2/ZT7lPRSJHBQlLVl40hJFmDDaWrTFkwh4tPqbIgyR9SfHjYmF
maeOY9hva/yQpf0WFTPthdQd+F2q6EgRVMNIvpH3raagKUlzvTexGVoQksH0
YhKhKYJRTEBVe8baG53a7dn27TufDbKc47Kkn7zsvlCAUVAGF0K5fVUcnF22
CzhHOcgxX+din7HXt4HUT+qa1z8bLko991xmrDgqjYz5gIrDglaQo+EkV1Uy
CSDALsrGaIwGmbYlDQXLAJOMFBsi5DnUViywp2ANatqS6X9Vo4GT28qrLERh
1kZfDa9+w4kQ00o4/Et3IEW3zew8Vqg44kKPkHEiF0ZUvAHEYPD+3dvjk4b/
rNurPXp8hM++wvjdXn2w7ttew3t0wDC12+0vhUFcIz3Mgkvp8WQmySnx8eAB
AXtsk5elpH18cLk5aGni+6zMwBpJrtJiYGw3HUSTomKvMhAIEjG6phVJKw9C
hL6rgnZINRkpO9DO9bAl08SFT/tjFf9sWuTMpr7D+WSyEMDoxKvGSSkFDuqt
Ofs34bliUyQmgA9Uo1IBA5OL+hiIxm/QRjyHLUUMH6TZOToBV/N4lJDLEI2N
VP3V4AhoRqZDmQ2yUVucSM/Pnu/5CSv9UpsPsHA1KwzTRyM2pSaYeEgBa8am
ne2hQdAerCZK3EGMVlnYl6W9WPXByeWDiv+wwO/ZGWqZSqoxJpjPj1R5KDFx
v1n4YG9GcDArTMZooeQMMPt6x+3AJJw2TPyIVHaceLMuwg68+jLqaGnsNtIT
U9EGmTnwVhMwRd/orwMj/82+dNyQsEtl71ufZX5UVBMxZcDAAyASdHSzs4X0
rsvq4h1u03esymAIScT/wWwqEOnM9JpqSp5SNMuINLkT/M4IaJKkTBK2EqbU
pEmUIM0UcQxYpW9bsESUiUSTqzuwQIrfeELoSWAhi8ybJ9GnyDYlAVn0RqKP
tFQTIa15KJzh3cGdYUEqNQPpJVoXuh2W1OcKUbO9UF9tYiAVedzbfetgw03M
vBVGqAsbHUbnDvp7iHvNA/FtTxkwZxzlByjPzuIcp6hcTmyFyQBseLdoZR7H
0pC8w/DTh6b3EFk5MTj79Tia8J+s2eIH1QeQTGDYvaP5vTsbReda3DpZQgry
fgxCuC0eT3U8sc4YPbdTEFzLFwVf6eUu1OBGCRfnwLHSkOGjraKmYOkL8ikz
oQAbjKKSblDa4TXEam+praiigsz2bq7T+lwvGuawarmvpCdIi1r83oglEmNS
wLawzQSYfoYRethyqbQdz7Iqb/WnZYAEpjBjXr8Cc/HKZKBSBCc0PVweHn6u
2ARbrSpZynCPCWVx/Vvm3LGa0haHqAvqjORCISoaXUXTgnO8lGMZ1bei9Ayf
GUlL0mvPI0Ob2fO1bQcde7ckmZhUOZrxBWU+tJWDw9Z56cgC6KS8PbnfVQEi
kM8y4KGyc8ZUubrdcDfyr/IA2dmqt8H39/XW/vQp/O4ZvVMnKcJtXs35vkuv
5n9/0J39/fHbBTrAyO1sAHqNj+Z7B1FbjChEq97772Dvv0uGEmfis/z3+yFv
/ufHcz5nA/CaDlD0aDLyEbTTkHwPdJCbImVmp7uNEDP9Ndx422/syYQZn8mV
1bJiRrP1xkwB4s81HmGy8awJP5s34eUBI1CxXV3f4JaouuSX8fDdb3GevVvf
QKX3ZmAvTny3I78FeiBnwkd3frvB+e3efH7IWfzeNzZDvW9szuzd+zwI3EYA
uM91Ho7/uYCqiN08h6rjpqxl14ZFUxeNWSu9i/3fStspyU4nd4ILzmU0qmJK
eDaCmdzMllx2vF+bA/wu4PWyggO/zHfvhB9K59MngI9Q8ulQaVc5Riw8VKGP
Cn/sLBf5wyENbvVJ06L96zUPZSfLmQ70tcYjSU8eDVrXPj/JKfKJFcsCXyYk
6wYS2Chq+hwcJOe1wgk/slXRJeNkw0CCPEl8ejUYVJMoHaggMYKDDVdfZqWb
5NFYLiSbBpJnBMkzNyhPeHFifDZemNhqxBQmtlWnFzpGZlHsgp2ohHXbxX/j
TihG3Qi8WCJitwxiu4RYE7F0lrhrpXUaelsmJNsGkmOCRBzjIcShvcLi04EK
VuVgToAhUY2i/MaI5fzLov5iidPZMdNBeQe/HmTjcSaPs6rpiG+wd3YNJCj8
aVCdUakYyifrmcNRlgmJsIitx5BYh1U4cnXtLn5UW+J6MuzXFxmzYx8se3XE
3NESTN2Wz8p4nGHpaG2CVRDSAMCc5W8mRfgbfYKZA4U4NsiytjWUshm87g97
KqLA1CmDiiqAWkhDnLoZVDl6l7Sod7t3rAdPj+JneiDFUGjFBliPIB5ST9JF
ZVgOu557KnAbHtEzQRYam7oZJmOZJUQ5AAoUBUYUYIg1MIz7iwSG8V/aMGDW
vAOHRCX1orPMnDCxSjQQf8Nu06xUXTeDPToLNKNHO8uE055yIBZO2RvKKAb1
Q2RssuLNVxQ5FGYJAqaR9FKa+ScS8yaXV4FH/TggenjmENDr7t/QNfUQWj55
dSSZBZ3jLfgD7gfPqLjActmEByqsYTluPz4wbnzl2PMDBovnuz2ko7e3TnmT
Jw0LPhbpg2EvjkmmsDNp8RyeeyDEjRBd47JTidREY8l4Eg1KO21E5qu3sQCV
Sh2wj8vWYjl64b3pW3midlTVxPdle4z2Teeck/OWI3RyQ5/sQI+m062Vei2/
tVZD5afawWWeXuCYmJczGEhFtE/H42DqZOJs5Jmw41Y7cCpCBQHZlJxM9RYN
uW9reY+K+rU7EzfG41qYZ06CdeIlVt/iwM6MnhdIrfZyx+uJ0HOWg01wYqQx
QJ9Nb9tJU4ms1I/dm7PeAVrx/AMySIrHvkUN3bo0xypgjTwBq4/HL6vx4ykQ
7WH6MhphQkejwauB7u1WNGKnlaQDk7tnHSYNnsekGhI5yAkTZ8T5YXmGOjzS
Pa9zxiKxvoPM1rSQ3vVVOnz0ToGvnOMNXVLGsIgI1OJzGaUqLwCDLC5t+WPw
4XWLjWSqlUK3W9vEHBZ3+ok/2GTkAe9RqH57XYSEogjXB0i8NOL798KoMj4y
cr81hGkGFNVPhsM4ZT8XvDcNd+yGGkcz3o+wlAzog+b1pv1alVSAFu8mo6pY
v38PJOVcklQgh1df+uLsD1/3i4nYF2vyFUxtVSTwYONX+Oe/RGAMePHLL6Kh
HIAI9aOGyKGfd7gT/lnrHlr/61cC3Xf8zUOpoNO8fSviusY7NYBeT5+2Sff1
45NjZhhmS8rtY5RMs79qfsTgeY7DlGKCyQDtX+9Qt+5L1TyZyJPwSKlO56fk
cHzeXkdY56S81+nFm6+OseZq1tQQcSZjrql4fHTwwsCGTkvc6NJicTuIap9T
EoDbAx8+kblUyj4KkDYeOR2N+BQ0y3qMP2LbNRxgZ0PKFCyS4q9vjf7FOEmr
Qqxb84+swiNmFsoU0/LWBTPcOUOKGphLdVqBDRXsqAvt257vaZojskpdYX0J
S1JaaU4RC4nsEpcIjKebHOUxEjJyLX/nFFM3TeO5hSlq53fqh3fmHt2RYOSR
TtXyD+1cuXoC1Z6Qr75Q+ivSkCdsAgrJF6FmibrJjtz/teUNqCdfWzmpOXlQ
PwkDtbiOQt8vX0fxuv1KOkp9130VRcUIzDC2amqKaXaNmhJA04z3QTXFvL5G
TZmppMxYfqmJLKyi3FxBWUw9mYfImcpJAKlfUTlZUDcJ2/A3VVT+ohWVGaRa
JxhhSozcQFXpfamm0rteUQnAehNFxZ1uXZXAnLClqCq8j26mq3Chg+N6WS/2
d2h3g84U3lYlDvx6LCpP2Zxw4kPEhV0qZoZMs2uf6KA95yHPPD7N0nVmGS+M
4OMxnMKvVMOsoxkqAGqKGYzqBW1UCT5ZyqYtfZVWn+INHglWUth6nnjsW1ax
lXne9hE2OzUgLyf8vVeSRpcrpZRkmXBAGcxu6SCu8lEETsISt1sLhFzWA882
As9kneU1+GBDbIotsS12xK54JPZu8ow6+aX1hf9RL5/e7m98Ov70909CHBzg
30ccVjo+lbEkCbiqYajKpVixpuXBEkCY+kEdvCij8WROm68FC2gag4s8S1U1
2yKrcsDE6snJ64OGzWXqsOx/4X91vNCZFnTskgdeQnLgQeKGfT9di12BZ6Xa
cxssFbszI4t666rYosUM6sxVRxiPovw9JlejYnrU6MCuIT2M3p3EptziKCpK
VT9YxckGVCeID0p5YTE7doWA6GgL8e2EEs2xDDWnsOMXdFPBCE1L1f8RQZWk
HEoi60vVmkPbc0T5xqlVwRZ0h2lWgcipMMddF7RVkTglcUjDWT0+hdnu0qET
E7A65SAUWCOkgpAIn9ifKb1KBixM9Ql1pqq0CjiQmZxxDTRdCgyMj7bGr+QM
L5kzrJ68xBXYkUDpNUCOrWvdDQZZPsR6yow6i7Nb09BbviM2N+zulJQwTIHE
aKmjJBi7IZtCN1DRSFUgVtAFF2JvTbx//htWvBq8F1iKR+MGQVVTPPSMHzzN
nGbYu1fPBuvRy9N38kAbfa+ObGH9C+3JaDS1UDdgqtGtyWADjlXWJ+OUIakT
NKKaVTYJPvXD9hsvgSxrq4IxM5UCJnaKyWisvI4HcYKBPoYaab4+IbXzWCme
qrpcTRFfxrwnyAlBzj37cC5btXpuVMhJIdwqI4KVkxjF1+rshrBO5vFzTWuy
Ej3oJqwCSe7KATv5ibIwrGrieLTDqh8aMXR8th4HQEzSNqCz0iPKsJNntVQz
K66ryT3HC1RSnL3NEfm4i3Zm1W0Xva3altJVr95uq6vOgSZbJ1Oc57n6jM+T
lo7K1g6oYWQXUW0gu5So213g7DL+BHUt83KuxiSbLSaRQL49JQn58g1pPvz7
i0P+/fSwJz4t3t91wo0QYku449krwjLuKfDAuX78a+l/pjGNE+6EwikLmcLq
UNh3Mrq/NCAwOx6Aa98JudpvgJUfLXDwZSED3ASdeYEzbY3fCEW3ii3Mg2K+
1f7AGO2m5KoKPjimeR7H5qChqQAXuILCqt3qkBu6b3MpJfkmBluG1A1lWTrr
LMlBTcWKEehJK+pSRn1qjrO26EhAQUWxLkJ3dBD+kOnoXqmMH3uRNQSyIlgw
VOzsMGlDG9+xLJump+IecLWmq53tpYfgGcg09niHS++QiERg0AvJ+bNlRxwY
R3hhmiglyB6flfc68pMa0RKRtbg7yRW65+d5fM5qQ21oXQDSpF+R0iwB8mqf
3wiICMaVIDx1LjlBJLizr/qyGE8NEzceFe9TUezw1emTjncI3lzHM8zignbc
CDQ0eS4y+Y12qsGFX6dCL5BUnUhFdq9woQ/bM/iHGhMoBe/AKGW24IdkXI31
8BYxDxPMp8YbIMjYQXlSlDHuIqtRweU7pCIqvWyy1kNFl6swpetA49ko/pDI
+hR4eIWKGlj9IRzVBF+9OXx5urP17qj7d96BOuR54hGs3OSgitkE6FG/3VLr
y/GHiGaIR2+NLOC6mqYmQDrLhWfK20J7HTVkLbOjAky9Vy9fUGv5twRy3Erk
6VtcD8Wz1CAcsFNgOrLfabI6Nx7UaM/CFSk3lBgpBwkd65cwMSe3/IqeRjDz
vK3eLyobLQxLomqD1w8t9QtAaAsbBwvtzVJ4A89mOxeX4FtcipNH+psCpMY/
8j2R06pFb+owyKdlQ2JTKo/YcCCZ+bMYJIt0ct1I1/3M78RwOnWC6ntBIn9u
tDqzfjrtdltdACCpaUgMwoZkCXQyw2gzW1YZbDNYUN1oC5C+MsKocCfmH9vZ
rX7o3vJZsdnkJLZ2LSGj3CayJF8fXRAtdQUbOYqDMJN+Qo5Nz7tPVwwwsDA6
JzV7gXudFk5tZS4JbeaksJP4tb5H70iWNJ0DBM0Zx0DoDylj3MGsku0z8IMe
uwL9ci3QB1pDLBUBeiZCRrexkacTlmCNnTDp1Faxdd3F0gHaOE0V2Kp4M97W
RhKEG+vMFx8q+yACaLXaMqlN2gzaFq9QVblKQHNfDU/IGDjao+TNpBGeCl65
YaZjyk1bTHKB1ZILpO4DmGPB8aUZqlyWLaF1hcdrKlXpRbVgbCFcDh7WaWEC
ew8dHeyzZ1MXu7WMXOlQ8Kfvr7u1JHO/CKA3pEO/Qp1FhiIRY66VtQowN+ZA
zDbcKOPKy7Ky44W6roGXhL0FRi7My4OhBDzLxPE0UbJCwmZQIVa7x0XDvgIS
zElTgt67DxIMYlwVArkYI9FqNc3csDnOjCJZc3EUdp2d7KyMU9b/InGGtwcM
Ssne6HY2H2bF/o66/9AHF67yaBIy4dgZIx3lMrpQ87LPMvJmGvPdY81eSV2d
YbEH6cHfWYrAa/61OQJIb5etbYXIM1gGXTupSo1FqD1DpQ/Q9dlVNFHAspWo
ZtsWtc3TrmEGUYcFvvGOvshaQ2kb1jRz+F5r4HXdO5oE62T+sfTuwLoj5exv
bTcW0IaXrnff9meWjnk6jyIW7WQpkDg/fxxtFxih1HXrjB75fCOg7DKvs8uv
+Q6GnMOaVoINbd6nIpzqp45T8nvY2DFWlFbr7elV+jMMiPzKOawsokN9r0ve
CgqBK+Mtrug5nDEcUGtFvvzsCv0dTkN0skg9LACv75VHv7rqOtTjKZ9cntuj
uoHMFZGCL02O6hKdbibWwgxH4OG4JGmJV5+x3Jsl9KxbiHmt2Q1jOH1AYhPV
mHi0GdUPBylZxdLZ8sGj0u5+KqVSfd4a6O7xF+q2Wk/1lNsoiG8W7gsrq19f
69TylFLMoxKvs5UaSZ15rnbfNPS1GfILUMTQRKo3xiyIGCkiyqcePZRZCRM0
99YqzRN6VfCcqUu54dmhimwYq4ocp/LOQLwK7wIsWwzV8/kN1i+xTDDyRv05
SX5UJ5WFRxk4p2+4N/wYhrvMAGfwCSvGjsN5hqOv+0bwFWWgDQJrUWeU7Uu8
KcchZKUyPrSBza9Mv5pi9MTtXgPqUQ1AROmbsMoTTWxf4x9Z4wHjtqe1mIe2
V/H7aTzAFiTh6Z8/iqcRfzS3/u6QiCXpXothf6buJHdbSHWiUCXx1rritAxX
FfOAfnyOFpZORqRN8dBxJxmL1OE92jpznXQU0g2JREf2znXOBbQVpf4Yr5kp
6hLW7m7sNUNViAKhyHVxrpZodq1LwNzqI5xTg9E1Z+5KDwHW3I/Lq1imrYWn
L106bhGU4Pwsvj+IudBGCAuuRrM0FOKnKlZ3AwAEploE10CikBusg5E2rEaZ
2Nne3twhKURHAW/rymzWaboIKT4BxddQXl2R0VmXZZZbRXHqarOtfnjr7jqj
8bmlFspkCKza2FZh8ygtTGe8J33I5kAiNSPtJHE8M9irUZ3UfSk0RtthOXN1
0w1zjfebmm7OJSSv86bWQ8Rh9TY0Ud4cZ8wBY8drhETwMOwlX0gvnjWcNhTq
4W+fnxkIc3UtrKqObQ5iSvHv8BSdOGAnSTjLt4q+cfQVNmbCaaWEWrSnlOwg
nPMIZtUtOFKlsGvZ9VcLwCsv8dNanob2ElPWSDhTBQyMp29gXvLQTQ7MYcDZ
tdJvrLRxPo5cz+Sxr1m1sm6bYpIVRdLHy7tB+mH6/CBrYVq29Dfn4n2aXY3i
oXFkyqvGMEdLjeoljHhJE3hK6NwRcNggHlRUiEx6nKnzqLSEncKCuX0ZWage
xGR8M106fRJn4ds9igFeKC/zf714HaCVGqXqNjILNfS5zbwNO4VhKTZIxZcs
iSaZEWx+Oi+hsFMY/h05skU1iIcq1+QynsZDNTKseFPeckKHgHN57B59wdan
BmNBT721i81HbezceZfGBTz/VV2EhqOb91ro21lSsjL90zdtfa5AH0GxEu51
1gxn3KBpLG+1fPrGO36AO7+FH6sVD82SQ7jw7fWpOVqhMw4rOdrWDs2RFBjs
Sx3Rc53sduKO5EXBBnXeKe+YhJ6dmIZvfzIGkhGw/jLnGxlqqS/IkGZbo19s
jH65LboMA3Ce731HWqJ6mYSyXC1LdXlw1C1ge3kd+7duGd0KjkAfy7D95vRh
6PL2fSwDDvpZcF3m/izi/V8CfcwyYNUWVSZsXYAH7FcpEOqZ+K5koEoqYdkd
CBZIpUteO8PHRqidrrKmh8GjaaVzgzofEjSFUE6ed1+88Fze0j5DYQBmxpkr
ox35zSF6GyArx3ugeL6bt6pPOembiolr4g0nfFu7Tp2mk9ukdtSR3aTEUzY7
tYB2pTFls9uRdey+Z3J/+OHrasQ57jJMo9M83WY5NpPlcMxhS9QqKfVatJgI
l5Vb4948p4woYzV5hzEtvWV2YGBGepK2ZAzVVOWkKvntMrNsvmBSVgiIoy3F
vCnheTazJlYyGGd+U06F50P3E7DDoSF9oT2pHZhJrGKtrCg50Q6eofaqV6kO
CNwg48OruBkIHKltZGddDGNKNqdL7pwK9gWVTnLOWtKWBZMVdtwIi6fS+CrM
wckjfcd1QnP3gFCWxWWSAQpxIXRkgQtrRglvS2td6Bbc+vEcXhMVfWLTBWZO
1yIARLpfMGDUlajN266gxxwdQCgny+AldJLoSl3thB4LsscKgwqyNGf0La2L
6DJKRmjbuYjBFddKdDBtnadnBEUzYBDa2d8yj0cxOVWOApZmEE8QGrBFhnZe
pL6JDcj3PC6dzVYggwgc77Sgsq5iRmqyWIG/szl2JLD4WIL68rQpL08rqKnO
rdS3ec3lZW1Zq8qfiJQ5pIk7107J8SmKeIpVkWALSv+MkQS17lgYGOZRRu9R
zhcydRVHaNtSoUtnruj0O059HOMdWEkxdsqIyDPt4yiNzuU1wChtakf7hhXf
g8knz2EphvS7vRCrdC3EULaSJ6dCuayK9TvnktkFkcfjjF1yeHEwsI+xOsrI
yblkwyHDUisAWxSeZ7nFkfT2Jf9AKi0qYE7R1Bzwxz74mDjXGmlJyvArS4zB
gCILl0ahPe5uG5cbedlhRqeh8Khznm9ry3HOSQmKJGjqy0j6a2O3pAe2Rsn7
2D6QtfigW9t0inDTHdV2xQWHdia7uKuYw8F00G5o7bymt6cX0CjkEaEgdPK7
JA9IeV1NTV3wOdA+9iSfK7rnzHK+QhWYsNSs9Bsz9TSWOxDL8dAqDdmd5ilK
feIOVHVCugPHsgjinIVCZq6vZvQZiWQWGjRV2Mf2Ban6Azu6EPTu7t4j6Sl4
DeIt185JT604C15siDqrGk/fKY5o4ob6BJx92d5q0dA3XMKWndTU6trMDHOk
Ih2yMsLcslDmKogWO+WdKpe6VtTOt60VZdVi9Cpc3qww49cvHdWlyp6Dqii8
Mo5bWBZS3cErNzVaT24FTaxRoRx+9Zk2Tb2MAR7QryGyfielWg/WkuSZY3mL
c19KyG9U7GpjCdWulp4iclfpKgxLAGHq567Slfz5/Ve6uq4OyMbcKle2aPij
VLq6K3N1V+bqdmWuHHG9hFJXM5WY71TqypnfXbmrJZa7ChRXCheZ//jAXF2/
jLJXw8nNi17NLHh1fbGrRcT9IkWuliDYYOozRFsQ821T5GpuPegvLXIVqhv9
OyhytdTK0tdVvArUbP4qFa9+B/WnrapX88pQf7uqV/OgmH+vxl3Nq7uaVwsV
ftIScPJ5xknvr13wCiHAVITJt6x3xdPG2Hp1V/Dqqxa8YqaDPzPLXlk0eNui
V82vXfXqcjgeDH+wkldB9eC6sld/+QZlr/gLPFk8lGzlj30aTYgfqO4VU2ox
9E+9/XFOo93VvfoSOplhy9l7doHKV0G7bkXu9e9WCAt15rtCWHeFsG5TCMvm
mzcqhOXdPXiDiljOhzeuimUBvOyqWDVcXFufYMYX36kqluZOteW5aXUs/AlW
yDJmy/crkNW7q4+1/PpYu9+zPlZtG329+lj0LS88qel/gvq0M8/q7DZs/Sys
Qd/VyVocEufnj6Adu5slVPIhpBsPa7oxc8A/TNWs3d9n1azeD1U0q/eNambV
Zq1Btkpm3U4LnqcBRyGEs8hfWJn9+lrpXdWs32/VrIDSVANwXtUsXDJKfx/+
GYqFLlQ6a5YX8a501m06uSudFVKn5JYLKVOVOno81814V0nrrpKWlAV3lbTu
Kml900pac/XV5VXSulblXV4lrYV05btKWrURb1JJa04tLTsj5a6Y1h+umNZd
La2l1tL68kpaj5ZZSQt5p8M6l1hICxGgLFPxJ6yj9eh719Gak1JzV0fri+Cg
nwXXZe7PN6qjJWYatHKTXlNIq27ESokQTvS/K6j1wxXUIi/Abcpp3RXT+tGK
af1YlbTYelhSNa3eD1BMq3fLWlp+Ia3eD1JHq3ddGa3ebato9a4povWnraBV
LLGE1l0RrT9ZEa0/Uw2tP0UJrd9/Ba27AlrXFtB6yufRjpVKUsyphOWVu8om
ko1ofabAehjANycTWi11XEu95dXEZycxk2WP+p5wFm+eldkgG4nVk95xg3H8
6NHODheMiEZFphzSstYBF4Fie4SsHKwaAd+2xZP/VAlseT4AqkcfKBVBpYzG
oyK+QlFD/eHXxDqoLA7AMZEAKaMuo8MGahBdeOooHiaROEU2A3SQkF8J52MX
chYfH4yxWQu5Uas/1qlp+iAvcZ3kPKVUwnRq6Yh2IqyqioVHJOXpaRw3haYd
GyH06qTql+YtFSdnYgXsIFVbqOmIlw+7+PJVfU3lp1RObdBKhoOmfDCKL+OR
/QBkGvyvVH+WCYiQs1F0rh9kgMy45E+c+1HixHuANdQDjyjyMwNOQA6sZUIZ
6aiewq7rqNjR5oBFhXI6eo8RTfbDy0lhjY9PonIU1Z+VOTz6UHuGOoL/AjZF
rW31oUW7XSLJvNGTYnSaF2Uyij0o5CPCTB1iZjPmKTCgMXDv8EtaBhq/HNmr
qx5ZC6oeWUShW9mrrB7m3Iq4VF2Q4Io+SSWTV9XoeGd3uFQL6czAg6scT8X6
TY4xdwyDEjHXq6NWkjcfoiZDsRV5pNb/WFL+cdUfJcVF7PFc3TkJA5QEoSxz
SmgL8iO5XZFFIJV1RBdz1qydSi1B+aSyPyn7MGQKBn+GsdhkgG8vOVbiHNq2
k/9mzKw71N5zfQYEJ6YmDnsHBv5fAmN0YGcOhzkq6GXGEYgBe9KU8HR6eD4F
5pS8F/8AYS1WL/iv9hT++h9SIIfJeVJGozZQXUOtRYr8u8JaOx1x8Oro6NVL
Zkp84pqdS6lqcOpizzJTSFYiaXBcA7bEBarTTZQVdAxDMXlSvVAVwuW7hI7w
Q7uQjTjFt1jaQ8WA2HmgOjdiQB43Uz1TPBxtM9C/OaWxAnMz74B0iwX/Xvwk
uozP2AhUkouKieN3BxekkEq5M4qhi8Mnp09pcVDiFbx4uSVd/rdYBQshHYLa
AQBgzQOcdAMWNRMLSSavLo8lncg1+rUFVF0+kcv/dvKJowU2K6IHNgfjB9lQ
/apEFf9lMzZ+UJdU6rukWU9IaIZTFO4E1Z2guhNUd4LqTlDNFlQgpjSLNEYo
GIa64t3HB8rQZHajRVPA/rRPAyqLfbe9qW329bW1zS2s90sxI6AcDhlVKbmL
4w9I7Qn6VqrJ0HjsTDUb3gqEi59/Pg4Oa4/z888KVu1+M8mWAdbOlfe8oVmU
hlqbnM+IfAyevwvWKUfnQpaq0oyX1YVVmO2ak5NNmZaSKEIqaJCi6rdMdUXs
aEY1HSJunTaF7p0rXSQZfRWq2A4lcE1NgiYlIF4mWVVYmyMA49q2KqBiahki
gLbFj2EHdByg4x3kT/KbcazxypuZJGfWqRFe4BCBOVY9LpcFoV4uXnfPbO6I
wEOr2BVnDmI98PM8qya6bqrxGen6bNj04O2JqphQtMVhaa028cT+GMTZO9nJ
O+r4HXX8Doe97tSsAVWLVxt+/dCCPxL01IWS0zmJbpTDexUgbywAOvV2Q2Cl
WmeDKh+ZZEZTMc0uGaBv19JwOlE6akeSlZOqp5L3FlOQPB9EzIGMBU4jh2Zb
TIp3ath3elh4VGJBvcVnr9Uee/76oZciXkpBXMYfTFFjXblc+y69tZi9XNjf
OxrnBgAbDcwB2Tz29od8g3uin6Q6orS8fSIHWJjsPC8Wz8J76BzyZ23lMp56
IV90ExND0nRY9Q13Yr6TVWUrOwOdC2NFlnffPriZBCpQPZ9XgaoGMPrZ6vNI
hs5SyFxwKzqhz2UQ30ctRasQsSy3KzmvmqISamYAPpw/HkeANtwHKAZXf2r+
1BCg8VKsU2W1sqTQAQ0JGWcjOJ1aCTBeRrVVhTuIAzJUAgtq3eUcRoiK/akE
ztqtn9J3/PPPIeNw5nnma6SNZwQz4N7DL5A2PbOLanU4r720or7rhl8qnDwT
357uwsLpyyZFe84b0MiM0HxvJtG0z6Lj/OWxcVmVlvNUqNLNSBoaYCD9uypK
FZXi+VO9JrzPRB+SkYWhTf8GcgQcnrzDzP0PIVjX1xxYHenrPFpE+orvI36H
Xy591WQ9+es9vJ389QhnWVvvZtJaz8WX17XHS5DXX5PT3E68a9dfJ/DsRtLd
4edLlPBza0zWgEYHZX0qw2XKeHuiq/J4A5mO9otGu+5KXaoSYPV7Qz3Ad+WG
0XUjNaB+aJ63FkbjD7L0PC4Imyr67PrI7t8LNEGKwZE4W1jRYOBaDM+TRNKB
z+kYH19f5TjzVpEuSb6niQ8PyeGbnmB5kfWMcKFiKM4dUWiDX8SjCWdOUfre
OCmTc7VSpmNY+qKK5bmNqm8y1ahe7nsqeisTpel8k04Yw4xAAklmsiBEqy8U
SD2Sdw2GUWYHXSTnFxJoS/XCqzasWEFDlzdWkgj+AOn6njc6jNJSSWMBDxQu
DmFDT6XJaVYKb+glxaw8hJazXvDDVlmlmOvVq3Ly6cV5kvGRPmcFaAZxbiEf
E6+xS76dhXlHSRDBaj8k8Smv2KANM4rZM5KkA4ANkxZFGpdXWf5eIPe5Soac
CVFU44ksQUFpYvFlwiuXyHQZDQHfWgJ7AQQ9Jj5ZS4jrhVk9tEiMPSrNZpBg
xiSHKlFoMkatIVYpg3T4axIjctS2UWkkQyuNRHlB6a43et3C15PPOrFlmA0q
eSfZmIraE01wvmO/SugEJVUMOek5GYIznHwyeUyn/6xcbg7OxuVkRWCMBa9X
inV2H+m42JCYJWEbm6+wH036Q+kHXSYyz8YirkDf7F80LxBoM7C6HAQFE5VN
IVeMOgnADuvaMIqjXsX5XC+h8sDpmt3STWh5+kiopepsWRE7ozjezLZ4CZ8h
9GF3rjZ3+Mo6mSWnz5uteGgx+Tn0c2RyklTmEwUmLR8uJnn1jpXDVh9ucdFi
F+ZRKb3qLhslUFaifQaG7nOCESknSV/0FH+YkJ9dlsW3ggYYWcDsTdkPFUPl
FPl4nABJAykbkaiEoYZvn9WDSZRgHpaemJaShkp5HP1CzeMqR4aR6qzp/1SZ
1EPHUf4e2OPKCh3z5en4A1gHTah7zmJHB++AQ14gzijJjS4w0nlpalC8/ioD
gsPGTi3Ip/pgh3a7HijNUZ8QsVLOoj7yDEU4XsqahWyZieb6yN1KYQtkqRE7
SWPh3IBkpa6p+41+5lt3ePzUUpRWxvsOoZi6vSb05nUSqwCk00+0n5cTwEO4
N539Zbqx7qqa0Yf6eG8NfjwgAvtD/J42yHVzWTTnjXIKvmn62xchua7QfBt2
JG/KWpC3+p5Cy1Zk+GhOdfGoub+qmjatMSf4OxlapZNr4YkqLTG4bIQYZwLL
bOUkJeNM3gManAino4dTJPCcwIxMD9CRfqKsepMAznagjwvrUAfqfOVFVdBn
+hJXPLaHN82qSUo1iBVr6j3i9HfdpcclnVQVQ0g4IvxRV0EKPlKuSKE/BVZ+
Tsnl0r9Bq5tbNGkfJNdQSD02rJPURte2KK7e3E+lKtDVid44KrfVd75G0rDy
Aqal9PE5h6VZBJKh6l4j4xUxG+/b6RNbe+u7a9jPw+7bY7H3iJoohtvZe8RM
4iHxWvkOJ4pvanxgf625LttIfHSCVLX/qos/+/u/usDJqhjBizA96foDyC6d
GfZlsusajv9HEl4/akLc71F03UZueTdff03Z5XoUf3Qh5kK7NEHGaR/fUYa5
Fe//3HKMNv0cOWYxhYXl2DMUY48fkyCj7RiWZnQwXsq0uUaic4uxtTjsA2AX
u3UTvUqI22tvtNfbtWwyRZ+4gpSwavY8r7fXxUa4Cw5p8fkvryCEfbPXM+VD
eqp9SB8fKMeSTo4LeJpmz2qzDpB02embZQmgNg9u+ZfI/0KhDVVlTZ/R0sdK
nSRS697blTFzeMnhApWd3zopWm0zdRqM3trnqo036NwFkzlGmb2PVcYrkztx
VSQLBvencTL8qWUy9CxnpmHdxjuAQqm2XaJ9GrtDwP0XD/nfPr2eOoea1W7G
QrkUICUS1N6as6zK7fHR7UqXHPJaUtqbSyx4nXdnb2ffEin4YHffZlP87NG+
Ur+5vjL6Mqg3j46pS6CNBhesLLU+yChBPNK8MWWW67ypjuhx283Mo5CuTSuX
lD7M3hbmgfRtmBF6Tj6XW7Xb8NBZBFVG6f698T5vri3kTYaF7eAHin/tiOcb
O1vMvgS+UIwJ3mD/Pmd6YjTsaB/op7OO4zgME3raMKPt2qPtkuSwRuOhdoND
GSYo1GAbocG2HO48w8QQ1nCPgsMd+jPbDA32SA+2jvxejwZ/YY+1wdZZKviD
HajBpG/f3S+cJkyH8pFIu2lxBb8eeBEymWk723vsJPGaIj3uveteyJPYt1WY
Ar9kpudzaOQxU+30tG5onaiEfkeUH/I+p1k9lDOi2AeVSYvoAZ+rLqmQyKQs
rG0noePInyrYyWElqjIzdKu6Oo73trqH3msKLF/ebquvOm7OGrKPWbf/BgEi
jxQ7SsmZOWoe8V3efWAKlJdiiuD4+BOrFrtSTKkZToVqMntq8IFiZDUqwsZt
Mxmh2Vvf2lQR8ACbEJpbP37zsvfiiWIV9hubheDz2TzE1oJsLsJvZug3KMj2
t371T/Tsr5GiUz/Wsy+7k5wGfwXdlDacqPK0k8TlWYeWuugAMK2LYQ7vOwUQ
ewe+4RnM5072PHaZZYhFZ7J7u5lsLGsmW55iWtNLF57Jo9vNZHNZM9kxM9lz
Z7Jn+Or101i/yTS8F47Rt9/9a+8hsOjjh79dEa/u9q4Ou3/dfgx/ver2/n3+
V3jyHji4wcXW7XDhM3+LtTBX1LxFckXNXMgQm8Vfgrct3X7/b99w/y9tw65d
t1ntUQk1cQvTdZa823wTcI4FOAOMpWyVtcW3SRCIW9FoXT0hBaUXD0boPsAg
J4r2un5CdVQUYVIdHjoFJsWwOjZHGTxYxUT3VpTTkayF5KYFuWbcdt2Mo5v6
dIIPB1bFYfdlNwAdTMHSusnEsk9y3b+HAXrzEtMmMHNDtaI5kGqE/f8qDzm6
ZS849ch5yseN1f1/ls2g7TxAPgaP+dCwNgHJ/ydP6WFF5qKM6FwkF3LCOV0k
k0IXIbSyUcgRSOO4bhOsrYwOMzYe+bo7bGbuuzuvWb81BERenog2zD8rJ7FO
P1FfyUTeeBxhSZ6Cv8PZxC36GngzIE5jVntJT/QXCr6fqP1PRH1dBeWKWsWp
hH+VLTTZx7UhbpMiYXpqeH4iQeDev/fLvvPzi/dv8M9f7t/7JMxcsHioOEW7
Gf49qj6Ig6iMzzOA/pN4rTOAqcLobUdzaewT0wKVPH356vVR9wVXMBUrOuVk
hUZrOT+/eP8G/3Qu5BBcwNRdWX0Zhzn7WjjrSsDhghqy5EqmBG79Zk8bak4r
AypHxdlyjwCDUNcAUT9Yf05QLTyQl2jOW9XwVKaVPNHssg1KspKnmOl0rJX3
WBWmIJLjmp1vllEGSdVH20L7gsLHqdEkGFRF4RXLcnqzsh6byhU3O+lR10tT
QkV9vo6fy4dP+enW9qNt9fTEtN1dp7acmUkvnop/wovt9Y2tf1m3UcEgK4xU
iSQEQ+887drriL9dTOldD89LvgT77AhP02JOmbq3nss86BU6yUYVzn2Fxt3d
WNv4l8aUrm2Ohp5XwZtX56dCsOu4SKTVijnU/DlV15SjX6FdWsih2AGkEs3G
saxUCMZYMjCrd55Fo4IjC5jgzX7ACMdockpvTr/SyfusyoEkowq6wa2An6ts
V1hBWThRxoQ8eEfRlM5dwzKjZchkqMRq6sQm2WRHV+cZFl48rxJOmsWv1RYw
8FupgDI9EWzkKC0DMnmFT/bwDtbLTLm6zHALvTrr/2L7tKvSZiVHppvOOMRA
fn5Vh9i45JwESw63kAphdGCr6ppMq52xk5wk+9nJjRmVF9B1Ev1V0ocWqMJo
UlYeDE1OOfUOX7tCWEc57CIFMl0MyxTYRV6hI7BVckpIpfKo8uoaGC6jmwJq
C0clHCPJahV70cuu3ZEKCbg8xDhsYORtgoQ+PWQfr0ac5BGoYnjWWfGR1V7j
9MWJ9GBgZqrU1T5+fHxwvL63jcekc3F4DKCGGiGb2VzbhFYSnL0dAqewp97m
ohQYo21hmWY9bc7wdhbH2WhZ7u9De3TSbfAkNh09YybT6l7hRn8pE4Wf8LEb
sXrUffmkwcVMJnGOjATphZW8iD7Rl1sUMsxB9QKRr8jCeZSLC1qGEh+0UqTw
mgT0GaASTyNwEVh5d8ol1/AmmKxh7BqpDoBX0ZRSnPt8s/UVU7icDa+nmQMm
YOOcOaoqy9XIyoWizDnJGUFF9omMkm6fcYPc9lakM0Bag9W3V7Do7Q7UZSBj
Fc06AXaSXAIZPKuG1TgqqlUqHtLjKhagMaXRMGKH/rMqH8bxhGTFhXh8UY3A
qqA3r0bJJZ5BOsoG/6kAPW4fTyr0iooX5bDd4AMHpEzKcpOoxubRGd2aOsha
EdeQkFVfo/Q9RdKwWsQwe48glPG/GYKmeA7q5GgoTi9jWLXu6BLraVBZjKNM
/F8AHCnzRfU+Kn4T/ydLYRS+26EHGxjWRTzOMdVSPMuj35KsSLjuKYsnFkR0
p8eYj4NFfa7+q8Bt3/v/T8MPTxRDAQA=

-->

</rfc>
