<?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.24 (Ruby 3.4.1) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-dispatch-modern-network-unicode-06" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="Modern Network Unicode">Modern Network Unicode</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-dispatch-modern-network-unicode-06"/>
    <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="2025" month="March" day="02"/>
    <area>Applications</area>
    <workgroup>DISPATCH Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 90?>

<t>BCP18 (RFC 2277) has been the basis for the handling of
character-shaped data in IETF specifications for more than a quarter
of a century now.
It singles out UTF-8 (STD63, RFC 3629) as the “charset” that <bcp14>MUST</bcp14> be
supported, and pulls in the Unicode standard with that.</t>
      <t>Based on this, RFC 5198 both defines common conventions for the use of
Unicode in network protocols and caters for the specific requirements
of the legacy protocol Telnet.
In applications that do not need Telnet compatibility, some of the
decisions of RFC 5198 can be cumbersome.</t>
      <t>The present specification defines “Modern Network Unicode” (MNU),
which is a form of RFC 5198 Network Unicode that can be used in
specifications that require the exchange of plain text over networks
and where just mandating UTF-8 may not be sufficient, but
there is also no desire to import all of the baggage of RFC 5198.</t>
      <t>As characters are used in different environments, MNU is defined in a
one-dimensional (1D) variant that is useful for identifiers and
labels, but does not use a structure of text lines.
A 2D variant is defined for text that is a sequence of text lines,
such as plain text documents or markdown format.
Additional variances of these two base formats can be used to tailor
MNU to specific areas of application.</t>
    </abstract>
  </front>
  <middle>
    <?line 118?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>(Insert embellished copy of abstract here, <xref target="BCP18"/><xref target="STD63"/><xref target="RFC5198"/>.)</t>
      <!-- And perhaps a few examples of modern/current specs where these
considerations are very relevant would help readers to evaluate if
they should take this stuff into account in their specs may help too
-->

<t>Complex specifications that use Unicode often come with detailed
information on their Unicode usage; this level of detail generally is
necessary to support some legacy applications.  New, simple protocol
specifications generally do not have such a legacy or need such
details, but can instead simply use common practice, informed by
decades of using Unicode.  The present specification attempts to serve
as a convenient reference for such protocol specifications, reducing
their need for discussing Unicode to just pointing to the present
specification and making a few simple choices.</t>
      <t>There is no intention that henceforth all new protocols “must” use the
present specification.  It is offered as a standards-track
specification simply so it can be normatively referenced from other
standards-track specifications.</t>
      <section anchor="conventions">
        <name>Conventions</name>
        <t>Characters in this specification are named with their Unicode scalar value
notated in the usual form U+NNNN (where NNNN is a
four-to-six-digit upper case hexadecimal number giving the Unicode scalar
value), or with their ASCII names (such as CR, LF, HT, RS, NUL)
<xref target="STD80"/>.</t>
        <aside>
          <t>See <xref target="BCP137"/> for a more detailed discussion of ways to refer in ASCII to
Unicode characters (as well as to code points and code units in various
transformation formats).</t>
        </aside>
        <t>General unsigned integer values written in hexadecimal are notated in
the form 0xNNNN (where NNNN is one or more hexadecimal digits).</t>
        <t>The following definitions apply:</t>
        <dl>
          <dt>Byte:</dt>
          <dd>
            <t>8-bit unit of information interchange, synonym for octet.</t>
          </dd>
          <dt>Character:</dt>
          <dd>
            <t>Unicode scalar value, unless otherwise specified.
(With <xref target="BCP18"/>, this usage is generally appropriate for IETF
specifications; <xref target="terminology"/> has more about the more complex models
that Unicode uses for character-like entities.)</t>
          </dd>
        </dl>
        <t>Please see <xref target="terminology"/> for some more detailed term definitions that
may be helpful to relate this specification with the Unicode Standard;
please do read its first paragraph if the definitions in this section
seem inadequate.</t>
        <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 <xref target="BCP14"/> (<xref target="RFC2119"/>) (<xref target="RFC8174"/>) when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="mnu1d">
      <name>1D Modern Network Unicode</name>
      <t>One-dimensional Modern Network Unicode (1D MNU) is the form of Modern
Network Unicode that can be used for one-dimensional text, i.e., text
without a structure of separate text lines.
It requires conformance to UTF-8 <xref target="STD63"/>, as well as to the following
four mandates:</t>
      <ol spacing="normal" type="1"><li>
          <t>Control codes (here specifically U+0000 to U+001F and U+007F to
  U+009F) <bcp14>MUST NOT</bcp14> be used.
  (Note that this also excludes line endings, so a 1D MNU text
  string cannot extend beyond a single line.  See <xref target="mnu2d"/>
  below if line structure is needed.)</t>
        </li>
        <li>
          <t>The characters U+2028 and U+2029 <bcp14>MUST NOT</bcp14> be used.  (In case future
  Unicode versions add to the Unicode character categories Zl or Zp,
  any characters in these categories <bcp14>MUST NOT</bcp14> be used.)</t>
        </li>
        <li>
          <t>Modern Network Unicode strongly RECOMMENDS that, except in unusual
  circumstances (see <xref target="normalization"/>), all text is transmitted in
  normalization form NFC.  This mandate is not intended to be
  realized by routinely normalizing all text, but by encouraging text
  sources to use NFC if applicable.</t>
        </li>
        <li>
          <t>The code points U+FFFE and U+FFFF
  <bcp14>MUST NOT</bcp14> be used.  Also, Byte Order Marks (leading U+FEFF
  characters) <bcp14>MUST NOT</bcp14> be used.</t>
        </li>
      </ol>
      <t>Note that several control codes have been in use historically in ASCII
documents even within a single text line.
For instance BS (U+0008) and CR (U+000D) have been used as a crude way
to combine (by overtyping) characters; the present specification does
not support this behavior anymore.
HT (U+0009, “TAB”) has been used for a form of compressing stretches
of blank space; by keeping its actual definition open it has also been
used to enable users of text to specify variable interpretations of blank space
(“indentation”).
The present specification RECOMMENDS not using a variance for 1D MNU
that would enable the use of BS, HT, or CR; legacy usage of HT may be more
appropriate in certain forms of 2D text.</t>
    </section>
    <section anchor="mnu2d">
      <name>2D Modern Network Unicode</name>
      <t>Two-dimensional Modern Network Unicode (2D MNU) enhances 1D MNU by
