(no subject)
[email protected] Fri, 14 Nov 2003 13:15:59 +0100
| Newsgroups | gmane.comp.java.enhydra.kxml |
|---|---|
| Message-ID | <OF66EEC55B.34D2A2C6-ONC1256DDE.0042ACDC-C1256DDE.00436E3E@de> |
--=_mixed 00436E39C1256DDE_= Content-Type: multipart/alternative; boundary="=_alternative 00436E39C1256DDE_=" --=_alternative 00436E39C1256DDE_= Content-Type: text/plain; charset="US-ASCII" Hi Stefan, i've downloaded your version 2.1.7, because you compiled 2.1.8 with the wrong version. After initializing the pullparserfactory, my jre throws a error. So i decided to decompile your class files with jad. (hope that is no problem for you ;-)) I've removed your gotos, i think that were once labels....? I've added the java file of PullParserFactory. you will see my changes. I wish u a nice weekend. Greetings Sigi --=_alternative 00436E39C1256DDE_= Content-Type: text/html; charset="US-ASCII" <br><font size=2 face="sans-serif">Hi Stefan,</font> <br> <br><font size=2 face="sans-serif">i've downloaded your version 2.1.7, because you compiled 2.1.8 with the wrong version.</font> <br><font size=2 face="sans-serif">After initializing the pullparserfactory, my jre throws a error. So i decided to decompile</font> <br><font size=2 face="sans-serif">your class files with jad. (hope that is no problem for you ;-))</font> <br><font size=2 face="sans-serif">I've removed your gotos, i think that were once labels....?</font> <br><font size=2 face="sans-serif">I've added the java file of PullParserFactory. you will see my changes.</font> <br> <br><font size=2 face="sans-serif">I wish u a nice weekend.</font> <br> <br><font size=2 face="sans-serif">Greetings </font> <br> <br><font size=2 face="sans-serif">Sigi</font> <br> <br> --=_alternative 00436E39C1256DDE_=-- --=_mixed 00436E39C1256DDE_= Content-Type: application/octet-stream; name="XmlPullParserFactory.java" Content-Disposition: attachment; filename="XmlPullParserFactory.java" Content-Transfer-Encoding: base64 Ly8gRGVjb21waWxlZCBVc2luZzogRnJvbnRFbmQgUGx1cyB2Mi4wMyBhbmQgdGhlIEpBRCBFbmdp bmUNCi8vIEF2YWlsYWJsZSBGcm9tOiBodHRwOi8vd3d3LnJlZmxlY3Rpb25zLmF0aC5jeA0KLy8g RGVjb21waWxlciBvcHRpb25zOiBwYWNraW1wb3J0cygzKQ0KLy8gU291cmNlIEZpbGUgTmFtZTog ICBYbWxQdWxsUGFyc2VyRmFjdG9yeS5qYXZhDQoNCnBhY2thZ2Ugb3JnLnhtbHB1bGwudjE7DQoN CmltcG9ydCBvcmcua3htbDIuaW8uS1htbFBhcnNlcjsNCg0KaW1wb3J0IGphdmEuaW8uSW5wdXRT dHJlYW07DQppbXBvcnQgamF2YS51dGlsLio7DQoNCi8vIFJlZmVyZW5jZWQgY2xhc3NlcyBvZiBw YWNrYWdlIG9yZy54bWxwdWxsLnYxOg0KLy8gICAgICAgICAgICBYbWxQdWxsUGFyc2VyRXhjZXB0 aW9uLCBYbWxQdWxsUGFyc2VyLCBYbWxTZXJpYWxpemVyDQoNCnB1YmxpYyBjbGFzcyBYbWxQdWxs UGFyc2VyRmFjdG9yeQ0Kew0KDQogICAgcHJvdGVjdGVkIFhtbFB1bGxQYXJzZXJGYWN0b3J5KCkN CiAgICB7DQogICAgICAgIGZlYXR1cmVzID0gbmV3IEhhc2h0YWJsZSgpOw0KICAgIH0NCg0KICAg IHB1YmxpYyB2b2lkIHNldEZlYXR1cmUoU3RyaW5nIG5hbWUsIGJvb2xlYW4gc3RhdGUpDQogICAg ICAgIHRocm93cyBYbWxQdWxsUGFyc2VyRXhjZXB0aW9uDQogICAgew0KICAgICAgICBmZWF0dXJl cy5wdXQobmFtZSwgbmV3IEJvb2xlYW4oc3RhdGUpKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgYm9v bGVhbiBnZXRGZWF0dXJlKFN0cmluZyBuYW1lKQ0KICAgIHsNCiAgICAgICAgQm9vbGVhbiB2YWx1 ZSA9IChCb29sZWFuKWZlYXR1cmVzLmdldChuYW1lKTsNCiAgICAgICAgcmV0dXJuIHZhbHVlID09 IG51bGwgPyBmYWxzZSA6IHZhbHVlLmJvb2xlYW5WYWx1ZSgpOw0KICAgIH0NCg0KICAgIHB1Ymxp YyB2b2lkIHNldE5hbWVzcGFjZUF3YXJlKGJvb2xlYW4gYXdhcmVuZXNzKQ0KICAgIHsNCiAgICAg ICAgZmVhdHVyZXMucHV0KCJodHRwOi8veG1scHVsbC5vcmcvdjEvZG9jL2ZlYXR1cmVzLmh0bWwj cHJvY2Vzcy1uYW1lc3BhY2VzIiwgbmV3IEJvb2xlYW4oYXdhcmVuZXNzKSk7DQogICAgfQ0KDQog ICAgcHVibGljIGJvb2xlYW4gaXNOYW1lc3BhY2VBd2FyZSgpDQogICAgew0KICAgICAgICByZXR1 cm4gZ2V0RmVhdHVyZSgiaHR0cDovL3htbHB1bGwub3JnL3YxL2RvYy9mZWF0dXJlcy5odG1sI3By b2Nlc3MtbmFtZXNwYWNlcyIpOw0KICAgIH0NCg0KICAgIHB1YmxpYyB2b2lkIHNldFZhbGlkYXRp bmcoYm9vbGVhbiB2YWxpZGF0aW5nKQ0KICAgIHsNCiAgICAgICAgZmVhdHVyZXMucHV0KCJodHRw Oi8veG1scHVsbC5vcmcvdjEvZG9jL2ZlYXR1cmVzLmh0bWwjdmFsaWRhdGlvbiIsIG5ldyBCb29s ZWFuKHZhbGlkYXRpbmcpKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgYm9vbGVhbiBpc1ZhbGlkYXRp bmcoKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuIGdldEZlYXR1cmUoImh0dHA6Ly94bWxwdWxsLm9y Zy92MS9kb2MvZmVhdHVyZXMuaHRtbCN2YWxpZGF0aW9uIik7DQogICAgfQ0KDQogICAgcHVibGlj IFhtbFB1bGxQYXJzZXIgbmV3UHVsbFBhcnNlcigpDQogICAgICAgIHRocm93cyBYbWxQdWxsUGFy c2VyRXhjZXB0aW9uDQogICAgew0KICAgICAgICBTdHJpbmdCdWZmZXIgaXNzdWVzOw0KICAgICAg ICBpbnQgaTsNCiAgICAgICAgaWYocGFyc2VyQ2xhc3NlcyA9PSBudWxsKQ0KICAgICAgICAgICAg dGhyb3cgbmV3IFhtbFB1bGxQYXJzZXJFeGNlcHRpb24oIkZhY3RvcnkgaW5pdGlhbGl6YXRpb24g d2FzIGluY29tcGxldGUgLSBoYXMgbm90IHRyaWVkICIgKyBjbGFzc05hbWVzTG9jYXRpb24pOw0K ICAgICAgICBpZihwYXJzZXJDbGFzc2VzLnNpemUoKSA9PSAwKQ0KICAgICAgICAgICAgdGhyb3cg bmV3IFhtbFB1bGxQYXJzZXJFeGNlcHRpb24oIk5vIHZhbGlkIHBhcnNlciBjbGFzc2VzIGZvdW5k IGluICIgKyBjbGFzc05hbWVzTG9jYXRpb24pOw0KICAgICAgICBpc3N1ZXMgPSBuZXcgU3RyaW5n QnVmZmVyKCk7DQogICAgICAgIGkgPSAwOw0KICAgICAgICAvKg0KICAgICAgICBpZihpID49ICBw YXJzZXJDbGFzc2VzLnNpemUoKSl7DQogICAgICAgICAgICBDbGFzcyBwcENsYXNzID0gbnVsbDsN CiAgICAgICAgICAgIHdoaWxlKGkgPCBwYXJzZXJDbGFzc2VzLnNpemUoKSl7DQogICAgICAgICAg ICAgICAgdHJ5ew0KICAgICAgICAgICAgICAgICAgICBwcENsYXNzID0gKENsYXNzKXBhcnNlckNs YXNzZXMuZWxlbWVudEF0KGkpOw0KICAgICAgICAgICAgICAgICAgICBYbWxQdWxsUGFyc2VyIHBw Ow0KICAgICAgICAgICAgICAgICAgICBwcCA9IChYbWxQdWxsUGFyc2VyKXBwQ2xhc3MubmV3SW5z dGFuY2UoKTsNCiAgICAgICAgICAgICAgICAgICAgZm9yKEVudW1lcmF0aW9uIGUgPSBmZWF0dXJl cy5rZXlzKCk7IGUuaGFzTW9yZUVsZW1lbnRzKCk7KQ0KICAgICAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcga2V5ID0gKFN0cmluZyllLm5leHRFbGVtZW50 KCk7DQogICAgICAgICAgICAgICAgICAgICAgICBCb29sZWFuIHZhbHVlID0gKEJvb2xlYW4pZmVh dHVyZXMuZ2V0KGtleSk7DQogICAgICAgICAgICAgICAgICAgICAgICBpZih2YWx1ZSAhPSBudWxs ICYmIHZhbHVlLmJvb2xlYW5WYWx1ZSgpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBw LnNldEZlYXR1cmUoa2V5LCB0cnVlKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAg ICAgICAgICAgICAgIHJldHVybiBwcDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgY2F0Y2goRXhjZXB0aW9uIGV4KXsNCiAgICAgICAgICAgICAgICAgICAgaXNzdWVzLmFwcGVu ZChwcENsYXNzLmdldE5hbWUoKSArICI6ICIgKyBleC50b1N0cmluZygpICsgIjsgIik7DQogICAg ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIC8vaXNzdWVzLmFwcGVuZChwcENsYXNzLmdl dE5hbWUoKSArICI6ICIgKyBleC50b1N0cmluZygpICsgIjsgIik7DQogICAgICAgICAgICAgICAg aSsrOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIGVsc2V7DQogICAgICAgICAg ICB0aHJvdyBuZXcgWG1sUHVsbFBhcnNlckV4Y2VwdGlvbigiY291bGQgbm90IGNyZWF0ZSBwYXJz ZXI6ICIgKyBpc3N1ZXMpOw0KDQogICAgICAgIH0NCiAgICAgICAgKi8NCiAgICAgICAgcmV0dXJu IG5ldyBLWG1sUGFyc2VyKCk7DQogICAgfQ0KLyoNCiAgICAgICAgICBnb3RvIF9MMQ0KX0wzOg0K ICAgICAgICBDbGFzcyBwcENsYXNzID0gKENsYXNzKXBhcnNlckNsYXNzZXMuZWxlbWVudEF0KGkp Ow0KICAgICAgICBYbWxQdWxsUGFyc2VyIHBwOw0KICAgICAgICBwcCA9IChYbWxQdWxsUGFyc2Vy KXBwQ2xhc3MubmV3SW5zdGFuY2UoKTsNCiAgICAgICAgZm9yKEVudW1lcmF0aW9uIGUgPSBmZWF0 dXJlcy5rZXlzKCk7IGUuaGFzTW9yZUVsZW1lbnRzKCk7KQ0KICAgICAgICB7DQogICAgICAgICAg ICBTdHJpbmcga2V5ID0gKFN0cmluZyllLm5leHRFbGVtZW50KCk7DQogICAgICAgICAgICBCb29s ZWFuIHZhbHVlID0gKEJvb2xlYW4pZmVhdHVyZXMuZ2V0KGtleSk7DQogICAgICAgICAgICBpZih2 YWx1ZSAhPSBudWxsICYmIHZhbHVlLmJvb2xlYW5WYWx1ZSgpKQ0KICAgICAgICAgICAgICAgIHBw LnNldEZlYXR1cmUoa2V5LCB0cnVlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBwcDsN CiAgICAgICAgRXhjZXB0aW9uIGV4Ow0KICAgICAgICBleDsNCiAgICAgICAgaXNzdWVzLmFwcGVu ZChwcENsYXNzLmdldE5hbWUoKSArICI6ICIgKyBleC50b1N0cmluZygpICsgIjsgIik7DQogICAg ICAgIGkrKzsNCl9MMToNCiAgICAgICAgaWYoaSA8IHBhcnNlckNsYXNzZXMuc2l6ZSgpKSBnb3Rv IF9MMzsgZWxzZSBnb3RvIF9MMg0KX0wyOg0KICAgICAgICB0aHJvdyBuZXcgWG1sUHVsbFBhcnNl ckV4Y2VwdGlvbigiY291bGQgbm90IGNyZWF0ZSBwYXJzZXI6ICIgKyBpc3N1ZXMpOw0KICAgIH0N CiovDQogICAgcHVibGljIFhtbFNlcmlhbGl6ZXIgbmV3U2VyaWFsaXplcigpDQogICAgICAgIHRo cm93cyBYbWxQdWxsUGFyc2VyRXhjZXB0aW9uDQogICAgew0KICAgICAgICBDbGFzcyBwcENsYXNz ID0gbnVsbDsNCiAgICAgICAgU3RyaW5nQnVmZmVyIGlzc3VlczsNCiAgICAgICAgaW50IGk7DQog ICAgICAgIGlmKHNlcmlhbGl6ZXJDbGFzc2VzID09IG51bGwpDQogICAgICAgICAgICB0aHJvdyBu ZXcgWG1sUHVsbFBhcnNlckV4Y2VwdGlvbigiRmFjdG9yeSBpbml0aWFsaXphdGlvbiBpbmNvbXBs ZXRlIC0gaGFzIG5vdCB0cmllZCAiICsgY2xhc3NOYW1lc0xvY2F0aW9uKTsNCiAgICAgICAgaWYo c2VyaWFsaXplckNsYXNzZXMuc2l6ZSgpID09IDApDQogICAgICAgICAgICB0aHJvdyBuZXcgWG1s UHVsbFBhcnNlckV4Y2VwdGlvbigiTm8gdmFsaWQgc2VyaWFsaXplciBjbGFzc2VzIGZvdW5kIGlu ICIgKyBjbGFzc05hbWVzTG9jYXRpb24pOw0KICAgICAgICBpc3N1ZXMgPSBuZXcgU3RyaW5nQnVm ZmVyKCk7DQogICAgICAgIGkgPSAwOw0KICAgICAgICBpZihpIDwgIHNlcmlhbGl6ZXJDbGFzc2Vz LnNpemUoKSl7DQogICAgICAgICAgICB3aGlsZShpIDwgc2VyaWFsaXplckNsYXNzZXMuc2l6ZSgp KXsNCiAgICAgICAgICAgICAgICB0cnl7DQogICAgICAgICAgICAgICAgcHBDbGFzcyA9IChDbGFz cylzZXJpYWxpemVyQ2xhc3Nlcy5lbGVtZW50QXQoaSk7DQogICAgICAgICAgICAgICAgWG1sU2Vy aWFsaXplciBzZXIgPSAoWG1sU2VyaWFsaXplcilwcENsYXNzLm5ld0luc3RhbmNlKCk7DQogICAg ICAgICAgICAgICAgcmV0dXJuIHNlcjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgY2F0Y2goRXhjZXB0aW9uIGUpew0KICAgICAgICAgICAgICAgICAgICBpc3N1ZXMuYXBwZW5k KHBwQ2xhc3MuZ2V0TmFtZSgpICsgIjogIiArIGUudG9TdHJpbmcoKSArICI7ICIpOw0KICAgICAg ICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBlbHNlew0KICAg ICAgICAgICAgdGhyb3cgbmV3IFhtbFB1bGxQYXJzZXJFeGNlcHRpb24oImNvdWxkIG5vdCBjcmVh dGUgc2VyaWFsaXplcjogIiArIGlzc3Vlcyk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIG51 bGw7DQogICAgICAgIC8qDQogICAgICAgICAgZ290byBfTDENCl9MMzoNCiAgICAgICAgcHBDbGFz cyA9IChDbGFzcylzZXJpYWxpemVyQ2xhc3Nlcy5lbGVtZW50QXQoaSk7DQogICAgICAgIFhtbFNl cmlhbGl6ZXIgc2VyID0gKFhtbFNlcmlhbGl6ZXIpcHBDbGFzcy5uZXdJbnN0YW5jZSgpOw0KICAg ICAgICByZXR1cm4gc2VyOw0KICAgICAgICBFeGNlcHRpb24gZXg7DQogICAgICAgIGV4Ow0KICAg ICAgICBpc3N1ZXMuYXBwZW5kKHBwQ2xhc3MuZ2V0TmFtZSgpICsgIjogIiArIGV4LnRvU3RyaW5n KCkgKyAiOyAiKTsNCiAgICAgICAgaSsrOw0KX0wxOg0KICAgICAgICBpZihpIDwgc2VyaWFsaXpl ckNsYXNzZXMuc2l6ZSgpKSBnb3RvIF9MMzsgZWxzZSBnb3RvIF9MMg0KX0wyOg0KICAgICAgICB0 aHJvdyBuZXcgWG1sUHVsbFBhcnNlckV4Y2VwdGlvbigiY291bGQgbm90IGNyZWF0ZSBzZXJpYWxp emVyOiAiICsgaXNzdWVzKTsNCiAgICAgICAgKi8NCiAgICB9DQoNCg0KICAgIHB1YmxpYyBzdGF0 aWMgWG1sUHVsbFBhcnNlckZhY3RvcnkgbmV3SW5zdGFuY2UoKQ0KICAgICAgICB0aHJvd3MgWG1s UHVsbFBhcnNlckV4Y2VwdGlvbg0KICAgIHsNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlKG51 bGwsIG51bGwpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBzdGF0aWMgWG1sUHVsbFBhcnNlckZhY3Rv cnkgbmV3SW5zdGFuY2UoU3RyaW5nIGNsYXNzTmFtZXMsIENsYXNzIGNvbnRleHQpDQogICAgICAg IHRocm93cyBYbWxQdWxsUGFyc2VyRXhjZXB0aW9uDQogICAgew0KICAgICAgICBpZihjb250ZXh0 ID09IG51bGwpDQogICAgICAgICAgICBjb250ZXh0ID0gcmVmZXJlbmNlQ29udGV4dENsYXNzOw0K ICAgICAgICBTdHJpbmcgY2xhc3NOYW1lc0xvY2F0aW9uID0gbnVsbDsNCiAgICAgICAgY2xhc3NO YW1lcyA9ICJvcmcua3htbDIuaW8uS1htbFBhcnNlcixvcmcua3htbDIuaW8uS1htbFNlcmlhbGl6 ZXIiOw0KICAgICAgICBpZihjbGFzc05hbWVzID09IG51bGwgfHwgY2xhc3NOYW1lcy5sZW5ndGgo KSA9PSAwIHx8ICJERUZBVUxUIi5lcXVhbHMoY2xhc3NOYW1lcykpDQogICAgICAgIHsNCg0KICAg ICAgICAgICAgdHJ5DQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgLy9DOi9FbnR3aWNr bHVuZy9UaGlubGV0L3NyYy9NRVRBLUlORlxzZXJ2aWNlcw0KICAgICAgICAgICAgICAgIElucHV0 U3RyZWFtIGlzID0gY29udGV4dC5nZXRSZXNvdXJjZUFzU3RyZWFtKCJDOi9FbnR3aWNrbHVuZy9U aGlubGV0L3NyYy9NRVRBLUlORi9zZXJ2aWNlcy9vcmcueG1scHVsbC52MS5YbWxQdWxsUGFyc2Vy RmFjdG9yeSIpOw0KICAgICAgICAgICAgICAgIGlmKGlzID09IG51bGwpDQogICAgICAgICAgICAg ICAgICAgIHRocm93IG5ldyBYbWxQdWxsUGFyc2VyRXhjZXB0aW9uKCJyZXNvdXJjZSBub3QgZm91 bmQ6IC9NRVRBLUlORi9zZXJ2aWNlcy9vcmcueG1scHVsbC52MS5YbWxQdWxsUGFyc2VyRmFjdG9y eSBtYWtlIHN1cmUgdGhhdCBwYXJzZXIgaW1wbGVtZW50aW5nIFhtbFB1bGwgQVBJIGlzIGF2YWls YWJsZSIpOw0KICAgICAgICAgICAgICAgIFN0cmluZ0J1ZmZlciBzYiA9IG5ldyBTdHJpbmdCdWZm ZXIoKTsNCiAgICAgICAgICAgICAgICBkbw0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAg ICAgICAgICAgaW50IGNoID0gaXMucmVhZCgpOw0KICAgICAgICAgICAgICAgICAgICBpZihjaCA8 IDApDQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAg aWYoY2ggPiAzMikNCiAgICAgICAgICAgICAgICAgICAgICAgIHNiLmFwcGVuZCgoY2hhciljaCk7 DQogICAgICAgICAgICAgICAgfSB3aGlsZSh0cnVlKTsNCiAgICAgICAgICAgICAgICBpcy5jbG9z ZSgpOw0KICAgICAgICAgICAgICAgIGNsYXNzTmFtZXMgPSBzYi50b1N0cmluZygpOw0KICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgY2F0Y2goRXhjZXB0aW9uIGUpDQogICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgdGhyb3cgbmV3IFhtbFB1bGxQYXJzZXJFeGNlcHRpb24obnVsbCwgbnVs bCwgZSk7DQogICAgICAgICAgICB9DQoNCg0KICAgICAgICAgICAgY2xhc3NOYW1lc0xvY2F0aW9u ID0gInJlc291cmNlIC9NRVRBLUlORi9zZXJ2aWNlcy9vcmcueG1scHVsbC52MS5YbWxQdWxsUGFy c2VyRmFjdG9yeSB0aGF0IGNvbnRhaW5lZCAnIiArIGNsYXNzTmFtZXMgKyAiJyI7DQogICAgICAg IH0gZWxzZQ0KICAgICAgICB7DQogICAgICAgICAgICBjbGFzc05hbWVzTG9jYXRpb24gPSAicGFy YW1ldGVyIGNsYXNzTmFtZXMgdG8gbmV3SW5zdGFuY2UoKSB0aGF0IGNvbnRhaW5lZCAnIiArIGNs YXNzTmFtZXMgKyAiJyI7DQogICAgICAgIH0NCiAgICAgICAgWG1sUHVsbFBhcnNlckZhY3Rvcnkg ZmFjdG9yeSA9IG51bGw7DQogICAgICAgIFZlY3RvciBwYXJzZXJDbGFzc2VzID0gbmV3IFZlY3Rv cigpOw0KICAgICAgICBWZWN0b3Igc2VyaWFsaXplckNsYXNzZXMgPSBuZXcgVmVjdG9yKCk7DQog ICAgICAgIGludCBjdXQ7DQogICAgICAgIGZvcihpbnQgcG9zID0gMDsgcG9zIDwgY2xhc3NOYW1l cy5sZW5ndGgoKTsgcG9zID0gY3V0ICsgMSkNCiAgICAgICAgew0KICAgICAgICAgICAgY3V0ID0g Y2xhc3NOYW1lcy5pbmRleE9mKCcsJywgcG9zKTsNCiAgICAgICAgICAgIGlmKGN1dCA9PSAtMSkN CiAgICAgICAgICAgICAgICBjdXQgPSBjbGFzc05hbWVzLmxlbmd0aCgpOw0KICAgICAgICAgICAg U3RyaW5nIG5hbWUgPSBjbGFzc05hbWVzLnN1YnN0cmluZyhwb3MsIGN1dCk7DQogICAgICAgICAg ICBDbGFzcyBjYW5kaWRhdGUgPSBudWxsOw0KICAgICAgICAgICAgT2JqZWN0IGluc3RhbmNlID0g bnVsbDsNCiAgICAgICAgICAgIHRyeQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIGNh bmRpZGF0ZSA9IENsYXNzLmZvck5hbWUobmFtZSk7DQogICAgICAgICAgICAgICAgaW5zdGFuY2Ug PSBjYW5kaWRhdGUubmV3SW5zdGFuY2UoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGNh dGNoKEV4Y2VwdGlvbiBlKSB7IH0NCiAgICAgICAgICAgIGlmKGNhbmRpZGF0ZSAhPSBudWxsKQ0K ICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIGJvb2xlYW4gcmVjb2duaXplZCA9IGZhbHNl Ow0KICAgICAgICAgICAgICAgIGlmKGluc3RhbmNlIGluc3RhbmNlb2YgWG1sUHVsbFBhcnNlcikN CiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIHBhcnNlckNsYXNzZXMuYWRk RWxlbWVudChjYW5kaWRhdGUpOw0KICAgICAgICAgICAgICAgICAgICByZWNvZ25pemVkID0gdHJ1 ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYoaW5zdGFuY2UgaW5zdGFu Y2VvZiBYbWxTZXJpYWxpemVyKQ0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAg ICAgc2VyaWFsaXplckNsYXNzZXMuYWRkRWxlbWVudChjYW5kaWRhdGUpOw0KICAgICAgICAgICAg ICAgICAgICByZWNvZ25pemVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAg ICAgICAgaWYoaW5zdGFuY2UgaW5zdGFuY2VvZiBYbWxQdWxsUGFyc2VyRmFjdG9yeSkNCiAgICAg ICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIGlmKGZhY3RvcnkgPT0gbnVsbCkNCiAg ICAgICAgICAgICAgICAgICAgICAgIGZhY3RvcnkgPSAoWG1sUHVsbFBhcnNlckZhY3RvcnkpaW5z dGFuY2U7DQogICAgICAgICAgICAgICAgICAgIHJlY29nbml6ZWQgPSB0cnVlOw0KICAgICAgICAg ICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZighcmVjb2duaXplZCkNCiAgICAgICAgICAgICAg ICAgICAgdGhyb3cgbmV3IFhtbFB1bGxQYXJzZXJFeGNlcHRpb24oImluY29tcGF0aWJsZSBjbGFz czogIiArIG5hbWUpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgaWYoZmFj dG9yeSA9PSBudWxsKQ0KICAgICAgICAgICAgZmFjdG9yeSA9IG5ldyBYbWxQdWxsUGFyc2VyRmFj dG9yeSgpOw0KICAgICAgICBmYWN0b3J5LnBhcnNlckNsYXNzZXMgPSBwYXJzZXJDbGFzc2VzOw0K ICAgICAgICBmYWN0b3J5LnNlcmlhbGl6ZXJDbGFzc2VzID0gc2VyaWFsaXplckNsYXNzZXM7DQog ICAgICAgIGZhY3RvcnkuY2xhc3NOYW1lc0xvY2F0aW9uID0gY2xhc3NOYW1lc0xvY2F0aW9uOw0K ICAgICAgICByZXR1cm4gZmFjdG9yeTsNCiAgICB9DQoNCiAgICBzdGF0aWMgZmluYWwgQ2xhc3Mg cmVmZXJlbmNlQ29udGV4dENsYXNzOw0KICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgU3RyaW5nIFBS T1BFUlRZX05BTUUgPSAib3JnLnhtbHB1bGwudjEuWG1sUHVsbFBhcnNlckZhY3RvcnkiOw0KICAg IHByaXZhdGUgc3RhdGljIGZpbmFsIFN0cmluZyBSRVNPVVJDRV9OQU1FID0gIi9NRVRBLUlORi9z ZXJ2aWNlcy9vcmcueG1scHVsbC52MS5YbWxQdWxsUGFyc2VyRmFjdG9yeSI7DQogICAgcHJvdGVj dGVkIFZlY3RvciBwYXJzZXJDbGFzc2VzOw0KICAgIHByb3RlY3RlZCBTdHJpbmcgY2xhc3NOYW1l c0xvY2F0aW9uOw0KICAgIHByb3RlY3RlZCBWZWN0b3Igc2VyaWFsaXplckNsYXNzZXM7DQogICAg cHJvdGVjdGVkIEhhc2h0YWJsZSBmZWF0dXJlczsNCg0KICAgIHN0YXRpYw0KICAgIHsNCiAgICAg ICAgWG1sUHVsbFBhcnNlckZhY3RvcnkgZiA9IG5ldyBYbWxQdWxsUGFyc2VyRmFjdG9yeSgpOw0K ICAgICAgICByZWZlcmVuY2VDb250ZXh0Q2xhc3MgPSBmLmdldENsYXNzKCk7DQogICAgfQ0KfQ0K --=_mixed 00436E39C1256DDE_=--