<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-morrison-mcp-dns-discovery-05" category="info" submissionType="independent" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="MCP DNS Discovery">Discovery of Model Context Protocol Servers via DNS TXT Records</title>
    <seriesInfo name="Internet-Draft" value="draft-morrison-mcp-dns-discovery-05"/>
    <author fullname="Blake Morrison">
      <organization>Alter Meridian Pty Ltd</organization>
      <address>
        <email>blake@truealter.com</email>
      </address>
    </author>
    <date/>
    <abstract>
      <?line 147?>

<t>This document defines a DNS-based mechanism for discovering Model
Context Protocol (MCP) servers, the identity of the organisations
that operate them, and a cryptographic identity envelope bound to an
individual Sovereign-tier <tt>~handle</tt> published under the same zone.</t>
      <t>Three TXT records are defined.  <tt>_mcp.&lt;domain&gt;</tt> advertises an MCP
server's endpoint URL, agent protocol family, transport binding,
cryptographic identity, and capability profile.
<tt>_org-alter.&lt;domain&gt;</tt> advertises the operator's canonical
organisational identity, including its legal entity, registry
identifier, regions of operation, and any regulatory framework under
which it must refuse external automated access.  <tt>_alter.&lt;domain&gt;</tt>
publishes an Ed25519-signed envelope binding a <tt>~handle</tt> to a public
key, an IdentityLog root reference, and a revocation commitment.
DNSSEC validation is <bcp14>REQUIRED</bcp14> for the envelope record, and a DANE
TLSA pin on the MCP endpoint is <bcp14>REQUIRED</bcp14> where resolving an envelope
and opening an MCP session are one recognition transaction.</t>
      <t>This revision (v05) corrects earlier ones and introduces no new
mechanism.  It withdraws several claims that v04 could not support,
marks publication of a per-individual envelope in DNS as <bcp14>NOT
RECOMMENDED</bcp14> on enumeration, size, and erasure grounds, and separates
the agent protocol family from the transport binding in the <tt>_mcp</tt>
record, aligning that vocabulary with neighbouring DNS
agent-discovery drafts.  All three record formats and all three
procedures are given here in full, so no earlier revision need be
fetched.</t>
      <t>The mechanism complements HTTPS-based discovery, and follows the
precedent set by DKIM, SPF, DMARC, and MTA-STS.  Provisional
registration of a companion <tt>alter:</tt> URI scheme is requested of
IANA, and is not yet granted.</t>
    </abstract>
  </front>
  <middle>
    <?line 182?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Model Context Protocol (MCP) <xref target="MCP"/> is an open protocol for
structured interaction between AI agents and tool-providing servers.
A complete agent-to-organisation-to-individual interaction chain has
three distinct discovery requirements:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Service discovery.</strong>  Where is the MCP server endpoint?  What
transport does it speak?  What cryptographic key authenticates
it?  This is the question v01 of this document answers via the
<tt>_mcp.&lt;domain&gt;</tt> record.</t>
        </li>
        <li>
          <t><strong>Organisational identity bootstrap.</strong>  Who is the organisation
operating the server?  What is its legal entity?  Where is it
registered?  Under what regulatory frameworks does it operate,
and which automated access pathways must it refuse to participate
in?  This is the question v02 answers via the
<tt>_org-alter.&lt;domain&gt;</tt> record.</t>
        </li>
        <li>
          <t><strong>Individual identity recognition.</strong>  Who is the Sovereign-tier
person bound to a <tt>~handle</tt> hosted under the domain?  What public
key signs their statements?  What append-only log anchors the
lifecycle of their identity?  How may their envelope be revoked?
This is the question v03 introduces via the <tt>_alter.&lt;domain&gt;</tt>
record.</t>
        </li>
      </ol>
      <t>The three questions are distinct.  An MCP client may need to
discover an endpoint without caring about the operator's identity
or any individual handle.  An onboarding wizard installing an
org-alter instance may need to read the operator's identity without
caring (yet) about the MCP endpoint.  A recognition verifier
(resolving an <tt>alter:~alice</tt> URI) needs the individual envelope
without necessarily invoking an MCP session.  Conflating any two of
these into a single TXT record would force every consumer to parse
fields it does not need and would crowd the 255-octet
character-string limit.  Splitting them across three
underscore-prefixed labels mirrors the pattern established by DKIM
<xref target="RFC6376"/> (<tt>_domainkey._domain</tt>) and DMARC <xref target="RFC9989"/>
(<tt>_dmarc._domain</tt>), where each record serves a single semantic
purpose.  SPF <xref target="RFC7208"/> and MTA-STS <xref target="RFC8461"/> set the same
precedent for carrying policy in a TXT record under a reserved
label.</t>
      <t>This revision is fully backward-compatible with v01 and v02.
Implementations that consume only the <tt>_mcp.&lt;domain&gt;</tt> record
continue to work unchanged.  Implementations that wish to bootstrap
an org-alter identity may additionally query <tt>_org-alter.&lt;domain&gt;</tt>.
Implementations that wish to recognise an individual <tt>~handle</tt> may
additionally query <tt>_alter.&lt;domain&gt;</tt>.</t>
      <t>This document stands alone.  Earlier revisions deferred the
envelope schema, the JSON Canonicalisation Scheme (JCS, <xref target="RFC8785"/>)
serialisation, and the verification algorithm to a companion
specification a reader could not fetch, which made this document
unimplementable by anyone outside its author's organisation.  They
also incorporated the <tt>_mcp</tt> and <tt>_org-alter</tt> record formats and
procedures by reference to revisions 01 and 02, by section numbers
that named the wrong sections, so a reader who followed a pointer
arrived at the wrong place in the right document.  Both deferrals
are removed.</t>
      <t>All three record formats (<xref target="mcp-record"/>, <xref target="orgalter-record"/>,
<xref target="alter-record"/>), all three procedures (<xref target="mcp-discovery"/>,
<xref target="orgalter-bootstrap"/>, <xref target="recognition"/>), the signing input
(<xref target="signing-input"/>) and the caching rules (<xref target="caching"/>) are given
here in full.  An implementer needs no other document in this
series.  Revisions 01 and 02 are cited where this document records
what they said, and are cited informatively, because nothing here
depends on fetching them.</t>
      <t>The individual-identity layer is grounded, as the organisational
layer is, in the identity field framework of <xref target="MORRISON-IFT"/>.  A
<tt>~handle</tt> is not a reserved alphanumeric slot but a durable
recognition attractor in the identity field.  A DNS record provides
a discrete checkpoint into that field: the envelope published at
<tt>_alter.&lt;zone&gt;</tt> is the handle-holder's own canonical declaration,
signed by their Ed25519 key and consumable by any resolver with
access to a DNSSEC-validating recursive resolver.  It also carries
a reference to an IdentityLog root, whose status as a trust anchor
<xref target="identitylog"/> sets out honestly and narrowly.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>(Terminology from v01 and v02 is retained.  Additional terms
introduced in this revision are defined below.)</t>
      <dl>
        <dt>Envelope</dt>
        <dd>
          <t>An Ed25519-signed JSON object binding a <tt>~handle</tt> to a public
key, an IdentityLog root reference, an inception timestamp, a
revocation hash commitment, a signature algorithm tag, a detached
signature, and a caveats array.  The envelope is the unification
primitive of the ALTER identity architecture.  The TXT grammar
that carries the seven required envelope fields across DNS, and
the signing input over which they are verified, are specified in
<xref target="alter-record"/> of this document.</t>
        </dd>
        <dt>~handle</dt>
        <dd>
          <t>A Sovereign-tier identifier, leading tilde mandatory (e.g.
<tt>~alice</tt>).  Bot-tier handles carry a <tt>.bot</tt> suffix (e.g.
<tt>~example-bot.bot</tt>); Instrument-tier handles use the prefix
<tt>~cc-</tt> (e.g. <tt>~cc-example-model</tt>).</t>
        </dd>
        <dt>IdentityLog</dt>
        <dd>
          <t>An append-only transparency log recording envelope lifecycle
events (mint, caveat-add, revocation, key-rotation), whose root
the <tt>ilr=</tt> field of <xref target="alter-record"/> references.  Revision 04 of this
document described a Signed Tree Head emitted every minute and
cross-anchored to four named witness surfaces.  No such witness
federation exists, and the description is withdrawn.  The log's
cadence, its witness protocol, and the client profile for
checking it are NOT specified by this document and are not yet
specified anywhere a reader can fetch.  <xref target="identitylog"/> states what a
resolver may and may not conclude from <tt>ilr=</tt> in the meantime.</t>
        </dd>
        <dt>Organ</dt>
        <dd>
          <t>A broadcast surface for the envelope.  The three organs are: DNS
publication (this document), the local <tt>alter-runtime</tt> L3 daemon,
and a hardware-anchored device-organ quorum.  The term is
canonical; do not substitute "channel", "vector", or "emitter" at
the architectural level.</t>
        </dd>
        <dt>Recognition</dt>
        <dd>
          <t>The act of a resolver observing and verifying an envelope on
cryptographic merit.  Recognition is distinct from claim:
publishing a TXT record is not a claim of identity, it is an
observable assertion that the resolver may verify or reject.  No
field of this document carries a claim verb; resolvers recognise
envelopes, they do not honour publisher assertions about them.</t>
        </dd>
        <dt>DNSSEC Validation</dt>
        <dd>
          <t>The act of an authenticating DNS resolver verifying the RRSIG
chain from the root trust anchor to the TXT RRset, per <xref target="RFC4033"/>,
<xref target="RFC4034"/>, and <xref target="RFC4035"/>, and setting the AD bit on the response
delivered to the stub client.</t>
        </dd>
        <dt>DANE TLSA Pin</dt>
        <dd>
          <t>A DNS TLSA resource record <xref target="RFC6698"/> binding a server's leaf TLS
certificate (or the public key therein) to the zone that hosts
the envelope.  In this document, the pin applies to the MCP
endpoint at <tt>mcp.&lt;zone&gt;</tt>.</t>
        </dd>
        <dt><tt>alter:</tt> URI</dt>
        <dd>
          <t>A dispatch URI scheme provisionally registered with IANA per
<xref target="RFC7595"/>.  Handler guidance is given in <xref target="alter-uri"/> of this
document.</t>
        </dd>
      </dl>
      <t>(Terms from v02, Org-Identity Record, Identity Bootstrap,
Canonical Entity Identifier, Regulatory Refusal Marker, are
retained.)</t>
    </section>
    <section anchor="related-work">
      <name>Related Work</name>
      <t>Several drafts now publish agent discovery data in DNS, and they
arrived at overlapping vocabularies independently.</t>
      <t>Two of them are called AID and they are different documents.
<xref target="AGENT-AID"/> is "Agent Identity and Discovery", and <xref target="DNS-AID"/> is
"DNS for AI Discovery".  A reader who meets both should not have to
work that out from context, so this document names them apart.</t>
      <t><xref target="AGENT-AID"/> is the closest neighbour to the service-discovery record
of this document, and it came first.  It publishes a TXT record at
<tt>_agent.&lt;domain&gt;</tt> carrying a leading <tt>v=aid1</tt> version tag and
semicolon-delimited <tt>key=value</tt> pairs, which give the endpoint URI
(<tt>u</tt>), a protocol token (<tt>p</tt>), an authentication hint (<tt>a</tt>), and
optionally an Ed25519 public key for endpoint proof (<tt>k</tt>) with a
rotation identifier (<tt>i</tt>).  The <tt>_mcp</tt> record of <xref target="mcp-record"/>
reaches the same three facts, an endpoint, a protocol, and a key, in
an underscore-prefixed TXT record with a leading version tag and
semicolon-delimited pairs, and both patterns are derived from DKIM
<xref target="RFC6376"/>.  Neither document copied the other.  Two drafts landed on
one shape because DKIM is where anyone publishing a key in TXT learns
to look, and <xref target="AGENT-AID"/> published that shape first, in March 2026.</t>
      <t>The two compose, and <xref target="AGENT-AID"/> says how.  Its abstract states that
AID is intentionally small and that after discovery, protocol-specific
mechanisms such as MCP handle communication and capability
negotiation, and its protocol registry already carries <tt>mcp</tt> as a
token.  This document is what that token defers to.  <xref target="AGENT-AID"/>
answers where an agent is and which protocol to speak to it; the <tt>_mcp</tt>
record answers what an MCP endpoint then requires, its transport, its
authentication, its capability scope and its key epoch; and the
<tt>_org-alter</tt> record of <xref target="orgalter-record"/> answers who is behind the
endpoint, with a legal entity, a registry identifier, operating regions
and regulatory refusal markers.  A deployment may publish both, and a
client that learns <tt>p=mcp</tt> from <tt>_agent.&lt;domain&gt;</tt> may query
<tt>_mcp.&lt;domain&gt;</tt> for the depth <xref target="AGENT-AID"/> deliberately leaves out.</t>
      <t>The keys bind different things, which is why publishing both is not a
duplication.  The <tt>k</tt> of <xref target="AGENT-AID"/> binds a key to an endpoint, and
proves control of the server that answers.  The <tt>_alter</tt> and
<tt>_org-alter</tt> records bind a key to a <tt>~handle</tt> or to a legal entity,
with a log root and a revocation commitment.  One proves the door is
the right door.  The other says who owns the building.</t>
      <t>Revision 01 of this document made the first of these points, in a
section titled "Relationship to Agent Identity and Discovery (AID)".
Revision 02 dropped the prose and kept the reference, and revisions 03
and 04 dropped both.  That was an error and this revision reverses it.</t>
      <t><xref target="DNS-AID"/> specifies discovery of AI agents through DNS.  It carries
connectivity in SVCB records with TXT as a fallback, an <tt>alpn</tt>
parameter that may hold the transport, an application-layer agent
protocol, or both (<tt>alpn=mcp,h2,h3</tt>), and an optional <tt>bap</tt>
parameter for the agent protocol alone, so that consumers can match
on the agent protocol without parsing transports out of <tt>alpn</tt>.  It
predates this document's treatment of the same question and is the
most substantial neighbouring work in the space.  It operates over
unicast DNS, as this document does, and the two are complementary
rather than competing.  DNS-AID addresses agent discovery generally,
while this document addresses one protocol family in depth and adds
the identity records that carry a signed envelope.</t>
      <t><xref target="MDNS-AGENT"/> specifies zero-configuration discovery over mDNS and
DNS-SD.  Its <tt>proto</tt> parameter names the agent protocol family, and
it defines exactly one value for it, <tt>proto=a2a</tt>, saying that A2A is
the only instantiation included in that document and leaving other
agent protocols to future work.  It defines no registry for the key.
The slot this document would occupy in that vocabulary, <tt>proto=mcp</tt>,
is therefore open rather than taken, and the two documents agree on
what the key MEANS, which is the part that matters for an implementer
reading both.  Its Section 7 puts discovery across links out of
scope while noting that existing wide-area and aggregated DNS-SD
facilities can provide it without changing the descriptor, so its
scope is not permanently local.  No record is ever shared with this
document's records regardless, because the owner names and service
types differ.</t>
      <t><xref target="MDNS-ARCHITECT"/> publishes registered agents through standard A,
SVCB, and SRV records at a registry, with a worked SVCB example that
puts the agent protocol and the transport side by side
(<tt>SVCB 0 mcp ... alpn=h2</tt>).  It is a third reading of the same axis,
and it strengthens the case for a shared distinction rather than
weakening it.</t>
      <t><xref target="SAIP"/> is a neighbour to the identity records of this document
rather than to its service-discovery record.  It publishes an
agent's Ed25519 public key in an underscore-prefixed TXT record at
<tt>_saip.&lt;domain&gt;</tt>, with a leading <tt>v=</tt> version tag, deriving its
pattern, as this document does, from DKIM <xref target="RFC6376"/> and SPF
<xref target="RFC7208"/>.  Its Section 10, "Trust and Attestation Discovery",
specifies that publication and the discovery of the key from it, so
the two documents are solving the same problem at the same layer:
how a verifier finds the key that a signature must check against.
The bindings differ.  The <tt>_saip</tt> record binds a key to a vendor's
declared network footprint, carrying authorised ASNs, authorised IP
prefixes, and an expiry.  The <tt>_alter</tt> record of <xref target="alter-record"/>
binds a key to a <tt>~handle</tt>, with a log root and a revocation
commitment.  A deployment that wanted both could publish both, and
nothing in either record's owner name or field set collides with the
other.</t>
      <t>These drafts would serve their readers better with one vocabulary.
An implementer reading two of them should not have to hold two
meanings for one key in their head.</t>
      <t>The neighbouring drafts keep the agent protocol and the transport
apart, each in its own way.  <xref target="MDNS-AGENT"/> defines <tt>proto</tt> as the
agent protocol identifier and never as a transport, and carries the
connection data in the SRV record instead.  <xref target="MDNS-ARCHITECT"/> defines
no <tt>proto</tt> key at all, and keeps the agent protocol distinct from
the wire protocol inside its SVCB record, the one in the <tt>mcp</tt>
position and the other in <tt>alpn</tt>.  Neither of them puts a transport
where the agent protocol belongs.  Revision 01 of this document did
exactly that, so revision 01 is the odd one out, and it is the
reading that has to give way.</t>
      <t>The alignment adopted here is therefore one parameter for the agent
protocol family and a second, separate parameter for the transport
or binding.  The transport parameter is named <tt>transport</tt> because
the Model Context Protocol specification already calls this axis by
that name, so an MCP implementer meets one term, not two.</t>
      <t>This document keeps a third axis separate again.  <tt>transport</tt> names
the binding (<tt>streamable-http</tt>, <tt>sse</tt>), and the wire protocol
underneath it (<tt>h2</tt>, <tt>h3</tt>) is left to the <tt>alpn</tt> service parameter
of SVCB and HTTPS records <xref target="RFC9460"/>, where DNS already carries it.
<xref target="DNS-AID"/> permits <tt>alpn</tt> to hold the transport, the agent protocol,
or both, and a reader of that draft and this one should know that
this document does not overload <tt>alpn</tt> in the same way.  Three axes
are made explicit here rather than two, and the third is not carried
in TXT at all.</t>
    </section>
    <section anchor="why-txt">
      <name>Why TXT rather than SVCB</name>
      <t>The neighbouring drafts carry their connectivity data in SVCB
records, with TXT as a fallback.  This document is the reverse, TXT
is the primary carrier.  The reason is the payload, not a rejection
of SVCB.</t>
      <t>An <tt>_mcp</tt> record's value is almost entirely opaque tokens the
resolver does not interpret, an endpoint URL, a public key, a
capability list, an attestation scope.  SVCB earns its place when a
resolver or a connection library acts on the parameters directly,
selecting a transport, following an <tt>alpn</tt>, choosing a port.  It
adds a registered SvcParamKey per field and a priority-ordered
target list.  For a record whose fields are consumed by an MCP
client after resolution, and not by the resolver, that machinery is
overhead without a matching benefit, and a TXT string is the
lighter carrier.</t>
      <t>Where a field IS resolver-actionable, this document defers to SVCB
rather than duplicating it.  The wire protocol lives in the SVCB or
HTTPS <tt>alpn</tt> parameter <xref target="RFC9460"/>, never in this TXT record, for
exactly that reason.  An operator who wants SVCB-based transport
selection publishes an HTTPS record for the endpoint host in the
ordinary way, and the two records coexist.</t>
    </section>
    <section anchor="mcp-record">
      <name>Record Format: <tt>_mcp.&lt;domain&gt;</tt> (Service Discovery)</name>
      <t>This section defines the Discovery Record introduced in v01.  It is
given here in full.  Revisions 03 and 04 incorporated it by
reference, by a section number that named the wrong section, and a
reader could not follow the pointer.</t>
      <section anchor="mcp-location">
        <name>DNS Location</name>
        <t>The Discovery Record is a DNS TXT resource record <xref target="RFC1035"/>
published at the label <tt>_mcp</tt> prepended to the Policy Domain:</t>
        <artwork><![CDATA[
_mcp.<policy-domain>. IN TXT "<record-value>"
]]></artwork>
        <t>The underscore prefix conforms to the conventions established in
<xref target="RFC8552"/> for globally scoped, underscore-prefixed DNS node names.</t>
        <t>Multiple TXT resource records <bcp14>MAY</bcp14> be published at the same DNS
name.  Where multiple records exist, each <bcp14>MUST</bcp14> independently conform
to the syntax defined in this section.  Clients <bcp14>MUST</bcp14> evaluate all
returned records and select among them using the <tt>priority</tt> field
as described below.</t>
      </section>
      <section anchor="mcp-abnf">
        <name>ABNF Grammar</name>
        <t>The record value is a semicolon-delimited sequence of key-value
pairs.  The following ABNF <xref target="RFC5234"/> defines the syntax:</t>
        <artwork><![CDATA[
mcp-record      = version *( ";" SP field )
version         = "v=mcp1"
field           = url-field / proto-field / transport-field /
                  pk-field / epoch-field / cap-field /
                  attest-field / scope-field / priority-field /
                  ttl-field / ext-field / unknown-field

url-field       = "url=" https-uri
proto-field     = "proto=" proto-value
transport-field = "transport=" transport-value
pk-field        = "pk=" algo ":" base64url
epoch-field     = "epoch=" 1*DIGIT
cap-field       = "cap=" cap-csv
attest-field    = "attest=" attest-csv
scope-field     = "scope=" scope-csv
priority-field  = "priority=" 1*DIGIT
ttl-field       = "ttl=" 1*DIGIT
ext-field       = "ext=" https-uri
unknown-field   = token "=" *qtext

https-uri       = "https://" *uri-char
uri-char        = %x21-3A / %x3C-7E
                ; printable ASCII, excluding ";" (%x3B) and SP.
                ; A URI carries no raw space, so admitting one here
                ; would let a url= value swallow the field after it.
qtext           = %x20-3A / %x3C-7E
                ; printable ASCII and SP, excluding ";" (%x3B),
                ; which delimits one field from the next.  A value
                ; that could contain ";" could swallow the delimiter.
algo            = "ed25519"
base64url       = 1*( ALPHA / DIGIT / "-" / "_" )
proto-value     = token
transport-value = token
cap-csv         = cap-token *( "," cap-token )
cap-token       = token
attest-csv      = attest-token *( "," attest-token )
attest-token    = token
scope-csv       = scope-token *( "," scope-token )
scope-token     = "tools" / "resources" / "prompts" /
                  "sampling" / "identity" / token
token           = 1*( ALPHA / DIGIT / "-" / "_" )
]]></artwork>
        <t><tt>unknown-field</tt> matches ONLY a field name this document does not
define.  ABNF has no way to say "any token except these", so the
exclusion is stated here, and it is normative.  Where a field name
IS defined above, the field <bcp14>MUST</bcp14> be parsed by that field's own rule.
A record in which a defined field's value does not satisfy its own
rule is MALFORMED, and a client <bcp14>MUST</bcp14> discard it, exactly as
<xref target="mcp-discovery"/> discards a record whose <tt>url</tt> is not a valid HTTPS
URI.  A client <bcp14>MUST NOT</bcp14> re-read such a field as an <tt>unknown-field</tt>.
Without this rule the alternation would swallow every defect it was
written to exclude: <tt>url=https://x.com priority=5</tt> would parse as an
unknown field named <tt>url</tt> rather than as the malformed <tt>url</tt> field
it is.</t>
        <t>The grammar admits any token in <tt>proto</tt> and in <tt>transport</tt>, and
that is deliberate.  Syntactic admissibility is not definition.
Revision 01 admitted any token in <tt>proto</tt> and records in the wild
carry transport values there, so a resolver <bcp14>MUST</bcp14> be able to PARSE
such a record before it can decide what to do with it, and the
reading rule of <xref target="reading-legacy"/> is what decides.  A grammar that
rejected those records at the parser would leave the reading rule
with nothing to read.</t>
        <t>The values this document DEFINES are enumerated in the field
definitions below, and they are few.  <tt>proto</tt> has exactly one
defined value, <tt>mcp</tt>.  <tt>transport</tt> has exactly three,
<tt>streamable-http</tt>, <tt>sse</tt>, and <tt>stdio-url</tt>.  Those two sets are
disjoint, so no value is defined for both fields.  A transport value
appearing in <tt>proto</tt> is RECOGNISED there, under <xref target="reading-legacy"/>,
and is not DEFINED there; the distinction is what makes the previous
sentence true.</t>
      </section>
      <section anchor="mcp-fields">
        <name>Field Definitions</name>
        <section anchor="mcp-field-v">
          <name>v (REQUIRED)</name>
          <t>Protocol version identifier.  <bcp14>MUST</bcp14> be the literal string <tt>mcp1</tt>.
<bcp14>MUST</bcp14> appear as the first field in the record.  Clients <bcp14>MUST</bcp14> reject
any record whose <tt>v</tt> field is absent, is not the first field, or
contains a value other than <tt>mcp1</tt>.</t>
          <t>This version gate enables future incompatible revisions of the
record format.  A future version <tt>mcp2</tt> would indicate breaking
changes to field semantics or discovery flow.</t>
        </section>
        <section anchor="mcp-field-url">
          <name>url (REQUIRED)</name>
          <t>The HTTPS URL of the MCP server endpoint.  <bcp14>MUST</bcp14> use the <tt>https</tt>
scheme.  <bcp14>MUST</bcp14> be a syntactically valid URI per RFC 3986.  This is
the entry point for MCP session establishment.</t>
          <t>Clients <bcp14>MUST NOT</bcp14> attempt to connect to URLs using schemes other
than <tt>https</tt>.  Servers <bcp14>MUST</bcp14> present a valid TLS certificate for
the hostname in the URL.</t>
        </section>
        <section anchor="mcp-field-proto">
          <name>proto (OPTIONAL)</name>
          <t>The agent protocol family the endpoint speaks.  Default value:
<tt>mcp</tt>.  For a record published at <tt>_mcp.&lt;domain&gt;</tt> the only value
defined by this document is <tt>mcp</tt>; the field is retained because
the same key, with the same meaning, is used by neighbouring
discovery drafts (see <xref target="related-work"/>) and a client that reads
several of them should not have to special-case this one.</t>
          <t><tt>proto</tt> does not name a transport.  It does not carry
<tt>streamable-http</tt>, <tt>sse</tt>, <tt>h2</tt>, <tt>h3</tt>, or any other binding.  The
transport is carried by the <tt>transport</tt> field below.  A record
published under revision 01 may nonetheless carry a transport value
here, and <xref target="reading-legacy"/> says exactly how to read one.</t>
          <t>The field is <bcp14>OPTIONAL</bcp14>, but not unconditionally.  A publisher that
emits a <tt>transport</tt> field <bcp14>MUST</bcp14> also emit <tt>proto=mcp</tt>, for the
interoperability reason given in <xref target="reading-legacy"/>.  Omitting
<tt>proto</tt> is permitted only where <tt>transport</tt> is also omitted.</t>
        </section>
        <section anchor="mcp-field-transport">
          <name>transport (OPTIONAL)</name>
          <t>The MCP transport binding used by the server.  Default value:
<tt>streamable-http</tt>.  Defined values:</t>
          <ul spacing="normal">
            <li>
              <t><tt>streamable-http</tt>, the HTTP-based streaming transport (default).</t>
            </li>
            <li>
              <t><tt>sse</tt>, the HTTP+SSE transport of MCP protocol version 2024-11-05,
retained for deployed servers.  The Model Context Protocol
specification marks this transport superseded by
<tt>streamable-http</tt>.  It is listed so an existing server stays
discoverable, not as a recommendation for new deployments.</t>
            </li>
            <li>
              <t><tt>stdio-url</tt>, a URL pointing to a signed launch descriptor for a
stdio-based server (descriptor format out of scope).  This is a
discovery convenience defined by this document, not one of the MCP
specification's own transport names.</t>
            </li>
          </ul>
          <t>The field is named <tt>transport</tt> because that is the term the Model
Context Protocol specification itself uses for this axis, so an
<tt>_mcp</tt> record and an MCP client configuration name the transport
the same way.</t>
          <t>Implementations <bcp14>SHOULD</bcp14> support at least <tt>streamable-http</tt>.
A client that meets a <tt>transport</tt> value it does not recognise <bcp14>MUST</bcp14>
skip the record and proceed to the next record by priority, or to
HTTPS fallback.</t>
          <t>The wire protocol beneath the transport (<tt>h2</tt>, <tt>h3</tt>, <tt>http/1.1</tt>)
is NOT carried in this record.  It is already expressible as the
<tt>alpn</tt> service parameter of an SVCB or HTTPS resource record
<xref target="RFC9460"/>, and duplicating it in TXT would create two sources of
truth for one fact.</t>
        </section>
        <section anchor="reading-legacy">
          <name>Reading a record published before this revision</name>
          <t>Revision 01 of this document defined <tt>proto</tt> as the transport, so
records in the wild carry <tt>proto=streamable-http</tt>, <tt>proto=sse</tt>, or
<tt>proto=stdio-url</tt>.  Revision 01 also admitted ANY token in that
field, and required a client that met a <tt>proto</tt> value it did not
recognise to SKIP the record.  Both of those behaviours are
preserved here.  Such records remain valid and <bcp14>MUST</bcp14> be read as
follows.</t>
          <t>A client reading an <tt>_mcp</tt> record determines two things, the
protocol family first and the transport second.  Taking them in the
other order is what makes an unrecognised value look harmless, so
the order is normative.</t>
          <t><strong>Step A, the protocol family.</strong>  The family is <tt>mcp</tt> where any one
of the following holds:</t>
          <ul spacing="normal">
            <li>
              <t><tt>proto</tt> is absent;</t>
            </li>
            <li>
              <t><tt>proto</tt> carries <tt>mcp</tt>;</t>
            </li>
            <li>
              <t><tt>proto</tt> carries one of the three values defined for <tt>transport</tt>
in <xref target="mcp-field-transport"/>.  This is the revision 01 form, in
which the transport was written into <tt>proto</tt>.</t>
            </li>
          </ul>
          <t>Where <tt>proto</tt> carries any other value, it names a protocol family
this document does not define.  The client <bcp14>MUST</bcp14> skip the record and
proceed to the next record by priority, or to HTTPS fallback.  It
<bcp14>MUST NOT</bcp14> treat the value as a transport, and it <bcp14>MUST NOT</bcp14> apply a
default transport to the record.  This holds whether or not a
<tt>transport</tt> field is also present: a record reading
<tt>transport=streamable-http; proto=websocket</tt> is skipped, because the
family is unknown, and the presence of a readable transport does not
make an unknown family speakable.</t>
          <t><strong>Step B, the transport.</strong>  A client reaches this step only where
Step A yielded the family <tt>mcp</tt>.</t>
          <ul spacing="normal">
            <li>
              <t>Where <tt>transport</tt> is present and carries one of the three values
defined in <xref target="mcp-field-transport"/>, that value is the transport,
and any transport value carried in <tt>proto</tt> <bcp14>MUST</bcp14> be ignored.</t>
            </li>
            <li>
              <t>Where <tt>transport</tt> is present and carries any other value, the
client <bcp14>MUST</bcp14> skip the record, and <bcp14>MUST</bcp14> proceed to the next record
by priority or to HTTPS fallback (<xref target="mcp-field-transport"/>).</t>
            </li>
            <li>
              <t>Where <tt>transport</tt> is absent and <tt>proto</tt> carries one of the three
defined transport values, that value is the transport.  This is
the revision 01 form.</t>
            </li>
            <li>
              <t>Where <tt>transport</tt> is absent and <tt>proto</tt> is absent or carries
<tt>mcp</tt>, the transport is <tt>streamable-http</tt>.</t>
            </li>
          </ul>
          <t>The skip in Step A is the rule that matters, and it is written out
because the obvious reading gets it wrong.  Revision 01 admitted any
token in <tt>proto</tt>, so <tt>proto=websocket</tt> was a syntactically legal
record, and every conformant revision 01 client SKIPPED it, because
revision 01 required a skip on an unrecognised <tt>proto</tt> value.  A
client that instead read an unrecognised <tt>proto</tt> value as a protocol
family, and then applied the default transport, would open a
<tt>streamable-http</tt> session against a server that never offered one.
That record was unusable under revision 01 and it stays unusable
here.  Preserving the skip is what keeps the two revisions
interoperable.  Widening the rule to absorb any unknown token would
do the opposite, because it would newly accept records that no
client could ever use.</t>
          <t>A publisher that emits a <tt>transport</tt> field <bcp14>MUST</bcp14> also emit
<tt>proto=mcp</tt>.  This is not decoration.  A revision 01 client does not
know the <tt>transport</tt> field, and its own forward-compatibility rule
tells it to IGNORE any field it does not know, so it reads only
<tt>proto</tt>.  A record carrying <tt>transport=streamable-http</tt> beside
<tt>proto=sse</tt> would therefore resolve to <tt>streamable-http</tt> under this
revision and to <tt>sse</tt> under revision 01, which is one record and two
transports.  Setting <tt>proto=mcp</tt> alongside <tt>transport</tt> removes the
divergence, because a revision 01 client then finds no transport it
recognises in <tt>proto</tt> and skips the record rather than reaching a
different endpoint state than a current client would.</t>
          <t>Publishers <bcp14>SHOULD</bcp14> move to the two-field form.  No flag day is
required, because the two forms are distinguishable by inspection,
and because no value is defined for both fields
(<xref target="mcp-abnf"/>).</t>
        </section>
        <section anchor="mcp-field-pk">
          <name>pk (OPTIONAL)</name>
          <t>Ed25519 public key for endpoint verification, encoded as
<tt>ed25519:&lt;base64url&gt;</tt> where <tt>&lt;base64url&gt;</tt> is the raw 32-byte
public key encoded per <xref target="RFC4648"/> Section 5, without padding.</t>
          <t>Where present, the <tt>pk</tt> field provides a cryptographic binding
between the DNS record and the MCP server.  Clients <bcp14>MUST</bcp14> verify
that the key matches at least one of the following:</t>
          <ol spacing="normal" type="1"><li>
              <t>A key in the server's TLS certificate SubjectPublicKeyInfo.</t>
            </li>
            <li>
              <t>The signing key used in HTTP Message Signatures <xref target="RFC9421"/> on
MCP responses.</t>
            </li>
            <li>
              <t>The key declared in the Server Card <xref target="SEP-1649"/> served by the
endpoint.</t>
            </li>
          </ol>
          <t>If verification fails, the client <bcp14>MUST</bcp14> treat the server as
untrusted and <bcp14>SHOULD NOT</bcp14> proceed with the MCP session.</t>
        </section>
        <section anchor="mcp-field-epoch">
          <name>epoch (OPTIONAL)</name>
          <t>A monotonic non-negative integer that increments on every key
rotation.  Default value: <tt>0</tt>.</t>
          <t>Signed claims or attestations issued by the MCP server carry a key
identifier (kid) of the form <tt>&lt;algo&gt;:&lt;pk&gt;#&lt;epoch&gt;</tt>.  Verifiers
resolve the Discovery Record, extract the current epoch, and apply
the following rules:</t>
          <ul spacing="normal">
            <li>
              <t>Claims with <tt>epoch == current</tt> are valid, subject to temporal
checks.</t>
            </li>
            <li>
              <t>Claims with <tt>epoch &lt; current</tt> are revoked unless the claim's
expiry timestamp predates the rotation event.</t>
            </li>
            <li>
              <t>Claims with <tt>epoch &gt; current</tt> <bcp14>MUST</bcp14> be rejected as either
forgeries or evidence of a stale verifier DNS cache.</t>
            </li>
          </ul>
          <t>The epoch field enables epoch-based revocation without external
Certificate Revocation Lists (CRLs) or Online Certificate Status
Protocol (OCSP) infrastructure.  Incrementing the epoch revokes
all outstanding claims issued under prior epochs, subject to the
grace period defined by each claim's expiry.</t>
        </section>
        <section anchor="mcp-field-cap">
          <name>cap (OPTIONAL)</name>
          <t>Capability tier advertised by the server, expressed as a
comma-separated list of tokens.  This field provides a coarse hint
to clients about the functional scope of the server.</t>
          <t>No normative semantics are defined for specific capability values
in this document.  Protocol extensions <bcp14>MAY</bcp14> define capability tokens
and their semantics.  Clients that do not recognise a capability
token <bcp14>MUST</bcp14> ignore it.</t>
        </section>
        <section anchor="mcp-field-attest">
          <name>attest (OPTIONAL)</name>
          <t>A comma-separated list of attestation types that the MCP server
declares it is authorised to issue.  The value enumerates claim
types that downstream verifiers will accept from this issuer.</t>
          <t>Defined values, extensible:</t>
          <ul spacing="normal">
            <li>
              <t><tt>employ</tt>, current employment affiliation.</t>
            </li>
            <li>
              <t><tt>contract</tt>, contractual or freelance engagement.</t>
            </li>
            <li>
              <t><tt>alumnus</tt>, former affiliation.</t>
            </li>
            <li>
              <t><tt>director</tt>, board or directorial role.</t>
            </li>
            <li>
              <t><tt>member</tt>, generic membership (professional body, association).</t>
            </li>
            <li>
              <t><tt>contrib</tt>, verified contribution without formal affiliation.</t>
            </li>
          </ul>
          <t>Verifiers <bcp14>MUST</bcp14> reject any attestation claim whose type is not
