<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-narvaneni-agent-uri-02" category="exp" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="agent-uri">The agent:// Protocol -- A URI-Based Framework for Interoperable Agents</title>

    <author initials="Y." surname="Narvaneni" fullname="Yaswanth Narvaneni">
      <organization>Independent Researcher</organization>
      <address>
        <postal>
          <city>London</city>
          <country>United Kingdom</country>
        </postal>
        <email>yaswanth+ietf@gmail.com</email>
      </address>
    </author>

    <date year="2025" month="October" day="16"/>

    <area>Applications</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 175?>

<t>This document defines the <spanx style="verb">agent://</spanx> protocol, a URI template-based framework as described in RFC 6570 for addressing, invoking, and interoperating with autonomous and semi-autonomous software agents. It introduces a layered architecture that supports minimal implementations (addressing and transport) and extensible features (capability discovery, contracts, orchestration). The protocol aims to foster interoperability among agents across ecosystems, platforms, and modalities, enabling composable and collaborative intelligent systems.</t>



    </abstract>



  </front>

  <middle>


<?line 179?>

<section anchor="introduction"><name>Introduction</name>

<t>The rise of intelligent software agents necessitates a standardized way to identify, invoke, and coordinate them across diverse platforms. While protocols like <xref target="RFC9110">HTTP</xref> provide a transport mechanism for static APIs, agents differ significantly in behavior, output variability, and interaction patterns. The <spanx style="verb">agent://</spanx> proposes a URI scheme and resolution model designed to complement existing agent communication protocols and libraries like <xref target="Agent2Agent"></xref>, <xref target="FIPA-ACL"></xref>, <xref target="FIPA-CNP">Contract Net Protocol</xref>, <xref target="LangChain"></xref>, <xref target="MCP">Model Context Protocol</xref>, <xref target="AutoGen"></xref>, <xref target="SemanticKernel"></xref> etc. This document defines a resolution algorithm that maps <spanx style="verb">agent://</spanx> URIs to transport endpoints using HTTPS, WebSocket, or local bindings as defined later. It serves as an addressing and discovery layer that works alongside these communication protocols.</t>

<t>The <spanx style="verb">agent://</spanx> protocol supports diverse agent deployment models through a unified addressing scheme:</t>

<t><list style="symbols">
  <t>Cloud-based agents accessible via standard web protocols</t>
  <t>Local agents running on the user's device through the <spanx style="verb">agent+local://</spanx> scheme</t>
  <t>On-premises agents within organizational boundaries</t>
  <t>Decentralized agents operating across distributed networks</t>
</list></t>

<t>This flexibility addresses a critical gap in current agent ecosystems, enabling applications (including browsers) to discover and invoke agents consistently regardless of where they're hosted. By providing standardized URI<xref target="RFC6570"></xref> patterns for both remote and local agents, the protocol simplifies previously complex integration scenarios like browser-to-local-agent delegation for privileged operations.</t>

<figure title="Agent Protocol Stack Architecture" anchor="fig-protocol-stack"><artwork><![CDATA[
+------------------+
| Agent Applications|
+------------------+
       <->
+------------------+
|   agent:// URI   | <- Addressing, Resolution, Discovery
+------------------+
       <->
+------------------+  +------------------+
|  Agent2Agent     |  |    CNP,. etc     | <- Communication Protocols
+------------------+  +------------------+
        <->                   <->
+------------------+  +------------------+
| Transport Layer  |  | Transport Layer  | <- HTTP, WebSockets, etc.
+------------------+  +------------------+
]]></artwork></figure>

<t>The <spanx style="verb">agent://</spanx> protocol supports:</t>

<t><list style="symbols">
  <t>Unique and resolvable addressing of agents</t>
  <t>Optional self-describing capabilities</t>
  <t>Consistent invocation semantics over existing transports</t>
  <t>Progressive support for advanced patterns like delegation, collaboration, and orchestration</t>
</list></t>

<t>This document outlines the specification for the <spanx style="verb">agent://</spanx> protocol, beginning with its URI scheme and extending through capability description, transport bindings, and extensibility patterns.</t>

<t>A reference implementation of the <spanx style="verb">agent://</spanx> protocol is available to demonstrate resolution, transport bindings, capability discovery, and orchestration patterns. Implementers and adopters can find this example implementation at: <xref target="AGENT-URI-REPO"></xref></t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t><list style="symbols">
  <t><strong>Agent</strong>: An autonomous or semi-autonomous software entity that can receive instructions and perform actions.</t>
  <t><strong>Agent Descriptor (agent.json)</strong>: A machine-readable document that describes an agent's identity, capabilities, and behavior.</t>
  <t><strong>Capability</strong>: A self-contained function or behavior an agent offers.</t>
  <t><strong>Resolver</strong>: A service or mechanism that maps a URI to a network endpoint or metadata.</t>
  <t><strong>Invocation</strong>: The act of calling a capability on an agent with input parameters.</t>
</list></t>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in
RFC 2119, BCP 14 <xref target="RFC2119"/>, <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>

</section>
<section anchor="protocol-scope"><name>Protocol Scope and Layering</name>

<t>The <spanx style="verb">agent://</spanx> protocol is designed as a layered framework:</t>

<texttable title="Protocol Layering Structure" anchor="tab-protocol-layers">
      <ttcol align='left'>Layer</ttcol>
      <ttcol align='left'>Purpose</ttcol>
      <ttcol align='left'>Mandatory</ttcol>
      <c>URI Scheme</c>
      <c>Unique addressing</c>
      <c>Yes</c>
      <c>Transport Binding</c>
      <c>Mechanism for invocation (e.g., HTTP, WSS, Matrix, IPC)</c>
      <c>Yes</c>
      <c>Agent Descriptor</c>
      <c>Self-describing agent interface</c>
      <c>Optional</c>
      <c>Resolution Framework</c>
      <c>Maps agent URIs to endpoints</c>
      <c>Optional</c>
      <c>Application Semantics</c>
      <c>Shared vocab for capability naming</c>
      <c>Optional</c>
</texttable>

<t>This layering allows implementations to adopt minimal or full-featured configurations, depending on their needs.</t>

</section>
<section anchor="uri-scheme-specification"><name>URI Scheme Specification</name>

<t>The format of <spanx style="verb">agent://</spanx> URIs is:</t>

<figure title="Agent URI Format" anchor="fig-uri-format"><artwork><![CDATA[
agent://[authority]/[path]?[query]#[fragment]
agent+<protocol>://[authority]/[path]
]]></artwork></figure>

<t>Examples:</t>

<t><list style="symbols">
  <t><spanx style="verb">agent://example.com/planning/gen-iti?city=Paris</spanx></t>
  <t><spanx style="verb">agent://planner.example.com/claude?text=Hello</spanx></t>
  <t><spanx style="verb">agent+https://example.com/assistants/chatgpt?query=hello</spanx></t>
  <t><spanx style="verb">agent+local://examplelocalagent</spanx></t>
  <t><spanx style="verb">agent:///did:web:example.com:agent:researcher/get-article?doi=...</spanx></t>
</list></t>

<t>To resolve <spanx style="verb">agent://&lt;authority&gt;/&lt;path&gt;?&lt;query&gt;</spanx>:
1. Fetch <spanx style="verb">https://&lt;authority&gt;/.well-known/agents.json</spanx> (if present)
2. Locate <spanx style="verb">&lt;path&gt;</spanx> mapping -&gt; agent descriptor URL
3. Fetch descriptor (<spanx style="verb">agent.json</spanx>)
4. Extract <spanx style="verb">transport.endpoint</spanx> or <spanx style="verb">transport</spanx> metadata
5. Invoke using indicated method or default:
   - GET for read-only, POST for state-changing
6. If none found -&gt; <spanx style="verb">agent+https://</spanx> fallback</t>

<section anchor="uri-components"><name>Components</name>

<t><list style="symbols">
  <t><strong>Authority</strong>: Uniquely identifies the agent or agent namespace (e.g., DNS or DID).</t>
  <t><strong>Path</strong>: Specifies the agent being invoked. The <spanx style="verb">[path]</spanx> is opaque to <spanx style="verb">agent://</spanx> and can represent either a namespace or direct capability.</t>
  <t><strong>Query</strong>: Contains serialized parameters. Query parameters SHOULD be URL-encoded as key=value pairs. If more complex structures are needed, clients SHOULD use HTTP <spanx style="verb">POST</spanx> requests with <spanx style="verb">application/json</spanx> bodies rather than base64-encoding payloads into query parameters.</t>
  <t><strong>Fragment</strong>: Optional reference for context or sub-capability.</t>
  <t>The optional <spanx style="verb">+&lt;protocol&gt;</spanx> indicates explicit transport binding.</t>
  <t>If not specified, clients use resolution or fall back to HTTPS-based invocation.</t>
</list></t>

</section>
<section anchor="uri-abnf"><name>ABNF for <spanx style="verb">agent://</spanx> URI</name>

<figure title="ABNF Grammar for agent:// URI Scheme" anchor="fig-abnf-grammar"><sourcecode type="abnf"><![CDATA[
agent-uri      = "agent" ["+" protocol] ":" hier-part
                 [ "?" query ] [ "#" fragment ]
; hier-part from RFC3986, allowing both //authority and path-rootless

protocol       = 1*( ALPHA / DIGIT / "-" )
authority      = [ userinfo "@" ] host [ ":" port ]
                 ; <authority, defined in RFC3986, Section 3.2>
path           = path-abempty
                 ; begins with "/" or is empty.
                 ; Defined in RFC3986, Section 3.3
query          = *( pchar / "/" / "?" )
                 ; <query, defined in RFC3986, Section 3.4>
fragment       = *( pchar / "/" / "?" )
                 ; <fragment, defined in RFC3986, Section 3.5>

pchar          = unreserved / pct-encoded / sub-delims / ":" / "@"
unreserved     = ALPHA / DIGIT / "-" / "." / "_" / "~"
pct-encoded    = "%" HEXDIG HEXDIG
sub-delims     = "!" / "$" / "&" / "'" / "(" / ")" /
                 "*" / "+" / "," / ";" / "="

; Character sets like pchar, unreserved, etc. are defined in RFC3986

]]></sourcecode></figure>

</section>
</section>
<section anchor="resolution-framework"><name>Resolution Framework</name>

<t>Every agent MAY expose a self-describing document at:</t>

<figure><sourcecode type="txt"><![CDATA[
<scheme>://<domain>/<path-to-agent>/agent.json

]]></sourcecode></figure>

<t>Agents reachable over the network SHOULD publish <spanx style="verb">/.well-known/agent.json</spanx></t>

<t>If a single agent is deployed at the top level then it should be under <spanx style="verb">/.well-known</spanx>.</t>

<t><list style="symbols">
  <t><spanx style="verb">/.well-known/agent.json</spanx> -- For single-agent deployments (compatible with AgentCard)</t>
</list></t>

<t>Multi-agent domains MAY additionally expose <spanx style="verb">/.well-known/agents.json</spanx>.</t>

<t><list style="symbols">
  <t><spanx style="verb">/.well-known/agents.json</spanx> -- For multi-agent domains (maps agent names -&gt; descriptors)</t>
</list></t>

<t>This descriptor is OPTIONAL but RECOMMENDED. It enables capability discovery, transport resolution, and compatibility with ecosystem tools.</t>

<t>When present, the descriptor MAY use the <xref target="AgentCard"></xref> (as defined by Agent2Agent protocol by Google as of April 2025) schema as one possible format, or any equivalent <xref target="JSON-LD11"></xref> based structure that expresses the agent's identity, capabilities, and behavioral metadata.</t>

<t>If the agent is deployed at a subdomain (e.g., <spanx style="verb">planner.example.org</spanx>), the agent descriptor SHOULD be published at <spanx style="verb">/.well-known/agent.json</spanx> on that domain.</t>

<t>Resolvers MUST restrict fetches to HTTPS schemes and MUST NOT resolve to private or loopback IP ranges. Resolvers SHOULD verify TLS certificates and may require signed descriptors.</t>

<section anchor="ecosystem-registries"><name>Ecosystem Registries</name>

<t>Domains MAY publish:</t>

<figure><sourcecode type="txt"><![CDATA[
https://<domain>/.well-known/agents.json

]]></sourcecode></figure>

<t>This file should map agent names to their <spanx style="verb">agent.json</spanx> URLs for simplified enumeration. It is OPTIONAL but RECOMMENDED for better ecosystem interoperability.</t>

<t>Implementations MAY support resolution of agent URIs via:</t>

<t><list style="symbols">
  <t>Static resolution maps</t>
  <t>DID resolution</t>
  <t>WebFinger or custom resolvers</t>
</list></t>

<t>Resolvers SHOULD support caching and capability introspection where applicable.</t>

<figure title="Agent URI Resolution Process" anchor="fig-resolution-flow"><artwork><![CDATA[
+---------+          +-------------+         +-------------+
|  Client | --URI--> |  Resolver   | -->URL->| Agent Server|
+---------+          +-------------+         +-------------+
                              |
                      (agent.json or agents.json)

]]></artwork></figure>