structuring the text into lines.
2D MNU does this by using the control code LF (U+000A) for a line
terminator.
The use of an unterminated last line is permitted, but not encouraged.
(This is not a variance.)</t>
      <t>Historically, the Internet NVT (See Section “THE NETWORK VIRTUAL
TERMINAL” in RFC 0854 as part of the Telnet specification <xref target="STD8"/>)
and thus, much later, Network
Unicode <xref target="RFC5198"/> have used the combination CR+LF as a line
terminator, reflecting its heritage based on teletype functionality.
The use of U+000D mostly introduces additional ways to create
interoperability problems.
<xref target="XML"/> goes to great lengths to reduce the harm the presence of CR
characters does to interchange of XML documents.
Pages 10 and 11 of <xref target="RFC0764"/> discuss how CR can actually only be
used in the combinations CR+NUL and CR+LF.
2D MNU simply elides the CR.</t>
      <t>In other words, 2D MNU adds the use of line endings, represented by a
single LF character (which is then the only control character
allowed).  Variances are available for (1) allowing or even (2)
requiring the use of CR before LF.</t>
    </section>
    <section anchor="d">
      <name>3D?</name>
      <t>Three-dimensional forms of text have been used, e.g., by using U+000C
FF (“form feed”) to add a page structure to the long-time ASCII-based
RFC format <xref target="RFC2223"/>,
or by using U+001E RS (“record separator”) to separate several (2D) JSON
texts in a JSON sequence <xref target="RFC7464"/>.</t>
      <t>As the need for this form of structure is now mostly being addressed by
building data structures around text items, the present specification
does not define a common 3D MNU.
If needed, variances such as the use of FF or RS can be described in
the documents specifying the 3D format.</t>
    </section>
    <section anchor="variances">
      <name>Variances</name>
      <t>In addition to the basic 1D and 2D versions of MNU, this specification
describes a number of variances that can be used in the forms such as
“2D Modern Network Unicode with VVV”, or “2D Modern Network Unicode
with VVV, WWW, and YYY” for multiple variances used.  Specifications
that cannot directly use the basic MNU forms may be able to use MNU
with one or more of these variances added.</t>
      <t>An example for the usage of variances: Up to RFC 8649, RFCs were
formatted in “2D Modern Network Unicode with CR-tolerant lines and FF
characters”, or exceptionally <xref target="RFC8265"/>, “2D Modern Network Unicode with
CR-tolerant lines, FF characters, and BOM”.</t>
      <section anchor="with-cr-tolerant-lines">
        <name>With CR-tolerant lines</name>
        <t>The variance “with CR-tolerant lines” allows the sequence CR LF as
well as a single LF character as a line ending, ignoring the CR (i.e.,
the presence or absence of a CR in front of an LF <bcp14>MUST</bcp14> be equivalent).
This may enable
existing texts to be used as MNU without processing at the sender side
(substituting that by processing at the receiver side).  Note that,
with this variance, a CR character cannot be used anywhere else but
immediately preceding an LF character.</t>
      </section>
      <section anchor="with-cr-lf">
        <name>With CR-LF</name>
        <t>The variance “with CR-LF lines” requires the sequence CR LF as a line
ending; a single LF character is not allowed.  This is appropriate for
certain existing environments that have already made that
determination.</t>
      </section>
      <section anchor="with-line-or-paragraph-separators">
        <name>With Line or Paragraph Separators</name>
        <t>For 2D applications, and even for 1D applications that need to address
text in 2D forms, it may be useful to enable the use of U+2028 and
U+2029; this should be explicitly called out.</t>
      </section>
      <section anchor="with-ht-characters">
        <name>With HT Characters</name>
        <t>In some cases, the use of HT characters (“TABs”) cannot be completely excluded.
The variance “with HT characters” allows their use, without attempting
to define their meaning (e.g., equivalence with spaces, column definitions, etc.).</t>
      </section>
      <section anchor="with-ccc-characters">
        <name>With /CCC/ Characters</name>
        <t>Some applications of MNU may need to add specific control characters,
such as RS <xref target="RFC7464"/> or FF characters <xref target="RFC2223"/>.  This variance is spelled
with the ASCII name of the control character for CCC, e.g., “with RS
characters”.</t>
      </section>
      <section anchor="with-nfc">
        <name>With NFC</name>
        <t>This variance turns the encouragement of using NFC normalization form
into a requirement.
Please see <xref target="normalization"/> for why this should be an exceptional case.</t>
      </section>
      <section anchor="with-nfkc">
        <name>With NFKC</name>
        <t>Some applications require a stronger form of normalization than NFC.
The variance “with NFKC” swaps out NFC and uses NFKC instead.
This is probably best used in conjunction with “with Unicode version NNN”.</t>
      </section>
      <section anchor="version">
        <name>With Unicode Version NNN</name>
        <t>Some applications need to be sure that a certain Unicode version is
used.
The variance “with Unicode version NNN” (where NNN is a Unicode
version number) defines the Unicode version in use as NNN.
Also, it requires that only characters assigned in that Unicode
version are being used.</t>
        <t>See <xref section="4" sectionFormat="of" target="RFC5198"/> for more discussion of Unicode versions.</t>
      </section>
      <section anchor="with-bom">
        <name>With BOM</name>
        <t>In some environments, UTF-8 files need to be distinguished from files
in other formats without the benefit of out of band information such
as media types.
One convention that has been used in certain
environments was to prepend a “Byte Order Mark” (U+FEFF) as a
distinguishing mark (as UTF-8 is not influenced by different byte
orders, this mark does not serve a purpose in UTF-8).
Sometimes these BOMs are included for interchange to ensure local
copies of the file include the distinguishing mark.
This variance enables this usage.</t>
      </section>
    </section>
    <section anchor="using-abnf-with-unicode">
      <name>Using ABNF with Unicode</name>
      <t>Internet STD 68, <xref target="STD68"/>, defines Augmented BNF for Syntax