present in the issuer's <tt>attest</tt> field.  This provides a
structural defence against capability creep: the domain's
published attestation scope is the upper bound on what its
claims can assert.</t>
          <t>Forward compatibility: unknown attestation values <bcp14>MUST</bcp14> be ignored,
not rejected.  A verifier encountering <tt>attest=employ,fellow</tt>
where <tt>fellow</tt> is undefined treats the record as
<tt>attest=employ</tt> and proceeds.</t>
        </section>
        <section anchor="mcp-field-scope">
          <name>scope (OPTIONAL)</name>
          <t>Comma-separated list of MCP primitives supported by the server.
Defined values:</t>
          <ul spacing="normal">
            <li>
              <t><tt>tools</tt>, the server exposes callable tools.</t>
            </li>
            <li>
              <t><tt>resources</tt>, the server exposes readable resources.</t>
            </li>
            <li>
              <t><tt>prompts</tt>, the server exposes prompt templates.</t>
            </li>
            <li>
              <t><tt>sampling</tt>, the server supports LLM sampling requests.</t>
            </li>
            <li>
              <t><tt>identity</tt>, the server supports identity resolution queries.</t>
            </li>
          </ul>
          <t>Unknown values <bcp14>MUST</bcp14> be ignored.  This field is advisory; the
authoritative capability set is declared during the MCP
<tt>initialize</tt> handshake.</t>
        </section>
        <section anchor="mcp-field-priority">
          <name>priority (OPTIONAL)</name>
          <t>A non-negative integer.  Default value: <tt>10</tt>.  Where multiple
Discovery Records exist at the same DNS name, clients <bcp14>MUST</bcp14> sort
records by <tt>priority</tt> in ascending order and attempt connection
to lower-valued records first.</t>
          <t>This field enables multi-server failover without external load
balancing.  If connection to the highest-priority server fails,
the client proceeds to the next record.</t>
        </section>
        <section anchor="mcp-field-ttl">
          <name>ttl (OPTIONAL)</name>
          <t>Advisory TTL in seconds for client-side caching of the parsed
Discovery Record metadata.  Clients <bcp14>MAY</bcp14> use this value to avoid
repeated DNS lookups when the DNS TTL is shorter than desired.
The DNS TTL itself remains authoritative for cache expiry of the
raw DNS response; the <tt>ttl</tt> field applies to post-parse metadata
caching only.</t>
        </section>
        <section anchor="mcp-field-ext">
          <name>ext (OPTIONAL)</name>
          <t>An HTTPS URL pointing to a protocol-extension document.  The
format and semantics of the extension document are defined by
the protocol extension, not by this specification.</t>
          <t>This field enables protocol-specific extensions (identity
protocols, payment protocols, agent-to-agent negotiation) to
attach additional metadata without consuming space in the DNS
TXT record.  The extension document <bcp14>MUST</bcp14> be served over HTTPS.
Clients that do not recognise or support the extension <bcp14>MUST</bcp14>
ignore this field.</t>
        </section>
      </section>
      <section anchor="mcp-forward-compat">
        <name>Forward Compatibility</name>
        <t>Implementations <bcp14>MUST</bcp14> ignore unknown fields.  A parser encountering
a field name that it does not recognise <bcp14>MUST</bcp14> skip that field and
continue parsing the remaining fields.  This rule ensures that
future extensions to the record format do not break existing
implementations.</t>
        <t>Ignoring an unknown FIELD is not the same act as skipping a record
on an unrecognised VALUE in a field this document defines.  The
first is required here; the second is required by
<xref target="mcp-field-transport"/> and <xref target="reading-legacy"/>.</t>
        <t>Breaking changes to the semantics of existing fields require a
version bump, for example <tt>v=mcp2</tt>.</t>
      </section>
      <section anchor="mcp-multistring">
        <name>Multi-String Concatenation</name>
        <t>DNS TXT resource records are limited to 255 bytes per
character-string <xref target="RFC1035"/>.  Where a Discovery Record exceeds 255
bytes, the record <bcp14>MUST</bcp14> be split across multiple character-strings
within a single TXT RDATA, which the DNS resolver concatenates
per <xref target="RFC7208"/> Section 3.3.</t>
        <t>Example of a multi-string record:</t>
        <artwork><![CDATA[
_mcp.example.com. IN TXT (
  "v=mcp1; url=https://mcp.example.com; "
  "pk=ed25519:LongBase64UrlEncodedPublicKeyValueHere; "
  "epoch=3; attest=employ,contract,alumnus; scope=tools,identity"
)
]]></artwork>
        <t>Parsers <bcp14>MUST</bcp14> concatenate all character-strings within a single TXT
RDATA before parsing the semicolon-delimited fields.  Parsers
<bcp14>MUST NOT</bcp14> treat each character-string as an independent record.</t>
      </section>
    </section>
    <section anchor="orgalter-record">
      <name>Record Format: <tt>_org-alter.&lt;domain&gt;</tt> (Identity Bootstrap)</name>
      <t>This section defines the Org-Identity Record introduced in v02.  It
is given here in full, for the same reason <xref target="mcp-record"/> is.</t>
      <section anchor="orgalter-location">
        <name>DNS Location</name>
        <t>The Org-Identity Record is a DNS TXT resource record <xref target="RFC1035"/>
published at the label <tt>_org-alter</tt> prepended to the Policy Domain:</t>
        <artwork><![CDATA[
_org-alter.<policy-domain>. IN TXT "<record-value>"
]]></artwork>
        <t>The underscore prefix conforms to the conventions established in
<xref target="RFC8552"/> for globally scoped, underscore-prefixed DNS node names.</t>
        <t>A domain <bcp14>MAY</bcp14> publish a <tt>_mcp.&lt;domain&gt;</tt> record without an
<tt>_org-alter.&lt;domain&gt;</tt> record (service-only deployment), or an
<tt>_org-alter.&lt;domain&gt;</tt> record without a <tt>_mcp.&lt;domain&gt;</tt> record
(identity-only deployment), or both (full deployment).  The
recommended pattern for any operator running an org-alter instance
is to publish both.</t>
        <t>Multiple TXT resource records <bcp14>MAY</bcp14> be published at the same DNS name
(e.g., for staged identity rotation).  Clients <bcp14>MUST</bcp14> evaluate all
returned records and select the one with the highest <tt>epoch</tt> field.</t>
      </section>
      <section anchor="orgalter-abnf">
        <name>ABNF Grammar</name>
        <t>The record value is a semicolon-delimited sequence of key-value
pairs.  The following ABNF <xref target="RFC5234"/> defines the syntax:</t>
        <artwork><![CDATA[
orgalter-record = version *( ";" SP field )
version       = "v=alter1"
field         = org-field / entity-field / entity-type-field /
                founded-field / regions-field / regulated-field /
                bootstrap-field / mcp-policy-field /
                epoch-field / pk-field / attest-field /
                ext-field / unknown-field

org-field        = "org=" text-value
entity-field     = "entity=" registry ":" text-value
entity-type-field = "entity-type=" text-value
founded-field    = "founded=" date-fullyear
regions-field    = "regions=" region-csv
regulated-field  = "regulated=" framework-csv
bootstrap-field  = "bootstrap=" https-uri
mcp-policy-field = "mcp-policy=" policy-token
epoch-field      = "epoch=" 1*DIGIT
pk-field         = "pk=" algo ":" base64url
attest-field     = "attest=" attest-csv
ext-field        = "ext=" https-uri
unknown-field    = token "=" *qtext

registry      = "abn" / "acn" / "ein" / "ch" / "cro" / "lei" / token
text-value    = 1*qtext
qtext         = %x20-3A / %x3C-7E
              ; printable ASCII and SP, excluding ";" (%x3B),
              ; which delimits fields.  A legal entity name carries
              ; spaces, so VCHAR alone cannot express one.
region-csv    = region-token *( "," region-token )
region-token  = 2ALPHA   ; ISO 3166-1 alpha-2
framework-csv = framework-token *( "," framework-token )
framework-token = "disp" / "itar" / "ear" / "hipaa" / "gdpr" /
                  "soc2" / "iso27001" / "iso42001" / "essential8" /
                  "aprs" / token
policy-token  = "open" / "refuse-automated" / "refuse-tenant" /
                "refuse-all" / token
date-fullyear = 4DIGIT [ "-" 2DIGIT [ "-" 2DIGIT ] ]
algo          = "ed25519"
base64url     = 1*( ALPHA / DIGIT / "-" / "_" )
https-uri     = "https://" *uri-char
uri-char      = %x21-3A / %x3C-7E
              ; printable ASCII, excluding ";" (%x3B) and SP.
              ; A URI carries no raw space.
token         = 1*( ALPHA / DIGIT / "-" / "_" )
]]></artwork>
        <t>The <tt>text-value</tt> rule corrects a defect inherited from revision 02,
which defined <tt>org</tt>, <tt>entity</tt> and <tt>entity-type</tt> over <tt>1*VCHAR</tt>.
VCHAR is <tt>%x21-7E</tt> and excludes the space, so that grammar could not
derive <tt>org=Alter Meridian Pty Ltd</tt> or <tt>entity-type=Pty Ltd</tt>, which
are the values revision 02's own examples published.  A legal entity
name carries spaces, so the rule now admits them, and excludes only
the semicolon that separates one field from the next.</t>
        <t>A URI does not carry a raw space, so <tt>bootstrap</tt> and <tt>ext</tt> are
defined over <tt>uri-char</tt> rather than <tt>text-value</tt>.  A character class
that is right for a name is not thereby right for a URI: admitting SP
in a URI value would let it run past its own end and consume the
field after it.</t>
        <t>As in <xref target="mcp-abnf"/>, <tt>unknown-field</tt> matches ONLY a field name this
document does not define.  Where a field name IS defined above, the
field <bcp14>MUST</bcp14> be parsed by that field's own rule, and a record in which
a defined field's value does not satisfy its rule is MALFORMED and
<bcp14>MUST</bcp14> be discarded rather than re-read as an unknown field.</t>
      </section>
      <section anchor="orgalter-fields">
        <name>Field Definitions</name>
        <section anchor="v-required">
          <name>v (REQUIRED)</name>
          <t>Protocol version identifier.  <bcp14>MUST</bcp14> be the literal string <tt>alter1</tt>.
<bcp14>MUST</bcp14> appear as the first field in the record.  Clients <bcp14>MUST</bcp14> reject
any record whose <tt>v</tt> field is absent, is not the first field, or
contains a value other than <tt>alter1</tt>.</t>
          <t>The version namespace is independent of the <tt>_mcp</tt> record's
<tt>v=mcp1</tt> namespace.  This allows the two record types to evolve
independently.</t>
        </section>
        <section anchor="org-required">
          <name>org (REQUIRED)</name>
          <t>The canonical legal name of the organisation operating the domain.
<bcp14>MUST</bcp14> be the registered legal entity name as it appears in the
operator's primary corporate registry, not a trading name or brand.
For trading names, see the optional <tt>entity-type</tt> field.</t>
          <t>Examples:</t>
          <artwork><![CDATA[
org=Alter Meridian Pty Ltd
org=Red Group Pty Ltd
org=International Business Machines Corporation
]]></artwork>
          <t>### entity (<bcp14>RECOMMENDED</bcp14>)</t>
          <t>A globally-disambiguating canonical entity identifier, prefixed by
its registry namespace.  Defined registries:</t>
          <ul spacing="normal">
            <li>
              <t><tt>abn:</tt> -- Australian Business Number (11 digits, no spaces).</t>
            </li>
            <li>
              <t><tt>acn:</tt> -- Australian Company Number (9 digits, no spaces).</t>
            </li>
            <li>
              <t><tt>ein:</tt> -- US Employer Identification Number (<tt>NN-NNNNNNN</tt>).</t>
            </li>
            <li>
              <t><tt>ch:</tt>  -- UK Companies House number (8 alphanumeric).</t>
            </li>
            <li>
              <t><tt>cro:</tt> -- Irish Companies Registration Office number.</t>
            </li>
            <li>
              <t><tt>lei:</tt> -- Legal Entity Identifier (20 alphanumeric per ISO 17442).</t>
            </li>
          </ul>
          <t>Additional registries <bcp14>MAY</bcp14> be defined; clients <bcp14>MUST</bcp14> treat unknown
registry namespaces as opaque identifiers.</t>
          <t>Example:</t>
          <artwork><![CDATA[
entity=abn:54696662049
]]></artwork>
          <t>The <tt>entity</tt> field is the primary anti-impersonation defence for the
identity layer: a domain claiming to be <tt>Alter Meridian Pty Ltd</tt>
without an ABN that resolves to that name in ABR Lookup is
detectable as a mismatch by any verifier with access to the public
registry.</t>
        </section>
        <section anchor="entity-type-optional">
          <name>entity-type (OPTIONAL)</name>
          <t>A short human-readable label for the entity's type, drawn from its
jurisdiction's vocabulary.  Examples: <tt>Pty Ltd</tt>, <tt>LLC</tt>, <tt>GmbH</tt>,
<tt>SAS</tt>, <tt>non-profit</tt>.  This field is advisory and is intended for
display to humans; it is not a structured taxonomy.</t>
        </section>
        <section anchor="founded-optional">
          <name>founded (OPTIONAL)</name>
          <t>The date the legal entity was founded or registered, as
<tt>YYYY</tt> or <tt>YYYY-MM</tt> or <tt>YYYY-MM-DD</tt> per ISO 8601.  This field is
advisory and is used by onboarding wizards and identity verifiers
to display "Founded N years ago" or to detect implausibly young
entities making strong claims.</t>
        </section>
        <section anchor="regions-optional">
          <name>regions (OPTIONAL)</name>
          <t>A comma-separated list of ISO 3166-1 alpha-2 country codes
indicating the operator's primary regions of operation.  This field
is advisory.  It is used by onboarding wizards to set sane defaults
for jurisdiction-specific behaviour (e.g., currency, locale, public
registry preference).</t>
          <t>Example:</t>
          <artwork><![CDATA[
regions=AU,NZ,SG
]]></artwork>
          <t>### regulated (<bcp14>OPTIONAL</bcp14> but STRUCTURALLY SIGNIFICANT)</t>
          <t>A comma-separated list of regulatory framework tokens under which the
operator is bound.  Defined values (extensible):</t>
          <ul spacing="normal">
            <li>
              <t><tt>disp</tt> -- Australian Defence Industry Security Program.</t>
            </li>
            <li>
              <t><tt>itar</tt> -- US International Traffic in Arms Regulations.</t>
            </li>
            <li>
              <t><tt>ear</tt> -- US Export Administration Regulations.</t>
            </li>
            <li>
              <t><tt>hipaa</tt> -- US Health Insurance Portability and Accountability Act.</t>
            </li>
            <li>
              <t><tt>gdpr</tt> -- EU General Data Protection Regulation.</t>
            </li>
            <li>
              <t><tt>soc2</tt> -- AICPA SOC 2 Type II.</t>
            </li>
            <li>
              <t><tt>iso27001</tt> -- ISO/IEC 27001 information security management.</t>
            </li>
            <li>
              <t><tt>iso42001</tt> -- ISO/IEC 42001 AI management systems.</t>
            </li>
            <li>
              <t><tt>essential8</tt> -- ASD Essential Eight (ML2 or higher).</t>
            </li>
            <li>
              <t><tt>aprs</tt> -- Australian Privacy Principles / Privacy Act.</t>
            </li>
          </ul>
          <t>The presence of any token in this field is a structural promise:
the operator declares that they are bound by the named framework and
that automated access pathways crossing the regulated boundary <bcp14>MUST</bcp14>
be refused.  Onboarding wizards reading this field <bcp14>MUST</bcp14> refuse to
attempt L5/L6 authenticated access to data stores covered by the
declared framework, regardless of whether credentials are available.</t>
          <t>This converts the DNS record into an out-of-band consent boundary:
a remote agent's tooling becomes structurally aware that integration
is forbidden before it ever attempts a connection.  An agent that
ignores this declaration and attempts integration anyway commits a
detectable, attributable violation.</t>
          <t>Forward compatibility: unknown framework tokens <bcp14>MUST</bcp14> be treated
conservatively (assume the strictest defensible refusal) rather than
ignored.</t>
        </section>
        <section anchor="bootstrap-optional">
          <name>bootstrap (OPTIONAL)</name>
          <t>An HTTPS URL pointing to a JSON document containing additional
identity bootstrap metadata: a directory of public roster members
(if the org chooses to publish one), an organisational logo URL, a
canonical public website URL, an <tt>attest</tt> profile beyond what fits
in DNS, and any operator-defined extensions.</t>
          <t>The bootstrap document <bcp14>MUST</bcp14> be served over HTTPS with a valid TLS
certificate for the Policy Domain.  The document format is
operator-defined; recommended schema is published as
<tt>https://truealter.com/.well-known/org-alter-bootstrap.schema.json</tt>
as a non-normative reference.</t>
        </section>
        <section anchor="mcp-policy-optional">
          <name>mcp-policy (OPTIONAL)</name>
          <t>A single token declaring how the operator's MCP endpoint relates to
external automated access:</t>
          <ul spacing="normal">
            <li>
              <t><tt>open</tt> -- The MCP endpoint accepts queries from any agent with
appropriate authentication.</t>
            </li>
            <li>
              <t><tt>refuse-automated</tt> -- The MCP endpoint exists for human-mediated
access only.  Automated agents <bcp14>SHOULD NOT</bcp14> initiate sessions.</t>
            </li>
            <li>
              <t><tt>refuse-tenant</tt> -- The MCP endpoint exists, but the operator runs
one or more tenants (e.g., an M365 tenant) into which automated
access is forbidden.  This is the typical declaration for an
org-alter instance run by an operator who has DISP-accredited or
ITAR-bound systems alongside their public meta-layer.</t>
            </li>
            <li>
              <t><tt>refuse-all</tt> -- The MCP endpoint exists for the operator's own
internal use only.  External agents <bcp14>MUST NOT</bcp14> attempt connection.</t>
            </li>
          </ul>
          <t>Default value, if absent: <tt>open</tt>.</t>
          <t>The <tt>mcp-policy</tt> field complements the <tt>regulated</tt> field.
<tt>regulated=disp; mcp-policy=refuse-tenant</tt> is the canonical
declaration for a defence contractor running an org-alter at the
unclassified meta-layer alongside a regulated tenant they will not
allow automated agents to enter.</t>
        </section>
        <section anchor="epoch-optional">
          <name>epoch (OPTIONAL)</name>
          <t>A monotonic non-negative integer that increments on every identity
rotation event (e.g., legal entity restructure, change of control,
move to a new jurisdiction).  Default value: <tt>0</tt>.  Semantics mirror
the <tt>epoch</tt> field of the <tt>_mcp</tt> record defined in v01.</t>
        </section>
        <section anchor="pk-optional">
          <name>pk (OPTIONAL)</name>
          <t>Ed25519 public key for endpoint verification, encoded identically to
the v01 <tt>_mcp</tt> record's <tt>pk</tt> field.  When present, the same key
provides cryptographic binding for both endpoint discovery and
identity bootstrap.</t>
        </section>
        <section anchor="attest-optional">
          <name>attest (OPTIONAL)</name>
          <t>A comma-separated list of attestation types the operator declares it
is authorised to issue, identical in semantics to the v01 <tt>_mcp</tt>
record <tt>attest</tt> field.  Where both records publish an <tt>attest</tt> field,
the values <bcp14>MUST</bcp14> be consistent.  An onboarding wizard <bcp14>SHOULD</bcp14> use the
union of the two.</t>
        </section>
        <section anchor="ext-optional">
          <name>ext (OPTIONAL)</name>
          <t>An HTTPS URL pointing to a protocol-extension document, identical in
semantics to the v01 <tt>_mcp</tt> record <tt>ext</tt> field.  This field is
distinct from <tt>bootstrap</tt>: <tt>ext</tt> is for protocol-level extensions
to the discovery format itself; <tt>bootstrap</tt> is for operator-level
identity metadata.</t>
        </section>
      </section>
      <section anchor="orgalter-forward-compat">
        <name>Forward Compatibility</name>
        <t>Implementations <bcp14>MUST</bcp14> ignore unknown fields.  This rule, identical to
the v01 <tt>_mcp</tt> record specification, ensures that future
extensions to the <tt>_org-alter</tt> record format do not break existing
implementations.</t>
      </section>
    </section>
    <section anchor="alter-record">
      <name>Record Format: <tt>_alter.&lt;domain&gt;</tt> (Envelope Publication)</name>
      <t>This section defines the new Envelope Publication record introduced
in v03.  The record publishes the seven required fields of the
ALTER identity envelope (binding a <tt>~handle</tt> to its public key,
IdentityLog root, inception timestamp, revocation commitment, and
detached signature, under a protocol version) at an underscore-
prefixed label under the handle's hosting zone.  The envelope
schema admits an optional <tt>caveats</tt> array which is never carried in
DNS; this document specifies no transport and no vocabulary for it,
so under this document the array is always empty and the signature
is computed over an empty array (<xref target="signing-input"/>).  The signature
algorithm is not a separate field.  It is derived from the <tt>pk=</tt>
prefix via the registry of <xref target="sigalg-registry"/>, and enters the signing
input under that derivation.</t>
      <section anchor="alter-location">
        <name>DNS Location</name>
        <t>The Envelope Record is a DNS TXT resource record <xref target="RFC1035"/>
published at the label <tt>_alter</tt> prepended to the hosting zone:</t>
        <artwork><![CDATA[
_alter.<zone>. IN TXT "<record-value>"
]]></artwork>
        <t>The underscore prefix conforms to the conventions established in
<xref target="RFC8552"/> for globally scoped, underscore-prefixed DNS node names.</t>
        <t>Publication of a per-individual envelope at this label is <strong><bcp14>NOT
RECOMMENDED</bcp14></strong>, for the reasons in <xref target="alter-applicability"/>.  That applies to
any number of handles.  Revision 04 additionally permitted a zone
to host more than one <tt>~handle</tt> by publishing multiple TXT RRs at
this one owner name, with resolvers disambiguating on the <tt>h=</tt>
field; that pattern is the enumeration exposure of <xref target="alter-applicability"/> in
its sharpest form, and a zone <bcp14>MUST NOT</bcp14> use it.</t>
        <t>A domain <bcp14>MAY</bcp14> publish any combination of <tt>_mcp.&lt;domain&gt;</tt>,
<tt>_org-alter.&lt;domain&gt;</tt>, and <tt>_alter.&lt;domain&gt;</tt> records independently
(service-only, identity-only, envelope-only, or any intersection).</t>
        <section anchor="alter-applicability">
          <name>Applicability of the Envelope Record</name>
          <t>Publication of a per-individual envelope in DNS is <strong><bcp14>NOT
RECOMMENDED</bcp14></strong> for new deployments.  Three properties of DNS are the
reason.</t>
          <t><strong>Enumeration.</strong>  Where a zone co-hosts several handles at one
owner name, a single query returns the entire set.  That is a
membership roll, published to the internet, retrievable by anyone,
and the individuals listed in it cannot each consent to the
disclosure of the others.  Even with one handle per zone, DNSSEC's
authenticated denial of existence permits zone walking unless
NSEC3 or a compact denial scheme is deployed, and this document
never required one.</t>
          <t><strong>Size.</strong>  A conformant envelope does not fit in a single 255-octet
character-string, and no conformant envelope is smaller than the
limit.  Co-hosting a handful of handles at one owner name exceeds
the 1232-octet fragmentation budget that current DNS operational
guidance assumes, and the RRset grows without bound in the number
of handles.  The resolution algorithm of <xref target="recognition"/> retrieves the
whole RRset and filters client-side, so the cost of resolving one
handle grows with the number of handles the zone hosts.</t>
          <t><strong>Erasure.</strong>  A DNS record, once published and cached, cannot be
recalled.  A mechanism that binds a natural person's identifier to
a key in public DNS offers that person no way to withdraw the
binding from the caches and passive collectors that have already
taken it.  Revocation, where this document specifies it at all,
marks a binding dead; it does not unpublish it.</t>
          <t>These are properties of this mechanism as specified.  The envelope
format itself, its signing input (<xref target="signing-input"/>), and the
verification procedure (<xref target="recognition"/>) are not implicated by them.</t>
        </section>
      </section>
      <section anchor="alter-abnf">
        <name>ABNF Grammar</name>
        <t>The record value is a semicolon-delimited sequence of key-value
pairs.  Two grammars are given, because a publisher and a resolver
are held to different rules.  <tt>alter-record</tt> is what a conformant
publisher <bcp14>MUST</bcp14> emit.  <tt>alter-accepted</tt> is what a conformant resolver
<bcp14>MUST</bcp14> accept.  Every <tt>alter-record</tt> is an <tt>alter-accepted</tt>; the
converse does not hold.  Revisions 03 and 04 gave the publisher
grammar alone, and separately required resolvers to accept records
that grammar cannot derive, which is a contradiction this revision
removes.</t>
        <t>The following ABNF (per <xref target="RFC5234"/>) defines the syntax:</t>
        <artwork><![CDATA[
; Publisher emission.  A conformant publisher MUST emit this form.
alter-record   = version ";" SP handle-field
                 ";" SP pubkey-field
                 ";" SP ilr-field
                 ";" SP ts-field
                 ";" SP rev-field
                 ";" SP sig-field
                 *( ";" SP unknown-field )

; Resolver acceptance.  A conformant resolver MUST accept this form.
; The version field stays first.  The remaining six required fields
; may arrive in any order, each exactly once, interleaved with any
; number of unknown fields.
alter-accepted = version *( ";" SP accepted-field )
accepted-field = handle-field / pubkey-field / ilr-field
               / ts-field / rev-field / sig-field
               / unknown-field

version        = "v=alter1"
handle-field   = "h=" handle
pubkey-field   = "pk=" algo ":" base64url
ilr-field      = "ilr=" base64url     ; SHA-256 of IdentityLog root
ts-field       = "ts=" 1*DIGIT        ; inception_ts, Unix seconds
rev-field      = "rev=" base64url   ; SHA-256 of revocation pre-image
sig-field      = "sig=" base64url     ; Ed25519 detached signature
unknown-field  = token "=" *qtext

handle         = "~" 1*( ALPHA / DIGIT / "-" / "_" )
                 [ "." "bot" ]
               / "~cc-" 1*( ALPHA / DIGIT / "-" / "." )
algo           = "ed25519"
base64url      = 1*( ALPHA / DIGIT / "-" / "_" )
token          = 1*( ALPHA / DIGIT / "-" / "_" )
qtext          = %x20-3A / %x3C-7E
               ; printable ASCII and SP, excluding ";" (%x3B),
               ; which delimits one field from the next.
]]></artwork>
        <t>ABNF alone cannot express "each of these six exactly once, in any
order", so the cardinality rule is stated here and is normative.  A
resolver <bcp14>MUST</bcp14> reject any record in which a required field is absent,
or in which any field name appears more than once.</t>
        <t>ABNF cannot express the exclusion either.  As in <xref target="mcp-abnf"/>,
<tt>unknown-field</tt> matches ONLY a field name this document does not
define.  Where a field name IS defined above, the field <bcp14>MUST</bcp14> be
parsed by that field's own rule, and a record in which a defined
field's value does not satisfy its rule is MALFORMED and <bcp14>MUST</bcp14> be
rejected rather than re-read as an unknown field.</t>
        <t>The seven keys are <bcp14>REQUIRED</bcp14>.  Publishers <bcp14>MUST NOT</bcp14> omit or reorder
them, and <bcp14>MUST</bcp14> emit them in the order shown in <tt>alter-record</tt>.</t>
        <t>The <tt>v</tt> field is first for publisher and resolver alike.  A resolver
<bcp14>MUST</bcp14> reject a record whose <tt>v</tt> field is absent or is not the first
field (<xref target="field-v"/>), so the ordering freedom above extends to the
remaining six required fields and to unknown fields, and never to
<tt>v</tt>.  Ordering among those six carries no meaning, and a resolver
<bcp14>MUST NOT</bcp14> derive any from it.</t>
        <t>Resolvers <bcp14>MUST</bcp14> tolerate unknown fields wherever they appear, and
<bcp14>MUST</bcp14> ignore them, per the forward-compatibility rule of
<xref target="forward-compat"/>.</t>
        <t>Field order on the wire has no part in signature computation.  The
signed bytes are the JCS serialisation specified in
<xref target="signing-input"/>, which sorts member names in code-point order and
is therefore blind to the order the TXT record used.</t>
      </section>
      <section anchor="alter-fields">
        <name>Field Definitions</name>
        <section anchor="field-v">
          <name>v (REQUIRED)</name>
          <t>Protocol version identifier.  <bcp14>MUST</bcp14> be the literal string <tt>alter1</tt>.
<bcp14>MUST</bcp14> appear as the first field in the record.  Resolvers <bcp14>MUST</bcp14>
reject any record whose <tt>v</tt> field is absent, is not the first
field, or contains a value other than <tt>alter1</tt>.</t>
          <t>The version namespace <tt>v=alter1</tt> on <tt>_alter.&lt;zone&gt;</tt> is independent
of the identically-named <tt>v=alter1</tt> on <tt>_org-alter.&lt;zone&gt;</tt>.  The
two namespaces are disambiguated by the enclosing record label and
<bcp14>MUST NOT</bcp14> be conflated.  Future versions of either record may
advance independently (e.g. <tt>_alter.&lt;zone&gt;</tt> may progress to
<tt>v=alter2</tt> while <tt>_org-alter.&lt;zone&gt;</tt> remains at <tt>v=alter1</tt>, or the
reverse).</t>
        </section>
        <section anchor="field-h">
          <name>h (REQUIRED)</name>
          <t>The Sovereign-, Bot-, or Instrument-tier <tt>~handle</tt> to which the
envelope binds.  The leading tilde is mandatory.  Where a resolver
encounters multiple envelope TXT RRs sharing an owner name, <tt>h=</tt> is
the sole field it <bcp14>MAY</bcp14> use to disambiguate them.  Publishers <bcp14>MUST
NOT</bcp14> create that arrangement (<xref target="alter-location"/>); the rule is retained for
resolvers only, so that a record published under revision 04 can
still be read.</t>
        </section>
        <section anchor="field-pk">
          <name>pk (REQUIRED)</name>
          <t>An Ed25519 public key prefixed by its algorithm namespace and
encoded in base64url without padding per <xref target="RFC4648"/> Section 5:</t>
          <artwork><![CDATA[
pk=ed25519:<base64url-no-pad-32-bytes>
]]></artwork>
          <t>Resolvers <bcp14>MUST</bcp14> reject records whose algorithm prefix is not
<tt>ed25519</tt> until a future revision registers additional algorithms.
The <tt>pk</tt> value is the verification key for the detached signature
in the <tt>sig</tt> field.</t>
        </section>
        <section anchor="field-ilr">
          <name>ilr (REQUIRED)</name>
          <t>Base64url-no-pad SHA-256 digest of an IdentityLog root that the
publisher claims was witnessed at envelope creation.  Revision 04
required resolvers to cross-reference this value and treated a
failure to do so as fatal.  That requirement is WITHDRAWN.  The
field carries a root and nothing more, so it cannot establish that
this envelope is recorded in that log, and a resolver <bcp14>MUST NOT</bcp14> rely
on it to detect substitution.  <xref target="identitylog"/> states what it can and
cannot establish, and <xref target="sec-substitution"/> sets out the forgery it permits.</t>
        </section>
        <section anchor="field-ts">
          <name>ts (REQUIRED)</name>
          <t>Envelope inception timestamp, expressed on the wire as decimal Unix
seconds.  Resolvers <bcp14>MAY</bcp14> use this field to detect clock skew,
evaluate caveat maturity, or reject envelopes with implausibly
future inception.  In the signing input of <xref target="signing-input"/> the value is
carried as a JSON string of those same decimal digits, never as a
JSON number.  A resolver that re-types it as a number canonicalises
different bytes and every signature fails against it.</t>
        </section>
        <section anchor="field-rev">
          <name>rev (REQUIRED)</name>
          <t>Base64url-no-pad SHA-256 digest of the revocation pre-image.
Revocation is effected by revealing the pre-image to the
IdentityLog; upon reveal, the envelope is considered revoked and
<bcp14>MUST NOT</bcp14> be honoured by resolvers.  The <tt>rev</tt> field is a
forward-secure commitment: the pre-image is never published in DNS
and is released only at revocation time to the log.</t>
          <t>Publishers <bcp14>MUST NOT</bcp14> treat removal of the TXT record as revocation.
Absence of a record is indistinguishable from misconfiguration; only
pre-image reveal is authoritative.</t>
        </section>
        <section anchor="field-sig">
          <name>sig (REQUIRED)</name>
          <t>Base64url-no-pad detached signature over the JCS-canonicalised
envelope JSON with the <tt>sig</tt> field absent.  Canonicalisation is
specified by <xref target="RFC8785"/>.  The signing input is the envelope JSON
reconstructed from the parsed TXT fields, plus a <tt>signature_alg</tt>
member derived from the <tt>pk=</tt> algorithm prefix per the registry of
<xref target="sigalg-registry"/>, plus an EMPTY <tt>caveats</tt> array.  The signature
algorithm itself is the one named by the <tt>pk=</tt> prefix.  The exact
signing input is normative and appears in <xref target="signing-input"/>; it is not
restated by reference elsewhere.</t>
        </section>
        <section anchor="unknown-fields">
          <name>Unknown fields</name>
          <t>Fields not enumerated above <bcp14>MUST</bcp14> be ignored by resolvers per
the forward-compatibility rule (<xref target="forward-compat"/>).  Future revisions of
this document <bcp14>MAY</bcp14> register additional envelope fields; such
extensions <bcp14>MUST</bcp14> be distinguishable from private-use extensions by
registration via the mechanism in <xref target="iana"/>.</t>
        </section>
      </section>
      <section anchor="signing-input">
        <name>Canonical Serialisation</name>
        <t>The <tt>sig</tt> input is constructed as follows.  This construction is
normative and exhaustive.  An implementation that deviates in a key
name, a value type, or the membership of the object will produce
bytes that no other implementation can verify.</t>
        <ol spacing="normal" type="1"><li>
            <t>Parse the TXT RR character-strings into key-value pairs.</t>
          </li>
          <li>
            <t>Derive <tt>signature_alg</tt> from the algorithm prefix of the <tt>pk</tt>
value via the Signature Algorithm Registry of <xref target="sigalg-registry"/>.  For
<tt>pk=ed25519:...</tt> the derivation yields the string <tt>Ed25519</tt>.</t>
          </li>
          <li>
            <t>Construct the envelope JSON object, whose members are exactly
the six parsed fields that are not <tt>sig</tt>, plus the derived
<tt>signature_alg</tt>, plus <tt>caveats</tt>:  </t>
            <sourcecode type="json"><![CDATA[
{
  "v": "<v>",
  "h": "<h>",
  "pk": "<pk>",
  "ilr": "<ilr>",
  "ts": "<ts>",
  "rev": "<rev>",
  "caveats": [],
  "signature_alg": "<derived>"
}
]]></sourcecode>
            <t>
The keys are the TXT field names, not expanded synonyms.  Every
value is a JSON string, <tt>ts</tt> included, which carries the decimal
digits of the TXT field verbatim and is NOT converted to a JSON
number.  <tt>caveats</tt> is a JSON array and, for any envelope resolved
from DNS under this document, it <bcp14>MUST</bcp14> be the EMPTY array.  This
document defines no caveat transport and no caveat vocabulary, so
a non-empty array has no interoperable meaning and an
implementation <bcp14>MUST NOT</bcp14> construct one.  <tt>sig</tt> <bcp14>MUST</bcp14> be absent from
the signing input, and no other member may be present.  These
rules make the signed bytes a total function of the TXT record,
which is the property v04 lacked.</t>
          </li>
          <li>
            <t>Apply <xref target="RFC8785"/> JSON Canonicalisation Scheme to the object,
which sorts the member names in code-point order.  The member
order shown above is illustrative and has no effect on the
canonical bytes.</t>
          </li>
          <li>
            <t>The resulting byte stream is the signing input for the algorithm
named in step 2.</t>
          </li>
        </ol>
        <t>Verification reverses this construction and checks the detached
signature in the <tt>sig</tt> field against the derived byte stream.</t>
        <t><tt>v</tt> is inside the signing input.  A resolver that accepted an
envelope whose version was unsigned could be walked down to a
weaker version namespace by an on-path rewrite of the <tt>v</tt> field
alone, so the version is signed with everything else.</t>
        <t>Publishers <bcp14>MUST</bcp14> emit TXT fields in the order given in <xref target="alter-abnf"/>,
