<?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.17 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-li-dyncast-architecture-06" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.3 -->
  <front>
    <title abbrev="Dyncast Architecture">Dynamic-Anycast Architecture</title>
    <seriesInfo name="Internet-Draft" value="draft-li-dyncast-architecture-06"/>
    <author initials="Y." surname="Li" fullname="Yizhou Li">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>liyizhou@huawei.com</email>
      </address>
    </author>
    <author initials="L." surname="Iannone" fullname="Luigi Iannone">
      <organization>Huawei Technologies</organization>
      <address>
        <email>Luigi.iannone@huawei.com</email>
      </address>
    </author>
    <author initials="D." surname="Trossen" fullname="Dirk Trossen">
      <organization>Huawei Technologies</organization>
      <address>
        <email>dirk.trossen@huawei.com</email>
      </address>
    </author>
    <author initials="P." surname="Liu" fullname="Peng Liu">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>liupengyjy@chinamobile.com</email>
      </address>
    </author>
    <author initials="C." surname="Li" fullname="Cheng Li" role="editor">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>c.l@huawei.com</email>
      </address>
    </author>
    <date year="2023" month="January" day="16"/>
    <area>Routing area</area>
    <workgroup>rtgwg</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document describes an architecture for the Dynamic-Anycast (Dyncast). It includes an architecture overview, main components, and the workflow of control plane and dataplane.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>Edge computing has been expanding from single edge nodes to multiple networked collaborating edge nodes to solve the issues like response time, resource optimization, and network efficiency.</t>
      <t>The current network architecture in edge computing provides relatively static service dispatching, often to the closest edge from an IGP perspective, or to the server with the most computing resources without considering the network status, and even sometimes just based on static configuration.</t>
      <t>As described in <xref target="I-D.liu-can-ps-usecases"/>,traffic steering that takes into account computing resource metrics would benefit several use-cases, such as AR/VR. This document provides an architectural framework, which will enable compute- and network-aware traffic steering decisions in edge computing.</t>
      <t>The Dyncast architecture proposed in this document is an ingress-based overlay architecture for the selection of a suitable service instance from a set of possibly several ones, where 'suitable' may be determined through a combination of networking and computing related metrics.</t>
      <t>Dyncast assumes that there are multiple service instances running on different edge nodes, globally providing one single service. A single edge may have limited computing resources available, and different edges likely have different resources available, such as CPU or GPU.</t>
      <t>The main principle of Dyncast is that multiple edge nodes are interconnected and collaborate with each other to achieve a holistic objective of dispatching service demands, by taking into account both service instances status as well as network state (e.g., paths length, price and their congestion).</t>
      <t>This document describes an architecture to realize Dyncast, the workflow of main procedures in control and data plane.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <ul spacing="normal">
        <li>Dyncast: As defined in <xref target="I-D.liu-can-ps-usecases"/>, Dynamic Anycast, taking the dynamic nature of computing resource metrics into account to steer an anycast routing decision.</li>
        <li>Service: As defined in <xref target="I-D.liu-can-ps-usecases"/>, a monolithic functionality that is provided by an endpoint according to the specification for said service. A composite service can be built by orchestrating monolithic services.</li>
        <li>Service instance: As defined in <xref target="I-D.liu-can-ps-usecases"/>, running environment (e.g., a node) that makes the functionality of a service available. One service can have several instances running at different network locations.</li>
        <li>D-Router: A node supporting Dyncast functionalities as described in this document. Namely it is able to understand both network-related and service-instances-related metrics, take forwarding decision based upon and maintain instance affinity, i.e., forwards packets belonging to the same service demand to the same instance.</li>
        <li>Ingress D-Router: a service access point for Dyncast clients. It makes the routing decision to encapsulate the service packets into an overlay path to an Egress D-Router linked to the most suitable edge site/instance.</li>
        <li>Egress D-Router: An Egress D-Router is the egress endpoint of an overlay path.</li>
        <li>D-MA: Dyncast Metric Agent (D-MA): A dyncast specific agent able to gather and send metric updates (from both network and instance perspective) but not performing forwarding decisions. May run on a D-Router, but it can be also implemented as a separate module (e.g., a software library) collocated with a service instance.</li>
        <li>D-SID: Dyncast Service ID, an identifier representing a service, which the clients use to access said service. Such identifier identifies all of the instances of the same service, no matter on where they are actually running. D-SID is independent of which service instance serves the service demand. Usually multiple instances provide a (logically) single service, and service demands are dispatched to the different instance through an anycast model, i.e., choosing one instance among all available instances.</li>
        <li>D-BID: Dyncast Binding ID, an address to reach a service instance for a given D-SID. It is usually a unicast IP where service instances are attached. Different service instances provide the same service identified through D-SID but with different Dyncast Binding IDs.</li>
        <li>Service demand: The demand for a specific service and addressed to a specific D-SID.</li>
        <li>Service request: The request for a specific service instance.</li>
      </ul>
      <section anchor="requirements-language">
        <name>Requirements Language</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="architecture-and-concepts">
      <name>Architecture and Components</name>
      <t>Dyncast assumes that there are multiple equivalent service instances running on different edge sites, providing one single service which is represented by D-SID. The network will take forwarding decision for the service demand from the client according to both service instances status as well as network status. The architecture is shown below.</t>
      <figure anchor="fig-Dyncast-arch">
        <name>Dyncast Architecture.</name>
        <artwork><![CDATA[
    edge site 1                              edge site 2

     +------------+                          +------------+
   +------------+ |                        +------------+ |
   |  service   | |                        |  service   | |
   |  instance  |-+                        |  instance  |-+
   +------------+                          +------------+
         |                                        |
    +----------+                                  |
    |   D-MA   |                                  |
    +----------+                                  |
         |                                   +----------+
         |           +-----------------+     |   D-MA   |
    +----------+     |     Underlay    |     +----------+
    |D-Router 1| ----|  Infrastructure |---- |D-Router 3|
    +----------+     |                 |     +----------+
                     +-----------------+
                              |
                              |
                         +----------+
       +---------------- |D-Router 2|--------------+
       |                 +----------+              |
       |                       |                   |
       |                       |                   |
      +-----+              +------+            +------+
    +------+|            +------+ |          +------+ |
    |client|+            |client|-+          |client|-+
    +------+             +------+            +------+
]]></artwork>
      </figure>
      <t>Edge sites (edges for short) are normally the sites where edge computing is performed. Service instances are initiated at different edge sites. Thus, a single service can actually have a significant number of instances running on different edges. A Dyncast Service ID (D-SID) is used to uniquely identify a service (e.g., a matrix computation for face recognition, or a game server). Service instances can be hosted on servers, virtual machines, access routers or gateway in edge data center.</t>
      <t>Close to (one or more) Service instances is the Dyncast Metric Agent (D-MA). This element has the task to gather information about resources and status of the different instances as well as network-related information. The information of resource and status will be presented as one or more metrics and associate with the D-SID. D-MAs also need to send the D-SID routes with computing-related metrics to the Egress D-Routers proactively. A D-MA may also run in a dyncast-enable router (named D-Router), while other deployment scenarios may lead to this element running separately on edge nodes. In the case of running in a D-Router, the D-SID routes with computing-related metrics can be synchronized up within the system.</t>
      <t>The D-Router is the main element in a Dyncast network. There are two types of D-Routers: Egress D-Router and Ingress D-Router.</t>
      <ul spacing="normal">
        <li>Egress D-Router: An Egress D-Router is the egress endpoint of an overlay path. It distributes information on D-SID metrics, as well as information of identifying the Egress D-Router, to the associated Ingress D-Routers. Normally, a site may be linked to one or more Egress D-routers.</li>
        <li>Ingress D-Router: a service access point for Dyncast clients. It will receive the information on D-SIDs metrics and egress D-Routers as distributed from associated Egress D-Routers, and generate the routing decision based on the network-related and computing-related metrics. Some network metrics can be learned on the ingress D-Router by detecting, such as the latency and bandwidth from the ingress to an egress D-Router. Usually, the routing decision will indicate the Ingress D-Router to encapsulate the service packets into an overlay path to an Egress D-Router linked to the most suitable edge site/instance.</li>
      </ul>
      <t>Note: Depending on deployment requirements, per-instance computing-related metrics or per-site aggregated computing-related metrics can be used in routing decision. In deployment, using per-site aggregated computing-related metrics is a more practical choice.</t>
      <t>When a service packet is decapsulated on an Egress D-Router, it will be sent to the service instance within the edge site by looking up the destination address in the FIB.</t>
      <t>Within the edge site, Load balancing and/or NAT may be used if needed. When using NAT, the D-SID will be translated into a unicast address associated to a specific service instance, and this unicast address is called D-BID(Dyncast Binding ID). There is no needed to configure a B-SID for a service instance if NAT is not needed.</t>
      <t>In <xref target="fig-Dyncast-arch"/>, the "underlay infrastructure" indicates the general IP infrastructure that does not need to support Dyncast. The Dyncast routes will be distributed amomg the overlay D-Routers, and will not affect the underlay nodes.</t>
      <t>The above text describe a distributed architecture of Dyncast. However, a centralized architecture can also work. In the centralized architecture, the computing-related metrics from the Egress D-Routers or D-MAs are collected by a centralized controller/PCE. Considering both the network-related metrics and computing-related metrics, the Controller/PCE can calculate the best path for a D-SID and send it to the related Ingress D-Router.</t>
    </section>
    <section anchor="dyncast-architecture-workflow">
      <name>Dyncast Architecture Workflow</name>
      <t>The following section provides an overview of how the Dyncast solution works in the distributed architecture.</t>
      <section anchor="service-announcements">
        <name>Service Announcements</name>
        <t>Normally, a service is associated with an IP address, which can be an IPv6 address. In Dyncast, this IP address is called D-SID, and it can be used by multiple service instances, which makes it as an Anycast address in routing. This address can be learned via DNS resolution or other mechanisms, this document will not limit this.</t>
      </section>
      <section anchor="metric-distributions">
        <name>Metric Distributions</name>
        <t>As described above, a D-MA will collect computing-related metrics and associates the metrics to a related D-SID route. It will also send the D-SID route with the metrics to the connected Egress D-Router. The Egress D-Router will distribute the D-SID route with the metrics to the related Ingress D-Routers. The metrics include the computing-related metrics and potential other network metrics if needed.</t>
        <t>As explained in the problem statement document <xref target="I-D.liu-can-ps-usecases"/>, computing metrics may change very frequently, when and how frequent such information should be distributed should be determined also in accordance with the distribution protocol used for such purpose. A spectrum of approaches can be employed,such as interval based updates, threshold triggered updates, policy based updates, etc.</t>
        <t>The following example is provided for better understanding of how Dyncast metrics are distributed. Routes of D-SID1 and D-SID2 with related metrics are sent from the D-MA to D-Router 2. D-Router 2 generates overlay routes of D-SID1 and D-SID2, and distribute them to the associated Ingress D-Router 1.</t>
        <figure anchor="fig-Dyncast-example-overlay">
          <name>Dyncast deployment example.</name>
          <artwork><![CDATA[
 D-SID: Dyncast Service ID
                                                       +-------+
                                                     +-------+ |           
                                                     |Clients|-+         +-------+ 
                                                     +-------+        +--|D-SID 1| instance 1
                                                         |            |  +-------+
                                                   +----------+----+  |              Edge 2 
                                                   |D-Router 2|D-MA|--|    
          Dyncast Forwarding Table                 +----------+----+  |  +-------+ 
 D-SID 1, <metrics>, overlay path to D-router 2          |            +--|D-SID 2| instance 2
 D-SID 2, <metrics>, overlay path to D-router 2  +----------------+      +-------+
 D-SID 1, <metrics>, overlay path to D-router 3  |                |
 D-SID 2, <metrics>, overlay path to D-router 3  |                |
 +------+     +----------+                       |    Underlay    |
 |Client|-----|D-Router 1|-----------------------| Infrastructure |   
 +------+     +----------+                       |                |
                                                 |                |      
                                                 |                |        +-------+          
                                                 +----------------+    +---|D-SID 2| instance 3
                                                         |             |   +-------+
                                                   +----------+     +------+            Edge 3  
                                                   |D-Router 3|-----| D-MA |  
                                                   +----------+     +------+  
                                                                       |   +-------+ 
                                                                       +---|D-SID 1| instance 4
                                                                           +-------+
                   <--------------------------------        <--------------
                 (Overlay route of D-SID 1, <metrics>)      (D-SID 1, <metrics>)
                 (Overlay route of D-SID 2, <metrics>)      (D-SID 2, <metrics>)
                     Service overlay route with metrics     Service route with metrics

]]></artwork>
        </figure>
      </section>
      <section anchor="service-demand-handling">
        <name>Service Demand Handling</name>
        <t>Ingress D-Routers can make their routing decision based on the received routes and metrics. The metrics include network-related metrics and computing-related metrics, while the network metrics can be learned by detecting on the ingress D-Router, and the computing-related metrics are learned from the received D-SID's routes. This document will not define any algorithm of making the routing decision. The routing decision may indicate the Ingress D-Router to encapsulate the service packets into an overlay path towards to the 'best' Egress D-Router. In the example provided in above figure, the Ingress D-Router 1 generate the routes of D-SID1 and D-SID2 with next hop as an overlay path to a specific Egress D-router 2 or D-Router 3.</t>
        <t>When a new service transaction starts, an initial service packet is sent from the client