<t><strong>Example</strong>:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "agents": {
    "planner": "https://planner.example.com/.well-known/agent.json",
    "translator": "https://example.com/translator/agent.json"
  }
}

]]></sourcecode></figure>

<t>Agents SHOULD use standard HTTP caching mechanisms (<spanx style="verb">Cache-Control</spanx>, <spanx style="verb">ETag</spanx>, <spanx style="verb">Last-Modified</spanx>) to enable efficient resolution and minimize unnecessary descriptor fetches. Clients SHOULD respect these headers and cache descriptors appropriately</t>

</section>
<section anchor="trust-anchors"><name>Trust Anchors</name>

<t>Domains MAY use trust anchors (e.g., DNSSEC, HTTPS certificates, or DID-based verification) to enhance identity assurance.</t>

<t>A practical example of URI resolution, agent descriptor fetching, and caching strategies is included in the reference implementation available at: <xref target="AGENT-URI-REPO"></xref></t>

</section>
</section>
<section anchor="transport-binding"><name>Transport Bindings</name>

<section anchor="explicit-transport-bindings"><name>Explicit Transport Binding</name>

<t>Use the <spanx style="verb">agent+&lt;protocol&gt;://</spanx> scheme for clarity:</t>

<texttable title="Transport Binding Formats" anchor="tab-transport-bindings">
      <ttcol align='left'>Transport</ttcol>
      <ttcol align='left'>Format</ttcol>
      <ttcol align='left'>Method</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c>HTTPS</c>
      <c><spanx style="verb">agent+https://</spanx></c>
      <c>GET/POST</c>
      <c>Secure HTTP-based invocation</c>
      <c>WebSocket Secure</c>
      <c><spanx style="verb">agent+wss://</spanx></c>
      <c>NDJSON stream</c>
      <c>Real-time streaming</c>
      <c>Local</c>
      <c><spanx style="verb">agent+local://</spanx></c>
      <c>IPC/broker call</c>
      <c>Runtime-registered local agents</c>
      <c>Unix Socket</c>
      <c><spanx style="verb">agent+unix://</spanx></c>
      <c>Unix domain socket</c>
      <c>IPC for co-located agents</c>
</texttable>

<t>The <spanx style="verb">agent+&lt;transport&gt;://</spanx> scheme allows explicit declaration of such bindings, enabling clarity, extensibility, and optimized routing. When no explicit transport is declared, clients MAY rely on resolution metadata (e.g., <spanx style="verb">agent.json</spanx>) or default to HTTPS-based invocation.</t>

<t>This flexibility ensures the protocol can adapt to different performance, privacy, or coordination requirements while remaining consistent at the addressing and invocation layer.</t>

<t>Local agents should be accessed using:</t>

<figure><sourcecode type="txt"><![CDATA[
agent+local://<agent-name>

]]></sourcecode></figure>

<t><spanx style="verb">agent+local://</spanx> requires explicit user consent and origin binding. Implementations MUST prompt before first use.</t>

<t>This allows agent runtimes to register their presence using a local resolver (e.g., via IPC, sockets, or service registry). The transport mechanism is implementation-specific.</t>

<t>The <spanx style="verb">agent+local://</spanx> scheme specifically addresses the current lack of standardized methods for browser-based applications to invoke locally installed agents. This enables web applications to delegate tasks to local agents that can perform privileged operations such as file system access, desktop automation, or hardware interaction - capabilities that are typically restricted in browser environments. Security considerations for such invocations are discussed in <xref target="security-and-privacy"></xref>.</t>

</section>
<section anchor="fallback-behavior"><name>Default Fallback Behavior</name>

