<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-manyfolks-agentproto-arch-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="AgentProto Arch">Architecture for AI Agent Communications on the Internet</title>
    <seriesInfo name="Internet-Draft" value="draft-manyfolks-agentproto-arch-00"/>
    <author fullname="Jonathan Rosenberg">
      <organization>jdrosen.net</organization>
      <address>
        <email>jdrosen@jdrosen.net</email>
      </address>
    </author>
    <author initials="Z." surname="Sarker" fullname="Zaheduzzaman Sarker">
      <organization>Nokia</organization>
      <address>
        <email>zaheduzzaman.sarker@nokia.com</email>
      </address>
    </author>
    <author fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <email>k.tirumaleswar_reddy@nokia.com</email>
      </address>
    </author>
    <author initials="K." surname="Yao" fullname="Kehan Yao">
      <organization>China Mobile</organization>
      <address>
        <email>yaokehan@chinamobile.com</email>
      </address>
    </author>
    <author initials="D." surname="Liu" fullname="Dapeng Liu">
      <organization>Alibaba</organization>
      <address>
        <email>max.ldp@alibaba-inc.com</email>
      </address>
    </author>
    <author initials="S." surname="Krishnan" fullname="Suresh Krishnan">
      <organization>Cisco</organization>
      <address>
        <email>suresh.krishnan@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="30"/>
    <area>Applications and Real-Time</area>
    <workgroup>Agent Communication Protocols</workgroup>
    <keyword>AI</keyword>
    <keyword>Agent Protocols</keyword>
    <keyword>Agentic</keyword>
    <abstract>
      <?line 100?>

