<?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.6.36 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-joras-sadcdn-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="SADCDN">Securing Ancillary Data for Communicating with Devices in the Network</title>
    <seriesInfo name="Internet-Draft" value="draft-joras-sadcdn-01"/>
    <author fullname="Matt Joras">
      <organization>Meta Platforms, Inc.</organization>
      <address>
        <email>matt.joras@gmail.com</email>
      </address>
    </author>
    <date year="2023" month="July" day="10"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 37?>

<t>There is increasing need for application endpoints to exchange rich information with devices in the network and secure that information from on-path observers. This document presents some current problems and the broad strokes of potential solutions.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/mjoras/sadcdn"/>.</t>
    </note>
  </front>
  <middle>
    <?line 42?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In modern mobile networks it is extremely common for policies to be applied to network flows by devices in the network. These policies are usually implemented by network vendors and enabled by mobile network operators (MNOs) to achieve certain outcomes. The two most prominent examples of this are traffic shaping and packet prioritization.</t>
      <t>Traffic shaping in this context is a modification applied to the flow of packets to limit the achievable throughput by the flow to a given bandwidth (e.g. 2Mbps).</t>
      <t>Packet prioritization policies are meant to prioritize certain kinds of data in the device queues over others. For example, an operator may want to employ a policy which gives queue priority to low latency video conferencing traffic over long form video playback traffic, to ensure lower latency for the more latency-sensitive user experience.</t>
      <t>While these goals seem straightforward, and at first glance it seems like the network device can achieve them in isolation, without content endpoint cooperation there are issues that inevitably arise and pathologies which are detrimental to user experience.</t>
    </section>
    <section anchor="shaping-adaptive-video-traffic">
      <name>Shaping Adaptive Video Traffic</name>
      <t>The goal of these policies are variable, but usually are motivated by limiting data usage and limiting congestion. For many MNOs the bulk of their traffic consists of video data from well-known content providers. For these flows the MNO will apply shaping such that the amount of data reaching the customer’s device is effectively capped. The method employed for detecting these flows varies but typically they are identified based on the SNI in the TLS ClientHello.</t>
      <t>Video playback usually employs adaptive bitrate (ABR) schemes to dynamically adjust the video quality (and thus the data rate) in response to changing network conditions. In the presence of traffic shaping, the ABR scheme should ideally adapt the quality and converge on a bitrate sustainable by the shaper. In practice this is extremely difficult to achieve while maintaining a good user experience, due to the myriad complexities and interactions involved, such as the transport congestion control behavior, changing radio signal strength, etc.</t>
      <t>The outcome of limiting video data usage can also be achieved through having the content endpoint mediate the amount of data served to a given user. For example, if a content endpoint limits a given user’s video bitrate to ~2Mbps and also limits the number of outstanding videos being streamed to that user, the overall effect on aggregate data usage is the same as if the network itself employs a shaper configured to a 2Mbps data rate. Networks are able to achieve better efficiencies while still maintaining data usage limits when the content endpoint limits the data sent, rather than relying on a network device to impose an artificial limit.</t>
    </section>
    <section anchor="packet-prioritization">
      <name>Packet Prioritization</name>
      <t>For packet prioritization there is a different problem. While the network device may be able to make inferences about what kinds of content different packets and flows carry, it has become increasingly difficult as traffic is encrypted more holistically. Newly endemic protocols like QUIC are being used for a diverse range of traffic types, and this makes heuristics such as “all low latency traffic looks like WebRTC or RTP” untenable. Additionally, if multiple application flows are being multiplexed over a single encrypted transport, such as QUIC, the network device may want to make different prioritization decisions depending on the application contained within any given packet.</t>
    </section>
    <section anchor="information-disparity">
      <name>Information Disparity</name>
      <t>In both situations, there is an information disparity between devices in the network and the content endpoints. In both of these situations better outcomes can be achieved by explicit communication and cooperation.</t>
      <t>In the case of a data-limiting policy, it would be advantageous for the network device to explicitly communicate the desired limits to the content endpoint so that it can “self-regulate”, and in exchange for the in-network shaper’s use to be disabled or minimized. For prioritization, it would be advantageous for the endpoint to communicate the content type of different packets so that they can be prioritized correctly.</t>
    </section>
    <section anchor="out-of-band-vs-inband-communication">
      <name>Out of Band vs. Inband Communication</name>
      <t>There are generally two ways to resolve this information disparity between the content endpoints and the network: communicating additional information out of band, or inband.</t>
      <t>Out of band communication involves the content endpoint and the MNO exchanging information in a separate context from the flow in question. There are various ways this could occur in practice, such as facilities provided by 3GPP, emerging API standards like CAMARA, or bespoke Internet API endpoints maintained by the MNO and accessed by a content endpoint. Regardless of which method is used, there are a few issues with using this form on information exchange that makes them undesirable.</t>
      <t>The core issue is one of association. Suppose there’s a flow that exists between an end user device and a content endpoint server on the Internet. The endpoint server has relatively little information about this user initially, mostly its basics such as the 5-tuple associated with the flow, of which the most identifying information is the IP address. In order to exchange information with the MNO about this, it has to be able to query the defined API and exchange this information. In practical terms this may range in difficulty from challenging to simply impossible. Further, the API endpoint being communicated with is often not the same entity as a network device which is applying the relevant policies. Thus even after communication is established and information is exchanged, the MNO API endpoint has the further responsibility of taking action on that information, which involves further communication within its network.</t>
      <t>Inband communication, as the name suggests, is any mechanism by which devices in the network and the content endpoints can communicate alongside an existing flow in the network. This is, in a sense, merely an extension of how all Internet Protocols as we know them today function. And indeed there are even examples of where such communication is done inband to facilitate cooperation, such as ECN marking. However to date all these mechanisms stop short of what one might think of as a “communication channel” for exchanging rich information between the network device and a content endpoint. Such a communication mechanism has benefits over the out of band alternative, mostly in the form of simplicity for both parties. If the communication channel is established between the network device and the content endpoint directly then the relevant information can be exchanged, and acted upon, directly.</t>
      <t>To use a concrete example, consider the case of traffic shaping. Suppose that there is a content provider who, in cooperation with certain MNOs, is willing to limit the aggregate video data served to a given user, and in exchange the MNO limits or disables the network shaper for that user’s flows. The network device would identify these flows and, inband with the flow’s packets, establish a communication channel with the flows’ destination content endpoint. The network device would communicate the desired limits to the content endpoint, and the content endpoint would acknowledge the limits. The network device would then modify the traffic shaping policy to allow higher delivery rates, trusting that the content endpoint will limit the amount of data sent to the given user.</t>
    </section>
    <section anchor="securing-information-exchange">
      <name>Securing Information Exchange</name>
      <t>A major challenge with this inband approach in particular is how to ensure the privacy and integrity of the data being exchanged. The benefits of integrity protection are self-evident – a bad actor on the path should not be able to modify the communication such that it alters the behavior of the network or the content endpoint. Privacy is similarly important. It is not acceptable that an on-path observer should be privy to the information being exchanged between the network device and the content endpoint. Allowing this would enable a whole host of privacy vulnerabilities which are all too commonplace on the Internet today. The solution to both these problems is to encrypt the communication using a standard cryptographic protocol. Utilizing standardized cryptography also solves problems of trust and authenticity, by allowing the parties to utilize existing authentication features of cryptographic protocols.</t>
    </section>
    <section anchor="end-user-transparency">
      <name>End User Transparency</name>
      <t>Today end users are generally unaware of policies like shaping or prioritization being applied to their flows. This is partially due to the fact that there is no means by which to inform them as it is happening. This information can be surfaced to the user by the content endpoint  cooperating and exchanging rich information with the network device applying the policies. Consider an example where an end user’s plan has exceeded some predefined monthly quota and the network device has informed the content endpoint to put a cap on video bitrate. Since the application is the one applying this cap, it can convey that information to the user via the application’s user interface. Additionally, the application is able to proactively surface any information the content endpoint is sharing with the network device. For instance with variable packet prioritization the application would surface to the user that information about the content type is being shared with the network.</t>
    </section>
    <section anchor="proposed-solution-sketch">
      <name>Proposed Solution Sketch</name>
      <t>This proposed solution sketch first focuses on solving this problem for UDP-based protocols, such as QUIC. This is partially because of QUIC’s increasing ubiquity on the Internet for serving content of this kind, but also because the solution itself involves utilizing QUIC. Note that this ends up looking very similar to certain other schemes such as QUIC-aware proxying (<xref target="I-D.draft-pauly-masque-quic-proxy-06"/>).</t>
      <t>Recall that the desired goal here is for a network device to be able to, inband with a new flow of QUIC packets, establish a communication channel with the content endpoint to which those QUIC packets are destined. The key mechanism to achieve this is for the network device to establish its own QUIC connection with the same content endpoint by appending its own QUIC packets to some part of the UDP/IP packet of the original flow.</t>
      <t>There are broadly two ways this could be done. One which seems relatively straightforward would be for the network device to modify the packet by adding on a UDP option or (newly defined) IP header, the value of which is a QUIC packet. This is spiritually similar to the proposed Mobile Throughput Guidance approach (<xref target="I-D.draft-flinck-mobile-throughput-guidance-04"/>). There are issues with this approach though. Either a UDP option or an IP header could be “bleached” by other devices in the network, or not supported by the operating systems for the mobile device or content endpoint.</t>
      <t>Another option which avoids this issue would be for the network device to modify the UDP payload of the UDP/IP packet. To achieve this the network device could encapsulate the original UDP payload within another layer, similar to what was proposed with PLUS (<xref target="I-D.draft-trammell-plus-spec-01"/>). In this way each UDP payload would effectively contain two payloads: the original UDP payload and the payload of a QUIC packet for the channel between the network device and the content endpoint. The content endpoint would have to be able to recognize this type of packet, of course.</t>
      <t>In either case, it is important to note the distinct advantages of coupling the packets, versus the network device sending its own packets. The most important property is that it guarantees that the end-to-end flow and the inband flow arrive at the same server. If the network device sent its own packets instead, there would have to be some mechanism ensuring that the packets are routed to the same server. Another useful property is that it allows the network device to have a much simpler QUIC implementation, as it does not have to make any decisions about when and if it can send packets on its own. It makes that decision only on forwarding a UDP/IP packet.</t>
      <t>Using this scheme a network device can initiate its own QUIC connection with the content endpoint as part of an existing UDP flow. This QUIC connection is cryptographically independent from the end-to-end UDP flow, and once established can be used as a secure communication channel between the network device and the content endpoint. Another way to think about this is that the QUIC packets used for the communication are simply encrypted packet metadata associated with the end user’s flow.</t>
    </section>
    <section anchor="diagrams">
      <name>Diagrams</name>
      <artwork><![CDATA[
 Mobile Device   Packet Core Device       CAP Endpoint Server
     +--+          +------------+           +---------+
     |  |-----------------------------------|         |
     |  |          |            |           |         |
     +--+          |            |+-+-+-+-+-+|         |
                   +------------+           +---------+

          -----------               +-+-+-+
      e2e QUIC connection    SADCDN QUIC connection
]]></artwork>
      <t>In the above we can see a visualization of this idea, assuming that the end-to-end flow is a QUIC connection. These form two completely independent cryptographic contexts. Thus, only the content endpoint can securely communicate with both the network device and the mobile device. This can be used by the network device to, for example, communicate the shaper configuration to the content endpoint, which can then influence the video playback to self-regulate and avoid the shaping. We can also use a similar scheme to establish a channel between the mobile device and the packet core device.</t>
      <t>Note that it would also be possible for the mobile device and the packet core device to have the secure connection, as below.</t>
      <artwork><![CDATA[
 Mobile Device   Packet Core Device       CAP Endpoint Server
     +--+          +------------+           +---------+
     |  |-----------------------------------|         |
     |  |+-+-+-+-+-|            |           |         |
     +--+          |            |           |         |
                   +------------+           +---------+

          -----------               +-+-+-+
      e2e QUIC connection    SADCDN QUIC connection
]]></artwork>
      <t>Finally, here is roughly what the scheme might look like at the packet layer. Essentially what we see is that an existing flow is appended to include the SADCDN QUIC packets. This is only seen on one side of the packet core device, the side with the established SADCDN connection. It is important to note that not every packet needs this additional information.</t>
      <artwork><![CDATA[
                    |
              Packet Core Device
                    |
                    |
                    |
                    |
+-----+   +-----+   |  +-----+   +-----+   +-----+
|.....|   |.....|   |  |+++++|   |.....|   |+++++|
|.....|   |.....|   |  |.....|   |.....|   |.....|
+-----+   +-----+   |  |.....|   +-----+   |.....|
                    |  +-----+             +-----+
                    |

       ....             ++++
       e2e QUIC Data    SADCDN QUIC data
]]></artwork>
    </section>
    <section anchor="mtu-considerations">
      <name>MTU Considerations</name>
      <t>As the solution sketch currently entails appending data to existing packets in a flow, there are obvious MTU considerations. Particularly, this solution design would rely on either being able to increase the effective MTU of the path, or on there being sufficiently small packets that have headroom that does not exceed the MTU. The latter is likely possible for many typical applications such as streaming video since the packets sent from client to server do not typically fully utilize an MTU (as they are mostly acknowledgments).</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
      <?line -18?>

