<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.5 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lopez-opsawg-yang-provenance-02" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.4 -->
  <front>
    <title abbrev="yang-data-provenance">Applying COSE Signatures for YANG Data Provenance</title>
    <seriesInfo name="Internet-Draft" value="draft-lopez-opsawg-yang-provenance-02"/>
    <author initials="D." surname="Lopez" fullname="Diego Lopez">
      <organization>Telefonica</organization>
      <address>
        <email>diego.r.lopez@telefonica.com</email>
      </address>
    </author>
    <author initials="A." surname="Pastor" fullname="Antonio Pastor">
      <organization>Telefonica</organization>
      <address>
        <email>antonio.pastorperales@telefonica.com</email>
      </address>
    </author>
    <author initials="A." surname="Huang Feng" fullname="Alex Huang Feng">
      <organization>INSA-Lyon</organization>
      <address>
        <email>alex.huang-feng@insa-lyon.fr</email>
      </address>
    </author>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <date year="2024" month="March" day="01"/>
    <area>Operations and Management</area>
    <workgroup>Operations and Management Area Working Group</workgroup>
    <keyword>provenance</keyword>
    <keyword>signature</keyword>
    <keyword>COSE</keyword>
    <keyword>metadata</keyword>
    <abstract>
      <?line 73?>

