<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-csr-attestation-27" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="Remote Attestation with CSRs">Use of Remote Attestation with Certification Signing Requests</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-csr-attestation-27"/>
    <author initials="M." surname="Ounsworth" fullname="Mike Ounsworth">
      <organization abbrev="Cryptic Forest">Cryptic Forest Software</organization>
      <address>
        <postal>
          <city>Sioux Lookout, Ontario</city>
          <country>Canada</country>
        </postal>
        <email>mike@ounsworth.ca</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization>Siemens</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>Hannes.Tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <author initials="M." surname="Wiseman" fullname="Monty Wiseman">
      <organization/>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>mwiseman@computer.org</email>
      </address>
    </author>
    <author initials="N." surname="Smith" fullname="Ned Smith">
      <organization/>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>ned.smith.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="May" day="20"/>
    <keyword>PKI</keyword>
    <keyword>PKCS#10</keyword>
    <keyword>CRMF</keyword>
    <keyword>Attestation</keyword>
    <keyword>Certificate Signing Requests</keyword>
    <abstract>
      <?line 85?>

<t>Certification Authorities (CAs) issuing certificates to Public Key Infrastructure (PKI) end entities may require a certificate signing request (CSR) to include additional verifiable information to confirm policy compliance. For example, a CA may require an end entity to demonstrate that the private key corresponding to a CSR's public key is secured by a hardware security module (HSM), is not exportable, etc. The process of generating, transmitting, and verifying  additional information required by the CA is called remote attestation. While work is currently underway to standardize various aspects of  remote attestation, a variety of proprietary mechanisms have been in use for years, particularly regarding protection of private keys.</t>
      <t>This specification defines ASN.1 structures which may carry attestation data for PKCS#10 and Certificate
Request Message Format (CRMF) messages. Both standardized and proprietary attestation formats are supported by this specification.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://lamps-wg.github.io/csr-attestation/draft-ietf-lamps-csr-attestation.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-lamps-csr-attestation/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/lamps-wg/csr-attestation"/>.</t>
    </note>
  </front>
  <middle>
    <?line 92?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Certification Authorities (CAs) issuing certificates to PKI end entities may require a certificate signing request (CSR) include verifiable attestations that contain claims regarding the platform used by the end entity to generate the key pair for which a certificate is sought and also contains claims of attributes of the key pair with respect to its protection, use and extractability. At the time of writing, the most pressing example of the need for remote attestation in certificate enrollment is the Code-Signing Baseline Requirements (CSBR) document maintained by the CA/Browser Forum <xref target="CSBR"/>. The <xref target="CSBR"/> requires compliant CAs to "ensure that a Subscriber's Private Key is generated, stored, and used in a secure environment that has controls to prevent theft or misuse". This requirement is a natural fit to enforce via remote attestation.</t>
      <t>This specification defines an attribute and an extension that allow for conveyance of verifiable attestations in several Certificate Signing Request (CSR) formats, including PKCS#10 <xref target="RFC2986"/> or Certificate Request Message Format (CRMF) <xref target="RFC4211"/> messages. Given several standard and proprietary remote attestation technologies are in use, this specification is intended to be as technology-agnostic as is feasible with respect to implemented and future remote attestation technologies. This aligns with the fact that a CA may wish to provide support for a variety of types of devices but cannot dictate what format a device uses to represent attestations.  However, if a certificate requester does not include the number and types of attestations required by the CA, it is unlikely the requester will receive the requested certificate.</t>
      <t>While CSRs are defined using Abstract Syntax Notation One (ASN.1), attestations may be defined using any data description language, i.e., ASN.1 or Concise Data Description Language (CDDL), or represented using any type of encoding, including Distinguished Encoding Rules (DER), Concise Binary Object Representation (CBOR), JavaScript Object Notation (JSON). This specification RECOMMENDS that attestations that are not encoded using the Basic Encoding Rules (BER) or Distinguished Encoding Rules (DER) be wrapped in an ASN.1 OCTET STRING.</t>
    </section>
    <section anchor="relationship-to-the-ietf-rats-working-group">
      <name>Relationship to the IETF RATS Working Group</name>
      <t>As noted, attestation-related technologies have existed for many years, albeit with no standard format and no standard means of conveying attestation statements to a CA. This draft addresses the latter, and is equally applicable to standard and proprietary attestation formats. The IETF Remote Attestation Procedures (RATS) working group is addressing the former. In <xref target="RFC9334"/>, RATS defined vocabulary, architecture, and usage patterns related to the practice of generating and verifying attestations.</t>
      <t>In its simplest topological model, attestations are generated by the certificate requester and verified by the CA/RA. Section 5 of <xref target="RFC9334"/> defines topological patterns that are more complex,
including the background check model and the passport model.  This
document may be applied to instantiating any of these topological
models for CSR processing, provided the required security
requirements specific to the context of certificate issuance are
satisfied.</t>
      <t><xref section="4.2" sectionFormat="of" target="RFC9334"/> defines several roles that originate, forward or process attestation statements (also see <xref section="1.2" sectionFormat="of" target="RFC9683"/>): the Attester; Endorser; Relying Party; and Verifier. Attestation statements, such as Evidence, may be directed to an entity taking at least one of these roles, including to an CA/RA acting as a Verifier.
An CA/RA may also forward attestation statements to a Verifier for appraisal. Each attestation statements may contain one or more claims, including claims that may be required by an RA or CA. Attestation statements transmitted by these parties are defined in <xref section="8" sectionFormat="of" target="RFC9334"/> as the "conceptual messages" Evidence, Endorsement, and Attestation Results. The structure defined in this specification may be used by any of the roles that originate attestation statements, and is equally applicable to these three conceptual messages.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document re-uses the terms defined in <xref target="RFC9334"/> related to remote
attestation. Readers of this document are assumed to be familiar with
the following terms defined in <xref target="RFC9334"/>: Evidence, Endorsement, Claim, Attestation Result (AR), Attester, Relying Party, and Verifier.
Per <xref target="RFC9334"/>, the CA/RA is the Relying Party with respect to remote attestation. This use of the term "relying party" differs from the traditional PKIX use of the term.
This specification uses CA/RA to refer to an <xref target="RFC9334"/> Relying Party, which may or may not include an integrated Verifier.</t>
      <t>The term "Certification Request" message is defined in <xref target="RFC2986"/>.
Specifications, such as <xref target="RFC7030"/>, later introduced the term
"Certificate Signing Request (CSR)" to refer to the Certification
Request message. While the term "Certification Request"
would have been correct, the mistake was unnoticed. In the meanwhile
CSR is an abbreviation used beyond PKCS#10. Hence, it is equally
applicable to other protocols that use a different syntax and
even a different encoding, in particular this document also
considers messages in the Certificate Request Message Format (CRMF) <xref target="RFC4211"/>
to be "CSRs". In this document, the terms "CSR" and Certificate Request
message are used interchangeably.</t>
      <t>The term "hardware security module (HSM)" is used generically to refer to the
combination of hardware and software designed to protect keys from unauthorized
access. Other commonly used terms include Secure Element, Trusted Platform Module, and Trusted Execution
Environment.</t>
      <t>Since this document combines terminology from two domains, Remote Attestation (RATS) and X.509 PKI, it follows a naming convention to avoid ambiguity.
RATS terminology is written in uppercase (e.g., Verifier), while X.509/PKI terminology is written in lowercase (e.g., certification authority (CA)).
This distinction clarifies terms that exist in both domains; for instance, a Verifier refers to the RATS entity that processes Evidence, whereas a verifier refers to the PKI entity that validates certificates.
This convention is distinct from camel-case identifiers like "AttestationStatement", which denote ASN.1 types.</t>
    </section>
    <section anchor="sec-attestationAttr">
      <name>Conveying Attestations in CSRs</name>
      <t>The focus of this specification is the conveyance of attestations to a CA/RA as part of a CSR.
The following sub-sections define formats to support this conveyance, an optional mechanism to limit support to specific attestation types at the ASN.1 level, and bindings to the attribute and extension mechanisms used in certificate managment protocols.</t>
      <section anchor="attestationstatement-and-attestationbundle">
        <name>AttestationStatement and AttestationBundle</name>
        <t>The <tt>AttestationStatement</tt> structure (as shown in <xref target="code-AttestationStatement"/>) facilitates the representation of Evidence, Endorsements,
