<?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-yang-nmrg-mcp-nm-03" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title>Applicability of MCP for the Network Management</title>
    <seriesInfo name="Internet-Draft" value="draft-yang-nmrg-mcp-nm-03"/>
    <author fullname="Yuanyuan Yang">
      <organization>Huawei</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>yangyuanyuan55@huawei.com</email>
      </address>
    </author>
    <author fullname="Qin Wu">
      <organization>Huawei</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>bill.wu@huawei.com</email>
      </address>
    </author>
    <author fullname="Diego Lopez">
      <organization>Telefonica</organization>
      <address>
        <postal>
          <country>Spain</country>
        </postal>
        <email>diego.r.lopez@telefonica.com</email>
      </address>
    </author>
    <author fullname="Nathalie Romo Moreno">
      <organization>Deutsche Telekom</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>nathalie.romo-moreno@telekom.de</email>
      </address>
    </author>
    <author fullname="Lionel Tailhardat">
      <organization>Orange Research</organization>
      <address>
        <postal>
          <country>France</country>
        </postal>
        <email>lionel.tailhardat@orange.com</email>
      </address>
    </author>
    <author fullname="Shailesh Prabhu">
      <organization>Nokia</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>shailesh.prabhu@nokia.com</email>
      </address>
    </author>
    <date year="2026" month="July" day="06"/>
    <area>OPS and ART</area>
    <workgroup>Network Management Working Group</workgroup>
    <keyword>large language model</keyword>
    <keyword>model context protocol</keyword>
    <abstract>
      <?line 65?>

<t>The application of MCP in the network management field is meant to refactor network
management operation and network capabilities as tools and provide more agile and
extensible architecture to expose these AI integration capabilities. This document
discusses the applicability of MCP to the network management plane in the IP network
that utilizes IETF technologies. It explores MCP for network exposure, multiple MCP
server discovery, communication between Network Elements or between the Network
element and the Network Controller/Network Gateway.</t>
    </abstract>
  </front>
  <middle>
    <?line 75?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Model Context Protocol (MCP) decouples LLMs from tools and provides
   a standardized way for LLMs to access and utilize information from different
   data sources and tools, making it easier to build AI applications that can
   interact with external LLM models and software tools and enable workflows
   automation.</t>
      <t>MCP has seen rapid adoption across both startups and enterprises since it
   was announced in November 2024. Key use cases include AI coding assistants in
   IDEs, data analysis tools that can query databases, and productivity tools
   that can interact with services like Slack or Google Drive.</t>
      <t>The application of MCP for the network management is meant to refactor
   network management operation and network capabilities as tools and provide
   more agile and extensible architecture to expose or consume these AI
   integration capabilities.</t>
      <t>With integration of MCP into the network management system, it allows
   you to develop various rich AI-driven network applications, realize intent
   based network management, automate workflows in the multi-vendor
   heterogeneous network platform. By establishing standard interfaces for
   tool encapsulation, intent translation, and closed-loop execution within
   the network management system, MCP enables the network management system
   to have:</t>
      <ul spacing="normal">
        <li>
          <t>Unified operation abstraction through normalized MCP tool
definitions</t>
        </li>
        <li>
          <t>Seamless LLM integration via the structured protocol</t>
        </li>
        <li>
          <t>Automation Execution Ability</t>
        </li>
      </ul>
      <t>This document discusses the applicability of MCP to the network
   management plane in the IP network that utilizes IETF technologies.
   It explores MCP for network exposure, multiple MCP server discovery,
   communication between Network Elements or between the Network element
   and the Network Controller/Network Gateway.</t>
    </section>
    <section anchor="terminology-notation-conventions">
      <name>Terminology &amp; Notation Conventions</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?>

<t>The following terms are used throughout this document:</t>
      <section anchor="mcp">
        <name>MCP</name>
        <ul spacing="normal">
          <li>
            <t><strong>MCP Protocol</strong>: MCP is an open standard designed to facilitate communication
                  between LLMs and external data sources or tools.</t>
          </li>
          <li>
            <t><strong>MCP Host</strong>: The entity initiating the LLM request.</t>
          </li>
          <li>
            <t><strong>MCP Client</strong>: A built-in module within a host, specifically designed for
                interaction with the MCP server.</t>
          </li>
          <li>
            <t><strong>MCP Server</strong>: A dedicated server that interacts with MCP clients and provides tools.</t>
          </li>
          <li>
            <t><strong>CLI</strong>: Command Line Interface</t>
          </li>
        </ul>
      </section>
      <section anchor="others">
        <name>Others</name>
        <ul spacing="normal">
          <li>
            <t><strong>LLM</strong>: Large Language Model</t>
          </li>
          <li>
            <t><strong>NETCONF</strong>: Network Configuration Protocol <xref target="RFC6241"/></t>
          </li>
          <li>
            <t><strong>RESTCONF</strong>: RESTful Network Configuration Protocol <xref target="RFC8040"/></t>
          </li>
          <li>
            <t><strong>SNMP</strong>: A Simple Network Management Protocol <xref target="RFC3584"/></t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="value-mcp-nm">
      <name>The values of coupling MCP with the network management</name>
      <artwork><![CDATA[
 +---------------+        +---------------+
 |               |        |               |
 |  3rd Party    |        |  3rd-party
 |  AI Agent     |        | Tools/Contents|
 +-----/---\-----+        +---------------+
       |   |                   |   |
       |   | ----------------- \   /
      ///////                 \\\\\\\
    ||                               ||
  ||                                   ||
   |          MCP Eco-system           |
    ||                               ||
      \\\\\\\                 ///////
       /   \ -----------------  |   |
       |   |                    |   |
 +---------------+       +----- \---/----+
 |               |       |               |
 |  Network MCP  |       |  In-Network   |
 |   Server      |       |     Service   |
(network exposure)    (e.g.,Digital assistant)
 +---------------+       +---------------+
        /   \                   /   \
        |   |                   |   |
 +------+---+-------------------+---+----+
 |                                       |
 |       Network Intelligence            |
 |                                       |
 |  Agentic + MCP Architecture Paradigm  |
 |                                       |
 +---------------------------------------+

]]></artwork>
      <t>There are 3 values for MCP coupling with the network management</t>
      <ul spacing="normal">
        <li>
          <t>Network MCP Server support
          </t>
          <ul spacing="normal">
            <li>
              <t>Exposing network capabilities as MCP Servers for 3rd-party AI Agents &amp; applications</t>
            </li>
          </ul>
        </li>
        <li>
          <t>In Network Service
          </t>
          <ul spacing="normal">
            <li>
              <t>Empowering network services by leveraging MCP ecosystem tools &amp; contents</t>
            </li>
            <li>
              <t>Network service as a unified interface to various and rich capabilities for network users</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Network Management Intelligence
          </t>
          <ul spacing="normal">
            <li>
              <t>Making network architecture really agile and friendly for innovation</t>
            </li>
            <li>
              <t>Decoupling network management functions into network agents and network tools</t>
            </li>
          </ul>
        </li>
      </ul>
    </section>
    <section anchor="the-high-level-challenges-in-adopting-mcp-in-nm">
      <name>The high level Challenges in adopting MCP in NM</name>
      <ul spacing="normal">
        <li>
          <t>Protocol Design  </t>
          <ul spacing="normal">
            <li>
              <t>Error Handling      </t>
              <t>
o Although MCP provides basic error codes, MCP does not yet enforce a entire
  error-handling mechanism, and its scope is currently limited to discovery and
  invocation, omitting crucial aspects like tool governance, versioning, or
   lifecycle management.</t>
            </li>
            <li>
              <t>Stateful      </t>
              <t>
o The protocol's reliance on stateful Server-Sent Events (SSE) can create
  significant complexities when integrating with inherently stateless REST APIs,
  requiring developers to manage state externally. This can be particularly challenging
  for remote MCP servers due to network latency and instability, complicating load
  balancing and horizontal scaling efforts.</t>
            </li>
            <li>
              <t>Context Handling      </t>
              <t>
o There are also concerns that multiple active MCP connections could consume
  significant tokens in the LLM's context window. This can directly impact an
  LLM's performance, slowing down responses and potentially hindering its ability
  to maintain focus and reason effectively over extended or complex interactions.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Security Consideration  </t>
          <ul spacing="normal">
            <li>
              <t>Malicious Actors      </t>
              <t>
The protocol's ability to grant LLMs access to external systems introduces potential
vulnerabilities that require careful consideration      </t>
              <t>
o Prompt injection, where malicious instructions embedded in user inputs or tool
  descriptions could lead to unintended actions by the LLM;      </t>
              <t>
o Tool poisoning, where attackers modify tool definitions, or rug pulls (similar to
  tool poisoning but occurs post-installation);      </t>
              <t>