</section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>There are numerous security considerations in this problem space. The thesis of this draft is to mitigate the key one: the security of information from actors on the network path. However, even when this information is encrypted there are numerous considerations in addition to the considerations of using a standardized cryptographic protocol. These must be accounted for in the trust model of any system or protocol utilizing this kind of encrypted in-band communication. The solution sketch above allows for mitigating some of these with standard features such as mutual authentication.</t>
      <t>Another consideration is the resiliency of this solution to “bleaching” of the information. An on-path actor could remove the additional information, or move it between packets, as the cryptographic contexts are independent. For the current usecases this would not impact functionality, as the information is only being used for optimization purposes.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <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="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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.draft-pauly-masque-quic-proxy-06">
          <front>
            <title>QUIC-Aware Proxying Using HTTP</title>
            <author fullname="Tommy Pauly" initials="T." surname="Pauly">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Eric Rosenberg" initials="E." surname="Rosenberg">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="David Schinazi" initials="D." surname="Schinazi">
              <organization>Google LLC</organization>
            </author>
            <date day="10" month="March" year="2023"/>
            <abstract>
              <t>   This document defines an extension to UDP Proxying over HTTP that
   adds specific optimizations for proxied QUIC connections.  This
   extension allows a proxy to reuse UDP 4-tuples for multiple
   connections.  It also defines a mode of proxying in which QUIC short
   header packets can be forwarded using an HTTP/3 proxy rather than
   being re-encapsulated and re-encrypted.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-pauly-masque-quic-proxy-06"/>
        </reference>
        <reference anchor="I-D.draft-flinck-mobile-throughput-guidance-04">
          <front>
            <title>Mobile Throughput Guidance Inband Signaling Protocol</title>
            <author fullname="Ankur Jain" initials="A." surname="Jain">
              <organization>Google</organization>
            </author>
            <author fullname="Andreas Terzis" initials="A." surname="Terzis">
              <organization>Google</organization>
            </author>
            <author fullname="Hannu Flinck" initials="H." surname="Flinck">
              <organization>Nokia Networks</organization>
            </author>
            <author fullname="Nurit Sprecher" initials="N." surname="Sprecher">
              <organization>Nokia Networks</organization>
            </author>
            <author fullname="Swaminathan Arunachalam" initials="S." surname="Arunachalam">
              <organization>Nokia Networks</organization>
            </author>
            <author fullname="Kevin Smith" initials="K." surname="Smith">
              <organization>Vodafone</organization>
            </author>
            <author fullname="Vijay Devarapalli" initials="V." surname="Devarapalli">
              <organization>Vasona Networks</organization>
            </author>
            <author fullname="Roni Bar Yanai" initials="R. B." surname="Yanai">
              <organization>Vasona Networks</organization>
            </author>
            <date day="13" month="March" year="2017"/>
            <abstract>
              <t>   The bandwidth available for end user devices in cellular networks can
   vary by an order of magnitude over a few seconds due to changes in
   the underlying radio channel conditions, as device mobility and
   changes in system load as other devices enter and leave the network.
   Furthermore, packets losses are not always signs of congestion.  The
   Transmission Control Protocol (TCP) can have difficulties adapting to
   these rapidly varying conditions leading to inefficient use of a
   cellular network's resources and degraded application performance.
   Problem statement, requirements and the architecture for a solution
   is documented in [Req_Arch_MTG_Exposure].

   This document proposes a mechanism and protocol elements that allow
   the cellular network to provide near real-time information on
   capacity available to the TCP server.  This "Throughput Guidance"
   (TG) information would indicate the throughput estimated to be
   available at the radio downlink interface (between the Radio Access
   Network (RAN) and the mobile device (UE)).  TCP server can use this
   TG information to ensure high network utilization and high service
   delivery performance.  The document describes the applicability of
   the proposed mechanism for video delivery over cellular networks; it
   also presents test results from live operator's environment.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-flinck-mobile-throughput-guidance-04"/>
        </reference>
        <reference anchor="I-D.draft-trammell-plus-spec-01">
          <front>
            <title>Path Layer UDP Substrate Specification</title>
            <author fullname="Brian Trammell" initials="B." surname="Trammell">
              <organization>ETH Zurich</organization>
            </author>
            <author fullname="Mirja Kühlewind" initials="M." surname="Kühlewind">
              <organization>ETH Zurich</organization>
            </author>
            <date day="13" month="March" year="2017"/>
            <abstract>
              <t>   This document specifies a common Path Layer UDP Substrate (PLUS) wire
   image for encrypted transport protocols carried over UDP.  The base
   PLUS header carries information for driving a minimal state machine
   at middleboxes described in [I-D.trammell-plus-statefulness], and
   provides optional exposure of additional information to devices along
   the path using the mechanism described in
   [I-D.trammell-plus-abstract-mech].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-trammell-plus-spec-01"/>
        </reference>
      </references>
    </references>
    <?line 188?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9Vc23LkRnJ976+AqZeR1U1ptLJ3zVjvmiJHEh1zoYecVWw4