and Attestation Results generated by an Attester, Endorser, or Verifier for processing by a Verifier or Relying Party, such as verification by a CA/RA.</t>
        <ul spacing="normal">
          <li>
            <t>The <tt>type</tt> field is an OBJECT IDENTIFIER that identifies the format of the <tt>stmt</tt> field.</t>
          </li>
          <li>
            <t>The <tt>stmt</tt> field contains the attestation for processing, constrained by the <tt>type</tt> field. Formats that are not defined using ASN.1 <bcp14>MUST</bcp14> define an ASN.1 wrapper for use with the <tt>AttestationStatement</tt> structure.
For example, a CBOR-encoded format may be defined as an OCTET STRING for <tt>AttestationStatement</tt> purposes, where the contents of the OCTET STRING are the CBOR-encoded data.</t>
          </li>
        </ul>
        <figure anchor="code-AttestationStatement">
          <name>Definition of AttestationStatement</name>
          <sourcecode type="asn1"><![CDATA[
ATTESTATION-STATEMENT ::= TYPE-IDENTIFIER

AttestationStatement ::= SEQUENCE {
   type   ATTESTATION-STATEMENT.&id({AttestationStatementSet}),
   stmt   ATTESTATION-STATEMENT.&Type({AttestationStatementSet}{@type})
}
]]></sourcecode>
        </figure>
        <t>In some cases, a CA may require CSRs to include a variety of claims, which may require the cooperation of more than one Attester.
Similarly, a CA/RA may outsource verification of claims from different Attesters to a single Verifier.
The <tt>AttestationBundle</tt> structure, <xref target="code-AttestationBundle"/>, facilitates the representation of one or more <tt>AttestationStatement</tt> structures along with an <bcp14>OPTIONAL</bcp14> collection of certificates that may be useful for certification path building and validation to verify each <tt>AttestationStatement</tt>. <tt>AttestationBundle</tt> is the structure included in a CSR attribute or extension.</t>
        <figure anchor="code-AttestationBundle">
          <name>Definition of AttestationBundle</name>
          <sourcecode type="asn1"><![CDATA[
AttestationBundle ::= SEQUENCE {
   attestations SEQUENCE SIZE (1..MAX) OF AttestationStatement,
   certs SEQUENCE SIZE (1..MAX) OF LimitedCertChoices OPTIONAL,
}
]]></sourcecode>
        </figure>
        <t>At least one element in the <tt>attestations</tt> field <bcp14>SHOULD</bcp14> contain an attestation that is cryptographically bound to the public key that is the subject of the CSR containing the <tt>AttestationBundle</tt>.</t>
        <t>The <tt>CertificateChoices</tt> structure defined in <xref target="RFC6268"/>, and reproduced below along with <tt>OtherCertificateFormat</tt>, allows for carrying certificates in the default X.509 <xref target="RFC5280"/> format, or in other non-X.509 certificate formats. <tt>CertificateChoices</tt> <bcp14>MUST</bcp14> only contain certificate or other. In this context, <tt>CertificateChoices</tt> <bcp14>MUST NOT</bcp14> contain <tt>extendedCertificate</tt>, <tt>v1AttrCert</tt>, or <tt>v2AttrCert</tt>. Note that for non-ASN.1 certificate formats, the <tt>CertificateChoices</tt> <bcp14>MUST</bcp14> contain <tt>other</tt> with an <tt>OTHER-CERT-FMT.Type</tt> of <tt>OCTET STRING</tt> and data consistent with <tt>OTHER-CERT-FMT.id</tt>. <tt>LimitedCertChoices</tt> is defined to limit the available options to <tt>certificate</tt> and <tt>other</tt>.</t>
        <sourcecode type="asn1"><![CDATA[
   CertificateChoices ::= CHOICE {
     certificate Certificate,
     extendedCertificate [0] IMPLICIT ExtendedCertificate,
          -- Obsolete
     ...,
     [[3: v1AttrCert [1] IMPLICIT AttributeCertificateV1]],
          -- Obsolete
     [[4: v2AttrCert [2] IMPLICIT AttributeCertificateV2]],
     [[5: other      [3] IMPLICIT OtherCertificateFormat]] }

   OTHER-CERT-FMT ::= TYPE-IDENTIFIER

   OtherCertificateFormat ::= SEQUENCE {
     otherCertFormat OTHER-CERT-FMT.
             &id({SupportedCertFormats}),
     otherCert       OTHER-CERT-FMT.
             &Type({SupportedCertFormats}{@otherCertFormat})}

   LimitedCertChoices ::=
      CertificateChoices
          (WITH COMPONENTS {certificate, other})
]]></sourcecode>
        <t>The <tt>certs</tt> field contains a set of certificates that
may be used to validate an <tt>AttestationStatement</tt>
contained in <tt>attestations</tt>. For each <tt>AttestationStatement</tt>, the set of certificates <bcp14>SHOULD</bcp14> contain
the certificate that contains the public key needed to directly validate the
<tt>AttestationStatement</tt>, unless the signing key is expected to be known to the Verifier or is embedded within the <tt>AttestationStatement</tt>. Additional certificates <bcp14>MAY</bcp14> be provided, for example, to chain the
attestation key back to a trust anchor. No specific order of the certificates in <tt>certs</tt> should be expected because certificates contained in <tt>certs</tt> may be needed to validate different <tt>AttestationStatement</tt> instances.</t>
        <t>This specification places no restriction on mixing certificate types within the <tt>certs</tt> field. For example a non-X.509 attestation signer certificate <bcp14>MAY</bcp14> chain to a trust anchor via a chain of X.509 certificates. It is up to the Attester and its Verifier to agree on supported certificate formats.</t>
      </section>
      <section anchor="attestationstatementset">
        <name>AttestationStatementSet</name>
        <figure anchor="code-AttestationStatementSet">
          <name>Definition of AttestationStatementSet</name>
          <sourcecode type="asn1"><![CDATA[
AttestationStatementSet ATTESTATION-STATEMENT ::= {
   ... -- None defined in this document --
}
]]></sourcecode>
        </figure>
        <t>The expression illustrated in <xref target="code-AttestationStatementSet"/> maps ASN.1 Types