Specifications: ABNF.  Since the late 1970s, ABNF has often been used
to formally describe the pieces of text that are meant to be used in
an Internet protocol.  ABNF was developed at a time when character
coding grew more and more complicated, and even in its current form, discusses
encoding of characters only briefly (Section <xref target="RFC5234" section="2.4" sectionFormat="bare"/> of RFC 5234 <xref target="STD68"/>).
This discussion offers no information about how this should be used today (it
actually still refers to 16-bit Unicode!).</t>
      <t>The best current practice of using ABNF for Unicode-based protocols is
as follows: ABNF is used as a grammar for describing sequences of
Unicode code points, valued from 0x0 to 0x10FFFF.  The actual encoding
(as UTF-8) is never seen on the ABNF level; see <xref section="9.4" sectionFormat="of" target="RFC6020"/> for a recent example of this.
Approaches such as representing the rules of UTF-8 encoding in ABNF
(see <xref section="3.5" sectionFormat="of" target="RFC5255"/> for an example) add complexity without
benefit and are <bcp14>NOT RECOMMENDED</bcp14>.</t>
      <t>ABNF features such as case-insensitivity in literal text strings
essentially do not work for general Unicode; text string literals
therefore (and by the definition in Section <xref target="RFC5234" section="2.3" sectionFormat="bare"/> of RFC 5234 <xref target="STD68"/>) are
limited to ASCII characters.  That is often not actually a problem in
text-based protocol definitions.  Still, characters beyond ASCII need
to be allowed in many productions.  ABNF does not have access to
Unicode character categories and thus will be limited in its
expressiveness here.  The core rules defines in Appendix <xref target="RFC5234" section="B" sectionFormat="bare"/> of RFC 5234 <xref target="STD68"/> are limited to ASCII as well; new rules will therefore need
to be defined in any protocol employing modern Unicode.</t>
      <t>The present specification recommends defining ABNF rules as in these
examples:</t>
      <sourcecode type="ABNF"><![CDATA[
; 1D modern unicode character:
uchar = %x20-7E ; exclude C0
      / %xA0-2027 ; exclude DEL, C1
      / %x202A-D7FF ; exclude U+2028/2029
      / %xE000-FFFD ; exclude U+FFFE/FFFF
      / %x10000-10FFFD ; could exclude more non-characters

; 2D modern unicode with lines -- newline:
unl = %x0A
u2dchar = unl / uchar
; alternatively, CR-tolerant newline:
ucrnl = [%x0D] %x0A
u2dcrchar = ucrnl / uchar

; if really needed, HT-tolerant 1D unicode character:
utchar = %x09 / uchar

; for applications that mostly are concerned about specifying details
; about using ASCII characters, but want to include the non-ASCII
; characters allowed in modern network unicode and its variances:
NONASCII = %xA0-D7FF / %xE000-10FFFD
]]></sourcecode>
    </section>
    <section anchor="iana-considerations">
      <name>IANA considerations</name>
      <t>This specification places no requirements on IANA.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security considerations</name>
      <t>The security considerations of <xref target="RFC5198"/> apply.</t>
      <t>A variance “with NUL characters” would create specific security
