<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>The answer was simple after a bit of Googling:</p>
    <p><span style="font-family:monospace"><span
          style="background-color: rgb(255, 255, 255);">class</span><span
          style="background-color: rgb(255, 255, 255);"> </span><span
          style="font-weight: bold; background-color: rgb(255, 255,
          255);">JSON_SFVec3f</span><span style="background-color:
          rgb(255, 255, 255);">(SFVec3f):
        </span><br>
           <span style="background-color: rgb(255, 255, 255);">def</span><span
          style="background-color: rgb(255, 255, 255);"> </span><span
          style="font-weight: bold; background-color: rgb(255, 255,
          255);">parseJSON</span><span style="background-color: rgb(255,
          255, 255);">(self, data):
        </span><br>
               self.value = <span style="font-weight: bold;
          background-color: rgb(255, 255, 84);">tuple</span><span
          style="background-color: rgb(255, 255, 255);">(data)
        </span><br>
               <span style="background-color: rgb(255, 255, 255);">return</span><span
          style="background-color: rgb(255, 255, 255);"> self</span><br>
      </span></p>
    <p><span style="font-family:monospace">I'll let you do anything you
        like with x3d.py until we actually start to load JSON into a
        combined structure.</span></p>
    <p><span style="font-family:monospace">The question becomes whether
        we want to support subclasses for JSON (possible as a second
        package).</span></p>
    <p><span style="font-family:monospace">x3djson.py anyone?</span></p>
    <p><span style="font-family:monospace">My python knowledge is
        expanding!<br>
      </span></p>
    <p><span style="font-family:monospace">Thanks!<br>
      </span></p>
    <p>John</p>
    <div class="moz-cite-prefix">On 12/4/21 20:57, John Carlson wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:c9a83a32-9c31-668d-0414-7add050db72a@gmail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>I don't see an immediate configuration to the python package
        for converting JSON arrays to python tuples, will continue
        digging. I realize we can only use standard packages, so we may
        have to convert JSON to X3DJSON compatible with our library.</p>
      <p>John<br>
      </p>
      <div class="moz-cite-prefix">On 12/4/21 20:49, John Carlson wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:a111bb1f-6fdf-2535-1830-0e053189802f@gmail.com">
        <meta http-equiv="Content-Type" content="text/html;
          charset=UTF-8">
        <p>With a small change to HelloWorld.py, a large amount of
          clarity comes.  I have made a couple of changes to
          Viewport.centerOfRotation and Viewport.position values, making
          them lists instead of tuples, and the following is revealed:</p>
        <p><span style="font-family:monospace"><span
              style="color:#000000;background-color:#ffffff;">$ python3
              examples/HelloWorld.py  </span><br>
            x3d.py package loaded, have fun with X3D Graphics! <br>
            Traceback (most recent call last): <br>
             File