o Tool shadowing, where a malicious server creates a tool with the same name as a
  legitimate tool from another server to intercept calls;</t>
            </li>
            <li>
              <t>Security enforcement      </t>
              <t>
o MCP itself lacks inherent security enforcement mechanisms, relying heavily on external
  implementations for authentication and authorization, which were not initially
  well-defined within the protocol.</t>
            </li>
            <li>
              <t>Identity Management      </t>
              <t>
o Determining clear identity management - whether requests originate from the end user,
  the AI agent, or a shared system account - remains an area needing clearer definition.</t>
            </li>
          </ul>
        </li>
      </ul>
    </section>
    <section anchor="mcp-for-network-exposure">
      <name>MCP for Network Exposure</name>
      <t>Network exposure is the process of making network capabilities, such as data and connectivity
services, available to external users, applications, and developers through secure APIs. It
allows for more agility and the creation of programmable networks. The MCP can be used to expose
network capabilities to AI applications or consume external sources for LLMs.</t>
      <section anchor="the-third-party-as-ietf-network-exposure-consumer">
        <name>The Third Party as IETF network Exposure Consumer</name>
        <artwork><![CDATA[
       3rd Party
  +------------------+
  |     Consumer     |
  |   +------------+ |
  |   |            | |       4. Authoriz and Consume
  |   | MCP Client <-+------------------------+
  +---+-+-------^--+-+                        |
    2.Discover  |3. List of                   |
    and Authz   | Available APIs              |
        |       |                             |
        |       |                             |
  +---+-V-------+--+------------+         +---V--------+
  |   | MCP Server |            |         |Tools       |
  |   +------------+            |1.Publish|+----------+|
  |                             <---------+|Simulation||
  |   Network Exposure Agent    |         ||  API     ||
  |   /Network Controller       |4. Authz |+----------+|
  | +---+   +---+ +---+         <--------->            |
  | |NF1|   |NF2| |NF3| ...     |         |+----------+|
  | +---+   +---+ +---+         |  Heart  ||Other APIs||
  |                             <--------->+----------+|
  +-----------------------------+  Beat   +------------+

]]></artwork>
        <t>Step 1: External tools or data source publish a set of APIs to MCP server in the Network
        Controller.</t>
        <t>Step 2: MCP client sends a specific tool request to discover tools and MCP Server provides
        authorization to the MCP client.</t>
        <t>Step 3: After successful authorization, MCP server returns the API list corresponding to the tool
        request sent by the MCP client.</t>
        <t>Step 4: MCP Client invokes tools with authorization.</t>
      </section>
      <section anchor="the-network-controller-consumes-external-sources">
        <name>The Network Controller Consumes external sources</name>
        <artwork><![CDATA[
                               +---------------+
                               |  Data Source  |
                               | +-----------+ |
                               | | MCP Server| |
                               +-+-----^-----+-+
                                       |2. Consume external sources
                                       |
                          +------+-----V-----+-----------+
                          |      | MCP Client|0.Preconfig MCP
  +--------------+        |      +-----------+  Server Address
  |     IETF     |1.MCP Service Request                  |
  |   Network    +-------->                              |
  |  Management  |3.MCP Service Response                 |
  |  AI Agents   <--------+                              |
  +--------------+        |                              |
                          |       Network Controller     |
                          |                              |
                          +------------------------------+

]]></artwork>
        <t>Step 0: MCP Client is preconfigured with the MCP Server address.</t>
        <t>Step 1: IETF Network Management AI Agent sends a MCP Service Request to
        the MCP client within the Network Controller.</t>
        <t>Step 2: The MCP client discovers tools provided by the external MCP server.</t>
        <t>Step 3: The MCP client provides the available tools list to the IETF Network Management
        AI Agent.</t>
      </section>
    </section>
    <section anchor="mcp-server-discovery">
      <name>MCP Server Discovery</name>
      <t>The MCP Server Discovery involves clients querying servers to find available tools,
resources, and functions. In case MCP servers are distributed in different locations,
MCP Repository can be established to keep track of the location of each MCP servers.</t>
      <section anchor="mcp-core-function">
        <name>MCP core function</name>
        <artwork><![CDATA[
          +------------+ 2.Discovery ---------------+
          | Agents     +-----------+      MCP       |
          |(MCP Client)+-----------+   Repository  |
          +-+----------+ 3. Authz  +--------^-------+
            |4. Consume                     |1.Registration
            | +-------------+---------------+-------+-
 +----------V-+       +-----+-------+        +------+------+
 |MCP Server 1|       |MCP Server 2 |        | MCP Server 3|
 +------------+       +-------------+        +-------------+
    -------                -----                  -----
 ///FM  PM \\\          ///     \\\            ///     \\\
|             |       ||  Memory   |         ||           |
| Routing  ACL|       |             |        |    Templates|
 \\\Policy ///        || Database  |         ||           |
    -------             \\\     ///            \\\     ///
                           -----                  -----

]]></artwork>
        <t>o MCP Repository:
  * Maintain the description of MCP servers
  * Support MCP server discovery for Client.</t>
        <t>o MCP client: consuming the services provided by MCP servers</t>
        <t>o MCP servers: including authentication/session/policy tools, the
  memory/prompts used for Agents</t>
      </section>
      <section anchor="procedure-for-multi-mcp-servers-discovery">
        <name>Procedure for Multi-MCP servers Discovery</name>
        <artwork><![CDATA[
 +------------------+    +----------+   +-------+     +------+
 |Network Management|    |          |   |       |     |      |
 |    AI Agent      |    |  MCP     |   | MCP   |     |Tools |
 |   (MCP Client)   |    |Repository|   |Servers|     |      |
 +---------+--------+    +----+-----+   +---+---+     +---+--+
           |                  |             | 0. Sync the info of tools
           |                  |             |<------------+
           |                  |1. Registration            |
           |                  |<------------+             |
           |                  |             |             |
           |    +-------------+----------+  |             |
           |    |       Repository       |  |             |
           |    |MCP Server1:ID 1, Capability, Tools      |
           |    |                        |  |             |
           |    |MCP Server2:ID 2, Capability, Tools      |
           |    +------------- ----------+  |             |
           | 2.1 Discovery    |             |             |
           +------------------>             |             |
           |           +------+------+      |             |
           |           | Search for  |      |             |
           |           | Proper MCP  |      |             |
           |           | Server      |      |             |
                       +-------------+      |             |
           | 2.2 Address of MCP Server      |             |
           <------------------+             |             |
              3. oAuth Authz                |             |
           <------------------------------->|             |
           |  4. Consume Tools/Resources/Prompts          |
           +------------------+-------------|-------------|
                              |             |             |

]]></artwork>
        <t>Step 0: The MCP Server syncs up on the info of tools, when tools are added or removed,
        tools changes will be automatically synced up with the MCP server.</t>
        <t>Step 1: Each new MCP server will register to the centralized MCP registry.</t>
        <t>Step 2.1: MCP Client sends the MCP service request to the MCP registry for specific capability.</t>
        <t>Step 2.2: The MCP registry returns a specific MCP server to the MCP client.</t>
        <t>Step 3: The MCP Client request authorization from the MCP server.</t>
        <t>Step 4: The MCP Client invokes specific tools with authorization.</t>
      </section>
      <section anchor="network-management-capability-metadata">
        <name>Network Management Capability Metadata</name>
        <t>In MCP-based network management environments, exposed tools may
represent operationally sensitive network management actions,
including telemetry retrieval, diagnostics, configuration
modification, service provisioning, policy updates, or device
control operations. While the MCP repository maintains information
about MCP servers, tools, and capabilities, additional
network-management-specific capability metadata may improve
operational safety, interoperability, and automated decision-making.</t>
        <t>MCP repositories and MCP servers may associate tools with metadata
describing both functional capabilities and operational constraints
of the exposed capability as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Functional capability metadata:
operation type, operational scope, supported management
protocols, rollback support capability, and operational risk level.</t>
          </li>
          <li>
            <t>Operational constraint metadata
authorization requirements, human approval requirements, freshness indicators, and
synchronization version information.</t>
          </li>
        </ul>
        <t>Such metadata may assist MCP clients, AI agents, and orchestration
systems in evaluating the suitability, applicability, and
operational safety of MCP tools prior to authorization and
invocation, particularly in large-scale distributed network
management deployments.</t>
      </section>
    </section>
    <section anchor="deployment-consideration-in-adopting-mcp-in-the-network-management">
      <name>Deployment Consideration in adopting MCP in the Network Management</name>
      <t>This section describes MCP deployment requirements for network management environments,
followed by implementation scenarios. Key architectural requirements include:</t>
      <ul spacing="normal">
        <li>
          <t>Function-Specific MCP Servers:
To maintain proper architecture and performance with growing tool volumes, servers
should be categorized by network management functions. Typical categories include
network log analysis, device configuration management, energy consumption management,
and security operations, etc.</t>
        </li>
        <li>
          <t>Secure and Scalable Architecture: The architecture must:  </t>
          <ul spacing="normal">
            <li>
              <t>Enforce strict access controls limiting MCP operations to authorized AI models and users</t>
            </li>
            <li>
              <t>Scale efficiently with increasing number of network devices while maintaining performance</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Automated Workflows: MCP implementations should support LLM-coordinated automation of:  </t>
          <ul spacing="normal">
            <li>
              <t>Real-time monitoring and diagnostics</t>
            </li>
            <li>
              <t>Fault remediation workflows</t>
            </li>
            <li>
              <t>Other common management operations to reduce operator workload</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>While these core requirements apply universally, operational characteristics vary based
on deployment location. The following subsections detail these deployment scenarios.</t>
      <section anchor="network-element-inter-communication-using-mcp">
        <name>Network Element Inter-Communication using MCP</name>
        <t>In this network scenario, the MCP client is deployed in one smart network element
while the MCP server is deployed in another smart network element. The MCP client
communicates with the MCP server using the MCP protocol and invokes specific tools
and gets access to specific data in the network element as a data source.
In addition, human operator can use natural language to interact with smart network
element to investigate protocol troubleshooting information.</t>
        <t>Network elements usually have limited resources (CPU, memory, etc.). Deploying MCP
Client together with SLM may occupy a large amount of resources, affecting the
normal operation of the device.</t>
        <artwork><![CDATA[
         Human Operator
              |
              |
          Natural Language               Data Source
  +-----------+-------------+     +-------------------------+
  |   +-------+----------+  |     |   +------------------+  |
  |   |Routing Protocol  |  |     |   |Routing Protocol  |  |
  |   |       Agent      |  |     |   |       Agent      |  |
  |   |+---+ +----------+|  |     |   | +----------+     |  |
  |   ||SLM| |MCP Client++--+-----+---+->MCP Server|     |  |
  |   |+---+ +----------+|  |     |   | +----------+     |  |
  |   +------------------+  |     |   +------------------+  |
  +-------------------------+     +-------------------------+
    Smart Network Element           Smart Network Element


]]></artwork>
      </section>
      <section anchor="network-controller-consumes-api-or-data-source-using-mcp">
        <name>Network Controller consumes API or Data source using MCP</name>
        <t>In this network scenario, the MCP client is deployed in the network controller
while the MCP server is deployed in either the 3rd party management system or
external data source. The MCP client communicates with the MCP server using
the MCP protocol and invokes specific tools and gets access to specific data in
the 3rd party management system or external data source.</t>
        <artwork><![CDATA[
+------------------------+     +------------+
|                        |     | 3rd party  |
|   Network Controller   |     | Management |
|              +-------+ |     |    System  |
|              |  MCP  +-+--+  |+----------+|
|              | Client+-+--+--->MCP Server||
|              +-------+ |  |  |+----------+|
|                        |  |  +------------+
|                        |  |
|                        |  |  +------------+
|                        |  |  |            |
|                        |  |  |Data Source |
|                        |  |  |+----------+|
|                        |  |--->MCP Server||
|                        |     |+----------+|
|                        |     |            |
+------------------------+     +------------+

]]></artwork>
      </section>
      <section anchor="standalone-mcp-server-to-expose-apis-and-tools-to-the-network-controller">
        <name>Standalone MCP server to Expose APIs and tools to the Network Controller</name>
        <t>In this network scenario, the MCP client is deployed in the network controller
while the MCP server is deployed standalone to manage all the network elements.
For legacy networks, native MCP implementation on individual Network Elements can be redundant or resource-constrained. Instead, pre-existing network automation scripts (e.g., Python scripts powered by pyATS or Netmiko) can be directly refactored as MCP tools.</t>
        <t>In this scenario, the standalone MCP server or Network Controller hosts these scripts and exposes them to the MCP client via standardized tool descriptors. When an AI agent requests a device operation, the MCP server invokes the corresponding Python script via local shell execution or tool pools. This approach achieves direct device control and backward compatibility without modifying the legacy device control plane.</t>
        <artwork><![CDATA[


                     +----------------------+
                     |                      |
                     |   Network Controller |
                     |                      |
                     |    +------------+    |
                     |    |            |    |
            +--------+----| MCP Client +----+----------+
            |        |    |            |    |          |
            |        |    +-----+------+    |          |
            |        +----------+-----------+          |
            |                   |                      |
            |    +--------------V---------------+      |
            |    |         MCP Server           |      |
            |    +--------^-------------^-------+      |
            V             |             |              V
   +-------------+        |             |        +-------------+
   |             |        |             |        |             |
   | Data Source |--------+-            |--------+    Tools    |
   |             |                               |             |
   +------+------+                               +------+------+
          |                                             |
   (Telemetry/gNMI)                              (CLI/FastCLI/Shell)
          |                                             |
   +------V---------------------------------------------V------+
   |    Automation & Adaption Scripts (e.g., Python, pyATS)   |
   +------------------------------+----------------------------+
                                  |
                                  V
                           +--------------+
                           | Legacy Device|
                           +--------------+
                           Network Element

]]></artwork>
      </section>
      <section anchor="the-network-gatewaycontroller-and-the-network-element-communication-using-mcp">
        <name>The Network Gateway/Controller and the Network Element Communication using MCP</name>
        <t>In this network scenario, the MCP client is deployed in the network gateway device
while the MCP server is deployed in each network device. The MCP client
communicates with the MCP server using the MCP protocol. The LLM is a pre-trained model
and deployed in the same Network gateway as the MCP client.</t>
        <t>Network devices usually have limited resources (CPU, memory, etc.). Deploying MCP
Server may occupy a large amount of resources, affecting the normal operation of the
device.</t>
        <artwork><![CDATA[
      +------------------------+
      |   Network Controller/  |
      |   Network Gateway      |
      |                        |
      |        Natural         |
      | +------Language------+ |
      | |  MCP  |     | LLM  | |
      | | Client|-----|      | |
      | +-+-----+     +------+ |
      |   |MCP                 |
      +---+--------------------+
          +----------------+
 +--------+---+     +------+------+
 |  +-----++  |     |  +---+--+   |
 |  | MCP ||  |     |  | MCP  |   |
 |  |Server|  |     |  |Server|   |
 |  +------+  |     |  +------+   |
 +------------+     +-------------+
Network Element      Network Element

]]></artwork>
      </section>
    </section>
    <section anchor="mcp-architecture-design-for-network-management">
      <name>MCP architecture Design for Network Management</name>
      <section anchor="encapsulating-device-operations-into-mcp-tools">
        <name>Encapsulating Device Operations into MCP Tools</name>
        <ul spacing="normal">
          <li>
            <t>Objective: Standardize device operations into modular, reusable tools.</t>
          </li>
          <li>
            <t>Implementation:
            </t>
            <ul spacing="normal">
              <li>
                <t>Tool Abstraction: Vendor-specific commands are wrapped into discrete MCP
Tools with uniform schemas.</t>
              </li>
              <li>
                <t>Tool Registry: A centralized database stores MCP Tools with metadata
(e.g., names, descriptions, parameters).</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Benefits:
            </t>
            <ul spacing="normal">
              <li>
                <t>Eliminates manual translation of commands across different vendors</t>
              </li>
              <li>
                <t>Enables the plug-and-play integration of new device types.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="llm-for-intent-to-tool-request-translation">
        <name>LLM for Intent-to-Tool-Request Translation</name>
        <ul spacing="normal">
          <li>
            <t>Objective: Allow AI models (such as Claude) to understand natural language
           commands and trigger operations.</t>
          </li>
          <li>
            <t>Workflow:
            </t>
            <ul spacing="normal">
              <li>
                <t>Intent Recognition: The LLM first analyzes the user's natural language query to identify：
                </t>
                <ul spacing="normal">
                  <li>
                    <t>The user's intent or goal</t>
                  </li>
                  <li>
                    <t>Required actions or operations</t>
                  </li>
                  <li>
                    <t>Entities, parameters, and constraints mentioned</t>
                  </li>
                  <li>
                    <t>Context from previous interactions</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Network Entity Object Extraction：The LLM or a apecialized sub-module extracts network-specificsemantic entities (e.g.,Device Names, Interface IDs, Protocal Instances, VRF contexts) from the input. These extracted entities are mapped onto a network semantic graph or topology data model to ensure that the paramenters paased to the MCP tool correspond to valid, existing operational assets.</t>
              </li>
              <li>
                <t>Tool Discovery and Toolchain Generation: The LLM accesses tool descriptions provided by MCP
servers, and matches the identified intent with available tools.</t>
              </li>
              <li>
                <t>Parameter Extraction and Mapping: The LLM maps natural language references to structured
parameter names and extracts relevant information from the user query.</t>
              </li>
              <li>
                <t>Structured Invocation Generation: The LLM generates properly formatted tool calls following
