<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-netconf-restconf-trace-ctx-headers-09" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="RESTCONF Trace Context Headers">RESTCONF Extension to Support Trace Context Headers</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-restconf-trace-ctx-headers-09"/>
    <author fullname="Roque Gagliano">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>Avenue des Uttins 5</street>
          <city>Rolle</city>
          <code>1180</code>
          <country>Switzerland</country>
        </postal>
        <email>rogaglia@cisco.com</email>
      </address>
    </author>
    <author fullname="Kristian Larsson">
      <organization>Deutsche Telekom AG</organization>
      <address>
        <email>kll@dev.terastrm.net</email>
      </address>
    </author>
    <author fullname="Jan Lindblad">
      <organization>All For Eco</organization>
      <address>
        <email>jan.lindblad+ietf@for.eco</email>
      </address>
    </author>
    <date year="2026" month="July" day="04"/>
    <area>Operations and Management</area>
    <workgroup>NETCONF</workgroup>
    <keyword>telemetry</keyword>
    <keyword>distributed systems</keyword>
    <keyword>opentelemetry</keyword>
    <abstract>
      <?line 65?>

<t>This document defines an extension to the RESTCONF protocol in order to support Trace Context propagation as defined by the W3C.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://github.com/netconf-wg/restconf-trace-ctx-headers/blob/gh-pages/draft-ietf-netconf-restconf-trace-ctx-headers.txt"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-netconf-restconf-trace-ctx-headers/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        NETCONF Working Group mailing list (<eref target="mailto:netconf@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/netconf/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/netconf/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/https://github.com/netconf-wg/restconf-trace-ctx-headers"/>.</t>
    </note>
  </front>
  <middle>
    <?line 69?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Network automation and management systems commonly consist of multiple