for attestation statements to the OIDs
that identify them. These mappings are used to construct
or parse <tt>AttestationStatement</tt> objects that appear in an <tt>AttestationBundle</tt>. Attestation statements are typically
defined in other IETF standards, in standards produced by other standards bodies,
or as vendor proprietary formats along with corresponding OIDs that identify them.
<tt>AttestationStatementSet</tt> is left unconstrained in this document. However, implementers <bcp14>MAY</bcp14>
populate it with the formats that they wish to support.</t>
      </section>
      <section anchor="csr-attribute-and-extension">
        <name>CSR Attribute and Extension</name>
        <t>By definition, attributes within a PKCS#10 CSR are typed as ATTRIBUTE and within a CRMF CSR are typed as EXTENSION.</t>
        <figure anchor="code-extensions">
          <name>Definitions of CSR attribute and extension</name>
          <sourcecode type="asn1"><![CDATA[
id-aa-attestation OBJECT IDENTIFIER ::= { id-aa 59 }

-- For PKCS#10
attr-attestations ATTRIBUTE ::= {
  TYPE AttestationBundle
  COUNTS MAX 1
  IDENTIFIED BY id-aa-attestation
}

-- For CRMF
ext-attestations EXTENSION ::= {
  SYNTAX AttestationBundle
  IDENTIFIED BY id-aa-attestation
}
]]></sourcecode>
        </figure>
        <t>The Extension variant illustrated in <xref target="code-extensions"/> is intended only for use within CRMF CSRs and is <bcp14>NOT RECOMMENDED</bcp14> to be used within X.509 certificates due to the privacy implications of publishing information about the end entity's hardware environment.</t>
        <t>Multiple different types of <tt>AttestationStatement</tt>(s) may be included within a single top-level <tt>AttestationBundle</tt>.  Note that this document does not require the <tt>AttestationBundle.attestations</tt> field to contain only one <tt>AttestationStatement</tt> of a given type.  For example, if a given type is a "wrapper" type containing the conceptual message wrapper (CMW) structure <xref target="I-D.ietf-rats-msg-wrap"/>, multiple copies of a CMW-typed AttestationStatement may be included.</t>
        <t>Per <xref target="RFC5280"/> no more than one instance of a given type of Extension may be carried within an Extensions structure, so an Extensions structure <bcp14>MUST</bcp14> contain no more than one Extension of type <tt>id-aa-attestation</tt>.</t>
        <t>PKCS#10 uses the legacy structures <tt>Attributes</tt> and <tt>Attribute</tt> rather than the later defined <tt>SingleAttribute</tt> and <tt>AttributeSet</tt> structures - all of which are defined against the ATTRIBUTE ASN.1 CLASS.  The ATTRIBUTE CLASS has a <tt>COUNTS MAX n</tt> clause which can be used to limit the copies of ATTRIBUTE related structures.  For the purposes of this document the <tt>COUNTS MAX 1</tt> clause in the <tt>attr-attestation</tt> shall be taken to mean the following:</t>
        <ul spacing="normal">
          <li>
            <t>An Attributes structure carried within a PKCS#10 CSR <bcp14>MUST</bcp14> contain no more than one Attribute of type <tt>id-aa-attestation</tt>.</t>
          </li>
          <li>
            <t>An Attribute of type <tt>id-aa-attestation</tt> <bcp14>MUST</bcp14> contain exactly one copy of an <tt>AttestationBundle</tt>.</t>
          </li>
        </ul>
        <t>When multiple Verifiers support the same attestation‑format OID, ambiguity can arise in routing attestations to the appropriate Verifier.  Resolving that ambiguity is outside the scope of this document and must be defined by the attestation‑format specification, particularly for opaque (wrapper) formats.  Two pragmatic approaches are recommended: (1) assign distinct OIDs for different verifier or verification types even when the underlying format structure is identical, or (2) encapsulate the opaque attestation object in a wrapper that carries an explicit hint.  Implementations should adopt one of these approaches and attestation‑format specifications should mandate the precise mechanism for nonce selection and routing of attestations.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to allocate a value from the "SMI Security for PKIX Module Identifier"
registry for the included ASN.1 module, and to allocate a value from "SMI Security for
S/MIME Attributes" to identify an attribute defined within.</t>
      <section anchor="module-registration-smi-security-for-pkix-module-identifier">
        <name>Module Registration - SMI Security for PKIX Module Identifier</name>
        <t>IANA is asked to register the following within the registry id-mod
SMI Security for PKIX Module Identifier (1.3.6.1.5.5.7.0).</t>
        <ul spacing="normal">
          <li>
            <t>Decimal: IANA Assigned - <strong>Replace TBDMOD</strong></t>
          </li>
          <li>
            <t>Description: CSR-ATTESTATION-2025 - id-mod-pkix-attest-01</t>
          </li>
          <li>
            <t>References: This Document</t>
          </li>
        </ul>
      </section>
      <section anchor="object-identifier-registrations-smi-security-for-smime-attributes">
        <name>Object Identifier Registrations - SMI Security for S/MIME Attributes</name>
        <t>IANA is asked to register the following within the registry id-aa
SMI Security for S/MIME Attributes (1.2.840.113549.1.9.16.2).</t>
        <ul spacing="normal">
          <li>
            <t>Attestation Statement</t>
          </li>
          <li>
            <t>Decimal: IANA Assigned - Note: .59 has already been early-allocated as "id-aa-evidence" referencing this document, so the request is to change the name of this entry to "id-aa-attestation" and leave the allocation of .59 as-is.</t>
          </li>
          <li>
            <t>Description: id-aa-attestation</t>
          </li>
          <li>
            <t>References: This Document</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document defines a structure to convey
attestations as additional information in CSRs, as well as an attribute to convey that structure in the
Certification Request Message defined in {<xref target="RFC2986"/>} and an extension to convey that structure in the
Certificate Request Message Format defined in {<xref target="RFC4211"/>}.
The CA/RA that receives the CSR may choose to verify the attestation(s) to determine if an issuance policy is met, or which of a suite of policies is satisfied. The CA/RA is also free to discard the additional information without processing.</t>
      <t>A CA which accepts or requires attestation(s) <bcp14>SHOULD</bcp14> document its requirements with its Certification Practice Statement(s).</t>
      <t>The remainder of this section identifies security considerations that apply when the CA/RA chooses to verify the attestation as part of the evaluation of a CSR.</t>
      <section anchor="binding-attestations-to-the-csrs-public-key">
        <name>Binding Attestations to the CSR's Public Key</name>
        <t>Regardless of the topological model, the CA/RA is ultimately responsible for validating the binding between the public key and the attestation(s) in the CSR. For CAs issuing in conformance with the CA/Browser Forum's Code Signing Baseline Requirements, this means verifying the attestation of HSM generation and protection is cryptographically bound to the public key in the CSR.</t>
        <t>Multiple attestations from multiple sources, as envisioned in <xref target="RFC9334"/>, can introduce additional complications as shown in the following example.</t>
        <t>For example, a CA may have an issuance policy that requires key generation in an HSM on a company-owned platform in a known good state.