MCP's protocol.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Benefits:
            </t>
            <ul spacing="normal">
              <li>
                <t>Bridge natural language to tool invocation requests in a fixed format, then return this
request to the client, enabling the client to properly parse the request.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="closed-loop-automation-execution-workflow">
        <name>Closed-Loop Automation Execution Workflow</name>
        <ul spacing="normal">
          <li>
            <t>Objective: Realize the closed loop of "voice/text commands → automatic execution" leveraging local memory and tools.</t>
          </li>
          <li>
            <t>A general workflow is as follows:
            </t>
            <ul spacing="normal">
              <li>
                <t>User Input Submission: An operator submits a natural language request to the MCP
client, which forwards the query to the LLM.</t>
              </li>
              <li>
                <t>LLM Intent Processing: The LLM parses the input and identifies the operational intent. The MCP client then quiries the MCP server via HTTP GET to retrieve the registered tools and their associated schemas.</t>
              </li>
              <li>
                <t>Tool Discovery and Context Retrieval:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>If the LLM requires network knowledge or baseline history to process the intent, it invokes the respective tool. Taking RAG tool as an example, this tool may generate a query embedding and perform a top-K similarity search against the vector database.</t>
                  </li>
                  <li>
                    <t>The retrieved document or memory records are returned to the LLM as a structured prompt context.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Tool Decision and Execution:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>The LLM evaluates the context, determines the execution sequence, and returns a structured post request to the MCP client. The MCP client executes the toolchain via HTTP POST.</t>
                  </li>
                  <li>
                    <t>For configuration and diagnostic tasks, the MCP server invokes respective tool to parse parameters and capture stdout/stderr outputs.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Result Aggregation &amp; Feedback: The MCP client collates
the JSON outputs (e.g., success or error messages) and forwards them to
the LLM for summarization. The execution logs and final decisions are persisted as
Markdown files in the long-term memory module on a certain retention cycle.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Benefits:
            </t>
            <ul spacing="normal">
              <li>
                <t>Tools safely retry/rollback.</t>
              </li>
              <li>
                <t>Full traceability of LLM decisions and tool executions.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="interworking-with-the-network-management-protocol-and-yang-data-models">
      <name>Interworking with the Network Management protocol and YANG data models</name>
      <t>MCP can be seen as AI protocol and used to invoke AI integrated capabilities. MCP is
not in the position to replace the network management and YANG data model. Instead,
it can be integrated together, e.g.,</t>
      <ul spacing="normal">
        <li>
          <t>Integrated MCP with CLI, allow the MCP client invoke CLI capabilities;</t>
        </li>
        <li>
          <t>Integrated MCP with YANG, allow YANG being consumed by MCP client or allow the
MCP client invoke YANG interface related capabilities;</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The MCP protocol needs to consider scenarios where either the client or server
encounters issues, such as crashes. If one or both parties go offline during
communication, the entire process may remain stuck waiting for messages,
potentially leading to an infinite loop. Furthermore, certain tool operations
may be interrupted, and some irreversible network management operations
could be affected.</t>
      <t>Due to network latency, some operations might not return in time, yet from
the user's perspective, these operations may appear either unexecuted or failed.
If the user then initiates another tool request to the server, problems may occur.</t>
      <t>For complex network management workflows, while LLM's tool invocation process may
generally function correctly, issues can arise in the details. Users must verify
each LLM operation to prevent unintended hazardous actions.</t>
      <t>Capability metadata associated with MCP-exposed network management tools may assist MCP clients and AI agents in evaluating operational risk, rollback capabilities, and approval requirements prior to tool invocation. Orchestration systems may use such metadata to enforce authorization, approval, and policy constraints as part of the execution workflow. This distinction can help reduce unsafe or unintended operations in AI-assisted network management environments by allowing clients and agents to consume metadata for planning, while enforcement points apply policy controls before execution.</t>
    </section>
  </middle>
  <back>
    <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="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="RFC6241">
        <front>
          <title>Network Configuration Protocol (NETCONF)</title>
          <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
          <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
          <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
          <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
          <date month="June" year="2011"/>
          <abstract>
            <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6241"/>
        <seriesInfo name="DOI" value="10.17487/RFC6241"/>
      </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="RFC3584">
        <front>
          <title>Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework</title>
          <author fullname="R. Frye" initials="R." surname="Frye"/>
          <author fullname="D. Levi" initials="D." surname="Levi"/>
          <author fullname="S. Routhier" initials="S." surname="Routhier"/>
          <author fullname="B. Wijnen" initials="B." surname="Wijnen"/>
          <date month="August" year="2003"/>
          <abstract>
            <t>The purpose of this document is to describe coexistence between version 3 of the Internet-standard Network Management Framework, (SNMPv3), version 2 of the Internet-standard Network Management Framework (SNMPv2), and the original Internet-standard Network Management Framework (SNMPv1). This document also describes how to convert MIB modules from SMIv1 format to SMIv2 format. This document obsoletes RFC 2576. 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="74"/>
        <seriesInfo name="RFC" value="3584"/>
        <seriesInfo name="DOI" value="10.17487/RFC3584"/>
      </reference>
    </references>
    <?line 726?>

<section anchor="usage">
      <name>MCP Usage Examples</name>
      <section anchor="routing-protocol-troubleshooting-using-embedded-slm-model-and-natural-language-interface">
        <name>Routing Protocol Troubleshooting using Embedded SLM Model and Natural Language Interface</name>
        <artwork><![CDATA[
+-----------------------------------------------------------------+
| Smart Network Element                                           |
|                                                                 |
| +-------------------------------------------------------------+ |
| |  Dev  Env: Offline Generate fault location workflow code    | |
| |                                                             | |
| |      +----------+                         +---------+       | |
| |      | Expert   | +----------+            |fault    |       | |
| |      |experience| | Protocol |  +-----+   |Locating |       | |
| |      |accumulate+-> Knowledge+--> LLM +--->Workflow |       | |
| |      | protocol | |   RAG    |  +-----+   |  Code   |       | |
| |      |  fault   | +----------+            +----+----+       | |
| |      +----------+                              |            | |
| +------------------------------------------------+------------+ |
|                                                  |              |
|                                                  |              |
|                                                  |              |
| +------------------------------------------------+------------+ |
| |OPS Env:Online Natural Language Interaction------V-------+    | |
| |                             +----------+Troubleshooting|    | |
| |                             |          |  Package Build|    | |
| |                             |          +---------------+    | |
| |+--------+              +----V---+    +-------------+        | |
| ||  User  |  +-------+   |Intent  |    | Execute     |        | |
| || Nature |  | Device|   |Parse   |    |Workflow     |        | |
| ||Language+-->  SLM  +--->Fault   +---->  Script     |        | |
| || Prompt |  |  ONNX |   |Pattern |    |Locating root|        | |
| |+--------+  +-------+   |Match   |    |  Cause      |        | |
| |                        +--------+    +-------------+        | |
| |                                                             | |
| +-------------------------------------------------------------+ |
+-----------------------------------------------------------------+

]]></artwork>
        <t>Step 1. When ISIS neighbour establishment fails, the network maintenance engineer
        queries the fault cause via natural language in the CLI interface.</t>
        <t>Step 2. A small model deployed on the device's CPU understands the user's intent
        and matches the fault pattern.</t>
        <t>Step 3. Troubleshooting scripts are invoked to locate the root cause of the fault.</t>
        <t>Step 4. The query is repeated until service operations get back to normal.</t>
      </section>
      <section anchor="device-configuration-using-mcpcli">
        <name>Device Configuration using MCP+CLI</name>
        <t>In this example, the network element implements the MCP Server and exposes all CLI
