[tuhopuu-devel] Vertex Loop Patch

Johnny Matthews tuhopuu-devel@blender.org
Fri, 2 Jan 2004 11:49:52 -0600


This is a multi-part message in MIME format.

------_=_NextPart_001_01C3D158.D2EC0766
Content-Type: text/plain;
	charset="utf-8"
Content-Transfer-Encoding: base64

SGVyZSBpcyBhIHBhdGNoIGZvciBhIHZlcnRleCBsb29wIHNlbGVjdCB0b29sLiBJdCBzaG93cyB1
cCBpbiB0aGUgM2Qgd2luZG93IGhlYWRlciBzZWxlY3QgbWVudSBpbiBlZGl0bW9kZS4gSSBqdXN0
IHN0YXJ0ZWQgdXNpbmcgd2luY3ZzLCBzbyBJJ20gbm90IHN1cmUgaWYgdGhlIGRpZmYgZmlsZSBp
cyByaWdodCA6KCAsICBJIGRpZCBhIHJlY3Vyc2l2ZSBkaWZmIG9mIHRoZSBzb3VyY2UvYmxlbmRl
ciBmb2xkZXIuIElmIEkgbmVlZCB0byBkbyB0aGlzIGRpZmZlcmVudGx5IG9yIG5lZWQgdG8gcmVk
byB0aGUgcGF0Y2gsIGxldCBtZSBrbm93LiBBbmQsIGlmIGl0IGlzIHdyb25nIGFuZCB5b3Uga25v
dyBob3cgdG8gZ2V0IGEgZGlmZiBmaWxlIGZyb20gd2luY3ZzLCBsZXQgbWUga25vdyBwbGVhc2Uh
ISEgDQogDQpUaGUgdG9vbCwgd2hlbiBhY3RpdmF0ZWQsIGdpdmVzIGEgcHJldmlldyBsaW5lIGZv
ciB0aGUgbG9vcCwgYW5kIHNlbGVjdHMgdGhlIGxvb3Agb24gbGVmdCBjbGljaywgcmlnaHQgY2xp
Y2sgY2FuY2VscywgU0hJRlQtQ2xpY2sgYWRkcyB0byB0aGUgc2VsZWN0aW9uLCBBTFQtY2xpY2sg
c3VidHJhY3RzLiBIb3BlIGl0IHdvcmtzIGZvciB5b3UgdG9vLg0KIA0KIA0K

------_=_NextPart_001_01C3D158.D2EC0766
Content-Type: text/plain;
	name="vertexloop.diff.txt"
Content-Transfer-Encoding: base64
Content-Description: vertexloop.diff.txt
Content-Disposition: attachment;
	filename="vertexloop.diff.txt"