The CSR might contain three AttestationStatements originated by three different attesters:</t>
        <ol spacing="normal" type="1"><li>
            <t>that a key pair was generated in an HSM;</t>
          </li>
          <li>
            <t>that a particular platform is company-owned; and</t>
          </li>
          <li>
            <t>that a particular platform was in a known good state (e.g, up to date on patches, etc.).</t>
          </li>
        </ol>
        <t>While each of these attestations may be independently correct, the CA/RA is responsible for confirming the attestations apply in concert to the public key in the CSR. That is, the CA/RA must analyze the attestations to ensure that:</t>
        <ol spacing="normal" type="1"><li>
            <t>the attestation of HSM generation by AttestationStatement 1 applies to the public key in the CSR;</t>
          </li>
          <li>
            <t>the attestation of company ownership by AttestationStatement 2 applies to the platform that contains the HSM; and</t>
          </li>
          <li>
            <t>the attestation that a platform was in a known good state by AttestationStatement 3 applies to the platform that contains the HSM.</t>
          </li>
        </ol>
      </section>
      <section anchor="freshness">
        <name>Freshness</name>
        <t>To avoid replay attacks, the CA/RA may choose to ignore attestations that are stale, or whose freshness cannot be determined. Mechanisms to address freshness and their application to the RATS topological models are discussed in <xref target="RFC9334"/>. Other mechanisms for determining freshness may be used as the CA/RA deems appropriate. When CSRs are embedded within certificate management protocols such as EST <xref target="RFC7030"/> or CMP <xref target="RFC4210"/>, these protocols can supply the Attester with a nonce. Further details are specified in <xref target="I-D.ietf-lamps-attestation-freshness"/>.</t>
      </section>
      <section anchor="relationship-of-attestations-and-certificate-extensions">
        <name>Relationship of Attestations and Certificate Extensions</name>
        <t>Attestations are intended as additional information in the issuance process, and may include sensitive information about the platform, such as hardware details or patch levels, or device ownership. It is <bcp14>NOT RECOMMENDED</bcp14> for a CA to copy attestations into the published certificate. CAs that choose to republish attestations in certificates <bcp14>SHOULD</bcp14> review the contents and delete any sensitive information.</t>
      </section>
      <section anchor="additional-security-considerations">
        <name>Additional Security Considerations</name>
        <t>In addition to the security considerations listed here, implementers should be familiar with the security considerations of the specifications on which this specification depends: PKCS#10 <xref target="RFC2986"/>, CRMF <xref target="RFC4211"/>, as well as general security concepts relating to remote attestation; many of these concepts are discussed in <xref section="6" sectionFormat="of" target="RFC9334"/>, <xref section="7" sectionFormat="of" target="RFC9334"/>, <xref section="9" sectionFormat="of" target="RFC9334"/>, <xref section="11" sectionFormat="of" target="RFC9334"/>, and <xref section="12" sectionFormat="of" target="RFC9334"/>. Implementers should also be aware of any security considerations relating to the specific attestation formats being carried within the CSR.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC6268">
          <front>
            <title>Additional New ASN.1 Modules for the Cryptographic Message Syntax (CMS) and the Public Key Infrastructure Using X.509 (PKIX)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="July" year="2011"/>
            <abstract>
              <t>The Cryptographic Message Syntax (CMS) format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates some auxiliary ASN.1 modules to conform to the 2008 version of ASN.1; the 1988 ASN.1 modules remain the normative version. There are no bits- on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6268"/>
          <seriesInfo name="DOI" value="10.17487/RFC6268"/>
        </reference>
        <reference anchor="RFC5912">
          <front>
            <title>New ASN.1 Modules for the Public Key Infrastructure Using X.509 (PKIX)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Public Key Infrastructure using X.509 (PKIX) certificate format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates those ASN.1 modules to conform to the 2002 version of ASN.1. There are no bits-on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5912"/>
          <seriesInfo name="DOI" value="10.17487/RFC5912"/>
        </reference>
        <reference anchor="RFC4211">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="September" year="2005"/>
            <abstract>
              <t>This document describes the Certificate Request Message Format (CRMF) syntax and semantics. This syntax is used to convey a request for a certificate to a Certification Authority (CA), possibly via a Registration Authority (RA), for the purposes of X.509 certificate production. The request will typically include a public key and the associated registration information. This document does not define a certificate request protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4211"/>
          <seriesInfo name="DOI" value="10.17487/RFC4211"/>
        </reference>
        <reference anchor="RFC2986">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-rats-msg-wrap">
          <front>
            <title>RATS Conceptual Messages Wrapper (CMW)</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Independent</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Dionna Glaze" initials="D." surname="Glaze">
              <organization>Google LLC</organization>
            </author>
            <date day="11" month="December" year="2025"/>
            <abstract>
              <t>   The Conceptual Messages introduced by the RATS architecture (RFC
   9334) are protocol-agnostic data units that are conveyed between RATS
   roles during remote attestation procedures.  Conceptual Messages
   describe the meaning and function of such data units within RATS data
   flows without specifying a wire format, encoding, transport
   mechanism, or processing details.  The initial set of Conceptual
   Messages is defined in Section 8 of RFC 9334 and includes Evidence,
   Attestation Results, Endorsements, Reference Values, and Appraisal
   Policies.

   This document introduces the Conceptual Message Wrapper (CMW) that
   provides a common structure to encapsulate these messages.  It
   defines a dedicated CBOR tag, corresponding JSON Web Token (JWT) and
   CBOR Web Token (CWT) claims, and an X.509 extension.

   This allows CMWs to be used in CBOR-based protocols, web APIs using
   JWTs and CWTs, and PKIX artifacts like X.509 certificates.
   Additionally, the draft defines a media type and a CoAP content
   format to transport CMWs over protocols like HTTP, MIME, and CoAP.

   The goal is to improve the interoperability and flexibility of remote
   attestation protocols.  Introducing a shared message format such as
   CMW enables consistent support for different attestation message
   types, evolving message serialization formats without breaking
   compatibility, and avoiding the need to redefine how messages are
   handled within each protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-msg-wrap-23"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-attestation-freshness">
          <front>
            <title>Nonce-based Freshness for Remote Attestation in Certificate Signing Requests (CSRs) for the Certification Management Protocol (CMP), for Enrollment over Secure Transport (EST), and for Certificate Management over CMS (CMC)</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>Siemens</organization>
            </author>
            <author fullname="Hendrik Brockhaus" initials="H." surname="Brockhaus">
              <organization>Siemens</organization>
            </author>
            <author fullname="Joe Mandel" initials="J." surname="Mandel">
              <organization>AKAYLA, Inc.</organization>
            </author>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <date day="20" month="April" year="2026"/>
            <abstract>
              <t>   When an end entity includes attestation statements in a Certificate
   Signing Request (CSR), this document is specifically concerned with
   establishing the freshness of Evidence statements among that
   attestation data.  Current attestation technology commonly achieves
   this using nonces.

   This document outlines the process through which nonces are supplied
   to the end entity by an RA/CA for inclusion in Evidence, leveraging
   the Certificate Management Protocol (CMP), Enrollment over Secure
   Transport (EST), and Certificate Management over CMS (CMC).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-attestation-freshness-06"/>
        </reference>
        <reference anchor="RFC7030">
          <front>
            <title>Enrollment over Secure Transport</title>
            <author fullname="M. Pritikin" initials="M." role="editor" surname="Pritikin"/>
            <author fullname="P. Yee" initials="P." role="editor" surname="Yee"/>
            <author fullname="D. Harkins" initials="D." role="editor" surname="Harkins"/>
            <date month="October" year="2013"/>
            <abstract>
              <t>This document profiles certificate enrollment for clients using Certificate Management over CMS (CMC) messages over a secure transport. This profile, called Enrollment over Secure Transport (EST), describes a simple, yet functional, certificate management protocol targeting Public Key Infrastructure (PKI) clients that need to acquire client certificates and associated Certification Authority (CA) certificates. It also supports client-generated public/private key pairs as well as key pairs generated by the CA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7030"/>
          <seriesInfo name="DOI" value="10.17487/RFC7030"/>
        </reference>
        <reference anchor="RFC9683">
          <front>
            <title>Remote Integrity Verification of Network Devices Containing Trusted Platform Modules</title>
            <author fullname="G. C. Fedorkow" initials="G. C." role="editor" surname="Fedorkow"/>
            <author fullname="E. Voit" initials="E." surname="Voit"/>
            <author fullname="J. Fitzgerald-McKay" initials="J." surname="Fitzgerald-McKay"/>
            <date month="December" year="2024"/>
            <abstract>
              <t>This document describes a workflow for remote attestation of the integrity of firmware and software installed on network devices that contain Trusted Platform Modules (TPMs), as defined by the Trusted Computing Group (TCG), or equivalent hardware implementations that include the protected capabilities, as provided by TPMs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9683"/>
          <seriesInfo name="DOI" value="10.17487/RFC9683"/>
        </reference>
        <reference anchor="CSBR" target="https://cabforum.org/uploads/Baseline-Requirements-for-the-Issuance-and-Management-of-Code-Signing.v3.7.pdf">
          <front>
            <title>Baseline Requirements for Code-Signing Certificates, v.3.7</title>
            <author>
              <organization>CA/Browser Forum</organization>
            </author>
            <date year="2024" month="February"/>
          </front>
        </reference>
        <reference anchor="SampleData" target="https://github.com/lamps-wg/csr-attestation-examples">
          <front>
            <title>CSR Attestation Sample Data</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC4210">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP)</title>
            <author fullname="C. Adams" initials="C." surname="Adams"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="T. Kause" initials="T." surname="Kause"/>
            <author fullname="T. Mononen" initials="T." surname="Mononen"/>
            <date month="September" year="2005"/>
            <abstract>
              <t>This document describes the Internet X.509 Public Key Infrastructure (PKI) Certificate Management Protocol (CMP). Protocol messages are defined for X.509v3 certificate creation and management. CMP provides on-line interactions between PKI components, including an exchange between a Certification Authority (CA) and a client system. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4210"/>
          <seriesInfo name="DOI" value="10.17487/RFC4210"/>
        </reference>
      </references>
    </references>
    <?line 361?>

