[revml] Re: RevML DTD
Peter Miller
Peter Miller <millerp@canb.auug.org.au>
Sun, 16 Jan 2005 22:11:42 +1100
--=-QrjsBZRTTzbV2uRgLxUy
Content-Type: multipart/mixed; boundary="=-peE4xTKX43+WUycvWfpn"
--=-peE4xTKX43+WUycvWfpn
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
On Sat, 2005-01-15 at 23:51, Barrie Slaymaker wrote:
> Sounds like a broken validator; here's the spec:
>=20
> http://www.w3.org/TR/REC-xml/#NT-Name
Ah... I was using the wrong xml.dcl
OK, now my output matches the revml.dtd ...except that I added an
<ATTRIBUTE> element so you can see what I'm talking about.
What happened to the <MOVE> element? How do you represent the second
file name for a rename or clone?
I've attached an example change set in RevML format. It's a real change
set, that modifies a single file). Please let me know all of the many
many assumptions I'm breaking. There are a bunch of mandatory elements
that I can't work out what they are for, so they have (probably wrong)
dummy values.
I've also attached the modified DTD, so that you can diff against
revml.dtd 0.35 and see the few additions I've made, and the multitude of
questions I've added for elements.
> Also note xmllint's response:
>=20
> bash-2.05b$ echo "<_/>" | xmllint -
> <?xml version=3D"1.0"?>
> <_/>
>=20
> Thanks,
>=20
> Barrie
>=20
> Peter Miller wrote:
>=20
> >On Sat, 2005-01-08 at 02:18, Barrie Slaymaker wrote:
> > =20
> >
> >>See this link for the latest [RevML DTD]:
> >>
> >> http://public.perforce.com/public/revml/revml.dtd
> >> =20
> >>
> >
> >I've got RevML generation working, and I've started to check the output
> >against the DTD using James Clark's nsgmls.
> >
> >It is barfing on the DTD: it says that "_" is not a valid element name
> >character.
> >
> >
> > =20
> >
>=20
> _______________________________________________
> revml mailing list
> revml@maillist.perforce.com
> http://maillist.perforce.com/mailman/listinfo/revml
--=20
Peter Miller <millerp@canb.auug.org.au>
--=-peE4xTKX43+WUycvWfpn
Content-Disposition: attachment; filename=c232.revml
Content-Type: text/plain; name=c232.revml; charset=ISO-8859-1
Content-Transfer-Encoding: base64
PCFET0NUWVBFIFJFVk1MIFBVQkxJQyAiLS8vLS8vRFREIFJFVk1MIDAuMzUvL0VOIiAicmV2bWwu
ZHRkIj4NCjxSRVZNTCBWRVJTSU9OPSIwLjM1Ij4NCjxUSU1FPjIwMDUtMDEtMTQgMjM6MzE6MTIg
WjwvVElNRT4NCjxSRVBfVFlQRT5BZWdpczwvUkVQX1RZUEU+DQo8UkVQX0RFU0M+NC4xOS5DMjIw
PC9SRVBfREVTQz4NCjxDT01NRU5UPkZyb206IFBldGVyIE1pbGxlciAmbHQ7bWlsbGVycEBjYW5i
LmF1dWcub3JnLmF1Jmd0Ow0KRGF0ZTogU2F0IEphbiAxNSAxMDozMToxMiAyMDA1DQoNCkEgYnVn
cyBoYXMgYmVlbiBmaXhlZCBpbiBhZWRpc3QgLXNlbmQsIGl0IHdhcyBmYWlsaW5nIHRvIGluY2x1
ZGUgY2hhbmdlDQpzZXQgYXR0cmlidXRlcyBpbiBzb21lIGNhc2VzLg0KDQpTaWduZWQtb2ZmLWJ5
OiBQZXRlciBNaWxsZXIgJmx0O21pbGxlcnBAY2FuYi5hdXVnLm9yZy5hdSZndDs8L0NPTU1FTlQ+
DQo8UkVWX1JPT1Q+YWVnaXMuNC4xOTwvUkVWX1JPT1Q+DQo8QVRUUklCVVRFPjxOQU1FPlgtQWVn
aXMtY2hhbmdlLW51bWJlcjwvTkFNRT4NCjxWQUxVRT4yMzI8L1ZBTFVFPjwvQVRUUklCVVRFPg0K
PEFUVFJJQlVURT48TkFNRT5YLUFlZ2lzLWJyaWVmX2Rlc2NyaXB0aW9uPC9OQU1FPg0KPFZBTFVF
PmFlZGlzdCBidWc8L1ZBTFVFPjwvQVRUUklCVVRFPg0KPEFUVFJJQlVURT48TkFNRT5YLUFlZ2lz
LWRlc2NyaXB0aW9uPC9OQU1FPg0KPFZBTFVFPkZyb206IFBldGVyIE1pbGxlciAmbHQ7bWlsbGVy
cEBjYW5iLmF1dWcub3JnLmF1Jmd0Ow0KRGF0ZTogU2F0IEphbiAxNSAxMDozMToxMiAyMDA1DQoN
CkEgYnVncyBoYXMgYmVlbiBmaXhlZCBpbiBhZWRpc3QgLXNlbmQsIGl0IHdhcyBmYWlsaW5nIHRv
IGluY2x1ZGUgY2hhbmdlDQpzZXQgYXR0cmlidXRlcyBpbiBzb21lIGNhc2VzLg0KDQpTaWduZWQt
b2ZmLWJ5OiBQZXRlciBNaWxsZXIgJmx0O21pbGxlcnBAY2FuYi5hdXVnLm9yZy5hdSZndDs8L1ZB
TFVFPjwvQVRUUklCVVRFPg0KPEFUVFJJQlVURT48TkFNRT5YLUFlZ2lzLWNhdXNlPC9OQU1FPg0K
PFZBTFVFPmludGVybmFsX2VuaGFuY2VtZW50PC9WQUxVRT48L0FUVFJJQlVURT4NCjxBVFRSSUJV
VEU+PE5BTUU+WC1BZWdpcy10ZXN0X2V4ZW1wdDwvTkFNRT4NCjxWQUxVRT50cnVlPC9WQUxVRT48
L0FUVFJJQlVURT4NCjxBVFRSSUJVVEU+PE5BTUU+WC1BZWdpcy10ZXN0X2Jhc2VsaW5lX2V4ZW1w
dDwvTkFNRT4NCjxWQUxVRT50cnVlPC9WQUxVRT48L0FUVFJJQlVURT4NCjxBVFRSSUJVVEU+PE5B
TUU+WC1BZWdpcy10ZXN0X2Jhc2VsaW5lX2V4ZW1wdDwvTkFNRT4NCjxWQUxVRT50cnVlPC9WQUxV
RT48L0FUVFJJQlVURT4NCjxBVFRSSUJVVEU+PE5BTUU+WC1BZWdpcy1VVUlEPC9OQU1FPg0KPFZB
TFVFPmRhZWUwYjc0LWNiMjktNGIyZC1hNDE1LWJlMjcwN2NkMzEwZDwvVkFMVUU+PC9BVFRSSUJV
VEU+DQo8UkVWIElEPSIwZGUzOGRkMC0yYTQ4LTQxNzktYTgwMi1lNmNiZjFkNWIxNTkiPg0KPE5B
TUU+YWVkaXN0L3NlbmQuY2M8L05BTUU+DQo8U09VUkNFX05BTUU+YWVkaXN0L3NlbmQuY2M8L1NP
VVJDRV9OQU1FPg0KPFNPVVJDRV9GSUxFQlJBTkNIX0lEPm5vIGlkZWEgd2hhdCB0aGlzIG1lYW5z
PC9TT1VSQ0VfRklMRUJSQU5DSF9JRD4NCjxTT1VSQ0VfUkVQT19JRD5ubyBpZGVhIHdoYXQgdGhp
cyBtZWFuczwvU09VUkNFX1JFUE9fSUQ+DQo8QUNUSU9OPmVkaXQ8L0FDVElPTj4NCjxUWVBFPnRl
eHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWk8L1RZUEU+DQo8UkVWX0lEPjA8L1JFVl9JRD4NCjxT
T1VSQ0VfUkVWX0lEPm5vIGlkZWEgd2hhdCB0aGlzIG1lYW5zPC9TT1VSQ0VfUkVWX0lEPg0KPEFU
VFJJQlVURT48TkFNRT5YLUFlZ2lzLXVzYWdlPC9OQU1FPg0KPFZBTFVFPnNvdXJjZTwvVkFMVUU+
PC9BVFRSSUJVVEU+DQo8QVRUUklCVVRFPjxOQU1FPlgtQWVnaXMtYWN0aW9uPC9OQU1FPg0KPFZB
TFVFPm1vZGlmeTwvVkFMVUU+PC9BVFRSSUJVVEU+DQo8QVRUUklCVVRFPjxOQU1FPlgtQWVnaXMt
ZXhlY3V0YWJsZTwvTkFNRT4NCjxWQUxVRT5mYWxzZTwvVkFMVUU+PC9BVFRSSUJVVEU+DQo8QVRU
UklCVVRFPjxOQU1FPlgtQWVnaXMtVVVJRDwvTkFNRT4NCjxWQUxVRT4wZGUzOGRkMC0yYTQ4LTQx
NzktYTgwMi1lNmNiZjFkNWIxNTk8L1ZBTFVFPjwvQVRUUklCVVRFPg0KPERFTFRBIFRZUEU9ImRp
ZmYtdSIgRU5DT0RJTkc9Im5vbmUiPi0tLSBhZWRpc3Qvc2VuZC5jYw0KKysrIGFlZGlzdC9zZW5k
LmNjDQpAQCAtMTY2LDggKzE2Niw2IEBADQogICAgIGNzdGF0ZV90eSAgICAgICAqY2hhbmdlX3Nl
dDsNCiAgICAgdGltZV90ICAgICAgICAgIHdoZW47DQogICAgIHNpemVfdCAgICAgICAgICBqOw0K
LSAgICBjaGFyICAgICAgICAgICAgKmJ1ZmZlcjsNCi0gICAgc2l6ZV90ICAgICAgICAgIGJ1ZmZl
cl9zaXplOw0KICAgICBpbnQgICAgICAgICAgICAgZGVzY3JpcHRpb25faGVhZGVyOw0KICAgICBp
bnQgICAgICAgICAgICAgYmFzZWxpbmU7DQogICAgIGludCAgICAgICAgICAgICBlbnRpcmVfc291
cmNlOw0KQEAgLTc5MCwxOSArNzg4LDE0IEBADQogCSk7DQogCW9mcC0mZ3Q7ZnByaW50Zg0KIAko
DQotCSAgICAmcXVvdDtDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyAmcXVvdDsNCi0J
ICAgICZxdW90O2ZpbGVuYW1lPSVzLkMlMy4zbGQuYWVcbiZxdW90OywNCisJICAgICZxdW90O0Nv
bnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSVzLkMlMy4zbGQuYWVcbiZx
dW90OywNCiAJICAgIHByb2plY3RfbmFtZV9nZXQocHApLSZndDtzdHJfdGV4dCwNCiAJICAgIGNo
YW5nZV9udW1iZXINCiAJKTsNCiAgICAgfQ0KICAgICBlbHNlDQogICAgIHsNCi0Jb2ZwLSZndDtm
cHJpbnRmDQotCSgNCi0JICAgICZxdW90O0NvbnRlbnQtTmFtZTogJXMuYWVcbiZxdW90OywNCi0J
ICAgIHByb2plY3RfbmFtZV9nZXQocHApLSZndDtzdHJfdGV4dA0KLQkpOw0KKwlvZnAtJmd0O2Zw
cmludGYoJnF1b3Q7Q29udGVudC1OYW1lOiAlcy5hZVxuJnF1b3Q7LCBwcm9qZWN0X25hbWVfZ2V0
KHBwKS0mZ3Q7c3RyX3RleHQpOw0KIAlvZnAtJmd0O2ZwcmludGYNCiAJKA0KIAkgICAgJnF1b3Q7
Q29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9JXMuYWVcbiZxdW90OywN
CkBAIC05MDYsOSArODk5LDE2IEBADQogICAgIGNoYW5nZV9zZXQtJmd0O3Rlc3RfZXhlbXB0ID0g
Y3N0YXRlX2RhdGEtJmd0O3Rlc3RfZXhlbXB0Ow0KICAgICBjaGFuZ2Vfc2V0LSZndDt0ZXN0X2Jh
c2VsaW5lX2V4ZW1wdCA9IGNzdGF0ZV9kYXRhLSZndDt0ZXN0X2Jhc2VsaW5lX2V4ZW1wdDsNCiAg
ICAgY2hhbmdlX3NldC0mZ3Q7cmVncmVzc2lvbl90ZXN0X2V4ZW1wdCA9IGNzdGF0ZV9kYXRhLSZn
dDtyZWdyZXNzaW9uX3Rlc3RfZXhlbXB0Ow0KLSAgICBpZiAodXNlX2F0dHJpYnV0ZXMgJmFtcDsm
YW1wOyBjc3RhdGVfZGF0YS0mZ3Q7YXR0cmlidXRlKQ0KKyAgICBpZiAodXNlX2F0dHJpYnV0ZXMp
DQogICAgIHsNCi0JY2hhbmdlX3NldC0mZ3Q7YXR0cmlidXRlID0gYXR0cmlidXRlc19saXN0X2Nv
cHkoY3N0YXRlX2RhdGEtJmd0O2F0dHJpYnV0ZSk7DQorCWNoYW5nZV9zZXQtJmd0O2F0dHJpYnV0
ZSA9DQorCSAgICAoDQorCQljc3RhdGVfZGF0YS0mZ3Q7YXR0cmlidXRlDQorCSAgICA/DQorCQlh
dHRyaWJ1dGVzX2xpc3RfY29weShjc3RhdGVfZGF0YS0mZ3Q7YXR0cmlidXRlKQ0KKwkgICAgOg0K
KwkJKGF0dHJpYnV0ZXNfbGlzdF90eSAqKWF0dHJpYnV0ZXNfbGlzdF90eXBlLmFsbG9jKCkNCisJ
ICAgICk7DQogCWNoYW5nZV9mdW5jdG9yX2F0dHJpYnV0ZV9saXN0IHJlc3VsdChjaGFuZ2Vfc2V0
LSZndDthdHRyaWJ1dGUpOw0KIAlpZiAoY2hhbmdlX3dhc19hX2JyYW5jaChjcCkpDQogCXsNCkBA
IC0xMTUyLDggKzExNTIsNiBAQA0KICAgICAvLw0KICAgICAvLyBhZGQgZWFjaCBvZiB0aGUgcmVs
ZXZhbnQgc291cmNlIGZpbGVzIHRvIHRoZSBhcmNoaXZlDQogICAgIC8vDQotICAgIGJ1ZmZlcl9z
aXplID0gKHNpemVfdCkxICZsdDsmbHQ7IDEzOw0KLSAgICBidWZmZXIgPSAoY2hhciAqKW1lbV9h
bGxvYyhidWZmZXJfc2l6ZSk7DQogICAgIGZvciAoaiA9IDA7IGogJmx0OyBjaGFuZ2Vfc2V0LSZn
dDtzcmMtJmd0O2xlbmd0aDsgKytqKQ0KICAgICB7DQogCWNzdGF0ZV9zcmNfdHkgICAqY3NyYzsN
CjwvREVMVEE+DQo8L1JFVj4NCjwvUkVWTUw+DQo=
--=-peE4xTKX43+WUycvWfpn
Content-Disposition: attachment; filename=revml.dtd
Content-Type: text/x-dtd; name=revml.dtd; charset=ISO-8859-1
Content-Transfer-Encoding: base64
PCEtLSBEVEQgZm9yIFJldk1MIChzZWUgPHJldm1sPiB2ZXJzaW9uIGF0dGRlZiBmb3IgdmVyc2lv
bikNCiAgICAgQXV0aG9yczogQmFycmllIFNsYXltYWtlciAgIDxiYXJyaWVzQHNsYXlzeXMuY29t
Pg0KICAgICAgICAgICAgICBHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdAa3JvYWguY29tPg0KICAg
ICAgICAgICAgICBTZWFuIE1jQ3VuZSAgICAgICAgPHNlYW5Ac2Vhbi1tY2N1bmUuY29tPg0KICAg
ICAgICAgICAgICBKb2huIEZldGtvdmljaCAgICAgPGZldGtvQHNsYXlzeXMuY29tPg0KLS0+DQoN
CjwhLS0gVGhlIG9yZGVyIGlzIHNwZWNpZmllZCBmb3IgdGhlIHRhZ3Mgc28gdGhhdCB0aGV5IGFy
ZSBpbiBhbiBhcHByb3ByaWF0ZQ0KICAgICBvcmRlciBmb3IgYW4gaW1wb3J0IHV0aWxpdHkuICBT
b21lIG9mIHRoZXNlIGNvbnN0cmFpbnRzIG1heSBiZSByZWxheGVkDQogICAgIGluIHRoZSBmdXR1
cmUsIGJ1dCBpbiBnZW5lcmFsIHRoZSBtZXRhZGF0YSB3aWxsIGFsd2F5cyBwcmVjZWRlIHRoZQ0K
ICAgICBvYmplY3QgZGF0YS4gIEltcG9ydCB1dGlsaXRpZXMgKm11c3QqIGNhY2hlIGFsbCBuZWNl
c3NhcnkgbWV0YWRhdGENCiAgICAgcmVnYXJkbGVzcyBvZiBvcmRlciBvZiBvY2N1cmVuY2UsIHRo
ZW4gbWF5IGRpc2NhcmQgaXQgb25jZSB0aGUNCiAgICAgPGNvbnRlbnQ+IGlzIHNlZW4uDQoNCiAg
ICAgIFRvIGNvbXBpbGUgYSBEVEQgaW4gdG8gYSBwZXJsIG1vZHVsZToNCg0KICAgICAgICAgIHZj
cCByZXZtbCBYLWR0ZCAqdGhpcypmaWxlKiBYLXNhdmUtZG9jdHlwZQ0KDQogICAgICB3aGVyZSAi
WCIgaXMgYSAiLSIgKHNpbGx5IFhNTCBjb21tZW50cykuICBUaGlzIHdpbGwgd3JpdGUNCiAgICAg
IC4vbGliL1Jldk1ML0RvY3R5cGUvdlZfVlZfLnBtIHdoZXJlIFZfVlYgaXMgdGhlIHVuZGVyc2Nv
cmlmaWVkDQogICAgICB2ZXJzaW9uICNGSVhFRCBhdHRyaWJ1dGUgZnJvbSB0aGUgcmV2bWwgRU5U
SVRZIGRlZmluaXRpb24gYmVsb3cuDQoNCi0tPg0KDQo8IUVMRU1FTlQgcmV2bWwNCiAgICAoDQog
ICAgICAgIHRpbWUsDQogICAgICAgIHJlcF90eXBlLA0KICAgICAgICByZXBfZGVzYywNCiAgICAg
ICAgY29tbWVudD8sDQoJcmV2X3Jvb3QsDQoJYXR0cmlidXRlKiwNCiAgICAgICAgYnJhbmNoZXM/
LA0KICAgICAgICByZXYqDQogICAgKQ0KPg0KDQogICAgPCEtLQ0KICAgICAgTk9URSEhIFdoZW4g
Y2hhbmdpbmcgdGhlIGR0ZCwgdGhpcyB2ZXJzaW9uIG51bWJlciBzaG91bGQgYmUNCiAgICAgIGNo
YW5nZWQgYWxzby4gIEFueSBjaGFuZ2UgYWxzbyByZXF1aXJlcyByZS1jb21waWxpbmcgdGhlIGR0
ZA0KICAgICAgd2l0aCBiaW4vY29tcGlsZV9kdGQuICBGb3IgbW9yZSBpbmZvIHJ1biAndmNwIGhl
bHAgTWFpbnRlbmFuY2UnDQogICAgICBhbmQgcmVhZCB0aGUgc2VjdGlvbiB0aXRsZWQgJ1VwZGF0
aW5nIHRoZSBSZXZNTCBEVEQuJw0KICAgIC0tPg0KICAgIDwhQVRUTElTVCAgIHJldm1sDQogICAg
ICAgIHZlcnNpb24gICAgIENEQVRBICAgI0ZJWEVEICAgIjAuMzUiDQogICAgPg0KDQo8IUVMRU1F
TlQgcmVwX3R5cGUgKCNQQ0RBVEEpID4NCiAgICA8IS0tICdwNCcsICdjdnMnLCAnc291cmNlc2Fm
ZScsIGV0Yy4gLS0+DQoNCjwhRUxFTUVOVCByZXBfZGVzYyAoI1BDREFUQXxjaGFyKSogPg0KICAg
IDwhLS0gVGhlIHZlcnNpb24gbnVtYmVyLCBwbGF0Zm9ybSwgZXRjLiBmb3IgdGhlIHJlcG9zaXRv
cnkuICBUaGlzDQogICAgICAgICBtYXkgYmUgbmVlZGVkDQogICAgICAgICBzbyB0aGF0IGltcG9y
dCB1dGlsaXRpZXMgY2FuIGZpZ3VyZSBvdXQgd2hhdCB0YWdzIG1lYW4gd2hhdA0KICAgICAgICAg
d2hlbiBhIHBhcnRpY3VsYXIgcmVwb3NpdG9yeSB2ZXJzaW9uIGNoYW5nZXMuDQoNCiAgICAgICAg
IFRoaXMgaXMgb2Z0ZW4gdGhlIG91dHB1dCBvZiAncDQgaW5mbycgb3IgJ2N2cyAtdicgKyBjdnMN
CiAgICAgICAgIGVudmlyb25tZW50IHNldHRpbmdzIGFuZCB0aGUgY3ZzIC1sIGNvbW1hbmQuDQoN
CiAgICAtLT4NCg0KPCFFTEVNRU5UIHJldl9yb290ICgjUENEQVRBfGNoYXIpKiA+DQogICAgPCEt
LSBUaGUgcm9vdCBvZiB0aGUgdHJlZSB0aGF0IHdhcyBleHRyYWN0ZWQgdG8gUmV2TUwuICBUaGlz
DQogICAgICAgICBpcyB1c3VhbGx5IHRoZSBzb3VyY2UgZmlsZSBzcGVjIHVwIHRvIChidXQgbm90
IGluY2x1ZGluZykgdGhlDQoJIGZpcnN0IGNvbXBvbmVudCB0aGF0IGRvZXMgbm90IGNvbnRhaW4g
YSB3aWxkY2FyZC4NCg0KICAgICAgICAgVGhpcyBjb21lcyBiZWZvcmUgYnJhbmNoZXMgYmVjYXVz
ZSBpdCdzIG5lZWRlZCB0byBtb2RpZnkNCiAgICAgICAgIGJyYW5jaGVzLCBzcGVjaWZpY2FsbHkg
dGhlIHA0X2JyYW5jaF9zcGVjJ3MgVmlldyBmaWVsZC4gIFRoYXQncw0KICAgICAgICAgYSB0aGVv
cmV0aWNhbCBpc3N1ZSBhcyBpbXBsZW1lbnRlZCwgYnV0IGl0J3MgbmljZSB0byBoYXZlDQogICAg
ICAgICB0aGluZ3MgaW4gdGhlIHNhZmVzdCwgbW9zdCBtbmVtb25pYyBvcmRlciwgSSB0aGluay4N
CiAgICAtLT4NCg0KPCFFTEVNRU5UIGJyYW5jaF9pZCAoI1BDREFUQSkgPg0KICAgIDwhLS0gY3Zz
OiAgICAgIDxicmFuY2hfaWQ+cl8xXzNfYjwvYnJhbmNoX2lkPg0KICAgICAgICAgcDQ6ICAgICAg
IDxicmFuY2hfaWQ+Ly9kZXBvdC9mb28vZGV2ZWw8L2JyYW5jaF9pZD4NCg0KICAgICAgICAgVGhl
IGNvbnRlbnRzIG9mIHRoaXMgZWxlbWVudCBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSBicmFuY2gg
YmVpbmcNCiAgICAgICAgIGJyYW5jaCBiZWluZyBleHBvcnRlZC4NCiAgICAtLT4NCg0KPCFFTEVN
RU5UIHA0X2JyYW5jaF9zcGVjICgjUENEQVRBfGNoYXIpKiA+DQogICAgPCEtLSBJZiB0aGUgc291
cmNlIHJlcG8gd2FzIHA0LCB0aGVuIGFsbCBicmFuY2ggc3BlY3Mgd2l0aCBicmFuY2ggaWRzDQog
ICAgICAgICB1c2VkIGluIHRoZSBleHBvcnQgYXJlIGluY2x1ZGVkLCBvbmUgcGVyIDxicmFuY2g+
IHRhZy4gIFRoaXMgbWF5DQogICAgICAgICBiZSBwYXJzZWQgYnkgdGhlIGRlc3RpbmF0aW9uIChz
ZWUgdGhlIHN1YnJvdXRpbmVzDQogICAgICAgICBWQ1A6OlV0aWxzOjpwNC0+e3BhcnNlLGJ1aWxk
fV9wNF9mb3JtKCkpIG9yIHN1Ym1pdHRlZCBkaXJlY3RseQ0KICAgICAgICAgdG8gdGhlIGRlc3Rp
bmF0aW9uIHA0IHJlcG9zaXRvcnkuDQoNCiAgICAtLT4NCg0KDQo8IUVMRU1FTlQgcmV2DQogICAg
KA0KICAgICAgICBuYW1lLA0KICAgICAgICBzb3VyY2VfbmFtZSwNCiAgICAgICAgc291cmNlX2Zp
bGVicmFuY2hfaWQsDQogICAgICAgIHNvdXJjZV9yZXBvX2lkLA0KICAgICAgICBhY3Rpb24sDQoJ
bW92ZT8sDQoJdHlwZT8sDQoJKGN2c19pbmZvfHA0X2luZm98c291cmNlX3NhZmVfaW5mb3xwdmNz
X2luZm8pPywNCgkoYnJhbmNoX2lkLHNvdXJjZV9icmFuY2hfaWQpPywNCglyZXZfaWQsDQoJc291
cmNlX3Jldl9pZCwNCgkoY2hhbmdlX2lkLHNvdXJjZV9jaGFuZ2VfaWQpPywNCgl0aW1lPywNCglt
b2RfdGltZT8sDQoJdXNlcl9pZD8sDQoJKHA0X2FjdGlvbnxzb3VyY2VzYWZlX2FjdGlvbik/LA0K
CWxhYmVsKiwNCglsb2NrPywNCgljb21tZW50PywNCglhdHRyaWJ1dGUqLA0KCShwcmV2aW91c19p
ZCxmcm9tX2lkPyk/LA0KCWVhcmxpZXJfaWQqLA0KCShjb250ZW50fGRlbHRhKT8sDQoJZGlnZXN0
Pw0KICAgICkgPg0KDQogICAgPCFBVFRMSVNUIHJldg0KICAgICAgICBpZCAgICAgICAgICBDREFU
QSAgICAgICAgICNSRVFVSVJFRA0KICAgID4NCiAgICA8IS0tIGVhY2ggPHJldj4gbXVzdCBoYXZl
IGEgdW5pcXVlIGlkZW50aWZpZXIsIHVzdWFsbHkgdGhlIG5hbWUNCiAgICAgICAgIGFuZCByZXZp
c2lvbiBudW1iZXIsIHRob3VnaCB0aGUgcHJlY2lzZSBmb3JtYXQgZGVwZW5kcyBvbg0KICAgICAg
ICAgdGhlIHNvdXJjZSByZXBvc2l0b3J5LiAgVGhlIGlkIHNob3VsZCBiZSBkZXJpdmVkIGZyb20g
dGhlDQogICAgICAgICBtZXRhZGF0YSBpbiBhIHJlcGVhdGFibGUgZmFzaGlvbi4NCg0KICAgICAg
ICAgUE1pbGxlcjogRXhhY3RseSAqd2hhdCogaXMgc3VwcG9zZWQgdG8gYmUgdW5pcXVlIGlzIG5v
dA0KICAgICAgICAgc3VmZmljaWVudGx5IGRlZmluZWQgaW4gdGhlIGFib3ZlIHBhcmFtZ3JhcGgu
DQogICAgICAgICAxLiBVbmlxdWUgZm9yIGVhY2ggZmlsZSwgb3INCiAgICAgICAgIDIuIHVuaXF1
ZSBmb3IgZWFjaCBjaGFuZ2Ugc2V0LCBvcg0KICAgICAgICAgMy4gdW5pcXVlIGZvciBlYWNoIDxS
RVY+IG9mIHRoZSBzYW1lIGZpbGUsIG9yDQoJIDQuIHNvbWV0aGluZyBlbHNlPw0KICAgICAgICAg
Rm9yIGV4YW1wbGUsIGlmIGEgc3lzdGVtIGhhcyBhbiBpbnZhcmlhbnQgdW5pcXVlIElEIGZvciBl
YWNoDQogICAgICAgICBjaGFuZ2Ugc2V0LCBzaG91bGQgdGhlIFJFViBJRCBiZSB0aGUgc2FtZSBm
b3IgYWxsIFJFVnMgaW4gdGhlDQogICAgICAgICBzYW1lIGNoYW5nZSBzZXQ/ICBBbHNvLCB0aGUg
ZGVzY3JpcHRpb24gZG9lc24ndCBzYXkgd2hhdCB0aGUNCiAgICAgICAgIFJFViBJRCBpcyBhY3R1
YWxseSAqZm9yKiwgd2hpY2ggbWF5IHNwcGx5IHRoZSBuZWNlc3NhcnkNCiAgICAgICAgIHF1YWxp
ZmljYXRpb25zIGZvciAidW5pcXVlIi4NCiAgICAtLT4NCg0KICAgIDwhLS0gQSBmZXcgd29yZHMg
YWJvdXQgdGhlIGRpZ2VzdCwgY29udGVudCwgYW5kIGRlbHRhIGVsZW1lbnRzOg0KDQogICAgICAg
ICBXZSBjb3VsZCBoYXZlIGFsbG93ZWQgPGNvbnRlbnQ+IG9yIDxkZWx0YT4gd2l0aG91dCB0aGUN
CgkgZGlnZXN0LCBidXQgaXQncyBzYWZlciB0aGlzIHdheSBhbmQgdGhlIGRpZ2VzdCBpcyBzbWFs
bC4NCgkgPGRlbHRhPiB0YWdzIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIHNlY29uZCBhbmQgbGF0
ZXIgPHJldj5zIGZvcg0KCSBhIGdpdmVuIDxuYW1lPi4NCg0KCSBUaGUgZmlyc3QgPHJldj4gZm9y
IGEgZ2l2ZW4gbmFtZSBtdXN0IG5vdCBjb250YWluIGEgPGRlbHRhPi4gIEl0DQoJIHNob3VsZCBj
b250YWluIDxjb250ZW50PiBpZiB0aGlzIGlzIG5vdCBhbiBpbmNyZW1lbnRhbCB1cGRhdGUsIG9y
DQoJIGp1c3QgYSA8ZGlnZXN0PiBpZiBpdCBpcy4NCgkgDQoJIFRoZSByZXYvL2RpZ2VzdCB3aXRo
IG5vIDxjb250ZW50PiBjYW4gb25seSBiZSB1c2VkIGFzIHRoZSBmaXJzdA0KCSA8cmV2PiBpbiB0
aGUgZmlsZSBmb3IgYSBnaXZlbiA8bmFtZT4uICBpdCBpbmRpY2F0ZXMgdGhhdCB0aGUNCgkgPHJl
dl9pZD4gcmV2aXNpb24gb2YgPG5hbWU+IHNob3VsZCBiZSByZWNvdmVyZWQgZnJvbSB0aGUgdGFy
Z2V0DQoJIHJlcG9zaXRvcnkgYW5kIHRoZW4gY2hlY2tlZCBhZ2FpbnN0IHRoZSA8ZGlnZXN0PiBm
aWVsZC4NCg0KICAgICAgICAgPHByZXZpb3VzX2lkPiBjb250YWlucyB0aGUgaWQgc3RyaW5nIG9m
IHRoZSByZXZpc2lvbiBiZWZvcmUgdGhpcw0KICAgICAgICAgb25lLg0KDQogICAgLS0+DQoNCiAg
ICA8IS0tIFRoZSByZWFzb24gc28gbWFueSBmaWVsZHMgYXJlIG9wdGlvbmFsIGlzIHRoYXQgVlNT
DQogICAgICAgICBkb2VzIG5vdCBhc3NvY2lhdGUgbXVjaCBpbmZvIHdpdGggZGVsZXRpb25zIG9y
IHRyYWNrIHRoZW0NCiAgICAgICAgIHBlciByZXZpc2lvbi4gIFNvLCBhIGRlbGV0ZSBjYW4gaGF2
ZSBzb21lIGluZm8gaW4gaXQgZm9yDQogICAgICAgICBvdGhlciBTQ01zLCBidXQgd2lsbCBiZSBt
b3N0bHkgZW1wdHkgZm9yIFZTUy4NCiAgICAtLT4NCg0KICAgIDwhLS0gV2Ugd2lsbCBhZGQgcmVw
b3NpdG9yeV8uLi4gdGFncyBhcyBuZWVkZWQgdG8gY2FycnkgYWxvbmcgYWxsIG5lY2Vzc2FyeQ0K
ICAgICAgICAgcmVwb3NpdG9yeSBzcGVjaWZpYyBpbmZvcm1hdGlvbiB3aXRob3V0IGFsdGVyYXRp
b24uDQogICAgLS0+DQoNCjwhRUxFTUVOVCBuYW1lICgjUENEQVRBfGNoYXIpKiA+DQogICAgPCEt
LSB0aGUgZmlsZSBuYW1lLCBpbiBVbml4IGZvcm1hdCwgcmVsYXRpdmUgdG8gdGhlIHJlcG9zaXRv
cnkgcm9vdC4NCiAgICAgICAgIFRoZSBmaWxlL2RpcmVjdG9yeSBuYW1lcyAnLicsICcuLicsIGFu
ZCAnJyBhcmUgbm90IGxlZ2FsLg0KICAgICAgICAgY3ZzOiAgICAgICAnc3JjL2lmYWNlL2Z0cmVl
L2ZpLmMNCiAgICAgICAgIHA0OiAgICAgICAgJ2RlcG90L3BlcmwvcGVybC5jJywgbm90ICcvL2Rl
cG90L3BlcmwvcGVybC5jJw0KDQogICAgICAgICBXZSB3aWxsIGFkZCB2ZW5kb3JfLi4uIHRhZ3Mg
aWYgdGhpcyBmb3JtYXQgY2F1c2VzIGxvc3Mgb2YNCiAgICAgICAgIGluZm9ybWF0aW9uLg0KICAg
IC0tPg0KDQo8IUVMRU1FTlQgdHlwZSAoI1BDREFUQSkgPg0KICAgIDwhLS0gJ3RleHQnIG9yICdi
aW5hcnknIC0tPg0KDQo8IS0tIFByb2R1Y3Qgc3BlY2lmaWMgdGFncy4gIFRoZXNlIGFyZSB1c2Vk
IHdoZW4gaW1wb3J0aW5nIGRhdGEgaW4NCiAgICAgdG8gdGhlIHNhbWUgdHlwZSBvZiByZXBvc2l0
b3J5IGl0IHdhcyBleHBvcnRlZCBmcm9tLg0KLS0+DQoNCjwhRUxFTUVOVCBwNF9pbmZvICgjUENE
QVRBfGNoYXIpKiA+DQogICAgPCEtLSBQZXJmb3JjZSBzcGVjaWZpYyBkYXRhLiAtLT4NCg0KPCFF
TEVNRU5UIGN2c19pbmZvICgjUENEQVRBfGNoYXIpKiA+DQogICAgPCEtLSBDVlMgc3BlY2lmaWMg
ZGF0YS4gLS0+DQoNCjwhRUxFTUVOVCBzb3VyY2Vfc2FmZV9pbmZvICgjUENEQVRBfGNoYXIpKiA+
DQogICAgPCEtLSBWU1Mgc3BlY2lmaWMgZGF0YS4gLS0+DQoNCjwhRUxFTUVOVCBwdmNzX2luZm8g
KCNQQ0RBVEF8dHJ1bmtfcmV2X2lkfGF0dHJpYnxjaGFyKSogPg0KICAgIDwhLS0gUFZDUyBzcGVj
aWZpYyBkYXRhLiAtLT4NCg0KPCEtLSBSZXBvc2l0b3J5LW51ZXRyYWwgdGFncy4gIFRoZXNlIG11
c3QgYmUgZ2VuZXJhdGVkIGJ5IGFsbCBleHBvcnQNCiAgICAgdXRpbGl0aWVzLCBhbmQgbXVzdCBi
ZSB1c2VkIGJ5IGFsbCBpbXBvcnQgdXRpbGl0aWVzIHdoZW4gaW1wb3J0aW5nDQogICAgIGZyb20g
YSBmb3JlaWduIHJlcG9zaXRvcnkgdHlwZS4NCi0tPg0KDQo8IUVMRU1FTlQgcmV2X2lkICgjUENE
QVRBKSA+DQogICAgPCEtLSBBIHNtYWxsIGludGVnZXIgaW5kaWNhdGluZyB0aGUgcmV2aXNpb24g
bnVtYmVyIG9mIGEgZmlsZQ0KICAgICAgICAgKndpdGhpbiB0aGUgYnJhbmNoKi4NCg0KICAgICAg
ICAgY3ZzOiAgICAgICAgIjMiIGlmIHRoZSBjdnMgcmV2IGlzICIxLjMiIA0KICAgICAgICAgcDQ6
ICAgICAgICAgdGhlIGZpbGUgcmV2aXNpb24gbnVtYmVyDQogICAgICAgICBzb3VyY2VzYWZlOiB0
aGUgZmlsZSB2ZXJzaW9uIG51bWJlcg0KDQogICAgICAgICBQTWlsbGVyOiBEb2VzIHRoaXMgbWVh
biB0aGF0IGEgUmV2TUwgZmlsZSBjb250YWlucyBhbiBlbnRpcmUNCiAgICAgICAgIGJyYW5jaD8g
IFdoYXQgaWYgaXQgZG9lc24ndD8gc2hvdWxkbid0IHRoaXMgYmUgb3B0aW9uYWwgaW4NCiAgICAg
ICAgIGJyYW5jaC1sZXNzIGNhc2VzPw0KICAgIC0tPg0KDQo8IUVMRU1FTlQgY2hhbmdlX2lkICgj
UENEQVRBKSA+DQogICAgPCEtLSBFeHBvcnQgdXRpbGl0aWVzIGFyZSByZXNwb25zaWJsZSBmb3Ig
Z3JvdXBpbmcgcmV2aXNpb25zIHRvZ2V0aGVyDQogICAgICAgICB1c2luZyBhIHVuaXF1ZSBjaGFu
Z2VfaWQuICBjaGFuZ2VfaWQncyBhcmUgaW50ZWdlcnMgc3RhcnRpbmcgYXQgMQ0KICAgICAgICAg
Zm9yIGVhY2ggZmlsZS4NCiAgICAtLT4NCg0KPCFFTEVNRU5UIHRydW5rX3Jldl9pZCAoI1BDREFU
QSkgPg0KICAgIDwhLS0gV2hhdCBpcyB0aGlzIGVsZW1lbnQgZm9yPyAtLT4NCg0KPCFFTEVNRU5U
IGF0dHJpYiAoI1BDREFUQSkgPg0KICAgIDwhLS0gV2hhdCBpcyB0aGlzIGVsZW1lbnQgZm9yPyAt
LT4NCg0KPCFFTEVNRU5UIGxvY2sgKHRpbWU/LCB1c2VyX2lkKSA+DQogICAgPCEtLSBXaGF0IGlz
IHRoaXMgZWxlbWVudCBmb3I/IC0tPg0KDQo8IUVMRU1FTlQgdGltZSAoI1BDREFUQSkgPg0KICAg
IDwhLS0gQWxsIHRpbWVzIGFyZSBpbiBJU08tODYwMSBmb3JtYXQgaW4gR01UL1VDVDANCiAgICAg
ICAgIDx0aW1lPjIwMDAtMTItMzEgMjM6NTk6NTlaPC90aW1lPg0KICAgIC0tPg0KDQo8IUVMRU1F
TlQgbW9kX3RpbWUgKCNQQ0RBVEEpID4NCiAgICA8IS0tIE1vZGlmaWNhdGlvbiB0aW1lIC0tPg0K
ICAgIDwhLS0gQWxsIHRpbWVzIGFyZSBpbiBJU08tODYwMSBmb3JtYXQsIEdNVCAtLT4NCg0KPCFF
TEVNRU5UIGFjdGlvbiAoI1BDREFUQSkgPg0KICAgIDwhLS0NCiAgICAgICAgVGhlIEFDVElPTiBl
bGVtZW50IGlzIHVzZWQgdG8gZGVzY3JpYmUgdGhlIG9wZXJhdGlvbiB0byBiZQ0KICAgICAgICBw
ZXJmb3JtZWQgb24gdGhlIG5hbWVkIHNvdXJjZSBmaWxlLiAgTGVnYWwgdmFsdWVzIGluY2x1ZGU6
DQoNCglhZGQNCiAgICAgICAgICAgIFRoZSBmaWxlIGlzIGJlaW5nIGNyZWF0ZWQgb3IgYWRkZWQu
ICBUaGVyZSB3aWxsIGJlIGFuDQogICAgICAgICAgICBhY2NvbXBhbnlpbmcgQ09OVEVOVCBlbGVt
ZW50Lg0KCWVkaXQNCiAgICAgICAgICAgIFRoZSBmaWxlIGNvbnRlbnQgaXMgYmVpbmcgY2hhbmdl
ZCBvciBlZGl0aWVkIG9yIG1vZGlmaWVkLg0KICAgICAgICAgICAgVGhlcmUgd2lsbCBiZSBhbiBh
Y2NvbXBhbnlpbmcgREVMVEEgZWxlbWVudC4NCg0KICAgICAgICAgICAgV2hhdCBhYm91dCBiaW5h
cnkgZmlsZXM/ICBNdXN0IHRoZSB1c2VyIGdpdmUgYSBDT05URU5UIGZvcg0KICAgICAgICAgICAg
YmluYXJ5IGZpbGVzPyAgKFRoZSBYZGVsdGEgZm9ybWF0IGlzbid0IHN1aXRhYmxlLCBpdCByZXF1
aXJlcw0KICAgICAgICAgICAgaWRlbnRpY2FsIGxlZnQtaGFuZC1zaWRlIGZpbGVzIG9uIGJvdGgg
c3lzdGVtcywgc29tZXRoaW5nDQogICAgICAgICAgICBwYXRjaCgxKSBoYXMgY29wZWQgd2l0aCBm
b3Igb3ZlciBhIGRlY2FkZS4pDQoNCglkZWxldGUNCiAgICAgICAgICAgIFRoZSBmaWxlIGlzIGJl
aW5nIHJlbW92ZWQgb3IgZGVsZXRlZCAoYnV0IGl0J3MgaGlzdG9yaWNhbA0KICAgICAgICAgICAg
aW5mb3JtYXRpb24gaXMgcHJlc2VydmVkKS4gIFRoZXJlIGlzIG5vIGFjY29tcGFueWluZyBDT05U
RU5UDQogICAgICAgICAgICBvciBERUxUQSBlbGVtZW50Lg0KCXJlbmFtZQ0KICAgICAgICAgICAg
VGhlIGZpbGUgaXMgYmVpbmcgbW92ZWQgb3IgcmVuYW1lZC4gIEl0IG1heSBiZSBhY2NvbXBhbmll
ZA0KICAgICAgICAgICAgYnkgYW4gb3B0aW9uYWwgREVMVEEgZWxlbWVudC4NCgljbG9uZQ0KCSAg
ICBXaGF0IGRvZXMgdGhpcyBtZWFuPw0KCSAgICBJdCBpcyBtZW50aW9uZWQgaW4gc29tZSBvdGhl
ciBjb21tZW50cy4NCiAgICAtLT4NCg0KPCFFTEVNRU5UIHA0X2FjdGlvbiAoI1BDREFUQSkgPg0K
ICAgIDwhLS0gV2hhdCBpcyB0aGlzIGVsZW1lbnQgZm9yPyAtLT4NCg0KPCFFTEVNRU5UIHNvdXJj
ZXNhZmVfYWN0aW9uICgjUENEQVRBKSA+DQogICAgPCEtLSBXaGF0IGlzIHRoaXMgZWxlbWVudCBm
b3I/IC0tPg0KDQo8IUVMRU1FTlQgbGFiZWwgKCNQQ0RBVEF8Y2hhcikqID4NCiAgICA8IS0tIFdo
YXQgaXMgdGhpcyBlbGVtZW50IGZvcj8gLS0+DQoNCjwhRUxFTUVOVCB1c2VyX2lkICgjUENEQVRB
fGNoYXIpKiA+DQogICAgPCEtLSBXaGF0IGlzIHRoaXMgZWxlbWVudCBmb3I/IC0tPg0KDQo8IUVM
RU1FTlQgY29tbWVudCAoI1BDREFUQXxjaGFyKSogPg0KICAgIDwhLS0gV2hhdCBpcyB0aGlzIGVs
ZW1lbnQgZm9yPyAtLT4NCg0KPCFFTEVNRU5UIGRlbHRhICgjUENEQVRBfGNoYXIpKiA+DQogICAg
PCFBVFRMSVNUIGRlbHRhDQogICAgICAgIHR5cGUgICAgICAgICAoZGlmZi11KSAgICAgICAjUkVR
VUlSRUQNCiAgICAgICAgZW5jb2RpbmcgICAgIChub25lfGJhc2U2NCkgICNSRVFVSVJFRA0KICAg
ID4NCiAgICA8IS0tIFdoYXQgaXMgdGhpcyBlbGVtZW50IGZvcj8gLS0+DQoNCjwhRUxFTUVOVCBw
cmV2aW91c19pZCAoI1BDREFUQSkgPg0KICAgIDwhLS0gVGhlIHByaW9yIHJldmlzaW9uIHRoYXQg
d2FzIGFsdGVyZWQgdG8gbWFrZSB0aGlzIHJldmlzaW9uLg0KICAgICAgICAgVGhpcyBpcyBvbiB0
aGUgc2FtZSBmaWxlYnJhbmNoIGZvciAiZWRpdCIgYW5kICJkZWxldGUiDQogICAgICAgICA8YWN0
aW9uPnMsIGJ1dCBvbiBhIGRpZmZlcmVudCBmaWxlYnJhbmNoIGZvciAiYnJhbmNoIg0KICAgICAg
ICAgPGFjdGlvbj5zIGFuZCBmb3IgY2xvbmVzIG9mICJicmFuY2giIDxhY3Rpb24+cw0KICAgIC0t
Pg0KDQo8IUVMRU1FTlQgZnJvbV9pZCAoI1BDREFUQSkgPg0KICAgIDwhLS0gQSAicGFyZW50IiBy
ZXZpc2lvbiBmcm9tIHdoaWNoIGRhdGEgd2FzIGNvcGllZCB0byBtYWtlIHRoaXMNCiAgICAgICAg
IHJldmlzaW9uLiAgVXNlZCBpbiA8YWN0aW9uPmNsb25lPC9hY3Rpb24+IHJldnMgdG9kYXksIGV4
cGVjdGVkDQogICAgICAgICB0byBiZSB1c2VkIGluIDxhY3Rpb24+bWVyZ2U8L2FjdGlvbj4gcmV2
cyBzb21lZGF5Lg0KICAgIC0tPg0KDQo8IUVMRU1FTlQgZWFybGllcl9pZCAoI1BDREFUQSkgPg0K
ICAgIDwhLS0gQSByZXYgdGhhdCBtdXN0IGJlIHN1Ym1pdHRlZCB0byB0aGUgdGFyZ2V0IHJlcG9z
aXRvcnkgYmVmb3JlDQogICAgICAgICB0aGlzIHJldi4gIEN1cnJlbnRseSAoMjAwNC0wOS0xNCkg
b25seSB1c2VkIGJ5IHRoZSBDaGFuZ2VTZXRzDQogICAgICAgICBmaWx0ZXIgKFZDUDo6RmlsdGVy
OjpjaGFuZ2VzZXRzKS4NCiAgICAtLT4NCg0KDQo8IUVMRU1FTlQgY29udGVudCAoI1BDREFUQXxj
aGFyKSogPg0KICAgIDwhQVRUTElTVCBjb250ZW50DQogICAgICAgIGVuY29kaW5nICAgICAobm9u
ZXxiYXNlNjQpICAjUkVRVUlSRUQNCiAgICA+DQogICAgPCEtLQ0KICAgICAgICBUaGUgQ09OVEVO
VCBlbGVtZW50IGlzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBleGFjdCBjb250ZW50cyBvZiBhDQog
ICAgICAgIGZpbGUgYXQgYSBwYXJ0aWN1bGFyIHJldmlzaW9uLiAgVGhpcyBpcyBtb3N0IGNvbW1v
bmx5IHVzZWQgd2l0aA0KICAgICAgICA8QUNUSU9OPmNyZWF0ZTwvQUNUSU9OPi4NCgkoQXJlIHRo
ZXJlIG90aGVycz8pDQoNCglIb3cgY29tZSB3ZSBjYW4ndCBoYXZlIHF1b3RlZC1wcmludGFibGUg
ZW5jb2Rpbmc/DQogICAgICAgIChGb3IgZXhhbXBsZSwgYW4gb3JpZ2luYXRpbmcgc3lzdGVtIGNv
dWxkIGdlbmVyYXRlIGFsbCB0aHJlZSBvZg0KICAgICAgICAoI1BDREFUQSxjaGFyKSBhbmQgcXVv
dGVkLXByaW50YWJsZSBhbmQgYmFzZTY0IGVuY29kaW5ncywgYW5kDQogICAgICAgIHVzZSB0aGUg
c2hvcnRlc3QuKQ0KCVdoYXQgYWJvdXQgQ1IvQ1JMRi9MRiBpc3N1ZXM/DQogICAgLS0+DQoNCjwh
RUxFTUVOVCBkaWdlc3QgKCNQQ0RBVEEpID4NCiAgICA8IUFUVExJU1QgZGlnZXN0DQogICAgICAg
IHR5cGUgICAgICAgICAgKE1ENSkgICAgICAgICAjUkVRVUlSRUQNCiAgICAgICAgZW5jb2Rpbmcg
ICAgICAoYmFzZTY0KSAgICAgICNSRVFVSVJFRA0KICAgID4NCiAgICA8IS0tDQoJIFdoZW4gdGhl
cmUgaXMgYSBDT05URU5UIGVsZW1lbnQsIHRoZSBkaWdlc3Qgd2lsbCBiZSB0aGUgbWQ1c3VtDQog
ICAgICAgICBvZiBfd2hhdF8/ICBJcyBpdCB0aGUgbWQ1c3VtIG9mIHRoZSBjaGFyYWN0ZXJzIGJl
dHdlZW4NCiAgICAgICAgIDxDT05URU5UPiBhbmQgPC9DT05URU5UPiwgb3IgdGhlIG9yaWdpbmFs
IGJpbmFyeSByZXByZXNlbnRhdGlvbg0KICAgICAgICAgb2YgdGhlIGZpbGU/ICBXaGF0IGFib3V0
IENSL0NSTEYvTEYgaXNzdWVzPw0KDQogICAgICAgICBXaGVuIHRoZXJlIGlzIGEgREVMVEEgZWxl
bWVudCwgdGhlIGRpZ2VzdCB3aWxsIGJlIHRoZSBtZDVzdW0NCiAgICAgICAgIG9mIF93aGF0Xz8g
IElzIGl0IHRoZSBtZDVzdW0gb2YgdGhlIGRlbHRhIGZpbGUgYmVmb3JlIFJldk1MDQogICAgICAg
ICAoI1BDSEFSfGNoYXIpIGVuY29kaW5nIG9yIGFmdGVyPyAgT3IgaXMgaXQgdGhlIG1kNXN1bSBv
ZiB0aGUNCiAgICAgICAgIG9yaWdpbmFsIGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZmls
ZSBiZWZvcmUgdGhlIGRlbHRhIGlzDQogICAgICAgICBhcHBsaWVkPyAgT3IgdGhlIGZpbGUgYWZ0
ZXIgdGhlIGRlbHRhIGlzIGFwcGxpZWQ/ICBXaGF0IGFib3V0DQogICAgICAgICBDUi9DUkxGL0xG
IGlzc3Vlcz8NCgkgDQogICAgICAgICAoSW5zZXJ0IGRlZmludGlvbiBvZiBtZDVzdW0gaGVyZSwg
b3IgYXQgbGVhc3QgYSByZWZlcmVuY2UgdG8NCiAgICAgICAgIHRoZSBkZWZpbmluZyBzdGFuZGFy
ZC4pDQoNCiAgICAgICAgIE1heWJlIHRoZSBkaXNjdXNzaW9uIG9mIERJR0VTVCBpbiB0aGUgY29t
bWVudCBhZnRlciB0aGUgUkVWDQogICAgICAgICBlbGVtZW50IGRlY2xhcmF0aW9uIGNvdWxkIGJl
IG1vdmVkIHRvIGhlcmU/DQogICAgLS0+DQoNCjwhRUxFTUVOVCBjaGFyIEVNUFRZID4NCiAgICA8
IUFUVExJU1QgY2hhcg0KICAgICAgICBjb2RlICAgICAgICAgIENEQVRBICAgICAgICAgI1JFUVVJ
UkVEDQogICAgPg0KICAgIDwhLS0NCiAgICAgICAgIFRoZSBDSEFSIGVsZW1lbnQgaXMgdXNlZCB0
byBwYXNzIG9uIGNvbnRyb2wgY29kZXMgdGhhdCB3b3VsZA0KICAgICAgICAgb3RoZXJ3aXNlIGNh
dXNlIHRoZSBYTUwgdG8gYmUgbm90IHdlbGwtZm9ybWVkLiAgSW4gcGFydGljdWxhciwNCiAgICAg
ICAgIGNoYXJhY3RlcnMgYmVsb3cgc3BhY2UgKDB4MjApLCBleGNlcHQgaG9yaXpvbnRhbCB0YWIg
KDB4MDkpDQogICAgICAgICBhbmQgbGluZSBmZWVkICgweDBBKSwgbXVzdCB1c2UgdGhlIDxDSEFS
IENPREU9IjB4Tk4iPg0KICAgICAgICAgZWxlbWVudC4gIEVhY2ggaW5zdGFuY2UgbXVzdCBoYXZl
IGEgQ09ERSBhdHRyaWJ1dGUgY29udGFpbmluZw0KICAgICAgICAgYSBoZXhhZGVjaW1hbCByZXBy
ZXNlbnRhdGlvbiBvZiB0aGUgY2hhcmFjdGVyIGNvZGUgYXMgc3RyaW5nLg0KICAgICAgICAgRm9y
IGV4YW1wbGUsIGZvcm0gZmVlZCAoXkwpIHdvdWxkIGJlIHJlcHJlc2VudGVkIGFzIDxjaGFyDQog
ICAgICAgICBjb2RlPSIweDBDIj4uICBCeXRlcyBiZXR3ZWVuIDB4N0YgYW5kIDB4RkYgbWF5IHVz
ZSB0aGUgZXhpc3RpbmcNCiAgICAgICAgICYjeE5OOyBvciAmI0RERDsgbWVjaGFuaXNtLiAgVXNl
IHRoZSB1c3VhbCBlbmNvZGluZ3MgZm9yDQogICAgICAgICAmcXVvdDssICZsdDssICZhbXA7IGFu
ZCAmZ3Q7Lg0KICAgIC0tPg0KDQoNCjwhLS0NCiAgVGhlIGZvbGxvd2luZyBzb3VyY2VfKiBmaWVs
ZHMgYXJlIGludGVuZGVkIHRvIGtlZXAgdGhlIGNvcnJlc3BvbmRpbmcNCiAgZmllbGRzIHdpdGhv
dXQgJ3NvdXJjZV8nIGluIFZDUCBhbGwgdGhlIHdheSB0aHJvdWdoIHRvIHRoZQ0KICBkZXN0aW5h
dGlvbiB1bmNoYW5nZWQgZm9yIG1ha2luZyBsYWJlbHMgYW5kIGxvZ2dpbmcuDQotLT4NCg0KPCFF
TEVNRU5UIHNvdXJjZV9uYW1lICgjUENEQVRBfGNoYXIpKiA+DQogICAgPCEtLSBXaGF0IGlzIHRo
aXMgZWxlbWVudCBmb3IsIGFuZCB3aHkgaXMgaXQgbWFuZGF0b3J5PyAtLT4NCg0KPCFFTEVNRU5U
IHNvdXJjZV9yZXZfaWQgKCNQQ0RBVEEpID4NCiAgICA8IS0tDQoJV2hhdCBpcyB0aGlzIGVsZW1l
bnQgZm9yLCBhbmQgd2h5IGlzIGl0IG1hbmRhdG9yeT8NCglhbmQgaG93IGRvZXMgaXQgZGlmZmVy
IGZyb20gdGhlIFJFViBlbGVtZW50J3MgSUQgYXR0cmlidXRlPw0KICAgIC0tPg0KDQo8IUVMRU1F
TlQgc291cmNlX2NoYW5nZV9pZCAoI1BDREFUQSkgPg0KICAgIDwhLS0gV2hhdCBpcyB0aGlzIGVs
ZW1lbnQgZm9yPyAtLT4NCg0KPCFFTEVNRU5UIHNvdXJjZV9icmFuY2hfaWQgKCNQQ0RBVEEpID4N
CiAgICA8IS0tIFdoYXQgaXMgdGhpcyBlbGVtZW50IGZvcj8gLS0+DQoNCjwhLS0NCiAgVGhlc2Ug
ZmllbGRzIGFyZSBzaW1pbGFyIGluIHB1cnBvc2UgdG8gYWJvdmUsIGJ1dCBkb24ndCBoYXZlDQog
IGRpcmVjdGx5IGNvcnJlc3BvbmRpbmcgYW5hbG9ndWVzIHdpdGhvdXQgdGhlICdzb3VyY2VfJyBw
cmVmaXguDQotLT4NCg0KPCFFTEVNRU5UIHNvdXJjZV9maWxlYnJhbmNoX2lkICgjUENEQVRBKSA+
DQogICAgPCEtLSBXaGF0IGlzIHRoaXMgZWxlbWVudCBmb3IsIGFuZCB3aHkgaXMgaXQgbWFuZGF0
b3J5Pw0KCSBXaGF0IGhhcHBlbmVkIHRvIHRoZSB1bmRlcnNjb3JlIGJldHdlZW4gZmlsZSBhbmQg
YnJhbmNoPw0KICAgICAgICAgLS0+DQoNCjwhRUxFTUVOVCBzb3VyY2VfcmVwb19pZCAoI1BDREFU
QSkgPg0KICAgIDwhLS0gV2hhdCBpcyB0aGlzIGVsZW1lbnQgZm9yLCBhbmQgd2h5IGlzIGl0IG1h
bmRhdG9yeT8gLS0+DQoNCjwhLS0gVGhlIGdlbmVyaWMgYXR0cmlidXRlIGVsZW1lbnRzLiAgUE1p
bGxlciAtLT4NCjwhRUxFTUVOVCBhdHRyaWJ1dGUgKG5hbWUsdmFsdWUpDQogICAgLS0NCiAgICAg
ICAgVGhlIEFUVFJJQlVURSBlbGVtZW50IGlzIHVzZWQgdG8gY2FwdHVyZSBhcmJpdHJhcnkgbmFt
ZS12YWx1ZQ0KICAgICAgICBwYWlycyBmb3IgZGVzY3JiaW5nIGZpbGUgYXR0cmlidXRlcyBvciBj
aGFuZ2Ugc2V0IGF0dHJpYnV0ZXMNCiAgICAgICAgd2l0aG91dCBuZWVkaW5nIHRvIGV4dGVuZCB0
aGUgRFREIHRvIGFjY29tb2RhdGUgdGhlbS4NCg0KICAgICAgICBUaGVyZSBhcmUgKHdpbGwgYmUp
IHNvbWUgd2VsbCBrbm93biBuYW1lcyB0aGF0IGFsbCAobW9zdCkNCiAgICAgICAgc3lzdGVtcyBh
cmUgZXhwZWN0ZWQgdG8gdW5kZXJzdGFuZC4NCg0KICAgICAgICBGb3Igc3lzdGVtIHNwZWNpZmlj
IGV4dGVudGlvbnMsIHVzZSBhIG5hbWUgZm9ybSBzaW1pbGFyIHRvDQogICAgICAgIHRoZSBSRkMg
ODIyIGhlYWRlciBleHRlbnRpb24gbWVjaGFuaXNtOiBYLVN5c3RlbS1ibGFoLiAgRm9yDQogICAg
ICAgIGV4YW1wbGUsIGEgUGVyZm9yY2Ugc3BlY2lmaWMgYXR0cmlidXRlIHdvdWxkIHVzZSBhIG5h
bWUgbGlrZQ0KICAgICAgICAiWC1QZXJmb3JjZS1wZW5ndWluLWNvbG9yIi4NCg0KICAgICAgICBJ
ZiBhIHN5c3RlbSBzdXBwb3J0cyBhcmJpdHJhcnkgdXNlci1kZWZpbmVkIGF0dHJpYnV0ZXMgZm9y
DQogICAgICAgIGZpbGVzIG9yIGNoYW5nZSBzZXRzLCBhIG5hbWUgb2YgdGhlIGZvcm0gIlVzZXIt
YmxhaCIgc2VydmVzIHRvDQogICAgICAgIGRpc3Rpbmd1aXNoIHRoZW0gZnJvbSBzeXN0ZW0gc3Bl
Y2lmaWMgYW5kIHdlbGwga25vd24gYXR0cmlidXRlcy4NCiAgICAtLSA+DQo8IUVMRU1FTlQgdmFs
dWUgKCNQQ0RBVEF8Y2hhcikqDQogICAgLS0NCiAgICAgICAgVGhlIHZhbHVlIG9mIGFuIGF0dHJp
YnV0ZSBpcyB1bmNvbnN0cmFpbmVkLiAgSXQgY2FuIGJlIGFueXRoaW5nLA0KICAgICAgICBiaW5h
cnkgb3IgdGV4dC4gIFRoZSBpbnRlcnByZXRhdGlvbiBvZiB0aGUgdmFsdWUgZGVwZW5kcyBvbiB0
aGUNCiAgICAgICAgcmVjZWl2aW5nIHN5c3RlbS4NCg0KICAgICAgICBGb3IgYXR0cmlidXRlcyB3
aXRoIHdlbGwga25vd24gbmFtZXMsIHRoZSBpbnRlcnByZXRhdGlvbiBvZiB0aGUNCiAgICAgICAg
dmFsdWUgd2lsbCBiZSBkZWZpbmUgd2hlbiB0aGUgd2VsbCBrbm93biBuYW1lIGlzIGRlZmluZWQu
DQogICAgLS0gPg0KPCFFTEVNRU5UIG1vdmUgKCNQQ0RBVEF8Y2hhcikqDQogICAgLS0NCiAgICAg
ICAgVGhpcyBlbGVtZW50IGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgZGVzdGluYXRpb24gZmlsZSBu
YW1lIHdoZW4gYQ0KICAgICAgICBmaWxlIGlzIGJlaW5nIHJlbmFtZWQgb3IgbW92ZWQuDQoNCglJ
dCBpcyBwcm9iYWJseSBuZWVkZWQgZm9yIHRoZSAiY2xvbmUiIGFjdGlvbiwgYXMgd2VsbC4NCiAg
ICAtLSA+DQoNCjwhLS0gUE1pbGxlcjogVGhpcyBuZXh0IHNlY3Rpb24gaXMgZm9yIFNHTUwgcGFy
c2Vycywgd2hpY2ggbmVlZCB0bw0KICAgICBiZSBpbmZvcm1lZCBvZiB0aGUgbmFtZXMgb2Ygc3Bl
Y2lhbCBlbnRpdGllcyAmYW1wOywgJmx0OywgJmd0Ow0KICAgICBhbmQgJnF1b3Q7LiAgVGhlIGFs
dGVybmF0aXZlIGlzIHRvIGRlZmluZSB0aGVtIGhlcmUgaW5zdGVhZCBvZg0KICAgICBpbmNsdWRp
bmcgdGhlIHJldm1sLmVudGl0aWVzIGZpbGUuIC0tPg0KPCFFTlRJVFkgJSBSZXZNTHN5bWJvbCBQ
VUJMSUMNCiAgICAgICAiLS8vLS8vRU5USVRJRVMgU3ltYm9saWMvL0VOLy9SZXZNTCIgInJldm1s
LmVudGl0aWVzIj4NCiVSZXZNTHN5bWJvbDsNCn==
--=-peE4xTKX43+WUycvWfpn
Content-Disposition: attachment; filename=revml.entities
Content-Type: text/plain; name=revml.entities; charset=ISO-8859-1
Content-Transfer-Encoding: base64
DQoNCjwhLS0gU29tZSBnZW5lcmFsIGVudGl0aWVzIGZvciBlbmNvZGluZyBtYWdpYyBjaGFyYWN0
ZXJzLiAtLT4NCjwhRU5USVRZIHF1b3QgQ0RBVEEgIiYjMzQ7IiAtLSBxdW90YXRpb24gbWFyayA9
IEFQTCBxdW90ZSwgVSswMDIyIElTT251bSAtLT4NCjwhRU5USVRZIGFtcCAgQ0RBVEEgIiYjMzg7
IiAtLSBhbXBlcnNhbmQsIFUrMDAyNiBJU09udW0gLS0+DQo8IUVOVElUWSBsdCAgIENEQVRBICIm
IzYwOyIgLS0gbGVzcy10aGFuIHNpZ24sIFUrMDAzQyBJU09udW0gLS0+DQo8IUVOVElUWSBndCAg
IENEQVRBICImIzYyOyIgLS0gZ3JlYXRlci10aGFuIHNpZ24sIFUrMDAzRSBJU09udW0gLS0+DQo=
--=-peE4xTKX43+WUycvWfpn--
--=-QrjsBZRTTzbV2uRgLxUy
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQBB6kvuGNik4tDttk0RAi0QAJ43PFRZpxSU/ulc0rC+GUTU6qBNwQCgjyA6
7WiZ/004DOw42n4gJ47abkI=
=pXx7
-----END PGP SIGNATURE-----
--=-QrjsBZRTTzbV2uRgLxUy--