<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.27 (Ruby 3.2.1) -->
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-cbor-cddl-2-draft-02" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title abbrev="CDDL 2.0">CDDL 2.0 — a draft plan</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-cddl-2-draft-02"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2023" month="March" day="10"/>
    <workgroup>CBOR Working group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>The Concise Data Definition Language (CDDL) today is defined by
RFC 8610 and RFC 9165.
The latter (as well as some more application specific specifications
such as RFC 9090) have used the extension point provided in RFC 8610,
the control operator.</t>
      <t>As CDDL is used in larger projects, feature requirements become known
that cannot be easily mapped into this single extension point.
Hence, there is a need for evolution of the base CDDL specification
itself.</t>
      <t>The present document provides a roadmap towards a "CDDL 2.0".
It is based on draft-bormann-cbor-cddl-freezer, but is more selective
in what potential features it takes up and more detailed in their
discussion.
It is intended to serve as a basis for prototypical implementations of
CDDL 2.0.
What specific documents spawn from the present one or whether this
document is evolved into a single CDDL 2.0 specification.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bormann-cbor-cddl-2-draft/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        cbor Working Group mailing list (<eref target="mailto:cbor@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/cbor/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/cbor/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cbor-wg/cddl-2"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <t>(Please see abstract.)</t>
      <t>Note that the existing extension point can be exercised for new
features in parallel to the work described here.
One such draft, <xref target="I-D.bormann-cbor-cddl-more-control"/>, is planned to form the first set of
specifications going forward from the CDDL-2 project together with <xref target="I-D.bormann-cbor-update-8610-grammar"/>.</t>
      <t>The rest of this introduction gives a rough overview over what could
be the development plan for CDDL 1.1, 2.0, 2.5.</t>
      <section anchor="s11">
        <name>CDDL 1.1 + 2 plan (standards track)</name>
        <ul spacing="normal">
          <li>Done before <strong>IETF 117</strong>: CDDL 1.1: <xref target="I-D.bormann-cbor-update-8610-grammar"/>, <em>Grammar</em> fixes:
Empty files (enabling CDDL 2), non-literal tags, errata fixes (implemented)</li>
          <li>Done before <strong>IETF 117</strong>: Parallel to CDDL 1.1: More <em>control</em> operators
<xref target="I-D.bormann-cbor-cddl-more-control"/>: Additional control operators, another iteration like RFC 9165 (implemented)</li>
          <li>Done before <strong>IETF 118</strong>: CDDL 2.0: <xref target="I-D.bormann-cbor-cddl-modules"/> (<tt>import</tt>/<tt>include</tt>
implemented; potentially further directives to be added)</li>
          <li>Done <strong>2024</strong>: CDDL 2.5: <xref target="anno"/> of the present document
("<em>annotations</em>", plus some functionality enabled by that).
The requirements are clear, the specific form this takes needs to be
worked out.
Enables, e.g., <xref section="5" sectionFormat="of" target="I-D.bormann-cbor-cddl-freezer"/> (co-occurrence).</li>
        </ul>
      </section>
      <section anchor="s12">
        <name>Other documents</name>
        <t>Not on the main line of development, but important ancillary work:</t>
        <ul spacing="normal">
          <li>(Informational, Mid-2023): <xref section="5" sectionFormat="of" target="I-D.bormann-cbor-cddl-freezer"/>:
CDDL-in-JSON format(s) for interchange of CDDL model information
between tools.</li>
          <li>(Informational, with <xref target="I-D.bormann-cbor-cddl-modules"/>): <xref target="I-D.bormann-cbor-rfc-cddl-models"/>
(builds standard collection of referenceable models).</li>
          <li>(BCP?): <xref target="I-D.bormann-cbor-draft-numbers"/>
(BCP for handling assigned numbers during draft stage)</li>
        </ul>
        <t>More explorative at this point:</t>
        <ul spacing="normal">
          <li>(Standards-Track?) The remaining <xref target="syntax"/> of this document:
application-oriented literals in CDDL; develop with <xref target="I-D.bormann-cbor-edn-literals"/>.</li>
          <li>(Informational or Standards-Track?): <xref target="I-D.bormann-cbor-cddl-csv"/> (using CDDL to
model CSV documents).</li>
        </ul>
      </section>
    </section>
    <section anchor="syntax">
      <name>Mending syntax deficits</name>
      <t>The previous content of this section formed the basis for <xref target="I-D.bormann-cbor-update-8610-grammar"/>,
except for <xref target="tagolit-ref"/>.</t>
      <section anchor="tagolit-ref">
        <name>Tag-oriented Literals</name>
        <t>Incomplete, see <xref target="tagolit"/>.</t>
      </section>
    </section>
    <section anchor="anno">
      <name>Processing model: Beyond Validation</name>
      <dl spacing="compact">
        <dt><em>Proposal Status</em>:</dt>
        <dd>
          <t>experiments with implementations ongoing</t>
        </dd>
        <dt><em>Compatibility</em>:</dt>
        <dd>
          <t>backwards compatible</t>
        </dd>
      </dl>
      <t>The basic (implicit) processing model for CDDL 1.0 applies a CDDL data
model to a data item and returns a Boolean that indicates whether the
data item matches that model ("<em>validation</em>").</t>
      <t><xref section="4" sectionFormat="of" target="RFC9165"/> extends this model with named "<em>features</em>".
A validation can indicate which features were used.
Validation could also be parameterized with information about what
features are allowed to be used, enabling variants (see <xref section="4" sectionFormat="of" target="RFC9165"/> and <xref target="useful"/> for examples).</t>
      <t>The <tt>cddl</tt> tool (<xref section="F" sectionFormat="of" target="RFC8610"/>) also supports experimental
forms of "annotating" a validated data item with information about
which rules were used to support validation, currently entirely based on the
information that is in a standard CDDL 1.0 data model.
This leads to a more general concept of "<em>annotation</em>", where the data
model specification supports "annotating" the validated instance by
optionally supplying information in the model.
(The annotated result is a special case of a "post-schema validation
instance" <xref target="PSVI"/>, here one where the data item itself is only
augmented, not changed, by the process.)</t>
      <t>Annotations could in turn provide input to further validation steps,
as is often done with Schematron validation in Relax-NG; with an
appropriate evaluation language this can be used for checking co-occurrence
constraints (<xref section="5" sectionFormat="of" target="I-D.bormann-cbor-cddl-freezer"/>).</t>
      <t>Finally, annotations are a first step to <em>transformation</em>, i.e.,
describing how a validated data item should be interpreted as a
transformed data item by performing certain computations.
This generally requires even more support from an evaluation language,
simple transformations such as adding in default values may not need
much support though.</t>
      <t>At this time, existing experimental implementations do not lead to a
clear choice for what processing model enhancements should be in
CDDL 2.0.
This document proposes to continue the experimentation and document
good approaches.</t>
    </section>
    <section anchor="module-superstructure">
      <name>Module superstructure</name>
      <t>The previous content of this section formed the basis for <xref target="I-D.bormann-cbor-cddl-modules"/>.
Additional work might be started on the ideas outlined in the
subsections of this section.</t>
      <section anchor="cross-universe-references">
        <name>Cross-universe references</name>
        <t>See <xref target="cross"/>.
<!-- {Appendix A.2 of -cddl-2-draft}}. -->
        </t>
      </section>
      <section anchor="abnf-is-a-lot-like-cddl">
        <name>ABNF is a lot like CDDL</name>
        <t>Many of the constructs defined here for CDDL also could be used with
