[omniORB] MARSHAL Exception with Visibroker/Java and Any

David Riddoch djr@uk.research.att.com
Fri, 19 Mar 1999 15:12:04 +0000 (GMT)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--2090734912-1051046050-921856324=:17941
Content-Type: TEXT/PLAIN; charset=US-ASCII


Gary,


I've done something similar. I don't think we need to duplicate the
TypeCodes before passing them to the offset table however. See attached
patch.

We now always accept TypeCode indirections - even to fundamental types. We
reject mis-aligned indirections by default, but in lcdMode we accept them
and issue a warning (if omniORB::traceLevel > 1).

Let me know if this works (or not).


Cheers,
David


PS. A minor correction in rope.h is included in this patch.


On Thu, 18 Mar 1999, Gary D. Duzan wrote:

> 
>    Here is what seems to be working for us now. It seems like it might
> slow down offset table lookups in general, but it is probably the right
> thing to do to deal with all the potentially brain dead ORBs out
> there.
> 
> 					Gary Duzan
> 					GTE Laboratories

--2090734912-1051046050-921856324=:17941
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=diff
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.04.9903191512040.17941@pitanga>
Content-Description: 
Content-Disposition: attachment; filename=diff

ZGlmZiAtcmMgaW5jbHVkZS9vbW5pT1JCMi9vbW5pT1JCLmggbmV3aW5jbHVk
ZS9vbW5pT1JCMi9vbW5pT1JCLmgNCioqKiBpbmNsdWRlL29tbmlPUkIyL29t
bmlPUkIuaAlUaHUgRmViIDE4IDE1OjE5OjU0IDE5OTkNCi0tLSBuZXdpbmNs
dWRlL29tbmlPUkIyL29tbmlPUkIuaAlGcmkgTWFyIDE5IDA5OjUxOjE5IDE5
OTkNCioqKioqKioqKioqKioqKg0KKioqIDUzNSw1NDAgKioqKg0KLS0tIDUz
NSw1NDMgLS0tLQ0KICAgIF9DT1JCQV9NT0RVTEVfVkFSIENPUkJBOjpCb29s
ZWFuIHVzZVR5cGVDb2RlSW5kaXJlY3Rpb25zOw0KICAgIC8vIHRydWUgYnkg
ZGVmYXVsdA0KICANCisgICBfQ09SQkFfTU9EVUxFX1ZBUiBDT1JCQTo6Qm9v
bGVhbiBhY2NlcHRNaXNhbGlnbmVkVGNJbmRpcmVjdGlvbnM7DQorICAgLy8g
ZmFsc2UgYnkgZGVmYXVsdA0KKyANCiAgDQogICAgY2xhc3MgbG9nU3RyZWFt
IHsNCiAgICBwdWJsaWM6DQpkaWZmIC1yYyBpbmNsdWRlL29tbmlPUkIyL3Jv
cGUuaCBuZXdpbmNsdWRlL29tbmlPUkIyL3JvcGUuaA0KKioqIGluY2x1ZGUv
b21uaU9SQjIvcm9wZS5oCU1vbiBKYW4gMjUgMTg6MDY6MjQgMTk5OQ0KLS0t
IG5ld2luY2x1ZGUvb21uaU9SQjIvcm9wZS5oCVdlZCBNYXIgMTcgMTI6NDM6
NDAgMTk5OQ0KKioqKioqKioqKioqKioqDQoqKiogMjksMzQgKioqKg0KLS0t
IDI5LDM3IC0tLS0NCiAgDQogIC8qDQogICAgJExvZzogcm9wZS5oLHYgJA0K
KyAgIFJldmlzaW9uIDEuNyAgMTk5OS8wMy8xNyAxMjo0Mzo0MCAgZGpyDQor
ICAgQ29ycmVjdGVkIGVycm9yIGluIFJvcGVfdmFyIGNvcHkgY29uc3RydWN0
b3IuDQorIA0KICAgIFJldmlzaW9uIDEuNiAgMTk5OS8wMS8yNSAxODowNjoy
NCAgc2xsDQogICAgQWRkZWQgY29tbWVudCBvbiB0aGUgc2lkZS1lZmZlY3Qg
b2YgV3JUaW1lZExvY2sgYW5kIFdyVW5sb2NrKFN0cmFuZCopLg0KICANCioq
KioqKioqKioqKioqKg0KKioqIDgxNiw4MjUgKioqKg0KICAgIH0NCiAgDQog
ICAgaW5saW5lIFJvcGVfdmFyKGNvbnN0IFJvcGVfdmFyJiBwKSB7DQotICAg
ICBpZiAoX3B0cikgew0KLSAgICAgICBfcHRyLT5kZWNyUmVmQ291bnQoKTsN
Ci0gICAgICAgX3B0ciA9IDA7DQotICAgICB9DQogICAgICBpZiAocC5fcHRy
KSB7DQogICAgICAgIHAuX3B0ci0+aW5jclJlZkNvdW50KCk7DQogICAgICB9
DQotLS0gODE5LDgyNCAtLS0tDQpkaWZmIC1yYyBzcmMvbGliL29tbmlPUkIy
L2R5bmFtaWMvdHlwZWNvZGUuY2MgbmV3c3JjL2xpYi9vbW5pT1JCMi9keW5h
bWljL3R5cGVjb2RlLmNjDQoqKiogc3JjL2xpYi9vbW5pT1JCMi9keW5hbWlj
L3R5cGVjb2RlLmNjCVRodSBNYXIgMTEgMTY6MzE6MzMgMTk5OQ0KLS0tIG5l
d3NyYy9saWIvb21uaU9SQjIvZHluYW1pYy90eXBlY29kZS5jYwlGcmkgTWFy
IDE5IDExOjUxOjMxIDE5OTkNCioqKioqKioqKioqKioqKg0KKioqIDMxODUs
MzE5MCAqKioqDQotLS0gMzE4NSwzMTk5IC0tLS0NCiAgICBpZiAocGRfcGFy
ZW50X3RhYmxlICE9IDApDQogICAgICByZXR1cm4gcGRfcGFyZW50X3RhYmxl
LT5sb29rdXBPZmZzZXQob2Zmc2V0ICsgcGRfcGFyZW50X2Jhc2Vfb2Zmc2V0
KTsNCiAgDQorICAgaWYoIG9tbmlPUkI6OmFjY2VwdE1pc2FsaWduZWRUY0lu
ZGlyZWN0aW9ucyAmJiAob2Zmc2V0ICYgMHgzKSApIHsNCisgICAgIGlmKCBv
bW5pT1JCOjp0cmFjZUxldmVsID4gMSApIHsNCisgICAgICAgb21uaU9SQjo6
bG9nIDw8ICJvbW5pT1JCOiBXQVJOSU5HIC0gcmVjZWl2ZWQgVHlwZUNvZGUg
d2l0aCBtaXMtYWxpZ25lZCINCisgCSJpbmRpcmVjdGlvbi5cbiI7DQorICAg
ICAgIG9tbmlPUkI6OmxvZy5mbHVzaCgpOw0KKyAgICAgfQ0KKyAgICAgb2Zm
c2V0ID0gKG9mZnNldCArIDMpICYgMHhmZmZmZmZmYzsNCisgICB9DQorIA0K
ICAgIC8vIE90aGVyd2lzZSwganVzdCBsb29rIGluIHRoaXMgdGFibGUgZGly
ZWN0bHkNCiAgICBUeXBlQ29kZV9vZmZzZXRFbnRyeSogZW50cnkgPSBwZF90
YWJsZTsNCiAgDQoqKioqKioqKioqKioqKioNCioqKiAzNDE1LDM0NDYgKioq
Kg0KLS0tIDM0MjQsMzQ2OSAtLS0tDQogIA0KICAgICAgLy8gU2ltcGxlIHR5
cGVzIHdpdGggbm8gcGFyYW1ldGVycw0KICAgICAgY2FzZSBDT1JCQTo6dGtf
bnVsbDoNCisgICAgICAgb3RibC0+YWRkRW50cnkob3RibC0+Y3VycmVudE9m
ZnNldCgpLCBUb1RjQmFzZShDT1JCQTo6X3RjX251bGwpKTsNCiAgICAgICAg
cmV0dXJuIFR5cGVDb2RlX2NvbGxlY3Rvcjo6ZHVwbGljYXRlUmVmKFRvVGNC
YXNlKENPUkJBOjpfdGNfbnVsbCkpOw0KICAgICAgY2FzZSBDT1JCQTo6dGtf
dm9pZDoNCisgICAgICAgb3RibC0+YWRkRW50cnkob3RibC0+Y3VycmVudE9m
ZnNldCgpLCBUb1RjQmFzZShDT1JCQTo6X3RjX3ZvaWQpKTsNCiAgICAgICAg
cmV0dXJuIFR5cGVDb2RlX2NvbGxlY3Rvcjo6ZHVwbGljYXRlUmVmKFRvVGNC
YXNlKENPUkJBOjpfdGNfdm9pZCkpOw0KICAgICAgY2FzZSBDT1JCQTo6dGtf
c2hvcnQ6DQorICAgICAgIG90YmwtPmFkZEVudHJ5KG90YmwtPmN1cnJlbnRP
ZmZzZXQoKSwgVG9UY0Jhc2UoQ09SQkE6Ol90Y19zaG9ydCkpOw0KICAgICAg
ICByZXR1cm4gVHlwZUNvZGVfY29sbGVjdG9yOjpkdXBsaWNhdGVSZWYoVG9U
Y0Jhc2UoQ09SQkE6Ol90Y19zaG9ydCkpOw0KICAgICAgY2FzZSBDT1JCQTo6
dGtfdXNob3J0Og0KKyAgICAgICBvdGJsLT5hZGRFbnRyeShvdGJsLT5jdXJy
ZW50T2Zmc2V0KCksIFRvVGNCYXNlKENPUkJBOjpfdGNfdXNob3J0KSk7DQog
ICAgICAgIHJldHVybiBUeXBlQ29kZV9jb2xsZWN0b3I6OmR1cGxpY2F0ZVJl
ZihUb1RjQmFzZShDT1JCQTo6X3RjX3VzaG9ydCkpOw0KICAgICAgY2FzZSBD
T1JCQTo6dGtfbG9uZzoNCisgICAgICAgb3RibC0+YWRkRW50cnkob3RibC0+
Y3VycmVudE9mZnNldCgpLCBUb1RjQmFzZShDT1JCQTo6X3RjX2xvbmcpKTsN
CiAgICAgICAgcmV0dXJuIFR5cGVDb2RlX2NvbGxlY3Rvcjo6ZHVwbGljYXRl
UmVmKFRvVGNCYXNlKENPUkJBOjpfdGNfbG9uZykpOw0KICAgICAgY2FzZSBD
T1JCQTo6dGtfdWxvbmc6DQorICAgICAgIG90YmwtPmFkZEVudHJ5KG90Ymwt
PmN1cnJlbnRPZmZzZXQoKSwgVG9UY0Jhc2UoQ09SQkE6Ol90Y191bG9uZykp
Ow0KICAgICAgICByZXR1cm4gVHlwZUNvZGVfY29sbGVjdG9yOjpkdXBsaWNh
dGVSZWYoVG9UY0Jhc2UoQ09SQkE6Ol90Y191bG9uZykpOw0KICAgICAgY2Fz
ZSBDT1JCQTo6dGtfZmxvYXQ6DQorICAgICAgIG90YmwtPmFkZEVudHJ5KG90
YmwtPmN1cnJlbnRPZmZzZXQoKSwgVG9UY0Jhc2UoQ09SQkE6Ol90Y19mbG9h
dCkpOw0KICAgICAgICByZXR1cm4gVHlwZUNvZGVfY29sbGVjdG9yOjpkdXBs
aWNhdGVSZWYoVG9UY0Jhc2UoQ09SQkE6Ol90Y19mbG9hdCkpOw0KICAgICAg
Y2FzZSBDT1JCQTo6dGtfZG91YmxlOg0KKyAgICAgICBvdGJsLT5hZGRFbnRy
eShvdGJsLT5jdXJyZW50T2Zmc2V0KCksIFRvVGNCYXNlKENPUkJBOjpfdGNf
ZG91YmxlKSk7DQogICAgICAgIHJldHVybiBUeXBlQ29kZV9jb2xsZWN0b3I6
OmR1cGxpY2F0ZVJlZihUb1RjQmFzZShDT1JCQTo6X3RjX2RvdWJsZSkpOw0K
ICAgICAgY2FzZSBDT1JCQTo6dGtfYm9vbGVhbjoNCisgICAgICAgb3RibC0+
YWRkRW50cnkob3RibC0+Y3VycmVudE9mZnNldCgpLCBUb1RjQmFzZShDT1JC
QTo6X3RjX2Jvb2xlYW4pKTsNCiAgICAgICAgcmV0dXJuIFR5cGVDb2RlX2Nv
bGxlY3Rvcjo6ZHVwbGljYXRlUmVmKFRvVGNCYXNlKENPUkJBOjpfdGNfYm9v
bGVhbikpOw0KICAgICAgY2FzZSBDT1JCQTo6dGtfY2hhcjoNCisgICAgICAg
b3RibC0+YWRkRW50cnkob3RibC0+Y3VycmVudE9mZnNldCgpLCBUb1RjQmFz
ZShDT1JCQTo6X3RjX2NoYXIpKTsNCiAgICAgICAgcmV0dXJuIFR5cGVDb2Rl
X2NvbGxlY3Rvcjo6ZHVwbGljYXRlUmVmKFRvVGNCYXNlKENPUkJBOjpfdGNf
Y2hhcikpOw0KICAgICAgY2FzZSBDT1JCQTo6dGtfb2N0ZXQ6DQorICAgICAg
IG90YmwtPmFkZEVudHJ5KG90YmwtPmN1cnJlbnRPZmZzZXQoKSwgVG9UY0Jh
c2UoQ09SQkE6Ol90Y19vY3RldCkpOw0KICAgICAgICByZXR1cm4gVHlwZUNv
ZGVfY29sbGVjdG9yOjpkdXBsaWNhdGVSZWYoVG9UY0Jhc2UoQ09SQkE6Ol90
Y19vY3RldCkpOw0KICAgICAgY2FzZSBDT1JCQTo6dGtfYW55Og0KKyAgICAg
ICBvdGJsLT5hZGRFbnRyeShvdGJsLT5jdXJyZW50T2Zmc2V0KCksIFRvVGNC
YXNlKENPUkJBOjpfdGNfYW55KSk7DQogICAgICAgIHJldHVybiBUeXBlQ29k
ZV9jb2xsZWN0b3I6OmR1cGxpY2F0ZVJlZihUb1RjQmFzZShDT1JCQTo6X3Rj
X2FueSkpOw0KICAgICAgY2FzZSBDT1JCQTo6dGtfVHlwZUNvZGU6DQorICAg
ICAgIG90YmwtPmFkZEVudHJ5KG90YmwtPmN1cnJlbnRPZmZzZXQoKSwgVG9U
Y0Jhc2UoQ09SQkE6Ol90Y19UeXBlQ29kZSkpOw0KICAgICAgICByZXR1cm4g
VHlwZUNvZGVfY29sbGVjdG9yOjpkdXBsaWNhdGVSZWYoVG9UY0Jhc2UoQ09S
QkE6Ol90Y19UeXBlQ29kZSkpOw0KICAgICAgY2FzZSBDT1JCQTo6dGtfUHJp
bmNpcGFsOg0KKyAgICAgICBvdGJsLT5hZGRFbnRyeShvdGJsLT5jdXJyZW50
T2Zmc2V0KCksIFRvVGNCYXNlKENPUkJBOjpfdGNfUHJpbmNpcGFsKSk7DQog
ICAgICAgIHJldHVybiBUeXBlQ29kZV9jb2xsZWN0b3I6OmR1cGxpY2F0ZVJl
ZihUb1RjQmFzZShDT1JCQTo6X3RjX1ByaW5jaXBhbCkpOw0KICANCiAgICAg
IGRlZmF1bHQ6DQoqKioqKioqKioqKioqKioNCioqKiAzNzA2LDM3MzcgKioq
Kg0KLS0tIDM3MjksMzc3NCAtLS0tDQogIA0KICAgICAgLy8gU2ltcGxlIHR5
cGVzIHdpdGggbm8gcGFyYW1ldGVycw0KICAgICAgY2FzZSBDT1JCQTo6dGtf
bnVsbDoNCisgICAgICAgb3RibC0+YWRkRW50cnkob3RibC0+Y3VycmVudE9m
ZnNldCgpLCBUb1RjQmFzZShDT1JCQTo6X3RjX251bGwpKTsNCiAgICAgICAg
cmV0dXJuIFR5cGVDb2RlX2NvbGxlY3Rvcjo6ZHVwbGljYXRlUmVmKFRvVGNC
YXNlKENPUkJBOjpfdGNfbnVsbCkpOw0KICAgICAgY2FzZSBDT1JCQTo6dGtf
dm9pZDoNCisgICAgICAgb3RibC0+YWRkRW50cnkob3RibC0+Y3VycmVudE9m
ZnNldCgpLCBUb1RjQmFzZShDT1JCQTo6X3RjX3ZvaWQpKTsNCiAgICAgICAg
cmV0dXJuIFR5cGVDb2RlX2NvbGxlY3Rvcjo6ZHVwbGljYXRlUmVmKFRvVGNC
YXNlKENPUkJBOjpfdGNfdm9pZCkpOw0KICAgICAgY2FzZSBDT1JCQTo6dGtf
c2hvcnQ6DQorICAgICAgIG90YmwtPmFkZEVudHJ5KG90YmwtPmN1cnJlbnRP
ZmZzZXQoKSwgVG9UY0Jhc2UoQ09SQkE6Ol90Y19zaG9ydCkpOw0KICAgICAg
ICByZXR1cm4gVHlwZUNvZGVfY29sbGVjdG9yOjpkdXBsaWNhdGVSZWYoVG9U
Y0Jhc2UoQ09SQkE6Ol90Y19zaG9ydCkpOw0KICAgICAgY2FzZSBDT1JCQTo6
dGtfdXNob3J0Og0KKyAgICAgICBvdGJsLT5hZGRFbnRyeShvdGJsLT5jdXJy
ZW50T2Zmc2V0KCksIFRvVGNCYXNlKENPUkJBOjpfdGNfdXNob3J0KSk7DQog
ICAgICAgIHJldHVybiBUeXBlQ29kZV9jb2xsZWN0b3I6OmR1cGxpY2F0ZVJl
ZihUb1RjQmFzZShDT1JCQTo6X3RjX3VzaG9ydCkpOw0KICAgICAgY2FzZSBD
T1JCQTo6dGtfbG9uZzoNCisgICAgICAgb3RibC0+YWRkRW50cnkob3RibC0+
Y3VycmVudE9mZnNldCgpLCBUb1RjQmFzZShDT1JCQTo6X3RjX2xvbmcpKTsN
CiAgICAgICAgcmV0dXJuIFR5cGVDb2RlX2NvbGxlY3Rvcjo6ZHVwbGljYXRl
UmVmKFRvVGNCYXNlKENPUkJBOjpfdGNfbG9uZykpOw0KICAgICAgY2FzZSBD
T1JCQTo6dGtfdWxvbmc6DQorICAgICAgIG90YmwtPmFkZEVudHJ5KG90Ymwt
PmN1cnJlbnRPZmZzZXQoKSwgVG9UY0Jhc2UoQ09SQkE6Ol90Y191bG9uZykp
Ow0KICAgICAgICByZXR1cm4gVHlwZUNvZGVfY29sbGVjdG9yOjpkdXBsaWNh
dGVSZWYoVG9UY0Jhc2UoQ09SQkE6Ol90Y191bG9uZykpOw0KICAgICAgY2Fz
ZSBDT1JCQTo6dGtfZmxvYXQ6DQorICAgICAgIG90YmwtPmFkZEVudHJ5KG90
YmwtPmN1cnJlbnRPZmZzZXQoKSwgVG9UY0Jhc2UoQ09SQkE6Ol90Y19mbG9h
dCkpOw0KICAgICAgICByZXR1cm4gVHlwZUNvZGVfY29sbGVjdG9yOjpkdXBs
aWNhdGVSZWYoVG9UY0Jhc2UoQ09SQkE6Ol90Y19mbG9hdCkpOw0KICAgICAg
Y2FzZSBDT1JCQTo6dGtfZG91YmxlOg0KKyAgICAgICBvdGJsLT5hZGRFbnRy
eShvdGJsLT5jdXJyZW50T2Zmc2V0KCksIFRvVGNCYXNlKENPUkJBOjpfdGNf
ZG91YmxlKSk7DQogICAgICAgIHJldHVybiBUeXBlQ29kZV9jb2xsZWN0b3I6
OmR1cGxpY2F0ZVJlZihUb1RjQmFzZShDT1JCQTo6X3RjX2RvdWJsZSkpOw0K
ICAgICAgY2FzZSBDT1JCQTo6dGtfYm9vbGVhbjoNCisgICAgICAgb3RibC0+
YWRkRW50cnkob3RibC0+Y3VycmVudE9mZnNldCgpLCBUb1RjQmFzZShDT1JC
QTo6X3RjX2Jvb2xlYW4pKTsNCiAgICAgICAgcmV0dXJuIFR5cGVDb2RlX2Nv
bGxlY3Rvcjo6ZHVwbGljYXRlUmVmKFRvVGNCYXNlKENPUkJBOjpfdGNfYm9v
bGVhbikpOw0KICAgICAgY2FzZSBDT1JCQTo6dGtfY2hhcjoNCisgICAgICAg
b3RibC0+YWRkRW50cnkob3RibC0+Y3VycmVudE9mZnNldCgpLCBUb1RjQmFz
ZShDT1JCQTo6X3RjX2NoYXIpKTsNCiAgICAgICAgcmV0dXJuIFR5cGVDb2Rl
X2NvbGxlY3Rvcjo6ZHVwbGljYXRlUmVmKFRvVGNCYXNlKENPUkJBOjpfdGNf
Y2hhcikpOw0KICAgICAgY2FzZSBDT1JCQTo6dGtfb2N0ZXQ6DQorICAgICAg
IG90YmwtPmFkZEVudHJ5KG90YmwtPmN1cnJlbnRPZmZzZXQoKSwgVG9UY0Jh
c2UoQ09SQkE6Ol90Y19vY3RldCkpOw0KICAgICAgICByZXR1cm4gVHlwZUNv
ZGVfY29sbGVjdG9yOjpkdXBsaWNhdGVSZWYoVG9UY0Jhc2UoQ09SQkE6Ol90
Y19vY3RldCkpOw0KICAgICAgY2FzZSBDT1JCQTo6dGtfYW55Og0KKyAgICAg
ICBvdGJsLT5hZGRFbnRyeShvdGJsLT5jdXJyZW50T2Zmc2V0KCksIFRvVGNC
YXNlKENPUkJBOjpfdGNfYW55KSk7DQogICAgICAgIHJldHVybiBUeXBlQ29k
ZV9jb2xsZWN0b3I6OmR1cGxpY2F0ZVJlZihUb1RjQmFzZShDT1JCQTo6X3Rj
X2FueSkpOw0KICAgICAgY2FzZSBDT1JCQTo6dGtfVHlwZUNvZGU6DQorICAg
ICAgIG90YmwtPmFkZEVudHJ5KG90YmwtPmN1cnJlbnRPZmZzZXQoKSwgVG9U
Y0Jhc2UoQ09SQkE6Ol90Y19UeXBlQ29kZSkpOw0KICAgICAgICByZXR1cm4g
VHlwZUNvZGVfY29sbGVjdG9yOjpkdXBsaWNhdGVSZWYoVG9UY0Jhc2UoQ09S
QkE6Ol90Y19UeXBlQ29kZSkpOw0KICAgICAgY2FzZSBDT1JCQTo6dGtfUHJp
bmNpcGFsOg0KKyAgICAgICBvdGJsLT5hZGRFbnRyeShvdGJsLT5jdXJyZW50
T2Zmc2V0KCksIFRvVGNCYXNlKENPUkJBOjpfdGNfUHJpbmNpcGFsKSk7DQog
ICAgICAgIHJldHVybiBUeXBlQ29kZV9jb2xsZWN0b3I6OmR1cGxpY2F0ZVJl
ZihUb1RjQmFzZShDT1JCQTo6X3RjX1ByaW5jaXBhbCkpOw0KICANCiAgICAg
IGRlZmF1bHQ6DQpkaWZmIC1yYyBzcmMvbGliL29tbmlPUkIyL29yYmNvcmUv
Y29yYmFPcmIuY2MgbmV3c3JjL2xpYi9vbW5pT1JCMi9vcmJjb3JlL2NvcmJh
T3JiLmNjDQoqKiogc3JjL2xpYi9vbW5pT1JCMi9vcmJjb3JlL2NvcmJhT3Ji
LmNjCVRodSBNYXIgMTEgMTY6MzE6MjggMTk5OQ0KLS0tIG5ld3NyYy9saWIv
b21uaU9SQjIvb3JiY29yZS9jb3JiYU9yYi5jYwlGcmkgTWFyIDE5IDExOjM3
OjE0IDE5OTkNCioqKioqKioqKioqKioqKg0KKioqIDEyNSwxMzAgKioqKg0K
LS0tIDEyNSwxMzEgLS0tLQ0KICB1bnNpZ25lZCBpbnQgICAgICAgICAgICAg
bWF4VGNwQ29ubmVjdGlvblBlclNlcnZlciA9IDU7DQogIENPUkJBOjpCb29s
ZWFuICAgICAgICAgICBkaWlUaHJvd3NTeXNFeGNlcHRpb25zID0gMDsNCiAg
Q09SQkE6OkJvb2xlYW4gICAgICAgICAgIHVzZVR5cGVDb2RlSW5kaXJlY3Rp
b25zID0gMTsNCisgQ09SQkE6OkJvb2xlYW4gICAgICAgICAgIGFjY2VwdE1p
c2FsaWduZWRUY0luZGlyZWN0aW9ucyA9IDA7DQogIH0NCiAgDQogICNlbHNl
DQoqKioqKioqKioqKioqKioNCioqKiAxMzksMTQ0ICoqKioNCi0tLSAxNDAs
MTQ2IC0tLS0NCiAgdW5zaWduZWQgaW50ICAgICAgICAgICAgICAgICAgICBv
bW5pT1JCOjptYXhUY3BDb25uZWN0aW9uUGVyU2VydmVyID0gNTsNCiAgQ09S
QkE6OkJvb2xlYW4gICAgICAgICAgICAgICAgICBvbW5pT1JCOjpkaWlUaHJv
d3NTeXNFeGNlcHRpb25zID0gMDsNCiAgQ09SQkE6OkJvb2xlYW4gICAgICAg
ICAgICAgICAgICBvbW5pT1JCOjp1c2VUeXBlQ29kZUluZGlyZWN0aW9ucyA9
IDE7DQorIENPUkJBOjpCb29sZWFuICAgICAgICAgICAgICAgICAgb21uaU9S
Qjo6YWNjZXB0TWlzYWxpZ25lZFRjSW5kaXJlY3Rpb25zID0gMDsNCiAgI2Vu
ZGlmDQogIA0KICBfQ09SQkFfVW5ib3VuZGVkX1NlcXVlbmNlX09jdGV0IG9t
bmk6Om15UHJpbmNpcGFsSUQ7DQoqKioqKioqKioqKioqKioNCioqKiA3NTcs
NzYwICoqKioNCi0tLSA3NTksNzYzIC0tLS0NCiAgICBvbW5pT1JCOjppZGxl
Q29ubmVjdGlvblNjYW5QZXJpb2Qob21uaU9SQjo6aWRsZUluY29taW5nLCAw
KTsNCiAgICBvbW5pT1JCOjppZGxlQ29ubmVjdGlvblNjYW5QZXJpb2Qob21u
aU9SQjo6aWRsZU91dGdvaW5nLCAwKTsNCiAgICBvbW5pT1JCOjp1c2VUeXBl
Q29kZUluZGlyZWN0aW9ucyA9IDA7DQorICAgb21uaU9SQjo6YWNjZXB0TWlz
YWxpZ25lZFRjSW5kaXJlY3Rpb25zID0gMTsNCiAgfQ0K
--2090734912-1051046050-921856324=:17941--