E4X(EMCAScript 4 XML)

L2L 2L <[email protected]> Tue, 22 Jul 2014 01:53:53 -0400
Newsgroups gmane.comp.web.query-languages
Message-ID <[email protected]>
--Apple-Mail-70AA04BC-F197-4949-9E5F-069AB3950540
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Revive E4X as EXQO(ECMA-Script's XML Query Object) with SAX added on as meth=
ods for the xml object.

With an added method call xPath();

Xml file to be use:
<note>=20
  <date>2002-08-01</date>   =20
  <to>Tove</to>
  <from>Jani</from>=20
  <heading>Reminder</heading>=20
  <body>Don't forget me this weekend!</body>=20
</note>

Example:
//E4X spec.
var xmlDoc=3Dnew XML();
xmlDoc.load("note.xml");
document.write(xmlDoc.body);
//please look at the bottom for a corresponding to this.
//output body text value

Example:
//with added xPath() method
var xmlDoc=3Dnew XML();
xmlDoc.load("note.xml");
document.write(
xmlDoc.xPath("//body");
//relative path expression
);

Example:
var xmlDoc=3Dnew XML();
xmlDoc.load("note.xml");
document.write(
xmlDoc.xPath("/note/body");
//absolute path expression
);

This will gain attention to the ease of navigating the dom. Also the other g=
oal is to point to xQuery as a server scripting alternative to popular serve=
r side scripting such as php.

//thoughts on the E4X spec.
//the e4x spec of the look at this make it to where the root element is the c=
ontainer for the object return.
I feel, this should lean more to JSON type syntax:

var xmlDoc =3D {
note:[
  {date:"2002-08-01"},   =20
  {to:"Tove"},
  {from:"Jani"},
  {heading:"Reminder"},=20
  {body:"Don't forget me this weekend!"}
]}

document.write(
xmlDoc.note[4].body);

So let's say we do the same for the spec to make it more... Easy to compose a=
 new spec with.

The dom or really htmlelementobject API and documentobject API both have met=
hods for manipulating the xml/html.

It stand to reason to mimic those feature via JSON.

As so:

var xmlDoc=3Dnew XML();
xmlDoc.load("note.xml");
document.write(xmlDoc.note[4].body);

And again with the xPath(/*expression*/); //method

var xmlDoc=3Dnew XML();
xmlDoc.load("note.xml");
document.write(
xmlDoc.xPath("/note/body")
);

For the first spec, I say to use only xPath 1.0

With attribute, I say to use the xPath(/*expression*/); method to retrieve t=
hat via string:

<date attr=3D"value">
  2002-08-01
</date>

xmlDoc.xPath("/note/@attr");
//xPath 1.0 spec
);

to make the spec easier to adopt.

Making this appliance to "use strict";

I say to make a new statement declaration:=20
"use EXQO"; or "use ESXQO";

Use JSON syntax when it comes to the EMCAScript environment.

Use xPath(/*expression*/); for all non EMCAScript environment expression, an=
d syntax.

Note that this version may receive further editing in the future.

Thank you for reading.=20

E-S4L=