ABNF specifications.  ABNF would definitely benefit from a standard
way to import snippets from existing RFCs.
Since CDDL contains ABNF support (<xref section="3" sectionFormat="of" target="RFC9165"/>), it would be
natural to make some of the functionality discussed in this section
available for ABNF as well.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>(Insert new registry for application specific literals here, if adopted.)</t>
    </section>
    <section anchor="security-considerations">
      <name>Security considerations</name>
      <t>The security considerations of <xref target="RFC8610"/> apply.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz">
              <organization/>
            </author>
            <author fullname="C. Vigano" initials="C." surname="Vigano">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049).  Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC9165">
          <front>
            <title>Additional Control Operators for the Concise Data Definition Language (CDDL)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="December" year="2021"/>
            <abstract>
              <t>The Concise Data Definition Language (CDDL), standardized in RFC 8610, provides "control operators" as its main language extension point.</t>
              <t>The present document defines a number of control operators that were not yet ready at the time RFC 8610 was completed: , , and  for the construction of constants; / for including ABNF (RFC 5234 and RFC 7405) in CDDL specifications; and for indicating the use of a non-basic feature in an instance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9165"/>
          <seriesInfo name="DOI" value="10.17487/RFC9165"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.bormann-cbor-cddl-freezer">
          <front>
            <title>A feature freezer for the Concise Data Definition Language (CDDL)</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="24" month="October" year="2022"/>
            <abstract>
              <t>   In defining the Concise Data Definition Language (CDDL), some
   features have turned up that would be nice to have.  In the interest
   of completing this specification in a timely manner, the present
   document was started to collect nice-to-have features that did not
   make it into the first RFC for CDDL, RFC 8610, or the specifications
   exercising its extension points, such as RFC 9165.

   Significant parts of this draft have now moved over to the CDDL 2.0
   project, described in draft-bormann-cbor-cddl-2-draft.  The remaining
   items in this draft are not directly related to the CDDL 2.0 effort.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-cddl-freezer-10"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-edn-literals">
          <front>
            <title>Application-Oriented Literals in CBOR Extended Diagnostic Notation</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="24" month="October" year="2022"/>
            <abstract>
              <t>   The Concise Binary Object Representation, CBOR (RFC 8949), defines a
   "diagnostic notation" in order to be able to converse about CBOR data
   items without having to resort to binary data.

   This document specifies how to add application-oriented extensions to
   the diagnostic notation.  It then defines two such extensions for the
   use of CBOR diagnostic notation with CoRAL and Constrained Resource
   Identifiers (draft-ietf-core-coral, draft-ietf-core-href).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-edn-literals-01"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-update-8610-grammar">
          <front>
            <title>Updates to the CDDL grammar of RFC 8610</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="9" month="March" year="2023"/>
            <abstract>
              <t>   At the time of writing, the Concise Data Definition Language (CDDL)
   is defined by RFC 8610 and RFC 9165.  The latter has used the
   extension point provided in RFC 8610, the _control operator_.

   As CDDL is being used in larger projects, the need for corrections
   and additional features has become known that cannot be easily mapped
   into this single extension point.  Hence, there is a need for
   evolution of the base CDDL specification itself.

   The present document updates errata and makes other small fixes for
   the ABNF grammar defined for CDDL in RFC 8610.


   // Previous versions of the changes in this document were part of
   // draft-bormann-cbor-cddl-2-draft and previously draft-bormann-cbor-
   // cddl-freezer.  This submission extracts out those grammar changes
   // that are ready for WG adoption and publication.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-update-8610-grammar-00"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-cddl-more-control">
          <front>
            <title>More Control Operators for CDDL</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="9" month="March" year="2023"/>
            <abstract>
              <t>   The Concise Data Definition Language (CDDL), standardized in RFC
   8610, provides "control operators" as its main language extension
   point.  RFCs have added to this extension point both in an
   application-specific and a more general way.

   The present document defines a number of additional generally
   application control operators for text conversion (Bytes, Integers,
   JSON), operations on text, and deterministic encoding.


   // Revision -01 of this draft reflects comments from initial
   // discussion of the specification in the CBOR working group.  It is
   // intended to be ready for working group adoption.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-cddl-more-control-01"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-cddl-modules">
          <front>
            <title>CDDL Module Structure</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="10" month="March" year="2023"/>
            <abstract>
              <t>   At the time of writing, the Concise Data Definition Language (CDDL)
   is defined by RFC 8610 and RFC 9165.  The latter has used the
   extension point provided in RFC 8610, the _control operator_.

   As CDDL is being used in larger projects, the need for corrections
   and additional features has become known that cannot be easily mapped
   into this single extension point.  Hence, there is a need for
   evolution of the base CDDL specification itself.

   The present document defines a backward- and forward-compatible way
   to add a module structure to CDDL.


   // Previous versions of the changes in this document were part of
   // draft-bormann-cbor-cddl-2-draft and previously draft-bormann-cbor-
   // cddl-freezer.  This submission extracts out the functionality that
   // is ready for WG adoption and further WG work.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-cddl-modules-00"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-rfc-cddl-models">
          <front>
            <title>CDDL models for some existing RFCs</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="25" month="February" year="2023"/>
            <abstract>
              <t>   A number of CBOR- and JSON-based protocols have been defined before
   CDDL was standardized or widely used.

   This short draft records some CDDL definitions for such protocols,
   which could become part of a library of CDDL definitions available
   for use in CDDL2 processors.  It focuses on CDDL in (almost)
   published IETF RFCs.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-rfc-cddl-models-01"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-draft-numbers">
          <front>
            <title>Managing CBOR numbers in Internet-Drafts</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="22" month="February" year="2023"/>
            <abstract>
              <t>   CBOR-based protocols often make use of numbers allocated in a
   registry.  While developing the protocols, those numbers may not yet
   be available.  This impedes the generation of data models and
   examples that actually can be used by tools.

   This short draft proposes a common way to handle these situations,
   without any changes to existing tools.  Such changes are very well
   possible in the future, at which time this draft will be updated.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-draft-numbers-00"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-cddl-csv">
          <front>
            <title>Using CDDL for CSVs</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="27" month="February" year="2023"/>
            <abstract>
              <t>   The Concise Data Definition Language (CDDL), standardized in RFC
   8610, is defined to provide data models for data shaped like JSON or
   CBOR.

   Another representation format that is quote popular is the CSV
   (Comma-Separated Values) file as defined by RFC 4180.

   The present document shows a way how to use CDDL to provide a data
   model for CSV files.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-cddl-csv-02"/>
        </reference>
        <reference anchor="useful" target="https://github.com/cbor-wg/cddl/wiki/Useful-CDDL">
          <front>
            <title>Useful CDDL</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="PSVI" target="https://www.w3.org/XML/2002/05/psvi-use-cases">
          <front>
            <title>Use Cases for XML Schema PSVI API</title>
            <author>
              <organization/>
            </author>
            <date year="2002" month="June" day="24"/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="fridge">
      <name>Fridge</name>
      <t>This appendix contains sections that may not make it to a 2.0, but