interfaces and documentation as tools to the MCP Client. The Network controller
implements the MCP client and interact with MCP server in the Network element.</t>
        <t>The MCP server provides the following registered tool descriptor information:</t>
        <t>Tools description: It describes the name, use, and parameters of tools.</t>
        <t>Tools implementation: MCP implementation describes how the tools are invoked.</t>
        <t>See Tool descriptor information example as follows:</t>
        <artwork><![CDATA[
# Tool Descriptor
[
  {
    "name": "batch_configure_devices",
    "description": "Batch Configure Network Devices",
    "parameters": {
      "type": "object",
      "properties": {
        "device_ips": {
          "type": "array",
          "items": {"type": "string"},
          "description": "Device IP List"
        },
        "commands": {
          "type": "array",
          "items": {"type": "string"},
          "description": "CLI Sequence"
        },
        "credential_id": {
          "type": "string",
          "description": "Credential ID"
        }
      },
      "required": ["device_ips", "commands"]
    }
  },
  {
    "name": "check_device_status",
    "description": "Check the Status of Network Devices",
    "parameters": {
      "type": "object",
      "properties": {
        "device_ip": {"type": "string"},
        "metrics": {
          "type": "array",
          "items": {"enum": ["cpu", "memory", "interface"]}
        }
      },
      "required": ["device_ip"]
    }
  }
]
# Tool Implementation
from netmiko import ConnectHandler
from mcp_server import McpServer

app = FastAPI()
server = McpServer(app)

#Connection Pool Management
devices = {
    "192.168.1.1": {
        "device_type": "VendorA-XYZ",
        "credential": "admin:XYZ@password"
    },
    "192.168.1.2": {
        "device_type": "VendorB-ABC",
        "credential": "admin:ABC@password"
    },
    ...
}

@server.tool("batch_configure_devices")
async def batch_config(device_ips: list,commands: list,credential_id: str):
    results = {}
    for ip in device_ips:
        conn = ConnectHandler(
            ip = ip,
            username = devices[ip]["credential"].split(':')[0],
            password = devices[ip]["credential"].split(':')[1],
            device_type = devices[ip]["device_type"]
        )
        output = conn.send_config_set(commands)
        results[ip] = output
    return {"success": True, "details": results}

@server.tool("check_device_status")
async def check_status(device_ip: str, metrics: list):
    status = {}
    if "cpu" in metrics:
        status["cpu"] = get_cpu_usage (device_ip)
    if "memory" in metrics:
        status["memory"] = get_memory_usage(device_ip)
    return status
]]></artwork>
        <t>Suppose a user submits a request (via the client) such as "Configure OSPF Area 0
with process ID 100 for all core switches in the Beijing data center," the MCP
client retrieves the necessary tooling descriptor information from the MCP server
and forwards it along with the request to the LLM. The LLM determines the
appropriate tools and responds in JSON format as follows:</t>
        <artwork><![CDATA[
{
"method": "batch_configure_devices",
"params": {
   "device_ips":["192.168.10.1",....,"192.168.10.10"],
   "command": [
     "router ospf 100",
     "network 192.168.0.0 0.0.255.255 area 0"
   ]
 }
}
}

]]></artwork>
        <t>The MCP server responds to the call instruction, converts it into the below CLIs
of different vendors, and then the devices execute the CLIs. The results are
returned to the MCP client in JSON as below and are forwarded to the LLM. The
LLM parses the response, generates a natural-language summary, and sends it back
to the client for final presentation to the user.</t>
        <artwork><![CDATA[
# Convert to CLI commands of different vendors
"commands": [
    "system-view",
    "ospf {{process_id}}",
    "area {{area_id}}",
    "network {{network_address}} {{wildcard_mask}}"
  ]

"commands": [
    "configure terminal",
    "router ospf {{process_id}}",
    "network {{network_address}} {{wildcard_mask}} area {{area_id}}",
    "end",
    "write memory"
  ]

#Feedbacks received by the MCP client of different vendors
{
    "status": "success",
    "message": "OSPF configuration applied successfully on device
                192.168.10.1",
    "commands_executed": [
        "system-view",
        "ospf 100",
        "area 0.0.0.0",
        "network 192.168.10.0 0.0.0.255"
    ]
}

{
    "status": "success",
    "message": "OSPF configuration applied successfully on device
                192.168.10.1",
    "commands_executed": [
        "configure terminal",
        "router ospf 100",
        "network 192.168.10.0 0.0.0.255 area 0",
        "end",
        "write memory"
    ]
}

# Natural language summary of success or failure:
{
  "192.168.10.1": "Configure Successfully, take 2.3 seconds",
  "192.168.10.2": "Error: no response from the device",
}

]]></artwork>
      </section>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact fullname="Qiufang Ma">
        <organization>Huawei</organization>
        <address>
          <email>maqiufang1@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Guanming Zeng">
        <organization>Huawei</organization>
        <address>
          <postal>
            <country>China</country>
          </postal>
          <email>zengguanming@huawei.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