<section anchor="examples">
      <name>Examples</name>
      <t>Examples and sample data will be collected in the "CSR Attestation Sample Data" GitHub repository <xref target="SampleData"/>.</t>
    </section>
    <section anchor="asn1-module">
      <name>ASN.1 Module</name>
      <sourcecode type="asn1"><![CDATA[
CSR-ATTESTATION-2025
  { iso(1) identified-organization(3) dod(6) internet(1) security(5)
  mechanisms(5) pkix(7) id-mod(0) id-mod-pkix-attest-01(TBDMOD) }

DEFINITIONS IMPLICIT TAGS ::= BEGIN

EXPORTS ALL;

IMPORTS

CertificateChoices
  FROM CryptographicMessageSyntax-2010 -- from [RFC6268]
    { iso(1) member-body(2) us(840) rsadsi(113549)
    pkcs(1) pkcs-9(9) smime(16) modules(0) id-mod-cms-2009(58) }

EXTENSION, ATTRIBUTE
  FROM PKIX-CommonTypes-2009 -- from [RFC5912]
    { iso(1) identified-organization(3) dod(6) internet(1)
    security(5) mechanisms(5) pkix(7) id-mod(0)
    id-mod-pkixCommon-02(57) }

id-aa
  FROM SecureMimeMessageV3dot1-2009
    { iso(1) member-body(2) us(840) rsadsi(113549)
    pkcs(1) pkcs-9(9) smime(16) modules(0) msg-v3dot1-02(39) }
  ;

ATTESTATION-STATEMENT ::= TYPE-IDENTIFIER

AttestationStatementSet ATTESTATION-STATEMENT ::= {
   ... -- None defined in this document --
}

AttestationStatement ::= SEQUENCE {
   type   ATTESTATION-STATEMENT.&id({AttestationStatementSet}),
   stmt   ATTESTATION-STATEMENT.&Type(
              {AttestationStatementSet}{@type})
}

-- Arc for Attestation types
id-aa-attestation OBJECT IDENTIFIER ::= { id-aa 59 }

-- For PKCS#10 (Attestation)
attr-attestation ATTRIBUTE ::= {
  TYPE AttestationBundle
  COUNTS MAX 1
  IDENTIFIED BY id-aa-attestation
}

-- For CRMF (Attestation)
ext-attestation EXTENSION ::= {
  SYNTAX AttestationBundle
  IDENTIFIED BY id-aa-attestation
}

-- Allow either X.509 or OTHER-CERT certificates
LimitedCertChoices ::=
    CertificateChoices
       (WITH COMPONENTS {certificate, other})

AttestationBundle ::= SEQUENCE {
   attestations SEQUENCE SIZE (1..MAX) OF AttestationStatement,
   certs SEQUENCE SIZE (1..MAX) OF LimitedCertChoices OPTIONAL
}

END
]]></sourcecode>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This specification is the work of a design team created by the chairs of the
LAMPS working group.
We would like to specifically thank Mike StJohns for writing initial
version of this draft and for his substantial work on the final version.
The following persons, in no specific order,
contributed to the work directly, participated in design team meetings, or provided review of the document.</t>
      <t>Richard Kettlewell, Chris Trufan, Bruno Couillard,
Jean-Pierre Fiset, Sander Temme, Jethro Beekman, Zsolt Rózsahegyi, Ferenc
Pető, Mike Agrenius Kushner, Tomas Gustavsson, Dieter Bong, Christopher Meyer, Carl Wallace, Michael Richardson, Tomofumi Okubo, Olivier
Couillard, John Gray, Eric Amador, Giri Mandyam, Darren Johnson, Herman Slatman, Tiru Reddy, James Hagborg, A.J. Stein, John Kemp, Daniel Migault and Russ Housley.</t>
      <t>Additionally, we would like to thank Andreas Kretschmer, Hendrik Brockhaus,
David von Oheimb, Corey Bonnell, and Thomas Fossati for their feedback based on implementation
experience.</t>
      <t>Close to the end of the specification development process, the working group chairs, Russ Housley and Tim Hollebeek, reached out to Steve Hanna, Tim Polk, and Carl Wallace to help improve the document and resolve contentious issues. Their contributions substantially impacted the final outcome of the document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA809a3LbSHr/cYoOpyorTZGwJb812exQEm1zbD1CcnZm1uUq