might be part of a followup.</t>
      <section anchor="tagolit">
        <name>Tag-oriented Literals</name>
        <dl spacing="compact">
          <dt><em>Proposal Status</em>:</dt>
          <dd>
            <t>rough idea, porting from EDN</t>
          </dd>
          <dt><em>Compatibility</em>:</dt>
          <dd>
            <t>backward (not forward)</t>
          </dd>
        </dl>
        <t>Some CBOR tags often would be most natural to use in a CDDL spec with a literal
syntax that is tailored to their semantics instead of their
serialization in CBOR.  There is currently no way to add such syntaxes, no
defined extension point either.</t>
        <t>The proposal
"Application-Oriented Literals in CBOR Extended Diagnostic Notation"
<xref target="I-D.bormann-cbor-edn-literals"/> defines application-oriented
literals, e.g., of the form</t>
        <ul empty="true">
          <li>
            <t>dt'2019-07-21T19:53Z'</t>
          </li>
        </ul>
        <t>for datetime items.  With additional considerations for unambiguous
syntax, a similar literal form could be included in CDDL.</t>
        <t>This proposal opens a name space for the prefix that indicates an
application specific literal.
A registry could be provided to make this name space a genuine
extension point.
(This is currently the production <tt>bsqual</tt> in <xref section="B" sectionFormat="of" target="RFC8610"/>.)</t>
        <t>The syntax provided in <xref target="I-D.bormann-cbor-edn-literals"/> does not