X8sD3HDw0MAseEgwW3+y1pmB2POoZxoLzeB5B9Lheg9/CL4buHsPv/rnPAOy
Ge5/+c9fM4pMSuTpyBAB/vOaTqRFbizso2yb8MyA+3zyCSmY0VB99hkSh9HZ
PvvsgKUJSjfkSoXjsnCg2bTAcUsFzBYJHdl6QELClsKPIR1S5IxoJOUp0NBQ
fqNcHdlVfVvWDa4Id4lUAYyFuB1MhbuFp8jkKg3KR924bkdgzhbU8ZD0umYI
uAM6WotaGLF1UDVnMPZA1QudAAdOALOWboMiRDofo64Y6UALcJzFzT+m7zx/
qlMEDQwq/Ie4mxmq5oGwU0KLDpViHx5HZ6c44hFAG5ucIRKcGrlHB/oG1lPV
fKYAF2x9Rg6bM+OwIT2dfr84uTp6c/EK23gca5JNW5EWVolnIv2H55/vf/xI
Xd+ejG1f/BuM2oeN8eWzz5/JGOOL80uGzzibI4PucUN1er/44ktgE8Q6Aey3
cd4iykwUGReIDghEeyw9QvjDJ9RJHGow0n+DD4i1vWH42TPnvfZDpFYdlFit
/WG+U9sXQDWXoLAvu23hh+ECf6BmoHkfTnGJnWZXePpPyawCzFiZpT6F//56
71Ldurprs8/DRsPuR/0Vnj+VRk/5szbQX/lDrVZ9MwWz4pT3trIt/ZXj6Z4k
5ZBVKb/lI6b2FrzWQDZoYII7/WsPTPog1zcdt9qEW3sCYDnNbajVj1mWXgAs
ftPTYmh+Mk2FHfWNOmaTi5o+6apPu9jiiR5NR4PjbIoy1xmGu/dtrQcVBaTr
H3puW92DsTL8nvzX/djnPRDd9Fm5pgZ2yFjzPAOiJOj0NX3YqETXWaL26KQO
fTsQGEOcZtP5Y0ft23bfZ0843BWqR6QUvDBsE7VlkjmGd27hmyhPfGwTbKrb
xaKsUPX9DIwFwBgcZpO57Prx3Jb9WdZXgxLsm5g466lTxAVRebb5orzTlT+f
dR1cL1UO9mwFVrhIBJ2UwjLYZv8DhylgRhrsIhwBFxurVowya1aixmPsYxS+
ZCMHm/TtD9C9WAz3CDUfsWgB5+yLsma2jyFoZYNa4lwKkwp0hDRnt1hWFOWt
Ubo+U8fanmaf67YtEnZpkZ/ATje1Ooe1vshNI2J2loH1iRDN1dEMFqOLKXmM
xDklMEYP0zlu2IrsY9KkIj6vqoLVfgtz4OIidqKrw7yZkW2LA1h95zqugVg0
9UhAWanZvE5L+K0oG7XUYPehzw+PilTCSgvnoE7DmUyj5mAxxkVWz9mmyGCX
YPctNGq2SVuhixDgmGfzrGGN1tqF5HXmMbPitkzEU1BCS9pxAuZzRswQdMdG
3FXkb5hi/wJDHAOFuA79oAN0tdpknk10skzgON3ZjBhMY1SmQZcyAELwG/v8
0xpwIc9wZLCOUCOnpkJTwzGe8MktHeWT8fhkl7xrCaBPY6CDx0F6LrQEhR1U
rp8ZcdHOcm4CwwqyYqYFRDQZORRQ2VOHl6f1QAZFxTsjQhQnEtI3gJL3xj2t
rp8vxQ2PawNrEek/S9o8rmCSRJArk2igIgyv9LxsfBUbTJiWiNEgaw4zFMmS
j7hA3xC5Hwa8R2ImsLq8jM2JXsc5QJGcnNBlVlbZL8AO4DRrMAHwsZ7AzE0t
h2Jc2l3sdTwVLNESWUoCmxR3qPU6oK1wq4XTFoUWCgQ6zVPj+es5n6a80YV1
koEm/2ltY6tg5qXlnQfJFCggwXMCPRpdqbExwbgfHAl5yAknazETUzSaK10v
MFosFkeJPDEjfgP2Ucr8FalGQCqj0ukCusB/cESJ4Yc6rgEvAXaatgyDICmw
CzRF91ZlsM63ohDK6LACekTTDoBdAxdg4yES7giHSGz3EH227OPqkobxOcHa
AIkBgGxncrSAvK1ibbIgIBZIjmnYu903DXzb5gXMb7k6HSdjOXrLKyK6pLtM
RAjgfPMF2nV/51MeIGFVSOZmA4ieVSsogN74NGXXCIoL+HfRNtYEts499KAs
fKzJdUzcCkRUIbAVWKLsE3z5o0VT5EqLMquFEfGa4qaJkxukJrCJswl75n1P
InIsVbVTtWhzEJlPauCSQKfQzmKBPy7Y2I0qEzhFhGeN1jZQYs4u1t1wMfUM
JMedvxgPRGIhM+NCQUzzWN2kjuegoOD/oZSWpeQaVNOM/MvUmqJAMciKGSop
YnKXjHWJXmDgAfb0R+G5BvVEprC+w8slwdbUOp8oDEXUlifCqOu9nLwh73i+
RLjMdHybIS0UFgeNYEFawH4SZ0Juh8kSpCy68APnT0hUGCGGescdgg2FIbtC
gGJl0DvQLIZ0jBg8Yz9H45GK8LTTVFwp556Ox3s+Rgf8PKNDBSGFTjfT2NMl
hnh0BF/xvCDegoVQ4CFweI/8NSmhthEW+AzDa1MKCuB+ERnQCy36GRAsxrph
+ApD3AV5oDB3Bbi9Tu2S0IVrUXWEiorx/1qvrRgwUXTRMWlQ+AtEiDmUExML
7NNcgWG2AG9ANol8pZaNY0ArMlonaBi3MRAIRnp8dkN64KATOcFRfGkpHn7C
KU3SFSPFEYdpaFs2rITHYNzMRCMS/YHdAN+bz2kBshGKeYvoYXnLHkETe4p6
VXX4uRsB9WJUjo+Kw84EZ0fkfsL5QCxZl0csvvuicyzE52G8yjhg+GN9JdG6
DSlmJBtJpruxh+hx0GPPPg7MqpX9+vkIYx1EWgTRIyuLuZNzIqqves1MuyS2
N02Tv9GXrs1m56etPh8di6YJT16M1BlY1HiKm9pTzhYs9hda2aHFNESVvvZK
bfYd/Pb2vN93ztruAN588PE7H1AOsGJAdo7G/kVOL2/GntP1O+6PLlsKCK68
Rnur6L7NfOU1HmdzCRKuTMcuL3EOOm+paN9fnsrf0vHpegDINBes+0X1LHVP
Nsb/7gXbdEv9unscgNIXr/YJthevntO3Fys1Go26UH3cjNDxW2C1De6LvMqE
bavHQPXr7ozb3RYw90vgaGtnbby040Yv1P4BnIfwILbmgQF5IQTQVwgVULRo
Iioikqb0439ZmBJjVu6OaySzPT/w/PLQu0hRJTEBA9Y2RAD69qOXG+Bhu5/m
Qp9AtJs4qZvPLOLFgTqcNORvIX0WFdCOVuDtrdJNy2YI8QcwN2s09yrW9UmG
ykyelqnsLmrcqKiR60v5/MDni2ga35gIBetowbqcTOghCOG39ZpICUXCps9m
F+OGDyDtMaLJmNHE43wbO+wFyPmADj5zW93fwQiNv/EM9+/BzvR8ZOC3Dr6H
jrGloedgNSw8gMWWrivzj8OT1bPRJRioFBaiiOPa6e11eoeAN/RzmKaAxLVl
QKRZUK/9kYE7+u/eCir3btln7P5MX6837+nqefFQcIezsi29qavzcnoscqOe
4LreA6ptXTf+Jv9uEFMP6forZr3HZx2y+WchowGj0mAQJa0EoVdBj5jRY+QE
BSFIjwPWxtoMQ+/DHmvoqg4v9M2qdQh6kuMq7GaEg+GXIg5Sw20tIfvhZCsB
OoO56DCm3XimB45MLF+Y/AYY2L0ZWFgrSqBpFNQl5xf0/UL8P7+FRZi4NSUA
UlaWuOowSyBDIzZc4SCCk2J2xdaQdU2P0OOPOYmBxw+dbAA+TtBmj4lN8lR5
aQyrCPu81RiIaEpYn1g9Nl+MjZ8bDRDF9Kob1A4QRmYE/K7jZObPPTJ5EihD
tV3ompDqqKdOw192A4g+91w5nrDG9fBDob01ylo9cbSx2+3l7T/otOez8D31
wiiibtq/9SyQVVYja3pJfn/0Vk/xcNaTP1Ydol8T2vbfIKT1rhNItM06wDb/
RGrl4ee+tWS8h8/9mLr3/EU3mNYfwtwQZGdIyZcuYHofyuMIQ82vzpW6PFdB
INqE1zvRae9xFLJgu1mUTnpOx96xT9wX6Pu2bMkfrg6PzvpNvjCf4UrPMflS
Y+oBzH5Z5lmyVF4WAMxwLBm/Wya2O++AxOyzk1bgPd6mz2wFMZMo6/2OKA7E
pyz+ayR/z8VqchaF+NlByFHO3vxBcn8cGRW59Dj0gbhMTJKSDU/6bN+fKvIt
lPpAUrIpShE4BZ/Wmu5/PV3wUUg+OzSB1c4JA54uyBNds78Hl8hchljZJfq9
UjRnKQJM6bc+r/UY/4bkGEMPe+H3kEo92lyXPqsO1vlumpWPhCYqHmTHKNPd
cEfnV7Dd2YMg3X12abs7lKDuEpruzu72uLe+971g73vB3vc6fLRHceqS3bOR
Gi+LhNAFLzWQeDIJ8w8fx9nfwwesYX+kfPYd/HZf33Cm8LdH7n17341SZO/+
vuZ3Xy6aX+/t6yTF/sHpsdofqCPjK10OlOem2jxv39YfMe9znPf5I+YNYaUe
Dqvno31Pt1vbwZa+PQzi64f29X/qiPVH9V1h0nsFuhtyNWeFPrAvMMWFroJM
qkfMu5ZataWv/+nVMe45o+fGDDaiqi+zq6fvV8O1T4dit64Z1MUS9UXrhn5o
3555Q0TZDmdP+eRMyLfGcHh6KUKuv2+f0Aq+rcJv97hNttNCx3LtGEw1MHWQ
xQtVFuu8fcDZF+IwxChPKsFyzHy41enArozbYIgRE3DusjxH68bcIuP0ZZwL
usNkvdnJzoeKZk6h73ythkasSBhwwJSCTCA0K+/eCf9eLa2dO9oPTHU2qf15
0aj2fKTmJzMQEaz1qNpQlDeBZ0rbTsbL6TljvZ1sc6WaoWS9ZmWhL9ZGMNeB
9/naEMYNGriFN/tDexwSjrmDDt/E6M6OIjCEYZLhpktVShe3WVUWdDllICE9
ud4IzZZgYi+ATwT32RhF8EYaJaX0DCqJBIPIqZ8N3XARoFeZvo3zAWjA8bQo
a0C7GhNtvIzviBIKMpMyZTCA1F6bDSW6a7vAkgWca5Bqyu5L2JPi1lyP1Pcz
TH5ziGMFuUlDqf1LoFF8jbcdPJ12YEiNwrdBdBeoLWPImGjo0EFj2IOWoGLz
ASGMMYYP+9KRB2FVxxONUprSDegHI7clnE834TACnBBAhhx+BuQIdpdpF0Aw
ujlOGdd1mWQm10HQzCzKXLihjAy8K2r8FXHeScgsUh8tyFgBOs/QShCviMEo
b+9xLRdN6gPM2nnVM7gDEFpa7koblqsYBFNSKt7AJJHCRHPfO2USFjCVAqa8
RneNNPUmG6xtpMrqG85WpMSiN717dPDqBmEk0UeIatbOMf9ggYcc550fJ0Bd
swIlcVbQ/Y6yYhSDQZENz4A4zbCSCeijKfITTC0I8ImTq/27IAObMCH4W4KS
o623xaUzKSTM1t2KqdvMpcIFF/N4keso6y7ssXsyo0ykDoCwq58SGaTwwSqo
PMgQM+lCl11PcYBUL/JySdAk7+Ox/R6mgfXlmvaXVEFfZYY5RHxBx9w+4+Rj
N11wkEHa7ib2GjHas9UeJu4AHusC84JrvlTtZe92UMbcsg5oZzj25ZdYoUg6
V16W3YLV0yAxmDL2XGYf84FpJZfAMDB5W+YYYBt43ox6Rhlk15jJRrVnSK7D
nralC4/U1XKB+oXt5G6MR+4CdV5O7c3wgbDzUDQEV4J1oavpUrwki+7PESc9
2DQrJw6gZ5O4pEEGxBhWxxkRHohYUAdAm7d1cyApyZJCjCiKOZOcKijip+as
YINwbnafIDTVCvDu/UvSNzmNiAD0BA424xxayanFpB3Ok6eiPUhzBoAMMkzH
zSg5mA8f23rnjBs/tDLke3OdWm7sdVLK5LgN3zw7Ox8mZVmllKaVegUIYBkC
lrc6zodNNscaHAXJIcmT9SQ+t3wVtzmS0lynGQ/iqhtQA84awKuBwdl2oFlp
zMKUh0CKOAgl60ZW7GOZgrLSITEhS1tiDiSiNio2oXQBNRkzTDXIA1wypu4v
+YJ6RJzB8gLj/OdkKXePsm6va5Otm2osTyNL8fo60g80O7kyzFfzhkfB9eK2
FqQiBY+uZNobDDLaoBtwwmubNCmHPsoCsHaOqRn2uo7cQb4LFCWT7BD2tnmR
fSOMOnGmyF3s1HWfSSH7MQ+N1JZk7D69OMKfprrxs3NtCxKEneIztmAJavte
pscIAWj0NyOrLRph7AfrWwCmEyO2BatMIqirOeEDwpZHoWa3IGizKepadmPA
HVq85j8rS2IPoUTvXApHD2zL+dQx6NvmpoENfqknR5ffDcRry4xtdyRy0KCJ
GBlNOeV8S1rzGAuOgL6AGbcLkDlSlSueU/Yk8BQ/vsYZ2XxKXBnIU69NDIyZ
zyjqBra+JbC+EbB2rOSu1ex/vxDA24un4cfLxegEufu8IptjxyavzIWS/K7O
ndvvxLY5giYsYm+vODfdlt87GYahi9rr3f+76e2yr8zCOr07jvaw9wpwYcUe
Q0aVPZuRx37or/2clN917g0wfQDMt5znA85bqTHRbJffuk/v75FBbo9Ve6kP
iUlIwqwp4CDHXlLZ78C1fZaW2FkfxLJ1RpSPjTBDlm/NrZUWwStGfZfquzxd
PYynR4/g6eoBPD26f/m9NQEsS9qcg7uOMnudKKnPo+T/3VIoLrohG8a09pw1
q+7YLvDlRY/Gckd5rbWJW1E8fk910zLXWgtRmzxbn5q3r2R139jBmlaPguDv
OlbHn3rv2Cs/j+/+1o+AwX3wDVqrR42t1nb5OHx2rGtMtThy1AJDl+cJV5Si
fFdb6cz4Qtex+z+eldVu5e6GINZz6VH3QKV+BRwh19M4seYpaDNFbO/Tdexw
chSk2W2Wgsq1Xr5HkoHQ3IBFoJZUWS1paF1DOsUMJCDdOB1gztlQ/4wGhH87
1xlNnDZQywV5dbkEu9A9pRvKbF0vlodXY8XXU+bZTblrVmNv7pmKZFQ2x3lh
Ru6QwsOpe5HAuwDjcTGsclKL8WIWxxVYEF/ol/m6y5xqRQW1+OSKGA9RVuSY
1WhQWBeVuwwUGweAVTQHa5hhsodnupOfHACS1oFGGl4c04AsrjyX3JQDSCOo
+D4kOeswuAH/ZRqT0xjGnkOC/MsIAHQq3mFVG7yXCIsUByaKRPQg8804Y94I
JnaGofpVVkRtyFreQOkb0mg3cJENEaoNkmtL68eN3ZMdta31av1J0NplUeD/
BbdsvJSKHvCswkG3Tbza0jFIKNt7WEd/TWtselvHe571d+wgy7vwq40Sr3d0
U3TDwv4Kts34t2Cmv22b8d2W3XX2+i5a29WGJOY+iBtE2NDyYY95gEBtcCca
tAxWaPMsuoVo1je59ulZQW96w8bPWo7jg6fuLAR7PrkyQbyn04vz093tXZ4c
nZ0+fRXXDf47Rqa7+9um3+vH5e2fd93T90oT/kEdpjE7jcd9QnjAIne3s4BN
n60/P+RWxr1XPZTQwaZPN8t/W9uVOmNZdEyyaOvcjxl3zVy2Kqd/hUcqGD71
hE237qGxx393z6evJ055HSZu/CA7mpMefG/77+Xw5HGo3CYqP6g5ij4pFfL5
zm+4FbrMftHZT1x3gOC5FU2E4Ld7FUU8/CofotrgQ4x6fYhbr84yOvdpME8d
UfkNBPvkB69BP6V0Gxin5HoDWabxVsoSvQbGbje2HJ61WgUN5LoTdbWZYP4U
LmHU8fdgkSuX8L++C5NkupVDrTXYi0KlK5zdtrE2+57vwjOZrLwKMqhxhSvf
SbhycJE21tno2jj/48qba9ida2jn6knK72oFve6/TUyMFhnEArk+UVA1wI8k
A9s7cbWDAfOZ27qMAimjhONecb2koXpz/XeufnIgZjqZTmu2kHSlcpRxhcUi
2trdjsFaj6eBbYvx4CEXzzh0pYEP1Dsqm+ylqXBhSE4ku6uwaGrKU2HGOlZl
lft3RrchBoelroCiFb4uYh5TbV2ZTDKDl1ik0U8EMyW+wT601XeverJRcCKR
y1izg8LCrpwJJQ/A40ZX9S5u+qUu9CRrat7uCTK2gvgwbApteq9qM1d9NLvl
4ujuShCXk655GK8s8yJvp0PoMgSzbdktoI3ZcHJQmKwiMT0kc0SRUyoYNmzK
IW50aG6JXbkldc7/EAOJXoD4iSkkcZTHbap3uYJLCntvqPRWJ04VCmq3VRS1
VTadorXvUqRgahMKZuDxcuEAk3LKZTIOrISaZBUmvGGo/hcBDEauP63Xg2Vc
0R1jYVQDZLL8v//r3/kuB40m3aSoNkBpWkp5kyHdo8sqrzZN6a9YGp1gYRFK
xHKoMDBVNkxCkkI6gE46lV6mIhNl6YGovZXiOq6oUERAsLyAy5fw4eD1cWkG
mzEwoVokMdKRoHjdXg+lXKzmDlZdsfRWA7lQZT8t2zClEhmLLhjlbYFWdXoM
XzmCBEBGNxNG9OHZu7evTHWnetclH1JBINIsarsKnbrZYiouREReIpHHXjE8
WRng92LGjpIFF5rmXCN6WQNWAimosgEVOSIKoWPAFdfwdyz1QoxCQt4W56vh
knh5lmL6objJ/Bh8XNdaymgJQzn2C6zRo2SGCS6vMRskDtGUQwlyvTysg9S5
Q0NoYXP9cGQwEzBLiqHIqGuK+ckFzu6VRFnlpUFDD004DQ/gDPtzywPA9xBM
pYkFJVxIxZVZpyVaHGduaMogM3JVYKHdxpRO2nmfhSFQpkZZ6NhVcD+16Vi9
cJzyM756BKfDpQNhgsb49Kgckkt9oLUCWD+t/bJBIXsmOlQvqyyd9sfYaWCX
KOY8g1R4eZL9zDeTYBmk9BeS0Ut2geV9nbRh1ocHXGnfKKOJiY+77QGc+ZUw
riw0svIjrvF/hjX+e8vcGxba4eRv5UUHPBvlRNJ7AkBm7NyWQOlPiRtZHv1/
/vv/cFnZzl2545elZIcmq+jOWY98/FAOLLfpNGRSeJmXCPrvEB9OkT+osX0l
GAgdLwOCXhVGrtgeLO2mYxPIDXy5xhScDjpHmYisIJDyYoKFiF8iai65nlJA
I3QQteNlHEI09Mg/+AyD6XMtYEn4QWUGdd01x9A7/O3V1aV6fXLF6USUo2yO
n5PZbV60WKpZ5dJoU6f3bOJTRt68NfnPByKITidBAfIMdSHDgm+K8i7XSB74
4gDgpFSyHbCbMpcZXTlWOjPv0KCXc/huceSzjIW0fgAMV6p6e/iaCYxe8gIo
FqO6OGCjmn5Aw84QPmAAHx9XnDMJXZJURiXWFsM/K6nwhpKS39ql4inmVrNg
uNX0jiej+Y08LcCAPHUvBMCSVYzbeG2/Eo2USdyJFOLylMMfvI4Ci+iJNAzO
RPKlafGWaIUZyVJwRMmDtZEFGgg1T65rJs9dFKFGYqDaiFzG0F4s8BZV1k0P
0RgDvYuvPLZM1FghZ1H18s34amTX/YrLa3lpkmG6nWri+qbeGD7p4AhhFvE/
p1GZvHcye+omLdvmKfyjK9DI2gaLDrLO/1bXmNJ3OJ0C4RhH2yutUwyUrJUg
ALFAF4MpsP9fx28uzGBG5ZdyNRTYp2quIPNqYD+g4tCdf4+/YPwpMihBF0Ja
YKb23gQX/7cnBnoM72mSUbKAIAYjGZZUQ6Kn90+cx9UNVbqc4HvfjN8lL4vp
ELHBIKkoegh6sHMqyrlFa4nUTkXFWtck4FAsHsydzvluxPKpSVVneL5qczJa
Eu29EgV36K1YWL/bHedCk9J4Jy9htG6onqsjQXbGD4cXrz0Fr+YrBRJrpNdK
AbmBSRJ0MkXhGKH8d6jp8LbESN4KEXHhQdYX8bKCVC+qNJhVid5Ue79ngS7W
GmWNWac3u0l6A5GPGBVFnxFg5FdcDYHm6Ox0wC81WvMf8p6gQbCTP24aCddn
hqK1XmsqOsipQfbOtoyORoOZNVI989IQroI0qHhrQP0jnfbhxWGY815LKrvl
qPhisKLklq5y6icbKqfWrmqHPWusoEhaqSle6tJXpQ6nl2fkdsjsJgIOiX5B
5CagbLR+ZcSkiusZvd1uQrmpKO/w7gldDQCqm+JttwmJv7TFfOIoeF3IQEpF
Yh1nKxRRfnEJSGBYbXKj7mJOx554fGQQ+SVrsSyqVLei94pRfUhNqtoISLHC
vWEdxYElcSI8zybFSc07bKp2AUc1kPe5zeEpWD10jcOrsNif1RwlJsme3aY6
hZM67i1aPOCxPcfQPJvOGirtKQoxrjObw6qx7jXaA5FnsCOzE+4/kAi/Pxa6
k/nFOXK0bSGyiW4YTvBtmLA4UWPIxmi4FjS9YIVMFM4W7lY6a6SkAdImnBnA
ZF5bbzLelXvllfvtgZZNFR9IujuXKu5aDR46RKIWo/kiNxPYFMX8iYEgJfGQ
GN+Gp2xxB0zdBuREjbmmCwB4GyebLCMKB5Dx724pleRPwBV61XVn8S8gqKjw
u6W8o54bYZ5OaV7pMjS3qHpgYK/q9Vz74ZKP5uZP53pP976Td0Wqc7sNL5z1
3V5yt3s6EB+pN/79IlsuGVeJ6dR1cGWJHAhSiT0sSGdmlXcA8nU/36cT18Qf
lL1sZt+5JphhXthJfgU57hjf85QvzJ2BtkDhi5jsHVbgZMWX2DFw779Dicw9
Ntn//jHIGQjnxKvIFgDIjTAFxJRWRkz2KwIvyszdVXBQ4Csm13qCtxrs1uU9
m3iOxmH9HfI5UHZJv6/Vh09afPCRzNm1lOSrTmo6R6pOTJlpzBnnl3TiptbS
s733CN2Tb/ngD+b93Zepe99nS1bdo8b4bbvZozFgJcf6VqmT4vZAvRGR9tpY
WRO6D2NrSVnrHd9hQKswY/yWnfhjrKVm93321toEY6wwa1Bjlc++XG/Tg7em
XCAtHEPjEBnaUPjM4qMLKWGjs1Iq8fePEYPcoAqsem/4tfqzMZ73sJQE8mjK
fTUOmg1jOF2Hn6GZrFRnHVjmkw5kwxjKbHYzPFymUi9MH3QuZjb/y6/C006g
7FfRSzfp+D/RGL8HPFb43nsk2jcFkWw/72PZzv1scWNe1f2E6595hw+vHjrG
KvjzEsQAru0lvpT414yxVmzNGyMsZtTp884835i0RWPAVOSF9GK3TGHiEDRZ
aeyq0eHy7Bh0FprjyJLPgj9fkgvDjGHpvncMc4zEK0jMMbd4JYRMi8NfOJ+0
fx3y8gYOWr+5uPgXJeto8EqCrMPysAqOtjuGD9MAHucYjLB7Af4Tt6ZMaHeM
TcfaU3xq47lsGuNBn1/JhDoL2pLc/vBRwrLPkmx8Oj4dgyIHRtJ12VautCPf
WEZNf9DxP5BiSDek6d0yWrtLbOgVNS5l5voJHQ066tZ85mJPoCvBWvSuRok6
xHuEeS6RNZvpUxorBDEbDJyjy++8qG8QfHXvUaZPN4zFC1wwPtp6JqM1rc9m
eOOrDsgNQd4d0kvEKw4tZaeifdPYtsAJu9vYZZyhg3GhyaYB8z/LbUEPT8+e
gmVK1gcauJQbxAEXiYOGL4S0aWB7AEqXCub5sNevftpMf+f+N0VfvTx2BD+O
6b0Jmjyp4kIR36p9a7lz4x55blyjqXr3GnpmF/cI34jyL5MGDtrAZ2du2DrP
TB2WBeeTsPePO7ELL/HejxAewHC0HS8+eoBvRna1DwigMXoQ4MTFHnOuYVOH
aGQGCm9V9N0r98aeicvNlS8SlENk0lyzacPKzYmHRUWI5D8xDn/TL/oRyOID
kcYObmXnQO1cI228tzWB30tu3A7XS9rx4IGtXxIPNpjoTuU47OUAA50+CC3u
YDoIDlJSTHDHVGTa4YAjmtpea5obB32fLcLn3khxVcXLnYH/U4Z2Nra3jbAy
QTHd+Rg06+xLSOz0kt4hsWNbep12TGDy//tikDeOJZqyYSmAzuywe5+lm9Yj
U22dyY6jTo+9qaLOlDvi9MC5fvTPZeCB5afI9KV+HTwDBpzcCHa9x9eZtZtw
7AhbEjmMqRnS1n8Mnt1zUjuY+Z0lvw4BdNHOCXrJokWwccgE/7J8duenj48+
Ah/q0U+G5MO0t4jSHwq+M4VMCItYHPHrd+htbMCcqck8Wbw3XJdbnScLlhAR
vjpc/UlhOvvh5emT3Uga/sm1eQJNdkFiHdkXtKlLXI2XDmgyb/9k0GP/n56P
9v/hy9H+aL/3UAxsOUXvcPgvP/zrTi8h0AGk86w4gCbfLOK6xle9M04LEL3J
nj9gspfDw5dH900GTfonG41G0cco+kaqniFnf7KR2e5GMZY6wrcxKb/NE0dq
B1SOfGCozXz1GcEBxlp3OZJbUQySAM2oRK+5XFDJbzem3Ru+jAnahkjxJEie
y/D4s8UgeIg6F71G7E8mqfrHbPHTjz6ofhrVizxrnnx68Onuj89+Cvsb0D20
/36nv3dw3SH8M/3JdnI3MDjKCr1w7yOstydABxJonhg4u/YCURwcOnFvATUF
GD7sSKAWkOOqakFF2BGnOTyQzmsI0ccVfWTg3/kHhwx00JiZTuyIUUHOnZu6
Y88mijgOHrxpb7fEjZkl4aZAAX0Pf78n76hy8+3aoYRrbR1N2pgB+SuP2R1S
QMc9jZ2CVXZqzLagQIpLvzFhkydoV7jg2q4NoO04veTN+PKVOsQXnj2LSKE0
ERCsPvvsGb8kLs+5Hk4NLcg+EFXzpc7+Tu92RNd0Qll8gx2b4ZOYgoecrSGK
ocbR44rrSPNrPHu1tZ6KiFEQxc9AHcbAuotWd8JFmDVkkzTCbIyIwgWLyitr
x7kYlGZI+6MEA15Oj8b4IUIZNyvT7Zohy10rBwNF7UfHZZ8BTx8AHxwNgmfP
dpiIjeaAAo2RaAdsMEzrK+vFBI/JMN8dY8iYYZ6Nnin4b/T8iy/wP3613TPi
v0DqHyP8n6BTx0qwsDC5cIgF3vskqQojNGxqTiKSZtca3SagmFFZv7UM6YHJ
iPLN1NoksBiDV14kZ1gzLDrqpvIEsW8+rLiW2SmGwvXGEVWC/B8aOerkipnX
kg683EVrkQ+tRc45IlIDkOuOZmyIRkHCIBENp4pIRczghUtIrSNreRwxFPFH
yhowSX190It81ZpRYYcDZsPbTN8ZZY+w4sMHoWSQdx8/mp/o/D98wH+C5wZv
PnyQv97L200+foRnd1meJgDJ9/O4voFOEWJP32IsDSimNpBKMoGPsP1Le9QS
1KaNAKDMn3cVhuOFyfKSPzHJRehlSHR2696G4qdZ9IFe1DARPaj2ihCT2SRH
AH8hntrJsMJ6iJTlbd6oxa/olMtkqvMJOYOBLUP7vYmoO3bQjwcOFzwOYZEA
uQL8z3/eZR77hnsQ/2Cl7SdkGP/ZYbERDbfxzvshYLin18GhWy/KCbw+sRGA
Li9BXPPS1tChiIUECcKhfDjwpfbYA91ANfGNVs9HL7B6IbJsWpHfG5X4HXol
+gHm9Bh252Qsgx76GWnw/wB2a33uZ5gAAA==

-->

</rfc>
