| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <title>Dynamic childlist of MathML elements</title> |
| <script src="/mathml/support/mathml-fragments.js"></script> |
| <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#adjust-space-around-content-mpadded"> |
| <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#dom-and-javascript"> |
| <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#fractions-mfrac"> |
| <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#prescripts-and-tensor-indices-mmultiscripts"> |
| <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#radicals-msqrt-mroot"> |
| <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#space-mspace"> |
| <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#subscripts-and-superscripts-msub-msup-msubsup"> |
| <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#underscripts-and-overscripts-munder-mover-munderover"> |
| <meta name="assert" content="Dynamically modify DOM tree of some MathML elements by adding or removing children."> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/mathml/support/feature-detection.js"></script> |
| <script src="/mathml/support/layout-comparison.js"></script> |
| <script> |
| function forceNumberOfChildren(element, count) { |
| while (element.children.length > count) |
| element.removeChild(element.lastElementChild); |
| for (let i = element.children.length; i < count; i++) { |
| if (element.tagName === "mmultiscripts" && i === 5) { |
| element.appendChild(FragmentHelper.createElement("mprescripts")); |
| } else { |
| let mspace = FragmentHelper.createElement("mspace"); |
| mspace.setAttribute("width", `10px`); |
| mspace.setAttribute("height", `${10*(i+1)}px`); |
| mspace.setAttribute("style", `background: black;`); |
| element.appendChild(mspace); |
| } |
| } |
| } |
| |
| setup({ explicit_done: true }); |
| window.addEventListener("load", function() { |
| // force initial layout so we're sure what we're testing against |
| document.documentElement.getBoundingClientRect(); |
| |
| let reference = document.getElementById("reference"); |
| |
| Array.from(document.querySelectorAll("[data-title]")).forEach(element => { |
| test(function() { |
| assert_true(MathMLFeatureDetection.has_mspace()); |
| let reference = document.getElementById(`${element.getAttribute("data-reference")}`); |
| forceNumberOfChildren(element, reference.children.length); |
| const epsilon = 1; |
| if (element.tagName == "mspace") { |
| compareSize(element, reference, epsilon); |
| childrenHaveEmptyBoundingClientRects(element); |
| childrenHaveEmptyBoundingClientRects(reference); |
| } else { |
| compareLayout(element, reference, epsilon); |
| } |
| }, `${element.getAttribute("data-title")}`); |
| }); |
| done(); |
| }); |
| </script> |
| </head> |
| <body> |
| <div id="log"></div> |
| <p> |
| <math> |
| <mfrac id="mfrac-reference-1"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| </mfrac> |
| <mfrac id="mfrac-reference-2"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </mfrac> |
| <mfrac id="mfrac-reference-3"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </mfrac> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mfrac data-reference="mfrac-reference-2" data-title="Adding missing children to mfrac"> |
| </mfrac> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mfrac data-reference="mfrac-reference-1" data-title="Removing child from valid mfrac"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </mfrac> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mfrac data-reference="mfrac-reference-3" data-title="Adding child to valid mfrac"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </mfrac> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mfrac data-reference="mfrac-reference-2" data-title="Removing extra child from mfrac"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </mfrac> |
| </math> |
| </p> |
| <hr/> |
| <p> |
| <math> |
| <munder id="munder-reference-1"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| </munder> |
| <munder id="munder-reference-2"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </munder> |
| <munder id="munder-reference-3"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </munder> |
| </math> |
| </p> |
| <p> |
| <math> |
| <munder data-reference="munder-reference-2" data-title="Adding missing children to munder"> |
| </munder> |
| </math> |
| </p> |
| <p> |
| <math> |
| <munder data-reference="munder-reference-1" data-title="Removing child from valid munder"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </munder> |
| </math> |
| </p> |
| <p> |
| <math> |
| <munder data-reference="munder-reference-3" data-title="Adding child to valid munder"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </munder> |
| </math> |
| </p> |
| <p> |
| <math> |
| <munder data-reference="munder-reference-2" data-title="Removing extra child from munder"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </munder> |
| </math> |
| </p> |
| <hr/> |
| <p> |
| <math> |
| <mover id="mover-reference-1"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| </mover> |
| <mover id="mover-reference-2"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </mover> |
| <mover id="mover-reference-3"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </mover> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mover data-reference="mover-reference-2" data-title="Adding missing children to mover"> |
| </mover> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mover data-reference="mover-reference-1" data-title="Removing child from valid mover"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </mover> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mover data-reference="mover-reference-3" data-title="Adding child to valid mover"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </mover> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mover data-reference="mover-reference-2" data-title="Removing extra child from mover"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </mover> |
| </math> |
| </p> |
| <hr/> |
| <p> |
| <math> |
| <munderover id="munderover-reference-2"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </munderover> |
| <munderover id="munderover-reference-3"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </munderover> |
| <munderover id="munderover-reference-4"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| <mspace width="10px" height="40px" style="background: black;"/> |
| </munderover> |
| </math> |
| </p> |
| <p> |
| <math> |
| <munderover data-reference="munderover-reference-3" data-title="Adding missing children to munderover"> |
| </munderover> |
| </math> |
| </p> |
| <p> |
| <math> |
| <munderover data-reference="munderover-reference-2" data-title="Removing child from valid munderover"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </munderover> |
| </math> |
| </p> |
| <p> |
| <math> |
| <munderover data-reference="munderover-reference-4" data-title="Adding child to valid munderover"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </munderover> |
| </math> |
| </p> |
| <p> |
| <math> |
| <munderover data-reference="munderover-reference-3" data-title="Removing extra child from munderover"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| <mspace width="10px" height="40px" style="background: black;"/> |
| </munderover> |
| </math> |
| </p> |
| <hr/> |
| <p> |
| <math> |
| <msub id="msub-reference-1"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| </msub> |
| <msub id="msub-reference-2"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </msub> |
| <msub id="msub-reference-3"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </msub> |
| </math> |
| </p> |
| <p> |
| <math> |
| <msub data-reference="msub-reference-2" data-title="Adding missing children to msub"> |
| </msub> |
| </math> |
| </p> |
| <p> |
| <math> |
| <msub data-reference="msub-reference-1" data-title="Removing child from valid msub"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </msub> |
| </math> |
| </p> |
| <p> |
| <math> |
| <msub data-reference="msub-reference-3" data-title="Adding child to valid msub"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </msub> |
| </math> |
| </p> |
| <p> |
| <math> |
| <msub data-reference="msub-reference-2" data-title="Removing extra child from msub"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </msub> |
| </math> |
| </p> |
| <hr/> |
| <p> |
| <math> |
| <msup id="msup-reference-1"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| </msup> |
| <msup id="msup-reference-2"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </msup> |
| <msup id="msup-reference-3"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </msup> |
| </math> |
| </p> |
| <p> |
| <math> |
| <msup data-reference="msup-reference-2" data-title="Adding missing children to msup"> |
| </msup> |
| </math> |
| </p> |
| <p> |
| <math> |
| <msup data-reference="msup-reference-1" data-title="Removing child from valid msup"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </msup> |
| </math> |
| </p> |
| <p> |
| <math> |
| <msup data-reference="msup-reference-3" data-title="Adding child to valid msup"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </msup> |
| </math> |
| </p> |
| <p> |
| <math> |
| <msup data-reference="msup-reference-2" data-title="Removing extra child from msup"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </msup> |
| </math> |
| </p> |
| <hr/> |
| <p> |
| <math> |
| <msubsup id="msubsup-reference-2"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </msubsup> |
| <msubsup id="msubsup-reference-3"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </msubsup> |
| <msubsup id="msubsup-reference-4"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| <mspace width="10px" height="40px" style="background: black;"/> |
| </msubsup> |
| </math> |
| </p> |
| <p> |
| <math> |
| <msubsup data-reference="msubsup-reference-3" data-title="Adding missing children to msubsup"> |
| </msubsup> |
| </math> |
| </p> |
| <p> |
| <math> |
| <msubsup data-reference="msubsup-reference-2" data-title="Removing child from valid msubsup"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </msubsup> |
| </math> |
| </p> |
| <p> |
| <math> |
| <msubsup data-reference="msubsup-reference-4" data-title="Adding child to valid msubsup"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </msubsup> |
| </math> |
| </p> |
| <p> |
| <math> |
| <msubsup data-reference="msubsup-reference-3" data-title="Removing extra child from msubsup"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| <mspace width="10px" height="40px" style="background: black;"/> |
| </msubsup> |
| </math> |
| </p> |
| <hr/> |
| <p> |
| <math> |
| <mroot id="mroot-reference-1"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| </mroot> |
| <mroot id="mroot-reference-2"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </mroot> |
| <mroot id="mroot-reference-3"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </mroot> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mroot data-reference="mroot-reference-2" data-title="Adding missing children to mroot"> |
| </mroot> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mroot data-reference="mroot-reference-1" data-title="Removing child from valid mroot"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </mroot> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mroot data-reference="mroot-reference-3" data-title="Adding child to valid mroot"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </mroot> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mroot data-reference="mroot-reference-2" data-title="Removing extra child from mroot"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </mroot> |
| </math> |
| </p> |
| <hr/> |
| <p> |
| <math> |
| <msqrt id="msqrt-reference-0"> |
| </msqrt> |
| <msqrt id="msqrt-reference-2"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </msqrt> |
| </math> |
| </p> |
| <p> |
| <math> |
| <msqrt data-reference="msqrt-reference-0" data-title="Removing children from msqrt"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </msqrt> |
| </math> |
| </p> |
| <p> |
| <math> |
| <msqrt data-reference="msqrt-reference-2" data-title="Adding children to msqrt"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| </msqrt> |
| </math> |
| </p> |
| <hr/> |
| <p> |
| <math> |
| <mpadded id="mpadded-reference-0"> |
| </mpadded> |
| <mpadded id="mpadded-reference-2"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </mpadded> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mpadded data-reference="mpadded-reference-0" data-title="Removing children from mpadded"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </mpadded> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mpadded data-reference="mpadded-reference-2" data-title="Adding children to mpadded"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| </mpadded> |
| </math> |
| </p> |
| <hr/> |
| <p> |
| <math> |
| <mspace id="mspace-reference-0" width="30px" height="70px" style="background: blue"> |
| </mspace> |
| <mspace id="mspace-reference-2" width="30px" height="70px" style="background: green"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </mspace> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mspace data-reference="mspace-reference-0" data-title="Removing children from mspace" width="30px" height="70px" style="background: lightblue"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </mspace> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mspace data-reference="mspace-reference-2" data-title="Adding children to mspace" width="30px" height="70px" style="background: lightgreen"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| </mspace> |
| </math> |
| </p> |
| <hr/> |
| <p> |
| <math> |
| <mmultiscripts id="mmultiscripts-reference-0"> |
| </mmultiscripts> |
| <mmultiscripts id="mmultiscripts-reference-1"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| </mmultiscripts> |
| <mmultiscripts id="mmultiscripts-reference-2"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| </mmultiscripts> |
| <mmultiscripts id="mmultiscripts-reference-3"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </mmultiscripts> |
| <mmultiscripts id="mmultiscripts-reference-6"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| <mspace width="10px" height="40px" style="background: black;"/> |
| <mspace width="10px" height="50px" style="background: black;"/> |
| <mprescripts/> |
| </mmultiscripts> |
| <mmultiscripts id="mmultiscripts-reference-8"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| <mspace width="10px" height="40px" style="background: black;"/> |
| <mspace width="10px" height="50px" style="background: black;"/> |
| <mprescripts/> |
| <mspace width="10px" height="70px" style="background: black;"/> |
| <mspace width="10px" height="80px" style="background: black;"/> |
| </mmultiscripts> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mmultiscripts data-reference="mmultiscripts-reference-0" data-title="multiscripts child count from 3 to 0"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </mmultiscripts> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mmultiscripts data-reference="mmultiscripts-reference-1" data-title="multiscripts child count from 3 to 1"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </mmultiscripts> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mmultiscripts data-reference="mmultiscripts-reference-2" data-title="multiscripts child count from 3 to 2"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </mmultiscripts> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mmultiscripts data-reference="mmultiscripts-reference-3" data-title="multiscripts child count from 0 to 3"> |
| </mmultiscripts> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mmultiscripts data-reference="mmultiscripts-reference-6" data-title="multiscripts child count from 3 to 6"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </mmultiscripts> |
| </math> |
| </p> |
| <p> |
| <math> |
| <mmultiscripts data-reference="mmultiscripts-reference-8" data-title="multiscripts child count from 3 to 8"> |
| <mspace width="10px" height="10px" style="background: black;"/> |
| <mspace width="10px" height="20px" style="background: black;"/> |
| <mspace width="10px" height="30px" style="background: black;"/> |
| </mmultiscripts> |
| </math> |
| </p> |
| </body> |
| </html> |