/FANVHdjBw20UABbvbqE/sFPjlhH+Fv8KfoSn5NZVSigmyOtwg82pZDYaKAu
WZknT17AxWIx68qushfZ2Z3N+7as19llnZdVZdpDdm06k62aNrtqttu+LnPT
8YZ92W2ya/tQ5tZlZZ11G5u9tN2+ad+ezcxy2doHjnd5fXX98myGh+y6aQ8X
uHXVzGZFk9dmixmL1qy6xZ+a1riFM0Ve1IuPns5cv9yWzpVN3R12uOvm2f1n
WfZeZirXYNSyLuzO4j91dzbPzm4uP8X/sMKzm9f3n53N6n67tO3FrMWkF9nH
H338q8VHv8a/s7ypna1d7y6yru3tDCv81QyjttZcZJevn13iAzewbpt+d5F9
+Xn2JT5xt5/zyuytPeDr4mKWLbLaft1la1tbzIJ18hKF07Tyq9uZ9m3FJ4vS
dW257DtbZJUt1radvfdg695eYLIszsQPutfxlLi8NWV1gf923bnI6Z/WvHKe
N1t+a9p8c5Ftum7nLj780H5ttrvK8ssPddA1zqlfXmRv7p69/vD1s9tXvFhB
Mq47/djzy/tnd/ezmem7TdNyr7MMP6u+qvTIXmAl2T9zJfJF065NXf5ZpIAv
LbTlFuNDY7Zunt3U+bncZt+xjVmNmzHAA4Qyo4IMn2aLxSIzS8jQ5N1sdr+x
rc1KalyOU3MUVG0hWiqo2e0qUc+mzqAdu6asO5d1TWa/zjemXtusLfNNFifA
baLFxViLa9XizNRF5mgPFpdNN3pu1TbbrKkXO4Pnm6Wz7YNt3Xl2v8HaoNz9
FrqZ7VoLfcMaXLO1GUZq9WqzrOzWyQSccNk2BlN1bfMWq2hW2a7pcGNpKjxY
9ZzQnXtRbMuiqOwMh3hT44Giz0X7bups2xS25f+WZRU3gU11FBeUtbVbWx0y
yHvLDUBeuwbiKq2IaGlVfBAlPgURrKpm77Ll4RERcb/Y4TAQLCnrXW8qTFRS
oygGDIkRwpDQ/aJpdfO2NpCEfD1edtbsaFe878mLl6/c+1yUyTelfYAcbdsZ
LKTpO2zGitRxRPsGgzgR77asKWiv1SLSjgfD5UGRVqsyz9zG7Kg9XMfO5G8t
nyybtuy8LkPi95N7ZfcYBzjS0fw5JOVeroLaJTKknCg/OVCZQARdlVscCb/U
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
7dl3GPXV9au0BQ+D/A8tYirJ+EcAAA==

-->

</rfc>