but the DNS key=value ordering has no role in signature
computation: the signed bytes are always the JCS serialisation of
the JSON object.</t>
      </section>
      <section anchor="forward-compat">
        <name>Forward Compatibility</name>
        <t>Resolvers <bcp14>MUST</bcp14> ignore unknown fields in the <tt>_alter.&lt;domain&gt;</tt>
record.  This rule, identical to the v01 <tt>_mcp</tt> and v02
<tt>_org-alter</tt> specifications, ensures that future extensions do not
break existing implementations.</t>
        <t>Publishers <bcp14>MUST NOT</bcp14> introduce new fields that repurpose or overload
the seven required field names; new fields <bcp14>MUST</bcp14> use new names
registered via the procedure in <xref target="iana"/>.</t>
      </section>
      <section anchor="multistring">
        <name>Multi-String Reassembly</name>
        <t>Where the serialised envelope exceeds the 255-octet character-string
limit of <xref target="RFC1035"/> Section 3.3.14, publishers <bcp14>SHOULD</bcp14> split at <tt>; </tt>
boundaries between complete key-value pairs where the pair fits.  A
publisher <bcp14>MAY</bcp14> split within a key-value pair, and <bcp14>MUST</bcp14> do so where a
single pair exceeds 255 octets on its own, which any signature
algorithm with a large signature will require.  Resolvers <bcp14>MUST</bcp14>
concatenate the character-strings of a TXT RR in the order returned
by the DNS library (i.e. the RR wire order) BEFORE parsing, so the
split point is not observable to the parser and carries no meaning.</t>
      </section>
    </section>
    <section anchor="dnssec">
      <name>DNSSEC Requirement</name>
      <t>The zone publishing an <tt>_alter.&lt;domain&gt;</tt> envelope record <bcp14>MUST</bcp14> be
DNSSEC-signed per <xref target="RFC4033"/>, <xref target="RFC4034"/>, and <xref target="RFC4035"/>.
Authoritative servers <bcp14>MUST</bcp14> respond with valid RRSIG coverage for
the TXT RRset.  Recursive resolvers handling queries for the
envelope RRset <bcp14>MUST</bcp14> perform DNSSEC validation and <bcp14>MUST</bcp14> set the AD
(Authenticated Data) bit on the response delivered to the stub
client.</t>
      <t>Stub clients (MCP clients, alter-runtime daemons, onboarding
wizards, recognition verifiers) consuming <tt>_alter.&lt;domain&gt;</tt>
envelope records <bcp14>MUST</bcp14> reject any response that lacks a set AD bit
or that fails local RRSIG verification when operating in
validating-stub mode.  An envelope obtained over an unvalidated DNS
path is not an envelope; it is unauthenticated TXT content.
Treating it otherwise is a downgrade vulnerability (<xref target="sec-downgrade"/>).</t>
      <t>This requirement is specific to <tt>_alter.&lt;domain&gt;</tt> records.  DNSSEC
is <bcp14>RECOMMENDED</bcp14> but not <bcp14>REQUIRED</bcp14> for <tt>_mcp.&lt;domain&gt;</tt> and
<tt>_org-alter.&lt;domain&gt;</tt> records in this revision, for backward
compatibility with v01 and v02 deployments.  Future revisions of
this document <bcp14>MAY</bcp14> promote DNSSEC to <bcp14>REQUIRED</bcp14> for the other two
records once deployment data justifies the promotion.</t>
    </section>
    <section anchor="dane-tlsa">
      <name>DANE TLSA Pin</name>
      <t>The MCP endpoint associated with a published envelope <bcp14>MUST</bcp14> carry a
DANE TLSA resource record <xref target="RFC6698"/> binding the endpoint's leaf TLS
certificate or SubjectPublicKeyInfo to the zone.  The TLSA record
<bcp14>MUST</bcp14> be published at:</t>
      <artwork><![CDATA[
_443._tcp.mcp.<zone>. IN TLSA <usage> <selector> <matching-type>
                              <cert-association-data>
]]></artwork>
      <t>Recommended parameters:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Usage field.</strong> <tt>3</tt> (DANE-EE), pin the end-entity certificate
directly, with no CA chain reliance.  A publisher that explicitly
requires CA-chain validation <bcp14>MAY</bcp14> use <tt>1</tt> (PKIX-EE) instead.
Publishers <bcp14>MUST NOT</bcp14> use <tt>0</tt> (PKIX-TA) or <tt>2</tt> (DANE-TA) for the
envelope organ; the trust basis of the envelope is the
end-entity leaf.</t>
        </li>
        <li>
          <t><strong>Selector field.</strong> <tt>1</tt> (SPKI), pin the SubjectPublicKeyInfo so
that certificate rotations preserving the keypair do not
invalidate the record.  Selector <tt>0</tt> (full certificate) <bcp14>MAY</bcp14> be
used but requires more frequent TLSA republication.</t>
        </li>
        <li>
          <t><strong>Matching-type field.</strong> <tt>1</tt> (SHA-256).  Matching type <tt>2</tt>
(SHA-512) is reserved for future revisions.</t>
        </li>
      </ul>
      <t>Clients establishing an MCP session at <tt>https://mcp.&lt;zone&gt;/</tt> in
conjunction with a resolved envelope <bcp14>MUST</bcp14> fetch and validate the
TLSA record, <bcp14>MUST</bcp14> abort the TLS handshake on mismatch, and <bcp14>MUST NOT</bcp14>
fall back to PKIX-only validation on TLSA failure.</t>
      <t>The TLSA requirement is scoped to envelopes whose MCP session
establishment is triggered by the resolved envelope (i.e. when the
envelope resolution and the subsequent MCP session are part of a
single recognition transaction).  MCP clients that do not resolve
an envelope (e.g. v01-only clients consuming only <tt>_mcp.&lt;domain&gt;</tt>)
are out of scope for this requirement and continue to operate
under v01 rules.</t>
    </section>
    <section anchor="identitylog">
      <name>IdentityLog Cross-Reference</name>
      <t>The <tt>ilr=</tt> field of the <tt>_alter.&lt;domain&gt;</tt> record carries a
base64url-no-pad SHA-256 digest of an IdentityLog root claimed by
the publisher to have been witnessed at envelope creation.</t>
      <t>Revision 04 of this document required resolvers to cross-reference
that value against one of four named witness surfaces, and treated
a failure to do so as fatal to recognition.  That requirement is
WITHDRAWN.  It named surfaces that do not exist, and it would not
have achieved what it claimed even if they did.</t>
      <t>What <tt>ilr=</tt> can and cannot establish, stated plainly:</t>
      <ul spacing="normal">
        <li>
          <t>A resolver that has an independent view of the log <bcp14>MAY</bcp14> confirm
that the root named in <tt>ilr=</tt> is one the log actually published.</t>
        </li>
        <li>
          <t>A resolver <bcp14>MUST NOT</bcp14> conclude from <tt>ilr=</tt> that the envelope in
front of it is recorded in that log.  The field carries a root
and nothing else.  It carries no leaf hash, no audit path, and no
proof of inclusion, so no resolver can perform that check, and
<xref target="sec-substitution"/> sets out the forgery this permits.</t>
        </li>
        <li>
          <t>A resolver <bcp14>MUST NOT</bcp14> treat the presence, absence, or successful
lookup of <tt>ilr=</tt> as a defence against envelope substitution.</t>
        </li>
      </ul>
      <t>The field is retained so that withdrawing its security claim does
not also force a breaking change to the wire format.  It is
advisory.</t>
      <t>The log's leaf hashing, tree construction, cadence, and witness
protocol are not specified by this document, and a reader should
not assume a specification exists.</t>
      <t>The revocation check also crosses the IdentityLog.  Where a
resolver has access to the log's revocation surface, it <bcp14>MUST</bcp14> treat
the envelope as revoked, and <bcp14>MUST NOT</bcp14> honour it regardless of the
freshness of the TXT RRset, if a pre-image whose SHA-256 equals the
<tt>rev=</tt> field has been revealed there.</t>
      <t>A reader implementing from this document alone has no such access.
The surface that carries reveals is not specified here and is not
published anywhere a reader can fetch, so revocation status cannot
presently be established from DNS alone.  This is a gap in the
mechanism, not a property of it, and it is stated rather than
papered over.</t>
    </section>
    <section anchor="alter-uri">
      <name><tt>alter:</tt> URI Scheme Cross-Reference</name>
      <t>An IANA-registered URI scheme <tt>alter:</tt> provides a dispatchable
surface for <tt>~handle</tt> references: operating-system URI handlers
(xdg-mime, LSHandlers, Windows registry, Android intent-filter)
invoke a resolver that retrieves the envelope from DNS and verifies
it per <xref target="recognition"/>, falling back to the HTTPS <tt>.well-known</tt>
surface where the DNS record is absent.</t>
      <t>Registration is provisional per <xref target="RFC7595"/> Section 3.  The full
registration body, scheme syntax, semantics, encoding
considerations, interoperability and security considerations,
author and change controller, is submitted to IANA separately from
this document.
The IANA request is in progress as of the publication date of this
revision; the final registration reference will be substituted when
available.</t>
      <t>Handlers invoked via <tt>alter:</tt> URIs <bcp14>MUST</bcp14> perform full envelope
verification, DNSSEC validation (<xref target="dnssec"/>), and DANE TLSA binding
(<xref target="dane-tlsa"/>) when establishing any HTTPS session, before acting on
any content or
directive derived from the envelope.</t>
    </section>
    <section anchor="procedures">
      <name>Discovery and Bootstrap Procedures</name>
      <t>The three procedures below are normative and complete.  None of them
is a summary of an algorithm specified elsewhere.</t>
      <t>Revisions 03 and 04 of this document did not restate the first two.
They pointed at them by section number, in a document the reader was
expected to fetch separately, and every one of those pointers named
the wrong section.  Nothing is incorporated by reference now.  The
formats these procedures consume are given in full in
<xref target="mcp-record"/> and <xref target="orgalter-record"/>, and the procedures
themselves are below.</t>
      <section anchor="mcp-discovery">
        <name>Discovery Procedure: <tt>_mcp.&lt;domain&gt;</tt></name>
        <t>This is the algorithm an MCP client follows to discover an MCP
server associated with a given domain.  It is the algorithm of
<xref target="DNSDISC-01"/>, unchanged, restated here in full.</t>
        <section anchor="mcp-discovery-input">
          <name>Input</name>
          <t>The procedure takes a single input, an Origin Domain.  The Origin
Domain is typically extracted from an identifier encountered during
agent operation, such as an email address (<tt>user@example.com</tt> yields
<tt>example.com</tt>), a URL (<tt>https://example.com/path</tt> yields
<tt>example.com</tt>), a handle (<tt>~user@example.com</tt> yields
<tt>example.com</tt>), or a bare domain.</t>
        </section>
        <section anchor="mcp-discovery-algorithm">
          <name>Algorithm</name>
          <ol spacing="normal" type="1"><li>
              <t><strong>Normalise.</strong>  Convert the Origin Domain to its canonical form:
lowercase per <xref target="RFC4343"/>, and apply IDNA2008 processing where the
domain contains non-ASCII labels.</t>
            </li>
            <li>
              <t><strong>Construct query name.</strong>  Prepend the label <tt>_mcp.</tt> to the
normalised Origin Domain, yielding <tt>_mcp.&lt;origin&gt;.</tt>.</t>
            </li>
            <li>
              <t><strong>Query DNS.</strong>  Issue a DNS query for <tt>_mcp.&lt;origin&gt;. IN TXT</tt>
via the client's configured recursive resolver.  Clients <bcp14>SHOULD</bcp14>
prefer DoH (<xref target="RFC8484"/>) or DoT (<xref target="RFC7858"/>) to protect query
privacy (<xref target="privacy-query-metadata"/>).</t>
            </li>
            <li>
              <t><strong>Handle the DNS response.</strong>  </t>
              <t>
a. On NOERROR with one or more TXT records, proceed to step 5.  </t>
              <t>
b. On NXDOMAIN, or NOERROR with zero TXT records, proceed to
   step 8 (HTTPS fallback).  </t>
              <t>
c. On SERVFAIL or timeout, the client <bcp14>MAY</bcp14> retry with exponential
   backoff, or proceed to step 8.</t>
            </li>
            <li>
              <t><strong>Parse records.</strong>  For each TXT RDATA in the response:  </t>
              <t>
a. Concatenate all character-strings within the RDATA.  </t>
              <t>
b. Split the concatenated string on the <tt>";"</tt> delimiter, trimming
   leading and trailing whitespace from each field.  </t>
              <t>
c. Verify that the first field is <tt>v=mcp1</tt>.  If it is not,
   discard this record.  </t>
              <t>
d. Extract all recognised fields.  Ignore unknown fields, per the
   forward-compatibility rule of <xref target="mcp-forward-compat"/>.  </t>
              <t>
e. Verify that the <tt>url</tt> field is present and carries a
   syntactically valid HTTPS URL.  If it does not, discard this
   record.</t>
            </li>
            <li>
              <t><strong>Sort by priority.</strong>  Collect all valid records and sort them by
<tt>priority</tt> in ascending order, lowest value first.  Records of
equal priority <bcp14>MAY</bcp14> be tried in any order.</t>
            </li>
            <li>
              <t><strong>Connect.</strong>  For each record in priority order:  </t>
              <t>
a. Establish a TLS connection to the host named in the <tt>url</tt>
   field.  </t>
              <t>
b. Where the record carries a <tt>pk</tt> field, verify the key per
   <xref target="mcp-field-pk"/>.  On failure, skip to the next record.  </t>
              <t>
c. Determine the transport by applying the reading rule of
   <xref target="reading-legacy"/> to the record's <tt>transport</tt> and <tt>proto</tt>
   fields.  Where that rule directs the client to SKIP the
   record, skip it and proceed to the next record by priority.
   Otherwise, initiate the MCP session over the transport the
   rule yields.  </t>
              <t>
d. If the MCP <tt>initialize</tt> handshake succeeds, discovery is
   complete.  </t>
              <t>
e. If connection or handshake fails, proceed to the next record.
   If all records are exhausted, proceed to step 8.</t>
            </li>
            <li>
              <t><strong>HTTPS fallback.</strong>  Attempt HTTPS-based discovery by fetching
<tt>https://&lt;origin&gt;/.well-known/mcp/server-card.json</tt> per
<xref target="SEP-1649"/>, or <tt>https://&lt;origin&gt;/.well-known/mcp</tt> per
<xref target="SEP-1960"/>.  If fallback succeeds, proceed with the MCP session.
If fallback fails, discovery has failed.</t>
            </li>
          </ol>
          <t>This procedure does not consume the <tt>_alter.&lt;domain&gt;</tt> record and
imposes no DNSSEC requirement.  A client that resolves an envelope
executes <xref target="recognition"/> instead, which does.</t>
        </section>
      </section>
      <section anchor="orgalter-bootstrap">
        <name>Identity Bootstrap Procedure: <tt>_org-alter.&lt;domain&gt;</tt></name>
        <t>This is the procedure by which an org-alter implementation reads its
own DNS records on first install to populate its canonical identity
state.  It is the algorithm of <xref target="DNSDISC-02"/>, unchanged, restated
here in full.</t>
        <section anchor="orgalter-bootstrap-input">
          <name>Input</name>
          <t>The procedure takes a single input, the operator's primary domain
name, being the Policy Domain under which the operator publishes
records.</t>
        </section>
        <section anchor="orgalter-bootstrap-algorithm">
          <name>Algorithm</name>
          <ol spacing="normal" type="1"><li>
              <t><strong>Query <tt>_org-alter.&lt;domain&gt;</tt> TXT.</strong>  Issue a DNS query for the
Org-Identity Record.</t>
            </li>
            <li>
              <t><strong>If found, parse and load.</strong>  Extract <tt>org</tt>, <tt>entity</tt>,
<tt>entity-type</tt>, <tt>founded</tt>, <tt>regions</tt>, <tt>regulated</tt>, and
<tt>mcp-policy</tt> into the org-alter's identity state.  These become
the canonical identity declaration the org-alter uses in all
subsequent self-reports, brief generation, and external
attestation.</t>
            </li>
            <li>
              <t><strong>If <tt>bootstrap=</tt> is present, fetch the bootstrap document</strong> over
HTTPS.  Validate the document's TLS certificate against the
Policy Domain.  Merge the document's roster, logo, and extension
fields into the identity state.  Reject the bootstrap document if
its TLS certificate is invalid, or if its content does not parse.</t>
            </li>
            <li>
              <t><strong>Honour <tt>regulated=</tt> and <tt>mcp-policy=</tt></strong> as immutable structural
constraints on the org-alter instance.  </t>
              <t>
a. If <tt>regulated</tt> carries any framework token, set the
   org-alter's boundary policy to refuse, and disable every
   passive ingester layer.  </t>
              <t>
b. If <tt>mcp-policy=refuse-tenant</tt>, the org-alter <bcp14>MUST</bcp14> refuse to
   install any ingester that requires authenticated access to a
   tenant covered by the declared framework, even where
   credentials are subsequently provided.  </t>
              <t>
c. The wizard <bcp14>SHOULD</bcp14> display these constraints to the operator
   for confirmation, and <bcp14>MUST NOT</bcp14> allow the operator to override
   them silently.  An operator who wishes to relax a constraint
   <bcp14>MUST</bcp14> update the DNS record first, then re-run bootstrap.</t>
            </li>
            <li>
              <t><strong>Cross-check <tt>_mcp.&lt;domain&gt;</tt>.</strong>  Query the service-discovery
record of <xref target="mcp-record"/>.  Where both records exist and both
publish a <tt>pk</tt> field, the values <bcp14>MUST</bcp14> match.  A mismatch
indicates either a configuration error or a key compromise; the
wizard <bcp14>MUST</bcp14> refuse to bootstrap under that condition, and <bcp14>MUST</bcp14>
surface the discrepancy to the operator.  <xref target="sec-key-consistency"/>
states how this rule relates to the envelope key of
<xref target="alter-record"/>, which is a distinct key and is not subject to
it.</t>
            </li>
            <li>
              <t><strong>Verify against public registries.</strong>  Where the <tt>entity</tt> field
declares a known registry namespace (for example <tt>abn:</tt>), the
wizard <bcp14>SHOULD</bcp14> query the corresponding free public registry and
verify that the declared entity identifier resolves to the
declared <tt>org</tt> name.  A mismatch is not necessarily fatal,
because names change and registries lag, but the wizard <bcp14>MUST</bcp14>
surface the discrepancy and <bcp14>MUST</bcp14> require operator confirmation
before proceeding.</t>
            </li>
            <li>
              <t><strong>Persist canonical state.</strong>  Write the resolved identity into
the org-alter's local identity state, source-citing each field to
its DNS or HTTPS origin.</t>
            </li>
          </ol>
        </section>
        <section anchor="orgalter-bootstrap-coldstart">
          <name>First-Run Cold Start</name>
          <t>For an operator who has not yet published an <tt>_org-alter</tt> record at
the time of installation, the wizard <bcp14>MUST</bcp14> fall back to interactive
seeding.  It prompts for <tt>org</tt>, optionally prompts for <tt>entity</tt>, and
asks whether the operator's environment is regulated.  After
interactive seeding, the wizard <bcp14>SHOULD</bcp14> generate a draft DNS record
value for the operator to publish, which completes the bootstrap
loop.</t>
        </section>
      </section>
      <section anchor="recognition">
        <name>Envelope Recognition Procedure: <tt>_alter.&lt;domain&gt;</tt></name>
        <t>The procedure takes two inputs, a zone and the <tt>~handle</tt> to be
recognised, and both are <bcp14>REQUIRED</bcp14>.  An <tt>alter:~&lt;handle&gt;</tt> reference
supplies both.  A resolver that has only a zone, and no handle,
cannot execute this procedure.  Step 4 selects the record whose <tt>h=</tt>
matches the requested handle, and with no requested handle there is
nothing to match against.  Such a resolver has not been asked a
recognition question, and <bcp14>MUST NOT</bcp14> treat whatever record it finds at
the owner name as the answer to one.</t>
        <t>Given those two inputs, a resolver <bcp14>MUST</bcp14> execute the following steps
in order.  Steps 1 through 8 and step 10 are FATAL: failure of any
of them terminates recognition, and the envelope <bcp14>MUST</bcp14> be treated as
unverified.  Steps 9, 11 and 12 are ADVISORY in one specific sense,
and one only: BEING UNABLE TO PERFORM THEM <bcp14>MUST NOT</bcp14> terminate
recognition, because a resolver that cannot reach a surface has
learned nothing either way.  A POSITIVE finding at one of them is a
different matter, and step 12 is the case that bites: a revocation
actually observed is FATAL and <bcp14>MUST</bcp14> abort (step 12; <xref target="identitylog"/>).
Revision 04 made every step fatal, including steps that a
conformant resolver cannot perform at all, which made verification
unreachable.</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Query.</strong>  Issue a DNS TXT query for <tt>_alter.&lt;zone&gt;.</tt>.  Use
DoH or DoT in preference to UDP/53 where operationally feasible.</t>
          </li>
          <li>
            <t><strong>DNSSEC validation.</strong>  Validate the RRSIG chain from the root
trust anchor to the TXT RRset (<xref target="dnssec"/>).  Confirm the AD bit
on the response when relying on an upstream validating resolver,
or locally RRSIG-validate in validating-stub mode.  On failure,
abort.</t>
          </li>
          <li>
            <t><strong>Chunk reassembly.</strong>  Concatenate character-strings in RR order;
parse <tt>; </tt>-separated key-value pairs.</t>
          </li>
          <li>
            <t><strong>Handle disambiguation.</strong>  Select the record whose <tt>h=</tt> field
matches the requested <tt>~handle</tt>.  If no record matches, abort.</t>
          </li>
          <li>
            <t><strong>Field extraction.</strong>  Confirm presence of the seven required
fields (<tt>v</tt>, <tt>h</tt>, <tt>pk</tt>, <tt>ilr</tt>, <tt>ts</tt>, <tt>rev</tt>, <tt>sig</tt>).  Reject any
record missing any required field, or whose <tt>v</tt> is not
<tt>alter1</tt>.</t>
          </li>
          <li>
            <t><strong>Envelope reconstruction.</strong>  Build the envelope JSON exactly as
<xref target="signing-input"/> specifies, deriving <tt>signature_alg</tt> from the <tt>pk=</tt>
prefix and supplying an empty <tt>caveats</tt> array.</t>
          </li>
          <li>
            <t><strong>JCS canonicalisation.</strong>  Apply <xref target="RFC8785"/> JCS to the envelope
with the <tt>sig</tt> field absent.</t>
          </li>
          <li>
            <t><strong>Ed25519 verification.</strong>  Verify the detached <tt>sig</tt> over the
JCS byte stream using the public key in <tt>pk</tt>.  On failure,
abort.</t>
          </li>
          <li>
            <t><strong>IdentityLog cross-reference (ADVISORY, no longer fatal).</strong>  A
resolver with an independent view of the log <bcp14>MAY</bcp14> confirm that the
root named in <tt>ilr=</tt> is one the log published.  A resolver <bcp14>MUST
NOT</bcp14> abort on failure, and <bcp14>MUST NOT</bcp14> treat success as evidence that
this envelope is in the log, because <tt>ilr=</tt> carries no proof of
inclusion (<xref target="identitylog"/>; <xref target="sec-substitution"/>).  Revision 04 made this step
fatal on a check that cannot do what it claimed.</t>
          </li>
          <li>
            <t><strong>DANE TLSA validation.</strong>  When establishing an MCP session at
<tt>mcp.&lt;zone&gt;</tt> as part of the same recognition transaction, fetch
the TLSA record at <tt>_443._tcp.mcp.&lt;zone&gt;.</tt> and gate the TLS
handshake on the binding (<xref target="dane-tlsa"/>).  On mismatch, abort.</t>
          </li>
          <li>
            <t><strong>Caveats evaluation (OUT OF SCOPE for this document).</strong>  The
envelope schema admits an optional <tt>caveats</tt> array, which is
never carried in DNS.  This document specifies neither a
transport for it nor a vocabulary, so a resolver implementing
this document alone <bcp14>MUST</bcp14> treat the envelope as having no
caveats, and <bcp14>MUST</bcp14> verify the signature over an empty <tt>caveats</tt>
array per <xref target="signing-input"/>.  A future document may define a caveats
surface, and until one does, an envelope whose signer intended
caveats cannot be distinguished from one that carries none.
That limitation is stated here rather than hidden.</t>
          </li>
          <li>
            <t><strong>Revocation check (ADVISORY).</strong>  Where the resolver has access
to the log's revocation surface, consult it.  This step is
ADVISORY in the sense that being UNABLE to perform it <bcp14>MUST NOT</bcp14>
terminate recognition; a resolver that cannot reach a revocation
surface has learned nothing either way, and <xref target="identitylog"/> says why
one implementing this document alone cannot.  A POSITIVE result
is another matter entirely: if a pre-image whose SHA-256 equals
<tt>rev=</tt> has been revealed, the envelope IS revoked, recognition
<bcp14>MUST</bcp14> abort, and the envelope <bcp14>MUST NOT</bcp14> be honoured however fresh
the TXT RRset.</t>
          </li>
        </ol>
        <t>An envelope is verified when every FATAL step (1 through 8, and 10)
has succeeded AND no ADVISORY step has returned a positive failure.
The distinction matters at step 12: a resolver that CANNOT reach a
revocation surface has learned nothing and proceeds, while a
resolver that OBSERVES a revocation <bcp14>MUST</bcp14> abort and <bcp14>MUST NOT</bcp14> treat
the envelope as verified.  Steps 9, 11 and 12 are advisory only as
to unreachability, because gating verification on a step no
conformant implementation can execute would make verification
unreachable, and a specification no one can satisfy is not a
specification.  A verified envelope is the sole admissible input to
a recognition-over-qualification gate, and an
unverified envelope <bcp14>MUST</bcp14> be refused upstream of any authorisation
or trust decision.</t>
        <t>The twelve-step procedure above is normative and complete.  It is
not a summary of an algorithm specified elsewhere.</t>
      </section>
    </section>
    <section anchor="caching">
      <name>Caching</name>
      <t>The rules for the first two records are those of <xref target="DNSDISC-01"/> and
<xref target="DNSDISC-02"/>, unchanged, restated here so that a reader need not
fetch either document to cache correctly.</t>
      <t>For <tt>_mcp.&lt;domain&gt;</tt>, clients <bcp14>SHOULD</bcp14> cache the parsed record metadata
for the duration of the DNS TTL.  Where the record carries a <tt>ttl</tt>
field, clients <bcp14>MAY</bcp14> extend the metadata cache to that duration, but
<bcp14>MUST</bcp14> re-validate the underlying DNS record when the DNS TTL expires.
A client that has connected to an MCP server and verified its <tt>pk</tt>
        <bcp14>SHOULD</bcp14> cache the verified key binding and re-validate it on
subsequent connections, which is trust on first use with periodic
re-verification against DNS.</t>
      <t>For <tt>_org-alter.&lt;domain&gt;</tt>, records <bcp14>SHOULD</bcp14> be cached for the duration
of the DNS TTL.  An onboarding wizard typically reads the record
once at install time and persists the resolved state locally, so the
DNS record need not be re-read on every invocation.  Wizards <bcp14>MAY</bcp14>
re-read it on operator request, on <tt>epoch</tt> change detected by a
periodic background poll, or on identity verification failure.</t>
      <t><tt>_alter.&lt;domain&gt;</tt> records <bcp14>SHOULD</bcp14> be cached for the duration of the
DNS TTL.  Resolvers <bcp14>MUST NOT</bcp14> serve stale envelope TXT past the
RRset TTL unless they are themselves validating caches and can
re-confirm RRSIG coverage on each serve.  Recognition verifiers
<bcp14>MAY</bcp14> cache successful verification results locally for a short
interval (bounded above by the RRset TTL or 3600 seconds,
whichever is smaller) to amortise the cost of repeated JCS and
Ed25519 operations.  A resolver that is able to perform the
revocation check at all (<xref target="identitylog"/> sets out why one working from
this document alone is not) <bcp14>MUST</bcp14> re-run it on each recognition
event, not on each cache refresh.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>(Security considerations from v01 and v02 are retained.  Additional
considerations introduced by the envelope layer are below.)</t>
      <section anchor="sec-downgrade">
        <name>DNSSEC Downgrade</name>
        <t>The mandatory DNSSEC requirement in <xref target="dnssec"/> is the primary
defence against on-path manipulation of envelope TXT content.  An
attacker who can inject unsigned responses, e.g. via a compromised
resolver or a DNS middlebox that strips RRSIG, would otherwise
be able to substitute an attacker-controlled envelope at the resolver
boundary.  Stub clients <bcp14>MUST</bcp14> reject any response lacking AD or
failing local RRSIG verification.  Operators <bcp14>MUST NOT</bcp14> downgrade the
<tt>_alter.</tt> RRset to unsigned during KSK/ZSK rollover (see <xref target="RFC6781"/>
for best-current practice on rollover).</t>
      </section>
      <section anchor="tlsa-pin-rotation">
        <name>TLSA Pin Rotation</name>
        <t>The DANE TLSA requirement in <xref target="dane-tlsa"/> binds the MCP endpoint's TLS
leaf to a specific hash.  Operators rotating certificates <bcp14>MUST</bcp14>
publish the new TLSA record before the new certificate is activated
on the live listener, with a grace window of at least twice the
TLSA RRset TTL.  Selector 1 (SPKI) survives rotations that preserve
the keypair; selector 0 requires republication on every rotation.
Loss of the TLS private key forces certificate reissue and
republication of the TLSA record, not silent cert replacement.  It
does not engage the <tt>rev=</tt> reveal path, which revokes the identity
envelope and has no bearing on a TLS leaf.</t>
      </section>
      <section anchor="sec-substitution">
        <name>Envelope Substitution</name>
        <t>An attacker in control of a domain's DNS can publish an arbitrary
envelope for any <tt>~handle</tt> claimed to be hosted under that zone.
The structural defences, and the limit of each, are:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>IdentityLog witness.  This defence does not hold as specified,
and revision 04 was wrong to claim it did.</strong>  Revision 04 stated
that substitution of a locally-minted envelope that had not been
witnessed would fail, and that an attacker would have to corrupt
a log mirror.  Neither is true of the mechanism this document
specifies.  <tt>ilr=</tt> carries a bare tree root and no proof of
anything, so a resolver can confirm that the named root was
witnessed but CANNOT confirm that the envelope in front of it is
a leaf under that root, and no field of <xref target="alter-abnf"/> would let it.
A zone attacker therefore mints an envelope, copies any genuinely
witnessed root out of the public log, signs, and publishes.  The
result satisfies every check the recognition procedure of
<xref target="recognition"/> specifies.  As specified, <tt>ilr=</tt> establishes only
that the publisher could read a public value.  Implementers <bcp14>MUST
NOT</bcp14> rely on <tt>ilr=</tt> to detect substitution.</t>
          </li>
          <li>
            <t><strong>Ed25519 signature.</strong>  The detached signature binds the
envelope to a specific Ed25519 key.  An attacker who does not
hold the private key cannot forge a valid <tt>sig</tt>.  An attacker
who does hold the private key has already compromised the
handle; the revocation path (<xref target="identitylog"/>) is the residual mitigation.</t>
          </li>
          <li>
            <t><strong>DNSSEC.</strong>  <xref target="dnssec"/> prevents tampering with the TXT RRset in
transit.  This does not prevent a malicious zone operator from
publishing a malicious envelope, that attack is caught at
(1) and (2), but it prevents third-party substitution.</t>
          </li>
        </ol>
      </section>
      <section anchor="revocation-opacity">
        <name>Revocation Opacity</name>
        <t>Revocation is effected by revealing the pre-image to the
IdentityLog, not by removing the TXT record.  Absence of a record
is indistinguishable from misconfiguration; resolvers <bcp14>MUST NOT</bcp14>
treat absence as revocation.  This design is deliberate: a zone
briefly unreachable (DNS outage, registrar incident, tooling error)
must not accidentally become a revocation event.</t>
        <t>The cost is that a compromised zone may continue to serve a valid
(but intended-to-be-revoked) envelope until the rightful
handle-holder reveals the pre-image.  This document does not
specify where a reveal is published, and <xref target="identitylog"/> says why no such
surface can be assumed, so revocation is not presently actionable
by a resolver working from this document alone.
Handle-holders <bcp14>SHOULD</bcp14> establish a pre-committed revocation reveal
procedure at mint time.</t>
      </section>
      <section anchor="clock-skew-and-ts">
        <name>Clock Skew and <tt>ts=</tt></name>
        <t>The <tt>ts=</tt> inception timestamp is advisory: resolvers <bcp14>MAY</bcp14> use it to
detect implausibly future envelopes (e.g. minted more than a few
hundred seconds after current wall time) but <bcp14>MUST NOT</bcp14> rely on
local clock for security-critical decisions.  This document
specifies no authoritative ordering anchor.  <tt>ts=</tt> is self-asserted
by the publisher and is advisory only.</t>
      </section>
      <section anchor="sec-key-consistency">
        <name>Cross-Record Key Consistency</name>
        <t>Where all three records (<tt>_mcp</tt>, <tt>_org-alter</tt>, <tt>_alter</tt>) are
published under one zone and each carries a <tt>pk</tt> field, the values
<bcp14>MUST</bcp14> be evaluated for consistency.  Two different rules apply, and
revision 04 stated only one of them, which contradicted the
bootstrap procedure it incorporated by reference.</t>
        <t>The <tt>_mcp.pk</tt> and <tt>_org-alter.pk</tt> fields are the service key and the
organisational key.  Step 5 of <xref target="orgalter-bootstrap"/>, restated from
<xref target="DNSDISC-02"/>, requires them to MATCH where both are published, and
requires a bootstrapping wizard to refuse and to surface the
discrepancy where they do not.  That rule is unchanged.  A mismatch
across that pair indicates a configuration error or a key
compromise.</t>
        <t>The <tt>_alter.pk</tt> field is the Sovereign-tier envelope key.  It is a
structurally distinct key with a distinct purpose, it is NOT subject
to the bootstrap match rule, and it <bcp14>MAY</bcp14> differ from both of the
others.  A resolver <bcp14>MUST NOT</bcp14> treat a difference between <tt>_alter.pk</tt>
and either of the other two as evidence of anything.</t>
        <t>Where a zone operator has deliberately bound all three to one
Ed25519 key, which is a common pattern in a single-operator
deployment, a later mismatch indicates either a rotation in progress
or a compromise, and resolvers <bcp14>SHOULD</bcp14> surface it.  A resolver cannot
distinguish that deployment from one that intended three distinct
keys, because this document publishes no signal of the operator's
intent, so the surfacing is advisory and <bcp14>MUST NOT</bcp14> be fatal.</t>
      </section>
      <section anchor="passive-stream-coupling">
        <name>Passive-Stream Coupling</name>
        <t>A publisher <bcp14>SHOULD NOT</bcp14> ride an inferred trait, a passive-stream
derivative, or a provenance-tagged attribute on the
<tt>_alter.&lt;domain&gt;</tt> record.</t>
        <t>Revision 04 asserted that none could, calling it a structural
property rather than a recommendation, on the grounds that the ABNF
enumerates every field a resolver accepts.  That claim is
WITHDRAWN.  The ABNF of <xref target="alter-abnf"/> admits
<tt>unknown-field = token "=" *qtext</tt>, which is arbitrary attribute
carriage by construction, and <xref target="forward-compat"/> requires resolvers to
IGNORE unknown fields rather than reject the record.  The <tt>qtext</tt>
rule bounds only the field DELIMITER, so that an unknown field
cannot swallow the semicolon and consume the fields after it.  It
bounds nothing about the field's meaning.  Nothing in
this document structurally prevents a publisher from riding
additional attributes on this owner name, and a resolver <bcp14>MUST NOT</bcp14>
infer from a record's conformance that it carries nothing else.</t>
        <t>Two consequences follow, and neither was stated before.  An
unknown-field is NOT covered by the signing input of <xref target="signing-input"/>,
which spans the six required fields other than <tt>sig</tt>, plus the
derived <tt>signature_alg</tt> and an empty <tt>caveats</tt> array, and nothing
else.  Any attribute riding the record is therefore UNSIGNED, and a
resolver <bcp14>MUST NOT</bcp14> attribute it to the handle-holder.  And because a resolver ignores what it does
not recognise, the record is a viable carrier for data the envelope
was never meant to convey.  The privacy implications of passive
inference are out of scope for this document; the carriage risk is
not, and it is stated here.</t>
      </section>
    </section>
    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>(Privacy considerations from v01 and v02 are retained.  Additional
considerations introduced by the envelope layer are below.)</t>
      <section anchor="public-handle-disclosure">
        <name>Public Handle Disclosure</name>
        <t>Publishing <tt>_alter.&lt;domain&gt;</tt> exposes the bound <tt>~handle</tt>, its