to its Dyncast Ingress D-Router. Upon receiving the service packet, the ingress will forward the packets to the 'best' egress D-Router through an overlay path. When the service packet reaches the egress D-router, the outer header of the overlay encapsulation will be decapsulated and the inner service packet will be sent to the 'best' service instance.</t>
      </section>
      <section anchor="instance-affinity">
        <name>Instance Affinity</name>
        <t>Instance affinity is one of the key features that Dyncast should support. It means that packets from the same 'flow' for a service should always be sent to the same egress to be processed by the same service instance. The affinity is determined at the time of newly formulated service demand.</t>
        <t>Note: Different services may have different notions of what constitutes a 'flow' and may thus identify a flow differently. Typically a flow is identified by the 5-tuple value. However, for instance, an RTP video streaming may use different port numbers for video and audio, and it may be identified as two flows if 5-tuple flow identifier is used. However they certainly should be treated by the same service instance. Therefore a 3-tuple based flow identifier is more suitable for this case. Hence, it is desired to provide certain level of flexibility in identifying flows, or from a more general perspective, in identifying the set of packets for which to apply instance affinity. More importantly, the means for identifying a flow for the purpose of ensuring instance affinity must be application-independent to avoid the need for service-specific instance affinity methods.</t>
        <t>Specifically, Instance affinity information should be configurable on a per-service basis. For each service, the information can include the flow/packets identification type and means, affinity timeout value, and etc.</t>
        <t>This document will not define the specific mechanism of affinity, and it can be discussed in specific solution drafts.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The computing resource information changes over time very frequent with the creation and termination of service instance. When such information is carried in routing protocol, too many updates can make the network fluctuate. Control plane approach should take it into considerations.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <ul spacing="normal">
        <li>Huijuan Yao, yaohuijuan@chinamobile.com, China Mobile</li>
        <li>Xia Chen, jescia.chenxia@huawei.com, Huawei</li>
        <li>Jianwei Mao, maojianwei@huawei.com</li>
        <li>Hang Shi, shihang9@huawei.com, Huawei</li>
      </ul>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <author>
              <organization>RFC Publisher</organization>
            </author>
            <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" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author>
              <organization>RFC Publisher</organization>
            </author>
            <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.liu-dyncast-ps-usecases" target="https://www.ietf.org/archive/id/draft-liu-dyncast-ps-usecases-04.txt" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.liu-dyncast-ps-usecases.xml">
          <front>
            <title>Dynamic-Anycast (Dyncast) Problem Statement and Use Cases</title>
            <author fullname="Peng Liu" initials="P." surname="Liu">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Philip Eardley" initials="P." surname="Eardley">
              <organization>BT</organization>
            </author>
            <author fullname="Dirk Trossen" initials="D." surname="Trossen">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Yizhou Li" initials="Y." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="8" month="July" year="2022"/>
            <abstract>
              <t>Many service providers have been exploring distributed computing techniques to achieve better service response time and optimized energy consumption. Such techniques rely upon the distribution of computing services and capabilities over many locations in the network, such as its edge, the metro region, virtualized central office, and other locations. In such a distributed computing environment, providing services by utilizing computing resources hosted in various computing facilities (e.g., edges) is being considered, e.g., for computationally intensive and delay sensitive services. Ideally, services should be computationally balanced using service-specific metrics instead of simply dispatching the service requests in a static way or optimizing solely connectivity metrics. For example, systematically directing end user-originated service requests to the geographically closest edge or some small computing units may lead to an unbalanced usage of computing resources, which may then degrade both the user experience and the overall service performance. We have named this kind of network with dynamic sharing of edge compute resources "Computing-Aware Networking" (CAN). This document provides the problem statement and the typical scenarios of CAN, which is to provide the service equivalency by steering traffic dynamically to the appropriate service instance based on the basic edge computing deployment.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-liu-dyncast-ps-usecases-04"/>
        </reference>
        <reference anchor="I-D.liu-can-ps-usecases" target="https://www.ietf.org/archive/id/draft-liu-can-ps-usecases-00.txt" xml:base="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.liu-can-ps-usecases.xml">
          <front>
            <title>Computing-Aware Networking (CAN) Problem Statement and Use Cases</title>
            <author fullname="Peng Liu" initials="P." surname="Liu">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Philip Eardley" initials="P." surname="Eardley"/>
            <author fullname="Dirk Trossen" initials="D." surname="Trossen">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Yizhou Li" initials="Y." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="23" month="October" year="2022"/>
            <abstract>
              <t>Many service providers have been exploring distributed computing techniques to achieve better service response time and optimized energy consumption. Such techniques rely upon the distribution of computing services and capabilities over many locations in the network, such as its edge, the metro region, virtualized central office, and other locations. In such a distributed computing environment, providing services by utilizing computing resources hosted in various computing facilities (e.g., edges) is being considered, e.g., for computationally intensive and delay sensitive services. Ideally, services should be computationally balanced using service-specific metrics instead of simply dispatching the service requests in a static way or optimizing solely connectivity metrics. For example, systematically directing end user-originated service requests to the geographically closest edge or some small computing units may lead to an unbalanced usage of computing resources, which may then degrade both the user experience and the overall service performance. We have named this kind of network with dynamic sharing of edge compute resources "Computing-Aware Networking" (CAN). This document provides the problem statement and the typical scenarios of CAN, which is to show the necessity of considering more factors when steering the traffic to the appropriate service instance based on the basic edge computing deployment to provide the service equivalency.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-liu-can-ps-usecases-00"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8U823IbOXbv/ArEerBVJumRPLvJqDaplSV5rZRlK5aczVQq