NYEWiQgPLhqQzHFpK1fIDXKH3CCpXCQnyffobjRIUPbUblKZLa9JsNH99fd+
dXswGARVUqXqSPR+1EoU12KisqJSYlhVSleySopc3CXVUpyoskquk4gfTZNF
nuQLGP3nGsbpXiDn81Ldwjw7J5hOYBi8rxZFuT4SuoqDIC6iXGawfFzK62qQ
qOp6kMpspQeRLgeymWNw+CLQ9TxLtIZv1XoF74xHs9dBXmdzVR4FMUx8FERF
rlWua30kqrJWAQD0JPhGyFLJIzGcjIbw5a4obxZlUa+OxE9vxE/wDXfyBp8E
N2oNP8dHgRiIy3dj/utk+s3BY/x4Mjl7jX97e6PHDjVqCzHBrcprAOwbIcya
74dnl1P8zptorw+PM5mkgJ2V1Nn3iI+wKBf4XJbR8kgsq2qljx49gu3KqpTR
jSpDO+rR3eIRIe+RnBd19SiANQHz9RyowkiFARt47cGgVOJXGGQnt4NDfj1M
is3XHn2JXuGyytJeEMi6WhZAHiEG8EeIJAfSnIXios41YLpa0lPmgbPkRm38
ALs6EiflelUlkXhdlDC9mBbX1R1QlAZYtmuPoZ+ipAI2myZF/Um8L4obQElf
XOSVLJOCBxR1XiErnshcxpKeKUZ/BqB8X1hQwki6DTCob2WeKy1mOloW1ypP
FhZamSe/EgJwZZUBL7aXeqPKTOZrfy2eK2zm+n6RfQpzVW2uqfIbcZyUN8si
/bXBzutS1jm+WYrpeNZCSsdPZs0lzBXOzVzf66QKr93YMGbU6qpUCthislRA
NWA2DRrixTOznxgg+t3zp4evnv3Ow/apLDPggLjates2F/yUaAAo93kAhbv1
3E3yY55UKhbTCtm1Raw7Hv59VGSruoIdoMi01joPxTRLWtx2jnO5Z19eJVdx
qHE8yRvQCJ6GsGIQ5AXsrkpuFbL55PXJqydPnpqPzw+fvzQfn706ODQfnx4e
HJiPh69ePrcDDl8+PgqCJL/25xsPTmnBQSkrPcj0YnBXylXrFxZAX1legxAs
gam0mfrF4yePLXDPXz7BjyfT48kRc4sT0Ubiho+Oy+JOA+OAQNUZ/WYMxbHU
Kk1yRSouKZHHKy0AZnECTDGwCtBTirovbsMn4QuahfS0eK3mZS3LtTh82ReH
jw+f8gqyXCDHWT0Uyfk1Lk/KrV6lhYz1I7v+wF9/AOMG1VINxlrXMo/UQObx
4AzkekEDBsX1wAcvvAV4wlV8DetOAX2pOgWFeuTvswcGq2XFeJzAgb1OcI22
BJ54tEvdDtQnmkUHwWAwAEFFuYqqIGib1yGRJKkS0DF7J0O9L8Du1YjWyEOr
qApxWc9TUHvv1FqMc5BhmK+OqrpUYg/s175QeQx/Kp4qk2tRMtaE9KcS2lCt
ZLMFi04n+zh/kkdpHcPwOE4QNJmKW1XCa3IOuHC8CjDDYLC+10mZiVUBMK0F
imOaIDVCZCNh9t6HtU+GbWDyBtA1zhSDE0E6B2CrlrKC/1NiVSa3+ACMNMxd
Ao+vijxGsOENiQ7G77RYMUJwTKKFVhHgIhbzNQxYyjJGw8FPcaWsiGvYxt7b
6dl+H8fnRQVgrkDp4/76QlVRKGa0dhGBPKGHtFC5AsBg3T44GTJHpcDfgOcY
O2sEyseZjyizaQIKtwW4gJUjmabwrGTvybek4qdlAkCi20IDa9h5XqVrUeex
Ku8kIQwG5zHsL/lViVu0cLUWUq9UVBHMHfMiGXCkAjzACNjgCr+gUGYqWoIh
05kGnN0qMVcqhy2IGgwACvpayRKEeiWBgaI6lWWKpFzg8rBvmKmCdXGrNK8j
mg6DYLZEqgBcDbPH6jpBYzqcnocHwjGwFnfLJFoSn0SyBLA84FGNSILFuGeE
e0/nBMYBE2dANVACyICAf2Bs8OH2YYf0VIfiuADf1MNeTDP52PCXZSpqQVxU
r5BRLCE39xWyiGdJHKcqAA9uDAYG+I0w81cI/LvxXyfUVqI9MfZ2qFncQJIr
CRSPUpkAFzTEJTkEhxERgfzguLgtv0ZGFP2EsriSSUn0YqK2AUXUFfViWRHu
ZaoLC4C2EAAnAZRlMq8RD/CtNTEFGKgPgO9IawGJGjbsE+Pi1OoTqVs5T1IA
NAT1TvNUSUaxzx1SgMQaHmYFoGwFk2rct9FdduVcwc5xO9tyhYLib07lZZGm
aIRwnyTwvp3sNqd7aJ73BYRHNb0Jzgbhw9cabRMtPuArH1lb8WfLFtpp4gpe
Iy7qYZBUGt0qxbSe6wiQq0rQoJdGYt+xCrWkjPsgJuBdx6zniPawVWl0LOzz
NimLnMClaZdSExlh+7Qm4PKWf1TXFfgZIBoQqKkegpxoC6xFlAQ3DdQA6M7r
hGiqUIVGwLeJ7NKSD6oWsC+Oe5jHcuQFQAJZLkJCmhZ3RFKA+Vat0WwhtXeJ
CWxdw34QwAfiPyNzRm30jfDhAKu3Phgn8CNixJ/pYQX2wbiRHz1V9gZcxgYq
q9O29FkHy4KgLPMiLRaoUFC3sbLvd6g1pA3wIog70B/IMoeZdDPBeiAXOUgO
mGB4DGOvldQJYm9LRlGekNpG5V7X5LZ8ATrDLDIFPGueE6XhWkaVZWbjW0BQ
sGS2K26T2KlrInHL8mEcTiolVrcJGHkBXAIWJ0dfIE4iDARAa8nKUBFe5oGI
IWLsUqGaQL71OSQU4m1xh8QAsl9vaDyjkkF440Kx22H1MqkXSmoQWhx0Le7b
9iFgEZKbOk8hdk35cbPMXZKm8DVSwCOtn2IfLpAidjYwWUOMwBKE4o5MOzT+
qpiuQR19EueFIdEFKLA9MuDgR7UgRVLMN+eBWJAteKxQ76xojlTmixo4GXYS
qrBv/AGKK/IIIjzyvMWp98Z78wYIxenpe1iZFLIhRmsxxCIiUeUQuZKKbyTx
NNGo9WvgF3hnZEaICXiGoIhPRxOY2IJwnOQoQhfzf0Yunti1GAl7J8cXOPgH
eSunBKQd6PC098P04nzfMHFbriajk4uzs9H56dQw8pZRRnqQg4oguu0hMcGI
gMBtgn4MoCNKvrxBpBCGlSuj03OD/IuT2WgmprPJ+PxNiD7MRKUM0TJZIevj
4piGE5PhbLqRywqGxNhkMLwIqMQpUHf4OofcTPUpIYZECcV0gfUzZTpXwNwk
7Hnj6jp5BCnxH2cKfHIkNityYgFPm+Dfxspy2DA05KCUFjrtaPMVm+oU3yzZ
4sEQkBmwE+ASrsCcRmQUPN/7azxHts+Msu1E6SVGGTE5v3uI0X3y+nEHlDwk
u8jwWcrjtKoMwbkUnz+b3MP9fZ/pYYXutgBY0U9f9ymNmKBjBKtYS44itKKd
kmox9ClM0AXynrAtbCKfjVCnpfeCAIBBD0yTiteo7VdEaIhxMORS6YaOQMZ2
boZVad3q0q2btFyhCRBxaoKOZwiqhwznBfhguO06ycrAt2FHSX3qB416wBXm
MqKUMSweLVV0w7tg/Yw4klqTbaHHoPiRnwLPeSMVSEzDiMV8GnhjicXl2viV
WvlABjSdya1MJzYGJfVlrFrsdDlZAxvYBqXvTFo9Y0mKThl4PyQiLS+cUyeI
jUADaBqRDOT8/Nmi9ml4SDWCLdRapwN8PWVwCuHMArRlBVwGG7hD+YB92Dh6
h0TukfOvlRLNogfNos9fPrm/3z+iXbDcqPI70GhxUWr8BOqJ+PESItP1d0Sf
PzKzlGFL0JolwautMSDRYoQIhf33nc0CDEZGFChDwdGNvGGWFym4NrDPXDXU
o/37xoVfJQ4VKEj4Jjq3DqxgaH/GVWn7Fl0PaS37PrszK5DSREtgvZHEzXS/
SJG0CewI6tIwPYVYPtQm6CI6GmT4HgfsCOBFrhzuQmuTGXFyqhVnDFTbs0hy
j9Yv2+wlWQv3AOpIraoa9Ydxd3sevQwD4MKs0nyYJkrXqVW8TXrMW77DyTWb
tgFuI6GdHL4D4V8wG0bel6UikdzcINnbEzRhudGSMNkpQk1JJY0BD4fAWLHS
onf243TW6/Pf4vyCPk9G//TjeDI6xc/Tt8P3792HwIyYvr348f1p86l507gj
/DI8Fa1HQe9s+EuPt9i7uJyNL86H73sOnU75Iak5TMCooQSHiRx+UI+KQ04i
wfHJ5X/828FT4IS/w3jo4OAVUJ+/vDx4gaxwt1Q5r1bkgEr+CihcB+i2yJL8
FvBxI7lKKhCjPjKPXhZ3uViqEj3bbz8gZj4eiX+YR6uDp/9oHuCGWw8tzloP
CWfbT7ZeZiR2POpYxmGz9XwD0214h7+0vlu8ew//4Q+UTRgcvPzDPwYmKHbE
KNWgtq4NEANEvCWFjeB5TgAHZEErIzlRMlalycNsUhuMIXyxweG1zJI0kZyj
CdhlwVCblOMDIBztku8T1E39DhGHAAS9b2sX+m1r0G9bg+ASdGfLY3KehE3T
tF7fCl+7ErWE7Fq7LBHuT/RKMw8qv3UPrMr1NeLuuiwyHlVKlye+fDf+eXOG
sCuzQWRkcAkYrPGxrfHJuIGBJqFKHva6FXfKnCR0wU5YgyhSM7yTds7SJCh6
VmMh3jZpiZmN+/swmPrAezaXBmF1CimALIdyzGlS49vgykHviymWXgsNREsf
WJcONrDapHr1hb0Fd0Wdxl4WnOoOUWVShBCvyBsInSTG3YBM8JNj8sXpV4hD
7nCVAJ23hLNQVJlNHA3Buqh1AYxp0kEhVnmR5TmYN4YjaBuOAmYnT6oqIsqt
oTGiFKdhLpREzRE6MH2AabfWb34U7GXxN2UZfBFqqEhI1q1dYhWvfkOuioiM
yar7+4CVQo+aQQymvDX7nmbCMb3NtL5dKbA8hwrHpCLhNSxbLBTgad3i24cL
Pz3BUhtzDIKed7reZCdARDZHY2/KGm5KBFCbjgRMZwBzsu4z+WcqfLCw1zmX
WrHKEMgI/eBQXBAxYfaM7BrBwQiwgjnl/OooNQpwVtYUJl/aNPwZbYYVnP1x
9AneIs4fNXlZQMo0QQ+/TWjeGpoFWDfhNJ5RT3cFDMPks+53xasmSMWFfw6f
PX6F+ot4l3U8Z3Ez8iidI0Nq6rZIwAmAZRc1JuIDClf95QE+zMZXpvAEJr6M
JLD4ngoXYd+pp31SakBJWv4RFkd2zwIQtWeJWjJviAPcsXcy3N83ajem5Al7
p+AW07LaUIgEj7IWOP0cK0kGW9+RX85hXkQVT+ewE1dpq6Vo4zaywOlMgKT8
eOQOPRgKG267Z+GiUDPJrUyTmCpGfvnI7Mgjhbc/JngkM5UOCEe4eEWLaYEp
RdHzKD+1Tm7PWhUYTdxBeSNKWjYOLNmgYdXOnlOK8fM3IJJ+gRxGlfcsu9fA
n42LsZWENpGsl6pvZ8w4t0NxlyYlR0Nw2dBMb90QXc8HmgMQa8FcoQ/TOyZx
XDnkrQ1RQROsjOF2JVN8I00g8GneK5oIvJXWpsyuqW0z3lJQ1SkLMkgkqmhH
4nb9oileeLVaW5Lxg/oMWyBIyp29QLp8I7qIuRk7Hdc51S4RXVddL1x5AdWe
87fJ+GOKctD1DgTwmK7HChzXNCmB0UqkAqE6nT/dD3ZEd+30EeYvnRdoswOU
HW6FzU0+hfsD3I/w24bnZP0Vlj/DhPQSJ58guqD48gqJeiVgljQ2Jv/i+IfR
yUyMT0fns/Hr8WjCIurES7s8nqys23elq6wy04R2au9ZUx41rOGnGVt5oojb
KPzKoQ9jaEz1RoZ5I+tPvEmxkpEOlyDmpDGjEz0QV5D5EruEwWZHyPHFZGAz
2wYbG7UDyfj0ctK07o6lVnW5KjRmY0h9NpmvvHIF5NZc0gxqQYJVCqBu8Je/
/EXq/CAYzmaj6WyIYdcA/x5BlDYTR0e/F7NfLkeDhspB0ClhOHIKAebo/GQk
PmMbEZUmhOicOPz7JN773DXRVFX3+/2A2vSyavf7M5h99wyfv8fV7/eDe9xg
8PlIfLNTbrkv6ve9JgWBWOy0CfeUAtZFBhiXRIKtjh/S/n5/kV+RswmpJl6x
rzERixWloRkCSmEB93JOy8o9hByghKk1pe8MAUU+daWLmgrJviy7VdkONr6y
ndBYFBQIcDea8GhTN7LO9Di936EMeRDGPF/WhH6m7ktShYXRAiSWxBBlxeQH
AGdp2vTktHtKvCQfiPB1nXIVvOUbrSRMOK+TNHbJf3YxjEPHpQChMPvYDWTY
iSVjxxsrYvjBtBZg4NQYPlIYxu6FnkhuTtshZC3XwP00Hf9pJPYOwvBs+PO+
uHjdyc0kZIiNh158jxZfxRipnCwLqiJb3PcfEC4D75cki4ehWA39rLNKTbcE
B2RX/iatoTDJJ5v25UaIxgUhSwReDXZPFxD6r5Ym/JlTscPWgJqeOvsGUa3m
6qZRpkgss46tm3SQ3ARmV15QZzB21Z2dpegR+2hRXJDzUERMgmCusGnD4/kr
Cqe8udm8XfW5v4NrKdRNttVbZbAIK0tMJnE8Q4tjY+79vTFK5EZgAp3itrzI
BzzSd7pcra9zl2RIKdhzXVbeuzA7Td0Ex6Zc039gNswZ2smuSEZiZkYzGvZ/
dXuAvjU+vKI9XN0eugchVqhNNxBiCLfFBr5jWxyk7wbGAUL7uHLK6Opi9nY0
GZyMJrPB67NZOCM3BJjnyjfDV0Rjag6g3INGg22J254giVGrbIvelZ+Jcu44
eUq3EmwCplHYcSelfuXtkVc3kHs6BlTA9n5Jz5y8vRhbLSNa6PJe6POvHZQR
Hx5/FOOzy/fjk/EMovatAeZV+m8wEBdzXaSq4g59EYah+f3DhydHoiGx+HDg
TTu0KtSb948HHz8+OPeHD09hxsNmxsMvzXjoZvzw4dmRkRD+/sR7t1tEP34U
oN9gbJvI3a4VDuucpUP1CwYEh5oxG2zkIQH+I49rals7m7e0cbe86cwbD0/H
DljnhJ+/34Dsfp9R0GFNYF9m4m0+9Fbc+2k8eytOLs4uL84BXVPx2ePIPoMO
7h7aI1bDZNi2ogps6tusD7OnEPiVMTT8JtNAAt5p+AMzK2vztpEyfeG7vQbW
NV3AtA1bsNkx4Hex6k0jht2bDD6XeEEVu31grm8XLHWeYu2aQDJJaNNnrj6t
XKkYsHOTYxxsrKcfVuLQbK5iXB51mjXdO1ymYdNB3tr82fAXXMY2AVCFvQmm
sBN/KXlqv25DwGIrA7uyFaYKgW7RsijRADRZiqKMEdzrzT4MMpKWZSDWx9T4
XDWbn6tIYhTYeqVNfvOy4aKGEA7/jee9w9m1SbUd3eSrVEbUUYfFGlBSxunN
RZZ82rD5JgPj08EXh9ahBcxkOlvfKvdiwrdsTYvUMQTYxDN1r0rzKyB4y3cA
p2HMfXyuv8pGIFxNBjfUMRROv8DyMcLhutG7PJGdKR+IAjs9aX9Ad2xJqpY0
LFghNB/n6JNultVdknkw+JogE1f76jgTBvdMrhBYkLqiMDWYpjWfHIm/kInC
CPgeWHFlzx6grtYBdVTsbL2gtMH4VAd+FocSKxm1GGjMua1WlLpzxQk+G8Pu
bYAZGlnqndFcQV61zcg0xe28053e1X9B2Yz1it35wCMLm2XqQLONa9T70XwT
jX+9NsOb3+ZFnEBEj7ugfBhm11pNb+6IROOVtw/rIPZEB/a61S4Qify5FJvG
69zPZ23yWOg13Lrm4pK0ZbAqVnVKXU6V1zXs576wl8A1DRtpYrkxB8G89OvI
hqFBcLxmnk/4pIF3SMHoFelavSmaZbJwNgvkajI+/nE2okndeKyabQ8e/Twb
nU9BBD23NIkHUvrp845sI4mpoJHi2St0skBWXzcnZ9BCtM6o+XBZGUcPrCMz
DN7IxY/oZkAcLNBLduueiuNfxBZ4QbM6naUGh7i9stukW3n6y/kMJu9a+8uL
tfSNyx3obRVDGcF2tqGVZrd6xhGe0lV4oKJb3TRrgYbxO+Yp7vOzpVgJMfTW
tl9oowXEOBWkScwr23ZDxLVy8Tqe4IjWJAW25k5nsdAF0ksUQv9AGp0W3zjE
8zvdlDhVq4J4BtFxghaxsdSuR71bo+3pfWvwXXrHMbtJqFXFakDVj24l58Wn
bbPi2uf9DOH2FGFXbqQqvHY4IAvar106GUtHCzpfgZsFgFrp66T9M59f6Znk
eI+fbaRGtju+XDJ97+Tsp30vGfL58x+6TwFjRiSz5IiKVWJOCgiYYMCKozOT
u0EMIKrrhjG5DnCf2nlV63VtYoJqNU0xiifGBEviETlvhmg/MaqLXb+1Mwlb
0DQrmvMb4mpL/DF8t5rXNT2laoGC4SVMr5xm1yb4dw+uBGAbrR+ta9rB8ciG
MaZXU+Jdb3z7fTJd3lIDalDDc2Z8Bs7Lc8kFximmFOi0L3slJ++H0yk1Ffu/
0VM6YyXFlaeF8ytMZJN2oVUiAN2L15pcSMMvzaS27asB2nA6B1BcUNnu+uJ8
kGcJHAxearJlYzB8QGQAZNhBQ54y9suIVoPYEZbVhnljfH0O2WSylpl9mH0a
Y/4g+7TXfmhsez1QCxRT4lKAZSpp7PDe8LwN7N4JsXXttVd1hmBTZq0q33//
y7+aChn4Uv2mj4KIDXaJEV+CVt9sznfV5BW7bOgRNR3SWE0t0ltWUeh8uomB
2lg4Scz5JA3bUh3df8D+GQY7XtHOFB07oW9FbhvnidFGFiv5Z7Bqe0Yx7jeJ
VTG7ww4buUATFvF2ZLQ0rcUQ0xdZRgb3SOwd7GNLIoRpTa8DuaC4QmPDbr0o
vVUZYuNGPVTYdEq7oZPXXCC2W2kqGNr4teB5U6J17xCP4UcQZrAHihOYnfme
G7v9XPewloCzGMToms8sokEHAQaOB3dXjK2ba6hrYnIZF6uNxnQfQ3n8FeRw
k2Xo+RuwIciiY1BNt4PJFkeYpLEVJkrSG+bbaMugnpDx8HyIjSHUWCZNMzM9
NMdA+VwaRregCCiOxfJgCghzTZO96dmYO6OQPfkg+Phn0wolxq53pReUagFk
58CEXnU+CKvXzOue2rnk1nLB9NHZ+GzkqSbqQHQRTevEqZUFVlUcVFhQJwwe
88BAfOW2GnxJfWP7dHEiVbZVqJ/dcJgABQa7Dr5yLSx0PQmfhwfhM/jfi/Dx
Ph5tF+IUeCGT6RHTc6hN69tAfPvtRFEaRsyOT88uTr/9loe7g3tHqKMHflbh
8PHhM3iTARusbpJPRr8OHh/gyxNFYhopfcRdtqdG5zAuzTE7D2YfrboLr1v0
+6tRKuU2RrdWQWQehi+fPg4PDp48e/oKsAp/noeHjFQ/mHf+GjzfiWv0i49E
CIEduQJpqWS85lZVhXp0YPmZYsgemy5lmmt63EYGH1nltzoxdSHs2SJs7Uy0
ySvmC3NGVWaNCVB4eQ4dLN8yjtzDmSppDp4agIzzhpBLPUhAMwzaLLIdzw0e
ZIMG8Zuqpd0D786EezqbI4FbPEzQOpemd93hYfrX6JDBnQJHRm4cMnczsg73
C9yUlu1sN3b9s3750x0Qv+84uf7Vq+zs0d1cig6V33Nfg+kvx6nN0WHtKr10
mGhZFHRkzdb/Nyw9Bn50mQv3ZCqKk/LmoJm5JybB5mIurLLPSjGGBseDGIxG
oQHEXK87liYaAOk8OJ6bwlQoJfV1hOenCJpu+qEIY9DbtEqB+A2xScX45hEG
Z5oPFJtLFDY2ZgoQjq8wM9s6dkdpJnzapvWlPVDp5BtmM1XxEu+ayl3ynS+w
YYZr2sVcE3PU4nOXLzSnY7wDDUwnvZtQfosk5QHQ9DkZNU2TqGmPuSux3cxp
G+7p/p3mQqIgmNC1Iam5N4dau7dPgrbOXaAfDCRSdKEMZgz57gBUpbbhxB7J
NJDMVXWnzG69Eo89mrlBNNu7DvvhLNRQu5tWsBBfMI8gc7os4eZNG7BJvMFD
PHiDh7k6gc8iNwdlN/EOaHk7PXMHa43z5N2g85uaM7zdeXmalkojb8aFG9wJ
xWoMszyoVLZO4vQprHDHMnyR4ntFokZdugbQtsU0iRKAqvseKDpf0aEZjOox
Aohb9DDFmQVEH6KNYJH5egAAwBbcHTXkT3M9blEUMafIjXpDNZbgtTM2cuPD
eF05E92c9jMxDY5swgdp28QgZj0IjSx6F9RIv0XVQf5dcOjGeucwGuB1e1t0
pDV48uA7uFTnpqnrvW8KS+TSc2MXBgV809W+u/+BSrJN8NBxoQOqqRWGWHQV
VetYjJPmTRE294N1CII2iotlEPOaD7M3aH/qQ/IXzLjMJtP1r2p7frpBxt15
Y6n0JWkESndm0A7MaW79IJiGvFuLGJoKpGlJVynsWudwax1L5u0CN/JTwx9q
u9FLfg2T7ILkyW+DhM3Fa3sPIZg3e+qjxNiA7kaQ0U2bgC2XArQrJm3aRLRN
yvAEFQh5DDjeXXhoL26hDIRxO8BZOGu65DHG4zsUvLeMuUhKe0bXNjZW9ozG
luUyp5jB16i13lKa9mCP155P+QYDE2UO3Op+T4U58swYiZXKtJ+swXNrKm+u
Z9lsJthq/Vft3v/msPt0hnlld/qOTnOfXZpn4AQ+NmcitfLeRkOAiSlzvYyr
THOLFycCwLDWJe0dNisTgyeTW7B4+pq7K/HcIDJR686RdilYb50Pa5LJrQZs
e6uRqcI86NhTjsAZInYQOT2AdLINy3jNcIKXdO4opVjxaM4OuHqKxQsVgkH9
8rEPTexsrhZymsG2A2yWhPgWo5MhhwCrdVtOYKOeWqJrX/xbfvgWMBJbJ24g
ljx265qrrrYbPMSo7mwhg3vqqW9PYQMZnZfvRJBpRGhwvzNoG+eORFYOdzm+
KV8bg13+G5XfpkeldQz5wdmMp7qRDMOYgSKDjsNIbAghJLUZaO/oa5+re94R
yFbMyKYmbQHDkQel4s0NEttnjb/jC3KchXavdegke7fC89bdCn3vlxc7f3m1
85eDg42fkPzez+2LQsImVenRhaI2vBmFxIKy5OuddPER4hOo837GuaJen3aJ
oPGN8WJGbITCtMHI3chqP/GZTm77oUZUujwL61rcRW9bD9TDd8SKN0n1tp6j
ZBUgCUW5Rvy4y2ZZvdnDNZR0awr7XfmxQGAdXxeY0HbhYDzwL53ee4J3BsZ7
z/f5PGyuKhxtUbr3bB8maUwSfBeYa9t7sW9Sb3uP97uTcHucytvH/oHT0evx
+RjhmjZdnbPhmykV7Y9Hb8bngMyfLy8mYDeH799/B9J8Rt/8ay+97sXXk4sz
vsHbhjkmScHXjMHuQaiAZBS8fDDt4B+p7dFhJENTWA7mRbzGhHut914+hc2U
WsY62eNk2z69srqJNL6Bfw9e7b0C/GRJpvYOAGucDNYeGqJMw/qPX+09e0mb
dx0K/aZuZreA+dPBCR3lpVYierEFOF4CvQH4byIlX8zdkPNLxOQbsBuCMnCD
x4d7z17QdjhvaeDnk8ZngAyD/z8+iYvqgLbxv4xtLGnf8moA3JNXCJwQwDl/
5YGrv2n72v+jI13tLmPxNSe8sPNmWEbkOvg6iwpcf5NWIrHnzbu/1Vj0f9ZX
tAHHRpfR37rJiPBKt4eqhPxebs4BWJrO8JYTFTzQ3727u/srW7v/vx+HQoSB
C8st6GD+IoxAUxXTIWXd2dJrjhvRBdiUjuRrFkSlZCaiUkn/1rilTOzFNCqg
f2ujfYdeGPyEU6H7QafavdPZfO8DqNMb/qcoptUPxTLnwM1cDSyoX0ymwS24
Mbb/xLs8MOfbC2kP9VzzJW+pAd1kxRJziTofY5u1EmUreEwXpHDbQrsju0+t
9FxgcOk/mtq2sdsaerKyeSYfVZlSuAcONNwFcsaVN26v66UMggm4u5hGf6eq
KlXosYIzuyxha7OyvpZ5XxyXNQB5UtTgH8HIfvCDkvngMlEluHOvE41J/amk
fPZMZRlw6Q+qWpaFOFbqJsMZ/qSLtBKT//z3X7VcqsU66YvXVOEJLlX1X//a
Z0IMF/AoqbV4V2NoWPbFrMjAe35TA4ZvtcbmgdMEQ2txXOCpZwITInaUxjO1
xjdOZJmKn4DEEg+Vn+HeVCrMHmkGmLO4rrNEXNzU86IvLtLkFkutzf4E8oN4
U0pA9KgEsgwzGRcw+ZukTMQZ7HQtIeA7lXhDOw2mid/Sv34hpuC/0qZnSVlD
VBvHa7wrNAPheCsXczD+4FKEP4TAd+C9msXeqWyFM+YJQHuWLOhsGrLZBDx8
8baodarwspMmpEIuuNtkcebqYR7TPRLvSlXpaJkhXt5C6FImN0DLIrpZylr3
g1MJnCFu0QQsVZLN8frTUq0RtzlxAV00siQSvC401mRscR0v+VYqpkMGc6mp
4bEJyVhj4nEBcMsxVQD+YGriT9t+2BV+YVSs0mJlcxkckVvub67HZOHvt3DD
wCYZfAfnfQ6M1weWx06IWFCsXiC+IUrFf4ZF9mnoZZHe8C59rsGhS5WucD8g
PKolL+ZkIrbPuJCYLuHHTAJfW4zIcQLMHRaNikipW1PyGRKnJQDAqMjUtnD+
D9j52Iy5aQAA

-->

</rfc>