sub-systems and, together with the network devices they manage, they effectively form a distributed system.  Distributed tracing is a methodology implemented by tracing tools to track, analyze and debug operations such as configuration transactions, across multiple distributed systems.</t>
      <t>The W3C has defined two HTTP headers (traceparent and tracestate) in <xref target="W3C-Trace-Context"/> for context propagation that are useful for distributed systems like the ones defined in section 4 of <xref target="RFC8309"/>. While the traceparent header is portable and mandatory, the tracestate header is optional and meant to transport vendor-specific data presented by a set of key/value pairs.</t>
      <t>According to the W3C specification, each operation is uniquely identified by a "trace-id" field, and carries multiple metadata fields about the operation.  Propagating this Trace Context between systems provides a coherent view of the entire operation as carried out by all involved systems.</t>
      <t>In <xref target="I-D.draft-ietf-netconf-trace-ctx-extension"/>, the NETCONF protocol extension is defined and we will re-use several of the YANG and XML objects defined in that document for RESTCONF. Please refer to that document for additional context and example applications.</t>
      <section anchor="terminology">
        <name>Terminology</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>
      </section>
    </section>
    <section anchor="restconf-extensions">
      <name>RESTCONF Extensions</name>
      <t>A RESTCONF server that implements the Trace Context propagation mechanism defined in this document MUST support the Trace Context traceparent header as defined in <xref target="W3C-Trace-Context"/>.</t>
      <t>A RESTCONF server MAY support the Trace Context tracestate header as defined in <xref target="W3C-Trace-Context"/>. Note that while the W3C Trace Context specification mandates that tracing tools forwarding traces MUST propagate both traceparent and tracestate headers (Section 2.3 of <xref target="W3C-Trace-Context"/>), RESTCONF servers may act as trace endpoints rather than forwarding intermediaries. Since the tracestate header carries vendor-specific opaque data, its support is intentionally made optional to accommodate implementations that do not require vendor-specific trace context propagation.</t>
      <t>When interacting with these headers, the RESTCONF server follows the specifications of section 2.3 in <xref target="W3C-Trace-Context"/>, therefore a RESTCONF server MAY also participate in a trace by modifying the traceparent header and the relevant vendor-specific parts of the tracestate header, for example when acting as an intermediary that contributes its own span to the distributed trace.</t>
      <section anchor="error-handling">
        <name>Error Handling</name>
        <t>It is NOT RECOMMENDED to reject an RPC because of the Trace Context header values.</t>
        <t>If a server decides to reject an RPC because of the Trace Context header values, the server MUST return a RESTCONF rpc-error with the following values:</t>
        <artwork><![CDATA[
  error-tag:      operation-failed
  error-type:     protocol
  error-severity: error
]]></artwork>
        <t>Additionally, the error-info tag SHOULD contain a relevant details about the error.</t>
        <t>Finally, the sx:structure defined in <xref target="I-D.draft-ietf-netconf-trace-ctx-extension"/> SHOULD be present in any error message from the server.</t>
      </section>
      <section anchor="trace-context-header-versioning">
        <name>Trace Context Header Versioning</name>
        <t>The RESTCONF protocol extension described in this document refers to the <xref target="W3C-Trace-Context"/> Trace Context capability. The W3C traceparent and tracestate headers include the notion of versions. It would be desirable for a RESTCONF client to be able to discover the one or multiple versions of these headers supported by a server.</t>
        <t><xref target="I-D.draft-ietf-netconf-trace-ctx-extension"/> defines a pair YANG modules that SHOULD be included in the YANG library per <xref target="RFC8525"/> of the RESTCONF server supporting the RESTCONF Trace Context extension that will refer to the headers' supported versions.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The related document <xref target="I-D.draft-ietf-netconf-trace-ctx-extension"/> defines two YANG modules that are used when implementing the Trace Context concept, regardless of YANG-based protocol.  These modules are completely empty, and therefore have very limited security considerations. Their purpose is only to indicate which Trace Context header versions the server supports using YANG Library <xref target="RFC8525"/>.</t>
      <t>The traceparent and tracestate headers make it easier to track and correlate the flow of requests and their downstream effect on other systems.  This is indeed the whole point with these headers.  This knowledge may be used by unauthorized entities to infer a map of a managed network.</t>
      <t>All advice mentioned in the <xref target="W3C-Trace-Context"/> under the Privacy Considerations and Security Considerations also apply to this document.</t>
      <t>The RESTCONF protocol has to (1) use a secure transport layer (e.g., TLS <xref target="RFC8446"/> and QUIC <xref target="RFC9000"/>) and (2) has to use mutual authentication.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to acknowledge the valuable implementation feedback from Christian Rennerskog and Per Andersson.  Many thanks to Raul Rivas Felix, Alexander Stoklasa, Luca Relandini and Erwin Vrolijk for their help with the demos regarding integrations.  The help and support from Med Boucadair, Jean Quilbeuf and Benoît Claise has also been invaluable to this work.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative 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="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </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="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8525">
          <front>
            <title>YANG Library</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>This document describes a YANG library that provides information about the YANG modules, datastores, and datastore schemas used by a network management server. Simple caching mechanisms are provided to allow clients to minimize retrieval of this information. This version of the YANG library supports the Network Management Datastore Architecture (NMDA) by listing all datastores supported by a network management server and the schema that is used by each of these datastores.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8525"/>
          <seriesInfo name="DOI" value="10.17487/RFC8525"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="I-D.draft-ietf-netconf-trace-ctx-extension">
          <front>
            <title>NETCONF Extension to support Trace Context propagation</title>
            <author fullname="Roque Gagliano" initials="R." surname="Gagliano">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Kristian Larsson" initials="K." surname="Larsson">
              <organization>Deutsche Telekom AG</organization>
            </author>
            <author fullname="Jan Lindblad" initials="J." surname="Lindblad">
              <organization>All For Eco</organization>
            </author>
            <date day="17" month="March" year="2026"/>
            <abstract>
              <t>   This document defines how to propagate trace context information
   across the Network Configuration Protocol (NETCONF), that enables
   distributed tracing scenarios.  It is an adaption of the HTTP-based
   W3C specification.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-trace-ctx-extension-06"/>
        </reference>
        <reference anchor="W3C-Trace-Context" target="https://www.w3.org/TR/2021/REC-trace-context-1-20211123/">
          <front>
            <title>W3C Recommendation on Trace Context</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="November" day="23"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8309">
          <front>
            <title>Service Models Explained</title>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="W. Liu" initials="W." surname="Liu"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="January" year="2018"/>
            <abstract>
              <t>The IETF has produced many modules in the YANG modeling language. The majority of these modules are used to construct data models to model devices or monolithic functions.</t>
              <t>A small number of YANG modules have been defined to model services (for example, the Layer 3 Virtual Private Network Service Model (L3SM) produced by the L3SM working group and documented in RFC 8049).</t>
              <t>This document describes service models as used within the IETF and also shows where a service model might fit into a software-defined networking architecture. Note that service models do not make any assumption of how a service is actually engineered and delivered for a customer; details of how network protocols and devices are engineered to deliver a service are captured in other modules that are not exposed through the interface between the customer and the provider.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8309"/>
          <seriesInfo name="DOI" value="10.17487/RFC8309"/>
        </reference>
      </references>
    </references>
    <?line 132?>