"/c/x3d-code/www.web3d.org/x3d/stylesheets/python/examples/HelloWorld.py",
            line 59, in <module> <br>
               Viewpoint(DEF='ViewUpClose',centerOfRotation=<u><i><b>[0,-1,0]</b></i></u>,description='Hello
            world!',position=<u><i><b>[0,-1,7]</b></i></u>), <br>
             File
            "/c/x3d-code/www.web3d.org/x3d/stylesheets/python/x3d.py",
            line 74910, in __init__ <br>
               self.centerOfRotation = centerOfRotation <br>
             File
            "/c/x3d-code/www.web3d.org/x3d/stylesheets/python/x3d.py",
            line 74931, in centerOfRotation <br>
               assertValidSFVec3f(centerOfRotation) <br>
             File
            "/c/x3d-code/www.web3d.org/x3d/stylesheets/python/x3d.py",
            line 3929, in assertValidSFVec3f <br>
               raise X3DTypeError(str(value)[:100] + ', type=' +
            str(type(value)) + ' is not a valid Python tuple for
            SFVec3f') <br>
            x3d.X3DTypeError: [0, -1, 0], type=<class 'list'> is
            not a valid Python tuple for SFVec3f<br>
            <br>
          </span><span style="font-family:monospace"></span>I'm guessing
          you've already addressed this. If we want to continue with
          tuples, we will probably have to configure json loading.  I
          will look into that now.<br>
        </p>
        <p>Thanks!</p>
        <p>John<br>
        </p>
        <div class="moz-cite-prefix">On 12/4/21 20:29, John Carlson
          wrote:<br>
        </div>
        <blockquote type="cite"
          cite="mid:4a2a4c11-1257-e991-ef3d-fe00244154eb@gmail.com">
          <meta http-equiv="Content-Type" content="text/html;
            charset=UTF-8">
          <p>I will keep my draft email aside until it can be tested
            with an improved x3d.py.</p>
          <p>The main issue appears to be the difference between a
            hand-coded python app and a JSON-based python dict, with
            difference between how SFVec3f setter handles tuple versus
            list.</p>
          <p>Good luck with testing/development!</p>
          <p>I will try to flesh out the partial classes, preparing for
            integration with the classes generated by the stylesheet. 
            Hopefully, I will get to full XML output with a single JSON
            file.<br>
          </p>
          <p>John<br>
          </p>
          <div class="moz-cite-prefix">On 12/4/21 17:11, Brutzman,
            Donald (Don) (CIV) wrote:<br>
          </div>
          <blockquote type="cite"
cite="mid:BY3PR13MB488490129C82CECE7C519F88C46B9@BY3PR13MB4884.namprd13.prod.outlook.com">
            <meta http-equiv="Content-Type" content="text/html;
              charset=UTF-8">
            <meta name="Generator" content="Microsoft Word 15 (filtered
              medium)">
            <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}div.WordSection1
        {page:WordSection1;}ol
        {margin-bottom:0in;}ul
        {margin-bottom:0in;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
            <div class="WordSection1">
              <p class="MsoNormal">John, thanks for your note but again
                no complaints (ever) by me for your worthy efforts.<o:p></o:p></p>
              <p class="MsoNormal"><o:p> </o:p></p>
              <p class="MsoNormal">Email motivation: when I post it is
                best effort for everyone in community (now and future)
                reading the archives.  Avoiding confusion is important.<o:p></o:p></p>
              <p class="MsoNormal"><o:p> </o:p></p>
              <p class="MsoNormal">Please stand by on further x3d.py
                commentary.  Last weekend made good progress (as
                reported to you via phone Tuesday) and almost finished
                initial JSON export, now need to check a regression
                issue on VRML export.<o:p></o:p></p>
              <div>
                <p class="MsoNormal"><span
                    style="font-size:10.0pt;font-family:"Courier
                    New",serif"><o:p> </o:p></span></p>
                <p class="MsoNormal"><span
                    style="font-size:10.0pt;font-family:"Courier
                    New",serif">all the best, Don<o:p></o:p></span></p>
                <p class="MsoNormal"><span
                    style="font-size:10.0pt;font-family:"Courier
                    New",serif">-- <o:p></o:p></span></p>
                <p class="MsoNormal"><span
                    style="font-size:10.0pt;font-family:"Courier
                    New",serif">Don Brutzman  Naval Postgraduate
                    School, Code USW/Br        <a
                      class="moz-txt-link-abbreviated
                      moz-txt-link-freetext"
                      href="mailto:brutzman@nps.edu"
                      moz-do-not-send="true">brutzman@nps.edu</a><o:p></o:p></span></p>
                <p class="MsoNormal"><span
                    style="font-size:10.0pt;font-family:"Courier
                    New",serif">Watkins 270,  MOVES Institute,
                    Monterey CA 93943-5000 USA    +1.831.656.2149<o:p></o:p></span></p>
                <p class="MsoNormal"><span
                    style="font-size:10.0pt;font-family:"Courier
                    New",serif">X3D graphics, virtual worlds, navy
                    robotics https://</span> <span
                    style="font-size:10.0pt;font-family:"Courier
                    New",serif">faculty.nps.edu/brutzman<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"><o:p> </o:p></p>
              <div>
                <div style="border:none;border-top:solid #E1E1E1
                  1.0pt;padding:3.0pt 0in 0in 0in">
                  <p class="MsoNormal"><b>From:</b> John Carlson <a
                      class="moz-txt-link-rfc2396E"
                      href="mailto:yottzumm@gmail.com"
                      moz-do-not-send="true"><yottzumm@gmail.com></a>
                    <br>
                    <b>Sent:</b> Saturday, December 4, 2021 2:08 PM<br>
                    <b>To:</b> Brutzman, Donald (Don) (CIV) <a
                      class="moz-txt-link-rfc2396E"
                      href="mailto:brutzman@nps.edu"
                      moz-do-not-send="true"><brutzman@nps.edu></a>;
                    Joseph D Williams <a class="moz-txt-link-rfc2396E"
                      href="mailto:joedwil@earthlink.net"
                      moz-do-not-send="true"><joedwil@earthlink.net></a><br>
                    <b>Cc:</b> X3D Graphics public mailing list <a
                      class="moz-txt-link-rfc2396E"
                      href="mailto:x3d-public@web3d.org"
                      moz-do-not-send="true"><x3d-public@web3d.org></a><br>
                    <b>Subject:</b> Re: [x3d-public] X3D Scripting for
                    X3DOM w/o reading standard<o:p></o:p></p>
                </div>
              </div>
              <div>
                <p>I appreciate your confidence in me, but I feel that I
                  would make a mess of it.  Plus, if I can't read
                  existing standards, I probably can't figure out how to
                  improve them either.<o:p></o:p></p>
                <p>I have similar problems with videos, TV episodes,
                  books, etc.  I've been working on doing better with
                  videos, but it seems that YouTube makes me angry now.<o:p></o:p></p>
                <p>For some reason, my ability to email people remains. 
                  I don't know if I comprehend things too well in
                  emails.<o:p></o:p></p>
                <p>I feel it's best to stick with my strong points in
                  bug finding, problem solving and creativity.  I am not
                  sure if there's a place for that in Web3D/X3D.<o:p></o:p></p>
                <p>I totally understand that X_ITE supports script
                  <field>s, but I don't know if script
                  <field>'s are required to be supported by the
                  standard.<o:p></o:p></p>
                <p>I think the main sticking point is that HTML does not
                  support script <field>'s, so neither does X3D4?
                    But somehow, X_ITE supports <field>s in
                  scripts, and does DOM as well, via Andreas'
                  extension.   It would seem that X3DOM could support
                  scripts given some effort.   When I tried, I ran up
                  against <field>'s not being supported, so I
                  bailed.  But perhaps someone with a bit more
                  persistence could get past that, IDK.<o:p></o:p></p>
                <p>Integrating Protos and Scripts still seems to be an
                  unsolved problem in X3DOM?  Is my effort the only one
                  that actually has some modicum of success (with some
                  of my own files)?  If we start somewhere, should we
                  start with my effort, or X_ITE?  Or another path?<o:p></o:p></p>
                <p>I opened email to report a possible misunderstanding
                  in x3d.py.  I'll put that in another email.<o:p></o:p></p>
                <p>Thanks!<o:p></o:p></p>
                <p>John<o:p></o:p></p>
                <div>
                  <p class="MsoNormal">On 12/4/21 12:30, Brutzman,
                    Donald (Don) (CIV) wrote:<o:p></o:p></p>
                </div>
                <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
                  <p>Hi John.  You reasonably ask “Does the X3D4
                    standard eschew script <field>s?  And instead
                    offer "onclick()" events?”<o:p></o:p></p>
                  <p class="MsoNormal">Ummm, why wonder ever again?  Why
                    not propose fixing X3D4 if unclear or incorrect? 
                    Together we are in charge of our own destiny.<o:p></o:p></p>
                  <p class="MsoNormal"> <o:p></o:p></p>
                  <ol style="margin-top:0in" type="1" start="1">
                    <li class="MsoListParagraph"
                      style="margin-left:0in;mso-list:l0 level1 lfo3">X3D4
                      Architecture, Committee Draft CD1, Annex L  HTML
                      authoring guidelines<o:p></o:p></li>
                    <li class="MsoListParagraph"
                      style="margin-left:0in;mso-list:l0 level1 lfo3"><a
href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/htmlGuidelines.html"
                        moz-do-not-send="true"
                        class="moz-txt-link-freetext">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/htmlGuidelines.html</a><o:p></o:p></li>
                  </ol>
                  <p class="MsoNormal"> <o:p></o:p></p>
                  <p class="MsoNormal">The X3D4 guidelines are intended
                    to complement HTML5. Building up behavior examples
                    (like the rosetta-stone bouncing ball) that show
                    HTML DOM being HTML DOM, and X3D being X3D, is a
                    very good approach.<o:p></o:p></p>
                  <p class="MsoNormal"> <o:p></o:p></p>
                  <p class="MsoNormal">Thanks for all scrutiny,
                    demonstration, and possible improvements.  Looking
                    forward to steady continuing progress together as a
                    community.<o:p></o:p></p>
                  <p class="MsoNormal"> <o:p></o:p></p>
                  <p class="MsoNormal">p.s. Have fun with X3D4 and
                    HTML5!  8)<o:p></o:p></p>
                  <div>
                    <p class="MsoNormal"><span
                        style="font-size:10.0pt;font-family:"Courier
                        New",serif"> </span><o:p></o:p></p>
                    <p class="MsoNormal"><span
                        style="font-size:10.0pt;font-family:"Courier
                        New",serif">all the best, Don</span><o:p></o:p></p>
                    <p class="MsoNormal"><span
                        style="font-size:10.0pt;font-family:"Courier
                        New",serif">-- </span><o:p></o:p></p>
                    <p class="MsoNormal"><span
                        style="font-size:10.0pt;font-family:"Courier
                        New",serif">Don Brutzman  Naval
                        Postgraduate School, Code USW/Br        <a
                          href="mailto:brutzman@nps.edu"
                          moz-do-not-send="true"
                          class="moz-txt-link-freetext">brutzman@nps.edu</a></span><o:p></o:p></p>
                    <p class="MsoNormal"><span
                        style="font-size:10.0pt;font-family:"Courier
                        New",serif">Watkins 270,  MOVES Institute,
                        Monterey CA 93943-5000 USA    +1.831.656.2149</span><o:p></o:p></p>
                    <p class="MsoNormal"><span
                        style="font-size:10.0pt;font-family:"Courier
                        New",serif">X3D graphics, virtual worlds,
                        navy robotics https://</span> <span
                        style="font-size:10.0pt;font-family:"Courier
                        New",serif">faculty.nps.edu/brutzman</span><o:p></o:p></p>
                  </div>
                  <p class="MsoNormal"> <o:p></o:p></p>
                  <div>
                    <div style="border:none;border-top:solid #E1E1E1
                      1.0pt;padding:3.0pt 0in 0in 0in">
                      <p class="MsoNormal"><b>From:</b> x3d-public <a
                          href="mailto:x3d-public-bounces@web3d.org"
                          moz-do-not-send="true">
                          <x3d-public-bounces@web3d.org></a> <b>On
                          Behalf Of </b>John Carlson<br>
                        <b>Sent:</b> Friday, December 3, 2021 2:07 PM<br>
                        <b>To:</b> Joseph D Williams <a
                          href="mailto:joedwil@earthlink.net"
                          moz-do-not-send="true"><joedwil@earthlink.net></a><br>
                        <b>Cc:</b> X3D Graphics public mailing list <a
                          href="mailto:x3d-public@web3d.org"
                          moz-do-not-send="true">
                          <x3d-public@web3d.org></a><br>
                        <b>Subject:</b> Re: [x3d-public] X3D Scripting
                        for X3DOM w/o reading standard<o:p></o:p></p>
                    </div>
                  </div>
                  <p class="MsoNormal"> <o:p></o:p></p>
                  <p>For example, if we see this: <a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.kshell.com%2Fpages%2Frosetta%2Frosetta_x3dom.html&data=04%7C01%7Cbrutzman%40nps.edu%7C3c69f0c7cc5f457ced0208d9b7728cbd%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637742525300096123%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=wsa4aY%2B8UhE%2FnLTAKQdrOMSwiq5m6L4g6SkakyjGXxA%3D&reserved=0"
                      moz-do-not-send="true">
                      https://www.kshell.com/pages/rosetta/rosetta_x3dom.html</a>
                    copied from another email, we see that there are
                    *no* script <field>s in the code.<o:p></o:p></p>
                  <p>Does the X3D4 standard eschew script
                    <field>s?  And instead offer "onclick()"
                    events?<o:p></o:p></p>
                  <p>Thanks!<o:p></o:p></p>
                  <p>John<o:p></o:p></p>
                  <div>
                    <p class="MsoNormal">On 12/3/21 15:33, John Carlson
                      wrote:<o:p></o:p></p>
                  </div>
                  <blockquote
                    style="margin-top:5.0pt;margin-bottom:5.0pt">
                    <p class="MsoNormal"> <o:p></o:p></p>
                    <div>
                      <p class="MsoNormal"><br>
                        <br>
                        <br>
                        <o:p></o:p></p>
                      <blockquote
                        style="margin-top:5.0pt;margin-bottom:5.0pt">
                        <p class="MsoNormal"
                          style="margin-bottom:12.0pt">On Dec 3, 2021,
                          at 1:53 PM, Joseph D Williams <a
                            href="mailto:joedwil@earthlink.net"
                            moz-do-not-send="true"><joedwil@earthlink.net></a>
                          wrote:<o:p></o:p></p>
                      </blockquote>
                    </div>
                    <blockquote
                      style="margin-top:5.0pt;margin-bottom:5.0pt">
                      <div>
                        <p class="MsoNormal"> <o:p></o:p></p>
                        <ol style="margin-top:0in" type="1" start="1">
                          <li class="MsoListParagraph"
                            style="margin-left:0in;mso-list:l2 level1
                            lfo6">2.  What are the stumbling blocks to
                            getting script fields into the event model?<o:p></o:p></li>
                        </ol>
                        <p class="MsoNormal"> <o:p></o:p></p>
                        <p class="MsoNormal">Hi John,<o:p></o:p></p>
                        <p class="MsoNormal">Scripts are completely
                          involved in the x3d sai event model. A script
                          must receive an event to begin execution and
                          then it is like an ’external’ in that when the
                          script begins it essentially acts like a
                          beginUpdate and when it completes it
                          essentially gets an endUpdate and all outputs
                          are sent with the same time stamp as kicked
                          off the script. Think of it as script is like
                          any other node that can receive and send
                          events. Only exception is, I think, that a
                          script directOut does not initiate a new
                          cascade<o:p></o:p></p>
                      </div>
                    </blockquote>
                    <div>
                      <p class="MsoNormal"> <o:p></o:p></p>
                    </div>
                    <p class="MsoNormal">Part of the thing to do is try
                      script fields in X3DOM and see if they work at
                      all, and if they don’t, try to do a minimal amount
                      of debugging to see what might be done. <o:p></o:p></p>
                    <div>
                      <p class="MsoNormal">I do not recall if Roy’s work
                        on this is available still or not.<o:p></o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal"> <o:p></o:p></p>
                    </div>
                    <div>
                      <div>
                        <blockquote
                          style="margin-top:5.0pt;margin-bottom:5.0pt">
                          <div>
                            <p class="MsoNormal"> <o:p></o:p></p>
                            <ol style="margin-top:0in" type="1"
                              start="2">
                              <li class="MsoListParagraph"
                                style="margin-left:0in;mso-list:l2
                                level1 lfo6">3.  If scripts are
                                transformed, how?<o:p></o:p></li>
                            </ol>
                            <p class="MsoNormal"> <o:p></o:p></p>
                            <p class="MsoNormal">If it is ECMAScript
                              then what do you do? What can be done?
                              Break it down into json like any other
                              node? For some reason I hope not.<o:p></o:p></p>
                            <p class="MsoNormal"> <o:p></o:p></p>
                          </div>
                        </blockquote>
                        <div>
                          <p class="MsoNormal"> <o:p></o:p></p>
                        </div>
                        <p class="MsoNormal">Well, one could potentially
                          replace field access with a node attribute
                          util get or set method.   But this can get
                          really tricky, if not impossible to do in all
                          cases.   It would be better to implement
                          script field routes, if possible. See above.
                           If one could get script field routes into the
                          HTML standard, much, much better…<br>
                          <br>
                          <br>
                          <o:p></o:p></p>
                        <blockquote
                          style="margin-top:5.0pt;margin-bottom:5.0pt">
                          <div>
                            <p class="MsoNormal">Joe <o:p></o:p></p>
                            <p class="MsoNormal"> <o:p></o:p></p>
                            <p class="MsoNormal"> <o:p></o:p></p>
                            <div style="border:none;border-top:solid
                              #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
                              <p class="MsoNormal"><b>From: </b><a
                                  href="mailto:yottzumm@gmail.com"
                                  moz-do-not-send="true">John Carlson</a><br>
                                <b>Sent: </b>Tuesday, November 30, 2021
                                11:40 AM<br>
                                <b>To: </b><a
                                  href="mailto:x3d-public@web3d.org"
                                  moz-do-not-send="true">X3D Graphics
                                  public mailing list</a><br>
                                <b>Subject: </b>[x3d-public] X3D
                                Scripting for X3DOM w/o reading standard<o:p></o:p></p>
                            </div>
                            <p class="MsoNormal"> <o:p></o:p></p>
                            <p class="MsoNormal">Information needed:<o:p></o:p></p>
                            <div>
                              <p class="MsoNormal"> <o:p></o:p></p>
                            </div>
                            <div>
                              <p class="MsoNormal"> <o:p></o:p></p>
                            </div>
                            <div>
                              <p class="MsoNormal">1.   Do scripts in
                                proto bodies get copied?<o:p></o:p></p>
                            </div>
                            <div>
                              <p class="MsoNormal"> <o:p></o:p></p>
                            </div>
                            <div>
                              <p class="MsoNormal">2.  What are the
                                stumbling blocks to getting script
                                fields into the event model?<o:p></o:p></p>
                            </div>
                            <div>
                              <p class="MsoNormal"> <o:p></o:p></p>
                            </div>
                            <div>
                              <p class="MsoNormal">3.  If scripts are
                                transformed, how?<o:p></o:p></p>
                            </div>
                            <div>
                              <p class="MsoNormal"> <o:p></o:p></p>
                            </div>
                            <div>
                              <p class="MsoNormal">4.  What is the new
                                event model for X3D4?<o:p></o:p></p>
                            </div>
                            <div>
                              <p class="MsoNormal"> <o:p></o:p></p>
                            </div>
                            <p class="MsoNormal">John<o:p></o:p></p>
                            <p class="MsoNormal"> <o:p></o:p></p>
                          </div>
                        </blockquote>
                      </div>
                    </div>
                  </blockquote>
                </blockquote>
              </div>
            </div>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </body>
</html>