<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE module [
  <!ELEMENT module (dtdversion,name,version,description*,help*,about*,requires*,file+)>
  <!ELEMENT dtdversion (#PCDATA)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT version (#PCDATA)>
  <!ELEMENT mincmsversion (#PCDATA)>
  <!ELEMENT description (#PCDATA)>
  <!ELEMENT help (#PCDATA)>
  <!ELEMENT about (#PCDATA)>
  <!ELEMENT requires (requiredname,requiredversion)>
  <!ELEMENT requiredname (#PCDATA)>
  <!ELEMENT requiredversion (#PCDATA)>
  <!ELEMENT file (filename,isdir,data)>
  <!ELEMENT filename (#PCDATA)>
  <!ELEMENT isdir (#PCDATA)>
  <!ELEMENT data (#PCDATA)>
]>
<module>
	<dtdversion>1.3</dtdversion>
	<name>JQueryTools</name>
	<version>1.0.10</version>
  <mincmsversion>1.8.1</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgaXMgdGhpcz88L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyA8YSBocmVmPSJodHRwOi8vd3d3LmpxdWVyeS5jb20iPmpRdWVyeTwvYT4gZnVuY3Rpb25hbGl0eSB0byBDTVMgTWFkZSBTaW1wbGUgcGFnZSwgYW5kIG1vZHVsZXMgKGV2ZW4gaW4gdGhlIGFkbWluIHNlY3Rpb24pLCBjb252ZW5pZW50bHkgYW5kIGVhc2lseS4gIEl0IHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgbGlrZSBhamF4LCB0b29sdGlwcywgc29ydGFibGUgdGFibGVzLCBhbmQgYW55dGhpbmcgZWxzZSB5b3UgY2FuIGRvIHdpdGgganF1ZXJ5IGluIG9uZSBuaWNlLCBlYXN5IHRvIHVzZSBwYWNrYWdlLjwvcD4KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPgo8cD5UbyBlbmFibGUgSlF1ZXJ5VG9vbHMgeW91IG11c3QgaW5jbHVkZSBhdCBsZWFzdCBvbmUgdGFnIGluIHRoZSBoZWFkIHNlY3Rpb24gb2YgeW91ciBwYWdlIHRlbXBsYXRlLCBvciBpbiB0aGUgbWV0YWRhdGEgc2VjdGlvbiBvZiBlYWNoIHJlcXVpcmVkIHBhZ2UuICBVc2UgdGhpcyB0YWc6IDxjb2RlPntKUXVlcnlUb29scyBhY3Rpb249aW5janN9PC9jb2RlPjwvcD4KPHA+QWRkaXRpb25hbGx5LCB5b3UgY2FuIGluY2x1ZGUgYSBzZWNvbmQgdGFnIHRvIGluY2x1ZGUgdGhlIGphdmFzY3JpcHQgdGhhdCBwcm92aWRlcyB0aGUgZGVmYXVsdCByZWFkeSBmdW5jdGlvbi4gPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1yZWFkeX08L2NvZGU+PC9wPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBwcm92aWRlIHNhbXBsZXMgYW5kIGluc3RydWN0aW9ucyBhcyB0byBob3cgdG8gdXNlIGpxdWVyeSBvciB0aGUgdmFyaW91cyBhZGRvbiBsaWJyYXJpZXMgdGhhdCB3ZSBpbmNsdWRlLiAgdG8gbGVhcm4gaG93IHRvIHVzZSB0aGVzZSBsaWJyYXJpZXMgeW91IHdpbGwgbmVlZCB0byByZWFkIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgcGx1Z2lucyBhdCB0aGVpciByZXNwZWN0aXZlIGhvbWUgcGFnZS48L3A+CjxoMz5XaGF0IGpxdWVyeSB2ZXJzaW9uIGlzIGluY2x1ZGVkPzwvaDM+CjxwPkN1cnJlbnRseSBKUXVlcnlUb29scyB1c2VzIGpxdWVyeSAxLjMuMjwvcD4KPGgzPldoYXQgSlF1ZXJ5IHBsdWdpbnMgYXJlIGluY2x1ZGVkPC9oMz4KPHVsPgogIDxsaT5kaW1lbnNpb25zPC9saT4KICA8bGk+aG92ZXJJbnRlbnQ8L2xpPgogIDxsaT5tZXRhZGF0YTwvbGk+CjxsaT50YWJsZXNvcnRlciA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vdGFibGVzb3J0ZXIuY29tIj5odHRwOi8vdGFibGVzb3J0ZXIuY29tPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+CjxwPi0tIFRvIGFsbG93IHNvcnRpbmcgeW91ciB0YWJsZXMsIGdpdmUgdGhlIGZvbGx3aW5nIGNsYXNzZXMgdG8gdGhlIHRhYmxlIGRlZmluaXRpb246IGNtc19zb3J0YWJsZSB0YWJsZXNvcnRlci4gaS5lOiA8Y29kZT4mbHQ7dGFibGUgY2xhc3M9ImNtc19zb3J0YWJsZSB0YWJsZXNvcnRlciImZ3Q7Li4uJmx0Oy90YWJsZSZndDs8L2NvZGU+PC9wPgogIDwvbGk+CiAgPGxpPmNsdWV0aXAgPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvIj5odHRwOi8vcGx1Z2lucy5sZWFybmluZ2pxdWVyeS5jb20vY2x1ZXRpcC88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPgogIDxsaT5mb3JtIDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLyI+aHR0cDovL21hbHN1cC5jb20vanF1ZXJ5L2Zvcm0vPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4KICA8bGk+ZmFuY3lib3ggPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL2ZhbmN5LmtsYWRlLmx2LyI+aHR0cDovL2ZhbmN5LmtsYWRlLmx2LzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+CjwvdWw+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCdzCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIAo8L3VsPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q0dFeHRlbnNpb25zID0mZ3Q7IDEuMTk8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaW5jbHVkZT0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgaW5janMgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3MgZXhwbGljaXRseSBpbmNsdWRpbmcgY2VydGFpbiBqcXVlcnkgcGx1Z2lucyB3aGlsc3QgZXhjbHVkaW5nIGFsbCBvdGhlcnMuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBzcGVjaWZpZWQsIHRoZSBleGNsdWRlIHBhcmFtZXRlciB3aWxsIGJlIGlnbm9yZWQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlIHRhYmxlc29ydGVyLGNsdWV0aXAsZm9ybS48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vX2Nzcz0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgaW5janMgYWN0aW9uLCB0aGlzIHdpbGwgZXhjbHVkZSBjc3MgdGFncyBmcm9tIGJlaW5nIG91dHB1dDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9fanM9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGluY2pzIGFjdGlvbiwgdGhpcyB3aWxsIGV4Y2x1ZGUgc2NyaXB0IHRhZ3MgZnJvbSBiZWluZyBvdXRwdXQ8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGV4Y2x1ZGU9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGluY2pzIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIGV4Y2x1ZGluZyBjZXJ0YWluIGpxdWVyeSBwbHVnaW5zIGZyb20gdGhlIG91dHB1dCBnZW5lcmF0ZWQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOiB0YWJsZXNvcnRlcixjbHVldGlwLGZvcm0uPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhY3Rpb249IiIgLSBTcGVjaWZ5IHRoZSBhY3Rpb24gdG8gYmUgY2FsbGVkLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8dWw+PGxpPmluY2pzIC0gSW5jbHVkZSByZXF1aXJlZCBqYXZhc2NyaXB0IGZpbGVzLjwvbGk+PGxpPnJlYWR5IC0gT3V0cHV0IGRlZmF1bHQgcmVhZHkgZnVuY3Rpb24uPC9saT48L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9fanF1ZXJ5PSIiIC0gLS1BZGQgTWUgLSBtb2R1bGU6SlF1ZXJ5VG9vbHMgc3RyaW5nOnBhcmFtX25vX2pxdWVyeS0tPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMC4xMDxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KICA8bGk+MS4wLjQgLSBPY3RvYmVyIDIwMDkKICAgIDxwPkFkZHMganNvbiBzdXBwb3J0LjwvcD4KICA8L2xpPgogIDxsaT4xLjAuNSAtIE5vdmVtYmVyIDIwMDkKICAgIDxwPkFkZHMgbm9fY3NzIGFuZCBub19qcyBvcHRpb25zIHRvIHRoZSBpbmNqcyBhY3Rpb24uPC9wPgogIDwvbGk+CiAgPGxpPjEuMC42IC0gQXByaWwgMjAxMAogICAgPHA+QWRkcyBjYWxndXlzIGRhdGUgdXRpbHMgcGx1Z2luLjwvcD4KICA8L2xpPgogIDxsaT4xLjAuOSAtIFNlcHRlbWJlciAyMDEwCiAgICA8cD5BZGRzIG5vX2pxdWVyeSBvcHRpb24gdG8gdGhlIGluY2pzIGFjdGlvbi48L3A+CiAgICA8UD5EbyBub3Qgb3V0cHV0IGpxdWVyeSB0YWdzIGZvciBhbnkgbW9kdWxlIGFjdGlvbnMgb3IgYWRtaW4gYWN0aW9ucyBpZiBDTVMgVmVyc2lvbiBpcyA+PSBDTVMgMS45LWJldGExPC9wPgogIDwvbGk+CiAgPGxpPjEuMC4xMCAtIE5vdmVtYmVyIDIwMTAKICAgIDxwPkZpeGVzIGZvciBDTVNNUyAxLjkgd2hlcmUgSlF1ZXJ5IGlzIGluc3RhbGxlZCBieSBkZWZhdWx0LjwvcD4KICA8L2xpPgo8L3VsPjxiciAvPg==]]></about>
	<description><![CDATA[A toolbox of Jquery utilities to aide in creating dynamic and fancy CMS Made Simple modules and websites]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.19</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.incjs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEpRdWVyeVRvb2xzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBIHRvb2xib3ggb2YgY29udmVuaWVuY2VzIHRvIHByb3ZpZGUgZHluYW1pYyBqYXZhc2NyaXB0eSBmdW5jdGlvbmFsaXR5CiMgIGZvciBDTVMgbW9kdWxlcyBhbmQgd2Vic2l0ZSBkZXNpZ25lcnMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCiRiYXNldXJsID0gJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvJy4kdGhpcy0+R2V0TmFtZSgpLicvbGliLyc7CiRmbXQgPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJXMiPjwvc2NyaXB0PicuIlxuIjsKJGRvX2Nzcz0xOwokZG9fanM9MTsKCiRhbGxfbGlicyA9IGFycmF5KCdiYXNlJywndGFibGVzb3J0ZXInLCdjbHVldGlwJywnZm9ybScsJ2ZhbmN5Ym94JywnZm9ybScsJ2NnZm9ybScsJ2xpZ2h0Ym94Jyk7CiRzdGRfbGlicyA9IGFycmF5KCdiYXNlJywndGFibGVzb3J0ZXInLCdjbHVldGlwJywnZm9ybScsJ2ZhbmN5Ym94JywnZm9ybScsJ2NnZm9ybScpOwokYmFzZV9maWxlcyA9IGFycmF5KCdkZXBzJz0+J2pxdWVyeS0xLjQuMi5taW4uanMnLAoJCSAgICAnY3NzJz0+JHRoaXMtPkdldE5hbWUoKS4nLmNzcycpOwoKLy8gYWxsIHRoZSBleHRyYSBsaWJyYXJpZXMuCiRqc29uX2ZpbGVzID0gYXJyYXkoJ21haW4nPT4nanF1ZXJ5Lmpzb24tMS4zLm1pbi5qcycpOwokdGFibGVzb3J0ZXJfZmlsZXMgPSBhcnJheSgnbWFpbic9PidqcXVlcnkudGFibGVzb3J0ZXIuanMnLAoJCQkgICAnZGVwcyc9PidqcXVlcnkubWV0YWRhdGEuanMnKTsKJGNsdWV0aXBfZmlsZXMgPSBhcnJheSgnbWFpbic9PidqcXVlcnkuY2x1ZXRpcC5qcycsCgkJICAgICAgICdkZXBzJz0+J2pxdWVyeS5kaW1lbnNpb25zLmpzLGpxdWVyeS5ob3ZlckludGVudC5qcycsCgkJICAgICAgICdjc3MnPT4nanF1ZXJ5LmNsdWV0aXAuY3NzJyk7CiRsaWdodGJveF9maWxlcyA9IGFycmF5KCdtYWluJz0+J2pxdWVyeS5saWdodGJveC0wLjUuanMnLAoJCQknY3NzJz0+J2pxdWVyeS5saWdodGJveC0wLjUuY3NzJyk7CiR0aGlja2JveF9maWxlcyA9IGFycmF5KCdtYWluJz0+J3RoaWNrYm94LWNvbXByZXNzZWQuanMnLAoJCQknY3NzJz0+J3RoaWNrYm94LmNzcycpOwokZmFuY3lib3hfZmlsZXMgPSBhcnJheSgnbWFpbic9PidqcXVlcnkuZmFuY3lib3gvanF1ZXJ5LmZhbmN5Ym94LTEuMy4xLnBhY2suanMnLAoJCSAJJ2RlcHMnPT4nanF1ZXJ5LmZhbmN5Ym94L2pxdWVyeS5lYXNpbmctMS4zLnBhY2suanMsanF1ZXJ5LmZhbmN5Ym94L2pxdWVyeS5tb3VzZXdoZWVsLTMuMC4yLnBhY2suanMnLAoJCQknY3NzJz0+Jy4uL2pxdWVyeS5mYW5jeWJveC9qcXVlcnkuZmFuY3lib3gtMS4zLjEuY3NzJyk7CiRjZ2Zvcm1fZmlsZXMgPSBhcnJheSgnbWFpbic9PidqcXVlcnkuY2dmb3JtLmpzJyk7CiRmb3JtX2ZpbGVzID0gYXJyYXkoJ21haW4nPT4nanF1ZXJ5LmZvcm0uanMnKTsKCmdsb2JhbCAkQ01TX0FETUlOX1BBR0U7Cmdsb2JhbCAkQ01TX01PRFVMRV9QQUdFOwppZiggaXNzZXQoJENNU19NT0RVTEVfUEFHRSkgJiYgJENNU19NT0RVTEVfUEFHRSA9IDEgJiYgdmVyc2lvbl9jb21wYXJlKENNU19WRVJTSU9OLCcxLjktYmV0YTEnKSA+PSAwICkKICB7CiAgICAkcGFyYW1zWydub19qcXVlcnknXSA9IDE7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snbm9fanF1ZXJ5J10pICkKICB7CiAgICB1bnNldCgkYmFzZV9maWxlc1snZGVwcyddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydub19jc3MnXSkgKQogIHsKICAgICRkb19jc3MgPSAwOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ25vX2pzJ10pICkKICB7CiAgICAkZG9fanMgPSAwOwogIH0KCiRpbmNsdWRlID0gYXJyYXkoKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2luY2x1ZGUnXSkgKQogIHsKICAgICRpbmNsdWRlID0gZXhwbG9kZSgnLCcsJHBhcmFtc1snaW5jbHVkZSddKTsKICB9CiRleGNsdWRlID0gYXJyYXkoKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2V4Y2x1ZGUnXSkgKQogIHsKICAgICRleGNsdWRlID0gZXhwbG9kZSgnLCcsJHBhcmFtc1snZXhjbHVkZSddKTsKICB9CgoKLy8gYXNzZW1ibGUgdGhlIGxpc3Qgb2YgbGlicmFyaWVzIGFuZCBjc3MgZmlsZXMuCiR0aGlzLT5fbGlicyA9IGFycmF5KCk7CiRsaWJzID0gYXJyYXkoKTsKJGNzcyA9IGFycmF5KCk7CiR0aGVfbGlicyA9ICRzdGRfbGliczsKaWYoIGNvdW50KCRpbmNsdWRlKSApCiAgewogICAgJHRoZV9saWJzID0gYXJyYXlfbWVyZ2UoJHN0ZF9saWJzLCRpbmNsdWRlKTsKICB9CmZvciggJHBhc3MgPSAwOyAkcGFzcyA8IDI7ICRwYXNzKysgKQogIHsKICAgIGZvcmVhY2goICR0aGVfbGlicyBhcyAkb25lICkKICAgICAgewoJJHRtcDIgPSAieyRvbmV9X2ZpbGVzIjsKCSRhcnIgPSAkJHRtcDI7CglpZiggIWlzX2FycmF5KCRhcnIpICkKCSAgewoJICAgIGRpZSgnY291bGQgbm90IGZpbmQgYXJyYXkgJHRtcDInKTsKCSAgfQoKCWlmKCAkb25lICE9ICdiYXNlJyAmJiBpbl9hcnJheSgkb25lLCRleGNsdWRlKSApIGNvbnRpbnVlOwoKCWlmKCAhaW5fYXJyYXkoJG9uZSwkdGhpcy0+X2xpYnMpICkKCSAgewoJICAgICR0aGlzLT5fbGlic1tdID0gJG9uZTsKCSAgfQoKCWlmKCAkcGFzcyA9PSAwICYmIGlzc2V0KCRhcnJbJ2RlcHMnXSkgKQoJICB7CgkgICAgJGxpYnMgPSBhcnJheV9tZXJnZSgkbGlicyxleHBsb2RlKCcsJywkYXJyWydkZXBzJ10pKTsKCSAgfQoKCWlmKCAkcGFzcyA9PSAxICYmIGlzc2V0KCRhcnJbJ21haW4nXSkgKQoJICB7CgkgICAgJGxpYnMgPSBhcnJheV9tZXJnZSgkbGlicyxleHBsb2RlKCcsJywkYXJyWydtYWluJ10pKTsKCSAgfQoKCWlmKCAkcGFzcyA9PSAxICYmIGlzc2V0KCRhcnJbJ2NzcyddKSApCgkgIHsKCSAgICAkY3NzID0gYXJyYXlfbWVyZ2UoJGNzcyxleHBsb2RlKCcsJywkYXJyWydjc3MnXSkpOwoJICB9CiAgICAgIH0KCiAgICAkbGlicyA9IGFycmF5X3VuaXF1ZSgkbGlicyk7CiAgICAkY3NzID0gYXJyYXlfdW5pcXVlKCRjc3MpOwp9Cgokc21hcnR5LT5hc3NpZ24oJ2Jhc2VfdXJsJywkYmFzZXVybCk7CmlmKCBjb3VudCgkbGlicykgJiYgJGRvX2pzICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2xpYnMnLCRsaWJzKTsKICB9CmlmKCBjb3VudCgkY3NzKSAmJiAkZG9fY3NzICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2NzcycsJGNzcyk7CiAgfQoKJHJldCA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2luY2pzLnRwbCcpOwplY2hvICRyZXQ7CgojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.ready.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEpRdWVyeVRvb2xzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBIHRvb2xib3ggb2YgY29udmVuaWVuY2VzIHRvIHByb3ZpZGUgZHluYW1pYyBqYXZhc2NyaXB0eSBmdW5jdGlvbmFsaXR5CiMgIGZvciBDTVMgbW9kdWxlcyBhbmQgd2Vic2l0ZSBkZXNpZ25lcnMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiR0X2xpYnMgPSBhcnJheSgpOwppZiggaXNfYXJyYXkoJHRoaXMtPl9saWJzKSApCiAgewogICAgZm9yZWFjaCgkdGhpcy0+X2xpYnMgYXMgJG9uZSkKICAgICAgewoJJHRfbGlic1skb25lXSA9IDE7CiAgICAgIH0KICB9Cgokc21hcnR5LT5hc3NpZ24oJ2pxdWVyeV9saWJzJywkdF9saWJzKTsKJHJldCA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3JlYWR5LnRwbCcpOwplY2hvICRyZXQ7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/JQueryTools.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEpRdWVyeVRvb2xzIChjKSAyMDA2IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBIHRvb2xib3ggb2YgY29udmVuaWVuY2VzIHRvIHByb3ZpZGUgZHluYW1pYyBqYXZhc2NyaXB0eSBmdW5jdGlvbmFsaXR5CiMgIGZvciBDTVMgbW9kdWxlcyBhbmQgd2Vic2l0ZSBkZXNpZ25lcnMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KJGNnZXh0ZW5zaW9ucyA9IGNtc19qb2luX3BhdGgoY21zbXMoKS0+Y29uZmlnWydyb290X3BhdGgnXSwnbW9kdWxlcycsCgkJCSAgICAgICdDR0V4dGVuc2lvbnMnLCdDR0V4dGVuc2lvbnMubW9kdWxlLnBocCcpOwppZiggIWlzX3JlYWRhYmxlKCAkY2dleHRlbnNpb25zICkgKQp7CiAgZWNobyAnPGgxPjxmb250IGNvbG9yPSJyZWQiPkVSUk9SOiBUaGUgQ0dFeHRlbnNpb25zIG1vZHVsZSBjb3VsZCBub3QgYmUgZm91bmQuPC9mb250PjwvaDE+JzsKICByZXR1cm47Cn0KcmVxdWlyZV9vbmNlKCRjZ2V4dGVuc2lvbnMpOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmNsYXNzIEpRdWVyeVRvb2xzIGV4dGVuZHMgQ0dFeHRlbnNpb25zCnsKICB2YXIgJGxpYnMgPSAnJzsKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgQ29uc3RydWN0b3IKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsKCiAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKICAgICR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsKCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaW5jbHVkZScsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2luY2x1ZGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9pbmNsdWRlJykpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2V4Y2x1ZGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9fY3NzJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25vX2pzJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25vX2pxdWVyeScsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ25vX2NzcycsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX25vX2NzcycpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ25vX2pzJywnJywkdGhpcy0+TGFuZygncGFyYW1fbm9fanMnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdleGNsdWRlJywnJywkdGhpcy0+TGFuZygncGFyYW1fZXhjbHVkZScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2FjdGlvbicsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2FjdGlvbicpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ25vX2pxdWVyeScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX25vX2pxdWVyeScpKTsKICB9CgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldE5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldE5hbWUoKQogIHsKICAgIHJldHVybiAnSlF1ZXJ5VG9vbHMnOwogIH0KCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RnJpZW5kbHlOYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CiAgfQoKCQogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldFZlcnNpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogIHsKICAgIHJldHVybiAnMS4wLjEwJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRIZWxwKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRIZWxwKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ2hlbHAnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3IoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEF1dGhvcigpCiAgewogICAgcmV0dXJuICdjYWxndXkxMDAwJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3JFbWFpbCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQogIHsKICAgIHJldHVybiAnY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0Q2hhbmdlTG9nKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnY2hhbmdlbG9nJyk7CiAgfQogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIElzUGx1Z2luTW9kdWxlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFzQWRtaW4oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhc0FkbWluKCkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5TZWN0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQogIHsKICAgIHJldHVybiAnZXh0ZW5zaW9ucyc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFZpc2libGVUb0FkbWluVXNlcigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKICB7CiAgICByZXR1cm4gZmFsc2U7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RGVwZW5kZW5jaWVzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQogIHsKICAgIHJldHVybiBhcnJheSgnQ0dFeHRlbnNpb25zJz0+JzEuMTknKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBNaW5pbXVtQ01TVmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQogIHsKICAgIHJldHVybiAiMS44LjEiOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEluc3RhbGxQb3N0TWVzc2FnZSgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3ByZXVuaW5zdGFsbCcpOwogIH0JCgoKfSAvLyBjbGFzcwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0EKCgojQgoKCiNDCiRsYW5nWydjaGFuZ2Vsb2cnXSA9IDw8PEVPVAo8dWw+CiAgPGxpPjEuMC40IC0gT2N0b2JlciAyMDA5CiAgICA8cD5BZGRzIGpzb24gc3VwcG9ydC48L3A+CiAgPC9saT4KICA8bGk+MS4wLjUgLSBOb3ZlbWJlciAyMDA5CiAgICA8cD5BZGRzIG5vX2NzcyBhbmQgbm9fanMgb3B0aW9ucyB0byB0aGUgaW5janMgYWN0aW9uLjwvcD4KICA8L2xpPgogIDxsaT4xLjAuNiAtIEFwcmlsIDIwMTAKICAgIDxwPkFkZHMgY2FsZ3V5cyBkYXRlIHV0aWxzIHBsdWdpbi48L3A+CiAgPC9saT4KICA8bGk+MS4wLjkgLSBTZXB0ZW1iZXIgMjAxMAogICAgPHA+QWRkcyBub19qcXVlcnkgb3B0aW9uIHRvIHRoZSBpbmNqcyBhY3Rpb24uPC9wPgogICAgPFA+RG8gbm90IG91dHB1dCBqcXVlcnkgdGFncyBmb3IgYW55IG1vZHVsZSBhY3Rpb25zIG9yIGFkbWluIGFjdGlvbnMgaWYgQ01TIFZlcnNpb24gaXMgPj0gQ01TIDEuOS1iZXRhMTwvcD4KICA8L2xpPgogIDxsaT4xLjAuMTAgLSBOb3ZlbWJlciAyMDEwCiAgICA8cD5GaXhlcyBmb3IgQ01TTVMgMS45IHdoZXJlIEpRdWVyeSBpcyBpbnN0YWxsZWQgYnkgZGVmYXVsdC48L3A+CiAgPC9saT4KPC91bD4KRU9UOwoKI0QKCgojRQoKCiNGCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdKUXVlcnkgVG9vbGJveCc7CgoKI0cKCgojSAokbGFuZ1snaGVscCddID0gPDw8RU9UCjxoMz5XaGF0IGlzIHRoaXM/PC9oMz4KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgPGEgaHJlZj0iaHR0cDovL3d3dy5qcXVlcnkuY29tIj5qUXVlcnk8L2E+IGZ1bmN0aW9uYWxpdHkgdG8gQ01TIE1hZGUgU2ltcGxlIHBhZ2UsIGFuZCBtb2R1bGVzIChldmVuIGluIHRoZSBhZG1pbiBzZWN0aW9uKSwgY29udmVuaWVudGx5IGFuZCBlYXNpbHkuICBJdCBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IGxpa2UgYWpheCwgdG9vbHRpcHMsIHNvcnRhYmxlIHRhYmxlcywgYW5kIGFueXRoaW5nIGVsc2UgeW91IGNhbiBkbyB3aXRoIGpxdWVyeSBpbiBvbmUgbmljZSwgZWFzeSB0byB1c2UgcGFja2FnZS48L3A+CjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4KPHA+VG8gZW5hYmxlIEpRdWVyeVRvb2xzIHlvdSBtdXN0IGluY2x1ZGUgYXQgbGVhc3Qgb25lIHRhZyBpbiB0aGUgaGVhZCBzZWN0aW9uIG9mIHlvdXIgcGFnZSB0ZW1wbGF0ZSwgb3IgaW4gdGhlIG1ldGFkYXRhIHNlY3Rpb24gb2YgZWFjaCByZXF1aXJlZCBwYWdlLiAgVXNlIHRoaXMgdGFnOiA8Y29kZT57SlF1ZXJ5VG9vbHMgYWN0aW9uPWluY2pzfTwvY29kZT48L3A+CjxwPkFkZGl0aW9uYWxseSwgeW91IGNhbiBpbmNsdWRlIGEgc2Vjb25kIHRhZyB0byBpbmNsdWRlIHRoZSBqYXZhc2NyaXB0IHRoYXQgcHJvdmlkZXMgdGhlIGRlZmF1bHQgcmVhZHkgZnVuY3Rpb24uIDxjb2RlPntKUXVlcnlUb29scyBhY3Rpb249cmVhZHl9PC9jb2RlPjwvcD4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgcHJvdmlkZSBzYW1wbGVzIGFuZCBpbnN0cnVjdGlvbnMgYXMgdG8gaG93IHRvIHVzZSBqcXVlcnkgb3IgdGhlIHZhcmlvdXMgYWRkb24gbGlicmFyaWVzIHRoYXQgd2UgaW5jbHVkZS4gIHRvIGxlYXJuIGhvdyB0byB1c2UgdGhlc2UgbGlicmFyaWVzIHlvdSB3aWxsIG5lZWQgdG8gcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHBsdWdpbnMgYXQgdGhlaXIgcmVzcGVjdGl2ZSBob21lIHBhZ2UuPC9wPgo8aDM+V2hhdCBqcXVlcnkgdmVyc2lvbiBpcyBpbmNsdWRlZD88L2gzPgo8cD5DdXJyZW50bHkgSlF1ZXJ5VG9vbHMgdXNlcyBqcXVlcnkgMS4zLjI8L3A+CjxoMz5XaGF0IEpRdWVyeSBwbHVnaW5zIGFyZSBpbmNsdWRlZDwvaDM+Cjx1bD4KICA8bGk+ZGltZW5zaW9uczwvbGk+CiAgPGxpPmhvdmVySW50ZW50PC9saT4KICA8bGk+bWV0YWRhdGE8L2xpPgo8bGk+dGFibGVzb3J0ZXIgPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL3RhYmxlc29ydGVyLmNvbSI+aHR0cDovL3RhYmxlc29ydGVyLmNvbTwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPgo8cD4tLSBUbyBhbGxvdyBzb3J0aW5nIHlvdXIgdGFibGVzLCBnaXZlIHRoZSBmb2xsd2luZyBjbGFzc2VzIHRvIHRoZSB0YWJsZSBkZWZpbml0aW9uOiBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIuIGkuZTogPGNvZGU+Jmx0O3RhYmxlIGNsYXNzPSJjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIiJmd0Oy4uLiZsdDsvdGFibGUmZ3Q7PC9jb2RlPjwvcD4KICA8L2xpPgogIDxsaT5jbHVldGlwIDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9wbHVnaW5zLmxlYXJuaW5nanF1ZXJ5LmNvbS9jbHVldGlwLyI+aHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4KICA8bGk+Zm9ybSA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvZm9ybS8iPmh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+CiAgPGxpPmZhbmN5Ym94IDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9mYW5jeS5rbGFkZS5sdi8iPmh0dHA6Ly9mYW5jeS5rbGFkZS5sdi88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPgo8L3VsPgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwncwptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4KRU9UOwoKCiNJCgoKI0oKCgojSwoKCiNMCgoKI00KJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQSB0b29sYm94IG9mIEpxdWVyeSB1dGlsaXRpZXMgdG8gYWlkZSBpbiBjcmVhdGluZyBkeW5hbWljIGFuZCBmYW5jeSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlcyBhbmQgd2Vic2l0ZXMnOwoKI04KCgojTwoKCiNQCiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcGVjaWZ5IHRoZSBhY3Rpb24gdG8gYmUgY2FsbGVkLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8dWw+PGxpPmluY2pzIC0gSW5jbHVkZSByZXF1aXJlZCBqYXZhc2NyaXB0IGZpbGVzLjwvbGk+PGxpPnJlYWR5IC0gT3V0cHV0IGRlZmF1bHQgcmVhZHkgZnVuY3Rpb24uPC9saT48L3VsPic7CiRsYW5nWydwYXJhbV9leGNsdWRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBleGNsdWRpbmcgY2VydGFpbiBqcXVlcnkgcGx1Z2lucyBmcm9tIHRoZSBvdXRwdXQgZ2VuZXJhdGVkLiAgUG9zc2libGUgdmFsdWVzIGFyZTogdGFibGVzb3J0ZXIsY2x1ZXRpcCxmb3JtLic7CiRsYW5nWydwYXJhbV9pbmNsdWRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBleHBsaWNpdGx5IGluY2x1ZGluZyBjZXJ0YWluIGpxdWVyeSBwbHVnaW5zIHdoaWxzdCBleGNsdWRpbmcgYWxsIG90aGVycy4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIHNwZWNpZmllZCwgdGhlIGV4Y2x1ZGUgcGFyYW1ldGVyIHdpbGwgYmUgaWdub3JlZC4gIFBvc3NpYmxlIHZhbHVlcyBhcmUgdGFibGVzb3J0ZXIsY2x1ZXRpcCxmb3JtLic7CiRsYW5nWydwYXJhbV9ub19jc3MnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGluY2pzIGFjdGlvbiwgdGhpcyB3aWxsIGV4Y2x1ZGUgY3NzIHRhZ3MgZnJvbSBiZWluZyBvdXRwdXQnOwokbGFuZ1sncGFyYW1fbm9fanMnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGluY2pzIGFjdGlvbiwgdGhpcyB3aWxsIGV4Y2x1ZGUgc2NyaXB0IHRhZ3MgZnJvbSBiZWluZyBvdXRwdXQnOwokbGFuZ1sncGFyYW1fbm9fcXVlcnknXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGluY2pzIGFjdGlvbiwgdGhpcyB3aWxsIGV4Y2x1ZGUganF1ZXJ5IGZyb20gYmVpbmcgaW5jbHVkZWQnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdUaGUgSlF1ZXJ5VG9vbHMgbW9kdWxlIGhhcyBiZWVuIGluc3RhbGxlZC4uLi4gZ2V0IGNyYWNraW4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBKUXVlcnlUb29scyBtb2R1bGUgaGFzIGJlZW4gdW5pbnN0YWxsZWQnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnUmVtb3ZpbmcgdGhpcyBtb2R1bGUgY291bGQgZGFtYWdlIHRoZSBhcHBlYXJhbmNlIGFuZCBmdW5jdGlvbmFsaXR5IG9mIHlvdXIgd2Vic2l0ZS4gIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb250aW51ZT8nOwoKI1EKCgojUgoKCiNTCgoKI1QKCgojVQoKCiNWCgoKI1cKCgojWAoKCiNZCgoKI1oKCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCiAgPGxpPjEuMC40IC0gT2N0b2JlciAyMDA5DQogICAgPHA+QWRkcyBqc29uIHN1cHBvcnQuPC9wPg0KICA8L2xpPg0KICA8bGk+MS4wLjUgLSBOb3ZlbWJlciAyMDA5DQogICAgPHA+QWRkcyBub19jc3MgYW5kIG5vX2pzIG9wdGlvbnMgdG8gdGhlIGluY2pzIGFjdGlvbi48L3A+DQogIDwvbGk+DQo8L3VsPic7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdKUXVlcnkgVG9vbHMnOwokbGFuZ1snaGVscCddID0gJzxoMz5XYXMgbWFjaHQgZGllc2VzIE1vZHVsPzwvaDM+DQo8cD5EaWVzZXMgTW9kdWwgZiZ1dW1sO2d0IGVpbmVyIENNUyBtYWRlIHNpbXBsZSBXZWJzZWl0ZSB1bmQgTW9kdWxlbiAoaW5zYmVzb25kZXJlIGRlciBBZG1pbmlzdHJhdGlvbikgPGEgaHJlZj0iaHR0cDovL3d3dy5qcXVlcnkuY29tIj5qUXVlcnk8L2E+LUZ1bmt0aW9uYWxpdCZhdW1sO3RlbiBoaW56dSwgYmVxdWVtIHVuZCBlaW5mYWNoLiBEYW1pdCB3ZXJkZW4gRnVua3Rpb25lbiB3aWUgZXR3YSBBamF4LCBUb29sdGlwcywgc29ydGllcmJhcmUgVGFiZWxsZW4gdW5kIGFsbGVzIGFuZGVyZSwgd2FzIFNpZSBzb25zdCBub2NoIG1pdCBqUXVlcnkgdHVuIGsmb3VtbDtubmVuLCBpbiBlaW5lbSBlaW5mYWNoIHp1IHZlcndlbmRlbmRlbiBQYWtldCBiZXJlaXRnZXN0ZWxsdC48L3A+DQo8aDM+V2llIHdpcmQgZXMgZWluZ2VzZXR6dD88L2gzPg0KPHA+VW0gZGllIEpRdWVyeVRvb2xzIHp1IGFrdGl2aWVyZW4sIG0mdXVtbDtzc2VuIFNpZSBtaW5kZXN0ZW5zIGVpbmVuIFRhZyBpbiBkZW4gaGVhZC1CZXJlaWNoIElocmVyIFRlbXBsYXRlcyBvZGVyIGluIGRlbiBNZXRhZGF0ZW4tQmVyZWljaCBkZXIgU2VpdGVuLCBpbiBkZW5lbiBqUXVlcnkgYmVuJm91bWw7dGlndCB3aXJkLCBlaW5mJnV1bWw7Z2VuLiBWZXJ3ZW5kZW4gU2llIGRhZiZ1dW1sO3IgZGllc2VuIFRhZzogPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1pbmNqc308L2NvZGU+PC9wPg0KPHA+WnVzJmF1bWw7dHpsaWNoIGsmb3VtbDtubmVuIFNpZSBlaW5lbiB6d2VpdGVuIFRhZyBlaW5mJnV1bWw7Z2VuLCBkZXIgZGFzIEphdmFzY3JpcHQgZiZ1dW1sO3IgZGllIHZvcmVpbmdlc3RlbGx0ZSBGdW5rdGlvbiB2ZXJsaW5rdC4gPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1yZWFkeX08L2NvZGU+PC9wPg0KPHA+RGllc2VzIE1vZHVsIGVudGgmYXVtbDtsdCBrZWluZSBCZWlzcGllbGUgdW5kIEFubGVpdHVuZ2VuLCB3aWUgU2llIGpRdWVyeSBvZGVyIGRpZSB2ZXJzY2hpZWRlbmVuIG1pdGdlbGllZmVydGVuIFBsdWdpbnMgdmVyd2VuZGVuIGsmb3VtbDtubmVuLiBVbSBtZWhyICZ1dW1sO2JlciBkaWUgVmVyd2VuZHVuZyB6dSBlcmZhaHJlbiwgbGVzZW4gU2llIGJpdHRlIGRpZSBEb2t1bWVudGF0aW9uIGF1ZiBkZXJlbiBXZWJzZWl0ZW4uPC9wPg0KPGgzPldlbGNoZSBqcXVlcnktVmVyc2lvbiB3aXJkIG1pdGdlbGllZmVydD88L2gzPg0KPHA+RGFzIGFrdHVlbGxlIEpRdWVyeVRvb2xzLU1vZHVsIHZlcndlbmRldCBqcXVlcnkgMS4yLjU8L3A+DQo8aDM+V2VsY2hlIEpRdWVyeS1QbHVnaW5zIHdlcmRlbiBtaXRnZWxpZWZlcnQ/PC9oMz4NCjx1bD4NCiAgPGxpPmRpbWVuc2lvbnM8L2xpPg0KICA8bGk+aG92ZXJJbnRlbnQ8L2xpPg0KICA8bGk+bWV0YWRhdGE8L2xpPg0KPGxpPnRhYmxlc29ydGVyIDxlbT4od2VpdGVyZSBJbmZvcm1hdGlvbmVuIGRhenUgdW50ZXIgPGEgaHJlZj0iaHR0cDovL3RhYmxlc29ydGVyLmNvbSI+aHR0cDovL3RhYmxlc29ydGVyLmNvbTwvYT4pPC9lbT4NCjxwPi0tIFVtIGRhcyBTb3J0aWVyZW4gdm9uIFRhYmVsbGVuIHp1IGVybSZvdW1sO2dsaWNoZW4sIG0mdXVtbDtzc2VuIFNpZSBJaHJlbiBUYWJlbGxlbiBkaWUgQ1NTLUtsYXNzZSAmcXVvdDtjbXNfc29ydGFibGUgdGFibGVzb3J0ZXImcXVvdDsgenVvcmRuZW4uIFouQnNwLjogPGNvZGU+PHRhYmxlIGNsYXNzPSZxdW90O2Ntc19zb3J0YWJsZSB0YWJsZXNvcnRlciZxdW90Oz4uLi48L3RhYmxlPjwvY29kZT48L3A+DQogIDwvbGk+DQogIDxsaT5jbHVldGlwIDxlbT4od2VpdGVyZSBJbmZvcm1hdGlvbmVuIGRhenUgdW50ZXIgPGEgaHJlZj0iaHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvIj5odHRwOi8vcGx1Z2lucy5sZWFybmluZ2pxdWVyeS5jb20vY2x1ZXRpcC88L2E+KTwvZW0+PC9saT4NCiAgPGxpPmZvcm0gPGVtPih3ZWl0ZXJlIEluZm9ybWF0aW9uZW4gZGF6dSB1bnRlciA8YSBocmVmPSJodHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvZm9ybS8iPmh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLzwvYT4pPC9lbT48L2xpPg0KICA8bGk+bGlnaHRib3ggPGVtPih3ZWl0ZXJlIEluZm9ybWF0aW9uZW4gZGF6dSB1bnRlciA8YSBocmVmPSJodHRwOi8vbGVhbmRyb3ZpZWlyYS5jb20vcHJvamVjdHMvanF1ZXJ5L2xpZ2h0Ym94LyI+aHR0cDovL2xlYW5kcm92aWVpcmEuY29tL3Byb2plY3RzL2pxdWVyeS9saWdodGJveC88L2E+KTwvZW0+PC9saT4NCiAgPGxpPmZhbmN5Ym94IDxlbT4od2VpdGVyZSBJbmZvcm1hdGlvbmVuIGRhenUgdW50ZXIgPGEgaHJlZj0iaHR0cDovL2ZhbmN5LmtsYWRlLmx2LyI+aHR0cDovL2ZhbmN5LmtsYWRlLmx2LzwvYT4pPC9lbT48L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPkRpZXNlcyBNb2R1bCBiZWluaGFsdGV0IGtlaW5lbiBrb21tZXJ6aWVsbGVuIFN1cHBvcnQuIFNpZSBrJm91bWw7bm5lbiBqZWRvY2ggJnV1bWw7YmVyIGZvbGdlbmRlIE0mb3VtbDtnbGljaGtlaXRlbiBIaWxmZSB6dSBkZW0gTW9kdWwgZXJoYWx0ZW46PC9wPg0KPHVsPg0KPGxpPjxsaT5GJnV1bWw7ciBkaWUgbGV0enRlIFZlcnNpb24gZGllc2VzIE1vZHVscywgRkFRcywgZGVtIFZlcnNhbmQgZWluZXMgRmVobGVycmVwb3J0cyBvZGVyIGRlbSBLYXVmIGtvbW1lcnppZWxsZW4gU3VwcG9ydCBiZXN1Y2hlbiBTaWUgYml0dGUgZGllIDxhIGhyZWY9Imh0dHA6Ly9jYWxndXkxMDAwLmNvbSI+UHJvamVrdHNlaXRlPC9hPiBkZXMgTW9kdWxzLjwvbGk+DQo8bGk+V2VpdGVyZSBEaXNrdXNzaW9uZW4genUgZGllc2VtIE1vZHVsIHNpbmQgYXVjaCBpbiBkZW4gRm9yZW4gdm9uIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlPC9hPiB6dSBmaW5kZW4uPC9saT4NCjxsaT5EZXIgQXV0b3IgY2FsZ3V5MTAwMCwgaXN0IGgmYXVtbDt1ZmlnIGltIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPiB6dSBmaW5kZW4uPC9saT4NCjxsaT5MZXR6dGxpY2ggZXJyZWljaGVuIFNpZSBkZW4gQXV0b3IgYXVjaCAmdXVtbDtiZXIgZWluZSBkaXJla3RlIEVtYWlsLjwvbGk+ICANCjwvdWw+DQo8cD5OYWNoIGRlciBHUEwgd2lyZCBkaWVzZSBTb2Z0d2FyZSBzbyB2ZXImb3VtbDtmZmVudGxpY2h0LCB3aWUgc2llIGlzdC4gQml0dGUgbGVzZW4gU2llIGRlbiBMaXplbnp0ZXh0IGYmdXVtbDtyIGRlbiB2b2xsZW4gSGFmdHVuZ3NhdXNzY2hsdXNzLjwvcD4NCjxoMz5Db3B5cmlnaHQgdW5kIExpemVuejwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZzwvYT4uIEFsbGUgUmVjaHRlIHZvcmJlaGFsdGVuLjwvcD4NCjxwPkRpZXNlcyBNb2R1bCB3dXJkZSB1bnRlciBkZXIgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+IHZlciZvdW1sO2ZmZW50bGljaHQuIFNpZSBtJnV1bWw7c3NlbiBkaWVzZXIgTGl6ZW56IHp1c3RpbW1lbiwgYmV2b3IgU2llIGRhcyBNb2R1bCB2ZXJ3ZW5kZW4uPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRWluIFdlcmt6ZXVna2FzdGVuIG1pdCBqUXVlcnktSGlsZnNtaXR0ZWxuLCB1bSBkeW5hbWlzY2hlIHVuZCByYWZmaW5pZXJ0ZSBNb2R1bGUgdW5kIFdlYnNlaXRlbiB6dSBlcnN0ZWxsZW4uJzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ0dlYmVuIFNpZSBlaW5lIEFrdGlvbiBhbiwgZGllIGF1ZmdlcnVmZW4gd2VyZGVuIHNvbGwuIE0mb3VtbDtnbGljaGUgV2VydGUgc2luZDoNCjx1bD4NCiAgPGxpPmluY2pzICZuZGFzaDsgYmluZGV0IGRpZSBiZW4mb3VtbDt0aWd0ZW4gSmF2YVNjcmlwdC1EYXRlaWVuIGVpbjwvbGk+DQogIDxsaT5yZWFkeSAmbmRhc2g7IFN0YW5kYXJkLUJlcmVpdHNjaGFmdHNmdW5rdGlvbiBhdXNnZWJlbjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9leGNsdWRlJ10gPSAnS2FubiBudXIgbWl0IGRlciBBa3Rpb24gJnF1b3Q7aW5janMmcXVvdDsgdmVyd2VuZGV0IHdlcmRlbiwgZGFtaXQgayZvdW1sO25uZW4gYmVzdGltbXRlIGpxdWVyeS1QbHVnaW5zIHZvbiBkZXIgQXVzZ2FiZSBhdXNnZXNjaGxvc3NlbiB3ZXJkZW4uIE0mb3VtbDtnbGljaGUgV2VydGUgc2luZDogdGFibGVzb3J0ZXIsIGNsdWV0aXAsIGZvcm0uJzsKJGxhbmdbJ3BhcmFtX2luY2x1ZGUnXSA9ICdLYW5uIG51ciBtaXQgZGVyIEFrdGlvbiAmcXVvdDtpbmNqcyZxdW90OyB2ZXJ3ZW5kZXQgd2VyZGVuLCBkYW1pdCBrJm91bWw7bm5lbiBiZXN0aW1tdGUganF1ZXJ5LVBsdWdpbnMgZWluZ2VzY2hsb3NzZW4gd2VyZGVuLCB3JmF1bWw7aHJlbmRkZXNzZW4gYWxsZSBhbmRlcmVuIGF1c2dlc2NobG9zc2VuIHNpbmQuIElzdCBkaWVzZXIgUGFyYW1ldGVyIGFuZ2VnZWJlbiwgd2lyZCBkZXIgZXhjbHVkZS1QYXJhbWV0ZXIgaWdub3JpZXJ0LiBNJm91bWw7Z2xpY2hlIFdlcnRlIHNpbmQ6IHRhYmxlc29ydGVyLCBjbHVldGlwLCBmb3JtLic7CiRsYW5nWydwYXJhbV9ub19jc3MnXSA9ICdLYW5uIG51ciBtaXQgZGVyIEFrdGlvbiAmcXVvdDtpbmNqcyZxdW90OyB2ZXJ3ZW5kZXQgd2VyZGVuLCBkYW1pdCB3ZXJkZW4gZGllIENTUy1UYWdzIHZvbiBkZXIgQXVzZ2FiZSBhdXNnZXNjaGxvc3Nlbic7CiRsYW5nWydwYXJhbV9ub19qcyddID0gJ0thbm4gbnVyIG1pdCBkZXIgQWt0aW9uICZxdW90O2luY2pzJnF1b3Q7IHZlcndlbmRldCB3ZXJkZW4sIGRhbWl0IHdlcmRlbiBkaWUgc2Nyb1t0LVRhZ3Mgdm9uIGRlciBBdXNnYWJlIGF1c2dlc2NobG9zc2VuJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnRGllIGpRdWVyeS1Ub29scyB3dXJkZW4gaW5zdGFsbGllcnQgLi4uIGxvcyBnZWh0JiMwMzk7cyEnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0RpZSBqUXVlcnktVG9vbHMgd3VyZGVuIGRlaW5zdGFsbGllcnQuJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ0RpZSBFbnRmZXJudW5nIGRpZXNlcyBNb2R1bHMga2FubiBkYXMgRXJzY2hlaW51bmdzYmlsZCB1bmQgZGllIEZ1bmt0aW9uc3dlaXNlIElocmVyIFdlYnNpdGUgZXJoZWJsaWNoIGJlZWludHImYXVtbDtjaHRpZ2VuLiBXb2xsZW4gU2llIHdpcmtsaWNoIHdlaXRlcm1hY2hlbj8nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My43MTc0NjI3MzYuMTE0NzUxMTg1Ni4xMjYyNTkxNTMxLjEyNjI2MDI4OTEuMzk2JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI2MjU2MDEwMC4zOTMuNy51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vcHJvamVjdHMvZ2FsbGVyeXx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sncWNhJ10gPSAnMTI0NjQ2OTgxNS0zNzM3MTAxMS0xMTkzMTYyMyc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCiAgPGxpPjEuMC40IC0gT2N0b2JyZSAyMDA5DQogICAgPHA+QWpvdXQgZHUgc3VwcG9ydCBwb3VyIGpzb24uPC9wPg0KICA8L2xpPg0KICA8bGk+MS4wLjUgLSBOb3ZlbWJyZSAyMDA5DQogICAgPHA+QWpvdXQgZGVzIG9wdGlvbnMgbm9fY3NzIGV0IG5vX2pzICZhZ3JhdmU7IGwmIzAzOTthY3Rpb24gaW5janMuPC9wPg0KICA8L2xpPg0KICA8bGk+MS4wLjYgLSBBdnJpbCAyMDEwDQogICAgPHA+QWpvdXQgZHUgcGx1Z2luIHV0aWxpdGFpcmUgZGF0ZSBkZSBDYWxndXlzLjwvcD4NCiAgPC9saT4NCjxsaT4xLjAuOSAtIFNlcHRlbWJyZSAyMDEwDQogICAgPHA+QWpvdXQgZHUgcGFyYW0mZWdyYXZlO3RyZSBub19qcXVlcnkgJmFncmF2ZTsgbCYjMDM5O2FjdGlvbiBpbmNqcy4uPC9wPg0KICAgIDxQPm5lIGcmZWFjdXRlO24mZWdyYXZlO3JlIHBhcyBkZSB0YWcganF1ZXJ5IHBvdXIgYXVjdW4gbW9kdWxlIChhY3Rpb24gb3UgYWRtaW5fYWN0aW9uKSBzbyBsYSB2ZXJzaW9uIGR1IG1vZHVsZSBlc3QgPj0gQ01TIDEuOS1iZXRhMTwvcD4NCiAgPC9saT4NCg0KPC91bD4nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnQm8maWNpcmM7dGUgJmFncmF2ZTsgb3V0aWxzIEpRdWVyeSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPlF1JiMwMzk7ZXN0LWNlIHF1ZSBjJiMwMzk7ZXN0PzwvaDM+DQo8cD5DZSBtb2R1bGUgcGVybWV0IGQmIzAzOTt1dGlsaXNlciBsZXMgZm9uY3Rpb25uYWxpdCZlYWN1dGU7cyA8YSBocmVmPSJodHRwOi8vd3d3LmpxdWVyeS5jb20iPmpRdWVyeTwvYT4gc3VyIGxhIHBhZ2UgQ01TIE1hZGUgU2ltcGxlIGV0IHNlcyBtb2R1bGVzIChtJmVjaXJjO21lIGRhbnMgbGEgc2VjdGlvbiBhZG1pbikgZGUgZmEmY2NlZGlsO29uIHByYXRpcXVlIGV0IGZhY2lsZS4gIElsIHBlcm1ldCBkJiMwMzk7dXRpbGlzZXIgZGVzIGZvbmN0aW9ubmFsaXQmZWFjdXRlO3MgY29tbWUgYWpheCwgdG9vbHRpcHMsIGRlcyB0YWJsZXMgdHJpYWJsZXMgZXQgdG91dGVzIGxlcyBhdXRyZXMgb3AmZWFjdXRlO3JhdGlvbnMgcXVlIGwmIzAzOTtvbiBwZXV0IGZhaXJlIGF2ZWMganF1ZXJ5IGVuIHVuIHNldWwgbW9kdWxlIHByYXRpcXVlIGV0IGZhY2lsZS48L3A+DQo8aDM+Q29tbWVudCBsJiMwMzk7dXRpbGlzZXI/PC9oMz4NCjxwPlBvdXIgYWN0aXZlciBKUXVlcnlUb29scywgb24gZG9pdCBpbmNsdXJlIGF1IG1vaW5zIHVuZSBiYWxpc2UgZGFucyBsYSBzZWN0aW9uIGhlYWQgZGUgdm90cmUgZ2FiYXJpdCwgb3UgZGFucyBsYSBzZWN0aW9uIG1ldGFkYXRhIGRlIGNoYXF1ZSBwYWdlIG8mdWdyYXZlOyBjZWxhIGVzdCByZXF1aXMuICBVdGlsaXNleiBjZXR0ZSBiYWxpc2UgOiA8Y29kZT57SlF1ZXJ5VG9vbHMgYWN0aW9uPWluY2pzfTwvY29kZT48L3A+DQo8cD5EZSBwbHVzLCB2b3VzIHBvdXZleiBpbmNsdXJlIHVuIHNlY29uZGUgYmFsaXNlIHBvdXIgaW5jbHVyZSBsZSBqYXZhc2NyaXB0IHF1aSBmb3Vybml0IGxhIGZvbmN0aW9uIHByJmVjaXJjO3RlIHBhciBkJmVhY3V0ZTtmYXV0LiA8Y29kZT57SlF1ZXJ5VG9vbHMgYWN0aW9uPXJlYWR5fTwvY29kZT48L3A+DQo8cD5DZSBtb2R1bGUgbmUgZm91cm5pdCBwYXMgZCYjMDM5OyZlYWN1dGU7Y2hhbnRpbGxvbnMgZXQgZCYjMDM5O2luc3RydWN0aW9ucyBzdXIgbGEgZmEmY2NlZGlsO29uIGQmIzAzOTt1dGlsaXNlciBqcXVlcnkgb3Ugc3VyIGxlcyBub21icmV1eCBwbHVnaWNpZWxzIGRlIGxhIGxpYnJhaXJpZSBxdWUgbm91cyBhdm9ucyBpbmNsdXNlLiBQb3VyIHNhdm9pciBjb21tZW50IHV0aWxpc2VyIGNlcyBsaWJyYXJpZXMgdm91cyBkZXZleiBsaXJlIGxhIGRvY3VtZW50YXRpb24gcG91ciBsZXMgcGx1Z2ljaWVscyBzdXIgbGV1ciBzaXRlIHdlYiByZXNwZWN0aWYuPC9wPg0KPGgzPlF1ZWxsZSB2ZXJzaW9uIGpxdWVyeSBlc3QgaW5jbHVzZT88L2gzPg0KPHA+SlF1ZXJ5VG9vbHMgZm9uY3Rpb25uZSBhdmVjIGpxdWVyeSAxLjIuNTwvcD4NCjxoMz5RdWVscyBKUXVlcnkgcGx1Z2ljaXVlbHMgc29udCBpbmNsdXM8L2gzPg0KPHVsPg0KICA8bGk+ZGltZW5zaW9uczwvbGk+DQogIDxsaT5ob3ZlckludGVudDwvbGk+DQogIDxsaT5tZXRhZGF0YTwvbGk+DQo8bGk+dGFibGVzb3J0ZXIgPGVtPih2b2lyIDxhIGhyZWY9Imh0dHA6Ly90YWJsZXNvcnRlci5jb20iPmh0dHA6Ly90YWJsZXNvcnRlci5jb208L2E+IHBvdXIgbGVzIGluc3RydWN0aW9ucyBkJiMwMzk7dXRpbGlzYXRpb24pPC9lbT4NCjxwPi0tIFBvdXIgcGVybWV0dHJlIGxlIHRyaSBkZSB2b3MgdGFibGVzLCBhc3NpZ25leiBsZXMgY2xhc3NlcyBzdWl2YW50ZXMgJmFncmF2ZTsgbGEgZCZlYWN1dGU7ZmluaXRpb24gZGVzIHRhYmxlcyA6IGNtc19zb3J0YWJsZSB0YWJsZXNvcnRlci4gcC5leC4gOiA8Y29kZT48dGFibGUgY2xhc3M9JnF1b3Q7Y21zX3NvcnRhYmxlIHRhYmxlc29ydGVyJnF1b3Q7Pi4uLjwvdGFibGU+PC9jb2RlPjwvcD4NCiAgPC9saT4NCiAgPGxpPmNsdWV0aXAgPGVtPih2b2lyIDxhIGhyZWY9Imh0dHA6Ly9wbHVnaW5zLmxlYXJuaW5nanF1ZXJ5LmNvbS9jbHVldGlwLyI+aHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvPC9hPiBwb3VyIGxlcyBpbnN0cnVjdGlvbnMgZCYjMDM5O3V0aWxpc2F0aW9uKTwvZW0+PC9saT4NCiAgPGxpPmZvcm0gPGVtPih2b2lyIDxhIGhyZWY9Imh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLyI+aHR0cDovL21hbHN1cC5jb20vanF1ZXJ5L2Zvcm0vPC9hPiBwb3VyIGxlcyBpbnN0cnVjdGlvbnMgZCYjMDM5O3V0aWxpc2F0aW9uKTwvZW0+PC9saT4NCiAgPGxpPmxpZ2h0Ym94IDxlbT4odm9pciA8YSBocmVmPSJodHRwOi8vbGVhbmRyb3ZpZWlyYS5jb20vcHJvamVjdHMvanF1ZXJ5L2xpZ2h0Ym94LyI+aHR0cDovL2xlYW5kcm92aWVpcmEuY29tL3Byb2plY3RzL2pxdWVyeS9saWdodGJveC88L2E+IHBvdXIgbGVzIGluc3RydWN0aW9ucyBkJiMwMzk7dXRpbGlzYXRpb24pPC9lbT48L2xpPg0KICA8bGk+ZmFuY3lib3ggPGVtPih2b2lyIDxhIGhyZWY9Imh0dHA6Ly9mYW5jeS5rbGFkZS5sdi8iPmh0dHA6Ly9mYW5jeS5rbGFkZS5sdi88L2E+IGZwb3VyIGxlcyBpbnN0cnVjdGlvbnMgZCYjMDM5O3V0aWxpc2F0aW9uKTwvZW0+PC9saT4NCjwvdWw+DQo8aDM+U291dGllbiB0ZWNobmlxdWU8L2gzPg0KPHA+Q2UgbW9kdWxlIG5lIGNvbXByZW5kIHBhcyBkZSBzb3V0aWVuIHRlY2huaXF1ZSBjb21tZXJjaWFsLiBUb3V0ZWZvaXMsIHBsdXNpZXVycyByZXNzb3VyY2VzIHNvbnQgZGlzcG9uaWJsZXMgcG91ciB2b3VzIGFpZGVyIDo8L3A+DQo8dWw+DQo8bGk+UG91ciBsYSBkZXJuaSZlZ3JhdmU7cmUgdmVyc2lvbiBkZSBjZSBtb2R1bGUsIGxhIEZBUSwgb3UgcG91ciBlbnZveWVyIHVuIHJhcHBvcnQgZGUgYm9ndWUgb3UgcG91ciBwYXllciBwb3VyIGR1IHNvdXRpZW4gdGVjaG5pcXVlLCB2ZXVpbGxleiBjb25zdWx0ZXIgbGUgc2l0ZSBkdSBtb2R1bGUgY2FsZ3V5XCYjMDM5O3MNCiZhZ3JhdmU7IGwmIzAzOTthZHJlc3NlIDxhIGhyZWY9Imh0dHA6Ly9jYWxndXkxMDAwLmNvbSI+Y2FsZ3V5MTAwMC5jb208L2E+LjwvbGk+DQo8bGk+T24gcGV1dCBhdXNzaSBjb25zdWx0ZXIgZGVzIGRpc2N1c3Npb25zIGFkZGl0aW9ubmVsbGVzIHBvdXIgY2UgbW9kdWxlICZhZ3JhdmU7IGwmIzAzOTthZHJlc3NlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Rm9ydW1zIENNUyBNYWRlIFNpbXBsZTwvYT4uPC9saT4NCjxsaT5PbiBwZXV0IHJlam9pbmRyZSBsJiMwMzk7YXV0ZXVyLCBjYWxndXkxMDAwLCBzdXIgbGU8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNhbmFsIElSQyBDTVM8L2E+LjwvbGk+DQo8bGk+RmluYWxlbWVudCwgdm91cyBwb3V2ZXogYXVzc2kgdGVudGVyIGRlIHJlam9pbmRyZSBsJiMwMzk7YXV0ZXVyIGRpcmVjdGVtZW50IHBhciBjb3VycmllbC48L2xpPiAgDQo8L3VsPg0KPGgzPkRyb2l0cyBkJiMwMzk7YXV0ZXVyIGV0IGxpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gVG91cyBkcm9pdHMgciZlYWN1dGU7c2VydiZlYWN1dGU7cy48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZCBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBIE9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1VuZSBibyZpY2lyYzt0ZSAmYWdyYXZlOyBvdXRpbHMgZGVzIHV0aWxpdGFpcmVzIEpxdWVyeSBwb3VyIGFpZGVyICZhZ3JhdmU7IGxhIGNyJmVhY3V0ZTthdGlvbiBkZSBtb2R1bGVzIGV0IGRlIHNpdGVzIHdlYiBkeW5hbWlxdWVzIGV0IHNvcGhpc3RpcXUmZWFjdXRlO3MgQ01TIE1hZGUgU2ltcGxlJzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1NwJmVhY3V0ZTtjaWZpZXIgbCYjMDM5O2FjdGlvbiAmYWdyYXZlOyBzJmVhY3V0ZTtsZWN0aW9ubmVyLiAgTGVzIHZhbGV1cnMgcG9zc2libGVzIHNvbnQgOjx1bD48bGk+aW5janMgLSBJbmNsdXQgbGVzIGZpY2hpZXJzIGphdmFzY3JpcHQgcmVxdWlzLjwvbGk+PGxpPnByJmVjaXJjO3QgLSBmb25jdGlvbiBwciZlY2lyYzt0ZSBwb3VyIGxlIGNvbnRlbnUgZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7IHBhciBkJmVhY3V0ZTtmYXV0LjwvbGk+PC91bD4nOwokbGFuZ1sncGFyYW1fZXhjbHVkZSddID0gJ1ZhbGFibGUgc2V1bGVtZW50IHBvdXIgbCYjMDM5O2FjdGlvbiBpbmNqcywgY2UgcGFyYW0mZWdyYXZlO3RyZSBwZXJtZXQgbCYjMDM5O2V4Y2x1c2lvbiBkZSBjZXJ0YWlucyBwbHVnaWNpZWxzIGpxdWVyeSBkdSBjb250ZW51IGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlOy4gIExlcyB2YWxldXJzIHBvc3NpYmxlcyBzb250IDogdGFibGVzb3J0ZXIsIGNsdWV0aXAsIGZvcm0uJzsKJGxhbmdbJ3BhcmFtX2luY2x1ZGUnXSA9ICdWYWxhYmxlIHNldWxlbWVudCBwb3VyIGwmIzAzOTthY3Rpb24gaW5janMsIGNlIHBhcmFtJmVncmF2ZTt0cmUgcGVybWV0IGwmIzAzOTtpbmNsdXNpb24gZXhwbGljaXRlIGRlIGNlcnRhaW5zIHBsdWdpY2llbHMganF1ZXJ5IHRvdXQgZW4gZXhjbHVhbnQgdG91cyBsZXMgYXV0cmVzLiBTaSBjZSBwYXJhbSZlZ3JhdmU7dHJlIGVzdCByJmVhY3V0ZTtmJmVhY3V0ZTtyZW5jJmVhY3V0ZTssIGxlIHBhcmFtJmVncmF2ZTt0cmUgZCYjMDM5O2V4Y2x1c2lvbiBzZXJhIGlnbm9yJmVhY3V0ZTsuICBMZXMgdmFsZXVycyBwb3NzaWJsZXMgc29udCB0YWJsZXNvcnRlciwgY2x1ZXRpcCwgZm9ybS4nOwokbGFuZ1sncGFyYW1fbm9fY3NzJ10gPSAnVmFsYWJsZSBzZXVsZW1lbnQgcG91ciBsJiMwMzk7YWN0aW9uIGluY2pzLCBjZWNpIGVtcCZlY2lyYztjaGUgbGVzIGJhbGlzZXMgY3NzIGQmIzAzOTsmZWNpcmM7dHJlIGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlO2VzJzsKJGxhbmdbJ3BhcmFtX25vX2pzJ10gPSAnVmFsYWJsZSBzZXVsZW1lbnQgcG91ciBsJiMwMzk7YWN0aW9uIGluY2pzLCBjZWNpIGVtcCZlY2lyYztjaGUgbGVzIGJhbGlzZXMgc2NyaXB0cyBkJiMwMzk7JmVjaXJjO3RyZSBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTtlcyc7CiRsYW5nWydwYXJhbV9ub19xdWVyeSddID0gJ1ZhbGFibGUgc2V1bGVtZW50IHBvdXIgbCYjMDM5O2FjdGlvbiBpbmNqcywgY2VjaSBlbXAmZWNpcmM7Y2hlIEpxdWVyeSBkJiMwMzk7JmVjaXJjO3RyZSBpbmNsdXQnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdMZSBtb2R1bGUgSlF1ZXJ5VG9vbHMgYSAmZWFjdXRlO3QmZWFjdXRlOyBpbnN0YWxsJmVhY3V0ZTsuLi4uIHBhc3NleiAmYWdyYXZlOyBsJiMwMzk7YWN0aW9uJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdMZSBtb2R1bGUgSlF1ZXJ5VG9vbHMgYSAmZWFjdXRlO3QmZWFjdXRlOyBkJmVhY3V0ZTtzaW50YWxsJmVhY3V0ZTsnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnU3VwcHJpbWVyIGNlIG1vZHVsZSBwb3VycmFpdCBlbmRvbW1hZ2VyIGwmIzAzOTthcHBhcmVuY2UgZXQgbGEgZm9uY3Rpb25uYWxpdCZlYWN1dGU7IGRlIHZvdHJlIHNpdGUgd2ViLiAgJkVjaXJjO3Rlcy12b3VzIGNlcnRhaW5lIGRlIHZvdWxvaXIgcG91cnN1aXZyZT8nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My44MjUxNzkxOTcuMTI4MjQxNDMzNS4xMjg2MTA5Mzg2LjEyODYxMTMxNzIuMzgnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjg1NzA3MzYxLjMzLjgudXRtY3NyPWZlZWRidXJuZXJ8dXRtY2NuPUZlZWQ6IGNtc21hZGVzaW1wbGUvYmxvZyAoQ01TIE1hZGUgU2ltcGxlKXx1dG1jbWQ9ZmVlZHx1dG1jY3Q9R29vZ2xlIFJlYWRlcic7CiRsYW5nWydxY2EnXSA9ICdQMC0xNjY1NjY5Nzk3LTEyODI0MTQzMzU1NzMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/hu_HU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJ1RvZG8nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnSlF1ZXJ5IEVzemsmb3VtbDt6dCZhYWN1dGU7cic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgaXMgdGhpcyA/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIDxhIGhyZWY9Imh0dHA6Ly93d3cuanF1ZXJ5LmNvbSI+alF1ZXJ5PC9hPiBmdW5jdGlvbmFsaXR5IHRvIENNUyBNYWRlIFNpbXBsZSBwYWdlLCBhbmQgbW9kdWxlcyAoZXZlbiBpbiB0aGUgYWRtaW4gc2VjdGlvbiksIGNvbnZlbmllbnRseSBhbmQgZWFzaWx5LiAgSXQgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBsaWtlIGFqYXgsIHRvb2x0aXBzLCBzb3J0YWJsZSB0YWJsZXMsIGFuZCBhbnl0aGluZyBlbHNlIHlvdSBjYW4gZG8gd2l0aCBqcXVlcnkgaW4gb25lIG5pY2UsIGVhc3kgdG8gdXNlIHBhY2thZ2UuPC9wPg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VG8gZW5hYmxlIEpRdWVyeVRvb2xzIHlvdSBtdXN0IGluY2x1ZGUgYXQgbGVhc3Qgb25lIHRhZyBpbiB0aGUgaGVhZCBzZWN0aW9uIG9mIHlvdXIgcGFnZSB0ZW1wbGF0ZSwgb3IgaW4gdGhlIG1ldGFkYXRhIHNlY3Rpb24gb2YgZWFjaCByZXF1aXJlZCBwYWdlLiAgVXNlIHRoaXMgdGFnOiA8Y29kZT57SlF1ZXJ5VG9vbHMgYWN0aW9uPWluY2pzfTwvY29kZT48L3A+DQo8cD5BZGRpdGlvbmFsbHksIHlvdSBjYW4gaW5jbHVkZSBhIHNlY29uZCB0YWcgdG8gaW5jbHVkZSB0aGUgamF2YXNjcmlwdCB0aGF0IHByb3ZpZGVzIHRoZSBkZWZhdWx0IHJlYWR5IGZ1bmN0aW9uLiA8Y29kZT57SlF1ZXJ5VG9vbHMgYWN0aW9uPXJlYWR5fTwvY29kZT48L3A+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBwcm92aWRlIHNhbXBsZXMgYW5kIGluc3RydWN0aW9ucyBhcyB0byBob3cgdG8gdXNlIGpxdWVyeSBvciB0aGUgdmFyaW91cyBhZGRvbiBsaWJyYXJpZXMgdGhhdCB3ZSBpbmNsdWRlLiAgdG8gbGVhcm4gaG93IHRvIHVzZSB0aGVzZSBsaWJyYXJpZXMgeW91IHdpbGwgbmVlZCB0byByZWFkIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgcGx1Z2lucyBhdCB0aGVpciByZXNwZWN0aXZlIGhvbWUgcGFnZS48L3A+DQo8aDM+V2hhdCBqcXVlcnkgdmVyc2lvbiBpcyBpbmNsdWRlZD88L2gzPg0KPHA+Q3VycmVudGx5IEpRdWVyeVRvb2xzIHVzZXMganF1ZXJ5IDEuMi41PC9wPg0KPGgzPldoYXQgSlF1ZXJ5IHBsdWdpbnMgYXJlIGluY2x1ZGVkPC9oMz4NCjx1bD4NCiAgPGxpPmRpbWVuc2lvbnM8L2xpPg0KICA8bGk+aG92ZXJJbnRlbnQ8L2xpPg0KICA8bGk+bWV0YWRhdGE8L2xpPg0KPGxpPnRhYmxlc29ydGVyIDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly90YWJsZXNvcnRlci5jb20iPmh0dHA6Ly90YWJsZXNvcnRlci5jb208L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT4NCjxwPi0tIFRvIGFsbG93IHNvcnRpbmcgeW91ciB0YWJsZXMsIGdpdmUgdGhlIGZvbGx3aW5nIGNsYXNzZXMgdG8gdGhlIHRhYmxlIGRlZmluaXRpb246IGNtc19zb3J0YWJsZSB0YWJsZXNvcnRlci4gaS5lOiA8Y29kZT48dGFibGUgY2xhc3M9JnF1b3Q7Y21zX3NvcnRhYmxlIHRhYmxlc29ydGVyJnF1b3Q7Pi4uLjwvdGFibGU+PC9jb2RlPjwvcD4NCiAgPC9saT4NCiAgPGxpPmNsdWV0aXAgPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvIj5odHRwOi8vcGx1Z2lucy5sZWFybmluZ2pxdWVyeS5jb20vY2x1ZXRpcC88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPg0KICA8bGk+Zm9ybSA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvZm9ybS8iPmh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQogIDxsaT5saWdodGJveCA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vbGVhbmRyb3ZpZWlyYS5jb20vcHJvamVjdHMvanF1ZXJ5L2xpZ2h0Ym94LyI+aHR0cDovL2xlYW5kcm92aWVpcmEuY29tL3Byb2plY3RzL2pxdWVyeS9saWdodGJveC88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPg0KICA8bGk+ZmFuY3lib3ggPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL2ZhbmN5LmtsYWRlLmx2LyI+aHR0cDovL2ZhbmN5LmtsYWRlLmx2LzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9jYWxndXkxMDAwLmNvbSI+Y2FsZ3V5MTAwMC5jb208L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj48Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdKcXVlcnkgZXN6ayZvdW1sO3omb3VtbDtrIHQmYWFjdXRlO3JoJmFhY3V0ZTt6YSwgYW1pIHNlZyZpYWN1dGU7dCB2b256Jm9hY3V0ZTsgJmVhY3V0ZTtzIGRpbmFtaWt1cyBDTVMgTWFkZSBTaW1wbGUgbW9kdWxvayAmZWFjdXRlO3Mgc2l0ZS1vayBrJmVhY3V0ZTtzeiZpYWN1dGU7dCZlYWN1dGU7cyZlYWN1dGU7YmVuLic7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdBZGQgbWVnIGEgbWVnaCZpYWN1dGU7dmFuZCZvYWN1dGU7IGFrY2kmb2FjdXRlO3QuIExlaGV0cyZlYWN1dGU7Z2VzICZlYWN1dGU7cnQmZWFjdXRlO2tlazo8dWw+PGxpPmluY2pzIC0gU3omdXVtbDtrcyZlYWN1dGU7Z2VzIGphdmFzY3JpcHQgZiZhYWN1dGU7amxvayBpbmNsdWRlLW9sJmFhY3V0ZTtzYS48L2xpPjxsaT5yZWFkeSAtIEFsYXAmZWFjdXRlO3J0ZWxtZXpldHQgcmVhZHkgZiZ1dW1sO2dndiZlYWN1dGU7bnkgdiZlYWN1dGU7Z3JlaGFqdCZhYWN1dGU7c2EuPC9saT48L3VsPic7CiRsYW5nWydwYXJhbV9leGNsdWRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBleGNsdWRpbmcgY2VydGFpbiBqcXVlcnkgcGx1Z2lucyBmcm9tIHRoZSBvdXRwdXQgZ2VuZXJhdGVkLiAgUG9zc2libGUgdmFsdWVzIGFyZTogdGFibGVzb3J0ZXIsY2x1ZXRpcCxmb3JtLic7CiRsYW5nWydwYXJhbV9pbmNsdWRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBleHBsaWNpdGx5IGluY2x1ZGluZyBjZXJ0YWluIGpxdWVyeSBwbHVnaW5zIHdoaWxzdCBleGNsdWRpbmcgYWxsIG90aGVycy4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIHNwZWNpZmllZCwgdGhlIGV4Y2x1ZGUgcGFyYW1ldGVyIHdpbGwgYmUgaWdub3JlZC4gIFBvc3NpYmxlIHZhbHVlcyBhcmUgdGFibGVzb3J0ZXIsY2x1ZXRpcCxmb3JtLic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0EgSlF1ZXJ5VG9vbHMgbW9kdWx0IHNpa2VyZXNlbiB0ZWxlcCZpYWN1dGU7dGV0dCZ1dW1sO2suLi4ga2V6ZMWRZGhldCBhIGNyYWNrLWVsJmVhY3V0ZTtzISc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQSBKUXVlcnlUb29scyBtb2R1bHQgc2lrZXJlc2VuIGVsdCZhYWN1dGU7dm9sJmlhY3V0ZTt0b3R0dWsnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnRW5uZWsgYSBtb2R1bG5hayBheiBlbHQmYWFjdXRlO3ZvbCZpYWN1dGU7dCZhYWN1dGU7c2EgdCZvdW1sO25rcmV0ZWhldGkgYSBzaXRlIG1lZ2plbGVuJmVhY3V0ZTtzJmVhY3V0ZTt0IC8gZnVua2Npb25hbGl0JmFhY3V0ZTtzJmFhY3V0ZTt0LiBCaXp0b3MgZm9seXRhdG9kPyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE1MzM2MDU5NTkuMTIyNDc0MjU0NC4xMjQxMTU5MTQ1LjEyNDExNjk5NTkuMTYnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjM5NDMwOTg1LjEyLjQudXRtY3NyPXRoZW1lcy5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9pbmRleC5waHAnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCiAgPGxpPjEuMC40IC0gT2N0b2JlciAyMDA5DQogICAgPHA+QWRkcyBqc29uIHN1cHBvcnQuPC9wPg0KICA8L2xpPg0KICA8bGk+MS4wLjUgLSBOb3ZlbWJlciAyMDA5DQogICAgPHA+QWRkcyBub19jc3MgYW5kIG5vX2pzIG9wdGlvbnMgdG8gdGhlIGluY2pzIGFjdGlvbi48L3A+DQogIDwvbGk+DQogIDxsaT4xLjAuNiAtIEFwcmlsIDIwMTANCiAgICA8cD5BZGRzIGNhbGd1eXMgZGF0ZSB1dGlscyBwbHVnaW4uPC9wPg0KICA8L2xpPg0KPC91bD4nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnSlF1ZXJ5IFRvb2xib3ggJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBpcyB0aGlzPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyA8YSBocmVmPSJodHRwOi8vd3d3LmpxdWVyeS5jb20iPmpRdWVyeTwvYT4gZnVuY3Rpb25hbGl0eSB0byBDTVMgTWFkZSBTaW1wbGUgcGFnZSwgYW5kIG1vZHVsZXMgKGV2ZW4gaW4gdGhlIGFkbWluIHNlY3Rpb24pLCBjb252ZW5pZW50bHkgYW5kIGVhc2lseS4gIEl0IHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgbGlrZSBhamF4LCB0b29sdGlwcywgc29ydGFibGUgdGFibGVzLCBhbmQgYW55dGhpbmcgZWxzZSB5b3UgY2FuIGRvIHdpdGgganF1ZXJ5IGluIG9uZSBuaWNlLCBlYXN5IHRvIHVzZSBwYWNrYWdlLjwvcD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCjxwPlRvIGVuYWJsZSBKUXVlcnlUb29scyB5b3UgbXVzdCBpbmNsdWRlIGF0IGxlYXN0IG9uZSB0YWcgaW4gdGhlIGhlYWQgc2VjdGlvbiBvZiB5b3VyIHBhZ2UgdGVtcGxhdGUsIG9yIGluIHRoZSBtZXRhZGF0YSBzZWN0aW9uIG9mIGVhY2ggcmVxdWlyZWQgcGFnZS4gIFVzZSB0aGlzIHRhZzogPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1pbmNqc308L2NvZGU+PC9wPg0KPHA+QWRkaXRpb25hbGx5LCB5b3UgY2FuIGluY2x1ZGUgYSBzZWNvbmQgdGFnIHRvIGluY2x1ZGUgdGhlIGphdmFzY3JpcHQgdGhhdCBwcm92aWRlcyB0aGUgZGVmYXVsdCByZWFkeSBmdW5jdGlvbi4gPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1yZWFkeX08L2NvZGU+PC9wPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgcHJvdmlkZSBzYW1wbGVzIGFuZCBpbnN0cnVjdGlvbnMgYXMgdG8gaG93IHRvIHVzZSBqcXVlcnkgb3IgdGhlIHZhcmlvdXMgYWRkb24gbGlicmFyaWVzIHRoYXQgd2UgaW5jbHVkZS4gIHRvIGxlYXJuIGhvdyB0byB1c2UgdGhlc2UgbGlicmFyaWVzIHlvdSB3aWxsIG5lZWQgdG8gcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHBsdWdpbnMgYXQgdGhlaXIgcmVzcGVjdGl2ZSBob21lIHBhZ2UuPC9wPg0KPGgzPldoYXQganF1ZXJ5IHZlcnNpb24gaXMgaW5jbHVkZWQ/PC9oMz4NCjxwPkN1cnJlbnRseSBKUXVlcnlUb29scyB1c2VzIGpxdWVyeSAxLjIuNTwvcD4NCjxoMz5XaGF0IEpRdWVyeSBwbHVnaW5zIGFyZSBpbmNsdWRlZDwvaDM+DQo8dWw+DQogIDxsaT5kaW1lbnNpb25zPC9saT4NCiAgPGxpPmhvdmVySW50ZW50PC9saT4NCiAgPGxpPm1ldGFkYXRhPC9saT4NCjxsaT50YWJsZXNvcnRlciA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vdGFibGVzb3J0ZXIuY29tIj5odHRwOi8vdGFibGVzb3J0ZXIuY29tPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+DQo8cD4tLSBUbyBhbGxvdyBzb3J0aW5nIHlvdXIgdGFibGVzLCBnaXZlIHRoZSBmb2xsd2luZyBjbGFzc2VzIHRvIHRoZSB0YWJsZSBkZWZpbml0aW9uOiBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIuIGkuZTogPGNvZGU+JmFtcDtsdDt0YWJsZSBjbGFzcz0mcXVvdDtjbXNfc29ydGFibGUgdGFibGVzb3J0ZXImcXVvdDsmYW1wO2d0Oy4uLiZhbXA7bHQ7L3RhYmxlJmFtcDtndDs8L2NvZGU+PC9wPg0KICA8L2xpPg0KICA8bGk+Y2x1ZXRpcCA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vcGx1Z2lucy5sZWFybmluZ2pxdWVyeS5jb20vY2x1ZXRpcC8iPmh0dHA6Ly9wbHVnaW5zLmxlYXJuaW5nanF1ZXJ5LmNvbS9jbHVldGlwLzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQogIDxsaT5mb3JtIDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLyI+aHR0cDovL21hbHN1cC5jb20vanF1ZXJ5L2Zvcm0vPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4NCiAgPGxpPmxpZ2h0Ym94IDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9sZWFuZHJvdmllaXJhLmNvbS9wcm9qZWN0cy9qcXVlcnkvbGlnaHRib3gvIj5odHRwOi8vbGVhbmRyb3ZpZWlyYS5jb20vcHJvamVjdHMvanF1ZXJ5L2xpZ2h0Ym94LzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQogIDxsaT5mYW5jeWJveCA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vZmFuY3kua2xhZGUubHYvIj5odHRwOi8vZmFuY3kua2xhZGUubHYvPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4NCjwvdWw+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mYW1wO2x0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VuIHZlcmt0Jm9zbGFzaDt5a2Fzc2UgbWVkIEpxdWVyeSB2ZXJrdCZvc2xhc2g7eSBzb20gYmlzdCZhcmluZztyIGkgb3BwcmV0dGVsc2UgYXYgZHluYW1pc2tlIG9nIGZhbmN5IENNUyBNYWRlIFNpbXBsZSBtb2R1bGVyIGdvIG5ldHRzdGVkZXInOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnU3Blc2lmaXNlciBoYW5kbGluZ2VuIHNvbSBza2FsIGthbGxlcy4gTXVsaWdlIHZlcmRpZXIgZXI6PHVsPjxsaT5pbmNqcyAtIEluY2x1ZGUgcmVxdWlyZWQgamF2YXNjcmlwdCBmaWxlcy48L2xpPjxsaT5yZWFkeSAtIE91dHB1dCBkZWZhdWx0IHJlYWR5IGZ1bmN0aW9uLjwvbGk+PC91bD4nOwokbGFuZ1sncGFyYW1fZXhjbHVkZSddID0gJ0t1biBneWxkaWcgdGlsIGluY2pzIGhhbmRsaW5nZW4uIERlbm5lIHBhcmFtZXRlcmVuIHRpbGxhdGVyICZhcmluZzsgdXRlbHVra2UgYmVzdGVtdGUganF1ZXJ5IHByb2dyYW10aWxsZWdnIGZyYSB2aXNuaW5nZW4gc29tIGdlbmVyZXJlcy4gTXVsaWdlIHZlcmRpZXIgZXI6IHRhYmxlc29ydGVyLGNsdWV0aXAsZm9ybS4nOwokbGFuZ1sncGFyYW1faW5jbHVkZSddID0gJ0t1biBneWxkaWcgdGlsIGluY2pzIGhhbmRsaW5nZW4uIERlbm5lIHBhcmFtZXRlcmVuIHRpbGFsdGVyICZhcmluZzsgZWtzcGxpc2l0dCBpbmtsdWRlcmUgYmVzdGVtdGUganF1ZXJ5IHByb2dyYW10aWxsZWdnIG9nIHV0ZWx1a2tlIGFsbGUgYW5kcmUuIE9tIGRlbm5lIHBhcmFtZXRlcmVuIGVyIHNwZXNpZmlzZXJ0LCB2aWwgZWtzbHVkZXIgcGFyYW1ldGVyZW4gYmxpIGlnbm9yZXJ0LiAgTXVsaWdlIHZlcmRpZXIgZXIgdGFibGVzb3J0ZXIsY2x1ZXRpcCxmb3JtLic7CiRsYW5nWydwYXJhbV9ub19jc3MnXSA9ICdHamVsZGVyIGt1biB0aWwgaW5janMgaGFuZGxpbmdlbiwgZGV0dGUgdmlsIGVrc2tsdWRlcmUgY3NzIGtvZGVyIGZyYSAmYXJpbmc7IGJsaSBzZW5kdCB1dCc7CiRsYW5nWydwYXJhbV9ub19qcyddID0gJ0dqZWxkZXIga3VuIHRpbCBpbmNqcyBoYW5kbGluZ2VuLCBkZXR0ZSB2aWwgZWtza2x1ZGVyZSBzY3JvW3Qga29kZXIgZnJhICZhcmluZzsgYmxpIHNlbmR0IHV0JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnSlF1ZXJ5VG9vbHMgbW9kdWxlbiBhaHIgYmxpdHQgaW5zdGFsbGVydC4uLi4gcHImb3NsYXNoO3YgZGVuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdKUXVlcnlUb29scyBtb2R1bGVuIGhhciBibGl0dCBhdmluc3RhbGxlcnQnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnJkFyaW5nOyBmamVybmUgZGVubmUgbW9kdWxlbiBrYW4gc2thZGUgb3BwZiZvc2xhc2g7cnNlbGVuIG9nIGZ1bmtzam9uYWxpdGV0ZW4gcCZhcmluZzsgZGl0dCBuZXR0c3RlZC4gRXIgZHUgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpbCBmb3J0c2V0dGUgYXZpbnN0YWxsYXNqb25lbj8nOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjc5OTIyMjgyLjMwMzkuNzAudXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9L2luZGV4LnBocCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE3OTA1MjYyMzA4NDExMDEwMC4xMjEwNDIzNTc3LjEyODAwOTEzNDYuMTI4MDE3NDI0MC4zMDU1JzsKJGxhbmdbJ3FjYSddID0gJzEyMTA5NzE2OTAtMjczMDgwNzMtODE5NTI4MzInOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEyODAxNzQyNDAnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCiAgPGxpPjEuMC40IC0gT2N0b2JlciAyMDA5DQogICAgPHA+QWRkcyBqc29uIHN1cHBvcnQuPC9wPg0KICA8L2xpPg0KICA8bGk+MS4wLjUgLSBOb3ZlbWJlciAyMDA5DQogICAgPHA+QWRkcyBub19jc3MgYW5kIG5vX2pzIG9wdGlvbnMgdG8gdGhlIGluY2pzIGFjdGlvbi48L3A+DQogIDwvbGk+DQogIDxsaT4xLjAuNiAtIEFwcmlsIDIwMTANCiAgICA8cD5BZGRzIGNhbGd1eXMgZGF0ZSB1dGlscyBwbHVnaW4uPC9wPg0KICA8L2xpPg0KICA8bGk+MS4wLjkgLSBTZXB0ZW1iZXIgMjAxMA0KICAgIDxwPkFkZHMgbm9fanF1ZXJ5IG9wdGlvbiB0byB0aGUgaW5janMgYWN0aW9uLjwvcD4NCiAgICA8UD5EbyBub3Qgb3V0cHV0IGpxdWVyeSB0YWdzIGZvciBhbnkgbW9kdWxlIGFjdGlvbnMgb3IgYWRtaW4gYWN0aW9ucyBpZiBDTVMgVmVyc2lvbiBpcyA+PSBDTVMgMS45LWJldGExPC9wPg0KICA8L2xpPg0KPC91bD4gJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0pRdWVyeSBUb29sYm94ICc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgaXMgdGhpcz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgPGEgaHJlZj0iaHR0cDovL3d3dy5qcXVlcnkuY29tIj5qUXVlcnk8L2E+IGZ1bmN0aW9uYWxpdHkgdG8gQ01TIE1hZGUgU2ltcGxlIHBhZ2UsIGFuZCBtb2R1bGVzIChldmVuIGluIHRoZSBhZG1pbiBzZWN0aW9uKSwgY29udmVuaWVudGx5IGFuZCBlYXNpbHkuICBJdCBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IGxpa2UgYWpheCwgdG9vbHRpcHMsIHNvcnRhYmxlIHRhYmxlcywgYW5kIGFueXRoaW5nIGVsc2UgeW91IGNhbiBkbyB3aXRoIGpxdWVyeSBpbiBvbmUgbmljZSwgZWFzeSB0byB1c2UgcGFja2FnZS48L3A+DQo8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+DQo8cD5UbyBlbmFibGUgSlF1ZXJ5VG9vbHMgeW91IG11c3QgaW5jbHVkZSBhdCBsZWFzdCBvbmUgdGFnIGluIHRoZSBoZWFkIHNlY3Rpb24gb2YgeW91ciBwYWdlIHRlbXBsYXRlLCBvciBpbiB0aGUgbWV0YWRhdGEgc2VjdGlvbiBvZiBlYWNoIHJlcXVpcmVkIHBhZ2UuICBVc2UgdGhpcyB0YWc6IDxjb2RlPntKUXVlcnlUb29scyBhY3Rpb249aW5janN9PC9jb2RlPjwvcD4NCjxwPkFkZGl0aW9uYWxseSwgeW91IGNhbiBpbmNsdWRlIGEgc2Vjb25kIHRhZyB0byBpbmNsdWRlIHRoZSBqYXZhc2NyaXB0IHRoYXQgcHJvdmlkZXMgdGhlIGRlZmF1bHQgcmVhZHkgZnVuY3Rpb24uIDxjb2RlPntKUXVlcnlUb29scyBhY3Rpb249cmVhZHl9PC9jb2RlPjwvcD4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IHByb3ZpZGUgc2FtcGxlcyBhbmQgaW5zdHJ1Y3Rpb25zIGFzIHRvIGhvdyB0byB1c2UganF1ZXJ5IG9yIHRoZSB2YXJpb3VzIGFkZG9uIGxpYnJhcmllcyB0aGF0IHdlIGluY2x1ZGUuICB0byBsZWFybiBob3cgdG8gdXNlIHRoZXNlIGxpYnJhcmllcyB5b3Ugd2lsbCBuZWVkIHRvIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBwbHVnaW5zIGF0IHRoZWlyIHJlc3BlY3RpdmUgaG9tZSBwYWdlLjwvcD4NCjxoMz5XaGF0IGpxdWVyeSB2ZXJzaW9uIGlzIGluY2x1ZGVkPzwvaDM+DQo8cD5DdXJyZW50bHkgSlF1ZXJ5VG9vbHMgdXNlcyBqcXVlcnkgMS4yLjU8L3A+DQo8aDM+V2hhdCBKUXVlcnkgcGx1Z2lucyBhcmUgaW5jbHVkZWQ8L2gzPg0KPHVsPg0KICA8bGk+ZGltZW5zaW9uczwvbGk+DQogIDxsaT5ob3ZlckludGVudDwvbGk+DQogIDxsaT5tZXRhZGF0YTwvbGk+DQo8bGk+dGFibGVzb3J0ZXIgPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL3RhYmxlc29ydGVyLmNvbSI+aHR0cDovL3RhYmxlc29ydGVyLmNvbTwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPg0KPHA+LS0gVG8gYWxsb3cgc29ydGluZyB5b3VyIHRhYmxlcywgZ2l2ZSB0aGUgZm9sbHdpbmcgY2xhc3NlcyB0byB0aGUgdGFibGUgZGVmaW5pdGlvbjogY21zX3NvcnRhYmxlIHRhYmxlc29ydGVyLiBpLmU6IDxjb2RlPiZhbXA7bHQ7dGFibGUgY2xhc3M9JnF1b3Q7Y21zX3NvcnRhYmxlIHRhYmxlc29ydGVyJnF1b3Q7JmFtcDtndDsuLi4mYW1wO2x0Oy90YWJsZSZhbXA7Z3Q7PC9jb2RlPjwvcD4NCiAgPC9saT4NCiAgPGxpPmNsdWV0aXAgPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvIj5odHRwOi8vcGx1Z2lucy5sZWFybmluZ2pxdWVyeS5jb20vY2x1ZXRpcC88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPg0KICA8bGk+Zm9ybSA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvZm9ybS8iPmh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQogIDxsaT5saWdodGJveCA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vbGVhbmRyb3ZpZWlyYS5jb20vcHJvamVjdHMvanF1ZXJ5L2xpZ2h0Ym94LyI+aHR0cDovL2xlYW5kcm92aWVpcmEuY29tL3Byb2plY3RzL2pxdWVyeS9saWdodGJveC88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPg0KICA8bGk+ZmFuY3lib3ggPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL2ZhbmN5LmtsYWRlLmx2LyI+aHR0cDovL2ZhbmN5LmtsYWRlLmx2LzwvYT4gZm9yIHVzYWdlIGluc3RydWN0aW9ucyk8L2VtPjwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXlcJiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9jYWxndXkxMDAwLmNvbSI+Y2FsZ3V5MTAwMC5jb208L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmFtcDtjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+JmFtcDtsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmFtcDtndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCnRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZA0KYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlDQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TDQpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gDQpzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCk1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQpPciByZWFkIGl0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+b25saW5lPC9hPjwvcD4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFZW4gdmVyemFtZWxpbmcgdmFuIEpxdWVyeSB0b29scywgYWxzIGh1bHAgYmlqIGhldCBjcmUmZXVtbDtyZW4gdmFuIGR5bmFtaXNjaGUgZW4gZGVjb3JhdGlldmUgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZXMgZW4gd2Vic2l0ZXMnOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnR2VlZiBkZSBiZXdlcmtpbmcgb3AgZGllIG1vZXQgd29yZGVuIGFhbmdlcm9lcGVuLiAgTW9nZWxpamtlIHdhYXJkZW4gemlqbjo8dWw+PGxpPmluY2pzIC0gVm9lZyBkZSBiZW5vZGlnZGUgamF2YXNjcmlwdCBiZXN0YW5kZW4gdG9lLjwvbGk+PGxpPnJlYWR5IC0gVWl0Z2FuZyBzdGFuZGFhcmQgZ2VyZWVkIGZ1bmN0aWUuPC9saT48L3VsPic7CiRsYW5nWydwYXJhbV9leGNsdWRlJ10gPSAnVWl0c2x1aXRlbmQgdmFuIHRvZXBhc3Npbmcgb3AgZGUgaW5janMgYmV3ZXJraW5nLCBEZXplIHBhcmFtZXRlciBtYWFrdCBoZXQgbW9nZWxpamsgbWV0IHVpdHpvbmRlcmluZyB2YW4gYmVwYWFsZGUganF1ZXJ5IHBsdWdpbnMgdWl0IHRlIHNsdWl0ZW4uIE1vZ2VsaWprZSB3YWFyZGVuIHppam46IHRhYmxlc29ydGVyLGNsdWV0aXAsZm9ybS4nOwokbGFuZ1sncGFyYW1faW5jbHVkZSddID0gJ1VpdHNsdWl0ZW5kIHZhbiB0b2VwYXNzaW5nIG9wIGRlIGluY2pzIGJld2Vya2luZywgRGV6ZSBwYXJhbWV0ZXIgbWFha3QgaGV0IG1vZ2VsaWprIG1ldCB1aXR6b25kZXJpbmcgdmFuIGJlcGFhbGRlIGpxdWVyeSBwbHVnaW5zIGluIHRlIHNsdWl0ZW4gZW4gZGFhcm1lZSBhbGxlIGFuZGVyZSBwYXJhbWV0ZXJzIHVpdCB0ZSBzbHVpdGVuIGFscyBkZXplIHppam4gb3BnZWdldmVuLiBNb2dlbGlqa2Ugd2FhcmRlbiB6aWpuOiB0YWJsZXNvcnRlcixjbHVldGlwLGZvcm0uJzsKJGxhbmdbJ3BhcmFtX25vX2NzcyddID0gJ0FsbGVlbiB0b2UgdGUgcGFzc2VuIGluIGRlIGluY2pzIGJld2Vya2luZywgZGV6ZSB6YWwgY3NzIHRhZ3MgdWl0c2x1aXRlbic7CiRsYW5nWydwYXJhbV9ub19qcyddID0gJ0FsbGVlbiB0b2UgdGUgcGFzc2VuIGluIGRlIGluY2pzIGJld2Vya2luZywgZGV6ZSB6YWwgc2Nyb2xsIHRhZ3MgdWl0c2x1aXRlbic7CiRsYW5nWydwYXJhbV9ub19xdWVyeSddID0gJ0FsbGVlbiB0b2UgdGUgcGFzc2VuIGluIGRlIGluY2pzIGJld2Vya2luZywgZGl0IHphbCBqcXVlcnkgdWl0c2x1aXRlbiB2YW4gaW50ZWdyYXRpZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0RlIEpRdWVyeVRvb2xzIG1vZHVsZSBpcyBnZSZpdW1sO25zdGFsbGVlcmQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0RlIEpRdWVyeVRvb2xzIG1vZHVsZSBpcyBnZWRlJml1bWw7bnN0YWxsZWVyZCc7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICdIZXQgdmVyd2lqZGVyZW4gdmFuIGRlemUgbW9kdWxlIGthbiBkZSB2ZXJ0b25pbmcgZW4gZGUgZnVuY3Rpb25hbGl0ZWl0IHZhbiB1dyB3ZWJzaXRlIHNjaGFkZSB0b2UgYnJlbmdlbi4gV2lsdCB1IHpla2VyIGRhdCB1IHdpbHQgZG9vcmdhYW4/JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTMzNTY5ODcwOC4xMjg0NTg2MjE3LjEyODYxMDEwMjguMTI4NjEwNTg2NC4xMDUnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjg1OTUzNzA2Ljk3LjEyLnV0bWNzcj1mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY249KHJlZmVycmFsKXx1dG1jbWQ9cmVmZXJyYWx8dXRtY2N0PS9pbmRleC5waHAvYm9hcmQsMTMuMC5odG1sJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE1NTEzMDYxNzktMTI4NDU4NjIxNjcxMSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjg2MTA1ODY0JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ro_RO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJ0RlIEZhY3V0JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1Rvb2xib3ggSlF1ZXJ5JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+Q2UgZSBhY2Vhc3RhPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyA8YSBocmVmPSJodHRwOi8vd3d3LmpxdWVyeS5jb20iPmpRdWVyeTwvYT4gZnVuY3Rpb25hbGl0eSB0byBDTVMgTWFkZSBTaW1wbGUgcGFnZSwgYW5kIG1vZHVsZXMgKGV2ZW4gaW4gdGhlIGFkbWluIHNlY3Rpb24pLCBjb252ZW5pZW50bHkgYW5kIGVhc2lseS4gIEl0IHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgbGlrZSBhamF4LCB0b29sdGlwcywgc29ydGFibGUgdGFibGVzLCBhbmQgYW55dGhpbmcgZWxzZSB5b3UgY2FuIGRvIHdpdGgganF1ZXJ5IGluIG9uZSBuaWNlLCBlYXN5IHRvIHVzZSBwYWNrYWdlLjwvcD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCjxwPlRvIGVuYWJsZSBKUXVlcnlUb29scyB5b3UgbXVzdCBpbmNsdWRlIGF0IGxlYXN0IG9uZSB0YWcgaW4gdGhlIGhlYWQgc2VjdGlvbiBvZiB5b3VyIHBhZ2UgdGVtcGxhdGUsIG9yIGluIHRoZSBtZXRhZGF0YSBzZWN0aW9uIG9mIGVhY2ggcmVxdWlyZWQgcGFnZS4gIFVzZSB0aGlzIHRhZzogPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1pbmNqc308L2NvZGU+PC9wPg0KPHA+QWRkaXRpb25hbGx5LCB5b3UgY2FuIGluY2x1ZGUgYSBzZWNvbmQgdGFnIHRvIGluY2x1ZGUgdGhlIGphdmFzY3JpcHQgdGhhdCBwcm92aWRlcyB0aGUgZGVmYXVsdCByZWFkeSBmdW5jdGlvbi4gPGNvZGU+e0pRdWVyeVRvb2xzIGFjdGlvbj1yZWFkeX08L2NvZGU+PC9wPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgcHJvdmlkZSBzYW1wbGVzIGFuZCBpbnN0cnVjdGlvbnMgYXMgdG8gaG93IHRvIHVzZSBqcXVlcnkgb3IgdGhlIHZhcmlvdXMgYWRkb24gbGlicmFyaWVzIHRoYXQgd2UgaW5jbHVkZS4gIHRvIGxlYXJuIGhvdyB0byB1c2UgdGhlc2UgbGlicmFyaWVzIHlvdSB3aWxsIG5lZWQgdG8gcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHBsdWdpbnMgYXQgdGhlaXIgcmVzcGVjdGl2ZSBob21lIHBhZ2UuPC9wPg0KPGgzPldoYXQganF1ZXJ5IHZlcnNpb24gaXMgaW5jbHVkZWQ/PC9oMz4NCjxwPkN1cnJlbnRseSBKUXVlcnlUb29scyB1c2VzIGpxdWVyeSAxLjIuNTwvcD4NCjxoMz5XaGF0IEpRdWVyeSBwbHVnaW5zIGFyZSBpbmNsdWRlZDwvaDM+DQo8dWw+DQogIDxsaT5kaW1lbnNpb25zPC9saT4NCiAgPGxpPmhvdmVySW50ZW50PC9saT4NCiAgPGxpPm1ldGFkYXRhPC9saT4NCjxsaT50YWJsZXNvcnRlciA8ZW0+KHNlZSA8YSBocmVmPSJodHRwOi8vdGFibGVzb3J0ZXIuY29tIj5odHRwOi8vdGFibGVzb3J0ZXIuY29tPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+DQo8cD4tLSBUbyBhbGxvdyBzb3J0aW5nIHlvdXIgdGFibGVzLCBnaXZlIHRoZSBmb2xsd2luZyBjbGFzc2VzIHRvIHRoZSB0YWJsZSBkZWZpbml0aW9uOiBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIuIGkuZTogPGNvZGU+PHRhYmxlIGNsYXNzPSZxdW90O2Ntc19zb3J0YWJsZSB0YWJsZXNvcnRlciZxdW90Oz4uLi48L3RhYmxlPjwvY29kZT48L3A+DQogIDwvbGk+DQogIDxsaT5jbHVldGlwIDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9wbHVnaW5zLmxlYXJuaW5nanF1ZXJ5LmNvbS9jbHVldGlwLyI+aHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4NCiAgPGxpPmZvcm0gPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL21hbHN1cC5jb20vanF1ZXJ5L2Zvcm0vIj5odHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvZm9ybS88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPg0KICA8bGk+bGlnaHRib3ggPGVtPihzZWUgPGEgaHJlZj0iaHR0cDovL2xlYW5kcm92aWVpcmEuY29tL3Byb2plY3RzL2pxdWVyeS9saWdodGJveC8iPmh0dHA6Ly9sZWFuZHJvdmllaXJhLmNvbS9wcm9qZWN0cy9qcXVlcnkvbGlnaHRib3gvPC9hPiBmb3IgdXNhZ2UgaW5zdHJ1Y3Rpb25zKTwvZW0+PC9saT4NCiAgPGxpPmZhbmN5Ym94IDxlbT4oc2VlIDxhIGhyZWY9Imh0dHA6Ly9mYW5jeS5rbGFkZS5sdi8iPmh0dHA6Ly9mYW5jeS5rbGFkZS5sdi88L2E+IGZvciB1c2FnZSBpbnN0cnVjdGlvbnMpPC9lbT48L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVW4gdG9vbGJveCBkZSB1dGlsaXRhcmUgSnF1ZXJ5IGNhcmUgYXIgdHJlYnVpIHNhIGFqdXRlIGxhIGNyZWFyZWEgZGUgc2l0ZS11cmkgc2kgbW9kdWxlIENNUyBNYWRlIFNpbXBsZSBkaW5hbWljZSBzaSBhcmF0b2FzZSc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcGVjaWZpY2F0aSBhY3RpdW5lYSBhcGVsYXRhLiBWYWxvcmkgcG9zaWJpbGUgc3VudDoNCjx1bD4NCjxsaT5pbmNqcyAtIEluY2x1ZGVyZSBmaXNpZXJlIGphdmFzY3JpcHQgY2VydXRlLjwvbGk+DQo8bGk+cmVhZHkgLSBPdXRwdXQgZnVuY3RpZSBpbXBsaWNpdGEgcmVhZHkuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2V4Y2x1ZGUnXSA9ICdBcGxpY2FiaWwgbnVtYWkgYWN0aXVuaWkgaW5janMsIGFjZXN0IHBhcmFtZXRydSBwZXJtaXRlIGV4Y2x1ZGVyZWEgdW5vciBwbHVnaW4tdXJpIGpxdWVyeSBkZSBsYSBvdXRwdXQtdWwgZ2VuZXJhdC4gVmFsb3JpIHBvc2liaWxlIHN1bnQ6IHRhYmxlc29ydGVyLGNsdWV0aXAsZm9ybS4nOwokbGFuZ1sncGFyYW1faW5jbHVkZSddID0gJ0FwbGljYWJpbCBudW1haSBhY3RpdW5paSBpbmNqcywgYWNlc3QgcGFyYW1ldHJ1IHBlcm1pdGUgaW5jbHVkZXJlYSBleHBsaWNpdGEgYSB1bm9yIHBsdWdpbi11cmkganF1ZXJ5IGluIHRpbXAgY2UgdG9hdGUgY2VsZWxhbHRlIHN1bnQgZXhjbHVzZS4gRGFjYSBhY2VzdCBwYXJhbWV0cnUgZXN0ZSBzcGVjaWZpY2F0LCBwYXJhbWV0cnVsIGV4Y2x1ZGUgdmEgZmkgaWdub3JhdC4gIFZhbG9yaSBwb3NpYmlsZSBzdW50OiB0YWJsZXNvcnRlcixjbHVldGlwLGZvcm0uJzsKJGxhbmdbJ3BhcmFtX25vX2NzcyddID0gJ1NlIGFwbGljYSBudW1haSBhY3RpdW5paSBpbmNqcywgdmEgZXhjbHVkZSBhZmlzYXJlYSB0YWd1cmlsb3IgY3NzJzsKJGxhbmdbJ3BhcmFtX25vX2pzJ10gPSAnU2UgYXBsaWNhIG51bWFpIGFjdGl1bmlpIGluY2pzLCB2YSBleGNsdWRlIGFmaXNhcmVhIHRhZ3VyaWxvciBzY3JvW3QnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bHVsIEpRdWVyeVRvb2xzIGEgZm9zdCBpbnN0YWxhdC4uLi4gbGEgdHJlYWJhISc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdWx1bCBKUXVlcnlUb29scyBhIGZvc3QgZGV6aW5zdGFsYXQnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnRGFjYSBpbmxhdHVyYXRpIGFjZXN0IG1vZHVsIHB1dGV0aSBzdHJpY2EgZnVuY3Rpb25hbGl0YXRlIHNhdSBhc3BlY3QgbGVnYXRlIGRlIHNpdGUuIFNpZ3VyIGRvcml0aSBzYSBjb250aW51YXRpPyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjkxMjI3NDI2NC4xMjcwNjQyMzEzLjEyNzA2NDIzMTMuMTI3MDY0MjMxMy4xJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjcwNjQyMzEzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjcwNjQyMzEzLjEuMS51dG1jc3I9KGRpcmVjdCl8dXRtY2NuPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sncWNhJ10gPSAnUDAtMTMzMDEzMDU2OC0xMjcwNjQyMzEzNjgyJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2NoYW5nZWxvZyddID0gJ0F0dCBnJm91bWw7cmEnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnSlF1ZXJ5LVRvb2xib3gnOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IGlzIHRoaXM/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIDxhIGhyZWY9Imh0dHA6Ly93d3cuanF1ZXJ5LmNvbSI+alF1ZXJ5PC9hPiBmdW5jdGlvbmFsaXR5IHRvIENNUyBNYWRlIFNpbXBsZSBwYWdlLCBhbmQgbW9kdWxlcyAoZXZlbiBpbiB0aGUgYWRtaW4gc2VjdGlvbiksIGNvbnZlbmllbnRseSBhbmQgZWFzaWx5LiAgSXQgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBsaWtlIGFqYXgsIHRvb2x0aXBzLCBzb3J0YWJsZSB0YWJsZXMsIGFuZCBhbnl0aGluZyBlbHNlIHlvdSBjYW4gZG8gd2l0aCBqcXVlcnkgaW4gb25lIG5pY2UsIGVhc3kgdG8gdXNlIHBhY2thZ2UuPC9wPg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VG8gZW5hYmxlIEpRdWVyeVRvb2xzIHlvdSBtdXN0IGluY2x1ZGUgYXQgbGVhc3Qgb25lIHRhZyBpbiB0aGUgaGVhZCBzZWN0aW9uIG9mIHlvdXIgcGFnZSB0ZW1wbGF0ZSwgb3IgaW4gdGhlIG1ldGFkYXRhIHNlY3Rpb24gb2YgZWFjaCByZXF1aXJlZCBwYWdlLiAgVXNlIHRoaXMgdGFnOiA8Y29kZT57SlF1ZXJ5VG9vbHMgYWN0aW9uPWluY2pzfTwvY29kZT48L3A+DQo8cD5BZGRpdGlvbmFsbHksIHlvdSBjYW4gaW5jbHVkZSBhIHNlY29uZCB0YWcgdG8gaW5jbHVkZSB0aGUgamF2YXNjcmlwdCB0aGF0IHByb3ZpZGVzIHRoZSBkZWZhdWx0IHJlYWR5IGZ1bmN0aW9uLiA8Y29kZT57SlF1ZXJ5VG9vbHMgYWN0aW9uPXJlYWR5fTwvY29kZT4NCjxoMz5XaGF0IGpxdWVyeSB2ZXJzaW9uIGlzIGluY2x1ZGVkPzwvaDM+DQo8cD5DdXJyZW50bHkgSlF1ZXJ5VG9vbHMgdXNlcyBqcXVlcnkgMS4yLjU8L3A+DQo8aDM+V2hhdCBwbHVnaW5zIGFyZSBpbmNsdWRlZDwvaDM+DQo8dWw+DQogIDxsaT5kaW1lbnNpb25zPC9saT4NCiAgPGxpPmhvdmVySW50ZW50PC9saT4NCiAgPGxpPm1ldGFkYXRhPC9saT4NCiAgPGxpPnRhYmxlc29ydGVyDQo8cD4tLSBUbyBhbGxvdyBzb3J0aW5nIHlvdXIgdGFibGVzLCBnaXZlIHRoZSBmb2xsd2luZyBjbGFzc2VzIHRvIHRoZSB0YWJsZSBkZWZpbml0aW9uOiBjbXNfc29ydGFibGUgdGFibGVzb3J0ZXIuIGkuZTogPGNvZGU+PHRhYmxlIGNsYXNzPSZxdW90O2Ntc19zb3J0YWJsZSB0YWJsZXNvcnRlciZxdW90Oz4uLi48L3RhYmxlPjwvY29kZT48L3A+DQogIDwvbGk+DQogIDxsaT5jbHVldGlwPC9saT4NCiAgPGxpPmZvcm08L2xpPg0KPC91bD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPmNhbGd1eTEwMDAuY29tPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+PGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRW4gdmVya3R5Z3NsJmFyaW5nO2RhIHRpbGwgSnF1ZXJ5IGYmb3VtbDtyIGF0dCBza2FwYSBkeW5hbWlza2Egb2NoIHZhY2tyYSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlciBvY2ggd2ViYnBsYXRzZXInOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnQW5nZSB2aWxrYSAmYXJpbmc7dGcmYXVtbDtyZGVyIHNvbSBza2FsbCBrYWxsYXMuIE0mb3VtbDtqbGlnYSB2JmF1bWw7cmRlbiAmYXVtbDtyOiA8dWw+IDxsaT4gaW5janMgLSBJbmtsdWRlcmluZyBrciZhdW1sO3ZzIGYmb3VtbDtyIGphdmFzY3JpcHQgZmlsZXIuIDwvIExpPiA8bGk+IHJlZG8gLSBSZXN1bHRhdHN0YW5kYXJkcyBmdW5rdGlvbi4gPC8gTGk+IDwvIHVsPic7CiRsYW5nWydwYXJhbV9leGNsdWRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBleGNsdWRpbmcgY2VydGFpbiBqcXVlcnkgcGx1Z2lucyBmcm9tIHRoZSBvdXRwdXQgZ2VuZXJhdGVkLiAgUG9zc2libGUgdmFsdWVzIGFyZTogdGFibGVzb3J0ZXIsY2x1ZXRpcCxmb3JtLic7CiRsYW5nWydwYXJhbV9pbmNsdWRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBpbmNqcyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBleHBsaWNpdGx5IGluY2x1ZGluZyBjZXJ0YWluIGpxdWVyeSBwbHVnaW5zIHdoaWxzdCBleGNsdWRpbmcgYWxsIG90aGVycy4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIHNwZWNpZmllZCwgdGhlIGV4Y2x1ZGUgcGFyYW1ldGVyIHdpbGwgYmUgaWdub3JlZC4gIFBvc3NpYmxlIHZhbHVlcyBhcmUgdGFibGVzb3J0ZXIsY2x1ZXRpcCxmb3JtLic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0pRdWVyeVRvb2xzIG1vZHVsZW4gJmF1bWw7ciBudSBpbnN0YWxsZXJhZCEnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0pRdWVyeVRvb2xzIG1vZHVsZW4gJmF1bWw7ciBudSBhdmluc3RhbGxlcmFkISc7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICdCb3J0dGFnbmluZyBhdiBkZW4gaCZhdW1sO3IgbW9kdWxlbiBrYW4gc2thZGEgdXRzZWVuZGV0IG9jaCBmdW5rdGlvbmFsaXRldGVuIHAmYXJpbmc7IGRpbiB3ZWJicGxhdHMuICZBdW1sO3IgZHUgcyZhdW1sO2tlciBwJmFyaW5nOyBhdHQgZHUgdmlsbCBmb3J0cyZhdW1sO3R0YT8nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My45NTAyMzgyNzM3Mjk0NzIxMDAuMTIzNzE0MDQyNS4xMjM4MjUxNDM3LjEyMzgyNTM1OTIuNTAnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjM4MjUxNDM3LjQ5LjYudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjM4MjUzNTkyJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/css/jquery.cluetip.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogZ2xvYmFsICovDQojY2x1ZXRpcC1jbG9zZSBpbWcgew0KICBib3JkZXI6IDA7DQp9DQojY2x1ZXRpcC10aXRsZSB7DQogIG92ZXJmbG93OiBoaWRkZW47DQp9DQojY2x1ZXRpcC10aXRsZSAjY2x1ZXRpcC1jbG9zZSB7DQogIGZsb2F0OiByaWdodDsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KI2NsdWV0aXAtd2FpdGltYWdlIHsNCiAgd2lkdGg6IDQzcHg7DQogIGhlaWdodDogMTFweDsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1ncy93YWl0LmdpZik7DQp9DQouY2x1ZXRpcC1hcnJvd3Mgew0KICBkaXNwbGF5OiBub25lOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogMDsNCiAgbGVmdDogLTExcHg7DQogIGhlaWdodDogMjJweDsNCiAgd2lkdGg6IDExcHg7DQogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQogIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsNCn0NCiNjbHVldGlwLWV4dHJhIHsNCiAgZGlzcGxheTogbm9uZTsNCn0NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgID1jbHVldGlwQ2xhc3M6ICdkZWZhdWx0JyANCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQouY2x1ZXRpcC1kZWZhdWx0IHsNCiAgYmFja2dyb3VuZC1jb2xvcjojZmZmOw0KICANCn0NCi5jbHVldGlwLWRlZmF1bHQgI2NsdWV0aXAtb3V0ZXIgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIG1hcmdpbjogMDsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCn0NCi5jbHVldGlwLWRlZmF1bHQgaDMjY2x1ZXRpcC10aXRsZSB7DQoJbWFyZ2luOiAwIDAgNXB4Ow0KCXBhZGRpbmc6IDhweCAxMHB4IDRweDsNCglmb250LXNpemU6IDEuMWVtOw0KCWZvbnQtd2VpZ2h0OiBub3JtYWw7DQoJYmFja2dyb3VuZC1jb2xvcjogIzRCNEI0QjsNCgljb2xvcjogI2ZmZjsNCn0NCi5jbHVldGlwLWRlZmF1bHQgI2NsdWV0aXAtdGl0bGUgYSB7DQogIGNvbG9yOiAjY2NjOw0KICBmb250LXNpemU6IDAuOTVlbTsNCn0gIA0KLmNsdWV0aXAtZGVmYXVsdCAjY2x1ZXRpcC1pbm5lciB7DQogIHBhZGRpbmc6IDEwcHg7DQp9DQouY2x1ZXRpcC1kZWZhdWx0IGRpdiNjbHVldGlwLWNsb3NlIHsgDQogIHRleHQtYWxpZ246IHJpZ2h0Ow0KICBtYXJnaW46IDAgNXB4IDVweDsNCiAgY29sb3I6ICM5MDA7DQp9DQoNCi8qIGRlZmF1bHQgYXJyb3dzICovDQoNCi5jbHVlLXJpZ2h0LWRlZmF1bHQgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9kYXJyb3dsZWZ0LmdpZik7DQp9DQouY2x1ZS1sZWZ0LWRlZmF1bHQgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9kYXJyb3dyaWdodC5naWYpOw0KICBsZWZ0OiAxMDAlOw0KICBtYXJnaW4tcmlnaHQ6IC0xMXB4Ow0KfQ0KLmNsdWUtdG9wLWRlZmF1bHQgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9kYXJyb3dkb3duLmdpZik7DQogIHRvcDogMTAwJTsNCiAgbGVmdDogNTAlOw0KICBtYXJnaW4tbGVmdDogLTExcHg7DQogIGhlaWdodDogMTFweDsNCiAgd2lkdGg6IDIycHg7ICANCn0gIA0KLmNsdWUtYm90dG9tLWRlZmF1bHQgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9kYXJyb3d1cC5naWYpOw0KICB0b3A6IC0xMXB4Ow0KICBsZWZ0OiA1MCU7DQogIG1hcmdpbi1sZWZ0OiAtMTFweDsNCiAgaGVpZ2h0OiAxMXB4Ow0KICB3aWR0aDogMjJweDsNCn0NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgPWNsdWV0aXBDbGFzczogJ2p0aXAnDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KLmNsdWV0aXAtanRpcCB7DQogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KfQ0KLmNsdWV0aXAtanRpcCAjY2x1ZXRpcC1vdXRlciB7DQogIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCn0NCg0KLmNsdWV0aXAtanRpcCBoMyNjbHVldGlwLXRpdGxlIHsNCiAgbWFyZ2luOiAwIDAgNXB4Ow0KICBwYWRkaW5nOiAycHggNXB4Ow0KICBmb250LXNpemU6IDE2cHg7DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIGJhY2tncm91bmQtY29sb3I6ICNjY2M7DQogIGNvbG9yOiAjMzMzOw0KfQ0KDQouY2x1ZXRpcC1qdGlwICNjbHVldGlwLWlubmVyIHsNCiAgcGFkZGluZzogMCA1cHggNXB4Ow0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQp9DQouY2x1ZXRpcC1qdGlwIGRpdiNjbHVldGlwLWNsb3NlIHsgDQogIHRleHQtYWxpZ246IHJpZ2h0Ow0KICBtYXJnaW46IDAgNXB4IDVweDsNCiAgY29sb3I6ICM5MDA7DQp9DQoNCi8qIGp0aXAgYXJyb3dzICovDQoNCi5jbHVlLXJpZ2h0LWp0aXAgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9hcnJvd2xlZnQuZ2lmKTsNCn0NCi5jbHVlLWxlZnQtanRpcCAuY2x1ZXRpcC1hcnJvd3Mgew0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1ncy9jbHVldGlwL2Fycm93cmlnaHQuZ2lmKTsNCiAgbGVmdDogMTAwJTsNCiAgbWFyZ2luLXJpZ2h0OiAtMTFweDsNCn0NCi5jbHVlLXRvcC1qdGlwIC5jbHVldGlwLWFycm93cyB7DQogIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWdzL2NsdWV0aXAvYXJyb3dkb3duLmdpZik7DQogIHRvcDogMTAwJTsNCiAgbGVmdDogNTAlOw0KICBtYXJnaW4tbGVmdDogLTExcHg7DQogIGhlaWdodDogMTFweDsNCiAgd2lkdGg6IDIycHg7ICANCn0gIA0KLmNsdWUtYm90dG9tLWp0aXAgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9hcnJvd3VwLmdpZik7DQogIHRvcDogLTExcHg7DQogIGxlZnQ6IDUwJTsNCiAgbWFyZ2luLWxlZnQ6IC0xMXB4Ow0KICBoZWlnaHQ6IDExcHg7DQogIHdpZHRoOiAyMnB4Ow0KfQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICA9Y2x1ZXRpcENsYXNzOiAncm91bmRlZCcNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCi5jbHVldGlwLXJvdW5kZWQgew0KICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vaW1ncy9jbHVldGlwL2JsLmdpZikgbm8tcmVwZWF0IDAgMTAwJTsNCiAgbWFyZ2luLXRvcDogMTBweDsNCiAgbWFyZ2luLWxlZnQ6IDEycHg7DQp9DQoNCi5jbHVldGlwLXJvdW5kZWQgI2NsdWV0aXAtb3V0ZXIgew0KICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vaW1ncy9jbHVldGlwL3RsLmdpZikgbm8tcmVwZWF0IDAgMDsNCiAgbWFyZ2luLXRvcDogLTEycHg7DQp9DQoNCi5jbHVldGlwLXJvdW5kZWQgI2NsdWV0aXAtdGl0bGUgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgcGFkZGluZzogMTJweCAxMnB4IDA7DQogIG1hcmdpbjogMCAtMTJweCAwIDA7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5jbHVldGlwLXJvdW5kZWQgI2NsdWV0aXAtZXh0cmEgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIGRpc3BsYXk6IGJsb2NrOw0KICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vaW1ncy9jbHVldGlwL3RyLmdpZikgbm8tcmVwZWF0IDEwMCUgMDsNCiAgdG9wOiAwOw0KICByaWdodDogMDsNCiAgd2lkdGg6IDEycHg7DQogIGhlaWdodDogMzBweDsNCiAgbWFyZ2luOiAtMTJweCAtMTJweCAwIDA7DQp9DQouY2x1ZXRpcC1yb3VuZGVkICNjbHVldGlwLWlubmVyIHsNCiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9ici5naWYpIG5vLXJlcGVhdCAxMDAlIDEwMCU7DQogIHBhZGRpbmc6IDVweCAxMnB4IDEycHg7DQogIG1hcmdpbjogLTE4cHggLTEycHggMCAwOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5jbHVldGlwLXJvdW5kZWQgZGl2I2NsdWV0aXAtY2xvc2UgeyANCiAgdGV4dC1hbGlnbjogcmlnaHQ7DQogIG1hcmdpbjogMCA1cHggNXB4Ow0KICBjb2xvcjogIzAwOTsNCiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQp9DQouY2x1ZXRpcC1yb3VuZGVkIGRpdiNjbHVldGlwLWNsb3NlIGEgew0KICBjb2xvcjogIzc3NzsNCn0NCg0KLyogcm91bmRlZCBhcnJvd3MgKi8NCg0KLmNsdWUtcmlnaHQtcm91bmRlZCAuY2x1ZXRpcC1hcnJvd3Mgew0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1ncy9jbHVldGlwL3JhcnJvd2xlZnQuZ2lmKTsNCn0NCi5jbHVlLWxlZnQtcm91bmRlZCAuY2x1ZXRpcC1hcnJvd3Mgew0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1ncy9jbHVldGlwL3JhcnJvd3JpZ2h0LmdpZik7DQogIGxlZnQ6IDEwMCU7DQogIG1hcmdpbi1sZWZ0OiAxMnB4Ow0KfQ0KLmNsdWUtdG9wLXJvdW5kZWQgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9yYXJyb3dkb3duLmdpZik7DQogIHRvcDogMTAwJTsNCiAgbGVmdDogNTAlOw0KICBtYXJnaW4tbGVmdDogLTExcHg7DQogIGhlaWdodDogMTFweDsNCiAgd2lkdGg6IDIycHg7ICANCn0gIA0KLmNsdWUtYm90dG9tLXJvdW5kZWQgLmNsdWV0aXAtYXJyb3dzIHsNCiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvY2x1ZXRpcC9yYXJyb3d1cC5naWYpOw0KICB0b3A6IC0yM3B4Ow0KICBsZWZ0OiA1MCU7DQogIG1hcmdpbi1sZWZ0OiAtMTFweDsNCiAgaGVpZ2h0OiAxMXB4Ow0KICB3aWR0aDogMjJweDsNCn0NCg0KDQoNCi8qIHN0dXBpZCBJRTYgSGFzTGF5b3V0IGhhY2sgKi8NCi5jbHVldGlwLXJvdW5kZWQgI2NsdWV0aXAtdGl0bGUsDQouY2x1ZXRpcC1yb3VuZGVkICNjbHVldGlwLWlubmVyIHsNCiAgem9vbTogMTsNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/lib/css/jquery.lightbox-0.5.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqDQogKiBqUXVlcnkgbGlnaHRCb3ggcGx1Z2luDQogKiBUaGlzIGpRdWVyeSBwbHVnaW4gd2FzIGluc3BpcmVkIGFuZCBiYXNlZCBvbiBMaWdodGJveCAyIGJ5IExva2VzaCBEaGFrYXIgKGh0dHA6Ly93d3cuaHVkZGxldG9nZXRoZXIuY29tL3Byb2plY3RzL2xpZ2h0Ym94Mi8pDQogKiBhbmQgYWRhcHRlZCB0byBtZSBmb3IgdXNlIGxpa2UgYSBwbHVnaW4gZnJvbSBqUXVlcnkuDQogKiBAbmFtZSBqcXVlcnktbGlnaHRib3gtMC41LmNzcw0KICogQGF1dGhvciBMZWFuZHJvIFZpZWlyYSBQaW5obyAtIGh0dHA6Ly9sZWFuZHJvdmllaXJhLmNvbQ0KICogQHZlcnNpb24gMC41DQogKiBAZGF0ZSBBcHJpbCAxMSwgMjAwOA0KICogQGNhdGVnb3J5IGpRdWVyeSBwbHVnaW4NCiAqIEBjb3B5cmlnaHQgKGMpIDIwMDggTGVhbmRybyBWaWVpcmEgUGluaG8gKGxlYW5kcm92aWVpcmEuY29tKQ0KICogQGxpY2Vuc2UgQ0MgQXR0cmlidXRpb24tTm8gRGVyaXZhdGl2ZSBXb3JrcyAyLjUgQnJhemlsIC0gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktbmQvMi41L2JyL2RlZWQuZW5fVVMNCiAqIEBleGFtcGxlIFZpc2l0IGh0dHA6Ly9sZWFuZHJvdmllaXJhLmNvbS9wcm9qZWN0cy9qcXVlcnkvbGlnaHRib3gvIGZvciBtb3JlIGluZm9ybWF0aW9ucyBhYm91dCB0aGlzIGpRdWVyeSBwbHVnaW4NCiAqLw0KI2pxdWVyeS1vdmVybGF5IHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJei1pbmRleDogOTA7DQoJd2lkdGg6IDEwMCU7DQoJaGVpZ2h0OiA1MDBweDsNCn0NCiNqcXVlcnktbGlnaHRib3ggew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCgl3aWR0aDogMTAwJTsNCgl6LWluZGV4OiAxMDA7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCWxpbmUtaGVpZ2h0OiAwOw0KfQ0KI2pxdWVyeS1saWdodGJveCBhIGltZyB7IGJvcmRlcjogbm9uZTsgfQ0KI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1ib3ggew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KCXdpZHRoOiAyNTBweDsNCgloZWlnaHQ6IDI1MHB4Ow0KCW1hcmdpbjogMCBhdXRvOw0KfQ0KI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZSB7IHBhZGRpbmc6IDEwcHg7IH0NCiNsaWdodGJveC1sb2FkaW5nIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiA0MCU7DQoJbGVmdDogMCU7DQoJaGVpZ2h0OiAyNSU7DQoJd2lkdGg6IDEwMCU7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCWxpbmUtaGVpZ2h0OiAwOw0KfQ0KI2xpZ2h0Ym94LW5hdiB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCWhlaWdodDogMTAwJTsNCgl3aWR0aDogMTAwJTsNCgl6LWluZGV4OiAxMDsNCn0NCiNsaWdodGJveC1jb250YWluZXItaW1hZ2UtYm94ID4gI2xpZ2h0Ym94LW5hdiB7IGxlZnQ6IDA7IH0NCiNsaWdodGJveC1uYXYgYSB7IG91dGxpbmU6IG5vbmU7fQ0KI2xpZ2h0Ym94LW5hdi1idG5QcmV2LCAjbGlnaHRib3gtbmF2LWJ0bk5leHQgew0KCXdpZHRoOiA0OSU7DQoJaGVpZ2h0OiAxMDAlOw0KCXpvb206IDE7DQoJZGlzcGxheTogYmxvY2s7DQp9DQojbGlnaHRib3gtbmF2LWJ0blByZXYgeyANCglsZWZ0OiAwOyANCglmbG9hdDogbGVmdDsNCn0NCiNsaWdodGJveC1uYXYtYnRuTmV4dCB7IA0KCXJpZ2h0OiAwOyANCglmbG9hdDogcmlnaHQ7DQp9DQojbGlnaHRib3gtY29udGFpbmVyLWltYWdlLWRhdGEtYm94IHsNCglmb250OiAxMHB4IFZlcmRhbmEsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KCW1hcmdpbjogMCBhdXRvOw0KCWxpbmUtaGVpZ2h0OiAxLjRlbTsNCglvdmVyZmxvdzogYXV0bzsNCgl3aWR0aDogMTAwJTsNCglwYWRkaW5nOiAwIDEwcHggMDsNCn0NCiNsaWdodGJveC1jb250YWluZXItaW1hZ2UtZGF0YSB7DQoJcGFkZGluZzogMCAxMHB4OyANCgljb2xvcjogIzY2NjsgDQp9DQojbGlnaHRib3gtY29udGFpbmVyLWltYWdlLWRhdGEgI2xpZ2h0Ym94LWltYWdlLWRldGFpbHMgeyANCgl3aWR0aDogNzAlOyANCglmbG9hdDogbGVmdDsgDQoJdGV4dC1hbGlnbjogbGVmdDsgDQp9CQ0KI2xpZ2h0Ym94LWltYWdlLWRldGFpbHMtY2FwdGlvbiB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9DQojbGlnaHRib3gtaW1hZ2UtZGV0YWlscy1jdXJyZW50TnVtYmVyIHsNCglkaXNwbGF5OiBibG9jazsgDQoJY2xlYXI6IGxlZnQ7IA0KCXBhZGRpbmctYm90dG9tOiAxLjBlbTsJDQp9CQkJDQojbGlnaHRib3gtc2VjTmF2LWJ0bkNsb3NlIHsNCgl3aWR0aDogNjZweDsgDQoJZmxvYXQ6IHJpZ2h0Ow0KCXBhZGRpbmctYm90dG9tOiAwLjdlbTsJDQp9]]></data>
	</file>
	<file>
	  <filename>/lib/css/JQueryTools.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIHRhYmxlc29ydGVyICoqKioqKioqKioqKioqKiovDQoNCnRhYmxlLnRhYmxlc29ydGVyIHRoZWFkIHRyIHRoLCB0YWJsZS50YWJsZXNvcnRlciB0Zm9vdCB0ciB0aCB7DQoJcGFkZGluZzogNXB4IDBweCA1cHggMjBweDsNCiAJYmFja2dyb3VuZDogIzI0MzEzNTsNCgl0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQp0YWJsZS50YWJsZXNvcnRlciB0aGVhZCB0ciAuaGVhZGVyIHsNCg0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWdzL2JnLmdpZik7DQoJYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDsNCgljb2xvcjojZmZmOw0KCWN1cnNvcjogcG9pbnRlcjsNCn0NCnRhYmxlLnRhYmxlc29ydGVyIHRib2R5IHRyLm9kZCB0ZCB7DQoJLyoqDQoJICogYmFja2dyb3VuZDogI0RCRTZFODsNCgkgKi8NCgl9DQoNCnRhYmxlLnRhYmxlc29ydGVyIHRoZWFkIHRyIC5oZWFkZXJTb3J0VXAgew0KDQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZ3MvYXNjLmdpZik7DQp9DQoNCnRhYmxlLnRhYmxlc29ydGVyIHRoZWFkIHRyIC5oZWFkZXJTb3J0RG93biB7DQoNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1ncy9kZXNjLmdpZik7DQp9DQovKioNCnRhYmxlLnRhYmxlc29ydGVyIHRoZWFkIHRyIC5oZWFkZXJTb3J0RG93biwgdGFibGUudGFibGVzb3J0ZXIgdGhlYWQgdHIgLmhlYWRlclNvcnRVcCB7DQoJDQoJICogYmFja2dyb3VuZC1jb2xvcjogIzMzNDU0QTsNCgkNCgkNCn0gKi8NCg0KDQp0YWJsZS50YWJsZXNvcnRlciB0Ym9keSB0ZCBpbWcgew0KICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsNCn0NCg0KDQp0YWJsZS50YWJsZXNvcnRlciB0Ym9keSB0ci5vZGQgdGQsIHRhYmxlLnRhYmxlc29ydGVyIHRib2R5IHRyLmV2ZW4gdGQgIHsNCglwYWRkaW5nLWxlZnQ6MjBweDsNCgkNCn0NCnRhYmxlLnRhYmxlc29ydGVyIHRoLnBhZ2VpY29uICB7DQoJDQoJd2lkdGg6IDEwcHg7DQp9DQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIG5leHQgY3NzIHRvb2wgKioqKioqKioqKioqKioqKi8=]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/imgs/asc.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAEAIAAAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNC4xLWMwMzQgNDYuMjcyOTc2LCBTYXQgSmFuIDI3IDIwMDcgMjI6Mzc6MzcgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhhcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx4YXA6Q3JlYXRvclRvb2w+QWRvYmUgRmlyZXdvcmtzIENTMzwveGFwOkNyZWF0b3JUb29sPgogICAgICAgICA8eGFwOkNyZWF0ZURhdGU+MjAwNy0wMS0wNFQyMjoxMDozMVo8L3hhcDpDcmVhdGVEYXRlPgogICAgICAgICA8eGFwOk1vZGlmeURhdGU+MjAwOS0wMS0xN1QxODozMjoxOFo8L3hhcDpNb2RpZnlEYXRlPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9naWY8L2RjOmZvcm1hdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PAA6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQBBwABACwAAAAAFQAEAAACDYwfoAvoz9qbZ9FrJC0AOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/bg.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAJAIAAAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNC4xLWMwMzQgNDYuMjcyOTc2LCBTYXQgSmFuIDI3IDIwMDcgMjI6Mzc6MzcgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhhcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx4YXA6Q3JlYXRvclRvb2w+QWRvYmUgRmlyZXdvcmtzIENTMzwveGFwOkNyZWF0b3JUb29sPgogICAgICAgICA8eGFwOkNyZWF0ZURhdGU+MjAwNy0wMS0wNFQyMjoxMDozMVo8L3hhcDpDcmVhdGVEYXRlPgogICAgICAgICA8eGFwOk1vZGlmeURhdGU+MjAwOS0wMS0xN1QxODozMjoyMVo8L3hhcDpNb2RpZnlEYXRlPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9naWY8L2RjOmZvcm1hdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PAA6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQBBwABACwAAAAAFQAJAAACF4yPgMsJ2mJ4VDKKrd4GVz5lYPeMiVUAADs=]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/arrowdown.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFgALAIABAMzMzP///yH5BAEAAAEALAAAAAAWAAsAAAIchI+pEOsZ4nuxTlXzPbnvDk7g6IwmZp5cmhpsAQA7]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/arrowleft.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwAWAIABAMzMzP///yH5BAEAAAEALAAAAAALABYAAAIjjI+AC7rWHIsvtmmTvXBzT4HiKAZkBx6l6mGUK2lcNdNPUgAAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/arrowright.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwAWAIABAMzMzP///yH5BAEAAAEALAAAAAALABYAAAIkRI4JlrqN1oNyutqqvDrqHXyYSJZkeKKf17Ggy3CQOqN1eAcFADs=]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/arrowup.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFgALAPcBAMzMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAEALAAAAAAWAAsAAAgyAAMIHEgQAACCCBMWNHhQocMADBk+TBgx4sSBFStezJjxIUeOCj9+RChSJMaSJlGiDAgAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/bl.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhzwPJA/eVAKzG16zI2qm3vaa7xqa2vq3J26nBzazI2avE06/K27XO3ejv8rnR38TY4rHM3L7V4KS3wMnb46zJ2qW3wMrc5K3I2b/V4bLN3K/L26vD07rS38TZ4rjQ3rbP3qq4vazF067K27XP3cXZ46rBzbDL3LLM3Ke7x+jv8ePp666/yLTL2fT296zI2K/J2rrM1LXHz8HV3rjL1bPGz6i3vrLCyPj5+rHL2rLJ1aq5v8jZ4MrW2q28w8fW3LbN2bXDyK/I2Ke3vrfQ3qq3vb7Q19bc3rrGy8rb4rHJ2LPN3crb4a+7wPP19qvBzrDH1efu8ai8x7S/w7nO2qW4wK7I2bHFz6y/yKa4wai/zMXQ1Ke5wbXK1sTY4avF1rzP2LvT37DAyP7+/qi5wam4vsDT3LnQ3LzM0q7Dzsvc5L3L0MbY4fX4+K3CzrTO3aa3vr3S3bbO26a6xqW2vbnHzcDJzarD0q3F067H16i6wrTM28PU2+rv8ay6wK3K263F1Kq+x63H17rGysDQ1sDW4bK/xK67wOft8MXX38XT2bvS3+bt773T3s3V2MHW4au4vau7w/Hz9LfHzqi9x6nAza++xKvI2v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJUALAAAAADPA8kDAAj/ABecEWFBQ4cLGAoEoMSwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzZscFFDZYYBCiRIICNoMKHUq0qNGjSJMqXcq0qdOnUKN+xNngAQMFDn5K3cq1q9evYMOKHUu2rNmzERdEqHo1K1C0cOPKnUu3rt27ePOaVcsWq1a9gAMLHky4sOHDiI3yter3beLHkCNLnky5suWli9v+vcy5s+fPoEOLBpy58ejTqFOrXs26NcnSbl3Lnk27tu3bg2Fvxs27t+/fwIPH1O1YuPHjyJMr9018ufPn0KNLh9x8uvXr2LNrl1p9u/fv4MOL/x/Zfbz58+jTay+vvr379/Bts49Pv779+5Ln49/Pv7//s/r9J+CABBZYVIAGJqjgggyGhGCDEEYoIYQPTmjhhRjeV2GGHHboIXgbfijiiCQmF2KJKKaoomwnrujiizBe1mKMNNZoY2Az3qjjjjySlWOPQAYpJGZrMRbbkEgmqSSRfR255JNQRgnTj1JWaeWVEFGJ5ZZcLqlll2CGueOXYpZp5opknqnmmh2myeabcDboZpx01vnfnHbmqWd8eO7p55/j9QnooIReJ2ihiCZqYpGaFafoo5B6d2iklFba2qSWZqopaJhu6umn+TFqGqiklupap6amqmpdqK7q6qs+iv/qJKy01lpYq7bmqmtSuO7q66819QrssMSuJGyxyCbroKy7Kevss0MdC+201DokbbXYPnttttwWu2234Pr6bbjk1jpuueiuem667JK6brvwavpuvPRGOm+9+CJ6b778/rlvvwDb+W/ABL85cMEIm3lwwgx3uXDDEFv5cMQUPzlxxRgPeXHGHPO4cccg1/hxyCS7OHLJKJd4csose7hyyzBf+HLMNFPIrKM15yzmzDr3PCDPPgfNH9BCF10f0UYn7R7SSjd9HtNORw3izVJX7THVVmctMtZad20y116HrTLYYpftMtlmpy0z2mq3bXOTzbot94JQz203a3Xfrfdpee//7fdnff8tuGWBD254ZIUfrvhhiS/uuGCNPy45XpFPbvlclV+uOYBsb+75cpl/LrpXoY9uelSln646U6mv7vpRrb8uu1Cxz277TLXfrrtLue/ue0q9/y78a50Pb3yocON8/PLUFc/884QFD/30E0lP/fXWOo/99nJZzz313n8PffjiM09++cefj/7w6q//e/vu7w5//LfPT//s9t//ev76r85//6f7HwBHJ8ABfq6ABtwcAhN4uQUycHIOfODjIijBxVGwgoe7IAYHp8EN/q2DHtwbCEN4txGScG4mPKHbUqhCtbGwhWZ7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t67Zt2cauCSDuNg1uIQ7m4ZLpooLMpG7XYzbuLqpt5bLFZPLMZvrXZWbuVv2uF/auRhDuuH1uaDrZZibulBhuhTjuuSFuqyrnKLLpbALMbd7XrI7u9G5urxLpLv7u/fqu8LrpMFbvM1DvMhLpce7vAqrvM6rpc0bve4JvdT7bbWbpbnLMNurXtN7vR//a73gi6biO75rWr7m66bZa6XdizDtK2Iplr6hi77yG2/rO6XvSzD5W2LxW7/Feb9QShXf6791cQI5wRg+0WEELBknEAEEoQEhgBAKscCc4QRG0AAFcRAJsRAUbBmFkARbIAheEARIQAJ8IAEdbBmJkANpwAiIwAFs4AAgMMEpPBl6wAOGAAOKwAEKcAEkMMMSEMQSEABEXMRGfMRInMRKvMRM3MRO/MRQHMVSPMVUXMVWfMVYnMVavMVc3MVe/MVgHMZiPMZkXMZmfMZonMZqvMZs3MZNLMRqcAh5MAZuQAZvgAc20AJTUAF8fAB+/MeAHMiCPMiEXMiGfMiInMiK/7zIjNzIjvzIkBzJkjzJlFzJlnzJmJzJmrzJnNzJnvzJoBzKojzKpFzKpnzKiVwBLFAJOhAIQ9AFUdADKnAEP2AHfwAAuJzLurzLvNzLvvzLwBzMwjzMxFzMxnzMyJzMyrzMzNzMzvzM0BzN0jzN1FzN1nzN2JzN2rzN3NzN3vzN4BzOxswFlYACaFAGLhADWnADTdAHdfABH4AA8jzP9FzP9nzP+JzP+rzP/NzP/vzPAB3QAj3QBF3QBn3QCJ3QCr3QDN3QDv3QEB3REj3RFF3RFn3RGJ3RGr3R/JwBHk0HlQAGWCAHkPACMkAFZrAGTDACI2AALv3SMB3TMj3TNP9d0zZ90zid0zq90zzd0z7900Ad1EI91ERd1EZ91Eid1Eq91Ezd1E791FAd1VI91VRd1VZ91TotCVdQCZWwAkXgAzTwBSlQBX4QCU9gAiYwAGq91mzd1m791nAd13I913Rd13Z913id13q913zd137914Ad2II92IRd2IZ92Iid2Iq92Izd2I792JAd2ZI92XYNB1xdCY8ACIMwCTvgCHcQBllgBRMw2hMAAaZ92qid2qq92qzd2q792rAd27I927Rd27Z927id27q927zd277928Ad3MI93MRd3MZ93Mid3Mq93Mzd3M793KtN2hMgBZddCTWwCEpACHuAA2IwA0Ca0AYEEN7iPd7kXd7mfd7ond7qvd7s3d7u/d7wHd/yPd/0Xd/2fd/4nd/6vd/83d/+/d8AHuACPuAEXuAGfuAInuAKzt5xQADVzdVLQARzAAWN4AEeIAAYnuEavuEc3uEe/uEgHuIiPuIkXuImfuIonuIqvuIs3uIu/uIwHuMyPuM0XuM2fuM4nuM6vuM83uM+/uNAHuQlLgQBAQA7]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/bl.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAA88AAAPJCAMAAAAbDOrsAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAcJQTFRFrMbXrMjaqbe9prvGpra+rcnbqcHNrMjZq8TTr8rbtc7d6O/yudHfxNjisczcvtXgpLfAydvjrMnapbfAytzkrcjZv9Xhss3cr8vbq8PTutLfxNniuNDets/eqri9rMXTrsrbtc/dxdnjqsHNsMvcsszcp7vH6O/x4+nrrr/ItMvZ9Pb3rMjYr8nauszUtcfPwdXeuMvVs8bPqLe+ssLI+Pn6scvassnVqrm/yNngytbarbzDx9bcts3ZtcPIr8jYp7e+t9Deqre9vtDX1tzeusbLytviscnYs83dytvhr7vA8/X2q8HOsMfV5+7xqLzHtL/Duc7apbjArsjZscXPrL/IprjBqL/MxdDUp7nBtcrWxNjhq8XWvM/Yu9PfsMDI/v7+qLnBqbi+wNPcudDcvMzSrsPOy9zkvcvQxtjh9fj4rcLOtM7dpre+vdLdts7bprrGpba9ucfNwMnNqsPSrcXTrsfXqLrCtMzbw9Tb6u/xrLrArcrbrcXUqr7HrcfXusbKwNDWwNbhsr/ErrvA5+3wxdffxdPZu9Lf5u3vvdPezdXYwdbhq7i9q7vD8fP0t8fOqL3HqcDNr77Eq8ja////LL4G4QAAAJZ0Uk5T//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AaRLOegAACStJREFUeNrs1QVyFFEARdEeyCAxSBjJTFxxd3d3d5fg7i7BXf5+6bAKftc5S3hVt15SN9hTqraXW/K5P0DckrpCa6m+u39s3haQgZ4bxtXXNuoZstBzk55Bz4CeAT0DegY9A3oG9AzoGdAz6BnQM6BnQM+gZ0DPgJ4BPQN6Bj0Degb0DOgZ9Kxn0DOgZ0DPgJ5Bz4CeAT0Degb0DHoG9AzoGdAz6BnQM6BnQM+AnkHPgJ4BPQN6BvQMegb0DOgZ0DPoGdAzoGdAz4CeQc+AngE9A3oGPesZ9AzoGdAzoGfQM6BnQM+AngE9g54BPQN6BvQMegb0DOgZ0DOgZ9AzoGdAz4CeQc96Bj0Degb0DOgZ9AzoGdAzoGdAz6BnQM+AngE9g54BPQN6BvQM6Bn0DOgZ0DOgZ9CznkHPgJ4BPQN6Bj0Degb0DOgZ0DPoGdAzoGdAz6BnQM+AngE9A3oGPQN6BvQM6Bn0rGfQM6BnQM+AnkHPgJ4BPQN6BvQMegb0DOgZ0DPoGdAzoGdAz4CeQc+AngE9A3oGPesZ9AzoGdAzoGfQM6BnQM+AngE9g54BPQN6BvQMegb0DOgZ0DOgZ9AzoGdAz4CeAT2DngE9A3oG9Ax6BvQM6BnQM6Bn0DOgZ0DPgJ5Bz3oGPQN6BvQM6Bn0DOgZ0DOgZ0DPoGdAz4CeAT2DngE9A3oG9AzoGfQM6BnQM6Bn0LOeQc+AngE9A3oGPQN6BvQM6BnQM+gZ0DOgZ0DPoGdAz4CeAT0DegY9A3oG9AzoGfSsZ9AzoGdAz4CeQc+AngE9A3oG9Ax6BvQM6BnQM+gZ0DOgZ0DPgJ5Bz4CeAT0DegY96xn0DOgZ0DOgZ9AzoGdAz4CeAT2DngE9A3oG9Ax6BvQM6BnQM6Bn0DOgZ0DPgJ5Bz3oGPQN6BvQM6Bn0DOgZ0DOgZ0DPoGdAz4CeAT2DngE9A3oG9AzoGfQM6BnQM6BnQM+gZ0DPgJ4BPYOeAT0Degb0DOgZ9AzoGdAzoGfQs55Bz4CeAT0DegY9A3oG9AzoGdAz6BnQM6BnQM+gZ0DPgJ4BPQN6Bj0Degb0DOgZ9Kxn0DOgZ0DPgJ5Bz4CeAT0Degb0DHoG9AzoGdAz6BnQM6BnQM+AnkHPgJ4BPQN6Bj3rGfQM6BnQM6Bn0DOgZ0DPgJ4BPYOeAT0Degb0DHoG9AzoGdAzoGfQM6BnQM+AnkHPegY9A3oG9AzoGfQM6BnQM6BnQM+gZ0DPgJ4BPYOeAT0Degb0DOgZ9AzoGdAzoGfQs55Bz4CeAT0DegY9A3oG9AzoGdAz6BnQM6BnQM+gZ0DPgJ4BPQN6Bj0Degb0DOgZ0DPoGdAzoGdAz6BnQM+AngE9A3oGPQN6BvQM6Bn0rGfQM6BnQM+AnkHPgJ4BPQN6BvQMegb0DOgZ0DPoGdAzoGdAz4CeQc+AngE9A3oGPesZ9AzoGdAzoGfQM6BnQM+AngE9g54BPQN6BvQMegb0DOgZ0DOgZ9AzoGdAz4CeQc96Bj0Degb0DOgZ9AzoGdAzoGdAz6BnQM+AngE9g54BPQN6BvQM6Bn0DOgZ0DOgZ9CznkHPgJ4BPQN6Bj0Degb0DOgZ0DPoGdAzoGdAz6BnQM+AngE9A3oGPQN6BvQM6Bn0rGfQM6BnQM+AnkHPgJ4BPQN6BvQMegb0DOgZ0DPoGdAzoGdAz4CeQc+AngE9A3oG9Ax6BvQM6BnQM+gZ0DOgZ0DPgJ5Bz4CeAT0DegY96xn0DOgZ0DOgZ9AzoGdAz4CeAT2DngE9A3oG9Ax6BvQM6BnQM6Bn0DOgZ0DPgJ5Bz3oGPQN6BvQM6Bn0DOgZ0DOgZ0DPoGdAz4CeAT2DngE9A3oG9AzoGfQM6BnQM6Bn0LOeQc+AngE9A3oGPQN6BvQM6BnQM+gZ0DOgZ0DPoGdAz4CeAT0DegY9A3oG9AzoGfSsZ9AzoGdAz4CeQc+AngE9A3oG9Ax6BvQM6BnQM+gZ0DOgZ0DPgJ5Bz4CeAT0DegY96xn0DOgZ0DOgZ9AzoGdAz4CeAT2DngE9A3oG9Ax6BvQM6BnQM6Bn0DOgZ0DPgJ4BPYOeAT0Degb0DHoG9AzoGdAzoGfQM6BnQM+AnkHPegY9A3oG9AzoGfQM6BnQM6BnQM+gZ0DPgJ4BPYOeAT0Degb0DOgZ9AzoGdAzoGfQs55Bz4CeAT0DegY9A3oG9AzoGdAz6BnQM6BnQM+gZ0DPgJ4BPQN6Bj0Degb0DOgZ9Kxn0DOgZ0DPgJ5Bz4CeAT0Degb0DHoG9AzoGdAz6BnQM6BnQM+AnkHPgJ4BPQN6Bj3rGfQM6BnQM6Bn0DOgZ0DPgJ4BPYOeAT0Degb0DHoG9AzoGdAzoGfQM6BnQM+AnkHPegY9A3oG9AzoGfQM6BnQM6BnQM+gZ0DPgJ4BPYOeAT0Degb0DOgZ9AzoGdAzoGdAz6BnQM+AngE9g54BPQN6BvQM6Bn0DOgZ0DOgZ9CznkHPgJ4BPQN6Bj0Degb0DOgZ0DPoGdAzoGdAz6BnQM+AngE9A3oGPQN6BvQM6Bn0rGfQM6BnQM+AnkHPgJ4BPQN6BvQMegb0DOgZ0DPoGdAzoGdAz4CeQc+AngE9A3oGPesZ9AzoGdAzoGfQM6BnQM+AngE9g54BPQN6BvQMegb0DOgZ0DOgZ9AzoGdAz4CeQc96Bj0Degb0DOgZ9AzoGdAzoGdAz6BnQM+AngE9g54BPQN6BvQM6Bn0DOgZ0DOgZ9CznkHPgJ4BPQN6Bj0Degb0DOgZ0DPoGdAzoGdAz6BnQM+AngE9A3oGPQN6BvQM6BnQM+gZ+C97LugZstLzxEJr2nO/niELPTf1lKrd5ZZ8zhgQe887NjSUqu16hiz0/Hbz0dcnVm/qe9psDIi954+LL3350Ha1sctBQ/Q9P172btanttpyX1e+OZUD4pT2m1x+/+js9XM3Hi6YvrdYLI4GYlWcloQlr9Ye3718ysaV918kQMSOJWHSxfMzZh9ZuP3Zvc7OMUCkKpXK3SScOnT7x8w5+y5c2dbbOwqI1q+DSQhT16+Yd3Ly/uc/dw4MjASidTPtOXx/+eb30m8PTh8+MCE1HojPcLx7hnsO8z9vGXqy6MzcVddqgFjdqvnXcwhb193Z9bWjYwQQrzV/BRgAKUYs9eGcDMIAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/br.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/br.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAwAAAPJCAMAAAARZjlPAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYNQTFRFrMnaq77Hq7i8p7a9qri9rsnZrsbUrsrbpLa/rsPPq8jZpbW9qre8qbe9q7m//v7+rMbXqsTTpbfApba/qrvCpbnDpra+qsPRpbnFrcnarMLOprzIrMPQvMbKp7nDqsPSqr3GrsfXrsXTqb/LprzHqLnBrMfXprjArbvArcXSqcLRqbe8sMfUsLvAqsHPydHU4ebnrMTTprrEp77MpbjAo7a/qri8pbW+rsfVrMfZq8bVrMLNqr3HrLm/pbnEpLjBuMPGqLi/q7vD1tzf4ubopbjCtsHFrMjYrcjYq7i9u8XJpra9qbnAqL3IqLe9rcfWq8jYp7a80NfaqMDNprvHqsDNqcHPqsXVp73JrMHNqr/L8fP0rL/I4+fpqbm/q8HOqL7LrcfXp73KrMbUq8XU/f39q8PRqbvFrbq+rLm+qLrDrMjZqL/Np7e+sMnYqLa8prW8qbi+qLvGxs/Sqb7Ip73Iqr7HrcPOr8fUrLrArMjarcrbqrrCr8jYr8naq8ja////7sj6uQAAAIF0Uk5T//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AksjjTwAAAQtJREFUeNrs28VaQgEYhOGfcwBJ6bC7u1vs7u7u7kD0nEsXgYU71z7PN6t5N3MHI5qmSdrXTbV1a6Bckvh8sxr87wl8xPFqiCUQ/QMvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4nzD//giYM1OQFNKTjwNTQWFXtz+JDNNsxXp+rCeF9uyN06nzxMDYfsPu08XOuGhR22Xp4UnRQ8l9jdg65txHoeXp3H5jn4y6Vz2VV8+NZdfGOun05K00ZfU2B2eUegnVLh4sBbw+1ThyLHtrxeFIS5vqVIZ0CQeGLRb7nVNZ0HXxWnz2yXnH2aArjqCq3lYpOZt6POJoVSYet10/Xf8WYACiIq1QmLEJbAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/darrowdown.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFgALAIABAIeHav///yH5BAEAAAEALAAAAAAWAAsAAAIchI+pEOsZ4nuxTlXzPbnvDk7g6IwmZp5cmhpsAQA7]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/darrowleft.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwAWAIABAIeHav///yH5BAEAAAEALAAAAAALABYAAAIjjI+AC7rWHIsvtmmTvXBzT4HiKAZkBx6l6mGUK2lcNdNPUgAAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/darrowright.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwAWAIABAIeHav///yH5BAEAAAEALAAAAAALABYAAAIkRI4JlrqN1oNyutqqvDrqHXyYSJZkeKKf17Ggy3CQOqN1eAcFADs=]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/darrowup.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFgALAIABAIeHav///yH5BAEAAAEALAAAAAAWAAsAAAIcjI8AyJ26nAwQzlbrPTnv3k0g6IwjY5pcqrJsAQA7]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/rarrowdown.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFgALAMQeAM/f5q7K28jb5NDg5rnR377V4MPY4rTO3cXZ47jQ3rfQ3sHW4bLM3KzI2tHh56/L29Lh58fb473U4LPN3bbP3q3J27XO3bvT37DL3MTY4r/V4c7f5sze5dTj6P///wAAACH5BAEAAB4ALAAAAAAWAAsAAAVuYCd2zsadaLo5Y+eJgGAsWm3XiyEAoud3G0SBoKBYjhaKglBAbFw+HyRSSEwwj0DggZkkChFIdLzJXA6YSqNRwRwumc14Xj5jtG64fE43WxgMFnp8hAAIEgQEEggAhI4DMjoDjpQdAwNQlI49lCEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/rarrowleft.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwAWAMQeAM/f5q7K28jb5NDg5rnR377V4MPY4rTO3cXZ47jQ3rfQ3sHW4bLM3KzI2tHh56/L29Lh58fb473U4LPN3bbP3q3J27XO3bvT37DL3MTY4r/V4c7f5sze5dTj6P///wAAACH5BAEAAB4ALAAAAAALABYAAAVooCeOZEeenXmKqXpCG+COW4QIzrllRWFspN0lQVhwRoDM5TBRaI6eAWKJwVCeno5AYsFUHpZnZ2AgMAKNQJgzLp/T6+y2+41Hp4fqFepJLptYNEpERjo8PkA6NjgrHjAyjVkpkZKUWSEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/rarrowright.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwAWAMQeAM/f5q7K28jb5NDg5rnR377V4MPY4rTO3cXZ47jQ3rfQ3sHW4bLM3KzI2tHh56/L29Lh58fb473U4LPN3bbP3q3J27XO3bvT37DL3MTY4r/V4c7f5sze5dTj6P///wAAACH5BAEAAB4ALAAAAAALABYAAAVlYOeNZNmJpXmmZAdsEOs5AhJt7GYURYaXnAUhcfEBNYrJoQggcTQUDGaJGIyelkcFY5EIRNhAI8AgGAad8Lh8Tmuy2+7X84xOL9UrUsl0ColGJDo8gSQ0Nj8mLzEsJyiNj40yJCEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/rarrowup.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFgALAMQeAM/f5q7K28jb5NDg5rnR377V4MPY4rTO3cXZ47jQ3rfQ3sHW4bLM3KzI2tHh56/L29Lh58fb473U4LPN3bbP3q3J27XO3bvT37DL3MTY4r/V4c7f5sze5dTj6P///wAAACH5BAEAAB4ALAAAAAAWAAsAAAVuoCeOZNeRaFoOw6m+3iAYhjDAKYBIBCEhANxok7lYGAzLJbMREi8HTCCAOSybr2e00mhUqlcVJFJITDCP6QMzSRQiEFRngygQFBSL3kJREAoIGy4eJgAzCxqJiokLNQAmhCYdDhsclpeYGw6SHSEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/tl.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhzwMMAOZCAMXZ47/V4a/L27bP3rPN3brS373U4LLN3KzI2s7f5qzJ2sHW4bXP3bfQ3sbZ463K27HM3LvS37DL3NLh59Dg5sjb5NHh58LX4q7K28rc5MPY4sDW4ejv8szd5c/f5s3e5cnb5Mfa49Pi6LzT4P3+/vL298ba47vT3+Pt8NPh58vd5NTi6Pn7/Ozy9P7+/vj6+8ze5fH2+Ozy9eHr7+Ls8Orx9M7f5enw88TZ4r7V4LXO3a/K27LM3LnR363J28vd5e3z9avI2v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAEIALAAAAADPAwwAAAf/gEKCg0IuMUCIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGZMoRCLDQrExQJHzAdP8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6cwdhDciFgk/ICEmAPY4+Pn6+/z9/v8AAwocSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQwq0NwjFBA8/KgDQsGBDgJc5YsqcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rd+VJQjQkJMji4EMDAiAgFCvRYy7at27dw/+PKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnkzZblohL0R4yABggYEIPRoMGM2AgY7TqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0F+XHiBkhoUfDjyH1kGAwIEDPMKLH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqGB7B5CQQgIVXGBADwMQAIEEEgggwA4cdujhhyCGKOKIJJZo4okopqjiiiy26OKLMMYo44w01mjjjTjmqOOOPPbo449ABinkkEQWeaKGJVDwA8wAAUTQgIUCYPCAD1RWaeWVWGap5ZZcdunll2CGKeaYZJZp5plopqnmmmy26eabcMYp55x01mnnnXjmqeeefPY5Zgs2gKDBhDpAIMADCiiAAAJBNOroo5BGKumklFZq6aWYZqrpppx26umnoIYq6qiklmrqqaimquqqrLbq6quwxirrrLTWaiumi3LwQQgLnPCkBBgocOuwxBZr7LHIJqvsssw26+yz0EYr7bSfcqCCAxsUMMABhwpL7bfghivuuOSWa+656Kar7rqQBgIAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/tl.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAA88AAAAMCAMAAABrwX92AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMlQTFRFxdnjv9Xhr8vbts/es83dutLfvdTgss3crMjazt/mrMnawdbhtc/dt9Dextnjrcrbsczcu9LfsMvc0uHn0ODmyNvk0eHnwtfirsrbytzkw9jiwNbh6O/yzN3lz9/mzd7lydvkx9rj0+LovNPg/f7+8vb3xtrju9Pf4+3w0+Hny93k1OLo+fv87PL0/v7++Pr7zN7l8fb47PL14evv4uzw6vH0zt/l6fDzxNnivtXgtc7dr8rbsszcudHfrcnby93l7fP1q8ja////pkJuwAAAAEN0Uk5T////////////////////////////////////////////////////////////////////////////////////////AEFiBO8AAADcSURBVHja7NUHTsNAFITht9XdcUnvCZ0UejMsC77/obDCKZ403xFG+jXU/js+/AAAb490qnn/vKv70ep+4QGArcWp57ftMPLrzSURvQMAU13AXc7X9dIPaJrMhBAfAMCUEF3PL3U0yUfCnpXGOADgyhhq77bLCSW2dJlSKk0bAGApTRW1T0OfJ9ZljdZB8AUAbAV0fhMNRtYpXVSVlJ8AwJWUdNH3JMpMF3Lc+wYAzujwup5a1xSyF8dh+AsAXIUhzVeb5CrT1TjGHADM0fw2nxkVdPeMMQCY+xNgAGxG2LimrQDhAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/tr.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhDAAyAOZsAK7K26zJ2qu+x7DL3LLN3K3J26+8wbrS37bP3rjQ3rDJ2K7Dz8DW4bHJ2LrR3cjb5MXY4Mnb48nb4bjK0rDFz7TAxb3S3rHCyrbI0bvT37zT4LfO3LHM3LrO17fO2rC/xbfM1rvS38ze5bTK1c3d5LfQ3rTH0bLG0L7N0sDR2MHO1MnZ37TO3bbFy7LL28DV4LHK2q/AybPJ1a/Ez6u7w8nX3ay/yKq7wrDI1LvQ3LXM2sTY4b7S3K27wL7V4L3Q17O/xa2/yMLU3c/e5LTM27vM0q67wK/K28PX4bPN3bDK2q6+xLjFyr3Kz7XO3bPDysTU26/L26y8w83c4rjGy8fa48LR1628w66/yMHV3rLK2bHI1cLX4rPAxcbV2rDH1MbZ48zd5Kq+x63Dzqq6wq3K26y6wKzI2q/I2K/H1K/J2qvI2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGwALAAAAAAMADIAAAf9gGyCg4SCImEkQ1M1hWxgVQ8REiteKoQMDFxIOxBQVk2DBxkaPi9ZQikoTIIIJQkHIRY8P0VUQGwESSwICQ45HRMtFWxRAxwEThseIBhPXWwFAAADBEQ6IyYXHwZnAdEDLloyJzFLBmtrZwVHMA1bFFhX5+gBAEoKODNBUkboa/VqFHxZYINGD38A0aRZIOCGGYRl1CgcI4DMQ3RnIk6seDGdxjQULfrLKBGkGJEYP4452ZHkRJYjVcJMWXIlSo81Z+J8edOlyZ4ygeYUyrNlUKNDkRaNmZTpUppPd/5UOtVpVahXpdqkutVqV6xfter0GZbs2KNezzYFq7ZoIAA7]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/cluetip/tr.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAwAAAAyCAMAAABf28oIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAUdQTFRFrsrbrMnaq77HsMvcss3crcnbr7zButLfts/euNDesMnYrsPPwNbhscnYutHdyNvkxdjgydvjydvhuMrSsMXPtMDFvdLescLKtsjRu9PfvNPgt87csczcus7Xt87asL/Ft8zWu9LfzN7ltMrVzd3kt9DetMfRssbQvs3SwNHYwc7UydnftM7dtsXLssvbwNXgscrar8DJs8nVr8TPq7vDydfdrL/IqrvCsMjUu9DctczaxNjhvtLcrbvAvtXgvdDXs7/Frb/IwtTdz97ktMzbu8zSrrvAr8rbw9fhs83dsMrarr7EuMXKvcrPtc7ds8PKxNTbr8vbrLzDzdziuMbLx9rjwtHXrbzDrr/IwdXessrZscjVwtfis8DFxtXasMfUxtnjzN3kqr7HrcPOqrrCrcrbrLrArMjar8jYr8fUr8naq8jaAAAAZmJJ4wAAAG10Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AC221EsAAACxSURBVHjaYshBAgxKiSrOwaZQTkIov6CQdpwWmMPDE+NhLRAQ5gvisEtK2elHOmlq+AA5HKqc7IpiNvauIQ45DCyeOhycfJaywrqiOQyBzDIsftJyChL+sTkMrAwMzCwuVspq4vJsDOmMrAzMelFG6obebAzZ2ems7ga80SIR4SBONiODF5eFsWOQG4STxRXPbWZiC+VkZHIzmaeBOalATjJTCpiTToCTNMoZ7ByAAAMAMXnTwpvpjk4AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/desc.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFQAEAIAAAP///////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNC4xLWMwMzQgNDYuMjcyOTc2LCBTYXQgSmFuIDI3IDIwMDcgMjI6Mzc6MzcgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhhcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx4YXA6Q3JlYXRvclRvb2w+QWRvYmUgRmlyZXdvcmtzIENTMzwveGFwOkNyZWF0b3JUb29sPgogICAgICAgICA8eGFwOkNyZWF0ZURhdGU+MjAwNy0wMS0wNFQyMjoxMDozMVo8L3hhcDpDcmVhdGVEYXRlPgogICAgICAgICA8eGFwOk1vZGlmeURhdGU+MjAwOS0wMS0xN1QxODozMjoyMFo8L3hhcDpNb2RpZnlEYXRlPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9naWY8L2RjOmZvcm1hdD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PAA6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQBBwABACwAAAAAFQAEAAACDYyPAcmtsJyDVDKKWQEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/lightbox-blank.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/lightbox-btn-close.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQgAWANUAAP////39/fr6+vj4+PX19fDw8Ovr6+np6ebm5uTk5N/f39zc3Nra2tfX19XV1dLS0svLy8jIyL6+vre3t7S0tLKysq+vr6ioqKOjo56enpubm5aWlpGRkY+Pj4yMjIeHh4KCgoCAgH19fXZ2dnNzc3FxcW5ubmlpaWdnZ2RkZGJiYl9fX11dXVpaWlVVVVNTU1BQUE5OTktLS0lJSUZGRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAHAP8ALAAAAABCABYAAAb/QIBwSCwaj8ikcslsOp/QqLQZmFqvRAHngYxsBEaCw3EYHhwE5IFykZSLZ7RQPK4PBxzaimGEtGgcaXMZL4UvH0IXLw5HEoaFF0MEIo8RAA6PhUMWNC8xKw1EES0xLzQYQ5QfY2yJi0YRh2UKlBRCHC8XDhEZZZgcdYxCBiQzLzIqC0KjpTMhBUIULxlHisJEKCiCAAQoLEIvJEaYkUcGIzKeKAt+pTQgA0Pe20TWRQrTRYSMLyjjuUnOGYOBgtQxENsOHEJij4g0S6IA4gpEBJOICxjfEDmXDgaMYx/iDSHH8FU9kyMBTnrBguKlTNeIFCjx0ZMGMBUBVkPpKubL2XKXKLFQ8HNJgRM1Y3Qwgo9DSZ+ObBFxJKGIIxFFkywwUcrjMQ1ViLDwt9OnQkREcGkcQuJF1iMLUKSLkWLFRxlgTwK91NMIJaJC8GE14u1tkQUr0skgkSCCV7xhubUF5gCXJUUcMGJkpIAFCwkOKHgGnCHDmA/5LGoGyiCxCxkjDAiZ8DjvHEqFWFADoChTOQcoDKEADAC1od2YMglhwEIxCdlDKsjwSKMCnDFQFJAxEqdJgQ4yZjw3UiGGjBN8sKjP4mH8EQsnEKyfP0QAvSIB5NPfz7+/+iAAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/lightbox-btn-next.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhPwAgAOYAAP////39/fv7+/n5+ff39/X19fPz8/Hx8e/v7+3t7evr6+np6efn5+bm5uTk5OLi4uDg4N7e3tzc3NjY2NbW1tLS0tDQ0M7OzsrKysjIyMbGxsLCwsDAwLy8vLq6ura2trS0tLOzs7Gxsa+vr62traurq6mpqaenp6WlpaOjo52dnZubm5mZmZGRkY+Pj42NjYuLi4eHh4WFhYODg4GBgYCAgH5+fnp6enh4eHZ2dnR0dHBwcG5ubmxsbGpqamhoaGZmZmRkZGJiYmBgYF5eXlxcXFpaWlhYWFZWVlRUVFJSUlBQUE5OTk1NTUtLS0lJSUdHR0VFRUNDQ////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAFMALAAAAAA/ACAAAAf/gFNTAISFhoeIiYqLjIiDjZCRkpOUlZaXmJmam5ydnp+goaKjpKWmp6igARomF4UCHCIABiAlJrcnDxQoroQKJRsOKSYlIyUnIASeAS5PQxGEAzZFAAxCSUFCQkUXDD1GEADMTRgWSEJGSkNDOAfLLUlMMsoDNUQAC0UzCQz9yhhNYATIwGRFgAENFqh4UmHBggDLXPx4wQQEAAE07i0w8iIRCyUhdvBAYKgElAWhmPlogOOIAwAZ8Q3hUQJFChIFCBG4scRIhUMmoDRIKZHAhCTzYi4IYkSHyBruxM14UiScoaBDVUk8ECBFkxIxhuArIgNBAgUKIAIQoeSEkBtRiQlhJfqDZIEeRYIAwWekBaIIR2oA+PDkxFWhdEkCMLfkBz4iOTpI9vBgAA0kEgAMuJFkQqG5qlrsiJtCSQ98QJpAWS3lhAgnhglRODJabpSsoAgQUCtOt7gDCMwmSFDgQFpDBxYIIFRAwfJU0CkFEBCgunXr0TXxzs69u/fv4MOLdzRekqDykAIBADs=]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/lightbox-btn-prev.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhPwAgAOYAAP////39/fv7+/n5+fj4+Pb29vT09PLy8vDw8O7u7urq6unp6efn5+Xl5ePj4+Hh4d/f393d3dvb29ra2tjY2NbW1tTU1NDQ0M7OzszMzMvLy8nJycfHx8XFxcPDw8HBwb+/v729vby8vLq6uri4uLa2trKysq6urq2traurq6mpqaenp6Ojo6GhoZ+fn56enpycnJqampiYmJSUlJCQkI+Pj42NjYWFhYODg4GBgYCAgHx8fHp6enh4eHZ2dnR0dHJycnFxcW9vb21tbWtra2lpaWVlZWNjY2JiYmBgYF5eXlxcXFpaWlhYWFZWVlRUVFNTU1FRUU9PT01NTUtLS0lJSUdHR0JCQkBAQP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAFkALAAAAAA/ACAAAAf/gACCg4SFhoeIiYqGWVmLj5CRj46SlZaXmJmam5ydnp+goaKjpKWmp6ipmwMYICAfFQSCE64hGQuCBx4fvLwMGhwBgwMbG6IFOVFJyzsQAC1QSkpIRikAEUtOS0xMShc1URKDE0o2xzpCBQclVDYCLUsSAxFBTRQOUjQQFPwBH1MuBqmoguEcEAEAAjDxYYCFkgaCVkT5wGDKikIIiAwpAKCAjyDCQhXQEQRBgRJWbARgsUTEhBBHkkBw8ARHiBEkPCCM8UQDAAtVRIwqgCOKkiVJekwAwAKKkSVPgHQAIGGJkiJGjuAYAGDCFBkAZCRhMDSHEQ8dKMh6tkQDCiojnQRJiDLDAYQIDkLuEALhyAyE534YcpFEgQAfSA5QnWLNEIcpN5IUHKoDCFdCLpQ4ACCCyotrUWhUGG0hgaAEQ6rwCHmMB5HLg2A8cWagR5UND55YucIbiwlBAWBcOVEqwIIGrAUpkLBWQYUFAyRMmD4dwaADFDiq2n6JwIABAsIL+E4gOfdEAgKoX7/+vPv38OPLn0+//iVK9hU1CgQAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/lightbox-ico-loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/thickbox-ico-loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/imgs/wait.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhKwALAPEAADc8QP///5ianP///yH/C05FVFNDQVBFMi4wAwEAAAAh/h1CdWlsdCB3aXRoIEdJRiBNb3ZpZSBHZWFyIDQuMAAh/hVNYWRlIGJ5IEFqYXhMb2FkLmluZm8AIfkECQoAAAAsAAAAACsACwAAAjKEjgjLltnYg/PFChveVvPLheA2hlhZoWYnfd6avqcMZy1J14fKLvrEs/k+uKAgMkwVAAAh+QQJCgAAACwAAAAAKwALAAACPcSOCMsgD2FjsZqEx6x885hh3veMZJiYn8qhSkNKcCy4B2vNsa3pJA6yAWUUGm9Y8n2Oyk7T4posYlLHrwAAIfkECQoAAAAsAAAAACsACwAAAj2EjgjLMA9hY6maalvcb+IPChO3eeF5jKTUoKi6DqYLwutMYzaJ58nO6flSmpisNcwwjEfK6fKZLGJSqK4AACH5BAkKAAAALAAAAAArAAsAAAJAhI4Iy5bZ2JiUugcbfrH6uWVMqDSfRx5RKnQnxa6p+w6xNpu1nY/9suORZENd7eYrSnbIRRMQvGAizhAV+gIUAAA7AAAAAAAAAAAA]]></data>
	</file>
	<file>
	  <filename>/lib/jquery-1.4.2.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohCiAqIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkgdjEuNC4yCiAqIGh0dHA6Ly9qcXVlcnkuY29tLwogKgogKiBDb3B5cmlnaHQgMjAxMCwgSm9obiBSZXNpZwogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy4KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBJbmNsdWRlcyBTaXp6bGUuanMKICogaHR0cDovL3NpenpsZWpzLmNvbS8KICogQ29weXJpZ2h0IDIwMTAsIFRoZSBEb2pvIEZvdW5kYXRpb24KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCwgQlNELCBhbmQgR1BMIExpY2Vuc2VzLgogKgogKiBEYXRlOiBTYXQgRmViIDEzIDIyOjMzOjQ4IDIwMTAgLTA1MDAKICovCihmdW5jdGlvbihBLHcpe2Z1bmN0aW9uIG1hKCl7aWYoIWMuaXNSZWFkeSl7dHJ5e3MuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goYSl7c2V0VGltZW91dChtYSwxKTtyZXR1cm59Yy5yZWFkeSgpfX1mdW5jdGlvbiBRYShhLGIpe2Iuc3JjP2MuYWpheCh7dXJsOmIuc3JjLGFzeW5jOmZhbHNlLGRhdGFUeXBlOiJzY3JpcHQifSk6Yy5nbG9iYWxFdmFsKGIudGV4dHx8Yi50ZXh0Q29udGVudHx8Yi5pbm5lckhUTUx8fCIiKTtiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKX1mdW5jdGlvbiBYKGEsYixkLGYsZSxqKXt2YXIgaT1hLmxlbmd0aDtpZih0eXBlb2YgYj09PSJvYmplY3QiKXtmb3IodmFyIG8gaW4gYilYKGEsbyxiW29dLGYsZSxkKTtyZXR1cm4gYX1pZihkIT09dyl7Zj0haiYmZiYmYy5pc0Z1bmN0aW9uKGQpO2ZvcihvPTA7bzxpO28rKyllKGFbb10sYixmP2QuY2FsbChhW29dLG8sZShhW29dLGIpKTpkLGopO3JldHVybiBhfXJldHVybiBpPwplKGFbMF0sYik6d31mdW5jdGlvbiBKKCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCl9ZnVuY3Rpb24gWSgpe3JldHVybiBmYWxzZX1mdW5jdGlvbiBaKCl7cmV0dXJuIHRydWV9ZnVuY3Rpb24gbmEoYSxiLGQpe2RbMF0udHlwZT1hO3JldHVybiBjLmV2ZW50LmhhbmRsZS5hcHBseShiLGQpfWZ1bmN0aW9uIG9hKGEpe3ZhciBiLGQ9W10sZj1bXSxlPWFyZ3VtZW50cyxqLGksbyxrLG4scjtpPWMuZGF0YSh0aGlzLCJldmVudHMiKTtpZighKGEubGl2ZUZpcmVkPT09dGhpc3x8IWl8fCFpLmxpdmV8fGEuYnV0dG9uJiZhLnR5cGU9PT0iY2xpY2siKSl7YS5saXZlRmlyZWQ9dGhpczt2YXIgdT1pLmxpdmUuc2xpY2UoMCk7Zm9yKGs9MDtrPHUubGVuZ3RoO2srKyl7aT11W2tdO2kub3JpZ1R5cGUucmVwbGFjZShPLCIiKT09PWEudHlwZT9mLnB1c2goaS5zZWxlY3Rvcik6dS5zcGxpY2Uoay0tLDEpfWo9YyhhLnRhcmdldCkuY2xvc2VzdChmLGEuY3VycmVudFRhcmdldCk7bj0wO2ZvcihyPQpqLmxlbmd0aDtuPHI7bisrKWZvcihrPTA7azx1Lmxlbmd0aDtrKyspe2k9dVtrXTtpZihqW25dLnNlbGVjdG9yPT09aS5zZWxlY3Rvcil7bz1qW25dLmVsZW07Zj1udWxsO2lmKGkucHJlVHlwZT09PSJtb3VzZWVudGVyInx8aS5wcmVUeXBlPT09Im1vdXNlbGVhdmUiKWY9YyhhLnJlbGF0ZWRUYXJnZXQpLmNsb3Nlc3QoaS5zZWxlY3RvcilbMF07aWYoIWZ8fGYhPT1vKWQucHVzaCh7ZWxlbTpvLGhhbmRsZU9iajppfSl9fW49MDtmb3Iocj1kLmxlbmd0aDtuPHI7bisrKXtqPWRbbl07YS5jdXJyZW50VGFyZ2V0PWouZWxlbTthLmRhdGE9ai5oYW5kbGVPYmouZGF0YTthLmhhbmRsZU9iaj1qLmhhbmRsZU9iajtpZihqLmhhbmRsZU9iai5vcmlnSGFuZGxlci5hcHBseShqLmVsZW0sZSk9PT1mYWxzZSl7Yj1mYWxzZTticmVha319cmV0dXJuIGJ9fWZ1bmN0aW9uIHBhKGEsYil7cmV0dXJuImxpdmUuIisoYSYmYSE9PSIqIj9hKyIuIjoiIikrYi5yZXBsYWNlKC9cLi9nLCJgIikucmVwbGFjZSgvIC9nLAoiJiIpfWZ1bmN0aW9uIHFhKGEpe3JldHVybiFhfHwhYS5wYXJlbnROb2RlfHxhLnBhcmVudE5vZGUubm9kZVR5cGU9PT0xMX1mdW5jdGlvbiByYShhLGIpe3ZhciBkPTA7Yi5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcy5ub2RlTmFtZT09PShhW2RdJiZhW2RdLm5vZGVOYW1lKSl7dmFyIGY9Yy5kYXRhKGFbZCsrXSksZT1jLmRhdGEodGhpcyxmKTtpZihmPWYmJmYuZXZlbnRzKXtkZWxldGUgZS5oYW5kbGU7ZS5ldmVudHM9e307Zm9yKHZhciBqIGluIGYpZm9yKHZhciBpIGluIGZbal0pYy5ldmVudC5hZGQodGhpcyxqLGZbal1baV0sZltqXVtpXS5kYXRhKX19fSl9ZnVuY3Rpb24gc2EoYSxiLGQpe3ZhciBmLGUsajtiPWImJmJbMF0/YlswXS5vd25lckRvY3VtZW50fHxiWzBdOnM7aWYoYS5sZW5ndGg9PT0xJiZ0eXBlb2YgYVswXT09PSJzdHJpbmciJiZhWzBdLmxlbmd0aDw1MTImJmI9PT1zJiYhdGEudGVzdChhWzBdKSYmKGMuc3VwcG9ydC5jaGVja0Nsb25lfHwhdWEudGVzdChhWzBdKSkpe2U9CnRydWU7aWYoaj1jLmZyYWdtZW50c1thWzBdXSlpZihqIT09MSlmPWp9aWYoIWYpe2Y9Yi5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Yy5jbGVhbihhLGIsZixkKX1pZihlKWMuZnJhZ21lbnRzW2FbMF1dPWo/ZjoxO3JldHVybntmcmFnbWVudDpmLGNhY2hlYWJsZTplfX1mdW5jdGlvbiBLKGEsYil7dmFyIGQ9e307Yy5lYWNoKHZhLmNvbmNhdC5hcHBseShbXSx2YS5zbGljZSgwLGIpKSxmdW5jdGlvbigpe2RbdGhpc109YX0pO3JldHVybiBkfWZ1bmN0aW9uIHdhKGEpe3JldHVybiJzY3JvbGxUbyJpbiBhJiZhLmRvY3VtZW50P2E6YS5ub2RlVHlwZT09PTk/YS5kZWZhdWx0Vmlld3x8YS5wYXJlbnRXaW5kb3c6ZmFsc2V9dmFyIGM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IGMuZm4uaW5pdChhLGIpfSxSYT1BLmpRdWVyeSxTYT1BLiQscz1BLmRvY3VtZW50LFQsVGE9L15bXjxdKig8W1x3XFddKz4pW14+XSokfF4jKFtcdy1dKykkLyxVYT0vXi5bXjojXFtcLixdKiQvLFZhPS9cUy8sCldhPS9eKFxzfFx1MDBBMCkrfChcc3xcdTAwQTApKyQvZyxYYT0vXjwoXHcrKVxzKlwvPz4oPzo8XC9cMT4pPyQvLFA9bmF2aWdhdG9yLnVzZXJBZ2VudCx4YT1mYWxzZSxRPVtdLEwsJD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGFhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksYmE9QXJyYXkucHJvdG90eXBlLnB1c2gsUj1BcnJheS5wcm90b3R5cGUuc2xpY2UseWE9QXJyYXkucHJvdG90eXBlLmluZGV4T2Y7Yy5mbj1jLnByb3RvdHlwZT17aW5pdDpmdW5jdGlvbihhLGIpe3ZhciBkLGY7aWYoIWEpcmV0dXJuIHRoaXM7aWYoYS5ub2RlVHlwZSl7dGhpcy5jb250ZXh0PXRoaXNbMF09YTt0aGlzLmxlbmd0aD0xO3JldHVybiB0aGlzfWlmKGE9PT0iYm9keSImJiFiKXt0aGlzLmNvbnRleHQ9czt0aGlzWzBdPXMuYm9keTt0aGlzLnNlbGVjdG9yPSJib2R5Ijt0aGlzLmxlbmd0aD0xO3JldHVybiB0aGlzfWlmKHR5cGVvZiBhPT09InN0cmluZyIpaWYoKGQ9VGEuZXhlYyhhKSkmJgooZFsxXXx8IWIpKWlmKGRbMV0pe2Y9Yj9iLm93bmVyRG9jdW1lbnR8fGI6cztpZihhPVhhLmV4ZWMoYSkpaWYoYy5pc1BsYWluT2JqZWN0KGIpKXthPVtzLmNyZWF0ZUVsZW1lbnQoYVsxXSldO2MuZm4uYXR0ci5jYWxsKGEsYix0cnVlKX1lbHNlIGE9W2YuY3JlYXRlRWxlbWVudChhWzFdKV07ZWxzZXthPXNhKFtkWzFdXSxbZl0pO2E9KGEuY2FjaGVhYmxlP2EuZnJhZ21lbnQuY2xvbmVOb2RlKHRydWUpOmEuZnJhZ21lbnQpLmNoaWxkTm9kZXN9cmV0dXJuIGMubWVyZ2UodGhpcyxhKX1lbHNle2lmKGI9cy5nZXRFbGVtZW50QnlJZChkWzJdKSl7aWYoYi5pZCE9PWRbMl0pcmV0dXJuIFQuZmluZChhKTt0aGlzLmxlbmd0aD0xO3RoaXNbMF09Yn10aGlzLmNvbnRleHQ9czt0aGlzLnNlbGVjdG9yPWE7cmV0dXJuIHRoaXN9ZWxzZSBpZighYiYmL15cdyskLy50ZXN0KGEpKXt0aGlzLnNlbGVjdG9yPWE7dGhpcy5jb250ZXh0PXM7YT1zLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO3JldHVybiBjLm1lcmdlKHRoaXMsCmEpfWVsc2UgcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHxUKS5maW5kKGEpOmMoYikuZmluZChhKTtlbHNlIGlmKGMuaXNGdW5jdGlvbihhKSlyZXR1cm4gVC5yZWFkeShhKTtpZihhLnNlbGVjdG9yIT09dyl7dGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yO3RoaXMuY29udGV4dD1hLmNvbnRleHR9cmV0dXJuIGMubWFrZUFycmF5KGEsdGhpcyl9LHNlbGVjdG9yOiIiLGpxdWVyeToiMS40LjIiLGxlbmd0aDowLHNpemU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gUi5jYWxsKHRoaXMsMCl9LGdldDpmdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD90aGlzLnRvQXJyYXkoKTphPDA/dGhpcy5zbGljZShhKVswXTp0aGlzW2FdfSxwdXNoU3RhY2s6ZnVuY3Rpb24oYSxiLGQpe3ZhciBmPWMoKTtjLmlzQXJyYXkoYSk/YmEuYXBwbHkoZixhKTpjLm1lcmdlKGYsYSk7Zi5wcmV2T2JqZWN0PXRoaXM7Zi5jb250ZXh0PXRoaXMuY29udGV4dDtpZihiPT09CiJmaW5kIilmLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrKHRoaXMuc2VsZWN0b3I/IiAiOiIiKStkO2Vsc2UgaWYoYilmLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3IrIi4iK2IrIigiK2QrIikiO3JldHVybiBmfSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGMuZWFjaCh0aGlzLGEsYil9LHJlYWR5OmZ1bmN0aW9uKGEpe2MuYmluZFJlYWR5KCk7aWYoYy5pc1JlYWR5KWEuY2FsbChzLGMpO2Vsc2UgUSYmUS5wdXNoKGEpO3JldHVybiB0aGlzfSxlcTpmdW5jdGlvbihhKXtyZXR1cm4gYT09PS0xP3RoaXMuc2xpY2UoYSk6dGhpcy5zbGljZShhLCthKzEpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhSLmFwcGx5KHRoaXMsYXJndW1lbnRzKSwic2xpY2UiLFIuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYy5tYXAodGhpcywKZnVuY3Rpb24oYixkKXtyZXR1cm4gYS5jYWxsKGIsZCxiKX0pKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8YyhudWxsKX0scHVzaDpiYSxzb3J0OltdLnNvcnQsc3BsaWNlOltdLnNwbGljZX07Yy5mbi5pbml0LnByb3RvdHlwZT1jLmZuO2MuZXh0ZW5kPWMuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGE9YXJndW1lbnRzWzBdfHx7fSxiPTEsZD1hcmd1bWVudHMubGVuZ3RoLGY9ZmFsc2UsZSxqLGksbztpZih0eXBlb2YgYT09PSJib29sZWFuIil7Zj1hO2E9YXJndW1lbnRzWzFdfHx7fTtiPTJ9aWYodHlwZW9mIGEhPT0ib2JqZWN0IiYmIWMuaXNGdW5jdGlvbihhKSlhPXt9O2lmKGQ9PT1iKXthPXRoaXM7LS1ifWZvcig7YjxkO2IrKylpZigoZT1hcmd1bWVudHNbYl0pIT1udWxsKWZvcihqIGluIGUpe2k9YVtqXTtvPWVbal07aWYoYSE9PW8paWYoZiYmbyYmKGMuaXNQbGFpbk9iamVjdChvKXx8Yy5pc0FycmF5KG8pKSl7aT1pJiYoYy5pc1BsYWluT2JqZWN0KGkpfHwKYy5pc0FycmF5KGkpKT9pOmMuaXNBcnJheShvKT9bXTp7fTthW2pdPWMuZXh0ZW5kKGYsaSxvKX1lbHNlIGlmKG8hPT13KWFbal09b31yZXR1cm4gYX07Yy5leHRlbmQoe25vQ29uZmxpY3Q6ZnVuY3Rpb24oYSl7QS4kPVNhO2lmKGEpQS5qUXVlcnk9UmE7cmV0dXJuIGN9LGlzUmVhZHk6ZmFsc2UscmVhZHk6ZnVuY3Rpb24oKXtpZighYy5pc1JlYWR5KXtpZighcy5ib2R5KXJldHVybiBzZXRUaW1lb3V0KGMucmVhZHksMTMpO2MuaXNSZWFkeT10cnVlO2lmKFEpe2Zvcih2YXIgYSxiPTA7YT1RW2IrK107KWEuY2FsbChzLGMpO1E9bnVsbH1jLmZuLnRyaWdnZXJIYW5kbGVyJiZjKHMpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpfX0sYmluZFJlYWR5OmZ1bmN0aW9uKCl7aWYoIXhhKXt4YT10cnVlO2lmKHMucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpcmV0dXJuIGMucmVhZHkoKTtpZihzLmFkZEV2ZW50TGlzdGVuZXIpe3MuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsCkwsZmFsc2UpO0EuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYy5yZWFkeSxmYWxzZSl9ZWxzZSBpZihzLmF0dGFjaEV2ZW50KXtzLmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEwpO0EuYXR0YWNoRXZlbnQoIm9ubG9hZCIsYy5yZWFkeSk7dmFyIGE9ZmFsc2U7dHJ5e2E9QS5mcmFtZUVsZW1lbnQ9PW51bGx9Y2F0Y2goYil7fXMuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsJiZhJiZtYSgpfX19LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuICQuY2FsbChhKT09PSJbb2JqZWN0IEZ1bmN0aW9uXSJ9LGlzQXJyYXk6ZnVuY3Rpb24oYSl7cmV0dXJuICQuY2FsbChhKT09PSJbb2JqZWN0IEFycmF5XSJ9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oYSl7aWYoIWF8fCQuY2FsbChhKSE9PSJbb2JqZWN0IE9iamVjdF0ifHxhLm5vZGVUeXBlfHxhLnNldEludGVydmFsKXJldHVybiBmYWxzZTtpZihhLmNvbnN0cnVjdG9yJiYhYWEuY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhYWEuY2FsbChhLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwKImlzUHJvdG90eXBlT2YiKSlyZXR1cm4gZmFsc2U7dmFyIGI7Zm9yKGIgaW4gYSk7cmV0dXJuIGI9PT13fHxhYS5jYWxsKGEsYil9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpcmV0dXJuIGZhbHNlO3JldHVybiB0cnVlfSxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBhO30scGFyc2VKU09OOmZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09InN0cmluZyJ8fCFhKXJldHVybiBudWxsO2E9Yy50cmltKGEpO2lmKC9eW1xdLDp7fVxzXSokLy50ZXN0KGEucmVwbGFjZSgvXFwoPzpbIlxcXC9iZm5ydF18dVswLTlhLWZBLUZdezR9KS9nLCJAIikucmVwbGFjZSgvIlteIlxcXG5ccl0qInx0cnVlfGZhbHNlfG51bGx8LT9cZCsoPzpcLlxkKik/KD86W2VFXVsrXC1dP1xkKyk/L2csIl0iKS5yZXBsYWNlKC8oPzpefDp8LCkoPzpccypcWykrL2csIiIpKSlyZXR1cm4gQS5KU09OJiZBLkpTT04ucGFyc2U/QS5KU09OLnBhcnNlKGEpOihuZXcgRnVuY3Rpb24oInJldHVybiAiKwphKSkoKTtlbHNlIGMuZXJyb3IoIkludmFsaWQgSlNPTjogIithKX0sbm9vcDpmdW5jdGlvbigpe30sZ2xvYmFsRXZhbDpmdW5jdGlvbihhKXtpZihhJiZWYS50ZXN0KGEpKXt2YXIgYj1zLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fHMuZG9jdW1lbnRFbGVtZW50LGQ9cy5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtkLnR5cGU9InRleHQvamF2YXNjcmlwdCI7aWYoYy5zdXBwb3J0LnNjcmlwdEV2YWwpZC5hcHBlbmRDaGlsZChzLmNyZWF0ZVRleHROb2RlKGEpKTtlbHNlIGQudGV4dD1hO2IuaW5zZXJ0QmVmb3JlKGQsYi5maXJzdENoaWxkKTtiLnJlbW92ZUNoaWxkKGQpfX0sbm9kZU5hbWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpPT09Yi50b1VwcGVyQ2FzZSgpfSxlYWNoOmZ1bmN0aW9uKGEsYixkKXt2YXIgZixlPTAsaj1hLmxlbmd0aCxpPWo9PT13fHxjLmlzRnVuY3Rpb24oYSk7aWYoZClpZihpKWZvcihmIGluIGEpe2lmKGIuYXBwbHkoYVtmXSwKZCk9PT1mYWxzZSlicmVha31lbHNlIGZvcig7ZTxqOyl7aWYoYi5hcHBseShhW2UrK10sZCk9PT1mYWxzZSlicmVha31lbHNlIGlmKGkpZm9yKGYgaW4gYSl7aWYoYi5jYWxsKGFbZl0sZixhW2ZdKT09PWZhbHNlKWJyZWFrfWVsc2UgZm9yKGQ9YVswXTtlPGomJmIuY2FsbChkLGUsZCkhPT1mYWxzZTtkPWFbKytlXSk7cmV0dXJuIGF9LHRyaW06ZnVuY3Rpb24oYSl7cmV0dXJuKGF8fCIiKS5yZXBsYWNlKFdhLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7Yj1ifHxbXTtpZihhIT1udWxsKWEubGVuZ3RoPT1udWxsfHx0eXBlb2YgYT09PSJzdHJpbmcifHxjLmlzRnVuY3Rpb24oYSl8fHR5cGVvZiBhIT09ImZ1bmN0aW9uIiYmYS5zZXRJbnRlcnZhbD9iYS5jYWxsKGIsYSk6Yy5tZXJnZShiLGEpO3JldHVybiBifSxpbkFycmF5OmZ1bmN0aW9uKGEsYil7aWYoYi5pbmRleE9mKXJldHVybiBiLmluZGV4T2YoYSk7Zm9yKHZhciBkPTAsZj1iLmxlbmd0aDtkPGY7ZCsrKWlmKGJbZF09PT0KYSlyZXR1cm4gZDtyZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgZD1hLmxlbmd0aCxmPTA7aWYodHlwZW9mIGIubGVuZ3RoPT09Im51bWJlciIpZm9yKHZhciBlPWIubGVuZ3RoO2Y8ZTtmKyspYVtkKytdPWJbZl07ZWxzZSBmb3IoO2JbZl0hPT13OylhW2QrK109YltmKytdO2EubGVuZ3RoPWQ7cmV0dXJuIGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGQpe2Zvcih2YXIgZj1bXSxlPTAsaj1hLmxlbmd0aDtlPGo7ZSsrKSFkIT09IWIoYVtlXSxlKSYmZi5wdXNoKGFbZV0pO3JldHVybiBmfSxtYXA6ZnVuY3Rpb24oYSxiLGQpe2Zvcih2YXIgZj1bXSxlLGo9MCxpPWEubGVuZ3RoO2o8aTtqKyspe2U9YihhW2pdLGosZCk7aWYoZSE9bnVsbClmW2YubGVuZ3RoXT1lfXJldHVybiBmLmNvbmNhdC5hcHBseShbXSxmKX0sZ3VpZDoxLHByb3h5OmZ1bmN0aW9uKGEsYixkKXtpZihhcmd1bWVudHMubGVuZ3RoPT09MilpZih0eXBlb2YgYj09PSJzdHJpbmciKXtkPWE7YT1kW2JdO2I9d31lbHNlIGlmKGImJgohYy5pc0Z1bmN0aW9uKGIpKXtkPWI7Yj13fWlmKCFiJiZhKWI9ZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseShkfHx0aGlzLGFyZ3VtZW50cyl9O2lmKGEpYi5ndWlkPWEuZ3VpZD1hLmd1aWR8fGIuZ3VpZHx8Yy5ndWlkKys7cmV0dXJuIGJ9LHVhTWF0Y2g6ZnVuY3Rpb24oYSl7YT1hLnRvTG93ZXJDYXNlKCk7YT0vKHdlYmtpdClbIFwvXShbXHcuXSspLy5leGVjKGEpfHwvKG9wZXJhKSg/Oi4qdmVyc2lvbik/WyBcL10oW1x3Ll0rKS8uZXhlYyhhKXx8Lyhtc2llKSAoW1x3Ll0rKS8uZXhlYyhhKXx8IS9jb21wYXRpYmxlLy50ZXN0KGEpJiYvKG1vemlsbGEpKD86Lio/IHJ2OihbXHcuXSspKT8vLmV4ZWMoYSl8fFtdO3JldHVybnticm93c2VyOmFbMV18fCIiLHZlcnNpb246YVsyXXx8IjAifX0sYnJvd3Nlcjp7fX0pO1A9Yy51YU1hdGNoKFApO2lmKFAuYnJvd3Nlcil7Yy5icm93c2VyW1AuYnJvd3Nlcl09dHJ1ZTtjLmJyb3dzZXIudmVyc2lvbj1QLnZlcnNpb259aWYoYy5icm93c2VyLndlYmtpdCljLmJyb3dzZXIuc2FmYXJpPQp0cnVlO2lmKHlhKWMuaW5BcnJheT1mdW5jdGlvbihhLGIpe3JldHVybiB5YS5jYWxsKGIsYSl9O1Q9YyhzKTtpZihzLmFkZEV2ZW50TGlzdGVuZXIpTD1mdW5jdGlvbigpe3MucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsTCxmYWxzZSk7Yy5yZWFkeSgpfTtlbHNlIGlmKHMuYXR0YWNoRXZlbnQpTD1mdW5jdGlvbigpe2lmKHMucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpe3MuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsTCk7Yy5yZWFkeSgpfX07KGZ1bmN0aW9uKCl7Yy5zdXBwb3J0PXt9O3ZhciBhPXMuZG9jdW1lbnRFbGVtZW50LGI9cy5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxkPXMuY3JlYXRlRWxlbWVudCgiZGl2IiksZj0ic2NyaXB0IitKKCk7ZC5zdHlsZS5kaXNwbGF5PSJub25lIjtkLmlubmVySFRNTD0iICAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJyBzdHlsZT0nY29sb3I6cmVkO2Zsb2F0OmxlZnQ7b3BhY2l0eTouNTU7Jz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiI7CnZhciBlPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxqPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXTtpZighKCFlfHwhZS5sZW5ndGh8fCFqKSl7Yy5zdXBwb3J0PXtsZWFkaW5nV2hpdGVzcGFjZTpkLmZpcnN0Q2hpbGQubm9kZVR5cGU9PT0zLHRib2R5OiFkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpLmxlbmd0aCxodG1sU2VyaWFsaXplOiEhZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxzdHlsZTovcmVkLy50ZXN0KGouZ2V0QXR0cmlidXRlKCJzdHlsZSIpKSxocmVmTm9ybWFsaXplZDpqLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09Ii9hIixvcGFjaXR5Oi9eMC41NSQvLnRlc3Qoai5zdHlsZS5vcGFjaXR5KSxjc3NGbG9hdDohIWouc3R5bGUuY3NzRmxvYXQsY2hlY2tPbjpkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdLnZhbHVlPT09Im9uIixvcHRTZWxlY3RlZDpzLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLmFwcGVuZENoaWxkKHMuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLnNlbGVjdGVkLApwYXJlbnROb2RlOmQucmVtb3ZlQ2hpbGQoZC5hcHBlbmRDaGlsZChzLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSkucGFyZW50Tm9kZT09PW51bGwsZGVsZXRlRXhwYW5kbzp0cnVlLGNoZWNrQ2xvbmU6ZmFsc2Usc2NyaXB0RXZhbDpmYWxzZSxub0Nsb25lRXZlbnQ6dHJ1ZSxib3hNb2RlbDpudWxsfTtiLnR5cGU9InRleHQvamF2YXNjcmlwdCI7dHJ5e2IuYXBwZW5kQ2hpbGQocy5jcmVhdGVUZXh0Tm9kZSgid2luZG93LiIrZisiPTE7IikpfWNhdGNoKGkpe31hLmluc2VydEJlZm9yZShiLGEuZmlyc3RDaGlsZCk7aWYoQVtmXSl7Yy5zdXBwb3J0LnNjcmlwdEV2YWw9dHJ1ZTtkZWxldGUgQVtmXX10cnl7ZGVsZXRlIGIudGVzdH1jYXRjaChvKXtjLnN1cHBvcnQuZGVsZXRlRXhwYW5kbz1mYWxzZX1hLnJlbW92ZUNoaWxkKGIpO2lmKGQuYXR0YWNoRXZlbnQmJmQuZmlyZUV2ZW50KXtkLmF0dGFjaEV2ZW50KCJvbmNsaWNrIixmdW5jdGlvbiBrKCl7Yy5zdXBwb3J0Lm5vQ2xvbmVFdmVudD0KZmFsc2U7ZC5kZXRhY2hFdmVudCgib25jbGljayIsayl9KTtkLmNsb25lTm9kZSh0cnVlKS5maXJlRXZlbnQoIm9uY2xpY2siKX1kPXMuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZC5pbm5lckhUTUw9IjxpbnB1dCB0eXBlPSdyYWRpbycgbmFtZT0ncmFkaW90ZXN0JyBjaGVja2VkPSdjaGVja2VkJy8+IjthPXMuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2EuYXBwZW5kQ2hpbGQoZC5maXJzdENoaWxkKTtjLnN1cHBvcnQuY2hlY2tDbG9uZT1hLmNsb25lTm9kZSh0cnVlKS5jbG9uZU5vZGUodHJ1ZSkubGFzdENoaWxkLmNoZWNrZWQ7YyhmdW5jdGlvbigpe3ZhciBrPXMuY3JlYXRlRWxlbWVudCgiZGl2Iik7ay5zdHlsZS53aWR0aD1rLnN0eWxlLnBhZGRpbmdMZWZ0PSIxcHgiO3MuYm9keS5hcHBlbmRDaGlsZChrKTtjLmJveE1vZGVsPWMuc3VwcG9ydC5ib3hNb2RlbD1rLm9mZnNldFdpZHRoPT09MjtzLmJvZHkucmVtb3ZlQ2hpbGQoaykuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KTthPWZ1bmN0aW9uKGspe3ZhciBuPQpzLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2s9Im9uIitrO3ZhciByPWsgaW4gbjtpZighcil7bi5zZXRBdHRyaWJ1dGUoaywicmV0dXJuOyIpO3I9dHlwZW9mIG5ba109PT0iZnVuY3Rpb24ifXJldHVybiByfTtjLnN1cHBvcnQuc3VibWl0QnViYmxlcz1hKCJzdWJtaXQiKTtjLnN1cHBvcnQuY2hhbmdlQnViYmxlcz1hKCJjaGFuZ2UiKTthPWI9ZD1lPWo9bnVsbH19KSgpO2MucHJvcHM9eyJmb3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUiLHJlYWRvbmx5OiJyZWFkT25seSIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIscm93c3Bhbjoicm93U3BhbiIsY29sc3BhbjoiY29sU3BhbiIsdGFiaW5kZXg6InRhYkluZGV4Iix1c2VtYXA6InVzZU1hcCIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIn07dmFyIEc9ImpRdWVyeSIrSigpLFlhPTAsemE9e307Yy5leHRlbmQoe2NhY2hlOnt9LGV4cGFuZG86Ryxub0RhdGE6e2VtYmVkOnRydWUsb2JqZWN0OnRydWUsCmFwcGxldDp0cnVlfSxkYXRhOmZ1bmN0aW9uKGEsYixkKXtpZighKGEubm9kZU5hbWUmJmMubm9EYXRhW2Eubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pKXthPWE9PUE/emE6YTt2YXIgZj1hW0ddLGU9Yy5jYWNoZTtpZighZiYmdHlwZW9mIGI9PT0ic3RyaW5nIiYmZD09PXcpcmV0dXJuIG51bGw7Znx8KGY9KytZYSk7aWYodHlwZW9mIGI9PT0ib2JqZWN0Iil7YVtHXT1mO2VbZl09Yy5leHRlbmQodHJ1ZSx7fSxiKX1lbHNlIGlmKCFlW2ZdKXthW0ddPWY7ZVtmXT17fX1hPWVbZl07aWYoZCE9PXcpYVtiXT1kO3JldHVybiB0eXBlb2YgYj09PSJzdHJpbmciP2FbYl06YX19LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtpZighKGEubm9kZU5hbWUmJmMubm9EYXRhW2Eubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pKXthPWE9PUE/emE6YTt2YXIgZD1hW0ddLGY9Yy5jYWNoZSxlPWZbZF07aWYoYil7aWYoZSl7ZGVsZXRlIGVbYl07Yy5pc0VtcHR5T2JqZWN0KGUpJiZjLnJlbW92ZURhdGEoYSl9fWVsc2V7aWYoYy5zdXBwb3J0LmRlbGV0ZUV4cGFuZG8pZGVsZXRlIGFbYy5leHBhbmRvXTsKZWxzZSBhLnJlbW92ZUF0dHJpYnV0ZSYmYS5yZW1vdmVBdHRyaWJ1dGUoYy5leHBhbmRvKTtkZWxldGUgZltkXX19fX0pO2MuZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGE9PT0idW5kZWZpbmVkIiYmdGhpcy5sZW5ndGgpcmV0dXJuIGMuZGF0YSh0aGlzWzBdKTtlbHNlIGlmKHR5cGVvZiBhPT09Im9iamVjdCIpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2MuZGF0YSh0aGlzLGEpfSk7dmFyIGQ9YS5zcGxpdCgiLiIpO2RbMV09ZFsxXT8iLiIrZFsxXToiIjtpZihiPT09dyl7dmFyIGY9dGhpcy50cmlnZ2VySGFuZGxlcigiZ2V0RGF0YSIrZFsxXSsiISIsW2RbMF1dKTtpZihmPT09dyYmdGhpcy5sZW5ndGgpZj1jLmRhdGEodGhpc1swXSxhKTtyZXR1cm4gZj09PXcmJmRbMV0/dGhpcy5kYXRhKGRbMF0pOmZ9ZWxzZSByZXR1cm4gdGhpcy50cmlnZ2VyKCJzZXREYXRhIitkWzFdKyIhIixbZFswXSxiXSkuZWFjaChmdW5jdGlvbigpe2MuZGF0YSh0aGlzLAphLGIpfSl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2MucmVtb3ZlRGF0YSh0aGlzLGEpfSl9fSk7Yy5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYixkKXtpZihhKXtiPShifHwiZngiKSsicXVldWUiO3ZhciBmPWMuZGF0YShhLGIpO2lmKCFkKXJldHVybiBmfHxbXTtpZighZnx8Yy5pc0FycmF5KGQpKWY9Yy5kYXRhKGEsYixjLm1ha2VBcnJheShkKSk7ZWxzZSBmLnB1c2goZCk7cmV0dXJuIGZ9fSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBkPWMucXVldWUoYSxiKSxmPWQuc2hpZnQoKTtpZihmPT09ImlucHJvZ3Jlc3MiKWY9ZC5zaGlmdCgpO2lmKGYpe2I9PT0iZngiJiZkLnVuc2hpZnQoImlucHJvZ3Jlc3MiKTtmLmNhbGwoYSxmdW5jdGlvbigpe2MuZGVxdWV1ZShhLGIpfSl9fX0pO2MuZm4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhIT09InN0cmluZyIpe2I9YTthPSJmeCJ9aWYoYj09PQp3KXJldHVybiBjLnF1ZXVlKHRoaXNbMF0sYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWMucXVldWUodGhpcyxhLGIpO2E9PT0iZngiJiZkWzBdIT09ImlucHJvZ3Jlc3MiJiZjLmRlcXVldWUodGhpcyxhKX0pfSxkZXF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtjLmRlcXVldWUodGhpcyxhKX0pfSxkZWxheTpmdW5jdGlvbihhLGIpe2E9Yy5meD9jLmZ4LnNwZWVkc1thXXx8YTphO2I9Ynx8ImZ4IjtyZXR1cm4gdGhpcy5xdWV1ZShiLGZ1bmN0aW9uKCl7dmFyIGQ9dGhpcztzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5kZXF1ZXVlKGQsYil9LGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9fSk7dmFyIEFhPS9bXG5cdF0vZyxjYT0vXHMrLyxaYT0vXHIvZywkYT0vaHJlZnxzcmN8c3R5bGUvLGFiPS8oYnV0dG9ufGlucHV0KS9pLGJiPS8oYnV0dG9ufGlucHV0fG9iamVjdHxzZWxlY3R8dGV4dGFyZWEpL2ksCmNiPS9eKGF8YXJlYSkkL2ksQmE9L3JhZGlvfGNoZWNrYm94LztjLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIpe3JldHVybiBYKHRoaXMsYSxiLHRydWUsYy5hdHRyKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yy5hdHRyKHRoaXMsYSwiIik7dGhpcy5ub2RlVHlwZT09PTEmJnRoaXMucmVtb3ZlQXR0cmlidXRlKGEpfSl9LGFkZENsYXNzOmZ1bmN0aW9uKGEpe2lmKGMuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKG4pe3ZhciByPWModGhpcyk7ci5hZGRDbGFzcyhhLmNhbGwodGhpcyxuLHIuYXR0cigiY2xhc3MiKSkpfSk7aWYoYSYmdHlwZW9mIGE9PT0ic3RyaW5nIilmb3IodmFyIGI9KGF8fCIiKS5zcGxpdChjYSksZD0wLGY9dGhpcy5sZW5ndGg7ZDxmO2QrKyl7dmFyIGU9dGhpc1tkXTtpZihlLm5vZGVUeXBlPT09MSlpZihlLmNsYXNzTmFtZSl7Zm9yKHZhciBqPSIgIitlLmNsYXNzTmFtZSsiICIsCmk9ZS5jbGFzc05hbWUsbz0wLGs9Yi5sZW5ndGg7bzxrO28rKylpZihqLmluZGV4T2YoIiAiK2Jbb10rIiAiKTwwKWkrPSIgIitiW29dO2UuY2xhc3NOYW1lPWMudHJpbShpKX1lbHNlIGUuY2xhc3NOYW1lPWF9cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGEpe2lmKGMuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGspe3ZhciBuPWModGhpcyk7bi5yZW1vdmVDbGFzcyhhLmNhbGwodGhpcyxrLG4uYXR0cigiY2xhc3MiKSkpfSk7aWYoYSYmdHlwZW9mIGE9PT0ic3RyaW5nInx8YT09PXcpZm9yKHZhciBiPShhfHwiIikuc3BsaXQoY2EpLGQ9MCxmPXRoaXMubGVuZ3RoO2Q8ZjtkKyspe3ZhciBlPXRoaXNbZF07aWYoZS5ub2RlVHlwZT09PTEmJmUuY2xhc3NOYW1lKWlmKGEpe2Zvcih2YXIgaj0oIiAiK2UuY2xhc3NOYW1lKyIgIikucmVwbGFjZShBYSwiICIpLGk9MCxvPWIubGVuZ3RoO2k8bztpKyspaj1qLnJlcGxhY2UoIiAiK2JbaV0rIiAiLAoiICIpO2UuY2xhc3NOYW1lPWMudHJpbShqKX1lbHNlIGUuY2xhc3NOYW1lPSIifXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihhLGIpe3ZhciBkPXR5cGVvZiBhLGY9dHlwZW9mIGI9PT0iYm9vbGVhbiI7aWYoYy5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZSl7dmFyIGo9Yyh0aGlzKTtqLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGUsai5hdHRyKCJjbGFzcyIpLGIpLGIpfSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKGQ9PT0ic3RyaW5nIilmb3IodmFyIGUsaj0wLGk9Yyh0aGlzKSxvPWIsaz1hLnNwbGl0KGNhKTtlPWtbaisrXTspe289Zj9vOiFpLmhhc0NsYXNzKGUpO2lbbz8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKGUpfWVsc2UgaWYoZD09PSJ1bmRlZmluZWQifHxkPT09ImJvb2xlYW4iKXt0aGlzLmNsYXNzTmFtZSYmYy5kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iLHRoaXMuY2xhc3NOYW1lKTt0aGlzLmNsYXNzTmFtZT0KdGhpcy5jbGFzc05hbWV8fGE9PT1mYWxzZT8iIjpjLmRhdGEodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIn19KX0saGFzQ2xhc3M6ZnVuY3Rpb24oYSl7YT0iICIrYSsiICI7Zm9yKHZhciBiPTAsZD10aGlzLmxlbmd0aDtiPGQ7YisrKWlmKCgiICIrdGhpc1tiXS5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKEFhLCIgIikuaW5kZXhPZihhKT4tMSlyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9LHZhbDpmdW5jdGlvbihhKXtpZihhPT09dyl7dmFyIGI9dGhpc1swXTtpZihiKXtpZihjLm5vZGVOYW1lKGIsIm9wdGlvbiIpKXJldHVybihiLmF0dHJpYnV0ZXMudmFsdWV8fHt9KS5zcGVjaWZpZWQ/Yi52YWx1ZTpiLnRleHQ7aWYoYy5ub2RlTmFtZShiLCJzZWxlY3QiKSl7dmFyIGQ9Yi5zZWxlY3RlZEluZGV4LGY9W10sZT1iLm9wdGlvbnM7Yj1iLnR5cGU9PT0ic2VsZWN0LW9uZSI7aWYoZDwwKXJldHVybiBudWxsO3ZhciBqPWI/ZDowO2ZvcihkPWI/ZCsxOmUubGVuZ3RoO2o8ZDtqKyspe3ZhciBpPQplW2pdO2lmKGkuc2VsZWN0ZWQpe2E9YyhpKS52YWwoKTtpZihiKXJldHVybiBhO2YucHVzaChhKX19cmV0dXJuIGZ9aWYoQmEudGVzdChiLnR5cGUpJiYhYy5zdXBwb3J0LmNoZWNrT24pcmV0dXJuIGIuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPT09bnVsbD8ib24iOmIudmFsdWU7cmV0dXJuKGIudmFsdWV8fCIiKS5yZXBsYWNlKFphLCIiKX1yZXR1cm4gd312YXIgbz1jLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihrKXt2YXIgbj1jKHRoaXMpLHI9YTtpZih0aGlzLm5vZGVUeXBlPT09MSl7aWYobylyPWEuY2FsbCh0aGlzLGssbi52YWwoKSk7aWYodHlwZW9mIHI9PT0ibnVtYmVyIilyKz0iIjtpZihjLmlzQXJyYXkocikmJkJhLnRlc3QodGhpcy50eXBlKSl0aGlzLmNoZWNrZWQ9Yy5pbkFycmF5KG4udmFsKCkscik+PTA7ZWxzZSBpZihjLm5vZGVOYW1lKHRoaXMsInNlbGVjdCIpKXt2YXIgdT1jLm1ha2VBcnJheShyKTtjKCJvcHRpb24iLHRoaXMpLmVhY2goZnVuY3Rpb24oKXt0aGlzLnNlbGVjdGVkPQpjLmluQXJyYXkoYyh0aGlzKS52YWwoKSx1KT49MH0pO2lmKCF1Lmxlbmd0aCl0aGlzLnNlbGVjdGVkSW5kZXg9LTF9ZWxzZSB0aGlzLnZhbHVlPXJ9fSl9fSk7Yy5leHRlbmQoe2F0dHJGbjp7dmFsOnRydWUsY3NzOnRydWUsaHRtbDp0cnVlLHRleHQ6dHJ1ZSxkYXRhOnRydWUsd2lkdGg6dHJ1ZSxoZWlnaHQ6dHJ1ZSxvZmZzZXQ6dHJ1ZX0sYXR0cjpmdW5jdGlvbihhLGIsZCxmKXtpZighYXx8YS5ub2RlVHlwZT09PTN8fGEubm9kZVR5cGU9PT04KXJldHVybiB3O2lmKGYmJmIgaW4gYy5hdHRyRm4pcmV0dXJuIGMoYSlbYl0oZCk7Zj1hLm5vZGVUeXBlIT09MXx8IWMuaXNYTUxEb2MoYSk7dmFyIGU9ZCE9PXc7Yj1mJiZjLnByb3BzW2JdfHxiO2lmKGEubm9kZVR5cGU9PT0xKXt2YXIgaj0kYS50ZXN0KGIpO2lmKGIgaW4gYSYmZiYmIWope2lmKGUpe2I9PT0idHlwZSImJmFiLnRlc3QoYS5ub2RlTmFtZSkmJmEucGFyZW50Tm9kZSYmYy5lcnJvcigidHlwZSBwcm9wZXJ0eSBjYW4ndCBiZSBjaGFuZ2VkIik7CmFbYl09ZH1pZihjLm5vZGVOYW1lKGEsImZvcm0iKSYmYS5nZXRBdHRyaWJ1dGVOb2RlKGIpKXJldHVybiBhLmdldEF0dHJpYnV0ZU5vZGUoYikubm9kZVZhbHVlO2lmKGI9PT0idGFiSW5kZXgiKXJldHVybihiPWEuZ2V0QXR0cmlidXRlTm9kZSgidGFiSW5kZXgiKSkmJmIuc3BlY2lmaWVkP2IudmFsdWU6YmIudGVzdChhLm5vZGVOYW1lKXx8Y2IudGVzdChhLm5vZGVOYW1lKSYmYS5ocmVmPzA6dztyZXR1cm4gYVtiXX1pZighYy5zdXBwb3J0LnN0eWxlJiZmJiZiPT09InN0eWxlIil7aWYoZSlhLnN0eWxlLmNzc1RleHQ9IiIrZDtyZXR1cm4gYS5zdHlsZS5jc3NUZXh0fWUmJmEuc2V0QXR0cmlidXRlKGIsIiIrZCk7YT0hYy5zdXBwb3J0LmhyZWZOb3JtYWxpemVkJiZmJiZqP2EuZ2V0QXR0cmlidXRlKGIsMik6YS5nZXRBdHRyaWJ1dGUoYik7cmV0dXJuIGE9PT1udWxsP3c6YX1yZXR1cm4gYy5zdHlsZShhLGIsZCl9fSk7dmFyIE89L1wuKC4qKSQvLGRiPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoL1teXHdcc1wuXHxgXS9nLApmdW5jdGlvbihiKXtyZXR1cm4iXFwiK2J9KX07Yy5ldmVudD17YWRkOmZ1bmN0aW9uKGEsYixkLGYpe2lmKCEoYS5ub2RlVHlwZT09PTN8fGEubm9kZVR5cGU9PT04KSl7aWYoYS5zZXRJbnRlcnZhbCYmYSE9PUEmJiFhLmZyYW1lRWxlbWVudClhPUE7dmFyIGUsajtpZihkLmhhbmRsZXIpe2U9ZDtkPWUuaGFuZGxlcn1pZighZC5ndWlkKWQuZ3VpZD1jLmd1aWQrKztpZihqPWMuZGF0YShhKSl7dmFyIGk9ai5ldmVudHM9ai5ldmVudHN8fHt9LG89ai5oYW5kbGU7aWYoIW8pai5oYW5kbGU9bz1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgYyE9PSJ1bmRlZmluZWQiJiYhYy5ldmVudC50cmlnZ2VyZWQ/Yy5ldmVudC5oYW5kbGUuYXBwbHkoby5lbGVtLGFyZ3VtZW50cyk6d307by5lbGVtPWE7Yj1iLnNwbGl0KCIgIik7Zm9yKHZhciBrLG49MCxyO2s9YltuKytdOyl7aj1lP2MuZXh0ZW5kKHt9LGUpOntoYW5kbGVyOmQsZGF0YTpmfTtpZihrLmluZGV4T2YoIi4iKT4tMSl7cj1rLnNwbGl0KCIuIik7Cms9ci5zaGlmdCgpO2oubmFtZXNwYWNlPXIuc2xpY2UoMCkuc29ydCgpLmpvaW4oIi4iKX1lbHNle3I9W107ai5uYW1lc3BhY2U9IiJ9ai50eXBlPWs7ai5ndWlkPWQuZ3VpZDt2YXIgdT1pW2tdLHo9Yy5ldmVudC5zcGVjaWFsW2tdfHx7fTtpZighdSl7dT1pW2tdPVtdO2lmKCF6LnNldHVwfHx6LnNldHVwLmNhbGwoYSxmLHIsbyk9PT1mYWxzZSlpZihhLmFkZEV2ZW50TGlzdGVuZXIpYS5hZGRFdmVudExpc3RlbmVyKGssbyxmYWxzZSk7ZWxzZSBhLmF0dGFjaEV2ZW50JiZhLmF0dGFjaEV2ZW50KCJvbiIrayxvKX1pZih6LmFkZCl7ei5hZGQuY2FsbChhLGopO2lmKCFqLmhhbmRsZXIuZ3VpZClqLmhhbmRsZXIuZ3VpZD1kLmd1aWR9dS5wdXNoKGopO2MuZXZlbnQuZ2xvYmFsW2tdPXRydWV9YT1udWxsfX19LGdsb2JhbDp7fSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGQsZil7aWYoIShhLm5vZGVUeXBlPT09M3x8YS5ub2RlVHlwZT09PTgpKXt2YXIgZSxqPTAsaSxvLGssbixyLHUsej1jLmRhdGEoYSksCkM9eiYmei5ldmVudHM7aWYoeiYmQyl7aWYoYiYmYi50eXBlKXtkPWIuaGFuZGxlcjtiPWIudHlwZX1pZighYnx8dHlwZW9mIGI9PT0ic3RyaW5nIiYmYi5jaGFyQXQoMCk9PT0iLiIpe2I9Ynx8IiI7Zm9yKGUgaW4gQyljLmV2ZW50LnJlbW92ZShhLGUrYil9ZWxzZXtmb3IoYj1iLnNwbGl0KCIgIik7ZT1iW2orK107KXtuPWU7aT1lLmluZGV4T2YoIi4iKTwwO289W107aWYoIWkpe289ZS5zcGxpdCgiLiIpO2U9by5zaGlmdCgpO2s9bmV3IFJlZ0V4cCgiKF58XFwuKSIrYy5tYXAoby5zbGljZSgwKS5zb3J0KCksZGIpLmpvaW4oIlxcLig/Oi4qXFwuKT8iKSsiKFxcLnwkKSIpfWlmKHI9Q1tlXSlpZihkKXtuPWMuZXZlbnQuc3BlY2lhbFtlXXx8e307Zm9yKEI9Znx8MDtCPHIubGVuZ3RoO0IrKyl7dT1yW0JdO2lmKGQuZ3VpZD09PXUuZ3VpZCl7aWYoaXx8ay50ZXN0KHUubmFtZXNwYWNlKSl7Zj09bnVsbCYmci5zcGxpY2UoQi0tLDEpO24ucmVtb3ZlJiZuLnJlbW92ZS5jYWxsKGEsdSl9aWYoZiE9Cm51bGwpYnJlYWt9fWlmKHIubGVuZ3RoPT09MHx8ZiE9bnVsbCYmci5sZW5ndGg9PT0xKXtpZighbi50ZWFyZG93bnx8bi50ZWFyZG93bi5jYWxsKGEsbyk9PT1mYWxzZSlDYShhLGUsei5oYW5kbGUpO2RlbGV0ZSBDW2VdfX1lbHNlIGZvcih2YXIgQj0wO0I8ci5sZW5ndGg7QisrKXt1PXJbQl07aWYoaXx8ay50ZXN0KHUubmFtZXNwYWNlKSl7Yy5ldmVudC5yZW1vdmUoYSxuLHUuaGFuZGxlcixCKTtyLnNwbGljZShCLS0sMSl9fX1pZihjLmlzRW1wdHlPYmplY3QoQykpe2lmKGI9ei5oYW5kbGUpYi5lbGVtPW51bGw7ZGVsZXRlIHouZXZlbnRzO2RlbGV0ZSB6LmhhbmRsZTtjLmlzRW1wdHlPYmplY3QoeikmJmMucmVtb3ZlRGF0YShhKX19fX19LHRyaWdnZXI6ZnVuY3Rpb24oYSxiLGQsZil7dmFyIGU9YS50eXBlfHxhO2lmKCFmKXthPXR5cGVvZiBhPT09Im9iamVjdCI/YVtHXT9hOmMuZXh0ZW5kKGMuRXZlbnQoZSksYSk6Yy5FdmVudChlKTtpZihlLmluZGV4T2YoIiEiKT49MCl7YS50eXBlPQplPWUuc2xpY2UoMCwtMSk7YS5leGNsdXNpdmU9dHJ1ZX1pZighZCl7YS5zdG9wUHJvcGFnYXRpb24oKTtjLmV2ZW50Lmdsb2JhbFtlXSYmYy5lYWNoKGMuY2FjaGUsZnVuY3Rpb24oKXt0aGlzLmV2ZW50cyYmdGhpcy5ldmVudHNbZV0mJmMuZXZlbnQudHJpZ2dlcihhLGIsdGhpcy5oYW5kbGUuZWxlbSl9KX1pZighZHx8ZC5ub2RlVHlwZT09PTN8fGQubm9kZVR5cGU9PT04KXJldHVybiB3O2EucmVzdWx0PXc7YS50YXJnZXQ9ZDtiPWMubWFrZUFycmF5KGIpO2IudW5zaGlmdChhKX1hLmN1cnJlbnRUYXJnZXQ9ZDsoZj1jLmRhdGEoZCwiaGFuZGxlIikpJiZmLmFwcGx5KGQsYik7Zj1kLnBhcmVudE5vZGV8fGQub3duZXJEb2N1bWVudDt0cnl7aWYoIShkJiZkLm5vZGVOYW1lJiZjLm5vRGF0YVtkLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSlpZihkWyJvbiIrZV0mJmRbIm9uIitlXS5hcHBseShkLGIpPT09ZmFsc2UpYS5yZXN1bHQ9ZmFsc2V9Y2F0Y2goail7fWlmKCFhLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkmJgpmKWMuZXZlbnQudHJpZ2dlcihhLGIsZix0cnVlKTtlbHNlIGlmKCFhLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtmPWEudGFyZ2V0O3ZhciBpLG89Yy5ub2RlTmFtZShmLCJhIikmJmU9PT0iY2xpY2siLGs9Yy5ldmVudC5zcGVjaWFsW2VdfHx7fTtpZigoIWsuX2RlZmF1bHR8fGsuX2RlZmF1bHQuY2FsbChkLGEpPT09ZmFsc2UpJiYhbyYmIShmJiZmLm5vZGVOYW1lJiZjLm5vRGF0YVtmLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSl7dHJ5e2lmKGZbZV0pe2lmKGk9Zlsib24iK2VdKWZbIm9uIitlXT1udWxsO2MuZXZlbnQudHJpZ2dlcmVkPXRydWU7ZltlXSgpfX1jYXRjaChuKXt9aWYoaSlmWyJvbiIrZV09aTtjLmV2ZW50LnRyaWdnZXJlZD1mYWxzZX19fSxoYW5kbGU6ZnVuY3Rpb24oYSl7dmFyIGIsZCxmLGU7YT1hcmd1bWVudHNbMF09Yy5ldmVudC5maXgoYXx8QS5ldmVudCk7YS5jdXJyZW50VGFyZ2V0PXRoaXM7Yj1hLnR5cGUuaW5kZXhPZigiLiIpPDAmJiFhLmV4Y2x1c2l2ZTsKaWYoIWIpe2Q9YS50eXBlLnNwbGl0KCIuIik7YS50eXBlPWQuc2hpZnQoKTtmPW5ldyBSZWdFeHAoIihefFxcLikiK2Quc2xpY2UoMCkuc29ydCgpLmpvaW4oIlxcLig/Oi4qXFwuKT8iKSsiKFxcLnwkKSIpfWU9Yy5kYXRhKHRoaXMsImV2ZW50cyIpO2Q9ZVthLnR5cGVdO2lmKGUmJmQpe2Q9ZC5zbGljZSgwKTtlPTA7Zm9yKHZhciBqPWQubGVuZ3RoO2U8ajtlKyspe3ZhciBpPWRbZV07aWYoYnx8Zi50ZXN0KGkubmFtZXNwYWNlKSl7YS5oYW5kbGVyPWkuaGFuZGxlcjthLmRhdGE9aS5kYXRhO2EuaGFuZGxlT2JqPWk7aT1pLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKGkhPT13KXthLnJlc3VsdD1pO2lmKGk9PT1mYWxzZSl7YS5wcmV2ZW50RGVmYXVsdCgpO2Euc3RvcFByb3BhZ2F0aW9uKCl9fWlmKGEuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVha319fXJldHVybiBhLnJlc3VsdH0scHJvcHM6ImFsdEtleSBhdHRyQ2hhbmdlIGF0dHJOYW1lIGJ1YmJsZXMgYnV0dG9uIGNhbmNlbGFibGUgY2hhckNvZGUgY2xpZW50WCBjbGllbnRZIGN0cmxLZXkgY3VycmVudFRhcmdldCBkYXRhIGRldGFpbCBldmVudFBoYXNlIGZyb21FbGVtZW50IGhhbmRsZXIga2V5Q29kZSBsYXllclggbGF5ZXJZIG1ldGFLZXkgbmV3VmFsdWUgb2Zmc2V0WCBvZmZzZXRZIG9yaWdpbmFsVGFyZ2V0IHBhZ2VYIHBhZ2VZIHByZXZWYWx1ZSByZWxhdGVkTm9kZSByZWxhdGVkVGFyZ2V0IHNjcmVlblggc2NyZWVuWSBzaGlmdEtleSBzcmNFbGVtZW50IHRhcmdldCB0b0VsZW1lbnQgdmlldyB3aGVlbERlbHRhIHdoaWNoIi5zcGxpdCgiICIpLApmaXg6ZnVuY3Rpb24oYSl7aWYoYVtHXSlyZXR1cm4gYTt2YXIgYj1hO2E9Yy5FdmVudChiKTtmb3IodmFyIGQ9dGhpcy5wcm9wcy5sZW5ndGgsZjtkOyl7Zj10aGlzLnByb3BzWy0tZF07YVtmXT1iW2ZdfWlmKCFhLnRhcmdldClhLnRhcmdldD1hLnNyY0VsZW1lbnR8fHM7aWYoYS50YXJnZXQubm9kZVR5cGU9PT0zKWEudGFyZ2V0PWEudGFyZ2V0LnBhcmVudE5vZGU7aWYoIWEucmVsYXRlZFRhcmdldCYmYS5mcm9tRWxlbWVudClhLnJlbGF0ZWRUYXJnZXQ9YS5mcm9tRWxlbWVudD09PWEudGFyZ2V0P2EudG9FbGVtZW50OmEuZnJvbUVsZW1lbnQ7aWYoYS5wYWdlWD09bnVsbCYmYS5jbGllbnRYIT1udWxsKXtiPXMuZG9jdW1lbnRFbGVtZW50O2Q9cy5ib2R5O2EucGFnZVg9YS5jbGllbnRYKyhiJiZiLnNjcm9sbExlZnR8fGQmJmQuc2Nyb2xsTGVmdHx8MCktKGImJmIuY2xpZW50TGVmdHx8ZCYmZC5jbGllbnRMZWZ0fHwwKTthLnBhZ2VZPWEuY2xpZW50WSsoYiYmYi5zY3JvbGxUb3B8fApkJiZkLnNjcm9sbFRvcHx8MCktKGImJmIuY2xpZW50VG9wfHxkJiZkLmNsaWVudFRvcHx8MCl9aWYoIWEud2hpY2gmJihhLmNoYXJDb2RlfHxhLmNoYXJDb2RlPT09MD9hLmNoYXJDb2RlOmEua2V5Q29kZSkpYS53aGljaD1hLmNoYXJDb2RlfHxhLmtleUNvZGU7aWYoIWEubWV0YUtleSYmYS5jdHJsS2V5KWEubWV0YUtleT1hLmN0cmxLZXk7aWYoIWEud2hpY2gmJmEuYnV0dG9uIT09dylhLndoaWNoPWEuYnV0dG9uJjE/MTphLmJ1dHRvbiYyPzM6YS5idXR0b24mND8yOjA7cmV0dXJuIGF9LGd1aWQ6MUU4LHByb3h5OmMucHJveHksc3BlY2lhbDp7cmVhZHk6e3NldHVwOmMuYmluZFJlYWR5LHRlYXJkb3duOmMubm9vcH0sbGl2ZTp7YWRkOmZ1bmN0aW9uKGEpe2MuZXZlbnQuYWRkKHRoaXMsYS5vcmlnVHlwZSxjLmV4dGVuZCh7fSxhLHtoYW5kbGVyOm9hfSkpfSxyZW1vdmU6ZnVuY3Rpb24oYSl7dmFyIGI9dHJ1ZSxkPWEub3JpZ1R5cGUucmVwbGFjZShPLCIiKTtjLmVhY2goYy5kYXRhKHRoaXMsCiJldmVudHMiKS5saXZlfHxbXSxmdW5jdGlvbigpe2lmKGQ9PT10aGlzLm9yaWdUeXBlLnJlcGxhY2UoTywiIikpcmV0dXJuIGI9ZmFsc2V9KTtiJiZjLmV2ZW50LnJlbW92ZSh0aGlzLGEub3JpZ1R5cGUsb2EpfX0sYmVmb3JldW5sb2FkOntzZXR1cDpmdW5jdGlvbihhLGIsZCl7aWYodGhpcy5zZXRJbnRlcnZhbCl0aGlzLm9uYmVmb3JldW5sb2FkPWQ7cmV0dXJuIGZhbHNlfSx0ZWFyZG93bjpmdW5jdGlvbihhLGIpe2lmKHRoaXMub25iZWZvcmV1bmxvYWQ9PT1iKXRoaXMub25iZWZvcmV1bmxvYWQ9bnVsbH19fX07dmFyIENhPXMucmVtb3ZlRXZlbnRMaXN0ZW5lcj9mdW5jdGlvbihhLGIsZCl7YS5yZW1vdmVFdmVudExpc3RlbmVyKGIsZCxmYWxzZSl9OmZ1bmN0aW9uKGEsYixkKXthLmRldGFjaEV2ZW50KCJvbiIrYixkKX07Yy5FdmVudD1mdW5jdGlvbihhKXtpZighdGhpcy5wcmV2ZW50RGVmYXVsdClyZXR1cm4gbmV3IGMuRXZlbnQoYSk7aWYoYSYmYS50eXBlKXt0aGlzLm9yaWdpbmFsRXZlbnQ9CmE7dGhpcy50eXBlPWEudHlwZX1lbHNlIHRoaXMudHlwZT1hO3RoaXMudGltZVN0YW1wPUooKTt0aGlzW0ddPXRydWV9O2MuRXZlbnQucHJvdG90eXBlPXtwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPVo7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O2lmKGEpe2EucHJldmVudERlZmF1bHQmJmEucHJldmVudERlZmF1bHQoKTthLnJldHVyblZhbHVlPWZhbHNlfX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1aO3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDtpZihhKXthLnN0b3BQcm9wYWdhdGlvbiYmYS5zdG9wUHJvcGFnYXRpb24oKTthLmNhbmNlbEJ1YmJsZT10cnVlfX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1aO3RoaXMuc3RvcFByb3BhZ2F0aW9uKCl9LGlzRGVmYXVsdFByZXZlbnRlZDpZLGlzUHJvcGFnYXRpb25TdG9wcGVkOlksCmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOll9O3ZhciBEYT1mdW5jdGlvbihhKXt2YXIgYj1hLnJlbGF0ZWRUYXJnZXQ7dHJ5e2Zvcig7YiYmYiE9PXRoaXM7KWI9Yi5wYXJlbnROb2RlO2lmKGIhPT10aGlzKXthLnR5cGU9YS5kYXRhO2MuZXZlbnQuaGFuZGxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19Y2F0Y2goZCl7fX0sRWE9ZnVuY3Rpb24oYSl7YS50eXBlPWEuZGF0YTtjLmV2ZW50LmhhbmRsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2MuZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9LGZ1bmN0aW9uKGEsYil7Yy5ldmVudC5zcGVjaWFsW2FdPXtzZXR1cDpmdW5jdGlvbihkKXtjLmV2ZW50LmFkZCh0aGlzLGIsZCYmZC5zZWxlY3Rvcj9FYTpEYSxhKX0sdGVhcmRvd246ZnVuY3Rpb24oZCl7Yy5ldmVudC5yZW1vdmUodGhpcyxiLGQmJmQuc2VsZWN0b3I/RWE6RGEpfX19KTtpZighYy5zdXBwb3J0LnN1Ym1pdEJ1YmJsZXMpYy5ldmVudC5zcGVjaWFsLnN1Ym1pdD0Ke3NldHVwOmZ1bmN0aW9uKCl7aWYodGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09ImZvcm0iKXtjLmV2ZW50LmFkZCh0aGlzLCJjbGljay5zcGVjaWFsU3VibWl0IixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldCxkPWIudHlwZTtpZigoZD09PSJzdWJtaXQifHxkPT09ImltYWdlIikmJmMoYikuY2xvc2VzdCgiZm9ybSIpLmxlbmd0aClyZXR1cm4gbmEoInN1Ym1pdCIsdGhpcyxhcmd1bWVudHMpfSk7Yy5ldmVudC5hZGQodGhpcywia2V5cHJlc3Muc3BlY2lhbFN1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsZD1iLnR5cGU7aWYoKGQ9PT0idGV4dCJ8fGQ9PT0icGFzc3dvcmQiKSYmYyhiKS5jbG9zZXN0KCJmb3JtIikubGVuZ3RoJiZhLmtleUNvZGU9PT0xMylyZXR1cm4gbmEoInN1Ym1pdCIsdGhpcyxhcmd1bWVudHMpfSl9ZWxzZSByZXR1cm4gZmFsc2V9LHRlYXJkb3duOmZ1bmN0aW9uKCl7Yy5ldmVudC5yZW1vdmUodGhpcywiLnNwZWNpYWxTdWJtaXQiKX19OwppZighYy5zdXBwb3J0LmNoYW5nZUJ1YmJsZXMpe3ZhciBkYT0vdGV4dGFyZWF8aW5wdXR8c2VsZWN0L2ksZWEsRmE9ZnVuY3Rpb24oYSl7dmFyIGI9YS50eXBlLGQ9YS52YWx1ZTtpZihiPT09InJhZGlvInx8Yj09PSJjaGVja2JveCIpZD1hLmNoZWNrZWQ7ZWxzZSBpZihiPT09InNlbGVjdC1tdWx0aXBsZSIpZD1hLnNlbGVjdGVkSW5kZXg+LTE/Yy5tYXAoYS5vcHRpb25zLGZ1bmN0aW9uKGYpe3JldHVybiBmLnNlbGVjdGVkfSkuam9pbigiLSIpOiIiO2Vsc2UgaWYoYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09InNlbGVjdCIpZD1hLnNlbGVjdGVkSW5kZXg7cmV0dXJuIGR9LGZhPWZ1bmN0aW9uKGEsYil7dmFyIGQ9YS50YXJnZXQsZixlO2lmKCEoIWRhLnRlc3QoZC5ub2RlTmFtZSl8fGQucmVhZE9ubHkpKXtmPWMuZGF0YShkLCJfY2hhbmdlX2RhdGEiKTtlPUZhKGQpO2lmKGEudHlwZSE9PSJmb2N1c291dCJ8fGQudHlwZSE9PSJyYWRpbyIpYy5kYXRhKGQsIl9jaGFuZ2VfZGF0YSIsCmUpO2lmKCEoZj09PXd8fGU9PT1mKSlpZihmIT1udWxsfHxlKXthLnR5cGU9ImNoYW5nZSI7cmV0dXJuIGMuZXZlbnQudHJpZ2dlcihhLGIsZCl9fX07Yy5ldmVudC5zcGVjaWFsLmNoYW5nZT17ZmlsdGVyczp7Zm9jdXNvdXQ6ZmEsY2xpY2s6ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsZD1iLnR5cGU7aWYoZD09PSJyYWRpbyJ8fGQ9PT0iY2hlY2tib3gifHxiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0ic2VsZWN0IilyZXR1cm4gZmEuY2FsbCh0aGlzLGEpfSxrZXlkb3duOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0LGQ9Yi50eXBlO2lmKGEua2V5Q29kZT09PTEzJiZiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT0idGV4dGFyZWEifHxhLmtleUNvZGU9PT0zMiYmKGQ9PT0iY2hlY2tib3gifHxkPT09InJhZGlvIil8fGQ9PT0ic2VsZWN0LW11bHRpcGxlIilyZXR1cm4gZmEuY2FsbCh0aGlzLGEpfSxiZWZvcmVhY3RpdmF0ZTpmdW5jdGlvbihhKXthPWEudGFyZ2V0O2MuZGF0YShhLAoiX2NoYW5nZV9kYXRhIixGYShhKSl9fSxzZXR1cDpmdW5jdGlvbigpe2lmKHRoaXMudHlwZT09PSJmaWxlIilyZXR1cm4gZmFsc2U7Zm9yKHZhciBhIGluIGVhKWMuZXZlbnQuYWRkKHRoaXMsYSsiLnNwZWNpYWxDaGFuZ2UiLGVhW2FdKTtyZXR1cm4gZGEudGVzdCh0aGlzLm5vZGVOYW1lKX0sdGVhcmRvd246ZnVuY3Rpb24oKXtjLmV2ZW50LnJlbW92ZSh0aGlzLCIuc3BlY2lhbENoYW5nZSIpO3JldHVybiBkYS50ZXN0KHRoaXMubm9kZU5hbWUpfX07ZWE9Yy5ldmVudC5zcGVjaWFsLmNoYW5nZS5maWx0ZXJzfXMuYWRkRXZlbnRMaXN0ZW5lciYmYy5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGQoZil7Zj1jLmV2ZW50LmZpeChmKTtmLnR5cGU9YjtyZXR1cm4gYy5ldmVudC5oYW5kbGUuY2FsbCh0aGlzLGYpfWMuZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoYSwKZCx0cnVlKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxkLHRydWUpfX19KTtjLmVhY2goWyJiaW5kIiwib25lIl0sZnVuY3Rpb24oYSxiKXtjLmZuW2JdPWZ1bmN0aW9uKGQsZixlKXtpZih0eXBlb2YgZD09PSJvYmplY3QiKXtmb3IodmFyIGogaW4gZCl0aGlzW2JdKGosZixkW2pdLGUpO3JldHVybiB0aGlzfWlmKGMuaXNGdW5jdGlvbihmKSl7ZT1mO2Y9d312YXIgaT1iPT09Im9uZSI/Yy5wcm94eShlLGZ1bmN0aW9uKGspe2ModGhpcykudW5iaW5kKGssaSk7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfSk6ZTtpZihkPT09InVubG9hZCImJmIhPT0ib25lIil0aGlzLm9uZShkLGYsZSk7ZWxzZXtqPTA7Zm9yKHZhciBvPXRoaXMubGVuZ3RoO2o8bztqKyspYy5ldmVudC5hZGQodGhpc1tqXSxkLGksZil9cmV0dXJuIHRoaXN9fSk7Yy5mbi5leHRlbmQoe3VuYmluZDpmdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhPT09Im9iamVjdCImJgohYS5wcmV2ZW50RGVmYXVsdClmb3IodmFyIGQgaW4gYSl0aGlzLnVuYmluZChkLGFbZF0pO2Vsc2V7ZD0wO2Zvcih2YXIgZj10aGlzLmxlbmd0aDtkPGY7ZCsrKWMuZXZlbnQucmVtb3ZlKHRoaXNbZF0sYSxiKX1yZXR1cm4gdGhpc30sZGVsZWdhdGU6ZnVuY3Rpb24oYSxiLGQsZil7cmV0dXJuIHRoaXMubGl2ZShiLGQsZixhKX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihhLGIsZCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg9PT0wP3RoaXMudW5iaW5kKCJsaXZlIik6dGhpcy5kaWUoYixudWxsLGQsYSl9LHRyaWdnZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yy5ldmVudC50cmlnZ2VyKGEsYix0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihhLGIpe2lmKHRoaXNbMF0pe2E9Yy5FdmVudChhKTthLnByZXZlbnREZWZhdWx0KCk7YS5zdG9wUHJvcGFnYXRpb24oKTtjLmV2ZW50LnRyaWdnZXIoYSxiLHRoaXNbMF0pO3JldHVybiBhLnJlc3VsdH19LAp0b2dnbGU6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWFyZ3VtZW50cyxkPTE7ZDxiLmxlbmd0aDspYy5wcm94eShhLGJbZCsrXSk7cmV0dXJuIHRoaXMuY2xpY2soYy5wcm94eShhLGZ1bmN0aW9uKGYpe3ZhciBlPShjLmRhdGEodGhpcywibGFzdFRvZ2dsZSIrYS5ndWlkKXx8MCklZDtjLmRhdGEodGhpcywibGFzdFRvZ2dsZSIrYS5ndWlkLGUrMSk7Zi5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBiW2VdLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8ZmFsc2V9KSl9LGhvdmVyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubW91c2VlbnRlcihhKS5tb3VzZWxlYXZlKGJ8fGEpfX0pO3ZhciBHYT17Zm9jdXM6ImZvY3VzaW4iLGJsdXI6ImZvY3Vzb3V0Iixtb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In07Yy5lYWNoKFsibGl2ZSIsImRpZSJdLGZ1bmN0aW9uKGEsYil7Yy5mbltiXT1mdW5jdGlvbihkLGYsZSxqKXt2YXIgaSxvPTAsayxuLHI9anx8dGhpcy5zZWxlY3RvciwKdT1qP3RoaXM6Yyh0aGlzLmNvbnRleHQpO2lmKGMuaXNGdW5jdGlvbihmKSl7ZT1mO2Y9d31mb3IoZD0oZHx8IiIpLnNwbGl0KCIgIik7KGk9ZFtvKytdKSE9bnVsbDspe2o9Ty5leGVjKGkpO2s9IiI7aWYoail7az1qWzBdO2k9aS5yZXBsYWNlKE8sIiIpfWlmKGk9PT0iaG92ZXIiKWQucHVzaCgibW91c2VlbnRlciIraywibW91c2VsZWF2ZSIrayk7ZWxzZXtuPWk7aWYoaT09PSJmb2N1cyJ8fGk9PT0iYmx1ciIpe2QucHVzaChHYVtpXStrKTtpKz1rfWVsc2UgaT0oR2FbaV18fGkpK2s7Yj09PSJsaXZlIj91LmVhY2goZnVuY3Rpb24oKXtjLmV2ZW50LmFkZCh0aGlzLHBhKGkscikse2RhdGE6ZixzZWxlY3RvcjpyLGhhbmRsZXI6ZSxvcmlnVHlwZTppLG9yaWdIYW5kbGVyOmUscHJlVHlwZTpufSl9KTp1LnVuYmluZChwYShpLHIpLGUpfX1yZXR1cm4gdGhpc319KTtjLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IiLnNwbGl0KCIgIiksCmZ1bmN0aW9uKGEsYil7Yy5mbltiXT1mdW5jdGlvbihkKXtyZXR1cm4gZD90aGlzLmJpbmQoYixkKTp0aGlzLnRyaWdnZXIoYil9O2lmKGMuYXR0ckZuKWMuYXR0ckZuW2JdPXRydWV9KTtBLmF0dGFjaEV2ZW50JiYhQS5hZGRFdmVudExpc3RlbmVyJiZBLmF0dGFjaEV2ZW50KCJvbnVubG9hZCIsZnVuY3Rpb24oKXtmb3IodmFyIGEgaW4gYy5jYWNoZSlpZihjLmNhY2hlW2FdLmhhbmRsZSl0cnl7Yy5ldmVudC5yZW1vdmUoYy5jYWNoZVthXS5oYW5kbGUuZWxlbSl9Y2F0Y2goYil7fX0pOyhmdW5jdGlvbigpe2Z1bmN0aW9uIGEoZyl7Zm9yKHZhciBoPSIiLGwsbT0wO2dbbV07bSsrKXtsPWdbbV07aWYobC5ub2RlVHlwZT09PTN8fGwubm9kZVR5cGU9PT00KWgrPWwubm9kZVZhbHVlO2Vsc2UgaWYobC5ub2RlVHlwZSE9PTgpaCs9YShsLmNoaWxkTm9kZXMpfXJldHVybiBofWZ1bmN0aW9uIGIoZyxoLGwsbSxxLHApe3E9MDtmb3IodmFyIHY9bS5sZW5ndGg7cTx2O3ErKyl7dmFyIHQ9bVtxXTsKaWYodCl7dD10W2ddO2Zvcih2YXIgeT1mYWxzZTt0Oyl7aWYodC5zaXpjYWNoZT09PWwpe3k9bVt0LnNpenNldF07YnJlYWt9aWYodC5ub2RlVHlwZT09PTEmJiFwKXt0LnNpemNhY2hlPWw7dC5zaXpzZXQ9cX1pZih0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1oKXt5PXQ7YnJlYWt9dD10W2ddfW1bcV09eX19fWZ1bmN0aW9uIGQoZyxoLGwsbSxxLHApe3E9MDtmb3IodmFyIHY9bS5sZW5ndGg7cTx2O3ErKyl7dmFyIHQ9bVtxXTtpZih0KXt0PXRbZ107Zm9yKHZhciB5PWZhbHNlO3Q7KXtpZih0LnNpemNhY2hlPT09bCl7eT1tW3Quc2l6c2V0XTticmVha31pZih0Lm5vZGVUeXBlPT09MSl7aWYoIXApe3Quc2l6Y2FjaGU9bDt0LnNpenNldD1xfWlmKHR5cGVvZiBoIT09InN0cmluZyIpe2lmKHQ9PT1oKXt5PXRydWU7YnJlYWt9fWVsc2UgaWYoay5maWx0ZXIoaCxbdF0pLmxlbmd0aD4wKXt5PXQ7YnJlYWt9fXQ9dFtnXX1tW3FdPXl9fX12YXIgZj0vKCg/OlwoKD86XChbXigpXStcKXxbXigpXSspK1wpfFxbKD86XFtbXltcXV0qXF18WyciXVteJyJdKlsnIl18W15bXF0nIl0rKStcXXxcXC58W14gPit+LChcW1xcXSspK3xbPit+XSkoXHMqLFxzKik/KCg/Oi58XHJ8XG4pKikvZywKZT0wLGo9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxpPWZhbHNlLG89dHJ1ZTtbMCwwXS5zb3J0KGZ1bmN0aW9uKCl7bz1mYWxzZTtyZXR1cm4gMH0pO3ZhciBrPWZ1bmN0aW9uKGcsaCxsLG0pe2w9bHx8W107dmFyIHE9aD1ofHxzO2lmKGgubm9kZVR5cGUhPT0xJiZoLm5vZGVUeXBlIT09OSlyZXR1cm5bXTtpZighZ3x8dHlwZW9mIGchPT0ic3RyaW5nIilyZXR1cm4gbDtmb3IodmFyIHA9W10sdix0LHksUyxIPXRydWUsTT14KGgpLEk9ZzsoZi5leGVjKCIiKSx2PWYuZXhlYyhJKSkhPT1udWxsOyl7ST12WzNdO3AucHVzaCh2WzFdKTtpZih2WzJdKXtTPXZbM107YnJlYWt9fWlmKHAubGVuZ3RoPjEmJnIuZXhlYyhnKSlpZihwLmxlbmd0aD09PTImJm4ucmVsYXRpdmVbcFswXV0pdD1nYShwWzBdK3BbMV0saCk7ZWxzZSBmb3IodD1uLnJlbGF0aXZlW3BbMF1dP1toXTprKHAuc2hpZnQoKSxoKTtwLmxlbmd0aDspe2c9cC5zaGlmdCgpO2lmKG4ucmVsYXRpdmVbZ10pZys9cC5zaGlmdCgpOwp0PWdhKGcsdCl9ZWxzZXtpZighbSYmcC5sZW5ndGg+MSYmaC5ub2RlVHlwZT09PTkmJiFNJiZuLm1hdGNoLklELnRlc3QocFswXSkmJiFuLm1hdGNoLklELnRlc3QocFtwLmxlbmd0aC0xXSkpe3Y9ay5maW5kKHAuc2hpZnQoKSxoLE0pO2g9di5leHByP2suZmlsdGVyKHYuZXhwcix2LnNldClbMF06di5zZXRbMF19aWYoaCl7dj1tP3tleHByOnAucG9wKCksc2V0OnoobSl9OmsuZmluZChwLnBvcCgpLHAubGVuZ3RoPT09MSYmKHBbMF09PT0ifiJ8fHBbMF09PT0iKyIpJiZoLnBhcmVudE5vZGU/aC5wYXJlbnROb2RlOmgsTSk7dD12LmV4cHI/ay5maWx0ZXIodi5leHByLHYuc2V0KTp2LnNldDtpZihwLmxlbmd0aD4wKXk9eih0KTtlbHNlIEg9ZmFsc2U7Zm9yKDtwLmxlbmd0aDspe3ZhciBEPXAucG9wKCk7dj1EO2lmKG4ucmVsYXRpdmVbRF0pdj1wLnBvcCgpO2Vsc2UgRD0iIjtpZih2PT1udWxsKXY9aDtuLnJlbGF0aXZlW0RdKHksdixNKX19ZWxzZSB5PVtdfXl8fCh5PXQpO3l8fGsuZXJyb3IoRHx8CmcpO2lmKGouY2FsbCh5KT09PSJbb2JqZWN0IEFycmF5XSIpaWYoSClpZihoJiZoLm5vZGVUeXBlPT09MSlmb3IoZz0wO3lbZ10hPW51bGw7ZysrKXtpZih5W2ddJiYoeVtnXT09PXRydWV8fHlbZ10ubm9kZVR5cGU9PT0xJiZFKGgseVtnXSkpKWwucHVzaCh0W2ddKX1lbHNlIGZvcihnPTA7eVtnXSE9bnVsbDtnKyspeVtnXSYmeVtnXS5ub2RlVHlwZT09PTEmJmwucHVzaCh0W2ddKTtlbHNlIGwucHVzaC5hcHBseShsLHkpO2Vsc2Ugeih5LGwpO2lmKFMpe2soUyxxLGwsbSk7ay51bmlxdWVTb3J0KGwpfXJldHVybiBsfTtrLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oZyl7aWYoQil7aT1vO2cuc29ydChCKTtpZihpKWZvcih2YXIgaD0xO2g8Zy5sZW5ndGg7aCsrKWdbaF09PT1nW2gtMV0mJmcuc3BsaWNlKGgtLSwxKX1yZXR1cm4gZ307ay5tYXRjaGVzPWZ1bmN0aW9uKGcsaCl7cmV0dXJuIGsoZyxudWxsLG51bGwsaCl9O2suZmluZD1mdW5jdGlvbihnLGgsbCl7dmFyIG0scTtpZighZylyZXR1cm5bXTsKZm9yKHZhciBwPTAsdj1uLm9yZGVyLmxlbmd0aDtwPHY7cCsrKXt2YXIgdD1uLm9yZGVyW3BdO2lmKHE9bi5sZWZ0TWF0Y2hbdF0uZXhlYyhnKSl7dmFyIHk9cVsxXTtxLnNwbGljZSgxLDEpO2lmKHkuc3Vic3RyKHkubGVuZ3RoLTEpIT09IlxcIil7cVsxXT0ocVsxXXx8IiIpLnJlcGxhY2UoL1xcL2csIiIpO209bi5maW5kW3RdKHEsaCxsKTtpZihtIT1udWxsKXtnPWcucmVwbGFjZShuLm1hdGNoW3RdLCIiKTticmVha319fX1tfHwobT1oLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpO3JldHVybntzZXQ6bSxleHByOmd9fTtrLmZpbHRlcj1mdW5jdGlvbihnLGgsbCxtKXtmb3IodmFyIHE9ZyxwPVtdLHY9aCx0LHksUz1oJiZoWzBdJiZ4KGhbMF0pO2cmJmgubGVuZ3RoOyl7Zm9yKHZhciBIIGluIG4uZmlsdGVyKWlmKCh0PW4ubGVmdE1hdGNoW0hdLmV4ZWMoZykpIT1udWxsJiZ0WzJdKXt2YXIgTT1uLmZpbHRlcltIXSxJLEQ7RD10WzFdO3k9ZmFsc2U7dC5zcGxpY2UoMSwxKTtpZihELnN1YnN0cihELmxlbmd0aC0KMSkhPT0iXFwiKXtpZih2PT09cClwPVtdO2lmKG4ucHJlRmlsdGVyW0hdKWlmKHQ9bi5wcmVGaWx0ZXJbSF0odCx2LGwscCxtLFMpKXtpZih0PT09dHJ1ZSljb250aW51ZX1lbHNlIHk9ST10cnVlO2lmKHQpZm9yKHZhciBVPTA7KEQ9dltVXSkhPW51bGw7VSsrKWlmKEQpe0k9TShELHQsVSx2KTt2YXIgSGE9bV4hIUk7aWYobCYmSSE9bnVsbClpZihIYSl5PXRydWU7ZWxzZSB2W1VdPWZhbHNlO2Vsc2UgaWYoSGEpe3AucHVzaChEKTt5PXRydWV9fWlmKEkhPT13KXtsfHwodj1wKTtnPWcucmVwbGFjZShuLm1hdGNoW0hdLCIiKTtpZigheSlyZXR1cm5bXTticmVha319fWlmKGc9PT1xKWlmKHk9PW51bGwpay5lcnJvcihnKTtlbHNlIGJyZWFrO3E9Z31yZXR1cm4gdn07ay5lcnJvcj1mdW5jdGlvbihnKXt0aHJvdyJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBleHByZXNzaW9uOiAiK2c7fTt2YXIgbj1rLnNlbGVjdG9ycz17b3JkZXI6WyJJRCIsIk5BTUUiLCJUQUciXSxtYXRjaDp7SUQ6LyMoKD86W1x3XHUwMGMwLVx1RkZGRi1dfFxcLikrKS8sCkNMQVNTOi9cLigoPzpbXHdcdTAwYzAtXHVGRkZGLV18XFwuKSspLyxOQU1FOi9cW25hbWU9WyciXSooKD86W1x3XHUwMGMwLVx1RkZGRi1dfFxcLikrKVsnIl0qXF0vLEFUVFI6L1xbXHMqKCg/Oltcd1x1MDBjMC1cdUZGRkYtXXxcXC4pKylccyooPzooXFM/PSlccyooWyciXSopKC4qPylcM3wpXHMqXF0vLFRBRzovXigoPzpbXHdcdTAwYzAtXHVGRkZGXCotXXxcXC4pKykvLENISUxEOi86KG9ubHl8bnRofGxhc3R8Zmlyc3QpLWNoaWxkKD86XCgoZXZlbnxvZGR8W1xkbistXSopXCkpPy8sUE9TOi86KG50aHxlcXxndHxsdHxmaXJzdHxsYXN0fGV2ZW58b2RkKSg/OlwoKFxkKilcKSk/KD89W14tXXwkKS8sUFNFVURPOi86KCg/Oltcd1x1MDBjMC1cdUZGRkYtXXxcXC4pKykoPzpcKChbJyJdPykoKD86XChbXlwpXStcKXxbXlwoXCldKikrKVwyXCkpPy99LGxlZnRNYXRjaDp7fSxhdHRyTWFwOnsiY2xhc3MiOiJjbGFzc05hbWUiLCJmb3IiOiJodG1sRm9yIn0sYXR0ckhhbmRsZTp7aHJlZjpmdW5jdGlvbihnKXtyZXR1cm4gZy5nZXRBdHRyaWJ1dGUoImhyZWYiKX19LApyZWxhdGl2ZTp7IisiOmZ1bmN0aW9uKGcsaCl7dmFyIGw9dHlwZW9mIGg9PT0ic3RyaW5nIixtPWwmJiEvXFcvLnRlc3QoaCk7bD1sJiYhbTtpZihtKWg9aC50b0xvd2VyQ2FzZSgpO209MDtmb3IodmFyIHE9Zy5sZW5ndGgscDttPHE7bSsrKWlmKHA9Z1ttXSl7Zm9yKDsocD1wLnByZXZpb3VzU2libGluZykmJnAubm9kZVR5cGUhPT0xOyk7Z1ttXT1sfHxwJiZwLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1oP3B8fGZhbHNlOnA9PT1ofWwmJmsuZmlsdGVyKGgsZyx0cnVlKX0sIj4iOmZ1bmN0aW9uKGcsaCl7dmFyIGw9dHlwZW9mIGg9PT0ic3RyaW5nIjtpZihsJiYhL1xXLy50ZXN0KGgpKXtoPWgudG9Mb3dlckNhc2UoKTtmb3IodmFyIG09MCxxPWcubGVuZ3RoO208cTttKyspe3ZhciBwPWdbbV07aWYocCl7bD1wLnBhcmVudE5vZGU7Z1ttXT1sLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1oP2w6ZmFsc2V9fX1lbHNle209MDtmb3IocT1nLmxlbmd0aDttPHE7bSsrKWlmKHA9Z1ttXSlnW21dPQpsP3AucGFyZW50Tm9kZTpwLnBhcmVudE5vZGU9PT1oO2wmJmsuZmlsdGVyKGgsZyx0cnVlKX19LCIiOmZ1bmN0aW9uKGcsaCxsKXt2YXIgbT1lKysscT1kO2lmKHR5cGVvZiBoPT09InN0cmluZyImJiEvXFcvLnRlc3QoaCkpe3ZhciBwPWg9aC50b0xvd2VyQ2FzZSgpO3E9Yn1xKCJwYXJlbnROb2RlIixoLG0sZyxwLGwpfSwifiI6ZnVuY3Rpb24oZyxoLGwpe3ZhciBtPWUrKyxxPWQ7aWYodHlwZW9mIGg9PT0ic3RyaW5nIiYmIS9cVy8udGVzdChoKSl7dmFyIHA9aD1oLnRvTG93ZXJDYXNlKCk7cT1ifXEoInByZXZpb3VzU2libGluZyIsaCxtLGcscCxsKX19LGZpbmQ6e0lEOmZ1bmN0aW9uKGcsaCxsKXtpZih0eXBlb2YgaC5nZXRFbGVtZW50QnlJZCE9PSJ1bmRlZmluZWQiJiYhbClyZXR1cm4oZz1oLmdldEVsZW1lbnRCeUlkKGdbMV0pKT9bZ106W119LE5BTUU6ZnVuY3Rpb24oZyxoKXtpZih0eXBlb2YgaC5nZXRFbGVtZW50c0J5TmFtZSE9PSJ1bmRlZmluZWQiKXt2YXIgbD1bXTsKaD1oLmdldEVsZW1lbnRzQnlOYW1lKGdbMV0pO2Zvcih2YXIgbT0wLHE9aC5sZW5ndGg7bTxxO20rKyloW21dLmdldEF0dHJpYnV0ZSgibmFtZSIpPT09Z1sxXSYmbC5wdXNoKGhbbV0pO3JldHVybiBsLmxlbmd0aD09PTA/bnVsbDpsfX0sVEFHOmZ1bmN0aW9uKGcsaCl7cmV0dXJuIGguZ2V0RWxlbWVudHNCeVRhZ05hbWUoZ1sxXSl9fSxwcmVGaWx0ZXI6e0NMQVNTOmZ1bmN0aW9uKGcsaCxsLG0scSxwKXtnPSIgIitnWzFdLnJlcGxhY2UoL1xcL2csIiIpKyIgIjtpZihwKXJldHVybiBnO3A9MDtmb3IodmFyIHY7KHY9aFtwXSkhPW51bGw7cCsrKWlmKHYpaWYocV4odi5jbGFzc05hbWUmJigiICIrdi5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKC9bXHRcbl0vZywiICIpLmluZGV4T2YoZyk+PTApKWx8fG0ucHVzaCh2KTtlbHNlIGlmKGwpaFtwXT1mYWxzZTtyZXR1cm4gZmFsc2V9LElEOmZ1bmN0aW9uKGcpe3JldHVybiBnWzFdLnJlcGxhY2UoL1xcL2csIiIpfSxUQUc6ZnVuY3Rpb24oZyl7cmV0dXJuIGdbMV0udG9Mb3dlckNhc2UoKX0sCkNISUxEOmZ1bmN0aW9uKGcpe2lmKGdbMV09PT0ibnRoIil7dmFyIGg9LygtPykoXGQqKW4oKD86XCt8LSk/XGQqKS8uZXhlYyhnWzJdPT09ImV2ZW4iJiYiMm4ifHxnWzJdPT09Im9kZCImJiIybisxInx8IS9cRC8udGVzdChnWzJdKSYmIjBuKyIrZ1syXXx8Z1syXSk7Z1syXT1oWzFdKyhoWzJdfHwxKS0wO2dbM109aFszXS0wfWdbMF09ZSsrO3JldHVybiBnfSxBVFRSOmZ1bmN0aW9uKGcsaCxsLG0scSxwKXtoPWdbMV0ucmVwbGFjZSgvXFwvZywiIik7aWYoIXAmJm4uYXR0ck1hcFtoXSlnWzFdPW4uYXR0ck1hcFtoXTtpZihnWzJdPT09In49IilnWzRdPSIgIitnWzRdKyIgIjtyZXR1cm4gZ30sUFNFVURPOmZ1bmN0aW9uKGcsaCxsLG0scSl7aWYoZ1sxXT09PSJub3QiKWlmKChmLmV4ZWMoZ1szXSl8fCIiKS5sZW5ndGg+MXx8L15cdy8udGVzdChnWzNdKSlnWzNdPWsoZ1szXSxudWxsLG51bGwsaCk7ZWxzZXtnPWsuZmlsdGVyKGdbM10saCxsLHRydWVecSk7bHx8bS5wdXNoLmFwcGx5KG0sCmcpO3JldHVybiBmYWxzZX1lbHNlIGlmKG4ubWF0Y2guUE9TLnRlc3QoZ1swXSl8fG4ubWF0Y2guQ0hJTEQudGVzdChnWzBdKSlyZXR1cm4gdHJ1ZTtyZXR1cm4gZ30sUE9TOmZ1bmN0aW9uKGcpe2cudW5zaGlmdCh0cnVlKTtyZXR1cm4gZ319LGZpbHRlcnM6e2VuYWJsZWQ6ZnVuY3Rpb24oZyl7cmV0dXJuIGcuZGlzYWJsZWQ9PT1mYWxzZSYmZy50eXBlIT09ImhpZGRlbiJ9LGRpc2FibGVkOmZ1bmN0aW9uKGcpe3JldHVybiBnLmRpc2FibGVkPT09dHJ1ZX0sY2hlY2tlZDpmdW5jdGlvbihnKXtyZXR1cm4gZy5jaGVja2VkPT09dHJ1ZX0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZyl7cmV0dXJuIGcuc2VsZWN0ZWQ9PT10cnVlfSxwYXJlbnQ6ZnVuY3Rpb24oZyl7cmV0dXJuISFnLmZpcnN0Q2hpbGR9LGVtcHR5OmZ1bmN0aW9uKGcpe3JldHVybiFnLmZpcnN0Q2hpbGR9LGhhczpmdW5jdGlvbihnLGgsbCl7cmV0dXJuISFrKGxbM10sZykubGVuZ3RofSxoZWFkZXI6ZnVuY3Rpb24oZyl7cmV0dXJuL2hcZC9pLnRlc3QoZy5ub2RlTmFtZSl9LAp0ZXh0OmZ1bmN0aW9uKGcpe3JldHVybiJ0ZXh0Ij09PWcudHlwZX0scmFkaW86ZnVuY3Rpb24oZyl7cmV0dXJuInJhZGlvIj09PWcudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24oZyl7cmV0dXJuImNoZWNrYm94Ij09PWcudHlwZX0sZmlsZTpmdW5jdGlvbihnKXtyZXR1cm4iZmlsZSI9PT1nLnR5cGV9LHBhc3N3b3JkOmZ1bmN0aW9uKGcpe3JldHVybiJwYXNzd29yZCI9PT1nLnR5cGV9LHN1Ym1pdDpmdW5jdGlvbihnKXtyZXR1cm4ic3VibWl0Ij09PWcudHlwZX0saW1hZ2U6ZnVuY3Rpb24oZyl7cmV0dXJuImltYWdlIj09PWcudHlwZX0scmVzZXQ6ZnVuY3Rpb24oZyl7cmV0dXJuInJlc2V0Ij09PWcudHlwZX0sYnV0dG9uOmZ1bmN0aW9uKGcpe3JldHVybiJidXR0b24iPT09Zy50eXBlfHxnLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iYnV0dG9uIn0saW5wdXQ6ZnVuY3Rpb24oZyl7cmV0dXJuL2lucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24vaS50ZXN0KGcubm9kZU5hbWUpfX0sCnNldEZpbHRlcnM6e2ZpcnN0OmZ1bmN0aW9uKGcsaCl7cmV0dXJuIGg9PT0wfSxsYXN0OmZ1bmN0aW9uKGcsaCxsLG0pe3JldHVybiBoPT09bS5sZW5ndGgtMX0sZXZlbjpmdW5jdGlvbihnLGgpe3JldHVybiBoJTI9PT0wfSxvZGQ6ZnVuY3Rpb24oZyxoKXtyZXR1cm4gaCUyPT09MX0sbHQ6ZnVuY3Rpb24oZyxoLGwpe3JldHVybiBoPGxbM10tMH0sZ3Q6ZnVuY3Rpb24oZyxoLGwpe3JldHVybiBoPmxbM10tMH0sbnRoOmZ1bmN0aW9uKGcsaCxsKXtyZXR1cm4gbFszXS0wPT09aH0sZXE6ZnVuY3Rpb24oZyxoLGwpe3JldHVybiBsWzNdLTA9PT1ofX0sZmlsdGVyOntQU0VVRE86ZnVuY3Rpb24oZyxoLGwsbSl7dmFyIHE9aFsxXSxwPW4uZmlsdGVyc1txXTtpZihwKXJldHVybiBwKGcsbCxoLG0pO2Vsc2UgaWYocT09PSJjb250YWlucyIpcmV0dXJuKGcudGV4dENvbnRlbnR8fGcuaW5uZXJUZXh0fHxhKFtnXSl8fCIiKS5pbmRleE9mKGhbM10pPj0wO2Vsc2UgaWYocT09PSJub3QiKXtoPQpoWzNdO2w9MDtmb3IobT1oLmxlbmd0aDtsPG07bCsrKWlmKGhbbF09PT1nKXJldHVybiBmYWxzZTtyZXR1cm4gdHJ1ZX1lbHNlIGsuZXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrcSl9LENISUxEOmZ1bmN0aW9uKGcsaCl7dmFyIGw9aFsxXSxtPWc7c3dpdGNoKGwpe2Nhc2UgIm9ubHkiOmNhc2UgImZpcnN0Ijpmb3IoO209bS5wcmV2aW91c1NpYmxpbmc7KWlmKG0ubm9kZVR5cGU9PT0xKXJldHVybiBmYWxzZTtpZihsPT09ImZpcnN0IilyZXR1cm4gdHJ1ZTttPWc7Y2FzZSAibGFzdCI6Zm9yKDttPW0ubmV4dFNpYmxpbmc7KWlmKG0ubm9kZVR5cGU9PT0xKXJldHVybiBmYWxzZTtyZXR1cm4gdHJ1ZTtjYXNlICJudGgiOmw9aFsyXTt2YXIgcT1oWzNdO2lmKGw9PT0xJiZxPT09MClyZXR1cm4gdHJ1ZTtoPWhbMF07dmFyIHA9Zy5wYXJlbnROb2RlO2lmKHAmJihwLnNpemNhY2hlIT09aHx8IWcubm9kZUluZGV4KSl7dmFyIHY9MDtmb3IobT1wLmZpcnN0Q2hpbGQ7bTttPQptLm5leHRTaWJsaW5nKWlmKG0ubm9kZVR5cGU9PT0xKW0ubm9kZUluZGV4PSsrdjtwLnNpemNhY2hlPWh9Zz1nLm5vZGVJbmRleC1xO3JldHVybiBsPT09MD9nPT09MDpnJWw9PT0wJiZnL2w+PTB9fSxJRDpmdW5jdGlvbihnLGgpe3JldHVybiBnLm5vZGVUeXBlPT09MSYmZy5nZXRBdHRyaWJ1dGUoImlkIik9PT1ofSxUQUc6ZnVuY3Rpb24oZyxoKXtyZXR1cm4gaD09PSIqIiYmZy5ub2RlVHlwZT09PTF8fGcubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWh9LENMQVNTOmZ1bmN0aW9uKGcsaCl7cmV0dXJuKCIgIisoZy5jbGFzc05hbWV8fGcuZ2V0QXR0cmlidXRlKCJjbGFzcyIpKSsiICIpLmluZGV4T2YoaCk+LTF9LEFUVFI6ZnVuY3Rpb24oZyxoKXt2YXIgbD1oWzFdO2c9bi5hdHRySGFuZGxlW2xdP24uYXR0ckhhbmRsZVtsXShnKTpnW2xdIT1udWxsP2dbbF06Zy5nZXRBdHRyaWJ1dGUobCk7bD1nKyIiO3ZhciBtPWhbMl07aD1oWzRdO3JldHVybiBnPT1udWxsP209PT0iIT0iOm09PT0KIj0iP2w9PT1oOm09PT0iKj0iP2wuaW5kZXhPZihoKT49MDptPT09In49Ij8oIiAiK2wrIiAiKS5pbmRleE9mKGgpPj0wOiFoP2wmJmchPT1mYWxzZTptPT09IiE9Ij9sIT09aDptPT09Il49Ij9sLmluZGV4T2YoaCk9PT0wOm09PT0iJD0iP2wuc3Vic3RyKGwubGVuZ3RoLWgubGVuZ3RoKT09PWg6bT09PSJ8PSI/bD09PWh8fGwuc3Vic3RyKDAsaC5sZW5ndGgrMSk9PT1oKyItIjpmYWxzZX0sUE9TOmZ1bmN0aW9uKGcsaCxsLG0pe3ZhciBxPW4uc2V0RmlsdGVyc1toWzJdXTtpZihxKXJldHVybiBxKGcsbCxoLG0pfX19LHI9bi5tYXRjaC5QT1M7Zm9yKHZhciB1IGluIG4ubWF0Y2gpe24ubWF0Y2hbdV09bmV3IFJlZ0V4cChuLm1hdGNoW3VdLnNvdXJjZSsvKD8hW15cW10qXF0pKD8hW15cKF0qXCkpLy5zb3VyY2UpO24ubGVmdE1hdGNoW3VdPW5ldyBSZWdFeHAoLyheKD86LnxccnxcbikqPykvLnNvdXJjZStuLm1hdGNoW3VdLnNvdXJjZS5yZXBsYWNlKC9cXChcZCspL2csZnVuY3Rpb24oZywKaCl7cmV0dXJuIlxcIisoaC0wKzEpfSkpfXZhciB6PWZ1bmN0aW9uKGcsaCl7Zz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChnLDApO2lmKGgpe2gucHVzaC5hcHBseShoLGcpO3JldHVybiBofXJldHVybiBnfTt0cnl7QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwocy5kb2N1bWVudEVsZW1lbnQuY2hpbGROb2RlcywwKX1jYXRjaChDKXt6PWZ1bmN0aW9uKGcsaCl7aD1ofHxbXTtpZihqLmNhbGwoZyk9PT0iW29iamVjdCBBcnJheV0iKUFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGgsZyk7ZWxzZSBpZih0eXBlb2YgZy5sZW5ndGg9PT0ibnVtYmVyIilmb3IodmFyIGw9MCxtPWcubGVuZ3RoO2w8bTtsKyspaC5wdXNoKGdbbF0pO2Vsc2UgZm9yKGw9MDtnW2xdO2wrKyloLnB1c2goZ1tsXSk7cmV0dXJuIGh9fXZhciBCO2lmKHMuZG9jdW1lbnRFbGVtZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKUI9ZnVuY3Rpb24oZyxoKXtpZighZy5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbnx8CiFoLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKXtpZihnPT1oKWk9dHJ1ZTtyZXR1cm4gZy5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8tMToxfWc9Zy5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihoKSY0Py0xOmc9PT1oPzA6MTtpZihnPT09MClpPXRydWU7cmV0dXJuIGd9O2Vsc2UgaWYoInNvdXJjZUluZGV4ImluIHMuZG9jdW1lbnRFbGVtZW50KUI9ZnVuY3Rpb24oZyxoKXtpZighZy5zb3VyY2VJbmRleHx8IWguc291cmNlSW5kZXgpe2lmKGc9PWgpaT10cnVlO3JldHVybiBnLnNvdXJjZUluZGV4Py0xOjF9Zz1nLnNvdXJjZUluZGV4LWguc291cmNlSW5kZXg7aWYoZz09PTApaT10cnVlO3JldHVybiBnfTtlbHNlIGlmKHMuY3JlYXRlUmFuZ2UpQj1mdW5jdGlvbihnLGgpe2lmKCFnLm93bmVyRG9jdW1lbnR8fCFoLm93bmVyRG9jdW1lbnQpe2lmKGc9PWgpaT10cnVlO3JldHVybiBnLm93bmVyRG9jdW1lbnQ/LTE6MX12YXIgbD1nLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxtPQpoLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtsLnNldFN0YXJ0KGcsMCk7bC5zZXRFbmQoZywwKTttLnNldFN0YXJ0KGgsMCk7bS5zZXRFbmQoaCwwKTtnPWwuY29tcGFyZUJvdW5kYXJ5UG9pbnRzKFJhbmdlLlNUQVJUX1RPX0VORCxtKTtpZihnPT09MClpPXRydWU7cmV0dXJuIGd9OyhmdW5jdGlvbigpe3ZhciBnPXMuY3JlYXRlRWxlbWVudCgiZGl2IiksaD0ic2NyaXB0IisobmV3IERhdGUpLmdldFRpbWUoKTtnLmlubmVySFRNTD0iPGEgbmFtZT0nIitoKyInLz4iO3ZhciBsPXMuZG9jdW1lbnRFbGVtZW50O2wuaW5zZXJ0QmVmb3JlKGcsbC5maXJzdENoaWxkKTtpZihzLmdldEVsZW1lbnRCeUlkKGgpKXtuLmZpbmQuSUQ9ZnVuY3Rpb24obSxxLHApe2lmKHR5cGVvZiBxLmdldEVsZW1lbnRCeUlkIT09InVuZGVmaW5lZCImJiFwKXJldHVybihxPXEuZ2V0RWxlbWVudEJ5SWQobVsxXSkpP3EuaWQ9PT1tWzFdfHx0eXBlb2YgcS5nZXRBdHRyaWJ1dGVOb2RlIT09InVuZGVmaW5lZCImJgpxLmdldEF0dHJpYnV0ZU5vZGUoImlkIikubm9kZVZhbHVlPT09bVsxXT9bcV06dzpbXX07bi5maWx0ZXIuSUQ9ZnVuY3Rpb24obSxxKXt2YXIgcD10eXBlb2YgbS5nZXRBdHRyaWJ1dGVOb2RlIT09InVuZGVmaW5lZCImJm0uZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gbS5ub2RlVHlwZT09PTEmJnAmJnAubm9kZVZhbHVlPT09cX19bC5yZW1vdmVDaGlsZChnKTtsPWc9bnVsbH0pKCk7KGZ1bmN0aW9uKCl7dmFyIGc9cy5jcmVhdGVFbGVtZW50KCJkaXYiKTtnLmFwcGVuZENoaWxkKHMuY3JlYXRlQ29tbWVudCgiIikpO2lmKGcuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKS5sZW5ndGg+MCluLmZpbmQuVEFHPWZ1bmN0aW9uKGgsbCl7bD1sLmdldEVsZW1lbnRzQnlUYWdOYW1lKGhbMV0pO2lmKGhbMV09PT0iKiIpe2g9W107Zm9yKHZhciBtPTA7bFttXTttKyspbFttXS5ub2RlVHlwZT09PTEmJmgucHVzaChsW21dKTtsPWh9cmV0dXJuIGx9O2cuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IjsKaWYoZy5maXJzdENoaWxkJiZ0eXBlb2YgZy5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSE9PSJ1bmRlZmluZWQiJiZnLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIikhPT0iIyIpbi5hdHRySGFuZGxlLmhyZWY9ZnVuY3Rpb24oaCl7cmV0dXJuIGguZ2V0QXR0cmlidXRlKCJocmVmIiwyKX07Zz1udWxsfSkoKTtzLnF1ZXJ5U2VsZWN0b3JBbGwmJmZ1bmN0aW9uKCl7dmFyIGc9ayxoPXMuY3JlYXRlRWxlbWVudCgiZGl2Iik7aC5pbm5lckhUTUw9IjxwIGNsYXNzPSdURVNUJz48L3A+IjtpZighKGgucXVlcnlTZWxlY3RvckFsbCYmaC5xdWVyeVNlbGVjdG9yQWxsKCIuVEVTVCIpLmxlbmd0aD09PTApKXtrPWZ1bmN0aW9uKG0scSxwLHYpe3E9cXx8cztpZighdiYmcS5ub2RlVHlwZT09PTkmJiF4KHEpKXRyeXtyZXR1cm4geihxLnF1ZXJ5U2VsZWN0b3JBbGwobSkscCl9Y2F0Y2godCl7fXJldHVybiBnKG0scSxwLHYpfTtmb3IodmFyIGwgaW4gZylrW2xdPWdbbF07aD1udWxsfX0oKTsKKGZ1bmN0aW9uKCl7dmFyIGc9cy5jcmVhdGVFbGVtZW50KCJkaXYiKTtnLmlubmVySFRNTD0iPGRpdiBjbGFzcz0ndGVzdCBlJz48L2Rpdj48ZGl2IGNsYXNzPSd0ZXN0Jz48L2Rpdj4iO2lmKCEoIWcuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZXx8Zy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJlIikubGVuZ3RoPT09MCkpe2cubGFzdENoaWxkLmNsYXNzTmFtZT0iZSI7aWYoZy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJlIikubGVuZ3RoIT09MSl7bi5vcmRlci5zcGxpY2UoMSwwLCJDTEFTUyIpO24uZmluZC5DTEFTUz1mdW5jdGlvbihoLGwsbSl7aWYodHlwZW9mIGwuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSE9PSJ1bmRlZmluZWQiJiYhbSlyZXR1cm4gbC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGhbMV0pfTtnPW51bGx9fX0pKCk7dmFyIEU9cy5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj9mdW5jdGlvbihnLGgpe3JldHVybiEhKGcuY29tcGFyZURvY3VtZW50UG9zaXRpb24oaCkmMTYpfToKZnVuY3Rpb24oZyxoKXtyZXR1cm4gZyE9PWgmJihnLmNvbnRhaW5zP2cuY29udGFpbnMoaCk6dHJ1ZSl9LHg9ZnVuY3Rpb24oZyl7cmV0dXJuKGc9KGc/Zy5vd25lckRvY3VtZW50fHxnOjApLmRvY3VtZW50RWxlbWVudCk/Zy5ub2RlTmFtZSE9PSJIVE1MIjpmYWxzZX0sZ2E9ZnVuY3Rpb24oZyxoKXt2YXIgbD1bXSxtPSIiLHE7Zm9yKGg9aC5ub2RlVHlwZT9baF06aDtxPW4ubWF0Y2guUFNFVURPLmV4ZWMoZyk7KXttKz1xWzBdO2c9Zy5yZXBsYWNlKG4ubWF0Y2guUFNFVURPLCIiKX1nPW4ucmVsYXRpdmVbZ10/ZysiKiI6ZztxPTA7Zm9yKHZhciBwPWgubGVuZ3RoO3E8cDtxKyspayhnLGhbcV0sbCk7cmV0dXJuIGsuZmlsdGVyKG0sbCl9O2MuZmluZD1rO2MuZXhwcj1rLnNlbGVjdG9ycztjLmV4cHJbIjoiXT1jLmV4cHIuZmlsdGVycztjLnVuaXF1ZT1rLnVuaXF1ZVNvcnQ7Yy50ZXh0PWE7Yy5pc1hNTERvYz14O2MuY29udGFpbnM9RX0pKCk7dmFyIGViPS9VbnRpbCQvLGZiPS9eKD86cGFyZW50c3xwcmV2VW50aWx8cHJldkFsbCkvLApnYj0vLC87Uj1BcnJheS5wcm90b3R5cGUuc2xpY2U7dmFyIElhPWZ1bmN0aW9uKGEsYixkKXtpZihjLmlzRnVuY3Rpb24oYikpcmV0dXJuIGMuZ3JlcChhLGZ1bmN0aW9uKGUsail7cmV0dXJuISFiLmNhbGwoZSxqLGUpPT09ZH0pO2Vsc2UgaWYoYi5ub2RlVHlwZSlyZXR1cm4gYy5ncmVwKGEsZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1iPT09ZH0pO2Vsc2UgaWYodHlwZW9mIGI9PT0ic3RyaW5nIil7dmFyIGY9Yy5ncmVwKGEsZnVuY3Rpb24oZSl7cmV0dXJuIGUubm9kZVR5cGU9PT0xfSk7aWYoVWEudGVzdChiKSlyZXR1cm4gYy5maWx0ZXIoYixmLCFkKTtlbHNlIGI9Yy5maWx0ZXIoYixmKX1yZXR1cm4gYy5ncmVwKGEsZnVuY3Rpb24oZSl7cmV0dXJuIGMuaW5BcnJheShlLGIpPj0wPT09ZH0pfTtjLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXtmb3IodmFyIGI9dGhpcy5wdXNoU3RhY2soIiIsImZpbmQiLGEpLGQ9MCxmPTAsZT10aGlzLmxlbmd0aDtmPGU7ZisrKXtkPWIubGVuZ3RoOwpjLmZpbmQoYSx0aGlzW2ZdLGIpO2lmKGY+MClmb3IodmFyIGo9ZDtqPGIubGVuZ3RoO2orKylmb3IodmFyIGk9MDtpPGQ7aSsrKWlmKGJbaV09PT1iW2pdKXtiLnNwbGljZShqLS0sMSk7YnJlYWt9fXJldHVybiBifSxoYXM6ZnVuY3Rpb24oYSl7dmFyIGI9YyhhKTtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodmFyIGQ9MCxmPWIubGVuZ3RoO2Q8ZjtkKyspaWYoYy5jb250YWlucyh0aGlzLGJbZF0pKXJldHVybiB0cnVlfSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soSWEodGhpcyxhLGZhbHNlKSwibm90IixhKX0sZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhJYSh0aGlzLGEsdHJ1ZSksImZpbHRlciIsYSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEhYSYmYy5maWx0ZXIoYSx0aGlzKS5sZW5ndGg+MH0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe2lmKGMuaXNBcnJheShhKSl7dmFyIGQ9W10sZj10aGlzWzBdLGUsaj0Ke30saTtpZihmJiZhLmxlbmd0aCl7ZT0wO2Zvcih2YXIgbz1hLmxlbmd0aDtlPG87ZSsrKXtpPWFbZV07altpXXx8KGpbaV09Yy5leHByLm1hdGNoLlBPUy50ZXN0KGkpP2MoaSxifHx0aGlzLmNvbnRleHQpOmkpfWZvcig7ZiYmZi5vd25lckRvY3VtZW50JiZmIT09Yjspe2ZvcihpIGluIGope2U9altpXTtpZihlLmpxdWVyeT9lLmluZGV4KGYpPi0xOmMoZikuaXMoZSkpe2QucHVzaCh7c2VsZWN0b3I6aSxlbGVtOmZ9KTtkZWxldGUgaltpXX19Zj1mLnBhcmVudE5vZGV9fXJldHVybiBkfXZhciBrPWMuZXhwci5tYXRjaC5QT1MudGVzdChhKT9jKGEsYnx8dGhpcy5jb250ZXh0KTpudWxsO3JldHVybiB0aGlzLm1hcChmdW5jdGlvbihuLHIpe2Zvcig7ciYmci5vd25lckRvY3VtZW50JiZyIT09Yjspe2lmKGs/ay5pbmRleChyKT4tMTpjKHIpLmlzKGEpKXJldHVybiByO3I9ci5wYXJlbnROb2RlfXJldHVybiBudWxsfSl9LGluZGV4OmZ1bmN0aW9uKGEpe2lmKCFhfHx0eXBlb2YgYT09PQoic3RyaW5nIilyZXR1cm4gYy5pbkFycmF5KHRoaXNbMF0sYT9jKGEpOnRoaXMucGFyZW50KCkuY2hpbGRyZW4oKSk7cmV0dXJuIGMuaW5BcnJheShhLmpxdWVyeT9hWzBdOmEsdGhpcyl9LGFkZDpmdW5jdGlvbihhLGIpe2E9dHlwZW9mIGE9PT0ic3RyaW5nIj9jKGEsYnx8dGhpcy5jb250ZXh0KTpjLm1ha2VBcnJheShhKTtiPWMubWVyZ2UodGhpcy5nZXQoKSxhKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2socWEoYVswXSl8fHFhKGJbMF0pP2I6Yy51bmlxdWUoYikpfSxhbmRTZWxmOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWRkKHRoaXMucHJldk9iamVjdCl9fSk7Yy5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuKGE9YS5wYXJlbnROb2RlKSYmYS5ub2RlVHlwZSE9PTExP2E6bnVsbH0scGFyZW50czpmdW5jdGlvbihhKXtyZXR1cm4gYy5kaXIoYSwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBjLmRpcihhLCJwYXJlbnROb2RlIiwKZCl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGMubnRoKGEsMiwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gYy5udGgoYSwyLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gYy5kaXIoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gYy5kaXIoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsZCl7cmV0dXJuIGMuZGlyKGEsIm5leHRTaWJsaW5nIixkKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixkKXtyZXR1cm4gYy5kaXIoYSwicHJldmlvdXNTaWJsaW5nIixkKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIGMuc2libGluZyhhLnBhcmVudE5vZGUuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIGMuc2libGluZyhhLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gYy5ub2RlTmFtZShhLCJpZnJhbWUiKT8KYS5jb250ZW50RG9jdW1lbnR8fGEuY29udGVudFdpbmRvdy5kb2N1bWVudDpjLm1ha2VBcnJheShhLmNoaWxkTm9kZXMpfX0sZnVuY3Rpb24oYSxiKXtjLmZuW2FdPWZ1bmN0aW9uKGQsZil7dmFyIGU9Yy5tYXAodGhpcyxiLGQpO2ViLnRlc3QoYSl8fChmPWQpO2lmKGYmJnR5cGVvZiBmPT09InN0cmluZyIpZT1jLmZpbHRlcihmLGUpO2U9dGhpcy5sZW5ndGg+MT9jLnVuaXF1ZShlKTplO2lmKCh0aGlzLmxlbmd0aD4xfHxnYi50ZXN0KGYpKSYmZmIudGVzdChhKSllPWUucmV2ZXJzZSgpO3JldHVybiB0aGlzLnB1c2hTdGFjayhlLGEsUi5jYWxsKGFyZ3VtZW50cykuam9pbigiLCIpKX19KTtjLmV4dGVuZCh7ZmlsdGVyOmZ1bmN0aW9uKGEsYixkKXtpZihkKWE9Ijpub3QoIithKyIpIjtyZXR1cm4gYy5maW5kLm1hdGNoZXMoYSxiKX0sZGlyOmZ1bmN0aW9uKGEsYixkKXt2YXIgZj1bXTtmb3IoYT1hW2JdO2EmJmEubm9kZVR5cGUhPT05JiYoZD09PXd8fGEubm9kZVR5cGUhPT0xfHwhYyhhKS5pcyhkKSk7KXthLm5vZGVUeXBlPT09CjEmJmYucHVzaChhKTthPWFbYl19cmV0dXJuIGZ9LG50aDpmdW5jdGlvbihhLGIsZCl7Yj1ifHwxO2Zvcih2YXIgZj0wO2E7YT1hW2RdKWlmKGEubm9kZVR5cGU9PT0xJiYrK2Y9PT1iKWJyZWFrO3JldHVybiBhfSxzaWJsaW5nOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkPVtdO2E7YT1hLm5leHRTaWJsaW5nKWEubm9kZVR5cGU9PT0xJiZhIT09YiYmZC5wdXNoKGEpO3JldHVybiBkfX0pO3ZhciBKYT0vIGpRdWVyeVxkKz0iKD86XGQrfG51bGwpIi9nLFY9L15ccysvLEthPS8oPChbXHc6XSspW14+XSo/KVwvPi9nLGhiPS9eKD86YXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkkL2ksTGE9LzwoW1x3Ol0rKS8saWI9Lzx0Ym9keS9pLGpiPS88fCYjP1x3KzsvLHRhPS88c2NyaXB0fDxvYmplY3R8PGVtYmVkfDxvcHRpb258PHN0eWxlL2ksdWE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksTWE9ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBoYi50ZXN0KGQpPwphOmIrIj48LyIrZCsiPiJ9LEY9e29wdGlvbjpbMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdLGxlZ2VuZDpbMSwiPGZpZWxkc2V0PiIsIjwvZmllbGRzZXQ+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PHRib2R5PjwvdGJvZHk+PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSxhcmVhOlsxLCI8bWFwPiIsIjwvbWFwPiJdLF9kZWZhdWx0OlswLCIiLCIiXX07Ri5vcHRncm91cD1GLm9wdGlvbjtGLnRib2R5PUYudGZvb3Q9Ri5jb2xncm91cD1GLmNhcHRpb249Ri50aGVhZDtGLnRoPUYudGQ7aWYoIWMuc3VwcG9ydC5odG1sU2VyaWFsaXplKUYuX2RlZmF1bHQ9WzEsImRpdjxkaXY+IiwiPC9kaXY+Il07Yy5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7aWYoYy5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7dmFyIGQ9CmModGhpcyk7ZC50ZXh0KGEuY2FsbCh0aGlzLGIsZC50ZXh0KCkpKX0pO2lmKHR5cGVvZiBhIT09Im9iamVjdCImJmEhPT13KXJldHVybiB0aGlzLmVtcHR5KCkuYXBwZW5kKCh0aGlzWzBdJiZ0aGlzWzBdLm93bmVyRG9jdW1lbnR8fHMpLmNyZWF0ZVRleHROb2RlKGEpKTtyZXR1cm4gYy50ZXh0KHRoaXMpfSx3cmFwQWxsOmZ1bmN0aW9uKGEpe2lmKGMuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGQpe2ModGhpcykud3JhcEFsbChhLmNhbGwodGhpcyxkKSl9KTtpZih0aGlzWzBdKXt2YXIgYj1jKGEsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSh0cnVlKTt0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pO2IubWFwKGZ1bmN0aW9uKCl7Zm9yKHZhciBkPXRoaXM7ZC5maXJzdENoaWxkJiZkLmZpcnN0Q2hpbGQubm9kZVR5cGU9PT0xOylkPWQuZmlyc3RDaGlsZDtyZXR1cm4gZH0pLmFwcGVuZCh0aGlzKX1yZXR1cm4gdGhpc30sCndyYXBJbm5lcjpmdW5jdGlvbihhKXtpZihjLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtjKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9KTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9Yyh0aGlzKSxkPWIuY29udGVudHMoKTtkLmxlbmd0aD9kLndyYXBBbGwoYSk6Yi5hcHBlbmQoYSl9KX0sd3JhcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yyh0aGlzKS53cmFwQWxsKGEpfSl9LHVud3JhcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudCgpLmVhY2goZnVuY3Rpb24oKXtjLm5vZGVOYW1lKHRoaXMsImJvZHkiKXx8Yyh0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSkuZW5kKCl9LGFwcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cyx0cnVlLGZ1bmN0aW9uKGEpe3RoaXMubm9kZVR5cGU9PT0xJiZ0aGlzLmFwcGVuZENoaWxkKGEpfSl9LApwcmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLHRydWUsZnVuY3Rpb24oYSl7dGhpcy5ub2RlVHlwZT09PTEmJnRoaXMuaW5zZXJ0QmVmb3JlKGEsdGhpcy5maXJzdENoaWxkKX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGUpcmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZhbHNlLGZ1bmN0aW9uKGIpe3RoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYix0aGlzKX0pO2Vsc2UgaWYoYXJndW1lbnRzLmxlbmd0aCl7dmFyIGE9Yyhhcmd1bWVudHNbMF0pO2EucHVzaC5hcHBseShhLHRoaXMudG9BcnJheSgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYSwiYmVmb3JlIixhcmd1bWVudHMpfX0sYWZ0ZXI6ZnVuY3Rpb24oKXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGUpcmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZhbHNlLGZ1bmN0aW9uKGIpe3RoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYiwKdGhpcy5uZXh0U2libGluZyl9KTtlbHNlIGlmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBhPXRoaXMucHVzaFN0YWNrKHRoaXMsImFmdGVyIixhcmd1bWVudHMpO2EucHVzaC5hcHBseShhLGMoYXJndW1lbnRzWzBdKS50b0FycmF5KCkpO3JldHVybiBhfX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkPTAsZjsoZj10aGlzW2RdKSE9bnVsbDtkKyspaWYoIWF8fGMuZmlsdGVyKGEsW2ZdKS5sZW5ndGgpe2lmKCFiJiZmLm5vZGVUeXBlPT09MSl7Yy5jbGVhbkRhdGEoZi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKTtjLmNsZWFuRGF0YShbZl0pfWYucGFyZW50Tm9kZSYmZi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGYpfXJldHVybiB0aGlzfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgYT0wLGI7KGI9dGhpc1thXSkhPW51bGw7YSsrKWZvcihiLm5vZGVUeXBlPT09MSYmYy5jbGVhbkRhdGEoYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKTtiLmZpcnN0Q2hpbGQ7KWIucmVtb3ZlQ2hpbGQoYi5maXJzdENoaWxkKTsKcmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubWFwKGZ1bmN0aW9uKCl7aWYoIWMuc3VwcG9ydC5ub0Nsb25lRXZlbnQmJiFjLmlzWE1MRG9jKHRoaXMpKXt2YXIgZD10aGlzLm91dGVySFRNTCxmPXRoaXMub3duZXJEb2N1bWVudDtpZighZCl7ZD1mLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2QuYXBwZW5kQ2hpbGQodGhpcy5jbG9uZU5vZGUodHJ1ZSkpO2Q9ZC5pbm5lckhUTUx9cmV0dXJuIGMuY2xlYW4oW2QucmVwbGFjZShKYSwiIikucmVwbGFjZSgvPShbXj0iJz5cc10rXC8pPi9nLCc9IiQxIj4nKS5yZXBsYWNlKFYsIiIpXSxmKVswXX1lbHNlIHJldHVybiB0aGlzLmNsb25lTm9kZSh0cnVlKX0pO2lmKGE9PT10cnVlKXtyYSh0aGlzLGIpO3JhKHRoaXMuZmluZCgiKiIpLGIuZmluZCgiKiIpKX1yZXR1cm4gYn0saHRtbDpmdW5jdGlvbihhKXtpZihhPT09dylyZXR1cm4gdGhpc1swXSYmdGhpc1swXS5ub2RlVHlwZT09PTE/dGhpc1swXS5pbm5lckhUTUwucmVwbGFjZShKYSwKIiIpOm51bGw7ZWxzZSBpZih0eXBlb2YgYT09PSJzdHJpbmciJiYhdGEudGVzdChhKSYmKGMuc3VwcG9ydC5sZWFkaW5nV2hpdGVzcGFjZXx8IVYudGVzdChhKSkmJiFGWyhMYS5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSl7YT1hLnJlcGxhY2UoS2EsTWEpO3RyeXtmb3IodmFyIGI9MCxkPXRoaXMubGVuZ3RoO2I8ZDtiKyspaWYodGhpc1tiXS5ub2RlVHlwZT09PTEpe2MuY2xlYW5EYXRhKHRoaXNbYl0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSk7dGhpc1tiXS5pbm5lckhUTUw9YX19Y2F0Y2goZil7dGhpcy5lbXB0eSgpLmFwcGVuZChhKX19ZWxzZSBjLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBqPWModGhpcyksaT1qLmh0bWwoKTtqLmVtcHR5KCkuYXBwZW5kKGZ1bmN0aW9uKCl7cmV0dXJuIGEuY2FsbCh0aGlzLGUsaSl9KX0pOnRoaXMuZW1wdHkoKS5hcHBlbmQoYSk7cmV0dXJuIHRoaXN9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKGEpe2lmKHRoaXNbMF0mJgp0aGlzWzBdLnBhcmVudE5vZGUpe2lmKGMuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBkPWModGhpcyksZj1kLmh0bWwoKTtkLnJlcGxhY2VXaXRoKGEuY2FsbCh0aGlzLGIsZikpfSk7aWYodHlwZW9mIGEhPT0ic3RyaW5nIilhPWMoYSkuZGV0YWNoKCk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPXRoaXMubmV4dFNpYmxpbmcsZD10aGlzLnBhcmVudE5vZGU7Yyh0aGlzKS5yZW1vdmUoKTtiP2MoYikuYmVmb3JlKGEpOmMoZCkuYXBwZW5kKGEpfSl9ZWxzZSByZXR1cm4gdGhpcy5wdXNoU3RhY2soYyhjLmlzRnVuY3Rpb24oYSk/YSgpOmEpLCJyZXBsYWNlV2l0aCIsYSl9LGRldGFjaDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yZW1vdmUoYSx0cnVlKX0sZG9tTWFuaXA6ZnVuY3Rpb24oYSxiLGQpe2Z1bmN0aW9uIGYodSl7cmV0dXJuIGMubm9kZU5hbWUodSwidGFibGUiKT91LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdfHwKdS5hcHBlbmRDaGlsZCh1Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6dX12YXIgZSxqLGk9YVswXSxvPVtdLGs7aWYoIWMuc3VwcG9ydC5jaGVja0Nsb25lJiZhcmd1bWVudHMubGVuZ3RoPT09MyYmdHlwZW9mIGk9PT0ic3RyaW5nIiYmdWEudGVzdChpKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yyh0aGlzKS5kb21NYW5pcChhLGIsZCx0cnVlKX0pO2lmKGMuaXNGdW5jdGlvbihpKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKHUpe3ZhciB6PWModGhpcyk7YVswXT1pLmNhbGwodGhpcyx1LGI/ei5odG1sKCk6dyk7ei5kb21NYW5pcChhLGIsZCl9KTtpZih0aGlzWzBdKXtlPWkmJmkucGFyZW50Tm9kZTtlPWMuc3VwcG9ydC5wYXJlbnROb2RlJiZlJiZlLm5vZGVUeXBlPT09MTEmJmUuY2hpbGROb2Rlcy5sZW5ndGg9PT10aGlzLmxlbmd0aD97ZnJhZ21lbnQ6ZX06c2EoYSx0aGlzLG8pO2s9ZS5mcmFnbWVudDtpZihqPWsuY2hpbGROb2Rlcy5sZW5ndGg9PT0KMT8oaz1rLmZpcnN0Q2hpbGQpOmsuZmlyc3RDaGlsZCl7Yj1iJiZjLm5vZGVOYW1lKGosInRyIik7Zm9yKHZhciBuPTAscj10aGlzLmxlbmd0aDtuPHI7bisrKWQuY2FsbChiP2YodGhpc1tuXSxqKTp0aGlzW25dLG4+MHx8ZS5jYWNoZWFibGV8fHRoaXMubGVuZ3RoPjE/ay5jbG9uZU5vZGUodHJ1ZSk6ayl9by5sZW5ndGgmJmMuZWFjaChvLFFhKX1yZXR1cm4gdGhpc319KTtjLmZyYWdtZW50cz17fTtjLmVhY2goe2FwcGVuZFRvOiJhcHBlbmQiLHByZXBlbmRUbzoicHJlcGVuZCIsaW5zZXJ0QmVmb3JlOiJiZWZvcmUiLGluc2VydEFmdGVyOiJhZnRlciIscmVwbGFjZUFsbDoicmVwbGFjZVdpdGgifSxmdW5jdGlvbihhLGIpe2MuZm5bYV09ZnVuY3Rpb24oZCl7dmFyIGY9W107ZD1jKGQpO3ZhciBlPXRoaXMubGVuZ3RoPT09MSYmdGhpc1swXS5wYXJlbnROb2RlO2lmKGUmJmUubm9kZVR5cGU9PT0xMSYmZS5jaGlsZE5vZGVzLmxlbmd0aD09PTEmJmQubGVuZ3RoPT09MSl7ZFtiXSh0aGlzWzBdKTsKcmV0dXJuIHRoaXN9ZWxzZXtlPTA7Zm9yKHZhciBqPWQubGVuZ3RoO2U8ajtlKyspe3ZhciBpPShlPjA/dGhpcy5jbG9uZSh0cnVlKTp0aGlzKS5nZXQoKTtjLmZuW2JdLmFwcGx5KGMoZFtlXSksaSk7Zj1mLmNvbmNhdChpKX1yZXR1cm4gdGhpcy5wdXNoU3RhY2soZixhLGQuc2VsZWN0b3IpfX19KTtjLmV4dGVuZCh7Y2xlYW46ZnVuY3Rpb24oYSxiLGQsZil7Yj1ifHxzO2lmKHR5cGVvZiBiLmNyZWF0ZUVsZW1lbnQ9PT0idW5kZWZpbmVkIiliPWIub3duZXJEb2N1bWVudHx8YlswXSYmYlswXS5vd25lckRvY3VtZW50fHxzO2Zvcih2YXIgZT1bXSxqPTAsaTsoaT1hW2pdKSE9bnVsbDtqKyspe2lmKHR5cGVvZiBpPT09Im51bWJlciIpaSs9IiI7aWYoaSl7aWYodHlwZW9mIGk9PT0ic3RyaW5nIiYmIWpiLnRlc3QoaSkpaT1iLmNyZWF0ZVRleHROb2RlKGkpO2Vsc2UgaWYodHlwZW9mIGk9PT0ic3RyaW5nIil7aT1pLnJlcGxhY2UoS2EsTWEpO3ZhciBvPShMYS5leGVjKGkpfHxbIiIsCiIiXSlbMV0udG9Mb3dlckNhc2UoKSxrPUZbb118fEYuX2RlZmF1bHQsbj1rWzBdLHI9Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3Ioci5pbm5lckhUTUw9a1sxXStpK2tbMl07bi0tOylyPXIubGFzdENoaWxkO2lmKCFjLnN1cHBvcnQudGJvZHkpe249aWIudGVzdChpKTtvPW89PT0idGFibGUiJiYhbj9yLmZpcnN0Q2hpbGQmJnIuZmlyc3RDaGlsZC5jaGlsZE5vZGVzOmtbMV09PT0iPHRhYmxlPiImJiFuP3IuY2hpbGROb2RlczpbXTtmb3Ioaz1vLmxlbmd0aC0xO2s+PTA7LS1rKWMubm9kZU5hbWUob1trXSwidGJvZHkiKSYmIW9ba10uY2hpbGROb2Rlcy5sZW5ndGgmJm9ba10ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvW2tdKX0hYy5zdXBwb3J0LmxlYWRpbmdXaGl0ZXNwYWNlJiZWLnRlc3QoaSkmJnIuaW5zZXJ0QmVmb3JlKGIuY3JlYXRlVGV4dE5vZGUoVi5leGVjKGkpWzBdKSxyLmZpcnN0Q2hpbGQpO2k9ci5jaGlsZE5vZGVzfWlmKGkubm9kZVR5cGUpZS5wdXNoKGkpO2Vsc2UgZT0KYy5tZXJnZShlLGkpfX1pZihkKWZvcihqPTA7ZVtqXTtqKyspaWYoZiYmYy5ub2RlTmFtZShlW2pdLCJzY3JpcHQiKSYmKCFlW2pdLnR5cGV8fGVbal0udHlwZS50b0xvd2VyQ2FzZSgpPT09InRleHQvamF2YXNjcmlwdCIpKWYucHVzaChlW2pdLnBhcmVudE5vZGU/ZVtqXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVbal0pOmVbal0pO2Vsc2V7ZVtqXS5ub2RlVHlwZT09PTEmJmUuc3BsaWNlLmFwcGx5KGUsW2orMSwwXS5jb25jYXQoYy5tYWtlQXJyYXkoZVtqXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IikpKSk7ZC5hcHBlbmRDaGlsZChlW2pdKX1yZXR1cm4gZX0sY2xlYW5EYXRhOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYixkLGY9Yy5jYWNoZSxlPWMuZXZlbnQuc3BlY2lhbCxqPWMuc3VwcG9ydC5kZWxldGVFeHBhbmRvLGk9MCxvOyhvPWFbaV0pIT1udWxsO2krKylpZihkPW9bYy5leHBhbmRvXSl7Yj1mW2RdO2lmKGIuZXZlbnRzKWZvcih2YXIgayBpbiBiLmV2ZW50cyllW2tdPwpjLmV2ZW50LnJlbW92ZShvLGspOkNhKG8sayxiLmhhbmRsZSk7aWYoailkZWxldGUgb1tjLmV4cGFuZG9dO2Vsc2Ugby5yZW1vdmVBdHRyaWJ1dGUmJm8ucmVtb3ZlQXR0cmlidXRlKGMuZXhwYW5kbyk7ZGVsZXRlIGZbZF19fX0pO3ZhciBrYj0vei0/aW5kZXh8Zm9udC0/d2VpZ2h0fG9wYWNpdHl8em9vbXxsaW5lLT9oZWlnaHQvaSxOYT0vYWxwaGFcKFteKV0qXCkvLE9hPS9vcGFjaXR5PShbXildKikvLGhhPS9mbG9hdC9pLGlhPS8tKFthLXpdKS9pZyxsYj0vKFtBLVpdKS9nLG1iPS9eLT9cZCsoPzpweCk/JC9pLG5iPS9eLT9cZC8sb2I9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LHBiPVsiTGVmdCIsIlJpZ2h0Il0scWI9WyJUb3AiLCJCb3R0b20iXSxyYj1zLmRlZmF1bHRWaWV3JiZzLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUsUGE9Yy5zdXBwb3J0LmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQiLGphPQpmdW5jdGlvbihhLGIpe3JldHVybiBiLnRvVXBwZXJDYXNlKCl9O2MuZm4uY3NzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFgodGhpcyxhLGIsdHJ1ZSxmdW5jdGlvbihkLGYsZSl7aWYoZT09PXcpcmV0dXJuIGMuY3VyQ1NTKGQsZik7aWYodHlwZW9mIGU9PT0ibnVtYmVyIiYmIWtiLnRlc3QoZikpZSs9InB4IjtjLnN0eWxlKGQsZixlKX0pfTtjLmV4dGVuZCh7c3R5bGU6ZnVuY3Rpb24oYSxiLGQpe2lmKCFhfHxhLm5vZGVUeXBlPT09M3x8YS5ub2RlVHlwZT09PTgpcmV0dXJuIHc7aWYoKGI9PT0id2lkdGgifHxiPT09ImhlaWdodCIpJiZwYXJzZUZsb2F0KGQpPDApZD13O3ZhciBmPWEuc3R5bGV8fGEsZT1kIT09dztpZighYy5zdXBwb3J0Lm9wYWNpdHkmJmI9PT0ib3BhY2l0eSIpe2lmKGUpe2Yuem9vbT0xO2I9cGFyc2VJbnQoZCwxMCkrIiI9PT0iTmFOIj8iIjoiYWxwaGEob3BhY2l0eT0iK2QqMTAwKyIpIjthPWYuZmlsdGVyfHxjLmN1ckNTUyhhLCJmaWx0ZXIiKXx8IiI7Zi5maWx0ZXI9Ck5hLnRlc3QoYSk/YS5yZXBsYWNlKE5hLGIpOmJ9cmV0dXJuIGYuZmlsdGVyJiZmLmZpbHRlci5pbmRleE9mKCJvcGFjaXR5PSIpPj0wP3BhcnNlRmxvYXQoT2EuZXhlYyhmLmZpbHRlcilbMV0pLzEwMCsiIjoiIn1pZihoYS50ZXN0KGIpKWI9UGE7Yj1iLnJlcGxhY2UoaWEsamEpO2lmKGUpZltiXT1kO3JldHVybiBmW2JdfSxjc3M6ZnVuY3Rpb24oYSxiLGQsZil7aWYoYj09PSJ3aWR0aCJ8fGI9PT0iaGVpZ2h0Iil7dmFyIGUsaj1iPT09IndpZHRoIj9wYjpxYjtmdW5jdGlvbiBpKCl7ZT1iPT09IndpZHRoIj9hLm9mZnNldFdpZHRoOmEub2Zmc2V0SGVpZ2h0O2YhPT0iYm9yZGVyIiYmYy5lYWNoKGosZnVuY3Rpb24oKXtmfHwoZS09cGFyc2VGbG9hdChjLmN1ckNTUyhhLCJwYWRkaW5nIit0aGlzLHRydWUpKXx8MCk7aWYoZj09PSJtYXJnaW4iKWUrPXBhcnNlRmxvYXQoYy5jdXJDU1MoYSwibWFyZ2luIit0aGlzLHRydWUpKXx8MDtlbHNlIGUtPXBhcnNlRmxvYXQoYy5jdXJDU1MoYSwKImJvcmRlciIrdGhpcysiV2lkdGgiLHRydWUpKXx8MH0pfWEub2Zmc2V0V2lkdGghPT0wP2koKTpjLnN3YXAoYSxvYixpKTtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLnJvdW5kKGUpKX1yZXR1cm4gYy5jdXJDU1MoYSxiLGQpfSxjdXJDU1M6ZnVuY3Rpb24oYSxiLGQpe3ZhciBmLGU9YS5zdHlsZTtpZighYy5zdXBwb3J0Lm9wYWNpdHkmJmI9PT0ib3BhY2l0eSImJmEuY3VycmVudFN0eWxlKXtmPU9hLnRlc3QoYS5jdXJyZW50U3R5bGUuZmlsdGVyfHwiIik/cGFyc2VGbG9hdChSZWdFeHAuJDEpLzEwMCsiIjoiIjtyZXR1cm4gZj09PSIiPyIxIjpmfWlmKGhhLnRlc3QoYikpYj1QYTtpZighZCYmZSYmZVtiXSlmPWVbYl07ZWxzZSBpZihyYil7aWYoaGEudGVzdChiKSliPSJmbG9hdCI7Yj1iLnJlcGxhY2UobGIsIi0kMSIpLnRvTG93ZXJDYXNlKCk7ZT1hLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7aWYoIWUpcmV0dXJuIG51bGw7aWYoYT1lLmdldENvbXB1dGVkU3R5bGUoYSxudWxsKSlmPQphLmdldFByb3BlcnR5VmFsdWUoYik7aWYoYj09PSJvcGFjaXR5IiYmZj09PSIiKWY9IjEifWVsc2UgaWYoYS5jdXJyZW50U3R5bGUpe2Q9Yi5yZXBsYWNlKGlhLGphKTtmPWEuY3VycmVudFN0eWxlW2JdfHxhLmN1cnJlbnRTdHlsZVtkXTtpZighbWIudGVzdChmKSYmbmIudGVzdChmKSl7Yj1lLmxlZnQ7dmFyIGo9YS5ydW50aW1lU3R5bGUubGVmdDthLnJ1bnRpbWVTdHlsZS5sZWZ0PWEuY3VycmVudFN0eWxlLmxlZnQ7ZS5sZWZ0PWQ9PT0iZm9udFNpemUiPyIxZW0iOmZ8fDA7Zj1lLnBpeGVsTGVmdCsicHgiO2UubGVmdD1iO2EucnVudGltZVN0eWxlLmxlZnQ9an19cmV0dXJuIGZ9LHN3YXA6ZnVuY3Rpb24oYSxiLGQpe3ZhciBmPXt9O2Zvcih2YXIgZSBpbiBiKXtmW2VdPWEuc3R5bGVbZV07YS5zdHlsZVtlXT1iW2VdfWQuY2FsbChhKTtmb3IoZSBpbiBiKWEuc3R5bGVbZV09ZltlXX19KTtpZihjLmV4cHImJmMuZXhwci5maWx0ZXJzKXtjLmV4cHIuZmlsdGVycy5oaWRkZW49ZnVuY3Rpb24oYSl7dmFyIGI9CmEub2Zmc2V0V2lkdGgsZD1hLm9mZnNldEhlaWdodCxmPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJ0ciI7cmV0dXJuIGI9PT0wJiZkPT09MCYmIWY/dHJ1ZTpiPjAmJmQ+MCYmIWY/ZmFsc2U6Yy5jdXJDU1MoYSwiZGlzcGxheSIpPT09Im5vbmUifTtjLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFjLmV4cHIuZmlsdGVycy5oaWRkZW4oYSl9fXZhciBzYj1KKCksdGI9LzxzY3JpcHQoLnxccykqP1wvc2NyaXB0Pi9naSx1Yj0vc2VsZWN0fHRleHRhcmVhL2ksdmI9L2NvbG9yfGRhdGV8ZGF0ZXRpbWV8ZW1haWx8aGlkZGVufG1vbnRofG51bWJlcnxwYXNzd29yZHxyYW5nZXxzZWFyY2h8dGVsfHRleHR8dGltZXx1cmx8d2Vlay9pLE49Lz1cPygmfCQpLyxrYT0vXD8vLHdiPS8oXD98JilfPS4qPygmfCQpLyx4Yj0vXihcdys6KT9cL1wvKFteXC8/I10rKS8seWI9LyUyMC9nLHpiPWMuZm4ubG9hZDtjLmZuLmV4dGVuZCh7bG9hZDpmdW5jdGlvbihhLGIsZCl7aWYodHlwZW9mIGEhPT0KInN0cmluZyIpcmV0dXJuIHpiLmNhbGwodGhpcyxhKTtlbHNlIGlmKCF0aGlzLmxlbmd0aClyZXR1cm4gdGhpczt2YXIgZj1hLmluZGV4T2YoIiAiKTtpZihmPj0wKXt2YXIgZT1hLnNsaWNlKGYsYS5sZW5ndGgpO2E9YS5zbGljZSgwLGYpfWY9IkdFVCI7aWYoYilpZihjLmlzRnVuY3Rpb24oYikpe2Q9YjtiPW51bGx9ZWxzZSBpZih0eXBlb2YgYj09PSJvYmplY3QiKXtiPWMucGFyYW0oYixjLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCk7Zj0iUE9TVCJ9dmFyIGo9dGhpcztjLmFqYXgoe3VybDphLHR5cGU6ZixkYXRhVHlwZToiaHRtbCIsZGF0YTpiLGNvbXBsZXRlOmZ1bmN0aW9uKGksbyl7aWYobz09PSJzdWNjZXNzInx8bz09PSJub3Rtb2RpZmllZCIpai5odG1sKGU/YygiPGRpdiAvPiIpLmFwcGVuZChpLnJlc3BvbnNlVGV4dC5yZXBsYWNlKHRiLCIiKSkuZmluZChlKTppLnJlc3BvbnNlVGV4dCk7ZCYmai5lYWNoKGQsW2kucmVzcG9uc2VUZXh0LG8saV0pfX0pO3JldHVybiB0aGlzfSwKc2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGMucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50cz9jLm1ha2VBcnJheSh0aGlzLmVsZW1lbnRzKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZSYmIXRoaXMuZGlzYWJsZWQmJih0aGlzLmNoZWNrZWR8fHViLnRlc3QodGhpcy5ub2RlTmFtZSl8fHZiLnRlc3QodGhpcy50eXBlKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXthPWModGhpcykudmFsKCk7cmV0dXJuIGE9PW51bGw/bnVsbDpjLmlzQXJyYXkoYSk/Yy5tYXAoYSxmdW5jdGlvbihkKXtyZXR1cm57bmFtZTpiLm5hbWUsdmFsdWU6ZH19KTp7bmFtZTpiLm5hbWUsdmFsdWU6YX19KS5nZXQoKX19KTtjLmVhY2goImFqYXhTdGFydCBhamF4U3RvcCBhamF4Q29tcGxldGUgYWpheEVycm9yIGFqYXhTdWNjZXNzIGFqYXhTZW5kIi5zcGxpdCgiICIpLApmdW5jdGlvbihhLGIpe2MuZm5bYl09ZnVuY3Rpb24oZCl7cmV0dXJuIHRoaXMuYmluZChiLGQpfX0pO2MuZXh0ZW5kKHtnZXQ6ZnVuY3Rpb24oYSxiLGQsZil7aWYoYy5pc0Z1bmN0aW9uKGIpKXtmPWZ8fGQ7ZD1iO2I9bnVsbH1yZXR1cm4gYy5hamF4KHt0eXBlOiJHRVQiLHVybDphLGRhdGE6YixzdWNjZXNzOmQsZGF0YVR5cGU6Zn0pfSxnZXRTY3JpcHQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYy5nZXQoYSxudWxsLGIsInNjcmlwdCIpfSxnZXRKU09OOmZ1bmN0aW9uKGEsYixkKXtyZXR1cm4gYy5nZXQoYSxiLGQsImpzb24iKX0scG9zdDpmdW5jdGlvbihhLGIsZCxmKXtpZihjLmlzRnVuY3Rpb24oYikpe2Y9Znx8ZDtkPWI7Yj17fX1yZXR1cm4gYy5hamF4KHt0eXBlOiJQT1NUIix1cmw6YSxkYXRhOmIsc3VjY2VzczpkLGRhdGFUeXBlOmZ9KX0sYWpheFNldHVwOmZ1bmN0aW9uKGEpe2MuZXh0ZW5kKGMuYWpheFNldHRpbmdzLGEpfSxhamF4U2V0dGluZ3M6e3VybDpsb2NhdGlvbi5ocmVmLApnbG9iYWw6dHJ1ZSx0eXBlOiJHRVQiLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiLHByb2Nlc3NEYXRhOnRydWUsYXN5bmM6dHJ1ZSx4aHI6QS5YTUxIdHRwUmVxdWVzdCYmKEEubG9jYXRpb24ucHJvdG9jb2whPT0iZmlsZToifHwhQS5BY3RpdmVYT2JqZWN0KT9mdW5jdGlvbigpe3JldHVybiBuZXcgQS5YTUxIdHRwUmVxdWVzdH06ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBBLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2goYSl7fX0sYWNjZXB0czp7eG1sOiJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sIixodG1sOiJ0ZXh0L2h0bWwiLHNjcmlwdDoidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0Iixqc29uOiJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L2phdmFzY3JpcHQiLHRleHQ6InRleHQvcGxhaW4iLF9kZWZhdWx0OiIqLyoifX0sbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheDpmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7ZS5zdWNjZXNzJiYKZS5zdWNjZXNzLmNhbGwoayxvLGkseCk7ZS5nbG9iYWwmJmYoImFqYXhTdWNjZXNzIixbeCxlXSl9ZnVuY3Rpb24gZCgpe2UuY29tcGxldGUmJmUuY29tcGxldGUuY2FsbChrLHgsaSk7ZS5nbG9iYWwmJmYoImFqYXhDb21wbGV0ZSIsW3gsZV0pO2UuZ2xvYmFsJiYhLS1jLmFjdGl2ZSYmYy5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIpfWZ1bmN0aW9uIGYocSxwKXsoZS5jb250ZXh0P2MoZS5jb250ZXh0KTpjLmV2ZW50KS50cmlnZ2VyKHEscCl9dmFyIGU9Yy5leHRlbmQodHJ1ZSx7fSxjLmFqYXhTZXR0aW5ncyxhKSxqLGksbyxrPWEmJmEuY29udGV4dHx8ZSxuPWUudHlwZS50b1VwcGVyQ2FzZSgpO2lmKGUuZGF0YSYmZS5wcm9jZXNzRGF0YSYmdHlwZW9mIGUuZGF0YSE9PSJzdHJpbmciKWUuZGF0YT1jLnBhcmFtKGUuZGF0YSxlLnRyYWRpdGlvbmFsKTtpZihlLmRhdGFUeXBlPT09Impzb25wIil7aWYobj09PSJHRVQiKU4udGVzdChlLnVybCl8fChlLnVybCs9KGthLnRlc3QoZS51cmwpPwoiJiI6Ij8iKSsoZS5qc29ucHx8ImNhbGxiYWNrIikrIj0/Iik7ZWxzZSBpZighZS5kYXRhfHwhTi50ZXN0KGUuZGF0YSkpZS5kYXRhPShlLmRhdGE/ZS5kYXRhKyImIjoiIikrKGUuanNvbnB8fCJjYWxsYmFjayIpKyI9PyI7ZS5kYXRhVHlwZT0ianNvbiJ9aWYoZS5kYXRhVHlwZT09PSJqc29uIiYmKGUuZGF0YSYmTi50ZXN0KGUuZGF0YSl8fE4udGVzdChlLnVybCkpKXtqPWUuanNvbnBDYWxsYmFja3x8Impzb25wIitzYisrO2lmKGUuZGF0YSllLmRhdGE9KGUuZGF0YSsiIikucmVwbGFjZShOLCI9IitqKyIkMSIpO2UudXJsPWUudXJsLnJlcGxhY2UoTiwiPSIraisiJDEiKTtlLmRhdGFUeXBlPSJzY3JpcHQiO0Fbal09QVtqXXx8ZnVuY3Rpb24ocSl7bz1xO2IoKTtkKCk7QVtqXT13O3RyeXtkZWxldGUgQVtqXX1jYXRjaChwKXt9eiYmei5yZW1vdmVDaGlsZChDKX19aWYoZS5kYXRhVHlwZT09PSJzY3JpcHQiJiZlLmNhY2hlPT09bnVsbCllLmNhY2hlPWZhbHNlO2lmKGUuY2FjaGU9PT0KZmFsc2UmJm49PT0iR0VUIil7dmFyIHI9SigpLHU9ZS51cmwucmVwbGFjZSh3YiwiJDFfPSIrcisiJDIiKTtlLnVybD11Kyh1PT09ZS51cmw/KGthLnRlc3QoZS51cmwpPyImIjoiPyIpKyJfPSIrcjoiIil9aWYoZS5kYXRhJiZuPT09IkdFVCIpZS51cmwrPShrYS50ZXN0KGUudXJsKT8iJiI6Ij8iKStlLmRhdGE7ZS5nbG9iYWwmJiFjLmFjdGl2ZSsrJiZjLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpO3I9KHI9eGIuZXhlYyhlLnVybCkpJiYoclsxXSYmclsxXSE9PWxvY2F0aW9uLnByb3RvY29sfHxyWzJdIT09bG9jYXRpb24uaG9zdCk7aWYoZS5kYXRhVHlwZT09PSJzY3JpcHQiJiZuPT09IkdFVCImJnIpe3ZhciB6PXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8cy5kb2N1bWVudEVsZW1lbnQsQz1zLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO0Muc3JjPWUudXJsO2lmKGUuc2NyaXB0Q2hhcnNldClDLmNoYXJzZXQ9ZS5zY3JpcHRDaGFyc2V0O2lmKCFqKXt2YXIgQj0KZmFsc2U7Qy5vbmxvYWQ9Qy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZighQiYmKCF0aGlzLnJlYWR5U3RhdGV8fHRoaXMucmVhZHlTdGF0ZT09PSJsb2FkZWQifHx0aGlzLnJlYWR5U3RhdGU9PT0iY29tcGxldGUiKSl7Qj10cnVlO2IoKTtkKCk7Qy5vbmxvYWQ9Qy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbDt6JiZDLnBhcmVudE5vZGUmJnoucmVtb3ZlQ2hpbGQoQyl9fX16Lmluc2VydEJlZm9yZShDLHouZmlyc3RDaGlsZCk7cmV0dXJuIHd9dmFyIEU9ZmFsc2UseD1lLnhocigpO2lmKHgpe2UudXNlcm5hbWU/eC5vcGVuKG4sZS51cmwsZS5hc3luYyxlLnVzZXJuYW1lLGUucGFzc3dvcmQpOngub3BlbihuLGUudXJsLGUuYXN5bmMpO3RyeXtpZihlLmRhdGF8fGEmJmEuY29udGVudFR5cGUpeC5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGUuY29udGVudFR5cGUpO2lmKGUuaWZNb2RpZmllZCl7Yy5sYXN0TW9kaWZpZWRbZS51cmxdJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIiwKYy5sYXN0TW9kaWZpZWRbZS51cmxdKTtjLmV0YWdbZS51cmxdJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLGMuZXRhZ1tlLnVybF0pfXJ8fHguc2V0UmVxdWVzdEhlYWRlcigiWC1SZXF1ZXN0ZWQtV2l0aCIsIlhNTEh0dHBSZXF1ZXN0Iik7eC5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLGUuZGF0YVR5cGUmJmUuYWNjZXB0c1tlLmRhdGFUeXBlXT9lLmFjY2VwdHNbZS5kYXRhVHlwZV0rIiwgKi8qIjplLmFjY2VwdHMuX2RlZmF1bHQpfWNhdGNoKGdhKXt9aWYoZS5iZWZvcmVTZW5kJiZlLmJlZm9yZVNlbmQuY2FsbChrLHgsZSk9PT1mYWxzZSl7ZS5nbG9iYWwmJiEtLWMuYWN0aXZlJiZjLmV2ZW50LnRyaWdnZXIoImFqYXhTdG9wIik7eC5hYm9ydCgpO3JldHVybiBmYWxzZX1lLmdsb2JhbCYmZigiYWpheFNlbmQiLFt4LGVdKTt2YXIgZz14Lm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbihxKXtpZigheHx8eC5yZWFkeVN0YXRlPT09MHx8cT09PSJhYm9ydCIpe0V8fApkKCk7RT10cnVlO2lmKHgpeC5vbnJlYWR5c3RhdGVjaGFuZ2U9Yy5ub29wfWVsc2UgaWYoIUUmJngmJih4LnJlYWR5U3RhdGU9PT00fHxxPT09InRpbWVvdXQiKSl7RT10cnVlO3gub25yZWFkeXN0YXRlY2hhbmdlPWMubm9vcDtpPXE9PT0idGltZW91dCI/InRpbWVvdXQiOiFjLmh0dHBTdWNjZXNzKHgpPyJlcnJvciI6ZS5pZk1vZGlmaWVkJiZjLmh0dHBOb3RNb2RpZmllZCh4LGUudXJsKT8ibm90bW9kaWZpZWQiOiJzdWNjZXNzIjt2YXIgcDtpZihpPT09InN1Y2Nlc3MiKXRyeXtvPWMuaHR0cERhdGEoeCxlLmRhdGFUeXBlLGUpfWNhdGNoKHYpe2k9InBhcnNlcmVycm9yIjtwPXZ9aWYoaT09PSJzdWNjZXNzInx8aT09PSJub3Rtb2RpZmllZCIpanx8YigpO2Vsc2UgYy5oYW5kbGVFcnJvcihlLHgsaSxwKTtkKCk7cT09PSJ0aW1lb3V0IiYmeC5hYm9ydCgpO2lmKGUuYXN5bmMpeD1udWxsfX07dHJ5e3ZhciBoPXguYWJvcnQ7eC5hYm9ydD1mdW5jdGlvbigpe3gmJmguY2FsbCh4KTsKZygiYWJvcnQiKX19Y2F0Y2gobCl7fWUuYXN5bmMmJmUudGltZW91dD4wJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7eCYmIUUmJmcoInRpbWVvdXQiKX0sZS50aW1lb3V0KTt0cnl7eC5zZW5kKG49PT0iUE9TVCJ8fG49PT0iUFVUInx8bj09PSJERUxFVEUiP2UuZGF0YTpudWxsKX1jYXRjaChtKXtjLmhhbmRsZUVycm9yKGUseCxudWxsLG0pO2QoKX1lLmFzeW5jfHxnKCk7cmV0dXJuIHh9fSxoYW5kbGVFcnJvcjpmdW5jdGlvbihhLGIsZCxmKXtpZihhLmVycm9yKWEuZXJyb3IuY2FsbChhLmNvbnRleHR8fGEsYixkLGYpO2lmKGEuZ2xvYmFsKShhLmNvbnRleHQ/YyhhLmNvbnRleHQpOmMuZXZlbnQpLnRyaWdnZXIoImFqYXhFcnJvciIsW2IsYSxmXSl9LGFjdGl2ZTowLGh0dHBTdWNjZXNzOmZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4hYS5zdGF0dXMmJmxvY2F0aW9uLnByb3RvY29sPT09ImZpbGU6Inx8YS5zdGF0dXM+PTIwMCYmYS5zdGF0dXM8MzAwfHxhLnN0YXR1cz09PTMwNHx8YS5zdGF0dXM9PT0KMTIyM3x8YS5zdGF0dXM9PT0wfWNhdGNoKGIpe31yZXR1cm4gZmFsc2V9LGh0dHBOb3RNb2RpZmllZDpmdW5jdGlvbihhLGIpe3ZhciBkPWEuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSxmPWEuZ2V0UmVzcG9uc2VIZWFkZXIoIkV0YWciKTtpZihkKWMubGFzdE1vZGlmaWVkW2JdPWQ7aWYoZiljLmV0YWdbYl09ZjtyZXR1cm4gYS5zdGF0dXM9PT0zMDR8fGEuc3RhdHVzPT09MH0saHR0cERhdGE6ZnVuY3Rpb24oYSxiLGQpe3ZhciBmPWEuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtdHlwZSIpfHwiIixlPWI9PT0ieG1sInx8IWImJmYuaW5kZXhPZigieG1sIik+PTA7YT1lP2EucmVzcG9uc2VYTUw6YS5yZXNwb25zZVRleHQ7ZSYmYS5kb2N1bWVudEVsZW1lbnQubm9kZU5hbWU9PT0icGFyc2VyZXJyb3IiJiZjLmVycm9yKCJwYXJzZXJlcnJvciIpO2lmKGQmJmQuZGF0YUZpbHRlcilhPWQuZGF0YUZpbHRlcihhLGIpO2lmKHR5cGVvZiBhPT09InN0cmluZyIpaWYoYj09PQoianNvbiJ8fCFiJiZmLmluZGV4T2YoImpzb24iKT49MClhPWMucGFyc2VKU09OKGEpO2Vsc2UgaWYoYj09PSJzY3JpcHQifHwhYiYmZi5pbmRleE9mKCJqYXZhc2NyaXB0Iik+PTApYy5nbG9iYWxFdmFsKGEpO3JldHVybiBhfSxwYXJhbTpmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGQoaSxvKXtpZihjLmlzQXJyYXkobykpYy5lYWNoKG8sZnVuY3Rpb24oayxuKXtifHwvXFtcXSQvLnRlc3QoaSk/ZihpLG4pOmQoaSsiWyIrKHR5cGVvZiBuPT09Im9iamVjdCJ8fGMuaXNBcnJheShuKT9rOiIiKSsiXSIsbil9KTtlbHNlIWImJm8hPW51bGwmJnR5cGVvZiBvPT09Im9iamVjdCI/Yy5lYWNoKG8sZnVuY3Rpb24oayxuKXtkKGkrIlsiK2srIl0iLG4pfSk6ZihpLG8pfWZ1bmN0aW9uIGYoaSxvKXtvPWMuaXNGdW5jdGlvbihvKT9vKCk6bztlW2UubGVuZ3RoXT1lbmNvZGVVUklDb21wb25lbnQoaSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChvKX12YXIgZT1bXTtpZihiPT09dyliPWMuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsOwppZihjLmlzQXJyYXkoYSl8fGEuanF1ZXJ5KWMuZWFjaChhLGZ1bmN0aW9uKCl7Zih0aGlzLm5hbWUsdGhpcy52YWx1ZSl9KTtlbHNlIGZvcih2YXIgaiBpbiBhKWQoaixhW2pdKTtyZXR1cm4gZS5qb2luKCImIikucmVwbGFjZSh5YiwiKyIpfX0pO3ZhciBsYT17fSxBYj0vdG9nZ2xlfHNob3d8aGlkZS8sQmI9L14oWystXT0pPyhbXGQrLS5dKykoLiopJC8sVyx2YT1bWyJoZWlnaHQiLCJtYXJnaW5Ub3AiLCJtYXJnaW5Cb3R0b20iLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSJdLFsid2lkdGgiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJwYWRkaW5nTGVmdCIsInBhZGRpbmdSaWdodCJdLFsib3BhY2l0eSJdXTtjLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbihhLGIpe2lmKGF8fGE9PT0wKXJldHVybiB0aGlzLmFuaW1hdGUoSygic2hvdyIsMyksYSxiKTtlbHNle2E9MDtmb3IoYj10aGlzLmxlbmd0aDthPGI7YSsrKXt2YXIgZD1jLmRhdGEodGhpc1thXSwib2xkZGlzcGxheSIpOwp0aGlzW2FdLnN0eWxlLmRpc3BsYXk9ZHx8IiI7aWYoYy5jc3ModGhpc1thXSwiZGlzcGxheSIpPT09Im5vbmUiKXtkPXRoaXNbYV0ubm9kZU5hbWU7dmFyIGY7aWYobGFbZF0pZj1sYVtkXTtlbHNle3ZhciBlPWMoIjwiK2QrIiAvPiIpLmFwcGVuZFRvKCJib2R5Iik7Zj1lLmNzcygiZGlzcGxheSIpO2lmKGY9PT0ibm9uZSIpZj0iYmxvY2siO2UucmVtb3ZlKCk7bGFbZF09Zn1jLmRhdGEodGhpc1thXSwib2xkZGlzcGxheSIsZil9fWE9MDtmb3IoYj10aGlzLmxlbmd0aDthPGI7YSsrKXRoaXNbYV0uc3R5bGUuZGlzcGxheT1jLmRhdGEodGhpc1thXSwib2xkZGlzcGxheSIpfHwiIjtyZXR1cm4gdGhpc319LGhpZGU6ZnVuY3Rpb24oYSxiKXtpZihhfHxhPT09MClyZXR1cm4gdGhpcy5hbmltYXRlKEsoImhpZGUiLDMpLGEsYik7ZWxzZXthPTA7Zm9yKGI9dGhpcy5sZW5ndGg7YTxiO2ErKyl7dmFyIGQ9Yy5kYXRhKHRoaXNbYV0sIm9sZGRpc3BsYXkiKTshZCYmZCE9PSJub25lIiYmYy5kYXRhKHRoaXNbYV0sCiJvbGRkaXNwbGF5IixjLmNzcyh0aGlzW2FdLCJkaXNwbGF5IikpfWE9MDtmb3IoYj10aGlzLmxlbmd0aDthPGI7YSsrKXRoaXNbYV0uc3R5bGUuZGlzcGxheT0ibm9uZSI7cmV0dXJuIHRoaXN9fSxfdG9nZ2xlOmMuZm4udG9nZ2xlLHRvZ2dsZTpmdW5jdGlvbihhLGIpe3ZhciBkPXR5cGVvZiBhPT09ImJvb2xlYW4iO2lmKGMuaXNGdW5jdGlvbihhKSYmYy5pc0Z1bmN0aW9uKGIpKXRoaXMuX3RvZ2dsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZWxzZSBhPT1udWxsfHxkP3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBmPWQ/YTpjKHRoaXMpLmlzKCI6aGlkZGVuIik7Yyh0aGlzKVtmPyJzaG93IjoiaGlkZSJdKCl9KTp0aGlzLmFuaW1hdGUoSygidG9nZ2xlIiwzKSxhLGIpO3JldHVybiB0aGlzfSxmYWRlVG86ZnVuY3Rpb24oYSxiLGQpe3JldHVybiB0aGlzLmZpbHRlcigiOmhpZGRlbiIpLmNzcygib3BhY2l0eSIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6Yn0sYSxkKX0sCmFuaW1hdGU6ZnVuY3Rpb24oYSxiLGQsZil7dmFyIGU9Yy5zcGVlZChiLGQsZik7aWYoYy5pc0VtcHR5T2JqZWN0KGEpKXJldHVybiB0aGlzLmVhY2goZS5jb21wbGV0ZSk7cmV0dXJuIHRoaXNbZS5xdWV1ZT09PWZhbHNlPyJlYWNoIjoicXVldWUiXShmdW5jdGlvbigpe3ZhciBqPWMuZXh0ZW5kKHt9LGUpLGksbz10aGlzLm5vZGVUeXBlPT09MSYmYyh0aGlzKS5pcygiOmhpZGRlbiIpLGs9dGhpcztmb3IoaSBpbiBhKXt2YXIgbj1pLnJlcGxhY2UoaWEsamEpO2lmKGkhPT1uKXthW25dPWFbaV07ZGVsZXRlIGFbaV07aT1ufWlmKGFbaV09PT0iaGlkZSImJm98fGFbaV09PT0ic2hvdyImJiFvKXJldHVybiBqLmNvbXBsZXRlLmNhbGwodGhpcyk7aWYoKGk9PT0iaGVpZ2h0Inx8aT09PSJ3aWR0aCIpJiZ0aGlzLnN0eWxlKXtqLmRpc3BsYXk9Yy5jc3ModGhpcywiZGlzcGxheSIpO2oub3ZlcmZsb3c9dGhpcy5zdHlsZS5vdmVyZmxvd31pZihjLmlzQXJyYXkoYVtpXSkpeyhqLnNwZWNpYWxFYXNpbmc9Cmouc3BlY2lhbEVhc2luZ3x8e30pW2ldPWFbaV1bMV07YVtpXT1hW2ldWzBdfX1pZihqLm92ZXJmbG93IT1udWxsKXRoaXMuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7ai5jdXJBbmltPWMuZXh0ZW5kKHt9LGEpO2MuZWFjaChhLGZ1bmN0aW9uKHIsdSl7dmFyIHo9bmV3IGMuZngoayxqLHIpO2lmKEFiLnRlc3QodSkpelt1PT09InRvZ2dsZSI/bz8ic2hvdyI6ImhpZGUiOnVdKGEpO2Vsc2V7dmFyIEM9QmIuZXhlYyh1KSxCPXouY3VyKHRydWUpfHwwO2lmKEMpe3U9cGFyc2VGbG9hdChDWzJdKTt2YXIgRT1DWzNdfHwicHgiO2lmKEUhPT0icHgiKXtrLnN0eWxlW3JdPSh1fHwxKStFO0I9KHV8fDEpL3ouY3VyKHRydWUpKkI7ay5zdHlsZVtyXT1CK0V9aWYoQ1sxXSl1PShDWzFdPT09Ii09Ij8tMToxKSp1K0I7ei5jdXN0b20oQix1LEUpfWVsc2Ugei5jdXN0b20oQix1LCIiKX19KTtyZXR1cm4gdHJ1ZX0pfSxzdG9wOmZ1bmN0aW9uKGEsYil7dmFyIGQ9Yy50aW1lcnM7YSYmdGhpcy5xdWV1ZShbXSk7CnRoaXMuZWFjaChmdW5jdGlvbigpe2Zvcih2YXIgZj1kLmxlbmd0aC0xO2Y+PTA7Zi0tKWlmKGRbZl0uZWxlbT09PXRoaXMpe2ImJmRbZl0odHJ1ZSk7ZC5zcGxpY2UoZiwxKX19KTtifHx0aGlzLmRlcXVldWUoKTtyZXR1cm4gdGhpc319KTtjLmVhY2goe3NsaWRlRG93bjpLKCJzaG93IiwxKSxzbGlkZVVwOksoImhpZGUiLDEpLHNsaWRlVG9nZ2xlOksoInRvZ2dsZSIsMSksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9fSxmdW5jdGlvbihhLGIpe2MuZm5bYV09ZnVuY3Rpb24oZCxmKXtyZXR1cm4gdGhpcy5hbmltYXRlKGIsZCxmKX19KTtjLmV4dGVuZCh7c3BlZWQ6ZnVuY3Rpb24oYSxiLGQpe3ZhciBmPWEmJnR5cGVvZiBhPT09Im9iamVjdCI/YTp7Y29tcGxldGU6ZHx8IWQmJmJ8fGMuaXNGdW5jdGlvbihhKSYmYSxkdXJhdGlvbjphLGVhc2luZzpkJiZifHxiJiYhYy5pc0Z1bmN0aW9uKGIpJiZifTtmLmR1cmF0aW9uPWMuZngub2ZmPzA6dHlwZW9mIGYuZHVyYXRpb249PT0KIm51bWJlciI/Zi5kdXJhdGlvbjpjLmZ4LnNwZWVkc1tmLmR1cmF0aW9uXXx8Yy5meC5zcGVlZHMuX2RlZmF1bHQ7Zi5vbGQ9Zi5jb21wbGV0ZTtmLmNvbXBsZXRlPWZ1bmN0aW9uKCl7Zi5xdWV1ZSE9PWZhbHNlJiZjKHRoaXMpLmRlcXVldWUoKTtjLmlzRnVuY3Rpb24oZi5vbGQpJiZmLm9sZC5jYWxsKHRoaXMpfTtyZXR1cm4gZn0sZWFzaW5nOntsaW5lYXI6ZnVuY3Rpb24oYSxiLGQsZil7cmV0dXJuIGQrZiphfSxzd2luZzpmdW5jdGlvbihhLGIsZCxmKXtyZXR1cm4oLU1hdGguY29zKGEqTWF0aC5QSSkvMiswLjUpKmYrZH19LHRpbWVyczpbXSxmeDpmdW5jdGlvbihhLGIsZCl7dGhpcy5vcHRpb25zPWI7dGhpcy5lbGVtPWE7dGhpcy5wcm9wPWQ7aWYoIWIub3JpZyliLm9yaWc9e319fSk7Yy5meC5wcm90b3R5cGU9e3VwZGF0ZTpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5zdGVwJiZ0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlzLm5vdyx0aGlzKTsoYy5meC5zdGVwW3RoaXMucHJvcF18fApjLmZ4LnN0ZXAuX2RlZmF1bHQpKHRoaXMpO2lmKCh0aGlzLnByb3A9PT0iaGVpZ2h0Inx8dGhpcy5wcm9wPT09IndpZHRoIikmJnRoaXMuZWxlbS5zdHlsZSl0aGlzLmVsZW0uc3R5bGUuZGlzcGxheT0iYmxvY2sifSxjdXI6ZnVuY3Rpb24oYSl7aWYodGhpcy5lbGVtW3RoaXMucHJvcF0hPW51bGwmJighdGhpcy5lbGVtLnN0eWxlfHx0aGlzLmVsZW0uc3R5bGVbdGhpcy5wcm9wXT09bnVsbCkpcmV0dXJuIHRoaXMuZWxlbVt0aGlzLnByb3BdO3JldHVybihhPXBhcnNlRmxvYXQoYy5jc3ModGhpcy5lbGVtLHRoaXMucHJvcCxhKSkpJiZhPi0xMDAwMD9hOnBhcnNlRmxvYXQoYy5jdXJDU1ModGhpcy5lbGVtLHRoaXMucHJvcCkpfHwwfSxjdXN0b206ZnVuY3Rpb24oYSxiLGQpe2Z1bmN0aW9uIGYoail7cmV0dXJuIGUuc3RlcChqKX10aGlzLnN0YXJ0VGltZT1KKCk7dGhpcy5zdGFydD1hO3RoaXMuZW5kPWI7dGhpcy51bml0PWR8fHRoaXMudW5pdHx8InB4Ijt0aGlzLm5vdz10aGlzLnN0YXJ0Owp0aGlzLnBvcz10aGlzLnN0YXRlPTA7dmFyIGU9dGhpcztmLmVsZW09dGhpcy5lbGVtO2lmKGYoKSYmYy50aW1lcnMucHVzaChmKSYmIVcpVz1zZXRJbnRlcnZhbChjLmZ4LnRpY2ssMTMpfSxzaG93OmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLm9yaWdbdGhpcy5wcm9wXT1jLnN0eWxlKHRoaXMuZWxlbSx0aGlzLnByb3ApO3RoaXMub3B0aW9ucy5zaG93PXRydWU7dGhpcy5jdXN0b20odGhpcy5wcm9wPT09IndpZHRoInx8dGhpcy5wcm9wPT09ImhlaWdodCI/MTowLHRoaXMuY3VyKCkpO2ModGhpcy5lbGVtKS5zaG93KCl9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnByb3BdPWMuc3R5bGUodGhpcy5lbGVtLHRoaXMucHJvcCk7dGhpcy5vcHRpb25zLmhpZGU9dHJ1ZTt0aGlzLmN1c3RvbSh0aGlzLmN1cigpLDApfSxzdGVwOmZ1bmN0aW9uKGEpe3ZhciBiPUooKSxkPXRydWU7aWYoYXx8Yj49dGhpcy5vcHRpb25zLmR1cmF0aW9uK3RoaXMuc3RhcnRUaW1lKXt0aGlzLm5vdz0KdGhpcy5lbmQ7dGhpcy5wb3M9dGhpcy5zdGF0ZT0xO3RoaXMudXBkYXRlKCk7dGhpcy5vcHRpb25zLmN1ckFuaW1bdGhpcy5wcm9wXT10cnVlO2Zvcih2YXIgZiBpbiB0aGlzLm9wdGlvbnMuY3VyQW5pbSlpZih0aGlzLm9wdGlvbnMuY3VyQW5pbVtmXSE9PXRydWUpZD1mYWxzZTtpZihkKXtpZih0aGlzLm9wdGlvbnMuZGlzcGxheSE9bnVsbCl7dGhpcy5lbGVtLnN0eWxlLm92ZXJmbG93PXRoaXMub3B0aW9ucy5vdmVyZmxvdzthPWMuZGF0YSh0aGlzLmVsZW0sIm9sZGRpc3BsYXkiKTt0aGlzLmVsZW0uc3R5bGUuZGlzcGxheT1hP2E6dGhpcy5vcHRpb25zLmRpc3BsYXk7aWYoYy5jc3ModGhpcy5lbGVtLCJkaXNwbGF5Iik9PT0ibm9uZSIpdGhpcy5lbGVtLnN0eWxlLmRpc3BsYXk9ImJsb2NrIn10aGlzLm9wdGlvbnMuaGlkZSYmYyh0aGlzLmVsZW0pLmhpZGUoKTtpZih0aGlzLm9wdGlvbnMuaGlkZXx8dGhpcy5vcHRpb25zLnNob3cpZm9yKHZhciBlIGluIHRoaXMub3B0aW9ucy5jdXJBbmltKWMuc3R5bGUodGhpcy5lbGVtLAplLHRoaXMub3B0aW9ucy5vcmlnW2VdKTt0aGlzLm9wdGlvbnMuY29tcGxldGUuY2FsbCh0aGlzLmVsZW0pfXJldHVybiBmYWxzZX1lbHNle2U9Yi10aGlzLnN0YXJ0VGltZTt0aGlzLnN0YXRlPWUvdGhpcy5vcHRpb25zLmR1cmF0aW9uO2E9dGhpcy5vcHRpb25zLmVhc2luZ3x8KGMuZWFzaW5nLnN3aW5nPyJzd2luZyI6ImxpbmVhciIpO3RoaXMucG9zPWMuZWFzaW5nW3RoaXMub3B0aW9ucy5zcGVjaWFsRWFzaW5nJiZ0aGlzLm9wdGlvbnMuc3BlY2lhbEVhc2luZ1t0aGlzLnByb3BdfHxhXSh0aGlzLnN0YXRlLGUsMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik7dGhpcy5ub3c9dGhpcy5zdGFydCsodGhpcy5lbmQtdGhpcy5zdGFydCkqdGhpcy5wb3M7dGhpcy51cGRhdGUoKX1yZXR1cm4gdHJ1ZX19O2MuZXh0ZW5kKGMuZngse3RpY2s6ZnVuY3Rpb24oKXtmb3IodmFyIGE9Yy50aW1lcnMsYj0wO2I8YS5sZW5ndGg7YisrKWFbYl0oKXx8YS5zcGxpY2UoYi0tLDEpO2EubGVuZ3RofHwKYy5meC5zdG9wKCl9LHN0b3A6ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKFcpO1c9bnVsbH0sc3BlZWRzOntzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LHN0ZXA6e29wYWNpdHk6ZnVuY3Rpb24oYSl7Yy5zdHlsZShhLmVsZW0sIm9wYWNpdHkiLGEubm93KX0sX2RlZmF1bHQ6ZnVuY3Rpb24oYSl7aWYoYS5lbGVtLnN0eWxlJiZhLmVsZW0uc3R5bGVbYS5wcm9wXSE9bnVsbClhLmVsZW0uc3R5bGVbYS5wcm9wXT0oYS5wcm9wPT09IndpZHRoInx8YS5wcm9wPT09ImhlaWdodCI/TWF0aC5tYXgoMCxhLm5vdyk6YS5ub3cpK2EudW5pdDtlbHNlIGEuZWxlbVthLnByb3BdPWEubm93fX19KTtpZihjLmV4cHImJmMuZXhwci5maWx0ZXJzKWMuZXhwci5maWx0ZXJzLmFuaW1hdGVkPWZ1bmN0aW9uKGEpe3JldHVybiBjLmdyZXAoYy50aW1lcnMsZnVuY3Rpb24oYil7cmV0dXJuIGE9PT1iLmVsZW19KS5sZW5ndGh9O2MuZm4ub2Zmc2V0PSJnZXRCb3VuZGluZ0NsaWVudFJlY3QiaW4gcy5kb2N1bWVudEVsZW1lbnQ/CmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF07aWYoYSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpe2Mub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsZSl9KTtpZighYnx8IWIub3duZXJEb2N1bWVudClyZXR1cm4gbnVsbDtpZihiPT09Yi5vd25lckRvY3VtZW50LmJvZHkpcmV0dXJuIGMub2Zmc2V0LmJvZHlPZmZzZXQoYik7dmFyIGQ9Yi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxmPWIub3duZXJEb2N1bWVudDtiPWYuYm9keTtmPWYuZG9jdW1lbnRFbGVtZW50O3JldHVybnt0b3A6ZC50b3ArKHNlbGYucGFnZVlPZmZzZXR8fGMuc3VwcG9ydC5ib3hNb2RlbCYmZi5zY3JvbGxUb3B8fGIuc2Nyb2xsVG9wKS0oZi5jbGllbnRUb3B8fGIuY2xpZW50VG9wfHwwKSxsZWZ0OmQubGVmdCsoc2VsZi5wYWdlWE9mZnNldHx8Yy5zdXBwb3J0LmJveE1vZGVsJiZmLnNjcm9sbExlZnR8fGIuc2Nyb2xsTGVmdCktKGYuY2xpZW50TGVmdHx8Yi5jbGllbnRMZWZ0fHwwKX19OmZ1bmN0aW9uKGEpe3ZhciBiPQp0aGlzWzBdO2lmKGEpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihyKXtjLm9mZnNldC5zZXRPZmZzZXQodGhpcyxhLHIpfSk7aWYoIWJ8fCFiLm93bmVyRG9jdW1lbnQpcmV0dXJuIG51bGw7aWYoYj09PWIub3duZXJEb2N1bWVudC5ib2R5KXJldHVybiBjLm9mZnNldC5ib2R5T2Zmc2V0KGIpO2Mub2Zmc2V0LmluaXRpYWxpemUoKTt2YXIgZD1iLm9mZnNldFBhcmVudCxmPWIsZT1iLm93bmVyRG9jdW1lbnQsaixpPWUuZG9jdW1lbnRFbGVtZW50LG89ZS5ib2R5O2Y9KGU9ZS5kZWZhdWx0Vmlldyk/ZS5nZXRDb21wdXRlZFN0eWxlKGIsbnVsbCk6Yi5jdXJyZW50U3R5bGU7Zm9yKHZhciBrPWIub2Zmc2V0VG9wLG49Yi5vZmZzZXRMZWZ0OyhiPWIucGFyZW50Tm9kZSkmJmIhPT1vJiZiIT09aTspe2lmKGMub2Zmc2V0LnN1cHBvcnRzRml4ZWRQb3NpdGlvbiYmZi5wb3NpdGlvbj09PSJmaXhlZCIpYnJlYWs7aj1lP2UuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmIuY3VycmVudFN0eWxlOwprLT1iLnNjcm9sbFRvcDtuLT1iLnNjcm9sbExlZnQ7aWYoYj09PWQpe2srPWIub2Zmc2V0VG9wO24rPWIub2Zmc2V0TGVmdDtpZihjLm9mZnNldC5kb2VzTm90QWRkQm9yZGVyJiYhKGMub2Zmc2V0LmRvZXNBZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzJiYvXnQoYWJsZXxkfGgpJC9pLnRlc3QoYi5ub2RlTmFtZSkpKXtrKz1wYXJzZUZsb2F0KGouYm9yZGVyVG9wV2lkdGgpfHwwO24rPXBhcnNlRmxvYXQoai5ib3JkZXJMZWZ0V2lkdGgpfHwwfWY9ZDtkPWIub2Zmc2V0UGFyZW50fWlmKGMub2Zmc2V0LnN1YnRyYWN0c0JvcmRlckZvck92ZXJmbG93Tm90VmlzaWJsZSYmai5vdmVyZmxvdyE9PSJ2aXNpYmxlIil7ays9cGFyc2VGbG9hdChqLmJvcmRlclRvcFdpZHRoKXx8MDtuKz1wYXJzZUZsb2F0KGouYm9yZGVyTGVmdFdpZHRoKXx8MH1mPWp9aWYoZi5wb3NpdGlvbj09PSJyZWxhdGl2ZSJ8fGYucG9zaXRpb249PT0ic3RhdGljIil7ays9by5vZmZzZXRUb3A7bis9by5vZmZzZXRMZWZ0fWlmKGMub2Zmc2V0LnN1cHBvcnRzRml4ZWRQb3NpdGlvbiYmCmYucG9zaXRpb249PT0iZml4ZWQiKXtrKz1NYXRoLm1heChpLnNjcm9sbFRvcCxvLnNjcm9sbFRvcCk7bis9TWF0aC5tYXgoaS5zY3JvbGxMZWZ0LG8uc2Nyb2xsTGVmdCl9cmV0dXJue3RvcDprLGxlZnQ6bn19O2Mub2Zmc2V0PXtpbml0aWFsaXplOmZ1bmN0aW9uKCl7dmFyIGE9cy5ib2R5LGI9cy5jcmVhdGVFbGVtZW50KCJkaXYiKSxkLGYsZSxqPXBhcnNlRmxvYXQoYy5jdXJDU1MoYSwibWFyZ2luVG9wIix0cnVlKSl8fDA7Yy5leHRlbmQoYi5zdHlsZSx7cG9zaXRpb246ImFic29sdXRlIix0b3A6MCxsZWZ0OjAsbWFyZ2luOjAsYm9yZGVyOjAsd2lkdGg6IjFweCIsaGVpZ2h0OiIxcHgiLHZpc2liaWxpdHk6ImhpZGRlbiJ9KTtiLmlubmVySFRNTD0iPGRpdiBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO21hcmdpbjowO2JvcmRlcjo1cHggc29saWQgIzAwMDtwYWRkaW5nOjA7d2lkdGg6MXB4O2hlaWdodDoxcHg7Jz48ZGl2PjwvZGl2PjwvZGl2Pjx0YWJsZSBzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO21hcmdpbjowO2JvcmRlcjo1cHggc29saWQgIzAwMDtwYWRkaW5nOjA7d2lkdGg6MXB4O2hlaWdodDoxcHg7JyBjZWxscGFkZGluZz0nMCcgY2VsbHNwYWNpbmc9JzAnPjx0cj48dGQ+PC90ZD48L3RyPjwvdGFibGU+IjsKYS5pbnNlcnRCZWZvcmUoYixhLmZpcnN0Q2hpbGQpO2Q9Yi5maXJzdENoaWxkO2Y9ZC5maXJzdENoaWxkO2U9ZC5uZXh0U2libGluZy5maXJzdENoaWxkLmZpcnN0Q2hpbGQ7dGhpcy5kb2VzTm90QWRkQm9yZGVyPWYub2Zmc2V0VG9wIT09NTt0aGlzLmRvZXNBZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzPWUub2Zmc2V0VG9wPT09NTtmLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCI7Zi5zdHlsZS50b3A9IjIwcHgiO3RoaXMuc3VwcG9ydHNGaXhlZFBvc2l0aW9uPWYub2Zmc2V0VG9wPT09MjB8fGYub2Zmc2V0VG9wPT09MTU7Zi5zdHlsZS5wb3NpdGlvbj1mLnN0eWxlLnRvcD0iIjtkLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iO2Quc3R5bGUucG9zaXRpb249InJlbGF0aXZlIjt0aGlzLnN1YnRyYWN0c0JvcmRlckZvck92ZXJmbG93Tm90VmlzaWJsZT1mLm9mZnNldFRvcD09PS01O3RoaXMuZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQ9YS5vZmZzZXRUb3AhPT1qO2EucmVtb3ZlQ2hpbGQoYik7CmMub2Zmc2V0LmluaXRpYWxpemU9Yy5ub29wfSxib2R5T2Zmc2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEub2Zmc2V0VG9wLGQ9YS5vZmZzZXRMZWZ0O2Mub2Zmc2V0LmluaXRpYWxpemUoKTtpZihjLm9mZnNldC5kb2VzTm90SW5jbHVkZU1hcmdpbkluQm9keU9mZnNldCl7Yis9cGFyc2VGbG9hdChjLmN1ckNTUyhhLCJtYXJnaW5Ub3AiLHRydWUpKXx8MDtkKz1wYXJzZUZsb2F0KGMuY3VyQ1NTKGEsIm1hcmdpbkxlZnQiLHRydWUpKXx8MH1yZXR1cm57dG9wOmIsbGVmdDpkfX0sc2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixkKXtpZigvc3RhdGljLy50ZXN0KGMuY3VyQ1NTKGEsInBvc2l0aW9uIikpKWEuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIjt2YXIgZj1jKGEpLGU9Zi5vZmZzZXQoKSxqPXBhcnNlSW50KGMuY3VyQ1NTKGEsInRvcCIsdHJ1ZSksMTApfHwwLGk9cGFyc2VJbnQoYy5jdXJDU1MoYSwibGVmdCIsdHJ1ZSksMTApfHwwO2lmKGMuaXNGdW5jdGlvbihiKSliPWIuY2FsbChhLApkLGUpO2Q9e3RvcDpiLnRvcC1lLnRvcCtqLGxlZnQ6Yi5sZWZ0LWUubGVmdCtpfTsidXNpbmciaW4gYj9iLnVzaW5nLmNhbGwoYSxkKTpmLmNzcyhkKX19O2MuZm4uZXh0ZW5kKHtwb3NpdGlvbjpmdW5jdGlvbigpe2lmKCF0aGlzWzBdKXJldHVybiBudWxsO3ZhciBhPXRoaXNbMF0sYj10aGlzLm9mZnNldFBhcmVudCgpLGQ9dGhpcy5vZmZzZXQoKSxmPS9eYm9keXxodG1sJC9pLnRlc3QoYlswXS5ub2RlTmFtZSk/e3RvcDowLGxlZnQ6MH06Yi5vZmZzZXQoKTtkLnRvcC09cGFyc2VGbG9hdChjLmN1ckNTUyhhLCJtYXJnaW5Ub3AiLHRydWUpKXx8MDtkLmxlZnQtPXBhcnNlRmxvYXQoYy5jdXJDU1MoYSwibWFyZ2luTGVmdCIsdHJ1ZSkpfHwwO2YudG9wKz1wYXJzZUZsb2F0KGMuY3VyQ1NTKGJbMF0sImJvcmRlclRvcFdpZHRoIix0cnVlKSl8fDA7Zi5sZWZ0Kz1wYXJzZUZsb2F0KGMuY3VyQ1NTKGJbMF0sImJvcmRlckxlZnRXaWR0aCIsdHJ1ZSkpfHwwO3JldHVybnt0b3A6ZC50b3AtCmYudG9wLGxlZnQ6ZC5sZWZ0LWYubGVmdH19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLm9mZnNldFBhcmVudHx8cy5ib2R5O2EmJiEvXmJvZHl8aHRtbCQvaS50ZXN0KGEubm9kZU5hbWUpJiZjLmNzcyhhLCJwb3NpdGlvbiIpPT09InN0YXRpYyI7KWE9YS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGF9KX19KTtjLmVhY2goWyJMZWZ0IiwiVG9wIl0sZnVuY3Rpb24oYSxiKXt2YXIgZD0ic2Nyb2xsIitiO2MuZm5bZF09ZnVuY3Rpb24oZil7dmFyIGU9dGhpc1swXSxqO2lmKCFlKXJldHVybiBudWxsO2lmKGYhPT13KXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZihqPXdhKHRoaXMpKWouc2Nyb2xsVG8oIWE/ZjpjKGopLnNjcm9sbExlZnQoKSxhP2Y6YyhqKS5zY3JvbGxUb3AoKSk7ZWxzZSB0aGlzW2RdPWZ9KTtlbHNlIHJldHVybihqPXdhKGUpKT8icGFnZVhPZmZzZXQiaW4gaj9qW2E/InBhZ2VZT2Zmc2V0IjoKInBhZ2VYT2Zmc2V0Il06Yy5zdXBwb3J0LmJveE1vZGVsJiZqLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtkXXx8ai5kb2N1bWVudC5ib2R5W2RdOmVbZF19fSk7Yy5lYWNoKFsiSGVpZ2h0IiwiV2lkdGgiXSxmdW5jdGlvbihhLGIpe3ZhciBkPWIudG9Mb3dlckNhc2UoKTtjLmZuWyJpbm5lciIrYl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1swXT9jLmNzcyh0aGlzWzBdLGQsZmFsc2UsInBhZGRpbmciKTpudWxsfTtjLmZuWyJvdXRlciIrYl09ZnVuY3Rpb24oZil7cmV0dXJuIHRoaXNbMF0/Yy5jc3ModGhpc1swXSxkLGZhbHNlLGY/Im1hcmdpbiI6ImJvcmRlciIpOm51bGx9O2MuZm5bZF09ZnVuY3Rpb24oZil7dmFyIGU9dGhpc1swXTtpZighZSlyZXR1cm4gZj09bnVsbD9udWxsOnRoaXM7aWYoYy5pc0Z1bmN0aW9uKGYpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oail7dmFyIGk9Yyh0aGlzKTtpW2RdKGYuY2FsbCh0aGlzLGosaVtkXSgpKSl9KTtyZXR1cm4ic2Nyb2xsVG8iaW4KZSYmZS5kb2N1bWVudD9lLmRvY3VtZW50LmNvbXBhdE1vZGU9PT0iQ1NTMUNvbXBhdCImJmUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2JdfHxlLmRvY3VtZW50LmJvZHlbImNsaWVudCIrYl06ZS5ub2RlVHlwZT09PTk/TWF0aC5tYXgoZS5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrYl0sZS5ib2R5WyJzY3JvbGwiK2JdLGUuZG9jdW1lbnRFbGVtZW50WyJzY3JvbGwiK2JdLGUuYm9keVsib2Zmc2V0IitiXSxlLmRvY3VtZW50RWxlbWVudFsib2Zmc2V0IitiXSk6Zj09PXc/Yy5jc3MoZSxkKTp0aGlzLmNzcyhkLHR5cGVvZiBmPT09InN0cmluZyI/ZjpmKyJweCIpfX0pO0EualF1ZXJ5PUEuJD1jfSkod2luZG93KTsK]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.cgform.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKCQpewogICQuZm4ucGFyc2Vfc2VyaWFsaXplZCA9IGZ1bmN0aW9uKGRhdGEpICB7CiAgICB2YXIgcGFybXM9ZGF0YS5yZXBsYWNlKC9hbXA7L2csJycpOwogICAgaWYoIGRhdGEubWF0Y2goL1w/KC4rKSQvKSApIHsKICAgICAgcGFybXMgPSBSZWdFeHAuJDE7CiAgICB9CiAgICB2YXIgcEFyciA9IHBhcm1zLnNwbGl0KCcmJyk7CiAgICB2YXIgcEhhc2ggPSB7fTsKICAgIGZvciggdmFyIGkgPSAwOyBpIDwgcEFyci5sZW5ndGg7IGkrKyApIHsKICAgICAgdmFyIHRtcCA9IHBBcnJbaV0uc3BsaXQoJz0nKTsKICAgICAgcEhhc2hbdG1wWzBdXSA9IHVuZXNjYXBlKHRtcFsxXSk7CiAgICB9CiAgICByZXR1cm4gcEhhc2g7CiAgfQoKCiAgJC5mbi5mb3JtX3BvcHVsYXRlID0gZnVuY3Rpb24oZGF0YSkgewogICAgdmFyIGNvbnRhaW5lciA9ICQodGhpcyk7CiAgICAkLmVhY2goZGF0YSwgZnVuY3Rpb24obmFtZSx2YWx1ZSkgewogICAgICB2YXIgZXhwciA9ICI6aW5wdXRbbmFtZT0nIituYW1lKyInXTpub3QoOmJ1dHRvbiw6cmVzZXQsOnN1Ym1pdCw6aW1hZ2UpIjsKICAgICAgdmFyIGlucHV0ID0gY29udGFpbmVyLmZpbmQoZXhwcik7CiAgICAgIGlucHV0LnZhbCggKCEkLmlzQXJyYXkodmFsdWUpICYmIChpbnB1dC5pcygnOmNoZWNrYm94OicpIHx8IGlucHV0LmlzKCc6cmFkaW8nKSkpID8gW3ZhbHVlXSA6IHZhbHVlICk7CiAgICB9KTsKICB9OwoKCiAgJC5mbi5mb3JtX3BvcHVsYXRlX3NlcmlhbGl6ZWQgPSBmdW5jdGlvbihkYXRhKSB7CiAgICB2YXIgdG1wID0gJCh0aGlzKS5wYXJzZV9zZXJpYWxpemVkKGRhdGEpOwogICAgJCh0aGlzKS5mb3JtX3BvcHVsYXRlKHRtcCk7CiAgfTsKCgogICQuZm4uc2VyaWFsaXplQW55dGhpbmcgPSBmdW5jdGlvbigpIHsKICAgIHZhciB0b1JldHVybiAgICA9IFtdOwogICAgdmFyIGVscyAgICAgICAgID0gJCh0aGlzKS5maW5kKCc6aW5wdXQnKS5nZXQoKTsKICAgICQuZWFjaChlbHMsIGZ1bmN0aW9uKCkgewogICAgICBpZiAodGhpcy5uYW1lICYmICF0aGlzLmRpc2FibGVkICYmICh0aGlzLmNoZWNrZWQgfHwgL3NlbGVjdHx0ZXh0YXJlYS9pLnRlc3QodGhpcy5ub2RlTmFtZSkgfHwgL3RleHR8aGlkZGVufHBhc3N3b3JkL2kudGVzdCh0aGlzLnR5cGUpKSkgewogICAgICAgIHZhciB2YWwgPSAkKHRoaXMpLnZhbCgpOwogICAgICAgIHRvUmV0dXJuLnB1c2goIGVuY29kZVVSSUNvbXBvbmVudCh0aGlzLm5hbWUpICsgIj0iICsgZW5jb2RlVVJJQ29tcG9uZW50KCB2YWwgKSApOwogICAgICB9CiAgICB9KTsKICAgIHJldHVybiB0b1JldHVybi5qb2luKCImIikucmVwbGFjZSgvJTIwL2csICIgIik7CiAgfTsKCgogICQuZm4uZm9ybV9nZXRfZGF0ZXRpbWUgPSBmdW5jdGlvbihwcmVmaXgsZG9fdGltZSkgewogICAgZG9fdGltZSA9IHR5cGVvZihkb190aW1lKSAhPSAndW5kZWZpbmVkJyA/IGRvX3RpbWUgOiAwOwogICAgCiAgICB2YXIga2V5ID0gIjppbnB1dFtuYW1lPSciK3ByZWZpeCsiWWVhciddIjsKICAgIHZhciB5ZWFyID0gdGhpcy5maW5kKGtleSkudmFsKCk7CiAgICB2YXIgbW9udGggPSB0aGlzLmZpbmQoIjppbnB1dFtuYW1lPSciK3ByZWZpeCsiTW9udGgnXSIpLnZhbCgpOwogICAgdmFyIGRheSA9IHRoaXMuZmluZCgiOmlucHV0W25hbWU9JyIrcHJlZml4KyJEYXknXSIpLnZhbCgpOwogICAgdmFyIHN0ciA9IG1vbnRoKycvJytkYXkrJy8nK3llYXI7CiAgICB2YXIgaG91ciA9IDA7CiAgICB2YXIgbWludXRlID0gMDsKICAgCiAgICBpZiggZG9fdGltZSApCiAgICAgIHsKCXZhciBob3VyID0gdGhpcy5maW5kKCI6aW5wdXRbbmFtZT0nIitwcmVmaXgrIkhvdXInXSIpLnZhbCgpOwoJdmFyIG1pbnV0ZSA9IHRoaXMuZmluZCgiOmlucHV0W25hbWU9JyIrcHJlZml4KyJNaW51dGUnXSIpLnZhbCgpOwogICAgICAgIHN0ciArPSAnICcraG91cisnOicrbWludXRlKyc6MDAnOwogICAgICB9CiAgICByZXR1cm4gc3RyOwogIH07CgoKICAkLmZuLmZvcm1fc2V0X2RhdGV0aW1lID0gZnVuY3Rpb24oaW5fZGF0ZSxwcmVmaXgsZG9fdGltZSkgewogICAgZG9fdGltZSA9IHR5cGVvZihkb190aW1lKSAhPSAndW5kZWZpbmVkJyA/IGRvX3RpbWUgOiAwOwogCiAgICB2YXIgemVyb3BhZCA9IGZ1bmN0aW9uKG51bSxsZW4pCiAgICB7CiAgICAgIHZhciByZXMgPSBudW0udG9TdHJpbmcoKTsKICAgICAgd2hpbGUoIHJlcy5sZW5ndGggPCBsZW4gKQoJewoJICByZXMgPSAnMCcrcmVzOwoJfQogICAgICByZXR1cm4gcmVzOwogICAgfQoKICAgIHZhciBkYXRlID0gJyc7CiAgICB2YXIgdG1wID0gcGFyc2VJbnQoaW5fZGF0ZSk7CiAgICBpZiggdG1wID4gMCApCiAgICAgIHsKICAgICAgICBkYXRlID0gbmV3IERhdGUodG1wICogMTAwMCk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewogICAgICAgIGRhdGUgPSBuZXcgRGF0ZShpbl9kYXRlKTsKICAgICAgfQoKICAgIHRoaXMuZmluZCgiOmlucHV0W25hbWU9JyIrcHJlZml4KyJZZWFyJ10iKS52YWwoZGF0ZS5nZXRGdWxsWWVhcigpKTsKICAgIHRoaXMuZmluZCgiOmlucHV0W25hbWU9JyIrcHJlZml4KyJNb250aCddIikudmFsKHplcm9wYWQoZGF0ZS5nZXRNb250aCgpKzEsMikpOwogICAgdGhpcy5maW5kKCI6aW5wdXRbbmFtZT0nIitwcmVmaXgrIkRheSddIikudmFsKGRhdGUuZ2V0RGF0ZSgpKTsKICAgIGlmKCBkb190aW1lICkKICAgIHsKICAgICAgdGhpcy5maW5kKCI6aW5wdXRbbmFtZT0nIitwcmVmaXgrIkhvdXInXSIpLnZhbChkYXRlLmdldEhvdXJzKCkpOwogICAgICB0aGlzLmZpbmQoIjppbnB1dFtuYW1lPSciK3ByZWZpeCsiTWludXRlJ10iKS52YWwoZGF0ZS5nZXRNaW51dGVzKCkpOwogICAgfQoKICB9Owp9KShqUXVlcnkpCg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.cluetip.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IGNsdWVUaXAgcGx1Z2luCiAqIFZlcnNpb24gMC45LjggICgwNS8yMi8yMDA4KQogKiBAcmVxdWlyZXMgalF1ZXJ5IHYxLjEuNCsKICogQHJlcXVpcmVzIERpbWVuc2lvbnMgcGx1Z2luIChmb3IgalF1ZXJ5IHZlcnNpb25zIDwgMS4yLjUpCiAqCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOgogKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocAogKiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwKICoKICovCjsoZnVuY3Rpb24oJCkgeyAKLyoKICogQG5hbWUgY2x1ZVRpcAogKiBAdHlwZSBqUXVlcnkKICogQGNhdCBQbHVnaW5zL3Rvb2x0aXAKICogQHJldHVybiBqUXVlcnkKICogQGF1dGhvciBLYXJsIFN3ZWRiZXJnCiAqCiAqIEBjcmVkaXQgSW5zcGlyZWQgYnkgQ29keSBMaW5kbGV5J3MgalRpcCAoaHR0cDovL3d3dy5jb2R5bGluZGxleS5jb20pCiAqIEBjcmVkaXQgVGhhbmtzIHRvIHRoZSBmb2xsb3dpbmcgcGVvcGxlIGZvciB0aGVpciBtYW55IGFuZCB2YXJpZWQgY29udHJpYnV0aW9uczoKICAgICAgU2hlbGFuZSBFbm9zLCBHbGVuIExpcGthLCBIZWN0b3IgU2FudG9zLCBUb3JiZW4gU2NocmVpdGVyLCBEYW4gRy4gU3dpdHplciwgSsO2cm4gWmFlZmZlcmVyIAogKiBAY3JlZGl0IFRoYW5rcyB0byBKb25hdGhhbiBDaGFmZmVyLCBhcyBhbHdheXMsIGZvciBoZWxwIHdpdGggdGhlIGhhcmQgcGFydHMuIDotKQogKi8KCiAvKioKICogCiAqIERpc3BsYXlzIGEgaGlnaGx5IGN1c3RvbWl6YWJsZSB0b29sdGlwIHdoZW4gdGhlIHVzZXIgaG92ZXJzIChkZWZhdWx0KSBvciBjbGlja3MgKG9wdGlvbmFsKSB0aGUgbWF0Y2hlZCBlbGVtZW50LiAKICogQnkgZGVmYXVsdCwgdGhlIGNsdWVUaXAgcGx1Z2luIGxvYWRzIGEgcGFnZSBpbmRpY2F0ZWQgYnkgdGhlICJyZWwiIGF0dHJpYnV0ZSB2aWEgYWpheCBhbmQgZGlzcGxheXMgaXRzIGNvbnRlbnRzLgogKiBJZiBhICJ0aXRsZSIgYXR0cmlidXRlIGlzIHNwZWNpZmllZCwgaXRzIHZhbHVlIGlzIHVzZWQgYXMgdGhlIGNsdWVUaXAncyBoZWFkaW5nLgogKiBUaGUgYXR0cmlidXRlIHRvIGJlIHVzZWQgZm9yIGJvdGggdGhlIGJvZHkgYW5kIHRoZSBoZWFkaW5nIG9mIHRoZSBjbHVlVGlwIGlzIHVzZXItY29uZmlndXJhYmxlLiAKICogT3B0aW9uYWxseSwgdGhlIGNsdWVUaXAncyBib2R5IGNhbiBkaXNwbGF5IGNvbnRlbnQgZnJvbSBhbiBlbGVtZW50IG9uIHRoZSBzYW1lIHBhZ2UuCiAqICogSnVzdCBpbmRpY2F0ZSB0aGUgZWxlbWVudCdzIGlkIChlLmcuICIjc29tZS1pZCIpIGluIHRoZSByZWwgYXR0cmlidXRlLgogKiBPcHRpb25hbGx5LCB0aGUgY2x1ZVRpcCdzIGJvZHkgY2FuIGRpc3BsYXkgY29udGVudCBmcm9tIHRoZSB0aXRsZSBhdHRyaWJ1dGUsIHdoZW4gYSBkZWxpbWl0ZXIgaXMgaW5kaWNhdGVkLiAKICogKiBUaGUgc3RyaW5nIGJlZm9yZSB0aGUgZmlyc3QgaW5zdGFuY2Ugb2YgdGhlIGRlbGltaXRlciBpcyBzZXQgYXMgdGhlIGNsdWVUaXAncyBoZWFkaW5nLgogKiAqIEFsbCBzdWJzZXF1ZW50IHN0cmluZ3MgYXJlIHdyYXBwZWQgaW4gc2VwYXJhdGUgRElWcyBhbmQgcGxhY2VkIGluIHRoZSBjbHVlVGlwJ3MgYm9keS4KICogVGhlIGNsdWVUaXAgcGx1Z2luIGFsbG93cyBmb3IgbWFueSwgbWFueSBtb3JlIG9wdGlvbnMuIFBsZWFzZWUgc2VlIHRoZSBleGFtcGxlcyBhbmQgdGhlIG9wdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cuLi4KICogCiAqIAogKiBAZXhhbXBsZSAkKCcjdGlwKS5jbHVldGlwKCk7CiAqIEBkZXNjIFRoaXMgaXMgdGhlIG1vc3QgYmFzaWMgY2x1ZVRpcC4gSXQgZGlzcGxheXMgYSAyNzVweC13aWRlIGNsdWVUaXAgb24gbW91c2VvdmVyIG9mIHRoZSBlbGVtZW50IHdpdGggYW4gSUQgb2YgInRpcC4iIE9uIG1vdXNlb3V0IG9mIHRoZSBlbGVtZW50LCB0aGUgY2x1ZVRpcCBpcyBoaWRkZW4uCiAqCiAqCiAqIEBleGFtcGxlICQoJ2EuY2x1ZScpLmNsdWV0aXAoewogKiAgaG92ZXJDbGFzczogJ2hpZ2hsaWdodCcsCiAqICBzdGlja3k6IHRydWUsCiAqICBjbG9zZVBvc2l0aW9uOiAnYm90dG9tJywKICogIGNsb3NlVGV4dDogJzxpbWcgc3JjPSJjcm9zcy5wbmciIGFsdD0iY2xvc2UiIC8+JywKICogIHRydW5jYXRlOiA2MCwKICogIGFqYXhTZXR0aW5nczogewogKiAgICB0eXBlOiAnUE9TVCcKICogIH0KICogfSk7CiAqIEBkZXNjIERpc3BsYXlzIGEgY2x1ZVRpcCBvbiBtb3VzZW92ZXIgb2YgYWxsIDxhPiBlbGVtZW50cyB3aXRoIGNsYXNzPSJjbHVlIi4gVGhlIGhvdmVyZWQgZWxlbWVudCBnZXRzIGEgY2xhc3Mgb2YgImhpZ2hsaWdodCIgYWRkZWQgdG8gaXQgKHNvIHRoYXQgaXQgY2FuIGJlIHN0eWxlZCBhcHByb3ByaWF0ZWx5LiBUaGlzIGlzIGVzcC4gdXNlZnVsIGZvciBub24tYW5jaG9yIGVsZW1lbnRzLikuIFRoZSBjbHVlVGlwIGlzICJzdGlja3ksIiB3aGljaCBtZWFucyB0aGF0IGl0IHdpbGwgbm90IGJlIGhpZGRlbiB1bnRpbCB0aGUgdXNlciBlaXRoZXIgY2xpY2tzIG9uIGl0cyAiY2xvc2UiIHRleHQvZ3JhcGhpYyBvciBkaXNwbGF5cyBhbm90aGVyIGNsdWVUaXAuIFRoZSAiY2xvc2UiIHRleHQvZ3JhcGhpYyBpcyBzZXQgdG8gZGlwbGF5IGF0IHRoZSBib3R0b20gb2YgdGhlIGNsdWVUaXAgKGRlZmF1bHQgaXMgdG9wKSBhbmQgZGlzcGxheSBhbiBpbWFnZSByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdCAiQ2xvc2UiIHRleHQuIE1vcmVvdmVyLCB0aGUgYm9keSBvZiB0aGUgY2x1ZVRpcCBpcyB0cnVuY2F0ZWQgdG8gdGhlIGZpcnN0IDYwIGNoYXJhY3RlcnMsIHdoaWNoIGFyZSBmb2xsb3dlZCBieSBhbiBlbGxpcHNpcyAoLi4uKS4gRmluYWxseSwgdGhlIGNsdWVUaXAgcmV0cmlldmVzIHRoZSBjb250ZW50IHVzaW5nIFBPU1QgcmF0aGVyIHRoYW4gdGhlICQuYWpheCBtZXRob2QncyBkZWZhdWx0ICJHRVQuIgogKiAKICogTW9yZSBleGFtcGxlcyBjYW4gYmUgZm91bmQgYXQgaHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvZGVtby8KICogCiAqIEZ1bGwgbGlzdCBvZiBvcHRpb25zL3NldHRpbmdzIGNhbiBiZSBmb3VuZCBhdCB0aGUgYm90dG9tIG9mIHRoaXMgZmlsZSBhbmQgYXQgaHR0cDovL3BsdWdpbnMubGVhcm5pbmdqcXVlcnkuY29tL2NsdWV0aXAvCiAqLwoKICB2YXIgJGNsdWV0aXAsICRjbHVldGlwSW5uZXIsICRjbHVldGlwT3V0ZXIsICRjbHVldGlwVGl0bGUsICRjbHVldGlwQXJyb3dzLCAkZHJvcFNoYWRvdywgaW1nQ291bnQ7CiAgJC5mbi5jbHVldGlwID0gZnVuY3Rpb24oanMsIG9wdGlvbnMpIHsKICAgIGlmICh0eXBlb2YganMgPT0gJ29iamVjdCcpIHsKICAgICAgb3B0aW9ucyA9IGpzOwogICAgICBqcyA9IG51bGw7CiAgICB9CiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGluZGV4KSB7CiAgICAgIHZhciAkdGhpcyA9ICQodGhpcyk7ICAgICAgCiAgICAgIAogICAgICAvLyBzdXBwb3J0IG1ldGFkYXRhIHBsdWdpbiAodjEuMCBhbmQgMi4wKQogICAgICB2YXIgb3B0cyA9ICQuZXh0ZW5kKGZhbHNlLCB7fSwgJC5mbi5jbHVldGlwLmRlZmF1bHRzLCBvcHRpb25zIHx8IHt9LCAkLm1ldGFkYXRhID8gJHRoaXMubWV0YWRhdGEoKSA6ICQubWV0YSA/ICR0aGlzLmRhdGEoKSA6IHt9KTsKCiAgICAgIC8vIHN0YXJ0IG91dCB3aXRoIG5vIGNvbnRlbnRzIChmb3IgYWpheCBhY3RpdmF0aW9uKQogICAgICB2YXIgY2x1ZXRpcENvbnRlbnRzID0gZmFsc2U7CiAgICAgIHZhciBjbHVlekluZGV4ID0gcGFyc2VJbnQob3B0cy5jbHVlekluZGV4LCAxMCktMTsKICAgICAgdmFyIGlzQWN0aXZlID0gZmFsc2UsIGNsb3NlT25EZWxheSA9IDA7CgogICAgICAvLyBjcmVhdGUgdGhlIGNsdWV0aXAgZGl2cwogICAgICBpZiAoISQoJyNjbHVldGlwJykubGVuZ3RoKSB7CiAgICAgICAgJGNsdWV0aXBJbm5lciA9ICQoJzxkaXYgaWQ9ImNsdWV0aXAtaW5uZXIiPjwvZGl2PicpOwogICAgICAgICRjbHVldGlwVGl0bGUgPSAkKCc8aDMgaWQ9ImNsdWV0aXAtdGl0bGUiPjwvaDM+Jyk7ICAgICAgICAKICAgICAgICAkY2x1ZXRpcE91dGVyID0gJCgnPGRpdiBpZD0iY2x1ZXRpcC1vdXRlciI+PC9kaXY+JykuYXBwZW5kKCRjbHVldGlwSW5uZXIpLnByZXBlbmQoJGNsdWV0aXBUaXRsZSk7CiAgICAgICAgJGNsdWV0aXAgPSAkKCc8ZGl2IGlkPSJjbHVldGlwIj48L2Rpdj4nKS5jc3Moe3pJbmRleDogb3B0cy5jbHVlekluZGV4fSkKICAgICAgICAuYXBwZW5kKCRjbHVldGlwT3V0ZXIpLmFwcGVuZCgnPGRpdiBpZD0iY2x1ZXRpcC1leHRyYSI+PC9kaXY+JylbaW5zZXJ0aW9uVHlwZV0oaW5zZXJ0aW9uRWxlbWVudCkuaGlkZSgpOwogICAgICAgICQoJzxkaXYgaWQ9ImNsdWV0aXAtd2FpdGltYWdlIj48L2Rpdj4nKS5jc3Moe3Bvc2l0aW9uOiAnYWJzb2x1dGUnLCB6SW5kZXg6IGNsdWV6SW5kZXgtMX0pCiAgICAgICAgLmluc2VydEJlZm9yZSgnI2NsdWV0aXAnKS5oaWRlKCk7CiAgICAgICAgJGNsdWV0aXAuY3NzKHtwb3NpdGlvbjogJ2Fic29sdXRlJywgekluZGV4OiBjbHVlekluZGV4fSk7CiAgICAgICAgJGNsdWV0aXBPdXRlci5jc3Moe3Bvc2l0aW9uOiAncmVsYXRpdmUnLCB6SW5kZXg6IGNsdWV6SW5kZXgrMX0pOwogICAgICAgICRjbHVldGlwQXJyb3dzID0gJCgnPGRpdiBpZD0iY2x1ZXRpcC1hcnJvd3MiIGNsYXNzPSJjbHVldGlwLWFycm93cyI+PC9kaXY+JykuY3NzKHt6SW5kZXg6IGNsdWV6SW5kZXgrMX0pLmFwcGVuZFRvKCcjY2x1ZXRpcCcpOwogICAgICB9CiAgICAgIHZhciBkcm9wU2hhZG93U3RlcHMgPSAob3B0cy5kcm9wU2hhZG93KSA/ICtvcHRzLmRyb3BTaGFkb3dTdGVwcyA6IDA7CiAgICAgIGlmICghJGRyb3BTaGFkb3cpIHsKICAgICAgICAkZHJvcFNoYWRvdyA9ICQoW10pOwogICAgICAgIGZvciAodmFyIGk9MDsgaSA8IGRyb3BTaGFkb3dTdGVwczsgaSsrKSB7CiAgICAgICAgICAkZHJvcFNoYWRvdyA9ICRkcm9wU2hhZG93LmFkZCgkKCc8ZGl2PjwvZGl2PicpLmNzcyh7ekluZGV4OiBjbHVlekluZGV4LWktMSwgb3BhY2l0eTouMSwgdG9wOiAxK2ksIGxlZnQ6IDEraX0pKTsKICAgICAgICB9OwogICAgICAgICRkcm9wU2hhZG93LmNzcyh7cG9zaXRpb246ICdhYnNvbHV0ZScsIGJhY2tncm91bmRDb2xvcjogJyMwMDAnfSkKICAgICAgICAucHJlcGVuZFRvKCRjbHVldGlwKTsKICAgICAgfQogICAgICB2YXIgdGlwQXR0cmlidXRlID0gJHRoaXMuYXR0cihvcHRzLmF0dHJpYnV0ZSksIGN0Q2xhc3MgPSBvcHRzLmNsdWV0aXBDbGFzczsKICAgICAgaWYgKCF0aXBBdHRyaWJ1dGUgJiYgIW9wdHMuc3BsaXRUaXRsZSAmJiAhanMpIHJldHVybiB0cnVlOwogICAgICAvLyBpZiBoaWRlTG9jYWwgaXMgc2V0IHRvIHRydWUsIG9uIERPTSByZWFkeSBoaWRlIHRoZSBsb2NhbCBjb250ZW50IHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlIGNsdWVUaXAgICAgICAKICAgICAgaWYgKG9wdHMubG9jYWwgJiYgb3B0cy5oaWRlTG9jYWwpIHsgJCh0aXBBdHRyaWJ1dGUgKyAnOmZpcnN0JykuaGlkZSgpOyB9CiAgICAgIHZhciB0T2Zmc2V0ID0gcGFyc2VJbnQob3B0cy50b3BPZmZzZXQsIDEwKSwgbE9mZnNldCA9IHBhcnNlSW50KG9wdHMubGVmdE9mZnNldCwgMTApOwogICAgICAvLyB2ZXJ0aWNhbCBtZWFzdXJlbWVudCB2YXJpYWJsZXMKICAgICAgdmFyIHRpcEhlaWdodCwgd0hlaWdodDsKICAgICAgdmFyIGRlZkhlaWdodCA9IGlzTmFOKHBhcnNlSW50KG9wdHMuaGVpZ2h0LCAxMCkpID8gJ2F1dG8nIDogKC9cRC9nKS50ZXN0KG9wdHMuaGVpZ2h0KSA/IG9wdHMuaGVpZ2h0IDogb3B0cy5oZWlnaHQgKyAncHgnOwogICAgICB2YXIgc1RvcCwgbGlua1RvcCwgcG9zWSwgdGlwWSwgbW91c2VZLCBiYXNlbGluZTsKICAgICAgLy8gaG9yaXpvbnRhbCBtZWFzdXJlbWVudCB2YXJpYWJsZXMKICAgICAgdmFyIHRpcElubmVyV2lkdGggPSBpc05hTihwYXJzZUludChvcHRzLndpZHRoLCAxMCkpID8gMjc1IDogcGFyc2VJbnQob3B0cy53aWR0aCwgMTApOwogICAgICB2YXIgdGlwV2lkdGggPSB0aXBJbm5lcldpZHRoICsgKHBhcnNlSW50KCRjbHVldGlwLmNzcygncGFkZGluZ0xlZnQnKSl8fDApICsgKHBhcnNlSW50KCRjbHVldGlwLmNzcygncGFkZGluZ1JpZ2h0JykpfHwwKSArIGRyb3BTaGFkb3dTdGVwczsKICAgICAgdmFyIGxpbmtXaWR0aCA9IHRoaXMub2Zmc2V0V2lkdGg7CiAgICAgIHZhciBsaW5rTGVmdCwgcG9zWCwgdGlwWCwgbW91c2VYLCB3aW5XaWR0aDsKICAgICAgICAgICAgCiAgICAgIC8vIHBhcnNlIHRoZSB0aXRsZQogICAgICB2YXIgdGlwUGFydHM7CiAgICAgIHZhciB0aXBUaXRsZSA9IChvcHRzLmF0dHJpYnV0ZSAhPSAndGl0bGUnKSA/ICR0aGlzLmF0dHIob3B0cy50aXRsZUF0dHJpYnV0ZSkgOiAnJzsKICAgICAgaWYgKG9wdHMuc3BsaXRUaXRsZSkgewogICAgICAgIGlmKHRpcFRpdGxlID09IHVuZGVmaW5lZCkge3RpcFRpdGxlID0gJyc7fQogICAgICAgIHRpcFBhcnRzID0gdGlwVGl0bGUuc3BsaXQob3B0cy5zcGxpdFRpdGxlKTsKICAgICAgICB0aXBUaXRsZSA9IHRpcFBhcnRzLnNoaWZ0KCk7CiAgICAgIH0KICAgICAgdmFyIGxvY2FsQ29udGVudDsKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogICAgICAKKiBBQ1RJVkFUSU9OCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICAKLy9hY3RpdmF0ZSBjbHVlVGlwCiAgICB2YXIgYWN0aXZhdGUgPSBmdW5jdGlvbihldmVudCkgewogICAgICBpZiAoIW9wdHMub25BY3RpdmF0ZSgkdGhpcykpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgaXNBY3RpdmUgPSB0cnVlOwogICAgICAkY2x1ZXRpcC5yZW1vdmVDbGFzcygpLmNzcyh7d2lkdGg6IHRpcElubmVyV2lkdGh9KTsKICAgICAgaWYgKHRpcEF0dHJpYnV0ZSA9PSAkdGhpcy5hdHRyKCdocmVmJykpIHsKICAgICAgICAkdGhpcy5jc3MoJ2N1cnNvcicsIG9wdHMuY3Vyc29yKTsKICAgICAgfQogICAgICAkdGhpcy5hdHRyKCd0aXRsZScsJycpOwogICAgICBpZiAob3B0cy5ob3ZlckNsYXNzKSB7CiAgICAgICAgJHRoaXMuYWRkQ2xhc3Mob3B0cy5ob3ZlckNsYXNzKTsKICAgICAgfQogICAgICBsaW5rVG9wID0gcG9zWSA9ICR0aGlzLm9mZnNldCgpLnRvcDsKICAgICAgbGlua0xlZnQgPSAkdGhpcy5vZmZzZXQoKS5sZWZ0OwogICAgICBtb3VzZVggPSBldmVudC5wYWdlWDsKICAgICAgbW91c2VZID0gZXZlbnQucGFnZVk7CiAgICAgIGlmICgkdGhpc1swXS50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT0gJ2FyZWEnKSB7CiAgICAgICAgc1RvcCA9ICQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpOwogICAgICAgIHdpbldpZHRoID0gJCh3aW5kb3cpLndpZHRoKCk7CiAgICAgIH0KLy8gcG9zaXRpb24gY2x1ZVRpcCBob3Jpem9udGFsbHkKICAgICAgaWYgKG9wdHMucG9zaXRpb25CeSA9PSAnZml4ZWQnKSB7CiAgICAgICAgcG9zWCA9IGxpbmtXaWR0aCArIGxpbmtMZWZ0ICsgbE9mZnNldDsKICAgICAgICAkY2x1ZXRpcC5jc3Moe2xlZnQ6IHBvc1h9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBwb3NYID0gKGxpbmtXaWR0aCA+IGxpbmtMZWZ0ICYmIGxpbmtMZWZ0ID4gdGlwV2lkdGgpCiAgICAgICAgICB8fCBsaW5rTGVmdCArIGxpbmtXaWR0aCArIHRpcFdpZHRoICsgbE9mZnNldCA+IHdpbldpZHRoIAogICAgICAgICAgPyBsaW5rTGVmdCAtIHRpcFdpZHRoIC0gbE9mZnNldCAKICAgICAgICAgIDogbGlua1dpZHRoICsgbGlua0xlZnQgKyBsT2Zmc2V0OwogICAgICAgIGlmICgkdGhpc1swXS50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT0gJ2FyZWEnIHx8IG9wdHMucG9zaXRpb25CeSA9PSAnbW91c2UnIHx8IGxpbmtXaWR0aCArIHRpcFdpZHRoID4gd2luV2lkdGgpIHsgLy8gcG9zaXRpb24gYnkgbW91c2UKICAgICAgICAgIGlmIChtb3VzZVggKyAyMCArIHRpcFdpZHRoID4gd2luV2lkdGgpIHsgIAogICAgICAgICAgICAkY2x1ZXRpcC5hZGRDbGFzcygnIGNsdWV0aXAtJyArIGN0Q2xhc3MpOwogICAgICAgICAgICBwb3NYID0gKG1vdXNlWCAtIHRpcFdpZHRoIC0gbE9mZnNldCkgPj0gMCA/IG1vdXNlWCAtIHRpcFdpZHRoIC0gbE9mZnNldCAtIHBhcnNlSW50KCRjbHVldGlwLmNzcygnbWFyZ2luTGVmdCcpLDEwKSArIHBhcnNlSW50KCRjbHVldGlwSW5uZXIuY3NzKCdtYXJnaW5SaWdodCcpLDEwKSA6ICBtb3VzZVggLSAodGlwV2lkdGgvMik7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwb3NYID0gbW91c2VYICsgbE9mZnNldDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdmFyIHBZID0gcG9zWCA8IDAgPyBldmVudC5wYWdlWSArIHRPZmZzZXQgOiBldmVudC5wYWdlWTsKICAgICAgICAkY2x1ZXRpcC5jc3Moe2xlZnQ6IChwb3NYID4gMCAmJiBvcHRzLnBvc2l0aW9uQnkgIT0gJ2JvdHRvbVRvcCcpID8gcG9zWCA6IChtb3VzZVggKyAodGlwV2lkdGgvMikgPiB3aW5XaWR0aCkgPyB3aW5XaWR0aC8yIC0gdGlwV2lkdGgvMiA6IE1hdGgubWF4KG1vdXNlWCAtICh0aXBXaWR0aC8yKSwwKX0pOwogICAgICB9CiAgICAgICAgd0hlaWdodCA9ICQod2luZG93KS5oZWlnaHQoKTsKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBsb2FkIGEgc3RyaW5nIGZyb20gY2x1ZXRpcCBtZXRob2QncyBmaXJzdCBhcmd1bWVudAoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAgICAgIGlmIChqcykgewogICAgICAgICRjbHVldGlwSW5uZXIuaHRtbChqcyk7CiAgICAgICAgY2x1ZXRpcFNob3cocFkpOwogICAgICB9Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBsb2FkIHRoZSB0aXRsZSBhdHRyaWJ1dGUgb25seSAob3IgdXNlci1zZWxlY3RlZCBhdHRyaWJ1dGUpLiAKKiBjbHVlVGlwIHRpdGxlIGlzIHRoZSBzdHJpbmcgYmVmb3JlIHRoZSBmaXJzdCBkZWxpbWl0ZXIKKiBzdWJzZXF1ZW50IGRlbGltaXRlcnMgcGxhY2UgY2x1ZVRpcCBib2R5IHRleHQgb24gc2VwYXJhdGUgbGluZXMKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKICAgICAgZWxzZSBpZiAodGlwUGFydHMpIHsKICAgICAgICB2YXIgdHBsID0gdGlwUGFydHMubGVuZ3RoOwogICAgICAgIGZvciAodmFyIGk9MDsgaSA8IHRwbDsgaSsrKXsKICAgICAgICAgIGlmIChpID09IDApIHsKICAgICAgICAgICAgJGNsdWV0aXBJbm5lci5odG1sKHRpcFBhcnRzW2ldKTsKICAgICAgICAgIH0gZWxzZSB7IAogICAgICAgICAgICAkY2x1ZXRpcElubmVyLmFwcGVuZCgnPGRpdiBjbGFzcz0ic3BsaXQtYm9keSI+JyArIHRpcFBhcnRzW2ldICsgJzwvZGl2PicpOwogICAgICAgICAgfSAgICAgICAgICAgIAogICAgICAgIH07CiAgICAgICAgY2x1ZXRpcFNob3cocFkpOwogICAgICB9Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBsb2FkIGV4dGVybmFsIGZpbGUgdmlhIGFqYXggICAgICAgICAgCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiAgICAgIGVsc2UgaWYgKCFvcHRzLmxvY2FsICYmIHRpcEF0dHJpYnV0ZS5pbmRleE9mKCcjJykgIT0gMCkgewogICAgICAgIGlmIChjbHVldGlwQ29udGVudHMgJiYgb3B0cy5hamF4Q2FjaGUpIHsKICAgICAgICAgICRjbHVldGlwSW5uZXIuaHRtbChjbHVldGlwQ29udGVudHMpOwogICAgICAgICAgY2x1ZXRpcFNob3cocFkpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBhamF4U2V0dGluZ3MgPSBvcHRzLmFqYXhTZXR0aW5nczsKICAgICAgICAgIGFqYXhTZXR0aW5ncy51cmwgPSB0aXBBdHRyaWJ1dGU7CiAgICAgICAgICBhamF4U2V0dGluZ3MuYmVmb3JlU2VuZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAkY2x1ZXRpcE91dGVyLmNoaWxkcmVuKCkuZW1wdHkoKTsKICAgICAgICAgICAgaWYgKG9wdHMud2FpdEltYWdlKSB7CiAgICAgICAgICAgICAgJCgnI2NsdWV0aXAtd2FpdGltYWdlJykKICAgICAgICAgICAgICAuY3NzKHt0b3A6IG1vdXNlWSsyMCwgbGVmdDogbW91c2VYKzIwfSkKICAgICAgICAgICAgICAuc2hvdygpOwogICAgICAgICAgICB9CiAgICAgICAgICB9OwogICAgICAgICBhamF4U2V0dGluZ3MuZXJyb3IgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKGlzQWN0aXZlKSB7CiAgICAgICAgICAgICAgJGNsdWV0aXBJbm5lci5odG1sKCc8aT5zb3JyeSwgdGhlIGNvbnRlbnRzIGNvdWxkIG5vdCBiZSBsb2FkZWQ8L2k+Jyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH07CiAgICAgICAgICBhamF4U2V0dGluZ3Muc3VjY2VzcyA9IGZ1bmN0aW9uKGRhdGEpIHsKICAgICAgICAgICAgY2x1ZXRpcENvbnRlbnRzID0gb3B0cy5hamF4UHJvY2VzcyhkYXRhKTsKICAgICAgICAgICAgaWYgKGlzQWN0aXZlKSB7CiAgICAgICAgICAgICAgJGNsdWV0aXBJbm5lci5odG1sKGNsdWV0aXBDb250ZW50cyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH07CiAgICAgICAgICBhamF4U2V0dGluZ3MuY29tcGxldGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIAlpbWdDb3VudCA9ICQoJyNjbHVldGlwLWlubmVyIGltZycpLmxlbmd0aDsKICAgICAgICAJCWlmIChpbWdDb3VudCAmJiAhJC5icm93c2VyLm9wZXJhKSB7CiAgICAgICAgCQkgICQoJyNjbHVldGlwLWlubmVyIGltZycpLmxvYWQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAJCQlpbWdDb3VudC0tOwogICAgICAgICAgCQkJaWYgKGltZ0NvdW50PDEpIHsKICAgICAgICAgIAkJCQkkKCcjY2x1ZXRpcC13YWl0aW1hZ2UnKS5oaWRlKCk7CiAgICAgICAgICAJCQkgIGlmIChpc0FjdGl2ZSkgY2x1ZXRpcFNob3cocFkpOwogICAgICAgICAgCQkJfQogICAgICAgIAkJICB9KTsgCiAgICAgICAgCQl9IGVsc2UgewogICAgICAJCQkJJCgnI2NsdWV0aXAtd2FpdGltYWdlJykuaGlkZSgpOwogICAgICAgIAkJICBpZiAoaXNBY3RpdmUpIGNsdWV0aXBTaG93KHBZKTsgICAgCiAgICAgICAgCQl9IAogICAgICAgICAgfTsKICAgICAgICAgICQuYWpheChhamF4U2V0dGluZ3MpOwogICAgICAgIH0KCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBsb2FkIGFuIGVsZW1lbnQgZnJvbSB0aGUgc2FtZSBwYWdlCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgICAgfSBlbHNlIGlmIChvcHRzLmxvY2FsKXsKICAgICAgICB2YXIgJGxvY2FsQ29udGVudCA9ICQodGlwQXR0cmlidXRlICsgJzpmaXJzdCcpOwogICAgICAgIHZhciBsb2NhbENsdWV0aXAgPSAkLmZuLndyYXBJbm5lciA/ICRsb2NhbENvbnRlbnQud3JhcElubmVyKCc8ZGl2PjwvZGl2PicpLmNoaWxkcmVuKCkuY2xvbmUodHJ1ZSkgOiAkbG9jYWxDb250ZW50Lmh0bWwoKTsKICAgICAgICAkLmZuLndyYXBJbm5lciA/ICRjbHVldGlwSW5uZXIuZW1wdHkoKS5hcHBlbmQobG9jYWxDbHVldGlwKSA6ICRjbHVldGlwSW5uZXIuaHRtbChsb2NhbENsdWV0aXApOwogICAgICAgIGNsdWV0aXBTaG93KHBZKTsKICAgICAgfQogICAgfTsKCi8vIGdldCBkaW1lbnNpb25zIGFuZCBvcHRpb25zIGZvciBjbHVldGlwIGFuZCBwcmVwYXJlIGl0IHRvIGJlIHNob3duCiAgICB2YXIgY2x1ZXRpcFNob3cgPSBmdW5jdGlvbihicFkpIHsKICAgICAgJGNsdWV0aXAuYWRkQ2xhc3MoJ2NsdWV0aXAtJyArIGN0Q2xhc3MpOwogICAgICAKICAgICAgaWYgKG9wdHMudHJ1bmNhdGUpIHsgCiAgICAgICAgdmFyICR0cnVuY2xvYWRlZCA9ICRjbHVldGlwSW5uZXIudGV4dCgpLnNsaWNlKDAsb3B0cy50cnVuY2F0ZSkgKyAnLi4uJzsKICAgICAgICAkY2x1ZXRpcElubmVyLmh0bWwoJHRydW5jbG9hZGVkKTsKICAgICAgfQogICAgICBmdW5jdGlvbiBkb05vdGhpbmcoKSB7fTsgLy9lbXB0eSBmdW5jdGlvbgogICAgICB0aXBUaXRsZSA/ICRjbHVldGlwVGl0bGUuc2hvdygpLmh0bWwodGlwVGl0bGUpIDogKG9wdHMuc2hvd1RpdGxlKSA/ICRjbHVldGlwVGl0bGUuc2hvdygpLmh0bWwoJyZuYnNwOycpIDogJGNsdWV0aXBUaXRsZS5oaWRlKCk7CiAgICAgIGlmIChvcHRzLnN0aWNreSkgewogICAgICAgIHZhciAkY2xvc2VMaW5rID0gJCgnPGRpdiBpZD0iY2x1ZXRpcC1jbG9zZSI+PGEgaHJlZj0iIyI+JyArIG9wdHMuY2xvc2VUZXh0ICsgJzwvYT48L2Rpdj4nKTsKICAgICAgICAob3B0cy5jbG9zZVBvc2l0aW9uID09ICdib3R0b20nKSA/ICRjbG9zZUxpbmsuYXBwZW5kVG8oJGNsdWV0aXBJbm5lcikgOiAob3B0cy5jbG9zZVBvc2l0aW9uID09ICd0aXRsZScpID8gJGNsb3NlTGluay5wcmVwZW5kVG8oJGNsdWV0aXBUaXRsZSkgOiAkY2xvc2VMaW5rLnByZXBlbmRUbygkY2x1ZXRpcElubmVyKTsKICAgICAgICAkY2xvc2VMaW5rLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAgY2x1ZXRpcENsb3NlKCk7CiAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSk7CiAgICAgICAgaWYgKG9wdHMubW91c2VPdXRDbG9zZSkgewogICAgICAgICAgaWYgKCQuZm4uaG92ZXJJbnRlbnQgJiYgb3B0cy5ob3ZlckludGVudCkgeyAKICAgICAgICAgICAgJGNsdWV0aXAuaG92ZXJJbnRlbnQoewogICAgICAgICAgICAgIG92ZXI6IGRvTm90aGluZywgCiAgICAgICAgICAgICAgdGltZW91dDogb3B0cy5ob3ZlckludGVudC50aW1lb3V0LCAgCiAgICAgICAgICAgICAgb3V0OiBmdW5jdGlvbigpIHsgJGNsb3NlTGluay50cmlnZ2VyKCdjbGljaycpOyB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGNsdWV0aXAuaG92ZXIoZG9Ob3RoaW5nLCAKICAgICAgICAgICAgZnVuY3Rpb24oKSB7JGNsb3NlTGluay50cmlnZ2VyKCdjbGljaycpOyB9KTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgJGNsdWV0aXAudW5iaW5kKCdtb3VzZW91dCcpOwogICAgICAgIH0KICAgICAgfQovLyBub3cgdGhhdCBjb250ZW50IGlzIGxvYWRlZCwgZmluaXNoIHRoZSBwb3NpdGlvbmluZyAKICAgICAgdmFyIGRpcmVjdGlvbiA9ICcnOwogICAgICAkY2x1ZXRpcE91dGVyLmNzcyh7b3ZlcmZsb3c6IGRlZkhlaWdodCA9PSAnYXV0bycgPyAndmlzaWJsZScgOiAnYXV0bycsIGhlaWdodDogZGVmSGVpZ2h0fSk7CiAgICAgIHRpcEhlaWdodCA9IGRlZkhlaWdodCA9PSAnYXV0bycgPyBNYXRoLm1heCgkY2x1ZXRpcC5vdXRlckhlaWdodCgpLCRjbHVldGlwLmhlaWdodCgpKSA6IHBhcnNlSW50KGRlZkhlaWdodCwxMCk7ICAgCiAgICAgIHRpcFkgPSBwb3NZOwogICAgICBiYXNlbGluZSA9IHNUb3AgKyB3SGVpZ2h0OwogICAgICBpZiAob3B0cy5wb3NpdGlvbkJ5ID09ICdmaXhlZCcpIHsKICAgICAgICB0aXBZID0gcG9zWSAtIG9wdHMuZHJvcFNoYWRvd1N0ZXBzICsgdE9mZnNldDsKICAgICAgfSBlbHNlIGlmICggKHBvc1ggPCBtb3VzZVggJiYgTWF0aC5tYXgocG9zWCwgMCkgKyB0aXBXaWR0aCA+IG1vdXNlWCkgfHwgb3B0cy5wb3NpdGlvbkJ5ID09ICdib3R0b21Ub3AnKSB7CiAgICAgICAgaWYgKHBvc1kgKyB0aXBIZWlnaHQgKyB0T2Zmc2V0ID4gYmFzZWxpbmUgJiYgbW91c2VZIC0gc1RvcCA+IHRpcEhlaWdodCArIHRPZmZzZXQpIHsgCiAgICAgICAgICB0aXBZID0gbW91c2VZIC0gdGlwSGVpZ2h0IC0gdE9mZnNldDsKICAgICAgICAgIGRpcmVjdGlvbiA9ICd0b3AnOwogICAgICAgIH0gZWxzZSB7IAogICAgICAgICAgdGlwWSA9IG1vdXNlWSArIHRPZmZzZXQ7CiAgICAgICAgICBkaXJlY3Rpb24gPSAnYm90dG9tJzsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoIHBvc1kgKyB0aXBIZWlnaHQgKyB0T2Zmc2V0ID4gYmFzZWxpbmUgKSB7CiAgICAgICAgdGlwWSA9ICh0aXBIZWlnaHQgPj0gd0hlaWdodCkgPyBzVG9wIDogYmFzZWxpbmUgLSB0aXBIZWlnaHQgLSB0T2Zmc2V0OwogICAgICB9IGVsc2UgaWYgKCR0aGlzLmNzcygnZGlzcGxheScpID09ICdibG9jaycgfHwgJHRoaXNbMF0udGFnTmFtZS50b0xvd2VyQ2FzZSgpID09ICdhcmVhJyB8fCBvcHRzLnBvc2l0aW9uQnkgPT0gIm1vdXNlIikgewogICAgICAgIHRpcFkgPSBicFkgLSB0T2Zmc2V0OwogICAgICB9IGVsc2UgewogICAgICAgIHRpcFkgPSBwb3NZIC0gb3B0cy5kcm9wU2hhZG93U3RlcHM7CiAgICAgIH0KICAgICAgaWYgKGRpcmVjdGlvbiA9PSAnJykgewogICAgICAgIHBvc1ggPCBsaW5rTGVmdCA/IGRpcmVjdGlvbiA9ICdsZWZ0JyA6IGRpcmVjdGlvbiA9ICdyaWdodCc7CiAgICAgIH0KICAgICAgJGNsdWV0aXAuY3NzKHt0b3A6IHRpcFkgKyAncHgnfSkucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcygnY2x1ZS0nICsgZGlyZWN0aW9uICsgJy0nICsgY3RDbGFzcykuYWRkQ2xhc3MoJyBjbHVldGlwLScgKyBjdENsYXNzKTsKICAgICAgaWYgKG9wdHMuYXJyb3dzKSB7IC8vIHNldCB1cCBhcnJvdyBwb3NpdGlvbmluZyB0byBhbGlnbiB3aXRoIGVsZW1lbnQKICAgICAgICB2YXIgYmdZID0gKHBvc1kgLSB0aXBZIC0gb3B0cy5kcm9wU2hhZG93U3RlcHMpOwogICAgICAgICRjbHVldGlwQXJyb3dzLmNzcyh7dG9wOiAoLyhsZWZ0fHJpZ2h0KS8udGVzdChkaXJlY3Rpb24pICYmIHBvc1ggPj0wICYmIGJnWSA+IDApID8gYmdZICsgJ3B4JyA6IC8obGVmdHxyaWdodCkvLnRlc3QoZGlyZWN0aW9uKSA/IDAgOiAnJ30pLnNob3coKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAkY2x1ZXRpcEFycm93cy5oaWRlKCk7CiAgICAgIH0KCi8vIChmaXJzdCBoaWRlLCB0aGVuKSAqKipTSE9XIFRIRSBDTFVFVElQKioqCiAgICAgICRkcm9wU2hhZG93LmhpZGUoKTsKICAgICAgJGNsdWV0aXAuaGlkZSgpW29wdHMuZngub3Blbl0ob3B0cy5meC5vcGVuICE9ICdzaG93JyAmJiBvcHRzLmZ4Lm9wZW5TcGVlZCk7CiAgICAgIGlmIChvcHRzLmRyb3BTaGFkb3cpICRkcm9wU2hhZG93LmNzcyh7aGVpZ2h0OiB0aXBIZWlnaHQsIHdpZHRoOiB0aXBJbm5lcldpZHRofSkuc2hvdygpOwogICAgICBpZiAoJC5mbi5iZ2lmcmFtZSkgeyAkY2x1ZXRpcC5iZ2lmcmFtZSgpOyB9CiAgICAgIC8vIHRyaWdnZXIgdGhlIG9wdGlvbmFsIG9uU2hvdyBmdW5jdGlvbgogICAgICBpZiAob3B0cy5kZWxheWVkQ2xvc2UgPiAwKSB7CiAgICAgICAgY2xvc2VPbkRlbGF5ID0gc2V0VGltZW91dChjbHVldGlwQ2xvc2UsIG9wdHMuZGVsYXllZENsb3NlKTsKICAgICAgfQogICAgICBvcHRzLm9uU2hvdygkY2x1ZXRpcCwgJGNsdWV0aXBJbm5lcik7CiAgICAgIAogICAgfTsKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgPUlOQUNUSVZBVElPTgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogICAgdmFyIGluYWN0aXZhdGUgPSBmdW5jdGlvbigpIHsKICAgICAgaXNBY3RpdmUgPSBmYWxzZTsKICAgICAgJCgnI2NsdWV0aXAtd2FpdGltYWdlJykuaGlkZSgpOwogICAgICBpZiAoIW9wdHMuc3RpY2t5IHx8ICgvY2xpY2t8dG9nZ2xlLykudGVzdChvcHRzLmFjdGl2YXRpb24pICkgewogICAgICAgIGNsdWV0aXBDbG9zZSgpOwpjbGVhclRpbWVvdXQoY2xvc2VPbkRlbGF5KTsgICAgICAgIAogICAgICB9OwogICAgICBpZiAob3B0cy5ob3ZlckNsYXNzKSB7CiAgICAgICAgJHRoaXMucmVtb3ZlQ2xhc3Mob3B0cy5ob3ZlckNsYXNzKTsKICAgICAgfQogICAgICAkKCcuY2x1ZXRpcC1jbGlja2VkJykucmVtb3ZlQ2xhc3MoJ2NsdWV0aXAtY2xpY2tlZCcpOwogICAgfTsKLy8gY2xvc2UgY2x1ZXRpcCBhbmQgcmVzZXQgc29tZSB0aGluZ3MKICAgIHZhciBjbHVldGlwQ2xvc2UgPSBmdW5jdGlvbigpIHsKICAgICAgJGNsdWV0aXBPdXRlciAKICAgICAgLnBhcmVudCgpLmhpZGUoKS5yZW1vdmVDbGFzcygpLmVuZCgpCiAgICAgIC5jaGlsZHJlbigpLmVtcHR5KCk7CiAgICAgIGlmICh0aXBUaXRsZSkgewogICAgICAgICR0aGlzLmF0dHIob3B0cy50aXRsZUF0dHJpYnV0ZSwgdGlwVGl0bGUpOwogICAgICB9CiAgICAgICR0aGlzLmNzcygnY3Vyc29yJywnJyk7CiAgICAgIGlmIChvcHRzLmFycm93cykgJGNsdWV0aXBBcnJvd3MuY3NzKHt0b3A6ICcnfSk7CiAgICB9OwoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICA9QklORCBFVkVOVFMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KICAvLyBhY3RpdmF0ZSBieSBjbGljawogICAgICBpZiAoICgvY2xpY2t8dG9nZ2xlLykudGVzdChvcHRzLmFjdGl2YXRpb24pICkgewogICAgICAgICR0aGlzLmNsaWNrKGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgICBpZiAoJGNsdWV0aXAuaXMoJzpoaWRkZW4nKSB8fCAhJHRoaXMuaXMoJy5jbHVldGlwLWNsaWNrZWQnKSkgewogICAgICAgICAgICBhY3RpdmF0ZShldmVudCk7CiAgICAgICAgICAgICQoJy5jbHVldGlwLWNsaWNrZWQnKS5yZW1vdmVDbGFzcygnY2x1ZXRpcC1jbGlja2VkJyk7CiAgICAgICAgICAgICR0aGlzLmFkZENsYXNzKCdjbHVldGlwLWNsaWNrZWQnKTsKCiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpbmFjdGl2YXRlKGV2ZW50KTsKCiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLmJsdXIoKTsKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9KTsKICAvLyBhY3RpdmF0ZSBieSBmb2N1czsgaW5hY3RpdmF0ZSBieSBibHVyICAgIAogICAgICB9IGVsc2UgaWYgKG9wdHMuYWN0aXZhdGlvbiA9PSAnZm9jdXMnKSB7CiAgICAgICAgJHRoaXMuZm9jdXMoZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAgIGFjdGl2YXRlKGV2ZW50KTsKICAgICAgICB9KTsKICAgICAgICAkdGhpcy5ibHVyKGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgICBpbmFjdGl2YXRlKGV2ZW50KTsKICAgICAgICB9KTsKICAvLyBhY3RpdmF0ZSBieSBob3ZlcgogICAgLy8gY2xpY2tpbmcgaXMgcmV0dXJuZWQgZmFsc2UgaWYgY2x1ZXRpcCB1cmwgaXMgc2FtZSBhcyBocmVmIHVybAogICAgICB9IGVsc2UgewogICAgICAgICR0aGlzLmNsaWNrKGZ1bmN0aW9uKCkgewogICAgICAgICAgaWYgKCR0aGlzLmF0dHIoJ2hyZWYnKSAmJiAkdGhpcy5hdHRyKCdocmVmJykgPT0gdGlwQXR0cmlidXRlICYmICFvcHRzLmNsaWNrVGhyb3VnaCkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgLy9zZXQgdXAgbW91c2UgdHJhY2tpbmcKICAgICAgICB2YXIgbW91c2VUcmFja3MgPSBmdW5jdGlvbihldnQpIHsKICAgICAgICAgIGlmIChvcHRzLnRyYWNraW5nID09IHRydWUpIHsKICAgICAgICAgICAgdmFyIHRyYWNrWCA9IHBvc1ggLSBldnQucGFnZVg7CiAgICAgICAgICAgIHZhciB0cmFja1kgPSB0aXBZID8gdGlwWSAtIGV2dC5wYWdlWSA6IHBvc1kgLSBldnQucGFnZVk7CiAgICAgICAgICAgICR0aGlzLm1vdXNlbW92ZShmdW5jdGlvbihldnQpIHsKICAgICAgICAgICAgICAkY2x1ZXRpcC5jc3Moe2xlZnQ6IGV2dC5wYWdlWCArIHRyYWNrWCwgdG9wOiBldnQucGFnZVkgKyB0cmFja1kgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgaWYgKCQuZm4uaG92ZXJJbnRlbnQgJiYgb3B0cy5ob3ZlckludGVudCkgewogICAgICAgICAgJHRoaXMubW91c2VvdmVyKGZ1bmN0aW9uKCkgeyR0aGlzLmF0dHIoJ3RpdGxlJywnJyk7IH0pCiAgICAgICAgICAuaG92ZXJJbnRlbnQoewogICAgICAgICAgICBzZW5zaXRpdml0eTogb3B0cy5ob3ZlckludGVudC5zZW5zaXRpdml0eSwKICAgICAgICAgICAgaW50ZXJ2YWw6IG9wdHMuaG92ZXJJbnRlbnQuaW50ZXJ2YWwsICAKICAgICAgICAgICAgb3ZlcjogZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAgICAgICBhY3RpdmF0ZShldmVudCk7CiAgICAgICAgICAgICAgbW91c2VUcmFja3MoZXZlbnQpOwogICAgICAgICAgICB9LCAKICAgICAgICAgICAgdGltZW91dDogb3B0cy5ob3ZlckludGVudC50aW1lb3V0LCAgCiAgICAgICAgICAgIG91dDogZnVuY3Rpb24oZXZlbnQpIHtpbmFjdGl2YXRlKGV2ZW50KTsgJHRoaXMudW5iaW5kKCdtb3VzZW1vdmUnKTt9CiAgICAgICAgICB9KTsgICAgICAgICAgIAogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAkdGhpcy5ob3ZlcihmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICBhY3RpdmF0ZShldmVudCk7CiAgICAgICAgICAgIG1vdXNlVHJhY2tzKGV2ZW50KTsKICAgICAgICAgIH0sIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgICAgIGluYWN0aXZhdGUoZXZlbnQpOwogICAgICAgICAgICAkdGhpcy51bmJpbmQoJ21vdXNlbW92ZScpOwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9CiAgICB9KTsKICB9OwogIAovKgogKiBvcHRpb25zIGZvciBjbHVlVGlwCiAqCiAqIGVhY2ggb25lIGNhbiBiZSBleHBsaWNpdGx5IG92ZXJyaWRkZW4gYnkgY2hhbmdpbmcgaXRzIHZhbHVlLiAKICogZm9yIGV4YW1wbGU6ICQuZm4uY2x1ZXRpcC5kZWZhdWx0cy53aWR0aCA9IDIwMDsgCiAqIHdvdWxkIGNoYW5nZSB0aGUgZGVmYXVsdCB3aWR0aCBmb3IgYWxsIGNsdWVUaXBzIHRvIDIwMC4gCiAqCiAqIGVhY2ggb25lIGNhbiBhbHNvIGJlIG92ZXJyaWRkZW4gYnkgcGFzc2luZyBhbiBvcHRpb25zIG1hcCB0byB0aGUgY2x1ZXRpcCBtZXRob2QuCiAqIGZvciBleGFtcGxlOiAkKCdhLmV4YW1wbGUnKS5jbHVldGlwKHt3aWR0aDogMjAwfSk7IAogKiB3b3VsZCBjaGFuZ2UgdGhlIGRlZmF1bHQgd2lkdGggdG8gMjAwIGZvciBjbHVlVGlwcyBpbnZva2VkIGJ5IGEgbGluayB3aXRoIGNsYXNzIG9mICJleGFtcGxlIgogKgogKi8KICAKICAkLmZuLmNsdWV0aXAuZGVmYXVsdHMgPSB7ICAvLyBzZXQgdXAgZGVmYXVsdCBvcHRpb25zCiAgICB3aWR0aDogICAgICAgICAgICAyNzUsICAgICAgLy8gVGhlIHdpZHRoIG9mIHRoZSBjbHVlVGlwCiAgICBoZWlnaHQ6ICAgICAgICAgICAnYXV0bycsICAgLy8gVGhlIGhlaWdodCBvZiB0aGUgY2x1ZVRpcAogICAgY2x1ZXpJbmRleDogICAgICAgOTcsICAgICAgIC8vIFNldHMgdGhlIHotaW5kZXggc3R5bGUgcHJvcGVydHkgb2YgdGhlIGNsdWVUaXAKICAgIHBvc2l0aW9uQnk6ICAgICAgICdhdXRvJywgICAvLyBTZXRzIHRoZSB0eXBlIG9mIHBvc2l0aW9uaW5nOiAnYXV0bycsICdtb3VzZScsJ2JvdHRvbVRvcCcsICdmaXhlZCcKICAgIHRvcE9mZnNldDogICAgICAgIDE1LCAgICAgICAvLyBOdW1iZXIgb2YgcHggdG8gb2Zmc2V0IGNsdWVUaXAgZnJvbSB0b3Agb2YgaW52b2tpbmcgZWxlbWVudAogICAgbGVmdE9mZnNldDogICAgICAgMTUsICAgICAgIC8vIE51bWJlciBvZiBweCB0byBvZmZzZXQgY2x1ZVRpcCBmcm9tIGxlZnQgb2YgaW52b2tpbmcgZWxlbWVudAogICAgbG9jYWw6ICAgICAgICAgICAgZmFsc2UsICAgIC8vIFdoZXRoZXIgdG8gdXNlIGNvbnRlbnQgZnJvbSB0aGUgc2FtZSBwYWdlIGZvciB0aGUgY2x1ZVRpcCdzIGJvZHkKICAgIGhpZGVMb2NhbDogICAgICAgIHRydWUsICAgICAvLyBJZiBsb2NhbCBvcHRpb24gaXMgc2V0IHRvIHRydWUsIHRoaXMgZGV0ZXJtaW5lcyB3aGV0aGVyIGxvY2FsIGNvbnRlbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0byBiZSBzaG93biBpbiBjbHVlVGlwIHNob3VsZCBiZSBoaWRkZW4gYXQgaXRzIG9yaWdpbmFsIGxvY2F0aW9uCiAgICBhdHRyaWJ1dGU6ICAgICAgICAncmVsJywgICAgLy8gdGhlIGF0dHJpYnV0ZSB0byBiZSB1c2VkIGZvciBmZXRjaGluZyB0aGUgY2x1ZVRpcCdzIGJvZHkgY29udGVudAogICAgdGl0bGVBdHRyaWJ1dGU6ICAgJ3RpdGxlJywgIC8vIHRoZSBhdHRyaWJ1dGUgdG8gYmUgdXNlZCBmb3IgZmV0Y2hpbmcgdGhlIGNsdWVUaXAncyB0aXRsZQogICAgc3BsaXRUaXRsZTogICAgICAgJycsICAgICAgIC8vIEEgY2hhcmFjdGVyIHVzZWQgdG8gc3BsaXQgdGhlIHRpdGxlIGF0dHJpYnV0ZSBpbnRvIHRoZSBjbHVlVGlwIHRpdGxlIGFuZCBkaXZzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2l0aGluIHRoZSBjbHVlVGlwIGJvZHkuIG1vcmUgaW5mbyBiZWxvdyBbNl0KICAgIHNob3dUaXRsZTogICAgICAgIHRydWUsICAgICAvLyBzaG93IHRpdGxlIGJhciBvZiB0aGUgY2x1ZVRpcCwgZXZlbiBpZiB0aXRsZSBhdHRyaWJ1dGUgbm90IHNldAogICAgY2x1ZXRpcENsYXNzOiAgICAgJ2RlZmF1bHQnLC8vIGNsYXNzIGFkZGVkIHRvIG91dGVybW9zdCBjbHVlVGlwIGRpdiBpbiB0aGUgZm9ybSBvZiAnY2x1ZXRpcC0nICsgY2x1ZVRpcENsYXNzLgogICAgaG92ZXJDbGFzczogICAgICAgJycsICAgICAgIC8vIGNsYXNzIGFwcGxpZWQgdG8gdGhlIGludm9raW5nIGVsZW1lbnQgb25tb3VzZW92ZXIgYW5kIHJlbW92ZWQgb25tb3VzZW91dAogICAgd2FpdEltYWdlOiAgICAgICAgdHJ1ZSwgICAgIC8vIHdoZXRoZXIgdG8gc2hvdyBhICJsb2FkaW5nIiBpbWcsIHdoaWNoIGlzIHNldCBpbiBqcXVlcnkuY2x1ZXRpcC5jc3MKICAgIGN1cnNvcjogICAgICAgICAgICdoZWxwJywKICAgIGFycm93czogICAgICAgICAgIGZhbHNlLCAgICAvLyBpZiB0cnVlLCBkaXNwbGF5cyBhcnJvdyBvbiBhcHByb3ByaWF0ZSBzaWRlIG9mIGNsdWVUaXAKICAgIGRyb3BTaGFkb3c6ICAgICAgIHRydWUsICAgICAvLyBzZXQgdG8gZmFsc2UgaWYgeW91IGRvbid0IHdhbnQgdGhlIGRyb3Atc2hhZG93IGVmZmVjdCBvbiB0aGUgY2x1ZVRpcAogICAgZHJvcFNoYWRvd1N0ZXBzOiAgNiwgICAgICAgIC8vIGFkanVzdHMgdGhlIHNpemUgb2YgdGhlIGRyb3Agc2hhZG93CiAgICBzdGlja3k6ICAgICAgICAgICBmYWxzZSwgICAgLy8ga2VlcCB2aXNpYmxlIHVudGlsIG1hbnVhbGx5IGNsb3NlZAogICAgbW91c2VPdXRDbG9zZTogICAgZmFsc2UsICAgIC8vIGNsb3NlIHdoZW4gY2x1ZVRpcCBpcyBtb3VzZWQgb3V0CiAgICBhY3RpdmF0aW9uOiAgICAgICAnaG92ZXInLCAgLy8gc2V0IHRvICdjbGljaycgdG8gZm9yY2UgdXNlciB0byBjbGljayB0byBzaG93IGNsdWVUaXAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzZXQgdG8gJ2ZvY3VzJyB0byBzaG93IG9uIGZvY3VzIG9mIGEgZm9ybSBlbGVtZW50IGFuZCBoaWRlIG9uIGJsdXIKICAgIGNsaWNrVGhyb3VnaDogICAgIGZhbHNlLCAgICAvLyBpZiB0cnVlLCBhbmQgYWN0aXZhdGlvbiBpcyBub3QgJ2NsaWNrJywgdGhlbiBjbGlja2luZyBvbiBsaW5rIHdpbGwgdGFrZSB1c2VyIHRvIHRoZSBsaW5rJ3MgaHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBldmVuIGlmIGhyZWYgYW5kIHRpcEF0dHJpYnV0ZSBhcmUgZXF1YWwKICAgIHRyYWNraW5nOiAgICAgICAgIGZhbHNlLCAgICAvLyBpZiB0cnVlLCBjbHVlVGlwIHdpbGwgdHJhY2sgbW91c2UgbW92ZW1lbnQgKGV4cGVyaW1lbnRhbCkKICAgIGRlbGF5ZWRDbG9zZTogICAgIDAsICAgICAgICAvLyBjbG9zZSBjbHVlVGlwIG9uIGEgdGltZWQgZGVsYXkgKGV4cGVyaW1lbnRhbCkKICAgIGNsb3NlUG9zaXRpb246ICAgICd0b3AnLCAgICAvLyBsb2NhdGlvbiBvZiBjbG9zZSB0ZXh0IGZvciBzdGlja3kgY2x1ZXRpcHM7IGNhbiBiZSAndG9wJyBvciAnYm90dG9tJyBvciAndGl0bGUnCiAgICBjbG9zZVRleHQ6ICAgICAgICAnQ2xvc2UnLCAgLy8gdGV4dCAob3IgSFRNTCkgdG8gdG8gYmUgY2xpY2tlZCB0byBjbG9zZSBzdGlja3kgY2x1ZVRpcHMKICAgIHRydW5jYXRlOiAgICAgICAgIDAsICAgICAgICAvLyBudW1iZXIgb2YgY2hhcmFjdGVycyB0byB0cnVuY2F0ZSBjbHVlVGlwJ3MgY29udGVudHMuIGlmIDAsIG5vIHRydW5jYXRpb24gb2NjdXJzCgogICAgLy8gZWZmZWN0IGFuZCBzcGVlZCBmb3Igb3BlbmluZyBjbHVlVGlwcwogICAgZng6IHsgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICBvcGVuOiAgICAgICAnc2hvdycsIC8vIGNhbiBiZSAnc2hvdycgb3IgJ3NsaWRlRG93bicgb3IgJ2ZhZGVJbicKICAgICAgICAgICAgICAgICAgICAgIG9wZW5TcGVlZDogICcnCiAgICB9LCAgICAgCgogICAgLy8gc2V0dGluZ3MgZm9yIHdoZW4gaG92ZXJJbnRlbnQgcGx1Z2luIGlzIHVzZWQgICAgICAgICAgICAgCiAgICBob3ZlckludGVudDogeyAgICAKICAgICAgICAgICAgICAgICAgICAgIHNlbnNpdGl2aXR5OiAgMywKICAgICAgICAgICAgICAJCQkgIGludGVydmFsOiAgICAgNTAsCiAgICAgICAgICAgICAgCQkJICB0aW1lb3V0OiAgICAgIDAKICAgIH0sCgogICAgLy8gZnVuY3Rpb24gdG8gcnVuIGp1c3QgYmVmb3JlIGNsdWVUaXAgaXMgc2hvd24uICAgICAgICAgICAKICAgIG9uQWN0aXZhdGU6ICAgICAgIGZ1bmN0aW9uKGUpIHtyZXR1cm4gdHJ1ZTt9LAoKICAgIC8vIGZ1bmN0aW9uIHRvIHJ1biBqdXN0IGFmdGVyIGNsdWVUaXAgaXMgc2hvd24uCiAgICBvblNob3c6ICAgICAgICAgICBmdW5jdGlvbihjdCwgYyl7fSwKICAgIAogICAgLy8gd2hldGhlciB0byBjYWNoZSByZXN1bHRzIG9mIGFqYXggcmVxdWVzdCB0byBhdm9pZCB1bm5lY2Vzc2FyeSBoaXRzIHRvIHNlcnZlciAgICAKICAgIGFqYXhDYWNoZTogICAgICAgIHRydWUsICAKCiAgICAvLyBwcm9jZXNzIGRhdGEgcmV0cmlldmVkIHZpYSB4aHIgYmVmb3JlIGl0J3MgZGlzcGxheWVkCiAgICBhamF4UHJvY2VzczogICAgICBmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBkYXRhLnJlcGxhY2UoLzxzKGNyaXB0fHR5bGUpKC58XHMpKj9cL3MoY3JpcHR8dHlsZSk+L2csICcnKS5yZXBsYWNlKC88KGxpbmt8dGl0bGUpKC58XHMpKj9cLyhsaW5rfHRpdGxlKT4vZywnJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOwogICAgfSwgICAgICAgICAgICAgICAgCgogICAgLy8gY2FuIHBhc3MgaW4gc3RhbmRhcmQgJC5hamF4KCkgcGFyYW1ldGVycywgbm90IGluY2x1ZGluZyBlcnJvciwgY29tcGxldGUsIHN1Y2Nlc3MsIGFuZCB1cmwKICAgIGFqYXhTZXR0aW5nczogeyAgIAogICAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICdodG1sJwogICAgfSwKICAgIGRlYnVnOiBmYWxzZQogIH07CgoKLyoKICogR2xvYmFsIGRlZmF1bHRzIGZvciBjbHVlVGlwcy4gQXBwbHkgdG8gYWxsIGNhbGxzIHRvIHRoZSBjbHVlVGlwIHBsdWdpbi4KICoKICogQGV4YW1wbGUgJC5jbHVldGlwLnNldHVwKHsKICogICBpbnNlcnRpb25UeXBlOiAncHJlcGVuZFRvJywKICogICBpbnNlcnRpb25FbGVtZW50OiAnI2NvbnRhaW5lcicKICogfSk7CiAqIAogKiBAcHJvcGVydHkKICogQG5hbWUgJC5jbHVldGlwLnNldHVwCiAqIEB0eXBlIE1hcAogKiBAY2F0IFBsdWdpbnMvdG9vbHRpcAogKiBAb3B0aW9uIFN0cmluZyBpbnNlcnRpb25UeXBlOiBEZWZhdWx0IGlzICdhcHBlbmRUbycuIERldGVybWluZXMgdGhlIG1ldGhvZCB0byBiZSB1c2VkIGZvciBpbnNlcnRpbmcgdGhlIGNsdWVUaXAgaW50byB0aGUgRE9NLiBQZXJtaXR0ZWQgdmFsdWVzIGFyZSAnYXBwZW5kVG8nLCAncHJlcGVuZFRvJywgJ2luc2VydEJlZm9yZScsIGFuZCAnaW5zZXJ0QWZ0ZXInCiAqIEBvcHRpb24gU3RyaW5nIGluc2VydGlvbkVsZW1lbnQ6IERlZmF1bHQgaXMgJ2JvZHknLiBEZXRlcm1pbmVzIHdoaWNoIGVsZW1lbnQgaW4gdGhlIERPTSB0aGUgcGx1Z2luIHdpbGwgcmVmZXJlbmNlIHdoZW4gaW5zZXJ0aW5nIHRoZSBjbHVlVGlwLgogKgogKi8KICAgCiAgdmFyIGluc2VydGlvblR5cGUgPSAnYXBwZW5kVG8nLCBpbnNlcnRpb25FbGVtZW50ID0gJ2JvZHknOwogICQuY2x1ZXRpcCA9IHt9OwogICQuY2x1ZXRpcC5zZXR1cCA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuaW5zZXJ0aW9uVHlwZSAmJiAob3B0aW9ucy5pbnNlcnRpb25UeXBlKS5tYXRjaCgvYXBwZW5kVG98cHJlcGVuZFRvfGluc2VydEJlZm9yZXxpbnNlcnRBZnRlci8pKSB7CiAgICAgIGluc2VydGlvblR5cGUgPSBvcHRpb25zLmluc2VydGlvblR5cGU7CiAgICB9CiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmluc2VydGlvbkVsZW1lbnQpIHsKICAgICAgaW5zZXJ0aW9uRWxlbWVudCA9IG9wdGlvbnMuaW5zZXJ0aW9uRWxlbWVudDsKICAgIH0KICB9OwogIAp9KShqUXVlcnkpOwo=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.dimensions-1.2.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ29weXJpZ2h0IChjKSAyMDA3IFBhdWwgQmFrYXVzIChwYXVsLmJha2F1c0Bnb29nbGVtYWlsLmNvbSkgYW5kIEJyYW5kb24gQWFyb24gKGJyYW5kb24uYWFyb25AZ21haWwuY29tIHx8IGh0dHA6Ly9icmFuZG9uYWFyb24ubmV0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgKGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwKQogKiBhbmQgR1BMIChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocCkgbGljZW5zZXMuCiAqCiAqICRMYXN0Q2hhbmdlZERhdGU6IDIwMDgtMDItMjggMDU6NDk6NTUgLTA1MDAgKFRodSwgMjggRmViIDIwMDgpICQKICogJFJldjogNDg0MSAkCiAqCiAqIFZlcnNpb246IEBWRVJTSU9OCiAqCiAqIFJlcXVpcmVzOiBqUXVlcnkgMS4yKwogKi8KCihmdW5jdGlvbigkKXsKCQokLmRpbWVuc2lvbnMgPSB7Cgl2ZXJzaW9uOiAnQFZFUlNJT04nCn07CgovLyBDcmVhdGUgaW5uZXJIZWlnaHQsIGlubmVyV2lkdGgsIG91dGVySGVpZ2h0IGFuZCBvdXRlcldpZHRoIG1ldGhvZHMKJC5lYWNoKCBbICdIZWlnaHQnLCAnV2lkdGgnIF0sIGZ1bmN0aW9uKGksIG5hbWUpewoJCgkvLyBpbm5lckhlaWdodCBhbmQgaW5uZXJXaWR0aAoJJC5mblsgJ2lubmVyJyArIG5hbWUgXSA9IGZ1bmN0aW9uKCkgewoJCWlmICghdGhpc1swXSkgcmV0dXJuOwoJCQoJCXZhciB0b3JsID0gbmFtZSA9PSAnSGVpZ2h0JyA/ICdUb3AnICAgIDogJ0xlZnQnLCAgLy8gdG9wIG9yIGxlZnQKCQkgICAgYm9yciA9IG5hbWUgPT0gJ0hlaWdodCcgPyAnQm90dG9tJyA6ICdSaWdodCc7IC8vIGJvdHRvbSBvciByaWdodAoKICAgIHJldHVybiB0aGlzLmNzcygnZGlzcGxheScpICE9ICdub25lJyA/IHRoaXNbMF1bJ2NsaWVudCcgKyBuYW1lXSA6IG51bSggdGhpcywgbmFtZS50b0xvd2VyQ2FzZSgpICkgKyBudW0odGhpcywgJ3BhZGRpbmcnICsgdG9ybCkgKyBudW0odGhpcywgJ3BhZGRpbmcnICsgYm9ycik7Cgl9OwoJCgkvLyBvdXRlckhlaWdodCBhbmQgb3V0ZXJXaWR0aAoJJC5mblsgJ291dGVyJyArIG5hbWUgXSA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKCQlpZiAoIXRoaXNbMF0pIHJldHVybjsKCQkKCQl2YXIgdG9ybCA9IG5hbWUgPT0gJ0hlaWdodCcgPyAnVG9wJyAgICA6ICdMZWZ0JywgIC8vIHRvcCBvciBsZWZ0CgkJICAgIGJvcnIgPSBuYW1lID09ICdIZWlnaHQnID8gJ0JvdHRvbScgOiAnUmlnaHQnOyAvLyBib3R0b20gb3IgcmlnaHQKCQkKCQlvcHRpb25zID0gJC5leHRlbmQoeyBtYXJnaW46IGZhbHNlIH0sIG9wdGlvbnMgfHwge30pOwoJCXZhciB2YWwgPSB0aGlzLmNzcygnZGlzcGxheScpICE9ICdub25lJyA/IAoJCQkJdGhpc1swXVsnb2Zmc2V0JyArIG5hbWVdIDogCgkJCQludW0oIHRoaXMsIG5hbWUudG9Mb3dlckNhc2UoKSApCgkJCQkJKyBudW0odGhpcywgJ2JvcmRlcicgKyB0b3JsICsgJ1dpZHRoJykgKyBudW0odGhpcywgJ2JvcmRlcicgKyBib3JyICsgJ1dpZHRoJykKCQkJCQkrIG51bSh0aGlzLCAncGFkZGluZycgKyB0b3JsKSArIG51bSh0aGlzLCAncGFkZGluZycgKyBib3JyKTsKCQlyZXR1cm4gdmFsICsgKG9wdGlvbnMubWFyZ2luID8gKG51bSh0aGlzLCAnbWFyZ2luJyArIHRvcmwpICsgbnVtKHRoaXMsICdtYXJnaW4nICsgYm9ycikpIDogMCk7Cgl9Owp9KTsKCi8vIENyZWF0ZSBzY3JvbGxMZWZ0IGFuZCBzY3JvbGxUb3AgbWV0aG9kcwokLmVhY2goIFsnTGVmdCcsICdUb3AnXSwgZnVuY3Rpb24oaSwgbmFtZSkgewoJJC5mblsgJ3Njcm9sbCcgKyBuYW1lIF0gPSBmdW5jdGlvbih2YWwpIHsKCQlpZiAoIXRoaXNbMF0pIHJldHVybjsKCQkKCQlyZXR1cm4gdmFsICE9IHVuZGVmaW5lZCA/CgkJCgkJCS8vIFNldCB0aGUgc2Nyb2xsIG9mZnNldAoJCQl0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQl0aGlzID09IHdpbmRvdyB8fCB0aGlzID09IGRvY3VtZW50ID8KCQkJCQl3aW5kb3cuc2Nyb2xsVG8oIAoJCQkJCQluYW1lID09ICdMZWZ0JyA/IHZhbCA6ICQod2luZG93KVsgJ3Njcm9sbExlZnQnIF0oKSwKCQkJCQkJbmFtZSA9PSAnVG9wJyAgPyB2YWwgOiAkKHdpbmRvdylbICdzY3JvbGxUb3AnICBdKCkKCQkJCQkpIDoKCQkJCQl0aGlzWyAnc2Nyb2xsJyArIG5hbWUgXSA9IHZhbDsKCQkJfSkgOgoJCQkKCQkJLy8gUmV0dXJuIHRoZSBzY3JvbGwgb2Zmc2V0CgkJCXRoaXNbMF0gPT0gd2luZG93IHx8IHRoaXNbMF0gPT0gZG9jdW1lbnQgPwoJCQkJc2VsZlsgKG5hbWUgPT0gJ0xlZnQnID8gJ3BhZ2VYT2Zmc2V0JyA6ICdwYWdlWU9mZnNldCcpIF0gfHwKCQkJCQkkLmJveE1vZGVsICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsgJ3Njcm9sbCcgKyBuYW1lIF0gfHwKCQkJCQlkb2N1bWVudC5ib2R5WyAnc2Nyb2xsJyArIG5hbWUgXSA6CgkJCQl0aGlzWzBdWyAnc2Nyb2xsJyArIG5hbWUgXTsKCX07Cn0pOwoKJC5mbi5leHRlbmQoewoJcG9zaXRpb246IGZ1bmN0aW9uKCkgewoJCXZhciBsZWZ0ID0gMCwgdG9wID0gMCwgZWxlbSA9IHRoaXNbMF0sIG9mZnNldCwgcGFyZW50T2Zmc2V0LCBvZmZzZXRQYXJlbnQsIHJlc3VsdHM7CgkJCgkJaWYgKGVsZW0pIHsKCQkJLy8gR2V0ICpyZWFsKiBvZmZzZXRQYXJlbnQKCQkJb2Zmc2V0UGFyZW50ID0gdGhpcy5vZmZzZXRQYXJlbnQoKTsKCQkJCgkJCS8vIEdldCBjb3JyZWN0IG9mZnNldHMKCQkJb2Zmc2V0ICAgICAgID0gdGhpcy5vZmZzZXQoKTsKCQkJcGFyZW50T2Zmc2V0ID0gb2Zmc2V0UGFyZW50Lm9mZnNldCgpOwoJCQkKCQkJLy8gU3VidHJhY3QgZWxlbWVudCBtYXJnaW5zCgkJCW9mZnNldC50b3AgIC09IG51bShlbGVtLCAnbWFyZ2luVG9wJyk7CgkJCW9mZnNldC5sZWZ0IC09IG51bShlbGVtLCAnbWFyZ2luTGVmdCcpOwoJCQkKCQkJLy8gQWRkIG9mZnNldFBhcmVudCBib3JkZXJzCgkJCXBhcmVudE9mZnNldC50b3AgICs9IG51bShvZmZzZXRQYXJlbnQsICdib3JkZXJUb3BXaWR0aCcpOwoJCQlwYXJlbnRPZmZzZXQubGVmdCArPSBudW0ob2Zmc2V0UGFyZW50LCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJCQoJCQkvLyBTdWJ0cmFjdCB0aGUgdHdvIG9mZnNldHMKCQkJcmVzdWx0cyA9IHsKCQkJCXRvcDogIG9mZnNldC50b3AgIC0gcGFyZW50T2Zmc2V0LnRvcCwKCQkJCWxlZnQ6IG9mZnNldC5sZWZ0IC0gcGFyZW50T2Zmc2V0LmxlZnQKCQkJfTsKCQl9CgkJCgkJcmV0dXJuIHJlc3VsdHM7Cgl9LAoJCglvZmZzZXRQYXJlbnQ6IGZ1bmN0aW9uKCkgewoJCXZhciBvZmZzZXRQYXJlbnQgPSB0aGlzWzBdLm9mZnNldFBhcmVudDsKCQl3aGlsZSAoIG9mZnNldFBhcmVudCAmJiAoIS9eYm9keXxodG1sJC9pLnRlc3Qob2Zmc2V0UGFyZW50LnRhZ05hbWUpICYmICQuY3NzKG9mZnNldFBhcmVudCwgJ3Bvc2l0aW9uJykgPT0gJ3N0YXRpYycpICkKCQkJb2Zmc2V0UGFyZW50ID0gb2Zmc2V0UGFyZW50Lm9mZnNldFBhcmVudDsKCQlyZXR1cm4gJChvZmZzZXRQYXJlbnQpOwoJfQp9KTsKCmZ1bmN0aW9uIG51bShlbCwgcHJvcCkgewoJcmV0dXJuIHBhcnNlSW50KCQuY3VyQ1NTKGVsLmpxdWVyeT9lbFswXTplbCxwcm9wLHRydWUpKXx8MDsKfTsKCn0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.dimensions.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQ29weXJpZ2h0IChjKSAyMDA3IFBhdWwgQmFrYXVzIChwYXVsLmJha2F1c0Bnb29nbGVtYWlsLmNvbSkgYW5kIEJyYW5kb24gQWFyb24gKGJyYW5kb24uYWFyb25AZ21haWwuY29tIHx8IGh0dHA6Ly9icmFuZG9uYWFyb24ubmV0KQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgKGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwKQogKiBhbmQgR1BMIChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocCkgbGljZW5zZXMuCiAqCiAqICRMYXN0Q2hhbmdlZERhdGU6IDIwMDctMDgtMTcgMTQ6MTQ6MTEgLTA0MDAgKEZyaSwgMTcgQXVnIDIwMDcpICQKICogJFJldjogMjc1OSAkCiAqCiAqIFZlcnNpb246IDEuMS4yCiAqCiAqIFJlcXVpcmVzOiBqUXVlcnkgMS4xLjMrCiAqLwoKKGZ1bmN0aW9uKCQpewoKLy8gc3RvcmUgYSBjb3B5IG9mIHRoZSBjb3JlIGhlaWdodCBhbmQgd2lkdGggbWV0aG9kcwp2YXIgaGVpZ2h0ID0gJC5mbi5oZWlnaHQsCiAgICB3aWR0aCAgPSAkLmZuLndpZHRoOwoKJC5mbi5leHRlbmQoewoJLyoqCgkgKiBJZiB1c2VkIG9uIGRvY3VtZW50LCByZXR1cm5zIHRoZSBkb2N1bWVudCdzIGhlaWdodCAoaW5uZXJIZWlnaHQpLgoJICogSWYgdXNlZCBvbiB3aW5kb3csIHJldHVybnMgdGhlIHZpZXdwb3J0J3MgKHdpbmRvdykgaGVpZ2h0LgoJICogU2VlIGNvcmUgZG9jcyBvbiBoZWlnaHQoKSB0byBzZWUgd2hhdCBoYXBwZW5zIHdoZW4gdXNlZCBvbiBhbiBlbGVtZW50LgoJICoKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2IikuaGVpZ2h0KCkKCSAqIEByZXN1bHQgMjAwCgkgKgoJICogQGV4YW1wbGUgJChkb2N1bWVudCkuaGVpZ2h0KCkKCSAqIEByZXN1bHQgODAwCgkgKgoJICogQGV4YW1wbGUgJCh3aW5kb3cpLmhlaWdodCgpCgkgKiBAcmVzdWx0IDQwMAoJICoKCSAqIEBuYW1lIGhlaWdodAoJICogQHR5cGUgTnVtYmVyCgkgKiBAY2F0IFBsdWdpbnMvRGltZW5zaW9ucwoJICovCgloZWlnaHQ6IGZ1bmN0aW9uKCkgewoJCWlmICggIXRoaXNbMF0gKSBlcnJvcigpOwoJCWlmICggdGhpc1swXSA9PSB3aW5kb3cgKQoJCQlpZiAoICQuYnJvd3Nlci5vcGVyYSB8fCAoJC5icm93c2VyLnNhZmFyaSAmJiBwYXJzZUludCgkLmJyb3dzZXIudmVyc2lvbikgPiA1MjApICkKCQkJCXJldHVybiBzZWxmLmlubmVySGVpZ2h0IC0gKCgkKGRvY3VtZW50KS5oZWlnaHQoKSA+IHNlbGYuaW5uZXJIZWlnaHQpID8gZ2V0U2Nyb2xsYmFyV2lkdGgoKSA6IDApOwoKCQkJZWxzZSBpZiAoICQuYnJvd3Nlci5zYWZhcmkgKQoJCQkJcmV0dXJuIHNlbGYuaW5uZXJIZWlnaHQ7CgkJCWVsc2UKICAgICAgICAgIC8vcmV0dXJuICQuYm94TW9kZWwgJiYgTWF0aC5taW4oZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCk7CiAgICAgIAkJcmV0dXJuICQuYm94TW9kZWwgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCB8fCBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDsKCQlpZiAoIHRoaXNbMF0gPT0gZG9jdW1lbnQgKSAKCQkJcmV0dXJuIE1hdGgubWF4KCAoJC5ib3hNb2RlbCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0IHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0KSwgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQgKTsKCQkKCQlyZXR1cm4gaGVpZ2h0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7Cgl9LAoJCgkvKioKCSAqIElmIHVzZWQgb24gZG9jdW1lbnQsIHJldHVybnMgdGhlIGRvY3VtZW50J3Mgd2lkdGggKGlubmVyV2lkdGgpLgoJICogSWYgdXNlZCBvbiB3aW5kb3csIHJldHVybnMgdGhlIHZpZXdwb3J0J3MgKHdpbmRvdykgd2lkdGguCgkgKiBTZWUgY29yZSBkb2NzIG9uIHdpZHRoKCkgdG8gc2VlIHdoYXQgaGFwcGVucyB3aGVuIHVzZWQgb24gYW4gZWxlbWVudC4KCSAqCgkgKiBAZXhhbXBsZSAkKCIjdGVzdGRpdiIpLndpZHRoKCkKCSAqIEByZXN1bHQgMjAwCgkgKgoJICogQGV4YW1wbGUgJChkb2N1bWVudCkud2lkdGgoKQoJICogQHJlc3VsdCA4MDAKCSAqCgkgKiBAZXhhbXBsZSAkKHdpbmRvdykud2lkdGgoKQoJICogQHJlc3VsdCA0MDAKCSAqCgkgKiBAbmFtZSB3aWR0aAoJICogQHR5cGUgTnVtYmVyCgkgKiBAY2F0IFBsdWdpbnMvRGltZW5zaW9ucwoJICovCgl3aWR0aDogZnVuY3Rpb24oKSB7CgkJaWYgKCF0aGlzWzBdKSBlcnJvcigpOwoJCWlmICggdGhpc1swXSA9PSB3aW5kb3cgKQoJCQlpZiAoICQuYnJvd3Nlci5vcGVyYSB8fCAoJC5icm93c2VyLnNhZmFyaSAmJiBwYXJzZUludCgkLmJyb3dzZXIudmVyc2lvbikgPiA1MjApICkKCQkJCXJldHVybiBzZWxmLmlubmVyV2lkdGggLSAoKCQoZG9jdW1lbnQpLndpZHRoKCkgPiBzZWxmLmlubmVyV2lkdGgpID8gZ2V0U2Nyb2xsYmFyV2lkdGgoKSA6IDApOwoJCQllbHNlIGlmICggJC5icm93c2VyLnNhZmFyaSApCgkJCQlyZXR1cm4gc2VsZi5pbm5lcldpZHRoOwoJCQllbHNlCiAgICAgICAgICAgICAgICByZXR1cm4gJC5ib3hNb2RlbCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggfHwgZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDsKCgkJaWYgKCB0aGlzWzBdID09IGRvY3VtZW50ICkKCQkJaWYgKCQuYnJvd3Nlci5tb3ppbGxhKSB7CgkJCQkvLyBtb3ppbGxhIHJlcG9ydHMgc2Nyb2xsV2lkdGggYW5kIG9mZnNldFdpZHRoIGFzIHRoZSBzYW1lCgkJCQl2YXIgc2Nyb2xsTGVmdCA9IHNlbGYucGFnZVhPZmZzZXQ7CgkJCQlzZWxmLnNjcm9sbFRvKDk5OTk5OTk5LCBzZWxmLnBhZ2VZT2Zmc2V0KTsKCQkJCXZhciBzY3JvbGxXaWR0aCA9IHNlbGYucGFnZVhPZmZzZXQ7CgkJCQlzZWxmLnNjcm9sbFRvKHNjcm9sbExlZnQsIHNlbGYucGFnZVlPZmZzZXQpOwoJCQkJcmV0dXJuIGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGggKyBzY3JvbGxXaWR0aDsKCQkJfQoJCQllbHNlIAoJCQkJcmV0dXJuIE1hdGgubWF4KCAoKCQuYm94TW9kZWwgJiYgISQuYnJvd3Nlci5zYWZhcmkpICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxXaWR0aCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbFdpZHRoKSwgZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCApOwoKCQlyZXR1cm4gd2lkdGguYXBwbHkodGhpcywgYXJndW1lbnRzKTsKCX0sCgkKCS8qKgoJICogR2V0cyB0aGUgaW5uZXIgaGVpZ2h0IChleGNsdWRlcyB0aGUgYm9yZGVyIGFuZCBpbmNsdWRlcyB0aGUgcGFkZGluZykgZm9yIHRoZSBmaXJzdCBtYXRjaGVkIGVsZW1lbnQuCgkgKiBJZiB1c2VkIG9uIGRvY3VtZW50LCByZXR1cm5zIHRoZSBkb2N1bWVudCdzIGhlaWdodCAoaW5uZXJIZWlnaHQpLgoJICogSWYgdXNlZCBvbiB3aW5kb3csIHJldHVybnMgdGhlIHZpZXdwb3J0J3MgKHdpbmRvdykgaGVpZ2h0LgoJICoKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2IikuaW5uZXJIZWlnaHQoKQoJICogQHJlc3VsdCAyMTAKCSAqCgkgKiBAbmFtZSBpbm5lckhlaWdodAoJICogQHR5cGUgTnVtYmVyCgkgKiBAY2F0IFBsdWdpbnMvRGltZW5zaW9ucwoJICovCglpbm5lckhlaWdodDogZnVuY3Rpb24oKSB7CgkJaWYgKCF0aGlzWzBdKSBlcnJvcigpOwoJCXJldHVybiB0aGlzWzBdID09IHdpbmRvdyB8fCB0aGlzWzBdID09IGRvY3VtZW50ID8KCQkJdGhpcy5oZWlnaHQoKSA6CgkJCXRoaXMuaXMoJzp2aXNpYmxlJykgPwoJCQkJdGhpc1swXS5vZmZzZXRIZWlnaHQgLSBudW0odGhpcywgJ2JvcmRlclRvcFdpZHRoJykgLSBudW0odGhpcywgJ2JvcmRlckJvdHRvbVdpZHRoJykgOgoJCQkJdGhpcy5oZWlnaHQoKSArIG51bSh0aGlzLCAncGFkZGluZ1RvcCcpICsgbnVtKHRoaXMsICdwYWRkaW5nQm90dG9tJyk7Cgl9LAoJCgkvKioKCSAqIEdldHMgdGhlIGlubmVyIHdpZHRoIChleGNsdWRlcyB0aGUgYm9yZGVyIGFuZCBpbmNsdWRlcyB0aGUgcGFkZGluZykgZm9yIHRoZSBmaXJzdCBtYXRjaGVkIGVsZW1lbnQuCgkgKiBJZiB1c2VkIG9uIGRvY3VtZW50LCByZXR1cm5zIHRoZSBkb2N1bWVudCdzIHdpZHRoIChpbm5lcldpZHRoKS4KCSAqIElmIHVzZWQgb24gd2luZG93LCByZXR1cm5zIHRoZSB2aWV3cG9ydCdzICh3aW5kb3cpIHdpZHRoLgoJICoKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2IikuaW5uZXJXaWR0aCgpCgkgKiBAcmVzdWx0IDIxMAoJICoKCSAqIEBuYW1lIGlubmVyV2lkdGgKCSAqIEB0eXBlIE51bWJlcgoJICogQGNhdCBQbHVnaW5zL0RpbWVuc2lvbnMKCSAqLwoJaW5uZXJXaWR0aDogZnVuY3Rpb24oKSB7CgkJaWYgKCF0aGlzWzBdKSBlcnJvcigpOwoJCXJldHVybiB0aGlzWzBdID09IHdpbmRvdyB8fCB0aGlzWzBdID09IGRvY3VtZW50ID8KCQkJdGhpcy53aWR0aCgpIDoKCQkJdGhpcy5pcygnOnZpc2libGUnKSA/CgkJCQl0aGlzWzBdLm9mZnNldFdpZHRoIC0gbnVtKHRoaXMsICdib3JkZXJMZWZ0V2lkdGgnKSAtIG51bSh0aGlzLCAnYm9yZGVyUmlnaHRXaWR0aCcpIDoKCQkJCXRoaXMud2lkdGgoKSArIG51bSh0aGlzLCAncGFkZGluZ0xlZnQnKSArIG51bSh0aGlzLCAncGFkZGluZ1JpZ2h0Jyk7Cgl9LAoJCgkvKioKCSAqIEdldHMgdGhlIG91dGVyIGhlaWdodCAoaW5jbHVkZXMgdGhlIGJvcmRlciBhbmQgcGFkZGluZykgZm9yIHRoZSBmaXJzdCBtYXRjaGVkIGVsZW1lbnQuCgkgKiBJZiB1c2VkIG9uIGRvY3VtZW50LCByZXR1cm5zIHRoZSBkb2N1bWVudCdzIGhlaWdodCAoaW5uZXJIZWlnaHQpLgoJICogSWYgdXNlZCBvbiB3aW5kb3csIHJldHVybnMgdGhlIHZpZXdwb3J0J3MgKHdpbmRvdykgaGVpZ2h0LgoJICoKCSAqIFRoZSBtYXJnaW4gY2FuIGJlIGluY2x1ZGVkIGluIHRoZSBjYWxjdWxhdGlvbiBieSBwYXNzaW5nIGFuIG9wdGlvbnMgbWFwIHdpdGggbWFyZ2luCgkgKiBzZXQgdG8gdHJ1ZS4KCSAqCgkgKiBAZXhhbXBsZSAkKCIjdGVzdGRpdiIpLm91dGVySGVpZ2h0KCkKCSAqIEByZXN1bHQgMjIwCgkgKgoJICogQGV4YW1wbGUgJCgiI3Rlc3RkaXYiKS5vdXRlckhlaWdodCh7IG1hcmdpbjogdHJ1ZSB9KQoJICogQHJlc3VsdCAyNDAKCSAqCgkgKiBAbmFtZSBvdXRlckhlaWdodAoJICogQHR5cGUgTnVtYmVyCgkgKiBAcGFyYW0gTWFwIG9wdGlvbnMgT3B0aW9uYWwgc2V0dGluZ3MgdG8gY29uZmlndXJlIHRoZSB3YXkgdGhlIG91dGVyIGhlaWdodCBpcyBjYWxjdWxhdGVkLgoJICogQGNhdCBQbHVnaW5zL0RpbWVuc2lvbnMKCSAqLwoJb3V0ZXJIZWlnaHQ6IGZ1bmN0aW9uKG9wdGlvbnMpIHsKCQlpZiAoIXRoaXNbMF0pIGVycm9yKCk7CgkJb3B0aW9ucyA9ICQuZXh0ZW5kKHsgbWFyZ2luOiBmYWxzZSB9LCBvcHRpb25zIHx8IHt9KTsKCQlyZXR1cm4gdGhpc1swXSA9PSB3aW5kb3cgfHwgdGhpc1swXSA9PSBkb2N1bWVudCA/CgkJCXRoaXMuaGVpZ2h0KCkgOgoJCQl0aGlzLmlzKCc6dmlzaWJsZScpID8KCQkJCXRoaXNbMF0ub2Zmc2V0SGVpZ2h0ICsgKG9wdGlvbnMubWFyZ2luID8gKG51bSh0aGlzLCAnbWFyZ2luVG9wJykgKyBudW0odGhpcywgJ21hcmdpbkJvdHRvbScpKSA6IDApIDoKCQkJCXRoaXMuaGVpZ2h0KCkgCgkJCQkJKyBudW0odGhpcywnYm9yZGVyVG9wV2lkdGgnKSArIG51bSh0aGlzLCAnYm9yZGVyQm90dG9tV2lkdGgnKSAKCQkJCQkrIG51bSh0aGlzLCAncGFkZGluZ1RvcCcpICsgbnVtKHRoaXMsICdwYWRkaW5nQm90dG9tJykKCQkJCQkrIChvcHRpb25zLm1hcmdpbiA/IChudW0odGhpcywgJ21hcmdpblRvcCcpICsgbnVtKHRoaXMsICdtYXJnaW5Cb3R0b20nKSkgOiAwKTsKCX0sCgkKCS8qKgoJICogR2V0cyB0aGUgb3V0ZXIgd2lkdGggKGluY2x1ZGluZyB0aGUgYm9yZGVyIGFuZCBwYWRkaW5nKSBmb3IgdGhlIGZpcnN0IG1hdGNoZWQgZWxlbWVudC4KCSAqIElmIHVzZWQgb24gZG9jdW1lbnQsIHJldHVybnMgdGhlIGRvY3VtZW50J3Mgd2lkdGggKGlubmVyV2lkdGgpLgoJICogSWYgdXNlZCBvbiB3aW5kb3csIHJldHVybnMgdGhlIHZpZXdwb3J0J3MgKHdpbmRvdykgd2lkdGguCgkgKgoJICogVGhlIG1hcmdpbiBjYW4gYmUgaW5jbHVkZWQgaW4gdGhlIGNhbGN1bGF0aW9uIGJ5IHBhc3NpbmcgYW4gb3B0aW9ucyBtYXAgd2l0aCBtYXJnaW4KCSAqIHNldCB0byB0cnVlLgoJICoKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2Iikub3V0ZXJXaWR0aCgpCgkgKiBAcmVzdWx0IDEwMDAKCSAqCgkgKiBAZXhhbXBsZSAkKCIjdGVzdGRpdiIpLm91dGVyV2lkdGgoeyBtYXJnaW46IHRydWUgfSkKCSAqIEByZXN1bHQgMTAyMAoJICogCgkgKiBAbmFtZSBvdXRlckhlaWdodAoJICogQHR5cGUgTnVtYmVyCgkgKiBAcGFyYW0gTWFwIG9wdGlvbnMgT3B0aW9uYWwgc2V0dGluZ3MgdG8gY29uZmlndXJlIHRoZSB3YXkgdGhlIG91dGVyIHdpZHRoIGlzIGNhbGN1bGF0ZWQuCgkgKiBAY2F0IFBsdWdpbnMvRGltZW5zaW9ucwoJICovCglvdXRlcldpZHRoOiBmdW5jdGlvbihvcHRpb25zKSB7CgkJaWYgKCF0aGlzWzBdKSBlcnJvcigpOwoJCW9wdGlvbnMgPSAkLmV4dGVuZCh7IG1hcmdpbjogZmFsc2UgfSwgb3B0aW9ucyB8fCB7fSk7CgkJcmV0dXJuIHRoaXNbMF0gPT0gd2luZG93IHx8IHRoaXNbMF0gPT0gZG9jdW1lbnQgPwoJCQl0aGlzLndpZHRoKCkgOgoJCQl0aGlzLmlzKCc6dmlzaWJsZScpID8KCQkJCXRoaXNbMF0ub2Zmc2V0V2lkdGggKyAob3B0aW9ucy5tYXJnaW4gPyAobnVtKHRoaXMsICdtYXJnaW5MZWZ0JykgKyBudW0odGhpcywgJ21hcmdpblJpZ2h0JykpIDogMCkgOgoJCQkJdGhpcy53aWR0aCgpIAoJCQkJCSsgbnVtKHRoaXMsICdib3JkZXJMZWZ0V2lkdGgnKSArIG51bSh0aGlzLCAnYm9yZGVyUmlnaHRXaWR0aCcpIAoJCQkJCSsgbnVtKHRoaXMsICdwYWRkaW5nTGVmdCcpICsgbnVtKHRoaXMsICdwYWRkaW5nUmlnaHQnKQoJCQkJCSsgKG9wdGlvbnMubWFyZ2luID8gKG51bSh0aGlzLCAnbWFyZ2luTGVmdCcpICsgbnVtKHRoaXMsICdtYXJnaW5SaWdodCcpKSA6IDApOwoJfSwKCQoJLyoqCgkgKiBHZXRzIGhvdyBtYW55IHBpeGVscyB0aGUgdXNlciBoYXMgc2Nyb2xsZWQgdG8gdGhlIHJpZ2h0IChzY3JvbGxMZWZ0KS4KCSAqIFdvcmtzIG9uIGNvbnRhaW5lcnMgd2l0aCBvdmVyZmxvdzogYXV0byBhbmQgd2luZG93L2RvY3VtZW50LgoJICoKCSAqIEBleGFtcGxlICQod2luZG93KS5zY3JvbGxMZWZ0KCkKCSAqIEByZXN1bHQgMTAwCgkgKgoJICogQGV4YW1wbGUgJChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpCgkgKiBAcmVzdWx0IDEwMAoJICogCgkgKiBAZXhhbXBsZSAkKCIjdGVzdGRpdiIpLnNjcm9sbExlZnQoKQoJICogQHJlc3VsdCAxMDAKCSAqCgkgKiBAbmFtZSBzY3JvbGxMZWZ0CgkgKiBAdHlwZSBOdW1iZXIKCSAqIEBjYXQgUGx1Z2lucy9EaW1lbnNpb25zCgkgKi8KCS8qKgoJICogU2V0cyB0aGUgc2Nyb2xsTGVmdCBwcm9wZXJ0eSBmb3IgZWFjaCBlbGVtZW50IGFuZCBjb250aW51ZXMgdGhlIGNoYWluLgoJICogV29ya3Mgb24gY29udGFpbmVycyB3aXRoIG92ZXJmbG93OiBhdXRvIGFuZCB3aW5kb3cvZG9jdW1lbnQuCgkgKgoJICogQGV4YW1wbGUgJCh3aW5kb3cpLnNjcm9sbExlZnQoMTAwKS5zY3JvbGxMZWZ0KCkKCSAqIEByZXN1bHQgMTAwCgkgKiAKCSAqIEBleGFtcGxlICQoZG9jdW1lbnQpLnNjcm9sbExlZnQoMTAwKS5zY3JvbGxMZWZ0KCkKCSAqIEByZXN1bHQgMTAwCgkgKgoJICogQGV4YW1wbGUgJCgiI3Rlc3RkaXYiKS5zY3JvbGxMZWZ0KDEwMCkuc2Nyb2xsTGVmdCgpCgkgKiBAcmVzdWx0IDEwMAoJICoKCSAqIEBuYW1lIHNjcm9sbExlZnQKCSAqIEBwYXJhbSBOdW1iZXIgdmFsdWUgQSBwb3NpdGl2ZSBudW1iZXIgcmVwcmVzZW50aW5nIHRoZSBkZXNpcmVkIHNjcm9sbExlZnQuCgkgKiBAdHlwZSBqUXVlcnkKCSAqIEBjYXQgUGx1Z2lucy9EaW1lbnNpb25zCgkgKi8KCXNjcm9sbExlZnQ6IGZ1bmN0aW9uKHZhbCkgewoJCWlmICghdGhpc1swXSkgZXJyb3IoKTsKCQlpZiAoIHZhbCAhPSB1bmRlZmluZWQgKQoJCQkvLyBzZXQgdGhlIHNjcm9sbCBsZWZ0CgkJCXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQlpZiAodGhpcyA9PSB3aW5kb3cgfHwgdGhpcyA9PSBkb2N1bWVudCkKCQkJCQl3aW5kb3cuc2Nyb2xsVG8oIHZhbCwgJCh3aW5kb3cpLnNjcm9sbFRvcCgpICk7CgkJCQllbHNlCgkJCQkJdGhpcy5zY3JvbGxMZWZ0ID0gdmFsOwoJCQl9KTsKCQkKCQkvLyByZXR1cm4gdGhlIHNjcm9sbCBsZWZ0IG9mZmVzdCBpbiBwaXhlbHMKCQlpZiAoIHRoaXNbMF0gPT0gd2luZG93IHx8IHRoaXNbMF0gPT0gZG9jdW1lbnQgKQoJCQlyZXR1cm4gc2VsZi5wYWdlWE9mZnNldCB8fAoJCQkJJC5ib3hNb2RlbCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCB8fAoJCQkJZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0OwoJCQkJCgkJcmV0dXJuIHRoaXNbMF0uc2Nyb2xsTGVmdDsKCX0sCgkKCS8qKgoJICogR2V0cyBob3cgbWFueSBwaXhlbHMgdGhlIHVzZXIgaGFzIHNjcm9sbGVkIHRvIHRoZSBib3R0b20gKHNjcm9sbFRvcCkuCgkgKiBXb3JrcyBvbiBjb250YWluZXJzIHdpdGggb3ZlcmZsb3c6IGF1dG8gYW5kIHdpbmRvdy9kb2N1bWVudC4KCSAqCgkgKiBAZXhhbXBsZSAkKHdpbmRvdykuc2Nyb2xsVG9wKCkKCSAqIEByZXN1bHQgMTAwCgkgKgoJICogQGV4YW1wbGUgJChkb2N1bWVudCkuc2Nyb2xsVG9wKCkKCSAqIEByZXN1bHQgMTAwCgkgKiAKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2Iikuc2Nyb2xsVG9wKCkKCSAqIEByZXN1bHQgMTAwCgkgKgoJICogQG5hbWUgc2Nyb2xsVG9wCgkgKiBAdHlwZSBOdW1iZXIKCSAqIEBjYXQgUGx1Z2lucy9EaW1lbnNpb25zCgkgKi8KCS8qKgoJICogU2V0cyB0aGUgc2Nyb2xsVG9wIHByb3BlcnR5IGZvciBlYWNoIGVsZW1lbnQgYW5kIGNvbnRpbnVlcyB0aGUgY2hhaW4uCgkgKiBXb3JrcyBvbiBjb250YWluZXJzIHdpdGggb3ZlcmZsb3c6IGF1dG8gYW5kIHdpbmRvdy9kb2N1bWVudC4KCSAqCgkgKiBAZXhhbXBsZSAkKHdpbmRvdykuc2Nyb2xsVG9wKDEwMCkuc2Nyb2xsVG9wKCkKCSAqIEByZXN1bHQgMTAwCgkgKiAKCSAqIEBleGFtcGxlICQoZG9jdW1lbnQpLnNjcm9sbFRvcCgxMDApLnNjcm9sbFRvcCgpCgkgKiBAcmVzdWx0IDEwMAoJICoKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2Iikuc2Nyb2xsVG9wKDEwMCkuc2Nyb2xsVG9wKCkKCSAqIEByZXN1bHQgMTAwCgkgKgoJICogQG5hbWUgc2Nyb2xsVG9wCgkgKiBAcGFyYW0gTnVtYmVyIHZhbHVlIEEgcG9zaXRpdmUgbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgZGVzaXJlZCBzY3JvbGxUb3AuCgkgKiBAdHlwZSBqUXVlcnkKCSAqIEBjYXQgUGx1Z2lucy9EaW1lbnNpb25zCgkgKi8KCXNjcm9sbFRvcDogZnVuY3Rpb24odmFsKSB7CgkJaWYgKCF0aGlzWzBdKSBlcnJvcigpOwoJCWlmICggdmFsICE9IHVuZGVmaW5lZCApCgkJCS8vIHNldCB0aGUgc2Nyb2xsIHRvcAoJCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJaWYgKHRoaXMgPT0gd2luZG93IHx8IHRoaXMgPT0gZG9jdW1lbnQpCgkJCQkJd2luZG93LnNjcm9sbFRvKCAkKHdpbmRvdykuc2Nyb2xsTGVmdCgpLCB2YWwgKTsKCQkJCWVsc2UKCQkJCQl0aGlzLnNjcm9sbFRvcCA9IHZhbDsKCQkJfSk7CgkJCgkJLy8gcmV0dXJuIHRoZSBzY3JvbGwgdG9wIG9mZnNldCBpbiBwaXhlbHMKCQlpZiAoIHRoaXNbMF0gPT0gd2luZG93IHx8IHRoaXNbMF0gPT0gZG9jdW1lbnQgKQoJCQlyZXR1cm4gc2VsZi5wYWdlWU9mZnNldCB8fAoJCQkJJC5ib3hNb2RlbCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8CgkJCQlkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDsKCgkJcmV0dXJuIHRoaXNbMF0uc2Nyb2xsVG9wOwoJfSwKCQoJLyoqIAoJICogR2V0cyB0aGUgdG9wIGFuZCBsZWZ0IHBvc2l0aW9uZWQgb2Zmc2V0IGluIHBpeGVscy4KCSAqIFRoZSBwb3NpdGlvbmVkIG9mZnNldCBpcyB0aGUgb2Zmc2V0IGJldHdlZW4gYSBwb3NpdGlvbmVkCgkgKiBwYXJlbnQgYW5kIHRoZSBlbGVtZW50IGl0c2VsZi4KCSAqCgkgKiBGb3IgYWNjdXJhdGUgY2FsY3VsYXRpb25zIG1ha2Ugc3VyZSB0byB1c2UgcGl4ZWwgdmFsdWVzIGZvciBtYXJnaW5zLCBib3JkZXJzIGFuZCBwYWRkaW5nLgoJICoKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2IikucG9zaXRpb24oKQoJICogQHJlc3VsdCB7IHRvcDogMTAwLCBsZWZ0OiAxMDAgfQoJICoKCSAqIEBleGFtcGxlIHZhciBwb3NpdGlvbiA9IHt9OwoJICogJCgiI3Rlc3RkaXYiKS5wb3NpdGlvbihwb3NpdGlvbikKCSAqIEByZXN1bHQgcG9zaXRpb24gPSB7IHRvcDogMTAwLCBsZWZ0OiAxMDAgfQoJICogCgkgKiBAbmFtZSBwb3NpdGlvbgoJICogQHBhcmFtIE9iamVjdCByZXR1cm5PYmplY3QgT3B0aW9uYWwgQW4gb2JqZWN0IHRvIHN0b3JlIHRoZSByZXR1cm4gdmFsdWUgaW4sIHNvIGFzIG5vdCB0byBicmVhayB0aGUgY2hhaW4uIElmIHBhc3NlZCBpbiB0aGUKCSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYWluIHdpbGwgbm90IGJlIGJyb2tlbiBhbmQgdGhlIHJlc3VsdCB3aWxsIGJlIGFzc2lnbmVkIHRvIHRoaXMgb2JqZWN0LgoJICogQHR5cGUgT2JqZWN0CgkgKiBAY2F0IFBsdWdpbnMvRGltZW5zaW9ucwoJICovCglwb3NpdGlvbjogZnVuY3Rpb24ocmV0dXJuT2JqZWN0KSB7CgkJcmV0dXJuIHRoaXMub2Zmc2V0KHsgbWFyZ2luOiBmYWxzZSwgc2Nyb2xsOiBmYWxzZSwgcmVsYXRpdmVUbzogdGhpcy5vZmZzZXRQYXJlbnQoKSB9LCByZXR1cm5PYmplY3QpOwoJfSwKCQoJLyoqCgkgKiBHZXRzIHRoZSBsb2NhdGlvbiBvZiB0aGUgZWxlbWVudCBpbiBwaXhlbHMgZnJvbSB0aGUgdG9wIGxlZnQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydC4KCSAqIFRoZSBvZmZzZXQgbWV0aG9kIHRha2VzIGFuIG9wdGlvbmFsIG1hcCBvZiBrZXkgdmFsdWUgcGFpcnMgdG8gY29uZmlndXJlIHRoZSB3YXkKCSAqIHRoZSBvZmZzZXQgaXMgY2FsY3VsYXRlZC4gSGVyZSBhcmUgdGhlIGRpZmZlcmVudCBvcHRpb25zLgoJICoKCSAqIChCb29sZWFuKSBtYXJnaW4gLSBTaG91bGQgdGhlIG1hcmdpbiBvZiB0aGUgZWxlbWVudCBiZSBpbmNsdWRlZCBpbiB0aGUgY2FsY3VsYXRpb25zPyBUcnVlIGJ5IGRlZmF1bHQuCgkgKiAoQm9vbGVhbikgYm9yZGVyIC0gU2hvdWxkIHRoZSBib3JkZXIgb2YgdGhlIGVsZW1lbnQgYmUgaW5jbHVkZWQgaW4gdGhlIGNhbGN1bGF0aW9ucz8gRmFsc2UgYnkgZGVmYXVsdC4gCgkgKiAoQm9vbGVhbikgcGFkZGluZyAtIFNob3VsZCB0aGUgcGFkZGluZyBvZiB0aGUgZWxlbWVudCBiZSBpbmNsdWRlZCBpbiB0aGUgY2FsY3VsYXRpb25zPyBGYWxzZSBieSBkZWZhdWx0LiAKCSAqIChCb29sZWFuKSBzY3JvbGwgLSBTaG91bGQgdGhlIHNjcm9sbCBvZmZzZXRzIG9mIHRoZSBwYXJlbnQgZWxlbWVudHMgYmUgaW5jbHVkZWQgaW4gdGhlIGNhbGN1bGF0aW9ucz8gVHJ1ZSBieSBkZWZhdWx0LgoJICogICAgICAgICAgICAgICAgICAgIFdoZW4gdHJ1ZSBpdCBhZGRzIHRoZSB0b3RhbCBzY3JvbGwgb2Zmc2V0cyBvZiBhbGwgcGFyZW50cyB0byB0aGUgdG90YWwgb2Zmc2V0IGFuZCBhbHNvIGFkZHMgdHdvCgkgKiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllcyB0byB0aGUgcmV0dXJuZWQgb2JqZWN0LCBzY3JvbGxUb3AgYW5kIHNjcm9sbExlZnQuCgkgKiAoQm9vbGVhbikgbGl0ZSAtIFdoZW4gdHJ1ZSBpdCB3aWxsIHVzZSB0aGUgb2Zmc2V0TGl0ZSBtZXRob2QgaW5zdGVhZCBvZiB0aGUgZnVsbC1ibG93biwgc2xvd2VyIG9mZnNldCBtZXRob2QuIEZhbHNlIGJ5IGRlZmF1bHQuCgkgKiAgICAgICAgICAgICAgICAgIE9ubHkgdXNlIHRoaXMgd2hlbiBtYXJnaW5zLCBib3JkZXJzIGFuZCBwYWRkaW5nIGNhbGN1bGF0aW9ucyBkb24ndCBtYXR0ZXIuCgkgKiAoSFRNTCBFbGVtZW50KSByZWxhdGl2ZVRvIC0gVGhpcyBzaG91bGQgYmUgYSBwYXJlbnQgb2YgdGhlIGVsZW1lbnQgYW5kIHNob3VsZCBoYXZlIHBvc2l0aW9uIChsaWtlIGFic29sdXRlIG9yIHJlbGF0aXZlKS4KCSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJdCB3aWxsIHJldHJlaXZlIHRoZSBvZmZzZXQgcmVsYXRpdmUgdG8gdGhpcyBwYXJlbnQgZWxlbWVudC4gQnkgZGVmYXVsdCBpdCBpcyB0aGUgYm9keSBlbGVtZW50LgoJICoKCSAqIEFsc28gYW4gb2JqZWN0IGNhbiBiZSBwYXNzZWQgYXMgdGhlIHNlY29uZCBwYXJhbWF0ZXIgdG8KCSAqIGNhdGNoIHRoZSB2YWx1ZSBvZiB0aGUgcmV0dXJuIGFuZCBjb250aW51ZSB0aGUgY2hhaW4uCgkgKgoJICogRm9yIGFjY3VyYXRlIGNhbGN1bGF0aW9ucyBtYWtlIHN1cmUgdG8gdXNlIHBpeGVsIHZhbHVlcyBmb3IgbWFyZ2lucywgYm9yZGVycyBhbmQgcGFkZGluZy4KCSAqIAoJICogS25vd24gaXNzdWVzOgoJICogIC0gSXNzdWU6IEEgZGl2IHBvc2l0aW9uZWQgcmVsYXRpdmUgb3Igc3RhdGljIHdpdGhvdXQgYW55IGNvbnRlbnQgYmVmb3JlIGl0IGFuZCBpdHMgcGFyZW50IHdpbGwgcmVwb3J0IGFuIG9mZnNldFRvcCBvZiAwIGluIFNhZmFyaQoJICogICAgV29ya2Fyb3VuZDogUGxhY2UgY29udGVudCBiZWZvcmUgdGhlIHJlbGF0aXZlIGRpdiAuLi4gYW5kIHNldCBoZWlnaHQgYW5kIHdpZHRoIHRvIDAgYW5kIG92ZXJmbG93IHRvIGhpZGRlbgoJICoKCSAqIEBleGFtcGxlICQoIiN0ZXN0ZGl2Iikub2Zmc2V0KCkKCSAqIEByZXN1bHQgeyB0b3A6IDEwMCwgbGVmdDogMTAwLCBzY3JvbGxUb3A6IDEwLCBzY3JvbGxMZWZ0OiAxMCB9CgkgKgoJICogQGV4YW1wbGUgJCgiI3Rlc3RkaXYiKS5vZmZzZXQoeyBzY3JvbGw6IGZhbHNlIH0pCgkgKiBAcmVzdWx0IHsgdG9wOiA5MCwgbGVmdDogOTAgfQoJICoKCSAqIEBleGFtcGxlIHZhciBvZmZzZXQgPSB7fQoJICogJCgiI3Rlc3RkaXYiKS5vZmZzZXQoeyBzY3JvbGw6IGZhbHNlIH0sIG9mZnNldCkKCSAqIEByZXN1bHQgb2Zmc2V0ID0geyB0b3A6IDkwLCBsZWZ0OiA5MCB9CgkgKgoJICogQG5hbWUgb2Zmc2V0CgkgKiBAcGFyYW0gTWFwIG9wdGlvbnMgT3B0aW9uYWwgc2V0dGluZ3MgdG8gY29uZmlndXJlIHRoZSB3YXkgdGhlIG9mZnNldCBpcyBjYWxjdWxhdGVkLgoJICogQHBhcmFtIE9iamVjdCByZXR1cm5PYmplY3QgQW4gb2JqZWN0IHRvIHN0b3JlIHRoZSByZXR1cm4gdmFsdWUgaW4sIHNvIGFzIG5vdCB0byBicmVhayB0aGUgY2hhaW4uIElmIHBhc3NlZCBpbiB0aGUKCSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYWluIHdpbGwgbm90IGJlIGJyb2tlbiBhbmQgdGhlIHJlc3VsdCB3aWxsIGJlIGFzc2lnbmVkIHRvIHRoaXMgb2JqZWN0LgoJICogQHR5cGUgT2JqZWN0CgkgKiBAY2F0IFBsdWdpbnMvRGltZW5zaW9ucwoJICovCglvZmZzZXQ6IGZ1bmN0aW9uKG9wdGlvbnMsIHJldHVybk9iamVjdCkgewoJCWlmICghdGhpc1swXSkgZXJyb3IoKTsKCQl2YXIgeCA9IDAsIHkgPSAwLCBzbCA9IDAsIHN0ID0gMCwKCQkgICAgZWxlbSA9IHRoaXNbMF0sIHBhcmVudCA9IHRoaXNbMF0sIG9wLCBwYXJQb3MsIGVsZW1Qb3MgPSAkLmNzcyhlbGVtLCAncG9zaXRpb24nKSwKCQkgICAgbW8gPSAkLmJyb3dzZXIubW96aWxsYSwgaWUgPSAkLmJyb3dzZXIubXNpZSwgb2EgPSAkLmJyb3dzZXIub3BlcmEsCgkJICAgIHNmID0gJC5icm93c2VyLnNhZmFyaSwgc2YzID0gJC5icm93c2VyLnNhZmFyaSAmJiBwYXJzZUludCgkLmJyb3dzZXIudmVyc2lvbikgPiA1MjAsCgkJICAgIGFic3BhcmVudCA9IGZhbHNlLCByZWxwYXJlbnQgPSBmYWxzZSwgCgkJICAgIG9wdGlvbnMgPSAkLmV4dGVuZCh7IG1hcmdpbjogdHJ1ZSwgYm9yZGVyOiBmYWxzZSwgcGFkZGluZzogZmFsc2UsIHNjcm9sbDogdHJ1ZSwgbGl0ZTogZmFsc2UsIHJlbGF0aXZlVG86IGRvY3VtZW50LmJvZHkgfSwgb3B0aW9ucyB8fCB7fSk7CgkJCgkJLy8gVXNlIG9mZnNldExpdGUgaWYgbGl0ZSBvcHRpb24gaXMgdHJ1ZQoJCWlmIChvcHRpb25zLmxpdGUpIHJldHVybiB0aGlzLm9mZnNldExpdGUob3B0aW9ucywgcmV0dXJuT2JqZWN0KTsKCQkvLyBHZXQgdGhlIEhUTUxFbGVtZW50IGlmIHJlbGF0aXZlVG8gaXMgYSBqcXVlcnkgY29sbGVjdGlvbgoJCWlmIChvcHRpb25zLnJlbGF0aXZlVG8uanF1ZXJ5KSBvcHRpb25zLnJlbGF0aXZlVG8gPSBvcHRpb25zLnJlbGF0aXZlVG9bMF07CgkJCgkJaWYgKGVsZW0udGFnTmFtZSA9PSAnQk9EWScpIHsKCQkJLy8gU2FmYXJpIDIgaXMgdGhlIG9ubHkgb25lIHRvIGdldCBvZmZzZXRMZWZ0IGFuZCBvZmZzZXRUb3AgcHJvcGVydGllcyBvZiB0aGUgYm9keSAiY29ycmVjdCIKCQkJLy8gRXhjZXB0IHRoZXkgYWxsIG1lc3MgdXAgd2hlbiB0aGUgYm9keSBpcyBwb3NpdGlvbmVkIGFic29sdXRlIG9yIHJlbGF0aXZlCgkJCXggPSBlbGVtLm9mZnNldExlZnQ7CgkJCXkgPSBlbGVtLm9mZnNldFRvcDsKCQkJLy8gTW96aWxsYSBpZ25vcmVzIG1hcmdpbiBhbmQgc3VidHJhY3RzIGJvcmRlciBmcm9tIGJvZHkgZWxlbWVudAoJCQlpZiAobW8pIHsKCQkJCXggKz0gbnVtKGVsZW0sICdtYXJnaW5MZWZ0JykgKyAobnVtKGVsZW0sICdib3JkZXJMZWZ0V2lkdGgnKSoyKTsKCQkJCXkgKz0gbnVtKGVsZW0sICdtYXJnaW5Ub3AnKSAgKyAobnVtKGVsZW0sICdib3JkZXJUb3BXaWR0aCcpICoyKTsKCQkJfSBlbHNlCgkJCS8vIE9wZXJhIGlnbm9yZXMgbWFyZ2luCgkJCWlmIChvYSkgewoJCQkJeCArPSBudW0oZWxlbSwgJ21hcmdpbkxlZnQnKTsKCQkJCXkgKz0gbnVtKGVsZW0sICdtYXJnaW5Ub3AnKTsKCQkJfSBlbHNlCgkJCS8vIElFIGRvZXMgbm90IGFkZCB0aGUgYm9yZGVyIGluIFN0YW5kYXJkcyBNb2RlCgkJCWlmICgoaWUgJiYgalF1ZXJ5LmJveE1vZGVsKSkgewoJCQkJeCArPSBudW0oZWxlbSwgJ2JvcmRlckxlZnRXaWR0aCcpOwoJCQkJeSArPSBudW0oZWxlbSwgJ2JvcmRlclRvcFdpZHRoJyk7CgkJCX0gZWxzZQoJCQkvLyBTYWZhcmkgMyBkb2Vzbid0IG5vdCBpbmNsdWRlIGJvcmRlciBvciBtYXJnaW4KCQkJaWYgKHNmMykgewoJCQkJeCArPSBudW0oZWxlbSwgJ21hcmdpbkxlZnQnKSArIG51bShlbGVtLCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJCQl5ICs9IG51bShlbGVtLCAnbWFyZ2luVG9wJykgICsgbnVtKGVsZW0sICdib3JkZXJUb3BXaWR0aCcpOwoJCQl9CgkJfSBlbHNlIHsKCQkJZG8gewoJCQkJcGFyUG9zID0gJC5jc3MocGFyZW50LCAncG9zaXRpb24nKTsKCQkJCgkJCQl4ICs9IHBhcmVudC5vZmZzZXRMZWZ0OwoJCQkJeSArPSBwYXJlbnQub2Zmc2V0VG9wOwoKCQkJCS8vIE1vemlsbGEgYW5kIElFIGRvIG5vdCBhZGQgdGhlIGJvcmRlcgoJCQkJLy8gTW96aWxsYSBhZGRzIHRoZSBib3JkZXIgZm9yIHRhYmxlIGNlbGxzCgkJCQlpZiAoKG1vICYmICFwYXJlbnQudGFnTmFtZS5tYXRjaCgvXnRbZHxoXSQvaSkpIHx8IGllIHx8IHNmMykgewoJCQkJCS8vIGFkZCBib3JkZXJzIHRvIG9mZnNldAoJCQkJCXggKz0gbnVtKHBhcmVudCwgJ2JvcmRlckxlZnRXaWR0aCcpOwoJCQkJCXkgKz0gbnVtKHBhcmVudCwgJ2JvcmRlclRvcFdpZHRoJyk7CgoJCQkJCS8vIE1vemlsbGEgZG9lcyBub3QgaW5jbHVkZSB0aGUgYm9yZGVyIG9uIGJvZHkgaWYgYW4gZWxlbWVudCBpc24ndCBwb3NpdGlvbmVkIGFic29sdXRlIGFuZCBpcyB3aXRob3V0IGFuIGFic29sdXRlIHBhcmVudAoJCQkJCWlmIChtbyAmJiBwYXJQb3MgPT0gJ2Fic29sdXRlJykgYWJzcGFyZW50ID0gdHJ1ZTsKCQkJCQkvLyBJRSBkb2VzIG5vdCBpbmNsdWRlIHRoZSBib3JkZXIgb24gdGhlIGJvZHkgaWYgYW4gZWxlbWVudCBpcyBwb3NpdGlvbiBzdGF0aWMgYW5kIHdpdGhvdXQgYW4gYWJzb2x1dGUgb3IgcmVsYXRpdmUgcGFyZW50CgkJCQkJaWYgKGllICYmIHBhclBvcyA9PSAncmVsYXRpdmUnKSByZWxwYXJlbnQgPSB0cnVlOwoJCQkJfQoKCQkJCW9wID0gcGFyZW50Lm9mZnNldFBhcmVudCB8fCBkb2N1bWVudC5ib2R5OwoJCQkJaWYgKG9wdGlvbnMuc2Nyb2xsIHx8IG1vKSB7CgkJCQkJZG8gewoJCQkJCQlpZiAob3B0aW9ucy5zY3JvbGwpIHsKCQkJCQkJCS8vIGdldCBzY3JvbGwgb2Zmc2V0cwoJCQkJCQkJc2wgKz0gcGFyZW50LnNjcm9sbExlZnQ7CgkJCQkJCQlzdCArPSBwYXJlbnQuc2Nyb2xsVG9wOwoJCQkJCQl9CgkJCQkJCQoJCQkJCQkvLyBPcGVyYSBzb21ldGltZXMgaW5jb3JyZWN0bHkgcmVwb3J0cyBzY3JvbGwgb2Zmc2V0IGZvciBlbGVtZW50cyB3aXRoIGRpc3BsYXkgc2V0IHRvIHRhYmxlLXJvdyBvciBpbmxpbmUKCQkJCQkJaWYgKG9hICYmICgkLmNzcyhwYXJlbnQsICdkaXNwbGF5JykgfHwgJycpLm1hdGNoKC90YWJsZS1yb3d8aW5saW5lLykpIHsKCQkJCQkJCXNsID0gc2wgLSAoKHBhcmVudC5zY3JvbGxMZWZ0ID09IHBhcmVudC5vZmZzZXRMZWZ0KSA/IHBhcmVudC5zY3JvbGxMZWZ0IDogMCk7CgkJCQkJCQlzdCA9IHN0IC0gKChwYXJlbnQuc2Nyb2xsVG9wID09IHBhcmVudC5vZmZzZXRUb3ApID8gcGFyZW50LnNjcm9sbFRvcCA6IDApOwoJCQkJCQl9CgkJCQkKCQkJCQkJLy8gTW96aWxsYSBkb2VzIG5vdCBhZGQgdGhlIGJvcmRlciBmb3IgYSBwYXJlbnQgdGhhdCBoYXMgb3ZlcmZsb3cgc2V0IHRvIGFueXRoaW5nIGJ1dCB2aXNpYmxlCgkJCQkJCWlmIChtbyAmJiBwYXJlbnQgIT0gZWxlbSAmJiAkLmNzcyhwYXJlbnQsICdvdmVyZmxvdycpICE9ICd2aXNpYmxlJykgewoJCQkJCQkJeCArPSBudW0ocGFyZW50LCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJCQkJCQl5ICs9IG51bShwYXJlbnQsICdib3JkZXJUb3BXaWR0aCcpOwoJCQkJCQl9CgkJCQkKCQkJCQkJcGFyZW50ID0gcGFyZW50LnBhcmVudE5vZGU7CgkJCQkJfSB3aGlsZSAocGFyZW50ICE9IG9wKTsKCQkJCX0KCQkJCXBhcmVudCA9IG9wOwoJCQkJCgkJCQkvLyBleGl0IHRoZSBsb29wIGlmIHdlIGFyZSBhdCB0aGUgcmVsYXRpdmVUbyBvcHRpb24gYnV0IG5vdCBpZiBpdCBpcyB0aGUgYm9keSBvciBodG1sIHRhZwoJCQkJaWYgKHBhcmVudCA9PSBvcHRpb25zLnJlbGF0aXZlVG8gJiYgIShwYXJlbnQudGFnTmFtZSA9PSAnQk9EWScgfHwgcGFyZW50LnRhZ05hbWUgPT0gJ0hUTUwnKSkgIHsKCQkJCQkvLyBNb3ppbGxhIGRvZXMgbm90IGFkZCB0aGUgYm9yZGVyIGZvciBhIHBhcmVudCB0aGF0IGhhcyBvdmVyZmxvdyBzZXQgdG8gYW55dGhpbmcgYnV0IHZpc2libGUKCQkJCQlpZiAobW8gJiYgcGFyZW50ICE9IGVsZW0gJiYgJC5jc3MocGFyZW50LCAnb3ZlcmZsb3cnKSAhPSAndmlzaWJsZScpIHsKCQkJCQkJeCArPSBudW0ocGFyZW50LCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJCQkJCXkgKz0gbnVtKHBhcmVudCwgJ2JvcmRlclRvcFdpZHRoJyk7CgkJCQkJfQoJCQkJCS8vIFNhZmFyaSAyIGFuZCBvcGVyYSBpbmNsdWRlcyBib3JkZXIgb24gcG9zaXRpb25lZCBwYXJlbnRzCgkJCQkJaWYgKCAoKHNmICYmICFzZjMpIHx8IG9hKSAmJiBwYXJQb3MgIT0gJ3N0YXRpYycgKSB7CgkJCQkJCXggLT0gbnVtKG9wLCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJCQkJCXkgLT0gbnVtKG9wLCAnYm9yZGVyVG9wV2lkdGgnKTsKCQkJCQl9CgkJCQkJYnJlYWs7CgkJCQl9CgkJCQlpZiAocGFyZW50LnRhZ05hbWUgPT0gJ0JPRFknIHx8IHBhcmVudC50YWdOYW1lID09ICdIVE1MJykgewoJCQkJCS8vIFNhZmFyaSAyIGFuZCBJRSBTdGFuZGFyZHMgTW9kZSBkb2Vzbid0IGFkZCB0aGUgYm9keSBtYXJnaW4gZm9yIGVsbWVudHMgcG9zaXRpb25lZCB3aXRoIHN0YXRpYyBvciByZWxhdGl2ZQoJCQkJCWlmICgoKHNmICYmICFzZjMpIHx8IChpZSAmJiAkLmJveE1vZGVsKSkgJiYgZWxlbVBvcyAhPSAnYWJzb2x1dGUnICYmIGVsZW1Qb3MgIT0gJ2ZpeGVkJykgewoJCQkJCQl4ICs9IG51bShwYXJlbnQsICdtYXJnaW5MZWZ0Jyk7CgkJCQkJCXkgKz0gbnVtKHBhcmVudCwgJ21hcmdpblRvcCcpOwoJCQkJCX0KCQkJCQkvLyBTYWZhcmkgMyBkb2VzIG5vdCBpbmNsdWRlIHRoZSBib3JkZXIgb24gYm9keQoJCQkJCS8vIE1vemlsbGEgZG9lcyBub3QgaW5jbHVkZSB0aGUgYm9yZGVyIG9uIGJvZHkgaWYgYW4gZWxlbWVudCBpc24ndCBwb3NpdGlvbmVkIGFic29sdXRlIGFuZCBpcyB3aXRob3V0IGFuIGFic29sdXRlIHBhcmVudAoJCQkJCS8vIElFIGRvZXMgbm90IGluY2x1ZGUgdGhlIGJvcmRlciBvbiB0aGUgYm9keSBpZiBhbiBlbGVtZW50IGlzIHBvc2l0aW9uZWQgc3RhdGljIGFuZCB3aXRob3V0IGFuIGFic29sdXRlIG9yIHJlbGF0aXZlIHBhcmVudAoJCQkJCWlmICggc2YzIHx8IChtbyAmJiAhYWJzcGFyZW50ICYmIGVsZW1Qb3MgIT0gJ2ZpeGVkJykgfHwgCgkJCQkJICAgICAoaWUgJiYgZWxlbVBvcyA9PSAnc3RhdGljJyAmJiAhcmVscGFyZW50KSApIHsKCQkJCQkJeCArPSBudW0ocGFyZW50LCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJCQkJCXkgKz0gbnVtKHBhcmVudCwgJ2JvcmRlclRvcFdpZHRoJyk7CgkJCQkJfQoJCQkJCWJyZWFrOyAvLyBFeGl0IHRoZSBsb29wCgkJCQl9CgkJCX0gd2hpbGUgKHBhcmVudCk7CgkJfQoKCQl2YXIgcmV0dXJuVmFsdWUgPSBoYW5kbGVPZmZzZXRSZXR1cm4oZWxlbSwgb3B0aW9ucywgeCwgeSwgc2wsIHN0KTsKCgkJaWYgKHJldHVybk9iamVjdCkgeyAkLmV4dGVuZChyZXR1cm5PYmplY3QsIHJldHVyblZhbHVlKTsgcmV0dXJuIHRoaXM7IH0KCQllbHNlICAgICAgICAgICAgICB7IHJldHVybiByZXR1cm5WYWx1ZTsgfQoJfSwKCQoJLyoqCgkgKiBHZXRzIHRoZSBsb2NhdGlvbiBvZiB0aGUgZWxlbWVudCBpbiBwaXhlbHMgZnJvbSB0aGUgdG9wIGxlZnQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydC4KCSAqIFRoaXMgbWV0aG9kIGlzIG11Y2ggZmFzdGVyIHRoYW4gb2Zmc2V0IGJ1dCBub3QgYXMgYWNjdXJhdGUgd2hlbiBib3JkZXJzIGFuZCBtYXJnaW5zIGFyZQoJICogb24gdGhlIGVsZW1lbnQgYW5kL29yIGl0cyBwYXJlbnRzLiBUaGlzIG1ldGhvZCBjYW4gYmUgaW52b2tlZAoJICogYnkgc2V0dGluZyB0aGUgbGl0ZSBvcHRpb24gdG8gdHJ1ZSBpbiB0aGUgb2Zmc2V0IG1ldGhvZC4KCSAqIFRoZSBvZmZzZXRMaXRlIG1ldGhvZCB0YWtlcyBhbiBvcHRpb25hbCBtYXAgb2Yga2V5IHZhbHVlIHBhaXJzIHRvIGNvbmZpZ3VyZSB0aGUgd2F5CgkgKiB0aGUgb2Zmc2V0IGlzIGNhbGN1bGF0ZWQuIEhlcmUgYXJlIHRoZSBkaWZmZXJlbnQgb3B0aW9ucy4KCSAqCgkgKiAoQm9vbGVhbikgbWFyZ2luIC0gU2hvdWxkIHRoZSBtYXJnaW4gb2YgdGhlIGVsZW1lbnQgYmUgaW5jbHVkZWQgaW4gdGhlIGNhbGN1bGF0aW9ucz8gVHJ1ZSBieSBkZWZhdWx0LgoJICogKEJvb2xlYW4pIGJvcmRlciAtIFNob3VsZCB0aGUgYm9yZGVyIG9mIHRoZSBlbGVtZW50IGJlIGluY2x1ZGVkIGluIHRoZSBjYWxjdWxhdGlvbnM/IEZhbHNlIGJ5IGRlZmF1bHQuIAoJICogKEJvb2xlYW4pIHBhZGRpbmcgLSBTaG91bGQgdGhlIHBhZGRpbmcgb2YgdGhlIGVsZW1lbnQgYmUgaW5jbHVkZWQgaW4gdGhlIGNhbGN1YXRpb25zPyBGYWxzZSBieSBkZWZhdWx0LiAKCSAqIChCb29sZWFuKSBzY3JvbGwgLSBTb3VsZCB0aGUgc2Nyb2xsIG9mZnNldHMgb2YgdGhlIHBhcmVudCBlbGVtZW50cyBiZSBpbmNsdWRlZCBpbnQgaGUgY2FsY3VsYXRpb25zPyBUcnVlIGJ5IGRlZmF1bHQuCgkgKiAgICAgICAgICAgICAgICAgICAgV2hlbiB0cnVlIGl0IGFkZHMgdGhlIHRvdGFsIHNjcm9sbCBvZmZzZXRzIG9mIGFsbCBwYXJlbnRzIHRvIHRoZSB0b3RhbCBvZmZzZXQgYW5kIGFsc28gYWRkcyB0d28KCSAqICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzIHRvIHRoZSByZXR1cm5lZCBvYmplY3QsIHNjcm9sbFRvcCBhbmQgc2Nyb2xsTGVmdC4KCSAqIChIVE1MIEVsZW1lbnQpIHJlbGF0aXZlVG8gLSBUaGlzIHNob3VsZCBiZSBhIHBhcmVudCBvZiB0aGUgZWxlbWVudCBhbmQgc2hvdWxkIGhhdmUgcG9zaXRpb24gKGxpa2UgYWJzb2x1dGUgb3IgcmVsYXRpdmUpLgoJICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEl0IHdpbGwgcmV0cmVpdmUgdGhlIG9mZnNldCByZWxhdGl2ZSB0byB0aGlzIHBhcmVudCBlbGVtZW50LiBCeSBkZWZhdWx0IGl0IGlzIHRoZSBib2R5IGVsZW1lbnQuCgkgKgoJICogQG5hbWUgb2Zmc2V0TGl0ZQoJICogQHBhcmFtIE1hcCBvcHRpb25zIE9wdGlvbmFsIHNldHRpbmdzIHRvIGNvbmZpZ3VyZSB0aGUgd2F5IHRoZSBvZmZzZXQgaXMgY2FsY3VsYXRlZC4KCSAqIEBwYXJhbSBPYmplY3QgcmV0dXJuT2JqZWN0IEFuIG9iamVjdCB0byBzdG9yZSB0aGUgcmV0dXJuIHZhbHVlIGluLCBzbyBhcyBub3QgdG8gYnJlYWsgdGhlIGNoYWluLiBJZiBwYXNzZWQgaW4gdGhlCgkgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFpbiB3aWxsIG5vdCBiZSBicm9rZW4gYW5kIHRoZSByZXN1bHQgd2lsbCBiZSBhc3NpZ25lZCB0byB0aGlzIG9iamVjdC4KCSAqIEB0eXBlIE9iamVjdAoJICogQGNhdCBQbHVnaW5zL0RpbWVuc2lvbnMKCSAqLwoJb2Zmc2V0TGl0ZTogZnVuY3Rpb24ob3B0aW9ucywgcmV0dXJuT2JqZWN0KSB7CgkJaWYgKCF0aGlzWzBdKSBlcnJvcigpOwoJCXZhciB4ID0gMCwgeSA9IDAsIHNsID0gMCwgc3QgPSAwLCBwYXJlbnQgPSB0aGlzWzBdLCBvZmZzZXRQYXJlbnQsIAoJCSAgICBvcHRpb25zID0gJC5leHRlbmQoeyBtYXJnaW46IHRydWUsIGJvcmRlcjogZmFsc2UsIHBhZGRpbmc6IGZhbHNlLCBzY3JvbGw6IHRydWUsIHJlbGF0aXZlVG86IGRvY3VtZW50LmJvZHkgfSwgb3B0aW9ucyB8fCB7fSk7CgkJCQkKCQkvLyBHZXQgdGhlIEhUTUxFbGVtZW50IGlmIHJlbGF0aXZlVG8gaXMgYSBqcXVlcnkgY29sbGVjdGlvbgoJCWlmIChvcHRpb25zLnJlbGF0aXZlVG8uanF1ZXJ5KSBvcHRpb25zLnJlbGF0aXZlVG8gPSBvcHRpb25zLnJlbGF0aXZlVG9bMF07CgkJCgkJZG8gewoJCQl4ICs9IHBhcmVudC5vZmZzZXRMZWZ0OwoJCQl5ICs9IHBhcmVudC5vZmZzZXRUb3A7CgoJCQlvZmZzZXRQYXJlbnQgPSBwYXJlbnQub2Zmc2V0UGFyZW50IHx8IGRvY3VtZW50LmJvZHk7CgkJCWlmIChvcHRpb25zLnNjcm9sbCkgewoJCQkJLy8gZ2V0IHNjcm9sbCBvZmZzZXRzCgkJCQlkbyB7CgkJCQkJc2wgKz0gcGFyZW50LnNjcm9sbExlZnQ7CgkJCQkJc3QgKz0gcGFyZW50LnNjcm9sbFRvcDsKCQkJCQlwYXJlbnQgPSBwYXJlbnQucGFyZW50Tm9kZTsKCQkJCX0gd2hpbGUocGFyZW50ICE9IG9mZnNldFBhcmVudCk7CgkJCX0KCQkJcGFyZW50ID0gb2Zmc2V0UGFyZW50OwoJCX0gd2hpbGUgKHBhcmVudCAmJiBwYXJlbnQudGFnTmFtZSAhPSAnQk9EWScgJiYgcGFyZW50LnRhZ05hbWUgIT0gJ0hUTUwnICYmIHBhcmVudCAhPSBvcHRpb25zLnJlbGF0aXZlVG8pOwoKCQl2YXIgcmV0dXJuVmFsdWUgPSBoYW5kbGVPZmZzZXRSZXR1cm4odGhpc1swXSwgb3B0aW9ucywgeCwgeSwgc2wsIHN0KTsKCgkJaWYgKHJldHVybk9iamVjdCkgeyAkLmV4dGVuZChyZXR1cm5PYmplY3QsIHJldHVyblZhbHVlKTsgcmV0dXJuIHRoaXM7IH0KCQllbHNlICAgICAgICAgICAgICB7IHJldHVybiByZXR1cm5WYWx1ZTsgfQoJfSwKCQoJLyoqCgkgKiBSZXR1cm5zIGEgalF1ZXJ5IGNvbGxlY3Rpb24gd2l0aCB0aGUgcG9zaXRpb25lZCBwYXJlbnQgb2YgCgkgKiB0aGUgZmlyc3QgbWF0Y2hlZCBlbGVtZW50LiBUaGlzIGlzIHRoZSBmaXJzdCBwYXJlbnQgb2YgCgkgKiB0aGUgZWxlbWVudCB0aGF0IGhhcyBwb3NpdGlvbiAoYXMgaW4gcmVsYXRpdmUgb3IgYWJzb2x1dGUpLgoJICoKCSAqIEBuYW1lIG9mZnNldFBhcmVudAoJICogQHR5cGUgalF1ZXJ5CgkgKiBAY2F0IFBsdWdpbnMvRGltZW5zaW9ucwoJICovCglvZmZzZXRQYXJlbnQ6IGZ1bmN0aW9uKCkgewoJCWlmICghdGhpc1swXSkgZXJyb3IoKTsKCQl2YXIgb2Zmc2V0UGFyZW50ID0gdGhpc1swXS5vZmZzZXRQYXJlbnQ7CgkJd2hpbGUgKCBvZmZzZXRQYXJlbnQgJiYgKG9mZnNldFBhcmVudC50YWdOYW1lICE9ICdCT0RZJyAmJiAkLmNzcyhvZmZzZXRQYXJlbnQsICdwb3NpdGlvbicpID09ICdzdGF0aWMnKSApCgkJCW9mZnNldFBhcmVudCA9IG9mZnNldFBhcmVudC5vZmZzZXRQYXJlbnQ7CgkJcmV0dXJuICQob2Zmc2V0UGFyZW50KTsKCX0KfSk7CgovKioKICogVGhyb3dzIGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiBubyBlbGVtZW50cyBhcmUgaW4gdGhlIGpRdWVyeSBjb2xsZWN0aW9uCiAqIEBwcml2YXRlCiAqLwp2YXIgZXJyb3IgPSBmdW5jdGlvbigpIHsKCXRocm93ICJEaW1lbnNpb25zOiBqUXVlcnkgY29sbGVjdGlvbiBpcyBlbXB0eSI7Cn07CgovKioKICogSGFuZGxlcyBjb252ZXJ0aW5nIGEgQ1NTIFN0eWxlIGludG8gYW4gSW50ZWdlci4KICogQHByaXZhdGUKICovCnZhciBudW0gPSBmdW5jdGlvbihlbCwgcHJvcCkgewoJcmV0dXJuIHBhcnNlSW50KCQuY3NzKGVsLmpxdWVyeT9lbFswXTplbCxwcm9wKSl8fDA7Cn07CgovKioKICogSGFuZGxlcyB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBvZmZzZXQgYW5kIG9mZnNldExpdGUgbWV0aG9kcy4KICogQHByaXZhdGUKICovCnZhciBoYW5kbGVPZmZzZXRSZXR1cm4gPSBmdW5jdGlvbihlbGVtLCBvcHRpb25zLCB4LCB5LCBzbCwgc3QpIHsKCWlmICggIW9wdGlvbnMubWFyZ2luICkgewoJCXggLT0gbnVtKGVsZW0sICdtYXJnaW5MZWZ0Jyk7CgkJeSAtPSBudW0oZWxlbSwgJ21hcmdpblRvcCcpOwoJfQoKCS8vIFNhZmFyaSBhbmQgT3BlcmEgZG8gbm90IGFkZCB0aGUgYm9yZGVyIGZvciB0aGUgZWxlbWVudAoJaWYgKCBvcHRpb25zLmJvcmRlciAmJiAoKCQuYnJvd3Nlci5zYWZhcmkgJiYgcGFyc2VJbnQoJC5icm93c2VyLnZlcnNpb24pIDwgNTIwKSB8fCAkLmJyb3dzZXIub3BlcmEpICkgewoJCXggKz0gbnVtKGVsZW0sICdib3JkZXJMZWZ0V2lkdGgnKTsKCQl5ICs9IG51bShlbGVtLCAnYm9yZGVyVG9wV2lkdGgnKTsKCX0gZWxzZSBpZiAoICFvcHRpb25zLmJvcmRlciAmJiAhKCgkLmJyb3dzZXIuc2FmYXJpICYmIHBhcnNlSW50KCQuYnJvd3Nlci52ZXJzaW9uKSA8IDUyMCkgfHwgJC5icm93c2VyLm9wZXJhKSApIHsKCQl4IC09IG51bShlbGVtLCAnYm9yZGVyTGVmdFdpZHRoJyk7CgkJeSAtPSBudW0oZWxlbSwgJ2JvcmRlclRvcFdpZHRoJyk7Cgl9CgoJaWYgKCBvcHRpb25zLnBhZGRpbmcgKSB7CgkJeCArPSBudW0oZWxlbSwgJ3BhZGRpbmdMZWZ0Jyk7CgkJeSArPSBudW0oZWxlbSwgJ3BhZGRpbmdUb3AnKTsKCX0KCQoJLy8gZG8gbm90IGluY2x1ZGUgc2Nyb2xsIG9mZnNldCBvbiB0aGUgZWxlbWVudCAuLi4gb3BlcmEgc29tZXRpbWVzIHJlcG9ydHMgc2Nyb2xsIG9mZnNldCBhcyBhY3R1YWwgb2Zmc2V0CglpZiAoIG9wdGlvbnMuc2Nyb2xsICYmICghJC5icm93c2VyLm9wZXJhIHx8IGVsZW0ub2Zmc2V0TGVmdCAhPSBlbGVtLnNjcm9sbExlZnQgJiYgZWxlbS5vZmZzZXRUb3AgIT0gZWxlbS5zY3JvbGxMZWZ0KSApIHsKCQlzbCAtPSBlbGVtLnNjcm9sbExlZnQ7CgkJc3QgLT0gZWxlbS5zY3JvbGxUb3A7Cgl9CgoJcmV0dXJuIG9wdGlvbnMuc2Nyb2xsID8geyB0b3A6IHkgLSBzdCwgbGVmdDogeCAtIHNsLCBzY3JvbGxUb3A6ICBzdCwgc2Nyb2xsTGVmdDogc2wgfQoJICAgICAgICAgICAgICAgICAgICAgIDogeyB0b3A6IHksIGxlZnQ6IHggfTsKfTsKCi8qKgogKiBHZXRzIHRoZSB3aWR0aCBvZiB0aGUgT1Mgc2Nyb2xsYmFyCiAqIEBwcml2YXRlCiAqLwp2YXIgc2Nyb2xsYmFyV2lkdGggPSAwOwp2YXIgZ2V0U2Nyb2xsYmFyV2lkdGggPSBmdW5jdGlvbigpIHsKCWlmICghc2Nyb2xsYmFyV2lkdGgpIHsKCQl2YXIgdGVzdEVsID0gJCgnPGRpdj4nKQoJCQkJLmNzcyh7CgkJCQkJd2lkdGg6IDEwMCwKCQkJCQloZWlnaHQ6IDEwMCwKCQkJCQlvdmVyZmxvdzogJ2F1dG8nLAoJCQkJCXBvc2l0aW9uOiAnYWJzb2x1dGUnLAoJCQkJCXRvcDogLTEwMDAsCgkJCQkJbGVmdDogLTEwMDAKCQkJCX0pCgkJCQkuYXBwZW5kVG8oJ2JvZHknKTsKCQlzY3JvbGxiYXJXaWR0aCA9IDEwMCAtIHRlc3RFbAoJCQkuYXBwZW5kKCc8ZGl2PicpCgkJCS5maW5kKCdkaXYnKQoJCQkJLmNzcyh7CgkJCQkJd2lkdGg6ICcxMDAlJywKCQkJCQloZWlnaHQ6IDIwMAoJCQkJfSkKCQkJCS53aWR0aCgpOwoJCXRlc3RFbC5yZW1vdmUoKTsKCX0KCXJldHVybiBzY3JvbGxiYXJXaWR0aDsKfTsKCn0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.easing.1.3.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEVhc2luZyB2MS4zIC0gaHR0cDovL2dzZ2QuY28udWsvc2FuZGJveC9qcXVlcnkvZWFzaW5nLwogKgogKiBVc2VzIHRoZSBidWlsdCBpbiBlYXNpbmcgY2FwYWJpbGl0aWVzIGFkZGVkIEluIGpRdWVyeSAxLjEKICogdG8gb2ZmZXIgbXVsdGlwbGUgZWFzaW5nIG9wdGlvbnMKICoKICogVEVSTVMgT0YgVVNFIC0galF1ZXJ5IEVhc2luZwogKiAKICogT3BlbiBzb3VyY2UgdW5kZXIgdGhlIEJTRCBMaWNlbnNlLiAKICogCiAqIENvcHlyaWdodCDCqSAyMDA4IEdlb3JnZSBNY0dpbmxleSBTbWl0aAogKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKiAKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgCiAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKICogCiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIAogKiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IAogKiBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyAKICogcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogKiAKICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgYXV0aG9yIG5vciB0aGUgbmFtZXMgb2YgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2UgCiAqIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAqIAogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSAKICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCiAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQogKiAgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAogKiAgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFCiAqICBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgCiAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCiAqICBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCAKICogT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICoKKi8KCi8vIHQ6IGN1cnJlbnQgdGltZSwgYjogYmVnSW5uSW5nIHZhbHVlLCBjOiBjaGFuZ2UgSW4gdmFsdWUsIGQ6IGR1cmF0aW9uCmpRdWVyeS5lYXNpbmdbJ2pzd2luZyddID0galF1ZXJ5LmVhc2luZ1snc3dpbmcnXTsKCmpRdWVyeS5leHRlbmQoIGpRdWVyeS5lYXNpbmcsCnsKCWRlZjogJ2Vhc2VPdXRRdWFkJywKCXN3aW5nOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCS8vYWxlcnQoalF1ZXJ5LmVhc2luZy5kZWZhdWx0KTsKCQlyZXR1cm4galF1ZXJ5LmVhc2luZ1tqUXVlcnkuZWFzaW5nLmRlZl0oeCwgdCwgYiwgYywgZCk7Cgl9LAoJZWFzZUluUXVhZDogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gYyoodC89ZCkqdCArIGI7Cgl9LAoJZWFzZU91dFF1YWQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIC1jICoodC89ZCkqKHQtMikgKyBiOwoJfSwKCWVhc2VJbk91dFF1YWQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJaWYgKCh0Lz1kLzIpIDwgMSkgcmV0dXJuIGMvMip0KnQgKyBiOwoJCXJldHVybiAtYy8yICogKCgtLXQpKih0LTIpIC0gMSkgKyBiOwoJfSwKCWVhc2VJbkN1YmljOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXJldHVybiBjKih0Lz1kKSp0KnQgKyBiOwoJfSwKCWVhc2VPdXRDdWJpYzogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gYyooKHQ9dC9kLTEpKnQqdCArIDEpICsgYjsKCX0sCgllYXNlSW5PdXRDdWJpYzogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlpZiAoKHQvPWQvMikgPCAxKSByZXR1cm4gYy8yKnQqdCp0ICsgYjsKCQlyZXR1cm4gYy8yKigodC09MikqdCp0ICsgMikgKyBiOwoJfSwKCWVhc2VJblF1YXJ0OiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXJldHVybiBjKih0Lz1kKSp0KnQqdCArIGI7Cgl9LAoJZWFzZU91dFF1YXJ0OiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXJldHVybiAtYyAqICgodD10L2QtMSkqdCp0KnQgLSAxKSArIGI7Cgl9LAoJZWFzZUluT3V0UXVhcnQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJaWYgKCh0Lz1kLzIpIDwgMSkgcmV0dXJuIGMvMip0KnQqdCp0ICsgYjsKCQlyZXR1cm4gLWMvMiAqICgodC09MikqdCp0KnQgLSAyKSArIGI7Cgl9LAoJZWFzZUluUXVpbnQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIGMqKHQvPWQpKnQqdCp0KnQgKyBiOwoJfSwKCWVhc2VPdXRRdWludDogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gYyooKHQ9dC9kLTEpKnQqdCp0KnQgKyAxKSArIGI7Cgl9LAoJZWFzZUluT3V0UXVpbnQ6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJaWYgKCh0Lz1kLzIpIDwgMSkgcmV0dXJuIGMvMip0KnQqdCp0KnQgKyBiOwoJCXJldHVybiBjLzIqKCh0LT0yKSp0KnQqdCp0ICsgMikgKyBiOwoJfSwKCWVhc2VJblNpbmU6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIC1jICogTWF0aC5jb3ModC9kICogKE1hdGguUEkvMikpICsgYyArIGI7Cgl9LAoJZWFzZU91dFNpbmU6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIGMgKiBNYXRoLnNpbih0L2QgKiAoTWF0aC5QSS8yKSkgKyBiOwoJfSwKCWVhc2VJbk91dFNpbmU6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIC1jLzIgKiAoTWF0aC5jb3MoTWF0aC5QSSp0L2QpIC0gMSkgKyBiOwoJfSwKCWVhc2VJbkV4cG86IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuICh0PT0wKSA/IGIgOiBjICogTWF0aC5wb3coMiwgMTAgKiAodC9kIC0gMSkpICsgYjsKCX0sCgllYXNlT3V0RXhwbzogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gKHQ9PWQpID8gYitjIDogYyAqICgtTWF0aC5wb3coMiwgLTEwICogdC9kKSArIDEpICsgYjsKCX0sCgllYXNlSW5PdXRFeHBvOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCWlmICh0PT0wKSByZXR1cm4gYjsKCQlpZiAodD09ZCkgcmV0dXJuIGIrYzsKCQlpZiAoKHQvPWQvMikgPCAxKSByZXR1cm4gYy8yICogTWF0aC5wb3coMiwgMTAgKiAodCAtIDEpKSArIGI7CgkJcmV0dXJuIGMvMiAqICgtTWF0aC5wb3coMiwgLTEwICogLS10KSArIDIpICsgYjsKCX0sCgllYXNlSW5DaXJjOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXJldHVybiAtYyAqIChNYXRoLnNxcnQoMSAtICh0Lz1kKSp0KSAtIDEpICsgYjsKCX0sCgllYXNlT3V0Q2lyYzogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQpIHsKCQlyZXR1cm4gYyAqIE1hdGguc3FydCgxIC0gKHQ9dC9kLTEpKnQpICsgYjsKCX0sCgllYXNlSW5PdXRDaXJjOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCWlmICgodC89ZC8yKSA8IDEpIHJldHVybiAtYy8yICogKE1hdGguc3FydCgxIC0gdCp0KSAtIDEpICsgYjsKCQlyZXR1cm4gYy8yICogKE1hdGguc3FydCgxIC0gKHQtPTIpKnQpICsgMSkgKyBiOwoJfSwKCWVhc2VJbkVsYXN0aWM6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJdmFyIHM9MS43MDE1ODt2YXIgcD0wO3ZhciBhPWM7CgkJaWYgKHQ9PTApIHJldHVybiBiOyAgaWYgKCh0Lz1kKT09MSkgcmV0dXJuIGIrYzsgIGlmICghcCkgcD1kKi4zOwoJCWlmIChhIDwgTWF0aC5hYnMoYykpIHsgYT1jOyB2YXIgcz1wLzQ7IH0KCQllbHNlIHZhciBzID0gcC8oMipNYXRoLlBJKSAqIE1hdGguYXNpbiAoYy9hKTsKCQlyZXR1cm4gLShhKk1hdGgucG93KDIsMTAqKHQtPTEpKSAqIE1hdGguc2luKCAodCpkLXMpKigyKk1hdGguUEkpL3AgKSkgKyBiOwoJfSwKCWVhc2VPdXRFbGFzdGljOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXZhciBzPTEuNzAxNTg7dmFyIHA9MDt2YXIgYT1jOwoJCWlmICh0PT0wKSByZXR1cm4gYjsgIGlmICgodC89ZCk9PTEpIHJldHVybiBiK2M7ICBpZiAoIXApIHA9ZCouMzsKCQlpZiAoYSA8IE1hdGguYWJzKGMpKSB7IGE9YzsgdmFyIHM9cC80OyB9CgkJZWxzZSB2YXIgcyA9IHAvKDIqTWF0aC5QSSkgKiBNYXRoLmFzaW4gKGMvYSk7CgkJcmV0dXJuIGEqTWF0aC5wb3coMiwtMTAqdCkgKiBNYXRoLnNpbiggKHQqZC1zKSooMipNYXRoLlBJKS9wICkgKyBjICsgYjsKCX0sCgllYXNlSW5PdXRFbGFzdGljOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCXZhciBzPTEuNzAxNTg7dmFyIHA9MDt2YXIgYT1jOwoJCWlmICh0PT0wKSByZXR1cm4gYjsgIGlmICgodC89ZC8yKT09MikgcmV0dXJuIGIrYzsgIGlmICghcCkgcD1kKiguMyoxLjUpOwoJCWlmIChhIDwgTWF0aC5hYnMoYykpIHsgYT1jOyB2YXIgcz1wLzQ7IH0KCQllbHNlIHZhciBzID0gcC8oMipNYXRoLlBJKSAqIE1hdGguYXNpbiAoYy9hKTsKCQlpZiAodCA8IDEpIHJldHVybiAtLjUqKGEqTWF0aC5wb3coMiwxMCoodC09MSkpICogTWF0aC5zaW4oICh0KmQtcykqKDIqTWF0aC5QSSkvcCApKSArIGI7CgkJcmV0dXJuIGEqTWF0aC5wb3coMiwtMTAqKHQtPTEpKSAqIE1hdGguc2luKCAodCpkLXMpKigyKk1hdGguUEkpL3AgKSouNSArIGMgKyBiOwoJfSwKCWVhc2VJbkJhY2s6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkLCBzKSB7CgkJaWYgKHMgPT0gdW5kZWZpbmVkKSBzID0gMS43MDE1ODsKCQlyZXR1cm4gYyoodC89ZCkqdCooKHMrMSkqdCAtIHMpICsgYjsKCX0sCgllYXNlT3V0QmFjazogZnVuY3Rpb24gKHgsIHQsIGIsIGMsIGQsIHMpIHsKCQlpZiAocyA9PSB1bmRlZmluZWQpIHMgPSAxLjcwMTU4OwoJCXJldHVybiBjKigodD10L2QtMSkqdCooKHMrMSkqdCArIHMpICsgMSkgKyBiOwoJfSwKCWVhc2VJbk91dEJhY2s6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkLCBzKSB7CgkJaWYgKHMgPT0gdW5kZWZpbmVkKSBzID0gMS43MDE1ODsgCgkJaWYgKCh0Lz1kLzIpIDwgMSkgcmV0dXJuIGMvMioodCp0KigoKHMqPSgxLjUyNSkpKzEpKnQgLSBzKSkgKyBiOwoJCXJldHVybiBjLzIqKCh0LT0yKSp0KigoKHMqPSgxLjUyNSkpKzEpKnQgKyBzKSArIDIpICsgYjsKCX0sCgllYXNlSW5Cb3VuY2U6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJcmV0dXJuIGMgLSBqUXVlcnkuZWFzaW5nLmVhc2VPdXRCb3VuY2UgKHgsIGQtdCwgMCwgYywgZCkgKyBiOwoJfSwKCWVhc2VPdXRCb3VuY2U6IGZ1bmN0aW9uICh4LCB0LCBiLCBjLCBkKSB7CgkJaWYgKCh0Lz1kKSA8ICgxLzIuNzUpKSB7CgkJCXJldHVybiBjKig3LjU2MjUqdCp0KSArIGI7CgkJfSBlbHNlIGlmICh0IDwgKDIvMi43NSkpIHsKCQkJcmV0dXJuIGMqKDcuNTYyNSoodC09KDEuNS8yLjc1KSkqdCArIC43NSkgKyBiOwoJCX0gZWxzZSBpZiAodCA8ICgyLjUvMi43NSkpIHsKCQkJcmV0dXJuIGMqKDcuNTYyNSoodC09KDIuMjUvMi43NSkpKnQgKyAuOTM3NSkgKyBiOwoJCX0gZWxzZSB7CgkJCXJldHVybiBjKig3LjU2MjUqKHQtPSgyLjYyNS8yLjc1KSkqdCArIC45ODQzNzUpICsgYjsKCQl9Cgl9LAoJZWFzZUluT3V0Qm91bmNlOiBmdW5jdGlvbiAoeCwgdCwgYiwgYywgZCkgewoJCWlmICh0IDwgZC8yKSByZXR1cm4galF1ZXJ5LmVhc2luZy5lYXNlSW5Cb3VuY2UgKHgsIHQqMiwgMCwgYywgZCkgKiAuNSArIGI7CgkJcmV0dXJuIGpRdWVyeS5lYXNpbmcuZWFzZU91dEJvdW5jZSAoeCwgdCoyLWQsIDAsIGMsIGQpICogLjUgKyBjKi41ICsgYjsKCX0KfSk7CgovKgogKgogKiBURVJNUyBPRiBVU0UgLSBFQVNJTkcgRVFVQVRJT05TCiAqIAogKiBPcGVuIHNvdXJjZSB1bmRlciB0aGUgQlNEIExpY2Vuc2UuIAogKiAKICogQ29weXJpZ2h0IMKpIDIwMDEgUm9iZXJ0IFBlbm5lcgogKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKiAKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgCiAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKICogCiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIAogKiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IAogKiBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyAKICogcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogKiAKICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgYXV0aG9yIG5vciB0aGUgbmFtZXMgb2YgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2UgCiAqIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAqIAogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSAKICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCiAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQogKiAgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAogKiAgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFCiAqICBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgCiAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCiAqICBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCAKICogT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICoKICov]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/blank.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancybox-x.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAABICAYAAAA3Qp8tAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAG1JREFUeNq0jzEOgDAMA90WChMDUsXKp3kcTwFRQp0hUR9AhpPtJo0CEQG2UkIEIMRAqAUR+0xVNpt7eLNPjES171U9ptzexGXZa5nbYM2KpA/QE1pNtAutLtI67Y5/0G87UsNOrMRMgKifAAMA8xojdBZ1K0cAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancybox-y.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFJJREFUeNpMjF0OgCAMg4eAegLC/U9HOIEJutnGPtjkS/fTLUWEUb21BMuAvtmnojqLQ875qR2putsBH97AwQKPWD+YuZRx9a471jHmZG+vAAMAMUgY/0A1OZkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancybox.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_close.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_closebox.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_left.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_loading.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAHgCAYAAADXMi8AAAAnmklEQVR42u3dB3RlZdU38LH33nvH3nvvBRt2RcVeEVREUWyABcGuCBYUFVlWQF9FrEsFBCa5SWaSaZmSTMn0xjCDiC98a337d9bz5DtzCXNPknPv5FueWeusJGducvbZz95P+f93mTdv738HxHVUXL+I6/y4zuvRdX565lFJhin/vSKui+Iai2tRXMM9vhalZ1+UZNnr3yFxTcS1JK5WXAP76WolGcjyxizcg0tvsD+FKwtJloVxPYiAR8e1ao4IVxaSTB8j4Nlxjcwh4fJFpl/NS140XMMf7I+rr2YB/zovufhsBWzd7W53G370ox+95FrXulZdAg4n2WakwVbJZn3t/+53v7t5fHz88kc+8pGLa7Ln4STbtARs3fCGNxw69thj18c1cb3rXa8Y2hvd6EZDZ5999vYNGzZc8aIXvWh5FvDmN7/50D3ucY/hm9zkJkO9ErD/jne840LCtFqtS5///OcTZv5Nb3rToR/96EdbRkZGLnvuc5876nPXuc51Bu91r3sNP+hBD1p0m9vcZkG3BSwPad9b3vKWsfPOO++S733ve5tDe4PXv/71Bwk4PDy8Jwt4u9vdbsEDHvCARfe85z2H/X9XBYxhHbzVrW41lLy0FUO34OSTT958/vnn73rd615nvur71a9+VQzxgQceuDwcpXXf+9535P73v/+iW9ziFpPai/uDYRaDtQv4gQ98YE0ItJF9pQfMf9rTnrbsggsu2HXWWWdtjyEc+uhHPzpB4BjSxWzP0N75znee/LvskD0ecMABi2i9TgFbRxxxxJozzzxz209+8pMtn/rUpyYe+tCHLjKdfPjDH15z4oknbgjtLuAoBAjbG2Bz9773vYdvfOMbD133utcdDLtdENocechDHrLogQ984KKKTlNdg/EHB1/wgheMHn/88evPOOOMrT/96U+3vf71r191gxvcYJAQae5rpcl6IIQaIOjNbnazodBYIVjY40jMlQt9vu4hzg5SGD6b+/73v7+ZVkuCTfl7t771rRfQGEchbOnv1SZgK2vk2te+9uTPd73rXYc9vNNDaNFwlr3YS1VcbToK2DLnveMd7xg/7LDDVr/tbW8bf+tb3zp26KGHrn7mM5+5zP/z1k4PuuUtb7ngPve5z0jYZHHxbo5SYW7s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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_nav_left.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAFbUlEQVRIx61Xa0ibVxjWxJjGS+NtscZr1szaNTgvc5W2SlHQNrA5HSLtaqtVxAlOGKgDwQlObL20irTFMav7N4RN7PbHHzp0c2Jb1tatIKKooENWFWrMxZjYPW94P9GYmLTbgYfknPOe9znnvZ3zeXgc3jwBEeH8+fNeycnJklOnTnmr1Wppa2ur7507d/yoT6A5khHkee1rN1okBiTAkRMnTviXl5crbt++HdPc3KyurKw8fuvWrfe7u7tPp6SkRBYXF0c2NDRE4PctND9aw2vFr7MBEqSdS0lJVlaWorOzUzMyMqJ98eLFTbPZPPHKrm1vbz9ZX1//Znh4+MO8vLzoiIiIIN6AlHW5JBexoCwmJiYgPz8/qqen55xOp/vBnmxlZcW6sLBgtR9/+fLl97CQKjExURkYGCgnXaxT5OqkPrTjK1euqAcHBz+yWq0LpBAn3YFpzbCAATK6vYC59e3t7Waj0bjDsk9x+kvwe5RcLg8knc5OLpDKjh49GpSdna3u7+/PhY4tUjQ0NGSJjo7etCe0R1xcnP7x48cW4fRY9ynGYphc5ohczP6Qx8fHq1paWi5YLJZFWtzb22sWi8U6V6QCSLapqWlLIL93716uUqmMJN3MsRtwnhyBfiEhIcqKiopzCJSfhZO6IoUfHVri7t27ZtKB+Pgd/XeBY8TBXCIhoI6QidPT00/29fUV0wK9Xm+FrzddkU5NTVkbGxu37Oe8vb11y8vL26RrdHT0K+h6B+NBnGpigdjXx8dHiSg+Nz8//x0Jd3V1mQ8jTUpK0i8uLtqCiX4dyZSVlZlofnV19Rf044EwPrWX4F/4X/62Vqu9YDAYnpJwamqq4TBSpM0Op88O9R3JBQcHbyJWbL4OCAhIx5gKCAC8PZg9ODQ0VJOTk3OZhDY2NqzukJKZnflYwLNnz2yBVltbW+nv7x+HsRA2t4fEz89PgXqbUlpa+jkJzczMWP4PUsKDBw+2OLpv+vr6voexUE4tDwn8G6bRaM6g1taQ0PPnzx0SCz6llpGRYXAnvQYGBmzEuFA60E8ClBRTHhzeSoVCcSYtLa2ShNbW1iz/xbd7MTk5aST56urqRplM9gHGwvcRSySS0yqVqgTl7h8SdJZKQgq5Q041ADK2lEJh+gwcB4jDMJgCP1+bm5sbI8GqqiqTq/x1RU51nS+UP9G/BCTbm1oB4oTY2NgC3LPfsvA2fK9zh9xZHo+Njelp/ic09POAfcFlSyfgpFQq1cLENag4T2gBXhlb7lSukpKSA9YpKioycsn8G/lci7ELxLE3ncRcwFVeXl5pQUFBJUirbiF6SYG7F4SAs2fPGvA4sHI0D2CsGEizLyAitjmVswQERC6KyZco8ruXf319/Za7pIWFhUaTyWQjHR8ff4ixGiCHdNuXTBEfnQq4GkgH+TWY8WvU60GBfHp62lRQUGB05ncKpImJCYMgD9I/MN4IXCWdrHvfJbF7LfLVpQGyQV6G+n0Dj7zBpaWlGUEhnYbKIJ5EJsKjR49MQspwDVhua2ujS+EGUEa6WOeBa3HfQwCgSzsR0BI5Tki7vt/R0fHb7Ozs9CsnDZE9h0fDQ2RHL5+USLWsy+FDYN/TB6BnShT7JJtNVYOq00YbgBV+zMzM/LWuru4vAm608fDw8EGaA9rYp1d5bQLrcvr02ffYY8FINhFF48fAdeALoB7R3wy04n8r/ReJRPU8d51l03htJOvycfXMFe05uZz9cpx3TsouAp8Al4FCxmUeu8gyCbzmGOtw+by1/4qQcpoFspJoIJZPksA3TRL/1/BcNMsG8lrpm3xNeO6xgISVyNhsvnbw4Tkpy3rt+X56o28oR5txBbfavx4m6rAPnooRAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_nav_right.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAFdUlEQVRIx6VXbUibVxS2iTGN0cZEF2v8zJqpncH5MVepVUoLagObq6NInba1LeIEJ0zUQcEVXLH1u4iKo53u3xA2sduf/tBRNyf9YK1ugoiiQh0yq1A1H8ak3XPCeUXTxKTtCw/Jve+5z3Pvueece18fn72ffYCIcPz4cd/U1FRJQkKCn06nkzY1Nck7OzsDqE2gd2Qj2PPY135okBiQAPvj4uICy8rK1G1tbTENDQ26ioqKQ62trR/29PQcSUtLiywpKYm8evVqBH7fwRNAY3is+HUmQIY0cymRZGdnq2/evKkfHh42LC8v37BarWMvnZ6tra3Hq6ur3w0NDX2cn58fHRERoeIJSJnLo7iIDWUxMTFBZ86cibp9+/ax9fX1n5zFlpaW7PPz83bn/ufPn/8ID2mTk5M1SqVSQVzMKfK0Un+acVFRkW5wcPATu90+T4RY6Qu41goPmGCzvhNwt7GlpcVqNptfsO0TrP4s9j1KoVAoidPdygVR2YEDB1Q5OTm6/v7+0+DYJKK7d+/aoqOjN5wFnREfH2989OiRTVg9xn2OvhgWl7kSF/N+KBITE7WNjY25NpttgQb39vZaxWLxuidRAWR77dq1TUG8u7v7tEajiSRu1tgOuH0cgQEhISGa8vLyYwiUX4WVuhLF3m0Q9ppAV1eXlTgQH3+i/T5wkDRYSyQE1H5ycVZW1uG+vr4SGmA0Gu3Ya5fk9fX1mxMTE/a9xP38/NYXFxe3iOvevXvfgOs99Ks41cSCsNzf31+DKD42Nzf3Axl3dHRY3ZEich1B5Em8tLTUQnbPnj37De1EIIxX7SvsL/Zf8a7BYMg1mUxPyDg9Pd3kjjAlJcUoiNMvtV3ZBQcHbyBWHHsdFBSUhT4tEAT4+bB6cGhoqD4vL6+QjNbW1uyegshb8fHxcUeg1dbWVgQGBsajL4Td7SMJCAhQo96mXb58+Usymp6etnkTwVqt1kju3kv8zp07mxzdN+Ry+QfoC+XU8pFgf8P0ev1R1NoaMpqcnLR5mz4nTpwwCamzsLDwwvn9wMCAQxgHSjvaKYCGYsqHw1ujVquPZmZmVpDRysqKV8I73U0rJw8429y/f99M76urq+tlMtlH6AvfJSyRSI5g4CWUu//I0F0quRN1Fd1UA2DjSCkUpi+g8YpwGDrTsM/nZ2dnR8iwsrLS8jaiBKrrfKD8jfZZINXZ1WoIJ8XGxhbgnL3FxlvY+7fK45GRESPZ/YIH7XxgV3A50gk4LJVKDXBxDSrOYxqAW8amK8KqqioLuLb2Er1w4YKZS+a/yOda9OWSxs50EnMB1/r6+maqVKpLSKseIVKJwNsIF5CRkWHC5cDO0TyAvhIg07mAiNjnVM6SEBCnUUy+RpHfPvzr6uo2vRUtLi42WywWh+jo6OgD9NUAecTtXDJFvHQq4DogC+Ln4cZvUa8HBfGpqSlLQUGB2d2+UyCNjY1t5zRE/0J/PXCOOJl71yGxfSzy0aUHciBeivp9HZe8wadPn04LhLQaKoO4ElkIDx8+tAgpwzVgsbm5mQ6F60ApcTHnK8firosAQId2MmAgcayQZv19e3v7HzMzM1Mv3TyoWrO4NDxAdvTySknUwFwuLwK7rj4AXVOieE9y2FU1qDrNNAF44eeTJ0/+fuXKlX8IONFGw8PDB+kd0Mx7eo7HJjGX26vPrsseG0ayiygaPwUuAl8BdYj+BqAJ/5vov0gkquN3F9k2k8dGMpe/p2uuaMfKFbwvh3jmRHYK+AwoBIoZhdx3im2SeMxB5vB4vXX+ipBymimZJBqI5ZUk8UmTwv/1/C6abZU8VvomXxP7dnhAwiQydpvcCf78Tsq2vju+n97oG8rVZDzBq+d/BnPq5aM0EKUAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_progress.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_right.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_e.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAABCAYAAADeko4lAAAAMklEQVQI12MUFxW1YGBg+APE/4D4NxD/heLfSPg/EP+AqvkH5f+D6gOx/7949QrEZwAA7SMU/wl/9ugAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_n.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAAUCAYAAABMDlehAAAAMUlEQVQI11XLwQkAIBTD0GdRNxD3n/R7U7wUElJVxV6rBRX0oAWC/K4H8+L858XvMQ6htwScSSgzAAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_ne.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABIklEQVQ4y62Ua47DMAiEB5wcoer9b7fqGYLZP6b6FrlVK20kK37gYWDAlpn6z8/ut5tLmrszSV95+3k8VGAmyde+A8y+ZehgMwFWZwmbzn77HWvQKBZIpWHCQc3zHUNv+RprPdZwgPgnIRuA1PKZG8dqf9sxHACiUHQaYEnBcgfYWTBsQbBXghhFMUnnupQYJVABz1ZiCaZJwBMXGUYZXS3M8cL+CThwcCFfFWaxH+siw49dHQ54PRo7pmCu80pNtOaYLOxAzbFUGNqEyix+dlhWDh0soq2FeTZR1Lrpieyb7hiw6bmOjSBGlecShGUQAL3QTdFKxbj21i1VlwcAEvsV9mgsRcBiebaH9YCzAjlbzwec/MmPwMxafxvAd08a21e/OepnxlCGJoQAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_nw.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABC0lEQVQ4y62UAQqDMAxFmzT1CLL731O7Kf3yCHXIWKHUlubn/US13nv557BD8LWuP8V+Zh+r9vtTQQVzn8/O8yeCCvSDYKx9zDruaH9r2XDRcH6IbRC1dL88JbR01pFApKeTLGgpQKMOuyR1NYKk3whpS7WjeAXdNlZ/YjlGgBwEHASSnfWloN10tqdaVtgUpZJ4FmSwOhqwHUhE61eSmWXHRYoykaGex2iKpWB+t3rqaEVjHOIOwYuQNStYeRagIlkFxLSG2VYBXcWzyJyi2XKZiKoRDfSB1Uiam1LT96lXIpCkTcQE0+4sGwJYN80F1gMgPiPcYbdNukmhwH65+9tE+tdFsh1pNgAsb+/rdlTpwE+hAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_s.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAAUCAYAAABMDlehAAAANklEQVQI10XKwQ2AMBDEwGGpIaIT+m8LFHL8Lj/bsmuMO6jgC2bT1jd4uq1uW4+eZ3AGS1X5AXa8E2Tq43WHAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_se.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABJ0lEQVQ4y41UUW5DMQgzvF6h2jl6/wtNvcHaBPYDnefypEaKoiTYsQHFvq7XG4Bd8wEgAfzUftXs+wTwrDUBBACrO3zf7/AiedahEZABCcDxN7ym0R4AcBGCRfsQYtCjep99roS7AjepW0TG5DqyFbayJDCTJ1kOUgNZowkXEaFyGoPNTY+ZxBjncFH1OlBtLlHXq5GDF+GDwKA87YFALacm8kIEcVK5ILDemTyKS1kFAZcELyqIk5Ox2k14SGArPUil2jQ6CyY0Sb5JhXcR99lBpDEp5H7joCgwpPldFP8bLj0YZMWpB0MsmlT7TSEre5Jap1xuwtnUMk0IUmmULxMSl7YaSX1IrIKmcarQh4AYfhWTfZ489PoocwAx8JTgTXrmx7EfjV9rMblEHBbT2AAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_sw.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABG0lEQVQ4y62TUW4DIQxEn2E3uUHU+99zcX/saDolaSs1EvKKwGOYMZGZfDweAAOIGlSdVY8aAdxrfgCnfE9gRgEHsAR01CIEpHVWvdW6Xn80MICsyYYPgbTSs+pN1p4CjLArNyj7CgJE5nScongosDdcBgiBzo2veuhW4ayqXq66ZlogvAqlFXYQaSpTuqBhQ9Q9O8RD0fbp70sCyqpYYM/DVWF7tcw/TJ2rntodDmyVWNqtbEkd5uEA2AGHgdM2q1K1B21s7MkhSeth7aM+gi9P1VMO2ZwverNVh9jR/8UOiIQzJSS1Q9Wpn9+A2BWHbVii5tqkzjugB7IskLS59Q64a6PY+OzhvQX+dIi2V/xG4V8PGUBGZvKfv08j7HxbBtCVPwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_shadow_w.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAABCAYAAADeko4lAAAALklEQVQI12P8//8/AwhIiIkxAilmIAbRTAwQwAJlM0MxO5QGiXNA5UCYFaqPDQAGHwN8eWM6AwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_title_left.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA8AAAAgCAQAAABnJeoiAAABvklEQVQoz42TTSjDcRjHv/ZmTGYbU8K8HEYS5a28ZE5eDxzcKLIdnMRpNVJKccHNcSflJEqhXHbQ4mg5jFgrVsS0qclLHs/f/+9l+/9Xfr/b//N7nv/zfJ/vA8hPBl8V1NBAK0cq/qyDHgbkIi8VqRllw7hsD7lj28+BZKhFFsdY7zdIOskwG+b9/rif6J32npyR1vBfaIDF7xRiLl86wgh+3a8jwvwjlwDXo4ZzCQbFWA3/0zzX8hYjmr/7QRJWIRNGFN/uE+3Ek2BQjDXA6nYQvX7YLuVYx7G2oyWirdTYoJBajwLYw4dEzogcqzl1Eeri10S1ITnWsE6laH5NEJkulHAeKtCWDmthQiU6HiPKySV85lcuTUq+6VVuTCqtd1KQpfoqTWMYODlWElWSBV3tMwmufvZOUVQ0YWjBKxhh5SHzPHUkhaiCA6O+E7kdxIGWoB49mHB5T2+EHLvxMclMoh0sKEcj+jABz0Eg2YqimQq4/wZ0YwTTNWurPl/oIvptRcHfOfygjFvsxCDGMQUPFn+NLDxgr6KYi2zkMgcwjFH5GhhhZRXtnKUZ7Ur7xUuEfFbSxqP6/woqLPAnWuESyIO/rbkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_title_main.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAQAAAB57NqRAAAAJ0lEQVQI12NgYGdgEGX4/x+EGG6Sj6AmTGVgyGJgcGdg0AYZy8AOAFcCGpZWWVPyAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_title_over.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQI12NgYGBYDAAAqACkxaGYIAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/fancy_title_right.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA8AAAAgCAQAAABnJeoiAAABwUlEQVQoz31TSyiEURg9ZsZjjLyHEsZjgSTKqzwyVp4LFnYUGQsrsVJIKcUGO8tZKStRCmUzC00syWKIaYop8siokUeuc80/+mf+f9xvec733XvOPR8QDxOMMCCOpXPSkQoLkpBAmkFDeTt72fZOL5chDcmkGKMoQjkPG8jhHDMvUxOafA7/3usXCQH3fg8yOSOC4JHV6rt6lzPcDmTxJSqCJ1SWi/UnSTgaQ7ZCUMOy5u+F+HyZa+QVZuqIi4Lh2QkIcbePfOpIDPVHwLarj28hpu1UYQn1eyJri/1HS7CxP0EHdviF8B2iDFY6adDAVV46cINq5HG8UQNnXArxEUQDCumhKRbcjBJ+lkl3+LMfrShFBs3Re9q5OyYshW06YwyvuJa2dI3HeJo09eQYvbrCZvklwWDLFNo1tiRerDzKUCw40Y/6KFPDcXCdYAh2lCNX+ZIm37B/NyD7Tm/HnBhFJ2pQ8Peh4SgenGGGYDfqUMxAheNw+eTyrroq1zCJQXSglnqt6jAtsmsCI+hDG+UUEUz5zbsSxSEMUKedQ8sZIplTFQi00KFq6ixkgNI0a0DrbXQoW1kizZ79v4L/L/APa0QSyMrM1Z0AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/jquery.easing-1.3.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IEVhc2luZyB2MS4zIC0gaHR0cDovL2dzZ2QuY28udWsvc2FuZGJveC9qcXVlcnkvZWFzaW5nLwogKgogKiBVc2VzIHRoZSBidWlsdCBpbiBlYXNpbmcgY2FwYWJpbGl0aWVzIGFkZGVkIEluIGpRdWVyeSAxLjEKICogdG8gb2ZmZXIgbXVsdGlwbGUgZWFzaW5nIG9wdGlvbnMKICoKICogVEVSTVMgT0YgVVNFIC0galF1ZXJ5IEVhc2luZwogKiAKICogT3BlbiBzb3VyY2UgdW5kZXIgdGhlIEJTRCBMaWNlbnNlLiAKICogCiAqIENvcHlyaWdodCDCqSAyMDA4IEdlb3JnZSBNY0dpbmxleSBTbWl0aAogKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKiAKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgCiAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKICogCiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIAogKiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IAogKiBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyAKICogcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogKiAKICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgYXV0aG9yIG5vciB0aGUgbmFtZXMgb2YgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2UgCiAqIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAqIAogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWSAKICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCiAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQogKiAgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAogKiAgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFCiAqICBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgCiAqIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCiAqICBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCAKICogT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICoKKi8KCi8vIHQ6IGN1cnJlbnQgdGltZSwgYjogYmVnSW5uSW5nIHZhbHVlLCBjOiBjaGFuZ2UgSW4gdmFsdWUsIGQ6IGR1cmF0aW9uCmV2YWwoZnVuY3Rpb24ocCxhLGMsayxlLHIpe2U9ZnVuY3Rpb24oYyl7cmV0dXJuKGM8YT8nJzplKHBhcnNlSW50KGMvYSkpKSsoKGM9YyVhKT4zNT9TdHJpbmcuZnJvbUNoYXJDb2RlKGMrMjkpOmMudG9TdHJpbmcoMzYpKX07aWYoIScnLnJlcGxhY2UoL14vLFN0cmluZykpe3doaWxlKGMtLSlyW2UoYyldPWtbY118fGUoYyk7az1bZnVuY3Rpb24oZSl7cmV0dXJuIHJbZV19XTtlPWZ1bmN0aW9uKCl7cmV0dXJuJ1xcdysnfTtjPTF9O3doaWxlKGMtLSlpZihrW2NdKXA9cC5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcYicrZShjKSsnXFxiJywnZycpLGtbY10pO3JldHVybiBwfSgnaC5pW1wnMWFcJ109aC5pW1wnelwnXTtoLk8oaC5pLHt5OlwnRFwnLHo6OSh4LHQsYixjLGQpezYgaC5pW2guaS55XSh4LHQsYixjLGQpfSwxNzo5KHgsdCxiLGMsZCl7NiBjKih0Lz1kKSp0K2J9LEQ6OSh4LHQsYixjLGQpezYtYyoodC89ZCkqKHQtMikrYn0sMTM6OSh4LHQsYixjLGQpe2UoKHQvPWQvMik8MSk2IGMvMip0KnQrYjs2LWMvMiooKC0tdCkqKHQtMiktMSkrYn0sWDo5KHgsdCxiLGMsZCl7NiBjKih0Lz1kKSp0KnQrYn0sVTo5KHgsdCxiLGMsZCl7NiBjKigodD10L2QtMSkqdCp0KzEpK2J9LFI6OSh4LHQsYixjLGQpe2UoKHQvPWQvMik8MSk2IGMvMip0KnQqdCtiOzYgYy8yKigodC09MikqdCp0KzIpK2J9LE46OSh4LHQsYixjLGQpezYgYyoodC89ZCkqdCp0KnQrYn0sTTo5KHgsdCxiLGMsZCl7Ni1jKigodD10L2QtMSkqdCp0KnQtMSkrYn0sTDo5KHgsdCxiLGMsZCl7ZSgodC89ZC8yKTwxKTYgYy8yKnQqdCp0KnQrYjs2LWMvMiooKHQtPTIpKnQqdCp0LTIpK2J9LEs6OSh4LHQsYixjLGQpezYgYyoodC89ZCkqdCp0KnQqdCtifSxKOjkoeCx0LGIsYyxkKXs2IGMqKCh0PXQvZC0xKSp0KnQqdCp0KzEpK2J9LEk6OSh4LHQsYixjLGQpe2UoKHQvPWQvMik8MSk2IGMvMip0KnQqdCp0KnQrYjs2IGMvMiooKHQtPTIpKnQqdCp0KnQrMikrYn0sRzo5KHgsdCxiLGMsZCl7Ni1jKjguQyh0L2QqKDguZy8yKSkrYytifSwxNTo5KHgsdCxiLGMsZCl7NiBjKjgubih0L2QqKDguZy8yKSkrYn0sMTI6OSh4LHQsYixjLGQpezYtYy8yKig4LkMoOC5nKnQvZCktMSkrYn0sWjo5KHgsdCxiLGMsZCl7Nih0PT0wKT9iOmMqOC5qKDIsMTAqKHQvZC0xKSkrYn0sWTo5KHgsdCxiLGMsZCl7Nih0PT1kKT9iK2M6YyooLTguaigyLC0xMCp0L2QpKzEpK2J9LFc6OSh4LHQsYixjLGQpe2UodD09MCk2IGI7ZSh0PT1kKTYgYitjO2UoKHQvPWQvMik8MSk2IGMvMio4LmooMiwxMCoodC0xKSkrYjs2IGMvMiooLTguaigyLC0xMCotLXQpKzIpK2J9LFY6OSh4LHQsYixjLGQpezYtYyooOC5vKDEtKHQvPWQpKnQpLTEpK2J9LFM6OSh4LHQsYixjLGQpezYgYyo4Lm8oMS0odD10L2QtMSkqdCkrYn0sUTo5KHgsdCxiLGMsZCl7ZSgodC89ZC8yKTwxKTYtYy8yKig4Lm8oMS10KnQpLTEpK2I7NiBjLzIqKDgubygxLSh0LT0yKSp0KSsxKStifSxQOjkoeCx0LGIsYyxkKXtmIHM9MS5sO2YgcD0wO2YgYT1jO2UodD09MCk2IGI7ZSgodC89ZCk9PTEpNiBiK2M7ZSghcClwPWQqLjM7ZShhPDgudyhjKSl7YT1jO2Ygcz1wLzR9bSBmIHM9cC8oMio4LmcpKjgucihjL2EpOzYtKGEqOC5qKDIsMTAqKHQtPTEpKSo4Lm4oKHQqZC1zKSooMio4LmcpL3ApKStifSxIOjkoeCx0LGIsYyxkKXtmIHM9MS5sO2YgcD0wO2YgYT1jO2UodD09MCk2IGI7ZSgodC89ZCk9PTEpNiBiK2M7ZSghcClwPWQqLjM7ZShhPDgudyhjKSl7YT1jO2Ygcz1wLzR9bSBmIHM9cC8oMio4LmcpKjgucihjL2EpOzYgYSo4LmooMiwtMTAqdCkqOC5uKCh0KmQtcykqKDIqOC5nKS9wKStjK2J9LFQ6OSh4LHQsYixjLGQpe2Ygcz0xLmw7ZiBwPTA7ZiBhPWM7ZSh0PT0wKTYgYjtlKCh0Lz1kLzIpPT0yKTYgYitjO2UoIXApcD1kKiguMyoxLjUpO2UoYTw4LncoYykpe2E9YztmIHM9cC80fW0gZiBzPXAvKDIqOC5nKSo4LnIoYy9hKTtlKHQ8MSk2LS41KihhKjguaigyLDEwKih0LT0xKSkqOC5uKCh0KmQtcykqKDIqOC5nKS9wKSkrYjs2IGEqOC5qKDIsLTEwKih0LT0xKSkqOC5uKCh0KmQtcykqKDIqOC5nKS9wKSouNStjK2J9LEY6OSh4LHQsYixjLGQscyl7ZShzPT11KXM9MS5sOzYgYyoodC89ZCkqdCooKHMrMSkqdC1zKStifSxFOjkoeCx0LGIsYyxkLHMpe2Uocz09dSlzPTEubDs2IGMqKCh0PXQvZC0xKSp0KigocysxKSp0K3MpKzEpK2J9LDE2OjkoeCx0LGIsYyxkLHMpe2Uocz09dSlzPTEubDtlKCh0Lz1kLzIpPDEpNiBjLzIqKHQqdCooKChzKj0oMS5CKSkrMSkqdC1zKSkrYjs2IGMvMiooKHQtPTIpKnQqKCgocyo9KDEuQikpKzEpKnQrcykrMikrYn0sQTo5KHgsdCxiLGMsZCl7NiBjLWguaS52KHgsZC10LDAsYyxkKStifSx2OjkoeCx0LGIsYyxkKXtlKCh0Lz1kKTwoMS8yLmspKXs2IGMqKDcucSp0KnQpK2J9bSBlKHQ8KDIvMi5rKSl7NiBjKig3LnEqKHQtPSgxLjUvMi5rKSkqdCsuaykrYn1tIGUodDwoMi41LzIuaykpezYgYyooNy5xKih0LT0oMi4xNC8yLmspKSp0Ky4xMSkrYn1tezYgYyooNy5xKih0LT0oMi4xOC8yLmspKSp0Ky4xOSkrYn19LDFiOjkoeCx0LGIsYyxkKXtlKHQ8ZC8yKTYgaC5pLkEoeCx0KjIsMCxjLGQpKi41K2I7NiBoLmkudih4LHQqMi1kLDAsYyxkKSouNStjKi41K2J9fSk7Jyw2Miw3NCwnfHx8fHx8cmV0dXJufHxNYXRofGZ1bmN0aW9ufHx8fHxpZnx2YXJ8UEl8alF1ZXJ5fGVhc2luZ3xwb3d8NzV8NzAxNTh8ZWxzZXxzaW58c3FydHx8NTYyNXxhc2lufHx8dW5kZWZpbmVkfGVhc2VPdXRCb3VuY2V8YWJzfHxkZWZ8c3dpbmd8ZWFzZUluQm91bmNlfDUyNXxjb3N8ZWFzZU91dFF1YWR8ZWFzZU91dEJhY2t8ZWFzZUluQmFja3xlYXNlSW5TaW5lfGVhc2VPdXRFbGFzdGljfGVhc2VJbk91dFF1aW50fGVhc2VPdXRRdWludHxlYXNlSW5RdWludHxlYXNlSW5PdXRRdWFydHxlYXNlT3V0UXVhcnR8ZWFzZUluUXVhcnR8ZXh0ZW5kfGVhc2VJbkVsYXN0aWN8ZWFzZUluT3V0Q2lyY3xlYXNlSW5PdXRDdWJpY3xlYXNlT3V0Q2lyY3xlYXNlSW5PdXRFbGFzdGljfGVhc2VPdXRDdWJpY3xlYXNlSW5DaXJjfGVhc2VJbk91dEV4cG98ZWFzZUluQ3ViaWN8ZWFzZU91dEV4cG98ZWFzZUluRXhwb3x8OTM3NXxlYXNlSW5PdXRTaW5lfGVhc2VJbk91dFF1YWR8MjV8ZWFzZU91dFNpbmV8ZWFzZUluT3V0QmFja3xlYXNlSW5RdWFkfDYyNXw5ODQzNzV8anN3aW5nfGVhc2VJbk91dEJvdW5jZScuc3BsaXQoJ3wnKSwwLHt9KSkKCi8qCiAqCiAqIFRFUk1TIE9GIFVTRSAtIEVBU0lORyBFUVVBVElPTlMKICogCiAqIE9wZW4gc291cmNlIHVuZGVyIHRoZSBCU0QgTGljZW5zZS4gCiAqIAogKiBDb3B5cmlnaHQgwqkgMjAwMSBSb2JlcnQgUGVubmVyCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqIAogKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCAKICogYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgogKiAKICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgCiAqIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3QgCiAqIG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIAogKiBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAqIAogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBhdXRob3Igbm9yIHRoZSBuYW1lcyBvZiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSAKICogb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICogCiAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIAogKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKICogTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCiAqICBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCiAqICBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUKICogIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCAKICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKICogIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIAogKiBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogKgogKi8K]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/jquery.fancybox-1.3.1.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIEZhbmN5Qm94IC0galF1ZXJ5IFBsdWdpbg0KICogU2ltcGxlIGFuZCBmYW5jeSBsaWdodGJveCBhbHRlcm5hdGl2ZQ0KICoNCiAqIEV4YW1wbGVzIGFuZCBkb2N1bWVudGF0aW9uIGF0OiBodHRwOi8vZmFuY3lib3gubmV0DQogKiANCiAqIENvcHlyaWdodCAoYykgMjAwOCAtIDIwMTAgSmFuaXMgU2thcm5lbGlzDQogKg0KICogVmVyc2lvbjogMS4zLjEgKDA1LzAzLzIwMTApDQogKiBSZXF1aXJlczogalF1ZXJ5IHYxLjMrDQogKg0KICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXM6DQogKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwDQogKiAgIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbA0KICovDQoNCiNmYW5jeWJveC1sb2FkaW5nIHsNCglwb3NpdGlvbjogZml4ZWQ7DQoJdG9wOiA1MCU7DQoJbGVmdDogNTAlOw0KCWhlaWdodDogNDBweDsNCgl3aWR0aDogNDBweDsNCgltYXJnaW4tdG9wOiAtMjBweDsNCgltYXJnaW4tbGVmdDogLTIwcHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCW92ZXJmbG93OiBoaWRkZW47DQoJei1pbmRleDogMTEwNDsNCglkaXNwbGF5OiBub25lOw0KfQ0KDQoqIGh0bWwgI2ZhbmN5Ym94LWxvYWRpbmcgewkvKiBJRTYgKi8NCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJbWFyZ2luLXRvcDogMDsNCn0NCg0KI2ZhbmN5Ym94LWxvYWRpbmcgZGl2IHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJd2lkdGg6IDQwcHg7DQoJaGVpZ2h0OiA0ODBweDsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ZhbmN5Ym94LnBuZycpOw0KfQ0KDQojZmFuY3lib3gtb3ZlcmxheSB7DQoJcG9zaXRpb246IGZpeGVkOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCWJvdHRvbTogMDsNCglyaWdodDogMDsNCgliYWNrZ3JvdW5kOiAjMDAwOw0KCXotaW5kZXg6IDExMDA7DQoJZGlzcGxheTogbm9uZTsNCn0NCg0KKiBodG1sICNmYW5jeWJveC1vdmVybGF5IHsJLyogSUU2ICovDQoJcG9zaXRpb246IGFic29sdXRlOw0KCXdpZHRoOiAxMDAlOw0KfQ0KDQojZmFuY3lib3gtdG1wIHsNCglwYWRkaW5nOiAwOw0KCW1hcmdpbjogMDsNCglib3JkZXI6IDA7DQoJb3ZlcmZsb3c6IGF1dG87DQoJZGlzcGxheTogbm9uZTsNCn0NCg0KI2ZhbmN5Ym94LXdyYXAgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCgltYXJnaW46IDA7DQoJcGFkZGluZzogMjBweDsNCgl6LWluZGV4OiAxMTAxOw0KCWRpc3BsYXk6IG5vbmU7DQp9DQoNCiNmYW5jeWJveC1vdXRlciB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXdpZHRoOiAxMDAlOw0KCWhlaWdodDogMTAwJTsNCgliYWNrZ3JvdW5kOiAjRkZGOw0KfQ0KDQojZmFuY3lib3gtaW5uZXIgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCgl3aWR0aDogMXB4Ow0KCWhlaWdodDogMXB4Ow0KCXBhZGRpbmc6IDA7DQoJbWFyZ2luOiAwOw0KCW91dGxpbmU6IG5vbmU7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KI2ZhbmN5Ym94LWhpZGUtc2VsLWZyYW1lIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJd2lkdGg6IDEwMCU7DQoJaGVpZ2h0OiAxMDAlOw0KCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50Ow0KfQ0KDQojZmFuY3lib3gtY2xvc2Ugew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IC0xNXB4Ow0KCXJpZ2h0OiAtMTVweDsNCgl3aWR0aDogMzBweDsNCgloZWlnaHQ6IDMwcHg7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC5wbmcnKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAwcHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXotaW5kZXg6IDExMDM7DQoJZGlzcGxheTogbm9uZTsNCn0NCg0KI2ZhbmN5Ym94X2Vycm9yIHsNCgljb2xvcjogIzQ0NDsNCglmb250OiBub3JtYWwgMTJweC8yMHB4IEFyaWFsOw0KCXBhZGRpbmc6IDdweDsNCgltYXJnaW46IDA7DQp9DQoNCiNmYW5jeWJveC1jb250ZW50IHsNCgloZWlnaHQ6IGF1dG87DQoJd2lkdGg6IGF1dG87DQoJcGFkZGluZzogMDsNCgltYXJnaW46IDA7DQp9DQoNCiNmYW5jeWJveC1pbWcgew0KCXdpZHRoOiAxMDAlOw0KCWhlaWdodDogMTAwJTsNCglwYWRkaW5nOiAwOw0KCW1hcmdpbjogMDsNCglib3JkZXI6IG5vbmU7DQoJb3V0bGluZTogbm9uZTsNCglsaW5lLWhlaWdodDogMDsNCgl2ZXJ0aWNhbC1hbGlnbjogdG9wOw0KCS1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7DQp9DQoNCiNmYW5jeWJveC1mcmFtZSB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXdpZHRoOiAxMDAlOw0KCWhlaWdodDogMTAwJTsNCglib3JkZXI6IG5vbmU7DQoJZGlzcGxheTogYmxvY2s7DQp9DQoNCiNmYW5jeWJveC10aXRsZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWJvdHRvbTogMDsNCglsZWZ0OiAwOw0KCWZvbnQtZmFtaWx5OiBBcmlhbDsNCglmb250LXNpemU6IDEycHg7DQoJei1pbmRleDogMTEwMjsNCn0NCg0KLmZhbmN5Ym94LXRpdGxlLWluc2lkZSB7DQoJcGFkZGluZzogMTBweCAwOw0KCXRleHQtYWxpZ246IGNlbnRlcjsNCgljb2xvcjogIzMzMzsNCn0NCg0KLmZhbmN5Ym94LXRpdGxlLW91dHNpZGUgew0KCXBhZGRpbmctdG9wOiA1cHg7DQoJY29sb3I6ICNGRkY7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCWZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KDQouZmFuY3lib3gtdGl0bGUtb3ZlciB7DQoJY29sb3I6ICNGRkY7DQoJdGV4dC1hbGlnbjogbGVmdDsNCn0NCg0KI2ZhbmN5Ym94LXRpdGxlLW92ZXIgew0KCXBhZGRpbmc6IDEwcHg7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeV90aXRsZV9vdmVyLnBuZycpOw0KCWRpc3BsYXk6IGJsb2NrOw0KfQ0KDQojZmFuY3lib3gtdGl0bGUtd3JhcCB7DQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KfQ0KDQojZmFuY3lib3gtdGl0bGUtd3JhcCBzcGFuIHsNCgloZWlnaHQ6IDMycHg7DQoJZmxvYXQ6IGxlZnQ7DQp9DQoNCiNmYW5jeWJveC10aXRsZS1sZWZ0IHsNCglwYWRkaW5nLWxlZnQ6IDE1cHg7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC5wbmcnKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtOTBweDsNCgliYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KfQ0KDQojZmFuY3lib3gtdGl0bGUtbWFpbiB7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJbGluZS1oZWlnaHQ6IDI5cHg7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC14LnBuZycpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNDBweDsNCgljb2xvcjogI0ZGRjsNCn0NCg0KI2ZhbmN5Ym94LXRpdGxlLXJpZ2h0IHsNCglwYWRkaW5nLWxlZnQ6IDE1cHg7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC5wbmcnKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTVweCAtOTBweDsNCgliYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KfQ0KDQojZmFuY3lib3gtbGVmdCwgI2ZhbmN5Ym94LXJpZ2h0IHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJYm90dG9tOiAwcHg7DQoJaGVpZ2h0OiAxMDAlOw0KCXdpZHRoOiAzNSU7DQoJY3Vyc29yOiBwb2ludGVyOw0KCW91dGxpbmU6IG5vbmU7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdibGFuay5naWYnKTsNCgl6LWluZGV4OiAxMTAyOw0KCWRpc3BsYXk6IG5vbmU7DQp9DQoNCiNmYW5jeWJveC1sZWZ0IHsNCglsZWZ0OiAwcHg7DQp9DQoNCiNmYW5jeWJveC1yaWdodCB7DQoJcmlnaHQ6IDBweDsNCn0NCg0KI2ZhbmN5Ym94LWxlZnQtaWNvLCAjZmFuY3lib3gtcmlnaHQtaWNvIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiA1MCU7DQoJbGVmdDogLTk5OTlweDsNCgl3aWR0aDogMzBweDsNCgloZWlnaHQ6IDMwcHg7DQoJbWFyZ2luLXRvcDogLTE1cHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXotaW5kZXg6IDExMDI7DQoJZGlzcGxheTogYmxvY2s7DQp9DQoNCiNmYW5jeWJveC1sZWZ0LWljbyB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC5wbmcnKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMzBweDsNCn0NCg0KI2ZhbmN5Ym94LXJpZ2h0LWljbyB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC5wbmcnKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtNjBweDsNCn0NCg0KI2ZhbmN5Ym94LWxlZnQ6aG92ZXIsICNmYW5jeWJveC1yaWdodDpob3ZlciB7DQoJdmlzaWJpbGl0eTogdmlzaWJsZTsgICAgLyogSUU2ICovDQp9DQoNCiNmYW5jeWJveC1sZWZ0OmhvdmVyIHNwYW4gew0KCWxlZnQ6IDIwcHg7DQp9DQoNCiNmYW5jeWJveC1yaWdodDpob3ZlciBzcGFuIHsNCglsZWZ0OiBhdXRvOw0KCXJpZ2h0OiAyMHB4Ow0KfQ0KDQouZmFuY3ktYmcgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglwYWRkaW5nOiAwOw0KCW1hcmdpbjogMDsNCglib3JkZXI6IDA7DQoJd2lkdGg6IDIwcHg7DQoJaGVpZ2h0OiAyMHB4Ow0KCXotaW5kZXg6IDEwMDE7DQp9DQoNCiNmYW5jeS1iZy1uIHsNCgl0b3A6IC0yMHB4Ow0KCWxlZnQ6IDA7DQoJd2lkdGg6IDEwMCU7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC14LnBuZycpOw0KfQ0KDQojZmFuY3ktYmctbmUgew0KCXRvcDogLTIwcHg7DQoJcmlnaHQ6IC0yMHB4Ow0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgnZmFuY3lib3gucG5nJyk7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTE2MnB4Ow0KfQ0KDQojZmFuY3ktYmctZSB7DQoJdG9wOiAwOw0KCXJpZ2h0OiAtMjBweDsNCgloZWlnaHQ6IDEwMCU7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC15LnBuZycpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IDBweDsNCn0NCg0KI2ZhbmN5LWJnLXNlIHsNCglib3R0b206IC0yMHB4Ow0KCXJpZ2h0OiAtMjBweDsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ZhbmN5Ym94LnBuZycpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xODJweDsgDQp9DQoNCiNmYW5jeS1iZy1zIHsNCglib3R0b206IC0yMHB4Ow0KCWxlZnQ6IDA7DQoJd2lkdGg6IDEwMCU7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCdmYW5jeWJveC14LnBuZycpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjBweDsNCn0NCg0KI2ZhbmN5LWJnLXN3IHsNCglib3R0b206IC0yMHB4Ow0KCWxlZnQ6IC0yMHB4Ow0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgnZmFuY3lib3gucG5nJyk7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTE0MnB4Ow0KfQ0KDQojZmFuY3ktYmctdyB7DQoJdG9wOiAwOw0KCWxlZnQ6IC0yMHB4Ow0KCWhlaWdodDogMTAwJTsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ZhbmN5Ym94LXkucG5nJyk7DQp9DQoNCiNmYW5jeS1iZy1udyB7DQoJdG9wOiAtMjBweDsNCglsZWZ0OiAtMjBweDsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ZhbmN5Ym94LnBuZycpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMjJweDsNCn0NCg0KLyogSUUgKi8NCg0KI2ZhbmN5Ym94LWxvYWRpbmcuZmFuY3lib3gtaWUgZGl2CXsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPSdmYW5jeV9sb2FkaW5nLnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KLmZhbmN5Ym94LWllICNmYW5jeWJveC1jbG9zZQkJeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5X2Nsb3NlLnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KDQouZmFuY3lib3gtaWUgI2ZhbmN5Ym94LXRpdGxlLW92ZXIJeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5X3RpdGxlX292ZXIucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB6b29tOiAxOyB9DQouZmFuY3lib3gtaWUgI2ZhbmN5Ym94LXRpdGxlLWxlZnQJeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5X3RpdGxlX2xlZnQucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQouZmFuY3lib3gtaWUgI2ZhbmN5Ym94LXRpdGxlLW1haW4JeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5X3RpdGxlX21haW4ucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQouZmFuY3lib3gtaWUgI2ZhbmN5Ym94LXRpdGxlLXJpZ2h0CXsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPSdmYW5jeV90aXRsZV9yaWdodC5wbmcnLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7IH0NCg0KLmZhbmN5Ym94LWllICNmYW5jeWJveC1sZWZ0LWljbwkJeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5X25hdl9sZWZ0LnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KLmZhbmN5Ym94LWllICNmYW5jeWJveC1yaWdodC1pY28JeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5X25hdl9yaWdodC5wbmcnLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7IH0NCg0KLmZhbmN5Ym94LWllIC5mYW5jeS1iZyB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH0NCg0KLmZhbmN5Ym94LWllICNmYW5jeS1iZy1uCXsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5X3NoYWRvd19uLnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KLmZhbmN5Ym94LWllICNmYW5jeS1iZy1uZQl7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPSdmYW5jeV9zaGFkb3dfbmUucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQouZmFuY3lib3gtaWUgI2ZhbmN5LWJnLWUJeyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nZmFuY3lfc2hhZG93X2UucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQouZmFuY3lib3gtaWUgI2ZhbmN5LWJnLXNlCXsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5X3NoYWRvd19zZS5wbmcnLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7IH0NCi5mYW5jeWJveC1pZSAjZmFuY3ktYmctcwl7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPSdmYW5jeV9zaGFkb3dfcy5wbmcnLCBzaXppbmdNZXRob2Q9J3NjYWxlJyk7IH0NCi5mYW5jeWJveC1pZSAjZmFuY3ktYmctc3cJeyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nZmFuY3lfc2hhZG93X3N3LnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KLmZhbmN5Ym94LWllICNmYW5jeS1iZy13CXsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9J2ZhbmN5X3NoYWRvd193LnBuZycsIHNpemluZ01ldGhvZD0nc2NhbGUnKTsgfQ0KLmZhbmN5Ym94LWllICNmYW5jeS1iZy1udwl7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPSdmYW5jeV9zaGFkb3dfbncucG5nJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpOyB9DQo=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/jquery.fancybox-1.3.1.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIEZhbmN5Qm94IC0galF1ZXJ5IFBsdWdpbg0KICogU2ltcGxlIGFuZCBmYW5jeSBsaWdodGJveCBhbHRlcm5hdGl2ZQ0KICoNCiAqIEV4YW1wbGVzIGFuZCBkb2N1bWVudGF0aW9uIGF0OiBodHRwOi8vZmFuY3lib3gubmV0DQogKiANCiAqIENvcHlyaWdodCAoYykgMjAwOCAtIDIwMTAgSmFuaXMgU2thcm5lbGlzDQogKg0KICogVmVyc2lvbjogMS4zLjEgKDA1LzAzLzIwMTApDQogKiBSZXF1aXJlczogalF1ZXJ5IHYxLjMrDQogKg0KICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXM6DQogKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwDQogKiAgIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbA0KICovDQoNCihmdW5jdGlvbigkKSB7DQoNCgl2YXIgdG1wLCBsb2FkaW5nLCBvdmVybGF5LCB3cmFwLCBvdXRlciwgaW5uZXIsIGNsb3NlLCBuYXZfbGVmdCwgbmF2X3JpZ2h0LA0KDQoJCXNlbGVjdGVkSW5kZXggPSAwLCBzZWxlY3RlZE9wdHMgPSB7fSwgc2VsZWN0ZWRBcnJheSA9IFtdLCBjdXJyZW50SW5kZXggPSAwLCBjdXJyZW50T3B0cyA9IHt9LCBjdXJyZW50QXJyYXkgPSBbXSwNCg0KCQlhamF4TG9hZGVyID0gbnVsbCwgaW1nUHJlbG9hZGVyID0gbmV3IEltYWdlKCksIGltZ1JlZ0V4cCA9IC9cLihqcGd8Z2lmfHBuZ3xibXB8anBlZykoLiopPyQvaSwgc3dmUmVnRXhwID0gL1teXC5dXC4oc3dmKVxzKiQvaSwNCg0KCQlsb2FkaW5nVGltZXIsIGxvYWRpbmdGcmFtZSA9IDEsDQoNCgkJc3RhcnRfcG9zLCBmaW5hbF9wb3MsIGJ1c3kgPSBmYWxzZSwgc2hhZG93ID0gMjAsIGZ4ID0gJC5leHRlbmQoJCgnPGRpdi8+JylbMF0sIHsgcHJvcDogMCB9KSwgdGl0bGVoID0gMCwgDQoNCgkJaXNJRTYgPSAhJC5zdXBwb3J0Lm9wYWNpdHkgJiYgIXdpbmRvdy5YTUxIdHRwUmVxdWVzdCwNCg0KCQkvKg0KCQkgKiBQcml2YXRlIG1ldGhvZHMgDQoJCSAqLw0KDQoJCWZhbmN5Ym94X2Fib3J0ID0gZnVuY3Rpb24oKSB7DQoJCQlsb2FkaW5nLmhpZGUoKTsNCg0KCQkJaW1nUHJlbG9hZGVyLm9uZXJyb3IgPSBpbWdQcmVsb2FkZXIub25sb2FkID0gbnVsbDsNCg0KCQkJaWYgKGFqYXhMb2FkZXIpIHsNCgkJCQlhamF4TG9hZGVyLmFib3J0KCk7DQoJCQl9DQoNCgkJCXRtcC5lbXB0eSgpOw0KCQl9LA0KDQoJCWZhbmN5Ym94X2Vycm9yID0gZnVuY3Rpb24oKSB7DQoJCQkkLmZhbmN5Ym94KCc8cCBpZD0iZmFuY3lib3hfZXJyb3IiPlRoZSByZXF1ZXN0ZWQgY29udGVudCBjYW5ub3QgYmUgbG9hZGVkLjxiciAvPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuPC9wPicsIHsNCgkJCQknc2Nyb2xsaW5nJwkJOiAnbm8nLA0KCQkJCSdwYWRkaW5nJwkJOiAyMCwNCgkJCQkndHJhbnNpdGlvbkluJwk6ICdub25lJywNCgkJCQkndHJhbnNpdGlvbk91dCcJOiAnbm9uZScNCgkJCX0pOw0KCQl9LA0KDQoJCWZhbmN5Ym94X2dldF92aWV3cG9ydCA9IGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuIFsgJCh3aW5kb3cpLndpZHRoKCksICQod2luZG93KS5oZWlnaHQoKSwgJChkb2N1bWVudCkuc2Nyb2xsTGVmdCgpLCAkKGRvY3VtZW50KS5zY3JvbGxUb3AoKSBdOw0KCQl9LA0KDQoJCWZhbmN5Ym94X2dldF96b29tX3RvID0gZnVuY3Rpb24gKCkgew0KCQkJdmFyIHZpZXcJPSBmYW5jeWJveF9nZXRfdmlld3BvcnQoKSwNCgkJCQl0bwkJPSB7fSwNCg0KCQkJCW1hcmdpbiA9IGN1cnJlbnRPcHRzLm1hcmdpbiwNCgkJCQlyZXNpemUgPSBjdXJyZW50T3B0cy5hdXRvU2NhbGUsDQoNCgkJCQlob3Jpem9udGFsX3NwYWNlCT0gKHNoYWRvdyArIG1hcmdpbikgKiAyLA0KCQkJCXZlcnRpY2FsX3NwYWNlCQk9IChzaGFkb3cgKyBtYXJnaW4pICogMiwNCgkJCQlkb3VibGVfcGFkZGluZwkJPSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpLA0KCQkJCQ0KCQkJCXJhdGlvOw0KDQoJCQlpZiAoY3VycmVudE9wdHMud2lkdGgudG9TdHJpbmcoKS5pbmRleE9mKCclJykgPiAtMSkgew0KCQkJCXRvLndpZHRoID0gKCh2aWV3WzBdICogcGFyc2VGbG9hdChjdXJyZW50T3B0cy53aWR0aCkpIC8gMTAwKSAtIChzaGFkb3cgKiAyKSA7DQoJCQkJcmVzaXplID0gZmFsc2U7DQoNCgkJCX0gZWxzZSB7DQoJCQkJdG8ud2lkdGggPSBjdXJyZW50T3B0cy53aWR0aCArIGRvdWJsZV9wYWRkaW5nOw0KCQkJfQ0KDQoJCQlpZiAoY3VycmVudE9wdHMuaGVpZ2h0LnRvU3RyaW5nKCkuaW5kZXhPZignJScpID4gLTEpIHsNCgkJCQl0by5oZWlnaHQgPSAoKHZpZXdbMV0gKiBwYXJzZUZsb2F0KGN1cnJlbnRPcHRzLmhlaWdodCkpIC8gMTAwKSAtIChzaGFkb3cgKiAyKTsNCgkJCQlyZXNpemUgPSBmYWxzZTsNCg0KCQkJfSBlbHNlIHsNCgkJCQl0by5oZWlnaHQgPSBjdXJyZW50T3B0cy5oZWlnaHQgKyBkb3VibGVfcGFkZGluZzsNCgkJCX0NCg0KCQkJaWYgKHJlc2l6ZSAmJiAodG8ud2lkdGggPiAodmlld1swXSAtIGhvcml6b250YWxfc3BhY2UpIHx8IHRvLmhlaWdodCA+ICh2aWV3WzFdIC0gdmVydGljYWxfc3BhY2UpKSkgew0KCQkJCWlmIChzZWxlY3RlZE9wdHMudHlwZSA9PSAnaW1hZ2UnIHx8IHNlbGVjdGVkT3B0cy50eXBlID09ICdzd2YnKSB7DQoJCQkJCWhvcml6b250YWxfc3BhY2UJKz0gZG91YmxlX3BhZGRpbmc7DQoJCQkJCXZlcnRpY2FsX3NwYWNlCQkrPSBkb3VibGVfcGFkZGluZzsNCg0KCQkJCQlyYXRpbyA9IE1hdGgubWluKE1hdGgubWluKCB2aWV3WzBdIC0gaG9yaXpvbnRhbF9zcGFjZSwgY3VycmVudE9wdHMud2lkdGgpIC8gY3VycmVudE9wdHMud2lkdGgsIE1hdGgubWluKCB2aWV3WzFdIC0gdmVydGljYWxfc3BhY2UsIGN1cnJlbnRPcHRzLmhlaWdodCkgLyBjdXJyZW50T3B0cy5oZWlnaHQpOw0KDQoJCQkJCXRvLndpZHRoCT0gTWF0aC5yb3VuZChyYXRpbyAqICh0by53aWR0aAktIGRvdWJsZV9wYWRkaW5nKSkgKyBkb3VibGVfcGFkZGluZzsNCgkJCQkJdG8uaGVpZ2h0CT0gTWF0aC5yb3VuZChyYXRpbyAqICh0by5oZWlnaHQJLSBkb3VibGVfcGFkZGluZykpICsgZG91YmxlX3BhZGRpbmc7DQoNCgkJCQl9IGVsc2Ugew0KCQkJCQl0by53aWR0aAk9IE1hdGgubWluKHRvLndpZHRoLAkodmlld1swXSAtIGhvcml6b250YWxfc3BhY2UpKTsNCgkJCQkJdG8uaGVpZ2h0CT0gTWF0aC5taW4odG8uaGVpZ2h0LAkodmlld1sxXSAtIHZlcnRpY2FsX3NwYWNlKSk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQl0by50b3AJPSB2aWV3WzNdICsgKCh2aWV3WzFdIC0gKHRvLmhlaWdodAkrIChzaGFkb3cgKiAyICkpKSAqIDAuNSk7DQoJCQl0by5sZWZ0CT0gdmlld1syXSArICgodmlld1swXSAtICh0by53aWR0aAkrIChzaGFkb3cgKiAyICkpKSAqIDAuNSk7DQoNCgkJCWlmIChjdXJyZW50T3B0cy5hdXRvU2NhbGUgPT09IGZhbHNlKSB7DQoJCQkJdG8udG9wCT0gTWF0aC5tYXgodmlld1szXSArIG1hcmdpbiwgdG8udG9wKTsNCgkJCQl0by5sZWZ0CT0gTWF0aC5tYXgodmlld1syXSArIG1hcmdpbiwgdG8ubGVmdCk7DQoJCQl9DQoNCgkJCXJldHVybiB0bzsNCgkJfSwNCg0KCQlmYW5jeWJveF9mb3JtYXRfdGl0bGUgPSBmdW5jdGlvbih0aXRsZSkgew0KCQkJaWYgKHRpdGxlICYmIHRpdGxlLmxlbmd0aCkgew0KCQkJCXN3aXRjaCAoY3VycmVudE9wdHMudGl0bGVQb3NpdGlvbikgew0KCQkJCQljYXNlICdpbnNpZGUnOg0KCQkJCQkJcmV0dXJuIHRpdGxlOw0KCQkJCQljYXNlICdvdmVyJzoNCgkJCQkJCXJldHVybiAnPHNwYW4gaWQ9ImZhbmN5Ym94LXRpdGxlLW92ZXIiPicgKyB0aXRsZSArICc8L3NwYW4+JzsNCgkJCQkJZGVmYXVsdDoNCgkJCQkJCXJldHVybiAnPHNwYW4gaWQ9ImZhbmN5Ym94LXRpdGxlLXdyYXAiPjxzcGFuIGlkPSJmYW5jeWJveC10aXRsZS1sZWZ0Ij48L3NwYW4+PHNwYW4gaWQ9ImZhbmN5Ym94LXRpdGxlLW1haW4iPicgKyB0aXRsZSArICc8L3NwYW4+PHNwYW4gaWQ9ImZhbmN5Ym94LXRpdGxlLXJpZ2h0Ij48L3NwYW4+PC9zcGFuPic7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0sDQoNCgkJZmFuY3lib3hfcHJvY2Vzc190aXRsZSA9IGZ1bmN0aW9uKCkgew0KCQkJdmFyIHRpdGxlCT0gY3VycmVudE9wdHMudGl0bGUsDQoJCQkJd2lkdGgJPSBmaW5hbF9wb3Mud2lkdGggLSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpLA0KCQkJCXRpdGxlYwk9ICdmYW5jeWJveC10aXRsZS0nICsgY3VycmVudE9wdHMudGl0bGVQb3NpdGlvbjsNCgkJCQkNCgkJCSQoJyNmYW5jeWJveC10aXRsZScpLnJlbW92ZSgpOw0KDQoJCQl0aXRsZWggPSAwOw0KDQoJCQlpZiAoY3VycmVudE9wdHMudGl0bGVTaG93ID09PSBmYWxzZSkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJdGl0bGUgPSAkLmlzRnVuY3Rpb24oY3VycmVudE9wdHMudGl0bGVGb3JtYXQpID8gY3VycmVudE9wdHMudGl0bGVGb3JtYXQodGl0bGUsIGN1cnJlbnRBcnJheSwgY3VycmVudEluZGV4LCBjdXJyZW50T3B0cykgOiBmYW5jeWJveF9mb3JtYXRfdGl0bGUodGl0bGUpOw0KDQoJCQlpZiAoIXRpdGxlIHx8IHRpdGxlID09PSAnJykgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJJCgnPGRpdiBpZD0iZmFuY3lib3gtdGl0bGUiIGNsYXNzPSInICsgdGl0bGVjICsgJyIgLz4nKS5jc3Moew0KCQkJCSd3aWR0aCcJCQk6IHdpZHRoLA0KCQkJCSdwYWRkaW5nTGVmdCcJOiBjdXJyZW50T3B0cy5wYWRkaW5nLA0KCQkJCSdwYWRkaW5nUmlnaHQnCTogY3VycmVudE9wdHMucGFkZGluZw0KCQkJfSkuaHRtbCh0aXRsZSkuYXBwZW5kVG8oJ2JvZHknKTsNCg0KCQkJc3dpdGNoIChjdXJyZW50T3B0cy50aXRsZVBvc2l0aW9uKSB7DQoJCQkJY2FzZSAnaW5zaWRlJzoNCgkJCQkJdGl0bGVoID0gJCgiI2ZhbmN5Ym94LXRpdGxlIikub3V0ZXJIZWlnaHQodHJ1ZSkgLSBjdXJyZW50T3B0cy5wYWRkaW5nOw0KCQkJCQlmaW5hbF9wb3MuaGVpZ2h0ICs9IHRpdGxlaDsNCgkJCQlicmVhazsNCg0KCQkJCWNhc2UgJ292ZXInOg0KCQkJCQkkKCcjZmFuY3lib3gtdGl0bGUnKS5jc3MoJ2JvdHRvbScsIGN1cnJlbnRPcHRzLnBhZGRpbmcpOw0KCQkJCWJyZWFrOw0KDQoJCQkJZGVmYXVsdDoNCgkJCQkJJCgnI2ZhbmN5Ym94LXRpdGxlJykuY3NzKCdib3R0b20nLCAkKCIjZmFuY3lib3gtdGl0bGUiKS5vdXRlckhlaWdodCh0cnVlKSAqIC0xKTsNCgkJCQlicmVhazsNCgkJCX0NCg0KCQkJJCgnI2ZhbmN5Ym94LXRpdGxlJykuYXBwZW5kVG8oIG91dGVyICkuaGlkZSgpOw0KCQl9LA0KDQoJCWZhbmN5Ym94X3NldF9uYXZpZ2F0aW9uID0gZnVuY3Rpb24oKSB7DQoJCQkkKGRvY3VtZW50KS51bmJpbmQoJ2tleWRvd24uZmInKS5iaW5kKCdrZXlkb3duLmZiJywgZnVuY3Rpb24oZSkgew0KCQkJCWlmIChlLmtleUNvZGUgPT0gMjcgJiYgY3VycmVudE9wdHMuZW5hYmxlRXNjYXBlQnV0dG9uKSB7DQoJCQkJCWUucHJldmVudERlZmF1bHQoKTsNCgkJCQkJJC5mYW5jeWJveC5jbG9zZSgpOw0KDQoJCQkJfSBlbHNlIGlmIChlLmtleUNvZGUgPT0gMzcpIHsNCgkJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCQkkLmZhbmN5Ym94LnByZXYoKTsNCg0KCQkJCX0gZWxzZSBpZiAoZS5rZXlDb2RlID09IDM5KSB7DQoJCQkJCWUucHJldmVudERlZmF1bHQoKTsNCgkJCQkJJC5mYW5jeWJveC5uZXh0KCk7DQoJCQkJfQ0KCQkJfSk7DQoNCgkJCWlmICgkLmZuLm1vdXNld2hlZWwpIHsNCgkJCQl3cmFwLnVuYmluZCgnbW91c2V3aGVlbC5mYicpOw0KDQoJCQkJaWYgKGN1cnJlbnRBcnJheS5sZW5ndGggPiAxKSB7DQoJCQkJCXdyYXAuYmluZCgnbW91c2V3aGVlbC5mYicsIGZ1bmN0aW9uKGUsIGRlbHRhKSB7DQoJCQkJCQllLnByZXZlbnREZWZhdWx0KCk7DQoNCgkJCQkJCWlmIChidXN5IHx8IGRlbHRhID09PSAwKSB7DQoJCQkJCQkJcmV0dXJuOw0KCQkJCQkJfQ0KDQoJCQkJCQlpZiAoZGVsdGEgPiAwKSB7DQoJCQkJCQkJJC5mYW5jeWJveC5wcmV2KCk7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCSQuZmFuY3lib3gubmV4dCgpOw0KCQkJCQkJfQ0KCQkJCQl9KTsNCgkJCQl9DQoJCQl9DQoNCgkJCWlmICghY3VycmVudE9wdHMuc2hvd05hdkFycm93cykgeyByZXR1cm47IH0NCg0KCQkJaWYgKChjdXJyZW50T3B0cy5jeWNsaWMgJiYgY3VycmVudEFycmF5Lmxlbmd0aCA+IDEpIHx8IGN1cnJlbnRJbmRleCAhPT0gMCkgew0KCQkJCW5hdl9sZWZ0LnNob3coKTsNCgkJCX0NCg0KCQkJaWYgKChjdXJyZW50T3B0cy5jeWNsaWMgJiYgY3VycmVudEFycmF5Lmxlbmd0aCA+IDEpIHx8IGN1cnJlbnRJbmRleCAhPSAoY3VycmVudEFycmF5Lmxlbmd0aCAtMSkpIHsNCgkJCQluYXZfcmlnaHQuc2hvdygpOw0KCQkJfQ0KCQl9LA0KDQoJCWZhbmN5Ym94X3ByZWxvYWRfaW1hZ2VzID0gZnVuY3Rpb24oKSB7DQoJCQl2YXIgaHJlZiwgDQoJCQkJb2JqTmV4dDsNCgkJCQkNCgkJCWlmICgoY3VycmVudEFycmF5Lmxlbmd0aCAtMSkgPiBjdXJyZW50SW5kZXgpIHsNCgkJCQlocmVmID0gY3VycmVudEFycmF5WyBjdXJyZW50SW5kZXggKyAxIF0uaHJlZjsNCg0KCQkJCWlmICh0eXBlb2YgaHJlZiAhPT0gJ3VuZGVmaW5lZCcgJiYgaHJlZi5tYXRjaChpbWdSZWdFeHApKSB7DQoJCQkJCW9iak5leHQgPSBuZXcgSW1hZ2UoKTsNCgkJCQkJb2JqTmV4dC5zcmMgPSBocmVmOw0KCQkJCX0NCgkJCX0NCg0KCQkJaWYgKGN1cnJlbnRJbmRleCA+IDApIHsNCgkJCQlocmVmID0gY3VycmVudEFycmF5WyBjdXJyZW50SW5kZXggLSAxIF0uaHJlZjsNCg0KCQkJCWlmICh0eXBlb2YgaHJlZiAhPT0gJ3VuZGVmaW5lZCcgJiYgaHJlZi5tYXRjaChpbWdSZWdFeHApKSB7DQoJCQkJCW9iak5leHQgPSBuZXcgSW1hZ2UoKTsNCgkJCQkJb2JqTmV4dC5zcmMgPSBocmVmOw0KCQkJCX0NCgkJCX0NCgkJfSwNCg0KCQlfZmluaXNoID0gZnVuY3Rpb24gKCkgew0KCQkJaW5uZXIuY3NzKCdvdmVyZmxvdycsIChjdXJyZW50T3B0cy5zY3JvbGxpbmcgPT0gJ2F1dG8nID8gKGN1cnJlbnRPcHRzLnR5cGUgPT0gJ2ltYWdlJyB8fCBjdXJyZW50T3B0cy50eXBlID09ICdpZnJhbWUnIHx8IGN1cnJlbnRPcHRzLnR5cGUgPT0gJ3N3ZicgPyAnaGlkZGVuJyA6ICdhdXRvJykgOiAoY3VycmVudE9wdHMuc2Nyb2xsaW5nID09ICd5ZXMnID8gJ2F1dG8nIDogJ3Zpc2libGUnKSkpOw0KDQoJCQlpZiAoISQuc3VwcG9ydC5vcGFjaXR5KSB7DQoJCQkJaW5uZXIuZ2V0KDApLnN0eWxlLnJlbW92ZUF0dHJpYnV0ZSgnZmlsdGVyJyk7DQoJCQkJd3JhcC5nZXQoMCkuc3R5bGUucmVtb3ZlQXR0cmlidXRlKCdmaWx0ZXInKTsNCgkJCX0NCg0KCQkJJCgnI2ZhbmN5Ym94LXRpdGxlJykuc2hvdygpOw0KDQoJCQlpZiAoY3VycmVudE9wdHMuaGlkZU9uQ29udGVudENsaWNrKQl7DQoJCQkJaW5uZXIub25lKCdjbGljaycsICQuZmFuY3lib3guY2xvc2UpOw0KCQkJfQ0KCQkJaWYgKGN1cnJlbnRPcHRzLmhpZGVPbk92ZXJsYXlDbGljaykJew0KCQkJCW92ZXJsYXkub25lKCdjbGljaycsICQuZmFuY3lib3guY2xvc2UpOw0KCQkJfQ0KDQoJCQlpZiAoY3VycmVudE9wdHMuc2hvd0Nsb3NlQnV0dG9uKSB7DQoJCQkJY2xvc2Uuc2hvdygpOw0KCQkJfQ0KDQoJCQlmYW5jeWJveF9zZXRfbmF2aWdhdGlvbigpOw0KDQoJCQkkKHdpbmRvdykuYmluZCgicmVzaXplLmZiIiwgJC5mYW5jeWJveC5jZW50ZXIpOw0KDQoJCQlpZiAoY3VycmVudE9wdHMuY2VudGVyT25TY3JvbGwpIHsNCgkJCQkkKHdpbmRvdykuYmluZCgic2Nyb2xsLmZiIiwgJC5mYW5jeWJveC5jZW50ZXIpOw0KCQkJfSBlbHNlIHsNCgkJCQkkKHdpbmRvdykudW5iaW5kKCJzY3JvbGwuZmIiKTsNCgkJCX0NCg0KCQkJaWYgKCQuaXNGdW5jdGlvbihjdXJyZW50T3B0cy5vbkNvbXBsZXRlKSkgew0KCQkJCWN1cnJlbnRPcHRzLm9uQ29tcGxldGUoY3VycmVudEFycmF5LCBjdXJyZW50SW5kZXgsIGN1cnJlbnRPcHRzKTsNCgkJCX0NCg0KCQkJYnVzeSA9IGZhbHNlOw0KDQoJCQlmYW5jeWJveF9wcmVsb2FkX2ltYWdlcygpOw0KCQl9LA0KDQoJCWZhbmN5Ym94X2RyYXcgPSBmdW5jdGlvbihwb3MpIHsNCgkJCXZhciB3aWR0aAk9IE1hdGgucm91bmQoc3RhcnRfcG9zLndpZHRoCSsgKGZpbmFsX3Bvcy53aWR0aAktIHN0YXJ0X3Bvcy53aWR0aCkJKiBwb3MpLA0KCQkJCWhlaWdodAk9IE1hdGgucm91bmQoc3RhcnRfcG9zLmhlaWdodAkrIChmaW5hbF9wb3MuaGVpZ2h0CS0gc3RhcnRfcG9zLmhlaWdodCkJKiBwb3MpLA0KDQoJCQkJdG9wCQk9IE1hdGgucm91bmQoc3RhcnRfcG9zLnRvcAkrIChmaW5hbF9wb3MudG9wCS0gc3RhcnRfcG9zLnRvcCkJKiBwb3MpLA0KCQkJCWxlZnQJPSBNYXRoLnJvdW5kKHN0YXJ0X3Bvcy5sZWZ0CSsgKGZpbmFsX3Bvcy5sZWZ0CS0gc3RhcnRfcG9zLmxlZnQpCSogcG9zKTsNCg0KCQkJd3JhcC5jc3Moew0KCQkJCSd3aWR0aCcJCTogd2lkdGgJCSsgJ3B4JywNCgkJCQknaGVpZ2h0Jwk6IGhlaWdodAkrICdweCcsDQoJCQkJJ3RvcCcJCTogdG9wCQkrICdweCcsDQoJCQkJJ2xlZnQnCQk6IGxlZnQJCSsgJ3B4Jw0KCQkJfSk7DQoNCgkJCXdpZHRoCT0gTWF0aC5tYXgod2lkdGggLSBjdXJyZW50T3B0cy5wYWRkaW5nICogMiwgMCk7DQoJCQloZWlnaHQJPSBNYXRoLm1heChoZWlnaHQgLSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIgKyAodGl0bGVoICogcG9zKSksIDApOw0KDQoJCQlpbm5lci5jc3Moew0KCQkJCSd3aWR0aCcJCTogd2lkdGgJCSsgJ3B4JywNCgkJCQknaGVpZ2h0Jwk6IGhlaWdodAkrICdweCcNCgkJCX0pOw0KDQoJCQlpZiAodHlwZW9mIGZpbmFsX3Bvcy5vcGFjaXR5ICE9PSAndW5kZWZpbmVkJykgew0KCQkJCXdyYXAuY3NzKCdvcGFjaXR5JywgKHBvcyA8IDAuNSA/IDAuNSA6IHBvcykpOw0KCQkJfQ0KCQl9LA0KDQoJCWZhbmN5Ym94X2dldF9vYmpfcG9zID0gZnVuY3Rpb24ob2JqKSB7DQoJCQl2YXIgcG9zCQk9IG9iai5vZmZzZXQoKTsNCg0KCQkJcG9zLnRvcAkJKz0gcGFyc2VGbG9hdCggb2JqLmNzcygncGFkZGluZ1RvcCcpICkJfHwgMDsNCgkJCXBvcy5sZWZ0CSs9IHBhcnNlRmxvYXQoIG9iai5jc3MoJ3BhZGRpbmdMZWZ0JykgKQl8fCAwOw0KDQoJCQlwb3MudG9wCQkrPSBwYXJzZUZsb2F0KCBvYmouY3NzKCdib3JkZXItdG9wLXdpZHRoJykgKQl8fCAwOw0KCQkJcG9zLmxlZnQJKz0gcGFyc2VGbG9hdCggb2JqLmNzcygnYm9yZGVyLWxlZnQtd2lkdGgnKSApCXx8IDA7DQoNCgkJCXBvcy53aWR0aAk9IG9iai53aWR0aCgpOw0KCQkJcG9zLmhlaWdodAk9IG9iai5oZWlnaHQoKTsNCg0KCQkJcmV0dXJuIHBvczsNCgkJfSwNCg0KCQlmYW5jeWJveF9nZXRfem9vbV9mcm9tID0gZnVuY3Rpb24oKSB7DQoJCQl2YXIgb3JpZyA9IHNlbGVjdGVkT3B0cy5vcmlnID8gJChzZWxlY3RlZE9wdHMub3JpZykgOiBmYWxzZSwNCgkJCQlmcm9tID0ge30sDQoJCQkJcG9zLA0KCQkJCXZpZXc7DQoNCgkJCWlmIChvcmlnICYmIG9yaWcubGVuZ3RoKSB7DQoJCQkJcG9zID0gZmFuY3lib3hfZ2V0X29ial9wb3Mob3JpZyk7DQoNCgkJCQlmcm9tID0gew0KCQkJCQl3aWR0aAk6IChwb3Mud2lkdGgJKyAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpKSwNCgkJCQkJaGVpZ2h0CTogKHBvcy5oZWlnaHQJKyAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpKSwNCgkJCQkJdG9wCQk6IChwb3MudG9wCQktIGN1cnJlbnRPcHRzLnBhZGRpbmcgLSBzaGFkb3cpLA0KCQkJCQlsZWZ0CTogKHBvcy5sZWZ0CQktIGN1cnJlbnRPcHRzLnBhZGRpbmcgLSBzaGFkb3cpDQoJCQkJfTsNCgkJCQkNCgkJCX0gZWxzZSB7DQoJCQkJdmlldyA9IGZhbmN5Ym94X2dldF92aWV3cG9ydCgpOw0KDQoJCQkJZnJvbSA9IHsNCgkJCQkJd2lkdGgJOiAxLA0KCQkJCQloZWlnaHQJOiAxLA0KCQkJCQl0b3AJCTogdmlld1szXSArIHZpZXdbMV0gKiAwLjUsDQoJCQkJCWxlZnQJOiB2aWV3WzJdICsgdmlld1swXSAqIDAuNQ0KCQkJCX07DQoJCQl9DQoNCgkJCXJldHVybiBmcm9tOw0KCQl9LA0KDQoJCWZhbmN5Ym94X3Nob3cgPSBmdW5jdGlvbigpIHsNCgkJCWxvYWRpbmcuaGlkZSgpOw0KDQoJCQlpZiAod3JhcC5pcygiOnZpc2libGUiKSAmJiAkLmlzRnVuY3Rpb24oY3VycmVudE9wdHMub25DbGVhbnVwKSkgew0KCQkJCWlmIChjdXJyZW50T3B0cy5vbkNsZWFudXAoY3VycmVudEFycmF5LCBjdXJyZW50SW5kZXgsIGN1cnJlbnRPcHRzKSA9PT0gZmFsc2UpIHsNCgkJCQkJJC5ldmVudC50cmlnZ2VyKCdmYW5jeWJveC1jYW5jZWwnKTsNCg0KCQkJCQlidXN5ID0gZmFsc2U7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoJCQl9DQoNCgkJCWN1cnJlbnRBcnJheQk9IHNlbGVjdGVkQXJyYXk7DQoJCQljdXJyZW50SW5kZXgJPSBzZWxlY3RlZEluZGV4Ow0KCQkJY3VycmVudE9wdHMJCT0gc2VsZWN0ZWRPcHRzOw0KDQoJCQlpbm5lci5nZXQoMCkuc2Nyb2xsVG9wCT0gMDsNCgkJCWlubmVyLmdldCgwKS5zY3JvbGxMZWZ0CT0gMDsNCg0KCQkJaWYgKGN1cnJlbnRPcHRzLm92ZXJsYXlTaG93KSB7DQoJCQkJaWYgKGlzSUU2KSB7DQoJCQkJCSQoJ3NlbGVjdDpub3QoI2ZhbmN5Ym94LXRtcCBzZWxlY3QpJykuZmlsdGVyKGZ1bmN0aW9uKCkgew0KCQkJCQkJcmV0dXJuIHRoaXMuc3R5bGUudmlzaWJpbGl0eSAhPT0gJ2hpZGRlbic7DQoJCQkJCX0pLmNzcyh7J3Zpc2liaWxpdHknOidoaWRkZW4nfSkub25lKCdmYW5jeWJveC1jbGVhbnVwJywgZnVuY3Rpb24oKSB7DQoJCQkJCQl0aGlzLnN0eWxlLnZpc2liaWxpdHkgPSAnaW5oZXJpdCc7DQoJCQkJCX0pOw0KCQkJCX0NCg0KCQkJCW92ZXJsYXkuY3NzKHsNCgkJCQkJJ2JhY2tncm91bmQtY29sb3InCTogY3VycmVudE9wdHMub3ZlcmxheUNvbG9yLA0KCQkJCQknb3BhY2l0eScJCQk6IGN1cnJlbnRPcHRzLm92ZXJsYXlPcGFjaXR5DQoJCQkJfSkudW5iaW5kKCkuc2hvdygpOw0KCQkJfQ0KDQoJCQlmaW5hbF9wb3MgPSBmYW5jeWJveF9nZXRfem9vbV90bygpOw0KDQoJCQlmYW5jeWJveF9wcm9jZXNzX3RpdGxlKCk7DQoNCgkJCWlmICh3cmFwLmlzKCI6dmlzaWJsZSIpKSB7DQoJCQkJJCggY2xvc2UuYWRkKCBuYXZfbGVmdCApLmFkZCggbmF2X3JpZ2h0ICkgKS5oaWRlKCk7DQoNCgkJCQl2YXIgcG9zID0gd3JhcC5wb3NpdGlvbigpLA0KCQkJCQllcXVhbDsNCg0KCQkJCXN0YXJ0X3BvcyA9IHsNCgkJCQkJdG9wCQk6CXBvcy50b3AgLA0KCQkJCQlsZWZ0CToJcG9zLmxlZnQsDQoJCQkJCXdpZHRoCToJd3JhcC53aWR0aCgpLA0KCQkJCQloZWlnaHQJOgl3cmFwLmhlaWdodCgpDQoJCQkJfTsNCg0KCQkJCWVxdWFsID0gKHN0YXJ0X3Bvcy53aWR0aCA9PSBmaW5hbF9wb3Mud2lkdGggJiYgc3RhcnRfcG9zLmhlaWdodCA9PSBmaW5hbF9wb3MuaGVpZ2h0KTsNCg0KCQkJCWlubmVyLmZhZGVPdXQoY3VycmVudE9wdHMuY2hhbmdlRmFkZSwgZnVuY3Rpb24oKSB7DQoJCQkJCXZhciBmaW5pc2hfcmVzaXppbmcgPSBmdW5jdGlvbigpIHsNCgkJCQkJCWlubmVyLmh0bWwoIHRtcC5jb250ZW50cygpICkuZmFkZUluKGN1cnJlbnRPcHRzLmNoYW5nZUZhZGUsIF9maW5pc2gpOw0KCQkJCQl9Ow0KCQkJCQkNCgkJCQkJJC5ldmVudC50cmlnZ2VyKCdmYW5jeWJveC1jaGFuZ2UnKTsNCg0KCQkJCQlpbm5lci5lbXB0eSgpLmNzcygnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7DQoNCgkJCQkJaWYgKGVxdWFsKSB7DQoJCQkJCQlpbm5lci5jc3Moew0KCQkJCQkJCXRvcAkJCTogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCQlsZWZ0CQk6IGN1cnJlbnRPcHRzLnBhZGRpbmcsDQoJCQkJCQkJd2lkdGgJCTogTWF0aC5tYXgoZmluYWxfcG9zLndpZHRoCS0gKGN1cnJlbnRPcHRzLnBhZGRpbmcgKiAyKSwgMSksDQoJCQkJCQkJaGVpZ2h0CQk6IE1hdGgubWF4KGZpbmFsX3Bvcy5oZWlnaHQJLSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpIC0gdGl0bGVoLCAxKQ0KCQkJCQkJfSk7DQoJCQkJCQkNCgkJCQkJCWZpbmlzaF9yZXNpemluZygpOw0KDQoJCQkJCX0gZWxzZSB7DQoJCQkJCQlpbm5lci5jc3Moew0KCQkJCQkJCXRvcAkJCTogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCQlsZWZ0CQk6IGN1cnJlbnRPcHRzLnBhZGRpbmcsDQoJCQkJCQkJd2lkdGgJCTogTWF0aC5tYXgoc3RhcnRfcG9zLndpZHRoCS0gKGN1cnJlbnRPcHRzLnBhZGRpbmcgKiAyKSwgMSksDQoJCQkJCQkJaGVpZ2h0CQk6IE1hdGgubWF4KHN0YXJ0X3Bvcy5oZWlnaHQJLSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpLCAxKQ0KCQkJCQkJfSk7DQoJCQkJCQkNCgkJCQkJCWZ4LnByb3AgPSAwOw0KDQoJCQkJCQkkKGZ4KS5hbmltYXRlKHsgcHJvcDogMSB9LCB7DQoJCQkJCQkJIGR1cmF0aW9uCTogY3VycmVudE9wdHMuY2hhbmdlU3BlZWQsDQoJCQkJCQkJIGVhc2luZwkJOiBjdXJyZW50T3B0cy5lYXNpbmdDaGFuZ2UsDQoJCQkJCQkJIHN0ZXAJCTogZmFuY3lib3hfZHJhdywNCgkJCQkJCQkgY29tcGxldGUJOiBmaW5pc2hfcmVzaXppbmcNCgkJCQkJCX0pOw0KCQkJCQl9DQoJCQkJfSk7DQoNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCXdyYXAuY3NzKCdvcGFjaXR5JywgMSk7DQoNCgkJCWlmIChjdXJyZW50T3B0cy50cmFuc2l0aW9uSW4gPT0gJ2VsYXN0aWMnKSB7DQoJCQkJc3RhcnRfcG9zID0gZmFuY3lib3hfZ2V0X3pvb21fZnJvbSgpOw0KDQoJCQkJaW5uZXIuY3NzKHsNCgkJCQkJCXRvcAkJCTogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCWxlZnQJCTogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCXdpZHRoCQk6IE1hdGgubWF4KHN0YXJ0X3Bvcy53aWR0aAktIChjdXJyZW50T3B0cy5wYWRkaW5nICogMiksIDEpLA0KCQkJCQkJaGVpZ2h0CQk6IE1hdGgubWF4KHN0YXJ0X3Bvcy5oZWlnaHQJLSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpLCAxKQ0KCQkJCQl9KQ0KCQkJCQkuaHRtbCggdG1wLmNvbnRlbnRzKCkgKTsNCg0KCQkJCXdyYXAuY3NzKHN0YXJ0X3Bvcykuc2hvdygpOw0KDQoJCQkJaWYgKGN1cnJlbnRPcHRzLm9wYWNpdHkpIHsNCgkJCQkJZmluYWxfcG9zLm9wYWNpdHkgPSAwOw0KCQkJCX0NCg0KCQkJCWZ4LnByb3AgPSAwOw0KDQoJCQkJJChmeCkuYW5pbWF0ZSh7IHByb3A6IDEgfSwgew0KCQkJCQkgZHVyYXRpb24JOiBjdXJyZW50T3B0cy5zcGVlZEluLA0KCQkJCQkgZWFzaW5nCQk6IGN1cnJlbnRPcHRzLmVhc2luZ0luLA0KCQkJCQkgc3RlcAkJOiBmYW5jeWJveF9kcmF3LA0KCQkJCQkgY29tcGxldGUJOiBfZmluaXNoDQoJCQkJfSk7DQoNCgkJCX0gZWxzZSB7DQoJCQkJaW5uZXIuY3NzKHsNCgkJCQkJCXRvcAkJCTogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCWxlZnQJCTogY3VycmVudE9wdHMucGFkZGluZywNCgkJCQkJCXdpZHRoCQk6IE1hdGgubWF4KGZpbmFsX3Bvcy53aWR0aAktIChjdXJyZW50T3B0cy5wYWRkaW5nICogMiksIDEpLA0KCQkJCQkJaGVpZ2h0CQk6IE1hdGgubWF4KGZpbmFsX3Bvcy5oZWlnaHQJLSAoY3VycmVudE9wdHMucGFkZGluZyAqIDIpIC0gdGl0bGVoLCAxKQ0KCQkJCQl9KQ0KCQkJCQkuaHRtbCggdG1wLmNvbnRlbnRzKCkgKTsNCg0KCQkJCXdyYXAuY3NzKCBmaW5hbF9wb3MgKS5mYWRlSW4oIGN1cnJlbnRPcHRzLnRyYW5zaXRpb25JbiA9PSAnbm9uZScgPyAwIDogY3VycmVudE9wdHMuc3BlZWRJbiwgX2ZpbmlzaCApOw0KCQkJfQ0KCQl9LA0KDQoJCWZhbmN5Ym94X3Byb2Nlc3NfaW5saW5lID0gZnVuY3Rpb24oKSB7DQoJCQl0bXAud2lkdGgoCXNlbGVjdGVkT3B0cy53aWR0aCApOw0KCQkJdG1wLmhlaWdodCgJc2VsZWN0ZWRPcHRzLmhlaWdodCApOw0KDQoJCQlpZiAoc2VsZWN0ZWRPcHRzLndpZHRoCT09ICdhdXRvJykgew0KCQkJCXNlbGVjdGVkT3B0cy53aWR0aCA9IHRtcC53aWR0aCgpOw0KCQkJfQ0KCQkJaWYgKHNlbGVjdGVkT3B0cy5oZWlnaHQJPT0gJ2F1dG8nKSB7DQoJCQkJc2VsZWN0ZWRPcHRzLmhlaWdodAk9IHRtcC5oZWlnaHQoKTsNCgkJCX0NCg0KCQkJZmFuY3lib3hfc2hvdygpOw0KCQl9LA0KCQkNCgkJZmFuY3lib3hfcHJvY2Vzc19pbWFnZSA9IGZ1bmN0aW9uKCkgew0KCQkJYnVzeSA9IHRydWU7DQoNCgkJCXNlbGVjdGVkT3B0cy53aWR0aAk9IGltZ1ByZWxvYWRlci53aWR0aDsNCgkJCXNlbGVjdGVkT3B0cy5oZWlnaHQJPSBpbWdQcmVsb2FkZXIuaGVpZ2h0Ow0KDQoJCQkkKCI8aW1nIC8+IikuYXR0cih7DQoJCQkJJ2lkJwk6ICdmYW5jeWJveC1pbWcnLA0KCQkJCSdzcmMnCTogaW1nUHJlbG9hZGVyLnNyYywNCgkJCQknYWx0Jwk6IHNlbGVjdGVkT3B0cy50aXRsZQ0KCQkJfSkuYXBwZW5kVG8oIHRtcCApOw0KDQoJCQlmYW5jeWJveF9zaG93KCk7DQoJCX0sDQoNCgkJZmFuY3lib3hfc3RhcnQgPSBmdW5jdGlvbigpIHsNCgkJCWZhbmN5Ym94X2Fib3J0KCk7DQoNCgkJCXZhciBvYmoJPSBzZWxlY3RlZEFycmF5WyBzZWxlY3RlZEluZGV4IF0sDQoJCQkJaHJlZiwgDQoJCQkJdHlwZSwgDQoJCQkJdGl0bGUsDQoJCQkJc3RyLA0KCQkJCWVtYiwNCgkJCQlzZWxlY3RvciwNCgkJCQlkYXRhOw0KDQoJCQlzZWxlY3RlZE9wdHMgPSAkLmV4dGVuZCh7fSwgJC5mbi5mYW5jeWJveC5kZWZhdWx0cywgKHR5cGVvZiAkKG9iaikuZGF0YSgnZmFuY3lib3gnKSA9PSAndW5kZWZpbmVkJyA/IHNlbGVjdGVkT3B0cyA6ICQob2JqKS5kYXRhKCdmYW5jeWJveCcpKSk7DQoJCQl0aXRsZSA9IG9iai50aXRsZSB8fCAkKG9iaikudGl0bGUgfHwgc2VsZWN0ZWRPcHRzLnRpdGxlIHx8ICcnOw0KCQkJDQoJCQlpZiAob2JqLm5vZGVOYW1lICYmICFzZWxlY3RlZE9wdHMub3JpZykgew0KCQkJCXNlbGVjdGVkT3B0cy5vcmlnID0gJChvYmopLmNoaWxkcmVuKCJpbWc6Zmlyc3QiKS5sZW5ndGggPyAkKG9iaikuY2hpbGRyZW4oImltZzpmaXJzdCIpIDogJChvYmopOw0KCQkJfQ0KDQoJCQlpZiAodGl0bGUgPT09ICcnICYmIHNlbGVjdGVkT3B0cy5vcmlnKSB7DQoJCQkJdGl0bGUgPSBzZWxlY3RlZE9wdHMub3JpZy5hdHRyKCdhbHQnKTsNCgkJCX0NCg0KCQkJaWYgKG9iai5ub2RlTmFtZSAmJiAoL14oPzpqYXZhc2NyaXB0fCMpL2kpLnRlc3Qob2JqLmhyZWYpKSB7DQoJCQkJaHJlZiA9IHNlbGVjdGVkT3B0cy5ocmVmIHx8IG51bGw7DQoJCQl9IGVsc2Ugew0KCQkJCWhyZWYgPSBzZWxlY3RlZE9wdHMuaHJlZiB8fCBvYmouaHJlZiB8fCBudWxsOw0KCQkJfQ0KDQoJCQlpZiAoc2VsZWN0ZWRPcHRzLnR5cGUpIHsNCgkJCQl0eXBlID0gc2VsZWN0ZWRPcHRzLnR5cGU7DQoNCgkJCQlpZiAoIWhyZWYpIHsNCgkJCQkJaHJlZiA9IHNlbGVjdGVkT3B0cy5jb250ZW50Ow0KCQkJCX0NCgkJCQkNCgkJCX0gZWxzZSBpZiAoc2VsZWN0ZWRPcHRzLmNvbnRlbnQpIHsNCgkJCQl0eXBlCT0gJ2h0bWwnOw0KDQoJCQl9IGVsc2UgaWYgKGhyZWYpIHsNCgkJCQlpZiAoaHJlZi5tYXRjaChpbWdSZWdFeHApKSB7DQoJCQkJCXR5cGUgPSAnaW1hZ2UnOw0KDQoJCQkJfSBlbHNlIGlmIChocmVmLm1hdGNoKHN3ZlJlZ0V4cCkpIHsNCgkJCQkJdHlwZSA9ICdzd2YnOw0KDQoJCQkJfSBlbHNlIGlmICgkKG9iaikuaGFzQ2xhc3MoImlmcmFtZSIpKSB7DQoJCQkJCXR5cGUgPSAnaWZyYW1lJzsNCg0KCQkJCX0gZWxzZSBpZiAoaHJlZi5tYXRjaCgvIy8pKSB7DQoJCQkJCW9iaiA9IGhyZWYuc3Vic3RyKGhyZWYuaW5kZXhPZigiIyIpKTsNCg0KCQkJCQl0eXBlID0gJChvYmopLmxlbmd0aCA+IDAgPyAnaW5saW5lJyA6ICdhamF4JzsNCgkJCQl9IGVsc2Ugew0KCQkJCQl0eXBlID0gJ2FqYXgnOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJdHlwZSA9ICdpbmxpbmUnOw0KCQkJfQ0KDQoJCQlzZWxlY3RlZE9wdHMudHlwZQk9IHR5cGU7DQoJCQlzZWxlY3RlZE9wdHMuaHJlZgk9IGhyZWY7DQoJCQlzZWxlY3RlZE9wdHMudGl0bGUJPSB0aXRsZTsNCg0KCQkJaWYgKHNlbGVjdGVkT3B0cy5hdXRvRGltZW5zaW9ucyAmJiBzZWxlY3RlZE9wdHMudHlwZSAhPT0gJ2lmcmFtZScgJiYgc2VsZWN0ZWRPcHRzLnR5cGUgIT09ICdzd2YnKSB7DQoJCQkJc2VsZWN0ZWRPcHRzLndpZHRoCQk9ICdhdXRvJzsNCgkJCQlzZWxlY3RlZE9wdHMuaGVpZ2h0CQk9ICdhdXRvJzsNCgkJCX0NCg0KCQkJaWYgKHNlbGVjdGVkT3B0cy5tb2RhbCkgew0KCQkJCXNlbGVjdGVkT3B0cy5vdmVybGF5U2hvdwkJPSB0cnVlOw0KCQkJCXNlbGVjdGVkT3B0cy5oaWRlT25PdmVybGF5Q2xpY2sJPSBmYWxzZTsNCgkJCQlzZWxlY3RlZE9wdHMuaGlkZU9uQ29udGVudENsaWNrCT0gZmFsc2U7DQoJCQkJc2VsZWN0ZWRPcHRzLmVuYWJsZUVzY2FwZUJ1dHRvbgk9IGZhbHNlOw0KCQkJCXNlbGVjdGVkT3B0cy5zaG93Q2xvc2VCdXR0b24JPSBmYWxzZTsNCgkJCX0NCg0KCQkJaWYgKCQuaXNGdW5jdGlvbihzZWxlY3RlZE9wdHMub25TdGFydCkpIHsNCgkJCQlpZiAoc2VsZWN0ZWRPcHRzLm9uU3RhcnQoc2VsZWN0ZWRBcnJheSwgc2VsZWN0ZWRJbmRleCwgc2VsZWN0ZWRPcHRzKSA9PT0gZmFsc2UpIHsNCgkJCQkJYnVzeSA9IGZhbHNlOw0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJfQ0KDQoJCQl0bXAuY3NzKCdwYWRkaW5nJywgKHNoYWRvdyArIHNlbGVjdGVkT3B0cy5wYWRkaW5nICsgc2VsZWN0ZWRPcHRzLm1hcmdpbikpOw0KDQoJCQkkKCcuZmFuY3lib3gtaW5saW5lLXRtcCcpLnVuYmluZCgnZmFuY3lib3gtY2FuY2VsJykuYmluZCgnZmFuY3lib3gtY2hhbmdlJywgZnVuY3Rpb24oKSB7DQoJCQkJJCh0aGlzKS5yZXBsYWNlV2l0aChpbm5lci5jaGlsZHJlbigpKTsNCgkJCX0pOw0KDQoJCQlzd2l0Y2ggKHR5cGUpIHsNCgkJCQljYXNlICdodG1sJyA6DQoJCQkJCXRtcC5odG1sKCBzZWxlY3RlZE9wdHMuY29udGVudCApOw0KCQkJCQlmYW5jeWJveF9wcm9jZXNzX2lubGluZSgpOw0KCQkJCWJyZWFrOw0KDQoJCQkJY2FzZSAnaW5saW5lJyA6DQoJCQkJCSQoJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWlubGluZS10bXAiIC8+JykuaGlkZSgpLmluc2VydEJlZm9yZSggJChvYmopICkuYmluZCgnZmFuY3lib3gtY2xlYW51cCcsIGZ1bmN0aW9uKCkgew0KCQkJCQkJJCh0aGlzKS5yZXBsYWNlV2l0aChpbm5lci5jaGlsZHJlbigpKTsNCgkJCQkJfSkuYmluZCgnZmFuY3lib3gtY2FuY2VsJywgZnVuY3Rpb24oKSB7DQoJCQkJCQkkKHRoaXMpLnJlcGxhY2VXaXRoKHRtcC5jaGlsZHJlbigpKTsNCgkJCQkJfSk7DQoNCgkJCQkJJChvYmopLmFwcGVuZFRvKHRtcCk7DQoNCgkJCQkJZmFuY3lib3hfcHJvY2Vzc19pbmxpbmUoKTsNCgkJCQlicmVhazsNCg0KCQkJCWNhc2UgJ2ltYWdlJzoNCgkJCQkJYnVzeSA9IGZhbHNlOw0KDQoJCQkJCSQuZmFuY3lib3guc2hvd0FjdGl2aXR5KCk7DQoNCgkJCQkJaW1nUHJlbG9hZGVyID0gbmV3IEltYWdlKCk7DQoNCgkJCQkJaW1nUHJlbG9hZGVyLm9uZXJyb3IgPSBmdW5jdGlvbigpIHsNCgkJCQkJCWZhbmN5Ym94X2Vycm9yKCk7DQoJCQkJCX07DQoNCgkJCQkJaW1nUHJlbG9hZGVyLm9ubG9hZCA9IGZ1bmN0aW9uKCkgew0KCQkJCQkJaW1nUHJlbG9hZGVyLm9uZXJyb3IgPSBudWxsOw0KCQkJCQkJaW1nUHJlbG9hZGVyLm9ubG9hZCA9IG51bGw7DQoJCQkJCQlmYW5jeWJveF9wcm9jZXNzX2ltYWdlKCk7DQoJCQkJCX07DQoNCgkJCQkJaW1nUHJlbG9hZGVyLnNyYyA9IGhyZWY7DQoJCQ0KCQkJCWJyZWFrOw0KDQoJCQkJY2FzZSAnc3dmJzoNCgkJCQkJc3RyID0gJzxvYmplY3QgY2xhc3NpZD0iY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIiB3aWR0aD0iJyArIHNlbGVjdGVkT3B0cy53aWR0aCArICciIGhlaWdodD0iJyArIHNlbGVjdGVkT3B0cy5oZWlnaHQgKyAnIj48cGFyYW0gbmFtZT0ibW92aWUiIHZhbHVlPSInICsgaHJlZiArICciPjwvcGFyYW0+JzsNCgkJCQkJZW1iID0gJyc7DQoJCQkJCQ0KCQkJCQkkLmVhY2goc2VsZWN0ZWRPcHRzLnN3ZiwgZnVuY3Rpb24obmFtZSwgdmFsKSB7DQoJCQkJCQlzdHIgKz0gJzxwYXJhbSBuYW1lPSInICsgbmFtZSArICciIHZhbHVlPSInICsgdmFsICsgJyI+PC9wYXJhbT4nOw0KCQkJCQkJZW1iICs9ICcgJyArIG5hbWUgKyAnPSInICsgdmFsICsgJyInOw0KCQkJCQl9KTsNCg0KCQkJCQlzdHIgKz0gJzxlbWJlZCBzcmM9IicgKyBocmVmICsgJyIgdHlwZT0iYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giIHdpZHRoPSInICsgc2VsZWN0ZWRPcHRzLndpZHRoICsgJyIgaGVpZ2h0PSInICsgc2VsZWN0ZWRPcHRzLmhlaWdodCArICciJyArIGVtYiArICc+PC9lbWJlZD48L29iamVjdD4nOw0KDQoJCQkJCXRtcC5odG1sKHN0cik7DQoNCgkJCQkJZmFuY3lib3hfcHJvY2Vzc19pbmxpbmUoKTsNCgkJCQlicmVhazsNCg0KCQkJCWNhc2UgJ2FqYXgnOg0KCQkJCQlzZWxlY3Rvcgk9IGhyZWYuc3BsaXQoJyMnLCAyKTsNCgkJCQkJZGF0YQkJPSBzZWxlY3RlZE9wdHMuYWpheC5kYXRhIHx8IHt9Ow0KDQoJCQkJCWlmIChzZWxlY3Rvci5sZW5ndGggPiAxKSB7DQoJCQkJCQlocmVmID0gc2VsZWN0b3JbMF07DQoNCgkJCQkJCWlmICh0eXBlb2YgZGF0YSA9PSAic3RyaW5nIikgew0KCQkJCQkJCWRhdGEgKz0gJyZzZWxlY3Rvcj0nICsgc2VsZWN0b3JbMV07DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCWRhdGEuc2VsZWN0b3IgPSBzZWxlY3RvclsxXTsNCgkJCQkJCX0NCgkJCQkJfQ0KDQoJCQkJCWJ1c3kgPSBmYWxzZTsNCgkJCQkJJC5mYW5jeWJveC5zaG93QWN0aXZpdHkoKTsNCg0KCQkJCQlhamF4TG9hZGVyID0gJC5hamF4KCQuZXh0ZW5kKHNlbGVjdGVkT3B0cy5hamF4LCB7DQoJCQkJCQl1cmwJCTogaHJlZiwNCgkJCQkJCWRhdGEJOiBkYXRhLA0KCQkJCQkJZXJyb3IJOiBmYW5jeWJveF9lcnJvciwNCgkJCQkJCXN1Y2Nlc3MgOiBmdW5jdGlvbihkYXRhLCB0ZXh0U3RhdHVzLCBYTUxIdHRwUmVxdWVzdCkgew0KCQkJCQkJCWlmIChhamF4TG9hZGVyLnN0YXR1cyA9PSAyMDApIHsNCgkJCQkJCQkJdG1wLmh0bWwoIGRhdGEgKTsNCgkJCQkJCQkJZmFuY3lib3hfcHJvY2Vzc19pbmxpbmUoKTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0pKTsNCg0KCQkJCWJyZWFrOw0KDQoJCQkJY2FzZSAnaWZyYW1lJyA6DQoJCQkJCSQoJzxpZnJhbWUgaWQ9ImZhbmN5Ym94LWZyYW1lIiBuYW1lPSJmYW5jeWJveC1mcmFtZScgKyBuZXcgRGF0ZSgpLmdldFRpbWUoKSArICciIGZyYW1lYm9yZGVyPSIwIiBoc3BhY2U9IjAiIHNjcm9sbGluZz0iJyArIHNlbGVjdGVkT3B0cy5zY3JvbGxpbmcgKyAnIiBzcmM9IicgKyBzZWxlY3RlZE9wdHMuaHJlZiArICciPjwvaWZyYW1lPicpLmFwcGVuZFRvKHRtcCk7DQoJCQkJCWZhbmN5Ym94X3Nob3coKTsNCgkJCQlicmVhazsNCgkJCX0NCgkJfSwNCg0KCQlmYW5jeWJveF9hbmltYXRlX2xvYWRpbmcgPSBmdW5jdGlvbigpIHsNCgkJCWlmICghbG9hZGluZy5pcygnOnZpc2libGUnKSl7DQoJCQkJY2xlYXJJbnRlcnZhbChsb2FkaW5nVGltZXIpOw0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJJCgnZGl2JywgbG9hZGluZykuY3NzKCd0b3AnLCAobG9hZGluZ0ZyYW1lICogLTQwKSArICdweCcpOw0KDQoJCQlsb2FkaW5nRnJhbWUgPSAobG9hZGluZ0ZyYW1lICsgMSkgJSAxMjsNCgkJfSwNCg0KCQlmYW5jeWJveF9pbml0ID0gZnVuY3Rpb24oKSB7DQoJCQlpZiAoJCgiI2ZhbmN5Ym94LXdyYXAiKS5sZW5ndGgpIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCSQoJ2JvZHknKS5hcHBlbmQoDQoJCQkJdG1wCQkJPSAkKCc8ZGl2IGlkPSJmYW5jeWJveC10bXAiPjwvZGl2PicpLA0KCQkJCWxvYWRpbmcJCT0gJCgnPGRpdiBpZD0iZmFuY3lib3gtbG9hZGluZyI+PGRpdj48L2Rpdj48L2Rpdj4nKSwNCgkJCQlvdmVybGF5CQk9ICQoJzxkaXYgaWQ9ImZhbmN5Ym94LW92ZXJsYXkiPjwvZGl2PicpLA0KCQkJCXdyYXAJCT0gJCgnPGRpdiBpZD0iZmFuY3lib3gtd3JhcCI+PC9kaXY+JykNCgkJCSk7DQoNCgkJCWlmICghJC5zdXBwb3J0Lm9wYWNpdHkpIHsNCgkJCQl3cmFwLmFkZENsYXNzKCdmYW5jeWJveC1pZScpOw0KCQkJCWxvYWRpbmcuYWRkQ2xhc3MoJ2ZhbmN5Ym94LWllJyk7DQoJCQl9DQoNCgkJCW91dGVyID0gJCgnPGRpdiBpZD0iZmFuY3lib3gtb3V0ZXIiPjwvZGl2PicpDQoJCQkJLmFwcGVuZCgnPGRpdiBjbGFzcz0iZmFuY3ktYmciIGlkPSJmYW5jeS1iZy1uIj48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeS1iZyIgaWQ9ImZhbmN5LWJnLW5lIj48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeS1iZyIgaWQ9ImZhbmN5LWJnLWUiPjwvZGl2PjxkaXYgY2xhc3M9ImZhbmN5LWJnIiBpZD0iZmFuY3ktYmctc2UiPjwvZGl2PjxkaXYgY2xhc3M9ImZhbmN5LWJnIiBpZD0iZmFuY3ktYmctcyI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3ktYmciIGlkPSJmYW5jeS1iZy1zdyI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3ktYmciIGlkPSJmYW5jeS1iZy13Ij48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeS1iZyIgaWQ9ImZhbmN5LWJnLW53Ij48L2Rpdj4nKQ0KCQkJCS5hcHBlbmRUbyggd3JhcCApOw0KDQoJCQlvdXRlci5hcHBlbmQoDQoJCQkJaW5uZXIJCT0gJCgnPGRpdiBpZD0iZmFuY3lib3gtaW5uZXIiPjwvZGl2PicpLA0KCQkJCWNsb3NlCQk9ICQoJzxhIGlkPSJmYW5jeWJveC1jbG9zZSI+PC9hPicpLA0KDQoJCQkJbmF2X2xlZnQJPSAkKCc8YSBocmVmPSJqYXZhc2NyaXB0OjsiIGlkPSJmYW5jeWJveC1sZWZ0Ij48c3BhbiBjbGFzcz0iZmFuY3ktaWNvIiBpZD0iZmFuY3lib3gtbGVmdC1pY28iPjwvc3Bhbj48L2E+JyksDQoJCQkJbmF2X3JpZ2h0CT0gJCgnPGEgaHJlZj0iamF2YXNjcmlwdDo7IiBpZD0iZmFuY3lib3gtcmlnaHQiPjxzcGFuIGNsYXNzPSJmYW5jeS1pY28iIGlkPSJmYW5jeWJveC1yaWdodC1pY28iPjwvc3Bhbj48L2E+JykNCgkJCSk7DQoNCgkJCWNsb3NlLmNsaWNrKCQuZmFuY3lib3guY2xvc2UpOw0KCQkJbG9hZGluZy5jbGljaygkLmZhbmN5Ym94LmNhbmNlbCk7DQoNCgkJCW5hdl9sZWZ0LmNsaWNrKGZ1bmN0aW9uKGUpIHsNCgkJCQllLnByZXZlbnREZWZhdWx0KCk7DQoJCQkJJC5mYW5jeWJveC5wcmV2KCk7DQoJCQl9KTsNCg0KCQkJbmF2X3JpZ2h0LmNsaWNrKGZ1bmN0aW9uKGUpIHsNCgkJCQllLnByZXZlbnREZWZhdWx0KCk7DQoJCQkJJC5mYW5jeWJveC5uZXh0KCk7DQoJCQl9KTsNCg0KCQkJaWYgKGlzSUU2KSB7DQoJCQkJb3ZlcmxheS5nZXQoMCkuc3R5bGUuc2V0RXhwcmVzc2lvbignaGVpZ2h0JywJImRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0ID4gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQgPyBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCA6IGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0ICsgJ3B4JyIpOw0KCQkJCWxvYWRpbmcuZ2V0KDApLnN0eWxlLnNldEV4cHJlc3Npb24oJ3RvcCcsCQkiKC0yMCArIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodC8yIDogZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQvMiApICsgKCBpZ25vcmVNZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIDogZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgKSkgKyAncHgnIik7DQoNCgkJCQlvdXRlci5wcmVwZW5kKCc8aWZyYW1lIGlkPSJmYW5jeWJveC1oaWRlLXNlbC1mcmFtZSIgc3JjPSJqYXZhc2NyaXB0OlwnXCc7IiBzY3JvbGxpbmc9Im5vIiBmcmFtZWJvcmRlcj0iMCIgPjwvaWZyYW1lPicpOw0KCQkJfQ0KCQl9Ow0KDQoJLyoNCgkgKiBQdWJsaWMgbWV0aG9kcyANCgkgKi8NCg0KCSQuZm4uZmFuY3lib3ggPSBmdW5jdGlvbihvcHRpb25zKSB7DQoJCSQodGhpcykNCgkJCS5kYXRhKCdmYW5jeWJveCcsICQuZXh0ZW5kKHt9LCBvcHRpb25zLCAoJC5tZXRhZGF0YSA/ICQodGhpcykubWV0YWRhdGEoKSA6IHt9KSkpDQoJCQkudW5iaW5kKCdjbGljay5mYicpLmJpbmQoJ2NsaWNrLmZiJywgZnVuY3Rpb24oZSkgew0KCQkJCWUucHJldmVudERlZmF1bHQoKTsNCg0KCQkJCWlmIChidXN5KSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoNCgkJCQlidXN5ID0gdHJ1ZTsNCg0KCQkJCSQodGhpcykuYmx1cigpOw0KDQoJCQkJc2VsZWN0ZWRBcnJheQk9IFtdOw0KCQkJCXNlbGVjdGVkSW5kZXgJPSAwOw0KDQoJCQkJdmFyIHJlbCA9ICQodGhpcykuYXR0cigncmVsJykgfHwgJyc7DQoNCgkJCQlpZiAoIXJlbCB8fCByZWwgPT0gJycgfHwgcmVsID09PSAnbm9mb2xsb3cnKSB7DQoJCQkJCXNlbGVjdGVkQXJyYXkucHVzaCh0aGlzKTsNCg0KCQkJCX0gZWxzZSB7DQoJCQkJCXNlbGVjdGVkQXJyYXkJPSAkKCJhW3JlbD0iICsgcmVsICsgIl0sIGFyZWFbcmVsPSIgKyByZWwgKyAiXSIpOw0KCQkJCQlzZWxlY3RlZEluZGV4CT0gc2VsZWN0ZWRBcnJheS5pbmRleCggdGhpcyApOw0KCQkJCX0NCg0KCQkJCWZhbmN5Ym94X3N0YXJ0KCk7DQoNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9KTsNCg0KCQlyZXR1cm4gdGhpczsNCgl9Ow0KDQoJJC5mYW5jeWJveCA9IGZ1bmN0aW9uKG9iaikgew0KCQlpZiAoYnVzeSkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJYnVzeSA9IHRydWU7DQoNCgkJdmFyIG9wdHMgPSB0eXBlb2YgYXJndW1lbnRzWzFdICE9PSAndW5kZWZpbmVkJyA/IGFyZ3VtZW50c1sxXSA6IHt9Ow0KDQoJCXNlbGVjdGVkQXJyYXkJPSBbXTsNCgkJc2VsZWN0ZWRJbmRleAk9IG9wdHMuaW5kZXggfHwgMDsNCg0KCQlpZiAoJC5pc0FycmF5KG9iaikpIHsNCgkJCWZvciAodmFyIGkgPSAwLCBqID0gb2JqLmxlbmd0aDsgaSA8IGo7IGkrKykgew0KCQkJCWlmICh0eXBlb2Ygb2JqW2ldID09ICdvYmplY3QnKSB7DQoJCQkJCSQob2JqW2ldKS5kYXRhKCdmYW5jeWJveCcsICQuZXh0ZW5kKHt9LCBvcHRzLCBvYmpbaV0pKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlvYmpbaV0gPSAkKHt9KS5kYXRhKCdmYW5jeWJveCcsICQuZXh0ZW5kKHtjb250ZW50IDogb2JqW2ldfSwgb3B0cykpOw0KCQkJCX0NCgkJCX0NCg0KCQkJc2VsZWN0ZWRBcnJheSA9IGpRdWVyeS5tZXJnZShzZWxlY3RlZEFycmF5LCBvYmopOw0KDQoJCX0gZWxzZSB7DQoJCQlpZiAodHlwZW9mIG9iaiA9PSAnb2JqZWN0Jykgew0KCQkJCSQob2JqKS5kYXRhKCdmYW5jeWJveCcsICQuZXh0ZW5kKHt9LCBvcHRzLCBvYmopKTsNCgkJCX0gZWxzZSB7DQoJCQkJb2JqID0gJCh7fSkuZGF0YSgnZmFuY3lib3gnLCAkLmV4dGVuZCh7Y29udGVudCA6IG9ian0sIG9wdHMpKTsNCgkJCX0NCg0KCQkJc2VsZWN0ZWRBcnJheS5wdXNoKG9iaik7DQoJCX0NCg0KCQlpZiAoc2VsZWN0ZWRJbmRleCA+IHNlbGVjdGVkQXJyYXkubGVuZ3RoIHx8IHNlbGVjdGVkSW5kZXggPCAwKSB7DQoJCQlzZWxlY3RlZEluZGV4ID0gMDsNCgkJfQ0KDQoJCWZhbmN5Ym94X3N0YXJ0KCk7DQoJfTsNCg0KCSQuZmFuY3lib3guc2hvd0FjdGl2aXR5ID0gZnVuY3Rpb24oKSB7DQoJCWNsZWFySW50ZXJ2YWwobG9hZGluZ1RpbWVyKTsNCg0KCQlsb2FkaW5nLnNob3coKTsNCgkJbG9hZGluZ1RpbWVyID0gc2V0SW50ZXJ2YWwoZmFuY3lib3hfYW5pbWF0ZV9sb2FkaW5nLCA2Nik7DQoJfTsNCg0KCSQuZmFuY3lib3guaGlkZUFjdGl2aXR5ID0gZnVuY3Rpb24oKSB7DQoJCWxvYWRpbmcuaGlkZSgpOw0KCX07DQoNCgkkLmZhbmN5Ym94Lm5leHQgPSBmdW5jdGlvbigpIHsNCgkJcmV0dXJuICQuZmFuY3lib3gucG9zKCBjdXJyZW50SW5kZXggKyAxKTsNCgl9Ow0KCQ0KCSQuZmFuY3lib3gucHJldiA9IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gJC5mYW5jeWJveC5wb3MoIGN1cnJlbnRJbmRleCAtIDEpOw0KCX07DQoNCgkkLmZhbmN5Ym94LnBvcyA9IGZ1bmN0aW9uKHBvcykgew0KCQlpZiAoYnVzeSkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJcG9zID0gcGFyc2VJbnQocG9zLCAxMCk7DQoNCgkJaWYgKHBvcyA+IC0xICYmIGN1cnJlbnRBcnJheS5sZW5ndGggPiBwb3MpIHsNCgkJCXNlbGVjdGVkSW5kZXggPSBwb3M7DQoJCQlmYW5jeWJveF9zdGFydCgpOw0KCQl9DQoNCgkJaWYgKGN1cnJlbnRPcHRzLmN5Y2xpYyAmJiBjdXJyZW50QXJyYXkubGVuZ3RoID4gMSAmJiBwb3MgPCAwKSB7DQoJCQlzZWxlY3RlZEluZGV4ID0gY3VycmVudEFycmF5Lmxlbmd0aCAtIDE7DQoJCQlmYW5jeWJveF9zdGFydCgpOw0KCQl9DQoNCgkJaWYgKGN1cnJlbnRPcHRzLmN5Y2xpYyAmJiBjdXJyZW50QXJyYXkubGVuZ3RoID4gMSAmJiBwb3MgPj0gY3VycmVudEFycmF5Lmxlbmd0aCkgew0KCQkJc2VsZWN0ZWRJbmRleCA9IDA7DQoJCQlmYW5jeWJveF9zdGFydCgpOw0KCQl9DQoNCgkJcmV0dXJuOw0KCX07DQoNCgkkLmZhbmN5Ym94LmNhbmNlbCA9IGZ1bmN0aW9uKCkgew0KCQlpZiAoYnVzeSkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJYnVzeSA9IHRydWU7DQoNCgkJJC5ldmVudC50cmlnZ2VyKCdmYW5jeWJveC1jYW5jZWwnKTsNCg0KCQlmYW5jeWJveF9hYm9ydCgpOw0KDQoJCWlmIChzZWxlY3RlZE9wdHMgJiYgJC5pc0Z1bmN0aW9uKHNlbGVjdGVkT3B0cy5vbkNhbmNlbCkpIHsNCgkJCXNlbGVjdGVkT3B0cy5vbkNhbmNlbChzZWxlY3RlZEFycmF5LCBzZWxlY3RlZEluZGV4LCBzZWxlY3RlZE9wdHMpOw0KCQl9DQoNCgkJYnVzeSA9IGZhbHNlOw0KCX07DQoNCgkvLyBOb3RlOiB3aXRoaW4gYW4gaWZyYW1lIHVzZSAtIHBhcmVudC4kLmZhbmN5Ym94LmNsb3NlKCk7DQoJJC5mYW5jeWJveC5jbG9zZSA9IGZ1bmN0aW9uKCkgew0KCQlpZiAoYnVzeSB8fCB3cmFwLmlzKCc6aGlkZGVuJykpIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWJ1c3kgPSB0cnVlOw0KDQoJCWlmIChjdXJyZW50T3B0cyAmJiAkLmlzRnVuY3Rpb24oY3VycmVudE9wdHMub25DbGVhbnVwKSkgew0KCQkJaWYgKGN1cnJlbnRPcHRzLm9uQ2xlYW51cChjdXJyZW50QXJyYXksIGN1cnJlbnRJbmRleCwgY3VycmVudE9wdHMpID09PSBmYWxzZSkgew0KCQkJCWJ1c3kgPSBmYWxzZTsNCgkJCQlyZXR1cm47DQoJCQl9DQoJCX0NCg0KCQlmYW5jeWJveF9hYm9ydCgpOw0KDQoJCSQoY2xvc2UuYWRkKCBuYXZfbGVmdCApLmFkZCggbmF2X3JpZ2h0ICkpLmhpZGUoKTsNCg0KCQkkKCcjZmFuY3lib3gtdGl0bGUnKS5yZW1vdmUoKTsNCg0KCQl3cmFwLmFkZChpbm5lcikuYWRkKG92ZXJsYXkpLnVuYmluZCgpOw0KDQoJCSQod2luZG93KS51bmJpbmQoInJlc2l6ZS5mYiBzY3JvbGwuZmIiKTsNCgkJJChkb2N1bWVudCkudW5iaW5kKCdrZXlkb3duLmZiJyk7DQoNCgkJZnVuY3Rpb24gX2NsZWFudXAoKSB7DQoJCQlvdmVybGF5LmZhZGVPdXQoJ2Zhc3QnKTsNCg0KCQkJd3JhcC5oaWRlKCk7DQoNCgkJCSQuZXZlbnQudHJpZ2dlcignZmFuY3lib3gtY2xlYW51cCcpOw0KDQoJCQlpbm5lci5lbXB0eSgpOw0KDQoJCQlpZiAoJC5pc0Z1bmN0aW9uKGN1cnJlbnRPcHRzLm9uQ2xvc2VkKSkgew0KCQkJCWN1cnJlbnRPcHRzLm9uQ2xvc2VkKGN1cnJlbnRBcnJheSwgY3VycmVudEluZGV4LCBjdXJyZW50T3B0cyk7DQoJCQl9DQoNCgkJCWN1cnJlbnRBcnJheQk9IHNlbGVjdGVkT3B0cwk9IFtdOw0KCQkJY3VycmVudEluZGV4CT0gc2VsZWN0ZWRJbmRleAk9IDA7DQoJCQljdXJyZW50T3B0cwkJPSBzZWxlY3RlZE9wdHMJPSB7fTsNCg0KCQkJYnVzeSA9IGZhbHNlOw0KCQl9DQoNCgkJaW5uZXIuY3NzKCdvdmVyZmxvdycsICdoaWRkZW4nKTsNCg0KCQlpZiAoY3VycmVudE9wdHMudHJhbnNpdGlvbk91dCA9PSAnZWxhc3RpYycpIHsNCgkJCXN0YXJ0X3BvcyA9IGZhbmN5Ym94X2dldF96b29tX2Zyb20oKTsNCg0KCQkJdmFyIHBvcyA9IHdyYXAucG9zaXRpb24oKTsNCg0KCQkJZmluYWxfcG9zID0gew0KCQkJCXRvcAkJOglwb3MudG9wICwNCgkJCQlsZWZ0CToJcG9zLmxlZnQsDQoJCQkJd2lkdGgJOgl3cmFwLndpZHRoKCksDQoJCQkJaGVpZ2h0CToJd3JhcC5oZWlnaHQoKQ0KCQkJfTsNCg0KCQkJaWYgKGN1cnJlbnRPcHRzLm9wYWNpdHkpIHsNCgkJCQlmaW5hbF9wb3Mub3BhY2l0eSA9IDE7DQoJCQl9DQoNCgkJCWZ4LnByb3AgPSAxOw0KDQoJCQkkKGZ4KS5hbmltYXRlKHsgcHJvcDogMCB9LCB7DQoJCQkJIGR1cmF0aW9uCTogY3VycmVudE9wdHMuc3BlZWRPdXQsDQoJCQkJIGVhc2luZwkJOiBjdXJyZW50T3B0cy5lYXNpbmdPdXQsDQoJCQkJIHN0ZXAJCTogZmFuY3lib3hfZHJhdywNCgkJCQkgY29tcGxldGUJOiBfY2xlYW51cA0KCQkJfSk7DQoNCgkJfSBlbHNlIHsNCgkJCXdyYXAuZmFkZU91dCggY3VycmVudE9wdHMudHJhbnNpdGlvbk91dCA9PSAnbm9uZScgPyAwIDogY3VycmVudE9wdHMuc3BlZWRPdXQsIF9jbGVhbnVwKTsNCgkJfQ0KCX07DQoNCgkkLmZhbmN5Ym94LnJlc2l6ZSA9IGZ1bmN0aW9uKCkgew0KCQl2YXIgYywgaDsNCgkJDQoJCWlmIChidXN5IHx8IHdyYXAuaXMoJzpoaWRkZW4nKSkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJYnVzeSA9IHRydWU7DQoNCgkJYyA9IGlubmVyLndyYXBJbm5lcigiPGRpdiBzdHlsZT0nb3ZlcmZsb3c6YXV0byc+PC9kaXY+IikuY2hpbGRyZW4oKTsNCgkJaCA9IGMuaGVpZ2h0KCk7DQoNCgkJd3JhcC5jc3Moe2hlaWdodDoJaCArIChjdXJyZW50T3B0cy5wYWRkaW5nICogMikgKyB0aXRsZWh9KTsNCgkJaW5uZXIuY3NzKHtoZWlnaHQ6CWh9KTsNCg0KCQljLnJlcGxhY2VXaXRoKGMuY2hpbGRyZW4oKSk7DQoNCgkJJC5mYW5jeWJveC5jZW50ZXIoKTsNCgl9Ow0KDQoJJC5mYW5jeWJveC5jZW50ZXIgPSBmdW5jdGlvbigpIHsNCgkJYnVzeSA9IHRydWU7DQoNCgkJdmFyIHZpZXcJPSBmYW5jeWJveF9nZXRfdmlld3BvcnQoKSwNCgkJCW1hcmdpbgk9IGN1cnJlbnRPcHRzLm1hcmdpbiwNCgkJCXRvCQk9IHt9Ow0KDQoJCXRvLnRvcAk9IHZpZXdbM10gKyAoKHZpZXdbMV0gLSAoKHdyYXAuaGVpZ2h0KCkgLSB0aXRsZWgpICsgKHNoYWRvdyAqIDIgKSkpICogMC41KTsNCgkJdG8ubGVmdAk9IHZpZXdbMl0gKyAoKHZpZXdbMF0gLSAod3JhcC53aWR0aCgpICsgKHNoYWRvdyAqIDIgKSkpICogMC41KTsNCg0KCQl0by50b3AJPSBNYXRoLm1heCh2aWV3WzNdICsgbWFyZ2luLCB0by50b3ApOw0KCQl0by5sZWZ0CT0gTWF0aC5tYXgodmlld1syXSArIG1hcmdpbiwgdG8ubGVmdCk7DQoNCgkJd3JhcC5jc3ModG8pOw0KDQoJCWJ1c3kgPSBmYWxzZTsNCgl9Ow0KDQoJJC5mbi5mYW5jeWJveC5kZWZhdWx0cyA9IHsNCgkJcGFkZGluZwkJCQk6CTEwLA0KCQltYXJnaW4JCQkJOgkyMCwNCgkJb3BhY2l0eQkJCQk6CWZhbHNlLA0KCQltb2RhbAkJCQk6CWZhbHNlLA0KCQljeWNsaWMJCQkJOglmYWxzZSwNCgkJc2Nyb2xsaW5nCQkJOgknYXV0bycsCS8vICdhdXRvJywgJ3llcycgb3IgJ25vJw0KDQoJCXdpZHRoCQkJCToJNTYwLA0KCQloZWlnaHQJCQkJOgkzNDAsDQoNCgkJYXV0b1NjYWxlCQkJOgl0cnVlLA0KCQlhdXRvRGltZW5zaW9ucwkJOgl0cnVlLA0KCQljZW50ZXJPblNjcm9sbAkJOglmYWxzZSwNCg0KCQlhamF4CQkJCToJe30sDQoJCXN3ZgkJCQkJOgl7IHdtb2RlOiAndHJhbnNwYXJlbnQnIH0sDQoNCgkJaGlkZU9uT3ZlcmxheUNsaWNrCToJdHJ1ZSwNCgkJaGlkZU9uQ29udGVudENsaWNrCToJZmFsc2UsDQoNCgkJb3ZlcmxheVNob3cJCQk6CXRydWUsDQoJCW92ZXJsYXlPcGFjaXR5CQk6CTAuMywNCgkJb3ZlcmxheUNvbG9yCQk6CScjNjY2JywNCg0KCQl0aXRsZVNob3cJCQk6CXRydWUsDQoJCXRpdGxlUG9zaXRpb24JCToJJ291dHNpZGUnLAkvLyAnb3V0c2lkZScsICdpbnNpZGUnIG9yICdvdmVyJw0KCQl0aXRsZUZvcm1hdAkJCToJbnVsbCwNCg0KCQl0cmFuc2l0aW9uSW4JCToJJ2ZhZGUnLAkvLyAnZWxhc3RpYycsICdmYWRlJyBvciAnbm9uZScNCgkJdHJhbnNpdGlvbk91dAkJOgknZmFkZScsCS8vICdlbGFzdGljJywgJ2ZhZGUnIG9yICdub25lJw0KDQoJCXNwZWVkSW4JCQkJOgkzMDAsDQoJCXNwZWVkT3V0CQkJOgkzMDAsDQoNCgkJY2hhbmdlU3BlZWQJCQk6CTMwMCwNCgkJY2hhbmdlRmFkZQkJCToJJ2Zhc3QnLA0KDQoJCWVhc2luZ0luCQkJOgknc3dpbmcnLA0KCQllYXNpbmdPdXQJCQk6CSdzd2luZycsDQoNCgkJc2hvd0Nsb3NlQnV0dG9uCQk6CXRydWUsDQoJCXNob3dOYXZBcnJvd3MJCToJdHJ1ZSwNCgkJZW5hYmxlRXNjYXBlQnV0dG9uCToJdHJ1ZSwNCg0KCQlvblN0YXJ0CQkJCToJbnVsbCwNCgkJb25DYW5jZWwJCQk6CW51bGwsDQoJCW9uQ29tcGxldGUJCQk6CW51bGwsDQoJCW9uQ2xlYW51cAkJCToJbnVsbCwNCgkJb25DbG9zZWQJCQk6CW51bGwNCgl9Ow0KDQoJJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQoJCWZhbmN5Ym94X2luaXQoKTsNCgl9KTsNCg0KfSkoalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/jquery.fancybox-1.3.1.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogRmFuY3lCb3ggLSBqUXVlcnkgUGx1Z2luCiAqIFNpbXBsZSBhbmQgZmFuY3kgbGlnaHRib3ggYWx0ZXJuYXRpdmUKICoKICogRXhhbXBsZXMgYW5kIGRvY3VtZW50YXRpb24gYXQ6IGh0dHA6Ly9mYW5jeWJveC5uZXQKICogCiAqIENvcHlyaWdodCAoYykgMjAwOCAtIDIwMTAgSmFuaXMgU2thcm5lbGlzCiAqCiAqIFZlcnNpb246IDEuMy4xICgwNS8wMy8yMDEwKQogKiBSZXF1aXJlczogalF1ZXJ5IHYxLjMrCiAqCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOgogKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqICAgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sCiAqLwoKKGZ1bmN0aW9uKGIpe3ZhciBtLHUseCxnLEQsaSx6LEEsQixwPTAsZT17fSxxPVtdLG49MCxjPXt9LGo9W10sRT1udWxsLHM9bmV3IEltYWdlLEc9L1wuKGpwZ3xnaWZ8cG5nfGJtcHxqcGVnKSguKik/JC9pLFM9L1teXC5dXC4oc3dmKVxzKiQvaSxILEk9MSxrLGwsaD1mYWxzZSx5PWIuZXh0ZW5kKGIoIjxkaXYvPiIpWzBdLHtwcm9wOjB9KSx2PTAsTz0hYi5zdXBwb3J0Lm9wYWNpdHkmJiF3aW5kb3cuWE1MSHR0cFJlcXVlc3QsSj1mdW5jdGlvbigpe3UuaGlkZSgpO3Mub25lcnJvcj1zLm9ubG9hZD1udWxsO0UmJkUuYWJvcnQoKTttLmVtcHR5KCl9LFA9ZnVuY3Rpb24oKXtiLmZhbmN5Ym94KCc8cCBpZD0iZmFuY3lib3hfZXJyb3IiPlRoZSByZXF1ZXN0ZWQgY29udGVudCBjYW5ub3QgYmUgbG9hZGVkLjxiciAvPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuPC9wPicse3Njcm9sbGluZzoibm8iLHBhZGRpbmc6MjAsdHJhbnNpdGlvbkluOiJub25lIix0cmFuc2l0aW9uT3V0OiJub25lIn0pfSwKSz1mdW5jdGlvbigpe3JldHVybltiKHdpbmRvdykud2lkdGgoKSxiKHdpbmRvdykuaGVpZ2h0KCksYihkb2N1bWVudCkuc2Nyb2xsTGVmdCgpLGIoZG9jdW1lbnQpLnNjcm9sbFRvcCgpXX0sVD1mdW5jdGlvbigpe3ZhciBhPUsoKSxkPXt9LGY9Yy5tYXJnaW4sbz1jLmF1dG9TY2FsZSx0PSgyMCtmKSoyLHc9KDIwK2YpKjIscj1jLnBhZGRpbmcqMjtpZihjLndpZHRoLnRvU3RyaW5nKCkuaW5kZXhPZigiJSIpPi0xKXtkLndpZHRoPWFbMF0qcGFyc2VGbG9hdChjLndpZHRoKS8xMDAtNDA7bz1mYWxzZX1lbHNlIGQud2lkdGg9Yy53aWR0aCtyO2lmKGMuaGVpZ2h0LnRvU3RyaW5nKCkuaW5kZXhPZigiJSIpPi0xKXtkLmhlaWdodD1hWzFdKnBhcnNlRmxvYXQoYy5oZWlnaHQpLzEwMC00MDtvPWZhbHNlfWVsc2UgZC5oZWlnaHQ9Yy5oZWlnaHQrcjtpZihvJiYoZC53aWR0aD5hWzBdLXR8fGQuaGVpZ2h0PmFbMV0tdykpaWYoZS50eXBlPT0iaW1hZ2UifHxlLnR5cGU9PSJzd2YiKXt0Kz1yOwp3Kz1yO289TWF0aC5taW4oTWF0aC5taW4oYVswXS10LGMud2lkdGgpL2Mud2lkdGgsTWF0aC5taW4oYVsxXS13LGMuaGVpZ2h0KS9jLmhlaWdodCk7ZC53aWR0aD1NYXRoLnJvdW5kKG8qKGQud2lkdGgtcikpK3I7ZC5oZWlnaHQ9TWF0aC5yb3VuZChvKihkLmhlaWdodC1yKSkrcn1lbHNle2Qud2lkdGg9TWF0aC5taW4oZC53aWR0aCxhWzBdLXQpO2QuaGVpZ2h0PU1hdGgubWluKGQuaGVpZ2h0LGFbMV0tdyl9ZC50b3A9YVszXSsoYVsxXS0oZC5oZWlnaHQrNDApKSowLjU7ZC5sZWZ0PWFbMl0rKGFbMF0tKGQud2lkdGgrNDApKSowLjU7aWYoYy5hdXRvU2NhbGU9PT1mYWxzZSl7ZC50b3A9TWF0aC5tYXgoYVszXStmLGQudG9wKTtkLmxlZnQ9TWF0aC5tYXgoYVsyXStmLGQubGVmdCl9cmV0dXJuIGR9LFU9ZnVuY3Rpb24oYSl7aWYoYSYmYS5sZW5ndGgpc3dpdGNoKGMudGl0bGVQb3NpdGlvbil7Y2FzZSAiaW5zaWRlIjpyZXR1cm4gYTtjYXNlICJvdmVyIjpyZXR1cm4nPHNwYW4gaWQ9ImZhbmN5Ym94LXRpdGxlLW92ZXIiPicrCmErIjwvc3Bhbj4iO2RlZmF1bHQ6cmV0dXJuJzxzcGFuIGlkPSJmYW5jeWJveC10aXRsZS13cmFwIj48c3BhbiBpZD0iZmFuY3lib3gtdGl0bGUtbGVmdCI+PC9zcGFuPjxzcGFuIGlkPSJmYW5jeWJveC10aXRsZS1tYWluIj4nK2ErJzwvc3Bhbj48c3BhbiBpZD0iZmFuY3lib3gtdGl0bGUtcmlnaHQiPjwvc3Bhbj48L3NwYW4+J31yZXR1cm4gZmFsc2V9LFY9ZnVuY3Rpb24oKXt2YXIgYT1jLnRpdGxlLGQ9bC53aWR0aC1jLnBhZGRpbmcqMixmPSJmYW5jeWJveC10aXRsZS0iK2MudGl0bGVQb3NpdGlvbjtiKCIjZmFuY3lib3gtdGl0bGUiKS5yZW1vdmUoKTt2PTA7aWYoYy50aXRsZVNob3chPT1mYWxzZSl7YT1iLmlzRnVuY3Rpb24oYy50aXRsZUZvcm1hdCk/Yy50aXRsZUZvcm1hdChhLGosbixjKTpVKGEpO2lmKCEoIWF8fGE9PT0iIikpe2IoJzxkaXYgaWQ9ImZhbmN5Ym94LXRpdGxlIiBjbGFzcz0iJytmKyciIC8+JykuY3NzKHt3aWR0aDpkLHBhZGRpbmdMZWZ0OmMucGFkZGluZywKcGFkZGluZ1JpZ2h0OmMucGFkZGluZ30pLmh0bWwoYSkuYXBwZW5kVG8oImJvZHkiKTtzd2l0Y2goYy50aXRsZVBvc2l0aW9uKXtjYXNlICJpbnNpZGUiOnY9YigiI2ZhbmN5Ym94LXRpdGxlIikub3V0ZXJIZWlnaHQodHJ1ZSktYy5wYWRkaW5nO2wuaGVpZ2h0Kz12O2JyZWFrO2Nhc2UgIm92ZXIiOmIoIiNmYW5jeWJveC10aXRsZSIpLmNzcygiYm90dG9tIixjLnBhZGRpbmcpO2JyZWFrO2RlZmF1bHQ6YigiI2ZhbmN5Ym94LXRpdGxlIikuY3NzKCJib3R0b20iLGIoIiNmYW5jeWJveC10aXRsZSIpLm91dGVySGVpZ2h0KHRydWUpKi0xKTticmVha31iKCIjZmFuY3lib3gtdGl0bGUiKS5hcHBlbmRUbyhEKS5oaWRlKCl9fX0sVz1mdW5jdGlvbigpe2IoZG9jdW1lbnQpLnVuYmluZCgia2V5ZG93bi5mYiIpLmJpbmQoImtleWRvd24uZmIiLGZ1bmN0aW9uKGEpe2lmKGEua2V5Q29kZT09MjcmJmMuZW5hYmxlRXNjYXBlQnV0dG9uKXthLnByZXZlbnREZWZhdWx0KCk7Yi5mYW5jeWJveC5jbG9zZSgpfWVsc2UgaWYoYS5rZXlDb2RlPT0KMzcpe2EucHJldmVudERlZmF1bHQoKTtiLmZhbmN5Ym94LnByZXYoKX1lbHNlIGlmKGEua2V5Q29kZT09Mzkpe2EucHJldmVudERlZmF1bHQoKTtiLmZhbmN5Ym94Lm5leHQoKX19KTtpZihiLmZuLm1vdXNld2hlZWwpe2cudW5iaW5kKCJtb3VzZXdoZWVsLmZiIik7ai5sZW5ndGg+MSYmZy5iaW5kKCJtb3VzZXdoZWVsLmZiIixmdW5jdGlvbihhLGQpe2EucHJldmVudERlZmF1bHQoKTtofHxkPT09MHx8KGQ+MD9iLmZhbmN5Ym94LnByZXYoKTpiLmZhbmN5Ym94Lm5leHQoKSl9KX1pZihjLnNob3dOYXZBcnJvd3Mpe2lmKGMuY3ljbGljJiZqLmxlbmd0aD4xfHxuIT09MClBLnNob3coKTtpZihjLmN5Y2xpYyYmai5sZW5ndGg+MXx8biE9ai5sZW5ndGgtMSlCLnNob3coKX19LFg9ZnVuY3Rpb24oKXt2YXIgYSxkO2lmKGoubGVuZ3RoLTE+bil7YT1qW24rMV0uaHJlZjtpZih0eXBlb2YgYSE9PSJ1bmRlZmluZWQiJiZhLm1hdGNoKEcpKXtkPW5ldyBJbWFnZTtkLnNyYz1hfX1pZihuPjApe2E9Cmpbbi0xXS5ocmVmO2lmKHR5cGVvZiBhIT09InVuZGVmaW5lZCImJmEubWF0Y2goRykpe2Q9bmV3IEltYWdlO2Quc3JjPWF9fX0sTD1mdW5jdGlvbigpe2kuY3NzKCJvdmVyZmxvdyIsYy5zY3JvbGxpbmc9PSJhdXRvIj9jLnR5cGU9PSJpbWFnZSJ8fGMudHlwZT09ImlmcmFtZSJ8fGMudHlwZT09InN3ZiI/ImhpZGRlbiI6ImF1dG8iOmMuc2Nyb2xsaW5nPT0ieWVzIj8iYXV0byI6InZpc2libGUiKTtpZighYi5zdXBwb3J0Lm9wYWNpdHkpe2kuZ2V0KDApLnN0eWxlLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIik7Zy5nZXQoMCkuc3R5bGUucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKX1iKCIjZmFuY3lib3gtdGl0bGUiKS5zaG93KCk7Yy5oaWRlT25Db250ZW50Q2xpY2smJmkub25lKCJjbGljayIsYi5mYW5jeWJveC5jbG9zZSk7Yy5oaWRlT25PdmVybGF5Q2xpY2smJngub25lKCJjbGljayIsYi5mYW5jeWJveC5jbG9zZSk7Yy5zaG93Q2xvc2VCdXR0b24mJnouc2hvdygpO1coKTtiKHdpbmRvdykuYmluZCgicmVzaXplLmZiIiwKYi5mYW5jeWJveC5jZW50ZXIpO2MuY2VudGVyT25TY3JvbGw/Yih3aW5kb3cpLmJpbmQoInNjcm9sbC5mYiIsYi5mYW5jeWJveC5jZW50ZXIpOmIod2luZG93KS51bmJpbmQoInNjcm9sbC5mYiIpO2IuaXNGdW5jdGlvbihjLm9uQ29tcGxldGUpJiZjLm9uQ29tcGxldGUoaixuLGMpO2g9ZmFsc2U7WCgpfSxNPWZ1bmN0aW9uKGEpe3ZhciBkPU1hdGgucm91bmQoay53aWR0aCsobC53aWR0aC1rLndpZHRoKSphKSxmPU1hdGgucm91bmQoay5oZWlnaHQrKGwuaGVpZ2h0LWsuaGVpZ2h0KSphKSxvPU1hdGgucm91bmQoay50b3ArKGwudG9wLWsudG9wKSphKSx0PU1hdGgucm91bmQoay5sZWZ0KyhsLmxlZnQtay5sZWZ0KSphKTtnLmNzcyh7d2lkdGg6ZCsicHgiLGhlaWdodDpmKyJweCIsdG9wOm8rInB4IixsZWZ0OnQrInB4In0pO2Q9TWF0aC5tYXgoZC1jLnBhZGRpbmcqMiwwKTtmPU1hdGgubWF4KGYtKGMucGFkZGluZyoyK3YqYSksMCk7aS5jc3Moe3dpZHRoOmQrInB4IixoZWlnaHQ6ZisKInB4In0pO2lmKHR5cGVvZiBsLm9wYWNpdHkhPT0idW5kZWZpbmVkIilnLmNzcygib3BhY2l0eSIsYTwwLjU/MC41OmEpfSxZPWZ1bmN0aW9uKGEpe3ZhciBkPWEub2Zmc2V0KCk7ZC50b3ArPXBhcnNlRmxvYXQoYS5jc3MoInBhZGRpbmdUb3AiKSl8fDA7ZC5sZWZ0Kz1wYXJzZUZsb2F0KGEuY3NzKCJwYWRkaW5nTGVmdCIpKXx8MDtkLnRvcCs9cGFyc2VGbG9hdChhLmNzcygiYm9yZGVyLXRvcC13aWR0aCIpKXx8MDtkLmxlZnQrPXBhcnNlRmxvYXQoYS5jc3MoImJvcmRlci1sZWZ0LXdpZHRoIikpfHwwO2Qud2lkdGg9YS53aWR0aCgpO2QuaGVpZ2h0PWEuaGVpZ2h0KCk7cmV0dXJuIGR9LFE9ZnVuY3Rpb24oKXt2YXIgYT1lLm9yaWc/YihlLm9yaWcpOmZhbHNlLGQ9e307aWYoYSYmYS5sZW5ndGgpe2E9WShhKTtkPXt3aWR0aDphLndpZHRoK2MucGFkZGluZyoyLGhlaWdodDphLmhlaWdodCtjLnBhZGRpbmcqMix0b3A6YS50b3AtYy5wYWRkaW5nLTIwLGxlZnQ6YS5sZWZ0LWMucGFkZGluZy0KMjB9fWVsc2V7YT1LKCk7ZD17d2lkdGg6MSxoZWlnaHQ6MSx0b3A6YVszXSthWzFdKjAuNSxsZWZ0OmFbMl0rYVswXSowLjV9fXJldHVybiBkfSxOPWZ1bmN0aW9uKCl7dS5oaWRlKCk7aWYoZy5pcygiOnZpc2libGUiKSYmYi5pc0Z1bmN0aW9uKGMub25DbGVhbnVwKSlpZihjLm9uQ2xlYW51cChqLG4sYyk9PT1mYWxzZSl7Yi5ldmVudC50cmlnZ2VyKCJmYW5jeWJveC1jYW5jZWwiKTtoPWZhbHNlO3JldHVybn1qPXE7bj1wO2M9ZTtpLmdldCgwKS5zY3JvbGxUb3A9MDtpLmdldCgwKS5zY3JvbGxMZWZ0PTA7aWYoYy5vdmVybGF5U2hvdyl7TyYmYigic2VsZWN0Om5vdCgjZmFuY3lib3gtdG1wIHNlbGVjdCkiKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdHlsZS52aXNpYmlsaXR5IT09ImhpZGRlbiJ9KS5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiJ9KS5vbmUoImZhbmN5Ym94LWNsZWFudXAiLGZ1bmN0aW9uKCl7dGhpcy5zdHlsZS52aXNpYmlsaXR5PSJpbmhlcml0In0pOwp4LmNzcyh7ImJhY2tncm91bmQtY29sb3IiOmMub3ZlcmxheUNvbG9yLG9wYWNpdHk6Yy5vdmVybGF5T3BhY2l0eX0pLnVuYmluZCgpLnNob3coKX1sPVQoKTtWKCk7aWYoZy5pcygiOnZpc2libGUiKSl7Yih6LmFkZChBKS5hZGQoQikpLmhpZGUoKTt2YXIgYT1nLnBvc2l0aW9uKCksZDtrPXt0b3A6YS50b3AsbGVmdDphLmxlZnQsd2lkdGg6Zy53aWR0aCgpLGhlaWdodDpnLmhlaWdodCgpfTtkPWsud2lkdGg9PWwud2lkdGgmJmsuaGVpZ2h0PT1sLmhlaWdodDtpLmZhZGVPdXQoYy5jaGFuZ2VGYWRlLGZ1bmN0aW9uKCl7dmFyIGY9ZnVuY3Rpb24oKXtpLmh0bWwobS5jb250ZW50cygpKS5mYWRlSW4oYy5jaGFuZ2VGYWRlLEwpfTtiLmV2ZW50LnRyaWdnZXIoImZhbmN5Ym94LWNoYW5nZSIpO2kuZW1wdHkoKS5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIik7aWYoZCl7aS5jc3Moe3RvcDpjLnBhZGRpbmcsbGVmdDpjLnBhZGRpbmcsd2lkdGg6TWF0aC5tYXgobC53aWR0aC1jLnBhZGRpbmcqCjIsMSksaGVpZ2h0Ok1hdGgubWF4KGwuaGVpZ2h0LWMucGFkZGluZyoyLXYsMSl9KTtmKCl9ZWxzZXtpLmNzcyh7dG9wOmMucGFkZGluZyxsZWZ0OmMucGFkZGluZyx3aWR0aDpNYXRoLm1heChrLndpZHRoLWMucGFkZGluZyoyLDEpLGhlaWdodDpNYXRoLm1heChrLmhlaWdodC1jLnBhZGRpbmcqMiwxKX0pO3kucHJvcD0wO2IoeSkuYW5pbWF0ZSh7cHJvcDoxfSx7ZHVyYXRpb246Yy5jaGFuZ2VTcGVlZCxlYXNpbmc6Yy5lYXNpbmdDaGFuZ2Usc3RlcDpNLGNvbXBsZXRlOmZ9KX19KX1lbHNle2cuY3NzKCJvcGFjaXR5IiwxKTtpZihjLnRyYW5zaXRpb25Jbj09ImVsYXN0aWMiKXtrPVEoKTtpLmNzcyh7dG9wOmMucGFkZGluZyxsZWZ0OmMucGFkZGluZyx3aWR0aDpNYXRoLm1heChrLndpZHRoLWMucGFkZGluZyoyLDEpLGhlaWdodDpNYXRoLm1heChrLmhlaWdodC1jLnBhZGRpbmcqMiwxKX0pLmh0bWwobS5jb250ZW50cygpKTtnLmNzcyhrKS5zaG93KCk7aWYoYy5vcGFjaXR5KWwub3BhY2l0eT0KMDt5LnByb3A9MDtiKHkpLmFuaW1hdGUoe3Byb3A6MX0se2R1cmF0aW9uOmMuc3BlZWRJbixlYXNpbmc6Yy5lYXNpbmdJbixzdGVwOk0sY29tcGxldGU6TH0pfWVsc2V7aS5jc3Moe3RvcDpjLnBhZGRpbmcsbGVmdDpjLnBhZGRpbmcsd2lkdGg6TWF0aC5tYXgobC53aWR0aC1jLnBhZGRpbmcqMiwxKSxoZWlnaHQ6TWF0aC5tYXgobC5oZWlnaHQtYy5wYWRkaW5nKjItdiwxKX0pLmh0bWwobS5jb250ZW50cygpKTtnLmNzcyhsKS5mYWRlSW4oYy50cmFuc2l0aW9uSW49PSJub25lIj8wOmMuc3BlZWRJbixMKX19fSxGPWZ1bmN0aW9uKCl7bS53aWR0aChlLndpZHRoKTttLmhlaWdodChlLmhlaWdodCk7aWYoZS53aWR0aD09ImF1dG8iKWUud2lkdGg9bS53aWR0aCgpO2lmKGUuaGVpZ2h0PT0iYXV0byIpZS5oZWlnaHQ9bS5oZWlnaHQoKTtOKCl9LFo9ZnVuY3Rpb24oKXtoPXRydWU7ZS53aWR0aD1zLndpZHRoO2UuaGVpZ2h0PXMuaGVpZ2h0O2IoIjxpbWcgLz4iKS5hdHRyKHtpZDoiZmFuY3lib3gtaW1nIiwKc3JjOnMuc3JjLGFsdDplLnRpdGxlfSkuYXBwZW5kVG8obSk7TigpfSxDPWZ1bmN0aW9uKCl7SigpO3ZhciBhPXFbcF0sZCxmLG8sdCx3O2U9Yi5leHRlbmQoe30sYi5mbi5mYW5jeWJveC5kZWZhdWx0cyx0eXBlb2YgYihhKS5kYXRhKCJmYW5jeWJveCIpPT0idW5kZWZpbmVkIj9lOmIoYSkuZGF0YSgiZmFuY3lib3giKSk7bz1hLnRpdGxlfHxiKGEpLnRpdGxlfHxlLnRpdGxlfHwiIjtpZihhLm5vZGVOYW1lJiYhZS5vcmlnKWUub3JpZz1iKGEpLmNoaWxkcmVuKCJpbWc6Zmlyc3QiKS5sZW5ndGg/YihhKS5jaGlsZHJlbigiaW1nOmZpcnN0Iik6YihhKTtpZihvPT09IiImJmUub3JpZylvPWUub3JpZy5hdHRyKCJhbHQiKTtkPWEubm9kZU5hbWUmJi9eKD86amF2YXNjcmlwdHwjKS9pLnRlc3QoYS5ocmVmKT9lLmhyZWZ8fG51bGw6ZS5ocmVmfHxhLmhyZWZ8fG51bGw7aWYoZS50eXBlKXtmPWUudHlwZTtpZighZClkPWUuY29udGVudH1lbHNlIGlmKGUuY29udGVudClmPSJodG1sIjtlbHNlIGlmKGQpaWYoZC5tYXRjaChHKSlmPQoiaW1hZ2UiO2Vsc2UgaWYoZC5tYXRjaChTKSlmPSJzd2YiO2Vsc2UgaWYoYihhKS5oYXNDbGFzcygiaWZyYW1lIikpZj0iaWZyYW1lIjtlbHNlIGlmKGQubWF0Y2goLyMvKSl7YT1kLnN1YnN0cihkLmluZGV4T2YoIiMiKSk7Zj1iKGEpLmxlbmd0aD4wPyJpbmxpbmUiOiJhamF4In1lbHNlIGY9ImFqYXgiO2Vsc2UgZj0iaW5saW5lIjtlLnR5cGU9ZjtlLmhyZWY9ZDtlLnRpdGxlPW87aWYoZS5hdXRvRGltZW5zaW9ucyYmZS50eXBlIT09ImlmcmFtZSImJmUudHlwZSE9PSJzd2YiKXtlLndpZHRoPSJhdXRvIjtlLmhlaWdodD0iYXV0byJ9aWYoZS5tb2RhbCl7ZS5vdmVybGF5U2hvdz10cnVlO2UuaGlkZU9uT3ZlcmxheUNsaWNrPWZhbHNlO2UuaGlkZU9uQ29udGVudENsaWNrPWZhbHNlO2UuZW5hYmxlRXNjYXBlQnV0dG9uPWZhbHNlO2Uuc2hvd0Nsb3NlQnV0dG9uPWZhbHNlfWlmKGIuaXNGdW5jdGlvbihlLm9uU3RhcnQpKWlmKGUub25TdGFydChxLHAsZSk9PT1mYWxzZSl7aD1mYWxzZTsKcmV0dXJufW0uY3NzKCJwYWRkaW5nIiwyMCtlLnBhZGRpbmcrZS5tYXJnaW4pO2IoIi5mYW5jeWJveC1pbmxpbmUtdG1wIikudW5iaW5kKCJmYW5jeWJveC1jYW5jZWwiKS5iaW5kKCJmYW5jeWJveC1jaGFuZ2UiLGZ1bmN0aW9uKCl7Yih0aGlzKS5yZXBsYWNlV2l0aChpLmNoaWxkcmVuKCkpfSk7c3dpdGNoKGYpe2Nhc2UgImh0bWwiOm0uaHRtbChlLmNvbnRlbnQpO0YoKTticmVhaztjYXNlICJpbmxpbmUiOmIoJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWlubGluZS10bXAiIC8+JykuaGlkZSgpLmluc2VydEJlZm9yZShiKGEpKS5iaW5kKCJmYW5jeWJveC1jbGVhbnVwIixmdW5jdGlvbigpe2IodGhpcykucmVwbGFjZVdpdGgoaS5jaGlsZHJlbigpKX0pLmJpbmQoImZhbmN5Ym94LWNhbmNlbCIsZnVuY3Rpb24oKXtiKHRoaXMpLnJlcGxhY2VXaXRoKG0uY2hpbGRyZW4oKSl9KTtiKGEpLmFwcGVuZFRvKG0pO0YoKTticmVhaztjYXNlICJpbWFnZSI6aD1mYWxzZTtiLmZhbmN5Ym94LnNob3dBY3Rpdml0eSgpOwpzPW5ldyBJbWFnZTtzLm9uZXJyb3I9ZnVuY3Rpb24oKXtQKCl9O3Mub25sb2FkPWZ1bmN0aW9uKCl7cy5vbmVycm9yPW51bGw7cy5vbmxvYWQ9bnVsbDtaKCl9O3Muc3JjPWQ7YnJlYWs7Y2FzZSAic3dmIjp0PSc8b2JqZWN0IGNsYXNzaWQ9ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMCIgd2lkdGg9IicrZS53aWR0aCsnIiBoZWlnaHQ9IicrZS5oZWlnaHQrJyI+PHBhcmFtIG5hbWU9Im1vdmllIiB2YWx1ZT0iJytkKyciPjwvcGFyYW0+Jzt3PSIiO2IuZWFjaChlLnN3ZixmdW5jdGlvbihyLFIpe3QrPSc8cGFyYW0gbmFtZT0iJytyKyciIHZhbHVlPSInK1IrJyI+PC9wYXJhbT4nO3crPSIgIityKyc9IicrUisnIid9KTt0Kz0nPGVtYmVkIHNyYz0iJytkKyciIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiB3aWR0aD0iJytlLndpZHRoKyciIGhlaWdodD0iJytlLmhlaWdodCsnIicrdysiPjwvZW1iZWQ+PC9vYmplY3Q+IjttLmh0bWwodCk7CkYoKTticmVhaztjYXNlICJhamF4IjphPWQuc3BsaXQoIiMiLDIpO2Y9ZS5hamF4LmRhdGF8fHt9O2lmKGEubGVuZ3RoPjEpe2Q9YVswXTtpZih0eXBlb2YgZj09InN0cmluZyIpZis9IiZzZWxlY3Rvcj0iK2FbMV07ZWxzZSBmLnNlbGVjdG9yPWFbMV19aD1mYWxzZTtiLmZhbmN5Ym94LnNob3dBY3Rpdml0eSgpO0U9Yi5hamF4KGIuZXh0ZW5kKGUuYWpheCx7dXJsOmQsZGF0YTpmLGVycm9yOlAsc3VjY2VzczpmdW5jdGlvbihyKXtpZihFLnN0YXR1cz09MjAwKXttLmh0bWwocik7RigpfX19KSk7YnJlYWs7Y2FzZSAiaWZyYW1lIjpiKCc8aWZyYW1lIGlkPSJmYW5jeWJveC1mcmFtZSIgbmFtZT0iZmFuY3lib3gtZnJhbWUnKyhuZXcgRGF0ZSkuZ2V0VGltZSgpKyciIGZyYW1lYm9yZGVyPSIwIiBoc3BhY2U9IjAiIHNjcm9sbGluZz0iJytlLnNjcm9sbGluZysnIiBzcmM9IicrZS5ocmVmKyciPjwvaWZyYW1lPicpLmFwcGVuZFRvKG0pO04oKTticmVha319LCQ9ZnVuY3Rpb24oKXtpZih1LmlzKCI6dmlzaWJsZSIpKXtiKCJkaXYiLAp1KS5jc3MoInRvcCIsSSotNDArInB4Iik7ST0oSSsxKSUxMn1lbHNlIGNsZWFySW50ZXJ2YWwoSCl9LGFhPWZ1bmN0aW9uKCl7aWYoIWIoIiNmYW5jeWJveC13cmFwIikubGVuZ3RoKXtiKCJib2R5IikuYXBwZW5kKG09YignPGRpdiBpZD0iZmFuY3lib3gtdG1wIj48L2Rpdj4nKSx1PWIoJzxkaXYgaWQ9ImZhbmN5Ym94LWxvYWRpbmciPjxkaXY+PC9kaXY+PC9kaXY+JykseD1iKCc8ZGl2IGlkPSJmYW5jeWJveC1vdmVybGF5Ij48L2Rpdj4nKSxnPWIoJzxkaXYgaWQ9ImZhbmN5Ym94LXdyYXAiPjwvZGl2PicpKTtpZighYi5zdXBwb3J0Lm9wYWNpdHkpe2cuYWRkQ2xhc3MoImZhbmN5Ym94LWllIik7dS5hZGRDbGFzcygiZmFuY3lib3gtaWUiKX1EPWIoJzxkaXYgaWQ9ImZhbmN5Ym94LW91dGVyIj48L2Rpdj4nKS5hcHBlbmQoJzxkaXYgY2xhc3M9ImZhbmN5LWJnIiBpZD0iZmFuY3ktYmctbiI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3ktYmciIGlkPSJmYW5jeS1iZy1uZSI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3ktYmciIGlkPSJmYW5jeS1iZy1lIj48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeS1iZyIgaWQ9ImZhbmN5LWJnLXNlIj48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeS1iZyIgaWQ9ImZhbmN5LWJnLXMiPjwvZGl2PjxkaXYgY2xhc3M9ImZhbmN5LWJnIiBpZD0iZmFuY3ktYmctc3ciPjwvZGl2PjxkaXYgY2xhc3M9ImZhbmN5LWJnIiBpZD0iZmFuY3ktYmctdyI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3ktYmciIGlkPSJmYW5jeS1iZy1udyI+PC9kaXY+JykuYXBwZW5kVG8oZyk7CkQuYXBwZW5kKGk9YignPGRpdiBpZD0iZmFuY3lib3gtaW5uZXIiPjwvZGl2PicpLHo9YignPGEgaWQ9ImZhbmN5Ym94LWNsb3NlIj48L2E+JyksQT1iKCc8YSBocmVmPSJqYXZhc2NyaXB0OjsiIGlkPSJmYW5jeWJveC1sZWZ0Ij48c3BhbiBjbGFzcz0iZmFuY3ktaWNvIiBpZD0iZmFuY3lib3gtbGVmdC1pY28iPjwvc3Bhbj48L2E+JyksQj1iKCc8YSBocmVmPSJqYXZhc2NyaXB0OjsiIGlkPSJmYW5jeWJveC1yaWdodCI+PHNwYW4gY2xhc3M9ImZhbmN5LWljbyIgaWQ9ImZhbmN5Ym94LXJpZ2h0LWljbyI+PC9zcGFuPjwvYT4nKSk7ei5jbGljayhiLmZhbmN5Ym94LmNsb3NlKTt1LmNsaWNrKGIuZmFuY3lib3guY2FuY2VsKTtBLmNsaWNrKGZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKTtiLmZhbmN5Ym94LnByZXYoKX0pO0IuY2xpY2soZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpO2IuZmFuY3lib3gubmV4dCgpfSk7aWYoTyl7eC5nZXQoMCkuc3R5bGUuc2V0RXhwcmVzc2lvbigiaGVpZ2h0IiwKImRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0ID4gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQgPyBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCA6IGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0ICsgJ3B4JyIpO3UuZ2V0KDApLnN0eWxlLnNldEV4cHJlc3Npb24oInRvcCIsIigtMjAgKyAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCA/IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQvMiA6IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0LzIgKSArICggaWdub3JlTWUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA6IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wICkpICsgJ3B4JyIpO0QucHJlcGVuZCgnPGlmcmFtZSBpZD0iZmFuY3lib3gtaGlkZS1zZWwtZnJhbWUiIHNyYz0iamF2YXNjcmlwdDpcJ1wnOyIgc2Nyb2xsaW5nPSJubyIgZnJhbWVib3JkZXI9IjAiID48L2lmcmFtZT4nKX19fTsKYi5mbi5mYW5jeWJveD1mdW5jdGlvbihhKXtiKHRoaXMpLmRhdGEoImZhbmN5Ym94IixiLmV4dGVuZCh7fSxhLGIubWV0YWRhdGE/Yih0aGlzKS5tZXRhZGF0YSgpOnt9KSkudW5iaW5kKCJjbGljay5mYiIpLmJpbmQoImNsaWNrLmZiIixmdW5jdGlvbihkKXtkLnByZXZlbnREZWZhdWx0KCk7aWYoIWgpe2g9dHJ1ZTtiKHRoaXMpLmJsdXIoKTtxPVtdO3A9MDtkPWIodGhpcykuYXR0cigicmVsIil8fCIiO2lmKCFkfHxkPT0iInx8ZD09PSJub2ZvbGxvdyIpcS5wdXNoKHRoaXMpO2Vsc2V7cT1iKCJhW3JlbD0iK2QrIl0sIGFyZWFbcmVsPSIrZCsiXSIpO3A9cS5pbmRleCh0aGlzKX1DKCk7cmV0dXJuIGZhbHNlfX0pO3JldHVybiB0aGlzfTtiLmZhbmN5Ym94PWZ1bmN0aW9uKGEsZCl7aWYoIWgpe2g9dHJ1ZTtkPXR5cGVvZiBkIT09InVuZGVmaW5lZCI/ZDp7fTtxPVtdO3A9ZC5pbmRleHx8MDtpZihiLmlzQXJyYXkoYSkpe2Zvcih2YXIgZj0wLG89YS5sZW5ndGg7ZjxvO2YrKylpZih0eXBlb2YgYVtmXT09CiJvYmplY3QiKWIoYVtmXSkuZGF0YSgiZmFuY3lib3giLGIuZXh0ZW5kKHt9LGQsYVtmXSkpO2Vsc2UgYVtmXT1iKHt9KS5kYXRhKCJmYW5jeWJveCIsYi5leHRlbmQoe2NvbnRlbnQ6YVtmXX0sZCkpO3E9alF1ZXJ5Lm1lcmdlKHEsYSl9ZWxzZXtpZih0eXBlb2YgYT09Im9iamVjdCIpYihhKS5kYXRhKCJmYW5jeWJveCIsYi5leHRlbmQoe30sZCxhKSk7ZWxzZSBhPWIoe30pLmRhdGEoImZhbmN5Ym94IixiLmV4dGVuZCh7Y29udGVudDphfSxkKSk7cS5wdXNoKGEpfWlmKHA+cS5sZW5ndGh8fHA8MClwPTA7QygpfX07Yi5mYW5jeWJveC5zaG93QWN0aXZpdHk9ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKEgpO3Uuc2hvdygpO0g9c2V0SW50ZXJ2YWwoJCw2Nil9O2IuZmFuY3lib3guaGlkZUFjdGl2aXR5PWZ1bmN0aW9uKCl7dS5oaWRlKCl9O2IuZmFuY3lib3gubmV4dD1mdW5jdGlvbigpe3JldHVybiBiLmZhbmN5Ym94LnBvcyhuKzEpfTtiLmZhbmN5Ym94LnByZXY9ZnVuY3Rpb24oKXtyZXR1cm4gYi5mYW5jeWJveC5wb3Mobi0KMSl9O2IuZmFuY3lib3gucG9zPWZ1bmN0aW9uKGEpe2lmKCFoKXthPXBhcnNlSW50KGEsMTApO2lmKGE+LTEmJmoubGVuZ3RoPmEpe3A9YTtDKCl9aWYoYy5jeWNsaWMmJmoubGVuZ3RoPjEmJmE8MCl7cD1qLmxlbmd0aC0xO0MoKX1pZihjLmN5Y2xpYyYmai5sZW5ndGg+MSYmYT49ai5sZW5ndGgpe3A9MDtDKCl9fX07Yi5mYW5jeWJveC5jYW5jZWw9ZnVuY3Rpb24oKXtpZighaCl7aD10cnVlO2IuZXZlbnQudHJpZ2dlcigiZmFuY3lib3gtY2FuY2VsIik7SigpO2UmJmIuaXNGdW5jdGlvbihlLm9uQ2FuY2VsKSYmZS5vbkNhbmNlbChxLHAsZSk7aD1mYWxzZX19O2IuZmFuY3lib3guY2xvc2U9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7eC5mYWRlT3V0KCJmYXN0Iik7Zy5oaWRlKCk7Yi5ldmVudC50cmlnZ2VyKCJmYW5jeWJveC1jbGVhbnVwIik7aS5lbXB0eSgpO2IuaXNGdW5jdGlvbihjLm9uQ2xvc2VkKSYmYy5vbkNsb3NlZChqLG4sYyk7aj1lPVtdO249cD0wO2M9ZT17fTtoPWZhbHNlfQppZighKGh8fGcuaXMoIjpoaWRkZW4iKSkpe2g9dHJ1ZTtpZihjJiZiLmlzRnVuY3Rpb24oYy5vbkNsZWFudXApKWlmKGMub25DbGVhbnVwKGosbixjKT09PWZhbHNlKXtoPWZhbHNlO3JldHVybn1KKCk7Yih6LmFkZChBKS5hZGQoQikpLmhpZGUoKTtiKCIjZmFuY3lib3gtdGl0bGUiKS5yZW1vdmUoKTtnLmFkZChpKS5hZGQoeCkudW5iaW5kKCk7Yih3aW5kb3cpLnVuYmluZCgicmVzaXplLmZiIHNjcm9sbC5mYiIpO2IoZG9jdW1lbnQpLnVuYmluZCgia2V5ZG93bi5mYiIpO2kuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpO2lmKGMudHJhbnNpdGlvbk91dD09ImVsYXN0aWMiKXtrPVEoKTt2YXIgZD1nLnBvc2l0aW9uKCk7bD17dG9wOmQudG9wLGxlZnQ6ZC5sZWZ0LHdpZHRoOmcud2lkdGgoKSxoZWlnaHQ6Zy5oZWlnaHQoKX07aWYoYy5vcGFjaXR5KWwub3BhY2l0eT0xO3kucHJvcD0xO2IoeSkuYW5pbWF0ZSh7cHJvcDowfSx7ZHVyYXRpb246Yy5zcGVlZE91dCxlYXNpbmc6Yy5lYXNpbmdPdXQsCnN0ZXA6TSxjb21wbGV0ZTphfSl9ZWxzZSBnLmZhZGVPdXQoYy50cmFuc2l0aW9uT3V0PT0ibm9uZSI/MDpjLnNwZWVkT3V0LGEpfX07Yi5mYW5jeWJveC5yZXNpemU9ZnVuY3Rpb24oKXt2YXIgYSxkO2lmKCEoaHx8Zy5pcygiOmhpZGRlbiIpKSl7aD10cnVlO2E9aS53cmFwSW5uZXIoIjxkaXYgc3R5bGU9J292ZXJmbG93OmF1dG8nPjwvZGl2PiIpLmNoaWxkcmVuKCk7ZD1hLmhlaWdodCgpO2cuY3NzKHtoZWlnaHQ6ZCtjLnBhZGRpbmcqMit2fSk7aS5jc3Moe2hlaWdodDpkfSk7YS5yZXBsYWNlV2l0aChhLmNoaWxkcmVuKCkpO2IuZmFuY3lib3guY2VudGVyKCl9fTtiLmZhbmN5Ym94LmNlbnRlcj1mdW5jdGlvbigpe2g9dHJ1ZTt2YXIgYT1LKCksZD1jLm1hcmdpbixmPXt9O2YudG9wPWFbM10rKGFbMV0tKGcuaGVpZ2h0KCktdis0MCkpKjAuNTtmLmxlZnQ9YVsyXSsoYVswXS0oZy53aWR0aCgpKzQwKSkqMC41O2YudG9wPU1hdGgubWF4KGFbM10rZCxmLnRvcCk7Zi5sZWZ0PU1hdGgubWF4KGFbMl0rCmQsZi5sZWZ0KTtnLmNzcyhmKTtoPWZhbHNlfTtiLmZuLmZhbmN5Ym94LmRlZmF1bHRzPXtwYWRkaW5nOjEwLG1hcmdpbjoyMCxvcGFjaXR5OmZhbHNlLG1vZGFsOmZhbHNlLGN5Y2xpYzpmYWxzZSxzY3JvbGxpbmc6ImF1dG8iLHdpZHRoOjU2MCxoZWlnaHQ6MzQwLGF1dG9TY2FsZTp0cnVlLGF1dG9EaW1lbnNpb25zOnRydWUsY2VudGVyT25TY3JvbGw6ZmFsc2UsYWpheDp7fSxzd2Y6e3dtb2RlOiJ0cmFuc3BhcmVudCJ9LGhpZGVPbk92ZXJsYXlDbGljazp0cnVlLGhpZGVPbkNvbnRlbnRDbGljazpmYWxzZSxvdmVybGF5U2hvdzp0cnVlLG92ZXJsYXlPcGFjaXR5OjAuMyxvdmVybGF5Q29sb3I6IiM2NjYiLHRpdGxlU2hvdzp0cnVlLHRpdGxlUG9zaXRpb246Im91dHNpZGUiLHRpdGxlRm9ybWF0Om51bGwsdHJhbnNpdGlvbkluOiJmYWRlIix0cmFuc2l0aW9uT3V0OiJmYWRlIixzcGVlZEluOjMwMCxzcGVlZE91dDozMDAsY2hhbmdlU3BlZWQ6MzAwLGNoYW5nZUZhZGU6ImZhc3QiLAplYXNpbmdJbjoic3dpbmciLGVhc2luZ091dDoic3dpbmciLHNob3dDbG9zZUJ1dHRvbjp0cnVlLHNob3dOYXZBcnJvd3M6dHJ1ZSxlbmFibGVFc2NhcGVCdXR0b246dHJ1ZSxvblN0YXJ0Om51bGwsb25DYW5jZWw6bnVsbCxvbkNvbXBsZXRlOm51bGwsb25DbGVhbnVwOm51bGwsb25DbG9zZWQ6bnVsbH07Yihkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXthYSgpfSl9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/jquery.mousewheel-3.0.2.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIENvcHlyaWdodCAoYykgMjAwOSBCcmFuZG9uIEFhcm9uIChodHRwOi8vYnJhbmRvbmFhcm9uLm5ldCkKICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocCkKICogYW5kIEdQTCAoaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5waHApIGxpY2Vuc2VzLgogKiBUaGFua3MgdG86IGh0dHA6Ly9hZG9tYXMub3JnL2phdmFzY3JpcHQtbW91c2Utd2hlZWwvIGZvciBzb21lIHBvaW50ZXJzLgogKiBUaGFua3MgdG86IE1hdGhpYXMgQmFuayhodHRwOi8vd3d3Lm1hdGhpYXMtYmFuay5kZSkgZm9yIGEgc2NvcGUgYnVnIGZpeC4KICoKICogVmVyc2lvbjogMy4wLjIKICogCiAqIFJlcXVpcmVzOiAxLjIuMisKICovCgooZnVuY3Rpb24oYil7ZnVuY3Rpb24gZChhKXt2YXIgZj1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPTA7YT1iLmV2ZW50LmZpeChhfHx3aW5kb3cuZXZlbnQpO2EudHlwZT0ibW91c2V3aGVlbCI7aWYoYS53aGVlbERlbHRhKWU9YS53aGVlbERlbHRhLzEyMDtpZihhLmRldGFpbCllPS1hLmRldGFpbC8zO2YudW5zaGlmdChhLGUpO3JldHVybiBiLmV2ZW50LmhhbmRsZS5hcHBseSh0aGlzLGYpfXZhciBjPVsiRE9NTW91c2VTY3JvbGwiLCJtb3VzZXdoZWVsIl07Yi5ldmVudC5zcGVjaWFsLm1vdXNld2hlZWw9e3NldHVwOmZ1bmN0aW9uKCl7aWYodGhpcy5hZGRFdmVudExpc3RlbmVyKWZvcih2YXIgYT1jLmxlbmd0aDthOyl0aGlzLmFkZEV2ZW50TGlzdGVuZXIoY1stLWFdLGQsZmFsc2UpO2Vsc2UgdGhpcy5vbm1vdXNld2hlZWw9ZH0sdGVhcmRvd246ZnVuY3Rpb24oKXtpZih0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIpZm9yKHZhciBhPWMubGVuZ3RoO2E7KXRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihjWy0tYV0sCmQsZmFsc2UpO2Vsc2UgdGhpcy5vbm1vdXNld2hlZWw9bnVsbH19O2IuZm4uZXh0ZW5kKHttb3VzZXdoZWVsOmZ1bmN0aW9uKGEpe3JldHVybiBhP3RoaXMuYmluZCgibW91c2V3aGVlbCIsYSk6dGhpcy50cmlnZ2VyKCJtb3VzZXdoZWVsIil9LHVubW91c2V3aGVlbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy51bmJpbmQoIm1vdXNld2hlZWwiLGEpfX0pfSkoalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.fancybox/transparent.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAJEAAAAAAP///////wAAACH5BAEHAAIALAAAAAABAAEAAAICVAEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.form.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAqIGpRdWVyeSBGb3JtIFBsdWdpbg0KICogdmVyc2lvbjogMi4xOCAoMDYtSkFOLTIwMDkpDQogKiBAcmVxdWlyZXMgalF1ZXJ5IHYxLjIuMiBvciBsYXRlcg0KICoNCiAqIEV4YW1wbGVzIGFuZCBkb2N1bWVudGF0aW9uIGF0OiBodHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvZm9ybS8NCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOg0KICogICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocA0KICogICBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwNCiAqDQogKiBSZXZpc2lvbjogJElkJA0KICovDQo7KGZ1bmN0aW9uKCQpIHsNCg0KLyoNCiAgICBVc2FnZSBOb3RlOiAgDQogICAgLS0tLS0tLS0tLS0NCiAgICBEbyBub3QgdXNlIGJvdGggYWpheFN1Ym1pdCBhbmQgYWpheEZvcm0gb24gdGhlIHNhbWUgZm9ybS4gIFRoZXNlDQogICAgZnVuY3Rpb25zIGFyZSBpbnRlbmRlZCB0byBiZSBleGNsdXNpdmUuICBVc2UgYWpheFN1Ym1pdCBpZiB5b3Ugd2FudA0KICAgIHRvIGJpbmQgeW91ciBvd24gc3VibWl0IGhhbmRsZXIgdG8gdGhlIGZvcm0uICBGb3IgZXhhbXBsZSwNCg0KICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgew0KICAgICAgICAkKCcjbXlGb3JtJykuYmluZCgnc3VibWl0JywgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAkKHRoaXMpLmFqYXhTdWJtaXQoew0KICAgICAgICAgICAgICAgIHRhcmdldDogJyNvdXRwdXQnDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gPC0tIGltcG9ydGFudCENCiAgICAgICAgfSk7DQogICAgfSk7DQoNCiAgICBVc2UgYWpheEZvcm0gd2hlbiB5b3Ugd2FudCB0aGUgcGx1Z2luIHRvIG1hbmFnZSBhbGwgdGhlIGV2ZW50IGJpbmRpbmcNCiAgICBmb3IgeW91LiAgRm9yIGV4YW1wbGUsDQoNCiAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsNCiAgICAgICAgJCgnI215Rm9ybScpLmFqYXhGb3JtKHsNCiAgICAgICAgICAgIHRhcmdldDogJyNvdXRwdXQnDQogICAgICAgIH0pOw0KICAgIH0pOw0KICAgICAgICANCiAgICBXaGVuIHVzaW5nIGFqYXhGb3JtLCB0aGUgYWpheFN1Ym1pdCBmdW5jdGlvbiB3aWxsIGJlIGludm9rZWQgZm9yIHlvdQ0KICAgIGF0IHRoZSBhcHByb3ByaWF0ZSB0aW1lLiAgDQoqLw0KDQovKioNCiAqIGFqYXhTdWJtaXQoKSBwcm92aWRlcyBhIG1lY2hhbmlzbSBmb3IgaW1tZWRpYXRlbHkgc3VibWl0dGluZyANCiAqIGFuIEhUTUwgZm9ybSB1c2luZyBBSkFYLg0KICovDQokLmZuLmFqYXhTdWJtaXQgPSBmdW5jdGlvbihvcHRpb25zKSB7DQogICAgLy8gZmFzdCBmYWlsIGlmIG5vdGhpbmcgc2VsZWN0ZWQgKGh0dHA6Ly9kZXYuanF1ZXJ5LmNvbS90aWNrZXQvMjc1MikNCiAgICBpZiAoIXRoaXMubGVuZ3RoKSB7DQogICAgICAgIGxvZygnYWpheFN1Ym1pdDogc2tpcHBpbmcgc3VibWl0IHByb2Nlc3MgLSBubyBlbGVtZW50IHNlbGVjdGVkJyk7DQogICAgICAgIHJldHVybiB0aGlzOw0KICAgIH0NCg0KICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PSAnZnVuY3Rpb24nKQ0KICAgICAgICBvcHRpb25zID0geyBzdWNjZXNzOiBvcHRpb25zIH07DQoNCiAgICBvcHRpb25zID0gJC5leHRlbmQoew0KICAgICAgICB1cmw6ICB0aGlzLmF0dHIoJ2FjdGlvbicpIHx8IHdpbmRvdy5sb2NhdGlvbi50b1N0cmluZygpLA0KICAgICAgICB0eXBlOiB0aGlzLmF0dHIoJ21ldGhvZCcpIHx8ICdHRVQnDQogICAgfSwgb3B0aW9ucyB8fCB7fSk7DQoNCiAgICAvLyBob29rIGZvciBtYW5pcHVsYXRpbmcgdGhlIGZvcm0gZGF0YSBiZWZvcmUgaXQgaXMgZXh0cmFjdGVkOw0KICAgIC8vIGNvbnZlbmllbnQgZm9yIHVzZSB3aXRoIHJpY2ggZWRpdG9ycyBsaWtlIHRpbnlNQ0Ugb3IgRkNLRWRpdG9yDQogICAgdmFyIHZldG8gPSB7fTsNCiAgICB0aGlzLnRyaWdnZXIoJ2Zvcm0tcHJlLXNlcmlhbGl6ZScsIFt0aGlzLCBvcHRpb25zLCB2ZXRvXSk7DQogICAgaWYgKHZldG8udmV0bykgew0KICAgICAgICBsb2coJ2FqYXhTdWJtaXQ6IHN1Ym1pdCB2ZXRvZWQgdmlhIGZvcm0tcHJlLXNlcmlhbGl6ZSB0cmlnZ2VyJyk7DQogICAgICAgIHJldHVybiB0aGlzOw0KICAgIH0NCg0KICAgIC8vIHByb3ZpZGUgb3Bwb3J0dW5pdHkgdG8gYWx0ZXIgZm9ybSBkYXRhIGJlZm9yZSBpdCBpcyBzZXJpYWxpemVkDQogICAgaWYgKG9wdGlvbnMuYmVmb3JlU2VyaWFsaXplICYmIG9wdGlvbnMuYmVmb3JlU2VyaWFsaXplKHRoaXMsIG9wdGlvbnMpID09PSBmYWxzZSkgew0KICAgICAgICBsb2coJ2FqYXhTdWJtaXQ6IHN1Ym1pdCBhYm9ydGVkIHZpYSBiZWZvcmVTZXJpYWxpemUgY2FsbGJhY2snKTsNCiAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgfSAgICANCiAgIA0KICAgIHZhciBhID0gdGhpcy5mb3JtVG9BcnJheShvcHRpb25zLnNlbWFudGljKTsNCiAgICBpZiAob3B0aW9ucy5kYXRhKSB7DQogICAgICAgIG9wdGlvbnMuZXh0cmFEYXRhID0gb3B0aW9ucy5kYXRhOw0KICAgICAgICBmb3IgKHZhciBuIGluIG9wdGlvbnMuZGF0YSkgew0KICAgICAgICAgIGlmKG9wdGlvbnMuZGF0YVtuXSBpbnN0YW5jZW9mIEFycmF5KSB7DQogICAgICAgICAgICBmb3IgKHZhciBrIGluIG9wdGlvbnMuZGF0YVtuXSkNCiAgICAgICAgICAgICAgYS5wdXNoKCB7IG5hbWU6IG4sIHZhbHVlOiBvcHRpb25zLmRhdGFbbl1ba10gfSApDQogICAgICAgICAgfSAgDQogICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgIGEucHVzaCggeyBuYW1lOiBuLCB2YWx1ZTogb3B0aW9ucy5kYXRhW25dIH0gKTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIC8vIGdpdmUgcHJlLXN1Ym1pdCBjYWxsYmFjayBhbiBvcHBvcnR1bml0eSB0byBhYm9ydCB0aGUgc3VibWl0DQogICAgaWYgKG9wdGlvbnMuYmVmb3JlU3VibWl0ICYmIG9wdGlvbnMuYmVmb3JlU3VibWl0KGEsIHRoaXMsIG9wdGlvbnMpID09PSBmYWxzZSkgew0KICAgICAgICBsb2coJ2FqYXhTdWJtaXQ6IHN1Ym1pdCBhYm9ydGVkIHZpYSBiZWZvcmVTdWJtaXQgY2FsbGJhY2snKTsNCiAgICAgICAgcmV0dXJuIHRoaXM7DQogICAgfSAgICANCg0KICAgIC8vIGZpcmUgdmV0b2FibGUgJ3ZhbGlkYXRlJyBldmVudA0KICAgIHRoaXMudHJpZ2dlcignZm9ybS1zdWJtaXQtdmFsaWRhdGUnLCBbYSwgdGhpcywgb3B0aW9ucywgdmV0b10pOw0KICAgIGlmICh2ZXRvLnZldG8pIHsNCiAgICAgICAgbG9nKCdhamF4U3VibWl0OiBzdWJtaXQgdmV0b2VkIHZpYSBmb3JtLXN1Ym1pdC12YWxpZGF0ZSB0cmlnZ2VyJyk7DQogICAgICAgIHJldHVybiB0aGlzOw0KICAgIH0gICAgDQoNCiAgICB2YXIgcSA9ICQucGFyYW0oYSk7DQoNCiAgICBpZiAob3B0aW9ucy50eXBlLnRvVXBwZXJDYXNlKCkgPT0gJ0dFVCcpIHsNCiAgICAgICAgb3B0aW9ucy51cmwgKz0gKG9wdGlvbnMudXJsLmluZGV4T2YoJz8nKSA+PSAwID8gJyYnIDogJz8nKSArIHE7DQogICAgICAgIG9wdGlvbnMuZGF0YSA9IG51bGw7ICAvLyBkYXRhIGlzIG51bGwgZm9yICdnZXQnDQogICAgfQ0KICAgIGVsc2UNCiAgICAgICAgb3B0aW9ucy5kYXRhID0gcTsgLy8gZGF0YSBpcyB0aGUgcXVlcnkgc3RyaW5nIGZvciAncG9zdCcNCg0KICAgIHZhciAkZm9ybSA9IHRoaXMsIGNhbGxiYWNrcyA9IFtdOw0KICAgIGlmIChvcHRpb25zLnJlc2V0Rm9ybSkgY2FsbGJhY2tzLnB1c2goZnVuY3Rpb24oKSB7ICRmb3JtLnJlc2V0Rm9ybSgpOyB9KTsNCiAgICBpZiAob3B0aW9ucy5jbGVhckZvcm0pIGNhbGxiYWNrcy5wdXNoKGZ1bmN0aW9uKCkgeyAkZm9ybS5jbGVhckZvcm0oKTsgfSk7DQoNCiAgICAvLyBwZXJmb3JtIGEgbG9hZCBvbiB0aGUgdGFyZ2V0IG9ubHkgaWYgZGF0YVR5cGUgaXMgbm90IHByb3ZpZGVkDQogICAgaWYgKCFvcHRpb25zLmRhdGFUeXBlICYmIG9wdGlvbnMudGFyZ2V0KSB7DQogICAgICAgIHZhciBvbGRTdWNjZXNzID0gb3B0aW9ucy5zdWNjZXNzIHx8IGZ1bmN0aW9uKCl7fTsNCiAgICAgICAgY2FsbGJhY2tzLnB1c2goZnVuY3Rpb24oZGF0YSkgew0KICAgICAgICAgICAgJChvcHRpb25zLnRhcmdldCkuaHRtbChkYXRhKS5lYWNoKG9sZFN1Y2Nlc3MsIGFyZ3VtZW50cyk7DQogICAgICAgIH0pOw0KICAgIH0NCiAgICBlbHNlIGlmIChvcHRpb25zLnN1Y2Nlc3MpDQogICAgICAgIGNhbGxiYWNrcy5wdXNoKG9wdGlvbnMuc3VjY2Vzcyk7DQoNCiAgICBvcHRpb25zLnN1Y2Nlc3MgPSBmdW5jdGlvbihkYXRhLCBzdGF0dXMpIHsNCiAgICAgICAgZm9yICh2YXIgaT0wLCBtYXg9Y2FsbGJhY2tzLmxlbmd0aDsgaSA8IG1heDsgaSsrKQ0KICAgICAgICAgICAgY2FsbGJhY2tzW2ldLmFwcGx5KG9wdGlvbnMsIFtkYXRhLCBzdGF0dXMsICRmb3JtXSk7DQogICAgfTsNCg0KICAgIC8vIGFyZSB0aGVyZSBmaWxlcyB0byB1cGxvYWQ/DQogICAgdmFyIGZpbGVzID0gJCgnaW5wdXQ6ZmlsZScsIHRoaXMpLmZpZWxkVmFsdWUoKTsNCiAgICB2YXIgZm91bmQgPSBmYWxzZTsNCiAgICBmb3IgKHZhciBqPTA7IGogPCBmaWxlcy5sZW5ndGg7IGorKykNCiAgICAgICAgaWYgKGZpbGVzW2pdKQ0KICAgICAgICAgICAgZm91bmQgPSB0cnVlOw0KDQogICAgLy8gb3B0aW9ucy5pZnJhbWUgYWxsb3dzIHVzZXIgdG8gZm9yY2UgaWZyYW1lIG1vZGUNCiAgIGlmIChvcHRpb25zLmlmcmFtZSB8fCBmb3VuZCkgeyANCiAgICAgICAvLyBoYWNrIHRvIGZpeCBTYWZhcmkgaGFuZyAodGhhbmtzIHRvIFRpbSBNb2xlbmRpamsgZm9yIHRoaXMpDQogICAgICAgLy8gc2VlOiAgaHR0cDovL2dyb3Vwcy5nb29nbGUuY29tL2dyb3VwL2pxdWVyeS1kZXYvYnJvd3NlX3RocmVhZC90aHJlYWQvMzYzOTViN2FiNTEwZGQ1ZA0KICAgICAgIGlmICgkLmJyb3dzZXIuc2FmYXJpICYmIG9wdGlvbnMuY2xvc2VLZWVwQWxpdmUpDQogICAgICAgICAgICQuZ2V0KG9wdGlvbnMuY2xvc2VLZWVwQWxpdmUsIGZpbGVVcGxvYWQpOw0KICAgICAgIGVsc2UNCiAgICAgICAgICAgZmlsZVVwbG9hZCgpOw0KICAgICAgIH0NCiAgIGVsc2UNCiAgICAgICAkLmFqYXgob3B0aW9ucyk7DQoNCiAgICAvLyBmaXJlICdub3RpZnknIGV2ZW50DQogICAgdGhpcy50cmlnZ2VyKCdmb3JtLXN1Ym1pdC1ub3RpZnknLCBbdGhpcywgb3B0aW9uc10pOw0KICAgIHJldHVybiB0aGlzOw0KDQoNCiAgICAvLyBwcml2YXRlIGZ1bmN0aW9uIGZvciBoYW5kbGluZyBmaWxlIHVwbG9hZHMgKGhhdCB0aXAgdG8gWUFIT08hKQ0KICAgIGZ1bmN0aW9uIGZpbGVVcGxvYWQoKSB7DQogICAgICAgIHZhciBmb3JtID0gJGZvcm1bMF07DQogICAgICAgIA0KICAgICAgICBpZiAoJCgnOmlucHV0W25hbWU9c3VibWl0XScsIGZvcm0pLmxlbmd0aCkgew0KICAgICAgICAgICAgYWxlcnQoJ0Vycm9yOiBGb3JtIGVsZW1lbnRzIG11c3Qgbm90IGJlIG5hbWVkICJzdWJtaXQiLicpOw0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB2YXIgb3B0cyA9ICQuZXh0ZW5kKHt9LCAkLmFqYXhTZXR0aW5ncywgb3B0aW9ucyk7DQoJCXZhciBzID0galF1ZXJ5LmV4dGVuZCh0cnVlLCB7fSwgJC5leHRlbmQodHJ1ZSwge30sICQuYWpheFNldHRpbmdzKSwgb3B0cyk7DQoNCiAgICAgICAgdmFyIGlkID0gJ2pxRm9ybUlPJyArIChuZXcgRGF0ZSgpLmdldFRpbWUoKSk7DQogICAgICAgIHZhciAkaW8gPSAkKCc8aWZyYW1lIGlkPSInICsgaWQgKyAnIiBuYW1lPSInICsgaWQgKyAnIiAvPicpOw0KICAgICAgICB2YXIgaW8gPSAkaW9bMF07DQoNCiAgICAgICAgaWYgKCQuYnJvd3Nlci5tc2llIHx8ICQuYnJvd3Nlci5vcGVyYSkgDQogICAgICAgICAgICBpby5zcmMgPSAnamF2YXNjcmlwdDpmYWxzZTtkb2N1bWVudC53cml0ZSgiIik7JzsNCiAgICAgICAgJGlvLmNzcyh7IHBvc2l0aW9uOiAnYWJzb2x1dGUnLCB0b3A6ICctMTAwMHB4JywgbGVmdDogJy0xMDAwcHgnIH0pOw0KDQogICAgICAgIHZhciB4aHIgPSB7IC8vIG1vY2sgb2JqZWN0DQogICAgICAgICAgICBhYm9ydGVkOiAwLA0KICAgICAgICAgICAgcmVzcG9uc2VUZXh0OiBudWxsLA0KICAgICAgICAgICAgcmVzcG9uc2VYTUw6IG51bGwsDQogICAgICAgICAgICBzdGF0dXM6IDAsDQogICAgICAgICAgICBzdGF0dXNUZXh0OiAnbi9hJywNCiAgICAgICAgICAgIGdldEFsbFJlc3BvbnNlSGVhZGVyczogZnVuY3Rpb24oKSB7fSwNCiAgICAgICAgICAgIGdldFJlc3BvbnNlSGVhZGVyOiBmdW5jdGlvbigpIHt9LA0KICAgICAgICAgICAgc2V0UmVxdWVzdEhlYWRlcjogZnVuY3Rpb24oKSB7fSwNCiAgICAgICAgICAgIGFib3J0OiBmdW5jdGlvbigpIHsgDQogICAgICAgICAgICAgICAgdGhpcy5hYm9ydGVkID0gMTsgDQogICAgICAgICAgICAgICAgJGlvLmF0dHIoJ3NyYycsJ2Fib3V0OmJsYW5rJyk7IC8vIGFib3J0IG9wIGluIHByb2dyZXNzDQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGcgPSBvcHRzLmdsb2JhbDsNCiAgICAgICAgLy8gdHJpZ2dlciBhamF4IGdsb2JhbCBldmVudHMgc28gdGhhdCBhY3Rpdml0eS9ibG9jayBpbmRpY2F0b3JzIHdvcmsgbGlrZSBub3JtYWwNCiAgICAgICAgaWYgKGcgJiYgISAkLmFjdGl2ZSsrKSAkLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpOw0KICAgICAgICBpZiAoZykgJC5ldmVudC50cmlnZ2VyKCJhamF4U2VuZCIsIFt4aHIsIG9wdHNdKTsNCg0KCQlpZiAocy5iZWZvcmVTZW5kICYmIHMuYmVmb3JlU2VuZCh4aHIsIHMpID09PSBmYWxzZSkgew0KCQkJcy5nbG9iYWwgJiYgalF1ZXJ5LmFjdGl2ZS0tOw0KCQkJcmV0dXJuOw0KICAgICAgICB9DQogICAgICAgIGlmICh4aHIuYWJvcnRlZCkNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgDQogICAgICAgIHZhciBjYkludm9rZWQgPSAwOw0KICAgICAgICB2YXIgdGltZWRPdXQgPSAwOw0KDQogICAgICAgIC8vIGFkZCBzdWJtaXR0aW5nIGVsZW1lbnQgdG8gZGF0YSBpZiB3ZSBrbm93IGl0DQogICAgICAgIHZhciBzdWIgPSBmb3JtLmNsazsNCiAgICAgICAgaWYgKHN1Yikgew0KICAgICAgICAgICAgdmFyIG4gPSBzdWIubmFtZTsNCiAgICAgICAgICAgIGlmIChuICYmICFzdWIuZGlzYWJsZWQpIHsNCiAgICAgICAgICAgICAgICBvcHRpb25zLmV4dHJhRGF0YSA9IG9wdGlvbnMuZXh0cmFEYXRhIHx8IHt9Ow0KICAgICAgICAgICAgICAgIG9wdGlvbnMuZXh0cmFEYXRhW25dID0gc3ViLnZhbHVlOw0KICAgICAgICAgICAgICAgIGlmIChzdWIudHlwZSA9PSAiaW1hZ2UiKSB7DQogICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZXh0cmFEYXRhW25hbWUrJy54J10gPSBmb3JtLmNsa194Ow0KICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmV4dHJhRGF0YVtuYW1lKycueSddID0gZm9ybS5jbGtfeTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAvLyB0YWtlIGEgYnJlYXRoIHNvIHRoYXQgcGVuZGluZyByZXBhaW50cyBnZXQgc29tZSBjcHUgdGltZSBiZWZvcmUgdGhlIHVwbG9hZCBzdGFydHMNCiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSBmb3JtIGF0dHJzIGFyZSBzZXQNCiAgICAgICAgICAgIHZhciB0ID0gJGZvcm0uYXR0cigndGFyZ2V0JyksIGEgPSAkZm9ybS5hdHRyKCdhY3Rpb24nKTsNCiAgICAgICAgICAgICRmb3JtLmF0dHIoew0KICAgICAgICAgICAgICAgIHRhcmdldDogICBpZCwNCiAgICAgICAgICAgICAgICBtZXRob2Q6ICAgJ1BPU1QnLA0KICAgICAgICAgICAgICAgIGFjdGlvbjogICBvcHRzLnVybA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICANCiAgICAgICAgICAgIC8vIGllIGJvcmtzIGluIHNvbWUgY2FzZXMgd2hlbiBzZXR0aW5nIGVuY29kaW5nDQogICAgICAgICAgICBpZiAoISBvcHRpb25zLnNraXBFbmNvZGluZ092ZXJyaWRlKSB7DQogICAgICAgICAgICAgICAgJGZvcm0uYXR0cih7DQogICAgICAgICAgICAgICAgICAgIGVuY29kaW5nOiAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsDQogICAgICAgICAgICAgICAgICAgIGVuY3R5cGU6ICAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8gc3VwcG9ydCB0aW1vdXQNCiAgICAgICAgICAgIGlmIChvcHRzLnRpbWVvdXQpDQogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgdGltZWRPdXQgPSB0cnVlOyBjYigpOyB9LCBvcHRzLnRpbWVvdXQpOw0KDQogICAgICAgICAgICAvLyBhZGQgImV4dHJhIiBkYXRhIHRvIGZvcm0gaWYgcHJvdmlkZWQgaW4gb3B0aW9ucw0KICAgICAgICAgICAgdmFyIGV4dHJhSW5wdXRzID0gW107DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmV4dHJhRGF0YSkNCiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgbiBpbiBvcHRpb25zLmV4dHJhRGF0YSkNCiAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhSW5wdXRzLnB1c2goDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJytuKyciIHZhbHVlPSInK29wdGlvbnMuZXh0cmFEYXRhW25dKyciIC8+JykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFwcGVuZFRvKGZvcm0pWzBdKTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIC8vIGFkZCBpZnJhbWUgdG8gZG9jIGFuZCBzdWJtaXQgdGhlIGZvcm0NCiAgICAgICAgICAgICAgICAkaW8uYXBwZW5kVG8oJ2JvZHknKTsNCiAgICAgICAgICAgICAgICBpby5hdHRhY2hFdmVudCA/IGlvLmF0dGFjaEV2ZW50KCdvbmxvYWQnLCBjYikgOiBpby5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgY2IsIGZhbHNlKTsNCiAgICAgICAgICAgICAgICBmb3JtLnN1Ym1pdCgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZmluYWxseSB7DQogICAgICAgICAgICAgICAgLy8gcmVzZXQgYXR0cnMgYW5kIHJlbW92ZSAiZXh0cmEiIGlucHV0IGVsZW1lbnRzDQogICAgICAgICAgICAgICAgJGZvcm0uYXR0cignYWN0aW9uJywgYSk7DQogICAgICAgICAgICAgICAgdCA/ICRmb3JtLmF0dHIoJ3RhcmdldCcsIHQpIDogJGZvcm0ucmVtb3ZlQXR0cigndGFyZ2V0Jyk7DQogICAgICAgICAgICAgICAgJChleHRyYUlucHV0cykucmVtb3ZlKCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sIDEwKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYigpIHsNCiAgICAgICAgICAgIGlmIChjYkludm9rZWQrKykgcmV0dXJuOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBpby5kZXRhY2hFdmVudCA/IGlvLmRldGFjaEV2ZW50KCdvbmxvYWQnLCBjYikgOiBpby5yZW1vdmVFdmVudExpc3RlbmVyKCdsb2FkJywgY2IsIGZhbHNlKTsNCg0KICAgICAgICAgICAgdmFyIG9wZXJhSGFjayA9IDA7DQogICAgICAgICAgICB2YXIgb2sgPSB0cnVlOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBpZiAodGltZWRPdXQpIHRocm93ICd0aW1lb3V0JzsNCiAgICAgICAgICAgICAgICAvLyBleHRyYWN0IHRoZSBzZXJ2ZXIgcmVzcG9uc2UgZnJvbSB0aGUgaWZyYW1lDQogICAgICAgICAgICAgICAgdmFyIGRhdGEsIGRvYzsNCg0KICAgICAgICAgICAgICAgIGRvYyA9IGlvLmNvbnRlbnRXaW5kb3cgPyBpby5jb250ZW50V2luZG93LmRvY3VtZW50IDogaW8uY29udGVudERvY3VtZW50ID8gaW8uY29udGVudERvY3VtZW50IDogaW8uZG9jdW1lbnQ7DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgaWYgKGRvYy5ib2R5ID09IG51bGwgJiYgIW9wZXJhSGFjayAmJiAkLmJyb3dzZXIub3BlcmEpIHsNCiAgICAgICAgICAgICAgICAgICAgLy8gSW4gT3BlcmEgOS4yLnggdGhlIGlmcmFtZSBET00gaXMgbm90IGFsd2F5cyB0cmF2ZXJzYWJsZSB3aGVuDQogICAgICAgICAgICAgICAgICAgIC8vIHRoZSBvbmxvYWQgY2FsbGJhY2sgZmlyZXMgc28gd2UgZ2l2ZSBPcGVyYSAxMDBtcyB0byByaWdodCBpdHNlbGYNCiAgICAgICAgICAgICAgICAgICAgb3BlcmFIYWNrID0gMTsNCiAgICAgICAgICAgICAgICAgICAgY2JJbnZva2VkLS07DQogICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoY2IsIDEwMCk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgeGhyLnJlc3BvbnNlVGV4dCA9IGRvYy5ib2R5ID8gZG9jLmJvZHkuaW5uZXJIVE1MIDogbnVsbDsNCiAgICAgICAgICAgICAgICB4aHIucmVzcG9uc2VYTUwgPSBkb2MuWE1MRG9jdW1lbnQgPyBkb2MuWE1MRG9jdW1lbnQgOiBkb2M7DQogICAgICAgICAgICAgICAgeGhyLmdldFJlc3BvbnNlSGVhZGVyID0gZnVuY3Rpb24oaGVhZGVyKXsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGhlYWRlcnMgPSB7J2NvbnRlbnQtdHlwZSc6IG9wdHMuZGF0YVR5cGV9Ow0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGVhZGVyc1toZWFkZXJdOw0KICAgICAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgICAgICBpZiAob3B0cy5kYXRhVHlwZSA9PSAnanNvbicgfHwgb3B0cy5kYXRhVHlwZSA9PSAnc2NyaXB0Jykgew0KICAgICAgICAgICAgICAgICAgICB2YXIgdGEgPSBkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3RleHRhcmVhJylbMF07DQogICAgICAgICAgICAgICAgICAgIHhoci5yZXNwb25zZVRleHQgPSB0YSA/IHRhLnZhbHVlIDogeGhyLnJlc3BvbnNlVGV4dDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZWxzZSBpZiAob3B0cy5kYXRhVHlwZSA9PSAneG1sJyAmJiAheGhyLnJlc3BvbnNlWE1MICYmIHhoci5yZXNwb25zZVRleHQgIT0gbnVsbCkgew0KICAgICAgICAgICAgICAgICAgICB4aHIucmVzcG9uc2VYTUwgPSB0b1htbCh4aHIucmVzcG9uc2VUZXh0KTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZGF0YSA9ICQuaHR0cERhdGEoeGhyLCBvcHRzLmRhdGFUeXBlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGNhdGNoKGUpew0KICAgICAgICAgICAgICAgIG9rID0gZmFsc2U7DQogICAgICAgICAgICAgICAgJC5oYW5kbGVFcnJvcihvcHRzLCB4aHIsICdlcnJvcicsIGUpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvLyBvcmRlcmluZyBvZiB0aGVzZSBjYWxsYmFja3MvdHJpZ2dlcnMgaXMgb2RkLCBidXQgdGhhdCdzIGhvdyAkLmFqYXggZG9lcyBpdA0KICAgICAgICAgICAgaWYgKG9rKSB7DQogICAgICAgICAgICAgICAgb3B0cy5zdWNjZXNzKGRhdGEsICdzdWNjZXNzJyk7DQogICAgICAgICAgICAgICAgaWYgKGcpICQuZXZlbnQudHJpZ2dlcigiYWpheFN1Y2Nlc3MiLCBbeGhyLCBvcHRzXSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoZykgJC5ldmVudC50cmlnZ2VyKCJhamF4Q29tcGxldGUiLCBbeGhyLCBvcHRzXSk7DQogICAgICAgICAgICBpZiAoZyAmJiAhIC0tJC5hY3RpdmUpICQuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKTsNCiAgICAgICAgICAgIGlmIChvcHRzLmNvbXBsZXRlKSBvcHRzLmNvbXBsZXRlKHhociwgb2sgPyAnc3VjY2VzcycgOiAnZXJyb3InKTsNCg0KICAgICAgICAgICAgLy8gY2xlYW4gdXANCiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgJGlvLnJlbW92ZSgpOw0KICAgICAgICAgICAgICAgIHhoci5yZXNwb25zZVhNTCA9IG51bGw7DQogICAgICAgICAgICB9LCAxMDApOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHRvWG1sKHMsIGRvYykgew0KICAgICAgICAgICAgaWYgKHdpbmRvdy5BY3RpdmVYT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgZG9jID0gbmV3IEFjdGl2ZVhPYmplY3QoJ01pY3Jvc29mdC5YTUxET00nKTsNCiAgICAgICAgICAgICAgICBkb2MuYXN5bmMgPSAnZmFsc2UnOw0KICAgICAgICAgICAgICAgIGRvYy5sb2FkWE1MKHMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgIGRvYyA9IChuZXcgRE9NUGFyc2VyKCkpLnBhcnNlRnJvbVN0cmluZyhzLCAndGV4dC94bWwnKTsNCiAgICAgICAgICAgIHJldHVybiAoZG9jICYmIGRvYy5kb2N1bWVudEVsZW1lbnQgJiYgZG9jLmRvY3VtZW50RWxlbWVudC50YWdOYW1lICE9ICdwYXJzZXJlcnJvcicpID8gZG9jIDogbnVsbDsNCiAgICAgICAgfTsNCiAgICB9Ow0KfTsNCg0KLyoqDQogKiBhamF4Rm9ybSgpIHByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciBmdWxseSBhdXRvbWF0aW5nIGZvcm0gc3VibWlzc2lvbi4NCiAqDQogKiBUaGUgYWR2YW50YWdlcyBvZiB1c2luZyB0aGlzIG1ldGhvZCBpbnN0ZWFkIG9mIGFqYXhTdWJtaXQoKSBhcmU6DQogKg0KICogMTogVGhpcyBtZXRob2Qgd2lsbCBpbmNsdWRlIGNvb3JkaW5hdGVzIGZvciA8aW5wdXQgdHlwZT0iaW1hZ2UiIC8+IGVsZW1lbnRzIChpZiB0aGUgZWxlbWVudA0KICogICAgaXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0pLg0KICogMi4gVGhpcyBtZXRob2Qgd2lsbCBpbmNsdWRlIHRoZSBzdWJtaXQgZWxlbWVudCdzIG5hbWUvdmFsdWUgZGF0YSAoZm9yIHRoZSBlbGVtZW50IHRoYXQgd2FzDQogKiAgICB1c2VkIHRvIHN1Ym1pdCB0aGUgZm9ybSkuDQogKiAzLiBUaGlzIG1ldGhvZCBiaW5kcyB0aGUgc3VibWl0KCkgbWV0aG9kIHRvIHRoZSBmb3JtIGZvciB5b3UuDQogKg0KICogVGhlIG9wdGlvbnMgYXJndW1lbnQgZm9yIGFqYXhGb3JtIHdvcmtzIGV4YWN0bHkgYXMgaXQgZG9lcyBmb3IgYWpheFN1Ym1pdC4gIGFqYXhGb3JtIG1lcmVseQ0KICogcGFzc2VzIHRoZSBvcHRpb25zIGFyZ3VtZW50IGFsb25nIGFmdGVyIHByb3Blcmx5IGJpbmRpbmcgZXZlbnRzIGZvciBzdWJtaXQgZWxlbWVudHMgYW5kDQogKiB0aGUgZm9ybSBpdHNlbGYuDQogKi8gDQokLmZuLmFqYXhGb3JtID0gZnVuY3Rpb24ob3B0aW9ucykgew0KICAgIHJldHVybiB0aGlzLmFqYXhGb3JtVW5iaW5kKCkuYmluZCgnc3VibWl0LmZvcm0tcGx1Z2luJyxmdW5jdGlvbigpIHsNCiAgICAgICAgJCh0aGlzKS5hamF4U3VibWl0KG9wdGlvbnMpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfSkuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgLy8gc3RvcmUgb3B0aW9ucyBpbiBoYXNoDQogICAgICAgICQoIjpzdWJtaXQsaW5wdXQ6aW1hZ2UiLCB0aGlzKS5iaW5kKCdjbGljay5mb3JtLXBsdWdpbicsZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgdmFyIGZvcm0gPSB0aGlzLmZvcm07DQogICAgICAgICAgICBmb3JtLmNsayA9IHRoaXM7DQogICAgICAgICAgICBpZiAodGhpcy50eXBlID09ICdpbWFnZScpIHsNCiAgICAgICAgICAgICAgICBpZiAoZS5vZmZzZXRYICE9IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgICAgICBmb3JtLmNsa194ID0gZS5vZmZzZXRYOw0KICAgICAgICAgICAgICAgICAgICBmb3JtLmNsa195ID0gZS5vZmZzZXRZOw0KICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mICQuZm4ub2Zmc2V0ID09ICdmdW5jdGlvbicpIHsgLy8gdHJ5IHRvIHVzZSBkaW1lbnNpb25zIHBsdWdpbg0KICAgICAgICAgICAgICAgICAgICB2YXIgb2Zmc2V0ID0gJCh0aGlzKS5vZmZzZXQoKTsNCiAgICAgICAgICAgICAgICAgICAgZm9ybS5jbGtfeCA9IGUucGFnZVggLSBvZmZzZXQubGVmdDsNCiAgICAgICAgICAgICAgICAgICAgZm9ybS5jbGtfeSA9IGUucGFnZVkgLSBvZmZzZXQudG9wOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIGZvcm0uY2xrX3ggPSBlLnBhZ2VYIC0gdGhpcy5vZmZzZXRMZWZ0Ow0KICAgICAgICAgICAgICAgICAgICBmb3JtLmNsa195ID0gZS5wYWdlWSAtIHRoaXMub2Zmc2V0VG9wOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIC8vIGNsZWFyIGZvcm0gdmFycw0KICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgZm9ybS5jbGsgPSBmb3JtLmNsa194ID0gZm9ybS5jbGtfeSA9IG51bGw7IH0sIDEwKTsNCiAgICAgICAgfSk7DQogICAgfSk7DQp9Ow0KDQovLyBhamF4Rm9ybVVuYmluZCB1bmJpbmRzIHRoZSBldmVudCBoYW5kbGVycyB0aGF0IHdlcmUgYm91bmQgYnkgYWpheEZvcm0NCiQuZm4uYWpheEZvcm1VbmJpbmQgPSBmdW5jdGlvbigpIHsNCiAgICB0aGlzLnVuYmluZCgnc3VibWl0LmZvcm0tcGx1Z2luJyk7DQogICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgJCgiOnN1Ym1pdCxpbnB1dDppbWFnZSIsIHRoaXMpLnVuYmluZCgnY2xpY2suZm9ybS1wbHVnaW4nKTsNCiAgICB9KTsNCg0KfTsNCg0KLyoqDQogKiBmb3JtVG9BcnJheSgpIGdhdGhlcnMgZm9ybSBlbGVtZW50IGRhdGEgaW50byBhbiBhcnJheSBvZiBvYmplY3RzIHRoYXQgY2FuDQogKiBiZSBwYXNzZWQgdG8gYW55IG9mIHRoZSBmb2xsb3dpbmcgYWpheCBmdW5jdGlvbnM6ICQuZ2V0LCAkLnBvc3QsIG9yIGxvYWQuDQogKiBFYWNoIG9iamVjdCBpbiB0aGUgYXJyYXkgaGFzIGJvdGggYSAnbmFtZScgYW5kICd2YWx1ZScgcHJvcGVydHkuICBBbiBleGFtcGxlIG9mDQogKiBhbiBhcnJheSBmb3IgYSBzaW1wbGUgbG9naW4gZm9ybSBtaWdodCBiZToNCiAqDQogKiBbIHsgbmFtZTogJ3VzZXJuYW1lJywgdmFsdWU6ICdqcmVzaWcnIH0sIHsgbmFtZTogJ3Bhc3N3b3JkJywgdmFsdWU6ICdzZWNyZXQnIH0gXQ0KICoNCiAqIEl0IGlzIHRoaXMgYXJyYXkgdGhhdCBpcyBwYXNzZWQgdG8gcHJlLXN1Ym1pdCBjYWxsYmFjayBmdW5jdGlvbnMgcHJvdmlkZWQgdG8gdGhlDQogKiBhamF4U3VibWl0KCkgYW5kIGFqYXhGb3JtKCkgbWV0aG9kcy4NCiAqLw0KJC5mbi5mb3JtVG9BcnJheSA9IGZ1bmN0aW9uKHNlbWFudGljKSB7DQogICAgdmFyIGEgPSBbXTsNCiAgICBpZiAodGhpcy5sZW5ndGggPT0gMCkgcmV0dXJuIGE7DQoNCiAgICB2YXIgZm9ybSA9IHRoaXNbMF07DQogICAgdmFyIGVscyA9IHNlbWFudGljID8gZm9ybS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnKicpIDogZm9ybS5lbGVtZW50czsNCiAgICBpZiAoIWVscykgcmV0dXJuIGE7DQogICAgZm9yKHZhciBpPTAsIG1heD1lbHMubGVuZ3RoOyBpIDwgbWF4OyBpKyspIHsNCiAgICAgICAgdmFyIGVsID0gZWxzW2ldOw0KICAgICAgICB2YXIgbiA9IGVsLm5hbWU7DQogICAgICAgIGlmICghbikgY29udGludWU7DQoNCiAgICAgICAgaWYgKHNlbWFudGljICYmIGZvcm0uY2xrICYmIGVsLnR5cGUgPT0gImltYWdlIikgew0KICAgICAgICAgICAgLy8gaGFuZGxlIGltYWdlIGlucHV0cyBvbiB0aGUgZmx5IHdoZW4gc2VtYW50aWMgPT0gdHJ1ZQ0KICAgICAgICAgICAgaWYoIWVsLmRpc2FibGVkICYmIGZvcm0uY2xrID09IGVsKQ0KICAgICAgICAgICAgICAgIGEucHVzaCh7bmFtZTogbisnLngnLCB2YWx1ZTogZm9ybS5jbGtfeH0sIHtuYW1lOiBuKycueScsIHZhbHVlOiBmb3JtLmNsa195fSk7DQogICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2ID0gJC5maWVsZFZhbHVlKGVsLCB0cnVlKTsNCiAgICAgICAgaWYgKHYgJiYgdi5jb25zdHJ1Y3RvciA9PSBBcnJheSkgew0KICAgICAgICAgICAgZm9yKHZhciBqPTAsIGptYXg9di5sZW5ndGg7IGogPCBqbWF4OyBqKyspDQogICAgICAgICAgICAgICAgYS5wdXNoKHtuYW1lOiBuLCB2YWx1ZTogdltqXX0pOw0KICAgICAgICB9DQogICAgICAgIGVsc2UgaWYgKHYgIT09IG51bGwgJiYgdHlwZW9mIHYgIT0gJ3VuZGVmaW5lZCcpDQogICAgICAgICAgICBhLnB1c2goe25hbWU6IG4sIHZhbHVlOiB2fSk7DQogICAgfQ0KDQogICAgaWYgKCFzZW1hbnRpYyAmJiBmb3JtLmNsaykgew0KICAgICAgICAvLyBpbnB1dCB0eXBlPT0naW1hZ2UnIGFyZSBub3QgZm91bmQgaW4gZWxlbWVudHMgYXJyYXkhIGhhbmRsZSB0aGVtIGhlcmUNCiAgICAgICAgdmFyIGlucHV0cyA9IGZvcm0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0Iik7DQogICAgICAgIGZvcih2YXIgaT0wLCBtYXg9aW5wdXRzLmxlbmd0aDsgaSA8IG1heDsgaSsrKSB7DQogICAgICAgICAgICB2YXIgaW5wdXQgPSBpbnB1dHNbaV07DQogICAgICAgICAgICB2YXIgbiA9IGlucHV0Lm5hbWU7DQogICAgICAgICAgICBpZihuICYmICFpbnB1dC5kaXNhYmxlZCAmJiBpbnB1dC50eXBlID09ICJpbWFnZSIgJiYgZm9ybS5jbGsgPT0gaW5wdXQpDQogICAgICAgICAgICAgICAgYS5wdXNoKHtuYW1lOiBuKycueCcsIHZhbHVlOiBmb3JtLmNsa194fSwge25hbWU6IG4rJy55JywgdmFsdWU6IGZvcm0uY2xrX3l9KTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICByZXR1cm4gYTsNCn07DQoNCi8qKg0KICogU2VyaWFsaXplcyBmb3JtIGRhdGEgaW50byBhICdzdWJtaXR0YWJsZScgc3RyaW5nLiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBhIHN0cmluZw0KICogaW4gdGhlIGZvcm1hdDogbmFtZTE9dmFsdWUxJmFtcDtuYW1lMj12YWx1ZTINCiAqLw0KJC5mbi5mb3JtU2VyaWFsaXplID0gZnVuY3Rpb24oc2VtYW50aWMpIHsNCiAgICAvL2hhbmQgb2ZmIHRvIGpRdWVyeS5wYXJhbSBmb3IgcHJvcGVyIGVuY29kaW5nDQogICAgcmV0dXJuICQucGFyYW0odGhpcy5mb3JtVG9BcnJheShzZW1hbnRpYykpOw0KfTsNCg0KLyoqDQogKiBTZXJpYWxpemVzIGFsbCBmaWVsZCBlbGVtZW50cyBpbiB0aGUgalF1ZXJ5IG9iamVjdCBpbnRvIGEgcXVlcnkgc3RyaW5nLg0KICogVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYSBzdHJpbmcgaW4gdGhlIGZvcm1hdDogbmFtZTE9dmFsdWUxJmFtcDtuYW1lMj12YWx1ZTINCiAqLw0KJC5mbi5maWVsZFNlcmlhbGl6ZSA9IGZ1bmN0aW9uKHN1Y2Nlc3NmdWwpIHsNCiAgICB2YXIgYSA9IFtdOw0KICAgIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIG4gPSB0aGlzLm5hbWU7DQogICAgICAgIGlmICghbikgcmV0dXJuOw0KICAgICAgICB2YXIgdiA9ICQuZmllbGRWYWx1ZSh0aGlzLCBzdWNjZXNzZnVsKTsNCiAgICAgICAgaWYgKHYgJiYgdi5jb25zdHJ1Y3RvciA9PSBBcnJheSkgew0KICAgICAgICAgICAgZm9yICh2YXIgaT0wLG1heD12Lmxlbmd0aDsgaSA8IG1heDsgaSsrKQ0KICAgICAgICAgICAgICAgIGEucHVzaCh7bmFtZTogbiwgdmFsdWU6IHZbaV19KTsNCiAgICAgICAgfQ0KICAgICAgICBlbHNlIGlmICh2ICE9PSBudWxsICYmIHR5cGVvZiB2ICE9ICd1bmRlZmluZWQnKQ0KICAgICAgICAgICAgYS5wdXNoKHtuYW1lOiB0aGlzLm5hbWUsIHZhbHVlOiB2fSk7DQogICAgfSk7DQogICAgLy9oYW5kIG9mZiB0byBqUXVlcnkucGFyYW0gZm9yIHByb3BlciBlbmNvZGluZw0KICAgIHJldHVybiAkLnBhcmFtKGEpOw0KfTsNCg0KLyoqDQogKiBSZXR1cm5zIHRoZSB2YWx1ZShzKSBvZiB0aGUgZWxlbWVudCBpbiB0aGUgbWF0Y2hlZCBzZXQuICBGb3IgZXhhbXBsZSwgY29uc2lkZXIgdGhlIGZvbGxvd2luZyBmb3JtOg0KICoNCiAqICA8Zm9ybT48ZmllbGRzZXQ+DQogKiAgICAgIDxpbnB1dCBuYW1lPSJBIiB0eXBlPSJ0ZXh0IiAvPg0KICogICAgICA8aW5wdXQgbmFtZT0iQSIgdHlwZT0idGV4dCIgLz4NCiAqICAgICAgPGlucHV0IG5hbWU9IkIiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iQjEiIC8+DQogKiAgICAgIDxpbnB1dCBuYW1lPSJCIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IkIyIi8+DQogKiAgICAgIDxpbnB1dCBuYW1lPSJDIiB0eXBlPSJyYWRpbyIgdmFsdWU9IkMxIiAvPg0KICogICAgICA8aW5wdXQgbmFtZT0iQyIgdHlwZT0icmFkaW8iIHZhbHVlPSJDMiIgLz4NCiAqICA8L2ZpZWxkc2V0PjwvZm9ybT4NCiAqDQogKiAgdmFyIHYgPSAkKCc6dGV4dCcpLmZpZWxkVmFsdWUoKTsNCiAqICAvLyBpZiBubyB2YWx1ZXMgYXJlIGVudGVyZWQgaW50byB0aGUgdGV4dCBpbnB1dHMNCiAqICB2ID09IFsnJywnJ10NCiAqICAvLyBpZiB2YWx1ZXMgZW50ZXJlZCBpbnRvIHRoZSB0ZXh0IGlucHV0cyBhcmUgJ2ZvbycgYW5kICdiYXInDQogKiAgdiA9PSBbJ2ZvbycsJ2JhciddDQogKg0KICogIHZhciB2ID0gJCgnOmNoZWNrYm94JykuZmllbGRWYWx1ZSgpOw0KICogIC8vIGlmIG5laXRoZXIgY2hlY2tib3ggaXMgY2hlY2tlZA0KICogIHYgPT09IHVuZGVmaW5lZA0KICogIC8vIGlmIGJvdGggY2hlY2tib3hlcyBhcmUgY2hlY2tlZA0KICogIHYgPT0gWydCMScsICdCMiddDQogKg0KICogIHZhciB2ID0gJCgnOnJhZGlvJykuZmllbGRWYWx1ZSgpOw0KICogIC8vIGlmIG5laXRoZXIgcmFkaW8gaXMgY2hlY2tlZA0KICogIHYgPT09IHVuZGVmaW5lZA0KICogIC8vIGlmIGZpcnN0IHJhZGlvIGlzIGNoZWNrZWQNCiAqICB2ID09IFsnQzEnXQ0KICoNCiAqIFRoZSBzdWNjZXNzZnVsIGFyZ3VtZW50IGNvbnRyb2xzIHdoZXRoZXIgb3Igbm90IHRoZSBmaWVsZCBlbGVtZW50IG11c3QgYmUgJ3N1Y2Nlc3NmdWwnDQogKiAocGVyIGh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2ludGVyYWN0L2Zvcm1zLmh0bWwjc3VjY2Vzc2Z1bC1jb250cm9scykuDQogKiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgc3VjY2Vzc2Z1bCBhcmd1bWVudCBpcyB0cnVlLiAgSWYgdGhpcyB2YWx1ZSBpcyBmYWxzZSB0aGUgdmFsdWUocykNCiAqIGZvciBlYWNoIGVsZW1lbnQgaXMgcmV0dXJuZWQuDQogKg0KICogTm90ZTogVGhpcyBtZXRob2QgKmFsd2F5cyogcmV0dXJucyBhbiBhcnJheS4gIElmIG5vIHZhbGlkIHZhbHVlIGNhbiBiZSBkZXRlcm1pbmVkIHRoZQ0KICogICAgICAgYXJyYXkgd2lsbCBiZSBlbXB0eSwgb3RoZXJ3aXNlIGl0IHdpbGwgY29udGFpbiBvbmUgb3IgbW9yZSB2YWx1ZXMuDQogKi8NCiQuZm4uZmllbGRWYWx1ZSA9IGZ1bmN0aW9uKHN1Y2Nlc3NmdWwpIHsNCiAgICBmb3IgKHZhciB2YWw9W10sIGk9MCwgbWF4PXRoaXMubGVuZ3RoOyBpIDwgbWF4OyBpKyspIHsNCiAgICAgICAgdmFyIGVsID0gdGhpc1tpXTsNCiAgICAgICAgdmFyIHYgPSAkLmZpZWxkVmFsdWUoZWwsIHN1Y2Nlc3NmdWwpOw0KICAgICAgICBpZiAodiA9PT0gbnVsbCB8fCB0eXBlb2YgdiA9PSAndW5kZWZpbmVkJyB8fCAodi5jb25zdHJ1Y3RvciA9PSBBcnJheSAmJiAhdi5sZW5ndGgpKQ0KICAgICAgICAgICAgY29udGludWU7DQogICAgICAgIHYuY29uc3RydWN0b3IgPT0gQXJyYXkgPyAkLm1lcmdlKHZhbCwgdikgOiB2YWwucHVzaCh2KTsNCiAgICB9DQogICAgcmV0dXJuIHZhbDsNCn07DQoNCi8qKg0KICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGZpZWxkIGVsZW1lbnQuDQogKi8NCiQuZmllbGRWYWx1ZSA9IGZ1bmN0aW9uKGVsLCBzdWNjZXNzZnVsKSB7DQogICAgdmFyIG4gPSBlbC5uYW1lLCB0ID0gZWwudHlwZSwgdGFnID0gZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpOw0KICAgIGlmICh0eXBlb2Ygc3VjY2Vzc2Z1bCA9PSAndW5kZWZpbmVkJykgc3VjY2Vzc2Z1bCA9IHRydWU7DQoNCiAgICBpZiAoc3VjY2Vzc2Z1bCAmJiAoIW4gfHwgZWwuZGlzYWJsZWQgfHwgdCA9PSAncmVzZXQnIHx8IHQgPT0gJ2J1dHRvbicgfHwNCiAgICAgICAgKHQgPT0gJ2NoZWNrYm94JyB8fCB0ID09ICdyYWRpbycpICYmICFlbC5jaGVja2VkIHx8DQogICAgICAgICh0ID09ICdzdWJtaXQnIHx8IHQgPT0gJ2ltYWdlJykgJiYgZWwuZm9ybSAmJiBlbC5mb3JtLmNsayAhPSBlbCB8fA0KICAgICAgICB0YWcgPT0gJ3NlbGVjdCcgJiYgZWwuc2VsZWN0ZWRJbmRleCA9PSAtMSkpDQogICAgICAgICAgICByZXR1cm4gbnVsbDsNCg0KICAgIGlmICh0YWcgPT0gJ3NlbGVjdCcpIHsNCiAgICAgICAgdmFyIGluZGV4ID0gZWwuc2VsZWN0ZWRJbmRleDsNCiAgICAgICAgaWYgKGluZGV4IDwgMCkgcmV0dXJuIG51bGw7DQogICAgICAgIHZhciBhID0gW10sIG9wcyA9IGVsLm9wdGlvbnM7DQogICAgICAgIHZhciBvbmUgPSAodCA9PSAnc2VsZWN0LW9uZScpOw0KICAgICAgICB2YXIgbWF4ID0gKG9uZSA/IGluZGV4KzEgOiBvcHMubGVuZ3RoKTsNCiAgICAgICAgZm9yKHZhciBpPShvbmUgPyBpbmRleCA6IDApOyBpIDwgbWF4OyBpKyspIHsNCiAgICAgICAgICAgIHZhciBvcCA9IG9wc1tpXTsNCiAgICAgICAgICAgIGlmIChvcC5zZWxlY3RlZCkgew0KICAgICAgICAgICAgICAgIC8vIGV4dHJhIHBhaW4gZm9yIElFLi4uDQogICAgICAgICAgICAgICAgdmFyIHYgPSAkLmJyb3dzZXIubXNpZSAmJiAhKG9wLmF0dHJpYnV0ZXNbJ3ZhbHVlJ10uc3BlY2lmaWVkKSA/IG9wLnRleHQgOiBvcC52YWx1ZTsNCiAgICAgICAgICAgICAgICBpZiAob25lKSByZXR1cm4gdjsNCiAgICAgICAgICAgICAgICBhLnB1c2godik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGE7DQogICAgfQ0KICAgIHJldHVybiBlbC52YWx1ZTsNCn07DQoNCi8qKg0KICogQ2xlYXJzIHRoZSBmb3JtIGRhdGEuICBUYWtlcyB0aGUgZm9sbG93aW5nIGFjdGlvbnMgb24gdGhlIGZvcm0ncyBpbnB1dCBmaWVsZHM6DQogKiAgLSBpbnB1dCB0ZXh0IGZpZWxkcyB3aWxsIGhhdmUgdGhlaXIgJ3ZhbHVlJyBwcm9wZXJ0eSBzZXQgdG8gdGhlIGVtcHR5IHN0cmluZw0KICogIC0gc2VsZWN0IGVsZW1lbnRzIHdpbGwgaGF2ZSB0aGVpciAnc2VsZWN0ZWRJbmRleCcgcHJvcGVydHkgc2V0IHRvIC0xDQogKiAgLSBjaGVja2JveCBhbmQgcmFkaW8gaW5wdXRzIHdpbGwgaGF2ZSB0aGVpciAnY2hlY2tlZCcgcHJvcGVydHkgc2V0IHRvIGZhbHNlDQogKiAgLSBpbnB1dHMgb2YgdHlwZSBzdWJtaXQsIGJ1dHRvbiwgcmVzZXQsIGFuZCBoaWRkZW4gd2lsbCAqbm90KiBiZSBlZmZlY3RlZA0KICogIC0gYnV0dG9uIGVsZW1lbnRzIHdpbGwgKm5vdCogYmUgZWZmZWN0ZWQNCiAqLw0KJC5mbi5jbGVhckZvcm0gPSBmdW5jdGlvbigpIHsNCiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAkKCdpbnB1dCxzZWxlY3QsdGV4dGFyZWEnLCB0aGlzKS5jbGVhckZpZWxkcygpOw0KICAgIH0pOw0KfTsNCg0KLyoqDQogKiBDbGVhcnMgdGhlIHNlbGVjdGVkIGZvcm0gZWxlbWVudHMuDQogKi8NCiQuZm4uY2xlYXJGaWVsZHMgPSAkLmZuLmNsZWFySW5wdXRzID0gZnVuY3Rpb24oKSB7DQogICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIHQgPSB0aGlzLnR5cGUsIHRhZyA9IHRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpOw0KICAgICAgICBpZiAodCA9PSAndGV4dCcgfHwgdCA9PSAncGFzc3dvcmQnIHx8IHRhZyA9PSAndGV4dGFyZWEnKQ0KICAgICAgICAgICAgdGhpcy52YWx1ZSA9ICcnOw0KICAgICAgICBlbHNlIGlmICh0ID09ICdjaGVja2JveCcgfHwgdCA9PSAncmFkaW8nKQ0KICAgICAgICAgICAgdGhpcy5jaGVja2VkID0gZmFsc2U7DQogICAgICAgIGVsc2UgaWYgKHRhZyA9PSAnc2VsZWN0JykNCiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IC0xOw0KICAgIH0pOw0KfTsNCg0KLyoqDQogKiBSZXNldHMgdGhlIGZvcm0gZGF0YS4gIENhdXNlcyBhbGwgZm9ybSBlbGVtZW50cyB0byBiZSByZXNldCB0byB0aGVpciBvcmlnaW5hbCB2YWx1ZS4NCiAqLw0KJC5mbi5yZXNldEZvcm0gPSBmdW5jdGlvbigpIHsNCiAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAvLyBndWFyZCBhZ2FpbnN0IGFuIGlucHV0IHdpdGggdGhlIG5hbWUgb2YgJ3Jlc2V0Jw0KICAgICAgICAvLyBub3RlIHRoYXQgSUUgcmVwb3J0cyB0aGUgcmVzZXQgZnVuY3Rpb24gYXMgYW4gJ29iamVjdCcNCiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnJlc2V0ID09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiB0aGlzLnJlc2V0ID09ICdvYmplY3QnICYmICF0aGlzLnJlc2V0Lm5vZGVUeXBlKSkNCiAgICAgICAgICAgIHRoaXMucmVzZXQoKTsNCiAgICB9KTsNCn07DQoNCi8qKg0KICogRW5hYmxlcyBvciBkaXNhYmxlcyBhbnkgbWF0Y2hpbmcgZWxlbWVudHMuDQogKi8NCiQuZm4uZW5hYmxlID0gZnVuY3Rpb24oYikgeyANCiAgICBpZiAoYiA9PSB1bmRlZmluZWQpIGIgPSB0cnVlOw0KICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7IA0KICAgICAgICB0aGlzLmRpc2FibGVkID0gIWIgDQogICAgfSk7DQp9Ow0KDQovKioNCiAqIENoZWNrcy91bmNoZWNrcyBhbnkgbWF0Y2hpbmcgY2hlY2tib3hlcyBvciByYWRpbyBidXR0b25zIGFuZA0KICogc2VsZWN0cy9kZXNlbGVjdHMgYW5kIG1hdGNoaW5nIG9wdGlvbiBlbGVtZW50cy4NCiAqLw0KJC5mbi5zZWxlY3RlZCA9IGZ1bmN0aW9uKHNlbGVjdCkgew0KICAgIGlmIChzZWxlY3QgPT0gdW5kZWZpbmVkKSBzZWxlY3QgPSB0cnVlOw0KICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7IA0KICAgICAgICB2YXIgdCA9IHRoaXMudHlwZTsNCiAgICAgICAgaWYgKHQgPT0gJ2NoZWNrYm94JyB8fCB0ID09ICdyYWRpbycpDQogICAgICAgICAgICB0aGlzLmNoZWNrZWQgPSBzZWxlY3Q7DQogICAgICAgIGVsc2UgaWYgKHRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09ICdvcHRpb24nKSB7DQogICAgICAgICAgICB2YXIgJHNlbCA9ICQodGhpcykucGFyZW50KCdzZWxlY3QnKTsNCiAgICAgICAgICAgIGlmIChzZWxlY3QgJiYgJHNlbFswXSAmJiAkc2VsWzBdLnR5cGUgPT0gJ3NlbGVjdC1vbmUnKSB7DQogICAgICAgICAgICAgICAgLy8gZGVzZWxlY3QgYWxsIG90aGVyIG9wdGlvbnMNCiAgICAgICAgICAgICAgICAkc2VsLmZpbmQoJ29wdGlvbicpLnNlbGVjdGVkKGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3Q7DQogICAgICAgIH0NCiAgICB9KTsNCn07DQoNCi8vIGhlbHBlciBmbiBmb3IgY29uc29sZSBsb2dnaW5nDQovLyBzZXQgJC5mbi5hamF4U3VibWl0LmRlYnVnIHRvIHRydWUgdG8gZW5hYmxlIGRlYnVnIGxvZ2dpbmcNCmZ1bmN0aW9uIGxvZygpIHsNCiAgICBpZiAoJC5mbi5hamF4U3VibWl0LmRlYnVnICYmIHdpbmRvdy5jb25zb2xlICYmIHdpbmRvdy5jb25zb2xlLmxvZykNCiAgICAgICAgd2luZG93LmNvbnNvbGUubG9nKCdbanF1ZXJ5LmZvcm1dICcgKyBBcnJheS5wcm90b3R5cGUuam9pbi5jYWxsKGFyZ3VtZW50cywnJykpOw0KfTsNCg0KfSkoalF1ZXJ5KTsNCg==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.hoverIntent.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/LyoqCiogaG92ZXJJbnRlbnQgaXMgc2ltaWxhciB0byBqUXVlcnkncyBidWlsdC1pbiAiaG92ZXIiIGZ1bmN0aW9uIGV4Y2VwdCB0aGF0CiogaW5zdGVhZCBvZiBmaXJpbmcgdGhlIG9uTW91c2VPdmVyIGV2ZW50IGltbWVkaWF0ZWx5LCBob3ZlckludGVudCBjaGVja3MKKiB0byBzZWUgaWYgdGhlIHVzZXIncyBtb3VzZSBoYXMgc2xvd2VkIGRvd24gKGJlbmVhdGggdGhlIHNlbnNpdGl2aXR5CiogdGhyZXNob2xkKSBiZWZvcmUgZmlyaW5nIHRoZSBvbk1vdXNlT3ZlciBldmVudC4KKiAKKiBob3ZlckludGVudCByNSAvLyAyMDA3LjAzLjI3IC8vIGpRdWVyeSAxLjEuMgoqIDxodHRwOi8vY2hlcm5lLm5ldC9icmlhbi9yZXNvdXJjZXMvanF1ZXJ5LmhvdmVySW50ZW50Lmh0bWw+CiogCiogaG92ZXJJbnRlbnQgaXMgY3VycmVudGx5IGF2YWlsYWJsZSBmb3IgdXNlIGluIGFsbCBwZXJzb25hbCBvciBjb21tZXJjaWFsIAoqIHByb2plY3RzIHVuZGVyIGJvdGggTUlUIGFuZCBHUEwgbGljZW5zZXMuIFRoaXMgbWVhbnMgdGhhdCB5b3UgY2FuIGNob29zZSAKKiB0aGUgbGljZW5zZSB0aGF0IGJlc3Qgc3VpdHMgeW91ciBwcm9qZWN0LCBhbmQgdXNlIGl0IGFjY29yZGluZ2x5LgoqIAoqIC8vIGJhc2ljIHVzYWdlIChqdXN0IGxpa2UgLmhvdmVyKSByZWNlaXZlcyBvbk1vdXNlT3ZlciBhbmQgb25Nb3VzZU91dCBmdW5jdGlvbnMKKiAkKCJ1bCBsaSIpLmhvdmVySW50ZW50KCBzaG93TmF2ICwgaGlkZU5hdiApOwoqIAoqIC8vIGFkdmFuY2VkIHVzYWdlIHJlY2VpdmVzIGNvbmZpZ3VyYXRpb24gb2JqZWN0IG9ubHkKKiAkKCJ1bCBsaSIpLmhvdmVySW50ZW50KHsKKglzZW5zaXRpdml0eTogMiwgLy8gbnVtYmVyID0gc2Vuc2l0aXZpdHkgdGhyZXNob2xkIChtdXN0IGJlIDEgb3IgaGlnaGVyKQoqCWludGVydmFsOiA1MCwgICAvLyBudW1iZXIgPSBtaWxsaXNlY29uZHMgb2YgcG9sbGluZyBpbnRlcnZhbAoqCW92ZXI6IHNob3dOYXYsICAvLyBmdW5jdGlvbiA9IG9uTW91c2VPdmVyIGNhbGxiYWNrIChyZXF1aXJlZCkKKgl0aW1lb3V0OiAxMDAsICAgLy8gbnVtYmVyID0gbWlsbGlzZWNvbmRzIGRlbGF5IGJlZm9yZSBvbk1vdXNlT3V0IGZ1bmN0aW9uIGNhbGwKKglvdXQ6IGhpZGVOYXYgICAgLy8gZnVuY3Rpb24gPSBvbk1vdXNlT3V0IGNhbGxiYWNrIChyZXF1aXJlZCkKKiB9KTsKKiAKKiBAcGFyYW0gIGYgIG9uTW91c2VPdmVyIGZ1bmN0aW9uIHx8IEFuIG9iamVjdCB3aXRoIGNvbmZpZ3VyYXRpb24gb3B0aW9ucwoqIEBwYXJhbSAgZyAgb25Nb3VzZU91dCBmdW5jdGlvbiAgfHwgTm90aGluZyAodXNlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBvYmplY3QpCiogQHJldHVybiAgICBUaGUgb2JqZWN0IChha2EgInRoaXMiKSB0aGF0IGNhbGxlZCBob3ZlckludGVudCwgYW5kIHRoZSBldmVudCBvYmplY3QKKiBAYXV0aG9yICAgIEJyaWFuIENoZXJuZSA8YnJpYW5AY2hlcm5lLm5ldD4KKi8KKGZ1bmN0aW9uKCQpIHsKCSQuZm4uaG92ZXJJbnRlbnQgPSBmdW5jdGlvbihmLGcpIHsKCQkvLyBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gb3B0aW9ucwoJCXZhciBjZmcgPSB7CgkJCXNlbnNpdGl2aXR5OiA3LAoJCQlpbnRlcnZhbDogMTAwLAoJCQl0aW1lb3V0OiAwCgkJfTsKCQkvLyBvdmVycmlkZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgd2l0aCB1c2VyIHN1cHBsaWVkIG9iamVjdAoJCWNmZyA9ICQuZXh0ZW5kKGNmZywgZyA/IHsgb3ZlcjogZiwgb3V0OiBnIH0gOiBmICk7CgoJCS8vIGluc3RhbnRpYXRlIHZhcmlhYmxlcwoJCS8vIGNYLCBjWSA9IGN1cnJlbnQgWCBhbmQgWSBwb3NpdGlvbiBvZiBtb3VzZSwgdXBkYXRlZCBieSBtb3VzZW1vdmUgZXZlbnQKCQkvLyBwWCwgcFkgPSBwcmV2aW91cyBYIGFuZCBZIHBvc2l0aW9uIG9mIG1vdXNlLCBzZXQgYnkgbW91c2VvdmVyIGFuZCBwb2xsaW5nIGludGVydmFsCgkJdmFyIGNYLCBjWSwgcFgsIHBZOwoKCQkvLyBBIHByaXZhdGUgZnVuY3Rpb24gZm9yIGdldHRpbmcgbW91c2UgcG9zaXRpb24KCQl2YXIgdHJhY2sgPSBmdW5jdGlvbihldikgewoJCQljWCA9IGV2LnBhZ2VYOwoJCQljWSA9IGV2LnBhZ2VZOwoJCX07CgoJCS8vIEEgcHJpdmF0ZSBmdW5jdGlvbiBmb3IgY29tcGFyaW5nIGN1cnJlbnQgYW5kIHByZXZpb3VzIG1vdXNlIHBvc2l0aW9uCgkJdmFyIGNvbXBhcmUgPSBmdW5jdGlvbihldixvYikgewoJCQlvYi5ob3ZlckludGVudF90ID0gY2xlYXJUaW1lb3V0KG9iLmhvdmVySW50ZW50X3QpOwoJCQkvLyBjb21wYXJlIG1vdXNlIHBvc2l0aW9ucyB0byBzZWUgaWYgdGhleSd2ZSBjcm9zc2VkIHRoZSB0aHJlc2hvbGQKCQkJaWYgKCAoIE1hdGguYWJzKHBYLWNYKSArIE1hdGguYWJzKHBZLWNZKSApIDwgY2ZnLnNlbnNpdGl2aXR5ICkgewoJCQkJJChvYikudW5iaW5kKCJtb3VzZW1vdmUiLHRyYWNrKTsKCQkJCS8vIHNldCBob3ZlckludGVudCBzdGF0ZSB0byB0cnVlIChzbyBtb3VzZU91dCBjYW4gYmUgY2FsbGVkKQoJCQkJb2IuaG92ZXJJbnRlbnRfcyA9IDE7CgkJCQlyZXR1cm4gY2ZnLm92ZXIuYXBwbHkob2IsW2V2XSk7CgkJCX0gZWxzZSB7CgkJCQkvLyBzZXQgcHJldmlvdXMgY29vcmRpbmF0ZXMgZm9yIG5leHQgdGltZQoJCQkJcFggPSBjWDsgcFkgPSBjWTsKCQkJCS8vIHVzZSBzZWxmLWNhbGxpbmcgdGltZW91dCwgZ3VhcmFudGVlcyBpbnRlcnZhbHMgYXJlIHNwYWNlZCBvdXQgcHJvcGVybHkgKGF2b2lkcyBKYXZhU2NyaXB0IHRpbWVyIGJ1Z3MpCgkJCQlvYi5ob3ZlckludGVudF90ID0gc2V0VGltZW91dCggZnVuY3Rpb24oKXtjb21wYXJlKGV2LCBvYik7fSAsIGNmZy5pbnRlcnZhbCApOwoJCQl9CgkJfTsKCgkJLy8gQSBwcml2YXRlIGZ1bmN0aW9uIGZvciBkZWxheWluZyB0aGUgbW91c2VPdXQgZnVuY3Rpb24KCQl2YXIgZGVsYXkgPSBmdW5jdGlvbihldixvYikgewoJCQlvYi5ob3ZlckludGVudF90ID0gY2xlYXJUaW1lb3V0KG9iLmhvdmVySW50ZW50X3QpOwoJCQlvYi5ob3ZlckludGVudF9zID0gMDsKCQkJcmV0dXJuIGNmZy5vdXQuYXBwbHkob2IsW2V2XSk7CgkJfTsKCgkJLy8gQSBwcml2YXRlIGZ1bmN0aW9uIGZvciBoYW5kbGluZyBtb3VzZSAnaG92ZXJpbmcnCgkJdmFyIGhhbmRsZUhvdmVyID0gZnVuY3Rpb24oZSkgewoJCQkvLyBuZXh0IHRocmVlIGxpbmVzIGNvcGllZCBmcm9tIGpRdWVyeS5ob3ZlciwgaWdub3JlIGNoaWxkcmVuIG9uTW91c2VPdmVyL29uTW91c2VPdXQKCQkJdmFyIHAgPSAoZS50eXBlID09ICJtb3VzZW92ZXIiID8gZS5mcm9tRWxlbWVudCA6IGUudG9FbGVtZW50KSB8fCBlLnJlbGF0ZWRUYXJnZXQ7CgkJCXdoaWxlICggcCAmJiBwICE9IHRoaXMgKSB7IHRyeSB7IHAgPSBwLnBhcmVudE5vZGU7IH0gY2F0Y2goZSkgeyBwID0gdGhpczsgfSB9CgkJCWlmICggcCA9PSB0aGlzICkgeyByZXR1cm4gZmFsc2U7IH0KCgkJCS8vIGNvcHkgb2JqZWN0cyB0byBiZSBwYXNzZWQgaW50byB0IChyZXF1aXJlZCBmb3IgZXZlbnQgb2JqZWN0IHRvIGJlIHBhc3NlZCBpbiBJRSkKCQkJdmFyIGV2ID0galF1ZXJ5LmV4dGVuZCh7fSxlKTsKCQkJdmFyIG9iID0gdGhpczsKCgkJCS8vIGNhbmNlbCBob3ZlckludGVudCB0aW1lciBpZiBpdCBleGlzdHMKCQkJaWYgKG9iLmhvdmVySW50ZW50X3QpIHsgb2IuaG92ZXJJbnRlbnRfdCA9IGNsZWFyVGltZW91dChvYi5ob3ZlckludGVudF90KTsgfQoKCQkJLy8gZWxzZSBlLnR5cGUgPT0gIm9ubW91c2VvdmVyIgoJCQlpZiAoZS50eXBlID09ICJtb3VzZW92ZXIiKSB7CgkJCQkvLyBzZXQgInByZXZpb3VzIiBYIGFuZCBZIHBvc2l0aW9uIGJhc2VkIG9uIGluaXRpYWwgZW50cnkgcG9pbnQKCQkJCXBYID0gZXYucGFnZVg7IHBZID0gZXYucGFnZVk7CgkJCQkvLyB1cGRhdGUgImN1cnJlbnQiIFggYW5kIFkgcG9zaXRpb24gYmFzZWQgb24gbW91c2Vtb3ZlCgkJCQkkKG9iKS5iaW5kKCJtb3VzZW1vdmUiLHRyYWNrKTsKCQkJCS8vIHN0YXJ0IHBvbGxpbmcgaW50ZXJ2YWwgKHNlbGYtY2FsbGluZyB0aW1lb3V0KSB0byBjb21wYXJlIG1vdXNlIGNvb3JkaW5hdGVzIG92ZXIgdGltZQoJCQkJaWYgKG9iLmhvdmVySW50ZW50X3MgIT0gMSkgeyBvYi5ob3ZlckludGVudF90ID0gc2V0VGltZW91dCggZnVuY3Rpb24oKXtjb21wYXJlKGV2LG9iKTt9ICwgY2ZnLmludGVydmFsICk7fQoKCQkJLy8gZWxzZSBlLnR5cGUgPT0gIm9ubW91c2VvdXQiCgkJCX0gZWxzZSB7CgkJCQkvLyB1bmJpbmQgZXhwZW5zaXZlIG1vdXNlbW92ZSBldmVudAoJCQkJJChvYikudW5iaW5kKCJtb3VzZW1vdmUiLHRyYWNrKTsKCQkJCS8vIGlmIGhvdmVySW50ZW50IHN0YXRlIGlzIHRydWUsIHRoZW4gY2FsbCB0aGUgbW91c2VPdXQgZnVuY3Rpb24gYWZ0ZXIgdGhlIHNwZWNpZmllZCBkZWxheQoJCQkJaWYgKG9iLmhvdmVySW50ZW50X3MgPT0gMSkgeyBvYi5ob3ZlckludGVudF90ID0gc2V0VGltZW91dCggZnVuY3Rpb24oKXtkZWxheShldixvYik7fSAsIGNmZy50aW1lb3V0ICk7fQoJCQl9CgkJfTsKCgkJLy8gYmluZCB0aGUgZnVuY3Rpb24gdG8gdGhlIHR3byBldmVudCBsaXN0ZW5lcnMKCQlyZXR1cm4gdGhpcy5tb3VzZW92ZXIoaGFuZGxlSG92ZXIpLm1vdXNlb3V0KGhhbmRsZUhvdmVyKTsKCX07Cn0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.json-1.3.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CihmdW5jdGlvbigkKXtmdW5jdGlvbiB0b0ludGVnZXJzQXRMZWFzZShuKQp7cmV0dXJuIG48MTA/JzAnK246bjt9CkRhdGUucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbihkYXRlKQp7cmV0dXJuIHRoaXMuZ2V0VVRDRnVsbFllYXIoKSsnLScrCnRvSW50ZWdlcnNBdExlYXNlKHRoaXMuZ2V0VVRDTW9udGgoKSkrJy0nKwp0b0ludGVnZXJzQXRMZWFzZSh0aGlzLmdldFVUQ0RhdGUoKSk7fTt2YXIgZXNjYXBlYWJsZT0vWyJcXFx4MDAtXHgxZlx4N2YtXHg5Zl0vZzt2YXIgbWV0YT17J1xiJzonXFxiJywnXHQnOidcXHQnLCdcbic6J1xcbicsJ1xmJzonXFxmJywnXHInOidcXHInLCciJzonXFwiJywnXFwnOidcXFxcJ307JC5xdW90ZVN0cmluZz1mdW5jdGlvbihzdHJpbmcpCntpZihlc2NhcGVhYmxlLnRlc3Qoc3RyaW5nKSkKe3JldHVybiciJytzdHJpbmcucmVwbGFjZShlc2NhcGVhYmxlLGZ1bmN0aW9uKGEpCnt2YXIgYz1tZXRhW2FdO2lmKHR5cGVvZiBjPT09J3N0cmluZycpe3JldHVybiBjO30KYz1hLmNoYXJDb2RlQXQoKTtyZXR1cm4nXFx1MDAnK01hdGguZmxvb3IoYy8xNikudG9TdHJpbmcoMTYpKyhjJTE2KS50b1N0cmluZygxNik7fSkrJyInO30KcmV0dXJuJyInK3N0cmluZysnIic7fTskLnRvSlNPTj1mdW5jdGlvbihvLGNvbXBhY3QpCnt2YXIgdHlwZT10eXBlb2Yobyk7aWYodHlwZT09InVuZGVmaW5lZCIpCnJldHVybiJ1bmRlZmluZWQiO2Vsc2UgaWYodHlwZT09Im51bWJlciJ8fHR5cGU9PSJib29sZWFuIikKcmV0dXJuIG8rIiI7ZWxzZSBpZihvPT09bnVsbCkKcmV0dXJuIm51bGwiO2lmKHR5cGU9PSJzdHJpbmciKQp7cmV0dXJuICQucXVvdGVTdHJpbmcobyk7fQppZih0eXBlPT0ib2JqZWN0IiYmdHlwZW9mIG8udG9KU09OPT0iZnVuY3Rpb24iKQpyZXR1cm4gby50b0pTT04oY29tcGFjdCk7aWYodHlwZSE9ImZ1bmN0aW9uIiYmdHlwZW9mKG8ubGVuZ3RoKT09Im51bWJlciIpCnt2YXIgcmV0PVtdO2Zvcih2YXIgaT0wO2k8by5sZW5ndGg7aSsrKXtyZXQucHVzaCgkLnRvSlNPTihvW2ldLGNvbXBhY3QpKTt9CmlmKGNvbXBhY3QpCnJldHVybiJbIityZXQuam9pbigiLCIpKyJdIjtlbHNlCnJldHVybiJbIityZXQuam9pbigiLCAiKSsiXSI7fQppZih0eXBlPT0iZnVuY3Rpb24iKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmFibGUgdG8gY29udmVydCBvYmplY3Qgb2YgdHlwZSAnZnVuY3Rpb24nIHRvIGpzb24uIik7fQp2YXIgcmV0PVtdO2Zvcih2YXIgayBpbiBvKXt2YXIgbmFtZTt0eXBlPXR5cGVvZihrKTtpZih0eXBlPT0ibnVtYmVyIikKbmFtZT0nIicraysnIic7ZWxzZSBpZih0eXBlPT0ic3RyaW5nIikKbmFtZT0kLnF1b3RlU3RyaW5nKGspO2Vsc2UKY29udGludWU7dmFyIHZhbD0kLnRvSlNPTihvW2tdLGNvbXBhY3QpO2lmKHR5cGVvZih2YWwpIT0ic3RyaW5nIil7Y29udGludWU7fQppZihjb21wYWN0KQpyZXQucHVzaChuYW1lKyI6Iit2YWwpO2Vsc2UKcmV0LnB1c2gobmFtZSsiOiAiK3ZhbCk7fQpyZXR1cm4ieyIrcmV0LmpvaW4oIiwgIikrIn0iO307JC5jb21wYWN0SlNPTj1mdW5jdGlvbihvKQp7cmV0dXJuICQudG9KU09OKG8sdHJ1ZSk7fTskLmV2YWxKU09OPWZ1bmN0aW9uKHNyYykKe3JldHVybiBldmFsKCIoIitzcmMrIikiKTt9OyQuc2VjdXJlRXZhbEpTT049ZnVuY3Rpb24oc3JjKQp7dmFyIGZpbHRlcmVkPXNyYztmaWx0ZXJlZD1maWx0ZXJlZC5yZXBsYWNlKC9cXFsiXFxcL2JmbnJ0dV0vZywnQCcpO2ZpbHRlcmVkPWZpbHRlcmVkLnJlcGxhY2UoLyJbXiJcXFxuXHJdKiJ8dHJ1ZXxmYWxzZXxudWxsfC0/XGQrKD86XC5cZCopPyg/OltlRV1bK1wtXT9cZCspPy9nLCddJyk7ZmlsdGVyZWQ9ZmlsdGVyZWQucmVwbGFjZSgvKD86Xnw6fCwpKD86XHMqXFspKy9nLCcnKTtpZigvXltcXSw6e31cc10qJC8udGVzdChmaWx0ZXJlZCkpCnJldHVybiBldmFsKCIoIitzcmMrIikiKTtlbHNlCnRocm93IG5ldyBTeW50YXhFcnJvcigiRXJyb3IgcGFyc2luZyBKU09OLCBzb3VyY2UgaXMgbm90IHZhbGlkLiIpO307fSkoalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.lightbox-0.5.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqDQogKiBqUXVlcnkgbGlnaHRCb3ggcGx1Z2luDQogKiBUaGlzIGpRdWVyeSBwbHVnaW4gd2FzIGluc3BpcmVkIGFuZCBiYXNlZCBvbiBMaWdodGJveCAyIGJ5IExva2VzaCBEaGFrYXIgKGh0dHA6Ly93d3cuaHVkZGxldG9nZXRoZXIuY29tL3Byb2plY3RzL2xpZ2h0Ym94Mi8pDQogKiBhbmQgYWRhcHRlZCB0byBtZSBmb3IgdXNlIGxpa2UgYSBwbHVnaW4gZnJvbSBqUXVlcnkuDQogKiBAbmFtZSBqcXVlcnktbGlnaHRib3gtMC41LmpzDQogKiBAYXV0aG9yIExlYW5kcm8gVmllaXJhIFBpbmhvIC0gaHR0cDovL2xlYW5kcm92aWVpcmEuY29tDQogKiBAdmVyc2lvbiAwLjUNCiAqIEBkYXRlIEFwcmlsIDExLCAyMDA4DQogKiBAY2F0ZWdvcnkgalF1ZXJ5IHBsdWdpbg0KICogQGNvcHlyaWdodCAoYykgMjAwOCBMZWFuZHJvIFZpZWlyYSBQaW5obyAobGVhbmRyb3ZpZWlyYS5jb20pDQogKiBAbGljZW5zZSBDQyBBdHRyaWJ1dGlvbi1ObyBEZXJpdmF0aXZlIFdvcmtzIDIuNSBCcmF6aWwgLSBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uZC8yLjUvYnIvZGVlZC5lbl9VUw0KICogQGV4YW1wbGUgVmlzaXQgaHR0cDovL2xlYW5kcm92aWVpcmEuY29tL3Byb2plY3RzL2pxdWVyeS9saWdodGJveC8gZm9yIG1vcmUgaW5mb3JtYXRpb25zIGFib3V0IHRoaXMgalF1ZXJ5IHBsdWdpbg0KICovDQoNCi8vIE9mZmVyaW5nIGEgQ3VzdG9tIEFsaWFzIHN1cG9ydCAtIE1vcmUgaW5mbzogaHR0cDovL2RvY3MuanF1ZXJ5LmNvbS9QbHVnaW5zL0F1dGhvcmluZyNDdXN0b21fQWxpYXMNCihmdW5jdGlvbigkKSB7DQoJLyoqDQoJICogJCBpcyBhbiBhbGlhcyB0byBqUXVlcnkgb2JqZWN0DQoJICoNCgkgKi8NCgkkLmZuLmxpZ2h0Qm94ID0gZnVuY3Rpb24oc2V0dGluZ3MpIHsNCgkJLy8gU2V0dGluZ3MgdG8gY29uZmlndXJlIHRoZSBqUXVlcnkgbGlnaHRCb3ggcGx1Z2luIGhvdyB5b3UgbGlrZQ0KCQlzZXR0aW5ncyA9IGpRdWVyeS5leHRlbmQoew0KCQkJLy8gQ29uZmlndXJhdGlvbiByZWxhdGVkIHRvIG92ZXJsYXkNCgkJCW92ZXJsYXlCZ0NvbG9yOiAJCScjMDAwJywJCS8vIChzdHJpbmcpIEJhY2tncm91bmQgY29sb3IgdG8gb3ZlcmxheTsgaW5mb3JtIGEgaGV4YWRlY2ltYWwgdmFsdWUgbGlrZTogI1JSR0dCQi4gV2hlcmUgUlIsIEdHLCBhbmQgQkIgYXJlIHRoZSBoZXhhZGVjaW1hbCB2YWx1ZXMgZm9yIHRoZSByZWQsIGdyZWVuLCBhbmQgYmx1ZSB2YWx1ZXMgb2YgdGhlIGNvbG9yLg0KCQkJb3ZlcmxheU9wYWNpdHk6CQkJMC44LAkJLy8gKGludGVnZXIpIE9wYWNpdHkgdmFsdWUgdG8gb3ZlcmxheTsgaW5mb3JtOiAwLlguIFdoZXJlIFggYXJlIG51bWJlciBmcm9tIDAgdG8gOQ0KCQkJLy8gQ29uZmlndXJhdGlvbiByZWxhdGVkIHRvIG5hdmlnYXRpb24NCgkJCWZpeGVkTmF2aWdhdGlvbjoJCWZhbHNlLAkJLy8gKGJvb2xlYW4pIEJvb2xlYW4gdGhhdCBpbmZvcm1zIGlmIHRoZSBuYXZpZ2F0aW9uIChuZXh0IGFuZCBwcmV2IGJ1dHRvbikgd2lsbCBiZSBmaXhlZCBvciBub3QgaW4gdGhlIGludGVyZmFjZS4NCgkJCS8vIENvbmZpZ3VyYXRpb24gcmVsYXRlZCB0byBpbWFnZXMNCgkJCWltYWdlTG9hZGluZzoJCQknbW9kdWxlcy9KUXVlcnlUb29scy9saWIvaW1ncy9saWdodGJveC1pY28tbG9hZGluZy5naWYnLAkJLy8gKHN0cmluZykgUGF0aCBhbmQgdGhlIG5hbWUgb2YgdGhlIGxvYWRpbmcgaWNvbg0KCQkJaW1hZ2VCdG5QcmV2OgkJCSdtb2R1bGVzL0pRdWVyeVRvb2xzL2xpYi9pbWdzL2xpZ2h0Ym94LWJ0bi1wcmV2LmdpZicsCQkJLy8gKHN0cmluZykgUGF0aCBhbmQgdGhlIG5hbWUgb2YgdGhlIHByZXYgYnV0dG9uIGltYWdlDQoJCQlpbWFnZUJ0bk5leHQ6CQkJJ21vZHVsZXMvSlF1ZXJ5VG9vbHMvbGliL2ltZ3MvbGlnaHRib3gtYnRuLW5leHQuZ2lmJywJCQkvLyAoc3RyaW5nKSBQYXRoIGFuZCB0aGUgbmFtZSBvZiB0aGUgbmV4dCBidXR0b24gaW1hZ2UNCgkJCWltYWdlQnRuQ2xvc2U6CQkJJ21vZHVsZXMvSlF1ZXJ5VG9vbHMvbGliL2ltZ3MvbGlnaHRib3gtYnRuLWNsb3NlLmdpZicsCQkvLyAoc3RyaW5nKSBQYXRoIGFuZCB0aGUgbmFtZSBvZiB0aGUgY2xvc2UgYnRuDQoJCQlpbWFnZUJsYW5rOgkJCQknbW9kdWxlcy9KUXVlcnlUb29scy9saWIvaW1ncy9saWdodGJveC1ibGFuay5naWYnLAkJCS8vIChzdHJpbmcpIFBhdGggYW5kIHRoZSBuYW1lIG9mIGEgYmxhbmsgaW1hZ2UgKG9uZSBwaXhlbCkNCgkJCS8vIENvbmZpZ3VyYXRpb24gcmVsYXRlZCB0byBjb250YWluZXIgaW1hZ2UgYm94DQoJCQljb250YWluZXJCb3JkZXJTaXplOgkxMCwJCQkvLyAoaW50ZWdlcikgSWYgeW91IGFkanVzdCB0aGUgcGFkZGluZyBpbiB0aGUgQ1NTIGZvciB0aGUgY29udGFpbmVyLCAjbGlnaHRib3gtY29udGFpbmVyLWltYWdlLWJveCwgeW91IHdpbGwgbmVlZCB0byB1cGRhdGUgdGhpcyB2YWx1ZQ0KCQkJY29udGFpbmVyUmVzaXplU3BlZWQ6CTQwMCwJCS8vIChpbnRlZ2VyKSBTcGVjaWZ5IHRoZSByZXNpemUgZHVyYXRpb24gb2YgY29udGFpbmVyIGltYWdlLiBUaGVzZSBudW1iZXIgYXJlIG1pbGlzZWNvbmRzLiA0MDAgaXMgZGVmYXVsdC4NCgkJCS8vIENvbmZpZ3VyYXRpb24gcmVsYXRlZCB0byB0ZXh0cyBpbiBjYXB0aW9uLiBGb3IgZXhhbXBsZTogSW1hZ2UgMiBvZiA4LiBZb3UgY2FuIGFsdGVyIGVpdGhlciAiSW1hZ2UiIGFuZCAib2YiIHRleHRzLg0KCQkJdHh0SW1hZ2U6CQkJCSdJbWFnZScsCS8vIChzdHJpbmcpIFNwZWNpZnkgdGV4dCAiSW1hZ2UiDQoJCQl0eHRPZjoJCQkJCSdvZicsCQkvLyAoc3RyaW5nKSBTcGVjaWZ5IHRleHQgIm9mIg0KCQkJLy8gQ29uZmlndXJhdGlvbiByZWxhdGVkIHRvIGtleWJvYXJkIG5hdmlnYXRpb24NCgkJCWtleVRvQ2xvc2U6CQkJCSdjJywJCS8vIChzdHJpbmcpIChjID0gY2xvc2UpIExldHRlciB0byBjbG9zZSB0aGUgalF1ZXJ5IGxpZ2h0Qm94IGludGVyZmFjZS4gQmV5b25kIHRoaXMgbGV0dGVyLCB0aGUgbGV0dGVyIFggYW5kIHRoZSBTQ0FQRSBrZXkgaXMgdXNlZCB0by4NCgkJCWtleVRvUHJldjoJCQkJJ3AnLAkJLy8gKHN0cmluZykgKHAgPSBwcmV2aW91cykgTGV0dGVyIHRvIHNob3cgdGhlIHByZXZpb3VzIGltYWdlDQoJCQlrZXlUb05leHQ6CQkJCSduJywJCS8vIChzdHJpbmcpIChuID0gbmV4dCkgTGV0dGVyIHRvIHNob3cgdGhlIG5leHQgaW1hZ2UuDQoJCQkvLyBEb260dCBhbHRlciB0aGVzZSB2YXJpYWJsZXMgaW4gYW55IHdheQ0KCQkJaW1hZ2VBcnJheToJCQkJW10sDQoJCQlhY3RpdmVJbWFnZToJCQkwDQoJCX0sc2V0dGluZ3MpOw0KCQkvLyBDYWNoaW5nIHRoZSBqUXVlcnkgb2JqZWN0IHdpdGggYWxsIGVsZW1lbnRzIG1hdGNoZWQNCgkJdmFyIGpRdWVyeU1hdGNoZWRPYmogPSB0aGlzOyAvLyBUaGlzLCBpbiB0aGlzIGNvbnRleHQsIHJlZmVyIHRvIGpRdWVyeSBvYmplY3QNCgkJLyoqDQoJCSAqIEluaXRpYWxpemluZyB0aGUgcGx1Z2luIGNhbGxpbmcgdGhlIHN0YXJ0IGZ1bmN0aW9uDQoJCSAqDQoJCSAqIEByZXR1cm4gYm9vbGVhbiBmYWxzZQ0KCQkgKi8NCgkJZnVuY3Rpb24gX2luaXRpYWxpemUoKSB7DQoJCQlfc3RhcnQodGhpcyxqUXVlcnlNYXRjaGVkT2JqKTsgLy8gVGhpcywgaW4gdGhpcyBjb250ZXh0LCByZWZlciB0byBvYmplY3QgKGxpbmspIHdoaWNoIHRoZSB1c2VyIGhhdmUgY2xpY2tlZA0KCQkJcmV0dXJuIGZhbHNlOyAvLyBBdm9pZCB0aGUgYnJvd3NlciBmb2xsb3dpbmcgdGhlIGxpbmsNCgkJfQ0KCQkvKioNCgkJICogU3RhcnQgdGhlIGpRdWVyeSBsaWdodEJveCBwbHVnaW4NCgkJICoNCgkJICogQHBhcmFtIG9iamVjdCBvYmpDbGlja2VkIFRoZSBvYmplY3QgKGxpbmspIHdoaWNrIHRoZSB1c2VyIGhhdmUgY2xpY2tlZA0KCQkgKiBAcGFyYW0gb2JqZWN0IGpRdWVyeU1hdGNoZWRPYmogVGhlIGpRdWVyeSBvYmplY3Qgd2l0aCBhbGwgZWxlbWVudHMgbWF0Y2hlZA0KCQkgKi8NCgkJZnVuY3Rpb24gX3N0YXJ0KG9iakNsaWNrZWQsalF1ZXJ5TWF0Y2hlZE9iaikgew0KCQkJLy8gSGltZSBzb21lIGVsZW1lbnRzIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggb3ZlcmxheSBpbiBJRS4gVGhlc2UgZWxlbWVudHMgYXBwZWFyIGFib3ZlIHRoZSBvdmVybGF5Lg0KCQkJJCgnZW1iZWQsIG9iamVjdCwgc2VsZWN0JykuY3NzKHsgJ3Zpc2liaWxpdHknIDogJ2hpZGRlbicgfSk7DQoJCQkvLyBDYWxsIHRoZSBmdW5jdGlvbiB0byBjcmVhdGUgdGhlIG1hcmt1cCBzdHJ1Y3R1cmU7IHN0eWxlIHNvbWUgZWxlbWVudHM7IGFzc2lnbiBldmVudHMgaW4gc29tZSBlbGVtZW50cy4NCgkJCV9zZXRfaW50ZXJmYWNlKCk7DQoJCQkvLyBVbnNldCB0b3RhbCBpbWFnZXMgaW4gaW1hZ2VBcnJheQ0KCQkJc2V0dGluZ3MuaW1hZ2VBcnJheS5sZW5ndGggPSAwOw0KCQkJLy8gVW5zZXQgaW1hZ2UgYWN0aXZlIGluZm9ybWF0aW9uDQoJCQlzZXR0aW5ncy5hY3RpdmVJbWFnZSA9IDA7DQoJCQkvLyBXZSBoYXZlIGFuIGltYWdlIHNldD8gT3IganVzdCBhbiBpbWFnZT8gTGV0tHMgc2VlIGl0Lg0KCQkJaWYgKCBqUXVlcnlNYXRjaGVkT2JqLmxlbmd0aCA9PSAxICkgew0KCQkJCXNldHRpbmdzLmltYWdlQXJyYXkucHVzaChuZXcgQXJyYXkob2JqQ2xpY2tlZC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSxvYmpDbGlja2VkLmdldEF0dHJpYnV0ZSgndGl0bGUnKSkpOw0KCQkJfSBlbHNlIHsNCgkJCQkvLyBBZGQgYW4gQXJyYXkgKGFzIG1hbnkgYXMgd2UgaGF2ZSksIHdpdGggaHJlZiBhbmQgdGl0bGUgYXRyaWJ1dGVzLCBpbnNpZGUgdGhlIEFycmF5IHRoYXQgc3RvcmFnZSB0aGUgaW1hZ2VzIHJlZmVyZW5jZXMJCQ0KCQkJCWZvciAoIHZhciBpID0gMDsgaSA8IGpRdWVyeU1hdGNoZWRPYmoubGVuZ3RoOyBpKysgKSB7DQoJCQkJCXNldHRpbmdzLmltYWdlQXJyYXkucHVzaChuZXcgQXJyYXkoalF1ZXJ5TWF0Y2hlZE9ialtpXS5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSxqUXVlcnlNYXRjaGVkT2JqW2ldLmdldEF0dHJpYnV0ZSgndGl0bGUnKSkpOw0KCQkJCX0NCgkJCX0NCgkJCXdoaWxlICggc2V0dGluZ3MuaW1hZ2VBcnJheVtzZXR0aW5ncy5hY3RpdmVJbWFnZV1bMF0gIT0gb2JqQ2xpY2tlZC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSApIHsNCgkJCQlzZXR0aW5ncy5hY3RpdmVJbWFnZSsrOw0KCQkJfQ0KCQkJLy8gQ2FsbCB0aGUgZnVuY3Rpb24gdGhhdCBwcmVwYXJlcyBpbWFnZSBleGliaXRpb24NCgkJCV9zZXRfaW1hZ2VfdG9fdmlldygpOw0KCQl9DQoJCS8qKg0KCQkgKiBDcmVhdGUgdGhlIGpRdWVyeSBsaWdodEJveCBwbHVnaW4gaW50ZXJmYWNlDQoJCSAqDQoJCSAqIFRoZSBIVE1MIG1hcmt1cCB3aWxsIGJlIGxpa2UgdGhhdDoNCgkJCTxkaXYgaWQ9ImpxdWVyeS1vdmVybGF5Ij48L2Rpdj4NCgkJCTxkaXYgaWQ9ImpxdWVyeS1saWdodGJveCI+DQoJCQkJPGRpdiBpZD0ibGlnaHRib3gtY29udGFpbmVyLWltYWdlLWJveCI+DQoJCQkJCTxkaXYgaWQ9ImxpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZSI+DQoJCQkJCQk8aW1nIHNyYz0iLi4vZm90b3MvWFguanBnIiBpZD0ibGlnaHRib3gtaW1hZ2UiPg0KCQkJCQkJPGRpdiBpZD0ibGlnaHRib3gtbmF2Ij4NCgkJCQkJCQk8YSBocmVmPSIjIiBpZD0ibGlnaHRib3gtbmF2LWJ0blByZXYiPjwvYT4NCgkJCQkJCQk8YSBocmVmPSIjIiBpZD0ibGlnaHRib3gtbmF2LWJ0bk5leHQiPjwvYT4NCgkJCQkJCTwvZGl2Pg0KCQkJCQkJPGRpdiBpZD0ibGlnaHRib3gtbG9hZGluZyI+DQoJCQkJCQkJPGEgaHJlZj0iIyIgaWQ9ImxpZ2h0Ym94LWxvYWRpbmctbGluayI+DQoJCQkJCQkJCTxpbWcgc3JjPSIuLi9pbWFnZXMvbGlnaHRib3gtaWNvLWxvYWRpbmcuZ2lmIj4NCgkJCQkJCQk8L2E+DQoJCQkJCQk8L2Rpdj4NCgkJCQkJPC9kaXY+DQoJCQkJPC9kaXY+DQoJCQkJPGRpdiBpZD0ibGlnaHRib3gtY29udGFpbmVyLWltYWdlLWRhdGEtYm94Ij4NCgkJCQkJPGRpdiBpZD0ibGlnaHRib3gtY29udGFpbmVyLWltYWdlLWRhdGEiPg0KCQkJCQkJPGRpdiBpZD0ibGlnaHRib3gtaW1hZ2UtZGV0YWlscyI+DQoJCQkJCQkJPHNwYW4gaWQ9ImxpZ2h0Ym94LWltYWdlLWRldGFpbHMtY2FwdGlvbiI+PC9zcGFuPg0KCQkJCQkJCTxzcGFuIGlkPSJsaWdodGJveC1pbWFnZS1kZXRhaWxzLWN1cnJlbnROdW1iZXIiPjwvc3Bhbj4NCgkJCQkJCTwvZGl2Pg0KCQkJCQkJPGRpdiBpZD0ibGlnaHRib3gtc2VjTmF2Ij4NCgkJCQkJCQk8YSBocmVmPSIjIiBpZD0ibGlnaHRib3gtc2VjTmF2LWJ0bkNsb3NlIj4NCgkJCQkJCQkJPGltZyBzcmM9Ii4uL2ltYWdlcy9saWdodGJveC1idG4tY2xvc2UuZ2lmIj4NCgkJCQkJCQk8L2E+DQoJCQkJCQk8L2Rpdj4NCgkJCQkJPC9kaXY+DQoJCQkJPC9kaXY+DQoJCQk8L2Rpdj4NCgkJICoNCgkJICovDQoJCWZ1bmN0aW9uIF9zZXRfaW50ZXJmYWNlKCkgew0KCQkJLy8gQXBwbHkgdGhlIEhUTUwgbWFya3VwIGludG8gYm9keSB0YWcNCgkJCSQoJ2JvZHknKS5hcHBlbmQoJzxkaXYgaWQ9ImpxdWVyeS1vdmVybGF5Ij48L2Rpdj48ZGl2IGlkPSJqcXVlcnktbGlnaHRib3giPjxkaXYgaWQ9ImxpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1ib3giPjxkaXYgaWQ9ImxpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZSI+PGltZyBpZD0ibGlnaHRib3gtaW1hZ2UiPjxkaXYgc3R5bGU9IiIgaWQ9ImxpZ2h0Ym94LW5hdiI+PGEgaHJlZj0iIyIgaWQ9ImxpZ2h0Ym94LW5hdi1idG5QcmV2Ij48L2E+PGEgaHJlZj0iIyIgaWQ9ImxpZ2h0Ym94LW5hdi1idG5OZXh0Ij48L2E+PC9kaXY+PGRpdiBpZD0ibGlnaHRib3gtbG9hZGluZyI+PGEgaHJlZj0iIyIgaWQ9ImxpZ2h0Ym94LWxvYWRpbmctbGluayI+PGltZyBzcmM9IicgKyBzZXR0aW5ncy5pbWFnZUxvYWRpbmcgKyAnIj48L2E+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBpZD0ibGlnaHRib3gtY29udGFpbmVyLWltYWdlLWRhdGEtYm94Ij48ZGl2IGlkPSJsaWdodGJveC1jb250YWluZXItaW1hZ2UtZGF0YSI+PGRpdiBpZD0ibGlnaHRib3gtaW1hZ2UtZGV0YWlscyI+PHNwYW4gaWQ9ImxpZ2h0Ym94LWltYWdlLWRldGFpbHMtY2FwdGlvbiI+PC9zcGFuPjxzcGFuIGlkPSJsaWdodGJveC1pbWFnZS1kZXRhaWxzLWN1cnJlbnROdW1iZXIiPjwvc3Bhbj48L2Rpdj48ZGl2IGlkPSJsaWdodGJveC1zZWNOYXYiPjxhIGhyZWY9IiMiIGlkPSJsaWdodGJveC1zZWNOYXYtYnRuQ2xvc2UiPjxpbWcgc3JjPSInICsgc2V0dGluZ3MuaW1hZ2VCdG5DbG9zZSArICciPjwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4nKTsJDQoJCQkvLyBHZXQgcGFnZSBzaXplcw0KCQkJdmFyIGFyclBhZ2VTaXplcyA9IF9fX2dldFBhZ2VTaXplKCk7DQoJCQkvLyBTdHlsZSBvdmVybGF5IGFuZCBzaG93IGl0DQoJCQkkKCcjanF1ZXJ5LW92ZXJsYXknKS5jc3Moew0KCQkJCWJhY2tncm91bmRDb2xvcjoJc2V0dGluZ3Mub3ZlcmxheUJnQ29sb3IsDQoJCQkJb3BhY2l0eToJCQlzZXR0aW5ncy5vdmVybGF5T3BhY2l0eSwNCgkJCQl3aWR0aDoJCQkJYXJyUGFnZVNpemVzWzBdLA0KCQkJCWhlaWdodDoJCQkJYXJyUGFnZVNpemVzWzFdDQoJCQl9KS5mYWRlSW4oKTsNCgkJCS8vIEdldCBwYWdlIHNjcm9sbA0KCQkJdmFyIGFyclBhZ2VTY3JvbGwgPSBfX19nZXRQYWdlU2Nyb2xsKCk7DQoJCQkvLyBDYWxjdWxhdGUgdG9wIGFuZCBsZWZ0IG9mZnNldCBmb3IgdGhlIGpxdWVyeS1saWdodGJveCBkaXYgb2JqZWN0IGFuZCBzaG93IGl0DQoJCQkkKCcjanF1ZXJ5LWxpZ2h0Ym94JykuY3NzKHsNCgkJCQl0b3A6CWFyclBhZ2VTY3JvbGxbMV0gKyAoYXJyUGFnZVNpemVzWzNdIC8gMTApLA0KCQkJCWxlZnQ6CWFyclBhZ2VTY3JvbGxbMF0NCgkJCX0pLnNob3coKTsNCgkJCS8vIEFzc2lnbmluZyBjbGljayBldmVudHMgaW4gZWxlbWVudHMgdG8gY2xvc2Ugb3ZlcmxheQ0KCQkJJCgnI2pxdWVyeS1vdmVybGF5LCNqcXVlcnktbGlnaHRib3gnKS5jbGljayhmdW5jdGlvbigpIHsNCgkJCQlfZmluaXNoKCk7CQkJCQkJCQkJDQoJCQl9KTsNCgkJCS8vIEFzc2lnbiB0aGUgX2ZpbmlzaCBmdW5jdGlvbiB0byBsaWdodGJveC1sb2FkaW5nLWxpbmsgYW5kIGxpZ2h0Ym94LXNlY05hdi1idG5DbG9zZSBvYmplY3RzDQoJCQkkKCcjbGlnaHRib3gtbG9hZGluZy1saW5rLCNsaWdodGJveC1zZWNOYXYtYnRuQ2xvc2UnKS5jbGljayhmdW5jdGlvbigpIHsNCgkJCQlfZmluaXNoKCk7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfSk7DQoJCQkvLyBJZiB3aW5kb3cgd2FzIHJlc2l6ZWQsIGNhbGN1bGF0ZSB0aGUgbmV3IG92ZXJsYXkgZGltZW5zaW9ucw0KCQkJJCh3aW5kb3cpLnJlc2l6ZShmdW5jdGlvbigpIHsNCgkJCQkvLyBHZXQgcGFnZSBzaXplcw0KCQkJCXZhciBhcnJQYWdlU2l6ZXMgPSBfX19nZXRQYWdlU2l6ZSgpOw0KCQkJCS8vIFN0eWxlIG92ZXJsYXkgYW5kIHNob3cgaXQNCgkJCQkkKCcjanF1ZXJ5LW92ZXJsYXknKS5jc3Moew0KCQkJCQl3aWR0aDoJCWFyclBhZ2VTaXplc1swXSwNCgkJCQkJaGVpZ2h0OgkJYXJyUGFnZVNpemVzWzFdDQoJCQkJfSk7DQoJCQkJLy8gR2V0IHBhZ2Ugc2Nyb2xsDQoJCQkJdmFyIGFyclBhZ2VTY3JvbGwgPSBfX19nZXRQYWdlU2Nyb2xsKCk7DQoJCQkJLy8gQ2FsY3VsYXRlIHRvcCBhbmQgbGVmdCBvZmZzZXQgZm9yIHRoZSBqcXVlcnktbGlnaHRib3ggZGl2IG9iamVjdCBhbmQgc2hvdyBpdA0KCQkJCSQoJyNqcXVlcnktbGlnaHRib3gnKS5jc3Moew0KCQkJCQl0b3A6CWFyclBhZ2VTY3JvbGxbMV0gKyAoYXJyUGFnZVNpemVzWzNdIC8gMTApLA0KCQkJCQlsZWZ0OglhcnJQYWdlU2Nyb2xsWzBdDQoJCQkJfSk7DQoJCQl9KTsNCgkJfQ0KCQkvKioNCgkJICogUHJlcGFyZXMgaW1hZ2UgZXhpYml0aW9uOyBkb2luZyBhIGltYWdltHMgcHJlbG9hZGVyIHRvIGNhbGN1bGF0ZSBpdLRzIHNpemUNCgkJICoNCgkJICovDQoJCWZ1bmN0aW9uIF9zZXRfaW1hZ2VfdG9fdmlldygpIHsgLy8gc2hvdyB0aGUgbG9hZGluZw0KCQkJLy8gU2hvdyB0aGUgbG9hZGluZw0KCQkJJCgnI2xpZ2h0Ym94LWxvYWRpbmcnKS5zaG93KCk7DQoJCQlpZiAoIHNldHRpbmdzLmZpeGVkTmF2aWdhdGlvbiApIHsNCgkJCQkkKCcjbGlnaHRib3gtaW1hZ2UsI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1kYXRhLWJveCwjbGlnaHRib3gtaW1hZ2UtZGV0YWlscy1jdXJyZW50TnVtYmVyJykuaGlkZSgpOw0KCQkJfSBlbHNlIHsNCgkJCQkvLyBIaWRlIHNvbWUgZWxlbWVudHMNCgkJCQkkKCcjbGlnaHRib3gtaW1hZ2UsI2xpZ2h0Ym94LW5hdiwjbGlnaHRib3gtbmF2LWJ0blByZXYsI2xpZ2h0Ym94LW5hdi1idG5OZXh0LCNsaWdodGJveC1jb250YWluZXItaW1hZ2UtZGF0YS1ib3gsI2xpZ2h0Ym94LWltYWdlLWRldGFpbHMtY3VycmVudE51bWJlcicpLmhpZGUoKTsNCgkJCX0NCgkJCS8vIEltYWdlIHByZWxvYWQgcHJvY2Vzcw0KCQkJdmFyIG9iakltYWdlUHJlbG9hZGVyID0gbmV3IEltYWdlKCk7DQoJCQlvYmpJbWFnZVByZWxvYWRlci5vbmxvYWQgPSBmdW5jdGlvbigpIHsNCgkJCQkkKCcjbGlnaHRib3gtaW1hZ2UnKS5hdHRyKCdzcmMnLHNldHRpbmdzLmltYWdlQXJyYXlbc2V0dGluZ3MuYWN0aXZlSW1hZ2VdWzBdKTsNCgkJCQkvLyBQZXJmb21hbmNlIGFuIGVmZmVjdCBpbiB0aGUgaW1hZ2UgY29udGFpbmVyIHJlc2l6aW5nIGl0DQoJCQkJX3Jlc2l6ZV9jb250YWluZXJfaW1hZ2VfYm94KG9iakltYWdlUHJlbG9hZGVyLndpZHRoLG9iakltYWdlUHJlbG9hZGVyLmhlaWdodCk7DQoJCQkJLy8JY2xlYXIgb25Mb2FkLCBJRSBiZWhhdmVzIGlycmF0aWNhbGx5IHdpdGggYW5pbWF0ZWQgZ2lmcyBvdGhlcndpc2UNCgkJCQlvYmpJbWFnZVByZWxvYWRlci5vbmxvYWQ9ZnVuY3Rpb24oKXt9Ow0KCQkJfTsNCgkJCW9iakltYWdlUHJlbG9hZGVyLnNyYyA9IHNldHRpbmdzLmltYWdlQXJyYXlbc2V0dGluZ3MuYWN0aXZlSW1hZ2VdWzBdOw0KCQl9Ow0KCQkvKioNCgkJICogUGVyZm9tYW5jZSBhbiBlZmZlY3QgaW4gdGhlIGltYWdlIGNvbnRhaW5lciByZXNpemluZyBpdA0KCQkgKg0KCQkgKiBAcGFyYW0gaW50ZWdlciBpbnRJbWFnZVdpZHRoIFRoZSBpbWFnZbRzIHdpZHRoIHRoYXQgd2lsbCBiZSBzaG93ZWQNCgkJICogQHBhcmFtIGludGVnZXIgaW50SW1hZ2VIZWlnaHQgVGhlIGltYWdltHMgaGVpZ2h0IHRoYXQgd2lsbCBiZSBzaG93ZWQNCgkJICovDQoJCWZ1bmN0aW9uIF9yZXNpemVfY29udGFpbmVyX2ltYWdlX2JveChpbnRJbWFnZVdpZHRoLGludEltYWdlSGVpZ2h0KSB7DQoJCQkvLyBHZXQgY3VycmVudCB3aWR0aCBhbmQgaGVpZ2h0DQoJCQl2YXIgaW50Q3VycmVudFdpZHRoID0gJCgnI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1ib3gnKS53aWR0aCgpOw0KCQkJdmFyIGludEN1cnJlbnRIZWlnaHQgPSAkKCcjbGlnaHRib3gtY29udGFpbmVyLWltYWdlLWJveCcpLmhlaWdodCgpOw0KCQkJLy8gR2V0IHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSBzZWxlY3RlZCBpbWFnZSBwbHVzIHRoZSBwYWRkaW5nDQoJCQl2YXIgaW50V2lkdGggPSAoaW50SW1hZ2VXaWR0aCArIChzZXR0aW5ncy5jb250YWluZXJCb3JkZXJTaXplICogMikpOyAvLyBQbHVzIHRoZSBpbWFnZbRzIHdpZHRoIGFuZCB0aGUgbGVmdCBhbmQgcmlnaHQgcGFkZGluZyB2YWx1ZQ0KCQkJdmFyIGludEhlaWdodCA9IChpbnRJbWFnZUhlaWdodCArIChzZXR0aW5ncy5jb250YWluZXJCb3JkZXJTaXplICogMikpOyAvLyBQbHVzIHRoZSBpbWFnZbRzIGhlaWdodCBhbmQgdGhlIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgdmFsdWUNCgkJCS8vIERpZmVyZW5jZXMNCgkJCXZhciBpbnREaWZmVyA9IGludEN1cnJlbnRXaWR0aCAtIGludFdpZHRoOw0KCQkJdmFyIGludERpZmZIID0gaW50Q3VycmVudEhlaWdodCAtIGludEhlaWdodDsNCgkJCS8vIFBlcmZvbWFuY2UgdGhlIGVmZmVjdA0KCQkJJCgnI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1ib3gnKS5hbmltYXRlKHsgd2lkdGg6IGludFdpZHRoLCBoZWlnaHQ6IGludEhlaWdodCB9LHNldHRpbmdzLmNvbnRhaW5lclJlc2l6ZVNwZWVkLGZ1bmN0aW9uKCkgeyBfc2hvd19pbWFnZSgpOyB9KTsNCgkJCWlmICggKCBpbnREaWZmVyA9PSAwICkgJiYgKCBpbnREaWZmSCA9PSAwICkgKSB7DQoJCQkJaWYgKCAkLmJyb3dzZXIubXNpZSApIHsNCgkJCQkJX19fcGF1c2UoMjUwKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlfX19wYXVzZSgxMDApOwkNCgkJCQl9DQoJCQl9IA0KCQkJJCgnI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1kYXRhLWJveCcpLmNzcyh7IHdpZHRoOiBpbnRJbWFnZVdpZHRoIH0pOw0KCQkJJCgnI2xpZ2h0Ym94LW5hdi1idG5QcmV2LCNsaWdodGJveC1uYXYtYnRuTmV4dCcpLmNzcyh7IGhlaWdodDogaW50SW1hZ2VIZWlnaHQgKyAoc2V0dGluZ3MuY29udGFpbmVyQm9yZGVyU2l6ZSAqIDIpIH0pOw0KCQl9Ow0KCQkvKioNCgkJICogU2hvdyB0aGUgcHJlcGFyZWQgaW1hZ2UNCgkJICoNCgkJICovDQoJCWZ1bmN0aW9uIF9zaG93X2ltYWdlKCkgew0KCQkJJCgnI2xpZ2h0Ym94LWxvYWRpbmcnKS5oaWRlKCk7DQoJCQkkKCcjbGlnaHRib3gtaW1hZ2UnKS5mYWRlSW4oZnVuY3Rpb24oKSB7DQoJCQkJX3Nob3dfaW1hZ2VfZGF0YSgpOw0KCQkJCV9zZXRfbmF2aWdhdGlvbigpOw0KCQkJfSk7DQoJCQlfcHJlbG9hZF9uZWlnaGJvcl9pbWFnZXMoKTsNCgkJfTsNCgkJLyoqDQoJCSAqIFNob3cgdGhlIGltYWdlIGluZm9ybWF0aW9uDQoJCSAqDQoJCSAqLw0KCQlmdW5jdGlvbiBfc2hvd19pbWFnZV9kYXRhKCkgew0KCQkJJCgnI2xpZ2h0Ym94LWNvbnRhaW5lci1pbWFnZS1kYXRhLWJveCcpLnNsaWRlRG93bignZmFzdCcpOw0KCQkJJCgnI2xpZ2h0Ym94LWltYWdlLWRldGFpbHMtY2FwdGlvbicpLmhpZGUoKTsNCgkJCWlmICggc2V0dGluZ3MuaW1hZ2VBcnJheVtzZXR0aW5ncy5hY3RpdmVJbWFnZV1bMV0gKSB7DQoJCQkJJCgnI2xpZ2h0Ym94LWltYWdlLWRldGFpbHMtY2FwdGlvbicpLmh0bWwoc2V0dGluZ3MuaW1hZ2VBcnJheVtzZXR0aW5ncy5hY3RpdmVJbWFnZV1bMV0pLnNob3coKTsNCgkJCX0NCgkJCS8vIElmIHdlIGhhdmUgYSBpbWFnZSBzZXQsIGRpc3BsYXkgJ0ltYWdlIFggb2YgWCcNCgkJCWlmICggc2V0dGluZ3MuaW1hZ2VBcnJheS5sZW5ndGggPiAxICkgew0KCQkJCSQoJyNsaWdodGJveC1pbWFnZS1kZXRhaWxzLWN1cnJlbnROdW1iZXInKS5odG1sKHNldHRpbmdzLnR4dEltYWdlICsgJyAnICsgKCBzZXR0aW5ncy5hY3RpdmVJbWFnZSArIDEgKSArICcgJyArIHNldHRpbmdzLnR4dE9mICsgJyAnICsgc2V0dGluZ3MuaW1hZ2VBcnJheS5sZW5ndGgpLnNob3coKTsNCgkJCX0JCQ0KCQl9DQoJCS8qKg0KCQkgKiBEaXNwbGF5IHRoZSBidXR0b24gbmF2aWdhdGlvbnMNCgkJICoNCgkJICovDQoJCWZ1bmN0aW9uIF9zZXRfbmF2aWdhdGlvbigpIHsNCgkJCSQoJyNsaWdodGJveC1uYXYnKS5zaG93KCk7DQoNCgkJCS8vIEluc3RlYWQgdG8gZGVmaW5lIHRoaXMgY29uZmlndXJhdGlvbiBpbiBDU1MgZmlsZSwgd2UgZGVmaW5lIGhlcmUuIEFuZCBpdLRzIG5lZWQgdG8gSUUuIEp1c3QuDQoJCQkkKCcjbGlnaHRib3gtbmF2LWJ0blByZXYsI2xpZ2h0Ym94LW5hdi1idG5OZXh0JykuY3NzKHsgJ2JhY2tncm91bmQnIDogJ3RyYW5zcGFyZW50IHVybCgnICsgc2V0dGluZ3MuaW1hZ2VCbGFuayArICcpIG5vLXJlcGVhdCcgfSk7DQoJCQkNCgkJCS8vIFNob3cgdGhlIHByZXYgYnV0dG9uLCBpZiBub3QgdGhlIGZpcnN0IGltYWdlIGluIHNldA0KCQkJaWYgKCBzZXR0aW5ncy5hY3RpdmVJbWFnZSAhPSAwICkgew0KCQkJCWlmICggc2V0dGluZ3MuZml4ZWROYXZpZ2F0aW9uICkgew0KCQkJCQkkKCcjbGlnaHRib3gtbmF2LWJ0blByZXYnKS5jc3MoeyAnYmFja2dyb3VuZCcgOiAndXJsKCcgKyBzZXR0aW5ncy5pbWFnZUJ0blByZXYgKyAnKSBsZWZ0IDE1JSBuby1yZXBlYXQnIH0pDQoJCQkJCQkudW5iaW5kKCkNCgkJCQkJCS5iaW5kKCdjbGljaycsZnVuY3Rpb24oKSB7DQoJCQkJCQkJc2V0dGluZ3MuYWN0aXZlSW1hZ2UgPSBzZXR0aW5ncy5hY3RpdmVJbWFnZSAtIDE7DQoJCQkJCQkJX3NldF9pbWFnZV90b192aWV3KCk7DQoJCQkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCQkJfSk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJLy8gU2hvdyB0aGUgaW1hZ2VzIGJ1dHRvbiBmb3IgTmV4dCBidXR0b25zDQoJCQkJCSQoJyNsaWdodGJveC1uYXYtYnRuUHJldicpLnVuYmluZCgpLmhvdmVyKGZ1bmN0aW9uKCkgew0KCQkJCQkJJCh0aGlzKS5jc3MoeyAnYmFja2dyb3VuZCcgOiAndXJsKCcgKyBzZXR0aW5ncy5pbWFnZUJ0blByZXYgKyAnKSBsZWZ0IDE1JSBuby1yZXBlYXQnIH0pOw0KCQkJCQl9LGZ1bmN0aW9uKCkgew0KCQkJCQkJJCh0aGlzKS5jc3MoeyAnYmFja2dyb3VuZCcgOiAndHJhbnNwYXJlbnQgdXJsKCcgKyBzZXR0aW5ncy5pbWFnZUJsYW5rICsgJykgbm8tcmVwZWF0JyB9KTsNCgkJCQkJfSkuc2hvdygpLmJpbmQoJ2NsaWNrJyxmdW5jdGlvbigpIHsNCgkJCQkJCXNldHRpbmdzLmFjdGl2ZUltYWdlID0gc2V0dGluZ3MuYWN0aXZlSW1hZ2UgLSAxOw0KCQkJCQkJX3NldF9pbWFnZV90b192aWV3KCk7DQoJCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJCX0pOw0KCQkJCX0NCgkJCX0NCgkJCQ0KCQkJLy8gU2hvdyB0aGUgbmV4dCBidXR0b24sIGlmIG5vdCB0aGUgbGFzdCBpbWFnZSBpbiBzZXQNCgkJCWlmICggc2V0dGluZ3MuYWN0aXZlSW1hZ2UgIT0gKCBzZXR0aW5ncy5pbWFnZUFycmF5Lmxlbmd0aCAtMSApICkgew0KCQkJCWlmICggc2V0dGluZ3MuZml4ZWROYXZpZ2F0aW9uICkgew0KCQkJCQkkKCcjbGlnaHRib3gtbmF2LWJ0bk5leHQnKS5jc3MoeyAnYmFja2dyb3VuZCcgOiAndXJsKCcgKyBzZXR0aW5ncy5pbWFnZUJ0bk5leHQgKyAnKSByaWdodCAxNSUgbm8tcmVwZWF0JyB9KQ0KCQkJCQkJLnVuYmluZCgpDQoJCQkJCQkuYmluZCgnY2xpY2snLGZ1bmN0aW9uKCkgew0KCQkJCQkJCXNldHRpbmdzLmFjdGl2ZUltYWdlID0gc2V0dGluZ3MuYWN0aXZlSW1hZ2UgKyAxOw0KCQkJCQkJCV9zZXRfaW1hZ2VfdG9fdmlldygpOw0KCQkJCQkJCXJldHVybiBmYWxzZTsNCgkJCQkJCX0pOw0KCQkJCX0gZWxzZSB7DQoJCQkJCS8vIFNob3cgdGhlIGltYWdlcyBidXR0b24gZm9yIE5leHQgYnV0dG9ucw0KCQkJCQkkKCcjbGlnaHRib3gtbmF2LWJ0bk5leHQnKS51bmJpbmQoKS5ob3ZlcihmdW5jdGlvbigpIHsNCgkJCQkJCSQodGhpcykuY3NzKHsgJ2JhY2tncm91bmQnIDogJ3VybCgnICsgc2V0dGluZ3MuaW1hZ2VCdG5OZXh0ICsgJykgcmlnaHQgMTUlIG5vLXJlcGVhdCcgfSk7DQoJCQkJCX0sZnVuY3Rpb24oKSB7DQoJCQkJCQkkKHRoaXMpLmNzcyh7ICdiYWNrZ3JvdW5kJyA6ICd0cmFuc3BhcmVudCB1cmwoJyArIHNldHRpbmdzLmltYWdlQmxhbmsgKyAnKSBuby1yZXBlYXQnIH0pOw0KCQkJCQl9KS5zaG93KCkuYmluZCgnY2xpY2snLGZ1bmN0aW9uKCkgew0KCQkJCQkJc2V0dGluZ3MuYWN0aXZlSW1hZ2UgPSBzZXR0aW5ncy5hY3RpdmVJbWFnZSArIDE7DQoJCQkJCQlfc2V0X2ltYWdlX3RvX3ZpZXcoKTsNCgkJCQkJCXJldHVybiBmYWxzZTsNCgkJCQkJfSk7DQoJCQkJfQ0KCQkJfQ0KCQkJLy8gRW5hYmxlIGtleWJvYXJkIG5hdmlnYXRpb24NCgkJCV9lbmFibGVfa2V5Ym9hcmRfbmF2aWdhdGlvbigpOw0KCQl9DQoJCS8qKg0KCQkgKiBFbmFibGUgYSBzdXBwb3J0IHRvIGtleWJvYXJkIG5hdmlnYXRpb24NCgkJICoNCgkJICovDQoJCWZ1bmN0aW9uIF9lbmFibGVfa2V5Ym9hcmRfbmF2aWdhdGlvbigpIHsNCgkJCSQoZG9jdW1lbnQpLmtleWRvd24oZnVuY3Rpb24ob2JqRXZlbnQpIHsNCgkJCQlfa2V5Ym9hcmRfYWN0aW9uKG9iakV2ZW50KTsNCgkJCX0pOw0KCQl9DQoJCS8qKg0KCQkgKiBEaXNhYmxlIHRoZSBzdXBwb3J0IHRvIGtleWJvYXJkIG5hdmlnYXRpb24NCgkJICoNCgkJICovDQoJCWZ1bmN0aW9uIF9kaXNhYmxlX2tleWJvYXJkX25hdmlnYXRpb24oKSB7DQoJCQkkKGRvY3VtZW50KS51bmJpbmQoKTsNCgkJfQ0KCQkvKioNCgkJICogUGVyZm9ybSB0aGUga2V5Ym9hcmQgYWN0aW9ucw0KCQkgKg0KCQkgKi8NCgkJZnVuY3Rpb24gX2tleWJvYXJkX2FjdGlvbihvYmpFdmVudCkgew0KCQkJLy8gVG8gaWUNCgkJCWlmICggb2JqRXZlbnQgPT0gbnVsbCApIHsNCgkJCQlrZXljb2RlID0gZXZlbnQua2V5Q29kZTsNCgkJCQllc2NhcGVLZXkgPSAyNzsNCgkJCS8vIFRvIE1vemlsbGENCgkJCX0gZWxzZSB7DQoJCQkJa2V5Y29kZSA9IG9iakV2ZW50LmtleUNvZGU7DQoJCQkJZXNjYXBlS2V5ID0gb2JqRXZlbnQuRE9NX1ZLX0VTQ0FQRTsNCgkJCX0NCgkJCS8vIEdldCB0aGUga2V5IGluIGxvd2VyIGNhc2UgZm9ybQ0KCQkJa2V5ID0gU3RyaW5nLmZyb21DaGFyQ29kZShrZXljb2RlKS50b0xvd2VyQ2FzZSgpOw0KCQkJLy8gVmVyaWZ5IHRoZSBrZXlzIHRvIGNsb3NlIHRoZSBsaWd0aEJveA0KCQkJaWYgKCAoIGtleSA9PSBzZXR0aW5ncy5rZXlUb0Nsb3NlICkgfHwgKCBrZXkgPT0gJ3gnICkgfHwgKCBrZXljb2RlID09IGVzY2FwZUtleSApICkgew0KCQkJCV9maW5pc2goKTsNCgkJCX0NCgkJCS8vIFZlcmlmeSB0aGUga2V5IHRvIHNob3cgdGhlIHByZXZpb3VzIGltYWdlDQoJCQlpZiAoICgga2V5ID09IHNldHRpbmdzLmtleVRvUHJldiApIHx8ICgga2V5Y29kZSA9PSAzNyApICkgew0KCQkJCS8vIElmIHdltHJlIG5vdCBzaG93aW5nIHRoZSBmaXJzdCBpbWFnZSwgY2FsbCB0aGUgcHJldmlvdXMNCgkJCQlpZiAoIHNldHRpbmdzLmFjdGl2ZUltYWdlICE9IDAgKSB7DQoJCQkJCXNldHRpbmdzLmFjdGl2ZUltYWdlID0gc2V0dGluZ3MuYWN0aXZlSW1hZ2UgLSAxOw0KCQkJCQlfc2V0X2ltYWdlX3RvX3ZpZXcoKTsNCgkJCQkJX2Rpc2FibGVfa2V5Ym9hcmRfbmF2aWdhdGlvbigpOw0KCQkJCX0NCgkJCX0NCgkJCS8vIFZlcmlmeSB0aGUga2V5IHRvIHNob3cgdGhlIG5leHQgaW1hZ2UNCgkJCWlmICggKCBrZXkgPT0gc2V0dGluZ3Mua2V5VG9OZXh0ICkgfHwgKCBrZXljb2RlID09IDM5ICkgKSB7DQoJCQkJLy8gSWYgd2W0cmUgbm90IHNob3dpbmcgdGhlIGxhc3QgaW1hZ2UsIGNhbGwgdGhlIG5leHQNCgkJCQlpZiAoIHNldHRpbmdzLmFjdGl2ZUltYWdlICE9ICggc2V0dGluZ3MuaW1hZ2VBcnJheS5sZW5ndGggLSAxICkgKSB7DQoJCQkJCXNldHRpbmdzLmFjdGl2ZUltYWdlID0gc2V0dGluZ3MuYWN0aXZlSW1hZ2UgKyAxOw0KCQkJCQlfc2V0X2ltYWdlX3RvX3ZpZXcoKTsNCgkJCQkJX2Rpc2FibGVfa2V5Ym9hcmRfbmF2aWdhdGlvbigpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQkvKioNCgkJICogUHJlbG9hZCBwcmV2IGFuZCBuZXh0IGltYWdlcyBiZWluZyBzaG93ZWQNCgkJICoNCgkJICovDQoJCWZ1bmN0aW9uIF9wcmVsb2FkX25laWdoYm9yX2ltYWdlcygpIHsNCgkJCWlmICggKHNldHRpbmdzLmltYWdlQXJyYXkubGVuZ3RoIC0xKSA+IHNldHRpbmdzLmFjdGl2ZUltYWdlICkgew0KCQkJCW9iak5leHQgPSBuZXcgSW1hZ2UoKTsNCgkJCQlvYmpOZXh0LnNyYyA9IHNldHRpbmdzLmltYWdlQXJyYXlbc2V0dGluZ3MuYWN0aXZlSW1hZ2UgKyAxXVswXTsNCgkJCX0NCgkJCWlmICggc2V0dGluZ3MuYWN0aXZlSW1hZ2UgPiAwICkgew0KCQkJCW9ialByZXYgPSBuZXcgSW1hZ2UoKTsNCgkJCQlvYmpQcmV2LnNyYyA9IHNldHRpbmdzLmltYWdlQXJyYXlbc2V0dGluZ3MuYWN0aXZlSW1hZ2UgLTFdWzBdOw0KCQkJfQ0KCQl9DQoJCS8qKg0KCQkgKiBSZW1vdmUgalF1ZXJ5IGxpZ2h0Qm94IHBsdWdpbiBIVE1MIG1hcmt1cA0KCQkgKg0KCQkgKi8NCgkJZnVuY3Rpb24gX2ZpbmlzaCgpIHsNCgkJCSQoJyNqcXVlcnktbGlnaHRib3gnKS5yZW1vdmUoKTsNCgkJCSQoJyNqcXVlcnktb3ZlcmxheScpLmZhZGVPdXQoZnVuY3Rpb24oKSB7ICQoJyNqcXVlcnktb3ZlcmxheScpLnJlbW92ZSgpOyB9KTsNCgkJCS8vIFNob3cgc29tZSBlbGVtZW50cyB0byBhdm9pZCBjb25mbGljdCB3aXRoIG92ZXJsYXkgaW4gSUUuIFRoZXNlIGVsZW1lbnRzIGFwcGVhciBhYm92ZSB0aGUgb3ZlcmxheS4NCgkJCSQoJ2VtYmVkLCBvYmplY3QsIHNlbGVjdCcpLmNzcyh7ICd2aXNpYmlsaXR5JyA6ICd2aXNpYmxlJyB9KTsNCgkJfQ0KCQkvKioNCgkJIC8gVEhJUkQgRlVOQ1RJT04NCgkJICogZ2V0UGFnZVNpemUoKSBieSBxdWlya3Ntb2RlLmNvbQ0KCQkgKg0KCQkgKiBAcmV0dXJuIEFycmF5IFJldHVybiBhbiBhcnJheSB3aXRoIHBhZ2Ugd2lkdGgsIGhlaWdodCBhbmQgd2luZG93IHdpZHRoLCBoZWlnaHQNCgkJICovDQoJCWZ1bmN0aW9uIF9fX2dldFBhZ2VTaXplKCkgew0KCQkJdmFyIHhTY3JvbGwsIHlTY3JvbGw7DQoJCQlpZiAod2luZG93LmlubmVySGVpZ2h0ICYmIHdpbmRvdy5zY3JvbGxNYXhZKSB7CQ0KCQkJCXhTY3JvbGwgPSB3aW5kb3cuaW5uZXJXaWR0aCArIHdpbmRvdy5zY3JvbGxNYXhYOw0KCQkJCXlTY3JvbGwgPSB3aW5kb3cuaW5uZXJIZWlnaHQgKyB3aW5kb3cuc2Nyb2xsTWF4WTsNCgkJCX0gZWxzZSBpZiAoZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQgPiBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCl7IC8vIGFsbCBidXQgRXhwbG9yZXIgTWFjDQoJCQkJeFNjcm9sbCA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsV2lkdGg7DQoJCQkJeVNjcm9sbCA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0Ow0KCQkJfSBlbHNlIHsgLy8gRXhwbG9yZXIgTWFjLi4ud291bGQgYWxzbyB3b3JrIGluIEV4cGxvcmVyIDYgU3RyaWN0LCBNb3ppbGxhIGFuZCBTYWZhcmkNCgkJCQl4U2Nyb2xsID0gZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDsNCgkJCQl5U2Nyb2xsID0gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7DQoJCQl9DQoJCQl2YXIgd2luZG93V2lkdGgsIHdpbmRvd0hlaWdodDsNCgkJCWlmIChzZWxmLmlubmVySGVpZ2h0KSB7CS8vIGFsbCBleGNlcHQgRXhwbG9yZXINCgkJCQlpZihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpew0KCQkJCQl3aW5kb3dXaWR0aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDsgDQoJCQkJfSBlbHNlIHsNCgkJCQkJd2luZG93V2lkdGggPSBzZWxmLmlubmVyV2lkdGg7DQoJCQkJfQ0KCQkJCXdpbmRvd0hlaWdodCA9IHNlbGYuaW5uZXJIZWlnaHQ7DQoJCQl9IGVsc2UgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSB7IC8vIEV4cGxvcmVyIDYgU3RyaWN0IE1vZGUNCgkJCQl3aW5kb3dXaWR0aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDsNCgkJCQl3aW5kb3dIZWlnaHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0Ow0KCQkJfSBlbHNlIGlmIChkb2N1bWVudC5ib2R5KSB7IC8vIG90aGVyIEV4cGxvcmVycw0KCQkJCXdpbmRvd1dpZHRoID0gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDsNCgkJCQl3aW5kb3dIZWlnaHQgPSBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodDsNCgkJCX0JDQoJCQkvLyBmb3Igc21hbGwgcGFnZXMgd2l0aCB0b3RhbCBoZWlnaHQgbGVzcyB0aGVuIGhlaWdodCBvZiB0aGUgdmlld3BvcnQNCgkJCWlmKHlTY3JvbGwgPCB3aW5kb3dIZWlnaHQpew0KCQkJCXBhZ2VIZWlnaHQgPSB3aW5kb3dIZWlnaHQ7DQoJCQl9IGVsc2UgeyANCgkJCQlwYWdlSGVpZ2h0ID0geVNjcm9sbDsNCgkJCX0NCgkJCS8vIGZvciBzbWFsbCBwYWdlcyB3aXRoIHRvdGFsIHdpZHRoIGxlc3MgdGhlbiB3aWR0aCBvZiB0aGUgdmlld3BvcnQNCgkJCWlmKHhTY3JvbGwgPCB3aW5kb3dXaWR0aCl7CQ0KCQkJCXBhZ2VXaWR0aCA9IHhTY3JvbGw7CQkNCgkJCX0gZWxzZSB7DQoJCQkJcGFnZVdpZHRoID0gd2luZG93V2lkdGg7DQoJCQl9DQoJCQlhcnJheVBhZ2VTaXplID0gbmV3IEFycmF5KHBhZ2VXaWR0aCxwYWdlSGVpZ2h0LHdpbmRvd1dpZHRoLHdpbmRvd0hlaWdodCk7DQoJCQlyZXR1cm4gYXJyYXlQYWdlU2l6ZTsNCgkJfTsNCgkJLyoqDQoJCSAvIFRISVJEIEZVTkNUSU9ODQoJCSAqIGdldFBhZ2VTY3JvbGwoKSBieSBxdWlya3Ntb2RlLmNvbQ0KCQkgKg0KCQkgKiBAcmV0dXJuIEFycmF5IFJldHVybiBhbiBhcnJheSB3aXRoIHgseSBwYWdlIHNjcm9sbCB2YWx1ZXMuDQoJCSAqLw0KCQlmdW5jdGlvbiBfX19nZXRQYWdlU2Nyb2xsKCkgew0KCQkJdmFyIHhTY3JvbGwsIHlTY3JvbGw7DQoJCQlpZiAoc2VsZi5wYWdlWU9mZnNldCkgew0KCQkJCXlTY3JvbGwgPSBzZWxmLnBhZ2VZT2Zmc2V0Ow0KCQkJCXhTY3JvbGwgPSBzZWxmLnBhZ2VYT2Zmc2V0Ow0KCQkJfSBlbHNlIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCkgewkgLy8gRXhwbG9yZXIgNiBTdHJpY3QNCgkJCQl5U2Nyb2xsID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDsNCgkJCQl4U2Nyb2xsID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7DQoJCQl9IGVsc2UgaWYgKGRvY3VtZW50LmJvZHkpIHsvLyBhbGwgb3RoZXIgRXhwbG9yZXJzDQoJCQkJeVNjcm9sbCA9IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOw0KCQkJCXhTY3JvbGwgPSBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ7CQ0KCQkJfQ0KCQkJYXJyYXlQYWdlU2Nyb2xsID0gbmV3IEFycmF5KHhTY3JvbGwseVNjcm9sbCk7DQoJCQlyZXR1cm4gYXJyYXlQYWdlU2Nyb2xsOw0KCQl9Ow0KCQkgLyoqDQoJCSAgKiBTdG9wIHRoZSBjb2RlIGV4ZWN1dGlvbiBmcm9tIGEgZXNjaWZpZWQgdGltZSBpbiBtaWxpc2Vjb25kDQoJCSAgKg0KCQkgICovDQoJCSBmdW5jdGlvbiBfX19wYXVzZShtcykgew0KCQkJdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOyANCgkJCWN1ckRhdGUgPSBudWxsOw0KCQkJZG8geyB2YXIgY3VyRGF0ZSA9IG5ldyBEYXRlKCk7IH0NCgkJCXdoaWxlICggY3VyRGF0ZSAtIGRhdGUgPCBtcyk7DQoJCSB9Ow0KCQkvLyBSZXR1cm4gdGhlIGpRdWVyeSBvYmplY3QgZm9yIGNoYWluaW5nLiBUaGUgdW5iaW5kIG1ldGhvZCBpcyB1c2VkIHRvIGF2b2lkIGNsaWNrIGNvbmZsaWN0IHdoZW4gdGhlIHBsdWdpbiBpcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UNCgkJcmV0dXJuIHRoaXMudW5iaW5kKCdjbGljaycpLmNsaWNrKF9pbml0aWFsaXplKTsNCgl9Ow0KfSkoalF1ZXJ5KTsgLy8gQ2FsbCBhbmQgZXhlY3V0ZSB0aGUgZnVuY3Rpb24gaW1tZWRpYXRlbHkgcGFzc2luZyB0aGUgalF1ZXJ5IG9iamVjdA0K]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.metadata.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogTWV0YWRhdGEgLSBqUXVlcnkgcGx1Z2luIGZvciBwYXJzaW5nIG1ldGFkYXRhIGZyb20gZWxlbWVudHMKICoKICogQ29weXJpZ2h0IChjKSAyMDA2IEpvaG4gUmVzaWcsIFllaHVkYSBLYXR6LCBK77+9w7ZybiBaYWVmZmVyZXIsIFBhdWwgTWNMYW5haGFuCiAqCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOgogKiAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqICAgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sCiAqCiAqIFJldmlzaW9uOiAkSWQkCiAqCiAqLwoKLyoqCiAqIFNldHMgdGhlIHR5cGUgb2YgbWV0YWRhdGEgdG8gdXNlLiBNZXRhZGF0YSBpcyBlbmNvZGVkIGluIEpTT04sIGFuZCBlYWNoIHByb3BlcnR5CiAqIGluIHRoZSBKU09OIHdpbGwgYmVjb21lIGEgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgaXRzZWxmLgogKgogKiBUaGVyZSBhcmUgdGhyZWUgc3VwcG9ydGVkIHR5cGVzIG9mIG1ldGFkYXRhIHN0b3JhZ2U6CiAqCiAqICAgYXR0cjogIEluc2lkZSBhbiBhdHRyaWJ1dGUuIFRoZSBuYW1lIHBhcmFtZXRlciBpbmRpY2F0ZXMgKndoaWNoKiBhdHRyaWJ1dGUuCiAqICAgICAgICAgIAogKiAgIGNsYXNzOiBJbnNpZGUgdGhlIGNsYXNzIGF0dHJpYnV0ZSwgd3JhcHBlZCBpbiBjdXJseSBicmFjZXM6IHsgfQogKiAgIAogKiAgIGVsZW06ICBJbnNpZGUgYSBjaGlsZCBlbGVtZW50IChlLmcuIGEgc2NyaXB0IHRhZykuIFRoZQogKiAgICAgICAgICBuYW1lIHBhcmFtZXRlciBpbmRpY2F0ZXMgKndoaWNoKiBlbGVtZW50LgogKiAgICAgICAgICAKICogVGhlIG1ldGFkYXRhIGZvciBhbiBlbGVtZW50IGlzIGxvYWRlZCB0aGUgZmlyc3QgdGltZSB0aGUgZWxlbWVudCBpcyBhY2Nlc3NlZCB2aWEgalF1ZXJ5LgogKgogKiBBcyBhIHJlc3VsdCwgeW91IGNhbiBkZWZpbmUgdGhlIG1ldGFkYXRhIHR5cGUsIHVzZSAkKGV4cHIpIHRvIGxvYWQgdGhlIG1ldGFkYXRhIGludG8gdGhlIGVsZW1lbnRzCiAqIG1hdGNoZWQgYnkgZXhwciwgdGhlbiByZWRlZmluZSB0aGUgbWV0YWRhdGEgdHlwZSBhbmQgcnVuIGFub3RoZXIgJChleHByKSBmb3Igb3RoZXIgZWxlbWVudHMuCiAqIAogKiBAbmFtZSAkLm1ldGFkYXRhLnNldFR5cGUKICoKICogQGV4YW1wbGUgPHAgaWQ9Im9uZSIgY2xhc3M9InNvbWVfY2xhc3Mge2l0ZW1faWQ6IDEsIGl0ZW1fbGFiZWw6ICdMYWJlbCd9Ij5UaGlzIGlzIGEgcDwvcD4KICogQGJlZm9yZSAkLm1ldGFkYXRhLnNldFR5cGUoImNsYXNzIikKICogQGFmdGVyICQoIiNvbmUiKS5tZXRhZGF0YSgpLml0ZW1faWQgPT0gMTsgJCgiI29uZSIpLm1ldGFkYXRhKCkuaXRlbV9sYWJlbCA9PSAiTGFiZWwiCiAqIEBkZXNjIFJlYWRzIG1ldGFkYXRhIGZyb20gdGhlIGNsYXNzIGF0dHJpYnV0ZQogKiAKICogQGV4YW1wbGUgPHAgaWQ9Im9uZSIgY2xhc3M9InNvbWVfY2xhc3MiIGRhdGE9IntpdGVtX2lkOiAxLCBpdGVtX2xhYmVsOiAnTGFiZWwnfSI+VGhpcyBpcyBhIHA8L3A+CiAqIEBiZWZvcmUgJC5tZXRhZGF0YS5zZXRUeXBlKCJhdHRyIiwgImRhdGEiKQogKiBAYWZ0ZXIgJCgiI29uZSIpLm1ldGFkYXRhKCkuaXRlbV9pZCA9PSAxOyAkKCIjb25lIikubWV0YWRhdGEoKS5pdGVtX2xhYmVsID09ICJMYWJlbCIKICogQGRlc2MgUmVhZHMgbWV0YWRhdGEgZnJvbSBhICJkYXRhIiBhdHRyaWJ1dGUKICogCiAqIEBleGFtcGxlIDxwIGlkPSJvbmUiIGNsYXNzPSJzb21lX2NsYXNzIj48c2NyaXB0PntpdGVtX2lkOiAxLCBpdGVtX2xhYmVsOiAnTGFiZWwnfTwvc2NyaXB0PlRoaXMgaXMgYSBwPC9wPgogKiBAYmVmb3JlICQubWV0YWRhdGEuc2V0VHlwZSgiZWxlbSIsICJzY3JpcHQiKQogKiBAYWZ0ZXIgJCgiI29uZSIpLm1ldGFkYXRhKCkuaXRlbV9pZCA9PSAxOyAkKCIjb25lIikubWV0YWRhdGEoKS5pdGVtX2xhYmVsID09ICJMYWJlbCIKICogQGRlc2MgUmVhZHMgbWV0YWRhdGEgZnJvbSBhIG5lc3RlZCBzY3JpcHQgZWxlbWVudAogKiAKICogQHBhcmFtIFN0cmluZyB0eXBlIFRoZSBlbmNvZGluZyB0eXBlCiAqIEBwYXJhbSBTdHJpbmcgbmFtZSBUaGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlIHRvIGJlIHVzZWQgdG8gZ2V0IG1ldGFkYXRhIChvcHRpb25hbCkKICogQGNhdCBQbHVnaW5zL01ldGFkYXRhCiAqIEBkZXNjciBTZXRzIHRoZSB0eXBlIG9mIGVuY29kaW5nIHRvIGJlIHVzZWQgd2hlbiBsb2FkaW5nIG1ldGFkYXRhIGZvciB0aGUgZmlyc3QgdGltZQogKiBAdHlwZSB1bmRlZmluZWQKICogQHNlZSBtZXRhZGF0YSgpCiAqLwoKKGZ1bmN0aW9uKCQpIHsKCiQuZXh0ZW5kKHsKCW1ldGFkYXRhIDogewoJCWRlZmF1bHRzIDogewoJCQl0eXBlOiAnY2xhc3MnLAoJCQluYW1lOiAnbWV0YWRhdGEnLAoJCQljcmU6IC8oey4qfSkvLAoJCQlzaW5nbGU6ICdtZXRhZGF0YScKCQl9LAoJCXNldFR5cGU6IGZ1bmN0aW9uKCB0eXBlLCBuYW1lICl7CgkJCXRoaXMuZGVmYXVsdHMudHlwZSA9IHR5cGU7CgkJCXRoaXMuZGVmYXVsdHMubmFtZSA9IG5hbWU7CgkJfSwKCQlnZXQ6IGZ1bmN0aW9uKCBlbGVtLCBvcHRzICl7CgkJCXZhciBzZXR0aW5ncyA9ICQuZXh0ZW5kKHt9LHRoaXMuZGVmYXVsdHMsb3B0cyk7CgkJCS8vIGNoZWNrIGZvciBlbXB0eSBzdHJpbmcgaW4gc2luZ2xlIHByb3BlcnR5CgkJCWlmICggIXNldHRpbmdzLnNpbmdsZS5sZW5ndGggKSBzZXR0aW5ncy5zaW5nbGUgPSAnbWV0YWRhdGEnOwoJCQkKCQkJdmFyIGRhdGEgPSAkLmRhdGEoZWxlbSwgc2V0dGluZ3Muc2luZ2xlKTsKCQkJLy8gcmV0dXJuZWQgY2FjaGVkIGRhdGEgaWYgaXQgYWxyZWFkeSBleGlzdHMKCQkJaWYgKCBkYXRhICkgcmV0dXJuIGRhdGE7CgkJCQoJCQlkYXRhID0gInt9IjsKCQkJCgkJCWlmICggc2V0dGluZ3MudHlwZSA9PSAiY2xhc3MiICkgewoJCQkJdmFyIG0gPSBzZXR0aW5ncy5jcmUuZXhlYyggZWxlbS5jbGFzc05hbWUgKTsKCQkJCWlmICggbSApCgkJCQkJZGF0YSA9IG1bMV07CgkJCX0gZWxzZSBpZiAoIHNldHRpbmdzLnR5cGUgPT0gImVsZW0iICkgewoJCQkJaWYoICFlbGVtLmdldEVsZW1lbnRzQnlUYWdOYW1lICkKCQkJCQlyZXR1cm4gdW5kZWZpbmVkOwoJCQkJdmFyIGUgPSBlbGVtLmdldEVsZW1lbnRzQnlUYWdOYW1lKHNldHRpbmdzLm5hbWUpOwoJCQkJaWYgKCBlLmxlbmd0aCApCgkJCQkJZGF0YSA9ICQudHJpbShlWzBdLmlubmVySFRNTCk7CgkJCX0gZWxzZSBpZiAoIGVsZW0uZ2V0QXR0cmlidXRlICE9IHVuZGVmaW5lZCApIHsKCQkJCXZhciBhdHRyID0gZWxlbS5nZXRBdHRyaWJ1dGUoIHNldHRpbmdzLm5hbWUgKTsKCQkJCWlmICggYXR0ciApCgkJCQkJZGF0YSA9IGF0dHI7CgkJCX0KCQkJCgkJCWlmICggZGF0YS5pbmRleE9mKCAneycgKSA8MCApCgkJCWRhdGEgPSAieyIgKyBkYXRhICsgIn0iOwoJCQkKCQkJZGF0YSA9IGV2YWwoIigiICsgZGF0YSArICIpIik7CgkJCQoJCQkkLmRhdGEoIGVsZW0sIHNldHRpbmdzLnNpbmdsZSwgZGF0YSApOwoJCQlyZXR1cm4gZGF0YTsKCQl9Cgl9Cn0pOwoKLyoqCiAqIFJldHVybnMgdGhlIG1ldGFkYXRhIG9iamVjdCBmb3IgdGhlIGZpcnN0IG1lbWJlciBvZiB0aGUgalF1ZXJ5IG9iamVjdC4KICoKICogQG5hbWUgbWV0YWRhdGEKICogQGRlc2NyIFJldHVybnMgZWxlbWVudCdzIG1ldGFkYXRhIG9iamVjdAogKiBAcGFyYW0gT2JqZWN0IG9wdHMgQW4gb2JqZWN0IGNvbnRpYW5pbmcgc2V0dGluZ3MgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHRzCiAqIEB0eXBlIGpRdWVyeQogKiBAY2F0IFBsdWdpbnMvTWV0YWRhdGEKICovCiQuZm4ubWV0YWRhdGEgPSBmdW5jdGlvbiggb3B0cyApewoJcmV0dXJuICQubWV0YWRhdGEuZ2V0KCB0aGlzWzBdLCBvcHRzICk7Cn07Cgp9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/jquery.tablesorter.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogCiAqIFRhYmxlU29ydGVyIDIuMCAtIENsaWVudC1zaWRlIHRhYmxlIHNvcnRpbmcgd2l0aCBlYXNlIQogKiBWZXJzaW9uIDIuMC4zCiAqIEByZXF1aXJlcyBqUXVlcnkgdjEuMi4zCiAqIAogKiBDb3B5cmlnaHQgKGMpIDIwMDcgQ2hyaXN0aWFuIEJhY2gKICogRXhhbXBsZXMgYW5kIGRvY3MgYXQ6IGh0dHA6Ly90YWJsZXNvcnRlci5jb20KICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXM6CiAqIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiAqIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbAogKiAKICovCi8qKgogKgogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGEgc29ydGFibGUgdGFibGUgd2l0aCBtdWx0aS1jb2x1bW4gc29ydGluZyBjYXBhYmlsaXR5cwogKiAKICogQGV4YW1wbGUgJCgndGFibGUnKS50YWJsZXNvcnRlcigpOwogKiBAZGVzYyBDcmVhdGUgYSBzaW1wbGUgdGFibGVzb3J0ZXIgaW50ZXJmYWNlLgogKgogKiBAZXhhbXBsZSAkKCd0YWJsZScpLnRhYmxlc29ydGVyKHsgc29ydExpc3Q6W1swLDBdLFsxLDBdXSB9KTsKICogQGRlc2MgQ3JlYXRlIGEgdGFibGVzb3J0ZXIgaW50ZXJmYWNlIGFuZCBzb3J0IG9uIHRoZSBmaXJzdCBhbmQgc2Vjb3VuZCBjb2x1bW4gaW4gYXNjZW5kaW5nIG9yZGVyLgogKiAKICogQGV4YW1wbGUgJCgndGFibGUnKS50YWJsZXNvcnRlcih7IGhlYWRlcnM6IHsgMDogeyBzb3J0ZXI6IGZhbHNlfSwgMToge3NvcnRlcjogZmFsc2V9IH0gfSk7CiAqIEBkZXNjIENyZWF0ZSBhIHRhYmxlc29ydGVyIGludGVyZmFjZSBhbmQgZGlzYWJsZWluZyB0aGUgZmlyc3QgYW5kIHNlY291bmQgY29sdW1uIGhlYWRlcnMuCiAqIAogKiBAZXhhbXBsZSAkKCd0YWJsZScpLnRhYmxlc29ydGVyKHsgMDoge3NvcnRlcjoiaW50ZWdlciJ9LCAxOiB7c29ydGVyOiJjdXJyZW5jeSJ9IH0pOwogKiBAZGVzYyBDcmVhdGUgYSB0YWJsZXNvcnRlciBpbnRlcmZhY2UgYW5kIHNldCBhIGNvbHVtbiBwYXJzZXIgZm9yIHRoZSBmaXJzdCBhbmQgc2Vjb3VuZCBjb2x1bW4uCiAqIAogKiAKICogQHBhcmFtIE9iamVjdCBzZXR0aW5ncyBBbiBvYmplY3QgbGl0ZXJhbCBjb250YWluaW5nIGtleS92YWx1ZSBwYWlycyB0byBwcm92aWRlIG9wdGlvbmFsIHNldHRpbmdzLgogKiAKICogQG9wdGlvbiBTdHJpbmcgY3NzSGVhZGVyIChvcHRpb25hbCkgCQkJQSBzdHJpbmcgb2YgdGhlIGNsYXNzIG5hbWUgdG8gYmUgYXBwZW5kZWQgdG8gc29ydGFibGUgdHIgZWxlbWVudHMgaW4gdGhlIHRoZWFkIG9mIHRoZSB0YWJsZS4gCiAqIAkJCQkJCQkJCQkJCURlZmF1bHQgdmFsdWU6ICJoZWFkZXIiCiAqIAogKiBAb3B0aW9uIFN0cmluZyBjc3NBc2MgKG9wdGlvbmFsKSAJCQlBIHN0cmluZyBvZiB0aGUgY2xhc3MgbmFtZSB0byBiZSBhcHBlbmRlZCB0byBzb3J0YWJsZSB0ciBlbGVtZW50cyBpbiB0aGUgdGhlYWQgb24gYSBhc2NlbmRpbmcgc29ydC4gCiAqIAkJCQkJCQkJCQkJCURlZmF1bHQgdmFsdWU6ICJoZWFkZXJTb3J0VXAiCiAqIAogKiBAb3B0aW9uIFN0cmluZyBjc3NEZXNjIChvcHRpb25hbCkgCQkJQSBzdHJpbmcgb2YgdGhlIGNsYXNzIG5hbWUgdG8gYmUgYXBwZW5kZWQgdG8gc29ydGFibGUgdHIgZWxlbWVudHMgaW4gdGhlIHRoZWFkIG9uIGEgZGVzY2VuZGluZyBzb3J0LiAKICogCQkJCQkJCQkJCQkJRGVmYXVsdCB2YWx1ZTogImhlYWRlclNvcnREb3duIgogKiAKICogQG9wdGlvbiBTdHJpbmcgc29ydEluaXRpYWxPcmRlciAob3B0aW9uYWwpIAlBIHN0cmluZyBvZiB0aGUgaW5pdGFsIHNvcnRpbmcgb3JkZXIgY2FuIGJlIGFzYyBvciBkZXNjLiAKICogCQkJCQkJCQkJCQkJRGVmYXVsdCB2YWx1ZTogImFzYyIKICogCiAqIEBvcHRpb24gU3RyaW5nIHNvcnRNdWx0aXNvcnRLZXkgKG9wdGlvbmFsKSAJQSBzdHJpbmcgb2YgdGhlIG11bHRpLWNvbHVtbiBzb3J0IGtleS4gCiAqIAkJCQkJCQkJCQkJCURlZmF1bHQgdmFsdWU6ICJzaGlmdEtleSIKICogCiAqIEBvcHRpb24gU3RyaW5nIHRleHRFeHRyYWN0aW9uIChvcHRpb25hbCkgCUEgc3RyaW5nIG9mIHRoZSB0ZXh0LWV4dHJhY3Rpb24gbWV0aG9kIHRvIHVzZS4gCiAqIAkJCQkJCQkJCQkJCUZvciBjb21wbGV4IGh0bWwgc3RydWN0dXJlcyBpbnNpZGUgdGQgY2VsbCBzZXQgdGhpcyBvcHRpb24gdG8gImNvbXBsZXgiLCAKICogCQkJCQkJCQkJCQkJb24gbGFyZ2UgdGFibGVzIHRoZSBjb21wbGV4IG9wdGlvbiBjYW4gYmUgc2xvdy4gCiAqIAkJCQkJCQkJCQkJCURlZmF1bHQgdmFsdWU6ICJzaW1wbGUiCiAqIAogKiBAb3B0aW9uIE9iamVjdCBoZWFkZXJzIChvcHRpb25hbCkgCQkJQW4gYXJyYXkgY29udGFpbmluZyB0aGUgZm9yY2VzIHNvcnRpbmcgcnVsZXMuIAogKiAJCQkJCQkJCQkJCQlUaGlzIG9wdGlvbiBsZXQncyB5b3Ugc3BlY2lmeSBhIGRlZmF1bHQgc29ydGluZyBydWxlLiAKICogCQkJCQkJCQkJCQkJRGVmYXVsdCB2YWx1ZTogbnVsbAogKiAKICogQG9wdGlvbiBBcnJheSBzb3J0TGlzdCAob3B0aW9uYWwpIAkJCUFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGZvcmNlcyBzb3J0aW5nIHJ1bGVzLiAKICogCQkJCQkJCQkJCQkJVGhpcyBvcHRpb24gbGV0J3MgeW91IHNwZWNpZnkgYSBkZWZhdWx0IHNvcnRpbmcgcnVsZS4gCiAqIAkJCQkJCQkJCQkJCURlZmF1bHQgdmFsdWU6IG51bGwKICogCiAqIEBvcHRpb24gQXJyYXkgc29ydEZvcmNlIChvcHRpb25hbCkgCQkJQW4gYXJyYXkgY29udGFpbmluZyBmb3JjZWQgc29ydGluZyBydWxlcy4gCiAqIAkJCQkJCQkJCQkJCVRoaXMgb3B0aW9uIGxldCdzIHlvdSBzcGVjaWZ5IGEgZGVmYXVsdCBzb3J0aW5nIHJ1bGUsIHdoaWNoIGlzIHByZXBlbmRlZCB0byB1c2VyLXNlbGVjdGVkIHJ1bGVzLgogKiAJCQkJCQkJCQkJCQlEZWZhdWx0IHZhbHVlOiBudWxsCiAqICAKICAqIEBvcHRpb24gQXJyYXkgc29ydEFwcGVuZCAob3B0aW9uYWwpIAkJCUFuIGFycmF5IGNvbnRhaW5pbmcgZm9yY2VkIHNvcnRpbmcgcnVsZXMuIAogKiAJCQkJCQkJCQkJCQlUaGlzIG9wdGlvbiBsZXQncyB5b3Ugc3BlY2lmeSBhIGRlZmF1bHQgc29ydGluZyBydWxlLCB3aGljaCBpcyBhcHBlbmRlZCB0byB1c2VyLXNlbGVjdGVkIHJ1bGVzLgogKiAJCQkJCQkJCQkJCQlEZWZhdWx0IHZhbHVlOiBudWxsCiAqIAogKiBAb3B0aW9uIEJvb2xlYW4gd2lkdGhGaXhlZCAob3B0aW9uYWwpIAkJQm9vbGVhbiBmbGFnIGluZGljYXRpbmcgaWYgdGFibGVzb3J0ZXIgc2hvdWxkIGFwcGx5IGZpeGVkIHdpZHRocyB0byB0aGUgdGFibGUgY29sdW1ucy4KICogCQkJCQkJCQkJCQkJVGhpcyBpcyB1c2VmdWxsIHdoZW4gdXNpbmcgdGhlIHBhZ2VyIGNvbXBhbmlvbiBwbHVnaW4uCiAqIAkJCQkJCQkJCQkJCVRoaXMgb3B0aW9ucyByZXF1aXJlcyB0aGUgZGltZW5zaW9uIGpxdWVyeSBwbHVnaW4uCiAqIAkJCQkJCQkJCQkJCURlZmF1bHQgdmFsdWU6IGZhbHNlCiAqCiAqIEBvcHRpb24gQm9vbGVhbiBjYW5jZWxTZWxlY3Rpb24gKG9wdGlvbmFsKSAJQm9vbGVhbiBmbGFnIGluZGljYXRpbmcgaWYgdGFibGVzb3J0ZXIgc2hvdWxkIGNhbmNlbCBzZWxlY3Rpb24gb2YgdGhlIHRhYmxlIGhlYWRlcnMgdGV4dC4KICogCQkJCQkJCQkJCQkJRGVmYXVsdCB2YWx1ZTogdHJ1ZQogKgogKiBAb3B0aW9uIEJvb2xlYW4gZGVidWcgKG9wdGlvbmFsKSAJCQlCb29sZWFuIGZsYWcgaW5kaWNhdGluZyBpZiB0YWJsZXNvcnRlciBzaG91bGQgZGlzcGxheSBkZWJ1Z2luZyBpbmZvcm1hdGlvbiB1c2VmdWxsIGZvciBkZXZlbG9wbWVudC4KICoKICogQHR5cGUgalF1ZXJ5CiAqCiAqIEBuYW1lIHRhYmxlc29ydGVyCiAqIAogKiBAY2F0IFBsdWdpbnMvVGFibGVzb3J0ZXIKICogCiAqIEBhdXRob3IgQ2hyaXN0aWFuIEJhY2gvY2hyaXN0aWFuLmJhY2hAcG9seWVzdGVyLnNlCiAqLwoKKGZ1bmN0aW9uKCQpIHsKCSQuZXh0ZW5kKHsKCQl0YWJsZXNvcnRlcjogbmV3IGZ1bmN0aW9uKCkgewoJCQkKCQkJdmFyIHBhcnNlcnMgPSBbXSwgd2lkZ2V0cyA9IFtdOwoJCQkKCQkJdGhpcy5kZWZhdWx0cyA9IHsKCQkJCWNzc0hlYWRlcjogImhlYWRlciIsCgkJCQljc3NBc2M6ICJoZWFkZXJTb3J0VXAiLAoJCQkJY3NzRGVzYzogImhlYWRlclNvcnREb3duIiwKCQkJCXNvcnRJbml0aWFsT3JkZXI6ICJhc2MiLAoJCQkJc29ydE11bHRpU29ydEtleTogInNoaWZ0S2V5IiwKCQkJCXNvcnRGb3JjZTogbnVsbCwKCQkJCXNvcnRBcHBlbmQ6IG51bGwsCgkJCQl0ZXh0RXh0cmFjdGlvbjogInNpbXBsZSIsCgkJCQlwYXJzZXJzOiB7fSwgCgkJCQl3aWRnZXRzOiBbXSwJCQoJCQkJd2lkZ2V0WmVicmE6IHtjc3M6IFsiZXZlbiIsIm9kZCJdfSwKCQkJCWhlYWRlcnM6IHt9LAoJCQkJd2lkdGhGaXhlZDogZmFsc2UsCgkJCQljYW5jZWxTZWxlY3Rpb246IHRydWUsCgkJCQlzb3J0TGlzdDogW10sCgkJCQloZWFkZXJMaXN0OiBbXSwKCQkJCWRhdGVGb3JtYXQ6ICJ1cyIsCgkJCQlkZWNpbWFsOiAnLicsCgkJCQlkZWJ1ZzogZmFsc2UKCQkJfTsKCQkJCgkJCS8qIGRlYnVnaW5nIHV0aWxzICovCgkJCWZ1bmN0aW9uIGJlbmNobWFyayhzLGQpIHsKCQkJCWxvZyhzICsgIiwiICsgKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gZC5nZXRUaW1lKCkpICsgIm1zIik7CgkJCX0KCQkJCgkJCXRoaXMuYmVuY2htYXJrID0gYmVuY2htYXJrOwoJCQkKCQkJZnVuY3Rpb24gbG9nKHMpIHsKCQkJCWlmICh0eXBlb2YgY29uc29sZSAhPSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgY29uc29sZS5kZWJ1ZyAhPSAidW5kZWZpbmVkIikgewoJCQkJCWNvbnNvbGUubG9nKHMpOwoJCQkJfSBlbHNlIHsKCQkJCQlhbGVydChzKTsKCQkJCX0KCQkJfQoJCQkJCQkKCQkJLyogcGFyc2VycyB1dGlscyAqLwoJCQlmdW5jdGlvbiBidWlsZFBhcnNlckNhY2hlKHRhYmxlLCRoZWFkZXJzKSB7CgkJCQkKCQkJCWlmKHRhYmxlLmNvbmZpZy5kZWJ1ZykgeyB2YXIgcGFyc2Vyc0RlYnVnID0gIiI7IH0KCQkJCQoJCQkJdmFyIHJvd3MgPSB0YWJsZS50Qm9kaWVzWzBdLnJvd3M7CgkJCQkKCQkJCWlmKHRhYmxlLnRCb2RpZXNbMF0ucm93c1swXSkgewoKCQkJCQl2YXIgbGlzdCA9IFtdLCBjZWxscyA9IHJvd3NbMF0uY2VsbHMsIGwgPSBjZWxscy5sZW5ndGg7CgkJCQkJCgkJCQkJZm9yICh2YXIgaT0wO2kgPCBsOyBpKyspIHsKCQkJCQkJdmFyIHAgPSBmYWxzZTsKCQkJCQkJCgkJCQkJCWlmKCQubWV0YWRhdGEgJiYgKCQoJGhlYWRlcnNbaV0pLm1ldGFkYXRhKCkgJiYgJCgkaGVhZGVyc1tpXSkubWV0YWRhdGEoKS5zb3J0ZXIpICApIHsKCQkJCQkJCgkJCQkJCQlwID0gZ2V0UGFyc2VyQnlJZCgkKCRoZWFkZXJzW2ldKS5tZXRhZGF0YSgpLnNvcnRlcik7CQoJCQkJCQkKCQkJCQkJfSBlbHNlIGlmKCh0YWJsZS5jb25maWcuaGVhZGVyc1tpXSAmJiB0YWJsZS5jb25maWcuaGVhZGVyc1tpXS5zb3J0ZXIpKSB7CgkKCQkJCQkJCXAgPSBnZXRQYXJzZXJCeUlkKHRhYmxlLmNvbmZpZy5oZWFkZXJzW2ldLnNvcnRlcik7CgkJCQkJCX0KCQkJCQkJaWYoIXApIHsKCQkJCQkJCXAgPSBkZXRlY3RQYXJzZXJGb3JDb2x1bW4odGFibGUsY2VsbHNbaV0pOwoJCQkJCQl9CgkKCQkJCQkJaWYodGFibGUuY29uZmlnLmRlYnVnKSB7IHBhcnNlcnNEZWJ1ZyArPSAiY29sdW1uOiIgKyBpICsgIiBwYXJzZXI6IiArcC5pZCArICJcbiI7IH0KCQoJCQkJCQlsaXN0LnB1c2gocCk7CgkJCQkJfQoJCQkJfQoJCQkJCgkJCQlpZih0YWJsZS5jb25maWcuZGVidWcpIHsgbG9nKHBhcnNlcnNEZWJ1Zyk7IH0KCgkJCQlyZXR1cm4gbGlzdDsKCQkJfTsKCQkJCgkJCWZ1bmN0aW9uIGRldGVjdFBhcnNlckZvckNvbHVtbih0YWJsZSxub2RlKSB7CgkJCQl2YXIgbCA9IHBhcnNlcnMubGVuZ3RoOwoJCQkJZm9yKHZhciBpPTE7IGkgPCBsOyBpKyspIHsKCQkJCQlpZihwYXJzZXJzW2ldLmlzKCQudHJpbShnZXRFbGVtZW50VGV4dCh0YWJsZS5jb25maWcsbm9kZSkpLHRhYmxlLG5vZGUpKSB7CgkJCQkJCXJldHVybiBwYXJzZXJzW2ldOwoJCQkJCX0KCQkJCX0KCQkJCS8vIDAgaXMgYWx3YXlzIHRoZSBnZW5lcmljIHBhcnNlciAodGV4dCkKCQkJCXJldHVybiBwYXJzZXJzWzBdOwoJCQl9CgkJCQoJCQlmdW5jdGlvbiBnZXRQYXJzZXJCeUlkKG5hbWUpIHsKCQkJCXZhciBsID0gcGFyc2Vycy5sZW5ndGg7CgkJCQlmb3IodmFyIGk9MDsgaSA8IGw7IGkrKykgewoJCQkJCWlmKHBhcnNlcnNbaV0uaWQudG9Mb3dlckNhc2UoKSA9PSBuYW1lLnRvTG93ZXJDYXNlKCkpIHsJCgkJCQkJCXJldHVybiBwYXJzZXJzW2ldOwoJCQkJCX0KCQkJCX0KCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQkKCQkJLyogdXRpbHMgKi8KCQkJZnVuY3Rpb24gYnVpbGRDYWNoZSh0YWJsZSkgewoJCQkJCgkJCQlpZih0YWJsZS5jb25maWcuZGVidWcpIHsgdmFyIGNhY2hlVGltZSA9IG5ldyBEYXRlKCk7IH0KCQkJCQoJCQkJCgkJCQl2YXIgdG90YWxSb3dzID0gKHRhYmxlLnRCb2RpZXNbMF0gJiYgdGFibGUudEJvZGllc1swXS5yb3dzLmxlbmd0aCkgfHwgMCwKCQkJCQl0b3RhbENlbGxzID0gKHRhYmxlLnRCb2RpZXNbMF0ucm93c1swXSAmJiB0YWJsZS50Qm9kaWVzWzBdLnJvd3NbMF0uY2VsbHMubGVuZ3RoKSB8fCAwLAoJCQkJCXBhcnNlcnMgPSB0YWJsZS5jb25maWcucGFyc2VycywgCgkJCQkJY2FjaGUgPSB7cm93OiBbXSwgbm9ybWFsaXplZDogW119OwoJCQkJCgkJCQkJZm9yICh2YXIgaT0wO2kgPCB0b3RhbFJvd3M7ICsraSkgewoJCQkJCQoJCQkJCQkvKiogQWRkIHRoZSB0YWJsZSBkYXRhIHRvIG1haW4gZGF0YSBhcnJheSAqLwoJCQkJCQl2YXIgYyA9IHRhYmxlLnRCb2RpZXNbMF0ucm93c1tpXSwgY29scyA9IFtdOwoJCQkJCQoJCQkJCQljYWNoZS5yb3cucHVzaCgkKGMpKTsKCQkJCQkJCgkJCQkJCWZvcih2YXIgaj0wOyBqIDwgdG90YWxDZWxsczsgKytqKSB7CgkJCQkJCQljb2xzLnB1c2gocGFyc2Vyc1tqXS5mb3JtYXQoZ2V0RWxlbWVudFRleHQodGFibGUuY29uZmlnLGMuY2VsbHNbal0pLHRhYmxlLGMuY2VsbHNbal0pKTsJCgkJCQkJCX0KCQkJCQkJCQkJCQkJCgkJCQkJCWNvbHMucHVzaChpKTsgLy8gYWRkIHBvc2l0aW9uIGZvciByb3dDYWNoZQoJCQkJCQljYWNoZS5ub3JtYWxpemVkLnB1c2goY29scyk7CgkJCQkJCWNvbHMgPSBudWxsOwoJCQkJCX07CgkJCQkKCQkJCWlmKHRhYmxlLmNvbmZpZy5kZWJ1ZykgeyBiZW5jaG1hcmsoIkJ1aWxkaW5nIGNhY2hlIGZvciAiICsgdG90YWxSb3dzICsgIiByb3dzOiIsIGNhY2hlVGltZSk7IH0KCQkJCQoJCQkJcmV0dXJuIGNhY2hlOwoJCQl9OwoJCQkKCQkJZnVuY3Rpb24gZ2V0RWxlbWVudFRleHQoY29uZmlnLG5vZGUpIHsKCQkJCQoJCQkJaWYoIW5vZGUpIHJldHVybiAiIjsKCQkJCQkJCQkKCQkJCXZhciB0ID0gIiI7CgkJCQkKCQkJCWlmKGNvbmZpZy50ZXh0RXh0cmFjdGlvbiA9PSAic2ltcGxlIikgewoJCQkJCWlmKG5vZGUuY2hpbGROb2Rlc1swXSAmJiBub2RlLmNoaWxkTm9kZXNbMF0uaGFzQ2hpbGROb2RlcygpKSB7CgkJCQkJCXQgPSBub2RlLmNoaWxkTm9kZXNbMF0uaW5uZXJIVE1MOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXQgPSBub2RlLmlubmVySFRNTDsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCWlmKHR5cGVvZihjb25maWcudGV4dEV4dHJhY3Rpb24pID09ICJmdW5jdGlvbiIpIHsKCQkJCQkJdCA9IGNvbmZpZy50ZXh0RXh0cmFjdGlvbihub2RlKTsKCQkJCQl9IGVsc2UgeyAKCQkJCQkJdCA9ICQobm9kZSkudGV4dCgpOwoJCQkJCX0JCgkJCQl9CgkJCQlyZXR1cm4gdDsKCQkJfQoJCQkKCQkJZnVuY3Rpb24gYXBwZW5kVG9UYWJsZSh0YWJsZSxjYWNoZSkgewoJCQkJCgkJCQlpZih0YWJsZS5jb25maWcuZGVidWcpIHt2YXIgYXBwZW5kVGltZSA9IG5ldyBEYXRlKCl9CgkJCQkKCQkJCXZhciBjID0gY2FjaGUsIAoJCQkJCXIgPSBjLnJvdywgCgkJCQkJbj0gYy5ub3JtYWxpemVkLCAKCQkJCQl0b3RhbFJvd3MgPSBuLmxlbmd0aCwgCgkJCQkJY2hlY2tDZWxsID0gKG5bMF0ubGVuZ3RoLTEpLCAKCQkJCQl0YWJsZUJvZHkgPSAkKHRhYmxlLnRCb2RpZXNbMF0pLAoJCQkJCXJvd3MgPSBbXTsKCQkJCQoJCQkJZm9yICh2YXIgaT0wO2kgPCB0b3RhbFJvd3M7IGkrKykgewoJCQkJCXJvd3MucHVzaChyW25baV1bY2hlY2tDZWxsXV0pOwkKCQkJCQlpZighdGFibGUuY29uZmlnLmFwcGVuZGVyKSB7CgkJCQkJCQoJCQkJCQl2YXIgbyA9IHJbbltpXVtjaGVja0NlbGxdXTsKCQkJCQkJdmFyIGwgPSBvLmxlbmd0aDsKCQkJCQkJZm9yKHZhciBqPTA7IGogPCBsOyBqKyspIHsKCQkJCQkJCQoJCQkJCQkJdGFibGVCb2R5WzBdLmFwcGVuZENoaWxkKG9bal0pOwoJCQkJCQkKCQkJCQkJfQoJCQkJCQkKCQkJCQkJLy90YWJsZUJvZHkuYXBwZW5kKHJbbltpXVtjaGVja0NlbGxdXSk7CgkJCQkJfQoJCQkJfQkKCQkJCQoJCQkJaWYodGFibGUuY29uZmlnLmFwcGVuZGVyKSB7CgkJCQkKCQkJCQl0YWJsZS5jb25maWcuYXBwZW5kZXIodGFibGUscm93cyk7CQoJCQkJfQoJCQkJCgkJCQlyb3dzID0gbnVsbDsKCQkJCQoJCQkJaWYodGFibGUuY29uZmlnLmRlYnVnKSB7IGJlbmNobWFyaygiUmVidWlsdCB0YWJsZToiLCBhcHBlbmRUaW1lKTsgfQoJCQkJCQkJCQoJCQkJLy9hcHBseSB0YWJsZSB3aWRnZXRzCgkJCQlhcHBseVdpZGdldCh0YWJsZSk7CgkJCQkKCQkJCS8vIHRyaWdnZXIgc29ydGVuZAoJCQkJc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJCQkkKHRhYmxlKS50cmlnZ2VyKCJzb3J0RW5kIik7CQoJCQkJfSwwKTsKCQkJCQoJCQl9OwoJCQkKCQkJZnVuY3Rpb24gYnVpbGRIZWFkZXJzKHRhYmxlKSB7CgkJCQkKCQkJCWlmKHRhYmxlLmNvbmZpZy5kZWJ1ZykgeyB2YXIgdGltZSA9IG5ldyBEYXRlKCk7IH0KCQkJCQoJCQkJdmFyIG1ldGEgPSAoJC5tZXRhZGF0YSkgPyB0cnVlIDogZmFsc2UsIHRhYmxlSGVhZGVyc1Jvd3MgPSBbXTsKCQkJCgkJCQlmb3IodmFyIGkgPSAwOyBpIDwgdGFibGUudEhlYWQucm93cy5sZW5ndGg7IGkrKykgeyB0YWJsZUhlYWRlcnNSb3dzW2ldPTA7IH07CgkJCQkKCQkJCSR0YWJsZUhlYWRlcnMgPSAkKCJ0aGVhZCB0aCIsdGFibGUpOwoJCQoJCQkJJHRhYmxlSGVhZGVycy5lYWNoKGZ1bmN0aW9uKGluZGV4KSB7CgkJCQkJCQkKCQkJCQl0aGlzLmNvdW50ID0gMDsKCQkJCQl0aGlzLmNvbHVtbiA9IGluZGV4OwoJCQkJCXRoaXMub3JkZXIgPSBmb3JtYXRTb3J0aW5nT3JkZXIodGFibGUuY29uZmlnLnNvcnRJbml0aWFsT3JkZXIpOwoJCQkJCQoJCQkJCWlmKGNoZWNrSGVhZGVyTWV0YWRhdGEodGhpcykgfHwgY2hlY2tIZWFkZXJPcHRpb25zKHRhYmxlLGluZGV4KSkgdGhpcy5zb3J0RGlzYWJsZWQgPSB0cnVlOwoJCQkJCQoJCQkJCWlmKCF0aGlzLnNvcnREaXNhYmxlZCkgewoJCQkJCQkkKHRoaXMpLmFkZENsYXNzKHRhYmxlLmNvbmZpZy5jc3NIZWFkZXIpOwoJCQkJCX0KCQkJCQkKCQkJCQkvLyBhZGQgY2VsbCB0byBoZWFkZXJMaXN0CgkJCQkJdGFibGUuY29uZmlnLmhlYWRlckxpc3RbaW5kZXhdPSB0aGlzOwoJCQkJfSk7CgkJCQkKCQkJCWlmKHRhYmxlLmNvbmZpZy5kZWJ1ZykgeyBiZW5jaG1hcmsoIkJ1aWx0IGhlYWRlcnM6IiwgdGltZSk7IGxvZygkdGFibGVIZWFkZXJzKTsgfQoJCQkJCgkJCQlyZXR1cm4gJHRhYmxlSGVhZGVyczsKCQkJCQoJCQl9OwoJCQkJCQkKCQkgICAJZnVuY3Rpb24gY2hlY2tDZWxsQ29sU3Bhbih0YWJsZSwgcm93cywgcm93KSB7CiAgICAgICAgICAgICAgICB2YXIgYXJyID0gW10sIHIgPSB0YWJsZS50SGVhZC5yb3dzLCBjID0gcltyb3ddLmNlbGxzOwoJCQkJCgkJCQlmb3IodmFyIGk9MDsgaSA8IGMubGVuZ3RoOyBpKyspIHsKCQkJCQl2YXIgY2VsbCA9IGNbaV07CgkJCQkJCgkJCQkJaWYgKCBjZWxsLmNvbFNwYW4gPiAxKSB7IAoJCQkJCQlhcnIgPSBhcnIuY29uY2F0KGNoZWNrQ2VsbENvbFNwYW4odGFibGUsIGhlYWRlckFycixyb3crKykpOwoJCQkJCX0gZWxzZSAgewoJCQkJCQlpZih0YWJsZS50SGVhZC5sZW5ndGggPT0gMSB8fCAoY2VsbC5yb3dTcGFuID4gMSB8fCAhcltyb3crMV0pKSB7CgkJCQkJCQlhcnIucHVzaChjZWxsKTsKCQkJCQkJfQoJCQkJCQkvL2hlYWRlckFycltyb3ddID0gKGkrcm93KTsKCQkJCQl9CgkJCQl9CgkJCQlyZXR1cm4gYXJyOwoJCQl9OwoJCQkKCQkJZnVuY3Rpb24gY2hlY2tIZWFkZXJNZXRhZGF0YShjZWxsKSB7CgkJCQlpZigoJC5tZXRhZGF0YSkgJiYgKCQoY2VsbCkubWV0YWRhdGEoKS5zb3J0ZXIgPT09IGZhbHNlKSkgeyByZXR1cm4gdHJ1ZTsgfTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQkKCQkJZnVuY3Rpb24gY2hlY2tIZWFkZXJPcHRpb25zKHRhYmxlLGkpIHsJCgkJCQlpZigodGFibGUuY29uZmlnLmhlYWRlcnNbaV0pICYmICh0YWJsZS5jb25maWcuaGVhZGVyc1tpXS5zb3J0ZXIgPT09IGZhbHNlKSkgeyByZXR1cm4gdHJ1ZTsgfTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQkKCQkJZnVuY3Rpb24gYXBwbHlXaWRnZXQodGFibGUpIHsKCQkJCXZhciBjID0gdGFibGUuY29uZmlnLndpZGdldHM7CgkJCQl2YXIgbCA9IGMubGVuZ3RoOwoJCQkJZm9yKHZhciBpPTA7IGkgPCBsOyBpKyspIHsKCQkJCQkKCQkJCQlnZXRXaWRnZXRCeUlkKGNbaV0pLmZvcm1hdCh0YWJsZSk7CgkJCQl9CgkJCQkKCQkJfQoJCQkKCQkJZnVuY3Rpb24gZ2V0V2lkZ2V0QnlJZChuYW1lKSB7CgkJCQl2YXIgbCA9IHdpZGdldHMubGVuZ3RoOwoJCQkJZm9yKHZhciBpPTA7IGkgPCBsOyBpKyspIHsKCQkJCQlpZih3aWRnZXRzW2ldLmlkLnRvTG93ZXJDYXNlKCkgPT0gbmFtZS50b0xvd2VyQ2FzZSgpICkgewoJCQkJCQlyZXR1cm4gd2lkZ2V0c1tpXTsgCgkJCQkJfQoJCQkJfQoJCQl9OwoJCQkKCQkJZnVuY3Rpb24gZm9ybWF0U29ydGluZ09yZGVyKHYpIHsKCQkJCQoJCQkJaWYodHlwZW9mKHYpICE9ICJOdW1iZXIiKSB7CgkJCQkJaSA9ICh2LnRvTG93ZXJDYXNlKCkgPT0gImRlc2MiKSA/IDEgOiAwOwoJCQkJfSBlbHNlIHsKCQkJCQlpID0gKHYgPT0gKDAgfHwgMSkpID8gdiA6IDA7CgkJCQl9CgkJCQlyZXR1cm4gaTsKCQkJfQoJCQkKCQkJZnVuY3Rpb24gaXNWYWx1ZUluQXJyYXkodiwgYSkgewoJCQkJdmFyIGwgPSBhLmxlbmd0aDsKCQkJCWZvcih2YXIgaT0wOyBpIDwgbDsgaSsrKSB7CgkJCQkJaWYoYVtpXVswXSA9PSB2KSB7CgkJCQkJCXJldHVybiB0cnVlOwkKCQkJCQl9CgkJCQl9CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQkJCQoJCQlmdW5jdGlvbiBzZXRIZWFkZXJzQ3NzKHRhYmxlLCRoZWFkZXJzLCBsaXN0LCBjc3MpIHsKCQkJCS8vIHJlbW92ZSBhbGwgaGVhZGVyIGluZm9ybWF0aW9uCgkJCQkkaGVhZGVycy5yZW1vdmVDbGFzcyhjc3NbMF0pLnJlbW92ZUNsYXNzKGNzc1sxXSk7CgkJCQkKCQkJCXZhciBoID0gW107CgkJCQkkaGVhZGVycy5lYWNoKGZ1bmN0aW9uKG9mZnNldCkgewoJCQkJCQlpZighdGhpcy5zb3J0RGlzYWJsZWQpIHsKCQkJCQkJCWhbdGhpcy5jb2x1bW5dID0gJCh0aGlzKTsJCQkJCQoJCQkJCQl9CgkJCQl9KTsKCQkJCQoJCQkJdmFyIGwgPSBsaXN0Lmxlbmd0aDsgCgkJCQlmb3IodmFyIGk9MDsgaSA8IGw7IGkrKykgewoJCQkJCWhbbGlzdFtpXVswXV0uYWRkQ2xhc3MoY3NzW2xpc3RbaV1bMV1dKTsKCQkJCX0KCQkJfQoJCQkKCQkJZnVuY3Rpb24gZml4Q29sdW1uV2lkdGgodGFibGUsJGhlYWRlcnMpIHsKCQkJCXZhciBjID0gdGFibGUuY29uZmlnOwoJCQkJaWYoYy53aWR0aEZpeGVkKSB7CgkJCQkJdmFyIGNvbGdyb3VwID0gJCgnPGNvbGdyb3VwPicpOwoJCQkJCSQoInRyOmZpcnN0IHRkIix0YWJsZS50Qm9kaWVzWzBdKS5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJCQljb2xncm91cC5hcHBlbmQoJCgnPGNvbD4nKS5jc3MoJ3dpZHRoJywkKHRoaXMpLndpZHRoKCkpKTsKCQkJCQl9KTsKCQkJCQkkKHRhYmxlKS5wcmVwZW5kKGNvbGdyb3VwKTsKCQkJCX07CgkJCX0KCQkJCgkJCWZ1bmN0aW9uIHVwZGF0ZUhlYWRlclNvcnRDb3VudCh0YWJsZSxzb3J0TGlzdCkgewoJCQkJdmFyIGMgPSB0YWJsZS5jb25maWcsIGwgPSBzb3J0TGlzdC5sZW5ndGg7CgkJCQlmb3IodmFyIGk9MDsgaSA8IGw7IGkrKykgewoJCQkJCXZhciBzID0gc29ydExpc3RbaV0sIG8gPSBjLmhlYWRlckxpc3Rbc1swXV07CgkJCQkJby5jb3VudCA9IHNbMV07CgkJCQkJby5jb3VudCsrOwoJCQkJfQoJCQl9CgkJCQoJCQkvKiBzb3J0aW5nIG1ldGhvZHMgKi8KCQkJZnVuY3Rpb24gbXVsdGlzb3J0KHRhYmxlLHNvcnRMaXN0LGNhY2hlKSB7CgkJCQkKCQkJCWlmKHRhYmxlLmNvbmZpZy5kZWJ1ZykgeyB2YXIgc29ydFRpbWUgPSBuZXcgRGF0ZSgpOyB9CgkJCQkKCQkJCXZhciBkeW5hbWljRXhwID0gInZhciBzb3J0V3JhcHBlciA9IGZ1bmN0aW9uKGEsYikgeyIsIGwgPSBzb3J0TGlzdC5sZW5ndGg7CgkJCQkJCgkJCQlmb3IodmFyIGk9MDsgaSA8IGw7IGkrKykgewoJCQkJCQoJCQkJCXZhciBjID0gc29ydExpc3RbaV1bMF07CgkJCQkJdmFyIG9yZGVyID0gc29ydExpc3RbaV1bMV07CgkJCQkJdmFyIHMgPSAoZ2V0Q2FjaGVkU29ydFR5cGUodGFibGUuY29uZmlnLnBhcnNlcnMsYykgPT0gInRleHQiKSA/ICgob3JkZXIgPT0gMCkgPyAic29ydFRleHQiIDogInNvcnRUZXh0RGVzYyIpIDogKChvcmRlciA9PSAwKSA/ICJzb3J0TnVtZXJpYyIgOiAic29ydE51bWVyaWNEZXNjIik7CgkJCQkJCgkJCQkJdmFyIGUgPSAiZSIgKyBpOwoJCQkJCQoJCQkJCWR5bmFtaWNFeHAgKz0gInZhciAiICsgZSArICIgPSAiICsgcyArICIoYVsiICsgYyArICJdLGJbIiArIGMgKyAiXSk7ICI7CgkJCQkJZHluYW1pY0V4cCArPSAiaWYoIiArIGUgKyAiKSB7IHJldHVybiAiICsgZSArICI7IH0gIjsKCQkJCQlkeW5hbWljRXhwICs9ICJlbHNlIHsgIjsKCQkJCX0KCQkJCQoJCQkJLy8gaWYgdmFsdWUgaXMgdGhlIHNhbWUga2VlcCBvcmlnbmFsIG9yZGVyCQoJCQkJdmFyIG9yZ09yZGVyQ29sID0gY2FjaGUubm9ybWFsaXplZFswXS5sZW5ndGggLSAxOwoJCQkJZHluYW1pY0V4cCArPSAicmV0dXJuIGFbIiArIG9yZ09yZGVyQ29sICsgIl0tYlsiICsgb3JnT3JkZXJDb2wgKyAiXTsiOwoJCQkJCQkKCQkJCWZvcih2YXIgaT0wOyBpIDwgbDsgaSsrKSB7CgkJCQkJZHluYW1pY0V4cCArPSAifTsgIjsKCQkJCX0KCQkJCQoJCQkJZHluYW1pY0V4cCArPSAicmV0dXJuIDA7ICI7CQoJCQkJZHluYW1pY0V4cCArPSAifTsgIjsJCgkJCQkKCQkJCWV2YWwoZHluYW1pY0V4cCk7CgkJCQkKCQkJCWNhY2hlLm5vcm1hbGl6ZWQuc29ydChzb3J0V3JhcHBlcik7CgkJCQkKCQkJCWlmKHRhYmxlLmNvbmZpZy5kZWJ1ZykgeyBiZW5jaG1hcmsoIlNvcnRpbmcgb24gIiArIHNvcnRMaXN0LnRvU3RyaW5nKCkgKyAiIGFuZCBkaXIgIiArIG9yZGVyKyAiIHRpbWU6Iiwgc29ydFRpbWUpOyB9CgkJCQkKCQkJCXJldHVybiBjYWNoZTsKCQkJfTsKCQkJCgkJCWZ1bmN0aW9uIHNvcnRUZXh0KGEsYikgewoJCQkJcmV0dXJuICgoYSA8IGIpID8gLTEgOiAoKGEgPiBiKSA/IDEgOiAwKSk7CgkJCX07CgkJCQoJCQlmdW5jdGlvbiBzb3J0VGV4dERlc2MoYSxiKSB7CgkJCQlyZXR1cm4gKChiIDwgYSkgPyAtMSA6ICgoYiA+IGEpID8gMSA6IDApKTsKCQkJfTsJCgkJCQoJIAkJZnVuY3Rpb24gc29ydE51bWVyaWMoYSxiKSB7CgkJCQlyZXR1cm4gYS1iOwoJCQl9OwoJCQkKCQkJZnVuY3Rpb24gc29ydE51bWVyaWNEZXNjKGEsYikgewoJCQkJcmV0dXJuIGItYTsKCQkJfTsKCQkJCgkJCWZ1bmN0aW9uIGdldENhY2hlZFNvcnRUeXBlKHBhcnNlcnMsaSkgewoJCQkJcmV0dXJuIHBhcnNlcnNbaV0udHlwZTsKCQkJfTsKCQkJCgkJCS8qIHB1YmxpYyBtZXRob2RzICovCgkJCXRoaXMuY29uc3RydWN0ID0gZnVuY3Rpb24oc2V0dGluZ3MpIHsKCgkJCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJCQoJCQkJCWlmKCF0aGlzLnRIZWFkIHx8ICF0aGlzLnRCb2RpZXMpIHJldHVybjsKCQkJCQkKCQkJCQl2YXIgJHRoaXMsICRkb2N1bWVudCwkaGVhZGVycywgY2FjaGUsIGNvbmZpZywgc2hpZnREb3duID0gMCwgc29ydE9yZGVyOwoJCQkJCQoJCQkJCXRoaXMuY29uZmlnID0ge307CgkJCQkJCgkJCQkJY29uZmlnID0gJC5leHRlbmQodGhpcy5jb25maWcsICQudGFibGVzb3J0ZXIuZGVmYXVsdHMsIHNldHRpbmdzKTsKCQkJCQkKCQkJCQkvLyBzdG9yZSBjb21tb24gZXhwcmVzc2lvbiBmb3Igc3BlZWQJCQkJCQoJCQkJCSR0aGlzID0gJCh0aGlzKTsKCQkJCQkKCQkJCQkvLyBidWlsZCBoZWFkZXJzCgkJCQkJJGhlYWRlcnMgPSBidWlsZEhlYWRlcnModGhpcyk7CgkJCQkJCgkJCQkJLy8gdHJ5IHRvIGF1dG8gZGV0ZWN0IGNvbHVtbiB0eXBlLCBhbmQgc3RvcmUgaW4gdGFibGVzIGNvbmZpZwoJCQkJCXRoaXMuY29uZmlnLnBhcnNlcnMgPSBidWlsZFBhcnNlckNhY2hlKHRoaXMsJGhlYWRlcnMpOwoJCQkJCQoJCQkJCQoJCQkJCS8vIGJ1aWxkIHRoZSBjYWNoZSBmb3IgdGhlIHRib2R5IGNlbGxzCgkJCQkJY2FjaGUgPSBidWlsZENhY2hlKHRoaXMpOwoJCQkJCQoJCQkJCS8vIGdldCB0aGUgY3NzIGNsYXNzIG5hbWVzLCBjb3VsZCBiZSBkb25lIGVsc2Ugd2hlcmUuCgkJCQkJdmFyIHNvcnRDU1MgPSBbY29uZmlnLmNzc0Rlc2MsY29uZmlnLmNzc0FzY107CgkJCQkJCgkJCQkJLy8gZml4YXRlIGNvbHVtbnMgaWYgdGhlIHVzZXJzIHN1cHBsaWVzIHRoZSBmaXhlZFdpZHRoIG9wdGlvbgoJCQkJCWZpeENvbHVtbldpZHRoKHRoaXMpOwoJCQkJCQoJCQkJCS8vIGFwcGx5IGV2ZW50IGhhbmRsaW5nIHRvIGhlYWRlcnMKCQkJCQkvLyB0aGlzIGlzIHRvIGJpZywgcGVyaGFwcyBicmVhayBpdCBvdXQ/CgkJCQkJJGhlYWRlcnMuY2xpY2soZnVuY3Rpb24oZSkgewoJCQkJCQkKCQkJCQkJJHRoaXMudHJpZ2dlcigic29ydFN0YXJ0Iik7CgkJCQkJCQoJCQkJCQl2YXIgdG90YWxSb3dzID0gKCR0aGlzWzBdLnRCb2RpZXNbMF0gJiYgJHRoaXNbMF0udEJvZGllc1swXS5yb3dzLmxlbmd0aCkgfHwgMDsKCQkJCQkJCgkJCQkJCWlmKCF0aGlzLnNvcnREaXNhYmxlZCAmJiB0b3RhbFJvd3MgPiAwKSB7CgkJCQkJCQkKCQkJCQkJCQoJCQkJCQkJLy8gc3RvcmUgZXhwLCBmb3Igc3BlZWQKCQkJCQkJCXZhciAkY2VsbCA9ICQodGhpcyk7CgkKCQkJCQkJCS8vIGdldCBjdXJyZW50IGNvbHVtbiBpbmRleAoJCQkJCQkJdmFyIGkgPSB0aGlzLmNvbHVtbjsKCQkJCQkJCQoJCQkJCQkJLy8gZ2V0IGN1cnJlbnQgY29sdW1uIHNvcnQgb3JkZXIKCQkJCQkJCXRoaXMub3JkZXIgPSB0aGlzLmNvdW50KysgJSAyOwoJCQkJCQkJCgkJCQkJCQkvLyB1c2VyIG9ubHkgd2hhbnRzIHRvIHNvcnQgb24gb25lIGNvbHVtbgoJCQkJCQkJaWYoIWVbY29uZmlnLnNvcnRNdWx0aVNvcnRLZXldKSB7CgkJCQkJCQkJCgkJCQkJCQkJLy8gZmx1c2ggdGhlIHNvcnQgbGlzdAoJCQkJCQkJCWNvbmZpZy5zb3J0TGlzdCA9IFtdOwoJCQkJCQkJCQoJCQkJCQkJCWlmKGNvbmZpZy5zb3J0Rm9yY2UgIT0gbnVsbCkgewoJCQkJCQkJCQl2YXIgYSA9IGNvbmZpZy5zb3J0Rm9yY2U7IAoJCQkJCQkJCQlmb3IodmFyIGo9MDsgaiA8IGEubGVuZ3RoOyBqKyspIHsKCQkJCQkJCQkJCWlmKGFbal1bMF0gIT0gaSkgewoJCQkJCQkJCQkJCWNvbmZpZy5zb3J0TGlzdC5wdXNoKGFbal0pOwoJCQkJCQkJCQkJfQoJCQkJCQkJCQl9CgkJCQkJCQkJfQoJCQkJCQkJCQoJCQkJCQkJCS8vIGFkZCBjb2x1bW4gdG8gc29ydCBsaXN0CgkJCQkJCQkJY29uZmlnLnNvcnRMaXN0LnB1c2goW2ksdGhpcy5vcmRlcl0pOwoJCQkJCQkJCgkJCQkJCQkvLyBtdWx0aSBjb2x1bW4gc29ydGluZwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQkvLyB0aGUgdXNlciBoYXMgY2xpY2tlZCBvbiBhbiBhbGwgcmVhZHkgc29ydGV0IGNvbHVtbi4KCQkJCQkJCQlpZihpc1ZhbHVlSW5BcnJheShpLGNvbmZpZy5zb3J0TGlzdCkpIHsJIAoJCQkJCQkJCQkKCQkJCQkJCQkJLy8gcmV2ZXJzIHRoZSBzb3J0aW5nIGRpcmVjdGlvbiBmb3IgYWxsIHRhYmxlcy4KCQkJCQkJCQkJZm9yKHZhciBqPTA7IGogPCBjb25maWcuc29ydExpc3QubGVuZ3RoOyBqKyspIHsKCQkJCQkJCQkJCXZhciBzID0gY29uZmlnLnNvcnRMaXN0W2pdLCBvID0gY29uZmlnLmhlYWRlckxpc3Rbc1swXV07CgkJCQkJCQkJCQlpZihzWzBdID09IGkpIHsKCQkJCQkJCQkJCQlvLmNvdW50ID0gc1sxXTsKCQkJCQkJCQkJCQlvLmNvdW50Kys7CgkJCQkJCQkJCQkJc1sxXSA9IG8uY291bnQgJSAyOwoJCQkJCQkJCQkJfQoJCQkJCQkJCQl9CQoJCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJCS8vIGFkZCBjb2x1bW4gdG8gc29ydCBsaXN0IGFycmF5CgkJCQkJCQkJCWNvbmZpZy5zb3J0TGlzdC5wdXNoKFtpLHRoaXMub3JkZXJdKTsKCQkJCQkJCQl9CgkJCQkJCQl9OwoJCQkJCQkJc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJCQkJCQkvL3NldCBjc3MgZm9yIGhlYWRlcnMKCQkJCQkJCQlzZXRIZWFkZXJzQ3NzKCR0aGlzWzBdLCRoZWFkZXJzLGNvbmZpZy5zb3J0TGlzdCxzb3J0Q1NTKTsKCQkJCQkJCQlhcHBlbmRUb1RhYmxlKCR0aGlzWzBdLG11bHRpc29ydCgkdGhpc1swXSxjb25maWcuc29ydExpc3QsY2FjaGUpKTsKCQkJCQkJCX0sMSk7CgkJCQkJCQkvLyBzdG9wIG5vcm1hbCBldmVudCBieSByZXR1cm5pbmcgZmFsc2UKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfQoJCQkJCS8vIGNhbmNlbCBzZWxlY3Rpb24JCgkJCQkJfSkubW91c2Vkb3duKGZ1bmN0aW9uKCkgewoJCQkJCQlpZihjb25maWcuY2FuY2VsU2VsZWN0aW9uKSB7CgkJCQkJCQl0aGlzLm9uc2VsZWN0c3RhcnQgPSBmdW5jdGlvbigpIHtyZXR1cm4gZmFsc2V9OwoJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQl9CgkJCQkJfSk7CgkJCQkJCgkJCQkJLy8gYXBwbHkgZWFzeSBtZXRob2RzIHRoYXQgdHJpZ2dlciBiaW5kZWQgZXZlbnRzCgkJCQkJJHRoaXMuYmluZCgidXBkYXRlIixmdW5jdGlvbigpIHsKCQkJCQkJCgkJCQkJCS8vIHJlYnVpbGQgcGFyc2Vycy4KCQkJCQkJdGhpcy5jb25maWcucGFyc2VycyA9IGJ1aWxkUGFyc2VyQ2FjaGUodGhpcywkaGVhZGVycyk7CgkJCQkJCQoJCQkJCQkvLyByZWJ1aWxkIHRoZSBjYWNoZSBtYXAKCQkJCQkJY2FjaGUgPSBidWlsZENhY2hlKHRoaXMpOwoJCQkJCQkKCQkJCQl9KS5iaW5kKCJzb3J0b24iLGZ1bmN0aW9uKGUsbGlzdCkgewoJCQkJCQkKCQkJCQkJJCh0aGlzKS50cmlnZ2VyKCJzb3J0U3RhcnQiKTsKCQkJCQkJCgkJCQkJCWNvbmZpZy5zb3J0TGlzdCA9IGxpc3Q7CgkJCQkJCQoJCQkJCQkvLyB1cGRhdGUgYW5kIHN0b3JlIHRoZSBzb3J0bGlzdAoJCQkJCQl2YXIgc29ydExpc3QgPSBjb25maWcuc29ydExpc3Q7CgkJCQkJCQoJCQkJCQkvLyB1cGRhdGUgaGVhZGVyIGNvdW50IGluZGV4CgkJCQkJCXVwZGF0ZUhlYWRlclNvcnRDb3VudCh0aGlzLHNvcnRMaXN0KTsKCQkJCQkJCgkJCQkJCS8vc2V0IGNzcyBmb3IgaGVhZGVycwoJCQkJCQlzZXRIZWFkZXJzQ3NzKHRoaXMsJGhlYWRlcnMsc29ydExpc3Qsc29ydENTUyk7CgkJCQkJCQoJCQkJCQkKCQkJCQkJLy8gc29ydCB0aGUgdGFibGUgYW5kIGFwcGVuZCBpdCB0byB0aGUgZG9tCgkJCQkJCWFwcGVuZFRvVGFibGUodGhpcyxtdWx0aXNvcnQodGhpcyxzb3J0TGlzdCxjYWNoZSkpOwoKCQkJCQl9KS5iaW5kKCJhcHBlbmRDYWNoZSIsZnVuY3Rpb24oKSB7CgkJCQkJCQoJCQkJCQlhcHBlbmRUb1RhYmxlKHRoaXMsY2FjaGUpOwoJCQkJCQoJCQkJCX0pLmJpbmQoImFwcGx5V2lkZ2V0SWQiLGZ1bmN0aW9uKGUsaWQpIHsKCQkJCQkJCgkJCQkJCWdldFdpZGdldEJ5SWQoaWQpLmZvcm1hdCh0aGlzKTsKCQkJCQkJCgkJCQkJfSkuYmluZCgiYXBwbHlXaWRnZXRzIixmdW5jdGlvbigpIHsKCQkJCQkJLy8gYXBwbHkgd2lkZ2V0cwoJCQkJCQlhcHBseVdpZGdldCh0aGlzKTsKCQkJCQl9KTsKCQkJCQkKCQkJCQlpZigkLm1ldGFkYXRhICYmICgkKHRoaXMpLm1ldGFkYXRhKCkgJiYgJCh0aGlzKS5tZXRhZGF0YSgpLnNvcnRsaXN0KSkgewoJCQkJCQljb25maWcuc29ydExpc3QgPSAkKHRoaXMpLm1ldGFkYXRhKCkuc29ydGxpc3Q7CgkJCQkJfQoJCQkJCS8vIGlmIHVzZXIgaGFzIHN1cHBsaWVkIGEgc29ydCBsaXN0IHRvIGNvbnN0cnVjdG9yLgoJCQkJCWlmKGNvbmZpZy5zb3J0TGlzdC5sZW5ndGggPiAwKSB7CgkJCQkJCSR0aGlzLnRyaWdnZXIoInNvcnRvbiIsW2NvbmZpZy5zb3J0TGlzdF0pOwkKCQkJCQl9CgkJCQkJCgkJCQkJLy8gYXBwbHkgd2lkZ2V0cwoJCQkJCWFwcGx5V2lkZ2V0KHRoaXMpOwoJCQkJfSk7CgkJCX07CgkJCQoJCQl0aGlzLmFkZFBhcnNlciA9IGZ1bmN0aW9uKHBhcnNlcikgewoJCQkJdmFyIGwgPSBwYXJzZXJzLmxlbmd0aCwgYSA9IHRydWU7CgkJCQlmb3IodmFyIGk9MDsgaSA8IGw7IGkrKykgewoJCQkJCWlmKHBhcnNlcnNbaV0uaWQudG9Mb3dlckNhc2UoKSA9PSBwYXJzZXIuaWQudG9Mb3dlckNhc2UoKSkgewoJCQkJCQlhID0gZmFsc2U7CgkJCQkJfQoJCQkJfQoJCQkJaWYoYSkgeyBwYXJzZXJzLnB1c2gocGFyc2VyKTsgfTsKCQkJfTsKCQkJCgkJCXRoaXMuYWRkV2lkZ2V0ID0gZnVuY3Rpb24od2lkZ2V0KSB7CgkJCQl3aWRnZXRzLnB1c2god2lkZ2V0KTsKCQkJfTsKCQkJCgkJCXRoaXMuZm9ybWF0RmxvYXQgPSBmdW5jdGlvbihzKSB7CgkJCQl2YXIgaSA9IHBhcnNlRmxvYXQocyk7CgkJCQlyZXR1cm4gKGlzTmFOKGkpKSA/IDAgOiBpOwoJCQl9OwoJCQl0aGlzLmZvcm1hdEludCA9IGZ1bmN0aW9uKHMpIHsKCQkJCXZhciBpID0gcGFyc2VJbnQocyk7CgkJCQlyZXR1cm4gKGlzTmFOKGkpKSA/IDAgOiBpOwoJCQl9OwoJCQkKCQkJdGhpcy5pc0RpZ2l0ID0gZnVuY3Rpb24ocyxjb25maWcpIHsKCQkJCXZhciBERUNJTUFMID0gJ1xcJyArIGNvbmZpZy5kZWNpbWFsOwoJCQkJdmFyIGV4cCA9ICcvKF5bK10/MCgnICsgREVDSU1BTCArJzArKT8kKXwoXihbLStdP1sxLTldWzAtOV0qKSQpfCheKFstK10/KCgwP3xbMS05XVswLTldKiknICsgREVDSU1BTCArJygwKlsxLTldWzAtOV0qKSkpJCl8KF5bLStdP1sxLTldK1swLTldKicgKyBERUNJTUFMICsnMCskKS8nOwoJCQkJcmV0dXJuIFJlZ0V4cChleHApLnRlc3QoJC50cmltKHMpKTsKCQkJfTsKCQkJCgkJCXRoaXMuY2xlYXJUYWJsZUJvZHkgPSBmdW5jdGlvbih0YWJsZSkgewoJCQkJaWYoJC5icm93c2VyLm1zaWUpIHsKCQkJCQlmdW5jdGlvbiBlbXB0eSgpIHsKCQkJCQkJd2hpbGUgKCB0aGlzLmZpcnN0Q2hpbGQgKSB0aGlzLnJlbW92ZUNoaWxkKCB0aGlzLmZpcnN0Q2hpbGQgKTsKCQkJCQl9CgkJCQkJZW1wdHkuYXBwbHkodGFibGUudEJvZGllc1swXSk7CgkJCQl9IGVsc2UgewoJCQkJCXRhYmxlLnRCb2RpZXNbMF0uaW5uZXJIVE1MID0gIiI7CgkJCQl9CgkJCX07CgkJfQoJfSk7CgkKCS8vIGV4dGVuZCBwbHVnaW4gc2NvcGUKCSQuZm4uZXh0ZW5kKHsKICAgICAgICB0YWJsZXNvcnRlcjogJC50YWJsZXNvcnRlci5jb25zdHJ1Y3QKCX0pOwoJCgl2YXIgdHMgPSAkLnRhYmxlc29ydGVyOwoJCgkvLyBhZGQgZGVmYXVsdCBwYXJzZXJzCgl0cy5hZGRQYXJzZXIoewoJCWlkOiAidGV4dCIsCgkJaXM6IGZ1bmN0aW9uKHMpIHsKCQkJcmV0dXJuIHRydWU7CgkJfSwKCQlmb3JtYXQ6IGZ1bmN0aW9uKHMpIHsKCQkJcmV0dXJuICQudHJpbShzLnRvTG93ZXJDYXNlKCkpOwoJCX0sCgkJdHlwZTogInRleHQiCgl9KTsKCQoJdHMuYWRkUGFyc2VyKHsKCQlpZDogImRpZ2l0IiwKCQlpczogZnVuY3Rpb24ocyx0YWJsZSkgewoJCQl2YXIgYyA9IHRhYmxlLmNvbmZpZzsKCQkJcmV0dXJuICQudGFibGVzb3J0ZXIuaXNEaWdpdChzLGMpOwoJCX0sCgkJZm9ybWF0OiBmdW5jdGlvbihzKSB7CgkJCXJldHVybiAkLnRhYmxlc29ydGVyLmZvcm1hdEZsb2F0KHMpOwoJCX0sCgkJdHlwZTogIm51bWVyaWMiCgl9KTsKCQoJdHMuYWRkUGFyc2VyKHsKCQlpZDogImN1cnJlbmN5IiwKCQlpczogZnVuY3Rpb24ocykgewoJCQlyZXR1cm4gL15bwqMk4oKsPy5dLy50ZXN0KHMpOwoJCX0sCgkJZm9ybWF0OiBmdW5jdGlvbihzKSB7CgkJCXJldHVybiAkLnRhYmxlc29ydGVyLmZvcm1hdEZsb2F0KHMucmVwbGFjZShuZXcgUmVnRXhwKC9bXjAtOS5dL2cpLCIiKSk7CgkJfSwKCQl0eXBlOiAibnVtZXJpYyIKCX0pOwoJCgl0cy5hZGRQYXJzZXIoewoJCWlkOiAiaXBBZGRyZXNzIiwKCQlpczogZnVuY3Rpb24ocykgewoJCQlyZXR1cm4gL15cZHsyLDN9W1wuXVxkezIsM31bXC5dXGR7MiwzfVtcLl1cZHsyLDN9JC8udGVzdChzKTsKCQl9LAoJCWZvcm1hdDogZnVuY3Rpb24ocykgewoJCQl2YXIgYSA9IHMuc3BsaXQoIi4iKSwgciA9ICIiLCBsID0gYS5sZW5ndGg7CgkJCWZvcih2YXIgaSA9IDA7IGkgPCBsOyBpKyspIHsKCQkJCXZhciBpdGVtID0gYVtpXTsKCQkJICAgCWlmKGl0ZW0ubGVuZ3RoID09IDIpIHsKCQkJCQlyICs9ICIwIiArIGl0ZW07CgkJCSAgIAl9IGVsc2UgewoJCQkJCXIgKz0gaXRlbTsKCQkJICAgCX0KCQkJfQoJCQlyZXR1cm4gJC50YWJsZXNvcnRlci5mb3JtYXRGbG9hdChyKTsKCQl9LAoJCXR5cGU6ICJudW1lcmljIgoJfSk7CgkKCXRzLmFkZFBhcnNlcih7CgkJaWQ6ICJ1cmwiLAoJCWlzOiBmdW5jdGlvbihzKSB7CgkJCXJldHVybiAvXihodHRwcz98ZnRwfGZpbGUpOlwvXC8kLy50ZXN0KHMpOwoJCX0sCgkJZm9ybWF0OiBmdW5jdGlvbihzKSB7CgkJCXJldHVybiBqUXVlcnkudHJpbShzLnJlcGxhY2UobmV3IFJlZ0V4cCgvKGh0dHBzP3xmdHB8ZmlsZSk6XC9cLy8pLCcnKSk7CgkJfSwKCQl0eXBlOiAidGV4dCIKCX0pOwoJCgl0cy5hZGRQYXJzZXIoewoJCWlkOiAiaXNvRGF0ZSIsCgkJaXM6IGZ1bmN0aW9uKHMpIHsKCQkJcmV0dXJuIC9eXGR7NH1bXC8tXVxkezEsMn1bXC8tXVxkezEsMn0kLy50ZXN0KHMpOwoJCX0sCgkJZm9ybWF0OiBmdW5jdGlvbihzKSB7CgkJCXJldHVybiAkLnRhYmxlc29ydGVyLmZvcm1hdEZsb2F0KChzICE9ICIiKSA/IG5ldyBEYXRlKHMucmVwbGFjZShuZXcgUmVnRXhwKC8tL2cpLCIvIikpLmdldFRpbWUoKSA6ICIwIik7CgkJfSwKCQl0eXBlOiAibnVtZXJpYyIKCX0pOwoJCQoJdHMuYWRkUGFyc2VyKHsKCQlpZDogInBlcmNlbnQiLAoJCWlzOiBmdW5jdGlvbihzKSB7IAoJCQlyZXR1cm4gL1wlJC8udGVzdCgkLnRyaW0ocykpOwoJCX0sCgkJZm9ybWF0OiBmdW5jdGlvbihzKSB7CgkJCXJldHVybiAkLnRhYmxlc29ydGVyLmZvcm1hdEZsb2F0KHMucmVwbGFjZShuZXcgUmVnRXhwKC8lL2cpLCIiKSk7CgkJfSwKCQl0eXBlOiAibnVtZXJpYyIKCX0pOwoKCXRzLmFkZFBhcnNlcih7CgkJaWQ6ICJ1c0xvbmdEYXRlIiwKCQlpczogZnVuY3Rpb24ocykgewoJCQlyZXR1cm4gcy5tYXRjaChuZXcgUmVnRXhwKC9eW0EtWmEtel17MywxMH1cLj8gWzAtOV17MSwyfSwgKFswLTldezR9fCc/WzAtOV17Mn0pICgoWzAtMl0/WzAtOV06WzAtNV1bMC05XSl8KFswLTFdP1swLTldOlswLTVdWzAtOV1ccyhBTXxQTSkpKSQvKSk7CgkJfSwKCQlmb3JtYXQ6IGZ1bmN0aW9uKHMpIHsKCQkJcmV0dXJuICQudGFibGVzb3J0ZXIuZm9ybWF0RmxvYXQobmV3IERhdGUocykuZ2V0VGltZSgpKTsKCQl9LAoJCXR5cGU6ICJudW1lcmljIgoJfSk7CgoJdHMuYWRkUGFyc2VyKHsKCQlpZDogInNob3J0RGF0ZSIsCgkJaXM6IGZ1bmN0aW9uKHMpIHsKCQkJcmV0dXJuIC9cZHsxLDJ9W1wvXC1dXGR7MSwyfVtcL1wtXVxkezIsNH0vLnRlc3Qocyk7CgkJfSwKCQlmb3JtYXQ6IGZ1bmN0aW9uKHMsdGFibGUpIHsKCQkJdmFyIGMgPSB0YWJsZS5jb25maWc7CgkJCXMgPSBzLnJlcGxhY2UoL1wtL2csIi8iKTsKCQkJaWYoYy5kYXRlRm9ybWF0ID09ICJ1cyIpIHsKCQkJCS8vIHJlZm9ybWF0IHRoZSBzdHJpbmcgaW4gSVNPIGZvcm1hdAoJCQkJcyA9IHMucmVwbGFjZSgvKFxkezEsMn0pW1wvXC1dKFxkezEsMn0pW1wvXC1dKFxkezR9KS8sICIkMy8kMS8kMiIpOwoJCQl9IGVsc2UgaWYoYy5kYXRlRm9ybWF0ID09ICJ1ayIpIHsKCQkJCS8vcmVmb3JtYXQgdGhlIHN0cmluZyBpbiBJU08gZm9ybWF0CgkJCQlzID0gcy5yZXBsYWNlKC8oXGR7MSwyfSlbXC9cLV0oXGR7MSwyfSlbXC9cLV0oXGR7NH0pLywgIiQzLyQyLyQxIik7CgkJCX0gZWxzZSBpZihjLmRhdGVGb3JtYXQgPT0gImRkL21tL3l5IiB8fCBjLmRhdGVGb3JtYXQgPT0gImRkLW1tLXl5IikgewoJCQkJcyA9IHMucmVwbGFjZSgvKFxkezEsMn0pW1wvXC1dKFxkezEsMn0pW1wvXC1dKFxkezJ9KS8sICIkMS8kMi8kMyIpOwkKCQkJfQoJCQlyZXR1cm4gJC50YWJsZXNvcnRlci5mb3JtYXRGbG9hdChuZXcgRGF0ZShzKS5nZXRUaW1lKCkpOwoJCX0sCgkJdHlwZTogIm51bWVyaWMiCgl9KTsKCgl0cy5hZGRQYXJzZXIoewoJICAgIGlkOiAidGltZSIsCgkgICAgaXM6IGZ1bmN0aW9uKHMpIHsKCSAgICAgICAgcmV0dXJuIC9eKChbMC0yXT9bMC05XTpbMC01XVswLTldKXwoWzAtMV0/WzAtOV06WzAtNV1bMC05XVxzKGFtfHBtKSkpJC8udGVzdChzKTsKCSAgICB9LAoJICAgIGZvcm1hdDogZnVuY3Rpb24ocykgewoJICAgICAgICByZXR1cm4gJC50YWJsZXNvcnRlci5mb3JtYXRGbG9hdChuZXcgRGF0ZSgiMjAwMC8wMS8wMSAiICsgcykuZ2V0VGltZSgpKTsKCSAgICB9LAoJICB0eXBlOiAibnVtZXJpYyIKCX0pOwoJCgkKCXRzLmFkZFBhcnNlcih7CgkgICAgaWQ6ICJtZXRhZGF0YSIsCgkgICAgaXM6IGZ1bmN0aW9uKHMpIHsKCSAgICAgICAgcmV0dXJuIGZhbHNlOwoJICAgIH0sCgkgICAgZm9ybWF0OiBmdW5jdGlvbihzLHRhYmxlLGNlbGwpIHsKCQkJdmFyIGMgPSB0YWJsZS5jb25maWcsIHAgPSAoIWMucGFyc2VyTWV0YWRhdGFOYW1lKSA/ICdzb3J0VmFsdWUnIDogYy5wYXJzZXJNZXRhZGF0YU5hbWU7CgkgICAgICAgIHJldHVybiAkKGNlbGwpLm1ldGFkYXRhKClbcF07CgkgICAgfSwKCSAgdHlwZTogIm51bWVyaWMiCgl9KTsKCQoJLy8gYWRkIGRlZmF1bHQgd2lkZ2V0cwoJdHMuYWRkV2lkZ2V0KHsKCQlpZDogInplYnJhIiwKCQlmb3JtYXQ6IGZ1bmN0aW9uKHRhYmxlKSB7CgkJCWlmKHRhYmxlLmNvbmZpZy5kZWJ1ZykgeyB2YXIgdGltZSA9IG5ldyBEYXRlKCk7IH0KCQkJJCgidHI6dmlzaWJsZSIsdGFibGUudEJvZGllc1swXSkKCSAgICAgICAgLmZpbHRlcignOmV2ZW4nKQoJICAgICAgICAucmVtb3ZlQ2xhc3ModGFibGUuY29uZmlnLndpZGdldFplYnJhLmNzc1sxXSkuYWRkQ2xhc3ModGFibGUuY29uZmlnLndpZGdldFplYnJhLmNzc1swXSkKCSAgICAgICAgLmVuZCgpLmZpbHRlcignOm9kZCcpCgkgICAgICAgIC5yZW1vdmVDbGFzcyh0YWJsZS5jb25maWcud2lkZ2V0WmVicmEuY3NzWzBdKS5hZGRDbGFzcyh0YWJsZS5jb25maWcud2lkZ2V0WmVicmEuY3NzWzFdKTsKCQkJaWYodGFibGUuY29uZmlnLmRlYnVnKSB7ICQudGFibGVzb3J0ZXIuYmVuY2htYXJrKCJBcHBseWluZyBaZWJyYSB3aWRnZXQiLCB0aW1lKTsgfQoJCX0KCX0pOwkKfSkoalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/skeleton.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEpRdWVyeVRvb2xzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBIHRvb2xib3ggb2YgY29udmVuaWVuY2VzIHRvIHByb3ZpZGUgZHluYW1pYyBqYXZhc2NyaXB0eSBmdW5jdGlvbmFsaXR5CiMgIGZvciBDTVMgbW9kdWxlcyBhbmQgd2Vic2l0ZSBkZXNpZ25lcnMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/incjs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjwhLS0gSlF1ZXJ5VG9vbHMgLS0+CntpZiBpc3NldCgkbGlicyl9Cntmb3JlYWNoIGZyb209JGxpYnMgaXRlbT0nb25lJ30KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ieyRiYXNlX3VybH17JG9uZX0iPjwvc2NyaXB0Pgp7L2ZvcmVhY2h9CnsvaWZ9Cgp7aWYgaXNzZXQoJGNzcyl9Cntmb3JlYWNoIGZyb209JGNzcyBpdGVtPSdvbmUnfQo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJ7JGJhc2VfdXJsfWNzcy97JG9uZX0iIG1lZGlhPSJzY3JlZW4iIC8+CnsvZm9yZWFjaH0Key9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/ready.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogaGVyZSB3ZSBzZXQgZGVmYXVsdCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgZm9yIHRoZSBsaWJzIHRoYXQgYXJlIGxvYWRlZC4gKn0NCntsaXRlcmFsfQ0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKQ0KICAgIHsNCgl7L2xpdGVyYWx9e2lmIGlzc2V0KCRqcXVlcnlfbGlicy50YWJsZXNvcnRlcil9e2xpdGVyYWx9DQogICAgICAgIGpRdWVyeSgiLmNtc19zb3J0YWJsZSIpDQogICAgICAgICAgICAgICAgLnRhYmxlc29ydGVyKHt3aWR0aEZpeGVkOiB0cnVlLCB3aWRnZXRzOiBbJ3plYnJhJ119KQ0KICAgICAgICB7L2xpdGVyYWx9ey9pZn17bGl0ZXJhbH0NCgkJDQoJey9saXRlcmFsfXtpZiBpc3NldCgkanF1ZXJ5X2xpYnMubGlnaHRib3gpfXtsaXRlcmFsfQ0KCQlqUXVlcnkoJ2FbQHJlbCo9bGlnaHRib3hdJykubGlnaHRCb3goKTsNCgl7L2xpdGVyYWx9ey9pZn17bGl0ZXJhbH0NCg0KCXsvbGl0ZXJhbH17aWYgaXNzZXQoJGpxdWVyeV9saWJzLmNsdWV0aXApfXtsaXRlcmFsfQ0KICAgICAgICBqUXVlcnkoImEudG9vbHRpcCIpLmNsdWV0aXAoe2xvY2FsOnRydWUsIGN1cnNvcjogJ3BvaW50ZXInfSk7DQoJey9saXRlcmFsfXsvaWZ9e2xpdGVyYWx9DQoJDQp9KTsgIC8vZW5kDQo8L3NjcmlwdD4NCnsvbGl0ZXJhbH0NCg==]]></data>
	</file>
</module>