--Apple-Mail-70AA04BC-F197-4949-9E5F-069AB3950540
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0
L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPjwvaGVhZD48Ym9keSBkaXI9ImF1dG8iPjxkaXY+PHNwYW4+
PC9zcGFuPjwvZGl2PjxkaXY+PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50
PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPjxkaXY+PHNwYW4+PC9zcGFuPjwvZGl2PjxkaXY+
PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJz
ZXQ9dXRmLTgiPjxkaXY+PHNwYW4+PC9zcGFuPjwvZGl2PjxkaXY+PG1ldGEgaHR0cC1lcXVpdj0i
Y29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPjxkaXY+PHNw
YW4+PC9zcGFuPjwvZGl2PjxkaXY+PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250
ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPjxkaXY+PHNwYW4+PC9zcGFuPjwvZGl2Pjxk
aXY+PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo
YXJzZXQ9dXRmLTgiPjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogYXV0bzsi
PjxzcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6
IGF1dG87Ij5SZXZpdmUgRTRYIGFzIEVYUU8oRUNNQS1TY3JpcHQncyBYTUwgUXVlcnkgT2JqZWN0
KSB3aXRoIFNBWCBhZGRlZCBvbiBhcyBtZXRob2RzIGZvciB0aGUgeG1sIG9iamVjdC48L2Rpdj48
ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IGF1dG87Ij48c3Bhbj48L3NwYW4+
PGJyPjxzcGFuPldpdGggYW4gYWRkZWQgbWV0aG9kIGNhbGwgeFBhdGgoKTs8L3NwYW4+PGJyPjxz
cGFuPjwvc3Bhbj48YnI+WG1sIGZpbGUgdG8gYmUgdXNlOjwvZGl2PjxkaXY+PHByZSBzdHlsZT0i
bWFyZ2luLWJvdHRvbTogMHB4OyI+PGZvbnQgZmFjZT0iVUlDVEZvbnRUZXh0U3R5bGVCb2R5Ij48
c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6IG5vcm1hbDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgy
NTUsIDI1NSwgMjU1LCAwKTsiPiZsdDtub3RlJmd0OyZuYnNwOzwvc3Bhbj48L2ZvbnQ+PC9wcmU+
PHByZSBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMHB4OyI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQt
Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7IHdoaXRlLXNwYWNlOiBub3JtYWw7IGZvbnQt
ZmFtaWx5OiBVSUNURm9udFRleHRTdHlsZUJvZHk7Ij4mbmJzcDsgJmx0O2RhdGUmZ3Q7MjAwMi0w
OC0wMSZsdDsvZGF0ZSZndDsgJm5ic3A7ICZuYnNwOzwvc3Bhbj48L3ByZT48cHJlIHN0eWxlPSJt
YXJnaW4tYm90dG9tOiAwcHg7Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiYSgy
NTUsIDI1NSwgMjU1LCAwKTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgZm9udC1mYW1pbHk6IFVJQ1RG
b250VGV4dFN0eWxlQm9keTsiPiZuYnNwOyAmbHQ7dG8mZ3Q7VG92ZSZsdDsvdG8mZ3Q7PC9zcGFu
PjwvcHJlPjxwcmUgc3R5bGU9Im1hcmdpbi1ib3R0b206IDBweDsiPjxzcGFuIHN0eWxlPSJiYWNr
Z3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyB3aGl0ZS1zcGFjZTogbm9ybWFs
OyBmb250LWZhbWlseTogVUlDVEZvbnRUZXh0U3R5bGVCb2R5OyI+Jm5ic3A7ICZsdDtmcm9tJmd0
O0phbmkmbHQ7L2Zyb20mZ3Q7Jm5ic3A7PC9zcGFuPjwvcHJlPjxwcmUgc3R5bGU9Im1hcmdpbi1i
b3R0b206IDBweDsiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1
LCAyNTUsIDApOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBmb250LWZhbWlseTogVUlDVEZvbnRUZXh0
U3R5bGVCb2R5OyI+Jm5ic3A7ICZsdDtoZWFkaW5nJmd0O1JlbWluZGVyJmx0Oy9oZWFkaW5nJmd0
OyZuYnNwOzwvc3Bhbj48L3ByZT48cHJlIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwcHg7Ij48c3Bh
biBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsgd2hpdGUt
c3BhY2U6IG5vcm1hbDsgZm9udC1mYW1pbHk6IFVJQ1RGb250VGV4dFN0eWxlQm9keTsiPiZuYnNw
OyAmbHQ7Ym9keSZndDtEb24ndCBmb3JnZXQgbWUgdGhpcyB3ZWVrZW5kISZsdDsvYm9keSZndDsm
bmJzcDs8L3NwYW4+PC9wcmU+PHByZSBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMHB4OyI+PHNwYW4g
c3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7IHdoaXRlLXNw
YWNlOiBub3JtYWw7IGZvbnQtZmFtaWx5OiBVSUNURm9udFRleHRTdHlsZUJvZHk7Ij4mbHQ7L25v
dGUmZ3Q7PC9zcGFuPjwvcHJlPjxicj48c3BhbiBzdHlsZT0iLXdlYmtpdC10ZXh0LXNpemUtYWRq
dXN0OiBhdXRvOyI+RXhhbXBsZTo8L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0
LXNpemUtYWRqdXN0OiBhdXRvOyI+Ly9FNFggc3BlYy48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSIt
d2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IGF1dG87IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1
LCAyNTUsIDI1NSwgMCk7Ij52YXIgeG1sRG9jPW5ldyBYTUwoKTs8YnI+eG1sRG9jLmxvYWQoIm5v
dGUueG1sIik7PGJyPmRvY3VtZW50LndyaXRlKHhtbERvYy5ib2R5KTs8L3NwYW4+PC9kaXY+PGRp
dj48c3BhbiBzdHlsZT0iLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBhdXRvOyBiYWNrZ3JvdW5k
LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyI+Ly9wbGVhc2UgbG9vayBhdCB0aGUgYm90
dG9tIGZvciBhIGNvcnJlc3BvbmRpbmcgdG8gdGhpcy48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBz
dHlsZT0iLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBhdXRvOyBiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2JhKDI1NSwgMjU1LCAyNTUsIDApOyI+Ly9vdXRwdXQgYm9keSB0ZXh0IHZhbHVlPC9zcGFuPjxi
cj48YnI+RXhhbXBsZTo8L2Rpdj48ZGl2Pi8vd2l0aCBhZGRlZCB4UGF0aCgpIG1ldGhvZDxicj48
c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsiPnZh
ciB4bWxEb2M9bmV3IFhNTCg8L3NwYW4+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJn
YmEoMjU1LCAyNTUsIDI1NSwgMCk7Ij4pOzwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJi
YWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyI+eG1sRG9jLmxvYWQoIm5v
dGUueG1sIik7PGJyPmRvY3VtZW50LndyaXRlKDwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxl
PSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyI+eG1sRG9jLnhQYXRo
KCIvL2JvZHkiKTs8L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xv
cjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsiPi8vcmVsYXRpdmUgcGF0aCBleHByZXNzaW9uPC9z
cGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAy
NTUsIDI1NSwgMCk7Ij4pOzwvc3Bhbj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkV4YW1wbGU6
PC9kaXY+PGRpdj48ZGl2PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwg
MjU1LCAyNTUsIDApOyI+dmFyIHhtbERvYz1uZXcgWE1MKCk7PGJyPnhtbERvYy5sb2FkKCJub3Rl
LnhtbCIpOzxicj5kb2N1bWVudC53cml0ZSg8L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0i
YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsiPnhtbERvYy54UGF0aCgi
L25vdGUvYm9keSIpOzwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNv
bG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyI+Ly9hYnNvbHV0ZSBwYXRoIGV4cHJlc3Npb248
L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUs
IDI1NSwgMjU1LCAwKTsiPik7PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImJh
Y2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7Ij48YnI+PC9zcGFuPjwvZGl2
PjxkaXY+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwg
MCk7Ij5UaGlzIHdpbGwgZ2FpbiBhdHRlbnRpb24gdG8gdGhlIGVhc2Ugb2YgbmF2aWdhdGluZyB0
aGUgZG9tLiBBbHNvIHRoZSBvdGhlciBnb2FsIGlzIHRvIHBvaW50IHRvIHhRdWVyeSBhcyBhIHNl
cnZlciBzY3JpcHRpbmcgYWx0ZXJuYXRpdmUgdG8gcG9wdWxhciBzZXJ2ZXIgc2lkZSBzY3JpcHRp
bmcgc3VjaCBhcyBwaHAuPC9zcGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGRpdiBzdHls
ZT0iLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBhdXRvOyI+Ly90aG91Z2h0cyBvbiB0aGUgRTRY
IHNwZWMuPC9kaXY+PGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBhdXRvOyI+
Ly90aGUgZTR4IHNwZWMgb2YgdGhlIGxvb2sgYXQgdGhpcyBtYWtlIGl0IHRvIHdoZXJlIHRoZSBy
b290IGVsZW1lbnQgaXMgdGhlIGNvbnRhaW5lciBmb3IgdGhlIG9iamVjdCByZXR1cm4uPC9kaXY+
PGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBhdXRvOyI+SSBmZWVsLCB0aGlz
IHNob3VsZCBsZWFuIG1vcmUgdG8gSlNPTiB0eXBlIHN5bnRheDo8L2Rpdj48ZGl2IHN0eWxlPSIt
d2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IGF1dG87Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iLXdl
YmtpdC10ZXh0LXNpemUtYWRqdXN0OiBhdXRvOyI+PHByZSBzdHlsZT0iLXdlYmtpdC10ZXh0LXNp
emUtYWRqdXN0OiBub25lOyBtYXJnaW4tYm90dG9tOiAwcHg7Ij48Zm9udCBmYWNlPSJVSUNURm9u
dFRleHRTdHlsZUJvZHkiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTogbm9ybWFsOyBiYWNrZ3Jv
dW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyI+dmFyIHhtbERvYyA9IHs8L3NwYW4+
PC9mb250PjwvcHJlPjxwcmUgc3R5bGU9Ii13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsg
bWFyZ2luLWJvdHRvbTogMHB4OyI+PGZvbnQgZmFjZT0iVUlDVEZvbnRUZXh0U3R5bGVCb2R5Ij48
c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6IG5vcm1hbDsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgy
NTUsIDI1NSwgMjU1LCAwKTsiPm5vdGU6Wzwvc3Bhbj48L2ZvbnQ+PC9wcmU+PHByZSBzdHlsZT0i
LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyBtYXJnaW4tYm90dG9tOiAwcHg7Ij48c3Bh
biBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsgd2hpdGUt
c3BhY2U6IG5vcm1hbDsgZm9udC1mYW1pbHk6IFVJQ1RGb250VGV4dFN0eWxlQm9keTsiPiZuYnNw
OyB7ZGF0ZToiMjAwMi0wOC0wMSJ9LCAmbmJzcDsgJm5ic3A7PC9zcGFuPjwvcHJlPjxwcmUgc3R5
bGU9Ii13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgbWFyZ2luLWJvdHRvbTogMHB4OyI+
PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7IHdo
aXRlLXNwYWNlOiBub3JtYWw7IGZvbnQtZmFtaWx5OiBVSUNURm9udFRleHRTdHlsZUJvZHk7Ij4m
bmJzcDsge3RvOiJUb3ZlIn0sPC9zcGFuPjwvcHJlPjxwcmUgc3R5bGU9Ii13ZWJraXQtdGV4dC1z
aXplLWFkanVzdDogbm9uZTsgbWFyZ2luLWJvdHRvbTogMHB4OyI+PHNwYW4gc3R5bGU9ImJhY2tn
cm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7IHdoaXRlLXNwYWNlOiBub3JtYWw7
IGZvbnQtZmFtaWx5OiBVSUNURm9udFRleHRTdHlsZUJvZHk7Ij4mbmJzcDsge2Zyb206Ikphbmki
fSw8L3NwYW4+PC9wcmU+PHByZSBzdHlsZT0iLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25l
OyBtYXJnaW4tYm90dG9tOiAwcHg7Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdi
YSgyNTUsIDI1NSwgMjU1LCAwKTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgZm9udC1mYW1pbHk6IFVJ
Q1RGb250VGV4dFN0eWxlQm9keTsiPiZuYnNwOyB7aGVhZGluZzoiUmVtaW5kZXIifSwmbmJzcDs8
L3NwYW4+PC9wcmU+PHByZSBzdHlsZT0iLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyBt
YXJnaW4tYm90dG9tOiAwcHg7Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiYSgy
NTUsIDI1NSwgMjU1LCAwKTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgZm9udC1mYW1pbHk6IFVJQ1RG
b250VGV4dFN0eWxlQm9keTsiPiZuYnNwOyB7Ym9keToiRG9uJ3QgZm9yZ2V0IG1lIHRoaXMgd2Vl
a2VuZCEifTwvc3Bhbj48L3ByZT48cHJlIHN0eWxlPSItd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6
IG5vbmU7IG1hcmdpbi1ib3R0b206IDBweDsiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y
OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBmb250LWZhbWls
eTogVUlDVEZvbnRUZXh0U3R5bGVCb2R5OyI+XX08L3NwYW4+PC9wcmU+PC9kaXY+PGRpdiBzdHls
ZT0iLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBhdXRvOyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9
Ii13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogYXV0bzsiPmRvY3VtZW50LndyaXRlKDwvZGl2Pjxk
aXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogYXV0bzsiPnhtbERvYy5ub3RlWzRd
LmJvZHkpOzwvZGl2PjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogYXV0bzsi
Pjxicj48L2Rpdj48ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IGF1dG87Ij5T
byBsZXQncyBzYXkgd2UgZG8gdGhlIHNhbWUgZm9yIHRoZSBzcGVjIHRvIG1ha2UgaXQgbW9yZS4u
LiBFYXN5IHRvIGNvbXBvc2UgYSBuZXcgc3BlYyB3aXRoLjwvZGl2PjxkaXYgc3R5bGU9Ii13ZWJr
aXQtdGV4dC1zaXplLWFkanVzdDogYXV0bzsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSItd2Via2l0
LXRleHQtc2l6ZS1hZGp1c3Q6IGF1dG87Ij5UaGUgZG9tIG9yIHJlYWxseSBodG1sZWxlbWVudG9i
amVjdCBBUEkgYW5kIGRvY3VtZW50b2JqZWN0IEFQSSBib3RoIGhhdmUgbWV0aG9kcyBmb3IgbWFu
aXB1bGF0aW5nIHRoZSB4bWwvaHRtbC48L2Rpdj48ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc2l6
ZS1hZGp1c3Q6IGF1dG87Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0LXNpemUt
YWRqdXN0OiBhdXRvOyI+SXQgc3RhbmQgdG8gcmVhc29uIHRvIG1pbWljIHRob3NlIGZlYXR1cmUg
dmlhIEpTT04uPC9kaXY+PGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBhdXRv
OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogYXV0bzsi
PkFzIHNvOjwvZGl2PjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogYXV0bzsi
Pjxicj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSItd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IGF1
dG87IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7Ij52YXIgeG1sRG9j
PW5ldyBYTUwoKTs8YnI+eG1sRG9jLmxvYWQoIm5vdGUueG1sIik7PGJyPmRvY3VtZW50LndyaXRl
KHhtbERvYy5ub3RlWzRdLmJvZHkpOzwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxl
PSItd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IGF1dG87IGJhY2tncm91bmQtY29sb3I6IHJnYmEo
MjU1LCAyNTUsIDI1NSwgMCk7Ij48YnI+PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9Ii13
ZWJraXQtdGV4dC1zaXplLWFkanVzdDogYXV0bzsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUs
IDI1NSwgMjU1LCAwKTsiPkFuZCBhZ2FpbiB3aXRoIHRoZSB4UGF0aCgvKmV4cHJlc3Npb24qLyk7
IC8vbWV0aG9kPC9zcGFuPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+dmFyIHhtbERvYz1uZXcg
WE1MKCk7PGJyPnhtbERvYy5sb2FkKCJub3RlLnhtbCIpOzxicj5kb2N1bWVudC53cml0ZSg8L2Rp
dj48ZGl2PnhtbERvYy54UGF0aCgiL25vdGUvYm9keSIpPC9kaXY+PGRpdj4pOzwvZGl2PjxkaXY+
PGJyPjwvZGl2PjxkaXY+Rm9yIHRoZSBmaXJzdCBzcGVjLCBJIHNheSB0byB1c2Ugb25seSB4UGF0
aCAxLjA8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PldpdGggYXR0cmlidXRlLCBJIHNheSB0byB1
c2UgdGhlIHhQYXRoKC8qZXhwcmVzc2lvbiovKTsgbWV0aG9kIHRvIHJldHJpZXZlIHRoYXQgdmlh
IHN0cmluZzo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxwcmUgc3R5bGU9Im1hcmdpbi1ib3R0
b206IDBweDsiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAy
NTUsIDApOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBmb250LWZhbWlseTogVUlDVEZvbnRUZXh0U3R5
bGVCb2R5OyI+Jmx0O2RhdGUgYXR0cj0idmFsdWUiJmd0Ozwvc3Bhbj48L3ByZT48cHJlIHN0eWxl
PSJtYXJnaW4tYm90dG9tOiAwcHg7Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdi
YSgyNTUsIDI1NSwgMjU1LCAwKTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgZm9udC1mYW1pbHk6IFVJ
Q1RGb250VGV4dFN0eWxlQm9keTsiPiZuYnNwOyAyMDAyLTA4LTAxPC9zcGFuPjwvcHJlPjxwcmUg
c3R5bGU9Im1hcmdpbi1ib3R0b206IDBweDsiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y
OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBmb250LWZhbWls
eTogVUlDVEZvbnRUZXh0U3R5bGVCb2R5OyI+Jmx0Oy9kYXRlJmd0Ozwvc3Bhbj48L3ByZT48L2Rp
dj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxkaXY+eG1sRG9jLnhQYXRoKCIvbm90ZS9AYXR0ciIpOzwv
ZGl2PjxkaXY+Ly94UGF0aCAxLjAgc3BlYzwvZGl2PjxkaXY+KTs8L2Rpdj48L2Rpdj48ZGl2Pjxi
cj48L2Rpdj48ZGl2PnRvIG1ha2UgdGhlIHNwZWMgZWFzaWVyIHRvIGFkb3B0LjwvZGl2PjxkaXY+
PGJyPjwvZGl2PjxkaXY+TWFraW5nIHRoaXMgYXBwbGlhbmNlIHRvICJ1c2Ugc3RyaWN0Ijs8L2Rp
dj48ZGl2Pjxicj48L2Rpdj48ZGl2Pkkgc2F5IHRvIG1ha2UgYSBuZXcgc3RhdGVtZW50IGRlY2xh
cmF0aW9uOiZuYnNwOzwvZGl2PjxkaXY+InVzZSBFWFFPIjsgb3IgInVzZSBFU1hRTyI7PC9kaXY+
PGRpdj48YnI+PC9kaXY+PGRpdj5Vc2UgSlNPTiBzeW50YXggd2hlbiBpdCBjb21lcyB0byB0aGUg
RU1DQVNjcmlwdCBlbnZpcm9ubWVudC48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlVzZSB4UGF0
aCgvKmV4cHJlc3Npb24qLyk7IGZvciBhbGwgbm9uIEVNQ0FTY3JpcHQgZW52aXJvbm1lbnQgZXhw
cmVzc2lvbiwgYW5kIHN5bnRheC48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pk5vdGUgdGhhdCB0
aGlzIHZlcnNpb24gbWF5IHJlY2VpdmUgZnVydGhlciBlZGl0aW5nIGluIHRoZSBmdXR1cmUuPC9k
aXY+PGRpdj48YnI+PC9kaXY+PGRpdj5UaGFuayB5b3UgZm9yIHJlYWRpbmcuJm5ic3A7PC9kaXY+
PGRpdj48YnI+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0
OiBhdXRvOyI+RS1TNEw8L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+
PC9ib2R5PjwvaHRtbD4=

--Apple-Mail-70AA04BC-F197-4949-9E5F-069AB3950540--