considerations as discussed in the security considerations of
<xref target="RFC5198"/> and should therefore only be used in circumstances that
absolutely do require it.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <referencegroup anchor="STD80" target="https://www.rfc-editor.org/info/std80">
          <reference anchor="RFC0020" target="https://www.rfc-editor.org/info/rfc20">
            <front>
              <title>ASCII format for network interchange</title>
              <author fullname="V.G. Cerf" initials="V.G." surname="Cerf"/>
              <date month="October" year="1969"/>
            </front>
            <seriesInfo name="STD" value="80"/>
            <seriesInfo name="RFC" value="20"/>
            <seriesInfo name="DOI" value="10.17487/RFC0020"/>
          </reference>
        </referencegroup>
        <referencegroup anchor="BCP18" target="https://www.rfc-editor.org/info/bcp18">
          <reference anchor="RFC2277" target="https://www.rfc-editor.org/info/rfc2277">
            <front>
              <title>IETF Policy on Character Sets and Languages</title>
              <author fullname="H. Alvestrand" initials="H." surname="Alvestrand"/>
              <date month="January" year="1998"/>
              <abstract>
                <t>This document is the current policies being applied by the Internet Engineering Steering Group (IESG) towards the standardization efforts in the Internet Engineering Task Force (IETF) in order to help Internet protocols fulfill these requirements. 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="18"/>
            <seriesInfo name="RFC" value="2277"/>
            <seriesInfo name="DOI" value="10.17487/RFC2277"/>
          </reference>
        </referencegroup>
        <referencegroup anchor="STD63" target="https://www.rfc-editor.org/info/std63">
          <reference anchor="RFC3629" target="https://www.rfc-editor.org/info/rfc3629">
            <front>
              <title>UTF-8, a transformation format of ISO 10646</title>
              <author fullname="F. Yergeau" initials="F." surname="Yergeau"/>
              <date month="November" year="2003"/>
              <abstract>
                <t>ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems. The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo. UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values. This memo obsoletes and replaces RFC 2279.</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="63"/>
            <seriesInfo name="RFC" value="3629"/>
            <seriesInfo name="DOI" value="10.17487/RFC3629"/>
          </reference>
        </referencegroup>
        <referencegroup anchor="STD68" target="https://www.rfc-editor.org/info/std68">
          <reference anchor="RFC5234" target="https://www.rfc-editor.org/info/rfc5234">
            <front>
              <title>Augmented BNF for Syntax Specifications: ABNF</title>
              <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
              <author fullname="P. Overell" initials="P." surname="Overell"/>
              <date month="January" year="2008"/>
              <abstract>
                <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="68"/>
            <seriesInfo name="RFC" value="5234"/>
            <seriesInfo name="DOI" value="10.17487/RFC5234"/>
          </reference>
        </referencegroup>
        <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
          <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/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" target="https://www.rfc-editor.org/info/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>
        </referencegroup>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8265">
          <front>
            <title>Preparation, Enforcement, and Comparison of Internationalized Strings Representing Usernames and Passwords</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This document describes updated methods for handling Unicode strings representing usernames and passwords. The previous approach was known as SASLprep (RFC 4013) and was based on Stringprep (RFC 3454). The methods specified in this document provide a more sustainable approach to the handling of internationalized usernames and passwords. This document obsoletes RFC 7613.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8265"/>
          <seriesInfo name="DOI" value="10.17487/RFC8265"/>
        </reference>
        <reference anchor="RFC2223">
          <front>
            <title>Instructions to RFC Authors</title>
            <author fullname="J. Postel" initials="J." surname="Postel"/>
            <author fullname="J. Reynolds" initials="J." surname="Reynolds"/>
            <date month="October" year="1997"/>
            <abstract>
              <t>This Request for Comments (RFC) provides information about the preparation of RFCs, and certain policies relating to the publication of RFCs. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2223"/>
          <seriesInfo name="DOI" value="10.17487/RFC2223"/>
        </reference>
        <reference anchor="RFC7464">
          <front>
            <title>JavaScript Object Notation (JSON) Text Sequences</title>
            <author fullname="N. Williams" initials="N." surname="Williams"/>
            <date month="February" year="2015"/>
            <abstract>
              <t>This document describes the JavaScript Object Notation (JSON) text sequence format and associated media type "application/json-seq". A JSON text sequence consists of any number of JSON texts, all encoded in UTF-8, each prefixed by an ASCII Record Separator (0x1E), and each ending with an ASCII Line Feed character (0x0A).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7464"/>
          <seriesInfo name="DOI" value="10.17487/RFC7464"/>
        </reference>
        <referencegroup anchor="BCP137" target="https://www.rfc-editor.org/info/bcp137">
          <reference anchor="RFC5137" target="https://www.rfc-editor.org/info/rfc5137">
            <front>
              <title>ASCII Escaping of Unicode Characters</title>
              <author fullname="J. Klensin" initials="J." surname="Klensin"/>
              <date month="February" year="2008"/>
              <abstract>
                <t>There are a number of circumstances in which an escape mechanism is needed in conjunction with a protocol to encode characters that cannot be represented or transmitted directly. With ASCII coding, the traditional escape has been either the decimal or hexadecimal numeric value of the character, written in a variety of different ways. The move to Unicode, where characters occupy two or more octets and may be coded in several different forms, has further complicated the question of escapes. This document discusses some options now in use and discusses considerations for selecting one for use in new IETF protocols, and protocols that are now being internationalized. 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="137"/>
            <seriesInfo name="RFC" value="5137"/>
            <seriesInfo name="DOI" value="10.17487/RFC5137"/>
          </reference>
        </referencegroup>
        <reference anchor="RFC0764">
          <front>
            <title>Telnet Protocol specification</title>
            <author fullname="J. Postel" initials="J." surname="Postel"/>
            <date month="June" year="1980"/>
          </front>
          <seriesInfo name="RFC" value="764"/>
          <seriesInfo name="DOI" value="10.17487/RFC0764"/>
        </reference>
        <referencegroup anchor="STD8" target="https://www.rfc-editor.org/info/std8">
          <reference anchor="RFC0854" target="https://www.rfc-editor.org/info/rfc854">
            <front>
              <title>Telnet Protocol Specification</title>
              <author fullname="J. Postel" initials="J." surname="Postel"/>
              <author fullname="J.K. Reynolds" initials="J.K." surname="Reynolds"/>
              <date month="May" year="1983"/>
              <abstract>
                <t>This is the specification of the Telnet protocol used for remote terminal access in the ARPA Internet. The purpose of the TELNET Protocol is to provide a fairly general, bi-directional, eight-bit byte oriented communications facility. Its primary goal is to allow a standard method of interfacing terminal devices and terminal-oriented processes to each other. It is envisioned that the protocol may also be used for terminal-terminal communication ("linking") and process-process communication (distributed computation). This RFC specifies a standard for the ARPA Internet community. Hosts on the ARPA Internet are expected to adopt and implement this standard. Obsoletes NIC 18639.</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="8"/>
            <seriesInfo name="RFC" value="854"/>
            <seriesInfo name="DOI" value="10.17487/RFC0854"/>
          </reference>
          <reference anchor="RFC0855" target="https://www.rfc-editor.org/info/rfc855">
            <front>
              <title>Telnet Option Specifications</title>
              <author fullname="J. Postel" initials="J." surname="Postel"/>
              <author fullname="J.K. Reynolds" initials="J.K." surname="Reynolds"/>
              <date month="May" year="1983"/>
              <abstract>
                <t>This memo specifies the general form for Telnet options and the directions for their specification. This RFC specifies a standard for the ARPA Internet community. Hosts on the ARPA Internet are expected to adopt and implement this standard. Obsoletes RFC 651, NIC 18640.</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="8"/>
            <seriesInfo name="RFC" value="855"/>
            <seriesInfo name="DOI" value="10.17487/RFC0855"/>
          </reference>
        </referencegroup>
        <reference anchor="RFC5198">
          <front>
            <title>Unicode Format for Network Interchange</title>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="M. Padlipsky" initials="M." surname="Padlipsky"/>
            <date month="March" year="2008"/>
            <abstract>
              <t>The Internet today is in need of a standardized form for the transmission of internationalized "text" information, paralleling the specifications for the use of ASCII that date from the early days of the ARPANET. This document specifies that format, using UTF-8 with normalization and specific line-ending sequences. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5198"/>
          <seriesInfo name="DOI" value="10.17487/RFC5198"/>
        </reference>
        <reference anchor="UNICODE" target="https://www.unicode.org/versions/Unicode16.0.0/UnicodeStandard-16.0.pdf">
          <front>
            <title>The Unicode® Standard: Version 16.0 — Core Specification</title>
            <author>
              <organization>The Unicode Consortium</organization>
            </author>
            <date year="2024" month="September" day="10"/>
          </front>
          <annotation>  For convenience, this bibliography entry points to what was the most recent version of Unicode at the time of writing. It is, however, intended to be a generic reference to the most recent version of Unicode, which always can be found at <eref target="http://www.unicode.org/versions/latest/">http://www.unicode.org/versions/latest/</eref>.</annotation>
        </reference>
        <reference anchor="PRIVATE-USE" target="https://www.unicode.org/faq/private_use.html">
          <front>
            <title>Private-Use Characters, Noncharacters &amp; Sentinels FAQ</title>
            <author>
              <organization>The Unicode Consortium</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="XML" target="http://www.w3.org/TR/2008/REC-xml-20081126/">
          <front>
            <title>Extensible Markup Language (XML) 1.0 (Fifth Edition)</title>
            <author initials="T." surname="Bray" fullname="Tim Bray">
              <organization/>
            </author>
            <author initials="J." surname="Paoli" fullname="Jean Paoli">
              <organization/>
            </author>
            <author initials="C.M." surname="Sperberg-McQueen" fullname="C.M. Sperberg-McQueen">
              <organization/>
            </author>
            <author initials="E." surname="Maler" fullname="Eve Maler">
              <organization/>
            </author>
            <author initials="F." surname="Yergeau" fullname="François Yergeau">
              <organization/>
            </author>
            <date year="2008" month="November"/>
          </front>
        </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="RFC5255">
          <front>
            <title>Internet Message Access Protocol Internationalization</title>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/>
            <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
            <date month="June" year="2008"/>
            <abstract>
              <t>Internet Message Access Protocol (IMAP) version 4rev1 has basic support for non-ASCII characters in mailbox names and search substrings. It also supports non-ASCII message headers and content encoded as specified by Multipurpose Internet Mail Extensions (MIME). This specification defines a collection of IMAP extensions that improve international support including language negotiation for international error text, translations for namespace prefixes, and comparator negotiation for search, sort, and thread. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5255"/>
          <seriesInfo name="DOI" value="10.17487/RFC5255"/>
        </reference>
      </references>
    </references>
    <?line 438?>

