<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-chuang-replay-resistant-arc-03" category="exp" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.3 -->
  <front>
    <title abbrev="Replay Resistant ARC">Replay Resistant Authenticated Receiver Chain</title>
    <seriesInfo name="Internet-Draft" value="draft-chuang-replay-resistant-arc-03"/>
    <author fullname="Weihaw Chuang">
      <organization>Google, Inc.</organization>
      <address>
        <email>weihaw@google.com</email>
      </address>
    </author>
    <author fullname="Bron Gondwana">
      <organization>Fastmail Pty Ltd</organization>
      <address>
        <email>brong@fastmailteam.com</email>
      </address>
    </author>
    <author fullname="Allen Robin">
      <organization>Google, Inc.</organization>
      <address>
        <email>arobins@google.com</email>
      </address>
    </author>
    <date year="2022" month="December" day="21"/>
    <workgroup>Independent Stream</workgroup>
    <keyword>DKIM</keyword>
    <keyword>ARC</keyword>
    <keyword>Replay</keyword>
    <abstract>
      <t>DKIM <xref target="RFC6376"/> is an IETF standard for the cryptographic protocol to authenticate email at the domain level and protect the integrity of messages during transit.  <eref target="https://www.rfc-editor.org/rfc/rfc6376.html#section-8.6">Section 8.6</eref> defines a vulnerability called DKIM Replay as a spam message sent through a SMTP MTA DKIM signer, that then is sent to many more recipients, leveraging the reputation of the signer.  We propose two Replay Resistant cryptographic domain based protocols that leverage ARC <xref target="RFC8617"/>.  The first technique discloses all SMTP recipients as signed RFC822 headers by the sender which allows a receiver to verify this.  The second technique defines a SMTP extension that allows both the sender and receiver to participate in signing the message signature.  It includes a path building technique that accurately defines the SMTP forwarding path of the message.  Both techniques permit a receiver to detect DKIM and ARC replay attacks and other attacks.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>This protocol provides two different techniques to authenticate email by domain that is replay resistant.  It leverages the features of ARC to name ADMD in the email forwarding path and the intermediate results.   The first technique discloses all SMTP recipients as signed RFC822 headers by the sender which allows a receiver to verify this.  The second technique defines a SMTP extension that allows both the sender and receiver to participate in signing the message signature, and can be built into a path of signing ADMDs called chaining.  The results of the two techniques MAY be used by spam filtering to apply some local policy, and/or applied to DMARC policy evaluation as one of its input email authenticators.  These two techniques are independent of each other with different methods, benefits and limitations in tackling replay.  Both are presented in case the limitations of one precludes using it.  This also depends upon ARC improvements to ensure that the results of the first two techniques are propagated correctly to the receiver.</t>
      <section anchor="terminology-and-definitions">
        <name>Terminology and Definitions</name>
        <t>Acronyms</t>
        <ul spacing="normal">
          <li>Authenticated Received Chain (ARC) <xref target="RFC8617"/> - is a protocol that is meant to resolve some of the issues for DMARC <xref target="RFC7489"/> to fix the problems that DMARC policy rejects caused by mail forwarding, and is based on DKIM, but suffers from similar issues as DKIM replay. ARC defines digital signatures and Authentication-Results by ADMD and a versioning mechanism for them.</li>
          <li>Authentication-Results <xref target="RFC8601"/>- A header containing a list of validation results and comments.</li>
          <li>
            <t>DomainKeys Identified Mail (DKIM) <xref target="RFC6376"/>- IETF standard for the cryptographic protocol to authenticate email at the domain level and protect the integrity of messages during transit.
            </t>
            <ul spacing="normal">
              <li>DKIM replay- <xref target="RFC6376"/> section 8.6 defines a vulnerability called DKIM Replay as a spam message sent through a SMTP MTA DKIM signer, that then is sent to many more recipients, leveraging the reputation of the signer.</li>
            </ul>
          </li>
          <li>Sender Policy Framework (SPF) <xref target="RFC7208"/>- IETF standard for authenticating sending servers typically based on IP address.</li>
          <li>ADministrative Management Domain (ADMD) <xref target="RFC5598"/> defines Mail Submission Agent (MSA), Mail Transfer Agent (MTA) and Mail Delivery Agent (MDA).</li>
          <li>Domain-based Message Authentication, Reporting, and Conformance (DMARC) <xref target="RFC7489"/>- Defines a sender's domain identity and from that a sender's message handling policy when messages are being spoofed.  It defines using SPF and DKIM as methods to determine the authenticity of messages.</li>
          <li>Signed RFC822 header recipients- These identities are defined by <em>To</em>, <em>Cc</em> and <em>Forwarded-to</em> headers, and MUST be a signed headers present in the ARC-Seal.</li>
          <li>SMTP recipients- The RFC5321 MAIL FROM recipients are disclosed during the SMTP transmission.  These identities define the inboxes that the message is intended for.</li>
        </ul>
      </section>
    </section>
    <section anchor="arc-set-improvements">
      <name>ARC Set Improvements</name>
      <t>This protocol leverages the concepts and features of ARC <xref target="RFC8617"/> for propagating authentication results and protecting the integrity of the headers and message body.  It adds additional new ARC-Seal tag/values to describe protocol settings and new ARC-Authentication-Results status and comments as described in later sections.  As the ARC chain identifies the message traversal over the forwarding path, this uses ARC set number as the per ADMD versioning.  Unlike ARC, this proposal mandates that the aware ADMDs explicitly identify themselves as an ARC set in the identified path or makes explicit when the message exits the identified path into some naive, unaware ADMD as described later.</t>
      <t>The identified path traverses ADMDs starting with the MSA, optionally traverses one or more MTA, and terminates delivery into the inbox at the MDA.  The MSA ADMD i.e. the responsible originating sender of the message is identified as the initial ARC set "i=1".  This protocol requires that the <em>From</em> header domain MUST be the same as the ARC-Seal d= domain i.e. tying the sender's identity to the cryptographic signer that claims that.  As the originator has no email authentication results, the ARC-Authentication-Results MUST be empty.  Similarly when the message is delivered to the inbox by the MDA ADMD at ARC set "i=N", it alters the ARC set to make termination identifiable and to make it more difficult to replay the ARC sets.  The MDA strips the ARC-Seal and ARC-Message-Signature but leaves behind the ARC-Authentication-Result before sending the message to the MUA.  A message lacking ARC-Seal and ARC-Message-Signatures has been delivered to the inbox, and the last ARC set ARC-Authentication-Result present indicates the MDA ARC set.   ADMDs that act as MTA will upon receiving a message, forward to some new destination.  Note that an ADMD MAY be both a MTA and MDA i.e MAY forward the message and deliver to some inbox.</t>
      <t>To prevent reuse of ARC headers from one message in another,  this protocol mandates generating the ARC-Message-Signature signature upon any outbound traversal from one ADMD to a different ADMD.  In addition there MAY be ARC signing internal to the ADMD.  Having this outbound message body signing invariant permits the receiver to verify the integrity of the message as sent by the prior ADMD.  To verify the integrity of the ARC sets then, a receiver MUST verify the previous ARC set's ARC-Message-Signature and verify each ARC set's ARC-Seal signature from "i=N" (sender's ARC set number) to "i=1" as well as the presence of all headers in the ARC set.  Failure from the immediate sender at "i=N" is treated differently than failures from prior senders at "i=N-1" or earlier with the intention that verifiers MAY potentially use the subsequent ARC set verification results hence differentiated.  If the receiver sees a verification failure from the immediate sender's ARC-Message-Signature or ARC-Seal, or from missing headers, that is "hard" <em>fail</em>.  Prior failures from "i=N-1" to "i=1" ARC-Seal are treated as <em>softfail</em>.  The result of the verification is published in the Authentication-Result and the ARC-Authentication-Result with a tag "arc=".  Even if ARC verification fails, this specification asks the receiver to continue ARC generation and verification to provide forensics evidence for subsequent receivers via the authentication results.  For example the SPF authentication results of the potentially malicious sender MAY help identify that sender to some subsequent receiver.  The propagated ARC verification failure will help prevent inadvertent use of the authentication results by subsequent receivers.</t>
    </section>
    <section anchor="declare-all-recipients-and-affirm-dara">
      <name>Declare All Recipients and Affirm (DARA)</name>
      <section anchor="concepts">
        <name>Concepts</name>
        <t>We can harden the protocol against replay attacks by explicitly identifying all recipients in the headers, including when the recipient is "hidden" such as <em>Bcc</em> or Mailing-lists.  That way when a signed message arrives, the receiver can check if the RCPT TO recipient correctly is a subset of the recipient in the signed message header.  If not, then the message MAY be part of a replay attack.  For blind carbon copy, while a  Bcc header MAY be added, it can be stripped by subsequent forwarders.  Instead we create a new <em>Forwarded-to</em> header that includes an ARC set versioning number to indicate which ADMD sent the message to a new recipient.</t>
        <artwork><![CDATA[
Forwarded-to: i=1; user@example.com
]]></artwork>
        <t>The <em>Forwarded-to</em> header MUST be signed by the ARC-Message-Signature i.e. be present in the "h=", then prepended to the headers of the message.  For privacy, if there are multiple recipients, the message MUST be split and signed exclusively for each <em>Forwarded-to</em> recipient to maintain privacy between recipients.  Subsequent forwarders MUST not strip the <em>Forwarded-to</em> header from the message.  To handle the email forwarder and mailing list scenario, we also use the <em>Forwarded-to</em> header to indicate that a message is sent to a new recipient.  Messages sent to a new ADMD but with the same recipient identity disclosed by <em>Forwarded-to</em> MAY reuse the prior header.</t>
        <t>Senders and receivers MAY variously support the Declare All Recipients and Affirm (DARA) protocol or not, so the protocol needs to be tolerant of naive ADMDs.  For example a naive mailing list sender sending to a protocol aware receiver SHOULD NOT have traffic rejected simply because it didn't follow the protocol.  Yet simultaneously, the DARA protocol needs to discourage abuse by spammers seeking to use the naive ADMD path for DKIM replay.  In this protocol, that sender publishes their capability in the ARC-Seal as "dara=" tag/value, and whether the receiver SHOULD validate recipients.  A value of "v" indicates that the receiver MUST validate the recipients, and if it fails verification, treat the message as DARA unauthenticated with the implication that the message is being replayed.  As with other email authentication methods, the verifier is free to apply a locally defined policy against unauthenticated email.  A value of "d" indicates that the receiver MAY choose to discretionally validate the recipients.  If a receiver validates the recipients, it SHOULD treat recipient verification failure as <em>neutral</em> and SHOULD treat success as <em>pass</em>.  The discretionary validation mode is to support the scenario of sending to a naive ADMD that does not support ARC or the DARA protocol.  Because such naive forwarders MAY not add any indication of its presence e.g. adding an ARC set,  the sender MUST protect subsequent DARA aware receivers from misinterpreting prior settings while allowing for recipient updates that MAY otherwise trigger false positive verification failures.  All ADMD supporting the DARA protocol MUST publish a DNS txt policy record as described below.  The sender fetches the receiver's policy record to determine whether to select the required verification "dara=v" which is done when the receiver supports the DARA protocol, otherwise the sender selects the optional "dara=d" validation profile.   In addition when the receiver does not support the protocol, the sender always identifies the individual signed recipient.  This MAY be needed when the recipient is in the <em>To</em>, or <em>Cc</em> headers, and in this case also adds a <em>Forwarded-to</em> header per recipient, then signs the message only for that recipient.  Unique identification of the recipient and the receiving domain allows a receiver to adjust the reputation system in case there is a replay attack.  Instead of penalizing the sender that is DARA aware, the receiver MAY elect to apply the reputation penalty to the receiving domain that is naive to DARA.</t>
        <t>The receiver's verification process is to collect all the recipients in the <em>To</em>, <em>Cc</em> and <em>Forwarded-to</em> headers.  It verifies that they are signed appropriately in the sender's ARC-Message-Signature and if so, put them into a set of signed headers.  The receiver then collects all the RCPT TO recipients as the envelope recipients.  The receiver then verifies that the envelope recipients are a subset of the signed headers.  It applies the policy depending on the sender's capabilities as described in the ARC-Seal "dara=" tag/value.  The result of this check SHOULD be published in the ARC-Authentication-Results as dara=<em>pass</em> or <em>fail</em> or <em>neutral</em>.</t>
        <t>The DARA DNS policy record identifies whether an ADMD supports the protocol.  It is a TXT DNS record located at the same domain name as the MX record.  Quite likely it will share the policy record with SPF.  Such a policy record starts with a SeRCi version number "dara_version=" which MUST be set to "ver1.0" indicating that ADMD supports DARA.  While usually the sender looks up the DARA TXT DNS record, a receiver MAY elect to check the sender's policy if it suspects that a MiTM has stripped off the sender's DARA policy.  If it detects a DARA declaration in the DNS policy, but not in the message, the receiver MAY elect to treat the message as spam.</t>
      </section>
      <section anchor="definitions">
        <name>Definitions</name>
        <t>DNS TXT Policy tags</t>
        <ul spacing="normal">
          <li>"dara_version=": Value of "ver1.0" if the ADMD supports the DARA verification protocol.</li>
        </ul>
        <t>ARC-Seal tags</t>
        <ul spacing="normal">
          <li>"dara=": Value of "v" if the sender mandates that the receiver verify the recipients.  Value "d" if the sender asks the receiver to optionally verify the recipients, and writes a <em>pass</em> if the recipient verification passes.</li>
        </ul>
        <t>ARC-Authentication-Results tags</t>
        <ul spacing="normal">
          <li>"dara=": Value of <em>pass</em> if recipient validation passes, otherwise <em>fail</em>.  In some circumstances this tag/value MAY not be set or be treated as <em>neutral</em>.</li>
        </ul>
      </section>
      <section anchor="header-examples">
        <name>Header Examples</name>
        <section anchor="mbp-mailing-list-mbp">
          <name>MBP ==&gt; Mailing-List ==&gt; MBP</name>
          <t>First MBP outbound (after ARC seal)</t>
          <artwork><![CDATA[
ARC-Seal: i=1; dara=v
ARC-Authentication-Results: i=1
To: mailing.list@example.com
]]></artwork>
          <t>Mailing-List inbound (after ARC seal)</t>
          <artwork><![CDATA[
ARC-Seal: i=2; dara=v
ARC-Authentication-Results: i=2; dara=pass (rcpt.to mailing.list@example.com matches signed header)
ARC-Seal: i=1; dara=v
ARC-Authentication-Results: i=1
To: mailing.list@example.com
]]></artwork>
          <t>Mailing-List outbound (after ARC seal)</t>
          <artwork><![CDATA[
Forwarded-to: i=2; user@example.com
ARC-Seal: i=2; dara=v
ARC-Authentication-Results: i=2; dara=pass (rcpt.to mailing.list@example.com matches signed header)
ARC-Seal: i=1; dara=v
ARC-Authentication-Results: i=1
To: mailing.list@example.com
]]></artwork>
          <t>Final MBP inbound (after ARC seal)</t>
          <artwork><![CDATA[
ARC-Seal: i=3; dara=v; 
ARC-Authentication-Results: i=3; dara=pass (rcpt.to user@example.com matches signed header)
Forwarded-to: i=2; user@example.com
ARC-Seal: i=2; dara=v; 
ARC-Authentication-Results: i=2; dara=pass (rcpt.to mailing.list@example.com matches signed header)
ARC-Seal: i=1; dara=v
ARC-Authentication-Results: i=1
To: mailing.list@example.com
]]></artwork>
        </section>
        <section anchor="mbp-mbp-replay-mbp">
          <name>MBP ==&gt; MBP-Replay ==&gt; MBP</name>
          <t>First MBP outbound (after ARC seal)</t>
          <artwork><![CDATA[
ARC-Seal: i=1; dara=v
ARC-Authentication-Results: i=1
To: user@example.com
]]></artwork>
          <t>Second MBP inbound (after ARC seal)</t>
          <artwork><![CDATA[
ARC-Seal: i=2; dara=v; 
ARC-Authentication-Results: i=2; dara=pass (rcpt.to user@example.com matches signed header)
ARC-Seal: i=1; dara=v
ARC-Authentication-Results: i=1
To: user@example.com
]]></artwork>
          <t>Above message captured by spammer, modified (add additional headers) and then resent.  A spammer might send the message to john.doe@example.com which would be unspecified in the headers.</t>
          <t>Victim (last) MBP inbound (after ARC seal)</t>
          <artwork><![CDATA[
ARC-Seal: i=3; dara=v
ARC-Authentication-Results: i=3; dara=fail (rcpt.to john.doe@example.com mismatches signed header);
ARC-Seal: i=2; dara=v
ARC-Authentication-Results: i=2; dara=pass (rcpt.to user@example.com matches signed header);
ARC-Seal: i=1; dara=v
ARC-Authentication-Results: i=1
To: user@example.com
]]></artwork>
        </section>
        <section anchor="mbp-naive-forwarder-mbp">
          <name>MBP ==&gt; Naive-Forwarder ==&gt; MBP</name>
          <t>This describes a forwarder that doesn't not support DARA.</t>
          <t>First MBP outbound (after ARC seal)</t>
          <artwork><![CDATA[
Forwarded-to: i=1; user@naive.example.com
ARC-Seal: i=1; dara=d
ARC-Authentication-Results: i=1
To: user@example.com
]]></artwork>
          <t>Forwarder headers will be the same as above as the forwarder is naive to the protocol.</t>
          <t>Final MBP inbound (after ARC seal).  In this case the envelope recipient will change weihaw@example.com.  The declared recipient user@other.example.com will mismatch the envelope recipient, and fail DARA.  However the protocol is set to optional verification with DARA=d, and so does not report the failure.</t>
          <artwork><![CDATA[
ARC-Seal: i=2; dara=v
ARC-Authentication-Results: i=2
Forwarded-to: i=1; user@naive.example.com
ARC-Seal: i=1; dara=d
ARC-Authentication-Results: i=1
To: user@naive.example.com
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="sender-receiver-co-signing-serci">
      <name>Sender Receiver Co-Signing (SeRCi)</name>
      <section anchor="concepts-1">
        <name>Concepts</name>
        <t>We can create a challenge response system using cryptographic signing orchestrated between the sender and receiver of an SMTP transaction.  The receiver challenges the sender to sign a mutually agreed upon value with their secret key, and can demonstrate a proof of that SMTP client-server relationship to 3rd parties.  One problem is that the receiver can't proactively issue the challenge, so as part of the EHLO, the server issues the challenge as an optional SMTP extension argument.  The sender can respond with the signature incorporating the shared value as a SMTP extension verb.   Another problem is preventing a malicious party from intercepting a message and trying to replicate the challenge.   We propose using a timestamp that can't be used in the future i.e. both parties make sure the timestamp reasonably represents the current time.  This cryptographic challenge needs to sign a hash that ties the signature back to the message, and for this proposal, we take the whole message hash from the ARC-message-signature.  In addition the destination domain is specified to reduce the risk for this signature to be intercepted and reused for other communications with other destination domains.</t>
        <t>Such a protocol can help authenticate to a receiver that some sender sent a message without risk of replay via some third party.  Sender Receiver Co-Signing (SeRCi pronounced Cersei as in the GoT character) could be used similarly to SPF <xref target="RFC7208"/> but without the risk of shared tenancy <eref target="https://www.7elements.co.uk/resources/blog/smtp-multipass/">attack</eref>, <eref target="https://arxiv.org/abs/2204.05122">IP reuse</eref> attack, and BPG <eref target="http://people.scs.carleton.ca/~kranakis/Papers/TR-05-07.pdf">vulnerabilities</eref>.  Moreover a third party can independently verify the result that some sender and receiver sent the given message at the given time.  This obviates the need to trust the ARC-Authentication-Results.  Later we use SeRCi metadata to describe the forwarding path of the message.</t>
        <t>The SMTP extension for SeRCi for generating the hash and then publishing it, is meant to prove that the sender and receiver collaborated to create the hash.  The protocol is advertised as a SMTP extension in the SMTP EHLO named SeRCi with a timestamp argument.  That timestamp will be in UTC seconds.  If the timestamp is acceptable to the sender, then it SHOULD sign a tuple of base64 message hash used in the outbound ARC-Message-Signature, destination domain as defined in the next paragraph, and timestamp.  That signature then SHOULD be base64 encoded and disclosed to the receiver as:</t>
        <artwork><![CDATA[
SERCI-SIGNATURE <sender domain> <selector> <signature> 
]]></artwork>
        <t>where domain corresponds to the sender's DKIM domain and selector that is used to find the DKIM public key DNS record.  If the timestamp is not acceptable, the sender can report this as SERCI-SIGNATURE "out-of-time" and potentially the receiver will return a new timestamp.  The sender is allowed to do this once, and after that the receiver MUST report an error.  To prevent eavesdropping and potential spoofing, this protocol MUST be secured by SMTP TLS.  Upon obtaining the signature, the receiver MUST then validate the SeRCi signature.  It looks at the sender's ARC-Message-Signature hash to see if that is acceptable, meaning matches a hash the receiver generates of the message.  Next it checks if the timestamp is the same as provided to the sender, and if the destination domain is the same as the receiver's ARC-Seal "d=" domain. The SERCI-SIGNATURE command returns OK on success, otherwise some error code.</t>
        <t>An example SMTP transaction might look like:</t>
        <artwork><![CDATA[
EHLO sender.example.com
250-sender.example.com at your service, [1.2.3.4]
250-SIZE 157286400
...
250 SMTPUTF8
250 SERCI <timestamp>
MAIL FROM:<sender>
RCPT TO:<recipient>
DATA <message>
SERCI-SIGNATURE <sender domain> <selector> <base64(signsender(<base64(message hash),destination domain,timestamp>)))>
]]></artwork>
        <t>The sender discovers the receiver's support for this protocol by a DNS txt policy lookup upon the recipient email address domain.  Within this policy record MAY be a tag value indicating which SeRCi version number "SERCI_version=" which MUST be set to "ver1.0<tt>"</tt> when that ADMD indicates it supports SeRCi.  The lookup also discovers the normalized destination domain name, and that destination domain MUST match the ADMD ARC-Seal "d=" domain (<xref target="RFC8601"/>) which enables tracing this domain <em>From</em> sender to receiver as described later.  The domain name is specified <tt>serci=&amp;lt;domain&gt;</tt> in the DNS policy record.  Once discovered this domain is put in the sender's ARC-Seal as <tt>serci=&amp;lt;domain&gt;</tt>, which indicates support by the receiver for the SeRCi as well as identify the intended receiver domain.   If no such DNS txt policy record is found, then the receiver does not support the SeRCi protocol.  This is indicated in the ARC-Seal by a SeRCi naive receiver tag/value of "snr=<tt>"</tt> and <em>From</em> header domain for path building described later.  Further the "snr=" tag indicates to subsequent SeRCi aware receivers that there was an intermediate naive forwarder.  If a domain advertises a SMTP SeRCi-SIGNATURE extension but does not publish a DNS txt policy, the sender MUST not call the SeRCi-SIGNATURE command as the receiver is declaring their intent to not participate in SeRCi.</t>
        <t>The SeRCi aware receiver will verify the signature after the SeRCi-SIGNATURE verb.  Assuming the receiver agrees with the signature (i.e. verifies it), the receiver a tag "serci=" tag and <em>pass</em> or <em>fail</em> result.  It also adds the signature as part of the SeRCi ARC-Authentication-Results as a comment.  This is illustrated as:</t>
        <artwork><![CDATA[
ARC-Authentication-Results i=1; serci=<pass|fail> 
        (<sender domain>,<selector>,<base64(message hash)>,
         <timestamp>,<signature>); 
]]></artwork>
        <section anchor="definitions-1">
          <name>Definitions</name>
          <t>DNS TXT Policy tags</t>
          <ul spacing="normal">
            <li>"serci_version=": Value of "ver1.0" if the ADMD supports the SeRCi verification protocol.</li>
            <li>"serci=": Value of the receiver's ARC-Seal "d=" domain</li>
          </ul>
          <t>ARC-Seal tags</t>
          <ul spacing="normal">
            <li>"serci=": Value of the receiver's ARC-Seal "d=" domain when the receiver is SeRCi capable.</li>
            <li>"snr=": Value of RFC822 recipient's domain name when the receiver is naive of SeRCi.</li>
          </ul>
          <t>ARC-Authentication-Results tags</t>
          <ul spacing="normal">
            <li>"serci=": Value of "pass" if sender/recipient signing validation succeeds, otherwise "fail".</li>
          </ul>
        </section>
      </section>
      <section anchor="header-example">
        <name>Header Example</name>
        <artwork><![CDATA[
ARC-Seal: i=2; d=destination.example.com
ARC-Authentication-Results: i=2; serci=pass (source.example.com, message_hash_base64, selector, 1664511950175, signature_base64)
ARC-Seal: i=1; d=source.example.com; serci=destination.example.com
ARC-Authentication-Results: i=1
To: user@destination.example.com
]]></artwork>
      </section>
    </section>
    <section anchor="chaining">
      <name>Chaining</name>
      <t>The local results of SeRCi can be combined into a path of verified ADMD domains as defined by the ARC-Seal "d=" domains.  Path building can help detect if replay potentially occurred, that is a receiver MAY check that a message was forwarded from the originator to it with verification errors.   If there are Chain building verification errors, then it indicates either there is a protocol unaware forwarder, or that there is a malicious sender attempting to take the message and reinject it along a new path outside the intent of the originator.  A verifier can then check for some prior sender SeRCi declaration of "snr=" vs "serci=" which clarifies definitively which of these two scenarios applies.  At that point, it is up to the receiver's local policy to determine what receiver does with the result.  The protocol for this verification is described in more detail in subsequent paragraphs.</t>
      <t>The verified path that the message traverses can be used as the message flow identifier in a reputation system.  Unlike purely domain based reputation systems, a path based one can help differentiate benign message flows from malicious ones to help identify replay or other abuse by identifying the spammer forwarding malicious content.  In the Header Examples we describe a scenario where the spammer exploits some gullible but otherwise benign intermediate forwarder in an attempt to hide their tracks and path based reputation can be particularly helpful in uncovering them.</t>
      <section anchor="chain-building-algorithm">
        <name>Chain Building Algorithm</name>
        <t>The following defines an algorithm for path building using SeRCi identifiers.  We define the nodes of a path as the ARC-Seal "d=" identities and who form edges as domain identities pairs.  Because building the edges of a path is a repeated process across edges that are like links, we call this Chain building.  It starts at the destination at ARC set "i=N", and walks through the ARC headers to the originator ARC set "i=1".  The edge is defined as a pair of nodes (<em>d<sub>N</sub></em> , <em>d<sub>N-1</sub></em>) where the sender's ARC-Seal "serci=" domain is <em>d<sub>N</sub></em>  and the receiver's ARC-Seal "d=" domain <em>d'<sub>N</sub></em> MUST match.  If so, edge building considers this a local <em>pass</em>.  If the "serci=" result is missing, the verifier checks if there is instead a "snr=" tag at this or prior ARC set, then specifies an edge result of <em>neutral</em>, otherwise as <em>fail</em>.  Next the receiver's ARC-Set number MUST be "i=N-1" and if so then the ARC-Seal "d=" domain is defined as <em>d<sub>N-1</sub></em>.  This recursively is extended for (<em>d<sub>N-1</sub></em> , <em>d<sub>N-2</sub></em>) i.e. for ARC set "i=N-2" and so forth for each "i=n" to <em>d<sub>1</sub></em>.</t>
        <t>Local Chain verifier is done for each ARC set n following the above edge building from "i=N" to "i=1" and builds two vectors.  One vector keeps the local chain results and the other ARC-Seal "d=" domains.  The verifier assumes that results from ARC header and message-body signature verification, SeRCi and potentially DARA verifications have already run and the results already populate the ARC-Authentication-Results.  For ARC set "i=N" to ARC set "i=2", the verifier MUST evaluate the local result, meaning the ARC result (i.e. from ARC seal verification and sometime ARC message-signature verification), edge building result, and SeRCi verification result, and optionally the DARA verification result, and take the AND of those results.   If all of them are <em>pass</em>, the local Chain result is <em>pass</em>.  Otherwise if any of them are <em>neutral</em> or SeRCi is <em>softfail</em>, and the rest pass, the result is <em>neutral</em>.  Otherwise the result is <em>failure</em>.   Further local policy MAY modify the ARC message-signature result (perhaps due to future work around this <eref target="https://datatracker.ietf.org/doc/draft-kucherawy-dkim-transform/">draft</eref> or this <eref target="https://datatracker.ietf.org/doc/draft-kucherawy-dkim-list-canon/">one</eref>)  As with ARC improvements, this protocol recommends continuing Chain verification even if the sender's Chain result is failure or neutral, to provide forensics evidence for subsequent receivers.  Receivers SHOULD independently verify the SeRCi signature rather than taking the result from ARC-Authentication-Result and having to trust an externally generated result.   At the originator ARC set "i=1" corresponding to <em>d<sub>1</sub></em>, the verifier first verifies alignment between header <em>From</em> domain and the ARC-Seal "serci=" domain.  That domain defines <em>d<sub>1</sub></em>, and the verifier looks up the SeRCi policy associated with the domain which MUST exist.  If they are not aligned, then the message is not considered originated at "i=1", and local Chain verification is considered <em>neutral</em> as likely the message was forwarded to some SeRCi aware domain.  In addition the ARC seal validation for  "i=1" MUST <em>pass</em> or local Chain verification is considered <em>fail</em>.  Once these checks pass, then Chain building for "i=1" is considered to pass.  The local Chain results is added onto the result vector at that index for all indexes, and similarly the ARC-Seal "d=" domain onto the domain vector.</t>
        <t>To compute the global Chain result, there is a walk over the vector of results.  The global Chain result is initialized to <em>pass</em>.  Starting from "i=N" index to "i=1", if the local result is <em>fail</em> then the global result is <em>fail</em>, else if local result is <em>neutral</em> then the global is <em>neutral</em>.  If the local result is <em>fail</em>, then the domain result is cleared from that index to i=1.  This will attempt to extend the domain list by looking at the prior ARC sets SPF result.  If that has a SPF <em>pass</em>, then the SPF domain is placed in that index, otherwise this inserts a failure indication with the cause e.g. "arc-fail" at that index.  If there are multiple failures, this chooses the most specific error as the cause e.g "serci-fail" over "arc-fail".  This then truncates cleared domain entries from the domain list.  If the local result is <em>fail</em>, this walk halts.  If the local result is <em>neutral</em>, and there is a "snr=" then this inserts the domain in the domain list after the current index which helps identify it in the constructed path.  A synthetic <em>neutral _result is also inserted in the result path.  This also similarly extends the path when "i=1" and the message doesn't originate at that domain (missing alignment between the _From</em> header domain and ARC-Seal "d=" domain) to better identify the flow.  If so and the SPF result is a <em>pass</em>, this prepends the SPF domain and synthetic result into the respective vectors.  If there is a non-passing SPF result, this prepends a SPF status string such as "spf-neutral" to the domain vector and the status to status vector.   The global Chain result is published ARC-Authentication-Results as a "chain=".  result.  If the result is <em>pass</em>, then the message is considered to be <em>authenticated</em> by SeRCi, otherwise <em>unauthenticated</em>.</t>
      </section>
      <section anchor="path-interpretation">
        <name>Path Interpretation</name>
      </section>
      <section anchor="definitions-2">
        <name>Definitions</name>
        <t>ARC-Authentication-Results tags</t>
        <ul spacing="normal">
          <li>"chain=": Value of <em>pass</em> if local results and prior nodes are all passes, otherwise if "snr=" was present in the flow then <em>neutral</em>, else <em>fail</em>.</li>
        </ul>
      </section>
    </section>
    <section anchor="chaining-header-examples">
      <name>Chaining Header Examples</name>
      <t>The following two examples illustrate working SeRCi/Chain-Building verification.  This is followed by an example of DKIM replay attack.  The last example is illustrative of how this protocol behaves with a SPF upgrade attack.</t>
      <section anchor="mbp-mailing-list-mbp-1">
        <name>MBP ==&gt; Mailing-List ==&gt; MBP</name>
        <t>This is an example of mail being sent from one Mail-Box-Provider to another through a Mailing-List where all ADMDs participate in SeRCi.  In this illustrative example, we show the construction of the headers.</t>
        <t>First MBP outbound (after ARC seal)</t>
        <artwork><![CDATA[
ARC-Seal: i=1; d=originator.example.com; serci=mailinglist.example.com
ARC-Authentication-Results: i=1
To: mailing.list@mailinglist.example.com
]]></artwork>
        <t>Mailing-List outbound (after ARC seal)</t>
        <artwork><![CDATA[
ARC-Seal: i=2; d=mailinglist.example.com; serci=destination.example.com
ARC-Authentication-Results: i=2; serci=pass; chain=pass
ARC-Seal: i=1; d=originator.example.com; serci=mailinglist.example.com
ARC-Authentication-Results: i=1
To: mailing.list@mailinglist.example.com
]]></artwork>
        <t>Final MBP inbound (after ARC seal)</t>
        <artwork><![CDATA[
ARC-Seal: i=3; d=destination.example.com
ARC-Authentication-Results: i=3; serci=pass; chain=pass
ARC-Seal: i=2; d=mailinglist.example.com; serci=destination.example.com
ARC-Authentication-Results: i=2; serci=pass; chain=pass
ARC-Seal: i=1; d=originator.example.com; serci=mailinglist.example.com
ARC-Authentication-Results: i=1
To: mailing.list@mailinglist.example.com
]]></artwork>
        <t>The global Chain verification result is <em>pass</em> and the message is considered SeRCi <em>authenticated</em>.  The constructed path is [originator.example.com, mailinglist.example.com, destination.example.com].</t>
      </section>
      <section anchor="mbp-naive-forwarder-aware-forwarder-mbp">
        <name>MBP ==&gt; Naive-Forwarder ==&gt;Aware-Forwarder ==&gt;MBP</name>
        <t>This demonstrates a naive forwarder naive.example.com that doesn't not support SeRCi.  The headers represent what would be seen after inbound delivery to the destination MBP.</t>
        <artwork><![CDATA[
ARC-Seal: i=3; d=destination.example.com
ARC-Authentication-Results: i=3; serci=pass; chain=neutral
ARC-Seal: i=2; d=intermediate.example.com; serci=destination.example.com
ARC-Authentication-Results: i=2; chain=neutral
ARC-Seal: i=1; d=source.example.com; snr=naive.example.com
ARC-Authentication-Results: i=1
To: user@destination.example.com
]]></artwork>
        <t>The global Chain verification result is <em>neutral</em> and the message is considered SeRCi <em>unauthenticated</em>.  The constructed path is [source.example.com, naive.example.com, intermediary.example.com, destination.example.com].</t>
      </section>
      <section anchor="mbp-spammer-replay-mbp">
        <name>MBP ==&gt; Spammer ; Replay ==&gt; MBP</name>
        <t>Final headers as seen by the victim ADMD after replay injection to victim.example.com domain.</t>
        <artwork><![CDATA[
ARC-Seal: i=3; d=victim.example.com
ARC-Authentication-Results: i=3; chain=fail
ARC-Seal: i=2; d=destination.example.com
ARC-Authentication-Results: i=2; serci=pass; chain=pass
ARC-Seal: i=1; d=source.example.com; serci=destination.example.com
ARC-Authentication-Results: i=1
To: user@destination.example.com
]]></artwork>
        <t>Due to the path discontinuity, the global Chain verification result is <em>fail</em> and the message is considered SeRCi <em>unauthenticated</em>.  The constructed path is [serci-fail].</t>
      </section>
      <section anchor="spammer-gullible-forwarder-mbp">
        <name>Spammer ==&gt; Gullible Forwarder ==&gt; MBP</name>
        <t>In this example the spammer does not participate in ARC or this protocol.  The spammer forwards a message through an permissive cloud provider gullible.forwarder.com to reach the inbox of some user at desination.example.com.  Spammer selects a victim domain that uses email services of gullible.forwarder.com such that they include the IPs of gullible.forwarder.com in their SPF policy.  While the spammer cannot SPF authenticate at inbound to gullible.forwarder.com, they can SPF authenticate at inbound to destination.example.com, hence the SPF upgrade attack.</t>
        <artwork><![CDATA[
ARC-Seal: i=2; d=destination.example.com
ARC-Authentication-Results: i=2; spf=pass; serci=pass; chain=pass
ARC-Seal: i=1; d=gullible.forwarder.com; serci=destination.example.com
ARC-Authentication-Results: i=1; spf=neutral
To: user@destination.example.com
From: spoofed_user@victim.example.com
]]></artwork>
        <t>While SPF and consequently DMARC is <em>pass</em> at the destination, SeRCi/Chain verification result is <em>neutral</em> because the message was not originated at victim.example.com.  A DMARC evaluation would likely pick the SPF result.  Instead a better approach might be to use the path based reputation system.  The spammy forwarding path is [spf-neutral, gullible.forwarder.com, destination.example.com] which include evidence of the spammer.  Contrasts that to the path from a normal message delivery by victim.example.com using their cloud provider which either would look like [victim.example.com, destination.example.com] or [victim.example.com, gullible.forwarder.com, destination.example.com].  Both would be distinct from the spammer forwarding flow in a path aware reputation system.</t>
        <t>The spammer may attempt to confuse the receiver by replaying ARC headers before forwarding to gullible.forwarder.com.  This would change the SeRCi/Chain verification result to <em>fail</em> and the constructed path very much [arc-fail, gullible.forwarder.com, destination.example.com].  As gullible.forwarder.com is ARC and SeRCi aware, it would indicate that the replayed ARC headers would not pass ARC verification.</t>
      </section>
    </section>
    <section anchor="dmarc">
      <name>DMARC</name>
      <t>These protocols can act as authenticators for DMARC <xref target="RFC7489"/>.  In particular SeRCi can act similarly to SPF in authenticating peers, while Chain's path is similar to DKIM in being tolerant of forwarding but unlike DKIM can detect replay.  This protocol modifies DMARC to permit the SeRCi/Chain building results to authenticate for DMARC as a third authenticator after SPF and DKIM.  As noted before, this protocol requires alignment with the <em>From</em> header domain and SeRCi originator's ARC-Seal "d=" domains at ARC set "i=1".  Assuming From alignment, a SeRCi/Chain building global pass on a message will indicate a DMARC pass.  As noted in the prior example, when available SeRCi/Chain can provide more accurate authentication than SPF or DKIM, and it is up to local policy to determine preferencing or exclusion of results.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions yet.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <reference anchor="RFC6376" target="https://www.rfc-editor.org/info/rfc6376">
        <front>
          <title>DomainKeys Identified Mail (DKIM) Signatures</title>
          <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker">
            <organization/>
          </author>
          <author fullname="T. Hansen" initials="T." role="editor" surname="Hansen">
            <organization/>
          </author>
          <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy">
            <organization/>
          </author>
          <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="RFC8617" target="https://www.rfc-editor.org/info/rfc8617">
        <front>
          <title>The Authenticated Received Chain (ARC) Protocol</title>
          <author fullname="K. Andersen" initials="K." surname="Andersen">
            <organization/>
          </author>
          <author fullname="B. Long" initials="B." role="editor" surname="Long">
            <organization/>
          </author>
          <author fullname="S. Blank" initials="S." role="editor" surname="Blank">
            <organization/>
          </author>
          <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy">
            <organization/>
          </author>
          <date month="July" year="2019"/>
          <abstract>
            <t>The Authenticated Received Chain (ARC) protocol provides an authenticated "chain of custody" for a message, allowing each entity that handles the message to see what entities handled it before and what the message's authentication assessment was at each step in the handling.</t>
            <t>ARC allows Internet Mail Handlers to attach assertions of message authentication assessment to individual messages.  As messages traverse ARC-enabled Internet Mail Handlers, additional ARC assertions can be attached to messages to form ordered sets of ARC assertions that represent the authentication assessment at each step of the message-handling paths.</t>
            <t>ARC-enabled Internet Mail Handlers can process sets of ARC assertions to inform message disposition decisions, identify Internet Mail Handlers that might break existing authentication mechanisms, and convey original authentication assessments across trust boundaries.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8617"/>
        <seriesInfo name="DOI" value="10.17487/RFC8617"/>
      </reference>
      <reference anchor="RFC7489" target="https://www.rfc-editor.org/info/rfc7489">
        <front>
          <title>Domain-based Message Authentication, Reporting, and Conformance (DMARC)</title>
          <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy">
            <organization/>
          </author>
          <author fullname="E. Zwicky" initials="E." role="editor" surname="Zwicky">
            <organization/>
          </author>
          <date month="March" year="2015"/>
          <abstract>
            <t>Domain-based Message Authentication, Reporting, and Conformance (DMARC) is a scalable mechanism by which a mail-originating organization can express domain-level policies and preferences for message validation, disposition, and reporting, that a mail-receiving organization can use to improve mail handling.</t>
            <t>Originators of Internet Mail need to be able to associate reliable and authenticated domain identifiers with messages, communicate policies about messages that use those identifiers, and report about mail using those identifiers.  These abilities have several benefits: Receivers can provide feedback to Domain Owners about the use of their domains; this feedback can provide valuable insight about the management of internal operations and the presence of external domain name abuse.</t>
            <t>DMARC does not produce or encourage elevated delivery privilege of authenticated email.  DMARC is a mechanism for policy distribution that enables increasingly strict handling of messages that fail authentication checks, ranging from no action, through altered delivery, up to message rejection.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7489"/>
        <seriesInfo name="DOI" value="10.17487/RFC7489"/>
      </reference>
      <reference anchor="RFC8601" target="https://www.rfc-editor.org/info/rfc8601">
        <front>
          <title>Message Header Field for Indicating Message Authentication Status</title>
          <author fullname="M. Kucherawy" initials="M." surname="Kucherawy">
            <organization/>
          </author>
          <date month="May" year="2019"/>
          <abstract>
            <t>This document specifies a message header field called "Authentication-Results" for use with electronic mail messages to indicate the results of message authentication efforts.  Any receiver-side software, such as mail filters or Mail User Agents (MUAs), can use this header field to relay that information in a convenient and meaningful way to users or to make sorting and filtering decisions.</t>
            <t>This document obsoletes RFC 7601.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8601"/>
        <seriesInfo name="DOI" value="10.17487/RFC8601"/>
      </reference>
      <reference anchor="RFC7208" target="https://www.rfc-editor.org/info/rfc7208">
        <front>
          <title>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</title>
          <author fullname="S. Kitterman" initials="S." surname="Kitterman">
            <organization/>
          </author>
          <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="RFC5598" target="https://www.rfc-editor.org/info/rfc5598">
        <front>
          <title>Internet Mail Architecture</title>
          <author fullname="D. Crocker" initials="D." surname="Crocker">
            <organization/>
          </author>
          <date month="July" year="2009"/>
          <abstract>
            <t>Over its thirty-five-year history, Internet Mail has changed significantly in scale and complexity, as it has become a global infrastructure service.  These changes have been evolutionary, rather than revolutionary, reflecting a strong desire to preserve both its installed base and its usefulness.  To collaborate productively on this large and complex system, all participants need to work from a common view of it and use a common language to describe its components and the interactions among them.  But the many differences in perspective currently make it difficult to know exactly what another participant means.  To serve as the necessary common frame of reference, this document describes the enhanced Internet Mail architecture, reflecting the current service.  This memo provides  information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5598"/>
        <seriesInfo name="DOI" value="10.17487/RFC5598"/>
      </reference>
    </references>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks goes to Brandon Long, John R. Levine, Murray S. Kucherawy, Emanuel Schorsch and Bruce Nan for their knowledgeable feedback.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+19a3PcRrbY9/kVCLcqFlMzQ0m2bK9sqZaSLJtZUVZE+vre
OFtcDNDD6SUGmIsGSHFvvF/zPT8xvyTn2Q8AQ8mys9mk7latJc0Muk+fPu8X
FovFrLNdZR5nb82uym/hD2ddl9dddtx3G1N3tsg7U8LnhbHXps2eb3JbZ7N8
tWrN9dRjb5/P8JHLpr19nJl3u9msbIo638IeZZuvu0Wx6fP6ctHSk/CHPLnI
22Jx/9OZ61db65xt6u52Bw+dfHP+clb325VpH89KWPnxrGhqZ2rXu8dZ1/Zm
BnB8Ortp2qvLtul38Ehdmp2B/wA8Z11r8u1sZnct/dp1D+/f//39h9nsytzC
M+XjbJYtshd/PDnFPxF8+IOPNcsBB03Lv5hl8L91X1V8lh+N3eQ3gA48DH/Z
tJd5bf+adwD74+zbprmszByAKZb0tdnmtnqc3dCDf7ikr5dFs6Uvi6avO8QY
bDXY6Vnb1LBaXd7kdT6x0cvcdbh09qa7zV51ZbzZCp69/MNaftEBJnjH4R7H
VWXq7G2zsvUvOEre4gMuPstsVjftFp67hnua2Xod/WuxWGT5ynVtXnSzGWI8
+7d/+w9vXz7//NMvPv/558y6LK/pvjOkiDJvywyez4AOs6K93XXNZZvvNrbI
dm3TNUVTZV2T5RGdMmBZ3tEzZbNFWq3MtYHP6pIeMwV/aWug0dYCypp1tjXO
5ZfGZWXfWrhOALF2tltm2U9n8AAgIfty+fmf7m26buceHx3d3Nws23WxMKXt
mnYJ2DqCf+L/8SjLTbetfuf4wQU8eJiVZm1rWD/PrvuqNm2+shXuXeSA+JKo
T1kpx1+5Xb5VqDKHdNxtgLYvN/Dd2en5m+z0/JifcvYS1pvD93zqGtHITzTZ
Nq9vs23Tmqw1hd1Z+NjNCSFtfkkH3eBXu76jm0ZU4Ce8Jpz+R4M42zXOZN1N
M2b29FYE36vcmdJfkWPIZE+DDCa3/uXnD774+WfY5Ry2XNvWAcim2NT2X3u4
O+uKCvYFZFQVHzkcAXFEMIJcgnUePsw2Ji9N67LVLR8Amb/NbgCqDS7Q3CBS
W5VhgBn4w67xx9YJBHBfwGMxCP7OaHvzrgOZg1iiA8mqq6bbxFsimcX77PIW
SNPukDgBNwi14t1fL3yWd31rAJCTDn5VVH1J+8JTm2zV26qkZzxkDEBR9C0s
W916SHFVghW45ga4B5+iNeReZUfY5xmBrQu6bGfare0GOCoNcQuRGZ4Lr64V
Iu26vLhy9DEshQfnT5bM5ltblpUBafA7EBpd25Q9c1E2m50DygMDw1+uLZ4W
6au067VpiXYDaNMsDhct5EbIgCUFMq9PGJtKd4yctSFEO0QIngbWRvmXHb84
fZHRWrr+EIN4UBUb7Rb4HkGBlfqqQwL6dxoWGp7T0wXI8ZUh0kWCxiv0hKiP
I86dCsACrQr4VM4hiFW6RdqIKOL0+F9w9R7FDCCLZOUatRvLbthstwOucA3c
bNXADtmuqWxxS7AdgULB7y08DD99cYp0wN9n5jqvepaEcDtNbRAAC3DYGkSk
KpdAjE0riHcjGPMWcRXMEFjI5HCRzCw3FnARqH1rwMwoQTKvTA0X1jFfVRZY
kqBxRJvAXhUekAldmRg32gG+YB04EfyuyBEawFr8PGyPx4EfinDpHS5FKo4Y
Mq8cMjyCC1/uAAOIF7tF/jRbIljAFhpdrfG6ZnhPwgBjTKASyS/JkCyaFoDo
4H5gPV6DKW2J0uJ32TlKorqpmstbwsILpGBLp5jNjguwZ2638LfZ7D8B103a
qKXYqPfgBIeJrgErzpJc9eaDyI6tyVlhwoGa6tow7cipwBjFc6AlwtTCS37x
2Ze/hyXhobV9Rz+EZVeV2YrGSyirNX+BQyO5K9UOpAzzDYDC2hPwj2IXKALo
zvVIKABB22yBfba2yluFCuiU5LMSBe6pTF/aSyCAKjAn01WENLRP3sodAkwk
BvEnOcoWlBNIJFu4SzAG3VaNse1yiPx4HUX4/Qc//wz2tIg1uPe6Yx6H1SsQ
0Yhe4DdbMsMpKZH4aLZEcrzPC5LzfzS3LjtBXrJr5N1TxN89PPthYkUu/rEM
SDKX6RThlhap2euChfn/pp1It3TGuuMN0/vLFtQqemTZvbM3L/WGvnh4/8vp
G4ruALdDRcR/tkiIGXiCFlFwG9jj5E2WlyVQDYpgpscXIDgsuhfobwCB1IAU
pCOhIBAIQN8Ky6NHvwdYPMKJnM6865kdX+KD907Pjg/n/OU5Xinwof/q/PiQ
iIK+fWEqFGK3/tsXx4cKGG+/YNBP5bJS7pnjrTZt5yXB84Zdp7owQOWnkShj
ubNgwUikwmr7E6f0aolLOpafJDRY24cfKsUAX5ekU0RM3SBdeFpGyb0ydA+7
plmbkk0qRRmrELheltNkJTrVZWo/ojBndeSveMAyQj4TplBEjAvRsnI0K9Ax
KCRPL86bi3l28by4IHAuXrJoNeWiay7UtmLcnv5wdo4GRK4GmFpeokfVEgSk
L85MXi35GgcGHIGEAD/69OEDsElOXmUv335/mph4bTACSy8a1EgnGSH05s2I
6IB8OJE1q+adcUHx6gVaR3IIrpX4CCkObW7UAmemy04i/T20vFPLGMRzYXYi
f4dmcqJDkV1Vn5M0Twg5keMiLvXUicTEDxTv+Fs90aopb5nOgL0d/oeUP6ix
2tz4KwFr6PIIrTUjlOaK1q5MOJ0zHe7La+uTezQWSKKuTzUPUrIuSlZVBcqh
VVGNIufYKY2w8So3t7aCUD0P3DKKMAC5IXMazaTUt5iTBY/mrKPlAPSM410I
BRkWKHVQNwetDBD8UFf2iiCQFdhVh522KFm7mF7yG6RFNrnNO7B+gQtBmgrM
5HBsnQHLh06e1x4QYQUbFC/b8S1scmXCYiw64oObd2jITj1MDgFZWHUOQnOe
9XWAL8U8oX3JbuN4IcEt4o1OBhdJIpTta9wa5Pc8a3ZMQWhz+ifIum9Z6YEo
Z8nA8opQV6pAJ2g9E6ppAPJdfBXYQvzHJXjWYhWDAe0sGIOwBRhhddBqcJOp
M04sHM4lN04mL9ykXsOBffLgQG11T+St+dfetvE9X7wEca/iTvWByjtS2eju
5i6Rb1n5xKsOOsOtcqxXGF6lCC5Sa4rtAIaiqHIrJnDgEsUCIHwDm9fN2JeK
ZMfcQ7eHYfVAZrvrUFicsU1c3Y6p0PqbZH8vXKS42XCRQnddjO3XB/MMAyLo
VQZOxy/JXAK+U1pBwPUCc7xyIiT5ESxBFIa+ni0AeHYyyICLFlX/HYEBA8bu
Bhck0ZeFGA+LM7XoyT+oTI6MuzIbK1GKvbiDH60RHjWwEknF2Dn9ASn72H9c
gd9J/vp7gXF0uSsDVzCN87kPo1S5C+jeD21QyCWZ5y5cGT+7JLsPeV9iYh0S
Nxq9N7aq2JFlB5MdDznUXGVw5iURqAgQO53cKKz7GnSXrFozhUjcgcIlOW1C
1gRAA2xD3/pVI7TibwQdfjfCBou1Bg95jYdsDagAVbmqGsl8Q1nlCbqGFSmK
MM+82Gdx4MU+mKCmzb3enaYc7xUyltADaPpu1fR4RV5p+f0JAxTICXEL/Ax1
de3VNO7XGsUUXZKEeyhwhmpcCEKe/S6/ZjDhIH772BaIFrjOW4t+OgcrXRI9
SOJhE6aGvw1xeoT7d61tWoXl/O4llFfJe5rHsTiSR9GjeKO26b06/8TtuQOk
DXmOokPp74nbwjXRVZBoyu55wZwaDIeIBtIVeNAbAyygJgRxUkH0hdFIpa9g
6go7vQS57HcjPGw13KnhQRGQKFsxuYahF08TqGPBq8jWvIwQMKOZn3e6wAKg
hE8NCG6rMTFFfN35ICXhx+JzSFW7hr4kZd5LoMv1Kwea0NRBpPBDA5N0Qwjw
oOKZyKVZp5TkDDvg8RLr92Fl7xUjecldzvEftAJZ/UDT3i3RQNTBBsTHQXaB
+10AbG8IcSkyFXf+qoNkxtic3Ajc+4Vr1p2uFMKqSs/JAVGO9KvKug3bu0QU
kzI5f6+OoZvM0UTPDvK2eIKGyzfXGHFg2TbCrBMD1u3Ad/Lf5O5qzOMYRrJ1
zxSrco7EV5mui3Frzi2gVMaodwHWKv4biQCdmIhsdAeXXds89VYTEkL+QJJ9
l293FRMf+b/TLpDgOSbZbY7WMooGYSak6Y2pdrEpDqQg36q+mABVrjSKrE6i
FkmQVCFtoqoGtFwJP0W4MlE6+w9NMfYJXFHANnthwOJD2x32eBu5vmgkgM3T
brN7L47fHh9mHN59Ln7mbPajoTQBErzYbF6RwYFs7bphsgngmPBdSLFXVex3
C/167uKUGjkGah/6XzPX2RJWO4BjYq4FOOdZUVwgt2JsB55bYMCSjTS4nJtc
DE0fQPDapW0BNWLAerLFYxYbU1whA+A3b5+/Oc/Ov4+ACFFxClATuj2jRrDW
Ie4WduVzsiQD02DO4b1Y64k+xkQOKYAUs0LVwP2UumlXcPdFs7udY/IJDdos
A3yoUyFrgcY3JdnIkuwhu3UnKZlALmISGUqVnMCtwiqgmcCDQDkFa6PlNRmt
EaHo06F1LN01OC2OMjCK2oiSMSN7RSKiiY3LO3qcogUJpPm3v/1tFgPxOAPR
+hUyR/sHYXeqb8DfsTM6DbO6JnJFK2/mT6gGcrZWZhh2Otg8OZA7hG92HNwR
q0nV9iih+5KiMvY6xzQXkxnaF/D/LfCwRWkVh3YT4lCQgbVYvAvw5h2g3gEJ
A1muSVMDXgfHDrRJLo+lIL9CAqt2N+gOhK3RW5siDoYCqJfpSJzZKQx7FRwO
D4YbRTJZIicJXElnbpmPOfHgClODKdnMkQ4p8aWWxB46jIhLIqmRe6kx9DFd
nWogNf0JUSb6bd7iIac84nJ1tkPsEAOcKWzIhuwxBDvWC4LZ7ExtrSiXyxYU
WtGggDBB2u8w5kwLfLAY90Ia9iNh45pUeNfGcPgXIw5NBQqa058U62FnbaBG
c/kuvSTWgN5RbeK8HYeLvIA9++77H169yF5/fw50cE0xN3S3JetmkKC3mBFe
Gcq/odAqbVl/ggSIKfDkAADcv4CMgUeAcfLaEK6YYxADEwfFa2p6qm7JV7i+
JKW3iHKwJq/kAHpZARMcxqLMYpzEQ48qce3miVWghhpZRxb1y07zRIPINeqy
gzJv8ycHIWLKXjgoMJQRqaYSREpazqR8e5zR43iXB9cHiU/u08GJQ6SrJDpM
YvAWE+ts/CVGy5wN2KHPRpjv6zzJ9waPYYtWQR58hkEEiJMYjF0y+Y8dP8zZ
+MlYlM/JB1PZYNYV5I8xocgg5woDX4RTaipFbZgh0LTZAJvle7AJXFtsGqrC
YmprjY9o7sEyWwORj6q/c6PrgHuQe2fUB0E0aU2ieVSbHnis4lRL8jBYUAUg
nn61y51T1yOCur2N877bpqQ7QlM3kkcqo6liJJYBEfMQpsrGONYb8jQaCZLz
TfgVCyaE/8nM44ViDQRoxoXAsqFoiFyJ5Dsx4OCdaLO8XFLMA21Pb5dQQMa7
ycQDmjCODCICKhVgznuFFCXZIaIwOSBes2QyxBhDgYXfotQIV9Xvoog/noRI
+8YizbT28hIVJ6g69Eacpfzo1OUSm4MGYOOJEapRpFT48elYEMGtvHh9lnXv
ulDuAAZtmYbyVwYA93VKhKK16YqNSZ08cKTTRZJEopdaQC2m0lS8xMEHHiAL
PpBUbBBiJLjhJeqUv+SgbnzMeYzGADdvLaFtSS7IdsDKEXHDOmu4NLQx4yDZ
GIQRFccaaR7vnVfgfrhhtglpFXzbXgJGpkwMEcoaiN2OWsuUexwhUR+cSwX6
onRqkju1opmoyohsJ07T7TGddnEWV4xaBDDNkTW1WJhEvTHkP3AZm542sGMK
usYkQqhX8hmTdXN5+ZfeKeX4mgZ3C77JNq6gag17Y0NnSb0YAAOsc7jtv6b5
Eh/NCaw+H0t0IV9VJANoaOFuUCQVHUy3YCmGhWywl0+URcyUsARQFElnlrdA
WgQDes+pUkgJ4T1Jdc7WiooM+uuWvA+hRjhj24A843pVdWPvjpyJmeDATsfq
O3hiq7WE4hyn6Xsf5NKbRmKTMzp/yJHv7TREamrwdJrdQIuOlxyddOpJOvzQ
kR/Bi1luqkWUIC0LPi7Dw8tuBojylp414xR1YviNrL6JECCyMYUlRIOjKzqK
Ae7PwuH+uAnreRIXFGykv6mF4EmSeAHVRCrdIzmmsl3TLYlYjrT4Scdsef7P
57SgrIR2GAU+u+BTCbPUUdLz9J/lAVjpv/S2wzrJKyLKjgNlbkNh1HAdsj4Z
jGdvXpIHi2GiwfeUfHYa/Dwzb59bDVRolIIu5b9dyKdPVDN5B5yziwfw/YPl
fW8TsnDJuwFWhOF/JKugdz3nt4MQqprmCks5g1ZLEZZmMGKBxESREJ4cla12
12OgttOcW3Zqz08p9edDQM16nT7PWpUWYcsUXTAqL8ebpG9L8kAlGs3EF8iF
CyFRQdoksnWXXJ10JNAvk0rTpLIUt0L8SP0asI0vMh3e2uPsn4IfpFclKaIR
3dLRhjJYKXk2i+tZ0g0H+/gt5HbHJR7B0g+JqESS8WrkbCRLTcbZo5qJyfXE
iWxtR8kSkQF2qJjTk8NvsN5rdodQuRsPYZtoi8jcog1io80nUsD8okh6Ydui
32LtYUHIsy6ISO8BCC9iTDRNqHipxhT0HRs533Acw9GHv8tOn73J/tf/+J8+
dvwKwxn0wbM3s9lLqpHG3/h05718jcVF7EXk1aHGI5U4JBbJ5uwdyKPfzc6b
xxpJWWIkZSJ8mUCGuegpKCaAePiBQOjv8D6ye22x65YcHZwECr5gNyBRj4d/
p+PvvYU9QeGHE0Hh/w9x9NKiT4Nk+gvo41OF4KvsPTB8Onn6IWL3nfqj7+S9
cP2D30oqX569WUgt+N9XuuxJipxx89EvpJlfezcfSjO/+XGPV811MC3AMken
pYxiv3OMbXFV3z2KKYVSVvEADtVxpVwre7zH+ni2tZcbjvkOU1h/aTb1smxM
cm62JW+aviqpO6qWbHqw5YPfMZv9ky06u83uYSHW4Ufz+Qdy+Zp6NfTGJqHf
Wjd9cV/9htL1A2nlq9+eWBLGfY0+++KlT1B57qU4jfp0aFaFJJaPdWLWIg4U
kRvwixh/X5qTQgnLfTJU0VD+GjSEM2sik1yuQW1qTpwl/lpAQRztSFzCD9FW
UVLFN8iN3XYGB9udgNGkUT86hcayOVcWxdj4vGR2LhOexOWUtPfsyZY0sYi4
dN81N0ZrxX3AlTKNXWyap8Y1+Z24wJOSV8R+Po0qtsYHFSXSu/w15t3fj4TG
Cyo/acNRGEzRUOwIveV75H0f7qk48ZUHcM849uDSV2wbDQJya8u4yJliMi2K
DOwyoqA2J7hjdyrunsViizpq98iLznd7RAUiCohLoogN7YnZ5r5j9z6/bA3s
SgWb7LJoDsxSc0ILFHJlbkMTbmm2cC4ClvOn2Ai6ZmlCUBUV0uCCG60Aooob
RjeYgm+yT9uSu38pM/B97XscKYI48jxhx0+waLfBY1LZAHUp0o/8GSljDMyt
xSj45Tffvfpeo9wEiHQ3Jg9KZ4In/0FHc95e9luNd3skIhL4dqN8YaiptHXR
tMAboViWwj+lYDef6JwG8FZUdsxVuDFGpLxKSo19qRee9JZTPJTfQXJMypHZ
DGhvJcmF8WatNojOj5tGAxmYRvMM1DiQIzAIXwjfgbZHi+Zf91HBCZYvy6Vy
kbr09JpoKWARB0heVRjekvoUuY6+5Q59+K2mFlJGCRfmM+RCx5vcbYRsNOQZ
rmKVY9CpSaM7JBopMRD1t1DdRkc1+BvM5zRVsI5oC18ignJGvlkkYxbSiuW4
8tt3QvhyRK6+AaLoC8myWncVoAon4JoHf8UYMyBZQDeBv2eCwR6jvha5lySi
x2BgtESjjaoJqGoOq/mSxlWKi0eBaszFUumgr6OI61ZwUzAU+CjNWlMcWP1I
T8HJhPWpv+J9ohaBq0HvFth8jf01FllHiO/b5hxpAqe+YIVy4S1Ux5UZ0roB
B8BayrhT1FfJNH0XMI+Bf2ZSYMm8Lm6znzg1k85n+cJU3PgGamPZXx1ha3cP
F+OOVlVzeeS23W7BtVFgIx4dzrOfTt7wZYV18vadvabxLvnKHT18eP+z5f1H
Dx4+PJRkEBPoszffZj/F/bpA3LwGLLEzDaouVwAccE7Tgfgv8qO/XYE6yK+s
O3qT7wBjR+dvF/cfLe5/sdyVa7RWTpvWUMdYHl8GXX40V2AYnqPg/ujyE5Xk
a+Iu7XXo9tSwOX8YM3ezura+bgA5mmOrmkHbr8phgVfUNXdDdy0h8a3p8jLv
8qRtLzL09s0s4SzCQBYjU/Gy+LdB2wOJAu9gSWaDpx7Mk6Z/6pEM6mwKaZhG
ArOUlT6GyNmG0G1CMa431rjA1jqOHI60iPAGfYraj3IUpRxGC6i9OE50W95F
36j9DOv9cP5cBoC4UNUefokwFSiXqElJBC2fVRKzoRBE5HXXY3kWXAS2Ln/+
WSpkY/3ifY7JTN58Sr7mzlfMyCK1wQICkBOkSKRXSMHXk0fSFkEOmSsB0YBC
L0XyhvK5wagJ2Pyx2L9n37x9frI4O/n29fH5D2+/yb6W22con+K/MZ/QtPhX
3ftpJmboDSWJ5URUw0uWhkvR+4nMaNCTo3Euq/o8bi9grrWFi54goi3QpIsS
N3sul0pX/AUnNQNsBIkLYClzNzz3AVzholkvcMkDbt6NytYT5BHJgaXZt7VU
NKa35LelsSIVODNcxNHw5miO8+Wyi7anekzgBchN21Jnc9QqRQ1vJZgDO67A
iaDlXnXqo0+7o0KWrdBADXHf+aszLDRAk7pZ6YiKxDQZJplwIc4Ex7VXzLqD
YU6chEsEy958N1tHWNhiOJHClBHfKYosGskhcQtvUkXgiRQ0E0XCr5HDsGIb
E3xOszUJFcV+uPRPlENhIYn5/YZTvEgMW9zXdFA+OZBHlkQ0Q4pEM4llMFKa
y77/I6bDpb4szvGQpiMiyZD30UzGzFrt60uH7pdE1vBuKPmrsoDkMB8ycTkf
Prq/GH+Mt3oLFgW5LBZp+qcHy4fLT5ef/YmeODv5r99kDx598fDLzz+7f3+2
XC7xYwLmh/OXX/I/8MzZ1/4Gns78HIHHIomezqRi4fHXPmTwdPbi+Pw4+1pu
9ukvkmIsKO9RFQ796p5+FIv3w/n4aucBzsPDw6dRLbxuh4Ww19owG926Bqti
U565cnU7rh7Di+l37OWm6USp1OS5H556sh9BX2phUpqU12YFakZiny7KqnPI
dDpVTyj90Fz9nw/+rBVVmqcPBZ22Cylh2kukpByTJy8lmKMRipX9KzbWjRkM
LQXtpMWg4PgXBGSIORE8U4yX3YuH9RzKEQ36fWjvgcXuezPlAekvDxGKSKVO
tO1TtCyqwUicqj8D4xT2yX+suq+ETv88TvwHnfc9N+8xnlAoRWBR91o3WVek
ZdATu821MtBfldLpaqDydIgQk0rUWhkPUAiTOKKyPqFQbs3hwtPpWkmsLEYT
Kureubs60DteWk1A1joV8ZVSazwsCiJm4+c4khr8RZ8Dx2oDV7dPkKS55mti
ogDNAEmGE47v/mXfdlpgTitSMVJc6NzEZbGC2kFdrBoH2MXG4Z9kAN+ghleL
ntXQUhPc29+0SSQngz2OnqZH87661sSo8g0rhZaWDVdXDTbQgjyTAEPIYmnY
VnpeaR5h0w0H7qnQEBdoAlFsk0WeYDCT1cgagyeBrGPn+m2Y8aTsjJFGNxUy
u0dRJF8EZ7vDgX0knZ/Mb3zpREjDMjH2VqUKzleSDqBP44R89rtr0nId4hKz
RFX1GrINtv8d61Cwmk/wNcL93xHkpzzNC/93b6Bh50HDzifV6dO5fzbW9/PI
qTj8KouzRR9cnkRgfmx9kld+UwVK0frJsh9g0+0rbfqoxSYKpq3oUi6JBItM
lkc5Ey0u86S8BRGGZJE+mlyXhQo8zHz34eVK47MdIO0Q9plcjoIpo+mEqHyJ
bFtTJsbtARLewTKbKjjak8J5Es+xGOZi7kyZ8gE4Z8rBsvj5uXoSF0jRF0zl
c+/KzrMHn3/+2aMHD37/6P6DLx7NAxfLT8c5+CfjTRSIjztDlDnat4DPHz2X
kaMsVXlOaNS5rdRFva3w4EpCFcksU5GCJTOWhGzj0EbU/zkkagzSvEl0qA/s
yuBd6+OysS/eFBSCL8PQgEEdp5ZvJo2KqD1VT5YhQB4N5sEuR+lJTMQBeVZO
bJjOt5XyjE0P+8QjIaoUdL6xahNocb33BHQIlNfm86xpYwOAfj5qoM+7DscA
SerEZwXizEprbP0XQigqmoayJhi24FvsO4dDArwB55VNwA23a2kPGF4TnYwR
TaME0AWNh1wI+cQ1rWpYHWTXLmhHtkDJGFj7oW9Wsmf8JYMjI2a1L8pp4TjC
JiHfXWMxnWw5oLQbRr1A9sXTcIeNNXk3MDi97veKOolxel9uOEciKUrn6Uem
Q78NZwcHg89H+pzEdj0z8WyvYR9fGN0lTNm7MC9Lf7TGbk5fU97StJxxk0cY
nrYD8VT5UdI8oXH0cyx2FXNXpk+aiFfjcSI4wBdDpzE42tzlCbep2fhNxz4I
p/sske8kjecckHEk5UFRvDysjeMx2PQ5YcU2KFHFWLyPuuehy44DmfHyOGmh
waY3ou3LvqponhnayUE7yXETmzwq2MBYpzIonVgYDQxedC5lfniE2Qj1csls
CvecIkKMrXsipL4mP1CQspWgD+X7STA9U8F0XF0CI3ebLRMZN/yyxyLzM7FL
SH4z4djIlEti50BYjofjRyMa66bkkJuQynDGGkn+eHwl9eA2uOM2M+WlNHQk
Ezzxd7vc0m7auxjGwWM1CT0XNtV2Ja5Y1m6fvGgb+IN/zHqh5bYH+E995Sif
Kl4MrJBKdrbPpblB5+JGIYfx2DQ6WV5RUTnPohVE+KIfEUyR8hnPuePDsTxh
XZrzSHxLVRWM7nsX5dcgUp6+/voI/7jI5pl+snggnx3GxD2KDHhBHCIJwzUH
3WX7rdSL8pP0yRCHYc8UW5noVEHl45xAxgkF5kVC+9ZZCfR7KCXDh9krHiE0
6E9OIrutzAflbrU89sJzyQTw1IhwAdqiJ0Ea4g6COPQN+SL42EzF4ngttaco
8yS+/FxLjaLpKCPf6hWCH5MYTqlhdNXq8bUY4ndagcJevkxIDSTjn4qJ5qEn
GvJy1ylpwvcHWlsFX0nrPo3FgG9rGskkS0UgzWav6FKZr+JWcupH9Uv4UV6R
kEJMcDlcSjfRLLAw8QsAox/wyxSuySrXuh3+V3ZljMwWZELj0aXxzFZiTNJA
+4zW85jgcoweqFjRdQi6wPDxfNeFn+nGDn7a+y+xjUH2adRD43jMQ161sD6o
zr6OeFSOIt/tml1faYrmzlz1y8FdE2ajDx4eDHiNiFheGWAinDIIIVmj0k9Y
iOMnHkVYnZiaUExgW4NRAvrJqIIl+f3hUKbo/tSbP3bv46/jyaibqWal+Mfe
tj5+/YKNUixDit6BccKj5dhe3ZKSYUE2j7DzPKI4krYq6r73wsSueRphvI6f
OOAz/jYecDaPCaCjRqB5RA/046glMew1+I1UR+JvfAAzMZrRwaKy7jC/c3w9
etM7027yHQ6Fp4S7VGHRWPS85UGLKK5+ovdihaoTLI8g+8i0S2u6NRWglE1x
xO/PuupByrf5ze2ivLLbBSW20Io4OszUJP8JBMvHroetBwuwvpr66PAwjMo4
HrwOYphexTA2ht1KpzPakBZjmafOoUyCS/TxkCp02AQOmeFrm3/kRDe4ybc+
nCzlAnsLaAY53AxcN3ZX0eXLr0KUlOBUHt4zBg8pciPjLbViBtXpOx6ECTtr
qrYMLhY7c/tto6jKQBYeKJyBkOJXcvhoLTgKlzXNxNfKVRHREuaPShRSJZya
SVqNIT9XU3oEiq7jwUmaUiWDIfNSnGsKm8518dE/n3kz74A6vV3ELeZU+FBR
Bf/E6DOpjFBDC903QS33ChNWGdJqpKaDUxs9H00/cdo8HO+Yhlp0hF8ctvdI
HNYhBoUQooJI2HL3hIIQR/9QeNUwowwahxLETvRysh7Gc3BX3jRdjF4H5NQM
GIt0x7VPJbnJPgBB/CAmSC7RCmTCd/zyh6rifxlpK42KAvdZgn5x+TcvvqSB
uiCIwI1k2X5ZNasBiPM4noSOSpjMLiBSQaSqtfPpVdi0pindlKhFTlRVdqZz
yCMzjY+rxprOaEtMBq+BLgIZy87DH4DOr1hTjhbw1DlcY6ADT+4CIGIkQXD4
RVEZqr4Mb5bwZ4OjqQ1OGanI92cjPF6RxnytON1PZTw69STyRxzVhIZMkZTF
bLikDr6KDAypqIMPo6xwlReaCFVA06Eu7CEZ8m692olG/3hhxO43Tf7BqaYL
Csyn1LwcxEj96D0dryNKk4c5SeSqwWFnMvhUylgkduB3FPErWxK1BhAU4YwB
sIU50qq3JLgAkd9anSA7uIQPIQa8UWSVTV517o4HgnMosl8ZTZ1PvqcI6xEw
th7RR0hfauE5ExvrBAwIRUl460sACup66Gn4G0ZGuLHutobvQE17MLOLADql
IBmokDqXr2WJ8KasIKGYrmVIBcZgKKcUPLJYM2j/ltdAnny0HkMHA4/1NK4z
mYvXcexDEXnI9egd4i8pU1jzHCaKR3gQA5vxdQW+4r6GnT9kxGAkqz1S9fFI
7OOYCJ41pb7oyTomCjAyF7iRvkgmCOh4V+Z0eUsHzpjAdynIpNYDt1sv5DYP
simd4I8oC6BC5r+JzsjulPFhIsr70s4H5EzTtONUYJmRuzNtp6RqdgX3nYyO
u6CSRTQjkgkHgwFzOpuAUksnOk6MwJ0Ye/GhqU052uQohjR1xu99sTQdspTX
9KCCH89msD4hcpOP3r2zlrGMdSxSSOd5cybJ4o1nMaTRXoyIGA2Ch3IAcsZ8
gPeIVls8m0pqRdUEvCpn9/JQZghIiaY4hnFRZCjh+w70h3FBgqSaN3TapDDO
bOitDjpPBjig3122cMiwMl/o3fMmFOgUUH6HppG3knRhzD8usnjWvFu8YVeL
B2ZJq1N4t1iyF8dXc5kb5/aVr2j/ZXJ2gYlC0G4jozi99I6GfWnz8q/qcX8S
5fQmks7SfU868ZcmnZPO/X0LfcT8iVF2f8/avy5xniT/v+KwIP39HxSFHz2e
4iPx8+kH4eff7ycekJ0o1ImoYlCHI0MpVYbsOg+UoQjWoaGXUfRrEgXzbA/M
SX9K/MWflqmEnWjcP0aHPv0obuX33bfOjy4N+dFRc3O2t8s/rhvWLJpvzOTk
vZ/84NBcZG5Q5vAvs1IDKUrgAbhTzeC/NbOIFh/zS5w8/k0ZZv+++2uPwByZ
7mH/DWqOPpgnkum672WLkf13B2NMFXWNzjuP8vnt7UcxypkUEXyVjQfURPNP
+G08QK1SJnXNQ0n4dVxEwGJLcf2O5dd68K8SvvEBtX2EPH7m/TTM9IPW5v+R
Eru7pfj/tcq4F30YsJHTW6qdxvM7KYD+ICLmONZvT8E+EKI0p7SGJPatlqlM
DFdR8zN+eYsWu4TK79R09bOkI8tce9zSMhwX1dp5M7nmV1U5TEVnRdX0pWYw
Wl9RswzV66QBsKUiL/RNSPiiOux3xggyXl7GDR8T14dhRwFJxxPnylDxzFh6
zST30UjjEhWQ7AGH3Oww0VVexkHAnby560F242xLjosf/MjDKmPMF3mNeB+8
RYcCI6q8ACXTm8wZKKwUes/ze0h+Lq+E0rDGlIP1G1fY7tbC/B8qCKaP/iuF
AQOiqvG9kgHDTo/1JcAX9NMJgcryg69Y3wqMPMwZOczj0xvRI6tvVE00j/3w
9+tHfZ/DMPuCFJVmecbgUkSQIZIcPkV7yYiSpM7OyhjUNAbt62kkuEazjZFl
ua2QXnvh3/UwXdzmyxC9JLkd9b+TtAvBrfleJtink313E/Osz5TqMGLmQADi
Ocj3Nnc60DWW/hQXyKUhLcQx1Zxc3U5pYy6ZY/YfSD3pMOMqYEG2tmFmP43X
uuN0IJcnH/ilaMLaOhyJ4u1n0Hjww6ILsfKJkksuNK19tZ+044xvWBokdaYb
B4Y0KQLsse59FYIU3660GFTeuumtJXl3ZwTFXtHoszB0KBlo5XOud/AXprFS
1T1Sw3TzW1QMP2kS4qOwfuz2Kg9+r2EoYJEZ6la9nPR1PIw9frlHgjD+Met1
50YvSOOuChYCdE0ulDdzlbG8TzTSLE3r+H0tJDniN7JzhCvUq0YdBLjMaNAJ
Ek/61vudoTH7/J4HuiKcvCyyQJ6nUe8YZcRkrWEaCO/YiUgDC3V7LnKm3/M0
KOor8K+ZSd8mLNMKnZwNM730os0R3QwqjSiknijfgCAKjPP8kgSJYt7HL49n
ioDLorFaSOnjEhN53XHIjvjs3N7UCN9CiAjsKd50g0JWqkL1rXEvSQzqrnPt
ohziQwxjIramTsbtcIpbbBNBjiTS/amtvgbPhpcjzeVNc9fAZTS4I94Y71RL
YqjQPsfeENoifZkNFbAgsuVNQ9LDHzUK7O8M2LWGCtwLHn6mbwXjyKxPkxMn
vZHXfj0XEz+XLANNawPI8A1FE9+dHL8+Hn3OAZSmoLkn+tZo+iU38bvs1nTg
AiwWCxodxe+9L67q5qYy5aV/5X1eX4Gcabjk/hkwSgmQv2qwcvY/N5s6e7vM
XoFqrAHTp33bgnw+W2Z/1JKoefbNNq97U2VnxQZ4v+CJMs9anAX1Oq+1Mxg0
ne5s6JrWxpQIFkD4vwFCnk/cZZEAAA==

-->

</rfc>
