From "Scott McGuire <smcguire@MIT.EDU>" Mon Oct  6 17:33:50 1997
Flags: 000000000001
Received: from PACIFIC-CARRIER-ANNEX.MIT.EDU by po9.MIT.EDU (5.61/4.7) id AA08347; Mon, 6 Oct 97 17:33:26 EDT
Received: from MIT.MIT.EDU by MIT.EDU with SMTP
	id AA27622; Mon, 6 Oct 97 17:32:56 EDT
Received: from NOME-KING.MIT.EDU by MIT.MIT.EDU (5.61/4.7) id AA16409; Mon, 6 Oct 97 17:32:55 EDT
X-Sender: smcguire@hesiod
Message-Id: <v03110700b05f09542b0c@[18.177.1.196]>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="============_-1335948860==_============"
Date: Mon, 6 Oct 1997 17:33:50 -0400
To: lcs@MIT.EDU
From: Scott McGuire <smcguire@MIT.EDU>
Subject: binhexed word document attached

--============_-1335948860==_============
Content-Type: text/plain; charset="us-ascii"

Hi Larry,

Here's the icky Word 5 document you requested.

--Scott

--============_-1335948860==_============
Content-Type: application/msword; name="bozo_word_document.doc"
 ; x-mac-type="5744424E"
 ; x-mac-creator="4D535744"
Content-Disposition: attachment; filename="bozo_word_document.doc"
Content-Transfer-Encoding: base64

