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


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

<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC3339 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3339.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC7493 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7493.xml">
<!ENTITY RFC8259 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8259.xml">
<!ENTITY RFC8610 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8610.xml">
<!ENTITY RFC8615 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8615.xml">
<!ENTITY RFC8927 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8927.xml">
<!ENTITY RFC3986 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3986.xml">
<!ENTITY RFC9110 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9110.xml">
<!ENTITY RFC9111 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9111.xml">
<!ENTITY RFC9547 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9547.xml">
<!ENTITY RFC7326 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7326.xml">
<!ENTITY I-D.ietf-green-terminology SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-green-terminology.xml">
<!ENTITY RFC6454 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6454.xml">
<!ENTITY RFC7033 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7033.xml">
<!ENTITY RFC6648 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6648.xml">
]>


<rfc ipr="trust200902" docName="draft-besleaga-sustainability-wellknown-04" category="info" submissionType="independent">
  <front>
    <title abbrev="Sustainability-Data Well-Known URI">The 'sustainability-data' Well-Known URI</title>

    <author initials="A. N." surname="Besleaga" fullname="Andrei Nicolae BESLEAGA">
      <organization>Independent</organization>
      <address>
        <email>andrei.besleaga@ieee.org</email>
      </address>
    </author>

    <date year="2026" month="July" day="26"/>

    
    <workgroup>Independent Submission</workgroup>
    <keyword>Internet-Draft</keyword> <keyword>Sustainability</keyword> <keyword>Carbon Accounting</keyword> <keyword>Well-Known URI</keyword> <keyword>Energy Efficiency</keyword>

    <abstract>


<?line 86?>

<t>This document defines the "sustainability-data" well-known URI. This URI provides a uniform, out-of-band convention for web servers and digital services to publish aggregated environmental impact, energy consumption, and carbon footprint metrics for a declared reporting subject -- typically the publishing origin itself.</t>

<t>By utilizing an asynchronous reporting model, this approach allows for transparent environmental accounting without the bandwidth and energy overhead associated with per-request HTTP headers.</t>



    </abstract>



  </front>

  <middle>


<?line 92?>

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

<t>The digital economy consumes a significant and growing percentage of global electricity. Emerging regulatory frameworks, such as the EU Corporate Sustainability Reporting Directive (CSRD) <xref target="EU-CSRD"/>, as well as industry standards like the Green Software Foundation's Software Carbon Intensity <xref target="GSF-SCI"/> and the W3C Web Sustainability Guidelines <xref target="W3C-WSG"/>, increasingly call for organizations to disclose the environmental impact of their digital services.</t>

<t>These transparency efforts align with the United Nations 2030 Agenda for Sustainable Development <xref target="UN-SDG"/>, specifically supporting energy efficiency and sustainable infrastructure targets, encouraging companies to integrate sustainability information into their reporting cycles. The need for better data on the environmental impact of Internet systems, and the current gaps in that data, are documented in the report of the IAB Workshop on Environmental Impact of Internet Applications and Systems <xref target="RFC9547"/>.</t>

<t>While initial proposals for carbon transparency focused on per-request HTTP headers, such methods introduce a "rebound effect" where metadata increases the carbon footprint of the transaction. This document leverages <xref target="RFC8615"/> to define a <spanx style="verb">/.well-known/sustainability-data</spanx> URI for out-of-band reporting. This out-of-band mechanism allows servers to publish periodic, aggregated metrics, enabling workflows where environmental impact is a primary constraint alongside cost and performance. The origin publishes the document; the document's mandatory <spanx style="verb">target</spanx> member declares the reporting subject -- what the metrics are about, which is typically the origin itself but may be another entity or scope (see the URI Definition section).</t>

<t>[Note to the RFC Editor: the remainder of this paragraph records Internet-Draft lineage and may be removed or reworded at publication.] This document continues and replaces draft-besleaga-green-sustainability-wellknown. The rename reflects that this is an individual Independent Submission and is not scoped to any IETF Working Group. Revision -03 reworked the data model: it adopted member omission as the only "not reported" mechanism, reduced the mandatory member set, introduced a mandatory <spanx style="verb">target</spanx> member identifying the reporting subject, and renamed two carbon members to the CO2e convention; documents built to that data model carry the informational label <spanx style="verb">"2.0"</spanx>, and the changes are breaking with respect to the historical <spanx style="verb">"1.0"</spanx>/<spanx style="verb">"1.1"</spanx> field set (see the Changelog). As of revision -04, the requested well-known URI suffix is <spanx style="verb">sustainability-data</spanx> (earlier revisions requested the suffix <spanx style="verb">sustainability</spanx>); the change follows Independent-Stream review feedback on the precision expectations of <xref target="RFC8615"/>.</t>

<t>The convention is designed to be usable, unchanged, in four consumption contexts: by web clients, as a plain HTTPS GET on a fixed well-known URI with standard HTTP caching and conditional requests; by machine-to-machine and API integrations, as a stable JSON wire format with formal Concise Data Definition Language (CDDL) and JSON Type Definition (JTD) schemas and well-defined query and response semantics; by human readers, through self-describing member names and a mandatory link to the measurement methodology; and by automated agents and AI systems, as a document that is machine-discoverable at a fixed location, schema-validatable, and safe to ingest without content negotiation or prior arrangement.</t>

<section anchor="requirements-language"><name>Requirements Language</name>

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

</section>
<section anchor="goals-and-non-goals"><name>Goals and Non-Goals</name>

<section anchor="goals"><name>Goals</name>
<t><list style="symbols">
  <t>Provide a single, discoverable location, per origin, for environmental metrics about a declared reporting subject (typically the origin itself).</t>
  <t>Define a minimal, machine-readable JSON structure, suitable for broad adoption.</t>
  <t>Ensure interoperability between clients and servers.</t>
  <t>Support alignment with the Greenhouse Gas (GHG) Protocol <xref target="GHG-PROTOCOL"/>, the EU CSRD <xref target="EU-CSRD"/> and the European Sustainability Reporting Standards (ESRS) E1 climate standard <xref target="ESRS-E1"/>, and product-level disclosure regimes such as the Digital Product Passport established by the EU Ecodesign for Sustainable Products Regulation <xref target="EU-ESPR"/>.</t>
  <t>Mitigate security and privacy risks associated with publishing the data (like hardware fingerprinting).</t>
</list></t>

</section>
<section anchor="non-goals"><name>Non-Goals</name>
<t><list style="symbols">
  <t>This document does not mandate a specific calculation or measurement methodology.</t>
  <t>It does not define the verification, validation, certificates, or attestation mechanisms for the data itself, though it provides links to external attestations.</t>
  <t>It does not replace domain-specific reporting standards; it defines discovery and semantics and provides a discovery surface for linking to authoritative reports.</t>
</list></t>

</section>
</section>
<section anchor="relationship-to-other-work"><name>Relationship to Other Work</name>

<t>This document specifies an application-layer discovery mechanism for aggregated environmental metrics published at the origin level. It defines discovery and data semantics only, over HTTP <xref target="RFC9110"/>, and does not profile or constrain the underlying measurement methodology.</t>

<t>In particular, it does not define, profile, or update network-equipment energy metrics, YANG data models, or network-domain energy monitoring and capability discovery. Such work is the subject of the IETF GREEN Working Group and, earlier, of the EMAN framework <xref target="RFC7326"/>; the GREEN charter explicitly excludes carbon accounting and reporting. This document therefore does not overlap with, update, or obsolete any IETF-stream document, and is complementary to that network-layer work. Terminology for energy-efficient network management is being developed in that group <xref target="I-D.ietf-green-terminology"/>; this document's vocabulary is at the reporting and disclosure layer and does not redefine those network-management terms. Sustainability at the level of the Internet as a whole is also a topic of research in the IRTF (for example, the Sustainability and the Internet Research Group), which defers protocol standardization to the IETF; this document is an individual Independent Submission and is not a product of, nor endorsed by, any IETF Working Group or IRTF Research Group.</t>

<t>This document complements existing disclosure conventions rather than replacing them. In particular, the Green Web Foundation carbon.txt convention <xref target="CARBON-TXT"/> is a TOML index that links an origin to its published sustainability disclosures (reports, certificates, and hosting or energy-source evidence); it records <em>where</em> an origin's disclosures live, and contains no quantitative metrics. The "sustainability-data" well-known URI instead publishes the <em>numeric metrics themselves</em> in JSON. The two compose: a Sustainability Metadata Document (defined in the URI Definition section) can link to a carbon.txt file through the optional <spanx style="verb">disclosure-uri</spanx> field, and a carbon.txt file can list the <spanx style="verb">/.well-known/sustainability-data</spanx> endpoint among an origin's disclosures.</t>

</section>
</section>
<section anchor="the-sustainability-data-well-known-uri"><name>The "sustainability-data" Well-Known URI</name>

<section anchor="uri-definition"><name>URI Definition</name>

<t>This document defines the "sustainability-data" well-known URI and requests its registration in the "Well-Known URIs" registry (see the IANA Considerations section). A client requests metrics by issuing an HTTP GET (or HEAD) request. A provider publishing the metadata MUST make it available at the path <spanx style="verb">/.well-known/sustainability-data</spanx> on the origin.</t>

