<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>ドメイン名の末尾の点</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <code>example.com<strong><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">.<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">末尾の点</title></anchor></strong></code> のように<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>の末尾に <code>.<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">末尾の点</title></code>
を付けることで、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FQDN</anchor> であることを明示的に示すことができます。
この <code>.<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">末尾の点</title></code> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLD</anchor> より上位にある <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">root domain</anchor> (その名前は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>)
との区切りを表しているとされています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> においては、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>付きの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン</anchor>とそうでない<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン</anchor>は、
異なるとみなされます。例えば <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URLの正準化</anchor>でこれらは同じとはみなされません。
<code class="HTTP" xml:lang="en">Host:</code> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SNI</anchor> でも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>はそのまま送信されます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">authority</anchor> を参照。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>の実装によっては、 <code class="HTTP" xml:lang="en">Host:</code> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SNI</anchor>
に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>が含まれる場合、指している<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホスト</anchor>を認識できず、
エラー (未知の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホスト</anchor>) と扱うことがあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クッキー</anchor>の <code class="HTTP">Domain</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>では、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>は認められていません。
指定されると<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>全体が無視されることになっています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> こうした理由から <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>が使われることは滅多にありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> しかし <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://to./">http://to./</anchor-external> のように <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TLD</anchor> にアクセスしたい時は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内部名</anchor>と誤認されることを防ぐため <code>.<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">末尾の点</title></code>
を明示します。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <code>localhost.</code> やその他 <code>/etc/hosts</code> で定義された名前と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>の組み合わせについて、
<time>2016-05-08T05:27:45.00Z</time><figure class="list"><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>なしでのみ定義されている場合、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>付きでも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>できますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Linux</anchor> ではエラーとします。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>1つつきで定義されている場合、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> ではそのままでも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>を除去したものでも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>できますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Linux</anchor> ではそのままでのみ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>できます。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>2つ以上つきで定義されている場合、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>できませんが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Linux</anchor> ではそのままなら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前解決</anchor>できます。</li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アドレスバー</anchor>では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>が複数あると、1つに正規化されます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URLの解決</anchor>ではこの正規化は行われません。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アドレスバー</anchor>でもこの正規化は行われません。 <time>2016-05-08T05:32:18.500Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">service identity</anchor> の検証において、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> も <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> も、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>が含まれない場合、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>付きの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン名</anchor>でも一致するものと判断します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">証明書</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>が含まれる場合、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>の有無に関わらず一致しないと判断しますが、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor>
は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドメイン</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾の点</anchor>の有無に関わらず、
一致すると判断します。 <time>2016-05-08T07:56:09.700Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <code>dns:</code></p></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">eTLD+1</anchor> のことを <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">root domain</anchor> と呼ぶ人もいるので、注意が必要です。</p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en">Root name server - Wikipedia, the free encyclopedia</cite>
(<time>2015-01-17 03:15:25 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://en.wikipedia.org/wiki/Root_name_server#Root_domain">http://en.wikipedia.org/wiki/Root_name_server#Root_domain</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite xml:lang="en">RFC 2181 - Clarifications to the DNS Specification</cite>
(<time>2015-04-27 15:13:44 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc2181#section-11">https://tools.ietf.org/html/rfc2181#section-11</anchor-external></figcaption><blockquote><p>The zero
length full name is defined as representing the root of the DNS tree,
and is typically written and displayed as &quot;.&quot;.</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <cite xml:lang="en">RFC 5731 - Extensible Provisioning Protocol (EPP) Domain Name Mapping</cite>
(<time>2015-03-22 17:40:40 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc5731#section-2.1">https://tools.ietf.org/html/rfc5731#section-2.1</anchor-external></figcaption><blockquote><p>The trailing</p><p>dot required when these names are stored in a DNS zone is implicit
and MUST NOT be provided when exchanging host and domain names.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <cite xml:lang="en">134402 – URLs with trailing dots in host names (FQDN) produce cert name mismatches</cite>
(<time>2015-08-18 12:12:13 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=134402">https://bugzilla.mozilla.org/show_bug.cgi?id=134402</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <cite xml:lang="en">774769 – strict transport security can be defeated by using a FQDN</cite>
(<time>2015-08-18 12:12:18 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=774769">https://bugzilla.mozilla.org/show_bug.cgi?id=774769</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <cite xml:lang="en">27266 – Deal with domain names and trailing dots</cite>
(<time>2015-08-18 12:12:35 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.w3.org/Bugs/Public/show_bug.cgi?id=27266#c1">https://www.w3.org/Bugs/Public/show_bug.cgi?id=27266#c1</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <cite xml:lang="en">774769 – strict transport security can be defeated by using a FQDN</cite>
(<time>2015-08-18 12:12:26 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=774769">https://bugzilla.mozilla.org/show_bug.cgi?id=774769</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <cite xml:lang="en">Appended period to hostnames can bypass HPKP and HSTS protections — Mozilla</cite>
(<time>2015-08-07 05:20:29 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.mozilla.org/en-US/security/advisories/mfsa2015-13/">https://www.mozilla.org/en-US/security/advisories/mfsa2015-13/</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <cite xml:lang="en">RFC 7622 - Extensible Messaging and Presence Protocol (XMPP): Address Format</cite>
(<time>2015-12-08 07:08:54 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7622">https://tools.ietf.org/html/rfc7622</anchor-external></figcaption><blockquote><p>If the domainpart includes a final character considered to be a label
separator (dot) by <strong>[</strong>RFC1034<strong>]</strong>, this character MUST be stripped from
the domainpart before the JID of which it is a part is used for the
purpose of routing an XML stanza, comparing against another JID, or
constructing an XMPP URI or IRI <strong>[</strong>RFC5122<strong>]</strong>.  In particular, such a
character MUST be stripped before any other canonicalization steps
are taken.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <cite xml:lang="en">134402 – URLs with trailing dots in host names (FQDN) produce cert name mismatches</cite>
( (<time>2016-05-08 21:51:18 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=134402">https://bugzilla.mozilla.org/show_bug.cgi?id=134402</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <cite xml:lang="en">Issue 593952 - chromium - SNI hostnames include erroneous trailing dots - Monorail</cite>
( (<time>2016-05-08 23:04:51 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=593952">https://bugs.chromium.org/p/chromium/issues/detail?id=593952</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <cite xml:lang="en-us">UTS #46: Unicode IDNA Compatibility Processing</cite> (<time>2016-06-02 03:53:22 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.unicode.org/reports/tr46/#ToASCII">http://www.unicode.org/reports/tr46/#ToASCII</anchor-external>
は 「<dfn>root label</dfn> and its dot」 と言っています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <cite xml:lang="en">RFC 8128 - IETF Appointment Procedures for the ICANN Root Zone Evolution Review Committee</cite>
(<time>2017-03-16 04:24:04 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc8128">https://tools.ietf.org/html/rfc8128</anchor-external></p></section></body></html>