Ed25519 public key, its IdentityLog root, its inception timestamp,
and its revocation-hash commitment to any DNS observer.  Revision
04 called that exposure by design, on the grounds that the envelope
is intended to be publicly verifiable.  Public verifiability does
not require public enumeration, and <xref target="alter-applicability"/> sets out why the
two came bundled here and should not have.
A handle-holder who requires concealment <bcp14>MUST NOT</bcp14> publish an
<tt>_alter.&lt;domain&gt;</tt> record; alternative organs
(the local <tt>alter-runtime</tt> daemon for local-only recognition, or
a hardware-anchored device-organ quorum for device-local presence
proof) support recognition without DNS publication.</t>
      </section>
      <section anchor="privacy-query-metadata">
        <name>DNS Query Metadata</name>
        <t>A resolver querying <tt>_alter.example.com</tt> reveals to its recursive
resolver that it intends to verify the envelope hosted under that
zone.  Query metadata privacy is addressed at the transport layer:
clients <bcp14>SHOULD</bcp14> prefer DoH (<xref target="RFC8484"/>) or DoT (<xref target="RFC7858"/>) over
UDP/53 where operationally feasible.  This consideration is
identical to v01 / v02 and is repeated here for emphasis given the
greater individual-identity sensitivity of the envelope surface.</t>
      </section>
      <section anchor="revocation-unlinkability">
        <name>Revocation Unlinkability</name>
        <t>The <tt>rev=</tt> field is the SHA-256 of a secret pre-image; publishing
it does not disclose the pre-image.  An observer cannot predict
the pre-image or link it back to any identifier.  Reveal at
revocation time links the pre-image to the envelope, but only at
the moment of revocation, not during the envelope's active
lifetime.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="iana-labels">
        <name>Underscored DNS Node Name Registration</name>
        <t>This document requests IANA to update the entries in the
"Underscored and Globally Scoped DNS Node Names" registry
established by <xref target="RFC8552"/> as follows.  Each label is defined by this
document, in the section named, and no longer by an earlier revision
of it.</t>
        <table>
          <thead>
            <tr>
              <th align="left">RR Type</th>
              <th align="left">_NODE NAME</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TXT</td>
              <td align="left">
                <tt>_mcp</tt></td>
              <td align="left">
                <xref target="mcp-record"/> of this document</td>
            </tr>
            <tr>
              <td align="left">TXT</td>
              <td align="left">
                <tt>_org-alter</tt></td>
              <td align="left">
                <xref target="orgalter-record"/> of this document</td>
            </tr>
            <tr>
              <td align="left">TXT</td>
              <td align="left">
                <tt>_alter</tt></td>
              <td align="left">
                <xref target="alter-record"/> of this document</td>
            </tr>
          </tbody>
        </table>
        <t>The <tt>_alter</tt> label is used to publish envelope records as defined
in <xref target="alter-record"/> of this document.  Formal registration of <tt>_alter</tt>
in the RFC 8552 registry is proposed on Standards Action
maturation of this draft; during the Internet-Draft phase, the
label operates under the provisional-use convention established by
<tt>_dmarc</tt>, <tt>_mta-sts</tt>, <tt>_mcp</tt> (this draft), and <tt>_org-alter</tt> (this
draft).</t>
      </section>
      <section anchor="alter-uri-scheme-registration">
        <name><tt>alter:</tt> URI Scheme Registration</name>
        <t>This document cross-references the provisional URI scheme
registration of <tt>alter:</tt> per <xref target="RFC7595"/> Section 3.  The full
registration body is submitted to IANA separately.  This document
notes that recognition verifiers invoked via <tt>alter:</tt> URIs <bcp14>MUST</bcp14>
follow <xref target="recognition"/> of this document for envelope verification.</t>
      </section>
      <section anchor="envelope-version-registry">
        <name>Envelope Version Registry</name>
        <t>This document defines the version tag <tt>v=alter1</tt> for the
<tt>_alter.&lt;domain&gt;</tt> record, independent of the identically-named tag
on the <tt>_org-alter.&lt;domain&gt;</tt> record.  Future versions (<tt>v=alter2</tt>
and beyond) <bcp14>SHOULD</bcp14> be coordinated with the ALTER implementation
community and documented in successor revisions of this draft.
Until a formal IETF working group is chartered for identity-
envelope DNS publication, the authors maintain the version
namespace.</t>
      </section>
      <section anchor="org-alter-version-registry-unchanged-from-v02">
        <name>Org-Alter Version Registry (unchanged from v02)</name>
        <t>The version tag <tt>v=alter1</tt> for the <tt>_org-alter.&lt;domain&gt;</tt> record is
preserved from v02.  No changes are requested in this revision.</t>
      </section>
      <section anchor="registry-namespace-registry-unchanged-from-v02">
        <name>Registry Namespace Registry (unchanged from v02)</name>
        <t>The initial set of <tt>entity</tt> field registry namespaces (<tt>abn</tt>,
<tt>acn</tt>, <tt>ein</tt>, <tt>ch</tt>, <tt>cro</tt>, <tt>lei</tt>) defined in v02 is preserved
unchanged.</t>
      </section>
      <section anchor="framework-token-registry-unchanged-from-v02">
        <name>Framework Token Registry (unchanged from v02)</name>
        <t>The initial set of <tt>regulated</tt> framework tokens (<tt>disp</tt>, <tt>itar</tt>,
<tt>ear</tt>, <tt>hipaa</tt>, <tt>gdpr</tt>, <tt>soc2</tt>, <tt>iso27001</tt>, <tt>iso42001</tt>,
<tt>essential8</tt>, <tt>aprs</tt>) defined in v02 is preserved unchanged.</t>
      </section>
      <section anchor="sigalg-registry">
        <name>Signature Algorithm Registry</name>
        <t>This document defines the initial <tt>pk=</tt> and <tt>sig=</tt> algorithm
namespace <tt>ed25519</tt> for the <tt>_alter.&lt;domain&gt;</tt> record.  Future
algorithms (e.g. <tt>ed448</tt>, <tt>ml-dsa-65</tt>) <bcp14>MAY</bcp14> be registered by
successor documents.  Resolvers <bcp14>MUST</bcp14> reject records whose
algorithm prefix is not registered at the resolver's protocol
version.</t>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>This section provides non-normative examples of Envelope Records
for common deployment scenarios.</t>
      <section anchor="minimal-envelope-for-a-single-handle-not-recommended">
        <name>Minimal Envelope for a Single Handle (NOT RECOMMENDED)</name>
        <t>A zone hosting a single Sovereign-tier handle publishes its
envelope at <tt>_alter.&lt;zone&gt;.</tt>:</t>
        <artwork><![CDATA[
_alter.example.com. 3600 IN TXT (
  "v=alter1; h=~alice; "
  "pk=ed25519:<EXAMPLE-pubkey-32B-base64url>; "
  "ilr=<EXAMPLE-identitylog-root-32B-base64url>; "
  "ts=1729123456; "
  "rev=<EXAMPLE-revocation-hash-32B-base64url>; "
  "sig=<EXAMPLE-ed25519-signature-64B-base64url>"
)
]]></artwork>
        <t>All base64url values in this example are illustrative.  Production
values are the Ed25519 public key, SHA-256 digests, and 64-byte
detached signature encoded per <xref target="RFC4648"/> Section 5 without
padding.</t>
      </section>
      <section anchor="zone-hosting-multiple-handles-a-publisher-must-not-do-this">
        <name>Zone Hosting Multiple Handles (a publisher MUST NOT do this)</name>
        <t>This example is retained so that a resolver can read the records a
v04 publisher may already have published.  It is NOT a pattern to
follow.  The shape below IS the enumeration exposure described in
the Applicability statement.  One query at the owner name returns
every handle the zone hosts, and none of the individuals listed can
consent on behalf of the others.  A publisher <bcp14>MUST NOT</bcp14> create it
(<xref target="alter-location"/>).</t>
        <t>Resolvers disambiguate by the <tt>h=</tt> field:</t>
        <artwork><![CDATA[
_alter.example.org. 3600 IN TXT "v=alter1; h=~alice; pk=..."
_alter.example.org. 3600 IN TXT "v=alter1; h=~bob; pk=..."
_alter.example.org. 3600 IN TXT "v=alter1; h=~carol.bot; pk=..."
]]></artwork>
        <t>A resolver asked to verify <tt>~bob</tt> at <tt>example.org</tt> selects the
second RR.</t>
      </section>
      <section anchor="full-zone-all-three-records-the-alter-record-is-not-recommended">
        <name>Full Zone (All Three Records; the <tt>_alter</tt> record is NOT RECOMMENDED)</name>
        <t>A zone operator running an org-alter instance for their own
principal handle publishes all three records:</t>
        <artwork><![CDATA[
_mcp.example.com.      IN TXT "v=mcp1; url=https://mcp.example.com/"
_org-alter.example.com. IN TXT "v=alter1; org=Example Org; ..."
_alter.example.com.     IN TXT "v=alter1; h=~alice; "
                               "pk=ed25519:...; ilr=...; "
                               "ts=...; rev=...; sig=..."
_443._tcp.mcp.example.com. IN TLSA 3 1 1 <sha256-of-spki>
]]></artwork>
        <t>Together these expose: the MCP service endpoint and its
capabilities (<tt>_mcp</tt>); the legal entity, regulatory posture, and
jurisdictional regions (<tt>_org-alter</tt>); the Sovereign-tier
envelope for <tt>~alice</tt> (<tt>_alter</tt>); and the DANE TLSA pin on the
MCP endpoint.  A resolver may consume any subset according to its
recognition requirement.</t>
      </section>
      <section anchor="instrument-tier-handle-not-recommended">
        <name>Instrument-Tier Handle (NOT RECOMMENDED)</name>
        <t>An AI instrument handle uses the <tt>~cc-</tt> prefix:</t>
        <artwork><![CDATA[
_alter.example.com. 3600 IN TXT (
  "v=alter1; h=~cc-example-model; "
  "pk=ed25519:...; ilr=...; ts=...; rev=...; sig=..."
)
]]></artwork>
        <t>Instrument-tier envelopes are bound to a specific model version.
Rotation of the model version produces a new <tt>~cc-</tt> handle with a
new envelope; the prior envelope remains verifiable over its
active lifetime and is revoked by the IdentityLog reveal path when
the model is retired.</t>
      </section>
    </section>
    <section anchor="interop">
      <name>Interoperability with Earlier Record Generations</name>
      <t>A domain that publishes only a v01 <tt>_mcp.&lt;domain&gt;</tt> record continues
to work with all v01, v02, and v03 clients.  Where that record
carries a transport value in <tt>proto</tt>, a client conforming to this
revision reads it under rule 3 of <xref target="reading-legacy"/> and reaches the
same endpoint over the same transport.  No republication is required
for the record to keep working, and none is required for a record
carrying a <tt>proto</tt> value that no revision recognised, because such a
record was skipped by v01 clients and is skipped by these.</t>
      <t>A domain that publishes <tt>_mcp.&lt;domain&gt;</tt> and <tt>_org-alter.&lt;domain&gt;</tt>
(v02) continues to work with v02 clients and with clients conforming
to this document, unchanged.  A client conforming to this document
may additionally query <tt>_alter.&lt;domain&gt;</tt> and <bcp14>MUST</bcp14> handle its absence
gracefully, which is the common case and the recommended one:
publication of that record is <bcp14>NOT RECOMMENDED</bcp14>
(<xref target="alter-applicability"/>), so a conforming client should expect to
find it absent and <bcp14>MUST NOT</bcp14> treat its absence as an error.</t>
      <t>A domain that publishes all three records benefits from:</t>
      <ul spacing="normal">
        <li>
          <t>Service discovery via <tt>_mcp.&lt;domain&gt;</tt> (v01).</t>
        </li>
        <li>
          <t>Organisational identity bootstrap via <tt>_org-alter.&lt;domain&gt;</tt>
(v02).</t>
        </li>
        <li>
          <t>Individual identity recognition via <tt>_alter.&lt;domain&gt;</tt> (v03).</t>
        </li>
        <li>
          <t>DNSSEC-authenticated envelope delivery (<xref target="dnssec"/>).</t>
        </li>
        <li>
          <t>DANE TLSA binding on the MCP endpoint (<xref target="dane-tlsa"/>).</t>
        </li>
      </ul>
      <t>A domain that publishes only <tt>_alter.&lt;domain&gt;</tt> (envelope-only, no
MCP server, no organisational record) is permitted by the grammar.
Revision 04 called it the appropriate configuration for a
Sovereign-tier individual.  That recommendation is WITHDRAWN, and
the configuration is <bcp14>NOT RECOMMENDED</bcp14> per <xref target="alter-applicability"/>.</t>
      <t>The three records are orthogonal along their semantic axes but
share the zone's DNSSEC trust root.  A resolver conforming to this
document that resolves any subset of the three records treats each
resolution as independent and does not fail the resolution of one
record because another is absent or malformed.</t>
    </section>
    <section anchor="impl-status">
      <name>Implementation Status</name>
      <t>This section records the status of known implementations at the
time of publication, per <xref target="RFC7942"/>.</t>
      <t>This section was materially wrong in revision 04, which described a
deployment that does not exist.  It is rewritten here against the
zone as it actually resolves and the code as it is actually
written.  What follows is deployed, and nothing else is claimed.</t>
      <t>Deployed and resolvable in the <tt>truealter.com</tt> zone:</t>
      <ul spacing="normal">
        <li>
          <t><tt>_mcp.truealter.com</tt>, carrying <tt>v=mcp1</tt> with <tt>url</tt>, <tt>proto</tt>,
<tt>pk</tt>, <tt>epoch</tt>, and <tt>cap</tt>.  This is the only record in the zone
that a resolver can verify against this document today.</t>
        </li>
        <li>
          <t><tt>_alter.truealter.com</tt>, carrying <tt>v=alter1</tt>.  It does not carry
the envelope field set (<tt>h</tt>, <tt>ilr</tt>, <tt>ts</tt>, <tt>rev</tt>, <tt>sig</tt>) and is
therefore NOT an instance of the Envelope Record of <xref target="alter-record"/>.
No conformant Envelope Record is published in this zone.</t>
        </li>
      </ul>
      <t>Implemented in code, and NOT exercised against any conformant
envelope, because none is published:</t>
      <ul spacing="normal">
        <li>
          <t>A resolver and verification library implementing the JCS
signing-input construction of <xref target="signing-input"/> and the Ed25519
signature check.  It conforms to this revision on the signing
input and the signature check.  It does NOT conform on two steps
of the recognition procedure of <xref target="recognition"/>: it still treats the
IdentityLog cross-reference as fatal, where step 9 now says a
resolver <bcp14>MUST NOT</bcp14> abort, and it still fetches caveats over HTTPS,
which step 11 now places out of scope.  Those two steps follow
revision 04, and this document does not claim otherwise.</t>
        </li>
      </ul>
      <t>NOT deployed, and stated plainly because revision 04 claimed
otherwise:</t>
      <ul spacing="normal">
        <li>
          <t><tt>_org-alter.truealter.com</tt> does not resolve.  NXDOMAIN.</t>
        </li>
        <li>
          <t><tt>_443._tcp.mcp.truealter.com</tt> does not resolve, so no DANE TLSA
pin is published and the DANE binding of <xref target="dane-tlsa"/> is untested in
deployment.</t>
        </li>
        <li>
          <t><tt>truealter.com</tt> is NOT DNSSEC-signed.  It publishes no DNSKEY and
the parent zone holds no DS.  <xref target="dnssec"/> of this document is a
<bcp14>MUST</bcp14>, and the operator does not yet meet it.  No Envelope Record
can be relied upon in this zone until it does.</t>
        </li>
        <li>
          <t>There is no signed-tree-head federation and no witness-mirror
network.  Revision 04 described four independent witness surfaces
including an on-chain anchor contract.  None of them exist.</t>
        </li>
        <li>
          <t>No inclusion proof is generated or checked anywhere.  The <tt>ilr</tt>
field of <xref target="alter-abnf"/> is published as a bare root with no proof
attached.  <xref target="sec-substitution"/> sets out what that permits.</t>
        </li>
      </ul>
      <t>The Envelope Record of <xref target="alter-record"/> therefore has NO conformant
deployment at the time of writing, in this zone or any other known
to the author.  It is specified, implemented in a verifier, and
unpublished.</t>
      <t>The deployed <tt>_alter.truealter.com</tt> record carries none of the
envelope fields that <xref target="alter-record"/> defines, so it is not an instance of
the Envelope Record and a resolver <bcp14>MUST NOT</bcp14> treat it as one.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC1035" target="https://www.rfc-editor.org/info/rfc1035" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml">
          <front>
            <title>Domain names - implementation and specification</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System. It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1035"/>
          <seriesInfo name="DOI" value="10.17487/RFC1035"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <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="RFC4033" target="https://www.rfc-editor.org/info/rfc4033" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4033.xml">
          <front>
            <title>DNS Security Introduction and Requirements</title>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <author fullname="M. Larson" initials="M." surname="Larson"/>
            <author fullname="D. Massey" initials="D." surname="Massey"/>
            <author fullname="S. Rose" initials="S." surname="Rose"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>The Domain Name System Security Extensions (DNSSEC) add data origin authentication and data integrity to the Domain Name System. This document introduces these extensions and describes their capabilities and limitations. This document also discusses the services that the DNS security extensions do and do not provide. Last, this document describes the interrelationships between the documents that collectively describe DNSSEC. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4033"/>
          <seriesInfo name="DOI" value="10.17487/RFC4033"/>
        </reference>
        <reference anchor="RFC4034" target="https://www.rfc-editor.org/info/rfc4034" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4034.xml">
          <front>
            <title>Resource Records for the DNS Security Extensions</title>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <author fullname="M. Larson" initials="M." surname="Larson"/>
            <author fullname="D. Massey" initials="D." surname="Massey"/>
            <author fullname="S. Rose" initials="S." surname="Rose"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>This document is part of a family of documents that describe the DNS Security Extensions (DNSSEC). The DNS Security Extensions are a collection of resource records and protocol modifications that provide source authentication for the DNS. This document defines the public key (DNSKEY), delegation signer (DS), resource record digital signature (RRSIG), and authenticated denial of existence (NSEC) resource records. The purpose and format of each resource record is described in detail, and an example of each resource record is given.</t>
              <t>This document obsoletes RFC 2535 and incorporates changes from all updates to RFC 2535. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4034"/>
          <seriesInfo name="DOI" value="10.17487/RFC4034"/>
        </reference>
        <reference anchor="RFC4035" target="https://www.rfc-editor.org/info/rfc4035" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4035.xml">
          <front>
            <title>Protocol Modifications for the DNS Security Extensions</title>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <author fullname="M. Larson" initials="M." surname="Larson"/>
            <author fullname="D. Massey" initials="D." surname="Massey"/>
            <author fullname="S. Rose" initials="S." surname="Rose"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>This document is part of a family of documents that describe the DNS Security Extensions (DNSSEC). The DNS Security Extensions are a collection of new resource records and protocol modifications that add data origin authentication and data integrity to the DNS. This document describes the DNSSEC protocol modifications. This document defines the concept of a signed zone, along with the requirements for serving and resolving by using DNSSEC. These techniques allow a security-aware resolver to authenticate both DNS resource records and authoritative DNS error indications.</t>
              <t>This document obsoletes RFC 2535 and incorporates changes from all updates to RFC 2535. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4035"/>
          <seriesInfo name="DOI" value="10.17487/RFC4035"/>
        </reference>
        <reference anchor="RFC4343" target="https://www.rfc-editor.org/info/rfc4343" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4343.xml">
          <front>
            <title>Domain Name System (DNS) Case Insensitivity Clarification</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>Domain Name System (DNS) names are "case insensitive". This document explains exactly what that means and provides a clear specification of the rules. This clarification updates RFCs 1034, 1035, and 2181. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4343"/>
          <seriesInfo name="DOI" value="10.17487/RFC4343"/>
        </reference>
        <reference anchor="RFC4648" target="https://www.rfc-editor.org/info/rfc4648" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4648.xml">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC5234" target="https://www.rfc-editor.org/info/rfc5234" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5234.xml">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="P. Overell" initials="P." surname="Overell"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
        <reference anchor="RFC6698" target="https://www.rfc-editor.org/info/rfc6698" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6698.xml">
          <front>
            <title>The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schlyter" initials="J." surname="Schlyter"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>Encrypted communication on the Internet often uses Transport Layer Security (TLS), which depends on third parties to certify the keys used. This document improves on that situation by enabling the administrators of domain names to specify the keys used in that domain's TLS servers. This requires matching improvements in TLS client software, but no change in TLS server software. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6698"/>
          <seriesInfo name="DOI" value="10.17487/RFC6698"/>
        </reference>
        <reference anchor="RFC7208" target="https://www.rfc-editor.org/info/rfc7208" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7208.xml">
          <front>
            <title>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</title>
            <author fullname="S. Kitterman" initials="S." surname="Kitterman"/>
            <date month="April" year="2014"/>
            <abstract>
              <t>Email on the Internet can be forged in a number of ways. In particular, existing protocols place no restriction on what a sending host can use as the "MAIL FROM" of a message or the domain given on the SMTP HELO/EHLO commands. This document describes version 1 of the Sender Policy Framework (SPF) protocol, whereby ADministrative Management Domains (ADMDs) can explicitly authorize the hosts that are allowed to use their domain names, and a receiving host can check such authorization.</t>
              <t>This document obsoletes RFC 4408.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7208"/>
          <seriesInfo name="DOI" value="10.17487/RFC7208"/>
        </reference>
        <reference anchor="RFC7595" target="https://www.rfc-editor.org/info/rfc7595" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7595.xml">
          <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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <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="RFC8461" target="https://www.rfc-editor.org/info/rfc8461" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8461.xml">
          <front>
            <title>SMTP MTA Strict Transport Security (MTA-STS)</title>
            <author fullname="D. Margolis" initials="D." surname="Margolis"/>
            <author fullname="M. Risher" initials="M." surname="Risher"/>
            <author fullname="B. Ramakrishnan" initials="B." surname="Ramakrishnan"/>
            <author fullname="A. Brotman" initials="A." surname="Brotman"/>
            <author fullname="J. Jones" initials="J." surname="Jones"/>
            <date month="September" year="2018"/>
            <abstract>
              <t>SMTP MTA Strict Transport Security (MTA-STS) is a mechanism enabling mail service providers (SPs) to declare their ability to receive Transport Layer Security (TLS) secure SMTP connections and to specify whether sending SMTP servers should refuse to deliver to MX hosts that do not offer TLS with a trusted server certificate.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8461"/>
          <seriesInfo name="DOI" value="10.17487/RFC8461"/>
        </reference>
        <reference anchor="RFC8552" target="https://www.rfc-editor.org/info/rfc8552" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8552.xml">
          <front>
            <title>Scoped Interpretation of DNS Resource Records through "Underscored" Naming of Attribute Leaves</title>
            <author fullname="D. Crocker" initials="D." surname="Crocker"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Formally, any DNS Resource Record (RR) may occur under any domain name. However, some services use an operational convention for defining specific interpretations of an RRset by locating the records in a DNS branch under the parent domain to which the RRset actually applies. The top of this subordinate branch is defined by a naming convention that uses a reserved node name, which begins with the underscore character (e.g., "_name"). The underscored naming construct defines a semantic scope for DNS record types that are associated with the parent domain above the underscored branch. This specification explores the nature of this DNS usage and defines the "Underscored and Globally Scoped DNS Node Names" registry with IANA. The purpose of this registry is to avoid collisions resulting from the use of the same underscored name for different services.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="222"/>
          <seriesInfo name="RFC" value="8552"/>
          <seriesInfo name="DOI" value="10.17487/RFC8552"/>
        </reference>
        <reference anchor="RFC8785" target="https://www.rfc-editor.org/info/rfc8785" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8785.xml">
          <front>
            <title>JSON Canonicalization Scheme (JCS)</title>
            <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
            <author fullname="B. Jordan" initials="B." surname="Jordan"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
              <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8785"/>
          <seriesInfo name="DOI" value="10.17487/RFC8785"/>
        </reference>
        <reference anchor="RFC9421" target="https://www.rfc-editor.org/info/rfc9421" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9421.xml">
          <front>
            <title>HTTP Message Signatures</title>
            <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Sporny" initials="M." surname="Sporny"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>This document describes a mechanism for creating, encoding, and verifying digital signatures or message authentication codes over components of an HTTP message. This mechanism supports use cases where the full HTTP message may not be known to the signer and where the message may be transformed (e.g., by intermediaries) before reaching the verifier. This document also describes a means for requesting that a signature be applied to a subsequent HTTP message in an ongoing HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9421"/>
          <seriesInfo name="DOI" value="10.17487/RFC9421"/>
        </reference>
        <reference anchor="RFC9460" target="https://www.rfc-editor.org/info/rfc9460" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9460.xml">
          <front>
            <title>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)</title>
            <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
            <author fullname="M. Bishop" initials="M." surname="Bishop"/>
            <author fullname="E. Nygren" initials="E." surname="Nygren"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document specifies the "SVCB" ("Service Binding") and "HTTPS" DNS resource record (RR) types to facilitate the lookup of information needed to make connections to network services, such as for HTTP origins. SVCB records allow a service to be provided from multiple alternative endpoints, each with associated parameters (such as transport protocol configuration), and are extensible to support future uses (such as keys for encrypting the TLS ClientHello). They also enable aliasing of apex domains, which is not possible with CNAME. The HTTPS RR is a variation of SVCB for use with HTTP (see RFC 9110, "HTTP Semantics"). By providing more information to the client before it attempts to establish a connection, these records offer potential benefits to both performance and privacy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9460"/>
          <seriesInfo name="DOI" value="10.17487/RFC9460"/>
        </reference>
        <reference anchor="MCP" target="https://modelcontextprotocol.io">
          <front>
            <title>Model Context Protocol Specification</title>
            <author>
              <organization>Agentic AI Foundation</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="AGENT-AID" target="https://datatracker.ietf.org/doc/draft-nemethi-aid-agent-identity-discovery/">
          <front>
            <title>Agent Identity and Discovery (AID)</title>
            <author fullname="B. Nemethi">
              <organization>Open Agent Registry, Inc.</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="DNS-AID" target="https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-dnsaid/">
          <front>
            <title>DNS for AI Discovery</title>
            <author fullname="J. Mozley">
              <organization>Infoblox, Inc.</organization>
            </author>
            <author fullname="N. Williams">
              <organization>Infoblox, Inc.</organization>
            </author>
            <author fullname="B. Sarikaya">
              <organization/>
            </author>
            <author fullname="R. Schott">
              <organization>Deutsche Telekom</organization>
            </author>
            <author fullname="J. Damick">
              <organization>Amazon</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="MDNS-AGENT" target="https://datatracker.ietf.org/doc/draft-jakab-dawn-agent-discovery-mdns/">
          <front>
            <title>Zero-Configuration Agent Discovery</title>
            <author fullname="L. Jakab">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="F. Brockners">
              <organization>Cisco Systems</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="MDNS-ARCHITECT" target="https://datatracker.ietf.org/doc/draft-yao-dawn-agent-discovery-architect/">
          <front>
            <title>Agent Discovery Architecture</title>
            <author fullname="J. Yao">
              <organization>CNNIC</organization>
            </author>
            <author fullname="G. Geng">
              <organization>Jinan University</organization>
            </author>
            <author fullname="M. Chen">
              <organization>China Mobile</organization>
            </author>
            <author fullname="H. Li">
              <organization>CNNIC</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="SAIP" target="https://datatracker.ietf.org/doc/draft-jovancevic-saip/">
          <front>
            <title>SAIP: Signed Agent Identity Protocol</title>
            <author fullname="S. Jovancevic">
              <organization>SKGO</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="DNSDISC-01" target="https://datatracker.ietf.org/doc/html/draft-morrison-mcp-dns-discovery-01">
          <front>
            <title>Discovery of Model Context Protocol Servers via DNS TXT Records</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026" month="April"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-morrison-mcp-dns-discovery-01"/>
        </reference>
        <reference anchor="DNSDISC-02" target="https://datatracker.ietf.org/doc/html/draft-morrison-mcp-dns-discovery-02">
          <front>
            <title>Discovery of Model Context Protocol Servers via DNS TXT Records</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026" month="April"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-morrison-mcp-dns-discovery-02"/>
        </reference>
        <reference anchor="RFC2606" target="https://www.rfc-editor.org/info/rfc2606" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2606.xml">
          <front>
            <title>Reserved Top Level DNS Names</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="A. Panitz" initials="A." surname="Panitz"/>
            <date month="June" year="1999"/>
            <abstract>
              <t>To reduce the likelihood of conflict and confusion, a few top level domain names are reserved for use in private testing, as examples in documentation, and the like. In addition, a few second level domain names reserved for use as examples are documented. 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="32"/>
          <seriesInfo name="RFC" value="2606"/>
          <seriesInfo name="DOI" value="10.17487/RFC2606"/>
        </reference>
        <reference anchor="RFC6376" target="https://www.rfc-editor.org/info/rfc6376" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6376.xml">
          <front>
            <title>DomainKeys Identified Mail (DKIM) Signatures</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="T. Hansen" initials="T." role="editor" surname="Hansen"/>
            <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy"/>
            <date month="September" year="2011"/>
            <abstract>
              <t>DomainKeys Identified Mail (DKIM) permits a person, role, or organization that owns the signing domain to claim some responsibility for a message by associating the domain with the message. This can be an author's organization, an operational relay, or one of their agents. DKIM separates the question of the identity of the Signer of the message from the purported author of the message. Assertion of responsibility is validated through a cryptographic signature and by querying the Signer's domain directly to retrieve the appropriate public key. Message transit from author to recipient is through relays that typically make no substantive change to the message content and thus preserve the DKIM signature.</t>
              <t>This memo obsoletes RFC 4871 and RFC 5672. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="76"/>
          <seriesInfo name="RFC" value="6376"/>
          <seriesInfo name="DOI" value="10.17487/RFC6376"/>
        </reference>
        <reference anchor="RFC6781" target="https://www.rfc-editor.org/info/rfc6781" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6781.xml">
          <front>
            <title>DNSSEC Operational Practices, Version 2</title>
            <author fullname="O. Kolkman" initials="O." surname="Kolkman"/>
            <author fullname="W. Mekking" initials="W." surname="Mekking"/>
            <author fullname="R. Gieben" initials="R." surname="Gieben"/>
            <date month="December" year="2012"/>
            <abstract>
              <t>This document describes a set of practices for operating the DNS with security extensions (DNSSEC). The target audience is zone administrators deploying DNSSEC.</t>
              <t>The document discusses operational aspects of using keys and signatures in the DNS. It discusses issues of key generation, key storage, signature generation, key rollover, and related policies.</t>
              <t>This document obsoletes RFC 4641, as it covers more operational ground and gives more up-to-date requirements with respect to key sizes and the DNSSEC operations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6781"/>
          <seriesInfo name="DOI" value="10.17487/RFC6781"/>
        </reference>
        <reference anchor="RFC9989" target="https://www.rfc-editor.org/info/rfc9989" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9989.xml">
          <front>
            <title>Domain-Based Message Authentication, Reporting, and Conformance (DMARC)</title>
            <author fullname="T. Herr" initials="T." role="editor" surname="Herr"/>
            <author fullname="J. Levine" initials="J." role="editor" surname="Levine"/>
            <date month="May" year="2026"/>
            <abstract>
              <t>This document describes the Domain-based Message Authentication, Reporting, and Conformance (DMARC) protocol.</t>
              <t>DMARC permits the owner of an email's Author Domain to enable validation of the domain's use to indicate the Domain Owner's or Public Suffix Operator's message handling preference regarding failed validation and to request reports about the use of the domain name. Mail-receiving organizations can use this information when evaluating handling choices for incoming mail.</t>
              <t>This document obsoletes RFCs 7489 and 9091.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9989"/>
          <seriesInfo name="DOI" value="10.17487/RFC9989"/>
        </reference>
        <reference anchor="RFC7858" target="https://www.rfc-editor.org/info/rfc7858" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7858.xml">
          <front>
            <title>Specification for DNS over Transport Layer Security (TLS)</title>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <author fullname="L. Zhu" initials="L." surname="Zhu"/>
            <author fullname="J. Heidemann" initials="J." surname="Heidemann"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This document describes the use of Transport Layer Security (TLS) to provide privacy for DNS. Encryption provided by TLS eliminates opportunities for eavesdropping and on-path tampering with DNS queries in the network, such as discussed in RFC 7626. In addition, this document specifies two usage profiles for DNS over TLS and provides advice on performance considerations to minimize overhead from using TCP and TLS with DNS.</t>
              <t>This document focuses on securing stub-to-recursive traffic, as per the charter of the DPRIVE Working Group. It does not prevent future applications of the protocol to recursive-to-authoritative traffic.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7858"/>
          <seriesInfo name="DOI" value="10.17487/RFC7858"/>
        </reference>
        <reference anchor="RFC7942" target="https://www.rfc-editor.org/info/rfc7942" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7942.xml">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC8484" target="https://www.rfc-editor.org/info/rfc8484" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8484.xml">
          <front>
            <title>DNS Queries over HTTPS (DoH)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8484"/>
          <seriesInfo name="DOI" value="10.17487/RFC8484"/>
        </reference>
        <reference anchor="SEP-1649" target="https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1649">
          <front>
            <title>MCP Server Cards</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SEP-1960" target="https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1960">
          <front>
            <title>.well-known/mcp Discovery Endpoint</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="MORRISON-IFT" target="https://doi.org/10.6084/m9.figshare.31951383">
          <front>
            <title>Identity Field Theory: Toward a Physics of Being Known</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 2472?>

<section anchor="recognition-pseudocode">
      <name>Recognition Pseudocode</name>
      <t>The following pseudocode illustrates the combined recognition
procedure defined in <xref target="recognition"/>.  It is non-normative; the
normative procedure is the twelve-step algorithm in the body of
this document.</t>
      <artwork><![CDATA[
function recognise_envelope(handle, zone):
    # Step 1-2: Query + DNSSEC
    response = dns_query("_alter." + zone, type=TXT, prefer=DoH)
    if not response.ad_bit and not local_rrsig_validate(response):
        raise UnauthenticatedResponse

    # Step 3-5: Chunk reassembly + handle disambiguation + fields
    records = [parse_alter_record(rr) for rr in response.rrset]
    record = find(records, lambda r: r.h == handle)
    if record is None or record.v != "alter1":
        raise RecordNotFound
    for f in ["h", "pk", "ilr", "ts", "rev", "sig"]:
        if not hasattr(record, f):
            raise MalformedRecord

    # Step 6-7: Envelope reconstruction + JCS.  Keys are the TXT
    # field names; every value stays a string, ts included.
    alg = signature_alg_for_prefix(record.pk)   # Signature Algorithm
                                               # Registry
    envelope = {
        "v": record.v,
        "h": record.h,
        "pk": record.pk,
        "ilr": record.ilr,
        "ts": record.ts,
        "rev": record.rev,
        "caveats": [],
        "signature_alg": alg,
    }
    signing_input = jcs_canonicalise(envelope)

    # Step 8: signature verify under the derived algorithm
    if not signature_verify(alg, record.pk, record.sig,
                            signing_input):
        raise SignatureInvalid

    # Step 9: IdentityLog cross-ref. ADVISORY. Confirms the ROOT
    # was published; cannot confirm THIS envelope is under that
    # root, so a failure annotates and never aborts. See 12.3.
    ilr_root_seen = identitylog_root_published(record.ilr)

    # Step 10: DANE TLSA (if establishing MCP session)
    if establishing_mcp_session(zone):
        tlsa = dns_query("_443._tcp.mcp." + zone, type=TLSA)
        if not tlsa_matches_endpoint(tlsa, "mcp." + zone):
            raise TLSAFailure

    # Step 11: Caveats are OUT OF SCOPE for this document (Sec 10.3).
    # No transport and no vocabulary are specified, so the verified
    # envelope carries none and the signature is checked over [].
    caveats = []

    # Step 12: Revocation
    if identitylog_revocation_revealed(record.rev):
        raise EnvelopeRevoked

    return VerifiedEnvelope(record, caveats, ilr_root_seen)
]]></artwork>
    </section>
    <section anchor="document-history">
      <name>Document History</name>
      <t>draft-morrison-mcp-dns-discovery-05 (July 2026):</t>
      <t>Corrections to defects in -04, and the completion of a document that
had been claiming for two revisions to stand on its own while
deferring half of itself to documents it cited by the wrong section
number.  No new mechanism is introduced in this revision.</t>
      <ul spacing="normal">
        <li>
          <t>Restores the citation of <xref target="AGENT-AID"/>, which revision 01 carried and