<section anchor="terminology">
      <name>Terminology</name>
      <t>In order for the main body of this specification to stay readable for
its target audience, we banish what could be considered excessive
detail into appendices.
Expert readers who know a lot more about Coded Character Sets and
Unicode than the target audience of the present document is likely
interested in, are requested
to hold back the urge to request re-introduction of excessive detail
into the main body.
For instance, this specification has a local definition of “Unicode
character” that is useful for protocol designers, but is not actually
defined by the Unicode consortium; the details are here.</t>
      <t>Some definitions below reference definitions given in the Unicode
standard and are simplified from those, which see if the full detail
is needed.</t>
      <dl>
        <dt>Grapheme:</dt>
        <dd>
          <t>The smallest functional unit of a writing system.  For computer
representation, graphemes are represented by <em>characters</em>, sometimes
a single character, sometimes decomposed into multiple characters.
In visible presentation, graphemes are made visible as <em>glyphs</em>;
for computer use, glyphs are collected into <em>typefaces</em> (fonts).
The term grapheme is used to abstract from the specific glyph used —
a specific glyph from a typeface may be considered one of several
<em>allographs</em> for a grapheme.</t>
        </dd>
        <dt>Character:</dt>
        <dd>
          <t>Only defined as “abstract character” in <xref target="UNICODE"/>:
A unit of information used for the organization, control, or
representation of textual data (definition D7).
Most characters are used to stand for graphemes or to build
graphemes out of several characters.
Characters are usually used in ordered sequences, which are referred
to as “character strings”.</t>
        </dd>
        <dt>Character set, Coded Character Set:</dt>
        <dd>
          <t>A mapping from code points to characters.
Note that the shorter form term “character set” is easily
misunderstood for a set of characters constituting a palette to
choose from; the latter are called “character repertoire”.</t>
        </dd>
        <dt>Character repertoire:</dt>
        <dd>
          <t>A set of characters, in the sense of what is available as characters
to choose from.</t>
        </dd>
        <dt>Code point:</dt>
        <dd>
          <t>The (usually numeric) value used in a coded character set to refer
to a character.
Note that code points may undergo some encoding before interchange,
see Unicode transformation format below.
Code points can also be allocated to refer to internal constructs of
a Unicode transformation format instead of referring to characters.
</t>
          <t>Unicode uses unsigned numbers between 0 and 1114111 (0x10FFFF) as
code points.</t>
        </dd>
        <dt>Unicode transformation format (UTF):</dt>
        <dd>
          <t>Character (and character strings) usually are interchanged as a
sequence of bytes.
A Unicode Transformation Format or Unicode Encoding Scheme specifies
a byte serialization for a Unicode encoding form.
(See definition D94 in Section 3.10, Unicode Encoding Schemes.)</t>
        </dd>
        <dt>Code unit:</dt>
        <dd>
          <t>A bit combination used for encoding text for processing or interchange.
The Unicode Standard uses 8-bit code units in the UTF-8 encoding
form, 16-bit code units in the UTF-16 encoding form, and 32-bit code
units in the UTF-32 encoding form.
(See Definition D77 in Section 3.9, Unicode Encoding Forms.)</t>
        </dd>
        <dt>Unicode scalar value:</dt>
        <dd>
          <t>Unicode code points except high-surrogate and low-surrogate code
points (see <xref target="Legacy"/>).
In other words, the ranges of integers 0 to 0xD7FF and 0xE000 to
0x10FFFF inclusive.
(See Definition D76 in Section 3.9, Unicode
Encoding Forms.)</t>
        </dd>
        <dt>Unicode character:</dt>
        <dd>
          <t>For the purposes of the present specification, we use “Unicode
character” as a synonym for “Unicode scalar value”.
Only when enough context is present, the term may be abbreviated as
“character”, the above more general definition notwithstanding.
</t>
          <t>Note that this term includes Unicode scalar values that are not
Assigned Characters; for the purposes of a specification using the
present document, it is rarely useful to make this distinction, as
Unicode evolves and could assign characters not assigned.
Note also that the definition of this term includes what Unicode
terms “noncharacters”, which may be surprising if this term is taken
at face value: Unicode uses it for one out of a stable set of 66
Unicode scalar values that have been set aside with the promise they
will never be assigned.
For a readable introduction into the historical context of this
concept and the term, please see <xref target="PRIVATE-USE"/>.</t>
        </dd>
      </dl>
    </section>
    <section anchor="Legacy">
      <name>History, Legacy</name>
      <t>Some of the complexity of using Unicode is, unsurprisingly, rooted in
its long history of development.</t>
      <t>Unicode originally was introduced around 1988 as a 16-bit character
