---559023410-851401618-924162663=:11908
Content-Type: TEXT/PLAIN; charset=US-ASCII
Hi,
I modified my macro a little bit ( modified macro attached ).
Now I not only can :
x = leaf();
but also :
leaf() = x;
if I want to modify the value of the current event ( I removed also
functions "leaf(x)" which were used for this purpose ). This changes only
the ntuple.hpp file ( also attached ), the rest of files should look like
these in my previous mail.
"Not a bad trick, Doc!"
Jacek.
---559023410-851401618-924162663=:11908
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="MakeClass.cxx"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.GSO.3.96.990415095103.11908E@uranos.cto.us.edu.pl>
Content-Description: MakeClass.cxx
Ly9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KDQpJbnRfdCBN
YWtlQ2xhc3MoVFRyZWUgKnQsIGNvbnN0IGNoYXIgKmNsYXNzbmFtZSA9IDAp
DQp7DQovLz09PT0+DQovLyotKi0qLSotKi0qLSpHZW5lcmF0ZSBza2VsZXRv
biBhbmFseXNpcyBjbGFzcyBmb3IgdGhpcyBUcmVlKi0qLSotKi0qLSotKg0K
Ly8qLSogICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQ0KLy8NCi8vICAgVGhlIGZvbGxvd2luZyBmaWxl
cyBhcmUgcHJvZHVjZWQ6IGNsYXNzbmFtZS5ocHAgYW5kIGNsYXNzbmFtZS5j
eHgNCi8vICAgaWYgY2xhc3NuYW1lIGlzIE5VTEwsIGNsYXNzbmFtZSB3aWxs
IGJlIG5hbWVvZnRyZWUuDQovLw0KLy8gICBUaGUgZ2VuZXJhdGVkIGNvZGUg
aW4gY2xhc3NuYW1lLmhwcCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nOg0KLy8g
ICAgICAtIElkZW50aWZpY2F0aW9uIG9mIHRoZSBvcmlnaW5hbCBUcmVlIGFu
ZCBJbnB1dCBmaWxlIG5hbWUNCi8vICAgICAgLSBEZWZpbml0aW9uIG9mIGFu
YWx5c2lzIGNsYXNzIChkYXRhIGFuZCBmdW5jdGlvbnMpDQovLyAgICAgIC0g
dGhlIGZvbGxvd2luZyBjbGFzcyBmdW5jdGlvbnM6DQovLyAgICAgICAgIC1j
b25zdHJ1Y3RvciAoY29ubmVjdGluZyBieSBkZWZhdWx0IHRoZSBUcmVlIGZp
bGUpDQovLyAgICAgICAgIC1HZXRFdmVudChJbnRfdCBldmVudCkNCi8vICAg
ICAgICAgLUluaXQoVFRyZWUgKnRyZWUpIHRvIGluaXRpYWxpemUgYSBuZXcg
VFRyZWUNCi8vICAgICAgICAgLVNob3coSW50X3QgZXZlbnQpIHRvIHJlYWQg
YW5kIER1bXAgZXZlbnQNCi8vDQovLyAgIFRoZSBnZW5lcmF0ZWQgY29kZSBp
biBjbGFzc25hbWUuY3h4IGluY2x1ZGVzIG9ubHkgdGhlIG1haW4NCi8vICAg
YW5hbHlzaXMgZnVuY3Rpb24gTG9vcC4NCi8vDQovLyAgIFRvIHVzZSB0aGlz
IGZ1bmN0aW9uOg0KLy8gICAgICAtIGNvbm5lY3QgeW91ciBUcmVlIGZpbGUg
KGVnOiBURmlsZSBmKCJteWZpbGUucm9vdCIpOykNCi8vICAgICAgLSBULT5N
YWtlQ2xhc3MoIk15Q2xhc3MiKTsNCi8vICAgIHdoZXJlIFQgaXMgdGhlIG5h
bWUgb2YgdGhlIFRyZWUgaW4gZmlsZSBteWZpbGUucm9vdA0KLy8gICAgYW5k
IE15Q2xhc3MuaHBwLCBNeUNsYXNzLmN4eCB0aGUgbmFtZSBvZiB0aGUgZmls
ZXMgY3JlYXRlZCBieSB0aGlzIGZ1bmN0aW9uLg0KLy8gICBJbiBhIFJvb3Qg
c2Vzc2lvbiwgeW91IGNhbiBkbzoNCi8vICAgICAgUm9vdCA+IC5MIE15Q2xh
c3MuY3h4DQovLyAgICAgIFJvb3QgPiBNeUNsYXNzIHQNCi8vICAgICAgUm9v
dCA+IHQuR2V0RXZlbnQoMTIpOyAvLyBGaWxsIHQgZGF0YSBtZW1iZXJzIHdp
dGggZXZlbnQgbnVtYmVyIDEyDQovLyAgICAgIFJvb3QgPiB0LlNob3coKTsg
ICAgICAgLy8gU2hvdyB2YWx1ZXMgb2YgZXZlbnQgMTINCi8vICAgICAgUm9v
dCA+IHQuU2hvdygxNik7ICAgICAvLyBSZWFkIGFuZCBzaG93IHZhbHVlcyBv
ZiBldmVudCAxNg0KLy8gICAgICBSb290ID4gdC5Mb29wKCk7ICAgICAgIC8v
IExvb3Agb24gYWxsIGV2ZW50cw0KLy8NCi8vPT09PT4NCg0KLy8gQ2hlY2sg
YWdhaW5zdCBhbiBpbnZhbGlkIFRyZWUgcG9pbnRlcg0KICAgaWYgKCF0KSBy
ZXR1cm4gMTsNCiAgIGlmICghdC0+SXNBKCktPkluaGVyaXRzRnJvbSgiVFRy
ZWUiKSkgew0KICAgICAgcHJpbnRmKCJBdHRlbXB0IHRvIE1ha2VDbGFzcyBm
b3IgYSBub24tVFRyZWUgb2JqZWN0XG4iKTsNCiAgICAgIHJldHVybiAyOw0K
ICAgfQ0KDQovLyBDb25uZWN0IG91dHB1dCBmaWxlcw0KICAgY2hhciAqdGhl
YWQgPSBuZXcgY2hhclsyNTZdOw0KDQogICBpZiAoIWNsYXNzbmFtZSkgY2xh
c3NuYW1lID0gdC0+R2V0TmFtZSgpOw0KICAgc3ByaW50Zih0aGVhZCwiJXMu
aHBwIixjbGFzc25hbWUpOw0KICAgRklMRSAqZnAgPSBmb3Blbih0aGVhZCwi
dyIpOw0KICAgaWYgKCFmcCkgew0KICAgICAgcHJpbnRmKCJDYW5ub3Qgb3Bl
biBvdXRwdXQgZmlsZTolc1xuIix0aGVhZCk7DQogICAgICBkZWxldGUgW10g
dGhlYWQ7DQogICAgICByZXR1cm4gMzsNCiAgIH0NCiAgIGNoYXIgKnRjaW1w
ID0gbmV3IGNoYXJbMjU2XTsNCiAgIHNwcmludGYodGNpbXAsIiVzLmN4eCIs
Y2xhc3NuYW1lKTsNCiAgIEZJTEUgKmZwYyA9IGZvcGVuKHRjaW1wLCJ3Iik7
DQogICBpZiAoIWZwYykgew0KICAgICAgcHJpbnRmKCJDYW5ub3Qgb3BlbiBv
dXRwdXQgZmlsZTolc1xuIix0Y2ltcCk7DQogICAgICBkZWxldGUgW10gdGhl
YWQ7DQogICAgICBkZWxldGUgW10gdGNpbXA7DQogICAgICByZXR1cm4gMzsN
CiAgIH0NCiAgIGNoYXIgKnRyZWVmaWxlID0gbmV3IGNoYXJbMTAwMF07DQog
ICBpZiAodC0+R2V0RGlyZWN0b3J5KCkgJiYgdC0+R2V0RGlyZWN0b3J5KCkt
PkdldEZpbGUoKSkNCiAgICAgICAgICAgICAgICBzdHJjcHkodHJlZWZpbGUs
dC0+R2V0RGlyZWN0b3J5KCktPkdldEZpbGUoKS0+R2V0TmFtZSgpKTsNCiAg
IGVsc2UgICAgICAgICBzdHJjcHkodHJlZWZpbGUsIk1lbW9yeSBEaXJlY3Rv
cnkiKTsNCg0KLy89PT09PT09PT09PT09PT09PT09PT09R2VuZXJhdGUgY2xh
c3NuYW1lLmhwcD09PT09PT09PT09PT09PT09PT09PQ0KICAgLy8gUHJpbnQg
aGVhZGVyDQogICBUT2JqQXJyYXkgKmxlYXZlcyA9IHQtPkdldExpc3RPZkxl
YXZlcygpOw0KICAgSW50X3QgbmxlYXZlcyA9IGxlYXZlcy0+R2V0RW50cmll
c0Zhc3QoKTsNCiAgIFREYXRpbWUgdGQ7DQogICBmcHJpbnRmKGZwLCIvLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vXG4iKTsNCiAgIGZwcmludGYoZnAsIi8vICAgVGhpcyBjbGFz
cyBoYXMgYmVlbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBcbiIpOw0KICAg
ZnByaW50ZihmcCwiLy8gICAgICglcyBieSBST09UIHZlcnNpb24lcylcbiIs
dGQuQXNTdHJpbmcoKSxnUk9PVC0+R2V0VmVyc2lvbigpKTsNCiAgIGZwcmlu
dGYoZnAsIi8vICAgZnJvbSBUVHJlZSAlcy8lc1xuIix0LT5HZXROYW1lKCks
dC0+R2V0VGl0bGUoKSk7DQogICBmcHJpbnRmKGZwLCIvLyAgIGZvdW5kIG9u
IGZpbGU6ICVzXG4iLHRyZWVmaWxlKTsNCiAgIGZwcmludGYoZnAsIi8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy9cbiIpOw0KICAgZnByaW50ZihmcCwiXG4iKTsNCiAgIGZwcmlu
dGYoZnAsIlxuIik7DQogICBmcHJpbnRmKGZwLCIjaWZuZGVmICVzX2hwcFxu
IixjbGFzc25hbWUpOw0KICAgZnByaW50ZihmcCwiI2RlZmluZSAlc19ocHBc
biIsY2xhc3NuYW1lKTsNCiAgIGZwcmludGYoZnAsIlxuIik7DQogICBmcHJp
bnRmKGZwLCIjaWZuZGVmIF9fQ0lOVF9fXG4iKTsNCiAgIGZwcmludGYoZnAs
IiNpbmNsdWRlIFwiVFJPT1QuaFwiXG4iKTsNCiAgIGZwcmludGYoZnAsIiNp
bmNsdWRlIFwiVEJyYW5jaC5oXCJcbiIpOw0KICAgZnByaW50ZihmcCwiI2lu
Y2x1ZGUgXCJUVHJlZS5oXCJcbiIpOw0KICAgZnByaW50ZihmcCwiI2luY2x1
ZGUgXCJURmlsZS5oXCJcbiIpOw0KICAgZnByaW50ZihmcCwiI2Vsc2VcbiIp
Ow0KICAgZnByaW50ZihmcCwiY2xhc3MgVEJyYW5jaDtcbiIpOw0KICAgZnBy
aW50ZihmcCwiY2xhc3MgVFRyZWU7XG4iKTsNCiAgIGZwcmludGYoZnAsImNs
YXNzIFRGaWxlO1xuIik7DQogICBmcHJpbnRmKGZwLCIjZW5kaWZcbiIpOw0K
ICAgZnByaW50ZihmcCwiXG4iKTsNCiAgIGZwcmludGYoZnAsImNsYXNzICVz
IHtcbiIsY2xhc3NuYW1lKTsNCiAgIGZwcmludGYoZnAsIiAgIHB1YmxpYyA6
XG4iKTsNCiAgIGZwcmludGYoZnAsIiAgIFRUcmVlICAgICAgICAgICpmVHJl
ZTsgLy9wb2ludGVyIHRvIHRoZSBhbmFseXplZCBUVHJlZVxuIik7DQogICBm
cHJpbnRmKGZwLCIgICBJbnRfdCAgICAgICAgICBmRXZlbnQ7IC8vY3VycmVu
dCBFdmVudCBudW1iZXJcbiIpOw0KDQoNCi8vIEZpcnN0IGxvb3Agb24gYWxs
IGJyYW5jaGVzIHRvIGdlbmVyYXRlIGJyYW5jaCBkZWNsYXJhdGlvbnMNCiAg
IGZwcmludGYoZnAsIi8vRGVjbGFyYXRpb24gb2YgYnJhbmNoZXNcbiIpOw0K
ICAgSW50X3QgbmIsIGk7DQogICBuYiA9IHQtPkdldExpc3RPZkJyYW5jaGVz
KCkuR2V0RW50cmllc0Zhc3QoKTsNCiAgIGZvciAoaT0wO2k8bmI7aSsrKSAg
ew0KICAgICAgYnJhbmNoID0gKFRCcmFuY2gqKXQtPkdldExpc3RPZkJyYW5j
aGVzKCkuVW5jaGVja2VkQXQoaSk7DQogICAgICBmcHJpbnRmKGZwLCIlcyUt
MTVzIGJyYW5jaF8lcztcbiIsIiAgICIsIkludF90IiwgYnJhbmNoLT5HZXRO
YW1lKCkpOw0KICAgICAgZnByaW50ZihmcCwiJXMlLTE1cyAqYnJhbmNoX3Bv
aW50ZXJfJXM7XG4iLCIgICAiLCJUQnJhbmNoIiwgYnJhbmNoLT5HZXROYW1l
KCkpOw0KICAgfQ0KDQovLyBGaXJzdCBsb29wIG9uIGFsbCBsZWF2ZXMgdG8g
Z2VuZXJhdGUgbGVhZiBkZWNsYXJhdGlvbnMNCiAgIGZwcmludGYoZnAsIi8v
RGVjbGFyYXRpb24gb2YgbGVhdmVzXG4iKTsNCiAgIEludF90IGxlbiwgbDsN
CiAgIFRMZWFmICpsZWFmY291bnQ7DQogICBUTGVhZk9iamVjdCAqbGVhZm9i
ajsNCiAgIGNoYXIgKmJuYW1lOw0KICAgY29uc3QgY2hhciAqaGVhZE9LICA9
ICIgICAiOw0KICAgY29uc3QgY2hhciAqaGVhZGNvbSA9ICIgLy8iOw0KICAg
Y29uc3QgY2hhciAqaGVhZDsNCiAgIGNoYXIgYnJhbmNobmFtZVs2NF07DQog
ICBmb3IgKGw9MDtsPG5sZWF2ZXM7bCsrKSB7DQogICAgICBUTGVhZiAqbGVh
ZiA9IChUTGVhZiopbGVhdmVzLT5VbmNoZWNrZWRBdChsKTsNCiAgICAgIGxl
biA9IGxlYWYtPkdldExlbigpOw0KICAgICAgbGVhZmNvdW50ID1sZWFmLT5H
ZXRMZWFmQ291bnQoKTsNCiAgICAgIFRCcmFuY2ggKmJyYW5jaCA9IGxlYWYt
PkdldEJyYW5jaCgpOw0KICAgICAgaWYgKGxlYWZjb3VudCkgc3RyY3B5KGJy
YW5jaG5hbWUsYnJhbmNoLT5HZXROYW1lKCkpOw0KICAgICAgZWxzZSAgICAg
ICAgICAgc3RyY3B5KGJyYW5jaG5hbWUsbGVhZi0+R2V0VGl0bGUoKSk7DQog
ICAgICBjaGFyICp0d29kaW0gPSAoY2hhciopc3Ryc3RyKGxlYWYtPkdldFRp
dGxlKCksIl1bIik7DQogICAgICBibmFtZSA9IGJyYW5jaG5hbWU7DQogICAg
ICB3aGlsZSAoKmJuYW1lKSB7aWYgKCpibmFtZSA9PSAnLicpICpibmFtZT0n
Xyc7IGJuYW1lKys7fQ0KICAgICAgaWYgKGJyYW5jaC0+SXNBKCkgPT0gVEJy
YW5jaE9iamVjdDo6Q2xhc3MoKSkgew0KICAgICAgICAgaWYgKGJyYW5jaC0+
R2V0TGlzdE9mQnJhbmNoZXMoKS0+R2V0RW50cmllc0Zhc3QoKSkgY29udGlu
dWU7DQogICAgICAgICBsZWFmb2JqID0gKFRMZWFmT2JqZWN0KilsZWFmOw0K
ICAgICAgICAgaWYgKGxlYWZvYmotPkdldENsYXNzKCkpIGhlYWQgPSBoZWFk
T0s7DQogICAgICAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgaGVhZCA9
IGhlYWRjb207DQogICAgICAgICBmcHJpbnRmKGZwLCIlcyUtMTVzIColcztc
biIsaGVhZCxsZWFmb2JqLT5HZXRUeXBlTmFtZSgpLCBsZWFmb2JqLT5HZXRO
YW1lKCkpOw0KICAgICAgICAgY29udGludWU7DQogICAgICB9DQogICAgICBp
ZiAobGVhZmNvdW50KSB7DQogICAgICAgICBsZW4gPSBsZWFmY291bnQtPkdl
dE1heGltdW0oKTsNCiAgICAgICAgIGlmICh0d29kaW0pIHsNCiAgICAgICAg
ICAgIGZwcmludGYoZnAsIiAgICUtMTVzICVzWyVkXSVzO1xuIixsZWFmLT5H
ZXRUeXBlTmFtZSgpLCBicmFuY2huYW1lLGxlbiwoY2hhciopKHR3b2RpbSsx
KSk7DQogICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgZnByaW50Zihm
cCwiICAgJS0xNXMgJXNbJWRdO1xuIixsZWFmLT5HZXRUeXBlTmFtZSgpLCBi
cmFuY2huYW1lLGxlbik7DQogICAgICAgICB9DQogICAgICB9IGVsc2Ugew0K
ICAgICAgICAgZnByaW50ZihmcCwiICAgJS0xNXMgbGVhZl8lcztcbiIsbGVh
Zi0+R2V0VHlwZU5hbWUoKSwgYnJhbmNobmFtZSk7DQogICAgICAgICBmcHJp
bnRmKGZwLCIgICAlLTE1cyAmJXModm9pZCkgeyIsbGVhZi0+R2V0VHlwZU5h
bWUoKSwgYnJhbmNobmFtZSk7DQogICAgICAgICBmcHJpbnRmKGZwLCJpZiAo
YnJhbmNoXyVzKSByZXR1cm4gbGVhZl8lczsiLGJyYW5jaC0+R2V0TmFtZSgp
LCBicmFuY2huYW1lKTsNCiAgICAgICAgIGZwcmludGYoZnAsImJyYW5jaF9w
b2ludGVyXyVzLT5HZXRFdmVudChmRXZlbnQpOyIsYnJhbmNoLT5HZXROYW1l
KCkpOw0KICAgICAgICAgZnByaW50ZihmcCwiYnJhbmNoXyVzID0gMTsgcmV0
dXJuIGxlYWZfJXM7fVxuIixicmFuY2gtPkdldE5hbWUoKSwgYnJhbmNobmFt
ZSk7DQogICAgICAgICAvLyBmcHJpbnRmKGZwLCIgICAlLTE1cyAlcyglcyB2
YWx1ZSkge3JldHVybiBsZWFmXyVzID0gdmFsdWU7fVxuIixsZWFmLT5HZXRU
eXBlTmFtZSgpLCBicmFuY2huYW1lLCBsZWFmLT5HZXRUeXBlTmFtZSgpLCBi
cmFuY2huYW1lKTsNCiAgICAgIH0NCiAgIH0NCg0KLy8gZ2VuZXJhdGUgY2xh
c3MgbWVtYmVyIGZ1bmN0aW9ucyBwcm90b3R5cGVzDQogICBmcHJpbnRmKGZw
LCJcbiIpOw0KICAgZnByaW50ZihmcCwiICAgJXMoVFRyZWUgKnRyZWUgPSAw
KTtcbiIsY2xhc3NuYW1lKTsNCiAgIGZwcmludGYoZnAsIiAgIH4lcygpIHs7
fVxuIixjbGFzc25hbWUpOw0KICAgZnByaW50ZihmcCwiICAgSW50X3QgR2V0
RXZlbnQoSW50X3QgZXZlbnQpO1xuIik7DQogICBmcHJpbnRmKGZwLCIgICB2
b2lkIEluaXQoVFRyZWUgKnRyZWUpO1xuIik7DQogICBmcHJpbnRmKGZwLCIg
ICB2b2lkIExvb3AoKTtcbiIpOw0KICAgZnByaW50ZihmcCwiICAgdm9pZCBT
aG93KEludF90IGV2ZW50ID0gLTEpO1xuIik7DQogICBmcHJpbnRmKGZwLCJ9
O1xuIik7DQogICBmcHJpbnRmKGZwLCJcbiIpOw0KICAgZnByaW50ZihmcCwi
I2VuZGlmXG4iKTsNCiAgIGZwcmludGYoZnAsIlxuIik7DQoNCiAgIGZwcmlu
dGYoZnAsIiNpZmRlZiAlc19jeHhcbiIsY2xhc3NuYW1lKTsNCiAgIGZwcmlu
dGYoZnAsIlxuIik7DQoNCi8vIGdlbmVyYXRlIGNvZGUgZm9yIGNsYXNzIGNv
bnN0cnVjdG9yDQogICBmcHJpbnRmKGZwLCIlczo6JXMoVFRyZWUgKnRyZWUp
XG4iLGNsYXNzbmFtZSxjbGFzc25hbWUpOw0KICAgZnByaW50ZihmcCwie1xu
Iik7DQogICBmcHJpbnRmKGZwLCIvLyBpZiBwYXJhbWV0ZXIgdHJlZSBpcyBu
b3Qgc3BlY2lmaWVkIChvciB6ZXJvKSwgY29ubmVjdCB0aGUgZmlsZVxuIik7
DQogICBmcHJpbnRmKGZwLCIvLyB1c2VkIHRvIGdlbmVyYXRlIHRoaXMgY2xh
c3MgYW5kIHJlYWQgdGhlIFRyZWUuXG4iKTsNCiAgIGZwcmludGYoZnAsIiAg
IGlmICh0cmVlID09IDApIHtcbiIpOw0KICAgZnByaW50ZihmcCwiICAgICAg
VEZpbGUgKmYgPSAoVEZpbGUqKWdST09ULT5HZXRMaXN0T2ZGaWxlcygpLT5G
aW5kT2JqZWN0KFwiJXNcIik7XG4iLHRyZWVmaWxlKTsNCiAgIGZwcmludGYo
ZnAsIiAgICAgIGlmICghZikge1xuIik7DQogICBmcHJpbnRmKGZwLCIgICAg
ICAgICBmID0gbmV3IFRGaWxlKFwiJXNcIik7XG4iLHRyZWVmaWxlKTsNCiAg
IGZwcmludGYoZnAsIiAgICAgIH1cbiIpOw0KICAgZnByaW50ZihmcCwiICAg
ICAgdHJlZSA9IChUVHJlZSopZ0RpcmVjdG9yeS0+R2V0KFwiJXNcIik7XG5c
biIsdC0+R2V0TmFtZSgpKTsNCiAgIGZwcmludGYoZnAsIiAgIH1cbiIpOw0K
ICAgZnByaW50ZihmcCwiICAgSW5pdCh0cmVlKTtcbiIpOw0KICAgZnByaW50
ZihmcCwifVxuIik7DQogICBmcHJpbnRmKGZwLCJcbiIpOw0KDQovLyBnZW5l
cmF0ZSBjb2RlIGZvciBjbGFzcyBtZW1iZXIgZnVuY3Rpb24gR2V0RXZlbnQo
KQ0KICAgZnByaW50ZihmcCwiSW50X3QgJXM6OkdldEV2ZW50KEludF90IGV2
ZW50KVxuIixjbGFzc25hbWUpOw0KICAgZnByaW50ZihmcCwie1xuIik7DQog
ICBmcHJpbnRmKGZwLCIvLyBSZWFkIHNwZWNpZmllZCBldmVudCBmcm9tIHRo
ZSBUcmVlIGludG8gZGF0YSBtZW1iZXJzXG4iKTsNCiAgIGZwcmludGYoZnAs
IiAgIGlmICghZlRyZWUpIHJldHVybiAwO1xuIik7DQogICBmcHJpbnRmKGZw
LCIgICAvLyBpZiAoZkV2ZW50PT1ldmVudCkgcmV0dXJuIDE7XG4iKTsNCiAg
IG5iID0gdC0+R2V0TGlzdE9mQnJhbmNoZXMoKS5HZXRFbnRyaWVzRmFzdCgp
Ow0KICAgZm9yIChpPTA7aTxuYjtpKyspICB7DQogICAgICBicmFuY2ggPSAo
VEJyYW5jaCopdC0+R2V0TGlzdE9mQnJhbmNoZXMoKS5VbmNoZWNrZWRBdChp
KTsNCiAgICAgIGZwcmludGYoZnAsIiAgIGJyYW5jaF8lcyA9IDA7XG4iLGJy
YW5jaC0+R2V0TmFtZSgpKTsNCiAgIH0NCiAgIGZwcmludGYoZnAsIiAgIGZF
dmVudCA9IGV2ZW50O1xuIik7DQogICBmcHJpbnRmKGZwLCIgICByZXR1cm4g
MTtcbiIpOw0KICAgZnByaW50ZihmcCwifVxuIik7DQogICBmcHJpbnRmKGZw
LCJcbiIpOw0KDQoNCi8vIGdlbmVyYXRlIGNvZGUgZm9yIGNsYXNzIG1lbWJl
ciBmdW5jdGlvbiBJbml0KCkNCiAgIGZwcmludGYoZnAsInZvaWQgJXM6Oklu
aXQoVFRyZWUgKnRyZWUpXG4iLGNsYXNzbmFtZSk7DQogICBmcHJpbnRmKGZw
LCJ7XG4iKTsNCiAgIGZwcmludGYoZnAsIi8vICAgU2V0IGJyYW5jaCBhZGRy
ZXNzZXNcbiIpOw0KICAgZnByaW50ZihmcCwiICAgaWYgKHRyZWUgPT0gMCkg
cmV0dXJuO1xuIik7DQogICBmcHJpbnRmKGZwLCIgICBmVHJlZSA9IHRyZWU7
XG4iKTsNCiAgIGZvciAobD0wO2w8bmxlYXZlcztsKyspIHsNCiAgICAgIFRM
ZWFmICpsZWFmID0gKFRMZWFmKilsZWF2ZXMtPlVuY2hlY2tlZEF0KGwpOw0K
ICAgICAgbGVuID0gbGVhZi0+R2V0TGVuKCk7DQogICAgICBsZWFmY291bnQg
PWxlYWYtPkdldExlYWZDb3VudCgpOw0KICAgICAgVEJyYW5jaCAqYnJhbmNo
ID0gbGVhZi0+R2V0QnJhbmNoKCk7DQogICAgICBpZiAobGVhZmNvdW50KSBz
dHJjcHkoYnJhbmNobmFtZSxicmFuY2gtPkdldE5hbWUoKSk7DQogICAgICBl
bHNlICAgICAgICAgICBzdHJjcHkoYnJhbmNobmFtZSxsZWFmLT5HZXRUaXRs
ZSgpKTsNCiAgICAgIGJuYW1lID0gYnJhbmNobmFtZTsNCiAgICAgIHdoaWxl
ICgqYm5hbWUpIHtpZiAoKmJuYW1lID09ICcuJykgKmJuYW1lPSdfJzsgYm5h
bWUrKzt9DQogICAgICBjaGFyICpicmFrID0gc3Ryc3RyKGJyYW5jaG5hbWUs
IlsiKTsNCiAgICAgIGlmIChicmFrKSAqYnJhayA9IDA7DQogICAgICBoZWFk
ID0gaGVhZE9LOw0KICAgICAgaWYgKGJyYW5jaC0+SXNBKCkgPT0gVEJyYW5j
aE9iamVjdDo6Q2xhc3MoKSkgew0KICAgICAgICAgaWYgKGJyYW5jaC0+R2V0
TGlzdE9mQnJhbmNoZXMoKS0+R2V0RW50cmllc0Zhc3QoKSkgY29udGludWU7
DQogICAgICAgICBsZWFmb2JqID0gKFRMZWFmT2JqZWN0KilsZWFmOw0KICAg
ICAgICAgaWYgKCFsZWFmb2JqLT5HZXRDbGFzcygpKSBoZWFkID0gaGVhZGNv
bTsNCiAgICAgICAgIHN0cmNweShicmFuY2huYW1lLGJyYW5jaC0+R2V0TmFt
ZSgpKTsNCiAgICAgIH0NCiAgICAgIGlmIChsZWFmY291bnQpIGxlbiA9IGxl
YWZjb3VudC0+R2V0TWF4aW11bSgpKzE7DQogICAgICBpZiAobGVuID4gMSkg
ZnByaW50ZihmcCwiICAgJXNmVHJlZS0+U2V0QnJhbmNoQWRkcmVzcyhcIiVz
XCIsJXMpO1xuIixoZWFkLGJyYW5jaC0+R2V0TmFtZSgpLGJyYW5jaG5hbWUp
Ow0KICAgICAgZWxzZSAgICAgICAgIGZwcmludGYoZnAsIiAgICVzZlRyZWUt
PlNldEJyYW5jaEFkZHJlc3MoXCIlc1wiLCZsZWFmXyVzKTtcbiIsaGVhZCxi
cmFuY2gtPkdldE5hbWUoKSxicmFuY2huYW1lKTsNCiAgIH0NCiAgIGZwcmlu
dGYoZnAsIiAgIGZUcmVlLT5TZXRCcmFuY2hTdGF0dXMoXCIqXCIsMCk7ICAv
LyBkaXNhYmxlIGFsbCBicmFuY2hlc1xuIik7DQogICBuYiA9IHQtPkdldExp
c3RPZkJyYW5jaGVzKCkuR2V0RW50cmllc0Zhc3QoKTsNCiAgIGZvciAoaT0w
O2k8bmI7aSsrKSAgew0KICAgICAgYnJhbmNoID0gKFRCcmFuY2gqKXQtPkdl
dExpc3RPZkJyYW5jaGVzKCkuVW5jaGVja2VkQXQoaSk7DQogICAgICBmcHJp
bnRmKGZwLCIgICBicmFuY2hfJXMgPSAwO1xuIixicmFuY2gtPkdldE5hbWUo
KSk7DQogICAgICBmcHJpbnRmKGZwLCIgICBicmFuY2hfcG9pbnRlcl8lcyA9
IGZUcmVlLT5HZXRCcmFuY2goXCIlc1wiKTtcbiIsYnJhbmNoLT5HZXROYW1l
KCksYnJhbmNoLT5HZXROYW1lKCkpOw0KICAgfQ0KICAgZnByaW50ZihmcCwi
ICAgZkV2ZW50ID0gLTE7XG4iKTsNCiAgIGZwcmludGYoZnAsIn1cbiIpOw0K
ICAgZnByaW50ZihmcCwiXG4iKTsNCg0KLy8gZ2VuZXJhdGUgY29kZSBmb3Ig
Y2xhc3MgbWVtYmVyIGZ1bmN0aW9uIFNob3coKQ0KICAgZnByaW50ZihmcCwi
dm9pZCAlczo6U2hvdyhJbnRfdCBldmVudClcbiIsY2xhc3NuYW1lKTsNCiAg
IGZwcmludGYoZnAsIntcbiIpOw0KICAgZnByaW50ZihmcCwiLy8gUHJpbnQg
Y29udGVudHMgb2YgZXZlbnQuXG4iKTsNCiAgIGZwcmludGYoZnAsIi8vIElm
IGV2ZW50IGlzIG5vdCBzcGVjaWZpZWQsIHByaW50IGN1cnJlbnQgZXZlbnRc
biIpOw0KDQogICBmcHJpbnRmKGZwLCIgICBpZiAoIWZUcmVlKSByZXR1cm47
XG4iKTsNCiAgIGZwcmludGYoZnAsIiAgIGlmIChldmVudD49MCkgZkV2ZW50
ID0gZXZlbnQ7XG4iKTsNCiAgIGZwcmludGYoZnAsIiAgIGVsc2UgZXZlbnQg
PSBmRXZlbnQ7XG4iKTsNCiAgIGZwcmludGYoZnAsIiAgIGlmIChmRXZlbnQ8
MCkgcmV0dXJuO1xuIik7DQogICBmcHJpbnRmKGZwLCIgICBmVHJlZS0+U2V0
QnJhbmNoU3RhdHVzKFwiKlwiLDEpOyAgLy8gZW5hYmxlIGFsbCBicmFuY2hl
c1xuIik7DQogICBmcHJpbnRmKGZwLCIgICBmVHJlZS0+U2hvdyhmRXZlbnQp
O1xuIik7DQogICBmcHJpbnRmKGZwLCIgICBmVHJlZS0+U2V0QnJhbmNoU3Rh
dHVzKFwiKlwiLDApOyAgLy8gZGlzYWJsZSBhbGwgYnJhbmNoZXNcbiIpOw0K
ICAgbmIgPSB0LT5HZXRMaXN0T2ZCcmFuY2hlcygpLkdldEVudHJpZXNGYXN0
KCk7DQogICBmb3IgKGk9MDtpPG5iO2krKykgIHsNCiAgICAgIGJyYW5jaCA9
IChUQnJhbmNoKil0LT5HZXRMaXN0T2ZCcmFuY2hlcygpLlVuY2hlY2tlZEF0
KGkpOw0KICAgICAgZnByaW50ZihmcCwiICAgYnJhbmNoXyVzID0gMTtcbiIs
YnJhbmNoLT5HZXROYW1lKCkpOw0KICAgfQ0KICAgZnByaW50ZihmcCwifVxu
Iik7DQogICBmcHJpbnRmKGZwLCJcbiIpOw0KDQogICBmcHJpbnRmKGZwLCIj
ZW5kaWZcbiIpOw0KICAgZnByaW50ZihmcCwiXG4iKTsNCg0KLy89PT09PT09
PT09PT09PT09PT09PT09R2VuZXJhdGUgY2xhc3NuYW1lLmN4eD09PT09PT09
PT09PT09PT09PT09PQ0KLy8gZ2VuZXJhdGUgY29kZSBmb3IgY2xhc3MgbWVt
YmVyIGZ1bmN0aW9uIExvb3AoKQ0KICAgZnByaW50ZihmcGMsIiNpZm5kZWYg
JXNfY3h4XG4iLGNsYXNzbmFtZSk7DQogICBmcHJpbnRmKGZwYywiI2RlZmlu
ZSAlc19jeHhcbiIsY2xhc3NuYW1lKTsNCiAgIGZwcmludGYoZnBjLCIjZW5k
aWZcbiIpOw0KICAgZnByaW50ZihmcGMsIlxuIik7DQogICBmcHJpbnRmKGZw
YywiI2luY2x1ZGUgXCIlc1wiXG4iLHRoZWFkKTsNCiAgIGZwcmludGYoZnBj
LCJcbiIpOw0KICAgZnByaW50ZihmcGMsIiNpZm5kZWYgX19DSU5UX19cbiIp
Ow0KICAgZnByaW50ZihmcGMsIi8vIFBsYWNlIGhlcmUgYWxsIFJPT1QgcmVs
YXRlZCBpbmNsdWRlcyB0aGF0IHlvdSBuZWVkXG4iKTsNCiAgIGZwcmludGYo
ZnBjLCIjZW5kaWZcbiIpOw0KICAgZnByaW50ZihmcGMsIlxuIik7DQogICBm
cHJpbnRmKGZwYywidm9pZCAlczo6TG9vcCgpXG4iLGNsYXNzbmFtZSk7DQog
ICBmcHJpbnRmKGZwYywie1xuIik7DQogICBmcHJpbnRmKGZwYywiXG4vLyAg
ICAgVGhpcyBpcyB0aGUgbG9vcCBza2VsZXRvblxuIik7DQogICBmcHJpbnRm
KGZwYywiICAgaWYgKGZUcmVlID09IDApIHJldHVybjtcbiIpOw0KICAgZnBy
aW50ZihmcGMsIlxuICAgU3RhdF90IG5lbnRyaWVzID0gZlRyZWUtPkdldEVu
dHJpZXMoKTtcbiIpOw0KICAgZnByaW50ZihmcGMsIlxuICAgSW50X3QgbmJ5
dGVzID0gMCwgbmIgPSAwO1xuIik7DQogICBmcHJpbnRmKGZwYywiICAgICBm
b3IgKEludF90IGk9MDsgaTxuZW50cmllcztpKyspIHtcbiIpOw0KICAgZnBy
aW50ZihmcGMsIiAgICAgICAgbmIgPSBmVHJlZS0+R2V0RXZlbnQoaSk7ICAg
bmJ5dGVzICs9IG5iO1xuIik7DQogICBmcHJpbnRmKGZwYywiICAgICB9XG4i
KTsNCiAgIGZwcmludGYoZnBjLCJ9XG4iKTsNCiAgIGZwcmludGYoZnBjLCJc
biIpOw0KDQogICBwcmludGYoIkZpbGVzOiAlcyBhbmQgJXMgZ2VuZXJhdGVk
IGZyb20gVHJlZTogJXNcbiIsdGhlYWQsdGNpbXAsdC0+R2V0TmFtZSgpKTsN
CiAgIGRlbGV0ZSBbXSB0aGVhZDsNCiAgIGRlbGV0ZSBbXSB0Y2ltcDsNCiAg
IGRlbGV0ZSBbXSB0cmVlZmlsZTsNCiAgIGZjbG9zZShmcCk7DQogICBmY2xv
c2UoZnBjKTsNCg0KICAgcmV0dXJuIDA7DQp9DQoNCi8vX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18NCg==
---559023410-851401618-924162663=:11908
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="ntuple.hpp"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.GSO.3.96.990415095103.11908F@uranos.cto.us.edu.pl>
Content-Description: ntuple.hpp
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLw0KLy8gICBUaGlzIGNsYXNzIGhhcyBiZWVuIGF1dG9t
YXRpY2FsbHkgZ2VuZXJhdGVkIA0KLy8gICAgIChUaHUgQXByIDE1IDA5OjM4
OjAyIDE5OTkgYnkgUk9PVCB2ZXJzaW9uIDIuMjEvMDgpDQovLyAgIGZyb20g
VFRyZWUgbnR1cGxlL0RlbW8gbnR1cGxlDQovLyAgIGZvdW5kIG9uIGZpbGU6
IGhzaW1wbGUucm9vdA0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KDQoNCiNpZm5kZWYgbnR1
cGxlX2hwcA0KI2RlZmluZSBudHVwbGVfaHBwDQoNCiNpZm5kZWYgX19DSU5U
X18NCiNpbmNsdWRlICJUUk9PVC5oIg0KI2luY2x1ZGUgIlRCcmFuY2guaCIN
CiNpbmNsdWRlICJUVHJlZS5oIg0KI2luY2x1ZGUgIlRGaWxlLmgiDQojZWxz
ZQ0KY2xhc3MgVEJyYW5jaDsNCmNsYXNzIFRUcmVlOw0KY2xhc3MgVEZpbGU7
DQojZW5kaWYNCg0KY2xhc3MgbnR1cGxlIHsNCiAgIHB1YmxpYyA6DQogICBU
VHJlZSAgICAgICAgICAqZlRyZWU7IC8vcG9pbnRlciB0byB0aGUgYW5hbHl6
ZWQgVFRyZWUNCiAgIEludF90ICAgICAgICAgIGZFdmVudDsgLy9jdXJyZW50
IEV2ZW50IG51bWJlcg0KLy9EZWNsYXJhdGlvbiBvZiBicmFuY2hlcw0KICAg
SW50X3QgICAgICAgICAgIGJyYW5jaF9weDsNCiAgIFRCcmFuY2ggICAgICAg
ICAqYnJhbmNoX3BvaW50ZXJfcHg7DQogICBJbnRfdCAgICAgICAgICAgYnJh
bmNoX3B5Ow0KICAgVEJyYW5jaCAgICAgICAgICpicmFuY2hfcG9pbnRlcl9w
eTsNCiAgIEludF90ICAgICAgICAgICBicmFuY2hfcHo7DQogICBUQnJhbmNo
ICAgICAgICAgKmJyYW5jaF9wb2ludGVyX3B6Ow0KICAgSW50X3QgICAgICAg
ICAgIGJyYW5jaF9yYW5kb207DQogICBUQnJhbmNoICAgICAgICAgKmJyYW5j
aF9wb2ludGVyX3JhbmRvbTsNCiAgIEludF90ICAgICAgICAgICBicmFuY2hf
aTsNCiAgIFRCcmFuY2ggICAgICAgICAqYnJhbmNoX3BvaW50ZXJfaTsNCi8v
RGVjbGFyYXRpb24gb2YgbGVhdmVzDQogICBGbG9hdF90ICAgICAgICAgbGVh
Zl9weDsNCiAgIEZsb2F0X3QgICAgICAgICAmcHgodm9pZCkge2lmIChicmFu
Y2hfcHgpIHJldHVybiBsZWFmX3B4O2JyYW5jaF9wb2ludGVyX3B4LT5HZXRF
dmVudChmRXZlbnQpO2JyYW5jaF9weCA9IDE7IHJldHVybiBsZWFmX3B4O30N
CiAgIEZsb2F0X3QgICAgICAgICBsZWFmX3B5Ow0KICAgRmxvYXRfdCAgICAg
ICAgICZweSh2b2lkKSB7aWYgKGJyYW5jaF9weSkgcmV0dXJuIGxlYWZfcHk7
YnJhbmNoX3BvaW50ZXJfcHktPkdldEV2ZW50KGZFdmVudCk7YnJhbmNoX3B5
ID0gMTsgcmV0dXJuIGxlYWZfcHk7fQ0KICAgRmxvYXRfdCAgICAgICAgIGxl
YWZfcHo7DQogICBGbG9hdF90ICAgICAgICAgJnB6KHZvaWQpIHtpZiAoYnJh
bmNoX3B6KSByZXR1cm4gbGVhZl9wejticmFuY2hfcG9pbnRlcl9wei0+R2V0
RXZlbnQoZkV2ZW50KTticmFuY2hfcHogPSAxOyByZXR1cm4gbGVhZl9wejt9
DQogICBGbG9hdF90ICAgICAgICAgbGVhZl9yYW5kb207DQogICBGbG9hdF90
ICAgICAgICAgJnJhbmRvbSh2b2lkKSB7aWYgKGJyYW5jaF9yYW5kb20pIHJl
dHVybiBsZWFmX3JhbmRvbTticmFuY2hfcG9pbnRlcl9yYW5kb20tPkdldEV2
ZW50KGZFdmVudCk7YnJhbmNoX3JhbmRvbSA9IDE7IHJldHVybiBsZWFmX3Jh
bmRvbTt9DQogICBGbG9hdF90ICAgICAgICAgbGVhZl9pOw0KICAgRmxvYXRf
dCAgICAgICAgICZpKHZvaWQpIHtpZiAoYnJhbmNoX2kpIHJldHVybiBsZWFm
X2k7YnJhbmNoX3BvaW50ZXJfaS0+R2V0RXZlbnQoZkV2ZW50KTticmFuY2hf
aSA9IDE7IHJldHVybiBsZWFmX2k7fQ0KDQogICBudHVwbGUoVFRyZWUgKnRy
ZWUgPSAwKTsNCiAgIH5udHVwbGUoKSB7O30NCiAgIEludF90IEdldEV2ZW50
KEludF90IGV2ZW50KTsNCiAgIHZvaWQgSW5pdChUVHJlZSAqdHJlZSk7DQog
ICB2b2lkIExvb3AoKTsNCiAgIHZvaWQgU2hvdyhJbnRfdCBldmVudCA9IC0x
KTsNCn07DQoNCiNlbmRpZg0KDQojaWZkZWYgbnR1cGxlX2N4eA0KDQpudHVw
bGU6Om50dXBsZShUVHJlZSAqdHJlZSkNCnsNCi8vIGlmIHBhcmFtZXRlciB0
cmVlIGlzIG5vdCBzcGVjaWZpZWQgKG9yIHplcm8pLCBjb25uZWN0IHRoZSBm
aWxlDQovLyB1c2VkIHRvIGdlbmVyYXRlIHRoaXMgY2xhc3MgYW5kIHJlYWQg
dGhlIFRyZWUuDQogICBpZiAodHJlZSA9PSAwKSB7DQogICAgICBURmlsZSAq
ZiA9IChURmlsZSopZ1JPT1QtPkdldExpc3RPZkZpbGVzKCktPkZpbmRPYmpl
Y3QoImhzaW1wbGUucm9vdCIpOw0KICAgICAgaWYgKCFmKSB7DQogICAgICAg
ICBmID0gbmV3IFRGaWxlKCJoc2ltcGxlLnJvb3QiKTsNCiAgICAgIH0NCiAg
ICAgIHRyZWUgPSAoVFRyZWUqKWdEaXJlY3RvcnktPkdldCgibnR1cGxlIik7
DQoNCiAgIH0NCiAgIEluaXQodHJlZSk7DQp9DQoNCkludF90IG50dXBsZTo6
R2V0RXZlbnQoSW50X3QgZXZlbnQpDQp7DQovLyBSZWFkIHNwZWNpZmllZCBl
dmVudCBmcm9tIHRoZSBUcmVlIGludG8gZGF0YSBtZW1iZXJzDQogICBpZiAo
IWZUcmVlKSByZXR1cm4gMDsNCiAgIC8vIGlmIChmRXZlbnQ9PWV2ZW50KSBy
ZXR1cm4gMTsNCiAgIGJyYW5jaF9weCA9IDA7DQogICBicmFuY2hfcHkgPSAw
Ow0KICAgYnJhbmNoX3B6ID0gMDsNCiAgIGJyYW5jaF9yYW5kb20gPSAwOw0K
ICAgYnJhbmNoX2kgPSAwOw0KICAgZkV2ZW50ID0gZXZlbnQ7DQogICByZXR1
cm4gMTsNCn0NCg0Kdm9pZCBudHVwbGU6OkluaXQoVFRyZWUgKnRyZWUpDQp7
DQovLyAgIFNldCBicmFuY2ggYWRkcmVzc2VzDQogICBpZiAodHJlZSA9PSAw
KSByZXR1cm47DQogICBmVHJlZSA9IHRyZWU7DQogICAgICBmVHJlZS0+U2V0
QnJhbmNoQWRkcmVzcygicHgiLCZsZWFmX3B4KTsNCiAgICAgIGZUcmVlLT5T
ZXRCcmFuY2hBZGRyZXNzKCJweSIsJmxlYWZfcHkpOw0KICAgICAgZlRyZWUt
PlNldEJyYW5jaEFkZHJlc3MoInB6IiwmbGVhZl9weik7DQogICAgICBmVHJl
ZS0+U2V0QnJhbmNoQWRkcmVzcygicmFuZG9tIiwmbGVhZl9yYW5kb20pOw0K
ICAgICAgZlRyZWUtPlNldEJyYW5jaEFkZHJlc3MoImkiLCZsZWFmX2kpOw0K
ICAgZlRyZWUtPlNldEJyYW5jaFN0YXR1cygiKiIsMCk7ICAvLyBkaXNhYmxl
IGFsbCBicmFuY2hlcw0KICAgYnJhbmNoX3B4ID0gMDsNCiAgIGJyYW5jaF9w
b2ludGVyX3B4ID0gZlRyZWUtPkdldEJyYW5jaCgicHgiKTsNCiAgIGJyYW5j
aF9weSA9IDA7DQogICBicmFuY2hfcG9pbnRlcl9weSA9IGZUcmVlLT5HZXRC
cmFuY2goInB5Iik7DQogICBicmFuY2hfcHogPSAwOw0KICAgYnJhbmNoX3Bv
aW50ZXJfcHogPSBmVHJlZS0+R2V0QnJhbmNoKCJweiIpOw0KICAgYnJhbmNo
X3JhbmRvbSA9IDA7DQogICBicmFuY2hfcG9pbnRlcl9yYW5kb20gPSBmVHJl
ZS0+R2V0QnJhbmNoKCJyYW5kb20iKTsNCiAgIGJyYW5jaF9pID0gMDsNCiAg
IGJyYW5jaF9wb2ludGVyX2kgPSBmVHJlZS0+R2V0QnJhbmNoKCJpIik7DQog
ICBmRXZlbnQgPSAtMTsNCn0NCg0Kdm9pZCBudHVwbGU6OlNob3coSW50X3Qg
ZXZlbnQpDQp7DQovLyBQcmludCBjb250ZW50cyBvZiBldmVudC4NCi8vIElm
IGV2ZW50IGlzIG5vdCBzcGVjaWZpZWQsIHByaW50IGN1cnJlbnQgZXZlbnQN
CiAgIGlmICghZlRyZWUpIHJldHVybjsNCiAgIGlmIChldmVudD49MCkgZkV2
ZW50ID0gZXZlbnQ7DQogICBlbHNlIGV2ZW50ID0gZkV2ZW50Ow0KICAgaWYg
KGZFdmVudDwwKSByZXR1cm47DQogICBmVHJlZS0+U2V0QnJhbmNoU3RhdHVz
KCIqIiwxKTsgIC8vIGVuYWJsZSBhbGwgYnJhbmNoZXMNCiAgIGZUcmVlLT5T
aG93KGZFdmVudCk7DQogICBmVHJlZS0+U2V0QnJhbmNoU3RhdHVzKCIqIiww
KTsgIC8vIGRpc2FibGUgYWxsIGJyYW5jaGVzDQogICBicmFuY2hfcHggPSAx
Ow0KICAgYnJhbmNoX3B5ID0gMTsNCiAgIGJyYW5jaF9weiA9IDE7DQogICBi
cmFuY2hfcmFuZG9tID0gMTsNCiAgIGJyYW5jaF9pID0gMTsNCn0NCg0KI2Vu
ZGlmDQoNCg==
---559023410-851401618-924162663=:11908--