revisions 02 through 04 lost.  It is the closest neighbour to the
<tt>_mcp</tt> record and it published its shape first, and a reader of both
documents should be told so by this one.  <xref target="related-work"/> also
distinguishes it from <xref target="DNS-AID"/>, a different draft with the same
acronym, and states how the two compose: <xref target="AGENT-AID"/> is intentionally
small and defers to protocol-specific mechanisms after discovery, and
this document is what its <tt>mcp</tt> protocol token defers to.</t>
        </li>
        <li>
          <t>Makes the stand-alone claim true.  All three record formats are now
given in full (<xref target="mcp-record"/>, <xref target="orgalter-record"/>,
<xref target="alter-record"/>), as are all three procedures (<xref target="mcp-discovery"/>,
<xref target="orgalter-bootstrap"/>, <xref target="recognition"/>) and the caching rules
(<xref target="caching"/>).  Revisions 03 and 04 incorporated the first two
records and their procedures by reference to revisions 01 and 02.
Nothing is incorporated by reference now, and no reader of this
document needs to fetch another one in the series.</t>
        </li>
        <li>
          <t>Separates the agent protocol family from the transport binding in
the <tt>_mcp</tt> record.  Revision 01 used <tt>proto</tt> for the transport.
<tt>proto</tt> now names the protocol family, <tt>transport</tt> names the
binding, and <tt>transport</tt> is the term because the Model Context
Protocol specification already calls this axis by that name.  The
alignment is with the neighbouring DNS agent-discovery drafts
(<xref target="related-work"/>), so an implementer reading two of them does not
have to hold two meanings for one key.</t>
        </li>
        <li>
          <t>States how to read an <tt>_mcp</tt> record published under revision 01
(<xref target="reading-legacy"/>), including the case revision 01 left
unusable.  A <tt>proto</tt> value that names neither the protocol family
nor a known transport causes the record to be SKIPPED, exactly as
revision 01 required, and is NOT read as a protocol family with the
default transport applied.  Widening the rule would newly accept
records no client could ever use.</t>
        </li>
        <li>
          <t>Reconciles the <tt>_mcp</tt> grammar with its prose.  The grammar admits
any token in <tt>proto</tt> and <tt>transport</tt>, because a resolver must parse
a revision 01 record before it can decide what to do with it.
Syntactic admissibility is not definition.  <tt>proto</tt> has exactly one
defined value and <tt>transport</tt> exactly three, the two sets are
disjoint, and so the claim that no value is defined for both fields
is now true, where in earlier drafting it was not.</t>
        </li>
        <li>
          <t>Corrects a grammar defect inherited from revision 02.  The
<tt>_org-alter</tt> record defined <tt>org</tt>, <tt>entity</tt> and <tt>entity-type</tt> over
<tt>1*VCHAR</tt>, which excludes the space, so the grammar could not
derive the values revision 02's own examples published.  A <tt>text-value</tt>
rule admitting SP, and excluding only the field separator, replaces
it (<xref target="orgalter-abnf"/>).  This is the first revision to carry that
format as its own normative text, so it is the first that had to be
able to derive its own examples.</t>
        </li>
        <li>
          <t>Stops every value rule in all three grammars from running past the
end of its own field.  <tt>unknown-field</tt> and <tt>https-uri</tt> were defined
over <tt>*VCHAR</tt>, and VCHAR includes the semicolon, so a single field
could derive the whole rest of the record and consume the fields
after it.  Two character classes replace it, because the two kinds
of value have different needs: <tt>qtext</tt> admits SP and excludes the
semicolon, for a human-readable name; <tt>uri-char</tt> excludes both, for
a URI, which carries no raw space and would otherwise run past its
own end.  A class that is right for a name is not thereby right for
a URI.</t>
        </li>
        <li>
          <t>States the exclusion that ABNF cannot express (<xref target="mcp-abnf"/>).
<tt>unknown-field</tt> matches only a field name this document does not
define, so a defined field whose value is malformed is a malformed
record and <bcp14>MUST</bcp14> be discarded, never re-read as an unknown field.
Without the rule the alternation swallows every defect it exists to
exclude, because <tt>token</tt> matches a defined name as readily as an
undefined one.  The split-on-semicolon parse in <xref target="mcp-discovery"/>
already behaved this way, so no implementation changes; the grammar
now says what the parser was always doing.</t>
        </li>
        <li>
          <t>Requires a publisher emitting <tt>transport</tt> to emit <tt>proto=mcp</tt> with
it (<xref target="reading-legacy"/>).  A revision 01 client ignores the
<tt>transport</tt> field it does not know and reads <tt>proto</tt>, so
<tt>transport=streamable-http; proto=sse</tt> was one record that resolved
to two different transports depending on which revision read it.</t>
        </li>
        <li>
          <t>Adds <xref target="related-work"/> and <xref target="why-txt"/>, which situate this document
against <xref target="DNS-AID"/>, <xref target="MDNS-AGENT"/>, <xref target="MDNS-ARCHITECT"/>, and <xref target="SAIP"/>, and
say why the payload here is carried in TXT rather than SVCB.</t>
        </li>
        <li>
          <t>Corrects the IANA registry table (<xref target="iana-labels"/>), which cited the
three labels to sections of revisions 01, 02 and 03, by numbers
that were wrong in any case.  Each label is now cited to the section
of this document that defines it.</t>
        </li>
        <li>
          <t>Rewrites <xref target="impl-status"/> (Implementation Status).  The -04 section was
false on four counts.  It claimed an <tt>_org-alter</tt> record that does
not resolve, a DANE TLSA pin that does not resolve, an envelope
record exercising the <xref target="alter-record"/> field set where the deployed
record carries none of those fields,
and a four-surface signed-tree-head witness federation, including
an on-chain anchor contract, none of which exists.  The section
now states only what is deployed, and states plainly what is not.</t>
        </li>
        <li>
          <t>Corrects <xref target="sec-substitution"/> defence (1).  The -04 text claimed that
<tt>ilr=</tt> defeats envelope substitution.  It does not.  <tt>ilr=</tt> is a
bare root with no inclusion proof, so a forged envelope naming
any genuinely witnessed root passes every specified check.  The
false claim is withdrawn and the limit is stated.</t>
        </li>
        <li>
          <t>Fixes the signing input of <xref target="signing-input"/>, which no third party could
have interoperated with.  The keys are now the TXT field names,
<tt>v</tt> is inside the signed object, and <tt>ts</tt> is a JSON string of the
wire digits rather than a JSON number.  The construction is now
normative and exhaustive.</t>
        </li>
        <li>
          <t>Derives <tt>signature_alg</tt> from the <tt>pk=</tt> algorithm prefix via the
registry of <xref target="sigalg-registry"/>, rather than injecting <tt>Ed25519</tt> as an
implicit constant into the signed bytes.  Taken alone this change
is byte-compatible, because for <tt>pk=ed25519:</tt> the derivation
yields the string the constant supplied.  The revision as a whole
is NOT byte-compatible: the signing-input repair above changes the
signed bytes deliberately, so an envelope signed under -04 does
not verify under -05.  No envelope signed under -04 exists.</t>
        </li>
        <li>
          <t>Relaxes the multi-string rule of <xref target="multistring"/>, which prohibited
splitting within a key-value pair and thereby made any field
longer than 255 octets unrepresentable in a TXT record.  Resolvers
already concatenate before parsing, so the prohibition bought
nothing and cost the ability to carry a large signature at all.</t>
        </li>
        <li>
          <t>Marks publication of a per-individual envelope in DNS as <bcp14>NOT
RECOMMENDED</bcp14> (<xref target="alter-applicability"/>).  A zone <bcp14>MUST NOT</bcp14> publish envelopes
for more than one handle at one
owner name, because a single query there returns the whole set,
which is a membership roll that no one listed in it can consent to
on behalf of the others.  The envelope format, its signing input
and its verification procedure are not implicated.</t>
        </li>
        <li>
          <t>Withdraws the IdentityLog witness federation, everywhere it was
asserted.  Revision 04 defined it in the terminology, required it
normatively in <xref target="field-ilr"/> and <xref target="identitylog"/>, made it fatal at step
9 of the recognition procedure, and named four witness surfaces
including an on-chain anchor contract.  None of those surfaces
exist.  The <tt>ilr=</tt> field is retained, so the wire format does not
break, but the cross-reference is now advisory and the document
states plainly what the field can and cannot establish.</t>
        </li>
        <li>
          <t>States, rather than papers over, the fact that a reader
implementing from this document alone cannot check revocation.
The surface that carries reveals is not specified here and is not
published anywhere fetchable.</t>
        </li>
        <li>
          <t>Repairs every internal cross-reference, and repairs the class
rather than the instances.  The -04 prose was written against an
older section numbering and never renumbered, so a reader
following a pointer to the Envelope Record landed on the DNSSEC
section.  Every reference to a section of this document is now a
symbolic anchor that cannot go stale under renumbering.  The only
literal section numbers that remain in the prose point into other
documents.</t>
        </li>
        <li>
          <t>Corrects all four references into <xref target="DNSDISC-01"/> and <xref target="DNSDISC-02"/>.
Every one of them named the wrong section.  The <tt>_mcp</tt> record
format is Section 5 of <xref target="DNSDISC-01"/> and was cited as Section 3;
its discovery procedure is Section 6 and was cited as Section 4.
The <tt>_org-alter</tt> record format is Section 6 of <xref target="DNSDISC-02"/> and
was cited as Section 4; its bootstrap procedure is Section 7 and
was cited as Section 6.  A reader who followed any of them
arrived at the wrong section of the right document.</t>
        </li>
        <li>
          <t>Restates the discovery procedure (<xref target="mcp-discovery"/>), the identity
bootstrap procedure (<xref target="orgalter-bootstrap"/>), and the caching
rules for both records (<xref target="caching"/>) in full.  Revisions 03 and 04
claimed to stand alone while deferring three procedures to
documents they cited incorrectly.  The record formats are restated
in full as well, so nothing at all is now incorporated by
reference, and both earlier revisions carry a reference entry,
which neither had.</t>
        </li>
        <li>
          <t>Gives the <tt>_alter</tt> record two ABNF grammars (<xref target="alter-abnf"/>), one
for publisher emission and one for resolver acceptance.  Revision
04 gave the publisher grammar alone, then required resolvers to
accept orderings that grammar cannot derive.  The field-cardinality
rule, which ABNF cannot express, is stated normatively beside it,
and the <tt>v</tt>-first rule is reconciled with the ordering freedom
rather than contradicting it.</t>
        </li>
        <li>
          <t>Reconciles <xref target="sec-key-consistency"/> with step 5 of
<xref target="orgalter-bootstrap"/>.  Revision 04 said the <tt>_mcp</tt> and
<tt>_org-alter</tt> keys <bcp14>MAY</bcp14> differ, while the bootstrap procedure it
incorporated by reference required them to MATCH and required a
wizard to refuse on mismatch.  The bootstrap rule stands.  The
envelope key of <xref target="alter-record"/> is the key that is genuinely
distinct, and it alone <bcp14>MAY</bcp14> differ from the other two.</t>
        </li>
        <li>
          <t>Removes two hand-written reference sections that duplicated the
generated ones and cited five documents with no reference entry.</t>
        </li>
        <li>
          <t>Corrects the field count throughout.  Seven fields are <bcp14>REQUIRED</bcp14>;
the -04 prose said five in three places.</t>
        </li>
      </ul>
      <t>draft-morrison-mcp-dns-discovery-03 (April 2026):</t>
      <t>Editorial corrections (retiring -02):</t>
      <ul spacing="normal">
        <li>
          <t>Removes the third-party-domain worked example used in -02 and
replaces all instances with <xref target="RFC2606"/> reserved example-domain
forms; no third-party operational domain appears in any
illustrative DNS record in this revision.</t>
        </li>
        <li>
          <t>Strips city and locality fields from the author front-matter
block, retaining only name, organisation, and email per editorial
policy.</t>
        </li>
      </ul>
      <t>Substantive additions:</t>
      <ul spacing="normal">
        <li>
          <t>Adds the <tt>_alter.&lt;domain&gt;</tt> Envelope Record (<xref target="alter-record"/>).</t>
        </li>
        <li>
          <t>Defines <tt>v</tt>, <tt>h</tt>, <tt>pk</tt>, <tt>ilr</tt>, <tt>ts</tt>, <tt>rev</tt>, <tt>sig</tt> fields for the
new record.</t>
        </li>
        <li>
          <t>Introduces a mandatory DNSSEC validation requirement for
<tt>_alter.&lt;domain&gt;</tt> responses (<xref target="dnssec"/>).</t>
        </li>
        <li>
          <t>Introduces a mandatory DANE TLSA <xref target="RFC6698"/> pin on the MCP
endpoint (<xref target="dane-tlsa"/>) for envelope-triggered MCP sessions.</t>
        </li>
        <li>
          <t>Adds the IdentityLog cross-reference requirement (<xref target="identitylog"/>).
Revision 05 withdraws it; see the -05 entry above.</t>
        </li>
        <li>
          <t>Adds a provisional <tt>alter:</tt> URI scheme cross-reference per
<xref target="RFC7595"/> (<xref target="alter-uri"/>).</t>
        </li>
        <li>
          <t>Adds the envelope recognition procedure (<xref target="recognition"/>), a
twelve-step algorithm.</t>
        </li>
        <li>
          <t>Adds IANA registration for <tt>_alter</tt> underscore-prefixed label
(<xref target="iana-labels"/>) and the independent <tt>v=alter1</tt> envelope version
namespace.</t>
        </li>
        <li>
          <t>Adds a Signature Algorithm Registry (<xref target="sigalg-registry"/>) with initial
value <tt>ed25519</tt>.</t>
        </li>
        <li>
          <t>Adds Security Considerations for DNSSEC downgrade, TLSA pin
rotation, envelope substitution, revocation opacity, clock skew,
cross-record key consistency, and passive-stream coupling.</t>
        </li>
        <li>
          <t>Adds Privacy Considerations for public handle disclosure, DNS
query metadata, and revocation unlinkability.</t>
        </li>
        <li>
          <t>Adds Examples for minimal envelope, multi-handle zone, full
ALTER zone with all three records, and Instrument-tier handle.</t>
        </li>
        <li>
          <t>Adds Implementation Status entry for the envelope reference
implementation.</t>
        </li>
        <li>
          <t>Incorporated the v01 <tt>_mcp.&lt;domain&gt;</tt> and v02 <tt>_org-alter.&lt;domain&gt;</tt>
record specifications by reference, leaving them unchanged.
Revision 05 restates both in full; see the -05 entry above.</t>
        </li>
      </ul>
      <t>draft-morrison-mcp-dns-discovery-02 (April 2026):</t>
      <ul spacing="normal">
        <li>
          <t>Adds the <tt>_org-alter.&lt;domain&gt;</tt> Org-Identity Record.</t>
        </li>
        <li>
          <t>Defines <tt>org</tt>, <tt>entity</tt>, <tt>entity-type</tt>, <tt>founded</tt>, <tt>regions</tt>,
<tt>regulated</tt>, <tt>bootstrap</tt>, <tt>mcp-policy</tt>, <tt>epoch</tt>, <tt>pk</tt>, <tt>attest</tt>,
<tt>ext</tt> fields for the organisational record.</t>
        </li>
        <li>
          <t>Adds the Identity Bootstrap procedure.</t>
        </li>
        <li>
          <t>Adds IANA registration for <tt>_org-alter</tt> underscore-prefixed
label.</t>
        </li>
        <li>
          <t>Adds version tag <tt>v=alter1</tt> (org-alter namespace) and registry
namespace and framework token registries.</t>
        </li>
        <li>
          <t>Adds Examples for minimal, full, regulated (DISP), and
multi-regulator deployments.</t>
        </li>
        <li>
          <t>Adds Implementation Status entry for the orgalter_discover
reference library.</t>
        </li>
        <li>
          <t>v01 <tt>_mcp.&lt;domain&gt;</tt> record specification is incorporated by
reference and remains unchanged.</t>
        </li>
      </ul>
      <t>draft-morrison-mcp-dns-discovery-01 (April 2026):</t>
      <ul spacing="normal">
        <li>
          <t>Adds Identity Field Theory grounding for <tt>epoch</tt> and <tt>scope</tt>.</t>
        </li>
        <li>
          <t>Refines security considerations for identity assurance decay.</t>
        </li>
        <li>
          <t>Refines privacy considerations for scope as a privacy boundary.</t>
        </li>
        <li>
          <t>Adds Coexistence section with SEP-1959, AID, A2A.</t>
        </li>
        <li>
          <t>Adds Implementation Status section.</t>
        </li>
      </ul>
      <t>draft-morrison-mcp-dns-discovery-00 (April 2026):</t>
      <ul spacing="normal">
        <li>
          <t>Initial submission.</t>
        </li>
        <li>
          <t>Defines <tt>_mcp.&lt;domain&gt;</tt> TXT record format with ABNF grammar.</t>
        </li>
        <li>
          <t>Defines discovery procedure with HTTPS fallback.</t>
        </li>
        <li>
          <t>Defines <tt>pk</tt>, <tt>epoch</tt>, <tt>attest</tt>, <tt>scope</tt>, <tt>cap</tt>, <tt>priority</tt>,
<tt>ttl</tt>, and <tt>ext</tt> fields.</t>
        </li>
        <li>
          <t>Registers <tt>_mcp</tt> in the underscored DNS node name registry.</t>
        </li>
      </ul>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact fullname="Christopher Whiteside">
        <organization/>
        <address>
          <email>cwhiteside.engineering@gmail.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+S963bcRrYm+D+eAkOvXkVqMmmRuliWLJ9DU7TNKt2apMun