<section anchor="example-restconf-calls">
      <name>Example RESTCONF Calls</name>
      <t>All examples from Appendix B of <xref target="RFC8040"/> could be recreated in this section by adding the new header described in this document. We selected one example from that document as reference.</t>
      <section anchor="successful-creation-of-new-data-resources-from-appendix-b21-of-rfc8040">
        <name>Successful creation of New Data Resources (from Appendix B.2.1 of <xref target="RFC8040"/>)</name>
        <t>To create a new "artist" resource within the "library" resource, a client might send the following request:</t>
        <artwork><![CDATA[
  POST /restconf/data/example-jukebox:jukebox/library HTTP/1.1
  Host: example.com
  Content-Type: application/yang-data+json
  traceparent: 00-405062f633be64ee006089dfca95a153-e021f9e263aad8e2-01
  tracestate: vendorname1=opaqueValue1,vendorname2=opaqueValue2

  {
    "example-jukebox:artist" : [
      {
        "name" : "Foo Fighters"
      }
    ]
  }
]]></artwork>
        <t>If the resource is created, the server might respond as follows:</t>
        <artwork><![CDATA[
  HTTP/1.1 201 Created
  Date: Thu, 26 Jan 2017 20:56:30 GMT
  Server: example-server
  Location: https://example.com/restconf/data/\
      example-jukebox:jukebox/library/artist=Foo%20Fighters
  Last-Modified: Thu, 26 Jan 2017 20:56:30 GMT
  ETag: "b3830f23a4c"
  traceparent: 00-405062f633be64ee006089dfca95a153-e021f9e263aad8e2-01
  tracestate: vendorname1=opaqueValue1,vendorname2=opaqueValue2
]]></artwork>
      </section>
      <section anchor="unsuccessful-creation-of-new-data-resources-from-appendix-b21-of-rfc8040">
        <name>Unsuccessful creation of New Data Resources (from Appendix B.2.1 of <xref target="RFC8040"/>)</name>
        <t><xref target="W3C-Trace-Context"/> specifies that a vendor MAY validate the tracestate header and the processing rules SHOULD be followed.</t>
        <t>Example of a badly formated tracestate header using <xref target="RFC8040"/> example (Appendix B.2.1), in which a server receives a higher traceparent version 03:</t>
        <artwork><![CDATA[
  POST /restconf/data/example-jukebox:jukebox/library HTTP/1.1
  Host: example.com
  Content-Type: application/yang-data+json
  traceparent: 03-405062f633be64ee006089dfca95a153-e021f9e263aad8e2-01
  tracestate: SomeBadFormatHere

  {
    "example-jukebox:artist" : [
      {
        "name" : "Foo Fighters"
      }
    ]
  }
]]></artwork>
        <t>In this case, the server cannot parse the traceparent header and the response would be:</t>
        <artwork><![CDATA[
  HTTP/1.1 201 Created
  Date: Thu, 26 Jan 2017 20:56:30 GMT
  Server: example-server
  Location: https://example.com/restconf/data/\
      example-jukebox:jukebox/library/artist=Foo%20Fighters
  Last-Modified: Thu, 26 Jan 2017 20:56:30 GMT
  ETag: "b3830f23a4c"
  traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-00
]]></artwork>
        <t>Note that the API call was succesful but the traceparent header is new with its trace-flags set to 0 and the tracestate header was deleted.</t>
      </section>
    </section>
    <section anchor="changes-to-be-deleted-by-rfc-editor">
      <name>Changes (to be deleted by RFC Editor)</name>
      <section anchor="from-version-08-to-09">
        <name>From version 08 to 09</name>
        <ul spacing="normal">
          <li>
            <t>Explain MAY vs W3C MUST for tracestate (OPSDir comment)</t>
          </li>
          <li>
            <t>Mention "participating in a trace" (modifying headers) (OPSDir comment)</t>
          </li>
          <li>
            <t>Fixed RFC 2119 boilerplate spacing to match exact BCP 14 text</t>
          </li>
          <li>
            <t>Updated document date</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-07-to-08">
        <name>From version 07 to 08</name>
        <ul spacing="normal">
          <li>
            <t>Improved Error-handling example to show the most common scenario based on W3C standard.</t>
          </li>
          <li>
            <t>Uplifting dates</t>
          </li>
          <li>
            <t>Serveral edits based on OpsDir comments</t>
          </li>
          <li>
            <t>Security considerations for Quic and Mutual Authentication</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-06-to-07">
        <name>From version 06 to 07</name>
        <ul spacing="normal">
          <li>
            <t>More missing edits, uplifting dates</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-05-to-06">
        <name>From version 05 to 06</name>
        <ul spacing="normal">
          <li>
            <t>More missing edits</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-04-to-05">
        <name>From version 04 to 05</name>
        <ul spacing="normal">
          <li>
            <t>Removed unused references and terminology</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-03-to-04">
        <name>From version 03 to 04</name>
        <ul spacing="normal">
          <li>
            <t>Abbreviation change</t>
          </li>
          <li>
            <t>"ietf-trace-contex:trace-context-error-info" should have been a container in example</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-02-to-03">
        <name>From version 02 to 03</name>
        <ul spacing="normal">
          <li>
            <t>Added abbreviations to terminology</t>
          </li>
          <li>
            <t>error messages are SHOULD to align with W3C handling.</t>
          </li>
          <li>
            <t>Addapted example to YANG module changes in reference.</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-01-to-02">
        <name>From version 01 to 02</name>
        <ul spacing="normal">
          <li>
            <t>Added WGLC comments</t>
          </li>
          <li>
            <t>Changed namespaces and module name</t>
          </li>
          <li>
            <t>Fix error in error response</t>
          </li>
          <li>
            <t>Comments from Med Boucadair</t>
          </li>
          <li>
            <t>Removed markdown formatting of tracestate and traceparent, as toolchain could not handle this properly</t>
          </li>
          <li>
            <t>Removed references to RFC8341 (NACM) as the passage in the security considerations no longer need it</t>
          </li>
          <li>
            <t>Rearranged text in introduction to include referenes in a more natural order</t>
          </li>
          <li>
            <t>Removed several references to "we" and replaced with more neutral language</t>
          </li>
          <li>
            <t>Clarified that everything described as MUST requirements in this document only apply to RESTCONF implementations that implement this document. Other RESTCONF implementations do not need to care about this document, it's an optional extension</t>
          </li>
          <li>
            <t>Clarified that the YANG modules used by this document is defined by the sibling document for NETCONF</t>
          </li>
          <li>
            <t>Lots of updated wording based on review feedback</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-00-to-01">
        <name>From version 00 to -01</name>
        <ul spacing="normal">
          <li>
            <t>Added Security considerations</t>
          </li>
          <li>
            <t>Added Acknowledgements</t>
          </li>
          <li>
            <t>Added several Normative references</t>
          </li>
          <li>
            <t>Added links to latest document on github</t>
          </li>
          <li>
            <t>Added RESTCONF example for success and error</t>
          </li>
          <li>
            <t>Modified Error Handling to reflect better W3C alignment based on implementation feedback</t>
          </li>
          <li>
            <t>Firmed up error handling and YANG-library to MUST-requirements</t>
          </li>
        </ul>
      </section>
      <section anchor="from-version-00-to-draft-ietf-netconf-restconf-trace-ctx-headers-00">
        <name>From version 00 to draft-ietf-netconf-restconf-trace-ctx-headers-00</name>
        <ul spacing="normal">
          <li>
            <t>Adopted by NETCONF WG</t>
          </li>
          <li>
            <t>Moved repository to NETCONF WG</t>
          </li>
          <li>
            <t>Changed build system to use martinthomson's excellent framework</t>
          </li>
          <li>
            <t>Ran make fix-lint to remove white space at EOL etc.</t>
          </li>
          <li>
            <t>Added this change note. No other content changes</t>
          </li>
        </ul>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
RddGfLc/dnVXiBmt/wXn1J+tITAAAA==

-->

</rfc>