Y3ZzIGRpZmYgKGluIGRpcmVjdG9yeSBDOlxjdnNcdHVob3B1dTJcc291cmNlXGJsZW5kZXIpDQo/
IG1ha2VzZG5hL2ludGVybi9kbmEuYw0KY3ZzIHNlcnZlcjogRGlmZmluZyAuDQpjdnMgc2VydmVy
OiBEaWZmaW5nIGF2aQ0KY3ZzIHNlcnZlcjogRGlmZmluZyBhdmkvaW50ZXJuDQpjdnMgc2VydmVy
OiBEaWZmaW5nIGJsZW5rZXJuZWwNCmN2cyBzZXJ2ZXI6IERpZmZpbmcgYmxlbmtlcm5lbC9iYWRf
bGV2ZWxfY2FsbF9zdHVicw0KY3ZzIHNlcnZlcjogRGlmZmluZyBibGVua2VybmVsL2ludGVybg0K
Y3ZzIHNlcnZlcjogRGlmZmluZyBibGVubGliDQpjdnMgc2VydmVyOiBEaWZmaW5nIGJsZW5saWIv
aW50ZXJuDQpjdnMgc2VydmVyOiBEaWZmaW5nIGJsZW5sb2FkZXINCmN2cyBzZXJ2ZXI6IERpZmZp
bmcgYmxlbmxvYWRlci9pbnRlcm4NCmN2cyBzZXJ2ZXI6IERpZmZpbmcgYmxlbnBsdWdpbmFwaQ0K
Y3ZzIHNlcnZlcjogRGlmZmluZyBibGVucGx1Z2luYXBpL2ludGVybg0KY3ZzIHNlcnZlcjogRGlm
ZmluZyBkZWNyeXB0DQpjdnMgc2VydmVyOiBEaWZmaW5nIGRlY3J5cHQvaW50ZXJuDQpjdnMgc2Vy
dmVyOiBEaWZmaW5nIGRlY3J5cHQvc3R1Yg0KY3ZzIHNlcnZlcjogRGlmZmluZyBkZWZsYXRlDQpj
dnMgc2VydmVyOiBEaWZmaW5nIGRlZmxhdGUvaW50ZXJuDQpjdnMgc2VydmVyOiBEaWZmaW5nIGRl
ZmxhdGUvc3R1Yg0KY3ZzIHNlcnZlcjogRGlmZmluZyBkZWZsYXRlL3Rlc3QNCmN2cyBzZXJ2ZXI6
IERpZmZpbmcgZGVmbGF0ZS90ZXN0L3N0dWJiZWQNCmN2cyBzZXJ2ZXI6IERpZmZpbmcgZW5jcnlw
dA0KY3ZzIHNlcnZlcjogRGlmZmluZyBlbmNyeXB0L2ludGVybg0KY3ZzIHNlcnZlcjogRGlmZmlu
ZyBmdGZvbnQNCmN2cyBzZXJ2ZXI6IERpZmZpbmcgZnRmb250L2ludGVybg0KY3ZzIHNlcnZlcjog
RGlmZmluZyBpbWJ1Zg0KY3ZzIHNlcnZlcjogRGlmZmluZyBpbWJ1Zi9pbnRlcm4NCmN2cyBzZXJ2
ZXI6IERpZmZpbmcgaW1nDQpjdnMgc2VydmVyOiBEaWZmaW5nIGltZy9pbnRlcm4NCmN2cyBzZXJ2
ZXI6IERpZmZpbmcgaW5jbHVkZQ0KSW5kZXg6IGluY2x1ZGUvQklGX2VkaXRtZXNoLmgNCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0NClJDUyBmaWxlOiAvY3Zzcm9vdC90dWhvcHV1L3R1aG9wdXUyL3NvdXJjZS9ibGVuZGVy
L2luY2x1ZGUvQklGX2VkaXRtZXNoLmgsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjEyDQpkaWZm
IC1yMS4xMiBCSUZfZWRpdG1lc2guaA0KMTMzYTEzNA0KPiB2b2lkIHZlcnRleF9sb29wKHZvaWQp
Ow0KY3ZzIHNlcnZlcjogRGlmZmluZyBpbmZsYXRlDQpjdnMgc2VydmVyOiBEaWZmaW5nIGluZmxh
dGUvaW50ZXJuDQpjdnMgc2VydmVyOiBEaWZmaW5nIG1ha2VzZG5hDQpjdnMgc2VydmVyOiBEaWZm
aW5nIG1ha2VzZG5hL2ludGVybg0KY3ZzIHNlcnZlcjogRGlmZmluZyBweXRob24NCmN2cyBzZXJ2
ZXI6IERpZmZpbmcgcHl0aG9uL2FwaTJfMngNCmN2cyBzZXJ2ZXI6IERpZmZpbmcgcHl0aG9uL2Fw
aTJfMngvZG9jDQpjdnMgc2VydmVyOiBEaWZmaW5nIHF1aWNrdGltZQ0KY3ZzIHNlcnZlcjogRGlm
ZmluZyBxdWlja3RpbWUvYXBwbGUNCmN2cyBzZXJ2ZXI6IERpZmZpbmcgcmFkaW9zaXR5DQpjdnMg
c2VydmVyOiBEaWZmaW5nIHJhZGlvc2l0eS9leHRlcm4NCmN2cyBzZXJ2ZXI6IERpZmZpbmcgcmFk
aW9zaXR5L2V4dGVybi9pbmNsdWRlDQpjdnMgc2VydmVyOiBEaWZmaW5nIHJhZGlvc2l0eS9pbnRl
cm4NCmN2cyBzZXJ2ZXI6IERpZmZpbmcgcmFkaW9zaXR5L2ludGVybi9zb3VyY2UNCmN2cyBzZXJ2
ZXI6IERpZmZpbmcgcmVhZGJsZW5maWxlDQpjdnMgc2VydmVyOiBEaWZmaW5nIHJlYWRibGVuZmls
ZS9pbnRlcm4NCmN2cyBzZXJ2ZXI6IERpZmZpbmcgcmVhZGJsZW5maWxlL3N0dWINCmN2cyBzZXJ2
ZXI6IERpZmZpbmcgcmVhZGJsZW5maWxlL3Rlc3QNCmN2cyBzZXJ2ZXI6IERpZmZpbmcgcmVhZHN0
cmVhbWdsdWUNCmN2cyBzZXJ2ZXI6IERpZmZpbmcgcmVhZHN0cmVhbWdsdWUvaW50ZXJuDQpjdnMg
c2VydmVyOiBEaWZmaW5nIHJlbmRlcg0KY3ZzIHNlcnZlcjogRGlmZmluZyByZW5kZXIvZXh0ZXJu
DQpjdnMgc2VydmVyOiBEaWZmaW5nIHJlbmRlci9leHRlcm4vaW5jbHVkZQ0KY3ZzIHNlcnZlcjog
RGlmZmluZyByZW5kZXIvaW50ZXJuDQpjdnMgc2VydmVyOiBEaWZmaW5nIHJlbmRlci9pbnRlcm4v
aW5jbHVkZQ0KY3ZzIHNlcnZlcjogRGlmZmluZyByZW5kZXIvaW50ZXJuL3NvdXJjZQ0KY3ZzIHNl
cnZlcjogRGlmZmluZyByZW5kZXJjb252ZXJ0ZXINCmN2cyBzZXJ2ZXI6IERpZmZpbmcgcmVuZGVy
Y29udmVydGVyL2ludGVybg0KY3ZzIHNlcnZlcjogRGlmZmluZyBzaWduDQpjdnMgc2VydmVyOiBE
aWZmaW5nIHNpZ24vaW50ZXJuDQpjdnMgc2VydmVyOiBEaWZmaW5nIHNyYw0KSW5kZXg6IHNyYy9l
ZGl0bWVzaC5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2N2c3Jvb3QvdHVob3B1dS90dWhvcHV1
Mi9zb3VyY2UvYmxlbmRlci9zcmMvZWRpdG1lc2guYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
NTENCmRpZmYgLXIxLjUxIGVkaXRtZXNoLmMNCjMxMzlhMzE0MCwzMzcwDQo+IHNob3J0IHNoYXJl
c0ZhY2UoRWRpdEVkZ2UqIGUxLCBFZGl0RWRnZSogZTIpDQo+IHsNCj4gDQo+IAlFZGl0VmxhayAq
c2VhcmNoPU5VTEw7DQo+IAlzZWFyY2ggPSBHLmVkdmwuZmlyc3Q7DQo+IA0KPiAJaWYgKGUxID09
IGUyKXsNCj4gCQlyZXR1cm4gMCA7DQo+IAl9DQo+IAl3aGlsZShzZWFyY2gpew0KPiAJCWlmKA0K
PiAJCQkoKHNlYXJjaC0+ZTEgPT0gZTEgfHwgc2VhcmNoLT5lMiA9PSBlMSkgfHwgKHNlYXJjaC0+
ZTMgPT0gZTEgfHwgc2VhcmNoLT5lNCA9PSBlMSkpICYmDQo+IAkJCSgoc2VhcmNoLT5lMSA9PSBl
MiB8fCBzZWFyY2gtPmUyID09IGUyKSB8fCAoc2VhcmNoLT5lMyA9PSBlMiB8fCBzZWFyY2gtPmU0
ID09IGUyKSkNCj4gCQkJKSB7DQo+IAkJCXJldHVybiAxOw0KPiAJCX0NCj4gCQlzZWFyY2ggPSBz
ZWFyY2gtPm5leHQ7DQo+IAkJDQo+IAl9DQo+IAlyZXR1cm4gMDsNCj4gfQ0KPiANCj4gdm9pZCB2
ZXJ0ZXhfbG9vcCgpIA0KPiB7DQo+IAlFZGl0VmVydCAqdjE9TlVMTCwqdjI9TlVMTCwqY3VyVmVy
dD1OVUxMOw0KPiAJRWRpdEVkZ2UgKnNlYXJjaD1OVUxMLCpzdGFydEVkZ2U9TlVMTCwqdmFsU2Vh
cmNoID0gTlVMTCwqbmVhcmVzdCwqY29tcEVkZ2U7DQo+IAlFZGl0RWRnZSAqRWRnZVZhbFs1XSA9
IHtOVUxMLE5VTEwsTlVMTCxOVUxMLE5VTEx9Ow0KPiAJc2hvcnQgbnVtRWRnZXM9MCxjdXJFZGdl
ID0gMCxsb29raW5nID0gMSxlZGdlVmFsQ291bnQgPSAwLGk9MCxsb29wZWQgPSAwLGNob29zaW5n
ID0gMSxldmVudCxub2xvb3A9MCxjYW5jZWw9MDsNCj4gDQo+IAlzZWFyY2ggPSBHLmVkZWQuZmly
c3Q7DQo+IAl3aGlsZShzZWFyY2gpew0KPiAJCW51bUVkZ2VzKys7DQo+IAkJc2VhcmNoPSBzZWFy
Y2gtPm5leHQ7DQo+IAl9DQo+IAkvKiBzdGFydCB3aXRoIHYxIGFuZCBnbyBpbiBvbmUgZGlyZWN0
aW9uLiAqLw0KPiAJd2hpbGUoY2hvb3Npbmcpew0KPiAJCW5lYXJlc3QgPSBmaW5kbmVhcmVzdGVk
Z2UoKTsNCj4gCQlpZihuZWFyZXN0ICE9IE5VTEwpew0KPiAJCQkNCj4gCQkJc2VhcmNoID0gRy5l
ZGVkLmZpcnN0Ow0KPiAJCQl3aGlsZShzZWFyY2gpew0KPiAJCQkJc2VhcmNoLT5mICY9IH4zMjsN
Cj4gCQkJCXNlYXJjaD0gc2VhcmNoLT5uZXh0Ow0KPiAJCQl9DQo+IAkJCWNvbXBFZGdlID0gc3Rh
cnRFZGdlID0gbmVhcmVzdDsNCj4gCQkJbmVhcmVzdC0+ZiB8PSAzMjsNCj4gCQkJY3VyRWRnZSA9
IDA7DQo+IAkJCXYxID0gc3RhcnRFZGdlLT52MTsNCj4gCQkJdjIgPSBzdGFydEVkZ2UtPnYyOw0K
PiANCj4gCQkJbG9va2luZyA9IDE7DQo+IAkJCXdoaWxlKGxvb2tpbmcpew0KPiAJCQkJLypGaW5k
IEVkZ2VzIHRoYXQgaGF2ZSB2MSovDQo+IAkJCQl2YWxTZWFyY2ggPSBHLmVkZWQuZmlyc3Q7DQo+
IAkJCQllZGdlVmFsQ291bnQgPSAtMTsNCj4gCQkJCUVkZ2VWYWxbMF0gPSBFZGdlVmFsWzFdID0g
RWRnZVZhbFsyXSA9IE5VTEw7DQo+IAkJCQkNCj4gCQkJCXdoaWxlKHZhbFNlYXJjaCl7DQo+IAkJ
CQkJaWYodmFsU2VhcmNoLT52MSA9PSB2MSB8fCB2YWxTZWFyY2gtPnYyID09IHYxKXsNCj4gCQkJ
CQkJaWYodmFsU2VhcmNoICE9IGNvbXBFZGdlKXsNCj4gCQkJCQkJCWVkZ2VWYWxDb3VudCsrOwkJ
CQkJCQkNCj4gCQkJCQkJCUVkZ2VWYWxbZWRnZVZhbENvdW50XSA9IHZhbFNlYXJjaDsNCj4gCQkJ
CQkJfQ0KPiAJCQkJCX0NCj4gCQkJCQl2YWxTZWFyY2ggPSB2YWxTZWFyY2gtPm5leHQ7DQo+IAkJ
CQkJaWYoZWRnZVZhbENvdW50ID09IDMpYnJlYWs7DQo+IAkJCQl9DQo+IA0KPiAJCQkJLyogQ2hl
Y2sgdGhhdCB0aGVyZSB3YXMgYSB2YWxhbmNlIG9mIDQqLw0KPiAJCQkJaWYoZWRnZVZhbENvdW50
ICE9IDIpew0KPiAJCQkJCW5vbG9vcCA9IDE7DQo+IAkJCQkJbG9va2luZyA9IDA7DQo+IAkJCQkJ
YnJlYWs7DQo+IAkJCQl9DQo+IAkJCQllbHNlew0KPiAJCQkJLyogVGhlcmUgd2VyZSAzIGVkZ2Vz
LCBzbyBmaW5kIHRoZSBvbmUgdGhhdCBkb2VzIG5vdCBzaGFyZSB0aGUgcHJldmlvdXMgZWRnZSAq
Lw0KPiAJCQkJCWZvcihpPTA7aTwzO2krKyl7DQo+IAkJCQkJCWlmKHNoYXJlc0ZhY2UoY29tcEVk
Z2UsRWRnZVZhbFtpXSkgPT0gMCl7DQo+IAkJCQkJCQkvKiBXZSB3ZW50IGFsbCB0aGUgd2F5IGFy
b3VuZCB0aGUgbG9vcCAqLw0KPiAJCQkJCQkJaWYoRWRnZVZhbFtpXSA9PSBuZWFyZXN0KXsNCj4g
CQkJCQkJCQlsb29raW5nID0gMDsNCj4gCQkJCQkJCQlsb29wZWQgPSAxOw0KPiAJCQkJCQkJCWJy
ZWFrOw0KPiAJCQkJCQkJfQ0KPiAJCQkJCQkJZWxzZXsNCj4gCQkJCQkJCQkvKiB3ZSBhcmUgc3Rp
bGwgaW4gdGhlIGxvb3AsIHNvIGFkZCB0aGUgbmV4dCBlZGdlKi8NCj4gCQkJCQkJCQljdXJFZGdl
Kys7DQo+IAkJCQkJCQkJRWRnZVZhbFtpXS0+ZiB8PSAzMjsNCj4gCQkJCQkJCQljb21wRWRnZSA9
IEVkZ2VWYWxbaV07DQo+IAkJCQkJCQkJaWYoY29tcEVkZ2UtPnYxID09IHYxKQ0KPiAJCQkJCQkJ
CQl2MSA9IGNvbXBFZGdlLT52MjsNCj4gCQkJCQkJCQllbHNlDQo+IAkJCQkJCQkJCXYxID0gY29t
cEVkZ2UtPnYxOw0KPiANCj4gCQkJCQkJCX0NCj4gCQkJCQkJfQ0KPiAJCQkJCX0NCj4gCQkJCX0N
Cj4gCQkJfQkNCj4gCQkJY29tcEVkZ2UgPSBuZWFyZXN0Ow0KPiAJCQlsb29raW5nID0gMTsNCj4g
CQkJd2hpbGUobG9va2luZy8qICYmICFsb29wZWQqLyl7DQo+IAkJCQkvKkZpbmQgRWRnZXMgdGhh
dCBoYXZlIHYxKi8NCj4gCQkJCXZhbFNlYXJjaCA9IEcuZWRlZC5maXJzdDsNCj4gCQkJCWVkZ2VW
YWxDb3VudCA9IC0xOw0KPiAJCQkJRWRnZVZhbFswXSA9IEVkZ2VWYWxbMV0gPSBFZGdlVmFsWzJd
ID0gTlVMTDsNCj4gCQkJCQ0KPiAJCQkJd2hpbGUodmFsU2VhcmNoKXsNCj4gCQkJCQlpZih2YWxT
ZWFyY2gtPnYxID09IHYyIHx8IHZhbFNlYXJjaC0+djIgPT0gdjIpew0KPiAJCQkJCQlpZih2YWxT
ZWFyY2ggIT0gY29tcEVkZ2Upew0KPiAJCQkJCQkJZWRnZVZhbENvdW50Kys7CQkJCQkJCQ0KPiAJ
CQkJCQkJRWRnZVZhbFtlZGdlVmFsQ291bnRdID0gdmFsU2VhcmNoOw0KPiAJCQkJCQl9DQo+IAkJ
CQkJfQ0KPiAJCQkJCXZhbFNlYXJjaCA9IHZhbFNlYXJjaC0+bmV4dDsNCj4gCQkJCQlpZihlZGdl
VmFsQ291bnQgPT0gMylicmVhazsNCj4gCQkJCX0NCj4gDQo+IAkJCQkvKiBDaGVjayB0aGF0IHRo
ZXJlIHdhcyBhIHZhbGFuY2Ugb2YgNCovDQo+IAkJCQlpZihlZGdlVmFsQ291bnQgIT0gMil7DQo+
IAkJCQkJbm9sb29wID0gMTsNCj4gCQkJCQlsb29raW5nID0gMDsNCj4gCQkJCQlicmVhazsNCj4g
CQkJCX0NCj4gCQkJCWVsc2V7DQo+IAkJCQkvKiBUaGVyZSB3ZXJlIDMgZWRnZXMsIHNvIGZpbmQg
dGhlIG9uZSB0aGF0IGRvZXMgbm90IHNoYXJlIHRoZSBwcmV2aW91cyBlZGdlICovDQo+IAkJCQkJ
Zm9yKGk9MDtpPDM7aSsrKXsNCj4gCQkJCQkJaWYoc2hhcmVzRmFjZShjb21wRWRnZSxFZGdlVmFs
W2ldKSA9PSAwKXsNCj4gCQkJCQkJCS8qIFdlIHdlbnQgYWxsIHRoZSB3YXkgYXJvdW5kIHRoZSBs
b29wICovDQo+IAkJCQkJCQlpZihFZGdlVmFsW2ldID09IG5lYXJlc3Qpew0KPiAJCQkJCQkJCWxv
b2tpbmcgPSAwOw0KPiAJCQkJCQkJCWxvb3BlZCA9IDE7DQo+IAkJCQkJCQkJYnJlYWs7DQo+IAkJ
CQkJCQl9DQo+IAkJCQkJCQllbHNlew0KPiAJCQkJCQkJCS8qIHdlIGFyZSBzdGlsbCBpbiB0aGUg
bG9vcCwgc28gYWRkIHRoZSBuZXh0IGVkZ2UqLw0KPiAJCQkJCQkJCWN1ckVkZ2UrKzsNCj4gCQkJ
CQkJCQlFZGdlVmFsW2ldLT5mIHw9IDMyOw0KPiAJCQkJCQkJCWNvbXBFZGdlID0gRWRnZVZhbFtp
XTsNCj4gCQkJCQkJCQlpZihjb21wRWRnZS0+djEgPT0gdjIpDQo+IAkJCQkJCQkJCXYyID0gY29t
cEVkZ2UtPnYyOw0KPiAJCQkJCQkJCWVsc2UNCj4gCQkJCQkJCQkJdjIgPSBjb21wRWRnZS0+djE7
DQo+IA0KPiAJCQkJCQkJfQ0KPiAJCQkJCQl9DQo+IAkJCQkJfQ0KPiAJCQkJfQ0KPiAJCQl9CQkN
Cj4gDQo+IAkJCXNjcmFyZWFfZG9fd2luZHJhdyhjdXJhcmVhKTsNCj4gCQkJcGVyc3AoUEVSU1Bf
VklFVyk7DQo+IAkJCWdsUHVzaE1hdHJpeCgpOw0KPiAJCQlteW11bHRtYXRyaXgoRy5vYmVkaXQt
Pm9ibWF0KTsNCj4gCQkJZ2xDb2xvcjN1YigwLCAyNTUsIDI1NSk7DQo+IAkJCXNlYXJjaCA9IEcu
ZWRlZC5maXJzdDsNCj4gCQkJd2hpbGUoc2VhcmNoKXsNCj4gCQkJCWlmKHNlYXJjaC0+ZiAmIDMy
KXsNCj4gCQkJCQlnbEJlZ2luKEdMX0xJTkVTKTsJCQkNCj4gCQkJCQlnbFZlcnRleDNmKHNlYXJj
aC0+djEtPmNvWzBdLHNlYXJjaC0+djEtPmNvWzFdLHNlYXJjaC0+djEtPmNvWzJdKTsNCj4gCQkJ
CQlnbFZlcnRleDNmKHNlYXJjaC0+djItPmNvWzBdLHNlYXJjaC0+djItPmNvWzFdLHNlYXJjaC0+
djItPmNvWzJdKTsNCj4gCQkJCQlnbEVuZCgpOw0KPiAJCQkJfQ0KPiAJCQkJc2VhcmNoPSBzZWFy
Y2gtPm5leHQ7DQo+IAkJCX0JCQkNCj4gCQkJDQo+IAkJCQ0KPiAJCQlmb3IoaT0wO2k8PWN1ckVk
Z2U7aSsrKXsNCj4gDQo+IAkJCX0NCj4gCQkJZ2xQb3BNYXRyaXgoKTsNCj4gCQkJc2NyZWVuX3N3
YXBidWZmZXJzKCk7DQo+IA0KPiAJCQl3aGlsZShxdGVzdCgpKSANCj4gCQkJew0KPiAJCQkJdW5z
aWduZWQgc2hvcnQgdmFsPTA7DQo+IAkJCQlldmVudD0gZXh0ZXJuX3FyZWFkKCZ2YWwpOwkvLyBl
eHRlcm5fcXJlYWQgc3RvcmVzIGltcG9ydGFudCBldmVudHMgZm9yIHRoZSBtYWlubG9vcCB0byBo
YW5kbGUgDQo+IAkJCQlpZih2YWwgJiYgKChldmVudD09TEVGVE1PVVNFIHx8IGV2ZW50PT1SRVRL
RVkpIHx8IGV2ZW50ID09IE1JRERMRU1PVVNFKSkNCj4gCQkJCXsNCj4gCQkJCQljaG9vc2luZz0w
Ow0KPiAJCQkJCWJyZWFrOw0KPiAJCQkJfQ0KPiAJCQkJaWYodmFsICYmIChldmVudD09RVNDS0VZ
IHx8IGV2ZW50PT1SSUdIVE1PVVNFICkpDQo+IAkJCQl7DQo+IAkJCQkJY2hvb3Npbmc9MDsNCj4g
CQkJCQljYW5jZWwgPSAxOw0KPiAJCQkJCWJyZWFrOw0KPiAJCQkJfQ0KPiAJCQl9DQo+IAkJfQ0K
PiAJfQ0KPiAJaWYoIWNhbmNlbCl7DQo+IAkJaWYoKChHLnF1YWwgJiBMUl9TSElGVEtFWSkgPT0g
MCkgJiYgICEoRy5xdWFsICYgTFJfQUxUS0VZKSAgKXsNCj4gCQlzZWFyY2ggPSBHLmVkZWQuZmly
c3Q7DQo+IAkJCXdoaWxlKHNlYXJjaCl7DQo+IAkJCQlzZWFyY2gtPnYxLT5mICY9ICExOw0KPiAJ
CQkJc2VhcmNoLT52Mi0+ZiAmPSAhMTsNCj4gCQkJCXNlYXJjaD0gc2VhcmNoLT5uZXh0Ow0KPiAJ
CQl9DQo+IAkJfQ0KPiANCj4gCQlpZigoRy5xdWFsICYgTFJfQUxUS0VZKSA9PSAwKXsNCj4gCQkJ
c2VhcmNoID0gRy5lZGVkLmZpcnN0Ow0KPiAJCQl3aGlsZShzZWFyY2gpew0KPiANCj4gCQkJCWlm
KHNlYXJjaC0+ZiAmIDMyKXsNCj4gCQkJCQlzZWFyY2gtPnYxLT5mIHw9IDE7DQo+IAkJCQkJc2Vh
cmNoLT52Mi0+ZiB8PSAxOw0KPiAJCQkJfQ0KPiAJCQkJc2VhcmNoLT5mICY9IH4zMjsNCj4gCQkJ
CXNlYXJjaD0gc2VhcmNoLT5uZXh0Ow0KPiAJCQl9DQo+IAkJfQ0KPiAJCWVsc2UNCj4gCQl7DQo+
IAkJCXNlYXJjaCA9IEcuZWRlZC5maXJzdDsNCj4gCQkJd2hpbGUoc2VhcmNoKXsNCj4gDQo+IAkJ
CQlpZihzZWFyY2gtPmYgJiAzMil7DQo+IAkJCQkJc2VhcmNoLT52MS0+ZiAmPSAhMTsNCj4gCQkJ
CQlzZWFyY2gtPnYyLT5mICY9ICExOw0KPiAJCQkJfQ0KPiAJCQkJc2VhcmNoLT5mICY9IH4zMjsN
Cj4gCQkJCXNlYXJjaD0gc2VhcmNoLT5uZXh0Ow0KPiAJCQl9DQo+IAkJfQ0KPiAJfQ0KPiAJYWRk
cXVldWUoY3VyYXJlYS0+d2luLCBSRURSQVcsIDEpOyANCj4gCXJldHVybjsNCj4gfQ0KPiANCklu
ZGV4OiBzcmMvaGVhZGVyX3ZpZXczZC5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2N2c3Jvb3Qv
dHVob3B1dS90dWhvcHV1Mi9zb3VyY2UvYmxlbmRlci9zcmMvaGVhZGVyX3ZpZXczZC5jLHYNCnJl
dHJpZXZpbmcgcmV2aXNpb24gMS4zDQpkaWZmIC1yMS4zIGhlYWRlcl92aWV3M2QuYw0KNTk0YTU5
NSw1OTcNCj4gCQljYXNlIDEwOiAvKiBzZWxlY3QgbGVzcyAqLw0KPiAJCQl2ZXJ0ZXhfbG9vcCgp
Ow0KPiAJCQlicmVhazsNCjYzMGM2MzMsNjM3DQo8IAkJDQotLS0NCj4gDQo+IAkNCj4gCXVpRGVm
SWNvblRleHRCdXQoYmxvY2ssIEJVVE0sIDEsIElDT05fQkxBTksxLCAiVmVydGV4IExvb3AiLAkJ
CQkwLCB5Y28tPTIwLCBtZW51d2lkdGgsIDE5LCBOVUxMLCAwLjAsIDAuMCwgMSwgMTAsICIiKTsN
Cj4gDQo+IA0KY3ZzIHNlcnZlcjogRGlmZmluZyBzcmMvY3JlDQpjdnMgc2VydmVyOiBEaWZmaW5n
IHNyYy9wdWINCmN2cyBzZXJ2ZXI6IERpZmZpbmcgdmVyaWZ5DQpjdnMgc2VydmVyOiBEaWZmaW5n
IHZlcmlmeS9pbnRlcm4NCmN2cyBzZXJ2ZXI6IERpZmZpbmcgd3JpdGVibGVuZmlsZQ0KY3ZzIHNl
cnZlcjogRGlmZmluZyB3cml0ZWJsZW5maWxlL2ludGVybg0KY3ZzIHNlcnZlcjogRGlmZmluZyB3
cml0ZWJsZW5maWxlL3Rlc3QNCmN2cyBzZXJ2ZXI6IERpZmZpbmcgd3JpdGVzdHJlYW1nbHVlDQpj
dnMgc2VydmVyOiBEaWZmaW5nIHdyaXRlc3RyZWFtZ2x1ZS9pbnRlcm4NCmN2cyBzZXJ2ZXI6IERp
ZmZpbmcgd3JpdGVzdHJlYW1nbHVlL3N0dWINCmN2cyBzZXJ2ZXI6IERpZmZpbmcgd3JpdGVzdHJl
YW1nbHVlL3Rlc3QNCmN2cyBzZXJ2ZXI6IERpZmZpbmcgd3JpdGVzdHJlYW1nbHVlL3Rlc3QvcmVh
ZHdyaXRldGVzdA0KY3ZzIHNlcnZlcjogRGlmZmluZyB3cml0ZXN0cmVhbWdsdWUvdGVzdC90eXBl
dGVzdA0KDQoqKioqKkNWUyBleGl0ZWQgbm9ybWFsbHkgd2l0aCBjb2RlIDEqKioqKg==

------_=_NextPart_001_01C3D158.D2EC0766--