2kurEpkJkihmAnkApCiWl+tZ+lnmyWZ/+xIXJFKSq+ZMT6+p1X0sIoFAIGLH
vn577/F47LqyWxRPs50XZTur3xfNXVZfZq/qebHIjuuqKz502dum7upZvcjO
i4buaLP3ZZ69eH2eXfzHRXZWzOpm3u64fDptivc00qvjt/yrH3HHzetZlS/p
NfMmv+zGy7ppyrauxsvZajyv2vHcbh3ff+TmeUd3Ht4/fDy+/9X44IGb0YWr
url7mpXVZe3a9XRZtm1ZVxd3qwIX58WqoP9Tda5cNU+zrlm33eH9+1/fP3Qu
X3fXdfPUZdmY/n+WXa4XC5nLd4v8pqBPlbnwj3VzlVfl3/OOBn+aHS26osle
FU05L/Mqe9vdZS+7Od9YLPNy8TSbYoh/p/cVOe7dn9VL52a0bE05XXfDrz2+
pvd19eqaxv75uuyKtpwX8aCzW7u6X1RXZVXQBKqrf7/Cr/KGqm6WNMf3BcY/
+/744P6DR/rPw4ODr/WfD+8/eBD++TD80+59+OChv+Hxwyf6z0eH/t7Hj7+2
q18d3vf/fPS1jfDk4Cu798nDxwf2z0ePDu2fXz2xe79+eHjg//n4Pv5JlPKU
v9yIcBvdrYpZeVnOeF92+ImwrbpvtF1XRAHlLDs6zb6v19Wc75bh8+aq6J5m
1123ap9++eUSr5nJW1b6kv2y5nsD9TkHcotW+uiHk9cX46PTF+mk+b3ZKeiv
JBLJq3kg/WyXbt8bmnJEh/vZ62JZdNdl+JqICt8Qbcu30Vm7ItJp7kbZaTXb
H/w0mn7eNfnshqixLLrLfRrsSzp+X8rJq+RF47ycj3OMOS513uEMftlfhwzH
efO7ccZpfbDe0VHf/NKx/jf+5j/u08H7+6K487+lH31KKz9d1B+iLx0e6PV+
9nO5WJT5sv1Xh6J9OM+b8ia/yz9y1xndNbuuu27L614U666dXRfZRbEobui0
fnQRXuTLcnazZaijZf73LRT8iW1e8tre6sKAxdbMaGnbB3b3FW8viDvd4P9R
NPWYDuNlebVueE5Kh797u1/uZ3/Mb/Lplg89xnjZ+V3bFX4bh4b5fj/7rqln
NxUJoc8e6ncu3d8wz/E8v630gATZtKQV3Lp8Z8c/nl6cHF8M8YbADo6aGZj7
rFs3xe84K3/J623f+/r16fFHHv5hP/uBpMiWp/9YViTYfqpKiHViAh8Z6NU+
Sa6i2jaNaxqJjvS0XBQfGeTH/exl+ckv+Z07dpfXw/uV22IPbNr50WlP9vCV
7Ly8qop51uPpJok+zsjPicrr93k1K96Xs0Fefv6nH978U0Tphx3TGV4Nc+gX
p+fH4/sHPSb9r6p1H/vgAQ3qd+hQsZ73kK+0dBspPsSw7V2nNNWmKrrxC6zD
5+iPB79vfa+75eLLzxvVL/Hh/8+X+PC/ZIkPVYF9fP+xqZ8PvvL//OqJVx6/
fmIaLimXXikl9dJrok9YKT0/eTs+ePzw656KSdaJ7EZ2nPvl73/MVdldr6fQ
tgeVxeGLZJSsi/ZLvNNe/7UouuH1+7fFYjG+qerb6ktahEg0nFTzVV1W3X/B
hGgWkFNvzs5Oz9+8Hp9+35NSns99XxaLeXZxXbC1dVHf0gplefb2+q4tZy3o
+7uCbJHsT5j//zuEO0xrdcnkdXB///H9Jw+/XH69T0pKe503xf6Dg68fHTx4
8sC58Xic5dMWRNk5d3FdthnR43oJ1j4vLsmyajM+juNp3hLTXxaza5peu2S1
1kgT38un2m2c6l0ipj0cKZztUdaR1mfqNNYKf8sXt/zFreuu8y6rVwVpUwV+
Xo7YXMizWXO36uqrJl9dkwXjBymq98WC7s+mMGiyrqbbySqZl+/L+TontoIJ
FiSyxl1JSzn5B81/vigm2Wo9XZTtNX0UPUe/YCot7UtGCmWxj8VoioK5UCNc
KKOl00WZ72fZ5K9EnPvfzGsyOqtvJ1k+pxd1ZYsVq2C3OfnqP7Q0R6Hb7Kez
l/Q5LDiNArNL0m8XZK/QHlTtqm66bIrpV1cjN/zJsiCzfJWTKoEloKEuSanY
d5O/0lqOxc4enBgvN69tjXnN8qquyGZcuHgPaNHCq8pqtlhjNlnZtdmiuKJf
7bdGbS0nt1/S+spF2kdsrryJ/tItrO7w63qBt99llw0t9m3d3Mj6OzLpZ9f0
lmy5bju68XLdFhnREnFeeiedIfqejnYrn82KtuUN6H2psy3lHTiZHz56dPD1
uBV1JdCJrC5RVKAFUI0QxMzdFLzCXrN5WV9lTV3zlIiSSMcwimyK97UY3Bkx
nWXZ4djsOzot5yfH2ft8UYqBndGpOjv57z+dnp284HODbfDzEeqyMV8cvT5x
Fy/Pj7JVWWX0LO4FQ/Y0FA92e00zohHaevGev6ny4zqMR/+t9DrGIBKAT4gJ
mYicX31VlTxHJj/iAvTvfeUE9H0l37/7/v6jPfrGhh4gKijyZoGzVDN3oNfQ
tJp6vqZ9yao6q4pb5/kE7dNpl90SaybxdtvSFIgYaT9ni7xcgiDptL+//5AG
XxNbrWiZ2/UKp2Dklnlz0+quyDoSTdE2Fc04Ot9+HWm5oDbkbfb6zYU7Ozl+
8+rVyesXtEo1VoV4mhFjW/5d95AutWRmZFcNmEcrF9tilYP7gBcVw6eViLde
8tZsnFrMAz8we5g4v7sLIkP8LF9MdDOlg0DHAEtDS1ZeXRMDY05KX+F6erpo
HCD6o8WChgBnkpEzcb/IPuT2o6P5zoo5fZpwrSuyXqqMiYWmBwlEq1Bjs2wv
/V5XBR2WaeEui45M9DnTQhHxfaL01aIApbfZjxcXb00y+LnKIl7Wi0V9yxyH
JlPQZLCMbUHrdJe9+NPpq1F2/vb7UfbiFZmF8siri6Px+QVZCJAeMhviTMpk
IgLADGgu9OeEGcDTCfHV0wweBeLeTLf/STIdvKK+dKdHr49k/LJl+rqjORBL
JTmFj4MAXJZz4gLOfQFFjwmZ3WJui6IqIu0X+r/vMCadLRyziETqxtGM12zB
8uEoGjlYtK7dbQFf1anQlWxbV9eL8QrfzASkwnLfHelid0qF464ex4waf0cn
IX4R7RZt9HUOGgax0O50xMq7sE28SmUjO/nUuYP97N49aH3lrAh37d+7l2U/
C+G0nhfJDD1L+jfckrO3JxyHeU20R9y8XRX5jd7Rk+HEaVk3Yp8kHzgaocRw
zH70hbyX+Kb39w9EZYiVFHrdrVkNoLVsUzDLQaG9PsQnvhmWdKQ+1B3obKWf
XNv74xXH8CrV+CgXuhT2fZh1T0z+W7R+Ja+RUDRdmtNvP7HucYuHh2Rj69dR
VaIRRgDRiLjsi8VslXfXt/ldK1K09IKUJBxxNVrnku7gZSqr7Qt9OLyuQ9qF
X90HWN3TiBxtZSMp01/bVDnDS+grWxwUr8xFUvq65kMd1DWZhC2+ym8aBIQF
sc8vKZusJbNLCN3uzVcIh4zrinj5ooaAnJGK3tqnLsrLYnY3WxSqo9IY9jk0
wo/1bbbM7/SHoFgUrBHc0L5ijC1L+yCWlrq6A6oM04muLBiwHGMbR3VRPdQQ
CyLgZ8TL6VBgcszHu9rZURbdQHUICJ16TecxZ4mTT/FHTzm0DybdkFW3iNPI
hshr62pakwmEYW7JbGnA8Gi9FwvRO5ynGblO6lM8PfrIfL7tzTZNp9PcJda9
F002VoswmUSfgVkCjdTtJuqRiox/kDyeFSw49ngusk8DeoWztaoKHDCayQJr
Qfu8qVjRJOALXgh7wKJ1tzWEEI3dYnQm6JZ+XMSWRXbLyg/JDVqcgpkzmakt
NBY9ty3JY9idzAmYI0CS8RoyL+DnZ019K2tJiu+4nnUFrRzZeyQSSGUi3oZJ
LUrSU2me5ysyHYyLLYl7NHXbqvLAB4yopilIKpG984Fes8inxYK4Stk0ek7A
aqCcZ0SSuZlSKtzdL+qbeJftTv4qRE2Hcl//OdmTEBBkf/aLOizeOdxKSt8s
3DZSDbfIidfpYjHHbcM6tsUyhwAh7b9Z1S3IkjQLHhYRuXexbsFXEYZ7x6qI
mXyRhgL1nMitucPSrGqiEuw2vS3aLmFA0P95LnPHi7OhNdO/oWmRaMlnN3AT
jFlz6copzZrVPkg0zI4Y7r47Nb1KDGFRFJUOMmZUXq3cYL8cUC2rNfN5tamg
sF2xpTo48i1tGO72cs9BkQmH1c4gDms+n5ciL2kWxIOIQAeFwZaPsFfp8aST
QK+Kjlrg8PQyN/iyjRf1fBXgLLDQF7Dds+ykp9W2sNuLBuoYOLxn2awz5uKW
+OP5m9fZsVnEKvARyIJWufvH4/ORUM9XTx6924NtX/q7RL/EIMJ11FzJF1d1
Q/u8FEHm9VbXxsFaJqQcFBVsIFa+Ryrjl/RjqvXQCS39QoOapoip3sGkI06F
sDirIeJ3IoYaqzD7kEwFLfOCDACSHjUdmoY1iGC18OdEOzwZMDZiE2N6F4xj
2WhbdiXw+4cj3NQWop2SMTZFfIqpA74wefltU7P6yze1bKH4tbklpUFsCvC8
jHk+MXc6qWTa0JUuGmG1yGeF2WENWVadXzn6+u9qOnlCDrQGLmcDekkiEqJ2
q3m1++uvcMjK1d9+G2W//opVxeqEi+7XX9Mre6Ngk2XRguloXs2WZ/2A/kzK
iyKxxkMy21JzsqxWJCBpPL0w5gt0myfJGfFO3NmsF/JmvcD3mG3oYttQBLun
MFp9kZBkLtLa0Z/+2PEal60Tlzk9d7a58/ySWQkKE2aeKvDqXHOsAtPoRCV5
ae4Q/2QEM4CvbFrMcmi1dFb42zCuE4hLC3Ofz48JN9WgAsPxAX2Sanfgda06
AAq8d1PrJyvUbhwZWfkhWC5HzixSGH+J3cjvsJousDi1QoP0IApZ0Y+Q9mQT
tQv6cbrGDUQqONwu1mpI5EKe183wPFgLghdEqVeMSjKscjbpGpiSxNBmN+pK
gkLCh5Cffpo6poKDlGw7z4LhHf12YoqtfNX4ul7M2dNZ31bBq0inbLbI1evi
1A83Nb1Z/XNiBcKhyaIuYmfq18LhJybq1MBhVioutrG52EDdxWzdtEQe/inx
PDGbg0AveRUSNjXg5APPJR2CLYZ1C2LIBSulFgKdUltxMht++w1qRAumS8ZJ
RYrQQr6lohfWt4s7Ir0vvqBDESzt7CVJ5TWZ80KU+Phbdi7vvPrp/GJnJP+F
Cwv/Nkcf/n3+49HLl/4fTu84//HNTy9fhH+FJ73/C3/S1Sy55HZeHf1lR47Z
zpu3F6dvXh+93LEDHdnXDS/VtBD3wgokRATR0mkjeiqnfDaz747f/l//8+Ah
8ar/QwFWtDTyB/BP9AcdfRWTrMrInx0LIjLFcqZnsMpZvirJemj5ILbXoCcc
blrIe79gZd49zb6ZzlYHD7/VC/jg5KKtWXKR12zzysbDsogDlwZe41czud5b
6XS+R39J/rZ1jy5+829kOBXZ+ODJv33r4JK6KJplWdVEbXfO7UZ/iQ8yUiHF
9dXlGp848npURhu3bJ23O+d+m72uGoU2aK9Jyu7vOXdiJtBTyIOeP53VpXr6
N5LWn3Sps0X+GU516CPFStzR5RJ2xXJF110Wu9qvc9Img799xJbAVZXD2xar
XPkVfprTgsCPSWP4u3xEKX9fsDZDmsCd6EWRO1kYHGlapqjREKsG5hO4jMau
jl5enJwFJpxH2BUdEHbDFUkHMmxoAFHqhR2p/wieWfXFRVEKNffULiN+x5Pm
EXrCP2PrXlRFlp/YS7V+Ic/oL9U3eeNpiL6WsuFVo9Om+4it74fQ4mjPgrQz
lrMlCQDSVAEphANrt9i/ApBsoob2niheMoAM3YqdBaLZn9bdJGvXl2RrRo8W
H3LoIKQOdXzH3rPstIJndcnO0HgodnHBJmV7lZ+ezcYTGUz+sNE4DEwTci4i
RiHx2CsknswctCkuIlktfKzfJO8mohdiH6En0vEkmhTSGpMtM4pod4RzMG5q
sY72TNjgIOjOTspF83yiSgVty8ZW+fMSa1vZ/Ye2hzROFMA1Fp0baOcCiuiP
8LkURMhg5eJvoFmv4WZmEmOaG4vAEy/NZb1uVFEnWVxBDrfr5jKXabyu6S+i
Pv2JRrgkY1pd9sWHsu3aYCHJpFYWF7PIkNolWOk/YIQZaf3MFWDI2DvNxR5G
U4eXRkDZ9Z6JhiMhSyZ/sORwBFgBSV3IomlqcACcwt9MaogorcFIy1W93MdB
6ikD8DO24s0VrqUKDBvR9Br2fNVs1iOsWggP101XjW5ZwJ2xhMhjXzUfwWlT
5/NZ3na27htxRF0/MTVYe2Un4VMOJ2VJGG03+X41KBY1NLaJktuapzDJXj7I
5jlZRxX8zsI1r/NmfksjBwKZA3VVSGiCLPaaDqjNhgRPVsp+qlL4jF6scb5p
S0sHstuBr6IqFtBU3hdQb+lf9H07QqTNTpbbAYk4LE13QdQLx8tZUJFpufBm
UpIlWuT3oJ5C3xbH3FwY5F0vZpoxk0+DFFDLOz5rQQvH6llAhXeQo5lPbZnb
axGGkcvIa/18J2YWhdg7CSPR4zJH1oHztkXUniPAat0m5CQfgFVqCghhPoc4
esY6UiI3mWMzoMenz/yIbfDNgJXpcghe4842jDRcsAEzC5owxTY4ZWFtaQD8
zz4A3tuTKo76aMQzfFzYGXzz2dn56Q98phHQ8mFX1h1ixTxjS0bE7dkZaeUj
hBLYYwOQ/zvQr/7x8J3wD/3z0TsL+3p/aHb0gnSazsLvNLUVfSSWhkQHgKDC
FVkUd+upciF8+dHrk4yj929LObiMZMMFfN8aDl6liF80eeBdpD15wAiJ1Us8
hg/HErMKUmS7eublMLPxAHu8KKs9mw/MM6EYREtaPTURkzjtafhy+gE2IOm3
YLWkNu8604KGDGjECbsexQCkj42jr/ytdCZWOXHGOBy7CqHcxV0U+hIHKIKz
2CfdHKRNwF7+kaV6k12tiYBgrMFC5xA2TdNE4ropg+oSib19VZNbU5APRxkx
0rFHcJ1pSN5f+M7cLSPn/X/Zifx2Gik7ZyFAd4aoGt31Km9u8BPxQ+d17z3o
7WfFgr1qP8Mp8OsXjfw5ho/gN+fOFQYhcX06Xrd2rhRwEIX+8y5XcIOXe3ex
4wu3LWjzQEMeWICNjLJ+2BS94GCEOvzhWqE9AZD39IUfV+NKl6xkBLdZu+9+
8akdHPX+aEqH2pW/aE4EHnDDuRAatvEuvmUBe3oKFx0Zf+YOvSZtCrEsdrAI
QGxtnFei8+wsTDke1JVWPxahT1qA3jeIAkEaWNsFBIY/2BIKH8cBc3a191mr
ggvAYpfQ25u2E9dDhEaKRYE4U7B6kRvfhxxyr1JP3j/Py/nBJGPgOVhRzqLL
tSQVSQmqqzG40ZL9YxPiBc/f54s1gG15CaidWAQ4NsoCPAbt1O1O1giu5AG0
0NU3dLx2Jyu+nnJoGF14cneSy6+0CCvvog9Qq5gvYaf9K+kttGq7k5vJnpz7
3JkSHFkTdEPJhsJFcETrmrEmHPtf6bDBrGsDak8UH1KNRNn0L4+/0gw/tkaJ
QdNtQ7GuODLHs/V78jlbocuPNzEda5jM4INybJl200gZBHhRpv7VWb0q1TnO
nlcsDh1i5RqLHC5LKC1g+u11zkFo8YxibNavRXuV4ECinWCXiK3gY+nzGkAv
a9IC6xs9vNFZCZ5APnzyJqZ09oe+glLGSFQLVtMcEe2go7U5WAt0wnV9y4ek
9ehTU57xBgeWhOg5ne3KE1q7hINIOBUU7Et4piPYke3y2MIrAYXWioGStxyt
FaORfQjrykdhEkylq4qruiuj6A7sEH9aDPmY5QswrzuvXk0kfEKf5fhE7SsO
IHjM1TwQpY4PHcciIHbp5mihnEEwbAtVMpRthP+Izq8gbfCPsnu2CUHLwnBY
vCoFFeKwmxeiFaPLQ3n4T5cyBLklwqDSLqwKv1CgrWJVz66fmWRxQ+EkPtYb
YZRopgwUmRZEsRa4s0PtD2YMSM3DxsROioDYUXAqYyMjuE2j0nzJ0pxhdrQr
q0V9tzQ4hUlnHGllI06NT95KOULZZPWcKUDsug02j5E4pOn6cVwz5+i19GHx
eQFnmTL2B1iVIkfwm8Tfvncgt6xBRlKbYyJeAjDF3cVnn9mSWSRuvl6ZZWi8
92bCYYxoEnhDq0xDPOcRf5VgIObFeb1EjeodU5yYHFfZVM/elRLw8ABp6DeF
F0aeRVH2e3vvjCDMsfgxiG6WvalENVUJMq8RURHApwUM60bnKjEvZlugyPpW
cEXZdF0uIBXY/jRHzABETeO3yjF1bYhF8/JJRCl3FhrlfIN5tsPqI2j1ulzh
cz8jg3Y/msYhyYh6tVLZQV/ayuG8IfJSmyYBM0cR2wd8Ou4/9COAXHgpEMrP
GfBYAAWiRzt2IzdQa1sGrEHd8vqfOVTaSK+ldQgwSJLe9frqGkquKE8WsiGK
qrA07/HVtFLnfz7+ztMI7zkEGMdpLkk8AGoxUpzPqpo4IHmXRWdEiPOHWFWW
QHdF4Vn5YzCWaB9PzQXdgb6YT84uj41zPro+HF0/UJ1IgKDqcZ9M81X8djve
PTQx4xVUdw1oj4aR+TRZsqWc2qC9Bw2UBGwQG632LRKMorWVBeDFBLxlrsI1
Isw/gMcXOR8Jf2KhSnm0mqJmwXmXdasuG3in6AsTyDIr5uq/IhtwVsgmKmax
ZRPFsaylUcSQ6U2GUU3BrwcNgk0UjzbOiWnSYNeylXycVwWY+r7PvQZOhcQX
Z2D0jCj6E/bWAoziGp7CngvQP1gLY0jA3mWlbJl3eT4XPpHgG5u5AXbUp93L
OsBpCDnE8YH4OzKIZ0kGcXRG2NvDsHbik3j+/IXqTROeJbR9ozFv8GzLMMEY
ZcjrKT6Q2kWfh09m04GptKTjIGM/zw/zyQiMz+PWjw6PjE2yk1wgfaonaa6I
hZfyLnWxQnRhIGanLp0iOx0u1xzCAS0J+dhEqzrIdTtIQJOxAOSAebqbAoer
Z7P16s7PJUDu/fdBUo+cEDjxw7opBMkdk1mX3xRVSpfeKKZ1Zmdr5cELLK5e
nRyBwr30Faxc0xkLgjnQ8ofkCcoCNs3c5LPu8rmKha9Ifncx99TA0KKsbuzI
O9HBhL5JtvtdYxe8ADTnxZiOVS6UfEXTv2InhVCWI+sJ2lxZCANS9ABsWw8Y
BajMvGTmyq8bZmHQEmUKqlvQ6V/mFXsfxL0ssYLgEoW0yDglTS0tduVE/MmO
FubZINDTBuwHE+Ft5QlffHhstLvubsWyBhpROHqWf/4uMs0jj1RPFDGkDHjW
o5GD1BEiOD/7c8gH6yKN06ukoF8ajQWVxpzEqOEdHBICVU8eZYzgAl4KZU92
JzzU/Qy5kPv7+xlLn+tDNpVPxR7AwjXzzAgoZuY5bf7IqYuCJlpUV1Dk1fuR
t3Lqc9sG82uzNA/nwN0WOAgSVMGKIhVc0h82XScbnLGvEiWMnA2Wdqu/ZcOX
UgnvIOoYcDtAl/qkUc8eGCSJB/171Lf0J++fJ56XkZjumgjn1KjfKse8fZ8F
JCyTz9vvnUem9s74wf1RtnOhPm0iO3pDq06SyLPmgujoAuo92LB8MGMly9gS
T6lkT5kbYGUIEytM2tMOkeh0Af9ZgMoKZOqpIwOeVstA1qTaVgqhFqc0H40Q
ludkBA7LEfHnkBrCvNX17Y+qGQfYHG8l9m0Pems1B67RCb6INrcqOlZBLknz
XzUagTWPGqMgS+QoHZ2/ho4RLpy+dUogrdfhig+rsrnr2ymxxZqaq25jft5U
CVS1zSpxiVWSWJ0CneU8JdE7BR66YYg6A8ER7av/SKYmcCzlj9BeJTQE4DOx
nQVwYcZ1CyfuJbYpiSWog0kEKVtxCtoSVy1sctC/PM76g5eu+66HHTSm1EXe
503frqrlt7VD/JNpAnwJY+u5lglc02hq+iYaqM74pihWn8VjHfuER4Isp9HB
ggA2umUkSKKrmRpiGpcgBHsaTOzHZAQYyzbFj0V2xjxGf3jrBkqfuvkxyyBk
WMPCJ/s5BSGm86L991NjLB1Ab+rqxHIMypwkfMns4LZsIs2XXmso4sjiklgR
9sSSHNnBtKrbMuE/YjGXVTBCzLNpBMCyMFoaZ9DQjZkCjUTUkKAdBozseTl3
ptDi5LBG0kRPWDbXfJ4pTto77tXE8YTK0bOcdVJ2n4MmhOQ4i1MtBrL16GRG
qXGmQlZFtsXwc33LQtgB2f51RYtriacDj4eFghUqXNNi7F5tCI9BAWO0xsT/
OjHFiXd7S2pjD5junZuLhYo5aBOkmQTktqC0xZsYn3oJ5HAwkrTAER91Ot0b
wH2hUFNgeHi/DCwqkOgdfQTrevwJFjbdnUCryRk5Okb1A2K7E7LlzCzfIG7J
b6nI8uV0890J6VL0CAx5LNyiuOxMkxH6Nd0kLDCCQHwu8ALOgvW6zi9avO2d
5a6w9dZzE0OHCt4R6Mk4afo2zwxTH8Xm2Rg5dUmEhHQOpPHhgPkFnhi8NBIk
YMaL4hqilG4qL7xVHFOs87nNyWx7SJJbBcvB9sk/FAKhZycXiU7SRWhNJS09
VvJu68iI4r1WI0GWhAxTCUUI9wJuNvv5+k60tmgcXvRfv7i9vht3H7rftgsC
scNFZiQ+JOOzGEld4+1oiydpyHsvzjN2c43whDMLrymXyOeW7zFVhnakFcCI
WIF3WNSRR4D/TZi/kRMSEKo09EVCXGxzHL4Fe2EgZxo4g+tV/p+c8nOj+rzz
IAq/kR61mwTFtBBFpDkDZhm580nFULdYpIWycYf0KjZt2N/NURFOtwCiF3E9
D7dpOOXFy7dFOW1yNlyZL5hVLOcJCiBqC8A/0xYLPMIxqoj8JfkjZPERVZKS
d13XrdyKu8TbBQ+NN8zYsjt/P3uLV/2JxOOqMEVIzgztGxCjd2NabNzspJAK
rwCN930tmV4SDWS4nkEz2T3FDru5INYZMqFBAYlO8WqsQxAJOyIAeI93GZlb
AAkLUNnJAsbpg6Ljze5cnIHsHCgqkvudHXnQrKb2qRhbwH9dNJ4QnftZEWzy
2acBazOWbHFwzlFfnlpQSg9KdAZ9wECMQSH0VH0ASKb12gzIpW6c8EllKEFW
RQxTlCYDJweLbcTAvli868HSFFRNHWX3PDRmUVq0MEEQnUpZRHxJoZCYf0ew
Oj0pgNHolzjGf3LRhvwu9QkZ95/V7GzZFwQIj/g9J6483cjc27Vke2/c7RFn
i4LcKiotMmBqKF4ZXP9npibG2O739w/MN+A2Sz+kaToPMnX3J7lgJejURUGC
6Z0oKlH+Vvax9C2LkW2mtvE5luMvSVySJAEx+dJiNbIOC/1T2fzmR2ttIqWU
TXwVir6+c3EeC7+X0zWNzRJvZIyMR3S9laTPF7xPT537xz/+4WTrJB10rDu4
n52+5jfvfCOvHDOj/naHn+AZBz+EApPBMJDI5EFW9Pd7CXG3SR5tWbGbAGVi
3zFNXi3qqUTBwYTpRAz5OLAWFWl2oiXRur5aL7py5ZONkxVqs1dHf0Fix8b6
sJQHbBTD7Fv9gqWNZY8zpasFxZkYCd7IPtUZnuau6vIPPsnADrmSCzKnmXG2
MlSBtWQdcIESIN26wUPe8cauPhzmLF/WlsO8bs15MTGmrkhql7cRGFryG5jo
jr57/X32g6DzlejyaXWpBKeUFORvNoT3aFFtBCA1EuKAd/PtjlEgyhuD6OL3
/aIVhN8lR1rWR+ktcAEpCvbcu6Lu7WY7z3ay87fKzfec/WL/e57tvIdr+2BH
csazLPpp3SzGcvVL4db+L88m7YrLNv63uvG3c3Tf/0Waw0ceEx3C38wUHM1C
5e/257suTJrMFf/vdcVF4uRv58K3+YWgS893pCQa8IIu/mS9RUIBO7oasnn9
taDb/CW6Nfyse32TvJdHvaH7kIyS7TzdySCIHj+kybh42fRWvkR3H9x7cfrD
6YULa+lHo0t0A36Yte9dspxyg1zCK+U33BYvs97Gl+gu+Qk39VZfFkQuRVMK
G+CnRJeiG8Ku+BvoUrL0yWbxLYJ+2aG77v0nzFDn/N1hGCtnRzfR9THqGTj7
R1jv//bh8GD84Iho4r99eHA8/upkg4qeZewXZGj10fnx6Skxrg9W2gwnapee
/G5PnbT7A88fMazVLDjEpPJbCXaKDTxfakEF2FmckLo5hjjUFgU0OtCm8pb2
NvdCUXVTVh9hJvLSRIPwx97/nR+rnzX8zaOhiXLwSpmcmI6W6KoI7IqmxS5L
OQObQ2hEmytT1BWgsfxOuRJ/sbFSUgT4xCQfu1OIk3/H+UPkfzsgZnj08u2P
WAqmQ/rvzngH//evO8QZoyOtTzDJud759df1gEVvxxUhU/Dd0U50Yc+Ff2fJ
8OEM2nW9koyUXNtzyZ/RYP6o+pfIlWSs+NKei//SRUSFqZYXxpQA+YtWaLnq
8O8BtrvTInhFtMK3WlAHf+gyRt/+eRvCitEk4QQTsWzoRL15/fIv3kipBNI5
5JtwIjVBe5CmcNRVUPvZ+d7Sf3a48ApPjshdAS9tsaM4i8LxIbASHQw7FD9e
7BD0/QO8/hNPzZERZZpMPiWldBSdXVZgpoXUbdF8I0ux1hRp5OKjvpd38lo5
Jz+q3S0U6s15JKS3l3fmrnYYCNN9dfTy+zdnr05e+NxGMUN5LggHcWEeaGtq
ROWt26hBYDe2fYt3QqcuylzntGsxmxzxROYC8fuQb0VqKZf2EdylcTW2t3oE
sO9+VitXsETrhfqBF1z6ke2B24RpSMoaLNQZl7i6pY+5bZApxNFE4XHFU572
cxMgH1AY1msbzx9NdFDeJZmZyahoo+f67bH9qxUClvkC+q2/RbQQph71Fmva
p4iGNgtkCc+4BRO4fGLs4pSgTqflxAL6D44X6IgzNHDAkG1bqrdGd4ZpR+ps
JYg0EU2SzTY8A1Os1WK/LelL1IPmvctMiero9rU51NljJM8Sh7bg7dHZ+YnT
vbcwnrjHGSgPa3aGAIMAJxCIFBecOTZifzxTBAfe9MoYyL8ZCNbQtDKaADdt
1dm9KS42NlA50zJE7tX/1CKKpVI5V6h8/GLBFVqITQtW6f76FYnZ1IuT709f
n5yze8iqTpq9oxzChY1qxRoJiR383GUBdLRtEDhchNVxxiL49SOJwfS85PEj
DIwfuW1ecnk1/Tov6zEImY0WLBb8GlzeAMktxBr+JnBPqRvpjSLPsAweJ+4x
3ooe8Wiqv8Yq7fO4nunxmx9en56fvDDykhJLmzuuSAahd1lqfeaZRb49fMGI
Y5nfFOajpVNRr1GvBMhyVIFo1oWYglLX+UW0M2IPyuf8hnu+yN5nu1ZeYC/+
ffyebvBRFLPIQkiQVsOOCDsgoO3kC3PcYQcPiA/yLVoOQZmMQEaFH1lBG4NF
JAazELqTshkx635v2cQlY+05YUXXr/cCIBydqmqtsPm1xfKY8dk8xS9lXwkE
EVE6CKs1DBd8Sb7UVcCWSvTPBVcbiVgmFH3MhsSLDo1BI8zD2W9TIgak9Tqp
bCWYMQ1pSwkwVDqKwA+XZud/AWV729bRT2rviyPwp7OXBpsYqHVpO2kIpAnL
l4mTdLdon3Ox6MGt2W8jQhMmBDzQZ98fZw++fvJ439cJdOJ1BMZNHI84UHHR
Xu8e0iS3ZPshcqFCLlfMTtXvjn/S57TqGpE5torAky2V6UO2aPl9Hm6F4jRV
kPUXL8+TRES4YzFfOEdZVVPapJfpgvPhznatwkW65PyjLvpwfd3EBcuJDeAo
dDrz9UK5yVNnnC/x0SferL7PtTPgovAjX/GinxJeaibHs0iti6prJKFU9pZx
BMXAFHJJcQx82taqCMaRKjfvVffNdtuiYJ4XpQpqISev0Jnzew4mJjmEHwFV
cDw3X4wZ52VBQKRuKu8NpQQZKhYYtgIw7WfWBT4iQkIIlWHS4ELCN5JQdTC8
sCYa+LN4SCy+ZMHFT2d1HZu561dsj8P7kllfFTQUYIIeh9sXQUHPH1AnGONv
chMIJytQaRXhI1owyh5xtSYs0rpCGN/XruOZh2RpVkcKUQQHPlZ4P4oV4Z4E
oWoxCcfecg52qN6n0cUoNbb/SUh1UL+EiwSuRJy5QrJW42nSHeBoI02mltv0
UIfF3HKw/Q16uMG/Nitkr9uw7cJeB852n9bklqD4oGbxOBsgyU45uYZ/5IYE
I5/tzuVle/s8BJOwPfZ/np+fRLeiXwl9xKov2w/vHz4cHxyM7z8acaEHZQzc
FYExXMXcF3IWL/Aw5CJUm9DQh1Q957MaAULXqItbzHndUN1kYHUECoqwJV4t
OToG/FUhRhLkjlOllfNI4I+NOrP5lsT/tGo9vqUqbiNMWivr5VVFhJAhLplN
q37soe+LHDUoI5CwAE3xwTyAbo/MbDe9bakpvrT67M3YC3KSRwisUwIoJStz
29i5fCKjfrxc76+7GuZhyS2Ekhz6raCazOw1Dgii6oVH2Wz2xEg3nDhCsbjE
oWj1pCvORqE1Lk2FVZRiVO03TR5Qz0kMGUqQG26jRqcWuNK6+5kks5FSuElk
7igRQ4LxSbmZ2gWR7AhVP8HjXHtTriI9lr+HKyOGCBxci95qvPM2+0gyvzSO
7DEaskVp/BlB8lyFcXTsYzHFms+XB/sHkz1AOKBAmUQK1bECAJkZooB4ig9Q
j9pSqnQwZ96GE9JyFxoB95HmJA7nogA4FiMNr1uKrpX4LbgtCiwzceNxdeFm
DbtL4ZJIgVZ+faaG7IBypNZ4mr6FMgWJ/PhEZpsduBQZGaM22toN+BZUOquQ
G9Aq9AdmzKRq+hsjGzVxcCy8Ax4o39d/CV4OFrtq3oinQytt5T1ShrJr3xGI
uGR9ygUaBiDiT6dvU0uMS4ry6sDkmhakfpGZ2YjlvPKFHrmQHWnaa1/MGGsP
1VTVbK5UrPYD6x1567SRAqBBNmPzT+Q9rBCKnXF9ONhGt1wPgfNAO+7B0Gtg
wXbfQOoBYxHBbtnWEs3S4A8C4QROpmdcM+beL5KFTJFMjnJBS0ncUNy5fz64
WJ27d++8K1bZkVYjSSfLVeOZD2s+luVZ++R29osocw/RVqDoVE0Iqo/YwM+i
i0nu9tAPkeSQKgPq+IldHxEPdJnoYkNq0W/7aWH4WIWF3BtJhTZfzS3aGaRe
mpeTC3fqND3Apz/toIWrp6i0ohh5f4W3wQC9qx2rH7t4B7i4+11cPOtxcUZu
eVOW8xJ5FKGkIRx1GXmbkbx5h1xmVSLDqulk/FHlxWfCAPUoQWsm9KZWbmqw
2sNPAyfVMxg90+djz2SRn98W07ae3RSiVWPhGL8RpTG5QNfqgQ7gInmzoAsE
4Ck+1rTPBngUTqIcRHViy6BsPOOZcMq+G6Wkxecr5i5aWYOjI3R/sBGcnNLs
DqujsB99jxjjOGw/D1kT3qMQIeC3nCsus+RRIlvOkcLmvBsylTtWrKzacGDH
Qt4OjLFc0ltRz2z/93zDxiHruIPER87KKLD57SeGhojOzOCRsSLSG0uzt/UD
hPeJw/cTPC7ahH4I4KNLHzm0skEO93smF67Wjc8Iz4TUejTMQmFTYZUUUWwA
IL9CvMZ615qYZymZcfjPGC26TyQJh1N2IHsRfAUNGCEoYN/6WkkUdnH9sAsr
95MNDsH59T3PIdc5cDHx+B4RbCrxmQ2vVdKDlvL25AVHVMxdFd8WKUK8PnW1
IcUTdYjLWMcqk2amqKLysUeFfXv4fZSOjDW1wmNWHrLHwUeWzrtifPHGHoem
ZpJY5suoKTyRIaU1l8ZQP86FuNDESZ6D565bZqqbXiWfNgnHkN3nVI97K4qd
z5hjKlO1KCTeCDpUPeCxC4cbqPyMGIGNIBRZg+brZsqsxZi5kA+vhJsLt6hX
nHdTBFFSWuozWe0QhzMOfifp6VXtvNWIO3l16FlWL1NnVfa5zipTz9Uba+qN
6A+zurHSIkdDZOrFl6YkDDgCQ/0dFmt1k/TSUE8YQnVdgTyVkoX+6Q+v35yd
8BqqKI/UGrxLU5bFl8oizhxkkcsxZBFul/PwAXCibmS16D50PilII6WY2SYF
W0Mj4pmhILO0P2Ln1CZhRtnl1sdPTWlk0IViEOzXF1RStElcduKKE7zixZYu
CGLQzlHl8Eqhv0pe+dD+8QGW7M+qjtlxZDS1/XAzjkobicQkvM76B5s3LpS0
CbGATvqCIg6fzdYN/6pz4UUnSn5rdOx9G/gwk7K0QgpCY3HEKemXi/wqm+cM
vjfGmGaa4xgLcjd0Xrpa01usYD3xnpVCnzlGGVoUfDJW6lSSM/QU4lsiKDdb
wyeoIPipmmtxJ5IRXZ7VcyncPlFE1dNvPKLqWzOlJsk1E5T5bfbgcDy96woX
vc2G9GU2Hz988s4nMz8aRTVK5lomR+S+qlEiwCerG+Mq1qxgo9er+o2ddc/D
c1GTA1OVQ7SuHxyVkqLOF1LF9A125N1dkQbkTUjpi3cUpaCGGp39mNj5mouh
M/HN/lTcnZJ03kfPOVZBtGI3BmL3dyl5B9kr9JS6Krg+M+dKWwbZ4cE7KUfL
32UlSNt99Fm70G/w+c+WaRGaNme/WG/nd5m6H8TjjhF9MNO508u0Z81lXi60
T2+swwaDTIUrEdK64gKs2oMqlMn3aq2Ph8UtsoS4GfS6jb75x98gkZY1sWsU
5ERsZ1yhWgUSMiFFr0xMldXMeisgSsqqES2OrzC4EVvIJvehGWpFbG1ECtd0
SHWCAGvXIUoRBYItsIRXxLULb8r5XqCfZklnCWjGb59+s7r59otv+Ju+hWz5
s+bMt84LhYHkBiC1pC4eb4UyOh5FIV4weV3q8OAWL+zwOJav4h2YyGI/f27D
TKREPFxOI9T0+ZuGihE+JnG9sBLa7O4fGOmbdCBtekdSiiNvQjr0ENfxlmz6
UM4/i2oRoYyvppZx9fQtr/s2vC44xxTWA5wLZxaj8nFNEkuMGeKDYCXebkZD
uiJUKwDzQBccC+rJe4QLGZJBkNoSpIiqiBlTs8bE7jhiAWfhvpeoep7tHp+9
bPcwnzcV93WI7z7nHiMBNrL75vj87R5a3TS57x/KFXuVwE1PlOnKsrcORRHR
9QnlSnCHErQSsKgObEjKc2265cQQiM3CZ02LU8/jGAonduhOWlUEOb2zfLXt
7NJPdHKPQyYhl+n3Lah7cb+ROdNlK3Muh5CPLQN4zuEsPlWc42ja5aa8qBnF
hyqlyDeZKfMPrQIv1wIKAuiGS9QkFeros17XwR8Z4UnivhgQrxa6iUsfqtei
3zqFLQTdWlBLJRgYJN3IiPEY8n1ORRlaVtoUIlmmNZV6UZU8LlspdoJk47A3
Q8q1YNOEvW3bN/mVme62PYhTQaXAjheogT9aTY7WypqHYhso9AKiVHeiaEUe
ItcKqblo5DlK7bGy7I8uOAOKgIppo2D0Uqkd+5jGiEe28nSkxRFMLG5R3yF1
1Fjq0lfcyC8vaRVFaOBermZILBh36z/Rrg4hyqYoFlyZuqiuSHwvlXtN6K1L
MhMlaI/+jf0xJc+1bugO7pspiCW5hrJqTQ1PHd24LJBjR7dx6TIuRM9N01AP
cBf9DkSe0iPTeg5rum3rmbxoL8y+nNII1gwk00vrhJOxD2GRTtR5IRWjy9ia
iqlASskL0Az7pmafM0eZ9ajizfkDEtz54YlvVsWnOZxj3zaZe0ddMv82sz46
LMQOi5U0qxJkD0maGPbTy1j2rVxWUFWlsyy+n5WHrnXKMGcM7UVFe/r+78XK
zBIr86k3x+N3aDCg50QcOTmlIqckUcLEDzTnNRwBbJdp7o7Q4eiygDCfaD2M
if4pruHgkOO2NbH7ndT6ZJxJHFdtlQPIamxhAPwjWPeW0y8oCG1/01q0eAPI
4YZAGpx+oB47w9N9QHXglmtLKGqY7mHC9SkKw094H7i/b19jNkhlGH5GfmQF
B9gqxTFoekP6iH5Ym718+SqzWzJtKS4PWirElgej8leW/c1FX0vGE/ykJDRM
NqmEA/+ck8ldN3eMRHPKTTsRU3H53ULR4moQzKUYgoEdJgxqJYXv72ijTKRB
dutN4aF66mXeitaT31k4DOnhAxr2wf3JRuKo6+u4mkLaTzvVuiKz2IJrgWPw
pWHv4gxPlPxqZ4UoPxJcZP1Y0ZChBIHUt74tGkn7Cah3qdmusNZUC+S5j3WH
YRvV1o8uVgIzVHVw0xwiQdBuZFZFtQ/U83BdXl0jyccveDRuO3KRzWUHdyAy
YFCsbrEVhNUB0HqkhJNdXLzEGklgVyAm8pYxe4CsPaQqRJK0srFVCJDnKJ0R
m9akyawNVyjSHM7L93U5d0iqtsqCHAder1opEWHGO0+LW7w1na8sULQlB2Au
4psEHyOBcq9Q6BGQdr2z68IMDYMY57fWVYTtZi2ITUtj3oao2wXxCNoU1iDt
M51flmphWi/2YJvFyrVIjqoIQpxionxtcq8JxnoisJGKepLUZg9nlk3ZfCht
2CZ24GpD2xyFghNY6hh2NEzuGyXUY81113cE92U7RyhpskwqeY4E0Tvu6rFA
e6NK6uhSgkw3GBahza9f9FBlkstqMHBtFbVyRUp6KAqhauTA2hhPVb8HH1ne
mH33cVW69ly8t+yMXFKFuvPLpokDqiocJw5ppY7EWf3bJvYq1tST7CNJoNAE
lVhhcL0UOVZitqGtLPZo6Wccp/e9on3xYFYkcLzwl3/9hU/HolVgz5SAaQSr
HxFGEmM3+J4uLoP2PRDRlen3wwGFj1c0i63A96cnL1/EWQpSyXLGOEWOoMeo
JjcQuvrz0cufTqRxt3z4EHCptaPHWBgGQmlMLCSUCNtMfqTjtiXyugVXTF/5
neYuZFHuggwfHXUP19QKM/pG0osNdTpdoyEi+3m1suiEc/0PJ0KLXO9hfC5p
Jcd1BT9DFZfUYHkmaSe/caOm4coQ4C5W34BmevjoUQb3LwOHN3vK+1IbUa7k
hgBBKiYkGo3leKxRTDT+yKItvRW39RUn+m9sOSuLd1ebwHPbpxdHF0ejCDuT
tJWa+dUgW9181tIg3nzWD/Yf0DKe6Mqy40jlv3ynzDUuCaK7gNRCXw5k12VW
geFZFmcg9h54lu3gztXNc3PIv6yrq+/Y//5TszgR97p3J/8ZAvZHpkt+TsoG
PHiWpfaDGaojtUSfidb/nNXrkU/idZqM+5YZjPKhaImkF2t/2bOBZXe87IYn
jFnKULEMz1z0xX3Ij/ic+gQmeaNReZFIF9osszPQmD7b3Wz2BAne7z3xkZI7
Ay2kNqruHAqMqbRuVXHVHQ/jF2am0P20q42kjm4Ww/HT7FXEGZzTv1gUJ2rF
8HmlcaLl/j0FcjD//+X1cY7UgcC6rG/AtZE2FDUD4mpclRumMr1v12oZM3Aq
wOf3NDnm40+Hml/D03BeDxseX3oUgOTin1TUeYg/AndSw1grkd+FMlrNuqpU
Ivt5aqn3WcH17uqkDO2/XGhIcuq5V6scE3rVFXbZW9LWMvWfrhPEiImqCDEp
NcY0yDCJNbpeVSB/+v4/URqox7J+R2kgLgzEz26UBnrOG+1r7Ah19f6Eg29r
kZ5LeNWKuX9GG+3Ef68lq23bCFPjy/4ZcEblKNseSqsQReWJ0pJDm89tryIU
FiIsG11D2R88JVuYrJDeJNfoPt+rAKV/Nh+K1tE/xRfTV6QrKq/Qa3QjQmhj
nPG7IkfjgHi15V69pvMhskS5n/426I1yjW69RN4C8g757v6W4G5/LSnus7FV
dGe4hupK8qMUDukXQRqqgtSvqfSxokr9gkjbKiL1qxR9TpmiwTpFfof926YV
VznJZ/LfopT/zq7lP03N/10UZVQ+xe+1FU+R0dOCP58u9/OvFfvZKPUTWZ9x
gyUxNwMGMx2DzXRJWPrz8Y9HZ9LYBi51WHAa4xP0XaBG+Tz9O6lnk1zbc8mf
9Mih1JjBi0/P32QPDh4/HiMJZHWdjw9dQsN0d/g7eUf/8p7rX6F9RUdTqX7T
5Y3srP73ulzlOf/rar5qthXQqWeH8nhbH351//6B/fHw0P5A7JMb6jzZMka+
atpANPE5EtZEGpoW9rlct8U4X3ekLtBpji9Cp6+6oRf4xxaL8JKEudBLHkot
n1+4ls/hwB/vsne90k3bCzd9ukpQWgXss2qAfboC2L9W/+tj1b/2e4WQPrMM
0gX7Iz0PmIinhUQ6YoGtVALi+jbVNTpQF1p6K0DwDrmVER9dzcIiMYXkKQ1O
CJI6ki8T8YRNDu7xGZ3sOzmrQE7z8n11Ig9pAR1VPnyFM3YjWXUVX9DTSUtL
fvvzI1YVX9GVeUna41viGy+7Obdsi2fy3H5Qa50rSPtsjzb+SM3LVLu5DTrk
BodyMYeKOZKH1gJhqrV46NpylH4sQ0ATu1W+2EJh26ugwY4AdaTp8vBPJRXi
Jl522t58EASNr0Mg+2OknVYdimlFKi6ZlYwwbNv6ikHSv06aukhtBu9Ha4rp
XfI7zfppVLnu/K1j6x4fI5IpFKwDVHZdkdHQdh6LW1SC/dIyyOx579evc0dt
SOMQhOOoXwLqEzXA3EcSkzZrc2WDtbnc76rNFQqqJ/W53O+qz7VRm4u9rzYD
rbVV9MGvY038S1J5Im/zQJkabxJsrVXzrxSnEYvhf4fyNH6mUp1JP5RtfQkj
JC2xLbjSK7fuxKN6MAkPmi+cq4/FqH7+EAWs1GSLwtPo+l23sRe0Q8luYH4z
32pcuJh0aZE5YUershX/T2hfGhAP+y7esqjU+abOljMUR/bNsnCd2fp/aEPh
eqv+nIWWVlLvjVgWi0nrIzNtiJD3gZFIfgK3LTRNxvdBTOSP0bG6WNtg0m6R
HPzTGX3WD029XiVXTytfHo7e8x0q3EDHfCV11NvsWD8HgV+8hCN4siy7qDf1
6tXJ6xe8GUfeeYRiePlyWl6tZb3DFumTcVdZ71Wa3jk+7mYUxHRjaAj9sTRE
BDHCp5NsPM6O1pAIC3yz/4bXUl579+CAuMRViR6hVa0STbA9ZGdsPM7xJzpf
9vTX2x4m40Qe/uk8O2GvMd1ufe7V52iDTF6/Hr+W/00UVnRND/PTf9JXQtz+
WDPWXZ96Iso4Q7vKmT7X1PLW0wZ+o/DomSyNvPfN5SUS6GUgfo5sJnnuJVP2
iWzEaYS8PbyfvI4B6bALDr56+PAQaPqjEGoM+2BOKWXoz1K8gXijlf+6za1t
cay0/0IgijbQtpK2OgWw3Y8ePv768ePHh/cffu0doF5X8zxQArlyIhEZGpdL
lP6oNYpjqChfEsY8ZNKWC2qjODQZ1KThZ/rKyRbNzAWfJjxQmZYX4piJOmG1
xjs4x9F3Z9lLDuYjUQLZ5jPRqDnBa1m2LMelGcJdwDtJE6zZjNHBoo9JHoFf
WIuwB2YRRdpxQhkmkF2vl3k19gAgcVmHiv14GE1N6fERaipBckrTs9b9jbSq
dl7OtNZH1K8qyzw7yiZBMZ28fHmM//ywnP44GbnJ+dE5/gT+Bei7sptsxepk
WqOO25fPBTmKak+rhRQp5c9on/lKo5yzZoBfEij5h7qql7Yo6vRJFgS0M5dE
mCJl+UhosyfgyvWSYcQgsb/Q/0Qdx7/Gr14lf4xfvJj44/PkMXcRSD7R9T/R
SvnUFaMZpcnk33Nzvnry9PhNgHBsKXa+14m+zu5YOOVX9Y7mugpxcUuhfA38
5l12R3dfyYnC+V1KQJUWrvaoZ10y9X31aGgbrnXTh5BxuJ1l4pyRvXMryCHC
bUN22gtpNJXWdZWsnYvIwxcU+cjidVx6kdTJyqdEohREk8V0HFAavuREpk50
QbfOSIRz4006D70Tx+JLmjvsbXAt8x0e/TR6/T9G5z94Aep9hWFpufzV+cXZ
T8cXP50dvST9/fz0h9en358eH72++Oi6Rw3YvevFmtkIbN2Hcr2+wv3gQTUb
5aDoyz3Ud0+ELOisLyVfKAM9reZrXofzgtYKJEoaMoxbQfh1ML9ERKaKxkUD
oOyMuSHiVGfyEQJmgHAND558YCTJEZlXVZBw/QfYkWSP/FiQDntNr2zXDcOL
39IIhvHjppAzJk27dDQT2DF8UDzGyU/ZD9LqOHsBRA3Ufg1mhhcL+rGeHcri
nB6/PcrO3xxnh9kFOO/pqayB+qxEaJ+/+fL0hG7BFaQoCFa+ZlyZrB/xtBgJ
bV6u5HG+grbf4easvSMGtdTV894wmdr5i+zELmUnbLjuvnp5CB7B8ZtG1aFV
0/Y3+m1Tvs9n2NaympXsO/jSX+R1Yy6a1FeIy+N2KWvPImgy0KRlS4cl5gaZ
B74bKl5quQreWEGyUj8qULuv9OvddiYnV2QU3iLrmKEQAaVj54+HBethaBKn
xMCRh3PxZpOdhNZ2/qPULLtkBB+jshgu+fLRly8fM8gOqz6LpwSuDJpq6WuB
3IW3IqSVeeip/7pRFtr2Ynmt3saM7pItFaBJ/j4vF1qhgjkmB30bRThHiX5c
9STnpPxxfTmemusBVGTr8dTlnMjaaWVJ6AN1vZDOScSJ4BryO4kk6VvxPeXS
KutKLYaSgZLTck4zjSoXS1NHWao26W8lnYgE8cYwKQF1WXVgXpzQpNUPEb0T
5Icq5tIRtOVqJqZgjfAEI/dZ8SFWbyf5U0j1Dc7q7UYuJcVoMISrGU5J67Gb
t+bKYQ/AjJNGWO1stZorkUy+2Eu6A/vKGSwlvJ8rFcDb0ZF/PH/zOoCz1Mbn
CLTX3IOmG0Y33CCrvZpDwQhQzVKlkyOtCDlxwu2W3riWxmFFEsmuq4I7BibG
N2N7r2rtl+aCQaivQOmGsiv09ypkOLCOiMzg4g74sVvxMnWcJvQC7cGtPonx
j7F5lgKwTllU+OBPIxyt4awv2+p6ZVs3cRwaifZjK34Pbch6U3uWxfABriab
c12UENcnFdO89SitLBAHeubL/dtisRgzTX7pQQVj/2n7Mtr+38jSmTg2Jxhp
7lOyvLaiNBaii31LQZBJwsfl3EktqNu+8oaMBp8uLUVXQRDOo7r7TFm0CkRc
WNhcaOKTH0OykloD+4vxwTkzzBawNShMsyLaIMWRUQuBz5pc7sdxhl/FUEEB
c4tRRHKl5POcGbtm5DJxpfAR0t88StSVrICusOTcNp6BBI0+9nopfZoIwWZd
ITrIudR08hgvy+O0ppmiduGDx4/08p4wde1+YFMNHxHz4V7pLDLz+CTGvFWg
LJjABm6FvdfSpi/pF4dS6S9Oz9+O6Y3EwjjSUiOd9PTi6Gws0ltVlKhugiTp
KRMAHxqzAZ7s4GLxyb3rUSR8DZm0bAT9QTTrLp54mrwqBos+R5KIk+BCNsYo
I74nrtWnSr3KWCbhEJkHAlJkodnU7Bz1Gof33oVLz6FgP4uO4vMe6ZTWZV65
ptvYK+/QMNziNviRqFRuXXGwQ9LZwrpHO5NHSpLMQ3QxzhtEvEp6SOT9YwEH
ru9Gt5mg/q9ko3vcfJrubCcisd9JZTBPwEjBwpBovDzo+GqVLHIuzRpbg3vD
ie6oAGIY42XZNFq5O4E9DbrC4yJcaCg4UJXin61CIQsi1Y06qQpIb9hofBpq
Q0igp0pLR1jhbecTCAfLRoRqG35WoXwsFPBNzWJbxuzvzY4dsg5KxocOpMWO
wrJIvo7tmrrMwgpZAf2NdEoJhvG3GgTOgxqr3u2Sb9TLQoMyCH+RdKOvNj0T
Jj2sct264gjFpQVFBlNl/tnMmHRF3EdWxEhWQqpJdql3XSUtz+Ng7FN9TGRN
mNCCTmmcum2dDKMGA6oqcYbSsyTAq4N5FYoHC6Tm06k+mkISAnv/Uh6JT+SI
F3TbuUvThEZJ7of2aXCbuR8JbvifSwQZQHJvoLhPyDBcIIlVYPGaVPTrF58L
4gbPHBojsjAV0O2Y6z3wbZyT8rmKjAAXD2khmrShCWhHLy9OzoL/s7CX7hpX
yrPJP5CJuSi44zc3Ug7dmJ3Bul/WV2TH1DgLFbRLZi9WTGMUV6YQu1HODdga
WY9IjJtz7ZlcBIq41aLynxok3eO+21UMmnY+viVuditSVWQy6z+03P0Bn/L3
2tcIte90ah341kdRSHCWv0f+MqAPTX4XKllJqbZQnxHpKc96iTtKnEWv2pT0
Vo68+nz4ym7k2joqrxXGwXfI6zmuy54W6FF3vpqQXzXHHonlat2ZpYXK6nIv
j7D7669a3mdcVnQbSjhlvuqPjAF0VEP6/zLy+Fube2NXp5rCCzhNBDEhKfh8
ortBln8eRXzF2uXX0wvGdhEIC4a2VNxa276Gjx0m6FeEOyfBJdZZZZ5+5sFg
2oE/Qf8PpRxsSzeI6cuyDZQl4NL/Fh14YybDGUUkEMZgAaSxrFnt07XMtf+Z
LAr949490u9dFKq+dy/kkEj6iCJrFJ2+4rrhIjy00HDeRXmujL7QEC1NRY5x
mxStfBh5XBZ3UZuInDcBEpD7YYthB9AFLL3AyFCzVHYZ+7aMkwLOzlBry1kT
Etg6NA9J9WanhWVqoRd8EoXXZvGTazoGfFa0t6TlL6iVYZVEWL9G3j+yFPl4
DK4PNhisqb3OmxXUPCm/LLgffGywsaS24tZ0kYp9dsTX/S73EjdGwwkf2nlr
Q8qFgukRkMQlSSWjLMkBGXky0j81o4MtSZWDVlbuKF4G09z6J9oOfrpmv4Oa
xcu1hYwHO0uAXFEDeMXlMTnCR2/AIAoOdNryHWWMT8Jec/FiQ4Hxvs3qMYi0
zaxBjlI6jhjXCY8oz2eywWcD6wsZJEZPHZIv26Kzo8TNJ6IyLGSQLUaR90s5
itjvRQfpDKjBeysRSFtC7x9ZlZ8sLJzv21FW2iCPcdOcDKcObi3WBOVz4Wmb
TQy4YbF+J1BH+ChxB1r+aI7mYlVGWMrzk+M/tC517qP+qDQRYt2MjXE5960s
522+4ECrlPdyr2mQB0xg4nKedTaEtJcSGSYdUKzGayR5nUh5rzVJZ517987L
vxdWhzrUtfX05AF2l9ISwe8bmZ/jetYV3UZa6si0gqHxoB8uiccZdgxLywB4
ANeEfkRJwzJerhcRw1QyihiY5bayQn1w+OBQZgTf+5VXcbPpen5VaO1cKz4E
8vYB43zhrtblnJ1V4oVvQx1wYp8F0LcAoBlmQ5xTirsTxu4Sxi6qqy9CEpQQ
7abI6dIs2H8zWtX6n7fX9cJeiilclgvWJaLKER5bO6stngsGrh2QndJfmHE0
y3g1cZXpjM+snO4mB4ErOYQAEPE1ps6gR3Ahbii5IzszU85xw84KQnhZwIlS
tktZ+ClXKgUwVkN5jK35QxuBeFhSWsVHVcl5n1CLVO0geSzqO4sPBOKEF887
HkyFm0lFdS7JA+8VarcQ7+CAhY7IHbu0w4jrcg5CdiKbazPFpCbQNoW45EIq
9OUjJz2Ecu8BmdOoz5IyAevKxFepkVBUEmv67JffFZYw90Ukinlf4U9s4RHb
M1b0UpTOATU59PpMalBy9ZM5WNxuj0r3eI74ANiPysEkALkczN37r0ncu60N
By8RTM72jQvlhkrKhiMW3YaB7tdcjwAwGKtuy3Ub0cIztmMnvph0HrEwF4aW
BEjhWfqkRCCKLc+GaQiUl28WwYFuLBsv95jaMK6UIZIAbRuxZXRUiDTJNrv/
gD+dNMora6vqZ+58Y9wFSyZJ0xRraHEXZEPQCOEpSqpZuzQZQc6+mE5RbeRc
3crqIc2SbjdO6x1bj6c0E3PXSgRwOube9nzMZ5kvN4zNkCKnPTE2sGcaiueC
+Ek+ZxZldGo6p7BKTVDczBCSm+gdoNSP31Qumk/c0bWfuIGW7xN30CnfdkdI
UU3z7PYcreOZlWqQrYYc7C9k2nBYSSJayWdZjPyWsaV4u9R4MpFotU5aMgh7
DhwaA70E4YVg374EaVFWaiQKWWjFi7wOVva4dbDWu0Wx/2eRnOt541x6oAbT
d+1Hvzi9C88TikDia7T39OfWXf7Sby+n5L73/966ZRvpsWlKcZpTnMxKMreQ
W8lXXTLHj6Zz+un7V9CV59EdfPlZdv7j0fjw0WOG8PW8Za5rk0xPGqNrQ3ap
zf5ZcKr9FeHMnyqiBy2U5cL62BB0pTeNZBKRL27VFONymV8Vzq+sH4WuDHyM
BVI2vXb9lNShhFRVtqJd+cfOJ9PQNk7nL9nO/g5SfLud7N0mJez8YzYbf3TY
fQybJgJ+JBPwMzLl0sy6z3ggTZ79jOzZfzF9djN/dmuSGPukWLYMJsfuMHMR
m64tmDP1OQ3zFmZFO0H55vBM7psgsGXTsV6kzbHmaa8ttPFI2WhU3LOX78Sa
S8wdoywdBwerv8+3WZCUE002id1EjNzgz+99ONvaWGrpcszVnDHLzbQx9/vS
xjb7WbnfnTYWg+Wm0AD/mbSxzKeNuX82bczPwFe+/vyssQsfqyAGLAqrpSKh
EE9oluAdXuj6KuhxpjbYtcuobZHqL74xnFZdbK/x1rLqaZIGNogzvTStq256
mrInTCLom0IbccQ6q9HqJ7PIsrrZyCPTHEAyKqRy13s2QfQg8TeI1Ua2PIA7
IAIJ//lCjO6jqoM17UhFvvoh2O1BpiXNFRhNe1u+rBmXWeuZjzKMfQPpng3h
t0kzb/nwSZ7DPho2mtIsiSxkx3OUIZ2U2JLSJQdAVT6wo5Cg6GvdYeNXGvjZ
3noFXShpVdMoJeqeSbqi0EdtDSBhA+X8iXSe2J3jhZ1GWgKAniWoFDkEPMsS
hf94fA7wG0qaapacN0zh2N0wNc0oaLlCq/jwtBkekmXqeTEWaIAvIOrEraz9
W4hIK+/gk3vwr1CNkMH821M0P5GfSXcYSf6vSNVMacZtCoTfkaxpzTbrJvuX
kjUnpldOQDiTJPAz6aVyWuvHCFcy1la9vVEiN7yMZJ3JyaSPk7ukx4tFIUKV
46KC9zUUg9NwjT83OJaCo7hkCBK600u9RP1CKfTHQs6GIHMDeTXs90t8/gIQ
2vh2mCcrJCsIKNvZNx6iiwswpwOfGcqndtGaSC9GZmtsz1uM4HqINK/Vg3LO
uG86XuMRGp+OeZBTFGpnYTvmgv9JbDukcXj/K/vh1BxbGDi9XMxZ8pGpN+e8
kEhQe+7na2FG9QH9sBZoQlDHIGSRtx8hJEBB2IiHg1OpuQu1bOtk38WxtCEk
HXcL1l687GVpGiC1WNnYtYCTj5r+tie1JE2yx93CXXBySOjGCi0M9Oztt4F6
CFXKtR2QbdoxNkJpbe4g9w06qrIB0FaUzMpKSHAVhxMJIvcIriqyYHqNfrZ1
BFKHSVTwMHQbGlf1mB4fa5+h9ltRl3vCTBmTBciEK4WpaoRXi9BbnyO0z6Il
grInJ9EvoCXHtXExWj9cK2WIGYSW9DpMfJWGeGNg0Kbtppx2QlfiEmNfwEYf
2iK6THv0XW9ZvJU5L68KhZtVG0avTzyJfIRa2557x5ZdpZ02okAIU7EI2ygM
7IZ9cJyLMvZQ7Cyq/Myqj6QUZLlDRWssNY5TzW3MSefLu3xhoTQdnw8MjfHz
6cWPL86Ofn7tK7IWi6jHpnyehHM6CS3XTWEd3MyesOC95F/w3OJ4j1CNNUtC
26d6Q7cKKnBTLO4cd2ePshHb9ZROW7fWBfv1V4vC0lC//SZ2V2uNBaShAOrt
9uY30jKxbTEbxyNiBLST9D1LuJ8NzqMF5Kz2dztEOh0Ui5MQgB1AC4VmK7Eu
lnN+SokmEHCAOHWApHpBXOtbdicsC4nE2U3W3hS3I+cL8gnKByba2rf91fNr
u6JxoSjH04oL+9lz+5sYwaLBBIO9xDpe5gGN4PGGI+JcAk4wUS3J9+lm/Kh9
uc+VlxQfRHr5Ic1Ejy2RTJOkxwLzLDt5h7r8PNgZje+iDnaqv/runUHl5fLv
vs+F79dCbGpom+ny53EI0fA2XVL7LmpThDNyeSkWJWrD0NzyhWWb+UfM+ok4
zrNsvWIWigdGqhuFw8ZA0nnRaPOkGwnWJTrSdV3V68beq4SmKsGEHop1TWem
BWcbFhHW7Wlvph5HFsSmYBFcbmWc0e6NjwDSv7p4jXBUTMmnI522EuxVquXo
gQTOe5ZA3kZj7rujadLA2RBTCM2lTQTZhlsCXFpdkvohQeFnUpcofKCseNRa
p7Me6tzio7waIhq6PEQ0mwJLAG5qYY1jWp4H5Y0Phg/pRrJNjQLE0MOTRmgu
WGi044yt+uoJ14y+2DjeHtITvZFRz5Wg42N8nPpksAFmcK8Wa25c6j+LNOir
iUI3tiDsNvUIM3sjrJ0bxNrJ60ivevX24i99fOPHoIDS2UA/Fj5BMVrU1pBp
yWR8sft81rmNtQppUtoZzkq9bPDIqOgANM8u9wffZHqxaAt2DihF/ZT4DdSi
F5vP925Sj1m/mUlysrl0+Ce8CLubPoS9YEH5LrrYiNTBB/Fk2lyszHkCktk/
Iwk+u47hy1E1ps2zuGJoZDGG4Iuemd5ZFr02AFJMZoiT88qXeZWzD4QW0R8H
tGiMnBa/fpHuj7rK+ET53Y2pnqs7cBkiw3X7X/WUpbRQfLgm0WqO3ypLYdcG
AX1fsuLCuBokVBg2Spt6cD0N1XEj+JPhj6SZHOfXrAQ9LQXeM+04rGZ/79XQ
jqQv5z432eSC4J6Vnp0NVB/nVDEfjs8kHI8Omy+0BF163sMB3zjalu9Cuj0c
+jKe7aNvxZkd+efOPo63BZFy0hgfWjNv9vf3J2oYGMg2u5Pj02l6Lbw2ao5N
uLXnsW3nJgPUlR6p3aM7wb4KjRRgAqIrfTC2eGnvyzuPnWD6Urblp8dZd/0l
1Js8SyMTjm4i0wx5mvjnrxIP2Xm/8zTb+eb9tzsaINm55gvX4cLqhq+sbsIl
Mnb4Gv03XOxavta14RIdfL5G/w0XdUr0wy/v7FoyeX5EP+1blMzPftPJ80fg
oHl/uJFdCAe0UvyKNOZcsl3v6ATfLVuDSwSyKXsK5iibgPmTCou6gnPzPJox
IwvOSifGEL0z1iJkDvSOKVHM0gI47HGQvHhBGso7MYRXUYPkCXMSiDoNMvJ1
vj1RKW/mjeezApjTAFp+xB6SyO8ogi6It5Irwva7azD2TqyADaS+Xg+AfRhz
GETyfmN4vbqKk87p5hvXLGo82GMvXlvz/DGTLAVhrvY1GizA14fDE0lXDyIU
HqYaBDxwU9/IWGRzy511GcmD0jSFHyv4rmnbyAT2vSg3VUemY49eEcWW4Vh3
2fv7D7NFPrthJ/PDfYbxRlqUbPaG1nUukEzzWwv/CC8Rb3hg69s94qp/yG0Y
IA75iPCHTrtYrEUsqvjRvRMTQ41OPB3y6Hlp9t2jfQMrwqeHYg13HXNINH8s
282N8U4Xz9v5KLD+hIBCV6yyQ9/I0Gf5sJtTizIkkpOhhNz0NnHluKAZb7py
vM0WMdF44vR6uMxZ2bes4fQrBuxKjwwhsvYnVTi+OcnhzVlXSltSiHUqOF3g
ebEj4A/utiAybAZc65oFXY1RZIRef4v6sl4mmuHlFJ2l8TEfjGiNqtkCYGNW
fDLQHAdMJo4WBu08jRlKn4w4i0FDvZZZDpZEbPq5BhAsbKaEhW6ZSfzIRfGj
pwNHEO4OyfYZjiKxZpmI249n6G0k5vU8loMpeZ6U+tB/F3W2GkzZk50IKXug
2vf3D12Sfpck8LWDGXyxOiv5eS7Nz8s28/OGTGGfL8dw/ljXaIrVukHzRSiO
MCq5RV53PZw2J8T5LB6F38FFBeka/+yiMpemqwWo6IbOnfRCOivQ2nOJMmK/
fpE2QfpZUbWFJwUU4bCTZ22L8LvHmm/opoIdxxHy6U5JV6GDhyFPoPElGLTZ
ESlkz7KJ0wo20BGs0b1k43dFX+n1SGD5mwuLMLAjAhqSRSTj+5496SBRPF9c
tDJm7hRYzwNHTZsy/nLOatfyv6MI/DFk3mopEpLuV5H9K4aCbv9m7DHuQcT4
lg0rgP0oaiMkvMTafzi1n7n1YDltkA64W+7TyzoG0ovXk5/Zy747+f7N2Yn1
LTJu52TpRABqhLOecp0c6VUaPA+NotD7YXvOaJWcC/rG4O3+9Yt5RaQ4U1uP
oe9RzlReDWQERRpb3C3LyfBjZXE+7HL/wYN3I/vnw3ey0/rno3f77ihpoShN
KH2EBf0SlbdLEZmzs/PTH6TaE/xPl1pAQENthYDUZ+umlTIttpsc/8MX+Woo
Gmv0HyPZBfxamjoAnLZe/OJQLUk62RUiEI5euN2jJIMFhc72smlpCkZmTR8Z
lCVFqqzdWreeOslhoP05p7982c9d1OjQP2jFBMGCyBGcxHmxZFYa8uGdltYa
ZRFAPZQ53It6GG6y+d5+bjZZ9l8ggYp8diNI9Y4+H1/qatUWxHfMNf50o5Lo
FHfcDPWDy8rZ0lZXYyxGtiRFT1wDflL1VMOTluy6rvQpSXB0rDZYHmt40HxL
6yrNMAKlAArAi37B8SbMpROd+ha9CtlegeZy1eSkJ71fL1DDTqXsroRK/M9w
CmmOdy+M5Osh0nZvzatDmQwmMyA8orw0LmaDTzL3KVNsvwcTvNgfa9/U+tpx
5q4Sw2tKewhNwaVuLzlnJNBVkvdS4j7P84V6dCh4pqeHPj75hO7aIy9ua99E
l1NpwtuktNvf4Cu6NDNVxtXU4OzF0esTVJQ6yt5C1n4xz6ti3C3aXDlZWgpJ
u5F7VHTkj/eEJk3npFa+C8MPZRA/fvz1k3c+n0VcI/KqP7QAEFxu1LqiDz9f
swbnW+idVpe1cYIoZ11fyr21fH34KFfZUo8fPnyw/9eOqIEpIspAxvPfrFvi
jt9m30i/qbqhfzI8EScNHrRvB5p7xP/7BpMfR13cx9gRHweP23ahpBvC1lyP
6t69n1rmyxxcvncvmzyYZLtYzfHJyR6pHSoj6eGxFiOIlsllWjkN0APeKZJg
x9xcoISShlKKCsMPugVznuIDEnBK8TrpOWzp0bE8GrFwix1ODmhib/90+h+Y
GNdlYsDCMASRH7hvD1wc7XGd2kP7NFwwgZJFrAul2wRsQZYdWWbTvC1DG90o
QGUP+kUBEe3Lgp7rFkZriqmf01SiBR2kLnZiSIpfRItW96cVl0Hz3oiYVDLW
s1QHR+0nY7UpQstPideEm7tFL9jTYtY0gNSUXXdhSxiEe8kNzOlgKrGvQiKv
fvSrmFj7Xy7BRfji7Tb2CmND6J38+6ODwz2Jr2lROmxPD3EBM8LaAvhwuGo9
YB9ahoxV4rhrphy2L+FUg4L4N3OgKGsxP1aPs1wWHWun8yxeUxcd95HmkUyt
4y/9FtqjQ52wmtaRtox05ku0xwRLBzthCuVoYkT09P/4RYqEUJibvjsVWlxO
QOpP+bg42/vRkji/XPYYacNXV1EBzoFVEKXXum671O+39uoVK0braasUkmyE
tPQUxIlZBrHCw4693NefinSoLG2xzHNzkbag4DaSfbJ29ljQm/hyT/7ucQZd
LQgAXjllAz1lQEuDSp9jWlrRgZBLAUsBAldy7iDYYhzNMSNcznw07NcvYoiH
hmeQjrJROWtLN0ePYXF9rNNngnoYwVOEJt+BC9eSNDotJO37Y+AeSJCAGrPE
Tq9EfBbaR1LuFO2jji/Og75EwfFGfW86ESKo5lI68ETIIPSu3oYMwpWIsoaB
Qi4GCp12+k57V0Jy7MmQt8MI9u2KJNGWeFjBKVuG1dFVZt+E1Am9o42Bs/Vn
3KJ7rpCeDcjRyHIuVjQOkS1L5r5n73qzje37srg1EiICYzbO4f9maXKEjzYI
wfs2dS5aR8MepUO4lqIdvkNSOofYI86hCS2EJaP5d0UlHByHBaRTStltw1BZ
J8sByBbqOEagLXYQ8r5F5jIrb7Q019ynIl/PS67scW2edxqD9FAUVr+UmIro
1G3N/j/f3ZkW1oxIEb/w5QqgPfsdWCs+Fx5tNbx+gv9Q2AljO0YSR5hJmLRd
c+1KEtL06oW0S0BREFno3Hp7cZq/niO/6AnCTBNTDQXjYaMGEbWkczGn2lCK
m6mZs0sc22gLeoK+EC+UOlyhE7npw+wTkRxuK0Xki/3rRGivTdnGfrG7pEPJ
jtiRjkT8ua5J5dmB8wWnLAaZgEF60SbD5OUaYqCjK98hpYnz1MOp9TT3Lb87
FMQCCcjHMytTqybisAFfHFKi+JQmvSrku6OBld+EsBhThEtOj4KAbqwIhqce
gT1xO62kOjYkNGlp7XUVLgQnixTxjHBOoiGYCCEmiSIiGAPQKS+d8DEsHwQ1
VLCwZ23kyNbXO3qjigWxbJBkNfW3Az6hqyPoWF0KPXN6quVlrbkIwlanGWld
XBGqurv1SG+eF040a3B81uPVJ067bpUFO43BLTggF9dv8gFN/oCodmyeXeUr
64PkMRvW68gH3JjnefkRsuristerfMUaGBwlrEpIVsPTCXdQ0+DbpkohziU6
qgLHPj16fTSOfNt4Vmup+PF8icucu2dAJYUn0tn6s6vCY+69zG6fBu/PWKrY
8vByI2pif5hfjZcl4B4vz3/Uq6PsZxJSqNsROkEdVfOmLufS0wRtVDGxPUf2
CtF4jKBV739UTCRC4fg9qebmK2ud4Fv7BUlGGZRsDgWqno2hpIrkJKomPfFr
EJzicc14y1RhHShC7YDPY1FbQQqZ8/SrR18nvnsVbmtuLx09Pq3niFnLNklB
gFGo2amlTuEnNCSkRWOiOHZo6xA4d3q3E4yfRieZX2sl2AXy0UGV66mW6KIV
AiXFlRQ4rJ0cZzm1fB9bhG0n4cmQUJJ75hPZiNJsRvVGZ+acGNqXZdRYyeKs
Ruy3mpvg5RrrXEXl4qL/RneZUJNEd+Kj1KZeYjZ/feGRtMTspgd599df1eNu
BUeCq0kdSg73eHfWb3tiM/Us1DslPrWNRtYWANYPWytOKoHxAcm44w8cK/CK
byAObfLiWIur0Wbf+Wrvby22hQQyH+hq1QrprFqW3TMtuK4xy9cYAmZBJCLl
16qv0xSWToqfrJfcwEaMjxC7CTw7xgMOlffYMCZIazabrzM/hiSfcX3YC2jW
7LnzhQCX0AGsXKegWSTdOa3XqILhNm9d8WElmGUiejHzA9WPIpC1/14IS3kp
kRlr0iyub7l3UOtbOLxWTZXPhG+I10NIEtexNAVeaGZybbIX1hDTF4fB5zDZ
cnIicpq1WOlvmgzQa+tuJRyTGCcnLi3bgntzcW8RbLnWbfRE5Mnm6Ybz+tcv
8GZfv9YqpSq+Iuy+umPEJDfAoeZGzSwqQHc4iR0NeHvlo+fWYOC023xJfel+
odP64vT8eHz/4B3qKQqLm4+MdlRj0LVTQOopwz96n5LgJ0NQGIWU2lAszEN6
sjdNeQVceNwBQa45ucbzlQrzxEiLD1yc3I5wHudkZj4jDeiLNYeDpeC/r+w1
UsWpldKhObKR5nNmt7uTNS3iv2t/W7RKmChG0E3ii2BdXD1513vGop+/hMX0
kQe1PsTu5B+f/Tau8DblREjtOCnlA/3+9XfA7+xvjOe8d+81TgfC6VzI61jA
a0wEyepb9duACcKxegp3OZFd0czytgixzQcPH2hAM2cE1OmL10eH9+8/kU2X
TjleERBUmvTDs1xUwMukzgOnbsJuOMRsA/BSSgGCSfDE30pZUjEFtGIpjtXE
siKAO7JPnaffNpLVlSggn8Waf/52H4mvD/De/85vo4PALztFJXCtpirziIJQ
9qyWPRXoqgIh5Kz+oc0se4C9Of2wbNSWVTAIGEI6gdGMf8x2GVD28AkqHtW4
dCGXvnry6AldQrcUaSglk5OnpaUSiVD955h/G1uJawnXPcS3iqCPVDSJctKX
MyQz38/eVGQknZydvTkLlQytkUTAyQHij+0WAcBYr0f7PMRUhviPF29eHZ2+
ZipOxvs76V7bBtIADQ/3JNsVaQ8lFAronow/4/HPT87+/P3R6UsGRZPyXK+1
JL1yTIGjAy4sGKkP9JnS8UjfgRHry0ueX/9LntCbHmG1BBFtUUtQBzqucpkQ
tgtfHF0chVRuWcqntpDHEY4CzupNHIXiQhgTgaH8Ap4z9oE/Jwwy9+lTil3a
ebYzsaonkNf06xJuW/1CS+oV7x9xPDmYdK9g0JiP8rdYVqSsLuP17oI7Kklb
bzNrzguZchlyGawsizZVNn8wB0945Pk+WmhgBXg11NIIAGmMNwTV8sUP9AUf
LYGg1UoGyiDQk8Xmt03WzSLKclJTNsGT5EaUsDBm1jNBgBm+or5fDKsnMkoW
Qofwy/EYxHWOkAfK9TYluPad8mguSshLJO+waDEbKRolgbomUHd9dsLKWjsr
JDqrxbLAvFtzGFv5rTOLPl/ymsBt4adgHVk7rf8dKm/RpL9SHo0mJ+lZCMVW
/ED8kD8KJz4xNOcAT2iVEheaDv5VvzW254FA6XQEuFjfwx/1qxhpaoMF+Tj5
RUZTGrGE7N+4YZu5xUlRuClXNi3UDUqoeIZUhw7eSXX8Blz19E4EYugUJ+fP
qnPYy/X6GE1HZiiDrO8KTTf8mNqlnl13yVq03m8mxj5eIcZOG3NBGvn8T6dv
o9NjUTf+yFIoPWJ/vW9OyFNHeGOQkVFoXtRdJ6GykMIWVieaAiZ7p7XYlDOc
XvoxJjLqovx7MYkigezSLcAOQvMHf7C8gWXn/PQypjG0aPIDMV5n9JGPtg+l
MYxR8fljzCbn8kA/HpIZT1jCJkJLKqhqhyD+aTzl3MfwFbTGbEAp5/bKpSkb
SeMuotwvReUfg7tIty6j7V/OT96ODx4//Podi7VPjtR78OvH998JI7PZR6tu
3+uTDqP95hWLH9M1Dt94zTGmclHMDTcULARfgslMto9G87guzHLFreOq2pwN
UYxKChYq/Se9lKPQJ5mvpJkBj9wvwqugCENWYnJi3pnTesg98DQbBiRF/UN8
Y5KeyRfWYXrn0Zxx86w0qQLMo+V2ypCQwcvGqFCR1Nxua8HRvFW94j5MPe3e
d0NiE2+rcZgF4/Bw2Dh0HzEON7/8d1mIDJnabPMrS6vpcdPCeG3STq/fuja0
APLdQwyDNWBSDcx7w64Si2F4z0kx/IgdoWzwDT3oCerM5AtbQaeX0j16JOBW
5tBAbvOgpkFN6M3ohS0jTFj50j8YPYLftAc1/qndhPWf2k3MQnNpEzLO8BNE
r36bL81MUzWCuWB3i7TztKydTfpKGsMlYwIkI9mOC1bII/ADEnLHZPAhMYa2
mAT7ZXbFDXXFjpecSunFxupF6PpkBh0tYWgEJHFa37ZKfFWYzGZTR1phsCuM
yqyaPvTPMRbI7qMVYS0mwhdFeSh4vN/e8VUBBHZvDGmOOeL2luG7OCfAeUEf
NmRjE84ErTr8LVnJGgcOfn+u7Fpj5ZLFRHkp7EHdpp4dM/l5u1FiZoF8nqtu
ErWem9D6EZ8nI0SbpIY2r6w6sXlP6yEQ9pQerEfgvqmM2MOo851X8aqNVtUj
Ayar3I4J1/fo1UaVjHBAgzxZbxQawkQLyyeENa3lwYm1FJzMrG0FVfnEvLa2
2xv1vqrX4VdeYPxZ2kPoS7oIadFubf5rtoh21Uv7/2ZD/X8ZTcHeGFOVeq1/
w8lb3FmMK+i6FxyXjtuOWed4cbjGe2p8Q5ltMNcMTxEd4NA8kVsBJkwaWCH6
roYmYp8Li6cl7QGT1LZocQPJW+0Ihc1d5B+k6LTOS4eQXJaVP8pRfIqlJu+c
lHFEk8qoDR07AiSCKOHsnkuX+bIIhE4yWLhHiNd9nNe6g31qHubhhnEcTedl
wmX28Fijk8TAwevi7nEMk5OS+4qZYw5AJuGMk8u15lnuHVQavEdHQnE2wk6C
Li3dtZ/ZoVIKSKk54jlRMyPUrSnTfRb+bkFqad5G/J1O+12fZvYNKIJEGd8J
D0YSDyLFfaSPrCZnZaFrbBroxKeI0WV5bcGtH1Un9y3pcH+Ii+NYCHOthYua
0a4OBGP31uZYQm/EoKJeKKzGqoDOfGln34WQVpu9HL62RcgO3OUGjuIMzib5
tHoKd3C6GXoc/9MTHn2cpo5YCc3e7O5M3r/vOUE831D5EjnWve4cHK3+btZB
xEkb05ytIBlfxLXypkQUFPAyVlKsQL+kuWpAVeqO2hISw70KfW0j2vsYIXmm
ojw0MIiY+cgMLqUXFdszkibEro23SK9su0iPEUHLO8r5mQnG04tjCGjTgWLZ
IykhqdQGkgLA+vGs5JBlcL95Smul1YV1kxbTTfXU78GqxmfEoY5reuS8AzB0
UGWd0e8tfv6N+5NnQz13sUt3RZd08xhsI6jIGk7EYQwYCzBl571NyhJgLof7
cg7BulaXm80NsJiVtuBVZdba04kcCr+ajsvkm7c3rW9j37MR6OyXTV0ZPNdr
DyDPS5qHi2aT6WyS+euZUm0Tyvu8yS+7SFg49aX1GgdHTcx9sQF1SbSpfuYW
dS3NTdOOT4bmTUzKTXMytlWH7SiU0WQTCrhPyW2zKGZSEVK6tKgLduSlTb82
8ZHVCX36j2/k6W8jcItr19rbDM8OpFKDzKTKk7ZA0lx+GWrkC7OJNa7YP/si
gO7hWnmYSUZHG/v8tB4qOpJZDWr5lSEViFvKKwwDdy1gxfRXwWJJzRYJO9PK
CBdTDo85rGfXMbzGjg6juogeudxejMjmd2yqOgJaBNxV+y+J0xSude6II4cs
6mmkZWPzqr0VsLF0avqBA7sSUE93OwVKhkWNW2vAWdWiKKIVFcASt9kB0Az1
+uo6eyKeZiz8wX0mh++PLo5ePvW4YQYq3GnB12UmzlCWwdEihNh5mhHAzmWt
Udi6daUQpLmfyNej7EBysQ4O+e1HL/58ev7m7C+wFkHNPsOM7LlWW3lxjAqg
3+y7k9PXP2Q/vT767uVJdvEme3tyhhLe2cWPJ6+irbA5u2TKoXtMSsVKpQ1z
69zLICIEtyhyJLwGgK3oWLdcluMoe/vm/PTi9M8nvMccjOmyCAEildVChbol
99MbRTtwGDp4Wy7iFBGcpzxJQ+Q5Dz2WFNmC9Rjet0CDkmOxq+M+69dO3NtP
EOpLZAFqnTw8ISJca6p4QpIZ5W6oQYiumkGGtDOSskcePsYNES3w+iogKbhZ
NpwpiLzFgdmkHyXCUj9JIRBEUzWCypGJUDOzzn568fbLRw80TB21/4KuUuQo
hFiYP2YDzsQTSvwCmp/LWVceYKToa82CIiXlWuREF4NKE2gUNz5jZYVv0jxT
WLS9pNpbMVUk1MApJGTaaKWOkF3qd2Ik1UJEIaEv5OmOfUZOlCrWS0mNoiJs
lYOAzMdyfL2ubnAkNKnfEAY+5DlUPAqp38x3nrFVw/4tZN5Hzbw3ikslceu4
L6XuhORlDYuGoHYPywgvEcXtXdU2hN4+8t/MVqCUFVckir3ftsyQ6IbdS4ss
RA6d3cl7OOKu8X/ImhsxLH0iNYtGUndxJDVO9oKTBxw3GJLc5EghcWkZB/bo
hFrhivLNsrjaNxsyJ3ECdACP8yd9ty4XPebN5TisG0beil3Vr/7pO6GNBG/H
oIttFcGkqW6WWUEw5nlrC6D5Br/9Wn6qrKNuyKxXa0diLf2qPHRjzzYUK2p7
7UQN5FiN5phLydkPgUVfvlGGsbgX3oAXxyV01q0v6hmKPiOXhGhg+1n7mv2Z
UUZSvwDwrslHTt5Y1GRPNcKs92Q9hGyUJ2t/pM/NgPE2Ig/yGSkwIfMl6ydu
YAj2+LAYqqOA64CWpAkcUIEKeKQqBbiLndUrK6wBYy4mbCLcZwv5LBdLYRGf
iDU72e1JwWeDmSp7vRa9LL14HpCCfLY5gQq8WJMeYsVhXveznCDh7rN08UDY
noD5eQD/2svQZNfWJGRncmaL5QoyC4IWuSVXUD3hTv1rcQo2J38O5lqLz/fK
5B4SvvF8kq/J5o5qOz1Qr5B5lNCpRH7A0v5YDnqm9Yt5d978dJG9+T47P37z
9iSkGZqPWyj8Qj2/IYPncxufB08QD9Dvfs6QMM1aGGp/bv40WUMf6Za+5wCk
oX5jUl4t1izjrA/dhc2kj5DbkrLjHNU9mL9W4lbWD4sOUwR/6NWW3eStPITU
epM8gB5n59OsmcR+hijBJnXmQPQyEg/kk3MwF6n8jm9BYGEUB2FVTnHtlEbS
GuYiKW240FI0Lg9qGFBhPHmcywYDCc9z4iIDo3yqQQxnjTv3XJdzYgCgQlb3
zvrZS57B7vV8ewP5SrKPn8pZ4jj3opPuohfGRYwKY3tH9AhfhUTinWrcwOWg
qrUlQSEvWsIDat7Eh//Zp8yayJyIdpG/bruVY5XUe2XYUd7r9lpCKtimJMVp
iNBlLqnNJKXoeAxuhakFANlG0t7QMPk+Iy1LOKWkZW0kZPVKZ5+eh7SxaPmc
jyIw19pm3/Yra1/Xt8xVOK8sMFtfuYfTj2JhZgaxJkCwASaGHBPJbmSoyxwO
7u85fJNCNejJo9cvIPA8IfGD15wOJ+WZsF51W7IfzGfHX1wX3hsOcpV15nYl
ajI+3aCg46PXUqmfKchtEvsg9USYo3akDVOi9D8e+c13QHienCd0Gduxm0rD
Rvbfp30Lll6pPqrWcesotUMZWBg0iisxqpLiPizveXWIDUc28EChXfPGSBo0
l6fcZv5a+mWaY1mx/4fH8r3KtACQS+7kQ+TJqFdxQ5quQDS2bOVqKUduuBxR
+xiCYoyzEyZwxf5rLfcZPDebDh4JEc2DTSoeI6uWLso6109i0xilWNuQbNvd
IrtizKsanJu+wOXWzBpJmJUUwt+XU4Pi0FJR49cvZvIva1XMtUTN2+tTaBJM
mDjiErTMwTv2VX8SPiPCKG43w+k1VSGHxQlW4f8u7lqb27aS7Hf8Cqzmw5C7
hMaSH0mk1VZpbCXRJHa8ljKzuymXBImQhDFJcAjSsjbJ/va9ffpx+wKgnJna
qk2qEpskgIv76Nu3+/Q5YmxjIU7Datac8aED2S7H+DuJyYkROkhcm6/CCYSZ
ifU0KTDxzFRUNDUofiSiLuff7+aPQi/X69mlSk/pk+kswfptuEifpE2RN9fn
IeujKnNFQsOCFCMfDV3qVok1tIWE86YE+m6WQsDICgkeUKh71Zfm4plYCzlF
Bgas1L1es5/QyU1dXM5duWgKnW0yh2eJOMTWZR556htmiwwMzmZhS6+baX2d
0T29qdGMI/mkOtwD8KOJzU1p/pVon0/z7uhmvdGlvLrRq2lSJJbgMPYsDn4G
AqvSIc4oQQTrzqm01vtJU/bANAplPH9uOHXisxFhQcVGN0GqTDQD9xemfqP5
lekvmX3OUjIS5ZlAdaxaNtd3l5pvZNEUBk6UmXY5kla3K0KMEFxkhlCKab8R
AbAfj8gqs5Xm7PNDoFXncQg65KW0uWGSUud1ZbaWpQCOOJRI83+zmImg54Oy
amu1mgsMojWt0mhQB+p5v8M0SJ1forRv9bES7HiPaC9DwACrJPIupJ3Fnlxr
EUjwYBOvwGrNSTmS8RhdMWBNbL2AWuK7hWuevnjyRNWBJxkWE7wrcqHnJVXk
okKmnIcb18Jlf90wswvVEMHoUmCGzLPGdyz82w4ksFC8zHyTkdyiyvocBwzZ
74YTIsVF8IaxfxMsR+v8syFPmDf1sWazgUfhqW1Ye3VJKcK45rJ5/ZrHIezA
5G9ibzvTwuaXSWEzCR/IN2GzG50Nlz/zQcuz45Ugk2IaDOovU3rolFlHYlqn
3CeTF4gqVz455vpJDrS/Mg5CtNCRDvKebNJ0A9hfpqDVgHqE2AI7mnUpP5R+
OdyxBk5WVmSyyJQ2kaxjFlxiIgDnFPo14miIzhoVtIboqfwc3Ep1CbyNQmqm
0c3FEqCFPw8H0Fl11XziGUfR8uCrYiVOxF00msYMhOk8H2NBN5wcaVph1enO
M1MSG1XwU1gcPGPHwLmVBJP4L2nWHr+isuobKSbaRnpJcR4xw86ORXJJWkFq
NS9lhcPzll7kEs78u7Pv/vBfZ98RxfQMgYtRW1XMRfjFl3vv4a5cBRNfhKmL
9NkScflr2C29iAUVI2viOyGC48nkKQ+7sygGrlgrEV3oKRYZBpqBjgVyAJaa
JHKWpBOYfo5Mb8RhCt2uYrvWd0y07ANxglXRrzogTiAZAMOWsBtRrYb/EGaK
sohaCLwCNQP4JOARr+lEBk+2vnaEbGZpPdndnpDu0YHuY037SGTSw3QVOr0K
py8h0zvMlYIxfxJBjQnlXdzX9X672feNo135/kzFX1Tgj+ilEkq/quas4IJW
VXJvu0ekmQOoCxBC3IRaEya1VgycrjPDvVaL21LAuhIyEMEn5kRiF45DBDwn
DE4f11sk3r+qSi3a49onYTn0AJAzF2wWq5fEnxEkMNsjpbRhgjMRM7sdv2fc
EFiYFC1I7HFX9Zrol2PbVIMiokGUeQuoEFRiVVOP6QNRJ3PNGKBX+ZPaGAgx
Am7aiCZk3g8kj+vzF0JHZHFVscnW+3cEbCrbeFTjdAi87BiAh5oimAPoNASu
pRq8B4jR+VC9FCrkwuXl+5W7T3ySYs58CNZPcnCYGtZD0kZC8saGmSyh9kC5
9nZYfgCuM2pjOKttlghmlciUzGuCXRLhgZzv+FBg6cMoZZQ4CcDAaQiatDTS
PIfUi4MTyik2JsmPMPjrO2XadhEdmjrdvI/ke3Cre077xS4giJ5EgHrXOQ6z
DoOZdAEZTTfH6AmGDjJev1SSQLo0nPcByKRYqQCctM/XphY9ByTZBZsp7LpU
BPlttdgEB4bleuIL4TWF2dAl6pBYoq1JJrtVkexa8oEdXAnM0FPYtmkqKM3C
xKiGAlTTEiQ/vsd+JehoR5IlRlfZ7LZGs/Iouotl6fVdkFong6cRKqN9l/Qc
xVRxZBJSumHlTcFGqAttCQZNyAzp2tkmmvlkTbpx6g2DyefzaOJxqZGgG8BO
iHdnu4REtEElx+JZtaRm07th2PWGg3dCTH9GfecR0VNtPptO0RR2Co/kTnbP
AGP1Q8MkqadUbhvsZH2bVKywK4vec/7rcgUPP1xdzpesumF56wghAUsg559i
RiFWcfA9Qm8QPcJ13WxaXjR2UFblHU+B734cFxCbOHQhRNHKze3dWvKQo70x
1sZof8zY3Xrtmn9Xr6YFZSYfutMobIMu4/LDsrymjfT/RB+T93xcMm+M7zcy
D9CU6AtDZn+PMOSqd1rPOFknZIQdIUrb82hR5PjTrL4C1vRAEJIZCp7CEnTx
4HwERPBmHd5zokDpkhyBa0y0MDJNgy4BlH+czSm2hEjoNf8Ch26u1koD6hgg
CbzioFwrpCuZ9ZgwlO/zhK4cl5BVlo0w6JLDK9ZNcUVhGeRRxnG1czYQi6EO
k4cIGnkpFbQKWVq7Eh49p5faTcKaIWDD8ZBH5jqV5jQkwuMZKqXUMwoz2gXp
kAWiw2mX+a62RSWUd5xMBxEcBZMc0sKd84cyXrvCuSUvbsGiypXKLxGZmQu7
mGsGv2bmwuNr7HiIwIneIRSBzz6EYwPqtNbt0aWQ59Ifh9SJcaaQjMiBn9vC
Hg4h5ky2AycZbIo2Rp7MxMLiUc35CEO+UX5T3Wd3Ydun1JjEcfKSsNm5nuHu
NZA4hhlJ1KApsspnTtY7JldWgxjFdfgvUPuaT2i70yZzufsm1W6NskYM1CPP
irup5YJEgrmR7psqm8RdVopGklSSDIHQDuIo910lERiuaBE3v1vnolo46ATQ
i2ksccR6Q5MEoD9R+OPlmPxtx+bIrhUtW4OAS3xoiCphbZVERr+vKtJTreDS
NlKv3hMPlYJWOUkC6oOJHMa67jfn1xzwNaLkw0GmnNYclw/2OxYVOV2h9XYq
MLFdnPqgN8Jkd5Fxe8soMyglWlbyQ88Fbb2kpsIcYv8D6PPn7IgOFHL/6jI5
2ETThI8dfBkm3YR1dP7yWzFVhrVP7VQWSwBjzcDSR+O1gJFb3viCmMwXxBgD
04PQMRudM1VNQSNE8lFpxVgJgJmc7YkYP9aPPV44lsUNwwalMwTqCJ2hbjHs
gcWa2btizZYVo5dZPGzOHtI6LQls2GeiczURNhoEzbl+KxMwRpxWjO5nXS9h
FiX7xtOZrTXGRiLziLx1AsMdrFppa4GE3UQ3yr07EOpyyFPB1rVogSQAN06T
4my2a4ag46zdld5roF0d+YpoL7hMIHOOdFLvRtsJO6pUQc0Uf1x4X1jhZpQk
mUA8isxzrO7qlxNqBMeTWGbNKvEhJnKE1z1F9bdk9tYdHT6hlnVumGQKo1pK
CgFSz0N6QadGRvqiMYef7sN2joMTQOcU0xKPVUUZ062aCB+3WBgKzegnaISr
iuGAvAu85XpikkGjXPjLZrMkX434f+MmIt2BjY5kChFaDnMKwkmrEjS4Wplc
cFY9U0nbj5VQxVH1LhUGX1dFcBVvQe64XtVXFCEW4cdtuaoOPb3udrnoBxPu
gA6TRC3NjLA10uyxvttIez20in1qqKZIflcClZxla+Oh9fiPb77OTMxaj8+C
yo3TgpUZWzVlEvhJOenP5XYD8QNGBGaXQjDFFED5EZeR5ztHO/k//21dfaI6
7rhkNIIWOzPDJkqHjquHDvM2u5pd+ikfA43s/tnpN29I+KyjTOg7cBUr/J0u
YbCs3MwMtvyK+xJbLMMU6K1enXx/+vr0/OTdJAIMFumztPqqvY9V2G01r6+b
mcpxOkYW3UThrdUSNJVnG7Lnytjc6de/b02KzRF7Ljppr8TO25mxdKsDSz2s
C/A6RmlxGxDhE6hbVz0VOcw7VjvDwhIWydxIlwy9o1TatccVJvKa5P5QzyDB
f12pHriErwwbZ5BDjuJzBimdeqYqnNTxpyqrKnft8ZiS+8zbsNerMuunTiVA
q7sMTaSO3nSmdLhddD6je4ah9xqeQ19koiRwvHALQ8bI40N4x5eg3I9vzsKc
P3klY5P1d9R4Kxw2cKfkgIhHTocqtVjnszWktXHvW5njpNOwktJzdL7mcV7B
0wU8xUcwMxpJhgbTZGb8DTFpPshiVPpFOhGp5CeNmphrnm8cDdgqnKKLgSNK
Zl9WdftBUE0DPOgGX3orLehleKVplODV3/z/5XdZpimXSh5iy501JItquqaD
Sn2gblThAHZ2LHMxARGSujqxrAKf93Rc+NOBcy/XENKX8YhdUAov58O3oq4o
coxIDNfYrVxRQBY2TdoadctEo4XUicM92/c+m2iIPKkb05gG2vVMoSeojcu1
I/UzJkB0050L4KU7dFN125PsiUtMV768i1QgG0Hu6TVVEFxtqLeddgALQnC6
JpgIQlulURyKrdqeRxSWVTljrTxd6DFHtdUnOWQJyIUe0MMBrc1GDK2mc/5l
ohB5KRKRWFP4AYsaJQWewbklJt7VNGzPVcFHfco3V6DswCPyv22a1WbOtoA/
58dpfVeGXMoYtUrNau0fgIMJdSHNklTfi/ENwhPyWmFwtkK7hK2sDiGWDd/5
xZGQB1vErJEpLIyzHUBtrT4yfumKA2zV9hJ/mSj0caMNu2f2rlUKZaMRd1UQ
sAEHWQeC+NuJbkHE9FvKNCXIk1gnspmJaDNZuD+wfVuIkouggXBr8G3Ml3eQ
qruV+uoqu0WlMh+BPyJ0X0Q6ByJqCjOzZqGKpCflVNMLb/+4CL7zB1lyckb2
WiF6PBbsOqLSbRWO9OsYCz10cfrMEY6CDWPWCOjJh04J1ScWy2pyw6yvrxkx
HUPotHBC+2iqKH8DOIqMDoQNXgXXy0OggPujSztx227hHWcGGGvND583MAuA
Z+ntOG4vGBB/+e8F8lBls/qm0lAnSyn0tj7oUGMAfqQJHfZbWum0Bt804YD1
hgxbokbBlxRMSa0kfYk+V0WIRjyNwCqRSyh8DzdRBE12/ANpun0za64wZ89Y
Zy5pRLujEf2HzIunXEkR4/Pn+++h0MUU8GEITiiOxzTYnECvF1HDJ4saPlY/
Iqz+5VyD4bFQkHXoq3I1Y7YX2c2Qqw2d+wsV7J6TzOAv+cWbH16d5G+OX5/k
efhrVFN59J9fsl8K/Sf+aeiv2/8J90DaBvdT3XW5fYdQqa+FENuR3MORnPwy
xP0/dKPuPeR6bcfnb4B7+NDYZRxHIOYjjUhXcBqlkDLWGfBJn3ncLvh5511d
EFLBkmdnSj399cucppnNQxFmIbcL+NuzNUHuqA3HmEpEuJEAWOmxRJRy6Fft
KeWWF9W6eAUOFTKu7IFn/M6iB9jahlN5NZhiw+xidBhErDFZGsFnmM7L1TUC
4PN1WbRcO81TYxRbJHIjyXiPeJ3gazbRQ5pB3jZ0jUGnBrftNt7pB2W93jc9
oX9A7uZzcjO9jEewpCrKNyiS/Rm9l4ytTg+h0Jvb2EB1xiZQwBTp9GcChocG
vFOT1+lZnuHcoR/lt+vylkjHpX7dWDS3uY2TpLhZtmZzBmYPBUNawl0VNveY
mHRUgJbmoH6fG7PPod2r6qFZTMce7d00BKGPahwIcX1/fvKuUxlEMfP5ZqEa
RNoNXH0qYOom2uU2XW672Y9Ip5asGjfLT0/Ov7bEI50zkNIjIgaWxkBlqjgw
RUSEdbxVPiZzeqzNqTfWpZgK6YPMqMp4eInN9BiEh93xzUeWZtCj5v6YTeDj
w/vooJB7p7jDeF/EmATi38o5Vokeuorg6ppJK98Y9dpvaLjwU4N1khZ0QvGW
9+ncaMaUV4vLSXZZXi/A2lrjf9eggAjGhP43q+rLse3mxMnxZN+IS+k9s5iw
QeO/NhbMc4Qv/4GWO37NDqcmtZmYHsFOsS5X1PiqRMLxrl6WJf3hdrrEB21z
vY/ftc3+F0+e7Mmfn+3jz+G6tmXCyS/pm3K5ah9/0bzzomeGIIo0vfayP/8u
HK7L2W2h/d7z3LxJ0Q4A9wTvDOFy+qPeOU7tMEwcWPBz8jNGIrP7aA483OTZ
M7z4fFZM27J48fxStaJzpzgX9rS43rXtbb8gRCLC6hSg2DU+Vbk0BKbg7t9B
gINRmfUgM1mI8KVP+GTZSieq72jadyTdEivw5BwKs5SwmYWmZZw2RrbJZW1I
oqBc1Y2Qar8OI0KW6yRBp4YhBxW0hIpGFDB4d/Lyh9evT968Onk1ptMx0mJ0
ZGW8kpBHdzKLwvIVEz0UL/Ko+C57kArN987Zu1x7wrIv+SjL8x21WYf53dH/
EFwqnM126IswuWTqHPzryX8cv377/UkRmkC5/qf7fyxMhfjf5PeEtLMfOphK
QVGr4UvW7dHeF/tf7e0/ffb8hXxGJ0m7TSeSNXwXmvt2hTS5sIhw8eKZv2Yn
G6NvsmPw+8nHSkCqBlZZK8n81rPZht0XFA+9RbgQ255cpAn5oQheKs0syMsX
zwqiVMkG0IVQ+6umUaboxbMvo1v1XEMz2ZISCEiwhun3XzSJvpVJ9HozW9dL
m3ZhBfschCtjwJuOZYnoC9cD6rAdcC2QmDEETTnuj0+euWcQwkpBhwAOezqV
U8ttl5a+XTfioYnX2N6VSwm6Uh07H04t/hejkmEpX6/qK9hfnMOPfTCQ48ty
iPgh9BCzbYkJcQR1XE/eZpVw/Ju0kC3OVg+cBv1wwZSWaxW4CA0JlQUKma6q
u3J2k+TKOQM/MBrQ16ZsAQkI8pFoJhOfVY+i/XTcUVZdFkmihld+8EHSlT+4
6sOC393d3fk7L75qrv7RS6/LVTPbvWrW8Qa8NF2qFMSEMdR3Sc+7hM1zD7n0
1IoZI7LCmV88DFLLwxIZ0Zo/R2ZdzPuh3xCdX5ZvtdWxMHOzWAifTZ//W/fa
ekUTLXh5BHJchh2iZ8p7ECkdQUICJZYb/8R+JPWiwzzYriPVx+hc8YcwHNH5
TG7VH43wwyPZNckPPsyHhtOa8dgs2skeD6UkG0t4ymFOGwf+8PlLw4aBX9Im
gT+Q7eemJkQ/vbelGpqn+V7491+DdQkWuWhuinb5of43nnLnza2RsbaVZGsO
MDu0wpqwVlozJVmsNrsul2xu6srAbWOeVSSMMxMyYuBdyUltQOLerpUxKvvr
ZlW3FMXkI7dIHNCt4llfbph6BWkpzCV3/yVdaBdpSUssD1uCfRKrxJeApagV
Qciy7uSCsc4VULgNl1RzjD4hC/XKJawzAjwB/b04Jx/mESdokR+fYuXw73WN
bDRddvk/19fFpTiF/7BrE+4hvy6IF3DW93LSybh9qokD4d4wwX+JoiZyfGlZ
AJ6bm6OqNXxWK+O/JmeV0pKU36WiOekE6RuGjmX0hT72UMI3tY9hrEgjctG6
xBtzJ9HwCYOwBqFjSoFDKbK1JOnHWEDG2rux1ew3UNqeg9ldbWI0+EQCtIIl
/cbkMBDp5kuQMxKpRUbvbXyNCGW7n+z19EiVxkFw3WBAwTGQO4pUyJ7sTeiM
NpEU8VOtFu1IUDF6PuJLYyqI6RxBdQchK8IyCTuDoC5kbSTSxrlK3UiAEFiX
pwyH6EloMbisVIrHDMxnZnNMjgofW8M4YJCWDmI4hLJRj33SR6GBH6pqqQEW
59m4i+QA43qD6Qz13aUzBFeVu5eNXMwKbmDF0ky5LghQ8qFeLnmK0WBqck0m
oPsWxnh3+4zoToMuata+yUYUPojzI0/mBx3dfSPwoX4QxzaTsc1jciJFn26d
DTGSCd/YwAhhPv9NNHi6R3KD4smKBwccl2NkKIWl0KoHRQJxwQdVkOyq8Tfs
GqLg1UHWKzG1aT/g+ER/tJNoH0vdnXtZeX1Jq7OyMnz7miEfzEs5xJPoXk61
bVFWuH3k+8jyq2BNbuhGFC0Ku0QRTk28aUf9LoSHO3MmzIy94GEX5PZ47LSl
SCPoli8fml55jglGtzm1g0G8RRK0xk26wx0uf4rLuYSqSKVTzJ4TZhZvkhDu
0mVdJXLFafhtvkdk+BlbO9BMbQlQCZTizCIBDag7Owh0Hh3Uji2Jzm29jltL
mMbEb5QSNgv8RHRDw6QLe8IK6nwpahsGKusESuKhzGDiCXKTmmEgS/a/eNn4
O/cXgbAJDq6DXS+i7gmVgmW+a24Z4TdrOJtUU6EHUWsFZ6D8RHzz4Sgf/NFV
PG9yATQRQjC3DgVPOqDi/mbj1M1TpThz3sTFSJuJxdeiooJhFlxPXLZJ7oFD
+pKep0rhGIKz+mPCaluxv2DahOiubnXhk/xuOBGHtquXkPKLnYX/b+AKhM+L
Fn/7tRPCs6ajjBu/D49nNGialGjlpJ+p3kOSG7C01VfP9t/vdh5Ce9ScIBM1
TDRXaNcLX7ptwnoWgigd4JzHIZbikxKOxT5W1f2K1sFCkEhOcouLXOAtGBW6
G82pGPmp/ojZE/C7TG4Kd6aMWuvIrVO7YtY8okCRVzEq11fyO4dxL5lbjd1w
qutmgwDEzn9jNwm2hy1q+u0kN6dBlXZ5W4Ue6sR8qCxX9mjmNpJEZzhWXWoW
UPY2g0GtTFsVlYb5YJDqYypwk6b51s2UKJgLM3CPtV0JpzF8UeSRfpHlKWCG
UyfgQ2de7K2M2OLr8A0EVoqY2CKGEGTJdiLSHg9u+ksZ54wic1/3Il9JaEFO
JkTIYg31lEkZpoI6pgZVn6rVNYontSvJqMQnZQ4Uo5o44kvaAzFJfEzHeMrE
C5nVV4Cmd+g1K+I4Cq+WoIYTpPogqtgWisRj5Q4cX0UpO4+lvERrTpotb9k6
5b5ZLhBmve/g3TAzlEOA+JXoJveNCFXkOprbCui7uekDWt7tuiY3h630GiXb
j3FoQ5wU8gaMNAP34FdhPO65TpQYfgewypEH1B4Jxj7CPAp/LU4eEPKhBSug
bbBp7uH24CBpE1AwVq9qe7DIApskNMLZUe7VobJYKYww1qAwVxG5TsyZgIhD
C+oFVwdjEvriPbFwmd1IrFZ05DqWzRogvUUnLBGCZ6uRxJo+czH8ZJJ4VQ8t
dACFYZIlmURqzIO76fD3oNxtrangLHcZKbSr0xJxZMSjZFIikS3yJUPh++9O
/hPOENuzZYmCSIl+z6b8q7PdpKi/h52oeYLRvIpkKhYttV4hpaZ5VQltcLBa
HVOV5Vq7vAq+Lug3uSTLTJZUXwtokF78XORvtACKKreDn1PcUabipjI4pYDG
hCmjYO6SjBiz13QY7LCjx639hjQjvUskd1CEZJvlTlGEAsKLgmU0RC+D60Ov
+Y2dbgo7BuEN3jSOzJ1ZTgjCKQpOU3KdYGswVR6Y8VNqaGiPyfKtZCPpNDNq
FaZCET0hPDDLmRSB0zRD9PEeW12Kj8NOfSte8G/Yq9yGR0WAb37wm4nzoBSJ
K84beTeIViQzQTiA2NGEE6iVkoz7MJ/LkY/U6XZXGoqIzwObRcxW8Uupvdni
LVjsybF3a9ll6hkIgqnXI5Lah6Fgpw6kB4krkA25AltKg+xQnUO2iuxmURQA
w5LXneh0tdUmrOCw5fO7RoGlpX0TE6CVRRmu6oUQryqJnxPCjpiIzqZmw5Hk
31mfMabjXcU0P89T6UaMgPiAwJOhfzxqkIPEN5tFPDUgLHWhIzJSXS2aR+MD
JB5+x5XSe8X+gYDF/0WMJ742FrmjPFjBCwRuRjsyJ3bCb1kajHSLj87/43wi
KPGjV823Y2b/vtF9AffZLacXV7VyG60Z7X+xWgULdqE8rCP9sTQR7SiJE/LH
RRIieCe/y/ybPC2eH+RdhZvQ0LshFZrwOc9SeVk+Zx3lP4Fll1/zgj8erVZj
HMBXKz4WyQuFtlfr9+76cDkFf0Zyt0k+Cw+chil7kK927/KjI2mK9Y+LQ8n6
FmjKx/yfjvId9sV3un3By+FNs/6agu74klpHEn/5Tzt3OxMK89N/g62k/61b
+m9wEeh/obt33sc7yiAF20RFXCMF4924AYgPfq3HWdm7fOe/KL44iCs2lacJ
fR1c27AcvqseIn4gTBq5ARtzYHgOpYiUA67BHjy0XLLKqn+tbDxkrejasD5C
pyflcBehiRecPJHX2V1+GHND+5ikz6Xguv9E+FmqXnGU/2y32vm4c2ADOYkf
38WP79zHYazs8+UH9wUNn30T/uK+CkNq36xb9wWNsn0T/uK+Eu82fP3Te/dx
0nnhy/Bf/vZXFhTgU8EFnwmO8r9etxdOwqeyENk4mQ5fHrhzg5xOI2RYCxnL
ZBhkLsYG8XUjapHrIP1j+N3k0eFLmt6zKDYZTllVO2n+VwfDR49d4+ffVQkp
NtrvfvhBZzOFU2xTPdTiDeVaO//29Cyhd3eVO3w9V70h2qzifbgFszmgWBXH
SjrItLv5WVXle/u7T3lBhGlyQTe4aInP4Ch3wCT+3Fo2ihMrHbq9JwcuvjoK
o5II2jg1G7Nj/gcUHbmQH4zcdkP/kGPf2U+Ss0V3WwkNGHdNFd3jQpS+LjTU
O6JPg3XzNxk0YXTLr7lX05feC1uHHP/IQD0uYZMT827oqF0KYvNdgksbc2fi
eUcZGRbtjl6Z0BIoN7ncw6ZF4lz1z+GAB7N7jKPqT+93E/2VsIu9T98ubPHv
UqEQ0o/3c8O+vVCFjVG0Ir3Fo4b+HWdPM9kECVjEQlvhpfQ3tqmY2k0ySSW9
/Lv8lXbut8G+NoQyB166mDehM9rgQlHJSJg6UaS7ePI8H/1pEzb5/Sf7L0Ij
s5dMro94KEjwbgCTCRtjEQ/flQoQGJtkElDOiD4SWiM4SYMOqlmJgoBCuonD
hQosQDW+Rgk7a2KAr3iFegrFQ4XvqxnIZg0iijr12iUHOOgqEdlssZlfoXAr
zCpKekdayTop4R0ASBeEPV03K3Ve65h0/+n4m5M358Xx6av3jhBVDoB7JqHE
J+P4qk/2cxUvCcfEWeNiu3gCla8Rc1lV395d0dHRVKelsmMV3ffa6xZTvzH2
TcTc1cGHnkJosAipx16TXBvJkRL9X1hFUkCVc80jOeCARhd0wKXY2KwlpSUv
Q4S+B8SaiH+kN0rHjMTqwVYBQNlnOiyGPWDxMHdRGNU055gPTSlgaFwv51ob
rOlPis0R4zknGWiiYCYpqLeI0AkdcKVusDk/schFJxohFfQttMUu7Z5Ck2EP
o+P361JJcDGHCxHzQfiJTnuUgOkkHLlYQYzjAmEtrrgkptANc6j7kq7JUHkW
bdfd4yDV+vBdY47TjkSt3tZeX28yTOzUOYCN44IXqRCwXlH68uefVTMkkYkL
s/0pLgozPWGvWt85JZEsHhjkAfXKN9pTXTH3k92dS/af7HMMW7g12u1MWdTX
Vv4XVwbSYHFlQIMBU4nFRzQZhdC0FhRC6B55Yi48Ep3iW+bgltlyU84h/a56
j3FP0zAdInEMI3SrOwkm7XFdnIInFJERIRxIg/CXFE9lWXkpx/LtoGSCXnQZ
fxYul9ZI/sT9SA/RVfC1IoFQOLsAt/OSeOE/kaf1Vp+U6vUYe2iYjS0vsvJT
3bKdKVlJ0Qhkg9t4a8LlZjDMEKrsCbo4TmE2MDILU3slKAOX20N9Z8kwtGBl
NJLmOFWVq5gJUcNvhLyFFXBoBhBBF427M1o8l3Iox3sb3aWic/uDtjfF8Iy9
uDCvtCQcvZfPqhtq5maxaYUJ4XgQVoPBVR6WgblAgUtmLUP2M05MjHGiMs40
DGffnb59S7QliQCqb5rCfyaKxRFZLIkcdheFjjAi0TclUQc7lw+S6lOonAS/
yghVCP/EDMhhIwf1JDFZOAuyaCKQBkAS8ug2FP4vcNJfXNczRQbyWAmQgNtD
Fj80tNUAqX4prEkgjpY9IGK5uqtmUEQbfKSIhtBdOh3nie7BubMAg+O0kmBp
A/lMbiAt97OHxRo0/6ZixUA5if4hiFYL3ao2kgKmOnac+tRYG8+b7tLX32IT
mdjOjDAu8SzCD/grHRdkF2/EgcG+J9gugb3FEm3oFRC3nIWL0OZ77JSae6pj
OTZWt5Bt3bPoPA2leKYtU/tjiNg7DdeGW9RKR+j6ed8MTVIJK52v7bskQPgk
FrShV6RakE5RrG9LN9n75z+//Pb4nfFkVZ8QShFPYAmVQ+kTbeK1Uoag8+nQ
zucWrgRxTf09u8BWW5RKyl6S0WWBaAreY1FggqKjzt7yeHB7GMyTsGJJqWyz
orM/J99oGADwMUeAEwDjThqd92xrKFS4VqsHPW+zV8PwAn6DGJilNrsgtfMA
lGMedoYWh2h7SA/prbQz2Pg2yzaJbTGj48K5PdLpQu+jgHvTC6Jo01TOE7nR
gdF6SeipZAYAJV+ETegyv69imJpSs7S4L20u0K/xZw2tyXxQSjEJRUiplkpz
88RwU+L+jiTqiFnT537F7e8zklGvRU4ycHOp8jgtyLZl6YkZ0wxOkq2cFvUH
oiXnPDN3J7bB6MTDITpQyjVVlT176yaa+RLuVRkHereZlwvIU2FkaWs6JCRH
TWmu1WW8nuwCLoKF/PHdqTGkRgXjVXnPi4uxlqkyDI0yjzAba0ybhcIrS6X0
pCMeMS9L+1DGI5YT+SXyGPV7bYrb8oHa+KT5NtwRXHsSmqo+URWn+dq6kLL+
zFI9doEmx7jtlpS2mWyZRGZTcSFrfprBNbAUs3zZX22vjFBKVpYNnTylzZvj
YSooxoDKhDKPXuUvQvJjmzKcX6UqCt0ifHq6SNU4C5wJ1H+5jrxTrMbWGnsm
viO6BUziwWOC90G0STkcK/4Fn1nPYXzDZlg0iyIS+WHj5aRS5wAEx5O9VKq5
+lgJoAC6rpx87ypZcnX1oTftcKfulVFbVQjoocyCV87u6atpg7I7ckWM4jYW
dFVqwv02HAwhfS7b+BFcFvIEzGT3fEgB/LlQBDtESg4n0QT3DGHeceAJGm4F
lE/bCFrH+T9eesQ0nLSuCzKRh+zlHQWDc4n3JodZ3UiHLsSRu4HpiUbG7grQ
WWVA1E5sRXTuqBePp6Ft/SgFCL7u78KG/Yl4AhVyUq83zFbjIdW5QZNc/OKn
1/gzRR7i3969/Pb0/OQlfUJP+Ons+PTte40fhIFXzrAw7A+zphRWJQouRjFt
EO87bsuzP7/8Y+LOoGiC+CyshH7N7Pc//+yZeeigIKaxVtboXPY9/gmT018b
EZ8/NE9y4YB68nRCRzGOjzGeLIwRNjiDLQKxVcIhTkl3aIbI04UVVsJteR/e
Iby1XITOY/cOQMaKxs8jNn/NR4PAzrGs7YL4tCPSkpyOkrCIAPVu4GJxWcap
6czzuazv8hnMEovXQW7KTs1TiseMP4vCKtGoCuRNDyy9dH1E+Rk5tWEE4l36
cACy7bzXT7JcQnv0woWyB/egKwoziRAWd7jEPbYiTSb2YHVtyWardbVhhsXj
PRFb2L1srgMYq9YwVvqjriM/iBlRZaTRnh9/ckKiYBO7niLVQhcAlRxpyJzU
RoLCjMJBAj7qQ1s6qBpNI5GyioPVh61Je9Sp6nQldZbshfF2GDV4FQTIJxOe
y0rpi3aEA9D9wiJvrC9l9JfUg1/Xn9TJ/DxnqgzoAqBFilBAjwTupwY/aqu+
UuoW6foPmm5eSKCWrJlLNgOO+/GSA3BERGaNot0ZVOQaYGq50/M/nf3wRtLR
inohLSJysOtbMPklTMr4uUXzzxl8H/PibJQ4suH0katPd8G5QAE+1TrAyW57
rK8WoxNejC6dBFVecPvMNGsPJ9QbRIjvGs3iiNjUT5RKQ30XJkutBZUKzeyF
2lLuNSr0x7orKeLAgWVYVvZB+PRMPxKa5RrK2epNobTTlShexmyxZq4eFFpU
6TCstVepPcTvKHGY8zsXiEJAB2cUbgIYv9NmHPgpKehb4uWvV6JtqiQ1cmpw
L5yQu2sML65o/iVH1MgcOBOepMaLJ88557P9UjFs2I5mpa6jOZEgFNIf8G4x
0viYP40rKRiGu/qqZnk1OJ5rlSgCPowIL9gn51fndYwzxryccomsngKFjw7z
JoxY3oTz27qFCo6IrSiivkwlfKy+3zmzFOoKHbhAoT9HlsgfVc0zCQmi7cys
RUJG3I0mUA81HHj2El+yAz9R4pO+VMyisvgr50NWH9q8UyhWEtiviCU2iTga
wrqYRaEBvnRma/3Yrume9dhUrZKWAxJOegWQVEYvlWuJgXmy7Bi1k+M5l9dh
vCQd27rTedjEI6CZD1kVHKm7egnpTYuC0YOF5qFeaIBPyR5wEtrO+HCe1AjA
sDGJb2LtxSegzxNwvFPHgeFeG0Mzbx5/kR1GPM++RmHiPmDzkhCdauEpTX4P
/yo4vrWmTCiHUC/Caez2wXRB6Htvr2cPfEbDiijC7mzufKJcNOG1Q5lHgqzn
UIytluFOXz0KlZfUD7jP4C3+n0Bxm7byN9B6HcXXemZTZUexJYi9TsJm7ph/
FdbwB2YKhT3uYPXF+06UF2Da46lmyOuKIUCafyUrXyNkoYCTGOVId7FlSWrm
iHVxJDi8rHj1mmGW/cwqMLZpPhmCB7KAThgsE/fStFzKSD6v/L4SpYnuk9Ex
19p1HhYvcxVZPGRLYOjJELcmqI6QxazbxSrVwb+VuHaLjIfrFvpcYbatc1CR
QRB9Ti7WivUvtNjBD22cpPBn1ORq9IU/lZni+jhibINFbdB8PX91Ab6zUsp2
8a1hUeW5dJ5j7VmfWy2tWUMQfUw6usXD/KohliJZFjJWGNfbRmTaNeVl7ycd
JGKNwZBXK/Cw+W4wnkaUlYrl4O7kIlR4SDCOHsqQpgSoBoVWtyOnxGVRmmjv
PZ/hnVYRzT/uEI+xF57ELqREl7fP9sX4d+ipyLlESJHuc2lm8NG5jD99eoiQ
TusqjhMws/7uxfZbPNNFNHTc7TfuRdq4/fcSzBi+9yEaN6hNFX/1xWO3eCGR
qVLp0Xky81LVLqctZSV4xnW/582+I0AbIdsM1LH47FAf9sEPYzZmpl2cD77e
aBgfMXYAKAY/SC6mjUkuEy7zAAkFeQwDJSgbELWIGRXFhhOAqDwConroDngS
Ed6zJt0rHgQAImh1zB7Mle/hUFTHC5sgw1DIglWzmQRCxTGEo6fmoAO1wPEo
saHohy65cmtuZLQ+xCD9EB0qzV3flXBUvsGhjdO2nTDOfcPxd0v4jNIqlvFE
fD0aliTa2rZa2EP9C0x6qrJDht0rHOTk2tyWkqSJ97I08YzhlnfVIro4id5N
Lnc2sT2xeJYiZCvKqSDlwYU3RPH5OmxVPFFZvIu7aiD7MHESGd67uqpwMK/X
GkVCj368LCSzt1EWN8mUO+5WUwe8CdNuCrlUvxdGFTvO1nYS7hze6Ur9/cq3
b1VjbisYqeNdtmU99Tl8NjqJ1UO0IqqaTWT5rO+qYRu2Zt9vC27IBnOd6Nix
kyBflYhddBTqQntVNkxGMz4dvY0VHlWUvQ7cYAWU5E7pa01meSVnFf2ymky2
HV15Nzti0PLhoZo3WGFhNdEZqVDPJfaBhZM5HrrRc4Sc4F292UKg1Wx8bigQ
E82SBtc6K78XBhdPleK5uSAmmw051mekjuT1DN+d/PuPp+9OXh0KlCq6YJgn
eD5cCdhLJLx3fwsc9mk+Ol6u6pnhYU+m9bqhuv782iFjR+Auolkf9tDxQeZ7
867KnfBvIXQZlKigCKJQpgHeBVDtvsFFpSgWllY9TO46Ih7Yf/HkxfvcyGKV
mopvL45Ie2hhPpEdduIRStwRztVVCQps2oNpCTi+SpzLfdF8go2lk8KqXmKf
5yMIapDoLzI2NtO4no410Is5eBtpryX90omciQynwEdxTwQicIY5kUcQ80Kl
o0DePrmhJDV6RnFe4sagoJ9Q5LRcOz6dJhuHIyTpesyjHpySI4act7hEBT5K
85l0YFuBvr2/sHTnQB2ryByRvKwjPdeceOXB7CbMHVK91eFFk1z0EPsu10+1
PVaXbY+x3AbNpBcvvvryvWN2o4IExkYMkr4kJOdFGP/bW1DrujKGdtd3+mMl
5/71eoLh5MpGk//cYuGUPzoMz6pkqT9n88FBRXt0mVDRJ9z2zEnfa8wSczKS
0dtc2Kxq6VB7qUSXoF+QP+oCZyfYGwYrEe2+PusXSWrM2dmYnkbBAelqyqm4
LO8nB21n92XHjl/cs9SLX+PYzK0LHyWdHg2EvseCUWOG6XBXjnwaibTd+0wE
i7uSJfTKsgymzf0iOEWEDtBEHBlGYb2bDGd4Ji6gEMwdhNQnIpTcfqjuyevR
gceKp23UOSRsalKNSdqCoFZprd8iNWbu5bWrkRR9rwm9Vnj43xIZIY0yWJM3
XhzHnqeE1BzOFLboSJ3B4Wp5JNf7QDkhF7p9hEmNyi4h8eEGdLkI+VZxZg4S
7fCqUzCyWxGyoHw8SAI8ZJI6IPAhOr5SVNi2kWXJ0CVI4xQlPslnValq93PP
pZ7alJUeGXFIkUPPI8blN/gM+12fIdmAhuj8SThAraRsRMmukwISJykaMfz1
hspWqynvQeD/ZGKcSGwfvjGnEyzsodm8cXrqHNnUaHdu13wLgL3SzWyYomvQ
5Od/7PvZnzV3zoMfMHkUNyIjZ7fZIqAwiqS6ZtjGstis3jSy3NMXHfJ//aGg
/LeuQ15rxtAapvXo1enZ27ECQ3hxGn+rI91o/64FpoeiC51r/qStHDh0x0cI
LlNsfr9OIrkldxYTgHoxgs8vgb0tS8Dmxdfw7MN5h9wRlgLUsjCZjZwmBhXM
JZ9OeDGo0H1PwdGJelBGYrMC88G0umaqJr1+uUUAMlzOYpSCVOdfgYVVuhVv
8LJBcN+fhtiwnp28Lfa+ev7VJD8+fRX+s3/8mcHVOOJv6c8n/f48VREL0sFp
1R83k9EZ/pgr1CAgGu2DJv7yodgZLgCHD2EUZsQGkTwxZeEyI6JjOGFSLjB3
1eRJPLCBWa9nStrlbA2PGMs2tHrEl1jwpiNktiCOCSFi55W9m/0vF5igcy3r
AQA=

-->

</rfc>