standard.
By the early 1990s, a specification had been published, and a number
of environments eagerly picked up Unicode.
Unicode characters were represented as 16-bit values (UCS-2), enabling
a simple character model using these uniformly 16-bit values as the
characters.
Programming language environments such as those of Java, JavaScript
and C# (.NET) are now intimately entangled with this character model.</t>
      <t>In the mid-1990s, it became clear that 16 bits would not suffice.
Unicode underwent an extension to 31 bits, and then back to ~ 21 bits
(0 to 0x10FFFF).
For the 16-bit environments, this was realized by switching to UTF-16,
a “Unicode transformation format” (UTF-16).
This reassigned some of the 16-bit code points not for characters, but
for 2 sets of 1024 “surrogates” that would be used in pairs to
represent characters that do not fit into 16 bits.
Each of these surrogates supplies 10
bits; together they add 2<sup>20</sup> code points to the 2<sup>16</sup>
already available (this leads to the surprising upper limit of
0x10FFFF).</t>
      <t>In parallel, UTF-8 was created as an ASCII-compatible form of Unicode
representation that would become the dominant form of text in the Web
and other interchange environments.</t>
      <t>The UCS-2 based character models of the legacy 16-bit platforms in
many cases couldn’t be updated for fully embracing UTF-16 right away.
For instance, only much later did ECMAScript introduce the “u”
(Unicode) flag for regular expressions to have them actually match
“Unicode” characters.
So, on these platforms, UTF-16 is handled in a UCS-2 character
model, and sometimes orphaned surrogates leak out instead of Unicode
characters as “code points” in interfaces that are not meant to impose
these implementation limitations on the outside world.</t>
      <t>UTF-8 is unaffected by this UTF-16 quirk and of course doesn’t support
encoding surrogates.
(UTF-8 is careful to allow a single representation only for each
Unicode character, and enabling the alternative use of surrogate pairs
would violate that invariant, while isolated surrogates don’t mean
anything in Unicode.)</t>
      <t>Newly designed IETF protocols typically do not have to consider these
problems, but occasionally there are attempts to include isolated
surrogate code points into what we call Unicode characters here.</t>
    </section>
    <section anchor="normalization">
      <name>Normalization</name>
      <t>Please see <xref section="3" sectionFormat="of" target="RFC5198"/> for a brief introduction to Unicode
normalization and Normalization Form C (NFC).
However, since that section was written, additional experience with
normalization has led to the realization that the Unicode
normalization rules do not always preserve certain details in certain
writing systems.</t>
      <t>Therefore, the implementation approach of routinely normalizing all
text before interchange has fallen out of favor.
Instead, implementations are encouraged to use text sources that
already generally use NFC except where normalization would have been harmful.
Where two text strings needs to be compared, it may be appropriate to apply
normalization to both text strings for the purposes of the comparison only.</t>
      <t>Additional complications can come from the fact that some
implementations of applications may rely on operating system libraries
over which they have little control.
The need to maintain interoperability in such environments suggests
that receivers of MNU should be prepared to receive unnormalized text
and should not react to that in excessive ways; however, there also is
no expectation for receivers to go out of their way doing so.</t>
    </section>
    <section anchor="relationship-to-rfc-5198">
      <name>Relationship to RFC 5198</name>
      <t>Of the mandates listed in <xref target="mnu1d"/>,
the third and fourth requirement are also posed by
<xref target="RFC5198"/>, while the first two remove further legacy compatibility
considerations.</t>
      <t><xref target="RFC5198"/> contains some discussion and background material that the
present document does not attempt to repeat; the interested reader may
therefore want to consult it as an informative reference.</t>
      <t>Mandates of <xref target="RFC5198"/> that are specific to a version of Unicode are
not picked up in this specification, e.g., there is no check for
unassigned code points.
Some implementations may want to add such a check; however, in
general, this can hinder further evolution as it may become hard to
use new characters as long as not every component on the way has been
upgraded.
(See also <xref target="version"/>.)</t>
      <section anchor="going-beyond-rfc-5198">
        <name>Going beyond RFC 5198</name>
        <t>The handling of line endings (with 2D MNU prescribing LF as the line
terminator, and adding or specifying CRLF line endings as variances)
may be controversial.
In particular, calling out CR-tolerance as an extra (and often
undesirable) feature may seem novel to some readers.
The handling as specified here is much closer to the way line endings
are handled on the software side than the cumbersome rules of <xref target="RFC5198"/>.
More generally speaking, one could say that the present specification
is intended to be used by state-of-the-art protocols going forward,
maybe less so by existing protocols.</t>
        <t>Even in the “with CR-tolerant lines” variance, the CR character is
only allowed as an embellishment of an immediately following LF
character.  This reflects the fact that overprinting has only seen
niche usage for quite a number of decades now (and otherwise has been
supplanted by the concept of “combining characters”).</t>
        <t>Unicode Line and Paragraph separators probably seemed like a good idea
at the time, but have not taken hold.
Today, their occurrence is more likely to trigger a bug or even serve
as an attack.</t>
        <t>HT characters (“TABs”) were needed on ASR33 terminals to speed up
processing of blank spaces at 110 bit/s line speed.
Unless some legacy applications require compatibility with this
ancient and frequently varied convention, HT characters are no longer
appropriate in Modern Network Unicode.
In support of legacy compatibility cases that do require tolerating
their use, the “with HT characters” variance is defined.</t>
        <t>The version-nonspecific nature of MNU creates some fuzziness that may
be undesirable but is more realistic in environments where
applications choose the Unicode version with the Unicode library that
happens to be available to them.</t>
      </section>
      <section anchor="byte-order-marks">
        <name>Byte order marks</name>
        <t>For UTF-8, there is no encoding ambiguity and thus no need for a byte
order mark.
However, some systems have made regular use of a leading U+FEFF character
in UTF-8 files, anyway, often in order to mark the file as UTF-8 in
case other character codings are also in use and metadata is not
available.
This destroys the ASCII compatibility of UTF-8; it also creates
problems when systems then start to expect a BOM in UTF-8 input and
none is provided.
Section <xref target="RFC3629" section="6" sectionFormat="bare"/> of RFC 3629 <xref target="STD63"/> also RECOMMENDS not using Byte Order Marks with
UTF-8 when it is clear that this charset is being used, but does not
phrase this as an unambiguous mandate, so we add that here (as did
<xref target="RFC5198"/>), unless permitted by a variance.</t>
        <t>Some background on the construct of byte order marks: The 16-bit and