D2A3SMJuNhigWzRn5Pn2PRcAjb5QlmSnwgeb7AYODs79AmgymYwqXRXqSJxu
S7nS2eS43GbSVeLYZktdqayqrRrJ2cyqGxrUf5mbDKYCiNzKeTUp9CTnYROZ
DJv89OdRLit1NMrg34Wx2yPhqnzk6tlKO6dNeb1dA5Dzs+vXo5Fe2yNR2dpV
hz/99MtPhyNplTwSH0xd6XIh8NdoY+znhTX1+kjYarFZjD6rLTzLAUZZKVuq
anKKGI1Gmclh1pGo3US6TOvRWh+J/65MNhbO2MqquYNv2xV++Z/RSNbV0tij
kZiMhNClOxK/TsVbDT94n7/q35am5ifGLmSpf5MVbOBIvKnlRmlxrbJlaQqz
0MrBGLWSujgShd7SxL8uadQ0Myt4mZm6rJAYJ0tdymTNt1NxLsvSlCou/LbW
C508fcDiNHWqeWoLg7jg6VRcW+OcKuOCp9p+Th4+YL0cZk4rnjm83CXStI5L
XSrgKz9oL0N0ERdmpguVErNew4ztp+1fMxywovffoulJi48nS17zYTvLpsXd
HBTWoEKpXFfGjkalsSuAewOSL8SH1yeHBwe/+K//cvDPPx+BsJfzdMz55HQK
24tatHaT2in4qlz6OpNl+9VoOp2ORpPJRMiZq6zMQPKvl9oJUNB6pcpK5Mpl
Vs+UE7IUqXIKQEBUS9WzAs+8xu+DMFZAw6yo84Hp5kbZG602YwE0KoEiqzWI
WVmBWskyJ8iorfPCbISZw3sgmCnEupClohFgGST9gh3QFlY6z4Hfoz1UZmvy
OkPWjEZn+UIRfDYES+nETKlSqC9rgIOP5tashINvhQIewOjSIMqVEau6qPQa
HoNpQHRUDpCKQs6MlQStPdyZ4kYR7mCfanhW6M9KWOVgbw5e6JUa409T2wxI
sIYHXoJ4134VoeZznWlVZtspMgTQr61FdoQBLVIC+VR7j2trbjTiZFVBQlJs
wXLCt0w4JDssnmu3lhUqwmIMBK6AILABRD0rDAhHxTCJNMC7879dirWybg1r
AjyYYsN4hKis2OhqSb9XBiY3uITtOhoB1hh56QA7i29xQtgUYlh7/qsbQMiZ
lUKaOfEJzLqYgdDmwpRhKwBnrhe1JQICoY5dFNccifL77zsE/+vXMQg70hhA
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

-->

</rfc>
