119733|reflectionmethod.getclosure|33|1471171537|okto|VXNlIG1ldGhvZCBmcm9tIGFub3RoZXIgY2xhc3MgY29udGV4dC4KCjw/cGhwCgpjbGFzcyBBIHsKICAgIHByaXZhdGUgJHZhciA9ICdjbGFzcyBBJzsKCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VmFyKCkgewogICAgICAgIHJldHVybiAkdGhpcy0+dmFyOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDbCgpIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAkdGhpcy0+Z2V0VmFyKCk7CiAgICAgICAgfTsKICAgIH0KfQoKY2xhc3MgQiB7CiAgICBwcml2YXRlICR2YXIgPSAnY2xhc3MgQic7Cn0KCiRhID0gbmV3IEEoKTsKJGIgPSBuZXcgQigpOwoKcHJpbnQgJGEtPmdldFZhcigpIC4gUEhQX0VPTDsKCiRyZWZsZWN0aW9uID0gbmV3IFJlZmxlY3Rpb25DbGFzcyhnZXRfY2xhc3MoJGEpKTsKJGNsb3N1cmUgICAgPSAkcmVmbGVjdGlvbi0+Z2V0TWV0aG9kKCdnZXRWYXInKS0+Z2V0Q2xvc3VyZSgkYSk7CiRnZXRfdmFyX2IgID0gJGNsb3N1cmUtPmJpbmRUbygkYiwgJGIpOwoKcHJpbnQgJGdldF92YXJfYigpIC4gUEhQX0VPTDsKCi8vIE91dHB1dDoKLy8gY2xhc3MgQQovLyBjbGFzcyBC|1|2 111140|reflectionmethod.getclosure|94|1358539508|Denis Doronin|WW91IGNhbiBjYWxsIHByaXZhdGUgbWV0aG9kcyB3aXRoIGdldENsb3N1cmUoKToKCjw/cGhwCgpmdW5jdGlvbiBjYWxsX3ByaXZhdGVfbWV0aG9kKCRvYmplY3QsICRtZXRob2QsICRhcmdzID0gYXJyYXkoKSkgewoJJHJlZmxlY3Rpb24gPSBuZXcgUmVmbGVjdGlvbkNsYXNzKGdldF9jbGFzcygkb2JqZWN0KSk7CgkkY2xvc3VyZSA9ICRyZWZsZWN0aW9uLT5nZXRNZXRob2QoJG1ldGhvZCktPmdldENsb3N1cmUoJG9iamVjdCk7CglyZXR1cm4gY2FsbF91c2VyX2Z1bmNfYXJyYXkoJGNsb3N1cmUsICRhcmdzKTsKfQoKY2xhc3MgRXhhbXBsZSB7CgogICAgcHJpdmF0ZSAkeCA9IDEsICR5ID0gMTA7CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBzdW0oKSB7CiAgICAgICAgcHJpbnQgJHRoaXMtPnggKyAkdGhpcy0+eTsKICAgIH0KCn0KCmNhbGxfcHJpdmF0ZV9tZXRob2QobmV3IEV4YW1wbGUoKSwgJ3N1bScpOwoKPz4KCk91dHB1dCBpcyAxMS4=|15|1