<t><list style="symbols">
  <t><strong>Origin</strong>: The combination of scheme, host, and optional port (e.g., <spanx style="verb">https://example.com</spanx>); see also the web origin concept <xref target="RFC6454"/>.</t>
  <t><strong>Sustainability Metadata Document</strong>: The JSON document returned from <spanx style="verb">/.well-known/sustainability-data</spanx>.</t>
  <t><strong>Provider</strong>: The entity operating the origin and publishing the sustainability metadata (also referred to as the publisher).</t>
  <t><strong>Reporting subject</strong>: The entity or scope that a Sustainability Metadata Document's metrics describe, identified by the mandatory <spanx style="verb">target</spanx> member of each object. The origin is <em>where</em> the document is published; the reporting subject is <em>what</em> the data is about -- most commonly the origin itself (see the <spanx style="verb">target</spanx> member in Mandatory Response Fields for the range of possible subjects).</t>
</list></t>

</section>
<section anchor="mandatory-minimum-supported-service"><name>Mandatory Minimum Supported Service</name>

<t>The resource SHOULD be served over HTTPS. The HTTP methods, status codes, and header fields used in this document are defined in HTTP Semantics <xref target="RFC9110"/>. Absent redirection, cache revalidation, or rate limiting, a <spanx style="verb">GET</spanx> request MUST receive a <spanx style="verb">200 OK</spanx> with a JSON body when metadata is available; a <spanx style="verb">HEAD</spanx> request MUST receive the same status and header fields with no message body. If no metadata is published, servers SHOULD respond with <spanx style="verb">404 Not Found</spanx>. A request using any method other than <spanx style="verb">GET</spanx> or <spanx style="verb">HEAD</spanx> SHOULD receive <spanx style="verb">405 Method Not Allowed</spanx> with an <spanx style="verb">Allow: GET, HEAD</spanx> header (<xref target="RFC9110"/>, Section 15.5.6). Successful (<spanx style="verb">200 OK</spanx>) responses MUST use the <spanx style="verb">application/json</spanx> media type, SHOULD follow I-JSON <xref target="RFC7493"/> for maximum compatibility, and SHOULD include appropriate caching directives (see Operational Considerations). Because the document is public and intended for browser-based clients as well, successful responses SHOULD also include an <spanx style="verb">Access-Control-Allow-Origin: *</spanx> header (Cross-Origin Resource Sharing), following the practice of WebFinger <xref target="RFC7033"/>. A server MAY redirect the well-known URI; clients that follow a redirect MUST attribute the returned document to the origin of the final response, and providers SHOULD NOT redirect to a different origin.</t>

<t>A compliant server MUST support the following "Basic" service level:</t>

<t><list style="symbols">
  <t><strong>No Parameters</strong>: Requests to the root URI with no query strings.</t>
  <t><strong>Scope</strong>: The response to a parameterless request MUST cover the provider's full declared reporting subject, identified by the <spanx style="verb">target</spanx> member (see Mandatory Response Fields). When the reporting subject is the origin itself -- the common case -- the metrics MUST represent the aggregate impact of the entire origin, not a subset of its resources.</t>
  <t><strong>Default Period</strong>: The server MUST return the most recently completed reporting period it publishes; a full calendar month is RECOMMENDED.</t>
  <t><strong>Format</strong>: The server MUST return a single JSON object.</t>
</list></t>

</section>
<section anchor="optional-extended-query-parameters"><name>Optional Extended Query Parameters</name>

<t>Servers MAY support "Extended" capabilities via the following parameters:</t>

<t><list style="symbols">
  <t><strong>target</strong>: Scopes the metrics to a resource path prefix (e.g., <spanx style="verb">?target=/api/v1/search</spanx>), matched against the origin's resource paths; the value follows URI path syntax <xref target="RFC3986"/> with characters not permitted in a query component percent-encoded. Matching is byte-wise and case-sensitive, on complete path segments, and is performed after percent-decoding. A server that scopes a response to a requested <spanx style="verb">target</spanx> parameter MUST set the <spanx style="verb">target</spanx> member of each returned object to the matched prefix. The <spanx style="verb">target</spanx> query parameter and the <spanx style="verb">target</spanx> response member are distinct: the parameter requests path-prefix scoping, while the member identifies the reporting subject of whatever is returned (see Mandatory Response Fields). Servers SHOULD honor the <spanx style="verb">target</spanx> parameter only for a deliberately published set of path prefixes, responding identically (per the no-data rule below) for all other values; this avoids disclosing the existence of unpublished paths (see Privacy Considerations, Path Disclosure).</t>
  <t><strong>period</strong>: Specifies the timeframe using one of the following calendar-date precision forms (only <spanx style="verb">YYYY-MM-DD</spanx> is an RFC 3339 <xref target="RFC3339"/> <spanx style="verb">full-date</spanx>):
  <list style="symbols">
      <t>Year: <spanx style="verb">YYYY</spanx> (e.g., 2025)</t>
      <t>Month: <spanx style="verb">YYYY-MM</spanx> (e.g., 2025-01)</t>
      <t>Day: <spanx style="verb">YYYY-MM-DD</spanx> (e.g., 2026-01-01)</t>
    </list>
Calendar periods are interpreted in UTC unless the methodology document states otherwise.</t>
  <t><strong>granularity</strong>: Defines the time "slices" within a period. This document defines the values <spanx style="verb">monthly</spanx> and <spanx style="verb">daily</spanx>; a server SHOULD ignore an unrecognized value or a granularity that is not finer than the requested period. When the granularity is finer than the period, the server SHOULD return an array of objects.</t>
</list></t>

<t>A <spanx style="verb">period</spanx> request without a (finer) <spanx style="verb">granularity</spanx> requests a single object covering exactly that period; a <spanx style="verb">granularity</spanx> without a <spanx style="verb">period</spanx> applies to the default period of the Basic service. If the server holds only finer-grained data for the requested period, it SHOULD either aggregate it into a single object or respond per the no-data rule below. Aggregation sums energy and carbon after conversion to a single declared unit; other metrics SHOULD be recomputed for the aggregated period or omitted. The server MUST NOT return an array unless a <spanx style="verb">granularity</spanx> finer than the period was requested. For a requested period that has not yet completed, the server SHOULD report the completed portion to date.</t>

<t>Servers that do not support the Extended parameters MUST ignore any such parameters and return the Basic response, rather than failing the request. If a supported parameter carries a malformed value (for example, a <spanx style="verb">period</spanx> that is not a valid date), the server MAY respond with <spanx style="verb">400 Bad Request</spanx>, or ignore the offending parameter and process the remainder of the request. (This applies to syntactically invalid values; an unrecognized value of an enumerated parameter such as <spanx style="verb">granularity</spanx> is instead ignored, as specified above.) When a server supports the requested parameters but has no data for a valid requested <spanx style="verb">period</spanx> or <spanx style="verb">target</spanx> parameter value, it SHOULD respond with <spanx style="verb">404 Not Found</spanx> (the "no-data rule").</t>

</section>
<section anchor="payload-format-json-data-model"><name>Payload Format (JSON Data Model)</name>

<t>A successful response body MUST be either a single JSON object <xref target="RFC8259"/> or an array of such objects (an array is used to convey a trend, that is, several reporting periods); the media type is <spanx style="verb">application/json</spanx>, as required in Mandatory Minimum Supported Service. A single object is equivalent to a one-element array; clients MUST accept both forms and determine which was returned from the JSON top-level type. An array response MUST contain at least one object (a server with nothing to report follows the no-data rule instead); a client that nevertheless receives an empty array SHOULD treat it as conveying no report.</t>

<t>In an array response, the entries MUST be sorted in ascending order of <spanx style="verb">reporting-period</spanx>, MUST NOT cover overlapping periods, and MUST share the same period precision and the same <spanx style="verb">target</spanx> value; <spanx style="verb">target-type</spanx> MUST be either present in every entry with the same value or absent from every entry. The same units SHOULD be used across all entries; other members (for example, <spanx style="verb">capabilities</spanx> or <spanx style="verb">provider</spanx>) are not constrained across entries.</t>

<section anchor="mandatory-response-fields"><name>Mandatory Response Fields</name>
<t><list style="symbols">
  <t><strong>version</strong> (string): An informational label identifying the schema revision the publisher used to build this document (e.g., <spanx style="verb">"2.0"</spanx>). It is a human- and debugging-oriented hint only and carries no negotiation or conformance semantics. Clients MUST NOT reject a document, or alter processing, solely because of the value of this field, and apply the ignore-unknown rule (see Versioning and Extensibility) regardless of the value present.</t>
  <t><strong>updated</strong> (string, date-time): The timestamp (<xref target="RFC3339"/>) when the document was last updated.</t>
  <t><strong>capabilities</strong> (string): A self-declared indicator of the service level. It MUST be either "basic" or "extended". "basic" denotes that only the Mandatory Minimum Supported Service is provided; "extended" denotes that one or more of the Optional Extended Query Parameters are supported. The value describes query-parameter support, not member presence: a document declaring "basic" MAY carry any optional members. The value is determined per response and MAY, at the provider's discretion, reflect the overall server, an individual response, or a specific reporting subject (the <spanx style="verb">target</spanx> member). A value of "extended" does not, by itself, guarantee support for any particular Extended parameter; clients determine actual support from the server's behavior.</t>
  <t><strong>provider</strong> (string): Information about the provider publishing the metadata.</t>
  <t><strong>measurement-method</strong> (string): Short description or reference to the methodology used. This is a free-form string; the values <spanx style="verb">hardware-metered</spanx>, <spanx style="verb">hardware-estimated</spanx>, <spanx style="verb">cloud-billing</spanx>, and <spanx style="verb">third-party-modeled</spanx> are RECOMMENDED.</t>
  <t><strong>methodology-uri</strong> (string): Link to the full methodology specification (calculation methodology). In general, the methodology document SHOULD describe the measurement or estimation method in enough detail to interpret the published figures, and is the designated place for details that other provisions of this document direct there -- among them: any non-UTC interpretation of calendar periods, the precise meaning of a <spanx style="verb">functional-unit</spanx>, the extrapolation behind <spanx style="verb">estimated-annual-emissions-kgCO2e</spanx>, the net-accounting basis of any negative scope values, and any anti-fingerprinting noise applied (see Privacy Considerations). See also the minimum-reporting rule in Value Constraints and Omitted Metrics.</t>
  <t><strong>reporting-period</strong> (string): The timeframe covered by the object, expressed using the same date forms as the <spanx style="verb">period</spanx> parameter (<spanx style="verb">YYYY</spanx>, <spanx style="verb">YYYY-MM</spanx>, or the <xref target="RFC3339"/> <spanx style="verb">full-date</spanx> <spanx style="verb">YYYY-MM-DD</spanx>).</t>
  <t><strong>target</strong> (string): The reporting subject of this object: a free-form identifier of the entity or scope to which the metrics are attributed. Typical values are an origin or domain (for an origin-wide report the origin's host, e.g., <spanx style="verb">"example.com"</spanx>, is RECOMMENDED), a resource path prefix (e.g., <spanx style="verb">"/api/v1"</spanx>), an organizational entity, a cloud tenant or provider scope, a software product or data source (e.g., <spanx style="verb">"example-metrics-feed"</spanx>), a device, or a site listed in a linked carbon.txt file <xref target="CARBON-TXT"/>. When the response is scoped by the <spanx style="verb">target</spanx> query parameter, the member carries the matched prefix, as required in Optional Extended Query Parameters -- which also distinguishes the parameter from this member. The reporting subject SHOULD be within the provider's own operational responsibility; clients SHOULD treat a <spanx style="verb">target</spanx> naming a subject other than the origin as a claim made by the origin's operator about that subject, and nothing more (see Trust and Spoofing). The OPTIONAL <spanx style="verb">target-type</spanx> member (see Optional Response Fields) can classify the kind of subject named here.</t>
</list></t>

</section>
<section anchor="optional-response-fields"><name>Optional Response Fields</name>

<t>The JSON object MAY contain the following OPTIONAL keys to align with the GHG Protocol <xref target="GHG-PROTOCOL"/>, the ESRS E1 climate standard <xref target="ESRS-E1"/>, and other sustainability recommendations:</t>

<t><list style="symbols">
  <t><strong>energy-consumption</strong> (numeric): Total energy consumed by the reporting subject during the reporting period. The value MUST NOT be negative. It is expressed in the unit given by <spanx style="verb">energy-unit</spanx> (default <spanx style="verb">kWh</spanx>; see that member).</t>
  <t><strong>energy-unit</strong> (string): The unit of energy for <spanx style="verb">energy-consumption</spanx> (MUST be one of: <spanx style="verb">Wh</spanx>, <spanx style="verb">kWh</spanx>, <spanx style="verb">MWh</spanx>, or <spanx style="verb">GWh</spanx>). When this member is absent, the default <spanx style="verb">kWh</spanx> applies. Publishers SHOULD state the unit explicitly; an <spanx style="verb">energy-unit</spanx> member without an accompanying <spanx style="verb">energy-consumption</spanx> member has no effect and SHOULD be omitted.</t>
  <t><strong>carbon-footprint</strong> (numeric): Total gross emissions impact attributable to the reporting subject during the reporting period, expressed in the unit given by <spanx style="verb">carbon-unit</spanx> (default <spanx style="verb">gCO2e</spanx>; see that member). The value MUST NOT be negative; see Value Constraints and Omitted Metrics for the treatment of removals and net accounting.</t>
  <t><strong>carbon-unit</strong> (string): The unit of carbon measurement (MUST be one of: <spanx style="verb">gCO2e</spanx>, <spanx style="verb">kgCO2e</spanx>, or <spanx style="verb">mtCO2e</spanx>). When this member is absent, the default <spanx style="verb">gCO2e</spanx> applies, both to <spanx style="verb">carbon-footprint</spanx> and to every other member expressed "in the unit given by <spanx style="verb">carbon-unit</spanx>". A <spanx style="verb">carbon-unit</spanx> member without any member it parameterizes has no effect and SHOULD be omitted.</t>
  <t><strong>carbon-accounting</strong> (string): "location-based" or "market-based" (following <xref target="GHG-PROTOCOL"/>).</t>
  <t><strong>scope-1</strong> (numeric): Estimated Scope 1 (direct) carbon emissions.</t>
  <t><strong>scope-2</strong> (numeric): Estimated Scope 2 (indirect/purchased energy) carbon emissions.</t>
  <t><strong>scope-3</strong> (numeric): Estimated Scope 3 (value chain) carbon emissions.</t>
  <t><strong>sci-score</strong> (numeric): Software Carbon Intensity (SCI) score <xref target="GSF-SCI"/>. The value MUST NOT be negative. If <spanx style="verb">sci-score</spanx> is present, <spanx style="verb">functional-unit</spanx> MUST also be present.</t>
  <t><strong>functional-unit</strong> (string): The functional unit to which per-unit metrics are expressed (e.g., "per-request", "per-user"); its precise meaning SHOULD be defined in the <spanx style="verb">methodology-uri</spanx> document.</t>
  <t><strong>carbon-intensity-gCO2e-per-kWh</strong> (numeric): Weighted carbon intensity in grams of CO2e per kWh. The value MUST NOT be negative.</t>
  <t><strong>estimated-annual-emissions-kgCO2e</strong> (numeric): Estimated annual gross emissions attributable to the reporting subject, in kilograms of CO2e regardless of <spanx style="verb">carbon-unit</spanx>. The value MUST NOT be negative. This is an annualized figure: when <spanx style="verb">reporting-period</spanx> is shorter than a year, it is an extrapolation, and the extrapolation method SHOULD be described in the <spanx style="verb">methodology-uri</spanx> document.</t>
  <t><strong>renewable-energy</strong> (numeric): Percentage of energy from renewable sources; the value MUST be between 0 and 100 inclusive.</t>
  <t><strong>verifiable-attestation-uri</strong> (string): Link pointing to a verifiable credential or attestation, to support independent verification of the published metrics.</t>
  <t><strong>disclosure-uri</strong> (string): URI of a machine-readable sustainability disclosure index for the origin or reporting subject, that is, a single document listing links to its public sustainability disclosures (reports, certificates, hosting and energy-source evidence). The field is format-agnostic; the canonical example is a Green Web Foundation carbon.txt file <xref target="CARBON-TXT"/>, which is itself commonly published at <spanx style="verb">/carbon.txt</spanx> or <spanx style="verb">/.well-known/carbon.txt</spanx>. A <spanx style="verb">disclosure-uri</spanx> links to supporting evidence and MUST NOT be treated by clients as proof of the metrics in this document.</t>
  <t><strong>target-type</strong> (string): A hint classifying the reporting subject named by <spanx style="verb">target</spanx>, to aid machine interpretation of that free-form member. This document defines the values <spanx style="verb">origin</spanx> (the publishing origin itself; <spanx style="verb">target</spanx> SHOULD then be the origin's host), <spanx style="verb">path</spanx> (a resource path prefix on the origin), <spanx style="verb">organization</spanx>, <spanx style="verb">service</spanx>, <spanx style="verb">product</spanx>, <spanx style="verb">device</spanx>, <spanx style="verb">tenant</spanx>, and <spanx style="verb">data-source</spanx>. The member classifies <spanx style="verb">target</spanx>; it does not change <spanx style="verb">target</spanx>'s syntax or the attribution rules in its definition. A client that does not recognize the value interprets <spanx style="verb">target</spanx> as if this member were absent (see Value Constraints and Omitted Metrics).</t>
</list></t>

<t>The <spanx style="verb">scope-1</spanx>, <spanx style="verb">scope-2</spanx>, and <spanx style="verb">scope-3</spanx> values are expressed in the unit given by <spanx style="verb">carbon-unit</spanx>, including its default; <spanx style="verb">sci-score</spanx> is expressed in grams of CO2e per the declared <spanx style="verb">functional-unit</spanx>.</t>

<t>The three URI-valued members (<spanx style="verb">methodology-uri</spanx>, <spanx style="verb">verifiable-attestation-uri</spanx>, and <spanx style="verb">disclosure-uri</spanx>) MUST be absolute URIs <xref target="RFC3986"/> using the "https" (or "http") scheme. Clients MUST NOT automatically dereference a URI member carrying any other scheme, and clients that fetch these URIs SHOULD apply the usual protections against server-side request forgery (SSRF), such as refusing redirects or addresses into private networks.</t>

<t>Fields not defined in this specification MAY be present; clients handle members they do not recognize per the ignore-unknown rule in Versioning and Extensibility.</t>

</section>
<section anchor="value-constraints-and-omitted-metrics"><name>Value Constraints and Omitted Metrics</name>

<t>A metric that is not reported for the scope or period covered by an object is omitted from that object. This document defines no in-band "not reported" marker: a member that is present always carries an actual value. Consumers that require a value not present in a Sustainability Metadata Document SHOULD look to the linked disclosure or reporting resources.</t>

<t>Several numeric members carry range constraints in their definitions: the gross-quantity members (<spanx style="verb">energy-consumption</spanx>, <spanx style="verb">carbon-footprint</spanx>, <spanx style="verb">sci-score</spanx>, <spanx style="verb">carbon-intensity-gCO2e-per-kWh</spanx>, and <spanx style="verb">estimated-annual-emissions-kgCO2e</spanx>) are non-negative, and <spanx style="verb">renewable-energy</spanx> is bounded to 0-100. <spanx style="verb">carbon-footprint</spanx> reports gross emissions. Where the declared <spanx style="verb">carbon-accounting</spanx> methodology supports them, carbon removals, offsets, and net accounting are conveyed through <spanx style="verb">scope-1</spanx>, <spanx style="verb">scope-2</spanx>, and <spanx style="verb">scope-3</spanx>, which MAY be negative for that purpose, or through the linked attestation or disclosure resources; a publisher reporting a negative scope value SHOULD explain the net-accounting basis in the <spanx style="verb">methodology-uri</spanx> document.</t>

<t>A client encountering a defective member value SHOULD NOT reject the document; instead:</t>

<t><list style="symbols">
  <t>A value outside a member's stated range (for example, a negative value in a member defined here as non-negative) is treated as not reported.</t>
  <t>A value of the wrong JSON type (including <spanx style="verb">null</spanx>) is treated as not reported.</t>
  <t>An unrecognized value in an enumerated string member defined here (<spanx style="verb">capabilities</spanx>, <spanx style="verb">energy-unit</spanx>, <spanx style="verb">carbon-unit</spanx>, <spanx style="verb">carbon-accounting</spanx>, or <spanx style="verb">target-type</spanx>) causes that member to be disregarded. For a unit member, the numeric member(s) it parameterizes are then treated as not reported; for <spanx style="verb">capabilities</spanx>, the client relies on observed server behavior, as that member's definition directs; for <spanx style="verb">target-type</spanx>, the client interprets <spanx style="verb">target</spanx> as if the member were absent.</t>
  <t>A <spanx style="verb">sci-score</spanx> unaccompanied by <spanx style="verb">functional-unit</spanx> is treated as not reported.</t>
</list></t>

<t>Note that the CDDL and JTD schemas below close the enumerated value sets. A validating client whose schema check fails only on such a defective value SHOULD apply this tolerance rather than reject the document; a future specification extending one of these sets is expected to publish correspondingly updated schemas. The historical-document case (a document without a <spanx style="verb">target</spanx> member) is covered in Versioning and Extensibility.</t>

<t>A Sustainability Metadata Document (in an array response, at least one of its objects) SHOULD contain at least one reported numeric metric (for example, <spanx style="verb">energy-consumption</spanx> or <spanx style="verb">carbon-footprint</spanx>) or at least one of <spanx style="verb">disclosure-uri</spanx> or <spanx style="verb">verifiable-attestation-uri</spanx>. A document containing none of these is conformant only by virtue of the mandatory <spanx style="verb">methodology-uri</spanx>: in that case the publisher MUST ensure that the resource identified by <spanx style="verb">methodology-uri</spanx> (in an array response, by each object's <spanx style="verb">methodology-uri</spanx>) provides the substantive disclosure. That resource MUST be publicly retrievable without authentication or payment, MUST describe the measurement or estimation method, and MUST either state the metric values themselves or point directly to where they are published.</t>

</section>
<section anchor="versioning-and-extensibility"><name>Versioning and Extensibility</name>

<t>This document is designed so that new fields can be introduced over time without breaking deployed clients and without requiring a revision of this specification.</t>

<t><list style="symbols">
  <t>Forward compatibility rests on a single rule: clients MUST ignore members they do not recognize. Because no field defined here is security-critical, silently ignoring an unknown member is safe. The formal schemas (CDDL and JTD) are correspondingly open and permit additional members.</t>
  <t>Interoperability does not depend on the <spanx style="verb">version</spanx> member. As its definition states, <spanx style="verb">version</spanx> is an informational provenance label, not a negotiation mechanism, and the label itself never affects client processing. The value space is nevertheless under change control: the labels defined by this document are <spanx style="verb">"1.0"</spanx>, <spanx style="verb">"1.1"</spanx>, and <spanx style="verb">"2.0"</spanx>, and new values are defined only by a future RFC that revises or replaces this document. Publishers MUST NOT mint other values; introducing new members does not, by itself, call for a new value (extension members are covered by the ignore-unknown rule).</t>
  <t><strong>Extension members.</strong> New members may be introduced by a future revision of this specification, or privately by an implementer; the ignore-unknown rule above makes extensions always safe to publish. To make name collisions structurally impossible rather than merely unlikely, member names that do not contain a "." (FULL STOP, U+002E) are reserved for this specification and future documents that revise or replace it. An implementer-defined extension member SHOULD therefore be named using reverse-domain-name notation rooted in a domain the definer controls (for example, <spanx style="verb">com.example.pue</spanx> for a power-usage-effectiveness figure defined by example.com), consistent with the guidance of <xref target="RFC6648"/>. Semantics-free markers such as an "X-" or "vendor-" prefix SHOULD NOT be used. Extension member names are case-sensitive and SHOULD be lowercase, and extension values are subject to the same I-JSON expectations as the rest of the document. No IANA registry is defined for member names: the ignore-unknown rule makes central coordination unnecessary for interoperability, and the reserved undotted name space protects future revisions of this specification. Implementers introducing a member of general interest are encouraged to publish its definition, and such a member may later be adopted (under an undotted name) by a revision of this specification.</t>
  <t>The values <spanx style="verb">"1.0"</spanx> and <spanx style="verb">"1.1"</spanx> denote the historical field set used before the present data model, in which <spanx style="verb">energy-consumption</spanx>, <spanx style="verb">energy-unit</spanx>, <spanx style="verb">carbon-footprint</spanx>, and <spanx style="verb">carbon-unit</spanx> were mandatory and the reporting subject was conveyed by the optional <spanx style="verb">target-path</spanx> member (whose absence meant an origin-wide report). The value <spanx style="verb">"2.0"</spanx> denotes the field set of this document. Documents declaring any of these labels remain valid; per the <spanx style="verb">version</spanx> definition, the label itself never affects processing. Field-driven tolerance makes historical documents processable: defective values are handled per Value Constraints and Omitted Metrics, and a client that encounters a document without a <spanx style="verb">target</spanx> member SHOULD treat it as an origin-wide report -- unless the document carries the historical <spanx style="verb">target-path</spanx> member, in which case the client SHOULD treat that member's value as the reporting subject. A validating client whose schema check fails only because the <spanx style="verb">target</spanx> member is absent SHOULD apply the same interpretation rather than reject the document.</t>
</list></t>

</section>
<section anchor="formal-definition-cddl"><name>Formal Definition (CDDL)</name>

<t>The following CDDL <xref target="RFC8610"/> definition describes the response:</t>

<figure><sourcecode type="cddl"><![CDATA[
; Root: a single object, or an array of objects for trends
sustainability-response =
  sustainability-metrics / [+ sustainability-metrics]

sustainability-metrics = {
  ; Versioning and provenance
  version: tstr,
  updated: tstr,
  capabilities: "basic" / "extended",
  provider: tstr,

  ; Mandatory methodology disclosure
  measurement-method: tstr,
  methodology-uri: tstr,

  ; Timeframe of the report (YYYY, YYYY-MM, or RFC3339 full-date)
  reporting-period: tstr,

  ; Reporting subject (origin host, path prefix, entity, ...)
  target: tstr,

  ; Energy metrics; when energy-unit is absent, kWh applies
  ? energy-consumption: number,   ; non-negative
  ? energy-unit: "Wh" / "kWh" / "MWh" / "GWh",

  ; Carbon metrics; when carbon-unit is absent, gCO2e applies
  ? carbon-footprint: number,     ; gross, non-negative
  ? carbon-unit: "gCO2e" / "kgCO2e" / "mtCO2e",

  ; Other optional metric and linkage members
  ? carbon-accounting: "location-based" / "market-based",
  ? scope-1: number,              ; may be negative (removals)
  ? scope-2: number,              ; may be negative (removals)
  ? scope-3: number,              ; may be negative (removals)
  ? sci-score: number,            ; non-negative
  ? functional-unit: tstr,
  ? carbon-intensity-gCO2e-per-kWh: number,   ; non-negative
  ? estimated-annual-emissions-kgCO2e: number, ; non-negative
  ? renewable-energy: number,     ; percentage, 0-100
  ? verifiable-attestation-uri: tstr,
  ? disclosure-uri: tstr,

  ; Classification hint for the reporting subject in target
  ? target-type: "origin" / "path" / "organization" / "service"
               / "product" / "device" / "tenant" / "data-source",

  ; Extension members (reverse-domain names); clients
  ; ignore unknown members
  * tstr => any
}
]]></sourcecode></figure>

</section>
<section anchor="formal-definition-jtd"><name>Formal Definition (JTD)</name>

<t>The following JSON Type Definition <xref target="RFC8927"/> defines the reporting object:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "properties": {
    "version": { "type": "string" },
    "updated": { "type": "string" },
    "capabilities": { "enum": ["basic", "extended"] },
    "provider": { "type": "string" },
    "measurement-method": { "type": "string" },
    "methodology-uri": { "type": "string" },
    "reporting-period": { "type": "string" },
    "target": { "type": "string" }
  },
  "optionalProperties": {
    "energy-consumption": { "type": "float64" },
    "energy-unit": { "enum": ["Wh", "kWh", "MWh", "GWh"] },
    "carbon-footprint": { "type": "float64" },
    "carbon-unit": { "enum": ["gCO2e", "kgCO2e", "mtCO2e"] },
    "carbon-accounting": {
      "enum": ["location-based", "market-based"]
    },
    "scope-1": { "type": "float64" },
    "scope-2": { "type": "float64" },
    "scope-3": { "type": "float64" },
    "sci-score": { "type": "float64" },
    "functional-unit": { "type": "string" },
    "carbon-intensity-gCO2e-per-kWh": { "type": "float64" },
    "estimated-annual-emissions-kgCO2e": { "type": "float64" },
    "renewable-energy": { "type": "float64" },
    "verifiable-attestation-uri": { "type": "string" },
    "disclosure-uri": { "type": "string" },
    "target-type": {
      "enum": ["origin", "path", "organization", "service",
               "product", "device", "tenant", "data-source"]
    }
  },
  "additionalProperties": true
}
]]></sourcecode></figure>

<t>Range constraints (the non-negativity rules and the 0-100 bound on <spanx style="verb">renewable-energy</spanx>), the <spanx style="verb">sci-score</spanx>/<spanx style="verb">functional-unit</spanx> co-occurrence rule, the date formats of <spanx style="verb">updated</spanx> and <spanx style="verb">reporting-period</spanx>, the unit defaults, the URI-member constraints (absolute <spanx style="verb">https</spanx>/<spanx style="verb">http</spanx> URIs), and the array-level ordering and uniformity rules are prose rules of this document; they are not captured by the schemas above, and validating implementations enforce them at the application layer.</t>

</section>
</section>
</section>
<section anchor="example-usage"><name>Example Usage</name>

<section anchor="basic-response-root-request"><name>Basic Response (Root Request)</name>

<t>Request: <spanx style="verb">GET /.well-known/sustainability-data</spanx></t>

<figure><sourcecode type="json"><![CDATA[
{
  "version": "2.0",
  "updated": "2026-03-01T12:00:00Z",
  "capabilities": "basic",
  "provider": "Example Corp (sustain@example.org)",
  "measurement-method": "cloud-billing",
  "methodology-uri": "https://example.com/methodology",
  "reporting-period": "2026-02",
  "target": "example.com",
  "energy-consumption": 1250,
  "energy-unit": "kWh",
  "carbon-footprint": 345000,
  "carbon-unit": "gCO2e",
  "target-type": "origin"
}
]]></sourcecode></figure>

</section>
<section anchor="yearly-trend-monthly-granularity"><name>Yearly Trend (Monthly Granularity)</name>

<t>Request: <spanx style="verb">GET /.well-known/sustainability-data?period=2025&amp;granularity=monthly</spanx></t>

<t>The response is an array with one object per month; only the first two months are shown here for brevity.</t>

<figure><sourcecode type="json"><![CDATA[
[
  {
    "version": "2.0",
    "updated": "2026-01-05T09:00:00Z",
    "capabilities": "extended",
    "provider": "CloudProvider Ops (ops@example.com)",
    "measurement-method": "hardware-metered",
    "methodology-uri": "https://example.com/methodology",
    "reporting-period": "2025-01",
    "target": "example.com",
    "energy-consumption": 1100,
    "energy-unit": "kWh",
    "carbon-footprint": 302,
    "carbon-unit": "kgCO2e",
    "carbon-accounting": "location-based",
    "renewable-energy": 45
  },
  {
    "version": "2.0",
    "updated": "2026-01-05T09:00:00Z",
    "capabilities": "extended",
    "provider": "CloudProvider Ops (ops@example.com)",
    "measurement-method": "hardware-metered",
    "methodology-uri": "https://example.com/methodology",
    "reporting-period": "2025-02",
    "target": "example.com",
    "energy-consumption": 1050,
    "energy-unit": "kWh",
    "carbon-footprint": 288,
    "carbon-unit": "kgCO2e",
    "carbon-accounting": "location-based",
    "renewable-energy": 48
  }
]
]]></sourcecode></figure>

</section>
<section anchor="target-specific-request-day-period"><name>Target-Specific Request (Day Period)</name>

<t>Request: <spanx style="verb">GET /.well-known/sustainability-data?target=/api/v1&amp;period=2026-03-15</spanx></t>

<figure><sourcecode type="json"><![CDATA[
{
  "version": "2.0",
  "updated": "2026-03-16T12:00:00Z",
  "capabilities": "extended",
  "provider": "Example Corp (sustain@example.org)",
  "measurement-method": "cloud-billing",
  "methodology-uri": "https://example.com/methodology",
  "reporting-period": "2026-03-15",
  "target": "/api/v1",
  "energy-consumption": 1.5,
  "energy-unit": "kWh",
  "carbon-footprint": 414,
  "carbon-unit": "gCO2e"
}
]]></sourcecode></figure>

</section>
<section anchor="target-specific-yearly-trend-monthly-granularity"><name>Target-Specific Yearly Trend (Monthly Granularity)</name>

<t>Request: <spanx style="verb">GET /.well-known/sustainability-data?target=/api/v1&amp;period=2026&amp;granularity=monthly</spanx></t>

<t>As above, the array holds one object per completed month.</t>

<figure><sourcecode type="json"><![CDATA[
[
  {
    "version": "2.0",
    "updated": "2026-03-21T07:00:00Z",
    "capabilities": "extended",
    "provider": "Example Corp (sustain@example.org)",
    "measurement-method": "third-party-modeled",
    "methodology-uri": "https://example.com/api-modeling",
    "reporting-period": "2026-01",
    "target": "/api/v1",
    "energy-consumption": 45,
    "energy-unit": "kWh",
    "carbon-footprint": 12450,
    "carbon-unit": "gCO2e",
    "sci-score": 12,
    "functional-unit": "per-thousand-requests"
  },
  {
    "version": "2.0",
    "updated": "2026-03-21T07:00:00Z",
    "capabilities": "extended",
    "provider": "Example Corp (sustain@example.org)",
    "measurement-method": "third-party-modeled",
    "methodology-uri": "https://example.com/api-modeling",
    "reporting-period": "2026-02",
    "target": "/api/v1",
    "energy-consumption": 42,
    "energy-unit": "kWh",
    "carbon-footprint": 11800,
    "carbon-unit": "gCO2e",
    "sci-score": 10,
    "functional-unit": "per-thousand-requests"
  }
]
]]></sourcecode></figure>

</section>
<section anchor="highly-detailed-combined-extended-request"><name>Highly Detailed Combined Extended Request</name>
<t>Request: <spanx style="verb">GET /.well-known/sustainability-data?target=/app/storage&amp;period=2026-03-20</spanx></t>

<t>This example utilizes all optional fields, including GHG Protocol Scopes, a verifiable attestation link to combat greenwashing, the <spanx style="verb">target-type</spanx> classification hint, and a reverse-domain-named extension member (<spanx style="verb">com.example.pue</spanx>, a power-usage-effectiveness figure defined by example.com) that clients not recognizing it simply ignore (see Versioning and Extensibility).</t>

<figure><sourcecode type="json"><![CDATA[
{
  "version": "2.0",
  "updated": "2026-03-21T00:05:00Z",
  "capabilities": "extended",
  "provider": "Global Storage Inc. (compliance@storage.example)",
  "measurement-method": "hardware-estimated",
  "methodology-uri": "https://storage.example/transparency/methods",
  "reporting-period": "2026-03-20",
  "target": "/app/storage",
  "energy-consumption": 12,
  "energy-unit": "kWh",
  "carbon-footprint": 3.2,
  "carbon-unit": "kgCO2e",
  "carbon-accounting": "market-based",
  "scope-1": 0.0,
  "scope-2": 2.1,
  "scope-3": 1.1,
  "sci-score": 0.85,
  "functional-unit": "per-terabyte-day",
  "carbon-intensity-gCO2e-per-kWh": 267,
  "estimated-annual-emissions-kgCO2e": 1168,
  "renewable-energy": 45,
  "verifiable-attestation-uri": "https://verify.example/vc/storage",
  "disclosure-uri": "https://storage.example/.well-known/carbon.txt",
  "target-type": "path",
  "com.example.pue": 1.21
}
]]></sourcecode></figure>

</section>
<section anchor="partial-reporting-omitted-metrics-and-default-units"><name>Partial Reporting (Omitted Metrics and Default Units)</name>
<t>Request: <spanx style="verb">GET /.well-known/sustainability-data</spanx></t>

<t>In this example the provider reports a carbon figure (for example, from a supplier or a CSRD report) but does not report energy for the period: <spanx style="verb">energy-consumption</spanx> and <spanx style="verb">energy-unit</spanx> are simply omitted (see Value Constraints and Omitted Metrics). <spanx style="verb">carbon-unit</spanx> is also omitted, so the default <spanx style="verb">gCO2e</spanx> applies to both <spanx style="verb">carbon-footprint</spanx> and <spanx style="verb">scope-2</spanx>. The document declares <spanx style="verb">basic</spanx> capabilities -- no Extended query parameters are supported -- while still carrying optional members, and the <spanx style="verb">disclosure-uri</spanx> points to where fuller data can be found.</t>

<figure><sourcecode type="json"><![CDATA[
{
  "version": "2.0",
  "updated": "2026-04-01T00:00:00Z",
  "capabilities": "basic",
  "provider": "Partial Metrics Co. (sustainability@partial.example)",
  "measurement-method": "third-party-modeled",
  "methodology-uri": "https://partial.example/methodology",
  "reporting-period": "2026-03",
  "target": "partial.example",
  "carbon-footprint": 4200,
  "carbon-accounting": "location-based",
  "scope-2": 4200,
  "disclosure-uri": "https://partial.example/.well-known/carbon.txt"
}
]]></sourcecode></figure>

</section>
</section>
<section anchor="operational-considerations"><name>Operational Considerations</name>

<section anchor="caching"><name>Caching</name>

<t>Because this endpoint can be dynamic, servers SHOULD implement heavy caching for the well-known responses (see also the rate-limiting guidance in the Security Considerations). HTTP caching and conditional requests are as defined in <xref target="RFC9111"/> and <xref target="RFC9110"/>.</t>

<t><list style="symbols">
  <t>Servers SHOULD set cache directives (e.g., <spanx style="verb">Cache-Control: max-age=86400</spanx>) <xref target="RFC9111"/>.</t>
  <t>For historical reports, a long <spanx style="verb">max-age</spanx> (e.g., one year) is RECOMMENDED.</t>
  <t>Use of <spanx style="verb">ETag</spanx> and <spanx style="verb">Last-Modified</spanx> (<xref target="RFC9110"/>, Sections 8.8.3 and 8.8.2), enabling conditional requests with <spanx style="verb">If-None-Match</spanx>, is RECOMMENDED.</t>
</list></t>

</section>
</section>
<section anchor="interoperability"><name>Interoperability</name>

<t>To maximize interoperability:</t>

<t><list style="symbols">
  <t>Servers SHOULD keep their published documents current with this specification.</t>
  <t>Clients follow the ignore-unknown and version-tolerance rules of Versioning and Extensibility.</t>
  <t>Implementers SHOULD publish example payloads and test vectors.</t>
  <t>Aggregators SHOULD document how they map provider fields to their internal models.</t>
</list></t>

</section>
<section anchor="deployment"><name>Deployment</name>

<t><list style="symbols">
  <t>For multi-tenant platforms, operators SHOULD decide whether to publish per-tenant metadata at the tenant origin or a platform-level summary.</t>
  <t>Operators deploying behind content delivery networks (CDNs) or reverse proxies MUST ensure that the <spanx style="verb">/.well-known/sustainability-data</spanx> path is routed to the authoritative publisher or served with the authoritative document.</t>
  <t>Automation: Providers SHOULD automate updates to the document to reflect changes in energy sourcing or measurement.</t>
</list></t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="denial-of-service-dos"><name>Denial of Service (DoS)</name>

<t>Because this endpoint may require internal database queries to aggregate data -- especially when dynamic period or other query parameters are utilized -- it could become a vector for Denial of Service (DoS) attacks.</t>

<t><list style="symbols">
  <t>Servers SHOULD rate-limit requests to the well-known URI and cache all generated reports.</t>
  <t>Because each distinct query-string combination is a distinct cache entry, an attacker iterating unique parameter values can bypass a response cache; honoring the <spanx style="verb">target</spanx> query parameter only for a published set of path prefixes (see Optional Extended Query Parameters) bounds the key space, and servers SHOULD precompute reports rather than aggregate on demand.</t>
</list></t>

</section>
<section anchor="array-size-limits"><name>Array Size Limits</name>

<t>To prevent DoS via memory exhaustion, servers supporting <spanx style="verb">granularity</spanx> MUST enforce a documented maximum on the number of objects returned.</t>

<t><list style="symbols">
  <t>A cap of 366 objects is RECOMMENDED.</t>
  <t>When a response would exceed the limit, the server SHOULD return the most recent periods and MAY signal the truncation (for example, via an extension member), or MAY respond with <spanx style="verb">400 Bad Request</spanx> (treating the over-broad query as a client error).</t>
</list></t>

</section>
<section anchor="trust-and-spoofing"><name>Trust and Spoofing</name>

<t>Publishing sustainability metadata at a well-known location is convenient but does not provide any cryptographic assurance of correctness. An attacker who controls DNS, TLS certificates, or the origin can publish false metadata.</t>

<t><list style="symbols">
  <t>Clients MUST NOT treat the presence of a sustainability document as proof of any claim.</t>
  <t>For high-assurance use cases, clients SHOULD rely on additional attestations, signed statements, or third-party verification.</t>
</list></t>

</section>
<section anchor="consumer-considerations"><name>Consumer Considerations</name>

<t>A Sustainability Metadata Document is untrusted input fetched from an arbitrary origin, and this document deliberately positions it as safe for automated ingestion; consumers are responsible for making that true on their side:</t>

<t><list style="symbols">
  <t>Clients SHOULD enforce a response-size limit and bound the number of array entries they accept (the 366-object cap is a server obligation that a client cannot rely on a hostile server to honor).</t>
  <t>Clients SHOULD bound the time and redirects spent on a single fetch.</t>
  <t>Clients SHOULD parse the body with a JSON parser hardened against untrusted input, validate against the formal schemas before use, and treat member values as data, never as code or markup.</t>
  <t>Duplicate member names make JSON interoperability unpredictable (<xref target="RFC8259"/>); clients SHOULD reject a document with duplicate names or apply their parser's documented last-value behavior consistently.</t>
  <t>The URI-valued members carry the dereferencing restrictions and SSRF guidance given in Optional Response Fields.</t>
</list></t>

</section>
<section anchor="greenwashing-and-misrepresentation"><name>Greenwashing and Misrepresentation</name>

<t>There is a risk that providers publish misleading or incomplete metrics to appear more sustainable.</t>

<t><list style="symbols">
  <t>Beyond the mandatory <spanx style="verb">methodology-uri</spanx>, providers SHOULD link authoritative reports, signed statements, or third-party verification -- for example, cryptographically signed W3C Verifiable Credentials via the <spanx style="verb">verifiable-attestation-uri</spanx> member.</t>
  <t>Consumers SHOULD treat the document as a discovery mechanism and validate claims against external sources when necessary.</t>
</list></t>

</section>
<section anchor="privacy-and-information-leakage"><name>Privacy and Information Leakage</name>

<t>Publishing detailed operational metrics may reveal sensitive information about infrastructure, traffic patterns, or deployment topology. The privacy-related risks of this mechanism -- and the corresponding publisher guidance on aggregation, granularity, fingerprinting noise, and path disclosure -- are consolidated in the Privacy Considerations section.</t>

</section>
<section anchor="integrity-and-transport-security"><name>Integrity and Transport Security</name>

<t><list style="symbols">
  <t>As specified in the Mandatory Minimum Supported Service section, the resource SHOULD be served over HTTPS; transport security protects both integrity and privacy of the published metrics. HTTPS is a SHOULD rather than a MUST only because the data is public and some constrained origins are plain-HTTP; consumers with integrity-sensitive uses SHOULD ignore documents not served over HTTPS.</t>
  <t>Clients MUST validate TLS certificates as required for HTTPS <xref target="RFC9110"/>.</t>
</list></t>

</section>
</section>
<section anchor="privacy-considerations"><name>Privacy Considerations</name>

<t>Publishing sustainability metadata can have privacy implications when metrics are correlated with traffic or user behavior. Providers SHOULD evaluate the privacy impact of any metric that could be linked to individual users or small groups, SHOULD avoid publishing data that could be used to infer internal architecture or expose personally identifiable information, and, when in doubt, SHOULD aggregate or redact fine-grained data. Aggregators SHOULD use privacy-preserving aggregation techniques when publishing derived datasets. Free-form contact strings (such as the <spanx style="verb">provider</spanx> member) can carry personal data; role addresses (for example, sustainability@example.com) are RECOMMENDED over personal ones. (See also Privacy and Information Leakage in the Security Considerations.)</t>

<section anchor="traffic-analysis"><name>Traffic Analysis</name>

<t>Servers SHOULD NOT report metrics at a granularity finer than 24 hours, and real-time telemetry is NOT RECOMMENDED: either would allow an observer to correlate energy spikes with specific real-time user actions.</t>

</section>
<section anchor="hardware-fingerprinting"><name>Hardware Fingerprinting</name>

<t>Precise metrics can reveal hardware architectures. Servers MAY apply "noise" (fuzzing), as a multiplicative factor bounded within 1% of the true values, to mitigate identification with limited impact on aggregate accuracy. Noise MUST be applied once, at document-generation time, deterministically per reporting period, and consistently across arithmetically related fields, so that ratios between them (such as a published carbon intensity) are preserved; the noised values are the published values for caching and conditional-request purposes. Members bounded to a range (such as <spanx style="verb">renewable-energy</spanx>) MUST remain within their stated range after noise. Because ratios are preserved, publishers for whom ratio-based fingerprinting is a concern SHOULD omit the derived members rather than rely on noise. Providers applying noise SHOULD disclose this in the <spanx style="verb">methodology-uri</spanx> document so that auditors can reconcile published figures with filed reports.</t>

</section>
<section anchor="path-disclosure"><name>Path Disclosure</name>

<t>When the <spanx style="verb">target</spanx> query parameter is honored for arbitrary values, the difference between a scoped response and a no-data response can reveal which resource paths exist and carry traffic on the origin. For this reason, Optional Extended Query Parameters directs servers to honor the parameter only for a deliberately published set of path prefixes and to respond identically (per the no-data rule) for all other values.</t>

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

<t>IANA is requested to register the "sustainability-data" well-known URI in the <eref target="https://www.iana.org/assignments/well-known-uris">"Well-Known URIs" registry</eref>, following the procedure outlined in <xref target="RFC8615"/>.</t>

<t>Following the registration template of <xref target="RFC8615"/>, Section 3.1:</t>

<t><list style="symbols">
  <t><strong>URI Suffix</strong>: sustainability-data</t>
  <t><strong>Change Controller</strong>: Andrei Nicolae Besleaga (andrei.besleaga@ieee.org)</t>
  <t><strong>Specification Document(s)</strong>: This document.</t>
  <t><strong>Status</strong>: provisional</t>
  <t><strong>Related Information</strong>: This suffix is used with the "http" and "https" URI schemes. The response uses the <spanx style="verb">application/json</spanx> media type <xref target="RFC8259"/> and follows I-JSON <xref target="RFC7493"/> per this document. Formal definitions of the response are provided in this document using CDDL <xref target="RFC8610"/> and JSON Type Definition (JTD) <xref target="RFC8927"/>.</t>
</list></t>

<t>A status of "provisional" is requested in keeping with <xref target="RFC8615"/>, Section 3.1: this is an Independent Submission rather than a Standards-Track or other open-standards-process document. Per that procedure, the designated expert(s) may promote the entry to "permanent" once it is found to be in broad use.</t>

<t>The suffix "sustainability-data" names the specific application registered here -- a machine-readable data document of sustainability metrics for a declared reporting subject -- rather than claiming the generic term "sustainability" for one convention, in keeping with the precision expectations of <xref target="RFC8615"/>, Section 3 (earlier revisions of this document requested the bare suffix "sustainability"). The metadata the URI names is published per origin, which is the pattern for which well-known URIs are appropriate <xref target="RFC8615"/>; resource-specific scoping is provided through the <spanx style="verb">target</spanx> query parameter rather than through additional path segments. The use of query parameters on a well-known URI follows existing practice such as WebFinger <xref target="RFC7033"/> and is permitted by <xref target="RFC8615"/>, Section 3. Registration is sought to enable interoperable discovery, not to signal endorsement of the publisher's claims.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>Thanks to the early reviewers and to members of the Internet sustainability community who provided feedback on sustainability metadata and discovery patterns.</t>

</section>


  </middle>

  <back>


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

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

&RFC2119;
&RFC3339;
&RFC8174;
&RFC7493;
&RFC8259;
&RFC8610;
&RFC8615;
&RFC8927;
&RFC3986;
&RFC9110;
&RFC9111;


    </references>

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

<reference anchor="GHG-PROTOCOL" target="https://ghgprotocol.org/corporate-standard">
  <front>
    <title>The Greenhouse Gas Protocol: A Corporate Accounting and Reporting Standard (Revised Edition)</title>
    <author >
      <organization>World Resources Institute and World Business Council for Sustainable Development</organization>
    </author>
    <date year="2004"/>
  </front>
</reference>
<reference anchor="GSF-SCI" target="https://sci.greensoftware.foundation/">
  <front>
    <title>Software Carbon Intensity (SCI) Specification (standardized as ISO/IEC 21031:2024)</title>
    <author >
      <organization>Green Software Foundation</organization>
    </author>
    <date year="2024"/>
  </front>
</reference>
&RFC9547;
<reference anchor="EU-CSRD" target="https://eur-lex.europa.eu/eli/dir/2022/2464/oj">
  <front>
    <title>Directive (EU) 2022/2464 as regards corporate sustainability reporting (CSRD)</title>
    <author >
      <organization>European Parliament and Council</organization>
    </author>
    <date year="2022" month="December"/>
  </front>
</reference>
<reference anchor="UN-SDG" target="https://sdgs.un.org/2030agenda">
  <front>
    <title>Transforming our world: the 2030 Agenda for Sustainable Development</title>
    <author >
      <organization>United Nations</organization>
    </author>
    <date year="2015"/>
  </front>
</reference>
<reference anchor="W3C-WSG" target="https://www.w3.org/TR/web-sustainability-guidelines/">
  <front>
    <title>Web Sustainability Guidelines (WSG) (W3C Group Draft Note)</title>
    <author >
      <organization>W3C Sustainable Web Interest Group</organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="CARBON-TXT" target="https://carbontxt.org/">
  <front>
    <title>carbon.txt: A TOML convention for discovering an origin's sustainability disclosures</title>
    <author >
      <organization>Green Web Foundation</organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="ESRS-E1" target="https://eur-lex.europa.eu/eli/reg_del/2023/2772/oj">
  <front>
    <title>Commission Delegated Regulation (EU) 2023/2772 supplementing Directive 2013/34/EU as regards sustainability reporting standards (ESRS; Annex I, ESRS E1 Climate change)</title>
    <author >
      <organization>European Commission</organization>
    </author>
    <date year="2023" month="July"/>
  </front>
</reference>
<reference anchor="EU-ESPR" target="https://eur-lex.europa.eu/eli/reg/2024/1781/oj">
  <front>
    <title>Regulation (EU) 2024/1781 establishing a framework for the setting of ecodesign requirements for sustainable products (ESPR; Digital Product Passport)</title>
    <author >
      <organization>European Parliament and Council</organization>
    </author>
    <date year="2024" month="June"/>
  </front>
</reference>
&RFC7326;
&I-D.ietf-green-terminology;
&RFC6454;
&RFC7033;
&RFC6648;


    </references>

</references>


<?line 645?>

<section anchor="changelog"><name>Changelog</name>

<ul empty="true"><li>
  <t>[Note to the RFC Editor: please remove this appendix before publication.]</t>
</li></ul>

<t>This appendix summarizes changes in recent revisions of this document, for the convenience of reviewers. The complete revision history, including the revisions published under the document's former name (draft-besleaga-green-sustainability-wellknown), is maintained in the project repository.</t>

<section anchor="since-03"><name>Since -03</name>

<t><list style="symbols">
  <t>Renamed the requested well-known URI suffix from <spanx style="verb">sustainability</spanx> to <spanx style="verb">sustainability-data</spanx>, following Independent-Stream review feedback on the precision ("squatting") expectations of RFC 8615, Section 3; the document title changed accordingly, and the registration rationale in IANA Considerations was rewritten for the precise name. The Datatracker document name is unchanged. No IANA action had occurred on the previously requested suffix, so no migration or alias mechanism is defined.</t>
  <t>Added the OPTIONAL <spanx style="verb">target-type</spanx> member: an enumerated hint (<spanx style="verb">origin</spanx>, <spanx style="verb">path</spanx>, <spanx style="verb">organization</spanx>, <spanx style="verb">service</spanx>, <spanx style="verb">product</spanx>, <spanx style="verb">device</spanx>, <spanx style="verb">tenant</spanx>, <spanx style="verb">data-source</spanx>) classifying the reporting subject named by <spanx style="verb">target</spanx>. Unrecognized values fall under the existing enumerated-member tolerance rule; array responses share one value; added to the CDDL/JTD schemas and to two examples.</t>
  <t>Placed the <spanx style="verb">version</spanx> value space under change control: the defined labels are <spanx style="verb">"1.0"</spanx>, <spanx style="verb">"1.1"</spanx>, and <spanx style="verb">"2.0"</spanx>, and new values may be defined only by a future RFC that revises or replaces this document; publishers MUST NOT mint other values. The member itself remains informational-only.</t>
  <t>Replaced the loose vendor-extension naming advice with a normative "Extension members" rule: member names without a "." are reserved for this specification and its successors; implementer extensions SHOULD use reverse-domain-name notation, avoiding "X-"-style markers per RFC 6648; no IANA member-name registry is created. The worked example member was renamed from <spanx style="verb">vendor-example-pue</spanx> to <spanx style="verb">com.example.pue</spanx>.</t>
  <t>Corrected the CDDL root so an array response requires at least one object (<spanx style="verb">[+ ...]</spanx>), matching the prose, and fixed a "schemas above"/"below" direction error in Value Constraints.</t>
  <t>Clarifications from a full review: stated in the Introduction proper that the origin publishes the document while the <spanx style="verb">target</spanx> member declares what the data is about; required the methodology resource behind the minimum-reporting rule to be publicly retrievable without authentication or payment (and identified it per object in array responses); extended the schema-tolerance note to the historical absent-<spanx style="verb">target</spanx> case; scoped percent-encoding of the <spanx style="verb">target</spanx> parameter to characters not permitted in a query component; labeled the "no-data rule" at its definition; broadened <spanx style="verb">disclosure-uri</spanx> to the origin or reporting subject; neutralized two example methodology URLs; updated the greenwashing guidance to build on the now-mandatory <spanx style="verb">methodology-uri</spanx>; merged duplicated traffic-analysis wording; listed the date formats among the prose-only rules; noted the carbon.txt convention carries no quantitative metrics; and noted terminology alignment with the IETF GREEN Working Group's terminology document.</t>
  <t>Final pre-submission audit round (correctness): corrected the legacy-compatibility rule so a historical document carrying <spanx style="verb">target-path</spanx> is attributed to that subject rather than to the whole origin; qualified the 200-OK requirement for redirects, cache revalidation, and rate limiting; added a Cross-Origin Resource Sharing recommendation (<spanx style="verb">Access-Control-Allow-Origin: *</spanx>) for browser-based clients, following WebFinger practice; made the array <spanx style="verb">target-type</spanx> rule all-or-none; extended client tolerance to wrong-JSON-type (including <spanx style="verb">null</spanx>) values and to <spanx style="verb">sci-score</spanx> without <spanx style="verb">functional-unit</spanx>, restructuring the tolerance rules as a list; defined <spanx style="verb">granularity</spanx> without <spanx style="verb">period</spanx> (applies to the default period) and separated malformed from unrecognized parameter values; specified that <spanx style="verb">target</spanx> matching is performed after percent-decoding; stated the client behavior for an empty array; required range-bounded members to stay in range after anti-fingerprinting noise, and corrected the noise-consistency example to ratio preservation; required a documented array-size maximum.</t>
  <t>Final pre-submission audit round (editorial): consolidated duplicated normative statements to single owning locations (the ignore-unknown rule, version tolerance, the target parameter/member distinction and echo rule, the range constraints, the published-prefix rule, the unit defaults, and the greenwashing attestation guidance); rescaled the day-period path-scoped example for plausibility against its monthly counterpart; expanded GHG, ESRS, SSRF, and CDN at first use and set the header workgroup label to "Independent Submission"; merged the duplicated DoS motivation sentence; noted that non-uniform members (for example, <spanx style="verb">capabilities</spanx>) are unconstrained across array entries; and other minor wording polish.</t>
</list></t>

</section>
<section anchor="since-02"><name>Since -02</name>

<t>This revision is a <strong>breaking change</strong> to the data model and wire format; documents and clients built to -02 (<spanx style="verb">"1.0"</spanx>/<spanx style="verb">"1.1"</spanx>) interoperate with -03 (<spanx style="verb">"2.0"</spanx>) consumers only through the compatibility rules in Versioning and Extensibility. Examples now declare version <spanx style="verb">"2.0"</spanx>.</t>

<t><list style="symbols">
  <t>Removed the negative "not reported" sentinel entirely: an unreported metric is now conveyed by omitting the member. Negative values are no longer special: gross-quantity members (<spanx style="verb">energy-consumption</spanx>, <spanx style="verb">carbon-footprint</spanx>, <spanx style="verb">sci-score</spanx>, <spanx style="verb">carbon-intensity-gCO2e-per-kWh</spanx>, <spanx style="verb">estimated-annual-emissions-kgCO2e</spanx>) MUST be non-negative, <spanx style="verb">renewable-energy</spanx> is bounded 0-100, and <spanx style="verb">scope-1/2/3</spanx> MAY be negative to express removals or net accounting (resolving the previous gap for net-negative scope reporters). Clients encountering a negative value in a non-negative member treat it as not reported, preserving compatibility with historical sentinel-bearing documents.</t>
  <t>Made <spanx style="verb">energy-consumption</spanx>, <spanx style="verb">energy-unit</spanx>, <spanx style="verb">carbon-footprint</spanx>, and <spanx style="verb">carbon-unit</spanx> OPTIONAL. When a value member is present and its unit member is absent, wire-level defaults apply: <spanx style="verb">kWh</spanx> for energy and <spanx style="verb">gCO2e</spanx> for carbon (the carbon default also parameterizes <spanx style="verb">scope-1/2/3</spanx>).</t>
  <t>Added a minimum-reporting rule: a document SHOULD carry at least one reported numeric metric or a <spanx style="verb">disclosure-uri</spanx>/<spanx style="verb">verifiable-attestation-uri</spanx>; a document carrying none is conformant only because the publisher MUST ensure the mandatory <spanx style="verb">methodology-uri</spanx> leads to the substantive disclosure. (Replaces the -02 rule about documents with both required metrics unreported.)</t>
  <t>Renamed the optional <spanx style="verb">target-path</spanx> member to <spanx style="verb">target</spanx>, made it MANDATORY, and generalized it to identify the reporting subject (origin host, RECOMMENDED for origin-wide reports; path prefix, organizational entity, cloud tenant or provider scope, software source, or carbon.txt-listed site). A response scoped by the <spanx style="verb">target</spanx> query parameter echoes the matched prefix in the <spanx style="verb">target</spanx> member; the previous "absence means origin-wide" rule is removed (the member is always present). Array responses now uniformly share one <spanx style="verb">target</spanx> value.</t>
  <t>Renamed <spanx style="verb">carbon-intensity-gCO2-per-kWh</spanx> to <spanx style="verb">carbon-intensity-gCO2e-per-kWh</spanx> and <spanx style="verb">estimated-annual-emissions-kgCO2</spanx> to <spanx style="verb">estimated-annual-emissions-kgCO2e</spanx>, aligning all carbon quantities on the CO2e (CO2-equivalent) convention; stated that the annual figure is an extrapolation whose method belongs in the methodology document.</t>
  <t>Redefined <spanx style="verb">capabilities</spanx> to describe query-parameter support only ("basic" = minimum service; "extended" = Extended parameters supported); a "basic" document MAY carry optional members. The mandatory member set is now: <spanx style="verb">version</spanx>, <spanx style="verb">updated</spanx>, <spanx style="verb">capabilities</spanx>, <spanx style="verb">provider</spanx>, <spanx style="verb">measurement-method</spanx>, <spanx style="verb">methodology-uri</spanx>, <spanx style="verb">reporting-period</spanx>, <spanx style="verb">target</spanx> (8 of the 23 defined members).</t>
  <t>Versioning: <spanx style="verb">"1.0"</spanx>/<spanx style="verb">"1.1"</spanx> now denote the historical pre-2.0 field set; <spanx style="verb">"2.0"</spanx> denotes this revision. <spanx style="verb">version</spanx> remains informational-only (clients MUST NOT reject or branch on it); compatibility with historical documents is achieved through field-driven tolerance rules.</t>
  <t>Replaced the "Not-Reported Sentinel" example with a "Partial Reporting" example (carbon reported, energy omitted, default units, <spanx style="verb">basic</spanx> with optional members); added <spanx style="verb">target</spanx> to all examples; added a worked vendor-extension member (<spanx style="verb">vendor-example-pue</spanx>) to the detailed example.</t>
  <t>Added an applicability paragraph to the Introduction describing the convention's web, machine-to-machine/API, human-reader, and automated-agent/AI readiness.</t>
  <t>Consolidated the privacy material: the Security Considerations "Privacy and Information Leakage" subsection now defers to the Privacy Considerations section; the HTTPS requirement is stated once (Mandatory Minimum Supported Service) and cross-referenced from Integrity and Transport Security; corrected the <spanx style="verb">target</spanx> bullet's cross-reference to point at Privacy Considerations, Path Disclosure.</t>
  <t>Editorial: <spanx style="verb">HEAD</spanx> responses now use MUST (parallel to <spanx style="verb">GET</spanx>); the <spanx style="verb">updated</spanx> member cites RFC 3339 formally; expanded the CDDL and JTD abbreviations on first use; cited ESRS E1 formally and tied Digital Product Passports to the EU ESPR; updated the W3C-WSG reference to its current Group Draft Note form; forward-referenced the "Sustainability Metadata Document" definition at first use; aligned the prose/CDDL/JTD member ordering; noted that the formal schemas cannot express the range constraints and unit defaults; removed trailing whitespace.</t>
  <t>For the historical record: the <spanx style="verb">weekly</spanx> granularity value, introduced in the predecessor draft draft-besleaga-green-sustainability-wellknown-01, was removed before the present document series began; the defined <spanx style="verb">granularity</spanx> values are <spanx style="verb">monthly</spanx> and <spanx style="verb">daily</spanx> (this note keeps the in-document changelog in lockstep with the repository CHANGELOG, corrected in the same pass).</t>
</list></t>

</section>
<section anchor="since-01"><name>Since -01</name>

<t>This revision applies editorial and normative clarifications to improve interoperability and readiness for Independent-stream publication; no fields are added or removed, and all previously published example payloads remain valid.</t>

<t><list style="symbols">
  <t>Aligned the formal schemas with the "clients MUST ignore unknown fields" rule: the CDDL map now permits vendor extensions (<spanx style="verb">* tstr =&gt; any</spanx>) and the JTD gains <spanx style="verb">"additionalProperties": true</spanx>, so a conformant validator no longer rejects the extensions the text permits.</t>
  <t>Corrected the date-format references: the <spanx style="verb">YYYY</spanx> and <spanx style="verb">YYYY-MM</spanx> forms are calendar-date precision forms, not RFC 3339 productions (RFC 3339 defines the <spanx style="verb">YYYY-MM-DD</spanx> <spanx style="verb">full-date</spanx>).</t>
  <t>Clarified HTTP method handling (<spanx style="verb">GET</spanx>/<spanx style="verb">HEAD</spanx>; other methods -&gt; <spanx style="verb">405</spanx> with <spanx style="verb">Allow</spanx>), the no-data response (<spanx style="verb">404</spanx>), the <spanx style="verb">granularity</spanx> value set, and malformed-parameter handling.</t>
  <t>Specified that <spanx style="verb">scope-1/2/3</spanx> are expressed in <spanx style="verb">carbon-unit</spanx> and <spanx style="verb">sci-score</spanx> in gCO2e per <spanx style="verb">functional-unit</spanx>; extended the not-reported sentinel to optional numeric fields; relaxed the Basic default period so annual-only reporters can comply; and normativized that a <spanx style="verb">basic</spanx> response omits optional fields.</t>
  <t>Defined <spanx style="verb">target</spanx> prefix-matching semantics and percent-encoding (RFC 3986, added as a normative reference).</t>
  <t>Added HTTP Semantics (RFC 9110) and HTTP Caching (RFC 9111) as normative references, since the document relies on HTTP methods, status codes (including <spanx style="verb">405</spanx>/<spanx style="verb">Allow</spanx>), conditional requests (<spanx style="verb">ETag</spanx>/<spanx style="verb">Last-Modified</spanx>/<spanx style="verb">If-None-Match</spanx>), and caching; cited them at the relevant points.</t>
  <t>Redefined the <spanx style="verb">version</spanx> member as an informational, non-negotiated label (clients MUST NOT reject or branch on it) and rewrote "Versioning and Extensibility" around the must-ignore rule, so that the specification accommodates future fields without a revision and without an in-band version-negotiation mechanism.</t>
  <t>Changed the requested IANA registry status from "permanent" to "provisional" (appropriate for an Independent Submission per RFC 8615, promotable once in broad use), and added a rationale for the single-token suffix and the query-parameter design (WebFinger precedent).</t>
  <t>Sharpened the "Relationship to Other Work" section to distinguish this application-layer, origin-level HTTP disclosure surface from network-layer energy work (IETF GREEN, EMAN/RFC 7326) and from IRTF research, and to state clearly that it complements, and does not duplicate, the Green Web Foundation carbon.txt convention; cited the IAB e-impact workshop report (RFC 9547) as motivating context.</t>
  <t>Clarified that a single object is equivalent to a one-element array and that clients MUST accept both response forms; array entries are sorted, non-overlapping, and of uniform precision and target.</t>
  <t>Interoperability hardening from pre-submission review: a <spanx style="verb">period</spanx> request without finer <spanx style="verb">granularity</spanx> yields a single (possibly aggregated) object; a server scoping a response to <spanx style="verb">target</spanx> echoes <spanx style="verb">target-path</spanx> (absence means origin-wide); <spanx style="verb">target</spanx> matching is byte-wise, case-sensitive, on complete path segments, against a published set of prefixes (also closing a path-disclosure oracle and bounding the cache key space); calendar periods are interpreted in UTC; incomplete periods report the completed portion; array truncation keeps the most recent periods; anti-fingerprinting noise is applied once at generation time, deterministically and consistently across related fields; <spanx style="verb">sci-score</spanx> requires <spanx style="verb">functional-unit</spanx>; a document with both required metrics unreported carries a disclosure link; redirect responses are attributed to the final origin.</t>
  <t>Reference precision: identified carbon.txt as a TOML index, W3C WSG as a Community Group Report, and SCI by its ISO/IEC 21031:2024 form.</t>
  <t>Corrected the arithmetic of the highly-detailed example (scopes now sum to the reported <spanx style="verb">carbon-footprint</spanx>).</t>
  <t>Revised the Acknowledgments to thank the Internet sustainability community generally, without implying review or endorsement by any IETF Working Group or IRTF Research Group.</t>
  <t>Numerous editorial fixes (typos, comma splices, heading hyphenation, host/origin terminology, <spanx style="verb">Acknowledgments</spanx> spelling, bare IANA URL). The pre-rename revision history was moved out of this appendix to the project repository.</t>
</list></t>

</section>
<section anchor="since-00"><name>Since -00</name>

<t>Editorial/positioning update only; no change to the data model, field semantics, service levels, or wire format, and all published example payloads remain valid.</t>

<t><list style="symbols">
  <t>Replaced "standardized, out-of-band mechanism" with "uniform, out-of-band convention" in the Abstract, to reflect that this is an Informational document describing a common, interoperable convention (suited to the Independent Submission Stream and Research Group discussion) rather than a standards-track specification.</t>
</list></t>

</section>
<section anchor="draft-besleaga-sustainability-wellknown-00-replaces-draft-besleaga-green-sustainability-wellknown"><name>draft-besleaga-sustainability-wellknown-00 (replaces draft-besleaga-green-sustainability-wellknown)</name>

<t>This document is an administrative continuation of draft-besleaga-green-sustainability-wellknown, which it replaces. It makes no change to the field set or wire format; the previously published example payloads remain valid.</t>

<t><list style="symbols">
  <t>Renamed the document from <spanx style="verb">draft-besleaga-green-sustainability-wellknown</spanx> to <spanx style="verb">draft-besleaga-sustainability-wellknown</spanx> and recorded a "Replaces" relationship. The prior name's "green" token could imply a scope tied to the IETF GREEN Working Group; this is an individual Independent Submission with no working-group affiliation.</t>
  <t>Adopted schema version <spanx style="verb">1.1</spanx> as the default across all examples (version <spanx style="verb">1.1</spanx> introduced the optional <spanx style="verb">disclosure-uri</spanx> field; documents declaring <spanx style="verb">1.0</spanx> remain valid).</t>
  <t>Clarified the meaning of a negative value in a required numeric field: it denotes an unreported metric (not a real negative measurement); see "Unreported Numeric Metrics" (a section since removed). Also noted that <spanx style="verb">carbon-footprint</spanx> is gross (non-negative) and that the anti-fingerprinting noise is not applied to the "not reported" sentinel.</t>
  <t>Editorial and clarity corrections for publication: the URI Definition now states that this document <em>requests</em> the registration (rather than asserting it is already registered); added a "Relationship to Other Work" note (application-layer scope; does not update or obsolete any IETF-stream document; complementary to carbon.txt); and specified that servers not supporting the Extended parameters MUST ignore them and return the Basic response.</t>
  <t>Data-model and example corrections: clarified the <spanx style="verb">capabilities</spanx> semantics (a simple <spanx style="verb">basic</spanx>/<spanx style="verb">extended</spanx> indicator that is determined per response and MAY reflect the server, the specific response, or a resource path) and corrected the Target-Specific example, which had declared <spanx style="verb">basic</spanx> while carrying an optional field (<spanx style="verb">target-path</spanx>) and had reused the whole-host totals for a sub-path; pinned <spanx style="verb">reporting-period</spanx> to the same date formats as the <spanx style="verb">period</spanx> parameter; noted that <spanx style="verb">measurement-method</spanx> is a free-form string with RECOMMENDED values; bounded <spanx style="verb">renewable-energy</spanx> to 0-100; documented malformed-parameter handling (<spanx style="verb">400</spanx> or ignore); and added a "Not-Reported Sentinel" example.</t>
</list></t>

<t>The revision history of the replaced document, the former draft-besleaga-green-sustainability-wellknown (its versions -00 through -05), is not reproduced here; it is retained in the project repository's CHANGELOG.</t>

</section>
</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+29aXMbZ5Ym+p2/IgMVdwyoM8FNkm0yqrtokpY1rW1Iajw1
NY6LJJAkswUg0ZkJUSiH+7ff85zlXRIASalmOuLGvRUVFgjk8i7nPctztizL
dtqynRZHSe/qrki+a5ZNm5fz/Lqclu0qm+Rt/l3yazGdZv86r+7nyceL172d
/Pq6Lj7TLZfx1Wd09drFk2o8z2f0gkmd37TZddFMi/w2zzpvuqfbPuGubO/5
zn1Vf7qtq+XiKHk9nxSLgv4zb5PL5fWsbJqymu+M87a4rerVUVLOb6qdxv3S
rhYFvnR37ZSL+ihpa3rdwd7ej3sHO5+KFb1gcrSTJBk9vy3qedFmZxgefxXP
ir86zevrap6cjMfVct6W81v+Np4qf3U+L+rbVXJ+c1OOy2I+Xu3s5Mv2rqrl
beW8OUpOhsm7YfKTLgR9nySyQifzSV2UybtyXE3zIvnp/PLN+cmrE76iqm/z
efn3vKU5RqvCvxazvJweJTk/YGhr/JeyKIoh3bmzM6/qGd37ucA4Ln4+Pdjf
/1E/Hh4e2scf9r9/rh+/f/7joX178MJd8HJ/z398YR9/PPjeHvbjDy/144/7
7lr6uH+0s4OtCobx6pdX2YeL91fvT9+/OeJphKT4qi6K+V21bOhj3iQf6qqt
aF1olZLTql5UNVFAsCGYe3JR0Pf812VLf+f1JOlfFJ/Lppgk55MSazfo8Zv8
puB/GZb3KPm1qqd4SFMt63HR0Co3NKIlvQcPl19/WjblvGgaGsRyPi6nCU3J
U8y0SM6Kz8W0Wsxsa9q8vi3ao+SubRfN0e7u7d3tQueCrdkd22SyRsfMt9HJ
o5Ugin2Olbr8Obs8fR0v0mV1097ndWHECUqeN0SxSZ+uHSSXi2JcEhkyySR9
e3r5d1oMWtDXl+93X5+fJgf7e4f7Rwd7B88fWhrejcS98mea/IQfvHGOzbgc
3uKORm8Y3rgbdqPpHTxXCnnxnEno/GN2enlxFs/0rKyLMagm6Z9/HOCug92D
5y+fYxp1cUuTahK3jEnMWOgCo4k+nvzQJM+XdbUo8nnyIa+nZY4t5J3Xrd44
1WJZZ9Piy7DAvTn9s1tMy91JWe+6Ye5W/xbP+SDbP6BvPr7LLs9edSi/zucN
TgkGTGSY3IPqiH/RiTjYO9xLTm7p2OcPUd0DE/w4L1va/Xe8Ec3mrZvcNsPl
nEkTL8z5fdH491/Qn78enma/XnZG/2tx3eGeyatlOaEVoSOT9On6Af338JTI
iZh7wiw3eVe1xYOnkq4Pp4qXMNcumlYetHEi9/f3w/tDnsfVxe59cd2VOLdu
ZB2SfEl/np5c/PT+XXb1P67iGY75rA3bLy0Y0dX7t2+I8uafadlxyLArk7IZ
V5+LWngSTaG8LeffNV2yxGXTqlnSLB49dpjxIydOxkXD4gmvz+f88uIyO9+P
J3NazVRqEv1M6SCBOC6K2+VUeYaetsPdg++/P6AZLBbTAiSGuflDSRRxuHv4
fPf8Y3ggtx5DY0REEBjVMYm9efEleZ3yIJPz/eR0Ws5wksd3+fz2QdpwJ9ZP
5StOKQ31/yYS2HVTXDuph9ne98KVzi8/XMSrt2Ghnu/uf//DfkKESZRaNndM
A8lNTawEKg3TB05yU7S8FNVNUoyrSdGUt3NaoX9f0ppifRu+sgmInkTGZDlu
ec0+XBzT6t+WbT6FWMT3xLGaBgv8n8PeaOF23XTXFu15tvdyZyfLsiS/bto6
H7c7O1d3ZZOQKrjkt06KG+YIWIveBpWzl0AdzD6ZajVM+H76hIX4TOe2oXVd
zktwypT4ZJtVN9k1JtM5jXTuabVrOo8Nz3Wi64bvSsj4tkoWS96sJL+9rfUQ
FPPPZV3NMVi6uJwtaBIpfcvKHb2iWc4WeEfKD5XDR++r2gWd+zaZFW1djmUX
c5rteEoycBKegeX1v9HpSWiNSGElGT2drng1dCxMHMw5krJtiunNcGfnp1Wy
bGmN/q6cJW9W8/EdjZJ0pODRM6KnaUoPowXLF7Rc+ZimNp1W9zKeFhJmQeOh
ccbTzL0ydV8S/SxbHhKW9b6ctHc8V10DcLi7Iocm0VTjkhcNNyWLos5AyWDO
v1xdfUhwFa3+UChiVk4m02Jn509g4UK7OLM70Phsb+hIzKuZrTNvNQ4I6zJK
smQc3GOc9LYxBn9b4CzdTqtr3D+lpaX1J2oaJuczGi8ureW4ks3gD2ST0k5g
eYQUiYF51bIjx7xqGWgjrFAkv/+uWssff6R4FGgX/5IRQs+g93mONy0/Ffyq
rfoUSYrtit3vv6sm+McfvAx4EsTjw3L3999VWGN85XxcFznpsLdEcaA7JorQ
uuAzoeJJBrvpNGC96beyXjtSQ95N3OoobbxKiht6D/GvfApex6SCR8cayVNV
HJqSKE+YUWN6Ls4QZJTuk1Jq4UwxXrKQqZI9Uue0Q0SEJIeV9zU453QQ6pzJ
ZlzRdOelcAo628XtJiXTWTa0XXRRpUvjT+V4NZ7S0iSg83lBM8bsrkkMFDUY
Z57QjQ8ttZmpSbNq2mLWpG7/x8uaz/JtvgDJ0Xd5y4+kS2hSxnPplaW8Qgal
+5e8PvkJls2n5q5aYBDn0QBerw/ghJQANSqEpV7KiGhPVI//4w8igV/vSl5h
MrroOcSGFlWTT4UFKb+M6OOGxgkzjb7fxkL0sBJzvasmmKswELLOkl5dXOMI
YbfpcJL8uCP9EJfmvLpK9Spy1vi1rgUPKGeOpBLHSawpER9RRKHThPFLZxAH
hUUZDWG0O/RCa3eDUBux/OLTFsgrRyL6xvC3WQENqGxmxr9NkgVCixarrCbl
OA3Fl8ofUDIUETB02uIbfoaszEY6g8SgrSLlqxbuSwuC5cmn1fy2IX5CXzbC
gOm1TPHzcSFErdJKh6ULbct3HP1FLG4Ghsi8eCSnbkRjnl3jMIiwbAJS7QjM
exA4fjUpCzLPaftJQt/flUQhNI9YqkaiNLkmwTbLV3T8aCoV/V4n0BjoGEPp
GpOORNZyIawPW3aGLWbwgDaAqWNABP6//gbDJZGzDhOWEYaqPtKRz3KAULXQ
Fo2ICD0n3rG4o9/IWJ00HegpAbOGIOOdl+HRU0jQTjCuGgJrAtO9lUWWIzj8
rUOotG20YMtCziYt4DSHmtMB39g43wrByY7SuSQxSf/cQJ42wlh4KqAT8LlJ
SarYEmxiI0jHI6BraY1lWSdYrXy+Sl6fX/3MXAdbyybcMGGcBndle4cy20+F
cDg+wazWHNEWJvmkWgiRM8FU7m1CM9WcNr2Hdwr1FJOeP0gpfQmWIQ/2VKjP
Ir089XyF1voBQi0x2/JmhSlspNVUdwCrSO+7r4zvyAMaI53T9wdFoLYeu71s
iFLLaSvXKVOXdcCTaiHtQPLQRkzza/p11DsY7vVGgYxgQ0pOyjUxwk+m49Hw
ID5bGwvtLk0WJ4ceso+H7OLf/d4ouSmL6QQr5A/HKT92Wt0OhslJA0qv/SY+
T3VZmJFDPYxUelolEsxfQB+jjcyyX8BKKWr3zCZ4FhtR8oDO3aPBcTBlYrfC
OQMKzS5bWoIZP7e4T25IGl/n408mgRd0PGUOxRcsjUo6mlzA+UXHCY0NnEG2
44TK6fAuGygZKZkpMpYJSIsGtKxDC4IPbPGlbY6S6xWbK2Oa9RxqSM7seEpz
YzF4mbw6v8IoSTUqv6wvKO+nqZoiOMek+xs2Su8RBJT2VheyOcY7Z3xRkbVV
ph/5+pMPr52+gxXQ8bBpWyT/9fL9O3pjjRUG+cnb+fOUlGiyJ0kBZH9AwD3f
0DIsweL6p2dnbwb8Gn7Q1WpRhBf2/+sV6dXN+I64qDAynqvI2klCg69XerrI
6p03sKjppLYkDXhKd0v6i35UtaElK2l5S4tD3J8e0ozr8ppNJTnJOKDylvC8
Ezv+ZMdiRrrDUkxzVT8qovrVMd9E7yNzu5qx5AVc1srDTl4HyhqWzvFoPs1l
41beICNeWfrJNnhaCZNPdSmyz6Q943QwXbE2m98UopjeQlsys41pil40L24r
0r94TUmGkGiHQVrXIEeMhMj4T38izhsAD7ZHQuCfihVUBxJWvbcfL696qfyb
vHvPny/O/9vH1xfnZ/h8+cvJmzfug11x+cv7j2/O/Cd/5+n7t2/P353JzfRt
0vnq7clfezLJ3vsPV6/fvzt50xMVNhR34Ghy3ECrNR3eVuBt3WZRe386/ZDs
P5cDDM8HqW5ymPe/f06fSSVSS56Fh/xJ+76CAU1sCI+ApTTOF7B0ZD9JYaaD
B2VKVvFVBfUWD3lXzTP+C9/rDzvPANUAuWBrlqwv2sFo3/1mLyDVWGNJWV2M
dTWn9UDjeRhd6D+gBZEK80yOHEY0o5NHJzd1JImz4w+6s5GggpfCAdiAqStA
ABDI0EXoiedzHBTZDJL4tRlIZOrcw+JV5ibEK9osbrsUs02sQ95YZyF2/ED9
V7+8GjhvECziwIsEc9AMebLHQ8vcyUKHgm018C9jgHIASHKskKTjr/RogVTZ
6IdGLGhGBkthGsC7AB5KMJgQadgG33nosGDGopM5dyBh1yj+YLhggEbyrAET
Qk49S94ST73lsRdkK2KqMtzyc052V102n5p1FMfDUE4D6zN4cUeTZ3DiBjyn
ZvuJPg2GQuye9p91FNNJVYgqKCyWz4Fa7sAhxjZ6muAWdovJvA4epKYXBgi8
3VxdaaJskj+PC9pU/qmgcwv2RzZ3I1Ld64WNg2bFXOQjAlpiuUFKp4MdIRZY
dSOZTdo7YDP/wKY7RNW/6QuYA5mb8AY0/BivMWDUOINiFibcjNAMAfWX0Xrd
4EWYBobIO1cpDly27HPVtzbG9WXBaZcXuPQ9G0JQyrtorY6aZSQ4otke2TRf
FXUwCG+vMvC5DU41Dma2Its0AYPiEzTkddy4HLxFfk3As1MGJEXpERxif3/P
TqbbDVq5G6ASVe2tW37xEpbadCU6wRba23k9hw1HryRKrVPerZgSU3sB09ly
wVRO9h1MmQwyVrArxaWcjf7Xk3evAt1eqNRuE8Jx91RzmJhOpcsXoTuJV2hI
7IH4DLsbykYVZREHhvjA+Hp1cX7+LjbB8Mg0Ua07tavP3568CzwYv//+LwgO
ODx4+ccfomjLk2jja2BZpDNPgbySyCm+jKdL0KmaPXnsq+8CH4F2RDKVCKjw
64uZTfMF86ZUV5aXqbpuqmnBDnqxKrNGlHt7WmpGKHA8cV4B3DCTypZZKBkf
aTQFvK+86yp+sfaZ4YjuJjCyXPQovOC6wMwmAlIa2kav4DgWrNvr7GxYFu2N
Gt+tf40sZbAG3zXJZ1IHrkFpKza3246NKb4MJ2Nk/BGxk0pg/BE4rs00GDRG
0Ay7clBfJWLMSMbAP9Zj7+8qQHvAchtiMbSYpGWI9dcQ+QCAkWP1+oIorc9r
+CXH8ot07r5QBbN7yYU9hslyYKgOTQdWswVPOM6psLXp6qCCznJ+C2CRm0Cn
iaX0DehgUtUNy+V0C4oBkuRJx1MYdjmqJ8aGloZsbiYdv53eriSjN2fGTLQ0
V3GiUnlGLDJmSd6xEHuME++1Dk3W33/3Xm5SkBj9Y482gKsvQr0i7pwfm22N
NmTd293aSV/lTVcIY5WJJsUD6s6XBN0kBWTbfFwMWB4aVPaMUctnkUM9fNWU
xFtqZi7Gg00kOxEiQoWf8lvBtp7idESwVgsXV4xpPpvTHtKTnBjDVpC68Llo
noHwoTDLSxjyoZ2m43dES9sh+7eGTZ8ZVfTNvtXjswV7pN2cO+s0D/eWhZsZ
uyxQF2rwj/xiZaQDKpqTqtHbfYS8oBFG8ARcm07GomKgmATU7bZNolOw86cH
Vr8TTQcdJV6Bf9SLrGJHoA8mY6jmUAPUbyNPisfR9OyqlQe+Xp+8QxTaHJi4
wiMeGk5O1Mrx7zJSuQYzJwtKFom1FWA6fToFv5yfnA3sDjxD1by6q4s7nwYb
4rOcdHKAop/zcmr4AcNYxDaesneKesmG0RY9S549e89/PHt2lAjINbumu0Q5
vxEogg4bTrAazUZlbMH0i+HtME1GLoJAWP+QHgNsDkvIcgNvBdyljIXO7bhY
tKpgvHz+4rlYL8+ePXZubJxsqTriqAuyV3GYbupq9oSFkHepjV7bM80vsOBt
1h3QEbMuHu9Nhxm6rerzjGsIsFpR8CZ09xf1QN5/0bXhuwMxBwUz58d5ynee
9gwQSQ25Lr2JuR3lRoQKAggqHk3k6ik9Ww69O/jeiYfjLW4cuTdvnwU2l0Ea
iBKAm4kIZsZ4zLoHxx3ENVB+nrx1c7kwcPBnMDtv4jH8hZkRZ25KnBkdViNW
bPCIt8BFljPDJ2jFLsXLLfBYraGiiYJb14WAGhNvjlzKmvFZV89lCtWlXUIn
nTh5yFilsOUmYU/oRqwrEBH8yEtnBgVmD7GP60YOwUSCFdgSpn3EkEPrGI4l
WCnTclZig1I4MokljYwTCZehZxSQofTjwd5e8v5fRwIT5HLorquJoGaBw7Xx
LOkY94G/bXkqnxy4mnRZ1teDX0YCfVY0DfBjvJC0nxv5zr/S0V3qXKW6MwIU
K7oxer73HGGHoiKNwG1tYIjuvWXtTjYrqbz2JQtDS6aTcY+WadBTX+AE4i48
/ASeh2JiS0X38zdHYPlpIo/QafYjm/VSdizZfzF8MXw5YItuTDO/WU6Tvm3A
wGHfjazmUoM1RoGFvvtvTTXH4ZiUOVyidPh10OIXSV5nvIH8ekR8kxqIUzLL
vzDZc/BDWwp3EULV+8s5G3cSYbSoSw7XU2/DxAJkGjmo7xcqJMU1EAjNAcLg
x7kNfY2FjEUjB5g9sZiJurqnvc2uc5wRBydK1A1HCNhS+fXRMTMTdgPHfvC1
GY2pratpxtuTifA7Sp753TmtiVHoDy48PLkkkxfIV6qLaUJggYg3YhHgMKSH
/8w4mRnOe4eHfD6VPpO3J391p1RFYqiyHLsZMsPXXcv9Lbz1eUss/hpx6sJt
VfJ5i7oKeajadMRHcr9IaQgt+WMDXN4Pr2LI6YakGJ7qVIYTsWdKBGfZtDAs
jcWRt7kl6v2UN+W4Z+FCYmgeieLxrkJsIrECsgQbiL4L06B0CnVFB8s5u1jF
Z/SrxU40qi9AQJrcdA4iHvzCHj5FBH/EjBg90f2TRSDZSWQ0fQBg3yRKuxKJ
T8BWmUQH4Ffwza1Scl32IWRQtLIZW3b0LP3KJL0y1wXMccFTPBYXR2+xWlEX
ztsghi+9Hm5eukR0ZE2HkNUldTxfTtvkA8ed2DKH2y70JyOCHAd/nAMQEqu3
jVZSwlcYYTUrC+KCF36cTxEIVgP2ajmqI3ARyWh+ZufjA6MwZ4sIKtViWMi/
N631/Iuyl//GtOQJcGfnUoUITqlRc8+u73n8DdjoZ7DYiNIdtTVK3kIaGC3T
aBPtGhOoUyhYfacdhIfbNOp/kfv/vJsvyt3P+7sCMYwG8Nq0Y8ZRb2H6hmDq
d038zEY0MtIBlt45znG1eGGzIuP5i4gDZPLAN4aDBnSPqAZLwTgqoKtWQ8py
PYNs6c5BcBqUmSGMjtZpSOTfimQATLZqi+we3mFBMJsiazi6kS149ocLleiI
ituZesMFm9HAI0z2BoCjvWyCQGpGEx1vZZbZyErnHU7gQwncgXXbpdyraDce
aNOIHZsVonKuYt0K2TtR/twjZKX8iwz6che4QerLWOVjfGjcHqldZzc76xIL
lSmtYLqsx93fCRjgHuVY1bbQKpoYVHIEumGh3fwe5WCXsap1V81V0d6wtKzQ
W1j0lMwRqJ/0VQAoCesJDgB0ZNXfmIh4IuLW7C+Uac8rNuOSekmzvi6IrAfy
GuIjosIxyTeKDOafq3Li0AmT3AzFAXzCAJZzPyY+ObIQH9RvFisyKbENGu+Z
QzvUnls4LnnpnCgcaVjOCgbVVeGkg+PksuMfxv8ydiT4uBTQP42Gl3L0V/pf
9vZtdkbapMCcCEVDTp8eY/pEx3gEjsoPGg0kLeBZ8lfiH0fyhJExmYO9gxcD
/f0t2O6Re0V0Tba3b5ed5aujeBz+upd0HV+KlBpj57IoEo0Ueu2JmXy8OqWF
Z+msvNEcMIE7qgWMKLsKRiIrfUtWHVBQUlSx3GcBNoTFTnrNFMHJPWZozLZk
GF3vQwgqCckkI5Y/09WIz+toQmbNagQppXzGVOLbOZwWtAPLOXDL2zmn2gmr
ZYoPxuhiQMBP8Ua1MeKQKRui0xHCJ9DNnRvlcsGB47GZNJxz9McKtCZsq2H9
bSR3evvMAknypM/vGCSj4NUjz3ucfFUu6FKfii8kMKY6T3k824HRY/xr3AjY
eimcwjdRdUP1BD0jrEKaBsmGYDDluwomozAajD27hZ+vUL+hAwE6i8wOPV2t
omSOEShNrUR1d2fLcZliWG5nRCSR9EGM4i7p7Ko7L8gdEWHG4HzdqDfDvc1p
oMt52R4rPzO9wUMPILrZYtmqpRTpfRO3ghwxCeE9XNOZRNuPKUVPY3fnNlJe
cp8HQXpDMq/rSNTqVUwSd7nQ/qpovWK4mXSdEeEVSJZdskrgaUOvqkmkZCVB
p4EB4rQ8r5XJpN2xXUmERvC74MVOmxWq8xZT6Jm5IabgI0EVxCW6zG0Q4Zs5
fJP96aQuTFWdET4Re8uCcxHyi1wiHHjqg2jNxJyMoY49GvjELKkRYz46Z1YT
yZwTuRqrJWQFjY0Nd4KZgxn2rzTNyM4sa5BjE8/lXAZqsncLb7zBDwX7VfJ4
oSxmJiY+hCCrb0ZmMpGILBWxEwCJn4vhQPim49O6E033/PsNR2S4EKZnFrbY
gcZoewIoaF3F4UmF7OQh7Cnps88h5Bo9RSE/5KspwqvExkn6bMFwSOVbxAkM
wLg3wB2CxjFpE08wVrbBDNIQuIMX0A8w0UA48LqrhEj67pdSocm2Ela1gve3
LuZ8cJk+Abwhom26ZuM1GpjrwSiO/V1Dq9JEmUhZi07wBDSWlf6IM9Oj8YjP
0DkUuSAdKyvE6yrT8eCKoChjdkBcVxrIqgmDhTjqC/VCC4sLfQut+R7aaqHR
X5gdjcmWzW2NIg3soYSjZlrkJGxZ+dOIPUesCnC0dxrJo2zQTLY1UaMHYgAh
q+4njXCgp9HVingwVMlqYjFbwPnOA1RCRehEy96kRvcXL5/byyUGJu/OKjUk
gVmaEV4jG4R5NmPlMEhgYB4ycsSR6VlKvQQSJEZDPhYBAYkNKMbZXV4HwLEK
Fq8im2HFv7ozyifz2P7OsEuj7kkx1ARBNxxxhImtfDgiP9HrdIKzMx0El6to
Zf1+DhDFC2k+P/kYiCIbJ7puXqpLbkAsB0Yh0iB8x1Cq0YD1aIgFF9Pk36BP
1+C8rUYca9CqeTx7hloRjGyiIsnGBINu7oOEJ/vo/8i15VgGshkmHZ+GYRuS
sTDgqC8OROAQ7kyP4PXyFsl4WVWXksp2x1lbUPFUh2LaI0rtRDzTkliako8Y
GyLB3J970Xr4+OVB3BAbj4wwiCRkqxrRRlNEswporeLQiTGeW+haJ+amaRos
p7LlXKBdPrJsT/53WXWL6WE1pVHEfaDJ9Hx2o3cplYrpI/FQE79xKWsGGeye
gSBj+Eh202yhrgaxCgfitImgd/C3KbiSPlVeEdJfTCAWVK8aKmJsxqAxG28E
8/L2dg5c71rwYLqlVxi0NnRfE6VVbaF6nXMHPkEmMFgkh4QsD//o7hP5HM+g
DumIHwcG+cQ5vU4Ou+yLOVkbgXqyUJPhywVjVUhGdnHM0SGBAYqlZKRclwBK
nST8QEl13nZlFeHrOQlF5ZWYJE70MOs8+Wvq4gM8yg0UhEQaOwQ120tUQxbk
U5VIaSeEyrN/VpI2hba6MPR1GI3DJNy5CXdH49dSDpbQONzbJa0jHXy36qKZ
zVdB+NMGDd8LeC/FSTnF6N1zTILLJL9DHN9d/rmsagVwXEBAQPSvg2xf8VmH
K7otYEMeGMSXZgJvRI++vMOohIwWxsU4cIBxKZeP4nERcFcFMZhx3tRFkWF8
6hUJAF9Styx8O+MFKiB4/XfEIjjKnb8dT6vlJKNDD7tGc8lGxODqCai6XWUc
rQr/Jk7DGjIfDBERR9Ek3wSpNYz0h/Np4rJFYWh4cNmAg99uYUjn03Q7WKSC
186lXuhDfCFlZdb+BSz75xxERXRDhp2lfjNQFQk3UgHLWwQ3OXxaQAvE6osp
M7WobHmUsR3VNSpLbTPh4dmAcwnW7OCR0Cr6c3bEhD+v5hnQMjcuF6Az7uBs
qVJnwTlZNPm5lh7JgQrOx8JOMigqI9XlvpAasah01elAlNh7Rx1ZPp/TGcoK
DZtssk+3SGLUu5HRGsT6gok1YuOtIJ4lGk+iWIQqVVbOwd/aMosTC2ii7Cxg
E3PyEAbLSHQQXDQTyZB5hqSKcvLfme+cugRn0fTfq0/jrQYKMhl3FdWIjk2y
CpLLeqt3BFbqIiy+gM1DBVo6oJk1Q0Z11dAQunGGpRcbfYFnU4/CMr/F1Vvg
3QiKVRjaHE+dsW/0ATAZyuCPInbiHAh16D2MgpIqNZJCvxZnZ5uDGpxKcpKM
I+UCmZpvutZUCVGA3Q/ZPTKnAijIebckDM20yCDYDPmvsctwkD7mYeupa60H
pxq/3JfFyKc635QtLGKOCcmbXHiI4/28ELjCKp/5MGIt9KCv73eGnOl6ZchH
lfcjmJwUGROwJcfpNM7thhDQYrIWvBlH9Ub+ZVUFaFU0Hbvrs+74p4yvsrJi
Sva6k2vNYn+CBsV5/CVXpmkqdXHdLn2UrT8BKqGRLskDGW4hXW9iKcLf0XKg
dldBJIouh6raXlWIbOHcr808n0k5J3dWPPoXeOk5Qp40uHJGq0Q0e72K6VWG
wKajKA7wUYYJ42bzs0rK7O4KtSsl+GZRVTecbcWLYHmRHYs2jDxwW9F123GQ
L42TOPiNDPETuDxjPzI/yVt3CY5/2vosiYULkSXWWBXmiH1absifipX4vON6
MK9+efVocp9WCXs8JU92aK0QGUInCg2NN9e8BqEHidnglhrqDXZZcWWisACU
Pz/rxDhZ1ut1AbzDyfR1Z39eF040mgns5YZLUirb5JaumOO9Ix0xi20OHWc/
yejTr3cjibJl0jJtO5wkblmTBfx0+LZliuC+o/VFoTeZ+SYuy6NkRC9M5b30
z1v+Bze/ok8+vMUdX4nzbNjEDh08/ABDkofJB0MP3IFkt59fCJ9oxLByvBz6
KudekuQjFPJhyGLjxPQehX+ljkwY8YYpq+NETWLw3cwVkdlEL7cCwpieZME3
Jg45Xtsim76GhtJHqUNH16UO0dM20McjRCl3PElvcr4n5qCiZN9IJRNLkOZM
IqchRsv5IG26+hlef18nR1NFR04pBTXOWv7jawhSbjeSTAUYpt0adXde/MJI
CWUEMATygn3qPb5RPRjF8datUbKrVYKQKROS5d9JbH4t5fodiBa8Z4noEmIp
wMwsrz+RfNFv+p6fd1m0chrWL7L9+EycmwEh4U/JPhEmWzkD21l3UsKnHDz8
lIOkD1QCz9ldkGp1x4GhcsIffvDhww8+TPpyIOiR5Xz7o8qMHlcX8cMeK87L
t4T13J4gFm6SkXvbSOCtQuh2zY5TjwZ0q+sOWti5dO2w+d+FVJ1Sj7Jc/E2o
2Xv6VoW2F1Tv6umfy6aoe5zQ1azZoZ5GO9lPow6CMHK2cUTFpS1sxucVZlpG
oiTejV+L8vaudcpy4m7Cy27pELGByoV4AJrR/Y9uhwjUx0zibRQml6/JhycJ
Bi4j86mkdYkGHkPFERd5nLaufFknGRq7ZwXbOBKUeN1nw4YE8CpTg/NkVWhq
tDwrAhJ8OaIYX1DQJSSEoHTHU0ihptN+jzXL5NjHq/4hqhFp+g2sCnefGmVR
cKQJFqtcscfD39/bkxDyxhGB1B7g1welADaDXpwmZ7n5ib8zGSNdd8618uIa
BSl71RWtDMraRyUPzCD3sNQsBDHi5L9oVAj9ZChorfDH1sROTQ81Me8t9w2U
6rzCPpbFVdTTtFdXUMHllY6/JanUEkp9jdK1jFI5BlLHqmy0cFGW385x61jL
RuXzas74hNrlAqo+llW7wfIOitFp5LZLaIoKH4x2/XPEtRflqgU/snbQTeR0
yxdWvtQZe3+pHnhWycRuCTInyEhGPNhNBNt0s49CIIntzI4biD1yZk9urYmm
RuW1TzRj+s7LiRHgBkBTUh8cDuVhgMfi9oQ0NcZiW2XdY2/im+kPdqdYcYQz
DUjSAjYawU+/EUiKsilxeYggQSlVdxg+KjCEjwL04JNASga3AzBSMlYmbmCM
LDTwGBv9cVSRQsuf2Y+oPy6x3RYYppIGSwxYlDe8ZE+JpdsGiawaVOUqC2gA
T8At3a75AXEJ3JtI1b4vuFQj+8z7T7YoBlptbaRaJa+jqIa2UKrQjUJU8WtM
pFTzgji+WFYBRsBxV+OKnrmuOIj9oK7QNaVMp9HeESmD8WY8WCtkSKxtTc7R
RLdLF0ckMUcYOMmVozgGsoKQxhwF9Xskusdpuj1OQebPPa27VmzwkmuZMw3u
mhTeL5WzIAmQwpWl0SkGo0nD7K2PMpqKVvDiRodpuVrOc75sllJAtpW0uMZl
OYjLLmsEGpbAVeIQtzDC+peXFz8PfHlnGqpM2rKZGpazkwlvZyPhnVwTydds
QdiEpo76Ii8+LzN2VAHy8qq2hxPpHJJS5ms+oqqYhif6c2S0sylKAP6KB2IE
FJt70kFCxJjw9yic0Opk+vL0bP9U5kEKPRsAxV2ElVqVBtHCr+XShDfx5jnc
aFLatlugE/ZlDX+D0pCNz8Jx8ul9vmp84OTcHLl8hoY8c2h8SlaKRkvw3rLQ
6j8usucJxRiUDqdV5VyVCrgHmlCk9ASJUjuXGgTna0XI9osbXxKQx8FmCYdC
MW3HfhvJ92ATIdNKFquAV2zAsNIN2EQasjB/wRazyXjK474+CzuaZ2ZF6K1d
ZZz5JhdnliigvYx06OEmFEU1u65VxJCNRnt55roGYoxiL3IQ6zlLze4zFArV
jW6awtKKYjyKJybhb1xpVMppPEH4mManrMD5OuVYcd3eGsVA1IPny3QoYYWV
ybSRiCsh5wyUPAisCsoBbfSsunj2L1JFdKt39gl21o5TBrg6OsS9vBhlecZa
YYWPbvTqILgqDDM6tnhFht9dJMiybaRCojwKWkvLCqucmG5wtJuz6SCefxiz
ZsphYMwT6oD99KoK5zEPHIbDEY34vobnXSI8EbXa96rCaL6cTkePPm9j1DNX
kAijnkWZ3jiBfhwAmMZwd9rVZTYcjjQIVhY3EQCtZWNxUMZ2GS8iyhM0wQfx
K/CDi9TLH3G2fjNYByQ1RHO+bW2OxcvQmRpbYVY/hcPKcRyuta6CRsdakE4q
rnM3ge9CBVZjKBp9Tzj56DUP6a7FBtVVaCTUDJdz8y9oJvA6IPcQiexIJXGr
a47iuFIb9+rMFcHlVJIk7MngCEfoCexMg6q4vAMSyGR+91wATGM06b/jT5yu
oDkynJMCJSk4ydERNlUMM6im9E4ofHFVqg3nGzm83FUhVpMk0CtOeWtk8Kpf
06NEUFiFe1pin/1HI9HARFsZsYt84erMV9lCbnQ/CK0L0o060WhSIU60nMcV
rpMn1HIqN0ZKxzHfkmCtYfYDW++N8eFOR4urT3XjhDc5tuSMdYTtQGCmeDRr
4AJufcAAAblFhedp2BKyE+4tL62G4WoIJ52Qz2Xdeh4bFKDpyqAjV0mP9zOE
uTRtqZCas+78OMs8zs5fl25bNomuDWrefNes3znwRThZX15ewwnNR8cvIQiT
VVEdjZllgnFN8UYEZ39mtM2R5hIcs3W4Hung+UoCkvn+rwpkCwLmNdjWO1GV
ftRebl0NM34lF/MS7jldiQdANbAVc3UHYJn18cB56VbtCgulN64M472VekFY
glRztiL8UpgBOZy2SK6E/aRYTKtVWAdE02xwldgAoqS4yHQLcIq4Epe9Ijl3
jyiCqOYJdq9tpOi6Apgwyo7izBFNp3rQxvOVTsgKEgwyEvFl4+rzZrTDbGST
+VpOpXYCv0Lrhpl56P2XKAOu6KZUYDep0Q9lyUA125idkraotaw4qx82sZWJ
twhjFLXtFnQOap8CkTbka6RZBMZZuTFAjCtpAm8aXGv1GcNMA5wwgGGIHUfS
gVWnCCP8g74O5lvQBAVBXDn5JcnZI9qYOPTx/KFfpFnkEjMeJcxwYVgD08ZS
J+bIv6dxe3i9StaLNWkLhTTRHgpqL4TdGUD5AWZljzMu6aQokrrVskU700ZN
T2nuEQO1YeyEg25mnDDRhonwdsSYY9MwjHw3RmC7TlG5H3LSL+SgBz0thMKi
QMgNoIZ6ic+7tw+fPUveBUPRNigBMwjX5OFDnWrF+89SYECwi9LqbiI4fBvi
wtmDXFmvSdwMG4MgrOS+8kCioUqq8M0lCHQ61ZBeK5oumZAzV2wsVJ1IlmNw
yzlqa6OMcdSSIMxldVpB0hv2kv7PH9+8SS6v3n9Ik4//tLd3cC6HGxAH68li
c66hVCA5XT3fZSSgq4CsaOs5hS1YMteAobvvAXKupXuvC4X6DXXDWS+0nHHG
S0WzkkGhqI8FNWr0pwZicJKxHrv1nKhqNrR4z8WStHAhz0V1zy7n/LbIJBYC
iC8Os7gzwyMbhIsOUgZkuABEUH0eTUJzrQihpQlfPv8B7npXeS2Da0IRLF/l
nTa39z8yiZ74zKVj6Q/1EgS2sWaEDZPuWbCuFDhPUZGUTmQHaozVuEL4id+Z
gKuY80VxLI4+1spfUY+T3FJjG1cgyHOVd5WUvXTVMEvP/bhmWDDso61nS04V
/LGAx8ZVVU+stuRyPi/AmFHyGA/s9hDwPN5RObHnihFIJihh4YoUN10u0WyR
/ehxZgTeREzRgQloLSiZBjIorA97GLRPXGyvxNJO+3SIhaXPA1ub5i3bsa6d
UV9kDcv3YFYDYXmPKTDPvChrTO6otJH2PZL1xMsXNPnxTX04Se9aDq9Ezgpa
6guTc9yBIFxbwMfNoESIRfKIogAntqu9+u+3uOs5vHdJqUGMvatvq8a9eOcs
AFYMXzbaxxJx0m4OKY/i31Q+B3liRbBO3USNobP5miB1iz0fZgCpqiBZ9GKf
HzvI3ytBIc08osmEKgx7KLJJzX4tb6DLQQu22vN7vRt2x1HX6BeGIU4LySB7
kmfBVRIO/IUOJ4x632y1wTclIW+O/8+ysEZMYO77APWwj9UG0ghI2RmVOvRo
FDGyJOThmGSHQL8Fe7kOih+ulTK1sMR1lxgz8I6f/BFAhosvk6X2s9gHYa8l
7sUkrkkf18d2gzW82vvjjwhWc0mObZBWcLSz8x//8R/JeDKZ7hwnF3Toj7r1
UtJumQGrMCB9aUlKNjud2rwuaeHPO0knLMQyJpLd5G//tOW333a6D7Sb/pz8
Tk887pqu3uqgX/VokjQj2k/pC4We/BchdnnkEjZ3g4RGXGVZCHYfv9insEaJ
aw4+oIvWcwX9mzuQRPToK5eT5Op1SGlmZAalieYH8W5oClHi8odQ1akb6RU9
fK1EMXzHHE8hqThBOETqMmaGwyEebN2lg8edR90wjiXWLBAkYXjup1/vLByX
7v2XZF0KHQEf4wOOZ4egf3gDnotu9Xe8VZ/037f67yv6Vwd3agHH4eAC8RUO
jt1i0fC68i8cHJ7Ofq50fZTBC2iU/FwZqP8o4cw2TGndEiQGM7QDcoZnCYFv
alCFj/fOgQ0xv7udkN+U71QXWDwP979jM9ecW6Zv/rZBcPvBP3b74bffrnD9
xgdsIJYOhO+PnlvCLU7Ux4jwMd+qv3/D3V33apeofEfsVFytfNd2EDecVgz/
Rsf0VAOO1I7kaC9fSmutcOlcjzo/NnC8EKkJs2ASA6vgD2GUFH+hYVK9nXiT
+SYJm+LLJG6KP0rglHzro6bshKwhDaCO0CQVu2Xg4jb4LsX1YrwNPz3jpUn+
/M9Q9Hb+gODbKl4BvHWl68amhyJtfzz43qTtWqVGzcoUQYtiOTuQYViRBWIh
i6Z3xFItgcnJogtf0NrQm+hTTzyMveSPVC5ScfbwRaGIkyvheqJPf1NxlwbS
7jd3m8m8hx++LuEeuz6Seg9f3BVjD18tVLrlGrqEr+sZk/2wYc3XxVH8tJtp
lbcvn/tXBuKos7IQQSKZUhFMqcil34JtiYXLI68KZErnVSJUUideUidd1l7m
RYabdBI8qSNE0o4M+Y1vsEeqLHlk2CoynnTV4aNXqQB45LoO33/sdDwkCR7b
/8ckwSP3d2XBI5dvFwIPzzEWC085RZn+vE4jyv1TZf5ph/ennvWnXd7vOH/q
GH/q+H4as32lNXdsvVMjOrhtvSyMfV+sBWVx2HAggNkfxLGyhlKwgJXgJjhA
1mOftDpfECuwux4aMK6yajxe1hJKiTdoJpoVCMhbyelQfj2yQKu1GlouylXj
V7X2A2JNLTYznJ8LEJVmLTQ2/Mt96puBh9vYXNPKZlzCy4wlehWGF6yL5Ls3
hf7dBUuOvQuRMe18AYjOwTmu4S8AeHl/YFE7IFrRygLuojEbzzOrahNUk5Oe
aHBQkvSXUP6PDTe2JTktpRxdHnMf5qqVSCRprZ+OuOVD8mjvmK5A9sKXoSSm
QC9re1IX9zDb27/aPzja26P//0+5qCNrTcDuxPK0Z/M5repF0tcR/cXAbDpQ
A7lno3TtRYVd7MKuWO1taN+zG1wm922QsDq7A7nACdWoMgP/tFFa7h+82At/
VQYsknBns9g7fP5ib28v/NXuUoG2s8aXjA151Y2LIU9XyRVQiKT/Vir+Jq98
2cmvJot/kTX5M8ol/5egfuWfrZyw6yHjyjI4bIT9D0FdQABxfNuxr4F1U9Yo
9X5fyS8K9buuxNoto/gsMSuOQv9Gy7GmJDo63USp+9nei6u9H0NK3UCrEeLR
IdhTkJz1VkreL1C9etH8JXS/2G2babZbtshf/U2Eu510Udi6F8myTcS7lXz3
hRC3E/AWEt472KinOZ1suxq2pnVtVQ2evzBx+P9v/wPbf/APbP/ei2/a/oMf
fvhP2P4fsP07vzmOdyUs8dIKtyl3S/pnxICkvcfX87y4RcV/8SyQJd7+i2+V
lfsvH5OVEQH+v01cYmm6EtNqET0gLYcvvlZYPt9/vl1SBuKwSxz/B8TjdlLZ
Ii1PnGbotFJX7D2SlL5OON/8j0m/w+xg/2rv+3+A/T2R/rZS4Iaie1/JAGmJ
5U4j4QeJcYMADGlxGzU+f/EtvG//4LljmlvVt471vm/Sct1U53oD8DA2ZD1Y
HYKm922S7/97W79B+D1p6w++aev3f9j76q3f+5atD6TeL+UtONcZV2MkDnHK
3U2Lia9Vpmzs29nZYhfOZzI1u+LvYG+k0bCWXL5sy6nkSqBPjTlwJBQ2zEmN
ymJJ86g0LiAQJg9Zc2B0buUO5EUxv8859zkNfc1aL2y8ju2bP39D3NaG6K/+
WixW+g8EYmmwtwbYhkG0kp2bNEACVobOP15FefiNOgcOP538F9+ic7yaVte0
k5dCCMnr+XiY9K1N3rj4i1KILdqDGsh6fdZH1ZDO43dbEqgNsZFiPl6pXtI8
rpMc7G3QSRx1P2jGf7URPzzYpJcECvBm9XfNSxkAy3vDveAbgMgHw/3gm0NW
oewbz2P2hj+IXrWNxyAkDW3MJvkqGtp2FPjg5feyIk9AfPf3X/6gW7PBhkt3
HkNyHRHwVStHA5/H8c6twbpbqWdzPYqNwIqgurwmMUvgtT7YD1TMDyjdzNUE
zb/V75YSw1m2hoMfUUh/8PXQ3GtN1zaW2wZlIV3KqfVAN9YUh5pyfrN0cply
+VPEmZ5eXlhzmgE3DgnqI3C0RVBJj9+poRQbc3Qk6TYsYcdgjjA6S7P+mooJ
nSg7YEsoBqWPSpMmbq/UKXbGeYAod7al1pnLgJW4uU7tckQgMnI5ijskZhly
H5yc7RQb7VRV1wqhKERDMnLqiwp06597nHotfYnzWBqfv4Igl0LLsGqeyQ2w
+28TEM8B4LJq+NUArpG+0flpNXTaoZLvXxZyzZMkxDY18SER0Xn+V1mrXbHQ
edZ26/MgBmofhTIC3u3u3c63ulPawrccD3qgMzFzqFNpaLyz45sUg5HMJ5Ig
pSQ0WaE07Hit5bTzV6CP8OeVa49sDCHo9OtbFfMZdyWskd+ZWW9uH4uuAfKX
mi+0XgebW4Pb+7jmBtJ9XOFb690mqdFBXQtrQ73/xx98W9hTHDlSnU6PiIeV
ruJhy2ctbIzFK6y38hFaSmckU/78w8vne3ujQfiqoWRfhUGbrshTnkyRfT3S
211vQVj8KDY22NAW9qN05hidX+W3yq/e5E2bva0mnAw42txvu0l+GP4wPOQb
8OlggPg1ErIczrlpAaWh0+ub7B16C3GX07Wi0+yA6mZPkRVQSZNtVP/oBrof
bVjqT0Wx0BIRvnqUD+kV76HLW9gUH27VXLSH9IYAffa3CefLgkxf8+Q9nBT7
LI6j12FbTLwJ34X0tFIPKtDGz7T4leSYWZu8yt/vJMudDHlFq7bw4ltzBiWv
odSUAZYNYILc9ob0B+QI4iGa5ZfMSOKVmRbvXkzzlouwp640s387LeEEjZ8K
ia31Mf6iBvIDXP95dUG6ouBWFi1371AfKol9Ult5zd67V0oqI5dkkHr7SHsR
mTotua6oVaVBxO67ZiCpOmyeYUG+uOZL3XTY0aNKksRsoudrtdTka0bYliQR
iMFIOJ1PukW9d8m/cGky8aVhzbATrRmE2MwP3fbiWlCo0MBa3/Ux6FxuHUkk
Ca+R5gysWbGvX+p5haGyHOq8jTkyXz8r5lxo78b1iumfVZeDbXx+xtnBUlDG
URgWDnKK1RhVmXzDSCYI0mAKPoacAcaxoyorwmaMTFobdSEFB1gVKpEBtpwi
RYMUay5swweHpcmW+QATyMdcxmiNn3jJ4tmZLn7cgV4bLIHJA6OQPBjfw5sP
ri0bZ01bu2LtgKNVLcYMswjAwBX13GXybG6bxTX3ZdBc4JY3jW4mHfbfl0W3
xZ7mCq8WeRP1d+YHHksbYitztbUDc9CP+OEWxJ1y6lsr2w8kHERC9z4VK8lK
0iygeA8WrmGns0PCKH5PTRxzjxwZaQx4Ij3bIDreYAcbFicLMAOiVtp57kVO
6jGCy4svd7Q3klVi7w9KBcaNFZV/SFyFT9oAkA5htZxZmq/EnIYh/NYTbygF
XUgRxq+HL1+6K9YFtbZndDt3zxRefBkXhSbzYnoP9LPlRHbfY953FpZmRwm3
YZkKW67JmNeeMpFxh7XK52ug1oDD4x/vp5n0OVXECA2pr9l1jb6NQmraD0Aq
59R1VWt3x/Wi/js7H3yJwk4FzFDI5OEJNZ1ZqywQBfCbIntUxSUnJY3r1aJF
5djFHULEG2Kalt7IieHjFgid9C60g3h/V/kkzLN3l2ly9eayU34zLgaKg2mi
8oa02bAJUqCKuOxky7axtDMZUL5WB9QlVwdFK3lW6Lfg1cjbu8zPbNlIBiUq
hsYtHjj1FkmxPuM9QFPQylKrFCBfXbvQS1qtGVtREVbZVytEtiZ3nlA0BO01
aZmX2uODOIPUx7MSaxwecl2S4Y8y47zUZv3G5dbCxupVI+XENKWK05eZ4ans
xZtuC+YQx9bZQAWQa5ExlVtmUnVBNIt6WSg3IMULMz0Kt9YqTzleYoc8a8C3
RPJg6BI8F/MUce1p70INGZPmnBySR0wls3bTxGZYnCh7qIjmtNEyj9IdPaJI
gWZ0y6Ve7NTxFZJ9LDAGw/VJ+CFyFQrpCmxVBEnAc1UTn+vEW7bhMUQxmurF
HVqZneQSCs4/ofdAPSm4e6NWOOxQQ2rhcIW7ol2v+aBJnEtLCZbDFRbn4kxf
kF5qeYVgHhPphJfXn5YLDP9sKbF0RZyRzLnuPOqu3ULDXWBhxlK/uh/0lx2s
9VdZ67goCzJxL5W3gVAt7w22Dy/Ud00omtCtUEppurJQQSr3dGXJsRsqbko5
PgHCrJillvIDMKNZ0eDRlxc/e/tbaoiGjW46HVGEFbwK/C4iklBXSxNrmUg5
AqzWGsN12XwSql04PdmY6KxspkWuTVThF1IPtyvXC+1zsSCDWPrGOMY5LZjj
/lSsKqXhB0rtpMGbrf4hXEmxdu9s869jj9BiI8EbiSJWkfWBvx6ewtg0z9ap
K43dsLC2rNltVYms8ghOoGNnnbTOIpIlrI1y1YqVLykShp8WImF86VFoC2wG
aF0+0e5d/ro2cNY2ZXhQ2DLwTZF/4kDUQN5PzB8ZtiiyzRUD5HOB97kyAOVa
E0L6ps6t6gSiJOr8BrEbC6xQPZftmThzGP2Kee8FxF3IaDNikaLfEzn6CF6/
LFnmANeolExgIPqiCV6LZQU0UDbTZFOfN+FYrHgH5Q/xSqnJ2FSyH66m7+ZW
cCil40Uy0JdbtgXx8Ct2hQGgNxORNdawfbg++ylNRvVFaVx4ypdnUEOZaxgB
lbs8Tlo3ACv442sWMOheRuPVfdle4l2eKzzEW3fejBA1ay3fmFWP0pVcZ/uk
mgUR8Bg26xga140SkhneFaoJzLTdgIMqFVxa0JBQ8dR6uAqieG1lhl3N0B2+
rroZ9RsDT5EViNHKP22hjSep2VBgSZS4U8FgrjIyPexhFww+CHJsBBLRk1dx
82NfrnC4DoEUEElWlCt4Wy7d+KThiy/ZayCA1QzlzpSuJytexjKzmbGxXlfL
BR17Q1s+V+UkrIPOU40fa72aiZcUAZ6W1+O7EiSqVW+LLyhkCnurAaeCN15r
rTHLDngTn+hUlozO1aRaXrd+RN7EBZg1waQBRme3SoBsMmwCBpeN51gLqQfC
UtZzm4SGe8fAgW5YOPEC5RLk8VI38WdXXp4L7dA4BLiA3a8VXVjuuLbbrnIg
91FjPcJWgx97nJC5VAQVpmOrs+PsieIfOv1U5Yi4h1dz9Mfqu1aXj0iZR5wF
w4Fao0KwJ/SGFWlOqGAcYRVSx5W5liN8aG8BR0+kXA8znYPnpE4vzTlHQnfK
3ahpTwARa/UYPDOY55EVqRMYIGeYOne1P2uJaNGD5jDARYk6F3zqghbE9j4+
fbkociIMftFgCtLUQvFDXME1ppHpjbmQAgtdC8CIjkEzdJgaUALRUnssxdAh
afl3hKsMUtEvGHJWDoKKwDljd1YVWRsW7v9fxuTZuLLmqDRtOID4mNgpU5WK
p822FKSWMo0QOcqRV0TUgfI9mJwrDa/tVKv5WKpSGm/OFODjA1SiZLu1TgZe
J2raIio9bB3J1M3k1G7X5J5o444WVW82PmkxTlYCkN/ZuG4rnNTjjl4IznVb
+Aw060hrAklZL96GSVjSJJad+gOO5BY3mQWQWdFm2u63ajUExaxzq0xsI92Q
AiaLrtVffG/Kso6LG+c3wCN54L5WoK5KNMPUa1oyg/s79LLBleI57WpWrBmM
sdX13M4zAgHM8GFWaCZRXEdErGUdlJddTOxOaXPuEtHYFD5/tKa02/p8SYte
1XbkMFJY5ms9loXcb1hNduizRJLQ92e+csaO63m6FfctG7H3VYHwsIo7dezV
vLEGB0aXubVOjRqr57QQ7EoJUWjHPqTQTNQvBOEopeJ/aoSayhB2EJHqy7yc
xNMaSNMn9FZ10ISyJ8M25Axsgr5jxOhhHFx73RkqKhxJznbfihq51UCtP3kH
4huD8oPipOGCYl31jL8sG/NLFPo6VB3Tx/c2OLF6Xb+F0t/fer/i+3+175ue
q2D2W98CB+7v74dlPs8RkbuLYMjbOSuqu/6ZoF0kRfokfg0kGhcTVoqW7TRy
o//wcv8FK6I/R3foy01FmS1YmnF1OXeTc0knh8N9bVCKKV0uiUS+PHt21K12
gwXgq06lUqV63afoW39EQp10kDJ5V46raV4QbwGWcJsn/Zx/GF7rF38pi0KC
kvlZl1HlQAMp+80Az7xa7w10Sdxs2eBH19c8n/IvF8rzA/XEPaPhOTH02YQe
RWlGwtRmPUqwBNJIpLEmwHrYtI45nfcgAXQX8TzQ0yYADVBsIQCkpBIi70xj
tfD45++f/3hIPwslR3W+tLZD0KHBl9cxXlC72DLfJ8TxOymFuFZZiauzbioI
waUjwrIQXHq64WXGq3vBOvfiE4MOcUWxwPt4RbcSl/JqTj18HXQXu1xea2Ri
x5i81G67TUY64/iTd2GijmzWuF+1yFhYltTaerhDYw032U3TcmQxcrNRTB6Q
B103s5p17B8EI0AE5iyfF6j1UXEwTCvNvJbCl7hcaCIeGCIL7bmjVLaZcVix
TV+rPMojNtZjlXqBRqy3S2N+57aa2yh3TUvXHTX3fSzWa6fQ48MVZ+DJmAcr
ZzAFaQ26k+nxoxEXI34gMb66hKA+lrEUE4yqP27lQUkfyT8la33dWopuxgG3
BsItsXybFr03sE5WamtrhrpuQ9kEAmjB0Qbi53Dd1ESKMaSl6g9+iLm/Bjct
UBqlLsFhg6kdO1mcuQ2HVFddyR3gsEXHVkUi3Cu7IXAosexsilsWJzLxpYQn
rbn82YfQEWLGoVhbYG27hjUD4EkVzl+La7FktDzp93uHh8pUMBeu6awt37Yw
geQiFElgyZgEx15w+FMUoDQtPFYqFZnRek7crFzltCnsAIQaNyB7gVBF8J+M
MUdS5GRhcEhz7WPHp52TzUBtxT3rm3K2TUfVh3NUFXq3dI4a+uwh7HXFnku3
nTdFMblmljXf7l6dTwIs2IBTGnNGxxI3Y/AiZEmh3dn55+R//U2aN8jAUab5
nLVZkoKorV9IzxnViQHRk4XxxXw0gr2J9/A3TQ1x10iYEGeHBLEv6unefhJT
F2Do/MHiTnXLKWToXAiutKjE363CvBORbvYqfzClVmmIo38nDRXVTZT0J6TP
tpmpFhnnoGQd9gtiZ1ofcNQcDKQ2D3vA0t4xTwSXbLCqiqxflphTtncI3eii
kLQUGatxoc5BUl7EbtRRPIwRN3XeFBcVanuBcMwu4UaY6YJGdBWz136v+fcl
0RDiWwdrzBa0gtMYnMXjTvRT2U4L3fwJdyiqpWh7WAo3OLvmOGARuEG35hqq
dXFfgyXMfWS6Ih9YRqGNM5p9W4v3342G95Vd1DoiXxNYEJbkjmSuVjKZBKvx
uayWzXQVbI7sBhv/c6Abt7Vrd5BPyzx0N/gqwxxNNpnoTr//cPX6/buTN51c
JmERR53WOlyurG/9IK2L4z/SnjFqzTj4lsaXw+TjWlOgBtES0+B0Ob7vJ2OV
XOIIzeNOFwt05oUIhD7Ajz6GVPKxfdBCd8P+MspiUU5CwUgO7fqAUuAT53OT
SrVhxfztFfItrljL3359QXwt6Pe/oSb+cQiZbK+JH7XY1MK7gts0cXOCDGMZ
Mu9Z+AWaVgA/tNi3jydCxB/wpQk7jNTtP5eHkWDordWm62mPicjt7uvmov77
U2u9oxY1aQrQxEk0H4fF3MPS9gGo/lCl9lRcCJgNapuTtr+a+srnUNawJSiQ
jsKFwhpkEvKcsHT4WJohyZIjrpXVf4kStpZLzK3k4AjjdmvL12Vc9R3Mu5t+
KL5fDmfSvWGrC4XmwXPWer6YN6nptMTR+qajv/0TKpj+hnJOM0R5B+a/+SwB
jgAI6kVFjHq7PW7c1LMIeSjdiALjLkPdVB7xgOXeZ95Y6hEyV1TeHBlsqDLy
tVYs52dLKUAf+6vxWEb9nYrJkl8Tqbeu+5gm8tzbk8xdyK7mY+9+a0WVdwVs
HcylYcz8u7hPs6BX4lIanH9zOxwGL8IGP6Wk/leuAGWHHw6OE8vWFFOPtymI
c58HalyQiSDlXTO3QAglOzYQUIttZih1LcEZN/FyejsBzgviyCQpcVY4LM/p
5tz5QOwBaGXVnFkW800dbS9E1HoJF8gOq8wfi8XLwUNraVA6qQcaddNxLZao
yM+iKJAB0dZ+vHhDLMTab7E9Gka4OK8/9nVZTp0KQEpY9kDUyTG6YEDBcbE/
E0NDs1z9UeAQWOBjbhuub4/qo+WzKjyUzKEld+GYt1YjFnzLbm8lu8rhxLO0
0WauDQ217i8LJnkI+0JkPWi5BCf0pvXr86ufk1cX5+fvkl+Jp3HqNpywpB2H
d4bAGVlv3O2GjFGPuTAkjnB8VNsIAjMHRxamaTKnuIULtNO0aMkt7RHltl7/
3WfSxZXRcba1KbSpCXnr1JfIzNU48Ts4OIWqjrFwUzmJ+O1gby97/6/GJfi1
N+LiFWw61bDvurACb9YpATpOYilPprTkySm3QX0vJHzh4izupNw+B1LTW7Qx
e390wiLPso+yE2jxevdR8mw00OJYZFojXJedJhqfFur83rY2sxtVhifCMoW/
xNqntI8hw4OEFJqgBTzHKuM7foOsRHSWZOwx29ZZ0jxYop2FPQeNRa7VE0wl
fI2jgExQddN52KeGo3Ts1Ks4Etw9XWsLEr/1qaFtkDkqvw80vh38TsLFp2wN
quCO2l92w/iPg8gbpjkvjEzWCpKhTxRHmbFeklSVcAYVi3zMZbFdOOCN1J0v
ZgsE1WDjAgnG7rfMnHquiVeFB67Y5A78c+AO2fbIpfhw8g+Zc4qOVz4JuRJj
zbx6uTBxN6Yo9l7qL3LcrIbhP41vFAxElPmUuUYQOxUwWq+H+jA+gXSkbv89
53tZlLnWxNzQ2CW1zDFPaoLuyl76Td81DUPzP0xTJYOvCmpfrrVITmMPbqat
dPwdnbqXZiBHIioskmHiasBwIHFIJ1VWmvDK4F2mot52DqREOv/SMt9cSCAE
stYqSrTxBYIgwQIWOZPWq19epcn55cVlyvGkMsbTs3cQ51LMb6n+RDjeWA8p
8gkHRNSfOJZHe4IABt8M1vecMOWp+H1GVsisakuhNIQRgiALLxvRhU/SxTkK
xpXJ7vRcCnu1iueduE8QMeac/kEEt8hPMbQgAmuT5smi4hZaEaZzoDiYg6XY
ff3smWv6J7bms2eOE7kONdr+rzat4DgIOQs7z0M7YeCS3kbCQozSXbVJBwHc
2aq9lu0d4jo2UwdB9JvWYvQw8bocbh7tJ2rlSaF/3Jvm7Y6TvnUoSBegROUt
Vua+00kdO0s7MeXWC3DgH0lLIddAVKPJSnld2FGHiwOYxLD2fe+iHsuN1m7l
rFz0k5T0tqP//DblT2pRbuEucZvy9RiNsEU51/SNOnvv7x7sHo7W2noDH/8C
/t0k1mkAynWnmXgfBtH0s7cYBQ5LbvMF8xL04+707tatqpHJbQGRnabbmzpf
h5N0/ZyDZjohnaRJEDQXEy0TfKA3GkFl14UoW+5MQQq9hTr0v7EdlMF6Q0sO
kwn6njjWl8rQjaAxddiNA1xA021NJkjUylEyAgFJKLrEkPEotACGRARxhFHf
GwxO2+GIu7jLdUQkAw9S5lvM3qMw58Fa/nIIyJMa/rL7sGvi7T4UD38cvtAp
/9yjd1Nr3iBEeFuf3QeTCDAHl5O9tTVu/8IDdcz1XevFZRtwbSZGDop2qpE5
Uj1LGw46XoCH24JBj1YNMxV1nijo7cm7s5Or9xd/FaLUdm+sr5YsKhRqWG2B
d+MeOGH0Jntl15pYkVCMGuWEQHQ+dX1zuPikTyn3me9MdADQb1qOTBSDiCP8
vY2bqbFMDLQYoD+Vw7tUqdG621udm1DKdItYF4f2LnpX2YmvkrU9jnlcL2y9
1oSrIBCnxCyITOt7oSPVarjZpp52DL4Db0N4qbKCzBEHdrsRMeMYBpSxWaY4
kSJA4sNiR+v0PCJ55FGPy6dUEATm6FLhBqxGZag2vmfsEo2F+hgrzgDNCysS
4BeB6WNl0PmNVsxIojvIEq1zUrg0cpT7ksnZ5d7yCHXWTY36UQVIxUXhbMVI
D8R0XV9qyfr2JKS5xsJc+tYh68/GHBP1uBwHxdToVxfcFvjHXWmgATiaPclx
Nohn4aPdCkEK6wf9tpjKoGSLFnTkfRupr7LfVXfTIPo7Bd/rVuKRb7spVZvq
9Dsi7f9gkOHBobPEddgsS7zmeJR0FFVVFze1dYRVSGqjb1t4vKGrYaBjDwPn
znaHR9IfdxN3NYuPwRQyplCznPglsv0e1Ck8gwdtko1ffA7iLW42dzRkbXrN
6dJ7V7XZReHSckRZ6Tl7Tf0tvbVqY/6Svp48rxypYuCqZZn4h7KBxtVa3Uqq
tHeobWCgldtkxAnT+Ta3mge11O2x5jFyZRU3+DsGHoDRjDFzfHjNY27xS7r8
OEScZ2f3Rj4DPbqmoXq+8h3J3+I6dbFObZXpx92TD6/T5G5JZ4ojoNB+iuNg
LacYtXrm7e7Ja8StTkrOKdd8PIdCtEHCC26q2ZBot+cq0CY+nOvQY3VD3Sxy
Om4Uy8FjH84VE9klmUQhbgm/mrBXDjfrPyErTNAwtoQzSys1KOyxZLTjDobk
qOgaxcsQZtF5Lpel4TolxPw3TzHtRkhjL84NHSLG8sv5ydmoK1wtXaAP8qF3
M+6AqnujgayV70dizUVKcBb4AKWnIAdMTlcBBOJccdqSnhQ+blFgURFzD4Qc
8+MmDJgk5/vuaYLsACw8I3WipYP3QWiZJtk0UkZDN/z8I9394SL2Wfx6eJr9
evkqiRawDGooMWCfnCF+JeHYHrz5GP8lTWsSbijzn8ey+nth68wQ6TkW8e9O
AgnkXeeWt87D2m4lwmlweSfnW9PbzR7diKBZyxaPkh077QuXcJ2re+S3sGff
yil0RAuA3Hoi53R0XxSfpmQ+h1lArHelYc92F8xD+oN4ohOODkq+KkYo29tP
1SUsY97UrNilFkhNnmsyh/Vgb4a5A1BjZIXGRcmb0IKsUN3jjnWEtuA4Slla
UmK9QWXBYJjmtBp/Io174R1CPnIpOf3l5N2r8zfvX6XBEde14Y6uKGQziMGw
/S4YZii8w3bVN2Uo7jh2H4O0Z9zTdD1bXzOzhDuzmRLGODUS4xREqLFPXytu
cXQlCxv26vCGqAiYTsOYHx8ytlYCLOyHLFVjguPQoW8fFh6pIJ0GfTI4C59w
vAYlw8DRxOHaqLwN4x/6o6ij32jg4GOcRQZ4SYF6oInUKBV/W2BNq2MLEI+D
y0RdajS0x72ecXL620a4Hr4A9pWJvPOMS9usj9DPValWW7syjjGz7vFTOMZq
7u4aBKdp0TOwDcexF04roDVx34bNCO0N2RkJjJHrGjsaBLELNGYuQKjWBTeT
ZiiMhceuSJtjA4SlGHGS/TNq67xQpWrEHjtrn7WWXNOnS5+75lrrJxoqr5Cj
c0QFJokNCEO+7LieIsSPe7wLS5WjGmNVChE6jxxdIE1gEYiw5pbrxB/QumcO
43GgLZ1Xp08a8CNUfcyZc1/0bulfFfvgJLKFTU1xfhuMKCmqCPdcHUfsQrz9
UifFdFq3xhWflU5Ncq4LYpzUBTkwJJA5b12DWlWt1e9di5EQwvrxh5epKcJN
FBDl6DsA05ieLt1z+RHI9JaDyr9qsU732/5AQM+1x3Llivm4iGNhaHXV5A5o
F5dKugXKozSRgxbEuuvpdGOByL7UoNzt1J/c7dSM1F5rmoloik8b9DWj0RWf
uVxhZYFC3hqPg/NUc5Du6ZER51oNV22ZtxaZ93SrTiXGPYoVJL2HfBoIUHNF
c2Yk0DPl1OKus8Q/lnxxzNoYjvxKigFqmJ+KHB8A54WhVuXirzHZ7DqsYWkz
FZNKA0qZT2lEbRwxzOFqLkRN95119jDnhFNQwrybfphloI7mLZk0FiEnUb+S
3sLhTpVWdXVpK0oRZij6wF6L2RX/LJlkn4q5BTebzOpCMJJgk/TDcAZSxCYM
rIEH3uX1ojBK6nG2FkTAXbnAdKW7NMJZemYrMeIjkalLlKex4HZTFTLuvZca
4ic4PJ+roKoH/ecGEaS8xFrcUm40+xvfJH0fU5Mm529P3u1iCb8/PHgpBClW
1QVdAyUQGdqphUuw3UYqkaQTMMlxHUULglQ3sSuU5vylIli4fg+CQEgPXlps
ycYIouDIEhn9lBSZJmNzwc67amG588KcXjz/npmTOWSlviw0gFiKKms2X7yG
tpHy52BAyUEGJym01rB4XoUUgjYKfLa1iJbi6crnWQ847tTcEkhZwBAwDeRD
TGmDuYMEe3NvDH0NVAp+KwsFrgfbVTilvBWXQMaedUIXLLox9zEnloJtZ1wK
DMTyfqUKqa1Sn/RtVCxb+Sz4yUDX7tgXCrN8n0CpCPwCBnzH/oP+VjibDOKN
QSvcJeCeo0MQN+jLo6CAsc/AiJKEUhdRsKkkpatGyZ4oHCWZBYcqBIerqvPx
tPAV1hy6w2FXri4lkDrVD33xRCtzSi9TE+Xj1elxWHXKLlWqNs+39FxifA1n
QkgqKLzoLagNRRuPt8fWJMZdDIRBU5PH6xRsq0gQlyA4jnQ4Fwi8QX/r1ip7
zC/l4grzkO2hcMuxi4QLQBe2qToReJB+XPRD0sFZ7Bts4c7dURgHG/An1quu
3r99gxIxxZeUC2sB+uAfTl2WlAAeAozK6b48fQ3fEBTA15fvd1+fnyYH+3uH
+0cHewfPmWOsmyi+zoNB2nfcaifrApVJn5VsQZma5cxm6pZt3VM8kJl/5qIO
uLaTP6bhiuh6c/eUvDB17yGRxngLt1qQWELO6mH3sM9nQ97BfCXxnVFkJy5k
6XOh0ke+xoDfQYGHH8wb63p42xVxqZQHRBwJQgda6Z1WeLtbLe6KucZEwqG4
q87FIIQ0JRMpXoMRVCluUpdK+iXrMx8v3gysvheyVTUOP874YlhFQBUshWWU
uUw03aDHsrH2dnYcqLhrdSe5fi/Db+wCYhBBs0XW4ndS57BQRT8191DCKoRU
MAsCfALI4StwBuc/6Fm6MgyhFHPPqhvRIZ2+2JOz3lNpF1/lNYCeITkn18Db
xm0a1q5WbTfItA7U8rBwp0PicyYOyeANky+DqOV+sywDRrFF59RcNYw2plDm
SUu+aNDJ8fZZ3JwE1q0ljz3vQHfbQbs9RMCoq//rcgIV+nKro/1xJ8Lja8W7
KsiJpaYH3HzdK1xScevyhobJ65ZLXDbrhOq8aR0qjL3eXwl6hXELbqqS7fJV
cxGn8xO3ZaSmHKBcyVqxcIyeSEdV/11lwErSkL5rkh4PA3YQLA+pGyZtarQ0
imDzRpRb4uGPw9MQFDDbQsR8BGk/7uUZmQRDIkVgWroGByeTasFgCmOGPoBu
f7g/svpdLo5HwxQDt1zSj+8IAOw4pqSbXsFkEYYaSggfgwT7w71RtOeDroYv
2qTmjmwO7HIqRoQIHSWM5Is3d2OIXx82DW4HmOQDw5zbmpQ/1DTvffR3vtM3
aGMaWLfO5hPQRMFeRGRMOX3TuSU29Aqi/eXAQAzFB6cNvHkiwQoPqH08BVX9
lKa2BDxGPi0N9xSPhKLtkk9V1SGmLQgqEoSDuhusl7TSj8Axbnc2nxm680y1
liABtx/x0aYpJEhISlTkU6Dtq6CexMC7gh+0utn90F+zr+W8HXv71eQs0qCa
ijV1U1oMz/cZkd4MzqWyhtccBwITdsLyrZwQF2/0FeTZ0bYhXCME6AXKYpbj
6rYLhGnqLwOLSKn1gbzGO4PtOzL/hqFecRyKBx5BtpzraLjm7sjQ1xHzmzEj
8wIJNM52KCZa3Cyo7SQl4E2OW8HoNAKv3B2pxOdFtZ4GGzIDuu11XYS1CCQk
UrsSIS7agLP1XAAfKuNF4GzSj8xVeS2eVBdL05s5ZyeDTkk73iJiVeqRkB3O
dx0nZBUzuLsWteIi+qBBxqlXVhtRL3REEHktNwXMSGz3jau9qM0imN2HMXSW
KGIxuhsieGl0HLl7HGZOPIT+sxOBuDNyMZlKlerdiXw4sEQLy6yp0q4kkOqY
viyDubWK+uu0lKQvTqtanEVQqSxSJtt7IaUTlCWawEKdmmNlO3XxWE0FkurO
Nznc+X8AgTbPQBMUAQA=

-->

</rfc>