enable the use of CDDL types — it has the same flaw that is being
fixed for tag numbers in <xref section="3.2" sectionFormat="of" target="I-D.bormann-cbor-update-8610-grammar"/>.</t>
      </section>
      <section anchor="cross">
        <name>Cross-universe references</name>
        <t>Often, a CDDL specification needs to import from specifications in a
different language or platform.</t>
        <section anchor="iana-references">
          <name>IANA references</name>
          <t>In many cases, CDDL specifications make use of values that are
specified in IANA registries.  The <tt>.iana</tt> control operator can be
used to reference such a set of values.</t>
          <t>The reference needs to be able to point to a draft, the registry of
which has not been established yet, as well as to an established IANA registry.</t>
          <t>An example of such a usage might be:</t>
          <sourcecode type="CDDL"><![CDATA[
cose-algorithm = int .iana ["cose", "algorithms", "value"]
]]></sourcecode>
          <t>Unfortunately, the vocabulary employed in IANA registries has not been
designed for machine references.  In this case, the potential values
would come from applying the XPath expression</t>
          <sourcecode type="xpath"><![CDATA[
//iana:registry[@id='algorithms']/iana:record/iana:value
]]></sourcecode>
          <t>to <tt>https://www.iana.org/assignments/cose/cose.xml</tt>, plus some