/jcAIwAAAAAAAAQAABkAAAAAAAAAAAEAAABZ/QAAcygAAAAAAABY/QAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAcAAAIAAAcAAAIAAAcCAAAAAAcCAAAAAAcCAADgAAcC4BYgAA
cZAAAAAAcZAAAAAAcZAAAAAAcZAACgAAcZoAQAAAcdoAAAAAcdoAMgAAcgwAeAAAcZAA
AAAAcoQAIAAAcqQAGAAAcssAKgAAcvUAAAAAcCAAAAABAAoAAHLLAAAAAHK8AA8AAHLL
AAAAAHLLAAAAAHL1ADMAAHLLAAAAAHLLAAAAAHLLAAAAAHLLAAAAAHLLAAAAAHLLAAAA
AC8qDSAqICAgQ29weXJpZ2h0IChDKSAxOTg5IGJ5IE1hc3NhY2h1c2V0dHMgSW5zdGl0
dXRlIG9mIFRlY2hub2xvZ3kuDSAqICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NICovDQ0v
Kg0gKg0gKiAgIGxpc3R3aW4uYyAoKSAtLSBXaW5kb3cgaGFuZGxpbmcgcm91dGluZSBm
b3IgbWFpbCBsaXN0IHdpbmRvd3MuDSAqCVRoZXNlIHJvdXRpbmVzIGRyYXcsIGFuZCBo
YW5kbGUgZXZlbnRzIGZvciB0aGUgbGlzdCBvZiBtZXNzYWdlcy4NICoNICovDSANLyoN
ICoNICogJFNvdXJjZTogL2Fmcy9hdGhlbmEubWl0LmVkdS9hc3RhZmYvcHJvamVjdC9t
YWNhdGhlbmEvTUlUL2FwcGwvbWFjemVwaHlyL3NyYy9SQ1MvbGlzdHdpbi5jLHYgJA0g
KiAkUmV2aXNpb246IDEuNCAkDSAqICREYXRlOiA5Mi8wMi8yNSAxNToyMzo1MCAkDSAq
ICRTdGF0ZTogRXhwICQNICogJEF1dGhvcjogZ2V0dGVucyAkDSAqIA0gKg0gKiAkTG9n
OglsaXN0d2luLmMsdiAkDSAqIFJldmlzaW9uIDEuNCAgOTIvMDIvMjUgIDE1OjIzOjUw
ICBnZXR0ZW5zDSAqIHZlcnNpb24gMS4wYjANICogDSAqIA0gKiANICoNICovIA0NDSNk
ZWZpbmUgX19BTExOVV9fDQ0jaWZuZGVmIF9fTVdFUktTX18NI2luY2x1ZGUgPFR5cGVz
Lmg+DSNpbmNsdWRlIDxRdWlja2RyYXcuaD4NI2luY2x1ZGUgPFdpbmRvd3MuaD4NDSNp
bmNsdWRlIDxUb29sdXRpbHMuaD4NI2luY2x1ZGUgPEZvbnRzLmg+DSNpbmNsdWRlIDxF
dmVudHMuaD4NI2luY2x1ZGUgPERpYWxvZ3MuaD4NI2luY2x1ZGUgPE1lbnVzLmg+DSNp
bmNsdWRlIDxEZXNrLmg+DSNpbmNsdWRlIDxUZXh0RWRpdC5oPg0jaW5jbHVkZSA8Q29u
dHJvbHMuaD4NI2luY2x1ZGUgPExpc3RzLmg+DSNpbmNsdWRlIDxOb3RpZmljYXRpb24u
aD4NI2luY2x1ZGUgPFN0cmluZ3MuaD4NI2VuZGlmDQ0jaW5jbHVkZSA8c3RkaW8uaD4N
DSNpbmNsdWRlIDx6ZXBoeXIuaD4NDSNpbmNsdWRlICJnbG9iYWwuaCINI2luY2x1ZGUg
Im1hY3N0dWZmLmgiDSNpbmNsdWRlICJ6aG0uaCINI2luY2x1ZGUgImRvX3N0dWZmLmgi
DSNpbmNsdWRlICJjbWQuaCINI2luY2x1ZGUgInV0aWxzLmgiDSNpbmNsdWRlICJuZXRf
b3BzLmgiDSNpbmNsdWRlICJsaXN0d2luLmgiDSNpbmNsdWRlICJ6d2djd2luLmgiDQ1z
dHJ1Y3Qgd2luZG93X29wcyBsaXN0d2luX29wcyA9IHsNICAgICBsaXN0X21vdXNlLA0g
ICAgIGxpc3RfZHJhdywNICAgICBsaXN0X3Jlc2l6ZSwNICAgICBsaXN0X2FjdGl2YXRl
LA0gICAgIGxpc3RfZGVhY3RpdmF0ZSwNICAgICBsaXN0d19jbG9zZSwNICAgICBsaXN0
X29wZW4sDSAgICAgbnVsbF9pbml0LA0gICAgIGxpc3RfdGVybSwNICAgICBub3JtYWxf
c2VsZWN0LA0gICAgIGxpc3Rfa2V5LA0gICAgIG51bGxfY3V0LA0gICAgIG51bGxfcGFz
dGUsDSAgICAgbnVsbF9jb3B5LA0gICAgIG51bGxfY2xlYXIsDSAgICAgbGlzdF9pZGxl
DX07DQ0jZGVmaW5lIENFTExfQ0hBUlMgMTAwDQ0jZGVmaW5lIEFSX09OX1NUUiAiXHBB
VVRPLVJFUExZIE9OIg0NLyogRGVmaW5pdGlvbnMgb2Ygd2luZG93IGRpc3BsYXkgKi8N
LyogQ0VMTF9UT1AgLS0gdG9wIG9mIGxpc3QgZGlzcGxheSAoZGl2aWRpbmcgbGluZSBp
cyBhYm92ZSkgKi8NI2RlZmluZSBDRUxMX1RPUCAzNg0NLyogSEVBREVSX1RPUCAtLSB0
b3Agb2YgaGVhZGVyIGRpc3BsYXkgKGRpdmlkaW5nIGxpbmUgaXMgYWJvdmUpICovDSNk
ZWZpbmUgSEVBREVSX1RPUCAxOA0NLyogSEVBREVSX1RFWFQgLS0gbGluZSB3aGVyZSBo
ZWFkZXIgdGV4dCBpcyAqLw0jZGVmaW5lIEhFQURFUl9URVhUIDMwDQ0vKiBDTEFTU19Y
IC0tIEhvcml6b250YWwgc3RhcnQgb2YgIkRhdGUiICovDSNkZWZpbmUgQ0xBU1NfWCAy
MA0NLyogZXh0ZXJuYWwgdmFyaWFibGVzICovDWV4dGVybiBjaGFyIGdIb3N0bmFtZVtd
Ow1leHRlcm4gaW50IGdJbkZvcmVncm91bmQ7DQ1leHRlcm4gc3RydWN0IHdpbmRvd19v
cGVuX3BhcmFtX3JlY29yZCAqKmdXb3BySGFuZGxlc1tdOw1leHRlcm4gaW50IGdXb3By
SW5kZXg7DWV4dGVybiBCb29sZWFuIGdBdXRvUmVwbHlGbGFnOw0NLyogZnVuY3Rpb24g
cHJvdG9zICovDXN0YXRpYyB2b2lkIGRyYXdfaGVhZGVycyhzdHJ1Y3Qgd2luX2luZm8g
KndpcCk7DXN0YXRpYyBpbnQgbGlzdF9kcmF3X2dyb3coc3RydWN0IHdpbl9pbmZvICp3
aXApOw1zdGF0aWMgdm9pZCBzZXRfbGlzdF9pbnQoTGlzdEhhbmRsZSBsaGFuZGxlLCBp
bnQgaSk7DQ1pbnQgbGlzdF9vcGVuKHN0cnVjdCB3aW5faW5mbyAqd2lwLCBzdHJ1Y3Qg
d2luZG93X29wZW5fcGFyYW1fcmVjb3JkICp3b3BycCkNew0jcHJhZ21hIHVudXNlZCh3
b3BycCkNDQlSZWN0IHZyZWN0LGRicmVjdDsNCVBvaW50IGNzaXplOw0NCXdpcC0+d29w
ID0gJmxpc3R3aW5fb3BzOw0Jd2lwLT53aW5fdHlwZSA9IExJU1RfV0lORE9XOw0NCVNl
dFBvcnQod2lwLT53cCk7DQ0JLyogQ3JlYXRlIHRoZSBsaXN0LCBidXR0b25zLCBhbmQg
aW5pdGlhbGl6ZSB0aGUgY2VsbHMgKi8NCVNFVFJFQ1QoJnZyZWN0LCAwLCBDRUxMX1RP
UCwgd2lwLT53aW5kb3dfc2l6ZS5oLTE1LAkvKiB2aWV3IHJlY3QgKi8NCSAgICAgd2lw
LT53aW5kb3dfc2l6ZS52LTE1KTsNCVNFVFJFQ1QoJmRicmVjdCwgMCwgMCwgMSwgMSk7
DQljc2l6ZS52ID0gMTU7IC8qMTU7Ki8NCWNzaXplLmggPSAwOyAvKihzaG9ydCkod2lw
LT53aW5kb3dfc2l6ZS5oIC0gMTUpOyovDQ0JVGV4dEZvbnQoZ2VuZXZhKTsNCVRleHRT
aXplKDkpOw0NCXdpcC0+ZGF0YS5saXN0LmxoYW5kbGUgPSBMTmV3KCZ2cmVjdCwgJmRi
cmVjdCwgY3NpemUsIDAsDQkJCSAgICAgICB3aXAtPndwLCB0cnVlLCB0cnVlLCBmYWxz
ZSwgdHJ1ZSk7DQlpZiAod2lwLT5kYXRhLmxpc3QubGhhbmRsZSA9PSBOVUxMKSB7DQkJ
RG9Qcm9jTWVtRXJyb3IoImxpc3Rfb3BlbiIpOw0JCXJldHVybigtMSk7DQl9DQkJDQko
Kiood2lwLT5kYXRhLmxpc3QubGhhbmRsZSkpLnNlbEZsYWdzIHw9IGxVc2VTZW5zZTsg
DQl3aXAtPmRhdGEubGlzdC5sZGVsX2J1dHRvbiA9IEdldE5ld0NvbnRyb2woTERFTF9D
SUQsd2lwLT53cCk7DQlpZiAod2lwLT5kYXRhLmxpc3QubGRlbF9idXR0b24gPT0gTlVM
TCkgew0JCURvUHJvY01lbUVycm9yKCJsaXN0X29wZW4iKTsNCQlMRGlzcG9zZSh3aXAt
PmRhdGEubGlzdC5saGFuZGxlKTsNCQlyZXR1cm4oLTEpOw0JfQ0Jd2lwLT5kYXRhLmxp
c3QubG9wZW5fYnV0dG9uID0gR2V0TmV3Q29udHJvbChMT1BFTl9DSUQsd2lwLT53cCk7
DQlpZiAod2lwLT5kYXRhLmxpc3QubG9wZW5fYnV0dG9uID09IE5VTEwpIHsNCQlEb1By
b2NNZW1FcnJvcigibGlzdF9vcGVuIik7DQkJTERpc3Bvc2Uod2lwLT5kYXRhLmxpc3Qu
bGhhbmRsZSk7DQkJRGlzcG9zZUNvbnRyb2wod2lwLT5kYXRhLmxpc3QubGRlbF9idXR0
b24pOw0JCXJldHVybigtMSk7DQl9DQl3aXAtPmRhdGEubGlzdC5scmVwbHlfYnV0dG9u
ID0gR2V0TmV3Q29udHJvbChMUkVQTFlfQ0lELHdpcC0+d3ApOw0JaWYgKHdpcC0+ZGF0
YS5saXN0LmxyZXBseV9idXR0b24gPT0gTlVMTCkgew0JCURvUHJvY01lbUVycm9yKCJs
aXN0X29wZW4iKTsNCQlMRGlzcG9zZSh3aXAtPmRhdGEubGlzdC5saGFuZGxlKTsNCQlE
aXNwb3NlQ29udHJvbCh3aXAtPmRhdGEubGlzdC5sZGVsX2J1dHRvbik7DQkJRGlzcG9z
ZUNvbnRyb2wod2lwLT5kYXRhLmxpc3QubG9wZW5fYnV0dG9uKTsNCQlyZXR1cm4oLTEp
Ow0JfQ0NCS8qIG1vdmVkIGhlcmUgZnJvbSBpbml0X3plcGh5cigpIC0gZ2V0IHJpZCBv
ZiBib2d1cyByb3cgY3JlYXRlZCBpbml0aWFsbHkuIC1zZ20gKi8NCWlmIChnV29wcklu
ZGV4ID09IDApDQkJTERlbFJvdygxLDAsd2lwLT5kYXRhLmxpc3QubGhhbmRsZSk7DQll
bHNlDQkJc2V0X2xpc3RkYXRhKHdpcCk7DQ0JcmV0dXJuKDApOw19DQ1pbnQgbGlzdHdf
Y2xvc2Uoc3RydWN0IHdpbl9pbmZvICp3aXApDXsNCURpYWxvZ1B0ciBkcCA9IG5pbDsN
CVJlY3QgdHJlY3Q7DQlIYW5kbGUgaXRlbWggPSBuaWw7DQlzaG9ydCBpdGVtX2hpdCA9
IDAsIGl0ZW1fdHlwZSA9IDA7DQlHcmFmUHRyIG9sZFBvcnQ7DQ0JLyogRnJlZSB0aGUg
bGlzdCwgYW5kIHN0dWZmLiAqLw0JIA0JaWYgKHdpcC0+ZGF0YS5saXN0Lm1vZGlmaWVk
KSB7CQkvKiBBc2sgYWJvdXQgc2F2aW5nICovDQkJZHAgPSBNeUdldE5ld0RpYWxvZyhT
QVZFTVNHRElELCBuaWwsIChXaW5kb3dQdHIpIC0xTCk7DQkJaWYgKGRwID09IE5VTEwp
IHsNCQkJRG9Qcm9jTWVtRXJyb3IoImxpc3R3X2Nsb3NlIik7DQkJCXJldHVybigtMSk7
DQkJfQ0JCQ0JCUdldFBvcnQoJm9sZFBvcnQpOw0JCVNldFBvcnQoZHApOw0JCQ0JCVBh
cmFtVGV4dCgiXHBtZXNzYWdlcyIsIG5pbCwgbmlsLCBuaWwpOw0JCUdldERJdGVtKGRw
LCBISUxJVEVfWUVTX0lURU0sICZpdGVtX3R5cGUsICZpdGVtaCwgJnRyZWN0KTsNCQlT
ZXRESXRlbShkcCwgSElMSVRFX1lFU19JVEVNLCBpdGVtX3R5cGUsIChIYW5kbGUpIGhp
bGl0ZV9idXR0b24sICZ0cmVjdCk7DQ0JCVNob3dXaW5kb3coZHApOw0NCQl3aGlsZSAo
aXRlbV9oaXQgIT0gb2sgJiYgaXRlbV9oaXQgIT0gY2FuY2VsICYmIGl0ZW1faGl0ICE9
IE5PU0FWRV9JVEVNKQ0JCQlNb2RhbERpYWxvZyhudWxsc19maWx0ZXIsICZpdGVtX2hp
dCk7DQ0JCWlmIChkcCAhPSBOVUxMKQ0JCQlEaXNwb3NEaWFsb2coZHApOw0JCQ0JCVNl
dFBvcnQob2xkUG9ydCk7DQkJDQkJaWYgKGl0ZW1faGl0ID09IGNhbmNlbCkNCQkJcmV0
dXJuKDEpOw0JCWlmIChpdGVtX2hpdCA9PSBvaykgew0JCQlzYXZlX2xpc3RzKHdpcCk7
DQkJfQ0JfQ0NCWlmICh3aXAtPmRhdGEubGlzdC5saGFuZGxlICE9IE5VTEwpDQkJTERp
c3Bvc2Uod2lwLT5kYXRhLmxpc3QubGhhbmRsZSk7DQl3aXAtPndpbl90eXBlID0gRlJF
RV9XSU5ET1c7DQlyZXR1cm4oMCk7DX0NDXZvaWQgbGlzdF90ZXJtKHN0cnVjdCB3aW5f
aW5mbyAqd2lwKQ17DSNwcmFnbWEgdW51c2VkKHdpcCkNfQ0Ndm9pZCBzYXZlX2xpc3Rz
KHN0cnVjdCB3aW5faW5mbyAqd2lwKQ17DSNwcmFnbWEgdW51c2VkKHdpcCkNfQ0Ndm9p
ZCBsaXN0X2RyYXcoc3RydWN0IHdpbl9pbmZvICp3aXAsIFJnbkhhbmRsZSB2aXNfcmdu
KQ17DQlFcmFzZVJnbih2aXNfcmduKTsNICAgIERyYXdDb250cm9scyh3aXAtPndwKTsN
DSAgICBsaXN0X2RyYXdfZ3Jvdyh3aXApOw0NICAgIGRyYXdfaGVhZGVycyh3aXApOw0g
ICAgDSAgICBkcmF3X2FyX2luZGljYXRvcigpOw0NICAgIExVcGRhdGUodmlzX3Jnbiwg
d2lwLT5kYXRhLmxpc3QubGhhbmRsZSk7DX0NDXZvaWQgbGlzdF9tb3VzZShzdHJ1Y3Qg
d2luX2luZm8gKndpcCwgUG9pbnQgKndoZXJlcCkNew0JaW50IGRvdWJsZV9jbGljazsN
CXNob3J0IHBhcnQ7DQlDb250cm9sSGFuZGxlIGNvbnRyb2xfaGl0ID0gbmlsOw0NCWlm
ICh3aGVyZXAtPnYgPj0gQ0VMTF9UT1ApIHsNCQlkb3VibGVfY2xpY2sgPSBMQ2xpY2so
KndoZXJlcCwgZ0VSLm1vZGlmaWVycywgd2lwLT5kYXRhLmxpc3QubGhhbmRsZSk7DQkJ
aWYgKGRvdWJsZV9jbGljaykgew0JCQlsb3Blbl9jbWQoKTsNCQl9DQl9IGVsc2UgaWYg
KHBhcnQgPSBGaW5kQ29udHJvbCgqd2hlcmVwLHdpcC0+d3AsJmNvbnRyb2xfaGl0KSkg
ew0JCWlmIChjb250cm9sX2hpdCA9PSB3aXAtPmRhdGEubGlzdC5sZGVsX2J1dHRvbiB8
fA0JCSAgICBjb250cm9sX2hpdCA9PSB3aXAtPmRhdGEubGlzdC5scmVwbHlfYnV0dG9u
IHx8DQkJCWNvbnRyb2xfaGl0ID09IHdpcC0+ZGF0YS5saXN0LmxvcGVuX2J1dHRvbikg
ew0JCQlpZiAoVHJhY2tDb250cm9sKGNvbnRyb2xfaGl0LCAqd2hlcmVwLCAgbmlsKSkg
ew0JCQkgICAgaWYgKGNvbnRyb2xfaGl0ID09IHdpcC0+ZGF0YS5saXN0LmxkZWxfYnV0
dG9uKSB7DQkJCQkJbGRlbF9jbWQoKTsNCQkJCX0NCQkJICAgIGVsc2UgaWYgKGNvbnRy
b2xfaGl0ID09IHdpcC0+ZGF0YS5saXN0LmxvcGVuX2J1dHRvbikgew0JCQkJCWxvcGVu
X2NtZCgpOw0JCQkJfQ0JCQkgICAgZWxzZSBpZiAoY29udHJvbF9oaXQgPT0gd2lwLT5k
YXRhLmxpc3QubHJlcGx5X2J1dHRvbikgew0JCQkJCWxyZXBseV9jbWQoKTsNCQkJCX0N
CQkJfQ0JCX0NCX0NfQ0Ndm9pZCBsaXN0X2FjdGl2YXRlKHN0cnVjdCB3aW5faW5mbyAq
d2lwKQ17DQlSZWN0IHRyZWN0Ow0gICAgDSAJU0VUUkVDVCgmdHJlY3QsIHdpcC0+d2lu
ZG93X3NpemUuaCAtIDE1LCBDRUxMX1RPUCwgd2lwLT53aW5kb3dfc2l6ZS5oLCB3aXAt
PndpbmRvd19zaXplLnYgLSAxNSk7DQlMQWN0aXZhdGUodHJ1ZSwgd2lwLT5kYXRhLmxp
c3QubGhhbmRsZSk7DQlpZiAoY2hlY2tfbGlzdF9zZWwod2lwKSA9PSB0cnVlKSB7DQkJ
SGlsaXRlQ29udHJvbCh3aXAtPmRhdGEubGlzdC5sZGVsX2J1dHRvbiwgMCk7DQkJSGls
aXRlQ29udHJvbCh3aXAtPmRhdGEubGlzdC5scmVwbHlfYnV0dG9uLCAwKTsNCQlIaWxp
dGVDb250cm9sKHdpcC0+ZGF0YS5saXN0LmxvcGVuX2J1dHRvbiwgMCk7DQl9DQlsaXN0
X2RyYXdfZ3Jvdyh3aXApOw0JSW52YWxSZWN0KCZ0cmVjdCk7DQlyZW1vdmVfbm90aWZ5
KCk7DX0NDXZvaWQgbGlzdF9kZWFjdGl2YXRlKHN0cnVjdCB3aW5faW5mbyAqd2lwKQ17
DQlMQWN0aXZhdGUoZmFsc2UsIHdpcC0+ZGF0YS5saXN0LmxoYW5kbGUpOw0JSGlsaXRl
Q29udHJvbCh3aXAtPmRhdGEubGlzdC5sZGVsX2J1dHRvbiwgMjU1KTsNCUhpbGl0ZUNv
bnRyb2wod2lwLT5kYXRhLmxpc3QubHJlcGx5X2J1dHRvbiwgMjU1KTsNCUhpbGl0ZUNv
bnRyb2wod2lwLT5kYXRhLmxpc3QubG9wZW5fYnV0dG9uLCAyNTUpOw0JbGlzdF9kcmF3
X2dyb3cod2lwKTsNfQ0Ndm9pZCBsaXN0X3Jlc2l6ZShzdHJ1Y3Qgd2luX2luZm8gKndp
cCwgUG9pbnQgKm5ld19zaXplKQ17DQlSZWN0IHNyZWN0Ow0NCXdpcC0+d2luZG93X3Np
emUgPSAqbmV3X3NpemU7DQkNCVNpemVXaW5kb3cod2lwLT53cCwgd2lwLT53aW5kb3df
c2l6ZS5oLCB3aXAtPndpbmRvd19zaXplLnYsIHRydWUpOw0JTFNpemUod2lwLT53aW5k
b3dfc2l6ZS5oLTE1LHdpcC0+d2luZG93X3NpemUudi0xNS1DRUxMX1RPUCx3aXAtPmRh
dGEubGlzdC5saGFuZGxlKTsNCVNFVFJFQ1QoJnNyZWN0LCAwLCB3aXAtPndpbmRvd19z
aXplLnYtMTUsIHdpcC0+d2luZG93X3NpemUuaCwgd2lwLT53aW5kb3dfc2l6ZS52KTsN
CQ0JLyogSW52YWxpZGF0ZSB3aG9sZSB3aW5kb3cgc28gdGhlIGxpc3Qgd2lsbCByZXNp
emUgKi8NCUludmFsUmduKHdpcC0+d3AtPnZpc1Jnbik7DQkvKkludmFsUmVjdCgmc3Jl
Y3QpOyovDX0NDXZvaWQgbGlzdF9rZXkoc3RydWN0IHdpbl9pbmZvICp3aXAsIGNoYXIg
YykNew0JQ2VsbCBjZWxsOw0JTGlzdEhhbmRsZSBsaGFuZGxlID0gbmlsOw0Jc2hvcnQg
bGltaXQsIGRlbHRhOw0JIA0JaWYgKGMgPT0gQlNfS0VZKSB7DQkJY2VsbC5oID0gMDsN
CQljZWxsLnYgPSAwOw0JICAJbGhhbmRsZSA9IHdpcC0+ZGF0YS5saXN0LmxoYW5kbGU7
DQkJaWYgKExHZXRTZWxlY3QodHJ1ZSwgJmNlbGwsIHdpcC0+ZGF0YS5saXN0LmxoYW5k
bGUpKQ0JCQlsZGVsX2NtZCgpOw0JfQ0JDQlpZiAoYyA9PSBSRVRVUk5fS0VZIHx8IGMg
PT0gRU5URVJfS0VZKSB7DQkJY2VsbC5oID0gMDsNCQljZWxsLnYgPSAwOw0JICAJbGhh
bmRsZSA9IHdpcC0+ZGF0YS5saXN0LmxoYW5kbGU7DQkJaWYgKExHZXRTZWxlY3QodHJ1
ZSwgJmNlbGwsIHdpcC0+ZGF0YS5saXN0LmxoYW5kbGUpKQ0JCQlsb3Blbl9jbWQoKTsN
CX0NCQ0JaWYgKGMgPT0gUEFHRV9VUF9LRVkpIHsNCSAgCWxoYW5kbGUgPSB3aXAtPmRh
dGEubGlzdC5saGFuZGxlOw0JCWRlbHRhID0gKCoqbGhhbmRsZSkudmlzaWJsZS5ib3R0
b20gLSAoKipsaGFuZGxlKS52aXNpYmxlLnRvcCAtIDE7DQkJTFNjcm9sbCgwLC1kZWx0
YSxsaGFuZGxlKTsNCX0NCQ0JaWYgKGMgPT0gUEFHRV9ET1dOX0tFWSkgew0JICAJbGhh
bmRsZSA9IHdpcC0+ZGF0YS5saXN0LmxoYW5kbGU7DQkJZGVsdGEgPSAoKipsaGFuZGxl
KS52aXNpYmxlLmJvdHRvbSAtICgqKmxoYW5kbGUpLnZpc2libGUudG9wIC0gMTsNCQlM
U2Nyb2xsKDAsZGVsdGEsbGhhbmRsZSk7DQl9DQkNCWlmIChjID09IEhPTUVfS0VZKSB7
DQkgIAlsaGFuZGxlID0gd2lwLT5kYXRhLmxpc3QubGhhbmRsZTsNCQlMU2Nyb2xsKDAs
LU1BWF9aV0dDLGxoYW5kbGUpOw0JfQ0NCWlmIChjID09IEVORF9LRVkpIHsNCSAgCWxo
YW5kbGUgPSB3aXAtPmRhdGEubGlzdC5saGFuZGxlOw0JCUxTY3JvbGwoMCxNQVhfWldH
QyxsaGFuZGxlKTsNCX0NCQ0JaWYgKGMgPT0gVVBfQVJST1cpIHsNCQljZWxsLmggPSAw
Ow0JCWNlbGwudiA9IDA7DQkJbGhhbmRsZSA9IHdpcC0+ZGF0YS5saXN0LmxoYW5kbGU7
DQ0JCWlmIChMR2V0U2VsZWN0KHRydWUsICZjZWxsLCB3aXAtPmRhdGEubGlzdC5saGFu
ZGxlKSAmJiBjZWxsLnYgPiAwKSB7DQkJCWNlbGwudi0tOw0JCQlMU2V0U2VsZWN0KHRy
dWUsIGNlbGwsIGxoYW5kbGUpOw0JCQlpZiAoY2VsbC52IDwgKCoqbGhhbmRsZSkudmlz
aWJsZS50b3AgfHwgY2VsbC52ID49ICgqKmxoYW5kbGUpLnZpc2libGUuYm90dG9tKSB7
DQkJCQlMU2Nyb2xsKDAsIGNlbGwudiAtICgqKmxoYW5kbGUpLnZpc2libGUudG9wLCBs
aGFuZGxlKTsNCQkJfQ0JCQlpZiAoKGdFUi5tb2RpZmllcnMgJiBzaGlmdEtleSkgPT0g
MCkgew0JCQkJY2VsbC52Kys7DQkJCQl3aGlsZSAoTEdldFNlbGVjdCh0cnVlLCAmY2Vs
bCwgd2lwLT5kYXRhLmxpc3QubGhhbmRsZSkpIHsNCQkJCQlMU2V0U2VsZWN0KGZhbHNl
LCBjZWxsLCB3aXAtPmRhdGEubGlzdC5saGFuZGxlKTsNCQkJCQljZWxsLnYrKzsNCQkJ
CX0NCQkJfQ0JCX0NCX0gZWxzZSBpZiAoYyA9PSBET1dOX0FSUk9XKSB7DQkJY2VsbC5o
ID0gMDsNCQljZWxsLnYgPSAwOw0JCWxoYW5kbGUgPSB3aXAtPmRhdGEubGlzdC5saGFu
ZGxlOw0JICANCQl3aGlsZSAoTEdldFNlbGVjdCh0cnVlLCAmY2VsbCwgbGhhbmRsZSkp
DQkJCWNlbGwudisrOw0JCWlmIChjZWxsLnYgPiAwICYmIGNlbGwudiA8ICgqKmxoYW5k
bGUpLmRhdGFCb3VuZHMuYm90dG9tKSB7DQkJCUxTZXRTZWxlY3QodHJ1ZSwgY2VsbCwg
bGhhbmRsZSk7DQkJCWlmIChjZWxsLnYgPj0gKCoqbGhhbmRsZSkudmlzaWJsZS5ib3R0
b20gfHwgY2VsbC52IDwgKCoqbGhhbmRsZSkudmlzaWJsZS50b3ApDQkJCQlMU2Nyb2xs
KDAsIGNlbGwudiAtICgqKmxoYW5kbGUpLnZpc2libGUuYm90dG9tICsgMSwgbGhhbmRs
ZSk7DQkJCWlmICgoZ0VSLm1vZGlmaWVycyAmIHNoaWZ0S2V5KSA9PSAwKSB7DQkJCQls
aW1pdCA9IGNlbGwudjsNCQkJCWNlbGwudiA9IDA7DQkJICAJCXdoaWxlIChMR2V0U2Vs
ZWN0KHRydWUsICZjZWxsLCBsaGFuZGxlKSAmJiBjZWxsLnYgPCBsaW1pdCkgew0JCQkJ
CUxTZXRTZWxlY3QoZmFsc2UsIGNlbGwsIGxoYW5kbGUpOw0JCQkJCWNlbGwudisrOw0J
CQkJfQ0JCQl9DQkJfQ0JfQ19DQ12b2lkIGxpc3RfcmVzY2FuKHN0cnVjdCB3aW5faW5m
byAqd2lwKQ17DQlSZWN0IHRyZWN0Ow0JR3JhZlB0ciBvbGRQb3J0Ow0NCUdldFBvcnQo
Jm9sZFBvcnQpOw0JU2V0UG9ydCh3aXAtPndwKTsNCUxEb0RyYXcoZmFsc2UsIHdpcC0+
ZGF0YS5saXN0LmxoYW5kbGUpOw0NCXNldF9saXN0ZGF0YSh3aXApOw0NCUxEb0RyYXco
dHJ1ZSwgd2lwLT5kYXRhLmxpc3QubGhhbmRsZSk7DQ0JU0VUUkVDVCgmdHJlY3QsIDAs
IDAsIHdpcC0+d2luZG93X3NpemUuaCwgd2lwLT53aW5kb3dfc2l6ZS52LTE1KTsNCUlu
dmFsUmVjdCgmdHJlY3QpOw0JDQlTZXRQb3J0KG9sZFBvcnQpOw19DQ0vKiAgIGxpc3Rf
c2Nyb2xsX2hpZ2hlc3Rfc2VlbiAoKSAtLSBSb3V0aW5lIHRvIHNjcm9sbCBhIGxpc3Qg
d2luZG93DSAqCQl0byBoYXZlIHRoZSBoaWdoZXN0X3NlZW4gdHJhbnNhY3Rpb24gYmUg
b24gdG9wLiAqLw12b2lkIGxpc3Rfc2Nyb2xsX2hpZ2hlc3Rfc2VlbihzdHJ1Y3Qgd2lu
X2luZm8gKndpcCkNew0jcHJhZ21hIHVudXNlZCh3aXApDX0NDXZvaWQgbGlzdF9pZGxl
KHN0cnVjdCB3aW5faW5mbyAqd2lwKQ17DSNwcmFnbWEgdW51c2VkKHdpcCkNDQlTaG93
QXJyb3coKTsNfQ0NI2RlZmluZSBBUl9JTkRfWF9PRkYgMjQwDSNkZWZpbmUgQVJfSU5E
X1lfT0ZGIDEyDQ12b2lkIGRyYXdfYXJfaW5kaWNhdG9yKHZvaWQpDXsNCWludCB3aWR0
aDsNCVJlY3QgcjsNCUdyYWZQdHIgb2xkUG9ydDsNCXN0cnVjdCB3aW5faW5mbyAqd2lw
ID0gTlVMTDsNCXNob3J0IG9sZFRleHRTaXplOw0JDQl3aXAgPSBmaW5kX3dpbmRvdyhM
SVNUX1dJTkRPVyk7DQlpZiAod2lwID09IE5VTEwpDQkJcmV0dXJuOw0JCQ0JR2V0UG9y
dCgmb2xkUG9ydCk7DQlTZXRQb3J0KHdpcC0+d3ApOw0JDQlvbGRUZXh0U2l6ZSA9IHdp
cC0+d3AtPnR4U2l6ZTsNCVRleHRTaXplKDkpOw0JDQl3aWR0aCA9IFN0cmluZ1dpZHRo
KEFSX09OX1NUUik7DQlpZiAoZ0F1dG9SZXBseUZsYWcpIHsNCQlyID0gKCp3aXAtPndw
KS5wb3J0UmVjdDsNCQlNb3ZlVG8oci5sZWZ0ICsgQVJfSU5EX1hfT0ZGLCByLnRvcCAr
IEFSX0lORF9ZX09GRik7DQkJRHJhd1N0cmluZyhBUl9PTl9TVFIpOw0JfSBlbHNlIHsN
CQlTRVRSRUNUKCZyLCAoKndpcC0+d3ApLnBvcnRSZWN0LmxlZnQgKyBBUl9JTkRfWF9P
RkYsICgqd2lwLT53cCkucG9ydFJlY3QudG9wLA0JCQkoKndpcC0+d3ApLnBvcnRSZWN0
LmxlZnQgKyBBUl9JTkRfWF9PRkYgKyB3aWR0aCArIDIsKCp3aXAtPndwKS5wb3J0UmVj
dC50b3AgKyBBUl9JTkRfWV9PRkYpOw0JCUVyYXNlUmVjdCgmcik7DQl9DQkNCVRleHRT
aXplKG9sZFRleHRTaXplKTsNCQ0JU2V0UG9ydChvbGRQb3J0KTsNfQ0Nc3RhdGljIHZv
aWQgZHJhd19oZWFkZXJzKHN0cnVjdCB3aW5faW5mbyAqd2lwKQ17DQlHcmFmUHRyIG9s
ZFBvcnQ7DQkNCUdldFBvcnQoJm9sZFBvcnQpOw0JU2V0UG9ydCh3aXAtPndwKTsNCQ0J
LyogRHJhdyBsaW5lcyAqLw0JUGVuTm9ybWFsKCk7DQlNb3ZlVG8oMCwgSEVBREVSX1RP
UC0xKTsNCUxpbmVUbyh3aXAtPndpbmRvd19zaXplLmgsIEhFQURFUl9UT1AtMSk7DQ0J
TW92ZVRvKDAsIENFTExfVE9QLTEpOw0JTGluZVRvKHdpcC0+d2luZG93X3NpemUuaCwg
Q0VMTF9UT1AtMSk7DQ0JVGV4dEZvbnQoZ2VuZXZhKTsNDQlNb3ZlVG8oQ0xBU1NfWCwg
SEVBREVSX1RFWFQpOw0JRHJhd1N0cmluZygiXHBjbGFzczppbnN0YW5jZTpyZWNpcGll
bnQ6c2VuZGVyOm1lc3NhZ2UiKTsNCS8qIFVzZWQgdG8gZHJhdyBhdXRoZW50aWNhdGlv
biBpbmZvIGluIHRoZSBsaXN0IHdpbmRvdywgYnV0IGRlY2lkZWQgaXQgY2x1dHRlcmVk
DQkgICBtb3JlIHRoYW4gaXQgaW5mb3JtZWQuICovDQkvKg0JRHJhd1N0cmluZygiXHBh
dXRoOmNsYXNzOmluc3RhbmNlOnRvOnNlbmRlcjptZXNzYWdlIik7DQkqLw0JDQlTZXRQ
b3J0KG9sZFBvcnQpOw19DQ1zdGF0aWMgaW50IGxpc3RfZHJhd19ncm93KHN0cnVjdCB3
aW5faW5mbyAqd2lwKQ17DQlSZ25IYW5kbGUgdXBkYXRlX3JnbiA9IG5pbCwgc2F2ZV9j
bGlwX3JnbiA9IG5pbDsNCVJlY3QgdHJlY3Q7DQlHcmFmUHRyIG9sZFBvcnQ7DQkNCUdl
dFBvcnQoJm9sZFBvcnQpOw0JU2V0UG9ydCh3aXAtPndwKTsNCVNFVFJFQ1QoJnRyZWN0
LCAwLCBDRUxMX1RPUCwgd2lwLT53aW5kb3dfc2l6ZS5oLCB3aXAtPndpbmRvd19zaXpl
LnYpOw0NCXNhdmVfY2xpcF9yZ24gPSBOZXdSZ24oKTsNCWlmIChzYXZlX2NsaXBfcmdu
ID09IE5VTEwpIHsNCQlEb1Byb2NNZW1FcnJvcigibGlzdF9kcmF3X2dyb3ciKTsNCQly
ZXR1cm4oRkFMU0UpOw0JfQ0JdXBkYXRlX3JnbiA9IE5ld1JnbigpOw0JaWYgKHVwZGF0
ZV9yZ24gPT0gTlVMTCkgew0JCURvUHJvY01lbUVycm9yKCJsaXN0X2RyYXdfZ3JvdyIp
Ow0JCXJldHVybihGQUxTRSk7DQl9DQ0JR2V0Q2xpcChzYXZlX2NsaXBfcmduKTsNCVJl
Y3RSZ24odXBkYXRlX3JnbiwgJnRyZWN0KTsNCVNldENsaXAodXBkYXRlX3Jnbik7DQ0J
RHJhd0dyb3dJY29uKHdpcC0+d3ApOw0NCVNldENsaXAoc2F2ZV9jbGlwX3Jnbik7DQlp
ZiAoc2F2ZV9jbGlwX3JnbiAhPSBOVUxMKQ0JCURpc3Bvc2VSZ24oc2F2ZV9jbGlwX3Jn
bik7DQlpZiAodXBkYXRlX3JnbiAhPSBOVUxMKQ0JCURpc3Bvc2VSZ24odXBkYXRlX3Jn
bik7DQ0JU2V0UG9ydChvbGRQb3J0KTsNCQ0JcmV0dXJuKFRSVUUpOw19DQ1zdGF0aWMg
dm9pZCBzZXRfbGlzdF9pbnQoTGlzdEhhbmRsZSBsaGFuZGxlLCBpbnQgaSkNew0gCUNl
bGwgY2VsbDsNCWludCBqLCBjZWxsX2xlbiwgY2VsbF9pbmR4LCBoZWFkZXJfbGVuOw0J
Y2hhciBjZWxsX2RhdGFbNTEyXSA9ICJcMCI7DQkNCWNlbGwuaCA9IDA7DSAgICBjZWxs
LnYgPSAoc2hvcnQpaTsNCQkNCWNlbGxfaW5keCA9IDA7DQkJDQlITG9jaygoSGFuZGxl
KWdXb3BySGFuZGxlc1tpXSk7DQlITG9jaygoKipnV29wckhhbmRsZXNbaV0pLmNsYXNz
X3RleHQpOw0JSExvY2soKCoqZ1dvcHJIYW5kbGVzW2ldKS5pbnN0YW5jZV90ZXh0KTsN
CUhMb2NrKCgqKmdXb3BySGFuZGxlc1tpXSkucmVjaXBpZW50X3RleHQpOw0JSExvY2so
KCoqZ1dvcHJIYW5kbGVzW2ldKS5zZW5kZXJfdGV4dCk7DQlITG9jaygoKipnV29wckhh
bmRsZXNbaV0pLm9wY29kZV90ZXh0KTsNCUhMb2NrKCgqKmdXb3BySGFuZGxlc1tpXSku
c2lnX3RleHQpOw0JDQkvKiBDaGVjayBmb3Igc3BlY2lhbCBjYXNlIG9wY29kZXMuICBJ
biB0aGVzZSBjYXNlcyB3ZSdsbCBicmVhayB0aGUgc3RhbmRhcmQNCSAgIHBhdHRlcm4g
dG8gZGlzcGxheSBzcGVjaWFsIGhlYWRlcnMgZm9yIHRoZSBsaXN0IHZpZXcgKHdoaWNo
IGFyZSBzaW1pbGFyDQkgICB0byB3aGF0IGFuIEF0aGVuYSAuendnYy5kZXNjIHdvdWxk
IGRpc3BsYXkuICovDQlpZiAoIXN0cmNtcCgqKCoqZ1dvcHJIYW5kbGVzW2ldKS5vcGNv
ZGVfdGV4dCxMT0dJTl9VU0VSX0xPR0lOKSkgew0JCXNwcmludGYoY2VsbF9kYXRhLCJM
T0dJTjogJXMgbG9nZ2VkIGluIG9uICVzIGF0ICIsKigqKmdXb3BySGFuZGxlc1tpXSku
c2VuZGVyX3RleHQsDQkJCSAgICAqKCoqZ1dvcHJIYW5kbGVzW2ldKS5zaWdfdGV4dCk7
DQl9IGVsc2UgaWYgKCFzdHJjbXAoKigqKmdXb3BySGFuZGxlc1tpXSkub3Bjb2RlX3Rl
eHQsTE9HSU5fVVNFUl9MT0dPVVQpKSB7DQkJc3ByaW50ZihjZWxsX2RhdGEsIkxPR09V
VDogJXMgbG9nZ2VkIG91dCBvbiAlcyBhdCAiLCooKipnV29wckhhbmRsZXNbaV0pLnNl
bmRlcl90ZXh0LA0JCQkgICAgKigqKmdXb3BySGFuZGxlc1tpXSkuc2lnX3RleHQpOw0J
fSBlbHNlIGlmICghc3RyY21wKCooKipnV29wckhhbmRsZXNbaV0pLm9wY29kZV90ZXh0
LFNFUlZFUl9QSU5HKSkgew0JCXNwcmludGYoY2VsbF9kYXRhLCJQSU5HIGZyb20gdXNl
ciAnJXMnLiIsKigqKmdXb3BySGFuZGxlc1tpXSkuc2VuZGVyX3RleHQpOw0JfSBlbHNl
IHsNCQlzcHJpbnRmKGNlbGxfZGF0YSwiJXM6JXM6JXM6JXM6IiwNCQkJCSooKipnV29w
ckhhbmRsZXNbaV0pLmNsYXNzX3RleHQsICooKipnV29wckhhbmRsZXNbaV0pLmluc3Rh
bmNlX3RleHQsIA0JCQkJKigqKmdXb3BySGFuZGxlc1tpXSkucmVjaXBpZW50X3RleHQs
KigqKmdXb3BySGFuZGxlc1tpXSkuc2VuZGVyX3RleHQpOw0JCS8qIFVzZWQgdG8gZHJh
dyBhdXRoZW50aWNhdGlvbiBpbmZvIGluIHRoZSBsaXN0IHdpbmRvdywgYnV0IGRlY2lk
ZWQgaXQgY2x1dHRlcmVkDQkJICAgbW9yZSB0aGFuIGl0IGluZm9ybWVkLiAqLw0JCS8q
DQkJc3ByaW50ZihjZWxsX2RhdGEsIiVzOiVzOiVzOiVzOiVzOiIsICgqKmdXb3BySGFu
ZGxlc1tpXSkuYXV0aD8iQSI6IlVBIiwNCQkJCSooKipnV29wckhhbmRsZXNbaV0pLmNs
YXNzX3RleHQsICooKipnV29wckhhbmRsZXNbaV0pLmluc3RhbmNlX3RleHQsIA0JCQkJ
KigqKmdXb3BySGFuZGxlc1tpXSkucmVjaXBpZW50X3RleHQsKigqKmdXb3BySGFuZGxl
c1tpXSkuc2VuZGVyX3RleHQpOw0JCSovDQl9DQ0JSFVubG9jaygoSGFuZGxlKWdXb3By
SGFuZGxlc1tpXSk7DQlIVW5sb2NrKCgqKmdXb3BySGFuZGxlc1tpXSkuY2xhc3NfdGV4
dCk7DQlIVW5sb2NrKCgqKmdXb3BySGFuZGxlc1tpXSkuaW5zdGFuY2VfdGV4dCk7DQlI
VW5sb2NrKCgqKmdXb3BySGFuZGxlc1tpXSkucmVjaXBpZW50X3RleHQpOw0JSFVubG9j
aygoKipnV29wckhhbmRsZXNbaV0pLnNlbmRlcl90ZXh0KTsNCUhVbmxvY2soKCoqZ1dv
cHJIYW5kbGVzW2ldKS5vcGNvZGVfdGV4dCk7DQlIVW5sb2NrKCgqKmdXb3BySGFuZGxl
c1tpXSkuc2lnX3RleHQpOw0JCQkNCWhlYWRlcl9sZW4gPSBzdHJsZW4oY2VsbF9kYXRh
KTsNCQkNCWlmIChoZWFkZXJfbGVuID49IENFTExfQ0hBUlMpDQkJY2VsbF9kYXRhW0NF
TExfQ0hBUlMgLSAxXSA9ICdcMCc7DQllbHNlIHsNCQlITG9jaygoKipnV29wckhhbmRs
ZXNbaV0pLm1lc3NhZ2VfdGV4dCk7DQkJc3RybmNhdChjZWxsX2RhdGEsKGNoYXIgKikg
KigqKmdXb3BySGFuZGxlc1tpXSkubWVzc2FnZV90ZXh0LENFTExfQ0hBUlMgLSBoZWFk
ZXJfbGVuKTsNCQlIVW5sb2NrKCgqKmdXb3BySGFuZGxlc1tpXSkubWVzc2FnZV90ZXh0
KTsNCQljZWxsX2xlbiA9IHN0cmxlbihjZWxsX2RhdGEpOw0JfQ0JCQ0JaWYgKGNlbGwu
diA+PSAoKipsaGFuZGxlKS5kYXRhQm91bmRzLmJvdHRvbSkgDQkJTEFkZFJvdygxLCAo
KipsaGFuZGxlKS5kYXRhQm91bmRzLmJvdHRvbSwgbGhhbmRsZSk7DQ0JZm9yIChqPTA7
IGo8IGNlbGxfbGVuLTE7ICsraikgew0JCWlmIChjZWxsX2RhdGFbal0gPT0gJ1xuJykN
CQkJY2VsbF9kYXRhW2pdID0gJ6YnOyAvKifCJzsqLw0JfQ0JCQ0JTFNldENlbGwoY2Vs
bF9kYXRhLGNlbGxfbGVuLGNlbGwsbGhhbmRsZSk7DX0NDXZvaWQgc2V0X2xpc3RkYXRh
KHN0cnVjdCB3aW5faW5mbyAqd2lwKQ17DQlMaXN0SGFuZGxlIGxoYW5kbGUgPSBuaWw7
DQlpbnQgaTsNCUdyYWZQdHIgb2xkUG9ydDsNCQ0JR2V0UG9ydCgmb2xkUG9ydCk7DQlT
ZXRQb3J0KHdpcC0+d3ApOw0JIA0JU2hvd1dhdGNoKCk7DQ0JbGhhbmRsZSA9IHdpcC0+
ZGF0YS5saXN0LmxoYW5kbGU7DQkgDQlmb3IgKGk9MDsgaTwgZ1dvcHJJbmRleDsgaSsr
KSB7DQkJc2V0X2xpc3RfaW50KGxoYW5kbGUsaSk7DQl9DQkNCVNob3dBcnJvdygpOw0J
DQlTZXRQb3J0KG9sZFBvcnQpOw19DQ12b2lkIGFkZF96d2djX2xpc3Qoc3RydWN0IHdp
bl9pbmZvICp3aXApDXsNICAgIExpc3RIYW5kbGUgbGhhbmRsZSA9IG5pbDsNCUJvb2xl
YW4gc2Nyb2xsZG93bjsNCUdyYWZQdHIgb2xkUG9ydDsNCXNob3J0IGJvdHRvbTsNCUNl
bGwgY2VsbFRvU2VsZWN0Ow0JCQ0JR2V0UG9ydCgmb2xkUG9ydCk7DQlTZXRQb3J0KHdp
cC0+d3ApOw0JDQlsaGFuZGxlID0gd2lwLT5kYXRhLmxpc3QubGhhbmRsZTsNCWJvdHRv
bSA9ICgqKmxoYW5kbGUpLmRhdGFCb3VuZHMuYm90dG9tOw0gICAgDSAgICAvKiBlc3Rh
Ymxpc2ggaWYgd2UncmUgYXQgdGhlIGJvdHRvbSByaWdodCBub3csIGJlZm9yZSB3ZSBh
ZGQgYSBuZXcgbWVzc2FnZTsNICAgICAgIGlmIHdlIGFyZSwgd2Ugc2hvdWxkIHNjcm9s
bCBkb3duIHdoZW4gd2UgYWRkIHRoZSBuZXcgbWVzc2FnZSAqLw0Jc2Nyb2xsZG93biA9
IChHZXRDdGxWYWx1ZSgoKipsaGFuZGxlKS52U2Nyb2xsKSA9PSBHZXRDdGxNYXgoKCoq
bGhhbmRsZSkudlNjcm9sbCkpOw0JDQl3aGlsZSAoKGJvdHRvbSA+IE1BWF9aV0dDKSB8
fCAoRnJlZU1lbSgpIDwgIE1FTV9CVUYpKSB7DQkJcmVtb3ZlX3JvdyhsaGFuZGxlLDAs
dHJ1ZSk7DQkJYm90dG9tID0gKCoqbGhhbmRsZSkuZGF0YUJvdW5kcy5ib3R0b207DQl9
DQ0Jc2V0X2xpc3RfaW50KGxoYW5kbGUsIGdXb3BySW5kZXggLSAxKTsNCQ0JLyogaWYg
c2Nyb2xsZG93biBpcyBUUlVFLCB3ZSBzaG91bGQgc2Nyb2xsIGRvd24gYmVjYXVzZSB3
ZSdyZSBhdCB0aGUgYm90dG9tIGFscmVhZHk7DQkgICBpZiBpdCdzIEZBTFNFLCB0aGF0
IG1lYW4ncyB3ZSdyZSBsb29raW5nIGF0IHNvbWV0aGluZyB0aGF0IGlzIGFib3ZlIHRo
ZSBib3R0b20gb2YNCSAgIHRoZSBMSVNUIHdpbmRvdywgc28gd2UgbWlnaHQgYmUgcmVh
ZGluZyBpdCwgc28gd2UgZG9uJ3Qgd2FudCB0byBqdW1wIHRvIHRoZSBib3R0b20gKi8N
CWlmIChzY3JvbGxkb3duKQ0JCUxTY3JvbGwoMCxNQVhfWldHQyxsaGFuZGxlKTsNDQkv
KiBzZWxlY3QgdGhpcyBuZXcgbWVzc2FnZSBpZiBzb21ldGhpbmcgZWxzZSBpc24ndCBh
bHJlYWR5IHNlbGVjdGVkICovDQlpZiAoY2hlY2tfbGlzdF9zZWwod2lwKSA9PSBGQUxT
RSkgew0JCWNlbGxUb1NlbGVjdC5oID0gMDsNCQljZWxsVG9TZWxlY3QudiA9ICgqKmxo
YW5kbGUpLmRhdGFCb3VuZHMuYm90dG9tIC0gMTsNCQlMU2V0U2VsZWN0KHRydWUsY2Vs
bFRvU2VsZWN0LGxoYW5kbGUpOw0JCWhpbGl0ZV9tZW51cygpOyAvKiBhY3RpdmF0ZSBt
ZW51cyBhbmQgYnV0dG9ucyB0aGF0IGNhbiBhZmZlY3QgYSBoaWxpdGVkIG1lc3NhZ2Vz
ICovDQl9DQ0JU2V0UG9ydChvbGRQb3J0KTsNfQ0NLyogQ2hlY2sgdG8gc2VlIGlmIGFu
eSBlbnRyeSBpbiB0aGUgbGlzdCBpcyBzZWxlY3RlZC4gIFJldHVybnMgVFJVRSBpZiB0
aGVyZSBpcywNICAgRkFMU0UgaWYgdGhlcmUgaXNuJ3QuICovDWludCBjaGVja19saXN0
X3NlbChzdHJ1Y3Qgd2luX2luZm8gKndpcCkNew0JTGlzdEhhbmRsZSBsaGFuZGxlID0g
bmlsOw0JQ2VsbCBjZWxsOw0NCWlmICh3aXAtPndpbl90eXBlICE9IExJU1RfV0lORE9X
KQ0JCXJldHVybihGQUxTRSk7DQ0JbGhhbmRsZSA9IHdpcC0+ZGF0YS5saXN0LmxoYW5k
bGU7DQlTRVRQT0lOVCgmY2VsbCwgMCwgMCk7DQlyZXR1cm4oTEdldFNlbGVjdCh0cnVl
LCAmY2VsbCwgbGhhbmRsZSkpOyANfQ0NLyogUmVtb3ZlIGEgbGlzdCBlbnRyeSAocm93
KSBmcm9tIHRoZSBsaXN0IHdpbmRvdywgZGVsZXRlIHRoZSBhc3NvY2lhdGVkIHdvcHIs
IGFuZA0gICB1cGRhdGUgdGhlIGdXb3BySGFuZGxlcyBzbyB0aGV5IHN0YXkgaW4gc3lu
YyB3aXRoIHRoZSBsaXN0IGVudHJpZXMuICovDXZvaWQgcmVtb3ZlX3JvdyhMaXN0SGFu
ZGxlIGhfbGlzdCwgaW50IHRoZV9yb3csIEJvb2xlYW4gZGlzcG9zX2ZsYWcpDXsNCWlu
dCBpOw0JDQlMRGVsUm93KDEsdGhlX3JvdyxoX2xpc3QpOw0JDQlpZiAoZGlzcG9zX2Zs
YWcgPT0gdHJ1ZSkNCQlEaXNwb3NfV29wcl9IYW5kbGVzKGdXb3BySGFuZGxlc1t0aGVf
cm93XSk7DQ0JDQlmb3IgKGk9dGhlX3JvdyA7IGk8Z1dvcHJJbmRleDsgKytpKQ0JCWdX
b3BySGFuZGxlc1tpXSA9IGdXb3BySGFuZGxlc1tpKzFdOw0JDQlpZiAoZ1dvcHJJbmRl
eCAhPTApDQkJZ1dvcHJJbmRleC0tOw19DQ12b2lkIGxvcGVuX2NtZCh2b2lkKQ17DQlX
aW5kb3dQdHIgZndwID0gbmlsOw0Jc3RydWN0IHdpbl9pbmZvICp3aXAgPSBuaWw7DQlz
dHJ1Y3Qgd2luX2luZm8gKm5ld193aXA9IG5pbDsNCUNlbGwgY2VsbCwgbGFzdFNlbGVj
dGVkQ2VsbDsNCUxpc3RIYW5kbGUgbGhhbmRsZSA9IG5pbDsNCWludCBpOw0JY2hhciB0
aXRsZXRleHRbMjU2XSA9ICJcMCI7DQkJDQlmd3AgPSBGcm9udFdpbmRvdygpOw0JaWYg
KGZ3cCA9PSBOVUxMKSB7DQkJcmV0dXJuOw0JfQ0NCXdpcCA9ICZ3aVtHZXRXUmVmQ29u
KGZ3cCldOw0JaWYgKHdpcC0+d2luX3R5cGUgIT0gTElTVF9XSU5ET1cpIHsNCQlyZXR1
cm47DQl9DQkJDQlTaG93V2F0Y2goKTsNDQlsaGFuZGxlID0gd2lwLT5kYXRhLmxpc3Qu
bGhhbmRsZTsNCWNlbGwuaCA9IDA7DQljZWxsLnYgPSAwOw0Jd2hpbGUgKExHZXRTZWxl
Y3QodHJ1ZSwgJmNlbGwsIGxoYW5kbGUpKSB7DQkJLyogY2hlY2sgdG8gbWFrZSBzdXJl
IGEgendnYyB3aW5kb3cgY29ycmVzcG9uZGluZyB0byB0aGlzIGxpc3QgZW50cnkgaXNu
J3QgYWxyZWFkeSBvcGVuICovDQkJZm9yIChpID0gMDsgaSA8IE1BWF9XSU5ET1dTOyBp
KyspIHsNCQkJaWYgKHdpW2ldLndpbl90eXBlID09IFpXR0NfV0lORE9XKQ0JCQkJaWYg
KHdpW2ldLmRhdGEuendnYy51bml4X3RpbWUgPT0gKCoqZ1dvcHJIYW5kbGVzW2NlbGwu
dl0pLnVuaXhfdGltZSkgew0JCQkJCS8qIHRoZW4gYSB6d2djIGNvcnJlc3BvbmRpbmcg
dG8gdGhpcyBsaXN0IGVudHJ5IGlzIGFscmVhZHkgb3BlbiwNCQkJCQkgICBzbyBzZWxl
Y3QgaXQgYW5kIHBvcCBvdXQgdG8gbmV4dCBpdGVyYXRpb24gb2Ygd2hpbGUgbG9vcCAq
Lw0JCQkJCXdpbmRvd19zZWxlY3QoJndpW2ldKTsNCQkJCQlnb3RvIGZvdW5kOw0JCQkJ
fQ0JCX0NCQkNCQkvKiBjcmVhdGUgYSB0aXRsZSBmb3IgdGhlIHdpbmRvdyB3aXRoIHRo
ZSB0cmlwbGV0IGluZm8gaW4gaXQgKi8NCQkvKiBkZXRlcm1pbmUgbGVuZ3RoIG9mIHRp
dGxlICovDQkJaSA9IEdldEhhbmRsZVNpemUoKCoqZ1dvcHJIYW5kbGVzW2NlbGwudl0p
LmNsYXNzX3RleHQpICsNCQkgICAgR2V0SGFuZGxlU2l6ZSgoKipnV29wckhhbmRsZXNb
Y2VsbC52XSkuaW5zdGFuY2VfdGV4dCkgKw0JCSAgICBHZXRIYW5kbGVTaXplKCgqKmdX
b3BySGFuZGxlc1tjZWxsLnZdKS5yZWNpcGllbnRfdGV4dCkgKw0JCSAgICBHZXRIYW5k
bGVTaXplKCgqKmdXb3BySGFuZGxlc1tjZWxsLnZdKS5zZW5kZXJfdGV4dCkgKyAxMDsN
CQkgICAgDQkJSExvY2tIaSgoSGFuZGxlKSgqKmdXb3BySGFuZGxlc1tjZWxsLnZdKS5j
bGFzc190ZXh0KTsNCQlITG9ja0hpKChIYW5kbGUpKCoqZ1dvcHJIYW5kbGVzW2NlbGwu
dl0pLmluc3RhbmNlX3RleHQpOw0JCUhMb2NrSGkoKEhhbmRsZSkoKipnV29wckhhbmRs
ZXNbY2VsbC52XSkucmVjaXBpZW50X3RleHQpOw0JCUhMb2NrSGkoKEhhbmRsZSkoKipn
V29wckhhbmRsZXNbY2VsbC52XSkuc2VuZGVyX3RleHQpOw0JCQ0JCWlmIChpIDwgMjU2
KSB7DQkJCXNwcmludGYodGl0bGV0ZXh0LCI8JXMsJXMsJXM+IGZyb20gJXMiLCooKipn
V29wckhhbmRsZXNbY2VsbC52XSkuY2xhc3NfdGV4dCwNCQkJICAgICAgICAqKCoqZ1dv
cHJIYW5kbGVzW2NlbGwudl0pLmluc3RhbmNlX3RleHQsKigqKmdXb3BySGFuZGxlc1tj
ZWxsLnZdKS5yZWNpcGllbnRfdGV4dCwNCQkJICAgICAgICAqKCoqZ1dvcHJIYW5kbGVz
W2NlbGwudl0pLnNlbmRlcl90ZXh0KTsNCQl9IGVsc2Ugew0JCQlzdHJjcHkodGl0bGV0
ZXh0LCooKCoqZ1dvcHJIYW5kbGVzW2NlbGwudl0pLnNlbmRlcl90ZXh0KSk7DQkJfQ0J
CUhVbmxvY2soKEhhbmRsZSkoKipnV29wckhhbmRsZXNbY2VsbC52XSkuY2xhc3NfdGV4
dCk7DQkJSFVubG9jaygoSGFuZGxlKSgqKmdXb3BySGFuZGxlc1tjZWxsLnZdKS5pbnN0
YW5jZV90ZXh0KTsNCQlIVW5sb2NrKChIYW5kbGUpKCoqZ1dvcHJIYW5kbGVzW2NlbGwu
dl0pLnJlY2lwaWVudF90ZXh0KTsNCQlIVW5sb2NrKChIYW5kbGUpKCoqZ1dvcHJIYW5k
bGVzW2NlbGwudl0pLnNlbmRlcl90ZXh0KTsNDQkJSExvY2tIaSgoSGFuZGxlKWdXb3By
SGFuZGxlc1tjZWxsLnZdKTsNCQluZXdfd2lwID0gd2luZG93X29wZW4oWldHQ19XSU5E
T1csIHRpdGxldGV4dCwqZ1dvcHJIYW5kbGVzW2NlbGwudl0pOw0JCUhVbmxvY2soKEhh
bmRsZSkoKipnV29wckhhbmRsZXNbY2VsbC52XSkuY2xhc3NfdGV4dCk7DQkJDQkJaWYg
KG5ld193aXAgPT0gTlVMTCkgew0JCQlEb0Vycm9yKCJUaGVyZSBhcmUgdG9vIG1hbnkg
TWFjWmVwaHlyIHdpbmRvd3MgdG8gb3BlbiBhbm90aGVyLiAgQ2xvc2Ugc29tZSBvZiB0
aGVtLCBhbmQgdHJ5IGFnYWluLiIpOw0JCQlyZXR1cm47DQkJfQ0NCQlTaG93V2luZG93
KG5ld193aXAtPndwKTsNZm91bmQ6DQkJLyogd2UgZGVzZWxlY3QgdGhlIGNlbGxzIHNv
IHRoYXQgdGhlIExHZXRTZWxlY3QgbG9vcCBkb2Vzbid0IGdvIGludG8gYW4NCQkgICBp
bmZpbml0ZSBsb29wOyBob3dldmVyLCB3ZSBuZWVkIHRvIHJlbWVtYmVyIHdoYXQgd2Fz
IHNlbGVjdGVkIHNvIHRoYXQNCQkgICB3aGVuIHdlIGNsb3NlIHRoZSBvcGVuZWQgbWVz
c2FnZXMsIHRoZSBsaXN0IHdpbmRvdyBzdGlsbCBoYXMgYSBzZWxlY3Rpb24gKi8NCQls
YXN0U2VsZWN0ZWRDZWxsID0gY2VsbDsNCQlMU2V0U2VsZWN0KGZhbHNlLGNlbGwsbGhh
bmRsZSk7DQl9DQlMU2V0U2VsZWN0KHRydWUsbGFzdFNlbGVjdGVkQ2VsbCxsaGFuZGxl
KTsNCVNob3dBcnJvdygpOw19DQkNdm9pZCBscmVwbHlfY21kKHZvaWQpDXsNCVdpbmRv
d1B0ciBmd3AgPSBuaWw7DQlzdHJ1Y3Qgd2luX2luZm8gKndpcCA9IG5pbDsNCXN0cnVj
dCB3aW5faW5mbyAqbmV3X3dpcCA9IG5pbDsNCUNlbGwgY2VsbDsNCUxpc3RIYW5kbGUg
bGhhbmRsZSA9IG5pbDsNCXN0cnVjdCB3aW5kb3dfb3Blbl9wYXJhbV9yZWNvcmQgbmV3
X3dvcHI7CQ0JCQkNCWZ3cCA9IEZyb250V2luZG93KCk7DQlpZiAoZndwID09IE5VTEwp
ew0JCXJldHVybjsNCX0NDQl3aXAgPSAmd2lbR2V0V1JlZkNvbihmd3ApXTsNCWlmICh3
aXAtPndpbl90eXBlICE9IExJU1RfV0lORE9XKSB7DQkJcmV0dXJuOw0JfQ0JCQkJCQ0J
aWYgKENoZWNrRm9yTm9BdXRoZW50aWNhdGlvbigpID09IEZBTFNFKQ0JCXJldHVybjsN
CQkNCVNob3dXYXRjaCgpOw0JDQlsaGFuZGxlID0gd2lwLT5kYXRhLmxpc3QubGhhbmRs
ZTsNCWNlbGwuaCA9IDA7DQljZWxsLnYgPSAwOw0Jd2hpbGUgKExHZXRTZWxlY3QodHJ1
ZSwgJmNlbGwsIGxoYW5kbGUpKSB7DQkJSExvY2tIaSgoSGFuZGxlKWdXb3BySGFuZGxl
c1tjZWxsLnZdKTsNCQltZW1jcHkoJm5ld193b3ByLCpnV29wckhhbmRsZXNbY2VsbC52
XSxzaXplb2YobmV3X3dvcHIpKTsNCQlIVW5sb2NrKChIYW5kbGUpZ1dvcHJIYW5kbGVz
W2NlbGwudl0pOw0JCW5ld193b3ByLm1lc3NhZ2VfdGV4dCA9IE5VTEw7DSAgICAJbmV3
X3dpcCA9IHdpbmRvd19vcGVuKFpXUklURV9XSU5ET1csICJOZXcgTWVzc2FnZSIsICZu
ZXdfd29wcik7DQkJaWYgKG5ld193aXAgIT0gTlVMTCkNCQkJd2luZG93X3NlbGVjdChu
ZXdfd2lwKTsNCQljZWxsLnYrKzsNCX0NCQ0JU2hvd0Fycm93KCk7DX0NDXZvaWQgbGRl
bF9jbWQodm9pZCkNew0JV2luZG93UHRyIGZ3cCA9IG5pbDsNCXN0cnVjdCB3aW5faW5m
byAqd2lwID0gbmlsLCAqendnY193aXAgPSBuaWw7DQlDZWxsIGNlbGw7DQlMaXN0SGFu
ZGxlIGxoYW5kbGUgPSBuaWw7DQlzaG9ydCBpLCBmb3VuZFp3Z2NXaW4gPSBmYWxzZTsN
CQkNCWZ3cCA9IEZyb250V2luZG93KCk7DQlpZiAoZndwID09IE5VTEwpIHsNCQlyZXR1
cm47DQl9DQ0Jd2lwID0gJndpW0dldFdSZWZDb24oZndwKV07DQlpZiAod2lwLT53aW5f
dHlwZSAhPSBMSVNUX1dJTkRPVykgew0JCXJldHVybjsNCX0NCQkNCVNob3dXYXRjaCgp
Ow0JDQlsaGFuZGxlID0gd2lwLT5kYXRhLmxpc3QubGhhbmRsZTsNCWNlbGwuaCA9IDA7
DQljZWxsLnYgPSAwOw0JTERvRHJhdyhmYWxzZSxsaGFuZGxlKTsNCQ0JLyogd2hpbGUg
dGhlcmUgaXMgc3RpbGwgYSBzZWxlY3RlZCBjZWxsLCBkbyBkZWxldGUgYWN0aW9ucyAq
Lw0Jd2hpbGUgKExHZXRTZWxlY3QodHJ1ZSwgJmNlbGwsIGxoYW5kbGUpKSB7DQkJLyog
aWYgdGhlcmUgaXMgYSB6d2djIHdpbmRvdyBjb3JyZXNwb25kaW5nIHRvIHRoaXMgbGlz
dCBlbnRyeSBvcGVuLCBkZWxldGUgaXQgKi8NCQlmb3IgKGkgPSAwOyBpIDwgTUFYX1dJ
TkRPV1M7IGkrKykgew0JCQlpZiAod2lbaV0ud2luX3R5cGUgPT0gWldHQ19XSU5ET1cp
DQkJCQlpZiAod2lbaV0uZGF0YS56d2djLnVuaXhfdGltZSA9PSAoKipnV29wckhhbmRs
ZXNbY2VsbC52XSkudW5peF90aW1lKSB7DQkJCQkJendnY193aXAgPSAmd2lbaV07DQkJ
CQkJRGVsZXRlWndnY1dpbmRvdyh6d2djX3dpcCk7DQkJCQkJZm91bmRad2djV2luID0g
dHJ1ZTsNCQkJCQlicmVhazsNCQkJCX0NCQl9DQkJDQkJLyogcmVtb3ZlIHRoZSBsaXN0
IGVudHJ5LCBpZiBhIHp3Z2Mgd2luZG93IHdhc24ndCBhbHJlYWR5IGZvdW5kIC0gb3Ro
ZXJ3aXNlLA0JCSAgIERlbGV0ZVp3Z2NXaW5kb3cgZGVsZXRlZCB0aGUgbGlzdCBlbnRy
eSBmb3IgdXMgKi8NCQlpZiAoIWZvdW5kWndnY1dpbikNCQkJcmVtb3ZlX3JvdyhsaGFu
ZGxlLGNlbGwudix0cnVlKTsNCQkNCQkvKiB1cGRhdGUgdGhlIHNjcm9sbCBiYXIgKi8N
CQlMU2Nyb2xsKDAsLTEsbGhhbmRsZSk7DQl9DQkNCWlmIChjZWxsLnYgPD0gKCoqbGhh
bmRsZSkuZGF0YUJvdW5kcy5ib3R0b20gLSAxKSAvKiBpZiB3ZSdyZSBub3QgdGhlIGxh
c3QgaXRlbSAqLw0JCUxTZXRTZWxlY3QodHJ1ZSwgY2VsbCwgbGhhbmRsZSk7IC8qIHNl
bGVjdCB0aGUgbWVzc2FnZSBhZnRlciB0aGUgb25lIHdlIGRlbGV0ZWQgKi8NCWVsc2Ug
ew0JCWNlbGwudi0tOw0JCWlmIChjZWxsLnYgPj0gMCkgLyogZG9uJ3Qgd2FudCB0byB0
cnkgdG8gc2VsZWN0IGFueXRoaW5nIGlmIHRoaXMgd2FzIHRoZSBsYXN0IG1lc3NhZ2Ug
Ki8NCQkJTFNldFNlbGVjdCh0cnVlLCBjZWxsLGxoYW5kbGUpOyAvKiBzZWxlY3QgdGhl
IG1lc3NhZ2UgYmVmb3JlIHRoZSBvbmUgd2UgZGVsZXRlZCAqLw0JfQ0JTERvRHJhdyh0
cnVlLGxoYW5kbGUpOw0JDQlJbnZhbFJnbih3aXAtPndwLT52aXNSZ24pOw0NCWxpc3Rf
cmVzY2FuKHdpcCk7DQkNCVNob3dBcnJvdygpOw19DQ0vKiBEaXNwb3NlIG9mIGFsbCB0
aGUgaGFuZGxlcyBhc3NvY2lhdGVkIHdpdGggYSB3b3ByIGFuZCB0aGUgd29wciBpdHNl
bGYuICovDXZvaWQgRGlzcG9zX1dvcHJfSGFuZGxlcyhzdHJ1Y3Qgd2luZG93X29wZW5f
cGFyYW1fcmVjb3JkICoqaF93b3ByKQ17DQlpZiAoaF93b3ByICE9IE5VTEwgKSB7DQkJ
TXlEaXNwb3NlSGFuZGxlKCgqKmhfd29wcikubWVzc2FnZV90ZXh0KTsNCQlNeURpc3Bv
c2VIYW5kbGUoKCoqaF93b3ByKS5yZWNpcGllbnRfdGV4dCk7DQkJTXlEaXNwb3NlSGFu
ZGxlKCgqKmhfd29wcikuaW5zdGFuY2VfdGV4dCk7DQkJTXlEaXNwb3NlSGFuZGxlKCgq
Kmhfd29wcikuY2xhc3NfdGV4dCk7DQkJTXlEaXNwb3NlSGFuZGxlKCgqKmhfd29wciku
c2lnX3RleHQpOw0JCU15RGlzcG9zZUhhbmRsZSgoKipoX3dvcHIpLnNlbmRlcl90ZXh0
KTsNCQlNeURpc3Bvc2VIYW5kbGUoKCoqaF93b3ByKS5vcGNvZGVfdGV4dCk7DQkJTXlE
aXNwb3NlSGFuZGxlKChIYW5kbGUpaF93b3ByKTsNCX0NfQ0NAnUAAAABAAAABWAAAAaW
AAAJmAAAC3QAABQFAAAVbAAAWf0AAFoAAP4A/QD3APEAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAKAEAAAhgAAAAAGAAKAAgAAEgAAAAASAABQAGAAAgAAAEAAAABAwAA
AUUAAAFfAAABYwAAAWQAAAFnAAABagAAAa4AAAHyAAAB9QAAAfkAAAH7AAAB/gAAAgEA
AAJjAAACdwAAApUAAAKmAAACvAAAAsAAAALDAAAC2gAAAwcAAAMYAAADHAAAAyAAAAMk
AAADJwAAAywAAAMtAAADLgAAA0AAAANBAAADVAAAA2cAAAN+AAADkwAAA5QAAAOrAAAD
vgAAA9IAAAPnAAAD+gAABAwAAAQiAAAEOAAABEsAAARlAAAEegAABIEAAASCAAAElQAA
BJYAAASqAAAEqwAABL8AAATVAAAE5gAABPwAAAUNAAAFIAAABTUAAAVKAAAFXwAABWAA
AAWCAAAFkwAABaMAAAW1AAAFyQAABd8AAAXxAAAGAQAABhEAAAYhAAAGNQAABkQAAAZT
AAAGZAAABnQAAAaFAAAGlAAABpcAAAaYAAAGrwAABrAAAAbUAAAG1QAABvkAAAc4AAAH
TAAAB00AAAeQAAAHpgAAB6f7+/v7+/v7+/b7+/v7+/H7+/v7+/v7+/v7+/v7+/v7+/v7
+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+/v7+/v7+/v7+wAAAAQAAAMhwAAPAAAEAAACIcAADwAABAAAASHAAA8AXwAAB6cAAAfW
AAAH7QAAB+4AAAgaAAAILQAACC4AAAhHAAAIYAAACHoAAAh7AAAItAAACMsAAAjqAAAI
6wAACQEAAAkxAAAJYgAACZcAAAmYAAAJ5AAACeYAAAn8AAAJ/QAAChEAAAofAAAKIAAA
CjoAAApYAAAKWQAACmwAAAptAAAKpwAACuwAAAsKAAALKQAAC0AAAAt0AAALdQAAC4gA
AAuWAAALlwAAC9EAAAv+AAAMJQAADEQAAAxSAAAMVQAADFgAAAyOAAAMzQAADPgAAA0X
AAANOwAADUkAAA1MAAANjQAADbkAAA3YAAAN/AAADioAAA44AAAOOwAADn4AAA6rAAAO
ygAADu4AAA8cAAAPSwAAD1kAAA9cAAAPXQAAD7EAAA/HAAAP7gAAD/QAABAJAAAQCgAA
EBYAABAYAAAQGQAAED8AABBBAAAQVgAAEGMAABB4AAAQnAAAEK4AABCvAAAQ0AAAENMA
ABELAAARRAAAEVgAABF6AAARiQAAEY0AABGQ+/v7+/v7+/v7+/v7+/v7+/v7+/b7+/v7
+/v7+/v7+/v2+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/b7+/v7+/v2+/v7+/v7+/v2+/v7
+/v7+/v7+/v7+/v7+/v7+/b7+/v7+wAAAAQAAAIhwAAPAAAEAAABIcAADwBhAAARkAAA
EaUAABG0AAARtwAAEeEAABIeAAASagAAEmsAABJ9AAASfgAAEsgAABLxAAAS8gAAEwQA
ABMZAAATHAAAEzAAABMzAAATTQAAE1sAABNzAAAThwAAE4sAABOOAAATjwAAE7QAABPY
AAAT9gAAFAIAABQEAAAUBQAAFCoAABQsAAAUQAAAFEIAABRDAAAUaQAAFGsAABR/AAAU
gQAAFIIAABS6AAAUvAAAFNAAABTrAAAU7AAAFQUAABUGAAAVHQAAFSIAABU7AAAVPAAA
FWoAABVsAAAVbQAAFaIAABWkAAAVtwAAFcQAABXmAAAV5wAAFgUAABZOAAAWZAAAFnQA
ABZ4AAAWuAAAFusAABcgAAAXUQAAF4QAABe8AAAXzQAAF9MAABgRAAAYIwAAGCkAABho
AAAYewAAGIEAABiGAAAYigAAGI0AABiPAAAYkAAAGLkAABi7AAAYyAAAGM0AABkwAAAZ
WgAAGX77+/v79vb7+/v2+/v7+/v7+/v7+/v7+/v7+/v7+/vx7Ozs7PHs7Ozs5+zs8ezx
7Ozs8ezn7Pv7+/v7+/v79vv7+/v7+/v7+/v79vv79vv7+/v7+/v7+/v79vv7AAAABAAA
AyHAAC0AAAQAAAEhwAAtAAAEAAACIcAALQAABAAAAiHAAA8AAAQAAAEhwAAPAFsAABl+
AAAZrgAAGeAAABoRAAAaFAAAGioAABo+AAAaUAAAGlIAABpTAAAafgAAGoAAABqrAAAa
3AAAGw8AABtBAAAbVwAAG1kAABtaAAAbkgAAG5QAABuhAAAbogAAG8EAABvDAAAcBwAA
HFwAABywAAAcsgAAHOkAAB0FAAAdHQAAHR8AAB0gAAAdTAAAHU4AAB1aAAAddQAAHYoA
AB2NAAAdoQAAHa8AAB29AAAd4wAAHhoAAB4pAAAeLAAAHi4AAB5YAAAeZgAAHnQAAB6a
AAAe0QAAHuEAAB7kAAAe5gAAHv8AAB8lAAAfaQAAH4YAAB+JAAAfiwAAH6YAAB/MAAAg
EAAAICwAACAvAAAgMQAAIEcAACBtAAAgjQAAIJAAACCRAAAgpgAAIMwAACDrAAAg7gAA
IPAAACEGAAAhFAAAISIAACFGAAAhRwAAIY4AACGbAAAhvwAAIhIAACJNAAAiUgAAInwA
ACKKAAAiyAAAIv4AACMNAAAjEwAAIxgAACMcAAAjO/v7+/v7+/v7+/v7+/v7+/v7+/v7
+/v7+/b29vv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/b7+/v7+/b7+/v7+/v7
+/v7+/v7+/v7+/v2+/v29vv7+/b2+/v7+/sAAAAEAAACIcAADwAABAAAASHAAA8AYQAA
IzsAACNJAAAjVwAAI3sAACN/AAAjqgAAI7cAACP1AAAkGQAAJGoAACSsAAAk1gAAJOoA
ACT6AAAlPQAAJWQAACVzAAAleQAAJX4AACWCAAAlhQAAJYcAACWIAAAlrwAAJbEAACW+
AAAl0AAAJdEAACXlAAAl+AAAJiEAACYiAAAmNgAAJjcAACZfAAAmYAAAJqMAACa3AAAm
uQAAJswAACbOAAAmzwAAJxMAACdKAAAnfgAAJ4AAACeUAAAnlgAAJ5cAACe8AAAnvgAA
J9IAACfTAAAn4QAAJ+MAACfkAAAn/QAAKBUAACgWAAAoMwAAKDUAAChBAAAoSgAAKFwA
ACh6AAAojgAAKJAAACixAAAowwAAKM0AACjQAAAo5AAAKPcAACj5AAApGQAAKScAACkp
AAApSgAAKWEAACl8AAApswAAKcwAACnWAAAqJgAAKoYAACqXAAAqmgAAKpwAACq0AAAq
tgAAKskAACrLAAAqzAAAKvsAACr9AAArDwAAKxEAACsl+/v7+/v7+/v29vv7+/b7+/v7
+/v7+/v7+/v7+/v7+/v7+/v2+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+/v7+/v7+/v7+/v7+/b2+/v7+/v7+/v7+/v7+wAAAAQAAAIhwAAPAAAEAAABIcAADwBh
AAArJQAAKzgAACs6AAArTAAAK1oAACt0AAArnwAAK6AAACu4AAAr4QAAK+IAACv1AAAr
9gAALBUAACxPAAAsoQAALL8AACzDAAAs+wAALP8AAC0BAAAtFAAALRYAAC0XAAAtRwAA
LUkAAC17AAAtiAAALZoAAC2cAAAtsAAALcMAAC4KAAAuCwAALiYAAC5EAAAuaAAALnkA
AC58AAAulAAALq8AAC7TAAAu5AAALucAAC7oAAAvAQAALx8AAC81AAAvNgAAL04AAC9P
AAAvaAAAL4QAAC+hAAAvugAAL9QAAC/VAAAv6AAAL+oAAC/5AAAv+wAAL/wAADAwAAAw
MgAAMD8AADBoAAAwhQAAMIcAADCUAAAwqwAAMK4AADC+AAAwwQAAMOIAADEKAAAxNQAA
MWEAADGKAAAxswAAMdkAADHbAAAyKAAAMnQAADKnAAAy6gAAM0AAADNnAAAzsgAANAoA
ADQxAAA0dgAANMQAADTOAAA08gAANTwAADWH+/v7+/v7+/v7+/v7+/v2+/v7+/v7+/v7
+/v7+/v7+/b7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+/v7+/v29vv29vv29vv29vv79vEAAAAEAAADIcAADwAABAAAAiHAAA8AAAQAAAEhwAAP
AF8AADWHAAA12gAANfkAADX+AAA2SAAANpIAADbdAAA24gAANuUAADbmAAA3CQAANzMA
ADdgAAA3jgAAN7kAADfkAAA4DAAAOBAAADgxAAA4NAAAOFMAADh3AAA4fwAAOKoAADkD
AAA5MAAAOVAAADlTAAA5VgAAOYUAADm7AAA5vAAAOd0AADn5AAA6GQAAOhwAADofAAA6
SwAAOk0AADpOAAA6dgAAOngAADqTAAA6mwAAOq0AADqvAAA6wwAAOtYAADrZAAA65wAA
OugAADsLAAA7DgAAOy8AADtKAAA7TQAAO08AADtdAAA7XwAAO3IAADt0AAA7dQAAO54A
ADugAAA7vgAAO9MAADvlAAA79AAAPAgAADwLAAA8HwAAPDIAADw0AAA8VwAAPIAAADyF
AAA81QAAPRwAAD1wAAA9cgAAPasAAD3JAAA98wAAPfYAAD33AAA+HwAAPiEAAD53AAA+
zQAAPycAAD84AAA/VwAAP1gAAD+gAAA/xQAAP9v79vb7+/H29vb29vb29vb29vb29vb2
9vv29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb2
9vb7+/v29vb29vb29vv7+/b29vv29gAAAAQAAAMhwAAPAAAEAAABIcAADwAABAAAAiHA
AA8AXwAAP9sAAEARAABAOgAAQJAAAECTAABAlAAAQKcAAECpAABAqgAAQPsAAEEXAABB
QAAAQUIAAEFdAABBaQAAQWoAAEGNAABBngAAQZ8AAEHCAABB2gAAQgYAAEIIAABCCQAA
QlwAAEKmAABC6wAAQu0AAEL1AABC9wAAQxMAAEMVAABDLwAAQ10AAENeAABDYAAAQ4UA
AEOsAABDrgAAQ8MAAEPTAABD1QAAQ9YAAEPrAABD7QAARAMAAEQgAABEQAAARF4AAER5
AABEgQAARJ4AAEShAABEtwAARMsAAETVAABE2AAARNkAAET2AABFGwAARSUAAEUoAABF
KwAARTkAAEU6AABFXQAARWoAAEV3AABFowAARgAAAEYmAABGTAAARpcAAEbdAABHIQAA
Rz0AAEdOAABHVAAAR1gAAEdbAABHnQAAR78AAEf6AABIOAAASHcAAEi3AABIvgAASPYA
AEkxAABJbQAASaYAAEmpAABJugAASgoAAEpnAABKmvv79vv7+/v79vv7+/v7+/v7+/v7
+/v79vb7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v79vv7
9vb2+/v7+/v2+/v79vb7+/v7+/v79vH7AAAABAAAAyHAAA8AAAQAAAIhwAAPAAAEAAAB
IcAADwBfAABKmgAASqUAAErjAABK5wAASx8AAEtaAABLlgAAS88AAEvQAABL+QAATEAA
AEx4AABMewAATJQAAEz9AABNCAAATQwAAE0NAABNKAAATS8AAE15AABNxAAAThUAAE4w
AABOUgAATlUAAE6BAABOjwAATpEAAE6TAABOqQAATqsAAE7BAABO3gAATv8AAE8LAABP
JgAAT1IAAE9WAABPbAAAT38AAE+JAABPjAAAT40AAE+qAABPzwAAT9kAAE/cAABP4gAA
UAwAAFAWAABQGQAAUCcAAFApAABQTAAAUFkAAFBmAABQkgAAULsAAFD3AABRIAAAUUAA
AFGFAABRnAAAUbcAAFHDAABRxgAAUcgAAFHWAABR2AAAUdkAAFHtAABR7wAAUgUAAFIz
AABSPwAAUloAAFJ6AABSfQAAUpMAAFKnAABSsQAAUrQAAFK1AABS0gAAUvcAAFMBAABT
BAAAUwcAAFMVAABTFwAAUzoAAFNHAABTVAAAU20AAFNvAABTrgAAU9r79vv7+/v7+/v2
+/v79vv7+/v79vb2+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v79vv7
9vv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7AAAABAAAAiHAAA8AAAQA
AAEhwAAPAGEAAFPaAABULQAAVFMAAFR5AABUxAAAVNwAAFT9AABVFwAAVSMAAFUpAABV
LQAAVTAAAFV/AABVtgAAVcsAAFXvAABV8gAAVhAAAFYpAABWLAAAVi4AAFaBAABW1gAA
Vt4AAFbqAABXRQAAV5sAAFeeAABXtgAAV7gAAFfUAABX1QAAV+gAAFfqAABX+AAAV/oA
AFf7AABYSAAAWIsAAFiNAABYpQAAWNEAAFj/AABZLAAAWVYAAFl+AABZqQAAWdQAAFn3
AABZ+gAAWfwAAFn9+/b2+/b29vb29vb79vb29vb29vb7+/b2+/v29vb29vb29vb2+/v2
9vb29vb29vb29vb2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABIcAADwAA
BAAAAiHAAA8AMwAAAAMAAA0KABgAAhgAAAAAGAAKBwAAAAAAAAAAAQDeAAAAAAAAWP0A
AgAAWf0AAAAAAAACvgAABZcAAAlsAAAOXAAAEfEAABNpAAAUBQAAFXgAABoPAAAd5AAA
IcgAACU3AAAoJwAAK/sAAC77AAA0PAAAORkAADvVAABAjQAAQ9kAAEi6AABNqwAAUO8A
AFTvAABY/RAA//8AAAABABQAAP//AAAAAgABEAD//wAAAAMAAQAA//8AAAAEAAEQAP//
AAAABQABAAD//wAAAAYAAhAA//8AAAAHAAEAAP//AAAACABAEAD//wAAAAkAMgAA//8A
AAAKAAIQAP//AAAACwA2AAD//wAAAAwAKBAA//8AAAANAAIAAP//AAAADgAEEAD//wAA
AA8AAQAA//8AAAAQAEsQAP//AAAAEQADAAD//wAAABIARxAA//8AAAATABEAAP//AAAA
FAAdEAD//wAAABUAKgAA//8AAAAWABYQAP//AAAAFwAWAAD//wAAABgAAxAA//8AAAAZ
AAAAAAEAAABaAAAtAAABAAAAB6cAABGQAAAZfgAAIzsAACslAAA1hwAAP9sAAEqaAABT
2gAAWf0ALgAvADAAMQAyADMANAA1ADYANwAAAAIAAwAEABAAFAAVABYAFwDIAMkEVQfR
B9UH2gfbCXURoRG6HCMmcCZxJnMvi38NAAMAAABIAEgAAAAAAtgCKP/h/+IC+QJGA0cF
KAP8AAIAAABIAEgAAAAAAtgCKAABAAAAZAAAAAEAAwMDAAAAAScPAAEAAQAAAAAAAAAA
AAAAAGgIABkBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPeAv0AWgBwgF
oAcIAAAC0FIAAAEAAQABQAAAAAAAAEgAGA8tOkxhc2VyV3JpdGVyIDgACgAAAAAAAQAA
AAIITmV3IFlvcmvAAQEAAAAT6gAAE+oABoAAgAAAABPqAAAAAAAoAAICAgH7ACgAAgG9
AfwAMxJib3pvIHdvcmQgZG9jdW1lbnQADFNsb2FuIFNjaG9vbAAADFNsb2FuIFNjaG9v
bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAA=
--============_-1335948860==_============--