<t>This document defines a mechanism based on COSE signatures to provide and verify the provenance of YANG data, so it is possible to verify the origin and integrity of a dataset, even when those data are going to be processed and/or applied in workflows where a crypto-enabled data transport directly from the original data stream is not available. As the application of evidence-based OAM automation and the use of tools such as AI/ML grow, provenance validation becomes more relevant in all scenarios. The use of compact signatures facilitates the inclusion of provenance strings in any YANG schema requiring them.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://dr2lopez.github.io/yang-provenance/draft-lopez-opsawg-yang-provenance.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-lopez-opsawg-yang-provenance/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Operations and Management Area Working Group Working Group mailing list (<eref target="mailto:opsawg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/opsawg/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/opsawg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/dr2lopez/yang-provenance"/>.</t>
    </note>
  </front>
  <middle>
    <?line 77?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>OAM automation, generally based on closed-loop principles, requires at least two datasets to be used. Using the common terms in Control Theory, we need those from the plant (the network device or segment under control) and those to be used as reference (the desired values of the relevant data). The usual automation behavior compares these values and takes a decision, by whatever the method (algorithmic, rule-based, an AI model tuned by ML...) to decide on a control action according to this comparison. Assurance of the origin and integrity of these datasets, what we refer in this document as "provenance", becomes essential to guarantee a proper behavior of closed-loop automation.</t>
      <t>When datasets are made available as an online data flow, provenance can be assessed by properties of the data transport protocol, as long as some kind of cryptographic protocol is used for source authentication, with TLS, SSH and IPsec as the main examples. But when these datasets are stored, go through some pre-processing or aggregation stages, or even cryptographic data transport is not available, provenance must be assessed by other means.</t>
      <t>The original use case for this provenance mechanism is associated with <xref target="YANGmanifest"/>, in order to provide a proof of the origin and integrity of the provided metadata, and therefore the examples in this document use the modules described there, but it soon became clear that it could be extended to any YANG datamodel to support provenance evidence. An analysis of other potential use cases suggested the interest of defining an independent, generally applicable mechanism.</t>
      <t>Provenance verification by signatures incorporated in YANG data can be applied to any data processing pipeline, whether they rely on an online flow or use some kind of data store, such as data lakes or time-series databases. The application of recorded data for ML training or validation constitute the most relevant examples of these scenarios.</t>
      <t>This document provides a mechanism for including digital signatures within YANG data. It applies COSE <xref target="RFC9052"/> to make the signature compact and reduce the resources required for calculating it. This mechanism is applicable to any serialization of the YANG data supporting a clear method for canonicalization, but this document considers three base ones: CBOR, JSON and XML.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The term "data provenance" refers to a documented trail accounting for the origin of a piece of data and where it has moved from to where it is presently. The signature mechanism provided here can be recursively applied to allow this accounting for YANG data.</t>
    </section>
    <section anchor="defining-provenance-elements">
      <name>Defining Provenance Elements</name>
      <t>The provenance for a given YANG element <bcp14>MUST</bcp14> be convened by a leaf element, containing the COSE signature bitstring built according to the procedure defined below in this section. The provenance leaf <bcp14>MUST</bcp14> be of type provenance-signature, defined as follows:</t>
      <artwork><![CDATA[
typedef provenance-signature {
     type binary;
     description
      "The provenance-signature type represents a digital signature
       corresponding to the associated YANG element. The signature is based
       on COSE and generated using a canonicalized version of the
       associated element.";
     reference
      "RFC 9052: CBOR Object Signing and Encryption (COSE): Structures and Process
       draft-lopez-opsawg-yang-provenance";
}
]]></artwork>
      <section anchor="provenance-signature-strings">
        <name>Provenance Signature Strings</name>
        <t>Provenance signature strings are COSE single signature messages with [nil] payload, according to COSE conventions and registries, and with the following structure (as defined by <xref section="4.2" sectionFormat="comma" target="RFC9052"/>):</t>
        <artwork><![CDATA[
COSE_Sign1 = [
protected /algorithm-identifier, kid, serialization-method/
unprotected /algorithm-parameters/
signature /using as external data the content of the YANG
           (meta-)data without the signature leaf/
]
]]></artwork>
        <t>The COSE_Sign1 procedure yields a bitstring when building the signature and expects a bitstring for checking it, hence the proposed type for provenance signature leaves. The structure of the COSE_Sign1 consists of:</t>
        <ul spacing="normal">
          <li>
            <t>The algorithm-identifier, which <bcp14>MUST</bcp14> follow COSE conventions and registries.</t>
          </li>
          <li>
            <t>The kid (Key ID), to be locally agreed, used and interpreted by the signer and the signature validator. URIs <xref target="RFC3986"/> and RFC822-style <xref target="RFC5322"/> identifiers are typical values to be used as kid.</t>
          </li>
          <li>
            <t>The serialization-method, a string identifying the YANG serialization in use. It <bcp14>MUST</bcp14> be one of the three possible values "xml" (for XML serialization <xref target="RFC7950"/>), "json" (for JSON serialization <xref target="RFC7951"/>) or "cbor" (for CBOR serialization <xref target="RFC9254"/>).</t>
          </li>
          <li>
            <t>The value algorithm-parameters, which <bcp14>MUST</bcp14> follow the COSE conventions for providing relevant parameters to the signing algorithm.</t>
          </li>
          <li>
            <t>The signature for the YANG element provenance is being established for, to be produced and verified according to the procedure described below for each one of the enclosing methods for the provenance string described below.</t>
          </li>
        </ul>
      </section>
      <section anchor="signature-and-verification-procedures">
        <name>Signature and Verification Procedures</name>
        <t>To keep a concise signature and avoid the need for wrapping YANG constructs in COSE envelopes, the whole signature <bcp14>MUST</bcp14> be built and verified by means of externally supplied data, as defined in <xref section="4.3" sectionFormat="comma" target="RFC9052"/>, with a [nil] payload.</t>
        <t>The byte strings to be used as input to the signature and verification procedures <bcp14>MUST</bcp14> be built by:</t>
        <ul spacing="normal">
          <li>
            <t>Selecting the exact YANG content to be used, according to the corresponding enclosing methods.</t>
          </li>
          <li>
            <t>Applying the corresponding canonicalization method as described in the following section.</t>
          </li>
        </ul>
      </section>
      <section anchor="canonicalization">
        <name>Canonicalization</name>
        <t>Signature generation and verification require a canonicalization method to be applied, that depends on the serialization used. According to the three types of serialization defined, the following canonicalization methods <bcp14>MUST</bcp14> be applied:</t>
        <ul spacing="normal">
          <li>
            <t>For CBOR, length-first core deterministic encoding, as defined by <xref target="RFC8949"/>.</t>
          </li>
          <li>
            <t>For JSON, JSON Canonicalization Scheme (JCS), as defined by <xref target="RFC8785"/>.</t>
          </li>
          <li>
            <t>For XML, Exclusive XML Canonicalization 1.0, as defined by <xref target="XMLSig"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="provenance-signature-yang-module">
        <name>Provenance-Signature YANG Module</name>
        <t>This module defines a provenance-signature type to be used in other YANG modules.</t>
        <sourcecode markers="true" name="ietf-yang-provenance@2024-02-28.yang"><![CDATA[
module ietf-yang-provenance {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-yang-provenance";
  prefix iyangprov;

  organization "IETF OPSAWG (Operations and Management Area Working Group)";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/opsawg/>
     WG List:  <mailto:opsawg@ietf.org>

     Authors:  Alex Huang Feng
               <mailto:alex.huang-feng@insa-lyon.fr>
               Diego Lopez
               <mailto:diego.r.lopez@telefonica.com>
               Antonio Pastor
               <mailto:antonio.pastorperales@telefonica.com>
               Henk Birkholz
               <mailto:henk.birkholz@sit.fraunhofer.de>";

  description
    "Defines a binary provenance-signature type to be used in other YANG
    modules.

    Copyright (c) 2024 IETF Trust and the persons identified as
    authors of the code.  All rights reserved.

    Redistribution and use in source and binary forms, with or without
    modification, is permitted pursuant to, and subject to the license
    terms contained in, the Revised BSD License set forth in Section
    4.c of the IETF Trust's Legal Provisions Relating to IETF Documents
    (https://trustee.ietf.org/license-info).

    This version of this YANG module is part of RFC XXXX; see the RFC
    itself for full legal notices.";

  revision 2024-02-28 {
    description
      "First revision";
    reference
      "RFC XXXX: Applying COSE Signatures for YANG Data Provenance";
  }

  typedef provenance-signature {
    type binary;
    description
      "The provenance-signature type represents a digital signature
      corresponding to the associated YANG element. The signature is based
      on COSE and generated using a canonicalized version of the
      associated element.";
    reference
      "RFC XXXX: Applying COSE Signatures for YANG Data Provenance";
  }
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="enclosing-methods">
      <name>Enclosing Methods</name>
      <t>Once defined the procedures for generating and verifying the provenance signature string, let's consider how these signatures can be integrated with the associated YANG data by enclosing the signature in the data structure. This document considers four different enclosing methods, suitable for different stages of the YANG schema and usage patterns of the YANG data. The enclosing method defines not only how the provenance signature string is combined with the signed YANG data but also the specific procedure for selecting the specific YANG content to be processed when signing and verifying</t>
      <section anchor="including-a-provenance-leaf-in-a-yang-element">
        <name>Including a Provenance Leaf in a YANG Element</name>
        <t>This enclosing method requires a specific element in the YANG schema defining the element to be signed (the enclosing element), and thus implies considering provenance signatures when creating the corresponding YANG module, or the update of existing modules willing to support this provenance enclosing method.</t>
        <t>When using this enclosing method, a provenance-signature leaf <bcp14>MAY</bcp14> appear at any position in the enclosing element, but only one such leaf <bcp14>MUST</bcp14> be defined for the enclosing element. If the enclosing element contains other non-leaf elements, they <bcp14>MAY</bcp14> provide their own provenance-signature leaf, according to the same rule. In this case, the provenance-signature leaves in the children elements are applicable to the specific child element where they are enclosed, while the provenance-signature leaf enclosed in the top-most element is applicable to the whole element contents, including the children provenance-signature leaf themselves. This allows for recursive provenance validation, data aggregation, and the application of provenance verification of relevant children elements at different stages of any data processing pipeline.</t>
        <t>The specific YANG content to be processed <bcp14>SHALL</bcp14> be generated by taking the whole enclosing element and eliminiating the leaf containing the provenance signature string.</t>
        <t>As example, let us consider the two modules proposed in <xref target="YANGmanifest"/>. For the platform-manifest module, the provenance for a platform would be provided by the optional platform-provenance leaf shown below:</t>
        <artwork><![CDATA[
module: ietf-platform-manifest
  +--ro platforms
     +--ro platform* [id]
       +--ro id                      string
       +--ro name?                   string
       +--ro vendor?                 string
       +--ro vendor-pen?             uint32
       +--ro software-version?       string
       +--ro software-flavor?        string
       +--ro os-version?             string
       +--ro os-type?                string
       +--ro platform-provenance?    provenance-signature
       +--ro yang-push-streams
       |  +--ro stream* [name]
       |     +--ro name
       |     +--ro description?
       +--ro yang-library
       + . . .
       .
       .
       .
]]></artwork>
        <t>For data collections, the provenance of each one would be provided by the optional collector-provenance leaf, as shown below:</t>
        <artwork><![CDATA[
module: ietf-data-collection-manifest
  +--ro data-collections
     +--ro data-collection* [platform-id]
     +--ro platform-id
     |       -> /p-mf:platforms/platform/id
     +--ro collector-provenance?   provenance-signature
     +--ro yang-push-subscriptions
       +--ro subscription* [id]
         +--ro id
         |      sn:subscription-id
         +
         .
         .
         .
     + . . .
     |
     .
     .
     .
]]></artwork>
        <t>Note how, in the two examples, the element bearing the provenance signature appears at different positions in the enclosing element. And note that, for processing the element for signature generation and verification, the signature element <bcp14>MUST</bcp14> be eliminated from the enclosing element before applying the corresponding canonicalization method.</t>
        <t>Note that, in application of the recursion mechanism described above, a provenance element could be included at the top of any of the collections, supporting the verification of the provenance of the collection itself (as provided by a specific collector), without interfering with the verification of the provenance of each of the collection elements. As an example, in the case of the platform manifests it would look like:</t>
        <artwork><![CDATA[
module: ietf-platform-manifest
  +--ro platforms
     +--ro platform-collection-provenance? provenance-signature
     +--ro platform* [id]
       +--ro platform-provenance?          provenance-signature
       +--ro id                            string
       +--ro name?                         string
       +--ro vendor?                       string
       + . . .
       .
       .
       .
]]></artwork>
        <t>Note here that, to generate the YANG content to be processed in the case of the collection the provenance leafs of the indivual elements <bcp14>SHALL NOT</bcp14> be eliminated, as it <bcp14>SHALL</bcp14> be the case when generating the YANG content to be processed for each individual element in the collection.</t>
      </section>
      <section anchor="including-a-provenance-signature-in-netconf-event-notifications-and-yang-push-notifications">
        <name>Including a Provenance Signature in NETCONF Event Notifications and YANG-Push Notifications</name>
        <t>The signature mechanism proposed in this document <bcp14>MAY</bcp14> be used with NETCONF Event Notifications <xref target="RFC5277"/> and YANG-Push <xref target="RFC8641"/> to sign the generated notifications directly from the publisher nodes. The signature is added to the header of the Notification along with the eventTime leaf.</t>
        <t>The YANG content to be processed <bcp14>MUST</bcp14> consist of the content of the notificationContent element.</t>
        <t>The following sections define the YANG module augmenting the ietf-notification module.</t>
        <section anchor="yang-tree-diagram">
          <name>YANG Tree Diagram</name>
          <t>The following is the YANG tree diagram <xref target="RFC8340"/> for the ietf-notification-provenance augmentation within the ietf-notification.</t>
          <artwork><![CDATA[
module: ietf-notification-provenance

  augment-structure /inotif:notification:
    +-- notification-provenance?   iyangprov:provenance-signature
]]></artwork>
          <t>And the following is the full YANG tree diagram for the notification.</t>
          <artwork><![CDATA[
module: ietf-notification

  structure notification:
    +-- eventTime                             yang:date-and-time
    +-- inotifprov:notification-provenance?   iyangprov:provenance-signature
]]></artwork>
        </section>
        <section anchor="yang-module">
          <name>YANG Module</name>
          <t>The module augments ietf-notification module <xref target="I-D.ahuang-netconf-notif-yang"/> adding the signature leaf in the notification header.</t>
          <sourcecode markers="true" name="ietf-notification-provenance@2024-02-28.yang"><![CDATA[
module ietf-notification-provenance {
  yang-version 1.1;
  namespace
    "urn:ietf:params:xml:ns:yang:ietf-notification-provenance";
  prefix inotifprov;

  import ietf-notification {
    prefix inotif;
    reference
      "draft-ahuang-netconf-notif-yang: NETCONF Event Notification YANG";
  }
  import ietf-yang-provenance {
    prefix iyangprov;
    reference
      "RFC XXXX: Applying COSE Signatures for YANG Data Provenance";
  }
  import ietf-yang-structure-ext {
    prefix sx;
    reference
      "RFC 8791: YANG Data Structure Extensions";
  }

  organization "IETF OPSAWG (Operations and Management Area Working Group)";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/opsawg/>
     WG List:  <mailto:opsawg@ietf.org>

     Authors:  Alex Huang Feng
               <mailto:alex.huang-feng@insa-lyon.fr>
               Diego Lopez
               <mailto:diego.r.lopez@telefonica.com>
               Antonio Pastor
               <mailto:antonio.pastorperales@telefonica.com>
               Henk Birkholz
               <mailto:henk.birkholz@sit.fraunhofer.de>";

  description
    "Defines a binary provenance-signature type to be used in other YANG
    modules.

    Copyright (c) 2024 IETF Trust and the persons identified as
    authors of the code.  All rights reserved.

    Redistribution and use in source and binary forms, with or without
    modification, is permitted pursuant to, and subject to the license
    terms contained in, the Revised BSD License set forth in Section
    4.c of the IETF Trust's Legal Provisions Relating to IETF Documents
    (https://trustee.ietf.org/license-info).

    This version of this YANG module is part of RFC XXXX; see the RFC
    itself for full legal notices.";

  revision 2024-02-28 {
    description
      "First revision";
    reference
      "RFC XXXX: Applying COSE Signatures for YANG Data Provenance";
  }

  sx:augment-structure "/inotif:notification" {
    leaf notification-provenance {
      type iyangprov:provenance-signature;
      description
        "COSE signature of the content of the Notification for
        provenance verification.";
    }
  }
}
]]></sourcecode>
        </section>
      </section>
      <section anchor="including-provenance-as-metadata-in-yang-instance-data">
        <name>Including Provenance as Metadata in YANG Instance Data</name>
        <t>Provenance signature strings can be included as part of the metadata in YANG instance data files, as defined in <xref target="RFC9195"/> for data at rest. The augmented YANG tree diagram including the provenance signature is as follows:</t>
        <artwork><![CDATA[
module: ietf-yang-instance-data-provenance
  augment-structure instance-data-set:
    +--provenance-string?   provenance-signature
]]></artwork>
        <t>The provenance signature string in this enclosing method applies to whole content-data element in instance-data-set, independently of whether those data contain other provenance signature strings by applying other enclosing methods.</t>
        <t>The specific YANG content to be processed <bcp14>SHALL</bcp14> be generated by taking the contents of the content-data element and applying the corresponding canonicalization method.</t>
        <t>TBD: Example of YANG data file with provenace strings, probably using the same examples of <xref target="RFC9195"/>.</t>
        <section anchor="yang-module-1">
          <name>YANG Module</name>
          <t>TBD: YANG module derived from <xref target="RFC9195"/>, named "ietf-yang-instance-data-provenance"</t>
        </section>
      </section>
      <section anchor="inclduing-provenance-in-yang-annotations">
        <name>Inclduing Provenance in YANG Annotations</name>
        <t>The use of annotations as defined in <xref target="RFC7952"/> seems a natural enclosing method, dealing with the provenance signature string as metadata and not requiring modification of existing YANG schemas.The provenance-string annotation is defined as follows:</t>
        <artwork><![CDATA[
 md:annotation provenance-string {
       type provenance-signature;
       description
         "This annotation contains a digital signature corresponding
          to the YANG element in which it appears.";
     }
]]></artwork>
        <t>The specific YANG content to be processed <bcp14>SHALL</bcp14> be generated by eliminating the provenance-string (encoded according to what is described in Section 5 of <xref target="RFC7952"/>) from the element it applies to, before invoking the corresponding canonicalization method. In application of the general recursion principle for provenance signature strings, any other provenance strings within the element to which the provenance-string applies <bcp14>SHALL</bcp14> be left as they appear, whatever the enclosing method used for them.</t>
        <t>TBD: Provide an example for a provenance-string annotation, possibly follwing the examples in <xref target="RFC7952"/>.</t>
        <section anchor="yang-module-2">
          <name>YANG Module</name>
          <t>TBD: YANG module based on <xref target="RFC7952"/>, named "yang-provenance-metadata"</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The provenance assessment mechanism described in this document relies on COSE <xref target="RFC9052"/> and the deterministic encoding or canonicalization procedures described by <xref target="RFC8949"/>, <xref target="RFC8785"/> and <xref target="XMLSig"/>. The security considerations made in these references are fully applicable here.</t>
      <t>The verification step depends on the association of the kid (Key ID) with the proper public key. This is a local matter for the verifier and its specification is out of the scope of this document. The use of certificates, PKI mechanisms, or any other secure distribution of id-public key mappings is <bcp14>RECOMMENDED</bcp14>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="ietf-xml-registry">
        <name>IETF XML Registry</name>
        <t>This document registers the following URIs in the "IETF XML Registry" <xref target="RFC3688"/>:</t>
        <artwork><![CDATA[
  URI: urn:ietf:params:xml:ns:yang:ietf-yang-provenance
  Registrant Contact: The IESG.
  XML: N/A; the requested URI is an XML namespace.
]]></artwork>
        <artwork><![CDATA[
  URI: urn:ietf:params:xml:ns:yang:ietf-notification-provenance
  Registrant Contact: The IESG.
  XML: N/A; the requested URI is an XML namespace.
]]></artwork>
      </section>
      <section anchor="yang-module-name">
        <name>YANG Module Name</name>
        <t>This document registers the following YANG modules in the "YANG Module Names" registry <xref target="RFC6020"/>:</t>
        <artwork><![CDATA[
  name: ietf-yang-provenance
  namespace: urn:ietf:params:xml:ns:yang:ietf-yang-provenance
  prefix: iyangprov
  reference: RFC XXXX
]]></artwork>
        <artwork><![CDATA[
  name: ietf-notification-provenance
  namespace: urn:ietf:params:xml:ns:yang:ietf-notification-provenance
  prefix: inotifprov
  reference: RFC XXXX
]]></artwork>
        <t>TBD: Others? At least for the two additional enclosing methods (instance files and annotations)</t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC5277">
          <front>
            <title>NETCONF Event Notifications</title>
            <author fullname="S. Chisholm" initials="S." surname="Chisholm"/>
            <author fullname="H. Trevino" initials="H." surname="Trevino"/>
            <date month="July" year="2008"/>
            <abstract>
              <t>This document defines mechanisms that provide an asynchronous message notification delivery service for the Network Configuration protocol (NETCONF). This is an optional capability built on top of the base NETCONF definition. This document defines the capabilities and operations necessary to support this service. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5277"/>
          <seriesInfo name="DOI" value="10.17487/RFC5277"/>
        </reference>
        <reference anchor="RFC5322">
          <front>
            <title>Internet Message Format</title>
            <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick"/>
            <date month="October" year="2008"/>
            <abstract>
              <t>This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. This specification is a revision of Request For Comments (RFC) 2822, which itself superseded Request For Comments (RFC) 822, "Standard for the Format of ARPA Internet Text Messages", updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5322"/>
          <seriesInfo name="DOI" value="10.17487/RFC5322"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
        <reference anchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC7951">
          <front>
            <title>JSON Encoding of Data Modeled with YANG</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>This document defines encoding rules for representing configuration data, state data, parameters of Remote Procedure Call (RPC) operations or actions, and notifications defined using YANG as JavaScript Object Notation (JSON) text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7951"/>
          <seriesInfo name="DOI" value="10.17487/RFC7951"/>
        </reference>
        <reference anchor="RFC7952">
          <front>
            <title>Defining and Using Metadata with YANG</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>This document defines a YANG extension that allows for defining metadata annotations in YANG modules. The document also specifies XML and JSON encoding of annotations and other rules for annotating instances of YANG data nodes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7952"/>
          <seriesInfo name="DOI" value="10.17487/RFC7952"/>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="RFC8641">
          <front>
            <title>Subscription to YANG Notifications for Datastore Updates</title>
            <author fullname="A. Clemm" initials="A." surname="Clemm"/>
            <author fullname="E. Voit" initials="E." surname="Voit"/>
            <date month="September" year="2019"/>
            <abstract>
              <t>This document describes a mechanism that allows subscriber applications to request a continuous and customized stream of updates from a YANG datastore. Providing such visibility into updates enables new capabilities based on the remote mirroring and monitoring of configuration and operational state.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8641"/>
          <seriesInfo name="DOI" value="10.17487/RFC8641"/>
        </reference>
        <reference anchor="RFC8785">
          <front>
            <title>JSON Canonicalization Scheme (JCS)</title>
            <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
            <author fullname="B. Jordan" initials="B." surname="Jordan"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
              <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8785"/>
          <seriesInfo name="DOI" value="10.17487/RFC8785"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9195">
          <front>
            <title>A File Format for YANG Instance Data</title>
            <author fullname="B. Lengyel" initials="B." surname="Lengyel"/>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>There is a need to document data defined in YANG models at design time, implementation time, or when a live server is unavailable. This document specifies a standard file format for YANG instance data, which follows the syntax and semantics of existing YANG models and annotates it with metadata.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9195"/>
          <seriesInfo name="DOI" value="10.17487/RFC9195"/>
        </reference>
        <reference anchor="RFC9254">
          <front>
            <title>Encoding of Data Modeled with YANG in the Concise Binary Object Representation (CBOR)</title>
            <author fullname="M. Veillette" initials="M." role="editor" surname="Veillette"/>
            <author fullname="I. Petrov" initials="I." role="editor" surname="Petrov"/>
            <author fullname="A. Pelov" initials="A." surname="Pelov"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>YANG (RFC 7950) is a data modeling language used to model configuration data, state data, parameters and results of Remote Procedure Call (RPC) operations or actions, and notifications.</t>
              <t>This document defines encoding rules for YANG in the Concise Binary Object Representation (CBOR) (RFC 8949).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9254"/>
          <seriesInfo name="DOI" value="10.17487/RFC9254"/>
        </reference>
        <reference anchor="I-D.ahuang-netconf-notif-yang">
          <front>
            <title>YANG model for NETCONF Event Notifications</title>
            <author fullname="Alex Huang Feng" initials="A. H." surname="Feng">
              <organization>INSA-Lyon</organization>
            </author>
            <author fullname="Pierre Francois" initials="P." surname="Francois">
              <organization>INSA-Lyon</organization>
            </author>
            <author fullname="Thomas Graf" initials="T." surname="Graf">
              <organization>Swisscom</organization>
            </author>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Huawei</organization>
            </author>
            <date day="21" month="January" year="2024"/>
            <abstract>
              <t>   This document defines the YANG model for NETCONF Event Notifications.
   The definition of this YANG model allows the encoding of NETCONF
   Event Notifications in YANG compatible encodings such as YANG-JSON
   and YANG-CBOR.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ahuang-netconf-notif-yang-04"/>
        </reference>
        <reference anchor="XMLSig" target="https://www.w3.org/TR/xmldsig-core2/">
          <front>
            <title>XML Signature Syntax and Processing Version 2.0</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="YANGmanifest">
          <front>
            <title>A Data Manifest for Contextualized Telemetry Data</title>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Huawei</organization>
            </author>
            <author fullname="Jean Quilbeuf" initials="J." surname="Quilbeuf">
              <organization>Huawei</organization>
            </author>
            <author fullname="Diego Lopez" initials="D." surname="Lopez">
              <organization>Telefonica I+D</organization>
            </author>
            <author fullname="Ignacio Dominguez Martinez-Casanueva" initials="I. D." surname="Martinez-Casanueva">
              <organization>Telefonica I+D</organization>
            </author>
            <author fullname="Thomas Graf" initials="T." surname="Graf">
              <organization>Swisscom</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <abstract>
              <t>   Network elements use Model-driven Telemetry, and in particular YANG-
   Push, to continuously stream information, including both counters and
   state information.  This document documents the metadata that ensure
   that the collected data can be interpreted correctly.  This document
   specifies the Data Manifest, composed of two YANG data models (the
   Platform Manifest and the Data Collection Manifest).  The Data
   Manifest must be streamed and stored along with the data, up to the
   collection and analytics system in order to keep the collected data
   fully exploitable by the data scientists.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-collected-data-manifest-02"/>
        </reference>
      </references>
    </references>
    <?line 518?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document is based on work partially funded by the EU H2020 project SPIRS (grant 952622), and the EU Horizon Europe projects PRIVATEER (grant 101096110), HORSE (grant 101096342) and ACROSS (grant 101097122).</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+0823bbxrXv+Io5zEOllIQsWbYlJrVDS3Ks1pZ0RKVpVpp1
FggMyalAgMUAkplE+ZbzLefLzr7MDAYgSNlJ+hZ3rYYC5rJn32+DwWAQlKpM
5VD0RstlulLZTJxcjs/EWM2yqKwKqcU0L8R3o4uvxWlURuKqyO9kFmWx7AXR
ZFLIO5i7irLZIIHXg6X3Oo5KOcuL1VCobJoHQZLHWbSAvZIimpaDNF/KHwf5
Ukf3swGtUE8ePDkIdDVZKK1VnpWrJcw6P7t5I8RnIkp1DnuqLJFLCf+Xlb2+
6J2PXsN/ANTe+fXNm16QVYuJLIYBQCWHQZxnWma60kNRFpUMAOinQVTICBa6
XMoiKmEbLaIsEe+jLJrJBS4b3OfF7azIq+W2YWIE64hvYShi72sc3gtu5Qom
J8NADER9LPxLW8ziH4hr/O9ClhHiL4CBFcArxK/bVgjGVW/t+SJSKTxndH+l
ZDkN82KGb6IinsObeVku9XBvDwfiI3UnQztsDx/sTYr8Xss9XmIPp85UOa8m
MDkpDoicey064qAUKKBLbwc7OOTpocrb0/Ye55BwXi5SYMGqnOcFoZl561QB
z4l3OBP2BoaYRZn6kTA4FDcyldM8U3GE76TBSYJTwiKk7b4q3Zgwzhe9euVR
VsLjXFxFusyLj1084lnhkmYhMVOpuzZRmSoV8DZsFOICuip437cVnFy8kdkM
H0+rNDXwpPJD62UToPOL8WjwbpVnDXhgVjjHWYMpzPpKZToapDAonBYGDgDh
bSheq+J2nqeERQOIzG4bj2G7oXhTRFU2z6eyEOPzG3xs1cL6GwPEHBYKJ2ah
r7QqYW87NEwknb4spASmuZ5LAKgsIq2lePEMX8V5AsD86fnhwfGzP9EDVYKO
OY2KhQYpKnlMlZWoeb6WxSLKVkEQZDn8KoGrgVmu35w8fX50ZH4dHz3nX88O
Xrwwv54eHPCv508OnvCvF8fP6l/77pcZd/T00Lw9en5o3h69OHpmfh0fHvOv
4yd2xvH+sXl7fPDsEH6dD07DiEmTyRJU1nSQ5aWaEusPt78OxD/evwOljarD
aHR4UKtxMV5lZfSBdAio8FiCYgXG+bssUMGKg/AJToyKGSLdCur9/X14/5QU
wM313odFmoDyGsR5IQ/2ggCVeo1StBCAaTUlWUdYUXlY4Y3zNJVxKRO2EnZg
EAwGA+AXJHAMf93MlRZgJipScImcqgwMUATqMZ7DFL0Qk0jLRADEZKV0baXK
nPSsSiSd8U4WaroS5Vx66lfkU7ZkCERf6FyoUsCOyxywMUklLuJNzAs1Uxkt
pzIwZQXwGS4R0Xwty76QsLK4B36GCTlwKL4AhSrFLEf0wnoTAgDxDXDDUntg
oiIwtUriqgItzDQFvYqrwLxIxMVqWeYDgBggSnhFQE+ml3kBOFEF4DFdiWmR
Lzwoo5RHotxECzwU8IaI7lCZwzqhGGkaTVvHpCDwKBIRhvaW8Xo5ei9Ao+YL
HoAnx0mVJtSVeZ5q0EvxXERajM73gMHATN33fRTfRalKePpEgm4D0iyAYUQB
Gu8OlCEeOkpToWOYUKhch+Km3gImLIETfMJOo1ilqkQjQsCoLE4rbeD3NoaT
A8o1rZ+tmM46noPKgb3/XamCCAJ/h8x1C5UkqQyCz8Q5qIo8qWIEOgiaOOiL
mcxQaQPKHe/FKdA6AfOULwECAEgtQan3zT7IsaVIJSh8Ud7nllm04QY4aRKK
b7QBB4+8gDVLUFQE/EmO4KSIFfCd+uJeikzKxDCYI/syRWTu4E/QBshGIC93
Cpm8EFrOSIIqcI8K2IFW3DX0xGVqUJCUhQTFi2zA6yVSwykSJGUFh0HKzz0C
4nl2LdUqYDyPYyZyHt2pvGBCFkwyLe1SBEB0SzKdyFhpwvBkBcwP9AXRo53A
GZrnidiJUvAewUVYqBhwW6WGS/uwDHAfsFUiU1FWGYAKS7x/F4bhLp4MVwY1
gAxszy6imDk6Bu2VGNEsUdswoEqDAQQZAaNrFcU2DcCHsoTtE/hIKEIkErFs
KDJAcc/zifpOMlArZGj1EZxZFcHmpUQlAKPBVajRiaLhMV2NcWDmb1H9OCZD
5bOIUAta2cftAWN5loI2ZS2BGqchtXGEtBNoZUlRAT4ZhFLVHNBSRTCgzEGx
93GDNAecwn81nEuA55kQyKTKZkW0nKvYjUflRJyHgYXOqwL2RzcOMREbobsH
soubd+O+GI/fEv7Pr7SMcQfikAhwLD9EC5Q7cFWq0iphny6EC/S6kGdmSG9w
hmdzhnFZyMGyNoSolWezQs6Yj8GRmKFEw2NS8c2TtBDRVrYNzC4qUAMt1OYA
ZwFsDguEaPQ8JY56MI5Q0POCuchfy5lBeA4L5rECsUkYWz/95Jvgh4c+8iEw
OwqVZxvxF5DmcQa3UxIXnPStQQA2R5WOgywR1pkeT0K0AtWKA0CrxIWaSLMC
CAFQDeyvztlUgIsJPC4jPHZEb8CJSxPEnfxQYqCX4EGcbkeIjArIwSgtLU9a
ZFnTBmKNB4zSlVbEyoz9ZV4a0bMoR9M2A6qXDCIhBDRYiXPIFUE+ATnxAk/f
OhjLigLn6ATUvfJMI7oW1vgCG3hGDmwIBAd5QeQEVLoTOsk0LoPBAL3y2Hep
lhLFG1WRpPPB/61QZ69IDzrxR8lHrsZDN2TVeA85UsaaeHqWkr5GblQLOdBw
BslvUBkb693yKsBFQcYzzgtyMngKIC+MQvjTcxIwMgeHtSottwDCnalx3OV0
bu02tL1Fw65NdxH3JoeBdH4CzF4CxT3Eo+j4+A7FeWmQrdnH/Okn47U/PCD2
F4AOgtQt4pwWlA7QNVUsjcFk5aatX8AaL47SuIKYGAGCyEfQKZqSXXOSITdi
HVD2o8Mwrl/ziOF+4k8jQ8aG8oYZRZp2PkteU1iRCoC8AtUrBF7k6gDLSAgF
T15fXvfFX8eXF3RAiCpCdJrATblDAbKJiVOSEPqbVdot8B+mQMD2vf9mfIM5
GvyvuLik39dn//3N+fXZKf4evx29e+d+BGbE+O3lN+9O61/1zJPL9+/PLk55
MjwVjUdB7/3oux4rq97l1c355cXoXa/DKhfWDyJJB4NQkjsU1JoK5rw+ufq/
/90/BDb4L+CDg/39Y+AD/uNo/8Uh/IGWh3cDGVuZP1H8AiAk0sJ4vHG0RO7T
ZC/1PL/PBCpCwObn3yNmfhiKLyfxcv/wpXmAB248tDhrPCScrT9Zm8xI7HjU
sY3DZuN5C9NNeEffNf62ePcefvmKNNBg/+jVy4B5BJ1e0bPKzPpH7EaRvxw5
cqHuAw2SkgsHwT0yO9tIZ8UoNFsqyf4bh2JAFQ6swJ7MI4xF7lAOyYvO61dk
ZyU6Y+mKVVot3rVsOotI04xmBmVXQRB9J60NMFo6RU1LHNeCuNY1KEen1rJ4
huIspQyfESTPpuH0SMwUuiS0jOSRgthlgqoIpZK9jAhjkKkd0idX2KhgRFoz
gBYTVXIEBdpBpWXbUzZRbIJDOS5Hy4xHtHIF7hk5pKIFMwFh4UPVtVr67wcO
hL5bOMKkM+JPD4Pgl19+CXAOvOycJn7ChA8nPuEUYB1WX/ATluMlhXX0QPSa
sHmL0OxCGiag+KRtLMwagMcCRi3zzMeO5435hGnzEuCJYhi7lk1kIJ+yK4Er
VNqo8lpzS0pp6Fr92xW8je2ePXN+F9bZ04POEpR/IqUuLif/AppRjohdm0Sc
ZeTp4jY7CNjuUIzLAkJjMpZe8shu/3iiFqB5ICIGn33mM7mXmuLIveEr1Siz
cT2qa8Oz2SxtCqjW6K6zH/zP7zOV/vMHsYxWaR5htOhzMq0Qt2wXuP0Kt0GP
nzQGroNUZS7EqdpiAcJSXUvAqnYPIFRhCRCHIfgKu4Z1ccP/wbPui7+I7wMM
gigRJvZceDtAR7UE11AWffDHAOSGvR+wLd8LqqxzNoSv4DuDKtV7QY2UPcNE
mrznwiWIOOWQofPrOxKWnvhvBx3+wS4NR1Tk5C74GEeZ3gt+YLLeGGViTlnr
iZWSaYKiVOsWitJQwSRWDdWLIublhyWcrzmHfJi5jG/ZY+pj+ti4WBijYlTM
4osDl10sBODeWVe1JqQ5vQc6eUG6RHcTqPc5u7adVLqHMHDOWo155DHGCu16
QF+x8zfwjc5Pd/vG/0jzmEMICEAxVq1MrrDhmExWDl/g3tvUXH1I41PnRSi+
uT7XzJiY2wYXBUejw3JwMNDlCoSHXmKSG17W52IhA1yizrE5m2aqCMB3R+ni
UhAgI7F23ZWlNGfkGp4s2A5YmHxuZyEyRxl2RV1y1sDT+7BIe2IHiY0Z7uaC
dC5M1IMAgm/4L51nZiw5sN2D92EwVQ7jSV6Y4aQgO4Zjqh6GOxwQUKJLGLuY
xNldn1Es2yqSCRf71CtZG6Otora71ZRwXGBdooZ34AkFGiCJi0BgCxGG0nMO
S/p1rhoDmKROoqM/s9UZsM4yuwMIgIzg3B4hQV7TnNQRM4l2YK7lb9vrhWQ2
xg0l8Xc/jr6ykKC3lEPUIZec9ouVbmuX6C5XLDaUUUUg7gvw2XBfQhgFo6gf
OBOLlJJAKDRvmnx6oGnesD2WbY3T5CMNBJZSPJRnNzoYhByDNXISTUqltiYq
67YmTzGZQzYpals3kz6arMraUDYFVmVLVN95h7Jt5CMcRXXrTJMV6cKxxAKO
lWUIzMFzsDgjY1Jv21/nl6bPtMYPxMiuAWF9QjuEteFt5KeVyBFt2GzjkRIL
nbSWCIKaqYznZUseDbyY2L3pjTWA4IMb17/P2SvOEGn078q2pjQVgFEbR6zu
0JIRyzTnGB7pt464AaaahgYsIuEbo9f6YBCzWTkfTFWhMfYnMcZYDKIDXaoY
CZQjaA32tM4O1jIfHkK7IipWkx9o41iMsf4CLtNfT8a73Wu9OHrmrQUKvS/O
PlCB506Sfl9bcz98sr4UFz9ppYaXOaiJTMz6npKRJnXEmUmvzLg5MvBkCgNN
yrDRgia7GbKz9+XJ5emZeH329fnF+KWYKli9R2XQlk/81cGTg8PBk4PBwVGI
r3qBgaVrMAU49MxGAPvhPrr4WJXXy8j4972qyIY4f0iWQw/BTg4zPaTicde6
FCaAczFVH4TCd/jqiyBothGIHvXdXF6NR99+LXY+pR1ll3agsDMuGUZY4ls5
GcLPL103CKhBLP/eyqLuN7mf2TaTl+yZwsR3CivL4kvsISjzYauT5WXAA0fU
EKJhYEd/hP/PrrOtIeJle1Kru6RrvW3dJGvrrfeUdIL4ET0ka0uvdWt0rfxI
J8bLHvFDO5DunTqR4YD7V0gOLVRLD/51ki9XhZrNS7ET7woUEe75uimwhmI9
Xji+RvZzbivl7HA+9wK5chX2iYTIBqmgVTEPC0r1TiZmv2uZkHc+qZzqx7Q4
gGmrUvDEHBBbHbSxwug2cFhkD+HMRZ8ySahJS/TZl1Whq4iMI0eWuuKY26j8
VMUy0yy/XAA2SRrCFiv7a3mnEHuvx6cgAjQebEOJEAEsAKxxFGiRwzC2x69R
9yct3skZePSoF6nmqmFVk4IGSGjkqcmzMSp3rHSWuID0OsEMyAPs/tg1iCRt
2khPwN+eeiSkRAUFnJiD+Af8+wIOwUEcPKFVIOCT6ZS8MmxyAiOFMGOLSwws
wpxYSD6AqBWoyf90JHvekHmzU0xWpDMpggANxad3QOKSD4HpunskQbWWn/rP
pKd+x+zUb05Obc5N/Qeo8GCs79nF6filSThhPst4mu/ZMQqCSzSp1nloxDK8
hXUGTUaM+4GsW9qZXmDHG70qFDVbShFzDvj8KETbpDEXW+vibReRKP8C3k3t
LTddeOPv2rYfzmqYelJHYWcKOg24ZkqIL9d9cCz7qZKqToiGeiTXwhtVJ9NX
wxoT3oJ0lxjg6LXaFLNYezPnc2HdnKomBlnbECy4W2NChHNYo3xIA2MQ7mCL
ML9dyhiVsxewUtdBI5hxgzrimbp3i1JXLgT3OYN8znNXZfR5ExRvNKUCEC9u
MvvGAV1DS91AVANlg3hDbh//ripNIZkZx3AbtOw0w28zZtdW8iswowuudVpG
oWpyBxE0IyAGL6/sDtI8hU+NE9Q5tsT+a46AMbTAo5p+gHuVpkZF2ep9u9+h
jR/b7FIZaehAYX+TG89liNF3whTlopIqq0uYbFNRnbjiainxKGY0qDTeKGlY
VWJTGmsrhOK8nQaxtDLWXhu/CBTqwK/ZcM5hRWDbBg54oAqBxcONx+yIvzV2
V2ALFQBj6jXY8tBvydygnTO1aInnKk1AGzjIKFPYLFQ3RIkmuHNynY3OgvMY
ERjN3s8xRtoGxNSNtrCU+XJAbQJOMtol8zpR4yOaEVp3AzTOtXl7bBkEfWES
yLgXVaaI3q72190B2TdFyLqxyLXQtFsm/Pl++oG6KUxGsIMIZaee3tYhYjJG
H6fzuJI8kZ75xzR0dGvxZ7C8xtiUy08VJhRqdUHobFUht+h7gHSkbQsIWVcQ
/Nq8Eivc506fuFoApdGavVAhZRdKbpss0Zd3LchOY7Wg4VKrHS7ubS+SqwGb
fHxODhw4Ym7ldu2TS/2UzTQ1Id5yyNH+GkTgzfx5MChyt6IptjUffi6+V8kP
Nq7jdyoRnf8Yn82xmDx49ZFj4ThJXqyP3jx2sJRZc3wFLs/Tg+ZYnU/Le1AI
NrHxasu6buw0je48YLrG5rq94tax6FyvHa5rbAeJaV6X8mjO5NRLpecDbtB2
9dOf3fnoOVAVCfOD91r4FOt67sURrzp2TdWkgJjDvREh/s/+2fWDfGcUGG5A
49Z9jBrXhATtus31Py4hZiXkjqaIeB0xG8WE7g3UsKxLS2tAQ2ha7wDLjpRO
iFokViYK+tmgZfBS7IHdmQ6dVO7ZX3t2LC/RdcxXW7lkjUeqiSOpbomB96qp
AmolUD8xwOts6M8b+EP+XP8Mt/1s8M3Pgf/K/YcY5yIHh2+O/cXWXoOSto18
/YarOgFHbKshYF+tZeesy6Y3+mzY8plgbCEpG9+3JTZrC30YKBz4mEpAvxV+
tVtv2NyRjXRN+uuGccKts9En1zpCg1k+EEYUTQeCOw7JHaE5tmepro9EE8Bw
0z/2/CMjvOwe4ejSOlvWo3BpNU8feJ2H+K7tuqyri+YKNueDPRW+2vDCHydN
u33XjEBl8SnHKi4QfHxvVlVrMFhviu7IRFntcVjfN9IOdOcPWPWjsXuMVV+a
57ciVbfyd7TyvsbztcljumSbl7DJivG/x23ZJi/D6JpP8DU2z9jkcXTO+EiL
xoqJAxGUIbxyYdzaOrLe5Al38ILHQi1eQ5vmUiEKxPoOr8k4r931ZzbVBllB
4CbndLsNKfL28lKPQuuK8LS5Srzt3Ukc9OG2/MXYTzddnN2cXF68EWfYuyAu
8PKhETiuBiFMgyuwYM13JuLobqhc1qGdn7fCkNfWDUjEt+3N3SwHL16YVpca
Di4yPj/c5+ZthIFOX8czWWOl9et1y4q7JDA6T1wTkZ8yjRJzNQGHz2WEwYmh
vQ8mxI25r6/wXkl5oxbMLiYs20pVsjSmR6lmwkYrl3+aE/PKGkXeYa08biup
NVeZpH1U0SUyy3Ckxvz1zThin8945g1WsE9VNCuiRXs7pesd8HIv4JrGGRo9
PXwCNLJJlLXNfJfRAMZAmAb+zklhhyLesCgm8c26g7pFbE/R8KE/aRgYNSU2
LIVay9VTh536lPTRyGQC1lBE1Y91PFncfMoJ8Vj1cbqPUTPitn9URsZk3gAk
bIB3QdwCjCQ67W9EiWOkuk4vW+yoNzIiMNLWK9KoHJKOvsPUpGjbuDWy/Fhp
f8ORt5f4N7H271Xq37B+o+TvqEaVNbXgu2xryOXqVWPShhoO9wJvucG+WYcT
1U0hpwlLVzNEV9tCJ0S/varUAYyTp4H8UDbh0R+2AHL04nh/6O3lGqvFGd5v
o7psXVH8owfjjx6MP3ow/ujB+KMH42N7MPSH4boH1+ty4XoGXrL820wx8QRK
0Hbnxdy36Tg/nK11z6rbb2/YwqmnhTbUhWwfxcPG1gc/ovPiOQgx35vr3O6e
8XmmS3qJqH3kFo7rX7Bpopqr8ByL9trKrs1XgRXlALt6nvePnxn/n2tmyDTa
dKgYstoyf8MrbtbzOrOIdFm+daOs4TGTWbeQtr9j1hkYNAeDKnDutM8fhLON
qV93eWZrz0PWXed2d5TpFiMW4QxHEUR+sL8Gat+/wZ5SXq++NO4+YmOUoL0t
v40nJqs6n8nDuxq8f8eqo63mtoSpeXRq+P81adab16dDcMkoCdj4YhB7/WR+
DD7qz87QNx8m0QTwWdW9Olh19++we6wedkU7uLOvs7Efw91X9Sb3KSBI/Obi
Tezbc7ogqVq6wMroKAMd6KdqzMd4ovp5l8jit69AZMGELNALIabAPNNaR0Yi
o7SRqt3G8HhH1yqRiLP43vd7fDvf6Crx2mJ02G6jMyu746BG2HjXVCySoTd0
fR1rGDbfZLX2oNMgYJcfaqR6C9cF0tHV1+Raz4U03kvjng9+T4ruHKnSlk7c
ZdCHWt/8Fim06cp1hWvRs0OXB9qXhugLOap1XcNecXnmZIN5ateroNijlZ7G
69syisru8ttPk2/sf+konZjveHglFPdhp833Cp3sU3lkTVEa9ehlqLweLSZU
NwrtSR0JIMgozbdvVoay/eY3k9bsg/vCTsmfvCLdcuW+kGbVku1z2CItfXsF
b0WScu/dAXKffvGI91GKzX1Ky5volFr7W6BWH4AqCz5DpqnoMzUnphPE11x+
lpA+uEPo7qqGrWWcC0k4t02v/mc/bNjTfUlGdHxjw28q9W60NW7Q9P0rMLSH
d4/FXLA0R40bR+XvOyn7uSPnTXNTFvrtja/RmI9M3LRrZBBTLNsXlWwPqicZ
/oXVhgrHD1RRdjzGb32Y5ijUbHyfFaDEnlCXtjT34vjqKsQZTg05lYylPbOp
jmF5F8ZYGjU/FYcfp6Lp6FJe/e28JjN/uKkWSsIjuoxepAkrqGRQww/g0kVA
OoL3lYuQmO58dDFaYzi0qxi24TWla77pu2p/lYZvAPOHVfxUL13RNVqht7ZK
z9zefX509PBg7RLOGYpPveUTCLsqxsAnnAgaEiLPz8ZfY5EMdh6Ki73RF6aI
/O+KP4IE+xE9M4LNpSBNOe1TYNqUdP9PwdbUP+ICO2c+kjD+rS5HoPZiumev
dhuJxq+EepTi76VuIIcD9lcRkzONwzoiDbx4euhCe59GHjSbCfEpUG1exUHn
ksvbwCOzcIkiql+Jkf1molUY2DeCCXvTPbR+iXjHBZcUV7LHX/usuwF/6HES
xbcow6P4NsvvU5lwHSH4acjfiJbJX3rTKNWy99DiEXsfArUjfWERQ11Ft3in
Vea1OJ19I94eAAugWuRvalydX4/FzowYG6zb84OD3br3E4fnhfoRlj2rUJHa
eVpcXZ//fXRzdnZtJ+8/2X9y/Hx//wnMf3t5DZap8eLp4QF/13F0cn05Hjde
vtiHXcPg/wGzN1mJ5VsAAA==

-->

</rfc>