filtering on the records returned that only leaves actual allocations.
Additional functionality may be needed for filtering with respect to other
columns of the registry record, e.g., <tt>&lt;capabilities&gt;</tt> in the case of
this example.</t>
        </section>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>TBD</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA6Va23IbxxF9n6+YQA8mYSxIgJJtwbFjSpQcpqxLmfKl4nIV
B7sDYKLFznpnliDMYiofkQ/wQ77E+ZN8SU73zF5Agnaqoqo4C2AufTndfbqX
SZKIq5k8EcIbn+uZ/FxI+fzs7Ktff5mOj+V//vFPqWRWqYWXZa4KoebzSmND
u0RkNi3UGjt5VTK31VoVRZLiIUmzLE+mSfglV147Lx7JDA8zOT2eTpPJcTJ5
KsR7vd3YKpvJ88LrqtA+OaMtIlV+Jk2xsML5Sqs1Frx491JslhDg2Zuv5Xe2
em+KpVxWti6FuNJFrWdQYK1MPpMDkuELo/1ibKvlAN8vjV/V85lk4TbLoyCf
EKWZyR+8TUfS2Qo3LRyetuvwkNp1qVLPD2tdePejEKr2K1vRVQn+J2WwwHNV
Oa8L+SzYgH/BzTP5TWGudOWM//e/vHxWaRwj3/31nBeQZhpqvrXOL1S6kicn
x48fH/NvqfHbWdwQvrAZ7jlLpp+cPHkav6kLX2HVl5ou3fKX5coWWPfh46fJ
4+kkmU4+ST46eTqd8I86WCdVc/uF/9mQbYQQBcnsISYp9fXL5598NDnGIhgo
fH46+egJPltcZvOJEOSV3o7z5Gx83/ULqPazrmYyPuxbqLMiyQ3crnI3k/1P
+1bXJaEnIemSZaXWa4XT48ODYqxtpZMo+kz2P+29I+7J6lw7Ws4P+xZWi7Rd
rPOwVu8/M4RAUa/nwMFMxocHb0/dVTA+PWFV7fSizmfsP6+qJQFm5X3pZkdH
AdRjoPOoj+ujjXlvjr7hjQmFa9gcojx8LePXby++Pd9/9mazGW9OCCJH37/6
6mh6fDw9On5yVLork0CmJFWOTSPboD6eJscfJdPHd25DbGClBGYkDpIX6Qow
5Ivl6dtz4C9JEqnmCAaEmhDvVthhi9Rg55nySp7phSmMN7aQX6liWaullgck
/qH0NlNbaZzMaI3O5HwrANhffyGQSFVkkj8RgMd8MBIRACYPlJMbnecS/+/s
WjMwpCrL3CDv0E2u1KlZmLR94K+dcDXCFLvCucdPjw/lSl1p8lImPW7Q10gD
jo4orSmQOit7ZTL8aArZijYStDQCUdoSmPe2Ggtx6tgxpBKfiE05+aWic/6m
U4+ktNDK1xC30j/VhvODd3KuU9LjfWE3BQ5XHkFeFNbjB6mVM/kWmbEs+Uhv
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
AjsmAAA=

-->

</rfc>