<t>If the protocol is omitted (i.e., <spanx style="verb">agent://</spanx> is used), clients:</t>

<t><list style="numbers" type="1">
  <t>Check <spanx style="verb">.well-known/agents.json</spanx> (if available)</t>
  <t>Retrieve the agent descriptor at <spanx style="verb">agent.json</spanx> for the specified path</t>
  <t>Use the <spanx style="verb">transport</spanx> or <spanx style="verb">endpoint</spanx> hints from the descriptor</t>
</list></t>

<t>If nothing is found, clients MAY fall back to:</t>

<t><list style="symbols">
  <t><spanx style="verb">HTTPS</spanx> (default transport protocol)</t>
  <t>HTTP <spanx style="verb">POST</spanx> if payload present, otherwise <spanx style="verb">GET</spanx></t>
</list></t>

<ul empty="true"><li>
  <t>Note: This fallback behavior is provided for convenience and basic interoperability, but production systems SHOULD prefer explicit transport bindings or resolver-based discovery for robustness and clarity.</t>
</li></ul>

<t>Clients SHOULD prefer explicit transport bindings (agent+https://) where available, and fall back to resolution-based discovery (agent://) when agent transport metadata is reliably available. Explicit binding reduces resolution ambiguity and improves latency.</t>

</section>
<section anchor="usecases-and-recommendations"><name>Use Cases and Recommended Bindings</name>

<t>The following table outlines some use cases and recommended bindings</t>

<texttable title="Recommended Bindings for Common Use Cases" anchor="tab-use-cases">
      <ttcol align='left'>Use Case</ttcol>
      <ttcol align='left'>Recommended Binding</ttcol>
      <c>Agent with known HTTPS endpoint</c>
      <c><spanx style="verb">agent+https://</spanx></c>
      <c>Local runtime agent</c>
      <c><spanx style="verb">agent+local://</spanx></c>
      <c>Dynamic/multi-transport agents</c>
      <c><spanx style="verb">agent://</spanx> with agent.json</c>
      <c>Inter-agent calls within a known context</c>
      <c><spanx style="verb">agent://</spanx> or agent+matrix://</c>
</texttable>

</section>
</section>
<section anchor="capability-framework"><name>Capability Framework</name>

<t>Agents SHOULD expose a descriptor document at:</t>

<figure><sourcecode type="txt"><![CDATA[
<agent-base-path>/agent.json

]]></sourcecode></figure>

<t>This descriptor MAY follow:</t>

<t><list style="symbols">
  <t>The AgentCard structure (as defined by Google's Agent2Agent protocol as of April 2025), or another equivalent format</t>
  <t>Any format other than AgentCard SHOULD be expressed in <xref target="JSON-LD11"></xref> to enable semantic discovery</t>
</list></t>

<t>Agent descriptors SHOULD include:</t>

<t><list style="symbols">
  <t>Agent name and version
  <list style="symbols">
      <t>MAY include <spanx style="verb">supportedVersions</spanx> indicating the list of older versions and their end-points.</t>
      <t>Versioning should follow <xref target="SemVer"></xref> or later</t>
      <t>Clients SHOULD verify compatibility based on documented major, minor, and patch versions</t>
    </list></t>
  <t>Human-readable description</t>
  <t>Input/output schemas (e.g., JSON Schema)</t>
  <t>Capability list with IDs, descriptions, tags, version</t>
  <t>Optional behavioral metadata (e.g., <spanx style="verb">isDeterministic</spanx>, <spanx style="verb">expectedOutputVariability</spanx>, <spanx style="verb">requiresContext: boolean</spanx>, <spanx style="verb">memoryEnabled: boolean</spanx>, <spanx style="verb">responseLatency: "low" | "medium" | "high"</spanx>, <spanx style="verb">confidenceEstimation: boolean</spanx>)
  <list style="symbols">
      <t><spanx style="verb">isDeterministic</spanx> (boolean): Indicates whether repeated calls with identical inputs yield identical outputs.</t>
      <t><spanx style="verb">expectedOutputVariability</spanx>: indicates typical variability in outputs, similar to temperature setting</t>
      <t><spanx style="verb">responseLatency</spanx>: Expected response time.</t>
      <t><spanx style="verb">requiresContext</spanx> (boolean): Indicates whether the input needs context or the agent can work on its own</t>
      <t><spanx style="verb">memoryEnabled</spanx> (boolean): Indicates whether the agent will remember the interactions</t>
    </list></t>
  <t>Optional transport or invocation hints</t>
  <t>Optional authentication or permission requirements</t>
  <t>Optional state management practices</t>
  <t>Optional <spanx style="verb">interactionModel</spanx> to indicate a way to interact (e.g. <spanx style="verb">agent2agent</spanx>, <spanx style="verb">fipa-acl</spanx>, <spanx style="verb">kqml</spanx>, <spanx style="verb">contract-net</spanx>, <spanx style="verb">emergent</spanx> etc). If mentioned, the message payload SHOULD follow the model's defined parameters if any.</t>
</list></t>

<t>Agents MAY expose <spanx style="verb">inputFormats</spanx> and <spanx style="verb">outputFormats</spanx> per capability using standard MIME types (e.g., <spanx style="verb">application/json</spanx>, <spanx style="verb">application/ld+json</spanx>, <spanx style="verb">application/fipa-acl</spanx>).</t>

<t>Agent descriptors SHOULD include input/output schemas (e.g., JSON Schema) and MAY document content negotiation support via the <spanx style="verb">contentTypes</spanx> field per capability. This allows clients to understand and negotiate payload encoding, enabling interoperability across ecosystems that use JSON, <xref target="JSON-LD11"></xref>, RDF/XML, <xref target="FIPA-ACL"></xref>, or other formats.</t>

<t>Clients MAY use standard negotiation mechanisms such as <spanx style="verb">Content-Type</spanx> and Accept headers (in HTTP), or envelope metadata (in protocols like <xref target="JSON-RPC"></xref>, <xref target="Matrix"></xref>, etc.).</t>

<t>Implementations MAY advertise protocol compatility via metadata fields such as <spanx style="verb">interactionModel</spanx>, <spanx style="verb">orchestration</spanx>, or supported <spanx style="verb">envelopeSchemas</spanx> etc. These metadata fields enable clients and agent runtimes to interoperate across heterogeneous ecosystems and communication models.</t>

<t>This extensibility ensures <spanx style="verb">agent://</spanx> can serve as a unifying addressing and invocation layer, bridging agents that follow established standards, platform-specific conventions, or learned behaviors in dynamic environments.</t>

<t>If an <spanx style="verb">agent.json</spanx> is provided, it SHOULD contain at least: <spanx style="verb">name</spanx>, <spanx style="verb">version</spanx>, and one or more capabilities.</t>

<t>Clients SHOULD explicitly specify the agent version either as a URI path segment, query parameter (<spanx style="verb">?version=3.1.4</spanx>), or HTTP header (<spanx style="verb">X-Agent-Version</spanx>). If omitted, servers SHOULD assume the latest version. Agents MUST document their preferred method for version negotiation clearly in their descriptor. Major version increments indicate breaking changes; clients default only within same major.</t>

<t>While <spanx style="verb">.well-known/agents.json</spanx> MAY be used to enumerate all available agents under a domain, the individual <spanx style="verb">agent.json</spanx> files serve as the canonical source of truth.</t>

<t>All published descriptors MUST use media type application/agent+json (or JSON-LD profile).</t>

<t>Expressing descriptors in <xref target="JSON-LD11"></xref> enables semantic interoperability and supports alignment with common web-based data models.</t>

<t>Implementers MAY choose to embed, proxy, or map to other protocols within the <spanx style="verb">agent.json</spanx> descriptor or transport bindings, allowing for seamless orchestration and hybrid deployments.</t>

</section>
<section anchor="interaction-patterns-interaction-patterns"><name>Interaction Patterns        {# interaction-patterns}</name>

<t>Supported interaction types include:</t>

<t><list style="symbols">
  <t>Request/Response (synchronous)</t>
  <t>Deferred response (polling or webhook) SHOULD include a <spanx style="verb">taskId</spanx> and polling interval hint.</t>
  <t>Streaming responses (e.g., Server-Sent Events, WebSocket). Streaming responses over <spanx style="verb">agent+wss://</spanx> SHOULD use newline-delimited JSON (NDJSON)</t>
  <t>Delegated invocation (calling other agents on behalf of user)</t>
  <t>Asynchronous event notifications via HTTP webhooks or WebSockets. Event notifications if available SHOULD include event types, payloads, and identifiers.</t>
</list></t>

<t>All interaction patterns (e.g., streaming, event-driven, polling) are transport-agnostic but MAY impose format constraints (e.g., NDJSON over WebSockets).</t>

<t>Agents SHOULD include <spanx style="verb">traceparent</spanx> or <spanx style="verb">X-Task-ID</spanx> headers to correlate multi-agent workflows.</t>

<t>Agents SHOULD include status and confidence metadata in responses where applicable.</t>

<section anchor="stateful-interactions-stateful-interactions"><name>Stateful Interactions        {# stateful-interactions}</name>

<t>The <spanx style="verb">agent://</spanx> protocol leverages HTTP's established mechanisms for state management. Clients and agents SHOULD use standard HTTP headers or query parameters to pass identifiers such as <spanx style="verb">sessionId</spanx> or <spanx style="verb">taskId</spanx>. Agents MAY maintain state across interactions using these identifiers. Clients and agents SHOULD agree on session semantics via capability descriptors or invocation headers.</t>

<t>Non-HTTP transports SHOULD include session or task identifiers within message envelopes (e.g., JSON-RPC headers, WebSocket message metadata, Matrix events). These fields SHOULD follow naming conventions similar to <spanx style="verb">sessionId</spanx>, <spanx style="verb">taskId</spanx>, etc.</t>

<t>When the transport lacks a native header mechanism, agents SHOULD extract session information from the body or envelope metadata.</t>

<t>When content negotiation fails or the requested format is not supported, agents SHOULD respond with a <spanx style="verb">406 Not Acceptable</spanx> HTTP error or equivalent, and MAY include supported formats in the response metadata.</t>

<section anchor="recommended-practices"><name>Recommended practices:</name>

<t><list style="symbols">
  <t>Use HTTP headers (e.g., <spanx style="verb">X-Session-ID</spanx>, <spanx style="verb">X-Task-ID</spanx>) or query parameters for session and task identifiers.</t>
  <t>Clearly document state identifiers and their expected lifecycle in the agent's descriptor (agent.json).</t>
</list></t>

<t><strong>Example</strong>:</t>

<figure><sourcecode type="http"><![CDATA[
GET /tasks/1234 HTTP/1.1
Host: planner.example.com
X-Session-ID: abcde-12345

]]></sourcecode></figure>

</section>
</section>
<section anchor="orchestration-patterns"><name>Orchestration Patterns</name>

<t>Agents MAY invoke other agents as part of delegated or composite tasks. Agents SHOULD explicitly provide orchestration workflows, delegation chains, or composite interactions either in their <spanx style="verb">agent.json</spanx> or in their response metadata.</t>

</section>
<section anchor="typical-interaction-flows"><name>Typical Interaction Flows</name>

<section anchor="client-agent-interaction"><name>Client-to-Agent Interaction</name>

<t>A typical user-driven invocation of an agent using the <spanx style="verb">agent://</spanx> protocol follows these steps:</t>

<figure title="Client-to-Agent Interaction Flow" anchor="fig-client-interaction"><sourcecode type="art"><![CDATA[
+--------+       +-----------+       +-------------+
|  User  |  -->  |  Client   |  -->  |  Agent Host |
+--------+       +-----------+       +-------------+
     |                |                    |
     | Initiates      |                    |
     | intent (e.g.,  |                    |
     | "Plan my trip")|                    |
     |                |                    |
     |                | Resolves agent URI |
     |                | --> agents.json / agent.json
     |                | Retrieves capabilities
     |                |                    |
     |                | Constructs request |
     |                | --> agent://plan.example.com/gen-iti?city=Rio
     |                |                    |
     |                |                    | Validate input
     |                |                    | Process logic/call tools
     |                |                    | May call sub-agents
     |                |                    |
     |                | Receives response  |
     |                | <== itinerary JSON |
     | Presents result to user             |

]]></sourcecode></figure>

<t><strong>Notes</strong>:</t>

<t><list style="symbols">
  <t>The client MAY handle fallback logic if the agent cannot be resolved initially.</t>
  <t>Authentication MAY be required before invocation.</t>
  <t>The invocation can be a simple GET or POST depending on input size and structure.</t>
</list></t>

</section>
<section anchor="agent-to-agent-interaction"><name>Agent-to-Agent Interaction</name>

<t>Agents MAY interact with each other using <spanx style="verb">agent://</spanx> URIs to delegate tasks or compose workflows.</t>

<t><strong>Example: A planning agent invoking a translation agent</strong>:</t>

<figure title="Agent-to-Agent Interaction Flow" anchor="fig-agent-interaction"><sourcecode type="art"><![CDATA[
+----------+       +----------+       +------------+
|Planning  |------>|Resolver/ |------>|Translation |
|Agent     |       |URI       |       |Agent       |
+----------+       +----------+       +------------+
     |                  |                   |
     | Input:           |                   |
     | {"city":"Paris"} |                   |
     |                  |                   |
     | Needs translation|                   |
     |                  |                   |
     |                  | Resolves URI:     |
     |--agent://translator.example/translate?text=Bonjour-->|
     |                  |                   |
     |                  | --> Get           |
     |                  |     agent.json    |
     |                  | --> Determine     |
     |                  |     transport     |
     |                  |                   |
     |                  |                   | Process translation
     |                  |                   | Return translated JSON
     |<-----------------|<------------------|
     | Merge & return   |                   |
     | to user/client   |                   |
     | or continues     |                   |
]]></sourcecode></figure>

<t><strong>Chaining Behavior</strong>:</t>

<t><list style="symbols">
  <t>The invoking agent MAY include <spanx style="verb">X-Task-ID</spanx>, <spanx style="verb">X-Delegation-Chain</spanx>, or equivalent headers.</t>
  <t>The response MAY include intermediate metadata such as <spanx style="verb">confidence</spanx>, <spanx style="verb">sourceAgent</spanx>, <spanx style="verb">taskTrace</spanx>, or <spanx style="verb">timeTaken</spanx>.</t>
</list></t>

</section>
</section>
</section>
<section anchor="error-handling-error-handling"><name>Error Handling        {# error-handling}</name>

<t>The <spanx style="verb">agent://</spanx> protocol MAY leverage HTTP standard status codes for signaling errors. Implementations MAY return errors using standard HTTP status codes along with structured JSON error responses conforming to <xref target="RFC9457"></xref> ("Problem Details for HTTP APIs").</t>

<t>**Recommended HTTP status codes include (but are not limited to)</t>

<texttable title="Recommended HTTP status codes" anchor="tab-http-status-codes">
      <ttcol align='left'>Status Code</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <c>400</c>
      <c>Bad Request (e.g., invalid parameters)</c>
      <c>401</c>
      <c>Unauthorized</c>
      <c>403</c>
      <c>Forbidden</c>
      <c>404</c>
      <c>Capability or resource not found</c>
      <c>409</c>
      <c>Conflict (e.g., state mismatch)</c>
      <c>429</c>
      <c>Too Many Requests (rate limiting)</c>
      <c>500</c>
      <c>Internal Server Error</c>
      <c>503</c>
      <c>Service Unavailable</c>
</texttable>

<t>Example:</t>

<figure><sourcecode type="http"><![CDATA[
HTTP/1.1 404 Not Found
Content-Type: application/problem+json

{
  "type": "https://example.com/errors/capability-not-found",
  "title": "Capability Not Found",
  "status": 404,
  "detail": "The requested capability 'gen-iti' was not found.",
  "instance": "/planner/gen-iti"
}
{: #fig-error-response title="Example HTTP Error Response"}

]]></sourcecode></figure>

<t>This format is not prescriptive but aims to encourage consistency. Implementations MAY adapt the error schema based on their transport layer (e.g., JSON-RPC, HTTP status + body, WebSocket messages).</t>

<t>For non-HTTP transports (e.g., WebSockets, Matrix), agents SHOULD still return structured errors using similar JSON structures (<spanx style="verb">type</spanx>, <spanx style="verb">title</spanx>, <spanx style="verb">detail</spanx>, <spanx style="verb">status</spanx>), encapsulated within the transport's native message envelope (e.g., JSON-RPC <spanx style="verb">error</spanx> objects, Matrix event content fields). Implementers SHOULD document chosen structures clearly in their capability descriptors.</t>

<t>Where applicable, implementations SHOULD align with existing conventions such as:</t>

<t><list style="symbols">
  <t>JSON-RPC <spanx style="verb">error</spanx> objects (<spanx style="verb">code</spanx>, <spanx style="verb">message</spanx>, <spanx style="verb">data</spanx>)</t>
  <t><xref target="OpenAPI"></xref> or REST error payloads</t>
  <t><xref target="GraphQL"></xref> <spanx style="verb">errors</spanx> array format</t>
</list></t>

<t>Recommended error categories:</t>

<t><list style="symbols">
  <t><spanx style="verb">CapabilityNotFound</spanx></t>
  <t><spanx style="verb">InvalidInput</spanx></t>
  <t><spanx style="verb">AmbiguousResponse</spanx></t>
  <t><spanx style="verb">Timeout</spanx></t>
  <t><spanx style="verb">PermissionDenied</spanx></t>
</list></t>

<t>Clients SHOULD parse and utilize these structured responses to handle errors gracefully.</t>

</section>
<section anchor="security-and-privacy"><name>Security and Privacy Considerations</name>

<t>The <spanx style="verb">agent://</spanx> protocol explicitly relies on widely-adopted HTTP authentication and authorization standards. Agents SHOULD support standard authentication and authorization schemes such as OAuth2 (Bearer tokens), API keys, or signed payloads. When using HTTPS, mutual TLS MAY be employed. JSON Web Tokens (JWT) are RECOMMENDED for conveying signed claims between agents. For <spanx style="verb">agent+local://</spanx>, browsers and runtimes MUST enforce same-origin policy, token handshake, and user mediation before invoking a local agent.</t>

<t>Security extensions MAY include:</t>

<t><list style="symbols">
  <t><xref target="RFC6750">OAuth2</xref> Bearer Tokens</t>
  <t>JSON Web Tokens (<xref target="RFC7519">JWT</xref>)</t>
  <t>Mutual TLS (<xref target="RFC8705">mTLS</xref>) authentication</t>
  <t>API Keys via HTTP headers (e.g., <spanx style="verb">X-API-Key</spanx>)</t>
  <t>Capability-based access control</t>
  <t>Delegation chains</t>
</list></t>

<t>For non-HTTP transports (e.g., WebSocket, Matrix), agents SHOULD leverage native authentication mechanisms, such as WebSocket protocol-level authentication tokens or Matrix homeserver authentication flows. Agents MUST clearly document supported security mechanisms per transport binding.</t>

<t>If OAuth 2.0 is used, authorization flows MUST conform to <xref target="RFC6749"></xref>; bearer usage per <xref target="RFC6750"></xref>.</t>

<t>When using <xref target="DID-CORE">Decentralized Identifiers</xref> as authority, agent descriptors MAY be cryptographically signed. Clients SHOULD verify such signatures against the corresponding DID Document.</t>

<t>For agent-to-agent delegation, agents SHOULD include delegation metadata (e.g., <spanx style="verb">X-Delegation-Chain</spanx>) that identifies prior actors. These chains SHOULD be signed or verifiable via claims (e.g., using JWT, Verifiable Credentials, or DID-linked proofs).</t>

<t>Resolvers SHOULD use HTTPS with certificate validation and SHOULD validate integrity using ETag/Last-Modified for caching; if signature metadata is present, SHOULD verify signature per the descriptor's signature scheme.</t>

<t>Agents MUST minimize data retention and expose revoke/delete interfaces for user data.</t>

<t>Privacy recommendations:</t>

<t>Agents SHOULD adhere to privacy best practices, including:</t>

<t><list style="symbols">
  <t>Data minimization (collect only necessary data)</t>
  <t>Explicit consent and revocation mechanisms</t>
  <t>Clear logging/audit trails</t>
  <t>Ethical AI guidelines, including bias detection and fairness assessments as they evolve</t>
</list></t>

<section anchor="compliance-and-regulatory-considerations"><name>Compliance and Regulatory Considerations</name>

<t>Implementers SHOULD ensure compliance with relevant legal frameworks (e.g., GDPR, CCPA) of the jurisdictions where the agent is hosted. Agents processing sensitive data SHOULD provide audit trails and explicit consent mechanisms clearly documented in capability descriptors.</t>

</section>
</section>
<section anchor="extensibility"><name>Extensibility</name>

<t>The protocol supports extension via:</t>

<t><list style="symbols">
  <t>Namespaced capability vocabularies</t>
  <t>Alternate transport bindings</t>
  <t>Extended agent descriptors</t>
  <t>Optional orchestration layers (task graphs, workflows)</t>
</list></t>

<t>Extension proposals SHOULD be documented clearly, and ideally reviewed through established processes such as community forums, dedicated working groups, or public registries to ensure transparency and interoperability.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests the registration of the <spanx style="verb">agent</spanx> URI scheme in the IANA "Uniform Resource Identifier (URI) Schemes" registry.</t>

<section anchor="uri-schem-registration-template"><name>URI Scheme Registration Template</name>

<t><list style="symbols">
  <t><strong>Scheme Name</strong>: <spanx style="verb">agent</spanx></t>
  <t><strong>Status</strong>: Provisional</t>
  <t><strong>Applications/Protocols That Use This Scheme</strong>:
The <spanx style="verb">agent</spanx> URI scheme identifies and invokes autonomous or semi-autonomous software agents across systems. It provides transport-agnostic addressing layer supporting discovery, invocation and orchestration. The scheme is compatible with existing schemes such as <spanx style="verb">https</spanx>, <spanx style="verb">did</spanx> and <spanx style="verb">web+</spanx> schemes where appropriate.</t>
  <t><strong>Contact</strong>:
Yaswanth Narvaneni
&lt;yaswanth+ietf@gmail.com&gt;</t>
  <t><strong>Change Controller</strong>:
The author or a relevant standards body such as the IETF if adopted.</t>
  <t><strong>References</strong>:
This document (Internet-Draft): <em>agent:// Protocol -- A URI-Based Framework for Interoperable Agents</em>
<xref target="RFC3986"></xref> - Uniform Resource Identifier (URI): Generic Syntax
<xref target="RFC7595"></xref> - Guidelines and Registration Procedures for URI Schemes</t>
  <t><strong>URI Syntax</strong>:
The general form of an <spanx style="verb">agent</spanx> URI is:</t>
  <t><strong>Related Registrations:</strong>  <list style="symbols">
      <t>Well-Known URIs (Section 12.2): <spanx style="verb">/.well-known/agent.json</spanx>, <spanx style="verb">/.well-known/agents.json</spanx></t>
      <t>Media Type (Section 12.3): <spanx style="verb">application/agent+json</spanx></t>
    </list></t>
</list></t>

<figure><sourcecode type="txt"><![CDATA[
agent:[+<protocol>]://<authority>/<path>[?<query>][#<fragment>]

]]></sourcecode></figure>

<t>Where:
- <spanx style="verb">authority</spanx> is typically a domain name or Decentralized Identifier (DID)
- <spanx style="verb">path</spanx> is an opaque agent-specific capability or namespace
- <spanx style="verb">query</spanx> includes serialized key-value parameters
- <spanx style="verb">fragment</spanx> MAY reference a sub-capability or context
- The optional <spanx style="verb">+&lt;protocol&gt;</spanx> segment indicates an explicit transport binding (e.g., <spanx style="verb">agent+https://</spanx>)</t>

<t>Detailed ABNF is specified in <xref target="uri-abnf"></xref> of this document.</t>

<t><list style="symbols">
  <t><strong>Security Considerations</strong>:
The <spanx style="verb">agent</spanx> scheme does not introduce new transport-layer vulnerabilities but inherits risks from underlying protocols such as HTTP, WebSocket, or local execution environments. Implementers should apply standard authentication and authorization measures, such as OAuth2, JWTs, or mutual TLS. See Section 10 for security and privacy guidance.</t>
</list></t>

</section>
<section anchor="iana-well-known"><name>Well-Known URI Registrations</name>

<t>This document registers the following Well-Known URIs under the "Well-Known URIs" registry established by RFC 8615:</t>

<t><list style="numbers" type="1">
  <t><strong>Name:</strong> agent.json<br />
<strong>Purpose:</strong> Provides the self-describing metadata document (<spanx style="verb">agent.json</spanx>) for a single network-addressable agent.<br />
<strong>Expected Content:</strong> JSON object conforming to <spanx style="verb">application/agent+json</spanx>.<br />
<strong>Reference:</strong> This document.<br />
<strong>Security Considerations:</strong> Accessible only via HTTPS. Agents SHOULD sign or ETag-pin the descriptor.</t>
  <t><strong>Name:</strong> agents.json<br />
<strong>Purpose:</strong> Provides a registry mapping of agent names to descriptor URLs for multi-agent domains.<br />
<strong>Expected Content:</strong> JSON object mapping agent identifiers to <spanx style="verb">agent.json</spanx> URLs.<br />
<strong>Reference:</strong> This document.<br />
<strong>Security Considerations:</strong> Same as above.</t>
</list></t>

</section>
<section anchor="iana-mediatype"><name>Media Type Registration for application/agent+json</name>

<t>Type name: application<br />
Subtype name: agent+json<br />
Required parameters: none<br />
Optional parameters: profile (for JSON-LD contexts)<br />
Encoding considerations: 8bit; uses UTF-8 encoded JSON<br />
Security considerations: Carries metadata that can affect network routing and authorization; publishers SHOULD serve only over HTTPS and validate signatures or ETags.<br />
Interoperability considerations: Compatible with JSON-LD 1.1 and plain JSON processors.<br />
Published specification: This document<br />
Applications that use this media type: Agent resolvers and runtimes using the <spanx style="verb">agent://</spanx> protocol.<br />
Additional information: None<br />
Person &amp; email address to contact for further information: Yaswanth Narvaneni &lt;yaswanth+ietf@gmail.com&gt;<br />
Intended usage: COMMON<br />
Author/Change controller: IETF if standardized; author for independent submissions.</t>

<t>The <spanx style="verb">profile</spanx> parameter usage follows the concept in <xref target="RFC6906">RFC 6906</xref> (Profiles), and media type registration procedures follow <xref target="RFC6838">RFC 6838</xref>.</t>

</section>
</section>
<section anchor="example-agent-descriptor"><name>Appendix A. Example Agent Descriptor</name>

<t>Following is an example of <spanx style="verb">agent.json</spanx>.</t>

<figure title="Example Agent Descriptor in JSON-LD" anchor="fig-agent-descriptor"><sourcecode type="json-ld"><![CDATA[
{
  "@context": "https://example.org/agent-context.jsonld",
  "name": "planner.example.com",
  "description": "Agent helps in researching & planning itineraries",
  "url": "agent://planner.example.com/",
  "provider": {
    "organization": "Example AI Org"
  },
  "documentationUrl": "https://planner.example.com/docs",
  "interactionModel": "agent2agent",
  "orchestration": "delegation",
  "envelopeSchemas": ["fipa-acl"],
  "version": "3.1.4",
  "supportedVersions": {
    "3.0.0": "/v3/",
    "2.1.2": "/olderversion/v2.1.2/",
    "1.0": "/version-1/"
  },
  "capabilities": [
    {
      "name": "gen-iti",
      "version": "2.1.5",
      "description": "Creates a travel itinerary for a given city.",
      "input": { "city": "string" },
      "output": { "itinerary": "array" },
      "isDeterministic": false,
      "expectedOutputVariability": "medium",
      "contentTypes": {
        "inputFormat": ["application/json", "application/ld+json"],
        "outputFormat": ["application/json"]
      }
    }
  ],
  "authentication": {
    "schemes": ["OAuth2"]
  },
  "skills": [
    {
        "id": "agent-skill-1",
        "name": "research-location"
    }
  ]
}

]]></sourcecode></figure>

<t>A JSON-LD context is added to support semantic querying and graph-based processing.</t>

</section>
<section anchor="use-cases"><name>Appendix B. Use Cases</name>

<t><list style="symbols">
  <t>Composing workflows with agents from different vendors</t>
  <t>Enabling discovery and invocation in agent marketplaces</t>
  <t>Facilitating human-in-the-loop workflows with agent transparency</t>
  <t>Building knowledge-based agents that invoke retrieval agents</t>
  <t>Real-time collaboration among specialized agents</t>
  <t>Browser-to-local-agent delegation for privileged operations and desktop automation</t>
  <t>Consistent addressing for agents across network boundaries and security contexts</t>
</list></t>

</section>
<section anchor="reference-implementation"><name>Appendix C. Reference Implementation</name>

<t>A reference implementation of the <spanx style="verb">agent://</spanx> protocol is available to guide implementers, demonstrating the following functionalities:</t>

<t><list style="symbols">
  <t>URI parsing and resolution (<spanx style="verb">agent.json</spanx>, <spanx style="verb">.well-known</spanx> endpoints)</t>
  <t>Transport bindings including HTTPS, WebSocket, Matrix, and Local IPC</t>
  <t>Capability descriptor discovery, caching, and semantic processing</t>
  <t>Orchestration and delegation chaining examples</t>
  <t>Error handling, payload negotiation, and versioning patterns</t>
  <t>Security examples covering OAuth2, JWT, and mutual TLS (mTLS)</t>
</list></t>

<t>The implementation is open-source and maintained at:</t>

<t><xref target="AGENT-URI-REPO"></xref></t>

<t>Implementers are encouraged to use this as a starting point or reference during their implementation efforts.</t>

</section>
<section numbered="false" anchor="acknowledgements"><name>Acknowledgements</name>

<t>This draft reflects observations and aspirations drawn from emerging agent ecosystems. It builds on publicly available research, community discussions, and early experimentation with agent-oriented protocols. It is intended as a foundation for future refinement and collaboration.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC3986">
  <front>
    <title>Uniform Resource Identifier (URI): Generic Syntax</title>
    <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
    <author fullname="R. Fielding" initials="R." surname="Fielding"/>
    <author fullname="L. Masinter" initials="L." surname="Masinter"/>
    <date month="January" year="2005"/>
    <abstract>
      <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="66"/>
  <seriesInfo name="RFC" value="3986"/>
  <seriesInfo name="DOI" value="10.17487/RFC3986"/>
</reference>

<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC6570">
  <front>
    <title>URI Template</title>
    <author fullname="J. Gregorio" initials="J." surname="Gregorio"/>
    <author fullname="R. Fielding" initials="R." surname="Fielding"/>
    <author fullname="M. Hadley" initials="M." surname="Hadley"/>
    <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
    <author fullname="D. Orchard" initials="D." surname="Orchard"/>
    <date month="March" year="2012"/>
    <abstract>
      <t>A URI Template is a compact sequence of characters for describing a range of Uniform Resource Identifiers through variable expansion. This specification defines the URI Template syntax and the process for expanding a URI Template into a URI reference, along with guidelines for the use of URI Templates on the Internet. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6570"/>
  <seriesInfo name="DOI" value="10.17487/RFC6570"/>
</reference>

<reference anchor="RFC9110">
  <front>
    <title>HTTP Semantics</title>
    <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
    <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
    <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
    <date month="June" year="2022"/>
    <abstract>
      <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
      <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="97"/>
  <seriesInfo name="RFC" value="9110"/>
  <seriesInfo name="DOI" value="10.17487/RFC9110"/>
</reference>

<reference anchor="RFC6750">
  <front>
    <title>The OAuth 2.0 Authorization Framework: Bearer Token Usage</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="D. Hardt" initials="D." surname="Hardt"/>
    <date month="October" year="2012"/>
    <abstract>
      <t>This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a "bearer") can use it to get access to the associated resources (without demonstrating possession of a cryptographic key). To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6750"/>
  <seriesInfo name="DOI" value="10.17487/RFC6750"/>
</reference>

<reference anchor="RFC6749">
  <front>
    <title>The OAuth 2.0 Authorization Framework</title>
    <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
    <date month="October" year="2012"/>
    <abstract>
      <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6749"/>
  <seriesInfo name="DOI" value="10.17487/RFC6749"/>
</reference>

<reference anchor="RFC7519">
  <front>
    <title>JSON Web Token (JWT)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
    <date month="May" year="2015"/>
    <abstract>
      <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7519"/>
  <seriesInfo name="DOI" value="10.17487/RFC7519"/>
</reference>

<reference anchor="RFC9457">
  <front>
    <title>Problem Details for HTTP APIs</title>
    <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
    <author fullname="E. Wilde" initials="E." surname="Wilde"/>
    <author fullname="S. Dalal" initials="S." surname="Dalal"/>
    <date month="July" year="2023"/>
    <abstract>
      <t>This document defines a "problem detail" to carry machine-readable details of errors in HTTP response content to avoid the need to define new error response formats for HTTP APIs.</t>
      <t>This document obsoletes RFC 7807.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9457"/>
  <seriesInfo name="DOI" value="10.17487/RFC9457"/>
</reference>

<reference anchor="RFC8705">
  <front>
    <title>OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens</title>
    <author fullname="B. Campbell" initials="B." surname="Campbell"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
    <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
    <date month="February" year="2020"/>
    <abstract>
      <t>This document describes OAuth client authentication and certificate-bound access and refresh tokens using mutual Transport Layer Security (TLS) authentication with X.509 certificates. OAuth clients are provided a mechanism for authentication to the authorization server using mutual TLS, based on either self-signed certificates or public key infrastructure (PKI). OAuth authorization servers are provided a mechanism for binding access tokens to a client's mutual-TLS certificate, and OAuth protected resources are provided a method for ensuring that such an access token presented to it was issued to the client presenting the token.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8705"/>
  <seriesInfo name="DOI" value="10.17487/RFC8705"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

<reference anchor="RFC7595">
  <front>
    <title>Guidelines and Registration Procedures for URI Schemes</title>
    <author fullname="D. Thaler" initials="D." role="editor" surname="Thaler"/>
    <author fullname="T. Hansen" initials="T." surname="Hansen"/>
    <author fullname="T. Hardie" initials="T." surname="Hardie"/>
    <date month="June" year="2015"/>
    <abstract>
      <t>This document updates the guidelines and recommendations, as well as the IANA registration processes, for the definition of Uniform Resource Identifier (URI) schemes. It obsoletes RFC 4395.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="35"/>
  <seriesInfo name="RFC" value="7595"/>
  <seriesInfo name="DOI" value="10.17487/RFC7595"/>
</reference>


<reference anchor="JSON-LD11" target="https://www.w3.org/TR/json-ld11/">
  <front>
    <title>JSON-LD 1.1: A JSON-based Serialization for Linked Data</title>
    <author initials="M." surname="Sporny">
      <organization></organization>
    </author>
    <author initials="D." surname="Longley">
      <organization></organization>
    </author>
    <author initials="G." surname="Kellogg">
      <organization></organization>
    </author>
    <author initials="M." surname="Lanthaler">
      <organization></organization>
    </author>
    <author initials="P." surname="Champin">
      <organization></organization>
    </author>
    <author initials="N." surname="Lindstrom">
      <organization></organization>
    </author>
    <date year="2020" month="July"/>
  </front>
  <seriesInfo name="W3C" value="Recommendation"/>
</reference>
<reference anchor="DID-CORE" target="https://www.w3.org/TR/did-core/">
  <front>
    <title>Decentralized Identifiers (DIDs) v1.0</title>
    <author initials="M." surname="Sporny">
      <organization></organization>
    </author>
    <author initials="D." surname="Longley">
      <organization></organization>
    </author>
    <author initials="M." surname="Sabadello">
      <organization></organization>
    </author>
    <author initials="D." surname="Reed">
      <organization></organization>
    </author>
    <author initials="O." surname="Steele">
      <organization></organization>
    </author>
    <author initials="C." surname="Allen">
      <organization></organization>
    </author>
    <date year="2022" month="July"/>
  </front>
  <seriesInfo name="W3C" value="Recommendation"/>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC6906">
  <front>
    <title>The 'profile' Link Relation Type</title>
    <author fullname="E. Wilde" initials="E." surname="Wilde"/>
    <date month="March" year="2013"/>
    <abstract>
      <t>This specification defines the 'profile' link relation type that allows resource representations to indicate that they are following one or more profiles. A profile is defined not to alter the semantics of the resource representation itself, but to allow clients to learn about additional semantics (constraints, conventions, extensions) that are associated with the resource representation, in addition to those defined by the media type and possibly other mechanisms.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6906"/>
  <seriesInfo name="DOI" value="10.17487/RFC6906"/>
</reference>

<reference anchor="RFC6838">
  <front>
    <title>Media Type Specifications and Registration Procedures</title>
    <author fullname="N. Freed" initials="N." surname="Freed"/>
    <author fullname="J. Klensin" initials="J." surname="Klensin"/>
    <author fullname="T. Hansen" initials="T." surname="Hansen"/>
    <date month="January" year="2013"/>
    <abstract>
      <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="13"/>
  <seriesInfo name="RFC" value="6838"/>
  <seriesInfo name="DOI" value="10.17487/RFC6838"/>
</reference>


<reference anchor="SemVer" target="https://semver.org/">
  <front>
    <title>Semantic Versioning 2.0.0</title>
    <author initials="T." surname="Preston-Werner">
      <organization></organization>
    </author>
    <date year="2013"/>
  </front>
</reference>
<reference anchor="Agent2Agent" target="https://github.com/google/A2A">
  <front>
    <title>Agent2Agent Protocol</title>
    <author initials="" surname="Google LLC">
      <organization></organization>
    </author>
    <date year="2025" month="April"/>
  </front>
</reference>
<reference anchor="AgentCard" target="https://github.com/google/A2A/blob/main/specification/json/a2a.json">
  <front>
    <title>Agent Card Schema from Agent2Agent Protocol</title>
    <author initials="" surname="Google LLC">
      <organization></organization>
    </author>
    <date year="2025" month="April"/>
  </front>
</reference>
<reference anchor="MCP" target="https://modelcontextprotocol.io/specification/">
  <front>
    <title>Model Context Protocol (MCP)</title>
    <author initials="" surname="Anthropic PBC">
      <organization></organization>
    </author>
    <date year="2025" month="March"/>
  </front>
</reference>
<reference anchor="LangChain" target="https://python.langchain.com/v0.3/docs/">
  <front>
    <title>LangChain Documentation</title>
    <author initials="" surname="LangChain Team">
      <organization></organization>
    </author>
    <date year="2024"/>
  </front>
</reference>
<reference anchor="SemanticKernel" target="https://github.com/microsoft/semantic-kernel">
  <front>
    <title>Semantic Kernel SDK</title>
    <author initials="" surname="Microsoft">
      <organization></organization>
    </author>
    <date year="2024"/>
  </front>
</reference>
<reference anchor="AutoGen" target="https://microsoft.github.io/autogen/">
  <front>
    <title>AutoGen: Enabling LLM Applications with Multi-Agent Conversations</title>
    <author initials="" surname="Microsoft Research">
      <organization></organization>
    </author>
    <date year="2024"/>
  </front>
</reference>
<reference anchor="OpenAPI" target="https://spec.openapis.org/oas/latest.html">
  <front>
    <title>OpenAPI Specification v3.1.0</title>
    <author initials="" surname="OpenAPI Initiative">
      <organization></organization>
    </author>
    <date year="2024" month="October"/>
  </front>
</reference>
<reference anchor="JSON-RPC" target="https://www.jsonrpc.org/specification">
  <front>
    <title>JSON-RPC 2.0 Specification</title>
    <author initials="" surname="JSON-RPC Working Group">
      <organization></organization>
    </author>
    <date year="2013" month="January" day="04"/>
  </front>
</reference>
<reference anchor="Matrix" target="https://spec.matrix.org/">
  <front>
    <title>Matrix Specification v1.14</title>
    <author initials="" surname="The Matrix org Foundation">
      <organization></organization>
    </author>
    <date year="2014"/>
  </front>
</reference>
<reference anchor="GraphQL" target="https://spec.graphql.org/October2021/">
  <front>
    <title>GraphQL: A Query Language for APIs</title>
    <author initials="" surname="GraphQL Foundation">
      <organization></organization>
    </author>
    <date year="2021" month="October"/>
  </front>
</reference>
<reference anchor="FIPA-ACL" target="http://www.fipa.org/specs/fipa00061/SC00061G.html">
  <front>
    <title>FIPA ACL Message Structure Specification</title>
    <author initials="" surname="Foundation for Intelligent Physical Agents">
      <organization></organization>
    </author>
    <date year="2002"/>
  </front>
</reference>
<reference anchor="FIPA-CNP" target="http://www.fipa.org/specs/fipa00029/SC00029H.html">
  <front>
    <title>FIPA Contract Net Interaction Protocol Specification</title>
    <author initials="" surname="Foundation for Intelligent Physical Agents">
      <organization></organization>
    </author>
    <date year="2002"/>
  </front>
</reference>
<reference anchor="AGENT-URI-REPO" target="https://github.com/agent-uri/agent-uri">
  <front>
    <title>Agent URI Protocol Reference Implementation</title>
    <author initials="Y." surname="Narvaneni">
      <organization></organization>
    </author>
    <date year="2025"/>
  </front>
</reference>


    </references>

</references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA819+3PbRtLg76rS/zBH321EmyAl+ZFYsZ2VJdnRF8vWSvJm
UyrXR5AcUliDAAOAkrm292+/fs4MQFJW9nJX50o5NDCYR09Pv7sniqLNjSqp
UrtnWhdX1sQTm1V7vZ45LfIqH+apiSKzb96fHUcv49KOzKsintqbvPhoxnlh
jrPKFvnMFvEgtWYfPy5bmxvxYFDYa+iSuovmRQIPh3FlJ3mx2DP202xzY5QP
30JXe2ZUxOMqyuLiOs5slkTum2h7d3MjmRV7pirmZbW7vf0Un8SFjffM/myW
JtBlkmfl5gZOaFLk89keTGlkZxb+yipzPh9Mk7KENpsbH+0CWo32eM6ZraJD
HHhzo3SNLhYzmE/iO4BZwqT3zO727uNoZzvaebK5AR9UcTb67zjNM3i1sDD8
LNkzlwCujinzoirsuIRfiyn++IBfxPPqKi/2NjcMgNvAnyQr98xvXfNWV82P
MwLIb3F5E2fVVfNtXkziLPkXrbm+zjNb2rgYXtmCW9ppnKQwN+noQWKr8V8n
+LA7zKfcZphUsBVv8myE0KEn+TyrcH/eZ0kFW/1Lkk1G2HxzI8uLKYx7bXEN
5uzVwcOnPzzR37s7O0/195PH32/r76c7O+73k+8fB78fufbfP/bfPn30+Hv9
/cP324/d753vH/n2T/n5f52/exu9OdzZ2ePJKxLLc7PT3QEk4WYDwtxzWyRx
KvAj7H2TZB/hxWFcxS3uxW8U/Yn0h+zYSdecz/IiW6xrcNhFiE5Su7bF6675
xaZpPpncMsgb3LU41e1cbnPaNQdX8XSWZOtavO3i8kZlVeiGO1Tejra/50cl
gMSWSTbO3ZJ/fXiwB/gEaDIF5CJYCYDjYmKrPXNVVbMSKMTNzU335mEXkLJ3
cdb7Z5lnUTra2elh68Pjw+jg3dlRY28O7RCwtcBNALAfI+om48QWpdmCL8q2
ud7pbv8/2wnsIh7EI9yNW3o5s3a07vU76KKyNrXrGhx0zX6a2qyxA7v/F3Zg
lIyiYV7YHp5X7LBxYp883XYn9skPD3+g3+d2+ndb1LcJngH6JUMDb5AqAhUw
u93t7vadNuaiC6zDlhWgw69IZov60ncerl5LaafXtqC1YAPiJLv0d31ywQvH
ou40r9d5Dshg3rw5aOzF42j70eo5TZLqaj5Aitmb0Ne9/d19N7uDGJhJHb95
WvjCnAMxnsZmDKdv5Zxba2fRXMfq6d9prr1Bmg96QPazXjmzQzhrzDDptPbi
3biLP7DDk4PT+lpOcjgX5iAHXvnJz9psQcP2neC9DxQMJANAo9OXK0C+Bg2m
OOyQR53JoN0kb0wfvwUSOQESmGT1ebvH5jAfzuEAVcEB+saU/bcXNm4SzTU4
MltAl1k3hU+H+CntwPV292EP5JuyJ2eMztMveBzSNWeNX5rzw1/uRv6SYZGX
OYovd5llgB1T/RKPHI0dfaSxCbHnVf7aZk20lqfmKAMxD8nBmzcnNQHM3MAA
5mSeVkkkhyDP4DyX/PqOJF1n5sSZuy3OragrywR8gaFymAfB/x1ISfunx41F
yVPgIgFmmeuH3TuzIO3hGKSlhEhtc74gMq6hdjBoF8TmLJ4lJRG9PC57KXxY
Vt2rapo6Cefs9GCVgAOPkSbXZ3+3abvvfwWZGTfzNcrNTSodbe+spYvId5Bw
FLMhzb12OImaxFWRfGrMmx824Q1i2qO7zRu1E+4DBzWvQFgNmaOb+ppJE8in
7nvCjNdFPLv625vGRPUpSI9/m9tiQXRhDloJyYyw43fEZ+ln7Ux3d27Hjwl+
/3tKs303rPKBLfAjmvmr49P9aP+gOXV8bOCxObFliTM+B81pWM0L+59gip+4
0/XSNGE2drUooa9UVL76wlBJa65K0GaczGKHM2UP/7m9vf1kp3d+QP9/7bCf
Vnjw9nTVCpEtFfGwMm9txeoc/AOn6fjU/8+r3X3Kq919+rNb7f7ro7cXEWrZ
Z0en71aKFfDSr+/Mjm1hs6E1x9NZah2fWxIrbpMplvXPW/iG08r9r82NKIpM
PChpM1DsvLhKSjMSxmtGdpxktjQVnNy+Ghb6Rvl6x8S0qMrCEmDCoqaNnYEh
hr5sOSySATwGrgyCq0H9kvYnHo1AzATJedKBd9f5R/oFijn8S20SFZI3Yk3I
D7J8ms9LagKsL4mCZ8g9buJCzB9l1xxX2E2Rj+ZDWEBs0ngB8B4Z5EqgG/OR
AhWtMuV8BnpIVZppkiVTwJGktiGg2viZ0tgArKzET9r0TxB0bFYmaD4Z2xj7
hU+G8SweJClo6GaUlMMcWOmiY4aC9mXH5KjsI9xxjHaXiKPC1cTJFICeA5hK
gEQAD+kynuY4F1qqiZF5lgbUjXIBzafQOe4Gqg8lwxNkMtDYKlBTOsaqBAAo
MctLsvpgGxg2jQd5QWyQRtSzI712ET0QXabJaIT60ubGPTxjBGI6dPDn870k
ePKVMcqaIimtycf1bus7ZjJQLQHGFbJQ2C8y0YAcTormTbxAcCSsby4EX2xH
Zp5Dswy+QzydKjxGCYov1sOia369SlIP5dKkyUdrLn++uDj9sHVPzB1tfH8N
I8Ec3EabqQXZMEvKKWFuiZgxJEbS0emPkjEcaFMmk4zIVlalC0T5gb2Kr5O8
gB2fV7N5Za7jIpF9DLBdyN8srtC0VTI+1I8c7BZBBk9cicoJbxygW57O6WuS
vfHEwSQAagAx3GTGZUDTpKTjRJ3im+k8Uy7uYYJdpsmgiFGrFQgF6g8AKvhX
u2MulZHBG/2Jj2sUXqmetgGugG2cuA7P3W98sVp3gVaovMB7kWdxMvwLH9al
dHhXf9A2thoiXFcRuDgEY5xO8gJozpTpwzSeleFWAPzpcHrsACV/lieIBXMi
EohR5x3zqx2c58OPtsLTbtIc+c8gyQBXJyWTRhwcwA2oWxDFKm1xbeldnJkG
1XFkhEkZzw2pLDROgRyUiLNwAADl1+xtV4/jClLuqaCeG0aTkZ2l+YJgRdiF
vACkzQkQZDNHTEeS6ifKeLlHpMIcpPl8JDzB0So65Eh0rhN/yM2NHfh54rdv
CFryVTHPyIYBi0FONAcwfYfgu06G1s3H86gHBGpaHs8HO3yXRbMCmAadIe4W
+Qqc0NAoiztEUgRiP35WN3jJh541OVoDlDwZzNHmmtmKdsVx03EKR08JN4OK
MA7YYkUyySSeIaUYzosC4cyAD8m5o9lxqLFtJdkwnSM2mUGR3wBQyjbipSKK
EBcklDpx4D8lTNUScSrsBECfwnSQNN9cWWKIdvEd/P8KGc+oa14uhBzS5oYk
GU7BpViLPziyRdRxkAO7BlDnFROoNNjKDm2TRzpktYhEJTyD7QRODhNjovWJ
COOEGSRsJAChSHIhSbLgqMoj6j5SbE1hUU4CnBXJNVD8CUxXtgzWT6fg3//+
9+bGg2jpz4PNjS8sI9a04y/rGov4+Sx6sb47410ySLqN+QLtzX4g/Zw52tMx
h3rM/9MhjVk7kdCMZWgi+J8xQI47XSSP8hSmd1AjIaf+aP6RIY2fq1n+8x+s
4MKR3DdEA3kFK57CCpAIBzQYjxHQ/z82IqHJ5z1zb5xMIsXaCM7B8CPL9s9b
daMgqGv4bj8QMlskBX2b8ArRfJ8lv88Dzn7NEponsXBWY1FigKrNhGqVNh1H
ImuTdKfyp9CxA3fyiSTIvqoBCSgAEgwnIjjWRt/C4iY0OgiGMlsR4EHzGMLh
csefzqY/hJ1QqsR/4qpqgu+yygFSUup0jppdgsZcq4kM7CRhLkHqQgLUriEo
kZxOhExZRiikE+hmPE3P2ZVdd2qSPn/iZDVcxD7slip0df0BN2zNrA0sPL6O
k5T2GEk3UM2MYGMDgWT1hFZrGEsQDkRKp2iivwYbxqN8Rv8AcdWALAIiI+6F
/RRjy+Y6YlArL+tq7gfWAi5sAbpTnuaTBSsBlX/wldH6/n06KPfvo105VOZQ
nF6ny6G0D8sjSQenWAAzZu2kJKsIsUFcCBB3FPENS9G4I25E4OC8szDQFm0B
Wb7aNBOQ7eCgZjYqbDyiTXB4SIOq8sryGH4McgdrISi9h4eMQa/SvszgwO0R
D0enFJXAmAS/8TxjsR+5pnzpRgK8AYTStRCLgC3WfgqSfaC510y8sCpaeQ4/
RBpxIip/UsFqq1i6Pnb0ADunEIIhjg7LS1nqCHENEUFnyCctQ61mFqPSX/GE
mdh9tAuUT0elaZ28P79odfj/5u07+n129Lf3x2dHh/j7/Of9N2/cD26xuQH/
evf+jTTAX/7Tg3cnJ0dvD/lreGoaj072f2vxjrTenV4cv3u7/6aFMlZVozWI
YwClAeu7BYggKMA1jBabG2i1QA95x7w8ODU7j8znz+Iz//q1w/9AB/fXryhE
KZXLQJDhf6JMhZKbjVGTB2E9RXiCopsi0gC6X+U3mUHxq8vHyTOTIYgt1B0x
NtwLOl6eE2GDr7dxl6T0+mAc2kGckYb4zhdlnSv/fDGn8wLVzzXv1//5Yk5Q
ZoTDtzBfcJhlNuv+mFvf3von+JKHQfw/Z9K/Yk7KYz1TvetqfgNSIL/r8shL
psv1pdeMBgHb3bLdSbejEso5qIpsFu+Y49OD9vIwS4SsNsx5g/Xz2SSMHsfD
9Xv2xUsPPIwXQ4MYoWAjZ6I5OQ3Y6723Aq0xTCBYO++ZW645v4oRPRFWA4Jb
QHuyeLp2sxrDoNBWxQMvtBHelyq1uSPmDpazs7e+OqEk1ZdwZkHfWDIMIoVF
FuoshzDd8TxNI7EDom0qA9FxLqpHx3DAj9dlkwIotB2VcvIDtK17WQweewyo
YnkmqglGjgBwxACS7qa5ImHxkuRZfXXJNmUA7IfeJUgJVx9+uvwd3SUf7l0C
dZjgQj9I8wfPFJAvVn7ZEJVxpjKZmpiM63tFzxnKRyxpqOzrZi0SCJmtZ2lM
cl0P3kXAan/CsKfnp6AMlv3aR9TQFt3w42Eaz0f2JzQjPf8Zw0SCTx6ojTz8
IC5RTAacLHtweKvJrPqJYPL8qvm1Ghnka/onvanPCqM69m7sYC8YZY9fFi7m
C9ZWRXEBByG1P43y5Hm32+3TruaiBQTU/ZmD/oveM4T+i5+e0Rxf9AGOO13z
ChSdK9PX5YXtuzewjOhjBhynJ5ZylIb6ZisZowpeolFvc2O3SwYYkEL7PEIf
BYsZ4i2ocqprO3L0/uzN5sZDHTh4sdX3Elcf+n3UNUef2CzYdzJtV8lIH8+P
f953gsrmxmOQXtmSwRY2pLY4vxG2ucpR5kVzWjxPJdokMq+PLoh+oGgXITvu
mNN35xfOgGsjpM6gNEw2N55A92OT5RmeoTnwW1hlA0n6ZgxUYADaHatz9+6h
jjyDTwL6x2d06J574Ve3AEUsZj9oHtb4KdZ2ROwr5AeGEpYzpODCLw7fnuPb
w+PDtohup7A32KMQi1o/A8uAQqiNxJ7Mh7WPUkE+i5EHAgkLaAWZ00nQFlww
FkQ8NCUFs0FQJyCKVwFplvmQtxUndMAybknRUWI8C0REccv6J0YEPBDFAJki
UKPyEUssIEU+v45TmOosTvBT2KhpXlhnJSqVcJckzyE5tSOQzdOEdkY6noPw
gvzW9BEJ+rBCWH0pRkAAgedJPT4Qg3yE8ATKfcXG1sygJfPJI54cwnYWL9I8
BvkWcDc3vzeWJCB5JZQUoeI4lNcVicOJnRsRcz6IGlDFjcv1w35AiPvuFKDK
hvNPqmVNkfog5K5UnQ7Bg3AJTN/IwFBAHZCFI2dLtphwvQDTlQOw//LtK1pB
nd3UT0M8yMZfhfngb4qmVQckN3wuYcYtc9l60HLC6wfT2muZq8QWEYC18vYk
9+fStH5qCeQ/4L/utYyyLgNM6Uf/NQdySdxrhzk6mU7RWtnrORrJ+iTselTk
eYXWUZywk6d1wjv3t8z+m9Of900PDuTr4wv4fytqmbaGCmNX0vaSLNYY0Gda
f23BRNG6irOF1dFWfVixtB+Np9sd5ypgHyov4dyy8viwu/sCZghTDj5/zmuI
B3Y6qxYr+yeLiRyAVq+Fe4/KP7bvrvzg8NZJPNzc4I0I5gBAmgGVLRA4MEKP
tqu9erX08bdW+ghW6jb4PxlFP/7WQI9f0LZTt8GC5hnSxeIavuvBoJWjVD06
uiOboue2R1vbw93e3Ag+4T5WoQ383aW//5v+/ncLx/a903et/9UyPx/9Az6T
/1Hgu44pbf4Hff8/6e+/0N/f0d9b9Hcb/l4Bl9Z9evuA/u7Q3z/S389bCIUf
MVIZmTb6N20lZj6CTSeACBtYiQgvw9ZJnyoiIimIJkAspwBhFRKRnryWZ2Nl
hGo4Z8GYBcd7tyorn+95khY5RZclTvKgMYc82f8NCSfqtfGSAdUbCSoVnatP
FCLxjGVwFISfjXKMzRQ5DL0R1POLnhd73MI3N/bFm2VjAB0am8joihxbrTTC
rGbzQZqUwJaW5TUWpbA3oOkw6wQDpFXlK8Vdh5yzoo6rfGZSe21T/FdmgEGU
V/k8RUMV7NwIhq+N0e+KIL5uYMwleYV8isZ1Xhf1EWLgA7BlYBK4PKIsLtK2
jV1zgKF8RrAraRtAFU+YxYFYJHuyYhIira6fZVmf5nTFcFtTr8iSUIPCnpdZ
y7a3SXtBFv6ldiQzmFehuYkct+Shs+Uao6xnyqFRl2MXGFr8CQHMOf5g89Rp
+ytunohk7EIL5obwQzaOjy8duNVRT6A3W4G7ebCoOYIca4PnEqMck0dwf1Yk
KYUgtdmMHtMLkJFheyTehXQ5cm/HGWzc7/MEZDXs9dJld3wwLD44OY0NlbDJ
4gl1IusdbasgBgUWTDoIXuptnIEYyTLvvErR/aaemBeTfrsT9BHA1oulcia5
2/Xng9T6WLGN5qemW8B0NH9iaH2RgPQ8Rm3Jlk7MEl8FW7TVUurUP2iF7kzU
ySiYIJ+RjHZ8CiJqNrFl1/hxZNbwOxkvzMWbczO0RcX2Aul/Gi9IBgZB3oh5
MDgDKuAdOVw8A2EB520DXcdhalS4t0RkD4OTLXBr0FCnmyoBXXOSA+rJvnQM
4BESBue4dowxJIMsKqHSieoEu6Wdr3kEpxVIO9tkOFBs/elmj7ZFF0pwMpsB
WYyHDesQrl7dZaGIPQ6taNdJLMaPcw4qCsN5gFBRDMLxYfAYn/xqB6+AAsOc
UH2YlxWItoVufx3nBBd0IkNyeExE03PEiqK2UD2ggTkWQHQiOOfdYBu8o/SB
FyDq3tMH656TE/qANA8y9qIbCYgvPNT5GkMvXqAS+EINn+coXhRf/k/HXhJ7
an++rGsQOI2cbs7I2V4SakKxA/SLZeNXILWcFjnGwrA8c/++mMJATZReFf0/
48RYPypbe+Yzz7MlVAyetFwmwwoD2Go6hd4V6oU4U4r2+bCjsAPfIvweP4eJ
f12WbgJ920X3kOKtmOccVsCK+wfw0EYUK5anfSDORxfxBP//Ji6r6AT0bDyw
/TZbm0losmOgY4RCYcgWkjQ0wib/QsGGYwnjYhHScqG3XcFAN1XoBhFfYqeu
bDxS/yhOOWS1JZ4JOPdFAnQ0XQiRvMDUVrOfDa+whaOOlPEaxfx4iSwSw6YP
pUVg5Dk/OugISwjpdkeMP6KOE3UXm4XA5yom97PwUODW5bzAR+KhnlGUIQbj
qIcXaBFiZU0qabJAApsLzdVdZCf1BPlBggYQjERigR/56FpfuPd2r/Mmkz+5
6VapgVXeRWLg+Kq8Sk0ga50ywLGkTbTUC+/QexGj+iuM3hpMxiabNEbFXHxn
fkRHTcTM3aAx5oStlfWHhz724Bbq9GWV32u1N+zOD5ca4WoY8+pTXDKG0tPX
Rxc9sqmGTUGHRiEPe1kyHAWr8ZE5+oUf5qZ0g+DTt4coTCLK2XiqD89snEZV
MrXyfIVjiIbhQMKVq/FhgvT0+PSgNyjyj7Ygz7cMM89wEJFwyHMaxrO5Yd5n
mBnD62kMM4dXbjnSUkTSkj+gscUUSPFslY81DFejTq1l7FVOs4z7jIdlq+El
fvDMdVJDbvF0OXviyCKqu0CWcj68CmJQfDA5n4dOPURGXOGA2VOyABf5HMOL
MBAb9JksX2W2JAEeuwutlEgxC7SY51lNQBI1wIn2obchcAl8w5K5FKUJKyB7
ci1WcUghufGs4hjLMVG4SkNPkMx2WEIfLohSu7D0hCZNojbryDcUhl5gin/G
kfguNkvU9kbob3CAyCVJs65FyHqtniNsYZHkKGmI3XW8f8ZmWJSeXwSMfOl0
yOQDrEB7Jk2b5kwhR8kEg93F5myWZGFUZwCU0xk6JsZovx8nRUk9+T0Q5GMW
VPDJI7leT58I+KwJD9UZFMuRVAlY0QEjjOFgdeSYMQPV0BlRWRaSerEq1D9p
enyd27URSb0UcOwD19Ce4YN+cW81zDdF9Q2PVBhVy94siaOVGFcJoA5DfzEX
gt1hNDJlGkA/aerohgS6q10C46ubPUicHqw9Lj/Skxplc1FXGly1MpqWKUKs
mhmrR4yDaGItP6IFCmO7phICCAu7gtVSfFeY+RDVNH4eneJzFjMBoyrOLGYI
dGCF10mRZ1NeNLESPMJ0pkZulqQA4kz9UWJ3EVpp5iUTBXP5YeteKT2A5DaK
5Dy3VR8+FHrySlyB5qVGbcmfz/fUSxipueJrYKMIw3LyaVLhWraSrnW0i3Ao
IbfMqO3oH53iHSwYYWHM/q1OXCdhsRv3zKJafm1XmzfQlBEqyxph6RxF5EUg
364TjQL/LHp+vPP2iiJByM1St1AJALK8ItERiS06WevkPXQ7aTgA0WxYliPj
7pAqINvYLvTroRub3XLeXpajC+8GU5D6ILGQ8fSFeZtjgh2Tft1NF4OXlJoF
NFIP3bXNEqI5ZIqKS1DVm1aADhkPZj4hSgL4nVmXxOJbfHUUDalUTM69T/sg
Z3Y+AJ0hw5h9ksaZ7RJ6NrSaOwy2VRfq2qr3KwYx+675AwMFtzm9LUVg6kdD
BEO6Ksw6QRN4msAICz9W18vvMj9oxLl7oZo3HSSTuXrpgDjDJmGWElCxbLjQ
U4qoehCXYulydThgtg114vM9OGdDbEmnvahV7CiDsBp1FlZsttcQ5TKfUjaK
GbrRimA0BTQrCTqrdSJ+IJ+umHJTrL2LNI9/vhVUFwaYkfmZyIroAC5odFl2
rmkCK0Vu4d+CB2tWukoSb/R2uMCwr2GPbfken5ryseuN+uGcUW+50d4o11g8
AshWXBZQLCtXZ3ytN7X7POD0c/RIBeI4YEDEGCBS+EqUw+OLWRUwGYegmhtw
z/hI4VXuLG+pa7iz6kYX58wKSPwtfiwW//AcRxTks9pr1XSFELGmEyFkGo+I
czUEZv6Gz4F9C9+Vq50PSy4HcSoQ7Q4dC+xywHH3s4WLePNBGn4m3navvgZm
8oFnwluVNBPCEzQH3poBSDoVg4dAYN9ZoYkGXHPVHTaxRQQwaW/6Yoe1IynN
U7ooDk5MAIkOxFKERZ6ie076YuLC0q9FwYTCLrs6RFDnRzQB3iFKioSXH8hn
gGmG+kWDW4iroO6OYgoP+Ko4hAJq/E/MZcXo/qKjsRIgV+k8iR/PAZZBSL03
b1AsCsaL9yQZlv1KzvhFej4X3iHOHpwKAgud6uNDFi21U0wqi1EbdXAP8mJW
OI2ctpiUh5YzFTDtZYhmR8AUixLmO5re332qLr5UPUjyUvfMIM9TG2f4bmqn
ebGg8ip2VHuD5kXUlN4wk9ozLdiYFtCX1tSOkvmUfl4lk6sWtqaA0REKGkcw
p6lUitPu2rp9S3M3W9KmTXXlxNMDjJhORmFnlowKnuSJmRApNUXwl2aRWEAc
/5i3yCPZLcDZC0KRRGAP85zx2ElvHfTDAMsvyF1jp6RIILUobVVRLJ4M1gAb
DHEkwxt9ZZC/dIMvatvzDZDgUePUBQrADYOwvKiM6g9R4jyjjCJgEG642o7f
YTBNmUhRUYWPB24STgmqp3R5VlePHic5u9YSA4V41zSIa4aoQRURa6aHesoY
BkHCgc5gZlMmxmQftvVm/WCClJfdZ/WT1wjMRpPzpRkfL+GeuxwRC4iNpTOi
eEhG/o+/T1NBdgoGjTJLbWAaBbXHSJI2h/rhuvIMjUEIrKlURVEZX8iXUDtq
gVP8znOeIMYQtaOMpUThm0EESJ+QQaxlHAnZZ5x1z2a2Fo3Oxgfn5Dg5PjlC
5LelN0c1owobz9LRg1WPHaja3bswIUbjO1BUdizDkp1MQEiPrMtOcqqAhEqL
eArRekIKnzTC0poAhDFRiTooxNgg5hvV6gAnKMSEIERj6zB+/zSWMjAlLhe7
aNa3YOMAyt24uk7I0Tvm7PBV7x8nb8LCBCRKsIjA8kJZU5jUHeN2MoRG4K1S
S0f/gAESIUQYU/aHQzurnO9oK2EJmoUYC7pjiok8ngElYcUFrrGgRZ0+bN3T
n1QJgQROrHxAP9ocZNVe63COR9foMipDwyUzdYIlbqqbBm1lsK6lgw54Wcsl
7LMFTUUYVP55aYxgZV9LLKAjrTmMCFqKHYQTS4a+oPKL1Y2/wtOLtcAsJgcG
aCABNEGeMpco8AbFesKmmnUDwR4JPEWvcXIUVjRYkEnxdgMsaPpFMpq4bBtB
SSFDAK9Yg0UUqYKiLM6KKGYFkWFQQrNxQdKyCC3oWDMj1n/qhi4NAMvq9pvA
btHBYC8hFJJxiOYeGKIEyaWPwirur8hMfc1a45xCiq8OzHGrDAxqWQAtnhe0
CNicdOvCxzUnkaJUSyshmI2QabPV/0k+fI5V3B71+QCRfYfPFjT5B9eni0Tm
7TOfEGtah3fT00j0gU7ZcsXF2XRqXaM8AE3TQdqnGJjHtih8egEqb7qmkDwM
ccu40At/6cl015ygrOw+A2qtDgDHPAcgJFMFN0pFsOWP7nioyYvzCFlFLVHB
IAFcgsLQ5LreGojkYED2iRErOhz0Qj6e0BHLYOBowFg8Ux0RTUYJINMcpYCa
mTBBm7I7N2TVBlUtI7mvzOfFkFzLoAlWV8zCYEQfQBWyMoL+nMjFCBnOYmZD
QzWviLik2QJgam1gwHKcBNPBI1bvKGoz6Lqh66kp3Gl6y4wG60ppGZQ4TSZ0
2FhaHrLmfmMHavhC0hbQm1pyNYJ+eJWjXIGQB1lvhM6h/BO7hjByCZ4zS/KM
QLbZO6AF3IHyjdLpquR0NVCRndvGU67qUcsDx9VdLZBuhQGbXVfHyZdg02x+
Z34IZdRI88nJ/nDueEFoy2cpqK4jn3HCRe9MhfetcpENr4CiAVVvc6kVOXNO
vt+a5ZyBDKsCyANAP7abwk9s+ui/OB4xJ9YvaDrXgI4oLXc5vkrdxNq/E5I4
wCg6x90+QopcBoUj2t2Vn1LsbsNfHcS+ZPYGbYQcnU21uEkS22JftqyX/S81
9rKlSdeMHHI4c64jlY7xWKHzjTrYDyBo7DUJcnnlgkIouIyJpwCP7Mu+IkaX
F9v4KPQhNIHNg9D2dlz6i1Sx8rWg3ZFfVdlKYe689h3uNRoVyTWmS8sOttn7
4zzd8STLUdMlGzuZVKYkt4sFaMh1E8gFISNI2ABtlF90u7tsN3PWGdRGLPAj
q8lo/4guALmi48O+E+6oqhbgaUraUxBgjIoiRn2Vt4yAOtdcJRfV9APTeBZg
2MoovHv3KFDQjudpeGjDw1rK+yjULG9NEscI8QKel4QtoDyFEkwgAbvUuUBr
9OFUTqK7JQhMgQgdNfOlKMIV2HWISV42LS1ps3jMKUmQj7xn4oAQyLdIzOEp
ivQYAkFUNg70ChH2ljXEk8JaQ7VSWJ/2NVPweK0oIZLz+kKNnVdNG/gWSCiB
wtdYWUISGQmJPayzBhDhEaoHqwBe0/eoNqyMGRAy95Gim6ad8wEs2yq5i8Be
160l9zoQWUNLTrA/Hbc7WnFH4termpsd3d8l5RVSwUER7xyydRrbYCVtVGHj
yqNjXRh1OQ7y0WKlxuUnsUrjHQO1K9XwI4mB7PhDygIyNeXOKadrzowP7Eg8
Dqb/aPsJOhdFJ8SD22fcB+bGHNxbsztOJXd77xiqqKo+pE6YYm1N9+7dq3mL
nAlnzxOEwCUVufeSmfpe0yKd6iqmi38ANyRII+3rhISwvfLwsuDBe0Om6gbi
drkgHEvLTtrmkxrid2DmVnNfmoztcDHEgjRZLVlgtLqyS3dNQC26rPAnJgb3
KOaht7P78BGtv7fT3dnc+DlH3WhFGO3mRgiPPRMPhiMb4dePA08J7MW7msi1
LEnVRLK6KBVQMontqIkAQAQpjREEgJETHMg1jXww0TAORxGXtTSta1kXCx3X
6oTV06gSetmpD1AjpaLZOcWnJrHmwYt1iGsuxFAcyp6vyILkwCW25JCTUWB1
+VWRnwk3Zl6xmSzszLvPuBH7u4K+GO7OYo2ClYghIfXOx77ijWMgK/kok8pS
GAwQkZkru0D5q0EEu8aph1Hqq55p1Pz7UsqdYcC88WH0tWcMAsRi8+U/HUtc
qUue2hV/vrjWUkBdk0O+0TphEiyk5lutW6dwHs10AbwjmbXa32j9x+a91Fry
EIJCJ7e1jrQYAqvcphd4nG8bg0NySlMv0vbnrOAgl+JYpbKyO61A0gdquQOT
sODGWZL/WVNc1dr8HRTuEXEDtGb/wY8ll8Kk+SQZ9ih6l5Ln/mA3J/GCQ38x
r5Y39s9DLCpdVnpyeFvrZ8+fG4A8cCHMYSA1xrc+5bgm6kqCWykeszGTRmqK
0MCams7RCreRUKTHmqGCEVOlsFP2+nOfxLJAahthQqCGUtFOoC5Zc6ahIDWw
GuKEii/SjTTlSgf7dTeW2K/EfzXSuNFa8C7PIyDWaNAdUD4vhW5SFRDgRhSl
Xiu+w76/EvNFyO6jYQtOrGIr4+2MJdY2a1hLyNLFO8Y5njGoNczemaOsKC/c
CM90nNg2FE0n6WBhOC2W44pAcVl1rWWdiikIX3rBiHjTg1t5w0p2gZzpVAc0
kmDw4ovmcvX8o4tgcAzD2XcxQYr8X3zdCPfItzI1fvaHZrjutK46wCFDA+zY
u3Pzzy2kka29FpUlan39RvM/OJm35KAONvBP7X1Fc8cFYVP26s2jSDHVJ4Yp
03CPpODSyzz7Zz4vEAH+xMkhy3ptq7s2xz9LcWC3966RFfZuvVe17J8/c6mr
nimrC9Dhj3YBAsi8yFwPYpvUXp41QwSjFY8iP+8T9NmbvwCdpl6/tUzhVr1h
IL/e0lzK4yTZXITLNc3rtSWa1LiWiPltTkd16JGoaXh3jet5ojpR7ucMiF5N
Jp350GlUEfXJDtQgms1bhrhvJx2EvdJCyD9SBbZCZxrzhkQclN0v+xp2gczj
Aq2aPHQfPa0X8UcrRRTumSOySvyM7LuWKsfmiuhKXtxqP8TJqg2RzQnO6icG
TyxjomnYkyymoWiAckWuCCX7EDJxk2akhY7gO6YC+MxaHSMXiztbXbxVFaGV
F2TLAlS8lEsr5f4H+NU2W1gdcABTQkJApqGxOiHp6iA1MIR2l+Up6eZtob2a
ClOB7KO+gCpvc1DwOX9yAJ/QUYqzO1SjbAYA37lwJn/5aHs7IAYv45H6ZlQj
AwRHYTww77T1y53gy/eZFCj6lx2tmmY420fbD4MvX+XFIBkByt5hnY+2HwVf
BgGBEipPzkaELRduq335NPwS9j1NhpX3P9BpSsopxi+262Puhl9e5DlWMV0o
mEqzRW5U2kzyVPgvH9dgy/fUxqk4mOSsrV7n4xqEziVLCWDsfDGrIaRByGjd
ihgDI8bAFcHIS2haK8PYNJSpYYz2AE2adMHS5kYY/7JX89bO+OA8qOeuo79o
XXo5n/BeEOAMexnRXnKSeouWgZ8He+8mI214SdAIZspPRnR0W3InsjfqBvb6
70S//c7cxKVHoa70SRlVQFSxD02tV5W4Ranvym6YUgZRiQR3ASrDnHdefZ+t
MG+eU1BqtmZ0Z3N067Ulf5feB4ThUnOisi5ncLhYTUElVREWzxRQKri4mF42
zoX2+IXPnFMvQqeGMQ/IwL7CoyBONay4k61wb0inYSl+F81Ut6WXFYdHEvEP
KHmdD4jbQZOCtfrfVh8RjZge7gD+YCwgtkhLwIASAFk8A8WZBJ/A5e4m/F2p
Tomml2XJydKnifVNPvinHfp1iZ9UfQ3sT2k3CrDLkn0s3hXodlm4oKXgktXO
JnVu1JyFnaViterPwrgG0UK13H/NqcNihcg761YKwEb6wZHPBCQCN8glfXJN
X8rVisBX5Re5Dc6OQA1nfFTvMbWWi/agtfxqy4AYiVkU8cKF/WNpE0/PuCu5
ljzxdWQ9qQBKQYSCi7IeM2cj7Y6f7FNGUT4v9Wzy4wsQk3Jtc+qCaQ8xCWzU
X5VuFdOdOcCB5hhq9y/rjMAOib0MAidZ7CWC2BOU0LBysOQw+TxG7PGUsxD5
Dgef0yh/Pq9MWbxVXgucApiJZSnA4Aa6TqEPuhNAWEUjsJi8o8LzJVhUw9ua
fgeNInVC27e7kupHKte+Q3PQrtl6CYcAQ6VzEFpLOL94YedHu5BsXi5dpMgk
meW1W5im8woDmLAKkliU8LY6LBDVZRICdAl4PPZutv7r1wsOPGiWAKIjsmDy
Q0MOUyLKA1vdWM12g/FfuWqYPqmp4+7n4RQxjXek2CeL4ihwegzuiiSNepbD
9mDdMJwVoUp5Fet1Z2TrY20gobgQZxX7GCZDs85LMTqKSxINqRyiHp9zyfBm
QRjvem8bgTzDRqlBDVyXAC/+Am+Bb9PRP/Hw3rqcwv+4AV4H32430ICsfrCf
v8B++miVZV8ktImgTb+RFKKp0ZRuzJfr5WkQWuM9WX+EPa3lTk7FEfbQQGkf
KNFxSOxZpS9ETuX4Gt8ydiNGCwe5yqdcVrFoNmXLXy16cbjkV3VeZKUNYRgH
Bm+vqhNLIaWEBnQzraQhdxrnlMaXcVmXUkXqyfePnn7AuqKENnMO1Idfl4JR
H7wbnk/o5drr5AFn9Ab6NkWP+lKozSTmUo/1sFjAv+nOVckY56O6VPBHkp1o
j0gdlerBE8QUlpkowof8+jhPLMCll1E7Sadu+63delNHG9UEA/fqUirSClNB
m2OKgxrRQNpx3CExfYnVYPQOct2EPHHgKXwX611rQrBkRN4AOL4dTB7TdgfA
p3A4uppCqg2Brv6RIgvyfCyC3lJ1Ma2ufC7Bkr5qkblmv47SfN0C7+3BO758
OgXWf+rVij/JJQBUduhH9Ci4LaulFLts78Ymu8YzybfxmPNdGbxm9lNLDkEU
d0WlaBy8ICRza5HMkcKit76H26tOcrx3gc0GRK2d11s5eSPTeG85YCwe8X1s
udYUgb0tgxSdjnG3vwkBP6SAVJ6uxhLmaYqVrSiIOKiJBS2JkrqU67CUBy5n
iaK56A107GDcey+GsSm9O+EL+46qK75g99hM5ihKYIZ0MEugM5QPWkmNOU4t
TwrOZcfqGOVUAx3oxhSYRnptJVYAS62nSaz592d2Mk/5VpF1QtHQfSG53fpF
VC8N8XUpeFcjJyhbwPh+GLdBYLLXMdbvgOOa+mtU3Ml6fXh61jEHB6f7bb36
6Z9AgstRIpET7qY9X7JSr9sTHJixjZekDeTYxG0IAV1yv1xRGmyComR9RwOy
3+QSnA57i06BNbXC/AkH21pahZM0l6+SdAJHUObwrdaRr+nidN3HPHXXLu6n
ZDmp7IpwZ8bcijWAJW5Qy12rh7rIFSBbFJtEfAIQ1DnT2mwJ0RnzhatACAPa
GkBOgOliX6VCyXVib9C+JxeMhXGUsqmBhCu5KxVpN/MpReDotQY3crX7BK92
Z2JMAfRD42ttskWAsJShhIGrw0XjCuWgQuU9c7z/dn/tkQEsj1edjvoFba5y
Pkel0WRWXHTWD69fExWbRm+9zxKSGs7Ueuf5vtmCj9pS6blsuSI9rrKDvx/l
LBz5Qi6g9mtxd6VE4RQjvanaXcwgvSFWYoV+mbt7S1YDfHGKJ64krNKX4QWR
PXdDIvBl4NoYV0dg4/7Jf2CCO33r0PEs3l/ZWd71kjSND+NwV72sGcuaCpUo
V0VRBwlObPmRQ0tJFL5yceBZX7pZjgsn6RpK06z87MwLTc2ObyYhg0EiYfv9
Gzt40HctXeizFlvsKtDpYolhJQD9LS5vgBZf1W9Bf7aQxw8SW43/OpkCeURj
4wvXCWXbGCk7mdoi2B+WNKn4gKf1Ts3lEFNdCOH00cUriplnvdlN1N3vXrrO
w1O0xbZhW0WHRTyu2nvmvirq/v6vCAghIkr0kvQcXxhCr7eXE55KAYbyPg50
KSXXPxi6TfL2s7ZnXtsMRKWhOV8AZD9pB98/fvoYO3jteLkyXn/qyBU5Itl5
TLfA6OEsFQj0iPoNIIyZfJiPTxPLgyQ2PhSJWnEQhmylC0ct9+7fNwb7wjK4
aRr9QmU7KGpiS+v37+x2d2Fpa8s0d26rHS6dn1BCEtq4a/0+xH5XZyj1uZhH
o9za3mVQR/LDyvt7LvUCnw+X99wNBS8+BEZiMu/t8cVC+jWl+/nyWJq6xXUo
UHhfo1yZLbxBhvrC0akb2AO5EIbVGp+iWHO4uEtg6Guac1/1m9pdLx/tItJb
W9SJRN/o6vri5tM6oXHj6hN1/NpP1TcuQZFswqACASxmfdmjeq1AX8eG2D87
/GD+dBMBwMUXwpLyYHqjich2wZF2J9/ZW+p8lk5AyAGEco5yy1Z/qsGMJY8w
eSig2Uyfr+dpptwcOQW6BZIM0ALrEoB4+VFKb1EeX0qWKp9ZpgSrcSducC+5
/QSzJhyvF1SrScZSWwSxf/EHLHtTG1Pibadh2+ug/smyjTfSYQ036y7i2NmW
yPLAHKoKEaoZrrotiQd1elAnGw0xxx/+lSIOlxtkCu/LPzXpDedMYptW45UX
XWoy4GCB92GYH57sPNaabvfvo+yBRC2MUqH4h/v35dpFfHvqmDky3cZlFU4R
9vylXguTLtPQ2yLktolIZACfBdp1A7taG+LrwxlwNhXZ/xte9HX00PfnuCF2
VAO2b7Pm3OAX+/7aeNJl1VR4vmR2RucGrBXNCNFMxM4wJ9cg2HeXwF5+G+6x
31K9C82VcncF6OuXojFfXHEJxd0BrUOJqhhkSribu4JC938awM+plhEsegCC
oErfAUesyQGEXKtzduuHjq3WC72yFDtCyNV8yDi78/mgCl4G3aHtScJBPWPZ
45vb4KVT/MKXkitstsZBArHwlrKNnx3pjV515WfP/DBIqh/RhlOa9xevoh+M
XshDW2QC23rzy4O4IBXNnUxXTjMej3Fj9coXqYm7TDZ/dBnTQRV/SrmmI0Bp
jWxzo5pTalALDJpyDhgrjhsK4fKMG+K7QgoDAIjspihc0MJFlSUzJHR96jK7
a9dS7jVEXmi5XytBqlU8iI36/O89yWNwFxrUvSa3pmDQfPbdZTJhmtieeStY
cgp9AjL9xWAF3lRVIU7sJO2CMHo8LyTDJehiWeFYr20o1MlOQdZwAPK7kxPG
HL4RsCeqyNCpIntOowgLw/6oegnfJMuRzGzpH4hv0l+83BeM7welFdgaHySo
4JBUtAQFG2RKT55uPxHvD/xqm61T7gV9blRe3yfo17T+WagFcNEx6u6Hhz9I
d/CrrUwab3/FIOxPZh9LPnKIBO/38v22aGmiFhLR56nrV7bCK2NOROhzVe1D
yqi3V+A/onTk41L+KkRgVWxKXkyYjkXSiPpKNeAEKRN+tiJXrKUBKK5AGTbk
JV7ZdFZKli9d/YmT/4uP2taYf6Ac0s28oCCWMEejecWDtBRtvwjuiIBFxJmQ
E+zFwfvYvCsmfImDzFYOKTV9z2Pedq0EtC9dnEy9aoybLtd+klY1ywE28d4Q
adGoJQNtLltaCan1gdtILQ38ngqEaPhPs6heAIOH3e3uNsXwXD/suXsvduHr
XXpKZfak3941PffNdvRTfh/t9EKghek7OF3+6LNeJOKQRIOGOu5NsA4c8XHw
qoE3B4VlnQYVAnQc+rQQlukmlK6G4efdoBfKbkAoGIlMxxgpvMq4JZNn/KCS
UdzM9Uv7hzEXtaaNenPQaBynpfUN1haHw/6k0p1vHdaU8pvlpy6XBCMONIto
4fXuK4poCYrUVnZbL+7Oxa/8g/4naFbXaAJkEvsU9cg6DPcjCFF+TNJ0FSrg
skbuYETULtpphTNWZFHKwPcAJHLXis4vvHKlHu0cSJ6NALQl6ipsHJh7SzIg
G1IR0dPRiOvGuEgOrZtCar+KLGRGFz+8d1t0G7T+ZTcoyutttFo3VayxB5xp
ipG8apQP6riKfusr7wPej8Tgf6TFw3w54kbZpkQzOKdxAZov0DSpc/cqHiKa
cv3NK6pcmWQR7H+Ed2ytnEnN2o59vJwnKcmPqFCmdjSxGpkQFIeSpN6Cs/9c
nXWujaJ3WaDHDmRuLdkyxbBmEqrEruK/eSnV4Su+MSJdckMTfVhdsx1hs1yb
nbfAX0XgLcTuKkZnZlbpdYCxVcSvOIsqEIdJvG7gwQEWJFeTTz1q0aOFMwpF
9RA2wdW1d8vU3A/1gCfEZxdHCzhNHkr/PdVJGNkp1xBxlVi94j+eZ0OWKInY
i4GSC1oVrkpYUKi6pn53akWa+q6sMpe9uVguzO2dphLDtBSbwiIZF1o+Pj1o
1EoNy/96W7740DuyU3Ka/aElz9lSyaBmUjhF7su17XT0KARP0wRcVZiwwEIn
rIrLFydz3juV5fHRSdypoflis8BKJCJoEFqEkUVtlXgbmEDXWwPTFZs333fH
xUHo/j7av1WXD9WsXehccQG3I0lcYWWF6pmBfM7+Eq6RTfHoipogDwsWJUVz
dnY8Ru+o0sihIxrs/3bnIG68oYjjeZbNsXSoHQV2K/Qg4OAphWbmA1QTg6Me
l7NEjz60vZGKGVRt09sWfGE9ch4NkKZRYCD7HcNi7U587QQ+TLlJIaFiduSL
Jm8zygVF4lfvyShGu7Ez1Rkq9Ta+RNUmAjSFZXuaNp5TwEZBBT6nGrZQo5wA
2/8NwIb/FhinAAA=

-->

</rfc>