<t>This document defines the terminology and architecture for AI agent communications protocols over the Internet. It provides the foundational architectural elements for the Agent Communications Protocol (ACP) - also known as agentproto - a new protocol to be developed in the IETF. ACP enables communication between user agent clients and AI agents, between AI Agents and other AI Agents, or between AI Agents and tools. All three of these interaction patterns - and the many use cases therein - require a session-like protocol which handles lifecycle management, including creation, modification, deletion and so on - along with the exchange of input and output. These session-like associations can be extremely long lived - running for hours or even days - and span multiple IP hosts used by the both the principal and by the agent. They can also be highly intermittent with asynchronous responses. All of these mean a new type of protocol is needed.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-manyfolks-agentproto-arch/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Agent Communication Protocols Working Group mailing list (<eref target="mailto:agentproto@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/agentproto"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/agentproto/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/jdrosen/draft-rosenberg-agentproto-requirements"/>.</t>
    </note>
  </front>
  <middle>
    <?line 106?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The widespread usage of AI Agents on the Internet has introduced new forms of networked communications. User agent clients connect to AI agents running elswehere, AI agents communicate with other AI agents, and AI agents communicate with tools. All three of these interaction patterns - and the many use cases therein - require a session-like protocol which handles lifecycle management, including creation, modification, deletion and so on - along with the exchange of input and output. These session-like associations can be extremely long lived - running for hours or even days - and span multiple IP hosts used by the both the principal and by the agent. They can also be highly intermittent with asynchronous responses. All of these mean a new type of protocol is needed.</t>
      <t>These differ from the type of sessions created by the Session Initiation Protocol (SIP) <xref target="RFC3261"/>, which are shorter lived and work between a single IP host for each participant.</t>
      <t>This document introduces concepts, terminology, reference architecture and protocol functional blocks for ACP, which manages agentic dialogs. An agentic dialog is defined as a session between two parties - a principal whose role is to provide input to, and receive output from, an agent - and the agent, which is running a process which has properties which are agentic in nature. The agentic properties that are relevant here are (1) conversational contuity, and (2) driven by natural language in each direction. These concepts are discussed in more detail in this document.</t>
      <t>This document breaks ACP down into three functional blocks - agentic dialog management, authorization and delegation, and identity management. As a session-like protocol, ACP rides ontop of transport protocols. This document identifies requirements of these transport protocols to aid in their selection.</t>
      <t>The use cases and requirements that drive this architecture are described in
<xref target="I-D.agentic-ai-usecases-requirements"/> and <xref target="I-D.rosenberg-aiproto-framework"/>. The wire formats and protocol elements of the agent communication protocol are outside the scope of this document. This document describes the the functional
decomposition of the reference architecture.</t>
      <t>MCP <xref target="MCP"/> and A2A <xref target="A2A"/> are application-layer protocols
maintained by the Linux Foundation. They use IETF protocols such as HTTP,
OAuth 2.0, and TLS. MCP addresses agent-to-tool interactions, and A2A
addresses agent-to-agent interactions. The agent communication protocol in
this architecture is intended to be usable by these protocols through
well-defined extension points, not to replace them.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <dl>
        <dt>AI Agent:</dt>
        <dd>
          <t>A software system that uses AI models to complete a task on behalf of a
principal - which can be a user or another AI agent.</t>
        </dd>
        <dt>Principal:</dt>
        <dd>
          <t>An entity whose role is to provide input to, and receive output from, an agent.
The principal can be a human user (as in the user agent to AI agent case noted above), but the principal can also be an AI agent - as in the A2A case.</t>
        </dd>
        <dt>User:</dt>
        <dd>
          <t>A human being who plays the role of the principal. In this document, the word "user" always implies a human being.</t>
        </dd>
        <dt>Agent:</dt>
        <dd>
          <t>An entity whose role is to receive input from a principal, use it to augment its context, and based on an intelligent processing of that context, generate output to be returned to the principal. Typically, an agent is an AI Agent, but ACP doesn't preclude a human from playing that role. For this reason, the ACP protocol uses the term "agent" instead of "AI Agent".</t>
        </dd>
        <dt>Task:</dt>
        <dd>
          <t>A unit of work submitted by a principal to an agent, typically expressed through the input provided to the agent which describes the task to be done. In some agentic dialogs, the task may evolve throughout its lifetime. In other agent dialogs, such as that used for communications between an AI agent and a tool, there may be just one. In other agentic dialogs, there is no real notion of task - its just a conversation.</t>
        </dd>
        <dt>Context:</dt>
        <dd>
          <t>Context is central to the concept of AI Agents. There are many definitions on the Internet. Anthropic defines it as "the set of tokens included when sampling from a large-language model (LLM)." <xref target="anthropic-context-def"/>. The goal of ACP is to exchange the input from the principal to allow the agent to manage context, and the output from inference of that context. The context itself is invisible to ACP.</t>
        </dd>
        <dt>LLM Context:</dt>
        <dd>
          <t>Same as context. We used the adjective "LLM" in front of context to help differentiate LLM context from dialog context.</t>
        </dd>
        <dt>Agentic Dialog:</dt>
        <dd>
          <t>An association between two parties - a principal whose role is to provide input to, and receive output from, an agent - and the agent, which is running a process which has properties which are agentic in nature and result in the maintenance of LLM context. The agentic properties that are relevant here are (1) conversational contuity, and (2) driven by natural language in each direction. An agentic dialog is associated with the LLM context it builds. ACP doesn't define how the agent maintains the LLM context; it merely allows for the establishment of an agentic dialog and exchange of data which allows the agent to do so.</t>
        </dd>
        <dt>Input:</dt>
        <dd>
          <t>Information provided by the principal, which is used to drive the operation of the agent. In simplest terms, this is the stuff that the principal types or speaks to the AI agent, e.g., "I want to book a trip to Maui" or "That sounds like a good idea but what is the weather like that time of year?".</t>
        </dd>
        <dt>Output:</dt>
        <dd>
          <t>The information produced by the agent which are meant to be conveyed to the principal. There are three distinct forms of output - response, information, and progress.</t>
        </dd>
        <dt>Response Output:</dt>
        <dd>
          <t>This is the portion of the output which is meant to be shown to the user, and is what the user needs to know to decide their next input. For example, "I've booked that trip for you. Do you need a car too?". The output can of course constitute any modality.</t>
        </dd>
        <dt>Information Output:</dt>
        <dd>
          <t>This is the portion of the output which helps the principal understand what the agent has done, but is not necessarily required for them to compose their input. This includes tool call summaries, reasoning, sub-agent invocations, and so on. Information output is content that the agent used to build its local context but is not necessary for the principal to know.</t>
        </dd>
        <dt>Progress:</dt>
        <dd>
          <t>This is the portion of the output that provides updates on work to the principal. This includes token counts, time elapsed, usage progress, and so on. Progress output is informational in nature, like information output, but it has the important distinction that it is not data the agent used to build its LLM context. As a result, it is almost aways generated by the agent harness and not the LLM itself.</t>
        </dd>
        <dt>Dialog Context:</dt>
        <dd>
          <t>Dialog context refers to the state maintained by, and exchanged via, the ACP protocol. Each agentic dialog is associated 1-1 with an instance of dialog context. The dialog context has two primary elements - meta-data and the log. Meta-data is the set of information that is required for the operation of the protocol itself, and includes protocol identifiers (such as the Agentic Dialog Identifier (ADID)), the identity of the principal, identities of the principals in any delegation chain, the URI for the agent, supported modalities, start time, and so on. The log is the append-only collection of the inputs provided by the principal, the outputs provided by the agent (inclusive of response, information and progress output). The log includes data across all modalities, including real-time voice and video, along with text, images and structured data.</t>
        </dd>
        <dt>Log:</dt>
        <dd>
          <t>The portion of the dialog context that is the append-only sequence of input from the principal and output (response, information and progress) from the agent.</t>
        </dd>
        <dt>Agentic Dialog Identifier (ADID):</dt>
        <dd>
          <t>An identifier which identifies an agentic dialog and the context associated with it. This identifier survives network interruption or change.</t>
        </dd>
        <dt>Modality:</dt>
        <dd>
          <t>A category of data exchanged in an agentic dialog, such as text, audio, image, video or structured data.</t>
        </dd>
        <dt>Progress Signaling:</dt>
        <dd>
          <t>The act of providing progress output from the agent to the principal.</t>
        </dd>
        <dt>Administrative Domain:</dt>
        <dd>
          <t>A set of entities, such as agents, tools, and principals, that are
subject to a common authorization policy and a common authority.</t>
        </dd>
        <dt>Agent Identity:</dt>
        <dd>
          <t>Identity information associated with an AI agent, distinct from the
identity of the user on whose behalf it acts, and used for
authentication, authorization, and accountability.</t>
        </dd>
        <dt>Delegation:</dt>
        <dd>
          <t>The act of an AI agent requesting another AI agent to execute a task on
its behalf.</t>
        </dd>
        <dt>Tool:</dt>
        <dd>
          <t>A service invoked by an AI agent to retrieve data or perform operations.
A tool is not necessarily an AI agent. However, in some cases a tool can be session-oriented in nature.</t>
        </dd>
        <dt>Trust Boundary:</dt>
        <dd>
          <t>A boundary between administrative domains.</t>
        </dd>
        <dt>Message:</dt>
        <dd>
          <t>A discrete unit of communication exchanged between the principal and agent</t>
        </dd>
      </dl>
    </section>
    <section anchor="interaction-pattern">
      <name>Interaction Pattern</name>
      <t>ACP targets three distinct interaction patterns:</t>
      <artwork><![CDATA[
+-------------+
| User /      |
| Principal   |
+------+------+
 (ACP) |
       v
+-------------+        +--------+
|  Agent (A)  |------->|  Tool  |
+------+------+ (ACP.  +--------+
  (ACP)|         other)
       V
+-------------+        +--------+
|  Agent (B)  |------->|  Tool  |
+------+------+ (ACP,  +--------+
                 other)
]]></artwork>
      <section anchor="user-agent-to-ai-agent">
        <name>User Agent to AI Agent</name>
        <t>In this interaction pattern, a human user (which we'll just refer to as a user) is sitting in front of a desktop application, mobile application, or web application providing a user interface for engaging with an AI agent. The AI agent runs elsewhere - on a server - different from the user agent. In this pattern, the user agent is really a "thin client" of sorts -  passing information from the user to the AI Agent, and passing information from the AI Agent to the user. This communications protocol would pass user messages, AI agent responses, meta-data like token usage, sub-agent spawns and completions, and so on. If the AI agent supports voice input and spoken output, the communications protocol would pass real-time voice information back and forth as well.  Basically - all of the information needed to render the UI.</t>
        <t>If the user agent is a thick desktop application, the communications protocol is from the user's desktop to the AI agent on the server. In a mobile app, it is from their mobile app to the AI agent on the server. If the user agent is a web application, it is most likely from the web server to the the server on which the AI agent is running.</t>
        <t>This interaction pattern is different from how desktop AI agents like Claude work today. Those have the AI agent running co-resident with the user interface. There is communications with a server elsewhere, but it takes the form of model invocation and tool invocation.</t>
        <t>When the vendor of the AI agent is the same as the vendor of the user agent, there is not necessarily a need for standardized protocols between them. However, standardized protocols can be helpful in cases when the user agent is an embedded device made by a different vendor than the one making AI agents. For example, consider a case where a user has a smart speaker (similar to Amazon Alexa). However, the smart speaker is made by one vendor (say, Bose, who makes such devices), and the desire is to allow the smart speaker to connect with AI agents made by many vendors - Anthropic, OpenAI, Google, or even B2B AI agents. In this kind of case, when the cardinality of AI agent vendors is high, there is a strong need for a standardized protocol here.</t>
      </section>
      <section anchor="ai-agent-to-a-session-oriented-tool">
        <name>AI Agent to a Session Oriented Tool</name>
        <t>In this interaction pattern, an AI agent is running somewhere - a user's desktop, or perhaps on a server. The AI agent wishes to invoke a tool. However, this tool is not just a simple one that performs a request/response transaction. Examples of a simple input and output tool would be a traditional REST API, or a tool that is exposed through the A2T (Agent to Tool) protocol <xref target="I-D.rosenberg-aiproto-a2t"/>. These are transactional, stateless API calls. There is no session - nothing long lived.</t>
        <t>However, there are cases where the tool itself is session oriented. The primary example is the Model Context Protocol (MCP) which is session oriented. The tool might also be agentic in nature - taking structured data as input, providing it ultimately as output, but requiring interaction with the user back and forth in order to fulfill the request.</t>
      </section>
      <section anchor="ai-agent-to-ai-agent">
        <name>AI Agent to AI Agent</name>
        <t>In this interaction pattern, two AI agents are running in different places. Perhaps they are made by different vendors but running in the same domain. An example might be an enterprise running AI agents from a CRM vendor, which communicate with AI agents made by a provisioning system vendor. They may be in different domains. Or they may be distinct agents made by the same vendor, split up into separate agents on different servers for reasons of scale or isolation.</t>
        <t>This is the core interaction pattern for A2A {A2A}.</t>
      </section>
    </section>
    <section anchor="core-concept-agentic-dialog">
      <name>Core Concept: Agentic Dialog</name>
      <t>When we look at all of the interaction patterns, there is a common theme which runs through all of them - the notion of a long-lived association between two entities, with a growing context window as the interaction progresses, with a defined start and eventual finish. That's a mouthful, so we propose a specific name for this - an agentic dialog.</t>
      <t>An agentic dialog is defined as an association between two parties - a principal whose role is to provide input to, and receive output from, an agent - and the agent, which is running a process which has properties which are agentic in nature. The agentic properties that are relevant here are (1) conversational contuity, and (2) driven by natural language in each direction.</t>
      <t>The principal can be a human user (as in the user agent to AI agent case noted above), but the principal can also be an AI agent - as in the A2A case. The agent is typically an AI Agent, but it could be another human,  with that human being receiving the input and providing output. In this way, the term "agent" defined here refers strictly to the role in the protocol, which can be fulfilled by a human agent, an AI agent, or even traditional software. Indeed, in the A2T case, the agent might be a piece of software which supports only a small amount of conversational capability.</t>
      <t>The agentic dialog is facilitated by a protocol, which runs between a client (acting on behalf of the principal) and a server (acting on behalf of the agent). These distinctions are important, because the protocol needs to communicate information which is sometimes relevant only to the client (such as an identifier for the agentic dialog), and sometimes information relevant only to the principal - such as the text that is communicated. This layering is similar to how other Internet protocols operate, e.g, email - which has distinct concepts of envelope (meant for the mail agent) and the body (relevant for the recipient).</t>
      <section anchor="definitional-properties">
        <name>Definitional Properties</name>
        <t>An agentic dialog is distinct from typical protocol sessions - like a SIP dialog -  because of two key properties.</t>
        <section anchor="conversational-continuity">
          <name>Conversational Continuity</name>
          <t>Conversational continuity means that, as far as the principal is concerned, the output generated by the agent appears as if any output has propertly taken into account all of the prior inputs and outputs shared between them. Typically, this is accomplished through LLM context that is built on the agent. The agent initializes its LLM context at the start of the dialog - perhaps even reusing a prior LLM context - and as the dialog progresses, the LLM context evolves as the principal provides input, and the LLM performs inference. The LLM context may be compacted if it gets too long, but the compaction serves the primary purpose of preserving continuity - retaining what is important so that, to the principal, it is almost as if there was no compaction or loss of information.</t>
          <t>The LLM context is used by the agent to determine how to satisfy the needs of the principal as specified via input. Those needs may evolve over time.</t>
          <t>As such, each agentic dialog is associated with the LLM context which it feeds, and is fed by. The protocol has no constraints on how an agent associates the agentic dialog with LLM context. Indeed, an agent could decide to reuse LLM context across agentic dialogs, at its discretion.</t>
        </section>
        <section anchor="driven-by-natural-language">
          <name>Driven by Natural Language</name>
          <t>In an agentic dialog, the input from the principal to the agent, and output from the agent back to the principal, contain natural language, in written, audio, video, or image form, or even structured data. We use the term "natural language" pretty loosely here. If a user is talking to an AI agent to modify an image, the user might send the image they want modified. This image is a form of "natural language" in our definition. The notion here is that it is processed according to a human or human-like understanding of why the image is being sent. The same is true for structured data - for example a piece of software. The agent may generate a Java file, and send it back to the principal. The information being shared is structured - it is source code - but it is understood as code for a specific purpose based on the context of the conversation.</t>
          <t>This means that a protocol for managing agentic dialogs needs to be able to convey these various forms of content in both directions.</t>
        </section>
      </section>
      <section anchor="additional-properties">
        <name>Additional Properties</name>
        <t>Agentic dialogs have other properties which are impactful on the protocol.</t>
        <section anchor="it-has-a-start">
          <name>It has a Start</name>
          <t>Perhaps obvious but worth stating. The agentic dialog has a start. This start is the point at which the dialog context and LLM context are both initialized. The LLM context may not be initialized as empty; the agent might use the identity of the principal to add personalization. Or, it may be a coding agent which reads an agents.md file to initialize what it is doing. It might read system instructions. For the agent to behave properly, it needs to be told that a particular agentic dialog is starting. The log portion of the dialog context is, however, initialized as empty.</t>
        </section>
        <section anchor="it-may-be-long-lived">
          <name>It may be Long Lived</name>
          <t>The agentic dialog may last a really long time. By "last" we mean that the dialog context which is its defining property, may continue to exist and be accessible by the principal for long periods of time.</t>
          <t>One example is an agentic dialog between a principal and agent that is used for a therapy session. A human user is connected to a client on their desktop; the server is running an AI agent which acts as a virtual therapist. The agentic dialog continues for months.</t>
        </section>
        <section anchor="input-can-be-intermittent">
          <name>Input can be Intermittent</name>
          <t>The input from the principal can be intermittent. As an example, consider a user that is using a coding agent, and they have a period of activity where they are typing at it and getting responses, and then they head to bed at some point. The user comes back in the morning to continue the agentic dialog.</t>
          <t>In this case, if the user's the client was on their desktop, and the agent was an AI agent on a server in a cloud somewhere, there is no user input (and potentially no AI Agent output) throughout the entire evening, and no data transmitted from the users' home network towards the Internet through the evening.</t>
          <t>This means the protocol needs to account for alternating periods of activity and quiesence. And, because the agentic dialog can be long-lived, the actual IP host which is acting as the client or the server might change over the lifecycle of the agentic dialog.</t>
        </section>
        <section anchor="output-can-be-delayed">
          <name>Output can be Delayed</name>
          <t>The output from the agent could arrive a long time after the input has been sent. Anyone who has used a coding agent is familiar with this - it can sometimes take many minutes before the first response is returned.</t>
        </section>
        <section anchor="it-might-or-might-not-end">
          <name>It Might or Might Not End</name>
          <t>Agentic dialogs can have a formal end, in which case it is not possible for the principal to contribute further to it. If an agentic dialog ends but is actually resumable, it hasnt really ended. Since the agent takes ownership for continued maintenance of both the dialog and LLM context, it needs the ability to declare that it is no longer supporting this context, and ending the dialog. Similarly, a principal should be able to say "I'm done" giving permission for the agent to immediately delete the context associated with the agentic dialog.</t>
        </section>
        <section anchor="output-can-be-asynchronous">
          <name>Output can be Asynchronous</name>
          <t>In early chatbots, each user input created a single user output, resulting in a simple turn-by-turn model of a conversation.</t>
          <t>Modern AI Agents can invoke tools that include background activities. As a result, a single principal input might generate any number of agent outputs, and some of those outputs can come seconds, minutes, or even hours after the initial input.</t>
          <t>This complicates the protocol significantly. If the agent needs to generate a response, and that response comes long after the request which triggered it, the server cannot assume the client is still running on the same IP host. Historically, IP protocols have solved for these use cases with webhooks, requiring the client to run its own HTTP server.</t>
        </section>
        <section anchor="agents-are-identified-by-a-uri">
          <name>Agents are Identified by a URI</name>
          <t>When a principal establishes an agentic dialog with an agent, it is attempting to do so to a particular agent, identified by a URI. The usage of a URI allows an administrative domain to have as many agents as it likes. One can imagine a vendor having different agents with different personas - a contact center AI agent which handles sales vs. support, or a virtual knowledge worker from Salesforce that handles accounting vs. one that handles legal issues. Different agents may be distinct through differing LLM model, instructions, prompts, guardrails and other aspects of the harness which define its behavior. How they differ is up to implementations and not defined by ACP.</t>
          <t>When the principal connects to the agent through its client to initiate an agentic dialog, the client provides the URI of the agent it is connecting to. How the principal obtained that URI is outside the scope of the protocol, and could come through provisioning, hyperlinks, or discovery techniques.</t>
        </section>
        <section anchor="client-vs-principal-and-server-vs-agent">
          <name>Client vs Principal and Server vs. Agent</name>
          <t>There is a distinction between the principal and the client. The principal exists outside of the protocol; the role of the protocol is to collect input from the principal, and to provide output back to the principal. In traditional protocols we'd use the word "user" to represent the human driving the protocol, and not "principal". However, that terminology doesn't work here because the principal can be an AI agent which is not a human being. The word "principal" is agnostic to whether it is a human being or an AI Agent. The software element - and it is a piece of traditional software implementing ACP - is called the client.</t>
          <t>In the same way, the "agent" exists outside of the protocol as well. It is an AI agent, though it could be a human being. The server is the piece of software - also traditional software - which implements ACP and is responsible for funneling information to and from the AI Agent.</t>
          <t>This distinction is important because it helps us understand how to properly layer the system.</t>
        </section>
        <section anchor="acp-manages-dialog-context-not-llm-context">
          <name>ACP Manages Dialog Context - not LLM Context</name>
          <t>The ACP protocol is not directly transmitting LLM context. The naive way to think about LLM context is that it is just a growing log that concatenates each piece of input sent from principal to agent, and each output from agent to principal. If that were true, there would be no distinction between the dialog context and LLM context. But, this is not the case.</t>
          <t>Firstly, the LLM context is usually initialized with system instructions, which are never seen by the principal and never need to be seen by them. These are never transmitted on the wire by ACP, and do not form part of the dialog context. Similarly, if an agent loads a skill, the skill details are added to the context. However, those details are not transmitted over the wire by ACP, nor are they added to the dialog context. The dialog context would just indicate that the skill was loaded. Indeed, skills might be considered proprietary and it is an explicit goal of the vendor of the agent to not send them to anyone who uses the agent!</t>
          <t>What ACP does exchange, is input and output. Input is information the principal wishes to send to the agent, and output is information the agent wishes to send to the principal. The input and output are appended to form the log, the main part of the dialog context.</t>
          <t>ACP doesn't define how the agent evolves the LLM context based on the input, nor does it define how the output from the agent is funnelled into ACP. This means that ACP is seeing just the "on-the-wire" exchange, and that exchange is stored in the log that is part of the dialog context. The dialog context is associated 1-1 with the agentic dialog. However, the mapping of an agentic dialog to the LLM context is a matter of local implementation.</t>
          <t>The distinction between LLM context and dialog context also aligns with the distinction between server and agent. The LLM context is a core property of the agent, NOT of the server, whereas the dialog context is a property of the server, and not its associated agent. In ACP,  we are conveying information to and from the agent on the server, but the LLM context lives with the agent. The protocol will concern itself with technical conveyance issues necessary to make sure both client and server have an aligned view of the dialog context. But, how that dialog context is related to the LLM context is a matter of local implementation.</t>
        </section>
        <section anchor="log-content-is-opaque-to-acp">
          <name>Log Content is Opaque to ACP</name>
          <t>The actual text, image, or video that form the input and output that build up the log are not actually processed by ACP. To ACP, they are opaque. ACP only cares about the meta-data of each log entry - identifiers, timestamps, and so on - in order to support exchange, synchronization, recovery and rehydration. A good analogy is the RTP protocol <xref target="RFC3550"/>, which doesn't care about the payloads it conveys - it just conveys them. The actual content matter to the agent - and more specifically - the LLM - which runs inference on it to comprehend and respond. ACP just wants to move the data around.</t>
        </section>
        <section anchor="output-isnt-just-the-response">
          <name>Output Isnt Just the Response</name>
          <t>The output has three distinct elements:</t>
          <ul spacing="normal">
            <li>
              <t>Responses: This is the output of the agent which needs to be rendered to the principal for them to make a decision on what to do next. Examples include text responses, like "I've booked that trip for you, do you need a car?", images - such as a photo of a hotel or a rendered image from an image-generation agent, real-time voice - used by live agents that interact with principals over real-time voice, common in contact center applications for example, real-time video - an emerging output modality used by agents that are represented by talking-heads, able to move their mouths, make facial expressions and so on. Of course, it also includes structured data - for example a JSON object or HTML page.</t>
            </li>
            <li>
              <t>Information: This is the output of the agent which is useful for the principal to know, and is used by the agent as part of its LLM context - but is not necesarily essential for the principal to observe in order to determine their next input. Examples of this include tool calls, sub-agent invocations, and reasoning.</t>
            </li>
            <li>
              <t>Progress: Whereas information output is generated by the LLM and fed back into the agents internal context, progress is data generated by the harness and is useful to understand status. This includes token counts, turn durations, and costs.</t>
            </li>
          </ul>
          <t>It is important to note that a piece of output in the dialog context is not necessarily exactly the same as what the agent adds to LLM context. For example, the agent may apply obfuscation to sensitive tool call results. Or, it may simplify the tool call output to facilitate comprehension by the principal, by omitting unimportant fields (a trace ID for example).</t>
        </section>
      </section>
    </section>
    <section anchor="network-arch">
      <name>Network Architecture Diagram</name>
      <t>From these properties, we can draw a network architecture diagram which describes the entities between which ACP works.</t>
      <artwork><![CDATA[


                                      +---------+    +---------+
                                      | Dialog  |    |   LLM   |
                                      | Context |    | Context |
                                      +---------+    +---------+
                                           |              |
              +---------+    +---+    +---------+         |
              | Client  |    |   |    | Server  |
            +-+         +----+   +----+         +-+       |     
            | +---------+    |   |    +---------+ |       |     
+---------+ | +---------+    |   |    +---------+ |  +----+----+
|Principal+-+-+ Client  +----+IP +----+ Server  +-+--+  Agent  |
|         | | |         |    |   |    |         | |  |         |
+---------+ | +---------+    |Net|    +---------+ |  +---------+
            | +---------+    |   |    +---------+ |             
            +-+ Client  +----+   +----+ Server  +-+            
              |         |    |   |    |         |
              +---------+    +---+    +---------+       

                        <-----ACP----->

]]></artwork>
      <t>The principal accesses the agent through one or more distinct clients over the lifetime of a specific agentic dialog. The notion of "distinct" here is that they can reside on different IP hosts. As noted in the examples above, in an A2A use case, the client might be on a virtual compute node A with a specific IP today, and then tomorrow the principal (an AI agent in this case) resumes the dialog from a different virtual compute node B with a different IP.</t>
      <t>In the same way, a particular named agent - and any instance of an agentic dialog created with that agent - can be accessed through a multiplicity of distinct servers - each of which is on a distinct host.</t>
      <t>ACP, as an on-the-wire protocol, runs over an IP network between the clients and servers.</t>
      <t>The ACP protocol is fundamentally two-party - it is between a principal and an agent. More complex topologies are supported by cascading together multiple independent agentic dialogs. For example, a user might connect to a an agent for banking, and that agent connects to a second agent for a mortgage quote. In this case, there are two distinct agentic dialogs, two unrelated instances of ACP. They are connected only through delegated identities and the chain of dialog context identifiers that are passed from one to the other.</t>
      <t>The clients and servers exist on IP hosts. The agent in the picture is conceptual in nature, and is not an IP host. It might be a human, but most often is an AI agent composed of a harness and LLM, building and using context fed by the input received from the server.</t>
    </section>
    <section anchor="functional-decomposition">
      <name>Functional Decomposition</name>
      <t>We can think about the ACP protocol as have three core building blocks.</t>
      <artwork><![CDATA[
+----------------------------------------------------------------+
|                Agent Communication Protocol                    |
|                                                                |
| +------------------+ +------------------+ +------------------+ |
| | Agentic Dialog   | | Authorization    | | Identity         | |
| | Management       | | and Delegation   | | Management       | |
| |                  | |                  | |                  | |
| | - Identifier     | | - Delegation     | | - Roles          | |
| | - Lifecycle      | | - Authorization  | | - Principal      | |
| | - Exchange       | | - Decision point | |   identity       | |
| | - Recovery       | |                  | | - Credential     | |
| |                  | |                  | |   reference      | |
| +--------+---------+ +---------+--------+ +---------+--------+ |
|                         Dialog Context                         |
+----------------------------------------------------------------+
                                |
                                v
+----------------------------------------------------------------+
|                          Transport                             |
|  - Multiplexed Streams                                         |
|  - Per-stream Semantics                                        |
|  - Connection continuity (Connection ID, TLS resumption)       |
|  - Protocols: HTTP, QUIC, WebTransport, WebRTC, MoQT           |
+----------------------------------------------------------------+
                                 |
                                 v
+----------------------------------------------------------------+
|                       Security                                 |
|  - Channel Protection                                          |
|  - Mutual Authentication                                       |
|  - Protocol: TLS 1.3, WIT/WPT                                  |
+----------------------------------------------------------------+
]]></artwork>
      <section anchor="dialog">
        <name>Agentic Dialog Management</name>
        <t>Agentic dialog management is the central role of the protocol.</t>
        <t>Its role is to identify an agentic dialog, to provide lifecycle management for it, to exchange input and output used to grow dialog context, and to allow the agentic dialog to continue through the failure of clients, servers and network throughout its lifecycle. It can work within a single trust domain, or across trust domains.</t>
        <t>It is the building block that allows a dialog context to remain recognizable over multiple hops, over time,
and across transport connections.</t>
        <section anchor="dialog-id">
          <name>Agentic Dialog Identifier and Correlation</name>
          <t>Every agentic dialog is required to have an agentic dialog identifier (ADID). The identifier is required to:</t>
          <ul spacing="normal">
            <li>
              <t>correlate all messages that belong to the agentic dialog, in each direction</t>
            </li>
            <li>
              <t>survive the loss or replacement of a transport connection, so that the
agentic dialog is not tied to a TCP connection, QUIC connection, or TLS
association;</t>
            </li>
            <li>
              <t>be usable by an entity to link to distinct agentic dialogs, where one is triggered based on the other - for example, in sub-agent delegation.</t>
            </li>
          </ul>
          <t>The dialog identifier should be a UUID, unique in space and time, and unguessable. Knowledge of an ADID provides no information whatsoever about the agentic dialog. Knowledge of he ADID is also insufficient for a client to connect to the server and access the agentic dialog in any way - the client must also authenticate itself, and be authorized for such access.</t>
        </section>
        <section anchor="lifecyle">
          <name>Lifecyle</name>
          <t>ACP needs to perform lifecycle management, covering:</t>
          <ul spacing="normal">
            <li>
              <t>Initiation: beginning a new agentic dialog</t>
            </li>
            <li>
              <t>Termination: ending an agentic dialog such that it cannot be resumed</t>
            </li>
            <li>
              <t>Suspension: Pausing input or output, so that there no longer remains any active transport level connection for exchaning that input or output. Suspension could be time based, or explicitly triggered.</t>
            </li>
            <li>
              <t>Resumption: Resuming input or output, requiring (if needed) creation or modification of transport connections to convey the input or output. Resumption also requires protocol agreement on whether the client needs to replay prior input, or whether the server had already processed it.</t>
            </li>
            <li>
              <t>Cancellation: cancellation of prior input</t>
            </li>
          </ul>
          <t>Agent interactions are often long-lived, interruption-prone, and delegated across multiple hops. Each agentic dialog is required to have an ADID that survives network interruption or change. If a transport connection is interrupted, an agent uses the ADID to re-associate the existing agentic dialog with the newly formed connection, instead of initiating a new agentic dialog. Of course, proper authentication is also required - knowledge of the ADID is insufficient for the newly formed connection to be associated to the agentic dialog.</t>
          <t>Similarly, an agent performing delegation uses the ADID to correlate the agentic dialog it terminates, with the one it initiates.</t>
          <t>Agentic Dialogs are defined above any transport protocol connection (TCP connection, QUIC connection) or TLS association. QUIC Connection ID and TLS resumption provide connection-level continuity; they preserve transport and cryptographic state, not agentic dialog state.</t>
        </section>
        <section anchor="exchange">
          <name>Exchange</name>
          <t>ACP allows the principal, through the ACP client, to provide input to the agent, delivered via a server.</t>
          <t>The input constitutes many modalities, including voice, video, text (i.e., chat), images, and structured data. These modalities encompass both real-time (video and voice), and non-real-time (text, images, and structured data). In the case of A2A for example, the input might be a piece of text which describes the task to perform - a request to recognize an image, along with the image to recognize.</t>
          <t>ACP allows the principal to contribute input at any time, and the agent to provide output at any time.</t>
          <t>Output, like input, can constant all modalities. If a principal is providing input via real-time voice, the output might be real-time voice too. However, it can also include progress signaling, such as tool calls or skill loading, to be rendered on a UI.</t>
          <t>Not all agents and principals can handle all modalities. For this reason, ACP requires traditional negotiation capabilities, allowing them to be exchanged at the beginning of the agentic dialog.</t>
        </section>
        <section anchor="recovery">
          <name>Recovery</name>
          <t>As noted in {#network-arch}, ACP needs to handle the fact that the agentic dialog can work even when the client and the server move between IP hosts through the lifetime of the dialog.</t>
          <t>Similarly, ACP needs to provide recovery in case any of these hosts should fail during the agentic dialog. This can happen during the exchange of real-time media (e.g., a server fails while receiving the user's voice input), or during the transmission of non-real-time input (the client sends a text message, and the server failed while processing it, but before completion of that processing).</t>
          <t>ACP also needs to provide rehydration. If a new client instance starts up in the middle of the dialog, it may need to hydrate any input or output which had been sent or received but not yet made it to any local databases used for storage.</t>
        </section>
        <section anchor="error-signaling">
          <name>Structured Error and Progress Signaling</name>
          <t>ACP is required to carry more than the final output of the agent in each turn. It is required to also convey incremental output, progress updates, checkpoint states, cancellation states, and structured errors usable by an orchestrating peer. Error signaling is required to distinguish transport failure from application failure, authorization failure, policy rejection, timeout, validation failure, and interoperability problems. Progress and liveness notifications are required to be representable independently of final completion so that a peer can tell whether an agent is active, blocked on external input, or waiting in a recoverable state. It is required to ensure that terminal error or cancellation signals are not silently lost if an ordinary data stream fails.</t>
        </section>
        <section anchor="cancellation">
          <name>Cancellation and Interruption</name>
          <t>Agent execution may be interrupted by user/principal action, policy enforcement, higher-priority work, loss of authorization, or dependent-subtask failure. The protocol is required to define explicit application-layer cancellation and interruption signaling, rather than rely on connection teardown at transport protocol layer. Cancellation is required to identify the affected scope, including a single invocation, delegated subtree, or entire agentic dialog. Receiving agents are required to treat cancellation as idempotent and report whether execution stopped, had already completed, or could not be fully rolled back due to an irreversible action. In multi-hop deployments, interruption semantics are required to propagate predictably so that dependent subtasks do not continue after withdrawal of the parent task.</t>
        </section>
      </section>
      <section anchor="authorization-and-delegation">
        <name>Authorization and Delegation</name>
        <t>Authorization and Delegation determines whether a principal is permitted to
act within an agentic dialog and on whose behalf. This sub-block does not define an
authorization mechanism. It identifies the functions and the information that
the Agent Communication Protocol needs to associate with a dialog so that
existing authorization mechanisms can be applied at the points where they
matter.</t>
        <t>ACP relies on objects defined by other standards to convey authorization and identities. In this way, it is extensible and modular to evolving work in this area in the OAuth working group.</t>
        <section anchor="delegation">
          <name>Delegation</name>
          <t>Delegation is an act between participants, not a property of a
transport connection. The architecture distinguishes three roles:</t>
          <ul spacing="normal">
            <li>
              <t>the principal, such as a user or an organization, whose authority is
originally exercised;</t>
            </li>
            <li>
              <t>the delegating agent, which requests another agent to execute a task;</t>
            </li>
            <li>
              <t>the delegated agent, which executes the task.</t>
            </li>
          </ul>
          <t>In multi-hop delegation, an agent can be the delegated agent for one hop and
the delegating agent for the next. A delegating agent can re-delegate authority
derived from the original principal. A delegation can be revoked or terminated
independently of the agentic dialog in which it was used.</t>
          <t>In delegated use cases, there are two distinct agentic dialogs, each with a distinct dialog context and a distinct ADID. The first is between the principal and the delegating agent, and the second between the delegating agent and the delegated agent. We refer to the second of these as the delegated dialog context. The delegated dialog context has two additional pieces of meta-data - the ADID of the first dialog context, and the identity of the principal in the first context. The delegating agent is responsible for communicating these over ACP. Conceptually, it looks like this:</t>
          <artwork><![CDATA[
Principal --------------> Delegating Agent --------------> Delegated Agent
              ADID:167                         ADID:293
                                               ADID-Delegation-Chain: 167
                                               Delegated-From: Principal

]]></artwork>
          <t>ADID 167 refers to the agentic dialog between the principal and delegating agent. There is a separate agentic dialog, with ADID 293, between the delegating agent and the delegated agent. However, when the second agentic dialog is formed, the delegating agent provides the chain of prior ADIDs. In this case, there is just one - 167 - which refers to the agentic dialog which triggered it. THe delegating agent also conveys the identity of the principal on whose behalf they are operating, in this case it is the original principal.</t>
          <t>The constraints in <xref target="intent-execution"/> and <xref target="delegation-chain"/> apply: the
authority passed at each hop is limited to the delegated task and is not
broadened along the chain.</t>
        </section>
      </section>
      <section anchor="identity-management">
        <name>Identity Management</name>
        <t>Identity Management establishes who the principal of a dialog is, and the principals in an upward delegation chain. It
builds on the agent identity requirements in <xref target="agent-identity"/> and on the
Agent Identity Management System model in <xref target="I-D.ietf-wimse-aims"/>. The Agent
Communication Protocol does not define identity credentials or authentication
protocols. It defines how those identities are associated with the
agentic dialog and how that association is preserved.</t>
        <section anchor="identity-roles">
          <name>Identity Roles</name>
          <t>The architecture keeps the following identities distinct:</t>
          <ul spacing="normal">
            <li>
              <t>the principal identity, which is the identity of the user or organization on
whose behalf an agent acts;</t>
            </li>
            <li>
              <t>the agent identity, which is the identity of the agent itself and is
distinct from that of the principal;</t>
            </li>
          </ul>
          <t>Keeping these identities distinct is required so that the system can
distinguish the principal, the delegating agent, and the delegated agent, and so that accountability can be
assigned to the right entity.</t>
        </section>
      </section>
    </section>
    <section anchor="security">
      <name>Security</name>
      <t>Security for agent communication spans four interdependent concerns: verifiable agent identity, channel protection, binding of authorized intent to agent execution, and delegation chain integrity. The use cases and protocol requirements that motivate this architecture are discussed in <xref target="I-D.agentic-ai-usecases-requirements"/>. Some of the mechanisms for satisfying these requirements using existing IETF standards are described in <xref target="I-D.ietf-wimse-aims"/>.</t>
      <section anchor="agent-identity">
        <name>Agent Identity</name>
        <t>Agent identity encompasses two concerns: a stable unique identifier and cryptographic credentials bound to that identifier.</t>
        <t>Every agent is required to be assigned a unique, stable identifier that remains consistent across network reconnections and agentic dialog resumptions. Credentials are required to be bound to the agent's identity. The credential lifecycle, including provisioning, rotation, and revocation, is required to be supported without manual intervention. <xref target="I-D.ietf-wimse-aims"/> defines the term Agent Identity Management System (AIMS) as a conceptual model describing the set of functions required to establish, maintain, and evaluate the identity and permissions of an agent workload.</t>
        <t>These identity requirements are satisfied by using WIMSE Workload Credentials <xref target="I-D.ietf-wimse-workload-creds"/>: a Workload Identity Token (WIT) at the application layer and a Workload Identity Certificate (WIC) at the transport layer. Both bind a public key to the agent's workload identity.</t>
      </section>
      <section anchor="channel-protection">
        <name>Channel Protection</name>
        <t>All agent communication is required to be encrypted and mutually authenticated. This architecture does not define a fallback to cleartext or unauthenticated operation.
Authentication may operate at the transport layer, the application layer, or both. Transport-layer authentication works well when TLS connections are not terminated by intermediary IP hosts. In architectures involving proxies, application-layer authentication is required to maintain identity continuity across TLS termination points. The channel protection mechanism is required to be negotiated during transport connection establishment, with both endpoints authenticating before any message is exchanged.</t>
      </section>
      <section anchor="intent-execution">
        <name>Intent-Execution Separation</name>
        <t>AI agents dynamically generate execution plans and issue sub-requests based on their own reasoning, which may diverge from the scope of the original user authorization. This architecture requires that authorization granted to an agent be limited to the scope of the delegated task, so that an agent cannot use it to authorize actions outside that scope. This depends on delegation mechanics in which an agent acts on behalf of the original user or principal and the authority passed at each hop is narrowed to the delegated task rather than broadened. Standardizing these delegation mechanics for AI agents is an active area of work in the OAuth WG. This document will reference the relevant outcomes as this work matures.</t>
      </section>
      <section anchor="delegation-chain">
        <name>Delegation Chain Integrity</name>
        <t>When one agent delegates a sub-task to another, the receiving agent is authorized only to the extent explicitly permitted by the delegating agent. In multi-hop scenarios, the delegation chain may span several agents before reaching the resource or tool ultimately invoked. At each hop, the receiving party is required to verify that the authority presented was derived from the human or system that originally authorized the task, has not been expanded beyond what was originally granted, and has not been forged or modified in transit. A delegating agent is not permitted to grant authority beyond what the original authorization permits for the delegated task. This draft will be updated with more details as the work progresses in the OAuth WG.</t>
      </section>
      <section anchor="audit">
        <name>Audit and Non-Repudiation</name>
        <t>Agents act on behalf of users/principals or other agents across multiple hops and
administrative domains. Audit requires that each action be traceable to the
principal that authorized it and the agent that executed it. For Non-repudiation,
this traceability is required to be cryptographically verifiable, so that
no party can later deny its role. The mechanism for recording and
verifying it is outside the scope of this document.</t>
      </section>
    </section>
    <section anchor="transport">
      <name>Transport Aspects</name>
      <t>Transport for agent-to-agent communication spans several interdependent concerns: agentic dialog continuity across long-running tasks, heterogeneous delivery semantics, explicit agentic dialog and stream correlation, efficient transfer of large data, signaling for priority and cancellation, structured error propagation, and negotiation of modalities and group communication topologies. The use cases and protocol requirements that motivate these transport properties are discussed in <xref target="I-D.agentic-ai-usecases-requirements"/>. The transport substrate is not required merely to deliver bytes between endpoints; it is required to preserve the correctness, efficiency, and recoverability of delegated agent execution across administrative domains and under changing network conditions.</t>
      <section anchor="delivery-semantics">
        <name>Delivery Semantics</name>
        <t>ACP requires heterogeneous transport semantics rather than a single uniform model.</t>
        <t>Agent communication patterns fall into three broad delivery semantic classes, each with distinct transport properties:</t>
        <dl>
          <dt>Reliable ordered delivery:</dt>
          <dd>
            <t>Used for control messages, progess signaling, authorization checkpoints, non-real-time user input, and non-realtime user output. The transport substrate is required to guarantee in-order, lossless delivery for these message classes, and is required to isolate them from other traffic classes to avoid head-of-line blocking.</t>
          </dd>
          <dt>Low-latency, loss-tolerant delivery:</dt>
          <dd>
            <t>Used for real-time audio, video, and high-frequency sensor or telemetry streams. The transport substrate is required to minimize latency for these streams and is not required to guarantee delivery or ordering.</t>
          </dd>
          <dt>High-throughput reliable delivery:</dt>
          <dd>
            <t>Used for bulk transfer of large data between principal and agent. The transport substrate is required to support high-throughput reliable transfer with flow-control isolation from other traffic classes [OPEN ISSUE].</t>
          </dd>
        </dl>
      </section>
      <section anchor="message-exchange">
        <name>Message Exchange Patterns</name>
        <t>Agentic dialogs are not limited to simple request-response exchange. An agent may delegate work asynchronously, receive an acknowledgement before completion, stream partial results, emit progress updates, request additional authorization, and later return a final result or cancellation status. The transport is required to take these patterns explicitly into account, including correlation of messages to the relevant agentic dialog. Multiplexing is required so that multiple delegated tasks or tool invocations can proceed concurrently without unrelated head-of-line blocking. The transport is also required to permit out-of-order completion of concurrent subtasks while preserving per-task ordering for incremental output and terminal states.</t>
      </section>
      <section anchor="priority">
        <name>Priority and Scheduling</name>
        <t>Delegated agent work varies in urgency and consequence. Some exchanges are on the critical path of a user-visible task, while others are background enrichment, speculative reasoning, or deferred synchronization. The protocol is required to signal task priority and delivery urgency so that transport and scheduling layers can differentiate service. Such signaling is required to be advisory and policy-controlled; a sender is not permitted to raise priority beyond the authority or policy of the delegated task. Priority signaling is also required for coordination messages such as authorization responses, cancellation acknowledgements, and error notifications, because delaying them can break an otherwise correct workflow.</t>
      </section>
    </section>
    <section anchor="existingworks">
      <name>Applicability of Existing IETF Work</name>
      <t>## Reuse As-Is</t>
      <ul spacing="normal">
        <li>
          <t>TLS 1.3 <xref target="RFC9846"/> provides mutual authentication and channel protection. Agents
are required to negotiate TLS 1.3 or higher.</t>
        </li>
        <li>
          <t>QUIC <xref target="RFC9000"/> and QUIC-TLS <xref target="RFC9001"/> provide multiplexed streams and 0-RTT
session resumption.</t>
        </li>
        <li>
          <t>OAuth 2.0 Token Exchange <xref target="RFC8693"/> provides the base token exchange mechanism.</t>
        </li>
        <li>
          <t>WIMSE Workload Credentials <xref target="I-D.ietf-wimse-workload-creds"/> are reused for agent
identity; see <xref target="agent-identity"/>.</t>
        </li>
      </ul>
      <section anchor="profile-or-extend">
        <name>Profile or Extend</name>
        <t>The following existing protocols may require profiling or extension; this list is expected to evolve as new IETF and OAuth WG specifications emerge:</t>
        <ul spacing="normal">
          <li>
            <t>The OAuth WG is actively discussing how existing and new mechanisms apply to AI agent authorization. <xref target="I-D.ietf-oauth-identity-chaining"/> addresses cross-domain authorization, and <xref target="I-D.ietf-oauth-transaction-tokens"/> addresses intra-domain token exchange between workloads. This document will track this work and profile the relevant outcomes once the OAuth WG reaches consensus.</t>
          </li>
          <li>
            <t>MoQT (Media over QUIC Transport): acts as a unified transport substrate for distributed agent state synchronization and real-time multimodal communications. Work needs to happen to provide a common mapping of request-response and streaming patterns onto the pub/sub model of MoQT in order to enable interoperability across diverse agent ecosystems.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="secconsiderations">
      <name>Security Considerations</name>
      <t>AI agents enlarge the attack surface: they act autonomously, delegate across administrative domains, and operate over long-lived dialogs that rely on long-standing delegated authority. This section highlights threats specific to the building blocks in this document; detailed mitigations are expected in the specifications of those building blocks.</t>
      <t>Delegated authority is the primary risk. A rogue or compromised agent may attempt to use delegated authority beyond the task it was granted, or to broaden it as it delegates onward. As required in <xref target="intent-execution"/> and <xref target="delegation-chain"/>, authority granted to an agent is scoped to the delegated task and cannot be broadened along the chain, and the delegation chain is verifiable at each hop so an agent on the chain cannot forge or escalate it.</t>
      <t>Valid credentials do not show that an agent runs on an uncompromised platform. Attestation allows a peer to assess the integrity of the agent's execution environment.</t>
      <t>QUIC and TLS 1.3 0-RTT data can be replayed by an attacker (Section 8 of <xref target="RFC9846"/>). Messages that trigger non-idempotent actions are not permitted in 0-RTT data.</t>
    </section>
    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>The ADID is used to correlate together distinct agentic dialogs, when one of them triggers the next. This means entities which know the ADID could attempt to access dialog contexts they were not privvy to. The Agent Communication Protocol is expected to analyze
these risks and specify mitigations, such as limiting the scope and
lifetime of dialog context identifiers.</t>
      <t>Agent identity information is sensitive, particularly in multi-domain
deployments. Persistent agent identifiers used across dialogs and domains
enable tracking and correlation of agent activity. Pseudonymous or
temporary identifiers reduce linkability while preserving the ability to
audit and enforce accountability where required.</t>
      <t>Because agents exchange rich, potentially sensitive multimodal task context, both message content and metadata require protection. Even with content encrypted, analysis of message sizes, timing, and stream patterns can leak the nature of an agent's tasks; mitigations such as padding may be warranted where that exposure matters.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9846">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="July" year="2026"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document obsoletes RFC 8446, which specified TLS 1.3. This document obsoletes RFC 5246 (specifying TLS 1.2) and RFCs 5077, 6961, 7627, and 8422, all of which pertain to TLS 1.2 or earlier, and updates RFCs 5705 and 6066. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9846"/>
          <seriesInfo name="DOI" value="10.17487/RFC9846"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC9001">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9001"/>
          <seriesInfo name="DOI" value="10.17487/RFC9001"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="A2A" target="https://a2a-protocol.org/v0.2.5/specification/">
          <front>
            <title>Agent2Agent Protocol Specification</title>
            <author>
              <organization>Google</organization>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="MCP" target="https://modelcontextprotocol.io/specification">
          <front>
            <title>Model Context Protocol</title>
            <author>
              <organization>Anthropic</organization>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="anthropic-context-def" target="https://www.anthropic.com/research/effective-context-engineering-for-ai-agents">
          <front>
            <title>Effective Context Engineering for AI Agents</title>
            <author>
              <organization>Anthropic</organization>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="RFC3261">
          <front>
            <title>SIP: Session Initiation Protocol</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="G. Camarillo" initials="G." surname="Camarillo"/>
            <author fullname="A. Johnston" initials="A." surname="Johnston"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="R. Sparks" initials="R." surname="Sparks"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="E. Schooler" initials="E." surname="Schooler"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3261"/>
          <seriesInfo name="DOI" value="10.17487/RFC3261"/>
        </reference>
        <reference anchor="I-D.rosenberg-aiproto-framework">
          <front>
            <title>Framework, Use Cases and Requirements for AI Agent Protocols</title>
            <author fullname="Jonathan Rosenberg" initials="J." surname="Rosenberg">
              <organization>Five9</organization>
            </author>
            <author fullname="Cullen Fluffy Jennings" initials="C. F." surname="Jennings">
              <organization>Cisco</organization>
            </author>
            <date day="19" month="October" year="2025"/>
            <abstract>
              <t>   AI Agents are software applications that utilize Large Language
   Models (LLM)s to interact with humans (or other AI Agents) for
   purposes of performing tasks.  AI Agents can make use of resources -
   including APIs and documents - to perform those tasks, and are
   capable of reasoning about which resources to use.  To facilitate AI
   agent operation, AI agents need to communicate with users, and then
   interact with other resources over the Internet, including APIs and
   other AI agents.  This document describes a framework for AI Agent
   communications on the Internet, identifying the various protocols
   that come into play.  It introduces use cases that motivate features
   and functions that need to be present in those protocols.  It also
   provides a brief survey of existing work in standardizing AI agent
   protocols, including the Model Context Protocol (MCP), the Agent to
   Agent Protocol (A2A) and the Agntcy Framework, and describes how
   those works fit into this framework.  The primary objective of this
   document is to set the stage for possible standards activity at the
   IETF in this space.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-rosenberg-aiproto-framework-00"/>
        </reference>
        <reference anchor="I-D.agentic-ai-usecases-requirements">
          <front>
            <title>Agentic AI Use Cases and Requirements</title>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Zaheduzzaman Sarker" initials="Z." surname="Sarker">
              <organization>Nokia</organization>
            </author>
            <author fullname="Kehan Yao" initials="K." surname="Yao">
              <organization>China Mobile</organization>
            </author>
            <date day="27" month="October" year="2026"/>
            <abstract>
              <t>   This document describes use cases for agentic AI communication
   systems and derives protocol requirements from those use cases.  The
   requirements are intended to guide IETF standardization work on
   protocols in the context of agent-to-agent communication, agent-to-
   tool communication, with focus on dialog management, transport,
   multimodal communication, communication security, agent identity and
   authentication.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-agentic-ai-usecases-requirements-05"/>
        </reference>
        <reference anchor="I-D.rosenberg-aiproto-a2t">
          <front>
            <title>AI Agent to Tool (A2T) Protocol</title>
            <author fullname="Jonathan Rosenberg" initials="J." surname="Rosenberg">
              <organization>Five9</organization>
            </author>
            <author fullname="Pat White" initials="P." surname="White">
              <organization>Bitwave</organization>
            </author>
            <date day="6" month="November" year="2025"/>
            <abstract>
              <t>   This document defines a protocol that facilitates integration of
   tools into the design and run-time operations of AI Agents.  The
   focus is on enterprise AI agents that need to make use of APIs
   exposed by third party providers.  This protocol, called the Agent-
   to-Tool (A2T) Protocol defines an OpenAI spec that has two principle
   features - enumeration of tools and invocation of tools.  The
   enumeration API enables a human - the AI Agent designer employed by
   the enterprise - to select and include tools from third-party vendors
   into operating procedures (also known as skills or instructions)
   which direct the behavior of AI Agents, including how and when to
   invoke those tools.  The enumeration API can also be used
   (optionally) at run-time for the LLM to obtain tool descriptions.
   The second feature of the API - invocation - allows the AI Agent
   executor to perform the inter-domain invocation of the tool at run
   time.  By standardizing these two API functions, the time and cost of
   integration of Internet APIs into AI Agents can be reduced.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-rosenberg-aiproto-a2t-00"/>
        </reference>
        <reference anchor="RFC8693">
          <front>
            <title>OAuth 2.0 Token Exchange</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
            <author fullname="B. Campbell" initials="B." role="editor" surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="January" year="2020"/>
            <abstract>
              <t>This specification defines a protocol for an HTTP- and JSON-based Security Token Service (STS) by defining how to request and obtain security tokens from OAuth 2.0 authorization servers, including security tokens employing impersonation and delegation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8693"/>
          <seriesInfo name="DOI" value="10.17487/RFC8693"/>
        </reference>
        <reference anchor="RFC9420">
          <front>
            <title>The Messaging Layer Security (MLS) Protocol</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="B. Beurdouche" initials="B." surname="Beurdouche"/>
            <author fullname="R. Robert" initials="R." surname="Robert"/>
            <author fullname="J. Millican" initials="J." surname="Millican"/>
            <author fullname="E. Omara" initials="E." surname="Omara"/>
            <author fullname="K. Cohn-Gordon" initials="K." surname="Cohn-Gordon"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>Messaging applications are increasingly making use of end-to-end security mechanisms to ensure that messages are only accessible to the communicating endpoints, and not to any servers involved in delivering messages. Establishing keys to provide such protections is challenging for group chat settings, in which more than two clients need to agree on a key but may not be online at the same time. In this document, we specify a key establishment protocol that provides efficient asynchronous group key establishment with forward secrecy (FS) and post-compromise security (PCS) for groups in size ranging from two to thousands.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9420"/>
          <seriesInfo name="DOI" value="10.17487/RFC9420"/>
        </reference>
        <reference anchor="RFC3550">
          <front>
            <title>RTP: A Transport Protocol for Real-Time Applications</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <author fullname="R. Frederick" initials="R." surname="Frederick"/>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This memorandum describes RTP, the real-time transport protocol. RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services. RTP does not address resource reservation and does not guarantee quality-of- service for real-time services. The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality. RTP and RTCP are designed to be independent of the underlying transport and network layers. The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes. There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="64"/>
          <seriesInfo name="RFC" value="3550"/>
          <seriesInfo name="DOI" value="10.17487/RFC3550"/>
        </reference>
        <reference anchor="I-D.ietf-wimse-aims">
          <front>
            <title>AI Identity Management System</title>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Jeff Lombardo" initials="J." surname="Lombardo">
              <organization>AWS</organization>
            </author>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Nick Steele" initials="N." surname="Steele">
              <organization>OpenAI</organization>
            </author>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <date day="15" month="September" year="2026"/>
            <abstract>
              <t>   This document proposes best practices for authentication and
   authorization of AI agent interactions.  It leverages existing
   standards such as the Workload Identity in Multi-System Environments
   (WIMSE) architecture and OAuth 2.0 family of specifications.  Rather
   than defining new protocols, this document describes how existing and
   widely deployed standards can be applied or extended to establish
   agent authentication and authorization.  By doing so, it aims to
   provide a framework within which to use existing standards, identify
   gaps and guide future standardization efforts for agent
   authentication and authorization.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-aims-00"/>
        </reference>
        <reference anchor="I-D.ietf-wimse-workload-creds">
          <front>
            <title>WIMSE Workload Credentials</title>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>CyberArk</organization>
            </author>
            <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Intuit</organization>
            </author>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <date day="2" month="July" year="2026"/>
            <abstract>
              <t>   The WIMSE architecture defines authentication and authorization for
   software workloads in a variety of runtime environments, from the
   most basic ones up to complex multi-service, multi-cloud, multi-
   tenant deployments.

   This document defines the credentials that workloads use to represent
   their identity.  They can be used in various protocols to
   authenticate workloads to each other.  To use these credentials,
   workloads must provide proof of possession of the associated private
   key material, which is covered in other documents.  This document
   focuses on the credentials alone, independent of the proof-of-
   possession mechanism.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-workload-creds-02"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-identity-chaining">
          <front>
            <title>OAuth Identity and Authorization Chaining Across Domains</title>
            <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Kelley Burgin" initials="K." surname="Burgin">
              <organization>MITRE</organization>
            </author>
            <author fullname="Michael J. Jenkins" initials="M. J." surname="Jenkins">
              <organization>NSA-CCSS</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <date day="19" month="July" year="2026"/>
            <abstract>
              <t>   This specification describes a mechanism for preserving identity and
   authorization information across trust domains that use the OAuth 2.0
   Framework.  A JSON Web Token (JWT) authorization grant, obtained
   through an intra-domain OAuth 2.0 Token Exchange, facilitates the
   cross-domain acquisition of an access token.  The relevant identity
   and authorization information is chained throughout the flow by being
   conveyed in the respective artifacts exchanged at each step of the
   process.  Chaining across multiple domains is achieved by using the
   same protocol every time a trust domain boundary is crossed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-identity-chaining-17"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-transaction-tokens">
          <front>
            <title>Transaction Tokens</title>
            <author fullname="Atul Tulshibagwale" initials="A." surname="Tulshibagwale">
              <organization>CrowdStrike</organization>
            </author>
            <author fullname="George Fletcher" initials="G." surname="Fletcher">
              <organization>Practical Identity LLC</organization>
            </author>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <date day="30" month="July" year="2026"/>
            <abstract>
              <t>   Transaction Tokens (Txn-Tokens) are designed to maintain and
   propagate user identity, workload identity and authorization context
   throughout the Call Chain within a trusted domain during the
   processing of external requests (e.g. such as API calls) or requests
   initiated internally within the Trust Domain.  Txn-Tokens ensure that
   this context is preserved throughout the Call Chain thereby enhancing
   security and consistency in complex, multi-service architectures.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-transaction-tokens-11"/>
        </reference>
      </references>
    </references>
    <?line 713?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+19bZMcx3Hm9/kV7cUHYs3pAQVZOml559MSAK2VCBIGlmac
FY6L2umamRZmukdd3bscAvBvv3ytyuruXYCyz+FwmBESuTM91VVZWfn6ZFZZ
lou+7vf+oji77Na7uvfrfuh8sWm74vKquNz6pi+etYfD0NRr19dtE4q2Kfqd
L66a3neN788W7uam87c4BD7+qmv7tsDRzhbwE79tu9NFUTebdrGo2nXjDvC2
qnObvjy45rRp929D6fCXR/xl6eCX5RdfLMJwc6hDgFf2pyP85OrF9ddF8ahw
+9DCu+qm8kcP/9f0Z8vizFd133a12+MfV5dfwb9gCWdXr6+/Pls0w+HGdxeL
CqZzsVjDInwThnBR9N3gFzDzXy5c5x2u4Hjcx4W6pipee7cvr+uDP1vctd3b
bdcOR11pTpiCFr5u9+Fs8daf4OnqYlGUQEb6f/pBfCR+VK8Xt74ZYFpF8YmD
FwUT5OwHmFDdbIt/wN/h5wdX7+HzRMzf1b7frNpui98iYeHbXd8fw8WTJ/gw
flTf+pU+9gQ/eHLTtXfBP0nD4K+3db8bbuD3f666Fuj3hLeQ/huIu7Vb2Pm/
DHXnD/ABzHfhhn7XdrjCEv5XFJthv2c2OPtD27h+55ritY5zRo/AXFxT/0Rr
vyjklSvgNvrWy0Ll89+Z78/iW+oGNvifV8Ub1731HX3EL/1nt/PV8NNPDtjP
fpu/89v2be3s234yP1sF+tnvGnxotW4PM2u7rrvh4PY+3LkO2KiqTp/ylrer
3vzu/3b4u5nX8Cv+6JF0/8e1MyM/29WNK162N/Xe2xecXPsWf/a7NT5woO9n
hn7u4HBti2/qYWbsy319426yeR/cj6t9dfyd46/KulnPjPoGZEvYFX/s6rBr
XDM37TqsWztwoJ+s3spPfrfFj2noRdN2B/jZLRyeBcqX9FdRXD69vKBhonhD
9nyaH8PizdGv642cMea8xKz4T4nTuyj+oW23QsbedVvfXxR6jNxTVx5lPDpC
t1+snq5+9STYoZ/QT0n8FE+/ePor+PPls1f5BF+2ld/DqQex+mOa4gOTumz6
XdceQYLMzeuAw615tDi/us3nlU/r75BwTkct5cdl5Tf5TF9sNqAmgNJxti+a
bd1436E0sqoj/NXTv7u7W8Wp4HY/ATbwJJ68vj7O0KfXl/D60tUsjcKY7LjA
118/++XTX/+CuOSqfL4yEqxm8bXpgFlR2sdnHItqHHgIfu2CD5mQe2Aw97S/
kNf+5te//aX+92//7ukX+t+//NWvvogjoCgu7+pD8DDEIcx9jlPbt64q1yAe
Rk+0SOuyRrVY96dyvXN1A2SZe6jvXBPcGvmg7EEoNDjUoizLwt0E+HLdLxbX
uzoUoLUHXGYBnAB0DqT+Qfkf6qbdt9sTKUo3Yz4Q2Yp1bj4oM4Ihceu7zJRY
FVc9fn8L8+e3bNqhqeiHbm9fAX/5PdOeXobPzhor8ag/vnz26hx4D82H4m3T
3jWFC0VSWvhV0fi7OL8CPrvxsOZbv2+PvgKFwpMFO2RVwGiFb9wNyOl8gfCb
/s77pgBG6ZQC+5pminRSsoRlfDKeFnqghZeYE0R2zPyTfQtUhKnsYa67zvui
3eAMg4epAkF5a4uj65G6AReIP4IloN2F8yuIk/GjzsPqykJ4GigBn6PpVe7r
tz6R5G5Xr3cFaI8K172v4SCe1nsaEBaF27GEd6/3Q4WSANiTSLIsQBhFmbME
ku49TQ3nA7vRNrQvLfzkDqwMmqL/EVi32dKa6uY49EyboYf/XBXXtMpsji6E
dl3Lrq8d7gMM0uMB3Z8KGnwPMqPCVQ5No5Jq1w5dQBLDNjcgKk5Kp3CEMQ7D
vq+PsMCrV/BkALoD1ari5kRzvGllskeQPOv6iCzaxG9pl2mqJ5oPMR5Maldv
dzAj2qJDDXsDDELLduHUrEHgNe0QYCfCEe1U2d+4swePQxGjohWIX8TdgaMK
UrDy1WohB/lQV7BTi8UjPGJdWw3MEu8e1fjnBzzfHl4Op+0Ie1XB6hyTPDHa
yNqHzQ9FLYMBKXAiqHkD/gq+R9kEH+dnflV8Pz0MILwbOMt4zOKZiFvj9+HO
I1suzZdpUM8Ui0dFT1R2wKbP//eB+e8Dc9+BYQoB1TfAUpuuPbCWk58I5QJv
UVrRG/4cjkfd17mnVjx+cwUa509ib/zLUpgBPM0igDkEqxECIw3w3EQxD9wE
5E5UJMJ7Bz8+ug7sEKAcUGqsneOppLO19kc8EUZNL4FGsDgPX+XaGt8fabIZ
mrXo25t9u37L+hXUnc6fWVdUZ70GkgEnbpHszegzpC+bDBXpWqViXCdIC16R
JyYybHEHy/ZF1wINYBAQEWIVCGv3LZ/1zq892qHM5rRt+IVImnR+6W9dQJ3E
DL6yBYKFeFDJPjl6nlPaMF0YHHpwWIFoxKfxY/Mb8GZ7+kkHh/YW9qlAYUGf
PP7FOe4MWD1BTRq0YAcw1Hg5j5+eF1VX48EC/qIXwTN7ONYDymV4OTFBBRKH
9kjPtW43vaUCD2oIgQ2WQ4uf+B58JrZfDMNMGOgGeBv2G02bCu0jYKhWBOWU
K8rxZluRxga/OHW0NBRhWxFn+LdaqOZnwEHhPkG6pFl1ZBcCydojHXA0YI9w
kpJNiRTJzgS9ZoMbY+31JB5mxkB2c7Xae3UHM9oLvVlhJkXAPGjGpd2nLWRa
5+eM9iKsu/qGdmfx7t2nOBcfPtB7+OEHvJUPH5gp72q2wMEbDvnZjiYzL3/O
Pk8P42zhXAU8dfgw+OVH0ZiWiYqxi8DrEydhZ1lnUXl417ENNb1JJjEvlIDU
4CHDouH/hQDg0sPf8P/4N5IzxerKvTuBOI1buDiA2wNM3yRJ/U3dDD8WX0d/
QhQN7iVFFtP2hwEPfSh+f339arn47hJ4uXi6+oL59vqbNyv03QtXVaByggpC
8KBKNC+sJaEGydPLxczTTHz7uJEp920KMM2Ur2qyyDAWWonTAnYceCay9OAt
b4O+HLa7xZ3f70sVzqD2wfujF7U1GVJNS4ZZ5497t6Z9PKzQjLw2Xt+7R0a5
gC25UKPxYgHePdgpm/6OlN0p9P7AR2NAEsBzFJ2gk4YcAdYNmlC9C28LUg87
t98gf2CIKSmFUgSyGCuOXSzQTq7JLUGY6iv9FU0GBCdLm38PvbIiIZCmFaez
GzCiSJN6TFYyMZ7xA42pSwIEyYy68QY84XPwB3EGk6HVDHJN+nFZpPHxWOBg
sGi0spn4PJUbj0oO1lzANp74SNLa5ejFF4HjPVIOS3oAg9jFGa7gDOZxh2PU
sF0oTp19Bzocaevvp7bSlalNVpbR+ks6jTXRyQ1bFuDsKWCYh7fmxqFqI61C
XL/f10QSUeS4YFqd69Pv4AE4ZH3cTz4knYfT0/CZGVHj+nSEo7ffn4w1gacu
eeC8W6wqfWg+wwl4tOMTI9DykPA4J5oQUmIFMqhjWoO6DagPaRdhpHjKh2CC
LBLPP8OAdo9OGizvTKdxhioJjg3vOgiMHr8mY5LyJ73Yqta2Quo2ahL1ulIQ
AkcSUZXKCJoB75SckkgqpgifxpHExzMskZO28cRYoT34sbm4TE8fHLz8tt2T
zqQ3wzbRxqO/1NcHHoWPOL85DqKyWoVLRdbqKOIUzWpzgihkRQ7hkt05mgbM
+s8D2Ns6c/PO0dRZ7DbI0kBSOMeq0XBFJc2eRnKZxYfnRGKmuGMaPoWR1vCK
jjcHCSMWXeaKk3oQM4IcUhLf9WxSbpXCqzFqB7wBlDojXe5paI76iQMKtLvb
AZWCwxOO3h4fzz1GZstohJLkLh5/883L89UZ6OPZeLGaItvWkSuG3M0SILqp
ibmis5Wz6H7f3hlmg4/YVMzFAT5gpDTmGcWaGEkBntBaKd6DUbdhzXlbhxq1
JUrnZ69gi2BthdmlNw7ZN6SBfvDMajS56s8SCz+Dn+EhxXk0RF59GQy88/uj
OJfISyiL8C36BE1d7Gh9jUhU2MDn9IWIVuO2/1fwo+T1Ydj3qtDIdvONk000
dPpP4nTNOrq6L3iMNCZjtxhO381Q76uwyrQGH07w8i2vq/UaxqN8icMcYGkg
r+mApOi3Dz3YfHXYkdpE22kyS1ytDROBIex0b3iw7LhVLUhuYMMrZBXkvivN
sbFFyhpBzGujxCN38CFpoz8ELz2iHjbGv8R8UEmgYQGLIJ1HMhYPJ08p9MNG
TvNITpyOnoJR4Uiuq0hPlfLLwq+2KwQEFHeOF3XTtm9R8Hf1Ef986Yb6jJAC
1zh6QPcA9Q7Gx0B6teSoOtL1d/iATOjOO9IM9CDPC9QULurkXfe/USt/R0cJ
yXZNki4jHcdObdzLnBGMWKmNQpx7mrdRIouziw5+fw9f9ikcK6e5jLGxpZ3H
Un3DLap9mPFreaqwU0+bgE6y2TkZPG62nXXYYfhApozWo/j8gYkYrWIMvtGm
YT6GOMWvxd2s8Vs8Ng3FL9Fm8j+iZvK4nZ/detpJEsI4Im4nnoRTO6yK5y3+
m0ZH/es61POwKbQTMm+0rElEDx0HUIB4/YBuCChW0HFuDwKCmD9t3M+nC4r9
MOJZ4DCQRT0F/ZQazAIoNdFoYtuSzIseVoFy1XU1HHmJClR66A/qQKGQZ6IJ
vXiCrNcDmTkFWnlgLx0OMJYPS7E+QXqjFXUT3dHbVsymZYo2r7KjLyusRSPi
rufr0HNP8o4NORh0H0XhzOpOUY5lRgDyBTlzzKSfRnqaTcwiDkfM/5KBRGbx
3EHKaQU2EfIF+cF0rP3eHWFJS0mP6JHJCKRTNNQxZ83tk8ZbstSoJxSVbWc+
IPPogAt0ZO/y2a7JzHP0lFCQhPhDtM/0J0XYWN0uZRC3P2CI2ZF3p57SSDjt
HBiVgaNJFBoQtcRmFFq1bKNYs+l5Zs5wmCdKaOD/3hdZlGaZ6aequK3d1DVa
FS9QGT+ofn9R/kLyAw35TGpIjOwrkgb5Z0x5NKa6+oBMGQNmJci33pVEbDWG
4Ier4mX8WHUVm9Z2e3vRHOPjO1WHKc5DhBWxqayZvtWoJhD0cXKBfJFbjMVV
fK54fPn86vn5OVM0Bl/HcYClfoVG1fhLijiw36Gx3ILwBTzo96+v4sJE+4bh
iBwMKxaJSoIHdqRjhZmdoGsmqdLRHRHdV7YNyD1Ys0RgdVIk5sJDVkgSCNPH
mKkfE2ED2b2beR2ZqUgZ7txMVXeG+WLdtXhGQMza5ab0HrqKJUmU27Zes+mL
80Ij3CTzyLcB/ttKgDn03UCBvoregw4KewPXUxE44ufe2CyWoAE4UZ2ke52w
lD8sHn+cOudpCI3BfYwbxaNJ3KzWRArazxuxvfHkxnZ3HbVfGjYM3S1sc9AE
NUddu+HIpOsKljkox16K6ueAiuJXo7WcxBOdhdHkTDyCHVTY91b2cslbTcbq
ZEOj9nhTb0FZEGCH99ete0lZws+RiUbcOKL6VL1hZK461E2NkB5yVJ+3KHcl
SMvSSs98WoBm1CllrqaiCoJldLgQpftnyeI7irsgW2TZn2O7r9eCERo9QRYW
w3auRCSRn6HiKeO10T6bYM7S2L5CjUUxEXIcLG7EJZYYM8ZE1ooc0PjRghFr
tLNqKtsl8dNuTUaCu6nFVFw8j3JxtHs28IRKwONst5OwNcdH/Hqw0XBcSR9k
vhjtgw3RvQOuXnuy2d5KmK/JBus8GMYetpx4FzgP9A1SNCkesPsLGIozF1OD
04y3Kn7f3sFYHYoADulJDkzNS4qCa/YOiAU/4nMiGVOYe4chsa8oB9PJEbuR
v1KULufWirgV/ZOXOK2t559hlrPDtIHGPPOESTqnMUYykW20rAX984gDZwIA
ecUAEGBNsDwYmBjGTtYcYORisfjXf/3Xxeel/efzxXtGvzxh9ON7+DsmJ+hv
eV7/tRCo2nuBSxa34xHl8+Jz+w6Bvz2+PIcx5fO/h4+RX2beQi9ZZWMU/OL3
OjxHP891Gv/0s6bx1c+YxnI0jdE/Mg0k7eLRIybmpcmnXPI+agZjZmeWo+QM
q5k7/xmoaorSknFKMixIWukcj0OoezqoNqjnMOD9FjPQJv+IgB0EUuefwYG7
8zf2MyPHJXtFs91gjo0wHs3WbWu1BLLTd23iGhh3C4iR8ncUBCgpH0ICAYYs
U6AxaYeUhUq5nkidUZqKUxOYE3AYLobVM2brjJAwYHCgPQy/5myLFdL561I0
RlImpEUe+lksOTGxA1Hn96BIwakb9jwqv/TAUiIsrcgVaNDSWPEcuiFnj9w6
6wWHo7uT+g9JT04d4k0WaVJTN4hplxBY8Gp8h7p4bLp8dCljU9FS68at39LQ
8BGhoApM5sJZ/soFyeWUZIVGWzn9luFOrBswDsGW+xUGOjYzbICeZQ1vm2X5
h5YCv8144bMQxxjF6DRzwcxLzOnMaVIvVUerO/PlR8eaX9PoUOoryA1GtgAC
xsnjs3Ku5GXpBWxNoCjJJpHi4oqwmRFJhI3KjynGgJVICcRIfPps7zCzKAGM
yp3wUKAZs3MSWbWigULyayzDCWQEpYB0LnI0hjg9XSx+dJlR0MQIRe/eRoA2
mhMbSQul8FEEKJvPgBw/7EQV3wL7gcBrNxPaEX0l5TJ9Mu1lloYbmS0c+9uQ
re3QvKjqn3wCwgRrFRyMZXPP02LbYDRvM1Aoh02fO13NiMPA/jjc+ApPWuXJ
Rju4ynMeNm26LIzKn8hbbfA5quiK2z+KfGKcssZj6xg/wOJfVMmOMXYH9K4p
Ho6qLtQHLPMiVXlwP8HGXO5huHOzaCJ49is8DDJhnJRM9HFwpyVYb+gFIqbg
QExADgOvMpynnBwwct1p0inl8vL3UPSSUcDEcYnr9fWU5+T3o9KJSc1l8R14
s5dXSynNWUZE6ldPv7LkU10HZKXMOZJtmTZujZvdkMcnuVbeRX0l/BLhp4bX
HLpv6KxHFnPzbEMpqBWZLFatuYgZ/U5NZLSNPma/NHPyhcxwNQHcSNAuxeDf
uWOw9sHIlLirw47CnuJHiD2f8UcdMg9BEtucsSEO4ZArOxccYSQn54lq3sLU
mqyKF8zOgc0pGWaMWeY3skokdA0MUdUSTH394s11cfnqitYoDojGOvyPGA7P
UQyXT6/B0tQtQHqfp336072FO/+iAEvKsqQlYHyJIph7dMRhHhRcD0aeNm0E
u5ZIsx3uVsJUA1vY4yd5nChUOpbpTPOYqdYB1bXijYyhSiaqStD5arLi8Ut0
LWLSZn5Ieu8B2L5P4KNJ3rZEJUA8mEczGJlEtk4ydkFlIDD8gCQ74RM24s1h
UbYJE+vnOmtk89Q45YolCEjkTU2Ifq98Nz11n+gmYOw3CSFKKMtJgzcmyU2g
ONjuV3K6ekQSMiyDxdZYyAdeaBorKjl2bymnrDvIlGfEF+5KB1sc0kzS/ASg
8ez1S3mN5l4nhQ9Twep4d3D3aRMZo8fDCDRSADHZytUbB+HFq5aHol88ek1c
p04wgNkFzHBkcHHwR0fALBeLTdK7WFxxhpuTVSQxApw1j+e+Du1e7QqbFVoj
5nnO5CIgO4JIEUNKcMZn+OgzxtpcjKLnYqzcYagXc8Z9blNP3f9MSUigC+0L
L7tCTptKpTTWAY/SzhsMkSNJUUpxwD14jxSyE2Nt27V3bPjxmYc/KtC6mkuy
E5YQovmxIkE5Nk+JGNixfgBZixijsEOecP1ngYzzod/BqVuiL3RHSQtKQLpC
a0up2leSATXXh4wipRj3+1i5wH85rMt/DvjK4j8pfNWAn3H7Ii5xArqsEdOl
ZoGEUGnuy0K1BpDTImB5yxmGaS2NpKC0Tkq1wx2auqSDLQJTuZN2RxKaoP7q
dQ/zFPeQ+U/jjVq9kAGXRWMpMpNn6jREYsLaatNa00dh1TjXymNWOhLyWqzb
lA1IqqQ41p7zPRGXzXOKgQtKDJH/AKLJHTC2LSC2jPncMUW8LTunMwyuJT7g
DPQ0JwMJwlTrxMEl4Lk1BdsyAHjGT+eSRBC39N4f0JTO1XYzuXNW6TGtjhW4
azcwdiLZgxGVYtWoDaIk8wnMbwzShHRwiYoK4pSFxZxKluvKcqWRgOcaZdKR
7Ytn32Lx8TYXnCUAzVIqCahRyQSZIxjojF4iRiH4TMWST1OxTXkDT7iqJXdo
iKh8Qq+oGRArkii5xBXUxWPGCOnC6de8V1Ho3rTVCbONsk59FA5wfaxpVxdk
2z2P0FdY96soSe/TKnl6iEVL2vBY3Fcq8uvN1Sv9eVlELkH2Au3zFsyeJLzJ
1kRLIjsmaHjXDUppAvyOxTd/RZgplv5L3LUN7IAbw4VqqeZDpLrNat8H1cA0
r+sCSdgNpevleaOnkHkcRiXJCJNEljVv4PVtp0n25JMBo+xclydVDhlaXlF7
OCbCiMG3TJ6YhUMqYyJOJcbtTKhb4UhYVrkHvzqMsSyFQI7YYsnT32X0e0l8
dn4IqrlxXXYU1vdCdfm5tY/6XQ7jZKB6mO5TBByJ86McjT+OnnFEJ/Mi7cBi
SCPZQK5h4oyyk5x7alsyCZOOlcdQKJA0jLMhX/A4dGSRUeLYU55QDENhPIQE
9twZIuIaE9ootMKTYwkzhgwRi7HRe+fI6TXzAkLvEQ+Rg2FEa2TI2LxIOOFP
PdcXCToWvAUYIWz4KRbSYw2BUxIjlBFECQ+H9OAfmXoD7kCBFQYgOTiWtWR7
6ecDfEUrgJDBt0TE44ZWpr66hoaUWg3mOWtxfXCZ0RCNrwszWoJnkCG71BqI
A7CNpIjKlk5BPmMFrIzLGxxXX0iKVcoWUMg9j3bmt2JnfiN2JvnVM3iIZG/N
o/yNoW1CPyNMAzn/U17EZTg1ro3NSxbRXUeV4hGDITgblGqIxqC4dTKwxogM
gfgbC3D8kjM8WX2PhfLAWSBQKdqHGQdN7MG+uT1FSLjgxibmqbyfTFvBhkRL
my224EV68GTJ0yYEM/cFiDqcvyaHUwPxMzPFaMnQmXIR5kZxONVnNbhCcXA8
gxy6Shchpmor9jaX6CY8q9Re3e1OZu4o48kID1G2U0AA39gNXoL0eQip5GSo
xENmbFerI/A4xwIvV/zB3QIx6r2Cy5CS9T08tJpgs2WqrOXqYGdWCnEC0HKN
ErjCIJg4JCjDmA6IGadikcprdFi9YhXLsYStNzgmEWWjaiHa5WQmGGOaBqeK
GFJt+RlONiza/lLcwlhyfAvM4daBKhxCAosrlheYhdo0RIcxSDStqmbtrdGL
KSHF9uOsU1yTfsAsSpv7SGJHXfWSx3iDen2x0BBbe3NL8yUkPsUAMQCLObbM
qRbxKKkQHEJOCpsJETdcN2RApOzdCDiHrJOJyk66VySLpJrX4Rggp6hZfA7Z
wR+O/enLiWemMuZeQCYdu6pCCyIg7QWBhPE3UsZiNWC8qYp8oG6Wd1VC0IXV
oaJzwaF+nZ2ofyJN1RI9r3R21BJGIoMIpO0GrVP+2vouzGa08bzlaAjWfcaD
fbuvIgdTD4sB/Y2plqV9ittK1tiDCMca9NUuAZOmRE98JbT6pqW+dre+mnVg
8am9owSHgCAobM9liF+dijP88gzjXtRZJELfR/OKPiJpUpK8DN7DIwH0wdeI
QeYZ91UHZjvczjWVsqYSbsMQG7KrcCzw3lqxgdiC+a7xNg0wxU4mn3sGCRVN
8lhGSbjyzh1P6iGtYmWxqjhJ3zGkILryrXZOkFTUlzZpbkNpRiuKiFj3gUE4
t3VH4UeeAhBn9qArCTlKfIC/duqRUdmShlyuTPMY3vZ7rRL5hW03w7j5ZjYP
y0iXSDr2M+xpjK7AiYWjk52jSC+WDnKltCR9OI+ALir+nk4m/hzcgJ4jWRHK
IqM2MjSeVTprVUGFTAcRc0w2miUY50Ao0oRaatd2jSj3xIwTKq9S1oQDTHXK
xX8WbKgDvYDx5idXSDbahWzjLXSp5nhQO1QptZmX2wqCgUDJFMJrcYNqOqhN
yvMoVrswFcU4BXwWxkKjjypfuKBBiigwwScl0xl4JXwGIubgI3q4b8EGqXjh
MUhi040y/Fh/z8WY1Pmm87bHsUir2dMdmQQn+5cB9Cl7kJdNlUewxmeDGTnl
EiQyuKZzpa2FoqCSaJrLNlTkvGwPqwUtINTufamrlY2/We7B4/hdqruCST33
GH4SCTxv9bP/4joqHnRJChdu08ubmQ9Q2d+gWGML87I5YUoaEQr4DUmzkX6k
IOWh3teggsSXozRFzfNLwTeMkjAGAfzQAX2xG79pJT27qbuQwGWMmuOOAknn
vCSKARX5P75tsVdmNTWb8LUiHcgY3QOncmhXI8fcGUEy8GBGsnqYrZrCo9zV
Nwgj3gwd2WKo83t2TyZawWPJo9RkMXNQqVkAQX+Dwo4rkghHx40CsNHIqnhT
N2vDd4IJau/AEg87KcdToVKNi3pjJzCD6jeWlLUf8AUccZYKwT3XPJoqKGIO
wvlTLJsD/fWocYRnByW9FJdAYU9q82BIGHYxvSCmcwBtfXb12YHK886KLScT
jqggOIG+GRtE9eHgq5rz3dS+zWfW/lww4ROOzaXpeEZC2ePs8UT2QNEgsQsj
I7VdWewoxih4yb5zIZikpCMSA3m4vDmV+G/BdVFScuSaIMKgsy0p11RvRRgS
qhqQPeIaGVI72OCakPMk0Grq1WYL0uIsTfiTlsGCJ3l5cCC5pzfNzAj8kMLn
LI0oDCbBS5wg6kAQFLAWjNHIqU6BAO5uZyUMWZQSRhJ5zqHNdYzNpEByvW2o
bV/T708RfsjzixLf+KqpqoZVpDPihJU1Sb00HcE3qN/S1Vtge/RUBVkqchom
gFICmGw4eCvOycBGsIRaYK2BIohGWBW/B2ur7TSke5Wq78S9Cxg7i1VswTbE
Ima+8ze7tn1LNaYK7TCTwFjU0JBhjGXC2GZJoUnM85cJfhFrhiSV9P3rK8nL
2wMba99nK4YUSy3WmIQwQc2DeyDGD5W6swk79k6WKWeT5qBGleNCevpMa+jd
PSUMlFwhER9YpSjKhDpzYCgFYRWN53N0QL8eeUTAd/BLnGtCR8ivaXEGmcJ+
IqfGKUCGyRhCkYxNbW1KGbDXeHELLxfxKaAqNcCxBnfvqy3DT7U54hv8FXDA
WkSxjib2DM4Vh4zgsNgC028pqREGXO7z8XLGcBK1qniFOCpqCRJKy8wnJbTR
gVoebgewzjpX720/XYdRmNT5TAtatYUNNWHQOpvbGjEwv2fIooJ5yLw/smg/
clmouSaAKnElOwxMwn1EItjVOBfsL4Us9hlXSc2O4iFh2UPibjauKk9m/ZKR
D7PmbnVv3DTm9rg0M6/2RupwabNwlDrc1/3N5rUZIo/akgSrLsRii8A/P2FQ
oG7esqDFuDIaj6DP/XrX1CjSNML8jNd0G0yNDL7jDQs2ZCnBcV0nrI2tjr6/
3CeRLALnVHyg752WO1okO69526yEcidzi6pT7/UoRbonPIrYu/eEJK/yfH+S
vXf+sypGjGxnLm7Uhomehr0c9tERFaKiN98x5Naz+MqzDOvp+qy1t/YpIceH
SJ7nzMcokolHLxZr3i6M+xTSEtI0aDO3DaggYHRYE3h/dHRFYGeIDmr6Fm0P
CSsrsEGqtiW3pz+PQeQ5NEU61ASxe/YKvYFAsE6fsY64wqIyI0xEESIPs1Kq
1bgy/cQiml1kgEG3TImWgig08ATUIQ3OZ9eomfq4Vu71KYkqsTyiW7EBE8Hv
x6U6lMuophU7sZmoOYtZUlHZBr0J6ooxBNsKQ1J8GkBkdAITmgKQKiBwwi+l
A23ec4CBtoVp3sTeZdZZTZsmUHAb0+Dq86tqyboDNA7VN2wyH1OQYAh2Gvpx
+tI4I4KNVjAezk+7UKHB2JDRyK18de9YbtDh5ZZxWfA3hZDoV9ZXjs6GlR7S
J+eO4kndEMMnEUmN4Y57BObDQfBV8RVXMHGKX/tASO/Br9Eb3p+mGXMKi7FT
aeOzZLjMBJdtm+QGhRJQhnOOU5HO3xMQXxrPpEcPFrvND9oAjxi+1CuVFTYT
GSxBXBhl045TZEEkhXEd6+RUF3gtA6Ue3oKVLTY5/qf04GWj1lWmlV4c0chg
dFrsD4jUdvIaesmm36BQjFFE+45P6HzB7EHcW4OjTJinGNvmJWDgDteHzr9m
m+mbkHBmGhjlOgjYLVhFd7JyGKOo6D0htkG6w+Er8iqfyNm4ck2GHlj4xOhO
7JJIT/8N2lsutWSMJcBL7sUy7ojO4eG8TcuIxVJpBE/hvnT1zCDj2go7wCT9
OCp8kN62sZ8r8WLP2RBmKXInHuBOrlx+sMWY4ljGpzXLTQqUBRmLSFpPBpsP
3WF8jbTHngrApbFeMU5mSldAOLQoKon3SJfifSQ7XyJzn5ltjD5y7GFG7mzb
pbs5oril6tb7T+/MAbinh8xMYCavnDrAVknie+p6yo6PxKGDHyFkHH/DnZFy
l0IwMnNSOstJorgaSWzU/SBgt1rD198zjpgRMfkzzWUKir3TpF5KTsoB+Pa7
a/2ER1tyFiPHUmXDjUfS36lNWvfZJsjMwODiIvE7KZOhPPbHDJOYXLAvUviU
XeieOoPkmz2C69yh+BMUnhbkSK8WdGCktxVMisKb7Nya1lY918rRVVYc+RTX
jQEKtBMcGWh48wi75O/u415Sw3wCXT9D6M7vXZ+k/8/nPjS0vlHLis/zd0f3
l0F7ZErilBMJpl8NuXfc5oSmFiXXtLgLv+YeVehUy9FVXRej0AmIIk51cd0y
M/SaKmtpYtxUkZsFwadB7DQ6oLHkG7GoaENx0LvvEAdnWilxty8wRw9HW+uN
D5lyIwmSGLmkMdnYHQRsS/Zvudxgd6o6ydpfck9BsF/JuRIr/vW1sVD/JBdC
xfsiVIyvSS/EZR3diY0NchiQ+SSDQXJUP4mGkO6WwjyEB7IwBPtLdGVAvCWM
q8mVjUqL4DatVhvp2oyRUVgwKjvp6wkuRcWbQ/NCEFNgBJQULnPNGAWG1caX
mPcV5hz+oFpBuxNmKSPulJY15tCWXReLxd/GH4W8b5z8OjM2eGEWs8AV8jO9
F7P2e3SyHeHsuJSukbZ+FFVs6MDGgkcNhktHtJjLJSDVw20Nlzhc3tbwf5/F
PlEJ+g1SdofXWVFYEv4Lo/cdxZplNYJ/IwdC8GelxKSpbpul+7gBQRkxmnvK
x3G4TiL8XFrEItG0CyMzdTTQUiujsIg6j086e/emAYBlkyHhUnKJte+2qXYj
Nm2ME7Vz5OIaiZEI1pTReSVmzvG8S6pHGZMaDQz9DrMEuMVY1UCxIuqSHQN/
0g7iO20lSfFlUsOxOdjH0G1/ePPdt0XLbZTgi99fv/wGTje1o/pb23jxU3mY
IRwIsbq3p2JEp06Bty5ZTmPEdTnp3Mjl9iihKQc//8L2hnRcJkUTtref9Pq0
5cG96c2Y2liGB1tWxsaWRMDYO7L4QayTaedFXNMETo8rJ4sCP2LMhJWWUkGq
iH5SgrE3Vy0t4SaD2kaKaZ9gXBMKQWDboDeZ3NeXEnNz1dDZda/xviUMUI3g
3OxGiTtn4mC69lnff6arAnAsx0x2qUHDqIMpeJ0kPbOoQdbBID2LoX488mAN
3myGsI5mHF7OW1PiJPUt5QxhyHBvlK6sBQ+eHk09/lMhUlJMfP/QpFsgdjrQ
MNDQJNqBYbCHJT0mdAiQ7eq5PbxUjbJ4VHwrwJDsCuXntdt27lC8eyS4EbrZ
+MNi8bWYqCGa1lzGyZkfsBXuqIEFD5ld9FHJkHON9722bVQTnx9CzYsDIWNQ
B6XFtMHS7D+f542ezJ+fOMB7jc8V7/nPgtiiSI2tPjqARvbej/78j1pCoRO3
f45+O/OS8dvu/e17zXckEsl/SL5j9IvPzVif69Cf5+9Iz/DEswHej6cVX2k/
f58PkH/1iQN8Hrt8fb54H3M5MDn4WhfNX1+90iXoovEpHJ2RXNQxLS3gfWH/
yqlmn7J/fmQJcHzvXcIMv/w8IhbTXZjSIG2jocG9vy8+hQR/NZveLyD+Jz0H
EoX+/fciUPJcGkNXbWAuJgUxbkcgzc6Y63obZIYm02bqBjs/jsFQeD5WzJ/p
eGd5OUOvdwlyK6S8v4BeUUggFC5lFl3o1QKh0ual9PrESmVFOmQZ2Bj9JCij
5s1R5SAEq8FKgMvYUkkXBG+nTk4WyNkCbbpJbvZx1vzFADHPGaXls4CLNIUw
HSjm5vNVLPw35JhLbmWACCzrrzJnEXEMtsfyNASmCKRUma2/15Thep1fO+P0
FkkMEnPrVeUWbQlRSjJkk0xeon18kIAsFAZdSuWtCSqabCg5si2HwnBLVO3a
rIi9vVcmsJpPLW2wlSUFUtBthpFKJN4plo7ci7/Wm6WKl23npefcj8APR0zC
Uh9c9MljN+UbZGqwmKQwZ8t50nj3Zg22JIWPFVdhb2nMrDFni47MhawuZTTQ
3LlxzdsIlzV7aNEMTlBV5mfYKqLrt+hu/mWA85XK6+MR0hsM7lJSalqPht8O
jUa1lN2CXCwj3UokMihodC6QVvAI92X1le1uHSEB2MF62h4867EdXUjszafo
YIK2sENAEBPhiRluEXB/2xiRc52C5ZJ2qONlblI8PeRd48VloPhYk8BaV1mV
v/RBuCF/GN+56X0zSjUXcmNAJTEC45KAgbbksBzD8ytBtMd7apInwyE9aaZh
4q4RyQV28dfp1sjn9uq/xeIHNnZtTrUfHygXtL0dBngoFB2nxpdQruYarv4V
/3y+eD/WdWx7ZJeJpy5KM/+8nw7xc//BIWaW8vnP+BCHeD/uAs/20GXWlFk+
jJ2W4xxkiJfxVs70BfFD6nEsH849uXhfzFDjZ31IQ5S2Z7g+XeZz0A9ft6iw
Z4b4JsLTzdMjavCHti1vNsQLTTgV2Swk4sfVZLyQOidoGuK1xoQ/QouyeNb5
SsIpfy0505WaZojUYneWiz7/yIcPMfgIiHHfP+//PU7qvaPHl3zsiXE/5b9q
Gg+c9ut4pezD84QhyuKlKO0fQYa+6cFWOoQHfzYzxCvflYF+Ct4DiH84+p88
hgzxTPCBbWO7BDw2H189X+Ldp2xxUt/889EsFKd2wRenFv/4/dWzZfGDv4n0
oL9eX8OnL9t/vM5m8R/AGJ8SNvj/yhpv/HrorLD92KaAzGk8ldv2sguf/E/k
LrIiLrNu9j9vCN3XC9r+X6x+Cbt4df3kh1fXnzLEvwM5te/3SKsZvfPuEdtu
H8Z1NeZy6dgczvM9i3N4ToqdBttBTIzA0ywENwE6UwWUeSFawDU30UiAhXEe
VK/rQbzYyAKNsNHRTYgZusBU7aXys42r92hKYlU3W6PLaIoybErq2Ka3bdIq
yKhE84yeQsetNnfS99TEnzHtDBXnNhL28xSGxvnkVptY0wKWn9xYglhWwrdg
FnWLSVVMzJCLFh2cXYsZ2ti8Y7ng+xhkGip911F6BVtYMHshCQ7wDJxvzx0F
I0uVdQVc9YKzuZNi5XihT4T2T7sPjS89EdBP+jgf52KxKNHWZW+HL5ORjuaS
NPdcCdfOcMRy2u5tUertJ5JlD3RfnlzsHO8KnCXbUjvB4E/xUowJAQiYVmv1
7zVY7/bXqAGyD+DFIERwpNTY70uYYXZjtYvXB8OgiBqnfNG9ziFXzqIzRh0l
tCImwzFxCUCZJxXxFouYREpXGqHnYuBB9haZVBZWfP89KsSBwOs00tHJhT7p
XqOh2Q64dTd4ov4YqyjkPhDghQTdb9pRgzHXh5Ywi8k3GkfAshHRd8IRqTkP
JR/DsNnU6zr54qmwwDj6yWMr5E4TdAVnZI1c/YRY2DKLfRHelWBHScn47P4q
JJiY29qUm3LV9C5Fm5Ds2XtGrsUsvN5XMidgMZN8SzUhF5wopWoJypPe+G2t
zRobfzdaCz7N95jL41IZOD28NE8F90pRFQEDMOpW4ThvhnDkpNJF8coNcrMB
JWZTmZ05RQRw0XJFFnSBCOv4Etl0DPew/XtzeoR5UZHE+6RHb1qZ6SQQOQVT
6ThwmZugLwn8LKdlJVgJsewu+L9n15Iquh7XG7lO4JyDfNL0iVvUrNO9ZnMC
Oe9HMl1Imgwzl0hIc8OA23Ze5FcTSwUMY0YeIlF3si3N+GYO85OIwYITsMeu
FxZ5VPdEnmcYc9rvhWXW5i9usxVH16vQbctVDuBxMMbWY9t7qEp4ZSOiI0Ws
RKtlqu/eS/Dm9BGJBeKWT70Fi5sYzW0bI13lR1mzqYjF5dch1cuI5JOYei23
Hs1U5+EDcFD3dA0kxpit1jD3nktJ1H0nO8NhcG51dJNTFJCRVKUpcNPbCESS
ToToA9PUXjsJvTiroYGVbNGxkk/kHFX4peDGhKjJLpiT0Fq44/rY2JeUX8OV
41JNFiYXszFzxs67mPIgkZQ4IB46s97HH9H256Ltra5f8UOZW0n8nnuW0a5O
o5VRHIpz+iXndqS9nRWcBIXoTse+3XbuuINlUqv2JUdORwIevxEVpEEeVkHm
QuTsUkHTUx7XT7Im8wW02bCFysKewsHrpCWdSzHS6yj71vEGWqkOnb9CUDBU
0s2MLObH9cqvllQDfq54MIEvjruaXRPoII0Mmo8a9oGAIVhqwlk9ZqAV3VCI
rzxXkG5TmofsVYWzrzyXkD8nzShg//QyN8OS+J9rVmt66eRwB7odzVgIZbp1
gMUPOw/e9FizdyzuYms18+zq/q0ftVUQP67ncxItPpPznFT7mYfj7dDxKlj6
by5Pp+xGP7pFUmRy1hXUdNen2SBrTcB2BikWyTuG9vVtay9361PbZgVeRVxT
0OsJzU2HEZRFVxtSpQgCU+mhEZCScnR02xA2wqA+w9uYLDHAQe6GgQXDEzp8
rU3FGeW1pGMYrQNb9tb4bSsWYepaTMeJNlgqIw8yx3RhnACakg35UFcTDetS
+8iYQx5BfniS0SCRlbGnvh7fnpz3byE9TZ0J0pUlCTtubBeCLWp+UdNMmbyy
ifWUL84VUm58CwNHOLPce0N8zIPgDUT0IvGNMPKAsDQtO51m7WvdXSxwsY/a
i+kTh1ITjeIxX+Me2wRtqDIKxMLej3p7S0sicwnXOdccpxdJIZVcfLEZyTRp
LWQIHag/imNRJL74ckx+nBEmuWlKYjvyxRecjJO2Mek2MSYgX1QtD59H+RPa
uV0wOHKSBmj/aF8HTcFT+7TA9yvQ/A51Ve1Hex4RdFo5xyN7yeZnpnhsFlCl
HjscQJDEH64ONevJ93zrAyPBcSiuLkA9cEPNIWJjMSzaYYArHaI3SWm86LqW
XdHplahwrDx+XUYp9IEJNrJ8167rTgwziXcrbfCSn1nMrEZMEFGpdbl2NNoN
cVVAQHVcKLGPDlGUjXLROGpiv37LSSGyL8Iydxf0w5G+pLWFPBDSgvjw3EeC
+s3g7T1MokiD8Xw5UrId6rAzRpGGBBkdYi4klC9GN5ymj+X21s7/We08PCYt
rvwW3l+NR2kq9hCoU7i07QESwZIOwdySjs+hTUSZZ8TxbCLym6HaaUE3BrlN
pDHwhj0JIt5cc7bU4XZEMs40e6xgFJ8v2t3S9goxPhSbZB0FB52BvcZbdHXq
kyMCkSbDFuQM34AbPmifIrHL97zH5GplDEF7mUo9AwgRWtseU/hcXkpdWLGY
iHDFku4hOagNyO2ISN4r6929e2TfqIFyuW0WH4iXvUTvDlkQxekTC+5iFhCm
8A01AOFgDF6T5buSHGHqaAeaaxk7QI/uz0WJrHtYhuGGrDlholHt1Zi9uf4w
1pAaXi65Znw9JkTm5hoLBk4VBwAIH4as1GQOnXddhQ1qXD/nCtHLVjnZR3ON
2QOSNpsNQ1Ook4a16WNkPSHZlyYCgOTpvNxwxu3rxmr1ddSBak+NzhCySz+i
DN2QfeD+eYKbpxXqIUm8AeIatDW4+zZAIsdNokocbZL42GagDmItX3GB0PmK
S8fQFgcPFhMR1GZALwQDH4ECHOWuPSJj7NvTgdMW+d7F7OZ4fejrOyQXOoRV
vUZBcYpiIKGhhNWClnnH9Am3WELfAPHXqSz56Agbhz+Smwdy5EAOiYBj9cC3
qeghJEk0suml5SQuaqElNXM3jXMOKb/MWjvdDjclJ1qoZjd1poHfLHIpf/AU
TgwHFmDp2nVSmUO8NEObUWdFzq5fkBv8EFAmtTmMsaCIO2QHnLdokaJD8xOM
dzDSeU9WOqlZc2faacGFbWJKwbHG5aC5RfU1wTbp4ayA3t1nQ5JusosJODa6
I6aWO+d6L60zuISuGuQ6Daqzpjb7HHHjnwJXObXQvkOeoa/xMWyRdhSRbljn
3aMUF/pgbxrXRq/rPlr/DNgElqITxM1XbOWtW8zF9gSSlpcbRFPCa50dJkcD
JalGoZFUf8Yt5jrWWluX6iKZWePd7zD1RYFXz21RN1KBie/WNRiJX8rwuubU
SlU7G5OjjyuX7k7qdOfXp4/GUeyqDiMPp4ACA2CtKFIy2776zIgz45Jt21J1
/BH5YDG3BhNIxOKYy+kDjFcudfBEsAV40TnYTolnewpc2hCiTBZkLlUV4qs1
RlgtJobUfN4nXmxwJ+00mUxp8bH926dDOsnkjqJAnpppP2K+xSAoMyk33qyz
W1xnmj1NuSc5bYRUzVqfjHdhNEoqR//Bp+vCzWDRIdb69/i72eYD93zLFa13
1PQ7doDCYBhZUamUuUxxYdk3JsoshCDmm+cajNeN+fncHLO2qeMmQebeYHav
g+TqCZj7LAJZpSU43qQnVxqjHLyQEoIEvMvBH38fRSA2ZWLY+PwDQEjuC5YD
UJBAF7/49f+4F6FCDzz97S9/TkGQ/q5MUrh8hijiiwJe9XNHigsosS7sIoEQ
hTa0x7gEuW9sNq3wwEkY76K5pNSN7l80OAK+NRJfDcRZ/pUnJcYUY+zKQsTz
O8Mon7Kcf0HW4S7itTnlhnMM88By7caEErkkEsby9YdIOe2tCST7/dy6U2Qg
fOSQjSw1zl1w9wLPzv0yq+wQs+IeES9Ac3N5DMYc31GD3b6MdvuHD7Q1794l
fVAS9fALLLy8IFxH0seCbscOKyieUYvVeFrBJDW9hOIuk9OWUOmLmw6bA1EO
iSEqult8gUTEGifkFuiR6YdZN0/s8zMi5SZZj3Vqg27Dx2wwD0fs0p0pQ5oM
mLoLQiRpq3KVbjoVcSy4QRpRlh4o9QGhK/9YHOm5dbzh5lZ6MzqMgxcN177f
lHf1IfjSwf9/+CD3MZP0useMHhvycarriBWm6Hue61zE1oFk3vNvgzQOQWa0
1RCdn+tJvJjxOmLjEXs7J+UjOBUXu1/rJBmZ/e6RzrokG/KDNBGxBudb7496
rbzG6M0k1RSYmp+RIua+zrkTqaaptUthI0FmZ8czXcIELoMakTmXfORF8jC3
iuEzAi8Z3UOHRByLii/By/wjkCGp0xkCZIEGgy7Rfmpg9S2yOOA4i/mQcTQx
lqXNAe85t3fVyB6blwvgBO5aIzKio1QTU4QrQRL29d2jIP8NHBA/JoiSFqeY
IxCOjppBDB2HApIrL+14wkWBIKBNTdG48R6tBUJ7jBBa0GV1vKnIwJJYeMaO
eyn6kQEyohSh57c49Xi/gnRA5lSWHNxMlBABD21f33IGn/xAw/2OXa71wLAT
FRhyBEFalPAWeklpx0UJ8qZNeR3jM1OsnS9NS/yUzYkRS9H7vnpx/bXxiBkX
wGnX6iERlgC66di/ezQSmxEXo0/E7LNnmzdtKd3dgxuqCLscqZmn960QvKEG
471wa/rZKgNxjgN1DNxgFnbyzqVOwbxbOnQzaota3QWOnjFIR3E1GB9OSCc3
NXgS1AFE8zMz/ZnYt1mR8PdnIZKQmS8RIAHlbIAx78YLvOkSY6NnqDHHKVVS
ySFqBEQiHlzDdWk9yvqGIwf3sEVUOeRf4zVqH1WWjy+vXr455ziCKYNjHSqs
qIm84El8pjhVFn5XI2LJVw8QWJm6aN66/aAQmsiKdGpjO/9gS1kpNIMZbba7
gr/HUqASTTpstQbPcaY/wIJeFD/IGNluT8imbypxR4GAeBDiLyPVrqkTyOMf
rq7PNQxmMzocBWfnefrjZ9huYsMgTRjiWRzCIA85sv0VIkJQWGL4aABarunm
0xEn6pQTS5IsmKldePdIpHGZpDHKBEUBjCT/lBlBXOC599xb6jBIjzCLO9V7
8fIw1jgMWmzgh9p9Gc6K6/gGtg6OfjaamueICh7VUGC+RG7DvYeCy/mdoXA5
om1WqVBIMhcjqBq17aB+wexAIUgqEyzaGTRGdJDr+N4iTJuDtEv1png9oyFK
oGQDRyZhO35kXMQklzIFz9k90YNl7NFUPCQyESfdJ7CtBGxFbk20c1JeM/uv
gA4Mmkg6fw6jGE8+56XIlCV0ExgOEi62y8KyBE7OE+qK8/sc0xVEiLgv7F29
iFmRN+w7M2tPfC9g7CvNxlSnxh2kl5p2BDLplePeNdoRKAyeAvgxwmlx7HVH
FybE/kZqgyIvVggw075eJB1tw/boRPJt7ja8PXdiEp6GbL4sGg5at9H7vlRC
4i1DuZeYvT13GRMe2oZUkZGlPXTfJsOsUPxs6kWPSFYcXSbOFiH5csZIEz5a
hxTAzIz66aXhOYnabiag+DFPuXHYveFeV9nmG6OvvMKLDsncqn9KNtrsStCa
S0wV4/7Ujg3zCdgNISYZNK/wwz8ondr1QJqWmlmmClGy1+O94kPP945QELNm
8Y69AlFkrOTm7Tg1CnrRwSBLOEtSSKRBLkHAEExWaOEp+gSMrjg+ieQvZT5Z
PpPWmkx1e/k5JV56C2pPKTQpVJ8GwLIYf1j7Bu/CDLlfFA196jR1xFuhMJbl
ImRNhEaHDKAWCRCJLwfFODvi4vAtB74EiG/GwV6IiWnGq+VuESPJR+7NKfl4
hgtjOzuMzE+SA/GyVvEK2d9M6RZDUk2ALOVm4p7BPkBWR12Ib/wJ43bU7Yvu
eEujiDxg4yr7NdBnyzkHvbWWWBNldj2f+dDbrUwWlMc3i7ZTyc5tLqZ4jBCz
LflZ1DPRuY0cCCxBIgCPBD+4S4324GYTlg5Duhx8ctAkP1zJnX3fwil47Y9D
VauWwLuIe/WDCHqSyyG6bO6JiWRhqCIluMJsNQBlmmZvnMHONjSbXJ7z/dba
D5gbm2n3Q4z5GNCrFf8UCh3DXLkdM6XROFKK+MxvCVEXF75ckCiR93DgYKrd
M5+OOCv59VFlLJpWDglGHhAJj0ASRK1J3SYbFsmK2DBUTe4wRkrxcWJs3gOX
nBiJyRGMVNV9KVfJvHsU7Q8MZiWslcYyyr4t7w9qqDy5N64xhoNObCuqJNGb
nAjXAOcXMQYtWhl4W64Az08JOrE00JlpbE9wRetUCQnPxxIIWu5GOgc7tDYw
F7U0WLQN600+qeSpG8jJcoJ2i7iN6I5a0C4mvBJUHb+l5PiImKlJzl8fiUGV
m0F89N7if0NI5jrzCEDV0eH0KuMi9x88YY8I2kSbBXqrN238otX6pTBsjnvR
8gdKCHRY9ImQurRr65P6+YJZ4/OH/W5GyetkkOq98LMyRUobsY8n2ce47Rr4
wOROzWENtRWY/VJfArIR6MMy8uQHBWuIlMp52BAxjmJNqXS1XVNTKQAFC7TK
ZcQtR0KHYEgRgeXS0RNxDWSQTc8LuIcUn7IZ63Q51QzLXCwWr2EQLlruGPau
o14sLorvFQNL1QRtqu5lJOkIZJ/rtAQsJVyHhS2nK//yQo30pVbWPcCXlrPw
Ei1U7Ij6KWkhDObb4wwjmdIVcOo4RXrFW2UMHi60Wrx0kB5KvI2ghjeJ1mQO
3rZ1RZfalu2m3KPbTpgm7ur6TXtX4kjE3TgrkLR7T4bCLK0TnVADt7F+hkyW
ersrN+RvwXDUfJQhmj11ksYu4SwVwyfTDo/NAZ0XmaMhkwxlmznNUz2SmCZT
UZ0rrPz3OFtB9XP/JeG12XXfDPu390jthBaa3gT9yQvVXui7+2YV300HZ7OH
fVO+Z2Yg8PD9nPCn7169+La4evPm+xf/wiLlpfBZbMnzSk/0u0fCg6V67pN+
EClmYtxVufVSPO4yXsCoo+CNsqZlbYTlcHtWcyEnYhwEFs+uWSwsPLCTPCoB
WKq6JcCWi01uQdbA5GaA5VrfZLAhI1wtwarJKuKraDHWRcYxDz1FHsdWw3a/
R7tMl+Ay+0bxaRwuEqKSF7JRZ2NEMHZFuxi0uc85BrPGjjhjcLuGDaL1m9v0
IXpdpiM02YlUYsHVmuuhQ0AnTFsD2qmx3Ly0mdImrx/lGjTcMBgNf849rvNK
j/TmBEHVWhHS4HKdLLvDet65hcik5oBtcIWUczUBH45X1vR6A+qiGqRwQo2y
hB2Mep/4+BZcYPZoBpAQKLO4ozQcBBKMXnJMeiikoFkqkmBkugQD2GPHCXpU
OSUmHUgKkGfJ66Vzzr82N8L6pqvXErBD63rYs81hQl0EGQdRQpyQ37jwMGKc
1SmHYDLbNIpYXXLMpGa1pCHRkYKizFOxbyaBWmkLiUiIgry3NgPzTBVQpZW7
IRhHryIRRMWXhMkh42rOF+5cTU2j68wVzoMCaFUzPH82+rZKTJJNM2dqNlC4
5kCiUHJ6I8wzs0zMVQY5yDyXgWIWsO2fVX2ki8wrvBk8FudRghm44C2hSZF3
7uoQTV3iXdQq7KJdcvw6mbgvsrwmJkOwhkg+pPD6hwUV8eGLL0N5Fag3BPc5
Alv/b15//ey3v/m7X3/4kDBInHcYR8bptEzC2XJZJab+x5m9GMyOr8NLXqmG
YgVzoDppmcAXX3whkBP8tMTn4ze/SFOLchFbiVk744vy9fU1TCHwvQUm+4hv
4ujF09UXkleKivXdO3jFb37921/a1SNDYUha2tHHor2EJIch/y0pLyFULBVz
gurTFMOXeF3UDCRHBWC7ISnTwTrA9pIL5hOaJGa607WaqNRlZ/BT+L1cMCmg
7rb5kuMB+zoI2PvIlRwK7ybMJ1bjEZshyTUklO5RYW1Ed1Z4wq9cm8hRqkPC
28LZ38RJINQmIePJPb6z+X1un4938mhrz1Fo35C7xa8iwTg8iyV0H9CckIAW
+X2lXFc8Y1pMhiNJyaGkkjgiZOPV2GurjNcfZxwT29QLA4TZODUGjd6aULT4
9LTJ85HrVoPakbgUovWcsMeqLFSWJbege/yS6ksJsUpHLkZxzi84T8CI9obD
l3Mm8YZvtJXKcFWqpJXHekoc8VjbStFhjHDkTipQgkSVKRimYllTDOr0FhVz
+9jEgE0BHY4ti+nW6jUWx+HmCawjXfFOJLG3dPhGCu5GBX0SIKCcU4g3yq1b
DjSHEeTnmdwJKGeAAEDr7LMsW+Yb9lJIrfU97n8Yuo1b+wvBTa6Jz8HmPojV
naDyD0Uu5M4+SdrSnqdeLNFDEIwHl4PR94SHMa05cJNV3WrNjeQeUYDvEfzE
5RIOK6O14bdQfdTCNsI+le+/lKgzhobArNqaqsgoeCTwPBIu8b77aZfc59OZ
xytku/qAqeKuRuPgsgCvY/Bc0nXAK7XrEJmabuzge9PpypLg50hizRIyuqRy
ICYKyEzXDBjFlOVmQc0MtQ0iN6kte1SZPxfhujQTmktZ4qZhtPchXGvq+HQv
tHUCmzMIsZAh00yqMJh5qAlNP5EXUuKENFAAq5rbacEm/hPW22ZoJ6liCwmS
qcNyX3PGwTZ2J48wHkbJMA/VY6qcBZN246N6Wa7X0kZgEemWYRs/CyZg6Jvb
GsScBMtJkGpXF7RsyADhqEOsR8GeTJyjwznTMccWeW/kIP0GX0YWCNtf5yv1
/LWzP+OzKdBl6xhH2IhkPgN50zzQWkBD+NatZ+TTkb8QhKp2A9JWjaYJj3Ze
f7A7HWc/mXYHnTeTtpFai3gtZkR6csoajWd6kObANZbmAEq3trzmI7CQvPNK
AVjMLRoJBmd8X7neyLjBa+pOP/mF4AZr9FpJqZDcOVn5lOq/KLISIVqUUMG0
i+0+cX+n9dUEI2hrDknQyt1AS3MvAQUhJKXLsn5hikhX2CA3IvXM6NzbnbY1
KjSJEqF3yEpjITqQDBE1w0ahjQgrqG9JJbwKfqja5oTqCY7xAjes7VDI2hfD
OR7Wnjocql6dhATouMmXWBEac4tSej3G43IdpApNoOZX4lWpblXrC91trOPu
WZTsT+bWJWOXkCiMxUSEoomBXrlIkLBYoLHoeBs7OrpAL6h7Ccb/9CcRyLVk
Fgt1MBEi8Et/8nwZY7xzIAbKxIah7B96hXSKCJ5gIXsgnCjG8mWmQpVDjxg/
a7Za8g66RvSDVpFSTvPYUv0+l5OKSXN1+e3lVFzUsIgPev25Wq+cCedfuNiE
dFGWJcU9yF2NzjHx6eLdRTMcbjBj8L/ONiDe/RmO+t3z76wbvVr8P1lH4ni0
4wAA

-->

</rfc>