32-bit encodings for Unicode are available in multiple byte orders.
The byte order in use in a specific piece of text can be provided by
metadata (such as a media type) or by prefixing the text with a “Byte
Order Mark”, U+FEFF.  Since code point U+FFFE is never used in
Unicode, this unambiguously identifies the byte order.
There is no need to indicate a byte order in UTF-8; this discussion
only relates to the secondary use of the character used in byte order
marks as a UTF-8 signature in otherwise unspecified text files.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Klaus Hartke and Henk Birkholz drove the author out of his mind enough
to make him finally write this up.  James Manger, Tim Bray and Martin
Thomson provided comments on an early version of this draft.
Doug Ewell proposed to define an ABNF rule NONASCII, of which we have
included the essence.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA5V96XIbR5bu/3yKbCjuGBwDEAFqI+m2m+JiqVuk1Fzsdnd0
OApAAahWoQquhRCs0MQ8xDzCjbj/5iHuvMk8yT3fOSezskDQPdcR3SKBqlxO
nuU7W7Lf75v7I3tgzCSfJtn8yNbVrP/KlMuoqH7+pc6ruDyyVVHHxlRJlcZH
9jKfxkVmr+JqnRcf7V2W0KuxicbjIr5/9OtpPsmiJb0+LaJZ1R/nxTLKsv40
KVdRNVn0l/xaP5PX+rW81t9/YaZRRa+N9kfP+/sH/f2RmdAH87zYHNmympqy
KuJoeWTfnt9eGJOsCl5uWY329w/p4Yi+PbInq1Wa0HtJnpUGE8yLvF4d2bO3
Nx9Obk/f2B/pM9q+/R6fm4/xhh6a0qBZRauKq/4ZVm1MVFeLvDgy1vbpf9Ym
GVHndGBfy3b4M9nmaVSUVZy1vskLoi8R5D4uyqT6r/9d2ddFvKSHbv/6lh/A
XuLqyH7Iy2oWTRb24GD/2bN9/m6SVLRjeUE+IPrQDvqjVwfPD/WTOqtAl+9j
TLrhD1eLPKPnvn522H82GvZHw1f9FweHoyF/GS+jJD2yk2ic/6H6NRnQCo3J
sOSKVol93tyevdo/Mk/w9O+P7PXF6f7+SFbUP7JROUkS+uX16Yfhq9ZTo9HL
l+6pVU7E38hgLw5ajx28GB26x4jzXulD7bGejw6e+RnH2cwk2SxcIz3yavTi
OY1QxsWqiFfy2Wg0OjiyeTrtF7OJfPTy2YtnR/YfZZ71y/gXXfjByyMbl5No
RQzQmpa+kdf2X+I1Giku+lWcEkMoZYjX5NeQPq+eP5PXng8P6Yk6u8fjd1dv
T9+fnR/xRqqomOOgF1W1Ko+ePl2v1wNleZzBU+YQ4tWnKj7DF4P9wb777aaK
smlUTPv88Wo6kzFFPL/lX6y9XcRO+P7vf1r3ypF++4NMYDGC/e9//w97mhex
vVnFk2SmgsJPNgxP1BcGDgamt7IyL6qkXvITXlSf9fcP+0NhE+L+ZlX/8uQT
ff3qWH+9yAvi2uw+zpI4m8Q9Wy2S0o6TcZrk8yJaLTY2BksTCyVZVdoqt+tF
VNl1RD8vYh1lSeJii3hCj1qlnM1nfpH0PD1L9FnG+HhdJBWd9EBfflvZpOzZ
Rb6O6d0eiTSJ7TSeYq4xvWzncRYXyYQmmMUFVolvMCCm1UEenbxH601IkKN0
HW1KErQMg85IUKe0Ln37G7DBb3FBSnQtq6ffYs0frt/+cHJ73r+7+R/y0iz6
5emqSO5pjJ9JQAaLapnuYpgP8kz/rqRzXURFNCHdR5S5yrOJ/9X+i72hnSZZ
nJb24uTP/99M8pfLdw+XrateH/CCb6+fkvJ+9fT6/LT/aZn28ctwOHrxNFz1
+Sc6ppIYJbaXUfGxXtl3UTavo3lsuzTHnh0SY3cvklm1sOfTBAy9t2Oxoqxv
kyVp1mjT+vCPMR3Wh4h0V+vj08HlAIJSjONi3r+c/LmOVSG7J87vsaY0Llqf
XhRR9l//Jyf2/olejKM6kJivsMX+kLTzi6+MAX1J1+uxkKI5f3dxZDt/I43S
/wv99/eO/2pM1q7jZKpjTL/fJw1JZoROyxjWyrZL71mo4z27ILEZ03KZfcdR
SYshRcq/LUg/pLCA+cz44+6Xi2hFokCrjEgw2MbaMlQSMsASyqOiIUhcfqkJ
OdDeSQYiC6moSXyzfD0wJGklzZDGpc3ryt7dXvRpdWwTelCXFsZgz4po2w5W
UcZVBwNX9vLu5pbWbsp6tSJmiqc9UixTu6pTYsREduQYrlRlZ9cJnT5eHxAx
opJ2kmesYmQ+6Gc7zumZaTwjlib5zJdLekRUUrM/DE6iA9q4OWhKxSp2VeRV
PslpHVgR0EnRvOaoRSrilzph612VIA6+TON5NNn4AewtGxOiFBEyQCxCgWlO
ZKxoVtqGPIjlEnpKxklKDNOzZS4aDppxStOy8sAHfrOqfyb1krgXjxNhIKpk
NEsosNbZeqp0dmO6ju1eXt3t9YyoOGKmCNtetmbceke2osuocSJJZrY4ih9R
cjGZ4k/EC9mc97ZKI5x2/KmyOelHdwilAe3XC9LQ9h+E/uwSLAA9r3y2jDZM
Ppq2rGc0GRmcqmfHdWUqfgvLT0vQmPZd8tS5TZZgNvoiVbqS1MznkSzF7ZFo
eEKs0+hIwpxub3aazNhsVGTI7pMiz5gBepYohymFxPxkZAioESBeQq/lWZTa
7vBsz95HRRJllVCF3qCBZ3XK/JVMwaSzhOfMpiaNxqSWeVPELXRw2DD4NgKy
rCckisIfoF6Kox2YEzs683MEC2L+xXNuXhqDjoTtX2uIHokkDFwZHg2h/Zo3
aqEdSD9P83VmBbTRnFNRyLRFmXkSl0pfWiydJ3RTrI+XLW6B6SXImhcGBKTf
vHwB6PMogeQMRCMuk+k0JQfmCfB8kU+JEsA3pvs2I8BIJ0PSkKZJuaAJJvlq
w6OoFrVgjp79/JmV6Zcvnz+zwsIPivC+fBnsGfPN72iiE2ikuCClybIQr4l1
o+Uqle2Ji/N0UheFk7VSWZZ3Ti4YnTw9o3IANiIW35AspPE9zmed1+mUVpSu
6LNoinMnEtB3aU1axyYz8PLGlgt+roo+xgKoyopYHsgmt9GEvQRVmUmhy4B4
8LhVnhPNvjXmNMfCP22re2YH8JQT6HwGN2cC1cPqdhrjgOJpA9IBiNxs7q26
JCE6ltXR5mKWL3lVABeJ3IbYzmSErMoyIirgsEX5i6JT5RkqyoElfbMmRZhg
7V6vbiuYZgLVqYvoHmoBbOyGzQvRtPjUyMJUssCO5PdVdAAy0YbpoaZjBaZJ
AGVl/zTEeANtTMfFXFCXrJQUoAlO361+o6qKlytBvcSn9+Rjg608Xq4CSApx
5Q14W9Lec4+eJb6HhyMHwZvDW+SBT+oyXBTmYx3KoBtfKODVZZqtZRLTLyP2
noXnlfqTRU50KMXCiIIl3crwmt9jTlpg9bSMasFKNqPXG3PaWdIqOkxdmLSd
VBoogifSghZTyzRyCKDsQ4g/bq1YT42UfeJtkXd6001DVqJQkZM9g4UwW2Nu
EZi2aZ48AdZ1yIFEqDEJSaaS2CYdkQXo0COVUETII02jwkK4Y/LJK5LwqUM6
dVlHqRjbu6+v6D/bFUXCP0NbG/IxyFnN+2XyiYzKnHZKwkMGcwLVuiC9BISw
pFEyBgN2ntzzUYc4ildgeAV7PYhEsMyTm9O3b3n1pe06E3B63bPvLnr2zS0h
rBvyHe7e7ZnPn/scJyBFacznowg67ov51tzEMenVvnO9v3xhfowETTo14vlT
3Cr2oogd+YhADVlGlXtgFtjhLq1oTZqdIWXOARPnSDJSY0WUJRUfDyxRXpeG
DjcrG82lRmiPlv69qA16pUzmYrSreB7rEZXsWEIX0mAhffmQ/fFB/OTg9j/t
OjjCANYh6nAUPkJexi0PkKb5GufF9jpRg0GqkPwG83pDToU5sq/6Yxw7fQ3S
hfoYKy8EVJG23GR5tlky9XOiHNCyZ12Ms4sjezQu2bVShGOdlB7qxlO4qd0f
wSrebKpnz2of22xUMC26yMk/hQHDCjiOZ7ek65hGosUskyxP8/mGWAWuDBMp
GsOZEH+8YDXMZgvGNi1pIFYzjdmJBZo3Lk6akJVklyshZUWW/EMaQ0RK5s72
pKxlYXvaLIqHWgeBOQ1M6jhmqwrAxkwLR36XInBy5Rfq4jXHZiXLmeZs8i24
dZYU0M60A46RkN3nd8MVeH0TC9ah3SzpQ2KnXwAVlI0+ElhAoBMQn/yrTk/+
tVfv+efr8z/fvb0+P8PPN29O3r3zPxh94ubN+7t3Z81PzZun7y8vz6/O5GX6
1LY+Mp3Lk5864sJ13n+4ffv+6uRdx6/awUeWHYnDMMeSBahYxZNBLSdFMhaN
+Pnz78Bmz+iEugzLRsPh4Zcve/rbq+HLZ/iNBC2TKfOMGE9+BWAyxINxxOoE
RgjqqIpg7onHCEutMwaBRLN//RvI8/cj+814sho++1Y/wK5bHzrCtT5kwj38
5MHLQskdH+2YxpO09fkWudvrPfmp9bsjfvDhN98B2Nv+8NV338Kq2eHZI1F9
+/nJMquH0y/GvN/yXR55oYuxyGmEDvCakJSTPG7+qbfIOmprKngcBLcG8aDH
PxtIE5TClttTxhAZCGDg/7z1ria8f1GRGuMTx5EsFALTUGFtc1KFepjNrTqd
cUk6eDgAFiBvI2U7Q8aI1bwXe6i+u6/36T+ein4aXjBv4seXF7Boln8+vNiz
jskcGVjBXuWVEohlhp1X8pTTGrPxCcYZUjolAgNEC6G8UIhTDTAfRFsA4BjR
NEKq8SZHYFLjNDwKASwx1HTSo+mXL/QueUv5GlqHZ2loDIRHsJLWR2p0NGBo
G5jju68RptJN0o+HD/dF23qbCUSZ1RgTRFBecNFQG02njv4PjL7V5BDpcvvX
FJb0r6ueQRB6Ey5FYBRQe/P4g8XQJg4GjzEy7TonGm0aQbvhw+jhDOIVO1h1
xjjNIHlTkEYDgpwwXGKCMuRMk1/ZBJCC6rH2YeaEdACHLIEoGDZY23pcBOfq
4pQ9iKR0rCcou9qKYhtEqPEueyO2IOFABHfjx2TwnjpRgpczRuSdXEWyMQwL
lWvoA+yARgUqp/nBBuqCjVPoyGd67gHYuvv64uLiXA+efoR933H0J8TBPQvw
Yt8XRHQO7BK1yABO2T35+uKc320OcpdomEYwSoT0I0hgKIns7XEYFGcENJyU
FfGACKXDlKaJYdAoYqJhIJxseCUyMMhiwCNkxfH6xnZZsF/t8Y5Pr/X3s71g
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

-->

</rfc>
