[Bf-committers] OK!! THIS DISTRAY PATCH WORKS.

Ray Wells bf-committers@blender.org
Wed, 14 Jul 2004 20:31:32 -0700 (PDT)


--0-1814038915-1089862292=:15362
Content-Type: text/plain; charset=us-ascii
Content-Id: 
Content-Disposition: inline

Alright.. finally i have produced a patch that works

here i even attached it.


"If it's fuzzy and soft distray does it."


		
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail 
--0-1814038915-1089862292=:15362
Content-Type: application/octet-stream; name="distray.patch"
Content-Transfer-Encoding: base64
Content-Description: distray.patch
Content-Disposition: attachment; filename="distray.patch"

SW5kZXg6IHJlbmRlci9pbnRlcm4vc291cmNlL3JlbmRlcmNvcmUuYwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9iZi1ibGVu
ZGVyL2JsZW5kZXIvc291cmNlL2JsZW5kZXIvcmVuZGVyL2ludGVybi9zb3Vy
Y2UvcmVuZGVyY29yZS5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjcwCmRp
ZmYgLXUgLXIxLjcwIHJlbmRlcmNvcmUuYwotLS0gcmVuZGVyL2ludGVybi9z
b3VyY2UvcmVuZGVyY29yZS5jCTggSnVsIDIwMDQgMjA6Mzg6MjQgLTAwMDAJ
MS43MAorKysgcmVuZGVyL2ludGVybi9zb3VyY2UvcmVuZGVyY29yZS5jCTE1
IEp1bCAyMDA0IDAxOjMyOjM4IC0wMDAwCkBAIC0xMzg0LDYgKzEzODQsMTUg
QEAKIH0KIAogLyogQmxpbm4gc3BlYyAqLworI2lmIDAKK2Zsb2F0IFBsdWdp
blNwZWMoZmxvYXQgKm4sIGZsb2F0ICpsLCBmbG9hdCAqdiwgQmxlbmRlclBs
dWdpbiAqcGx1Z2luKSB7CisJCShmbG9hdCkgKCpzcGVjX2NiICggZmxvYXQg
LCBmbG9hdCAsIGZsb2F0LCB1bnNpZ25lZCBjaGFyKiopID0gUExVR19HZXRD
YWxsYmFjayhwbHVnaW4sIFBMVUdfQVJFQV9TUEVDKTsKKwkgICAgdW5zaWdu
ZWQgY2hhciAqcHVzaGFyZ3MgPSBOVUxMOworCQkKKwkJUExVR19HZXRBcmdW
YWx1ZXMocGx1Z2luLCBQTFVHX1NIQURFUl9TUEVDLCBwdXNoYXJncyk7IC8v
IHRoZXNlIGFyZSBzdG9yZWQgaW4gc29tZSBkYXRhYmFzZQorCQlyZXR1cm4g
KCpzcGVjX2NiKShuLGwsdixwdXNoYXJncyk7IAorCX0KKyNlbmRpZgogZmxv
YXQgQmxpbm5fU3BlYyhmbG9hdCAqbiwgZmxvYXQgKmwsIGZsb2F0ICp2LCBm
bG9hdCByZWZyYWMsIGZsb2F0IHNwZWNfcG93ZXIgKQogewogCWZsb2F0IGks
IG5oLCBudiwgbmwsIHZoLCBoWzNdOwpAQCAtMTQ1OSw4ICsxNDY4LDE2IEBA
CiAJCiAJcmV0dXJuIHJzbHQ7CiB9Ci0KLS8qIGNhcnRvb24gcmVuZGVyIGRp
ZmZ1c2UgKi8KKyNpZiAwCisvLyBwbHVnaW4gZGlmZnVzZQorZmxvYXQgUGx1
Z2luRGlmZiggZmxvYXQgKm4sIGZsb2F0ICpsLCBmbG9hdCAqdiwgQmxlbmRl
clBsdWdpbiAqcGx1Z2luKSB7CisJCWZsb2F0ICgqZGlmZl9jYikgKGZsb2F0
LGZsb2F0LGZsb2F0LHZhX2xpc3QqKSA9IHBsdWdpbi0+Y2FsbGJhY2tzW1BM
VUdfRElGRl9DQl07CisJCQorCQlyZXR1cm4gKCpkaWZmX2NiKSAobixsLHYs
cGx1Z2luLT5wdXNoYXJncyk7CisJfQorI2VuZGlmCisJCisJLyogY2FydG9v
biByZW5kZXIgZGlmZnVzZSAqLwogZmxvYXQgVG9vbl9EaWZmKCBmbG9hdCAq
biwgZmxvYXQgKmwsIGZsb2F0ICp2LCBmbG9hdCBzaXplLCBmbG9hdCBzbW9v
dGggKQogewogCWZsb2F0IHJzbHQsIGFuZzsKQEAgLTE5NDcsNyArMTk2NCw2
NSBAQAogCQkJCQogCQkJCS8qIHNpbmdsZSBzaWRlZD8gKi8KIAkJCQlpZigg
c2hpLT52bHItPm5bMF0qbHZbMF0gKyBzaGktPnZsci0+blsxXSpsdlsxXSAr
IHNoaS0+dmxyLT5uWzJdKmx2WzJdID4gLTAuMDEpIHsKLQkJCQkJcmF5X3No
YWRvdyhzaGksIGxhciwgc2hhZCk7CisJCQkJCQorCQkJCQkJCQkJaWYgKGxh
ci0+bW9kZSAmIExBX1NIQURfU09GVCkgeworCQkJCQkJLy9wcmludGYoIlNP
RlQgUExFQVNFISEgU29mdDolZiBTYW1wJWQiLGxhci0+c29mdCxsYXItPnNh
bXApOworLy8JCQkJCQlsYXItPm1heHNvZnQgPSBsYXItPnNvZnQ7CisvLwkJ
CQkJCWxhci0+c29mdHNhbXBsZXM9IGxhci0+c2FtcDsKKworCQkJCQkJCisJ
CQkJCQlmbG9hdCBvcm9bM107CisJCQkJCQlpZiAobGFyLT50eXBlICE9IExB
X1NVTikge1ZFQ0NPUFkob3JvLGxhci0+Y28pO30gZWxzZSB7VkVDQ09QWShv
cm8sbGFyLT52ZWMpO30KKwkJCQkJCWZsb2F0IHN4LHN5LHN6OworCQkJCQkJ
ZmxvYXQgY29vbHNoYWRbM107CisJCQkJCQlpbnQgaTsKKwkJCQkJCW1lbXNl
dCAoY29vbHNoYWQsIDAsIHNpemVvZihjb29sc2hhZCkpOyAvLyB3ZSBuZWVk
IHRvIHJlc2V0IGl0CisJCQkJCQlmb3IgKGk9MDsgaSA8IGxhci0+c29mdHNh
bXBsZXM7IGkrKykgeworCQkJCQkJc3g9KGZsb2F0KWRyYW5kNDgoKSAqIGxh
ci0+bWF4c29mdDsKKwkJCQkJCXN5PShmbG9hdClkcmFuZDQ4KCkgKmxhci0+
bWF4c29mdDsKKwkJCQkJCXN6PShmbG9hdClkcmFuZDQ4KCkgKmxhci0+bWF4
c29mdDsKKwkJCQkJCWlmIChsYXItPnR5cGUgIT0gTEFfU1VOKSB7CisJCQkJ
CQlsYXItPmNvWzBdICs9IHN4OworCQkJCQkJbGFyLT5jb1sxXSArPSBzeTsK
KwkJCQkJCWxhci0+Y29bMl0gKz0gc3o7CisJCQkJCQl9CisJCQkJCQllbHNl
IHsKKwkJCQkJCQlsYXItPnZlY1swXSs9c3g7CisJCQkJCQkJbGFyLT52ZWNb
MV0rPXN5OworCQkJCQkJCWxhci0+dmVjWzJdKz1zejsKKwkJCQkJCQkvL05v
cm1hbGlzZShsYXItPnZlYyk7CQorCQkJCQkJCX0KKy8vWzJbMl1dCQkJCQkJ
aWYgKCFvblNhbWVTaWRlIChvcm8sIHNoaS0+Y28sIHNoaS0+dmxyLT5uLCBz
aGktPnZsci0+djEtPmNvKSkgeworLy8JCQkJCQkJc3g9LXN4OworLy8JCQkJ
CQkJc3k9LXN5OworLy8JCQkJCQkJc3o9LXN6OworLy8JCQkJCQkJc2hpLT5j
b1swXSA9IG9yb1swXSArIHN4OworLy8JCQkJCQkJc2hpLT5jb1sxXSA9IG9y
b1sxXSArIHN5OworLy8JCQkJCQkJc2hpLT5jb1syXSA9IG9yb1syXSsgc3o7
IC8vIGlmIHdlIHdlbnQgdGhvcnVnaCBtYWtlIHN1cmUgd2UgZG9udCB0aGlz
IHRpbWUuCQkJCQkJCQorCQkJCQkJCQorLy8JCQkJCQkJCisvLwkJCQkJCX0K
KwkJCQkJCXJheV9zaGFkb3coc2hpLGxhcixzaGFkKTsJCisJCQkJCQljb29s
c2hhZFswXSArPSBzaGFkWzBdOworCQkJCQkJY29vbHNoYWRbMV0gKz0gc2hh
ZFsxXTsKKwkJCQkJCWNvb2xzaGFkWzJdICs9IHNoYWRbMl07CisJCQkJCQlp
ZiAobGFyLT50eXBlICE9IExBX1NVTikgeworCQkJCQkJbGFyLT5jb1swXSA9
IG9yb1swXTsgLy8gcmVzZXQgbGFyLT5jbworCQkJCQkJbGFyLT5jb1sxXSA9
IG9yb1sxXTsKKwkJCQkJCWxhci0+Y29bMl0gPSBvcm9bMl07CisJCQkJCQl9
CisJCQkJCQllbHNlIHsKKwkJCQkJCQkJVkVDQ09QWShsYXItPnZlYywgb3Jv
KTsKKwkJCQkJCQl9CisJCQkJCQl9CisJCQkJCQlzaGFkWzBdID0gY29vbHNo
YWRbMF0vbGFyLT5zb2Z0c2FtcGxlczsKKwkJCQkJCXNoYWRbMV0gPSBjb29s
c2hhZFsxXS9sYXItPnNvZnRzYW1wbGVzOworCQkJCQkJc2hhZFsyXSA9IGNv
b2xzaGFkWzJdL2xhci0+c29mdHNhbXBsZXM7CisKKwkJCQkJCQorCQkJCQl9
IGVsc2UgeworCQkJCQkJcmF5X3NoYWRvdyhzaGksIGxhciwgc2hhZCk7CisJ
CQkJCX0KIAkJCQkJc2hhZGZhY1szXSs9IHNoYWRbM107CiAJCQkJCWlyKz0g
MS4wOwogCQkJCX0KQEAgLTIxNTEsOSArMjIyNiw3MiBAQAogCQkJCQkJfQog
CQkJCQkJZWxzZSBpZihsYXItPm1vZGUgJiBMQV9TSEFEX1JBWSkgewogCQkJ
CQkJCS8vIHRoaXMgZXh0cmEgMC4wMDEgcHJldmVudHMgYm91bmRhcnkgY2Fz
ZXMgKHNoYWRvdyBvbiBzbW9vdGggc3BoZXJlKQotCQkJCQkJCWlmKChzaGkt
PnZsci0+blswXSpsdlswXSArIHNoaS0+dmxyLT5uWzFdKmx2WzFdICsgc2hp
LT52bHItPm5bMl0qbHZbMl0pID4gLTAuMDAxKSAKLQkJCQkJCQkJcmF5X3No
YWRvdyhzaGksIGxhciwgc2hhZGZhYyk7Ci0JCQkJCQkJZWxzZSBzaGFkZmFj
WzNdPSAwLjA7CisJCQkJCQkJaWYoKHNoaS0+dmxyLT5uWzBdKmx2WzBdICsg
c2hpLT52bHItPm5bMV0qbHZbMV0gKyBzaGktPnZsci0+blsyXSpsdlsyXSkg
PiAtMC4wMDEpIHsKKwkJCQkJCQkJCQkJCWlmIChsYXItPm1vZGUgJiBMQV9T
SEFEX1NPRlQpIHsKKwkJCQkJCS8vcHJpbnRmKCJTT0ZUIFBMRUFTRSEhIFNv
ZnQ6JWYgU2FtcCVkIixsYXItPnNvZnQsbGFyLT5zYW1wKTsKKy8vCQkJCQkJ
bGFyLT5tYXhzb2Z0ID0gbGFyLT5zb2Z0OworLy8JCQkJCQlsYXItPnNvZnRz
YW1wbGVzPSBsYXItPnNhbXA7CisKKwkJCQkJCQorCQkJCQkJZmxvYXQgb3Jv
WzNdOworCQkJCQkJaWYgKGxhci0+dHlwZSAhPSBMQV9TVU4pIHtWRUNDT1BZ
KG9ybywgbGFyLT5jbyk7fSBlbHNlIHtWRUNDT1BZKG9ybywgbGFyLT52ZWMp
O30KKwkJCQkJCQorCQkJCQkJZmxvYXQgc3gsc3ksc3o7CisJCQkJCQlmbG9h
dCBjb29sc2hhZFszXTsKKwkJCQkJCWludCBpOworCQkJCQkJbWVtc2V0IChj
b29sc2hhZCwgMCwgc2l6ZW9mKGNvb2xzaGFkKSk7CisJCQkJCQlmb3IgKGk9
MDsgaSA8IGxhci0+c29mdHNhbXBsZXM7IGkrKykgeworCQkJCQkJc3g9KGZs
b2F0KWRyYW5kNDgoKSAqIGxhci0+bWF4c29mdDsKKwkJCQkJCXN5PShmbG9h
dClkcmFuZDQ4KCkgKmxhci0+bWF4c29mdDsKKwkJCQkJCXN6PShmbG9hdClk
cmFuZDQ4KCkgKmxhci0+bWF4c29mdDsKKwkJCQkJCWlmIChsYXItPnR5cGUg
IT0gTEFfU1VOKSB7CisJCQkJCQlsYXItPmNvWzBdICs9IHN4OworCQkJCQkJ
bGFyLT5jb1sxXSArPSBzeTsJCQkJCQkKKwkJCQkJCWxhci0+Y29bMl0gKz0g
c3o7CisJCQkJCQl9CisJCQkJCQllbHNlIHsKKwkJCQkJCQlsYXItPnZlY1sw
XSs9IHN4OworCQkJCQkJCWxhci0+dmVjWzFdKz0gc3k7CisJCQkJCQkJbGFy
LT52ZWNbMl0rPXN6OworCQkJCQkJCQlOb3JtYWxpc2UobGFyLT52ZWMpOwkJ
CQkJCQkKKwkJCQkJCQl9CisJCQkJCQkJCisvL1syWzJdXQkJCQkJCWlmICgh
b25TYW1lU2lkZSAob3JvLCBzaGktPmNvLCBzaGktPnZsci0+biwgc2hpLT52
bHItPnYxLT5jbykpIHsKKy8vCQkJCQkJCXN4PS1zeDsKKy8vCQkJCQkJCXN5
PS1zeTsKKy8vCQkJCQkJCXN6PS1zejsKKy8vCQkJCQkJCXNoaS0+Y29bMF0g
PSBvcm9bMF0gKyBzeDsKKy8vCQkJCQkJCXNoaS0+Y29bMV0gPSBvcm9bMV0g
KyBzeTsKKy8vCQkJCQkJCXNoaS0+Y29bMl0gPSBvcm9bMl0rIHN6OyAvLyBp
ZiB3ZSB3ZW50IHRob3J1Z2ggbWFrZSBzdXJlIHdlIGRvbnQgdGhpcyB0aW1l
LgkJCQkJCQkKKwkJCQkJCQkKKy8vCQkJCQkJCQorLy8JCQkJCQl9CisJCQkJ
CQlyYXlfc2hhZG93KHNoaSxsYXIsc2hhZGZhYyk7CQorCQkJCQkJY29vbHNo
YWRbMF0gKz0gc2hhZGZhY1swXTsKKwkJCQkJCWNvb2xzaGFkWzFdICs9IHNo
YWRmYWNbMV07CisJCQkJCQljb29sc2hhZFsyXSArPSBzaGFkZmFjWzJdOwor
CQkJCQkJY29vbHNoYWRbM10gKz0gc2hhZGZhY1szXTsKKwkJCQkJCWlmIChs
YXItPnR5cGUgIT0gTEFfU1VOKSB7CisJCQkJCQkJCisJCQkJCQlsYXItPmNv
WzBdID0gb3JvWzBdOyAvLyByZXNldCBsYXItPmNvCisJCQkJCQlsYXItPmNv
WzFdID0gb3JvWzFdOworCQkJCQkJbGFyLT5jb1syXSA9IG9yb1syXTsKKwkJ
CQkJCX0KKwkJCQkJCWVsc2UgeworCQkJCQkJCVZFQ0NPUFkobGFyLT52ZWMs
IG9ybyk7CQkJCQkKKwkJCQkJCQl9CisJCQkJCQkKKwkJCQkJCQl9CisJCQkJ
CQlzaGFkZmFjWzBdID0gY29vbHNoYWRbMF0vbGFyLT5zb2Z0c2FtcGxlczsK
KwkJCQkJCXNoYWRmYWNbMV0gPSBjb29sc2hhZFsxXS9sYXItPnNvZnRzYW1w
bGVzOworCQkJCQkJc2hhZGZhY1syXSA9IGNvb2xzaGFkWzJdL2xhci0+c29m
dHNhbXBsZXM7CisJCQkJCQlzaGFkZmFjWzNdID0gY29vbHNoYWRbM10vbGFy
LT5zb2Z0c2FtcGxlczsKKwkJCQkJCQorCQkJCQl9IGVsc2UgeworCQkJCQkJ
cmF5X3NoYWRvdyhzaGksIGxhciwgc2hhZGZhYyk7CisJCQkJCX0JCisJCQkJ
CQkJCQkJCX0KKwkJCQkJCQllbHNleyBzaGFkZmFjWzNdPSAwLjA7fQogCQkJ
CQkJfQogCQogCQkJCQkJLyogd2FybmluZywgaGVyZSBpdCBza2lwcyB0aGUg
bG9vcCAqLwpAQCAtMjI5NCw2ICsyNDMyLDggQEAKIAogfQogCisKKwogdm9p
ZCBzaGFkZV9pbnB1dF9zZXRfY29vcmRzKFNoYWRlSW5wdXQgKnNoaSwgZmxv
YXQgdSwgZmxvYXQgdiwgaW50IGkxLCBpbnQgaTIsIGludCBpMykKIHsKIAlW
ZXJ0UmVuICp2MSwgKnYyLCAqdjM7CkBAIC0zNTU5LDUgKzM2OTksMyBAQAog
CiAKIC8qIGVuZCBvZiByZW5kZXIuYyAqLwotCi0KSW5kZXg6IHJlbmRlci9p
bnRlcm4vc291cmNlL3JheS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnNyb290L2JmLWJsZW5kZXIvYmxlbmRlci9zb3VyY2UvYmxl
bmRlci9yZW5kZXIvaW50ZXJuL3NvdXJjZS9yYXkuYyx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS40MApkaWZmIC11IC1yMS40MCByYXkuYwotLS0gcmVuZGVy
L2ludGVybi9zb3VyY2UvcmF5LmMJMjEgSnVuIDIwMDQgMTY6MDc6NTAgLTAw
MDAJMS40MAorKysgcmVuZGVyL2ludGVybi9zb3VyY2UvcmF5LmMJMTUgSnVs
IDIwMDQgMDE6MzI6NDAgLTAwMDAKQEAgLTE0MDMsNiArMTQwMyw3IEBACiAJ
cmVmcmFjdFswXT0gaW5kZXgqdmlld1swXSArIGZhYypuWzBdOwogCXJlZnJh
Y3RbMV09IGluZGV4KnZpZXdbMV0gKyBmYWMqblsxXTsKIAlyZWZyYWN0WzJd
PSBpbmRleCp2aWV3WzJdICsgZmFjKm5bMl07CisJCiB9CiAKIC8qIG9ybiA9
IG9yaWdpbmFsIGZhY2Ugbm9ybWFsICovCkBAIC0xNDU1LDYgKzE0NTYsNTkg
QEAKICNlbmRpZgogCiAvKiB0aGUgbWFpbiByZWN1cnNpdmUgdHJhY2VyIGl0
c2VsZiAqLwordm9pZAorZ2V0UmFuZG9tVmVjIChmbG9hdCAqdmVjLCBmbG9h
dCBtYXgpCit7CisgIAorICAKKyAgCisJCisgIHZlY1swXSA9IChmbG9hdCkg
KGRyYW5kNDggKCkgKiAobWF4KjIpKS1tYXg7CisgIHZlY1sxXSA9IChmbG9h
dCkgKGRyYW5kNDggKCkgKiAobWF4KjIpKS1tYXg7CisgIHZlY1syXSA9IChm
bG9hdCkgKGRyYW5kNDggKCkgKiAobWF4KjIpKS1tYXg7CisgIAorfQordm9p
ZAorcm90YXRlVmVjIChmbG9hdCAqbmV3dmVjLCBmbG9hdCAqb3JpZ2ludmVj
LCBmbG9hdCAqcm90YXRldmVjLCBmbG9hdCBheCwKKwkgICBmbG9hdCBheSwg
ZmxvYXQgYXopCit7CQkJCS8vIHdlIGFyZSBnb2luZyB0byBiZSBkb2luZyB0
aGlzIGFsb3Qgc2luY2UgdGhlIHdheSBpIGFtIHNhbXBsaW5nIGlzIGJhc2Vk
IG9uIHJhbmRvbSBhbmdsZXMKKyAgZmxvYXQgb3RoZXJ2ZWNbM10sIHRlbXB2
ZWMxWzNdLCB0ZW1wdmVjMlszXTsJLy8gdGhlcmUgaGFzIEdPVCBUTyBCRSBh
IGJldHRlciB3YXkgb2YgZG9pbmcgdGhpcyEKKworICBvdGhlcnZlY1swXSA9
IHJvdGF0ZXZlY1swXSAtIG9yaWdpbnZlY1swXTsKKyAgb3RoZXJ2ZWNbMV0g
PSByb3RhdGV2ZWNbMV0gLSBvcmlnaW52ZWNbMV07CisgIG90aGVydmVjWzJd
ID0gcm90YXRldmVjWzJdIC0gb3JpZ2ludmVjWzJdOwkvLyBtYWtlIHN1cmUg
dGhpcyBpcyByZWFsaXRpdml6ZWQgdG8gdGVoIG9yaWdpbi4uIHRoZW4gd2Ug
c2ltcGx5IHRyYW5zbGF0ZSBhZnRlciByb3RhdGlvbiBhcm91bmQgdGhlIG9y
aWdpbi4gVEhBTksgWU9VIEVVQ0xJRCEhIQorCisgIHRlbXB2ZWMxWzBdID0g
b3RoZXJ2ZWNbMF0gKiBjb3MgKGF6KSArIG90aGVydmVjWzFdICogc2luIChh
eik7CS8vIHgxID0gIHggKiBjeiArICB5ICogc3oKKyAgdGVtcHZlYzFbMV0g
PSBvdGhlcnZlY1sxXSAqIGNvcyAoYXgpIC0gb3RoZXJ2ZWNbMF0gKiBzaW4g
KGF6KTsJLy8geTEgPSAgeSAqIGN6IC0gIHggKiBzegorICB0ZW1wdmVjMVsy
XSA9IG90aGVydmVjWzJdOwkvLyB6MSA9IHoKKworICB0ZW1wdmVjMlswXSA9
IHRlbXB2ZWMxWzBdICogY29zIChheSkgKyB0ZW1wdmVjMVsyXSAqIHNpbiAo
YXkpOwkvLyB4MiA9IHgxICogY3kgKyB6MSAqIHN5CisgIHRlbXB2ZWMyWzFd
ID0gdGVtcHZlYzFbMl07CS8vIHkyID0gejE7CisgIHRlbXB2ZWMyWzJdID0g
dGVtcHZlYzFbMl0gKiBjb3MgKGF5KSAtIHRlbXB2ZWMxWzBdICogc2luIChh
eSk7CS8vIHoyID0gejEgKiBjeSAtIHgxICogc3kKKworICBuZXd2ZWNbMF0g
PSB0ZW1wdmVjMlswXTsJLy8geDMgPSB4MgorICBuZXd2ZWNbMV0gPSB0ZW1w
dmVjMlsxXSAqIGNvcyAoYXgpICsgdGVtcHZlYzFbMl0gKiBzaW4gKGF4KTsJ
Ly8geTMgPSB5MiAqIGN4ICsgejEgKiBzeAorICBuZXd2ZWNbMl0gPSB0ZW1w
dmVjMlsyXSAqIGNvcyAoYXgpIC0gdGVtcHZlYzFbMF0gKiBzaW4gKGF4KTsJ
Ly8gejMgPSB6MiAqIGN4IC0geDEgKiBzeAorCisgIG5ld3ZlY1swXSArPSBv
cmlnaW52ZWNbMF07CisgIG5ld3ZlY1sxXSArPSBvcmlnaW52ZWNbMV07Cisg
IG5ld3ZlY1syXSArPSBvcmlnaW52ZWNbMl07CisKKworCit9Cit2b2lkCitj
bGlwVmVjIChmbG9hdCAqdmVjKSAKK3sKKyAgaWYgKHZlY1swXSA+IDEuMCkK
KyAgICB2ZWNbMF0gPSAxLjA7CisgIGlmICh2ZWNbMV0gPiAxLjApCisgICAg
dmVjWzFdID0gMS4wOworICBpZiAodmVjWzJdID4gMS4wKQorICAgIHZlY1sy
XSA9IDEuMDsKK30KKworCiBzdGF0aWMgdm9pZCB0cmFjZXJheShzaG9ydCBk
ZXB0aCwgZmxvYXQgKnN0YXJ0LCBmbG9hdCAqdmVjLCBmbG9hdCAqY29sLCBW
bGFrUmVuICp2bHIsIGludCBtYXNrKQogewogCVNoYWRlSW5wdXQgc2hpOwpA
QCAtMTQ2Miw3ICsxNTE2LDcgQEAKIAlJc2VjdCBpc2VjOwogCWZsb2F0IGYs
IGYxLCBmciwgZmcsIGZiOwogCWZsb2F0IHJlZlszXTsKLQkKKwlmbG9hdCBu
b3JyZWZbM107CiAJVkVDQ09QWShpc2VjLnN0YXJ0LCBzdGFydCk7CiAJaXNl
Yy5lbmRbMF09IHN0YXJ0WzBdK2dfb2Mub2NzaXplKnZlY1swXTsKIAlpc2Vj
LmVuZFsxXT0gc3RhcnRbMV0rZ19vYy5vY3NpemUqdmVjWzFdOwpAQCAtMTQ3
NywxMCArMTUzMSwzOSBAQAogCQlpZihkZXB0aD4wKSB7CiAKIAkJCWlmKHNo
aS5tYXRyZW4tPm1vZGUgJiBNQV9SQVlUUkFOU1AgJiYgc2hyLmFscGhhIT0x
LjApIHsKLQkJCQlmbG9hdCBmLCBmMSwgcmVmcmFjdFszXSwgdHJhY29sWzNd
OworCQkJCWZsb2F0IGYsIGYxLCByZWZyYWN0WzNdLCB0cmFjb2xbM10sIG5v
clszXTsKKwkJCQkKIAkJCQkKLQkJCQlyZWZyYWN0aW9uKHJlZnJhY3QsIHNo
aS52biwgc2hpLnZpZXcsIHNoaS5tYXRyZW4tPmFuZyk7Ci0JCQkJdHJhY2Vy
YXkoZGVwdGgtMSwgc2hpLmNvLCByZWZyYWN0LCB0cmFjb2wsIHNoaS52bHIs
IHNoaS5tYXNrKTsKKwkJCQkKKwkJCQlpZiAoc2hpLm1hdHJlbi0+bW9kZSAm
IE1BX0JMVVJSWSkgeworCQkJCQlpbnQgaTsKKwkJCQkJZmxvYXQgY2NvbFsz
XSwgc2NvbFszXTsKKwkJCQkJbWVtc2V0IChzY29sLCAwLCBzaXplb2Yoc2Nv
bCkpOworCQkJCQlmb3IgKGk9MDsgaSA8IHNoaS5tYXRyZW4tPmJsdXJzYW1w
bGVzOyBpKyspIHsKKwkJCQkJCisJCQkJCWdldFJhbmRvbVZlYyhub3IsIHNo
aS5tYXRyZW4tPmJsdXJmYWN0b3IpOworCQkJCQkKKwkJCQkJCisJCQkJCQor
CQkJCQkKKwkJCQkJCisJCQkJCXJlZnJhY3Rpb24ocmVmcmFjdCwgc2hpLnZu
LCBzaGkudmlldywgc2hpLm1hdHJlbi0+YW5nKTsgIAorCQkJCQlWRUNBREQo
cmVmcmFjdCxyZWZyYWN0LG5vcik7CisJCQkJCU5vcm1hbGlzZShyZWZyYWN0
KTsJCisJCQkJCXRyYWNlcmF5KGRlcHRoLTEsIHNoaS5jbywgcmVmcmFjdCwg
Y2NvbCwgc2hpLnZsciwgc2hpLm1hc2spOworCQkJCQlWRUNBREQoc2NvbCxz
Y29sLGNjb2wpOworCQkJCQkKKwkJCQkJfQorCQkJCQlzY29sWzBdLz0oZmxv
YXQpc2hpLm1hdHJlbi0+Ymx1cnNhbXBsZXM7CisJCQkJCXNjb2xbMV0vPShm
bG9hdClzaGkubWF0cmVuLT5ibHVyc2FtcGxlczsKKwkJCQkJc2NvbFsyXS89
KGZsb2F0KXNoaS5tYXRyZW4tPmJsdXJzYW1wbGVzOworCQkJCQlWRUNDT1BZ
KHRyYWNvbCwgc2NvbCk7CisJCQkJCQorCQkJCQl9CisJCQkJCWVsc2Ugewor
CQkJCQlyZWZyYWN0aW9uKHJlZnJhY3QsIHNoaS52biwgc2hpLnZpZXcsIHNo
aS5tYXRyZW4tPmFuZyk7IAorCQkJCQl0cmFjZXJheShkZXB0aC0xLCBzaGku
Y28sIHJlZnJhY3QsIHRyYWNvbCwgc2hpLnZsciwgc2hpLm1hc2spOworCQkJ
CX0KIAkJCQkKIAkJCQlmPSBzaHIuYWxwaGE7IGYxPSAxLjAtZjsKIAkJCQlz
aHIuZGlmZlswXT0gZipzaHIuZGlmZlswXSArIGYxKnRyYWNvbFswXTsKQEAg
LTE0ODgsNyArMTU3MSw3IEBACiAJCQkJc2hyLmRpZmZbMl09IGYqc2hyLmRp
ZmZbMl0gKyBmMSp0cmFjb2xbMl07CiAJCQkJc2hyLmFscGhhPSAxLjA7CiAJ
CQl9Ci0KKwkJCiAJCQlpZihzaGkubWF0cmVuLT5tb2RlICYgTUFfUkFZTUlS
Uk9SKSB7CiAJCQkJZj0gc2hpLm1hdHJlbi0+cmF5X21pcnJvcjsKIAkJCQlp
ZihmIT0wLjApIGYqPSBmcmVzbmVsX2ZhYyhzaGkudmlldywgc2hpLnZuLCBz
aGkubWF0cmVuLT5mcmVzbmVsX21pcl9pLCBzaGkubWF0cmVuLT5mcmVzbmVs
X21pcik7CkBAIC0xNDk3LDExICsxNTgwLDM1IEBACiAJCQkKIAkJCWlmKGYh
PTAuMCkgewogCQkJCisKKwkJCQlpZiAoc2hpLm1hdHJlbi0+bW9kZSAmIE1B
X0JMVVJSWSkgeworCQkJCQlmbG9hdCBub3JbM10sIGNjb2xbM10sc2NvbFsz
XTsJCisJCQkJCWludCBpOworCQkJCQltZW1zZXQoc2NvbCwwLHNpemVvZihz
Y29sKSk7CisJCQkJCWZvciAoaT0wOyBpIDwgc2hpLm1hdHJlbi0+Ymx1cnNh
bXBsZXM7IGkrKykgeworCQkJCQlnZXRSYW5kb21WZWMobm9yLCBzaGkubWF0
cmVuLT5ibHVyZmFjdG9yKTsKKwkJCQkJVkVDQUREKG5vcixub3Isc2hpLnZu
KTsKKwkJCQkJTm9ybWFsaXNlKG5vcik7IC8vIG1ha2Ugc3VyZSBub3JyZWYg
aXMgYSBub3JtYWwKKwkJCQkJCisJCQkJCS8vIGJ5IG1vZGlmaXlpbmcgdm4g
d2UgY2FuIGVmZmVjdGl2ZWx5IGFjaGlldmUgYmx1cnJ5IG92ZXJzYW1wbGlu
ZworCQkJCQkKKwkJCQkJcmVmbGVjdGlvbihyZWYsIG5vciwgc2hpLnZpZXcs
IE5VTEwpOyAgCisJCQkJCXRyYWNlcmF5KGRlcHRoLTEsIHNoaS5jbywgcmVm
LCBjY29sLCBzaGkudmxyLCBzaGkubWFzayk7CisJCQkJCVZFQ0FERChzY29s
LHNjb2wsY2NvbCk7CisJCQkJCQorCQkJCQl9CisJCQkJCXNjb2xbMF0gLz0g
KGZsb2F0KXNoaS5tYXRyZW4tPmJsdXJzYW1wbGVzOworCQkJCQlzY29sWzFd
IC89IChmbG9hdClzaGkubWF0cmVuLT5ibHVyc2FtcGxlczsKKwkJCQkJc2Nv
bFsyXSAvPSAoZmxvYXQpc2hpLm1hdHJlbi0+Ymx1cnNhbXBsZXM7CisJCQkJ
CVZFQ0NPUFkoY29sLHNjb2wpOworCQkJCQl9CisJCQkJCWVsc2UgewogCQkJ
CXJlZmxlY3Rpb24ocmVmLCBzaGkudm4sIHNoaS52aWV3LCBOVUxMKTsJCQkK
IAkJCQl0cmFjZXJheShkZXB0aC0xLCBzaGkuY28sIHJlZiwgY29sLCBzaGku
dmxyLCBzaGkubWFzayk7CisJCQkJCX0KIAkJCQogCQkJCWYxPSAxLjAtZjsK
LQorCQkJCSAKIAkJCQkvKiBjb21iaW5lICovCiAJCQkJLy9jb2xvcl9jb21i
aW5lKGNvbCwgZipmciooMS4wLXNoci5zcGVjWzBdKSwgZjEsIGNvbCwgc2hy
LmRpZmYpOwogCQkJCS8vY29sWzBdKz0gc2hyLnNwZWNbMF07CkBAIC0xNjY4
LDExICsxNzc1LDEzIEBACiB2b2lkIHJheV90cmFjZShTaGFkZUlucHV0ICpz
aGksIFNoYWRlUmVzdWx0ICpzaHIpCiB7CiAJVmxha1JlbiAqdmxyOwotCWZs
b2F0IGksIGYsIGYxLCBmciwgZmcsIGZiLCB2ZWNbM10sIG1pcmNvbFszXSwg
dHJhY29sWzNdOwotCWludCBkb190cmEsIGRvX21pcjsKKwlmbG9hdCBpLCBm
LCBmMSwgZnIsIGZnLCBmYiwgdmVjWzNdLCBtaXJjb2xbM10sIHRyYWNvbFsz
XSwgcGx1Z2NvbFszXTsKKwlpbnQgZG9fdHJhLCBkb19taXIsZG9fcGx1Z2lu
OwogCQogCWRvX3RyYT0gKChzaGktPm1hdHJlbi0+bW9kZSAmIE1BX1JBWVRS
QU5TUCkgJiYgc2hyLT5hbHBoYSE9MS4wKTsKIAlkb19taXI9ICgoc2hpLT5t
YXRyZW4tPm1vZGUgJiBNQV9SQVlNSVJST1IpICYmIHNoaS0+bWF0cmVuLT5y
YXlfbWlycm9yIT0wLjApOworCisJCiAJdmxyPSBzaGktPnZscjsKIAkKIAlj
b2hfdGVzdD0gMDsJCS8vIHJlc2V0IGNvaGVyZW5jZSBvcHRpbWl6ZQpAQCAt
MTY4MCw4ICsxNzg5LDM4IEBACiAJaWYoZG9fdHJhKSB7CiAJCWZsb2F0IHJl
ZnJhY3RbM107CiAJCQorCisJCWlmIChzaGktPm1hdHJlbi0+bW9kZSAmIE1B
X0JMVVJSWSkgeworCQkJCQkKKwkJCWZsb2F0IG5vclszXSwgY2NvbFszXSxz
Y29sWzNdOwkKKwkJCQltZW1zZXQoc2NvbCwwLHNpemVvZihzY29sKSk7CisJ
CQkJaW50IGk7CisJCQkJZm9yIChpPTA7IGkgPCBzaGktPm1hdHJlbi0+Ymx1
cnNhbXBsZXM7IGkrKykgeworCQkJCQlnZXRSYW5kb21WZWMobm9yLCBzaGkt
Pm1hdHJlbi0+Ymx1cmZhY3Rvcik7CisJCQkJCS8vVkVDQUREKG5vcixub3Is
c2hpLT52bik7CisJCQkJCQorCQkJCQkKKwkJCQkJCisJCQkJCS8vIGJ5IG1v
ZGlmaXlpbmcgdm4gd2UgY2FuIGVmZmVjdGl2ZWx5IGFjaGlldmUgYmx1cnJ5
IG92ZXJzYW1wbGluZworCQkJCQkKKwkJCQkJcmVmcmFjdGlvbihyZWZyYWN0
LCBzaGktPnZuLCBzaGktPnZpZXcsIHNoaS0+bWF0cmVuLT5hbmcpOworCQkJ
CQlWRUNBREQocmVmcmFjdCwgcmVmcmFjdCwgbm9yKTsKKwkJCQkJTm9ybWFs
aXNlKHJlZnJhY3QpOworCQkJCQl0cmFjZXJheShzaGktPm1hdHJlbi0+cmF5
X2RlcHRoX3RyYSwgc2hpLT5jbywgcmVmcmFjdCwgY2NvbCwgc2hpLT52bHIs
IHNoaS0+bWFzayk7CisJCQkJCVZFQ0FERChzY29sLHNjb2wsY2NvbCk7CisJ
CQkJCQorCQkJCisJCX0KKwkJc2NvbFswXSAvPSAoZmxvYXQpc2hpLT5tYXRy
ZW4tPmJsdXJzYW1wbGVzOworCQkJCQlzY29sWzFdIC89IChmbG9hdClzaGkt
Pm1hdHJlbi0+Ymx1cnNhbXBsZXM7CisJCQkJCXNjb2xbMl0gLz0gKGZsb2F0
KXNoaS0+bWF0cmVuLT5ibHVyc2FtcGxlczsKKwkJCQkJVkVDQ09QWSh0cmFj
b2wsc2NvbCk7CisJfQorCQllbHNlIHsKIAkJcmVmcmFjdGlvbihyZWZyYWN0
LCBzaGktPnZuLCBzaGktPnZpZXcsIHNoaS0+bWF0cmVuLT5hbmcpOwotCQl0
cmFjZXJheShzaGktPm1hdHJlbi0+cmF5X2RlcHRoX3RyYSwgc2hpLT5jbywg
cmVmcmFjdCwgdHJhY29sLCBzaGktPnZsciwgc2hpLT5tYXNrKTsKKwkJCXRy
YWNlcmF5KHNoaS0+bWF0cmVuLT5yYXlfZGVwdGhfdHJhLCBzaGktPmNvLCBy
ZWZyYWN0LCB0cmFjb2wsIHNoaS0+dmxyLCBzaGktPm1hc2spOworCQl9CisJ
CQogCQkKIAkJZj0gc2hyLT5hbHBoYTsgZjE9IDEuMC1mOwogCQlzaHItPmRp
ZmZbMF09IGYqc2hyLT5kaWZmWzBdICsgZjEqdHJhY29sWzBdOwpAQCAtMTY4
OSw3ICsxODI4LDcgQEAKIAkJc2hyLT5kaWZmWzJdPSBmKnNoci0+ZGlmZlsy
XSArIGYxKnRyYWNvbFsyXTsKIAkJc2hyLT5hbHBoYT0gMS4wOwogCX0KLQkK
KwogCWlmKGRvX21pcikgewogCQogCQlpPSBzaGktPm1hdHJlbi0+cmF5X21p
cnJvcipmcmVzbmVsX2ZhYyhzaGktPnZpZXcsIHNoaS0+dm4sIHNoaS0+bWF0
cmVuLT5mcmVzbmVsX21pcl9pLCBzaGktPm1hdHJlbi0+ZnJlc25lbF9taXIp
OwpAQCAtMTY5NywxMyArMTgzNiw0MCBAQAogCQkJZnI9IHNoaS0+bWF0cmVu
LT5taXJyOwogCQkJZmc9IHNoaS0+bWF0cmVuLT5taXJnOwogCQkJZmI9IHNo
aS0+bWF0cmVuLT5taXJiOwotCisJCQlpZiAoc2hpLT5tYXRyZW4tPm1vZGUg
JiBNQV9CTFVSUlkpIHsKKwkJCQkKKwkJCQorCQkJCWZsb2F0IG5vclszXSwg
Y2NvbFszXSxzY29sWzNdOwkKKwkJCQlpbnQgaTsKKwkJCQltZW1zZXQoc2Nv
bCwwLHNpemVvZihzY29sKSk7CisJCQkJZm9yIChpPTA7IGkgPCBzaGktPm1h
dHJlbi0+Ymx1cnNhbXBsZXM7IGkrKykgeworCQkJCQlnZXRSYW5kb21WZWMo
bm9yLCBzaGktPm1hdHJlbi0+Ymx1cmZhY3Rvcik7CisJCQkJCVZFQ0FERChu
b3Isbm9yLHNoaS0+dm4pOworCQkJCQlOb3JtYWxpc2Uobm9yKTsgLy8gbWFr
ZSBzdXJlIG5vcnJlZiBpcyBhIG5vcm1hbAorCQkJCQkKKwkJCQkJLy8gYnkg
bW9kaWZpeWluZyB2biB3ZSBjYW4gZWZmZWN0aXZlbHkgYWNoaWV2ZSBibHVy
cnkgb3ZlcnNhbXBsaW5nCisJCQkJCQorCQkJCWlmKHZsci0+ZmxhZyAmIFJf
U01PT1RIKSAKKwkJCQkJcmVmbGVjdGlvbih2ZWMsIG5vciwgc2hpLT52aWV3
LCB2bHItPm4pOworCQkJCWVsc2UKKwkJCQkJcmVmbGVjdGlvbih2ZWMsIG5v
cgksIHNoaS0+dmlldywgTlVMTCk7CisJCQkJCisJCQkJCXRyYWNlcmF5KHNo
aS0+bWF0cmVuLT5yYXlfZGVwdGgsIHNoaS0+Y28sIHZlYywgY2NvbCwgc2hp
LT52bHIsIHNoaS0+bWFzayk7CisJCQkJCVZFQ0FERChzY29sLHNjb2wsY2Nv
bCk7CisJCQkJCisJCQkJCX0KKwkJCQkJCXNjb2xbMF0gLz0gKGZsb2F0KXNo
aS0+bWF0cmVuLT5ibHVyc2FtcGxlczsKKwkJCQkJc2NvbFsxXSAvPSAoZmxv
YXQpc2hpLT5tYXRyZW4tPmJsdXJzYW1wbGVzOworCQkJCQlzY29sWzJdIC89
IChmbG9hdClzaGktPm1hdHJlbi0+Ymx1cnNhbXBsZXM7CisJCQkJCVZFQ0NP
UFkobWlyY29sLHNjb2wpOworCQkJCisJCX0gZWxzZSB7CiAJCQlpZih2bHIt
PmZsYWcgJiBSX1NNT09USCkgCiAJCQkJcmVmbGVjdGlvbih2ZWMsIHNoaS0+
dm4sIHNoaS0+dmlldywgdmxyLT5uKTsKIAkJCWVsc2UKIAkJCQlyZWZsZWN0
aW9uKHZlYywgc2hpLT52biwgc2hpLT52aWV3LCBOVUxMKTsKLQkKIAkJCXRy
YWNlcmF5KHNoaS0+bWF0cmVuLT5yYXlfZGVwdGgsIHNoaS0+Y28sIHZlYywg
bWlyY29sLCBzaGktPnZsciwgc2hpLT5tYXNrKTsKKwkJCX0KIAkJCQogCQkJ
Zj0gaSpmciooMS4wLXNoci0+c3BlY1swXSk7CWYxPSAxLjAtaTsKIAkJCXNo
ci0+ZGlmZlswXT0gZiptaXJjb2xbMF0gKyBmMSpzaHItPmRpZmZbMF07CkBA
IC0yMTQzLDQgKzIzMDksMyBAQAogCQogCQogfQotCkluZGV4OiByZW5kZXJj
b252ZXJ0ZXIvaW50ZXJuL2NvbnZlcnRCbGVuZGVyU2NlbmUuYwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9iZi1ibGVuZGVy
L2JsZW5kZXIvc291cmNlL2JsZW5kZXIvcmVuZGVyY29udmVydGVyL2ludGVy
bi9jb252ZXJ0QmxlbmRlclNjZW5lLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuNzIKZGlmZiAtdSAtcjEuNzIgY29udmVydEJsZW5kZXJTY2VuZS5jCi0t
LSByZW5kZXJjb252ZXJ0ZXIvaW50ZXJuL2NvbnZlcnRCbGVuZGVyU2NlbmUu
YwkxMiBKdWwgMjAwNCAwMzoyMDozMSAtMDAwMAkxLjcyCisrKyByZW5kZXJj
b252ZXJ0ZXIvaW50ZXJuL2NvbnZlcnRCbGVuZGVyU2NlbmUuYwkxNSBKdWwg
MjAwNCAwMTozMjo0MyAtMDAwMApAQCAtMTU5MSw2ICsxNTkxLDggQEAKIAls
YXItPmJ1ZnNpemUgPSBsYS0+YnVmc2l6ZTsKIAlsYXItPnNhbXAgPSBsYS0+
c2FtcDsKIAlsYXItPnNvZnQgPSBsYS0+c29mdDsKKwlsYXItPm1heHNvZnQg
PSBsYS0+bWF4c29mdDsKKwlsYXItPnNvZnRzYW1wbGVzID0gbGEtPnNvZnRz
YW1wbGVzOwogCWxhci0+c2hhZGhhbG9zdGVwID0gbGEtPnNoYWRoYWxvc3Rl
cDsKIAlsYXItPmNsaXBzdGEgPSBsYS0+Y2xpcHN0YTsKIAlsYXItPmNsaXBl
bmQgPSBsYS0+Y2xpcGVuZDsKSW5kZXg6IHNyYy9idXR0b25zX3NoYWRpbmcu
Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9i
Zi1ibGVuZGVyL2JsZW5kZXIvc291cmNlL2JsZW5kZXIvc3JjL2J1dHRvbnNf
c2hhZGluZy5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjg4CmRpZmYgLXUg
LXIxLjg4IGJ1dHRvbnNfc2hhZGluZy5jCi0tLSBzcmMvYnV0dG9uc19zaGFk
aW5nLmMJMTAgSnVsIDIwMDQgMjE6MzU6MTcgLTAwMDAJMS44OAorKysgc3Jj
L2J1dHRvbnNfc2hhZGluZy5jCTE1IEp1bCAyMDA0IDAxOjMyOjQ4IC0wMDAw
CkBAIC0yMDkwLDcgKzIwOTAsMTQgQEAKIAl1aUJsb2NrRW5kQWxpZ24oYmxv
Y2spOwogCQogCXVpRGVmQnV0UyhibG9jaywgVE9HfEJJVHw1LCAwLCJPbmx5
U2hhZG93IiwJCQkxMCwxMTAsODAsMTksJmxhLT5tb2RlLCAwLCAwLCAwLCAw
LCAiQ2F1c2VzIGxpZ2h0IHRvIGNhc3Qgc2hhZG93cyBvbmx5IHdpdGhvdXQg
aWxsdW1pbmF0aW5nIG9iamVjdHMiKTsKLQorCWlmIChsYS0+dHlwZSAhPSBM
QV9BUkVBICYmIChsYS0+bW9kZSAmIExBX1NIQURfUkFZKSkgeworCQl1aUJs
b2NrQmVnaW5BbGlnbihibG9jayk7CisJCXVpRGVmQnV0UyhibG9jaywgVE9H
fEJJVHwxNCwgMCwgIlNvZnQiLCAxMDAsNzAsMTAwLDE5LCAmbGEtPm1vZGUs
IDAsIDAsMCwwLCJUdXJucyBvbiBkaXN0cmlidXRlZCBzYW1wbGluZyBmb3Ig
c29mdCBzaGFkb3dzIik7CisJCQorCQl1aURlZkJ1dEYoYmxvY2ssIE5VTVNM
SSwgMCwgIlNvZnRuZXNzIiwgMTAwLDUwLDIwMCwxOSwmbGEtPm1heHNvZnQs
MC4wLDUuMCwwLDAsIlNldHMgdGhlIHNvZnRuZXNzIGZhY3RvciBmb3Igc2hh
ZG93cyIpOworCQl1aURlZkJ1dEkoYmxvY2ssIE5VTVNMSSwgMCwgIlNhbXBs
ZXMiLCAxMDAsIDMwLCAyMDAsIDE5LCAmbGEtPnNvZnRzYW1wbGVzLDAsMTAw
LDAsMCwiU29mdCBTYW1wbGVzIHRvIHRha2UiKTsKKwkJdWlCbG9ja0VuZEFs
aWduKGJsb2NrKTsKKwl9CiAJaWYobGEtPnR5cGU9PUxBX1NQT1QpIHsKIAkJ
dWlEZWZCdXRTKGJsb2NrLCBUT0d8QklUfDcsIEJfTEFNUFJFRFJBVywiU3F1
YXJlIiwJMTAsNzAsODAsMTksJmxhLT5tb2RlLCAwLCAwLCAwLCAwLCAiU2V0
cyBzcXVhcmUgc3BvdGJ1bmRsZXMiKTsKIAkJdWlEZWZCdXRTKGJsb2NrLCBU
T0d8QklUfDEsIDAsIkhhbG8iLAkJCQkxMCw1MCw4MCwxOSwmbGEtPm1vZGUs
IDAsIDAsIDAsIDAsICJSZW5kZXJzIHNwb3RsaWdodCB3aXRoIGEgdm9sdW1l
dHJpYyBoYWxvIik7IApAQCAtMjU3Myw2ICsyNTgwLDE2IEBACiAJdWlCbG9j
a1NldENvbChibG9jaywgVEhfQVVUTyk7CiB9CiAKK3N0YXRpYyB2b2lkIG1h
dGVyaWFsX3BhbmVsX2JsdXJyeShNYXRlcmlhbCAqbWEpIHsgCisJCXVpQmxv
Y2sgKmJsb2NrPSB1aU5ld0Jsb2NrKCZjdXJhcmVhLT51aWJsb2NrcywgIm1h
dGVyaWFsX3BhbmVsX2JsdXJyeSIsIFVJX0VNQk9TUywgVUlfSEVMViwgY3Vy
YXJlYS0+d2luKTsKKwkJdWlOZXdQYW5lbFRhYmJlZCgiTWlycm9yIFRyYW5z
cCIsIk1hdGVyaWFsIik7CisJCWlmICh1aU5ld1BhbmVsKGN1cmFyZWEsIGJs
b2NrLCAiQmx1cnJ5IiwiTWF0ZXJpYWwiLCA2NDAsIDAsIDMxOCwgMjA0KSA9
PTApIHJldHVybjsKKwkJCQorCQkJdWlEZWZCdXRJKGJsb2NrLCBUT0d8QklU
fDIyLCAwLCJCbHVycnkiLCAyMTAsMTgwLDEwMCwyMCwgJihtYS0+bW9kZSks
MCwwLDAsMCwiRW5hYmxlcyBCbHVycnkgb3ZlcnNhbXBsaW5nIGZvciByYXl0
cmFjaW5nIik7CisJCQl1aURlZkJ1dEYoYmxvY2ssIE5VTVNMSSwgMCwiQmx1
ckZhY3RvciIsIDEwLDE2MCwyMDAsMjAsICYobWEtPmJsdXJmYWN0b3IpLDAu
MCwxLjAsMC4wLDAuMCwiVGhlIE1heGltdW0gcmFuZG9tIHZlY3RvciIpOwkJ
CQorCQkJdWlEZWZCdXRJKGJsb2NrLCBOVU0sIDAsICJTYW1wbGVzIiwgMjEw
LCAxNjAsIDEwMCwgMjAsICYobWEtPmJsdXJzYW1wbGVzKSwyLjAsMTAwLjAs
MCwwLCJUaGUgTnVtYmVyIG9mIHNhbXBsZXMgdG8gdGFrZSIpOworCisJfQog
c3RhdGljIHZvaWQgbWF0ZXJpYWxfcGFuZWxfdHJhbWlyKE1hdGVyaWFsICpt
YSkKIHsKIAl1aUJsb2NrICpibG9jazsKQEAgLTI5MzMsNiArMjk1MCw5IEBA
CiAJCQltYXRlcmlhbF9wYW5lbF9yYW1wcyhtYSk7CiAJCQltYXRlcmlhbF9w
YW5lbF9zaGFkaW5nKG1hKTsKIAkJCW1hdGVyaWFsX3BhbmVsX3RyYW1pciht
YSk7CisJCQlpZiAoKG1hLT5tb2RlICYgTUFfUkFZTUlSUk9SKSB8fCAobWEt
Pm1vZGUgJiBNQV9SQVlUUkFOU1ApKSB7CisJCQkJCW1hdGVyaWFsX3BhbmVs
X2JsdXJyeShtYSk7CisJCQkJfQogCQkJbWF0ZXJpYWxfcGFuZWxfdGV4dHVy
ZShtYSk7CiAJCQkKIAkJCW10ZXg9IG1hLT5tdGV4WyBtYS0+dGV4YWN0IF07
CkBAIC0zMTY0LDUgKzMxODQsMyBAQAogCiAJCiB9Ci0KLQpJbmRleDogbWFr
ZXNkbmEvRE5BX2xhbXBfdHlwZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
ClJDUyBmaWxlOiAvY3Zzcm9vdC9iZi1ibGVuZGVyL2JsZW5kZXIvc291cmNl
L2JsZW5kZXIvbWFrZXNkbmEvRE5BX2xhbXBfdHlwZXMuaCx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS4xMApkaWZmIC11IC1yMS4xMCBETkFfbGFtcF90eXBl
cy5oCi0tLSBtYWtlc2RuYS9ETkFfbGFtcF90eXBlcy5oCTI5IERlYyAyMDAz
IDE2OjUyOjQ5IC0wMDAwCTEuMTAKKysrIG1ha2VzZG5hL0ROQV9sYW1wX3R5
cGVzLmgJMTUgSnVsIDIwMDQgMDE6MzI6NDkgLTAwMDAKQEAgLTU1LDcgKzU1
LDggQEAKIAlzaG9ydCBidWZzaXplLCBzYW1wOwogCWZsb2F0IGNsaXBzdGEs
IGNsaXBlbmQsIHNoYWRzcG90c2l6ZTsKIAlmbG9hdCBiaWFzLCBzb2Z0Owot
CQorCWZsb2F0IG1heHNvZnQ7CisJc2hvcnQgc29mdHNhbXBsZXMsIHNjaHdh
cnR6OwogCXNob3J0IHJheV9zYW1wLCByYXlfc2FtcHksIHJheV9zYW1weiwg
cmF5X3NhbXBfdHlwZTsKIAlzaG9ydCBhcmVhX3NoYXBlLCBwYWQ7CiAJZmxv
YXQgYXJlYV9zaXplLCBhcmVhX3NpemV5LCBhcmVhX3NpemV6OwpAQCAtOTMs
NiArOTQsNyBAQAogI2RlZmluZSBMQV9OT19ESUZGCQkyMDQ4CiAjZGVmaW5l
IExBX05PX1NQRUMJCTQwOTYKICNkZWZpbmUgTEFfU0hBRF9SQVkJCTgxOTIK
KyNkZWZpbmUgTEFfU0hBRF9TT0ZUCTE2Mzg0CiAKIC8qIGFyZWEgc2hhcGUg
Ki8KICNkZWZpbmUgTEFfQVJFQV9TUVVBUkUJMApAQCAtMTExLDQgKzExMywz
IEBACiAKIAogI2VuZGlmIC8qIEROQV9MQU1QX1RZUEVTX0ggKi8KLQpJbmRl
eDogbWFrZXNkbmEvRE5BX21hdGVyaWFsX3R5cGVzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3QvYmYtYmxlbmRlci9ibGVu
ZGVyL3NvdXJjZS9ibGVuZGVyL21ha2VzZG5hL0ROQV9tYXRlcmlhbF90eXBl
cy5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE3CmRpZmYgLXUgLXIxLjE3
IEROQV9tYXRlcmlhbF90eXBlcy5oCi0tLSBtYWtlc2RuYS9ETkFfbWF0ZXJp
YWxfdHlwZXMuaAkzMCBKdW4gMjAwNCAxODo1NDowOCAtMDAwMAkxLjE3Cisr
KyBtYWtlc2RuYS9ETkFfbWF0ZXJpYWxfdHlwZXMuaAkxNSBKdWwgMjAwNCAw
MTozMjo0OSAtMDAwMApAQCAtNTQsNyArNTQsNyBAQAogCWZsb2F0IHNwZWNy
LCBzcGVjZywgc3BlY2I7CiAJZmxvYXQgbWlyciwgbWlyZywgbWlyYjsKIAlm
bG9hdCBhbWJyLCBhbWJiLCBhbWJnOwotCQorCWZsb2F0IGJsdXJmYWN0b3I7
IGludCBibHVyc2FtcGxlczsKIAlmbG9hdCBhbWIsIGVtaXQsIGFuZywgc3Bl
Y3RyYSwgcmF5X21pcnJvcjsKIAlmbG9hdCBhbHBoYSwgcmVmLCBzcGVjLCB6
b2ZmcywgYWRkOwogCWZsb2F0IHRyYW5zbHVjZW5jeTsKQEAgLTExMiw2ICsx
MTIsOCBAQAogI2RlZmluZSBNQV9ZVVYJCQkyCiAjZGVmaW5lIE1BX0hTVgkJ
CTMKIAorCisKIC8qIG1vZGUgKGlzIGludCkgKi8KICNkZWZpbmUgTUFfVFJB
Q0VCTEUJCTEKICNkZWZpbmUgTUFfU0hBRE9XCQkyCkBAIC0xNDAsNyArMTQy
LDcgQEAKICNkZWZpbmUgTUFfU0hBRE9XX1RSQQkweDgwMDAwCiAjZGVmaW5l
IE1BX1JBTVBfQ09MCQkweDEwMDAwMAogI2RlZmluZSBNQV9SQU1QX1NQRUMJ
MHgyMDAwMDAKLQorI2RlZmluZSBNQV9CTFVSUlkJCTB4NDAwMDAwCiAvKiBk
aWZmX3NoYWRlciAqLwogI2RlZmluZSBNQV9ESUZGX0xBTUJFUlQJCTAKICNk
ZWZpbmUgTUFfRElGRl9PUkVOTkFZQVIJMQpAQCAtMjA4LDQgKzIxMCwzIEBA
CiAjZGVmaW5lIE1BX0RBUksJCQkxCiAKICNlbmRpZgotCg==

--0-1814038915-1089862292=:15362--