<?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.39 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-giron-acme-pqcnegotiation-02" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="acme-algoneg">ACME PQC Algorithm Negotiation</title>
    <seriesInfo name="Internet-Draft" value="draft-giron-acme-pqcnegotiation-02"/>
    <author fullname="Alexandre Augusto Giron">
      <organization>UTFPR, Brazil</organization>
      <address>
        <email>alexandregiron@utfpr.edu.br</email>
      </address>
    </author>
    <date year="2023" month="July" day="31"/>
    <area>None</area>
    <workgroup>None</workgroup>
    <keyword>Automated Certificate Management Environment</keyword>
    <keyword>X.509 Certificates</keyword>
    <keyword>Post-Quantum Cryptography</keyword>
    <abstract>
      <?line 41?>

<t>ACME is a critical protocol for accelerating HTTPS adoption on the Internet, automating digital certificate issuing for web servers. Because RFC 8555 assumes that both sides (client and server) support the primary cryptographic algorithms necessary for the certificate, ACME does not include algorithm negotiation procedures. However, in light of Post-Quantum Cryptography (PQC), many signature algorithm alternatives can be used, allowing for different trade-offs (e.g., signature vs. public key size). In addition, alternative PQC migration strategies exist, such as KEMTLS, which employs KEM public keys for authentication. This document describes an algorithm negotiation mechanism for ACME. The negotiation allows different strategies and provides KEMTLS certificate issuing capabilities.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="TBD"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-giron-acme-pqcnegotiation/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/TBD"/>.</t>
    </note>
  </front>
  <middle>
    <?line 46?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Automated Certificate Management Environment (ACME) is defined in RFC 8555 <xref target="RFC8555"/>. ACME automates X.509 certificate issuance for Web Servers, thus easing the configuration process in providing encrypted channels over the Internet, often by using HTTPS/TLS protocols. Backed by the Let's Encrypt project, ACME has contributed to a secure Internet by giving the opportunity for system administrators and developers to secure their websites easily and free. ACME specifies how an ACME client can request a certificate to an ACME server with automation capabilities. The server requires a "proof" that the client holds control of the web server's identifier (often a domain name). After this validation process, the server can issue one or more "Domain Validated" (DV) certificate(s) so the client can configure an HTTPS server for the particular domain name(s).</t>
      <t>Basically, ACME requires three steps for the clients when issuing a certificate. First, a client creates an anonymous account to the desired ACME server. Note, however, that it is assumed that the client already trust in the ACME server's certificate, otherwise the client can not connect to the server securely. A secure channel between ACME peers is a requirement fulfilled often by a TLS connection, thus the client must trust in the certificate chain provided by the ACME server. Secondly, after creating an account, the ACME server must prove the ownership of an identifier (i.e., domain name) by means of an ACME challenge. Currently, HTTP-01, DNS-01 and TLS-ALPN-01 are standardized by IETF (others are being proposed, e.g., <xref target="I-D.ietf-acme-authority-token"/>. Lastly, after proving the control of the identifier, the client request a certificate by sending a Certificate-Signing Request (CSR) to the ACME server. The server validates the request and the CSR. If everything went ok, the client can download the requested certificate(s). Note the sequential process: account creation, challenge validation, and then requesting/issuing the certificate.</t>
      <t>In order to request and issue a certificate, ACME specification obligates implementations to support elliptical curve algorithm "ES256" <xref target="RFC7518"/> and state that they should support  the "Ed25519" algorithm <xref target="RFC8037"/>. Since the messages in ACME follows the JSON Web Signature standard <xref target="RFC7515"/>, the algorithm support details are specified outside ACME. Therefore, if an ACME server does not support the algorithm or a particular parameter that the client has requested, the server throws "badPublicKey", "badCSR" or "badSignatureAlgorithm" (RFC 8555, Section 6.7).</t>
      <t>The main problem caused by the absence of an algorithm negotiation procedure in ACME is that clients does not know in advance if the server has support to a particular algorithm for the certificate. Therefore, the client must create an account, perform the validation, send a CSR and then receive an error ("badPublicKey"). This "trial-and-error" process  spends client and server resources inefficiently. Having an algorithm negotiation process, the client could check several ACME servers until the client finds the support it needs, without wasting time creating an account and validating the domain for each one of the servers.</t>
      <t>Currently, NIST is selecting Post-Quantum Cryptography (PQC) algorithms for standardization. Dilithium (primary), Falcon, and Sphincs+ have been selected, but other signature algorithms may appear. Similarly, Kyber was selected for standardization as a Key Encapsulation Mechanism (KEM), but others are still candidates (BIKE, HQC, Classic McEliece). Some of these algorithms are probably going to replace the classical alternatives, such as "RS256" and "ES256", since the latter are known to be vulnerable to a Cryptographically Relevant Quantum Computer <xref target="PQC"/>. The PQC algorithms have several parameters, not to mention the "hybrid mode", combining them to the classical alternatives. One can expect that, in the near future, ACME clients will chose the best PQC algorithm (and the mode) that better suit its needs.  Consequently, the HTTPS/TLS servers will be able to secure their connections against the quantum threat.</t>
      <t>In the PQC migration context, TLS has a promising alternative called KEMTLS <xref target="KEMTLS"/>. KEMTLS replaces digital signatures in TLS handshakes by using a KEM algorithm. Therefore, a KEMTLS server must have a KEM certificate: a digital certificate containing the web server's KEM public key and a signature provided by the CA. As of now, ACME does not support KEM algorithms for certificates.</t>
      <t>On the other hand, Güneysu et al. showed how to build a CSR-like process to issue a KEM certificate <xref target="VerifiableGeneration"/>. In theory, ACME could use such a method to issue a KEM certificate without significant changes at the protocol level. However, PoP using verifiable generation for KEMs has some drawbacks, e.g.:</t>
      <ul spacing="normal">
        <li>So far, the method is proposed for Kyber and FrodoKEM only. Although the method can also be applied to other algorithms, the security proofs are on a "per-algorithm" basis.</li>
        <li>The method increase sizes, consequently increasing the communication cost for the ACME's protocol.</li>
      </ul>
      <t>The emphasis of this document is on the KEMTLS certificate use case. KEMTLS aims to reduce the size of cryptographic objects for the PQC migration context. KEMTLS can reduce byte costs for a post-quantum TLS but at the cost of increasing sizes in ACME by using verifiable generation processes.</t>
      <t>This document describes an algorithm negotiation procedure for ACME. The process gives flexibility for ACME clients to select the certificate algorithm that better fits its needs, with the PQC landscape options in mind. The document also specifies options for  ACME peers when negotiate a KEM certificate issuance, with or without a CSR-like process, thus contributing to the KEMTLS adoption.</t>
    </section>
    <section anchor="certificate-algorithm-negotiation">
      <name>Certificate Algorithm Negotiation</name>
      <t>With flexibility in mind, by using the process described in this document, ACME servers allow the following options for their clients:</t>
      <ul spacing="normal">
        <li>OPTION 1 (PQTLS): Client account keys and certificate keys are from signature scheme(s). Certificates are signed, i.e., Issuer CA uses digital signature keys). The issuance process is the same as specified in RFC 8555 <xref target="RFC8555"/>.</li>
        <li>OPTION 2 (KEMTLS): Client account keys use a signature scheme; Certificate keys are from a KEM. Certificates are signed by the Issuer CA key. The issuance process is modified as specified in this document.</li>
        <li>OPTION 3 (KEM-POP): Client account keys use a signature scheme; Certificate keys are from a KEM. Certificates are signed by the Issuer CA key. The issuance process is the same as specified in RFC 8555 <xref target="RFC8555"/> (not covered in this document, please refer to <xref target="VerifiableGeneration"/> for a discussion).</li>
      </ul>
      <t>Given that a KEMTLS certificate handles two algorithms (a KEM and a signature), and the possible trade-offs in different use cases (such as IoT <xref target="KEMTLS-BENCH-IOT"/>, this document specifies clients to negotiate not only what is the desired KEM scheme, but also what is the signature that the Issuer CA is willing to use. Such a detailed negotiation for the certificate better address the application's needs. On the other hand, the negotiation described here is simplified  for signature-based certificates (PQTLS option), where only one digital signature scheme is requested by the client.</t>
      <section anchor="cert-algorithms-endpoint">
        <name>Cert-algorithms endpoint</name>
        <t>In order to allow ACME client implementations to select their preferred certificate algorithms, this document specifies servers to implement a new endpoint named /cert-algorithms. The new endpoint can be reached after a GET /dir (see Figure 1 below). The client does not need to create an account with the server, thus saving resources. As PQC standardization evolves, this document does not specify one default configuration or algorithm. ACME implementations can select their preferred (or default) configurations, but they should also allow users to choose at least in the first certificate issuance (renewals can be automated with the same configuration).</t>
        <artwork><![CDATA[
 +------+                       +------+
 | ACME |                       | ACME |
 |Client|                       |Server|
 +--+---+                       +--+---+
    |    GET /dir                  |
    |----------------------------->|
    |<-----------------------------|
    |                   HTTP 200   |
    |                              |
    |    GET /new-nonce            |
    |----------------------------->|
    |<-----------------------------|
    |                   HTTP 200   |
    |                              |
    |    GET /cert-algorithms      |
    |----------------------------->|
    |<-----------------------------|
    |                   HTTP 200   |
]]></artwork>
        <t>Figure 1: Obtaining algorithm support information</t>
        <t>Depending on the server's support, the server might implement one or several classical, PQC, and hybrid PQC algorithms for certificates. In this context, hybrid algorithms are often called "composite" <xref target="I-D.ounsworth-pq-composite-sigs"/>, in which cryptographic objects are concatenated in a single structure. If the algorithm supported by the server is a signature algorithm, the server replies with the corresponding OID; this is the same as if hybrids are allowed (assuming the composite model and corresponding OIDs <xref target="I-D.ounsworth-pq-composite-keys"/><xref target="I-D.ounsworth-pq-composite-sigs"/>. Nevertheless, by means of this new algorithm negotiation endpoint, clients can verify in advance if the server supports the desired algorithms.</t>
      </section>
      <section anchor="algorithm-list-definition">
        <name>Algorithm List Definition</name>
        <t>Upon HTTP GET requests to the /cert-algorithms endpoint, ACME servers reply with a JSON-formatted list of supported algorithms, as follows:</t>
        <artwork><![CDATA[
{
     "PQTLS": {
       "Dilithium2": "1.3.6.1.4.1.2.267.7.4.4",
       "P256_Dilithium2": "1.3.9999.2.7.1",
       "Dilithium3" : "1.3.6.1.4.1.2.267.7.6.5",
        ...
     },
     "KEMTLS": {
       "Kyber-512-with-Dilithium2-sha256": "TBD",
       "P256-Kyber-512-with-P256-Dilithium2-sha256": "TBD"
       ...
     },
     "KEM-POP" : {
       "Kyber": "Reserved-TBD",
       "FrodoKEM" : "Reserved-TBD",
     }
}
]]></artwork>
        <t>Servers <bcp14>MUST</bcp14> provide such a list with at least one algorithm. Note the distinction between Signatures, KEMTLS, and KEM-POP, as an alternative to telling the clients a different naming to support (possibly) different issuance processes. Moreover, the OIDs presented on this list are from the OQS project <xref target="OQS"/>, but they are subject to change whenever the Internet drafts evolve (such as <xref target="I-D.ounsworth-pq-composite-keys"/>).</t>
      </section>
    </section>
    <section anchor="kem-certificate-issuance-modes">
      <name>KEM Certificate Issuance Modes</name>
      <t>ACME Certificate issuance process does not require modifications when issuing PQC signature certificates. However, this document proposes the following changes to the ACME protocol for KEM certificates. Assuming that the ACME client has already performed account registration and challenge, Figures 2 and 3 show two ways to issue a KEM certificate. Figure 2 requires 3 RTTs, while Figure 3 optimizes performance to 1 RTT. The main difference is that the optimized mode does not guarantee key confirmation. The 1-RTT mode is similar to the "Indirect Method" of PoP defined in RFC 4210 <xref target="RFC4210"/>. ACME servers <bcp14>SHOULD</bcp14> enforce the 3-RTT mode if they require a confirmation that the client actually possesses the certificate's private key. If performance is desired, the 1-RTT mode is suitable since it reduces the number of signed requests and polling time.</t>
      <artwork><![CDATA[
     +------+                       +------+
     | ACME |                       | ACME |
     |Client|                       |Server|
     +--+---+                       +--+---+
        |                              |
        |pk,sk <- KEM.Keygen()         |
        |                              |
        | POST /finalize [pk,mode]     |
        |----------------------------->|
        |                              |
        |        Z,ct <- KEM.Encaps(pk)|
        |  ct                          |
        |<-----------------------------|
        |                              |
        |Z <- KEM.Decaps(ct,sk)        |
        |                              |
        | POST /key-confirm [Z]        |
        |----------------------------->|
        |<-----------------------------|
        |                   HTTP 200   |
        |                     or 401   |
        | POST /certZ                  |
        |----------------------------->|
        |<-----------------------------|
        |           application-pem    |

       [ ] Message signed by the client's
           account key
]]></artwork>
      <t>Figure 2: 3-RTT KEMTLS Certificate Issuance Process</t>
      <artwork><![CDATA[
     +------+                       +------+
     | ACME |                       | ACME |
     |Client|                       |Server|
     +--+---+                       +--+---+
        |                              |
        |pk,sk <- KEM.Keygen()         |
        |                              |
        | POST /finalize [pk,mode]     |
        |----------------------------->|
        |                              |
        |        Z,ct <- KEM.Encaps(pk)|
        |        enc_cert <-enc(Z,cert)|
        | ct,enc_cert                  |
        |<-----------------------------|
        |                              |
        |Z <- KEM.Decaps(ct,sk)        |
        |cert <- dec(Z,enc_cert)       |
        |                              |

       [ ] Message signed by the client's
           account key
]]></artwork>
      <t>Figure 3: 1-RTT KEMTLS Certificate Issuance Process</t>
      <t>Figure 2 shows the 3-RTT mode. The client can not use a CSR for a KEMTLS certificate, so it generates a key pair and send a "modified CSR", where the public key is a KEM public key, and the signature is random (dummy) data. The server then identifies and extracts the mode and the KEM public key from the modified CSR. Having implemented the KEM algorithm, the server encapsulates under the client's public key sending back the ciphertext to the client. The client performs a decapsulation and confirms the shared secret using the /key-confirm endpoint. ACME servers willing to issue KEMTLS certificates <bcp14>MUST</bcp14> implement this endpoint.</t>
      <t>Figure 3 shortens the KEMTLS process because it replies a ciphertext and the encrypted certificate before key confirmation. Since it is encrypted, clients without the private key cannot use the certificate. Having the private key, the client decapsulates the shared secret Z and derives a symmetric key from it (see Section 3.2). The symmetric key is used to decrypt the certificate. In this way, issuing a KEMTLS certificate does not impose additional RTTs compared to the 1-RTT CSR standard process, i.e., POSTing a CSR to /finalize. The 3-RTT mode, on the other hand, imposes the RTT related to the key-confirmation endpoint.</t>
      <t>Note, however, that key confirmation can be addressed differently in the 1-RTT mode. First, ACME servers could limit the use of this mode or ask for a delayed key confirmation, depending on CA policies (see Section 5 for a discussion). Secondly, if required, ACME servers could establish a TLS handshake with the client's domain at a later (perhaps more convenient) moment. A valid TLS handshake would tell that the client could use the encrypted certificate, thus proving possession of the private key. Lastly, for the applications where it is enough to prove possession of the account's private key (and not the certificate), the 1-RTT mode could be used.</t>
      <section anchor="post-examples">
        <name>POST Examples</name>
        <t>Considering the first POST to /finalize (Figure 2), which would be similar to a standard POST <xref target="RFC8555"/>, an example of a reply would be as follows. This example considers a CSR built with a KEM public key (Kyber-512) and dummy data in the CSR's signature.</t>
        <artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json
Replay-Nonce: CGf81JWBsq8QyIgPCi9Q9X
Link: <https://example.com/acme/directory>;rel="index"
{
  "key-confirm-data": {
    "ct": "9HwLdArXTDC/otcTWNWYcOgRxWOeUahZj3Ri7...Cl79urEXkhoUhWcqWzb2",
    "ct-alg": "Kyber-512"
  },
  "key-confirm-url": "https://example.com/key-confirm/Rg5dV14Gh1Q"
}
]]></artwork>
        <t>Note that this reply contains the 'key-confirm-data' and 'key-confirm-url' so ACME clients can proceed accordingly. After decapsulating the shared secret from "ct", the client can POST to the key confirm URL.</t>
        <artwork><![CDATA[
POST /key-confirm/Rg5dV14Gh1Q HTTP/1.1
Host: example.com
Content-Type: application/jose+json

{
     "protected": base64url({
       "alg": "Dilithium2",
       "kid": "https://example.com/acme/acct/evOfKhNU60wg",
       "nonce": "Q_s3MWoqT05TrdkM2MTDcw",
       "url": "https://example.com/key-confirm/Rg5dV14Gh1Q"
     }),
     "payload": base64url({
       "Z": "r0Sk+fqvfceIetPIdszNs7PMylb3G/B536mZDj0B8Rs="
     }),
     "signature": "9cbg5JO1Gf5YLjjz...SpkUfcdPai9uVYYQ"
}
]]></artwork>
        <t>The POST is signed with Dilithium2 in this example. Note that the client is sending "Z" back in a secure channel (i.e., an underlying TLS connection between the ACME peers), so Z is not being disclosed to a passive attacker. The shared secret Z is used to prove the private key's possession. The ACME server compares the received Z with the order's information and starts issuing the certificate. If Z mismatches the server's storage, an HTTP error 401 is sent. If Z matches, there are no further modifications in the protocol, so the client and server proceed as RFC 8555 <xref target="RFC8555"/> dictates, i.e., clients start polling until their certificates are ready to be downloaded.</t>
      </section>
      <section anchor="deriving-keys-for-encrypting-a-kem-certificate">
        <name>Deriving keys for encrypting a KEM Certificate</name>
        <t>When using the 1-RTT mode for KEM certificate issuance, ACME peers <bcp14>MUST</bcp14> implement a Key-Derivation Function (KDF) and a Symmetric encryption algorithm. Since ACME can be considered as a "TLS-enabler" protocol, and for simplicity of implementations, ACME peers <bcp14>SHOULD</bcp14> provide HKDF <xref target="RFC5869"/> (as in TLS <xref target="RFC8446"/>) to derive the keys for encrypting the certificate. The hash function for  HKDF is obtained from the ciphersuite (see Section 3.3 below).</t>
        <t>Following the notation provided in RFC 5869, for the 1-RTT mode, ACME peers <bcp14>SHOULD</bcp14> implement the following "two-step" Key-Derivation Method:</t>
        <artwork><![CDATA[
   PRK <- HKDF-Extract(salt, Z)
   OKM <- HKDF-Expand(PRK, info, L)
]]></artwork>
        <t>where Z is the KEM output (shared secret), salt is an optional and non-secret random value, PRK is the intermediary pseudorandom key, info is optional context information, L is the length of OKM, and OKM is the output keying material. The length of OKM (in octets) depends on the ciphersuite. This document recommends filling the 'salt' octets with the Key Authorization String (KAS)  and the 'info' field as the hash of the POST /finalize message. Note that the OKM can comprise the key (using OKM's left-most bytes) and Initialization Vectors (IVs), if required, in the OKM's right-most bytes.</t>
      </section>
      <section anchor="encrypting-a-kem-certificate-in-a-jwe-message">
        <name>Encrypting a KEM Certificate in a JWE message</name>
        <t>Section 5.1 in RFC 7518 <xref target="RFC7518"/> defines a set of symmetric algorithms for encryting JSON-formatted messages. The encrypted certificate <bcp14>SHOULD</bcp14> be sent in a JWE Ciphertext format specified in RFC 7516 <xref target="RFC7516"/>. Following Section 5.1 of RFC 7516, ACME servers encrypts M as the base64-encoded certificate using OKM. No Key agreement is performed at the JWE domain, thus ACME peers <bcp14>MUST</bcp14> perform JWE Direct Encryption, i.e., selecting "dir" as the "alg" field  (Section 4.1 of RFC 7518 <xref target="RFC7518"/>) and one encryption algorithm defined in Section 5.1 of RFC 7518 <xref target="RFC7518"/> for the "enc" field in the JOSE header. As a result, the JWE message contains only the ciphertext field and the header; the remaining JWE fields are absent (note that it could mean empty or zero-ed octets). ACME clients decrypt the JWE Ciphertext following Section 5.2 of RFC 7516.</t>
        <t>When receiving an encrypting certificate, it concludes the 1-RTT mode. Therefore, there is no need for the ACME peers to exchange further JWS messages. On the other hand, depending on CA policies, ACME servers could allow a POST in /key-confirm endpoint in a later moment, if a delayed key confirmation is desired. Such a policy could be use to limit the usage of the 1-RTT mode, if desired, for example enforcing 3-RTT mode if a previous 1-RTT was not later "key confirmed" or checked by a TLS handshake (between the ACME server and the ACME client's domain that was  certified).</t>
      </section>
    </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>KEM Certificate: a X.509 certificate where the subject's public key is from a Key-Encapsulation Mechanism (KEM) but the signature comes from the Issuer Certificate Authority (CA) digital signature scheme.</t>
      <t>3-RTT Mode: a modification in ACME to allow issuance of KEM certificates with explicit key confirmation.</t>
      <t>1-RTT Mode: a modification in ACME to allow issuance of KEM certificates without key confirmation, delayed or implicit key confirmation.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>RFC 8555 <xref target="RFC8555"/> states that ACME relies on a secure channel, often provided by TLS. In this regard, this document does not impose any changes. The first modification is the /cert-algorithms endpoint, which should be open for clients to query. ACME servers could control the number of queries to this endpoint by controlling the nonces to avoid Denial-of-Service (DoS). The second modification is a feature; ACME servers can now support KEM certificates in an automated way. In both modifications, one question is about the security of the supported algorithms (i.e., select which algorithms to support). The recommendations in this document are built upon the announced standards by NIST. Given the ongoing PQC standardization, new algorithms and attacks on established schemes can appear, meaning that the recommendation for algorithm support can change in the future.</t>
      <t>RFC 8555 states that ACME clients prove the possession of the private keys for their certificate requests <xref target="RFC8555"/>. This document follows this guideline explicitly in the 3-RTT mode for KEM certificates. On the other hand, in the 1-RTT mode, key confirmation is implicit. It is assumed that an encrypted KEM certificate is not useful to anyone but the owner of the KEM private key. Therefore, if the certificate is being used, the client holds the private key as expected. Moreover, this document provides a guideline on performing a "delayed" key confirmation, i.e., by separately POSTing to the /key-confirm endpoint. An alternate solution would be for the ACME server to monitor TLS usage by the client's domain, also as an implicit way to confirm proof of possession.</t>
      <section anchor="integration-with-other-ecosystems">
        <name>Integration with other ecosystems</name>
        <t>The 3-RTT mode provides explicit key confirmation, which complies with RFC 8555, and it is also easier to integrate with other ecosystems, such as Certificate Transparency <xref target="RFC9162"/>. However, the 1-RTT mode imposes challenges, such as publishing the certificate without (prior) key confirmation. One solution would be a delayed log, in which the CA awaits key confirmation or perform a TLS handshake with the client's domain. If full integration is required, it would be easier to manage if the 3-RTT mode is enforced by default.</t>
      </section>
      <section anchor="revocation-considerations">
        <name>Revocation Considerations</name>
        <t>Section 7.6 (RFC 8555 <xref target="RFC8555"/>) allows clients to sign a revocation request using the certificate's private key under revocation or by using account keys. For KEM certificates, revocation <bcp14>SHOULD</bcp14> be performed using the account keys. An alternative solution could be implemented as follows:</t>
        <ul spacing="normal">
          <li>The client performs a POST to /revoke-cert endpoint as specified in RFC 8555, but including the KEM public key under revocation as the "jwk" field and the KEM certificate as the "certificate" field. The "signature" <bcp14>SHOULD</bcp14> be random (dummy) data.</li>
          <li>ACME servers can distinguish such a request from the original ones since they can identify the KEM public key from the "alg" in the header and in the certificate. The ACME server generates and responds with "key-confirm-data" and "key-confirm-url", similar to Section 3.1.</li>
          <li>The ACME client completes the revocation process by POSTing to key-confirm-url in the same way as described in Section 3.1. The main distinction is that the "signature" <bcp14>SHOULD</bcp14> contain random (dummy) data. Such a URL should be specially created for revocation purposes so that the server does not verify the signature only if the shared secret matches the earlier encapsulation process.</li>
        </ul>
      </section>
      <section anchor="grease-csr">
        <name>"Grease" CSR</name>
        <t>When issuing KEM certificates, this document proposed not verifying the CSR for compatibility purposes. It is inspired in GREASE mode <xref target="I-D.ietf-tls-esni"/>, the Encrypted ClientHello feature can damage middlebox implementations. In ACME, servers might try to instantiate standard CSR objects from the POST request data. Random (dummy) data as a signature object in CSRs would avoid breaking implementations. However, ACME servers <bcp14>MUST</bcp14> allow grease CSRs only if the subject's public key algorithm is a KEM.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="RFC7518">
          <front>
            <title>JSON Web Algorithms (JWA)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification registers cryptographic algorithms and identifiers to be used with the JSON Web Signature (JWS), JSON Web Encryption (JWE), and JSON Web Key (JWK) specifications. It defines several IANA registries for these identifiers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7518"/>
          <seriesInfo name="DOI" value="10.17487/RFC7518"/>
        </reference>
        <reference anchor="RFC8037">
          <front>
            <title>CFRG Elliptic Curve Diffie-Hellman (ECDH) and Signatures in JSON Object Signing and Encryption (JOSE)</title>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document defines how to use the Diffie-Hellman algorithms "X25519" and "X448" as well as the signature algorithms "Ed25519" and "Ed448" from the IRTF CFRG elliptic curves work in JSON Object Signing and Encryption (JOSE).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8037"/>
          <seriesInfo name="DOI" value="10.17487/RFC8037"/>
        </reference>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="I-D.ounsworth-pq-composite-sigs">
          <front>
            <title>Composite Signatures For Use In Internet PKI</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="John Gray" initials="J." surname="Gray">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="Massimiliano Pala" initials="M." surname="Pala">
              <organization>CableLabs</organization>
            </author>
            <date day="29" month="May" year="2023"/>
            <abstract>
              <t>   The migration to post-quantum cryptography is unique in the history
   of modern digital cryptography in that neither the old outgoing nor
   the new incoming algorithms are fully trusted to protect data for the
   required data lifetimes.  The outgoing algorithms, such as RSA and
   elliptic curve, may fall to quantum cryptanalysis, while the incoming
   post-quantum algorithms face uncertainty about both the underlying
   mathematics as well as hardware and software implementations that
   have not had sufficient maturing time to rule out classical
   cryptanalytic attacks and implementation bugs.

   Cautious implementers may wish to layer cryptographic algorithms such
   that an attacker would need to break all of them in order to
   compromise the data being protected using either a Post-Quantum /
   Traditional Hybrid, Post-Quantum / Post-Quantum Hybrid, or
   combinations thereof.  This document, and its companions, defines a
   specific instantiation of hybrid paradigm called "composite" where
   multiple cryptographic algorithms are combined to form a single key,
   signature, or key encapsulation mechanism (KEM) such that they can be
   treated as a single atomic object at the protocol level.

   This document defines the structures CompositeSignatureValue, and
   CompositeSignatureParams, which are sequences of the respective
   structure for each component algorithm.  The explicit variant is
   defined which allows for a set of signature algorithm identifier OIDs
   to be registered together as an explicit composite signature
   algorithm and assigned an OID.

   This document is intended to be coupled with corresponding documents
   that define the structure and semantics of composite public and
   private keys and encryption [I-D.ounsworth-pq-composite-keys],
   however may also be used with non-composite keys, such as when a
   protocol combines multiple certificates into a single cryptographic
   operation.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ounsworth-pq-composite-sigs-09"/>
        </reference>
        <reference anchor="I-D.ounsworth-pq-composite-keys">
          <front>
            <title>Composite Public and Private Keys For Use In Internet PKI</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="John Gray" initials="J." surname="Gray">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="Massimiliano Pala" initials="M." surname="Pala">
              <organization>CableLabs</organization>
            </author>
            <author fullname="Jan Klaußner" initials="J." surname="Klaußner">
              <organization>D-Trust GmbH</organization>
            </author>
            <date day="29" month="May" year="2023"/>
            <abstract>
              <t>   The migration to post-quantum cryptography is unique in the history
   of modern digital cryptography in that neither the old outgoing nor
   the new incoming algorithms are fully trusted to protect data for the
   required data lifetimes.  The outgoing algorithms, such as RSA and
   elliptic curve, may fall to quantum cryptalanysis, while the incoming
   post-quantum algorithms face uncertainty about both the underlying
   mathematics as well as hardware and software implementations that
   have not had sufficient maturing time to rule out classical
   cryptanalytic attacks and implementation bugs.

   Cautious implementers may wish to layer cryptographic algorithms such
   that an attacker would need to break all of them in order to
   compromise the data being protected using either a Post-Quantum /
   Traditional Hybrid, Post-Quantum / Post-Quantum Hybrid, or
   combinations thereof.  This document, and its companions, defines a
   specific instantiation of hybrid paradigm called "composite" where
   multiple cryptographic algorithms are combined to form a single key,
   signature, or key encapsulation mechanism (KEM) such that they can be
   treated as a single atomic object at the protocol level.

   This document defines the structures CompositePublicKey and
   CompositePrivateKey, which are sequences of the respective structure
   for each component algorithm.  Explicit pairings of algorithms are
   defined which should meet most Internet needs.

   This document is intended to be coupled with corresponding documents
   that define the structure and semantics of composite signatures and
   encryption, such as [I-D.ounsworth-pq-composite-sigs] and
   [I-D.ounsworth-pq-composite-kem].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ounsworth-pq-composite-keys-05"/>
        </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>
        <reference anchor="RFC5869">
          <front>
            <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <date month="May" year="2010"/>
            <abstract>
              <t>This document specifies a simple Hashed Message Authentication Code (HMAC)-based key derivation function (HKDF), which can be used as a building block in various protocols and applications. The key derivation function (KDF) is intended to support a wide range of applications and requirements, and is conservative in its use of cryptographic hash functions. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5869"/>
          <seriesInfo name="DOI" value="10.17487/RFC5869"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC7516">
          <front>
            <title>JSON Web Encryption (JWE)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Hildebrand" initials="J." surname="Hildebrand"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Encryption (JWE) represents encrypted content using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries defined by that specification. Related digital signature and Message Authentication Code (MAC) capabilities are described in the separate JSON Web Signature (JWS) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7516"/>
          <seriesInfo name="DOI" value="10.17487/RFC7516"/>
        </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>
        <reference anchor="RFC9162">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="E. Messeri" initials="E." surname="Messeri"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9162"/>
          <seriesInfo name="DOI" value="10.17487/RFC9162"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="KEMTLS">
          <front>
            <title>Post-Quantum TLS Without Handshake Signatures</title>
            <author fullname="Peter Schwabe" initials="P." surname="Schwabe">
              <organization>Max Planck Institute for Security and Privacy &amp;amp; Radboud University, Bochum, Germany</organization>
            </author>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo, Waterloo, ON, Canada</organization>
            </author>
            <author fullname="Thom Wiggers" initials="T." surname="Wiggers">
              <organization>Radboud University, Nijmegen, Netherlands</organization>
            </author>
            <date month="October" year="2020"/>
          </front>
          <seriesInfo name="Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications" value="Security"/>
          <seriesInfo name="DOI" value="10.1145/3372297.3423350"/>
          <refcontent>ACM</refcontent>
        </reference>
        <reference anchor="KEMTLS-BENCH-IOT">
          <front>
            <title>KEMTLS vs. Post-quantum TLS: Performance on Embedded Systems</title>
            <author fullname="Ruben Gonzalez" initials="R." surname="Gonzalez">
              <organization/>
            </author>
            <author fullname="Thom Wiggers" initials="T." surname="Wiggers">
              <organization/>
            </author>
            <date year="2022"/>
          </front>
          <seriesInfo name="Security, Privacy, and Applied Cryptography Engineering" value="pp. 99-117"/>
          <seriesInfo name="DOI" value="10.1007/978-3-031-22829-2_6"/>
          <seriesInfo name="ISBN" value="[&quot;9783031228285&quot;, &quot;9783031228292&quot;]"/>
          <refcontent>Springer Nature Switzerland</refcontent>
        </reference>
        <reference anchor="VerifiableGeneration">
          <front>
            <title>Proof-of-Possession for KEM Certificates using Verifiable Generation</title>
            <author fullname="Tim Güneysu" initials="T." surname="Güneysu">
              <organization>Ruhr University Bochum, Horst Görtz Institute for IT-Security &amp;amp; DFKI GmbH, Cyber-Physical Systems, Bochum, Germany</organization>
            </author>
            <author fullname="Philip Hodges" initials="P." surname="Hodges">
              <organization>University of Waterloo, Waterloo, ON, Canada</organization>
            </author>
            <author fullname="Georg Land" initials="G." surname="Land">
              <organization>Ruhr University Bochum, Horst Görtz Institute for IT-Security &amp;amp; DFKI GmbH, Cyber-Physical Systems, Bochum, Germany</organization>
            </author>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust, Ottawa, ON, Canada</organization>
            </author>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo, Waterloo, ON, Canada</organization>
            </author>
            <author fullname="Greg Zaverucha" initials="G." surname="Zaverucha">
              <organization>Microsoft Research, Redmond, WA, USA</organization>
            </author>
            <date month="November" year="2022"/>
          </front>
          <seriesInfo name="Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications" value="Security"/>
          <seriesInfo name="DOI" value="10.1145/3548606.3560560"/>
          <refcontent>ACM</refcontent>
        </reference>
        <reference anchor="OQS">
          <front>
            <title>Post-quantum Key Exchange for the Internet and the Open Quantum Safe Project</title>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization/>
            </author>
            <author fullname="Michele Mosca" initials="M." surname="Mosca">
              <organization/>
            </author>
            <date year="2017"/>
          </front>
          <seriesInfo name="Lecture Notes in Computer Science" value="pp. 14-37"/>
          <seriesInfo name="DOI" value="10.1007/978-3-319-69453-5_2"/>
          <seriesInfo name="ISBN" value="[&quot;9783319694528&quot;, &quot;9783319694535&quot;]"/>
          <refcontent>Springer International Publishing</refcontent>
        </reference>
        <reference anchor="PQC">
          <front>
            <title>Post-quantum cryptography</title>
            <author fullname="Daniel J. Bernstein" initials="D." surname="Bernstein">
              <organization/>
            </author>
            <author fullname="Tanja Lange" initials="T." surname="Lange">
              <organization/>
            </author>
            <date month="September" year="2017"/>
          </front>
          <seriesInfo name="Nature" value="vol. 549, no. 7671, pp. 188-194"/>
          <seriesInfo name="DOI" value="10.1038/nature23461"/>
          <refcontent>Springer Science and Business Media LLC</refcontent>
        </reference>
        <reference anchor="I-D.ietf-acme-authority-token">
          <front>
            <title>ACME Challenges Using an Authority Token</title>
            <author fullname="Jon Peterson" initials="J." surname="Peterson">
              <organization>Neustar, Inc.</organization>
            </author>
            <author fullname="Mary Barnes" initials="M." surname="Barnes">
              <organization>Neustar, Inc.</organization>
            </author>
            <author fullname="David Hancock" initials="D." surname="Hancock">
              <organization>Comcast</organization>
            </author>
            <author fullname="Chris Wendt" initials="C." surname="Wendt">
              <organization>Somos</organization>
            </author>
            <date day="24" month="October" year="2022"/>
            <abstract>
              <t>   Some proposed extensions to the Automated Certificate Management
   Environment (ACME) rely on proving eligibility for certificates
   through consulting an external authority that issues a token
   according to a particular policy.  This document specifies a generic
   Authority Token challenge for ACME which supports subtype claims for
   different identifiers or namespaces that can be defined separately
   for specific applications.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-authority-token-09"/>
        </reference>
        <reference anchor="I-D.ietf-tls-esni">
          <front>
            <title>TLS Encrypted Client Hello</title>
            <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
              <organization>RTFM, Inc.</organization>
            </author>
            <author fullname="Kazuho Oku" initials="K." surname="Oku">
              <organization>Fastly</organization>
            </author>
            <author fullname="Nick Sullivan" initials="N." surname="Sullivan">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="6" month="April" year="2023"/>
            <abstract>
              <t>   This document describes a mechanism in Transport Layer Security (TLS)
   for encrypting a ClientHello message under a server public key.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/tlswg/draft-ietf-tls-esni
   (https://github.com/tlswg/draft-ietf-tls-esni).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-esni-16"/>
        </reference>
      </references>
    </references>
    <?line 327?>

<section numbered="false" anchor="contributors">
      <name>Contributors</name>
      <t>Lucas Pandolfo Perin</t>
      <t>Technology Innovation Institute, United Arab Emirates</t>
      <t>Victor do Valle Cunha</t>
      <t>Federal University of Santa Catarina, Brazil</t>
      <t>Ricardo Custódio</t>
      <t>Federal University of Santa Catarina, Brazil</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+0923bbxnbv/Iop/WCyIShRN9uKT05lSbYVS5YsynbirKys
ITAkYYEAjQEkM4n/pf/Q1z71/Fj3ZWYwACHFaXtW29VqnQsJDuay79dxEASd
Bw8edB4IEeVyWgSzOM/SQIYLFSw/hamaZUUsizhLO50iLhK1L7oHh2fH4uLN
oThIZlkeF/OFeF2N63bkZJKrGxhIs0gYBNN0O1EWpnIBE/zBQsHmVieUBTzI
V/siTqdZR5eTRaw1/FislgofRmqp4H/SopOWi4nK9zsRvLLfgWU3OzJXcl+8
hmU7t1l+Pcuzcmm+d67VCp5F+x0RiIOyyBbwWiQOVV7E0xiXFWcylTO1gLnF
cXqDu8TPOP6H4e7mE3+sxqcXmS6CN6VMi3IhDvPVsshmuVzOV53OjUpL2JQQ
dgsbB/gFQFZO9sXVsyP4luA8BX/ryLKYZzluDn4RYlomCcPsIFGfZRrlCjY9
K3WRiRe4MxqV5TOZxr8S8PbF26vnF5cD8SyXv8YJ/a4WMk72hbRTEOT/qSym
y3yoonI4yTudNMsBEvEN7LaDIHffcIJXx2dXp+N9cXR+MhxtDkejnd2N7e1H
W1tPHg23d7a2t3c3vXHBs+PXhy+Dk/Or6o3NzUcbTx49DraDze1RsLX1eOtJ
sPXLHr31TuUATjlJ1AuVqtwco7bW7s7jvc294fbu3ib8h946fzNum3579CTY
e7Kzux3s/rJFA4FQvYHbjzdSWZS52tre2Rt1OkEQCDnRRS7DotMhyo61kCIE
ugYUJ2KZZ0UWZokAmAgZhiqhLaYz8fLq6mIsZJQtcccC/lPMlThJC5WnqhgI
ydSFQ6MYcA6ThR6ZAT2X+BvOe6smQqv8RuV6KJ6pUJZaicvnh+Lx7u6ukDBy
oTRMLwsxyYq50HEE33thEiOVAlLN232hy+UyywvayjKPFzJfwVkcTcahkJZp
tUhVqLTGIbgJfMXb4EAQNKIMVkqzAnguTMpIVe8Lj2cRTCHQUq7gAC+zWwWb
GcArIoln80Jk07u5RPQAQ/2BWMh0BQebMXq8ZWSCECVy1CKUqZgoAfCJAMJJ
kt1aGEbxdKpyhAcgM1JBNp0CiNRwNhx4097A/pblJAFAgCSAH35V/SEgDfAY
xXiSgb8eSblFPGOiFEgmIJdi2If6HGvAsS7DOeDHUP5A3AKE58BwyyRb0VNv
Mc0kBBwOm0QQw5RDcTUHegPRWJLAAbQC5U1gAThnO6QXKpwDu+sFTYc4wklU
bQwBRnsg8XaO1ALYuiES4n230mUol3ISJwAUwGmHOWURR1ECQvQBknmeRWXI
mgHX/zPCVPRw331ktUhN4xReAlpxBP/bb/8An/Hjly9DJkPDTLBlFsLNHcs0
VASQ98BKY2alAZB0CaiSGs9D5J2l03hW5h7Nao1LM0BwmEqJXWBHCOZUJVpk
MFmDt7NpoYAQV0CIThRsICStuEA+luE1TAOD8N1TVTzUAAOaHYd9VGFheGwO
FARbKwDzJa4M0l0CR4dIsHZNnGcW39iTZMTmZRoXzLx6pQsFvBItYqANxHaW
M64j4MUkWwI8cF4zK0wRk9jRMcIUQZSsaPg0V8rAXC9VCDCG3+fZLRIkPTVC
BxkxV59K0F0oLj104O7NWJZK4haI2IlDAHyNtIh4zUCcMM6RSEUXQJRNuyz0
CHe87jxLIgMtEMogWPC3Sn4CjGM0C3DfuegxniQwGOjAVKAuBXY/gKeIUSC/
G5nEUY0cBjSj2RCeEskLAJ7Cf3OxyAB63SOe7h2/rKKu6B296/tQ6GmQxZm/
cZzK0p9CCLH+MAtZAbyUMEVYJjL39wyzAQs+AyyBSkpWhmwctIo5IA14XC11
JclpVQ0SSaWOp2uIGorncY5CTLotgt1UGNmTZulqkQH7gM7LSpSqfBqQGrBm
5ON3CKYV6ou5lfuEs7ggTUq6K1pDo0xgrQhYIwdjBjkQf/PmBDzWdBFoPZXf
xlo1QYqqCcAKqsxt0YCUST1ZAb4t2RuWBg1S3CpliHSpkDdI6xuIkogC22sa
Jwns3TG7FCQseTXSFSRgvB0t8DS1M/mcAcs7WVNJhhokxwqmjxDFkoiUUEKo
Sy0mBs23eFWclqGT3YIZpefxEtkDCdhjiHioQB/67IDbWCiZajOamXwOdKbS
GRDJYZmjCsEtIcUGm6OBOHo9hv8neYEG38HpxWv6niMVwlOZR6BY6YQnx1fP
gQ8RfZoGTBQeB3a7zEiJs4b+7be/ngRHw1gVU/YJ2BIG8RYU2bVKURGcSl1U
kCEwVnLdFwfVgQc+ctrFFexRgyvB7OGprmAMRgM+vTSv9Q7Hl31LYzWkeRLM
yBPFVOFWTCP6DjOAsTEVyCYrkD8w+y3uLLseNOk6AiwmmYz8eVAp1UQMc54h
ehgCp2aTFQXZvmNdJiKkV4dXT/AN7PacQId9bViR0aBhEENgLIEDhQI0qx2Q
5aRssSGNImGTR2RgEM0IRDHYScRs9APrJ2O/qiSJl2yBA+fe+PZg93i8tbvX
NVbCo93R4y9f2AYuSP0YSQNonWdlErkp6Sjd42hrd3f0pOtNaMyNze1HSGXj
GE0JHLtA43imyECgc0wztqvwx+/H56/Z2HC2pSX9amdgvzBiq8XsbiJVgFfG
LGEVLYiaskDbvjLrcgUCHeAYT5tK1RnmvslfrYOmpq9N4CNwO+u9hkYF68MR
WE37gV7B43YnMrogM/aVWnUH9B0ouYtr4GcHARcPAH1ojbkBijTC+97wEWox
ZJaFkYPg8y0EeTtOGoIzphABLIz+wNlwmImNd2S1ngPOdQqmS4zm/Q2ZiPHU
PyAe3YEvqwOsWrrFOarhpin/WY3WJDaYX+hT01Cf81DyoNgZX/pMGCr0PeB9
leewdq+OgL5xGrpgL8okgPcCGtd1Bi0SVIpWUtM/hLl1VuYh0bSawlliEu3g
s8kbq2XuBrk1jqyYIvYK5yq8hvlhemBWj0K1gKPHif8GmPoRs4+FOlgJqVIR
TIxGIpC/uJUkgEQRL1Sb+qPjWBgaAWX0GSJKSXDAyFjzMY0ejKfIXp+Mr5Bm
NHjzIc3yB+6p7zWTue20nHHjjtCcncfwcs+43eDSPpdJaOXrGJzvNNTfAM3d
oBIERPPqyHNg9rOF0+YAa2AXsD2WSyXRQIgXMZAnnuLVaoLGtdRupra9oXsq
BRAOOh9yqYG46fGZ8yN74AX2vU0YoQS4S1AVRUah9Z6dvDoGI+DN4UAcJmDY
gVt7Fh4DZkM0qsfZwgJd13aPkyGvywm4GLOMcIaaY5nI0JpzNBuQj+/rV951
95IlPsLRSH/06a2chgOhXMN1kN1TnH4CfFYmGE4CGcO8feiHQdCMBs2eKBAL
hXCIzxbLEucCcwTQjuoAxRVGAbwDEQYtwTu5CvtFgQNLoUaLTTioO19N8jgC
vyFSsOkwW0zi1JDtwhoT7ecfinMgY7QF1Oclmbcg4QbWrkyBGsBGRVIZ+I4Z
WPyEt3lmbOUJ6ufaCUTP2iO4q76JKykCIih9ZErNXDkUAJLUmBZIcvhS5exa
PqcVJyi7GdY1J7Myl4EUZsCmmrXPJwNzdF5kwXZFMW+GXNCyU5/h2LjenEgZ
aGkRk9vtR2oQo8AAJqAB+ONPiELzzFCcdtE4x2uk4XkBkE9zeQ1PnG8vKYzj
gFeT/NLO7RviRB78lqcx9tELbQkD4gGlI4m6J1uPHxH5S09CNB2JwwNwdciM
By5ohu+swK0dhoWZtx2Uk+eMB5ZHCJGBePG3f03VSpdCoec2RMvqFtbFsADy
WhknRosFSXytnB6C36xR2IAGIqgt7ovoYjrIcuvmsprBiCjLA+Av0BTRfbNb
XYKwomeoreAoaMxJGxw1cd0E4yNe0PIiuzCYv3EbFDO3Q4IYrKfZeEChF+Xy
diLDa83OzH6nE4A0FFNp3A+zX9A31uvhSUh8I1Kf51mU4RmylNzVBHc/m/sv
h6SZNQk2UAVJzGEiRlKFT2u+Af9hZIhiKCyBURGILtghgaystInUMaI8IDFn
95mi1kVwgw+nUWZVEsD+WDlei0WZWss+BCXqrCXE3UPt4GwsP7VYznFR1hR+
6BOfMeW1BCUR+yHsyTGzjBea1UhUGjWA28Vp6+HubIKBtiou0ipe3LQc1aIp
JyviTm3eBbmDJoKVWjgYFaY1pfHksLYHHoKeM1CdOGknKsMxxH9/OiJcmcP1
iLBlwxlFzqeJ+hxT1G3lxjmdQUI7YSVTj1lUS/pqYooqwqkJNt4ceBOUomBq
YJSS5T5AYQGmH2/LHY3ouQoy2sG4OT8yQxEse942brfxX7ONLHf8vy6TTMjG
RVuNNeKRnU3oDDHM7YeyW7Odnc57XNMHrjnsoMJ54SHD4jNiRe6helA3nimG
T6+y24kT+SAy2pURSDLn/OLqBJzSEZqscJL+Pphp7AAYy5mSEChwfOjxQyQe
0KuedtFg2HPksZbxZNsQRqHdytGkE5TCOagfZNMW9UpL9Bn5Llbvgu/GHwAj
Ck29yhW+MyHgHXWLbNe7z4piQ66d6dsaWuvnJ+q688RW01YnhrfvPhiYV3yW
5sFqePcPtE0HCi7OL/5nnujPoUr0ODoL9NxK78uE9AxYUxxNutMoMBI4inVY
UhkABhJegFhLWSrJNp2BpkuCgbjbzLd4esagqxtTfRcFQzmvY7Jkqzwi7L1K
plllBHNZD+Uku6pszioBzuEfX5xX4s4TvZVwQ3ihEQBCTxYW4DbkjttmfLOz
RvLTH1iRhYvxVHiN2U43Aq9EXTpme4pDUbCAr1Ragh5W+Msoysm8mxtbhNX/
Q+c0tFiQRSNDWYlBtKbJF8doINMTu7H2MAFYKfXIpzYSzsjDPuZdFdk4ADn0
/ddFEMMN16liqYb0GREo7lneBx6xqDRagsda1KOeLJr9bFhbJNPp0xiD1Ujj
ef0YDbutnUysOkBr1y4COEvVrdscxfEjsRHWN2/Twt5Akz3PMUiCYokC6VK8
OL4SGxFss6eVEs85QzWCkXBMI7fNOZ07gZjGPa3FuipTgHduFK7m+JKLP5Gn
gsZCM1qhbrKEnP86QCo/hiBj0KymskyKRlo3y31vjcODDfQgHO7ATw9LCXje
fn1izVznh5aJA5kagKEYS+B5o+sN/IfSzeWBpphra09b90CqqFuYy+JHulR6
BUwUurXtoAh8ytnE757KvMBKp+864puA/r4R7X/25474nUHz+x0D7c8wkPXQ
nQM52/47Lf3N/Ut/w0vT9PDn6G59Uh4U3Pf3nRn09N5Rv1fLNf4wjiG2Njer
5e7YeH1PbuOAsyDNEIH/yzbekBP/TRt/umGJ9umGIeNOx8qefXE+sWGR9dyJ
K1BD+/uIKgHJOk49ufPQRfZrKY0F1SNVktSk9W00z0XiBiic2CYwEbxGEHAt
cMJxi1hXISvzYiMUytlkE67qggMN9kZcKMpnYQoUhKgGsBTzYPkpcD8HoMo0
mhMgTrjIqN3NxRVgA7illCQI5j4wVjpLMKSblyGqQ0pCtualKrVoAEZ58Zao
dA2qGFpDZeXEVZiBMNXLjBFzfnL0LcOmYULGUwMk3jhJUpTBVDXgxRgYBhSu
TNiBac6v/wB8aBN/+fI1IB6CewdngpUT8hf99DidATVquyNu9ezAGXco0Mnj
X92dhDKQr9t6nhonw6RyPk9j0CNHWDUVMwO8BTAwayF3G/NGW692jdurTdbc
TUThylTqUHIzYB5Dikhijm5UNOJbLlLbxOh+m0b6jcSB6JLF1t0X5js8cTmT
LXjcHQ23h3vD0XAH/rs13Np7NHwEn3e6Azf+Ymt375f1l57AH7zxaDjyxrph
211xx+R7w93qBTEcDvnzF/Osy8Z8bccUsgt2R1sBAiqo9hLoucS0BCx19eyo
seeg8Ro9u/Pdzn0bQs8QD9TYEr57qQiVUVDfgI0tEhjaxnzpfGmXxaaKTpy9
HV/ZWLMNwRJFMLFYOwclqWd3ucIEcNqKOOUUsK27cRljIB9bOolsbU5INEXh
riq+j+SsjPvilTdJzy8DM9h4N1ZR9Iwvt+p7w5p+LcrusyxX2Y2tFyF5Aiah
huGYlDeCnQ7t/Goa+GZsS/nQ/YOvKKKdlUhudkmSmS1DjEBTPEs1Swq5KF4b
87dyLL9GqvUpVIXeoR8FOLHHPAOpqU1t82Gb/elCU9bGNmVQJn4RGqO5VklG
prvTCnVF+LKqA/NNeBP81o2Ylo3L+4U1taLrRriPXAenHoyb6/tilCUy5WUm
744Sy7gnWP5O9ZGUGk2jqiRmYDwfLbboh21Kc1D44Fau7stmDK3PtFXV5G2L
y6srTRXBifOptsljXVBk2GyNMABTj3A8+1qUy7b0GipX3EA+tXmfM4oVymal
zCXQEkV/2FEwFhLPOQpgen6HfW1MIluYd09Aj+ZIpWeUAuhywfZFszh3Z2u0
aQI8+NEV51odMn55/vb0CDQMHMwE5be9dafMFZa6ZG2ba2UpEiwVytIiDxOb
NuMRlF2Ib0zIi2waH6hUXEzalLm6AYIyLigKz3nkuDBxf16Fm0pI53GYzKlV
Kp/OjCCKF6rdC8O/r/bE2Fz+Sm+Mvn2tR2bW+WqvjJe69+/3auDyeqCvxdOA
Aoyv1Gqm0l6/beBXzyguzkHXgApKZYLZnJ9gCUTYz82BX+Om/Mmlzd+HAbCB
ORMXTPSW1/3aQBjwNTN+jZf05/b4wW7sSNHGwgIQ0G8Z+PWnZoAD+wSGGcVP
H35uGfjVAP/PnHrNsb37MKAXdjZHrYdBCfHh3lP/XQ/jRUSDpVrw0nbkT+Jn
kLFUVtgIwLPUe6g7/lRV5P9ed3lr38hZEwVvNQMuWMv/v7j6vyau+A8siV+Q
M2AwfOzBe/ClNhCkiRt039L/jXLNHAD0Op7A7ra/PvCPlv778uP2vjE2voof
ne2I5qZuWE216Lvtd+AkIBaNcl5sPfk1wOYTsGlMiQF11KBhuJRxbupBKf/V
dSlKLOi1eRTKglV1RxQCqtciVdmyygnA3Ao8BdeoF5WLBfpcspC16niqb3XV
+WxMqc/UfKldQZqbulH+5Lwuf8+uctWF9FT1cnuwSrkySIUlqpHKawivtQea
yCJW9/CgeAkQwvBeVbtH2SMfTcYIJedU+SWXHLkiNWviYHOJwR6twlwVXrFA
TSHbgE3D2PaSeeyWrFOB8d2raCc5ZG6+il6R9OBUqfYLIaxbODH9qGQic5xP
+oCw6PI652o5QyyVa/FKxtbupi2ZVwdeFSOXcHDthLPykQcsCzTcAUcKjVdq
NcsVQlQbCj6YlrmcSmak0KvFQhW5T4GwY0qT2bL27eGWyZHVB8eUrKckGSxK
XX9rG7YhY/AvB16TVksyu2rDRd9fuXZVmZCfSUFSOoghS5Y/KCJcV4KrgOGq
DdRdpukFRsFrTo/xaSoZNLCRdT+hy/tgGOLAXCWyqNb3CLgeGwWqa+sWa9KH
S4VxrhkmdgEcqkJreHSul63GIlw5mICzy7BHorFRXJI0KD3BJjDVBXCCFSzU
3MpARH6K4fAA/T+snNd1QthtqVLw+rnA/TWeb9S6TfAuwR+N9dy0mblaVC+q
bkWUqXenygcEey56IHTmQNncoAhr3qgUB/fhARWZiAMumm/OTWtjZG3NAa/q
Lu/kbpPcta1YxlOnJOy0yYZV/5YtLfAsZW00jxUHXP6Ymaa29XmNJq5HALiu
mYqw64zWXwsA8NlMIzl2Nz94wMbc8WeJ0hLUMhY+xygJjEThBC4N8plF9Kz+
7tv271s7uRdmkRUf0hR+mcyAWj14Yep7scF4O08VYTetH3ZwaPaoDRdjJa6N
yzbVZ89Fofss5FBHk4q27AQzYNbMKvTWyAa6aBuj4YjctPNXCCXQG0VwRfdy
eBjd+KiztHOJNder4DWmSffF4Yvp49H375/pT4/frE5mF4fxkzdPfuicxun1
vng6L4ql3t/YMIcbgkjbwFbADY5NZfnqu29Byvyli7d/fO5SYqHryZkAz+LC
9d2wwKj4k5e3p9FB/sPV0eFGVoRX71+//zE8n11+fn+u3sr5h4/bl/Gj4XB4
mDx6UubHP1zPs7fz9+Gn979OtkyEHGbC/AnO5kCIUXqKy9c2UOYJjmo7iDds
43K2G70b7byYj9507wq+m/C5NDqbCcLUirPQfdg8+kNC68PGhh6iJVir9UTJ
SrrAREVzlGxUd0zlIJ7JYii/riJJCSJ011oWLW8Y+W+FqHh7edpKS2uxBx8y
wlJa52WG16N4wLyP6EAnfUOU5/JOGEum5hhADVYS7e0AVHpVAsWg1ssrVcmT
6zi6C6FEmQC+YkPdnE9fzV+/3du8nXnvUmkAvv3mF7199j77dLW5e5VH12db
Z1dH4a038j9CNvTml75NDS3lCptF7zjiB5w+3xxffzP9dDMN1YkqLk4i/etr
/ejibJVMtl9sPNvd3lt8OPq4+ezxpf7L2vxOKBBPhZPZ7vfnoxfT3R9PP378
FdhnvLx+Ow2jCxk/Kd/9+OPddI2WBeE91tbhInFVgd/VCVo4CJ8XHMFR9xYr
ZTgfW+ic6663epuOZyBPMvWTFb5Rb+N2aakq/4CFx31yoj7gSqhTuG8ZlXuS
aXtJwxLLBbDdoyjwtgfbC9ywKT1TsOrS9hQXqjGn4ngKv9PT2Ha2pZi6AyOY
1tkFVJiGNx9UdRG2IRbzyne18mLA/INYxBpeCefWHnbVEyBxJWZFzFUFphkR
o24M+8JOwG+TOMCwfo5ljGJa5mQt1nNIRtPY/M6gcUeC16noJJS+o7Y0ikPs
93X2rBVvdGgXonctiHG9XIO2aa4goKYK229N5gBYA0foA+AM7uYWYwFVPUGe
W9/pvEfXtvLgPFujJYfllax7he4NZ42a9gLaB6P0eWnSqL1XR8/7poJ17JwO
u78s9fOw7GaxAmCT2hoNDFwpuliyqlJMhnAPqUEN3QZChZhYmBliaTt2ONRL
6WoHMPkfmyt+Cds0ONt9vPcE64Gla7UyuNzZ2fvypc9OUh4b1mgD+RrxIpfM
JZjLUwsWahygRbGXhOqHsNXGhg3YZcW8j2p6cNu21hFcYpeYpDxQVrgeC+61
MqkwPFBlyY48X2kdHr7/7Wc+uyAdA7y1o9vENKfhWsspQBpfXL7CIBieNDjm
6ElPywS8nw99/P381Zn3+xLw2INXBiQeBuK03y6Z2QD/YEt0qB2pLJYluru+
PEOxCItRVCg1FbiSq3JA5QVG6JlIELgcJcAEd2zmjTHhvVBRjNdOLbUqo8yM
JVcd90jos/OaaipftsEZ7GyYuMWWjykemkkWT29+NfuHiRHcWFGJHdNMOrU3
QUvAUcBIKHTfeHuuG8kjm+ZtTSCLM+A+HDyNq9qEhwifh2a+SkpjC+4B32ph
al3HBXkXvVcH475wcZSHeNSHMKNKiEMLS+jG92kEnc0tBU01iafiK2cWoGm0
YyzRYyEFv4OQT9S0CBbYvITtTpqFyglWFuHkvMt3ZHyDs3vyDnVizY818pwn
y7G2zpuNBenxPWKTNfb374/tKbDqxHjT4GMYXsMrHuq3PXBemgI0iiuTnBRs
lOiRBKHFGzVN9nIHpob22JXhX/TkyOSwmz2sgl884XovBGx0r9rzHqbKK8ni
nxE2b8c3wgJmT6AXLBWwbYfx+yxqbNUhFemASE3OcqVsZ51XB8HkgcfgKILx
4Zt6yN5YgAOPuDjg2CkYq3Or/vkuOGldu0+yqQ0Bi5497U7ttHWMMuFhCVGb
FvPrENph16APK5e7MJvdiCHV78/Hx2IOih+NtQO+9Ae8HVMl6pFi5W1RW0Ej
+mu407Asz/etMdAWpnAVJ6NxprpxQlSEPTGGT2MbZMECQ2yNRBWbi19VngVY
d8QCaVh33/xg4hoxrlPYlk9hQ2OnsBFp7lXwlGwttEO740v/9Fq47ap2/QVH
/9OM2wL8DlBDUqDf1WdT/2Qtw+/fjz0ubOkZuSvs1ho+4yp8aZyLtD2EzizM
ETOOi/HNKnfG/rwiEtcuQ9tY1UJIeD4/zIjkY6S1bxrAUq4ihYSTCeNwwQwe
tF4ug73u6ibGW7h4GrzrAX0RPkHX2y3eQYYVyXgZByexmlHE3pqXYyxtS8Qe
lVUhRqJTXNbShor6FC/DiwFu+KIDzuNUJama3TzcHV61qkUXJQpeHEOS5fU5
fb48fvP25PL4CD+PXx6cnroPHTOCxW/1qXrz8Pzs7Pj1Eb8MT0XtUad7dvBj
l62BLjfWHZx21/rPiCnZ+CejBGBNpa26U+vRfHZ48W//PNoxAmZrNEJD1liv
o0c78AUL4wZGgFHrliKhqlYdvrSDqI7u0lhiVxKXzGKyL6XmJwDnP/6EkPl5
XzydhMvRznfmAR649tDCrPaQYLb+ZO1lBmLLo5ZlHDRrzxuQru/34Mfadwt3
7+HTv4KJpEQwevxXsDc7DVsAL0hYv9uxSkiaQsp6gg7QaZscgd3vveDElmX6
ZYsZXqvqHATbK+f3/NpbyETv8KB/Z18ZoJA5F2st8SC+1+t6wF3nmKu8BBnR
rG5ke1F9ZpdrPW/W6Yz+K1fKyvU1Bk4cgkSxzl/bTh6gnuGbBmy0XBoB0O6z
0w1dpprRXGFI+cRsPXBj79j0L7kAgVblzHI1k3l0Z5+YzZOlK1thypYeh/Hr
UGP1dk+lPMf1TdPXBKswFbubXhPnJ6Cd1bBNNdnb6eqFhTg+tnWvXloWD2re
SCo3NA15qLzJYpS1KV79lE0DrJ2JsYfsKBvbNCSlnNaOKMVUEc1+29gjFRXc
1i4IqZEJSq/U70mTK8IC3URcC+8MyILjK+TMohObw3V3Uth7mVp6CWywzrTm
MdS9n6vKbnNU54D54aWmiOekSLk0/hzmj0sAZ+QyMnTZC14JNRS2pxh7Sfmq
opYexUG9BYTVH0cAiZRdJg/XIPnAUGZtMCBrr1a9XD8GpxHXmp7ImWMLyrYU
liZN45htjb8sfXphx/tydLWbBTwx6Kpf6zfz1r3h6nY8eDorgWlJ3FtRVqVt
t++NjbXbgmsZ30GrrWalFRDo+vWjla1rmqnrETlbWjMtE77DdoXUbLUGXapp
QUapNT+1eVW7qa8Rq8K5OXrM11Z7AU++zbZZ4yC1ufIJrU6/NaFRTs93OEsP
2BipYseN/e2ukeTdFiHPvEbXX+IlVoUCDNmiANs8dEcdStWaAYycJSWB36Ur
a/a/rfzJAGtgHsJPaJayidwotXIOKbfVUnzJqR+QOtRDYTZDN9sgOrzAOYUb
sKHC3u7C14EQFQGH8RXJxjj1aNAB8k6laxUAxlKqPrfqhkO6/ZLpDXeOF8Dw
kWOzGdW+leqGM9/muMplqjHgn4KXwQz3ZLS3hQzndVbU69lNMYbrZfCmJmtJ
z1tiqM4AwCvrsrzfUqSDN5CtI7jyl5Js5rUkUhL5QMhbiVfDrPEn4N5GFb62
xIFSDPivIDhQGkb3QlBFtbEK8gu6d9wy43at9N/0J5BJYVq9mXYu1U1mFGbT
nrEO9aPhXnW3ZU0c9u2t6/6dOmAnUoTBzWsvTK0yBXc2NJjaNO9lAGB1LZl3
KwjGltbl6MB/tQplVaGgag/1yQ7qnVcO/87j9Wvtat1/wR1lcK5qAnd0rQKq
43QGz113iXAnFf+7A3anjaKGNRDZCNTH2+tuI0jTlPh2qPfMvMLGhZf09MDX
VuKIB1+zqbjvDUSzntuuOYt853GAip9hHBftJl3daLjie8e5TnLVdm43A4fa
jHbkMBSLo7Xbp9fzil5xaIodLtRPa4TbemEFu9PNcoeBX+RSJVRG7lKx2p3x
KD9VdTmyw5orNaxpoMZa9kzUPIzqQDZuU/KX9xupqv5Dv5OqBb0m4tdexmqi
P28vTz1HgOiWupT4IgwOfvknK3MWzZTolNYWrt/gazqE684pxRJsp3Atoeyn
a8GgTOJaUasHT5Zq3Rd0nVsX63tM/M9mhNdFRmvLXuTt0jKirT6m5HRh776y
x7X2VwyaLDaX/7y4PD4YH7MU9q/7LhIdKJ3G9q7kY2ejcd/ASwXixTovzFpy
gcKd/zWKSfa5mZQk9wQJb+A4kvv+i3zFahkter5xx5Vl4YHcZXGWvUhwWbZl
OrhcJw7Oo3qo45ZPODNMqo16Ys9tAri4rtUr2y073V6TJBQGYl9+xrfy0ZQ1
4mgLjFT+g63eJn/95OD1wZpuq5vxc4ox8kjJ93baf/4DiyxM6I9vT8ty3flt
n31aFf2lOwX7R3W/dDqnZQjTXCCokmkmLrCMDhZS4TzNwGZYAYLSzCQ7TwAb
cVFiyPktWIj4bwvkciKOFzEJp07nXYwJKNgh/oMLCUCgTOey03muIrqzAV5C
UBnfcgyIleIQsAJLSvfvIHUugcJzmOKw1MXf/iWKsz87wb8DghN4WiprAAA=

-->

</rfc>
