<?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>AdvancedContent</name>
	<version>0.8.1</version>
  <mincmsversion>1.9.4.3</mincmsversion>
	<help><![CDATA[PGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQiPjxmb3JtIGFjdGlvbj0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9jZ2ktYmluL3dlYnNjciIgbWV0aG9kPSJwb3N0Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY21kIiB2YWx1ZT0iX3MteGNsaWNrIiAvPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJob3N0ZWRfYnV0dG9uX2lkIiB2YWx1ZT0iRkEyRDNGUExTVEFLSiIgLz4KPGlucHV0IHR5cGU9ImltYWdlIiBzcmM9Imh0dHBzOi8vd3d3LnBheXBhbC5jb20vZW5fR0IvaS9idG4vYnRuX2RvbmF0ZV9MRy5naWYiIGJvcmRlcj0iMCIgbmFtZT0ic3VibWl0IiBhbHQ9IlBheVBhbCAtIFRoZSBzYWZlciwgZWFzaWVyIHdheSB0byBwYXkgb25saW5lLiIgLz4KPGltZyBhbHQ9IiIgYm9yZGVyPSIwIiBzcmM9Imh0dHBzOi8vd3d3LnBheXBhbC5jb20vZGVfREUvaS9zY3IvcGl4ZWwuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiAvPgo8L2Zvcm0+PC9kaXY+PGJyIC8+CjxwPjxzdHJvbmcgc3R5bGU9ImNvbG9yOnJlZCI+V0FSTlVORyEgPC9zdHJvbmc+PGJyIC8+Cldlbm4gU2llIGRhcyBNb2R1bCBkZWluc3RhbGxpZXJlbiwgb2huZSBhbGxlIFNlaXRlbiB2b20gVHlwICdFcndlaXRlcnRlciBJbmhhbHQnIHdpZWRlciB6dXImdXVtbDtjayBhdWYgZGVuIFN0YW5kYXJkLUluaGFsdHN0eXBlbiB6dSBzZXR6ZW4sIGZ1bmt0aW9uaWVydCBJaHJlIENNU21zIEluc3RhbGxhdGlvbiBuaWNodCBtZWhyITxiciAvPgpTdGVsbGVuIFNpZSBzaWNoZXIsIGRhc3MgYWxsZSBTZWl0ZW4gdm9tIFR5cCAnRXJ3ZWl0ZXJ0ZXIgSW5oYWx0JyB2b3IgZGVyIERlaW5zdGFsbGF0aW9uIHdpZWRlciBnZcOkbmRlcnQgb2RlciBnZWwmb3VtbDtzY2h0IHdlcmRlbiEgKG51dHplbiBTaWUgZGllIE1vZHVsZWluc3RlbGx1bmcgJ0FrdGlvbiBiZWltIERlaW5zdGFsbGllcmVuJyB1bWQgZGllcyBhdXRvbWF0aXNjaCB2b3J6dW5laG1lbi4pPC9wPgo8aDM+V2FzIG1hY2h0IGRpZXNlcyBNb2R1bD88L2gzPgo8cD5EaWVzZXMgTW9kdWwgYmlldGV0IGVpbmVuIHdlaXRlcmVuIEluaGFsdHN0eXBlbiAiRXJ3ZWl0ZXJ0ZXIgSW5oYWx0Ii48YnIgLz4KTWl0IGRpZXNlbSBJbmhhbHRzdHlwZW4ga2FubiBkaWUgQWRtaW5pc3RyYXRpb24gYmVpbSBCZWFyYmVpdGVuIHZvbiBTZWl0ZW4gZmxleGliZWwgZ2VzdGFsdGV0IHdlcmRlbiwgaW5kZW0gbWFuIGltIFNlaXRlbi1UZW1wbGF0ZSBkZW4gZWluemVsbmVuIEluaGFsdHNibCZvdW1sO2NrZW4gd2VpdGVyZSBQYXJhbWV0ZXIgaGluenVmJnV1bWw7Z3QuPGJyIC8+CkluaGFsdHNibCZvdW1sO2NrZSBrJm91bWw7bm5lbiBpbiBGb3JtIHZlcnNjaGllZGVuZXIgSW5wdXQtRmVsZGVyIHdpZSBEcm9wZG93bnMsIE1laHJmYWNoYXVzd2FobGZlbGRlciBvZGVyIENoZWNrYm94ZW4gZGFyZ2VzdGVsbHQgd2VyZGVuLjxiciAvPgpEaWUgSW5wdXQtRmVsZGVyIGsmb3VtbDtubmVuIHdlaXRlcmhpbiBpbiBlaWdlbmVuIFRhYnMgYW5nZXplaWd0IG9kZXIgaW4gR3J1cHBlbiB6dXNhbW1lbmdlZmFzc3Qgd2VyZGVuLjxiciAvPgpBdcOfZXJkZW0gaGF0IG1hbiBkaWUgTSZvdW1sO2dsaWNoa2VpdCwgU2VpdGVuIG9kZXIgZWluemVsbmUgQmwmb3VtbDtja2UgbnVyIGYmdXVtbDtyIGJlc3RpbW10ZSBHcnVwcGVuIGRlcyBGcm9udEVuZFVzZXJzIE1vZHVscyBmcmVpenVnZWJlbi48YnIgLz4KV2VpdGVyaGluIGsmb3VtbDtubmVuIFNlaXRlbiBlaW4gU3RhcnQtIHVuZCBlaW4gRW5kZGF0dW0gZXJoYWx0ZW4sIHdvbWl0IFNlaXRlbiBhdXRvbWF0aXNjaCBha3Rpdi9pbmFrdGl2IHdlcmRlbi48YnIgLz4KRGllIGVyd2VpdGVydGVuIEVpbnN0ZWxsdW5nZW4gayZvdW1sO25uZW4gdm9uICZ1dW1sO2Jlcmdlb3JkbmV0ZW4gU2VpdGVuICZ1dW1sO2Jlcm5vbW1lbiB3ZXJkZW4uPC9wPgo8cD5EaWUgUGFyYW1ldGVyIGsmb3VtbDtubmVuIGF1w59lcmRlbSBtaXQgSGlsZmUgdm9uIGVpbmZhY2hlbSBTbWFydHktU3ludGF4IGR5bmFtaXNjaGUgV2VydGUgZW50aGFsdGVuLjxiciAvPgpELmguIG1hbiBrYW5uIHouQi4gZGFzIEVyZ2VibmlzIGVpbmVzIGJlbnV0emVyZGVmaW5pZXJ0ZW4gVGFncywgZWluZXMgUGx1Z2lucywgZWluZXMgTW9kdWxzIG9kZXIgZWluZmFjaCBudXIgZWluZXMgR2xvYmFsZW4gSW5oYWx0c2Jsb2NrZXMgYWxzIFdlcnQgZiZ1dW1sO3IgZWluZW4gUGFyYW1ldGVyIGVpbnNldHplbiBsYXNzZW4uPC9wPgo8aDM+V2llIHdpcmQgZXMgdmVyd2VuZGV0PzwvaDM+CjxwPk5hY2ggZGVyIEluc3RhbGxhdGlvbiB3aXJkIGRlciBBZG1pbmlzdHJhdGlvbiBlaW4gd2VpdGVyZXIgTWVuJnV1bWw7cHVua3QgIkVyd2VpdGVydW5nZW4tJmd0O0Vyd2VpdGVydGVyIEluaGFsdCIgaGluenVnZWYmdXVtbDtndC48YnIgLz4KSGllciBrJm91bWw7bm5lbiB2ZXJzY2hpZWRlbmUgRWluc3RlbGx1bmdlbiB2b3JnZW5vbW1lbiB3ZXJkZW4uPGJyIC8+CkJlaW0gQmVhcmJlaXRlbiB2b24gU2VpdGVuIHN0ZWh0IG51biBlaW4gd2VpdGVyZXIgSW5oYWx0c3R5cCAiRXJ3ZWl0ZXJ0ZXIgSW5oYWx0IiB6dXIgQXVzd2FobCwgZGVyIGRpZSBGdW5rdGlvbmVuIGRlcyBNb2R1bHMgYmVyZWl0c3RlbGx0LjwvcD4KPHA+PGVtPjxzdHJvbmc+SGlud2Vpczo8L3N0cm9uZz48YnIgLz4KSW4gbWFuY2hlbiBGJmF1bWw7bGxlbiBlbXBmaWVsdCBlcyBzaWNoLCBhbnN0ZWxsZSBkZXMgbm9ybWFsZW4ge2NvbnRlbnR9IFRhZ3MgZGVuIHtBZHZhbmNlZENvbnRlbnR9IFRhZyB6dSBiZW51dHplbi4gKEdyb8OfLSB1bmQgS2xlaW5zY2hyZWlidW5nIGJlYWNodGVuKTxiciAvPgpEaWUgRmVobGVybWVsZHVuZyAiUGFyYW1ldGVyIFtYXSBpcyBub3Qga25vd24gYnkgTW9kdWxlIFtNb2R1bG5hbWVdIiBrYW5uIGRhbWl0IHouQi4gdW1nYW5nZW4gd2VyZGVuLjxiciAvPjxiciAvPgpXZW5uIGRpZSBTdGFydHNlaXRlIHZvbSBUeXAgRXJ3ZWl0ZXJ0ZXIgSW5oYWx0IGlzdCB1bmQgZGVyIEluaGFsdHN0eXAgd2lyZCB3aWVkZXIgYXVmIGRlbiBzdGFuZGFyZCBJbmhhbHRzdHlwZW4gZ2XDpG5kZXJ0LCBtdXNzIGRpZSBTdGFydHNlaXRlIGVybmV1dCBhbHMgc29sY2hlIGdlc2V0enQgd2VyZGVuLjxiciAvPjxiciAvPgpXZW5uIGRpZSBQYXJhbWV0ZXJ3ZXJ0ZSBtaXQgSGlsZmUgdm9uIFNtYXJ0eSB2ZXJhcmJlaXRldCB3ZXJkZW4gc29sbGVuLCBiZWRlbmtlbiBTaWUsIGRhc3MgYmVzdGltbXRlIERhdGVuIGltIEJhY2tlbmQgbmljaHQgYnp3LiBuaWNodCBpbW1lciB2ZXJmw7xnYmFyIHNpbmQuPGJyIC8+CkRpZXMgYmV0cmlmZnQgei5CLiB7JGNvbnRlbnRfaWR9LCB7JHBhZ2VfYWxpYXN9IG9kZXIge3RpdGxlfSBldGMuLCBkYSBkaWVzZSBEYXRlbiBub2NoIG5pY2h0IGV4aXN0aWVyZW4sIHdlbm4gZGllIFNlaXRlIGdlcmFkZSBlcnN0IGVyc3RlbGx0IHdpcmQuPGJyIC8+Ck1hbmNoZSBEYXRlbiBzaW5kIGRhcsO8YmVyIGhpbmF1cyBudXIgZGFubiB2ZXJmw7xnYmFyLCB3ZW5uIGRpZSBTZWl0ZSBleHBsaXppdCBpbSBGcm9udGVuZCBnZXJlbmRlcnQgd2lyZC48YnIgLz4KRXMgZW1wZmllaGx0IHNpY2ggaW4gc29sY2hlbiBGw6RsbGVuIGVpbiBleHRyYSBQbHVnaW4gb2RlciBVRFQgenUgZXJzdGVsbGVuLCBpbiBkZW0gbWFuIGVudHNjaGVpZGVuIGthbm4gd2FzIHBhc3NpZXJlbiBzb2xsLCB3ZW5uIGRlcmFydGlnZSBEYXRlbiBuaWNodCBleGlzdGllcmVuLjxiciAvPjxiciAvPgpXZW5uIGRpZSBTVk4gVmVyc2lvbiB2ZXJ3ZW5kZXQgd2lyZCwgZGllIERhdGVpIC9tb2R1bGVzL0FkdmFuY2VkQ29udGVudC9sYW5nL2V4dC9kZV9ERS5waHAgbMO2c2NoZW4uCjwvZW0+PC9wPgo8aDM+V2VsY2hlIFBhcmFtZXRlciBzaW5kIHZlcmYmdXVtbDtnYmFyPzwvaDM+CjxwPk1pdCBIaWxmZSBmb2xnZW5kZXIgUGFyYW1ldGVyIGJlaW0gRXJzdGVsbGVuIHZvbiBJbmhhbHRzYmwmb3VtbDtja2VuIGltIFNlaXRlbi1UZW1wbGF0ZSBrJm91bWw7bm5lbiBkaWVzZSBGdW5rdGlvbmVuIHZlcndlbmRldCB3ZXJkZW46PC9wPgo8cD4oYWxsZSBQYXJhbWV0ZXIgc2luZCBvcHRpb25hbCk8L3A+CjxwPjxzdHJvbmc+U3RhbmRhcmQgUGFyYW1hdGVyOjwvc3Ryb25nPjwvcD4KPHA+PGVtPjxhIGhyZWY9Imxpc3R0YWdzLnBocD9hY3Rpb249c2hvd3BsdWdpbmhlbHAmcGx1Z2luPWNvbnRlbnQiPihzaWVoZSBhdWNoIFRhZy1IaWxmZSBkZXMge2NvbnRlbnR9LVRhZ3MpPC9hPjwvZW0+PC9wPgo8dWw+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YmxvY2s8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPgoJCQkJRXJtJm91bWw7Z2xpY2h0IGRhcyBIaW56dWYmdXVtbDtnZW4gbWVocmVyZXIgSW5oYWx0c2JsJm91bWw7Y2tlLiBCZWltIEJlYXJiZWl0ZW4gZWluZXIgU2VpdGUgd2lyZCBmJnV1bWw7ciBqZWRlbiBCbG9jayBlaW4gZWlnZW5lcyBJbnB1dC1GZWxkIGFuZ2V6ZWlndC48YnIgLz4KCQkJCUJzcC46IDxjb2RlPntjb250ZW50IGJsb2NrPSZxdW90O1p3ZWl0ZXIgSW5oYWx0c2Jsb2NrJnF1b3Q7fTwvY29kZT48YnIgLz4KCQkJCTxlbT48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IERlciBOYW1lIGRlcyBJbmhhbHRzYmxvY2tzIGRhcmYgbnVyIEJ1Y2hzdGFiZW4sIFphaGxlbiB1bmQgVW50ZXJzdHJpY2hlIGVudGhhbHRlbi4gKGtlaW5lIExlZXItIG9kZXIgU29uZGVyemVpY2hlbiwgVW1sYXV0ZSBldGMuKS4gQW5kZXJlbmZhbGxzIHdpcmQgZGVyIEJsb2NrbmFtZSAmYXVtbDtobmxpY2ggZGVtIFNlaXRlbmFsaWFzIGVudHByZWNoZW5kIGtvbnZlcnRpZXJ0LjwvZW0+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+d3lzaXd5ZzwvdHQ+ICh0cnVlL2ZhbHNlKQoJCTx1bD4KCQkJPGxpPldlbm4gZGllc2VyIFdlcnQgYXVmIGZhbHNlIGdlc2V0enQgd2lyZCwgd2lyZCBpbiBkZXIgQWRtaW5pc3RyYXRpb24gYmVpbSBCZWFyYmVpdGVuIHZvbiBTZWl0ZW4ga2VpbiBXWVNJV1lHIEVkaXRvciBmJnV1bWw7ciBkaWVzZW4gQmxvY2sgdmVyd2VuZGV0LjwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+b25lbGluZTwvdHQ+ICh0cnVlL2ZhbHNlKQoJCTx1bD4KCQkJPGxpPldlbm4gZGllc2VyIFdlcnQgYXVmIGZhbHNlIGdlc2V0enQgd2lyZCwgd2lyZCBpbiBkZXIgQWRtaW5pc3RyYXRpb24gYmVpbSBCZWFyYmVpdGVuIHZvbiBTZWl0ZW4gbnVyIGVpbiBlaW5mYWNoZXMgZWluemVpbGlnZXMgVGV4dC1JbnB1dC1GZWxkIGFuZ2V6ZWlndC48L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmRlZmF1bHQ8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPlN0YWJkYXJkaW5oYWx0IGJlaW0gRXJzdGVsbGVuIG5ldWVyIFNlaXRlbi48L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmxhYmVsPC90dD4gKHN0cmluZykKCQk8dWw+CgkJCTxsaT5EaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBmJnV1bWw7ciBkZW4gSW5oYWx0c2Jsb2NrIGluIGRlciBBZG1pbmlzdHJhdGlvbiBiZWltIEJlYXJiZWl0ZW4gdm9uIFNlaXRlbi4gV2VubiBkaWVzZXIgUGFyYW1ldGVyIGZlaGx0LCB3aXJkIGRlciB1bmtvbnZlcnRpZXJ0ZSBXZXJ0IGRlcyBQYXJhbWV0ZXJzIGJsb2NrIHZlcndlbmRldC48L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmFzc2lnbjwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+CgkJCQlXZWlzdCBkZW4gSW5oYWx0IGRpZXNlcyBCbG9ja3MgYXVmIGRlciBJbnRlcm5ldHNlaXRlIGVpbmVyIFNtYXJ0eSBWYXJpYWJsZW4genUuPGJyIC8+CgkJCQlCc3AuOiA8Y29kZT57Y29udGVudCBhc3NpZ249InBhZ2Vjb250ZW50In08YnIgLz4KCQkJCXt0YWJsZV9vZl9jb250ZW50cyB0aGVwYWdlY29udGVudD0mcXVvdDskcGFnZWNvbnRlbnQmcXVvdDt9PC9jb2RlPjxiciAvPgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgo8L3VsPgo8cD48c3Ryb25nPkVyd2VpdGVydGUgUGFyYW1ldGVyOjwvc3Ryb25nPjwvcD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmJsb2NrX3R5cGU8L3R0PiAodGV4dCxjaGVja2JveCxkcm9wZG93bixzZWxlY3RfbXVsdGlwbGUsZGF0ZSxtdWx0aV9pbnB1dCxzbGlkZXIsY29sb3JwaWNrZXIpIAoJCTx1bD4KCQkJPGxpPkdpYnQgYW4sIGluIHdlbGNoZXIgRm9ybSBkZXIgSW5oYWx0c2Jsb2NrIGluIGRlciBBZG1pbmlzdHJhdGlvbiBiZWltIEJlYXJiZWl0ZW4gdm9uIFNlaXRlbiBhbmdlemVpZ3Qgd2VyZGVuIHNvbGwuPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5wYWdlX3RhYjwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+CgkJCQlNaXQgZGllc2VtIFBhcmFtZXRlciBrJm91bWw7bm5lbiBJbmhhbHRzYmwmb3VtbDtja2UgaW4gZGVyIEFkbWluaXN0cmF0aW9uIGJlaW0gQmVhcmJlaXRlbiB2b24gU2VpdGVuIGluIGJlc3RpbW10ZW4gVGFicyBhbmdlemVpZ3Qgd2VyZGVuLjxiciAvPgoJCQkJTSZvdW1sO2dsaWNoZSBXZXJ0ZSBzaW5kIHouQi4gJnF1b3Q7bWFpbiZxdW90OyAoID0gVGFiICZxdW90O0hhdXB0bWVuJnV1bWw7JnF1b3Q7KSwgJnF1b3Q7b3B0aW9ucyZxdW90OyAoID0gVGFiICZxdW90O09wdGlvbmVuJnF1b3Q7KSwgb2RlciBqZWRlciBhbmRlcmUgYmVsaWViaWdlIFdlcnQgKGVyemV1Z3QgYXV0b21hdGlzY2ggZWluZW4gd2VpdGVyZW4gVGFiKS48YnIgLz4KCQkJCTxlbT5NYW4ga2FubiBzb21pdCB6LkIuIGVpbmUgQ2hlY2tib3ggaW0gVGFiICJPcHRpb25lbiIgaGluenVmJnV1bWw7Z2VuIG9kZXIgZWluZW4gZWlnZW5lbiBUYWIgZXJzdGVsbGVuLjwvZW0+LgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmJsb2NrX3RhYjwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+TWl0IGRpZXNlbSBQYXJhbWV0ZXIgayZvdW1sO25uZW4gZGllIEluaGFsdHNibCZvdW1sO2NrZSBub2NobWFscyBpbiB3ZWl0ZXJlICJVbnRlcnRhYnMiIGlubmVyaGFsYiBkZXIgIkhhdXB0dGFicyIgdW50ZXJ0ZWlsdCB3ZXJkZW4uPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5ibG9ja19ncm91cDwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+CgkJCQlNaXQgZGllc2VtIFBhcmFtZXRlciBrYW5uIG1hbiBtZWhyZXJlIEluaGFsdHNibCZvdW1sO2NrZSBpbiBlaW5lbSBGaWVsZHNldCBncnVwcGllcmVuLjxiciAvPgoJCQkJRGllIEdydXBwZW4gayZvdW1sO25uZW4gYXVjaCBhdWYgbWVocmVyZSBUYWJzIHZlcnRlaWx0IHdlcmRlbi4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5hY3RpdmU8L3R0PiAodHJ1ZS9mYWxzZSkKCQk8dWw+CgkJCTxsaT4KCQkJCVdlbm4gZGllc2VyIFdlcnQgYXVmIGZhbHNlIGdlc2V0enQgd2lyZCwgaXN0IGRlciBCbG9jayBkZWFrdGl2aWVydC48YnIgLz4KCQkJCURlYWt0aXZpZXJ0ZSBJbmhhbHRzYmwmb3VtbDtja2Ugd2VyZGVuIHdlZGVyIGluIGRlciBBZG1pbmlzdHJhdGlvbiBiZWltIEJlYXJiZWl0ZW4gdm9uIFNlaXRlbiwgbm9jaCBhdWYgZGVyIEludGVybmV0c2VpdGUgYW5nZXplaWd0LgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmVkaXRvcl9ncm91cHM8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPgoJCQkJRGllc2VyIFBhcmFtZXRlciBpc3QgJmF1bWw7aG5saWNoIGRlbiAiWnVzJmF1bWw7dHpsaWNoZW4gQmVhcmJlaXRlcm4iIGVpbmVyIFNlaXRlLiBFciBnaWx0IGFsbGVyZGluZ3MgbnVyIGYmdXVtbDtyIGVpbnplbG5lIEluaGFsdHNibCZvdW1sO2NrZS48YnIgLz4KCQkJCU1pdCBkaWVzZW0gUGFyYW1ldGVyIGsmb3VtbDtubmVuIEluaGFsdHNibCZvdW1sO2NrZSBudXIgdm9uIGJlc3RpbW10ZW4gQmVudXR6ZWdydXBwZW4gZGVyIEFkbWluaXN0cmF0aW9uIGJlYXJiZWl0ZXQgd2VyZGVuLjxiciAvPgoJCQkJKE5hbWUgZGVyIEJlbnV0emVyZ3J1cHBlIGVpbnRyYWdlbjsgbWVocmVyZSBHcnVwcGVuIG1pdCBLb21tYSBnZXRyZW5udCkKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lZGl0b3JfdXNlcnM8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPgoJCQkJRGllc2VyIFBhcmFtZXRlciBpc3QgJmF1bWw7aG5saWNoIGRlbiAiWnVzJmF1bWw7dHpsaWNoZW4gQmVhcmJlaXRlcm4iIGVpbmVyIFNlaXRlLiBFciBnaWx0IGFsbGVyZGluZ3MgbnVyIGYmdXVtbDtyIGVpbnplbG5lIEluaGFsdHNibCZvdW1sO2NrZS48YnIgLz4KCQkJCU1pdCBkaWVzZW0gUGFyYW1ldGVyIGsmb3VtbDtubmVuIEluaGFsdHNibCZvdW1sO2NrZSBudXIgdm9uIGJlc3RpbW10ZW4gQmVudXR6ZXJuIGRlciBBZG1pbmlzdHJhdGlvbiBiZWFyYmVpdGV0IHdlcmRlbi48YnIgLz4KCQkJCShOYW1lIGRlcyBCZW51dHplcnMgZWludHJhZ2VuOyBtZWhyZXJlIEJlbnV0emVyIG1pdCBLb21tYSBnZXRyZW5udCkKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxlbT48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IHdlbm4gZGllIFBhcmFtZXRlciA8dHQ+ZWRpdG9yX3VzZXJzPC90dD4gdW5kIDx0dD5lZGl0b3JfZ3JvdXBzPC90dD4gbmljaHQgdmVyd2VuZGV0IHdlcmRlbiwgayZvdW1sO25uZW4gZGllIEJsJm91bWw7Y2tlIHZvbiBqZWRlbSBCZW51dHplciBiZWFyYmVpdGV0IHdlcmRlbi48YnIgLz4KCURpZSBXZXJ0ZSBoYWJlbiBrZWluZW4gRWluZmx1c3MsIHdlbm4gZGVyIEJlbnV0emVyIGRlciBHcnVwcGUgIkFkbWluIiBhbmdlaCZvdW1sO3J0LjxiciAvPgoJVW0gZWluZW0gQmVudXR6ZXIgenUgZXJsYXViZW4gYWxsZSBJbmhhbHRzYmwmb3VtbDtja2UgdW5hYmgmYXVtbDtuZ2lnIHZvbiBkZW4gYmVpZGVuIFBhcmFtZXRlcm4genUgYmVhcmJlaXRlbiwgbXVzcyBkZXIgQmVudXR6ZXIgZWluZXIgR3J1cHBlIGFuZ2VoJm91bWw7cmVuLCBkaWUgZGllIEJlcmVjaHRpZ3VuZyAiTWFuYWdlIGFsbCBBZHZhbmNlZENvbnRlbnQgQmxvY2tzIiBoYXQuPC9lbT48YnIgLz48YnIgLz4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5mZXVfYWNjZXNzPC90dD4KCQk8dWw+CgkJCTxsaT4KCQkJCURpZXNlciBQYXJhbWV0ZXIgbGVndCBmZXN0LCB3ZWxjaGUgQmVudXR6ZXJncnVwcGVuIGRlcyBGcm9udEVuZFVzZXJzIE1vZHVscyBkaWVzZW4gQmxvY2sgYXVmIGRlciBJbnRlcm5ldHNlaXRlIHNlaGVuIGQmdXVtbDtyZmVuLjxiciAvPgoJCQkJKElEIGRlciBCZW51dHplcmdydXBwZSBhbmdlYmVuOyBtZWhyZXJlIElEcyBtaXQgS29tbWEgZ2V0cmVubnQpPGJyIC8+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZmV1X2FjdGlvbjwvdHQ+ICh0cnVlL2ZhbHNlKQoJCTx1bD4KCQkJPGxpPgoJCQkJRGllc2VyIFBhcmFtZXRlciBnaWJ0IGFuLCBvYiBhbnN0ZWxsZSBkZXMgSW5oYWx0c2Jsb2NrcyBkYXMgTG9naW4tRm9ybXVsYXIgZGVzIEZyb250RW5kVXNlcnMgTW9kdWxzIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbCwgd2VubiBkaWVzZXIgQmxvY2sgbnVyIGYmdXVtbDtyIGJlc3RpbW10ZSBCZW51dHplcmdydXBwZW4gZnJlaWdlZ2ViZW4gdW5kIGRlciBCZXN1Y2hlciBuaWNodCBlaW5nZWxvZ2d0IGlzdC48YnIgLz4KCQkJCTxlbT48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IERhcyBGb3JtdWxhciB3aXJkIG51ciBlaW4gZWluemlnZXMgTWFsIGFuZ2V6ZWlndC48L2VtPjxiciAvPgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmZldV9oaWRlPC90dD4gKHRydWUvZmFsc2UpCgkJPHVsPgoJCQk8bGk+CgkJCQlEaWVzZXIgUGFyYW1ldGVyIGdpYnQgYW4sIG9iIGVpbiAmb3VtbDtmZmVudGxpY2hlciBCbG9jayBhdXNnZWJsZW5kZXQgd2VyZGVuIHNvbGwsIHdlbm4gZGVyIEJlc3VjaGVyIGVpbmdlbG9nZ3QgaXN0LjxiciAvPgoJCQkJU3RhbmRhcmQgaXN0IGZhbHNlLjxiciAvPgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmFsbG93X25vbmU8L3R0PiAodHJ1ZS9mYWxzZSkKCQk8dWw+CgkJCTxsaT5HaWJ0IGFuLCBvYiBkZXIgQmxvY2sgbGVlciBzZWluIGRhcmYgb2RlciBuaWNodC48YnIgLz4KCQkJV2VubiBkaWVzZXIgV2VydCBhdWYgZmFsc2UgZ2VzZXR6dCB3aXJkIHVuZCBkZXIgSW5oYWx0IGRlcyBCbG9ja3MgaXN0IGxlZXIsIHdpcmQgZGVyIFdlcnQgZGVzIFBhcmFtZXRlcnMgZGVmYXVsdCB2ZXJ3ZW5kZXQuPGJyIC8+CgkJCVd1cmRlIGRlciBCbG9jayBtaXQgZGVtIFBsdWdpbiB7Y29udGVudF9pbWFnZX0gZXJzdGVsbHQsIGZlaGx0IGRpZSBPcHRpb24gIk5pY2h0cyIgaW0gQmlsZC1Ecm9wZG93bi48L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnNtYXJ0eTwvdHQ+ICh0cnVlL2ZhbHNlKQoJCTx1bD4KCQkJPGxpPgoJCQkJU2NoYWx0ZXQgZGllIFZlcmFyYmVpdHVuZyBkZXIgUGFyYW1ldGVyd2VydGUgbWl0IEhpbGZlIHZvbiBTbWFydHkgZWluL2F1cy48YnIgLz4KCQkJCVdlbm4gZGllc2VyIFdlcnQgYXVmIHRydWUgZ2VzZXR6dCB3aXJkLCB3aXJkIGplZGVyIFBhcmFtZXRlciBtaXQgSGlsZmUgZGVyIFNtYXJ0eSBUZW1wbGF0ZSBFbmdpbmUgdmVyYXJiZWl0ZXQuPGJyIC8+CgkJCQk8ZW0+PHN0cm9uZz5IaW53ZWlzOiA8L3N0cm9uZz4gRGllIFdlcnRlIG0mdXVtbDtzc2VuIGFscyBTbWFydHktU3ludGF4IGdla2VubnplaWNobmV0IHdlcmRlbi4gSGllciBrJm91bWw7bm5lbiBhYmVyIG5pY2h0IFN0YW5kYXJkIFNtYXJ0eS1CZWdyZW56ZXIgKHsuLi59KSB2ZXJ3ZW5kZXQgd2VyZGVuLCBkYSBlcyB6dSBGZWhsZXJuIGF1ZiBkZXIgSW50ZXJuZXRzZWl0ZSBmJnV1bWw7aHJ0LjxiciAvPgoJCQkJRGFoZXIgd2VyZGVuIHN0YXR0ZGVzc2VuIGRpZSBaZWljaGVuIDo6OiBhbHMgQmVncmVuemVyIHZlcndlbmRldC48YnIgLz48L2VtPgoJCQkJQnNwLjogPGNvZGU+e2NvbnRlbnQgYmxvY2s9JnF1b3Q7S2F0ZWdvcmllbiZxdW90OyBsYWJlbD0mcXVvdDtXJmF1bWw7aGxlbiBTaWUgZWluZSBLYXRlZ29yaWUmcXVvdDsgYmxvY2tfdHlwZT0mcXVvdDtkcm9wZG93biZxdW90OyBpdGVtcz0mcXVvdDs6OjpnbG9iYWxfY29udGVudCBuYW1lPSYjMDM5O2NhdGVnb3J5bGlzdCYjMDM5Ozo6OiZxdW90OyBzbWFydHk9JnF1b3Q7dHJ1ZSZxdW90O308L2NvZGU+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZGVzY3JpcHRpb248L3R0PiAoc3RyaW5nKSAKCQk8dWw+CgkJCTxsaT5FaW5lIGRldGFpbGllcnRlcmUgQmVzY2hyZWlidW5nIGRlcyBJbmhhbHRzYmxvY2tzLjwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+Y29sbGFwc2U8L3R0PiAodHJ1ZS9mYWxzZSkKCQk8dWw+CgkJCTxsaT4KCQkJCUdpYnQgYW4sIG9iIGVpbiBCbG9jayBpbiBkZXIgQWRtaW5pc3RyYXRpb24gYmVpbSBCZWFyYmVpdGVuIHZvbiBTZWl0ZW4gZWluLSAodHJ1ZSkgb2RlciBhdXNnZWtsYXBwdCAoZmFsc2UpIHNlaW4gc29sbC48YnIgLz4KCQkJCTxlbT48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IGlzdCBpbW1lciBmYWxzZSwgd2VubiBkZXIgUGFyYW1ldGVyIG5vX2NvbGxhcHNlPXRydWUgdmVyd2VuZGV0IHdpcmQuPC9lbT48YnIgLz4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5ub19jb2xsYXBzZTwvdHQ+ICh0cnVlL2ZhbHNlKQoJCTx1bD4KCQkJPGxpPgoJCQkJV2VubiBkaWVzZXIgV2VydCBhdWYgZmFsc2UgZ2VzZXR6dCBpc3QsIGthbm4gZGVyIEJsb2NrZSBuaWNodCB6dXNhbW1lbmdla2xhcHB0IHdlcmRlbi48YnIgLz4KCQkJCTxlbT48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IHdlbm4gZGVyIFdlcnQgYXVmIHRydWUgZ2VzZXR6dCBpc3QsIGlzdCBkZXIgUGFyYW1ldGVyIGNvbGxhcHNlIGF1dG9tYXRpc2NoIGltbWVyIGZhbHNlLjwvZW0+PGJyIC8+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+cmVxdWlyZWQ8L3R0PiAodHJ1ZS9mYWxzZSkKCQk8dWw+CgkJCTxsaT4KCQkJCUdpYnQgYW4sIG9iIGVpbiBCbG9jayBlaW4gUGZsaWNodGZlbGQgaXN0ICh0cnVlKSBvZGVyIG5pY2h0IChmYWxzZSkuPGJyIC8+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+CjxwPjxzdHJvbmc+WnVzJmF1bWw7dHpsaWNoZSBQYXJhbWV0ZXIgZiZ1dW1sO3IgVGV4dC1CbCZvdW1sO2NrZTo8L3N0cm9uZz48L3A+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5jb2xzPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQlEaWUgQnJlaXRlIChpbiBTcGFsdGVuKSBkZXMgVGV4dGZlbGRlcy4gKGZ1bmt0aW9uaWVydCBudXIgbWl0IGRlbSBQYXJhbWV0ZXIgd3d5c2l3eWc9ZmFsc2UpPGJyIC8+CgkJCQlTdGFuZGFyZCBpc3QgODAuCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+cm93czwvdHQ+IChpbnQpIAoJCTx1bD4KCQkJPGxpPgoJCQkJRHVlIEgmb3VtbDtoZSAoaW4gWmVpbGVuKSBkZXMgVGV4dGZlbGRlcy4gKGZ1bmt0aW9uaWVydCBudXIgbWl0IGRlbSBQYXJhbWV0ZXIgd3d5c2l3eWc9ZmFsc2UpPGJyIC8+CgkJCQlTdGFuZGFyZCBpc3QgMTUuCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YXV0b19yZXNpemU8L3R0PiAodHJ1ZS9mYWxzZSkgCgkJPHVsPgoJCQk8bGk+CgkJCQlBdWYgZmFsc2Ugc2V0emVuLCB1bSBkaWUgYXV0b21hdGlzY2hlIEgmb3VtbDtoZW5iZXJlY2hubmcgZGVzIFRleHRmZWxkZXMgenUgZGVha3RpdmllcmVuLCB3ZW5uIGRpZSBBbnphaGwgZGVyIFplaWxlbiBlcnJlaWNodCB3dXJkZS48YnIgLz4KCQkJCVN0YW5kYXJkIGlzdCB0cnVlLjxiciAvPgoJCQkJPGVtPjxzdHJvbmc+SGlud2Vpczo8L3N0cm9uZz4gRGllIGF1dG9tYXRpc2NoZSAgSCZvdW1sO2hlbmJlcmVjaG5uZyBmdW5rdGlvbmllcnQgbnVyIG1pdCBkZW0gUGFyYW1ldGVyIHd3eXNpd3lnPWZhbHNlPC9lbT4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KPC91bD4KPHA+PHN0cm9uZz5QYXJhbWV0ZXIgZiZ1dW1sO3IgQ2hlY2tib3hlbjo8L3N0cm9uZz4ga2VpbmUgd2VpdGVyZW4gUGFyYW1ldGVyLjxiciAvPgo8ZW0+PHN0cm9uZz5IaW53ZWlzOjwvc3Ryb25nPiB2ZXJ3ZW5kZW4gU2llIGRlbiBQYXJhbWV0ZXIgZGVmYXVsdD0xIHVtIGVpbmUgQ2hlY2tib3ggYWxzIFZvcmVpbnN0ZWxsdW5nIHp1IGFrdGl2aWVyZW48L2VtPgo8L3A+CjxwPjxzdHJvbmc+UGFyYW1ldGVyIGYmdXVtbDtyIENvbG9ycGlja2VyOjwvc3Ryb25nPiBrZWluZSB3ZWl0ZXJlbiBQYXJhbWV0ZXI8L3A+CjxwPjxzdHJvbmc+UGFyYW1ldGVyIGYmdXVtbDtyIFNsaWRlcjo8L3N0cm9uZz4gKHNpZWhlIGF1Y2ggRG9rdW1lbnRhdGlvbiBkZXMgdmVyd2VuZGV0ZW4galF1ZXJ5IFNsaWRlciBQbHVnaW5zKTwvcD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmZyb208L3R0PiAoaW50KSAKCQk8dWw+CgkJCTxsaT4KCQkJCVN0YXJ0d2VydAoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgo8L3VsPgo8dWw+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+dG88L3R0PiAoaW50KSAKCQk8dWw+CgkJCTxsaT4KCQkJCUVuZHdlcnQKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KPC91bD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnN0ZXA8L3R0PiAoaW50KSAKCQk8dWw+CgkJCTxsaT4KCQkJCVrDpGhsc2Nocml0dGUgaW4gZGVuZW4gZGllIFdlcnRlIGdlw6RuZGVydCB3ZXJkZW4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KPC91bD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnJvdW5kPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQlTdGVsbGVuIG5hY2ggZGVtIEtvbW1hCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5oZXRlcm9nZW5laXR5PC90dD4gKHN0cmluZykgCgkJPHVsPgoJCQk8bGk+CgkJCQlUb0RvCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kaW1lbnNpb248L3R0PiAoc3RyaW5nKSAKCQk8dWw+CgkJCTxsaT4KCQkJCUVpbmhlaXQgaGludGVyIGRlbiBXZXJ0ZW4uCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5saW1pdHM8L3R0PiAodHJ1ZS9mYWxzZSkgCgkJPHVsPgoJCQk8bGk+CgkJCQlUb0RvCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zY2FsZTwvdHQ+IChzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJVG9EbwoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgo8L3VsPgo8dWw+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c2tpbjwvdHQ+IChzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJQXVzc2VoZW4gZGVzIHNsaWRlcnMKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KPC91bD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmNhbGN1bGF0ZTwvdHQ+IChzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJRWluZSBKYXZhc2NyaXB0LUZ1bmt0aW9uIHp1ciBCZXJlY2hudW5nIGRlciBhbmdlemVpZ3RlbiBXZXJ0ZQoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgo8L3VsPgo8dWw+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+b25zdGF0ZWNoYW5nZTwvdHQ+IChzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJRWluZSBKYXZhc2NyaXB0LUZ1bmt0aW9uIGRpZSBhdXNnZWbDvGhydCB3ZXJkZW4gc29sbCwgc29iYWxkIGRlciBXZXJ0IGdlw6RuZGVydCB3aXJkCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5jYWxsYmFjazwvdHQ+IChzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJRWluZSBKYXZhc2NyaXB0LUZ1bmt0aW9uIGRpZSBhdXNnZWbDvGhydCB3ZXJkZW4gc29sbCwgbmFjaGRlbSBkZXIgV2VydCBnZcOkbmRlcnQgd3VyZGUKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KPC91bD4KPHA+PHN0cm9uZz5QYXJhbWV0ZXIgZiZ1dW1sO3IgRHJvcGRvd25zL01laHJmYWNoYXVzd2FobDo8L3N0cm9uZz48L3A+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5pdGVtczwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+RGllIEJlemVpY2hudW5nIGRlciBlaW56ZWxuZW4gRWludHImYXVtbDtnZS4gKG1pdCBlaW5lbSBiZXN0aW1tdGVuIFplaWNoZW4gZ2V0cmVubnQgLSBTdGFuZGFyZCBpc3QgfCAocGlwZSkpPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD52YWx1ZXM8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPkRpZSBXZXJ0ZSBkZXIgZWluemVsbmVuIEVpbnRyJmF1bWw7Z2UuIChtaXQgZWluZW0gYmVzdGltbXRlbiBaZWljaGVuIGdldHJlbm50IC0gU3RhbmRhcmQgaXN0IHwgKHBpcGUpKTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8ZW0+PHN0cm9uZz5IaW53ZWlzOjwvc3Ryb25nPiB3ZW5uIGVzIHdlbmlnZXIgV2VydGUgYWxzIEJlemVpY2hudW5nZW4gZ2lidCwgd2VyZGVuIGRpZSByZXN0bGljaGVuIEJlemVpY2hudW5nZW4gYWxzIFdlcnRlIHZlcndlbmRldCAodW5kIHVtZ2VrZWhydCkuPC9lbT48YnIgLz48YnIgLz4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZWZhdWx0PC90dD4gKHN0cmluZykKCQk8dWw+CgkJCTxsaT4KCQkJCUF1c2dldyZhdW1sO2hsdGUgU3RhbmRhcmR3ZXJ0ZSAobWl0IGVpbmVtIGJlc3RpbW10ZW4gWmVpY2hlbiBnZXRyZW5udCAtIFN0YW5kYXJkIGlzdCB8IChwaXBlKSk8YnIgLz4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxlbT48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IFZlcndlbmRlbiBTaWUgbnVyIGRpZSA8c3Ryb25nPldlcnRlPC9zdHJvbmc+IGRlciBFaW50csOkZ2UgYWxzIFN0YW5kYXJkd2VydCwgbmljaHQgZGllIEJlemVpY2hudW5nZW4gZGVyIEVpbnRyJmF1bWw7Z2UuPC9lbT48YnIgLz48YnIgLz4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZWxpbWl0ZXI8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPkRhcyBUcmVubnplaWNoZW4gbWl0IGRlbSBkaWUgQmV6ZWljaG51bmdlbiwgV2VydGUgdW5kIFN0YW5kYXJkd2VydGUgdm9uZWluYW5kZXIgZ2V0cmVubnQgd2VyZGVuLiAoU3RhbmRhcmQgaXN0IHwgKHBpcGUpKTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c2l6ZTwvdHQ+IChpbnRlZ2VyKQoJCTx1bD4KCQkJPGxpPkRpZSBIJm91bWw7aGUgZGVzIElucHV0ZmVsZGVzLCB3ZW5uIDxjb2RlPmJsb2NrX3R5cGU9JnF1b3Q7c2VsZWN0X211bHRpcGxlJnF1b3Q7PC9jb2RlPiB2ZXJ3ZW5kZXQgd2lyZC48ZW0+KFN0YW5kYXJkIGlzdCBkaWUgQW56YWhsIGRlciBFaW50ciZhdW1sO2dlKTwvZW0+PC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zb3J0YWJsZTwvdHQ+ICh0cnVlL2ZhbHNlKSAtIG51ciBiZWkgc2VsZWN0X211bHRpcGxlCgkJPHVsPgoJCQk8bGk+CgkJCQlXaXJkIGRpZXNlciBXZXJ0IGF1ZiB0cnVlIGdlc2V0enQsIHdlcmRlbiBkaWUgRWludHImYXVtbDtnZSBuaWNodCBhbHMgTWVocmZhY2hhdXN3YWhsZmVsZCBhbmdlemVpZ3QsIHNvbmRlcm4gYWxzIGVpbmUgTGlzdGUgbWl0IENoZWNrYm94ZW4sIGRpZSBuZXUgc29ydGllcnQgd2VyZGVuIGthbm4uPGJyIC8+SmVkZSBaZWlsZSBlaW50aCZhdW1sO2x0IGRpZSBCZXplaWNobnVuZyBkZXMgRWludHJhZ3MgdW5kIGVpbmUgQ2hlY2tib3ggbWl0IGRlbSBXZXJ0IGRlcyBFaW50cmFncy48YnIgLz4KCQkJCTxlbT48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IEVzIHdpcmQgbnVyIGRpZSBSZWloZW5mb2xnZSBkZXIgPHN0cm9uZz5hdXNnZXcmYXVtbDtobHRlbjwvc3Ryb25nPiBFaW50ciZhdW1sO2dlIGdlc3BlaWNoZXJ0LiBBdXNnZXcmYXVtbDtobHRlIEVpbnRyJmF1bWw7Z2Ugd2VyZGVuIGltbWVyIGFscyBlcnN0ZXMgYW5nZXplaWd0LjxiciAvPgoJCQkJTmljaHQgYXVzZ2V3JmF1bWw7aGx0ZSBFaW50ciZhdW1sO2dlIHN0ZWhlbiBkYXJ1bnRlciBpbiBkZXIgUmVpaGVuZm9sZ2UsIHdpZSBzaWUgaW0gVGVtcGxhdGUgZGVmaW5pZXJ0IHd1cmRlbi48L2VtPgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgo8L3VsPgo8cD48c3Ryb25nPlBhcmFtZXRlciBmJnV1bWw7ciBEYXR1bXNibCZvdW1sO2NrZTo8L3N0cm9uZz48L3A+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zdGVwX2hvdXJzPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQlaJmF1bWw7aGxzY2hyaXR0ZSBkZXIgU3R1bmRlbiBpbSBVaHJ6ZWl0LURyb3Bkb3duLiAoU3RhbmRhcmQgaXN0IDEpCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c3RhcnRfaG91cjwvdHQ+IChpbnQpIAoJCTx1bD4KCQkJPGxpPgoJCQkJQmVnaW5uIGRlciBTdHVuZGVuIGltIFVocnplaXQtRHJvcGRvd24uIChTdGFuZGFyZCBpc3QgMCkKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lbmRfaG91cjwvdHQ+IChpbnQpIAoJCTx1bD4KCQkJPGxpPgoJCQkJRW5kZSBkZXIgU3R1bmRlbiBpbSBVaHJ6ZWl0LURyb3Bkb3duLiAoU3RhbmRhcmQgaXN0IDEyIG9kZXIgMjMgLSBhYmgmYXVtbDtuZ2lnIHZvbSBQYXJhbWV0ZXIgc2hvdzI0aCkKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zaG93MjRoPC90dD4gKHRydWUvZmFsc2UpIAoJCTx1bD4KCQkJPGxpPgoJCQkJV2VubiBkaWVzZXIgV2VydCBhdWYgZmFsc2UgZ2VzZXR6dCB3aXJkLCB3ZXJkZW4gZGllIFN0dW5kZW4gaW4gMTJoIEFuemVpZ2UgbWl0IEFNL1BNIGFuZ2V6ZWlndC4gKFN0YW5kYXJkIGlzIHRydWUpCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c3RlcF9taW51dGVzPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQlaJmF1bWw7aGxzY2hyaXR0ZSBkZXIgTWludXRlbiBpbSBVaHJ6ZWl0LURyb3Bkb3duLiAoU3RhbmRhcmQgaXMgMTApCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c3RhcnRfbWludXRlPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQlCZWdpbm4gZGVyIE1pbnV0ZW4gaW0gVWhyemVpdC1Ecm9wZG93bi4gKFN0YW5kYXJkIGlzdCAwKQoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmVuZF9taW51dGU8L3R0PiAoaW50KSAKCQk8dWw+CgkJCTxsaT4KCQkJCUVuZGUgZGVyIE1pbnV0ZW4gaW0gVWhyemVpdC1Ecm9wZG93bi4gKFN0YW5kYXJkIGlzdCA1OSkKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zaG93X2Nsb2NrPC90dD4gKHRydWUvZmFsc2UpIAoJCTx1bD4KCQkJPGxpPgoJCQkJV2VubiBkaWVzZXIgV2VydCBhdWYgZmFsc2UgZ2VzZXR6dCBpc3QsIHdpcmQga2VpbiBVaHJ6ZWl0LURyb3Bkb3duIGFuZ2V6ZWlndC4gKFN0YW5kYXJkIGlzdCB0cnVlKTxiciAvPgoJCQkJPGVtPjxzdHJvbmc+SGlud2Vpczo8L3N0cm9uZz4gQmVpIGZhbHNlIHdpcmQgYWxzIFVocnplaXQgMDA6MDAgVWhyIGdlc3BlaWNoZXJ0PC9lbT4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kYXRlX2Zvcm1hdDwvdHQ+IChzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJRGFzIHN0cmZ0aW1lIERhdHVtc2Zvcm1hdCBmJnV1bWw7ciBkaWUgQW56ZWlnZSBhdWYgZGVyIEludGVybmV0c2VpdGUuCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cgo8cD48c3Ryb25nPlBhcmFtZXRlciBmJnV1bWw7ciAmcXVvdDttdWx0aV9pbnB1dCZxdW90Ozo8L3N0cm9uZz48L3A+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5pbnB1dHM8L3R0PgoJCTx1bD4KCQkJPGxpPgoJCQkJRWluZSBMaXN0ZSB2b24gSW5wdXQtSURzLCBkaWUgaW4gZGVuIE1vZHVsZWluc3RlbGx1bmdlbiBlcnN0ZWxsdCB3dXJkZW4uIChtZWhyZXJlIFdlcnRlIG1pdCBLb21tYSBnZXRyZW5udCk8YnIgLz4KCQkJCUVzIGsmb3VtbDtubmVuIGRpZXNlbGJlbiBJRHMgbWVocmZhY2ggdmVyd2VuZGV0IHdlcmRlbi4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD52YWx1ZV9kZWxpbWl0ZXI8L3R0PiAoYW55IHN0cmluZykgCgkJPHVsPgoJCQk8bGk+CgkJCQlFaW4gVHJlbm56ZWljaGVuIGYmdXVtbDtyIGRpZSBlaW56ZWxuZW4gV2VydGUgZGVzIGpld2VpbGlnZW4gTXVsdGlJbnB1dHMuPGJyIC8+CgkJCQlTdGFuZGFyZCBpc3QgJnF1b3Q7Jmx0OyEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxsaW1pdGVyIC0tJmd0OyZxdW90OwoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmlucHV0X2RlbGltaXRlcjwvdHQ+IChhbnkgc3RyaW5nKSAKCQk8dWw+CgkJCTxsaT4KCQkJCUVpbiBUcmVubnplaWNoZW4gZiZ1dW1sO3IgZGllIGVpbnplbG5lbiBNdWx0aUlucHV0cy48YnIgLz4KCQkJCVN0YW5kYXJkIGlzdCAmcXVvdDsmbHQ7IS0tIG11bHRpX2lucHV0X2RlbGxpbWl0ZXIgLS0mZ3Q7JnF1b3Q7CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPHA+PHN0cm9uZz5XYXMgaXN0IGVpbiBtdWx0aV9pbnB1dD88L3N0cm9uZz48L3A+CgkJPHA+RWluIG11bHRpX2lucHV0IGlzdCBlaW4gQmxvY2ssIGRlciBhdXMgbWVocmVyZW4gSW5wdXRmZWxkZXJuIGJlc3RlaGVuIGthbm4uPGJyIC8+CgkJRGllc2UgayZvdW1sO25uZW4gaW4gZGVuIE1vZHVsZWluc3RlbGx1bmdlbiBmZXN0Z2VsZWd0IHdlcmRlbi4gRGFiZWkgZ2lsdCBmJnV1bWw7ciBqZWRlbiBtdWx0aV9pbnB1dCBkZXJzZWxiZSBTeW50YXggd2llIGluIGVpbmVtIFNlaXRlbnRlbXBsYXRlIGJlaW0gRXJzdGVsbGVuIGVpbmVzIEluaGFsdHNibG9ja3MuPGJyIC8+CgkJTXVsdGlJbnB1dHMgayZvdW1sO25uZW4gdmVyd2VuZGV0IHdlcmRlbiwgdW0gdmVyc2NoaWVkZW5lIFdlcnRlIGluIGVpbmVtIGVpbnppZ2VuIEluaGFsdHNibG9jayB6dSBzcGVpY2hlcm4sIHdvYmVpIGYmdXVtbDtyIGplZGVuIFdlcnQgdW50ZXJzY2hpZWRsaWNoZSBJbnB1dGZlbGRlciB2ZXJ3ZW5kZXQgd2VyZGVuIGsmb3VtbDtubmVuLjxiciAvPgoJCURpZXNlIEJsJm91bWw7Y2tlIGthbm4gbWFuIHouQi4gdmVyd2VuZGVuLCB1bSBlaW5lIExpc3RlIG1pdCBNb2R1bGVuIHVuZCB6dWdlaCZvdW1sO3JpZ2VuIFBhcmFtZXRlcm4gYW56dXplaWdlbi48YnIgLz4KCQlCZWlzcGllbCBlaW5lcyBNdWx0aUlucHV0cyBpbSBTZWl0ZW50ZW1wbGF0ZTo8L3A+CgkJPHByZT4KCQk8Y29kZT4KCQl7Y29udGVudCBibG9jaz0mcXVvdDttb2R1bGUmcXVvdDsgbGFiZWw9JnF1b3Q7U2VpdGVubW9kdWxlJnF1b3Q7IGJsb2NrX3R5cGU9JnF1b3Q7bXVsdGlfaW5wdXQmcXVvdDsgaW5wdXRzPSZxdW90O21vZHVsZSxtb2R1bGUsbW9kdWxlLG1vZHVsZSZxdW90O30KCQk8L2NvZGU+CgkJPC9wcmU+CgkJPHA+QmVpc3BpZWwgZiZ1dW1sO3IgZWluZW4gTXVsdGlJbnB1dCBkZXIgJnV1bWw7YmVyIGRpZSBNb2R1bGVpbnN0ZWxsdW5nIGVyc3RlbGx0IHdlcmRlbiBrYW5uIChOYW1lPSZxdW90O21vZHVsZSZxdW90Oyk6PC9wPgoJCTxwcmU+CgkJPGNvZGU+CgkJe2NvbnRlbnQgYmxvY2s9JnF1b3Q7bW9kdWxlIHNlbGVjdGlvbiZxdW90OyBibG9ja190eXBlPSZxdW90O2Ryb3Bkb3duJnF1b3Q7IGl0ZW1zPSZxdW90O3xOZXdzfEdhbGxlcnl8TWVudSZxdW90O30KCQl7Y29udGVudCBibG9jaz0mcXVvdDttb2R1bGUgcGFyYW1zJnF1b3Q7IGJsb2NrX3R5cGU9JnF1b3Q7dGV4dCZxdW90OyBvbmVsaW5lPXRydWV9CgkJPC9jb2RlPgoJCTwvcHJlPgoJCTxwPldpZSBzaWVodCBkYXMgbnVuIGJlaW0gQmVhcmJlaXRlbiBlaW5lciBTZWl0ZSBhdXM/PC9wPgoJCTxwPkVzIHdpcmQgZWluIEZpZWxkc2V0IG1pdCBkZXIgTGVnZW5kZSAmcXVvdDtTZWl0ZW5tb2R1bGUmcXVvdDsgYW5nZXplaWd0LiA8YnIgLz4KCQlJbiBkaWVzZW0gRmllbGRzZXQgd2lyZCBkZXIgTXVsdGlJbnB1dCAmcXVvdDttb2R1bGUmcXVvdDsgdmllcm1hbCBhbmdlemVpZ3QuPGJyIC8+CgkJRC5oLiBlcyBnaWJ0IHZpZXIgWmVpbGVuIG1pdCBqZSB6d2VpIElucHV0ZmVsZGVybi4gRWluIERyb3Bkb3duIHVuZCBlaW4gZWluemVpbGlnZXMgVGV4dGlucHV0LjwvcD4KCQk8cD5XYXMgd2lyZCBnZXNwZWljaGVydD88L3A+CgkJPHA+RGFzIE1vZHVsIHNwZWljaGVydCBkaWUgV2VydGUgYWxzIGVpbmVuIGVpbnplbG5lbiBJbmhhbHRzYmxvY2suIERhYmVpIHdlcmRlbiBkaWUgZWluemVsbmVuIElucHV0ZmVsZGVyIG1pdCBkZW0gaW5wdXRfZGVsaW1pdGVyIHZvbmVpbmFuZGVyIGdldHJlbm50IHVuZCBkZXJlbiBXZXJ0IG1pdCBkZW0gaW5wdXRfdmFsdWVfZGVsaW1pdGVyLjxiciAvPgoJCU5laG1lbiB3aXIgbWFsIGFuLCBlcyB3dXJkZSBkYXMgTmV3c21vZHVsIHZpZXJtYWwgYXVzZ2V3JmF1bWw7aGx0LCBqZWRvY2ggbWl0IHVudGVyc2NoaWVkbGljaGVuIFBhcmFtZXRlcm4gd2llIHouQi4gY2F0ZWdvcnk9JnF1b3Q7MSZxdW90OywgY2F0ZWdvcnk9JnF1b3Q7MiZxdW90OywgY2F0ZWdvcnk9JnF1b3Q7MyZxdW90OywgY2F0ZWdvcnk9JnF1b3Q7NCZxdW90Oy48YnIgLz4KCQlJbiBkZXIgRGF0ZW5iYW5rIHdpcmQgZm9sZ2VuZGVzIGYmdXVtbDtyIGRpZXNlbiBCbG9jayBnZXNwZWljaGVydDo8L3A+CgkJPHByZT4KCQk8Y29kZT4KCQlOZXdzJmx0OyEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxpbWl0ZXIgLS0mZ3Q7Y2F0ZWdvcnk9IjEiJmx0OyEtLSBtdWx0aV9pbnB1dF9kZWxpbWl0ZXIgLS0mZ3Q7PGJyIC8+CgkJTmV3cyZsdDshLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tJmd0O2NhdGVnb3J5PSIyIiZsdDshLS0gbXVsdGlfaW5wdXRfZGVsaW1pdGVyIC0tJmd0OzxiciAvPgoJCU5ld3MmbHQ7IS0tIG11bHRpX2lucHV0X3ZhbHVlX2RlbGltaXRlciAtLSZndDtjYXRlZ29yeT0iMyImbHQ7IS0tIG11bHRpX2lucHV0X2RlbGltaXRlciAtLSZndDs8YnIgLz4KCQlOZXdzJmx0OyEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxpbWl0ZXIgLS0mZ3Q7Y2F0ZWdvcnk9IjQiCgkJPC9jb2RlPgoJCTwvcHJlPgoJCTxwPkltIFNlaXRlbnRlbXBsYXRlIGthbm4gbWFuIG51biBkZW4gSW5oYWx0IGRpZXNlcyBCbG9ja3MgYW5oYW5kIGRlciBUcmVubnplaWNoZW4gYXVmdGVpbGVuIHVuZCBkaWUgYXVzZ2V3JmF1bWw7aGx0ZW4gTW9kdWxlIGlua2wuIGlocmVyIGpld2VpbGlnZW4gUGFyYW1ldGVyIGF1ZnJ1ZmVuLjwvcD4KCQk8cD5Lb21wbGV0dGVzIEJlaXNwaWVsOjwvcD4KCQk8cHJlPgoJCTxjb2RlPgoJCXsqIEluaGFsdHNibG9jayBlcnN0ZWxsZW4gdW5kIGRlciBWYXJpYWJsZSAkbW9kdWxlcyB6dXdlaXNlbiAqfQoJCXtjb250ZW50IGJsb2NrPSZxdW90O21laW5lX3NlaXRlbm1vZHVsZSZxdW90OyBibG9ja190eXBlPSZxdW90O211bHRpX2lucHV0JnF1b3Q7IGlucHV0cz0mcXVvdDtNb2R1bGUsTW9kdWxlLE1vZHVsZSxNb2R1bGUmcXVvdDsgYXNzaWduPSZxdW90O21vZHVsZXMmcXVvdDt9CgkJCgkJeyogSW5oYWx0IGRlciBWYXJpYWJsZSAkbW9kdWxlcyBpbiBlaW4gQXJyYXkgYXVmdGVpbGVuIHVuZCBpbiBkZXIgVmFyaWFibGUgJG1vZHVsZXMgc3BlaWNoZXJuOyBzb21pdCBoYWJlbiB3aXIgZGllIE11bHRpSW5wdXRzICp9CgkJe2Fzc2lnbiB2YXI9bW9kdWxlcyB2YWx1ZT0mcXVvdDsmbHQ7IS0tIG11bHRpX2lucHV0X2RlbGltaXRlciAtLSZndDsmcXVvdDt8ZXhwbG9kZTokbW9kdWxlc30KCQkKCQl7KiBqZWRlbiBNdWx0aUlucHV0IGR1cmNoZ2VoZW4gKn0KCQl7Zm9yZWFjaCBmcm9tPSRtb2R1bGVzIGl0ZW09JnF1b3Q7bW9kdWxlJnF1b3Q7fQoJCQl7aWYgJG1vZHVsZSAhPSAnJ30KCQkJCgkJCQl7KiBkaWUgV2VydGUgZGVzIE11bHRpSW5wdXRzIGluIGVpbiBBcnJheSBhdWZ0ZWlsZW47IHNvbWl0IGhhYmVuIHdpciBNb2R1bG5hbWUgdW5kIFBhcmFtZXRlciAqfQoJCQkJe2Fzc2lnbiB2YXI9bW9kdWxlX2l0ZW1zIHZhbHVlPSZxdW90OyZsdDshLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tJmd0OyZxdW90O3xleHBsb2RlOiRtb2R1bGV9CgkJCQkKCQkJCXtpZiAkbW9kdWxlX2l0ZW1zWzBdICE9ICYjMDM5OyYjMDM5O30KCQkJCQoJCQkJCXsqIE1vZHVsIGF1ZnJ1ZmVuICp9CgkJCQkJe2lmIGlzc2V0KCRtb2R1bGVfaXRlbXNbMV0pfQoJCQkJCQl7ZXZhbCB2YXI9JHNtYXJ0eS5sZGVsaW18Y2F0OidjbXNfbW9kdWxlIG1vZHVsZT0iJ3xjYXQ6JG1vZHVsZV9pdGVtc1swXXxjYXQ6JyIgJ3xjYXQ6JG1vZHVsZV9pdGVtc1sxXXxjYXQ6JHNtYXJ0eS5yZGVsaW19CgkJCQkJe2Vsc2V9CgkJCQkJCXtldmFsIHZhcj0kc21hcnR5LmxkZWxpbXxjYXQ6J2Ntc19tb2R1bGUgbW9kdWxlPSInfGNhdDokbW9kdWxlX2l0ZW1zWzBdfGNhdDonIid8Y2F0OiRzbWFydHkucmRlbGltfQoJCQkJCXsvaWZ9CgkJCQkJCgkJCQl7L2lmfQoJCQkJCgkJCXsvaWZ9CgkJCgkJey9mb3JlYWNofQoJCTwvY29kZT4KCQk8L3ByZT4KCTwvbGk+CjwvdWw+Cgo8aDM+U3VwcG9ydDwvaDM+CjxwPkRpZXNlcyBNb2R1bCBiaWV0ZXQga2VpbmUga29tbWVyemllbGxlIFVudGVyc3QmdXVtbDt0enVuZy4gRXMgZ2lidCBqZWRvY2ggZWluaWdlIE0mb3VtbDtnbGljaGtlaXRlbiwgSGlsZmUgenUgZmluZGVuOjwvcD4KPHVsPgoJPGxpPkRpZSBIb21wYWdlIGRlcyBQcm9qZWt0ZXMgaXN0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIvIj5odHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2NvbnRlbnQyLzwvYT48L2xpPgoJPGxpPldlaXRlcmUgRGlza3Vzc2lvbmVuIGdpYnQgZXMgYXXDn2VyZGVtIGluIGRlbiBDTVMgTWFkZSBTaW1wbGUgRm9yZW46PGJyIC8+Cgk8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5kZSI+aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUuZGU8L2E+PGJyIC8+Cgk8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPmh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZzwvYT48L2xpPgo8L3VsPgo8YnIgLz4KPHA+Qml0dGUgbWVsZGVuIFNpZSBGZWhsZXIgb2RlciBWZXJiZXNzZXJ1bmdzdm9yc2NobCZhdW1sO2dlIGF1ZiBkZXIgUHJvamVrdC1Ib21lcGFnZS48L3A+CjxoMz5Db3B5cmlnaHQgdW5kIExpemVuejwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxMC0yMDExLCBHZW9yZyBCdXNjaCAoTmFOKSA8YSBocmVmPSJtYWlsdG86Z2VvcmcuYnVzY2hAZ214Lm5ldCI+Jmx0O2dlb3JnLmJ1c2NoQGdteC5uZXQmZ3Q7PC9hPi4gQWxsZSBSZWNodGUgdm9yYmVoYWx0ZW4uPC9wPgo8cD5EaWVzZXMgTW9kdWwgd3VyZGUgdW50ZXIgZGVyIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPiB2ZXImb3VtbDtmZmVudGxpY2h0LiBTaWUgbSZ1dW1sO3NzZW4gZGllc2VyIExpemVueiB6dXN0aW1tZW4sIGJldm9yIFNpZSBkYXMgTW9kdWwgdmVyd2VuZGVuLjwvcD4KPHA+CglMYXV0IGRlbiBOdXR6dW5nc2Jlc3RpbW11bmdlbiBkZXIgR1BMIHdpcmQgZGllc2UgU29mdHdhcmUgc28gdmVyJm91bWw7ZmZlbnRsaWNodCB3aWUgc2llIGlzdC48YnIgLz4KCVNpZSBlcmhlYnQga2VpbmVybGVpIEFuc3BydWNoIGF1ZiBlaW53YW5kZnJlaWUgRnVua3Rpb24uPGJyIC8+CglEYXMgTW9kdWwgd3VyZGUgZXJzdGVsbHQsIGluIGRlciBIb2ZmbnVuZyBuJnV1bWw7dHpsaWNoIHp1IHNlaW4uPGJyIC8+CglFcyBiZXN0ZWh0IGtlaW5lcmxlaSBHYXJhbnRpZSBhdWYgZWluZW4gZWlud2FuZGZyZWllbiBOdXR6ZW4uPGJyIC8+CglCaXR0ZSBsZXNlbiBTaWUgZGllIE51dHp1bmdzYmVkaW5ndW5nZW4gZiZ1dW1sO3IgYXVzZiZ1dW1sO2hybGljaGUgSW5mb3JtYXRpb25lbi4KPC9wPgo8YnIgLz4KPGgzPlBhcmFtZXRlcjwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIERpZXNlciBQYXJhbWV0ZXIgbGVndCBkaWUgU3ByYWNoZSBmZXN0LCBkaWUgdm9tIE1vZHVsIGYmdXVtbDtyIGRpZSBBdXNnYWJlIGF1ZiBkZXIgV2Vic2VpdGUgdmVyd2VuZGV0IHdpcmQuIERpZXMgd2lyZCBqZWRvY2ggbmljaHQgdm9uIGFsbGVuIE1vZHVsZW4gdW50ZXJzdCZ1dW1sO3R6dCBiencuIGJlbiZvdW1sO3RpZ3QuPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0b3I6IEdlb3JnIEJ1c2NoIChOYU4pPGJyIC8+PGJyIC8+VmVyc2lvbiA6IDAuOC4xPGJyIC8+PGJyIC8+JkF1bWw7bmRlcnVuZ3N2ZXJsYXVmOjxiciAvPjxkaXYgc3R5bGU9ImZsb2F0OnJpZ2h0Ij48Zm9ybSBhY3Rpb249Imh0dHBzOi8vd3d3LnBheXBhbC5jb20vY2dpLWJpbi93ZWJzY3IiIG1ldGhvZD0icG9zdCI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNtZCIgdmFsdWU9Il9zLXhjbGljayIgLz4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaG9zdGVkX2J1dHRvbl9pZCIgdmFsdWU9IkZBMkQzRlBMU1RBS0oiIC8+CjxpbnB1dCB0eXBlPSJpbWFnZSIgc3JjPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2VuX0dCL2kvYnRuL2J0bl9kb25hdGVfTEcuZ2lmIiBib3JkZXI9IjAiIG5hbWU9InN1Ym1pdCIgYWx0PSJQYXlQYWwgLSBUaGUgc2FmZXIsIGVhc2llciB3YXkgdG8gcGF5IG9ubGluZS4iIC8+CjxpbWcgYWx0PSIiIGJvcmRlcj0iMCIgc3JjPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2RlX0RFL2kvc2NyL3BpeGVsLmdpZiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgLz4KPC9mb3JtPjwvZGl2PjxiciAvPgo8cD48c3Ryb25nPk1vZHVsZSByZWxlYXNlczwvc3Ryb25nPi4uLjwvcD4KPHVsPgoJPGxpPjxwPjxzdHJvbmc+MC44LjEgKFNlcHRlbWJlciAyMDExKTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tIFNlY3VyaXR5IEJ1Z2ZpeDwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGNvbXBhdGliaWxpdHkgYnVnZml4IGZvciBDTVNtcyAxLjEwPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gZml4ZWQgIldhcm5pbmc6IFBhcmFtZXRlciBbLi4uXSBpcyBub3Qga25vd24gYnkgbW9kdWxlIEZyb250RW5kVXNlcnMiIHdoZW4gcmVkaXJlY3RpbmcgdW5hdXRob3JpemVkIHVzZXJzIGFuZCB1c2luZyBjdXN0b20gdXJsIHBhcmFtcy4gPGJyIC8+KGFkZGVkIG9wdGlvbnMgIkZFVSBQYXJhbXMiIGFuZCAiQ3VzdG9tIHBhcmFtcyIpPC9wPjwvbGk+CgkJCQk8L3VsPgoJCQk8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPjxwPjxzdHJvbmc+MC44IC8gMC42LjUgKE1heSAyMDExKTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tIFsjNjI2NV0gKENhbGwtdGltZSBwYXNzLWJ5LXJlZmVyZW5jZSB3YXJuaW5ncyk8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBtaXNzZWQgcGFyYW0gbm9fY29sbGFwc2U8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJCTxsaT48cD5GZWF0dXJlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gaGlkZSBtZW51IGVudHJ5IGlmIG5vIGFjY2VzcyB0byB2aWV3IHRoZSBwYWdlPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gaW5oZXJpdGFuY2Ugb2YgcmVkaXJlY3QgcGFyYW1zLCBleHBpcmUgZGF0ZTwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGRlZmF1bHQgc2V0dGluZ3MgZm9yIGV4cGlyZSBkYXRlPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gYWRkZWQgYmxvY2tfdHlwZXMgc2xpZGVyL2NvbG9ycGlja2VyICh0aGFua3MgdG8gbmljbWFyZSk8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBhZGRlZCBhIHdhcm5pbmcgd2hlbiB1bmluc3RhbGxpbmcgdGhlIG1vZHVsZTwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT48cD48c3Ryb25nPjAuNi40IChNYXIgMjAxMSk6PC9zdHJvbmc+PC9wPgoJCTx1bD4KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSBbIzYyNDFdIChJc3N1ZSB3aXRoIHBhcmFtIGRlZmF1bHQpPC9wPjwvbGk+CgkJCQkJPGxpPjxwPmZhdGFsIGVycm9yIGluIEFkdmFuY2VkQ29udGVudC5tb2R1bGUucGhwPC9wPjwvbGk+CgkJCQk8L3VsPgoJCQk8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPjxwPjxzdHJvbmc+MC43LjIgLyAwLjYuMyAoTWFyIDIwMTEpOjwvc3Ryb25nPjwvcD4KCQk8dWw+CgkJCTxsaT48cD5CdWdmaXhlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gWyM1NzM0XSBQYXJhbWV0ZXIgYmxvY2tfZ3JvdXAgaXMgbm90IGtub3duIGJ5IG1vZHVsZSBBZHZhbmNlZENvbnRlbnQ8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBbIzYwMTRdIGhlYWRlciBwcm9ibGVtIHdpdGggbXVsdGktaW5wdXQ8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBbIzYwMzhdIGNvbnRlbnRfaW1hZ2UgcmVzcGVjdGl2ZWx5IGJsb2NrX3R5cGU9ImltYWdlIiBkb2Vzbid0IHdvcms8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBbIzYwMzldIHRlbXBsYXRlIGNhbid0IGJlIHN3aXRjaGVkPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gWyM2MDYxXSBpc3N1ZSB3aXRoIHRoZSByZWRpcmVjdCBmb3IgZmV1IG5vbiBtYXRjaDwvcD48L2xpPgoJCQkJCTxsaT48cD4tIFsjNjA5NV0gUGFyYW1ldGVyIHNvcnRhYmxlIGlzIG5vdCBrbm93biA8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+PHA+PHN0cm9uZz4wLjcuMSAoTm92IDIwMTApIC8gMC42LjMgKE1hciAyMDExKTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tIGZpeGVkIGJ1ZyBpdGVtICM1NjUxIChyZWRpcmVjdCBpZiBmcm9udGVuZCB1c2VyIGhhcyBubyBhY2NlcyB0byB0aGF0IHBhZ2UgZGlkIG5vdCB3b3JrIHByb3Blcmx5KTwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBmZXVfYWNjZXNzPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gZmV1X2FjdGlvbjwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGNvbGxhcHNlPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gcmVxdWlyZWQ8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+PHA+PHN0cm9uZz4wLjcgKE5vdiAyMDEwKTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tIGNvbXBhdGliaWxpdHkgYnVnZml4ZXMgZm9yIENNU21zIDEuOSsgKG5lZWRzIENNU21zIDEuOSBtaW5pbXVtIG5vdyk8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJCTxsaT48cD5GZWF0dXJlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gbm9fY29sbGFwc2U8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+PHA+PHN0cm9uZz4wLjYuMiAoTm92IDIwMTApOjwvc3Ryb25nPjwvcD4KCQk8dWw+CgkJCTxsaT48cD5CdWdmaXhlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gbWlub3IgYnVnZml4IChzaG93ZWQgdGFicyBvZiBwcmV2aW91cyB0ZW1wbGF0ZSB3aGVuIHRlbXBsYXRlIHdhcyBjaGFuZ2VkKTwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT48cD48c3Ryb25nPjAuNi4xIChOb3YgMjAxMCk6PC9zdHJvbmc+PC9wPgoJCTx1bD4KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSBzZXZlcmFsIGJ1Z2ZpeGVzPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gY29tcGF0aWJpbGl0eSBidWdmaXhlcyBmb3IgQ01TbXMgMS45PC9wPjwvbGk+CgkJCQk8L3VsPgoJCQk8L2xpPgoJCQk8bGk+PHA+RmVhdHVyZXM6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tIGFkZGVkIGJsb2NrX3R5cGUgbXVsdGlfaW5wdXQ8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+PHA+PHN0cm9uZz4wLjYgKE9jdCAyMDEwKTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tIHNldmVyYWwgYnVnZml4ZXM8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJCTxsaT48cD5GZWF0dXJlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gYmxvY2tfZ3JvdXA8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJCTxsaT48cD5NaXNjOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSBSZW1vdmVkIGZpbGUgcGlja2VyIChhbmQgYXNzb2NpYXRlZCBibG9ja190eXBlcyBpbWFnZS9maWxlKSAtIHVzZSBHQkZpbGVQaWNrZXIgaW5zdGVhZC48L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+PHA+PHN0cm9uZz4wLjUgKFNlcHQgMjAxMCk6PC9zdHJvbmc+PC9wPgoJCTx1bD4KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+Zml4ZWQgYnVnIGl0ZW0gIzUyOTIgKG1lbW9yeSBpc3N1ZSk8L3A+PC9saT4KCQkJCQk8bGk+PHA+Zml4ZWQgYnVnIGl0ZW0gIzUyNTQgKGRpc2FibGUgd3lzaXd5ZyBub3Qgd29ya2luZyk8L3A+PC9saT4KCQkJCQk8bGk+PHA+Zml4ZWQgYnVnIGl0ZW0gIzUzMTAgKHVybG9ubHkgbm90IHdvcmtpbmcpPC9wPjwvbGk+CgkJCQkJPGxpPjxwPmZpeGVkIGJ1ZyBpdGVtICM1MzExIChpbWFnZSBwYXRocyBub3Qgc3RvcmVkICdjb3JyZWN0bHknKTwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+YWRkZWQgZmVhdHVyZSByZXF1ZXN0ICM1MjYxIChBZGQgc29ydCB0byBpbWFnZSB0eXBlIC0gbm90aWNlIHRoZSBjaGFuZ2Ugb2YgcGFyYW0gZmlsdGVyKTwvcD48L2xpPgoJCQkJCTxsaT48cD5hZGRlZCBwYXJhbXMgZXhjbHVkZV9wcmVmaXgsIGluY2x1ZGVfcHJlZml4LCBleGNsdWRlX3N1Zml4LCBpbmNsdWRlX3N1Zml4PC9wPjwvbGk+CgkJCQkJPGxpPjxwPmFkZGVkIGZlYXR1cmUgcmVxdWVzdCAjNTI1MyAoVGV4dCBpbnB1dCB0byBkZWZpbmUgYWRkIHBhcmFtcyB0byByZWRpcmVjdCBmdW5jdGlvbik8L3A+PC9saT4KCQkJCQk8bGk+PHA+YWRkZWQgZmVhdHVyZSByZXF1ZXN0ICM1MjQwIChEZWZhdWx0IHZhbHVlcyBvZiBBZHZhbmNlZENvbnRlbnQgcGFnZSBvcHRpb25zKTwvcD48L2xpPgoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNDEgKHB1dCBGZXVBY2Nlc3MgaW4gQmxvY2t0YWIpPC9wPjwvbGk+CgkJCQk8L3VsPgoJCQk8L2xpPgoJCQk8bGk+PHA+TWlzYzo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gQWR2YW5jZWRDb250ZW50IG9wdGlvbnMgYXJlIHNob3duIGluIHNlcGFyYXRlIHRhYjwvcD48L2xpPgoJCQkJCTxsaT48cD4tIEFkZGVkIG5ldyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0aGUgQWR2YW5jZWRDb250ZW50IG9wdGlvbnMgdGFiPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gcmVtb3ZlZCBwYXJhbSBmaWx0ZXIgKHVzZSBuZXcgcGFyYW1zIGluc3RlYWQpPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gcGF0aCB0byBmaWxlcyBhcmUgc3RvcmVkIHJlbGF0aXZlIHRvIHRoZSB1cGxvYWRzIGRpcjwvcD48L2xpPgoJCQkJCTxsaT48cD4tIHBhcmFtIGRpciBvZiBibG9jayB0eXBlIGZpbGUvaW1hZ2UgbmVlZHMgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyIG9ubHkgKHRoZXJlIGlzIG5vIGltYWdlIHVwbG9hZHMgZGlyIHVzZWQgYW55bW9yZSk8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+PHA+PHN0cm9uZz4wLjQuMSAoQXVndXN0IDIwMTApOjwvc3Ryb25nPjwvcD4KCQk8dWw+CgkJCTxsaT48cD5CdWdmaXhlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gIzUxNTE6IGZpeGVkIHN0eWxlc2hlZXQgaXNzdWUgd2l0aCBleHBhbmQvY29sbGFwc2UgYnV0dG9ucyBvZiBjb250ZW50IGJsb2NrcyBpbiBJRS9TYWZhcmkuPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gIzUxNjI6IFBIUCB3YXJuaW5ncyBpZiBiYWNrZW5kIHVzZXJzIHdpdGhvdXQgcGVybWlzc2lvbiAiTWFuYWdlIEFsbCBBZHZhbmNlZENvbnRlbnQgQmxvY2tzIiBvcGVuIGFuIGFkdmFuY2VkIGNvbnRlbnQgcGFnZSBhbmQgbXVsdGlwbGUgY29udGVudCBibG9ja3Mgb2Ygc2FtZSBuYW1lIHdlcmUgdXNlZCBpbiB0ZW1wbGF0ZS48L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBmaXhlZCBidWcgd2hlcmUgZXh0cmEgZmllbGRzIGNvdWxkIG5vdCBiZSB1cGRhdGVkLjwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBmZXUgYWNjZXNzIGRpZCBub3Qgd29yay48L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJCTxsaT48cD5GZWF0dXJlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gImRlbGV0ZSIgdG8gbGV0IHVzZXJzIGRlbGV0ZSBmaWxlcyBldmVuIGlmIG5vIHBlcm1pc3Npb24gIk1vZGlmeSBGaWxlcyI8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAiY3JlYXRlX2RpcnMiIHRvIGxldCB1c2VycyBjcmVhdGVfZGlycyBldmVuIGlmIG5vIHBlcm1pc3Npb24gIk1vZGlmeSBGaWxlcyI8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBhZGRlZCBuZXcgYmxvY2t0eXBlICJub3RlIiB0byBjcmVhdGUgc29tZSBzaW5nbGUgbm90ZXMgZm9yIHlvdXIgZWRpdG9yczwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQkJPGxpPjxwPk1pc2M6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tIHJlbW92ZWQgZGVwZW5kZW5jeSBvZiBGaWxlTWFuYWdlcjwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGJsb2NrIG9mIHR5cGUgZmlsZSBvciBpbWFnZSBzdG9yZXMgcmVsYXRpdmUgdXJsIG5vdzwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGJsb2NrIHR5cGUgaW1hZ2Ugc2hvd3MgdGh1bWJuYWlsIGluIGJhY2tlbmQgcHJldmlldyBpbnN0ZWFkIG9mIGZ1bGwgaW1hZ2U8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+PHA+PHN0cm9uZz4wLjQgKEp1bHkgMjAxMCk6PC9zdHJvbmc+PC9wPgoJCTx1bD4KCQkJPGxpPjxwPkltcG9ydGFudCBub3RpY2U6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tIGNoYW5nZWQgcGFyYW0gInR5cGUiIHRvICJibG9ja190eXBlIiBzaW5jZSBpdCBpbnRlcmZlcmVzIHdpdGgge2NvbnRlbnRfbW9kdWxlfSB0YWc8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJCTxsaT48cD5CdWdmaXhlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gIzUxMDE6IHBhZ2VfdGFiICJvcHRpb25zIiB3YXMgc2hvd24gdG8gdXNlcnMgd2l0aCBubyBwZXJtaXNzaW9uIHRvIGVkaXQgcGFnZSBvcHRpb25zIGlmIGEgY29udGVudCBibG9jayB3YXMgYXNzaWduZWQgdG8gdGhhdCB0YWIuPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gIzUwOTc6IGxpbmsgdG8gbWlzc2luZyBjc3MgcmVtb3ZlZDwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGZpeGVkIG1pbWUtdHlwZSBpc3N1ZSAoYWRkZWQgcHJlZmVyZW5jZSB0byB0b2dnbGUgbWltZS10eXBlIHVzYWdlIG9uL29mZik8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBmaXhlZCBwYXRoIGlzc3VlIHdoZXJlIHRodW1ibmFpbHMgd2VyZSBub3Qgc2hvd248L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBmaXhlZCBjb21wYXRpYmlsaXR5IHdpdGggQ01TbXMgMS44PC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gb3RoZXIgbWlub3IgYnVnZml4ZXM8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJCTxsaT48cD5GZWF0dXJlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gYWRkZWQgTUxFIHN1cHBvcnQ8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAic2hvd19jbG9jayIgdG8gZW5hYmxlL2Rpc2FibGUgdGhlIHRpbWUgZHJvcGRvd24gb2YgYmxvY2t0eXBlcyAiZGF0ZSIgaW4gYmFja2VuZDwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICJkYXRlX2Zvcm1hdCIgdG8gZm9ybWF0IHRpbWVzdGFtcCBvZiBibG9ja3R5cGVzICJkYXRlIiBpbiBmcm9udGVuZDwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICJkZXNjcmlwdGlvbiI8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBhZGRlZCBidWxrIGZ1bmN0aW9uIHRvIHNldCBhbGwgcGFnZXMgdG8gQWR2YW5jZWRDb250ZW50PC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gYWRkZWQgY29tcGF0aWJpbGl0eSB3aXRoIHtjb250ZW50X21vZHVsZX0gdGFnPC9wPjwvbGk+CgkJCQk8L3VsPgoJCQk8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPjxwPjxzdHJvbmc+MC4zLjQgKEp1bmUgMjAxMCk6PC9zdHJvbmc+PC9wPgoJCTx1bD4KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSAjNTA0NTogV2hlbiBzd2l0Y2hpbmcgZnJvbSBDb250ZW50IC0+IEFkdmFuY2VkIENvbnRlbnQgbG90cyBvZiBQSFAgZXJyb3JzPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gIzUwNTY6IHBhZ2VfdGFicyBub3Qgd29ya2luZyBmb3IgdXNlcnMgd2l0aG91dCBwZXJtaXNzaW9uICJNYW5hZ2UgQWxsIENvbnRlbnQiPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gIzUwNzM6IGluY29ycmVjdCBkaXNwbGF5IG9mIGZpbGVzIHdoZW4gb3BlbmluZyBmaWxlcGlja2VyPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gZml4ZWQgbWlub3IgYnVnIHdoZXJlIHRoZSBvcHRpb24gImFsbG93X25vbmUiIG9mIGNvbnRlbnQgYmxvY2tzIG9mIHR5cGUgaW1hZ2UvZmlsZSB3YXMgbm90IHNob3duIHdoZW4gdGVtcGxhdGUgaGFzIGJlZW4gZWRpdGVkPC9wPjwvbGk+CgkJCQk8L3VsPgoJCQk8L2xpPgoJCQk8bGk+PHA+RmVhdHVyZXM6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tIGFkZGVkIGZpbGVtYW5hZ2VtZW50IGFuZCB1cGxvYWQgZnVuY3Rpb25zIHRvIGNvbnRlbnQgYmxvY2tzIG9mIHR5cGUgaW1hZ2UvZmlsZTwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGFkZGVkIGJyZWFkY3VtYnMgdG8gZmlsZXBpY2tlcjwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGFkbWlucyBtYXkgYnJvd3NlIHRoZSBlbnRpcmUgZGlyIHRyZWUgaW4gZmlsZXBpY2tlciBmaWxlIGJyb3dzZXIgcmVnYXJkbGVzcyBvZiB0ZW1wbGF0ZSBwYXJhbXM8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBhZGRlZCBtaW1lIHR5cGUgY2hlY2tpbmcgdG8gZ2V0IGZpbGUgdHlwZTwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGFkZGVkIHJhd3VybGVuY29kZSBpbiBzcmMgYXR0cmlicyB0byBkaXNwbGF5IGltYWdlcyB3aXRoIHdlaXJkIGZpbGVuYW1lcy48L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJCTxsaT48cD5taXNjZWxsYW5lb3VzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSByZW1vdmVkIE9PUCBzdHVmZiAocHJpdmF0ZS9wdWJsaWMvcHJvdGVjdGVkKSB0byBnYWluIG1vcmUgY29tcGF0aWJpbGl0eSB3aXRoIFBIUDQ8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBjaGFuZ2VkIGFqYXggZnVuY3Rpb25zIHRvIHJldHVybiB4bWwgdmFsdWVzPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gcmVtb3ZlZCB1c2FnZSBvZiBJbWFnZU1hbmFnZXIgb25jZSBhbmQgZm9yIGFsbC4gKGNhdXNlZCBvbmx5IHRyb3VibGUpPC9wPjwvbGk+CgkJCQk8L3VsPgoJCQk8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPjxwPjxzdHJvbmc+MC4zLjMgKEp1bmUgMjAxMCk6PC9zdHJvbmc+PC9wPgoJPHVsPgoJCTxsaT48cD5CdWdmaXhlczo8L3A+CgkJCTx1bD4KCQkJCTxsaT48cD4tIGFsaWFzIHdhcyBub3QgYWx3YXlzIGNvbnZlcnRlZCBwcm9wZXJseTwvcD48L2xpPgoJCQkJPGxpPjxwPi0gdW5zdWJtaXR0ZWQgY29udGVudCBnb3QgbG9zdCBpZiBzd2l0Y2hpbmcgZnJvbSBDb250ZW50IHRvIEFkdmFuY2VkQ29udGVudDwvcD48L2xpPgoJCQk8L3VsPgoJCTwvbGk+CgkJPGxpPjxwPkZlYXR1cmVzOjwvcD4KCQkJPHVsPgoJCQkJPGxpPjxwPi0gYWRkZWQgc3RhcnQvZW5kIGRhdGU8L3A+PC9saT4KCQkJCTxsaT48cD4tIHJlbW92ZWQgdGltZXBpY2tlcjsgcmVwbGFjZWQgYnkgYSBzaW1wbGUgZHJvcGRvd248L3A+PC9saT4KCQkJCTxsaT48cD4tIGNvbXBhdGliaWxpdHkgd2l0aCB7Y29udGVudF9pbWFnZX08L3A+PC9saT4KCQkJPC91bD4KCQk8L2xpPgoJPC91bD4KCTxsaT48cD48c3Ryb25nPjAuMy4yIChKdW5lIDIwMTApOjwvc3Ryb25nPjwvcD4KCQk8dWw+CgkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBjaGFuZ2luZyBiYWNrIHRvIGRlZmF1bHQgY29udGVudCB0eXBlIG9yIGNoYW5naW5nIHRlbXBsYXRlIGNhdXNlZCBmYXRhbCBlcnJvcnM8L3A+PC9saT4KCQkJPGxpPjxwPi0gZml4ZWQgYSBidWcgd2l0aCBzbWFydHkgcHJvY2Vzc2luZyB3aGVuIHNhdmluZyBhIHBhZ2U8L3A+PC9saT4KCQkJPGxpPjxwPi0gZml4ZWQgYSBidWcgd2l0aCBwcmV2aWV3IHRhYjwvcD48L2xpPgoJCQk8bGk+PHA+LSByZS1hZGRlZCBleHBhbmQvY29sbGFwc2UgYnV0dG9uIHRvIHRvZ2dsZSBjb250ZW50IGJsb2NrcyBpbiBiYWNrZW5kPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtcyBlZGl0b3JfZ3JvdXBzL2VkaXRvcl91c2VycyB0byBzcGVjaWZ5IGNlcnRhaW4gdXNlcnMvZ3JvdXBzIHRoYXQgYXJlIGFsbG93ZWQgdG8gZWRpdCBjZXJ0YWluIGJsb2NrczwvcD48L2xpPgoJCQk8bGk+PHA+LSByZW1vdmVkIHBhcmFtcyBzZWxlY3RlZC9jaGVja2VkOyB1c2UgcGFyYW0gZGVmYXVsdCBpbnN0ZWFkPC9wPjwvbGk+CgkJCTxsaT48cD4tIGJsb2NrIGlkcyB3aWxsIGJlIGNvbnZlcnRlZCBmcm9tIGJsb2NrIG5hbWUgdXNpbmcgY29yZSBmdW5jdGlvbiBtdW5nZV9zdHJpbmdfdG9fdXJsICh0byByZW1vdmUgc3BlY2lhbCBjaGFycywgd2hpdGVzcGFjZXMsIHVtbGF1dHMgZXRjLik8L3A+PC9saT4KCQkJPGxpPjxwPi0gZml4ZWQgYnVnIG9mIGJsb2NrdHlwZSBkcm9wZG93bi9zZWxlY3RfbXVsdGlwbGUgd2hlcmUgZmlyc3QgaXRlbSBoYWQgYW4gZW1wdHkgbGFiZWwgaWYgb25seSB0aGUgcGFyYW0gInZhbHVlcyIgaXMgdXNlZDwvcD48L2xpPgoJCQk8bGk+PHA+LSBhZGRlZCBzb21lIHRlbXBsYXRlIHZhcnMgb2YgdGhlIGZyb250ZW5kIHRvIGJlIGFsc28gYWNjZXNzaWJsZSBpbiBiYWNrZW5kIChlLmcuOiBcJHBhZ2VfYWxpYXMpPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICJhbGxvd19ub25lIiB0byBhbGwgY29udGVudCBibG9jayB0eXBlcyB0byBzcGVjaWZ5IGlmIHRoZSBwcmVkZWZpbmVkIGRlZmF1bHQgdmFsdWUgd2lsbCBiZSB1c2VkIGlmIG5vIHZhbHVlIGlzIGVudGVyZWQ8L3A+PC9saT4KCQkJPGxpPjxwPi0gZml4ZWQgYnVnIHdoZXJlIGVtcHR5IHZhbHVlcyB3ZXJlIG5ldmVyIGJlIHN0b3JlZDwvcD48L2xpPgoJCQk8bGk+PHA+LSBmaXhlZCBidWcgd2hlcmUgZGVmYXVsdCB2YWx1ZSBpbiBmcm9udGVuZCB3YXMgaWdub3JlZCBpZiB0aGUgImFsbG93X25vbmUiIHBhcmFtIHdhcyBjaGFuZ2VkIGFmdGVyIGFuIGVtcHR5IHZhbHVlIGhhcyBiZWVuIHN0b3JlZDwvcD48L2xpPgoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAic29ydGFibGVfaXRlbXMiIHRvIGNyZWF0ZSBhIHNvcnRhYmxlIG11bHRpcGxlIHNlbGVjdCBsaXN0IChzZWxlY3QgbGlzdCB3aWxsIHJlc3VsdCBpbiBhIHRhYmxlIHdpdGggY2hlY2tib3hlczsgb25seSBvcmRlciBvZiBzZWxlY3RlZCBpdGVtcyB3aWxsIGJlIHN0b3JlZCBhbmQgc2hvd2VkIGF0IHRoZSB0b3Agb2YgdGhlIGxpc3Q7IHVuc2VsZWN0ZWQgaXRlbXMgd2lsbCBiZSBhcHBlbmRlZCBpbiB0aGF0IG9yZGVyIHRoZXkgYXJlIHBsYWNlZCBpbiB0aGUgdGVtcGxhdGUpPC9wPjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+PHA+PHN0cm9uZz4wLjMuMSAoTWF5IDIwMTApOjwvc3Ryb25nPjwvcD4KCQk8dWw+CgkJCTxsaT48cD4tIHJlbW92ZWQgdGhlIHJlb3JkZXJpbmcgc3R1ZmYgZm9yIG5vdyAoY2F1c2VzIHRyb3VibGUgYXQgdGhpcyB0aW1lKTwvcD48L2xpPgoJCQk8bGk+PHA+LSByZW1vdmVkIHRoZSBkYiBzdHVmZiAocGFyYW1zIG9mIGNvbnRlbnQgYmxvY2tzIHRoYXQgYXJlIGRlZmluZWQgaW4gdGVtcGxhdGUgd29uJ3QgYmUgc2F2ZWQgaW4gbW9kdWxlIGRiIHRhYmxlIGFueW1vcmUgLT4gaG9wZWZ1bGx5IHNwZWVkIHVwIGxvYWRpbmcgdGltZSk8L3A+PC9saT4KCQkJPGxpPjxwPi0gZml4ZWQgYSBidWcgd2l0aCBkdXBsaWNhdGUgY29udGVudCBibG9ja3M8L3A+PC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT4KCQk8cD48c3Ryb25nPkFkdmFuY2VkQ29udGVudCAwLjMgKE1heSAyMDEwKTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+LSByZXdyaXRlIGNvZGU8L3A+PC9saT4KCQkJPGxpPjxwPi0gYnVnZml4ZXM8L3A+PC9saT4KCQkJPGxpPjxwPi0gcmVuYW1lZCB0byBBZHZhbmNlZENvbnRlbnQ8L3A+PC9saT4KCQkJPGxpPjxwPi0gdXNpbmcgc2VwYXJhdGUgbW9kdWxlIHRlbXBsYXRlIG5vdyB0byBkc3BsYXkgY29udGVudCBibG9ja3M8L3A+PC9saT4KCQkJPGxpPjxwPi0gcmVtb3ZlZCBwYWdlIGFsaWFzIGluaGVyaXRhbmNlPC9wPjwvbGk+CgkJPC91bD4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT48cD48c3Ryb25nPlhDb250ZW50IEJFVEEgMyAoQXByaWwgMjAxMCAtIGRpc2NvbnRpbnVlZCk6PC9zdHJvbmc+PC9wPgoJCTx1bD4KCQkJPGxpPjxwPi0gTWFqb3IgQnVnZml4IChtaXNzaW5nICI7IiBhbmQgc3RyYW5nZSBpbnZpc2libGUgaW52YWxpZCBjaGFycyk8L3A+PC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT48cD48c3Ryb25nPlhDb250ZW50IEJFVEEgMiAoQXByaWwgMjAxMCAtIGRpc2NvbnRpbnVlZCk6PC9zdHJvbmc+PC9wPgoJCTx1bD4KCQkJPGxpPjxwPi0gZml4ZWQgYSBidWcgd2l0aCBwYXJhbSAiZGVsaW1pdGVyIjwvcD48L2xpPgoJCQk8bGk+PHA+LSBmaXhlZCBhIGJ1ZyB3aXRoIHNtYXJ0eSBwcm9jZXNzaW5nPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIGluaGVyaXRhbmNlIG9mICJTaG93IGxvZ2luIGZvcm0iPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIGluaGVyaXRhbmNlIG9mIHBhZ2UgYWxpYXMgdG8gYWRkIGl0IGFzIHByZWZmaXg7IHNvIGlmIHlvdSBoYXZlIGEgcGFnZSBjYWxsZWQgIm1lbWJlcnMiIGFuZCBzZWxlY3QgZm9yIGVhY2ggY2hpbGQgcGFnZSAiaW5oZXJpdCBwYWdlIGFsaWFzIiBhbGwgY2hpbGQgcGFnZXMgYWxpYXNlcyB3aWxsIHN0YXJ0IHdpdGggIm1lbWJlcnNfIjsgbWFrZXMgZmlsdGVyaW5nIG9mIG1lbnUgZW50cmllcyB3aXRoIE1lbnVNYW5hZ2VyIHBhcmFtICJleGNsdWRlcHJlZmZpeCIgb3IgImluY2x1ZGVwcmVmZml4IiBlYXNpZXIuPC9wPjwvbGk+CgkJCTxsaT48cD4tIG1pbm9yIGJ1Z2ZpeGVzPC9wPjwvbGk+IAoJCTwvdWw+Cgk8L2xpPgoJPGxpPgoJCTxwPjxzdHJvbmc+WENvbnRlbnQgQkVUQSAoQXByaWwgMjAxMCk6PC9zdHJvbmc+IGluaXRpYWwgcmVsZWFzZTwvcD4KCQk8dWw+CgkJCTxsaT48cD4tIGNvbnZlcnRlZCB0aGUgc2luZ2xlIGZpbGUgaW50byBhIG1vZHVsZTwvcD48L2xpPgoJCQk8bGk+PHA+LSByZW5hbWVkIHBhcmFtczsgc2VlIG1vZHVsZSBoZWxwIGZvciBtb3JlIGRldGFpbHM8L3A+PC9saT4KCQk8L3VsPgoJPC9saT4KPC91bD4KPHA+PHN0cm9uZz5TaW5nbGUgZmlsZSByZWxlYXNlcyAoZGlzY29udGludWVkKTwvc3Ryb25nPi4uLjwvcD4KPHVsPgoJPGxpPgoJCTxwPjxzdHJvbmc+MS40IChNYXJjaCAyMDEwKTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+LSBjbGVhbnVwIGNvZGUgLSAoTmFOKTwvcD48L2xpPgoJCQk8bGk+PHA+LSBtaW5vciBidWdmaXhlcyAtIChOYU4pPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIHJlZGlyZWN0IHBhZ2UgaWYgZmV1IGlzIG5vdCBsb2dnZWQgaW4gLSAoTmFOKTwvcD48L2xpPgoJCQk8bGk+PHA+LSBhZGRlZCBpbmhlcml0YW5jZSBvZiBmZXVfYWNjZXNzIGFuZCByZWRpcmVjdF9wYWdlIC0gKE5hTik8L3A+PC9saT4KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gZmV1X2FjY2VzcyAtIChOYU4pPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGZldV9hY3Rpb24gLSAoTmFOKTwvcD48L2xpPgoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSByZWRpcmVjdF9wYWdlIC0gKE5hTik8L3A+PC9saT4KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gYmxvY2tfb25seSAtIChOYU4pPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIHNtYXJ0eSBsb2dpYyBpbiBiYWNrZW5kIC0gKEplcmVteUJhc3MpPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIHN0eWxlIC0gKEplcmVteUJhc3MpPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGZpbHRlciAoZmlsdGVyaW5nIGltYWdlcyBpbiBiYWNrZW5kKSAtIChKZXJlbXlCYXNzKTwvcD48L2xpPgoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBJbWdNb2RlIChkcm9wZG93biBvciBJbWFnZU1hbmFnZXIpIC0gKEplcmVteUJhc3MpPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIHNtYXJ0eU9uIChmb3IgcHJvY2Vzc2luZyBzbWFydHkgdmFycyBvZiB0aGUgdGVtcGF0ZSBpbiBiYWNrZW5kKSAtIChKZXJlbXlCYXNzKTwvcD48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPjxwPjxzdHJvbmc+MS4zIChBcHJpbCAyMDA5KTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+LSBDTVNtcyAxLjYuKiByZWFkeSAtIChOYU4pPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIGZldSBhY2Nlc3Mgb3B0aW9uIC0gKE5hTik8L3A+PC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT4KCQk8cD48c3Ryb25nPjEuMiAoTWFyY2ggMjAwOSk6PC9zdHJvbmc+IGluaXRpYWwgcmVsZWFzZTwvcD4KCQk8dWw+CgkJCTxsaT48cD4tIEEgc2luZ2xlIGZpbGUgQ29udGVudDIuaW5jLnBocCB0aGF0IG5lZWRzIHRvIGJlIHBsYWNlZCBpbiBsaWIvY2xhc3Nlcy9jb250ZW50dHlwZXMuPC9wPjwvbGk+CgkJCTxsaT48cD4tIGxheW91dC9vcHRpb25zIG9mIGJhY2tlbmQgcGFuZWwgY2FuIGJlIGNvbnRyb2xlZCBieSBhZGRpdGlvbmFsIHNtYXJ0eSBwYXJhbXMgaW4gdGhlIHRlbXBsYXRlOyBpbnRlZ3JhdGVkIHRoZSB7Y29udGVudF9pbWFnZX0gdGFnIC0gKG1vZCBieSBOYU4pPC9wPjwvbGk+CgkJPC91bD4KCTwvbGk+CjwvdWw+CjxiciAvPjxiciAvPg==]]></about>
	<description><![CDATA[--Add Me - module:AdvancedContent string:admindescription--]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PEZpbGVzICouKj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICBvcmRlciBkZW55LGFsbG93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgZGVueSBmcm9tIGFsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8L0ZpbGVzPgo=]]></data>
	</file>
	<file>
	  <filename>/action.addMultiInput.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIE1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQojICAgICAgICAgIGEgY29udGVudCBtYW5hZ2VtZW50IHRvb2wgZm9yIENNUyBNYWRlIFNpbXBsZQojICAgICAgICAgIFRoZSBwcm9qZWN0cyBob21lcGFnZSBpcyBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2NvbnRlbnQyLwojICAgICAgICAgIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNC0yMDExIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBWZXJzaW9uOiAwLjguMQojIEZpbGUgICA6IGFjdGlvbi5hZGRNdWx0aUlucHV0LnBocAojIFB1cnBvc2U6IGFkZHMgYSBtdWx0aSBpbnB1dCBibG9ja3R5cGUKIyBMaWNlbnNlOiBHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKCmlmKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgQWR2YW5jZWRDb250ZW50IE11bHRpSW5wdXRzJykpCnsKCXJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsJHJldHVybmlkLCAkdGhpcy0+TGFuZygnZXJyb3JfcGVybWlzc2lvbnMnKSk7Cn0KCmlmKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkKewoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInPT4nbXVsdGlfaW5wdXQnKSk7Cn0KCiRlcnJvciA9IGZhbHNlOwokZXJyb3JtZXNzYWdlID0gJyc7CgokaW5wdXRfaWQgPSAnJzsKaWYoaXNzZXQoJHBhcmFtc1snaW5wdXRfaWQnXSkgJiYgIWVtcHR5KCRwYXJhbXNbJ2lucHV0X2lkJ10pKQp7CgkkaW5wdXRfaWQgPSBwcmVnX3JlcGxhY2UoJy8tKy8nLCdfJyxtdW5nZV9zdHJpbmdfdG9fdXJsKHRyaW0oJHBhcmFtc1snaW5wdXRfaWQnXSkpKTsKfQoKJGlucHV0X2ZpZWxkcyA9ICcnOwppZihpc3NldCgkcGFyYW1zWydpbnB1dF9maWVsZHMnXSkpCnsKCSRpbnB1dF9maWVsZHMgPSAkcGFyYW1zWydpbnB1dF9maWVsZHMnXTsKfQoKaWYoaXNzZXQoJHBhcmFtc1snaW5wdXRfdHBsJ10pKQp7CgkkaW5wdXRfdHBsID0gJHBhcmFtc1snaW5wdXRfdHBsJ107Cn0KZWxzZQp7CgkkaW5wdXRfdHBsID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfbXVsdGlfaW5wdXRfdHBsJywnbXVsdGlfaW5wdXRfU2FtcGxlVGVtcGxhdGUnKTsKfQoKIyMjIGRvIGFjdGlvbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCmlmKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkcGFyYW1zWydzdWJtaXQnXT09dHJ1ZSkKewoJaWYoJGlucHV0X2lkID09ICcnKQoJewoJCSRlcnJvciA9IHRydWU7CgkJJGVycm9ybWVzc2FnZSAuPSAkdGhpcy0+bGFuZygnZXJyb3JfaW5wdXRfaWQnKS4nPGJyIC8+JzsKCX0KCWlmKCRpbnB1dF9maWVsZHMgPT0gJycpCgl7CgkJJGVycm9yID0gdHJ1ZTsKCQkkZXJyb3JtZXNzYWdlIC49ICR0aGlzLT5sYW5nKCdlcnJvcl9pbnB1dF9maWVsZHMnKS4nPGJyIC8+JzsKCX0KCglpZigkZXJyb3I9PWZhbHNlKQoJewoJCWlmKCEkdGhpcy0+QWRkTXVsdGlJbnB1dCgkaW5wdXRfaWQsJGlucHV0X2ZpZWxkcykpCgkJewoJCQkkZXJyb3IgPSB0cnVlOwoJCQkkZXJyb3JtZXNzYWdlIC49ICR0aGlzLT5sYW5nKCdlcnJvcl9pbnB1dF9pZF9leGlzdHMnKS4nPGJyIC8+JzsKCQl9CgkJZWxzZSBpZighJHRoaXMtPkFkZFRwbEFzc29jKCdtdWx0aV9pbnB1dCcsJGlucHV0X2lkLCRpbnB1dF90cGwpKQoJCXsKCQkJJGVycm9yID0gdHJ1ZTsKCQkJJGVycm9ybWVzc2FnZSAuPSAkdGhpcy0+bGFuZygnZXJyb3JfdXBkYXRpbmdfbXVsdGlfaW5wdXRfYXNzb2NzJykuJzxiciAvPic7CgkJfQoJCWVsc2UKCQl7CgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdtZXNzYWdlJz0+J211bHRpX2lucHV0X2FkZGVkJywKCQkJCSdhY3RpdmVfdGFiJz0+J211bHRpX2lucHV0Jywnc3VibWl0Jz0+dHJ1ZSkpOwoJCX0KCX0KCn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIHNtYXJ0eSBzdHVmZgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2Zvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwKCSdhZGRNdWx0aUlucHV0JywgJHJldHVybmlkLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kX2Zvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTskdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLAoJbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLAoJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnY2FuY2VsJyxsYW5nKCdjYW5jZWwnKSkpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pZF90ZXh0JywkdGhpcy0+bGFuZygnaW5wdXRfaWQnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfaWRfaW5wdXQnLAoJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X2lkJywkaW5wdXRfaWQsNjQsMTI4KSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3RwbF90ZXh0JywkdGhpcy0+bGFuZygnbXVsdGlfaW5wdXRfdHBsJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3RwbF9pbnB1dCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnaW5wdXRfdHBsJywgJHRoaXMtPkdldFRwbExpc3QoJ211bHRpX2lucHV0JyksICcnLCAkaW5wdXRfdHBsKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpZWxkc190ZXh0JywkdGhpcy0+bGFuZygnaW5wdXRfZmllbGRzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpZWxkc19pbnB1dCcsCgkkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsJGlkLCRpbnB1dF9maWVsZHMsJ2lucHV0X2ZpZWxkcycsJycsJ2lucHV0X2ZpZWxkcycpKTsKCmlmKCRlcnJvcm1lc3NhZ2UhPScnKQp7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Vycm9ybWVzc2FnZScsJGVycm9ybWVzc2FnZSk7Cn0KCiMgRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCmVjaG8gJHRoaXMtPl9wcC4kdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZGRNdWx0aUlucHV0LnRwbCcpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.addMultiInputTpl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIE1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQojICAgICAgICAgIGEgY29udGVudCBtYW5hZ2VtZW50IHRvb2wgZm9yIENNUyBNYWRlIFNpbXBsZQojICAgICAgICAgIFRoZSBwcm9qZWN0cyBob21lcGFnZSBpcyBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2NvbnRlbnQyLwojICAgICAgICAgIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNC0yMDExIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBWZXJzaW9uOiAwLjguMQojIEZpbGUgICA6IGFjdGlvbi5hZGRNdWx0aUlucHV0VHBsLnBocAojIFB1cnBvc2U6IGFkZHMgYSB0ZW1wbGF0ZSBmb3IgbXVsdGkgaW5wdXQgYmxvY2t0eXBlCiMgTGljZW5zZTogR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgppZighJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEFkdmFuY2VkQ29udGVudCBNdWx0aUlucHV0IFRlbXBsYXRlcycpKQp7CglyZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2Vycm9yX3Blcm1pc3Npb25zJykpOwp9CgppZihpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpCnsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdhY3RpdmVfdGFiJz0+J211bHRpX2lucHV0X3RwbCcpKTsKfQoKJGVycm9yID0gZmFsc2U7CiRlcnJvcm1lc3NhZ2UgPSAnJzsKCiR0cGxfbmFtZSA9ICcnOwppZihpc3NldCgkcGFyYW1zWyd0cGxfbmFtZSddKSAmJiAhZW1wdHkoJHBhcmFtc1sndHBsX25hbWUnXSkpCnsKCSR0cGxfbmFtZSA9IHByZWdfcmVwbGFjZSgnLy0rLycsJ18nLG11bmdlX3N0cmluZ190b191cmwodHJpbSgkcGFyYW1zWyd0cGxfbmFtZSddKSkpOwp9CgokdGVtcGxhdGUgPSAnJzsKaWYoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGUnXSkpCnsKCSR0ZW1wbGF0ZSA9IHRyaW0oJHBhcmFtc1sndGVtcGxhdGUnXSk7Cn0KCiMjIyBkbyBhY3Rpb24gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgppZihpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgJiYgJHBhcmFtc1snc3VibWl0J109PXRydWUpCnsKCWlmKCR0cGxfbmFtZSA9PSAnJykKCXsKCQkkZXJyb3IgPSB0cnVlOwoJCSRlcnJvcm1lc3NhZ2UgLj0gJHRoaXMtPmxhbmcoJ2Vycm9yX3RwbF9uYW1lJykuJzxiciAvPic7Cgl9CglpZigkdGVtcGxhdGUgPT0gJycpCgl7CgkJJGVycm9yID0gdHJ1ZTsKCQkkZXJyb3JtZXNzYWdlIC49ICR0aGlzLT5sYW5nKCdlcnJvcl90ZW1wbGF0ZScpLic8YnIgLz4nOwoJfQoJaWYoJGVycm9yPT1mYWxzZSkKCXsKCQkkdGhpcy0+U2V0VGVtcGxhdGUoJ211bHRpX2lucHV0XycuJHRwbF9uYW1lLCAkdGVtcGxhdGUpOwoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdtZXNzYWdlJz0+J211bHRpX2lucHV0X3RwbF9hZGRlZCcsCgkJCSdhY3RpdmVfdGFiJz0+J211bHRpX2lucHV0X3RwbCcsJ3N1Ym1pdCc9PnRydWUpKTsKCX0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgc21hcnR5IHN0dWZmCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRfZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLAoJJ2FkZE11bHRpSW5wdXRUcGwnLCAkcmV0dXJuaWQsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRfZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOyR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsCglsYW5nKCdzdWJtaXQnKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsCgkkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLGxhbmcoJ2NhbmNlbCcpKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RwbF9uYW1lX3RleHQnLCR0aGlzLT5sYW5nKCd0cGxfbmFtZScpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0cGxfbmFtZV9pbnB1dCcsCgkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwndHBsX25hbWUnLCR0cGxfbmFtZSw2NCwxMjgpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigndGVtcGxhdGVfdGV4dCcsbGFuZygndGVtcGxhdGUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGVtcGxhdGVfaW5wdXQnLAoJJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCRpZCwkdGVtcGxhdGUsJ3RlbXBsYXRlJywnJywndGVtcGxhdGUnKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hlbHBfdGV4dCcsJHRoaXMtPmxhbmcoJ2hlbHBfdHBsX3ZhcnMnKSk7CgppZigkZXJyb3JtZXNzYWdlIT0nJykKewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlcnJvcm1lc3NhZ2UnLCRlcnJvcm1lc3NhZ2UpOwp9CgojIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQplY2hvICR0aGlzLT5fcHAuJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRkTXVsdGlJbnB1dFRwbC50cGwnKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIE1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQojICAgICAgICAgIGEgY29udGVudCBtYW5hZ2VtZW50IHRvb2wgZm9yIENNUyBNYWRlIFNpbXBsZQojICAgICAgICAgIFRoZSBwcm9qZWN0cyBob21lcGFnZSBpcyBkZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIvCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTEgYnkgVGVkIEt1bHAKIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGNtc21hZGVzaW1wbGUub3JnCiMgVmVyc2lvbjogMC44LjEKIyBGaWxlICAgOiBhY3Rpb24uZGVmYXVsdC5waHAKIyAgICAgICAgICBUaGlzIGZpbGUgaXMgYSBtb2RpZmljYXRpb24gb2YgdGhlIGRlZmF1bHQgcGx1Z2luIHtjb250ZW50fQojIFB1cnBvc2U6IHBlcmZvcm1zIHRoZSBkZWZhdWx0IGZyb250ZW5kIGFjdGlvbiBpZiB7QWR2YW5jZWRDb250ZW50fSBpcyB1c2VkLgojIExpY2Vuc2U6IEdQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgovKioKICoKICogQHRvZG86IGNoZWNrIGlmIHRoaXMgY2FuIGJlIGRvbmUgaW4gY29udGVudHR5cGUgaW4gZnVuY3Rpb24gU2hvdygpCiAqCiAqLwoKaWYoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKCmlmKGlzc2V0KCRwYXJhbXNbJ2FjdGl2ZSddKSAmJiAkdGhpcy0+SXNGYWxzZSgkcGFyYW1zWydhY3RpdmUnXSkpCnsKCXJldHVybjsgIyBkb24ndCBwcm9jZXNzIGluYWN0aXZlIGJsb2Nrcwp9CgokcmVzdWx0ICAgPSAnJzsKCiRibG9jayA9ICdjb250ZW50X2VuJzsKJG1haW5Db250ZW50ID0gdHJ1ZTsKCmlmKGlzc2V0KCRwYXJhbXNbJ2Jsb2NrJ10pICYmICRwYXJhbXNbJ2Jsb2NrJ10gIT0gJGJsb2NrKQp7CgkkbWFpbkNvbnRlbnQgPSBmYWxzZTsKCSRfYmxvY2sgPSBwcmVnX3JlcGxhY2UoJy8tKy8nLCdfJyxtdW5nZV9zdHJpbmdfdG9fdXJsKCRwYXJhbXNbJ2Jsb2NrJ10pKTsKCSRibG9jayA9ICRfYmxvY2s7Cn0KCiRkZWZhdWx0VmFsdWUgPSAnJzsKaWYoaXNzZXQoJHBhcmFtc1snZGVmYXVsdCddKSkKewoJJGRlZmF1bHRWYWx1ZSA9IHRyaW0oJHBhcmFtc1snZGVmYXVsdCddKTsKfQoKJGRvU21hcnR5ID0gZmFsc2U7CmlmKGlzc2V0KCRwYXJhbXNbJ3NtYXJ0eSddKSAmJiAkdGhpcy0+SXNUcnVlKCRwYXJhbXNbJ3NtYXJ0eSddKSAmJiBjbXNfdXRpbHM6OmdldF9jdXJyZW50X2NvbnRlbnQoKS0+VHlwZSgpID09ICdjb250ZW50MicpCnsKCSRkb1NtYXJ0eSA9IHRydWU7Cn0KCmlmKCRkb1NtYXJ0eSAmJiBjbXNfdXRpbHM6OmdldF9jdXJyZW50X2NvbnRlbnQoKS0+VHlwZSgpID09ICdjb250ZW50MicpCnsKCSRkZWZhdWx0VmFsdWUgPSBjbXNfdXRpbHM6OmdldF9jdXJyZW50X2NvbnRlbnQoKS0+RG9TbWFydHkoY21zX3V0aWxzOjpnZXRfY3VycmVudF9jb250ZW50KCktPl9jb250ZW50QmxvY2tzWyRibG9ja11bJ2RlZmF1bHQnXSk7Cn0KCiRhbGxvd05vbmUgPSB0cnVlOwppZihpc3NldCgkcGFyYW1zWydhbGxvd19ub25lJ10pICYmICR0aGlzLT5Jc0ZhbHNlKCRwYXJhbXNbJ2FsbG93X25vbmUnXSkpCnsKCSRhbGxvd05vbmUgPSBmYWxzZTsKfQoKaWYgKGlzX29iamVjdChjbXNfdXRpbHM6OmdldF9jdXJyZW50X2NvbnRlbnQoKSkgJiYgbWV0aG9kX2V4aXN0cyhjbXNfdXRpbHM6OmdldF9jdXJyZW50X2NvbnRlbnQoKSwnSWQnKSApCnsKCSRpZCAgICAgICAgID0gJyc7CgkkbW9kdWxlbmFtZSA9ICcnOwoJJGFjdGlvbiAgICAgPSAnJzsKCSRpbmxpbmUgICAgID0gZmFsc2U7CglpZiAoaXNzZXQoJF9SRVFVRVNUWydtb2R1bGUnXSkpCgl7CgkJJG1vZHVsZW5hbWUgPSAkX1JFUVVFU1RbJ21vZHVsZSddOwoJfQoJCglpZiAoaXNzZXQoJF9SRVFVRVNUWydpZCddKSkKCXsKCQkkaWQgPSAkX1JFUVVFU1RbJ2lkJ107Cgl9CgllbHNlaWYgKGlzc2V0KCRfUkVRVUVTVFsnbWFjdCddKSkKCXsKCQkkYXJ5ICAgICAgICA9IGV4cGxvZGUoJywnLCBjbXNfaHRtbGVudGl0aWVzKCRfUkVRVUVTVFsnbWFjdCddKSwgNCk7CgkJJG1vZHVsZW5hbWUgPSAoaXNzZXQoJGFyeVswXSk/JGFyeVswXTonJyk7CgkJJGlkICAgICAgICAgPSAoaXNzZXQoJGFyeVsxXSk/JGFyeVsxXTonJyk7CgkJJGFjdGlvbiAgICAgPSAoaXNzZXQoJGFyeVsyXSk/JGFyeVsyXTonJyk7CgkJJGlubGluZSAgICAgPSAoaXNzZXQoJGFyeVszXSkgJiYgJGFyeVszXSA9PSAxP3RydWU6ZmFsc2UpOwoJfQoJCglpZiAoaXNzZXQoJF9SRVFVRVNUWyRpZC4nYWN0aW9uJ10pKQoJewoJCSRhY3Rpb24gPSAkX1JFUVVFU1RbJGlkLidhY3Rpb24nXTsKCX0KCWVsc2UgaWYgKGlzc2V0KCRfUkVRVUVTVFsnYWN0aW9uJ10pKQoJewoJCSRhY3Rpb24gPSAkX1JFUVVFU1RbJ2FjdGlvbiddOwoJfQoJCglpZiAoIWlzc2V0KCRwYXJhbXNbJ2Jsb2NrJ10pICYmICgkaWQgPT0gJ2NudG50MDEnIHx8ICgkaWQgIT0gJycgJiYgJGlubGluZSA9PSBmYWxzZSkpKQoJewoJCSRjbXNtb2R1bGVzID0gJmNtc21zKCktPm1vZHVsZXM7CgkJCgkJaWYgKGlzc2V0KCRjbXNtb2R1bGVzKSkKCQl7CgkJCWZvcmVhY2ggKCRjbXNtb2R1bGVzIGFzICRrZXk9PiR2YWx1ZSkKCQkJewoJCQkJaWYgKHN0cnRvbG93ZXIoJG1vZHVsZW5hbWUpID09IHN0cnRvbG93ZXIoJGtleSkpCgkJCQl7CgkJCQkJJG1vZHVsZW5hbWUgPSAka2V5OwoJCQkJfQoJCQl9CgkJCQoJCQlpZiAoaXNzZXQoJG1vZHVsZW5hbWUpKQoJCQl7CgkJCQlpZiAoaXNzZXQoJGNtc21vZHVsZXNbJG1vZHVsZW5hbWVdKSkKCQkJCXsKCQkJCQlpZiAoaXNzZXQoJGNtc21vZHVsZXNbJG1vZHVsZW5hbWVdWydvYmplY3QnXSkKCQkJCQkJJiYgJGNtc21vZHVsZXNbJG1vZHVsZW5hbWVdWydpbnN0YWxsZWQnXSA9PSB0cnVlCgkJCQkJCSYmICRjbXNtb2R1bGVzWyRtb2R1bGVuYW1lXVsnYWN0aXZlJ10gPT0gdHJ1ZQoJCQkJCQkmJiAkY21zbW9kdWxlc1skbW9kdWxlbmFtZV1bJ29iamVjdCddLT5Jc1BsdWdpbk1vZHVsZSgpKQoJCQkJCXsKCQkJCQkJQG9iX3N0YXJ0KCk7CgkJCQkJCWZvcmVhY2goJHRoaXMtPkdldEFsbG93ZWRQYXJhbWV0ZXJzKCkgYXMgJGsgPT4gJHYpIHsKCQkJCQkJCXVuc2V0KCRwYXJhbXNbJGtdKTsKCQkJCQkJfQoJCQkJCQkKCQkJCQkJJHBhcmFtcyA9IGFycmF5X21lcmdlKCRwYXJhbXMsIEdldE1vZHVsZVBhcmFtZXRlcnMoJGlkKSk7CgkJCQkJCQoJCQkJCQkjIGNhbGd1eTEwMDAgLi4uIGluY3JlbWVudCB0aGUgbW9kdWxlbnVtCgkJCQkJCSNpZiB3ZSdyZSBub3QgaW4gaW5saW5lZCBtb2RlLgoJCQkJCQkjaWYoICRpZCAhPSAnY250bnQwMScgKQoJCQkJCQkjewoJCQkJCQkjIFRvRG86IGRvIG5vdCBtb2RpZnkgQ01TbXMgaW50ZXJuYWxzIGhlcmUhCgkJCQkJCSMJKytjbXNtcygpLT52YXJpYWJsZXNbIm1vZHVsZW51bSJdOwoJCQkJCQkjfQoJCQkJCQkKCQkJCQkJJHJldHVybmlkID0gJyc7CgkJCQkJCWlmIChpc3NldCgkcGFyYW1zWydyZXR1cm5pZCddKSkKCQkJCQkJewoJCQkJCQkJJHJldHVybmlkID0gJHBhcmFtc1sncmV0dXJuaWQnXTsKCQkJCQkJfQoJCQkJCQllbHNlCgkJCQkJCXsKCQkJCQkJCSRyZXR1cm5pZCA9IGNtc191dGlsczo6Z2V0X2N1cnJlbnRfY29udGVudCgpLT5JZCgpOwoJCQkJCQl9CgkJCQkJCSRyZXN1bHQgPSAkY21zbW9kdWxlc1skbW9kdWxlbmFtZV1bJ29iamVjdCddLT5Eb0FjdGlvbkJhc2UoJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOwoJCQkJCQlpZiAoJHJlc3VsdCAhPT0gRkFMU0UpCgkJCQkJCXsKCQkJCQkJCWVjaG8gJHJlc3VsdDsKCQkJCQkJfQoJCQkJCQkkbW9kcmVzdWx0ID0gQG9iX2dldF9jb250ZW50cygpOwoJCQkJCQlAb2JfZW5kX2NsZWFuKCk7CgkJCQkJCSRyZXN1bHQgPSAkbW9kcmVzdWx0OwoJCQkJCX0KCQkJCQllbHNlCgkJCQkJewoJCQkJCSAgJHJlc3VsdCA9ICI8IS0tIE5vdCBhIHRhZyBtb2R1bGUgLS0+XG4iOwoJCQkJCSAgQHRyaWdnZXJfZXJyb3IoJ0F0dGVtcHQgdG8gYWNjZXNzIG1vZHVsZSAnLiRrZXkuJyB3aGljaCBjb3VsZCBub3QgYmUgZm91bmUgKGlzIGl0IHByb3Blcmx5IGluc3RhbGxlZCBhbmQgY29uZmlndXJlZD8nKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9Cgl9CgllbHNlCgl7CgkJJG9sZHZhbHVlICAgICAgICAgICAgICAgICAgICAgPSBjbXNtcygpLT5HZXRTbWFydHkoKS0+Y2FjaGluZzsKCQljbXNtcygpLT5HZXRTbWFydHkoKS0+Y2FjaGluZyA9IGZhbHNlOwoJCSRjb250ZW50SWQgICAgICAgICAgICAgICAgICAgID0gY21zX3V0aWxzOjpnZXRfY3VycmVudF9jb250ZW50KCktPklkKCk7CgkJJHJlc3VsdCA9IGNtc21zKCktPkdldFNtYXJ0eSgpLT5mZXRjaChzdHJfcmVwbGFjZSgnICcsICdfJywgJ2NvbnRlbnQ6JyAuICRibG9jayksICcnLCAkY29udGVudElkKTsKCQljbXNtcygpLT5HZXRTbWFydHkoKS0+Y2FjaGluZyA9ICRvbGR2YWx1ZTsKCQkKCQlpZigkcmVzdWx0ID09ICcnICYmICEkYWxsb3dOb25lKQoJCXsKCQkJJHJlc3VsdCA9ICRkZWZhdWx0VmFsdWU7CgkJfQoJfQoJZWNobyB0cmltKCRyZXN1bHQpOwp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIE1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQojICAgICAgICAgIGEgY29udGVudCBtYW5hZ2VtZW50IHRvb2wgZm9yIENNUyBNYWRlIFNpbXBsZQojICAgICAgICAgIFRoZSBwcm9qZWN0cyBob21lcGFnZSBpcyBkZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIvCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTEgYnkgVGVkIEt1bHAKIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGNtc21hZGVzaW1wbGUub3JnCiMgVmVyc2lvbjogMC44LjEKIyBGaWxlICAgOiBhY3Rpb24uZGVmYXVsdGFkbWluLnBocAojIFB1cnBvc2U6IHBlcmZvcm1zIHRoZSBkZWZhdWx0IGJhY2tlbmQgYWN0aW9uIGlmICJFeHRlbnNpb25zLT5BZHZhbmNlZENvbnRlbnQiCiMgICAgICAgICAgaXMgc2VsZWN0ZWQKIyBMaWNlbnNlOiBHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKCmlmKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgQWR2YW5jZWRDb250ZW50IFByZWZlcmVuY2VzJykgCgkmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEFkdmFuY2VkQ29udGVudCBNdWx0aUlucHV0cycpIAoJJiYgISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBBZHZhbmNlZENvbnRlbnQgTXVsdGlJbnB1dCBUZW1wbGF0ZXMnKSkKewoJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdlcnJvcl9wZXJtaXNzaW9ucycpKTsKfQokYWN0aXZlX3RhYiA9ICdwcmVmcyc7CmlmKGlzc2V0KCRwYXJhbXNbJ2FjdGl2ZV90YWInXSkpCnsKCSRhY3RpdmVfdGFiID0gJHBhcmFtc1snYWN0aXZlX3RhYiddOwp9CiRlcnJvcm1lc3NhZ2UgPSAnJzsKaWYoaXNzZXQoJHBhcmFtc1snZXJyb3JtZXNzYWdlJ10pKQp7CgkkZXJyb3JtZXNzYWdlIC49ICRwYXJhbXNbJ2Vycm9ybWVzc2FnZSddLic8YnIgLz4nOwp9CiRtZXNzYWdlID0gJyc7CmlmKGlzc2V0KCRwYXJhbXNbJ21lc3NhZ2UnXSkpCnsKCSRtZXNzYWdlIC49ICRwYXJhbXNbJ21lc3NhZ2UnXS4nPGJyIC8+JzsKfQokdGFicyA9IGFycmF5KCk7CgppZigkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgQWR2YW5jZWRDb250ZW50IFByZWZlcmVuY2VzJykpCnsKCSR0YWJzWydwcmVmcyddWyd0YWJoZWFkZXInXSA9ICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3ByZWZzJywKCQkkdGhpcy0+bGFuZygncHJlZnMnKSwKCQkoJGFjdGl2ZV90YWI9PSdwcmVmcyc/dHJ1ZTonJykpOwoJCglpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3dpdGNoX3JlZGlyZWN0X3BhcmFtcycsZmFsc2UpKQoJewoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3dpdGNoX3JlZGlyZWN0X3BhcmFtc190ZXh0JywkdGhpcy0+bGFuZygnc3dpdGNoX3JlZGlyZWN0X3BhcmFtcycpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N3aXRjaF9wYXJhbXMxX2lucHV0JywKCQkkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdzd2l0Y2hQYXJhbXMnLCAkcmV0dXJuaWQsCgkJCWNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbXBvcnQuZ2lmJywgJycsJycsJycsJ3N5c3RlbWljb24nKSAuCgkJCScmbmJzcDsnIC4gJHRoaXMtPmxhbmcoJ3N3aXRjaF9wYXJhbXMnLCAkdGhpcy0+bGFuZygncmVkaXJlY3RwYXJhbXMnKSwkdGhpcy0+bGFuZygnZmV1X3BhcmFtcycpKSwKCQkJYXJyYXkoJ29sZF90eXBlJz0+J3JlZGlyZWN0X3BhcmFtcycsJ25ld190eXBlJz0+J2ZldV9wYXJhbXMnKSwKCQkJJycsCgkJCWZhbHNlLAoJCQlmYWxzZSwKCQkJJ2NsYXNzPSJBZHZhbmNlZENvbnRlbnRfQUpBWCIgb25jbGljaz0iaWYoY29uZmlybShcJycuCgkJCQkkdGhpcy0+bGFuZygnY29uZmlybV9zd2l0Y2hwYXJhbXMnLCAkdGhpcy0+bGFuZygncmVkaXJlY3RwYXJhbXMnKSwkdGhpcy0+bGFuZygnZmV1X3BhcmFtcycpKSAuCgkJCQknXCcpKSB7QWR2YW5jZWRDb250ZW50LnN3aXRjaFBhcmFtcyh0aGlzLmhyZWYpO30gcmV0dXJuIGZhbHNlOyInKSk7CgkJCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzd2l0Y2hfcGFyYW1zMl9pbnB1dCcsCgkJJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnc3dpdGNoUGFyYW1zJywgJHJldHVybmlkLAoJCQljbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW1wb3J0LmdpZicsICcnLCcnLCcnLCdzeXN0ZW1pY29uJykgLgoJCQknJm5ic3A7JyAuICR0aGlzLT5sYW5nKCdzd2l0Y2hfcGFyYW1zJywgJHRoaXMtPmxhbmcoJ3JlZGlyZWN0cGFyYW1zJyksJHRoaXMtPmxhbmcoJ2N1c3RvbV9wYXJhbXMnKSksCgkJCWFycmF5KCdvbGRfdHlwZSc9PidyZWRpcmVjdF9wYXJhbXMnLCduZXdfdHlwZSc9PidjdXN0b21fcGFyYW1zJyksCgkJCScnLAoJCQlmYWxzZSwKCQkJZmFsc2UsCgkJCSdjbGFzcz0iQWR2YW5jZWRDb250ZW50X0FKQVgiIG9uY2xpY2s9ImlmKGNvbmZpcm0oXCcnLgoJCQkJJHRoaXMtPmxhbmcoJ2NvbmZpcm1fc3dpdGNocGFyYW1zJywgJHRoaXMtPmxhbmcoJ3JlZGlyZWN0cGFyYW1zJyksJHRoaXMtPmxhbmcoJ2N1c3RvbV9wYXJhbXMnKSkgLgoJCQkJJ1wnKSkge0FkdmFuY2VkQ29udGVudC5zd2l0Y2hQYXJhbXModGhpcy5ocmVmKTt9IHJldHVybiBmYWxzZTsiJykpOwoJfQoJI2Vsc2UKCSN7CgkjCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3dpdGNoX3BhcmFtczFfaW5wdXQnLAoJIwkkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdzd2l0Y2hQYXJhbXMnLCAkcmV0dXJuaWQsCgkjCQljbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW1wb3J0LmdpZicsICcnLCcnLCcnLCdzeXN0ZW1pY29uJykgLgoJIwkJJyZuYnNwOycgLiAkdGhpcy0+bGFuZygnc3dpdGNoX3BhcmFtcycsICR0aGlzLT5sYW5nKCdjdXN0b21fcGFyYW1zJyksJHRoaXMtPmxhbmcoJ2ZldV9wYXJhbXMnKSksCgkjCQlhcnJheSgnb2xkX3R5cGUnPT4nY3VzdG9tX3BhcmFtcycsJ25ld190eXBlJz0+J2ZldV9wYXJhbXMnKSwKCSMJCScnLAoJIwkJZmFsc2UsCgkjCQlmYWxzZSwKCSMJCSdjbGFzcz0iQWR2YW5jZWRDb250ZW50X0FKQVgiIG9uY2xpY2s9ImlmKGNvbmZpcm0oXCcnLgoJIwkJCSR0aGlzLT5sYW5nKCdjb25maXJtX3N3aXRjaHBhcmFtcycsJHRoaXMtPmxhbmcoJ2N1c3RvbV9wYXJhbXMnKSwkdGhpcy0+bGFuZygnZmV1X3BhcmFtcycpKSAuCgkjCQkJJ1wnKSkge0FkdmFuY2VkQ29udGVudC5zd2l0Y2hQYXJhbXModGhpcy5ocmVmKTt9IHJldHVybiBmYWxzZTsiJykpOwoJIwkKCSMJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzd2l0Y2hfcGFyYW1zMl9pbnB1dCcsCgkjCSR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ3N3aXRjaFBhcmFtcycsICRyZXR1cm5pZCwKCSMJCWNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbXBvcnQuZ2lmJywgJycsJycsJycsJ3N5c3RlbWljb24nKSAuCgkjCQknJm5ic3A7JyAuICR0aGlzLT5sYW5nKCdzd2l0Y2hfcGFyYW1zJywgJHRoaXMtPmxhbmcoJ2ZldV9wYXJhbXMnKSwkdGhpcy0+bGFuZygnY3VzdG9tX3BhcmFtcycpKSwKCSMJCWFycmF5KCdvbGRfdHlwZSc9PidmZXVfcGFyYW1zJywnbmV3X3R5cGUnPT4nY3VzdG9tX3BhcmFtcycpLAoJIwkJJycsCgkjCQlmYWxzZSwKCSMJCWZhbHNlLAoJIwkJJ2NsYXNzPSJBZHZhbmNlZENvbnRlbnRfQUpBWCIgb25jbGljaz0iaWYoY29uZmlybShcJycuCgkjCQkJJHRoaXMtPmxhbmcoJ2NvbmZpcm1fc3dpdGNocGFyYW1zJywkdGhpcy0+bGFuZygnZmV1X3BhcmFtcycpLCR0aGlzLT5sYW5nKCdjdXN0b21fcGFyYW1zJykpIC4KCSMJCQknXCcpKSB7QWR2YW5jZWRDb250ZW50LnN3aXRjaFBhcmFtcyh0aGlzLmhyZWYpO30gcmV0dXJuIGZhbHNlOyInKSk7CgkjCQoJI30KCQoJCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLAoJCSdzYXZlUHJlZnMnLCAkcmV0dXJuaWQsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgkKCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW1wb3J0Y29udGVudF9pbnB1dCcsCgkJJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnaW1wb3J0cGFnZXMnLCAkcmV0dXJuaWQsCgkJCWNtc21zKCktPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbXBvcnQuZ2lmJywgJycsJycsJycsJ3N5c3RlbWljb24nKSAuCgkJCScmbmJzcDsnIC4gJHRoaXMtPmxhbmcoJ2ltcG9ydHBhZ2VzJywgbGFuZygnY29udGVudCcpLCR0aGlzLT5sYW5nKCdBZHZhbmNlZENvbnRlbnQnKSksCgkJCWFycmF5KCdvbGRfdHlwZSc9Pidjb250ZW50JywnbmV3X3R5cGUnPT4nY29udGVudDInKSwKCQkJJycsCgkJCWZhbHNlLAoJCQlmYWxzZSwKCQkJJ2NsYXNzPSJBZHZhbmNlZENvbnRlbnRfQUpBWCIgb25jbGljaz0iaWYoY29uZmlybShcJycuCgkJCQkkdGhpcy0+bGFuZygnY29uZmlybWltcG9ydCcsbGFuZygnY29udGVudCcpLCR0aGlzLT5sYW5nKCdBZHZhbmNlZENvbnRlbnQnKSkgLgoJCQkJJ1wnKSkge0FkdmFuY2VkQ29udGVudC5pbXBvcnRQYWdlcyh0aGlzLmhyZWYpO30gcmV0dXJuIGZhbHNlOyInKSk7CgkKCSR0aGlzLT5zbWFydHktPmFzc2lnbignaW1wb3J0Y29udGVudDJfaW5wdXQnLAoJCSR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2ltcG9ydHBhZ2VzJywgJycsCgkJCWNtc21zKCktPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbXBvcnQuZ2lmJywgJycsJycsJycsJ3N5c3RlbWljb24nKSAuCgkJCScmbmJzcDsnIC4gJHRoaXMtPmxhbmcoJ2ltcG9ydHBhZ2VzJywgJHRoaXMtPmxhbmcoJ0FkdmFuY2VkQ29udGVudCcpLGxhbmcoJ2NvbnRlbnQnKSksCgkJCWFycmF5KCdvbGRfdHlwZSc9Pidjb250ZW50MicsJ25ld190eXBlJz0+J2NvbnRlbnQnKSwKCQkJJycsCgkJCWZhbHNlLAoJCQlmYWxzZSwKCQkJJ2NsYXNzPSJBZHZhbmNlZENvbnRlbnRfQUpBWCIgb25jbGljaz0iaWYoY29uZmlybShcJycuCgkJCQkkdGhpcy0+bGFuZygnY29uZmlybWltcG9ydCcsJHRoaXMtPmxhbmcoJ0FkdmFuY2VkQ29udGVudCcpLGxhbmcoJ2NvbnRlbnQnKSkgLgoJCQkJJ1wnKSkge0FkdmFuY2VkQ29udGVudC5pbXBvcnRQYWdlcyh0aGlzLmhyZWYpO30gcmV0dXJuIGZhbHNlOyInKSk7CgkKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndW5pbnN0YWxsYWN0aW9uX3RleHQnLCAkdGhpcy0+bGFuZygndW5pbnN0YWxsYWN0aW9uJykpOwoJCgkkYWN0aW9ucyA9IGFycmF5KGxhbmcoJ25vbmUnKT0+JycsCgkJJHRoaXMtPmxhbmcoJ3NldGNvbnRlbnQxJyk9PjIsCgkJJHRoaXMtPmxhbmcoJ3NldGNvbnRlbnQyJyk9PjMsCgkJJHRoaXMtPmxhbmcoJ2RlbGV0ZXBhZ2VzJyk9PjEpOwoJCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VuaW5zdGFsbGFjdGlvbl9pbnB1dCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAndW5pbnN0YWxsX2FjdGlvbicsICRhY3Rpb25zLCAnJywKCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VuaW5zdGFsbF9hY3Rpb24nKSkpOwoJCgkkYWN0aW9ucyA9IGFycmF5KCR0aGlzLT5sYW5nKCdwZXJfcGFnZScpPT4nY29udGVudCcsCgkJJHRoaXMtPmxhbmcoJ3Blcl90ZW1wbGF0ZScpPT4ndGVtcGxhdGUnLAoJCSR0aGlzLT5sYW5nKCdib3RoMScpPT4nYm90aDEnLAoJCSR0aGlzLT5sYW5nKCdib3RoMicpPT4nYm90aDInKTsKCQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdibG9ja19kaXNwbGF5X3NldHRpbmdzX3RleHQnLAoJCSR0aGlzLT5sYW5nKCdzYXZlX2NvbGxhcHNlX3N0YXR1cycsICR0aGlzLT5sYW5nKCdjb250ZW50X2Jsb2NrcycpKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Jsb2NrX2Rpc3BsYXlfc2V0dGluZ3NfaW5wdXQnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2Jsb2NrX2Rpc3BsYXlfc2V0dGluZ3MnLCAkYWN0aW9ucywgJycsCgkJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdibG9ja19kaXNwbGF5X3NldHRpbmdzJykpKTsKCQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb2xsYXBzZV9ibG9ja19kZWZhdWx0X3RleHQnLAoJCSR0aGlzLT5sYW5nKCdjb2xsYXBzZV9kZWZhdWx0JywkdGhpcy0+bGFuZygnY29udGVudF9ibG9ja3MnKSkpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignY29sbGFwc2VfYmxvY2tfZGVmYXVsdF9pbnB1dCcsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2NvbGxhcHNlX2Jsb2NrX2RlZmF1bHQnLDApIC4KCQkJJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnY29sbGFwc2VfYmxvY2tfZGVmYXVsdCcsIDEsCgkJCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY29sbGFwc2VfYmxvY2tfZGVmYXVsdCcsMSkpKTsKCQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlX2Rpc3BsYXlfc2V0dGluZ3NfdGV4dCcsCgkJJHRoaXMtPmxhbmcoJ3NhdmVfY29sbGFwc2Vfc3RhdHVzJywgJHRoaXMtPmxhbmcoJ2Jsb2NrX21lc3NhZ2UnKSkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlX2Rpc3BsYXlfc2V0dGluZ3NfaW5wdXQnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ21lc3NhZ2VfZGlzcGxheV9zZXR0aW5ncycsICRhY3Rpb25zLCAnJywKCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ21lc3NhZ2VfZGlzcGxheV9zZXR0aW5ncycpKSk7CgkKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZ3JvdXBfZGlzcGxheV9zZXR0aW5nc190ZXh0JywKCQkkdGhpcy0+bGFuZygnc2F2ZV9jb2xsYXBzZV9zdGF0dXMnLCAkdGhpcy0+bGFuZygnYmxvY2tfZ3JvdXBzJykpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZ3JvdXBfZGlzcGxheV9zZXR0aW5nc19pbnB1dCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAnZ3JvdXBfZGlzcGxheV9zZXR0aW5ncycsICRhY3Rpb25zLCAnJywKCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ2dyb3VwX2Rpc3BsYXlfc2V0dGluZ3MnKSkpOwoJCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NvbGxhcHNlX2dyb3VwX2RlZmF1bHRfdGV4dCcsCgkJJHRoaXMtPmxhbmcoJ2NvbGxhcHNlX2RlZmF1bHQnLCR0aGlzLT5sYW5nKCdibG9ja19ncm91cHMnKSkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb2xsYXBzZV9ncm91cF9kZWZhdWx0X2lucHV0JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdjb2xsYXBzZV9ncm91cF9kZWZhdWx0JywwKSAuCgkJJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnY29sbGFwc2VfZ3JvdXBfZGVmYXVsdCcsIDEsCgkJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjb2xsYXBzZV9ncm91cF9kZWZhdWx0JywxKSkpOwoJCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VzZV9hZHZhbmNlZF9wYWdlb3B0aW9uc190ZXh0JywKCQkkdGhpcy0+bGFuZygnc2hvd19hZHZhbmNlZGNvbnRlbnRfb3B0aW9ucycpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zX2lucHV0JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCd1c2VfYWR2YW5jZWRfcGFnZW9wdGlvbnMnLDApIC4KCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICd1c2VfYWR2YW5jZWRfcGFnZW9wdGlvbnMnLCAxLAoJCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJywxKSwnb25jaGFuZ2U9ImlmKCF0aGlzLmNoZWNrZWQpe2pRdWVyeShcJyNhZHZhbmNlZF9kZWZhdWx0X29wdGlvbnMgaW5wdXRcJykuYXR0cihcJ2Rpc2FibGVkXCcsXCdkaXNhYmxlZFwnKTtpZihqUXVlcnkoXCcjYWR2YW5jZWRfZGVmYXVsdF9vcHRpb25zXCcpLmNzcyhcJ2Rpc3BsYXlcJykgIT0gXCdub25lXCcpe2pRdWVyeShcJyNhZHZhbmNlZF9kZWZhdWx0X29wdGlvbnNcJykuc2xpZGVVcCgpO319ZWxzZXtqUXVlcnkoXCcjYWR2YW5jZWRfZGVmYXVsdF9vcHRpb25zIGlucHV0XCcpLnJlbW92ZUF0dHIoXCdkaXNhYmxlZFwnKTtpZihqUXVlcnkoXCcjYWR2YW5jZWRfZGVmYXVsdF9vcHRpb25zXCcpLmNzcyhcJ2Rpc3BsYXlcJykgPT0gXCdub25lXCcpe2pRdWVyeShcJyNhZHZhbmNlZF9kZWZhdWx0X29wdGlvbnNcJykuc2xpZGVEb3duKCk7fX0iJykpOwoJCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkdmFuY2VkX2RlZmF1bHRfb3B0aW9uc19zdHlsZScsICEkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJywxKSA/ICdzdHlsZT0iZGlzcGxheTpub25lIicgOiAnJyk7CgkjIGRlZmF1bHQgYWR2YW5jZWQgcGFnZW9wdGlvbnMKCQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb250ZW50c2V0dGluZ3NfdGV4dCcsICR0aGlzLT5sYW5nKCdjb250ZW50c2V0dGluZ3MnKSk7CgkKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlX2V4cGlyZV9kYXRlX3RleHQnLCAkdGhpcy0+bGFuZygndXNlZXhwaXJlZGF0ZScpKTsKCSR1c2VFeHAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlX2V4cGlyZV9kYXRlJyk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VzZV9leHBpcmVfZGF0ZV9pbnB1dCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCd1c2VfZXhwaXJlX2RhdGUnLAoJCQlhcnJheSgkdGhpcy0+bGFuZygneWVzJyk9PjEsCgkJCQkkdGhpcy0+bGFuZygnbm8nKT0+MCwKCQkJCSR0aGlzLT5sYW5nKCdpbmhlcml0X2Zyb21fcGFyZW50Jyk9Pi0xKSwKCQkJMCwkdXNlRXhwKSk7CgkKCSR0aW1lcyA9IGFycmF5KCk7CgkkdGltZXNbJHRoaXMtPmxhbmcoJ21pbnV0ZXMnKV0gPSAnbWludXRlJzsKCSR0aW1lc1skdGhpcy0+bGFuZygnaG91cnMnKV0gICA9ICdob3VyJzsKCSR0aW1lc1skdGhpcy0+bGFuZygnZGF5cycpXSAgICA9ICdkYXknOwoJJHRpbWVzWyR0aGlzLT5sYW5nKCd3ZWVrcycpXSAgID0gJ3dlZWsnOwoJJHRpbWVzWyR0aGlzLT5sYW5nKCdtb250aHMnKV0gID0gJ21vbnRoJzsKCSR0aW1lc1skdGhpcy0+bGFuZygneWVhcnMnKV0gICA9ICd5ZWFyJzsgCgkKCSRzdGFydF9kYXRlID0gZXhwbG9kZSgnICcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJzdGFydF9kYXRlIiwgJzEgd2VlaycpKTsKCSRlbmRfZGF0ZSAgID0gZXhwbG9kZSgnICcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJlbmRfZGF0ZSIsICcxIHdlZWsnKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2RhdGVfdGV4dCcsICR0aGlzLT5sYW5nKCdzdGFydGRhdGUnKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2RhdGVfaW5wdXQnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnc3RhcnRfZGF0ZV8xJywgJHN0YXJ0X2RhdGVbMF0sIDMsIDUpIC4KCQkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdzdGFydF9kYXRlXzInLCAkdGltZXMsJycsICRzdGFydF9kYXRlWzFdKSAuIAoJCScmbmJzcDsnIC4gJHRoaXMtPmxhbmcoJ2FmdGVyY3VycmRhdGUnKSk7CgkKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kX2RhdGVfdGV4dCcsICR0aGlzLT5sYW5nKCdlbmRkYXRlJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRfZGF0ZV9pbnB1dCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdlbmRfZGF0ZV8xJywgJGVuZF9kYXRlWzBdLCAzLCA1KSAuIAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2VuZF9kYXRlXzInLCAkdGltZXMsICcnLCAkZW5kX2RhdGVbMV0pIC4gCgkJJyZuYnNwOycgLiAkdGhpcy0+bGFuZygnYWZ0ZXJzdGFydGRhdGUnKSk7CgkKCWlmKCAkZmV1c2VycyA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnICkpCgl7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmZXVhY2Nlc3NfdGV4dCcsICR0aGlzLT5sYW5nKCdmcm9udGVuZGFjY2VzcycpKTsKCQkkZmV1QWNjZXNzICAgICAgPSBhcnJheSgkdGhpcy0+bGFuZygnaW5oZXJpdF9mcm9tX3BhcmVudCcpPT4tMSk7CgkJJGZldUFjY2VzcyAgICAgID0gYXJyYXlfbWVyZ2UoJGZldUFjY2VzcywkZmV1c2Vycy0+R2V0R3JvdXBMaXN0KCkpOwoJCSRzZWxlY3RlZEdyb3VwcyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmZXVfYWNjZXNzJyk7CgkJJGRlbGltICAgICAgICAgID0gc3RycG9zKCRzZWxlY3RlZEdyb3VwcywnLCcpID09PSBGQUxTRSA/ICc7JyA6ICcsJzsKCQkkc2VsZWN0ZWRHcm91cHMgPSAkdGhpcy0+Q2xlYW5BcnJheShleHBsb2RlKCRkZWxpbSwkc2VsZWN0ZWRHcm91cHMpKTsKCQkKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ZldWFjY2Vzc19pbnB1dCcsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2ZldV9hY2Nlc3MnLCcnKS4KCQkJJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsJ2ZldV9hY2Nlc3NbXScsJGZldUFjY2VzcywKCQkJCSRzZWxlY3RlZEdyb3VwcywgY291bnQoJGZldUFjY2VzcyksISR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VfYWR2YW5jZWRfcGFnZW9wdGlvbnMnLDEpID8gJ2Rpc2FibGVkPSJkaXNhYmxlZCInIDogJycsMSkpOwoJCQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigncmVkaXJlY3RwYWdlX3RleHQnLCAkdGhpcy0+bGFuZygncmVkaXJlY3RwYWdlJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigncmVkaXJlY3RwYWdlX2lucHV0JywKCQkJJHRoaXMtPkNyZWF0ZVJlZGlyZWN0RHJvcGRvd24oJGlkLCdyZWRpcmVjdF9wYWdlJywKCQkJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZWRpcmVjdF9wYWdlJykpKTsKCQkKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2luaGVyaXRfdGV4dCcsICR0aGlzLT5sYW5nKCdpbmhlcml0X2Zyb21fcGFyZW50JykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigncmVkaXJlY3RwYXJhbXNfdGV4dCcsICR0aGlzLT5sYW5nKCdyZWRpcmVjdHBhcmFtcycpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2V2YWx1YXRlc21hcnR5X3RleHQnLCAkdGhpcy0+bGFuZygnZXZhbHVhdGVzbWFydHknKSk7CgkJCgkJJGluaGVyaXRQYXJhbXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW5oZXJpdF9mZXVfcGFyYW1zJywwKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2luaGVyaXRfZmV1X3BhcmFtc19pbnB1dCcsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2luaGVyaXRfZmV1X3BhcmFtcycsMCkgLgoJCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpbmhlcml0X2ZldV9wYXJhbXMnLCAxLAoJCQkJJGluaGVyaXRQYXJhbXMsICEkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJywxKSA/ICdkaXNhYmxlZD0iZGlzYWJsZWQiJyA6ICcnKSk7CgkJCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmZXVfcGFyYW1zX3RleHQnLCAkdGhpcy0+bGFuZygnZmV1X3BhcmFtcycpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ZldV9wYXJhbXNfaW5wdXQnLAoJCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2ZldV9wYXJhbXMnLCAKCQkJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmZXVfcGFyYW1zJyksIDMyLCAxMjgsISR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VfYWR2YW5jZWRfcGFnZW9wdGlvbnMnLDEpID8gJ2Rpc2FibGVkPSJkaXNhYmxlZCInIDogJycpKTsKCQkKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2ZldV9wYXJhbXNfc21hcnR5X3RleHQnLCAkdGhpcy0+bGFuZygnZmV1X3BhcmFtc19zbWFydHknKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmZXVfcGFyYW1zX3NtYXJ0eV9pbnB1dCcsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2ZldV9wYXJhbXNfc21hcnR5JywwKSAuCgkJCSR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2ZldV9wYXJhbXNfc21hcnR5JywgMSwKCQkJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmZXVfcGFyYW1zX3NtYXJ0eScpLCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJywxKSA/ICdkaXNhYmxlZD0iZGlzYWJsZWQiJyA6ICcnKSk7CgkJCgkJJGluaGVyaXRQYXJhbXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW5oZXJpdF9jdXN0b21fcGFyYW1zJywwKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2luaGVyaXRfY3VzdG9tX3BhcmFtc19pbnB1dCcsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2luaGVyaXRfY3VzdG9tX3BhcmFtcycsMCkgLgoJCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpbmhlcml0X2N1c3RvbV9wYXJhbXMnLCAxLAoJCQkJJGluaGVyaXRQYXJhbXMsICEkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJywxKSA/ICdkaXNhYmxlZD0iZGlzYWJsZWQiJyA6ICcnKSk7CgkJCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjdXN0b21fcGFyYW1zX3RleHQnLCAkdGhpcy0+bGFuZygnY3VzdG9tX3BhcmFtcycpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2N1c3RvbV9wYXJhbXNfaW5wdXQnLAoJCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2N1c3RvbV9wYXJhbXMnLCAKCQkJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXN0b21fcGFyYW1zJyksIDMyLCAxMjgsISR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VfYWR2YW5jZWRfcGFnZW9wdGlvbnMnLDEpID8gJ2Rpc2FibGVkPSJkaXNhYmxlZCInIDogJycpKTsKCQkKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2N1c3RvbV9wYXJhbXNfc21hcnR5X3RleHQnLCAkdGhpcy0+bGFuZygnY3VzdG9tX3BhcmFtc19zbWFydHknKSk7CgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjdXN0b21fcGFyYW1zX3NtYXJ0eV9pbnB1dCcsCgkJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2N1c3RvbV9wYXJhbXNfc21hcnR5JywwKSAuCgkJCSR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2N1c3RvbV9wYXJhbXNfc21hcnR5JywgMSwKCQkJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjdXN0b21fcGFyYW1zX3NtYXJ0eScpLCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJywxKSA/ICdkaXNhYmxlZD0iZGlzYWJsZWQiJyA6ICcnKSk7CgkJCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdmZXVhY3Rpb25fdGV4dCcsICR0aGlzLT5sYW5nKCdzaG93bG9naW5mb3JtJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignZmV1YWN0aW9uX2lucHV0JywKCQkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdmZXVfYWN0aW9uJywKCQkJCWFycmF5KCR0aGlzLT5sYW5nKCd5ZXMnKT0+MSwKCQkJCQkkdGhpcy0+bGFuZygnbm8nKT0+MCwKCQkJCQkkdGhpcy0+bGFuZygnaW5oZXJpdF9mcm9tX3BhcmVudCcpPT4tMSksCgkJCQkwLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmZXVfYWN0aW9uJywxKSwhJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZV9hZHZhbmNlZF9wYWdlb3B0aW9ucycsMSkgPyAnZGlzYWJsZWQ9ImRpc2FibGVkIicgOiAnJykpOwoJCQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignaGlkZV9tZW51X2l0ZW1fdGV4dCcsCgkJCSR0aGlzLT5sYW5nKCdoaWRlX21lbnVfaXRlbScpKTsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGVfbWVudV9pdGVtX2lucHV0JywKCQkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdoaWRlX21lbnVfaXRlbScsCgkJCQlhcnJheSgkdGhpcy0+bGFuZygnbm8nKT0+MCwKCQkJCQkkdGhpcy0+bGFuZygnbG9nZ2Vkb3V0Jyk9PjEsCgkJCQkJJHRoaXMtPmxhbmcoJ2xvZ2dlZGluJyk9PjIsCgkJCQkJJHRoaXMtPmxhbmcoJ2luaGVyaXRfZnJvbV9wYXJlbnQnKT0+LTEpLAoJCQkJMCwkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGlkZV9tZW51X2l0ZW0nLDApLCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJywxKSA/ICdkaXNhYmxlZD0iZGlzYWJsZWQiJyA6ICcnKSk7Cgl9CgkjLS0tCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdF9wcmVmcycsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXRfcHJlZnMnLAoJCWxhbmcoJ3N1Ym1pdCcpLCdvbmNsaWNrPSJyZXR1cm4gQWR2YW5jZWRDb250ZW50LnN1Ym1pdEZvcm0odGhpcyxcJ0FkdmFuY2VkQ29udGVudFJlc3VsdFwnKSInKSk7CgkKCSR0YWJzWydwcmVmcyddWyd0YWJjb250ZW50J10gPSAkdGhpcy0+U3RhcnRUYWIoJ3ByZWZzJykgLgoJCSR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3ByZWZzVGFiLnRwbCcpIC4KCQkkdGhpcy0+RW5kVGFiKCk7Cn0KCmlmKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBBZHZhbmNlZENvbnRlbnQgTXVsdGlJbnB1dHMnKSkKewoJJHRhYnNbJ211bHRpX2lucHV0J11bJ3RhYmhlYWRlciddID0gJHRoaXMtPlNldFRhYkhlYWRlcignbXVsdGlfaW5wdXQnLAoJCSR0aGlzLT5sYW5nKCdtdWx0aV9pbnB1dCcpLAoJCSgkYWN0aXZlX3RhYj09J211bHRpX2lucHV0Jz90cnVlOicnKSk7CgkKCSRtdWx0aV9pbnB1dHMgPSBhcnJheSgpOwoJZm9yZWFjaCgkdGhpcy0+R2V0TXVsdGlJbnB1dExpc3QoKSBhcyAkbXVsdGlfaW5wdXQpCgl7CgkJJG11bHRpX2lucHV0c1skbXVsdGlfaW5wdXRbJ2lucHV0X2lkJ11dWydlZGl0X2xpbmsnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRNdWx0aUlucHV0JywgJHJldHVybmlkLAoJCQljbXNtcygpLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAnJywnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnaW5wdXRfaWQnPT4kbXVsdGlfaW5wdXRbJ2lucHV0X2lkJ10pKTsKCQkKCQkkbXVsdGlfaW5wdXRzWyRtdWx0aV9pbnB1dFsnaW5wdXRfaWQnXV1bJ25hbWVfbGluayddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdE11bHRpSW5wdXQnLCAkcmV0dXJuaWQsICRtdWx0aV9pbnB1dFsnaW5wdXRfaWQnXSwgYXJyYXkoJ2lucHV0X2lkJz0+JG11bHRpX2lucHV0WydpbnB1dF9pZCddKSk7CgkJCgkJJG11bHRpX2lucHV0c1skbXVsdGlfaW5wdXRbJ2lucHV0X2lkJ11dWyd0ZW1wbGF0ZSddID0gc3Vic3RyKCRtdWx0aV9pbnB1dFsndHBsX25hbWUnXSxzdHJsZW4oJ211bHRpX2lucHV0XycpKTsKCQkKCQkkbXVsdGlfaW5wdXRzWyRtdWx0aV9pbnB1dFsnaW5wdXRfaWQnXV1bJ2RlbGV0ZV9saW5rJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWxldGVNdWx0aUlucHV0JywgJHJldHVybmlkLAoJCQljbXNtcygpLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICcnLCcnLCcnLCdzeXN0ZW1pY29uJyksCgkJCWFycmF5KCdpbnB1dF9pZCc9PiRtdWx0aV9pbnB1dFsnaW5wdXRfaWQnXSksJHRoaXMtPmxhbmcoJ2NvbmZpcm1fZGVsZXRlJykpOwoJCQoJCSRtdWx0aV9pbnB1dHNbJG11bHRpX2lucHV0WydpbnB1dF9pZCddXVsnY2hlY2tib3gnXSA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwKCQkJIm11bHRpX2lucHV0LSIuJG11bHRpX2lucHV0WydpbnB1dF9pZCddLCAkbXVsdGlfaW5wdXRbJ2lucHV0X2lkJ10sICcnKTsKCX0KCSR0aGlzLT5zbWFydHktPmFzc2lnbignc2VsZWN0YWxsJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ211bHRpX2lucHV0Jyx0cnVlLGZhbHNlLCAnaWQ9IicuJGlkLidtdWx0aV9pbnB1dCIgb25jbGljaz0iQWR2YW5jZWRDb250ZW50LnNlbGVjdEFsbCh0aGlzKSInKSk7CgkKCSR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ211bHRpX2lucHV0X2FycmF5JywkbXVsdGlfaW5wdXRzKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkX211bHRpX2lucHV0JywKCQkkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRNdWx0aUlucHV0JywgJHJldHVybmlkLAoJCQljbXNtcygpLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICcnLCcnLCcnLCdzeXN0ZW1pY29uJykgLgoJCQknJm5ic3A7JyAuICR0aGlzLT5sYW5nKCdhZGRfbXVsdGlfaW5wdXQnKSkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF9mb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsCgkJJ2RlbGV0ZU11bHRpSW5wdXQnLCAkcmV0dXJuaWQsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRfZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXRfYnVsa2FjdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXRfYnVsa2FjdGlvbicsJHRoaXMtPmxhbmcoJ2RlbGV0ZV9zZWxlY3RlZCcpLCcnLCcnLCR0aGlzLT5sYW5nKCdjb25maXJtX2RlbGV0ZV9zZWxlY3RlZCcpKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2lkX3RleHQnLCAkdGhpcy0+bGFuZygnaW5wdXRfaWQnKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlX3RleHQnLCBsYW5nKCd0ZW1wbGF0ZScpKTsKCSR0YWJzWydtdWx0aV9pbnB1dCddWyd0YWJjb250ZW50J10gPSAkdGhpcy0+U3RhcnRUYWIoJ211bHRpX2lucHV0JykgLgoJCSR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ211bHRpSW5wdXRUYWIudHBsJykgLgoJCSR0aGlzLT5FbmRUYWIoKTsKfQoKaWYoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEFkdmFuY2VkQ29udGVudCBNdWx0aUlucHV0IFRlbXBsYXRlcycpKQp7CgkkdGFic1snbXVsdGlfaW5wdXRfdHBsJ11bJ3RhYmhlYWRlciddID0gJHRoaXMtPlNldFRhYkhlYWRlcignbXVsdGlfaW5wdXRfdHBsJywKCQkkdGhpcy0+bGFuZygnbXVsdGlfaW5wdXRfdHBsJyksCgkJKCRhY3RpdmVfdGFiPT0nbXVsdGlfaW5wdXRfdHBsJz90cnVlOicnKSk7CgkKCSRtdWx0aV9pbnB1dF90cGxzID0gYXJyYXkoKTsKCWZvcmVhY2goJHRoaXMtPkdldFRlbXBsYXRlcygnbXVsdGlfaW5wdXQnKSBhcyAkdHBsKQoJewoJCSRtdWx0aV9pbnB1dF90cGxzWyR0cGxbJ3RwbF9pZCddXVsnZWRpdF9saW5rJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0TXVsdGlJbnB1dFRwbCcsICRyZXR1cm5pZCwKCQkJY21zbXMoKS0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJycsJycsJycsJ3N5c3RlbWljb24nKSwKCQkJYXJyYXkoJ3RwbF9pZCc9PiR0cGxbJ3RwbF9pZCddKSk7CgkJCgkJJG11bHRpX2lucHV0X3RwbHNbJHRwbFsndHBsX2lkJ11dWyduYW1lX2xpbmsnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRNdWx0aUlucHV0VHBsJywgJHJldHVybmlkLAoJCQkkdHBsWyd0cGxfbmFtZSddLAoJCQlhcnJheSgndHBsX2lkJz0+JHRwbFsndHBsX2lkJ10pKTsKCQkKCQkkbXVsdGlfaW5wdXRfdHBsc1skdHBsWyd0cGxfaWQnXV1bJ2RlbGV0ZV9saW5rJ10gPSAnJm5ic3A7JzsKCQkkbXVsdGlfaW5wdXRfdHBsc1skdHBsWyd0cGxfaWQnXV1bJ2NoZWNrYm94J10gPSAnJm5ic3AnOwoJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X211bHRpX2lucHV0X3RwbCcsJ211bHRpX2lucHV0X1NhbXBsZVRlbXBsYXRlJykgIT0gJHRwbFsndHBsX2lkJ10gJiYgISR0cGxbJ2lzX3VzZWQnXSkKCQl7CgkJCSRtdWx0aV9pbnB1dF90cGxzWyR0cGxbJ3RwbF9pZCddXVsnZGVsZXRlX2xpbmsnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwKCQkJCSdkZWxldGVNdWx0aUlucHV0VHBsJywgJHJldHVybmlkLCBjbXNtcygpLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICcnLCcnLCcnLCdzeXN0ZW1pY29uJyksCgkJCQlhcnJheSgndHBsX2lkJz0+JHRwbFsndHBsX2lkJ10pLCR0aGlzLT5sYW5nKCdjb25maXJtX2RlbGV0ZScpKTsKCQkJJG11bHRpX2lucHV0X3RwbHNbJHRwbFsndHBsX2lkJ11dWydjaGVja2JveCddID0gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLAoJCQkJIm11bHRpX2lucHV0X3RwbC0iLiR0cGxbJ3RwbF9pZCddLCAkdHBsWyd0cGxfaWQnXSwgJycpOwoJCX0KCQkKCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9tdWx0aV9pbnB1dF90cGwnLCdtdWx0aV9pbnB1dF9TYW1wbGVUZW1wbGF0ZScpICE9ICR0cGxbJ3RwbF9pZCddKQoJCXsKCQkJJG11bHRpX2lucHV0X3RwbHNbJHRwbFsndHBsX2lkJ11dWydzZXRfZGVmYXVsdF9saW5rJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdzYXZlUHJlZnMnLCAkcmV0dXJuaWQsCgkJCQljbXNtcygpLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJycsJycsJycsJ3N5c3RlbWljb24nKSwKCQkJCWFycmF5KCdzZXRfZGVmYXVsdCc9PidtdWx0aV9pbnB1dCcsJ3RwbF9pZCc9PiR0cGxbJ3RwbF9pZCddLCdhY3RpdmVfdGFiJz0+J211bHRpX2lucHV0X3RwbCcpKTsKCQl9CgkJZWxzZQoJCXsKCQkJJG11bHRpX2lucHV0X3RwbHNbJHRwbFsndHBsX2lkJ11dWydzZXRfZGVmYXVsdF9saW5rJ10gPSBjbXNtcygpLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCAnJywnJywnJywnc3lzdGVtaWNvbicpOwoJCX0KCQkKCX0KCSR0aGlzLT5zbWFydHktPmFzc2lnbignc2VsZWN0YWxsJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ211bHRpX2lucHV0X3RwbCcsdHJ1ZSxmYWxzZSwgJ2lkPSInLiRpZC4nbXVsdGlfaW5wdXRfdHBsIiBvbmNsaWNrPSJBZHZhbmNlZENvbnRlbnQuc2VsZWN0QWxsKHRoaXMpIicpKTsKCQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignbXVsdGlfaW5wdXRfdHBsX2FycmF5JywkbXVsdGlfaW5wdXRfdHBscyk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZF9tdWx0aV9pbnB1dF90cGwnLAoJCSR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZE11bHRpSW5wdXRUcGwnLCAkcmV0dXJuaWQsCgkJCWNtc21zKCktPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJycsJycsJycsJ3N5c3RlbWljb24nKSAuCgkJCScmbmJzcDsnIC4gJHRoaXMtPmxhbmcoJ2FkZF9tdWx0aV9pbnB1dF90cGwnKSkpOwoJCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdF9idWxrYWN0aW9uJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdF9idWxrYWN0aW9uJywkdGhpcy0+bGFuZygnZGVsZXRlX3NlbGVjdGVkJyksJycsJycsJHRoaXMtPmxhbmcoJ2NvbmZpcm1fZGVsZXRlX3NlbGVjdGVkJykpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbigndGVtcGxhdGVfbmFtZV90ZXh0JywgbGFuZygndGVtcGxhdGUnKSk7CgkKCSR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRfZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLAoJCSdkZWxldGVNdWx0aUlucHV0VHBsJywgJHJldHVybmlkLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kX2Zvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCQoJJHRhYnNbJ211bHRpX2lucHV0X3RwbCddWyd0YWJjb250ZW50J10gPSAkdGhpcy0+U3RhcnRUYWIoJ211bHRpX2lucHV0X3RwbCcpIC4KCQkkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdtdWx0aUlucHV0VHBsVGFiLnRwbCcpIC4KCQkkdGhpcy0+RW5kVGFiKCk7Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ3RhYnMnLCR0YWJzKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF90YWJoZWFkZXJzJywkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZF90YWJoZWFkZXJzJywkdGhpcy0+RW5kVGFiSGVhZGVycygpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF90YWJjb250ZW50JywkdGhpcy0+U3RhcnRUYWJDb250ZW50KCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZF90YWJjb250ZW50JywkdGhpcy0+RW5kVGFiQ29udGVudCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRfdGFiJywkdGhpcy0+RW5kVGFiKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21vZHVsZUlkJywgJGlkKTsKCmlmKGlzc2V0KCRwYXJhbXNbJ21lc3NhZ2UnXSkpCnsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsICR0aGlzLT5sYW5nKCRwYXJhbXNbJ21lc3NhZ2UnXSwgKGlzc2V0KCRwYXJhbXNbJ29sZF90eXBlJ10pICYmIGlzc2V0KCRwYXJhbXNbJ25ld190eXBlJ10pID8gJHRoaXMtPmxhbmcoJHBhcmFtc1snb2xkX3R5cGUnXSkgLiAnLCcgLiAkdGhpcy0+bGFuZygkcGFyYW1zWyduZXdfdHlwZSddKSA6ICcnKSkpOwp9CgppZihpc3NldCgkcGFyYW1zWydlcnJvcm1lc3NhZ2UnXSkpCnsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZXJyb3JtZXNzYWdlJywgJHRoaXMtPmxhbmcoJHBhcmFtc1snZXJyb3JtZXNzYWdlJ10sIChpc3NldCgkcGFyYW1zWydvbGRfdHlwZSddKSAmJiBpc3NldCgkcGFyYW1zWyduZXdfdHlwZSddKSA/ICR0aGlzLT5sYW5nKCRwYXJhbXNbJ29sZF90eXBlJ10pIC4gJywnIC4gJHRoaXMtPmxhbmcoJHBhcmFtc1snbmV3X3R5cGUnXSkgOiAnJykpKTsKfQoKZWNobyAkdGhpcy0+X3BwIC4gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZGVmYXVsdGFkbWluLnRwbCcpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.editMultiInput.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIE1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQojICAgICAgICAgIGEgY29udGVudCBtYW5hZ2VtZW50IHRvb2wgZm9yIENNUyBNYWRlIFNpbXBsZQojICAgICAgICAgIFRoZSBwcm9qZWN0cyBob21lcGFnZSBpcyBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2NvbnRlbnQyLwojICAgICAgICAgIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNC0yMDExIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBWZXJzaW9uOiAwLjguMQojIEZpbGUgICA6IGFjdGlvbi5lZGl0TXVsdGlJbnB1dC5waHAKIyBQdXJwb3NlOiBlZGl0cyBhIG11bHRpIGlucHV0IGJsb2NrdHlwZQojIExpY2Vuc2U6IEdQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwoKaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBBZHZhbmNlZENvbnRlbnQgTXVsdGlJbnB1dHMnKSkKewoJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdlcnJvcl9wZXJtaXNzaW9ucycpKTsKfQoKaWYoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQp7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnYWN0aXZlX3RhYic9PidtdWx0aV9pbnB1dCcpKTsKfQoKJGVycm9yID0gZmFsc2U7CiRlcnJvcm1lc3NhZ2UgPSAnJzsKCiRpbnB1dF9pZCA9ICcnOwppZihpc3NldCgkcGFyYW1zWydpbnB1dF9pZCddKSAmJiAhZW1wdHkoJHBhcmFtc1snaW5wdXRfaWQnXSkpCnsKCSRpbnB1dF9pZCA9IHByZWdfcmVwbGFjZSgnLy0rLycsJ18nLG11bmdlX3N0cmluZ190b191cmwodHJpbSgkcGFyYW1zWydpbnB1dF9pZCddKSkpOwp9CgokbXVsdGlfaW5wdXQgPSAkdGhpcy0+R2V0TXVsdGlJbnB1dEZ1bGwoJGlucHV0X2lkKTsKCmlmKGlzc2V0KCRwYXJhbXNbJ2lucHV0X2ZpZWxkcyddKSkKewoJJG11bHRpX2lucHV0WyRpbnB1dF9pZF1bJ2lucHV0X2ZpZWxkcyddID0gdHJpbSgkcGFyYW1zWydpbnB1dF9maWVsZHMnXSk7Cn0KCmlmKGlzc2V0KCRwYXJhbXNbJ2lucHV0X3RwbCddKSkKewoJJG11bHRpX2lucHV0WyRpbnB1dF9pZF1bJ3RwbF9uYW1lJ10gPSAkcGFyYW1zWydpbnB1dF90cGwnXTsKfQoKIyMjIGRvIGFjdGlvbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCmlmKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSAmJiAkcGFyYW1zWydzdWJtaXQnXT09dHJ1ZSkKewoJaWYoJGlucHV0X2lkID09ICcnKQoJewoJCSRlcnJvciA9IHRydWU7CgkJJGVycm9ybWVzc2FnZSAuPSAkdGhpcy0+bGFuZygnZXJyb3JfaW5wdXRfaWQnKS4nPGJyIC8+JzsKCX0KCWlmKCRtdWx0aV9pbnB1dFskaW5wdXRfaWRdWydpbnB1dF9maWVsZHMnXSA9PSAnJykKCXsKCQkkZXJyb3IgPSB0cnVlOwoJCSRlcnJvcm1lc3NhZ2UgLj0gJHRoaXMtPmxhbmcoJ2Vycm9yX2lucHV0X2ZpZWxkcycpLic8YnIgLz4nOwoJfQoKCWlmKCRlcnJvcj09ZmFsc2UpCgl7CgkJaWYoISR0aGlzLT5VcGRhdGVNdWx0aUlucHV0KCRpbnB1dF9pZCwkbXVsdGlfaW5wdXRbJGlucHV0X2lkXVsnaW5wdXRfZmllbGRzJ10pKQoJCXsKCQkJJGVycm9yID0gdHJ1ZTsKCQkJJGVycm9ybWVzc2FnZSAuPSAkdGhpcy0+bGFuZygnZXJyb3JfdXBkYXRpbmdfbXVsdGlfaW5wdXQnKS4nPGJyIC8+JzsKCQl9CgkJZWxzZSBpZighJHRoaXMtPlVwZGF0ZVRwbEFzc29jKCdtdWx0aV9pbnB1dCcsJGlucHV0X2lkLCRtdWx0aV9pbnB1dFskaW5wdXRfaWRdWyd0cGxfbmFtZSddKSkKCQl7CgkJCSRlcnJvciA9IHRydWU7CgkJCSRlcnJvcm1lc3NhZ2UgLj0gJHRoaXMtPmxhbmcoJ2Vycm9yX3VwZGF0aW5nX211bHRpX2lucHV0X2Fzc29jcycpLic8YnIgLz4nOwoJCX0KCQllbHNlCgkJewoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnbWVzc2FnZSc9PidtdWx0aV9pbnB1dF91cGRhdGVkJywKCQkJCSdhY3RpdmVfdGFiJz0+J211bHRpX2lucHV0Jywnc3VibWl0Jz0+dHJ1ZSkpOwoJCX0KCX0KCn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIHNtYXJ0eSBzdHVmZgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2Zvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwKCSdlZGl0TXVsdGlJbnB1dCcsICRyZXR1cm5pZCwncG9zdCcsJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZF9mb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7JHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywKCWxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywKCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2NhbmNlbCcsbGFuZygnY2FuY2VsJykpKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfaWRfdGV4dCcsJHRoaXMtPmxhbmcoJ2lucHV0X2lkJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2lkX2lucHV0JywkaW5wdXRfaWQpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF90cGxfdGV4dCcsJHRoaXMtPmxhbmcoJ211bHRpX2lucHV0X3RwbCcpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF90cGxfaW5wdXQnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2lucHV0X3RwbCcsICR0aGlzLT5HZXRUcGxMaXN0KCdtdWx0aV9pbnB1dCcpLCAnJywgJG11bHRpX2lucHV0WyRpbnB1dF9pZF1bJ3RwbF9uYW1lJ10pKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfZmllbGRzX3RleHQnLCR0aGlzLT5sYW5nKCdpbnB1dF9maWVsZHMnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRfZmllbGRzX2lucHV0JywKCSR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwkaWQsJG11bHRpX2lucHV0WyRpbnB1dF9pZF1bJ2lucHV0X2ZpZWxkcyddLCdpbnB1dF9maWVsZHMnLCcnLCdpbnB1dF9maWVsZHMnKS4KCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdpbnB1dF9pZCcsJGlucHV0X2lkKSk7CgppZigkZXJyb3JtZXNzYWdlIT0nJykKewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlcnJvcm1lc3NhZ2UnLCRlcnJvcm1lc3NhZ2UpOwp9CgojIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQplY2hvICR0aGlzLT5fcHAuJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRkTXVsdGlJbnB1dC50cGwnKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.editMultiInputTpl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIE1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQojICAgICAgICAgIGEgY29udGVudCBtYW5hZ2VtZW50IHRvb2wgZm9yIENNUyBNYWRlIFNpbXBsZQojICAgICAgICAgIFRoZSBwcm9qZWN0cyBob21lcGFnZSBpcyBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2NvbnRlbnQyLwojICAgICAgICAgIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNC0yMDExIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBWZXJzaW9uOiAwLjguMQojIEZpbGUgICA6IGFjdGlvbi5hZGRNdWx0aUlucHV0VHBsLnBocAojIFB1cnBvc2U6IGVkaXRzIGEgdGVtcGxhdGUgZm9yIG11bHRpIGlucHV0IGJsb2NrdHlwZQojIExpY2Vuc2U6IEdQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwoKaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBBZHZhbmNlZENvbnRlbnQgTXVsdGlJbnB1dCBUZW1wbGF0ZXMnKSkKewoJcmV0dXJuICR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdlcnJvcl9wZXJtaXNzaW9ucycpKTsKfQoKaWYoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQp7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnYWN0aXZlX3RhYic9PidtdWx0aV9pbnB1dF90cGwnKSk7Cn0KCiRlcnJvciA9IGZhbHNlOwokZXJyb3JtZXNzYWdlID0gJyc7CgppZighaXNzZXQoJHBhcmFtc1sndHBsX2lkJ10pKQp7CglyZXR1cm4gJHRoaXMtPmxhbmcoJ2Vycm9yX2luc3VmZmljaWVudF9wYXJhbXMnLCd0cGxfaWQnKTsKfQoKJHRwbF9pZCA9ICRwYXJhbXNbJ3RwbF9pZCddOwoKJHRlbXBsYXRlID0gJyc7CmlmKGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pKQp7CgkkdGVtcGxhdGUgPSB0cmltKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOwp9CmVsc2UKewoJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0cGxfaWQpOwp9CgojIyMgZG8gYWN0aW9uICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKaWYoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICYmICRwYXJhbXNbJ3N1Ym1pdCddPT10cnVlKQp7CglpZigkdGVtcGxhdGUgPT0gJycpCgl7CgkJJGVycm9yID0gdHJ1ZTsKCQkkZXJyb3JtZXNzYWdlIC49ICR0aGlzLT5sYW5nKCdlcnJvcl90ZW1wbGF0ZScpLic8YnIgLz4nOwoJfQoJaWYoJGVycm9yPT1mYWxzZSkKCXsKCQkkdGhpcy0+U2V0VGVtcGxhdGUoJHRwbF9pZCwgJHRlbXBsYXRlKTsKCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnbWVzc2FnZSc9PidtdWx0aV9pbnB1dF90cGxfdXBkYXRlZCcsCgkJCSdhY3RpdmVfdGFiJz0+J211bHRpX2lucHV0X3RwbCcsJ3N1Ym1pdCc9PnRydWUpKTsKCX0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgc21hcnR5IHN0dWZmCiR0aGlzLT5zbWFydHktPmFzc2lnbignc3RhcnRfZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLAoJJ2VkaXRNdWx0aUlucHV0VHBsJywgJHJldHVybmlkLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kX2Zvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTskdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLAoJbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLAoJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnY2FuY2VsJyxsYW5nKCdjYW5jZWwnKSkpOwoKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0cGxfbmFtZV90ZXh0JywkdGhpcy0+bGFuZygndHBsX25hbWUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndHBsX25hbWVfaW5wdXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAndHBsX2lkJywgJHRwbF9pZCkgLiBzdWJzdHIoJHRwbF9pZCxzdHJsZW4oJ211bHRpX2lucHV0XycpKSwgNjQsIDEyOCk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlX3RleHQnLGxhbmcoJ3RlbXBsYXRlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlX2lucHV0JywKCSR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwkaWQsJHRlbXBsYXRlLCd0ZW1wbGF0ZScsJycsJ3RlbXBsYXRlJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hlbHBfdGV4dCcsJHRoaXMtPmxhbmcoJ2hlbHBfdHBsX3ZhcnMnKSk7CmlmKCRlcnJvcm1lc3NhZ2UhPScnKQp7CgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2Vycm9ybWVzc2FnZScsJGVycm9ybWVzc2FnZSk7Cn0KCiMgRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCmVjaG8gJHRoaXMtPl9wcC4kdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZGRNdWx0aUlucHV0VHBsLnRwbCcpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.savePrefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIE1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQojICAgICAgICAgIGEgY29udGVudCBtYW5hZ2VtZW50IHRvb2wgZm9yIENNUyBNYWRlIFNpbXBsZQojICAgICAgICAgIFRoZSBwcm9qZWN0cyBob21lcGFnZSBpcyBkZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIvCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTEgYnkgVGVkIEt1bHAKIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGNtc21hZGVzaW1wbGUub3JnCiMgVmVyc2lvbjogMC44LjEKIyBGaWxlICAgOiBhY3Rpb24uc2F2ZVByZWZzLnBocAojIFB1cnBvc2U6IHNhdmVzIHRoZSBwcmVmZXJlbmNlcyBpbiB0aGUgZGF0YWJhc2UKIyBMaWNlbnNlOiBHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKCmlmKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydzdWJtaXRfcHJlZnMnXSkpCnsKCWlmKGlzc2V0KCRwYXJhbXNbJ3VzZV9hZHZhbmNlZF9wYWdlb3B0aW9ucyddKSkKCXsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJywgJHBhcmFtc1sndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJ10pOwoJfQoJaWYoaXNzZXQoJHBhcmFtc1sndW5pbnN0YWxsX2FjdGlvbiddKSkKCXsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndW5pbnN0YWxsX2FjdGlvbicsICRwYXJhbXNbJ3VuaW5zdGFsbF9hY3Rpb24nXSk7Cgl9CglpZihpc3NldCgkcGFyYW1zWydibG9ja19kaXNwbGF5X3NldHRpbmdzJ10pKQoJewoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdibG9ja19kaXNwbGF5X3NldHRpbmdzJywgJHBhcmFtc1snYmxvY2tfZGlzcGxheV9zZXR0aW5ncyddKTsKCX0KCWlmKGlzc2V0KCRwYXJhbXNbJ2NvbGxhcHNlX2Jsb2NrX2RlZmF1bHQnXSkpCgl7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NvbGxhcHNlX2Jsb2NrX2RlZmF1bHQnLCAkcGFyYW1zWydjb2xsYXBzZV9ibG9ja19kZWZhdWx0J10pOwoJfQoJaWYoaXNzZXQoJHBhcmFtc1snbWVzc2FnZV9kaXNwbGF5X3NldHRpbmdzJ10pKQoJewoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtZXNzYWdlX2Rpc3BsYXlfc2V0dGluZ3MnLCAkcGFyYW1zWydtZXNzYWdlX2Rpc3BsYXlfc2V0dGluZ3MnXSk7Cgl9CglpZihpc3NldCgkcGFyYW1zWydncm91cF9kaXNwbGF5X3NldHRpbmdzJ10pKQoJewoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdncm91cF9kaXNwbGF5X3NldHRpbmdzJywgJHBhcmFtc1snZ3JvdXBfZGlzcGxheV9zZXR0aW5ncyddKTsKCX0KCWlmKGlzc2V0KCRwYXJhbXNbJ2NvbGxhcHNlX2dyb3VwX2RlZmF1bHQnXSkpCgl7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NvbGxhcHNlX2dyb3VwX2RlZmF1bHQnLCAkcGFyYW1zWydjb2xsYXBzZV9ncm91cF9kZWZhdWx0J10pOwoJfQoJaWYoaXNzZXQoJHBhcmFtc1sndXNlX2V4cGlyZV9kYXRlJ10pKQoJewoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VfZXhwaXJlX2RhdGUnLCAkcGFyYW1zWyd1c2VfZXhwaXJlX2RhdGUnXSk7Cgl9CglpZihpc3NldCgkcGFyYW1zWydzdGFydF9kYXRlXzEnXSkpCgl7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3N0YXJ0X2RhdGUnLCBpbnR2YWwoJHBhcmFtc1snc3RhcnRfZGF0ZV8xJ10pIC4gJyAnIC4gJHBhcmFtc1snc3RhcnRfZGF0ZV8yJ10pOwoJfQoJaWYoaXNzZXQoJHBhcmFtc1snZW5kX2RhdGVfMSddKSkKCXsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW5kX2RhdGUnLCBpbnR2YWwoJHBhcmFtc1snZW5kX2RhdGVfMSddKSAuICcgJyAuICRwYXJhbXNbJ2VuZF9kYXRlXzInXSk7Cgl9CglpZihpc3NldCgkcGFyYW1zWydmZXVfYWNjZXNzJ10pKQoJewoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmZXVfYWNjZXNzJywgaW1wbG9kZSgnLCcsJHRoaXMtPkNsZWFuQXJyYXkoJHBhcmFtc1snZmV1X2FjY2VzcyddKSkpOwoJfQoJaWYoaXNzZXQoJHBhcmFtc1sncmVkaXJlY3RfcGFnZSddKSkKCXsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVkaXJlY3RfcGFnZScsICRwYXJhbXNbJ3JlZGlyZWN0X3BhZ2UnXSk7Cgl9CgkKCWlmKGlzc2V0KCRwYXJhbXNbJ2ZldV9wYXJhbXMnXSkpCgl7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZldV9wYXJhbXMnLCAkcGFyYW1zWydmZXVfcGFyYW1zJ10pOwoJfQoJaWYoaXNzZXQoJHBhcmFtc1snZmV1X3BhcmFtc19zbWFydHknXSkpCgl7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZldV9wYXJhbXNfc21hcnR5JywgJHBhcmFtc1snZmV1X3BhcmFtc19zbWFydHknXSk7Cgl9CglpZihpc3NldCgkcGFyYW1zWydpbmhlcml0X2ZldV9wYXJhbXMnXSkpCgl7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2luaGVyaXRfZmV1X3BhcmFtcycsICRwYXJhbXNbJ2luaGVyaXRfZmV1X3BhcmFtcyddKTsKCX0KCQoJaWYoaXNzZXQoJHBhcmFtc1snY3VzdG9tX3BhcmFtcyddKSkKCXsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VzdG9tX3BhcmFtcycsICRwYXJhbXNbJ2N1c3RvbV9wYXJhbXMnXSk7Cgl9CglpZihpc3NldCgkcGFyYW1zWydjdXN0b21fcGFyYW1zX3NtYXJ0eSddKSkKCXsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY3VzdG9tX3BhcmFtc19zbWFydHknLCAkcGFyYW1zWydjdXN0b21fcGFyYW1zX3NtYXJ0eSddKTsKCX0KCWlmKGlzc2V0KCRwYXJhbXNbJ2luaGVyaXRfY3VzdG9tX3BhcmFtcyddKSkKCXsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW5oZXJpdF9jdXN0b21fcGFyYW1zJywgJHBhcmFtc1snaW5oZXJpdF9jdXN0b21fcGFyYW1zJ10pOwoJfQoJCglpZihpc3NldCgkcGFyYW1zWydmZXVfYWN0aW9uJ10pKQoJewoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdmZXVfYWN0aW9uJywgJHBhcmFtc1snZmV1X2FjdGlvbiddKTsKCX0KCWlmKGlzc2V0KCRwYXJhbXNbJ2hpZGVfbWVudV9pdGVtJ10pKQoJewoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdoaWRlX21lbnVfaXRlbScsICRwYXJhbXNbJ2hpZGVfbWVudV9pdGVtJ10pOwoJfQp9CmlmKGlzc2V0KCRwYXJhbXNbJ2l0ZW1fdHlwZSddKSAmJiBpc3NldCgkcGFyYW1zWydpdGVtX2Rpc3BsYXknXSkpCnsKCSR0aGlzLT5TZXRJdGVtRGlzcGxheSgkcGFyYW1zWydpdGVtX3R5cGUnXSwgJHBhcmFtc1snaXRlbV9pZCddLCAkcGFyYW1zWydjb250ZW50X2lkJ10sICRwYXJhbXNbJ3RlbXBsYXRlX2lkJ10sICRwYXJhbXNbJ2l0ZW1fZGlzcGxheSddKTsKfQppZihpc3NldCgkcGFyYW1zWydzZXRfZGVmYXVsdCddKSkKewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfJy4kcGFyYW1zWydzZXRfZGVmYXVsdCddLidfdHBsJywgJHBhcmFtc1sndHBsX2lkJ10pOwp9CmlmKGlzc2V0KCRwYXJhbXNbJ2FqYXgnXSkpCnsKCWVjaG8gJzxkaXYgY2xhc3M9InBhZ2VtY29udGFpbmVyIj48cCBjbGFzcz0icGFnZW1lc3NhZ2UiPicuJHRoaXMtPmxhbmcoJ3ByZWZzdXBkYXRlZCcpLic8L3A+PC9kaXY+JzsKCWV4aXQ7Cn0KZWxzZQp7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnbWVzc2FnZScgPT4gJ3ByZWZzdXBkYXRlZCcsICdzdWJtaXQnID0+IHRydWUpKTsKfQo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/AdvancedContent.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIE1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQojICAgICAgICAgIGEgY29udGVudCBtYW5hZ2VtZW50IHRvb2wgZm9yIENNUyBNYWRlIFNpbXBsZQojICAgICAgICAgIFRoZSBwcm9qZWN0cyBob21lcGFnZSBpcyBkZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIvCiMgICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTEgYnkgVGVkIEt1bHAKIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGNtc21hZGVzaW1wbGUub3JnCiMgVmVyc2lvbjogMC44LjEKIyBGaWxlICAgOiBBZHZhbmNlZENvbnRlbnQubW9kdWxlLnBocAojIFB1cnBvc2U6IGluaXRpYWwgbW9kdWxlIGNsYXNzLgojIExpY2Vuc2U6IEdQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyBBZHZhbmNlZENvbnRlbnQgZXh0ZW5kcyBDTVNNb2R1bGUKewoJLyoqCgkgKiBAYWNjZXNzIHByaXZhdGUKCSAqIEB2YXIgYXJyYXkKCSAqLwoJcHJpdmF0ZSAkX2Rpc3BsYXlTZXR0aW5ncyA9IGFycmF5KCk7Cglwcml2YXRlICRfZmV1R3JvdXBzICAgICAgID0gZmFsc2U7Cglwcm90ZWN0ZWQgJF9wcCA9ICc8ZGl2IHN0eWxlPSJmbG9hdDpyaWdodCI+PGZvcm0gYWN0aW9uPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyIiBtZXRob2Q9InBvc3QiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjbWQiIHZhbHVlPSJfcy14Y2xpY2siIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Imhvc3RlZF9idXR0b25faWQiIHZhbHVlPSJGQTJEM0ZQTFNUQUtKIiAvPgo8aW5wdXQgdHlwZT0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9lbl9HQi9pL2J0bi9idG5fZG9uYXRlX0xHLmdpZiIgYm9yZGVyPSIwIiBuYW1lPSJzdWJtaXQiIGFsdD0iUGF5UGFsIC0gVGhlIHNhZmVyLCBlYXNpZXIgd2F5IHRvIHBheSBvbmxpbmUuIiAvPgo8aW1nIGFsdD0iIiBib3JkZXI9IjAiIHNyYz0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9kZV9ERS9pL3Njci9waXhlbC5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIC8+CjwvZm9ybT48L2Rpdj4nOwoKCXZhciAkX2luaGVyaXRhYmxlcyA9IGFycmF5KCAwID0+IGFycmF5KAoJCQknZmV1X2FjY2VzcycgICAgICAgICAgID0+IC0xLAoJCQkncmVkaXJlY3RfcGFnZScgICAgICAgID0+IC0xLAoJCQknY3VzdG9tX3BhcmFtcycgICAgICAgID0+IC0xLAoJCQknY3VzdG9tX3BhcmFtc19zbWFydHknID0+IC0xLAoJCQknZmV1X3BhcmFtcycgICAgICAgICAgID0+IC0xLAoJCQknZmV1X3BhcmFtc19zbWFydHknICAgID0+IC0xLAoJCQknZmV1X2FjdGlvbicgICAgICAgICAgID0+IC0xLAoJCQknc3RhcnRfZGF0ZScgICAgICAgICAgID0+IC0xLAoJCQknZW5kX2RhdGUnICAgICAgICAgICAgID0+IC0xLAoJCQknaGlkZV9tZW51X2l0ZW0nICAgICAgID0+IC0xLAoJCQkndXNlX2V4cGlyZV9kYXRlJyAgICAgID0+IC0xKSk7CgkKCWZ1bmN0aW9uIF9fY29uc3RydWN0KCkKCXsKCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCk7CgkJJHRoaXMtPlJlZ2lzdGVyQ29udGVudFR5cGUoJ0NvbnRlbnQyJywgZGlybmFtZShfX0ZJTEVfXykgLgoJCQlESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ2NvbnRlbnR0eXBlLkNvbnRlbnQyLnBocCcsICR0aGlzLT5sYW5nKCdBZHZhbmNlZENvbnRlbnQnKSk7Cgl9CgkKCWZ1bmN0aW9uIEdldE5hbWUoKQoJewoJCXJldHVybiAnQWR2YW5jZWRDb250ZW50JzsKCX0KCQoJZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ0FkdmFuY2VkQ29udGVudCcpOwoJfQoJCglmdW5jdGlvbiBHZXRWZXJzaW9uKCkKCXsKCQlyZXR1cm4gJzAuOC4xJzsKCX0KCQoJZnVuY3Rpb24gR2V0SGVscCgpCgl7CgkJJHBhdGggPSBkaXJuYW1lKF9fRklMRV9fKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAnZG9jJyAuIERJUkVDVE9SWV9TRVBBUkFUT1I7CgkJaWYoZmlsZV9leGlzdHMoJHBhdGggLiAnaGVscF8nIC4gJHRoaXMtPmN1cmxhbmcgLiAnLmh0bWwnKSkKCQl7CgkJCXJldHVybiAkdGhpcy0+X3BwIC4gZmlsZV9nZXRfY29udGVudHMoJHBhdGggLiAnaGVscF8nIC4gJHRoaXMtPmN1cmxhbmcgLiAnLmh0bWwnKTsKCQl9CgkJcmV0dXJuICR0aGlzLT5fcHAgLiBmaWxlX2dldF9jb250ZW50cygkcGF0aCAuICdoZWxwX2VuX1VTLmh0bWwnKTsKCX0KCQoJZnVuY3Rpb24gR2V0QXV0aG9yKCkKCXsKCQlyZXR1cm4gJ0dlb3JnIEJ1c2NoIChOYU4pJzsKCX0KCQoJZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQoJewoJCXJldHVybjsKCX0KCQoJZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKCXsKCQlyZXR1cm4gJHRoaXMtPl9wcCAuIGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoX19GSUxFX18pIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdkb2MnIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdjaGFuZ2Vsb2cuaHRtbCcpOwoJfQoJCglmdW5jdGlvbiBIYXNDb250ZW50VHlwZSgpCgl7CgkJcmV0dXJuIHRydWU7Cgl9CgkKCWZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKCXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCQoJZnVuY3Rpb24gSGFzQWRtaW4oKQoJewoJCXJldHVybiB0cnVlOwoJfQoJCglmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKQoJewoJCXJldHVybiAnZXh0ZW5zaW9ucyc7Cgl9CgkKCWZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKQoJewoJCXJldHVybiAkdGhpcy0+bGFuZygnYWRtaW5kZXNjcmlwdGlvbicpOwoJfQoJCglmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQoJewoJCXJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgQWR2YW5jZWRDb250ZW50IFByZWZlcmVuY2VzJykgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIEFkdmFuY2VkQ29udGVudCBNdWx0aUlucHV0cycpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBBZHZhbmNlZENvbnRlbnQgTXVsdGlJbnB1dCBUZW1wbGF0ZXMnKTsKCX0KCQoJZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKQoJewoJCXJldHVybiAiMS45LjQuMyI7Cgl9CgkKCWZ1bmN0aW9uIE1heGltdW1DTVNWZXJzaW9uKCkKCXsKCQlyZXR1cm4gIjEuMTAiOwoJfQoJCglmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnLCAkdGhpcy0+R2V0VmVyc2lvbigpKTsKCX0KCQoJZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcsICR0aGlzLT5HZXRWZXJzaW9uKCkpOwoJfQoJCglmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2NvbmZpcm11bmluc3RhbGwnLCR0aGlzLT5sYW5nKCd3YXJuaW5ndW5pbnN0YWxsJy4kdGhpcy0+R2V0UHJlZmVyZW5jZSgndW5pbnN0YWxsX2FjdGlvbicpKSk7Cgl9CgkKCWZ1bmN0aW9uIEhhbmRsZXNFdmVudHMoKQoJewoJCXJldHVybiB0cnVlOwoJfQoJCglmdW5jdGlvbiBEb0FjdGlvbigkYWN0aW9uLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCA9ICcnKQoJewoJCXN3aXRjaCgkYWN0aW9uKSB7CgkJCQoJCQljYXNlICdpbXBvcnRwYWdlcyc6CgkJCQkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCk7CgkJCQlpZihpc3NldCgkcGFyYW1zWydvbGRfdHlwZSddKSAmJiBpc3NldCgkcGFyYW1zWyduZXdfdHlwZSddKQoJCQkJJiYgJHBhcmFtc1snb2xkX3R5cGUnXSAhPSAnJyAmJiAkcGFyYW1zWyduZXdfdHlwZSddICE9ICcnCgkJCQkmJiAkcGFyYW1zWyduZXdfdHlwZSddICE9ICRwYXJhbXNbJ29sZF90eXBlJ10KCQkJCSYmICgkcGFyYW1zWyduZXdfdHlwZSddID09ICdjb250ZW50JyB8fCAkcGFyYW1zWyduZXdfdHlwZSddID09ICdjb250ZW50MicpCgkJCQkmJiAoJHBhcmFtc1snb2xkX3R5cGUnXSA9PSAnY29udGVudCcgfHwgJHBhcmFtc1snb2xkX3R5cGUnXSA9PSAnY29udGVudDInKSkKCQkJCXsKCQkJCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7CgkJCQkJJHF1ZXJ5ICAgID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4iY29udGVudCBTRVQgdHlwZSA9ID8gV0hFUkUgdHlwZSA9ID8iOwoJCQkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ25ld190eXBlJ10sJHBhcmFtc1snb2xkX3R5cGUnXSkpOwoJCQkJCWlmKCRkYnJlc3VsdCkKCQkJCQl7CgkJCQkJCSRtZXNzYWdlID0gJHRoaXMtPmxhbmcoJ3N1Y2Nlc3NfaW1wb3J0cGFnZXMnLCR0aGlzLT5sYW5nKCRwYXJhbXNbJ29sZF90eXBlJ10pLCAkdGhpcy0+bGFuZygkcGFyYW1zWyduZXdfdHlwZSddKSk7CgkJCQkJCSRfcGFyYW1zID0gYXJyYXkoCgkJCQkJCQknbmV3X3R5cGUnID0+ICRwYXJhbXNbJ25ld190eXBlJ10sCgkJCQkJCQknb2xkX3R5cGUnID0+ICRwYXJhbXNbJ29sZF90eXBlJ10sCgkJCQkJCQknbWVzc2FnZScgID0+ICdzdWNjZXNzX2ltcG9ydHBhZ2VzJyk7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCSRfcGFyYW1zID0gYXJyYXkoCgkJCQkJCQknbmV3X3R5cGUnICAgICA9PiAkcGFyYW1zWyduZXdfdHlwZSddLAoJCQkJCQkJJ29sZF90eXBlJyAgICAgPT4gJHBhcmFtc1snb2xkX3R5cGUnXSwKCQkJCQkJCSdlcnJvcm1lc3NhZ2UnID0+ICdlcnJvcl9pbXBvcnRwYWdlcycpOwoJCQkJCQkkZXJyb3JtZXNzYWdlID0gJHRoaXMtPmxhbmcoJ2Vycm9yX2ltcG9ydHBhZ2VzJywkdGhpcy0+bGFuZygkcGFyYW1zWydvbGRfdHlwZSddKSwgJHRoaXMtPmxhbmcoJHBhcmFtc1snbmV3X3R5cGUnXSkpOwoJCQkJCX0KCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQkkX3BhcmFtcyAgICAgID0gYXJyYXkoJ2Vycm9ybWVzc2FnZScgPT4gJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpOwoJCQkJCSRlcnJvcm1lc3NhZ2UgPSAkdGhpcy0+bGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJywgJ25ld190eXBlLCBvbGRfdHlwZScpOwoJCQkJfQoJCQkJCgkJCQlpZihpc3NldCgkcGFyYW1zWydhamF4J10pKQoJCQkJewoJCQkJCUBvYl9lbmRfY2xlYW4oKTsKCQkJCQlAb2Jfc3RhcnQoKTsKCQkJCQlpZihpc3NldCgkZXJyb3JtZXNzYWdlKSkKCQkJCQl7CgkJCQkJCWVjaG8gJzxkaXYgY2xhc3M9InBhZ2VlcnJvcmNvbnRhaW5lciI+PHVsIGNsYXNzPSJwYWdlZXJyb3IiPjxsaT4nLiAkZXJyb3JtZXNzYWdlIC4gJzwvbGk+PC91bD48L2Rpdj4nOwoJCQkJCX0KCQkJCQlpZihpc3NldCgkbWVzc2FnZSkpCgkJCQkJewoJCQkJCQllY2hvICc8ZGl2IGNsYXNzPSJwYWdlbWNvbnRhaW5lciI+PHAgY2xhc3M9InBhZ2VtZXNzYWdlIj4nLiRtZXNzYWdlLic8L3A+PC9kaXY+JzsKCQkJCQl9CgkJCQkJb2JfZW5kX2ZsdXNoKCk7CgkJCQkJZXhpdDsKCQkJCX0KCQkJCSRfcGFyYW1zWydzdWJtaXQnXSA9IHRydWU7CgkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkX3BhcmFtcyk7CgkJCQlicmVhazsKCQkJCgkJCWNhc2UgJ2RlbGV0ZU11bHRpSW5wdXQnOgoJCQkJJHRoaXMtPkNoZWNrUGVybWlzc2lvbigpOwoJCQkJJGl0ZW1zICAgICAgICA9IGFycmF5KCk7CgkJCQkkX3BhcmFtcyAgICAgID0gYXJyYXkoKTsKCQkJCSRtZXNzYWdlICAgICAgPSAnJzsKCQkJCSRlcnJvcm1lc3NhZ2UgPSAnJzsKCQkJCWlmKGlzc2V0KCRwYXJhbXNbJ2lucHV0X2lkJ10pKQoJCQkJewoJCQkJCSRpdGVtc1tdID0gJHBhcmFtc1snaW5wdXRfaWQnXTsKCQkJCX0KCQkJCWVsc2UgaWYoaXNzZXQoJHBhcmFtc1snc3VibWl0X2J1bGthY3Rpb24nXSkpCgkJCQl7CgkJCQkJZm9yZWFjaCgkcGFyYW1zIGFzICRwYXJhbV9uYW1lID0+ICRwYXJhbV92YWx1ZSkKCQkJCQl7CgkJCQkJCWlmKHN0YXJ0c3dpdGgoJHBhcmFtX25hbWUsJ211bHRpX2lucHV0LScpKQoJCQkJCQl7CgkJCQkJCQkkaXRlbXNbXSA9ICRwYXJhbV92YWx1ZTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJCWlmKCR0aGlzLT5EZWxldGVNdWx0aUlucHV0KCRpdGVtcykpCgkJCQl7CgkJCQkJJF9wYXJhbXNbJ21lc3NhZ2UnXSA9ICdtdWx0aV9pbnB1dF9kZWxldGVkJzsKCQkJCQkkbWVzc2FnZSAuPSAkdGhpcy0+bGFuZygnbXVsdGlfaW5wdXRfZGVsZXRlZCcpIC4gIjxiciAvPiI7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJJF9wYXJhbXNbJ2Vycm9ybWVzc2FnZSddID0gJ2Vycm9yX2RlbGV0ZV9tdWx0aV9pbnB1dCc7CgkJCQkJJGVycm9ybWVzc2FnZSAuPSAkdGhpcy0+bGFuZygnZXJyb3JfZGVsZXRlX211bHRpX2lucHV0JykgLiAiPGJyIC8+IjsKCQkJCX0KCQkJCWlmKCEkdGhpcy0+RGVsZXRlVHBsQXNzb2MoJ211bHRpX2lucHV0JywkaXRlbXMpKQoJCQkJewoJCQkJCSRfcGFyYW1zWydtZXNzYWdlJ10gPSAnZXJyb3JfZGVsZXRlX211bHRpX2lucHV0X3RwbF9hc3NvY3MnOwoJCQkJCSRlcnJvcm1lc3NhZ2UgLj0gJHRoaXMtPmxhbmcoJ2Vycm9yX2RlbGV0ZV9tdWx0aV9pbnB1dF90cGxfYXNzb2NzJykuICI8YnIgLz4iOwoJCQkJfQoJCQkJJF9wYXJhbXNbJ2FjdGl2ZV90YWInXSA9ICdtdWx0aV9pbnB1dCc7CgkJCQkKCQkJCWlmKGlzc2V0KCRwYXJhbXNbJ2FqYXgnXSkpCgkJCQl7CgkJCQkJQG9iX2VuZF9jbGVhbigpOwoJCQkJCUBvYl9zdGFydCgpOwoJCQkJCWlmKCRlcnJvcm1lc3NhZ2UpCgkJCQkJewoJCQkJCQllY2hvICc8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPjx1bCBjbGFzcz0icGFnZWVycm9yIj48bGk+Jy4gJGVycm9ybWVzc2FnZSAuICc8L2xpPjwvdWw+PC9kaXY+JzsKCQkJCQl9CgkJCQkJaWYoJG1lc3NhZ2UpCgkJCQkJewoJCQkJCQllY2hvICc8ZGl2IGNsYXNzPSJwYWdlbWNvbnRhaW5lciI+PHAgY2xhc3M9InBhZ2VtZXNzYWdlIj4nLiRtZXNzYWdlLic8L3A+PC9kaXY+JzsKCQkJCQl9CgkJCQkJb2JfZW5kX2ZsdXNoKCk7CgkJCQkJZXhpdDsKCQkJCX0KCQkJCQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJF9wYXJhbXMpOwoJCQkJYnJlYWs7CgkJCQoJCQljYXNlICdkZWxldGVNdWx0aUlucHV0VHBsJzoKCQkJCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oKTsKCQkJCSRfcGFyYW1zID0gYXJyYXkoKTsKCQkJCSRtZXNzYWdlICAgICAgPSAnJzsKCQkJCSRlcnJvcm1lc3NhZ2UgPSAnJzsKCQkJCWlmKGlzc2V0KCRwYXJhbXNbJ3RwbF9pZCddKSkKCQkJCXsKCQkJCQkkdGhpcy0+RGVsZXRlVGVtcGxhdGUoJHBhcmFtc1sndHBsX2lkJ10pOwoJCQkJCSRfcGFyYW1zWydtZXNzYWdlJ10gPSAnbXVsdGlfaW5wdXRfdHBsX2RlbGV0ZWQnOwoJCQkJCSRtZXNzYWdlIC49ICR0aGlzLT5sYW5nKCdtdWx0aV9pbnB1dF90cGxfZGVsZXRlZCcpIC4gIjxiciAvPiI7CgkJCQl9CgkJCQllbHNlIGlmKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdF9idWxrYWN0aW9uJ10pKQoJCQkJewoJCQkJCWZvcmVhY2goJHBhcmFtcyBhcyAkcGFyYW1fbmFtZSA9PiAkcGFyYW1fdmFsdWUpCgkJCQkJewoJCQkJCQlpZihzdGFydHN3aXRoKCRwYXJhbV9uYW1lLCdtdWx0aV9pbnB1dF90cGwtJykpCgkJCQkJCXsKCQkJCQkJCSR0aGlzLT5EZWxldGVUZW1wbGF0ZSgkcGFyYW1fdmFsdWUpOwoJCQkJCQkJJF9wYXJhbXNbJ21lc3NhZ2UnXSA9ICdtdWx0aV9pbnB1dF90cGxfZGVsZXRlZCc7CgkJCQkJCQkkbWVzc2FnZSAuPSAkdGhpcy0+bGFuZygnbXVsdGlfaW5wdXRfdHBsX2RlbGV0ZWQnKSAuICI8YnIgLz4iOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJJF9wYXJhbXNbJ2FjdGl2ZV90YWInXSA9ICdtdWx0aV9pbnB1dF90cGwnOwoJCQkJaWYoaXNzZXQoJHBhcmFtc1snYWpheCddKSkKCQkJCXsKCQkJCQlAb2JfZW5kX2NsZWFuKCk7CgkJCQkJQG9iX3N0YXJ0KCk7CgkJCQkJaWYoJGVycm9ybWVzc2FnZSkKCQkJCQl7CgkJCQkJCWVjaG8gJzxkaXYgY2xhc3M9InBhZ2VlcnJvcmNvbnRhaW5lciI+PHVsIGNsYXNzPSJwYWdlZXJyb3IiPjxsaT4nLiAkZXJyb3JtZXNzYWdlIC4gJzwvbGk+PC91bD48L2Rpdj4nOwoJCQkJCX0KCQkJCQlpZigkbWVzc2FnZSkKCQkJCQl7CgkJCQkJCWVjaG8gJzxkaXYgY2xhc3M9InBhZ2VtY29udGFpbmVyIj48cCBjbGFzcz0icGFnZW1lc3NhZ2UiPicuJG1lc3NhZ2UuJzwvcD48L2Rpdj4nOwoJCQkJCX0KCQkJCQlvYl9lbmRfZmx1c2goKTsKCQkJCQlleGl0OwoJCQkJfQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJF9wYXJhbXMpOwoJCQkJYnJlYWs7CgkJCQkKCQkJY2FzZSAnc3dpdGNoUGFyYW1zJzoKCQkJCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oKTsKCQkJCSMgc3dpdGNoIGNvbnRlbnRfcHJvcHMgcmVkaXJlY3RfcGFyYW1zLCBmZXVfcGFyYW1zLCBjdXN0b21fcGFyYW1zCgkJCQlpZihpc3NldCgkcGFyYW1zWydvbGRfdHlwZSddKSAmJiBpc3NldCgkcGFyYW1zWyduZXdfdHlwZSddKQoJCQkJJiYgJHBhcmFtc1snb2xkX3R5cGUnXSAhPSAnJyAmJiAkcGFyYW1zWyduZXdfdHlwZSddICE9ICcnCgkJCQkmJiAkcGFyYW1zWyduZXdfdHlwZSddICE9ICRwYXJhbXNbJ29sZF90eXBlJ10KCQkJCSYmICgkcGFyYW1zWyduZXdfdHlwZSddID09ICdjdXN0b21fcGFyYW1zJyB8fCAkcGFyYW1zWyduZXdfdHlwZSddID09ICdmZXVfcGFyYW1zJykKCQkJCSYmICgkcGFyYW1zWydvbGRfdHlwZSddID09ICdyZWRpcmVjdF9wYXJhbXMnIHx8ICRwYXJhbXNbJ29sZF90eXBlJ10gPT0gJ2N1c3RvbV9wYXJhbXMnIHx8ICRwYXJhbXNbJ2ZldV9wYXJhbXMnXSkpCgkJCQl7CgkJCQkJJGRiID0mICR0aGlzLT5HZXREYigpOwoJCQkJCSRxdWVyeSA9ICJVUERBVEUgYCIuIGNtc19kYl9wcmVmaXgoKSAuICJjb250ZW50X3Byb3BzYCBDUCwgYCIuIGNtc19kYl9wcmVmaXgoKSAuICJjb250ZW50YCBDIAoJCQkJCQlTRVQgQ1AucHJvcF9uYW1lID0gPyAKCQkJCQkJV0hFUkUgQ1AucHJvcF9uYW1lID0gPyAKCQkJCQkJQU5EIENQLmNvbnRlbnRfaWQgPSBDLmNvbnRlbnRfaWQgCgkJCQkJCUFORCBDLnR5cGUgPSA/OyI7CgkJCQkJCQoJCQkJCSRxdWVyeSAuPSAiVVBEQVRFIGAiLiBjbXNfZGJfcHJlZml4KCkgLiAiY29udGVudF9wcm9wc2AgQ1AsIGAiLiBjbXNfZGJfcHJlZml4KCkgLiAiY29udGVudGAgQyAKCQkJCQkJU0VUIENQLnByb3BfbmFtZSA9ID8gCgkJCQkJCVdIRVJFIENQLnByb3BfbmFtZSA9ID8gCgkJCQkJCUFORCBDUC5jb250ZW50X2lkID0gQy5jb250ZW50X2lkIAoJCQkJCQlBTkQgQy50eXBlID0gPzsiOwoJCQkJCQoJCQkJCSRxdWVyeSAuPSAiVVBEQVRFIGAiLiBjbXNfZGJfcHJlZml4KCkgLiAiY29udGVudF9wcm9wc2AgQ1AsIGAiLiBjbXNfZGJfcHJlZml4KCkgLiAiY29udGVudGAgQyAKCQkJCQkJU0VUIENQLnByb3BfbmFtZSA9ID8gCgkJCQkJCVdIRVJFIENQLnByb3BfbmFtZSA9ID8gCgkJCQkJCUFORCBDUC5jb250ZW50X2lkID0gQy5jb250ZW50X2lkIAoJCQkJCQlBTkQgQy50eXBlID0gPzsiOwoJCQkJCQoJCQkJCWlmKCRwYXJhbXNbJ29sZF90eXBlJ10gPT0gJ3JlZGlyZWN0X3BhcmFtcycpCgkJCQkJewoJCQkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWyduZXdfdHlwZSddLCAkcGFyYW1zWydvbGRfdHlwZSddLCAnY29udGVudDInLCAKCQkJCQkJCSRwYXJhbXNbJ25ld190eXBlJ10uJ19zbWFydHknLCAnZXZhbHVhdGVfc21hcnR5JywnY29udGVudDInLAoJCQkJCQkJJ2luaGVyaXRfJy4kcGFyYW1zWyduZXdfdHlwZSddLCAnaW5oZXJpdF9yZWRpcmVjdF9wYXJhbXMnLCdjb250ZW50MicpKTsKCQkJCQkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ3N3aXRjaF9yZWRpcmVjdF9wYXJhbXMnKTsKCQkJCQl9CgkJCQkJZWxzZQoJCQkJCXsKCQkJCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1snbmV3X3R5cGUnXSwgJHBhcmFtc1snb2xkX3R5cGUnXSwgJ2NvbnRlbnQyJywgCgkJCQkJCQkkcGFyYW1zWyduZXdfdHlwZSddLidfc21hcnR5JywgJHBhcmFtc1snb2xkX3R5cGUnXS4nX3NtYXJ0eScsJ2NvbnRlbnQyJywKCQkJCQkJCSdpbmhlcml0XycuJHBhcmFtc1snbmV3X3R5cGUnXSwgJ2luaGVyaXRfJy4kcGFyYW1zWydvbGRfdHlwZSddLCdjb250ZW50MicpKTsKCQkJCQl9CgkJCQkJJG1lc3NhZ2UgPSAkdGhpcy0+bGFuZygnc3VjY2Vzc19zd2l0Y2hwYXJhbXMnLCAkdGhpcy0+bGFuZygkcGFyYW1zWydvbGRfdHlwZSddKSwgJHRoaXMtPmxhbmcoJHBhcmFtc1snbmV3X3R5cGUnXSkpOwoJCQkJCSRfcGFyYW1zID0gYXJyYXkoJ25ld190eXBlJyA9PiAkcGFyYW1zWyduZXdfdHlwZSddLAoJCQkJCQknb2xkX3R5cGUnID0+ICRwYXJhbXNbJ29sZF90eXBlJ10sCgkJCQkJCSdtZXNzYWdlJyAgPT4gJ3N1Y2Nlc3Nfc3dpdGNocGFyYW1zJyk7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJJF9wYXJhbXMgICAgICA9IGFycmF5KCdlcnJvcm1lc3NhZ2UnID0+ICdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnKTsKCQkJCQkkZXJyb3JtZXNzYWdlID0gJHRoaXMtPmxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycsICduZXdfdHlwZSwgb2xkX3R5cGUnKTsKCQkJCX0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbJ2FqYXgnXSkpCgkJCQl7CgkJCQkJQG9iX2VuZF9jbGVhbigpOwoJCQkJCUBvYl9zdGFydCgpOwoJCQkJCWlmKGlzc2V0KCRlcnJvcm1lc3NhZ2UpKQoJCQkJCXsKCQkJCQkJZWNobyAnPGRpdiBjbGFzcz0icGFnZWVycm9yY29udGFpbmVyIj48dWwgY2xhc3M9InBhZ2VlcnJvciI+PGxpPicuICRlcnJvcm1lc3NhZ2UgLiAnPC9saT48L3VsPjwvZGl2Pic7CgkJCQkJfQoJCQkJCWlmKGlzc2V0KCRtZXNzYWdlKSkKCQkJCQl7CgkJCQkJCWVjaG8gJzxkaXYgY2xhc3M9InBhZ2VtY29udGFpbmVyIj48cCBjbGFzcz0icGFnZW1lc3NhZ2UiPicuJG1lc3NhZ2UuJzwvcD48L2Rpdj4nOwoJCQkJCX0KCQkJCQlvYl9lbmRfZmx1c2goKTsKCQkJCQlleGl0OwoJCQkJfQoJCQkJJF9wYXJhbXNbJ3N1Ym1pdCddID0gdHJ1ZTsKCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRfcGFyYW1zKTsKCQkJCWJyZWFrOwoJCQkJCgkJCWNhc2UgJ2RlZmF1bHQnOgoJCQljYXNlICdzYXZlUHJlZnMnOgoJCQljYXNlICdkZWZhdWx0YWRtaW4nOgoJCQljYXNlICdhZGRNdWx0aUlucHV0JzoKCQkJY2FzZSAnZWRpdE11bHRpSW5wdXQnOgoJCQljYXNlICdhZGRNdWx0aUlucHV0VHBsJzoKCQkJY2FzZSAnZWRpdE11bHRpSW5wdXRUcGwnOgoJCQkJcGFyZW50OjpEb0FjdGlvbigkYWN0aW9uLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7CgkJCQlicmVhazsKCQkJZGVmYXVsdDogYnJlYWs7CgkJfQoJfQoJCglmdW5jdGlvbiBEb0V2ZW50KCRvcmlnaW5hdG9yLCAkZXZlbnRuYW1lLCAmJHBhcmFtcykKCXsKCQlpZigkZXZlbnRuYW1lID09ICdDb250ZW50RWRpdFBvc3QnICYmIGJhc2VuYW1lKCRfU0VSVkVSWydQSFBfU0VMRiddKSA9PSAnY29weWNvbnRlbnQucGhwJyAmJiBpc3NldCgkcGFyYW1zWydjb250ZW50J10pICYmIGlzX29iamVjdCgkcGFyYW1zWydjb250ZW50J10pICYmICRwYXJhbXNbJ2NvbnRlbnQnXS0+VHlwZSgpID09ICdjb250ZW50MicpCgkJewoJCQlpZihpc3NldCgkX0dFVFsnY29udGVudF9pZCddKSkKCQkJewoJCQkJJG9sZF9jb250ZW50X2lkID0gJF9HRVRbJ2NvbnRlbnRfaWQnXTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCSRvbGRfY29udGVudF9pZCA9ICRwYXJhbXNbJ2NvbnRlbnQnXS0+SWQoKTsKCQkJfQoJCQlmb3JlYWNoKCRwYXJhbXNbJ2NvbnRlbnQnXS0+Z2V0X2NvbnRlbnRfYmxvY2tzKCkgYXMgJGJsb2NrSW5mbykKCQkJewoJCQkJJHRoaXMtPlNldEl0ZW1EaXNwbGF5KCdibG9jaycsICRibG9ja0luZm9bJ2lkJ10sICRwYXJhbXNbJ2NvbnRlbnQnXS0+SWQoKSwgJHBhcmFtc1snY29udGVudCddLT5UZW1wbGF0ZUlkKCksCgkJCQkJJHRoaXMtPkdldEl0ZW1EaXNwbGF5KCdibG9jaycsICRibG9ja0luZm9bJ2lkJ10sICRvbGRfY29udGVudF9pZCwgJHBhcmFtc1snY29udGVudCddLT5UZW1wbGF0ZUlkKCksICEkYmxvY2tJbmZvWydjb2xsYXBzZSddKSk7CgkJCX0KCQkJZm9yZWFjaCgkcGFyYW1zWydjb250ZW50J10tPmdldF9ibG9ja19ncm91cHMoKSBhcyAkZ3JvdXBJbmZvKQoJCQl7CgkJCQkkdGhpcy0+U2V0SXRlbURpc3BsYXkoJ2dyb3VwJywgJGdyb3VwSW5mb1snZ3JvdXBfaWQnXSwgJHBhcmFtc1snY29udGVudCddLT5JZCgpLCAkcGFyYW1zWydjb250ZW50J10tPlRlbXBsYXRlSWQoKSwKCQkJCQkkdGhpcy0+R2V0SXRlbURpc3BsYXkoJ2dyb3VwJywgJGdyb3VwSW5mb1snZ3JvdXBfaWQnXSwgJG9sZF9jb250ZW50X2lkLCAkcGFyYW1zWydjb250ZW50J10tPlRlbXBsYXRlSWQoKSwgISR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjb2xsYXBzZV9ncm91cF9kZWZhdWx0JywxKSkpOwoJCQl9CgkJfQoJCWVsc2UgaWYgKCRldmVudG5hbWUgPT0gJ0NvbnRlbnRQb3N0UmVuZGVyJykKCQl7CgkJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCQkJJHJlZGlyZWN0ID0gZmFsc2U7CgkJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCQkJIyBnZXQgYWxsIGNvbnRlbnQgb2YgdHlwZSBhZHZhbmNlZCB0aGF0IG5lZWQgdG8gYmUgc2V0IHRvIGFjdGl2ZS9pbmFjdGl2ZQoJCQkkcXVlcnkgPSAiU0VMRUNUIEMuY29udGVudF9pZCwgQy5hY3RpdmUKCQkJCUZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJjb250ZW50IEMKCQkJCUxFRlQgSk9JTiAiIC4gY21zX2RiX3ByZWZpeCgpIC4gImNvbnRlbnRfcHJvcHMgVVNFX0VYUAoJCQkJCU9OIFVTRV9FWFAuY29udGVudF9pZCA9IEMuY29udGVudF9pZAoJCQkJTEVGVCBKT0lOICIgLiBjbXNfZGJfcHJlZml4KCkgLiAiY29udGVudF9wcm9wcyBTVEFSVF9EQVRFCgkJCQkJT04gU1RBUlRfREFURS5jb250ZW50X2lkID0gQy5jb250ZW50X2lkCgkJCQlMRUZUIEpPSU4gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJjb250ZW50X3Byb3BzIEVORF9EQVRFCgkJCQkJT04gRU5EX0RBVEUuY29udGVudF9pZCA9IEMuY29udGVudF9pZAoJCQkJV0hFUkUKCQkJCQlDLnR5cGUgPSA/IEFORAoJCQkJCVVTRV9FWFAucHJvcF9uYW1lID0gPyBBTkQKCQkJCQlVU0VfRVhQLmNvbnRlbnQgPSA/IEFORCAoCgkJCQkJCSgKCQkJCQkJCVNUQVJUX0RBVEUucHJvcF9uYW1lID0gPyBBTkQKCQkJCQkJCVNUQVJUX0RBVEUuY29udGVudCA8PSA/IEFORAoJCQkJCQkJRU5EX0RBVEUucHJvcF9uYW1lID0gPyBBTkQKCQkJCQkJCUVORF9EQVRFLmNvbnRlbnQgPiA/IEFORAoJCQkJCQkJQy5hY3RpdmUgPSA/CgkJCQkJCSkKCQkJCQkJT1IKCQkJCQkJKAoJCQkJCQkJRU5EX0RBVEUucHJvcF9uYW1lID0gPyBBTkQKCQkJCQkJCUVORF9EQVRFLmNvbnRlbnQgPD0gPyBBTkQKCQkJCQkJCUMuYWN0aXZlID0gPwoJCQkJCQkpCgkJCQkJKQoJCQkJIjsKCQkJCQoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgnY29udGVudDInLCAndXNlX2V4cGlyZV9kYXRlJywKCQkJCScxJywgJ3N0YXJ0X2RhdGUnLCB0aW1lKCksICdlbmRfZGF0ZScsIHRpbWUoKSwgMCwgJ2VuZF9kYXRlJywKCQkJCXRpbWUoKSwgMSkpOwoJCQkKCQkJJGNvbnRlbnRzID0gYXJyYXkoKTsKCQkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJCXsKCQkJCWlmKCRyb3dbJ2FjdGl2ZSddKQoJCQkJewoJCQkJCSRjb250ZW50c1skcm93Wydjb250ZW50X2lkJ11dID0gMDsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQkkY29udGVudHNbJHJvd1snY29udGVudF9pZCddXSA9IDE7CgkJCQl9CgkJCX0KCQkJaWYoY291bnQoJGNvbnRlbnRzKSkKCQkJewoJCQkJY21zbXMoKS0+R2V0U21hcnR5KCktPmNsZWFyX2FsbF9jYWNoZSgpOwoJCQkJZm9yZWFjaCgkY29udGVudHMgYXMgJGNvbnRlbnRJZD0+JGFjdGl2ZSkKCQkJCXsKCQkJCQkkcXVlcnkgPSAiVVBEQVRFICIuIGNtc19kYl9wcmVmaXgoKSAuICJjb250ZW50CgkJCQkJCVNFVCBhY3RpdmUgPSA/IFdIRVJFIGNvbnRlbnRfaWQgPSA/IjsKCQkJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkYWN0aXZlLCAkY29udGVudElkKSk7CgkJCQkJaWYoJGNvbnRlbnRJZCA9PSBjbXNfdXRpbHM6OmdldF9jdXJyZW50X3BhZ2VpZCgpKQoJCQkJCXsKCQkJCQkJJHJlZGlyZWN0ID0gJGNvbnRlbnRJZDsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJaWYoJHJlZGlyZWN0KQoJCQl7CgkJCQkkdGhpcy0+UmVkaXJlY3RDb250ZW50KCRyZWRpcmVjdCk7CgkJCX0KCQl9Cgl9CgkKCWZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKQoJewoJCSR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwoJCWZvcmVhY2goJHRoaXMtPkdldEFsbG93ZWRQYXJhbWV0ZXJzKCkgYXMgJGsgPT4gJHYpIHsKCQkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJGssJHYpOwoJCX0KCX0KCQoJZnVuY3Rpb24gR2V0SGVhZGVySFRNTCgpCgl7CgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignbW9kdWxlX2lkJywgJ20xXycpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbignZGVidWcnLCRjb25maWdbJ2RlYnVnJ10gPyAndHJ1ZScgOiAnXCdcJycpOwoJCXJldHVybiAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdoZWFkZXIudHBsJyk7Cgl9CgkKLyoqCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIE5vdCBwYXJ0IG9mIHRoZSBDTVNtcyBtb2R1bGUgQVBJCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqLwoJCglwcm90ZWN0ZWQgZnVuY3Rpb24gR2V0QWxsb3dlZFBhcmFtZXRlcnMoKSB7CgkJcmV0dXJuIGFycmF5KAoJCQknY2FuY2VsJyA9PiBDTEVBTl9JTlQsCgkJCSdpbnB1dF9pZCcgPT4gQ0xFQU5fU1RSSU5HLAoJCQknaW5wdXRfZmllbGRzJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdpbnB1dF90cGwnID0+IENMRUFOX1NUUklORywKCQkJJ3N1Ym1pdCcgPT4gQ0xFQU5fSU5ULAoJCQkndHBsX25hbWUnID0+IENMRUFOX1NUUklORywKCQkJJ3RlbXBsYXRlJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdhY3RpdmUnID0+IENMRUFOX1NUUklORywKCQkJJ2Jsb2NrJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdkZWZhdWx0JyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdzbWFydHknID0+IENMRUFOX1NUUklORywKCQkJJ2FsbG93X25vbmUnID0+IENMRUFOX1NUUklORywKCQkJJ3JldHVybmlkJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdhY3RpdmVfdGFiJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdlcnJvcm1lc3NhZ2UnID0+IENMRUFOX1NUUklORywKCQkJJ21lc3NhZ2UnID0+IENMRUFOX1NUUklORywKCQkJJ29sZF90eXBlJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSduZXdfdHlwZScgPT4gQ0xFQU5fU1RSSU5HLAoJCQkndHBsX2lkJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdzdWJtaXRfcHJlZnMnID0+IENMRUFOX0lOVCwKCQkJJ3VzZV9hZHZhbmNlZF9wYWdlb3B0aW9ucycgPT4gQ0xFQU5fSU5ULAoJCQkndW5pbnN0YWxsX2FjdGlvbicgPT4gQ0xFQU5fSU5ULAoJCQknYmxvY2tfZGlzcGxheV9zZXR0aW5ncycgPT4gQ0xFQU5fU1RSSU5HLAoJCQknY29sbGFwc2VfYmxvY2tfZGVmYXVsdCcgPT4gQ0xFQU5fSU5ULAoJCQknbWVzc2FnZV9kaXNwbGF5X3NldHRpbmdzJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdncm91cF9kaXNwbGF5X3NldHRpbmdzJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdjb2xsYXBzZV9ncm91cF9kZWZhdWx0JyA9PiBDTEVBTl9JTlQsCgkJCSd1c2VfZXhwaXJlX2RhdGUnID0+IENMRUFOX0lOVCwKCQkJJ3N0YXJ0X2RhdGVfMScgPT4gQ0xFQU5fSU5ULAoJCQknc3RhcnRfZGF0ZV8yJyA9PiBDTEVBTl9JTlQsCgkJCSdlbmRfZGF0ZV8xJyA9PiBDTEVBTl9JTlQsCgkJCSdlbmRfZGF0ZV8yJyA9PiBDTEVBTl9JTlQsCgkJCSdmZXVfYWNjZXNzJyA9PiBDTEVBTl9JTlQsCgkJCSdyZWRpcmVjdF9wYWdlJyA9PiBDTEVBTl9JTlQsCgkJCSdmZXVfYWN0aW9uJyA9PiBDTEVBTl9JTlQsCgkJCSdoaWRlX21lbnVfaXRlbScgPT4gQ0xFQU5fSU5ULAoJCQknaXRlbV90eXBlJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdpdGVtX2Rpc3BsYXknID0+IENMRUFOX0lOVCwKCQkJJ2l0ZW1faWQnID0+IENMRUFOX1NUUklORywKCQkJJ2NvbnRlbnRfaWQnID0+IENMRUFOX0lOVCwKCQkJJ3RlbXBsYXRlX2lkJyA9PiBDTEVBTl9JTlQsCgkJCSdzZXRfZGVmYXVsdCcgPT4gQ0xFQU5fSU5ULAoJCQknYWpheCcgPT4gQ0xFQU5fSU5ULAoJCQknc2VyaWFsaXplZF9jb250ZW50JyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdhZGRpbmcnID0+IENMRUFOX0lOVCwKCQkJJ3N1Ym1pdF9idWxrYWN0aW9uJyA9PiBDTEVBTl9JTlQsCgkJCSdjb250ZW50X3R5cGUnID0+IENMRUFOX1NUUklORywKCQkJJ3BhcmVudF9pZCcgPT4gQ0xFQU5fSU5ULAoJCQknY2FjaGFibGUnID0+IENMRUFOX0lOVCwKCQkJJ3NlYXJjaGFibGUnID0+IENMRUFOX0lOVCwKCQkJJ3N0YXJ0X2RhdGUnID0+IENMRUFOX0lOVCwKCQkJJ21ldGFkYXRhJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdlbmRfZGF0ZScgPT4gQ0xFQU5fSU5ULAoJCQknQWR2YW5jZWRDb250ZW50U3RhcnRUaW1lJyA9PiBDTEVBTl9JTlQsCgkJCSdBZHZhbmNlZENvbnRlbnRTdGFydERhdGUnID0+IENMRUFOX0lOVCwKCQkJJ0FkdmFuY2VkQ29udGVudEVuZFRpbWUnID0+IENMRUFOX0lOVCwKCQkJJ0FkdmFuY2VkQ29udGVudEVuZERhdGUnID0+IENMRUFOX0lOVCwKCQkJJ2NvbGxhcHNlJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdlZGl0b3JfZ3JvdXBzJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdlZGl0b3JfdXNlcnMnID0+IENMRUFOX1NUUklORywKCQkJJ2Jsb2NrX3R5cGUnID0+IENMRUFOX1NUUklORywKCQkJJ3R5cGUnID0+IENMRUFOX1NUUklORywKCQkJJ3RyYW5zbGF0ZV9sYWJlbHMnID0+IENMRUFOX1NUUklORywKCQkJJ3RyYW5zbGF0ZV92YWx1ZXMnID0+IENMRUFOX1NUUklORywKCQkJJ2xhYmVsJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdyZXF1aXJlZCcgPT4gQ0xFQU5fU1RSSU5HLAoJCQknc3R5bGUnID0+IENMRUFOX1NUUklORywKCQkJJ3NpemUnID0+IENMRUFOX0lOVCwKCQkJJ3BhZ2VfdGFiJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdibG9ja190YWInID0+IENMRUFOX1NUUklORywKCQkJJ2Jsb2NrX2dyb3VwJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdkZXNjcmlwdGlvbicgPT4gQ0xFQU5fU1RSSU5HLAoJCQknbm9fY29sbGFwc2UnID0+IENMRUFOX1NUUklORywKCQkJJ21heGxlbmd0aCcgPT4gQ0xFQU5fSU5ULAoJCQkndXNld3lzaXd5ZycgPT4gQ0xFQU5fU1RSSU5HLAoJCQknb25lbGluZScgPT4gQ0xFQU5fU1RSSU5HLAoJCQknc2hvdzI0aCcgPT4gQ0xFQU5fSU5ULAoJCQknbW9kZScgPT4gQ0xFQU5fU1RSSU5HLAoJCQknc3RhcnRfaG91cicgPT4gQ0xFQU5fSU5ULAoJCQknZW5kX2hvdXInID0+IENMRUFOX0lOVCwKCQkJJ3N0YXJ0X21pbnV0ZScgPT4gQ0xFQU5fSU5ULAoJCQknZW5kX21pbnV0ZScgPT4gQ0xFQU5fSU5ULAoJCQknc3RhcnRfc2Vjb25kJyA9PiBDTEVBTl9JTlQsCgkJCSdlbmRfc2Vjb25kJyA9PiBDTEVBTl9JTlQsCgkJCSdzdGVwX2hvdXJzJyA9PiBDTEVBTl9JTlQsCgkJCSdzdGVwX21pbnV0ZXMnID0+IENMRUFOX0lOVCwKCQkJJ3N0ZXBfc2Vjb25kcycgPT4gQ0xFQU5fSU5ULAoJCQknc2hvd19jbG9jaycgPT4gQ0xFQU5fU1RSSU5HLAoJCQknc29ydGFibGUnID0+IENMRUFOX1NUUklORywKCQkJJ2RlbGltaXRlcicgPT4gQ0xFQU5fU1RSSU5HLAoJCQknaXRlbXMnID0+IENMRUFOX1NUUklORywKCQkJJ3ZhbHVlcycgPT4gQ0xFQU5fU1RSSU5HLAoJCQknbW9kdWxlJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdwYXJhbXMnID0+IENMRUFOX05PTkUsCgkJCSdwcmVmaXgnID0+IENMRUFOX1NUUklORywKCQkJJ2V4Y2x1ZGUnID0+IENMRUFOX1NUUklORywKCQkJJ2RpcicgPT4gQ0xFQU5fU1RSSU5HLAoJCQkndmFsdWVfZGVsaW1pdGVyJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdpbnB1dF9kZWxpbWl0ZXInID0+IENMRUFOX1NUUklORywKCQkJJ2FsbG93ZWRfYmxvY2tfdHlwZXMnID0+IENMRUFOX1NUUklORywKCQkJJ2FsbG93ZWRfbXVsdGlfaW5wdXRzJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdhbGxvd2VkX21vZHVsZXMnID0+IENMRUFOX1NUUklORywKCQkJJ2FsbG93ZWRfYmxvY2tfcGFyYW1zJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdhbGxvd2VkX21vZHVsZV9wYXJhbXMnID0+IENMRUFOX1NUUklORywKCQkJJ2RhdGVfZm9ybWF0JyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdpbnB1dG5hbWUnID0+IENMRUFOX1NUUklORywKCQkJJ2Zyb20nID0+IENMRUFOX0lOVCwKCQkJJ3RvJyA9PiBDTEVBTl9JTlQsCgkJCSdzdGVwJyA9PiBDTEVBTl9JTlQsCgkJCSdyb3VuZCcgPT4gQ0xFQU5fSU5ULAoJCQknaGV0ZXJvZ2VuZWl0eScgPT4gQ0xFQU5fU1RSSU5HLAoJCQknZGltZW5zaW9uJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdsaW1pdHMnID0+IENMRUFOX1NUUklORywKCQkJJ3NjYWxlJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdza2luJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdjYWxjdWxhdGUnID0+IENMRUFOX1NUUklORywKCQkJJ29uc3RhdGVjaGFuZ2UnID0+IENMRUFOX1NUUklORywKCQkJJ2NhbGxiYWNrJyA9PiBDTEVBTl9TVFJJTkcsCgkJCSdmZXVfaGlkZSc9PkNMRUFOX1NUUklORywKCQkJJ3NlcmlhbGl6ZWRfY29udGVudCc9PkNMRUFOX1NUUklORywKCQkJJ3Byb3BlcnR5Jz0+Q0xFQU5fU1RSSU5HLAoJCQknY29scyc9PkNMRUFOX0lOVCwKCQkJJ3Jvd3MnPT5DTEVBTl9JTlQsCgkJCSdhdXRvX3Jlc2l6ZSc9PkNMRUFOX1NUUklORywKCQkJJ2ZldV9wYXJhbXMnPT5DTEVBTl9TVFJJTkcsCgkJCSdpbmhlcml0X2ZldV9wYXJhbXMnPT5DTEVBTl9TVFJJTkcsCgkJCSdmZXVfcGFyYW1zX3NtYXJ0eSc9PkNMRUFOX1NUUklORywKCQkJJ2N1c3RvbV9wYXJhbXMnPT5DTEVBTl9TVFJJTkcsCgkJCSdpbmhlcml0X2N1c3RvbV9wYXJhbXMnPT5DTEVBTl9TVFJJTkcsCgkJCSdjdXN0b21fcGFyYW1zX3NtYXJ0eSc9PkNMRUFOX1NUUklORyk7Cgl9CgkKCQoJLyoqCgkgKiBmdW5jdGlvbiBJc1ZhckVtcHR5KCR2YXIsICR0cmltLCAkdW5zZXRFbXB0eUluZGV4ZXMpCgkgKiBub3QgcGFydCBvZiB0aGUgbW9kdWxlIGFwaQoJICogY2hlY2tzIGlmIGEgdmFyIGlzIGVtcHR5LiBpZiB2YXIgaXMgYW4gYXJyYXkgaXQgcmVjdXJzaXZsZXkgY2hlY2tzIGFsbCBlbGVtZW50cwoJICoKCSAqIEBwYXJhbSBtaXhlZCAkdmFyIC0gdGhlIHZhciB0byBjaGVjayBmb3IgZW1wdHkgdmFsdWUocykKCSAqIEBwYXJhbSBib29sZWFuICR0cmltIC0gdHJ1ZSB0byB0cmltIG9mZiBzcGFjZXMKCSAqIEBwYXJhbSBib29sZWFuICR1bnNldEVtcHR5SW5kZXhlcyAtIHRydWUgdG8gZGVsZXRlIGVtcHR5IGVsZW1lbnRzIGZyb20gYXJyYXkKCSAqIEByZXR1cm4gYm9vbGVhbiAtIHRydWUgaWYgZW1wdHksIGZhbHNlIGlmIG5vdAoJICovCglmdW5jdGlvbiBJc1ZhckVtcHR5KCYkdmFyLCAkdHJpbSA9IHRydWUsICR1bnNldEVtcHR5SW5kZXhlcyA9IGZhbHNlKQoJewoJCWlmIChpc19hcnJheSgkdmFyKSkKCQl7CgkJCWZvcmVhY2ggKCR2YXIgYXMgJGs9PiR2KQoJCQl7CgkJCQlpZiAoISR0aGlzLT5Jc1ZhckVtcHR5KCR2KSkKCQkJCXsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJaWYoJHVuc2V0RW1wdHlJbmRleGVzKQoJCQkJCQl1bnNldCgkdmFyWyRrXSk7CgkJCQkJcmV0dXJuIHRydWU7CgkJCQl9CgkJCX0KCQl9CgkJZWxzZSBpZigkdHJpbSAmJiB0cmltKCR2YXIpID09ICcnKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCWVsc2UgaWYoJHZhciA9PSAnJykKCQl7CgkJCXJldHVybiB0cnVlOwoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9CgkKCQoJLyoqCgkgKiBmdW5jdGlvbiBDbGVhbkFycmF5KCRhcnJheSkKCSAqIG5vdCBwYXJ0IG9mIHRoZSBtb2R1bGUgYXBpCgkgKiByZW1vdmVzIGVtcHR5IGVsZW1lbnRzIGZyb20gYW4gYXJyYXkKCSAqIChjYW4gYmUgdXNlZnVsIHdoZW4gdXNpbmcgZnVuY3Rpb24gZXhwbG9kZSB0byBjcmVhdGUgdGhlIGFycmF5IG9mIGEgY3N2KQoJICoKCSAqIEBwYXJhbSBhcnJheSAkYXJyYXkgLSB0aGUgYXJyYXkgdG8gY2xlYW4gdXAKCSAqIEByZXR1cm4gYXJyYXkgLSBhbiBhcnJheSB3aXRob3V0IGVtcHR5IGVsZW1lbnRzIG9yIGFuIGVtcHR5IGFycmF5CgkgKi8KCWZ1bmN0aW9uIENsZWFuQXJyYXkoJGFycmF5KQoJewoJCWlmIChpc19hcnJheSgkYXJyYXkpKQoJCXsKCQkJZm9yZWFjaCAoJGFycmF5IGFzICRrPT4kdikKCQkJewoJCQkJaWYgKCR0aGlzLT5Jc1ZhckVtcHR5KCR2LHRydWUsdHJ1ZSkpCgkJCQl7CgkJCQkJdW5zZXQoJGFycmF5WyRrXSk7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJaWYoaXNfYXJyYXkoJHYpKQoJCQkJCXsKCQkJCQkJJHYgPSAkdGhpcy0+Q2xlYW5BcnJheSgkdik7CgkJCQkJCWlmKCR0aGlzLT5Jc1ZhckVtcHR5KCR2LHRydWUsdHJ1ZSkpCgkJCQkJCQl1bnNldCgkYXJyYXlbJGtdKTsKCQkJCQkJZWxzZQoJCQkJCQkJJGFycmF5WyRrXSA9ICR2OwoJCQkJCX0KCQkJCX0KCQkJfQoJCQlyZXR1cm4gJGFycmF5OwoJCX0KCQlyZXR1cm4gYXJyYXkoKTsKCX0KCQoJCgkvKioKCSAqIGZ1bmN0aW9uIEdldFBhZ2VzKCkKCSAqIG5vdCBwYXJ0IG9mIHRoZSBtb2R1bGUgYXBpCgkgKiBnZXRzIGFsbCBwYWdlcyB0byBsaXN0IGluIGEgZHJvcGRvd24KCSAqCgkgKiBAcmV0dXJuIGFycmF5IC0gYSBzZXQgb2YgcGFnZXMKCSAqLwoJZnVuY3Rpb24gR2V0UGFnZXMoKQoJewoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCQkkcXVlcnkgPSAiU0VMRUNUIEMuYWN0aXZlLCBDLnR5cGUsIEMuY29udGVudF9pZCwgQy5wYXJlbnRfaWQsIEMuaGllcmFyY2h5LCBDLm1lbnVfdGV4dCwgQ1AuY29udGVudCBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAiY29udGVudCBDCgkJCUxFRlQgSk9JTiAiIC4gY21zX2RiX3ByZWZpeCgpIC4gImNvbnRlbnRfcHJvcHMgQ1AgT04gQ1AuY29udGVudF9pZCA9IEMuY29udGVudF9pZCBBTkQgQ1AucHJvcF9uYW1lID0gPwoJCQlPUkRFUiBCWSBoaWVyYXJjaHkiOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCdyZWRpcmVjdF9wYWdlJykpOwoJCWlmKCEkcGFnZXMgPSAkZGJyZXN1bHQtPkdldEFycmF5KCkpCgkJCXJldHVybiBhcnJheSgpOwoJCXJldHVybiAkcGFnZXM7Cgl9CgkKCQoJLyoqCgkgKiBmdW5jdGlvbiBDcmVhdGVSZWRpcmVjdERyb3Bkb3duKCkKCSAqIG5vdCBwYXJ0IG9mIHRoZSBtb2R1bGUgYXBpCgkgKiB0aGlzIGNyZWF0ZXMgYSBkcm9wZG93biBvZiBwYWdlcyBpbmNsdWRpbmcgb25seSBwYWdlcyBvZiB0eXBlIGNvbnRlbnQgYnV0CgkgKiBleGNsdWRpbmcgdGhlIGN1cnJlbnQgcGFnZSBhbmQgcGFnZXMgdGhhdCBtYXkgb25seSBiZSBhY2Nlc3NlZCBieSBmcm9udGVuZCB1c2VycwoJICoKCSAqIEByZXR1cm4gc3RyaW5nIC0gSFRNTCBzZWxlY3QgZWxlbWVudCB3aXRoIG9wdGlvbnMKCSAqLwoJZnVuY3Rpb24gQ3JlYXRlUmVkaXJlY3REcm9wZG93bigkaWQgPSAnJywgJG5hbWUgPSAncmVkaXJlY3RfcGFnZScsICRzZWxlY3RlZFBhZ2UgPSAnJywgJGN1cnJlbnRQYWdlID0gJycsICRhZGRfdHh0ID0gJycpCgl7CgkJJHBhZ2VzICAgICAgPSAkdGhpcy0+R2V0UGFnZXMoKTsKCQkkZHJvcGRvd24gICA9ICc8c2VsZWN0IG5hbWU9IicuJGlkLiRuYW1lLiciICcuKCRhZGRfdHh0ICE9ICcnID8gJGFkZF90eHQ6ICcnKS4oISR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VfYWR2YW5jZWRfcGFnZW9wdGlvbnMnLDEpID8gJyBkaXNhYmxlZD0iZGlzYWJsZWQiJyA6ICcnKSAuJz4nOwoJCSRkcm9wZG93biAgLj0gJzxvcHRpb24gdmFsdWU9IiInIC4gKCRzZWxlY3RlZFBhZ2UgPT0gJyc/JyBzZWxlY3RlZD0ic2VsZWN0ZWQiJzonJykgLiAnPicgLiAkdGhpcy0+bGFuZygnaGlkZV9jb250ZW50JykgLiAnPC9vcHRpb24+JzsKCQkkZHJvcGRvd24gIC49ICc8b3B0aW9uIHZhbHVlPSItMSInIC4gKCRzZWxlY3RlZFBhZ2UgPT0gLTE/JyBzZWxlY3RlZD0ic2VsZWN0ZWQiJzonJykgLiAnPicgLiAkdGhpcy0+bGFuZygnaW5oZXJpdF9mcm9tX3BhcmVudCcpIC4gJzwvb3B0aW9uPic7CgkJaWYoY291bnQoJHBhZ2VzKSkKCQl7CgkJCSRkcm9wZG93biAgLj0gJzxvcHRncm91cCBsYWJlbD0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIj4nOwoJCQkkY29udGVudG9wcyA9JiBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJCQlmb3JlYWNoKCRwYWdlcyBhcyAkcGFnZSkKCQkJewoJCQkJJHBhZ2VbJ2NvbnRlbnQnXSA9ICgkcGFnZVsnY29udGVudCddIDwgMCA/ICR0aGlzLT5Jbmhlcml0UGFyZW50UHJvcCgkcGFnZVsnY29udGVudF9pZCddLCAkcGFnZVsncGFyZW50X2lkJ10sICdyZWRpcmVjdF9wYWdlJykgOiAkcGFnZVsnY29udGVudCddKTsKCQkJCSRkaXNhYmxlZCA9ICcnOwoJCQkJJGluZGVudCAgID0gJyc7CgkJCQlmb3JlYWNoKGV4cGxvZGUoJy4nLCRwYWdlWydoaWVyYXJjaHknXSkgYXMgJHYpCgkJCQl7CgkJCQkJJGluZGVudCAuPSAnJm5ic3A7Jm5ic3A7Jm5ic3A7JzsKCQkJCX0KCQkJCSMgZG9uJ3QgcmVkaXJlY3QgdG8gcGFnZXMgd2l0aCBubyBwdWJsaWMgYWNjZXNzLCBpbnZhbGlkIGNvbnRlbnQgdHlwZSwgaW5hY3RpdmUgb3Igc2FtZSBjb250ZW50IGlkCgkJCQlpZigkcGFnZVsnYWN0aXZlJ10gIT0gMSB8fCAkcGFnZVsnY29udGVudCddPD4wIHx8ICRwYWdlWydjb250ZW50X2lkJ10gPT0gJGN1cnJlbnRQYWdlIHx8ICgkcGFnZVsndHlwZSddICE9ICdjb250ZW50JyAmJiAkcGFnZVsndHlwZSddICE9ICdjb250ZW50MicpKQoJCQkJewoJCQkJCSRkaXNhYmxlZCA9ICcgZGlzYWJsZWQ9ImRpc2FibGVkIic7CgkJCQl9CgkJCQkkZHJvcGRvd24gLj0gJzxvcHRpb24nLiAkZGlzYWJsZWQgLicgdmFsdWU9IicgLiAkcGFnZVsnY29udGVudF9pZCddIC4gJyIgJyAuCgkJCQkJKCRzZWxlY3RlZFBhZ2UgPT0gJHBhZ2VbJ2NvbnRlbnRfaWQnXSAmJiAkZGlzYWJsZWQgPT0gJyc/J3NlbGVjdGVkPSJzZWxlY3RlZCInOicnKSAuICc+JyAuICRpbmRlbnQgLiAKCQkJCQkkY29udGVudG9wcy0+Q3JlYXRlRnJpZW5kbHlIaWVyYXJjaHlQb3NpdGlvbigkcGFnZVsnaGllcmFyY2h5J10pIC4KCQkJCQknIC0gJyAuICRwYWdlWydtZW51X3RleHQnXSAuICgkZGlzYWJsZWQgIT0gJyc/JyAoJyAuICR0aGlzLT5sYW5nKCdpbnZhbGlkJykgLiAnKSc6JycpIC4gJzwvb3B0aW9uPic7CgkJCX0KCQkJJGRyb3Bkb3duICAuPSAnPC9vcHRncm91cD4nOwoJCX0KCQkkZHJvcGRvd24gLj0gJzwvc2VsZWN0Pic7CgkJcmV0dXJuICRkcm9wZG93bjsKCX0KCQoJCgkvKioKCSAqIGZ1bmN0aW9uIElzVHJ1ZSgkdmFsdWUpCgkgKiBub3QgcGFydCBvZiB0aGUgbW9kdWxlIGFwaQoJICogY2hlY2tzIGlmIGEgdmFsdWUgaXMgbGl0ZXJhbGx5ICJ0cnVlIgoJICogY2FuIGJlIHVzZWZ1bGwgd2hlbiBjaGVja2luZyBzbWFydHkgcGFyYW1zIGZvciB0aGUgdmFsdWUgdHJ1ZQoJICoKCSAqIEBwYXJhbSBtaXhlZCAkdmFsdWUgLSB0aGUgdmFsdWUgdG8gY2hlY2sKCSAqIEByZXR1cm4gYm9vbAoJICovCglmdW5jdGlvbiBJc1RydWUoJHZhbHVlKQoJewoJCXJldHVybiAoc3RydG9sb3dlcigkdmFsdWUpID09PSAndHJ1ZScgfHwgJHZhbHVlID09PSAxIHx8ICR2YWx1ZSA9PT0gJzEnIHx8ICR2YWx1ZSA9PT0gdHJ1ZSk7Cgl9CgkKCQoJLyoqCgkgKiBmdW5jdGlvbiBJc0ZhbHNlKCR2YWx1ZSkKCSAqIG5vdCBwYXJ0IG9mIHRoZSBtb2R1bGUgYXBpCgkgKiBjaGVja3MgaWYgYSB2YWx1ZSBpcyBsaXRlcmFsbHkgImZhbHNlIgoJICogY2FuIGJlIHVzZWZ1bGwgd2hlbiBjaGVja2luZyBzbWFydHkgcGFyYW1zIGZvciB0aGUgdmFsdWUgZmFsc2UKCSAqCgkgKiBAcGFyYW0gbWl4ZWQgJHZhbHVlIC0gdGhlIHZhbHVlIHRvIGNoZWNrCgkgKiBAcmV0dXJuIGJvb2wKCSAqLwoJZnVuY3Rpb24gSXNGYWxzZSgkdmFsdWUpCgl7CgkJcmV0dXJuIChzdHJ0b2xvd2VyKCR2YWx1ZSkgPT09ICdmYWxzZScgfHwgJHZhbHVlID09PSAnMCcgfHwgJHZhbHVlID09PSAwIHx8ICR2YWx1ZSA9PT0gZmFsc2UgfHwgJHZhbHVlID09PSAnJyk7Cgl9CgkKCQoJLyoqCgkgKiBzYXZlcyB0aGUgZGlzcGxheSBzdGF0dXMgb2YgY29udGVudCBibG9ja3MsIGNvbnRlbnQgYmxvY2tzIG1lc3NhZ2VzIGFuZCBibG9jayBncm91cHMKCSAqCgkgKiBAcGFyYW0gaW50ICRjb250ZW50X2lkIC0gdGhlIGlkIG9mIHRoZSBjb250ZW50IHdoZXJlIHRvIHNldCB0aGUgZGlzcGxheSBzdGF0dXMKCSAqIEBwYXJhbSBpbnQgJHRlbXBsYXRlX2lkIC0gdGhlIGlkIG9mIHRoZSB0ZW1wbGF0ZSB3aGVyZSB0byBzZXQgdGhlIGRpc3BsYXkgc3RhdHVzCgkgKiBAcGFyYW0gc3RyaW5nICRibG9ja19pZCAtIHRoZSBjb250ZW50IGJsb2NrIHRvIHRvZ2dsZSB0aGUgYmxvY2sgaXRzZWxmIG9yIHRoZSBtZXNzYWdlL2dyb3VwCgkgKiBAcGFyYW0gaW50ICRkaXNwbGF5IC0gMCB0byBoaWRlLCAxIHRvIHNob3cKCSAqCgkgKi8KCWZ1bmN0aW9uIFNldEl0ZW1EaXNwbGF5KCRpdGVtX3R5cGUsICRpdGVtX2lkLCAkY29udGVudF9pZCwgJHRlbXBsYXRlX2lkLCAkZGlzcGxheSkKCXsKCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCBpdGVtX2Rpc3BsYXkgRlJPTSAiLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX0FkdmFuY2VkQ29udGVudF8iLiRpdGVtX3R5cGUuImRpc3BsYXkKCQkJV0hFUkUgdXNlcl9pZCA9ID8gQU5EIGl0ZW1faWQgPSA/IEFORCAiOwoJCQoJCSRxID0gYXJyYXkoKTsKCQkkcCA9IGFycmF5KGdldF91c2VyaWQoKSwgJGl0ZW1faWQpOwoJCQoJCWlmKCRjb250ZW50X2lkCgkJJiYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCRpdGVtX3R5cGUuJ19kaXNwbGF5X3NldHRpbmdzJywnY29udGVudCcpID09ICdjb250ZW50JwoJCXx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCRpdGVtX3R5cGUuJ19kaXNwbGF5X3NldHRpbmdzJywnY29udGVudCcpID09ICdib3RoMScKCQl8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkaXRlbV90eXBlLidfZGlzcGxheV9zZXR0aW5ncycsJ2NvbnRlbnQnKSA9PSAnYm90aDInKSkKCQl7CgkJCSRxW10gPSAiY29udGVudF9pZCA9ID8iOwoJCQkkcFtdID0gJGNvbnRlbnRfaWQ7CgkJfQoJCQoJCWlmKCR0ZW1wbGF0ZV9pZCA+IDAKCQkmJiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJGl0ZW1fdHlwZS4nX2Rpc3BsYXlfc2V0dGluZ3MnLCdjb250ZW50JykgPT0gJ3RlbXBsYXRlJwoJCXx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCRpdGVtX3R5cGUuJ19kaXNwbGF5X3NldHRpbmdzJywnY29udGVudCcpID09ICdib3RoMScKCQl8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkaXRlbV90eXBlLidfZGlzcGxheV9zZXR0aW5ncycsJ2NvbnRlbnQnKSA9PSAnYm90aDInKSkKCQl7CgkJCSRxW10gPSAidGVtcGxhdGVfaWQgPSA/IjsKCQkJJHBbXSA9ICR0ZW1wbGF0ZV9pZDsKCQl9CgkJCgkJaWYoIWNvdW50KCRxKSkgewoJCQlyZXR1cm47CgkJfQoJCQoJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCRpdGVtX3R5cGUuJ19kaXNwbGF5X3NldHRpbmdzJywnY29udGVudCcpID09ICdib3RoMScpCgkJewoJCQkkcXVlcnkgLj0gIigiIC4gaW1wbG9kZSgiIE9SICIsJHEpIC4gIikiOwoJCX0KCQllbHNlIGlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCRpdGVtX3R5cGUuJ19kaXNwbGF5X3NldHRpbmdzJywnY29udGVudCcpID09ICdib3RoMicpCgkJewoJCQkkcXVlcnkgLj0gIigiIC4gaW1wbG9kZSgiIEFORCAiLCRxKSAuICIpIjsKCQl9CgkJZWxzZQoJCXsKCQkJJHF1ZXJ5IC49ICRxWzBdOwoJCX0KCQkKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkcCk7CgkJaWYoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKCQkJZWNobyAkZGlzcGxheTsKCQkJYXJyYXlfdW5zaGlmdCgkcCwkZGlzcGxheSk7CgkJCSRxdWVyeSA9ICJVUERBVEUgIi4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9BZHZhbmNlZENvbnRlbnRfIi4kaXRlbV90eXBlLiJkaXNwbGF5CgkJCQlTRVQgaXRlbV9kaXNwbGF5ID0gPyBXSEVSRSB1c2VyX2lkID0gPyBBTkQgaXRlbV9pZCA9ID8gQU5EICIuaW1wbG9kZSgnIEFORCAnLCRxKTsKCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHApOwoJCX0KCQllbHNlCgkJewoJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4gY21zX2RiX3ByZWZpeCgpIC4ibW9kdWxlX0FkdmFuY2VkQ29udGVudF8iLiRpdGVtX3R5cGUuImRpc3BsYXkKCQkJCSh1c2VyX2lkLCBjb250ZW50X2lkLCB0ZW1wbGF0ZV9pZCwgaXRlbV9pZCwgaXRlbV9kaXNwbGF5KSBWQUxVRVMgKD8sPyw/LD8sPykiOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheShnZXRfdXNlcmlkKCksICRjb250ZW50X2lkLCAkdGVtcGxhdGVfaWQsICRpdGVtX2lkLCAkZGlzcGxheSkpOwoJCX0KCQkkdGhpcy0+X2Rpc3BsYXlTZXR0aW5nc1skaXRlbV90eXBlXVtpbXBsb2RlKCdfJyxhcnJheSgkY29udGVudF9pZCwkdGVtcGxhdGVfaWQpKV1bJGl0ZW1faWRdID0gJGRpc3BsYXk7Cgl9CgkKCQoJLyoqCgkgKiBnZXRzIHRoZSBkaXNwbGF5IHN0YXR1cyBvZiBjb250ZW50IGJsb2NrcywgY29udGVudCBibG9ja3MgbWVzc2FnZXMgb3IgYmxvY2sgZ3JvdXBzCgkgKgoJICogQHBhcmFtIGludCAkaXRlbV90eXBlIC0gdGhlIGlkIG9mIHRoZSBjb250ZW50L3RlbXBsYXRlIHRvIGdldCB0aGUgZGlzcGxheSBzdGF0dXMgZnJvbQoJICogQHBhcmFtIGludCAkdHBsX29yX2NvbnRlbnRfaWQgLSB0aGUgaWQgb2YgdGhlIGNvbnRlbnQvdGVtcGxhdGUgdG8gZ2V0IHRoZSBkaXNwbGF5IHN0YXR1cyBmcm9tCgkgKiBAcGFyYW0gc3RyaW5nICRibG9ja19pZCAtIHRoZSBjb250ZW50IGJsb2NrIHRvIGdldCB0aGUgZGlzcGxheSBzdGF0dXMgZnJvbQoJICogQHBhcmFtIGludCAkZGVmYXVsdF92YWx1ZSAtIHRoZSBkZWZhdWx0IHN0YXR1cyBpZiBub3RoaW5nIGlzIGZvdW5kCgkgKgoJICogQHJldHVybiBib29sZWFuIC0gMCA9IGhpZGRlbiwgMSA9IHNob3duCgkgKi8KCWZ1bmN0aW9uIEdldEl0ZW1EaXNwbGF5KCRpdGVtX3R5cGUsICRpdGVtX2lkLCAkY29udGVudF9pZCwgJHRlbXBsYXRlX2lkLCAkZGVmYXVsdF92YWx1ZSA9IDEpCgl7CgkJJGlkcyA9IGFycmF5KCk7CgkJCgkJaWYoJGNvbnRlbnRfaWQKCQkmJiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJGl0ZW1fdHlwZS4nX2Rpc3BsYXlfc2V0dGluZ3MnLCdjb250ZW50JykgPT0gJ2NvbnRlbnQnCgkJfHwgJHRoaXMtPkdldFByZWZlcmVuY2UoJGl0ZW1fdHlwZS4nX2Rpc3BsYXlfc2V0dGluZ3MnLCdjb250ZW50JykgPT0gJ2JvdGgxJwoJCXx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCRpdGVtX3R5cGUuJ19kaXNwbGF5X3NldHRpbmdzJywnY29udGVudCcpID09ICdib3RoMicpKQoJCXsKCQkJJGlkc1tdID0gJGNvbnRlbnRfaWQ7CgkJfQoJCQoJCWlmKCR0ZW1wbGF0ZV9pZCA+IDAKCQkmJiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJGl0ZW1fdHlwZS4nX2Rpc3BsYXlfc2V0dGluZ3MnLCdjb250ZW50JykgPT0gJ3RlbXBsYXRlJwoJCXx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCRpdGVtX3R5cGUuJ19kaXNwbGF5X3NldHRpbmdzJywnY29udGVudCcpID09ICdib3RoMScKCQl8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkaXRlbV90eXBlLidfZGlzcGxheV9zZXR0aW5ncycsJ2NvbnRlbnQnKSA9PSAnYm90aDInKSkKCQl7CgkJCSRpZHNbXSA9ICR0ZW1wbGF0ZV9pZDsKCQl9CgkJCgkJaWYoIWNvdW50KCRpZHMpKQoJCXsKCQkJcmV0dXJuICRkZWZhdWx0X3ZhbHVlOwoJCX0KCQkKCQlpZighaXNzZXQoJHRoaXMtPl9kaXNwbGF5U2V0dGluZ3NbJGl0ZW1fdHlwZV1baW1wbG9kZSgnXycsJGlkcyldKSkKCQl7CgkJCSR0aGlzLT5HZXRBbGxJdGVtc0Rpc3BsYXkoJGl0ZW1fdHlwZSwgJGNvbnRlbnRfaWQsICR0ZW1wbGF0ZV9pZCk7CgkJfQoJCWlmKCFpc3NldCgkdGhpcy0+X2Rpc3BsYXlTZXR0aW5nc1skaXRlbV90eXBlXVtpbXBsb2RlKCdfJywkaWRzKV1bJGl0ZW1faWRdKSkKCQl7CgkJCSR0aGlzLT5fZGlzcGxheVNldHRpbmdzWyRpdGVtX3R5cGVdW2ltcGxvZGUoJ18nLCRpZHMpXVskaXRlbV9pZF0gPSAkZGVmYXVsdF92YWx1ZTsKCQl9CgkJcmV0dXJuICR0aGlzLT5fZGlzcGxheVNldHRpbmdzWyRpdGVtX3R5cGVdW2ltcGxvZGUoJ18nLCRpZHMpXVskaXRlbV9pZF07Cgl9CgkKCQoJLyoqCgkgKiBnZXRzIHRoZSBkaXNwbGF5IHN0YXR1cyBvZiBhbGwgY29udGVudCBibG9ja3MsIGNvbnRlbnQgYmxvY2tzIG1lc3NhZ2VzIG9yIGJsb2NrIGdyb3VwcyBvZiBhIGdpdmVuIHRlbXBsYXRlIG9yIGNvbnRlbnQgaWQKCSAqIEBhY2Nlc3MgcHJpdmF0ZQoJICogQGlnbm9yZQoJICovCglwcml2YXRlIGZ1bmN0aW9uIEdldEFsbEl0ZW1zRGlzcGxheSgkaXRlbV90eXBlLCAkY29udGVudF9pZCwgJHRlbXBsYXRlX2lkKQoJewoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX0FkdmFuY2VkQ29udGVudF8iLiRpdGVtX3R5cGUuImRpc3BsYXkKCQkJV0hFUkUgdXNlcl9pZCA9ID8gQU5EICI7CgkJCgkJJHEgPSBhcnJheSgpOwoJCSRwID0gYXJyYXkoZ2V0X3VzZXJpZCgpKTsKCQkKCQlpZigkY29udGVudF9pZAoJCSYmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgkaXRlbV90eXBlLidfZGlzcGxheV9zZXR0aW5ncycsJ2NvbnRlbnQnKSA9PSAnY29udGVudCcKCQl8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkaXRlbV90eXBlLidfZGlzcGxheV9zZXR0aW5ncycsJ2NvbnRlbnQnKSA9PSAnYm90aDEnCgkJfHwgJHRoaXMtPkdldFByZWZlcmVuY2UoJGl0ZW1fdHlwZS4nX2Rpc3BsYXlfc2V0dGluZ3MnLCdjb250ZW50JykgPT0gJ2JvdGgyJykpCgkJewoJCQkkcVtdID0gImNvbnRlbnRfaWQgPSA/IjsKCQkJJHBbXSA9ICRjb250ZW50X2lkOwoJCX0KCQkKCQlpZigkdGVtcGxhdGVfaWQgPiAwCgkJJiYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCRpdGVtX3R5cGUuJ19kaXNwbGF5X3NldHRpbmdzJywnY29udGVudCcpID09ICd0ZW1wbGF0ZScKCQl8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkaXRlbV90eXBlLidfZGlzcGxheV9zZXR0aW5ncycsJ2NvbnRlbnQnKSA9PSAnYm90aDEnCgkJfHwgJHRoaXMtPkdldFByZWZlcmVuY2UoJGl0ZW1fdHlwZS4nX2Rpc3BsYXlfc2V0dGluZ3MnLCdjb250ZW50JykgPT0gJ2JvdGgyJykpCgkJewoJCQkkcVtdID0gInRlbXBsYXRlX2lkID0gPyI7CgkJCSRwW10gPSAkdGVtcGxhdGVfaWQ7CgkJfQoJCQoJCWlmKCFjb3VudCgkcSkpCgkJewoJCQlyZXR1cm47CgkJfQoJCQoJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCRpdGVtX3R5cGUuJ19kaXNwbGF5X3NldHRpbmdzJywnY29udGVudCcpID09ICdib3RoMScpCgkJewoJCQkkcXVlcnkgLj0gIigiIC4gaW1wbG9kZSgiIE9SICIsJHEpIC4gIikiOwoJCX0KCQllbHNlIGlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCRpdGVtX3R5cGUuJ19kaXNwbGF5X3NldHRpbmdzJywnY29udGVudCcpID09ICdib3RoMicpCgkJewoJCQkkcXVlcnkgLj0gIigiIC4gaW1wbG9kZSgiIEFORCAiLCRxKSAuICIpIjsKCQl9CgkJZWxzZQoJCXsKCQkJJHF1ZXJ5IC49ICRxWzBdOwoJCX0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkcCk7CgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJewoJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgkaXRlbV90eXBlLidfZGlzcGxheV9zZXR0aW5ncycsJ2NvbnRlbnQnKSA9PSAnYm90aDEnCgkJCXx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCRpdGVtX3R5cGUuJ19kaXNwbGF5X3NldHRpbmdzJywnY29udGVudCcpID09ICdib3RoMicpCgkJCXsKCQkJCSR0aGlzLT5fZGlzcGxheVNldHRpbmdzWyRpdGVtX3R5cGVdWyRyb3dbJ2NvbnRlbnRfaWQnXSAuICdfJyAuICRyb3dbJ3RlbXBsYXRlX2lkJ11dWyRyb3dbJ2l0ZW1faWQnXV0gPSAkcm93WydpdGVtX2Rpc3BsYXknXTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCSR0aGlzLT5fZGlzcGxheVNldHRpbmdzWyRpdGVtX3R5cGVdWyRyb3dbJHRoaXMtPkdldFByZWZlcmVuY2UoJGl0ZW1fdHlwZS4nX2Rpc3BsYXlfc2V0dGluZ3MnLCdjb250ZW50JykuJ19pZCddXVskcm93WydpdGVtX2lkJ11dID0gJHJvd1snaXRlbV9kaXNwbGF5J107CgkJCX0KCQl9Cgl9CgkKCWZ1bmN0aW9uIEdldE11bHRpSW5wdXRGdWxsKCRpbnB1dHMgPSBhcnJheSgpKQoJewoJCWlmKCFpc19hcnJheSgkaW5wdXRzKSkKCQl7CgkJCSRpbnB1dHMgPSAkdGhpcy0+Q2xlYW5BcnJheShleHBsb2RlKCIsIiwkaW5wdXRzKSk7CgkJfQoJCSRkYiAgICA9JiAkdGhpcy0+R2V0RGIoKTsKCQkkcXVlcnkgPSAiU0VMRUNUIE1VTFRJX0lOUFVULiosIFRQTF9BU1NPQ1MudHBsX25hbWUgRlJPTSAiLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX0FkdmFuY2VkQ29udGVudF9tdWx0aV9pbnB1dHMgTVVMVElfSU5QVVQKCQkJTEVGVCBPVVRFUiBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfQWR2YW5jZWRDb250ZW50X211bHRpX2lucHV0X3RwbF9hc3NvY3MgVFBMX0FTU09DUwoJCQlPTiBNVUxUSV9JTlBVVC5pbnB1dF9pZCA9IFRQTF9BU1NPQ1MuaW5wdXRfaWQiOwoJCQoJCSRxICAgICA9IGFycmF5KCk7CgkJJHAgICAgID0gYXJyYXkoKTsKCQkkcmV0dXJuX2FycmF5ID0gYXJyYXkoKTsKCQlmb3JlYWNoKCRpbnB1dHMgYXMgJGlucHV0X2lkKQoJCXsKCQkJJHFbJGlucHV0X2lkXSA9ICJNVUxUSV9JTlBVVC5pbnB1dF9pZCA9ID8iOwoJCQkkcFskaW5wdXRfaWRdID0gJGlucHV0X2lkOwoJCX0KCQlpZihjb3VudCgkcCkpCgkJewoJCQkkcXVlcnkgLj0gIiBXSEVSRSAiIC4gaW1wbG9kZSgiIE9SICIsICRxKTsKCQl9CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHApOwoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJCXsKCQkJJHJldHVybl9hcnJheVskcm93WydpbnB1dF9pZCddXSA9ICRyb3c7CgkJfQoJCXJldHVybiAkcmV0dXJuX2FycmF5OwoJfQoJCglmdW5jdGlvbiBHZXRNdWx0aUlucHV0KCRpbnB1dF9pZCkKCXsKCQkkZGIgICAgICAgPSYgJHRoaXMtPkdldERiKCk7CgkJJHF1ZXJ5ICAgID0gIlNFTEVDVCBpbnB1dF9maWVsZHMgRlJPTSAiLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX0FkdmFuY2VkQ29udGVudF9tdWx0aV9pbnB1dHMgV0hFUkUgaW5wdXRfaWQgPSA/IExJTUlUIDEiOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpbnB1dF9pZCkpOwoJCWlmKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJCXsKCQkJcmV0dXJuICRyb3dbJ2lucHV0X2ZpZWxkcyddOwoJCX0KCX0KCQoJZnVuY3Rpb24gR2V0TXVsdGlJbnB1dExpc3QoKQoJewoJCSRkYiAgICAgICA9JiAkdGhpcy0+R2V0RGIoKTsKCQkkcXVlcnkgICAgPSAiU0VMRUNUIEEuaW5wdXRfaWQsIEIudHBsX25hbWUgRlJPTSAiLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX0FkdmFuY2VkQ29udGVudF9tdWx0aV9pbnB1dHMgQQoJCQlMRUZUIEpPSU4gIi4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9BZHZhbmNlZENvbnRlbnRfbXVsdGlfaW5wdXRfdHBsX2Fzc29jcyBCCgkJCU9OIEEuaW5wdXRfaWQgPSBCLmlucHV0X2lkIjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQkkcmV0dXJuX2FycmF5ID0gYXJyYXkoKTsKCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCQl7CgkJCSRyZXR1cm5fYXJyYXlbXSA9ICRyb3c7CgkJfQoJCXJldHVybiAkcmV0dXJuX2FycmF5OwoJfQoJCglmdW5jdGlvbiBBZGRNdWx0aUlucHV0KCRpbnB1dF9pZCwgJGlucHV0X2ZpZWxkcykKCXsKCQkkZGIgICAgPSYgJHRoaXMtPkdldERiKCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCBpbnB1dF9pZCBGUk9NICIuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfQWR2YW5jZWRDb250ZW50X211bHRpX2lucHV0cwoJCQlXSEVSRSBpbnB1dF9pZCA9ID8gTElNSVQgMSI7CgkJCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGlucHV0X2lkKSk7CgkJaWYoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiBjbXNfZGJfcHJlZml4KCkgLiJtb2R1bGVfQWR2YW5jZWRDb250ZW50X211bHRpX2lucHV0cwoJCQkoaW5wdXRfaWQsIGlucHV0X2ZpZWxkcykgVkFMVUVTICg/LD8pIjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaW5wdXRfaWQsICRpbnB1dF9maWVsZHMpKTsKCQlyZXR1cm4gJGRicmVzdWx0OwoJfQoJCglmdW5jdGlvbiBVcGRhdGVNdWx0aUlucHV0KCRpbnB1dF9pZCwgJGlucHV0X2ZpZWxkcykKCXsKCQkkZGIgICAgPSYgJHRoaXMtPkdldERiKCk7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX0FkdmFuY2VkQ29udGVudF9tdWx0aV9pbnB1dHMKCQkJU0VUIGlucHV0X2ZpZWxkcyA9ID8gV0hFUkUgaW5wdXRfaWQgPSA/ICI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGlucHV0X2ZpZWxkcywgJGlucHV0X2lkKSk7CgkJcmV0dXJuICRkYnJlc3VsdDsKCX0KCQoJZnVuY3Rpb24gVXBkYXRlVHBsQXNzb2MoJHRwbF90eXBlLCAkaW5wdXRfaWQsICR0cGxfbmFtZSkKCXsKCQkkZGIgICAgPSYgJHRoaXMtPkdldERiKCk7CgkJJHF1ZXJ5ID0gIlVQREFURSAiLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX0FkdmFuY2VkQ29udGVudF8iLiR0cGxfdHlwZS4iX3RwbF9hc3NvY3MKCQkJU0VUIHRwbF9uYW1lID0gPyBXSEVSRSBpbnB1dF9pZCA9ID8gIjsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdHBsX25hbWUsICRpbnB1dF9pZCkpOwoJCXJldHVybiAkZGJyZXN1bHQ7Cgl9CgkKCWZ1bmN0aW9uIEFkZFRwbEFzc29jKCR0cGxfdHlwZSwgJGlucHV0X2lkLCAkdHBsX25hbWUpCgl7CgkJJGRiICAgID0mICR0aGlzLT5HZXREYigpOwoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiBjbXNfZGJfcHJlZml4KCkgLiJtb2R1bGVfQWR2YW5jZWRDb250ZW50XyIuJHRwbF90eXBlLiJfdHBsX2Fzc29jcwoJCQkoaW5wdXRfaWQsIHRwbF9uYW1lKSBWQUxVRVMgKD8sPykiOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpbnB1dF9pZCwgJHRwbF9uYW1lKSk7CgkJcmV0dXJuICRkYnJlc3VsdDsKCX0KCQoJZnVuY3Rpb24gRGVsZXRlVHBsQXNzb2MoJHRwbF90eXBlLCRpbnB1dF9pZHMgPSBhcnJheSgpKQoJewoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCQlpZighaXNfYXJyYXkoJGlucHV0X2lkcykpCgkJewoJCQkkaW5wdXRfaWRzID0gJHRoaXMtPkNsZWFuQXJyYXkoZXhwbG9kZSgiLCIsJGlucHV0X2lkcykpOwoJCX0KCQlpZighY291bnQoJGlucHV0X2lkcykpCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX0FkdmFuY2VkQ29udGVudF8iLiR0cGxfdHlwZS4iX3RwbF9hc3NvY3MgV0hFUkUgIjsKCQkkcSA9IGFycmF5KCk7CgkJZm9yZWFjaCgkaW5wdXRfaWRzIGFzICRfaWQpCgkJewoJCQkkcVtdID0gImlucHV0X2lkID0gPyI7CgkJfQoJCSRxdWVyeSAgIC49ICBpbXBsb2RlKCIgT1IgIiwgJHEpOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICRpbnB1dF9pZHMpOwoJCXJldHVybiAkZGJyZXN1bHQ7Cgl9CgkKCWZ1bmN0aW9uIERlbGV0ZU11bHRpSW5wdXQoJGlucHV0X2lkcyA9IGFycmF5KCkpCgl7CgkJJGRiID0mICR0aGlzLT5HZXREYigpOwoJCWlmKCFpc19hcnJheSgkaW5wdXRfaWRzKSkKCQl7CgkJCSRpbnB1dF9pZHMgPSAkdGhpcy0+Q2xlYW5BcnJheShleHBsb2RlKCIsIiwkaW5wdXRfaWRzKSk7CgkJfQoJCWlmKCFjb3VudCgkaW5wdXRfaWRzKSkKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfQWR2YW5jZWRDb250ZW50X211bHRpX2lucHV0cyBXSEVSRSAiOwoJCSRxID0gYXJyYXkoKTsKCQlmb3JlYWNoKCRpbnB1dF9pZHMgYXMgJF9pZCkKCQl7CgkJCSRxW10gPSAiaW5wdXRfaWQgPSA/IjsKCQl9CgkJCgkJJHF1ZXJ5ICAgLj0gIGltcGxvZGUoIiBPUiAiLCAkcSk7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJGlucHV0X2lkcyk7CgkJcmV0dXJuICRkYnJlc3VsdDsKCX0KCQoJZnVuY3Rpb24gR2V0VGVtcGxhdGVzKCRwcmVmaXgpCgl7CgkJJGRiICAgICA9JiAkdGhpcy0+R2V0RGIoKTsKCQkkcXVlcnkgID0gIlNFTEVDVCBUUEwudGVtcGxhdGVfbmFtZSwgVFBMX0FTU09DUy4qIEZST00gIi4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV90ZW1wbGF0ZXMgVFBMCgkJCUxFRlQgT1VURVIgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0FkdmFuY2VkQ29udGVudF8iLiRwcmVmaXguIl90cGxfYXNzb2NzIFRQTF9BU1NPQ1MKCQkJT04gVFBMLnRlbXBsYXRlX25hbWUgPSBUUExfQVNTT0NTLnRwbF9uYW1lCgkJCVdIRVJFIFRQTC5tb2R1bGVfbmFtZSA9ID8gQU5EIFRQTC50ZW1wbGF0ZV9uYW1lIExJS0UgPyAiOwoJCSRyZXR1cm5fYXJyYXkgPSBhcnJheSgpOwoJCSRkYnJlc3VsdCAgICAgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+R2V0TmFtZSgpLCRwcmVmaXguJ18lJykpOwoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQoJCXsKCQkJaWYoIWlzc2V0KCRyZXR1cm5fYXJyYXlbJHJvd1sndGVtcGxhdGVfbmFtZSddXSkpCgkJCXsKCQkJCSRyZXR1cm5fYXJyYXlbJHJvd1sndGVtcGxhdGVfbmFtZSddXSA9IGFycmF5KCk7CgkJCX0KCQkJJHJldHVybl9hcnJheVskcm93Wyd0ZW1wbGF0ZV9uYW1lJ11dWyd0cGxfbmFtZSddID0gc3Vic3RyKCRyb3dbJ3RlbXBsYXRlX25hbWUnXSxzdHJsZW4oJHByZWZpeC4nXycpKTsKCQkJJHJldHVybl9hcnJheVskcm93Wyd0ZW1wbGF0ZV9uYW1lJ11dWyd0cGxfaWQnXSAgID0gJHJvd1sndGVtcGxhdGVfbmFtZSddOwoJCQlpZighaXNzZXQoJHJldHVybl9hcnJheVskcm93Wyd0ZW1wbGF0ZV9uYW1lJ11dWyd0cGxfYXNzb2NzJ10pKQoJCQl7CgkJCQkkcmV0dXJuX2FycmF5WyRyb3dbJ3RlbXBsYXRlX25hbWUnXV1bJ3RwbF9hc3NvY3MnXSA9IGFycmF5KCk7CgkJCQkkcmV0dXJuX2FycmF5WyRyb3dbJ3RlbXBsYXRlX25hbWUnXV1bJ2lzX3VzZWQnXSA9IGZhbHNlOwoJCQl9CgkJCWlmKCRyb3dbJ2lucHV0X2lkJ10pCgkJCXsKCQkJCSRyZXR1cm5fYXJyYXlbJHJvd1sndGVtcGxhdGVfbmFtZSddXVsndHBsX2Fzc29jcyddW10gPSAkcm93WydpbnB1dF9pZCddOwoJCQkJJHJldHVybl9hcnJheVskcm93Wyd0ZW1wbGF0ZV9uYW1lJ11dWydpc191c2VkJ10gPSB0cnVlOwoJCQl9CgkJfQoJCXJldHVybiAkcmV0dXJuX2FycmF5OwoJfQoJCglmdW5jdGlvbiBHZXRUcGxMaXN0KCRwcmVmaXgpCgl7CgkJJHByZWZpeCA9IHRyaW0oJHByZWZpeCwnXycpIC4gJ18nOwoJCSRkYiAgICAgPSYgJHRoaXMtPkdldERiKCk7CgkJJHF1ZXJ5ICA9ICJTRUxFQ1QgdGVtcGxhdGVfbmFtZSBGUk9NICIuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfdGVtcGxhdGVzCgkJCVdIRVJFIG1vZHVsZV9uYW1lID0gPyBBTkQgdGVtcGxhdGVfbmFtZSBMSUtFID8gIjsKCQkkcmV0dXJuX2FycmF5ID0gYXJyYXkoKTsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+R2V0TmFtZSgpLCRwcmVmaXguJyUnKSk7CgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJewoJCQkkdHBsX25hbWUgPSBzdWJzdHIoJHJvd1sndGVtcGxhdGVfbmFtZSddLHN0cmxlbigkcHJlZml4KSk7CgkJCSRyZXR1cm5fYXJyYXlbJHRwbF9uYW1lXSA9ICRyb3dbJ3RlbXBsYXRlX25hbWUnXTsKCQl9CgkJcmV0dXJuICRyZXR1cm5fYXJyYXk7Cgl9CgkKCWZ1bmN0aW9uIElzVHBsVXNlZCgkdHBsX25hbWUsICRhc3NvY190eXBlKQoJewoJCSRkYiAgICAgPSYgJHRoaXMtPkdldERiKCk7CgkJJHF1ZXJ5ICA9ICJTRUxFQ1QgdHBsX25hbWUgRlJPTSAiLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX0FkdmFuY2VkQ29udGVudF8iLiRhc3NvY190eXBlLiJfdHBsX2Fzc29jcwoJCQlXSEVSRSB0ZW1wbGF0ZV9uYW1lID0gPyAiOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0cGxfbmFtZSkpOwoJCWlmKCEkZGJyZXN1bHQgfHwgISRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiB0cnVlOwoJfQoJCglmdW5jdGlvbiAmSW5oZXJpdGFibGVzKCRjb250ZW50X2lkID0gJycpCgl7CgkJJGNvbnRlbnRfaWQgPSBpbnR2YWwoJGNvbnRlbnRfaWQpOwoJCWlmKCFpc3NldCgkdGhpcy0+X2luaGVyaXRhYmxlc1skY29udGVudF9pZF0pKQoJCXsKCQkJJHRoaXMtPl9pbmhlcml0YWJsZXNbJGNvbnRlbnRfaWRdID0gJHRoaXMtPl9pbmhlcml0YWJsZXNbMF07CgkJfQoJCXJldHVybiAkdGhpcy0+X2luaGVyaXRhYmxlc1skY29udGVudF9pZF07Cgl9CgkKCS8qKgoJICogSW5oZXJpdHMgYSBwcm9wZXJ0eSBvZiBhIHBhcmVudCBwYWdlIChyZWN1cnNpdmxleSkKCSAqCgkgKiBAcGFyYW0gaW50ICRjdXJyZW50SWQgLSBUaGUgaWQgb2YgdGhlIGN1cnJlbnQgcGFnZQoJICogQHBhcmFtIGludCAkcGFyZW50SWQgLSBUaGUgaWQgb2YgdGhlIHBhcmVudCBwYWdlCgkgKiBAcGFyYW0gc3RyaW5nICRwcm9wTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byBpbmhlcml0CgkgKiBAcGFyYW0gYXJyYXkgJGN1cnJlbnRQcm9wIChvcHRpb25hbCkgLSBJZiBwcm9wIGlzIGFuIGFycmF5IHRoaXMgd2lsbCBiZSB0aGUgaXRlbXMgb2YgdGhlIGN1cnJlbnQgcGFnZTsgU28gcmV0dXJuIGFycmF5IHdpbGwgY29udGFpbiBhbGwgaXRlbXMgb2YgdGhlIGN1cnJlbnQgcGFnZSBhbmQgcGFyZW50IHBhZ2VzOyBvdGhlcndpc2Ugb25seSB0aGUgcGFyZW50cyBpdGVtcyB3aWxsIGJlIHJldHVybmVkIChmZXVfYWNjZXNzIG9ubHkpCgkgKgoJICogQHJldHVybiBhcnJheXxzdHJpbmcgLSBUaGUgcHJvcCBvZiB0aGUgbGFzdCBmb3VuZCBwYXJlbnQgdGhhdCBoYXMgbm8gaW5oZXJpdGFuY2Ugb3IgYW4gYXJyYXkgb2YgaXRlbXMgb2YgYWxsIHBhcmVudHMgdGhhdCBoYXZlIGluaGVyaXRhbmNlCgkgKi8KCWZ1bmN0aW9uIEluaGVyaXRQYXJlbnRQcm9wKCRjdXJyZW50SWQsICRwYXJlbnRJZCwgJHByb3BOYW1lLCAkY3VycmVudFByb3AgPSBhcnJheSgpKQoJewoJCSRjdXJyZW50SWQgPSBpbnR2YWwoJGN1cnJlbnRJZCk7CgkJJHRoaXMtPkluaGVyaXRhYmxlcygkY3VycmVudElkKTsKCQlpZighaXNzZXQoJHRoaXMtPl9pbmhlcml0YWJsZXNbJGN1cnJlbnRJZF1bJHByb3BOYW1lXSkpCgkJewoJCQlyZXR1cm47IC8vIHNob3VsZCBuZXZlciBoYXBwZW4KCQl9CgkJaWYoaXNzZXQoJHRoaXMtPl9pbmhlcml0YWJsZXNbJHBhcmVudElkXSkgJiYgJHRoaXMtPl9pbmhlcml0YWJsZXNbJHBhcmVudElkXVskcHJvcE5hbWVdID4gLTEpCgkJewoJCQkkdGhpcy0+X2luaGVyaXRhYmxlc1skY3VycmVudElkXVskcHJvcE5hbWVdID0gJHRoaXMtPl9pbmhlcml0YWJsZXNbJHBhcmVudElkXVskcHJvcE5hbWVdOwoJCX0KCQlpZigkdGhpcy0+X2luaGVyaXRhYmxlc1skY3VycmVudElkXVskcHJvcE5hbWVdID09IC0xKQoJCXsKCQkJaWYoJHByb3BOYW1lID09ICdmZXVfYWNjZXNzJykKCQkJewoJCQkJJHRoaXMtPl9pbmhlcml0YWJsZXNbJGN1cnJlbnRJZF1bJHByb3BOYW1lXSA9IGFycmF5KCk7CgkJCQlmb3JlYWNoKCRjdXJyZW50UHJvcCBhcyAkaz0+JHYpCgkJCQl7CgkJCQkJaWYoJHYgIT0gLTEpCgkJCQkJewoJCQkJCQkkdGhpcy0+X2luaGVyaXRhYmxlc1skY3VycmVudElkXVskcHJvcE5hbWVdW10gPSAkdjsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkdGhpcy0+X2luaGVyaXRhYmxlc1skY3VycmVudElkXVskcHJvcE5hbWVdID0gJyc7CgkJCX0KCQkJJGluaGVyaXQgPSB0cnVlOwoJCQl3aGlsZSggJHBhcmVudElkID4gMCAmJiAkaW5oZXJpdCAmJiAkY29udGVudCA9ICR0aGlzLT5Mb2FkQ29udGVudFByb3BzKCRwYXJlbnRJZCwgJHByb3BOYW1lLCAncGFyZW50X2lkJywnY29udGVudDInLDEpKQoJCQl7CgkJCQkkcHJvcFZhbHVlID0gJGNvbnRlbnRbJHBhcmVudElkXVskcHJvcE5hbWVdOwoJCQkJJHBhcmVudElkICA9ICRjb250ZW50WyRwYXJlbnRJZF1bJ3BhcmVudF9pZCddOwoJCQkJaWYoJHByb3BOYW1lID09ICdmZXVfYWNjZXNzJykKCQkJCXsKCQkJCQkkZGVsaW0gPSBzdHJwb3MoJHByb3BWYWx1ZSwnLCcpID09PSBGQUxTRSA/ICc7JyA6ICcsJzsKCQkJCQkkcHJvcFZhbHVlID0gJHRoaXMtPkNsZWFuQXJyYXkoZXhwbG9kZSgkZGVsaW0sJHByb3BWYWx1ZSkpOwoJCQkJCWZvcmVhY2goJHByb3BWYWx1ZSBhcyAkX3ApCgkJCQkJewoJCQkJCQlpZighaW5fYXJyYXkoJF9wLCAkdGhpcy0+X2luaGVyaXRhYmxlc1skY3VycmVudElkXVskcHJvcE5hbWVdKSAmJiAkX3AgIT0gLTEgJiYgJF9wICE9ICcnKQoJCQkJCQl7CgkJCQkJCQkkdGhpcy0+X2luaGVyaXRhYmxlc1skY3VycmVudElkXVskcHJvcE5hbWVdW10gPSAkX3A7CgkJCQkJCX0KCQkJCQl9CgkJCQkJaWYoIWluX2FycmF5KC0xLCAkcHJvcFZhbHVlKSkKCQkJCQl7CgkJCQkJCSRpbmhlcml0ID0gZmFsc2U7CgkJCQkJCSNyZXR1cm4gJHRoaXMtPl9pbmhlcml0YWJsZXNbJGN1cnJlbnRJZF1bJHByb3BOYW1lXTsKCQkJCQl9CgkJCQl9CgkJCQllbHNlIGlmKCRwcm9wVmFsdWUgIT0gLTEpCgkJCQl7CgkJCQkJJHRoaXMtPl9pbmhlcml0YWJsZXNbJGN1cnJlbnRJZF1bJHByb3BOYW1lXSA9ICRwcm9wVmFsdWU7CgkJCQkJJGluaGVyaXQgPSBmYWxzZTsKCQkJCX0KCQkJfQoJCQlpZihpc3NldCgkdGhpcy0+X2luaGVyaXRhYmxlc1skcGFyZW50SWRdKSAmJiAkdGhpcy0+X2luaGVyaXRhYmxlc1skcGFyZW50SWRdID09IC0xKQoJCQl7CgkJCQkkdGhpcy0+X2luaGVyaXRhYmxlc1skcGFyZW50SWRdWyRwcm9wTmFtZV0gPSAkdGhpcy0+X2luaGVyaXRhYmxlc1skY3VycmVudElkXVskcHJvcE5hbWVdOwoJCQl9CgkJfQoJCXJldHVybiAkdGhpcy0+X2luaGVyaXRhYmxlc1skY3VycmVudElkXVskcHJvcE5hbWVdOwoJfQoJCgkvKioKCSAqIExvYWRzIHByb3BlcnRpZXMgYW5kL29yIGF0dHJpYnMgb2Ygb25lIG9yIG1vcmUgY29udGVudCBwYWdlcyBmcm9tIERCIAoJICogQ2F1dGlvbiEgSWYgbm8gaWRzLCBwcm9wZXJ0aWVzIG9yIGF0cmlidXRlcyBhcmUgc3BlY2lmaWVkIGl0IHdpbGwgbG9hZCBBTEwgY29udGVudCBvZiBBTEwgcGFnZXMuCgkgKgoJICogQHBhcmFtIHN0cmluZ3xhcnJheSAkY29udGVudElkcyAtIFRoZSBpZHMgb2YgdGhlIGNvbnRlbnQgdG8gZ2V0IHRoZSBwcm9wZXJ0eSBmcm9tCgkgKiBAcGFyYW0gc3RyaW5nfGFycmF5ICRwcm9wcyAtIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQgdGhlIHZhbHVlIGZyb20KCSAqIEBwYXJhbSBzdHJpbmd8YXJyYXkgJGF0dHJpYnMgLSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tCgkgKiBAcGFyYW0gc3RyaW5nfGFycmF5ICRjb250ZW50VHlwZXMgKG9wdGlvbmFsKSAtIFRoZSB0eXBlIG9mIHRoZSBjb250ZW50CgkgKgoJICogQHJldHVybiBtaXhlZCAtIEZhbHNlIGlmIG5vdCBleGlzdHMgb3IgYXJyYXkoJ3BhcmVudF9pZCcsJ3Byb3BfdmFsdWUnKQoJICoKCSAqLwoJZnVuY3Rpb24gTG9hZENvbnRlbnRQcm9wcygkY29udGVudElkcyA9IGFycmF5KCksICRwcm9wcyA9IGFycmF5KCksICRhdHRyaWJzID0gYXJyYXkoKSwgJGNvbnRlbnRUeXBlcyA9IGFycmF5KCksICRsaW1pdCA9ICcnKQoJewoJCSRkYiAgPSYgY21zbXMoKS0+R2V0RGIoKTsKCQkkcmV0ID0gIGZhbHNlOwoJCWlmKCFpc19hcnJheSgkY29udGVudElkcykpCgkJewoJCQkkY29udGVudElkcyA9ICR0aGlzLT5DbGVhbkFycmF5KGV4cGxvZGUoJywnLCRjb250ZW50SWRzKSk7CgkJfQoJCWlmKCFpc19hcnJheSgkcHJvcHMpKQoJCXsKCQkJJHByb3BzID0gJHRoaXMtPkNsZWFuQXJyYXkoZXhwbG9kZSgnLCcsJHByb3BzKSk7CgkJfQoJCWlmKCFpc19hcnJheSgkYXR0cmlicykpCgkJewoJCQkkYXR0cmlicyA9ICR0aGlzLT5DbGVhbkFycmF5KGV4cGxvZGUoJywnLCRhdHRyaWJzKSk7CgkJfQoJCWlmKCFpc19hcnJheSgkY29udGVudFR5cGVzKSkKCQl7CgkJCSRjb250ZW50VHlwZXMgPSAkdGhpcy0+Q2xlYW5BcnJheShleHBsb2RlKCcsJywkY29udGVudFR5cGVzKSk7CgkJfQoJCSR3aGVyZV9pZHMgICAgICAgICAgPSBhcnJheSgpOwoJCSR3aGVyZV9wcm9wcyAgICAgICAgPSBhcnJheSgpOwoJCSR3aGVyZV9jb250ZW50VHlwZXMgPSBhcnJheSgpOwoJCSRwYXJhbXMgICAgICAgICAgICAgPSBhcnJheSgpOwoJCSRzZWxlY3QgICAgICAgICAgICAgPSBhcnJheSgpOwoJCWZvcmVhY2goJGNvbnRlbnRJZHMgYXMgJGNJZCkKCQl7CgkJCSR3aGVyZV9pZHNbXSA9ICIgQy5jb250ZW50X2lkID0gPyAiOwoJCQkkcGFyYW1zW10gICAgPSAkY0lkOwoJCX0KCQlpZihjb3VudCgkcHJvcHMpKSB7CgkJCSRzZWxlY3RbXSA9ICIgQ1AuY29udGVudCAiOwoJCQkkc2VsZWN0W10gPSAiIENQLnByb3BfbmFtZSAiOwoJCQlmb3JlYWNoKCRwcm9wcyBhcyAkcCkKCQkJewoJCQkJJHdoZXJlX3Byb3BzW10gPSAiIENQLnByb3BfbmFtZSA9ID8gIjsKCQkJCSRwYXJhbXNbXSAgICAgID0gJHA7CgkJCX0KCQl9CgkJZm9yZWFjaCgkYXR0cmlicyBhcyAkYSkKCQl7CgkJCSRzZWxlY3RbXSA9ICIgQy4kYSAiOwoJCX0KCQlmb3JlYWNoKCRjb250ZW50VHlwZXMgYXMgJHQpCgkJewoJCQkkd2hlcmVfY29udGVudFR5cGVzW10gPSAiIEMudHlwZSA9ID8gIjsKCQkJJHBhcmFtc1tdICAgICAgICAgICAgID0gJHQ7CgkJfQoJCSRxdWVyeSA9ICJTRUxFQ1QgIjsKCQlpZihjb3VudCgkc2VsZWN0KSkKCQl7CgkJCSRxdWVyeSAuPSAnQy5jb250ZW50X2lkLCcuaW1wbG9kZSgnLCcsJHNlbGVjdCk7CgkJfQoJCWVsc2UKCQl7CgkJCSRxdWVyeSAuPSAiICogIjsKCQl9CgkJCgkJJHF1ZXJ5IC49ICIgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gImNvbnRlbnRfcHJvcHMgQ1AKCQkJTEVGVCBKT0lOICIgLiBjbXNfZGJfcHJlZml4KCkgLiAiY29udGVudCBDIE9OIEMuY29udGVudF9pZCA9IENQLmNvbnRlbnRfaWQgIjsKCQkKCQkkd2hlcmUgPSBhcnJheSgpOwoJCWlmKGNvdW50KCR3aGVyZV9pZHMpKQoJCXsKCQkJJHdoZXJlW10gPSAnICggJyAuIGltcGxvZGUoJyBPUiAnLCR3aGVyZV9pZHMpIC4gJyApICc7CgkJfQoJCWlmKGNvdW50KCR3aGVyZV9wcm9wcykpCgkJewoJCQkkd2hlcmVbXSA9ICcgKCAnIC4gaW1wbG9kZSgnIE9SICcsJHdoZXJlX3Byb3BzKSAuICcgKSAnOwoJCX0KCQlpZihjb3VudCgkd2hlcmVfY29udGVudFR5cGVzKSkKCQl7CgkJCSR3aGVyZVtdID0gJyAoICcgLiBpbXBsb2RlKCcgT1IgJywkd2hlcmVfY29udGVudFR5cGVzKSAuICcgKSAnOwoJCX0KCQlpZihjb3VudCgkd2hlcmUpKQoJCXsKCQkJJHF1ZXJ5IC49ICIgV0hFUkUgIiAuIGltcGxvZGUoJyBBTkQgJywgJHdoZXJlKTsKCQl9CgkJaWYoJGxpbWl0KQoJCXsKCQkJJHF1ZXJ5IC49ICIgTElNSVQgJGxpbWl0IjsKCQl9CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHBhcmFtcyk7CgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgkJewoJCQkkY0lkICAgICAgID0gJHJvd1snY29udGVudF9pZCddOwoJCQkkcmV0WyRjSWRdID0gYXJyYXkoKTsKCQkJdW5zZXQoJHJvd1snY29udGVudF9pZCddKTsKCQkJaWYoY291bnQoJHByb3BzKSkKCQkJewoJCQkJJHJldFskY0lkXVskcm93Wydwcm9wX25hbWUnXV0gPSAkcm93Wydjb250ZW50J107CgkJCQl1bnNldCgkcm93Wydwcm9wX25hbWUnXSk7CgkJCQl1bnNldCgkcm93Wydjb250ZW50J10pOwoJCQl9CgkJCWlmKGNvdW50KCRhdHRyaWJzKSkKCQkJewoJCQkJJHJldFskY0lkXSA9IGFycmF5X21lcmdlKCRyZXRbJGNJZF0sICRyb3cpOwoJCQl9CgkJfQoJCXJldHVybiAkcmV0OwoJfQoJCn0KPz4K]]></data>
	</file>
	<file>
	  <filename>/contenttype.Content2.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIE1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQojICAgICAgICAgIGEgY29udGVudCBtYW5hZ2VtZW50IHRvb2wgZm9yIENNUyBNYWRlIFNpbXBsZQojICAgICAgICAgIFRoZSBwcm9qZWN0cyBob21lcGFnZSBpcyBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2NvbnRlbnQyLwojICAgICAgICAgIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNC0yMDExIGJ5IFRlZCBLdWxwCiMgICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVmVyc2lvbjogMC44LjEKIyBGaWxlICAgOiBjb250ZW50dHlwZS5Db250ZW50Mi5waHAKIyAgICAgICAgICBUaGlzIGZpbGUgaXMgYSBtb2RpZmljYXRpb24gb2YgdGhlIGRlZmF1bHQgY29udGVudCB0eXBlICJDb250ZW50IgojIFB1cnBvc2U6IHRoZSBjb250ZW50IG9iamVjdAojIExpY2Vuc2U6IEdQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyBDb250ZW50MiBleHRlbmRzIENNU01vZHVsZUNvbnRlbnRUeXBlCnsKCS8qKgoJICogQGFjY2VzcyBwcml2YXRlCgkgKiBAdmFyIHN0cmluZwoJICovCgl2YXIgJF9zdHlsZXNoZWV0OwoJCgkvKioKCSAqIEBhY2Nlc3MgcHJpdmF0ZQoJICogQHZhciBhcnJheQoJICovCgl2YXIgJF9jb250ZW50QmxvY2tzOwoJCgkvKioKCSAqIEBhY2Nlc3MgcHJpdmF0ZQoJICogQHZhciBib29sZWFuCgkgKi8KCXZhciAkX2NvbnRlbnRCbG9ja3NMb2FkZWQ7CgkKCS8qKgoJICogQGFjY2VzcyBwcml2YXRlCgkgKiBAdmFyIGFycmF5CgkgKi8KCXZhciAkX3RhYklkczsKCQoJLyoqCgkgKiBAYWNjZXNzIHByaXZhdGUKCSAqIEB2YXIgYXJyYXkKCSAqLwoJdmFyICRfcGFnZVRhYnM7CgkKCS8qKgoJICogQGFjY2VzcyBwcml2YXRlCgkgKiBAdmFyIGFycmF5CgkgKi8KCXZhciAkX2Jsb2NrVGFiczsKCQoJLyoqCgkgKiBAYWNjZXNzIHByaXZhdGUKCSAqIEB2YXIgYXJyYXkKCSAqLwoJdmFyICRfYmxvY2tHcm91cHM7CgkKCS8qKgoJICogQGFjY2VzcyBwcml2YXRlCgkgKiBAdmFyIGFycmF5CgkgKi8KCXZhciAkX3VzZXJHcm91cHM7CgkKCS8qKgoJICogQGFjY2VzcyBwcml2YXRlCgkgKiBAdmFyIGFycmF5CgkgKi8KCXZhciAkX2RhdGVCbG9ja3M7CgkKCS8qKgoJICogQGFjY2VzcyBwcml2YXRlCgkgKiBAdmFyIGFycmF5CgkgKi8KCXZhciAkX2NvbG9yUGlja2VyQmxvY2tzOwoJCgkvKioKCSAqIEBhY2Nlc3MgcHJpdmF0ZQoJICogQHZhciBhcnJheQoJICovCgl2YXIgJF9zbGlkZXJCbG9ja3M7CgkKCS8qKgoJICogQGFjY2VzcyBwcml2YXRlCgkgKiBAdmFyIGFycmF5CgkgKi8KCXZhciAkX211bHRpSW5wdXRzOwoJCgkvKioKCSAqIEBhY2Nlc3MgcHJpdmF0ZQoJICogQHZhciBib29sZWFuCgkgKi8KCXZhciAkX2lzQWRtaW47CgkKCS8qKgoJICogQGFjY2VzcyBwcml2YXRlCgkgKiBAdmFyIGJvb2xlYW4KCSAqLwoJdmFyICRfZmV1QWN0aW9uOwoJCgkvKioKCSAqIEBhY2Nlc3MgcHJpdmF0ZQoJICogQHZhciBib29sZWFuCgkgKi8KCXZhciAkX2ZldUFjY2VzczsKCQoJLyoqCgkgKiBAYWNjZXNzIHByaXZhdGUKCSAqIEB2YXIgYXJyYXkKCSAqLwoJdmFyICRfZmV1R3JvdXBzOwoJCgkvKioKCSAqIEBhY2Nlc3MgcHJpdmF0ZQoJICogQHZhciBhcnJheQoJICovCgl2YXIgJF9hbGxVc2VyczsKCQoJLyoqCgkgKiBAYWNjZXNzIHByaXZhdGUKCSAqIEB2YXIgYXJyYXkKCSAqLwoJdmFyICRfYWxsR3JvdXBzOwoJCgkvKioKCSAqIEBhY2Nlc3MgcHJpdmF0ZQoJICogQHZhciBhcnJheQoJICovCgl2YXIgJF9pbmhlcml0YWJsZXM7CgkKCS8qKgoJICogQGFjY2VzcyBwcml2YXRlCgkgKiBAdmFyIHN0cmluZwoJICovCgl2YXIgJF9jbXNfYWNjZXNzOwoJCgl2YXIgJF9hdHRyaWJzID0gYXJyYXkoKTsKCQoJLyoqCgkgKiBDb25zdHJ1Y3RvcgoJICovCglmdW5jdGlvbiBDb250ZW50MigpCgl7CgkJcGFyZW50OjpfX2NvbnN0cnVjdCgpOwoJCSR0aGlzLT5fY29udGVudEJsb2NrcyAgICAgICA9IGFycmF5KCk7CgkJJHRoaXMtPl9jb250ZW50QmxvY2tzTG9hZGVkID0gZmFsc2U7CgkJJHRoaXMtPl9mZXVBY3Rpb24gICAgICAgICAgID0gZmFsc2U7CgkJJHRoaXMtPl9mZXVBY2Nlc3MgICAgICAgICAgID0gLTE7CgkJJHRoaXMtPl9mZXVHcm91cHMgICAgICAgICAgID0gZmFsc2U7CgkJJHRoaXMtPl9tdWx0aUlucHV0cyAgICAgICAgID0gYXJyYXkoKTsKCQkKCQlnbG9iYWwgJENNU19BRE1JTl9QQUdFOwoJCWlmKGlzc2V0KCRDTVNfQURNSU5fUEFHRSkgJiYgJENNU19BRE1JTl9QQUdFID09IDEpCgkJewoJCQkkdGhpcy0+X2Ntc19hY2Nlc3MgICAgICAgID0gJ2JhY2tlbmQnOwoJCQkkQWR2YW5jZWRDb250ZW50ICAgICAgICAgID0mIGNtc191dGlsczo6Z2V0X21vZHVsZSgnQWR2YW5jZWRDb250ZW50Jyk7CgkJCSR0aGlzLT5fdGFiSWRzICAgICAgICAgICAgPSBhcnJheSgpOwoJCQkkdGhpcy0+X2RhdGVCbG9ja3MgICAgICAgID0gYXJyYXkoKTsKCQkJJHRoaXMtPl9jb2xvclBpY2tlckJsb2NrcyA9IGFycmF5KCk7CgkJCSR0aGlzLT5fYmxvY2tUYWJzICAgICAgICAgPSBhcnJheSgpOwoJCQkkdGhpcy0+X2Jsb2NrR3JvdXBzICAgICAgID0gYXJyYXkoKTsKCQkJCgkJCSR0aGlzLT5fcGFnZVRhYnMgPSBhcnJheSgKCQkJCSdtYWluJyA9PiBhcnJheSgKCQkJCQkndGFiX2lkJyAgICAgICAgID0+ICdtYWluJywKCQkJCQkndGFiX25hbWUnICAgICAgID0+IGxhbmcoJ21haW4nKSwKCQkJCQknYmxvY2tfdGFicycgICAgID0+IGFycmF5KCksCgkJCQkJJ2Jsb2NrX2dyb3VwcycgICA9PiBhcnJheSgpLAoJCQkJCSdjb250ZW50X2Jsb2NrcycgPT4gYXJyYXkoKSkpOwoJCQkkdGhpcy0+X3RhYklkc1tdID0gJ21haW4nOwoJCQkKCQkJaWYoIGNoZWNrX3Blcm1pc3Npb24oZ2V0X3VzZXJpZCgpLCAnTWFuYWdlIEFsbCBDb250ZW50JykgKQoJCQl7CgkJCQkkdGhpcy0+X3BhZ2VUYWJzWydvcHRpb25zJ10gPSBhcnJheSgKCQkJCQkndGFiX2lkJyAgICAgICAgID0+ICdvcHRpb25zJywKCQkJCQkndGFiX25hbWUnICAgICAgID0+IGxhbmcoJ29wdGlvbnMnKSwKCQkJCQknYmxvY2tfdGFicycgICAgID0+IGFycmF5KCksCgkJCQkJJ2Jsb2NrX2dyb3VwcycgICA9PiBhcnJheSgpLAoJCQkJCSdjb250ZW50X2Jsb2NrcycgPT4gYXJyYXkoKSk7CgkJCQkkdGhpcy0+X3RhYklkc1tdID0gJ29wdGlvbnMnOwoJCQl9CgkJCQoJCQlpZiggY2hlY2tfcGVybWlzc2lvbihnZXRfdXNlcmlkKCksICdNYW5hZ2UgQWR2YW5jZWRDb250ZW50IE9wdGlvbnMnKSAmJiAkQWR2YW5jZWRDb250ZW50LT5HZXRQcmVmZXJlbmNlKCd1c2VfYWR2YW5jZWRfcGFnZW9wdGlvbnMnLDEpICkKCQkJewoJCQkJJHRoaXMtPl9wYWdlVGFic1snQWR2YW5jZWRDb250ZW50J10gPSBhcnJheSgKCQkJCQkndGFiX2lkJyAgICAgICAgID0+ICdBZHZhbmNlZENvbnRlbnQnLAoJCQkJCSd0YWJfbmFtZScgICAgICAgPT4gJEFkdmFuY2VkQ29udGVudC0+bGFuZygnYWR2YW5jZWRjb250ZW50X3RhYm5hbWUnKSwKCQkJCQknYmxvY2tfdGFicycgICAgID0+IGFycmF5KCksCgkJCQkJJ2Jsb2NrX2dyb3VwcycgICA9PiBhcnJheSgpLAoJCQkJCSdjb250ZW50X2Jsb2NrcycgPT4gYXJyYXkoKSk7CgkJCQkkdGhpcy0+X3RhYklkc1tdID0gJ0FkdmFuY2VkQ29udGVudCc7CgkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJJHRoaXMtPl9jbXNfYWNjZXNzID0gJ2Zyb250ZW5kJzsKCQl9Cgl9CgkKCWZ1bmN0aW9uIE1vZHVsZU5hbWUoKQoJewoJCXJldHVybiAnQWR2YW5jZWRDb250ZW50JzsKCX0KCQoJZnVuY3Rpb24gSXNEZWZhdWx0UG9zc2libGUoKQoJewoJCXJldHVybiBUUlVFOwoJfQoJCglmdW5jdGlvbiBJc0NvcHlhYmxlKCkKCXsKCQlyZXR1cm4gVFJVRTsKCX0KCQoJZnVuY3Rpb24gRnJpZW5kbHlOYW1lKCkKCXsKCQlpZihiYXNlbmFtZSgkX1NFUlZFUlsnUEhQX1NFTEYnXSkgPT0gJ2xpc3Rjb250ZW50LnBocCcpCgkJewoJCQkkYWRkVHh0ID0gYXJyYXkoKTsKCQkJaWYoJHRoaXMtPm1DYWNoYWJsZSkKCQkJewoJCQkJJGFkZFR4dFtdID0gJy0mbmJzcDsnLmxhbmcoJ2NhY2hhYmxlJykuJzxiciAvPic7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkYWRkVHh0W10gPSAnLSZuYnNwOycubGFuZygnbm9uY2FjaGFibGUnKS4nPGJyIC8+JzsKCQkJfQoJCQlpZigkdGhpcy0+bVNlY3VyZSkKCQkJewoJCQkJJGFkZFR4dFtdID0gJy0mbmJzcDtTU0wnLic8YnIgLz4nOwoJCQl9CgkJCWlmKCEkdGhpcy0+bVNob3dJbk1lbnUpCgkJCXsKCQkJCSRhZGRUeHRbXSA9ICctJm5ic3A7Jy5sYW5nKCdoaWRlZnJvbW1lbnUnKS4nPGJyIC8+JzsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCSRhZGRUeHRbXSA9ICctJm5ic3A7Jy5sYW5nKCdzaG93aW5tZW51JykuJzxiciAvPic7CgkJCX0KCQkJaWYoY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdBZHZhbmNlZENvbnRlbnQnKS0+R2V0UHJlZmVyZW5jZSgndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJywxKSkKCQkJewoJCQkJaWYoJGZldXNlcnMgPSYgY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJykpCgkJCQl7CgkJCQkJJHNlbGVjdGVkR3JvdXBzID0gJHRoaXMtPkdldFByb3BlcnR5KCdmZXVfYWNjZXNzJyk7CgkJCQkJaWYoY291bnQoJHNlbGVjdGVkR3JvdXBzKSkKCQkJCQl7CgkJCQkJCSRhZGRUeHRbXSA9ICctJm5ic3A7Jy4kdGhpcy0+bGFuZygnZnJvbnRlbmRhY2Nlc3MnKS4nOiA8dWw+PGxpPicgLiBpbXBsb2RlKCc8L2xpPjxsaT4nLGFycmF5X2tleXMoYXJyYXlfaW50ZXJzZWN0KCRmZXVzZXJzLT5HZXRHcm91cExpc3QoKSwgJHNlbGVjdGVkR3JvdXBzKSkpLic8L2xpPjwvdWw+JzsKCQkJCQkJJHJlZGlyZWN0UGFnZSA9ICR0aGlzLT5HZXRQcm9wZXJ0eSgncmVkaXJlY3RfcGFnZScpOwoJCQkJCQlpZigkcmVkaXJlY3RQYWdlKQoJCQkJCQl7CgkJCQkJCQkkYWRkVHh0W10gPSAnLSZuYnNwOycgLiAkdGhpcy0+bGFuZygncmVkaXJlY3RwYWdlJykgLiAnOiAnLiRyZWRpcmVjdFBhZ2UuJzxiciAvPic7CgkJCQkJCX0KCQkJCQkJJHBhcmFtcyA9ICR0aGlzLT5HZXRQcm9wZXJ0eSgnZmV1X3BhcmFtcycpOwoJCQkJCQlpZihjb3VudCgkcGFyYW1zWzFdKSkKCQkJCQkJewoJCQkJCQkJJGFkZFR4dFtdID0gJy0mbmJzcDsnIC4gJHRoaXMtPmxhbmcoJ2ZldV9wYXJhbXMnKSAuICc6IDx1bD48bGk+JyAuIGltcGxvZGUoJzwvbGk+PGxpPicsJHBhcmFtc1sxXSkuJzwvbGk+PC91bD4nOwoJCQkJCQl9CgkJCQkJCSRwYXJhbXMgPSAkdGhpcy0+R2V0UHJvcGVydHkoJ2N1c3RvbV9wYXJhbXMnKTsKCQkJCQkJaWYoY291bnQoJHBhcmFtc1sxXSkpCgkJCQkJCXsKCQkJCQkJCSRhZGRUeHRbXSA9ICctJm5ic3A7JyAuICR0aGlzLT5sYW5nKCdjdXN0b21fcGFyYW1zJykgLiAnOiA8dWw+PGxpPicgLiBpbXBsb2RlKCc8L2xpPjxsaT4nLCRwYXJhbXNbMV0pLic8L2xpPjwvdWw+JzsKCQkJCQkJfQoJCQkJCX0KCQkJCQkkaGlkZV9tZW51X2l0ZW0gPSAkdGhpcy0+R2V0UHJvcGVydHkoJ2hpZGVfbWVudV9pdGVtJyk7CgkJCQkJaWYoJGhpZGVfbWVudV9pdGVtID09IDIgfHwgKCRoaWRlX21lbnVfaXRlbSA9PSAxICYmIGNvdW50KCRzZWxlY3RlZEdyb3VwcykpKQoJCQkJCXsKCQkJCQkJJGFkZFR4dFtdID0gJy0mbmJzcDsnIC4gJHRoaXMtPmxhbmcoJ2hpZGVfbWVudV9pdGVtJykgLiAnOiAnLiAoJGhpZGVfbWVudV9pdGVtID09IDEgPyAkdGhpcy0+bGFuZygnbG9nZ2Vkb3V0JykgOiAkdGhpcy0+bGFuZygnbG9nZ2VkaW4nKSkuJzxiciAvPic7CgkJCQkJfQoJCQkJfQoJCQkJaWYoJHRoaXMtPkdldFByb3BlcnR5KCd1c2VfZXhwaXJlX2RhdGUnKSkKCQkJCXsKCQkJCQkkYWRkVHh0W10gICA9ICctJm5ic3A7Jy4kdGhpcy0+bGFuZygnc3RhcnRkYXRlJykuJzogJy5zdHJmdGltZSgnJXggJUg6JU0nLCR0aGlzLT5HZXRQcm9wZXJ0eSgnc3RhcnRfZGF0ZScpKS4nPGJyIC8+JzsKCQkJCQkkYWRkVHh0W10gICA9ICctJm5ic3A7Jy4kdGhpcy0+bGFuZygnZW5kZGF0ZScpLic6ICcuc3RyZnRpbWUoJyV4ICVIOiVNJywkdGhpcy0+R2V0UHJvcGVydHkoJ2VuZF9kYXRlJykpLic8YnIgLz4nOwoJCQkJfQoJCQl9CgkJCWlmKGNvdW50KCRhZGRUeHQpKQoJCQl7CgkJCQlyZXR1cm4gJzxzcGFuIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2siIG9ubW91c2VvdmVyPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcJycuJHRoaXMtPm1JZC4nX2luZm9cJykuc3R5bGUuZGlzcGxheSA9IFwnYmxvY2tcJzsiIG9ubW91c2VvdXQ9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwnJy4kdGhpcy0+bUlkLidfaW5mb1wnKS5zdHlsZS5kaXNwbGF5ID0gXCdub25lXCc7Ij4nIC4gJHRoaXMtPmxhbmcoJ0FkdmFuY2VkQ29udGVudCcpIC4gJzxzcGFuIGlkPSInLiR0aGlzLT5tSWQuJ19pbmZvIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojRkZGO2JvcmRlcjoxcHggc29saWQgIzAwMDtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOjVweDtkaXNwbGF5Om5vbmU7LW1vei1ib3gtc2hhZG93OjFweCAxcHggMTBweCAjNjY2NjY2Oy13ZWJraXQtYm94LXNoYWRvdzoxcHggMXB4IDEwcHggIzY2NjY2Njtib3gtc2hhZG93OjFweCAxcHggMTBweCAjNjY2NjY2O3otaW5kZXg6OTk5O3doaXRlLXNwYWNlOm5vd3JhcCI+JyAuIGltcGxvZGUoJycsJGFkZFR4dCkgLiAnPC9zcGFuPjwvc3Bhbj4nOwoJCQl9CgkJfQoJCQoJCXJldHVybiAkdGhpcy0+bGFuZygnQWR2YW5jZWRDb250ZW50Jyk7Cgl9CgkKCWZ1bmN0aW9uIEdldFByb3BlcnR5KCRwcm9wTmFtZSkKCXsKCQkkcHJvcFZhbHVlID0gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJHByb3BOYW1lKTsKCQlpZihjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0FkdmFuY2VkQ29udGVudCcpLT5HZXRQcmVmZXJlbmNlKCd1c2VfYWR2YW5jZWRfcGFnZW9wdGlvbnMnLDEpKQoJCXsKCQkJaWYoISR0aGlzLT5faW5oZXJpdGFibGVzKQoJCQl7CgkJCQkkdGhpcy0+X2luaGVyaXRhYmxlcyA9JiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0FkdmFuY2VkQ29udGVudCcpLT5Jbmhlcml0YWJsZXMoJHRoaXMtPm1JZCk7CgkJCX0KCQkJaWYoIWlzc2V0KCR0aGlzLT5faW5oZXJpdGFibGVzWyRwcm9wTmFtZV0pKQoJCQl7CgkJCQlyZXR1cm4gJHByb3BWYWx1ZTsKCQkJfQoJCQkkaW5oZXJpdCA9IGZhbHNlOwoJCQlpZigkcHJvcE5hbWUgPT0gJ2ZldV9hY2Nlc3MnKQoJCQl7CgkJCQkkZGVsaW0gICAgID0gc3RycG9zKCRwcm9wVmFsdWUsJywnKSA9PT0gRkFMU0UgPyAnOycgOiAnLCc7CgkJCQkkcHJvcFZhbHVlID0gJHRoaXMtPkNsZWFuQXJyYXkoZXhwbG9kZSgkZGVsaW0sJHByb3BWYWx1ZSkpOwoJCQkJaWYoaW5fYXJyYXkoLTEsJHByb3BWYWx1ZSkpCgkJCQl7CgkJCQkJJGluaGVyaXQgPSB0cnVlOwoJCQkJfQoJCQl9CgkJCWVsc2UgaWYoJHByb3BWYWx1ZSA9PSAtMSkKCQkJewoJCQkJJGluaGVyaXQgPSB0cnVlOwoJCQl9CgkJCWlmKCRpbmhlcml0KQoJCQl7CgkJCQkkcHJvcFZhbHVlID0gJHRoaXMtPkluaGVyaXRQYXJlbnRQcm9wKCRwcm9wTmFtZSwkcHJvcFZhbHVlKTsKCQkJfQoJCQlpZigkcHJvcE5hbWUgPT0gJ2ZldV9wYXJhbXMnIHx8ICRwcm9wTmFtZSA9PSAnY3VzdG9tX3BhcmFtcycpCgkJCXsKCQkJCSRwYXR0ZXJuID0gJy8oW1x3XSspPShbIl1bXiJdKlsiXXxbXCddW15cJ10qW1wnXXxbXlwnIlxzXSopLyc7CgkJCQkkbWF0Y2hlcyA9IGFycmF5KCk7CgkJCQkkcmVzdWx0ICA9IHByZWdfbWF0Y2hfYWxsKCRwYXR0ZXJuLCAkcHJvcFZhbHVlLCAkbWF0Y2hlcyk7CgkJCQkkcGFyYW1zMSA9IGFycmF5KCk7CgkJCQkkcGFyYW1zMiA9IGFycmF5KCk7CgkJCQlmb3IgKCRpID0gMDsgJGkgPCBjb3VudCgkbWF0Y2hlc1sxXSk7ICRpKyspCgkJCQl7CgkJCQkJaWYoc3RhcnRzd2l0aCgkbWF0Y2hlc1syXVskaV0sJ1wnJykpCgkJCQkJewoJCQkJCQkkbWF0Y2hlc1syXVskaV0gPSB0cmltKCRtYXRjaGVzWzJdWyRpXSwnXCcnKTsKCQkJCQl9CgkJCQkJZWxzZSBpZihzdGFydHN3aXRoKCRtYXRjaGVzWzJdWyRpXSwnIicpKQoJCQkJCXsKCQkJCQkJJG1hdGNoZXNbMl1bJGldID0gdHJpbSgkbWF0Y2hlc1syXVskaV0sJyInKTsKCQkJCQl9CgkJCQkJJHBhcmFtczFbJG1hdGNoZXNbMV1bJGldXSA9ICRtYXRjaGVzWzJdWyRpXTsKCQkJCQkkcGFyYW1zMltdICAgICAgICAgICAgICAgID0gJG1hdGNoZXNbMV1bJGldIC4gJz0nIC4gJG1hdGNoZXNbMl1bJGldOwoJCQkJfQoJCQkJJHByb3BWYWx1ZSA9IGFycmF5KCRwYXJhbXMxLCRwYXJhbXMyKTsKCQkJfQoJCX0KCQlyZXR1cm4gJHByb3BWYWx1ZTsKCX0KCQoJZnVuY3Rpb24gJmdldF9jb250ZW50X2Jsb2NrcygpCgl7CgkJJHRoaXMtPnBhcnNlX2NvbnRlbnRfYmxvY2tzKCk7CgkJcmV0dXJuICR0aGlzLT5fY29udGVudEJsb2NrczsKCX0KCQoJZnVuY3Rpb24gJmdldF9ibG9ja19ncm91cHMoKQoJewoJCSR0aGlzLT5wYXJzZV9jb250ZW50X2Jsb2NrcygpOwoJCXJldHVybiAkdGhpcy0+X2Jsb2NrR3JvdXBzOwoJfQoJCglmdW5jdGlvbiAmZ2V0X211bHRpX2lucHV0cygpCgl7CgkJJHRoaXMtPnBhcnNlX2NvbnRlbnRfYmxvY2tzKCk7CgkJcmV0dXJuICR0aGlzLT5fbXVsdGlJbnB1dHM7Cgl9CgkKCWZ1bmN0aW9uIFNob3dJbk1lbnUoKQoJewoJCWlmKGNtc191dGlsczo6Z2V0X21vZHVsZSgnQWR2YW5jZWRDb250ZW50JyktPkdldFByZWZlcmVuY2UoJ3VzZV9hZHZhbmNlZF9wYWdlb3B0aW9ucycsMSkpCgkJewoJCQlpZigkdGhpcy0+R2V0UHJvcGVydHkoJ3VzZV9leHBpcmVfZGF0ZScpKQoJCQl7CgkJCQkkc3RhcnRfZGF0ZSA9ICR0aGlzLT5HZXRQcm9wZXJ0eSgnc3RhcnRfZGF0ZScpOwoJCQkJJGVuZF9kYXRlICAgPSAkdGhpcy0+R2V0UHJvcGVydHkoJ2VuZF9kYXRlJyk7CgkJCQlpZigoJHN0YXJ0X2RhdGUgPiB0aW1lKCkgfHwgJGVuZF9kYXRlIDwgdGltZSgpKSAmJiAkdGhpcy0+bUFjdGl2ZSkKCQkJCXsKCQkJCQkkdGhpcy0+bUFjdGl2ZSA9IGZhbHNlOwoJCQkJCSR0aGlzLT5tU2hvd0luTWVudSA9IGZhbHNlOwoJCQkJfQoJCQkJZWxzZSBpZigkc3RhcnRfZGF0ZSA8IHRpbWUoKSAmJiAkZW5kX2RhdGUgPiB0aW1lKCkgJiYgISR0aGlzLT5tQWN0aXZlKQoJCQkJewoJCQkJCSR0aGlzLT5tQWN0aXZlID0gdHJ1ZTsKCQkJCX0KCQkJfQoJCQlpZigkdGhpcy0+X2Ntc19hY2Nlc3MgPT0gJ2Zyb250ZW5kJykKCQkJewoJCQkJaWYoJHRoaXMtPkdldFByb3BlcnR5KCdoaWRlX21lbnVfaXRlbScpKQoJCQkJewoJCQkJCWlmKCR0aGlzLT5HZXRQcm9wZXJ0eSgnaGlkZV9tZW51X2l0ZW0nKSA9PSAxKQoJCQkJCXsKCQkJCQkJJHRoaXMtPm1TaG93SW5NZW51ID0gJHRoaXMtPkNoZWNrRnJvbnRlbmRQYWdlQWNjZXNzKCk7CgkJCQkJfQoJCQkJCWVsc2UgaWYoJHRoaXMtPkdldFByb3BlcnR5KCdoaWRlX21lbnVfaXRlbScpID09IDIgJiYgJGZldXNlcnMgPSYgY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJykpCgkJCQkJewoJCQkJCQkkdGhpcy0+bVNob3dJbk1lbnUgPSAhJGZldXNlcnMtPkxvZ2dlZEluKCk7CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiAkdGhpcy0+bVNob3dJbk1lbnU7Cgl9CgkKCWZ1bmN0aW9uIEFjdGl2ZSgpCgl7CgkJaWYoY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdBZHZhbmNlZENvbnRlbnQnKS0+R2V0UHJlZmVyZW5jZSgndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJywxKSkKCQl7CgkJCWlmKCR0aGlzLT5HZXRQcm9wZXJ0eSgndXNlX2V4cGlyZV9kYXRlJykpCgkJCXsKCQkJCSRzdGFydF9kYXRlID0gJHRoaXMtPkdldFByb3BlcnR5KCdzdGFydF9kYXRlJyk7CgkJCQkkZW5kX2RhdGUgICA9ICR0aGlzLT5HZXRQcm9wZXJ0eSgnZW5kX2RhdGUnKTsKCQkJCWlmKCgkc3RhcnRfZGF0ZSA+IHRpbWUoKSB8fCAkZW5kX2RhdGUgPCB0aW1lKCkpICYmICR0aGlzLT5tQWN0aXZlKQoJCQkJewoJCQkJCSR0aGlzLT5tQWN0aXZlID0gZmFsc2U7CgkJCQkJJHRoaXMtPm1TaG93SW5NZW51ID0gZmFsc2U7CgkJCQl9CgkJCQllbHNlIGlmKCRzdGFydF9kYXRlIDwgdGltZSgpICYmICRlbmRfZGF0ZSA+IHRpbWUoKSAmJiAhJHRoaXMtPm1BY3RpdmUpCgkJCQl7CgkJCQkJJHRoaXMtPm1BY3RpdmUgPSB0cnVlOwoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiAkdGhpcy0+bUFjdGl2ZTsKCX0KCQoJcHJpdmF0ZSBmdW5jdGlvbiBfZ2V0X2Jsb2NrX2luZm8oJHdob2xldGFnKQoJewoJCSRwYXR0ZXJuICAgPSAnLyhbXHddKyk9KFsiXVteIl0qWyJdfFtcJ11bXlwnXSpbXCddfFteXCciXHNdKikvJzsKCQkkYmxvY2tJbmZvID0gYXJyYXkoKTsKCQkkQWR2YW5jZWRDb250ZW50ID0mIGNtc191dGlsczo6Z2V0X21vZHVsZSgnQWR2YW5jZWRDb250ZW50Jyk7CgkJCgkJIyBnZXQgdGhlIGFyZ3VtZW50cy4KCQkkbWF0Y2hlcyA9IGFycmF5KCk7CgkJJHJlc3VsdCAgPSBwcmVnX21hdGNoX2FsbCgkcGF0dGVybiwgJHdob2xldGFnLCAkbWF0Y2hlcyk7CgkJCgkJJGtleXZhbCA9IGFycmF5KCk7CgkJZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJG1hdGNoZXNbMV0pOyAkaSsrKQoJCXsKCQkJaWYoc3RhcnRzd2l0aCgkbWF0Y2hlc1syXVskaV0sJ1wnJykpCgkJCXsKCQkJCSRtYXRjaGVzWzJdWyRpXSA9IHRyaW0oJG1hdGNoZXNbMl1bJGldLCdcJycpOwoJCQl9CgkJCWVsc2UgaWYoc3RhcnRzd2l0aCgkbWF0Y2hlc1syXVskaV0sJyInKSkKCQkJewoJCQkJJG1hdGNoZXNbMl1bJGldID0gdHJpbSgkbWF0Y2hlc1syXVskaV0sJyInKTsKCQkJfQoJCQkKCQkJJGtleXZhbFtzdHJ0b2xvd2VyKCRtYXRjaGVzWzFdWyRpXSldID0gJG1hdGNoZXNbMl1bJGldOwoJCX0KCQkKCQkkYmxvY2tJbmZvWydzbWFydHknXSA9IGZhbHNlOwoJCWlmKGlzc2V0KCRrZXl2YWxbJ3NtYXJ0eSddKSkKCQl7CgkJCSRrZXl2YWxbJ3NtYXJ0eSddID0gdHJpbShzdHJ0b2xvd2VyKCRrZXl2YWxbJ3NtYXJ0eSddKSk7CgkJCWlmKCR0aGlzLT5Jc1RydWUoJGtleXZhbFsnc21hcnR5J10pIHx8ICRrZXl2YWxbJ3NtYXJ0eSddID09ICdib3RoJykKCQkJewoJCQkJJGJsb2NrSW5mb1snc21hcnR5J10gPSB0cnVlOwoJCQl9CgkJCWVsc2UgaWYoJGtleXZhbFsnc21hcnR5J10gPT0gJ2JhY2tlbmQnIHx8ICRrZXl2YWxbJ3NtYXJ0eSddID09ICdmcm9udGVuZCcpCgkJCXsKCQkJCSRibG9ja0luZm9bJ3NtYXJ0eSddID0gJGtleXZhbFsnc21hcnR5J107CgkJCX0KCQl9CgkJCgkJIyBibG9jayBhY3RpdmUgPwoJCSRhY3RpdmUgPSB0cnVlOwoJCWlmKGlzc2V0KCRrZXl2YWxbJ2FjdGl2ZSddKSkKCQl7CgkJCSRhY3RpdmUgPSAka2V5dmFsWydhY3RpdmUnXTsKCQl9CgkJaWYoJGJsb2NrSW5mb1snc21hcnR5J10pCgkJewoJCQkkYWN0aXZlID0gJHRoaXMtPkRvU21hcnR5KCRhY3RpdmUpOwoJCX0KCQlpZigkdGhpcy0+SXNGYWxzZSgkYWN0aXZlKSkKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJIy0tLQoJCQoJCSRibG9ja0luZm9bJ25hbWUnXSA9ICdjb250ZW50X2VuJzsKCQkKCQlpZihpc3NldCgka2V5dmFsWydibG9jayddKSAmJiAka2V5dmFsWydibG9jayddICE9ICcnKQoJCXsKCQkJJGJsb2NrSW5mb1snbmFtZSddID0gdHJpbSgka2V5dmFsWydibG9jayddKTsKCQl9CgkJCgkJIyBibG9jayBpZAoJCSRibG9ja0luZm9bJ2lkJ10gPSBwcmVnX3JlcGxhY2UoJy8tKy8nLCdfJyxtdW5nZV9zdHJpbmdfdG9fdXJsKCRibG9ja0luZm9bJ25hbWUnXSkpOwoJCQoJCSMgYWRkaXRpb25hbCBlZGl0b3JzCgkJJGJsb2NrSW5mb1snZWRpdG9yX2dyb3VwcyddID0gJyc7CgkJaWYoaXNzZXQoJGtleXZhbFsnZWRpdG9yX2dyb3VwcyddKSAmJiAka2V5dmFsWydlZGl0b3JfZ3JvdXBzJ10gIT0gJycpCgkJewoJCQkkYmxvY2tJbmZvWydlZGl0b3JfZ3JvdXBzJ10gPSB0cmltKCRrZXl2YWxbJ2VkaXRvcl9ncm91cHMnXSk7CgkJfQoJCSRibG9ja0luZm9bJ2VkaXRvcl91c2VycyddID0gJyc7CgkJaWYoaXNzZXQoJGtleXZhbFsnZWRpdG9yX3VzZXJzJ10pICYmICRrZXl2YWxbJ2VkaXRvcl91c2VycyddICE9ICcnKQoJCXsKCQkJJGJsb2NrSW5mb1snZWRpdG9yX3VzZXJzJ10gPSB0cmltKCRrZXl2YWxbJ2VkaXRvcl91c2VycyddKTsKCQl9CgkJCgkJaWYoJHRoaXMtPl9jbXNfYWNjZXNzID09ICdiYWNrZW5kJwoJCQkmJiAoJGJsb2NrSW5mb1snZWRpdG9yX3VzZXJzJ10gfHwgJGJsb2NrSW5mb1snZWRpdG9yX2dyb3VwcyddKQoJCQkmJiAhJHRoaXMtPkNoZWNrQmxvY2tQZXJtaXNzaW9uKCRibG9ja0luZm8pKQoJCXsKCQkJcmV0dXJuIGZhbHNlOyAjIGRvbid0IHByb2Nlc3MgYmxvY2tzIHdpdGhvdXQgcGVybWlzc2lvbiB0byBlZGl0CgkJfQoJCQoJCSRibG9ja0luZm9bJ211bHRpcGxlJ10gID0gZmFsc2U7CgkJJGJsb2NrSW5mb1snbmV3X2Jsb2NrJ10gPSBmYWxzZTsKCQkKCQkjIGJsb2NrdHlwZQoJCSRibG9ja0luZm9bJ2Jsb2NrX3R5cGUnXSA9ICRibG9ja0luZm9bJ3R5cGUnXSA9ICd0ZXh0JzsKCQlpZihzdGFydHN3aXRoKCR3aG9sZXRhZywgJ2NvbnRlbnRfaW1hZ2UnKSkKCQl7CgkJCSRibG9ja0luZm9bJ2Jsb2NrX3R5cGUnXSA9ICRibG9ja0luZm9bJ3R5cGUnXSA9ICdpbWFnZSc7CgkJfQoJCWVsc2VpZihzdGFydHN3aXRoKCR3aG9sZXRhZywgJ2NvbnRlbnRfbW9kdWxlJykpCgkJewoJCQkkYmxvY2tJbmZvWydibG9ja190eXBlJ10gPSAkYmxvY2tJbmZvWyd0eXBlJ10gPSAnbW9kdWxlJzsKCQl9CgkJZWxzZWlmKGlzc2V0KCRrZXl2YWxbJ2Jsb2NrX3R5cGUnXSkgJiYgJGtleXZhbFsnYmxvY2tfdHlwZSddICE9ICcnKQoJCXsKCQkJJGJsb2NrSW5mb1snYmxvY2tfdHlwZSddID0gJGJsb2NrSW5mb1sndHlwZSddID0gc3RydG9sb3dlcigka2V5dmFsWydibG9ja190eXBlJ10pOwoJCX0KCQkKCQkkYmxvY2tJbmZvWydzbWFydHknXSA9IGZhbHNlOwoJCWlmKGlzc2V0KCRrZXl2YWxbJ3NtYXJ0eSddKSAmJiAkdGhpcy0+SXNUcnVlKCRrZXl2YWxbJ3NtYXJ0eSddKSkKCQl7CgkJCSRibG9ja0luZm9bJ3NtYXJ0eSddID0gdHJ1ZTsKCQl9CgkJCgkJJGJsb2NrSW5mb1sndHJhbnNsYXRlX2xhYmVscyddID0gZmFsc2U7CgkJaWYoaXNzZXQoJGtleXZhbFsndHJhbnNsYXRlX2xhYmVscyddKSAmJiAkdGhpcy0+SXNUcnVlKCRrZXl2YWxbJ3RyYW5zbGF0ZV9sYWJlbHMnXSkpCgkJewoJCQkkYmxvY2tJbmZvWyd0cmFuc2xhdGVfbGFiZWxzJ10gPSB0cnVlOwoJCX0KCQkKCQkkYmxvY2tJbmZvWyd0cmFuc2xhdGVfdmFsdWVzJ10gPSBmYWxzZTsKCQlpZihpc3NldCgka2V5dmFsWyd0cmFuc2xhdGVfdmFsdWVzJ10pICYmICR0aGlzLT5Jc1RydWUoJGtleXZhbFsndHJhbnNsYXRlX3ZhbHVlcyddKSkKCQl7CgkJCSRibG9ja0luZm9bJ3RyYW5zbGF0ZV92YWx1ZXMnXSA9IHRydWU7CgkJfQoJCQoJCSRibG9ja0luZm9bJ2xhYmVsJ10gPSB1Y3dvcmRzKCRibG9ja0luZm9bJ25hbWUnXSk7CgkJaWYoaXNzZXQoJGtleXZhbFsnbGFiZWwnXSkgJiYgJGtleXZhbFsnbGFiZWwnXSAhPSAnJykKCQl7CgkJCSRibG9ja0luZm9bJ2xhYmVsJ10gPSB0cmltKCRrZXl2YWxbJ2xhYmVsJ10pOwoJCX0KCQkKCQkkYmxvY2tJbmZvWydyZXF1aXJlZCddID0gZmFsc2U7CgkJaWYoaXNzZXQoJGtleXZhbFsncmVxdWlyZWQnXSkgJiYgJHRoaXMtPklzVHJ1ZSgka2V5dmFsWydyZXF1aXJlZCddKSkKCQl7CgkJCSRibG9ja0luZm9bJ3JlcXVpcmVkJ10gPSB0cnVlOwoJCX0KCQkKCQkjIGRlZmF1bHQgY29udGVudC92YWx1ZQoJCSRibG9ja0luZm9bJ2RlZmF1bHQnXSAJPSAnJzsKCQlpZihpc3NldCgka2V5dmFsWydkZWZhdWx0J10pICYmICRrZXl2YWxbJ2RlZmF1bHQnXSAhPSAnJykKCQl7CgkJCSRibG9ja0luZm9bJ2RlZmF1bHQnXSA9ICRrZXl2YWxbJ2RlZmF1bHQnXTsKCQl9CgkJCgkJIyBiYWNrZW5kIHN0eWxlIChlLmcuIHRvIG1hcmsgcmVxdWlyZWQgZmllbGRzLi4uKQoJCSMgZGVwcmVjYXRlZAoJCSRibG9ja0luZm9bJ3N0eWxlJ10gPSAnJzsKCQlpZihpc3NldCgka2V5dmFsWydzdHlsZSddKSkKCQl7CgkJCSRibG9ja0luZm9bJ3N0eWxlJ10gPSAka2V5dmFsWydzdHlsZSddOwoJCX0KCQkKCQkjIHNpemUgb2YgdGhlIGlucHV0IGZpZWxkCgkJJGJsb2NrSW5mb1snc2l6ZSddID0gJyc7CgkJaWYoaXNzZXQoJGtleXZhbFsnc2l6ZSddKSkKCQl7CgkJCSRibG9ja0luZm9bJ3NpemUnXSA9IGludHZhbCgka2V5dmFsWydzaXplJ10pOwoJCX0KCQkKCQkkYmxvY2tJbmZvWydwYWdlX3RhYiddID0gJ21haW4nOwoJCWlmKGlzc2V0KCRrZXl2YWxbJ3BhZ2VfdGFiJ10pICYmIHRyaW0oJGtleXZhbFsncGFnZV90YWInXSAhPSAnJykpCgkJewoJCQkkYmxvY2tJbmZvWydwYWdlX3RhYiddID0gdHJpbSgka2V5dmFsWydwYWdlX3RhYiddKTsKCQl9CgkJCgkJJGJsb2NrSW5mb1snYmxvY2tfdGFiJ10gPSAnJzsKCQlpZihpc3NldCgka2V5dmFsWydibG9ja190YWInXSkgJiYgdHJpbSgka2V5dmFsWydibG9ja190YWInXSAhPSAnJykpCgkJewoJCQkkYmxvY2tJbmZvWydibG9ja190YWInXSA9IHRyaW0oJGtleXZhbFsnYmxvY2tfdGFiJ10pOwoJCX0KCQkKCQkkYmxvY2tJbmZvWydibG9ja19ncm91cCddID0gJyc7CgkJaWYoaXNzZXQoJGtleXZhbFsnYmxvY2tfZ3JvdXAnXSkgJiYgdHJpbSgka2V5dmFsWydibG9ja19ncm91cCddICE9ICcnKSkKCQl7CgkJCSRibG9ja0luZm9bJ2Jsb2NrX2dyb3VwJ10gPSB0cmltKCRrZXl2YWxbJ2Jsb2NrX2dyb3VwJ10pOwoJCX0KCQkKCQkkYmxvY2tJbmZvWydhbGxvd19ub25lJ10gPSB0cnVlOwoJCWlmKGlzc2V0KCRrZXl2YWxbJ2FsbG93X25vbmUnXSkgJiYgJHRoaXMtPklzRmFsc2UoJGtleXZhbFsnYWxsb3dfbm9uZSddKSkKCQl7CgkJCSRibG9ja0luZm9bJ2FsbG93X25vbmUnXSA9IGZhbHNlOwoJCX0KCQkKCQkkYmxvY2tJbmZvWydkZXNjcmlwdGlvbiddID0gJyc7CgkJaWYoaXNzZXQoJGtleXZhbFsnZGVzY3JpcHRpb24nXSkpCgkJewoJCQkkYmxvY2tJbmZvWydkZXNjcmlwdGlvbiddID0gdHJpbSgka2V5dmFsWydkZXNjcmlwdGlvbiddKTsKCQl9CgkJCgkJJGJsb2NrSW5mb1snY29sbGFwc2UnXSA9ICRBZHZhbmNlZENvbnRlbnQtPkdldFByZWZlcmVuY2UoJ2NvbGxhcHNlX2Jsb2NrX2RlZmF1bHQnLDEpOwoJCWlmKGlzc2V0KCRrZXl2YWxbJ2NvbGxhcHNlJ10pICYmICgkdGhpcy0+SXNUcnVlKCRrZXl2YWxbJ2NvbGxhcHNlJ10pIHx8ICR0aGlzLT5Jc0ZhbHNlKCRrZXl2YWxbJ2NvbGxhcHNlJ10pKSkKCQl7CgkJCSRibG9ja0luZm9bJ2NvbGxhcHNlJ10gPSAkdGhpcy0+SXNUcnVlKCRrZXl2YWxbJ2NvbGxhcHNlJ10pOwoJCX0KCQkKCQkkYmxvY2tJbmZvWydub19jb2xsYXBzZSddID0gZmFsc2U7CgkJaWYoaXNzZXQoJGtleXZhbFsnbm9fY29sbGFwc2UnXSkgJiYgJHRoaXMtPklzVHJ1ZSgka2V5dmFsWydub19jb2xsYXBzZSddKSkKCQl7CgkJCSRibG9ja0luZm9bJ25vX2NvbGxhcHNlJ10gPSB0cnVlOwoJCX0KCQkKCQkkYmxvY2tJbmZvWydmZXVfYWNjZXNzJ10gPSAnJzsKCQlpZihpc3NldCgka2V5dmFsWydmZXVfYWNjZXNzJ10pKQoJCXsKCQkJJGJsb2NrSW5mb1snZmV1X2FjY2VzcyddID0gdHJpbSgka2V5dmFsWydmZXVfYWNjZXNzJ10pOwoJCX0KCQkKCQkkYmxvY2tJbmZvWydmZXVfYWN0aW9uJ10gPSBmYWxzZTsKCQlpZihpc3NldCgka2V5dmFsWydmZXVfYWN0aW9uJ10pICYmICR0aGlzLT5Jc1RydWUoJGtleXZhbFsnZmV1X2FjdGlvbiddKSkKCQl7CgkJCSRibG9ja0luZm9bJ2ZldV9hY3Rpb24nXSA9IHRydWU7CgkJfQoJCQoJCSRibG9ja0luZm9bJ2ZldV9oaWRlJ10gPSBmYWxzZTsKCQlpZihpc3NldCgka2V5dmFsWydmZXVfaGlkZSddKSAmJiAkdGhpcy0+SXNUcnVlKCRrZXl2YWxbJ2ZldV9oaWRlJ10pKQoJCXsKCQkJJGJsb2NrSW5mb1snZmV1X2hpZGUnXSA9IHRydWU7CgkJfQoJCQoJCWlmKCRibG9ja0luZm9bJ3R5cGUnXSA9PSAndGV4dCcpCgkJewoJCQkkYmxvY2tJbmZvWydtYXhsZW5ndGgnXSA9ICcnOwoJCQlpZihpc3NldCgka2V5dmFsWydtYXhsZW5ndGgnXSkpCgkJCXsKCQkJCSRibG9ja0luZm9bJ21heGxlbmd0aCddID0gJGtleXZhbFsnbWF4bGVuZ3RoJ107CgkJCX0KCQkJCgkJCSRibG9ja0luZm9bJ3VzZXd5c2l3eWcnXSA9IHRydWU7CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ3d5c2l3eWcnXSkgJiYgJHRoaXMtPklzRmFsc2UoJGtleXZhbFsnd3lzaXd5ZyddKSkKCQkJewoJCQkJJGJsb2NrSW5mb1sndXNld3lzaXd5ZyddID0gZmFsc2U7CgkJCX0KCQkJCgkJCSRibG9ja0luZm9bJ3Jvd3MnXSA9ICcnOwoJCQlpZihpc3NldCgka2V5dmFsWydyb3dzJ10pKQoJCQl7CgkJCQkkYmxvY2tJbmZvWydyb3dzJ10gPSAka2V5dmFsWydyb3dzJ107CgkJCX0KCQkJJGJsb2NrSW5mb1snY29scyddID0gJyc7CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ2NvbHMnXSkpCgkJCXsKCQkJCSRibG9ja0luZm9bJ2NvbHMnXSA9ICRrZXl2YWxbJ2NvbHMnXTsKCQkJfQoJCQkkYmxvY2tJbmZvWydhdXRvX3Jlc2l6ZSddID0gdHJ1ZTsKCQkJaWYoaXNzZXQoJGtleXZhbFsnYXV0b19yZXNpemUnXSkgJiYgJHRoaXMtPklzRmFsc2UoJ2F1dG9fcmVzaXplJykpCgkJCXsKCQkJCSRibG9ja0luZm9bJ2F1dG9fcmVzaXplJ10gPSBmYWxzZTsKCQkJfQoJCQkKCQkJJGJsb2NrSW5mb1snb25lbGluZSddID0gZmFsc2U7CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ29uZWxpbmUnXSkgJiYgJHRoaXMtPklzVHJ1ZSgka2V5dmFsWydvbmVsaW5lJ10pKQoJCQl7CgkJCQkkYmxvY2tJbmZvWydvbmVsaW5lJ10gPSB0cnVlOwoJCQl9CgkJfQoJCWVsc2UgaWYgKCRibG9ja0luZm9bJ3R5cGUnXSA9PSAnZGF0ZScpCgkJewoJCQkkdGhpcy0+X2RhdGVCbG9ja3NbXSA9ICRibG9ja0luZm9bJ2lkJ107CgkJCQoJCQkkc2hvd0Nsb2NrID0gdHJ1ZTsKCQkJaWYoaXNzZXQoJGtleXZhbFsnc2hvd19jbG9jayddKSAmJiAkdGhpcy0+SXNGYWxzZSgka2V5dmFsWydzaG93X2Nsb2NrJ10pKQoJCQl7CgkJCQkkc2hvd0Nsb2NrID0gZmFsc2U7CgkJCX0KCQkJCgkJCSRtb2RlID0gJ2NhbGVuZGFyJzsKCQkJaWYoaXNzZXQoJGtleXZhbFsnbW9kZSddKSAmJiBzdHJ0b2xvd2VyKCRrZXl2YWxbJ21vZGUnXSkgPT0gJ2Ryb3Bkb3duJykKCQkJewoJCQkJJG1vZGUgPSAnZHJvcGRvd24nOwoJCQl9CgkJCQoJCQkkc2hvdzI0aCA9IHRydWU7CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ3Nob3cyNGgnXSkgJiYgJHRoaXMtPklzRmFsc2UoJGtleXZhbFsnc2hvdzI0aCddKSkKCQkJewoJCQkJJHNob3cyNGggPSBmYWxzZTsKCQkJfQoJCQkKCQkJJHN0YXJ0SG91ciA9IDA7CgkJCSRlbmRIb3VyICAgPSAyMzsKCQkJaWYoaXNzZXQoJGtleXZhbFsnc3RhcnRfaG91ciddKSkKCQkJewoJCQkJaWYoZW5kc3dpdGgoJGtleXZhbFsnc3RhcnRfaG91ciddLCdwbScpKQoJCQkJewoJCQkJCSRrZXl2YWxbJ3N0YXJ0X2hvdXInXSA9IHRyaW0oc3RyX2lyZXBsYWNlKCdwbScsJycsJGtleXZhbFsnc3RhcnRfaG91ciddKSkgKyAxMjsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQkka2V5dmFsWydzdGFydF9ob3VyJ10gPSB0cmltKHN0cl9pcmVwbGFjZShhcnJheSgnYW0nLCdwbScpLCcnLCRrZXl2YWxbJ3N0YXJ0X2hvdXInXSkpOwoJCQkJfQoJCQkJaWYoJGtleXZhbFsnc3RhcnRfaG91ciddID4gMCAmJiAka2V5dmFsWydzdGFydF9ob3VyJ10gPD0gJGVuZEhvdXIpCgkJCQl7CgkJCQkJJHN0YXJ0SG91ciA9IHRyaW0oJGtleXZhbFsnc3RhcnRfaG91ciddKTsKCQkJCX0KCQkJfQoJCQlpZihpc3NldCgka2V5dmFsWydlbmRfaG91ciddKSkKCQkJewoJCQkJaWYoZW5kc3dpdGgoJGtleXZhbFsnZW5kX2hvdXInXSwncG0nKSkKCQkJCXsKCQkJCQkka2V5dmFsWydlbmRfaG91ciddID0gdHJpbShzdHJfaXJlcGxhY2UoJ3BtJywnJywka2V5dmFsWydlbmRfaG91ciddKSkgKyAxMjsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQkka2V5dmFsWydlbmRfaG91ciddID0gdHJpbShzdHJfaXJlcGxhY2UoYXJyYXkoJ2FtJywncG0nKSwnJywka2V5dmFsWydlbmRfaG91ciddKSk7CgkJCQl9CgkJCQlpZigka2V5dmFsWydlbmRfaG91ciddID49IDAgJiYgJGtleXZhbFsnZW5kX2hvdXInXSA8ICRlbmRIb3VyKQoJCQkJewoJCQkJCSRlbmRIb3VyID0gdHJpbSgka2V5dmFsWydlbmRfaG91ciddKTsKCQkJCX0KCQkJfQoJCQlpZigkZW5kSG91ciA8ICRzdGFydEhvdXIpCgkJCXsKCQkJCSRlbmRIb3VyID0gJHN0YXJ0SG91cjsKCQkJfQoJCQkkc3RhcnRNaW51dGUgPSAwOwoJCQlpZihpc3NldCgka2V5dmFsWydzdGFydF9taW51dGUnXSkgJiYgJGtleXZhbFsnc3RhcnRfbWludXRlJ10gPiAwICYmICRrZXl2YWxbJ3N0YXJ0X21pbnV0ZSddIDw9IDU5KQoJCQl7CgkJCQkkc3RhcnRNaW51dGUgPSB0cmltKCRrZXl2YWxbJ3N0YXJ0X21pbnV0ZSddKTsKCQkJfQoJCQkkZW5kTWludXRlID0gNTk7CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ2VuZF9taW51dGUnXSkgJiYgJGtleXZhbFsnZW5kX21pbnV0ZSddID49IDAgJiYgJGtleXZhbFsnZW5kX21pbnV0ZSddIDwgNTkpCgkJCXsKCQkJCSRlbmRNaW51dGUgPSB0cmltKCRrZXl2YWxbJ2VuZF9taW51dGUnXSk7CgkJCX0KCQkJaWYoJGVuZE1pbnV0ZSA8ICRzdGFydE1pbnV0ZSkKCQkJewoJCQkJJGVuZE1pbnV0ZSA9ICRzdGFydE1pbnV0ZTsKCQkJfQoJCQkkc3RhcnRTZWNvbmQgPSAwOwoJCQlpZihpc3NldCgka2V5dmFsWydzdGFydF9zZWNvbmQnXSkgJiYgJGtleXZhbFsnc3RhcnRfc2Vjb25kJ10gPiAwICYmICRrZXl2YWxbJ3N0YXJ0X3NlY29uZCddIDw9IDU5KQoJCQl7CgkJCQkkc3RhcnRTZWNvbmQgPSB0cmltKCRrZXl2YWxbJ3N0YXJ0X3NlY29uZCddKTsKCQkJfQoJCQkkZW5kU2Vjb25kID0gNTk7CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ2VuZF9zZWNvbmQnXSkgJiYgJGtleXZhbFsnZW5kX3NlY29uZCddID49IDAgJiYgJGtleXZhbFsnZW5kX3NlY29uZCddIDwgNTkpCgkJCXsKCQkJCSRlbmRTZWNvbmQgPSB0cmltKCRrZXl2YWxbJ2VuZF9zZWNvbmQnXSk7CgkJCX0KCQkJaWYoJGVuZFNlY29uZCA8ICRzdGFydFNlY29uZCkKCQkJewoJCQkJJGVuZFNlY29uZCA9ICRzdGFydFNlY29uZDsKCQkJfQoJCQkkc3RlcEhvdXJzID0gMTsKCQkJaWYoaXNzZXQoJGtleXZhbFsnc3RlcF9ob3VycyddKSAmJiAka2V5dmFsWydzdGVwX2hvdXJzJ10gPiAwICYmICRrZXl2YWxbJ3N0ZXBfaG91cnMnXSA8PSAoJGVuZEhvdXItJHN0YXJ0SG91cikpCgkJCXsKCQkJCSRzdGVwSG91cnMgPSB0cmltKCRrZXl2YWxbJ3N0ZXBfaG91cnMnXSk7CgkJCX0KCQkJZWxzZSBpZihpc3NldCgka2V5dmFsWydzdGVwX2hvdXJzJ10pICYmICRrZXl2YWxbJ3N0ZXBfaG91cnMnXSA+IDAgJiYgJGtleXZhbFsnc3RlcF9ob3VycyddID49ICgkZW5kSG91ci0kc3RhcnRIb3VyKSkKCQkJewoJCQkJJHN0ZXBIb3VycyA9ICRlbmRIb3VyLSRzdGFydEhvdXI7CgkJCX0KCQkJJHN0ZXBNaW51dGVzID0gMTA7CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ3N0ZXBfbWludXRlcyddKSAmJiAka2V5dmFsWydzdGVwX21pbnV0ZXMnXSA+IDAgJiYgJGtleXZhbFsnc3RlcF9taW51dGVzJ10gPD0gKCRlbmRNaW51dGUtJHN0YXJ0TWludXRlKSkKCQkJewoJCQkJJHN0ZXBNaW51dGVzID0gdHJpbSgka2V5dmFsWydzdGVwX21pbnV0ZXMnXSk7CgkJCX0KCQkJZWxzZSBpZihpc3NldCgka2V5dmFsWydzdGVwX21pbnV0ZXMnXSkgJiYgJGtleXZhbFsnc3RlcF9taW51dGVzJ10gPiAwICYmICRrZXl2YWxbJ3N0ZXBfbWludXRlcyddID49ICgkZW5kTWludXRlLSRzdGFydE1pbnV0ZSkpCgkJCXsKCQkJCSRzdGVwTWludXRlcyA9ICRlbmRNaW51dGUtJHN0YXJ0TWludXRlOwoJCQl9CgkJCSRzdGVwU2Vjb25kcyA9IDE7CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ3N0ZXBfc2Vjb25kcyddKSAmJiAka2V5dmFsWydzdGVwX3NlY29uZHMnXSA+IDAgJiYgJGtleXZhbFsnc3RlcF9zZWNvbmRzJ10gPD0gKCRlbmRTZWNvbmQtJHN0YXJ0U2Vjb25kcykpCgkJCXsKCQkJCSRzdGVwU2Vjb25kcyA9IHRyaW0oJGtleXZhbFsnc3RlcF9zZWNvbmRzJ10pOwoJCQl9CgkJCWVsc2UgaWYoaXNzZXQoJGtleXZhbFsnc3RlcF9zZWNvbmRzJ10pICYmICRrZXl2YWxbJ3N0ZXBfc2Vjb25kcyddID4gMCAmJiAka2V5dmFsWydzdGVwX3NlY29uZHMnXSA+PSAoJGVuZFNlY29uZC0kc3RhcnRTZWNvbmRzKSkKCQkJewoJCQkJJHN0ZXBTZWNvbmRzID0gJGVuZFNlY29uZC0kc3RhcnRTZWNvbmRzOwoJCQl9CgkJCSRibG9ja0luZm9bJ3Nob3cyNGgnXSAgICAgID0gJHNob3cyNGg7CgkJCSRibG9ja0luZm9bJ21vZGUnXSAgICAgICAgID0gJG1vZGU7CgkJCSRibG9ja0luZm9bJ3N0YXJ0X2hvdXInXSAgID0gJHN0YXJ0SG91cjsKCQkJJGJsb2NrSW5mb1snZW5kX2hvdXInXSAgICAgPSAkZW5kSG91cjsKCQkJJGJsb2NrSW5mb1snc3RhcnRfbWludXRlJ10gPSAkc3RhcnRNaW51dGU7CgkJCSRibG9ja0luZm9bJ2VuZF9taW51dGUnXSAgID0gJGVuZE1pbnV0ZTsKCQkJJGJsb2NrSW5mb1snc3RhcnRfc2Vjb25kJ10gPSAkc3RhcnRTZWNvbmQ7CgkJCSRibG9ja0luZm9bJ2VuZF9zZWNvbmQnXSAgID0gJGVuZFNlY29uZDsKCQkJJGJsb2NrSW5mb1snc3RlcF9ob3VycyddICAgPSAkc3RlcEhvdXJzOwoJCQkkYmxvY2tJbmZvWydzdGVwX21pbnV0ZXMnXSA9ICRzdGVwTWludXRlczsKCQkJJGJsb2NrSW5mb1snc3RlcF9zZWNvbmRzJ10gPSAkc3RlcFNlY29uZHM7CgkJCSRibG9ja0luZm9bJ3Nob3dfY2xvY2snXSAgID0gJHNob3dDbG9jazsKCQl9CgkJZWxzZSBpZiAoJGJsb2NrSW5mb1sndHlwZSddID09ICdjb2xvcnBpY2tlcicpCgkJewoJCQkkdGhpcy0+X2NvbG9yUGlja2VyQmxvY2tzW10gPSAkYmxvY2tJbmZvWydpZCddOwoJCX0KCQllbHNlIGlmICgkYmxvY2tJbmZvWyd0eXBlJ10gPT0gJ3NsaWRlcicpCgkJewoJCQkkdGhpcy0+X3NsaWRlckJsb2Nrc1tdID0gJGJsb2NrSW5mb1snaWQnXTsKCQkJJGJsb2NrSW5mb1sncGFyYW1zJ10gPSBhcnJheSgpOwoJCQlpZihpc3NldCgka2V5dmFsWydmcm9tJ10pKQoJCQl7CgkJCQkkYmxvY2tJbmZvWydwYXJhbXMnXVsnZnJvbSddID0gaW50dmFsKCRrZXl2YWxbJ2Zyb20nXSk7CgkJCX0KCQkJaWYoaXNzZXQoJGtleXZhbFsndG8nXSkpCgkJCXsKCQkJCSRibG9ja0luZm9bJ3BhcmFtcyddWyd0byddID0gaW50dmFsKCRrZXl2YWxbJ3RvJ10pOwoJCQl9CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ3N0ZXAnXSkpCgkJCXsKCQkJCSRibG9ja0luZm9bJ3BhcmFtcyddWydzdGVwJ10gPSBpbnR2YWwoJGtleXZhbFsnc3RlcCddKTsKCQkJfQoJCQlpZihpc3NldCgka2V5dmFsWydyb3VuZCddKSkKCQkJewoJCQkJJGJsb2NrSW5mb1sncGFyYW1zJ11bJ3JvdW5kJ10gPSBpbnR2YWwoJGtleXZhbFsncm91bmQnXSk7CgkJCX0KCQkJaWYoaXNzZXQoJGtleXZhbFsnaGV0ZXJvZ2VuZWl0eSddKSkKCQkJewoJCQkJJGJsb2NrSW5mb1sncGFyYW1zJ11bJ2hldGVyb2dlbmVpdHknXSA9ICRrZXl2YWxbJ2hldGVyb2dlbmVpdHknXTsKCQkJfQoJCQlpZihpc3NldCgka2V5dmFsWydkaW1lbnNpb24nXSkpCgkJCXsKCQkJCSRibG9ja0luZm9bJ3BhcmFtcyddWydkaW1lbnNpb24nXSA9ICInIi4ka2V5dmFsWydkaW1lbnNpb24nXS4iJyIgOwoJCQl9CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ2xpbWl0cyddKSkKCQkJewoJCQkJJGJsb2NrSW5mb1sncGFyYW1zJ11bJ2xpbWl0cyddID0gIiciLiRrZXl2YWxbJ2xpbWl0cyddLiInIjsKCQkJfQoJCQlpZihpc3NldCgka2V5dmFsWydzY2FsZSddKSkKCQkJewoJCQkJJGJsb2NrSW5mb1sncGFyYW1zJ11bJ3NjYWxlJ10gPSAka2V5dmFsWydzY2FsZSddOwoJCQl9CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ3NraW4nXSkpCgkJCXsKCQkJCSRibG9ja0luZm9bJ3BhcmFtcyddWydza2luJ10gPSAiJyIuJGtleXZhbFsnc2tpbiddLiInIjsKCQkJfQoJCQlpZihpc3NldCgka2V5dmFsWydjYWxjdWxhdGUnXSkpCgkJCXsKCQkJCSRibG9ja0luZm9bJ3BhcmFtcyddWydjYWxjdWxhdGUnXSA9ICRrZXl2YWxbJ2NhbGN1bGF0ZSddOwoJCQl9CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ29uc3RhdGVjaGFuZ2UnXSkpCgkJCXsKCQkJCSRibG9ja0luZm9bJ3BhcmFtcyddWydvbnN0YXRlY2hhbmdlJ10gPSAka2V5dmFsWydvbnN0YXRlY2hhbmdlJ107CgkJCX0KCQkJaWYoaXNzZXQoJGtleXZhbFsnY2FsbGJhY2snXSkpCgkJCXsKCQkJCSRibG9ja0luZm9bJ3BhcmFtcyddWydjYWxsYmFjayddID0gJGtleXZhbFsnY2FsbGJhY2snXTsKCQkJfQoJCX0KCQllbHNlIGlmKCRibG9ja0luZm9bJ3R5cGUnXSA9PSAnZHJvcGRvd24nIHx8ICRibG9ja0luZm9bJ3R5cGUnXSA9PSAnc2VsZWN0X211bHRpcGxlJykKCQl7CgkJCWlmKCRibG9ja0luZm9bJ3R5cGUnXSA9PSAnc2VsZWN0X211bHRpcGxlJykKCQkJewoJCQkJJGJsb2NrSW5mb1snc29ydGFibGUnXSA9IGZhbHNlOwoJCQkJIyBkZXByZWNhdGVkCgkJCQlpZihpc3NldCgka2V5dmFsWydzb3J0YWJsZV9pdGVtcyddKSAmJiAkdGhpcy0+SXNUcnVlKCRrZXl2YWxbJ3NvcnRhYmxlX2l0ZW1zJ10pKQoJCQkJewoJCQkJCSRibG9ja0luZm9bJ3NvcnRhYmxlJ10gPSB0cnVlOwoJCQkJfQoJCQkJaWYoaXNzZXQoJGtleXZhbFsnc29ydGFibGUnXSkgJiYgJHRoaXMtPklzVHJ1ZSgka2V5dmFsWydzb3J0YWJsZSddKSkKCQkJCXsKCQkJCQkkYmxvY2tJbmZvWydzb3J0YWJsZSddID0gdHJ1ZTsKCQkJCX0KCQkJfQoJCQkKCQkJJGJsb2NrSW5mb1snZGVsaW1pdGVyJ10gPSAnfCc7CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ2RlbGltaXRlciddKSAmJiAka2V5dmFsWydkZWxpbWl0ZXInXSAhPSAnJykKCQkJewoJCQkJJGJsb2NrSW5mb1snZGVsaW1pdGVyJ10gPSAka2V5dmFsWydkZWxpbWl0ZXInXTsKCQkJfQoJCQkkYmxvY2tJbmZvWydpdGVtcyddID0gJyc7CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ2l0ZW1zJ10pICYmICRrZXl2YWxbJ2l0ZW1zJ10gIT0gJycpCgkJCXsKCQkJCSRibG9ja0luZm9bJ2l0ZW1zJ10gPSB0cmltKCRrZXl2YWxbJ2l0ZW1zJ10pOwoJCQl9CgkJCSRibG9ja0luZm9bJ3ZhbHVlcyddID0gJyc7CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ3ZhbHVlcyddKSAmJiAka2V5dmFsWyd2YWx1ZXMnXSAhPSAnJykKCQkJewoJCQkJJGJsb2NrSW5mb1sndmFsdWVzJ10gPSB0cmltKCRrZXl2YWxbJ3ZhbHVlcyddKTsKCQkJfQoJCX0KCQllbHNlIGlmKCRibG9ja0luZm9bJ3R5cGUnXSA9PSAnbW9kdWxlJykKCQl7CgkJCSRibG9ja0luZm9bJ21vZHVsZSddID0gJyc7CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ21vZHVsZSddKSkKCQkJewoJCQkJJGJsb2NrSW5mb1snbW9kdWxlJ10gPSB0cmltKCRrZXl2YWxbJ21vZHVsZSddKTsKCQkJfQoJCQkkYmxvY2tJbmZvWydwYXJhbXMnXSA9ICRrZXl2YWw7CgkJfQoJCWVsc2UgaWYoJGJsb2NrSW5mb1sndHlwZSddID09ICdpbWFnZScpCgkJewoJCQkkYmxvY2tJbmZvWydwcmVmaXgnXSA9ICd0aHVtYl8nOwoJCQlpZihpc3NldCgka2V5dmFsWydwcmVmaXgnXSkpIHsKCQkJCSRibG9ja0luZm9bJ3ByZWZpeCddID0gJGtleXZhbFsncHJlZml4J107CgkJCX0KCQkJJGJsb2NrSW5mb1snZXhjbHVkZSddID0gdHJ1ZTsKCQkJaWYoaXNzZXQoJGtleXZhbFsnZXhjbHVkZSddKSAmJiAkdGhpcy0+SXNGYWxzZSgka2V5dmFsWydleGNsdWRlJ10pKSB7CgkJCQkkYmxvY2tJbmZvWydleGNsdWRlJ10gPSBmYWxzZTsKCQkJfQoJCQkkYmxvY2tJbmZvWydkaXInXSA9ICcnOwoJCQlpZihpc3NldCgka2V5dmFsWydkaXInXSkpIHsKCQkJCSRibG9ja0luZm9bJ2RpciddID0gJGtleXZhbFsnZGlyJ107CgkJCX0KCQl9CgkJZWxzZSBpZigkYmxvY2tJbmZvWyd0eXBlJ10gPT0gJ211bHRpX2lucHV0JykKCQl7CgkJCSRpbnB1dHMgPSAnJzsKCQkJaWYoaXNzZXQoJGtleXZhbFsnaW5wdXRzJ10pKQoJCQl7CgkJCQkkaW5wdXRzID0gdHJpbSgka2V5dmFsWydpbnB1dHMnXSk7CgkJCX0KCQkJCgkJCSR2YWx1ZURlbGltID0gJzwhLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tPic7CgkJCWlmKGlzc2V0KCRrZXl2YWxbJ3ZhbHVlX2RlbGltaXRlciddKSkKCQkJewoJCQkJJHZhbHVlRGVsaW0gPSB0cmltKCRrZXl2YWxbJ3ZhbHVlX2RlbGltaXRlciddKTsKCQkJfQoJCQkKCQkJJGlucHV0RGVsaW0gPSAnPCEtLSBtdWx0aV9pbnB1dF9kZWxpbWl0ZXIgLS0+JzsKCQkJaWYoaXNzZXQoJGtleXZhbFsnaW5wdXRfZGVsaW1pdGVyJ10pKQoJCQl7CgkJCQkkaW5wdXREZWxpbSA9IHRyaW0oJGtleXZhbFsnaW5wdXRfZGVsaW1pdGVyJ10pOwoJCQl9CgkJCSRibG9ja0luZm9bJ2lucHV0cyddICAgICAgICAgID0gJGlucHV0czsKCQkJJGJsb2NrSW5mb1sndmFsdWVfZGVsaW1pdGVyJ10gPSAkdmFsdWVEZWxpbTsKCQkJJGJsb2NrSW5mb1snaW5wdXRfZGVsaW1pdGVyJ10gPSAkaW5wdXREZWxpbTsKCQl9CgkJcmV0dXJuIGFycmF5X21lcmdlKCRrZXl2YWwsJGJsb2NrSW5mbyk7Cgl9CgkKCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VfY29udGVudF9ibG9ja3MoKQoJewoJCWlmKCR0aGlzLT5fY29udGVudEJsb2Nrc0xvYWRlZCkKCQl7CgkJCXJldHVybiB0cnVlOwoJCX0KCQkKCQlpZigkdGhpcy0+bVR5cGUgIT0gJ2NvbnRlbnQyJyAmJiAkdGhpcy0+bVR5cGUgIT0gJ2NvbnRlbnQnKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCQoJCSR0aGlzLT5fY29udGVudEJsb2NrcyA9IGFycmF5KCk7CgkJJEFkdmFuY2VkQ29udGVudCA9JiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0FkdmFuY2VkQ29udGVudCcpOwoJCWlmKCR0aGlzLT5fY21zX2FjY2VzcyA9PSAnYmFja2VuZCcpCgkJewoJCQkkdGhpcy0+X3RhYklkcyAgICAgID0gYXJyYXkoKTsKCQkJJHRoaXMtPl9kYXRlQmxvY2tzICA9IGFycmF5KCk7CgkJCSR0aGlzLT5fYmxvY2tUYWJzICAgPSBhcnJheSgpOwoJCQkkdGhpcy0+X2Jsb2NrR3JvdXBzID0gYXJyYXkoKTsKCQkJCgkJCSR0aGlzLT5fcGFnZVRhYnMgPSBhcnJheSgKCQkJCSdtYWluJyA9PiBhcnJheSgKCQkJCQkndGFiX2lkJyAgICAgICAgID0+ICdtYWluJywKCQkJCQkndGFiX25hbWUnICAgICAgID0+IGxhbmcoJ21haW4nKSwKCQkJCQknYmxvY2tfdGFicycgICAgID0+IGFycmF5KCksCgkJCQkJJ2Jsb2NrX2dyb3VwcycgICA9PiBhcnJheSgpLAoJCQkJCSdjb250ZW50X2Jsb2NrcycgPT4gYXJyYXkoKSkpOwoJCQkkdGhpcy0+X3RhYklkc1tdID0gJ21haW4nOwoJCQkKCQkJaWYoIGNoZWNrX3Blcm1pc3Npb24oZ2V0X3VzZXJpZCgpLCAnTWFuYWdlIEFsbCBDb250ZW50JykgKQoJCQl7CgkJCQkkdGhpcy0+X3BhZ2VUYWJzWydvcHRpb25zJ10gPSBhcnJheSgKCQkJCQkndGFiX2lkJyAgICAgICAgID0+ICdvcHRpb25zJywKCQkJCQkndGFiX25hbWUnICAgICAgID0+IGxhbmcoJ29wdGlvbnMnKSwKCQkJCQknYmxvY2tfdGFicycgICAgID0+IGFycmF5KCksCgkJCQkJJ2Jsb2NrX2dyb3VwcycgICA9PiBhcnJheSgpLAoJCQkJCSdjb250ZW50X2Jsb2NrcycgPT4gYXJyYXkoKSk7CgkJCQkkdGhpcy0+X3RhYklkc1tdID0gJ29wdGlvbnMnOwoJCQl9CgkJCQoJCQlpZiggY2hlY2tfcGVybWlzc2lvbihnZXRfdXNlcmlkKCksICdNYW5hZ2UgQWR2YW5jZWRDb250ZW50IE9wdGlvbnMnKSAmJiAkQWR2YW5jZWRDb250ZW50LT5HZXRQcmVmZXJlbmNlKCd1c2VfYWR2YW5jZWRfcGFnZW9wdGlvbnMnLDEpICkKCQkJewoJCQkJJHRoaXMtPl9wYWdlVGFic1snQWR2YW5jZWRDb250ZW50J10gPSBhcnJheSgKCQkJCQkndGFiX2lkJyAgICAgICAgID0+ICdBZHZhbmNlZENvbnRlbnQnLAoJCQkJCSd0YWJfbmFtZScgICAgICAgPT4gJEFkdmFuY2VkQ29udGVudC0+bGFuZygnYWR2YW5jZWRjb250ZW50X3RhYm5hbWUnKSwKCQkJCQknYmxvY2tfdGFicycgICAgID0+IGFycmF5KCksCgkJCQkJJ2Jsb2NrX2dyb3VwcycgICA9PiBhcnJheSgpLAoJCQkJCSdjb250ZW50X2Jsb2NrcycgPT4gYXJyYXkoKSk7CgkJCQkkdGhpcy0+X3RhYklkc1tdID0gJ0FkdmFuY2VkQ29udGVudCc7CgkJCX0KCQl9CgkJZWxzZSBpZighJHRoaXMtPkNoZWNrRnJvbnRlbmRQYWdlQWNjZXNzKCkpCgkJewoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgkJCgkJJHRlbXBsYXRlb3BzID0mIGNtc21zKCktPkdldFRlbXBsYXRlT3BlcmF0aW9ucygpOwoJCQoJCWlmICgkdGhpcy0+bVRlbXBsYXRlSWQgJiYgJHRoaXMtPm1UZW1wbGF0ZUlkID4gLTEpCgkJewoJCQkkdGVtcGxhdGUgPSAkdGVtcGxhdGVvcHMtPkxvYWRUZW1wbGF0ZUJ5SUQoJHRoaXMtPm1UZW1wbGF0ZUlkKTsKCQkJJHRoaXMtPl9zdHlsZXNoZWV0ID0gJy4uL3N0eWxlc2hlZXQucGhwP3RlbXBsYXRlaWQ9Jy4kdGhpcy0+bVRlbXBsYXRlSWQ7CgkJfQoJCWVsc2UKCQl7CgkJCSR0ZW1wbGF0ZSA9ICR0ZW1wbGF0ZW9wcy0+TG9hZERlZmF1bHRUZW1wbGF0ZSgpOwoJCX0KCQkKCQlpZigkdGVtcGxhdGUgIT09IGZhbHNlKQoJCXsKCQkJIyByZWFkIGNvbnRlbnQgYmxvY2tzCgkJCSMgdGhpcyB3aWxsIHNlYXJjaCBmb3Ige2NvbnRlbnR9IHtjb250ZW50X2ltYWdlfSB7Y29udGVudF9tb2R1bGV9IGFuZCB7QWR2YW5jZWRDb250ZW50fSB3aXRoIG9yIHdpdGhvdXQgcGFyYW1zIChjYXNlIGluc2Vuc2l0aXZlKQoJCQkkcGF0dGVybiA9ICcveygoQWR2YW5jZWRDb250ZW50fGNvbnRlbnQoX2ltYWdlfF9tb2R1bGUpPykoKD8hXylbXn1dKikpfS9pJzsKCQkJCgkJCSRtYXRjaGVzID0gYXJyYXkoKTsKCQkJIyBnZXQgYWxsIHRoZSB0YWdzCgkJCSRyZXN1bHQgPSBwcmVnX21hdGNoX2FsbCgkcGF0dGVybiwgJHRlbXBsYXRlLT5jb250ZW50LCAkbWF0Y2hlcyk7CgkJCQoJCQlpZiAoJHJlc3VsdCAmJiBjb3VudCgkbWF0Y2hlc1sxXSkgPiAwKQoJCQl7CgkJCQkKCQkJCSRqID0gMDsKCQkJCSMgZm9yZWFjaCB0YWcKCQkJCWZvcmVhY2ggKCRtYXRjaGVzWzFdIGFzICRrZXk9PiR3aG9sZXRhZykKCQkJCXsKCQkJCQkkaisrOwoJCQkJCQoJCQkJCWlmKCEkYmxvY2tJbmZvID0gJHRoaXMtPl9nZXRfYmxvY2tfaW5mbygkd2hvbGV0YWcpKQoJCQkJCXsKCQkJCQkJY29udGludWU7CgkJCQkJfQoJCQkJCQoJCQkJCSMgYmxvY2sgPSBhY3RpdmU/CgkJCQkJaWYoaXNzZXQoJGJsb2NrSW5mb1snYWN0aXZlJ10pICYmICR0aGlzLT5Jc0ZhbHNlKCRibG9ja0luZm9bJ2FjdGl2ZSddKSkKCQkJCQl7CgkJCQkJCWNvbnRpbnVlOyAjIGRvbid0IHByb2Nlc3MgaW5hY3RpdmUgYmxvY2tzCgkJCQkJfQoJCQkJCQoJCQkJCWlmKGlzc2V0KCR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJbmZvWydpZCddXSkpCgkJCQkJewoJCQkJCQkkdGhpcy0+X2NvbnRlbnRCbG9ja3NbJGJsb2NrSW5mb1snaWQnXV1bJ211bHRpcGxlJ10gPSB0cnVlOwoJCQkJCQljb250aW51ZTsKCQkJCQl9CgkJCQkJCgkJCQkJIyBpZiB0aGlzIGJsb2NrIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSB0ZW1wbGF0ZSBhZnRlciBwYWdlIGhhcyBiZWVuIGNyZWF0ZWQKCQkJCQlpZighaW5fYXJyYXkoJGJsb2NrSW5mb1snaWQnXSwkdGhpcy0+bVByb3BlcnRpZXMtPm1Qcm9wZXJ0eU5hbWVzKSkKCQkJCQl7CgkJCQkJCSRibG9ja0luZm9bJ25ld19ibG9jayddID0gdHJ1ZTsKCQkJCQl9CgkJCQkJCgkJCQkJJHBhZ2VUYWIgPSBwcmVnX3JlcGxhY2UoJy8tKy8nLCdfJyxtdW5nZV9zdHJpbmdfdG9fdXJsKHN0cnRvbG93ZXIodHJpbSgkYmxvY2tJbmZvWydwYWdlX3RhYiddKSkpKTsKCQkJCQlpZighaXNzZXQoJHRoaXMtPl9wYWdlVGFic1skcGFnZVRhYl0pKQoJCQkJCXsKCQkJCQkJJHRoaXMtPl9wYWdlVGFic1skcGFnZVRhYl1bJ3RhYl9pZCddICAgICAgID0gJHBhZ2VUYWI7CgkJCQkJCSR0aGlzLT5fcGFnZVRhYnNbJHBhZ2VUYWJdWyd0YWJfbmFtZSddICAgICA9ICRibG9ja0luZm9bJ3BhZ2VfdGFiJ107CgkJCQkJCSR0aGlzLT5fcGFnZVRhYnNbJHBhZ2VUYWJdWydibG9ja190YWJzJ10gICA9IGFycmF5KCk7CgkJCQkJCSR0aGlzLT5fcGFnZVRhYnNbJHBhZ2VUYWJdWydibG9ja19ncm91cHMnXSA9IGFycmF5KCk7CgkJCQkJCSRibG9ja0luZm9bJ3BhZ2VfdGFiJ10gPSAkcGFnZVRhYjsKCQkJCQl9CgkJCQkJJHRoaXMtPl9wYWdlVGFic1skcGFnZVRhYl1bJ2NvbnRlbnRfYmxvY2tzJ11bJGJsb2NrSW5mb1snaWQnXV0gPSAkYmxvY2tJbmZvWydpZCddOwoJCQkJCQoJCQkJCSRibG9ja1RhYiA9ICcnOwoJCQkJCWlmKCRibG9ja0luZm9bJ2Jsb2NrX3RhYiddICE9ICcnKQoJCQkJCXsKCQkJCQkJJGJsb2NrVGFiID0gJHBhZ2VUYWIgLiAnXycgLiBwcmVnX3JlcGxhY2UoJy8tKy8nLCdfJyxtdW5nZV9zdHJpbmdfdG9fdXJsKHN0cnRvbG93ZXIodHJpbSgkYmxvY2tJbmZvWydibG9ja190YWInXSkpKSk7CgkJCQkJCWlmKCFpc3NldCgkdGhpcy0+X2Jsb2NrVGFic1skYmxvY2tUYWJdKSkKCQkJCQkJewoJCQkJCQkJJHRoaXMtPl9ibG9ja1RhYnNbJGJsb2NrVGFiXVsndGFiX2lkJ10gICAgICAgPSAkYmxvY2tUYWI7CgkJCQkJCQkkdGhpcy0+X2Jsb2NrVGFic1skYmxvY2tUYWJdWyd0YWJfbmFtZSddICAgICA9ICRibG9ja0luZm9bJ2Jsb2NrX3RhYiddOwoJCQkJCQkJJHRoaXMtPl9ibG9ja1RhYnNbJGJsb2NrVGFiXVsnYmxvY2tfZ3JvdXBzJ10gPSBhcnJheSgpOwoJCQkJCQl9CgkJCQkJCSR0aGlzLT5fYmxvY2tUYWJzWyRibG9ja1RhYl1bJ2NvbnRlbnRfYmxvY2tzJ11bJGJsb2NrSW5mb1snaWQnXV0gPSAkYmxvY2tJbmZvWydpZCddOwoJCQkJCQkkdGhpcy0+X3BhZ2VUYWJzWyRwYWdlVGFiXVsnYmxvY2tfdGFicyddWyRibG9ja1RhYl0gICAgICAgICAgICAgID0gJGJsb2NrVGFiOwoJCQkJCQkkYmxvY2tJbmZvWydibG9ja190YWInXSA9ICRibG9ja1RhYjsKCQkJCQl9CgkJCQkJCgkJCQkJJGJsb2NrR3JvdXAgPSAnJzsKCQkJCQlpZigkYmxvY2tJbmZvWydibG9ja19ncm91cCddICE9ICcnKQoJCQkJCXsKCQkJCQkJJGJsb2NrR3JvdXAgPSAoJGJsb2NrVGFiPyRibG9ja1RhYjokcGFnZVRhYikgLiAnXycgLiBwcmVnX3JlcGxhY2UoJy8tKy8nLCdfJyxtdW5nZV9zdHJpbmdfdG9fdXJsKHN0cnRvbG93ZXIodHJpbSgkYmxvY2tJbmZvWydibG9ja19ncm91cCddKSkpKTsKCQkJCQkJaWYoIWlzc2V0KCR0aGlzLT5fYmxvY2tHcm91cHNbJGJsb2NrR3JvdXBdKSkKCQkJCQkJewoJCQkJCQkJJHRoaXMtPl9ibG9ja0dyb3Vwc1skYmxvY2tHcm91cF1bJ2dyb3VwX2lkJ10gICA9ICRibG9ja0dyb3VwOwoJCQkJCQkJJHRoaXMtPl9ibG9ja0dyb3Vwc1skYmxvY2tHcm91cF1bJ2dyb3VwX25hbWUnXSA9ICRibG9ja0luZm9bJ2Jsb2NrX2dyb3VwJ107CgkJCQkJCQkkdGhpcy0+X3BhZ2VUYWJzWyRwYWdlVGFiXVsnYmxvY2tfZ3JvdXBzJ11bJGJsb2NrR3JvdXBdID0gJGJsb2NrR3JvdXA7CgkJCQkJCX0KCQkJCQkJJHRoaXMtPl9ibG9ja0dyb3Vwc1skYmxvY2tHcm91cF1bJ2NvbnRlbnRfYmxvY2tzJ11bJGJsb2NrSW5mb1snaWQnXV0gPSAkYmxvY2tJbmZvWydpZCddOwoJCQkJCQl1bnNldCgkdGhpcy0+X2Jsb2NrVGFic1skYmxvY2tUYWJdWydjb250ZW50X2Jsb2NrcyddWyRibG9ja0luZm9bJ2lkJ11dKTsKCQkJCQkJaWYoJGJsb2NrVGFiKQoJCQkJCQl7CgkJCQkJCQkkdGhpcy0+X2Jsb2NrVGFic1skYmxvY2tUYWJdWydibG9ja19ncm91cHMnXVskYmxvY2tHcm91cF0gPSAkYmxvY2tHcm91cDsKCQkJCQkJfQoJCQkJCQllbHNlCgkJCQkJCXsKCQkJCQkJCXVuc2V0KCR0aGlzLT5fYmxvY2tUYWJzWyRibG9ja1RhYl1bJ2Jsb2NrX2dyb3VwcyddWyRibG9ja0dyb3VwXSk7CgkJCQkJCX0KCQkJCQkJJGJsb2NrSW5mb1snYmxvY2tfZ3JvdXAnXSA9ICRibG9ja0dyb3VwOwoJCQkJCX0KCQkJCQkKCQkJCQkjIHRoaXMgd2lsbCBjcmVhdGUgYW4gaW52YWxpZCBibG9jayB0eXBlIHRvIHByaW50IG91dCBhCgkJCQkJIyBtZXNzYWdlIHdoZW4gdXNpbmcgYSBiYXNpYyBjb250ZW50IHByb3BlcnR5IGFzIGJsb2NrIG5hbWUKCQkJCQlpZigkdGhpcy0+aXNfa25vd25fcHJvcGVydHkoJGJsb2NrSW5mb1snaWQnXSkKCQkJCQl8fCAkYmxvY2tJbmZvWydpZCddID09ICRibG9ja0luZm9bJ2lkJ10gLiAnX2ZldV9hY3Rpb24nCgkJCQkJfHwgJGJsb2NrSW5mb1snaWQnXSA9PSAkYmxvY2tJbmZvWydpZCddIC4gJ19mZXVfYWN0aW9uW10nCgkJCQkJfHwgJGJsb2NrSW5mb1snaWQnXSA9PSAkYmxvY2tJbmZvWydpZCddIC4gJ19mZXVfYWNjZXNzJwoJCQkJCXx8ICRibG9ja0luZm9bJ2lkJ10gPT0gJGJsb2NrSW5mb1snaWQnXSAuICdfZmV1X2FjY2Vzc1tdJwoJCQkJCXx8ICRibG9ja0luZm9bJ2lkJ10gPT0gJ0FkdmFuY2VkQ29udGVudFN0YXJ0RGF0ZScKCQkJCQl8fCAkYmxvY2tJbmZvWydpZCddID09ICdBZHZhbmNlZENvbnRlbnRFbmREYXRlJwoJCQkJCXx8ICRibG9ja0luZm9bJ2lkJ10gPT0gJ0FkdmFuY2VkQ29udGVudFN0YXJ0VGltZScKCQkJCQl8fCAkYmxvY2tJbmZvWydpZCddID09ICdBZHZhbmNlZENvbnRlbnRFbmRUaW1lJwoJCQkJCXx8ICRibG9ja0luZm9bJ2lkJ10gPT0gJ3N0YXJ0X2RhdGUnCgkJCQkJfHwgJGJsb2NrSW5mb1snaWQnXSA9PSAnZW5kX2RhdGUnCgkJCQkJfHwgJGJsb2NrSW5mb1snaWQnXSA9PSAkYmxvY2tJbmZvWydpZCddIC4gJ19BZHZhbmNlZENvbnRlbnRUaW1lJwoJCQkJCXx8ICRibG9ja0luZm9bJ2lkJ10gPT0gJGJsb2NrSW5mb1snaWQnXSAuICdfQWR2YW5jZWRDb250ZW50RGF0ZScpCgkJCQkJewoJCQkJCQkkYmxvY2tJbmZvWydpZCddID0gbWQ1KCRibG9ja0luZm9bJ2lkJ10gLiAkaik7CgkJCQkJCSR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJbmZvWydpZCddXSA9ICRibG9ja0luZm87CgkJCQkJCSR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJbmZvWydpZCddXVsnYmxvY2tfdHlwZSddICAgID0gJyc7CgkJCQkJCSR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJbmZvWydpZCddXVsnZGVmYXVsdCddID0gJHRoaXMtPmxhbmcoJ2Vycm9yX2Jhc2ljYXR0cmliJywgJGJsb2NrSW5mb1snbmFtZSddKTsKCQkJCQkJCgkJCQkJCWNvbnRpbnVlOwoJCQkJCX0KCQkJCQkKCQkJCQkkdGhpcy0+X2NvbnRlbnRCbG9ja3NbJGJsb2NrSW5mb1snaWQnXV0gPSAkYmxvY2tJbmZvOwoJCQkJCSR0aGlzLT5BZGRFeHRyYVByb3BlcnR5KCRibG9ja0luZm9bJ2lkJ10pOwoJCQkJCQoJCQkJCWlmKCRibG9ja0luZm9bJ2Jsb2NrX3R5cGUnXSA9PSAnbXVsdGlfaW5wdXQnICYmICRibG9ja0luZm9bJ2lucHV0cyddKQoJCQkJCXsKCQkJCQkJIyBnZXQgbXVsdGkgaW5wdXRzCgkJCQkJCSRtdWx0aV9pbnB1dF9pZHMgPSAkdGhpcy0+Q2xlYW5BcnJheShleHBsb2RlKCcsJywkYmxvY2tJbmZvWydpbnB1dHMnXSkpOwoJCQkJCQlmb3JlYWNoKCRtdWx0aV9pbnB1dF9pZHMgYXMgJGsxPT4kbXVsdGlfaW5wdXRfaWQpCgkJCQkJCXsKCQkJCQkJCWlmKCFpc3NldCgkdGhpcy0+X211bHRpSW5wdXRzWyRtdWx0aV9pbnB1dF9pZF0pKQoJCQkJCQkJewoJCQkJCQkJCSR0aGlzLT5fbXVsdGlJbnB1dHMgPSBhcnJheV9tZXJnZSgkdGhpcy0+X211bHRpSW5wdXRzLCAkQWR2YW5jZWRDb250ZW50LT5HZXRNdWx0aUlucHV0RnVsbCgkbXVsdGlfaW5wdXRfaWRzKSk7CgkJCQkJCQkJaWYoIWlzc2V0KCR0aGlzLT5fbXVsdGlJbnB1dHNbJG11bHRpX2lucHV0X2lkXSkpCgkJCQkJCQkJewoJCQkJCQkJCQljb250aW51ZTsKCQkJCQkJCQl9CgkJCQkJCQkJIyR0aGlzLT5fbXVsdGlJbnB1dHNbJGlucHV0X2lkXVsndGVtcGxhdGUnXSA9ICRBZHZhbmNlZENvbnRlbnQtPkdldFRlbXBsYXRlKCR0aGlzLT5fbXVsdGlJbnB1dHNbJGlucHV0X2lkXVsndHBsX25hbWUnXSk7CgkJCQkJCQkJJHBhdHRlcm4gPSAnL3soKEFkdmFuY2VkQ29udGVudHxjb250ZW50KF9pbWFnZXxfbW9kdWxlKT8pKCg/IV8pW159XSopKX0vaSc7CgkJCQkJCQkJJG1hdGNoZXMgPSBhcnJheSgpOwoJCQkJCQkJCSMgZ2V0IGFsbCB0aGUgdGFncwoJCQkJCQkJCSRyZXN1bHQgPSBwcmVnX21hdGNoX2FsbCgkcGF0dGVybiwgJHRoaXMtPl9tdWx0aUlucHV0c1skbXVsdGlfaW5wdXRfaWRdWydpbnB1dF9maWVsZHMnXSwgJG1hdGNoZXMpOwoJCQkJCQkJCQoJCQkJCQkJCWlmICgkcmVzdWx0ICYmIGNvdW50KCRtYXRjaGVzWzFdKSA+IDApCgkJCQkJCQkJewoJCQkJCQkJCQkjIGZvcmVhY2ggdGFnCgkJCQkJCQkJCWZvcmVhY2ggKCRtYXRjaGVzWzFdIGFzICRrMj0+JHdob2xldGFnKQoJCQkJCQkJCQl7CgkJCQkJCQkJCQlpZighJGlucHV0SW5mbyA9ICR0aGlzLT5fZ2V0X2Jsb2NrX2luZm8oJHdob2xldGFnKSkKCQkJCQkJCQkJCXsKCQkJCQkJCQkJCQljb250aW51ZTsKCQkJCQkJCQkJCX0KCQkJCQkJCQkJCWlmKCRpbnB1dEluZm9bJ2Jsb2NrX3R5cGUnXSA9PSAnbXVsdGlfaW5wdXQnKQoJCQkJCQkJCQkJewoJCQkJCQkJCQkJCWNvbnRpbnVlOyAjIFRvRG86IGRpc3BsYXkgbWVzc2FnZT8KCQkJCQkJCQkJCX0KCQkJCQkJCQkJCSR0aGlzLT5fbXVsdGlJbnB1dHNbJG11bHRpX2lucHV0X2lkXVsnZWxlbWVudHMnXVskazJdID0gJGlucHV0SW5mbzsKCQkJCQkJCQkJfQoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoJCQkjIGZvcmNlIGEgbG9hZAoJCQkkdGhpcy0+bVByb3BlcnRpZXMtPkxvYWQoJHRoaXMtPm1JZCk7CgkJCSR0aGlzLT5fY29udGVudEJsb2Nrc0xvYWRlZCA9IHRydWU7CgkJfQoJCXJldHVybiAkdGhpcy0+X2NvbnRlbnRCbG9ja3NMb2FkZWQ7Cgl9CgkKCWZ1bmN0aW9uIGRpc3BsYXlfY29udGVudF9ibG9jaygkYmxvY2tJbmZvLCR2YWx1ZSA9ICcnLCRhZGRpbmcgPSBmYWxzZSkKCXsKCQkkQWR2YW5jZWRDb250ZW50ID0mIGNtc191dGlsczo6Z2V0X21vZHVsZSgnQWR2YW5jZWRDb250ZW50Jyk7CgkJaWYobWV0aG9kX2V4aXN0cygkdGhpcywnX2Rpc3BsYXlfJy4kYmxvY2tJbmZvWydibG9ja190eXBlJ10uJ19ibG9jaycpKQoJCXsKCQkJcmV0dXJuIGNhbGxfdXNlcl9mdW5jKGFycmF5KCR0aGlzLCdfZGlzcGxheV8nLiRibG9ja0luZm9bJ2Jsb2NrX3R5cGUnXS4nX2Jsb2NrJyksICRibG9ja0luZm8sICR2YWx1ZSwgJGFkZGluZyk7CgkJfQoJCXJldHVybiAkQWR2YW5jZWRDb250ZW50LT5sYW5nKCdpbnZhbGlkX2Jsb2NrdHlwZScsJGJsb2NrSW5mb1snYmxvY2tfdHlwZSddLCRibG9ja0luZm9bJ25hbWUnXSk7Cgl9CgkKCWZ1bmN0aW9uIFNldFByb3BlcnRpZXMoKQoJewoJCXBhcmVudDo6U2V0UHJvcGVydGllcygpOwoJCQoJCSR0aGlzLT5BZGRCYXNlUHJvcGVydHkoJ3RlbXBsYXRlJywgNCwgMCwgJ2ludCcpOwoJCSR0aGlzLT5BZGRCYXNlUHJvcGVydHkoJ3BhZ2VtZXRhZGF0YScsIDIwKTsKCQkKCQkkdGhpcy0+QWRkQ29udGVudFByb3BlcnR5KCdzZWFyY2hhYmxlJywgOCwgMCwgJ2ludCcpOwoJCSR0aGlzLT5BZGRDb250ZW50UHJvcGVydHkoJ3BhZ2VkYXRhJywgMjUpOwoJCSR0aGlzLT5BZGRDb250ZW50UHJvcGVydHkoJ2Rpc2FibGVfd3lzaXd5ZycsIDYwLCAwLCAnaW50Jyk7CgkJCgkJaWYoY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdBZHZhbmNlZENvbnRlbnQnKS0+R2V0UHJlZmVyZW5jZSgndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJywxKSkKCQl7CgkJCSR0aGlzLT5BZGRDb250ZW50UHJvcGVydHkoJ3VzZV9leHBpcmVfZGF0ZScsIDk5LCAwLCAnaW50Jyk7CgkJCSR0aGlzLT5BZGRDb250ZW50UHJvcGVydHkoJ3N0YXJ0X2RhdGUnLCAxMDAsIDAsICdpbnQnKTsKCQkJJHRoaXMtPkFkZENvbnRlbnRQcm9wZXJ0eSgnZW5kX2RhdGUnLCAxMDEsIDAsICdpbnQnKTsKCQkJCgkJCSR0aGlzLT5BZGRDb250ZW50UHJvcGVydHkoJ2ZldV9hY2Nlc3MnLCAxMDIpOwoJCQkkdGhpcy0+QWRkQ29udGVudFByb3BlcnR5KCdyZWRpcmVjdF9wYWdlJywgMTAzLCAwLCAnaW50Jyk7CgkJCSR0aGlzLT5BZGRDb250ZW50UHJvcGVydHkoJ2ZldV9hY3Rpb24nLCAxMTAsIDAsICdpbnQnKTsKCQkJJHRoaXMtPkFkZENvbnRlbnRQcm9wZXJ0eSgnaGlkZV9tZW51X2l0ZW0nLCAxMTEsIDAsICdpbnQnKTsKCQkJCgkJCSR0aGlzLT5BZGRDb250ZW50UHJvcGVydHkoJ2luaGVyaXRfZmV1X3BhcmFtcycsIDEwNCwgMCwnaW50Jyk7CgkJCSR0aGlzLT5BZGRDb250ZW50UHJvcGVydHkoJ2ZldV9wYXJhbXMnLCAxMDUsIDApOwoJCQkkdGhpcy0+QWRkQ29udGVudFByb3BlcnR5KCdmZXVfcGFyYW1zX3NtYXJ0eScsIDEwNiwgMCwgJ2ludCcpOwoJCQkKCQkJJHRoaXMtPkFkZENvbnRlbnRQcm9wZXJ0eSgnaW5oZXJpdF9jdXN0b21fcGFyYW1zJywgMTA3LCAwLCdpbnQnKTsKCQkJJHRoaXMtPkFkZENvbnRlbnRQcm9wZXJ0eSgnY3VzdG9tX3BhcmFtcycsIDEwOCwgMCk7CgkJCSR0aGlzLT5BZGRDb250ZW50UHJvcGVydHkoJ2N1c3RvbV9wYXJhbXNfc21hcnR5JywgMTA5LCAwLCAnaW50Jyk7CgkJfQoJCSR0aGlzLT5tUHJldmlldyA9IHRydWU7Cgl9CgkKCWZ1bmN0aW9uIFJlYWR5Rm9yRWRpdCgpCgl7CgkJJHRoaXMtPnBhcnNlX2NvbnRlbnRfYmxvY2tzKCk7Cgl9CgkKCWZ1bmN0aW9uIFNob3coJHBhcmFtID0gJ2NvbnRlbnRfZW4nKQoJewoJCS8vIGNoZWNrIHBhZ2UgYWNjZXNzCgkJaWYoY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdBZHZhbmNlZENvbnRlbnQnKS0+R2V0UHJlZmVyZW5jZSgndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJywxKSAmJiAkdGhpcy0+X2Ntc19hY2Nlc3MgPT0gJ2Zyb250ZW5kJyAmJiAhJHRoaXMtPkNoZWNrRnJvbnRlbmRQYWdlQWNjZXNzKCkpCgkJewoJCQlyZXR1cm4gJHRoaXMtPkRvRnJvbnRlbmRQYWdlQWN0aW9uKCk7CgkJfQoJCQoJCSR0aGlzLT5wYXJzZV9jb250ZW50X2Jsb2NrcygpOwoJCSRwYXJhbSA9IHByZWdfcmVwbGFjZSgnLy0rLycsJ18nLG11bmdlX3N0cmluZ190b191cmwoJHBhcmFtKSk7CgkJCgkJLy8gY2hlY2sgYmxvY2sgYWNjZXNzCgkJaWYoJHRoaXMtPl9jbXNfYWNjZXNzID09ICdmcm9udGVuZCcpCgkJewoJCQlmb3JlYWNoKCR0aGlzLT5fY29udGVudEJsb2NrcyBhcyAkYmxvY2tJbmZvKQoJCQl7CgkJCQkjIHRvZG86IGNoZWNrIGlmIHRoaXMgaXMgYSBnb29kIGlkZWEgdG8gcHJvY2VzcyBzbWFydHkgaW4gcGFyYW1zIHdoZW4gaW4gZnJvbnRlbmQKCQkJCWlmKCRibG9ja0luZm9bJ3NtYXJ0eSddID09PSB0cnVlIHx8ICRibG9ja0luZm9bJ3NtYXJ0eSddID09ICdmcm9udGVuZCcpCgkJCQl7CgkJCQkJZm9yZWFjaCgkYmxvY2tJbmZvIGFzICRwcm9wTmFtZT0+JHByb3BWYWx1ZSkKCQkJCQl7CgkJCQkJCSRibG9ja0luZm9bJHByb3BOYW1lXSA9ICR0aGlzLT5Eb1NtYXJ0eSgkcHJvcFZhbHVlKTsKCQkJCQl9CgkJCQl9CgkJCQkjLS0tCgkJCQlpZigkZmV1c2VycyA9JiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKSkKCQkJCXsKCQkJCQlpZigkYmxvY2tJbmZvWydmZXVfYWNjZXNzJ10gJiYgISR0aGlzLT5DaGVja0Zyb250ZW5kQWNjZXNzKCRibG9ja0luZm9bJ2ZldV9hY2Nlc3MnXSkpCgkJCQkJewoJCQkJCQlpZigkYmxvY2tJbmZvWydmZXVfYWN0aW9uJ10gJiYgISR0aGlzLT5fZmV1QWN0aW9uKQoJCQkJCQl7CgkJCQkJCQkkdGhpcy0+X2ZldUFjdGlvbiA9IHRydWU7CgkJCQkJCQkkdGhpcy0+U2V0UHJvcGVydHlWYWx1ZSgkYmxvY2tJbmZvWydpZCddLCRmZXVzZXJzLT5Eb0FjdGlvbignZGVmYXVsdCcsICdjbnRudDAxJywgYXJyYXkoJ2Zvcm0nPT4nbG9naW4nKSwgJHRoaXMtPm1JZCkpOwoJCQkJCQl9CgkJCQkJCWVsc2UKCQkJCQkJewoJCQkJCQkJJHRoaXMtPlNldFByb3BlcnR5VmFsdWUoJGJsb2NrSW5mb1snaWQnXSwnJyk7CgkJCQkJCX0KCQkJCQl9CgkJCQkJZWxzZSBpZigkYmxvY2tJbmZvWydmZXVfaGlkZSddICYmICRmZXVzZXJzLT5Mb2dnZWRJbklkKCkpCgkJCQkJewoJCQkJCQkkdGhpcy0+U2V0UHJvcGVydHlWYWx1ZSgkYmxvY2tJbmZvWydpZCddLCcnKTsKCQkJCQl9CgkJCQl9CgkJCQlpZigkYmxvY2tJbmZvWydibG9ja190eXBlJ10gPT0gJ2RhdGUnICYmICRibG9ja0luZm9bJ2RhdGVfZm9ybWF0J10gIT0gJycpCgkJCQl7CgkJCQkJJHRoaXMtPlNldFByb3BlcnR5VmFsdWUoJGJsb2NrSW5mb1snaWQnXSxzdHJmdGltZSgkYmxvY2tJbmZvWydkYXRlX2Zvcm1hdCddLCR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCRibG9ja0luZm9bJ2lkJ10pKSk7CgkJCQl9CgkJCQlpZighJGJsb2NrSW5mb1snYWxsb3dfbm9uZSddICYmICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCRibG9ja0luZm9bJ2lkJ10pID09ICcnKQoJCQkJewoJCQkJCSR0aGlzLT5TZXRQcm9wZXJ0eVZhbHVlKCRibG9ja0luZm9bJ2lkJ10sICRibG9ja0luZm9bJ2RlZmF1bHQnXSk7CgkJCQl9CgkJCX0KCQl9CgkJJHJlc3VsdCA9ICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCRwYXJhbSk7CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CgkKCWZ1bmN0aW9uIFRhYk5hbWVzKCkKCXsKCQkkdGFicyA9IGFycmF5KGxhbmcoJ21haW4nKSk7CgkJaWYoIGNoZWNrX3Blcm1pc3Npb24oZ2V0X3VzZXJpZCgpLCAnTWFuYWdlIEFsbCBDb250ZW50JykgKQoJCXsKCQkJJHRhYnNbXSA9IGxhbmcoJ29wdGlvbnMnKTsKCQl9CgkJJEFkdmFuY2VkQ29udGVudCA9JiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0FkdmFuY2VkQ29udGVudCcpOwoJCWlmKCBjaGVja19wZXJtaXNzaW9uKGdldF91c2VyaWQoKSwgJ01hbmFnZSBBZHZhbmNlZENvbnRlbnQgT3B0aW9ucycpICYmICRBZHZhbmNlZENvbnRlbnQtPkdldFByZWZlcmVuY2UoJ3VzZV9hZHZhbmNlZF9wYWdlb3B0aW9ucycsMSkpCgkJewoJCQkkdGFic1tdID0gJEFkdmFuY2VkQ29udGVudC0+bGFuZygnYWR2YW5jZWRjb250ZW50X3RhYm5hbWUnKTsKCQl9CgkJCgkJJHRoaXMtPnBhcnNlX2NvbnRlbnRfYmxvY2tzKCk7CgkJCgkJZm9yZWFjaCgkdGhpcy0+X3BhZ2VUYWJzIGFzICR0YWIpCgkJewoJCQlpZighaW5fYXJyYXkoJHRhYlsndGFiX25hbWUnXSwgJHRhYnMpKQoJCQl7CgkJCQkkdGFic1tdID0gKCR0YWJbJ3RhYl9pZCddID09ICdvcHRpb25zJyA/IGxhbmcoJ29wdGlvbnMnKSA6ICR0YWJbJ3RhYl9uYW1lJ10pOwoJCQl9CgkJCWlmKCFpbl9hcnJheSgkdGFiWyd0YWJfaWQnXSwgJHRoaXMtPl90YWJJZHMpKQoJCQl7CgkJCQkkdGhpcy0+X3RhYklkc1tdID0gJHRhYlsndGFiX2lkJ107CgkJCX0KCQl9CgkJcmV0dXJuICR0YWJzOwoJfQoJCglmdW5jdGlvbiBGaWxsUGFyYW1zKCRwYXJhbXMsICRlZGl0aW5nID0gZmFsc2UpCgl7CgkJaWYoaXNzZXQoJHBhcmFtc1snY29udGVudF90eXBlJ10pKQoJCXsKCQkJJEFkdmFuY2VkQ29udGVudCA9JiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0FkdmFuY2VkQ29udGVudCcpOwoJCQkKCQkJJHBhcmFtZXRlcnMgPSBhcnJheSgncGFnZWRhdGEnLCAnc2VhcmNoYWJsZScsICdkaXNhYmxlX3d5c2l3eWcnLCAnZmV1X2FjY2VzcycsICdyZWRpcmVjdF9wYWdlJywgJ3JlZGlyZWN0X3BhcmFtcycsICdldmFsdWF0ZV9zbWFydHknLCAnZmV1X2FjdGlvbicsICdzdGFydF9kYXRlJywgJ2VuZF9kYXRlJywgJ3VzZV9leHBpcmVfZGF0ZScsJ2hpZGVfbWVudV9pdGVtJywnaW5oZXJpdF9yZWRpcmVjdF9wYXJhbXMnKTsKCQkJCgkJCSR0aGlzLT5fY29udGVudEJsb2Nrc0xvYWRlZCA9IGZhbHNlOwoJCQkkdGhpcy0+bVRlbXBsYXRlSWQgICAgICAgICAgPSBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZV9pZCddKSA/ICRwYXJhbXNbJ3RlbXBsYXRlX2lkJ10gOiAkdGhpcy0+bVRlbXBsYXRlSWQ7CgkJCSR0aGlzLT5tVHlwZSAgICAgICAgICAgICAgICA9IGlzc2V0KCRwYXJhbXNbJ2NvbnRlbnRfdHlwZSddKSA/ICRwYXJhbXNbJ2NvbnRlbnRfdHlwZSddIDogJHRoaXMtPm1UeXBlOwoJCQkKCQkJaWYoJHRoaXMtPm1UeXBlID09ICdjb250ZW50MicgfHwgJHRoaXMtPm1UeXBlID09ICdjb250ZW50JykKCQkJewoJCQkJIyBhZGQgY29udGVudCBibG9ja3MKCQkJCSR0aGlzLT5wYXJzZV9jb250ZW50X2Jsb2NrcygpOwoJCQkJCgkJCQkjIGFkZGVkIGJ5IE5hTjoKCQkJCSR0aGlzLT5tUGFyZW50SWQgPSBpc3NldCgkcGFyYW1zWydwYXJlbnRfaWQnXSkgPyAkcGFyYW1zWydwYXJlbnRfaWQnXSA6ICR0aGlzLT5tUGFyZW50SWQ7CgkJCQkKCQkJCWlmKGNoZWNrX3Blcm1pc3Npb24oZ2V0X3VzZXJpZCgpLCAnTWFuYWdlIEFkdmFuY2VkQ29udGVudCBPcHRpb25zJykgJiYgJEFkdmFuY2VkQ29udGVudC0+R2V0UHJlZmVyZW5jZSgndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJywxKSkKCQkJCXsKCQkJCQkkcGFyYW1zWydmZXVfYWNjZXNzJ10gPSBpc3NldCgkcGFyYW1zWydmZXVfYWNjZXNzJ10pICYmIGlzX2FycmF5KCRwYXJhbXNbJ2ZldV9hY2Nlc3MnXSkgPyAkcGFyYW1zWydmZXVfYWNjZXNzJ10gOiAoJGVkaXRpbmcgPyAkdGhpcy0+Q2xlYW5BcnJheShleHBsb2RlKCcsJywkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgnZmV1X2FjY2VzcycpKSkgOiAkdGhpcy0+Q2xlYW5BcnJheShleHBsb2RlKCcsJywkQWR2YW5jZWRDb250ZW50LT5HZXRQcmVmZXJlbmNlKCdmZXVfYWNjZXNzJykpKSk7CgkJCQkJIyBpZiBwYWdlIGhhcyBubyBwYXJlbnRzIGJ1dCB3YW50cyB0byBpbmhlcml0IC0+IHJlbW92ZSBpbmhlcml0YW5jZQoJCQkJCWlmKCR0aGlzLT5tUGFyZW50SWQgPD0gMCAmJiBpbl9hcnJheSgtMSwgJHBhcmFtc1snZmV1X2FjY2VzcyddKSkKCQkJCQl7CgkJCQkJCWZvcmVhY2goJHBhcmFtc1snZmV1X2FjY2VzcyddIGFzICRrPT4kdikKCQkJCQkJewoJCQkJCQkJaWYoJHYgPT0gLTEpCgkJCQkJCQl7CgkJCQkJCQkJdW5zZXQoJHBhcmFtc1snZmV1X2FjY2VzcyddWyRrXSk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgkJCQkJIyBpZiB0aGVyZSBpcyBzdGlsbCBpbmhlcml0YW5jZSAtPiBjaGVjayBpZiB0aGVyZSBhY3R1YWxseSBpcyBhbnkgZmV1IGdyb3VwIHNlbGVjdGVkIGJ5IHBhcmVudHMKCQkJCQkkX2ZldUFjY2VzcyA9IGFycmF5KCk7CgkJCQkJaWYoaW5fYXJyYXkoLTEsICRwYXJhbXNbJ2ZldV9hY2Nlc3MnXSkpCgkJCQkJewoJCQkJCQkjICRfZmV1QWNjZXNzIGNvbnRhaW5zIGFsbCBmZXUgZ3JvdXBzIChvZiBjdXJyZW50IHBhZ2UgYXMgd2VsbCBhcyBvZiBhbGwgcGFyZW50IHBhZ2VzKQoJCQkJCQkkX2ZldUFjY2VzcyA9ICR0aGlzLT5Jbmhlcml0UGFyZW50UHJvcCgnZmV1X2FjY2VzcycsICRwYXJhbXNbJ2ZldV9hY2Nlc3MnXSk7CgkJCQkJfQoJCQkJCQoJCQkJCSMgaWYgd2UgaGF2ZSBzZWxlY3RlZCBhbnkgZmV1IGdyb3VwIC0+IGRpc2FibGUgY2FjaGluZyBhbmQgc2VhcmNoCgkJCQkJaWYoY291bnQoJF9mZXVBY2Nlc3MpIHx8IChjb3VudCgkcGFyYW1zWydmZXVfYWNjZXNzJ10pICYmICFpbl9hcnJheSgtMSwgJHBhcmFtc1snZmV1X2FjY2VzcyddKSkpCgkJCQkJewoJCQkJCQkkcGFyYW1zWydjYWNoYWJsZSddICAgPSBmYWxzZTsKCQkJCQkJJHRoaXMtPm1DYWNoYWJsZSAgICAgID0gZmFsc2U7CgkJCQkJCSRwYXJhbXNbJ3NlYXJjaGFibGUnXSA9IGZhbHNlOwoJCQkJCX0KCQkJCQkkcGFyYW1zWydmZXVfYWNjZXNzJ10gPSBpbXBsb2RlKCcsJywgJHBhcmFtc1snZmV1X2FjY2VzcyddKTsKCQkJCQkKCQkJCQkkcGFyYW1zWydyZWRpcmVjdF9wYWdlJ10gPSBpc3NldCgkcGFyYW1zWydyZWRpcmVjdF9wYWdlJ10pID8gJHBhcmFtc1sncmVkaXJlY3RfcGFnZSddIDogKCRlZGl0aW5nID8gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJ3JlZGlyZWN0X3BhZ2UnKSA6ICRBZHZhbmNlZENvbnRlbnQtPkdldFByZWZlcmVuY2UoJ3JlZGlyZWN0X3BhZ2UnKSk7CgkJCQkJaWYoJHRoaXMtPm1QYXJlbnRJZCA8PSAwICYmICRwYXJhbXNbJ3JlZGlyZWN0X3BhZ2UnXSA9PSAtMSkKCQkJCQl7CgkJCQkJCSRwYXJhbXNbJ3JlZGlyZWN0X3BhZ2UnXSA9ICcnOwoJCQkJCX0KCQkJCQkKCQkJCQkkcGFyYW1zWydmZXVfYWN0aW9uJ10gPSBpc3NldCgkcGFyYW1zWydmZXVfYWN0aW9uJ10pID8gJHBhcmFtc1snZmV1X2FjdGlvbiddIDogKCRlZGl0aW5nID8gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJ2ZldV9hY3Rpb24nKSA6ICRBZHZhbmNlZENvbnRlbnQtPkdldFByZWZlcmVuY2UoJ2ZldV9hY3Rpb24nLDEpKTsKCQkJCQlpZigkdGhpcy0+bVBhcmVudElkIDw9IDAgJiYgJHBhcmFtc1snZmV1X2FjdGlvbiddID09IC0xKQoJCQkJCXsKCQkJCQkJJHBhcmFtc1snZmV1X2FjdGlvbiddID0gMTsKCQkJCQl9CgkJCQkJCgkJCQkJJHBhcmFtc1snaGlkZV9tZW51X2l0ZW0nXSA9IGlzc2V0KCRwYXJhbXNbJ2hpZGVfbWVudV9pdGVtJ10pID8gJHBhcmFtc1snaGlkZV9tZW51X2l0ZW0nXSA6ICgkZWRpdGluZyA/ICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCdoaWRlX21lbnVfaXRlbScpIDogJEFkdmFuY2VkQ29udGVudC0+R2V0UHJlZmVyZW5jZSgnaGlkZV9tZW51X2l0ZW0nLDApKTsKCQkJCQlpZigkdGhpcy0+bVBhcmVudElkIDw9IDAgJiYgJHBhcmFtc1snaGlkZV9tZW51X2l0ZW0nXSA9PSAtMSkKCQkJCQl7CgkJCQkJCSRwYXJhbXNbJ2hpZGVfbWVudV9pdGVtJ10gPSAwOwoJCQkJCX0KCQkJCQkKCQkJCQkkcGFyYW1zWydpbmhlcml0X3JlZGlyZWN0X3BhcmFtcyddID0gaXNzZXQoJHBhcmFtc1snaW5oZXJpdF9yZWRpcmVjdF9wYXJhbXMnXSkgPyB0cnVlIDogKCRlZGl0aW5nID8gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJ2luaGVyaXRfcmVkaXJlY3RfcGFyYW1zJykgOiAkQWR2YW5jZWRDb250ZW50LT5HZXRQcmVmZXJlbmNlKCdpbmhlcml0X3JlZGlyZWN0X3BhcmFtcycpKTsKCQkJCQlpZigkdGhpcy0+bVBhcmVudElkIDw9IDAgJiYgJHBhcmFtc1snaW5oZXJpdF9yZWRpcmVjdF9wYXJhbXMnXSkKCQkJCQl7CgkJCQkJCSRwYXJhbXNbJ2luaGVyaXRfcmVkaXJlY3RfcGFyYW1zJ10gPSBmYWxzZTsKCQkJCQl9CgkJCQkJCgkJCQkJaWYoJHBhcmFtc1snaW5oZXJpdF9yZWRpcmVjdF9wYXJhbXMnXSkgewoJCQkJCQkkcGFyYW1zWydyZWRpcmVjdF9wYXJhbXMnXSA9IC0xOwoJCQkJCQkkcGFyYW1zWydldmFsdWF0ZV9zbWFydHknXSA9IC0xOwoJCQkJCX0KCQkJCQkKCQkJCQkkcGFyYW1zWyd1c2VfZXhwaXJlX2RhdGUnXSA9IGlzc2V0KCRwYXJhbXNbJ3VzZV9leHBpcmVfZGF0ZSddKSA/ICRwYXJhbXNbJ3VzZV9leHBpcmVfZGF0ZSddIDogKCRlZGl0aW5nID8gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJ3VzZV9leHBpcmVfZGF0ZScpIDogJEFkdmFuY2VkQ29udGVudC0+R2V0UHJlZmVyZW5jZSgndXNlX2V4cGlyZV9kYXRlJykpOwoJCQkJCWlmKCR0aGlzLT5tUGFyZW50SWQgPD0gMCAmJiAkcGFyYW1zWyd1c2VfZXhwaXJlX2RhdGUnXSA9PSAtMSkKCQkJCQl7CgkJCQkJCSRwYXJhbXNbJ3VzZV9leHBpcmVfZGF0ZSddID0gMDsKCQkJCQl9CgkJCQkJaWYoJHBhcmFtc1sndXNlX2V4cGlyZV9kYXRlJ10gPT0gLTEpCgkJCQkJewoJCQkJCQkkcGFyYW1zWydzdGFydF9kYXRlJ10gPSAtMTsKCQkJCQkJJHBhcmFtc1snZW5kX2RhdGUnXSAgID0gLTE7CgkJCQkJfQoJCQkJCWVsc2UgaWYoJHBhcmFtc1sndXNlX2V4cGlyZV9kYXRlJ10gPT0gMCkKCQkJCQl7CgkJCQkJCSRwYXJhbXNbJ3N0YXJ0X2RhdGUnXSA9ICcnOwoJCQkJCQkkcGFyYW1zWydlbmRfZGF0ZSddICAgPSAnJzsKCQkJCQl9CgkJCQkJZWxzZSB7CgkJCQkJCWlmKGlzc2V0KCRwYXJhbXNbJ0FkdmFuY2VkQ29udGVudFN0YXJ0VGltZSddKSAmJiBpc3NldCgkcGFyYW1zWydBZHZhbmNlZENvbnRlbnRTdGFydERhdGUnXSkpCgkJCQkJCXsKCQkJCQkJCSRwYXJhbXNbJ3N0YXJ0X2RhdGUnXSA9ICRwYXJhbXNbJ0FkdmFuY2VkQ29udGVudFN0YXJ0VGltZSddICsgJHBhcmFtc1snQWR2YW5jZWRDb250ZW50U3RhcnREYXRlJ107CgkJCQkJCX0KCQkJCQkJZWxzZQoJCQkJCQl7CgkJCQkJCQkkcGFyYW1zWydzdGFydF9kYXRlJ10gPSAoJGVkaXRpbmcgJiYgJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJ3N0YXJ0X2RhdGUnKSA/ICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCdzdGFydF9kYXRlJykgOiBzdHJ0b3RpbWUoJysnIC4gJEFkdmFuY2VkQ29udGVudC0+R2V0UHJlZmVyZW5jZSgic3RhcnRfZGF0ZSIsJzEgd2VlaycpKSk7CgkJCQkJCX0KCQkJCQkJaWYoaXNzZXQoJHBhcmFtc1snQWR2YW5jZWRDb250ZW50RW5kVGltZSddKSAmJiBpc3NldCgkcGFyYW1zWydBZHZhbmNlZENvbnRlbnRFbmREYXRlJ10pKQoJCQkJCQl7CgkJCQkJCQkkcGFyYW1zWydlbmRfZGF0ZSddID0gJHBhcmFtc1snQWR2YW5jZWRDb250ZW50RW5kVGltZSddICsgJHBhcmFtc1snQWR2YW5jZWRDb250ZW50RW5kRGF0ZSddOwoJCQkJCQl9CgkJCQkJCWVsc2UKCQkJCQkJewoJCQkJCQkJJHBhcmFtc1snZW5kX2RhdGUnXSA9ICgkZWRpdGluZyAmJiAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgnZW5kX2RhdGUnKSA/ICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCdlbmRfZGF0ZScpIDogc3RydG90aW1lKCcrJyAuICRBZHZhbmNlZENvbnRlbnQtPkdldFByZWZlcmVuY2UoImVuZF9kYXRlIiwnMSB3ZWVrJyksICRwYXJhbXNbJ3N0YXJ0X2RhdGUnXSkpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJCgkJCQkjIGRvIHRoZSBjb250ZW50IHByb3BlcnR5IHBhcmFtZXRlcnMKCQkJCWZvcmVhY2ggKCRwYXJhbWV0ZXJzIGFzICRvbmVwYXJhbSkKCQkJCXsKCQkJCQlpZiAoaXNzZXQoJHBhcmFtc1skb25lcGFyYW1dKSkKCQkJCQl7CgkJCQkJCSR0aGlzLT5TZXRQcm9wZXJ0eVZhbHVlKCRvbmVwYXJhbSwgJHBhcmFtc1skb25lcGFyYW1dKTsKCQkJCQl9CgkJCQl9CgkJCQlpZigkQWR2YW5jZWRDb250ZW50LT5HZXRQcmVmZXJlbmNlKCd1c2VfYWR2YW5jZWRfcGFnZW9wdGlvbnMnLDEpICYmICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCd1c2VfZXhwaXJlX2RhdGUnKSAmJiAoJHRoaXMtPkdldFByb3BlcnR5KCdzdGFydF9kYXRlJykgPiB0aW1lKCkgfHwgJHRoaXMtPkdldFByb3BlcnR5KCdlbmRfZGF0ZScpIDwgdGltZSgpKSAmJiBjaGVja19wZXJtaXNzaW9uKGdldF91c2VyaWQoKSwgJ01hbmFnZSBBZHZhbmNlZENvbnRlbnQgT3B0aW9ucycpKQoJCQkJewoJCQkJCSRwYXJhbXNbJ2FjdGl2ZSddID0gZmFsc2U7CgkJCQkJJHRoaXMtPm1BY3RpdmUgICAgPSBmYWxzZTsKCQkJCX0KCQkJCQoJCQkJIyBtZXRhZGF0YQoJCQkJJHRoaXMtPm1NZXRhZGF0YSA9IGlzc2V0KCRwYXJhbXNbJ21ldGFkYXRhJ10pID8gJHBhcmFtc1snbWV0YWRhdGEnXSA6ICR0aGlzLT5tTWV0YWRhdGE7CgkJCQkKCQkJCSMgY29udGVudCBibG9ja3MKCQkJCSRpID0gMDsKCQkJCWZvcmVhY2goJHBhcmFtcyBhcyAkcGFyYW1OYW1lID0+ICRwYXJhbVZhbHVlKQoJCQkJewoJCQkJCSRwYXJhbU5hbWUgPSBzdHJfcmVwbGFjZSgnX0FkdmFuY2VkQ29udGVudERhdGUnLCAnJywgJHBhcmFtTmFtZSk7CgkJCQkJCgkJCQkJaWYoIWlzc2V0KCR0aGlzLT5fY29udGVudEJsb2Nrc1skcGFyYW1OYW1lXSkpCgkJCQkJewoJCQkJCQljb250aW51ZTsKCQkJCQl9CgkJCQkJCgkJCQkJJGkrKzsKCQkJCQkkdmFsdWUgPSAnJzsKCQkJCQlpZigkdGhpcy0+X2NvbnRlbnRCbG9ja3NbJHBhcmFtTmFtZV1bJ2Jsb2NrX3R5cGUnXSA9PSAnc2VsZWN0X211bHRpcGxlJykKCQkJCQl7CgkJCQkJCWlmKGlzX2FycmF5KCRwYXJhbVZhbHVlKSkKCQkJCQkJewoJCQkJCQkJJHZhbHVlID0gaW1wbG9kZSgkdGhpcy0+X2NvbnRlbnRCbG9ja3NbJHBhcmFtTmFtZV1bJ2RlbGltaXRlciddLCAkcGFyYW1WYWx1ZSk7CgkJCQkJCX0KCQkJCQkJZWxzZSBpZiAoJHRoaXMtPl9jb250ZW50QmxvY2tzWyRwYXJhbU5hbWVdWydzb3J0YWJsZSddKQoJCQkJCQl7CgkJCQkJCQkkaXRlbXMgPSBhcnJheSgpOwoJCQkJCQkJZm9yZWFjaCgkcGFyYW1zIGFzICRpdGVtTmFtZSA9PiAkaXRlbVZhbHVlKSAjIFRvRG86IGNyZWF0ZSBmdW5jdGlvbiB0byBsb29wIG9ubHkgdGhyb3VnaCB0aGUgaXRlbXMgbm90IHRocm91Z2ggYWxsIHBhcmFtcyEKCQkJCQkJCXsKCQkJCQkJCQlpZihzdGFydHN3aXRoKCRpdGVtTmFtZSwkcGFyYW1OYW1lLidfQWR2YW5jZWRDb250ZW50U29ydGFibGVJdGVtXycpKQoJCQkJCQkJCXsKCQkJCQkJCQkJJGl0ZW1zW10gPSAkaXRlbVZhbHVlOwoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJCSR2YWx1ZSA9IGltcGxvZGUoJHRoaXMtPl9jb250ZW50QmxvY2tzWyRwYXJhbU5hbWVdWydkZWxpbWl0ZXInXSwgJGl0ZW1zKTsKCQkJCQkJfQoJCQkJCX0KCQkJCQllbHNlIGlmKCR0aGlzLT5fY29udGVudEJsb2Nrc1skcGFyYW1OYW1lXVsnYmxvY2tfdHlwZSddID09ICdkYXRlJwoJCQkJCQkmJiAkdGhpcy0+X2NvbnRlbnRCbG9ja3NbJHBhcmFtTmFtZV1bJ21vZGUnXSA9PSAnY2FsZW5kYXInCgkJCQkJCSYmIGlzc2V0KCRwYXJhbXNbJHBhcmFtTmFtZSAuICdfQWR2YW5jZWRDb250ZW50RGF0ZSddKSkKCQkJCQl7CgkJCQkJCSR0aW1lID0gMDsKCQkJCQkJaWYoaXNzZXQoJHBhcmFtc1skcGFyYW1OYW1lIC4gJ19BZHZhbmNlZENvbnRlbnRUaW1lJ10pKQoJCQkJCQl7CgkJCQkJCQkkdGltZSA9ICRwYXJhbXNbJHBhcmFtTmFtZSAuICdfQWR2YW5jZWRDb250ZW50VGltZSddOwoJCQkJCQl9CgkJCQkJCSR2YWx1ZSAgICAgICAgPSAkdGltZSArICRwYXJhbXNbJHBhcmFtTmFtZSAuICdfQWR2YW5jZWRDb250ZW50RGF0ZSddOwoJCQkJCX0KCQkJCQllbHNlIGlmKCR0aGlzLT5fY29udGVudEJsb2Nrc1skcGFyYW1OYW1lXVsnYmxvY2tfdHlwZSddID09ICdtdWx0aV9pbnB1dCcpCgkJCQkJewoJCQkJCQkkbXVsdGlfaW5wdXRzID0gYXJyYXkoKTsKCQkJCQkJZm9yZWFjaCgkdGhpcy0+Q2xlYW5BcnJheShleHBsb2RlKCcsJywkdGhpcy0+X2NvbnRlbnRCbG9ja3NbJHBhcmFtTmFtZV1bJ2lucHV0cyddKSkgYXMgJGsxPT4kbXVsdGlfaW5wdXRfaWQpCgkJCQkJCXsKCQkJCQkJCSRtdWx0aV9pbnB1dF92YWx1ZXMgPSBhcnJheSgpOwoJCQkJCQkJZm9yZWFjaCgkdGhpcy0+X211bHRpSW5wdXRzWyRtdWx0aV9pbnB1dF9pZF1bJ2VsZW1lbnRzJ10gYXMgJGsyPT4kaW5wdXRJbmZvKQoJCQkJCQkJewoJCQkJCQkJCSRpbnB1dEluZm9bJ2lkJ10gPSAnbXVsdGlJbnB1dC0nIC4gJHBhcmFtTmFtZSAuICctJyAuICRtdWx0aV9pbnB1dF9pZCAuICctJyAuICRrMSAuICctJyAuICRpbnB1dEluZm9bJ2lkJ107CgkJCQkJCQkJaWYoaXNzZXQoJHBhcmFtc1skaW5wdXRJbmZvWydpZCddXSkpCgkJCQkJCQkJewoJCQkJCQkJCQkkbXVsdGlfaW5wdXRfdmFsdWVzW10gPSAkcGFyYW1zWyRpbnB1dEluZm9bJ2lkJ11dOwoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJCSRtdWx0aV9pbnB1dHNbXSA9IGltcGxvZGUoJHRoaXMtPl9jb250ZW50QmxvY2tzWyRwYXJhbU5hbWVdWyd2YWx1ZV9kZWxpbWl0ZXInXSwkbXVsdGlfaW5wdXRfdmFsdWVzKTsKCQkJCQkJfQoJCQkJCQlpZighJHRoaXMtPklzVmFyRW1wdHkoJG11bHRpX2lucHV0cykpCgkJCQkJCXsKCQkJCQkJCSR2YWx1ZSA9IGltcGxvZGUoJHRoaXMtPl9jb250ZW50QmxvY2tzWyRwYXJhbU5hbWVdWydpbnB1dF9kZWxpbWl0ZXInXSwgJG11bHRpX2lucHV0cyk7CgkJCQkJCX0KCQkJCQl9CgkJCQkJZWxzZQoJCQkJCXsKCQkJCQkJJHZhbHVlID0gdHJpbSgkcGFyYW1WYWx1ZSk7CgkJCQkJfQoJCQkJCWlmKCR2YWx1ZSA9PSAnJyAmJiAhJHRoaXMtPl9jb250ZW50QmxvY2tzWyRwYXJhbU5hbWVdWydhbGxvd19ub25lJ10pCgkJCQkJewoJCQkJCQkkdmFsdWUgPSAkdGhpcy0+X2NvbnRlbnRCbG9ja3NbJHBhcmFtTmFtZV1bJ2RlZmF1bHQnXTsKCQkJCQkJaWYoJHRoaXMtPl9jb250ZW50QmxvY2tzWyRwYXJhbU5hbWVdWydzbWFydHknXSkKCQkJCQkJewoJCQkJCQkJJHZhbHVlID0gJHRoaXMtPkRvU21hcnR5KCR2YWx1ZSk7CgkJCQkJCX0KCQkJCQl9CgkJCQkJJHRoaXMtPkFkZEV4dHJhUHJvcGVydHkoJHBhcmFtTmFtZSk7CgkJCQkJJHRoaXMtPlNldFByb3BlcnR5VmFsdWUoJHBhcmFtTmFtZSwgJHZhbHVlKTsKCQkJCX0KCQkJfQoJCX0KCQlwYXJlbnQ6OkZpbGxQYXJhbXMoJHBhcmFtcywgJGVkaXRpbmcpOwoJfQoJCglmdW5jdGlvbiBFZGl0QXNBcnJheSgkYWRkaW5nID0gZmFsc2UsICR0YWIgPSAwLCAkc2hvd2FkbWluID0gZmFsc2UpCgl7CgkJJEFkdmFuY2VkQ29udGVudCA9JiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0FkdmFuY2VkQ29udGVudCcpOwoJCSR0aGlzLT5wYXJzZV9jb250ZW50X2Jsb2NrcygpOwoJCSRyZXQgPSBhcnJheSgpOwoJCSR0bXAgPSBhcnJheSgpOwoJCWlmKGlzc2V0KCR0aGlzLT5fdGFiSWRzWyR0YWJdKSkKCQl7CgkJCSR0YWJfaWQgPSAkdGhpcy0+X3RhYklkc1skdGFiXTsKCQl9CgkJZWxzZQoJCXsKCQkJcmV0dXJuIGFycmF5KCk7CgkJfQoJCWlmKCR0YWJfaWQgPT0gJ21haW4nIHx8ICgkdGFiX2lkID09ICdvcHRpb25zJyAmJiBjaGVja19wZXJtaXNzaW9uKGdldF91c2VyaWQoKSwgJ01hbmFnZSBBbGwgQ29udGVudCcpKSkKCQl7CgkJCSR0bXAgPSAkdGhpcy0+Q2xlYW5BcnJheSgkdGhpcy0+ZGlzcGxheV9hdHRyaWJ1dGVzKCRhZGRpbmcsICR0YWIpKTsKCQl9CgkJZWxzZSBpZigkdGFiX2lkID09ICdBZHZhbmNlZENvbnRlbnQnICYmIGNoZWNrX3Blcm1pc3Npb24oZ2V0X3VzZXJpZCgpLCAnTWFuYWdlIEFkdmFuY2VkQ29udGVudCBPcHRpb25zJykgJiYgJEFkdmFuY2VkQ29udGVudC0+R2V0UHJlZmVyZW5jZSgndXNlX2FkdmFuY2VkX3BhZ2VvcHRpb25zJywxKSkKCQl7CgkJCSR0bXAgPSAkdGhpcy0+RGlzcGxheUFkdmFuY2VkT3B0aW9ucygkYWRkaW5nKTsKCQl9CgkJCgkJZm9yZWFjaCggJHRtcCBhcyAkb25lICkKCQl7CgkJCSRyZXRbXSA9ICRvbmU7CgkJfQoJCQoJCSRqID0gMDsKCQlmb3JlYWNoKCR0aGlzLT5fcGFnZVRhYnNbJHRhYl9pZF1bJ2Jsb2NrX2dyb3VwcyddIGFzICRibG9ja0dyb3VwKQoJCXsKCQkJJHRoaXMtPl9ibG9ja0dyb3Vwc1skYmxvY2tHcm91cF1bJ2Rpc3BsYXknXSA9ICRBZHZhbmNlZENvbnRlbnQtPkdldEl0ZW1EaXNwbGF5KCdncm91cCcsICRibG9ja0dyb3VwLCAkdGhpcy0+bUlkLCAkdGhpcy0+bVRlbXBsYXRlSWQsICEkQWR2YW5jZWRDb250ZW50LT5HZXRQcmVmZXJlbmNlKCdjb2xsYXBzZV9ncm91cF9kZWZhdWx0JywxKSk7CgkJCQkkdGhpcy0+X2Jsb2NrR3JvdXBzWyRibG9ja0dyb3VwXVsncHJlZl91cmwnXSA9IHN0cl9yZXBsYWNlKCcmYW1wOycsJyYnLAoJCQkJCSRBZHZhbmNlZENvbnRlbnQtPkNyZWF0ZUxpbmsoJ20xXycsICdzYXZlUHJlZnMnLCAnJywgJHRoaXMtPmxhbmcoJ3RvZ2dsZV9ncm91cCcpLAoJCQkJCQlhcnJheSgnaXRlbV90eXBlJz0+J2dyb3VwJywKCQkJCQkJCSdkaXNhYmxlX3RoZW1lJz0+dHJ1ZSwKCQkJCQkJCSdhamF4Jz0+dHJ1ZSwKCQkJCQkJCSdjb250ZW50X2lkJz0+JHRoaXMtPm1JZCwKCQkJCQkJCSd0ZW1wbGF0ZV9pZCc9PiR0aGlzLT5tVGVtcGxhdGVJZCwKCQkJCQkJCSdpdGVtX2lkJz0+JGJsb2NrR3JvdXApLAoJCQkJCQknJywgdHJ1ZSkpOwoJCX0KCQlmb3JlYWNoKCR0aGlzLT5fcGFnZVRhYnNbJHRhYl9pZF1bJ2NvbnRlbnRfYmxvY2tzJ10gYXMgJGJsb2NrSWQpCgkJewoJCQkkaisrOwoJCQkKCQkJaWYoJHRoaXMtPl9jb250ZW50QmxvY2tzWyRibG9ja0lkXVsnYmxvY2tfdHlwZSddICE9ICcnICYmICR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF1bJ3NtYXJ0eSddKQoJCQl7CgkJCQlmb3JlYWNoKCR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF0gYXMgJHByb3BOYW1lPT4kcHJvcFZhbHVlKQoJCQkJewoJCQkJCSR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF1bJHByb3BOYW1lXSA9ICR0aGlzLT5Eb1NtYXJ0eSgkcHJvcFZhbHVlKTsKCQkJCX0KCQkJfQoJCQkkdmFsdWUgPSAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgkYmxvY2tJZCk7CgkJCQoJCQlpZigoJGFkZGluZyAmJiAkdmFsdWUgPT0gJycpCgkJCXx8ICgkdmFsdWUgPT0gJycgJiYgISR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF1bJ2FsbG93X25vbmUnXSkgfHwgJHRoaXMtPl9jb250ZW50QmxvY2tzWyRibG9ja0lkXVsnbmV3X2Jsb2NrJ10pCgkJCXsKCQkJCSR2YWx1ZSA9ICR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF1bJ2RlZmF1bHQnXTsKCQkJfQoJCQkKCQkJJHRoaXMtPl9jb250ZW50QmxvY2tzWyRibG9ja0lkXVsnY29udGVudCddID0gY21zX2h0bWxlbnRpdGllcygkdmFsdWUsIEVOVF9OT1FVT1RFUywgZ2V0X2VuY29kaW5nKCcnKSk7CgkJCSR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF1bJ2lucHV0J10gICA9ICR0aGlzLT5kaXNwbGF5X2NvbnRlbnRfYmxvY2soJHRoaXMtPl9jb250ZW50QmxvY2tzWyRibG9ja0lkXSwgJHZhbHVlLCAkYWRkaW5nKTsKCQkJCgkJCWlmKCR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF1bJ2xhYmVsJ10gPT0gdWN3b3JkcygkdGhpcy0+X2NvbnRlbnRCbG9ja3NbJGJsb2NrSWRdWyduYW1lJ10pCgkJCSYmICgkYmxvY2tJZCA9PSBtZDUoJ2NvbnRlbnRfZW4nLiRqKSB8fCAkYmxvY2tJZCA9PSAnY29udGVudF9lbicpKQoJCQl7CgkJCQkkdGhpcy0+X2NvbnRlbnRCbG9ja3NbJGJsb2NrSWRdWydsYWJlbCddID0gbGFuZygnY29udGVudCcpOwoJCQl9CgkJCQoJCQlpZigkdGhpcy0+X2NvbnRlbnRCbG9ja3NbJGJsb2NrSWRdWyd0cmFuc2xhdGVfbGFiZWxzJ10pCgkJCXsKCQkJCSR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF1bJ2xhYmVsJ10gPSAkQWR2YW5jZWRDb250ZW50LT5sYW5nKCR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF1bJ2xhYmVsJ10pOwoJCQl9CgkJCQoJCQkkYmxvY2tEaXNwbGF5ID0gJEFkdmFuY2VkQ29udGVudC0+R2V0SXRlbURpc3BsYXkoJ2Jsb2NrJywgJGJsb2NrSWQsICR0aGlzLT5tSWQsICR0aGlzLT5tVGVtcGxhdGVJZCwgISR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF1bJ2NvbGxhcHNlJ10pOwoJCQkkdGhpcy0+X2NvbnRlbnRCbG9ja3NbJGJsb2NrSWRdWydkaXNwbGF5J10gID0gJGJsb2NrRGlzcGxheTsKCQkJJHRoaXMtPl9jb250ZW50QmxvY2tzWyRibG9ja0lkXVsncHJlZl91cmwnXSA9IHN0cl9yZXBsYWNlKCcmYW1wOycsJyYnLAoJCQkJJEFkdmFuY2VkQ29udGVudC0+Q3JlYXRlTGluaygnbTFfJywgJ3NhdmVQcmVmcycsICcnLCAkQWR2YW5jZWRDb250ZW50LT5sYW5nKCd0b2dnbGVfYmxvY2snKSwKCQkJCQlhcnJheSgnaXRlbV90eXBlJz0+J2Jsb2NrJywKCQkJCQkJJ2Rpc2FibGVfdGhlbWUnPT50cnVlLAoJCQkJCQknYWpheCc9PnRydWUsCgkJCQkJCSdjb250ZW50X2lkJz0+JHRoaXMtPm1JZCwKCQkJCQkJJ3RlbXBsYXRlX2lkJz0+JHRoaXMtPm1UZW1wbGF0ZUlkLAoJCQkJCQknaXRlbV9pZCc9PiRibG9ja0lkKSwKCQkJCQknJywgdHJ1ZSkpOwoJCQkKCQkJaWYoJHRoaXMtPl9jb250ZW50QmxvY2tzWyRibG9ja0lkXVsnbXVsdGlwbGUnXSAmJiAkQWR2YW5jZWRDb250ZW50LT5HZXRJdGVtRGlzcGxheSgnbWVzc2FnZScsICRibG9ja0lkLCAkdGhpcy0+bUlkLCAkdGhpcy0+bVRlbXBsYXRlSWQpKQoJCQl7CgkJCQkkaGlkZUxpbmsgPSBzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJywKCQkJCQkkQWR2YW5jZWRDb250ZW50LT5DcmVhdGVMaW5rKCdtMV8nLCAnc2F2ZVByZWZzJywgJycsICRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJ3RvZ2dsZV9tZXNzYWdlJyksCgkJCQkJCWFycmF5KCdpdGVtX3R5cGUnPT4nbWVzc2FnZScsCgkJCQkJCQknZGlzYWJsZV90aGVtZSc9PnRydWUsCgkJCQkJCQknYWpheCc9PnRydWUsCgkJCQkJCQknY29udGVudF9pZCc9PiR0aGlzLT5tSWQsCgkJCQkJCQkndGVtcGxhdGVfaWQnPT4kdGhpcy0+bVRlbXBsYXRlSWQsCgkJCQkJCQknaXRlbV9pZCc9PiRibG9ja0lkLAoJCQkJCQkJJ2l0ZW1fZGlzcGxheSc9PjApLAoJCQkJCQknJywgZmFsc2UsJycsJ29uY2xpY2s9ImpRdWVyeS5nZXQodGhpcy5ocmVmKTsgalF1ZXJ5KHRoaXMpLnBhcmVudCgpLnRvZ2dsZShcJ2Zhc3RcJyk7IHJldHVybiBmYWxzZTsiJykpOwoJCQkJCSR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF1bJ2Rlc2NyaXB0aW9uJ10gPSAnPHA+Jy4kQWR2YW5jZWRDb250ZW50LT5sYW5nKCdub3RpY2VfZHVwbGljYXRlY29udGVudCcsICR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF1bJ25hbWUnXSkuJyAoJy4gJGhpZGVMaW5rIC4nKTwvcD4nLiR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF1bJ2Rlc2NyaXB0aW9uJ107CgkJCX0KCQkJCgkJCWlmKCR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF1bJ2Jsb2NrX3RhYiddICE9ICcnIHx8ICR0aGlzLT5fY29udGVudEJsb2Nrc1skYmxvY2tJZF1bJ2Jsb2NrX2dyb3VwJ10gIT0gJycpCgkJCXsKCQkJCXVuc2V0KCR0aGlzLT5fcGFnZVRhYnNbJHRhYl9pZF1bJ2NvbnRlbnRfYmxvY2tzJ11bJGJsb2NrSWRdKTsKCQkJfQoJCQlpZigkdGhpcy0+X2NvbnRlbnRCbG9ja3NbJGJsb2NrSWRdWydibG9ja190YWInXSAhPSAnJyAmJiAkdGhpcy0+X2NvbnRlbnRCbG9ja3NbJGJsb2NrSWRdWydibG9ja19ncm91cCddICE9ICcnKQoJCQl7CgkJCQl1bnNldCgkdGhpcy0+X3BhZ2VUYWJzWyR0YWJfaWRdWydibG9ja19ncm91cHMnXVskdGhpcy0+X2NvbnRlbnRCbG9ja3NbJGJsb2NrSWRdWydibG9ja19ncm91cCddXSk7CgkJCX0KCQl9CgkJCgkJJEFkdmFuY2VkQ29udGVudC0+c21hcnR5LT5hc3NpZ24oJ21vZHVsZV9pZCcsICdtMV8nKTsKCQkkQWR2YW5jZWRDb250ZW50LT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ3BhZ2VfdGFiX25yJywgJHRhYik7CgkJJEFkdmFuY2VkQ29udGVudC0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdwYWdlX3RhYl9pZCcsICR0YWJfaWQpOwoJCSRBZHZhbmNlZENvbnRlbnQtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZigncGFnZV90YWJzJywgJHRoaXMtPl9wYWdlVGFicyk7CgkJJEFkdmFuY2VkQ29udGVudC0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdibG9ja190YWJzJywgJHRoaXMtPl9ibG9ja1RhYnMpOwoJCSRBZHZhbmNlZENvbnRlbnQtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignYmxvY2tfZ3JvdXBzJywgJHRoaXMtPl9ibG9ja0dyb3Vwcyk7CgkJJEFkdmFuY2VkQ29udGVudC0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdkYXRlX2Jsb2NrcycsICR0aGlzLT5fZGF0ZUJsb2Nrcyk7CgkJJEFkdmFuY2VkQ29udGVudC0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdjb2xvcnBpY2tlcl9ibG9ja3MnLCAkdGhpcy0+X2NvbG9yUGlja2VyQmxvY2tzKTsKCQkkQWR2YW5jZWRDb250ZW50LT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ3NsaWRlcl9ibG9ja3MnLCAkdGhpcy0+X3NsaWRlckJsb2Nrcyk7CgkJJEFkdmFuY2VkQ29udGVudC0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdjb250ZW50X2Jsb2NrcycsICR0aGlzLT5fY29udGVudEJsb2Nrcyk7CgkJJEFkdmFuY2VkQ29udGVudC0+c21hcnR5LT5hc3NpZ24oJ2dldHByb3BlcnR5X3VybCcsIAoJCQlzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJywKCQkJCSRBZHZhbmNlZENvbnRlbnQtPkNyZWF0ZUxpbmsoJ20xXycsICdnZXRwcm9wZXJ0eScsICcnLCAKCQkJCQkkdGhpcy0+bGFuZygnZ2V0cHJvcGVydHknKSwKCQkJCQlhcnJheSgnZGlzYWJsZV90aGVtZSc9PnRydWUsJ2FqYXgnPT50cnVlKSwKCQkJCQknJywgdHJ1ZSkKCQkJKQoJCSk7CgkJaWYoJHRhYiA9PSAwKQoJCXsKCQkJI2RlYnVnX2J1ZmZlcigkdGhpcy0+X3RhYklkcywnQWR2YW5jZWRDb250ZW50IF90YWJJZHMnKTsKCQkJI2RlYnVnX2J1ZmZlcigkdGhpcy0+X3BhZ2VUYWJzLCdBZHZhbmNlZENvbnRlbnQgX3BhZ2VUYWJzJyk7CgkJCSNkZWJ1Z19idWZmZXIoJHRoaXMtPl9ibG9ja1RhYnMsJ0FkdmFuY2VkQ29udGVudCBfYmxvY2tUYWJzJyk7CgkJCSNkZWJ1Z19idWZmZXIoJHRoaXMtPl9ibG9ja0dyb3VwcywnQWR2YW5jZWRDb250ZW50IF9ibG9ja0dyb3VwcycpOwoJCQkjZGVidWdfYnVmZmVyKCR0aGlzLT5fY29udGVudEJsb2NrcywnQWR2YW5jZWRDb250ZW50IF9jb250ZW50QmxvY2tzJyk7CgkJCQoJCQkjIHVnbHkgaGFjayEKCQkJJGhlYWRlcnNfbGlzdCA9IGhlYWRlcnNfbGlzdCgpOwoJCQkkb3V0cHV0ID0gc3RyX3JlcGxhY2UoJzwvaGVhZD4nLCAkQWR2YW5jZWRDb250ZW50LT5HZXRIZWFkZXJIVE1MKCkgLiAnPC9oZWFkPicsIG9iX2dldF9jb250ZW50cygpKTsKCQkJQG9iX2VuZF9jbGVhbigpOwoJCQlAb2Jfc3RhcnQoKTsKCQkJZm9yZWFjaCgkaGVhZGVyc19saXN0IGFzICRoZWFkZXIpCgkJCXsKCQkJCWhlYWRlcigkaGVhZGVyKTsKCQkJfQoJCQllY2hvICRvdXRwdXQ7CgkJCSMtLS0gYnV0IHdvcmtzIDpECgkJfQoJCQoJCSRyZXRbXSA9IGFycmF5KCcnLCAkQWR2YW5jZWRDb250ZW50LT5Qcm9jZXNzVGVtcGxhdGUoJ2NvbnRlbnRUeXBlLnRwbCcpKTsKCQlyZXR1cm4gJHJldDsKCX0KCQoJcHJpdmF0ZSBmdW5jdGlvbiBfZGlzcGxheV90ZXh0X2Jsb2NrKCRibG9ja0luZm8sJHZhbHVlID0gJycsJGFkZGluZyA9IGZhbHNlKQoJewoJCSR1c2V3eXNpd3lnID0gISR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCdkaXNhYmxlX3d5c2l3eWcnKTsKCQlpZighJHVzZXd5c2l3eWcpCgkJewoJCQkkYmxvY2tJbmZvWyd1c2V3eXNpd3lnJ10gPSBmYWxzZTsKCQl9CgkJaWYgKCRibG9ja0luZm9bJ29uZWxpbmUnXSA9PSBmYWxzZSkKCQl7CgkJCXJldHVybiBjcmVhdGVfdGV4dGFyZWEoJGJsb2NrSW5mb1sndXNld3lzaXd5ZyddLCAkdmFsdWUsICRibG9ja0luZm9bJ2lkJ10sICgkYmxvY2tJbmZvWydhdXRvX3Jlc2l6ZSddID8gJ0FkdmFuY2VkQ29udGVudF90ZXh0YXJlYScgOiAnJyksICRibG9ja0luZm9bJ2lkJ10sICcnLCAkdGhpcy0+X3N0eWxlc2hlZXQsICRibG9ja0luZm9bJ2NvbHMnXSA/ICRibG9ja0luZm9bJ2NvbHMnXSA6IDgwLCAkYmxvY2tJbmZvWydyb3dzJ10gPyAkYmxvY2tJbmZvWydyb3dzJ10gOiAxNSwgJycsICcnLCAoJGJsb2NrSW5mb1snY29scyddIHx8ICRibG9ja0luZm9bJ3Jvd3MnXSA/ICgnc3R5bGU9IicuKCRibG9ja0luZm9bJ2NvbHMnXSA/ICd3aWR0aDphdXRvOycgOiAnJykuKCRibG9ja0luZm9bJ3Jvd3MnXSA/ICdoZWlnaHQ6YXV0bzsnIDogJycpLiciJykgOiAnJykpOwoJCX0KCQllbHNlCgkJewoJCQlyZXR1cm4gJzxpbnB1dCBpZD0iJy4kYmxvY2tJbmZvWydpZCddLiciIHR5cGU9InRleHQiJyAuICgkYmxvY2tJbmZvWydzdHlsZSddICE9ICcnPydzdHlsZT0iJyAuICRibG9ja0luZm9bJ3N0eWxlJ10gLiAnICInOicnKSAuICgkYmxvY2tJbmZvWydtYXhsZW5ndGgnXSAhPSAnJz8nIG1heGxlbmd0aD0iJyAuICRibG9ja0luZm9bJ21heGxlbmd0aCddIC4gJyAiJzonJykgLiAoJGJsb2NrSW5mb1snc2l6ZSddICE9ICcnPycgc2l6ZT0iJyAuICRibG9ja0luZm9bJ3NpemUnXSAuICcgIic6JycpIC4gJyBuYW1lPSInIC4gJGJsb2NrSW5mb1snaWQnXSAuICciIHZhbHVlPSInIC4gaHRtbHNwZWNpYWxjaGFycygkdmFsdWUpIC4gJyIgLz4nOwoJCX0KCX0KCQoJcHJpdmF0ZSBmdW5jdGlvbiBfZGlzcGxheV9jb2xvcnBpY2tlcl9ibG9jaygkYmxvY2tJbmZvLCR2YWx1ZSA9ICcnLCAkYWRkaW5nID0gZmFsc2UpCgl7CgkJcmV0dXJuICcjIDxpbnB1dCBpZD0iJy4kYmxvY2tJbmZvWydpZCddLiciIHR5cGU9InRleHQiJyAuICgkYmxvY2tJbmZvWydzdHlsZSddICE9ICcnPydzdHlsZT0iJyAuICRibG9ja0luZm9bJ3N0eWxlJ10gLiAnICInOicnKSAuICcgbWF4bGVuZ3RoPSI2IiBzaXplPSI3IiBuYW1lPSInIC4gJGJsb2NrSW5mb1snaWQnXSAuICciIHZhbHVlPSInIC4gaHRtbHNwZWNpYWxjaGFycygkdmFsdWUpIC4gJyIgLz4nOwoJfQoJCglwcml2YXRlIGZ1bmN0aW9uIF9kaXNwbGF5X3NsaWRlcl9ibG9jaygkYmxvY2tJbmZvLCR2YWx1ZSA9ICcnLCAkYWRkaW5nID0gZmFsc2UpCgl7CgkJcmV0dXJuICc8aW5wdXQgaWQ9IicuJGJsb2NrSW5mb1snaWQnXS4nIiB0eXBlPSJoaWRkZW4iIG5hbWU9IicgLiAkYmxvY2tJbmZvWydpZCddIC4gJyIgdmFsdWU9IicgLiAoJHZhbHVlID8gJHZhbHVlIDogaW50dmFsKCR2YWx1ZSkpIC4gJyIgLz4nOwoJfQoJCgkvKgoJICogcmV0dXJuIHRoZSBIVE1MIHRvIGNyZWF0ZSBhbiBpbWFnZSBkcm9wZG93biBpbiB0aGUgYWRtaW4gY29uc29sZS4KCSAqIGRvZXMgbm90IGluY2x1ZGUgYSBsYWJlbC4KCSAqIHRha2VuIGZyb20gZGVmYXVsdCBjb250ZW50dHlwZSAoYXV0aG9yOiBDYWxndXkpCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gX2Rpc3BsYXlfaW1hZ2VfYmxvY2soJGJsb2NrSW5mbywkdmFsdWUgPSAnJywkYWRkaW5nID0gZmFsc2UpCgl7CgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoJCSRhZGRkaXIgPSBnZXRfc2l0ZV9wcmVmZXJlbmNlKCdjb250ZW50aW1hZ2VfcGF0aCcpOwoJCWlmKCAkYmxvY2tJbmZvWydkaXInXSAhPSAnJyApCgkJewoJCQkkYWRkZGlyID0gJGJsb2NrSW5mb1snZGlyJ107CgkJfQoJCSRkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCRhZGRkaXIpOwoJCSRvcHRwcmVmaXggPSAnJzsKCQkjJG9wdHByZWZpeCA9ICd1cGxvYWRzJzsKCQkjaWYoICFlbXB0eSgkYmxvY2tJbmZvWydkaXInXSkgKSAkb3B0cHJlZml4IC49ICcvJy4kYmxvY2tJbmZvWydkaXInXTsKCQkkaW5wdXRuYW1lID0gJGJsb2NrSW5mb1snaWQnXTsKCQlpZiggaXNzZXQoJGJsb2NrSW5mb1snaW5wdXRuYW1lJ10pICkKCQl7CgkJCSRpbnB1dG5hbWUgPSAkYmxvY2tJbmZvWydpbnB1dG5hbWUnXTsKCQl9CgkJIyBtb2QgYnkgTmFOIHRvIGZpbHRlciBmaWxlcyBieSBwcmVmaXggYW5kIHNldCAiYWxsb3cgbm9uZSIKCQkjJGRyb3Bkb3duID0gY3JlYXRlX2ZpbGVfZHJvcGRvd24oJGlucHV0bmFtZSwkZGlyLCR2YWx1ZSwnanBnLGpwZWcscG5nLGdpZicsJG9wdHByZWZpeCx0cnVlKTsKCQkkZHJvcGRvd24gPSBjcmVhdGVfZmlsZV9kcm9wZG93bigkaW5wdXRuYW1lLCRkaXIsJHZhbHVlLCdqcGcsanBlZyxwbmcsZ2lmJywkb3B0cHJlZml4LCRibG9ja0luZm9bJ2FsbG93X25vbmUnXSwnJywkYmxvY2tJbmZvWydwcmVmaXgnXSwkYmxvY2tJbmZvWydleGNsdWRlJ10pOwoJCQoJCWlmKCAkZHJvcGRvd24gPT09IGZhbHNlICkKCQl7CgkJCSRkcm9wZG93biA9IGxhbmcoJ2Vycm9yX3JldHJpZXZpbmdfZmlsZV9saXN0Jyk7CgkJfQoJCXJldHVybiAkZHJvcGRvd247Cgl9CgkKCXByaXZhdGUgZnVuY3Rpb24gX2Rpc3BsYXlfbW9kdWxlX2Jsb2NrKCRibG9ja0luZm8sJHZhbHVlID0gJycsJGFkZGluZyA9IGZhbHNlKQoJewoJCSRBZHZhbmNlZENvbnRlbnQgPSYgY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdBZHZhbmNlZENvbnRlbnQnKTsKCQlpZigkYmxvY2tJbmZvWydtb2R1bGUnXSA9PSAnJykKCQl7CgkJCXJldHVybiAkQWR2YW5jZWRDb250ZW50LT5sYW5nKCdlcnJvcl9pbnN1ZmZpY2llbnRfYmxvY2twYXJhbXMnLCdtb2R1bGUnLCRibG9ja0luZm9bJ25hbWUnXSk7CgkJfQoJCWlmKCAhJG1vZHVsZSA9JiAkQWR2YW5jZWRDb250ZW50LT5HZXRNb2R1bGVJbnN0YW5jZSgkYmxvY2tJbmZvWydtb2R1bGUnXSkpCgkJewoJCQlyZXR1cm4gJEFkdmFuY2VkQ29udGVudC0+bGFuZygnZXJyb3JfbG9hZGluZ19tb2R1bGUnLCRibG9ja0luZm9bJ21vZHVsZSddLCRibG9ja0luZm9bJ25hbWUnXSk7CgkJfQoJCWlmKCAhJG1vZHVsZS0+SGFzQ2FwYWJpbGl0eSgnY29udGVudGJsb2NrcycpICkKCQl7CgkJCXJldHVybiAkQWR2YW5jZWRDb250ZW50LT5sYW5nKCdlcnJvcl9jb250ZW50YmxvY2tfc3VwcG9ydCcsJGJsb2NrSW5mb1snbW9kdWxlJ10sJGJsb2NrSW5mb1snbmFtZSddKTsKCQl9CgkJcmV0dXJuICRtb2R1bGUtPkdldENvbnRlbnRCbG9ja0lucHV0KCRibG9ja0luZm9bJ2lkJ10sJHZhbHVlLCRibG9ja0luZm9bJ3BhcmFtcyddLCRhZGRpbmcpOwoJfQoJCglwcml2YXRlIGZ1bmN0aW9uIF9kaXNwbGF5X2RhdGVfYmxvY2soJGJsb2NrSW5mbywkdmFsdWUgPSAnJywkYWRkaW5nID0gZmFsc2UpCgl7CgkJaWYoISR2YWx1ZSkKCQl7CgkJCSR2YWx1ZSA9IHRpbWUoKTsKCQl9CgkJCgkJJGRhdGUgPSBzdHJmdGltZSgnJXgnLCBpbnR2YWwoJHZhbHVlKSk7CgkJJHRpbWUgPSAnMDowJzsKCQlpZigkYmxvY2tJbmZvWydzaG93X2Nsb2NrJ10pCgkJewoJCQkkdGltZSA9IHN0cmZ0aW1lKCclSDolTScsIGludHZhbCgkdmFsdWUpKTsKCQl9CgkJCgkJJF90bXAgICAgICAgID0gJHRoaXMtPkNsZWFuQXJyYXkoZXhwbG9kZSgnOicsJHRpbWUpKTsKCQkkdGltZVNlY29uZHMgPSAoKCRfdG1wWzBdICogMzYwMCkgKyAoJF90bXBbMV0gKiA2MCkpOwoJCSRkYXRlU2Vjb25kcyA9ICR2YWx1ZSAtICR0aW1lU2Vjb25kczsKCQkKCQkkZGF0ZUlucHV0ID0gJzxpbWcgaWQ9IicuJGJsb2NrSW5mb1snaWQnXS4nX0FkdmFuY2VkQ29udGVudERhdGVQaWNrZXJUcmlnZ2VyIiBzcmM9Ii4uL21vZHVsZXMvQWR2YW5jZWRDb250ZW50L2ltYWdlcy9jYWxlbmRhci5wbmciIGNsYXNzPSJjYWxlbmRhclRyaWdnZXIiIC8+Jm5ic3A7CgkJCTxzcGFuIGlkPSInLiRibG9ja0luZm9bJ2lkJ10uJ19BZHZhbmNlZENvbnRlbnREYXRlUGlja2VyRGlzcGxheSI+Jy4kZGF0ZS4nPC9zcGFuPgoJCQk8aW5wdXQgaWQ9IicuJGJsb2NrSW5mb1snaWQnXS4nX0FkdmFuY2VkQ29udGVudERhdGUiIHR5cGU9ImhpZGRlbiIgbmFtZT0iJy4kYmxvY2tJbmZvWydpZCddLidfQWR2YW5jZWRDb250ZW50RGF0ZSIgdmFsdWU9IicuJGRhdGVTZWNvbmRzLiciIC8+JzsKCQkJCgkJJHN1ZmZpeCAgICA9ICcnOwoJCSR0aW1lSW5wdXQgPSAnJzsKCQlpZigkYmxvY2tJbmZvWydzaG93X2Nsb2NrJ10pCgkJewoJCQkkdGltZUlucHV0ID0gJyZuYnNwOyZuYnNwOy0mbmJzcDsmbmJzcDs8c2VsZWN0IG5hbWU9IicuJGJsb2NrSW5mb1snaWQnXS4nX0FkdmFuY2VkQ29udGVudFRpbWUiPic7CgkJCSRfaSAgICAgICAgPSAwOwoJCQlmb3IoJGk9JGJsb2NrSW5mb1snc3RhcnRfaG91ciddOyAkaTw9JGJsb2NrSW5mb1snZW5kX2hvdXInXTsgJGkgKz0gJGJsb2NrSW5mb1snc3RlcF9ob3VycyddKQoJCQl7CgkJCQlpZigkaTwxMiAmJiAhJGJsb2NrSW5mb1snc2hvdzI0aCddKQoJCQkJewoJCQkJCSRzdWZmaXggPSAnIGFtJzsKCQkJCX0KCQkJCWVsc2UgaWYoISRibG9ja0luZm9bJ3Nob3cyNGgnXSkKCQkJCXsKCQkJCQkkc3VmZml4ID0gJyBwbSc7CgkJCQl9CgkJCQlmb3IoJGo9JGJsb2NrSW5mb1snc3RhcnRfbWludXRlJ107ICRqPD0kYmxvY2tJbmZvWydlbmRfbWludXRlJ107ICRqICs9ICRibG9ja0luZm9bJ3N0ZXBfbWludXRlcyddKQoJCQkJewoJCQkJCSR2YWx1ZSA9ICgkaSozNjAwKSArICgkaio2MCk7CgkJCQkJaWYoKCRibG9ja0luZm9bJ2VuZF9ob3VyJ10gPCAyMyAmJiAkdmFsdWUgPD0gKCRibG9ja0luZm9bJ2VuZF9ob3VyJ10gKiAzNjAwKSkgfHwgJGJsb2NrSW5mb1snZW5kX2hvdXInXSA9PSAyMykKCQkJCQl7CgkJCQkJCSR0aW1lSW5wdXQgLj0gJzxvcHRpb24gdmFsdWU9IicuICR2YWx1ZSAuJyInLiAoJHZhbHVlID09ICR0aW1lU2Vjb25kcz8gJyBzZWxlY3RlZD0ic2VsZWN0ZWQiJzonJykgLic+Jy4gKCRpPDEwPycwJy4kaTooISRibG9ja0luZm9bJ3Nob3cyNGgnXSAmJiAkaT4xMj8kaS0xMjokaSkpIC4nOicuICgkajwxMD8nMCcuJGo6JGopIC4gJHN1ZmZpeCAuICc8L29wdGlvbj4nOwoJCQkJCX0KCQkJCX0KCQkJCSRqID0gJGJsb2NrSW5mb1snc3RhcnRfbWludXRlJ107CgkJCX0KCQkJJHRpbWVJbnB1dCAuPSAnPC9zZWxlY3Q+JzsKCQl9CgkJcmV0dXJuICRkYXRlSW5wdXQuJHRpbWVJbnB1dDsKCX0KCQoJcHJpdmF0ZSBmdW5jdGlvbiBfZGlzcGxheV9jaGVja2JveF9ibG9jaygkYmxvY2tJbmZvLCR2YWx1ZSA9ICcnLCRhZGRpbmcgPSBmYWxzZSkKCXsKCQlyZXR1cm4gJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicgLiAkYmxvY2tJbmZvWydpZCddIC4gJyIgdmFsdWU9IjAiIC8+CgkJCTxpbnB1dCBpZD0iJy4kYmxvY2tJbmZvWydpZCddLiciIGNsYXNzPSJwYWdlY2hlY2tib3giJyAuICgkYmxvY2tJbmZvWydzdHlsZSddICE9ICcnPycgc3R5bGU9IicgLiAkYmxvY2tJbmZvWydzdHlsZSddIC4gJyAiJzonJykgLiAnIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iMSIgbmFtZT0iJyAuICRibG9ja0luZm9bJ2lkJ10gLiAnIicgLiAoJHZhbHVlID09IDEgPyAnIGNoZWNrZWQ9ImNoZWNrZWQiJzonJykgLiAnIC8+JzsKCX0KCQoJcHJpdmF0ZSBmdW5jdGlvbiBfZGlzcGxheV9kcm9wZG93bl9ibG9jaygkYmxvY2tJbmZvLCR2YWx1ZSA9ICcnLCRhZGRpbmcgPSBmYWxzZSkKCXsKCQkkQWR2YW5jZWRDb250ZW50ID0mIGNtc191dGlsczo6Z2V0X21vZHVsZSgnQWR2YW5jZWRDb250ZW50Jyk7CgkJJGl0ZW1zID0gYXJyYXkoKTsKCQlpZigkYmxvY2tJbmZvWydpdGVtcyddICE9ICcnKQoJCXsKCQkJZm9yZWFjaChleHBsb2RlKCRibG9ja0luZm9bJ2RlbGltaXRlciddLCAkYmxvY2tJbmZvWydpdGVtcyddKSBhcyAka2V5ID0+ICR2YWwpCgkJCXsKCQkJCSRpdGVtc1ska2V5XVsnbGFiZWwnXSA9IHRyaW0oJHZhbCk7CgkJCQlpZigkYmxvY2tJbmZvWyd0cmFuc2xhdGVfbGFiZWxzJ10pCgkJCQl7CgkJCQkJJGl0ZW1zWyRrZXldWydsYWJlbCddID0gJEFkdmFuY2VkQ29udGVudC0+bGFuZygkaXRlbXNbJGtleV1bJ2xhYmVsJ10pOwoJCQkJfQoJCQkJCgkJCQkkaXRlbXNbJGtleV1bJ3ZhbHVlJ10gICAgPSAkaXRlbXNbJGtleV1bJ2xhYmVsJ107CgkJCQkkaXRlbXNbJGtleV1bJ3NlbGVjdGVkJ10gPSAodHJpbSgkdmFsdWUpID09PSAkaXRlbXNbJGtleV1bJ3ZhbHVlJ10pOwoJCQl9CgkJfQoJCWlmKCRibG9ja0luZm9bJ3ZhbHVlcyddICE9ICcnKQoJCXsKCQkJZm9yZWFjaChleHBsb2RlKCRibG9ja0luZm9bJ2RlbGltaXRlciddLCAkYmxvY2tJbmZvWyd2YWx1ZXMnXSkgYXMgJGtleSA9PiAkdmFsKQoJCQl7CgkJCQkkaXRlbXNbJGtleV1bJ3ZhbHVlJ10gPSB0cmltKCR2YWwpOwoJCQkJaWYoJGJsb2NrSW5mb1sndHJhbnNsYXRlX3ZhbHVlcyddKQoJCQkJewoJCQkJCSRpdGVtc1ska2V5XVsndmFsdWUnXSA9ICRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJGl0ZW1zWyRrZXldWyd2YWx1ZSddKTsKCQkJCX0KCQkJCQoJCQkJJGl0ZW1zWyRrZXldWydzZWxlY3RlZCddID0gKHRyaW0oJHZhbHVlKSA9PT0gJGl0ZW1zWyRrZXldWyd2YWx1ZSddKTsKCQkJCQoJCQkJaWYoIWlzc2V0KCRpdGVtc1ska2V5XVsnbGFiZWwnXSkpCgkJCQl7CgkJCQkJJGl0ZW1zWyRrZXldWydsYWJlbCddID0gJGl0ZW1zWyRrZXldWyd2YWx1ZSddOwoJCQkJfQoJCQl9CgkJfQoJCQoJCSRpbnB1dCA9ICc8c2VsZWN0IG5hbWU9IicgLiAkYmxvY2tJbmZvWydpZCddIC4gJyIgJyAuICgkYmxvY2tJbmZvWydzdHlsZSddICE9ICcnPydzdHlsZT0iJyAuICRibG9ja0luZm9bJ3N0eWxlJ10gLiAnICInOicnKSAuICcgPic7CgkJZm9yZWFjaCgkaXRlbXMgYXMgJGl0ZW0pCgkJewoJCQkkaW5wdXQgLj0gJzxvcHRpb24gdmFsdWU9IicgLiAkaXRlbVsndmFsdWUnXSAuICciJzsKCQkJaWYoJGl0ZW1bJ3NlbGVjdGVkJ10pCgkJCXsKCQkJCSRpbnB1dCAuPSAnIHNlbGVjdGVkPSJzZWxlY3RlZCInOwoJCQl9CgkJCSRpbnB1dCAuPSAnPicgLiAkaXRlbVsnbGFiZWwnXSAuICc8L29wdGlvbj4nOwoJCX0KCQkkaW5wdXQgLj0gJzwvc2VsZWN0Pic7CgkJcmV0dXJuICRpbnB1dDsKCX0KCQoJcHJpdmF0ZSBmdW5jdGlvbiBfZGlzcGxheV9zZWxlY3RfbXVsdGlwbGVfYmxvY2soJGJsb2NrSW5mbywgJHZhbHVlID0gJycsJGFkZGluZyA9IGZhbHNlKQoJewoJCSRBZHZhbmNlZENvbnRlbnQgPSYgY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdBZHZhbmNlZENvbnRlbnQnKTsKCQkkc2VsSXRlbXMgPSBhcnJheSgpOwoJCWZvcmVhY2goZXhwbG9kZSgkYmxvY2tJbmZvWydkZWxpbWl0ZXInXSwgJHZhbHVlKSBhcyAka2V5ID0+ICR2YWwpCgkJewoJCQkkc2VsSXRlbXNbJGtleV0gPSB0cmltKCR2YWwpOwoJCX0KCQkkaXRlbXMgPSBhcnJheSgpOwoJCWlmKCRibG9ja0luZm9bJ2l0ZW1zJ10gIT0gJycpCgkJewoJCQlmb3JlYWNoKGV4cGxvZGUoJGJsb2NrSW5mb1snZGVsaW1pdGVyJ10sICRibG9ja0luZm9bJ2l0ZW1zJ10pIGFzICRrZXkgPT4gJHZhbCkKCQkJewoJCQkJJGl0ZW1zWyRrZXldWydsYWJlbCddID0gdHJpbSgkdmFsKTsKCQkJCWlmKCRibG9ja0luZm9bJ3RyYW5zbGF0ZV9sYWJlbHMnXSkKCQkJCXsKCQkJCQkkaXRlbXNbJGtleV1bJ2xhYmVsJ10gPSAkQWR2YW5jZWRDb250ZW50LT5sYW5nKCRpdGVtc1ska2V5XVsnbGFiZWwnXSk7CgkJCQl9CgkJCQkKCQkJCSRpdGVtc1ska2V5XVsndmFsdWUnXSAgICA9ICRpdGVtc1ska2V5XVsnbGFiZWwnXTsKCQkJCSRpdGVtc1ska2V5XVsnc2VsZWN0ZWQnXSA9IGluX2FycmF5KCRpdGVtc1ska2V5XVsnbGFiZWwnXSwkc2VsSXRlbXMpOwoJCQl9CgkJfQoJCWlmKCRibG9ja0luZm9bJ3ZhbHVlcyddICE9ICcnKQoJCXsKCQkJZm9yZWFjaChleHBsb2RlKCRibG9ja0luZm9bJ2RlbGltaXRlciddLCAkYmxvY2tJbmZvWyd2YWx1ZXMnXSkgYXMgJGtleSA9PiAkdmFsKQoJCQl7CgkJCQkkaXRlbXNbJGtleV1bJ3ZhbHVlJ10gPSB0cmltKCR2YWwpOwoJCQkJaWYoJGJsb2NrSW5mb1sndHJhbnNsYXRlX3ZhbHVlcyddKQoJCQkJewoJCQkJCSRpdGVtc1ska2V5XVsndmFsdWUnXSA9ICRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJGl0ZW1zWyRrZXldWyd2YWx1ZSddKTsKCQkJCX0KCQkJCQoJCQkJJGl0ZW1zWyRrZXldWydzZWxlY3RlZCddID0gaW5fYXJyYXkoJGl0ZW1zWyRrZXldWyd2YWx1ZSddLCRzZWxJdGVtcyk7CgkJCQlpZighaXNzZXQoJGl0ZW1zWyRrZXldWydsYWJlbCddKSkKCQkJCXsKCQkJCQkkaXRlbXNbJGtleV1bJ2xhYmVsJ10gPSAkaXRlbXNbJGtleV1bJ3ZhbHVlJ107CgkJCQl9CgkJCX0KCQl9CgkJCgkJJGlucHV0ID0gJzxpbnB1dCB0eXBlPSJoaWRkZW4iIHZhbHVlPSIiIG5hbWU9IicgLiAkYmxvY2tJbmZvWydpZCddIC4gJyIgLz4nOwoJCQoJCWlmKCEkYmxvY2tJbmZvWydzb3J0YWJsZSddKQoJCXsKCQkJJHNpemUgPSBjb3VudCgkaXRlbXMpOwoJCQlpZihpc3NldCgkYmxvY2tJbmZvWydzaXplJ10pKQoJCQl7CgkJCQkkc2l6ZSA9ICRibG9ja0luZm9bJ3NpemUnXTsKCQkJfQoJCQkkaW5wdXQgLj0gJwoJCQkJPHNlbGVjdCBuYW1lPSInIC4gJGJsb2NrSW5mb1snaWQnXSAuICdbXSInIC4gKCRibG9ja0luZm9bJ3N0eWxlJ10gIT0gJyc/JyBzdHlsZT0iJyAuICRibG9ja0luZm9bJ3N0eWxlJ10gLiAnICInOicnKSAuICcgIG11bHRpcGxlPSJtdWx0aXBsZSIgc2l6ZT0iJy4kc2l6ZS4nIj4nOwoJCQlmb3JlYWNoKCRpdGVtcyBhcyAkaXRlbSkKCQkJewoJCQkJJGlucHV0IC49ICc8b3B0aW9uIHZhbHVlPSInIC4gJGl0ZW1bJ3ZhbHVlJ10gLiAnIic7CgkJCQlpZigkaXRlbVsnc2VsZWN0ZWQnXSkKCQkJCXsKCQkJCQkkaW5wdXQgLj0gJyBzZWxlY3RlZD0ic2VsZWN0ZWQiJzsKCQkJCX0KCQkJCSRpbnB1dCAuPSAnPicgLiAkaXRlbVsnbGFiZWwnXSAuICc8L29wdGlvbj4nOwoJCQl9CgkJCSRpbnB1dCAuPSAnPC9zZWxlY3Q+JzsKCQl9CgkJZWxzZQoJCXsKCQkJIyBzb3J0IHRoZSBpdGVtcwoJCQkkX2l0ZW1zID0gYXJyYXkoKTsKCQkJZm9yZWFjaCgkc2VsSXRlbXMgYXMgJHNlbEtleSA9PiAkc2VsSXRlbSkKCQkJewoJCQkJcmVzZXQoJGl0ZW1zKTsKCQkJCWZvcmVhY2goJGl0ZW1zIGFzICRpdGVtS2V5ID0+ICRpdGVtKQoJCQkJewoJCQkJCWlmKCRpdGVtWyd2YWx1ZSddID09PSAkc2VsSXRlbSkKCQkJCQl7CgkJCQkJCSRfaXRlbXNbXSA9ICRpdGVtOwoJCQkJCQl1bnNldCgkaXRlbXNbJGl0ZW1LZXldKTsKCQkJCQkJdW5zZXQoJHNlbEl0ZW1zWyRzZWxLZXldKTsKCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJfQoJCQl9CgkJCQoJCQkkaXRlbXMgPSBhcnJheV9tZXJnZSgkX2l0ZW1zLCRpdGVtcyk7CgkJCSRpbnB1dCAuPSAnPGRpdiBjbGFzcz0ic29ydGFibGVfd3JhcHBlciI+JzsKCQkJZm9yZWFjaCgkaXRlbXMgYXMgJGl0ZW0pCgkJCXsKCQkJCSRpbnB1dCAuPQoJCQkJJzxkaXYgY2xhc3M9InNvcnRhYmxlIj4KCQkJCQk8aW1nIGNsYXNzPSJzb3J0YWJsZV9oYW5kbGVyIiBzcmM9Ii4uL21vZHVsZXMvQWR2YW5jZWRDb250ZW50L2ltYWdlcy9zb3J0LnBuZyIgLz4KCQkJCQk8aW5wdXQgY2xhc3M9InBhZ2VjaGVja2JveCInIC4gKCRibG9ja0luZm9bJ3N0eWxlJ10gIT0gJyc/JyBzdHlsZT0iJyAuICRibG9ja0luZm9bJ3N0eWxlJ10gLiAnICInOicnKSAuICcgdHlwZT0iY2hlY2tib3giIHZhbHVlPSInLiRpdGVtWyd2YWx1ZSddLiciIG5hbWU9IicgLiAkYmxvY2tJbmZvWydpZCddIC4gJ19BZHZhbmNlZENvbnRlbnRTb3J0YWJsZUl0ZW1fJyAuIG11bmdlX3N0cmluZ190b191cmwoJGl0ZW1bJ2xhYmVsJ10pIC4gJyInIC4gKCRpdGVtWydzZWxlY3RlZCddPyAnIGNoZWNrZWQ9ImNoZWNrZWQiJzonJykgLiAnIC8+CgkJCQkJJy4kaXRlbVsnbGFiZWwnXS4nCgkJCQk8L2Rpdj4nOwoJCQl9CgkJCSRpbnB1dCAuPSAnPC9kaXY+JzsKCQl9CgkJcmV0dXJuICRpbnB1dDsKCX0KCQoJcHJpdmF0ZSBmdW5jdGlvbiBfZGlzcGxheV9tdWx0aV9pbnB1dF9ibG9jaygkYmxvY2tJbmZvLCAkdmFsdWUgPSAnJywkYWRkaW5nID0gZmFsc2UpCgl7CgkJJEFkdmFuY2VkQ29udGVudCA9JiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0FkdmFuY2VkQ29udGVudCcpOwoJCSRtdWx0aV9pbnB1dF9pZHMgPSAkdGhpcy0+Q2xlYW5BcnJheShleHBsb2RlKCcsJywkYmxvY2tJbmZvWydpbnB1dHMnXSkpOwoJCSRpbnB1dF92YWx1ZXMgICAgPSBhcnJheSgpOwoJCSRtdWx0aV9pbnB1dCAgICAgPSAnPGlucHV0IHR5cGU9ImhpZGRlbiIgdmFsdWU9IiIgbmFtZT0iJyAuICRibG9ja0luZm9bJ2lkJ10gLiAnIiAvPic7CgkJZm9yZWFjaChleHBsb2RlKCRibG9ja0luZm9bJ2lucHV0X2RlbGltaXRlciddLCR2YWx1ZSkgYXMgJGlucHV0X2RhdGEpCgkJewoJCQkkaW5wdXRfdmFsdWVzW10gPSBleHBsb2RlKCRibG9ja0luZm9bJ3ZhbHVlX2RlbGltaXRlciddLCRpbnB1dF9kYXRhKTsKCQl9CgkJZm9yZWFjaCgkbXVsdGlfaW5wdXRfaWRzIGFzICRrMT0+JG11bHRpX2lucHV0X2lkKQoJCXsKCQkJaWYoaXNzZXQoJHRoaXMtPl9tdWx0aUlucHV0c1skbXVsdGlfaW5wdXRfaWRdKSkKCQkJewoJCQkJaWYoIWlzc2V0KCR0aGlzLT5fbXVsdGlJbnB1dHNbJG11bHRpX2lucHV0X2lkXVsndGVtcGxhdGUnXSkpCgkJCQl7CgkJCQkJJHRoaXMtPl9tdWx0aUlucHV0c1skbXVsdGlfaW5wdXRfaWRdWyd0ZW1wbGF0ZSddID0gJEFkdmFuY2VkQ29udGVudC0+R2V0VGVtcGxhdGUoJHRoaXMtPl9tdWx0aUlucHV0c1skbXVsdGlfaW5wdXRfaWRdWyd0cGxfbmFtZSddKTsKCQkJCX0KCQkJCSRpbnB1dHMgPSBhcnJheSgpOwoJCQkJIyBmb3JlYWNoIHRhZwoJCQkJZm9yZWFjaCAoJHRoaXMtPl9tdWx0aUlucHV0c1skbXVsdGlfaW5wdXRfaWRdWydlbGVtZW50cyddIGFzICRrMj0+JGlucHV0SW5mbykKCQkJCXsKCQkJCQlpZigkaW5wdXRJbmZvWydzbWFydHknXSkKCQkJCQl7CgkJCQkJCWZvcmVhY2goJGlucHV0SW5mbyBhcyAkcHJvcE5hbWU9PiRwcm9wVmFsdWUpCgkJCQkJCXsKCQkJCQkJCSRpbnB1dEluZm9bJHByb3BOYW1lXSA9ICR0aGlzLT5Eb1NtYXJ0eSgkcHJvcFZhbHVlKTsKCQkJCQkJfQoJCQkJCX0KCQkJCQkkaW5wdXRJbmZvWydpZCddID0gJ211bHRpSW5wdXQtJyAuICRibG9ja0luZm9bJ2lkJ10gLiAnLScgLiAkbXVsdGlfaW5wdXRfaWQgLiAnLScgLiAkazEgLiAnLScgLiAkaW5wdXRJbmZvWydpZCddOwoJCQkJCSRpbnB1dHNbJGlucHV0SW5mb1snaWQnXV0gPSAkaW5wdXRJbmZvOwoJCQkJCSRpbnB1dHNbJGlucHV0SW5mb1snaWQnXV1bJ2lucHV0J10gPSAkdGhpcy0+ZGlzcGxheV9jb250ZW50X2Jsb2NrKCRpbnB1dEluZm8sIChpc3NldCgkaW5wdXRfdmFsdWVzWyRrMV1bJGsyXSkgPyRpbnB1dF92YWx1ZXNbJGsxXVskazJdOicnKSwgJGFkZGluZyk7CgkJCQl9CgkJCQkkQWR2YW5jZWRDb250ZW50LT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2lucHV0cycsICRpbnB1dHMpOwoJCQkJJG11bHRpX2lucHV0IC49ICRBZHZhbmNlZENvbnRlbnQtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0aGlzLT5fbXVsdGlJbnB1dHNbJG11bHRpX2lucHV0X2lkXVsndGVtcGxhdGUnXSk7CgkJCX0KCQl9CgkJcmV0dXJuICRtdWx0aV9pbnB1dDsKCX0KCQoJZnVuY3Rpb24gVmFsaWRhdGVEYXRhKCkKCXsKCQkkZXJyb3JzID0gcGFyZW50OjpWYWxpZGF0ZURhdGEoKTsKCQlpZiggJGVycm9ycyA9PT0gRkFMU0UgKQoJCXsKCQkJJGVycm9ycyA9IGFycmF5KCk7CgkJfQoJCQoJCWlmICgkdGhpcy0+bVRlbXBsYXRlSWQgPD0gMCApCgkJewoJCQkkZXJyb3JzW10gPSBsYW5nKCdub2ZpZWxkZ2l2ZW4nLCBhcnJheShsYW5nKCd0ZW1wbGF0ZScpKSk7CgkJfQoJCQoJCWZvcmVhY2goJHRoaXMtPl9jb250ZW50QmxvY2tzIGFzICRibG9ja0luZm8pCgkJewoJCQlpZigkYmxvY2tJbmZvWydyZXF1aXJlZCddICYmICR0aGlzLT5HZXRQcm9wZXJ0eSgkYmxvY2tJbmZvWydpZCddKSA9PSAnJykKCQkJewoJCQkJJGVycm9yc1tdID0gbGFuZygnbm9maWVsZGdpdmVuJywgYXJyYXkoJGJsb2NrSW5mb1snbmFtZSddKSk7CgkJCX0KCQl9CgkJaWYoJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJ3VzZV9leHBpcmVfZGF0ZScpICYmIGNoZWNrX3Blcm1pc3Npb24oZ2V0X3VzZXJpZCgpLCAnTWFuYWdlIEFkdmFuY2VkQ29udGVudCBPcHRpb25zJykgJiYgJHRoaXMtPkdldFByb3BlcnR5KCdlbmRfZGF0ZScpIDw9ICR0aGlzLT5HZXRQcm9wZXJ0eSgnc3RhcnRfZGF0ZScpKQoJCXsKCQkJJEFkdmFuY2VkQ29udGVudCA9JiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0FkdmFuY2VkQ29udGVudCcpOwoJCQkkZXJyb3JzW10gPSAkQWR2YW5jZWRDb250ZW50LT5sYW5nKCdlcnJvcl9leHBpcmVkYXRlJyk7CgkJfQoJCWlmKGNoZWNrX3Blcm1pc3Npb24oZ2V0X3VzZXJpZCgpLCAnTWFuYWdlIEFkdmFuY2VkQ29udGVudCBPcHRpb25zJykgJiYgJHRoaXMtPkdldFByb3BlcnR5KCdmZXVfYWNjZXNzJykgJiYgJHRoaXMtPkdldFByb3BlcnR5KCdoaWRlX21lbnVfaXRlbScpID09IDIpCgkJewoJCQkkQWR2YW5jZWRDb250ZW50ID0mIGNtc191dGlsczo6Z2V0X21vZHVsZSgnQWR2YW5jZWRDb250ZW50Jyk7CgkJCSRlcnJvcnNbXSA9ICRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJ2Vycm9yX3BhZ2VhY2Nlc3MnKTsKCQl9CgkJcmV0dXJuIChjb3VudCgkZXJyb3JzKSA+IDA/JGVycm9yczpGQUxTRSk7Cgl9CgkKCWZ1bmN0aW9uIENvbnRlbnRQcmVSZW5kZXIoJHRwbFNvdXJjZSkKCXsKCQkkdGhpcy0+cGFyc2VfY29udGVudF9ibG9ja3MoKTsKCQlyZXR1cm4gJHRwbFNvdXJjZTsKCX0KCQoJZnVuY3Rpb24gZGlzcGxheV9zaW5nbGVfZWxlbWVudCgkb25lLCAkYWRkaW5nKQoJewoJCXN3aXRjaCgkb25lKQoJCXsKCQkJY2FzZSAndGVtcGxhdGUnOgoJCQkJJHRlbXBsYXRlb3BzID0mIGNtc21zKCktPkdldFRlbXBsYXRlT3BlcmF0aW9ucygpOwoJCQkJcmV0dXJuIGFycmF5KGxhbmcoJ3RlbXBsYXRlJykgLiAnOicsICR0ZW1wbGF0ZW9wcy0+VGVtcGxhdGVEcm9wZG93bigndGVtcGxhdGVfaWQnLCAkdGhpcy0+bVRlbXBsYXRlSWQsICdvbmNoYW5nZT0iZG9jdW1lbnQuRWRpdF9Db250ZW50LnN1Ym1pdCgpIicpKTsKCQkJCgkJCWNhc2UgJ3BhZ2VtZXRhZGF0YSc6CgkJCQlyZXR1cm4gYXJyYXkobGFuZygncGFnZV9tZXRhZGF0YScpIC4gJzonLCBjcmVhdGVfdGV4dGFyZWEoZmFsc2UsICR0aGlzLT5tTWV0YWRhdGEsICdtZXRhZGF0YScsICdwYWdlc21hbGx0ZXh0YXJlYScsICdtZXRhZGF0YScsICcnLCAnJywgJzgwJywgJzYnKSk7CgkJCQoJCQljYXNlICdwYWdlZGF0YSc6CgkJCQlyZXR1cm4gYXJyYXkobGFuZygncGFnZWRhdGFfY29kZWJsb2NrJykgLiAnOicsIGNyZWF0ZV90ZXh0YXJlYShmYWxzZSwgJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJ3BhZ2VkYXRhJyksICdwYWdlZGF0YScsICdwYWdlc21hbGx0ZXh0YXJlYScsICdwYWdlZGF0YScsICcnLCAnJywgJzgwJywgJzYnKSk7CgkJCQoJCQljYXNlICdzZWFyY2hhYmxlJzoKCQkJCSRzZWFyY2hhYmxlID0gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJ3NlYXJjaGFibGUnKTsKCQkJCWlmKCAkc2VhcmNoYWJsZSA9PSAnJyApCgkJCQl7CgkJCQkJJHNlYXJjaGFibGUgPSAxOwoJCQkJfQoJCQkJcmV0dXJuIGFycmF5KGxhbmcoJ3NlYXJjaGFibGUnKSAuICc6JywKCQkJCQknPGRpdiBjbGFzcz0iaGlkZGVuIiA+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2VhcmNoYWJsZSIgdmFsdWU9IjAiIC8+PC9kaXY+CgkJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJzZWFyY2hhYmxlIiB2YWx1ZT0iMSIgJyAuICgkc2VhcmNoYWJsZSA9PSAxPydjaGVja2VkPSJjaGVja2VkIic6JycpIC4gJyAvPicpOwoJCQkKCQkJY2FzZSAnZGlzYWJsZV93eXNpd3lnJzoKCQkJCSRkaXNhYmxlV3lzaXd5ZyA9ICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCdkaXNhYmxlX3d5c2l3eWcnKTsKCQkJCWlmKCAkZGlzYWJsZVd5c2l3eWcgPT0gJycgKQoJCQkJewoJCQkJCSRkaXNhYmxlV3lzaXd5ZyA9IDA7CgkJCQl9CgkJCQlyZXR1cm4gYXJyYXkobGFuZygnZGlzYWJsZV93eXNpd3lnJykgLiAnOicsCgkJCQkJJzxkaXYgY2xhc3M9ImhpZGRlbiIgPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRpc2FibGVfd3lzaXd5ZyIgdmFsdWU9IjAiIC8+PC9kaXY+CgkJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJkaXNhYmxlX3d5c2l3eWciIHZhbHVlPSIxIiAgJyAuICgkZGlzYWJsZVd5c2l3eWcgPT0gMT8nY2hlY2tlZD0iY2hlY2tlZCInOicnKSAuICcgb25jbGljaz0idGhpcy5mb3JtLnN1Ym1pdCgpIiAvPicpOwoJCQkKCQkJZGVmYXVsdDoKCQkJCWlmKCRvbmUgPT0gJ2ZldV9hY2Nlc3MnCgkJCQl8fCAkb25lID09ICdyZWRpcmVjdF9wYWdlJwoJCQkJfHwgJG9uZSA9PSAnZmV1X2FjdGlvbicKCQkJCXx8ICRvbmUgPT0gJ3N0YXJ0X2RhdGUnCgkJCQl8fCAkb25lID09ICdlbmRfZGF0ZScKCQkJCXx8ICRvbmUgPT0gJ3VzZV9leHBpcmVfZGF0ZScKCQkJCXx8ICRvbmUgPT0gJ2hpZGVfbWVudV9pdGVtJwoJCQkJfHwgJG9uZSA9PSAnaW5oZXJpdF9yZWRpcmVjdF9wYXJhbXMnCgkJCQl8fCAkb25lID09ICdmZXVfcGFyYW1zJwoJCQkJfHwgJG9uZSA9PSAnaW5oZXJpdF9mZXVfcGFyYW1zJwoJCQkJfHwgJG9uZSA9PSAnZmV1X3BhcmFtc19zbWFydHknCgkJCQl8fCAkb25lID09ICdjdXN0b21fcGFyYW1zJwoJCQkJfHwgJG9uZSA9PSAnaW5oZXJpdF9jdXN0b21fcGFyYW1zJwoJCQkJfHwgJG9uZSA9PSAnY3VzdG9tX3BhcmFtc19zbWFydHknKQoJCQkJewoJCQkJCSR0aGlzLT5fYXR0cmlic1tdID0gJG9uZTsKCQkJCX0KCQkJCWlmKCRvbmUgIT0gJ2ZldV9hY2Nlc3MnCgkJCQkmJiAkb25lICE9ICdyZWRpcmVjdF9wYWdlJwoJCQkJJiYgJG9uZSAhPSAnZmV1X2FjdGlvbicKCQkJCSYmICRvbmUgIT0gJ3N0YXJ0X2RhdGUnCgkJCQkmJiAkb25lICE9ICdlbmRfZGF0ZScKCQkJCSYmICRvbmUgIT0gJ3VzZV9leHBpcmVfZGF0ZScKCQkJCSYmICRvbmUgIT0gJ2hpZGVfbWVudV9pdGVtJwoJCQkJJiYgJG9uZSAhPSAnaW5oZXJpdF9yZWRpcmVjdF9wYXJhbXMnCgkJCQkmJiAkb25lICE9ICdmZXVfcGFyYW1zJwoJCQkJJiYgJG9uZSAhPSAnaW5oZXJpdF9mZXVfcGFyYW1zJwoJCQkJJiYgJG9uZSAhPSAnZmV1X3BhcmFtc19zbWFydHknCgkJCQkmJiAkb25lICE9ICdjdXN0b21fcGFyYW1zJwoJCQkJJiYgJG9uZSAhPSAnaW5oZXJpdF9jdXN0b21fcGFyYW1zJwoJCQkJJiYgJG9uZSAhPSAnY3VzdG9tX3BhcmFtc19zbWFydHknKQoJCQkJewoJCQkJCXJldHVybiBwYXJlbnQ6OmRpc3BsYXlfc2luZ2xlX2VsZW1lbnQoJG9uZSwgJGFkZGluZyk7ICMgVG9EbzogaGVyZSB3ZSBjYW4gaG9vayBpbiB0byBhZGQgTUxFIGZlYXR1cmVzIGZvciB0aXRsZSBhbmQgbWVudXRleHQgZXRjLikKCQkJCX0KCQkJCWJyZWFrOwoJCX0KCX0KCi8qKgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKiBDdXN0b20gZnVuY3Rpb25zCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqLwogCgkvKioKCSAqIERpc3BsYXkgdGhlIGFkdmFuY2VkIG9wdGlvbnMKCSAqIEBwYXJhbSBib29sZWFuICRhZGRpbmcgLSB0cnVlIGlmIHBhZ2UgaXMgYWRkZWQsIGZhbHNlIGlmIGVkaXRlZAoJICogQHJldHVybiBhcnJheSAtIGFycmF5KGFycmF5KHByb21wdCxpbXB1dCkpCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gRGlzcGxheUFkdmFuY2VkT3B0aW9ucygkYWRkaW5nKQoJewoJCSRBZHZhbmNlZENvbnRlbnQgPSYgY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdBZHZhbmNlZENvbnRlbnQnKTsKCQkkcmV0ID0gYXJyYXkoKTsKCQlmb3JlYWNoKCAkdGhpcy0+X2F0dHJpYnMgYXMgJG9uZUF0dHJpYiApCgkJewoJCQlzd2l0Y2goJG9uZUF0dHJpYikKCQkJewoJCQkJY2FzZSAnZmV1X2FjY2Vzcyc6CgkJCQkJaWYoJGZldXNlcnMgPSYgY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJykpCgkJCQkJewoJCQkJCQlpZigkYWRkaW5nKQoJCQkJCQl7CgkJCQkJCQkkc2VsZWN0ZWRHcm91cHMgPSAkQWR2YW5jZWRDb250ZW50LT5HZXRQcmVmZXJlbmNlKCdmZXVfYWNjZXNzJyk7CgkJCQkJCX0KCQkJCQkJZWxzZQoJCQkJCQl7CgkJCQkJCQkkc2VsZWN0ZWRHcm91cHMgPSAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgnZmV1X2FjY2VzcycpOwoJCQkJCQl9CgkJCQkJCSRkZWxpbSAgICAgICAgICA9IHN0cnBvcygkc2VsZWN0ZWRHcm91cHMsJywnKSA9PT0gRkFMU0UgPyAnOycgOiAnLCc7CgkJCQkJCSRzZWxlY3RlZEdyb3VwcyA9ICR0aGlzLT5DbGVhbkFycmF5KGV4cGxvZGUoJGRlbGltLCRzZWxlY3RlZEdyb3VwcykpOwoJCQkJCQkKCQkJCQkJJGZldUFjY2VzcyA9IGFycmF5KCRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJ2luaGVyaXRfZnJvbV9wYXJlbnQnKT0+LTEpOwoJCQkJCQkkZmV1QWNjZXNzID0gYXJyYXlfbWVyZ2UoJGZldUFjY2VzcywkZmV1c2Vycy0+R2V0R3JvdXBMaXN0KCkpOwoJCQkJCQkkcmV0W10gPSBhcnJheSgkQWR2YW5jZWRDb250ZW50LT5sYW5nKCdmcm9udGVuZGFjY2VzcycpLicgOiAnLAoJCQkJCQkJJzxpbnB1dCB0eXBlPSJoaWRkZW4iIHZhbHVlPSIiIG5hbWU9ImZldV9hY2Nlc3MiIC8+Jy4KCQkJCQkJCSRBZHZhbmNlZENvbnRlbnQtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgnJywnZmV1X2FjY2Vzc1tdJywkZmV1QWNjZXNzLCRzZWxlY3RlZEdyb3Vwcyxjb3VudCgkZmV1QWNjZXNzKSwnJywxKSk7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJCgkJCQljYXNlICdyZWRpcmVjdF9wYWdlJzoKCQkJCQlpZigkZmV1c2VycyA9JiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKSkKCQkJCQl7CgkJCQkJCWlmKCRhZGRpbmcpCgkJCQkJCXsKCQkJCQkJCSR0aGlzLT5TZXRQcm9wZXJ0eVZhbHVlKCJyZWRpcmVjdF9wYWdlIiwkQWR2YW5jZWRDb250ZW50LT5HZXRQcmVmZXJlbmNlKCdyZWRpcmVjdF9wYWdlJywnJykpOwoJCQkJCQkJJHRoaXMtPlNldFByb3BlcnR5VmFsdWUoJ2luaGVyaXRfY3VzdG9tX3BhcmFtcycsJEFkdmFuY2VkQ29udGVudC0+R2V0UHJlZmVyZW5jZSgnaW5oZXJpdF9jdXN0b21fcGFyYW1zJywnJykpOwoJCQkJCQkJJHRoaXMtPlNldFByb3BlcnR5VmFsdWUoImN1c3RvbV9wYXJhbXMiLCRBZHZhbmNlZENvbnRlbnQtPkdldFByZWZlcmVuY2UoJ2N1c3RvbV9wYXJhbXMnLCcnKSk7CgkJCQkJCQkkdGhpcy0+U2V0UHJvcGVydHlWYWx1ZSgiY3VzdG9tX3BhcmFtc19zbWFydHkiLCRBZHZhbmNlZENvbnRlbnQtPkdldFByZWZlcmVuY2UoJ2N1c3RvbV9wYXJhbXNfc21hcnR5JywnJykpOwoJCQkJCQl9CgkJCQkJCSRyZWRpcmVjdFBhZ2UgPSAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgncmVkaXJlY3RfcGFnZScpOwoJCQkJCQkkaW5oZXJpdCAgICAgID0gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJ2luaGVyaXRfY3VzdG9tX3BhcmFtcycpOwoJCQkJCQkkcGFyYW1zICAgICAgID0gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoImN1c3RvbV9wYXJhbXMiKTsKCQkJCQkJJGRvX3NtYXJ0eSAgICA9ICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCJjdXN0b21fcGFyYW1zX3NtYXJ0eSIpOwoJCQkJCQkkcmV0W10gPSBhcnJheSgkQWR2YW5jZWRDb250ZW50LT5sYW5nKCdyZWRpcmVjdHBhZ2UnKS4nIDogJywKCQkJCQkJCSRBZHZhbmNlZENvbnRlbnQtPkNyZWF0ZVJlZGlyZWN0RHJvcGRvd24oJycsICdyZWRpcmVjdF9wYWdlJywkcmVkaXJlY3RQYWdlLCAkdGhpcy0+bUlkLCAnb25jaGFuZ2U9ImlmKCF0aGlzLnZhbHVlKXtqUXVlcnkoXCcjQWR2YW5jZWRDb250ZW50X2N1c3RvbV9wYXJhbXMgaW5wdXRcJykuYXR0cihcJ2Rpc2FibGVkXCcsXCdkaXNhYmxlZFwnKTtpZihqUXVlcnkoXCcjQWR2YW5jZWRDb250ZW50X2N1c3RvbV9wYXJhbXNcJykuY3NzKFwnZGlzcGxheVwnKSAhPSBcJ25vbmVcJyl7alF1ZXJ5KFwnI0FkdmFuY2VkQ29udGVudF9jdXN0b21fcGFyYW1zXCcpLnNsaWRlVXAoKTt9fWVsc2V7alF1ZXJ5KFwnI0FkdmFuY2VkQ29udGVudF9jdXN0b21fcGFyYW1zIGlucHV0XCcpLnJlbW92ZUF0dHIoXCdkaXNhYmxlZFwnKTtpZihqUXVlcnkoXCcjQWR2YW5jZWRDb250ZW50X2N1c3RvbV9wYXJhbXNcJykuY3NzKFwnZGlzcGxheVwnKSA9PSBcJ25vbmVcJyl7alF1ZXJ5KFwnI0FkdmFuY2VkQ29udGVudF9jdXN0b21fcGFyYW1zXCcpLnNsaWRlRG93bigpO319IicpLgoJCQkJCQkJJzxiciAvPjxzcGFuIGlkPSJBZHZhbmNlZENvbnRlbnRfY3VzdG9tX3BhcmFtcyIgY2xhc3M9IkFkdmFuY2VkQ29udGVudF9jdXN0b21fcGFyYW1zIiBzdHlsZT0ib3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDsnLighJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoInJlZGlyZWN0X3BhZ2UiKSA/ICdkaXNwbGF5Om5vbmUnIDonJykuJyI+PGJyIC8+PHN0cm9uZz4nIC4gJEFkdmFuY2VkQ29udGVudC0+bGFuZygnY3VzdG9tX3BhcmFtcycpLicgOiA8L3N0cm9uZz48YnIgLz4KCQkJCQkJCTxzcGFuIGNsYXNzPSJBZHZhbmNlZENvbnRlbnRfY3VzdG9tX3BhcmFtcyIgc3R5bGU9Im92ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7Ij4nLiRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJ2luaGVyaXRfZnJvbV9wYXJlbnQnKSAuICcgOiAnIC4KCQkJCQkJCSc8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImluaGVyaXRfY3VzdG9tX3BhcmFtcyIgdmFsdWU9IjEiICcgLiAoJGluaGVyaXQgPyAnY2hlY2tlZD0iY2hlY2tlZCInOicnKSAuICcgb25jaGFuZ2U9ImlmKHRoaXMuY2hlY2tlZCl7alF1ZXJ5KFwnI0FkdmFuY2VkQ29udGVudF9jdXN0b21fcGFyYW1zX3dyYXBwZXIgaW5wdXRcJykuYXR0cihcJ2Rpc2FibGVkXCcsXCdkaXNhYmxlZFwnKTtpZihqUXVlcnkoXCcjQWR2YW5jZWRDb250ZW50X2N1c3RvbV9wYXJhbXNfd3JhcHBlclwnKS5jc3MoXCdkaXNwbGF5XCcpICE9IFwnbm9uZVwnKXtqUXVlcnkoXCcjQWR2YW5jZWRDb250ZW50X2N1c3RvbV9wYXJhbXNfd3JhcHBlclwnKS5zbGlkZVVwKCk7fX1lbHNle2pRdWVyeShcJyNBZHZhbmNlZENvbnRlbnRfY3VzdG9tX3BhcmFtc193cmFwcGVyIGlucHV0XCcpLnJlbW92ZUF0dHIoXCdkaXNhYmxlZFwnKTtpZihqUXVlcnkoXCcjQWR2YW5jZWRDb250ZW50X2N1c3RvbV9wYXJhbXNfd3JhcHBlclwnKS5jc3MoXCdkaXNwbGF5XCcpID09IFwnbm9uZVwnKXtqUXVlcnkoXCcjQWR2YW5jZWRDb250ZW50X2N1c3RvbV9wYXJhbXNfd3JhcHBlclwnKS5zbGlkZURvd24oKTt9fSIvPjxiciAvPjxiciAvPgoJCQkJCQkJPHNwYW4gaWQ9IkFkdmFuY2VkQ29udGVudF9jdXN0b21fcGFyYW1zX3dyYXBwZXIiIHN0eWxlPSJvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwOycuKCRpbmhlcml0ID8gJ2Rpc3BsYXk6bm9uZScgOicnKS4nIj48aW5wdXQgY2xhc3M9IkFkdmFuY2VkQ29udGVudF9jdXN0b21fcGFyYW1zIiB0eXBlPSJ0ZXh0IiBzaXplPSIzMiIgbWF4bGVuZ3RoPSIxMjgiIG5hbWU9ImN1c3RvbV9wYXJhbXMiIHZhbHVlPSInLigkaW5oZXJpdCA/ICcnIDogJHBhcmFtcykuJyIgJy4oJGluaGVyaXQgPyAnZGlzYWJsZWQ9ImRpc2FibGVkIiAnIDogJycpLicvPiZuYnNwOzxlbT4ocGFyYW0xPXZhbHVlMSBwYXJhbTI9dmFsdWUyIC4uLik8L2VtPjxiciAvPjxiciAvPicuCgkJCQkJCQkkQWR2YW5jZWRDb250ZW50LT5sYW5nKCdldmFsdWF0ZXNtYXJ0eScpIC4gJyA6ICcuCgkJCQkJCQknPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY3VzdG9tX3BhcmFtc19zbWFydHkiIHZhbHVlPSIwIiAnLigkaW5oZXJpdCA/ICdkaXNhYmxlZD0iZGlzYWJsZWQiICcgOiAnJykuJy8+CgkJCQkJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImN1c3RvbV9wYXJhbXNfc21hcnR5IiB2YWx1ZT0iMSIgICcgLiAoJGRvX3NtYXJ0eSA9PSAxICYmICEkaW5oZXJpdCA/ICdjaGVja2VkPSJjaGVja2VkIiAnOicnKSAuICgkaW5oZXJpdCA/ICdkaXNhYmxlZD0iZGlzYWJsZWQiICcgOiAnJykuJy8+PC9zcGFuPjwvc3Bhbj48L3NwYW4+Jyk7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJCgkJCQljYXNlICdmZXVfYWN0aW9uJzoKCQkJCQlpZigkZmV1c2VycyA9JiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKSkKCQkJCQl7CgkJCQkJCWlmKCRhZGRpbmcpCgkJCQkJCXsKCQkJCQkJCSR0aGlzLT5TZXRQcm9wZXJ0eVZhbHVlKCdmZXVfYWN0aW9uJywgJEFkdmFuY2VkQ29udGVudC0+R2V0UHJlZmVyZW5jZSgnZmV1X2FjdGlvbicsMSkpOwoJCQkJCQkJJHRoaXMtPlNldFByb3BlcnR5VmFsdWUoJ2luaGVyaXRfZmV1X3BhcmFtcycsJEFkdmFuY2VkQ29udGVudC0+R2V0UHJlZmVyZW5jZSgnaW5oZXJpdF9mZXVfcGFyYW1zJywnJykpOwoJCQkJCQkJJHRoaXMtPlNldFByb3BlcnR5VmFsdWUoImZldV9wYXJhbXMiLCRBZHZhbmNlZENvbnRlbnQtPkdldFByZWZlcmVuY2UoJ2ZldV9wYXJhbXMnLCcnKSk7CgkJCQkJCQkkdGhpcy0+U2V0UHJvcGVydHlWYWx1ZSgiZmV1X3BhcmFtc19zbWFydHkiLCRBZHZhbmNlZENvbnRlbnQtPkdldFByZWZlcmVuY2UoJ2ZldV9wYXJhbXNfc21hcnR5JywnJykpOwoJCQkJCQl9CgkJCQkJCSRmZXVfYWN0aW9uID0gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJ2ZldV9hY3Rpb24nKTsKCQkJCQkJJGluaGVyaXQgICAgPSAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgnaW5oZXJpdF9mZXVfcGFyYW1zJyk7CgkJCQkJCSRwYXJhbXMgICAgID0gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoImZldV9wYXJhbXMiKTsKCQkJCQkJJGRvX3NtYXJ0eSAgPSAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgiZmV1X3BhcmFtc19zbWFydHkiKTsKCQkJCQkJCgkJCQkJCSRyZXRbXSA9IGFycmF5KCRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJ3Nob3dsb2dpbmZvcm0nKS4nIDogJywKCQkJCQkJCSRBZHZhbmNlZENvbnRlbnQtPkNyZWF0ZUlucHV0RHJvcGRvd24oJycsJ2ZldV9hY3Rpb24nLAoJCQkJCQkJCWFycmF5KCRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJ3llcycpPT4xLAoJCQkJCQkJCQkkQWR2YW5jZWRDb250ZW50LT5sYW5nKCdubycpPT4wLAoJCQkJCQkJCQkkQWR2YW5jZWRDb250ZW50LT5sYW5nKCdpbmhlcml0X2Zyb21fcGFyZW50Jyk9Pi0xKSwKCQkJCQkJCQkwLCRmZXVfYWN0aW9uLAoJCQkJCQkJCSdvbmNoYW5nZT0iaWYodGhpcy52YWx1ZSA9PSAwKXtqUXVlcnkoXCcjQWR2YW5jZWRDb250ZW50X2ZldV9wYXJhbXMgaW5wdXRcJykuYXR0cihcJ2Rpc2FibGVkXCcsXCdkaXNhYmxlZFwnKTtpZihqUXVlcnkoXCcjQWR2YW5jZWRDb250ZW50X2ZldV9wYXJhbXNcJykuY3NzKFwnZGlzcGxheVwnKSAhPSBcJ25vbmVcJyl7alF1ZXJ5KFwnI0FkdmFuY2VkQ29udGVudF9mZXVfcGFyYW1zXCcpLnNsaWRlVXAoKTt9fWVsc2V7alF1ZXJ5KFwnI0FkdmFuY2VkQ29udGVudF9mZXVfcGFyYW1zIGlucHV0XCcpLnJlbW92ZUF0dHIoXCdkaXNhYmxlZFwnKTtpZihqUXVlcnkoXCcjQWR2YW5jZWRDb250ZW50X2ZldV9wYXJhbXNcJykuY3NzKFwnZGlzcGxheVwnKSA9PSBcJ25vbmVcJyl7alF1ZXJ5KFwnI0FkdmFuY2VkQ29udGVudF9mZXVfcGFyYW1zXCcpLnNsaWRlRG93bigpO319IicpLgoJCQkJCQkJCSc8YnIgLz48c3BhbiBpZD0iQWR2YW5jZWRDb250ZW50X2ZldV9wYXJhbXMiIHN0eWxlPSJvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwOycuKCEkZmV1X2FjdGlvbiA/ICdkaXNwbGF5Om5vbmUnIDonJykuJyI+PGJyIC8+PHN0cm9uZz4nIC4gJEFkdmFuY2VkQ29udGVudC0+bGFuZygnZmV1X3BhcmFtcycpLicgOiA8L3N0cm9uZz48YnIgLz4KCQkJCQkJCQk8c3BhbiBjbGFzcz0iQWR2YW5jZWRDb250ZW50X2ZldV9wYXJhbXMiIHN0eWxlPSJvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwOyI+Jy4kQWR2YW5jZWRDb250ZW50LT5sYW5nKCdpbmhlcml0X2Zyb21fcGFyZW50JykgLiAnIDogJyAuCgkJCQkJCQkJJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iaW5oZXJpdF9mZXVfcGFyYW1zIiB2YWx1ZT0iMSIgJyAuICgkaW5oZXJpdCA/ICdjaGVja2VkPSJjaGVja2VkIic6JycpIC4gJyBvbmNoYW5nZT0iaWYodGhpcy5jaGVja2VkKXtqUXVlcnkoXCcjQWR2YW5jZWRDb250ZW50X2ZldV9wYXJhbXNfd3JhcHBlciBpbnB1dFwnKS5hdHRyKFwnZGlzYWJsZWRcJyxcJ2Rpc2FibGVkXCcpO2lmKGpRdWVyeShcJyNBZHZhbmNlZENvbnRlbnRfZmV1X3BhcmFtc193cmFwcGVyXCcpLmNzcyhcJ2Rpc3BsYXlcJykgIT0gXCdub25lXCcpe2pRdWVyeShcJyNBZHZhbmNlZENvbnRlbnRfZmV1X3BhcmFtc193cmFwcGVyXCcpLnNsaWRlVXAoKTt9fWVsc2V7alF1ZXJ5KFwnI0FkdmFuY2VkQ29udGVudF9mZXVfcGFyYW1zX3dyYXBwZXIgaW5wdXRcJykucmVtb3ZlQXR0cihcJ2Rpc2FibGVkXCcpO2lmKGpRdWVyeShcJyNBZHZhbmNlZENvbnRlbnRfZmV1X3BhcmFtc193cmFwcGVyXCcpLmNzcyhcJ2Rpc3BsYXlcJykgPT0gXCdub25lXCcpe2pRdWVyeShcJyNBZHZhbmNlZENvbnRlbnRfZmV1X3BhcmFtc193cmFwcGVyXCcpLnNsaWRlRG93bigpO319Ii8+PGJyIC8+PGJyIC8+CgkJCQkJCQkJPHNwYW4gaWQ9IkFkdmFuY2VkQ29udGVudF9mZXVfcGFyYW1zX3dyYXBwZXIiIHN0eWxlPSJvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwOycuKCRpbmhlcml0ID8gJ2Rpc3BsYXk6bm9uZScgOicnKS4nIj48aW5wdXQgY2xhc3M9IkFkdmFuY2VkQ29udGVudF9mZXVfcGFyYW1zIiB0eXBlPSJ0ZXh0IiBzaXplPSIzMiIgbWF4bGVuZ3RoPSIxMjgiIG5hbWU9ImZldV9wYXJhbXMiIHZhbHVlPSInLigkaW5oZXJpdCA/ICcnIDogJHBhcmFtcykuJyIgJy4oJGluaGVyaXQgPyAnZGlzYWJsZWQ9ImRpc2FibGVkIiAnIDogJycpLicvPiZuYnNwOzxlbT4ocGFyYW0xPXZhbHVlMSBwYXJhbTI9dmFsdWUyIC4uLik8L2VtPjxiciAvPjxiciAvPicuCgkJCQkJCQkJJEFkdmFuY2VkQ29udGVudC0+bGFuZygnZXZhbHVhdGVzbWFydHknKSAuICcgOiAnLgoJCQkJCQkJCSc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmZXVfcGFyYW1zX3NtYXJ0eSIgdmFsdWU9IjAiICcuKCRpbmhlcml0ID8gJ2Rpc2FibGVkPSJkaXNhYmxlZCIgJyA6ICcnKS4nLz4KCQkJCQkJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImZldV9wYXJhbXNfc21hcnR5IiB2YWx1ZT0iMSIgICcgLiAoJGRvX3NtYXJ0eSA9PSAxICYmICEkaW5oZXJpdCA/ICdjaGVja2VkPSJjaGVja2VkIiAnOicnKSAuICgkaW5oZXJpdCA/ICdkaXNhYmxlZD0iZGlzYWJsZWQiICcgOiAnJykuJy8+PC9zcGFuPjwvc3Bhbj48L3NwYW4+Jyk7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJCgkJCQljYXNlICd1c2VfZXhwaXJlX2RhdGUnOgoJCQkJCWlmKCRhZGRpbmcpCgkJCQkJewoJCQkJCQkkdXNlRXhwICAgID0gJEFkdmFuY2VkQ29udGVudC0+R2V0UHJlZmVyZW5jZSgndXNlX2V4cGlyZV9kYXRlJyxmYWxzZSk7CgkJCQkJCSRzdGFydERhdGUgPSBzdHJ0b3RpbWUoJysnIC4gJEFkdmFuY2VkQ29udGVudC0+R2V0UHJlZmVyZW5jZSgic3RhcnRfZGF0ZSIsJzEgd2VlaycpKTsKCQkJCQkJJGVuZERhdGUgICA9IHN0cnRvdGltZSgnKycgLiAkQWR2YW5jZWRDb250ZW50LT5HZXRQcmVmZXJlbmNlKCJlbmRfZGF0ZSIsJzEgd2VlaycpLCAkc3RhcnREYXRlKTsKCQkJCQl9CgkJCQkJZWxzZQoJCQkJCXsKCQkJCQkJJHVzZUV4cCAgICA9ICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCd1c2VfZXhwaXJlX2RhdGUnKTsKCQkJCQkJJHN0YXJ0RGF0ZSA9ICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCdzdGFydF9kYXRlJykgPyAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgnc3RhcnRfZGF0ZScpIDogc3RydG90aW1lKCcrJyAuICRBZHZhbmNlZENvbnRlbnQtPkdldFByZWZlcmVuY2UoInN0YXJ0X2RhdGUiLCcxIHdlZWsnKSk7CgkJCQkJCSRlbmREYXRlICAgPSAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgnZW5kX2RhdGUnKSA/ICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCdlbmRfZGF0ZScpIDogc3RydG90aW1lKCcrJyAuICRBZHZhbmNlZENvbnRlbnQtPkdldFByZWZlcmVuY2UoImVuZF9kYXRlIiwnMSB3ZWVrJyksICRzdGFydERhdGUpOwoJCQkJCX0KCQkJCQkkZGF0ZSAgICAgICAgPSBzdHJmdGltZSgnJXgnLCBpbnR2YWwoJHN0YXJ0RGF0ZSkpOwoJCQkJCSR0aW1lICAgICAgICA9IHN0cmZ0aW1lKCclSDolTScsIGludHZhbCgkc3RhcnREYXRlKSk7CgkJCQkJJF90bXAgICAgICAgID0gJHRoaXMtPkNsZWFuQXJyYXkoZXhwbG9kZSgnOicsJHRpbWUpKTsKCQkJCQkkdGltZVNlY29uZHMgPSAoKCRfdG1wWzBdICogMzYwMCkgKyAoJF90bXBbMV0gKiA2MCkpOwoJCQkJCSRkYXRlU2Vjb25kcyA9ICRzdGFydERhdGUgLSAkdGltZVNlY29uZHM7CgkJCQkJCgkJCQkJJGRhdGVJbnB1dCA9ICc8YnIgLz48YnIgLz4KCQkJCQkJPHNwYW4gaWQ9IkFkdmFuY2VkQ29udGVudF9leHBpcmVfZGF0ZV93cmFwcGVyIiBzdHlsZT0ib3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDsnLigkdXNlRXhwIDw9IDAgPyAnZGlzcGxheTpub25lJyA6ICcnKS4nIj48c3Ryb25nPicuCgkJCQkJCSRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJ3N0YXJ0ZGF0ZScpLicgOiA8L3N0cm9uZz48YnIgLz4KCQkJCQkJPGltZyBpZD0iQWR2YW5jZWRDb250ZW50U3RhcnREYXRlUGlja2VyVHJpZ2dlciIgc3JjPSIuLi9tb2R1bGVzL0FkdmFuY2VkQ29udGVudC9pbWFnZXMvY2FsZW5kYXIucG5nIiBjbGFzcz0iY2FsZW5kYXJUcmlnZ2VyIiAvPiZuYnNwOwoJCQkJCQk8c3BhbiBpZD0iQWR2YW5jZWRDb250ZW50U3RhcnREYXRlUGlja2VyRGlzcGxheSI+Jy4kZGF0ZS4nPC9zcGFuPiZuYnNwOyZuYnNwOy0mbmJzcDsmbmJzcDsKCQkJCQkJPGlucHV0IGlkPSJBZHZhbmNlZENvbnRlbnRTdGFydERhdGUiIHR5cGU9ImhpZGRlbiIgJy4oJHVzZUV4cCA8PSAwID8gJ2Rpc2FibGVkPSJkaXNhYmxlZCInIDogJycpLicgbmFtZT0iQWR2YW5jZWRDb250ZW50U3RhcnREYXRlIiB2YWx1ZT0iJy4oJHVzZUV4cCA+IDAgPyAkZGF0ZVNlY29uZHMgOiAkdXNlRXhwKS4nIiAvPgoJCQkJCQk8c2VsZWN0IG5hbWU9IkFkdmFuY2VkQ29udGVudFN0YXJ0VGltZSIgJy4oJHVzZUV4cCA8PSAwID8gJ2Rpc2FibGVkPSJkaXNhYmxlZCInIDogJycpLic+JzsKCQkJCQkJCgkJCQkJZm9yKCRpPTA7ICRpPD0yMzsgJGkrKykKCQkJCQl7CgkJCQkJCWZvcigkaj0wOyAkajw9NTk7ICRqKyspCgkJCQkJCXsKCQkJCQkJCSR2YWx1ZSA9ICgkaSozNjAwKSArICgkaio2MCk7CgkJCQkJCQkkZGF0ZUlucHV0IC49ICc8b3B0aW9uIHZhbHVlPSInLiAkdmFsdWUgLiciJy4gKCR2YWx1ZSA9PSAkdGltZVNlY29uZHMgJiYgJHVzZUV4cCA+IDAgPyAnIHNlbGVjdGVkPSJzZWxlY3RlZCIgJzonJykgLiAnPicuICgkaTwxMD8nMCcuJGk6JGkpIC4nOicuICgkajwxMD8nMCcuJGo6JGopIC4nPC9vcHRpb24+JzsKCQkJCQkJfQoJCQkJCQkkaiA9IDA7CgkJCQkJfQoJCQkJCSRkYXRlSW5wdXQgLj0gJzwvc2VsZWN0PjxiciAvPjxiciAvPic7CgkJCQkJCgkJCQkJJGRhdGUgICAgICAgID0gc3RyZnRpbWUoJyV4JywgaW50dmFsKCRlbmREYXRlKSk7CgkJCQkJJHRpbWUgICAgICAgID0gc3RyZnRpbWUoJyVIOiVNJywgaW50dmFsKCRlbmREYXRlKSk7CgkJCQkJJF90bXAgICAgICAgID0gJHRoaXMtPkNsZWFuQXJyYXkoZXhwbG9kZSgnOicsJHRpbWUpKTsKCQkJCQkkdGltZVNlY29uZHMgPSAoKCRfdG1wWzBdICogMzYwMCkgKyAoJF90bXBbMV0gKiA2MCkpOwoJCQkJCSRkYXRlU2Vjb25kcyA9ICRlbmREYXRlIC0gJHRpbWVTZWNvbmRzOwoJCQkJCQoJCQkJCSRkYXRlSW5wdXQgLj0gJzxzdHJvbmc+JyAuICRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJ2VuZGRhdGUnKS4nIDogPC9zdHJvbmc+PGJyIC8+CgkJCQkJCTxpbWcgaWQ9IkFkdmFuY2VkQ29udGVudEVuZERhdGVQaWNrZXJUcmlnZ2VyIiBzcmM9Ii4uL21vZHVsZXMvQWR2YW5jZWRDb250ZW50L2ltYWdlcy9jYWxlbmRhci5wbmciIGNsYXNzPSJjYWxlbmRhclRyaWdnZXIiIC8+Jm5ic3A7CgkJCQkJCTxzcGFuIGlkPSJBZHZhbmNlZENvbnRlbnRFbmREYXRlUGlja2VyRGlzcGxheSI+Jy4kZGF0ZS4nPC9zcGFuPiZuYnNwOyZuYnNwOy0mbmJzcDsmbmJzcDsKCQkJCQkJPGlucHV0IGlkPSJBZHZhbmNlZENvbnRlbnRFbmREYXRlIiB0eXBlPSJoaWRkZW4iICcuKCR1c2VFeHAgPD0gMCA/ICdkaXNhYmxlZD0iZGlzYWJsZWQiJyA6ICcnKS4nIG5hbWU9IkFkdmFuY2VkQ29udGVudEVuZERhdGUiIHZhbHVlPSInLigkdXNlRXhwID4gMCA/ICRkYXRlU2Vjb25kcyA6ICR1c2VFeHApLiciIC8+CgkJCQkJCTxzZWxlY3QgbmFtZT0iQWR2YW5jZWRDb250ZW50RW5kVGltZSIgJy4oJHVzZUV4cCA8PSAwID8gJ2Rpc2FibGVkPSJkaXNhYmxlZCInIDogJycpLic+JzsKCQkJCQkJCgkJCQkJZm9yKCRpPTA7ICRpPD0yMzsgJGkrKykKCQkJCQl7CgkJCQkJCWZvcigkaj0wOyAkajw9NTk7ICRqKyspCgkJCQkJCXsKCQkJCQkJCSR2YWx1ZSA9ICgkaSozNjAwKSArICgkaio2MCk7CgkJCQkJCQkkZGF0ZUlucHV0IC49ICc8b3B0aW9uIHZhbHVlPSInLiAkdmFsdWUgLiciJy4gKCR2YWx1ZSA9PSAkdGltZVNlY29uZHMgJiYgJHVzZUV4cCA+IDAgPyAnIHNlbGVjdGVkPSJzZWxlY3RlZCInOicnKSAuJz4nLiAoJGk8MTA/JzAnLiRpOiRpKSAuJzonLiAoJGo8MTA/JzAnLiRqOiRqKSAuJzwvb3B0aW9uPic7CgkJCQkJCX0KCQkJCQkJJGogPSAwOwoJCQkJCX0KCQkJCQkkZGF0ZUlucHV0IC49ICc8L3NlbGVjdD48L3NwYW4+JzsKCQkJCQkKCQkJCQkkcmV0W10gPSBhcnJheSgkQWR2YW5jZWRDb250ZW50LT5sYW5nKCd1c2VleHBpcmVkYXRlJykgLiAnOicsCgkJCQkJCSRBZHZhbmNlZENvbnRlbnQtPkNyZWF0ZUlucHV0RHJvcGRvd24oJycsJ3VzZV9leHBpcmVfZGF0ZScsCgkJCQkJCQkJYXJyYXkoJEFkdmFuY2VkQ29udGVudC0+bGFuZygneWVzJyk9PjEsCgkJCQkJCQkJCSRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJ25vJyk9PjAsCgkJCQkJCQkJCSRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJ2luaGVyaXRfZnJvbV9wYXJlbnQnKT0+LTEpLAoJCQkJCQkJCS0xLCR1c2VFeHAsJ29uY2hhbmdlPSJpZih0aGlzLnZhbHVlICE9IFwnMVwnKXtqUXVlcnkoXCcjQWR2YW5jZWRDb250ZW50X2V4cGlyZV9kYXRlX3dyYXBwZXIgaW5wdXQsICNBZHZhbmNlZENvbnRlbnRfZXhwaXJlX2RhdGVfd3JhcHBlciBzZWxlY3QsICNBZHZhbmNlZENvbnRlbnRfZXhwaXJlX2RhdGVfd3JhcHBlciB0ZXh0YXJlYVwnKS5hdHRyKFwnZGlzYWJsZWRcJyxcJ2Rpc2FibGVkXCcpO2lmKGpRdWVyeShcJyNBZHZhbmNlZENvbnRlbnRfZXhwaXJlX2RhdGVfd3JhcHBlclwnKS5jc3MoXCdkaXNwbGF5XCcpICE9IFwnbm9uZVwnKXtqUXVlcnkoXCcjQWR2YW5jZWRDb250ZW50X2V4cGlyZV9kYXRlX3dyYXBwZXJcJykuc2xpZGVVcCgpO319ZWxzZXtqUXVlcnkoXCcjQWR2YW5jZWRDb250ZW50X2V4cGlyZV9kYXRlX3dyYXBwZXIgaW5wdXQsICNBZHZhbmNlZENvbnRlbnRfZXhwaXJlX2RhdGVfd3JhcHBlciBzZWxlY3QsICNBZHZhbmNlZENvbnRlbnRfZXhwaXJlX2RhdGVfd3JhcHBlciB0ZXh0YXJlYVwnKS5yZW1vdmVBdHRyKFwnZGlzYWJsZWRcJyk7aWYoalF1ZXJ5KFwnI0FkdmFuY2VkQ29udGVudF9leHBpcmVfZGF0ZV93cmFwcGVyXCcpLmNzcyhcJ2Rpc3BsYXlcJykgPT0gXCdub25lXCcpe2pRdWVyeShcJyNBZHZhbmNlZENvbnRlbnRfZXhwaXJlX2RhdGVfd3JhcHBlclwnKS5zbGlkZURvd24oKTt9fSInKSAuICRkYXRlSW5wdXQpOwoJCQkJCQoJCQkJCWJyZWFrOwoJCQkJCQoJCQkJY2FzZSAnaGlkZV9tZW51X2l0ZW0nOgoJCQkJCWlmKCRmZXVzZXJzID0mIGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpKQoJCQkJCXsKCQkJCQkJaWYoJGFkZGluZykKCQkJCQkJewoJCQkJCQkJJGhpZGUgPSAkQWR2YW5jZWRDb250ZW50LT5HZXRQcmVmZXJlbmNlKCdoaWRlX21lbnVfaXRlbScsMCk7CgkJCQkJCX0KCQkJCQkJZWxzZQoJCQkJCQl7CgkJCQkJCQkkaGlkZSA9ICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCdoaWRlX21lbnVfaXRlbScpOwoJCQkJCQl9CgkJCQkJCSRyZXRbXSA9IGFycmF5KCRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJ2hpZGVfbWVudV9pdGVtJykgLiAnOicsCgkJCQkJCQkkQWR2YW5jZWRDb250ZW50LT5DcmVhdGVJbnB1dERyb3Bkb3duKCcnLCdoaWRlX21lbnVfaXRlbScsCgkJCQkJCQkJYXJyYXkoJEFkdmFuY2VkQ29udGVudC0+bGFuZygnbm8nKT0+MCwKCQkJCQkJCQkJJEFkdmFuY2VkQ29udGVudC0+bGFuZygnbG9nZ2Vkb3V0Jyk9PjEsCgkJCQkJCQkJCSRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJ2xvZ2dlZGluJyk9PjIsCgkJCQkJCQkJCSRBZHZhbmNlZENvbnRlbnQtPmxhbmcoJ2luaGVyaXRfZnJvbV9wYXJlbnQnKT0+LTEpLAoJCQkJCQkJCTAsJGhpZGUpKTsKCQkJCQl9CgkJCQkJYnJlYWs7CgkJCQkKCQkJCWRlZmF1bHQ6YnJlYWs7CgkJCX0KCQl9CgkJcmV0dXJuICRyZXQ7Cgl9CgkKCQoJLyoqCgkgKiBUaGlzIGlzIGp1c3QgYSB3cmFwcGVyIHRvIHByb2Nlc3MgYSB0ZW1wbGF0ZSBmcm9tIGRhdGEKCSAqIEBwYXJhbSBzdHJpbmcgJGRhdGEgLSBUaGUgdGVtcGxhdGUgY29udGVudCB0byBwcm9jZXNzCgkgKiBAcmV0dXJuIHN0cmluZyAtIFRoZSBwcm9jZXNzZWQgdGVtcGxhdGUgZGF0YQoJICovCglmdW5jdGlvbiBEb1NtYXJ0eSgkZGF0YSkKCXsKCQlpZihpc19hcnJheSgkZGF0YSkpCgkJewoJCQlmb3JlYWNoKCRkYXRhIGFzICRrID0+ICR2KQoJCQl7CgkJCQkkZGF0YVska10gPSAkdGhpcy0+RG9TbWFydHkoJHYpOwoJCQl9CgkJfQoJCWlmKCFpc19hcnJheSgkZGF0YSkgJiYgIWlzX29iamVjdCgkZGF0YSkgJiYgcHJlZ19tYXRjaF9hbGwoJy86OjooW146XSspOjo6LycsICRkYXRhLCAkbWF0Y2hlcykpCgkJewoJCQkkQWR2YW5jZWRDb250ZW50ID0mIGNtc191dGlsczo6Z2V0X21vZHVsZSgnQWR2YW5jZWRDb250ZW50Jyk7CgkJCSRBZHZhbmNlZENvbnRlbnQtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignY29udGVudF9vYmonLCAkdGhpcyk7CgkJCSRBZHZhbmNlZENvbnRlbnQtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZignY29udGVudF9pZCcsICR0aGlzLT5tSWQpOwoJCQkkQWR2YW5jZWRDb250ZW50LT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2NvbnRlbnRfYWxpYXMnLCAkdGhpcy0+bUFsaWFzKTsKCQkJJEFkdmFuY2VkQ29udGVudC0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdwYWdlJywgJHRoaXMtPm1BbGlhcyk7CgkJCSRBZHZhbmNlZENvbnRlbnQtPnNtYXJ0eS0+YXNzaWduX2J5X3JlZigncGFnZV9pZCcsICR0aGlzLT5tQWxpYXMpOwoJCQkkQWR2YW5jZWRDb250ZW50LT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ3BhZ2VfYWxpYXMnLCAkdGhpcy0+bUFsaWFzKTsKCQkJJEFkdmFuY2VkQ29udGVudC0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdwYWdlX25hbWUnLCAkdGhpcy0+bUFsaWFzKTsKCQkJJEFkdmFuY2VkQ29udGVudC0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCdwb3NpdGlvbicsICR0aGlzLT5tSGllcmFyY2h5KTsKCQkJJEFkdmFuY2VkQ29udGVudC0+c21hcnR5LT5hc3NpZ24oJ2ZyaWVuZGx5X3Bvc2l0aW9uJywgY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKS0+Q3JlYXRlRnJpZW5kbHlIaWVyYXJjaHlQb3NpdGlvbigkdGhpcy0+bUhpZXJhcmNoeSkpOwoJCQkkZGF0YSA9ICRBZHZhbmNlZENvbnRlbnQtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKHByZWdfcmVwbGFjZSgnLzo6OihbXjpdKyk6OjovJywgJ3skMX0nLCAkZGF0YSkpOwoJCX0KCQlyZXR1cm4gJGRhdGE7Cgl9CgkKCWZ1bmN0aW9uIEluaGVyaXRQYXJlbnRQcm9wKCRwcm9wTmFtZSwgJGN1cnJlbnRQcm9wID0gYXJyYXkoKSkKCXsKCQlyZXR1cm4gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdBZHZhbmNlZENvbnRlbnQnKS0+SW5oZXJpdFBhcmVudFByb3AoJHRoaXMtPm1JZCwgJHRoaXMtPm1QYXJlbnRJZCwgJHByb3BOYW1lLCAkY3VycmVudFByb3ApOwoJfQoJCgkvKioKCSAqIEdldCB0aGUgZ3JvdXBzIG9mIHRoZSBiYWNrZW5kIHVzZXIKCSAqIEByZXR1cm4gYXJyYXkKCSAqIEBhY2Nlc3MgcHJpdmF0ZQoJICovCglwcml2YXRlIGZ1bmN0aW9uICZHZXRVc2VyR3JvdXBzKCkKCXsKCQlpZighJHRoaXMtPl91c2VyR3JvdXBzKQoJCXsKCQkJJGRiID0mIGNtc21zKCktPkdldERiKCk7CgkJCSR0aGlzLT5fdXNlckdyb3VwcyA9IGFycmF5KCk7CgkJCSRxdWVyeSA9ICJTRUxFQ1QgZ3JvdXBfaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4idXNlcl9ncm91cHMgV0hFUkUgdXNlcl9pZCA9ID8iOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheShnZXRfdXNlcmlkKCkpKTsKCQkJd2hpbGUoICRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkKCQkJewoJCQkJJHRoaXMtPl91c2VyR3JvdXBzW10gPSAkcm93Wydncm91cF9pZCddICogLTE7CgkJCX0KCQl9CgkJcmV0dXJuICR0aGlzLT5fdXNlckdyb3VwczsKCX0KCQoJCgkvKioKCSAqIEdldCBhbGwgYmFja2VuZCBncm91cHMKCSAqIEByZXR1cm4gYXJyYXkKCSAqIEBhY2Nlc3MgcHJpdmF0ZQoJICovCglwcml2YXRlIGZ1bmN0aW9uICZHZXRBbGxHcm91cHMoKQoJewoJCWlmKCEkdGhpcy0+X2FsbEdyb3VwcykKCQl7CgkJCSRncm91cE9wcyAgICAgICAgID0mIGNtc21zKCktPkdldEdyb3VwT3BlcmF0aW9ucygpOwoJCQkkdGhpcy0+X2FsbEdyb3VwcyA9ICRncm91cE9wcy0+TG9hZEdyb3VwcygpOwoJCX0KCQlyZXR1cm4gJHRoaXMtPl9hbGxHcm91cHM7Cgl9CgkKCQoJLyoqCgkgKiBHZXQgYWxsIGJhY2tlbmQgdXNlcnMKCSAqIEByZXR1cm4gYXJyYXkKCSAqIEBhY2Nlc3MgcHJpdmF0ZQoJICovCglwcml2YXRlIGZ1bmN0aW9uICZHZXRBbGxVc2VycygpCgl7CgkJaWYoISR0aGlzLT5fYWxsVXNlcnMpCgkJewoJCQkkdXNlck9wcyAgICAgICAgID0mIGNtc21zKCktPkdldFVzZXJPcGVyYXRpb25zKCk7CgkJCSR0aGlzLT5fYWxsVXNlcnMgPSYgJHVzZXJPcHMtPkxvYWRVc2VycygpOwoJCX0KCQlyZXR1cm4gJHRoaXMtPl9hbGxVc2VyczsKCX0KCQoJCgkvKioKCSAqIENoZWNrcyBpZiBhIGJhY2tlbmQgdXNlciBoYXMgc3VmZmljaWVudCBwZXJtaXNzaW9uIHRvIGVkaXQgYSBibG9jawoJICogQHBhcmFtIGFycmF5ICRibG9ja0luZm8gLSB0aGUgYmxvY2sgdG8gY2hlY2sgdGhlIHBlcnNtaXNzaW9uCgkgKiBAcmV0dXJuIGJvb2xlYW4KCSAqIEBhY2Nlc3MgcHJpdmF0ZQoJICovCglwcml2YXRlIGZ1bmN0aW9uIENoZWNrQmxvY2tQZXJtaXNzaW9uKCYkYmxvY2tJbmZvKQoJewoJCSRhZGR0X2VkaXRvcnMgPSBhcnJheSgpOwoJCSMgY2hlY2sgaWYgdXNlciBoYXMgcGVybWlzc2lvbiB0byBlZGl0IHRoaXMgYmxvY2sKCQlpZigoJGJsb2NrSW5mb1snZWRpdG9yX3VzZXJzJ10gIT0gJycgfHwgJGJsb2NrSW5mb1snZWRpdG9yX2dyb3VwcyddICE9ICcnKQoJCQkmJiAhY2hlY2tfcGVybWlzc2lvbihnZXRfdXNlcmlkKCksICdNYW5hZ2UgQWxsIEFkdmFuY2VkQ29udGVudCBCbG9ja3MnKSkKCQl7CgkJCSRlZGl0b3JHcm91cHMgPSAgJHRoaXMtPkNsZWFuQXJyYXkoZXhwbG9kZSgnLCcsJGJsb2NrSW5mb1snZWRpdG9yX2dyb3VwcyddKSk7CgkJCSRlZGl0b3JVc2VycyAgPSAgJHRoaXMtPkNsZWFuQXJyYXkoZXhwbG9kZSgnLCcsJGJsb2NrSW5mb1snZWRpdG9yX3VzZXJzJ10pKTsKCQkJZm9yZWFjaCAoJHRoaXMtPkdldEFsbEdyb3VwcygpIGFzICRvbmVHcm91cCkKCQkJewoJCQkJaWYoaW5fYXJyYXkoJG9uZUdyb3VwLT5uYW1lLCRlZGl0b3JHcm91cHMpKQoJCQkJewoJCQkJCSRhZGR0X2VkaXRvcnNbXSA9ICRvbmVHcm91cC0+aWQqLTE7CgkJCQl9CgkJCX0KCQkJCgkJCWZvcmVhY2ggKCR0aGlzLT5HZXRBbGxVc2VycygpIGFzICRvbmVVc2VyKQoJCQl7CgkJCQlpZihpbl9hcnJheSgkb25lVXNlci0+dXNlcm5hbWUsJGVkaXRvclVzZXJzKSkKCQkJCXsKCQkJCQkkYWRkdF9lZGl0b3JzW10gPSAkb25lVXNlci0+aWQ7CgkJCQl9CgkJCX0KCQkJCgkJCWlmKCFpbl9hcnJheShnZXRfdXNlcmlkKCksJGFkZHRfZWRpdG9ycykKCQkJCSYmICFjb3VudChhcnJheV9pbnRlcnNlY3QoJHRoaXMtPkdldFVzZXJHcm91cHMoKSwkYWRkdF9lZGl0b3JzKSkpCgkJCXsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQlyZXR1cm4gdHJ1ZTsKCX0KCQoJCgkvKioKCSAqIGNoZWNrcyBpZiBhIHZhciBpcyByZWFsbHkgZW1wdHkuIAoJICogaWYgdmFyIGlzIGFuIGFycmF5IGl0IHJlY3Vyc2l2bGV5IGNoZWNrcyBhbGwgZWxlbWVudHMKCSAqCgkgKiBAcGFyYW0gbWl4ZWQgJHZhciAtIHRoZSB2YXIgdG8gY2hlY2sgZm9yIGVtcHR5IHZhbHVlKHMpCgkgKiBAcGFyYW0gYm9vbGVhbiAkdHJpbSAtIHRydWUgdG8gdHJpbSBvZmYgc3BhY2VzCgkgKiBAcGFyYW0gYm9vbGVhbiAkdW5zZXRFbXB0eUluZGV4ZXMgLSB0cnVlIHRvIGRlbGV0ZSBlbXB0eSBlbGVtZW50cyBmcm9tIGFycmF5CgkgKiBAcmV0dXJuIGJvb2xlYW4gLSB0cnVlIGlmIGVtcHR5LCBmYWxzZSBpZiBub3QKCSAqLwoJZnVuY3Rpb24gSXNWYXJFbXB0eSgmJHZhciwgJHRyaW0gPSB0cnVlLCAkdW5zZXRFbXB0eUluZGV4ZXMgPSBmYWxzZSkKCXsKCQlpZiAoaXNfYXJyYXkoJHZhcikpCgkJewoJCQlmb3JlYWNoICgkdmFyIGFzICRrPT4kdikKCQkJewoJCQkJaWYgKCEkdGhpcy0+SXNWYXJFbXB0eSgkdikpCgkJCQl7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCWlmKCR1bnNldEVtcHR5SW5kZXhlcykKCQkJCQl7CgkJCQkJCXVuc2V0KCR2YXJbJGtdKTsKCQkJCQl9CgkJCQkJcmV0dXJuIHRydWU7CgkJCQl9CgkJCX0KCQl9CgkJZWxzZSBpZigkdHJpbSAmJiB0cmltKCR2YXIpID09ICcnKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCWVsc2UgaWYoJHZhciA9PSAnJykKCQl7CgkJCXJldHVybiB0cnVlOwoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9CgkKCQoJLyoqCgkgKiBmdW5jdGlvbiBDbGVhbkFycmF5KCRhcnJheSkKCSAqIG5vdCBwYXJ0IG9mIHRoZSBtb2R1bGUgYXBpCgkgKiByZW1vdmVzIGVtcHR5IGVsZW1lbnRzIGZyb20gYW4gYXJyYXkKCSAqIChjYW4gYmUgdXNlZnVsIHdoZW4gdXNpbmcgZnVuY3Rpb24gZXhwbG9kZSB0byBjcmVhdGUgdGhlIGFycmF5IG9mIGEgY3N2KQoJICoKCSAqIEBwYXJhbSBhcnJheSAkYXJyYXkgLSB0aGUgYXJyYXkgdG8gY2xlYW4gdXAKCSAqIEByZXR1cm4gYXJyYXkgLSBhbiBhcnJheSB3aXRob3V0IGVtcHR5IGVsZW1lbnRzIG9yIGFuIGVtcHR5IGFycmF5CgkgKi8KCWZ1bmN0aW9uIENsZWFuQXJyYXkoJGFycmF5KQoJewoJCWlmICghaXNfYXJyYXkoJGFycmF5KSkKCQl7CgkJCXJldHVybiBhcnJheSgpOwoJCX0KCQlmb3JlYWNoICgkYXJyYXkgYXMgJGs9PiR2KQoJCXsKCQkJaWYgKCR0aGlzLT5Jc1ZhckVtcHR5KCR2LHRydWUsdHJ1ZSkpCgkJCXsKCQkJCXVuc2V0KCRhcnJheVska10pOwoJCQl9CgkJCWVsc2UgaWYoaXNfYXJyYXkoJHYpKQoJCQl7CgkJCQkkdiA9ICR0aGlzLT5DbGVhbkFycmF5KCR2KTsKCQkJCWlmKCR0aGlzLT5Jc1ZhckVtcHR5KCR2LHRydWUsdHJ1ZSkpCgkJCQl7CgkJCQkJdW5zZXQoJGFycmF5WyRrXSk7CgkJCQl9CgkJCQllbHNlCgkJCQl7CgkJCQkJJGFycmF5WyRrXSA9ICR2OwoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiAkYXJyYXk7Cgl9CgkKCQoJLyoqCgkgKiBjaGVja3MgaWYgYSB2YWx1ZSBpcyByZWFsbHkgbWVhbnQgdG8gYmUgInRydWUiCgkgKgoJICogQHBhcmFtIG1peGVkICR2YWx1ZSAtIHRoZSB2YWx1ZSB0byBjaGVjawoJICogQHJldHVybiBib29sCgkgKi8KCWZ1bmN0aW9uIElzVHJ1ZSgkdmFsdWUpCgl7CgkJcmV0dXJuIChzdHJ0b2xvd2VyKCR2YWx1ZSkgPT09ICd0cnVlJyB8fCAkdmFsdWUgPT09IDEgfHwgJHZhbHVlID09PSAnMScgfHwgJHZhbHVlID09PSB0cnVlKTsKCX0KCQoJCgkvKioKCSAqIGNoZWNrcyBpZiBhIHZhbHVlIGlzIHJlYWxseSBtZWFudCB0byBiZSAiZmFsc2UiCgkgKgoJICogQHBhcmFtIG1peGVkICR2YWx1ZSAtIHRoZSB2YWx1ZSB0byBjaGVjawoJICogQHJldHVybiBib29sCgkgKi8KCWZ1bmN0aW9uIElzRmFsc2UoJHZhbHVlKQoJewoJCXJldHVybiAoc3RydG9sb3dlcigkdmFsdWUpID09PSAnZmFsc2UnIHx8ICR2YWx1ZSA9PT0gJzAnIHx8ICR2YWx1ZSA9PT0gMCB8fCAkdmFsdWUgPT09IGZhbHNlIHx8ICR2YWx1ZSA9PT0gJycpOwoJfQoJCgkKCS8qKgoJICogQ2hlY2tzIGlmIGEgZnJvbnRlbmQgdXNlciBpcyBsb2dnZWQgaW4gYW5kIGJlbG9uZ3MgdG8gYSBjZXJ0YWluIGdyb3VwCgkgKgoJICogQHBhcmFtIGFycmF5fHN0cmluZyAkZmV1X2dyb3VwcyAtIHRoZSBhbGxvd2VkIGZyb250ZW5kIHVzZXIgZ3JvdXBzIHRoZSB1c2VyIHNob3VsZCBiZWxvbmcgdG8gKGFycmF5IG9yIGNzdikKCSAqIEByZXR1cm4gYm9vbAoJICovCglmdW5jdGlvbiBDaGVja0Zyb250ZW5kQWNjZXNzKCRmZXVfZ3JvdXBzKQoJewoJCSRhY2Nlc3MgPSB0cnVlOwoJCWlmKCFpc19hcnJheSgkZmV1X2dyb3VwcykpCgkJewoJCQkkZmV1X2dyb3VwcyA9ICR0aGlzLT5DbGVhbkFycmF5KGV4cGxvZGUoJywnLCRmZXVfZ3JvdXBzKSk7CgkJfQoJCWlmKCAkZmV1c2VycyA9JiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKSAmJiAhZW1wdHkoJGZldV9ncm91cHMpKQoJCXsKCQkJJGFjY2VzcyA9IGZhbHNlOwoJCQkkdXNlcmlkID0gJGZldXNlcnMtPkxvZ2dlZEluSWQoKTsKCQkJaWYoJHVzZXJpZCAmJiAkZ3JvdXBzID0mICR0aGlzLT5HZXRGZXVHcm91cHMoJHVzZXJpZCkpCgkJCXsKCQkJCWZvcmVhY2goJGdyb3VwcyBhcyAkb25lZ3JvdXApCgkJCQl7CgkJCQkJaWYoaW5fYXJyYXkoJG9uZWdyb3VwWydncm91cGlkJ10sJGZldV9ncm91cHMpKQoJCQkJCXsKCQkJCQkJJGFjY2VzcyA9IHRydWU7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCQlyZXR1cm4gJGFjY2VzczsKCX0KCQoJCgkvKioKCSAqIEp1c3QgZ2V0cyBhbGwgZnJvbnRlbmQgdXNlciBncm91cHMgYSBmcm9udGVuZCB1c2VyIGJlbG9uZ3MgdG8KCSAqIGFuZCBjYWNoZXMgdGhlbSBpbiBhIG1lbWJlciB2YXJpYWJsZQoJICoKCSAqIEBwYXJhbSBpbnQgJHVzZXJpZCAtIHRoZSBpZCBvZiB0aGUgdXNlcgoJICogQHJldHVybiBhcnJheQoJICovCglwcml2YXRlIGZ1bmN0aW9uICZHZXRGZXVHcm91cHMoJHVzZXJpZCkKCXsKCQlpZighJHVzZXJpZCkKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJaWYoICRmZXVzZXJzID0mIGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpICYmICEkdGhpcy0+X2ZldUdyb3VwcykKCQl7CgkJCSR0aGlzLT5fZmV1R3JvdXBzID0gJGZldXNlcnMtPkdldE1lbWJlckdyb3Vwc0FycmF5KCR1c2VyaWQpOwoJCX0KCQlyZXR1cm4gJHRoaXMtPl9mZXVHcm91cHM7Cgl9CgkKCQoJLyoqCgkgKiBDaGVja3MgaWYgYSBmcm9udGVuZCB1c2VyIGhhcyBhY2Nlc3MgdG8gYSBwYWdlCgkgKgoJICogQHJldHVybiBib29sZWFuCgkgKi8KCWZ1bmN0aW9uIENoZWNrRnJvbnRlbmRQYWdlQWNjZXNzKCkKCXsKCQlpZigkdGhpcy0+X2ZldUFjY2VzcyA9PSAtMSkKCQl7CgkJCSR0aGlzLT5fZmV1QWNjZXNzID0gKCR0aGlzLT5HZXRQcm9wZXJ0eSgnaGlkZV9tZW51X2l0ZW0nKSA9PSAyICYmIGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpLT5Mb2dnZWRJbklkKCkpID8gZmFsc2UgOiAkdGhpcy0+Q2hlY2tGcm9udGVuZEFjY2VzcygkdGhpcy0+R2V0UHJvcGVydHkoJ2ZldV9hY2Nlc3MnKSk7CgkJfQoJCXJldHVybiAkdGhpcy0+X2ZldUFjY2VzczsKCX0KCQoJCgkvKioKCSAqIFBlcmZvcm0gdGhlIHNlbGVjdGVkIGFjdGlvbiBpZiBhIHBhZ2UgaXMgYWNjZXNzZWQgd2hlcmUgdGhlIHVzZXIgaGFzIG5vIGFjY2VzcwoJICovCglmdW5jdGlvbiBEb0Zyb250ZW5kUGFnZUFjdGlvbigpCgl7CgkJaWYoICRmZXVzZXJzID0mIGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycgKSkKCQl7CgkJCSRyZWRpcmVjdFBhZ2UgPSAkdGhpcy0+R2V0UHJvcGVydHkoJ3JlZGlyZWN0X3BhZ2UnKTsKCQkJaWYoJHJlZGlyZWN0UGFnZSA9PSAkdGhpcy0+bUlkIHx8ICRyZWRpcmVjdFBhZ2UgPT0gJHRoaXMtPm1BbGlhcykKCQkJewoJCQkJJHJlZGlyZWN0UGFnZSA9ICcnOwoJCQl9CgkJCQoJCQkkcGF0dGVybiA9ICcvKFtcd10rKT0oWyJdW14iXSpbIl18W1wnXVteXCddKltcJ118W15cJyJcc10qKS8nOwoJCQkKCQkJIyBnZXQgZmV1X3BhcmFtcwoJCQlpZighJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJ2luaGVyaXRfZmV1X3BhcmFtcycpKQoJCQl7CgkJCQkkZmV1X3BhcmFtcyAgICAgICAgPSAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgnZmV1X3BhcmFtcycpOwoJCQkJJGZldV9wYXJhbXNfc21hcnR5ID0gJHRoaXMtPkdldFByb3BlcnR5VmFsdWUoJ2ZldV9wYXJhbXNfc21hcnR5Jyk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkZmV1X3BhcmFtcyAgICAgICAgPSAkdGhpcy0+SW5oZXJpdFBhcmVudFByb3AoJ2ZldV9wYXJhbXMnKTsKCQkJCSRmZXVfcGFyYW1zX3NtYXJ0eSA9ICR0aGlzLT5Jbmhlcml0UGFyZW50UHJvcCgnZmV1X3BhcmFtc19zbWFydHknKTsKCQkJfQoJCQlpZigkZmV1X3BhcmFtc19zbWFydHkpCgkJCXsKCQkJCSRmZXVfcGFyYW1zID0gJGZldXNlcnMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCRmZXVfcGFyYW1zKTsKCQkJfQoJCQkkbWF0Y2hlcyA9IGFycmF5KCk7CgkJCSRyZXN1bHQgID0gcHJlZ19tYXRjaF9hbGwoJHBhdHRlcm4sICRmZXVfcGFyYW1zLCAkbWF0Y2hlcyk7CgkJCSRmZXVfcGFyYW1zMSA9IGFycmF5KCk7ICMgYXJyYXkocGFyYW1fbmFtZSA9PiBwYXJhbV92YWx1ZSkKCQkJJGZldV9wYXJhbXMyID0gYXJyYXkoKTsgIyBzdHJpbmcgInBhcmFtX25hbWU9cGFyYW1fdmFsdWUiCgkJCWZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCRtYXRjaGVzWzFdKTsgJGkrKykKCQkJewoJCQkJaWYoc3RhcnRzd2l0aCgkbWF0Y2hlc1syXVskaV0sJ1wnJykpCgkJCQl7CgkJCQkJJG1hdGNoZXNbMl1bJGldID0gdHJpbSgkbWF0Y2hlc1syXVskaV0sJ1wnJyk7CgkJCQl9CgkJCQllbHNlIGlmKHN0YXJ0c3dpdGgoJG1hdGNoZXNbMl1bJGldLCciJykpCgkJCQl7CgkJCQkJJG1hdGNoZXNbMl1bJGldID0gdHJpbSgkbWF0Y2hlc1syXVskaV0sJyInKTsKCQkJCX0KCQkJCSRmZXVfcGFyYW1zMVskbWF0Y2hlc1sxXVskaV1dID0gJG1hdGNoZXNbMl1bJGldOwoJCQkJJGZldV9wYXJhbXMyW10gICAgICAgICAgICAgICAgPSAkbWF0Y2hlc1sxXVskaV0gLiAnPScgLiAkbWF0Y2hlc1syXVskaV07CgkJCX0KCQkJIy0tLQoJCQkKCQkJIyBkbyBmZXVfYWN0aW9uCgkJCSRmZXVBY3Rpb24gPSAkdGhpcy0+R2V0UHJvcGVydHkoJ2ZldV9hY3Rpb24nKTsKCQkJaWYoISRyZWRpcmVjdFBhZ2UpCgkJCXsKCQkJCWlmKCRmZXVBY3Rpb24gJiYgISR0aGlzLT5fZmV1QWN0aW9uKQoJCQkJewoJCQkJCSR0aGlzLT5fZmV1QWN0aW9uID0gdHJ1ZTsKCQkJCQkjIGNhbm5vdCBwYXNzIGN1c3RvbV9wYXJhbXMgd2hlbiBEb0FjdGlvbigpIGlzIHVzZWQKCQkJCQlyZXR1cm4gJGZldXNlcnMtPkRvQWN0aW9uKCdkZWZhdWx0JywgJ2NudG50MDEnLCBhcnJheV9tZXJnZShhcnJheSgnZm9ybSc9Pidsb2dpbicpLCRmZXVfcGFyYW1zMSksICR0aGlzLT5tSWQpOwoJCQkJfQoJCQkJcmV0dXJuOwoJCQl9CgkJCQoJCQkjIGdldCBjdXN0b21fcGFyYW1zCgkJCWlmKCEkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgnaW5oZXJpdF9jdXN0b21fcGFyYW1zJykpCgkJCXsKCQkJCSRjdXN0b21fcGFyYW1zICAgICAgICA9ICR0aGlzLT5HZXRQcm9wZXJ0eVZhbHVlKCdjdXN0b21fcGFyYW1zJyk7CgkJCQkkY3VzdG9tX3BhcmFtc19zbWFydHkgPSAkdGhpcy0+R2V0UHJvcGVydHlWYWx1ZSgnY3VzdG9tX3BhcmFtc19zbWFydHknKTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCSRjdXN0b21fcGFyYW1zICAgICAgICA9ICR0aGlzLT5Jbmhlcml0UGFyZW50UHJvcCgnY3VzdG9tX3BhcmFtcycpOwoJCQkJJGN1c3RvbV9wYXJhbXNfc21hcnR5ID0gJHRoaXMtPkluaGVyaXRQYXJlbnRQcm9wKCdjdXN0b21fcGFyYW1zX3NtYXJ0eScpOwoJCQl9CgkJCWlmKCRjdXN0b21fcGFyYW1zX3NtYXJ0eSkKCQkJewoJCQkJJGN1c3RvbV9wYXJhbXMgPSAkZmV1c2Vycy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJGN1c3RvbV9wYXJhbXMpOwoJCQl9CgkJCSRtYXRjaGVzID0gYXJyYXkoKTsKCQkJJHJlc3VsdCAgPSBwcmVnX21hdGNoX2FsbCgkcGF0dGVybiwgJGN1c3RvbV9wYXJhbXMsICRtYXRjaGVzKTsKCQkJJGN1c3RvbV9wYXJhbXMxID0gYXJyYXkoKTsKCQkJJGN1c3RvbV9wYXJhbXMyID0gYXJyYXkoKTsKCQkJZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJG1hdGNoZXNbMV0pOyAkaSsrKQoJCQl7CgkJCQlpZihzdGFydHN3aXRoKCRtYXRjaGVzWzJdWyRpXSwnXCcnKSkKCQkJCXsKCQkJCQkkbWF0Y2hlc1syXVskaV0gPSB0cmltKCRtYXRjaGVzWzJdWyRpXSwnXCcnKTsKCQkJCX0KCQkJCWVsc2UgaWYoc3RhcnRzd2l0aCgkbWF0Y2hlc1syXVskaV0sJyInKSkKCQkJCXsKCQkJCQkkbWF0Y2hlc1syXVskaV0gPSB0cmltKCRtYXRjaGVzWzJdWyRpXSwnIicpOwoJCQkJfQoJCQkJJGN1c3RvbV9wYXJhbXMxWyRtYXRjaGVzWzFdWyRpXV0gPSAkbWF0Y2hlc1syXVskaV07CgkJCQkkY3VzdG9tX3BhcmFtczJbXSAgICAgICAgICAgICAgICA9ICRtYXRjaGVzWzFdWyRpXSAuICc9JyAuICRtYXRjaGVzWzJdWyRpXTsKCQkJfQoJCQkKCQkJaWYoJGZldUFjdGlvbikKCQkJewoJCQkJJHVybCA9ICRmZXVzZXJzLT5DcmVhdGVGcm9udGVuZExpbmsoJ2NudG50MDEnLCAkcmVkaXJlY3RQYWdlLCAnZGVmYXVsdCcsICcnLCAkZmV1X3BhcmFtczEsICcnLCB0cnVlLCBmYWxzZSwgdHJ1ZSkgLiAoIWVtcHR5KCRjdXN0b21fcGFyYW1zMikgPyAnJicgLiBpbXBsb2RlKCcmJywkY3VzdG9tX3BhcmFtczIpIDogJycpOyAKCQkJCSNyZXR1cm4gJGZldXNlcnMtPlJlZGlyZWN0Rm9yRnJvbnRFbmQoJ2NudG50MDEnLCAkcmVkaXJlY3RQYWdlLCAnZGVmYXVsdCcsICRmZXVfcGFyYW1zMSwgZmFsc2UpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJJG1hbmFnZXIgPSYgY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoJCQkJJG5vZGUgICAgPSAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRyZWRpcmVjdFBhZ2UpOwoJCQkJaWYoIWlzX29iamVjdCgkbm9kZSkpCgkJCQl7CgkJCQkJcmV0dXJuOwoJCQkJfQoJCQkJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsKCQkJCWlmICghaXNfb2JqZWN0KCRjb250ZW50KSB8fCAhJHVybCA9ICRjb250ZW50LT5HZXRVUkwoKSkKCQkJCXsKCQkJCQlyZXR1cm47CgkJCQl9CgkJCQkKCQkJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCQkJCSR1cmwgPSB0cmltKHN0cl9yZXBsYWNlKAoJCQkJCWFycmF5KCRjb25maWdbJ3Jvb3RfdXJsJ10gLiAnL2luZGV4LnBocCcsCgkJCQkJCSRjb25maWdbJ3NzbF91cmwnXSAuICcvaW5kZXgucGhwJywKCQkJCQkJJGNvbmZpZ1sncm9vdF91cmwnXSwKCQkJCQkJJGNvbmZpZ1snc3NsX3VybCddKSwKCQkJCQknJywgJHVybCksJy8/Jyk7CgkJCQkKCQkJCWlmKCFlbXB0eSgkY3VzdG9tX3BhcmFtczEpICYmICFlbXB0eSgkY3VzdG9tX3BhcmFtczIpKQoJCQkJewoJCQkJCWlmKCRjb25maWdbJ3VybF9yZXdyaXRpbmcnXSA9PSAnbm9uZScpCgkJCQkJewoJCQkJCQlpZigkY29udGVudC0+U2VjdXJlKCkpCgkJCQkJCXsKCQkJCQkJCSR1cmwgPSAkY29uZmlnWydzc2xfdXJsJ10gLiAnL2luZGV4LnBocD8nIC4gaW1wbG9kZSgnJicsJGN1c3RvbV9wYXJhbXMyKSAuICcmJyAuICR1cmw7CgkJCQkJCX0KCQkJCQkJZWxzZQoJCQkJCQl7CgkJCQkJCQkkdXJsID0gJGNvbmZpZ1sncm9vdF91cmwnXSAuICcvaW5kZXgucGhwPycgLiBpbXBsb2RlKCcmJywkY3VzdG9tX3BhcmFtczIpIC4gJyYnIC4gJHVybDsKCQkJCQkJfQoJCQkJCX0KCQkJCQllbHNlIGlmKCRjb25maWdbJ3VybF9yZXdyaXRpbmcnXSA9PSAnaW50ZXJuYWwnKQoJCQkJCXsKCQkJCQkJaWYoJGNvbnRlbnQtPlNlY3VyZSgpKQoJCQkJCQl7CgkJCQkJCQkkdXJsID0gJGNvbmZpZ1snc3NsX3VybCddIC4gJy9pbmRleC5waHAvJyAuIGltcGxvZGUoJy8nLCRjdXN0b21fcGFyYW1zMSkgLiAnLycgLiAkdXJsOwoJCQkJCQl9CgkJCQkJCWVsc2UKCQkJCQkJewoJCQkJCQkJJHVybCA9ICRjb25maWdbJ3Jvb3RfdXJsJ10gLiAnL2luZGV4LnBocC8nIC4gaW1wbG9kZSgnLycsJGN1c3RvbV9wYXJhbXMxKSAuICcvJyAuICR1cmw7CgkJCQkJCX0KCQkJCQkJaWYoJGNvbnRlbnQtPkRlZmF1bHRDb250ZW50KCkpCgkJCQkJCXsKCQkJCQkJCSR1cmwgLj0gJGNvbnRlbnQtPkFsaWFzKCkgLiAkY29uZmlnWydwYWdlX2V4dGVuc2lvbiddOwoJCQkJCQl9CgkJCQkJfQoJCQkJCWVsc2UgaWYoJGNvbmZpZ1sndXJsX3Jld3JpdGluZyddID09ICdtb2RfcmV3cml0ZScpCgkJCQkJewoJCQkJCQlpZigkY29udGVudC0+U2VjdXJlKCkpCgkJCQkJCXsKCQkJCQkJCSR1cmwgPSAkY29uZmlnWydzc2xfdXJsJ10gLiAnLycgLiBpbXBsb2RlKCcvJywkY3VzdG9tX3BhcmFtczEpIC4gJy8nIC4gJHVybDsKCQkJCQkJfQoJCQkJCQllbHNlCgkJCQkJCXsKCQkJCQkJCSR1cmwgPSAkY29uZmlnWydyb290X3VybCddIC4gJy8nIC4gaW1wbG9kZSgnLycsJGN1c3RvbV9wYXJhbXMxKSAuICcvJyAuICR1cmw7CgkJCQkJCX0KCQkJCQkJaWYoJGNvbnRlbnQtPkRlZmF1bHRDb250ZW50KCkpCgkJCQkJCXsKCQkJCQkJCSR1cmwgLj0gJGNvbnRlbnQtPkFsaWFzKCkgLiAkY29uZmlnWydwYWdlX2V4dGVuc2lvbiddOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJCXJldHVybiByZWRpcmVjdCgkdXJsKTsKCQl9Cgl9CgkKCQoJLyoqCgkqIEp1c3QgYSB3cmFwcGVyIHRvIGdldCBhIG1vZHVsZSBpbnN0YW5jZSBpbiB0aGUgdGVtcGxhdGUKCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRtb2R1bGVfbmFtZSAtIHRoZSBleGFjdCBuYW1lIG9mIHRoZSBtb2R1bGUgKGNhc2Ugc2Vuc2l0aXZlKQoJICogQHBhcmFtIHN0cmluZyAkbW9kdWxlX3ZlcnNpb24gKG9wdGlvbmFsKSAtIHRoZSBtaW5pbXVtIHZlcnNpb24gb2YgdGhlIG1vZHVsZQoJICogQHJldHVybiBvYmplY3QKCSAqLwoJZnVuY3Rpb24gJmdldF9tb2R1bGUoJG1vZHVsZV9uYW1lLCRtb2R1bGVfdmVyc2lvbiA9ICcnKQoJewoJCXJldHVybiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZV9uYW1lLCAkbW9kdWxlX3ZlcnNpb24pOwoJfQoJCn0KPz4K]]></data>
	</file>
	<file>
	  <filename>/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/css/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PEZpbGVzICouY3NzPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogIG9yZGVyIGRlbnksYWxsb3cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICBhbGxvdyBmcm9tIGFsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8L0ZpbGVzPgo=]]></data>
	</file>
	<file>
	  <filename>/css/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/css/jpicker.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/LmpQaWNrZXIgLkljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI0cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjI1cHh9LmpQaWNrZXIgLkljb24gc3Bhbi5Db2xvciwualBpY2tlciAuSWNvbiBzcGFuLkFscGhhe2JhY2tncm91bmQtcG9zaXRpb246MnB4IDJweDtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5qUGlja2VyIC5JY29uIHNwYW4uSW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LmpQaWNrZXIuQ29udGFpbmVye2NvbG9yOiMwMDA7ei1pbmRleDoxMH10YWJsZS5qUGlja2Vye2JhY2tncm91bmQtY29sb3I6I2VmZWZlZjtib3JkZXI6MXB4IG91dHNldCAjNjY2O2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxTYW5zLVNlcmlmO2ZvbnQtc2l6ZToxMnB4IWltcG9ydGFudDttYXJnaW46MDtwYWRkaW5nOjVweDt3aWR0aDo1NDVweDt6LWluZGV4OjIwfS5qUGlja2VyIC5Nb3Zle2JhY2tncm91bmQtY29sb3I6I2RkZDtib3JkZXItY29sb3I6I2ZmZiAjNjY2ICM2NjYgI2ZmZjtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtjdXJzb3I6bW92ZTtoZWlnaHQ6MTJweDtwYWRkaW5nOjB9LmpQaWNrZXIgLlRpdGxle2ZvbnQtc2l6ZToxMXB4IWltcG9ydGFudDtmb250LXdlaWdodDpib2xkO21hcmdpbjotMnB4IDAgMCAwO3BhZGRpbmc6MTBweCAwIDAgMDt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS5qUGlja2VyIGRpdi5NYXB7Ym9yZGVyLWJvdHRvbToycHggc29saWQgI2ZmZjtib3JkZXItbGVmdDoycHggc29saWQgIzlhOWE5YTtib3JkZXItcmlnaHQ6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDoycHggc29saWQgIzlhOWE5YTtjdXJzb3I6Y3Jvc3NoYWlyO2hlaWdodDoyNjBweDttYXJnaW46MCAxMHB4IDEwcHggMTBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjI2MHB4fS5qUGlja2VyIGRpdltjbGFzcz0iTWFwIl17aGVpZ2h0OjI1NnB4O3dpZHRoOjI1NnB4fS5qUGlja2VyIGRpdi5CYXJ7Ym9yZGVyLWJvdHRvbToycHggc29saWQgI2ZmZjtib3JkZXItbGVmdDoycHggc29saWQgIzlhOWE5YTtib3JkZXItcmlnaHQ6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDoycHggc29saWQgIzlhOWE5YTtjdXJzb3I6bi1yZXNpemU7aGVpZ2h0OjI2MHB4O21hcmdpbjoxMnB4IDEwcHggMCA1cHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoyNHB4fS5qUGlja2VyIGRpdltjbGFzcz0iQmFyIl17aGVpZ2h0OjI1NnB4O3dpZHRoOjIwcHh9LmpQaWNrZXIgLk1hcCAuTWFwMSwualBpY2tlciAuTWFwIC5NYXAyLC5qUGlja2VyIC5NYXAgLk1hcDMsLmpQaWNrZXIgLkJhciAuTWFwMSwualBpY2tlciAuQmFyIC5NYXAyLC5qUGlja2VyIC5CYXIgLk1hcDMsLmpQaWNrZXIgLkJhciAuTWFwNCwualBpY2tlciAuQmFyIC5NYXA1LC5qUGlja2VyIC5CYXIgLk1hcDZ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7ZGlzcGxheTpibG9jaztsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9LmpQaWNrZXIgLk1hcCAuTWFwMSwualBpY2tlciAuTWFwIC5NYXAyLC5qUGlja2VyIC5NYXAgLk1hcDN7aGVpZ2h0OjI1OTZweDt3aWR0aDoyNTZweH0ualBpY2tlciAuQmFyIC5NYXAxLC5qUGlja2VyIC5CYXIgLk1hcDIsLmpQaWNrZXIgLkJhciAuTWFwMywualBpY2tlciAuQmFyIC5NYXA0e2hlaWdodDozODk2cHg7d2lkdGg6MjBweH0ualBpY2tlciAuQmFyIC5NYXA1LC5qUGlja2VyIC5CYXIgLk1hcDZ7aGVpZ2h0OjI1NnB4O3dpZHRoOjIwcHh9LmpQaWNrZXIgLk1hcCAuTWFwMSwualBpY2tlciAuTWFwIC5NYXAyLC5qUGlja2VyIC5CYXIgLk1hcDZ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0fS5qUGlja2VyIC5NYXAgLk1hcDMsLmpQaWNrZXIgLkJhciAuTWFwNXtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXR9LmpQaWNrZXIgLkJhciAuTWFwMSwualBpY2tlciAuQmFyIC5NYXAyLC5qUGlja2VyIC5CYXIgLk1hcDMsLmpQaWNrZXIgLkJhciAuTWFwNHtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteH0ualBpY2tlciAuTWFwIC5BcnJvd3tkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS5qUGlja2VyIC5CYXIgLkFycm93e2Rpc3BsYXk6YmxvY2s7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlfS5qUGlja2VyIC5QcmV2aWV3e2ZvbnQtc2l6ZTo5cHg7cGFkZGluZzo1cHggMCAwIDA7dGV4dC1hbGlnbjpjZW50ZXJ9LmpQaWNrZXIgLlByZXZpZXcgZGl2e2JvcmRlcjoycHggaW5zZXQgI2VlZTtoZWlnaHQ6NjJweDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MDt3aWR0aDo2MnB4fS5qUGlja2VyIC5QcmV2aWV3IGRpdiBzcGFue2JvcmRlcjoxcHggc29saWQgIzAwMDtkaXNwbGF5OmJsb2NrO2hlaWdodDozMHB4O21hcmdpbjowIGF1dG87cGFkZGluZzowO3dpZHRoOjYwcHh9LmpQaWNrZXIgLlByZXZpZXcgLkFjdGl2ZXtib3JkZXItYm90dG9tLXdpZHRoOjB9LmpQaWNrZXIgLlByZXZpZXcgLkN1cnJlbnR7Ym9yZGVyLXRvcC13aWR0aDowO2N1cnNvcjpwb2ludGVyfS5qUGlja2VyIGlucHV0e2ZvbnQtc2l6ZToxM3B4fS5qUGlja2VyIC5CdXR0b257dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzowIDRweDt3aWR0aDoxMTVweH0ualBpY2tlciAuQnV0dG9uIGlucHV0e3BhZGRpbmc6MnB4IDA7d2lkdGg6MTAwcHh9LmpQaWNrZXIgLkJ1dHRvbiAuT2t7bWFyZ2luOjEycHggMCA1cHggMH0ualBpY2tlciB0ZHttYXJnaW46MDtwYWRkaW5nOjB9LmpQaWNrZXIgdGQuUmFkaW97bWFyZ2luOjA7cGFkZGluZzowO3dpZHRoOjMxcHh9LmpQaWNrZXIgdGQuUmFkaW8gaW5wdXR7bWFyZ2luOjAgNXB4IDAgMDtwYWRkaW5nOjB9LmpQaWNrZXIgdGQuVGV4dHtmb250LXNpemU6MTJweCFpbXBvcnRhbnQ7aGVpZ2h0OjIycHg7bWFyZ2luOjA7cGFkZGluZzowO3RleHQtYWxpZ246bGVmdDt3aWR0aDo3MHB4fS5qUGlja2VyIHRyLkhleCB0ZC5UZXh0e3dpZHRoOjEwMHB4fS5qUGlja2VyIHRkLlRleHQgaW5wdXR7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggaW5zZXQgI2FhYTtoZWlnaHQ6MTlweDttYXJnaW46MCAwIDAgNXB4O3RleHQtYWxpZ246bGVmdDt3aWR0aDozMHB4fS5qUGlja2VyIHRkW2NsYXNzPSJUZXh0Il0gaW5wdXR7aGVpZ2h0OjE1cHh9LmpQaWNrZXIgdHIuSGV4IHRkLlRleHQgaW5wdXQuSGV4e3dpZHRoOjUwcHh9LmpQaWNrZXIgdHIuSGV4IHRkLlRleHQgaW5wdXQuQUhleHt3aWR0aDoyMHB4fS5qUGlja2VyIC5Hcmlke3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjExNHB4fS5qUGlja2VyIC5HcmlkIHNwYW4uUXVpY2tDb2xvcntib3JkZXI6MXB4IGluc2V0ICNhYWE7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjE1cHg7bGluZS1oZWlnaHQ6MTVweDttYXJnaW46MDtwYWRkaW5nOjA7d2lkdGg6MTlweH0ualBpY2tlciAuR3JpZCBzcGFuW2NsYXNzPSJRdWlja0NvbG9yIl17d2lkdGg6MTdweH3vu7/vu79AbWVkaWEgYWxseyNqUGlja2Vye21hcmdpbjowcHggOHB4O3RleHQtYWxpZ246bGVmdDt9I2pQaWNrZXIgdWx7Zm9udC1zaXplOjE1cHg7bWFyZ2luOjBweCAwcHggMHB4IDE1cHg7cGFkZGluZzowcHg7fSNqUGlja2VyIHVsIGxpe2xpc3Qtc3R5bGU6ZGlzYztwYWRkaW5nOjJweCAwcHg7fSNqUGlja2VyIHVsIGxpIHVse21hcmdpbi1ib3R0b206MTBweDt9I2pQaWNrZXIgdWwgbGkgdWwgbGl7bGlzdC1zdHlsZTpjaXJjbGU7fSNqUGlja2VyIHB7Zm9udC1zaXplOjEzcHg7cGFkZGluZzowcHggMTBweDt9I2pQaWNrZXIgaHJ7Y2xlYXI6Ym90aDt9I2pQaWNrZXIgaDIualBpY2tlcntmb250LXNpemU6MTZweDtwYWRkaW5nOjIwcHggMTBweDt9I2pQaWNrZXIgY29kZXtjb2xvcjojOGJkO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7fSNqUGlja2VyIHByZXtiYWNrZ3JvdW5kOiNlZWU7Ym9yZGVyOjFweCBzb2xpZCAjMDAwO2NvbG9yOiMwMDA7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTFweDttYXJnaW46MTBweCA1cHg7cGFkZGluZzogNXB4O30jalBpY2tlciBzcGFue2ZvbnQtc2l6ZToxM3B4O3RleHQtYWxpZ246Y2VudGVyO30jalBpY2tlciBhe2NvbG9yOiNmZjgwNTA7fSNqUGlja2VyIGlucHV0e2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmc6MnB4IDVweDt9I2pQaWNrZXIgaDJ7Zm9udC1zaXplOjE2cHg7bWFyZ2luOjEwcHggMHB4O319]]></data>
	</file>
	<file>
	  <filename>/css/style.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LnNvcnRhYmxlX2hhbmRsZXI6aG92ZXIgewoJY3Vyc29yIDogbW92ZTsKfQoKLnNvcnRhYmxlX2hhbmRsZXIgewoJbWFyZ2luOjAgNXB4IDAgMDsKCXZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsKfQoKLnNvcnRhYmxlX3dyYXBwZXIgaW5wdXQgewoJbWFyZ2luOjAgNXB4IDAgMDsKfQoKLnNvcnRhYmxlIHsKCWxpbmUtaGVpZ2h0OiAyMDAlOwoJcGFkZGluZzogMCAwIDAgNXB4Owp9CgpkaXYucGFnZW92ZXJmbG93LkFkdmFuY2VkQ29udGVudF9Db250ZW50QmxvY2sgewoJd2lkdGg6IDEwMCU7Cn0KCmxlZ2VuZC5BZHZhbmNlZENvbnRlbnRfQ29udGVudEJsb2NrLApsZWdlbmQuQWR2YW5jZWRDb250ZW50X0Jsb2NrR3JvdXAgewoJcGFkZGluZy1ib3R0b206IDA7CglwYWRkaW5nLXRvcDogMDsKCW1hcmdpbi1ib3R0b206IDA7CgltYXJnaW4tdG9wOiAwOwoJZm9udC1zaXplOiAxMDAlOwp9CgoKZGl2I3BhZ2VfdGFicyBkaXYuU3ViVGFiV3JhcHBlciB7CgliYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwoJYm9yZGVyOm5vbmU7CgljdXJzb3I6YXV0bzsKCWZsb2F0Om5vbmU7CgltYXJnaW46MHB4OwoJcGFkZGluZzowcHg7Cn0KCi8qIENhbGVuZGFyICovCi5jYWxlbmRhclRyaWdnZXI6aG92ZXIgewoJY3Vyc29yOiBwb2ludGVyOwp9CgpkaXYuY2FsZW5kYXIKewogIGZvbnQtc2l6ZTogc21hbGxlcjsKICBjb2xvcjogIzNlM2UzZTsKfQoKZGl2LmNhbGVuZGFyLnBvcHVwCnsKICBtYXJnaW4tbGVmdDogLTQwcHg7CiAgbWFyZ2luLXRvcDogLTEwMHB4OwogIHotaW5kZXg6IDk5OTk7CiAgYm94LXNoYWRvdzoycHggMnB4IDdweCAjNjY2NjY2Owp9CgpkaXYuY2FsZW5kYXIgdGFibGUKewogIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7CiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTsKICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOwogIGJvcmRlci1zcGFjaW5nOiAxcHg7Cn0KCmRpdi5jYWxlbmRhciB0aGVhZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQoKZGl2LmNhbGVuZGFyIHRkLApkaXYuY2FsZW5kYXIgdGgKewogIHBhZGRpbmc6IDJweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCmRpdi5jYWxlbmRhciB0ZC50aXRsZQp7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgY29sb3I6ICNlOGE4MDA7Cn0KCmRpdi5jYWxlbmRhciB0aAp7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KCmRpdi5jYWxlbmRhciB0ci5kYXlzIHRkIHsKICB3aWR0aDogMmVtOwogIGNvbG9yOiAjM2Q2MGJhOwogIHRleHQtYWxpZ246IHJpZ2h0OwogIGN1cnNvcjogcG9pbnRlcjsKICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1Owp9CgpkaXYuY2FsZW5kYXIgdHIuZGF5cyB0ZDpob3ZlciwKZGl2LmNhbGVuZGFyIHRkLmJ1dHRvbjpob3Zlcgp7CiAgYm9yZGVyLWNvbG9yOiAjZThhODAwOwogIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7CiAgY3Vyc29yOiBwb2ludGVyOwp9CmRpdi5jYWxlbmRhciB0ci5kYXlzIHRkOmhvdmVyCnsKIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7Cn0KCmRpdi5jYWxlbmRhciB0ci5kYXlzIHRkOmFjdGl2ZQpkaXYuY2FsZW5kYXIgdGQuYnV0dG9uOmFjdGl2ZQp7CiAgYmFja2dyb3VuZC1jb2xvcjogI2NkZTsKfQoKZGl2LmNhbGVuZGFyIHRyLmRheXMgdGQuc2VsZWN0ZWQKewogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGJhY2tncm91bmQtY29sb3I6ICNlOGE4MDA7CiAgYm9yZGVyLWNvbG9yOiAjZThhODAwICFpbXBvcnRhbnQ7CiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsKfQoKZGl2LmNhbGVuZGFyIHRyLmRheXMgdGQud2Vla2VuZCB7Cgljb2xvcjogIzdmOWRlODsKfQoKZGl2LmNhbGVuZGFyIHRyLmRheXMgdGQudG9kYXkKewogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGJvcmRlci1jb2xvcjogIzNkNjBiYTsKfQoKZGl2LmNhbGVuZGFyIHRyLmRheXMgdGQub3RoZXJEYXkKewogIGJhY2tncm91bmQ6ICNlNWU1ZTU7CiAgY29sb3I6ICNmZmY7Cn0KCi8qIE11bHRpIENvbnRlbnQgU3R1ZmYgLi4uIFRvRG8gKi8KI0FkdmFuY2VkQ29udGVudF93cmFwcGVyIHsKCXBvc2l0aW9uIDogZml4ZWQ7CglsZWZ0ICAgICA6IDBweDsKCXRvcCAgICAgIDogMHB4OwoJd2lkdGggICAgOiAxMDAlOwoJaGVpZ2h0ICAgOiAxMDAlOwoJei1pbmRleCAgOiAtOTk5OTsKCWRpc3BsYXkgIDogbm9uZTsKCW9wYWNpdHkgIDogMDsKfQoKI0FkdmFuY2VkQ29udGVudF9iYWNrZ3JvdW5kIHsKCXBvc2l0aW9uICAgICAgICAgOiBmaXhlZDsKCWxlZnQgICAgICAgICAgICAgOiAwcHg7Cgl0b3AgICAgICAgICAgICAgIDogMHB4OwoJd2lkdGggICAgICAgICAgICA6IDEwMCU7CgloZWlnaHQgICAgICAgICAgIDogMTAwJTsKCWJhY2tncm91bmQtY29sb3IgOiAjMDAwOwoJZGlzcGxheSAgICAgICAgICA6IG5vbmU7CglvcGFjaXR5ICAgICAgICAgIDogMDsKfQoKI0FkdmFuY2VkQ29udGVudCB7CgltaW4td2lkdGggICAgICAgICAgOiA2MDBweDsKCXdpZHRoICAgICAgICAgICAgICA6IDYwMHB4OwoJZGlzcGxheSAgICAgICAgICAgIDogbm9uZTsKCW9wYWNpdHkgICAgICAgICAgICA6IDA7CgliYWNrZ3JvdW5kLWNvbG9yICAgOiAjRkZGOwoJbGluZS1oZWlnaHQgICAgICAgIDogMTAwJTsKCW1hcmdpbiAgICAgICAgICAgICA6IGF1dG87CgltYXJnaW4tYm90dG9tICAgICAgOiA1cHg7Cglwb3NpdGlvbiAgICAgICAgICAgOiByZWxhdGl2ZTsKCS1tb3otYm9yZGVyLXJhZGl1cyA6IDEwcHg7Cgktd2Via2l0LWJvcmRlci1yYWRpdXMgOiAxMHB4OwoJYm9yZGVyLXJhZGl1cyAgICAgIDogMTBweDsKCS1tb3otYm94LXNoYWRvdyAgICA6IDAgMCAzMnB4ICMwMDAwMDA7Cgktd2Via2l0LWJveC1zaGFkb3cgOiAwIDAgMzJweCAjMDAwMDAwOwoJYm94LXNoYWRvdyAgICAgICAgIDogMCAwIDMycHggIzAwMDAwMDsKCWhlaWdodCAgICAgICAgICAgICA6IDM2cHg7CgltaW4taGVpZ2h0ICAgICAgICAgOiAzNnB4OwoJb3ZlcmZsb3cgICAgICAgICAgIDogaGlkZGVuOwp9CgojQWR2YW5jZWRDb250ZW50X2NvbnRlbnQgewoJZGlzcGxheSA6IGJsb2NrOwoJb3BhY2l0eSA6IDA7Cn0KCiNBZHZhbmNlZENvbnRlbnRfdGl0bGViYXIgewoJcGFkZGluZyAgICAgICAgICA6IDVweDsKCWNvbG9yICAgICAgICAgICAgOiAjMzMzOwoJYmFja2dyb3VuZC1jb2xvciA6ICNDQ0M7Cn0KCiNBZHZhbmNlZENvbnRlbnRfdGl0bGViYXIgaDMgewoJY3Vyc29yOiBtb3ZlOwogICAgaGVpZ2h0OiAyNnB4OwogICAgbGVmdDogMjZweDsKICAgIGxpbmUtaGVpZ2h0OiAyNnB4OwogICAgbWFyZ2luOiAwOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDA7CiAgICB0b3A6IDA7Cn0KCiNBZHZhbmNlZENvbnRlbnRfbWVudSB7CglwYWRkaW5nOiA1cHggMCA1cHggMDsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCXJpZ2h0OiAwOwoJdG9wOiAwOwp9CgojQWR2YW5jZWRDb250ZW50X2Nsb3NlLAojQWR2YW5jZWRDb250ZW50X3JlbG9hZF9kaXIsCiNBZHZhbmNlZENvbnRlbnRfY2xlYXJfY2FjaGUgewoJZGlzcGxheSAgICAgICAgIDogYmxvY2s7CglmbG9hdCAgICAgICAgICAgOiBsZWZ0OwoJaGVpZ2h0ICAgICAgICAgIDogMTZweDsKCW1hcmdpbiAgICAgICAgICA6IDAgNXB4OwoJb3ZlcmZsb3cgICAgICAgIDogaGlkZGVuOwoJdGV4dC1kZWNvcmF0aW9uIDogbm9uZTsKCXRleHQtaW5kZW50ICAgICA6IC05OTllbTsKCXdpZHRoICAgICAgICAgICA6IDE2cHg7Cn0KCiNBZHZhbmNlZENvbnRlbnRfZ290b19yb290IHsKCW92ZXJmbG93ICAgICAgICA6IGhpZGRlbjsKCXRleHQtZGVjb3JhdGlvbiA6IG5vbmU7Cgl0ZXh0LWluZGVudCAgICAgOiAtOTk5ZW07Cgl3aWR0aCAgICAgICAgICAgOiAyMXB4OwoJaGVpZ2h0ICAgICAgICAgIDogMTZweDsKCWRpc3BsYXkgICAgICAgICA6IGJsb2NrOwoJZmxvYXQgICAgICAgICAgIDogbGVmdDsKCW1hcmdpbiAgICAgICAgICA6IDAgNXB4OwoJYmFja2dyb3VuZCAgICAgIDogdXJsKCcuLi9pbWcvZGlyLmdpZicpIG5vLXJlcGVhdCBjZW50ZXI7Cn0KCiNBZHZhbmNlZENvbnRlbnRfY2xvc2UgewoJYmFja2dyb3VuZCA6IHVybCgnLi4vaW1nL2Nsb3NlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7Cn0KCiNBZHZhbmNlZENvbnRlbnRfcmVsb2FkX2RpciB7CgliYWNrZ3JvdW5kIDogdXJsKCcuLi9pbWcvcmVsb2FkLnBuZycpIG5vLXJlcGVhdDsKfQoKI0FkdmFuY2VkQ29udGVudF9jbGVhcl9jYWNoZSB7CgliYWNrZ3JvdW5kIDogdXJsKCcuLi9pbWcvY2xlYXJfY2FjaGUucG5nJykgbm8tcmVwZWF0Owp9CgoKI0FkdmFuY2VkQ29udGVudF9oZWFkZXIgZm9ybSBwIHsKCWxpbmUtaGVpZ2h0IDogMTMwJTsKCXBhZGRpbmcgICAgIDogNXB4IDAgMCAwOwp9CgojQWR2YW5jZWRDb250ZW50X2hlYWRlciB7CgltYXJnaW4gICAgICAgICAgIDogMHB4OwoJcGFkZGluZyAgICAgICAgICA6IDBweDsKfQoKI0FkdmFuY2VkQ29udGVudF9oZWFkZXIgZmllbGRzZXQgewoJbWFyZ2luICAgOiA1cHg7CgljbGVhciAgICA6IGJvdGg7CglvdmVyZmxvdyA6IGhpZGRlbjsKfQoKI0FkdmFuY2VkQ29udGVudF9oZWFkZXIgZmllbGRzZXQgbGVnZW5kIHsKCWZvbnQtc2l6ZSAgICAgIDogMTAwJTsKCW1hcmdpbi1ib3R0b20gIDogMDsKCW1hcmdpbi10b3AgICAgIDogMDsKCXBhZGRpbmctYm90dG9tIDogMDsKCXBhZGRpbmctdG9wICAgIDogMDsKfQoKI0FkdmFuY2VkQ29udGVudF9maWxlb3BlcmF0aW9ucyB7Cgkgb3ZlcmZsb3c6aGlkZGVuOwoJIHdpZHRoOjEwMCU7Cn0KCiNBZHZhbmNlZENvbnRlbnRfdG9nZ2xlX2ZpbGVvcGVyYXRpb25zIHsKCWZsb2F0OnJpZ2h0OwoJbWFyZ2luLXRvcDotMjJweDsKCW1hcmdpbi1yaWdodCA6IDBweDsKfQoKI0FkdmFuY2VkQ29udGVudCBkaXYuYnJlYWRjcnVtYnMgewoJcGFkZGluZy1sZWZ0IDogMTBweDsKfQoKI0FkdmFuY2VkQ29udGVudF9maWxlbGlzdCB7CgltYXJnaW4gICAgICAgICAgIDogNXB4IDVweCA1cHg7Cglib3JkZXIgICAgICAgICAgIDogMXB4IHNvbGlkICM5N0IxQjk7CgliYWNrZ3JvdW5kLWNvbG9yIDogI2ZmZjsKCW92ZXJmbG93ICAgICAgICAgOiBhdXRvOwoJbWluLXdpZHRoICAgICAgICA6IDUzOHB4OwoJb3BhY2l0eSAgICAgICAgICA6IDA7Cn0KI0FkdmFuY2VkQ29udGVudF9maWxlbGlzdCB0YWJsZSB0ciB0ZHsKCXBhZGRpbmctdG9wICAgOiA1cHg7CglwYWRkaW5nLXJpZ2h0IDogNXB4OwoJZW1wdHktY2VsbHMgICA6IHNob3c7Cn0KCi5BZHZhbmNlZENvbnRlbnRfdGh1bWJuYWlsX3dyYXBwZXIgewoJbWFyZ2luICAgICAgICAgOiAycHg7Cgl0ZXh0LWFsaWduICAgICA6IGNlbnRlcjsKCXZlcnRpY2FsLWFsaWduIDogbWlkZGxlOwoJb3ZlcmZsb3cgICAgICAgOiBoaWRkZW47CglkaXNwbGF5ICAgICAgICA6IGJsb2NrOwoJZmxvYXQgICAgICAgICAgOiBsZWZ0Owp9CgojQWR2YW5jZWRDb250ZW50X2ZpbGVsaXN0IC5BZHZhbmNlZENvbnRlbnRfdGh1bWJuYWlsX3dyYXBwZXIgewoJaGVpZ2h0ICAgOiBhdXRvOwoJb3ZlcmZsb3cgOiB2aXNpYmxlOwoJZmxvYXQgICAgOiBub25lOwp9CgouQWR2YW5jZWRDb250ZW50X3RodW1ibmFpbF93cmFwcGVyIGltZy5BZHZhbmNlZENvbnRlbnRfdGh1bWJuYWlsIHsKICAgbWFyZ2luICA6IDJweDsKICAgcGFkZGluZyA6IDJweDsKICAgYm9yZGVyICA6IDFweCBzb2xpZCAjOTk5OTk5Owp9Ci8qRmlsZSBvcGVyYXRpb25zKi8KLyplcnJvciovCiNBZHZhbmNlZENvbnRlbnRfZXJyb3J7CiAgIAlwYWRkaW5nICAgICA6IDVweCA1cHggMTBweCAxMHB4OwoJYm9yZGVyICAgICAgOiAxcHggc29saWQgI0ZEOTk5OTsKCWNvbG9yICAgICAgIDogIzAwMDsKCWJhY2tncm91bmQgIDogI0ZFREFEQTsKCWZvbnQtd2VpZ2h0IDogYm9sZDsKfQojQWR2YW5jZWRDb250ZW50X2Vycm9yIGxlZ2VuZHsKCWNvbG9yICAgICAgIDogI0NDMDAwMDsKCWZvbnQtd2VpZ2h0IDogYm9sZDsKCWZvbnQtc2l6ZSAgIDogMS4xZW07Cn0KLypzdWNlc3MqLwojQWR2YW5jZWRDb250ZW50X3N1Y2Nlc3N7CiAgIAlwYWRkaW5nICAgICA6IDVweCA1cHggMTBweCAxMHB4OwoJY29sb3IgICAgICAgOiAjMDAwOwoJZm9udC13ZWlnaHQgOiBib2xkOwoJYm9yZGVyICAgICAgOiAxcHggc29saWQgI0JERDNBMzsKCWJhY2tncm91bmQgIDogI0Q2RTRDNTsKfQojQWR2YW5jZWRDb250ZW50X3N1Y2Nlc3MgbGVnZW5kewoJY29sb3IgICAgICAgOiAjNDM1ODI5OwoJZm9udC13ZWlnaHQgOiBib2xkOwoJZm9udC1zaXplICAgOiAxLjFlbTsKfQoKLkFkdmFuY2VkQ29udGVudF9saW5rIHsKCXBhZGRpbmc6M3B4Owp9CgovKmZvcm0gaW5wdXQncyBpbiBub3JtYWwgY3NzKi8KaW5wdXQuQWR2YW5jZWRDb250ZW50X2J1dHRvbi5BZHZhbmNlZENvbnRlbnRfZGlzYWJsZWQsCmlucHV0LkFkdmFuY2VkQ29udGVudF9idXR0b24uQWR2YW5jZWRDb250ZW50X2Rpc2FibGVkOmhvdmVyLAouQWR2YW5jZWRDb250ZW50X2lucHV0X3dyYXBwZXIgLkFkdmFuY2VkQ29udGVudF9kaXNhYmxlZCwKLkFkdmFuY2VkQ29udGVudF9pbnB1dF93cmFwcGVyIC5BZHZhbmNlZENvbnRlbnRfZGlzYWJsZWQ6aG92ZXIgewoJY29sb3IgICAgICA6ICNDQ0M7CgljdXJzb3IgICAgIDogZGVmYXVsdDsKCWJvcmRlciAgICAgOiBub25lOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CgojQWR2YW5jZWRDb250ZW50X2xvYWRpbmdfaW1nX3dyYXBwZXIgewoJaGVpZ2h0ICAgICAgICA6IDE2cHg7Cgl3aWR0aCAgICAgICAgIDogMTZweDsKCWZsb2F0ICAgICAgICAgOiBsZWZ0OwoJcGFkZGluZy1yaWdodCA6IDVweDsKCWRpc3BsYXk6IGJsb2NrOwp9CiNBZHZhbmNlZENvbnRlbnRfbG9hZGluZ19pbWcgewoJaGVpZ2h0ICAgICAgICA6IDE2cHg7Cgl3aWR0aCAgICAgICAgIDogMTZweDsKCWRpc3BsYXk6IG5vbmU7Cn0KCiNBZHZhbmNlZENvbnRlbnQgLnVpLXJlc2l6YWJsZS1lIHsKCWN1cnNvcjogZS1yZXNpemU7CgloZWlnaHQ6IDEwMCU7CglyaWdodDogMHB4OwoJdG9wOiAyNnB4OwoJd2lkdGg6IDEwcHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXotaW5kZXg6OTk5OTsKfQoKI0FkdmFuY2VkQ29udGVudCAudWktcmVzaXphYmxlLXcgewoJY3Vyc29yOiB3LXJlc2l6ZTsKCWhlaWdodDogMTAwJTsKCWxlZnQ6IDBweDsKCXRvcDogMjZweDsKCXdpZHRoOiAxMHB4OwoJcG9zaXRpb246YWJzb2x1dGU7Cgl6LWluZGV4Ojk5OTk7Cn0KCi8qIGpTbGlkZXIgKi8KLmpzbGlkZXIgLmpzbGlkZXItYmcgaSwKLmpzbGlkZXIgLmpzbGlkZXItcG9pbnRlcgp7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL3NsaWRlci9qc2xpZGVyLnBuZycpIG5vLXJlcGVhdCAwIDA7IH0KCi5qc2xpZGVyIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiA0MDBweDsgaGVpZ2h0OiAxZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAwLjZlbTsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBtYXJnaW46MTBweCAwIDAgMTBweCB9Ci5qc2xpZGVyIHRhYmxlIHsgd2lkdGg6IDEwMCU7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IGJvcmRlcjogMDsgfQouanNsaWRlciB0ZCwgLmpzbGlkZXIgdGggeyBwYWRkaW5nOiAwOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyBib3JkZXI6IDA7IH0KCi5qc2xpZGVyIHRhYmxlLAouanNsaWRlciB0YWJsZSB0ciwKLmpzbGlkZXIgdGFibGUgdHIgdGQgeyB3aWR0aDogMTAwJTsgdmVydGljYWwtYWxpZ246IHRvcDsgfQoKLmpzbGlkZXIgLmpzbGlkZXItYmcgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KLmpzbGlkZXIgLmpzbGlkZXItYmcgaSB7IGhlaWdodDogNXB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGZvbnQtc2l6ZTogMDsgdG9wOiAwOyB9Ci5qc2xpZGVyIC5qc2xpZGVyLWJnIC5sIHsgd2lkdGg6IDUwJTsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyBsZWZ0OiAwOyB9Ci5qc2xpZGVyIC5qc2xpZGVyLWJnIC5yIHsgd2lkdGg6IDUwJTsgbGVmdDogNTAlOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwOyB9Ci5qc2xpZGVyIC5qc2xpZGVyLWJnIC52IHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogNjAlOyBsZWZ0OiAyMCU7IHRvcDogMDsgaGVpZ2h0OiA1cHg7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwcHg7IH0KCi5qc2xpZGVyIC5qc2xpZGVyLXBvaW50ZXIgeyB3aWR0aDogMTNweDsgaGVpZ2h0OiAxNXB4OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDIwJTsgdG9wOiAtNHB4OyBtYXJnaW4tbGVmdDogLTZweDsgY3Vyc29yOiBwb2ludGVyOyBjdXJzb3I6IGhhbmQ7IH0KLmpzbGlkZXIgLmpzbGlkZXItcG9pbnRlci1ob3ZlciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IC00MHB4OyB9Ci5qc2xpZGVyIC5qc2xpZGVyLXBvaW50ZXItdG8geyBsZWZ0OiA4MCU7IH0KCi5qc2xpZGVyIC5qc2xpZGVyLWxhYmVsIHsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiAxMnB4OyBjb2xvcjogYmxhY2s7IG9wYWNpdHk6IDAuNDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgcGFkZGluZzogMHB4IDJweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xOHB4OyBsZWZ0OiAwcHg7IH0KLmpzbGlkZXIgLmpzbGlkZXItbGFiZWwtdG8geyBsZWZ0OiBhdXRvOyByaWdodDogMDsgfQoKLmpzbGlkZXIgLmpzbGlkZXItdmFsdWUgeyBmb250LXNpemU6IDlweDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgcGFkZGluZzogMXB4IDJweCAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTE5cHg7IGxlZnQ6IDIwJTsgYmFja2dyb3VuZDogd2hpdGU7IGxpbmUtaGVpZ2h0OiAxMnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDJweDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7IC1vLWJvcmRlci1yYWRpdXM6IDJweDsgYm9yZGVyLXJhZGl1czogMnB4OyB9Ci5qc2xpZGVyIC5qc2xpZGVyLXZhbHVlLXRvIHsgbGVmdDogODAlOyB9CgouanNsaWRlciAuanNsaWRlci1sYWJlbCBzbWFsbCwKLmpzbGlkZXIgLmpzbGlkZXItdmFsdWUgc21hbGwgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogLTAuNGVtOyB9CgouanNsaWRlciAuanNsaWRlci1zY2FsZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiA5cHg7IH0KLmpzbGlkZXIgLmpzbGlkZXItc2NhbGUgc3BhbiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiA1cHg7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzk5OTsgZm9udC1zaXplOiAwOyB9Ci5qc2xpZGVyIC5qc2xpZGVyLXNjYWxlIGlucyB7IGZvbnQtc2l6ZTogOXB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyB0b3A6IDVweDsgY29sb3I6ICM5OTk7IH0KCi5qc2xpZGVyLXNpbmdsZSAuanNsaWRlci1wb2ludGVyLXRvLAouanNsaWRlci1zaW5nbGUgLmpzbGlkZXItdmFsdWUtdG8sCi5qc2xpZGVyLXNpbmdsZSAuanNsaWRlci1iZyAudiwKLmpzbGlkZXItbGltaXRsZXNzIC5qc2xpZGVyLWxhYmVsCnsgZGlzcGxheTogbm9uZTsgfQoKCiogaHRtbCAuanNsaWRlciAuanNsaWRlci1iZyAubCwKKiBodG1sIC5qc2xpZGVyIC5qc2xpZGVyLWJnIC5yLAoqIGh0bWwgLmpzbGlkZXIgLmpzbGlkZXItYmcgLnYsCiogaHRtbCAuanNsaWRlciAuanNsaWRlci1wb2ludGVyIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgb3ZlcmZsb3c6IGhpZGRlbjsgfQoKKiBodG1sIC5qc2xpZGVyIC5qc2xpZGVyLWJnIC5sIGksCiogaHRtbCAuanNsaWRlciAuanNsaWRlci1iZyAuciBpLAoqIGh0bWwgLmpzbGlkZXIgLmpzbGlkZXItYmcgLnYgaSwKKiBodG1sIC5qc2xpZGVyIC5qc2xpZGVyLXBvaW50ZXIgaSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDUwMHB4OyBoZWlnaHQ6IDYwcHg7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPScuL3N0eWxlc2hlZXRzL2pzbGlkZXIucG5nJywgc2l6aW5nTWV0aG9kPSdjcm9wJyk7IH0KICAKKiBodG1sIC5qc2xpZGVyIC5qc2xpZGVyLWJnIC5sIGkgeyBsZWZ0OiAwOyB0b3A6IDA7IH0KKiBodG1sIC5qc2xpZGVyIC5qc2xpZGVyLWJnIC5yIGkgeyByaWdodDogMDsgdG9wOiAwOyB9ICAKKiBodG1sIC5qc2xpZGVyIC5qc2xpZGVyLWJnIC52IGkgeyBsZWZ0OiAwOyB0b3A6IC0yMHB4OyB9CiAgCiogaHRtbCAuanNsaWRlciAuanNsaWRlci1wb2ludGVyIGkgeyBsZWZ0OiAwOyB0b3A6IC00MHB4OyB9CiogaHRtbCAuanNsaWRlciAuanNsaWRlci1wb2ludGVyLWhvdmVyIGkgeyBsZWZ0OiAtMjBweDsgdG9wOiAtNDBweDsgfQoKCiAgLmpzbGlkZXJfcm91bmQgLmpzbGlkZXItYmcgaSwKICAuanNsaWRlcl9yb3VuZCAuanNsaWRlci1wb2ludGVyCiAgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9zbGlkZXIvanNsaWRlci5yb3VuZC5wbmcnKTsgfQogIAogIAoqIGh0bWwgLmpzbGlkZXJfcm91bmQgLmpzbGlkZXItYmcgLmwgaSwKKiBodG1sIC5qc2xpZGVyX3JvdW5kIC5qc2xpZGVyLWJnIC5yIGksCiogaHRtbCAuanNsaWRlcl9yb3VuZCAuanNsaWRlci1iZyAudiBpLAoqIGh0bWwgLmpzbGlkZXJfcm91bmQgLmpzbGlkZXItcG9pbnRlciBpIHsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9Jy4vc3R5bGVzaGVldHMvanNsaWRlci5yb3VuZC5wbmcnLCBzaXppbmdNZXRob2Q9J2Nyb3AnKTsgfQoKCiAgLmpzbGlkZXJfcm91bmQgLmpzbGlkZXItcG9pbnRlciB7IHdpZHRoOiAxN3B4OyBoZWlnaHQ6IDE3cHg7IHRvcDogLTZweDsgbWFyZ2luLWxlZnQ6IC04cHg7IH0K]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/changelog.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGJyIC8+CjxwPjxzdHJvbmc+TW9kdWxlIHJlbGVhc2VzPC9zdHJvbmc+Li4uPC9wPgo8dWw+Cgk8bGk+PHA+PHN0cm9uZz4wLjguMSAoU2VwdGVtYmVyIDIwMTEpOjwvc3Ryb25nPjwvcD4KCQk8dWw+CgkJCTxsaT48cD5CdWdmaXhlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gU2VjdXJpdHkgQnVnZml4PC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gY29tcGF0aWJpbGl0eSBidWdmaXggZm9yIENNU21zIDEuMTA8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBmaXhlZCAiV2FybmluZzogUGFyYW1ldGVyIFsuLi5dIGlzIG5vdCBrbm93biBieSBtb2R1bGUgRnJvbnRFbmRVc2VycyIgd2hlbiByZWRpcmVjdGluZyB1bmF1dGhvcml6ZWQgdXNlcnMgYW5kIHVzaW5nIGN1c3RvbSB1cmwgcGFyYW1zLiA8YnIgLz4oYWRkZWQgb3B0aW9ucyAiRkVVIFBhcmFtcyIgYW5kICJDdXN0b20gcGFyYW1zIik8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+PHA+PHN0cm9uZz4wLjggLyAwLjYuNSAoTWF5IDIwMTEpOjwvc3Ryb25nPjwvcD4KCQk8dWw+CgkJCTxsaT48cD5CdWdmaXhlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gWyM2MjY1XSAoQ2FsbC10aW1lIHBhc3MtYnktcmVmZXJlbmNlIHdhcm5pbmdzKTwvcD48L2xpPgoJCQkJCTxsaT48cD4tIG1pc3NlZCBwYXJhbSBub19jb2xsYXBzZTwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSBoaWRlIG1lbnUgZW50cnkgaWYgbm8gYWNjZXNzIHRvIHZpZXcgdGhlIHBhZ2U8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBpbmhlcml0YW5jZSBvZiByZWRpcmVjdCBwYXJhbXMsIGV4cGlyZSBkYXRlPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gZGVmYXVsdCBzZXR0aW5ncyBmb3IgZXhwaXJlIGRhdGU8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBhZGRlZCBibG9ja190eXBlcyBzbGlkZXIvY29sb3JwaWNrZXIgKHRoYW5rcyB0byBuaWNtYXJlKTwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGFkZGVkIGEgd2FybmluZyB3aGVuIHVuaW5zdGFsbGluZyB0aGUgbW9kdWxlPC9wPjwvbGk+CgkJCQk8L3VsPgoJCQk8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPjxwPjxzdHJvbmc+MC42LjQgKE1hciAyMDExKTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tIFsjNjI0MV0gKElzc3VlIHdpdGggcGFyYW0gZGVmYXVsdCk8L3A+PC9saT4KCQkJCQk8bGk+PHA+ZmF0YWwgZXJyb3IgaW4gQWR2YW5jZWRDb250ZW50Lm1vZHVsZS5waHA8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+PHA+PHN0cm9uZz4wLjcuMiAvIDAuNi4zIChNYXIgMjAxMSk6PC9zdHJvbmc+PC9wPgoJCTx1bD4KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSBbIzU3MzRdIFBhcmFtZXRlciBibG9ja19ncm91cCBpcyBub3Qga25vd24gYnkgbW9kdWxlIEFkdmFuY2VkQ29udGVudDwvcD48L2xpPgoJCQkJCTxsaT48cD4tIFsjNjAxNF0gaGVhZGVyIHByb2JsZW0gd2l0aCBtdWx0aS1pbnB1dDwvcD48L2xpPgoJCQkJCTxsaT48cD4tIFsjNjAzOF0gY29udGVudF9pbWFnZSByZXNwZWN0aXZlbHkgYmxvY2tfdHlwZT0iaW1hZ2UiIGRvZXNuJ3Qgd29yazwvcD48L2xpPgoJCQkJCTxsaT48cD4tIFsjNjAzOV0gdGVtcGxhdGUgY2FuJ3QgYmUgc3dpdGNoZWQ8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBbIzYwNjFdIGlzc3VlIHdpdGggdGhlIHJlZGlyZWN0IGZvciBmZXUgbm9uIG1hdGNoPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gWyM2MDk1XSBQYXJhbWV0ZXIgc29ydGFibGUgaXMgbm90IGtub3duIDwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT48cD48c3Ryb25nPjAuNy4xIChOb3YgMjAxMCkgLyAwLjYuMyAoTWFyIDIwMTEpOjwvc3Ryb25nPjwvcD4KCQk8dWw+CgkJCTxsaT48cD5CdWdmaXhlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gZml4ZWQgYnVnIGl0ZW0gIzU2NTEgKHJlZGlyZWN0IGlmIGZyb250ZW5kIHVzZXIgaGFzIG5vIGFjY2VzIHRvIHRoYXQgcGFnZSBkaWQgbm90IHdvcmsgcHJvcGVybHkpPC9wPjwvbGk+CgkJCQk8L3VsPgoJCQk8L2xpPgoJCQk8bGk+PHA+RmVhdHVyZXM6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGZldV9hY2Nlc3M8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBmZXVfYWN0aW9uPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gY29sbGFwc2U8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSByZXF1aXJlZDwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT48cD48c3Ryb25nPjAuNyAoTm92IDIwMTApOjwvc3Ryb25nPjwvcD4KCQk8dWw+CgkJCTxsaT48cD5CdWdmaXhlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gY29tcGF0aWJpbGl0eSBidWdmaXhlcyBmb3IgQ01TbXMgMS45KyAobmVlZHMgQ01TbXMgMS45IG1pbmltdW0gbm93KTwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBub19jb2xsYXBzZTwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT48cD48c3Ryb25nPjAuNi4yIChOb3YgMjAxMCk6PC9zdHJvbmc+PC9wPgoJCTx1bD4KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSBtaW5vciBidWdmaXggKHNob3dlZCB0YWJzIG9mIHByZXZpb3VzIHRlbXBsYXRlIHdoZW4gdGVtcGxhdGUgd2FzIGNoYW5nZWQpPC9wPjwvbGk+CgkJCQk8L3VsPgoJCQk8L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPjxwPjxzdHJvbmc+MC42LjEgKE5vdiAyMDEwKTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tIHNldmVyYWwgYnVnZml4ZXM8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBjb21wYXRpYmlsaXR5IGJ1Z2ZpeGVzIGZvciBDTVNtcyAxLjk8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJCTxsaT48cD5GZWF0dXJlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gYWRkZWQgYmxvY2tfdHlwZSBtdWx0aV9pbnB1dDwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT48cD48c3Ryb25nPjAuNiAoT2N0IDIwMTApOjwvc3Ryb25nPjwvcD4KCQk8dWw+CgkJCTxsaT48cD5CdWdmaXhlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gc2V2ZXJhbCBidWdmaXhlczwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBibG9ja19ncm91cDwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQkJPGxpPjxwPk1pc2M6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tIFJlbW92ZWQgZmlsZSBwaWNrZXIgKGFuZCBhc3NvY2lhdGVkIGJsb2NrX3R5cGVzIGltYWdlL2ZpbGUpIC0gdXNlIEdCRmlsZVBpY2tlciBpbnN0ZWFkLjwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT48cD48c3Ryb25nPjAuNSAoU2VwdCAyMDEwKTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD5maXhlZCBidWcgaXRlbSAjNTI5MiAobWVtb3J5IGlzc3VlKTwvcD48L2xpPgoJCQkJCTxsaT48cD5maXhlZCBidWcgaXRlbSAjNTI1NCAoZGlzYWJsZSB3eXNpd3lnIG5vdCB3b3JraW5nKTwvcD48L2xpPgoJCQkJCTxsaT48cD5maXhlZCBidWcgaXRlbSAjNTMxMCAodXJsb25seSBub3Qgd29ya2luZyk8L3A+PC9saT4KCQkJCQk8bGk+PHA+Zml4ZWQgYnVnIGl0ZW0gIzUzMTEgKGltYWdlIHBhdGhzIG5vdCBzdG9yZWQgJ2NvcnJlY3RseScpPC9wPjwvbGk+CgkJCQk8L3VsPgoJCQk8L2xpPgoJCQk8bGk+PHA+RmVhdHVyZXM6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNjEgKEFkZCBzb3J0IHRvIGltYWdlIHR5cGUgLSBub3RpY2UgdGhlIGNoYW5nZSBvZiBwYXJhbSBmaWx0ZXIpPC9wPjwvbGk+CgkJCQkJPGxpPjxwPmFkZGVkIHBhcmFtcyBleGNsdWRlX3ByZWZpeCwgaW5jbHVkZV9wcmVmaXgsIGV4Y2x1ZGVfc3VmaXgsIGluY2x1ZGVfc3VmaXg8L3A+PC9saT4KCQkJCQk8bGk+PHA+YWRkZWQgZmVhdHVyZSByZXF1ZXN0ICM1MjUzIChUZXh0IGlucHV0IHRvIGRlZmluZSBhZGQgcGFyYW1zIHRvIHJlZGlyZWN0IGZ1bmN0aW9uKTwvcD48L2xpPgoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNDAgKERlZmF1bHQgdmFsdWVzIG9mIEFkdmFuY2VkQ29udGVudCBwYWdlIG9wdGlvbnMpPC9wPjwvbGk+CgkJCQkJPGxpPjxwPmFkZGVkIGZlYXR1cmUgcmVxdWVzdCAjNTI0MSAocHV0IEZldUFjY2VzcyBpbiBCbG9ja3RhYik8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJCTxsaT48cD5NaXNjOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSBBZHZhbmNlZENvbnRlbnQgb3B0aW9ucyBhcmUgc2hvd24gaW4gc2VwYXJhdGUgdGFiPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gQWRkZWQgbmV3IHBlcm1pc3Npb24gdG8gbWFuYWdlIHRoZSBBZHZhbmNlZENvbnRlbnQgb3B0aW9ucyB0YWI8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSByZW1vdmVkIHBhcmFtIGZpbHRlciAodXNlIG5ldyBwYXJhbXMgaW5zdGVhZCk8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBwYXRoIHRvIGZpbGVzIGFyZSBzdG9yZWQgcmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gcGFyYW0gZGlyIG9mIGJsb2NrIHR5cGUgZmlsZS9pbWFnZSBuZWVkcyB0byBiZSByZWxhdGl2ZSB0byB0aGUgdXBsb2FkcyBkaXIgb25seSAodGhlcmUgaXMgbm8gaW1hZ2UgdXBsb2FkcyBkaXIgdXNlZCBhbnltb3JlKTwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT48cD48c3Ryb25nPjAuNC4xIChBdWd1c3QgMjAxMCk6PC9zdHJvbmc+PC9wPgoJCTx1bD4KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSAjNTE1MTogZml4ZWQgc3R5bGVzaGVldCBpc3N1ZSB3aXRoIGV4cGFuZC9jb2xsYXBzZSBidXR0b25zIG9mIGNvbnRlbnQgYmxvY2tzIGluIElFL1NhZmFyaS48L3A+PC9saT4KCQkJCQk8bGk+PHA+LSAjNTE2MjogUEhQIHdhcm5pbmdzIGlmIGJhY2tlbmQgdXNlcnMgd2l0aG91dCBwZXJtaXNzaW9uICJNYW5hZ2UgQWxsIEFkdmFuY2VkQ29udGVudCBCbG9ja3MiIG9wZW4gYW4gYWR2YW5jZWQgY29udGVudCBwYWdlIGFuZCBtdWx0aXBsZSBjb250ZW50IGJsb2NrcyBvZiBzYW1lIG5hbWUgd2VyZSB1c2VkIGluIHRlbXBsYXRlLjwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBleHRyYSBmaWVsZHMgY291bGQgbm90IGJlIHVwZGF0ZWQuPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gZml4ZWQgYnVnIHdoZXJlIGZldSBhY2Nlc3MgZGlkIG5vdCB3b3JrLjwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAiZGVsZXRlIiB0byBsZXQgdXNlcnMgZGVsZXRlIGZpbGVzIGV2ZW4gaWYgbm8gcGVybWlzc2lvbiAiTW9kaWZ5IEZpbGVzIjwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICJjcmVhdGVfZGlycyIgdG8gbGV0IHVzZXJzIGNyZWF0ZV9kaXJzIGV2ZW4gaWYgbm8gcGVybWlzc2lvbiAiTW9kaWZ5IEZpbGVzIjwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGFkZGVkIG5ldyBibG9ja3R5cGUgIm5vdGUiIHRvIGNyZWF0ZSBzb21lIHNpbmdsZSBub3RlcyBmb3IgeW91ciBlZGl0b3JzPC9wPjwvbGk+CgkJCQk8L3VsPgoJCQk8L2xpPgoJCQk8bGk+PHA+TWlzYzo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gcmVtb3ZlZCBkZXBlbmRlbmN5IG9mIEZpbGVNYW5hZ2VyPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gYmxvY2sgb2YgdHlwZSBmaWxlIG9yIGltYWdlIHN0b3JlcyByZWxhdGl2ZSB1cmwgbm93PC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gYmxvY2sgdHlwZSBpbWFnZSBzaG93cyB0aHVtYm5haWwgaW4gYmFja2VuZCBwcmV2aWV3IGluc3RlYWQgb2YgZnVsbCBpbWFnZTwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT48cD48c3Ryb25nPjAuNCAoSnVseSAyMDEwKTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+SW1wb3J0YW50IG5vdGljZTo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gY2hhbmdlZCBwYXJhbSAidHlwZSIgdG8gImJsb2NrX3R5cGUiIHNpbmNlIGl0IGludGVyZmVyZXMgd2l0aCB7Y29udGVudF9tb2R1bGV9IHRhZzwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSAjNTEwMTogcGFnZV90YWIgIm9wdGlvbnMiIHdhcyBzaG93biB0byB1c2VycyB3aXRoIG5vIHBlcm1pc3Npb24gdG8gZWRpdCBwYWdlIG9wdGlvbnMgaWYgYSBjb250ZW50IGJsb2NrIHdhcyBhc3NpZ25lZCB0byB0aGF0IHRhYi48L3A+PC9saT4KCQkJCQk8bGk+PHA+LSAjNTA5NzogbGluayB0byBtaXNzaW5nIGNzcyByZW1vdmVkPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gZml4ZWQgbWltZS10eXBlIGlzc3VlIChhZGRlZCBwcmVmZXJlbmNlIHRvIHRvZ2dsZSBtaW1lLXR5cGUgdXNhZ2Ugb24vb2ZmKTwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGZpeGVkIHBhdGggaXNzdWUgd2hlcmUgdGh1bWJuYWlscyB3ZXJlIG5vdCBzaG93bjwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGZpeGVkIGNvbXBhdGliaWxpdHkgd2l0aCBDTVNtcyAxLjg8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBvdGhlciBtaW5vciBidWdmaXhlczwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4KCQkJCTx1bD4KCQkJCQk8bGk+PHA+LSBhZGRlZCBNTEUgc3VwcG9ydDwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICJzaG93X2Nsb2NrIiB0byBlbmFibGUvZGlzYWJsZSB0aGUgdGltZSBkcm9wZG93biBvZiBibG9ja3R5cGVzICJkYXRlIiBpbiBiYWNrZW5kPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gImRhdGVfZm9ybWF0IiB0byBmb3JtYXQgdGltZXN0YW1wIG9mIGJsb2NrdHlwZXMgImRhdGUiIGluIGZyb250ZW5kPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gImRlc2NyaXB0aW9uIjwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGFkZGVkIGJ1bGsgZnVuY3Rpb24gdG8gc2V0IGFsbCBwYWdlcyB0byBBZHZhbmNlZENvbnRlbnQ8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBhZGRlZCBjb21wYXRpYmlsaXR5IHdpdGgge2NvbnRlbnRfbW9kdWxlfSB0YWc8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+PHA+PHN0cm9uZz4wLjMuNCAoSnVuZSAyMDEwKTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tICM1MDQ1OiBXaGVuIHN3aXRjaGluZyBmcm9tIENvbnRlbnQgLT4gQWR2YW5jZWQgQ29udGVudCBsb3RzIG9mIFBIUCBlcnJvcnM8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSAjNTA1NjogcGFnZV90YWJzIG5vdCB3b3JraW5nIGZvciB1c2VycyB3aXRob3V0IHBlcm1pc3Npb24gIk1hbmFnZSBBbGwgQ29udGVudCI8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSAjNTA3MzogaW5jb3JyZWN0IGRpc3BsYXkgb2YgZmlsZXMgd2hlbiBvcGVuaW5nIGZpbGVwaWNrZXI8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSBmaXhlZCBtaW5vciBidWcgd2hlcmUgdGhlIG9wdGlvbiAiYWxsb3dfbm9uZSIgb2YgY29udGVudCBibG9ja3Mgb2YgdHlwZSBpbWFnZS9maWxlIHdhcyBub3Qgc2hvd24gd2hlbiB0ZW1wbGF0ZSBoYXMgYmVlbiBlZGl0ZWQ8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJCTxsaT48cD5GZWF0dXJlczo8L3A+CgkJCQk8dWw+CgkJCQkJPGxpPjxwPi0gYWRkZWQgZmlsZW1hbmFnZW1lbnQgYW5kIHVwbG9hZCBmdW5jdGlvbnMgdG8gY29udGVudCBibG9ja3Mgb2YgdHlwZSBpbWFnZS9maWxlPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gYWRkZWQgYnJlYWRjdW1icyB0byBmaWxlcGlja2VyPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gYWRtaW5zIG1heSBicm93c2UgdGhlIGVudGlyZSBkaXIgdHJlZSBpbiBmaWxlcGlja2VyIGZpbGUgYnJvd3NlciByZWdhcmRsZXNzIG9mIHRlbXBsYXRlIHBhcmFtczwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGFkZGVkIG1pbWUgdHlwZSBjaGVja2luZyB0byBnZXQgZmlsZSB0eXBlPC9wPjwvbGk+CgkJCQkJPGxpPjxwPi0gYWRkZWQgcmF3dXJsZW5jb2RlIGluIHNyYyBhdHRyaWJzIHRvIGRpc3BsYXkgaW1hZ2VzIHdpdGggd2VpcmQgZmlsZW5hbWVzLjwvcD48L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQkJPGxpPjxwPm1pc2NlbGxhbmVvdXM6PC9wPgoJCQkJPHVsPgoJCQkJCTxsaT48cD4tIHJlbW92ZWQgT09QIHN0dWZmIChwcml2YXRlL3B1YmxpYy9wcm90ZWN0ZWQpIHRvIGdhaW4gbW9yZSBjb21wYXRpYmlsaXR5IHdpdGggUEhQNDwvcD48L2xpPgoJCQkJCTxsaT48cD4tIGNoYW5nZWQgYWpheCBmdW5jdGlvbnMgdG8gcmV0dXJuIHhtbCB2YWx1ZXM8L3A+PC9saT4KCQkJCQk8bGk+PHA+LSByZW1vdmVkIHVzYWdlIG9mIEltYWdlTWFuYWdlciBvbmNlIGFuZCBmb3IgYWxsLiAoY2F1c2VkIG9ubHkgdHJvdWJsZSk8L3A+PC9saT4KCQkJCTwvdWw+CgkJCTwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+PHA+PHN0cm9uZz4wLjMuMyAoSnVuZSAyMDEwKTo8L3N0cm9uZz48L3A+Cgk8dWw+CgkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4KCQkJPHVsPgoJCQkJPGxpPjxwPi0gYWxpYXMgd2FzIG5vdCBhbHdheXMgY29udmVydGVkIHByb3Blcmx5PC9wPjwvbGk+CgkJCQk8bGk+PHA+LSB1bnN1Ym1pdHRlZCBjb250ZW50IGdvdCBsb3N0IGlmIHN3aXRjaGluZyBmcm9tIENvbnRlbnQgdG8gQWR2YW5jZWRDb250ZW50PC9wPjwvbGk+CgkJCTwvdWw+CgkJPC9saT4KCQk8bGk+PHA+RmVhdHVyZXM6PC9wPgoJCQk8dWw+CgkJCQk8bGk+PHA+LSBhZGRlZCBzdGFydC9lbmQgZGF0ZTwvcD48L2xpPgoJCQkJPGxpPjxwPi0gcmVtb3ZlZCB0aW1lcGlja2VyOyByZXBsYWNlZCBieSBhIHNpbXBsZSBkcm9wZG93bjwvcD48L2xpPgoJCQkJPGxpPjxwPi0gY29tcGF0aWJpbGl0eSB3aXRoIHtjb250ZW50X2ltYWdlfTwvcD48L2xpPgoJCQk8L3VsPgoJCTwvbGk+Cgk8L3VsPgoJPGxpPjxwPjxzdHJvbmc+MC4zLjIgKEp1bmUgMjAxMCk6PC9zdHJvbmc+PC9wPgoJCTx1bD4KCQkJPGxpPjxwPi0gZml4ZWQgYnVnIHdoZXJlIGNoYW5naW5nIGJhY2sgdG8gZGVmYXVsdCBjb250ZW50IHR5cGUgb3IgY2hhbmdpbmcgdGVtcGxhdGUgY2F1c2VkIGZhdGFsIGVycm9yczwvcD48L2xpPgoJCQk8bGk+PHA+LSBmaXhlZCBhIGJ1ZyB3aXRoIHNtYXJ0eSBwcm9jZXNzaW5nIHdoZW4gc2F2aW5nIGEgcGFnZTwvcD48L2xpPgoJCQk8bGk+PHA+LSBmaXhlZCBhIGJ1ZyB3aXRoIHByZXZpZXcgdGFiPC9wPjwvbGk+CgkJCTxsaT48cD4tIHJlLWFkZGVkIGV4cGFuZC9jb2xsYXBzZSBidXR0b24gdG8gdG9nZ2xlIGNvbnRlbnQgYmxvY2tzIGluIGJhY2tlbmQ8L3A+PC9saT4KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW1zIGVkaXRvcl9ncm91cHMvZWRpdG9yX3VzZXJzIHRvIHNwZWNpZnkgY2VydGFpbiB1c2Vycy9ncm91cHMgdGhhdCBhcmUgYWxsb3dlZCB0byBlZGl0IGNlcnRhaW4gYmxvY2tzPC9wPjwvbGk+CgkJCTxsaT48cD4tIHJlbW92ZWQgcGFyYW1zIHNlbGVjdGVkL2NoZWNrZWQ7IHVzZSBwYXJhbSBkZWZhdWx0IGluc3RlYWQ8L3A+PC9saT4KCQkJPGxpPjxwPi0gYmxvY2sgaWRzIHdpbGwgYmUgY29udmVydGVkIGZyb20gYmxvY2sgbmFtZSB1c2luZyBjb3JlIGZ1bmN0aW9uIG11bmdlX3N0cmluZ190b191cmwgKHRvIHJlbW92ZSBzcGVjaWFsIGNoYXJzLCB3aGl0ZXNwYWNlcywgdW1sYXV0cyBldGMuKTwvcD48L2xpPgoJCQk8bGk+PHA+LSBmaXhlZCBidWcgb2YgYmxvY2t0eXBlIGRyb3Bkb3duL3NlbGVjdF9tdWx0aXBsZSB3aGVyZSBmaXJzdCBpdGVtIGhhZCBhbiBlbXB0eSBsYWJlbCBpZiBvbmx5IHRoZSBwYXJhbSAidmFsdWVzIiBpcyB1c2VkPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIHNvbWUgdGVtcGxhdGUgdmFycyBvZiB0aGUgZnJvbnRlbmQgdG8gYmUgYWxzbyBhY2Nlc3NpYmxlIGluIGJhY2tlbmQgKGUuZy46IFwkcGFnZV9hbGlhcyk8L3A+PC9saT4KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gImFsbG93X25vbmUiIHRvIGFsbCBjb250ZW50IGJsb2NrIHR5cGVzIHRvIHNwZWNpZnkgaWYgdGhlIHByZWRlZmluZWQgZGVmYXVsdCB2YWx1ZSB3aWxsIGJlIHVzZWQgaWYgbm8gdmFsdWUgaXMgZW50ZXJlZDwvcD48L2xpPgoJCQk8bGk+PHA+LSBmaXhlZCBidWcgd2hlcmUgZW1wdHkgdmFsdWVzIHdlcmUgbmV2ZXIgYmUgc3RvcmVkPC9wPjwvbGk+CgkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBkZWZhdWx0IHZhbHVlIGluIGZyb250ZW5kIHdhcyBpZ25vcmVkIGlmIHRoZSAiYWxsb3dfbm9uZSIgcGFyYW0gd2FzIGNoYW5nZWQgYWZ0ZXIgYW4gZW1wdHkgdmFsdWUgaGFzIGJlZW4gc3RvcmVkPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICJzb3J0YWJsZV9pdGVtcyIgdG8gY3JlYXRlIGEgc29ydGFibGUgbXVsdGlwbGUgc2VsZWN0IGxpc3QgKHNlbGVjdCBsaXN0IHdpbGwgcmVzdWx0IGluIGEgdGFibGUgd2l0aCBjaGVja2JveGVzOyBvbmx5IG9yZGVyIG9mIHNlbGVjdGVkIGl0ZW1zIHdpbGwgYmUgc3RvcmVkIGFuZCBzaG93ZWQgYXQgdGhlIHRvcCBvZiB0aGUgbGlzdDsgdW5zZWxlY3RlZCBpdGVtcyB3aWxsIGJlIGFwcGVuZGVkIGluIHRoYXQgb3JkZXIgdGhleSBhcmUgcGxhY2VkIGluIHRoZSB0ZW1wbGF0ZSk8L3A+PC9saT4KCQk8L3VsPgoJPC9saT4KCTxsaT48cD48c3Ryb25nPjAuMy4xIChNYXkgMjAxMCk6PC9zdHJvbmc+PC9wPgoJCTx1bD4KCQkJPGxpPjxwPi0gcmVtb3ZlZCB0aGUgcmVvcmRlcmluZyBzdHVmZiBmb3Igbm93IChjYXVzZXMgdHJvdWJsZSBhdCB0aGlzIHRpbWUpPC9wPjwvbGk+CgkJCTxsaT48cD4tIHJlbW92ZWQgdGhlIGRiIHN0dWZmIChwYXJhbXMgb2YgY29udGVudCBibG9ja3MgdGhhdCBhcmUgZGVmaW5lZCBpbiB0ZW1wbGF0ZSB3b24ndCBiZSBzYXZlZCBpbiBtb2R1bGUgZGIgdGFibGUgYW55bW9yZSAtPiBob3BlZnVsbHkgc3BlZWQgdXAgbG9hZGluZyB0aW1lKTwvcD48L2xpPgoJCQk8bGk+PHA+LSBmaXhlZCBhIGJ1ZyB3aXRoIGR1cGxpY2F0ZSBjb250ZW50IGJsb2NrczwvcD48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPgoJCTxwPjxzdHJvbmc+QWR2YW5jZWRDb250ZW50IDAuMyAoTWF5IDIwMTApOjwvc3Ryb25nPjwvcD4KCQk8dWw+CgkJCTxsaT48cD4tIHJld3JpdGUgY29kZTwvcD48L2xpPgoJCQk8bGk+PHA+LSBidWdmaXhlczwvcD48L2xpPgoJCQk8bGk+PHA+LSByZW5hbWVkIHRvIEFkdmFuY2VkQ29udGVudDwvcD48L2xpPgoJCQk8bGk+PHA+LSB1c2luZyBzZXBhcmF0ZSBtb2R1bGUgdGVtcGxhdGUgbm93IHRvIGRzcGxheSBjb250ZW50IGJsb2NrczwvcD48L2xpPgoJCQk8bGk+PHA+LSByZW1vdmVkIHBhZ2UgYWxpYXMgaW5oZXJpdGFuY2U8L3A+PC9saT4KCQk8L3VsPgoJPC9saT4KPC91bD4KPHVsPgoJPGxpPjxwPjxzdHJvbmc+WENvbnRlbnQgQkVUQSAzIChBcHJpbCAyMDEwIC0gZGlzY29udGludWVkKTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+LSBNYWpvciBCdWdmaXggKG1pc3NpbmcgIjsiIGFuZCBzdHJhbmdlIGludmlzaWJsZSBpbnZhbGlkIGNoYXJzKTwvcD48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPjxwPjxzdHJvbmc+WENvbnRlbnQgQkVUQSAyIChBcHJpbCAyMDEwIC0gZGlzY29udGludWVkKTo8L3N0cm9uZz48L3A+CgkJPHVsPgoJCQk8bGk+PHA+LSBmaXhlZCBhIGJ1ZyB3aXRoIHBhcmFtICJkZWxpbWl0ZXIiPC9wPjwvbGk+CgkJCTxsaT48cD4tIGZpeGVkIGEgYnVnIHdpdGggc21hcnR5IHByb2Nlc3Npbmc8L3A+PC9saT4KCQkJPGxpPjxwPi0gYWRkZWQgaW5oZXJpdGFuY2Ugb2YgIlNob3cgbG9naW4gZm9ybSI8L3A+PC9saT4KCQkJPGxpPjxwPi0gYWRkZWQgaW5oZXJpdGFuY2Ugb2YgcGFnZSBhbGlhcyB0byBhZGQgaXQgYXMgcHJlZmZpeDsgc28gaWYgeW91IGhhdmUgYSBwYWdlIGNhbGxlZCAibWVtYmVycyIgYW5kIHNlbGVjdCBmb3IgZWFjaCBjaGlsZCBwYWdlICJpbmhlcml0IHBhZ2UgYWxpYXMiIGFsbCBjaGlsZCBwYWdlcyBhbGlhc2VzIHdpbGwgc3RhcnQgd2l0aCAibWVtYmVyc18iOyBtYWtlcyBmaWx0ZXJpbmcgb2YgbWVudSBlbnRyaWVzIHdpdGggTWVudU1hbmFnZXIgcGFyYW0gImV4Y2x1ZGVwcmVmZml4IiBvciAiaW5jbHVkZXByZWZmaXgiIGVhc2llci48L3A+PC9saT4KCQkJPGxpPjxwPi0gbWlub3IgYnVnZml4ZXM8L3A+PC9saT4gCgkJPC91bD4KCTwvbGk+Cgk8bGk+CgkJPHA+PHN0cm9uZz5YQ29udGVudCBCRVRBIChBcHJpbCAyMDEwKTo8L3N0cm9uZz4gaW5pdGlhbCByZWxlYXNlPC9wPgoJCTx1bD4KCQkJPGxpPjxwPi0gY29udmVydGVkIHRoZSBzaW5nbGUgZmlsZSBpbnRvIGEgbW9kdWxlPC9wPjwvbGk+CgkJCTxsaT48cD4tIHJlbmFtZWQgcGFyYW1zOyBzZWUgbW9kdWxlIGhlbHAgZm9yIG1vcmUgZGV0YWlsczwvcD48L2xpPgoJCTwvdWw+Cgk8L2xpPgo8L3VsPgo8cD48c3Ryb25nPlNpbmdsZSBmaWxlIHJlbGVhc2VzIChkaXNjb250aW51ZWQpPC9zdHJvbmc+Li4uPC9wPgo8dWw+Cgk8bGk+CgkJPHA+PHN0cm9uZz4xLjQgKE1hcmNoIDIwMTApOjwvc3Ryb25nPjwvcD4KCQk8dWw+CgkJCTxsaT48cD4tIGNsZWFudXAgY29kZSAtIChOYU4pPC9wPjwvbGk+CgkJCTxsaT48cD4tIG1pbm9yIGJ1Z2ZpeGVzIC0gKE5hTik8L3A+PC9saT4KCQkJPGxpPjxwPi0gYWRkZWQgcmVkaXJlY3QgcGFnZSBpZiBmZXUgaXMgbm90IGxvZ2dlZCBpbiAtIChOYU4pPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIGluaGVyaXRhbmNlIG9mIGZldV9hY2Nlc3MgYW5kIHJlZGlyZWN0X3BhZ2UgLSAoTmFOKTwvcD48L2xpPgoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBmZXVfYWNjZXNzIC0gKE5hTik8L3A+PC9saT4KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gZmV1X2FjdGlvbiAtIChOYU4pPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIHJlZGlyZWN0X3BhZ2UgLSAoTmFOKTwvcD48L2xpPgoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBibG9ja19vbmx5IC0gKE5hTik8L3A+PC9saT4KCQkJPGxpPjxwPi0gYWRkZWQgc21hcnR5IGxvZ2ljIGluIGJhY2tlbmQgLSAoSmVyZW15QmFzcyk8L3A+PC9saT4KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gc3R5bGUgLSAoSmVyZW15QmFzcyk8L3A+PC9saT4KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gZmlsdGVyIChmaWx0ZXJpbmcgaW1hZ2VzIGluIGJhY2tlbmQpIC0gKEplcmVteUJhc3MpPC9wPjwvbGk+CgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIEltZ01vZGUgKGRyb3Bkb3duIG9yIEltYWdlTWFuYWdlcikgLSAoSmVyZW15QmFzcyk8L3A+PC9saT4KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gc21hcnR5T24gKGZvciBwcm9jZXNzaW5nIHNtYXJ0eSB2YXJzIG9mIHRoZSB0ZW1wYXRlIGluIGJhY2tlbmQpIC0gKEplcmVteUJhc3MpPC9wPjwvbGk+CgkJPC91bD4KCTwvbGk+Cgk8bGk+PHA+PHN0cm9uZz4xLjMgKEFwcmlsIDIwMDkpOjwvc3Ryb25nPjwvcD4KCQk8dWw+CgkJCTxsaT48cD4tIENNU21zIDEuNi4qIHJlYWR5IC0gKE5hTik8L3A+PC9saT4KCQkJPGxpPjxwPi0gYWRkZWQgZmV1IGFjY2VzcyBvcHRpb24gLSAoTmFOKTwvcD48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPgoJCTxwPjxzdHJvbmc+MS4yIChNYXJjaCAyMDA5KTo8L3N0cm9uZz4gaW5pdGlhbCByZWxlYXNlPC9wPgoJCTx1bD4KCQkJPGxpPjxwPi0gQSBzaW5nbGUgZmlsZSBDb250ZW50Mi5pbmMucGhwIHRoYXQgbmVlZHMgdG8gYmUgcGxhY2VkIGluIGxpYi9jbGFzc2VzL2NvbnRlbnR0eXBlcy48L3A+PC9saT4KCQkJPGxpPjxwPi0gbGF5b3V0L29wdGlvbnMgb2YgYmFja2VuZCBwYW5lbCBjYW4gYmUgY29udHJvbGVkIGJ5IGFkZGl0aW9uYWwgc21hcnR5IHBhcmFtcyBpbiB0aGUgdGVtcGxhdGU7IGludGVncmF0ZWQgdGhlIHtjb250ZW50X2ltYWdlfSB0YWcgLSAobW9kIGJ5IE5hTik8L3A+PC9saT4KCQk8L3VsPgoJPC9saT4KPC91bD4KPGJyIC8+]]></data>
	</file>
	<file>
	  <filename>/doc/copyright.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VGhlIG1vZHVsZSB1c2VzIGV4dGVybmFsIGxpYmFyaWVzIGFuZCBjb2RlIHNuaXBwZXRzIHRoYXQgYXJlIGxpc3RlZCBiZWxvdzoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpDYWxlbmRhclZpZXcgZm9yIGpRdWVyeSBieSBBbGV4IEdhbm92IChzbGlnaHRseSBtb2RpZmllZCBieSBOYU4pCgpCYXNlZCBvbiBDYWxlbmRhclZpZXcgZm9yIFByb3RvdHlwZSBodHRwOi8vY2FsZW5kYXJ2aWV3Lm9yZy8gd2hpY2ggaXMgYmFzZWQKb24gRHluYXJjaCBESFRNTCBDYWxlbmRhciBodHRwOi8vd3d3LmR5bmFyY2guY29tL3Byb2plY3RzL2NhbGVuZGFyL29sZC8uCgpDYWxlbmRhclZpZXcgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgKExHUEwpCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKRGF0ZS5mb3JtYXQoKQpzdHJpbmcgZm9ybWF0ICggc3RyaW5nIGZvcm1hdCApCkZvcm1hdHRpbmcgcnVsZXMgYWNjb3JkaW5nIHRvIGh0dHA6Ly9waHAubmV0L3N0cmZ0aW1lCgpDb3B5cmlnaHQgKEMpIDIwMDYgIERhbyBHb3R0d2FsZAoKQ29udGFjdCBpbmZvcm1hdGlvbjoKRGFvIEdvdHR3YWxkICA8ZGFvIGF0IGRlc2lnbi1ub2lyLmRlPgoKdmVyc2lvbiAgMC43CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKalF1ZXJ5IEZvcm0gUGx1Z2luCnZlcnNpb246IDIuNDMgKDEyLU1BUi0yMDEwKQoKRXhhbXBsZXMgYW5kIGRvY3VtZW50YXRpb24gYXQ6IGh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLwpEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlczoKICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocAogIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCmpQaWNrZXIgMS4xLjYKalF1ZXJ5IFBsdWdpbiBmb3IgUGhvdG9zaG9wIHN0eWxlIGNvbG9yIHBpY2tlcgpDb3B5cmlnaHQgKGMpIDIwMTAgQ2hyaXN0b3BoZXIgVC4gVGlsbG1hbgpEaWdpdGFsIE1hZ2ljIFByb2R1Y3Rpb25zLCBJbmMuIChodHRwOi8vd3d3LmRpZ2l0YWxtYWdpY3Byby5jb20vKQpNSVQgc3R5bGUgbGljZW5zZSwgRlJFRSB0byB1c2UsIGFsdGVyLCBjb3B5LCBzZWxsLCBhbmQgZXNwZWNpYWxseSBFTkhBTkNFClBhaW5zdGFraW5nbHkgcG9ydGVkIGZyb20gSm9obiBEeWVycycgZXhjZWxsZW50IHdvcmsgb24gaGlzIG93biBjb2xvciBwaWNrZXIgYmFzZWQgb24gdGhlIFByb3RvdHlwZSBmcmFtZXdvcmsuCkpvaG4gRHllcnMnIHdlYnNpdGU6IChodHRwOi8vam9obmR5ZXIubmFtZSkKQ29sb3IgUGlja2VyIHBhZ2U6ICAgKGh0dHA6Ly9qb2huZHllci5uYW1lL3Bvc3QvMjAwNy8wOS9QaG90b1Nob3AtbGlrZS1KYXZhU2NyaXB0LUNvbG9yLVBpY2tlci5hc3B4KQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCkRlcGVuZCBDbGFzcyB2MC4xYiA6IGF0dGFjaCBjbGFzcyBiYXNlZCBvbiBmaXJzdCBjbGFzcyBpbiBsaXN0IG9mIGN1cnJlbnQgZWxlbWVudApGaWxlOiBqcXVlcnkuZGVwZW5kQ2xhc3MuanMKQ29weXJpZ2h0IChjKSAyMDA5IEVnb3IgSG1lbHlvZmYsIGhtZWx5b2ZmQGdtYWlsLmNvbQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCmpRdWVyeSBTbGlkZXIgUGx1Z2luCkVnb3IgS2htZWxldiAtIGh0dHA6Ly9ibG9nLmVnb3JraG1lbGV2LmNvbS8gLSBobWVseW9mZkBnbWFpbC5jb20K]]></data>
	</file>
	<file>
	  <filename>/doc/help_de_DE.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGJyIC8+CjxwPjxzdHJvbmcgc3R5bGU9ImNvbG9yOnJlZCI+V0FSTlVORyEgPC9zdHJvbmc+PGJyIC8+Cldlbm4gU2llIGRhcyBNb2R1bCBkZWluc3RhbGxpZXJlbiwgb2huZSBhbGxlIFNlaXRlbiB2b20gVHlwICdFcndlaXRlcnRlciBJbmhhbHQnIHdpZWRlciB6dXImdXVtbDtjayBhdWYgZGVuIFN0YW5kYXJkLUluaGFsdHN0eXBlbiB6dSBzZXR6ZW4sIGZ1bmt0aW9uaWVydCBJaHJlIENNU21zIEluc3RhbGxhdGlvbiBuaWNodCBtZWhyITxiciAvPgpTdGVsbGVuIFNpZSBzaWNoZXIsIGRhc3MgYWxsZSBTZWl0ZW4gdm9tIFR5cCAnRXJ3ZWl0ZXJ0ZXIgSW5oYWx0JyB2b3IgZGVyIERlaW5zdGFsbGF0aW9uIHdpZWRlciBnZcOkbmRlcnQgb2RlciBnZWwmb3VtbDtzY2h0IHdlcmRlbiEgKG51dHplbiBTaWUgZGllIE1vZHVsZWluc3RlbGx1bmcgJ0FrdGlvbiBiZWltIERlaW5zdGFsbGllcmVuJyB1bWQgZGllcyBhdXRvbWF0aXNjaCB2b3J6dW5laG1lbi4pPC9wPgo8aDM+V2FzIG1hY2h0IGRpZXNlcyBNb2R1bD88L2gzPgo8cD5EaWVzZXMgTW9kdWwgYmlldGV0IGVpbmVuIHdlaXRlcmVuIEluaGFsdHN0eXBlbiAiRXJ3ZWl0ZXJ0ZXIgSW5oYWx0Ii48YnIgLz4KTWl0IGRpZXNlbSBJbmhhbHRzdHlwZW4ga2FubiBkaWUgQWRtaW5pc3RyYXRpb24gYmVpbSBCZWFyYmVpdGVuIHZvbiBTZWl0ZW4gZmxleGliZWwgZ2VzdGFsdGV0IHdlcmRlbiwgaW5kZW0gbWFuIGltIFNlaXRlbi1UZW1wbGF0ZSBkZW4gZWluemVsbmVuIEluaGFsdHNibCZvdW1sO2NrZW4gd2VpdGVyZSBQYXJhbWV0ZXIgaGluenVmJnV1bWw7Z3QuPGJyIC8+CkluaGFsdHNibCZvdW1sO2NrZSBrJm91bWw7bm5lbiBpbiBGb3JtIHZlcnNjaGllZGVuZXIgSW5wdXQtRmVsZGVyIHdpZSBEcm9wZG93bnMsIE1laHJmYWNoYXVzd2FobGZlbGRlciBvZGVyIENoZWNrYm94ZW4gZGFyZ2VzdGVsbHQgd2VyZGVuLjxiciAvPgpEaWUgSW5wdXQtRmVsZGVyIGsmb3VtbDtubmVuIHdlaXRlcmhpbiBpbiBlaWdlbmVuIFRhYnMgYW5nZXplaWd0IG9kZXIgaW4gR3J1cHBlbiB6dXNhbW1lbmdlZmFzc3Qgd2VyZGVuLjxiciAvPgpBdcOfZXJkZW0gaGF0IG1hbiBkaWUgTSZvdW1sO2dsaWNoa2VpdCwgU2VpdGVuIG9kZXIgZWluemVsbmUgQmwmb3VtbDtja2UgbnVyIGYmdXVtbDtyIGJlc3RpbW10ZSBHcnVwcGVuIGRlcyBGcm9udEVuZFVzZXJzIE1vZHVscyBmcmVpenVnZWJlbi48YnIgLz4KV2VpdGVyaGluIGsmb3VtbDtubmVuIFNlaXRlbiBlaW4gU3RhcnQtIHVuZCBlaW4gRW5kZGF0dW0gZXJoYWx0ZW4sIHdvbWl0IFNlaXRlbiBhdXRvbWF0aXNjaCBha3Rpdi9pbmFrdGl2IHdlcmRlbi48YnIgLz4KRGllIGVyd2VpdGVydGVuIEVpbnN0ZWxsdW5nZW4gayZvdW1sO25uZW4gdm9uICZ1dW1sO2Jlcmdlb3JkbmV0ZW4gU2VpdGVuICZ1dW1sO2Jlcm5vbW1lbiB3ZXJkZW4uPC9wPgo8cD5EaWUgUGFyYW1ldGVyIGsmb3VtbDtubmVuIGF1w59lcmRlbSBtaXQgSGlsZmUgdm9uIGVpbmZhY2hlbSBTbWFydHktU3ludGF4IGR5bmFtaXNjaGUgV2VydGUgZW50aGFsdGVuLjxiciAvPgpELmguIG1hbiBrYW5uIHouQi4gZGFzIEVyZ2VibmlzIGVpbmVzIGJlbnV0emVyZGVmaW5pZXJ0ZW4gVGFncywgZWluZXMgUGx1Z2lucywgZWluZXMgTW9kdWxzIG9kZXIgZWluZmFjaCBudXIgZWluZXMgR2xvYmFsZW4gSW5oYWx0c2Jsb2NrZXMgYWxzIFdlcnQgZiZ1dW1sO3IgZWluZW4gUGFyYW1ldGVyIGVpbnNldHplbiBsYXNzZW4uPC9wPgo8aDM+V2llIHdpcmQgZXMgdmVyd2VuZGV0PzwvaDM+CjxwPk5hY2ggZGVyIEluc3RhbGxhdGlvbiB3aXJkIGRlciBBZG1pbmlzdHJhdGlvbiBlaW4gd2VpdGVyZXIgTWVuJnV1bWw7cHVua3QgIkVyd2VpdGVydW5nZW4tJmd0O0Vyd2VpdGVydGVyIEluaGFsdCIgaGluenVnZWYmdXVtbDtndC48YnIgLz4KSGllciBrJm91bWw7bm5lbiB2ZXJzY2hpZWRlbmUgRWluc3RlbGx1bmdlbiB2b3JnZW5vbW1lbiB3ZXJkZW4uPGJyIC8+CkJlaW0gQmVhcmJlaXRlbiB2b24gU2VpdGVuIHN0ZWh0IG51biBlaW4gd2VpdGVyZXIgSW5oYWx0c3R5cCAiRXJ3ZWl0ZXJ0ZXIgSW5oYWx0IiB6dXIgQXVzd2FobCwgZGVyIGRpZSBGdW5rdGlvbmVuIGRlcyBNb2R1bHMgYmVyZWl0c3RlbGx0LjwvcD4KPHA+PGVtPjxzdHJvbmc+SGlud2Vpczo8L3N0cm9uZz48YnIgLz4KSW4gbWFuY2hlbiBGJmF1bWw7bGxlbiBlbXBmaWVsdCBlcyBzaWNoLCBhbnN0ZWxsZSBkZXMgbm9ybWFsZW4ge2NvbnRlbnR9IFRhZ3MgZGVuIHtBZHZhbmNlZENvbnRlbnR9IFRhZyB6dSBiZW51dHplbi4gKEdyb8OfLSB1bmQgS2xlaW5zY2hyZWlidW5nIGJlYWNodGVuKTxiciAvPgpEaWUgRmVobGVybWVsZHVuZyAiUGFyYW1ldGVyIFtYXSBpcyBub3Qga25vd24gYnkgTW9kdWxlIFtNb2R1bG5hbWVdIiBrYW5uIGRhbWl0IHouQi4gdW1nYW5nZW4gd2VyZGVuLjxiciAvPjxiciAvPgpXZW5uIGRpZSBTdGFydHNlaXRlIHZvbSBUeXAgRXJ3ZWl0ZXJ0ZXIgSW5oYWx0IGlzdCB1bmQgZGVyIEluaGFsdHN0eXAgd2lyZCB3aWVkZXIgYXVmIGRlbiBzdGFuZGFyZCBJbmhhbHRzdHlwZW4gZ2XDpG5kZXJ0LCBtdXNzIGRpZSBTdGFydHNlaXRlIGVybmV1dCBhbHMgc29sY2hlIGdlc2V0enQgd2VyZGVuLjxiciAvPjxiciAvPgpXZW5uIGRpZSBQYXJhbWV0ZXJ3ZXJ0ZSBtaXQgSGlsZmUgdm9uIFNtYXJ0eSB2ZXJhcmJlaXRldCB3ZXJkZW4gc29sbGVuLCBiZWRlbmtlbiBTaWUsIGRhc3MgYmVzdGltbXRlIERhdGVuIGltIEJhY2tlbmQgbmljaHQgYnp3LiBuaWNodCBpbW1lciB2ZXJmw7xnYmFyIHNpbmQuPGJyIC8+CkRpZXMgYmV0cmlmZnQgei5CLiB7JGNvbnRlbnRfaWR9LCB7JHBhZ2VfYWxpYXN9IG9kZXIge3RpdGxlfSBldGMuLCBkYSBkaWVzZSBEYXRlbiBub2NoIG5pY2h0IGV4aXN0aWVyZW4sIHdlbm4gZGllIFNlaXRlIGdlcmFkZSBlcnN0IGVyc3RlbGx0IHdpcmQuPGJyIC8+Ck1hbmNoZSBEYXRlbiBzaW5kIGRhcsO8YmVyIGhpbmF1cyBudXIgZGFubiB2ZXJmw7xnYmFyLCB3ZW5uIGRpZSBTZWl0ZSBleHBsaXppdCBpbSBGcm9udGVuZCBnZXJlbmRlcnQgd2lyZC48YnIgLz4KRXMgZW1wZmllaGx0IHNpY2ggaW4gc29sY2hlbiBGw6RsbGVuIGVpbiBleHRyYSBQbHVnaW4gb2RlciBVRFQgenUgZXJzdGVsbGVuLCBpbiBkZW0gbWFuIGVudHNjaGVpZGVuIGthbm4gd2FzIHBhc3NpZXJlbiBzb2xsLCB3ZW5uIGRlcmFydGlnZSBEYXRlbiBuaWNodCBleGlzdGllcmVuLjxiciAvPjxiciAvPgpXZW5uIGRpZSBTVk4gVmVyc2lvbiB2ZXJ3ZW5kZXQgd2lyZCwgZGllIERhdGVpIC9tb2R1bGVzL0FkdmFuY2VkQ29udGVudC9sYW5nL2V4dC9kZV9ERS5waHAgbMO2c2NoZW4uCjwvZW0+PC9wPgo8aDM+V2VsY2hlIFBhcmFtZXRlciBzaW5kIHZlcmYmdXVtbDtnYmFyPzwvaDM+CjxwPk1pdCBIaWxmZSBmb2xnZW5kZXIgUGFyYW1ldGVyIGJlaW0gRXJzdGVsbGVuIHZvbiBJbmhhbHRzYmwmb3VtbDtja2VuIGltIFNlaXRlbi1UZW1wbGF0ZSBrJm91bWw7bm5lbiBkaWVzZSBGdW5rdGlvbmVuIHZlcndlbmRldCB3ZXJkZW46PC9wPgo8cD4oYWxsZSBQYXJhbWV0ZXIgc2luZCBvcHRpb25hbCk8L3A+CjxwPjxzdHJvbmc+U3RhbmRhcmQgUGFyYW1hdGVyOjwvc3Ryb25nPjwvcD4KPHA+PGVtPjxhIGhyZWY9Imxpc3R0YWdzLnBocD9hY3Rpb249c2hvd3BsdWdpbmhlbHAmcGx1Z2luPWNvbnRlbnQiPihzaWVoZSBhdWNoIFRhZy1IaWxmZSBkZXMge2NvbnRlbnR9LVRhZ3MpPC9hPjwvZW0+PC9wPgo8dWw+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YmxvY2s8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPgoJCQkJRXJtJm91bWw7Z2xpY2h0IGRhcyBIaW56dWYmdXVtbDtnZW4gbWVocmVyZXIgSW5oYWx0c2JsJm91bWw7Y2tlLiBCZWltIEJlYXJiZWl0ZW4gZWluZXIgU2VpdGUgd2lyZCBmJnV1bWw7ciBqZWRlbiBCbG9jayBlaW4gZWlnZW5lcyBJbnB1dC1GZWxkIGFuZ2V6ZWlndC48YnIgLz4KCQkJCUJzcC46IDxjb2RlPntjb250ZW50IGJsb2NrPSZxdW90O1p3ZWl0ZXIgSW5oYWx0c2Jsb2NrJnF1b3Q7fTwvY29kZT48YnIgLz4KCQkJCTxlbT48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IERlciBOYW1lIGRlcyBJbmhhbHRzYmxvY2tzIGRhcmYgbnVyIEJ1Y2hzdGFiZW4sIFphaGxlbiB1bmQgVW50ZXJzdHJpY2hlIGVudGhhbHRlbi4gKGtlaW5lIExlZXItIG9kZXIgU29uZGVyemVpY2hlbiwgVW1sYXV0ZSBldGMuKS4gQW5kZXJlbmZhbGxzIHdpcmQgZGVyIEJsb2NrbmFtZSAmYXVtbDtobmxpY2ggZGVtIFNlaXRlbmFsaWFzIGVudHByZWNoZW5kIGtvbnZlcnRpZXJ0LjwvZW0+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+d3lzaXd5ZzwvdHQ+ICh0cnVlL2ZhbHNlKQoJCTx1bD4KCQkJPGxpPldlbm4gZGllc2VyIFdlcnQgYXVmIGZhbHNlIGdlc2V0enQgd2lyZCwgd2lyZCBpbiBkZXIgQWRtaW5pc3RyYXRpb24gYmVpbSBCZWFyYmVpdGVuIHZvbiBTZWl0ZW4ga2VpbiBXWVNJV1lHIEVkaXRvciBmJnV1bWw7ciBkaWVzZW4gQmxvY2sgdmVyd2VuZGV0LjwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+b25lbGluZTwvdHQ+ICh0cnVlL2ZhbHNlKQoJCTx1bD4KCQkJPGxpPldlbm4gZGllc2VyIFdlcnQgYXVmIGZhbHNlIGdlc2V0enQgd2lyZCwgd2lyZCBpbiBkZXIgQWRtaW5pc3RyYXRpb24gYmVpbSBCZWFyYmVpdGVuIHZvbiBTZWl0ZW4gbnVyIGVpbiBlaW5mYWNoZXMgZWluemVpbGlnZXMgVGV4dC1JbnB1dC1GZWxkIGFuZ2V6ZWlndC48L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmRlZmF1bHQ8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPlN0YWJkYXJkaW5oYWx0IGJlaW0gRXJzdGVsbGVuIG5ldWVyIFNlaXRlbi48L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmxhYmVsPC90dD4gKHN0cmluZykKCQk8dWw+CgkJCTxsaT5EaWUgRWluZ2FiZWF1ZmZvcmRlcnVuZyBmJnV1bWw7ciBkZW4gSW5oYWx0c2Jsb2NrIGluIGRlciBBZG1pbmlzdHJhdGlvbiBiZWltIEJlYXJiZWl0ZW4gdm9uIFNlaXRlbi4gV2VubiBkaWVzZXIgUGFyYW1ldGVyIGZlaGx0LCB3aXJkIGRlciB1bmtvbnZlcnRpZXJ0ZSBXZXJ0IGRlcyBQYXJhbWV0ZXJzIGJsb2NrIHZlcndlbmRldC48L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmFzc2lnbjwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+CgkJCQlXZWlzdCBkZW4gSW5oYWx0IGRpZXNlcyBCbG9ja3MgYXVmIGRlciBJbnRlcm5ldHNlaXRlIGVpbmVyIFNtYXJ0eSBWYXJpYWJsZW4genUuPGJyIC8+CgkJCQlCc3AuOiA8Y29kZT57Y29udGVudCBhc3NpZ249InBhZ2Vjb250ZW50In08YnIgLz4KCQkJCXt0YWJsZV9vZl9jb250ZW50cyB0aGVwYWdlY29udGVudD0mcXVvdDskcGFnZWNvbnRlbnQmcXVvdDt9PC9jb2RlPjxiciAvPgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgo8L3VsPgo8cD48c3Ryb25nPkVyd2VpdGVydGUgUGFyYW1ldGVyOjwvc3Ryb25nPjwvcD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmJsb2NrX3R5cGU8L3R0PiAodGV4dCxjaGVja2JveCxkcm9wZG93bixzZWxlY3RfbXVsdGlwbGUsZGF0ZSxtdWx0aV9pbnB1dCxzbGlkZXIsY29sb3JwaWNrZXIpIAoJCTx1bD4KCQkJPGxpPkdpYnQgYW4sIGluIHdlbGNoZXIgRm9ybSBkZXIgSW5oYWx0c2Jsb2NrIGluIGRlciBBZG1pbmlzdHJhdGlvbiBiZWltIEJlYXJiZWl0ZW4gdm9uIFNlaXRlbiBhbmdlemVpZ3Qgd2VyZGVuIHNvbGwuPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5wYWdlX3RhYjwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+CgkJCQlNaXQgZGllc2VtIFBhcmFtZXRlciBrJm91bWw7bm5lbiBJbmhhbHRzYmwmb3VtbDtja2UgaW4gZGVyIEFkbWluaXN0cmF0aW9uIGJlaW0gQmVhcmJlaXRlbiB2b24gU2VpdGVuIGluIGJlc3RpbW10ZW4gVGFicyBhbmdlemVpZ3Qgd2VyZGVuLjxiciAvPgoJCQkJTSZvdW1sO2dsaWNoZSBXZXJ0ZSBzaW5kIHouQi4gJnF1b3Q7bWFpbiZxdW90OyAoID0gVGFiICZxdW90O0hhdXB0bWVuJnV1bWw7JnF1b3Q7KSwgJnF1b3Q7b3B0aW9ucyZxdW90OyAoID0gVGFiICZxdW90O09wdGlvbmVuJnF1b3Q7KSwgb2RlciBqZWRlciBhbmRlcmUgYmVsaWViaWdlIFdlcnQgKGVyemV1Z3QgYXV0b21hdGlzY2ggZWluZW4gd2VpdGVyZW4gVGFiKS48YnIgLz4KCQkJCTxlbT5NYW4ga2FubiBzb21pdCB6LkIuIGVpbmUgQ2hlY2tib3ggaW0gVGFiICJPcHRpb25lbiIgaGluenVmJnV1bWw7Z2VuIG9kZXIgZWluZW4gZWlnZW5lbiBUYWIgZXJzdGVsbGVuLjwvZW0+LgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmJsb2NrX3RhYjwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+TWl0IGRpZXNlbSBQYXJhbWV0ZXIgayZvdW1sO25uZW4gZGllIEluaGFsdHNibCZvdW1sO2NrZSBub2NobWFscyBpbiB3ZWl0ZXJlICJVbnRlcnRhYnMiIGlubmVyaGFsYiBkZXIgIkhhdXB0dGFicyIgdW50ZXJ0ZWlsdCB3ZXJkZW4uPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5ibG9ja19ncm91cDwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+CgkJCQlNaXQgZGllc2VtIFBhcmFtZXRlciBrYW5uIG1hbiBtZWhyZXJlIEluaGFsdHNibCZvdW1sO2NrZSBpbiBlaW5lbSBGaWVsZHNldCBncnVwcGllcmVuLjxiciAvPgoJCQkJRGllIEdydXBwZW4gayZvdW1sO25uZW4gYXVjaCBhdWYgbWVocmVyZSBUYWJzIHZlcnRlaWx0IHdlcmRlbi4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5hY3RpdmU8L3R0PiAodHJ1ZS9mYWxzZSkKCQk8dWw+CgkJCTxsaT4KCQkJCVdlbm4gZGllc2VyIFdlcnQgYXVmIGZhbHNlIGdlc2V0enQgd2lyZCwgaXN0IGRlciBCbG9jayBkZWFrdGl2aWVydC48YnIgLz4KCQkJCURlYWt0aXZpZXJ0ZSBJbmhhbHRzYmwmb3VtbDtja2Ugd2VyZGVuIHdlZGVyIGluIGRlciBBZG1pbmlzdHJhdGlvbiBiZWltIEJlYXJiZWl0ZW4gdm9uIFNlaXRlbiwgbm9jaCBhdWYgZGVyIEludGVybmV0c2VpdGUgYW5nZXplaWd0LgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmVkaXRvcl9ncm91cHM8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPgoJCQkJRGllc2VyIFBhcmFtZXRlciBpc3QgJmF1bWw7aG5saWNoIGRlbiAiWnVzJmF1bWw7dHpsaWNoZW4gQmVhcmJlaXRlcm4iIGVpbmVyIFNlaXRlLiBFciBnaWx0IGFsbGVyZGluZ3MgbnVyIGYmdXVtbDtyIGVpbnplbG5lIEluaGFsdHNibCZvdW1sO2NrZS48YnIgLz4KCQkJCU1pdCBkaWVzZW0gUGFyYW1ldGVyIGsmb3VtbDtubmVuIEluaGFsdHNibCZvdW1sO2NrZSBudXIgdm9uIGJlc3RpbW10ZW4gQmVudXR6ZWdydXBwZW4gZGVyIEFkbWluaXN0cmF0aW9uIGJlYXJiZWl0ZXQgd2VyZGVuLjxiciAvPgoJCQkJKE5hbWUgZGVyIEJlbnV0emVyZ3J1cHBlIGVpbnRyYWdlbjsgbWVocmVyZSBHcnVwcGVuIG1pdCBLb21tYSBnZXRyZW5udCkKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lZGl0b3JfdXNlcnM8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPgoJCQkJRGllc2VyIFBhcmFtZXRlciBpc3QgJmF1bWw7aG5saWNoIGRlbiAiWnVzJmF1bWw7dHpsaWNoZW4gQmVhcmJlaXRlcm4iIGVpbmVyIFNlaXRlLiBFciBnaWx0IGFsbGVyZGluZ3MgbnVyIGYmdXVtbDtyIGVpbnplbG5lIEluaGFsdHNibCZvdW1sO2NrZS48YnIgLz4KCQkJCU1pdCBkaWVzZW0gUGFyYW1ldGVyIGsmb3VtbDtubmVuIEluaGFsdHNibCZvdW1sO2NrZSBudXIgdm9uIGJlc3RpbW10ZW4gQmVudXR6ZXJuIGRlciBBZG1pbmlzdHJhdGlvbiBiZWFyYmVpdGV0IHdlcmRlbi48YnIgLz4KCQkJCShOYW1lIGRlcyBCZW51dHplcnMgZWludHJhZ2VuOyBtZWhyZXJlIEJlbnV0emVyIG1pdCBLb21tYSBnZXRyZW5udCkKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxlbT48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IHdlbm4gZGllIFBhcmFtZXRlciA8dHQ+ZWRpdG9yX3VzZXJzPC90dD4gdW5kIDx0dD5lZGl0b3JfZ3JvdXBzPC90dD4gbmljaHQgdmVyd2VuZGV0IHdlcmRlbiwgayZvdW1sO25uZW4gZGllIEJsJm91bWw7Y2tlIHZvbiBqZWRlbSBCZW51dHplciBiZWFyYmVpdGV0IHdlcmRlbi48YnIgLz4KCURpZSBXZXJ0ZSBoYWJlbiBrZWluZW4gRWluZmx1c3MsIHdlbm4gZGVyIEJlbnV0emVyIGRlciBHcnVwcGUgIkFkbWluIiBhbmdlaCZvdW1sO3J0LjxiciAvPgoJVW0gZWluZW0gQmVudXR6ZXIgenUgZXJsYXViZW4gYWxsZSBJbmhhbHRzYmwmb3VtbDtja2UgdW5hYmgmYXVtbDtuZ2lnIHZvbiBkZW4gYmVpZGVuIFBhcmFtZXRlcm4genUgYmVhcmJlaXRlbiwgbXVzcyBkZXIgQmVudXR6ZXIgZWluZXIgR3J1cHBlIGFuZ2VoJm91bWw7cmVuLCBkaWUgZGllIEJlcmVjaHRpZ3VuZyAiTWFuYWdlIGFsbCBBZHZhbmNlZENvbnRlbnQgQmxvY2tzIiBoYXQuPC9lbT48YnIgLz48YnIgLz4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5mZXVfYWNjZXNzPC90dD4KCQk8dWw+CgkJCTxsaT4KCQkJCURpZXNlciBQYXJhbWV0ZXIgbGVndCBmZXN0LCB3ZWxjaGUgQmVudXR6ZXJncnVwcGVuIGRlcyBGcm9udEVuZFVzZXJzIE1vZHVscyBkaWVzZW4gQmxvY2sgYXVmIGRlciBJbnRlcm5ldHNlaXRlIHNlaGVuIGQmdXVtbDtyZmVuLjxiciAvPgoJCQkJKElEIGRlciBCZW51dHplcmdydXBwZSBhbmdlYmVuOyBtZWhyZXJlIElEcyBtaXQgS29tbWEgZ2V0cmVubnQpPGJyIC8+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZmV1X2FjdGlvbjwvdHQ+ICh0cnVlL2ZhbHNlKQoJCTx1bD4KCQkJPGxpPgoJCQkJRGllc2VyIFBhcmFtZXRlciBnaWJ0IGFuLCBvYiBhbnN0ZWxsZSBkZXMgSW5oYWx0c2Jsb2NrcyBkYXMgTG9naW4tRm9ybXVsYXIgZGVzIEZyb250RW5kVXNlcnMgTW9kdWxzIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbCwgd2VubiBkaWVzZXIgQmxvY2sgbnVyIGYmdXVtbDtyIGJlc3RpbW10ZSBCZW51dHplcmdydXBwZW4gZnJlaWdlZ2ViZW4gdW5kIGRlciBCZXN1Y2hlciBuaWNodCBlaW5nZWxvZ2d0IGlzdC48YnIgLz4KCQkJCTxlbT48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IERhcyBGb3JtdWxhciB3aXJkIG51ciBlaW4gZWluemlnZXMgTWFsIGFuZ2V6ZWlndC48L2VtPjxiciAvPgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmZldV9oaWRlPC90dD4gKHRydWUvZmFsc2UpCgkJPHVsPgoJCQk8bGk+CgkJCQlEaWVzZXIgUGFyYW1ldGVyIGdpYnQgYW4sIG9iIGVpbiAmb3VtbDtmZmVudGxpY2hlciBCbG9jayBhdXNnZWJsZW5kZXQgd2VyZGVuIHNvbGwsIHdlbm4gZGVyIEJlc3VjaGVyIGVpbmdlbG9nZ3QgaXN0LjxiciAvPgoJCQkJU3RhbmRhcmQgaXN0IGZhbHNlLjxiciAvPgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmFsbG93X25vbmU8L3R0PiAodHJ1ZS9mYWxzZSkKCQk8dWw+CgkJCTxsaT5HaWJ0IGFuLCBvYiBkZXIgQmxvY2sgbGVlciBzZWluIGRhcmYgb2RlciBuaWNodC48YnIgLz4KCQkJV2VubiBkaWVzZXIgV2VydCBhdWYgZmFsc2UgZ2VzZXR6dCB3aXJkIHVuZCBkZXIgSW5oYWx0IGRlcyBCbG9ja3MgaXN0IGxlZXIsIHdpcmQgZGVyIFdlcnQgZGVzIFBhcmFtZXRlcnMgZGVmYXVsdCB2ZXJ3ZW5kZXQuPGJyIC8+CgkJCVd1cmRlIGRlciBCbG9jayBtaXQgZGVtIFBsdWdpbiB7Y29udGVudF9pbWFnZX0gZXJzdGVsbHQsIGZlaGx0IGRpZSBPcHRpb24gIk5pY2h0cyIgaW0gQmlsZC1Ecm9wZG93bi48L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnNtYXJ0eTwvdHQ+ICh0cnVlL2ZhbHNlKQoJCTx1bD4KCQkJPGxpPgoJCQkJU2NoYWx0ZXQgZGllIFZlcmFyYmVpdHVuZyBkZXIgUGFyYW1ldGVyd2VydGUgbWl0IEhpbGZlIHZvbiBTbWFydHkgZWluL2F1cy48YnIgLz4KCQkJCVdlbm4gZGllc2VyIFdlcnQgYXVmIHRydWUgZ2VzZXR6dCB3aXJkLCB3aXJkIGplZGVyIFBhcmFtZXRlciBtaXQgSGlsZmUgZGVyIFNtYXJ0eSBUZW1wbGF0ZSBFbmdpbmUgdmVyYXJiZWl0ZXQuPGJyIC8+CgkJCQk8ZW0+PHN0cm9uZz5IaW53ZWlzOiA8L3N0cm9uZz4gRGllIFdlcnRlIG0mdXVtbDtzc2VuIGFscyBTbWFydHktU3ludGF4IGdla2VubnplaWNobmV0IHdlcmRlbi4gSGllciBrJm91bWw7bm5lbiBhYmVyIG5pY2h0IFN0YW5kYXJkIFNtYXJ0eS1CZWdyZW56ZXIgKHsuLi59KSB2ZXJ3ZW5kZXQgd2VyZGVuLCBkYSBlcyB6dSBGZWhsZXJuIGF1ZiBkZXIgSW50ZXJuZXRzZWl0ZSBmJnV1bWw7aHJ0LjxiciAvPgoJCQkJRGFoZXIgd2VyZGVuIHN0YXR0ZGVzc2VuIGRpZSBaZWljaGVuIDo6OiBhbHMgQmVncmVuemVyIHZlcndlbmRldC48YnIgLz48L2VtPgoJCQkJQnNwLjogPGNvZGU+e2NvbnRlbnQgYmxvY2s9JnF1b3Q7S2F0ZWdvcmllbiZxdW90OyBsYWJlbD0mcXVvdDtXJmF1bWw7aGxlbiBTaWUgZWluZSBLYXRlZ29yaWUmcXVvdDsgYmxvY2tfdHlwZT0mcXVvdDtkcm9wZG93biZxdW90OyBpdGVtcz0mcXVvdDs6OjpnbG9iYWxfY29udGVudCBuYW1lPSYjMDM5O2NhdGVnb3J5bGlzdCYjMDM5Ozo6OiZxdW90OyBzbWFydHk9JnF1b3Q7dHJ1ZSZxdW90O308L2NvZGU+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZGVzY3JpcHRpb248L3R0PiAoc3RyaW5nKSAKCQk8dWw+CgkJCTxsaT5FaW5lIGRldGFpbGllcnRlcmUgQmVzY2hyZWlidW5nIGRlcyBJbmhhbHRzYmxvY2tzLjwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+Y29sbGFwc2U8L3R0PiAodHJ1ZS9mYWxzZSkKCQk8dWw+CgkJCTxsaT4KCQkJCUdpYnQgYW4sIG9iIGVpbiBCbG9jayBpbiBkZXIgQWRtaW5pc3RyYXRpb24gYmVpbSBCZWFyYmVpdGVuIHZvbiBTZWl0ZW4gZWluLSAodHJ1ZSkgb2RlciBhdXNnZWtsYXBwdCAoZmFsc2UpIHNlaW4gc29sbC48YnIgLz4KCQkJCTxlbT48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IGlzdCBpbW1lciBmYWxzZSwgd2VubiBkZXIgUGFyYW1ldGVyIG5vX2NvbGxhcHNlPXRydWUgdmVyd2VuZGV0IHdpcmQuPC9lbT48YnIgLz4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5ub19jb2xsYXBzZTwvdHQ+ICh0cnVlL2ZhbHNlKQoJCTx1bD4KCQkJPGxpPgoJCQkJV2VubiBkaWVzZXIgV2VydCBhdWYgZmFsc2UgZ2VzZXR6dCBpc3QsIGthbm4gZGVyIEJsb2NrZSBuaWNodCB6dXNhbW1lbmdla2xhcHB0IHdlcmRlbi48YnIgLz4KCQkJCTxlbT48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IHdlbm4gZGVyIFdlcnQgYXVmIHRydWUgZ2VzZXR6dCBpc3QsIGlzdCBkZXIgUGFyYW1ldGVyIGNvbGxhcHNlIGF1dG9tYXRpc2NoIGltbWVyIGZhbHNlLjwvZW0+PGJyIC8+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+cmVxdWlyZWQ8L3R0PiAodHJ1ZS9mYWxzZSkKCQk8dWw+CgkJCTxsaT4KCQkJCUdpYnQgYW4sIG9iIGVpbiBCbG9jayBlaW4gUGZsaWNodGZlbGQgaXN0ICh0cnVlKSBvZGVyIG5pY2h0IChmYWxzZSkuPGJyIC8+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+CjxwPjxzdHJvbmc+WnVzJmF1bWw7dHpsaWNoZSBQYXJhbWV0ZXIgZiZ1dW1sO3IgVGV4dC1CbCZvdW1sO2NrZTo8L3N0cm9uZz48L3A+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5jb2xzPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQlEaWUgQnJlaXRlIChpbiBTcGFsdGVuKSBkZXMgVGV4dGZlbGRlcy4gKGZ1bmt0aW9uaWVydCBudXIgbWl0IGRlbSBQYXJhbWV0ZXIgd3d5c2l3eWc9ZmFsc2UpPGJyIC8+CgkJCQlTdGFuZGFyZCBpc3QgODAuCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+cm93czwvdHQ+IChpbnQpIAoJCTx1bD4KCQkJPGxpPgoJCQkJRHVlIEgmb3VtbDtoZSAoaW4gWmVpbGVuKSBkZXMgVGV4dGZlbGRlcy4gKGZ1bmt0aW9uaWVydCBudXIgbWl0IGRlbSBQYXJhbWV0ZXIgd3d5c2l3eWc9ZmFsc2UpPGJyIC8+CgkJCQlTdGFuZGFyZCBpc3QgMTUuCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YXV0b19yZXNpemU8L3R0PiAodHJ1ZS9mYWxzZSkgCgkJPHVsPgoJCQk8bGk+CgkJCQlBdWYgZmFsc2Ugc2V0emVuLCB1bSBkaWUgYXV0b21hdGlzY2hlIEgmb3VtbDtoZW5iZXJlY2hubmcgZGVzIFRleHRmZWxkZXMgenUgZGVha3RpdmllcmVuLCB3ZW5uIGRpZSBBbnphaGwgZGVyIFplaWxlbiBlcnJlaWNodCB3dXJkZS48YnIgLz4KCQkJCVN0YW5kYXJkIGlzdCB0cnVlLjxiciAvPgoJCQkJPGVtPjxzdHJvbmc+SGlud2Vpczo8L3N0cm9uZz4gRGllIGF1dG9tYXRpc2NoZSAgSCZvdW1sO2hlbmJlcmVjaG5uZyBmdW5rdGlvbmllcnQgbnVyIG1pdCBkZW0gUGFyYW1ldGVyIHd3eXNpd3lnPWZhbHNlPC9lbT4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KPC91bD4KPHA+PHN0cm9uZz5QYXJhbWV0ZXIgZiZ1dW1sO3IgQ2hlY2tib3hlbjo8L3N0cm9uZz4ga2VpbmUgd2VpdGVyZW4gUGFyYW1ldGVyLjxiciAvPgo8ZW0+PHN0cm9uZz5IaW53ZWlzOjwvc3Ryb25nPiB2ZXJ3ZW5kZW4gU2llIGRlbiBQYXJhbWV0ZXIgZGVmYXVsdD0xIHVtIGVpbmUgQ2hlY2tib3ggYWxzIFZvcmVpbnN0ZWxsdW5nIHp1IGFrdGl2aWVyZW48L2VtPgo8L3A+CjxwPjxzdHJvbmc+UGFyYW1ldGVyIGYmdXVtbDtyIENvbG9ycGlja2VyOjwvc3Ryb25nPiBrZWluZSB3ZWl0ZXJlbiBQYXJhbWV0ZXI8L3A+CjxwPjxzdHJvbmc+UGFyYW1ldGVyIGYmdXVtbDtyIFNsaWRlcjo8L3N0cm9uZz4gKHNpZWhlIGF1Y2ggRG9rdW1lbnRhdGlvbiBkZXMgdmVyd2VuZGV0ZW4galF1ZXJ5IFNsaWRlciBQbHVnaW5zKTwvcD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmZyb208L3R0PiAoaW50KSAKCQk8dWw+CgkJCTxsaT4KCQkJCVN0YXJ0d2VydAoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgo8L3VsPgo8dWw+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+dG88L3R0PiAoaW50KSAKCQk8dWw+CgkJCTxsaT4KCQkJCUVuZHdlcnQKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KPC91bD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnN0ZXA8L3R0PiAoaW50KSAKCQk8dWw+CgkJCTxsaT4KCQkJCVrDpGhsc2Nocml0dGUgaW4gZGVuZW4gZGllIFdlcnRlIGdlw6RuZGVydCB3ZXJkZW4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KPC91bD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnJvdW5kPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQlTdGVsbGVuIG5hY2ggZGVtIEtvbW1hCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5oZXRlcm9nZW5laXR5PC90dD4gKHN0cmluZykgCgkJPHVsPgoJCQk8bGk+CgkJCQlUb0RvCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kaW1lbnNpb248L3R0PiAoc3RyaW5nKSAKCQk8dWw+CgkJCTxsaT4KCQkJCUVpbmhlaXQgaGludGVyIGRlbiBXZXJ0ZW4uCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5saW1pdHM8L3R0PiAodHJ1ZS9mYWxzZSkgCgkJPHVsPgoJCQk8bGk+CgkJCQlUb0RvCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zY2FsZTwvdHQ+IChzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJVG9EbwoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgo8L3VsPgo8dWw+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c2tpbjwvdHQ+IChzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJQXVzc2VoZW4gZGVzIHNsaWRlcnMKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KPC91bD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmNhbGN1bGF0ZTwvdHQ+IChzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJRWluZSBKYXZhc2NyaXB0LUZ1bmt0aW9uIHp1ciBCZXJlY2hudW5nIGRlciBhbmdlemVpZ3RlbiBXZXJ0ZQoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgo8L3VsPgo8dWw+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+b25zdGF0ZWNoYW5nZTwvdHQ+IChzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJRWluZSBKYXZhc2NyaXB0LUZ1bmt0aW9uIGRpZSBhdXNnZWbDvGhydCB3ZXJkZW4gc29sbCwgc29iYWxkIGRlciBXZXJ0IGdlw6RuZGVydCB3aXJkCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5jYWxsYmFjazwvdHQ+IChzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJRWluZSBKYXZhc2NyaXB0LUZ1bmt0aW9uIGRpZSBhdXNnZWbDvGhydCB3ZXJkZW4gc29sbCwgbmFjaGRlbSBkZXIgV2VydCBnZcOkbmRlcnQgd3VyZGUKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KPC91bD4KPHA+PHN0cm9uZz5QYXJhbWV0ZXIgZiZ1dW1sO3IgRHJvcGRvd25zL01laHJmYWNoYXVzd2FobDo8L3N0cm9uZz48L3A+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5pdGVtczwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+RGllIEJlemVpY2hudW5nIGRlciBlaW56ZWxuZW4gRWludHImYXVtbDtnZS4gKG1pdCBlaW5lbSBiZXN0aW1tdGVuIFplaWNoZW4gZ2V0cmVubnQgLSBTdGFuZGFyZCBpc3QgfCAocGlwZSkpPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD52YWx1ZXM8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPkRpZSBXZXJ0ZSBkZXIgZWluemVsbmVuIEVpbnRyJmF1bWw7Z2UuIChtaXQgZWluZW0gYmVzdGltbXRlbiBaZWljaGVuIGdldHJlbm50IC0gU3RhbmRhcmQgaXN0IHwgKHBpcGUpKTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8ZW0+PHN0cm9uZz5IaW53ZWlzOjwvc3Ryb25nPiB3ZW5uIGVzIHdlbmlnZXIgV2VydGUgYWxzIEJlemVpY2hudW5nZW4gZ2lidCwgd2VyZGVuIGRpZSByZXN0bGljaGVuIEJlemVpY2hudW5nZW4gYWxzIFdlcnRlIHZlcndlbmRldCAodW5kIHVtZ2VrZWhydCkuPC9lbT48YnIgLz48YnIgLz4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZWZhdWx0PC90dD4gKHN0cmluZykKCQk8dWw+CgkJCTxsaT4KCQkJCUF1c2dldyZhdW1sO2hsdGUgU3RhbmRhcmR3ZXJ0ZSAobWl0IGVpbmVtIGJlc3RpbW10ZW4gWmVpY2hlbiBnZXRyZW5udCAtIFN0YW5kYXJkIGlzdCB8IChwaXBlKSk8YnIgLz4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxlbT48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IFZlcndlbmRlbiBTaWUgbnVyIGRpZSA8c3Ryb25nPldlcnRlPC9zdHJvbmc+IGRlciBFaW50csOkZ2UgYWxzIFN0YW5kYXJkd2VydCwgbmljaHQgZGllIEJlemVpY2hudW5nZW4gZGVyIEVpbnRyJmF1bWw7Z2UuPC9lbT48YnIgLz48YnIgLz4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZWxpbWl0ZXI8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPkRhcyBUcmVubnplaWNoZW4gbWl0IGRlbSBkaWUgQmV6ZWljaG51bmdlbiwgV2VydGUgdW5kIFN0YW5kYXJkd2VydGUgdm9uZWluYW5kZXIgZ2V0cmVubnQgd2VyZGVuLiAoU3RhbmRhcmQgaXN0IHwgKHBpcGUpKTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c2l6ZTwvdHQ+IChpbnRlZ2VyKQoJCTx1bD4KCQkJPGxpPkRpZSBIJm91bWw7aGUgZGVzIElucHV0ZmVsZGVzLCB3ZW5uIDxjb2RlPmJsb2NrX3R5cGU9JnF1b3Q7c2VsZWN0X211bHRpcGxlJnF1b3Q7PC9jb2RlPiB2ZXJ3ZW5kZXQgd2lyZC48ZW0+KFN0YW5kYXJkIGlzdCBkaWUgQW56YWhsIGRlciBFaW50ciZhdW1sO2dlKTwvZW0+PC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zb3J0YWJsZTwvdHQ+ICh0cnVlL2ZhbHNlKSAtIG51ciBiZWkgc2VsZWN0X211bHRpcGxlCgkJPHVsPgoJCQk8bGk+CgkJCQlXaXJkIGRpZXNlciBXZXJ0IGF1ZiB0cnVlIGdlc2V0enQsIHdlcmRlbiBkaWUgRWludHImYXVtbDtnZSBuaWNodCBhbHMgTWVocmZhY2hhdXN3YWhsZmVsZCBhbmdlemVpZ3QsIHNvbmRlcm4gYWxzIGVpbmUgTGlzdGUgbWl0IENoZWNrYm94ZW4sIGRpZSBuZXUgc29ydGllcnQgd2VyZGVuIGthbm4uPGJyIC8+SmVkZSBaZWlsZSBlaW50aCZhdW1sO2x0IGRpZSBCZXplaWNobnVuZyBkZXMgRWludHJhZ3MgdW5kIGVpbmUgQ2hlY2tib3ggbWl0IGRlbSBXZXJ0IGRlcyBFaW50cmFncy48YnIgLz4KCQkJCTxlbT48c3Ryb25nPkhpbndlaXM6PC9zdHJvbmc+IEVzIHdpcmQgbnVyIGRpZSBSZWloZW5mb2xnZSBkZXIgPHN0cm9uZz5hdXNnZXcmYXVtbDtobHRlbjwvc3Ryb25nPiBFaW50ciZhdW1sO2dlIGdlc3BlaWNoZXJ0LiBBdXNnZXcmYXVtbDtobHRlIEVpbnRyJmF1bWw7Z2Ugd2VyZGVuIGltbWVyIGFscyBlcnN0ZXMgYW5nZXplaWd0LjxiciAvPgoJCQkJTmljaHQgYXVzZ2V3JmF1bWw7aGx0ZSBFaW50ciZhdW1sO2dlIHN0ZWhlbiBkYXJ1bnRlciBpbiBkZXIgUmVpaGVuZm9sZ2UsIHdpZSBzaWUgaW0gVGVtcGxhdGUgZGVmaW5pZXJ0IHd1cmRlbi48L2VtPgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgo8L3VsPgo8cD48c3Ryb25nPlBhcmFtZXRlciBmJnV1bWw7ciBEYXR1bXNibCZvdW1sO2NrZTo8L3N0cm9uZz48L3A+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zdGVwX2hvdXJzPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQlaJmF1bWw7aGxzY2hyaXR0ZSBkZXIgU3R1bmRlbiBpbSBVaHJ6ZWl0LURyb3Bkb3duLiAoU3RhbmRhcmQgaXN0IDEpCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c3RhcnRfaG91cjwvdHQ+IChpbnQpIAoJCTx1bD4KCQkJPGxpPgoJCQkJQmVnaW5uIGRlciBTdHVuZGVuIGltIFVocnplaXQtRHJvcGRvd24uIChTdGFuZGFyZCBpc3QgMCkKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lbmRfaG91cjwvdHQ+IChpbnQpIAoJCTx1bD4KCQkJPGxpPgoJCQkJRW5kZSBkZXIgU3R1bmRlbiBpbSBVaHJ6ZWl0LURyb3Bkb3duLiAoU3RhbmRhcmQgaXN0IDEyIG9kZXIgMjMgLSBhYmgmYXVtbDtuZ2lnIHZvbSBQYXJhbWV0ZXIgc2hvdzI0aCkKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zaG93MjRoPC90dD4gKHRydWUvZmFsc2UpIAoJCTx1bD4KCQkJPGxpPgoJCQkJV2VubiBkaWVzZXIgV2VydCBhdWYgZmFsc2UgZ2VzZXR6dCB3aXJkLCB3ZXJkZW4gZGllIFN0dW5kZW4gaW4gMTJoIEFuemVpZ2UgbWl0IEFNL1BNIGFuZ2V6ZWlndC4gKFN0YW5kYXJkIGlzIHRydWUpCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c3RlcF9taW51dGVzPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQlaJmF1bWw7aGxzY2hyaXR0ZSBkZXIgTWludXRlbiBpbSBVaHJ6ZWl0LURyb3Bkb3duLiAoU3RhbmRhcmQgaXMgMTApCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c3RhcnRfbWludXRlPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQlCZWdpbm4gZGVyIE1pbnV0ZW4gaW0gVWhyemVpdC1Ecm9wZG93bi4gKFN0YW5kYXJkIGlzdCAwKQoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmVuZF9taW51dGU8L3R0PiAoaW50KSAKCQk8dWw+CgkJCTxsaT4KCQkJCUVuZGUgZGVyIE1pbnV0ZW4gaW0gVWhyemVpdC1Ecm9wZG93bi4gKFN0YW5kYXJkIGlzdCA1OSkKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zaG93X2Nsb2NrPC90dD4gKHRydWUvZmFsc2UpIAoJCTx1bD4KCQkJPGxpPgoJCQkJV2VubiBkaWVzZXIgV2VydCBhdWYgZmFsc2UgZ2VzZXR6dCBpc3QsIHdpcmQga2VpbiBVaHJ6ZWl0LURyb3Bkb3duIGFuZ2V6ZWlndC4gKFN0YW5kYXJkIGlzdCB0cnVlKTxiciAvPgoJCQkJPGVtPjxzdHJvbmc+SGlud2Vpczo8L3N0cm9uZz4gQmVpIGZhbHNlIHdpcmQgYWxzIFVocnplaXQgMDA6MDAgVWhyIGdlc3BlaWNoZXJ0PC9lbT4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kYXRlX2Zvcm1hdDwvdHQ+IChzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJRGFzIHN0cmZ0aW1lIERhdHVtc2Zvcm1hdCBmJnV1bWw7ciBkaWUgQW56ZWlnZSBhdWYgZGVyIEludGVybmV0c2VpdGUuCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cgo8cD48c3Ryb25nPlBhcmFtZXRlciBmJnV1bWw7ciAmcXVvdDttdWx0aV9pbnB1dCZxdW90Ozo8L3N0cm9uZz48L3A+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5pbnB1dHM8L3R0PgoJCTx1bD4KCQkJPGxpPgoJCQkJRWluZSBMaXN0ZSB2b24gSW5wdXQtSURzLCBkaWUgaW4gZGVuIE1vZHVsZWluc3RlbGx1bmdlbiBlcnN0ZWxsdCB3dXJkZW4uIChtZWhyZXJlIFdlcnRlIG1pdCBLb21tYSBnZXRyZW5udCk8YnIgLz4KCQkJCUVzIGsmb3VtbDtubmVuIGRpZXNlbGJlbiBJRHMgbWVocmZhY2ggdmVyd2VuZGV0IHdlcmRlbi4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD52YWx1ZV9kZWxpbWl0ZXI8L3R0PiAoYW55IHN0cmluZykgCgkJPHVsPgoJCQk8bGk+CgkJCQlFaW4gVHJlbm56ZWljaGVuIGYmdXVtbDtyIGRpZSBlaW56ZWxuZW4gV2VydGUgZGVzIGpld2VpbGlnZW4gTXVsdGlJbnB1dHMuPGJyIC8+CgkJCQlTdGFuZGFyZCBpc3QgJnF1b3Q7Jmx0OyEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxsaW1pdGVyIC0tJmd0OyZxdW90OwoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmlucHV0X2RlbGltaXRlcjwvdHQ+IChhbnkgc3RyaW5nKSAKCQk8dWw+CgkJCTxsaT4KCQkJCUVpbiBUcmVubnplaWNoZW4gZiZ1dW1sO3IgZGllIGVpbnplbG5lbiBNdWx0aUlucHV0cy48YnIgLz4KCQkJCVN0YW5kYXJkIGlzdCAmcXVvdDsmbHQ7IS0tIG11bHRpX2lucHV0X2RlbGxpbWl0ZXIgLS0mZ3Q7JnF1b3Q7CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPHA+PHN0cm9uZz5XYXMgaXN0IGVpbiBtdWx0aV9pbnB1dD88L3N0cm9uZz48L3A+CgkJPHA+RWluIG11bHRpX2lucHV0IGlzdCBlaW4gQmxvY2ssIGRlciBhdXMgbWVocmVyZW4gSW5wdXRmZWxkZXJuIGJlc3RlaGVuIGthbm4uPGJyIC8+CgkJRGllc2UgayZvdW1sO25uZW4gaW4gZGVuIE1vZHVsZWluc3RlbGx1bmdlbiBmZXN0Z2VsZWd0IHdlcmRlbi4gRGFiZWkgZ2lsdCBmJnV1bWw7ciBqZWRlbiBtdWx0aV9pbnB1dCBkZXJzZWxiZSBTeW50YXggd2llIGluIGVpbmVtIFNlaXRlbnRlbXBsYXRlIGJlaW0gRXJzdGVsbGVuIGVpbmVzIEluaGFsdHNibG9ja3MuPGJyIC8+CgkJTXVsdGlJbnB1dHMgayZvdW1sO25uZW4gdmVyd2VuZGV0IHdlcmRlbiwgdW0gdmVyc2NoaWVkZW5lIFdlcnRlIGluIGVpbmVtIGVpbnppZ2VuIEluaGFsdHNibG9jayB6dSBzcGVpY2hlcm4sIHdvYmVpIGYmdXVtbDtyIGplZGVuIFdlcnQgdW50ZXJzY2hpZWRsaWNoZSBJbnB1dGZlbGRlciB2ZXJ3ZW5kZXQgd2VyZGVuIGsmb3VtbDtubmVuLjxiciAvPgoJCURpZXNlIEJsJm91bWw7Y2tlIGthbm4gbWFuIHouQi4gdmVyd2VuZGVuLCB1bSBlaW5lIExpc3RlIG1pdCBNb2R1bGVuIHVuZCB6dWdlaCZvdW1sO3JpZ2VuIFBhcmFtZXRlcm4gYW56dXplaWdlbi48YnIgLz4KCQlCZWlzcGllbCBlaW5lcyBNdWx0aUlucHV0cyBpbSBTZWl0ZW50ZW1wbGF0ZTo8L3A+CgkJPHByZT4KCQk8Y29kZT4KCQl7Y29udGVudCBibG9jaz0mcXVvdDttb2R1bGUmcXVvdDsgbGFiZWw9JnF1b3Q7U2VpdGVubW9kdWxlJnF1b3Q7IGJsb2NrX3R5cGU9JnF1b3Q7bXVsdGlfaW5wdXQmcXVvdDsgaW5wdXRzPSZxdW90O21vZHVsZSxtb2R1bGUsbW9kdWxlLG1vZHVsZSZxdW90O30KCQk8L2NvZGU+CgkJPC9wcmU+CgkJPHA+QmVpc3BpZWwgZiZ1dW1sO3IgZWluZW4gTXVsdGlJbnB1dCBkZXIgJnV1bWw7YmVyIGRpZSBNb2R1bGVpbnN0ZWxsdW5nIGVyc3RlbGx0IHdlcmRlbiBrYW5uIChOYW1lPSZxdW90O21vZHVsZSZxdW90Oyk6PC9wPgoJCTxwcmU+CgkJPGNvZGU+CgkJe2NvbnRlbnQgYmxvY2s9JnF1b3Q7bW9kdWxlIHNlbGVjdGlvbiZxdW90OyBibG9ja190eXBlPSZxdW90O2Ryb3Bkb3duJnF1b3Q7IGl0ZW1zPSZxdW90O3xOZXdzfEdhbGxlcnl8TWVudSZxdW90O30KCQl7Y29udGVudCBibG9jaz0mcXVvdDttb2R1bGUgcGFyYW1zJnF1b3Q7IGJsb2NrX3R5cGU9JnF1b3Q7dGV4dCZxdW90OyBvbmVsaW5lPXRydWV9CgkJPC9jb2RlPgoJCTwvcHJlPgoJCTxwPldpZSBzaWVodCBkYXMgbnVuIGJlaW0gQmVhcmJlaXRlbiBlaW5lciBTZWl0ZSBhdXM/PC9wPgoJCTxwPkVzIHdpcmQgZWluIEZpZWxkc2V0IG1pdCBkZXIgTGVnZW5kZSAmcXVvdDtTZWl0ZW5tb2R1bGUmcXVvdDsgYW5nZXplaWd0LiA8YnIgLz4KCQlJbiBkaWVzZW0gRmllbGRzZXQgd2lyZCBkZXIgTXVsdGlJbnB1dCAmcXVvdDttb2R1bGUmcXVvdDsgdmllcm1hbCBhbmdlemVpZ3QuPGJyIC8+CgkJRC5oLiBlcyBnaWJ0IHZpZXIgWmVpbGVuIG1pdCBqZSB6d2VpIElucHV0ZmVsZGVybi4gRWluIERyb3Bkb3duIHVuZCBlaW4gZWluemVpbGlnZXMgVGV4dGlucHV0LjwvcD4KCQk8cD5XYXMgd2lyZCBnZXNwZWljaGVydD88L3A+CgkJPHA+RGFzIE1vZHVsIHNwZWljaGVydCBkaWUgV2VydGUgYWxzIGVpbmVuIGVpbnplbG5lbiBJbmhhbHRzYmxvY2suIERhYmVpIHdlcmRlbiBkaWUgZWluemVsbmVuIElucHV0ZmVsZGVyIG1pdCBkZW0gaW5wdXRfZGVsaW1pdGVyIHZvbmVpbmFuZGVyIGdldHJlbm50IHVuZCBkZXJlbiBXZXJ0IG1pdCBkZW0gaW5wdXRfdmFsdWVfZGVsaW1pdGVyLjxiciAvPgoJCU5laG1lbiB3aXIgbWFsIGFuLCBlcyB3dXJkZSBkYXMgTmV3c21vZHVsIHZpZXJtYWwgYXVzZ2V3JmF1bWw7aGx0LCBqZWRvY2ggbWl0IHVudGVyc2NoaWVkbGljaGVuIFBhcmFtZXRlcm4gd2llIHouQi4gY2F0ZWdvcnk9JnF1b3Q7MSZxdW90OywgY2F0ZWdvcnk9JnF1b3Q7MiZxdW90OywgY2F0ZWdvcnk9JnF1b3Q7MyZxdW90OywgY2F0ZWdvcnk9JnF1b3Q7NCZxdW90Oy48YnIgLz4KCQlJbiBkZXIgRGF0ZW5iYW5rIHdpcmQgZm9sZ2VuZGVzIGYmdXVtbDtyIGRpZXNlbiBCbG9jayBnZXNwZWljaGVydDo8L3A+CgkJPHByZT4KCQk8Y29kZT4KCQlOZXdzJmx0OyEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxpbWl0ZXIgLS0mZ3Q7Y2F0ZWdvcnk9IjEiJmx0OyEtLSBtdWx0aV9pbnB1dF9kZWxpbWl0ZXIgLS0mZ3Q7PGJyIC8+CgkJTmV3cyZsdDshLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tJmd0O2NhdGVnb3J5PSIyIiZsdDshLS0gbXVsdGlfaW5wdXRfZGVsaW1pdGVyIC0tJmd0OzxiciAvPgoJCU5ld3MmbHQ7IS0tIG11bHRpX2lucHV0X3ZhbHVlX2RlbGltaXRlciAtLSZndDtjYXRlZ29yeT0iMyImbHQ7IS0tIG11bHRpX2lucHV0X2RlbGltaXRlciAtLSZndDs8YnIgLz4KCQlOZXdzJmx0OyEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxpbWl0ZXIgLS0mZ3Q7Y2F0ZWdvcnk9IjQiCgkJPC9jb2RlPgoJCTwvcHJlPgoJCTxwPkltIFNlaXRlbnRlbXBsYXRlIGthbm4gbWFuIG51biBkZW4gSW5oYWx0IGRpZXNlcyBCbG9ja3MgYW5oYW5kIGRlciBUcmVubnplaWNoZW4gYXVmdGVpbGVuIHVuZCBkaWUgYXVzZ2V3JmF1bWw7aGx0ZW4gTW9kdWxlIGlua2wuIGlocmVyIGpld2VpbGlnZW4gUGFyYW1ldGVyIGF1ZnJ1ZmVuLjwvcD4KCQk8cD5Lb21wbGV0dGVzIEJlaXNwaWVsOjwvcD4KCQk8cHJlPgoJCTxjb2RlPgoJCXsqIEluaGFsdHNibG9jayBlcnN0ZWxsZW4gdW5kIGRlciBWYXJpYWJsZSAkbW9kdWxlcyB6dXdlaXNlbiAqfQoJCXtjb250ZW50IGJsb2NrPSZxdW90O21laW5lX3NlaXRlbm1vZHVsZSZxdW90OyBibG9ja190eXBlPSZxdW90O211bHRpX2lucHV0JnF1b3Q7IGlucHV0cz0mcXVvdDtNb2R1bGUsTW9kdWxlLE1vZHVsZSxNb2R1bGUmcXVvdDsgYXNzaWduPSZxdW90O21vZHVsZXMmcXVvdDt9CgkJCgkJeyogSW5oYWx0IGRlciBWYXJpYWJsZSAkbW9kdWxlcyBpbiBlaW4gQXJyYXkgYXVmdGVpbGVuIHVuZCBpbiBkZXIgVmFyaWFibGUgJG1vZHVsZXMgc3BlaWNoZXJuOyBzb21pdCBoYWJlbiB3aXIgZGllIE11bHRpSW5wdXRzICp9CgkJe2Fzc2lnbiB2YXI9bW9kdWxlcyB2YWx1ZT0mcXVvdDsmbHQ7IS0tIG11bHRpX2lucHV0X2RlbGltaXRlciAtLSZndDsmcXVvdDt8ZXhwbG9kZTokbW9kdWxlc30KCQkKCQl7KiBqZWRlbiBNdWx0aUlucHV0IGR1cmNoZ2VoZW4gKn0KCQl7Zm9yZWFjaCBmcm9tPSRtb2R1bGVzIGl0ZW09JnF1b3Q7bW9kdWxlJnF1b3Q7fQoJCQl7aWYgJG1vZHVsZSAhPSAnJ30KCQkJCgkJCQl7KiBkaWUgV2VydGUgZGVzIE11bHRpSW5wdXRzIGluIGVpbiBBcnJheSBhdWZ0ZWlsZW47IHNvbWl0IGhhYmVuIHdpciBNb2R1bG5hbWUgdW5kIFBhcmFtZXRlciAqfQoJCQkJe2Fzc2lnbiB2YXI9bW9kdWxlX2l0ZW1zIHZhbHVlPSZxdW90OyZsdDshLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tJmd0OyZxdW90O3xleHBsb2RlOiRtb2R1bGV9CgkJCQkKCQkJCXtpZiAkbW9kdWxlX2l0ZW1zWzBdICE9ICYjMDM5OyYjMDM5O30KCQkJCQoJCQkJCXsqIE1vZHVsIGF1ZnJ1ZmVuICp9CgkJCQkJe2lmIGlzc2V0KCRtb2R1bGVfaXRlbXNbMV0pfQoJCQkJCQl7ZXZhbCB2YXI9JHNtYXJ0eS5sZGVsaW18Y2F0OidjbXNfbW9kdWxlIG1vZHVsZT0iJ3xjYXQ6JG1vZHVsZV9pdGVtc1swXXxjYXQ6JyIgJ3xjYXQ6JG1vZHVsZV9pdGVtc1sxXXxjYXQ6JHNtYXJ0eS5yZGVsaW19CgkJCQkJe2Vsc2V9CgkJCQkJCXtldmFsIHZhcj0kc21hcnR5LmxkZWxpbXxjYXQ6J2Ntc19tb2R1bGUgbW9kdWxlPSInfGNhdDokbW9kdWxlX2l0ZW1zWzBdfGNhdDonIid8Y2F0OiRzbWFydHkucmRlbGltfQoJCQkJCXsvaWZ9CgkJCQkJCgkJCQl7L2lmfQoJCQkJCgkJCXsvaWZ9CgkJCgkJey9mb3JlYWNofQoJCTwvY29kZT4KCQk8L3ByZT4KCTwvbGk+CjwvdWw+Cgo8aDM+U3VwcG9ydDwvaDM+CjxwPkRpZXNlcyBNb2R1bCBiaWV0ZXQga2VpbmUga29tbWVyemllbGxlIFVudGVyc3QmdXVtbDt0enVuZy4gRXMgZ2lidCBqZWRvY2ggZWluaWdlIE0mb3VtbDtnbGljaGtlaXRlbiwgSGlsZmUgenUgZmluZGVuOjwvcD4KPHVsPgoJPGxpPkRpZSBIb21wYWdlIGRlcyBQcm9qZWt0ZXMgaXN0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIvIj5odHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2NvbnRlbnQyLzwvYT48L2xpPgoJPGxpPldlaXRlcmUgRGlza3Vzc2lvbmVuIGdpYnQgZXMgYXXDn2VyZGVtIGluIGRlbiBDTVMgTWFkZSBTaW1wbGUgRm9yZW46PGJyIC8+Cgk8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5kZSI+aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUuZGU8L2E+PGJyIC8+Cgk8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPmh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZzwvYT48L2xpPgo8L3VsPgo8YnIgLz4KPHA+Qml0dGUgbWVsZGVuIFNpZSBGZWhsZXIgb2RlciBWZXJiZXNzZXJ1bmdzdm9yc2NobCZhdW1sO2dlIGF1ZiBkZXIgUHJvamVrdC1Ib21lcGFnZS48L3A+CjxoMz5Db3B5cmlnaHQgdW5kIExpemVuejwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAxMC0yMDExLCBHZW9yZyBCdXNjaCAoTmFOKSA8YSBocmVmPSJtYWlsdG86Z2VvcmcuYnVzY2hAZ214Lm5ldCI+Jmx0O2dlb3JnLmJ1c2NoQGdteC5uZXQmZ3Q7PC9hPi4gQWxsZSBSZWNodGUgdm9yYmVoYWx0ZW4uPC9wPgo8cD5EaWVzZXMgTW9kdWwgd3VyZGUgdW50ZXIgZGVyIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPiB2ZXImb3VtbDtmZmVudGxpY2h0LiBTaWUgbSZ1dW1sO3NzZW4gZGllc2VyIExpemVueiB6dXN0aW1tZW4sIGJldm9yIFNpZSBkYXMgTW9kdWwgdmVyd2VuZGVuLjwvcD4KPHA+CglMYXV0IGRlbiBOdXR6dW5nc2Jlc3RpbW11bmdlbiBkZXIgR1BMIHdpcmQgZGllc2UgU29mdHdhcmUgc28gdmVyJm91bWw7ZmZlbnRsaWNodCB3aWUgc2llIGlzdC48YnIgLz4KCVNpZSBlcmhlYnQga2VpbmVybGVpIEFuc3BydWNoIGF1ZiBlaW53YW5kZnJlaWUgRnVua3Rpb24uPGJyIC8+CglEYXMgTW9kdWwgd3VyZGUgZXJzdGVsbHQsIGluIGRlciBIb2ZmbnVuZyBuJnV1bWw7dHpsaWNoIHp1IHNlaW4uPGJyIC8+CglFcyBiZXN0ZWh0IGtlaW5lcmxlaSBHYXJhbnRpZSBhdWYgZWluZW4gZWlud2FuZGZyZWllbiBOdXR6ZW4uPGJyIC8+CglCaXR0ZSBsZXNlbiBTaWUgZGllIE51dHp1bmdzYmVkaW5ndW5nZW4gZiZ1dW1sO3IgYXVzZiZ1dW1sO2hybGljaGUgSW5mb3JtYXRpb25lbi4KPC9wPgo8YnIgLz4K]]></data>
	</file>
	<file>
	  <filename>/doc/help_en_US.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGJyIC8+CjxwPjxzdHJvbmcgc3R5bGU9ImNvbG9yOnJlZCI+V0FSTklORyEgPC9zdHJvbmc+PGJyIC8+CklmIHlvdSB1bmluc3RhbGwgdGhlIG1vZHVsZSB3aXRob3V0IHJldmVydGluZyBhbGwgcGFnZXMgb2YgdHlwZSBBZHZhbmNlZENvbnRlbnQgYmFjayB0byB0aGUgZGVmYXVsdCBjb250ZW50dHlwZSB5b3VyIENNU21zIHdvbid0IHdvcmsgYW55bW9yZSE8YnIgLz4KTWFrZSBzdXJlIHRvIHNldCBhbGwgcGFnZXMgb2YgdHlwZSBBZHZhbmNlZENvbnRlbnQgYmFjayB0byBkZWZhdWx0IGNvbnRlbnQgb3IgZGVsZXRlIHRoZW0gYmVmb3JlIHVuaW5zdGFsbGluZyEgKHVzZSB0aGUgbW9kdWxlIHByZWZlcmVuY2UgJ3VuaW5zdGFsbCBhY3Rpb24nIHRvIGRvIHRoaXMgYXV0b21hdGljYWxseSk8L3A+CjxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhbiBhZGRpdGlvbmFsIGNvbnRlbnR0eXBlIHdoZW4gYWRkaW5nL2VkaXRpbmcgcGFnZXMuPGJyIC8+CldpdGggdGhpcyBjb250ZW50dHlwZSB1c2VycyBjYW4gY3JlYXRlIGN1c3RvbSBpbnB1dCBjb250cm9scyBpbiBiYWNrZW5kIHRvIHRoZSBhZGQvZWRpdCBwYWdlIGFyZWEgYnkganVzdCB1c2luZyBhZGRpdGlvbmFsIHBhcmFtcyBpbiB0aGUgcGFnZSB0ZW1wbGF0ZSB3aGVuIGNhbGxpbmcgdGhlIGNvbnRlbnQuPGJyIC8+ClRoYXQgbWVhbnMgeW91IGNhbiBkaXNwbGF5IHRoZSBjb250ZW50IGJsb2NrcyBhcyBkcm9wZG93bnMsIG11bHRpcGxlIHNlbGVjdCBsaXN0cywgY2hlY2tib3hlcyBldGMuPGJyIC8+CllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBjb250ZW50IGJsb2NrcyBpbiBkaWZmZXJlbnQgdGFicyBvciBncm91cCB0aGVtIGluIGZpZWxkc2V0cy48L3A+CjxwPkl0IGFsc28gYWRkcyBhYmlsaXR5IHRvIGdyYW50IGFjY2VzcyBvZiBwYWdlcyBvciBzaW5nbGUgYmxvY2tzIG9ubHkgdG8gY2VydGFpbiB1c2VycyBvZiB0aGUgCkZyb250RW5kVXNlcnMgbW9kdWxlIGFuZCBoaWRlIHRoZSBjb250ZW50LCByZXBsYWNlIGl0IGJ5IHRoZSBsb2dpbiBmb3JtIG9mIHRoZSAKRnJvbnRFbmRVc2VycyBtb2R1bGUgb3IgcmVkaXJlY3QgdG8gYSBzcGVjaWZpZWQgcGFnZSBzaG93aW5nIHRoZSBsb2dpbiBmb3JtIG9yIApqdXN0IHJlZGlyZWN0IHdpdGhvdXQgZG9pbmcgYW55dGhpbmcgZWxzZSBpZiB0aGUgZnJvbnRlbmQgdXNlciBpcyBub3QgbG9nZ2VkIGluIG9yIGRvZXMgbm90IGJlbG9uZyB0byBhIGNlcnRhaW4gZ3JvdXAuPC9wPgpBZGRpdGlvbmFsbHkgcGFnZXMgY2FuIGhhdmUgYSBzdGFydCBhbmQgZW5kIGRhdGUgdG8gYWN0aXZhdGUvZGVhY3RpdmF0ZSBwYWdlcyBhdXRvbWF0aWNhbGx5LjwvcD4KPHA+VGhlIGFkdmFuY2VkIGNvbnRlbnQgcHJvcGVydGllcyBjYW4gYmUgaW5oZXJpdGVkIGZyb20gcGFyZW50IHBhZ2VzLjwvcD4KPHA+WW91IGNhbiBldmVuIHVzZSBzbWFydHkgbG9naWMgaW4gcGFyYW1ldGVyIHZhbHVlcy4gVGhhdCBtZWFucyB5b3UgY2FuIHVzZSB0aGUgCnJlc3VsdCBvZiBhIHBsdWdpbiwgYW4gdWR0IG9yIGV2ZW4gYSBtb2R1bGUgb3IganVzdCB0aGUgY29udGVudCBvZiBhIGdsb2JhbCAKY29udGVudCBibG9jayBhcyBwYXJhbWV0ZXIgdmFsdWUgdG8gY3JlYXRlIGR5bmFtaWMgdmFsdWVzLjwvcD4KPGgzPkhvdyBpcyBpdCB1c2VkPzwvaDM+CjxwPkFmdGVyIGluc3RhbGxhdGlvbiB0aGUgbW9kdWxlIHNldHRpbmdzIGNhbiBiZSBmb3VuZCBpbiAiRXh0ZW5zaW9ucy0+QWR2YW5jZWRDb250ZW50Ii48L2JyID4KQWRkaXRpb25hbGx5IHlvdSB3aWxsIGhhdmUgYSBuZXcgY29udGVudCB0eXBlICJBZHZhbmNlZENvbnRlbnQiIGF2YWlsYWJsZSB3aGVuIGFkZGluZy9lZGl0aW5nIGEgcGFnZS48L3A+CjxwPjxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz48YnIgLz4gSW4gc29tZSBjYXNlcyBpdCBpcyByZWNvbWVuZGVkIHRvIHVzZSB0aGUgdGhlIHtBZHZhbmNlZENvbnRlbnR9IHRhZyBpbiB0aGUgdGVtcGxhdGUgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCB7Y29udGVudH0gdGFnLiAoY2FzZSBzZW5zaXRpdmUpPGJyIC8+CmUuZy4gdGhlIGFubm95aW5nIG1lc3NhZ2UgIlBhcmFtZXRlciBbWF0gaXMgbm90IGtub3duIGJ5IE1vZHVsZSBbTW9kdWxlbmFtZV0iIGNhbiBiZSBhdm9pZGVkIHdpdGggaXQuIChvbmx5IGFmZmVjdHMgdGhlIGRlZmF1bHQgY29udGVudCBibG9jayBhdCB0aGUgbW9tZW50KTxiciAvPjxiciAvPgpJZiB5b3VyIHN0YXJ0IHBhZ2UgaXMgb2YgdHlwZSBhZHZhbmNlZCBjb250ZW50IGFuZCB5b3UgY2hhbmdlIHRoaXMgdG8gYmUgdGhlIGRlZmF1bHQgY29udGVudHR5cGUgeW91IG5lZWQgdG8gc2V0IHRoaXMgcGFnZSBhcyBzdGFydCBwYWdlIGFnYWluLjxiciAvPjxiciAvPgpJZiB5b3UgdXNlIHNtYXJ0eSB0byBwcm9jZXNzIHRoZSBwYXJhbWV0ZXIgdmFsdWVzIGNvbnNpZGVyIHRoZSBmb2xsb3dpbmc6PGJyIC8+Ckl0IGlzIG5vdCByZWNvbW1lbmRlZCB0byB1c2UgcGFnZSByZWxhdGVkIGRhdGEgc3VjaCBhcyB7JGNvbnRlbnRfaWR9LCB7dGl0bGV9IG9yIHskcGFnZV9hbGlhc30gZXRjLiBiZWNhdXNlIHRoZXNlIGRhdGEgZG9lcyBub3QgZXhpc3QgaWYgeW91IDxzdHJvbmc+Y3JlYXRlPC9zdHJvbmc+IGEgcGFnZS48YnIgLz4KTWFrZSBzdXJlIHRoYXQgeW91IGRvIG5vdCB1c2UgdGVtcGxhdGUgdmFycywgcGx1Z2lucyBvciB1ZHRzIHRoYXQgbmVlZHMgZGF0YSB0aGF0IGlzIG9ubHkgYXZhaWxhYmxlIHdoZW4gdGhlIHBhZ2UgaXMgcmVuZGVyZWQgdmlhIGZyb250ZW5kLjxiciAvPgpJdCBpcyByZWNvbW1lbmRlZCB0byBjcmVhdGUgYSBwbHVnaW4gb3IgdWR0IHdoZXJlIHlvdSBjYW4gZGVjaWRlIHdoYXQgdG8gcmV0dXJuIGlmIHRoZXJlIGlzIG5vIHN1Y2ggZGF0YSBhdmFpbGFibGUuPC9lbT48L3A+CjxwPlRvIHVzZSB0aGUgbW9kdWxlcyBmdW5jdGlvbnMgdXNlIHRoaXMgY29udGVudCB0eXBlIGFuZCBvcHRpb25hbGx5IGFkZCB0aGUgZm9sbG93aW5nIHBhcmFtZXRlcnMgdG8geW91ciBjb250ZW50IHRhZyBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUuLi48L3A+CjxoMz5XaGF0IHBhcmFtZXRlcnMgYXJlIGF2YWlsYWJsZT88L2gzPgo8cD4oYWxsIHBhcmFtcyBhcmUgb3B0aW9uYWwpPC9wPgo8cD48c3Ryb25nPkRlZmF1bHQgcGFyYW1zOjwvc3Ryb25nPjwvcD4KPHA+PGVtPjxhIGhyZWY9Imxpc3R0YWdzLnBocD9hY3Rpb249c2hvd3BsdWdpbmhlbHAmcGx1Z2luPWNvbnRlbnQiPihzZWUgYWxzbyB0YWcgaGVscCBvZiB0aGUgZGVmYXVsdCB7Y29udGVudH0gdGFnKTwvYT48L2VtPjwvcD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmJsb2NrPC90dD4gKHN0cmluZykKCQk8dWw+CgkJCTxsaT4KCQkJCUFsbG93cyB5b3UgdG8gaGF2ZSBtb3JlIHRoYW4gb25lIGNvbnRlbnQgYmxvY2sgcGVyIHBhZ2UuIElmIG11bHRpcGxlIGNvbnRlbnQgdGFncyBhcmUgcHV0IG9uIGEgdGVtcGxhdGUsIHRoYXQgbnVtYmVyIG9mIGVkaXQgYm94ZXMgd2lsbCBiZSBkaXNwbGF5ZWQgaWYgdGhlIHBhZ2UgaXMgZWRpdGVkLjxiciAvPgoJCQkJZS5nLjogPGNvZGU+e2NvbnRlbnQgYmxvY2s9IlNlY29uZCBDb250ZW50IGJsb2NrIn08L2NvZGU+PGJyIC8+CgkJCQlOb3csIGlmIHlvdSBlZGl0IGEgcGFnZSB0aGVyZSB3aWxsIGJhIGEgdGV4dGFyZWEgY2FsbGVkICJTZWNvbmQgQ29udGVudCBibG9jayIuPGJyIC8+CgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IFRoZSBuYW1lIG9mIHRoZSBjb250ZW50IGJsb2NrIG1heSBjb250YWluIG9ubHkgbGV0dGVycywgbnVtYmVycywgYW5kIHVuZGVyc2NvcmVzIChubyB3aGl0ZXNwYWNlcywgc3BlY2lhbCBjaGFycywgdW1sYXV0cyBldGMuKS4gT3RoZXJ3aXNlIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGEgcHJvcGVyIG5hbWUgKHNpbWlsYXIgdG8gdGhlIHBhZ2UgYWxpYXMpLjwvZW0+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+d3lzaXd5ZzwvdHQ+ICh0cnVlL2ZhbHNlKQoJCTx1bD4KCQkJPGxpPklmIHNldCB0byBmYWxzZSwgdGhlbiBhIHd5c2l3eWcgd2lsbCBuZXZlciBiZSB1c2VkIHdoaWxlIGVkaXRpbmcgdGhpcyBibG9jay4gSWYgdHJ1ZSwgdGhlbiBpdCBhY3RzIGFzIG5vcm1hbC48L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0Pm9uZWxpbmU8L3R0PiAodHJ1ZS9mYWxzZSkKCQk8dWw+CgkJCTxsaT5JZiBzZXQgdG8gdHJ1ZSwgdGhlbiBvbmx5IG9uZSBlZGl0IGxpbmUgd2lsbCBiZSBzaG93biB3aGlsZSBlZGl0aW5nIHRoaXMgYmxvY2suIElmIGZhbHNlLCB0aGVuIGl0IGFjdHMgYXMgbm9ybWFsLiBPbmx5IHdvcmtzIHdoZW4gYmxvY2sgcGFyYW1ldGVyIGlzIHVzZWQuPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZWZhdWx0PC90dD4gKHN0cmluZykKCQk8dWw+CgkJCTxsaT5EZWZhdWx0IGNvbnRlbnQgd2hlbiBjcmVhdGluZyBhIG5ldyBwYWdlLjwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+bGFiZWw8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPlByb21wdCBmb3IgdGhpcyBjb250ZW50IGJsb2NrLiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGFueSBleHByZXNzaW9uLiBJZiBibGFuaywgdGhlIHVuY29udmVydGVkIGJsb2NrIG5hbWUgaXMgdXNlZC48L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmFzc2lnbjwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+CgkJCQlBc3NpZ25zIHRoZSBjb250ZW50IHRvIGEgc21hcnR5IHBhcmFtZXRlciwgd2hpY2ggeW91IGNhbiB0aGVuIHVzZSBpbiBvdGhlciBhcmVhcyBvZiB0aGUgcGFnZSwgb3IgdXNlIHRvIHRlc3Qgd2hldGhlciBjb250ZW50IGV4aXN0cyBpbiBpdCBvciBub3QuPGJyIC8+CgkJCQlFeGFtcGxlIG9mIHBhc3NpbmcgcGFnZSBjb250ZW50IHRvIGEgVXNlciBEZWZpbmVkIFRhZyBhcyBhIHBhcmFtZXRlcjo8YnIgLz4KCQkJCTxjb2RlPntjb250ZW50IGFzc2lnbj1wYWdlY29udGVudH08YnIgLz4KCQkJCXt0YWJsZV9vZl9jb250ZW50cyB0aGVwYWdlY29udGVudD0iJHBhZ2Vjb250ZW50In08L2NvZGU+PGJyIC8+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+CjxwPjxzdHJvbmc+QWR2YW5jZWQgcGFyYW1zOjwvc3Ryb25nPjwvcD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmJsb2NrX3R5cGU8L3R0PiAodGV4dCxjaGVja2JveCxkcm9wZG93bixzZWxlY3RfbXVsdGlwbGUsZGF0ZSxtdWx0aV9pbnB1dCxzbGlkZXIsY29sb3JwaWNrZXIpIAoJCTx1bD4KCQkJPGxpPkFsbG93cyB5b3UgdG8gc3BlY2lmeSB3aGF0IGNvbnRlbnQgY29udHJvbCB0eXBlIGlzIHVzZWQgaW4gdGhlIGJhY2sgZW5kLjwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+cGFnZV90YWI8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPgoJCQkJVGhpcyBwYXJhbWV0ZXIgc2V0cyB0aGUgdGFiIGluIHdoaWNoIHRoZSBjb250ZW50IGJsb2NrIGlzIGRpc3BsYXllZCBpbiB0aGUgYmFja2VuZC48YnIgLz4KCQkJCVBvc3NpYmxlIHZhbHVlcyBhcmUgIm1haW4iICggPSBUYWIgIk1haW4gTWVudSIpLCAib3B0aW9ucyIgKCA9IFRhYiAiT3B0aW9ucyIpLCBvciBhbnkgb3RoZXIgYXJiaXRyYXJ5IHZhbHVlPGJyIC8+CgkJCQk8ZW0+ZS5nLiB5b3UgY2FuIGFkZCBhIGNoZWNrYm94IHRvIHRoZSBvcHRpb25zIHRhYiBvciBjcmVhdGUgbmV3IHRhYnM8L2VtPi4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5ibG9ja190YWI8L3R0PiAoc3RyaW5nKQoJCTx1bD4KCQkJPGxpPldpdGggdGhpcyBwYXJhbWV0ZXIsIHRoZSBibG9ja3Mgd2l0aGluIGEgcGFnZSB0YWIgY2FuIGJlIGZ1cnRoZXIgZGl2aWRlZCBpbnRvIHRhYnMgb3IgY2FuIGJlIGdyb3VwZWQgdG9nZXRoZXIuIEFueSBleHByZXNzaW9uIGNhbiBiZSB1c2VkIGFzIGEgcG9zc2libGUgdmFsdWUuPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5ibG9ja19ncm91cDwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+V2l0aCB0aGlzIHBhcmFtZXRlciwgbXVsdGlwbGUgYmxvY2tzIGNhbiBiZSBncm91cGVkIGluIGEgZmllbGRzZXQuIEFueSBleHByZXNzaW9uIGNhbiBiZSB1c2VkIGFzIGEgcG9zc2libGUgdmFsdWUuPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5hY3RpdmU8L3R0PiAodHJ1ZS9mYWxzZSkKCQk8dWw+CgkJCTxsaT4KCQkJCUFsbG93cyB5b3UgdG8gZGlzYWJsZSBhIGNvbnRlbnQgYmxvY2suIERpc2FibGVkIGNvbnRlbnQgYmxvY2tzIHdvbid0IGJlIHNob3duIGluIGJhY2tlbmQgYXMgd2VsbCBhcyBpbiBmcm9udGVuZC4gKG9ubHkgd29ya3Mgd2l0aCB7QWR2YW5jZWRDb250ZW50fSBwbHVnaW4pPGJyIC8+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZWRpdG9yX2dyb3VwczwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+CgkJCQlBIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGdyb3VwIG5hbWVzIHRoYXQgYXJlIGFsbG93ZWQgdG8gZWRpdCB0aGlzIGJsb2NrLgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmVkaXRvcl91c2VyczwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+CgkJCQlBIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHVzZXIgbmFtZXMgdGhhdCBhcmUgYWxsb3dlZCB0byBlZGl0IHRoaXMgYmxvY2suCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IGlmIHRoZSBwYXJhbXMgPHR0PmVkaXRvcl91c2VyczwvdHQ+IGFuZCA8dHQ+ZWRpdG9yX2dyb3VwczwvdHQ+IGFyZSBlbXB0eSB0aGUgYmxvY2sgbWF5IGJlIGVkaXRlZCBieSBhbnkgdXNlciB3aXRoIHN1ZmZpY2llbnQgcGVybWlzc2lvbiB0byBlZGl0IGEgcGFnZTwvZW0+PGJyIC8+PGJyIC8+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZmV1X2FjY2VzczwvdHQ+CgkJPHVsPgoJCQk8bGk+CgkJCQlBIGxpc3Qgb2YgZmV1IGdyb3VwIGlkcyBzZXBhcmF0ZWQgYnkgYSBjb21tYS48YnIgLz4KCQkJCVRoaXMgc2hvd3MgdGhlIGNvbnRlbnQgYmxvY2sgb25seSB0byBjZXJ0YWluIGZldSBncm91cHMuPGJyIC8+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZmV1X2FjdGlvbjwvdHQ+ICh0cnVlL2ZhbHNlKQoJCTx1bD4KCQkJPGxpPgoJCQkJU3BlY2lmeSBpZiB0aGUgbG9naW4gZm9ybSBvZiB0aGUgZmV1IG1vZHVsZSB3aWxsIGJlIHNob3duIG9yIG5vdC48YnIgLz4KCQkJCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gVGhlIGxvZ2luIGZvcm0gd2lsbCBvbmx5IGJlIHNob3duIG9uZSB0aW1lLjxiciAvPgoJCQkJSWYgdGhlcmUgYXJlIG11bHRpcGxlIGJsb2NrcyB3aXRoIGxpbWl0ZWQgZmV1X2FjY2VzcyBhbmQgZmV1X2FjdGlvbiBzZXQgdG8gdHJ1ZSBvbmx5IHRoZSBmaXJzdCBibG9ja3MgbG9naW4gZm9ybSB3aWxsIGJlIHNob3duIGFuZCBhbGwgb3RoZXIgYmxvY2tzIHdpbGwganVzdCBiZSBlbXB0eS48L2VtPjxiciAvPgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmZldV9oaWRlPC90dD4gKHRydWUvZmFsc2UpCgkJPHVsPgoJCQk8bGk+CgkJCQlTcGVjaWZ5IGlmIGEgcHVibGljIGJsb2NrIHdpbGwgYmUgaGlkZGVuIGlmIHVzZXIgaXMgbG9nZ2VkIGluLjxiciAvPgoJCQkJRGVmYXVsdCBpcyBmYWxzZS48YnIgLz4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5hbGxvd19ub25lPC90dD4gKHRydWUvZmFsc2UpCgkJPHVsPgoJCQk8bGk+U2V0IHRvIHRydWUgaWYgdGhlIHVzZXIgbWF5IGVudGVyIGVtcHR5IHZhbHVlcy4gPGJyIC8+SWYgc2V0IHRvIGZhbHNlIGFuZCB2YWx1ZSBpcyBlbXB0eSB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgcGFyYW0gImRlZmF1bHQiIHdpbGwgYmUgdXNlZC4gPGJyIC8+SWYgc2V0IHRvIHRydWUgYW5kIGJsb2NrIGlzIG9mIHR5cGUgaW1hZ2UvZmlsZSB0aGUgb3B0aW9uICJub25lIiAobW9kZT0iZHJvcGRvd24iKSBvciBhIGJ1dHRvbiB0byBjbGVhciB0aGUgc2VsZWN0ZWQgZmlsZS9pbWFnZSB2YWx1ZSAobW9kZT0iZmlsZXBpY2tlciIpIHdpbGwgYmUgZGlzcGxheWVkLjwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c21hcnR5PC90dD4gKHRydWUvZmFsc2UpCgkJPHVsPgoJCQk8bGk+CgkJCQlUdXJuIHNtYXJ0eSBwcm9jZXNzaW5nIG9mIHZhbHVlcyBvbi9vZmYuPGJyIC8+CgkJCQlJZiBzZXQgdG8gdHJ1ZSBhbnkgZ2l2ZW4gdmFsdWUgd2lsbCBiZSBwcm9jZXNzZWQgYnkgdGhlIHNtYXJ0eSBlbmdpbmUuPGJyIC8+CgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6IDwvc3Ryb25nPiBDb25zaWRlciB0aGF0IHlvdSBjYW5ub3QgdXNlIHRoZSBkZWZhdWx0IHNtYXJ0eSBkZWxpbWl0ZXJzIHRoYXQgYXJlIHVzZWQgaW4gdGhlIHRlbXBsYXRlLiBUaGlzIHdpbGwgY2F1c2Ugc21hcnR5IGVycm9ycyBpbiBmcm9udGVuZC48YnIgLz4KCQkJCVNvIHlvdSBuZWVkIHRvIHVzZSA6OjogYXMgZGVsaW1pdGVyIGluc3RlYWQuPGJyIC8+PC9lbT4KCQkJCUUuZy46IDxjb2RlPntjb250ZW50IGJsb2NrPSJDYXRlZ29yaWVzIiBsYWJlbD0iU2VsZWN0IGEgY2F0ZWdvcnkiIGJsb2NrX3R5cGU9ImRyb3Bkb3duIiBpdGVtcz0iOjo6Z2xvYmFsX2NvbnRlbnQgbmFtZT0nY2F0ZWdvcnlsaXN0Jzo6OiIgc21hcnR5PSJ0cnVlIn08L2NvZGU+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZGVzY3JpcHRpb248L3R0PiAoc3RyaW5nKSAKCQk8dWw+CgkJCTxsaT5BbGxvd3MgeW91IHRvIGFkZCBhIGRldGFpbGVkIGRlc2NyaXB0aW9uIHRvIHRoYXQgYmxvY2sgZm9yIHlvdXIgZWRpdG9ycy48L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmNvbGxhcHNlPC90dD4gKHRydWUvZmFsc2UpCgkJPHVsPgoJCQk8bGk+CgkJCQlTZXQgdG8gdHJ1ZS9mYWxzZSB0byBkaXNwbGF5IGJsb2NrIGluIGJhY2tlbmQgaW4gY29sbGFwc2VkL2V4cGFuZGVkIG1vZGUgYnkgZGVmYXVsdC48YnIgLz4KCQkJCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gd2lsbCBiZSBhbHdheXMgZmFsc2UgaWYgbm9fY29sbGFwc2U9dHJ1ZSBpcyB1c2VkLjwvZW0+PGJyIC8+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+bm9fY29sbGFwc2U8L3R0PiAodHJ1ZS9mYWxzZSkKCQk8dWw+CgkJCTxsaT4KCQkJCVNldCB0byBmYWxzZSB0byBkaXNhYmxlIGZvbGRpbmcgb2YgYmxvY2tzLjxiciAvPgoJCQkJPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBpZiBzZXQgdG8gdHJ1ZSBwYXJhbSBjb2xsYXBzZSBpcyBhbHdheXMgZmFsc2UuPC9lbT48YnIgLz4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5yZXF1aXJlZDwvdHQ+ICh0cnVlL2ZhbHNlKQoJCTx1bD4KCQkJPGxpPgoJCQkJU2V0IHRvIHRydWUgaWYgdGhpcyBibG9jayBtYXkgbm90IGJlIGVtcHR5LjxiciAvPgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgo8L3VsPgo8cD48c3Ryb25nPkFkZGl0aW9uYWwgcGFyYW1zIG9mIGJsb2NrdHlwZSAidGV4dCI6PC9zdHJvbmc+PC9wPgo8dWw+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+Y29sczwvdHQ+IChpbnQpIAoJCTx1bD4KCQkJPGxpPgoJCQkJRW50ZXIgdGhlIHdpdGggKGluIGNoYXJhY3RlciBjb2x1bW5zKSBvZiB0aGUgdGV4dGFyZWEuIChvbmx5IHdvcmtzIHdpdGggd3lzaXd5Zz1mYWxzZSk8YnIgLz4KCQkJCURlZmF1bHQgaXMgODAuCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+cm93czwvdHQ+IChpbnQpIAoJCTx1bD4KCQkJPGxpPgoJCQkJRW50ZXIgdGhlIGhlaWdodCAoaW4gcm93cykgb2YgdGhlIHRleHRhcmVhIChvbmx5IHdvcmtzIHdpdGggd3lzaXd5Zz1mYWxzZSk8YnIgLz4KCQkJCURlZmF1bHQgaXMgMTUuCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YXV0b19yZXNpemU8L3R0PiAodHJ1ZS9mYWxzZSkgCgkJPHVsPgoJCQk8bGk+CgkJCQlTZXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBhdXRvIHJlc2l6aW5nIG9mIHRleHRhcmVhcyB3aGVuIHJvdyBjb3VudCBpcyByZWFjaGVkLjxiciAvPgoJCQkJPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBhdXRvIHJlc2l6aW5nIG9ubHkgd29ya3Mgd2l0aCBwYXJhbSB3eXNpd3lnPWZhbHNlPC9lbT4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KPC91bD4KPHA+PHN0cm9uZz5QYXJhbXMgb2YgYmxvY2t0eXBlICJjaGVja2JveCI6PC9zdHJvbmc+IG5vIGFkZGl0aW9uYWwgcGFyYW1ldGVycy48YnIgLz4KCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gdXNlIHBhcmFtIGRlZmF1bHQ9MSB0byBzZXQgaWYgYSBjaGVja2JveCBpcyBjaGVja2VkIGJ5IGRlZmF1bHQuPC9lbT4KPC9wPgo8cD48c3Ryb25nPlBhcmFtZXRlciBvZiBibG9ja3R5cGUgQ29sb3JwaWNrZXI6PC9zdHJvbmc+IG5vIGFkZGl0aW9uYWwgcGFyYW1ldGVyczwvcD4KPHA+PHN0cm9uZz5QYXJhbWV0ZXIgb2YgYmxvY2t0eXBlIFNsaWRlcjo8L3N0cm9uZz4gKHNlZSBhbHNvIGRvY3VtZW50YXRpb24gb2YgdGhlIGJ1aWx0IGluIGpxdWVyeSBzbGlkZXIgcGx1Z2luKTwvcD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmZyb208L3R0PiAoaW50KSAKCQk8dWw+CgkJCTxsaT4KCQkJCXN0YXJ0IHZhbHVlCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD50bzwvdHQ+IChpbnQpIAoJCTx1bD4KCQkJPGxpPgoJCQkJZW5kIHZhbHVlCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zdGVwPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQlhbW91bnQgb2Ygc3RlcHMgdGhlIHNsaWRlciBjaGFuZ2VzIHRoZSB2YWx1ZXMKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KPC91bD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnJvdW5kPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQlkaWdpdHMgYWZ0ZXIgdGhlIGNvbW1hCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5oZXRlcm9nZW5laXR5PC90dD4gKHN0cmluZykgCgkJPHVsPgoJCQk8bGk+CgkJCQlUb0RvCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kaW1lbnNpb248L3R0PiAoc3RyaW5nKSAKCQk8dWw+CgkJCTxsaT4KCQkJCXVuaXRzIGFmdGVyIHRoZSB2YWx1ZQoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgo8L3VsPgo8dWw+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+bGltaXRzPC90dD4gKHRydWUvZmFsc2UpIAoJCTx1bD4KCQkJPGxpPgoJCQkJVG9EbwoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgo8L3VsPgo8dWw+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c2NhbGU8L3R0PiAoc3RyaW5nKSAKCQk8dWw+CgkJCTxsaT4KCQkJCVRvRG8KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KPC91bD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnNraW48L3R0PiAoc3RyaW5nKSAKCQk8dWw+CgkJCTxsaT4KCQkJCXRoZSBza2luIHRvIHVzZSB3aGVuIHJlbmRlcmluZyB0aGUgc2xpZGVyCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5jYWxjdWxhdGU8L3R0PiAoc3RyaW5nKSAKCQk8dWw+CgkJCTxsaT4KCQkJCWEgamF2YXNjcmlwdCBmdW5jdGlvbiB0byBjYWxjdWxhdGUgdGhlIGRpc3BsYXllZCB2YWx1ZXMKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KPC91bD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0Pm9uc3RhdGVjaGFuZ2U8L3R0PiAoc3RyaW5nKSAKCQk8dWw+CgkJCTxsaT4KCQkJCWEgamF2YXNjcmlwdCBmdW5jdGlvbiB0aGF0IHdpbGwgYmUgcHJvY2Vzc2VkIHdoZW4gY2hhbmdpbmcgdGhlIHZhbHVlCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+Cjx1bD4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5jYWxsYmFjazwvdHQ+IChzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJYSBqYXZhc2NyaXB0IGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBwcm9jZXNzZWQgYWZ0ZXIgYSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+CjxwPjxzdHJvbmc+UGFyYW1zIG9mIGJsb2NrdHlwZSAiZHJvcGRvd24iLyJzZWxlY3RfbXVsdGlwbGUiOjwvc3Ryb25nPjwvcD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0Pml0ZW1zPC90dD4gKHN0cmluZykKCQk8dWw+CgkJCTxsaT5JdGVtIGxhYmVsKHMpIG9mIHRoZSBmaWVsZChzKSAoc2VwYXJhdGVkIGJ5IGEgZGVsaW1pdGVyIC0gZGVmYXVsdCBpcyB8IChwaXBlKSk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnZhbHVlczwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+VmFsdWUocykgb2YgdGhlIGl0ZW1zIChzZXBhcmF0ZWQgYnkgYSBkZWxpbWl0ZXIgLSBkZWZhdWx0IGlzIHwgKHBpcGUpKTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IGlmIHRoZXJlIGFyZSBsZXNzIHZhbHVlcyB0aGFuIGl0ZW1zIHRoZSBpdGVtIGxhYmVscyB3aWxsIGJlIHVzZWQgYXMgdmFsdWVzIChhbmQgdmlzZSB2ZXJzYSkuPC9lbT48YnIgLz48YnIgLz4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZWZhdWx0PC90dD4gKHN0cmluZykKCQk8dWw+CgkJCTxsaT4KCQkJCVByZXNlbGVjdGVkIHZhbHVlKHMpIChzZXBhcmF0ZWQgYnkgYSBkZWxpbWl0ZXIgLSBkZWZhdWx0IGlzIHwgKHBpcGUpKTxiciAvPgoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBVc2UgdGhlIGl0ZW0gPHN0cm9uZz52YWx1ZXM8L3N0cm9uZz4gYXMgZGVmYXVsdCwgbm90IHRoZSBpdGVtIGxhYmVscy48L2VtPjxiciAvPjxiciAvPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmRlbGltaXRlcjwvdHQ+IChzdHJpbmcpCgkJPHVsPgoJCQk8bGk+QSBzaWduIG9yIHN0cmluZyB0aGF0IHdpbGwgYmUgdXNlZCB0byBkZXZpZGUgdGhlIGl0ZW1zL3ZhbHVlcyAoZGVmYXVsdCBpcyB8IChwaXBlKSk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnNpemU8L3R0PiAoaW50ZWdlcikKCQk8dWw+CgkJCTxsaT5IZWlnaHQgb2YgY29udGVudCBibG9jayBpbiBiYWNrIGVuZCBpZiA8Y29kZT5ibG9ja190eXBlPSJzZWxlY3RfbXVsdGlwbGUiPC9jb2RlPiBpcyBzZXQuIDxlbT4oRGVmYXVsdCBpcyBudW1iZXIgb2YgaXRlbXMpPC9lbT48L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnNvcnRhYmxlPC90dD4gKHRydWUvZmFsc2UpIC0gc2VsZWN0X211bHRpcGxlIG9ubHkKCQk8dWw+CgkJCTxsaT4KCQkJCUlmIHNldCB0byB0cnVlIHRoZSBpdGVtcyB3b24ndCBiZSBzaG93biBhcyBhIG11bHRpcGxlIHNlbGVjdCBpbnB1dCB3aXRoIG9wdGlvbnMgYnV0IGFzIGEgbGlzdCBvZiBjaGVja2JveGVzIHRoYXQgY2FuIGJlIHJlb3JkZXJlZC48YnIgLz5FYWNoIHJvdyBjb250YWlucyB0aGUgaXRlbSBsYWJlbCBhbmQgYSBjaGVja2JveCB3aXRoIHRoZSBpdGVtIHZhbHVlLjxiciAvPgoJCQkJPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBvbmx5IHRoZSBvcmRlciBvZiB0aGUgPHN0cm9uZz5zZWxlY3RlZDwvc3Ryb25nPiBpdGVtcyB3aWxsIGJlIHN0b3JlZCBhbmQgYWx3YXlzIGRpc3BsYXllZCBvbiB0aGUgdG9wIG9mIHRoZSBsaXN0IHdoZW4gcmVsb2FkaW5nIHRoZSBlZGl0IHBhZ2UuPGJyIC8+CgkJCQlVbnNlbGVjdGVkIGl0ZW1zIHdpbGwgYXBwZW5kZWQgaW4gdGhhdCBvcmRlciB0aGV5IGFyZSBkZWZpbmVkIGluIHRoZSB0ZW1wbGF0ZTwvZW0+CgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+CjxwPjxzdHJvbmc+UGFyYW1zIG9mIGJsb2NrdHlwZSAiZGF0ZSI6PC9zdHJvbmc+PC9wPgo8dWw+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c3RlcF9ob3VyczwvdHQ+IChpbnQpIAoJCTx1bD4KCQkJPGxpPgoJCQkJc3RlcHMgb2YgaG91cnMgaW4gdGhlIGNsb2NrIGRyb3Bkb3duLiAoZGVmYXVsdCBpcyAxKQoJCQk8L2xpPgoJCTwvdWw+CgkJPGJyIC8+Cgk8L2xpPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnN0YXJ0X2hvdXI8L3R0PiAoaW50KSAKCQk8dWw+CgkJCTxsaT4KCQkJCXRoZSBzdGFydCBob3VyIG9mIHRoZSBjbG9jayBkcm9wZG93bi4gKGRlZmF1bHQgaXMgMCkKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lbmRfaG91cjwvdHQ+IChpbnQpIAoJCTx1bD4KCQkJPGxpPgoJCQkJdGhlIGVuZCBob3VyIG9mIHRoZSBjbG9jayBkcm9wZG93biAoZGVmYXVsdCBpcyAxMiBvciAyMykKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zaG93MjRoPC90dD4gKHRydWUvZmFsc2UpIAoJCTx1bD4KCQkJPGxpPgoJCQkJc2V0IHRvIGZhbHNlIGlmIEFNL1BNIGlzIHVzZWQuIChkZWZhdWx0IGlzIHRydWUpCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c3RlcF9taW51dGVzPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQlzdGVwcyBvZiBtaW51dGVzIGluIHRoZSBjbG9jayBkcm9wZG93bi4gKGRlZmF1bHQgaXMgMTApCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c3RhcnRfbWludXRlPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQl0aGUgc3RhcnQgbWludXRlIG9mIHRoZSBjbG9jayBkcm9wZG93bi4gKGRlZmF1bHQgaXMgMCkKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lbmRfbWludXRlPC90dD4gKGludCkgCgkJPHVsPgoJCQk8bGk+CgkJCQl0aGUgZW5kIG1pbnV0ZSBvZiB0aGUgY2xvY2sgZHJvcGRvd24gKGRlZmF1bHQgaXMgNTkpCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c2hvd19jbG9jazwvdHQ+ICh0cnVlL2ZhbHNlKSAKCQk8dWw+CgkJCTxsaT4KCQkJCXNldCB0byBmYWxzZSBpZiBubyB0aW1lIGRyb3Bkb3duIHNob3VsZCBiZSBkaXNwbGF5ZWQgKGRlZmF1bHQgaXMgdHJ1ZSk8YnIgLz4KCQkJCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gSWYgc2V0IHRvIGZhbHNlIDAwOjAwIG8nY2xvY2sgd2lsbCBiZSB1c2VkPC9lbT4KCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kYXRlX2Zvcm1hdDwvdHQ+IChzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJVGhlIHN0cmZ0aW1lIGRhdGUgZm9ybWF0IHRvIHNob3cgaW4gZnJvbnRlbmQuCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+CjwvdWw+CjxwPjxzdHJvbmc+UGFyYW1zIG9mIGJsb2NrdHlwZSAibXVsdGlfaW5wdXQiOjwvc3Ryb25nPjwvcD4KPHVsPgoJPGxpPgoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmlucHV0czwvdHQ+IChjc3Ygb2YgaW5wdXQgaWRzIHlvdSBjcmVhdGVkIGluIHRoZSBiYWNrZW5kKSAKCQk8YnIgLz48YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+dmFsdWVfZGVsaW1pdGVyPC90dD4gKGFueSBzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJVGhpcyBkZWZpbmVzIGEgc3RyaW5nIHRoYXQgZGV2aWRlcyB0aGUgdmFsdWVzIG9mIHRoZSBpbnB1dHMgb2Ygb25lIG11bHRpX2lucHV0IHdoZW4gc3RvcmVkIGluIHRoZSBkYXRhYmFzZS48YnIgLz4KCQkJCURlZmF1bHQgaXMgIiZsdDshLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsbGltaXRlciAtLSZndDsiCgkJCTwvbGk+CgkJPC91bD4KCQk8YnIgLz4KCTwvbGk+Cgk8bGk+CgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+aW5wdXRfZGVsaW1pdGVyPC90dD4gKGFueSBzdHJpbmcpIAoJCTx1bD4KCQkJPGxpPgoJCQkJVGhpcyBkZWZpbmVzIGEgc3RyaW5nIHRoYXQgZGV2aWRlcyB0aGUgbXVsdGlfaW5wdXRzIHlvdSBkZWZpbmVkIGZvciB0aGlzIGNvbnRlbnQgYmxvY2sgd2hlbiBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLjxiciAvPgoJCQkJRGVmYXVsdCBpcyAiJmx0OyEtLSBtdWx0aV9pbnB1dF9kZWxsaW1pdGVyIC0tJmd0OyIKCQkJPC9saT4KCQk8L3VsPgoJCTxiciAvPgoJPC9saT4KCTxsaT4KCQk8cD48c3Ryb25nPldoYXQgaXMgYSBtdWx0aV9pbnB1dCBmb3I/PC9zdHJvbmc+PC9wPgoJCTxwPkEgbXVsdGlfaW5wdXQgYmxvY2sgaXMgYSBjb250ZW50IGJsb2NrIHRoYXQgY29uc2lzdHMgb2YgZGlmZmVyZW50IGlucHV0IGZpZWxkcy4gPGJyIC8+CgkJWW91IGNhbiBkZWZpbmUgdGhlbSBpbiB0aGUgbW9kdWxlIGFkbWluaXN0cmF0aW9uIHVzaW5nIHRoZSBzYW1lIHN5bnRheCB5b3UgdXNlIGluIGEgdGVtcGxhdGUgd2hlbiBkZWZpbmluZyBhIGNvbnRlbnQgYmxvY2suPGJyIC8+CgkJTXVsdGkgaW5wdXRzIGNhbiBiZSB1c2VkIGlmIHlvdSB3YW50IHRvIHN0b3JlIGRpZmZlcmVudCB2YWx1ZXMgaW4gb25lIGNvbnRlbnQgYmxvY2sgYW5kIHByb3ZpZGUgZGlmZmVyZW50IGlucHV0IHR5cGVzIGZvciBlYWNoIHZhbHVlcy48YnIgLz4KCQlUaGlzIGNhbiBiZSB1c2VmdWxsIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGRyb3Bkb3duIHRvIHNlbGVjdCBhIG1vZHVsZSB0byBiZSBzaG93biBpbiBmcm9udGVuZCBhbmQgdGV4dCBpbnB1dCB0byBkZWZpbmUgdGhlIG1vZHVsZSBwYXJhbWV0ZXJzLjxiciAvPgoJCUV4YW1wbGUgZm9yIGEgbXVsdGlfaW5wdXQgaW4gcGFnZSB0ZW1wbGF0ZTo8L3A+CgkJPHByZT4KCQk8Y29kZT4KCQl7Y29udGVudCBibG9jaz0ibW9kdWxlIiBsYWJlbD0iUGFnZSBtb2R1bGVzIiBibG9ja190eXBlPSJtdWx0aV9pbnB1dCIgaW5wdXRzPSJtb2R1bGUsbW9kdWxlLG1vZHVsZSxtb2R1bGUifQoJCTwvY29kZT4KCQk8L3ByZT4KCQk8cD5FeGFtcGxlIGZvciB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgbXVsdGlfaW5wdXQgbmFtZWQgIm1vZHVsZSI6PC9wPgoJCTxwcmU+CgkJPGNvZGU+CgkJe2NvbnRlbnQgYmxvY2s9Im1vZHVsZSBzZWxlY3Rpb24iIGJsb2NrX3R5cGU9ImRyb3Bkb3duIiBpdGVtcz0ifE5ld3N8R2FsbGVyeXxNZW51In0KCQl7Y29udGVudCBibG9jaz0ibW9kdWxlIHBhcmFtcyIgYmxvY2tfdHlwZT0idGV4dCIgb25lbGluZT10cnVlfQoJCTwvY29kZT4KCQk8L3ByZT4KCQk8cD5XaGF0IGhhcHBlbnMgaWYgeW91IGVkaXQgYSBwYWdlPzwvcD4KCQk8cD5JdCB3aWxsIHNob3cgeW91IGEgZmllbGRzZXQgd2l0aCBsZWdlbmQgIlBhZ2UgbW9kdWxlcyIuIDxiciAvPgoJCUluc2lkZSB0aGlzIGZpZWxkc2V0IGl0IHNob3dzIHRoZSBtdWx0aV9pbnB1dCBuYW1lZCAibW9kdWxlIiBmb3VyIHRpbWVzLjxiciAvPgoJCVRoYXQgbWVhbnMgeW91IHNlZSBmb3VyIGxpbmVzIHdpdGggdHdvIGlucHV0IGZpZWxkcy4gQSBkcm9wZG93biBhbmQgYSB0ZXh0IGlucHV0LjwvcD4KCQk8cD5XaGF0IGhhcHBlbnMgaWYgeW91IHNhdmUgYSBwYWdlPzwvcD4KCQk8cD5UaGUgbW9kdWxlIHN0b3JlcyB0aGUgdmFsdWVzIGFzIG9uZSBzaW5nbGUgY29udGVudCBwcm9wZXJ0eSAoYWthIGNvbnRlbnRibG9jaykgYW5kIHNlcGFyYXRlcyB0aGUgaW5wdXRzIGJ5IGEgZ2l2ZW4gZGVsaW1pdGVyLjxiciAvPgoJCUxldCdzIGFzc3VtZSB5b3Ugc2VsZWN0IHRoZSBOZXdzIG1vZHVsZSBmb3VyIHRpbWVzIHdpdGggZGlmZmVyZW50IG1vZHVsZSBwYXJhbXMgbGlrZSBjYXRlZ29yeT0iMSIsIGNhdGVnb3J5PSIyIiwgY2F0ZWdvcnk9IjMiLCBjYXRlZ29yeT0iNCIuPGJyIC8+CgkJSW4gdGhlIGRhdGFiYXNlIGl0IHN0b3JlcyB0aGlzIHN0cmluZzo8L3A+CgkJPHByZT4KCQk8Y29kZT4KCQlOZXdzJmx0OyEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxpbWl0ZXIgLS0mZ3Q7Y2F0ZWdvcnk9IjEiJmx0OyEtLSBtdWx0aV9pbnB1dF9kZWxpbWl0ZXIgLS0mZ3Q7PGJyIC8+CgkJTmV3cyZsdDshLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tJmd0O2NhdGVnb3J5PSIyIiZsdDshLS0gbXVsdGlfaW5wdXRfZGVsaW1pdGVyIC0tJmd0OzxiciAvPgoJCU5ld3MmbHQ7IS0tIG11bHRpX2lucHV0X3ZhbHVlX2RlbGltaXRlciAtLSZndDtjYXRlZ29yeT0iMyImbHQ7IS0tIG11bHRpX2lucHV0X2RlbGltaXRlciAtLSZndDs8YnIgLz4KCQlOZXdzJmx0OyEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxpbWl0ZXIgLS0mZ3Q7Y2F0ZWdvcnk9IjQiCgkJPC9jb2RlPgoJCTwvcHJlPgoJCTxwPkluIHlvdXIgcGFnZSB0ZW1wbGF0ZSB5b3UgY2FuIGV4cGxvZGUgdGhlIGNvbnRlbnQgYnkgdGhlIGRlbGltaXRlcnMgYW5kIGNhbGwgdGhlIHNlbGVjdGVkIG1vZHVsZXMuPC9wPgoJCTxwPkZ1bGwgRXhhbXBsZTo8L3A+CgkJPHByZT4KCQk8Y29kZT4KCQl7KiBkZWZpbmUgdGhlIGNvbnRlbnQgYmxvY2sgKn0KCQl7Y29udGVudCBibG9jaz0ibXlfbW9kdWxlcyIgYmxvY2tfdHlwZT0ibXVsdGlfaW5wdXQiIGlucHV0cz0iTW9kdWxlLE1vZHVsZSxNb2R1bGUsTW9kdWxlIiBhc3NpZ249Im1vZHVsZXMifQoJCQoJCXsqIGV4cGxvZGUgYmxvY2sgY29udGVudCBpbiBhbiBhcnJheSB0byBnZXQgdGhlIGlucHV0IGdyb3VwcyAqfQoJCXthc3NpZ24gdmFyPW1vZHVsZXMgdmFsdWU9IiZsdDshLS0gbXVsdGlfaW5wdXRfZGVsaW1pdGVyIC0tJmd0OyJ8ZXhwbG9kZTokbW9kdWxlc30KCQkKCQl7KiBsb29wIHRocm91Z2ggdGhlIHNlbGVjdGVkIG1vZHVsZXMgKn0KCQl7Zm9yZWFjaCBmcm9tPSRtb2R1bGVzIGl0ZW09Im1vZHVsZSJ9CgkJCXtpZiAkbW9kdWxlICE9ICcnfQoJCQkKCQkJCXsqIGV4cGxvZGUgdGhlIGlucHV0IHZhbHVlcyBpbiBtb2R1bG5hbWUgYW5kIG1vZHVsZSBwYXJhbWV0ZXJzICp9CgkJCQl7YXNzaWduIHZhcj1tb2R1bGVfaXRlbXMgdmFsdWU9IiZsdDshLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tJmd0OyJ8ZXhwbG9kZTokbW9kdWxlfQoJCQkJCgkJCQl7aWYgJG1vZHVsZV9pdGVtc1swXSAhPSAnJ30KCQkJCQoJCQkJCXsqIGNhbGwgdGhlIG1vZHVsZSAqfQoJCQkJCXtpZiBpc3NldCgkbW9kdWxlX2l0ZW1zWzFdKX0KCQkJCQkJe2V2YWwgdmFyPSRzbWFydHkubGRlbGltfGNhdDonY21zX21vZHVsZSBtb2R1bGU9Iid8Y2F0OiRtb2R1bGVfaXRlbXNbMF18Y2F0OiciICd8Y2F0OiRtb2R1bGVfaXRlbXNbMV18Y2F0OiRzbWFydHkucmRlbGltfQoJCQkJCXtlbHNlfQoJCQkJCQl7ZXZhbCB2YXI9JHNtYXJ0eS5sZGVsaW18Y2F0OidjbXNfbW9kdWxlIG1vZHVsZT0iJ3xjYXQ6JG1vZHVsZV9pdGVtc1swXXxjYXQ6JyInfGNhdDokc21hcnR5LnJkZWxpbX0KCQkJCQl7L2lmfQoJCQkJCQoJCQkJey9pZn0KCQkJCQoJCQl7L2lmfQoJCQoJCXsvZm9yZWFjaH0KCQk8L2NvZGU+CgkJPC9wcmU+Cgk8L2xpPgo8L3VsPgoKPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KCTxsaT5UaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9jb250ZW50Mi8iPmh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIvPC9hPjwvbGk+Cgk8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSBDTVMgTWFkZSBTaW1wbGUgRm9ydW1zOjxiciAvPgoJPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUuZGUiPmh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLmRlPC9hPjxiciAvPgoJPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5odHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmc8L2E+PC9saT4KPC91bD4KPGJyIC8+CjxwPkZlZWwgZnJlZSByZXBvcnQgYW55IGtpbmQgb2YgZmVlZGJhY2suPC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLTIwMTEsIEdlb3JnIEJ1c2NoIChOYU4pLiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+CjxwPgoJQXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuPGJyIC8+CglUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCw8YnIgLz4KCWJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mPGJyIC8+CglNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuPGJyIC8+CglTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuPGJyIC8+CglZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZTxiciAvPgoJYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmU8YnIgLz4KCUZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBPGJyIC8+CglPciByZWFkIGl0IG9ubGluZTogPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5odHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEw8L2E+PGJyIC8+CglQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci4KPC9wPgo8YnIgLz4K]]></data>
	</file>
	<file>
	  <filename>/doc/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/doc/license.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CQkgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKCQkgICAgICAgVmVyc2lvbiAyLCBKdW5lIDE5OTEKCiBDb3B5cmlnaHQgKEMpIDE5ODksIDE5OTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAgICAgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCgkJCSAgICBQcmVhbWJsZQoKICBUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUgYXJlIGRlc2lnbmVkIHRvIHRha2UgYXdheSB5b3VyCmZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBpdC4gIEJ5IGNvbnRyYXN0LCB0aGUgR05VIEdlbmVyYWwgUHVibGljCkxpY2Vuc2UgaXMgaW50ZW5kZWQgdG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGZyZWUKc29mdHdhcmUtLXRvIG1ha2Ugc3VyZSB0aGUgc29mdHdhcmUgaXMgZnJlZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFRoaXMKR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcHBsaWVzIHRvIG1vc3Qgb2YgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbidzIHNvZnR3YXJlIGFuZCB0byBhbnkgb3RoZXIgcHJvZ3JhbSB3aG9zZSBhdXRob3JzIGNvbW1pdCB0bwp1c2luZyBpdC4gIChTb21lIG90aGVyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBzb2Z0d2FyZSBpcyBjb3ZlcmVkIGJ5CnRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGluc3RlYWQuKSAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoaXMgc2VydmljZSBpZiB5b3Ugd2lzaCksIHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldCBpdAppZiB5b3Ugd2FudCBpdCwgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdhcmUgb3IgdXNlIHBpZWNlcyBvZiBpdAppbiBuZXcgZnJlZSBwcm9ncmFtczsgYW5kIHRoYXQgeW91IGtub3cgeW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuCgogIFRvIHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gbWFrZSByZXN0cmljdGlvbnMgdGhhdCBmb3JiaWQKYW55b25lIHRvIGRlbnkgeW91IHRoZXNlIHJpZ2h0cyBvciB0byBhc2sgeW91IHRvIHN1cnJlbmRlciB0aGUgcmlnaHRzLgpUaGVzZSByZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IgeW91IGlmIHlvdQpkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUgc29mdHdhcmUsIG9yIGlmIHlvdSBtb2RpZnkgaXQuCgogIEZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2Ygc3VjaCBhIHByb2dyYW0sIHdoZXRoZXIKZ3JhdGlzIG9yIGZvciBhIGZlZSwgeW91IG11c3QgZ2l2ZSB0aGUgcmVjaXBpZW50cyBhbGwgdGhlIHJpZ2h0cyB0aGF0CnlvdSBoYXZlLiAgWW91IG11c3QgbWFrZSBzdXJlIHRoYXQgdGhleSwgdG9vLCByZWNlaXZlIG9yIGNhbiBnZXQgdGhlCnNvdXJjZSBjb2RlLiAgQW5kIHlvdSBtdXN0IHNob3cgdGhlbSB0aGVzZSB0ZXJtcyBzbyB0aGV5IGtub3cgdGhlaXIKcmlnaHRzLgoKICBXZSBwcm90ZWN0IHlvdXIgcmlnaHRzIHdpdGggdHdvIHN0ZXBzOiAoMSkgY29weXJpZ2h0IHRoZSBzb2Z0d2FyZSwgYW5kCigyKSBvZmZlciB5b3UgdGhpcyBsaWNlbnNlIHdoaWNoIGdpdmVzIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksCmRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGUgc29mdHdhcmUuCgogIEFsc28sIGZvciBlYWNoIGF1dGhvcidzIHByb3RlY3Rpb24gYW5kIG91cnMsIHdlIHdhbnQgdG8gbWFrZSBjZXJ0YWluCnRoYXQgZXZlcnlvbmUgdW5kZXJzdGFuZHMgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhpcyBmcmVlCnNvZnR3YXJlLiAgSWYgdGhlIHNvZnR3YXJlIGlzIG1vZGlmaWVkIGJ5IHNvbWVvbmUgZWxzZSBhbmQgcGFzc2VkIG9uLCB3ZQp3YW50IGl0cyByZWNpcGllbnRzIHRvIGtub3cgdGhhdCB3aGF0IHRoZXkgaGF2ZSBpcyBub3QgdGhlIG9yaWdpbmFsLCBzbwp0aGF0IGFueSBwcm9ibGVtcyBpbnRyb2R1Y2VkIGJ5IG90aGVycyB3aWxsIG5vdCByZWZsZWN0IG9uIHRoZSBvcmlnaW5hbAphdXRob3JzJyByZXB1dGF0aW9ucy4KCiAgRmluYWxseSwgYW55IGZyZWUgcHJvZ3JhbSBpcyB0aHJlYXRlbmVkIGNvbnN0YW50bHkgYnkgc29mdHdhcmUKcGF0ZW50cy4gIFdlIHdpc2ggdG8gYXZvaWQgdGhlIGRhbmdlciB0aGF0IHJlZGlzdHJpYnV0b3JzIG9mIGEgZnJlZQpwcm9ncmFtIHdpbGwgaW5kaXZpZHVhbGx5IG9idGFpbiBwYXRlbnQgbGljZW5zZXMsIGluIGVmZmVjdCBtYWtpbmcgdGhlCnByb2dyYW0gcHJvcHJpZXRhcnkuICBUbyBwcmV2ZW50IHRoaXMsIHdlIGhhdmUgbWFkZSBpdCBjbGVhciB0aGF0IGFueQpwYXRlbnQgbXVzdCBiZSBsaWNlbnNlZCBmb3IgZXZlcnlvbmUncyBmcmVlIHVzZSBvciBub3QgbGljZW5zZWQgYXQgYWxsLgoKICBUaGUgcHJlY2lzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW9uIGFuZAptb2RpZmljYXRpb24gZm9sbG93LgoMCgkJICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCiAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNBVElPTgoKICAwLiBUaGlzIExpY2Vuc2UgYXBwbGllcyB0byBhbnkgcHJvZ3JhbSBvciBvdGhlciB3b3JrIHdoaWNoIGNvbnRhaW5zCmEgbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlciBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkCnVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBUaGUgIlByb2dyYW0iLCBiZWxvdywKcmVmZXJzIHRvIGFueSBzdWNoIHByb2dyYW0gb3Igd29yaywgYW5kIGEgIndvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0iCm1lYW5zIGVpdGhlciB0aGUgUHJvZ3JhbSBvciBhbnkgZGVyaXZhdGl2ZSB3b3JrIHVuZGVyIGNvcHlyaWdodCBsYXc6CnRoYXQgaXMgdG8gc2F5LCBhIHdvcmsgY29udGFpbmluZyB0aGUgUHJvZ3JhbSBvciBhIHBvcnRpb24gb2YgaXQsCmVpdGhlciB2ZXJiYXRpbSBvciB3aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQgaW50byBhbm90aGVyCmxhbmd1YWdlLiAgKEhlcmVpbmFmdGVyLCB0cmFuc2xhdGlvbiBpcyBpbmNsdWRlZCB3aXRob3V0IGxpbWl0YXRpb24gaW4KdGhlIHRlcm0gIm1vZGlmaWNhdGlvbiIuKSAgRWFjaCBsaWNlbnNlZSBpcyBhZGRyZXNzZWQgYXMgInlvdSIuCgpBY3Rpdml0aWVzIG90aGVyIHRoYW4gY29weWluZywgZGlzdHJpYnV0aW9uIGFuZCBtb2RpZmljYXRpb24gYXJlIG5vdApjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZTsgdGhleSBhcmUgb3V0c2lkZSBpdHMgc2NvcGUuICBUaGUgYWN0IG9mCnJ1bm5pbmcgdGhlIFByb2dyYW0gaXMgbm90IHJlc3RyaWN0ZWQsIGFuZCB0aGUgb3V0cHV0IGZyb20gdGhlIFByb2dyYW0KaXMgY292ZXJlZCBvbmx5IGlmIGl0cyBjb250ZW50cyBjb25zdGl0dXRlIGEgd29yayBiYXNlZCBvbiB0aGUKUHJvZ3JhbSAoaW5kZXBlbmRlbnQgb2YgaGF2aW5nIGJlZW4gbWFkZSBieSBydW5uaW5nIHRoZSBQcm9ncmFtKS4KV2hldGhlciB0aGF0IGlzIHRydWUgZGVwZW5kcyBvbiB3aGF0IHRoZSBQcm9ncmFtIGRvZXMuCgogIDEuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhlIFByb2dyYW0ncwpzb3VyY2UgY29kZSBhcyB5b3UgcmVjZWl2ZSBpdCwgaW4gYW55IG1lZGl1bSwgcHJvdmlkZWQgdGhhdCB5b3UKY29uc3BpY3VvdXNseSBhbmQgYXBwcm9wcmlhdGVseSBwdWJsaXNoIG9uIGVhY2ggY29weSBhbiBhcHByb3ByaWF0ZQpjb3B5cmlnaHQgbm90aWNlIGFuZCBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5OyBrZWVwIGludGFjdCBhbGwgdGhlCm5vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UgYW5kIHRvIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsKYW5kIGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFByb2dyYW0gYSBjb3B5IG9mIHRoaXMgTGljZW5zZQphbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKWW91IG1heSBjaGFyZ2UgYSBmZWUgZm9yIHRoZSBwaHlzaWNhbCBhY3Qgb2YgdHJhbnNmZXJyaW5nIGEgY29weSwgYW5kCnlvdSBtYXkgYXQgeW91ciBvcHRpb24gb2ZmZXIgd2FycmFudHkgcHJvdGVjdGlvbiBpbiBleGNoYW5nZSBmb3IgYSBmZWUuCgogIDIuIFlvdSBtYXkgbW9kaWZ5IHlvdXIgY29weSBvciBjb3BpZXMgb2YgdGhlIFByb2dyYW0gb3IgYW55IHBvcnRpb24Kb2YgaXQsIHRodXMgZm9ybWluZyBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0sIGFuZCBjb3B5IGFuZApkaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEKYWJvdmUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoKCiAgICBhKSBZb3UgbXVzdCBjYXVzZSB0aGUgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKICAgIHN0YXRpbmcgdGhhdCB5b3UgY2hhbmdlZCB0aGUgZmlsZXMgYW5kIHRoZSBkYXRlIG9mIGFueSBjaGFuZ2UuCgogICAgYikgWW91IG11c3QgY2F1c2UgYW55IHdvcmsgdGhhdCB5b3UgZGlzdHJpYnV0ZSBvciBwdWJsaXNoLCB0aGF0IGluCiAgICB3aG9sZSBvciBpbiBwYXJ0IGNvbnRhaW5zIG9yIGlzIGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSBvciBhbnkKICAgIHBhcnQgdGhlcmVvZiwgdG8gYmUgbGljZW5zZWQgYXMgYSB3aG9sZSBhdCBubyBjaGFyZ2UgdG8gYWxsIHRoaXJkCiAgICBwYXJ0aWVzIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuCgogICAgYykgSWYgdGhlIG1vZGlmaWVkIHByb2dyYW0gbm9ybWFsbHkgcmVhZHMgY29tbWFuZHMgaW50ZXJhY3RpdmVseQogICAgd2hlbiBydW4sIHlvdSBtdXN0IGNhdXNlIGl0LCB3aGVuIHN0YXJ0ZWQgcnVubmluZyBmb3Igc3VjaAogICAgaW50ZXJhY3RpdmUgdXNlIGluIHRoZSBtb3N0IG9yZGluYXJ5IHdheSwgdG8gcHJpbnQgb3IgZGlzcGxheSBhbgogICAgYW5ub3VuY2VtZW50IGluY2x1ZGluZyBhbiBhcHByb3ByaWF0ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCBhCiAgICBub3RpY2UgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSAob3IgZWxzZSwgc2F5aW5nIHRoYXQgeW91IHByb3ZpZGUKICAgIGEgd2FycmFudHkpIGFuZCB0aGF0IHVzZXJzIG1heSByZWRpc3RyaWJ1dGUgdGhlIHByb2dyYW0gdW5kZXIKICAgIHRoZXNlIGNvbmRpdGlvbnMsIGFuZCB0ZWxsaW5nIHRoZSB1c2VyIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzCiAgICBMaWNlbnNlLiAgKEV4Y2VwdGlvbjogaWYgdGhlIFByb2dyYW0gaXRzZWxmIGlzIGludGVyYWN0aXZlIGJ1dAogICAgZG9lcyBub3Qgbm9ybWFsbHkgcHJpbnQgc3VjaCBhbiBhbm5vdW5jZW1lbnQsIHlvdXIgd29yayBiYXNlZCBvbgogICAgdGhlIFByb2dyYW0gaXMgbm90IHJlcXVpcmVkIHRvIHByaW50IGFuIGFubm91bmNlbWVudC4pCgwKVGhlc2UgcmVxdWlyZW1lbnRzIGFwcGx5IHRvIHRoZSBtb2RpZmllZCB3b3JrIGFzIGEgd2hvbGUuICBJZgppZGVudGlmaWFibGUgc2VjdGlvbnMgb2YgdGhhdCB3b3JrIGFyZSBub3QgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtLAphbmQgY2FuIGJlIHJlYXNvbmFibHkgY29uc2lkZXJlZCBpbmRlcGVuZGVudCBhbmQgc2VwYXJhdGUgd29ya3MgaW4KdGhlbXNlbHZlcywgdGhlbiB0aGlzIExpY2Vuc2UsIGFuZCBpdHMgdGVybXMsIGRvIG5vdCBhcHBseSB0byB0aG9zZQpzZWN0aW9ucyB3aGVuIHlvdSBkaXN0cmlidXRlIHRoZW0gYXMgc2VwYXJhdGUgd29ya3MuICBCdXQgd2hlbiB5b3UKZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2ggaXMgYSB3b3JrIGJhc2VkCm9uIHRoZSBQcm9ncmFtLCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZgp0aGlzIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZvciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kIHRvIHRoZQplbnRpcmUgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUgaXQuCgpUaHVzLCBpdCBpcyBub3QgdGhlIGludGVudCBvZiB0aGlzIHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRzIG9yIGNvbnRlc3QKeW91ciByaWdodHMgdG8gd29yayB3cml0dGVuIGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0aGUgaW50ZW50IGlzIHRvCmV4ZXJjaXNlIHRoZSByaWdodCB0byBjb250cm9sIHRoZSBkaXN0cmlidXRpb24gb2YgZGVyaXZhdGl2ZSBvcgpjb2xsZWN0aXZlIHdvcmtzIGJhc2VkIG9uIHRoZSBQcm9ncmFtLgoKSW4gYWRkaXRpb24sIG1lcmUgYWdncmVnYXRpb24gb2YgYW5vdGhlciB3b3JrIG5vdCBiYXNlZCBvbiB0aGUgUHJvZ3JhbQp3aXRoIHRoZSBQcm9ncmFtIChvciB3aXRoIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSkgb24gYSB2b2x1bWUgb2YKYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9lcyBub3QgYnJpbmcgdGhlIG90aGVyIHdvcmsgdW5kZXIKdGhlIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KCiAgMy4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhIHdvcmsgYmFzZWQgb24gaXQsCnVuZGVyIFNlY3Rpb24gMikgaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHVuZGVyIHRoZSB0ZXJtcyBvZgpTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gZG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6CgogICAgYSkgQWNjb21wYW55IGl0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZQogICAgc291cmNlIGNvZGUsIHdoaWNoIG11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zCiAgICAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBvciwKCiAgICBiKSBBY2NvbXBhbnkgaXQgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZQogICAgeWVhcnMsIHRvIGdpdmUgYW55IHRoaXJkIHBhcnR5LCBmb3IgYSBjaGFyZ2Ugbm8gbW9yZSB0aGFuIHlvdXIKICAgIGNvc3Qgb2YgcGh5c2ljYWxseSBwZXJmb3JtaW5nIHNvdXJjZSBkaXN0cmlidXRpb24sIGEgY29tcGxldGUKICAgIG1hY2hpbmUtcmVhZGFibGUgY29weSBvZiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZSwgdG8gYmUKICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtCiAgICBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsCgogICAgYykgQWNjb21wYW55IGl0IHdpdGggdGhlIGluZm9ybWF0aW9uIHlvdSByZWNlaXZlZCBhcyB0byB0aGUgb2ZmZXIKICAgIHRvIGRpc3RyaWJ1dGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZS4gIChUaGlzIGFsdGVybmF0aXZlIGlzCiAgICBhbGxvd2VkIG9ubHkgZm9yIG5vbmNvbW1lcmNpYWwgZGlzdHJpYnV0aW9uIGFuZCBvbmx5IGlmIHlvdQogICAgcmVjZWl2ZWQgdGhlIHByb2dyYW0gaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHdpdGggc3VjaAogICAgYW4gb2ZmZXIsIGluIGFjY29yZCB3aXRoIFN1YnNlY3Rpb24gYiBhYm92ZS4pCgpUaGUgc291cmNlIGNvZGUgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yCm1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgRm9yIGFuIGV4ZWN1dGFibGUgd29yaywgY29tcGxldGUgc291cmNlCmNvZGUgbWVhbnMgYWxsIHRoZSBzb3VyY2UgY29kZSBmb3IgYWxsIG1vZHVsZXMgaXQgY29udGFpbnMsIHBsdXMgYW55CmFzc29jaWF0ZWQgaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMsIHBsdXMgdGhlIHNjcmlwdHMgdXNlZCB0bwpjb250cm9sIGNvbXBpbGF0aW9uIGFuZCBpbnN0YWxsYXRpb24gb2YgdGhlIGV4ZWN1dGFibGUuICBIb3dldmVyLCBhcyBhCnNwZWNpYWwgZXhjZXB0aW9uLCB0aGUgc291cmNlIGNvZGUgZGlzdHJpYnV0ZWQgbmVlZCBub3QgaW5jbHVkZQphbnl0aGluZyB0aGF0IGlzIG5vcm1hbGx5IGRpc3RyaWJ1dGVkIChpbiBlaXRoZXIgc291cmNlIG9yIGJpbmFyeQpmb3JtKSB3aXRoIHRoZSBtYWpvciBjb21wb25lbnRzIChjb21waWxlciwga2VybmVsLCBhbmQgc28gb24pIG9mIHRoZQpvcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHJ1bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudAppdHNlbGYgYWNjb21wYW5pZXMgdGhlIGV4ZWN1dGFibGUuCgpJZiBkaXN0cmlidXRpb24gb2YgZXhlY3V0YWJsZSBvciBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nCmFjY2VzcyB0byBjb3B5IGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQKYWNjZXNzIHRvIGNvcHkgdGhlIHNvdXJjZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2UgY291bnRzIGFzCmRpc3RyaWJ1dGlvbiBvZiB0aGUgc291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdApjb21wZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLgoMCiAgNC4gWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtCmV4Y2VwdCBhcyBleHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQKb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGlzCnZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZS4KSG93ZXZlciwgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsIG9yIHJpZ2h0cywgZnJvbSB5b3UgdW5kZXIKdGhpcyBMaWNlbnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5zZXMgdGVybWluYXRlZCBzbyBsb25nIGFzIHN1Y2gKcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgoKICA1LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3QKc2lnbmVkIGl0LiAgSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IKZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBvciBpdHMgZGVyaXZhdGl2ZSB3b3Jrcy4gIFRoZXNlIGFjdGlvbnMgYXJlCnByb2hpYml0ZWQgYnkgbGF3IGlmIHlvdSBkbyBub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkKbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlClByb2dyYW0pLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzbywgYW5kCmFsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKdGhlIFByb2dyYW0gb3Igd29ya3MgYmFzZWQgb24gaXQuCgogIDYuIEVhY2ggdGltZSB5b3UgcmVkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKUHJvZ3JhbSksIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUKb3JpZ2luYWwgbGljZW5zb3IgdG8gY29weSwgZGlzdHJpYnV0ZSBvciBtb2RpZnkgdGhlIFByb2dyYW0gc3ViamVjdCB0bwp0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4gIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlcgpyZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uCllvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHRvCnRoaXMgTGljZW5zZS4KCiAgNy4gSWYsIGFzIGEgY29uc2VxdWVuY2Ugb2YgYSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudAppbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMpLApjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCm90aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QKZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QKZGlzdHJpYnV0ZSBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91Cm1heSBub3QgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQKbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBieQphbGwgdGhvc2Ugd2hvIHJlY2VpdmUgY29waWVzIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgdGhyb3VnaCB5b3UsIHRoZW4KdGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggaXQgYW5kIHRoaXMgTGljZW5zZSB3b3VsZCBiZSB0bwpyZWZyYWluIGVudGlyZWx5IGZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtLgoKSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyCmFueSBwYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8KYXBwbHkgYW5kIHRoZSBzZWN0aW9uIGFzIGEgd2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBwbHkgaW4gb3RoZXIKY2lyY3Vtc3RhbmNlcy4KCkl0IGlzIG5vdCB0aGUgcHVycG9zZSBvZiB0aGlzIHNlY3Rpb24gdG8gaW5kdWNlIHlvdSB0byBpbmZyaW5nZSBhbnkKcGF0ZW50cyBvciBvdGhlciBwcm9wZXJ0eSByaWdodCBjbGFpbXMgb3IgdG8gY29udGVzdCB2YWxpZGl0eSBvZiBhbnkKc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMgdGhlIHNvbGUgcHVycG9zZSBvZiBwcm90ZWN0aW5nIHRoZQppbnRlZ3JpdHkgb2YgdGhlIGZyZWUgc29mdHdhcmUgZGlzdHJpYnV0aW9uIHN5c3RlbSwgd2hpY2ggaXMKaW1wbGVtZW50ZWQgYnkgcHVibGljIGxpY2Vuc2UgcHJhY3RpY2VzLiAgTWFueSBwZW9wbGUgaGF2ZSBtYWRlCmdlbmVyb3VzIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKdGhyb3VnaCB0aGF0IHN5c3RlbSBpbiByZWxpYW5jZSBvbiBjb25zaXN0ZW50IGFwcGxpY2F0aW9uIG9mIHRoYXQKc3lzdGVtOyBpdCBpcyB1cCB0byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBvciBzaGUgaXMgd2lsbGluZwp0byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKaW1wb3NlIHRoYXQgY2hvaWNlLgoKVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvCmJlIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHJlc3Qgb2YgdGhpcyBMaWNlbnNlLgoMCiAgOC4gSWYgdGhlIGRpc3RyaWJ1dGlvbiBhbmQvb3IgdXNlIG9mIHRoZSBQcm9ncmFtIGlzIHJlc3RyaWN0ZWQgaW4KY2VydGFpbiBjb3VudHJpZXMgZWl0aGVyIGJ5IHBhdGVudHMgb3IgYnkgY29weXJpZ2h0ZWQgaW50ZXJmYWNlcywgdGhlCm9yaWdpbmFsIGNvcHlyaWdodCBob2xkZXIgd2hvIHBsYWNlcyB0aGUgUHJvZ3JhbSB1bmRlciB0aGlzIExpY2Vuc2UKbWF5IGFkZCBhbiBleHBsaWNpdCBnZW9ncmFwaGljYWwgZGlzdHJpYnV0aW9uIGxpbWl0YXRpb24gZXhjbHVkaW5nCnRob3NlIGNvdW50cmllcywgc28gdGhhdCBkaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIG9ubHkgaW4gb3IgYW1vbmcKY291bnRyaWVzIG5vdCB0aHVzIGV4Y2x1ZGVkLiAgSW4gc3VjaCBjYXNlLCB0aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVzCnRoZSBsaW1pdGF0aW9uIGFzIGlmIHdyaXR0ZW4gaW4gdGhlIGJvZHkgb2YgdGhpcyBMaWNlbnNlLgoKICA5LiBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucwpvZiB0aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4gIFN1Y2ggbmV3IHZlcnNpb25zIHdpbGwKYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwgYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvCmFkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLgoKRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUgUHJvZ3JhbQpzcGVjaWZpZXMgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGlzIExpY2Vuc2Ugd2hpY2ggYXBwbGllcyB0byBpdCBhbmQgImFueQpsYXRlciB2ZXJzaW9uIiwgeW91IGhhdmUgdGhlIG9wdGlvbiBvZiBmb2xsb3dpbmcgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zCmVpdGhlciBvZiB0aGF0IHZlcnNpb24gb3Igb2YgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlClNvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YKdGhpcyBMaWNlbnNlLCB5b3UgbWF5IGNob29zZSBhbnkgdmVyc2lvbiBldmVyIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQpGb3VuZGF0aW9uLgoKICAxMC4gSWYgeW91IHdpc2ggdG8gaW5jb3Jwb3JhdGUgcGFydHMgb2YgdGhlIFByb2dyYW0gaW50byBvdGhlciBmcmVlCnByb2dyYW1zIHdob3NlIGRpc3RyaWJ1dGlvbiBjb25kaXRpb25zIGFyZSBkaWZmZXJlbnQsIHdyaXRlIHRvIHRoZSBhdXRob3IKdG8gYXNrIGZvciBwZXJtaXNzaW9uLiAgRm9yIHNvZnR3YXJlIHdoaWNoIGlzIGNvcHlyaWdodGVkIGJ5IHRoZSBGcmVlClNvZnR3YXJlIEZvdW5kYXRpb24sIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHdlIHNvbWV0aW1lcwptYWtlIGV4Y2VwdGlvbnMgZm9yIHRoaXMuICBPdXIgZGVjaXNpb24gd2lsbCBiZSBndWlkZWQgYnkgdGhlIHR3byBnb2FscwpvZiBwcmVzZXJ2aW5nIHRoZSBmcmVlIHN0YXR1cyBvZiBhbGwgZGVyaXZhdGl2ZXMgb2Ygb3VyIGZyZWUgc29mdHdhcmUgYW5kCm9mIHByb21vdGluZyB0aGUgc2hhcmluZyBhbmQgcmV1c2Ugb2Ygc29mdHdhcmUgZ2VuZXJhbGx5LgoKCQkJICAgIE5PIFdBUlJBTlRZCgogIDExLiBCRUNBVVNFIFRIRSBQUk9HUkFNIElTIExJQ0VOU0VEIEZSRUUgT0YgQ0hBUkdFLCBUSEVSRSBJUyBOTyBXQVJSQU5UWQpGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZIEFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4KT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUwpQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRApPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgpNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTClRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTSBJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUKUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YgQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsClJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxMi4gSU4gTk8gRVZFTlQgVU5MRVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9SIEFHUkVFRCBUTyBJTiBXUklUSU5HCldJTEwgQU5ZIENPUFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTUFZIE1PRElGWSBBTkQvT1IKUkVESVNUUklCVVRFIFRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywKSU5DTFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HCk9VVCBPRiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQKVE8gTE9TUyBPRiBEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZCllPVSBPUiBUSElSRCBQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSClBST0dSQU1TKSwgRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRQpQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCgoJCSAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCgwKCSAgICBIb3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgUHJvZ3JhbXMKCiAgSWYgeW91IGRldmVsb3AgYSBuZXcgcHJvZ3JhbSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdApwb3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgdGhlIGJlc3Qgd2F5IHRvIGFjaGlldmUgdGhpcyBpcyB0byBtYWtlIGl0CmZyZWUgc29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlIHVuZGVyIHRoZXNlIHRlcm1zLgoKICBUbyBkbyBzbywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlzIHNhZmVzdAp0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5CmNvbnZleSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5OyBhbmQgZWFjaCBmaWxlIHNob3VsZCBoYXZlIGF0IGxlYXN0CnRoZSAiY29weXJpZ2h0IiBsaW5lIGFuZCBhIHBvaW50ZXIgdG8gd2hlcmUgdGhlIGZ1bGwgbm90aWNlIGlzIGZvdW5kLgoKICAgIDxvbmUgbGluZSB0byBnaXZlIHRoZSBwcm9ncmFtJ3MgbmFtZSBhbmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4+CiAgICBDb3B5cmlnaHQgKEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCiAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKCgpBbHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KCklmIHRoZSBwcm9ncmFtIGlzIGludGVyYWN0aXZlLCBtYWtlIGl0IG91dHB1dCBhIHNob3J0IG5vdGljZSBsaWtlIHRoaXMKd2hlbiBpdCBzdGFydHMgaW4gYW4gaW50ZXJhY3RpdmUgbW9kZToKCiAgICBHbm9tb3Zpc2lvbiB2ZXJzaW9uIDY5LCBDb3B5cmlnaHQgKEMpIHllYXIgIG5hbWUgb2YgYXV0aG9yCiAgICBHbm9tb3Zpc2lvbiBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHRoZSBjb21tYW5kcyB5b3UgdXNlIG1heQpiZSBjYWxsZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYHNob3cgdycgYW5kIGBzaG93IGMnOyB0aGV5IGNvdWxkIGV2ZW4gYmUKbW91c2UtY2xpY2tzIG9yIG1lbnUgaXRlbXMtLXdoYXRldmVyIHN1aXRzIHlvdXIgcHJvZ3JhbS4KCllvdSBzaG91bGQgYWxzbyBnZXQgeW91ciBlbXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciB5b3VyCnNjaG9vbCwgaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmCm5lY2Vzc2FyeS4gIEhlcmUgaXMgYSBzYW1wbGU7IGFsdGVyIHRoZSBuYW1lczoKCiAgWW95b2R5bmUsIEluYy4sIGhlcmVieSBkaXNjbGFpbXMgYWxsIGNvcHlyaWdodCBpbnRlcmVzdCBpbiB0aGUgcHJvZ3JhbQogIGBHbm9tb3Zpc2lvbicgKHdoaWNoIG1ha2VzIHBhc3NlcyBhdCBjb21waWxlcnMpIHdyaXR0ZW4gYnkgSmFtZXMgSGFja2VyLgoKICA8c2lnbmF0dXJlIG9mIFR5IENvb24+LCAxIEFwcmlsIDE5ODkKICBUeSBDb29uLCBQcmVzaWRlbnQgb2YgVmljZQoKVGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGRvZXMgbm90IHBlcm1pdCBpbmNvcnBvcmF0aW5nIHlvdXIgcHJvZ3JhbSBpbnRvCnByb3ByaWV0YXJ5IHByb2dyYW1zLiAgSWYgeW91ciBwcm9ncmFtIGlzIGEgc3Vicm91dGluZSBsaWJyYXJ5LCB5b3UgbWF5CmNvbnNpZGVyIGl0IG1vcmUgdXNlZnVsIHRvIHBlcm1pdCBsaW5raW5nIHByb3ByaWV0YXJ5IGFwcGxpY2F0aW9ucyB3aXRoIHRoZQpsaWJyYXJ5LiAgSWYgdGhpcyBpcyB3aGF0IHlvdSB3YW50IHRvIGRvLCB1c2UgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwKUHVibGljIExpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExpY2Vuc2UuCg==]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PEZpbGVzIH4gIlwuKGdpZnxqcGd8anBlZ3xwbmcpJCI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgb3JkZXIgZGVueSxhbGxvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogIGFsbG93IGZyb20gYWxsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCjwvRmlsZXM+Cg==]]></data>
	</file>
	<file>
	  <filename>/images/calendar.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAANbY1E9YMgAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAPjSURBVHjaYvz//z8DMujunvX/zp2zDIqKBgwVFZmMDEQAmB4VFWOG0tI0FD0AAcQAsgAZnzlz5j8IQGkGYjA+PQABxAKyRKVz9f8/n94x/P3ykaFOR5Dhy5cvDLdu3WIIWLT3PzMPP17X49LDwifEcKc8lBEggFhgCvmMHRl+PbkDdM1GhmfPnoExt3YAA5uMMgPIz/9BJNBFjIwQNiMwZP8DiZ9oeriAetiBer7dvgg2FyCA4BYw/mFg+PftO8PZs2fBLvn8+TPDPyU3Bsa/UHkGaFwBKUaI6QxMIC6anv+KbmCzYAAggBAWAA1iZuZkCMwoZhD7/4XhyR92hlVfOBkY/oDdDrHiP9jtDBAv/QfTyHpeMfIwLH7PCXcUCAAEENwCkEGsghIMi1/8BDqSA+xSDgkJBqa/EIOhAcMAChtIkEEIkJ5Fz38CxTjAFrKLS4LNggGAAAJbkPTnLkN5VBBUSJ+BdICpp7NjPZgGCCC4D/7/+89ACwAQQEwwxj9gMKDjdevXM6ioqjBIy8gw1Dc0MLx7/x5F/vGTJwy+fn4Mp8+cwdALAwABxITsA2R8+dJlhkWLFjJ4e3szFBQUMFy8eIFh9uzZDH9+/2H4+eMnw80bNxmmTZ0KjGQmBjZWNgz9MAAQQPAg+vfvH4rXzl84z/Dz5y+G4qISBjExMYYvwCT47etXht+/fzPcuHGDoaa2hgGh9y+GfhgACCAkC1DjwMnRmcHM1IxBXFyC4fr160AfXGTQ1tYB5gEmBi0tbYYVy1cyXLt2jaGishxo6V8M/TAAEEBMuMokkKvl5RUYVq9exZCamszAw8PDkJaWzsDExAS0hJGBnZ2dgYWFBeyrv0AfoOuHAYAAwhlEoFxZUVHGcPLUSYaK8koGPz9/BjY2NhR1f//+Yfj67Ss4XnAFEUAA4UymoAjeu28fg4y0NDhSV6xYzsDBwcng5enFwM3NDcmbwKD58gVowZ8/OJM5QACxICdTGPj58ycw6Z1m+AZ03a3btxgqqyvA4kpKygx2dnYMnFxcEB8AgwakBl0/MgAIIKw+ACW7ObPm4cw8MLWGBkYM9+48xJtRAQIIYcF/1DC8cfMGOB7ExcUZbgBT0YsXLxjMzM3h8cPLy8vw6OFDBkEhIbCYqYkpVgsAAgjJAlQJdTUNOFtWRg6rZmQ1OEKIASCAwBZw83AyiIgJUrUMApkJAgABBLbg7JnzDMuWrKKqBSAzQQAggOBBpKioSJPSFCAAD2WwAgAIg1CY/v8t6mNnZEINZOJllz3/gbnGB05SIOpWfrzt5S3t9E4VUnIwyQRDNHkzWgjtb44AAwBrATqlndxPggAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/images/jpicker/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/jpicker/AlphaBar.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/jpicker/bar-opacity.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAChJREFUeNpiPHPmDAMMGBsbw9lMDDgA6RKM////h3POnj1LCzsAAgwAQtYIcFfEyzkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/jpicker/Bars.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAA84CAYAAADKKOIFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAASBJREFUeNrs2ssOgjAQheFDF77/8xLI2AEENWIo4CWdn8UXtbMprSdtQSZZki6qBZl6S33+klqpGvJleaBy/2pB6sxnX+fzr1Ut+AS05P2rhTxO3qfOg6L1wasD2TBU3ksN5Nk4fZpoSj5tbWhKSnY2FJX8gHRe8c7WoobDxf/+2znFnxutw8Vf48hfcmtDUZZsaFgvfnGRiWQimUgmxslEjUvF+fJNy1xiaVhAAgCEYojFMQl9H00mAkBslmUjmQgArBN1S8L7py1kIgBEjMN354njphoAIBJr7+KQiQAQk+UxNJkIAOHXict5otg7A0DsOHw4T3xeJ45hCQAQiPX3E7k5ABCSlfcTuTkAEHCdOD93Xk4WyUQACLltzl4FGACT38aTA+sZOgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/jpicker/map-opacity.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAC1JREFUeNpiPHPmDAM2YGxsjFWciYFEMKqBGMD4//9/rBJnz54dDSX6aQAIMABCtQiAsDRF+wAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/jpicker/mappoint.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhDwAPAJECAAAAAP///////wAAACH5BAEAAAIALAAAAAAPAA8AAAIulA2Zx5IB4WIANnlqaAa7zXXAFzLBUx5nlYpsu4LpSZb0J5s3fu2IFplwFEJDAQA7]]></data>
	</file>
	<file>
	  <filename>/images/jpicker/Maps.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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AIwaHXWjRbcZ9ToAvavek9KUzs6Z1qjZo7500UdH/ToAPWuX4OtL3uLfTVYCM7aec/Xsm6vzT1ejjo66+aJLjtoegJKw9NnLJjX1u8laZj57WfwbVqOOjvrCRR8ftR6/+MXRteLo30LP6/7f1SLH/3v+jte1v71Rs0fdbNEtRq3H3/7tEV7xqd87OMW9v9eo2b93s0W3GLUev/zlMbxE7/+jbxO4iD2z9P7/69cZNXvUzRbdYtR6/N3fHbesmPH/GybK+79Rs/+/2aJbjFqPv//7I+US3/E+Gi9WxjTPB8Co2QG4edEtRq3HP/zDkbrczN8zMEH2lOMBMGr092626Baj1uMf//HoWqBnldH3Fbho0ddlvq8jdTijXgVg0UW3GLUev/rVMXTD6J0v65znmZcZNftlmy26xaj1+Kd/OprvG9nz+sz32XixRl+f8z6Nmv0+N1x0+VHr8c//fHTfObpnqZH3MXhxMybLD4BRswOw0KLLj1qPf/mXY8rDoeY8xGr4It/3vFGzn99w0eVHrcevf310XcIn3uabi9Fz0ee/jVGz32bDRZcftR7/+q9H1xpPvK7xIq7xOqNmv27TRZcetR7/9m9H9yUf/fXgQdiOztZm//rr1xk1e9RNF1161Hr85jdHytER73gfwYueMV//+zBq9vvYdNGlR63Hb397dF3q3rXyVu2epXe+2NsZNXvUjRdddtR6/PDDMXxalJr8soHP1Rnz9r29UbPf58aLLjtqPf7934/wpXvq5QnT3vdyo2a/fPNFlxy1Hr/73dF98PO7X9cx7XOvM2r2616w6HKj1uM//uNIOQn6He9jYNrW35P3Poya/T5esuhSo9bjP//zaL5EkUs+430mTxz5ffH3adTs9/nCRR8ftR7/9V9H96W7++0mT5z7dkbNfruXL/rIqPX4/e+PKZf0/vVunW5eAIyaHYAXLDpt1Hr8938fG62w0V+VUXcIwKePWo8fGQI+U/X1DwIACAAgAMBnBKAc//u0i548efqkp58V3wDAxxIAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQABEAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAEAABAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAQACMAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAMCZehwKAAIACAAgAMBnBOAPVwPW4smTp897cisAfDABAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAQAAEAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAEQABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEAATACCAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgCcqcehACAAgAAAAgB8RADKH64GrMWTJ0+f9/Qz//7D5xIAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQABEAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAEAAbgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAcKYehwSAAAACAAgA8BkBKD8WoBZPnjx93pNbAeCDCQAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgACIAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAIgA1AAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQABgX7//7Q/lz3/+cwGAT/RnP/+rstLXnACAHwEAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAEAABAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAQABsAAIACAAgAIAAAK9Wj0MCQAAAAQAEAPiEAJSjHPWPz3jy5OnTnn5WfAMAH0sAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAYIcAHL8upf6N8eAjA1D/+sf//PDj018aED7zR4C/+MO3AgYE1wEAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIAAiAAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgACAAAgACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAIAAGAEEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEAHhWPQ4FAAEABAAQAOATAlB+LED94zOePHn6tCe3AsAHEwAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAEQABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEAAQAAEAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQABAAIwAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAwJn/EWAAyihyDzKRI84AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/jpicker/NoColor.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAIAAACN07NGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAcpJREFUeNqcks9LAlEQx79jK0KRiRCY/bhkh9C8lBQGIUgUYXrt7/MWQSgIGqhEEUhYqXTMiwlSEUmQUYtNM6tmRJcalsfu2/nOfOb7HrXx5zB0CQYRj3M4DLcbRGAe/pdPed7f0WjQyQkyGTSbquGtLfh8dHPDiQSmpmAY+PhQpWSPjODtDdUq1eu8uanKZtOmxfx+LC/j6YmSSZTL8oLXV7y8oNPBwwPlcpROY2wMa2uYnpZ0S+NwIBDgaFTKU6GAy0uFkXh+pmIR5+fweDgWg9dLhjGYp9vVdXGRJya05NmZ7NDcHFerqvf5eGcH4+OaI8z9Pr2hBX1mhvf2SJRHRygU6PSUV1a0g8v13RhjaJG1S2KdGCjzXF1hfZ0CAZmEeyC/aMSlbpfv7uj4GI+PqiyX2W7X6aXQN5nRz5YwTdze0uEhiyXxOHm9PDkpeGi3eXdX8QZhzWO5getrOjhgpxORCJaWRIBQiDc2cH9P+/totax026CP0F9cUD6vDCKYn4cgCYxQhcOCR6USpVI8OsqmSX1NpaKmLSyop1L+R2xv8+ysVpSDajT6fSibFeN5dRWl0tD6L2OExzS1mxxdraZ7/7jXnwIMAH77vof+JfgrAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/jpicker/picker.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhGQAYAKIEANjY2P////Dw8BseI////wAAAAAAAAAAACH5BAEAAAQALAAAAAAZABgAAANXKLDc/kvBSWO4OOssVyBgKI5i0HxkOpoMqr6s984x4M5kfePlyae6X84n7LWKRhltE+jYcLXJblh50qpWWGMAma4Yg/DDawybHeRQFCJgcrDwijPuECQAADs=]]></data>
	</file>
	<file>
	  <filename>/images/jpicker/preview-opacity.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAClJREFUeNpiPHPmDAMSMDY2RuYyMeAFNJVm/P//PzL/7Nmzg8VpAAEGALE5CHQT4Ca/AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/jpicker/rangearrows.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFAAHAJEDAAAAAHRyav///7u7uyH5BAEAAAMALAAAAAAUAAcAAAIdjDOpm2cCEVsBimflrJlnAIZeNGpM6Zlbd0zbUQAAOw==]]></data>
	</file>
	<file>
	  <filename>/images/slider/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/slider/jslider.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAfQAAAA8CAYAAACQGkjnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4lJREFUeNrs3c9rHFUAwPE3m02aJghGzGalWjSXKoggQjEK7VF7sbTiwSKVQkXPPfhHePAsKASL1IJoqJe2IgUrNkEQj5VekhRra+3GbEjsJptNnFnTlRhnf7RTzMrnA8OEfY93mBy++yY7m2h/rK+v772enp69uVwuAADb3/r6eqjVaqFarX4fH+/mh4eHTw8NDRUHBgZCPp93hQCgC6ytrYVKpRLK5fLeubm50/nR0dHiyMhIGBwcDPEuPURR5CoBwDbfnSdHEvRSqRRmZ2eL+UKhcC0+diU7dLfcAaB7or68vFzfjC8tLV3Lx47Hx3h8FAUdALon6Mlt997e3htJy6PkBQCguwk6AAg6ACDoAICgAwCCDgCCDgAIOgAg6ACAoAOAoAMAgg4ACDoAIOgAIOgAwDYN+tuHg6IDQJfLjz3jIgCAoAMA/7lo8Vu33AGg64O+MiXoAND1QfcpdwAQdABA0AEAQQcABB0ABB0AEHQAQNABAEEHAEEHAAQdABB0AEDQAUDQAQBBBwDuU9A3zv3x8eDGOU0lPuaTc7M3AVEUZboeANBe0JPoPn7wyInLrSafOfX+U/FpJg5wpUnQM10PAGgv6MU4vtd3P/FoOPbGwdSJ45+cCVenf04i/Egc4BtNgl5fb+fDhXD0yCup65089WW4fetmy/UAgNbyGzv0sOfpPeFmqZw6MRlPgh6a30ZvjPcXHwvT10vpk+LxJOhtrAcAtBH0utXVWlhY/CN1YjLeieXqavhtfrHpOACQddBrtfD7QnqAk/FOrMRvAH65tdB0HADIOOjVOLBLlfTPplU7DPBKvAMvL95uOp5z/QEg26DvKjyU6cJP7h5pOefK1Z/8BgAgo6DXt+UzV6bDgZf3pU48e+7inR9bPWJWH++Z/zW8sH8sddKlbybbXQ8AaGHTc+j7XnwuvP7agS2TPv3sbLj43Q8dP4c+9vyz4fChl7bM+WLifJic+tFz6ACQ8Q595q+4nri8c0dfeOvNQ40JH348sSnmbe7QG+s9MLAjHD/693ofnZzYFHM7dADIJuhbIhzlovDOsVfDB+Ofh/MXJu8mvpvWy+VyjfW+ujAl5gBwn4L+jwiH+te2nvv60r3EN+v1AIAU0b+81vgbeFp82/jnLJmtBwDcXdDvRLh/I7xbdtIdBv2e1gMA2gi6mAKAoAMAgg4ACDoAIOgA8H/xpwADAPARxuhzeeDjAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/slider/jslider.round.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/sort.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAG9JREFUeNpiYMAE+lCMAhjR+JZAnABlLwDi4zAJZhyKQMAAiN8C8RNkheiKMBQzQt2TxYAfTAMplIHqxAcuMFAdEG01C5AQBmJfAgofg4LnJTQIcJkKCvgzsHB8gkMxPHaQYwZdMUoUMhCbKAACDAAFXhb05ZeJ9wAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cg==]]></data>
	</file>
	<file>
	  <filename>/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/js/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PEZpbGVzICIqLmpzIj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICBvcmRlciBkZW55LGFsbG93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgYWxsb3cgZnJvbSBhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPC9GaWxlcz4K]]></data>
	</file>
	<file>
	  <filename>/js/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/js/main.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIENhbGVuZGFyVmlldyBmb3IgalF1ZXJ5IGJ5IEFsZXggR2Fub3YgKG1vZGlmaWVkIGJ5IE5hTikKICoKICogQmFzZWQgb24gQ2FsZW5kYXJWaWV3IGZvciBQcm90b3R5cGUgaHR0cDovL2NhbGVuZGFydmlldy5vcmcvIHdoaWNoIGlzIGJhc2VkCiAqIG9uIER5bmFyY2ggREhUTUwgQ2FsZW5kYXIgaHR0cDovL3d3dy5keW5hcmNoLmNvbS9wcm9qZWN0cy9jYWxlbmRhci9vbGQvLgogKgogKiBDYWxlbmRhclZpZXcgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwKICogUHVibGljIExpY2Vuc2UgKExHUEwpCiAqCiAqIFVzYWdlOgogKiAgIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAqICAgICAkKCcjZGF0ZV9pbnB1dCcpLmNhbGVuZGFyKCk7CiAqICAgfQogKgogKiAgIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAqICAgICAkKCcjZGF0ZV9pbnB1dCcpLmNhbGVuZGFyKHt0cmlnZ2VyRWxlbWVudDogJyNkYXRlX2lucHV0X3RyaWdnZXInfSk7CiAqICAgfQogKgogKiAgIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAqICAgICAkKCcjZGF0ZV9pbnB1dCcpLmNhbGVuZGFyKHtwYXJlbnRFbGVtZW50OiAnI2NhbGVuZGFyX2NvbnRhaW5lcid9KTsKICogICB9CiAqCiAqIERlZmF1bHQgb3B0aW9uczoKICogICB0cmlnZ2VyRWxlbWVudDogbnVsbCwgLy8gUG9wdXAgY2FsZW5kYXIKICogICBwYXJlbnRFbGVtZW50OiBudWxsLCAvLyBJbmxpbmUgY2FsZW5kYXIKICogICBtaW5ZZWFyOiAxOTAwLAogKiAgIG1heFllYXI6IDIxMDAsCiAqICAgZmlyc3REYXlPZldlZWs6IDEsIC8vIE1vbmRheQogKiAgIHdlZWtlbmQ6ICIwLDYiLCAvLyBTdW5kYXkgYW5kIFNhdHVyZGF5CiAqICAgZGF0ZUZvcm1hdDogJyVZLSVtLSVkJywKICogICBzZWxlY3RIYW5kbGVyOiBudWxsLCAvLyBXaWxsIHVzZSBkZWZhdWx0IHNlbGVjdCBoYW5kbGVyCiAqICAgY2xvc2VIYW5kbGVyOiBudWxsIC8vIFdpbGwgdXNlIGRlZmF1bHQgY2xvc2UgaGFuZGxlcgogKi8KOyhmdW5jdGlvbigkKSB7Cgl2YXIgQ2FsZW5kYXIgPSBmdW5jdGlvbigpIHsKCQl0aGlzLmRhdGUgPSBuZXcgRGF0ZSgpOwoJfTsKCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gQ29uc3RhbnRzCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCUNhbGVuZGFyLlZFUlNJT04gPSAnMS4yJzsKCUNhbGVuZGFyLlRPREFZID0gJ1RvZGF5JzsKCglDYWxlbmRhci5EQVlfTkFNRVMgPSBuZXcgQXJyYXkoCgkJJ1N1bmRheScsICdNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXknLCAnRnJpZGF5JywgJ1NhdHVyZGF5JwoJKTsKCglDYWxlbmRhci5TSE9SVF9EQVlfTkFNRVMgPSBuZXcgQXJyYXkoJ1N1JywgJ01vJywgJ1R1JywgJ1dlJywgJ1RoJywgJ0ZyJywgJ1NhJyk7CgoJQ2FsZW5kYXIuTU9OVEhfTkFNRVMgPSBuZXcgQXJyYXkoCgkJJ0phbnVhcnknLCAnRmVicnVhcnknLCAnTWFyY2gnLCAnQXByaWwnLCAnTWF5JywgJ0p1bmUnLCAnSnVseScsICdBdWd1c3QnLAoJCSdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlcicKCSk7CgoJQ2FsZW5kYXIuU0hPUlRfTU9OVEhfTkFNRVMgPSBuZXcgQXJyYXkoCgkJJ0phbicsICdGZWInLCAnTWFyJywgJ0FwcicsICdNYXknLCAnSnVuJywgJ0p1bCcsICdBdWcnLCAnU2VwJywgJ09jdCcsICdOb3YnLCAnRGVjJwoJKTsKCglDYWxlbmRhci5OQVZfUFJFVklPVVNfWUVBUiAgPSAtMjsKCUNhbGVuZGFyLk5BVl9QUkVWSU9VU19NT05USCA9IC0xOwoJQ2FsZW5kYXIuTkFWX1RPREFZICAgICAgICAgID0gIDA7CglDYWxlbmRhci5OQVZfTkVYVF9NT05USCAgICAgPSAgMTsKCUNhbGVuZGFyLk5BVl9ORVhUX1lFQVIgICAgICA9ICAyOwoKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBTdGF0aWMgTWV0aG9kcwoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgkvKioKCSAqIFRoaXMgZ2V0cyBjYWxsZWQgd2hlbiB0aGUgdXNlciBwcmVzc2VzIGEgbW91c2UgYnV0dG9uIGFueXdoZXJlIGluIHRoZQoJICogZG9jdW1lbnQsIGlmIHRoZSBjYWxlbmRhciBpcyBzaG93bi4gSWYgdGhlIGNsaWNrIHdhcyBvdXRzaWRlIHRoZSBvcGVuCgkgKiBjYWxlbmRhciB0aGlzIGZ1bmN0aW9uIGNsb3NlcyBpdC4KCSAqCgkgKiBAcGFyYW0gZXZlbnQKCSAqLwoJQ2FsZW5kYXIuX2NoZWNrQ2FsZW5kYXIgPSBmdW5jdGlvbihldmVudCkgewoJCWlmICghd2luZG93Ll9wb3B1cENhbGVuZGFyKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCWlmICgkKGV2ZW50LnRhcmdldCkucGFyZW50cygpLmluZGV4KCQod2luZG93Ll9wb3B1cENhbGVuZGFyLmNvbnRhaW5lcikpID49IDApIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJd2luZG93Ll9wb3B1cENhbGVuZGFyLmNhbGxDbG9zZUhhbmRsZXIoKTsKCQlyZXR1cm4gZXZlbnQucHJldmVudERlZmF1bHQoKTsKCX0KCgkvKioKCSAqIEV2ZW50IEhhbmRsZXJzCgkgKiBAcGFyYW0gZXZlbnQKCSAqLwoJQ2FsZW5kYXIuaGFuZGxlTW91c2VEb3duRXZlbnQgPSBmdW5jdGlvbihldmVudCl7CgkJJChkb2N1bWVudCkubW91c2V1cChDYWxlbmRhci5oYW5kbGVNb3VzZVVwRXZlbnQpOwoJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7Cgl9CgoJLyoqCgkgKiBDbGlja3Mgb2YgZGlmZmVyZW50IGFjdGlvbnMKCSAqIEBwYXJhbSBldmVudAoJICovCglDYWxlbmRhci5oYW5kbGVNb3VzZVVwRXZlbnQgPSBmdW5jdGlvbihldmVudCkgewoJCXZhciBlbCAgICAgICAgPSBldmVudC50YXJnZXQ7CgkJdmFyIGNhbGVuZGFyICA9IGVsLmNhbGVuZGFyOwoJCXZhciBpc05ld0RhdGUgPSBmYWxzZTsKCgkJLy8gSWYgdGhlIGVsZW1lbnQgdGhhdCB3YXMgY2xpY2tlZCBvbiBkb2VzIG5vdCBoYXZlIGFuIGFzc29jaWF0ZWQgQ2FsZW5kYXIKCQkvLyBvYmplY3QsIHJldHVybiBhcyB3ZSBoYXZlIG5vdGhpbmcgdG8gZG8uCgkJaWYgKCFjYWxlbmRhcikgcmV0dXJuIGZhbHNlOwoKCQkvLyBDbGlja2VkIG9uIGEgZGF5CgkJaWYgKHR5cGVvZiBlbC5uYXZBY3Rpb24gPT0gJ3VuZGVmaW5lZCcpIHsKCQkJaWYgKGNhbGVuZGFyLmN1cnJlbnREYXRlRWxlbWVudCkgewoJCQkJY2FsZW5kYXIuY3VycmVudERhdGVFbGVtZW50LnJlbW92ZUNsYXNzKCdzZWxlY3RlZCcpOwoJCQkJJChlbCkuYWRkQ2xhc3MoJ3NlbGVjdGVkJyk7CgkJCQljYWxlbmRhci5zaG91bGRDbG9zZSA9IChjYWxlbmRhci5jdXJyZW50RGF0ZUVsZW1lbnQgPT0gJChlbCkpOwoJCQkJaWYgKCFjYWxlbmRhci5zaG91bGRDbG9zZSkgewoJCQkJCWNhbGVuZGFyLmN1cnJlbnREYXRlRWxlbWVudCA9ICQoZWwpOwoJCQkJfQoJCQl9CgkJCWNhbGVuZGFyLmRhdGUuc2V0RGF0ZU9ubHkoZWwuZGF0ZSk7CgkJCWlzTmV3RGF0ZSA9IHRydWU7CgkJCWNhbGVuZGFyLnNob3VsZENsb3NlID0gISQoZWwpLmhhc0NsYXNzKCdvdGhlckRheScpOwoJCQl2YXIgaXNPdGhlck1vbnRoICAgICA9ICFjYWxlbmRhci5zaG91bGRDbG9zZTsKCQkJaWYgKGlzT3RoZXJNb250aCkgewoJCQkJY2FsZW5kYXIudXBkYXRlKGNhbGVuZGFyLmRhdGUpOwoJCQl9CgkJfSBlbHNlIHsKCQkJLy8gQ2xpY2tlZCBvbiBhbiBhY3Rpb24gYnV0dG9uCgkJCXZhciBkYXRlID0gbmV3IERhdGUoY2FsZW5kYXIuZGF0ZSk7CgoJCQlpZiAoZWwubmF2QWN0aW9uID09IENhbGVuZGFyLk5BVl9UT0RBWSkgewoJCQkJZGF0ZS5zZXREYXRlT25seShuZXcgRGF0ZSgpKTsKCQkJfQoKCQkJdmFyIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7CgkJCXZhciBtb24gPSBkYXRlLmdldE1vbnRoKCk7CgkJCWZ1bmN0aW9uIHNldE1vbnRoKG0pIHsKCQkJCXZhciBkYXkgPSBkYXRlLmdldERhdGUoKTsKCQkJCXZhciBtYXggPSBkYXRlLmdldE1vbnRoRGF5cyhtKTsKCQkJCWlmIChkYXkgPiBtYXgpIGRhdGUuc2V0RGF0ZShtYXgpCgkJCQkJZGF0ZS5zZXRNb250aChtKTsKCQkJfQoJCQlzd2l0Y2ggKGVsLm5hdkFjdGlvbikgewoKCQkJCS8vIFByZXZpb3VzIFllYXIKCQkJCWNhc2UgQ2FsZW5kYXIuTkFWX1BSRVZJT1VTX1lFQVI6CgkJCQkJaWYgKHllYXIgPiBjYWxlbmRhci5taW5ZZWFyKQoJCQkJCQlkYXRlLnNldEZ1bGxZZWFyKHllYXIgLSAxKTsKCQkJCQlicmVhazsKCgkJCQkvLyBQcmV2aW91cyBNb250aAoJCQkJY2FzZSBDYWxlbmRhci5OQVZfUFJFVklPVVNfTU9OVEg6CgkJCQkJaWYgKG1vbiA+IDApIHsKCQkJCQkJc2V0TW9udGgobW9uIC0gMSk7CgkJCQkJfQoJCQkJCWVsc2UgaWYgKHllYXItLSA+IGNhbGVuZGFyLm1pblllYXIpIHsKCQkJCQkJZGF0ZS5zZXRGdWxsWWVhcih5ZWFyKTsKCQkJCQkJc2V0TW9udGgoMTEpOwoJCQkJCX0KCQkJCQlicmVhazsKCgkJCQkvLyBUb2RheQoJCQkJY2FzZSBDYWxlbmRhci5OQVZfVE9EQVk6CgkJCQkJYnJlYWs7CgoJCQkJLy8gTmV4dCBNb250aAoJCQkJY2FzZSBDYWxlbmRhci5OQVZfTkVYVF9NT05USDoKCQkJCQlpZiAobW9uIDwgMTEpIHsKCQkJCQkJc2V0TW9udGgobW9uICsgMSk7CgkJCQkJfQoJCQkJCWVsc2UgaWYgKHllYXIgPCBjYWxlbmRhci5tYXhZZWFyKSB7CgkJCQkJCWRhdGUuc2V0RnVsbFllYXIoeWVhciArIDEpOwoJCQkJCQlzZXRNb250aCgwKTsKCQkJCQl9CgkJCQkJYnJlYWs7CgoJCQkJLy8gTmV4dCBZZWFyCgkJCQljYXNlIENhbGVuZGFyLk5BVl9ORVhUX1lFQVI6CgkJCQkJaWYgKHllYXIgPCBjYWxlbmRhci5tYXhZZWFyKQoJCQkJCQlkYXRlLnNldEZ1bGxZZWFyKHllYXIgKyAxKTsKCQkJCQlicmVhazsKCgkJCX0KCgkJCWlmICghZGF0ZS5lcXVhbHNUbyhjYWxlbmRhci5kYXRlKSkgewoJCQkJY2FsZW5kYXIuc2hvdWxkQ2xvc2UgPSBmYWxzZTsKCQkJCWNhbGVuZGFyLnNldERhdGUoZGF0ZSk7CgkJCQlpc05ld0RhdGUgPSB0cnVlOwoJCQl9IGVsc2UgaWYgKGVsLm5hdkFjdGlvbiA9PSAwKSB7CgkJCQlpc05ld0RhdGUgPSAoY2FsZW5kYXIuc2hvdWxkQ2xvc2UgPSB0cnVlKTsKCQkJfQoJCX0KCgkJaWYgKGlzTmV3RGF0ZSkgZXZlbnQgJiYgY2FsZW5kYXIuY2FsbFNlbGVjdEhhbmRsZXIoKTsKCQlpZiAoY2FsZW5kYXIuc2hvdWxkQ2xvc2UpIGV2ZW50ICYmIGNhbGVuZGFyLmNhbGxDbG9zZUhhbmRsZXIoKTsKCQkkKGRvY3VtZW50KS51bmJpbmQoJ21vdXNldXAnLCBDYWxlbmRhci5oYW5kbGVNb3VzZVVwRXZlbnQpOwoJCXJldHVybiBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoJfTsKCglDYWxlbmRhci5kZWZhdWx0U2VsZWN0SGFuZGxlciA9IGZ1bmN0aW9uKGNhbGVuZGFyKSB7CgkJaWYgKCFjYWxlbmRhci5kYXRlRmllbGQpIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJLy8gVXBkYXRlIGRhdGVGaWVsZCB2YWx1ZQoJCShjYWxlbmRhci5kYXRlRmllbGQuYXR0cigndGFnTmFtZScpID09ICdJTlBVVCcpCgkJCT8gY2FsZW5kYXIuZGF0ZUZpZWxkLnZhbChjYWxlbmRhci5kYXRlLnByaW50KGNhbGVuZGFyLmRhdGVGb3JtYXQpKQoJCQk6IGNhbGVuZGFyLmRhdGVGaWVsZC5odG1sKGNhbGVuZGFyLmRhdGUucHJpbnQoY2FsZW5kYXIuZGF0ZUZvcm1hdCkpOwoKCQkvLyBUcmlnZ2VyIHRoZSBvbmNoYW5nZSBjYWxsYmFjayBvbiB0aGUgZGF0ZUZpZWxkLCBpZiBvbmUgaGFzIGJlZW4gZGVmaW5lZAoJCWNhbGVuZGFyLmRhdGVGaWVsZC50cmlnZ2VyKCdjaGFuZ2UnKTsKCgkJLy8gQ2FsbCB0aGUgY2xvc2UgaGFuZGxlciwgaWYgbmVjZXNzYXJ5CgkJaWYgKGNhbGVuZGFyLnNob3VsZENsb3NlKSB7CgkJCWNhbGVuZGFyLmNhbGxDbG9zZUhhbmRsZXIoKTsKCQl9CgoJCXJldHVybiB0cnVlOwoJfQoKCUNhbGVuZGFyLmRlZmF1bHRDbG9zZUhhbmRsZXIgPSBmdW5jdGlvbihjYWxlbmRhcikgewoJCWNhbGVuZGFyLmhpZGUoKTsKCX0KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gQ2FsZW5kYXIgSW5zdGFuY2UKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJQ2FsZW5kYXIucHJvdG90eXBlID0gewoJCS8vIFRoZSBIVE1MIENvbnRhaW5lciBFbGVtZW50CgkJY29udGFpbmVyOiBudWxsLAoKCQkvLyBEYXRlcwoJCWRhdGU6IG51bGwsCgkJY3VycmVudERhdGVFbGVtZW50OiBudWxsLAoKCQkvLyBTdGF0dXMKCQlzaG91bGRDbG9zZTogZmFsc2UsCgkJaXNQb3B1cDogdHJ1ZSwKCgkJLyoqCgkJICogVXBkYXRlIC8gKFJlKWluaXRpYWxpemUgQ2FsZW5kYXIKCQkgKiBAcGFyYW0gZGF0ZQoJCSAqLwoJCXVwZGF0ZTogZnVuY3Rpb24oZGF0ZSkgewoJCQl2YXIgY2FsZW5kYXIgICA9IHRoaXM7CgkJCXZhciB0b2RheSAgICAgID0gbmV3IERhdGUoKTsKCQkJdmFyIHRoaXNZZWFyICAgPSB0b2RheS5nZXRGdWxsWWVhcigpOwoJCQl2YXIgdGhpc01vbnRoICA9IHRvZGF5LmdldE1vbnRoKCk7CgkJCXZhciB0aGlzRGF5ICAgID0gdG9kYXkuZ2V0RGF0ZSgpOwoJCQl2YXIgbW9udGggICAgICA9IGRhdGUuZ2V0TW9udGgoKTsKCQkJdmFyIGRheU9mTW9udGggPSBkYXRlLmdldERhdGUoKTsKCgkJCS8vIEVuc3VyZSBkYXRlIGlzIHdpdGhpbiB0aGUgZGVmaW5lZCByYW5nZQoJCQlpZiAoZGF0ZS5nZXRGdWxsWWVhcigpIDwgdGhpcy5taW5ZZWFyKSB7CgkJCQlkYXRlLnNldEZ1bGxZZWFyKHRoaXMubWluWWVhcik7CgkJCX0gZWxzZSBpZiAoZGF0ZS5nZXRGdWxsWWVhcigpID4gdGhpcy5tYXhZZWFyKSB7CgkJCQlkYXRlLnNldEZ1bGxZZWFyKHRoaXMubWF4WWVhcik7CgkJCX0KCQkJdGhpcy5kYXRlID0gbmV3IERhdGUoZGF0ZSk7CgoJCQkvLyBDYWxjdWxhdGUgdGhlIGZpcnN0IGRheSB0byBkaXNwbGF5IChpbmNsdWRpbmcgdGhlIHByZXZpb3VzIG1vbnRoKQoJCQlkYXRlLnNldERhdGUoMSk7CgkJCXZhciBkYXkxID0gKGRhdGUuZ2V0RGF5KCkgLSB0aGlzLmZpcnN0RGF5T2ZXZWVrKSAlIDc7CgkJCWlmIChkYXkxIDwgMCkgZGF5MSArPSA3OwoJCQlkYXRlLnNldERhdGUoLWRheTEpOwoJCQlkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyAxKTsKCgkJCS8vIEZpbGwgaW4gdGhlIGRheXMgb2YgdGhlIG1vbnRoCgkJCSQoJ3Rib2R5IHRyJywgdGhpcy5jb250YWluZXIpLmVhY2goZnVuY3Rpb24oKSB7CgkJCQl2YXIgcm93SGFzRGF5cyA9IGZhbHNlOwoJCQkJJCh0aGlzKS5jaGlsZHJlbigpLmVhY2goZnVuY3Rpb24oKSB7CgkJCQkJdmFyIGRheSAgICAgICAgICAgID0gZGF0ZS5nZXREYXRlKCk7CgkJCQkJdmFyIGRheU9mV2VlayAgICAgID0gZGF0ZS5nZXREYXkoKTsKCQkJCQl2YXIgaXNDdXJyZW50TW9udGggPSAoZGF0ZS5nZXRNb250aCgpID09IG1vbnRoKTsKCgkJCQkJLy8gUmVzZXQgY2xhc3NlcyBvbiB0aGUgY2VsbAoJCQkJCWNlbGwgPSAkKHRoaXMpOwoJCQkJCWNlbGwucmVtb3ZlQXR0cignY2xhc3MnKTsKCQkJCQljZWxsWzBdLmRhdGUgPSBuZXcgRGF0ZShkYXRlKTsKCQkJCQljZWxsLmh0bWwoZGF5KTsKCgkJCQkJLy8gQWNjb3VudCBmb3IgZGF5cyBvZiB0aGUgbW9udGggb3RoZXIgdGhhbiB0aGUgY3VycmVudCBtb250aAoJCQkJCWlmICghaXNDdXJyZW50TW9udGgpIHsKCQkJCQkJY2VsbC5hZGRDbGFzcygnb3RoZXJEYXknKTsKCQkJCQl9IGVsc2UgewoJCQkJCQlyb3dIYXNEYXlzID0gdHJ1ZTsKCQkJCQl9CgoJCQkJCS8vIEVuc3VyZSB0aGUgY3VycmVudCBkYXkgaXMgc2VsZWN0ZWQKCQkJCQlpZiAoaXNDdXJyZW50TW9udGggJiYgZGF5ID09IGRheU9mTW9udGgpIHsKCQkJCQkJY2VsbC5hZGRDbGFzcygnc2VsZWN0ZWQnKTsKCQkJCQkJY2FsZW5kYXIuY3VycmVudERhdGVFbGVtZW50ID0gY2VsbDsKCQkJCQl9CgoJCQkJCS8vIFRvZGF5CgkJCQkJaWYgKGRhdGUuZ2V0RnVsbFllYXIoKSA9PSB0aGlzWWVhciAmJiBkYXRlLmdldE1vbnRoKCkgPT0gdGhpc01vbnRoICYmIGRheSA9PSB0aGlzRGF5KSB7CgkJCQkJCWNlbGwuYWRkQ2xhc3MoJ3RvZGF5Jyk7CgkJCQkJfQoKCQkJCQkvLyBXZWVrZW5kCgkJCQkJaWYgKGNhbGVuZGFyLndlZWtlbmQuaW5kZXhPZihkYXlPZldlZWsudG9TdHJpbmcoKSkgIT0gLTEpIHsKCQkJCQkJY2VsbC5hZGRDbGFzcygnd2Vla2VuZCcpOwoJCQkJCX0KCgkJCQkJLy8gU2V0IHRoZSBkYXRlIHRvIHRvbW1vcnJvdwoJCQkJCWRhdGUuc2V0RGF0ZShkYXkgKyAxKTsKCQkJCX0pOwoJCQkJLy8gSGlkZSB0aGUgZXh0cmEgcm93IGlmIGl0IGNvbnRhaW5zIG9ubHkgZGF5cyBmcm9tIGFub3RoZXIgbW9udGgKCQkJCSFyb3dIYXNEYXlzID8gJCh0aGlzKS5oaWRlKCkgOiAkKHRoaXMpLnNob3coKTsKCQkJfSk7CgoJCQkkKCd0ZC50aXRsZScsIHRoaXMuY29udGFpbmVyKS5odG1sKENhbGVuZGFyLk1PTlRIX05BTUVTW21vbnRoXSArICcgJyArIGNhbGVuZGFyLmRhdGUuZ2V0RnVsbFllYXIoKSk7CgkJfSwKCgkJY3JlYXRlOiBmdW5jdGlvbihwYXJlbnQpIHsKCgkJCS8vIElmIG5vIHBhcmVudCB3YXMgc3BlY2lmaWVkLCBhc3N1bWUgdGhhdCB3ZSBhcmUgY3JlYXRpbmcgYSBwb3B1cCBjYWxlbmRhci4KCQkJdGhpcy5pc1BvcHVwID0gZmFsc2U7CgkJCWlmICghcGFyZW50KSB7CgkJCQlwYXJlbnQgPSAkKCdib2R5Jyk7CgkJCQl0aGlzLmlzUG9wdXAgPSB0cnVlOwoJCQl9CgoJCQkvLyBDYWxlbmRhciBUYWJsZQoJCQl2YXIgdGFibGUgPSAkKCc8dGFibGUgLz4nKTsKCgkJCS8vIENhbGVuZGFyIEhlYWRlcgoJCQl2YXIgdGhlYWQgPSAkKCc8dGhlYWQgLz4nKTsKCQkJdGFibGUuYXBwZW5kKHRoZWFkKTsKCgkJCS8vIFRpdGxlIFBsYWNlaG9sZGVyCgkJCXZhciByb3cgID0gJCgnPHRyIC8+Jyk7CgkJCXZhciBjZWxsID0gJCgnPHRkIGNvbHNwYW49IjciIGNsYXNzPSJ0aXRsZSIgLz4nKTsKCQkJcm93LmFwcGVuZChjZWxsKTsKCQkJdGhlYWQuYXBwZW5kKHJvdyk7CgoJCQkvLyBDYWxlbmRhciBOYXZpZ2F0aW9uCgkJCXJvdyA9ICQoJzx0ciAvPicpOwoJCQl0aGlzLl9kcmF3QnV0dG9uQ2VsbChyb3csICcmI3gwMGFiOycsIDEsIENhbGVuZGFyLk5BVl9QUkVWSU9VU19ZRUFSKTsKCQkJdGhpcy5fZHJhd0J1dHRvbkNlbGwocm93LCAnJiN4MjAzOTsnLCAxLCBDYWxlbmRhci5OQVZfUFJFVklPVVNfTU9OVEgpOwoJCQl0aGlzLl9kcmF3QnV0dG9uQ2VsbChyb3csIENhbGVuZGFyLlRPREFZLCAgICAzLCBDYWxlbmRhci5OQVZfVE9EQVkpOwoJCQl0aGlzLl9kcmF3QnV0dG9uQ2VsbChyb3csICcmI3gyMDNhOycsIDEsIENhbGVuZGFyLk5BVl9ORVhUX01PTlRIKTsKCQkJdGhpcy5fZHJhd0J1dHRvbkNlbGwocm93LCAnJiN4MDBiYjsnLCAxLCBDYWxlbmRhci5OQVZfTkVYVF9ZRUFSKTsKCQkJdGhlYWQuYXBwZW5kKHJvdyk7CgoJCQkvLyBEYXkgTmFtZXMKCQkJcm93ID0gJCgnPHRyIC8+Jyk7CgkJCWZvciAodmFyIGkgPSAwOyBpIDwgNzsgKytpKSB7CgkJCQl2YXIgcmVhbERheSA9IChpICsgdGhpcy5maXJzdERheU9mV2VlaykgJSA3OwoJCQkJY2VsbCA9ICQoJzx0aCAvPicpLmh0bWwoQ2FsZW5kYXIuU0hPUlRfREFZX05BTUVTW3JlYWxEYXldKTsKCQkJCWlmICh0aGlzLndlZWtlbmQuaW5kZXhPZihyZWFsRGF5LnRvU3RyaW5nKCkpICE9IC0xKQoJCQkJCWNlbGwuYWRkQ2xhc3MoJ3dlZWtlbmQnKTsKCQkJCXJvdy5hcHBlbmQoY2VsbCk7CgkJCX0KCQkJdGhlYWQuYXBwZW5kKHJvdyk7CgoJCQkvLyBDYWxlbmRhciBEYXlzCgkJCXZhciB0Ym9keSA9IHRhYmxlLmFwcGVuZCgkKCc8dGJvZHkgLz4nKSk7CgkJCWZvciAoaSA9IDY7IGkgPiAwOyAtLWkpIHsKCQkJCXJvdyA9ICQoJzx0ciAvPicpLmFkZENsYXNzKCdkYXlzJyk7CgkJCQl0Ym9keS5hcHBlbmQocm93KTsKCQkJCWZvciAodmFyIGogPSA3OyBqID4gMDsgLS1qKSB7CgkJCQkJY2VsbCA9ICQoJzx0ZCAvPicpOwoJCQkJCWNlbGxbMF0uY2FsZW5kYXIgPSB0aGlzOwoJCQkJCXJvdy5hcHBlbmQoY2VsbCk7CgkJCQl9CgkJCX0KCgkJCS8vIENhbGVuZGFyIENvbnRhaW5lciAoZGl2KQoJCQl0aGlzLmNvbnRhaW5lciA9ICQoJzxkaXYgLz4nKS5hZGRDbGFzcygnY2FsZW5kYXInKS5hcHBlbmQodGFibGUpOwoJCQlpZiAodGhpcy5pc1BvcHVwKSB7CgkJCQl0aGlzLmNvbnRhaW5lci5jc3MoewoJCQkJCXBvc2l0aW9uOiAnYWJzb2x1dGUnLAoJCQkJCWRpc3BsYXk6ICdub25lJwoJCQkJfSkuYWRkQ2xhc3MoJ3BvcHVwJyk7CgkJCX0KCgkJCS8vIEluaXRpYWxpemUgQ2FsZW5kYXIKCQkJdGhpcy51cGRhdGUodGhpcy5kYXRlKTsKCgkJCS8vIE9ic2VydmUgdGhlIGNvbnRhaW5lciBmb3IgbW91c2Vkb3duIGV2ZW50cwoJCQl0aGlzLmNvbnRhaW5lci5tb3VzZWRvd24oQ2FsZW5kYXIuaGFuZGxlTW91c2VEb3duRXZlbnQpOwoKCQkJLy8gQXBwZW5kIHRvIHBhcmVudCBlbGVtZW50CgkJCXBhcmVudC5hcHBlbmQodGhpcy5jb250YWluZXIpOwoJCX0sCgoJCV9kcmF3QnV0dG9uQ2VsbDogZnVuY3Rpb24ocGFyZW50LCB0ZXh0LCBjb2xTcGFuLCBuYXZBY3Rpb24pIHsKCQkJdmFyIGNlbGwgPSAkKCc8dGQgLz4nKTsKCQkJaWYgKGNvbFNwYW4gPiAxKSBjZWxsWzBdLmNvbFNwYW4gPSBjb2xTcGFuOyAvLyBJRSBpc3N1ZSBhdHRyKCkKCQkJY2VsbC5hZGRDbGFzcygnYnV0dG9uJykuaHRtbCh0ZXh0KS5hdHRyKCd1bnNlbGVjdGFibGUnLCAnb24nKTsgLy8gSUU7CgkJCWNlbGxbMF0uY2FsZW5kYXIgICAgID0gdGhpczsKCQkJY2VsbFswXS5uYXZBY3Rpb24gICAgPSBuYXZBY3Rpb247CgkJCXBhcmVudC5hcHBlbmQoY2VsbCk7CgkJCXJldHVybiBjZWxsOwoJCX0sCgoJCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJLy8gQ2FsbGJhY2tzCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgkJLyoqCgkJICogQ2FsbHMgdGhlIFNlbGVjdCBIYW5kbGVyIChpZiBkZWZpbmVkKQoJCSAqLwoJCWNhbGxTZWxlY3RIYW5kbGVyOiBmdW5jdGlvbigpIHsKCQkJaWYgKHRoaXMuc2VsZWN0SGFuZGxlcikgewoJCQkJdGhpcy5zZWxlY3RIYW5kbGVyKHRoaXMsIHRoaXMuZGF0ZS5wcmludCh0aGlzLmRhdGVGb3JtYXQpKTsKCQkJfQoJCX0sCgoJCS8qKgoJCSAqIENhbGxzIHRoZSBDbG9zZSBIYW5kbGVyIChpZiBkZWZpbmVkKQoJCSAqLwoJCWNhbGxDbG9zZUhhbmRsZXI6IGZ1bmN0aW9uKCkgewoJCQlpZiAodGhpcy5jbG9zZUhhbmRsZXIpIHsKCQkJCXRoaXMuY2xvc2VIYW5kbGVyKHRoaXMpOwoJCQl9CgkJfSwKCgkJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQkvLyBDYWxlbmRhciBEaXNwbGF5IEZ1bmN0aW9ucwoJCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJCS8qKgoJCSAqIFNob3dzIHRoZSBDYWxlbmRhcgoJCSAqLwoJCXNob3c6IGZ1bmN0aW9uKCkgewoJCQl0aGlzLmNvbnRhaW5lci5zaG93KCk7CgkJCWlmICh0aGlzLmlzUG9wdXApIHsKCQkJCXdpbmRvdy5fcG9wdXBDYWxlbmRhciA9IHRoaXM7CgkJCQkkKGRvY3VtZW50KS5tb3VzZWRvd24oQ2FsZW5kYXIuX2NoZWNrQ2FsZW5kYXIpOwoJCQl9CgkJfSwKCgkJLyoqCgkJICogU2hvd3MgdGhlIGNhbGVuZGFyIGF0IHRoZSBnaXZlbiBhYnNvbHV0ZSBwb3NpdGlvbgoJCSAqIEBwYXJhbSB4CgkJICogQHBhcmFtIHkKCQkgKi8KCQlzaG93QXQ6IGZ1bmN0aW9uICh4LCB5KSB7CgkJCXRoaXMuY29udGFpbmVyLmNzcyh7CgkJCQlsZWZ0OiB4ICsgJ3B4JywKCQkJCXRvcDogeSArICdweCcKCQkJfSkKCQkJdGhpcy5zaG93KCk7CgkJfSwKCgkJLyoqCgkJICogU2hvd3MgdGhlIENhbGVuZGFyIGF0IHRoZSBjb29yZGluYXRlcyBvZiB0aGUgcHJvdmlkZWQgZWxlbWVudAoJCSAqIEBwYXJhbSBlbGVtZW50CgkJICovCgkJc2hvd0F0RWxlbWVudDogZnVuY3Rpb24oZWxlbWVudCkgewoJCQl2YXIgb2Zmc2V0ID0gZWxlbWVudC5vZmZzZXQoKTsKCQkJdGhpcy5zaG93QXQob2Zmc2V0LmxlZnQsIG9mZnNldC50b3ApOwoJCX0sCgoJCS8qKgoJCSAqIEhpZGVzIHRoZSBDYWxlbmRhcgoJCSAqLwoJCWhpZGU6IGZ1bmN0aW9uKCkgewoJCQlpZiAodGhpcy5pc1BvcHVwKSB7CgkJCQkkKGRvY3VtZW50KS51bmJpbmQoJ21vdXNlZG93bicsIENhbGVuZGFyLl9jaGVja0NhbGVuZGFyKTsKCQkJfQoJCQl0aGlzLmNvbnRhaW5lci5oaWRlKCk7CgkJfSwKCgkJLyoqCgkJICogVHJpZXMgdG8gaWRlbnRpZnkgdGhlIGRhdGUgcmVwcmVzZW50ZWQgaW4gYSBzdHJpbmcuICBJZiBzdWNjZXNzZnVsIGl0IGFsc28KCQkgKiBjYWxscyB0aGlzLnNldERhdGUgd2hpY2ggbW92ZXMgdGhlIGNhbGVuZGFyIHRvIHRoZSBnaXZlbiBkYXRlLgoJCSAqIEBwYXJhbSBzdHIKCQkgKiBAcGFyYW0gZm9ybWF0CgkJICovCgkJcGFyc2VEYXRlOiBmdW5jdGlvbihzdHIsIGZvcm1hdCkgewoJCQlpZiAoIWZvcm1hdCkgewoJCQkJZm9ybWF0ID0gdGhpcy5kYXRlRm9ybWF0OwoJCQl9CgkJCXRoaXMuc2V0RGF0ZShEYXRlLnBhcnNlRGF0ZShzdHIsIGZvcm1hdCkpOwoJCX0sCgoJCXNldERhdGU6IGZ1bmN0aW9uKGRhdGUpIHsKCQkJaWYgKCFkYXRlLmVxdWFsc1RvKHRoaXMuZGF0ZSkpCgkJCQl0aGlzLnVwZGF0ZShkYXRlKTsKCQl9LAoKCQlzZXRSYW5nZTogZnVuY3Rpb24obWluWWVhciwgbWF4WWVhcikgewoJCQl0aGlzLm1pblllYXIgPSBtaW5ZZWFyOwoJCQl0aGlzLm1heFllYXIgPSBtYXhZZWFyOwoJCX0KCX0KCgkvLyBnbG9iYWwgb2JqZWN0IHRoYXQgcmVtZW1iZXJzIHRoZSBjYWxlbmRhcgoJd2luZG93Ll9wb3B1cENhbGVuZGFyID0gbnVsbDsKCgkvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJLy8gRGF0ZSBPYmplY3QgUGF0Y2hlcwoJLy8gVGhpcyBpcyBwcmV0dHkgbXVjaCB1bnRvdWNoZWQgZnJvbSB0aGUgb3JpZ2luYWwuCgkvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJRGF0ZS5EQVlTX0lOX01PTlRIID0gbmV3IEFycmF5KDMxLCAyOCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzEpOwoJRGF0ZS5TRUNPTkQgICAgICAgID0gMTAwMDsgLyogbWlsbGlzZWNvbmRzICovCglEYXRlLk1JTlVURSAgICAgICAgPSA2MCAqIERhdGUuU0VDT05EOwoJRGF0ZS5IT1VSICAgICAgICAgID0gNjAgKiBEYXRlLk1JTlVURTsKCURhdGUuREFZICAgICAgICAgICA9IDI0ICogRGF0ZS5IT1VSOwoJRGF0ZS5XRUVLICAgICAgICAgID0gIDcgKiBEYXRlLkRBWTsKCgkvLyBQYXJzZXMgRGF0ZQoJRGF0ZS5wYXJzZURhdGUgPSBmdW5jdGlvbihzdHIsIGZtdCkgewoJCXZhciB0b2RheSA9IG5ldyBEYXRlKCk7CgkJdmFyIHkgICAgID0gMDsKCQl2YXIgbSAgICAgPSAtMTsKCQl2YXIgZCAgICAgPSAwOwoJCXZhciBhICAgICA9IHN0ci5zcGxpdCgvXFcrLyk7CgkJdmFyIGIgICAgID0gZm10Lm1hdGNoKC8lLi9nKTsKCQl2YXIgaSAgICAgPSAwLCBqID0gMDsKCQl2YXIgaHIgICAgPSAwOwoJCXZhciBtaW4gICA9IDA7CgoJCWZvciAoaSA9IDA7IGkgPCBhLmxlbmd0aDsgKytpKSB7CgkJCWlmICghYVtpXSkgY29udGludWU7CgkJCXN3aXRjaCAoYltpXSkgewoJCQkJY2FzZSAiJWQiOgoJCQkJY2FzZSAiJWUiOgoJCQkJCWQgPSBwYXJzZUludChhW2ldLCAxMCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICIlbSI6CgkJCQkJbSA9IHBhcnNlSW50KGFbaV0sIDEwKSAtIDE7CgkJCQkJYnJlYWs7CgkJCQljYXNlICIlWSI6CgkJCQljYXNlICIleSI6CgkJCQkJeSA9IHBhcnNlSW50KGFbaV0sIDEwKTsKCQkJCQkoeSA8IDEwMCkgJiYgKHkgKz0gKHkgPiAyOSkgPyAxOTAwIDogMjAwMCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICIlYiI6CgkJCQljYXNlICIlQiI6CgkJCQkJZm9yIChqID0gMDsgaiA8IDEyOyArK2opIHsKCQkJCQkJaWYgKENhbGVuZGFyLk1PTlRIX05BTUVTW2pdLnN1YnN0cigwLCBhW2ldLmxlbmd0aCkudG9Mb3dlckNhc2UoKSA9PSBhW2ldLnRvTG93ZXJDYXNlKCkpIHsKCQkJCQkJCW0gPSBqOwoJCQkJCQkJYnJlYWs7CgkJCQkJCX0KCQkJCQl9CgkJCQkJYnJlYWs7CgkJCQljYXNlICIlSCI6CgkJCQljYXNlICIlSSI6CgkJCQljYXNlICIlayI6CgkJCQljYXNlICIlbCI6CgkJCQkJaHIgPSBwYXJzZUludChhW2ldLCAxMCk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICIlUCI6CgkJCQljYXNlICIlcCI6CgkJCQkJaWYgKC9wbS9pLnRlc3QoYVtpXSkgJiYgaHIgPCAxMikKCQkJCQkJaHIgKz0gMTI7CgkJCQkJZWxzZSBpZiAoL2FtL2kudGVzdChhW2ldKSAmJiBociA+PSAxMikKCQkJCQkJaHIgLT0gMTI7CgkJCQkJYnJlYWs7CgkJCQljYXNlICIlTSI6CgkJCQkJbWluID0gcGFyc2VJbnQoYVtpXSwgMTApOwoJCQkJCWJyZWFrOwoJCQl9CgkJfQoJCWlmIChpc05hTih5KSkgeSA9IHRvZGF5LmdldEZ1bGxZZWFyKCk7CgkJaWYgKGlzTmFOKG0pKSBtID0gdG9kYXkuZ2V0TW9udGgoKTsKCQlpZiAoaXNOYU4oZCkpIGQgPSB0b2RheS5nZXREYXRlKCk7CgkJaWYgKGlzTmFOKGhyKSkgaHIgPSB0b2RheS5nZXRIb3VycygpOwoJCWlmIChpc05hTihtaW4pKSBtaW4gPSB0b2RheS5nZXRNaW51dGVzKCk7CgkJaWYgKHkgIT0gMCAmJiBtICE9IC0xICYmIGQgIT0gMCkKCQkJcmV0dXJuIG5ldyBEYXRlKHksIG0sIGQsIGhyLCBtaW4sIDApOwoJCXkgPSAwOyBtID0gLTE7IGQgPSAwOwoJCWZvciAoaSA9IDA7IGkgPCBhLmxlbmd0aDsgKytpKSB7CgkJCWlmIChhW2ldLnNlYXJjaCgvW2EtekEtWl0rLykgIT0gLTEpIHsKCQkJCXZhciB0ID0gLTE7CgkJCQlmb3IgKGogPSAwOyBqIDwgMTI7ICsraikgewoJCQkJCWlmIChDYWxlbmRhci5NT05USF9OQU1FU1tqXS5zdWJzdHIoMCwgYVtpXS5sZW5ndGgpLnRvTG93ZXJDYXNlKCkgPT0gYVtpXS50b0xvd2VyQ2FzZSgpKSB7CgkJCQkJCXQgPSBqOyBicmVhazsKCQkJCQl9CgkJCQl9CgkJCQlpZiAodCAhPSAtMSkgewoJCQkJCWlmIChtICE9IC0xKSB7CgkJCQkJCWQgPSBtKzE7CgkJCQkJfQoJCQkJCW0gPSB0OwoJCQkJfQoJCQl9IGVsc2UgaWYgKHBhcnNlSW50KGFbaV0sIDEwKSA8PSAxMiAmJiBtID09IC0xKSB7CgkJCQltID0gYVtpXS0xOwoJCQl9IGVsc2UgaWYgKHBhcnNlSW50KGFbaV0sIDEwKSA+IDMxICYmIHkgPT0gMCkgewoJCQkJeSA9IHBhcnNlSW50KGFbaV0sIDEwKTsKCQkJCSh5IDwgMTAwKSAmJiAoeSArPSAoeSA+IDI5KSA/IDE5MDAgOiAyMDAwKTsKCQkJfSBlbHNlIGlmIChkID09IDApIHsKCQkJCWQgPSBhW2ldOwoJCQl9CgkJfQoJCWlmICh5ID09IDApCgkJCXkgPSB0b2RheS5nZXRGdWxsWWVhcigpOwoJCWlmIChtICE9IC0xICYmIGQgIT0gMCkKCQkJcmV0dXJuIG5ldyBEYXRlKHksIG0sIGQsIGhyLCBtaW4sIDApOwoJCXJldHVybiB0b2RheTsKCX07CgoJLy8gUmV0dXJucyB0aGUgbnVtYmVyIG9mIGRheXMgaW4gdGhlIGN1cnJlbnQgbW9udGgKCURhdGUucHJvdG90eXBlLmdldE1vbnRoRGF5cyA9IGZ1bmN0aW9uKG1vbnRoKSB7CgkJdmFyIHllYXIgPSB0aGlzLmdldEZ1bGxZZWFyKCkKCQlpZiAodHlwZW9mIG1vbnRoID09ICJ1bmRlZmluZWQiKQoJCQltb250aCA9IHRoaXMuZ2V0TW9udGgoKQoJCWlmICgoKDAgPT0gKHllYXIgJSA0KSkgJiYgKCAoMCAhPSAoeWVhciAlIDEwMCkpIHx8ICgwID09ICh5ZWFyICUgNDAwKSkpKSAmJiBtb250aCA9PSAxKQoJCQlyZXR1cm4gMjkKCQllbHNlCgkJCXJldHVybiBEYXRlLkRBWVNfSU5fTU9OVEhbbW9udGhdCgl9OwoKCS8vIFJldHVybnMgdGhlIG51bWJlciBvZiBkYXkgaW4gdGhlIHllYXIKCURhdGUucHJvdG90eXBlLmdldERheU9mWWVhciA9IGZ1bmN0aW9uKCkgewoJCXZhciBub3cgPSBuZXcgRGF0ZSh0aGlzLmdldEZ1bGxZZWFyKCksIHRoaXMuZ2V0TW9udGgoKSwgdGhpcy5nZXREYXRlKCksIDAsIDAsIDApOwoJCXZhciB0aGVuID0gbmV3IERhdGUodGhpcy5nZXRGdWxsWWVhcigpLCAwLCAwLCAwLCAwLCAwKTsKCQl2YXIgdGltZSA9IG5vdyAtIHRoZW47CgkJcmV0dXJuIE1hdGguZmxvb3IodGltZSAvIERhdGUuREFZKTsKCX07CgoJLyoqIFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgd2VlayBpbiB5ZWFyLCBhcyBkZWZpbmVkIGluIElTTyA4NjAxLiAqLwoJRGF0ZS5wcm90b3R5cGUuZ2V0V2Vla051bWJlciA9IGZ1bmN0aW9uKCkgewoJCXZhciBkID0gbmV3IERhdGUodGhpcy5nZXRGdWxsWWVhcigpLCB0aGlzLmdldE1vbnRoKCksIHRoaXMuZ2V0RGF0ZSgpLCAwLCAwLCAwKTsKCQl2YXIgRG9XID0gZC5nZXREYXkoKTsKCQlkLnNldERhdGUoZC5nZXREYXRlKCkgLSAoRG9XICsgNikgJSA3ICsgMyk7IC8vIE5lYXJlc3QgVGh1CgkJdmFyIG1zID0gZC52YWx1ZU9mKCk7IC8vIEdNVAoJCWQuc2V0TW9udGgoMCk7CgkJZC5zZXREYXRlKDQpOyAvLyBUaHUgaW4gV2VlayAxCgkJcmV0dXJuIE1hdGgucm91bmQoKG1zIC0gZC52YWx1ZU9mKCkpIC8gKDcgKiA4NjRlNSkpICsgMTsKCX07CgoJLyoqIENoZWNrcyBkYXRlIGFuZCB0aW1lIGVxdWFsaXR5ICovCglEYXRlLnByb3RvdHlwZS5lcXVhbHNUbyA9IGZ1bmN0aW9uKGRhdGUpIHsKCQlyZXR1cm4gKCh0aGlzLmdldEZ1bGxZZWFyKCkgPT0gZGF0ZS5nZXRGdWxsWWVhcigpKSAmJgoJCQkodGhpcy5nZXRNb250aCgpID09IGRhdGUuZ2V0TW9udGgoKSkgJiYKCQkJKHRoaXMuZ2V0RGF0ZSgpID09IGRhdGUuZ2V0RGF0ZSgpKSAmJgoJCQkodGhpcy5nZXRIb3VycygpID09IGRhdGUuZ2V0SG91cnMoKSkgJiYKCQkJKHRoaXMuZ2V0TWludXRlcygpID09IGRhdGUuZ2V0TWludXRlcygpKSk7Cgl9OwoKCS8qKiBTZXQgb25seSB0aGUgeWVhciwgbW9udGgsIGRhdGUgcGFydHMgKGtlZXAgZXhpc3RpbmcgdGltZSkgKi8KCURhdGUucHJvdG90eXBlLnNldERhdGVPbmx5ID0gZnVuY3Rpb24oZGF0ZSkgewoJCXZhciB0bXAgPSBuZXcgRGF0ZShkYXRlKTsKCQl0aGlzLnNldERhdGUoMSk7CgkJdGhpcy5zZXRGdWxsWWVhcih0bXAuZ2V0RnVsbFllYXIoKSk7CgkJdGhpcy5zZXRNb250aCh0bXAuZ2V0TW9udGgoKSk7CgkJdGhpcy5zZXREYXRlKHRtcC5nZXREYXRlKCkpOwoJfTsKCi8qKiBBZGRlZCBieSBOYU46ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqIERhdGUuZm9ybWF0KCkKICogc3RyaW5nIGZvcm1hdCAoIHN0cmluZyBmb3JtYXQgKQogKiBGb3JtYXR0aW5nIHJ1bGVzIGFjY29yZGluZyB0byBodHRwOi8vcGhwLm5ldC9zdHJmdGltZQogKgogKiBDb3B5cmlnaHQgKEMpIDIwMDYgIERhbyBHb3R0d2FsZAogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgVVNBCiAqCiAqIENvbnRhY3QgaW5mb3JtYXRpb246CiAqICAgRGFvIEdvdHR3YWxkICA8ZGFvIGF0IGRlc2lnbi1ub2lyLmRlPgogKgogKiBAdmVyc2lvbiAgMC43CiAqIEB0b2RvICAgICAlZywgJUcsICVVLCAlViwgJVcsICV6LCBtb3JlL2JldHRlciBsb2NhbGl6YXRpb24KICogQHVybCAgICAgIGh0dHA6Ly9kZXNpZ24tbm9pci5kZS93ZWJkZXYvSlMvRGF0ZS5mb3JtYXQvCiAqLwoKdmFyIF9sYW5nID0gKG5hdmlnYXRvci5zeXN0ZW1MYW5ndWFnZSB8fCBuYXZpZ2F0b3IudXNlckxhbmd1YWdlIHx8IG5hdmlnYXRvci5sYW5ndWFnZSB8fCBuYXZpZ2F0b3IuYnJvd3Nlckxhbmd1YWdlIHx8ICcnKS5yZXBsYWNlKC8tLiovLCcnKTsKc3dpdGNoIChfbGFuZykgewoJY2FzZSAnZGUnOgoJCURhdGUuX2wxMG4gPSB7CgkJCWRheXM6IFsnU29ubnRhZycsJ01vbnRhZycsJ0RpZW5zdGFnJywnTWl0dHdvY2gnLCdEb25uZXJzdGFnJywnRnJlaXRhZycsJ1NhbXN0YWcnXSwKCQkJbW9udGhzOiBbJ0phbnVhcicsJ0ZlYnJ1YXInLCdNXHUwMEU0cnonLCdBcHJpbCcsJ01haScsJ0p1bmknLCdKdWxpJywnQXVndXN0JywnU2VwdGVtYmVyJywnT2t0b2JlcicsJ05vdmVtYmVyJywnRGV6ZW1iZXInXSwKCQkJZGF0ZTogJyVlLiVtLiVZJywKCQkJdGltZTogJyVIOiVNOiVTJ307CgkJYnJlYWs7CgljYXNlICdlcyc6CgkJRGF0ZS5fbDEwbiA9IHsKCQkJZGF5czogWydEb21pbmdvJywnTHVuZXMnLCdNYXJ0ZXMnLCdNacOpcmNvbGVzJywnSnVldmVzJywnVmllcm5lcycsJ1NcdTAwRTFiYWRvJ10sCgkJCW1vbnRoczogWydlbmVybycsJ2ZlYnJlcm8nLCdtYXJjaGEnLCdhYnJpbCcsJ3B1ZWRlJywnanVuaW8nLCdqdWxpbycsJ2Fnb3N0bycsJ3NlcHRpZW1icmUnLCdvY3R1YnJlJywnbm92aWVtYnJlJywnZGljaWVtYnJlJ10sCgkJCWRhdGU6ICclZS4lbS4lWScsCgkJCXRpbWU6ICclSDolTTolUyd9OwoJCWJyZWFrOwoJY2FzZSAnZnInOgoJCURhdGUuX2wxMG4gPSB7CgkJCWRheXM6IFsnZGltYW5jaGUnLCdsdW5kaScsJ21hcmRpJywnbWVyY3JlZGknLCdqZXVkaScsJ3ZlbmRyZWRpJywnc2FtZWRpJ10sCgkJCW1vbnRoczogWydqYW52aWVyJywnZlx1MDBFOXZyaWVyJywnbWFycycsJ2F2cmlsJywnbWFpJywnanVpbicsJ2p1aWxsZXQnLCdhb1x1MDBGQnQnLCdzZXB0ZW1icmUnLCdvY3RvYnJlJywnbm92ZW1icmUnLCdkZWNlbWJyZSddLAoJCQlkYXRlOiAnJWUvJW0vJVknLAoJCQl0aW1lOiAnJUg6JU06JVMnfTsKCQlicmVhazsKCWNhc2UgJ2l0JzoKCQlEYXRlLl9sMTBuID0gewoJCQlkYXlzOiBbJ2RvbWVuaWNhJywnbHVuZWRcdTAwRUMnLCdtYXJ0ZWRcdTAwRUMnLCdtZXJjb2xlZFx1MDBFQycsJ2dpb3ZlZFx1MDBFQycsJ3ZlbmVyZFx1MDBFQycsJ3NhYmF0byddLAoJCQltb250aHM6IFsnZ2VubmFpbycsJ2ZlYmJyYWlvJywnbWFyem8nLCdhcHJpbGUnLCdtYWdnaW8nLCdnaXVnbm8nLCdsdWdsaW8nLCdhZ29zdG8nLCdzZXR0ZW1icmUnLCdvdHRvYnJlJywnbm92ZW1icmUnLCdkaWNlbWJyZSddLAoJCQlkYXRlOiAnJWUvJW0vJXknLAoJCQl0aW1lOiAnJUguJU0uJVMnfTsKCQlicmVhazsKCWNhc2UgJ3B0JzoKCQlEYXRlLl9sMTBuID0gewoJCQlkYXlzOiBbJ0RvbWluZ28nLCdTZWd1bmRhLWZlaXJhJywnVGVyXHUwMEU3YS1mZWlyYScsJ1F1YXJ0YS1mZWlyYScsJ1F1aW50YS1mZWlyYScsJ1NleHRhLWZlaXJhJywnU1x1MDBFMWJhZG8nXSwKCQkJbW9udGhzOiBbJ0phbmVpcm8nLCdGZXZlcmVpcm8nLCdNYXJcdTAwRTdvJywnQWJyaWwnLCdNYWlvJywnSnVuaG8nLCdKdWxobycsJ0Fnb3N0bycsJ1NldGVtYnJvJywnT3V0dWJybycsJ05vdmVtYnJvJywnRGV6ZW1icm8nXSwKCQkJZGF0ZTogJyVlLyVtLyV5JywKCQkJdGltZTogJyVILiVNLiVTJ307CgkJYnJlYWs7CgljYXNlICdlbic6CglkZWZhdWx0OgoJCURhdGUuX2wxMG4gPSB7CgkJCWRheXM6IFsnU3VuZGF5JywnTW9uZGF5JywnVHVlc2RheScsJ1dlZG5lc2RheScsJ1RodXJzZGF5JywnRnJpZGF5JywnU2F0dXJkYXknXSwKCQkJbW9udGhzOiBbJ0phbnVhcnknLCdGZWJydWFyeScsJ01hcmNoJywnQXByaWwnLCdNYXknLCdKdW5lJywnSnVseScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09jdG9iZXInLCdOb3ZlbWJlcicsJ0RlY2VtYmVyJ10sCgkJCWRhdGU6ICclWS0lbS0lZScsCgkJCXRpbWU6ICclSDolTTolUyd9OwoJCWJyZWFrOwp9CkRhdGUuX3BhZCA9IGZ1bmN0aW9uKG51bSwgbGVuKSB7Cglmb3IgKHZhciBpID0gMTsgaSA8PSBsZW47IGkrKykKCQlpZiAobnVtIDwgTWF0aC5wb3coMTAsIGkpKQoJCQlyZXR1cm4gbmV3IEFycmF5KGxlbi1pKzEpLmpvaW4oMCkgKyBudW07CglyZXR1cm4gbnVtOwp9OwpEYXRlLnByb3RvdHlwZS5mb3JtYXQgPSBmdW5jdGlvbihmb3JtYXQpIHsKCWlmIChmb3JtYXQuaW5kZXhPZignJSUnKSA+IC0xKSB7IC8vIGEgbGl0ZXJhbCBgJScgY2hhcmFjdGVyCgkJZm9ybWF0ID0gZm9ybWF0LnNwbGl0KCclJScpOwoJCWZvciAodmFyIGkgPSAwOyBpIDwgZm9ybWF0Lmxlbmd0aDsgaSsrKQoJCQlmb3JtYXRbaV0gPSB0aGlzLmZvcm1hdChmb3JtYXRbaV0pOwoJCXJldHVybiBmb3JtYXQuam9pbignJScpOwoJfQoJZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoLyVEL2csICclbS8lZC8leScpOyAvLyBzYW1lIGFzICVtLyVkLyV5Cglmb3JtYXQgPSBmb3JtYXQucmVwbGFjZSgvJXIvZywgJyVJOiVNOiVTICVwJyk7IC8vIHRpbWUgaW4gYS5tLiBhbmQgcC5tLiBub3RhdGlvbgoJZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoLyVSL2csICclSDolTTolUycpOyAvLyB0aW1lIGluIDI0IGhvdXIgbm90YXRpb24KCWZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKC8lVC9nLCAnJUg6JU06JVMnKTsgLy8gY3VycmVudCB0aW1lLCBlcXVhbCB0byAlSDolTTolUwoJZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoLyV4L2csIERhdGUuX2wxMG4uZGF0ZSk7IC8vIHByZWZlcnJlZCBkYXRlIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgY3VycmVudCBsb2NhbGUgd2l0aG91dCB0aGUgdGltZQoJZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoLyVYL2csIERhdGUuX2wxMG4udGltZSk7IC8vIHByZWZlcnJlZCB0aW1lIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgY3VycmVudCBsb2NhbGUgd2l0aG91dCB0aGUgZGF0ZQoJdmFyIGRhdGVPYmogPSB0aGlzOwoJcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC8lKFthQWJoQmNDZGVnR0hJam1NbnBTdHVVVld3eVl6Wl0pL2csIGZ1bmN0aW9uKG1hdGNoMCwgbWF0Y2gxKSB7CgkJcmV0dXJuIGRhdGVPYmouZm9ybWF0X2NhbGxiYWNrKG1hdGNoMCwgbWF0Y2gxKTsKCX0pOwp9CkRhdGUucHJvdG90eXBlLmZvcm1hdF9jYWxsYmFjayA9IGZ1bmN0aW9uKG1hdGNoMCwgbWF0Y2gxKSB7Cglzd2l0Y2ggKG1hdGNoMSkgewoJCWNhc2UgJ2EnOiAvLyBhYmJyZXZpYXRlZCB3ZWVrZGF5IG5hbWUgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGxvY2FsZQoJCQlyZXR1cm4gRGF0ZS5fbDEwbi5kYXlzW3RoaXMuZ2V0RGF5KCldLnN1YnN0cigwLDMpOwoJCWNhc2UgJ0EnOiAvLyBmdWxsIHdlZWtkYXkgbmFtZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlCgkJCXJldHVybiBEYXRlLl9sMTBuLmRheXNbdGhpcy5nZXREYXkoKV07CgkJY2FzZSAnYic6CgkJY2FzZSAnaCc6IC8vIGFiYnJldmlhdGVkIG1vbnRoIG5hbWUgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGxvY2FsZQoJCQlyZXR1cm4gRGF0ZS5fbDEwbi5tb250aHNbdGhpcy5nZXRNb250aCgpXS5zdWJzdHIoMCwzKTsKCQljYXNlICdCJzogLy8gZnVsbCBtb250aCBuYW1lIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBsb2NhbGUKCQkJcmV0dXJuIERhdGUuX2wxMG4ubW9udGhzW3RoaXMuZ2V0TW9udGgoKV07CgkJY2FzZSAnYyc6IC8vIHByZWZlcnJlZCBkYXRlIGFuZCB0aW1lIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgY3VycmVudCBsb2NhbGUKCQkJcmV0dXJuIHRoaXMudG9Mb2NhbGVTdHJpbmcoKTsKCQljYXNlICdDJzogLy8gY2VudHVyeSBudW1iZXIgKHRoZSB5ZWFyIGRpdmlkZWQgYnkgMTAwIGFuZCB0cnVuY2F0ZWQgdG8gYW4gaW50ZWdlciwgcmFuZ2UgMDAgdG8gOTkpCgkJCXJldHVybiBNYXRoLmZsb29yKHRoaXMuZ2V0RnVsbFllYXIoKSAvIDEwMCk7CgkJY2FzZSAnZCc6IC8vIGRheSBvZiB0aGUgbW9udGggYXMgYSBkZWNpbWFsIG51bWJlciAocmFuZ2UgMDEgdG8gMzEpCgkJCXJldHVybiBEYXRlLl9wYWQodGhpcy5nZXREYXRlKCksIDIpOwoJCWNhc2UgJ2UnOiAvLyBkYXkgb2YgdGhlIG1vbnRoIGFzIGEgZGVjaW1hbCBudW1iZXIsIGEgc2luZ2xlIGRpZ2l0IGlzIHByZWNlZGVkIGJ5IGEgc3BhY2UgKHJhbmdlICcgMScgdG8gJzMxJykKCQkJcmV0dXJuIERhdGUuX3BhZCh0aGlzLmdldERhdGUoKSwgMik7CgkJLypjYXNlICdnJzogLy8gbGlrZSAlRywgYnV0IHdpdGhvdXQgdGhlIGNlbnR1cnkKCQkJcmV0dXJuIDsKCQljYXNlICdHJzogLy8gVGhlIDQtZGlnaXQgeWVhciBjb3JyZXNwb25kaW5nIHRvIHRoZSBJU08gd2VlayBudW1iZXIgKHNlZSAlVikuIFRoaXMgaGFzIHRoZSBzYW1lIGZvcm1hdCBhbmQgdmFsdWUgYXMgJVksIGV4Y2VwdCB0aGF0IGlmIHRoZSBJU08gd2VlayBudW1iZXIgYmVsb25ncyB0byB0aGUgcHJldmlvdXMgb3IgbmV4dCB5ZWFyLCB0aGF0IHllYXIgaXMgdXNlZCBpbnN0ZWFkCgkJCXJldHVybiA7Ki8KCQljYXNlICdIJzogLy8gaG91ciBhcyBhIGRlY2ltYWwgbnVtYmVyIHVzaW5nIGEgMjQtaG91ciBjbG9jayAocmFuZ2UgMDAgdG8gMjMpCgkJCXJldHVybiBEYXRlLl9wYWQodGhpcy5nZXRIb3VycygpLCAyKTsKCQljYXNlICdJJzogLy8gaG91ciBhcyBhIGRlY2ltYWwgbnVtYmVyIHVzaW5nIGEgMTItaG91ciBjbG9jayAocmFuZ2UgMDEgdG8gMTIpCgkJCXJldHVybiBEYXRlLl9wYWQodGhpcy5nZXRIb3VycygpICUgMTIsIDIpOwoJCWNhc2UgJ2onOiAvLyBkYXkgb2YgdGhlIHllYXIgYXMgYSBkZWNpbWFsIG51bWJlciAocmFuZ2UgMDAxIHRvIDM2NikKCQkJcmV0dXJuIERhdGUuX3BhZCh0aGlzLmdldE1vbnRoKCkgKiAzMCArIE1hdGguY2VpbCh0aGlzLmdldE1vbnRoKCkgLyAyKSArIHRoaXMuZ2V0RGF5KCkgLSAyICogKHRoaXMuZ2V0TW9udGgoKSA+IDEpICsgKCEodGhpcy5nZXRGdWxsWWVhcigpICUgNDAwKSB8fCAoISh0aGlzLmdldEZ1bGxZZWFyKCkgJSA0KSAmJiB0aGlzLmdldEZ1bGxZZWFyKCkgJSAxMDApKSwgMyk7CgkJY2FzZSAnbSc6IC8vIG1vbnRoIGFzIGEgZGVjaW1hbCBudW1iZXIgKHJhbmdlIDAxIHRvIDEyKQoJCQlyZXR1cm4gRGF0ZS5fcGFkKHRoaXMuZ2V0TW9udGgoKSArIDEsIDIpOwoJCWNhc2UgJ00nOiAvLyBtaW51dGUgYXMgYSBkZWNpbWFsIG51bWJlcgoJCQlyZXR1cm4gRGF0ZS5fcGFkKHRoaXMuZ2V0TWludXRlcygpLCAyKTsKCQljYXNlICduJzogLy8gbmV3bGluZSBjaGFyYWN0ZXIKCQkJcmV0dXJuICdcbic7CgkJY2FzZSAncCc6IC8vIGVpdGhlciBgYW0nIG9yIGBwbScgYWNjb3JkaW5nIHRvIHRoZSBnaXZlbiB0aW1lIHZhbHVlLCBvciB0aGUgY29ycmVzcG9uZGluZyBzdHJpbmdzIGZvciB0aGUgY3VycmVudCBsb2NhbGUKCQkJcmV0dXJuIHRoaXMuZ2V0SG91cnMoKSA8IDEyID8gJ2FtJyA6ICdwbSc7CgkJY2FzZSAnUyc6IC8vIHNlY29uZCBhcyBhIGRlY2ltYWwgbnVtYmVyCgkJCXJldHVybiBEYXRlLl9wYWQodGhpcy5nZXRTZWNvbmRzKCksIDIpOwoJCWNhc2UgJ3QnOiAvLyB0YWIgY2hhcmFjdGVyCgkJCXJldHVybiAnXHQnOwoJCWNhc2UgJ3UnOiAvLyB3ZWVrZGF5IGFzIGEgZGVjaW1hbCBudW1iZXIgWzEsN10sIHdpdGggMSByZXByZXNlbnRpbmcgTW9uZGF5CgkJCXJldHVybiB0aGlzLmdldERheSgpIHx8IDc7CgkJLypjYXNlICdVJzogLy8gd2VlayBudW1iZXIgb2YgdGhlIGN1cnJlbnQgeWVhciBhcyBhIGRlY2ltYWwgbnVtYmVyLCBzdGFydGluZyB3aXRoIHRoZSBmaXJzdCBTdW5kYXkgYXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgZmlyc3Qgd2VlawoJCQlyZXR1cm4gOwoJCWNhc2UgJ1YnOiAvLyBUaGUgSVNPIDg2MDE6MTk4OCB3ZWVrIG51bWJlciBvZiB0aGUgY3VycmVudCB5ZWFyIGFzIGEgZGVjaW1hbCBudW1iZXIsIHJhbmdlIDAxIHRvIDUzLCB3aGVyZSB3ZWVrIDEgaXMgdGhlIGZpcnN0IHdlZWsgdGhhdCBoYXMgYXQgbGVhc3QgNCBkYXlzIGluIHRoZSBjdXJyZW50IHllYXIsIGFuZCB3aXRoIE1vbmRheSBhcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLiAoVXNlICVHIG9yICVnIGZvciB0aGUgeWVhciBjb21wb25lbnQgdGhhdCBjb3JyZXNwb25kcyB0byB0aGUgd2VlayBudW1iZXIgZm9yIHRoZSBzcGVjaWZpZWQgdGltZXN0YW1wLikKCQkJcmV0dXJuIDsKCQljYXNlICdXJzogLy8gd2VlayBudW1iZXIgb2YgdGhlIGN1cnJlbnQgeWVhciBhcyBhIGRlY2ltYWwgbnVtYmVyLCBzdGFydGluZyB3aXRoIHRoZSBmaXJzdCBNb25kYXkgYXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgZmlyc3Qgd2VlawoJCQlyZXR1cm4gOyovCgkJY2FzZSAndyc6IC8vIGRheSBvZiB0aGUgd2VlayBhcyBhIGRlY2ltYWwsIFN1bmRheSBiZWluZyAwCgkJCXJldHVybiB0aGlzLmdldERheSgpOwoJCWNhc2UgJ3knOiAvLyB5ZWFyIGFzIGEgZGVjaW1hbCBudW1iZXIgd2l0aG91dCBhIGNlbnR1cnkgKHJhbmdlIDAwIHRvIDk5KQoJCQlyZXR1cm4gdGhpcy5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCkuc3Vic3RyKDIpOwoJCWNhc2UgJ1knOiAvLyB5ZWFyIGFzIGEgZGVjaW1hbCBudW1iZXIgaW5jbHVkaW5nIHRoZSBjZW50dXJ5CgkJCXJldHVybiB0aGlzLmdldEZ1bGxZZWFyKCk7CgkJLypjYXNlICd6JzoKCQljYXNlICdaJzogLy8gdGltZSB6b25lIG9yIG5hbWUgb3IgYWJicmV2aWF0aW9uCgkJCXJldHVybiA7Ki8KCQlkZWZhdWx0OgoJCQlyZXR1cm4gbWF0Y2gwOwoJfQp9CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKCS8qKiBQcmludHMgdGhlIGRhdGUgaW4gYSBzdHJpbmcgYWNjb3JkaW5nIHRvIHRoZSBnaXZlbiBmb3JtYXQuICovCglEYXRlLnByb3RvdHlwZS5wcmludCA9IGZ1bmN0aW9uIChzdHIpIHsKCQlyZXR1cm4gdGhpcy5mb3JtYXQoc3RyKTsKCQkvKgoJCXZhciBtID0gdGhpcy5nZXRNb250aCgpOwoJCXZhciBkID0gdGhpcy5nZXREYXRlKCk7CgkJdmFyIHkgPSB0aGlzLmdldEZ1bGxZZWFyKCk7CgkJdmFyIHduID0gdGhpcy5nZXRXZWVrTnVtYmVyKCk7CgkJdmFyIHcgPSB0aGlzLmdldERheSgpOwoJCXZhciBzID0ge307CgkJdmFyIGhyID0gdGhpcy5nZXRIb3VycygpOwoJCXZhciBwbSA9IChociA+PSAxMik7CgkJdmFyIGlyID0gKHBtKSA/IChociAtIDEyKSA6IGhyOwoJCXZhciBkeSA9IHRoaXMuZ2V0RGF5T2ZZZWFyKCk7CgkJaWYgKGlyID09IDApCgkJCWlyID0gMTI7CgkJdmFyIG1pbiA9IHRoaXMuZ2V0TWludXRlcygpOwoJCXZhciBzZWMgPSB0aGlzLmdldFNlY29uZHMoKTsKCQlzWyIlYSJdID0gQ2FsZW5kYXIuU0hPUlRfREFZX05BTUVTW3ddOyAvLyBhYmJyZXZpYXRlZCB3ZWVrZGF5IG5hbWUgW0ZJWE1FOiBJMThOXQoJCXNbIiVBIl0gPSBDYWxlbmRhci5EQVlfTkFNRVNbd107IC8vIGZ1bGwgd2Vla2RheSBuYW1lCgkJc1siJWIiXSA9IENhbGVuZGFyLlNIT1JUX01PTlRIX05BTUVTW21dOyAvLyBhYmJyZXZpYXRlZCBtb250aCBuYW1lIFtGSVhNRTogSTE4Tl0KCQlzWyIlQiJdID0gQ2FsZW5kYXIuTU9OVEhfTkFNRVNbbV07IC8vIGZ1bGwgbW9udGggbmFtZQoJCS8vIEZJWE1FOiAlYyA6IHByZWZlcnJlZCBkYXRlIGFuZCB0aW1lIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgY3VycmVudCBsb2NhbGUKCQlzWyIlQyJdID0gMSArIE1hdGguZmxvb3IoeSAvIDEwMCk7IC8vIHRoZSBjZW50dXJ5IG51bWJlcgoJCXNbIiVkIl0gPSAoZCA8IDEwKSA/ICgiMCIgKyBkKSA6IGQ7IC8vIHRoZSBkYXkgb2YgdGhlIG1vbnRoIChyYW5nZSAwMSB0byAzMSkKCQlzWyIlZSJdID0gZDsgLy8gdGhlIGRheSBvZiB0aGUgbW9udGggKHJhbmdlIDEgdG8gMzEpCgkJLy8gRklYTUU6ICVEIDogYW1lcmljYW4gZGF0ZSBzdHlsZTogJW0vJWQvJXkKCQkvLyBGSVhNRTogJUUsICVGLCAlRywgJWcsICVoIChtYW4gc3RyZnRpbWUpCgkJc1siJUgiXSA9IChociA8IDEwKSA/ICgiMCIgKyBocikgOiBocjsgLy8gaG91ciwgcmFuZ2UgMDAgdG8gMjMgKDI0aCBmb3JtYXQpCgkJc1siJUkiXSA9IChpciA8IDEwKSA/ICgiMCIgKyBpcikgOiBpcjsgLy8gaG91ciwgcmFuZ2UgMDEgdG8gMTIgKDEyaCBmb3JtYXQpCgkJc1siJWoiXSA9IChkeSA8IDEwMCkgPyAoKGR5IDwgMTApID8gKCIwMCIgKyBkeSkgOiAoIjAiICsgZHkpKSA6IGR5OyAvLyBkYXkgb2YgdGhlIHllYXIgKHJhbmdlIDAwMSB0byAzNjYpCgkJc1siJWsiXSA9IGhyOyAgIC8vIGhvdXIsIHJhbmdlIDAgdG8gMjMgKDI0aCBmb3JtYXQpCgkJc1siJWwiXSA9IGlyOyAgIC8vIGhvdXIsIHJhbmdlIDEgdG8gMTIgKDEyaCBmb3JtYXQpCgkJc1siJW0iXSA9IChtIDwgOSkgPyAoIjAiICsgKDErbSkpIDogKDErbSk7IC8vIG1vbnRoLCByYW5nZSAwMSB0byAxMgoJCXNbIiVNIl0gPSAobWluIDwgMTApID8gKCIwIiArIG1pbikgOiBtaW47IC8vIG1pbnV0ZSwgcmFuZ2UgMDAgdG8gNTkKCQlzWyIlbiJdID0gIlxuIjsgICAvLyBhIG5ld2xpbmUgY2hhcmFjdGVyCgkJc1siJXAiXSA9IHBtID8gIlBNIiA6ICJBTSI7CgkJc1siJVAiXSA9IHBtID8gInBtIiA6ICJhbSI7CgkJLy8gRklYTUU6ICVyIDogdGhlIHRpbWUgaW4gYW0vcG0gbm90YXRpb24gJUk6JU06JVMgJXAKCQkvLyBGSVhNRTogJVIgOiB0aGUgdGltZSBpbiAyNC1ob3VyIG5vdGF0aW9uICVIOiVNCgkJc1siJXMiXSA9IE1hdGguZmxvb3IodGhpcy5nZXRUaW1lKCkgLyAxMDAwKTsKCQlzWyIlUyJdID0gKHNlYyA8IDEwKSA/ICgiMCIgKyBzZWMpIDogc2VjOyAvLyBzZWNvbmRzLCByYW5nZSAwMCB0byA1OQoJCXNbIiV0Il0gPSAiXHQiOyAgIC8vIGEgdGFiIGNoYXJhY3RlcgoJCS8vIEZJWE1FOiAlVCA6IHRoZSB0aW1lIGluIDI0LWhvdXIgbm90YXRpb24gKCVIOiVNOiVTKQoJCXNbIiVVIl0gPSBzWyIlVyJdID0gc1siJVYiXSA9ICh3biA8IDEwKSA/ICgiMCIgKyB3bikgOiB3bjsKCQlzWyIldSJdID0gdyArIDE7ICAvLyB0aGUgZGF5IG9mIHRoZSB3ZWVrIChyYW5nZSAxIHRvIDcsIDEgPSBNT04pCgkJc1siJXciXSA9IHc7ICAgIC8vIHRoZSBkYXkgb2YgdGhlIHdlZWsgKHJhbmdlIDAgdG8gNiwgMCA9IFNVTikKCQkvLyBGSVhNRTogJXggOiBwcmVmZXJyZWQgZGF0ZSByZXByZXNlbnRhdGlvbiBmb3IgdGhlIGN1cnJlbnQgbG9jYWxlIHdpdGhvdXQgdGhlIHRpbWUKCQkvLyBGSVhNRTogJVggOiBwcmVmZXJyZWQgdGltZSByZXByZXNlbnRhdGlvbiBmb3IgdGhlIGN1cnJlbnQgbG9jYWxlIHdpdGhvdXQgdGhlIGRhdGUKCQlzWyIleSJdID0gKCcnICsgeSkuc3Vic3RyKDIsIDIpOyAvLyB5ZWFyIHdpdGhvdXQgdGhlIGNlbnR1cnkgKHJhbmdlIDAwIHRvIDk5KQoJCXNbIiVZIl0gPSB5OyAgICAvLyB5ZWFyIHdpdGggdGhlIGNlbnR1cnkKCQlzWyIlJSJdID0gIiUiOyAgICAvLyBhIGxpdGVyYWwgJyUnIGNoYXJhY3RlcgoKCQl2YXIgcmUgPSAvJS4vZzsKCQl2YXIgYSA9IHN0ci5tYXRjaChyZSk7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSsrKSB7CgkJCXZhciB0bXAgPSBzW2FbaV1dOwoJCQlpZiAodG1wKSB7CgkJCQlyZSA9IG5ldyBSZWdFeHAoYVtpXSwgJ2cnKTsKCQkJCXN0ciA9IHN0ci5yZXBsYWNlKHJlLCB0bXApOwoJCQl9CgkJfQoKCQlyZXR1cm4gc3RyOwoJCSovCgl9OwoKCURhdGUucHJvdG90eXBlLl9fbXNoX29sZFNldEZ1bGxZZWFyID0gRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXI7CglEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhciA9IGZ1bmN0aW9uKHkpIHsKCQl2YXIgZCA9IG5ldyBEYXRlKHRoaXMpOwoJCWQuX19tc2hfb2xkU2V0RnVsbFllYXIoeSk7CgkJaWYgKGQuZ2V0TW9udGgoKSAhPSB0aGlzLmdldE1vbnRoKCkpCgkJCXRoaXMuc2V0RGF0ZSgyOCk7CgkJdGhpcy5fX21zaF9vbGRTZXRGdWxsWWVhcih5KTsKCX0KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gVGhlIGpRdWVyeSBwbHVnaW4gZnVuY3Rpb24KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkkLmZuLmNhbGVuZGFyID0gZnVuY3Rpb24ob3B0aW9ucykgewoJCXZhciBkZWZhdWx0cyA9IHsKCQkJdHJpZ2dlckVsZW1lbnQ6IG51bGwsIC8vIFBvcHVwIGNhbGVuZGFyCgkJCXBhcmVudEVsZW1lbnQ6IG51bGwsIC8vIElubGluZSBjYWxlbmRhcgoJCQltaW5ZZWFyOiAxOTAwLAoJCQltYXhZZWFyOiAyMTAwLAoJCQlmaXJzdERheU9mV2VlazogMSwgLy8gTW9uZGF5CgkJCXdlZWtlbmQ6ICIwLDYiLCAvLyBTdW5kYXkgYW5kIFNhdHVyZGF5CgkJCWRhdGVGb3JtYXQ6ICclWS0lbS0lZCcsCgkJCWRhdGVGaWVsZDogbnVsbCwKCQkJc2VsZWN0SGFuZGxlcjogbnVsbCwKCQkJY2xvc2VIYW5kbGVyOiBudWxsCgkJfTsKCQl2YXIgc2V0dGluZ3MgPSAkLmV4dGVuZCh7fSwgZGVmYXVsdHMsIG9wdGlvbnMpOwoKCQl0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCXZhciBzZWxmID0gJCh0aGlzKTsKCQkJdmFyIGNhbGVuZGFyID0gbmV3IENhbGVuZGFyKCk7CgoJCQljYWxlbmRhci5taW5ZZWFyID0gc2V0dGluZ3MubWluWWVhcjsKCQkJY2FsZW5kYXIubWF4WWVhciA9IHNldHRpbmdzLm1heFllYXI7CgoJCQljYWxlbmRhci5maXJzdERheU9mV2VlayA9IHNldHRpbmdzLmZpcnN0RGF5T2ZXZWVrOwoJCQljYWxlbmRhci53ZWVrZW5kID0gc2V0dGluZ3Mud2Vla2VuZDsKCQkJY2FsZW5kYXIuZGF0ZUZvcm1hdCA9IHNldHRpbmdzLmRhdGVGb3JtYXQ7CgkJCWNhbGVuZGFyLmRhdGVGaWVsZCA9IChzZXR0aW5ncy5kYXRlRmllbGQgfHwgc2VsZik7CgoJCQljYWxlbmRhci5zZWxlY3RIYW5kbGVyID0gKHNldHRpbmdzLnNlbGVjdEhhbmRsZXIgfHwgQ2FsZW5kYXIuZGVmYXVsdFNlbGVjdEhhbmRsZXIpOwoKCQkJLy8gSW5saW5lIENhbGVuZGFyCgkJCXZhciBzZWxmRGF0ZSA9IHNlbGYuaHRtbCgpIHx8IHNlbGYudmFsKCk7CgkJCWlmIChzZXR0aW5ncy5wYXJlbnRFbGVtZW50KSB7CgkJCQljYWxlbmRhci5jcmVhdGUoJChzZXR0aW5ncy5wYXJlbnRFbGVtZW50KSk7CgkJCQlpZiAoc2VsZkRhdGUpIGNhbGVuZGFyLnBhcnNlRGF0ZShzZWxmRGF0ZSk7CgkJCQljYWxlbmRhci5zaG93KCk7CgkJCX0gZWxzZSB7CgkJCQkvLyBQb3B1cCBDYWxlbmRhcgoJCQkJY2FsZW5kYXIuY3JlYXRlKCk7CgkJCQlpZiAoc2VsZkRhdGUpIGNhbGVuZGFyLnBhcnNlRGF0ZShzZWxmRGF0ZSk7CgkJCQl2YXIgdHJpZ2dlckVsZW1lbnQgPSAkKHNldHRpbmdzLnRyaWdnZXJFbGVtZW50IHx8IHNlbGYpOwoJCQkJdHJpZ2dlckVsZW1lbnQuY2xpY2soZnVuY3Rpb24oKSB7CgkJCQkJY2FsZW5kYXIuY2xvc2VIYW5kbGVyID0gKHNldHRpbmdzLmNsb3NlSGFuZGxlciB8fCBDYWxlbmRhci5kZWZhdWx0Q2xvc2VIYW5kbGVyKTsKCQkJCQljYWxlbmRhci5zaG93QXRFbGVtZW50KHRyaWdnZXJFbGVtZW50KTsKCQkJCX0pOwoJCQl9CgkJfSk7CgoJCXJldHVybiB0aGlzOwoJfQoKfSkoalF1ZXJ5KTsKLyohCiAqIGpRdWVyeSBGb3JtIFBsdWdpbgogKiB2ZXJzaW9uOiAyLjQzICgxMi1NQVItMjAxMCkKICogQHJlcXVpcmVzIGpRdWVyeSB2MS4zLjIgb3IgbGF0ZXIKICoKICogRXhhbXBsZXMgYW5kIGRvY3VtZW50YXRpb24gYXQ6IGh0dHA6Ly9tYWxzdXAuY29tL2pxdWVyeS9mb3JtLwogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlczoKICogICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocAogKiAgIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbAogKi8KKGZ1bmN0aW9uKCQpIHskLmZuLmFqYXhTdWJtaXQ9ZnVuY3Rpb24ob3B0aW9ucyl7aWYoIXRoaXMubGVuZ3RoKXtsb2coJ2FqYXhTdWJtaXQ6IHNraXBwaW5nIHN1Ym1pdCBwcm9jZXNzIC0gbm8gZWxlbWVudCBzZWxlY3RlZCcpO3JldHVybiB0aGlzfWlmKHR5cGVvZiBvcHRpb25zPT0nZnVuY3Rpb24nKW9wdGlvbnM9e3N1Y2Nlc3M6b3B0aW9uc307dmFyIHVybD0kLnRyaW0odGhpcy5hdHRyKCdhY3Rpb24nKSk7aWYodXJsKXt1cmw9KHVybC5tYXRjaCgvXihbXiNdKykvKXx8W10pWzFdfXVybD11cmx8fHdpbmRvdy5sb2NhdGlvbi5ocmVmfHwnJztvcHRpb25zPSQuZXh0ZW5kKHt1cmw6dXJsLHR5cGU6dGhpcy5hdHRyKCdtZXRob2QnKXx8J0dFVCcsaWZyYW1lU3JjOi9eaHR0cHMvaS50ZXN0KHdpbmRvdy5sb2NhdGlvbi5ocmVmfHwnJyk/J2phdmFzY3JpcHQ6ZmFsc2UnOidhYm91dDpibGFuayd9LG9wdGlvbnN8fHt9KTt2YXIgdmV0bz17fTt0aGlzLnRyaWdnZXIoJ2Zvcm0tcHJlLXNlcmlhbGl6ZScsW3RoaXMsb3B0aW9ucyx2ZXRvXSk7aWYodmV0by52ZXRvKXtsb2coJ2FqYXhTdWJtaXQ6IHN1Ym1pdCB2ZXRvZWQgdmlhIGZvcm0tcHJlLXNlcmlhbGl6ZSB0cmlnZ2VyJyk7cmV0dXJuIHRoaXN9aWYob3B0aW9ucy5iZWZvcmVTZXJpYWxpemUmJm9wdGlvbnMuYmVmb3JlU2VyaWFsaXplKHRoaXMsb3B0aW9ucyk9PT1mYWxzZSl7bG9nKCdhamF4U3VibWl0OiBzdWJtaXQgYWJvcnRlZCB2aWEgYmVmb3JlU2VyaWFsaXplIGNhbGxiYWNrJyk7cmV0dXJuIHRoaXN9dmFyIGE9dGhpcy5mb3JtVG9BcnJheShvcHRpb25zLnNlbWFudGljKTtpZihvcHRpb25zLmRhdGEpe29wdGlvbnMuZXh0cmFEYXRhPW9wdGlvbnMuZGF0YTtmb3IodmFyIG4gaW4gb3B0aW9ucy5kYXRhKXtpZihvcHRpb25zLmRhdGFbbl1pbnN0YW5jZW9mIEFycmF5KXtmb3IodmFyIGsgaW4gb3B0aW9ucy5kYXRhW25dKWEucHVzaCh7bmFtZTpuLHZhbHVlOm9wdGlvbnMuZGF0YVtuXVtrXX0pfWVsc2UgYS5wdXNoKHtuYW1lOm4sdmFsdWU6b3B0aW9ucy5kYXRhW25dfSl9fWlmKG9wdGlvbnMuYmVmb3JlU3VibWl0JiZvcHRpb25zLmJlZm9yZVN1Ym1pdChhLHRoaXMsb3B0aW9ucyk9PT1mYWxzZSl7bG9nKCdhamF4U3VibWl0OiBzdWJtaXQgYWJvcnRlZCB2aWEgYmVmb3JlU3VibWl0IGNhbGxiYWNrJyk7cmV0dXJuIHRoaXN9dGhpcy50cmlnZ2VyKCdmb3JtLXN1Ym1pdC12YWxpZGF0ZScsW2EsdGhpcyxvcHRpb25zLHZldG9dKTtpZih2ZXRvLnZldG8pe2xvZygnYWpheFN1Ym1pdDogc3VibWl0IHZldG9lZCB2aWEgZm9ybS1zdWJtaXQtdmFsaWRhdGUgdHJpZ2dlcicpO3JldHVybiB0aGlzfXZhciBxPSQucGFyYW0oYSk7aWYob3B0aW9ucy50eXBlLnRvVXBwZXJDYXNlKCk9PSdHRVQnKXtvcHRpb25zLnVybCs9KG9wdGlvbnMudXJsLmluZGV4T2YoJz8nKT49MD8nJic6Jz8nKStxO29wdGlvbnMuZGF0YT1udWxsfWVsc2Ugb3B0aW9ucy5kYXRhPXE7dmFyICRmb3JtPXRoaXMsY2FsbGJhY2tzPVtdO2lmKG9wdGlvbnMucmVzZXRGb3JtKWNhbGxiYWNrcy5wdXNoKGZ1bmN0aW9uKCl7JGZvcm0ucmVzZXRGb3JtKCl9KTtpZihvcHRpb25zLmNsZWFyRm9ybSljYWxsYmFja3MucHVzaChmdW5jdGlvbigpeyRmb3JtLmNsZWFyRm9ybSgpfSk7aWYoIW9wdGlvbnMuZGF0YVR5cGUmJm9wdGlvbnMudGFyZ2V0KXt2YXIgb2xkU3VjY2Vzcz1vcHRpb25zLnN1Y2Nlc3N8fGZ1bmN0aW9uKCl7fTtjYWxsYmFja3MucHVzaChmdW5jdGlvbihkYXRhKXt2YXIgZm49b3B0aW9ucy5yZXBsYWNlVGFyZ2V0PydyZXBsYWNlV2l0aCc6J2h0bWwnOyQob3B0aW9ucy50YXJnZXQpW2ZuXShkYXRhKS5lYWNoKG9sZFN1Y2Nlc3MsYXJndW1lbnRzKX0pfWVsc2UgaWYob3B0aW9ucy5zdWNjZXNzKWNhbGxiYWNrcy5wdXNoKG9wdGlvbnMuc3VjY2Vzcyk7b3B0aW9ucy5zdWNjZXNzPWZ1bmN0aW9uKGRhdGEsc3RhdHVzLHhocil7Zm9yKHZhciBpPTAsbWF4PWNhbGxiYWNrcy5sZW5ndGg7aTxtYXg7aSsrKWNhbGxiYWNrc1tpXS5hcHBseShvcHRpb25zLFtkYXRhLHN0YXR1cyx4aHJ8fCRmb3JtLCRmb3JtXSl9O3ZhciBmaWxlcz0kKCdpbnB1dDpmaWxlJyx0aGlzKS5maWVsZFZhbHVlKCk7dmFyIGZvdW5kPWZhbHNlO2Zvcih2YXIgaj0wO2o8ZmlsZXMubGVuZ3RoO2orKylpZihmaWxlc1tqXSlmb3VuZD10cnVlO3ZhciBtdWx0aXBhcnQ9ZmFsc2U7aWYoKGZpbGVzLmxlbmd0aCYmb3B0aW9ucy5pZnJhbWUhPT1mYWxzZSl8fG9wdGlvbnMuaWZyYW1lfHxmb3VuZHx8bXVsdGlwYXJ0KXtpZihvcHRpb25zLmNsb3NlS2VlcEFsaXZlKSQuZ2V0KG9wdGlvbnMuY2xvc2VLZWVwQWxpdmUsZmlsZVVwbG9hZCk7ZWxzZSBmaWxlVXBsb2FkKCl9ZWxzZSAkLmFqYXgob3B0aW9ucyk7dGhpcy50cmlnZ2VyKCdmb3JtLXN1Ym1pdC1ub3RpZnknLFt0aGlzLG9wdGlvbnNdKTtyZXR1cm4gdGhpcztmdW5jdGlvbiBmaWxlVXBsb2FkKCl7dmFyIGZvcm09JGZvcm1bMF07aWYoJCgnOmlucHV0W25hbWU9c3VibWl0XScsZm9ybSkubGVuZ3RoKXthbGVydCgnRXJyb3I6IEZvcm0gZWxlbWVudHMgbXVzdCBub3QgYmUgbmFtZWQgInN1Ym1pdCIuJyk7cmV0dXJufXZhciBvcHRzPSQuZXh0ZW5kKHt9LCQuYWpheFNldHRpbmdzLG9wdGlvbnMpO3ZhciBzPSQuZXh0ZW5kKHRydWUse30sJC5leHRlbmQodHJ1ZSx7fSwkLmFqYXhTZXR0aW5ncyksb3B0cyk7dmFyIGlkPSdqcUZvcm1JTycrKG5ldyBEYXRlKCkuZ2V0VGltZSgpKTt2YXIgJGlvPSQoJzxpZnJhbWUgaWQ9IicraWQrJyIgbmFtZT0iJytpZCsnIiBzcmM9Iicrb3B0cy5pZnJhbWVTcmMrJyIgb25sb2FkPSIoalF1ZXJ5KHRoaXMpLmRhdGEoXCdmb3JtLXBsdWdpbi1vbmxvYWRcJykpKCkiIC8+Jyk7dmFyIGlvPSRpb1swXTskaW8uY3NzKHtwb3NpdGlvbjonYWJzb2x1dGUnLHRvcDonLTEwMDBweCcsbGVmdDonLTEwMDBweCd9KTt2YXIgeGhyPXthYm9ydGVkOjAscmVzcG9uc2VUZXh0Om51bGwscmVzcG9uc2VYTUw6bnVsbCxzdGF0dXM6MCxzdGF0dXNUZXh0OiduL2EnLGdldEFsbFJlc3BvbnNlSGVhZGVyczpmdW5jdGlvbigpe30sZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rpb24oKXt9LHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oKXt9LGFib3J0OmZ1bmN0aW9uKCl7dGhpcy5hYm9ydGVkPTE7JGlvLmF0dHIoJ3NyYycsb3B0cy5pZnJhbWVTcmMpfX07dmFyIGc9b3B0cy5nbG9iYWw7aWYoZyYmISQuYWN0aXZlKyspJC5ldmVudC50cmlnZ2VyKCJhamF4U3RhcnQiKTtpZihnKSQuZXZlbnQudHJpZ2dlcigiYWpheFNlbmQiLFt4aHIsb3B0c10pO2lmKHMuYmVmb3JlU2VuZCYmcy5iZWZvcmVTZW5kKHhocixzKT09PWZhbHNlKXtzLmdsb2JhbCYmJC5hY3RpdmUtLTtyZXR1cm59aWYoeGhyLmFib3J0ZWQpcmV0dXJuO3ZhciBjYkludm9rZWQ9ZmFsc2U7dmFyIHRpbWVkT3V0PTA7dmFyIHN1Yj1mb3JtLmNsaztpZihzdWIpe3ZhciBuPXN1Yi5uYW1lO2lmKG4mJiFzdWIuZGlzYWJsZWQpe29wdHMuZXh0cmFEYXRhPW9wdHMuZXh0cmFEYXRhfHx7fTtvcHRzLmV4dHJhRGF0YVtuXT1zdWIudmFsdWU7aWYoc3ViLnR5cGU9PSJpbWFnZSIpe29wdHMuZXh0cmFEYXRhW24rJy54J109Zm9ybS5jbGtfeDtvcHRzLmV4dHJhRGF0YVtuKycueSddPWZvcm0uY2xrX3l9fX1mdW5jdGlvbiBkb1N1Ym1pdCgpe3ZhciB0PSRmb3JtLmF0dHIoJ3RhcmdldCcpLGE9JGZvcm0uYXR0cignYWN0aW9uJyk7Zm9ybS5zZXRBdHRyaWJ1dGUoJ3RhcmdldCcsaWQpO2lmKGZvcm0uZ2V0QXR0cmlidXRlKCdtZXRob2QnKSE9J1BPU1QnKWZvcm0uc2V0QXR0cmlidXRlKCdtZXRob2QnLCdQT1NUJyk7aWYoZm9ybS5nZXRBdHRyaWJ1dGUoJ2FjdGlvbicpIT1vcHRzLnVybClmb3JtLnNldEF0dHJpYnV0ZSgnYWN0aW9uJyxvcHRzLnVybCk7aWYoIW9wdHMuc2tpcEVuY29kaW5nT3ZlcnJpZGUpeyRmb3JtLmF0dHIoe2VuY29kaW5nOidtdWx0aXBhcnQvZm9ybS1kYXRhJyxlbmN0eXBlOidtdWx0aXBhcnQvZm9ybS1kYXRhJ30pfWlmKG9wdHMudGltZW91dClzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGltZWRPdXQ9dHJ1ZTtjYigpfSxvcHRzLnRpbWVvdXQpO3ZhciBleHRyYUlucHV0cz1bXTt0cnl7aWYob3B0cy5leHRyYURhdGEpZm9yKHZhciBuIGluIG9wdHMuZXh0cmFEYXRhKWV4dHJhSW5wdXRzLnB1c2goJCgnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJytuKyciIHZhbHVlPSInK29wdHMuZXh0cmFEYXRhW25dKyciIC8+JykuYXBwZW5kVG8oZm9ybSlbMF0pOyRpby5hcHBlbmRUbygnYm9keScpOyRpby5kYXRhKCdmb3JtLXBsdWdpbi1vbmxvYWQnLGNiKTtmb3JtLnN1Ym1pdCgpfWZpbmFsbHl7Zm9ybS5zZXRBdHRyaWJ1dGUoJ2FjdGlvbicsYSk7dD9mb3JtLnNldEF0dHJpYnV0ZSgndGFyZ2V0Jyx0KTokZm9ybS5yZW1vdmVBdHRyKCd0YXJnZXQnKTskKGV4dHJhSW5wdXRzKS5yZW1vdmUoKX19O2lmKG9wdHMuZm9yY2VTeW5jKWRvU3VibWl0KCk7ZWxzZSBzZXRUaW1lb3V0KGRvU3VibWl0LDEwKTt2YXIgZG9tQ2hlY2tDb3VudD0xMDA7ZnVuY3Rpb24gY2IoKXtpZihjYkludm9rZWQpcmV0dXJuO3ZhciBvaz10cnVlO3RyeXtpZih0aW1lZE91dCl0aHJvdyd0aW1lb3V0Jzt2YXIgZGF0YSxkb2M7ZG9jPWlvLmNvbnRlbnRXaW5kb3c/aW8uY29udGVudFdpbmRvdy5kb2N1bWVudDppby5jb250ZW50RG9jdW1lbnQ/aW8uY29udGVudERvY3VtZW50OmlvLmRvY3VtZW50O3ZhciBpc1htbD1vcHRzLmRhdGFUeXBlPT0neG1sJ3x8ZG9jLlhNTERvY3VtZW50fHwkLmlzWE1MRG9jKGRvYyk7bG9nKCdpc1htbD0nK2lzWG1sKTtpZighaXNYbWwmJihkb2MuYm9keT09bnVsbHx8ZG9jLmJvZHkuaW5uZXJIVE1MPT0nJykpe2lmKC0tZG9tQ2hlY2tDb3VudCl7bG9nKCdyZXF1ZWluZyBvbkxvYWQgY2FsbGJhY2ssIERPTSBub3QgYXZhaWxhYmxlJyk7c2V0VGltZW91dChjYiwyNTApO3JldHVybn1sb2coJ0NvdWxkIG5vdCBhY2Nlc3MgaWZyYW1lIERPTSBhZnRlciAxMDAgdHJpZXMuJyk7cmV0dXJufWxvZygncmVzcG9uc2UgZGV0ZWN0ZWQnKTtjYkludm9rZWQ9dHJ1ZTt4aHIucmVzcG9uc2VUZXh0PWRvYy5ib2R5P2RvYy5ib2R5LmlubmVySFRNTDpudWxsO3hoci5yZXNwb25zZVhNTD1kb2MuWE1MRG9jdW1lbnQ/ZG9jLlhNTERvY3VtZW50OmRvYzt4aHIuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24oaGVhZGVyKXt2YXIgaGVhZGVycz17J2NvbnRlbnQtdHlwZSc6b3B0cy5kYXRhVHlwZX07cmV0dXJuIGhlYWRlcnNbaGVhZGVyXX07aWYob3B0cy5kYXRhVHlwZT09J2pzb24nfHxvcHRzLmRhdGFUeXBlPT0nc2NyaXB0Jyl7dmFyIHRhPWRvYy5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGV4dGFyZWEnKVswXTtpZih0YSl4aHIucmVzcG9uc2VUZXh0PXRhLnZhbHVlO2Vsc2V7dmFyIHByZT1kb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3ByZScpWzBdO2lmKHByZSl4aHIucmVzcG9uc2VUZXh0PXByZS5pbm5lckhUTUx9fWVsc2UgaWYob3B0cy5kYXRhVHlwZT09J3htbCcmJiF4aHIucmVzcG9uc2VYTUwmJnhoci5yZXNwb25zZVRleHQhPW51bGwpe3hoci5yZXNwb25zZVhNTD10b1htbCh4aHIucmVzcG9uc2VUZXh0KX1kYXRhPSQuaHR0cERhdGEoeGhyLG9wdHMuZGF0YVR5cGUpfWNhdGNoKGUpe2xvZygnZXJyb3IgY2F1Z2h0OicsZSk7b2s9ZmFsc2U7eGhyLmVycm9yPWU7JC5oYW5kbGVFcnJvcihvcHRzLHhociwnZXJyb3InLGUpfWlmKG9rKXtvcHRzLnN1Y2Nlc3MoZGF0YSwnc3VjY2VzcycpO2lmKGcpJC5ldmVudC50cmlnZ2VyKCJhamF4U3VjY2VzcyIsW3hocixvcHRzXSl9aWYoZykkLmV2ZW50LnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3hocixvcHRzXSk7aWYoZyYmIS0tJC5hY3RpdmUpJC5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIpO2lmKG9wdHMuY29tcGxldGUpb3B0cy5jb21wbGV0ZSh4aHIsb2s/J3N1Y2Nlc3MnOidlcnJvcicpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXskaW8ucmVtb3ZlRGF0YSgnZm9ybS1wbHVnaW4tb25sb2FkJyk7JGlvLnJlbW92ZSgpO3hoci5yZXNwb25zZVhNTD1udWxsfSwxMDApfTtmdW5jdGlvbiB0b1htbChzLGRvYyl7aWYod2luZG93LkFjdGl2ZVhPYmplY3Qpe2RvYz1uZXcgQWN0aXZlWE9iamVjdCgnTWljcm9zb2Z0LlhNTERPTScpO2RvYy5hc3luYz0nZmFsc2UnO2RvYy5sb2FkWE1MKHMpfWVsc2UgZG9jPShuZXcgRE9NUGFyc2VyKCkpLnBhcnNlRnJvbVN0cmluZyhzLCd0ZXh0L3htbCcpO3JldHVybihkb2MmJmRvYy5kb2N1bWVudEVsZW1lbnQmJmRvYy5kb2N1bWVudEVsZW1lbnQudGFnTmFtZSE9J3BhcnNlcmVycm9yJyk/ZG9jOm51bGx9fX07JC5mbi5hamF4Rm9ybT1mdW5jdGlvbihvcHRpb25zKXtyZXR1cm4gdGhpcy5hamF4Rm9ybVVuYmluZCgpLmJpbmQoJ3N1Ym1pdC5mb3JtLXBsdWdpbicsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpOyQodGhpcykuYWpheFN1Ym1pdChvcHRpb25zKX0pLmJpbmQoJ2NsaWNrLmZvcm0tcGx1Z2luJyxmdW5jdGlvbihlKXt2YXIgdGFyZ2V0PWUudGFyZ2V0O3ZhciAkZWw9JCh0YXJnZXQpO2lmKCEoJGVsLmlzKCI6c3VibWl0LGlucHV0OmltYWdlIikpKXt2YXIgdD0kZWwuY2xvc2VzdCgnOnN1Ym1pdCcpO2lmKHQubGVuZ3RoPT0wKXJldHVybjt0YXJnZXQ9dFswXX12YXIgZm9ybT10aGlzO2Zvcm0uY2xrPXRhcmdldDtpZih0YXJnZXQudHlwZT09J2ltYWdlJyl7aWYoZS5vZmZzZXRYIT11bmRlZmluZWQpe2Zvcm0uY2xrX3g9ZS5vZmZzZXRYO2Zvcm0uY2xrX3k9ZS5vZmZzZXRZfWVsc2UgaWYodHlwZW9mICQuZm4ub2Zmc2V0PT0nZnVuY3Rpb24nKXt2YXIgb2Zmc2V0PSRlbC5vZmZzZXQoKTtmb3JtLmNsa194PWUucGFnZVgtb2Zmc2V0LmxlZnQ7Zm9ybS5jbGtfeT1lLnBhZ2VZLW9mZnNldC50b3B9ZWxzZXtmb3JtLmNsa194PWUucGFnZVgtdGFyZ2V0Lm9mZnNldExlZnQ7Zm9ybS5jbGtfeT1lLnBhZ2VZLXRhcmdldC5vZmZzZXRUb3B9fXNldFRpbWVvdXQoZnVuY3Rpb24oKXtmb3JtLmNsaz1mb3JtLmNsa194PWZvcm0uY2xrX3k9bnVsbH0sMTAwKX0pfTskLmZuLmFqYXhGb3JtVW5iaW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudW5iaW5kKCdzdWJtaXQuZm9ybS1wbHVnaW4gY2xpY2suZm9ybS1wbHVnaW4nKX07JC5mbi5mb3JtVG9BcnJheT1mdW5jdGlvbihzZW1hbnRpYyl7dmFyIGE9W107aWYodGhpcy5sZW5ndGg9PTApcmV0dXJuIGE7dmFyIGZvcm09dGhpc1swXTt2YXIgZWxzPXNlbWFudGljP2Zvcm0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoJyonKTpmb3JtLmVsZW1lbnRzO2lmKCFlbHMpcmV0dXJuIGE7Zm9yKHZhciBpPTAsbWF4PWVscy5sZW5ndGg7aTxtYXg7aSsrKXt2YXIgZWw9ZWxzW2ldO3ZhciBuPWVsLm5hbWU7aWYoIW4pY29udGludWU7aWYoc2VtYW50aWMmJmZvcm0uY2xrJiZlbC50eXBlPT0iaW1hZ2UiKXtpZighZWwuZGlzYWJsZWQmJmZvcm0uY2xrPT1lbCl7YS5wdXNoKHtuYW1lOm4sdmFsdWU6JChlbCkudmFsKCl9KTthLnB1c2goe25hbWU6bisnLngnLHZhbHVlOmZvcm0uY2xrX3h9LHtuYW1lOm4rJy55Jyx2YWx1ZTpmb3JtLmNsa195fSl9Y29udGludWV9dmFyIHY9JC5maWVsZFZhbHVlKGVsLHRydWUpO2lmKHYmJnYuY29uc3RydWN0b3I9PUFycmF5KXtmb3IodmFyIGo9MCxqbWF4PXYubGVuZ3RoO2o8am1heDtqKyspYS5wdXNoKHtuYW1lOm4sdmFsdWU6dltqXX0pfWVsc2UgaWYodiE9PW51bGwmJnR5cGVvZiB2IT0ndW5kZWZpbmVkJylhLnB1c2goe25hbWU6bix2YWx1ZTp2fSl9aWYoIXNlbWFudGljJiZmb3JtLmNsayl7dmFyICRpbnB1dD0kKGZvcm0uY2xrKSxpbnB1dD0kaW5wdXRbMF0sbj1pbnB1dC5uYW1lO2lmKG4mJiFpbnB1dC5kaXNhYmxlZCYmaW5wdXQudHlwZT09J2ltYWdlJyl7YS5wdXNoKHtuYW1lOm4sdmFsdWU6JGlucHV0LnZhbCgpfSk7YS5wdXNoKHtuYW1lOm4rJy54Jyx2YWx1ZTpmb3JtLmNsa194fSx7bmFtZTpuKycueScsdmFsdWU6Zm9ybS5jbGtfeX0pfX1yZXR1cm4gYX07JC5mbi5mb3JtU2VyaWFsaXplPWZ1bmN0aW9uKHNlbWFudGljKXtyZXR1cm4gJC5wYXJhbSh0aGlzLmZvcm1Ub0FycmF5KHNlbWFudGljKSl9OyQuZm4uZmllbGRTZXJpYWxpemU9ZnVuY3Rpb24oc3VjY2Vzc2Z1bCl7dmFyIGE9W107dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG49dGhpcy5uYW1lO2lmKCFuKXJldHVybjt2YXIgdj0kLmZpZWxkVmFsdWUodGhpcyxzdWNjZXNzZnVsKTtpZih2JiZ2LmNvbnN0cnVjdG9yPT1BcnJheSl7Zm9yKHZhciBpPTAsbWF4PXYubGVuZ3RoO2k8bWF4O2krKylhLnB1c2goe25hbWU6bix2YWx1ZTp2W2ldfSl9ZWxzZSBpZih2IT09bnVsbCYmdHlwZW9mIHYhPSd1bmRlZmluZWQnKWEucHVzaCh7bmFtZTp0aGlzLm5hbWUsdmFsdWU6dn0pfSk7cmV0dXJuICQucGFyYW0oYSl9OyQuZm4uZmllbGRWYWx1ZT1mdW5jdGlvbihzdWNjZXNzZnVsKXtmb3IodmFyIHZhbD1bXSxpPTAsbWF4PXRoaXMubGVuZ3RoO2k8bWF4O2krKyl7dmFyIGVsPXRoaXNbaV07dmFyIHY9JC5maWVsZFZhbHVlKGVsLHN1Y2Nlc3NmdWwpO2lmKHY9PT1udWxsfHx0eXBlb2Ygdj09J3VuZGVmaW5lZCd8fCh2LmNvbnN0cnVjdG9yPT1BcnJheSYmIXYubGVuZ3RoKSljb250aW51ZTt2LmNvbnN0cnVjdG9yPT1BcnJheT8kLm1lcmdlKHZhbCx2KTp2YWwucHVzaCh2KX1yZXR1cm4gdmFsfTskLmZpZWxkVmFsdWU9ZnVuY3Rpb24oZWwsc3VjY2Vzc2Z1bCl7dmFyIG49ZWwubmFtZSx0PWVsLnR5cGUsdGFnPWVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKTtpZih0eXBlb2Ygc3VjY2Vzc2Z1bD09J3VuZGVmaW5lZCcpc3VjY2Vzc2Z1bD10cnVlO2lmKHN1Y2Nlc3NmdWwmJighbnx8ZWwuZGlzYWJsZWR8fHQ9PSdyZXNldCd8fHQ9PSdidXR0b24nfHwodD09J2NoZWNrYm94J3x8dD09J3JhZGlvJykmJiFlbC5jaGVja2VkfHwodD09J3N1Ym1pdCd8fHQ9PSdpbWFnZScpJiZlbC5mb3JtJiZlbC5mb3JtLmNsayE9ZWx8fHRhZz09J3NlbGVjdCcmJmVsLnNlbGVjdGVkSW5kZXg9PS0xKSlyZXR1cm4gbnVsbDtpZih0YWc9PSdzZWxlY3QnKXt2YXIgaW5kZXg9ZWwuc2VsZWN0ZWRJbmRleDtpZihpbmRleDwwKXJldHVybiBudWxsO3ZhciBhPVtdLG9wcz1lbC5vcHRpb25zO3ZhciBvbmU9KHQ9PSdzZWxlY3Qtb25lJyk7dmFyIG1heD0ob25lP2luZGV4KzE6b3BzLmxlbmd0aCk7Zm9yKHZhciBpPShvbmU/aW5kZXg6MCk7aTxtYXg7aSsrKXt2YXIgb3A9b3BzW2ldO2lmKG9wLnNlbGVjdGVkKXt2YXIgdj1vcC52YWx1ZTtpZighdil2PShvcC5hdHRyaWJ1dGVzJiZvcC5hdHRyaWJ1dGVzWyd2YWx1ZSddJiYhKG9wLmF0dHJpYnV0ZXNbJ3ZhbHVlJ10uc3BlY2lmaWVkKSk/b3AudGV4dDpvcC52YWx1ZTtpZihvbmUpcmV0dXJuIHY7YS5wdXNoKHYpfX1yZXR1cm4gYX1yZXR1cm4gZWwudmFsdWV9OyQuZm4uY2xlYXJGb3JtPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpeyQoJ2lucHV0LHNlbGVjdCx0ZXh0YXJlYScsdGhpcykuY2xlYXJGaWVsZHMoKX0pfTskLmZuLmNsZWFyRmllbGRzPSQuZm4uY2xlYXJJbnB1dHM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy50eXBlLHRhZz10aGlzLnRhZ05hbWUudG9Mb3dlckNhc2UoKTtpZih0PT0ndGV4dCd8fHQ9PSdwYXNzd29yZCd8fHRhZz09J3RleHRhcmVhJyl0aGlzLnZhbHVlPScnO2Vsc2UgaWYodD09J2NoZWNrYm94J3x8dD09J3JhZGlvJyl0aGlzLmNoZWNrZWQ9ZmFsc2U7ZWxzZSBpZih0YWc9PSdzZWxlY3QnKXRoaXMuc2VsZWN0ZWRJbmRleD0tMX0pfTskLmZuLnJlc2V0Rm9ybT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZih0eXBlb2YgdGhpcy5yZXNldD09J2Z1bmN0aW9uJ3x8KHR5cGVvZiB0aGlzLnJlc2V0PT0nb2JqZWN0JyYmIXRoaXMucmVzZXQubm9kZVR5cGUpKXRoaXMucmVzZXQoKX0pfTskLmZuLmVuYWJsZT1mdW5jdGlvbihiKXtpZihiPT11bmRlZmluZWQpYj10cnVlO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkPSFifSl9OyQuZm4uc2VsZWN0ZWQ9ZnVuY3Rpb24oc2VsZWN0KXtpZihzZWxlY3Q9PXVuZGVmaW5lZClzZWxlY3Q9dHJ1ZTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy50eXBlO2lmKHQ9PSdjaGVja2JveCd8fHQ9PSdyYWRpbycpdGhpcy5jaGVja2VkPXNlbGVjdDtlbHNlIGlmKHRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT0nb3B0aW9uJyl7dmFyICRzZWw9JCh0aGlzKS5wYXJlbnQoJ3NlbGVjdCcpO2lmKHNlbGVjdCYmJHNlbFswXSYmJHNlbFswXS50eXBlPT0nc2VsZWN0LW9uZScpeyRzZWwuZmluZCgnb3B0aW9uJykuc2VsZWN0ZWQoZmFsc2UpfXRoaXMuc2VsZWN0ZWQ9c2VsZWN0fX0pfTtmdW5jdGlvbiBsb2coKXtpZigkLmZuLmFqYXhTdWJtaXQuZGVidWcpe3ZhciBtc2c9J1tqcXVlcnkuZm9ybV0gJytBcnJheS5wcm90b3R5cGUuam9pbi5jYWxsKGFyZ3VtZW50cywnJyk7aWYod2luZG93LmNvbnNvbGUmJndpbmRvdy5jb25zb2xlLmxvZyl3aW5kb3cuY29uc29sZS5sb2cobXNnKTtlbHNlIGlmKHdpbmRvdy5vcGVyYSYmd2luZG93Lm9wZXJhLnBvc3RFcnJvcil3aW5kb3cub3BlcmEucG9zdEVycm9yKG1zZyl9fX0pKGpRdWVyeSk7Cu+7vy8qCiAqIGpQaWNrZXIgMS4xLjYKICoKICogalF1ZXJ5IFBsdWdpbiBmb3IgUGhvdG9zaG9wIHN0eWxlIGNvbG9yIHBpY2tlcgogKgogKiBDb3B5cmlnaHQgKGMpIDIwMTAgQ2hyaXN0b3BoZXIgVC4gVGlsbG1hbgogKiBEaWdpdGFsIE1hZ2ljIFByb2R1Y3Rpb25zLCBJbmMuIChodHRwOi8vd3d3LmRpZ2l0YWxtYWdpY3Byby5jb20vKQogKiBNSVQgc3R5bGUgbGljZW5zZSwgRlJFRSB0byB1c2UsIGFsdGVyLCBjb3B5LCBzZWxsLCBhbmQgZXNwZWNpYWxseSBFTkhBTkNFCiAqCiAqIFBhaW5zdGFraW5nbHkgcG9ydGVkIGZyb20gSm9obiBEeWVycycgZXhjZWxsZW50IHdvcmsgb24gaGlzIG93biBjb2xvciBwaWNrZXIgYmFzZWQgb24gdGhlIFByb3RvdHlwZSBmcmFtZXdvcmsuCiAqCiAqIEpvaG4gRHllcnMnIHdlYnNpdGU6IChodHRwOi8vam9obmR5ZXIubmFtZSkKICogQ29sb3IgUGlja2VyIHBhZ2U6ICAgKGh0dHA6Ly9qb2huZHllci5uYW1lL3Bvc3QvMjAwNy8wOS9QaG90b1Nob3AtbGlrZS1KYXZhU2NyaXB0LUNvbG9yLVBpY2tlci5hc3B4KQogKgogKi8K77u/KGZ1bmN0aW9uKGUsYSl7TWF0aC5wcmVjaXNpb249ZnVuY3Rpb24oaixoKXtpZihoPT09dW5kZWZpbmVkKXtoPTB9cmV0dXJuIE1hdGgucm91bmQoaipNYXRoLnBvdygxMCxoKSkvTWF0aC5wb3coMTAsaCl9O3ZhciBkPWZ1bmN0aW9uKHosayl7dmFyIG89dGhpcyxqPXouZmluZCgiaW1nOmZpcnN0IiksRj0wLEU9MTAwLHc9MTAwLEQ9MCxDPTEwMCx2PTEwMCxzPTAscD0wLG4scSx1PW5ldyBBcnJheSgpLGw9ZnVuY3Rpb24oeSl7Zm9yKHZhciB4PTA7eDx1Lmxlbmd0aDt4Kyspe3VbeF0uY2FsbChvLG8seSl9fSxIPWZ1bmN0aW9uKHgpe3ZhciB5PXoub2Zmc2V0KCk7bj17bDp5LmxlZnR8MCx0OnkudG9wfDB9O2NsZWFyVGltZW91dChxKTtxPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtBLmNhbGwobyx4KX0sMCk7ZShkb2N1bWVudCkuYmluZCgibW91c2Vtb3ZlIixoKS5iaW5kKCJtb3VzZXVwIixCKTt4LnByZXZlbnREZWZhdWx0KCl9LGg9ZnVuY3Rpb24oeCl7Y2xlYXJUaW1lb3V0KHEpO3E9c2V0VGltZW91dChmdW5jdGlvbigpe0EuY2FsbChvLHgpfSwwKTt4LnN0b3BQcm9wYWdhdGlvbigpO3gucHJldmVudERlZmF1bHQoKTtyZXR1cm4gZmFsc2V9LEI9ZnVuY3Rpb24oeCl7ZShkb2N1bWVudCkudW5iaW5kKCJtb3VzZXVwIixCKS51bmJpbmQoIm1vdXNlbW92ZSIsaCk7eC5zdG9wUHJvcGFnYXRpb24oKTt4LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGZhbHNlfSxBPWZ1bmN0aW9uKE0pe3ZhciBLPU0ucGFnZVgtbi5sLHg9TS5wYWdlWS1uLnQsTD16LncseT16Lmg7aWYoSzwwKXtLPTB9ZWxzZXtpZihLPkwpe0s9TH19aWYoeDwwKXt4PTB9ZWxzZXtpZih4Pnkpe3g9eX19Si5jYWxsKG8sInh5Iix7eDooKEsvTCkqdykrRix5OigoeC95KSp2KStEfSl9LHI9ZnVuY3Rpb24oKXt2YXIgTD0wLHg9MCxOPXoudyxLPXouaCxNPWoudyx5PWouaDtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYodz4wKXtpZihzPT1FKXtMPU59ZWxzZXtMPSgocy93KSpOKXwwfX1pZih2PjApe2lmKHA9PUMpe3g9S31lbHNle3g9KChwL3YpKkspfDB9fWlmKE0+PU4pe0w9KE4+PjEpLShNPj4xKX1lbHNle0wtPU0+PjF9aWYoeT49Syl7eD0oSz4+MSktKHk+PjEpfWVsc2V7eC09eT4+MX1qLmNzcyh7bGVmdDpMKyJweCIsdG9wOngrInB4In0pfSwwKX0sSj1mdW5jdGlvbih4LEsseSl7dmFyIE89SyE9PXVuZGVmaW5lZDtpZighTyl7aWYoeD09PXVuZGVmaW5lZHx8eD09bnVsbCl7eD0ieHkifXN3aXRjaCh4LnRvTG93ZXJDYXNlKCkpe2Nhc2UieCI6cmV0dXJuIHM7Y2FzZSJ5IjpyZXR1cm4gcDtjYXNlInh5IjpkZWZhdWx0OnJldHVybnt4OnMseTpwfX19aWYoeSE9bnVsbCYmeT09byl7cmV0dXJufXZhciBOPWZhbHNlLE0sTDtpZih4PT1udWxsKXt4PSJ4eSJ9c3dpdGNoKHgudG9Mb3dlckNhc2UoKSl7Y2FzZSJ4IjpNPUsmJihLLngmJksueHwwfHxLfDApfHwwO2JyZWFrO2Nhc2UieSI6TD1LJiYoSy55JiZLLnl8MHx8S3wwKXx8MDticmVhaztjYXNlInh5IjpkZWZhdWx0Ok09SyYmSy54JiZLLnh8MHx8MDtMPUsmJksueSYmSy55fDB8fDA7YnJlYWt9aWYoTSE9bnVsbCl7aWYoTTxGKXtNPUZ9ZWxzZXtpZihNPkUpe009RX19aWYocyE9TSl7cz1NO049dHJ1ZX19aWYoTCE9bnVsbCl7aWYoTDxEKXtMPUR9ZWxzZXtpZihMPkMpe0w9Q319aWYocCE9TCl7cD1MO049dHJ1ZX19TiYmbC5jYWxsKG8seXx8byl9LHQ9ZnVuY3Rpb24oeCxMKXt2YXIgUD1MIT09dW5kZWZpbmVkO2lmKCFQKXtpZih4PT09dW5kZWZpbmVkfHx4PT1udWxsKXt4PSJhbGwifXN3aXRjaCh4LnRvTG93ZXJDYXNlKCkpe2Nhc2UibWlueCI6cmV0dXJuIEY7Y2FzZSJtYXh4IjpyZXR1cm4gRTtjYXNlInJhbmdleCI6cmV0dXJue21pblg6RixtYXhYOkUscmFuZ2VYOnd9O2Nhc2UibWlueSI6cmV0dXJuIEQ7Y2FzZSJtYXh5IjpyZXR1cm4gQztjYXNlInJhbmdleSI6cmV0dXJue21pblk6RCxtYXhZOkMscmFuZ2VZOnZ9O2Nhc2UiYWxsIjpkZWZhdWx0OnJldHVybnttaW5YOkYsbWF4WDpFLHJhbmdlWDp3LG1pblk6RCxtYXhZOkMscmFuZ2VZOnZ9fX12YXIgTz1mYWxzZSxOLEssTSx5O2lmKHg9PW51bGwpe3g9ImFsbCJ9c3dpdGNoKHgudG9Mb3dlckNhc2UoKSl7Y2FzZSJtaW54IjpOPUwmJihMLm1pblgmJkwubWluWHwwfHxMfDApfHwwO2JyZWFrO2Nhc2UibWF4eCI6Sz1MJiYoTC5tYXhYJiZMLm1heFh8MHx8THwwKXx8MDticmVhaztjYXNlInJhbmdleCI6Tj1MJiZMLm1pblgmJkwubWluWHwwfHwwO0s9TCYmTC5tYXhYJiZMLm1heFh8MHx8MDticmVhaztjYXNlIm1pbnkiOk09TCYmKEwubWluWSYmTC5taW5ZfDB8fEx8MCl8fDA7YnJlYWs7Y2FzZSJtYXh5Ijp5PUwmJihMLm1heFkmJkwubWF4WXwwfHxMfDApfHwwO2JyZWFrO2Nhc2UicmFuZ2V5IjpNPUwmJkwubWluWSYmTC5taW5ZfDB8fDA7eT1MJiZMLm1heFkmJkwubWF4WXwwfHwwO2JyZWFrO2Nhc2UiYWxsIjpkZWZhdWx0Ok49TCYmTC5taW5YJiZMLm1pblh8MHx8MDtLPUwmJkwubWF4WCYmTC5tYXhYfDB8fDA7TT1MJiZMLm1pblkmJkwubWluWXwwfHwwO3k9TCYmTC5tYXhZJiZMLm1heFl8MHx8MDticmVha31pZihOIT1udWxsJiZGIT1OKXtGPU47dz1FLUZ9aWYoSyE9bnVsbCYmRSE9Syl7RT1LO3c9RS1GfWlmKE0hPW51bGwmJkQhPU0pe0Q9TTt2PUMtRH1pZih5IT1udWxsJiZDIT15KXtDPXk7dj1DLUR9fSxJPWZ1bmN0aW9uKHgpe2lmKGUuaXNGdW5jdGlvbih4KSl7dS5wdXNoKHgpfX0sbT1mdW5jdGlvbih5KXtpZighZS5pc0Z1bmN0aW9uKHkpKXtyZXR1cm59dmFyIHg7d2hpbGUoKHg9ZS5pbkFycmF5KHksdSkpIT0tMSl7dS5zcGxpY2UoeCwxKX19LEc9ZnVuY3Rpb24oKXtlKGRvY3VtZW50KS51bmJpbmQoIm1vdXNldXAiLEIpLnVuYmluZCgibW91c2Vtb3ZlIixoKTt6LnVuYmluZCgibW91c2Vkb3duIixIKTt6PW51bGw7aj1udWxsO3U9bnVsbH07ZS5leHRlbmQodHJ1ZSxvLHt2YWw6SixyYW5nZTp0LGJpbmQ6SSx1bmJpbmQ6bSxkZXN0cm95Okd9KTtqLnNyYz1rLmFycm93JiZrLmFycm93LmltYWdlO2oudz1rLmFycm93JiZrLmFycm93LndpZHRofHxqLndpZHRoKCk7ai5oPWsuYXJyb3cmJmsuYXJyb3cuaGVpZ2h0fHxqLmhlaWdodCgpO3oudz1rLm1hcCYmay5tYXAud2lkdGh8fHoud2lkdGgoKTt6Lmg9ay5tYXAmJmsubWFwLmhlaWdodHx8ei5oZWlnaHQoKTt6LmJpbmQoIm1vdXNlZG93biIsSCk7SS5jYWxsKG8scil9LGI9ZnVuY3Rpb24odSx6LGsseSl7dmFyIHE9dGhpcyxsPXUuZmluZCgidGQuVGV4dCBpbnB1dCIpLHI9bC5lcSgzKSx2PWwuZXEoNCksaD1sLmVxKDUpLG89bC5sZW5ndGg+Nz9sLmVxKDYpOm51bGwsbj1sLmVxKDApLHA9bC5lcSgxKSx4PWwuZXEoMikscz1sLmVxKGwubGVuZ3RoPjc/Nzo2KSxCPWwubGVuZ3RoPjc/bC5lcSg4KTpudWxsLEM9ZnVuY3Rpb24oRSl7aWYoRS50YXJnZXQudmFsdWU9PSIiJiZFLnRhcmdldCE9cy5nZXQoMCkmJihrIT1udWxsJiZFLnRhcmdldCE9ay5nZXQoMCl8fGs9PW51bGwpKXtyZXR1cm59aWYoIXQoRSkpe3JldHVybiBFfXN3aXRjaChFLnRhcmdldCl7Y2FzZSByLmdldCgwKTpzd2l0Y2goRS5rZXlDb2RlKXtjYXNlIDM4OnIudmFsKGouY2FsbChxLChyLnZhbCgpPDwwKSsxLDAsMjU1KSk7ei52YWwoInIiLHIudmFsKCksRS50YXJnZXQpO3JldHVybiBmYWxzZTtjYXNlIDQwOnIudmFsKGouY2FsbChxLChyLnZhbCgpPDwwKS0xLDAsMjU1KSk7ei52YWwoInIiLHIudmFsKCksRS50YXJnZXQpO3JldHVybiBmYWxzZX1icmVhaztjYXNlIHYuZ2V0KDApOnN3aXRjaChFLmtleUNvZGUpe2Nhc2UgMzg6di52YWwoai5jYWxsKHEsKHYudmFsKCk8PDApKzEsMCwyNTUpKTt6LnZhbCgiZyIsdi52YWwoKSxFLnRhcmdldCk7cmV0dXJuIGZhbHNlO2Nhc2UgNDA6di52YWwoai5jYWxsKHEsKHYudmFsKCk8PDApLTEsMCwyNTUpKTt6LnZhbCgiZyIsdi52YWwoKSxFLnRhcmdldCk7cmV0dXJuIGZhbHNlfWJyZWFrO2Nhc2UgaC5nZXQoMCk6c3dpdGNoKEUua2V5Q29kZSl7Y2FzZSAzODpoLnZhbChqLmNhbGwocSwoaC52YWwoKTw8MCkrMSwwLDI1NSkpO3oudmFsKCJiIixoLnZhbCgpLEUudGFyZ2V0KTtyZXR1cm4gZmFsc2U7Y2FzZSA0MDpoLnZhbChqLmNhbGwocSwoaC52YWwoKTw8MCktMSwwLDI1NSkpO3oudmFsKCJiIixoLnZhbCgpLEUudGFyZ2V0KTtyZXR1cm4gZmFsc2V9YnJlYWs7Y2FzZSBvJiZvLmdldCgwKTpzd2l0Y2goRS5rZXlDb2RlKXtjYXNlIDM4Om8udmFsKGouY2FsbChxLHBhcnNlRmxvYXQoby52YWwoKSkrMSwwLDEwMCkpO3oudmFsKCJhIixNYXRoLnByZWNpc2lvbigoby52YWwoKSoyNTUpLzEwMCx5KSxFLnRhcmdldCk7cmV0dXJuIGZhbHNlO2Nhc2UgNDA6by52YWwoai5jYWxsKHEscGFyc2VGbG9hdChvLnZhbCgpKS0xLDAsMTAwKSk7ei52YWwoImEiLE1hdGgucHJlY2lzaW9uKChvLnZhbCgpKjI1NSkvMTAwLHkpLEUudGFyZ2V0KTtyZXR1cm4gZmFsc2V9YnJlYWs7Y2FzZSBuLmdldCgwKTpzd2l0Y2goRS5rZXlDb2RlKXtjYXNlIDM4Om4udmFsKGouY2FsbChxLChuLnZhbCgpPDwwKSsxLDAsMzYwKSk7ei52YWwoImgiLG4udmFsKCksRS50YXJnZXQpO3JldHVybiBmYWxzZTtjYXNlIDQwOm4udmFsKGouY2FsbChxLChuLnZhbCgpPDwwKS0xLDAsMzYwKSk7ei52YWwoImgiLG4udmFsKCksRS50YXJnZXQpO3JldHVybiBmYWxzZX1icmVhaztjYXNlIHAuZ2V0KDApOnN3aXRjaChFLmtleUNvZGUpe2Nhc2UgMzg6cC52YWwoai5jYWxsKHEsKHAudmFsKCk8PDApKzEsMCwxMDApKTt6LnZhbCgicyIscC52YWwoKSxFLnRhcmdldCk7cmV0dXJuIGZhbHNlO2Nhc2UgNDA6cC52YWwoai5jYWxsKHEsKHAudmFsKCk8PDApLTEsMCwxMDApKTt6LnZhbCgicyIscC52YWwoKSxFLnRhcmdldCk7cmV0dXJuIGZhbHNlfWJyZWFrO2Nhc2UgeC5nZXQoMCk6c3dpdGNoKEUua2V5Q29kZSl7Y2FzZSAzODp4LnZhbChqLmNhbGwocSwoeC52YWwoKTw8MCkrMSwwLDEwMCkpO3oudmFsKCJ2Iix4LnZhbCgpLEUudGFyZ2V0KTtyZXR1cm4gZmFsc2U7Y2FzZSA0MDp4LnZhbChqLmNhbGwocSwoeC52YWwoKTw8MCktMSwwLDEwMCkpO3oudmFsKCJ2Iix4LnZhbCgpLEUudGFyZ2V0KTtyZXR1cm4gZmFsc2V9YnJlYWt9fSx3PWZ1bmN0aW9uKEUpe2lmKEUudGFyZ2V0LnZhbHVlPT0iIiYmRS50YXJnZXQhPXMuZ2V0KDApJiYoayE9bnVsbCYmRS50YXJnZXQhPWsuZ2V0KDApfHxrPT1udWxsKSl7cmV0dXJufWlmKCF0KEUpKXtyZXR1cm4gRX1zd2l0Y2goRS50YXJnZXQpe2Nhc2Ugci5nZXQoMCk6ci52YWwoai5jYWxsKHEsci52YWwoKSwwLDI1NSkpO3oudmFsKCJyIixyLnZhbCgpLEUudGFyZ2V0KTticmVhaztjYXNlIHYuZ2V0KDApOnYudmFsKGouY2FsbChxLHYudmFsKCksMCwyNTUpKTt6LnZhbCgiZyIsdi52YWwoKSxFLnRhcmdldCk7YnJlYWs7Y2FzZSBoLmdldCgwKTpoLnZhbChqLmNhbGwocSxoLnZhbCgpLDAsMjU1KSk7ei52YWwoImIiLGgudmFsKCksRS50YXJnZXQpO2JyZWFrO2Nhc2UgbyYmby5nZXQoMCk6by52YWwoai5jYWxsKHEsby52YWwoKSwwLDEwMCkpO3oudmFsKCJhIixNYXRoLnByZWNpc2lvbigoby52YWwoKSoyNTUpLzEwMCx5KSxFLnRhcmdldCk7YnJlYWs7Y2FzZSBuLmdldCgwKTpuLnZhbChqLmNhbGwocSxuLnZhbCgpLDAsMzYwKSk7ei52YWwoImgiLG4udmFsKCksRS50YXJnZXQpO2JyZWFrO2Nhc2UgcC5nZXQoMCk6cC52YWwoai5jYWxsKHEscC52YWwoKSwwLDEwMCkpO3oudmFsKCJzIixwLnZhbCgpLEUudGFyZ2V0KTticmVhaztjYXNlIHguZ2V0KDApOngudmFsKGouY2FsbChxLHgudmFsKCksMCwxMDApKTt6LnZhbCgidiIseC52YWwoKSxFLnRhcmdldCk7YnJlYWs7Y2FzZSBzLmdldCgwKTpzLnZhbChzLnZhbCgpLnJlcGxhY2UoL1teYS1mQS1GMC05XS9nLCIiKS50b0xvd2VyQ2FzZSgpLnN1YnN0cmluZygwLDYpKTtrJiZrLnZhbChzLnZhbCgpKTt6LnZhbCgiaGV4IixzLnZhbCgpIT0iIj9zLnZhbCgpOm51bGwsRS50YXJnZXQpO2JyZWFrO2Nhc2UgayYmay5nZXQoMCk6ay52YWwoay52YWwoKS5yZXBsYWNlKC9bXmEtZkEtRjAtOV0vZywiIikudG9Mb3dlckNhc2UoKS5zdWJzdHJpbmcoMCw2KSk7cy52YWwoay52YWwoKSk7ei52YWwoImhleCIsay52YWwoKSE9IiI/ay52YWwoKTpudWxsLEUudGFyZ2V0KTticmVhaztjYXNlIEImJkIuZ2V0KDApOkIudmFsKEIudmFsKCkucmVwbGFjZSgvW15hLWZBLUYwLTldL2csIiIpLnRvTG93ZXJDYXNlKCkuc3Vic3RyaW5nKDAsMikpO3oudmFsKCJhIixCLnZhbCgpIT1udWxsP3BhcnNlSW50KEIudmFsKCksMTYpOm51bGwsRS50YXJnZXQpO2JyZWFrfX0sQT1mdW5jdGlvbihFKXtpZih6LnZhbCgpIT1udWxsKXtzd2l0Y2goRS50YXJnZXQpe2Nhc2Ugci5nZXQoMCk6ci52YWwoei52YWwoInIiKSk7YnJlYWs7Y2FzZSB2LmdldCgwKTp2LnZhbCh6LnZhbCgiZyIpKTticmVhaztjYXNlIGguZ2V0KDApOmgudmFsKHoudmFsKCJiIikpO2JyZWFrO2Nhc2UgbyYmby5nZXQoMCk6by52YWwoTWF0aC5wcmVjaXNpb24oKHoudmFsKCJhIikqMTAwKS8yNTUseSkpO2JyZWFrO2Nhc2Ugbi5nZXQoMCk6bi52YWwoei52YWwoImgiKSk7YnJlYWs7Y2FzZSBwLmdldCgwKTpwLnZhbCh6LnZhbCgicyIpKTticmVhaztjYXNlIHguZ2V0KDApOngudmFsKHoudmFsKCJ2IikpO2JyZWFrO2Nhc2Ugcy5nZXQoMCk6Y2FzZSBrJiZrLmdldCgwKTpzLnZhbCh6LnZhbCgiaGV4IikpO2smJmsudmFsKHoudmFsKCJoZXgiKSk7YnJlYWs7Y2FzZSBCJiZCLmdldCgwKTpCLnZhbCh6LnZhbCgiYWhleCIpLnN1YnN0cmluZyg2KSk7YnJlYWt9fX0sdD1mdW5jdGlvbihFKXtzd2l0Y2goRS5rZXlDb2RlKXtjYXNlIDk6Y2FzZSAxNjpjYXNlIDI5OmNhc2UgMzc6Y2FzZSAzOTpyZXR1cm4gZmFsc2U7Y2FzZSJjIi5jaGFyQ29kZUF0KCk6Y2FzZSJ2Ii5jaGFyQ29kZUF0KCk6aWYoRS5jdHJsS2V5KXtyZXR1cm4gZmFsc2V9fXJldHVybiB0cnVlfSxqPWZ1bmN0aW9uKEcsRixFKXtpZihHPT0iInx8aXNOYU4oRykpe3JldHVybiBGfWlmKEc+RSl7cmV0dXJuIEV9aWYoRzxGKXtyZXR1cm4gRn1yZXR1cm4gR30sbT1mdW5jdGlvbihHLEUpe3ZhciBGPUcudmFsKCJhbGwiKTtpZihFIT1yLmdldCgwKSl7ci52YWwoRiE9bnVsbD9GLnI6IiIpfWlmKEUhPXYuZ2V0KDApKXt2LnZhbChGIT1udWxsP0YuZzoiIil9aWYoRSE9aC5nZXQoMCkpe2gudmFsKEYhPW51bGw/Ri5iOiIiKX1pZihvJiZFIT1vLmdldCgwKSl7by52YWwoRiE9bnVsbD9NYXRoLnByZWNpc2lvbigoRi5hKjEwMCkvMjU1LHkpOiIiKX1pZihFIT1uLmdldCgwKSl7bi52YWwoRiE9bnVsbD9GLmg6IiIpfWlmKEUhPXAuZ2V0KDApKXtwLnZhbChGIT1udWxsP0YuczoiIil9aWYoRSE9eC5nZXQoMCkpe3gudmFsKEYhPW51bGw/Ri52OiIiKX1pZihFIT1zLmdldCgwKSYmKGsmJkUhPWsuZ2V0KDApfHwhaykpe3MudmFsKEYhPW51bGw/Ri5oZXg6IiIpfWlmKGsmJkUhPWsuZ2V0KDApJiZFIT1zLmdldCgwKSl7ay52YWwoRiE9bnVsbD9GLmhleDoiIil9aWYoQiYmRSE9Qi5nZXQoMCkpe0IudmFsKEYhPW51bGw/Ri5haGV4LnN1YnN0cmluZyg2KToiIil9fSxEPWZ1bmN0aW9uKCl7ci5hZGQodikuYWRkKGgpLmFkZChvKS5hZGQobikuYWRkKHApLmFkZCh4KS5hZGQocykuYWRkKGspLmFkZChCKS51bmJpbmQoImtleXVwIix3KS51bmJpbmQoImJsdXIiLEEpO3IuYWRkKHYpLmFkZChoKS5hZGQobykuYWRkKG4pLmFkZChwKS5hZGQoeCkudW5iaW5kKCJrZXlkb3duIixDKTt6LnVuYmluZChtKTtyPW51bGw7dj1udWxsO2g9bnVsbDtvPW51bGw7bj1udWxsO3A9bnVsbDt4PW51bGw7cz1udWxsO0I9bnVsbH07ZS5leHRlbmQodHJ1ZSxxLHtkZXN0cm95OkR9KTtyLmFkZCh2KS5hZGQoaCkuYWRkKG8pLmFkZChuKS5hZGQocCkuYWRkKHgpLmFkZChzKS5hZGQoaykuYWRkKEIpLmJpbmQoImtleXVwIix3KS5iaW5kKCJibHVyIixBKTtyLmFkZCh2KS5hZGQoaCkuYWRkKG8pLmFkZChuKS5hZGQocCkuYWRkKHgpLmJpbmQoImtleWRvd24iLEMpO3ouYmluZChtKX07ZS5qUGlja2VyPXtMaXN0OltdLENvbG9yOmZ1bmN0aW9uKHope3ZhciBxPXRoaXMsaixvLHQsdSxuLEEseCxrPW5ldyBBcnJheSgpLG09ZnVuY3Rpb24ocil7Zm9yKHZhciBoPTA7aDxrLmxlbmd0aDtoKyspe2tbaF0uY2FsbChxLHEscil9fSxsPWZ1bmN0aW9uKGgsRyxyKXt2YXIgRj1HIT09dW5kZWZpbmVkO2lmKCFGKXtpZihoPT09dW5kZWZpbmVkfHxoPT1udWxsfHxoPT0iIil7aD0iYWxsIn1pZihqPT1udWxsKXtyZXR1cm4gbnVsbH1zd2l0Y2goaC50b0xvd2VyQ2FzZSgpKXtjYXNlImFoZXgiOnJldHVybiBnLnJnYmFUb0hleCh7cjpqLGc6byxiOnQsYTp1fSk7Y2FzZSJoZXgiOnJldHVybiBsKCJhaGV4Iikuc3Vic3RyaW5nKDAsNik7Y2FzZSJhbGwiOnJldHVybntyOmosZzpvLGI6dCxhOnUsaDpuLHM6QSx2OngsaGV4OmwuY2FsbChxLCJoZXgiKSxhaGV4OmwuY2FsbChxLCJhaGV4Iil9O2RlZmF1bHQ6dmFyIEQ9e307Zm9yKHZhciBCPTA7QjxoLmxlbmd0aDtCKyspe3N3aXRjaChoLmNoYXJBdChCKSl7Y2FzZSJyIjppZihoLmxlbmd0aD09MSl7RD1qfWVsc2V7RC5yPWp9YnJlYWs7Y2FzZSJnIjppZihoLmxlbmd0aD09MSl7RD1vfWVsc2V7RC5nPW99YnJlYWs7Y2FzZSJiIjppZihoLmxlbmd0aD09MSl7RD10fWVsc2V7RC5iPXR9YnJlYWs7Y2FzZSJhIjppZihoLmxlbmd0aD09MSl7RD11fWVsc2V7RC5hPXV9YnJlYWs7Y2FzZSJoIjppZihoLmxlbmd0aD09MSl7RD1ufWVsc2V7RC5oPW59YnJlYWs7Y2FzZSJzIjppZihoLmxlbmd0aD09MSl7RD1BfWVsc2V7RC5zPUF9YnJlYWs7Y2FzZSJ2IjppZihoLmxlbmd0aD09MSl7RD14fWVsc2V7RC52PXh9YnJlYWt9fXJldHVybiBEPT17fT9sLmNhbGwocSwiYWxsIik6RDticmVha319aWYociE9bnVsbCYmcj09cSl7cmV0dXJufXZhciB2PWZhbHNlO2lmKGg9PW51bGwpe2g9IiJ9aWYoRz09bnVsbCl7aWYoaiE9bnVsbCl7aj1udWxsO3Y9dHJ1ZX1pZihvIT1udWxsKXtvPW51bGw7dj10cnVlfWlmKHQhPW51bGwpe3Q9bnVsbDt2PXRydWV9aWYodSE9bnVsbCl7dT1udWxsO3Y9dHJ1ZX1pZihuIT1udWxsKXtuPW51bGw7dj10cnVlfWlmKEEhPW51bGwpe0E9bnVsbDt2PXRydWV9aWYoeCE9bnVsbCl7eD1udWxsO3Y9dHJ1ZX12JiZtLmNhbGwocSxyfHxxKTtyZXR1cm59c3dpdGNoKGgudG9Mb3dlckNhc2UoKSl7Y2FzZSJhaGV4IjpjYXNlImhleCI6dmFyIEQ9Zy5oZXhUb1JnYmEoRyYmKEcuYWhleHx8Ry5oZXgpfHxHfHwiMDAwMDAwMDAiKTtsLmNhbGwocSwicmdiYSIse3I6RC5yLGc6RC5nLGI6RC5iLGE6aD09ImFoZXgiP0QuYTp1IT1udWxsP3U6MjU1fSxyKTticmVhaztkZWZhdWx0OmlmKEcmJihHLmFoZXghPW51bGx8fEcuaGV4IT1udWxsKSl7bC5jYWxsKHEsImFoZXgiLEcuYWhleHx8Ry5oZXh8fCIwMDAwMDAwMCIscik7cmV0dXJufXZhciBzPXt9LEU9ZmFsc2UsQz1mYWxzZTtpZihHLnIhPT11bmRlZmluZWQmJiFoLmluZGV4T2YoInIiKT09LTEpe2grPSJyIn1pZihHLmchPT11bmRlZmluZWQmJiFoLmluZGV4T2YoImciKT09LTEpe2grPSJnIn1pZihHLmIhPT11bmRlZmluZWQmJiFoLmluZGV4T2YoImIiKT09LTEpe2grPSJiIn1pZihHLmEhPT11bmRlZmluZWQmJiFoLmluZGV4T2YoImEiKT09LTEpe2grPSJhIn1pZihHLmghPT11bmRlZmluZWQmJiFoLmluZGV4T2YoImgiKT09LTEpe2grPSJoIn1pZihHLnMhPT11bmRlZmluZWQmJiFoLmluZGV4T2YoInMiKT09LTEpe2grPSJzIn1pZihHLnYhPT11bmRlZmluZWQmJiFoLmluZGV4T2YoInYiKT09LTEpe2grPSJ2In1mb3IodmFyIEI9MDtCPGgubGVuZ3RoO0IrKyl7c3dpdGNoKGguY2hhckF0KEIpKXtjYXNlInIiOmlmKEMpe2NvbnRpbnVlfUU9dHJ1ZTtzLnI9RyYmRy5yJiZHLnJ8MHx8RyYmR3wwfHwwO2lmKHMucjwwKXtzLnI9MH1lbHNle2lmKHMucj4yNTUpe3Mucj0yNTV9fWlmKGohPXMucil7aj1zLnI7dj10cnVlfWJyZWFrO2Nhc2UiZyI6aWYoQyl7Y29udGludWV9RT10cnVlO3MuZz1HJiZHLmcmJkcuZ3wwfHxHJiZHfDB8fDA7aWYocy5nPDApe3MuZz0wfWVsc2V7aWYocy5nPjI1NSl7cy5nPTI1NX19aWYobyE9cy5nKXtvPXMuZzt2PXRydWV9YnJlYWs7Y2FzZSJiIjppZihDKXtjb250aW51ZX1FPXRydWU7cy5iPUcmJkcuYiYmRy5ifDB8fEcmJkd8MHx8MDtpZihzLmI8MCl7cy5iPTB9ZWxzZXtpZihzLmI+MjU1KXtzLmI9MjU1fX1pZih0IT1zLmIpe3Q9cy5iO3Y9dHJ1ZX1icmVhaztjYXNlImEiOnMuYT1HJiZHLmEhPW51bGw/Ry5hfDA6RyE9bnVsbD9HfDA6MjU1O2lmKHMuYTwwKXtzLmE9MH1lbHNle2lmKHMuYT4yNTUpe3MuYT0yNTV9fWlmKHUhPXMuYSl7dT1zLmE7dj10cnVlfWJyZWFrO2Nhc2UiaCI6aWYoRSl7Y29udGludWV9Qz10cnVlO3MuaD1HJiZHLmgmJkcuaHwwfHxHJiZHfDB8fDA7aWYocy5oPDApe3MuaD0wfWVsc2V7aWYocy5oPjM2MCl7cy5oPTM2MH19aWYobiE9cy5oKXtuPXMuaDt2PXRydWV9YnJlYWs7Y2FzZSJzIjppZihFKXtjb250aW51ZX1DPXRydWU7cy5zPUcmJkcucyE9bnVsbD9HLnN8MDpHIT1udWxsP0d8MDoxMDA7aWYocy5zPDApe3Mucz0wfWVsc2V7aWYocy5zPjEwMCl7cy5zPTEwMH19aWYoQSE9cy5zKXtBPXMuczt2PXRydWV9YnJlYWs7Y2FzZSJ2IjppZihFKXtjb250aW51ZX1DPXRydWU7cy52PUcmJkcudiE9bnVsbD9HLnZ8MDpHIT1udWxsP0d8MDoxMDA7aWYocy52PDApe3Mudj0wfWVsc2V7aWYocy52PjEwMCl7cy52PTEwMH19aWYoeCE9cy52KXt4PXMudjt2PXRydWV9YnJlYWt9fWlmKHYpe2lmKEUpe2o9anx8MDtvPW98fDA7dD10fHwwO3ZhciBEPWcucmdiVG9Ic3Yoe3I6aixnOm8sYjp0fSk7bj1ELmg7QT1ELnM7eD1ELnZ9ZWxzZXtpZihDKXtuPW58fDA7QT1BIT1udWxsP0E6MTAwO3g9eCE9bnVsbD94OjEwMDt2YXIgRD1nLmhzdlRvUmdiKHtoOm4sczpBLHY6eH0pO2o9RC5yO289RC5nO3Q9RC5ifX11PXUhPW51bGw/dToyNTU7bS5jYWxsKHEscnx8cSl9YnJlYWt9fSxwPWZ1bmN0aW9uKGgpe2lmKGUuaXNGdW5jdGlvbihoKSl7ay5wdXNoKGgpfX0seT1mdW5jdGlvbihyKXtpZighZS5pc0Z1bmN0aW9uKHIpKXtyZXR1cm59dmFyIGg7d2hpbGUoKGg9ZS5pbkFycmF5KHIsaykpIT0tMSl7ay5zcGxpY2UoaCwxKX19LHc9ZnVuY3Rpb24oKXtrPW51bGx9O2UuZXh0ZW5kKHRydWUscSx7dmFsOmwsYmluZDpwLHVuYmluZDp5LGRlc3Ryb3k6d30pO2lmKHope2lmKHouYWhleCE9bnVsbCl7bCgiYWhleCIseil9ZWxzZXtpZih6LmhleCE9bnVsbCl7bCgoei5hIT1udWxsPyJhIjoiIikrImhleCIsei5hIT1udWxsP3thaGV4OnouaGV4K2cuaW50VG9IZXgoei5hKX06eil9ZWxzZXtpZih6LnIhPW51bGwmJnouZyE9bnVsbCYmei5iIT1udWxsKXtsKCJyZ2IiKyh6LmEhPW51bGw/ImEiOiIiKSx6KX1lbHNle2lmKHouaCE9bnVsbCYmei5zIT1udWxsJiZ6LnYhPW51bGwpe2woImhzdiIrKHouYSE9bnVsbD8iYSI6IiIpLHopfX19fX19LENvbG9yTWV0aG9kczp7aGV4VG9SZ2JhOmZ1bmN0aW9uKG0pe209dGhpcy52YWxpZGF0ZUhleChtKTtpZihtPT0iIil7cmV0dXJue3I6bnVsbCxnOm51bGwsYjpudWxsLGE6bnVsbH19dmFyIGw9IjAwIixrPSIwMCIsaD0iMDAiLGo9IjI1NSI7aWYobS5sZW5ndGg9PTYpe20rPSJmZiJ9aWYobS5sZW5ndGg+Nil7bD1tLnN1YnN0cmluZygwLDIpO2s9bS5zdWJzdHJpbmcoMiw0KTtoPW0uc3Vic3RyaW5nKDQsNik7aj1tLnN1YnN0cmluZyg2LG0ubGVuZ3RoKX1lbHNle2lmKG0ubGVuZ3RoPjQpe2w9bS5zdWJzdHJpbmcoNCxtLmxlbmd0aCk7bT1tLnN1YnN0cmluZygwLDQpfWlmKG0ubGVuZ3RoPjIpe2s9bS5zdWJzdHJpbmcoMixtLmxlbmd0aCk7bT1tLnN1YnN0cmluZygwLDIpfWlmKG0ubGVuZ3RoPjApe2g9bS5zdWJzdHJpbmcoMCxtLmxlbmd0aCl9fXJldHVybntyOnRoaXMuaGV4VG9JbnQobCksZzp0aGlzLmhleFRvSW50KGspLGI6dGhpcy5oZXhUb0ludChoKSxhOnRoaXMuaGV4VG9JbnQoail9fSx2YWxpZGF0ZUhleDpmdW5jdGlvbihoKXtoPWgudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bXmEtZjAtOV0vZywiIik7aWYoaC5sZW5ndGg+OCl7aD1oLnN1YnN0cmluZygwLDgpfXJldHVybiBofSxyZ2JhVG9IZXg6ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuaW50VG9IZXgoaC5yKSt0aGlzLmludFRvSGV4KGguZykrdGhpcy5pbnRUb0hleChoLmIpK3RoaXMuaW50VG9IZXgoaC5hKX0saW50VG9IZXg6ZnVuY3Rpb24oail7dmFyIGg9KGp8MCkudG9TdHJpbmcoMTYpO2lmKGgubGVuZ3RoPT0xKXtoPSgiMCIraCl9cmV0dXJuIGgudG9Mb3dlckNhc2UoKX0saGV4VG9JbnQ6ZnVuY3Rpb24oaCl7cmV0dXJuIHBhcnNlSW50KGgsMTYpfSxyZ2JUb0hzdjpmdW5jdGlvbihsKXt2YXIgbz1sLnIvMjU1LG49bC5nLzI1NSxqPWwuYi8yNTUsaz17aDowLHM6MCx2OjB9LG09MCxoPTAscDtpZihvPj1uJiZvPj1qKXtoPW87bT1uPmo/ajpufWVsc2V7aWYobj49aiYmbj49byl7aD1uO209bz5qP2o6b31lbHNle2g9ajttPW4+bz9vOm59fWsudj1oO2sucz1oPyhoLW0pL2g6MDtpZighay5zKXtrLmg9MH1lbHNle3A9aC1tO2lmKG89PWgpe2suaD0obi1qKS9wfWVsc2V7aWYobj09aCl7ay5oPTIrKGotbykvcH1lbHNle2suaD00KyhvLW4pL3B9fWsuaD1wYXJzZUludChrLmgqNjApO2lmKGsuaDwwKXtrLmgrPTM2MH19ay5zPShrLnMqMTAwKXwwO2sudj0oay52KjEwMCl8MDtyZXR1cm4ga30saHN2VG9SZ2I6ZnVuY3Rpb24obil7dmFyIHI9e3I6MCxnOjAsYjowLGE6MTAwfSxtPW4uaCx4PW4ucyx1PW4udjtpZih4PT0wKXtpZih1PT0wKXtyLnI9ci5nPXIuYj0wfWVsc2V7ci5yPXIuZz1yLmI9KHUqMjU1LzEwMCl8MH19ZWxzZXtpZihtPT0zNjApe209MH1tLz02MDt4PXgvMTAwO3U9dS8xMDA7dmFyIGw9bXwwLG89bS1sLGs9dSooMS14KSxqPXUqKDEtKHgqbykpLHc9dSooMS0oeCooMS1vKSkpO3N3aXRjaChsKXtjYXNlIDA6ci5yPXU7ci5nPXc7ci5iPWs7YnJlYWs7Y2FzZSAxOnIucj1qO3IuZz11O3IuYj1rO2JyZWFrO2Nhc2UgMjpyLnI9aztyLmc9dTtyLmI9dzticmVhaztjYXNlIDM6ci5yPWs7ci5nPWo7ci5iPXU7YnJlYWs7Y2FzZSA0OnIucj13O3IuZz1rO3IuYj11O2JyZWFrO2Nhc2UgNTpyLnI9dTtyLmc9aztyLmI9ajticmVha31yLnI9KHIucioyNTUpfDA7ci5nPShyLmcqMjU1KXwwO3IuYj0oci5iKjI1NSl8MH1yZXR1cm4gcn19fTt2YXIgZj1lLmpQaWNrZXIuQ29sb3IsYz1lLmpQaWNrZXIuTGlzdCxnPWUualBpY2tlci5Db2xvck1ldGhvZHM7ZS5mbi5qUGlja2VyPWZ1bmN0aW9uKGope3ZhciBoPWFyZ3VtZW50cztyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHc9dGhpcyxhdj1lLmV4dGVuZCh0cnVlLHt9LGUuZm4ualBpY2tlci5kZWZhdWx0cyxqKTtpZihlKHcpLmdldCgwKS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT0iaW5wdXQiKXtlLmV4dGVuZCh0cnVlLGF2LHt3aW5kb3c6e2JpbmRUb0lucHV0OnRydWUsZXhwYW5kYWJsZTp0cnVlLGlucHV0OmUodyl9fSk7aWYoZSh3KS52YWwoKT09IiIpe2F2LmNvbG9yLmFjdGl2ZT1uZXcgZih7aGV4Om51bGx9KTthdi5jb2xvci5jdXJyZW50PW5ldyBmKHtoZXg6bnVsbH0pfWVsc2V7aWYoZy52YWxpZGF0ZUhleChlKHcpLnZhbCgpKSl7YXYuY29sb3IuYWN0aXZlPW5ldyBmKHtoZXg6ZSh3KS52YWwoKSxhOmF2LmNvbG9yLmFjdGl2ZS52YWwoImEiKX0pO2F2LmNvbG9yLmN1cnJlbnQ9bmV3IGYoe2hleDplKHcpLnZhbCgpLGE6YXYuY29sb3IuYWN0aXZlLnZhbCgiYSIpfSl9fX1pZihhdi53aW5kb3cuZXhwYW5kYWJsZSl7ZSh3KS5hZnRlcignPHNwYW4gY2xhc3M9ImpQaWNrZXIiPjxzcGFuIGNsYXNzPSJJY29uIj48c3BhbiBjbGFzcz0iQ29sb3IiPiZuYnNwOzwvc3Bhbj48c3BhbiBjbGFzcz0iQWxwaGEiPiZuYnNwOzwvc3Bhbj48c3BhbiBjbGFzcz0iSW1hZ2UiIHRpdGxlPSJDbGljayBUbyBPcGVuIENvbG9yIFBpY2tlciI+Jm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSJDb250YWluZXIiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PC9zcGFuPicpfWVsc2V7YXYud2luZG93LmxpdmVVcGRhdGU9ZmFsc2V9dmFyIFE9cGFyc2VGbG9hdChuYXZpZ2F0b3IuYXBwVmVyc2lvbi5zcGxpdCgiTVNJRSIpWzFdKTw3JiZkb2N1bWVudC5ib2R5LmZpbHRlcnMsUj1udWxsLGw9bnVsbCxzPW51bGwsYXU9bnVsbCxhdD1udWxsLGFyPW51bGwsUD1udWxsLE89bnVsbCxOPW51bGwsTT1udWxsLEw9bnVsbCxLPW51bGwsRD1udWxsLFU9bnVsbCxhdz1udWxsLEo9bnVsbCxJPW51bGwsYW09bnVsbCxhaT1udWxsLEU9bnVsbCxhbj1udWxsLGFoPW51bGwsWD1udWxsLGFiPW51bGwsYXE9bnVsbCxyPW51bGwsQz1udWxsLHU9bnVsbCxhZz1mdW5jdGlvbihhQil7dmFyIGFEPUcuYWN0aXZlLGFFPW4uY2xpZW50UGF0aCxhQT1hRC52YWwoImhleCIpLGFDLGF6O2F2LmNvbG9yLm1vZGU9YUI7c3dpdGNoKGFCKXtjYXNlImgiOnNldFRpbWVvdXQoZnVuY3Rpb24oKXt5LmNhbGwodyxsLCJ0cmFuc3BhcmVudCIpO3guY2FsbCh3LGF1LDApO1kuY2FsbCh3LGF1LDEwMCk7eC5jYWxsKHcsYXQsMjYwKTtZLmNhbGwodyxhdCwxMDApO3kuY2FsbCh3LHMsInRyYW5zcGFyZW50Iik7eC5jYWxsKHcsUCwwKTtZLmNhbGwodyxQLDEwMCk7eC5jYWxsKHcsTywyNjApO1kuY2FsbCh3LE8sMTAwKTt4LmNhbGwodyxOLDI2MCk7WS5jYWxsKHcsTiwxMDApO3guY2FsbCh3LE0sMjYwKTtZLmNhbGwodyxNLDEwMCk7eC5jYWxsKHcsSywyNjApO1kuY2FsbCh3LEssMTAwKX0sMCk7RC5yYW5nZSgiYWxsIix7bWluWDowLG1heFg6MTAwLG1pblk6MCxtYXhZOjEwMH0pO1UucmFuZ2UoInJhbmdlWSIse21pblk6MCxtYXhZOjM2MH0pO2lmKGFELnZhbCgiYWhleCIpPT1udWxsKXticmVha31ELnZhbCgieHkiLHt4OmFELnZhbCgicyIpLHk6MTAwLWFELnZhbCgidiIpfSxEKTtVLnZhbCgieSIsMzYwLWFELnZhbCgiaCIpLFUpO2JyZWFrO2Nhc2UicyI6c2V0VGltZW91dChmdW5jdGlvbigpe3kuY2FsbCh3LGwsInRyYW5zcGFyZW50Iik7eC5jYWxsKHcsYXUsLTI2MCk7eC5jYWxsKHcsYXQsLTUyMCk7eC5jYWxsKHcsUCwtMjYwKTt4LmNhbGwodyxPLC01MjApO3guY2FsbCh3LEssMjYwKTtZLmNhbGwodyxLLDEwMCl9LDApO0QucmFuZ2UoImFsbCIse21pblg6MCxtYXhYOjM2MCxtaW5ZOjAsbWF4WToxMDB9KTtVLnJhbmdlKCJyYW5nZVkiLHttaW5ZOjAsbWF4WToxMDB9KTtpZihhRC52YWwoImFoZXgiKT09bnVsbCl7YnJlYWt9RC52YWwoInh5Iix7eDphRC52YWwoImgiKSx5OjEwMC1hRC52YWwoInYiKX0sRCk7VS52YWwoInkiLDEwMC1hRC52YWwoInMiKSxVKTticmVhaztjYXNlInYiOnNldFRpbWVvdXQoZnVuY3Rpb24oKXt5LmNhbGwodyxsLCIwMDAwMDAiKTt4LmNhbGwodyxhdSwtNzgwKTt4LmNhbGwodyxhdCwyNjApO3kuY2FsbCh3LHMsYUEpO3guY2FsbCh3LFAsLTUyMCk7eC5jYWxsKHcsTywyNjApO1kuY2FsbCh3LE8sMTAwKTt4LmNhbGwodyxLLDI2MCk7WS5jYWxsKHcsSywxMDApfSwwKTtELnJhbmdlKCJhbGwiLHttaW5YOjAsbWF4WDozNjAsbWluWTowLG1heFk6MTAwfSk7VS5yYW5nZSgicmFuZ2VZIix7bWluWTowLG1heFk6MTAwfSk7aWYoYUQudmFsKCJhaGV4Iik9PW51bGwpe2JyZWFrfUQudmFsKCJ4eSIse3g6YUQudmFsKCJoIikseToxMDAtYUQudmFsKCJzIil9LEQpO1UudmFsKCJ5IiwxMDAtYUQudmFsKCJ2IiksVSk7YnJlYWs7Y2FzZSJyIjphQz0tMTA0MDthej0tNzgwO0QucmFuZ2UoImFsbCIse21pblg6MCxtYXhYOjI1NSxtaW5ZOjAsbWF4WToyNTV9KTtVLnJhbmdlKCJyYW5nZVkiLHttaW5ZOjAsbWF4WToyNTV9KTtpZihhRC52YWwoImFoZXgiKT09bnVsbCl7YnJlYWt9RC52YWwoInh5Iix7eDphRC52YWwoImIiKSx5OjI1NS1hRC52YWwoImciKX0sRCk7VS52YWwoInkiLDI1NS1hRC52YWwoInIiKSxVKTticmVhaztjYXNlImciOmFDPS0xNTYwO2F6PS0xODIwO0QucmFuZ2UoImFsbCIse21pblg6MCxtYXhYOjI1NSxtaW5ZOjAsbWF4WToyNTV9KTtVLnJhbmdlKCJyYW5nZVkiLHttaW5ZOjAsbWF4WToyNTV9KTtpZihhRC52YWwoImFoZXgiKT09bnVsbCl7YnJlYWt9RC52YWwoInh5Iix7eDphRC52YWwoImIiKSx5OjI1NS1hRC52YWwoInIiKX0sRCk7VS52YWwoInkiLDI1NS1hRC52YWwoImciKSxVKTticmVhaztjYXNlImIiOmFDPS0yMDgwO2F6PS0yODYwO0QucmFuZ2UoImFsbCIse21pblg6MCxtYXhYOjI1NSxtaW5ZOjAsbWF4WToyNTV9KTtVLnJhbmdlKCJyYW5nZVkiLHttaW5ZOjAsbWF4WToyNTV9KTtpZihhRC52YWwoImFoZXgiKT09bnVsbCl7YnJlYWt9RC52YWwoInh5Iix7eDphRC52YWwoInIiKSx5OjI1NS1hRC52YWwoImciKX0sRCk7VS52YWwoInkiLDI1NS1hRC52YWwoImIiKSxVKTticmVhaztjYXNlImEiOnNldFRpbWVvdXQoZnVuY3Rpb24oKXt5LmNhbGwodyxsLCJ0cmFuc3BhcmVudCIpO3guY2FsbCh3LGF1LC0yNjApO3guY2FsbCh3LGF0LC01MjApO3guY2FsbCh3LFAsMjYwKTt4LmNhbGwodyxPLDI2MCk7WS5jYWxsKHcsTywxMDApO3guY2FsbCh3LEssMCk7WS5jYWxsKHcsSywxMDApfSwwKTtELnJhbmdlKCJhbGwiLHttaW5YOjAsbWF4WDozNjAsbWluWTowLG1heFk6MTAwfSk7VS5yYW5nZSgicmFuZ2VZIix7bWluWTowLG1heFk6MjU1fSk7aWYoYUQudmFsKCJhaGV4Iik9PW51bGwpe2JyZWFrfUQudmFsKCJ4eSIse3g6YUQudmFsKCJoIikseToxMDAtYUQudmFsKCJ2Iil9LEQpO1UudmFsKCJ5IiwyNTUtYUQudmFsKCJhIiksVSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyAoIkludmFsaWQgTW9kZSIpO2JyZWFrfXN3aXRjaChhQil7Y2FzZSJoIjpicmVhaztjYXNlInMiOmNhc2UidiI6Y2FzZSJhIjpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7WS5jYWxsKHcsYXUsMTAwKTtZLmNhbGwodyxQLDEwMCk7eC5jYWxsKHcsTiwyNjApO1kuY2FsbCh3LE4sMTAwKTt4LmNhbGwodyxNLDI2MCk7WS5jYWxsKHcsTSwxMDApfSwwKTticmVhaztjYXNlInIiOmNhc2UiZyI6Y2FzZSJiIjpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7eS5jYWxsKHcsbCwidHJhbnNwYXJlbnQiKTt5LmNhbGwodyxzLCJ0cmFuc3BhcmVudCIpO1kuY2FsbCh3LFAsMTAwKTtZLmNhbGwodyxhdSwxMDApO3guY2FsbCh3LGF1LGFDKTt4LmNhbGwodyxhdCxhQy0yNjApO3guY2FsbCh3LFAsYXotNzgwKTt4LmNhbGwodyxPLGF6LTUyMCk7eC5jYWxsKHcsTixheik7eC5jYWxsKHcsTSxhei0yNjApO3guY2FsbCh3LEssMjYwKTtZLmNhbGwodyxLLDEwMCl9LDApO2JyZWFrfWlmKGFELnZhbCgiYWhleCIpPT1udWxsKXtyZXR1cm59YWouY2FsbCh3LGFEKX0sYWo9ZnVuY3Rpb24oYUEsYXope2lmKGF6PT1udWxsfHwoYXohPVUmJmF6IT1EKSl7di5jYWxsKHcsYUEsYXopfXNldFRpbWVvdXQoZnVuY3Rpb24oKXtheS5jYWxsKHcsYUEpO2FsLmNhbGwodyxhQSk7Vy5jYWxsKHcsYUEpfSwwKX0sej1mdW5jdGlvbihhQSxheil7dmFyIGFDPUcuYWN0aXZlO2lmKGF6IT1EJiZhQy52YWwoKT09bnVsbCl7cmV0dXJufXZhciBhQj1hQS52YWwoImFsbCIpO3N3aXRjaChhdi5jb2xvci5tb2RlKXtjYXNlImgiOmFDLnZhbCgic3YiLHtzOmFCLngsdjoxMDAtYUIueX0sYXopO2JyZWFrO2Nhc2UicyI6Y2FzZSJhIjphQy52YWwoImh2Iix7aDphQi54LHY6MTAwLWFCLnl9LGF6KTticmVhaztjYXNlInYiOmFDLnZhbCgiaHMiLHtoOmFCLngsczoxMDAtYUIueX0sYXopO2JyZWFrO2Nhc2UiciI6YUMudmFsKCJnYiIse2c6MjU1LWFCLnksYjphQi54fSxheik7YnJlYWs7Y2FzZSJnIjphQy52YWwoInJiIix7cjoyNTUtYUIueSxiOmFCLnh9LGF6KTticmVhaztjYXNlImIiOmFDLnZhbCgicmciLHtyOmFCLngsZzoyNTUtYUIueX0sYXopO2JyZWFrfX0sYWM9ZnVuY3Rpb24oYUEsYXope3ZhciBhQj1HLmFjdGl2ZTtpZihheiE9VSYmYUIudmFsKCk9PW51bGwpe3JldHVybn1zd2l0Y2goYXYuY29sb3IubW9kZSl7Y2FzZSJoIjphQi52YWwoImgiLHtoOjM2MC1hQS52YWwoInkiKX0sYXopO2JyZWFrO2Nhc2UicyI6YUIudmFsKCJzIix7czoxMDAtYUEudmFsKCJ5Iil9LGF6KTticmVhaztjYXNlInYiOmFCLnZhbCgidiIse3Y6MTAwLWFBLnZhbCgieSIpfSxheik7YnJlYWs7Y2FzZSJyIjphQi52YWwoInIiLHtyOjI1NS1hQS52YWwoInkiKX0sYXopO2JyZWFrO2Nhc2UiZyI6YUIudmFsKCJnIix7ZzoyNTUtYUEudmFsKCJ5Iil9LGF6KTticmVhaztjYXNlImIiOmFCLnZhbCgiYiIse2I6MjU1LWFBLnZhbCgieSIpfSxheik7YnJlYWs7Y2FzZSJhIjphQi52YWwoImEiLDI1NS1hQS52YWwoInkiKSxheik7YnJlYWt9fSx2PWZ1bmN0aW9uKGFDLGF6KXtpZihheiE9RCl7c3dpdGNoKGF2LmNvbG9yLm1vZGUpe2Nhc2UiaCI6dmFyIGFIPWFDLnZhbCgic3YiKTtELnZhbCgieHkiLHt4OmFIIT1udWxsP2FILnM6MTAwLHk6MTAwLShhSCE9bnVsbD9hSC52OjEwMCl9LGF6KTticmVhaztjYXNlInMiOmNhc2UiYSI6dmFyIGFCPWFDLnZhbCgiaHYiKTtELnZhbCgieHkiLHt4OmFCJiZhQi5ofHwwLHk6MTAwLShhQiE9bnVsbD9hQi52OjEwMCl9LGF6KTticmVhaztjYXNlInYiOnZhciBhRT1hQy52YWwoImhzIik7RC52YWwoInh5Iix7eDphRSYmYUUuaHx8MCx5OjEwMC0oYUUhPW51bGw/YUUuczoxMDApfSxheik7YnJlYWs7Y2FzZSJyIjp2YXIgYUE9YUMudmFsKCJiZyIpO0QudmFsKCJ4eSIse3g6YUEmJmFBLmJ8fDAseToyNTUtKGFBJiZhQS5nfHwwKX0sYXopO2JyZWFrO2Nhc2UiZyI6dmFyIGFJPWFDLnZhbCgiYnIiKTtELnZhbCgieHkiLHt4OmFJJiZhSS5ifHwwLHk6MjU1LShhSSYmYUkucnx8MCl9LGF6KTticmVhaztjYXNlImIiOnZhciBhRz1hQy52YWwoInJnIik7RC52YWwoInh5Iix7eDphRyYmYUcucnx8MCx5OjI1NS0oYUcmJmFHLmd8fDApfSxheik7YnJlYWt9fWlmKGF6IT1VKXtzd2l0Y2goYXYuY29sb3IubW9kZSl7Y2FzZSJoIjpVLnZhbCgieSIsMzYwLShhQy52YWwoImgiKXx8MCksYXopO2JyZWFrO2Nhc2UicyI6dmFyIGFKPWFDLnZhbCgicyIpO1UudmFsKCJ5IiwxMDAtKGFKIT1udWxsP2FKOjEwMCksYXopO2JyZWFrO2Nhc2UidiI6dmFyIGFGPWFDLnZhbCgidiIpO1UudmFsKCJ5IiwxMDAtKGFGIT1udWxsP2FGOjEwMCksYXopO2JyZWFrO2Nhc2UiciI6VS52YWwoInkiLDI1NS0oYUMudmFsKCJyIil8fDApLGF6KTticmVhaztjYXNlImciOlUudmFsKCJ5IiwyNTUtKGFDLnZhbCgiZyIpfHwwKSxheik7YnJlYWs7Y2FzZSJiIjpVLnZhbCgieSIsMjU1LShhQy52YWwoImIiKXx8MCksYXopO2JyZWFrO2Nhc2UiYSI6dmFyIGFEPWFDLnZhbCgiYSIpO1UudmFsKCJ5IiwyNTUtKGFEIT1udWxsP2FEOjI1NSksYXopO2JyZWFrfX19LGF5PWZ1bmN0aW9uKGFBKXt0cnl7dmFyIGF6PWFBLnZhbCgiYWxsIik7RS5jc3Moe2JhY2tncm91bmRDb2xvcjpheiYmIiMiK2F6LmhleHx8InRyYW5zcGFyZW50In0pO1kuY2FsbCh3LEUsYXomJk1hdGgucHJlY2lzaW9uKChhei5hKjEwMCkvMjU1LDQpfHwwKX1jYXRjaChhQil7fX0sYWw9ZnVuY3Rpb24oYUMpe3N3aXRjaChhdi5jb2xvci5tb2RlKXtjYXNlImgiOnkuY2FsbCh3LGwsbmV3IGYoe2g6YUMudmFsKCJoIil8fDAsczoxMDAsdjoxMDB9KS52YWwoImhleCIpKTticmVhaztjYXNlInMiOmNhc2UiYSI6dmFyIGFCPWFDLnZhbCgicyIpO1kuY2FsbCh3LGF0LDEwMC0oYUIhPW51bGw/YUI6MTAwKSk7YnJlYWs7Y2FzZSJ2Ijp2YXIgYUE9YUMudmFsKCJ2Iik7WS5jYWxsKHcsYXUsYUEhPW51bGw/YUE6MTAwKTticmVhaztjYXNlInIiOlkuY2FsbCh3LGF0LE1hdGgucHJlY2lzaW9uKChhQy52YWwoInIiKXx8MCkvMjU1KjEwMCw0KSk7YnJlYWs7Y2FzZSJnIjpZLmNhbGwodyxhdCxNYXRoLnByZWNpc2lvbigoYUMudmFsKCJnIil8fDApLzI1NSoxMDAsNCkpO2JyZWFrO2Nhc2UiYiI6WS5jYWxsKHcsYXQsTWF0aC5wcmVjaXNpb24oKGFDLnZhbCgiYiIpfHwwKS8yNTUqMTAwKSk7YnJlYWt9dmFyIGF6PWFDLnZhbCgiYSIpO1kuY2FsbCh3LGFyLE1hdGgucHJlY2lzaW9uKCgoMjU1LShhenx8MCkpKjEwMCkvMjU1LDQpKX0sVz1mdW5jdGlvbihhRil7c3dpdGNoKGF2LmNvbG9yLm1vZGUpe2Nhc2UiaCI6dmFyIGFIPWFGLnZhbCgiYSIpO1kuY2FsbCh3LEwsTWF0aC5wcmVjaXNpb24oKCgyNTUtKGFIfHwwKSkqMTAwKS8yNTUsNCkpO2JyZWFrO2Nhc2UicyI6dmFyIGFBPWFGLnZhbCgiaHZhIiksYUI9bmV3IGYoe2g6YUEmJmFBLmh8fDAsczoxMDAsdjphQSE9bnVsbD9hQS52OjEwMH0pO3kuY2FsbCh3LHMsYUIudmFsKCJoZXgiKSk7WS5jYWxsKHcsTywxMDAtKGFBIT1udWxsP2FBLnY6MTAwKSk7WS5jYWxsKHcsTCxNYXRoLnByZWNpc2lvbigoKDI1NS0oYUEmJmFBLmF8fDApKSoxMDApLzI1NSw0KSk7YnJlYWs7Y2FzZSJ2Ijp2YXIgYUM9YUYudmFsKCJoc2EiKSxhRT1uZXcgZih7aDphQyYmYUMuaHx8MCxzOmFDIT1udWxsP2FDLnM6MTAwLHY6MTAwfSk7eS5jYWxsKHcscyxhRS52YWwoImhleCIpKTtZLmNhbGwodyxMLE1hdGgucHJlY2lzaW9uKCgoMjU1LShhQyYmYUMuYXx8MCkpKjEwMCkvMjU1LDQpKTticmVhaztjYXNlInIiOmNhc2UiZyI6Y2FzZSJiIjp2YXIgYUQ9MCxhRz0wLGF6PWFGLnZhbCgicmdiYSIpO2lmKGF2LmNvbG9yLm1vZGU9PSJyIil7YUQ9YXomJmF6LmJ8fDA7YUc9YXomJmF6Lmd8fDB9ZWxzZXtpZihhdi5jb2xvci5tb2RlPT0iZyIpe2FEPWF6JiZhei5ifHwwO2FHPWF6JiZhei5yfHwwfWVsc2V7aWYoYXYuY29sb3IubW9kZT09ImIiKXthRD1heiYmYXoucnx8MDthRz1heiYmYXouZ3x8MH19fXZhciBhST1hRz5hRD9hRDphRztZLmNhbGwodyxPLGFEPmFHP01hdGgucHJlY2lzaW9uKCgoYUQtYUcpLygyNTUtYUcpKSoxMDAsNCk6MCk7WS5jYWxsKHcsTixhRz5hRD9NYXRoLnByZWNpc2lvbigoKGFHLWFEKS8oMjU1LWFEKSkqMTAwLDQpOjApO1kuY2FsbCh3LE0sTWF0aC5wcmVjaXNpb24oKGFJLzI1NSkqMTAwLDQpKTtZLmNhbGwodyxMLE1hdGgucHJlY2lzaW9uKCgoMjU1LShheiYmYXouYXx8MCkpKjEwMCkvMjU1LDQpKTticmVhaztjYXNlImEiOnZhciBhSD1hRi52YWwoImEiKTt5LmNhbGwodyxzLGFGLnZhbCgiaGV4Iil8fCIwMDAwMDAiKTtZLmNhbGwodyxMLGFIIT1udWxsPzA6MTAwKTtZLmNhbGwodyxLLGFIIT1udWxsPzEwMDowKTticmVha319LHk9ZnVuY3Rpb24oYXosYUEpe2F6LmNzcyh7YmFja2dyb3VuZENvbG9yOmFBJiZhQS5sZW5ndGg9PTYmJiIjIithQXx8InRyYW5zcGFyZW50In0pfSx0PWZ1bmN0aW9uKGF6LGFBKXtpZihRJiYoYUEuaW5kZXhPZigiQWxwaGFCYXIucG5nIikhPS0xfHxhQS5pbmRleE9mKCJCYXJzLnBuZyIpIT0tMXx8YUEuaW5kZXhPZigiTWFwcy5wbmciKSE9LTEpKXthei5hdHRyKCJwbmdTcmMiLGFBKTthei5jc3Moe2JhY2tncm91bmRJbWFnZToibm9uZSIsZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9JyIrYUErIicsIHNpemluZ01ldGhvZD0nc2NhbGUnKSJ9KX1lbHNle2F6LmNzcyh7YmFja2dyb3VuZEltYWdlOiJ1cmwoJyIrYUErIicpIn0pfX0seD1mdW5jdGlvbihheixhQSl7YXouY3NzKHt0b3A6YUErInB4In0pfSxZPWZ1bmN0aW9uKGFBLGF6KXthQS5jc3Moe3Zpc2liaWxpdHk6YXo+MD8idmlzaWJsZSI6ImhpZGRlbiJ9KTtpZihhej4wJiZhejwxMDApe2lmKFEpe3ZhciBhQj1hQS5hdHRyKCJwbmdTcmMiKTtpZihhQiE9bnVsbCYmKGFCLmluZGV4T2YoIkFscGhhQmFyLnBuZyIpIT0tMXx8YUIuaW5kZXhPZigiQmFycy5wbmciKSE9LTF8fGFCLmluZGV4T2YoIk1hcHMucG5nIikhPS0xKSl7YUEuY3NzKHtmaWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nIithQisiJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpIHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShvcGFjaXR5PSIrYXorIikifSl9ZWxzZXthQS5jc3Moe29wYWNpdHk6TWF0aC5wcmVjaXNpb24oYXovMTAwLDQpfSl9fWVsc2V7YUEuY3NzKHtvcGFjaXR5Ok1hdGgucHJlY2lzaW9uKGF6LzEwMCw0KX0pfX1lbHNle2lmKGF6PT0wfHxhej09MTAwKXtpZihRKXt2YXIgYUI9YUEuYXR0cigicG5nU3JjIik7aWYoYUIhPW51bGwmJihhQi5pbmRleE9mKCJBbHBoYUJhci5wbmciKSE9LTF8fGFCLmluZGV4T2YoIkJhcnMucG5nIikhPS0xfHxhQi5pbmRleE9mKCJNYXBzLnBuZyIpIT0tMSkpe2FBLmNzcyh7ZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9JyIrYUIrIicsIHNpemluZ01ldGhvZD0nc2NhbGUnKSJ9KX1lbHNle2FBLmNzcyh7b3BhY2l0eToiIn0pfX1lbHNle2FBLmNzcyh7b3BhY2l0eToiIn0pfX19fSxCPWZ1bmN0aW9uKCl7Ry5hY3RpdmUudmFsKCJhaGV4IixHLmN1cnJlbnQudmFsKCJhaGV4IikpfSxUPWZ1bmN0aW9uKCl7Ry5jdXJyZW50LnZhbCgiYWhleCIsRy5hY3RpdmUudmFsKCJhaGV4IikpfSxBPWZ1bmN0aW9uKGF6KXtlKHRoaXMpLnBhcmVudHMoInRib2R5OmZpcnN0IikuZmluZCgnaW5wdXQ6cmFkaW9bdmFsdWUhPSInK2F6LnRhcmdldC52YWx1ZSsnIl0nKS5yZW1vdmVBdHRyKCJjaGVja2VkIik7YWcuY2FsbCh3LGF6LnRhcmdldC52YWx1ZSl9LFo9ZnVuY3Rpb24oKXtCLmNhbGwodyl9LHE9ZnVuY3Rpb24oKXtCLmNhbGwodyk7YXYud2luZG93LmV4cGFuZGFibGUmJmFvLmNhbGwodyk7ZS5pc0Z1bmN0aW9uKGF4KSYmYXguY2FsbCh3LEcuYWN0aXZlLFgpfSxtPWZ1bmN0aW9uKCl7VC5jYWxsKHcpO2F2LndpbmRvdy5leHBhbmRhYmxlJiZhby5jYWxsKHcpO2UuaXNGdW5jdGlvbihhZSkmJmFlLmNhbGwodyxHLmFjdGl2ZSxhaCl9LGFmPWZ1bmN0aW9uKCl7Vi5jYWxsKHcpfSxhcD1mdW5jdGlvbihhQixheil7dmFyIGFBPWFCLnZhbCgiaGV4Iik7YW4uY3NzKHtiYWNrZ3JvdW5kQ29sb3I6YUEmJiIjIithQXx8InRyYW5zcGFyZW50In0pO1kuY2FsbCh3LGFuLE1hdGgucHJlY2lzaW9uKCgoYUIudmFsKCJhIil8fDApKjEwMCkvMjU1LDQpKX0sSD1mdW5jdGlvbihhQyxheil7dmFyIGFCPWFDLnZhbCgiaGV4Iik7dmFyIGFBPWFDLnZhbCgidmEiKTthcS5jc3Moe2JhY2tncm91bmRDb2xvcjphQiYmIiMiK2FCfHwidHJhbnNwYXJlbnQifSk7WS5jYWxsKHcscixNYXRoLnByZWNpc2lvbigoKDI1NS0oYUEmJmFBLmF8fDApKSoxMDApLzI1NSw0KSk7aWYoYXYud2luZG93LmJpbmRUb0lucHV0JiZhdi53aW5kb3cudXBkYXRlSW5wdXRDb2xvcil7YXYud2luZG93LmlucHV0LmNzcyh7YmFja2dyb3VuZENvbG9yOmFCJiYiIyIrYUJ8fCJ0cmFuc3BhcmVudCIsY29sb3I6YUE9PW51bGx8fGFBLnY+NzU/IiMwMDAwMDAiOiIjZmZmZmZmIn0pfX0sUz1mdW5jdGlvbihhQil7dmFyIGF6PWF2LndpbmRvdy5lbGVtZW50LGFBPWF2LndpbmRvdy5wYWdlO0o9cGFyc2VJbnQoUi5jc3MoImxlZnQiKSk7ST1wYXJzZUludChSLmNzcygidG9wIikpO2FtPWFCLnBhZ2VYO2FpPWFCLnBhZ2VZO2UoZG9jdW1lbnQpLmJpbmQoIm1vdXNlbW92ZSIsaykuYmluZCgibW91c2V1cCIscCk7YUIucHJldmVudERlZmF1bHQoKX0saz1mdW5jdGlvbihheil7Ui5jc3Moe2xlZnQ6Si0oYW0tYXoucGFnZVgpKyJweCIsdG9wOkktKGFpLWF6LnBhZ2VZKSsicHgifSk7aWYoYXYud2luZG93LmV4cGFuZGFibGUmJiFlLnN1cHBvcnQuYm94TW9kZWwpe1IucHJldigpLmNzcyh7bGVmdDpSLmNzcygibGVmdCIpLHRvcDpSLmNzcygidG9wIil9KX1hei5zdG9wUHJvcGFnYXRpb24oKTthei5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBmYWxzZX0scD1mdW5jdGlvbihheil7ZShkb2N1bWVudCkudW5iaW5kKCJtb3VzZW1vdmUiLGspLnVuYmluZCgibW91c2V1cCIscCk7YXouc3RvcFByb3BhZ2F0aW9uKCk7YXoucHJldmVudERlZmF1bHQoKTtyZXR1cm4gZmFsc2V9LEY9ZnVuY3Rpb24oYXope2F6LnByZXZlbnREZWZhdWx0KCk7YXouc3RvcFByb3BhZ2F0aW9uKCk7Ry5hY3RpdmUudmFsKCJhaGV4IixlKHRoaXMpLmF0dHIoInRpdGxlIil8fG51bGwsYXoudGFyZ2V0KTtyZXR1cm4gZmFsc2V9LGFlPWUuaXNGdW5jdGlvbihoWzFdKSYmaFsxXXx8bnVsbCxhZD1lLmlzRnVuY3Rpb24oaFsyXSkmJmhbMl18fG51bGwsYXg9ZS5pc0Z1bmN0aW9uKGhbM10pJiZoWzNdfHxudWxsLFY9ZnVuY3Rpb24oKXtHLmN1cnJlbnQudmFsKCJhaGV4IixHLmFjdGl2ZS52YWwoImFoZXgiKSk7dmFyIGF6PWZ1bmN0aW9uKCl7aWYoIWF2LndpbmRvdy5leHBhbmRhYmxlfHxlLnN1cHBvcnQuYm94TW9kZWwpe3JldHVybn12YXIgYUE9Ui5maW5kKCJ0YWJsZTpmaXJzdCIpO1IuYmVmb3JlKCI8aWZyYW1lLz4iKTtSLnByZXYoKS5jc3Moe3dpZHRoOmFBLndpZHRoKCksaGVpZ2h0OlIuaGVpZ2h0KCksb3BhY2l0eTowLHBvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDpSLmNzcygibGVmdCIpLHRvcDpSLmNzcygidG9wIil9KX07aWYoYXYud2luZG93LmV4cGFuZGFibGUpe2UoZG9jdW1lbnQuYm9keSkuY2hpbGRyZW4oImRpdi5qUGlja2VyLkNvbnRhaW5lciIpLmNzcyh7ekluZGV4OjEwfSk7Ui5jc3Moe3pJbmRleDoyMH0pfXN3aXRjaChhdi53aW5kb3cuZWZmZWN0cy50eXBlKXtjYXNlImZhZGUiOlIuZmFkZUluKGF2LndpbmRvdy5lZmZlY3RzLnNwZWVkLnNob3csYXopO2JyZWFrO2Nhc2Uic2xpZGUiOlIuc2xpZGVEb3duKGF2LndpbmRvdy5lZmZlY3RzLnNwZWVkLnNob3csYXopO2JyZWFrO2Nhc2Uic2hvdyI6ZGVmYXVsdDpSLnNob3coYXYud2luZG93LmVmZmVjdHMuc3BlZWQuc2hvdyxheik7YnJlYWt9fSxhbz1mdW5jdGlvbigpe3ZhciBhej1mdW5jdGlvbigpe2lmKGF2LndpbmRvdy5leHBhbmRhYmxlKXtSLmNzcyh7ekluZGV4OjEwfSl9aWYoIWF2LndpbmRvdy5leHBhbmRhYmxlfHxlLnN1cHBvcnQuYm94TW9kZWwpe3JldHVybn1SLnByZXYoKS5yZW1vdmUoKX07c3dpdGNoKGF2LndpbmRvdy5lZmZlY3RzLnR5cGUpe2Nhc2UiZmFkZSI6Ui5mYWRlT3V0KGF2LndpbmRvdy5lZmZlY3RzLnNwZWVkLmhpZGUsYXopO2JyZWFrO2Nhc2Uic2xpZGUiOlIuc2xpZGVVcChhdi53aW5kb3cuZWZmZWN0cy5zcGVlZC5oaWRlLGF6KTticmVhaztjYXNlInNob3ciOmRlZmF1bHQ6Ui5oaWRlKGF2LndpbmRvdy5lZmZlY3RzLnNwZWVkLmhpZGUsYXopO2JyZWFrfX0sbz1mdW5jdGlvbigpe3ZhciBhRz1hdi53aW5kb3csYXo9YUcuZXhwYW5kYWJsZT9lKHcpLm5leHQoKS5maW5kKCIuQ29udGFpbmVyOmZpcnN0Iik6bnVsbDtSPWFHLmV4cGFuZGFibGU/ZSgiPGRpdi8+Iik6ZSh3KTtSLmFkZENsYXNzKCJqUGlja2VyIENvbnRhaW5lciIpO2lmKGFHLmV4cGFuZGFibGUpe1IuaGlkZSgpfVIuZ2V0KDApLm9uc2VsZWN0c3RhcnQ9ZnVuY3Rpb24oYU4pe2lmKGFOLnRhcmdldC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09ImlucHV0Iil7cmV0dXJuIGZhbHNlfX07dmFyIGFKPUcuYWN0aXZlLnZhbCgiYWxsIik7aWYoYUcuYWxwaGFQcmVjaXNpb248MCl7YUcuYWxwaGFQcmVjaXNpb249MH1lbHNle2lmKGFHLmFscGhhUHJlY2lzaW9uPjIpe2FHLmFscGhhUHJlY2lzaW9uPTJ9fXZhciBhSz0nPHRhYmxlIGNsYXNzPSJqUGlja2VyIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPjx0Ym9keT4nKyhhRy5leHBhbmRhYmxlPyc8dHI+PHRkIGNsYXNzPSJNb3ZlIiBjb2xzcGFuPSI1Ij4mbmJzcDs8L3RkPjwvdHI+JzoiIikrJzx0cj48dGQgcm93c3Bhbj0iOSI+PGgyIGNsYXNzPSJUaXRsZSI+JysoYUcudGl0bGV8fGFhLnRleHQudGl0bGUpKyc8L2gyPjxkaXYgY2xhc3M9Ik1hcCI+PHNwYW4gY2xhc3M9Ik1hcDEiPiZuYnNwOzwvc3Bhbj48c3BhbiBjbGFzcz0iTWFwMiI+Jm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSJNYXAzIj4mbmJzcDs8L3NwYW4+PGltZyBzcmM9Iicrbi5jbGllbnRQYXRoK24uY29sb3JNYXAuYXJyb3cuZmlsZSsnIiBjbGFzcz0iQXJyb3ciLz48L2Rpdj48L3RkPjx0ZCByb3dzcGFuPSI5Ij48ZGl2IGNsYXNzPSJCYXIiPjxzcGFuIGNsYXNzPSJNYXAxIj4mbmJzcDs8L3NwYW4+PHNwYW4gY2xhc3M9Ik1hcDIiPiZuYnNwOzwvc3Bhbj48c3BhbiBjbGFzcz0iTWFwMyI+Jm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSJNYXA0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gY2xhc3M9Ik1hcDUiPiZuYnNwOzwvc3Bhbj48c3BhbiBjbGFzcz0iTWFwNiI+Jm5ic3A7PC9zcGFuPjxpbWcgc3JjPSInK24uY2xpZW50UGF0aCtuLmNvbG9yQmFyLmFycm93LmZpbGUrJyIgY2xhc3M9IkFycm93Ii8+PC9kaXY+PC90ZD48dGQgY29sc3Bhbj0iMiIgY2xhc3M9IlByZXZpZXciPicrYWEudGV4dC5uZXdDb2xvcisnPGRpdj48c3BhbiBjbGFzcz0iQWN0aXZlIiB0aXRsZT0iJythYS50b29sdGlwcy5jb2xvcnMubmV3Q29sb3IrJyI+Jm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSJDdXJyZW50IiB0aXRsZT0iJythYS50b29sdGlwcy5jb2xvcnMuY3VycmVudENvbG9yKyciPiZuYnNwOzwvc3Bhbj48L2Rpdj4nK2FhLnRleHQuY3VycmVudENvbG9yKyc8L3RkPjx0ZCByb3dzcGFuPSI5IiBjbGFzcz0iQnV0dG9uIj48aW5wdXQgdHlwZT0iYnV0dG9uIiBjbGFzcz0iT2siIHZhbHVlPSInK2FhLnRleHQub2srJyIgdGl0bGU9IicrYWEudG9vbHRpcHMuYnV0dG9ucy5vaysnIi8+PGlucHV0IHR5cGU9ImJ1dHRvbiIgY2xhc3M9IkNhbmNlbCIgdmFsdWU9IicrYWEudGV4dC5jYW5jZWwrJyIgdGl0bGU9IicrYWEudG9vbHRpcHMuYnV0dG9ucy5jYW5jZWwrJyIvPjxoci8+PGRpdiBjbGFzcz0iR3JpZCI+Jm5ic3A7PC9kaXY+PC90ZD48L3RyPjx0ciBjbGFzcz0iSHVlIj48dGQgY2xhc3M9IlJhZGlvIj48bGFiZWwgdGl0bGU9IicrYWEudG9vbHRpcHMuaHVlLnJhZGlvKyciPjxpbnB1dCB0eXBlPSJyYWRpbyIgdmFsdWU9ImgiJysoYXYuY29sb3IubW9kZT09ImgiPycgY2hlY2tlZD0iY2hlY2tlZCInOiIiKSsnLz5IOjwvbGFiZWw+PC90ZD48dGQgY2xhc3M9IlRleHQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjMiIHZhbHVlPSInKyhhSiE9bnVsbD9hSi5oOiIiKSsnIiB0aXRsZT0iJythYS50b29sdGlwcy5odWUudGV4dGJveCsnIi8+Jm5ic3A7JmRlZzs8L3RkPjwvdHI+PHRyIGNsYXNzPSJTYXR1cmF0aW9uIj48dGQgY2xhc3M9IlJhZGlvIj48bGFiZWwgdGl0bGU9IicrYWEudG9vbHRpcHMuc2F0dXJhdGlvbi5yYWRpbysnIj48aW5wdXQgdHlwZT0icmFkaW8iIHZhbHVlPSJzIicrKGF2LmNvbG9yLm1vZGU9PSJzIj8nIGNoZWNrZWQ9ImNoZWNrZWQiJzoiIikrJy8+Uzo8L2xhYmVsPjwvdGQ+PHRkIGNsYXNzPSJUZXh0Ij48aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIzIiB2YWx1ZT0iJysoYUohPW51bGw/YUouczoiIikrJyIgdGl0bGU9IicrYWEudG9vbHRpcHMuc2F0dXJhdGlvbi50ZXh0Ym94KyciLz4mbmJzcDslPC90ZD48L3RyPjx0ciBjbGFzcz0iVmFsdWUiPjx0ZCBjbGFzcz0iUmFkaW8iPjxsYWJlbCB0aXRsZT0iJythYS50b29sdGlwcy52YWx1ZS5yYWRpbysnIj48aW5wdXQgdHlwZT0icmFkaW8iIHZhbHVlPSJ2IicrKGF2LmNvbG9yLm1vZGU9PSJ2Ij8nIGNoZWNrZWQ9ImNoZWNrZWQiJzoiIikrJy8+Vjo8L2xhYmVsPjxici8+PGJyLz48L3RkPjx0ZCBjbGFzcz0iVGV4dCI+PGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMyIgdmFsdWU9IicrKGFKIT1udWxsP2FKLnY6IiIpKyciIHRpdGxlPSInK2FhLnRvb2x0aXBzLnZhbHVlLnRleHRib3grJyIvPiZuYnNwOyU8YnIvPjxici8+PC90ZD48L3RyPjx0ciBjbGFzcz0iUmVkIj48dGQgY2xhc3M9IlJhZGlvIj48bGFiZWwgdGl0bGU9IicrYWEudG9vbHRpcHMucmVkLnJhZGlvKyciPjxpbnB1dCB0eXBlPSJyYWRpbyIgdmFsdWU9InIiJysoYXYuY29sb3IubW9kZT09InIiPycgY2hlY2tlZD0iY2hlY2tlZCInOiIiKSsnLz5SOjwvbGFiZWw+PC90ZD48dGQgY2xhc3M9IlRleHQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjMiIHZhbHVlPSInKyhhSiE9bnVsbD9hSi5yOiIiKSsnIiB0aXRsZT0iJythYS50b29sdGlwcy5yZWQudGV4dGJveCsnIi8+PC90ZD48L3RyPjx0ciBjbGFzcz0iR3JlZW4iPjx0ZCBjbGFzcz0iUmFkaW8iPjxsYWJlbCB0aXRsZT0iJythYS50b29sdGlwcy5ncmVlbi5yYWRpbysnIj48aW5wdXQgdHlwZT0icmFkaW8iIHZhbHVlPSJnIicrKGF2LmNvbG9yLm1vZGU9PSJnIj8nIGNoZWNrZWQ9ImNoZWNrZWQiJzoiIikrJy8+Rzo8L2xhYmVsPjwvdGQ+PHRkIGNsYXNzPSJUZXh0Ij48aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIzIiB2YWx1ZT0iJysoYUohPW51bGw/YUouZzoiIikrJyIgdGl0bGU9IicrYWEudG9vbHRpcHMuZ3JlZW4udGV4dGJveCsnIi8+PC90ZD48L3RyPjx0ciBjbGFzcz0iQmx1ZSI+PHRkIGNsYXNzPSJSYWRpbyI+PGxhYmVsIHRpdGxlPSInK2FhLnRvb2x0aXBzLmJsdWUucmFkaW8rJyI+PGlucHV0IHR5cGU9InJhZGlvIiB2YWx1ZT0iYiInKyhhdi5jb2xvci5tb2RlPT0iYiI/JyBjaGVja2VkPSJjaGVja2VkIic6IiIpKycvPkI6PC9sYWJlbD48L3RkPjx0ZCBjbGFzcz0iVGV4dCI+PGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMyIgdmFsdWU9IicrKGFKIT1udWxsP2FKLmI6IiIpKyciIHRpdGxlPSInK2FhLnRvb2x0aXBzLmJsdWUudGV4dGJveCsnIi8+PC90ZD48L3RyPjx0ciBjbGFzcz0iQWxwaGEiPjx0ZCBjbGFzcz0iUmFkaW8iPicrKGFHLmFscGhhU3VwcG9ydD8nPGxhYmVsIHRpdGxlPSInK2FhLnRvb2x0aXBzLmFscGhhLnJhZGlvKyciPjxpbnB1dCB0eXBlPSJyYWRpbyIgdmFsdWU9ImEiJysoYXYuY29sb3IubW9kZT09ImEiPycgY2hlY2tlZD0iY2hlY2tlZCInOiIiKSsiLz5BOjwvbGFiZWw+IjoiJm5ic3A7IikrJzwvdGQ+PHRkIGNsYXNzPSJUZXh0Ij4nKyhhRy5hbHBoYVN1cHBvcnQ/JzxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IicrKDMrYUcuYWxwaGFQcmVjaXNpb24pKyciIHZhbHVlPSInKyhhSiE9bnVsbD9NYXRoLnByZWNpc2lvbigoYUouYSoxMDApLzI1NSxhRy5hbHBoYVByZWNpc2lvbik6IiIpKyciIHRpdGxlPSInK2FhLnRvb2x0aXBzLmFscGhhLnRleHRib3grJyIvPiZuYnNwOyUnOiImbmJzcDsiKSsnPC90ZD48L3RyPjx0ciBjbGFzcz0iSGV4Ij48dGQgY29sc3Bhbj0iMiIgY2xhc3M9IlRleHQiPjxsYWJlbCB0aXRsZT0iJythYS50b29sdGlwcy5oZXgudGV4dGJveCsnIj4jOjxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjYiIGNsYXNzPSJIZXgiIHZhbHVlPSInKyhhSiE9bnVsbD9hSi5oZXg6IiIpKyciLz48L2xhYmVsPicrKGFHLmFscGhhU3VwcG9ydD8nPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMiIgY2xhc3M9IkFIZXgiIHZhbHVlPSInKyhhSiE9bnVsbD9hSi5haGV4LnN1YnN0cmluZyg2KToiIikrJyIgdGl0bGU9IicrYWEudG9vbHRpcHMuaGV4LmFscGhhKyciLz48L3RkPic6IiZuYnNwOyIpKyI8L3RyPjwvdGJvZHk+PC90YWJsZT4iO2lmKGFHLmV4cGFuZGFibGUpe1IuaHRtbChhSyk7aWYoZShkb2N1bWVudC5ib2R5KS5jaGlsZHJlbigiZGl2LmpQaWNrZXIuQ29udGFpbmVyIikubGVuZ3RoPT0wKXtlKGRvY3VtZW50LmJvZHkpLnByZXBlbmQoUil9ZWxzZXtlKGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCJkaXYualBpY2tlci5Db250YWluZXI6bGFzdCIpLmFmdGVyKFIpfVIubW91c2Vkb3duKGZ1bmN0aW9uKCl7ZShkb2N1bWVudC5ib2R5KS5jaGlsZHJlbigiZGl2LmpQaWNrZXIuQ29udGFpbmVyIikuY3NzKHt6SW5kZXg6MTB9KTtSLmNzcyh7ekluZGV4OjIwfSl9KTtSLmNzcyh7bGVmdDphRy5wb3NpdGlvbi54PT0ibGVmdCI/KGF6Lm9mZnNldCgpLmxlZnQtNTMwLShhRy5wb3NpdGlvbi55PT0iY2VudGVyIj8yNTowKSkrInB4IjphRy5wb3NpdGlvbi54PT0iY2VudGVyIj8oYXoub2Zmc2V0KCkubGVmdC0yNjApKyJweCI6YUcucG9zaXRpb24ueD09InJpZ2h0Ij8oYXoub2Zmc2V0KCkubGVmdC0xMCsoYUcucG9zaXRpb24ueT09ImNlbnRlciI/MjU6MCkpKyJweCI6YUcucG9zaXRpb24ueD09InNjcmVlbkNlbnRlciI/KChlKGRvY3VtZW50KS53aWR0aCgpPj4xKS0yNjApKyJweCI6KGF6Lm9mZnNldCgpLmxlZnQrcGFyc2VJbnQoYUcucG9zaXRpb24ueCkpKyJweCIscG9zaXRpb246ImFic29sdXRlIix0b3A6YUcucG9zaXRpb24ueT09InRvcCI/KGF6Lm9mZnNldCgpLnRvcC0zMTIpKyJweCI6YUcucG9zaXRpb24ueT09ImNlbnRlciI/KGF6Lm9mZnNldCgpLnRvcC0xNTYpKyJweCI6YUcucG9zaXRpb24ueT09ImJvdHRvbSI/KGF6Lm9mZnNldCgpLnRvcCsyNSkrInB4IjooYXoub2Zmc2V0KCkudG9wK3BhcnNlSW50KGFHLnBvc2l0aW9uLnkpKSsicHgifSl9ZWxzZXtSPWUodyk7Ui5odG1sKGFLKX12YXIgYUQ9Ui5maW5kKCJ0Ym9keTpmaXJzdCIpO2w9YUQuZmluZCgiZGl2Lk1hcDpmaXJzdCIpO3M9YUQuZmluZCgiZGl2LkJhcjpmaXJzdCIpO3ZhciBhTD1sLmZpbmQoInNwYW4iKSxhST1zLmZpbmQoInNwYW4iKTthdT1hTC5maWx0ZXIoIi5NYXAxOmZpcnN0Iik7YXQ9YUwuZmlsdGVyKCIuTWFwMjpmaXJzdCIpO2FyPWFMLmZpbHRlcigiLk1hcDM6Zmlyc3QiKTtQPWFJLmZpbHRlcigiLk1hcDE6Zmlyc3QiKTtPPWFJLmZpbHRlcigiLk1hcDI6Zmlyc3QiKTtOPWFJLmZpbHRlcigiLk1hcDM6Zmlyc3QiKTtNPWFJLmZpbHRlcigiLk1hcDQ6Zmlyc3QiKTtMPWFJLmZpbHRlcigiLk1hcDU6Zmlyc3QiKTtLPWFJLmZpbHRlcigiLk1hcDY6Zmlyc3QiKTtEPW5ldyBkKGwse21hcDp7d2lkdGg6bi5jb2xvck1hcC53aWR0aCxoZWlnaHQ6bi5jb2xvck1hcC5oZWlnaHR9LGFycm93OntpbWFnZTpuLmNsaWVudFBhdGgrbi5jb2xvck1hcC5hcnJvdy5maWxlLHdpZHRoOm4uY29sb3JNYXAuYXJyb3cud2lkdGgsaGVpZ2h0Om4uY29sb3JNYXAuYXJyb3cuaGVpZ2h0fX0pO0QuYmluZCh6KTtVPW5ldyBkKHMse21hcDp7d2lkdGg6bi5jb2xvckJhci53aWR0aCxoZWlnaHQ6bi5jb2xvckJhci5oZWlnaHR9LGFycm93OntpbWFnZTpuLmNsaWVudFBhdGgrbi5jb2xvckJhci5hcnJvdy5maWxlLHdpZHRoOm4uY29sb3JCYXIuYXJyb3cud2lkdGgsaGVpZ2h0Om4uY29sb3JCYXIuYXJyb3cuaGVpZ2h0fX0pO1UuYmluZChhYyk7YXc9bmV3IGIoYUQsRy5hY3RpdmUsYUcuZXhwYW5kYWJsZSYmYUcuYmluZFRvSW5wdXQ/YUcuaW5wdXQ6bnVsbCxhRy5hbHBoYVByZWNpc2lvbik7dmFyIGFCPWFKIT1udWxsP2FKLmhleDpudWxsLGFIPWFELmZpbmQoIi5QcmV2aWV3IiksYUY9YUQuZmluZCgiLkJ1dHRvbiIpO0U9YUguZmluZCgiLkFjdGl2ZTpmaXJzdCIpLmNzcyh7YmFja2dyb3VuZENvbG9yOmFCJiYiIyIrYUJ8fCJ0cmFuc3BhcmVudCJ9KTthbj1hSC5maW5kKCIuQ3VycmVudDpmaXJzdCIpLmNzcyh7YmFja2dyb3VuZENvbG9yOmFCJiYiIyIrYUJ8fCJ0cmFuc3BhcmVudCJ9KS5iaW5kKCJjbGljayIsWik7WS5jYWxsKHcsYW4sTWF0aC5wcmVjaXNpb24oRy5jdXJyZW50LnZhbCgiYSIpKjEwMCkvMjU1LDQpO2FoPWFGLmZpbmQoIi5PazpmaXJzdCIpLmJpbmQoImNsaWNrIixtKTtYPWFGLmZpbmQoIi5DYW5jZWw6Zmlyc3QiKS5iaW5kKCJjbGljayIscSk7YWI9YUYuZmluZCgiLkdyaWQ6Zmlyc3QiKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5jYWxsKHcsYXUsbi5jbGllbnRQYXRoKyJNYXBzLnBuZyIpO3QuY2FsbCh3LGF0LG4uY2xpZW50UGF0aCsiTWFwcy5wbmciKTt0LmNhbGwodyxhcixuLmNsaWVudFBhdGgrIm1hcC1vcGFjaXR5LnBuZyIpO3QuY2FsbCh3LFAsbi5jbGllbnRQYXRoKyJCYXJzLnBuZyIpO3QuY2FsbCh3LE8sbi5jbGllbnRQYXRoKyJCYXJzLnBuZyIpO3QuY2FsbCh3LE4sbi5jbGllbnRQYXRoKyJCYXJzLnBuZyIpO3QuY2FsbCh3LE0sbi5jbGllbnRQYXRoKyJCYXJzLnBuZyIpO3QuY2FsbCh3LEwsbi5jbGllbnRQYXRoKyJiYXItb3BhY2l0eS5wbmciKTt0LmNhbGwodyxLLG4uY2xpZW50UGF0aCsiQWxwaGFCYXIucG5nIik7dC5jYWxsKHcsYUguZmluZCgiZGl2OmZpcnN0Iiksbi5jbGllbnRQYXRoKyJwcmV2aWV3LW9wYWNpdHkucG5nIil9LDApO2FELmZpbmQoInRkLlJhZGlvIGlucHV0IikuYmluZCgiY2xpY2siLEEpO2lmKEcucXVpY2tMaXN0JiZHLnF1aWNrTGlzdC5sZW5ndGg+MCl7dmFyIGFFPSIiO2ZvcihpPTA7aTxHLnF1aWNrTGlzdC5sZW5ndGg7aSsrKXtpZigodHlwZW9mKEcucXVpY2tMaXN0W2ldKSkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpPT0ic3RyaW5nIil7Ry5xdWlja0xpc3RbaV09bmV3IGYoe2hleDpHLnF1aWNrTGlzdFtpXX0pfXZhciBhQz1HLnF1aWNrTGlzdFtpXS52YWwoImEiKTt2YXIgYU09Ry5xdWlja0xpc3RbaV0udmFsKCJhaGV4Iik7aWYoIWFHLmFscGhhU3VwcG9ydCYmYU0pe2FNPWFNLnN1YnN0cmluZygwLDYpKyJmZiJ9dmFyIGFBPUcucXVpY2tMaXN0W2ldLnZhbCgiaGV4Iik7YUUrPSc8c3BhbiBjbGFzcz0iUXVpY2tDb2xvciInKyhhTSYmJyB0aXRsZT0iIycrYU0rJyInfHwiIikrJyBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjonKyhhQSYmIiMiK2FBfHwiIikrIjsiKyhhQT8iIjoiYmFja2dyb3VuZC1pbWFnZTp1cmwoIituLmNsaWVudFBhdGgrIk5vQ29sb3IucG5nKSIpKyhhRy5hbHBoYVN1cHBvcnQmJmFDJiZhQzwyNTU/IjtvcGFjaXR5OiIrTWF0aC5wcmVjaXNpb24oYUMvMjU1LDQpKyI7ZmlsdGVyOkFscGhhKG9wYWNpdHk9IitNYXRoLnByZWNpc2lvbihhQy8yLjU1LDQpKyIpIjoiIikrJyI+Jm5ic3A7PC9zcGFuPid9dC5jYWxsKHcsYWIsbi5jbGllbnRQYXRoKyJiYXItb3BhY2l0eS5wbmciKTthYi5odG1sKGFFKTthYi5maW5kKCIuUXVpY2tDb2xvciIpLmNsaWNrKEYpfWFnLmNhbGwodyxhdi5jb2xvci5tb2RlKTtHLmFjdGl2ZS5iaW5kKGFqKTtlLmlzRnVuY3Rpb24oYWQpJiZHLmFjdGl2ZS5iaW5kKGFkKTtHLmN1cnJlbnQuYmluZChhcCk7aWYoYUcuZXhwYW5kYWJsZSl7dy5pY29uPWF6LnBhcmVudHMoIi5JY29uOmZpcnN0Iik7YXE9dy5pY29uLmZpbmQoIi5Db2xvcjpmaXJzdCIpLmNzcyh7YmFja2dyb3VuZENvbG9yOmFCJiYiIyIrYUJ8fCJ0cmFuc3BhcmVudCJ9KTtyPXcuaWNvbi5maW5kKCIuQWxwaGE6Zmlyc3QiKTt0LmNhbGwodyxyLG4uY2xpZW50UGF0aCsiYmFyLW9wYWNpdHkucG5nIik7WS5jYWxsKHcscixNYXRoLnByZWNpc2lvbigoKDI1NS0oYUohPW51bGw/YUouYTowKSkqMTAwKS8yNTUsNCkpO0M9dy5pY29uLmZpbmQoIi5JbWFnZTpmaXJzdCIpLmNzcyh7YmFja2dyb3VuZEltYWdlOiJ1cmwoJyIrbi5jbGllbnRQYXRoK24ucGlja2VyLmZpbGUrIicpIn0pLmJpbmQoImNsaWNrIixhZik7aWYoYUcuYmluZFRvSW5wdXQmJmFHLnVwZGF0ZUlucHV0Q29sb3Ipe2FHLmlucHV0LmNzcyh7YmFja2dyb3VuZENvbG9yOmFCJiYiIyIrYUJ8fCJ0cmFuc3BhcmVudCIsY29sb3I6YUo9PW51bGx8fGFKLnY+NzU/IiMwMDAwMDAiOiIjZmZmZmZmIn0pfXU9YUQuZmluZCgiLk1vdmU6Zmlyc3QiKS5iaW5kKCJtb3VzZWRvd24iLFMpO0cuYWN0aXZlLmJpbmQoSCl9ZWxzZXtWLmNhbGwodyl9fSxhaz1mdW5jdGlvbigpe1IuZmluZCgidGQuUmFkaW8gaW5wdXQiKS51bmJpbmQoImNsaWNrIixBKTthbi51bmJpbmQoImNsaWNrIixaKTtYLnVuYmluZCgiY2xpY2siLHEpO2FoLnVuYmluZCgiY2xpY2siLG0pO2lmKGF2LndpbmRvdy5leHBhbmRhYmxlKXtDLnVuYmluZCgiY2xpY2siLGFmKTt1LnVuYmluZCgibW91c2Vkb3duIixTKTt3Lmljb249bnVsbH1SLmZpbmQoIi5RdWlja0NvbG9yIikudW5iaW5kKCJjbGljayIsRik7bD1udWxsO3M9bnVsbDthdT1udWxsO2F0PW51bGw7YXI9bnVsbDtQPW51bGw7Tz1udWxsO049bnVsbDtNPW51bGw7TD1udWxsO0s9bnVsbDtELmRlc3Ryb3koKTtEPW51bGw7VS5kZXN0cm95KCk7VT1udWxsO2F3LmRlc3Ryb3koKTthdz1udWxsO0U9bnVsbDthbj1udWxsO2FoPW51bGw7WD1udWxsO2FiPW51bGw7YWU9bnVsbDtheD1udWxsO2FkPW51bGw7Ui5odG1sKCIiKTtmb3IoaT0wO2k8Yy5sZW5ndGg7aSsrKXtpZihjW2ldPT13KXtjLnNwbGljZShpLDEpfX19LG49YXYuaW1hZ2VzLGFhPWF2LmxvY2FsaXphdGlvbixHPXthY3RpdmU6KHR5cGVvZihhdi5jb2xvci5hY3RpdmUpKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk9PSJzdHJpbmciP25ldyBmKHthaGV4OiFhdi53aW5kb3cuYWxwaGFTdXBwb3J0JiZhdi5jb2xvci5hY3RpdmU/YXYuY29sb3IuYWN0aXZlLnN1YnN0cmluZygwLDYpKyJmZiI6YXYuY29sb3IuYWN0aXZlfSk6bmV3IGYoe2FoZXg6IWF2LndpbmRvdy5hbHBoYVN1cHBvcnQmJmF2LmNvbG9yLmFjdGl2ZS52YWwoImFoZXgiKT9hdi5jb2xvci5hY3RpdmUudmFsKCJhaGV4Iikuc3Vic3RyaW5nKDAsNikrImZmIjphdi5jb2xvci5hY3RpdmUudmFsKCJhaGV4Iil9KSxjdXJyZW50Oih0eXBlb2YoYXYuY29sb3IuYWN0aXZlKSkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpPT0ic3RyaW5nIj9uZXcgZih7YWhleDohYXYud2luZG93LmFscGhhU3VwcG9ydCYmYXYuY29sb3IuYWN0aXZlP2F2LmNvbG9yLmFjdGl2ZS5zdWJzdHJpbmcoMCw2KSsiZmYiOmF2LmNvbG9yLmFjdGl2ZX0pOm5ldyBmKHthaGV4OiFhdi53aW5kb3cuYWxwaGFTdXBwb3J0JiZhdi5jb2xvci5hY3RpdmUudmFsKCJhaGV4Iik/YXYuY29sb3IuYWN0aXZlLnZhbCgiYWhleCIpLnN1YnN0cmluZygwLDYpKyJmZiI6YXYuY29sb3IuYWN0aXZlLnZhbCgiYWhleCIpfSkscXVpY2tMaXN0OmF2LmNvbG9yLnF1aWNrTGlzdH07ZS5leHRlbmQodHJ1ZSx3LHtjb21taXRDYWxsYmFjazphZSxsaXZlQ2FsbGJhY2s6YWQsY2FuY2VsQ2FsbGJhY2s6YXgsY29sb3I6RyxzaG93OlYsaGlkZTphbyxkZXN0cm95OmFrfSk7Yy5wdXNoKHcpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtvLmNhbGwodyl9LDApfSl9O2UuZm4ualBpY2tlci5kZWZhdWx0cz17d2luZG93Ont0aXRsZTpudWxsLGVmZmVjdHM6e3R5cGU6InNsaWRlIixzcGVlZDp7c2hvdzoic2xvdyIsaGlkZToiZmFzdCJ9fSxwb3NpdGlvbjp7eDoic2NyZWVuQ2VudGVyIix5OiJ0b3AifSxleHBhbmRhYmxlOmZhbHNlLGxpdmVVcGRhdGU6dHJ1ZSxhbHBoYVN1cHBvcnQ6ZmFsc2UsYWxwaGFQcmVjaXNpb246MCx1cGRhdGVJbnB1dENvbG9yOnRydWV9LGNvbG9yOnttb2RlOiJoIixhY3RpdmU6bmV3IGYoe2FoZXg6IiNmZmNjMDBmZiJ9KSxxdWlja0xpc3Q6W25ldyBmKHtoOjM2MCxzOjMzLHY6MTAwfSksbmV3IGYoe2g6MzYwLHM6NjYsdjoxMDB9KSxuZXcgZih7aDozNjAsczoxMDAsdjoxMDB9KSxuZXcgZih7aDozNjAsczoxMDAsdjo3NX0pLG5ldyBmKHtoOjM2MCxzOjEwMCx2OjUwfSksbmV3IGYoe2g6MTgwLHM6MCx2OjEwMH0pLG5ldyBmKHtoOjMwLHM6MzMsdjoxMDB9KSxuZXcgZih7aDozMCxzOjY2LHY6MTAwfSksbmV3IGYoe2g6MzAsczoxMDAsdjoxMDB9KSxuZXcgZih7aDozMCxzOjEwMCx2Ojc1fSksbmV3IGYoe2g6MzAsczoxMDAsdjo1MH0pLG5ldyBmKHtoOjE4MCxzOjAsdjo5MH0pLG5ldyBmKHtoOjYwLHM6MzMsdjoxMDB9KSxuZXcgZih7aDo2MCxzOjY2LHY6MTAwfSksbmV3IGYoe2g6NjAsczoxMDAsdjoxMDB9KSxuZXcgZih7aDo2MCxzOjEwMCx2Ojc1fSksbmV3IGYoe2g6NjAsczoxMDAsdjo1MH0pLG5ldyBmKHtoOjE4MCxzOjAsdjo4MH0pLG5ldyBmKHtoOjkwLHM6MzMsdjoxMDB9KSxuZXcgZih7aDo5MCxzOjY2LHY6MTAwfSksbmV3IGYoe2g6OTAsczoxMDAsdjoxMDB9KSxuZXcgZih7aDo5MCxzOjEwMCx2Ojc1fSksbmV3IGYoe2g6OTAsczoxMDAsdjo1MH0pLG5ldyBmKHtoOjE4MCxzOjAsdjo3MH0pLG5ldyBmKHtoOjEyMCxzOjMzLHY6MTAwfSksbmV3IGYoe2g6MTIwLHM6NjYsdjoxMDB9KSxuZXcgZih7aDoxMjAsczoxMDAsdjoxMDB9KSxuZXcgZih7aDoxMjAsczoxMDAsdjo3NX0pLG5ldyBmKHtoOjEyMCxzOjEwMCx2OjUwfSksbmV3IGYoe2g6MTgwLHM6MCx2OjYwfSksbmV3IGYoe2g6MTUwLHM6MzMsdjoxMDB9KSxuZXcgZih7aDoxNTAsczo2Nix2OjEwMH0pLG5ldyBmKHtoOjE1MCxzOjEwMCx2OjEwMH0pLG5ldyBmKHtoOjE1MCxzOjEwMCx2Ojc1fSksbmV3IGYoe2g6MTUwLHM6MTAwLHY6NTB9KSxuZXcgZih7aDoxODAsczowLHY6NTB9KSxuZXcgZih7aDoxODAsczozMyx2OjEwMH0pLG5ldyBmKHtoOjE4MCxzOjY2LHY6MTAwfSksbmV3IGYoe2g6MTgwLHM6MTAwLHY6MTAwfSksbmV3IGYoe2g6MTgwLHM6MTAwLHY6NzV9KSxuZXcgZih7aDoxODAsczoxMDAsdjo1MH0pLG5ldyBmKHtoOjE4MCxzOjAsdjo0MH0pLG5ldyBmKHtoOjIxMCxzOjMzLHY6MTAwfSksbmV3IGYoe2g6MjEwLHM6NjYsdjoxMDB9KSxuZXcgZih7aDoyMTAsczoxMDAsdjoxMDB9KSxuZXcgZih7aDoyMTAsczoxMDAsdjo3NX0pLG5ldyBmKHtoOjIxMCxzOjEwMCx2OjUwfSksbmV3IGYoe2g6MTgwLHM6MCx2OjMwfSksbmV3IGYoe2g6MjQwLHM6MzMsdjoxMDB9KSxuZXcgZih7aDoyNDAsczo2Nix2OjEwMH0pLG5ldyBmKHtoOjI0MCxzOjEwMCx2OjEwMH0pLG5ldyBmKHtoOjI0MCxzOjEwMCx2Ojc1fSksbmV3IGYoe2g6MjQwLHM6MTAwLHY6NTB9KSxuZXcgZih7aDoxODAsczowLHY6MjB9KSxuZXcgZih7aDoyNzAsczozMyx2OjEwMH0pLG5ldyBmKHtoOjI3MCxzOjY2LHY6MTAwfSksbmV3IGYoe2g6MjcwLHM6MTAwLHY6MTAwfSksbmV3IGYoe2g6MjcwLHM6MTAwLHY6NzV9KSxuZXcgZih7aDoyNzAsczoxMDAsdjo1MH0pLG5ldyBmKHtoOjE4MCxzOjAsdjoxMH0pLG5ldyBmKHtoOjMwMCxzOjMzLHY6MTAwfSksbmV3IGYoe2g6MzAwLHM6NjYsdjoxMDB9KSxuZXcgZih7aDozMDAsczoxMDAsdjoxMDB9KSxuZXcgZih7aDozMDAsczoxMDAsdjo3NX0pLG5ldyBmKHtoOjMwMCxzOjEwMCx2OjUwfSksbmV3IGYoe2g6MTgwLHM6MCx2OjB9KSxuZXcgZih7aDozMzAsczozMyx2OjEwMH0pLG5ldyBmKHtoOjMzMCxzOjY2LHY6MTAwfSksbmV3IGYoe2g6MzMwLHM6MTAwLHY6MTAwfSksbmV3IGYoe2g6MzMwLHM6MTAwLHY6NzV9KSxuZXcgZih7aDozMzAsczoxMDAsdjo1MH0pLG5ldyBmKCldfSxpbWFnZXM6e2NsaWVudFBhdGg6Ii9qUGlja2VyL2ltYWdlcy8iLGNvbG9yTWFwOnt3aWR0aDoyNTYsaGVpZ2h0OjI1NixhcnJvdzp7ZmlsZToibWFwcG9pbnQuZ2lmIix3aWR0aDoxNSxoZWlnaHQ6MTV9fSxjb2xvckJhcjp7d2lkdGg6MjAsaGVpZ2h0OjI1NixhcnJvdzp7ZmlsZToicmFuZ2VhcnJvd3MuZ2lmIix3aWR0aDoyMCxoZWlnaHQ6N319LHBpY2tlcjp7ZmlsZToicGlja2VyLmdpZiIsd2lkdGg6MjUsaGVpZ2h0OjI0fX0sbG9jYWxpemF0aW9uOnt0ZXh0Ont0aXRsZToiRHJhZyBNYXJrZXJzIFRvIFBpY2sgQSBDb2xvciIsbmV3Q29sb3I6Im5ldyIsY3VycmVudENvbG9yOiJjdXJyZW50IixvazoiT0siLGNhbmNlbDoiQ2FuY2VsIn0sdG9vbHRpcHM6e2NvbG9yczp7bmV3Q29sb3I6Ik5ldyBDb2xvciAtIFByZXNzICZsZHF1bztPSyZyZHF1bzsgVG8gQ29tbWl0IixjdXJyZW50Q29sb3I6IkNsaWNrIFRvIFJldmVydCBUbyBPcmlnaW5hbCBDb2xvciJ9LGJ1dHRvbnM6e29rOiJDb21taXQgVG8gVGhpcyBDb2xvciBTZWxlY3Rpb24iLGNhbmNlbDoiQ2FuY2VsIEFuZCBSZXZlcnQgVG8gT3JpZ2luYWwgQ29sb3IifSxodWU6e3JhZGlvOiJTZXQgVG8gJmxkcXVvO0h1ZSZyZHF1bzsgQ29sb3IgTW9kZSIsdGV4dGJveDoiRW50ZXIgQSAmbGRxdW87SHVlJnJkcXVvOyBWYWx1ZSAoMC0zNjAmZGVnOykifSxzYXR1cmF0aW9uOntyYWRpbzoiU2V0IFRvICZsZHF1bztTYXR1cmF0aW9uJnJkcXVvOyBDb2xvciBNb2RlIix0ZXh0Ym94OiJFbnRlciBBICZsZHF1bztTYXR1cmF0aW9uJnJkcXVvOyBWYWx1ZSAoMC0xMDAlKSJ9LHZhbHVlOntyYWRpbzoiU2V0IFRvICZsZHF1bztWYWx1ZSZyZHF1bzsgQ29sb3IgTW9kZSIsdGV4dGJveDoiRW50ZXIgQSAmbGRxdW87VmFsdWUmcmRxdW87IFZhbHVlICgwLTEwMCUpIn0scmVkOntyYWRpbzoiU2V0IFRvICZsZHF1bztSZWQmcmRxdW87IENvbG9yIE1vZGUiLHRleHRib3g6IkVudGVyIEEgJmxkcXVvO1JlZCZyZHF1bzsgVmFsdWUgKDAtMjU1KSJ9LGdyZWVuOntyYWRpbzoiU2V0IFRvICZsZHF1bztHcmVlbiZyZHF1bzsgQ29sb3IgTW9kZSIsdGV4dGJveDoiRW50ZXIgQSAmbGRxdW87R3JlZW4mcmRxdW87IFZhbHVlICgwLTI1NSkifSxibHVlOntyYWRpbzoiU2V0IFRvICZsZHF1bztCbHVlJnJkcXVvOyBDb2xvciBNb2RlIix0ZXh0Ym94OiJFbnRlciBBICZsZHF1bztCbHVlJnJkcXVvOyBWYWx1ZSAoMC0yNTUpIn0sYWxwaGE6e3JhZGlvOiJTZXQgVG8gJmxkcXVvO0FscGhhJnJkcXVvOyBDb2xvciBNb2RlIix0ZXh0Ym94OiJFbnRlciBBICZsZHF1bztBbHBoYSZyZHF1bzsgVmFsdWUgKDAtMTAwKSJ9LGhleDp7dGV4dGJveDoiRW50ZXIgQSAmbGRxdW87SGV4JnJkcXVvOyBDb2xvciBWYWx1ZSAoIzAwMDAwMC0jZmZmZmZmKSIsYWxwaGE6IkVudGVyIEEgJmxkcXVvO0FscGhhJnJkcXVvOyBWYWx1ZSAoIzAwLSNmZikifX19fX0pKGpRdWVyeSwiMS4xLjYiKTsKCi8qCiAqIERlcGVuZCBDbGFzcyB2MC4xYiA6IGF0dGFjaCBjbGFzcyBiYXNlZCBvbiBmaXJzdCBjbGFzcyBpbiBsaXN0IG9mIGN1cnJlbnQgZWxlbWVudAogKiBGaWxlOiBqcXVlcnkuZGVwZW5kQ2xhc3MuanMKICogQ29weXJpZ2h0IChjKSAyMDA5IEVnb3IgSG1lbHlvZmYsIGhtZWx5b2ZmQGdtYWlsLmNvbQogKi8KKGZ1bmN0aW9uKCQpIHsKCS8vIEluaXQgcGx1Z2luIGZ1bmN0aW9uCgkkLmJhc2VDbGFzcyA9IGZ1bmN0aW9uKG9iail7CgkgIG9iaiA9ICQob2JqKTsKCSAgcmV0dXJuIG9iai5nZXQoMCkuY2xhc3NOYW1lLm1hdGNoKC8oW14gXSspLylbMV07Cgl9OwoJCgkkLmZuLmFkZERlcGVuZENsYXNzID0gZnVuY3Rpb24oY2xhc3NOYW1lLCBkZWxpbWl0ZXIpewoJCXZhciBvcHRpb25zID0gewoJCSAgZGVsaW1pdGVyOiBkZWxpbWl0ZXIgPyBkZWxpbWl0ZXIgOiAnLScKCQl9CgkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpewoJCSAgdmFyIGJhc2VDbGFzcyA9ICQuYmFzZUNsYXNzKHRoaXMpOwoJCSAgaWYoYmFzZUNsYXNzKQogICAgCQkkKHRoaXMpLmFkZENsYXNzKGJhc2VDbGFzcyArIG9wdGlvbnMuZGVsaW1pdGVyICsgY2xhc3NOYW1lKTsKCQl9KTsKCX07CgoJJC5mbi5yZW1vdmVEZXBlbmRDbGFzcyA9IGZ1bmN0aW9uKGNsYXNzTmFtZSwgZGVsaW1pdGVyKXsKCQl2YXIgb3B0aW9ucyA9IHsKCQkgIGRlbGltaXRlcjogZGVsaW1pdGVyID8gZGVsaW1pdGVyIDogJy0nCgkJfQoJCXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXsKCQkgIHZhciBiYXNlQ2xhc3MgPSAkLmJhc2VDbGFzcyh0aGlzKTsKCQkgIGlmKGJhc2VDbGFzcykKICAgIAkJJCh0aGlzKS5yZW1vdmVDbGFzcyhiYXNlQ2xhc3MgKyBvcHRpb25zLmRlbGltaXRlciArIGNsYXNzTmFtZSk7CgkJfSk7Cgl9OwoKCSQuZm4udG9nZ2xlRGVwZW5kQ2xhc3MgPSBmdW5jdGlvbihjbGFzc05hbWUsIGRlbGltaXRlcil7CgkJdmFyIG9wdGlvbnMgPSB7CgkJICBkZWxpbWl0ZXI6IGRlbGltaXRlciA/IGRlbGltaXRlciA6ICctJwoJCX0KCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7CgkJICB2YXIgYmFzZUNsYXNzID0gJC5iYXNlQ2xhc3ModGhpcyk7CgkJICBpZihiYXNlQ2xhc3MpCgkJICAgIGlmKCQodGhpcykuaXMoIi4iICsgYmFzZUNsYXNzICsgb3B0aW9ucy5kZWxpbWl0ZXIgKyBjbGFzc05hbWUpKQogICAgCQkgICQodGhpcykucmVtb3ZlQ2xhc3MoYmFzZUNsYXNzICsgb3B0aW9ucy5kZWxpbWl0ZXIgKyBjbGFzc05hbWUpOwogICAgCQllbHNlCiAgICAJCSAgJCh0aGlzKS5hZGRDbGFzcyhiYXNlQ2xhc3MgKyBvcHRpb25zLmRlbGltaXRlciArIGNsYXNzTmFtZSk7CgkJfSk7Cgl9OwoKCS8vIGVuZCBvZiBjbG9zdXJlCn0pKGpRdWVyeSk7CgovLyBqUXVlcnkgU2xpZGVyIFBsdWdpbgovLyBFZ29yIEtobWVsZXYgLSBodHRwOi8vYmxvZy5lZ29ya2htZWxldi5jb20vIC0gaG1lbHlvZmZAZ21haWwuY29tCihmdW5jdGlvbigpe0Z1bmN0aW9uLnByb3RvdHlwZS5pbmhlcml0RnJvbT1mdW5jdGlvbihiLGMpe3ZhciBkPWZ1bmN0aW9uKCl7fTtkLnByb3RvdHlwZT1iLnByb3RvdHlwZTt0aGlzLnByb3RvdHlwZT1uZXcgZCgpO3RoaXMucHJvdG90eXBlLmNvbnN0cnVjdG9yPXRoaXM7dGhpcy5wcm90b3R5cGUuYmFzZUNvbnN0cnVjdG9yPWI7dGhpcy5wcm90b3R5cGUuc3VwZXJDbGFzcz1iLnByb3RvdHlwZTtpZihjKXtmb3IodmFyIGEgaW4gYyl7dGhpcy5wcm90b3R5cGVbYV09Y1thXX19fTtOdW1iZXIucHJvdG90eXBlLmpTbGlkZXJOaWNlPWZ1bmN0aW9uKGwpe3ZhciBvPS9eKC0pPyhcZCspKFtcLixdKFxkKykpPyQvO3ZhciBkPU51bWJlcih0aGlzKTt2YXIgaj1TdHJpbmcoZCk7dmFyIGs7dmFyIGM9IiI7dmFyIGI9IiAiO2lmKChrPWoubWF0Y2gobykpKXt2YXIgZj1rWzJdO3ZhciBtPShrWzRdKT9OdW1iZXIoIjAuIitrWzRdKTowO2lmKG0pe3ZhciBlPU1hdGgucG93KDEwLChsKT9sOjIpO209TWF0aC5yb3VuZChtKmUpO3NOZXdEZWNQYXJ0PVN0cmluZyhtKTtjPXNOZXdEZWNQYXJ0O2lmKHNOZXdEZWNQYXJ0Lmxlbmd0aDxsKXt2YXIgYT1sLXNOZXdEZWNQYXJ0Lmxlbmd0aDtmb3IodmFyIGc9MDtnPGE7ZysrKXtjPSIwIitjfX1jPSIsIitjfWVsc2V7aWYobCYmbCE9MCl7Zm9yKHZhciBnPTA7ZzxsO2crKyl7Yys9IjAifWM9IiwiK2N9fXZhciBoO2lmKE51bWJlcihmKTwxMDAwKXtoPWYrY31lbHNle3ZhciBuPSIiO3ZhciBnO2ZvcihnPTE7ZyozPGYubGVuZ3RoO2crKyl7bj1iK2Yuc3Vic3RyaW5nKGYubGVuZ3RoLWcqMyxmLmxlbmd0aC0oZy0xKSozKStufWg9Zi5zdWJzdHIoMCwzLWcqMytmLmxlbmd0aCkrbitjfWlmKGtbMV0pe3JldHVybiItIitofWVsc2V7cmV0dXJuIGh9fWVsc2V7cmV0dXJuIGp9fTt0aGlzLmpTbGlkZXJJc0FycmF5PWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT0idW5kZWZpbmVkIil7cmV0dXJuIGZhbHNlfWlmKGEgaW5zdGFuY2VvZiBBcnJheXx8KCEoYSBpbnN0YW5jZW9mIE9iamVjdCkmJihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoKGEpKT09IltvYmplY3QgQXJyYXldIil8fHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciImJnR5cGVvZiBhLnNwbGljZSE9InVuZGVmaW5lZCImJnR5cGVvZiBhLnByb3BlcnR5SXNFbnVtZXJhYmxlIT0idW5kZWZpbmVkIiYmIWEucHJvcGVydHlJc0VudW1lcmFibGUoInNwbGljZSIpKSl7cmV0dXJuIHRydWV9cmV0dXJuIGZhbHNlfX0pKCk7KGZ1bmN0aW9uKCl7dmFyIGE9e307dGhpcy5qU2xpZGVyVG1wbD1mdW5jdGlvbiBiKGUsZCl7dmFyIGM9ISgvXFcvKS50ZXN0KGUpP2FbZV09YVtlXXx8YihlKTpuZXcgRnVuY3Rpb24oIm9iaiIsInZhciBwPVtdLHByaW50PWZ1bmN0aW9uKCl7cC5wdXNoLmFwcGx5KHAsYXJndW1lbnRzKTt9O3dpdGgob2JqKXtwLnB1c2goJyIrZS5yZXBsYWNlKC9bXHJcdFxuXS9nLCIgIikuc3BsaXQoIjwlIikuam9pbigiXHQiKS5yZXBsYWNlKC8oKF58JT4pW15cdF0qKScvZywiJDFcciIpLnJlcGxhY2UoL1x0PSguKj8pJT4vZywiJywkMSwnIikuc3BsaXQoIlx0Iikuam9pbigiJyk7Iikuc3BsaXQoIiU+Iikuam9pbigicC5wdXNoKCciKS5zcGxpdCgiXHIiKS5qb2luKCJcXCciKSsiJyk7fXJldHVybiBwLmpvaW4oJycpOyIpO3JldHVybiBkP2MoZCk6Y319KSgpOyhmdW5jdGlvbihhKXt0aGlzLkRyYWdnYWJsZT1mdW5jdGlvbigpe3RoaXMuX2luaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtEcmFnZ2FibGUucHJvdG90eXBlPXtvbmluaXQ6ZnVuY3Rpb24oKXt9LGV2ZW50czpmdW5jdGlvbigpe30sb25tb3VzZWRvd246ZnVuY3Rpb24oKXt0aGlzLnB0ci5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSJ9KX0sb25tb3VzZW1vdmU6ZnVuY3Rpb24oYyxiLGQpe3RoaXMucHRyLmNzcyh7bGVmdDpiLHRvcDpkfSl9LG9ubW91c2V1cDpmdW5jdGlvbigpe30saXNEZWZhdWx0OntkcmFnOmZhbHNlLGNsaWNrZWQ6ZmFsc2UsdG9jbGljazp0cnVlLG1vdXNldXA6ZmFsc2V9LF9pbml0OmZ1bmN0aW9uKCl7aWYoYXJndW1lbnRzLmxlbmd0aD4wKXt0aGlzLnB0cj1hKGFyZ3VtZW50c1swXSk7dGhpcy5vdXRlcj1hKCIuZHJhZ2dhYmxlLW91dGVyIik7dGhpcy5pcz17fTthLmV4dGVuZCh0aGlzLmlzLHRoaXMuaXNEZWZhdWx0KTt2YXIgYj10aGlzLnB0ci5vZmZzZXQoKTt0aGlzLmQ9e2xlZnQ6Yi5sZWZ0LHRvcDpiLnRvcCx3aWR0aDp0aGlzLnB0ci53aWR0aCgpLGhlaWdodDp0aGlzLnB0ci5oZWlnaHQoKX07dGhpcy5vbmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMuX2V2ZW50cygpfX0sX2dldFBhZ2VDb29yZHM6ZnVuY3Rpb24oYil7aWYoYi50YXJnZXRUb3VjaGVzJiZiLnRhcmdldFRvdWNoZXNbMF0pe3JldHVybnt4OmIudGFyZ2V0VG91Y2hlc1swXS5wYWdlWCx5OmIudGFyZ2V0VG91Y2hlc1swXS5wYWdlWX19ZWxzZXtyZXR1cm57eDpiLnBhZ2VYLHk6Yi5wYWdlWX19fSxfYmluZEV2ZW50OmZ1bmN0aW9uKGUsYyxkKXt2YXIgYj10aGlzO2lmKHRoaXMuc3VwcG9ydFRvdWNoZXNfKXtlLmdldCgwKS5hZGRFdmVudExpc3RlbmVyKHRoaXMuZXZlbnRzX1tjXSxkLGZhbHNlKX1lbHNle2UuYmluZCh0aGlzLmV2ZW50c19bY10sZCl9fSxfZXZlbnRzOmZ1bmN0aW9uKCl7dmFyIGI9dGhpczt0aGlzLnN1cHBvcnRUb3VjaGVzXz0oYS5icm93c2VyLndlYmtpdCYmbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNb2JpbGUiKSE9LTEpO3RoaXMuZXZlbnRzXz17Y2xpY2s6dGhpcy5zdXBwb3J0VG91Y2hlc18/InRvdWNoc3RhcnQiOiJjbGljayIsZG93bjp0aGlzLnN1cHBvcnRUb3VjaGVzXz8idG91Y2hzdGFydCI6Im1vdXNlZG93biIsbW92ZTp0aGlzLnN1cHBvcnRUb3VjaGVzXz8idG91Y2htb3ZlIjoibW91c2Vtb3ZlIix1cDp0aGlzLnN1cHBvcnRUb3VjaGVzXz8idG91Y2hlbmQiOiJtb3VzZXVwIn07dGhpcy5fYmluZEV2ZW50KGEoZG9jdW1lbnQpLCJtb3ZlIixmdW5jdGlvbihjKXtpZihiLmlzLmRyYWcpe2Muc3RvcFByb3BhZ2F0aW9uKCk7Yy5wcmV2ZW50RGVmYXVsdCgpO2IuX21vdXNlbW92ZShjKX19KTt0aGlzLl9iaW5kRXZlbnQoYShkb2N1bWVudCksImRvd24iLGZ1bmN0aW9uKGMpe2lmKGIuaXMuZHJhZyl7Yy5zdG9wUHJvcGFnYXRpb24oKTtjLnByZXZlbnREZWZhdWx0KCl9fSk7dGhpcy5fYmluZEV2ZW50KGEoZG9jdW1lbnQpLCJ1cCIsZnVuY3Rpb24oYyl7Yi5fbW91c2V1cChjKX0pO3RoaXMuX2JpbmRFdmVudCh0aGlzLnB0ciwiZG93biIsZnVuY3Rpb24oYyl7Yi5fbW91c2Vkb3duKGMpO3JldHVybiBmYWxzZX0pO3RoaXMuX2JpbmRFdmVudCh0aGlzLnB0ciwidXAiLGZ1bmN0aW9uKGMpe2IuX21vdXNldXAoYyl9KTt0aGlzLnB0ci5maW5kKCJhIikuY2xpY2soZnVuY3Rpb24oKXtiLmlzLmNsaWNrZWQ9dHJ1ZTtpZighYi5pcy50b2NsaWNrKXtiLmlzLnRvY2xpY2s9dHJ1ZTtyZXR1cm4gZmFsc2V9fSkubW91c2Vkb3duKGZ1bmN0aW9uKGMpe2IuX21vdXNlZG93bihjKTtyZXR1cm4gZmFsc2V9KTt0aGlzLmV2ZW50cygpfSxfbW91c2Vkb3duOmZ1bmN0aW9uKGIpe3RoaXMuaXMuZHJhZz10cnVlO3RoaXMuaXMuY2xpY2tlZD1mYWxzZTt0aGlzLmlzLm1vdXNldXA9ZmFsc2U7dmFyIGM9dGhpcy5wdHIub2Zmc2V0KCk7dmFyIGQ9dGhpcy5fZ2V0UGFnZUNvb3JkcyhiKTt0aGlzLmN4PWQueC1jLmxlZnQ7dGhpcy5jeT1kLnktYy50b3A7YS5leHRlbmQodGhpcy5kLHtsZWZ0OmMubGVmdCx0b3A6Yy50b3Asd2lkdGg6dGhpcy5wdHIud2lkdGgoKSxoZWlnaHQ6dGhpcy5wdHIuaGVpZ2h0KCl9KTtpZih0aGlzLm91dGVyJiZ0aGlzLm91dGVyLmdldCgwKSl7dGhpcy5vdXRlci5jc3Moe2hlaWdodDpNYXRoLm1heCh0aGlzLm91dGVyLmhlaWdodCgpLGEoZG9jdW1lbnQuYm9keSkuaGVpZ2h0KCkpLG92ZXJmbG93OiJoaWRkZW4ifSl9dGhpcy5vbm1vdXNlZG93bihiKX0sX21vdXNlbW92ZTpmdW5jdGlvbihiKXt0aGlzLmlzLnRvY2xpY2s9ZmFsc2U7dmFyIGM9dGhpcy5fZ2V0UGFnZUNvb3JkcyhiKTt0aGlzLm9ubW91c2Vtb3ZlKGIsYy54LXRoaXMuY3gsYy55LXRoaXMuY3kpfSxfbW91c2V1cDpmdW5jdGlvbihiKXt2YXIgYz10aGlzO2lmKHRoaXMuaXMuZHJhZyl7dGhpcy5pcy5kcmFnPWZhbHNlO2lmKHRoaXMub3V0ZXImJnRoaXMub3V0ZXIuZ2V0KDApKXtpZihhLmJyb3dzZXIubW96aWxsYSl7dGhpcy5vdXRlci5jc3Moe292ZXJmbG93OiJoaWRkZW4ifSl9ZWxzZXt0aGlzLm91dGVyLmNzcyh7b3ZlcmZsb3c6InZpc2libGUifSl9aWYoYS5icm93c2VyLm1zaWUmJmEuYnJvd3Nlci52ZXJzaW9uPT0iNi4wIil7dGhpcy5vdXRlci5jc3Moe2hlaWdodDoiMTAwJSJ9KX1lbHNle3RoaXMub3V0ZXIuY3NzKHtoZWlnaHQ6ImF1dG8ifSl9fXRoaXMub25tb3VzZXVwKGIpfX19fSkoalF1ZXJ5KTsoZnVuY3Rpb24oYil7Yi5zbGlkZXI9ZnVuY3Rpb24oZixlKXt2YXIgZD1iKGYpO2lmKCFkLmRhdGEoImpzbGlkZXIiKSl7ZC5kYXRhKCJqc2xpZGVyIixuZXcgalNsaWRlcihmLGUpKX1yZXR1cm4gZC5kYXRhKCJqc2xpZGVyIil9O2IuZm4uc2xpZGVyPWZ1bmN0aW9uKGgsZSl7dmFyIGcsZj1hcmd1bWVudHM7ZnVuY3Rpb24gZChqKXtyZXR1cm4gaiE9PXVuZGVmaW5lZH1mdW5jdGlvbiBpKGope3JldHVybiBqIT1udWxsfXRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBrPWIuc2xpZGVyKHRoaXMsaCk7aWYodHlwZW9mIGg9PSJzdHJpbmciKXtzd2l0Y2goaCl7Y2FzZSJ2YWx1ZSI6aWYoZChmWzFdKSYmZChmWzJdKSl7dmFyIGo9ay5nZXRQb2ludGVycygpO2lmKGkoalswXSkmJmkoZlsxXSkpe2pbMF0uc2V0KGZbMV0pO2pbMF0uc2V0SW5kZXhPdmVyKCl9aWYoaShqWzFdKSYmaShmWzJdKSl7alsxXS5zZXQoZlsyXSk7alsxXS5zZXRJbmRleE92ZXIoKX19ZWxzZXtpZihkKGZbMV0pKXt2YXIgaj1rLmdldFBvaW50ZXJzKCk7aWYoaShqWzBdKSYmaShmWzFdKSl7alswXS5zZXQoZlsxXSk7alswXS5zZXRJbmRleE92ZXIoKX19ZWxzZXtnPWsuZ2V0VmFsdWUoKX19YnJlYWs7Y2FzZSJwcmMiOmlmKGQoZlsxXSkmJmQoZlsyXSkpe3ZhciBqPWsuZ2V0UG9pbnRlcnMoKTtpZihpKGpbMF0pJiZpKGZbMV0pKXtqWzBdLl9zZXQoZlsxXSk7alswXS5zZXRJbmRleE92ZXIoKX1pZihpKGpbMV0pJiZpKGZbMl0pKXtqWzFdLl9zZXQoZlsyXSk7alsxXS5zZXRJbmRleE92ZXIoKX19ZWxzZXtpZihkKGZbMV0pKXt2YXIgaj1rLmdldFBvaW50ZXJzKCk7aWYoaShqWzBdKSYmaShmWzFdKSl7alswXS5fc2V0KGZbMV0pO2pbMF0uc2V0SW5kZXhPdmVyKCl9fWVsc2V7Zz1rLmdldFByY1ZhbHVlKCl9fWJyZWFrO2Nhc2UiY2FsY3VsYXRlZFZhbHVlIjp2YXIgbT1rLmdldFZhbHVlKCkuc3BsaXQoIjsiKTtnPSIiO2Zvcih2YXIgbD0wO2w8bS5sZW5ndGg7bCsrKXtnKz0obD4wPyI7IjoiIikray5uaWNlKG1bbF0pfWJyZWFrO2Nhc2Uic2tpbiI6ay5zZXRTa2luKGZbMV0pO2JyZWFrfX1lbHNle2lmKCFoJiYhZSl7aWYoIWpTbGlkZXJJc0FycmF5KGcpKXtnPVtdfWcucHVzaChzbGlkZXIpfX19KTtpZihqU2xpZGVySXNBcnJheShnKSYmZy5sZW5ndGg9PTEpe2c9Z1swXX1yZXR1cm4gZ3x8dGhpc307dmFyIGM9e3NldHRpbmdzOntmcm9tOjEsdG86MTAsc3RlcDoxLHNtb290aDp0cnVlLGxpbWl0czp0cnVlLHJvdW5kOjAsdmFsdWU6IjU7NyIsZGltZW5zaW9uOiIifSxjbGFzc05hbWU6ImpzbGlkZXIiLHNlbGVjdG9yOiIuanNsaWRlci0iLHRlbXBsYXRlOmpTbGlkZXJUbXBsKCc8c3BhbiBjbGFzcz0iPCU9Y2xhc3NOYW1lJT4iPjx0YWJsZT48dHI+PHRkPjxkaXYgY2xhc3M9IjwlPWNsYXNzTmFtZSU+LWJnIj48aSBjbGFzcz0ibCI+PGk+PC9pPjwvaT48aSBjbGFzcz0iciI+PGk+PC9pPjwvaT48aSBjbGFzcz0idiI+PGk+PC9pPjwvaT48L2Rpdj48ZGl2IGNsYXNzPSI8JT1jbGFzc05hbWUlPi1wb2ludGVyIj48aT48L2k+PC9kaXY+PGRpdiBjbGFzcz0iPCU9Y2xhc3NOYW1lJT4tcG9pbnRlciA8JT1jbGFzc05hbWUlPi1wb2ludGVyLXRvIj48aT48L2k+PC9kaXY+PGRpdiBjbGFzcz0iPCU9Y2xhc3NOYW1lJT4tbGFiZWwiPjxzcGFuPjwlPXNldHRpbmdzLmZyb20lPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSI8JT1jbGFzc05hbWUlPi1sYWJlbCA8JT1jbGFzc05hbWUlPi1sYWJlbC10byI+PHNwYW4+PCU9c2V0dGluZ3MudG8lPjwvc3Bhbj48JT1zZXR0aW5ncy5kaW1lbnNpb24lPjwvZGl2PjxkaXYgY2xhc3M9IjwlPWNsYXNzTmFtZSU+LXZhbHVlIj48c3Bhbj48L3NwYW4+PCU9c2V0dGluZ3MuZGltZW5zaW9uJT48L2Rpdj48ZGl2IGNsYXNzPSI8JT1jbGFzc05hbWUlPi12YWx1ZSA8JT1jbGFzc05hbWUlPi12YWx1ZS10byI+PHNwYW4+PC9zcGFuPjwlPXNldHRpbmdzLmRpbWVuc2lvbiU+PC9kaXY+PGRpdiBjbGFzcz0iPCU9Y2xhc3NOYW1lJT4tc2NhbGUiPjwlPXNjYWxlJT48L2Rpdj48L3RkPjwvdHI+PC90YWJsZT48L3NwYW4+Jyl9O3RoaXMualNsaWRlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtqU2xpZGVyLnByb3RvdHlwZT17aW5pdDpmdW5jdGlvbihlLGQpe3RoaXMuc2V0dGluZ3M9Yi5leHRlbmQodHJ1ZSx7fSxjLnNldHRpbmdzLGQ/ZDp7fSk7dGhpcy5pbnB1dE5vZGU9YihlKS5oaWRlKCk7dGhpcy5zZXR0aW5ncy5pbnRlcnZhbD10aGlzLnNldHRpbmdzLnRvLXRoaXMuc2V0dGluZ3MuZnJvbTt0aGlzLnNldHRpbmdzLnZhbHVlPXRoaXMuaW5wdXROb2RlLmF0dHIoInZhbHVlIik7aWYodGhpcy5zZXR0aW5ncy5jYWxjdWxhdGUmJmIuaXNGdW5jdGlvbih0aGlzLnNldHRpbmdzLmNhbGN1bGF0ZSkpe3RoaXMubmljZT10aGlzLnNldHRpbmdzLmNhbGN1bGF0ZX1pZih0aGlzLnNldHRpbmdzLm9uc3RhdGVjaGFuZ2UmJmIuaXNGdW5jdGlvbih0aGlzLnNldHRpbmdzLm9uc3RhdGVjaGFuZ2UpKXt0aGlzLm9uc3RhdGVjaGFuZ2U9dGhpcy5zZXR0aW5ncy5vbnN0YXRlY2hhbmdlfXRoaXMuaXM9e2luaXQ6ZmFsc2V9O3RoaXMubz17fTt0aGlzLmNyZWF0ZSgpfSxvbnN0YXRlY2hhbmdlOmZ1bmN0aW9uKCl7fSxjcmVhdGU6ZnVuY3Rpb24oKXt2YXIgZD10aGlzO3RoaXMuZG9tTm9kZT1iKGMudGVtcGxhdGUoe2NsYXNzTmFtZTpjLmNsYXNzTmFtZSxzZXR0aW5nczp7ZnJvbTp0aGlzLm5pY2UodGhpcy5zZXR0aW5ncy5mcm9tKSx0bzp0aGlzLm5pY2UodGhpcy5zZXR0aW5ncy50byksZGltZW5zaW9uOnRoaXMuc2V0dGluZ3MuZGltZW5zaW9ufSxzY2FsZTp0aGlzLmdlbmVyYXRlU2NhbGUoKX0pKTt0aGlzLmlucHV0Tm9kZS5hZnRlcih0aGlzLmRvbU5vZGUpO3RoaXMuZHJhd1NjYWxlKCk7aWYodGhpcy5zZXR0aW5ncy5za2luJiZ0aGlzLnNldHRpbmdzLnNraW4ubGVuZ3RoPjApe3RoaXMuc2V0U2tpbih0aGlzLnNldHRpbmdzLnNraW4pfXRoaXMuc2l6ZXM9e2RvbVdpZHRoOnRoaXMuZG9tTm9kZS53aWR0aCgpLGRvbU9mZnNldDp0aGlzLmRvbU5vZGUub2Zmc2V0KCl9O2IuZXh0ZW5kKHRoaXMubyx7cG9pbnRlcnM6e30sbGFiZWxzOnswOntvOnRoaXMuZG9tTm9kZS5maW5kKGMuc2VsZWN0b3IrInZhbHVlIikubm90KGMuc2VsZWN0b3IrInZhbHVlLXRvIil9LDE6e286dGhpcy5kb21Ob2RlLmZpbmQoYy5zZWxlY3RvcisidmFsdWUiKS5maWx0ZXIoYy5zZWxlY3RvcisidmFsdWUtdG8iKX19LGxpbWl0czp7MDp0aGlzLmRvbU5vZGUuZmluZChjLnNlbGVjdG9yKyJsYWJlbCIpLm5vdChjLnNlbGVjdG9yKyJsYWJlbC10byIpLDE6dGhpcy5kb21Ob2RlLmZpbmQoYy5zZWxlY3RvcisibGFiZWwiKS5maWx0ZXIoYy5zZWxlY3RvcisibGFiZWwtdG8iKX19KTtiLmV4dGVuZCh0aGlzLm8ubGFiZWxzWzBdLHt2YWx1ZTp0aGlzLm8ubGFiZWxzWzBdLm8uZmluZCgic3BhbiIpfSk7Yi5leHRlbmQodGhpcy5vLmxhYmVsc1sxXSx7dmFsdWU6dGhpcy5vLmxhYmVsc1sxXS5vLmZpbmQoInNwYW4iKX0pO2lmKCFkLnNldHRpbmdzLnZhbHVlLnNwbGl0KCI7IilbMV0pe3RoaXMuc2V0dGluZ3Muc2luZ2xlPXRydWU7dGhpcy5kb21Ob2RlLmFkZERlcGVuZENsYXNzKCJzaW5nbGUiKX1pZighZC5zZXR0aW5ncy5saW1pdHMpe3RoaXMuZG9tTm9kZS5hZGREZXBlbmRDbGFzcygibGltaXRsZXNzIil9dGhpcy5kb21Ob2RlLmZpbmQoYy5zZWxlY3RvcisicG9pbnRlciIpLmVhY2goZnVuY3Rpb24oZSl7dmFyIGc9ZC5zZXR0aW5ncy52YWx1ZS5zcGxpdCgiOyIpW2VdO2lmKGcpe2Quby5wb2ludGVyc1tlXT1uZXcgYSh0aGlzLGUsZCk7dmFyIGY9ZC5zZXR0aW5ncy52YWx1ZS5zcGxpdCgiOyIpW2UtMV07aWYoZiYmbmV3IE51bWJlcihnKTxuZXcgTnVtYmVyKGYpKXtnPWZ9Zz1nPGQuc2V0dGluZ3MuZnJvbT9kLnNldHRpbmdzLmZyb206ZztnPWc+ZC5zZXR0aW5ncy50bz9kLnNldHRpbmdzLnRvOmc7ZC5vLnBvaW50ZXJzW2VdLnNldChnLHRydWUpfX0pO3RoaXMuby52YWx1ZT10aGlzLmRvbU5vZGUuZmluZCgiLnYiKTt0aGlzLmlzLmluaXQ9dHJ1ZTtiLmVhY2godGhpcy5vLnBvaW50ZXJzLGZ1bmN0aW9uKGUpe2QucmVkcmF3KHRoaXMpfSk7KGZ1bmN0aW9uKGUpe2Iod2luZG93KS5yZXNpemUoZnVuY3Rpb24oKXtlLm9ucmVzaXplKCl9KX0pKHRoaXMpfSxzZXRTa2luOmZ1bmN0aW9uKGQpe2lmKHRoaXMuc2tpbl8pe3RoaXMuZG9tTm9kZS5yZW1vdmVEZXBlbmRDbGFzcyh0aGlzLnNraW5fLCJfIil9dGhpcy5kb21Ob2RlLmFkZERlcGVuZENsYXNzKHRoaXMuc2tpbl89ZCwiXyIpfSxzZXRQb2ludGVyc0luZGV4OmZ1bmN0aW9uKGQpe2IuZWFjaCh0aGlzLmdldFBvaW50ZXJzKCksZnVuY3Rpb24oZSl7dGhpcy5pbmRleChlKX0pfSxnZXRQb2ludGVyczpmdW5jdGlvbigpe3JldHVybiB0aGlzLm8ucG9pbnRlcnN9LGdlbmVyYXRlU2NhbGU6ZnVuY3Rpb24oKXtpZih0aGlzLnNldHRpbmdzLnNjYWxlJiZ0aGlzLnNldHRpbmdzLnNjYWxlLmxlbmd0aD4wKXt2YXIgZj0iIjt2YXIgZT10aGlzLnNldHRpbmdzLnNjYWxlO3ZhciBnPU1hdGgucm91bmQoKDEwMC8oZS5sZW5ndGgtMSkpKjEwKS8xMDtmb3IodmFyIGQ9MDtkPGUubGVuZ3RoO2QrKyl7Zis9JzxzcGFuIHN0eWxlPSJsZWZ0OiAnK2QqZysnJSI+JysoZVtkXSE9InwiPyI8aW5zPiIrZVtkXSsiPC9pbnM+IjoiIikrIjwvc3Bhbj4ifXJldHVybiBmfWVsc2V7cmV0dXJuIiJ9cmV0dXJuIiJ9LGRyYXdTY2FsZTpmdW5jdGlvbigpe3RoaXMuZG9tTm9kZS5maW5kKGMuc2VsZWN0b3IrInNjYWxlIHNwYW4gaW5zIikuZWFjaChmdW5jdGlvbigpe2IodGhpcykuY3NzKHttYXJnaW5MZWZ0Oi1iKHRoaXMpLm91dGVyV2lkdGgoKS8yfSl9KX0sb25yZXNpemU6ZnVuY3Rpb24oKXt2YXIgZD10aGlzO3RoaXMuc2l6ZXM9e2RvbVdpZHRoOnRoaXMuZG9tTm9kZS53aWR0aCgpLGRvbU9mZnNldDp0aGlzLmRvbU5vZGUub2Zmc2V0KCl9O2IuZWFjaCh0aGlzLm8ucG9pbnRlcnMsZnVuY3Rpb24oZSl7ZC5yZWRyYXcodGhpcyl9KX0sbGltaXRzOmZ1bmN0aW9uKGQsZyl7aWYoIXRoaXMuc2V0dGluZ3Muc21vb3RoKXt2YXIgZj10aGlzLnNldHRpbmdzLnN0ZXAqMTAwLyh0aGlzLnNldHRpbmdzLmludGVydmFsKTtkPU1hdGgucm91bmQoZC9mKSpmfXZhciBlPXRoaXMuby5wb2ludGVyc1sxLWcudWlkXTtpZihlJiZnLnVpZCYmZDxlLnZhbHVlLnByYyl7ZD1lLnZhbHVlLnByY31pZihlJiYhZy51aWQmJmQ+ZS52YWx1ZS5wcmMpe2Q9ZS52YWx1ZS5wcmN9aWYoZDwwKXtkPTB9aWYoZD4xMDApe2Q9MTAwfXJldHVybiBNYXRoLnJvdW5kKGQqMTApLzEwfSxyZWRyYXc6ZnVuY3Rpb24oZCl7aWYoIXRoaXMuaXMuaW5pdCl7cmV0dXJuIGZhbHNlfXRoaXMuc2V0VmFsdWUoKTtpZih0aGlzLm8ucG9pbnRlcnNbMF0mJnRoaXMuby5wb2ludGVyc1sxXSl7dGhpcy5vLnZhbHVlLmNzcyh7bGVmdDp0aGlzLm8ucG9pbnRlcnNbMF0udmFsdWUucHJjKyIlIix3aWR0aDoodGhpcy5vLnBvaW50ZXJzWzFdLnZhbHVlLnByYy10aGlzLm8ucG9pbnRlcnNbMF0udmFsdWUucHJjKSsiJSJ9KX10aGlzLm8ubGFiZWxzW2QudWlkXS52YWx1ZS5odG1sKHRoaXMubmljZShkLnZhbHVlLm9yaWdpbikpO3RoaXMucmVkcmF3TGFiZWxzKGQpfSxyZWRyYXdMYWJlbHM6ZnVuY3Rpb24oail7ZnVuY3Rpb24gZihsLG0sbil7bS5tYXJnaW49LW0ubGFiZWwvMjtsYWJlbF9sZWZ0PW0uYm9yZGVyK20ubWFyZ2luO2lmKGxhYmVsX2xlZnQ8MCl7bS5tYXJnaW4tPWxhYmVsX2xlZnR9aWYobS5ib3JkZXIrbS5sYWJlbC8yPmUuc2l6ZXMuZG9tV2lkdGgpe20ubWFyZ2luPTA7bS5yaWdodD10cnVlfWVsc2V7bS5yaWdodD1mYWxzZX1sLm8uY3NzKHtsZWZ0Om4rIiUiLG1hcmdpbkxlZnQ6bS5tYXJnaW4scmlnaHQ6ImF1dG8ifSk7aWYobS5yaWdodCl7bC5vLmNzcyh7bGVmdDoiYXV0byIscmlnaHQ6MH0pfXJldHVybiBtfXZhciBlPXRoaXM7dmFyIGc9dGhpcy5vLmxhYmVsc1tqLnVpZF07dmFyIGs9ai52YWx1ZS5wcmM7dmFyIGg9e2xhYmVsOmcuby5vdXRlcldpZHRoKCkscmlnaHQ6ZmFsc2UsYm9yZGVyOihrKnRoaXMuc2l6ZXMuZG9tV2lkdGgpLzEwMH07aWYoIXRoaXMuc2V0dGluZ3Muc2luZ2xlKXt2YXIgZD10aGlzLm8ucG9pbnRlcnNbMS1qLnVpZF07dmFyIGk9dGhpcy5vLmxhYmVsc1tkLnVpZF07c3dpdGNoKGoudWlkKXtjYXNlIDA6aWYoaC5ib3JkZXIraC5sYWJlbC8yPmkuby5vZmZzZXQoKS5sZWZ0LXRoaXMuc2l6ZXMuZG9tT2Zmc2V0LmxlZnQpe2kuby5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiJ9KTtpLnZhbHVlLmh0bWwodGhpcy5uaWNlKGQudmFsdWUub3JpZ2luKSk7Zy5vLmNzcyh7dmlzaWJpbGl0eToidmlzaWJsZSJ9KTtrPShkLnZhbHVlLnByYy1rKS8yK2s7aWYoZC52YWx1ZS5wcmMhPWoudmFsdWUucHJjKXtnLnZhbHVlLmh0bWwodGhpcy5uaWNlKGoudmFsdWUub3JpZ2luKSsiJm5ic3A7Jm5kYXNoOyZuYnNwOyIrdGhpcy5uaWNlKGQudmFsdWUub3JpZ2luKSk7aC5sYWJlbD1nLm8ub3V0ZXJXaWR0aCgpO2guYm9yZGVyPShrKnRoaXMuc2l6ZXMuZG9tV2lkdGgpLzEwMH19ZWxzZXtpLm8uY3NzKHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pfWJyZWFrO2Nhc2UgMTppZihoLmJvcmRlci1oLmxhYmVsLzI8aS5vLm9mZnNldCgpLmxlZnQtdGhpcy5zaXplcy5kb21PZmZzZXQubGVmdCtpLm8ub3V0ZXJXaWR0aCgpKXtpLm8uY3NzKHt2aXNpYmlsaXR5OiJoaWRkZW4ifSk7aS52YWx1ZS5odG1sKHRoaXMubmljZShkLnZhbHVlLm9yaWdpbikpO2cuby5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUifSk7az0oay1kLnZhbHVlLnByYykvMitkLnZhbHVlLnByYztpZihkLnZhbHVlLnByYyE9ai52YWx1ZS5wcmMpe2cudmFsdWUuaHRtbCh0aGlzLm5pY2UoZC52YWx1ZS5vcmlnaW4pKyImbmJzcDsmbmRhc2g7Jm5ic3A7Iit0aGlzLm5pY2Uoai52YWx1ZS5vcmlnaW4pKTtoLmxhYmVsPWcuby5vdXRlcldpZHRoKCk7aC5ib3JkZXI9KGsqdGhpcy5zaXplcy5kb21XaWR0aCkvMTAwfX1lbHNle2kuby5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUifSl9YnJlYWt9fWg9ZihnLGgsayk7aWYoaSl7dmFyIGg9e2xhYmVsOmkuby5vdXRlcldpZHRoKCkscmlnaHQ6ZmFsc2UsYm9yZGVyOihkLnZhbHVlLnByYyp0aGlzLnNpemVzLmRvbVdpZHRoKS8xMDB9O2g9ZihpLGgsZC52YWx1ZS5wcmMpfXRoaXMucmVkcmF3TGltaXRzKCl9LHJlZHJhd0xpbWl0czpmdW5jdGlvbigpe2lmKHRoaXMuc2V0dGluZ3MubGltaXRzKXt2YXIgZj1bdHJ1ZSx0cnVlXTtmb3Ioa2V5IGluIHRoaXMuby5wb2ludGVycyl7aWYoIXRoaXMuc2V0dGluZ3Muc2luZ2xlfHxrZXk9PTApe3ZhciBqPXRoaXMuby5wb2ludGVyc1trZXldO3ZhciBlPXRoaXMuby5sYWJlbHNbai51aWRdO3ZhciBoPWUuby5vZmZzZXQoKS5sZWZ0LXRoaXMuc2l6ZXMuZG9tT2Zmc2V0LmxlZnQ7dmFyIGQ9dGhpcy5vLmxpbWl0c1swXTtpZihoPGQub3V0ZXJXaWR0aCgpKXtmWzBdPWZhbHNlfXZhciBkPXRoaXMuby5saW1pdHNbMV07aWYoaCtlLm8ub3V0ZXJXaWR0aCgpPnRoaXMuc2l6ZXMuZG9tV2lkdGgtZC5vdXRlcldpZHRoKCkpe2ZbMV09ZmFsc2V9fX1mb3IodmFyIGc9MDtnPGYubGVuZ3RoO2crKyl7aWYoZltnXSl7dGhpcy5vLmxpbWl0c1tnXS5mYWRlSW4oImZhc3QiKX1lbHNle3RoaXMuby5saW1pdHNbZ10uZmFkZU91dCgiZmFzdCIpfX19fSxzZXRWYWx1ZTpmdW5jdGlvbigpe3ZhciBkPXRoaXMuZ2V0VmFsdWUoKTt0aGlzLmlucHV0Tm9kZS5hdHRyKCJ2YWx1ZSIsZCk7dGhpcy5vbnN0YXRlY2hhbmdlLmNhbGwodGhpcyxkKX0sZ2V0VmFsdWU6ZnVuY3Rpb24oKXtpZighdGhpcy5pcy5pbml0KXtyZXR1cm4gZmFsc2V9dmFyIGU9dGhpczt2YXIgZD0iIjtiLmVhY2godGhpcy5vLnBvaW50ZXJzLGZ1bmN0aW9uKGYpe2lmKHRoaXMudmFsdWUucHJjIT11bmRlZmluZWQmJiFpc05hTih0aGlzLnZhbHVlLnByYykpe2QrPShmPjA/IjsiOiIiKStlLnByY1RvVmFsdWUodGhpcy52YWx1ZS5wcmMpfX0pO3JldHVybiBkfSxnZXRQcmNWYWx1ZTpmdW5jdGlvbigpe2lmKCF0aGlzLmlzLmluaXQpe3JldHVybiBmYWxzZX12YXIgZT10aGlzO3ZhciBkPSIiO2IuZWFjaCh0aGlzLm8ucG9pbnRlcnMsZnVuY3Rpb24oZil7aWYodGhpcy52YWx1ZS5wcmMhPXVuZGVmaW5lZCYmIWlzTmFOKHRoaXMudmFsdWUucHJjKSl7ZCs9KGY+MD8iOyI6IiIpK3RoaXMudmFsdWUucHJjfX0pO3JldHVybiBkfSxwcmNUb1ZhbHVlOmZ1bmN0aW9uKGwpe2lmKHRoaXMuc2V0dGluZ3MuaGV0ZXJvZ2VuZWl0eSYmdGhpcy5zZXR0aW5ncy5oZXRlcm9nZW5laXR5Lmxlbmd0aD4wKXt2YXIgZz10aGlzLnNldHRpbmdzLmhldGVyb2dlbmVpdHk7dmFyIGY9MDt2YXIgaz10aGlzLnNldHRpbmdzLmZyb207Zm9yKHZhciBlPTA7ZTw9Zy5sZW5ndGg7ZSsrKXtpZihnW2VdKXt2YXIgZD1nW2VdLnNwbGl0KCIvIil9ZWxzZXt2YXIgZD1bMTAwLHRoaXMuc2V0dGluZ3MudG9dfWRbMF09bmV3IE51bWJlcihkWzBdKTtkWzFdPW5ldyBOdW1iZXIoZFsxXSk7aWYobD49ZiYmbDw9ZFswXSl7dmFyIGo9aysoKGwtZikqKGRbMV0taykpLyhkWzBdLWYpfWY9ZFswXTtrPWRbMV19fWVsc2V7dmFyIGo9dGhpcy5zZXR0aW5ncy5mcm9tKyhsKnRoaXMuc2V0dGluZ3MuaW50ZXJ2YWwpLzEwMH1yZXR1cm4gdGhpcy5yb3VuZChqKX0sdmFsdWVUb1ByYzpmdW5jdGlvbihqLGwpe2lmKHRoaXMuc2V0dGluZ3MuaGV0ZXJvZ2VuZWl0eSYmdGhpcy5zZXR0aW5ncy5oZXRlcm9nZW5laXR5Lmxlbmd0aD4wKXt2YXIgZz10aGlzLnNldHRpbmdzLmhldGVyb2dlbmVpdHk7dmFyIGY9MDt2YXIgaz10aGlzLnNldHRpbmdzLmZyb207Zm9yKHZhciBlPTA7ZTw9Zy5sZW5ndGg7ZSsrKXtpZihnW2VdKXt2YXIgZD1nW2VdLnNwbGl0KCIvIil9ZWxzZXt2YXIgZD1bMTAwLHRoaXMuc2V0dGluZ3MudG9dfWRbMF09bmV3IE51bWJlcihkWzBdKTtkWzFdPW5ldyBOdW1iZXIoZFsxXSk7aWYoaj49ayYmajw9ZFsxXSl7dmFyIG09bC5saW1pdHMoZisoai1rKSooZFswXS1mKS8oZFsxXS1rKSl9Zj1kWzBdO2s9ZFsxXX19ZWxzZXt2YXIgbT1sLmxpbWl0cygoai10aGlzLnNldHRpbmdzLmZyb20pKjEwMC90aGlzLnNldHRpbmdzLmludGVydmFsKX1yZXR1cm4gbX0scm91bmQ6ZnVuY3Rpb24oZCl7ZD1NYXRoLnJvdW5kKGQvdGhpcy5zZXR0aW5ncy5zdGVwKSp0aGlzLnNldHRpbmdzLnN0ZXA7aWYodGhpcy5zZXR0aW5ncy5yb3VuZCl7ZD1NYXRoLnJvdW5kKGQqTWF0aC5wb3coMTAsdGhpcy5zZXR0aW5ncy5yb3VuZCkpL01hdGgucG93KDEwLHRoaXMuc2V0dGluZ3Mucm91bmQpfWVsc2V7ZD1NYXRoLnJvdW5kKGQpfXJldHVybiBkfSxuaWNlOmZ1bmN0aW9uKGQpe2Q9ZC50b1N0cmluZygpLnJlcGxhY2UoLywvZ2ksIi4iKTtkPWQudG9TdHJpbmcoKS5yZXBsYWNlKC8gL2dpLCIiKTtpZihOdW1iZXIucHJvdG90eXBlLmpTbGlkZXJOaWNlKXtyZXR1cm4obmV3IE51bWJlcihkKSkualNsaWRlck5pY2UodGhpcy5zZXR0aW5ncy5yb3VuZCkucmVwbGFjZSgvLS9naSwiJm1pbnVzOyIpfWVsc2V7cmV0dXJuIG5ldyBOdW1iZXIoZCl9fX07ZnVuY3Rpb24gYSgpe3RoaXMuYmFzZUNvbnN0cnVjdG9yLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1hLmluaGVyaXRGcm9tKERyYWdnYWJsZSx7b25pbml0OmZ1bmN0aW9uKGYsZSxkKXt0aGlzLnVpZD1lO3RoaXMucGFyZW50PWQ7dGhpcy52YWx1ZT17fTt0aGlzLnNldHRpbmdzPXRoaXMucGFyZW50LnNldHRpbmdzfSxvbm1vdXNlZG93bjpmdW5jdGlvbihkKXt0aGlzLl9wYXJlbnQ9e29mZnNldDp0aGlzLnBhcmVudC5kb21Ob2RlLm9mZnNldCgpLHdpZHRoOnRoaXMucGFyZW50LmRvbU5vZGUud2lkdGgoKX07dGhpcy5wdHIuYWRkRGVwZW5kQ2xhc3MoImhvdmVyIik7dGhpcy5zZXRJbmRleE92ZXIoKX0sb25tb3VzZW1vdmU6ZnVuY3Rpb24oZSxkKXt2YXIgZj10aGlzLl9nZXRQYWdlQ29vcmRzKGUpO3RoaXMuX3NldCh0aGlzLmNhbGMoZi54KSl9LG9ubW91c2V1cDpmdW5jdGlvbihkKXtpZih0aGlzLnBhcmVudC5zZXR0aW5ncy5jYWxsYmFjayYmYi5pc0Z1bmN0aW9uKHRoaXMucGFyZW50LnNldHRpbmdzLmNhbGxiYWNrKSl7dGhpcy5wYXJlbnQuc2V0dGluZ3MuY2FsbGJhY2suY2FsbCh0aGlzLnBhcmVudCx0aGlzLnBhcmVudC5nZXRWYWx1ZSgpKX10aGlzLnB0ci5yZW1vdmVEZXBlbmRDbGFzcygiaG92ZXIiKX0sc2V0SW5kZXhPdmVyOmZ1bmN0aW9uKCl7dGhpcy5wYXJlbnQuc2V0UG9pbnRlcnNJbmRleCgxKTt0aGlzLmluZGV4KDIpfSxpbmRleDpmdW5jdGlvbihkKXt0aGlzLnB0ci5jc3Moe3pJbmRleDpkfSl9LGxpbWl0czpmdW5jdGlvbihkKXtyZXR1cm4gdGhpcy5wYXJlbnQubGltaXRzKGQsdGhpcyl9LGNhbGM6ZnVuY3Rpb24oZSl7dmFyIGQ9dGhpcy5saW1pdHMoKChlLXRoaXMuX3BhcmVudC5vZmZzZXQubGVmdCkqMTAwKS90aGlzLl9wYXJlbnQud2lkdGgpO3JldHVybiBkfSxzZXQ6ZnVuY3Rpb24oZCxlKXt0aGlzLnZhbHVlLm9yaWdpbj10aGlzLnBhcmVudC5yb3VuZChkKTt0aGlzLl9zZXQodGhpcy5wYXJlbnQudmFsdWVUb1ByYyhkLHRoaXMpLGUpfSxfc2V0OmZ1bmN0aW9uKGUsZCl7aWYoIWQpe3RoaXMudmFsdWUub3JpZ2luPXRoaXMucGFyZW50LnByY1RvVmFsdWUoZSl9dGhpcy52YWx1ZS5wcmM9ZTt0aGlzLnB0ci5jc3Moe2xlZnQ6ZSsiJSJ9KTt0aGlzLnBhcmVudC5yZWRyYXcodGhpcyl9fSl9KShqUXVlcnkpOwoKLyoKICogalF1ZXJ5IGF1dG9SZXNpemUgKHRleHRhcmVhIGF1dG8tcmVzaXplcikKICogQGNvcHlyaWdodCBKYW1lcyBQYWRvbHNleSBodHRwOi8vamFtZXMucGFkb2xzZXkuY29tCiAqIEB2ZXJzaW9uIDEuMDQKICovCihmdW5jdGlvbihhKXthLmZuLmF1dG9SZXNpemU9ZnVuY3Rpb24oail7dmFyIGI9YS5leHRlbmQoe29uUmVzaXplOmZ1bmN0aW9uKCl7fSxhbmltYXRlOnRydWUsYW5pbWF0ZUR1cmF0aW9uOjE1MCxhbmltYXRlQ2FsbGJhY2s6ZnVuY3Rpb24oKXt9LGV4dHJhU3BhY2U6MjAsbGltaXQ6MTAwMH0saik7dGhpcy5maWx0ZXIoJ3RleHRhcmVhJykuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcykuY3NzKHsvKnJlc2l6ZTonbm9uZScsKi8nb3ZlcmZsb3cteSc6J2hpZGRlbid9KSxrPWMuaGVpZ2h0KCksZj0oZnVuY3Rpb24oKXt2YXIgbD1bJ2hlaWdodCcsJ3dpZHRoJywnbGluZUhlaWdodCcsJ3RleHREZWNvcmF0aW9uJywnbGV0dGVyU3BhY2luZyddLGg9e307YS5lYWNoKGwsZnVuY3Rpb24oZCxlKXtoW2VdPWMuY3NzKGUpfSk7cmV0dXJuIGMuY2xvbmUoKS5yZW1vdmVBdHRyKCdpZCcpLnJlbW92ZUF0dHIoJ25hbWUnKS5jc3Moe3Bvc2l0aW9uOidhYnNvbHV0ZScsdG9wOjAsbGVmdDotOTk5OX0pLmNzcyhoKS5hdHRyKCd0YWJJbmRleCcsJy0xJykuaW5zZXJ0QmVmb3JlKGMpfSkoKSxpPW51bGwsZz1mdW5jdGlvbigpe2YuaGVpZ2h0KDApLnZhbChhKHRoaXMpLnZhbCgpKS5zY3JvbGxUb3AoMTAwMDApO3ZhciBkPU1hdGgubWF4KGYuc2Nyb2xsVG9wKCksaykrYi5leHRyYVNwYWNlLGU9YSh0aGlzKS5hZGQoZik7aWYoaT09PWQpe3JldHVybn1pPWQ7aWYoZD49Yi5saW1pdCl7YSh0aGlzKS5jc3MoJ292ZXJmbG93LXknLCcnKTtyZXR1cm59Yi5vblJlc2l6ZS5jYWxsKHRoaXMpO2IuYW5pbWF0ZSYmYy5jc3MoJ2Rpc3BsYXknKT09PSdibG9jayc/ZS5zdG9wKCkuYW5pbWF0ZSh7aGVpZ2h0OmR9LGIuYW5pbWF0ZUR1cmF0aW9uLGIuYW5pbWF0ZUNhbGxiYWNrKTplLmhlaWdodChkKX07Yy51bmJpbmQoJy5keW5TaXonKS5iaW5kKCdrZXl1cC5keW5TaXonLGcpLmJpbmQoJ2tleWRvd24uZHluU2l6JyxnKS5iaW5kKCdjaGFuZ2UuZHluU2l6JyxnKX0pO3JldHVybiB0aGlzfX0pKGpRdWVyeSk7Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ0FkdmFuY2VkQ29udGVudCddID0gJ0Vyd2VpdGVydGVyIEluaGFsdCc7CiRsYW5nWydhZHZhbmNlZGNvbnRlbnRfdGFibmFtZSddID0gJ0Vyd2VpdGVydGUgT3B0aW9uZW4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgQWR2YW5jZWRDb250ZW50ICVzIHd1cmRlIGluc3RhbGxpZXJ0JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgQWR2YW5jZWRDb250ZW50ICVzIHd1cmRlIGRlaW5zdGFsbGllcnQnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bCBBZHZhbmNlZENvbnRlbnQgYXVmIFZlcnNpb24gJXMgYWt0dWFsaXNpZXJ0JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWwgQWR2YW5jZWRDb250ZW50ICVzIHd1cmRlIGluc3RhbGxpZXJ0Lic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdWwgQWR2YW5jZWRDb250ZW50ICVzIHd1cmRlIGRlaW5zdGFsbGllcnQuJzsKJGxhbmdbJ2NvbmZpcm11bmluc3RhbGwnXSA9ICclc1dvbGxlbiBTaWUgZGFzIE1vZHVsIEFkdmFuY2VkQ29udGVudCB3aXJrbGljaCBkZWluc3RhbGxpZXJlbj8nOwokbGFuZ1snd2FybmluZ3VuaW5zdGFsbCddID0gIldBUk5VTkchIFNpZSBoYWJlbiBpbiBkZW4gTW9kdWxlaW5zdGVsbHVuZ2VuIGtlaW5lIEFrdGlvbiBiZWltIERlaW5zdGFsbGllcmVuIGdld8OkaGx0ISBTdGVsbGVuIFNpZSBzaWNoZXIsIGRhc3MgYWxsZSBTZWl0ZW4gdm9tIFR5cCAnRXJ3ZWl0ZXJ0ZXIgSW5oYWx0JyB6dXLDvGNrIGF1ZiBkZW4gU3RhbmRhcmQtSW5oYWx0c3R5cGVuIGdlw6RuZGVydCBvZGVyIGdlbMO2c2NodCB3ZXJkZW4gYmV2b3IgU2llIGRhcyBNb2R1bCBlbnRmZXJuZW4hIEFuZGVyZW5mYWxscyBmdW5rdGlvbmllcnQgSWhyZSBDTVMgSW5zdGFsbGF0aW9uIG5pY2h0IG1laHIhICI7CiRsYW5nWyd3YXJuaW5ndW5pbnN0YWxsMSddID0gIldBUk5VTkchIERhbWl0IHdlcmRlbiBhbGxlIFNlaXRlbiB2b20gVHlwICdFcndlaXRlcnRlciBJbmhhbHQnIGdlbMO2c2NodCEgIjsKJGxhbmdbJ3dhcm5pbmd1bmluc3RhbGwyJ10gPSAiSElOV0VJUzogQWxsZSBTZWl0ZW4gdm9tIFR5cCAnRXJ3ZWl0ZXJ0ZXIgSW5oYWx0JyB3ZXJkZW4gd2llZGVyIGF1ZiBkZW4gU3RhbmRhcmQtSW5oYWx0c3R5cGVuIGdlc2V0enQhICI7CiRsYW5nWyd3YXJuaW5ndW5pbnN0YWxsMyddID0gIldBUk5VTkchIEFsbGUgU2VpdGVuIHZvbSBUeXAgJ0Vyd2VpdGVydGVyIEluaGFsdCcgd2VyZGVuIHdpZWRlciBhdWYgZGVuIFN0YW5kYXJkLUluaGFsdHN0eXBlbiBnZXNldHp0IHVuZCBhbGxlIHp1c8OkdHppY2hlbiBJbmhhbHRzYmzDtmNrZSB3ZXJkZW4gZ2Vsw7ZzY2h0ISAiOwokbGFuZ1snbm90aWNlX2R1cGxpY2F0ZWNvbnRlbnQnXSA9ICc8ZW0+PHN0cm9uZz5IaW53ZWlzOjwvc3Ryb25nPiBEaWVzZXIgQmxvY2sgd2lyZCBtZWhyZmFjaCBpbSBUZW1wbGF0ZSB2ZXJ3ZW5kZXQuIFNpZSBzZWhlbiBoaWVyIG51ciBkZW4gZXJzdGVuIEJsb2NrLjwvZW0+JzsKJGxhbmdbJ2Vycm9yX2Jhc2ljYXR0cmliJ10gPSAiPGVtPjxzdHJvbmc+SGlud2Vpczo8L3N0cm9uZz4gRGVyIEJhc2lzLUluaGFsdHMtRWlnZW5zY2hhZnRzLU5hbWUgJyVzJyBrYW5uIG5pY2h0IGFscyBXZXJ0IGYmdXVtbDtyIGRlbiBQYXJhbWV0ZXIgJ2Jsb2NrJyB2ZXJ3ZW5kZXQgd2VyZGVuLiA8YnIgLz5EaWVzZXIgQmxvY2sgaXN0IGluYWt0aXYuIE51ciBkZXIgZXJzdGUgQmxvY2sgd2lyZCBhbmdlemVpZ3QuIFByJnV1bWw7ZmVuIFNpZSBJaHIgU2VpdGVuLVRlbXBsYXRlIHVuZCB3JmF1bWw7aGxlbiBTaWUgZiZ1dW1sO3IgZGVuIFBhcmFtZXRlciAnYmxvY2snIGVpbmVuIGFuZGVyZW4gV2VydC48L2VtPiI7CiRsYW5nWydlcnJvcl9leHBpcmVkYXRlJ10gPSAnRGFzIEVuZGRhdHVtIG11c3MgaGludGVyIGRlbSBTdGFydGRhdHVtIGxpZWdlbi4nOwokbGFuZ1sneW91YXJlaW50ZXh0J10gPSAnQWt0dWVsbGVzIFZlcnplaWNobmlzJzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdCaWxkZ3Imb3VtbDsmc3psaWc7ZSc7CiRsYW5nWydzaXplJ10gPSAnRGF0ZWlnciZvdW1sOyZzemxpZztlJzsKJGxhbmdbJ2luaGVyaXRfZnJvbV9wYXJlbnQnXSA9ICdWb20gJnV1bWw7YmVyZ2VvcmRuZXRlbiBFbGVtZW50ICZ1dW1sO2Jlcm5laG1lbic7CiRsYW5nWydub25lJ10gPSAnbmljaHRzJzsKJGxhbmdbJ2ludmFsaWQnXSA9ICd1bmcmdXVtbDtsdGlnJzsKJGxhbmdbJ2ludmFsaWRfYmxvY2t0eXBlJ10gPSAiPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBVbmcmdXVtbDtsdGlnZXIgV2VydCAnJXMnIGRlcyBQYXJhbWV0ZXJzIGJsb2NrX3R5cGUgaW0gQmxvY2sgJyVzJy48YnIgLz5CaXR0ZSBwciZ1dW1sO2ZlbiBTaWUgSWhyIFNlaXRlbi1UZW1wbGF0ZS48L2VtPiI7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRfYmxvY2twYXJhbXMnXSA9ICI8ZW0+PHN0cm9uZz5GZWhsZXI6PC9zdHJvbmc+IFVuenVyZWljaGVuZGUgcGFyYW1ldGVyLiA8YnIgLz5GZWhsZW5kZXIgcGFyYW0gJyVzJyBmJnV1bWw7ciBibG9jayAnJXMnLiAmVXVtbDtiZXJwciZ1dW1sO2ZlbiBTaWUgSWhyIFNlaXRlbi1UZW1wbGF0ZS48L2VtPiI7CiRsYW5nWyd5ZXMnXSA9ICdKYSc7CiRsYW5nWydubyddID0gJ05laW4nOwokbGFuZ1snZnJvbnRlbmRhY2Nlc3MnXSA9ICdGcm9udGVuZC1adWdyaWZmJzsKJGxhbmdbJ3JlZGlyZWN0cGFnZSddID0gJ1NlaXRlIGF1ZiBkaWUgdW1nZWxlaXRldCB3ZXJkZW4gc29sbCwgd2VubiBkZXIgWnVncmlmZiBuaWNodCBlcmxhdWJ0IGlzdCc7CiRsYW5nWydzaG93bG9naW5mb3JtJ10gPSAnQW5tZWxkZS1Gb3JtdWxhciBhbnplaWdlbic7CiRsYW5nWydyZWdpc3RlcmVkdXNlcnMnXSA9ICdOdXIgZiZ1dW1sO3IgcmVnaXN0cmllcnRlIE51dHplcic7CiRsYW5nWydibG9jayddID0gJ0Jsb2NrICc7CiRsYW5nWyd1c2VleHBpcmVkYXRlJ10gPSAnQWJsYXVmZGF0dW0gdmVyd2VuZGVuJzsKJGxhbmdbJ3N0YXJ0ZGF0ZSddID0gJ1N0YXJ0ZGF0dW0nOwokbGFuZ1snZW5kZGF0ZSddID0gJ0VuZGRhdHVtJzsKJGxhbmdbJ2Jsb2NrY29udGVudCddID0gJ0Jsb2NrLUluaGFsdCc7CiRsYW5nWydzZXRwYWdlaW5hY3RpdmUnXSA9ICdTZWl0ZSBhdWYgaW5ha3RpdiBzZXR6ZW4nOwokbGFuZ1snZGVsZXRlcGFnZSddID0gJ1NlaXRlIGwmb3VtbDtzY2hlbic7CiRsYW5nWyd1bmluc3RhbGxhY3Rpb24nXSA9ICdBa3Rpb24gYmVpbSBEZWluc3RhbGxpZXJlbic7CiRsYW5nWydzZXRjb250ZW50MSddID0gJ0FsbGUgU2VpdGVuIGF1ZiBUeXAgIkluaGFsdCIgc2V0emVuJzsKJGxhbmdbJ3NldGNvbnRlbnQyJ10gPSAnQWxsZSBTZWl0ZW4gYXVmIFR5cCAiSW5oYWx0IiBzZXR6ZW4gdW5kIEFkdmFuY2VkQ29udGVudC1CbCZvdW1sO2NrZSBsJm91bWw7c2NoZW4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnRWluc3RlbGx1bmdlbiBha3R1YWxpc2llcnQnOwokbGFuZ1snc3VjY2VzcyddID0gJ09LJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRmVobGVyJzsKJGxhbmdbJ2RlbGV0ZXBhZ2VzJ10gPSAnQWxsZSBTZWl0ZW4gdm9tIFR5cCAiRXJ3ZWl0ZXJ0ZXIgSW5oYWx0IiBsJm91bWw7c2NoZW4nOwokbGFuZ1snaW1wb3J0cGFnZXMnXSA9ICJBbGxlIFNlaXRlbiB2b20gVHlwICclcycgYXVmIFR5cCAnJXMnIHNldHplbi4iOwokbGFuZ1snY29uZmlybWltcG9ydCddID0gJ1dvbGxlbiBTaWUgd2lya2xpY2ggZGVuIEluaGFsdHMtVHlwIGFsbGVyIEluaGFsdHNzZWl0ZW4gJmF1bWw7bmRlcm4/JzsKJGxhbmdbJ3RvZ2dsZV9tZXNzYWdlJ10gPSAnRGllc2UgTmFjaHJpY2h0IHZlcmJlcmdlbic7CiRsYW5nWydjb250ZW50c2V0dGluZ3MnXSA9ICdTdGFuZGFyZC1FaW5zdGVsbHVuZ2VuIGYmdXVtbDtyIGRlbiBUYWIgIkVyd2VpdGVydGUgT3B0aW9uZW4iJzsKJGxhbmdbJ3JlZGlyZWN0cGFyYW1zJ10gPSAnVVJMLVBhcmFtZXRlciwgZGllIGJlaSBVbWxlaXR1bmcgYW5nZWhhbmdlbiB3ZXJkZW4gc29sbGVuJzsKJGxhbmdbJ2V2YWx1YXRlc21hcnR5J10gPSAnU21hcnR5IHZlcndlbmRlbiwgdW0gZGllIFBhcmFtZXRlciB6dSB2ZXJhcmJlaXRlbic7CiRsYW5nWydlcnJvcl9sb2FkaW5nX21vZHVsZSddID0gIjxlbT48c3Ryb25nPkZlaGxlcjo8L3N0cm9uZz4gTW9kdWwgJyVzJyBrb25udGUgbmljaHQgZ2VsYWRlbiB3ZXJkZW4uIChhbmdlZ2ViZW4gZiZ1dW1sO3IgQmxvY2sgJyVzJyBpbSBTZWl0ZW4tVGVtcGxhdGUuKTwvZW0+IjsKJGxhbmdbJ2Vycm9yX2NvbnRlbnRibG9ja19zdXBwb3J0J10gPSAiPGVtPjxzdHJvbmc+RmVobGVyOjwvc3Ryb25nPiBNb2R1bCAnJXMnIHVudGVyc3QmdXVtbDt0enQga2VpbmUgSW5oYWx0c2JsJm91bWw7Y2tlLiAoYW5nZWdlYmVuIGYmdXVtbDsgYmxvY2sgJyVzJyBpbSBTZWl0ZW4tVGVtcGxhdGUuKTwvZW0+IjsKJGxhbmdbJ3N1Y2Nlc3NfaW1wb3J0cGFnZXMnXSA9ICJBbGxlIFNlaXRlbiBkZXMgVHlwcyAnJXMnIGVyZm9sZ3JlaWNoIGdlJmF1bWw7bmRlcnQgaW4gJyVzJyI7CiRsYW5nWydzaG93X2FkdmFuY2VkY29udGVudF9vcHRpb25zJ10gPSAiWmVpZ2UgVGFiICdFcndlaXRlcnRlIE9wdGlvbmVuJyI7CiRsYW5nWydkaXNwbGF5X3NldHRpbmdzJ10gPSAnJXMgRWluc3RlbGx1bmdlbiBhbnplaWdlbic7CiRsYW5nWydzYXZlX2NvbGxhcHNlX3N0YXR1cyddID0gJ1NwZWljaGVyZSBTaWNodGJhcmtlaXQgdm9uICVzJzsKJGxhbmdbJ2NvbnRlbnRfYmxvY2tzJ10gPSAnSW5oYWx0c2JsJm91bWw7Y2tlJzsKJGxhbmdbJ2Jsb2NrX21lc3NhZ2UnXSA9ICdCbG9jay1NaXR0ZWlsdW5nZW4nOwokbGFuZ1snYmxvY2tfZ3JvdXBzJ10gPSAnQmxvY2tncnVwcGUnOwokbGFuZ1snY29sbGFwc2VfZGVmYXVsdCddID0gJ0JsZW5kZSAlcyBhdXMnOwokbGFuZ1sncGVyX3BhZ2UnXSA9ICdwcm8gU2VpdGUnOwokbGFuZ1sncGVyX3RlbXBsYXRlJ10gPSAncHJvIFRlbXBsYXRlJzsKJGxhbmdbJ2JvdGgxJ10gPSAnVGVtcGxhdGUgT0RFUiBTZWl0ZSAnOwokbGFuZ1snYm90aDInXSA9ICdUZW1wbGF0ZSBVTkQgU2VpdGUnOwokbGFuZ1snY29udGVudCddID0gJ0luaGFsdCc7CiRsYW5nWydjb250ZW50MiddID0gJ0Vyd2VpdGVydGVyIEluaGFsdCc7CiRsYW5nWydwcmVmcyddID0gJ0VpbnN0ZWxsdW5nZW4nOwokbGFuZ1snbXVsdGlfaW5wdXQnXSA9ICdNdWx0aSBJbnB1dHMnOwokbGFuZ1snbXVsdGlfaW5wdXRfdHBsJ10gPSAnTXVsdGkgSW5wdXQgVGVtcGxhdGVzJzsKJGxhbmdbJ2FkZF9tdWx0aV9pbnB1dCddID0gJ05ldWVzIG11bHRpIGlucHV0IGhpbnp1ZyZ1dW1sO2dlbic7CiRsYW5nWydhZGRfbXVsdGlfaW5wdXRfdHBsJ10gPSAnTmV1ZXMgbXVsdGkgaW5wdXQgdGVtcGxhdGUgaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2lucHV0X2lkJ10gPSAnRWluZ2FiZS1JRCc7CiRsYW5nWydpbnB1dF9maWVsZHMnXSA9ICdFaW5nYWJlZmVsZGVyJzsKJGxhbmdbJ3RwbF9uYW1lJ10gPSAnVGVtcGxhdGUgTmFtZSc7CiRsYW5nWydlcnJvcl90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGlzdCBlaW4gUGZsaWNodGZlbGQgdW5kIGRhcmYgbmljaHQgbGVlciBzZWluICc7CiRsYW5nWydlcnJvcl9pbnB1dF9maWVsZHMnXSA9ICdFaW5nYWJlZmVsZGVyIGlzdCBlaW4gUGZsaWNodGZlbGQgdW5kIGRhcmYgbmljaHQgbGVlciBzZWluLic7CiRsYW5nWydlcnJvcl9pbnB1dF9pZCddID0gJ0tlaW5lIEVpbmdhYmUtSUQgYW5nZWdlYmVuIG9kZXIgRWluZ2FiZS1JRCBpc3QgYmVyZWl0cyB2b3JoYW5kZW4uJzsKJGxhbmdbJ2Vycm9yX2lucHV0X2lkX2V4aXN0cyddID0gJ0VpbmdhYmUtSUQgd2lyZCBiZXJlaXRzIHZlcndlbmRldC4gVyZhdW1sO2hsZW4gU2llIGVpbmUgYW5kZXJlLiAoTXVzcyBlaW5kZXV0aWcgc2VpbiknOwokbGFuZ1snbXVsdGlfaW5wdXRfYWRkZWQnXSA9ICdNdWx0aSBJbnB1dCBoaW56dWdlZiZ1dW1sO2d0Lic7CiRsYW5nWydtdWx0aV9pbnB1dF9kZWxldGVkJ10gPSAnTXVsdGkgSW5wdXQgZ2VsJm91bWw7c2NodC4nOwokbGFuZ1snbXVsdGlfaW5wdXRfdXBkYXRlZCddID0gJ011bHRpIElucHV0IGFrdHVhbGlzaWVydC4nOwokbGFuZ1snbXVsdGlfaW5wdXRfdHBsX2FkZGVkJ10gPSAnTXVsdGkgSW5wdXQgdGVtcGxhdGUgaGluenVnZWYmdXVtbDtndC4nOwokbGFuZ1snbXVsdGlfaW5wdXRfdHBsX3VwZGF0ZWQnXSA9ICdNdWx0aSBJbnB1dCB0ZW1wbGF0ZSBha3R1YWxpc2llcnQuJzsKJGxhbmdbJ211bHRpX2lucHV0X3RwbF9kZWxldGVkJ10gPSAnTXVsdGkgSW5wdXQgdGVtcGxhdGUgZ2VsJm91bWw7c2NodC4nOwokbGFuZ1snZGVsZXRlX3NlbGVjdGVkJ10gPSAnQXVzZ2V3JmF1bWw7aGx0ZSBFbGVtZW50ZSBsJm91bWw7c2NoZW4nOwokbGFuZ1snY29uZmlybV9kZWxldGUnXSA9ICdXb2xsZW4gU2llIHdpcmtsaWNoLCBkaWVzZXMgRWxlbWVudCBsJm91bWw7c2NoZW4/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3NlbGVjdGVkJ10gPSAnV29sbGVuIFNpZSB3aXJrbGljaCwgZGllIGF1c2dldyZhdW1sO2hsdGVuIEVsZW1lbnRlIGwmb3VtbDtzY2hlbj8nOwokbGFuZ1snaGlkZV9jb250ZW50J10gPSAnS2VpbmUgKG51ciBJbmhhbHQgdmVyYmVyZ2VuKSc7CiRsYW5nWydoaWRlX21lbnVfaXRlbSddID0gJ1NlaXRlIGltIE1lbiZ1dW1sOyB2ZXJiZXJnZW4nOwokbGFuZ1snbG9nZ2Vkb3V0J10gPSAnd2VubiBhdXNnZWxvZ2d0JzsKJGxhbmdbJ2xvZ2dlZGluJ10gPSAnd2VubiBlaW5nZWxvZ2d0JzsKJGxhbmdbJ2FmdGVyY3VycmRhdGUnXSA9ICduYWNoIGRlbSBha3R1ZWxsZW4gRGF0dW0nOwokbGFuZ1snYWZ0ZXJzdGFydGRhdGUnXSA9ICduYWNoIGRlbSBTdGFydGRhdHVtJzsKJGxhbmdbJ21pbnV0ZXMnXSA9ICdNaW51dGVuJzsKJGxhbmdbJ2hvdXJzJ10gPSAnU3R1bmRlbic7CiRsYW5nWydkYXlzJ10gPSAnVGFnZSc7CiRsYW5nWyd3ZWVrcyddID0gJ1dvY2hlbic7CiRsYW5nWydtb250aHMnXSA9ICdNb25hdGUnOwokbGFuZ1sneWVhcnMnXSA9ICdKYWhyZSc7CiRsYW5nWydzd2l0Y2hfcGFyYW1zJ10gPSAiRGllIEVpZ2Vuc2NoYWZ0ICclcycgYWxsZXIgU2VpdGVuIGF1ZiAnJXMnIHNldHplbiI7CiRsYW5nWydmZXVfcGFyYW1zJ10gPSAnUGFyYW1ldGVyIGYmdXVtbDtyIGRhcyBGcm9udEVuZFVzZXJzIE1vZHVsJzsKJGxhbmdbJ2N1c3RvbV9wYXJhbXMnXSA9ICdCZW51dHplcmRlZmluaWVydGUgVVJMIFBhcmFtZXRlciwgZGllIGJlaSBVbWxlaXR1bmcgYW5nZWhhbmdlbiB3ZXJkZW4gc29sbGVuJzsKJGxhbmdbJ2NvbmZpcm1fc3dpdGNocGFyYW1zJ10gPSAiV29sbGVuIFNpZSB3aXJrbGljaCBkaWUgRWlnZW5zY2hhZnQgXCclc1wnIGFsbGVyIFNlaXRlbiBhdWYgZGllIEVpZ2Vuc2NoYWZ0IFwnJXNcJyBzZXR6ZW4/IjsKJGxhbmdbJ3N1Y2Nlc3Nfc3dpdGNocGFyYW1zJ10gPSAiQWxsZSBFaWdlbnNjaGFmdGVuIGdlJmF1bWw7bmRlcnQiOwokbGFuZ1snaGVscF90cGxfdmFycyddID0gJzxwPjxzdHJvbmc+VGVtcGxhdGUtVmFyaWFibGVuOjwvc3Ryb25nPjwvcD4KPHA+PHByZT48Y29kZT57JGlucHV0c308L2NvZGU+PC9wcmU+IGlzdCBlaW4gQXJyYXkgd2VsY2hlcyBhbGxlIElucHV0LUVsZW1lbnRlIGRlcyBNdWx0aUlucHV0IEJsb2NrcyBlbnRoJmF1bWw7dC48YnIgLz4KSmVkZXMgSW5wdXQtRWxlbWVudCBpc3Qgd2llZGVydW0gZWluIEFycmF5IHdlbGNoZXMgYWxsZSBQYXJhbWV0ZXIgZW50aCZhdW1sO2x0LiA8YnIgLz4KKFNpZWhlIE1vZHVsaGlsZmUpPGJyIC8+Clp1cyZhdW1sO3R6bGljaGVyIFBhcmFtZXRlciBpc3QgImlucHV0Ii4gRGllc2VyIGdpYnQgZGFzIElucHV0ZmVsZCBhdXMuPGJyIC8+ClVtIGF1ZiBkaWUgUGFyYW1hdGVyIHp1enVncmVpZmVuIHdpcmQgZGVyIFB1bmt0LVN5bnRheCB2ZXJ3ZW5kZXQuPGJyIC8+CkJlaXNwaWVsOjwvcD4KPHByZT48Y29kZT57Zm9yZWFjaCBmcm9tPSRpbnB1dHMgaXRlbT1lbG19Cgl7JGVsbS5sYWJlbH06Jm5ic3A7eyRlbG0uaW5wdXR9PGJyIC8+CnsvZm9yZWFjaH08L2NvZGU+PC9wcmU+JzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ0FkdmFuY2VkQ29udGVudCddICAgICAgICAgICAgICAgID0gIkFkdmFuY2VkIENvbnRlbnQiOwokbGFuZ1snYWR2YW5jZWRjb250ZW50X3RhYm5hbWUnXSAgICAgICAgPSAiQWR2YW5jZWQgT3B0aW9ucyI7CiRsYW5nWydpbnN0YWxsZWQnXSAgICAgICAgICAgICAgICAgICAgICA9ICJNb2R1bGUgQWR2YW5jZWRDb250ZW50ICVzIGluc3RhbGxlZCI7CiRsYW5nWyd1bmluc3RhbGxlZCddICAgICAgICAgICAgICAgICAgICA9ICJNb2R1bGUgQWR2YW5jZWRDb250ZW50ICVzIHVuaW5zdGFsbGVkIjsKJGxhbmdbJ3VwZ3JhZGVkJ10gICAgICAgICAgICAgICAgICAgICAgID0gIk1vZHVsZSBBZHZhbmNlZENvbnRlbnQgdXBncmFkZWQgdG8gJXMiOwokbGFuZ1sncG9zdGluc3RhbGwnXSAgICAgICAgICAgICAgICAgICAgPSAiTW9kdWxlIEFkdmFuY2VkQ29udGVudCAlcyBpbnN0YWxsZWQuIjsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSAgICAgICAgICAgICAgICAgID0gIk1vZHVsZSBBZHZhbmNlZENvbnRlbnQgJXMgdW5pbnN0YWxsZWQuIjsKJGxhbmdbJ2NvbmZpcm11bmluc3RhbGwnXSAgICAgICAgICAgICAgID0gIiVzRG8geW91IHJlYWxseSB3YW50IHVuaW5zdGFsbCB0aGUgbW9kdWxlIEFkdmFuY2VkQ29udGVudD8iOwokbGFuZ1snd2FybmluZ3VuaW5zdGFsbCddICAgICAgICAgICAgICAgPSAiV0FSTklORyEgWW91IGRpZCBub3Qgc2VsZWN0IGFuIHVuaW5zdGFsbCBhY3Rpb24gaW4gdGhlIG1vZHVsZSBwcmVmZXJlbmNlcyEgTWFrZSBzdXJlIGFsbCBwYWdlcyBvZiBhZHZhbmNlZCBjb250ZW50IGFyZSByZXZlcnRlZCB0byB0aGUgZGVmYXVsdCBjb250ZW50IHR5cGUgb3IgZGVsZXRlZCBiZWZvcmUgcmVtb3ZpbmcgdGhpcyBtb2R1bGUhIE90aGVyd2lzZSB5b3VyIG1heSBicmljayB5b3VyIENNUyBpbnN0YWxsYXRpb24hICI7CiRsYW5nWyd3YXJuaW5ndW5pbnN0YWxsMSddICAgICAgICAgICAgICA9ICJXQVJOSU5HISBUaGlzIHdpbGwgZGVsZXRlIGFsbCBwYWdlcyBvZiB0eXBlIEFkdmFuY2VkQ29udGVudCEgIjsKJGxhbmdbJ3dhcm5pbmd1bmluc3RhbGwyJ10gICAgICAgICAgICAgID0gIk5PVElDRTogVGhpcyB3aWxsIHJldmVydCBhbGwgcGFnZXMgb2YgQWR2YW5jZWRDb250ZW50IGJhY2sgdG8gdGhlIGRlZmF1bHQgY29udGVudHR5cGUuICI7CiRsYW5nWyd3YXJuaW5ndW5pbnN0YWxsMyddICAgICAgICAgICAgICA9ICJXQVJOSU5HISBUaGlzIHdpbGwgcmV2ZXJ0IGFsbCBwYWdlcyBvZiBBZHZhbmNlZENvbnRlbnQgYmFjayB0byB0aGUgZGVmYXVsdCBjb250ZW50dHlwZSBhbmQgZGVsZXRlIGFsbCBhZGRpdGlvbmFsIGNvbnRlbnRibG9ja3MgKGV4Y2VwdCB0aGUgZGVmYXVsdCBjb250ZW50IGJsb2NrKS4gIjsKJGxhbmdbJ25vdGljZV9kdXBsaWNhdGVjb250ZW50J10gICAgICAgID0gIjxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gVGhpcyBibG9jayBpcyB1c2VkIG11bHRpcGxlIHRpbWVzIGluIHRlbXBsYXRlLiBZb3Ugb25seSBzZWUgdGhlIGZpcnN0IGJsb2NrIGhlcmUuPC9lbT4iOwokbGFuZ1snZXJyb3JfYmFzaWNhdHRyaWInXSAgICAgICAgICAgICAgPSAiPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBDYW5ub3QgdXNlIGJhc2ljIGNvbnRlbnQgcHJvcGVydHkgbmFtZSAnJXMnIGFzIHZhbHVlIG9mIHBhcmFtICdibG9jaycuIDxiciAvPlRoaXMgYmxvY2sgaXMgZGlzYWJsZWQuIENoZWNrIHlvdXIgcGFnZSB0ZW1wbGF0ZSBhbmQgY2hvc2UgYSBkaWZmZXJlbnQgdmFsdWUgb2YgcGFyYW0gJ2Jsb2NrJy48L2VtPiI7CiRsYW5nWydlcnJvcl9leHBpcmVkYXRlJ10gICAgICAgICAgICAgICA9ICJFbmQgZGF0ZSBtdXN0IGJlIGxhdGVyIHRoYW4gc3RhcnQgZGF0ZS4iOwokbGFuZ1sneW91YXJlaW50ZXh0J10gICAgICAgICAgICAgICAgICAgPSAiQ3VycmVudCBkaXJlY3RvcnkiOwokbGFuZ1snZGltZW5zaW9ucyddICAgICAgICAgICAgICAgICAgICAgPSAiSW1hZ2VzaXplIjsKJGxhbmdbJ3NpemUnXSAgICAgICAgICAgICAgICAgICAgICAgICAgID0gIkZpbGVzaXplIjsKJGxhbmdbJ2luaGVyaXRfZnJvbV9wYXJlbnQnXSAgICAgICAgICAgID0gIkluaGVyaXQgZnJvbSBwYXJlbnQiOwokbGFuZ1snbm9uZSddICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAibm9uZSI7CiRsYW5nWydpbnZhbGlkJ10gICAgICAgICAgICAgICAgICAgICAgICA9ICJpbnZhbGlkIjsKJGxhbmdbJ2ludmFsaWRfYmxvY2t0eXBlJ10gICAgICAgICAgICAgID0gIjxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gSW52YWxpZCB2YWx1ZSAnJXMnIG9mIHBhcmFtIGJsb2NrX3R5cGUgaW4gYmxvY2sgJyVzJy48YnIgLz5DaGVjayB5b3VyIHBhZ2UgdGVtcGxhdGUuPC9lbT4iOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50X2Jsb2NrcGFyYW1zJ10gPSAiPGVtPjxzdHJvbmc+RXJyb3I6PC9zdHJvbmc+IEluc3VmZmljaWVudCBwYXJhbXMuIDxiciAvPk1pc3NpbmcgcGFyYW0gJyVzJyBmb3IgYmxvY2sgJyVzJy4gQ2hlY2sgeW91ciBwYWdlIHRlbXBsYXRlLjwvZW0+IjsKJGxhbmdbJ3llcyddICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gIlllcyI7CiRsYW5nWydubyddICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9ICJObyI7CiRsYW5nWydmcm9udGVuZGFjY2VzcyddICAgICAgICAgICAgICAgICA9ICJGcm9udGVuZCBhY2Nlc3MiOwokbGFuZ1sncmVkaXJlY3RwYWdlJ10gICAgICAgICAgICAgICAgICAgPSAiUGFnZSB0byByZWRpcmVjdCB0byBpZiBubyBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcGFnZSI7CiRsYW5nWydzaG93bG9naW5mb3JtJ10gICAgICAgICAgICAgICAgICA9ICJTaG93IGxvZ2luIGZvcm0iOwokbGFuZ1sncmVnaXN0ZXJlZHVzZXJzJ10gICAgICAgICAgICAgICAgPSAiUmVnaXN0ZXJlZCB1c2VycyBvbmx5IjsKJGxhbmdbJ2Jsb2NrJ10gICAgICAgICAgICAgICAgICAgICAgICAgID0gIkJsb2NrIjsKJGxhbmdbJ3VzZWV4cGlyZWRhdGUnXSAgICAgICAgICAgICAgICAgID0gIlVzZSBleHBpcmUgZGF0ZSI7CiRsYW5nWydzdGFydGRhdGUnXSAgICAgICAgICAgICAgICAgICAgICA9ICJTdGFydCBEYXRlIjsKJGxhbmdbJ2VuZGRhdGUnXSAgICAgICAgICAgICAgICAgICAgICAgID0gIkVuZCBEYXRlIjsKJGxhbmdbJ2Jsb2NrY29udGVudCddICAgICAgICAgICAgICAgICAgID0gIkJsb2NrIENvbnRlbnQiOwokbGFuZ1snc2V0cGFnZWluYWN0aXZlJ10gICAgICAgICAgICAgICAgPSAiU2V0IFBhZ2UgdG8gSW5hY3RpdmUiOwokbGFuZ1snZGVsZXRlcGFnZSddICAgICAgICAgICAgICAgICAgICAgPSAiRGVsZXRlIFBhZ2UiOwokbGFuZ1sndW5pbnN0YWxsYWN0aW9uJ10gICAgICAgICAgICAgICAgPSAiVW5pbnN0YWxsIGFjdGlvbiI7CiRsYW5nWydzZXRjb250ZW50MSddICAgICAgICAgICAgICAgICAgICA9ICJTZXQgYWxsIFBhZ2VzIG9mICdBZHZhbmNlZENvbnRlbnQnIGJhY2sgdG8gdHlwZSAnQ29udGVudCciOwokbGFuZ1snc2V0Y29udGVudDInXSAgICAgICAgICAgICAgICAgICAgPSAiU2V0IGFsbCBQYWdlcyBvZiAnQWR2YW5jZWRDb250ZW50JyBiYWNrIHRvIHR5cGUgJ0NvbnRlbnQnIGFuZCByZW1vdmUgQWR2YW5jZWRDb250ZW50IGJsb2NrcyI7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSAgICAgICAgICAgICAgICAgICA9ICJQcmVmZXJlbmNlcyB1cGRhdGVkIjsKJGxhbmdbJ3N1Y2Nlc3MnXSAgICAgICAgICAgICAgICAgICAgICAgID0gIk9rIjsKJGxhbmdbJ2Vycm9yJ10gICAgICAgICAgICAgICAgICAgICAgICAgID0gIkVycm9yIjsKJGxhbmdbJ2RlbGV0ZXBhZ2VzJ10gICAgICAgICAgICAgICAgICAgID0gIkRlbGV0ZSBhbGwgcGFnZXMgb2YgdHlwZSBBZHZhbmNlZENvbnRlbnQiOwokbGFuZ1snaW1wb3J0cGFnZXMnXSAgICAgICAgICAgICAgICAgICAgPSAiU2V0IGFsbCBQYWdlcyBvZiB0eXBlICclcycgdG8gdHlwZSAnJXMnLiI7CiRsYW5nWydjb25maXJtaW1wb3J0J10gICAgICAgICAgICAgICAgICA9ICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY2hhbmdlIHRoZSBjb250ZW50IHR5cGUgb2YgYWxsIGNvbnRlbnQgcGFnZXM/IjsKJGxhbmdbJ3RvZ2dsZV9tZXNzYWdlJ10gICAgICAgICAgICAgICAgID0gIkhpZGUgdGhpcyBtZXNzYWdlIjsKJGxhbmdbJ2NvbnRlbnRzZXR0aW5ncyddICAgICAgICAgICAgICAgID0gIkRlZmF1bHQgQWR2YW5jZWRDb250ZW50IHNldHRpbmdzIjsKJGxhbmdbJ3JlZGlyZWN0cGFyYW1zJ10gICAgICAgICAgICAgICAgID0gIlVSTCBwYXJhbXMgdG8gYXBwZW5kIHdoZW4gcmVkaXJlY3RpbmciOwokbGFuZ1snZXZhbHVhdGVzbWFydHknXSAgICAgICAgICAgICAgICAgPSAiVXNlIHNtYXJ0eSB0byBwcm9jZXNzIHRoZSBwYXJhbXMiOwokbGFuZ1snZXJyb3JfbG9hZGluZ19tb2R1bGUnXSAgICAgICAgICAgPSAiPGVtPjxzdHJvbmc+RXJyb3I6PC9zdHJvbmc+IENvdWxkIG5vdCBsb2FkIG1vZHVsZSAnJXMnLiAoRGVmaW5lZCBmb3IgYmxvY2sgJyVzJyBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUuKTwvZW0+IjsKJGxhbmdbJ2Vycm9yX2NvbnRlbnRibG9ja19zdXBwb3J0J10gICAgID0gIjxlbT48c3Ryb25nPkVycm9yOjwvc3Ryb25nPiBNb2R1bGUgJyVzJyBkb2VzIG5vdCBzdXBwb3J0IGNvbnRlbnRibG9ja3MuIChEZWZpbmVkIGZvciBibG9jayAnJXMnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZS4pPC9lbT4iOwokbGFuZ1snc3VjY2Vzc19pbXBvcnRwYWdlcyddICAgICAgICAgICAgPSAiQWxsIHBhZ2VzIG9mIHR5cGUgJyVzJyBzdWNjZXNmdWxseSBjaGFuZ2VkIHRvICclcyciOwokbGFuZ1snc2hvd19hZHZhbmNlZGNvbnRlbnRfb3B0aW9ucyddICAgPSAiU2hvdyBBZHZhbmNlZENvbnRlbnQgb3B0aW9ucyB0YWIiOwokbGFuZ1snZGlzcGxheV9zZXR0aW5ncyddICAgICAgICAgICAgICAgPSAiJXMgZGlzcGxheSBzZXR0aW5ncyI7CiRsYW5nWydzYXZlX2NvbGxhcHNlX3N0YXR1cyddICAgICAgICAgICA9ICJTYXZlIGNvbGxwYXNlIHN0YXR1cyBvZiAlcyI7CiRsYW5nWydjb250ZW50X2Jsb2NrcyddICAgICAgICAgICAgICAgICA9ICJjb250ZW50IGJsb2NrcyI7CiRsYW5nWydibG9ja19tZXNzYWdlJ10gICAgICAgICAgICAgICAgICA9ICJjb250ZW50IGJsb2NrIG1lc3NhZ2UiOwokbGFuZ1snYmxvY2tfZ3JvdXBzJ10gICAgICAgICAgICAgICAgICAgPSAiYmxvY2sgZ3JvdXBzIjsKJGxhbmdbJ2NvbGxhcHNlX2RlZmF1bHQnXSAgICAgICAgICAgICAgID0gIkNvbGxhcHNlICVzIGJ5IGRlZmF1bHQiOwokbGFuZ1sncGVyX3BhZ2UnXSAgICAgICAgICAgICAgICAgICAgICAgPSAicGVyIHBhZ2UiOwokbGFuZ1sncGVyX3RlbXBsYXRlJ10gICAgICAgICAgICAgICAgICAgPSAicGVyIHRlbXBsYXRlIjsKJGxhbmdbJ2JvdGgxJ10gICAgICAgICAgICAgICAgICAgICAgICAgID0gInRlbXBsYXRlIE9SIHBhZ2UgIjsKJGxhbmdbJ2JvdGgyJ10gICAgICAgICAgICAgICAgICAgICAgICAgID0gInRlbXBsYXRlIEFORCBwYWdlIjsKJGxhbmdbJ2NvbnRlbnQnXSAgICAgICAgICAgICAgICAgICAgICAgID0gJ0NvbnRlbnQnOwokbGFuZ1snY29udGVudDInXSAgICAgICAgICAgICAgICAgICAgICAgPSAnQWR2YW5jZWQgQ29udGVudCc7CiRsYW5nWydwcmVmcyddICAgICAgICAgICAgICAgICAgICAgICAgICA9ICdQcmVmZXJlbmNlcyc7CiRsYW5nWydtdWx0aV9pbnB1dCddICAgICAgICAgICAgICAgICAgICA9ICdNdWx0aSBJbnB1dHMnOwokbGFuZ1snbXVsdGlfaW5wdXRfdHBsJ10gICAgICAgICAgICAgICAgPSAnTXVsdGkgSW5wdXQgVGVtcGxhdGVzJzsKJGxhbmdbJ2FkZF9tdWx0aV9pbnB1dCddICAgICAgICAgICAgICAgID0gJ0FkZCBuZXcgbXVsdGkgaW5wdXQnOwokbGFuZ1snYWRkX211bHRpX2lucHV0X3RwbCddICAgICAgICAgICAgPSAnQWRkIG5ldyBtdWx0aSBpbnB1dCB0ZW1wbGF0ZSc7CiRsYW5nWydpbnB1dF9pZCddICAgICAgICAgICAgICAgICAgICAgICA9ICdJbnB1dCBJRCc7CiRsYW5nWydpbnB1dF9maWVsZHMnXSAgICAgICAgICAgICAgICAgICA9ICdJbnB1dCBmaWVsZHMnOwokbGFuZ1sndHBsX25hbWUnXSAgICAgICAgICAgICAgICAgICAgICAgPSAnVGVtcGxhdGUgbmFtZSc7CiRsYW5nWydlcnJvcl90ZW1wbGF0ZSddICAgICAgICAgICAgICAgICA9ICdUZW1wbGF0ZSBpcyBhIHJlcXVpcmVkIGZpZWxkIGFuZCBtYXkgbm90IGJlIGVtcHR5JzsKJGxhbmdbJ2Vycm9yX2lucHV0X2ZpZWxkcyddICAgICAgICAgICAgID0gIklucHV0IGZpZWxkcyBpcyBhIHJlcXVpcmVkIGZpZWxkIGFuZCBtYXkgbm90IGJlIGVtcHR5LiI7CiRsYW5nWydlcnJvcl9pbnB1dF9pZCddICAgICAgICAgICAgICAgICA9ICJObyBpbnB1dCBpZCBnaXZlbiBvciBpbnB1dCBpZCBhbHJlYWR5IGV4aXN0cy4iOwokbGFuZ1snZXJyb3JfaW5wdXRfaWRfZXhpc3RzJ10gICAgICAgICAgPSAiSW5wdXQgSUQgaXMgYWxyZWFkeSBpbiB1c2UuIENob29zZSBhIGRpZmZlcmVudCBvbmUuIChtdXN0IGJlIHVuaXF1ZSkiOwokbGFuZ1snbXVsdGlfaW5wdXRfYWRkZWQnXSAgICAgICAgICAgICAgPSAiTXVsdGkgSW5wdXQgYWRkZWQuIjsKJGxhbmdbJ211bHRpX2lucHV0X2RlbGV0ZWQnXSAgICAgICAgICAgID0gIk11bHRpIElucHV0IGRlbGV0ZWQuIjsKJGxhbmdbJ211bHRpX2lucHV0X3VwZGF0ZWQnXSAgICAgICAgICAgID0gIk11bHRpIElucHV0IHVwZGF0ZWQuIjsKJGxhbmdbJ211bHRpX2lucHV0X3RwbF9hZGRlZCddICAgICAgICAgID0gIk11bHRpIElucHV0IHRlbXBsYXRlIGFkZGVkLiI7CiRsYW5nWydtdWx0aV9pbnB1dF90cGxfdXBkYXRlZCddICAgICAgICA9ICJNdWx0aSBJbnB1dCB0ZW1wbGF0ZSB1cGRhdGVkLiI7CiRsYW5nWydtdWx0aV9pbnB1dF90cGxfZGVsZXRlZCddICAgICAgICA9ICJNdWx0aSBJbnB1dCB0ZW1wbGF0ZSBkZWxldGVkLiI7CiRsYW5nWydkZWxldGVfc2VsZWN0ZWQnXSAgICAgICAgICAgICAgICA9ICJEZWxldGUgc2VsZWN0ZWQgaXRlbXMiOwokbGFuZ1snY29uZmlybV9kZWxldGUnXSAgICAgICAgICAgICAgICAgPSAiRG8geW91IHJlYWxseSB3YW50IGRvIGRlbGV0ZSB0aGlzIGl0ZW0/IjsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3NlbGVjdGVkJ10gICAgICAgID0gIkRvIHlvdSByZWFsbHkgd2FudCBkbyBkZWxldGUgdGhlIHNlbGVjdGVkIGl0ZW1zPyI7CiRsYW5nWydoaWRlX2NvbnRlbnQnXSAgICAgICAgICAgICAgICAgICA9ICdOb25lIChqdXN0IGhpZGUgdGhlIGNvbnRlbnQpJzsKJGxhbmdbJ2hpZGVfbWVudV9pdGVtJ10gICAgICAgICAgICAgICAgID0gJ0hpZGUgZnJvbSBtZW51JzsKJGxhbmdbJ2xvZ2dlZG91dCddICAgICAgICAgICAgICAgICAgICAgID0gJ2lmIGxvZ2dlZCBvdXQnOwokbGFuZ1snbG9nZ2VkaW4nXSAgICAgICAgICAgICAgICAgICAgICAgPSAnaWYgbG9nZ2VkIGluJzsKJGxhbmdbJ2FmdGVyY3VycmRhdGUnXSAgICAgICAgICAgICAgICAgID0gJ2FmdGVyIGN1cnJlbnQgZGF0ZSc7CiRsYW5nWydhZnRlcnN0YXJ0ZGF0ZSddICAgICAgICAgICAgICAgICA9ICdhZnRlciBzdGFydCBkYXRlJzsKJGxhbmdbJ21pbnV0ZXMnXSAgICAgICAgICAgICAgICAgICAgICAgID0gJ21pbnV0ZXMnOwokbGFuZ1snaG91cnMnXSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnaG91cnMnOwokbGFuZ1snZGF5cyddICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnZGF5cyc7CiRsYW5nWyd3ZWVrcyddICAgICAgICAgICAgICAgICAgICAgICAgICA9ICd3ZWVrcyc7CiRsYW5nWydtb250aHMnXSAgICAgICAgICAgICAgICAgICAgICAgICA9ICdtb250aHMnOwokbGFuZ1sneWVhcnMnXSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAneWVhcnMnOwokbGFuZ1snc3dpdGNoX3BhcmFtcyddICAgICAgICAgICAgICAgICAgPSAiU2V0IGFsbCAnJXMnIHRvICclcycuIjsKJGxhbmdbJ2ZldV9wYXJhbXMnXSAgICAgICAgICAgICAgICAgICAgID0gJ1BhcmFtZXRlcnMgZm9yIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSc7CiRsYW5nWydjdXN0b21fcGFyYW1zJ10gICAgICAgICAgICAgICAgICA9ICdDdXN0b20gVVJMIHBhcmFtcyB0byBhcHBlbmQgd2hlbiByZWRpcmVjdGluZyc7CiRsYW5nWydjb25maXJtX3N3aXRjaHBhcmFtcyddICAgICAgICAgICA9ICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY2hhbmdlIHRoZSBjb250ZW50IHByb3BlcnR5IFwnJXNcJyBvZiBhbGwgcGFnZXMgdG8gXCclc1wnPyI7CiRsYW5nWydzdWNjZXNzX3N3aXRjaHBhcmFtcyddICAgICAgICAgICA9ICJBbGwgcHJvcGVydGllcyBjaGFuZ2VkIjsKJGxhbmdbJ2hlbHBfdHBsX3ZhcnMnXSAgICAgICAgICAgICAgICAgID0gJzxwPjxzdHJvbmc+VGVtcGxhdGUgdmFyczo8L3N0cm9uZz48L3A+CjxwPjxwcmU+PGNvZGU+e1wkaW5wdXRzfTwvY29kZT48L3ByZT4gaXMgYW4gYXJyYXkgdGhhdCBjb250YWlucyBhbGwgZGVmaW5lZCBpbnB1dCBlbGVtZW50cyBvZiB0aGF0IG11bHRpIGlucHV0IGJsb2NrLjxiciAvPgpFYWNoIGlucHV0IGVsZW1lbnQgaXMgYW4gYXJyYXkgdGhhdCBjb250YWlucyBhbGwgaXRzIHBhcmFtcy4gPGJyIC8+ClNlZSBtb2R1bGUgaGVscCBmb3IgbW9yZSBpbmZvLjxiciAvPgpBZGRpdGlvbmFsIHBhcmFtIGlzICJpbnB1dCIgdGhhdCB3aWxsIHByaW50IG91dCB0aGUgaW5wdXQgZWxlbWVudC48YnIgLz4KVG8gYWNjZXNzIHRoZSBwYXJhbXMgdXNlIHRoZSBkb3Qgc3ludGF4LjxiciAvPgpFeGFtcGxlOjwvcD4KPHByZT48Y29kZT57Zm9yZWFjaCBmcm9tPSRpbnB1dHMgaXRlbT1lbG19Cgl7JGVsbS5sYWJlbH06Jm5ic3A7eyRlbG0uaW5wdXR9Jmx0O2JyIC8mZ3Q7CnsvZm9yZWFjaH08L2NvZGU+PC9wcmU+JzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ0FkdmFuY2VkQ29udGVudCddID0gJ0NvbnRlbnUgQXZhbmMmZWFjdXRlOyc7CiRsYW5nWydhZHZhbmNlZGNvbnRlbnRfdGFibmFtZSddID0gJ09wdGlvbnMgYXZhbmMmZWFjdXRlO2VzJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ0xlIG1vZHVsZSBBZHZhbmNlZENvbnRlbnQgJXMgZXN0IGluc3RhbGwmZWFjdXRlOyAnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdMZSBtb2R1bGUgQWR2YW5jZWRDb250ZW50ICVzIGVzdCBkJmVhY3V0ZTtzaW5zdGFsbCZlYWN1dGU7JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTGUgbW9kdWxlIEFkdmFuY2VkQ29udGVudCBtaXMgJmFncmF2ZTsgam91ciBlbiB2ZXJzaW9uICVzJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTGUgbW9kdWxlIEFkdmFuY2VkQ29udGVudCAlcyBlc3QgaW5zdGFsbCZlYWN1dGU7ICc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTGUgbW9kdWxlIEFkdmFuY2VkQ29udGVudCAlcyBlc3QgZCZlYWN1dGU7c2luc3RhbGwmZWFjdXRlOyc7CiRsYW5nWydjb25maXJtdW5pbnN0YWxsJ10gPSAnJkVjaXJjO3RlcyB2b3VzIGNlcnRhaW4gZGUgdm91bG9pciBkJmVhY3V0ZTtzaW5zdGFsbGVyIGxlIG1vZHVsZSBBZHZhbmNlZENvbnRlbnQgPyc7CiRsYW5nWydub3RpY2VfZHVwbGljYXRlY29udGVudCddID0gJzxlbT48c3Ryb25nPkF0dGVudGlvbiA6PC9zdHJvbmc+IENlIGJsb2MgZXN0IHV0aWxpcyZlYWN1dGU7ICZhZ3JhdmU7IGRlIG11bHRpcGxlcyByZXByaXNlcyBkYW5zIGxlIGdhYmFyaXQuIFZvdXMgdmVycmV6IGljaSB1bmlxdWVtZW50IGxlIHByZW1pZXIgYmxvYy48L2VtPic7CiRsYW5nWydlcnJvcl9iYXNpY2F0dHJpYiddID0gJzxlbT48c3Ryb25nPkF0dGVudGlvbiA6PC9zdHJvbmc+IElsIG4mIzAzOTtlc3QgcGFzIHBvc3NpYmxlIGQmIzAzOTt1dGlsaXNlciBsZSBub20gZGUgYmFzZSBkZSBsYSBwcm9wcmkmZWFjdXRlO3QmZWFjdXRlOyBkdSBjb250ZW51ICYjMDM5OyVzJiMwMzk7IGNvbW1lIHVuZSB2YWxldXIgZHUgcGFyYW0mZWdyYXZlO3RyZSAmIzAzOTtibG9jayYjMDM5Oy4gPGJyIC8+Q2UgYmxvYyBlc3QgaW5hY3RpZi4gViZlYWN1dGU7cmlmaWV6IHZvdHJlIGdhYmFyaXQgZGUgcGFnZSBldCBjaG9pc2lzc2V6IHVuZSB2YWxldXIgZGlmZiZlYWN1dGU7cmVudGUgZHUgcGFyYW0mZWdyYXZlO3RyZSAmIzAzOTtibG9jayYjMDM5Oy48L2VtPic7CiRsYW5nWydlcnJvcl9leHBpcmVkYXRlJ10gPSAnTGEgZGF0ZSBkZSBmaW4gZG9pdCAmZWNpcmM7dHJlIHN1cCZlYWN1dGU7cmlldXJlICZhZ3JhdmU7IGxhIGRhdGUgZGUgZCZlYWN1dGU7YnV0JzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ1ImZWFjdXRlO3BlcnRvaXJlIGNvdXJhbnQnOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ1RhaWxsZSBkZSBsJiMwMzk7aW1hZ2UnOwokbGFuZ1snc2l6ZSddID0gJ1RhaWxsZSBkdSBmaWNoaWVyJzsKJGxhbmdbJ2luaGVyaXRfZnJvbV9wYXJlbnQnXSA9ICdIJmVhY3V0ZTtyaXQmZWFjdXRlOyBkdSBwYXJlbnQnOwokbGFuZ1snbm9uZSddID0gJ2F1Y3VuJzsKJGxhbmdbJ2ludmFsaWQnXSA9ICdpbnZhbGlkZSc7CiRsYW5nWydpbnZhbGlkX2Jsb2NrdHlwZSddID0gJzxlbT48c3Ryb25nPkF0dGVudGlvbiA6PC9zdHJvbmc+ICYjMDM5OyVzJiMwMzk7IGVzdCB1bmUgdmFsZXVyIGluY29ycmVjdGUgZHUgcGFyYW0mZWdyYXZlO3RyZSBibG9ja190eXBlIGRhbnMgbGUgYmxvYyAmIzAzOTslcyYjMDM5Oy48YnIgLz5WJmVhY3V0ZTtyaWZpZXogdm90cmUgZ2FiYXJpdCBkZSBwYWdlLjwvZW0+JzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudF9ibG9ja3BhcmFtcyddID0gJzxlbT48c3Ryb25nPkVycmV1ciA6PC9zdHJvbmc+IFBhcmFtJmVncmF2ZTt0cmVzIGluc3VmZmlzYW50cy4gPGJyIC8+TGUgcGFyYW0mZWdyYXZlO3RyZSAmIzAzOTslcyYjMDM5OyBwb3VyIGxlIGJsb2MgJiMwMzk7JXMmIzAzOTsgZXN0IG1hbnF1YW50LiBWJmVhY3V0ZTtyaWZpZXogdm90cmUgZ2FiYXJpdCBkZSBwYWdlLjwvZW0+JzsKJGxhbmdbJ3llcyddID0gJ091aSc7CiRsYW5nWydubyddID0gJ05vbic7CiRsYW5nWydmcm9udGVuZGFjY2VzcyddID0gJ0FjYyZlZ3JhdmU7cyBGcm9udGVuZCc7CiRsYW5nWydyZWRpcmVjdHBhZ2UnXSA9ICdQYWdlIGRlIHJlZGlyZWN0aW9uIHNpIGFjYyZlZ3JhdmU7cyByZWZ1cyZlYWN1dGU7JzsKJGxhbmdbJ3Nob3dsb2dpbmZvcm0nXSA9ICdBZmZpY2hlciBsZSBmb3JtdWxhaXJlIGRlIGNvbm5leGlvbic7CiRsYW5nWydyZWdpc3RlcmVkdXNlcnMnXSA9ICdVdGlsaXNhdGV1cnMgZW5yZWdpc3RyJmVhY3V0ZTtzIHNldWxlbWVudCc7CiRsYW5nWydibG9jayddID0gJ0Jsb2MnOwokbGFuZ1sndXNlZXhwaXJlZGF0ZSddID0gJ1V0aWxpc2VyIGxhIGRhdGUgZCYjMDM5O2V4cGlyYXRpb24nOwokbGFuZ1snc3RhcnRkYXRlJ10gPSAnRGF0ZSBkZSBkJmVhY3V0ZTtidXQnOwokbGFuZ1snZW5kZGF0ZSddID0gJ0RhdGUgZGUgZmluJzsKJGxhbmdbJ2Jsb2NrY29udGVudCddID0gJ0Jsb2MgZGUgY29udGVudSc7CiRsYW5nWydzZXRwYWdlaW5hY3RpdmUnXSA9ICdEJmVhY3V0ZTtmaW5pciBsYSBwYWdlIGNvbW1lIGluYWN0aXZlJzsKJGxhbmdbJ2RlbGV0ZXBhZ2UnXSA9ICdFZmZhY2VyIGxhIHBhZ2UnOwokbGFuZ1sndW5pbnN0YWxsYWN0aW9uJ10gPSAnRCZlYWN1dGU7c2luc3RhbGxhdGlvbic7CiRsYW5nWydzZXRjb250ZW50MSddID0gJ0QmZWFjdXRlO2ZpbmlyIHRvdXRlcyBsZXMgcGFnZXMgZCYjMDM5O0FkdmFuY2VkQ29udGVudCBlbiB0eXBlIENvbnRlbnQnOwokbGFuZ1snc2V0Y29udGVudDInXSA9ICdEJmVhY3V0ZTtmaW5pciB0b3V0ZXMgbGVzIHBhZ2VzIGQmIzAzOTtBZHZhbmNlZENvbnRlbnQgZW4gdHlwZSBDb250ZW50IGV0IHN1cHByaW1lciBsZXMgYmxvY3MgZGUgY29udGVudSBhZGRpdGlvbm5lbCc7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdQciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzIG1pc2VzICZhZ3JhdmU7IGpvdXInOwokbGFuZ1snc3VjY2VzcyddID0gJ09rICc7CiRsYW5nWydlcnJvciddID0gJ0VycmV1cic7CiRsYW5nWydkZWxldGVwYWdlcyddID0gJ1N1cHByaW1lciB0b3V0ZXMgbGVzIHBhZ2VzIGRlIHR5cGUgQWR2YW5jZWRDb250ZW50JzsKJGxhbmdbJ2ltcG9ydHBhZ2VzJ10gPSAnRCZlYWN1dGU7ZmluaXIgdG91dGVzIGxlcyBwYWdlIGRlIHR5cGUgJXMgZW4gdHlwZSAlcy4nOwokbGFuZ1sncGFnZXNpbXBvcnRlZCddID0gJ1RvdXRlcyBsZXMgcGFnZXMgc29udCBkJmVhY3V0ZTtmaW5pZSBlbiBBZHZhbmNlZENvbnRlbnQuJzsKJGxhbmdbJ2NvbmZpcm1pbXBvcnQnXSA9ICcmRWNpcmM7dGVzIHZvdXMgY2VydGFpbnMgZGUgdm91bG9pciBjaGFuZ2VyIGxlIHR5cGUgZGUgY29udGVudSBkZSB0b3V0ZXMgbGVzIHBhZ2VzID8nOwokbGFuZ1sndG9nZ2xlX21lc3NhZ2UnXSA9ICdDYWNoZXIgY2UgbWVzc2FnZSc7CiRsYW5nWydjb250ZW50c2V0dGluZ3MnXSA9ICdQYXJhbSZlZ3JhdmU7dHJlcyBBZHZhbmNlZENvbnRlbnQgcGFyIGQmZWFjdXRlO2ZhdXQnOwokbGFuZ1sncmVkaXJlY3RwYXJhbXMnXSA9ICdQYXJhbSZlZ3JhdmU7dHJlcyBkJiMwMzk7VVJMICZhZ3JhdmU7IGFqb3V0ZXIgcG91ciBsYSByZWRpcmVjdGlvbic7CiRsYW5nWydldmFsdWF0ZXNtYXJ0eSddID0gJ1V0aWxpc2VyIHNtYXJ0eSBwb3VyIHRyYWl0ZXIgbGVzIHBhcmFtJmVncmF2ZTt0cmVzJzsKJGxhbmdbJ2Vycm9yX2xvYWRpbmdfbW9kdWxlJ10gPSAnPGVtPjxzdHJvbmc+RXJyZXVyIDo8L3N0cm9uZz4gTiYjMDM5O2EgcGFzIHB1IGNoYXJnZXIgbGUgbW9kdWxlICYjMDM5OyVzJiMwMzk7LiAoRCZlYWN1dGU7ZmluaSBwb3VyIGxlIGJsb2MgJiMwMzk7JXMmIzAzOTsgZGFucyB2b3RyZSBnYWJhcml0IGRlIHBhZ2UuKTwvZW0+JzsKJGxhbmdbJ2Vycm9yX2NvbnRlbnRibG9ja19zdXBwb3J0J10gPSAnPGVtPjxzdHJvbmc+RXJyZXVyIDo8L3N0cm9uZz4gTGUgbW9kdWxlICYjMDM5OyVzJiMwMzk7IG5lIHN1cHBvcnRlIHBhcyBsZXMgYmxvY3MgZGUgY29udGVudSAoY29udGVudGJsb2NrcykuIChEJmVhY3V0ZTtmaW5pIHBvdXIgbGUgYmxvYyAmIzAzOTslcyYjMDM5OyBkYW5zIHZvdHJlIGdhYmFyaXQgZGUgcGFnZS4pPC9lbT4nOwokbGFuZ1snc3VjY2Vzc19pbXBvcnRwYWdlcyddID0gJ1RvdXRlcyBsZXMgcGFnZXMgZGUgdHlwZSAlcyBvbnQgJmVhY3V0ZTt0JmVhY3V0ZTsgY2hhbmcmZWFjdXRlO2VzIGVuICVzJzsKJGxhbmdbJ3Nob3dfYWR2YW5jZWRjb250ZW50X29wdGlvbnMnXSA9ICdNb250cmVyIGwmIzAzOTtvbmdsZXQgZCYjMDM5O29wdGlvbnMgZCYjMDM5O0FkdmFuY2VkQ29udGVudCc7CiRsYW5nWydkaXNwbGF5X3NldHRpbmdzJ10gPSAnJXMgYWZmaWNoZSBsZXMgcGFyYW0mZWdyYXZlO3RyZXMnOwokbGFuZ1snc2F2ZV9jb2xsYXBzZV9zdGF0dXMnXSA9ICdFbnJlZ2lzdHJlciBsZSBzdGF0dXQgbWFzcXUmZWFjdXRlOyBkZSAlcyc7CiRsYW5nWydjb250ZW50X2Jsb2NrcyddID0gJ2Jsb2NzIGRlIGNvbnRlbnVzJzsKJGxhbmdbJ2Jsb2NrX21lc3NhZ2UnXSA9ICdtZXNzYWdlIGR1IGJsb2MgZGUgY29udGVudSc7CiRsYW5nWydibG9ja19ncm91cHMnXSA9ICdncm91cGVzIGRlIGJsb2MnOwokbGFuZ1snY29sbGFwc2VfZGVmYXVsdCddID0gJ01hc3F1ZXIgJXMgcGFyIGQmZWFjdXRlO2ZhdXQnOwokbGFuZ1sncGVyX3BhZ2UnXSA9ICdwYXIgcGFnZSc7CiRsYW5nWydwZXJfdGVtcGxhdGUnXSA9ICdwYXIgZ2FiYXJpdCc7CiRsYW5nWydib3RoMSddID0gJ2dhYmFyaXQgT1UgcGFnZSc7CiRsYW5nWydib3RoMiddID0gJ2dhYmFyaXQgRVQgcGFnZSc7CiRsYW5nWydjb250ZW50J10gPSAnQ29udGVudSc7CiRsYW5nWydjb250ZW50MiddID0gJ0NvbnRlbnUgYXZhbmMmZWFjdXRlOyc7CiRsYW5nWydwcmVmcyddID0gJ1ImZWFjdXRlO2dsYWdlcyc7CiRsYW5nWydtdWx0aV9pbnB1dCddID0gJ0VudHImZWFjdXRlO2VzIG11bHRpcGxlcyc7CiRsYW5nWydtdWx0aV9pbnB1dF90cGwnXSA9ICdHYWJhcml0cyBwb3VyIGVudHImZWFjdXRlO2VzIG11bHRpcGxlcyc7CiRsYW5nWydhZGRfbXVsdGlfaW5wdXQnXSA9ICdBam91dGVyIGRlcyBlbnRyJmVhY3V0ZTtlcyBtdWx0aXBsZXMnOwokbGFuZ1snYWRkX211bHRpX2lucHV0X3RwbCddID0gJ0Fqb3V0ZXIgdW4gbm91dmVhdSBnYWJhcml0IHBvdXIgZW50ciZlYWN1dGU7ZXMgbXVsdGlwbGVzJzsKJGxhbmdbJ2lucHV0X2lkJ10gPSAnSUQgZW50ciZlYWN1dGU7ZXMnOwokbGFuZ1snaW5wdXRfZmllbGRzJ10gPSAnQ2hhbXBzIHBvdXIgRW50ciZlYWN1dGU7ZXMnOwokbGFuZ1sndHBsX25hbWUnXSA9ICdOb20gZHUgZ2FiYXJpdCc7CiRsYW5nWydlcnJvcl90ZW1wbGF0ZSddID0gJ0xlIGNoYW1wIEdhYmFyaXQgZXN0IHJlcXVpcyBldCBuZSBwZXV0ICZlY2lyYzt0cmUgdmlkZSc7CiRsYW5nWydlcnJvcl9pbnB1dF9maWVsZHMnXSA9ICdMZXMgY2hhbXBzIEVudHImZWFjdXRlO2VzIHNvbnQgcmVxdWlzIGV0IG5lIHBldXZlbnQgJmVjaXJjO3RyZSBsYWlzcyZlYWN1dGU7cyB2aWRlcy4nOwokbGFuZ1snZXJyb3JfaW5wdXRfaWQnXSA9ICdBdWN1biBJRCBlbnRyJmVhY3V0ZTtlcyBuJiMwMzk7YSAmZWFjdXRlO3QmZWFjdXRlOyBmb3Vybmkgb3UgbGUgY29udGVudSBleGlzdGUgZCZlYWN1dGU7aiZhZ3JhdmU7Lic7CiRsYW5nWydlcnJvcl9pbnB1dF9pZF9leGlzdHMnXSA9ICdJRCBlbnRyJmVhY3V0ZTtlcyBkJmVhY3V0ZTtqJmFncmF2ZTsgdXRpbGlzJmVhY3V0ZTsuIFMmZWFjdXRlO2xlY3Rpb25uZXogdW4gSUQgZGlmZiZlYWN1dGU7cmVudC4gKGRvaXQgJmVjaXJjO3RyZSB1bmlxdWUpJzsKJGxhbmdbJ211bHRpX2lucHV0X2FkZGVkJ10gPSAnRW50ciZlYWN1dGU7ZXMgbXVsdGlwbGVzIGFqb3V0JmVhY3V0ZTtlcy4nOwokbGFuZ1snbXVsdGlfaW5wdXRfZGVsZXRlZCddID0gJ0VudHImZWFjdXRlO2VzIG11bHRpcGxlcyBzdXBwcmltJmVhY3V0ZTtlcy4nOwokbGFuZ1snbXVsdGlfaW5wdXRfdXBkYXRlZCddID0gJ0VudHImZWFjdXRlO2VzIG11bHRpcGxlcyBtaXNlcyAmYWdyYXZlOyBqb3VyLic7CiRsYW5nWydtdWx0aV9pbnB1dF90cGxfYWRkZWQnXSA9ICdHYWJhcml0IHBvdXIgZW50ciZlYWN1dGU7ZXMgbXVsdGlwbGVzIGFqb3V0JmVhY3V0ZTsuJzsKJGxhbmdbJ211bHRpX2lucHV0X3RwbF91cGRhdGVkJ10gPSAnR2FiYXJpdCBwb3VyIGVudHImZWFjdXRlO2VzIG11bHRpcGxlcyBtaXMgJmFncmF2ZTsgam91ci4nOwokbGFuZ1snbXVsdGlfaW5wdXRfdHBsX2RlbGV0ZWQnXSA9ICdHYWJhcml0IHBvdXIgZW50ciZlYWN1dGU7ZXMgbXVsdGlwbGVzIHN1cHByaW0mZWFjdXRlOy4nOwokbGFuZ1snZGVsZXRlX3NlbGVjdGVkJ10gPSAnRWZmYWNlciBsZXMgJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBzJmVhY3V0ZTtsZWN0aW9ubiZlYWN1dGU7cyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZSddID0gJ0QmZWFjdXRlO3NpcmV6LXZvdXMgdnJhaW1lbnQgc3VwcHJpbWVyIGNldCAmZWFjdXRlO2wmZWFjdXRlO21lbnQ/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3NlbGVjdGVkJ10gPSAnRCZlYWN1dGU7c2lyZXotdm91cyB2cmFpbWVudCBzdXBwcmltZXIgbGVzICZlYWN1dGU7bCZlYWN1dGU7bWVudHMgcyZlYWN1dGU7bGVjdGlvbm4mZWFjdXRlO3M/JzsKJGxhbmdbJ3VzZV9jb250ZW50dHlwZSddID0gJ1V0aWxpc2VyIGxlIHR5cGUgZGUgY29udGVudSc7CiRsYW5nWydoZWxwX3RwbF92YXJzJ10gPSAnPHA+PHN0cm9uZz5UZW1wbGF0ZSB2YXJzOjwvc3Ryb25nPjwvcD4NCjxwPjxwcmU+PGNvZGU+eyRpbnB1dHN9PC9jb2RlPjwvcHJlPiBpcyBhbiBhcnJheSB0aGF0IGNvbnRhaW5zIGFsbCBkZWZpbmVkIGlucHV0IGVsZW1lbnRzIG9mIHRoYXQgbXVsdGkgaW5wdXQgYmxvY2suPGJyIC8+DQpFYWNoIGlucHV0IGVsZW1lbnQgaXMgYW4gYXJyYXkgdGhhdCBjb250YWlucyBhbGwgaXRzIHBhcmFtcy4gPGJyIC8+DQpTZWUgbW9kdWxlIGhlbHAgZm9yIG1vcmUgaW5mby48YnIgLz4NCkFkZGl0aW9uYWwgcGFyYW0gaXMgJnF1b3Q7aW5wdXQmcXVvdDsgdGhhdCB3aWxsIHByaW50IG91dCB0aGUgaW5wdXQgZWxlbWVudC48YnIgLz4NClRvIGFjY2VzcyB0aGUgcGFyYW1zIHVzZSB0aGUgZG90IHN5bnRheC48YnIgLz4NCkV4YW1wbGU6PC9wPg0KPHByZT48Y29kZT57Zm9yZWFjaCBmcm9tPSRpbnB1dHMgaXRlbT1lbG19DQoJeyRlbG0ubGFiZWx9OiZuYnNwO3skZWxtLmlucHV0fTxiciAvPg0Key9mb3JlYWNofTwvY29kZT48L3ByZT4nOwokbGFuZ1snaGVscCddID0gJzxiciAvPg0KPGgzPlF1ZSBmYWl0IGNlIG1vZHVsZSA/PC9oMz4NCjxwPlRoaXMgaXMgYSBtb2RpZmljYXRpb24gb2YgdGhlIGRlZmF1bHQgY29udGVudCB0eXBlICZxdW90O0NvbnRlbnQmcXVvdDsgb2YgQ01TbXMuPGJyIC8+DQpJdCBwcm92aWRlcyBtb3JlIGZsZXhpYmlsaXR5IGJ5IGNyZWF0aW5nIGN1c3RvbSBpbnB1dCBjb250cm9scyBpbiBiYWNrZW5kLjxiciAvPg0KVXNlcnMgY2FuIGFkZCBkcm9wZG93bnMsIG11bHRpcGxlIHNlbGVjdCBsaXN0cywgY2hlY2tib3hlcywgZ3JvdXAgY29udGVudCBibG9ja3MgDQppbiBzZXBhcmF0ZSBwYWdlIHRhYnMsIGJsb2NrIHRhYnMgaW5zaWRlIGEgcGFnZSB0YWIgb3IgaW4gZmllbGRzZXRzIGJ5IGp1c3QgDQp1c2luZyBhZGRpdGlvbmFsIHBhcmFtcyBpbiB0aGUgdGVtcGxhdGUgd2hlbiBjYWxsaW5nIHRoZSBjb250ZW50LjxiciAvPg0KSXQgYWxzbyBhZGRzIGFiaWxpdHkgdG8gZ3JhbnQgYWNjZXNzIG9mIHBhZ2VzIHRvIGNlcnRhaW4gdXNlcnMgb2YgdGhlIA0KRnJvbnRFbmRVc2VycyBtb2R1bGUgYW5kIGhpZGUgdGhlIGNvbnRlbnQsIHJlcGxhY2UgaXQgYnkgdGhlIGxvZ2luIGZvcm0gb2YgdGhlIA0KRnJvbnRFbmRVc2VycyBtb2R1bGUgb3IgcmVkaXJlY3QgdG8gYSBzcGVjaWZpZWQgcGFnZSBzaG93aW5nIHRoZSBsb2dpbiBmb3JtIG9yIA0KanVzdCByZWRpcmVjdCB3aXRob3V0IGRvaW5nIGFueXRoaW5nIGVsc2UuPGJyIC8+DQpQYWdlIHByb3BlcnR5IG9mIEZyb250RW5kVXNlcnMgYWNjZXNzIGFuZCByZWRpcmVjdCBwYWdlIGNhbiBiZSBpbmhlcml0ZWQgYnkgDQpwYXJlbnQgcGFnZXMuPC9wPg0KPHA+PGVtPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVG8gZ2V0IHRoZSBmdWxsIGZ1bmN0aW9uYWxpdHkgb2YgdGhpcyBjb250ZW50IHR5cGUgDQppbiBmcm9udGVuZCB5b3UgbmVlZCB0byBjYWxsIHlvdXIgY29udGVudCB3aXRoIHRoZSBtb2R1bGUgcGx1Z2luIHtBZHZhbmNlZENvbnRlbnR9IA0KKGNhc2Ugc2Vuc2l0aXZlISkuPGJyIC8+DQpPdGhlcndpc2UgaXQgbWF5IGJlaGF2ZSBsaWtlIHRoZSBkZWZhdWx0IGNvbnRlbnQgdHlwZSBwbHVnaW4uPC9lbT48L3A+DQo8cD5Zb3UgY2FuIGV2ZW4gdXNlIHNtYXJ0eSBsb2dpYyBpbiBwYXJhbWV0ZXIgdmFsdWVzLiBUaGF0IG1lYW5zIHlvdSBjYW4gdXNlIHRoZSANCnJlc3VsdCBvZiBhIHBsdWdpbiwgYW4gdWR0IG9yIGV2ZW4gYSBtb2R1bGUgb3IganVzdCB0aGUgY29udGVudCBvZiBhIGdsb2JhbCANCmNvbnRlbnQgYmxvY2sgYXMgcGFyYW1ldGVyIHZhbHVlIHRvIGNyZWF0ZSBkeW5hbWljIHZhbHVlcy48L3A+DQo8aDM+Q29tbWVudCBsJiMwMzk7dXRpbGlzZXIgPzwvaDM+DQo8cD5BZnRlciBpbnN0YWxsYXRpb24gdGhlIG1vZHVsZSBzZXR0aW5ncyBjYW4gYmUgZm91bmQgaW4gJnF1b3Q7RXh0ZW5zaW9ucy0+QWR2YW5jZWRDb250ZW50JnF1b3Q7LjwvcD4NCjxwPkFkZGl0aW9uYWxseSB5b3Ugd2lsbCBoYXZlIGEgbmV3IGNvbnRlbnQgdHlwZSAmcXVvdDtBZHZhbmNlZENvbnRlbnQmcXVvdDsgYXZhaWxhYmxlIA0Kd2hlbiBhZGRpbmcvZWRpdGluZyBhIHBhZ2UuPGJyIC8+DQo8cD5BZGQgdGhlIGZvbGxvd2luZyBwYXJhbXMgdG8geW91ciBjb250ZW50IHRhZyBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUsIA0KY2hhbmdlIHRoZSBjb250ZW50IHR5cGUgb2YgeW91ciBwYWdlIHRvICZxdW90O0FkdmFuY2VkQ29udGVudCZxdW90OyBhbmQgc2VlIHdoYXQgaGFwcGVucyANCmluIGJhY2tlbmQuLi48L3A+DQo8aDM+V2hhdCBwYXJhbWV0ZXJzIGFyZSBhdmFpbGFibGU/PC9oMz4NCjxwPmFsbCBwYXJhbXMgYXJlIG9wdGlvbmFsPC9wPg0KPHA+PHN0cm9uZz5EZWZhdWx0IHBhcmFtczo8L3N0cm9uZz48L3A+DQo8dWw+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5ibG9jazwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlBbGxvd3MgeW91IHRvIGhhdmUgbW9yZSB0aGFuIG9uZSBjb250ZW50IGJsb2NrIHBlciBwYWdlLiBJZiBtdWx0aXBsZSBjb250ZW50IHRhZ3MgYXJlIHB1dCBvbiBhIHRlbXBsYXRlLCB0aGF0IG51bWJlciBvZiBlZGl0IGJveGVzIHdpbGwgYmUgZGlzcGxheWVkIGlmIHRoZSBwYWdlIGlzIGVkaXRlZC48YnIgLz4NCgkJCQllLmcuOiA8Y29kZT57Y29udGVudCBibG9jaz0mcXVvdDtTZWNvbmQgQ29udGVudCBibG9jayZxdW90O308L2NvZGU+PGJyIC8+DQoJCQkJTm93LCBpZiB5b3UgZWRpdCBhIHBhZ2UgdGhlcmUgd2lsbCBiYSBhIHRleHRhcmVhIGNhbGxlZCAmcXVvdDtTZWNvbmQgQ29udGVudCBibG9jayZxdW90Oy48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgbmFtZSBvZiB0aGUgY29udGVudCBibG9jayBtYXkgY29udGFpbiBvbmx5IGxldHRlcnMsIG51bWJlcnMsIGFuZCB1bmRlcnNjb3JlcyAobm8gd2hpdGVzcGFjZXMsIHNwZWNpYWwgY2hhcnMsIHVtbGF1dHMgZXRjLikuIE90aGVyd2lzZSBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIHByb3BlciBuYW1lIChzaW1pbGFyIHRvIHRoZSBwYWdlIGFsaWFzKS48L2VtPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0Pnd5c2l3eWc8L3R0PiAodHJ1ZS9mYWxzZSkNCgkJPHVsPg0KCQkJPGxpPklmIHNldCB0byBmYWxzZSwgdGhlbiBhIHd5c2l3eWcgd2lsbCBuZXZlciBiZSB1c2VkIHdoaWxlIGVkaXRpbmcgdGhpcyBibG9jay4gSWYgdHJ1ZSwgdGhlbiBpdCBhY3RzIGFzIG5vcm1hbC48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+b25lbGluZTwvdHQ+ICh0cnVlL2ZhbHNlKQ0KCQk8dWw+DQoJCQk8bGk+SWYgc2V0IHRvIHRydWUsIHRoZW4gb25seSBvbmUgZWRpdCBsaW5lIHdpbGwgYmUgc2hvd24gd2hpbGUgZWRpdGluZyB0aGlzIGJsb2NrLiBJZiBmYWxzZSwgdGhlbiBpdCBhY3RzIGFzIG5vcm1hbC4gT25seSB3b3JrcyB3aGVuIGJsb2NrIHBhcmFtZXRlciBpcyB1c2VkLjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZWZhdWx0PC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPkRlZmF1bHQgY29udGVudCB3aGVuIGNyZWF0aW5nIGEgbmV3IHBhZ2UuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmxhYmVsPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPlByb21wdCBmb3IgdGhpcyBjb250ZW50IGJsb2NrLiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGFueSBleHByZXNzaW9uLiBJZiBibGFuaywgdGhlIHVuY29udmVydGVkIGJsb2NrIG5hbWUgaXMgdXNlZC48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YXNzaWduPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCUFzc2lnbnMgdGhlIGNvbnRlbnQgdG8gYSBzbWFydHkgcGFyYW1ldGVyLCB3aGljaCB5b3UgY2FuIHRoZW4gdXNlIGluIG90aGVyIGFyZWFzIG9mIHRoZSBwYWdlLCBvciB1c2UgdG8gdGVzdCB3aGV0aGVyIGNvbnRlbnQgZXhpc3RzIGluIGl0IG9yIG5vdC48YnIgLz4NCgkJCQlFeGFtcGxlIG9mIHBhc3NpbmcgcGFnZSBjb250ZW50IHRvIGEgVXNlciBEZWZpbmVkIFRhZyBhcyBhIHBhcmFtZXRlcjo8YnIgLz4NCgkJCQk8Y29kZT57Y29udGVudCBhc3NpZ249cGFnZWNvbnRlbnR9PGJyIC8+DQoJCQkJe3RhYmxlX29mX2NvbnRlbnRzIHRoZXBhZ2Vjb250ZW50PSZxdW90OyRwYWdlY29udGVudCZxdW90O308L2NvZGU+PGJyIC8+DQoJCQkJPGVtPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gRm9yIHNvbWUgcmVhc29uIHRoaXMgcGFyYW0gZG9lcyBub3Qgd29yayBhdCB0aGUgbW9tZW50IHdpdGggdGhlIG1vZHVsZSBwbHVnaW4ge0F2YW5jZWRDb250ZW50fS4gVXNlIDxiciAvPjxjb2RlPntjYXB0dXJlIGFzc2lnbj0mcXVvdDtmb28mcXVvdDt9e0FkdmFuY2VkQ29udGVudH17L2NhcHR1cmV9PC9jb2RlPiA8YnIgLz5pbnN0ZWFkLjwvZW0+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KPC91bD4NCjxwPjxzdHJvbmc+QWR2YW5jZWQgcGFyYW1zOjwvc3Ryb25nPjwvcD4NCjx1bD4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmJsb2NrX3R5cGU8L3R0PiAodGV4dCxjaGVja2JveCxkcm9wZG93bixzZWxlY3RfbXVsdGlwbGUsZGF0ZSkgDQoJCTx1bD4NCgkJCTxsaT5BbGxvd3MgeW91IHRvIHNwZWNpZnkgd2hhdCBjb250ZW50IGNvbnRyb2wgdHlwZSBpcyB1c2VkIGluIHRoZSBiYWNrIGVuZC4gU3VwcG9ydHMgYmxvY2stcGFyYW1ldGVycyB0byBpbmNsdWRlIGFkZGl0aW9uYWwgb3B0aW9ucy48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+cGFnZV90YWI8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJVGhpcyBwYXJhbWV0ZXIgc2V0cyB0aGUgdGFiIGluIHdoaWNoIHRoZSBjb250ZW50IGJsb2NrIGlzIGRpc3BsYXllZCBpbiB0aGUgYmFja2VuZC48YnIgLz4NCgkJCQlQb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O21haW4mcXVvdDsgKCA9IFRhYiAmcXVvdDtNYWluIE1lbnUmcXVvdDspLCAmcXVvdDtvcHRpb25zJnF1b3Q7ICggPSBUYWIgJnF1b3Q7T3B0aW9ucyZxdW90OyksIG9yIGFueSBvdGhlciBhcmJpdHJhcnkgdmFsdWU8YnIgLz4NCgkJCQk8ZW0+ZS5nLiB5b3UgY2FuIGFkZCBhIGNoZWNrYm94IHRvIHRoZSBvcHRpb25zIHRhYiBvciBjcmVhdGUgbmV3IHRhYnM8L2VtPi4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5ibG9ja190YWI8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+V2l0aCB0aGlzIHBhcmFtZXRlciwgdGhlIGJsb2NrcyB3aXRoaW4gYSBwYWdlIHRhYiBjYW4gYmUgZnVydGhlciBkaXZpZGVkIGludG8gdGFicyBvciBjYW4gYmUgZ3JvdXBlZCB0b2dldGhlci4gQW55IGV4cHJlc3Npb24gY2FuIGJlIHVzZWQgYXMgYSBwb3NzaWJsZSB2YWx1ZS48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YmxvY2tfZ3JvdXA8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+V2l0aCB0aGlzIHBhcmFtZXRlciwgbXVsdGlwbGUgYmxvY2tzIGNhbiBiZSBncm91cGVkIGluIGEgZmllbGRzZXQuIEFueSBleHByZXNzaW9uIGNhbiBiZSB1c2VkIGFzIGEgcG9zc2libGUgdmFsdWUuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmFjdGl2ZTwvdHQ+ICh0cnVlL2ZhbHNlKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJQWxsb3dzIHlvdSB0byBkaXNhYmxlIGEgY29udGVudCBibG9jay4gRGlzYWJsZWQgY29udGVudCBibG9ja3Mgd29uJiMwMzk7dCBiZSBzaG93biBpbiBiYWNrZW5kIGFzIHdlbGwgYXMgaW4gZnJvbnRlbmQuIChvbmx5IHdvcmtzIHdpdGgge0FkdmFuY2VkQ29udGVudH0gcGx1Z2luKTxiciAvPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnN0eWxlPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXNldCB0aGUgaW5saW5lIHN0eWxlIG9mIHRoZSBlbGVtZW50IGluIGJhY2tlbmQuIDxiciAvPg0KCQkJCWUuZy46IG1ha2UgYSBub3RlIHJlZCB3aXRoIDxjb2RlPnN0eWxlPSYjMDM5O2NvbG9yOiNGRjAwMDA7JiMwMzk7PC9jb2RlPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmVkaXRvcl9ncm91cHM8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBncm91cCBuYW1lcyB0aGF0IGFyZSBhbGxvd2VkIHRvIGVkaXQgdGhpcyBibG9jay4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lZGl0b3JfdXNlcnM8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiB1c2VyIG5hbWVzIHRoYXQgYXJlIGFsbG93ZWQgdG8gZWRpdCB0aGlzIGJsb2NrLg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8ZW0+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBpZiB0aGUgcGFyYW1zIDx0dD5lZGl0b3JfdXNlcnM8L3R0PiBhbmQgPHR0PmVkaXRvcl9ncm91cHM8L3R0PiBhcmUgZW1wdHkgdGhlIGJsb2NrIG1heSBiZSBlZGl0ZWQgYnkgYW55IHVzZXIgd2l0aCBzdWZmaWNpZW50IHBlcm1pc3Npb24gdG8gZWRpdCBhIHBhZ2U8L2VtPjxiciAvPjxiciAvPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZmV1X2FjY2VzczwvdHQ+IChub3QgcmVhZHkgeWV0KQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJQSBsaXN0IG9mIGZldSBncm91cHMgc2VwYXJhdGVkIGJ5IGEgY29tbWEuPGJyIC8+DQoJCQkJVGhpcyBncmFudHMgYWNjZXNzIHRvIHRoaXMgY29udGVudCBibG9jayBvbmx5IHRvIGNlcnRhaW4gZmV1IGdyb3Vwcy48YnIgLz4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5mZXVfYWN0aW9uPC90dD4gKHRydWUvZmFsc2UpICAobm90IHJlYWR5IHlldCkNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCVNwZWNpZnkgaWYgdGhlIGxvZ2luIGZvcm0gb2YgdGhlIGZldSBtb2R1bGUgd2lsbCBiZSBzaG93biBvciBub3QuPGJyIC8+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YWxsb3dfbm9uZTwvdHQ+ICh0cnVlL2ZhbHNlKQ0KCQk8dWw+DQoJCQk8bGk+U2V0IHRvIHRydWUgaWYgdGhlIHVzZXIgbWF5IGVudGVyIGVtcHR5IHZhbHVlcy4gPGJyIC8+SWYgc2V0IHRvIGZhbHNlIGFuZCB2YWx1ZSBpcyBlbXB0eSB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgcGFyYW0gJnF1b3Q7ZGVmYXVsdCZxdW90OyB3aWxsIGJlIHVzZWQuIDxiciAvPklmIHNldCB0byB0cnVlIGFuZCBibG9jayBpcyBvZiB0eXBlIGltYWdlL2ZpbGUgdGhlIG9wdGlvbiAmcXVvdDtub25lJnF1b3Q7IChtb2RlPSZxdW90O2Ryb3Bkb3duJnF1b3Q7KSBvciBhIGJ1dHRvbiB0byBjbGVhciB0aGUgc2VsZWN0ZWQgZmlsZS9pbWFnZSB2YWx1ZSAobW9kZT0mcXVvdDtmaWxlcGlja2VyJnF1b3Q7KSB3aWxsIGJlIGRpc3BsYXllZC48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c21hcnR5PC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlUdXJuIHNtYXJ0eSBwcm9jZXNzaW5nIG9mIHZhbHVlcyBvbi9vZmYuPGJyIC8+DQoJCQkJSWYgc2V0IHRvIHRydWUgYW55IGdpdmVuIHZhbHVlIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IHRoZSBzbWFydHkgZW5naW5lLjxiciAvPg0KCQkJCTxlbT48c3Ryb25nPk5vdGU6IDwvc3Ryb25nPiBOb3RpY2UgdGhhdCB5b3UgY2Fubm90IHVzZSB0aGUgZGVmYXVsdCBzbWFydHkgZGVsaW1pdGVycyB0aGF0IGFyZSB1c2VkIGluIHRoZSB0ZW1wbGF0ZS4gVGhpcyB3aWxsIGNhdXNlIHNtYXJ0eSBlcnJvcnMgaW4gZnJvbnRlbmQuPGJyIC8+DQoJCQkJU28geW91IG5lZWQgdG8gdXNlIDo6OiBhcyBkZWxpbWl0ZXIgaW5zdGVhZC48YnIgLz48L2VtPg0KCQkJCUUuZy46IDxjb2RlPntjb250ZW50IGJsb2NrPSZxdW90O0NhdGVnb3JpZXMmcXVvdDsgbGFiZWw9JnF1b3Q7U2VsZWN0IGEgY2F0ZWdvcnkmcXVvdDsgYmxvY2tfdHlwZT0mcXVvdDtkcm9wZG93biZxdW90OyBpdGVtcz0mcXVvdDs6OjpnbG9iYWxfY29udGVudCBuYW1lPSYjMDM5O2NhdGVnb3J5bGlzdCYjMDM5Ozo6OiZxdW90OyBzbWFydHk9JnF1b3Q7dHJ1ZSZxdW90O308L2NvZGU+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZGVzY3JpcHRpb248L3R0PiAoc3RyaW5nKSANCgkJPHVsPg0KCQkJPGxpPkFsbG93cyB5b3UgdG8gYWRkIGEgZGV0YWlsZWQgZGVzY3JpcHRpb24gdG8gdGhhdCBibG9jayBmb3IgeW91ciBlZGl0b3JzLjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQo8L3VsPg0KPHA+PHN0cm9uZz5QYXJhbXMgb2YgYmxvY2t0eXBlICZxdW90O2NoZWNrYm94JnF1b3Q7Ojwvc3Ryb25nPjwvcD4NCjx1bD4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmRlZmF1bHQ8L3R0PiAodHJ1ZS9mYWxzZSkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQljaGVja3MvdW5jaGVja3MgdGhlIGNoZWNrYm94IGJ5IGRlZmF1bHQgd2hlbiBhZGRpbmcgYSBwYWdlPGJyIC8+DQoJCQkJPGVtPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVXNlICZxdW90OzEmcXVvdDsgZm9yIGNoZWNrZWQgYW5kICZxdW90OzAmcXVvdDsgZm9yIHVuY2hlY2tlZCBieSBkZWZhdWx0PGJyIC8+PC9lbT4NCgkJCQlFLmcuIDxjb2RlPntjb250ZW50IGJsb2NrX3R5cGU9JnF1b3Q7Y2hlY2tib3gmcXVvdDsgZGVmYXVsdD0xfTwvY29kZT4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQo8L3VsPg0KPHA+PHN0cm9uZz5QYXJhbXMgb2YgYmxvY2t0eXBlICZxdW90O2Ryb3Bkb3duJnF1b3Q7LyZxdW90O3NlbGVjdF9tdWx0aXBsZSZxdW90Ozo8L3N0cm9uZz48L3A+DQo8dWw+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5pdGVtczwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT5JdGVtIGxhYmVsKHMpIG9mIHRoZSBmaWVsZChzKSAoc2VwYXJhdGVkIGJ5IGEgZGVsaW1pdGVyIC0gZGVmYXVsdCBpcyB8IChwaXBlKSk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+dmFsdWVzPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPlZhbHVlKHMpIG9mIHRoZSBpdGVtcyAoc2VwYXJhdGVkIGJ5IGEgZGVsaW1pdGVyIC0gZGVmYXVsdCBpcyB8IChwaXBlKSk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gaWYgdGhlcmUgYXJlIGxlc3MgdmFsdWVzIHRoYW4gaXRlbXMgdGhlIGl0ZW0gbGFiZWxzIHdpbGwgYmUgdXNlZCBhcyB2YWx1ZXMgKGFuZCB2aXNlIHZlcnNhKS48L2VtPjxiciAvPjxiciAvPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZGVmYXVsdDwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlQcmVzZWxlY3RlZCB2YWx1ZShzKSAoc2VwYXJhdGVkIGJ5IGEgZGVsaW1pdGVyIC0gZGVmYXVsdCBpcyB8IChwaXBlKSk8YnIgLz4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZWxpbWl0ZXI8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+QSBzaWduIG9yIHN0cmluZyB0aGF0IHdpbGwgYmUgdXNlZCB0byBkZXZpZGUgdGhlIGl0ZW1zL3ZhbHVlcyAoZGVmYXVsdCBpcyB8IChwaXBlKSk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zaXplPC90dD4gKGludGVnZXIpDQoJCTx1bD4NCgkJCTxsaT5IZWlnaHQgb2YgY29udGVudCBibG9jayBpbiBiYWNrIGVuZCBpZiA8Y29kZT5ibG9ja190eXBlPSZxdW90O3NlbGVjdF9tdWx0aXBsZSZxdW90OzwvY29kZT4gaXMgc2V0LiA8ZW0+KERlZmF1bHQgaXMgbnVtYmVyIG9mIGl0ZW1zKTwvZW0+PC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c29ydGFibGVfaXRlbXM8L3R0PiAodHJ1ZS9mYWxzZSkgLSBzZWxlY3RfbXVsdGlwbGUgb25seQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJSWYgc2V0IHRvIHRydWUgdGhlIGl0ZW1zIHdvbiYjMDM5O3QgYmUgc2hvd24gYXMgYSBtdWx0aXBsZSBzZWxlY3QgaW5wdXQgd2l0aCBvcHRpb25zIGJ1dCBhcyBhIGxpc3Qgb2YgY2hlY2tib3hlcyB0aGF0IGNhbiBiZSByZW9yZGVyZWQuPGJyIC8+RWFjaCByb3cgY29udGFpbnMgdGhlIGl0ZW0gbGFiZWwgYW5kIGEgY2hlY2tib3ggd2l0aCB0aGUgaXRlbSB2YWx1ZS48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBvbmx5IHRoZSBvcmRlciBvZiB0aGUgPHN0cm9uZz5zZWxlY3RlZDwvc3Ryb25nPiBpdGVtcyB3aWxsIGJlIHN0b3JlZCBhbmQgYWx3YXlzIGRpc3BsYXllZCBvbiB0aGUgdG9wIG9mIHRoZSBsaXN0IHdoZW4gcmVsb2FkaW5nIHRoZSBlZGl0IHBhZ2UuPGJyIC8+DQoJCQkJVW5zZWxlY3RlZCBpdGVtcyB3aWxsIGFwcGVuZGVkIGluIHRoYXQgb3JkZXIgdGhleSBhcmUgZGVmaW5lZCBpbiB0aGUgdGVtcGxhdGU8L2VtPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmNvbGxhcHNlPC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlUaGUgZGVmYXVsdCBkaXNwbGF5IG9mIHRoZSBibG9jayBpbiBiYWNrZW5kLg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCjwvdWw+DQo8cD48c3Ryb25nPlBhcmFtcyBvZiBibG9ja3R5cGUgJnF1b3Q7ZGF0ZSZxdW90Ozo8L3N0cm9uZz48L3A+DQo8dWw+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zdGVwX2hvdXJzPC90dD4gKGludCkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlzdGVwcyBvZiBob3VycyBpbiB0aGUgY2xvY2sgZHJvcGRvd24uIChkZWZhdWx0IGlzIDEpDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c3RhcnRfaG91cjwvdHQ+IChpbnQpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJdGhlIHN0YXJ0IGhvdXIgb2YgdGhlIGNsb2NrIGRyb3Bkb3duLiAoZGVmYXVsdCBpcyAwKQ0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmVuZF9ob3VyPC90dD4gKGludCkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQl0aGUgZW5kIGhvdXIgb2YgdGhlIGNsb2NrIGRyb3Bkb3duIChkZWZhdWx0IGlzIDEyIG9yIDIzKQ0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnNob3cyNGg8L3R0PiAodHJ1ZS9mYWxzZSkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlzZXQgdG8gZmFsc2UgaWYgQU0vUE0gaXMgdXNlZC4gKGRlZmF1bHQgaXMgdHJ1ZSkNCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zdGVwX21pbnV0ZXM8L3R0PiAoaW50KSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXN0ZXBzIG9mIG1pbnV0ZXMgaW4gdGhlIGNsb2NrIGRyb3Bkb3duLiAoZGVmYXVsdCBpcyAxMCkNCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zdGFydF9taW51dGU8L3R0PiAoaW50KSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXRoZSBzdGFydCBtaW51dGUgb2YgdGhlIGNsb2NrIGRyb3Bkb3duLiAoZGVmYXVsdCBpcyAwKQ0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZW5kX21pbnV0ZTwvdHQ+IChpbnQpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJdGhlIGVuZCBtaW51dGUgb2YgdGhlIGNsb2NrIGRyb3Bkb3duIChkZWZhdWx0IGlzIDU5KQ0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnNob3dfY2xvY2s8L3R0PiAodHJ1ZS9mYWxzZSkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlzZXQgdG8gZmFsc2UgaWYgbm8gdGltZSBkcm9wZG93biBzaG91bGQgYmUgZGlzcGxheWVkIChkZWZhdWx0IGlzIHRydWUpPGJyIC8+DQoJCQkJPGVtPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gSWYgc2V0IHRvIGZhbHNlIDAwOjAwIG8mIzAzOTtjbG9jayB3aWxsIGJlIHVzZWQ8L2VtPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmRhdGVfZm9ybWF0PC90dD4gKHN0cmluZykgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlUaGUgc3RyZnRpbWUgZGF0ZSBmb3JtYXQgdG8gc2hvdyBpbiBmcm9udGVuZC4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQo8L3VsPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KCTxsaT5UaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9jb250ZW50Mi8iPmh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIvPC9hPjwvbGk+DQoJPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPC91bD4NCjxiciAvPg0KPHA+RmVlbCBmcmVlIHJlcG9ydCBhbnkga2luZCBvZiBmZWVkYmFjay48L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPg0KCUFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLjxiciAvPg0KCVRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLDxiciAvPg0KCWJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mPGJyIC8+DQoJTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLjxiciAvPg0KCVNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy48YnIgLz4NCglZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZTxiciAvPg0KCWFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlPGJyIC8+DQoJRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0E8YnIgLz4NCglPciByZWFkIGl0IG9ubGluZTogPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5odHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEw8L2E+PGJyIC8+DQoJUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuDQo8L3A+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIEdlb3JnIEJ1c2NoIChOYU4pLiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KPGJyIC8+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzxiciAvPg0KPHA+PHN0cm9uZz5Nb2R1bGUgcmVsZWFzZXM8L3N0cm9uZz4uLi48L3A+DQo8dWw+DQoJPGxpPjxwPjxzdHJvbmc+MC42IChPY3QgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gc2V2ZXJhbCBidWdmaXhlczwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGJsb2NrX2dyb3VwPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+TWlzYzo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBSZW1vdmVkIGZpbGUgcGlja2VyIChhbmQgYXNzb2NpYXRlZCBibG9ja190eXBlcyBpbWFnZS9maWxlKSAtIHVzZSBHQkZpbGVQaWNrZXIgaW5zdGVhZC48L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuNSAoU2VwdCAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD5CdWdmaXhlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+Zml4ZWQgYnVnIGl0ZW0gIzUyOTIgKG1lbW9yeSBpc3N1ZSk8L3A+PC9saT4NCgkJCQkJPGxpPjxwPmZpeGVkIGJ1ZyBpdGVtICM1MjU0IChkaXNhYmxlIHd5c2l3eWcgbm90IHdvcmtpbmcpPC9wPjwvbGk+DQoJCQkJCTxsaT48cD5maXhlZCBidWcgaXRlbSAjNTMxMCAodXJsb25seSBub3Qgd29ya2luZyk8L3A+PC9saT4NCgkJCQkJPGxpPjxwPmZpeGVkIGJ1ZyBpdGVtICM1MzExIChpbWFnZSBwYXRocyBub3Qgc3RvcmVkICYjMDM5O2NvcnJlY3RseSYjMDM5Oyk8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+YWRkZWQgZmVhdHVyZSByZXF1ZXN0ICM1MjYxIChBZGQgc29ydCB0byBpbWFnZSB0eXBlIC0gbm90aWNlIHRoZSBjaGFuZ2Ugb2YgcGFyYW0gZmlsdGVyKTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+YWRkZWQgcGFyYW1zIGV4Y2x1ZGVfcHJlZml4LCBpbmNsdWRlX3ByZWZpeCwgZXhjbHVkZV9zdWZpeCwgaW5jbHVkZV9zdWZpeDwvcD48L2xpPg0KCQkJCQk8bGk+PHA+YWRkZWQgZmVhdHVyZSByZXF1ZXN0ICM1MjUzIChUZXh0IGlucHV0IHRvIGRlZmluZSBhZGQgcGFyYW1zIHRvIHJlZGlyZWN0IGZ1bmN0aW9uKTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+YWRkZWQgZmVhdHVyZSByZXF1ZXN0ICM1MjQwIChEZWZhdWx0IHZhbHVlcyBvZiBBZHZhbmNlZENvbnRlbnQgcGFnZSBvcHRpb25zKTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+YWRkZWQgZmVhdHVyZSByZXF1ZXN0ICM1MjQxIChwdXQgRmV1QWNjZXNzIGluIEJsb2NrdGFiKTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPk1pc2M6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gQWR2YW5jZWRDb250ZW50IG9wdGlvbnMgYXJlIHNob3duIGluIHNlcGFyYXRlIHRhYjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBBZGRlZCBuZXcgcGVybWlzc2lvbiB0byBtYW5hZ2UgdGhlIEFkdmFuY2VkQ29udGVudCBvcHRpb25zIHRhYjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSByZW1vdmVkIHBhcmFtIGZpbHRlciAodXNlIG5ldyBwYXJhbXMgaW5zdGVhZCk8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gcGF0aCB0byBmaWxlcyBhcmUgc3RvcmVkIHJlbGF0aXZlIHRvIHRoZSB1cGxvYWRzIGRpcjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBwYXJhbSBkaXIgb2YgYmxvY2sgdHlwZSBmaWxlL2ltYWdlIG5lZWRzIHRvIGJlIHJlbGF0aXZlIHRvIHRoZSB1cGxvYWRzIGRpciBvbmx5ICh0aGVyZSBpcyBubyBpbWFnZSB1cGxvYWRzIGRpciB1c2VkIGFueW1vcmUpPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4wLjQuMSAoQXVndXN0IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tICM1MTUxOiBmaXhlZCBzdHlsZXNoZWV0IGlzc3VlIHdpdGggZXhwYW5kL2NvbGxhcHNlIGJ1dHRvbnMgb2YgY29udGVudCBibG9ja3MgaW4gSUUvU2FmYXJpLjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSAjNTE2MjogUEhQIHdhcm5pbmdzIGlmIGJhY2tlbmQgdXNlcnMgd2l0aG91dCBwZXJtaXNzaW9uICZxdW90O01hbmFnZSBBbGwgQWR2YW5jZWRDb250ZW50IEJsb2NrcyZxdW90OyBvcGVuIGFuIGFkdmFuY2VkIGNvbnRlbnQgcGFnZSBhbmQgbXVsdGlwbGUgY29udGVudCBibG9ja3Mgb2Ygc2FtZSBuYW1lIHdlcmUgdXNlZCBpbiB0ZW1wbGF0ZS48L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gZml4ZWQgYnVnIHdoZXJlIGV4dHJhIGZpZWxkcyBjb3VsZCBub3QgYmUgdXBkYXRlZC48L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gZml4ZWQgYnVnIHdoZXJlIGZldSBhY2Nlc3MgZGlkIG5vdCB3b3JrLjwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICZxdW90O2RlbGV0ZSZxdW90OyB0byBsZXQgdXNlcnMgZGVsZXRlIGZpbGVzIGV2ZW4gaWYgbm8gcGVybWlzc2lvbiAmcXVvdDtNb2RpZnkgRmlsZXMmcXVvdDs8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gJnF1b3Q7Y3JlYXRlX2RpcnMmcXVvdDsgdG8gbGV0IHVzZXJzIGNyZWF0ZV9kaXJzIGV2ZW4gaWYgbm8gcGVybWlzc2lvbiAmcXVvdDtNb2RpZnkgRmlsZXMmcXVvdDs8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgbmV3IGJsb2NrdHlwZSAmcXVvdDtub3RlJnF1b3Q7IHRvIGNyZWF0ZSBzb21lIHNpbmdsZSBub3RlcyBmb3IgeW91ciBlZGl0b3JzPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+TWlzYzo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSByZW1vdmVkIGRlcGVuZGVuY3kgb2YgRmlsZU1hbmFnZXI8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYmxvY2sgb2YgdHlwZSBmaWxlIG9yIGltYWdlIHN0b3JlcyByZWxhdGl2ZSB1cmwgbm93PC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGJsb2NrIHR5cGUgaW1hZ2Ugc2hvd3MgdGh1bWJuYWlsIGluIGJhY2tlbmQgcHJldmlldyBpbnN0ZWFkIG9mIGZ1bGwgaW1hZ2U8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuNCAoSnVseSAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD5JbXBvcnRhbnQgbm90aWNlOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIGNoYW5nZWQgcGFyYW0gJnF1b3Q7dHlwZSZxdW90OyB0byAmcXVvdDtibG9ja190eXBlJnF1b3Q7IHNpbmNlIGl0IGludGVyZmVyZXMgd2l0aCB7Y29udGVudF9tb2R1bGV9IHRhZzwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tICM1MTAxOiBwYWdlX3RhYiAmcXVvdDtvcHRpb25zJnF1b3Q7IHdhcyBzaG93biB0byB1c2VycyB3aXRoIG5vIHBlcm1pc3Npb24gdG8gZWRpdCBwYWdlIG9wdGlvbnMgaWYgYSBjb250ZW50IGJsb2NrIHdhcyBhc3NpZ25lZCB0byB0aGF0IHRhYi48L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gIzUwOTc6IGxpbmsgdG8gbWlzc2luZyBjc3MgcmVtb3ZlZDwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBmaXhlZCBtaW1lLXR5cGUgaXNzdWUgKGFkZGVkIHByZWZlcmVuY2UgdG8gdG9nZ2xlIG1pbWUtdHlwZSB1c2FnZSBvbi9vZmYpPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGZpeGVkIHBhdGggaXNzdWUgd2hlcmUgdGh1bWJuYWlscyB3ZXJlIG5vdCBzaG93bjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBmaXhlZCBjb21wYXRpYmlsaXR5IHdpdGggQ01TbXMgMS44PC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIG90aGVyIG1pbm9yIGJ1Z2ZpeGVzPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+RmVhdHVyZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgTUxFIHN1cHBvcnQ8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gJnF1b3Q7c2hvd19jbG9jayZxdW90OyB0byBlbmFibGUvZGlzYWJsZSB0aGUgdGltZSBkcm9wZG93biBvZiBibG9ja3R5cGVzICZxdW90O2RhdGUmcXVvdDsgaW4gYmFja2VuZDwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAmcXVvdDtkYXRlX2Zvcm1hdCZxdW90OyB0byBmb3JtYXQgdGltZXN0YW1wIG9mIGJsb2NrdHlwZXMgJnF1b3Q7ZGF0ZSZxdW90OyBpbiBmcm9udGVuZDwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAmcXVvdDtkZXNjcmlwdGlvbiZxdW90OzwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBidWxrIGZ1bmN0aW9uIHRvIHNldCBhbGwgcGFnZXMgdG8gQWR2YW5jZWRDb250ZW50PC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIGNvbXBhdGliaWxpdHkgd2l0aCB7Y29udGVudF9tb2R1bGV9IHRhZzwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MC4zLjQgKEp1bmUgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gIzUwNDU6IFdoZW4gc3dpdGNoaW5nIGZyb20gQ29udGVudCAtPiBBZHZhbmNlZCBDb250ZW50IGxvdHMgb2YgUEhQIGVycm9yczwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSAjNTA1NjogcGFnZV90YWJzIG5vdCB3b3JraW5nIGZvciB1c2VycyB3aXRob3V0IHBlcm1pc3Npb24gJnF1b3Q7TWFuYWdlIEFsbCBDb250ZW50JnF1b3Q7PC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tICM1MDczOiBpbmNvcnJlY3QgZGlzcGxheSBvZiBmaWxlcyB3aGVuIG9wZW5pbmcgZmlsZXBpY2tlcjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBmaXhlZCBtaW5vciBidWcgd2hlcmUgdGhlIG9wdGlvbiAmcXVvdDthbGxvd19ub25lJnF1b3Q7IG9mIGNvbnRlbnQgYmxvY2tzIG9mIHR5cGUgaW1hZ2UvZmlsZSB3YXMgbm90IHNob3duIHdoZW4gdGVtcGxhdGUgaGFzIGJlZW4gZWRpdGVkPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+RmVhdHVyZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgZmlsZW1hbmFnZW1lbnQgYW5kIHVwbG9hZCBmdW5jdGlvbnMgdG8gY29udGVudCBibG9ja3Mgb2YgdHlwZSBpbWFnZS9maWxlPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIGJyZWFkY3VtYnMgdG8gZmlsZXBpY2tlcjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZG1pbnMgbWF5IGJyb3dzZSB0aGUgZW50aXJlIGRpciB0cmVlIGluIGZpbGVwaWNrZXIgZmlsZSBicm93c2VyIHJlZ2FyZGxlc3Mgb2YgdGVtcGxhdGUgcGFyYW1zPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIG1pbWUgdHlwZSBjaGVja2luZyB0byBnZXQgZmlsZSB0eXBlPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHJhd3VybGVuY29kZSBpbiBzcmMgYXR0cmlicyB0byBkaXNwbGF5IGltYWdlcyB3aXRoIHdlaXJkIGZpbGVuYW1lcy48L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5taXNjZWxsYW5lb3VzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIHJlbW92ZWQgT09QIHN0dWZmIChwcml2YXRlL3B1YmxpYy9wcm90ZWN0ZWQpIHRvIGdhaW4gbW9yZSBjb21wYXRpYmlsaXR5IHdpdGggUEhQNDwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBjaGFuZ2VkIGFqYXggZnVuY3Rpb25zIHRvIHJldHVybiB4bWwgdmFsdWVzPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIHJlbW92ZWQgdXNhZ2Ugb2YgSW1hZ2VNYW5hZ2VyIG9uY2UgYW5kIGZvciBhbGwuIChjYXVzZWQgb25seSB0cm91YmxlKTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MC4zLjMgKEp1bmUgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCTx1bD4NCgkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4NCgkJCTx1bD4NCgkJCQk8bGk+PHA+LSBhbGlhcyB3YXMgbm90IGFsd2F5cyBjb252ZXJ0ZWQgcHJvcGVybHk8L3A+PC9saT4NCgkJCQk8bGk+PHA+LSB1bnN1Ym1pdHRlZCBjb250ZW50IGdvdCBsb3N0IGlmIHN3aXRjaGluZyBmcm9tIENvbnRlbnQgdG8gQWR2YW5jZWRDb250ZW50PC9wPjwvbGk+DQoJCQk8L3VsPg0KCQk8L2xpPg0KCQk8bGk+PHA+RmVhdHVyZXM6PC9wPg0KCQkJPHVsPg0KCQkJCTxsaT48cD4tIGFkZGVkIHN0YXJ0L2VuZCBkYXRlPC9wPjwvbGk+DQoJCQkJPGxpPjxwPi0gcmVtb3ZlZCB0aW1lcGlja2VyOyByZXBsYWNlZCBieSBhIHNpbXBsZSBkcm9wZG93bjwvcD48L2xpPg0KCQkJCTxsaT48cD4tIGNvbXBhdGliaWxpdHkgd2l0aCB7Y29udGVudF9pbWFnZX08L3A+PC9saT4NCgkJCTwvdWw+DQoJCTwvbGk+DQoJPC91bD4NCgk8bGk+PHA+PHN0cm9uZz4wLjMuMiAoSnVuZSAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBjaGFuZ2luZyBiYWNrIHRvIGRlZmF1bHQgY29udGVudCB0eXBlIG9yIGNoYW5naW5nIHRlbXBsYXRlIGNhdXNlZCBmYXRhbCBlcnJvcnM8L3A+PC9saT4NCgkJCTxsaT48cD4tIGZpeGVkIGEgYnVnIHdpdGggc21hcnR5IHByb2Nlc3Npbmcgd2hlbiBzYXZpbmcgYSBwYWdlPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBmaXhlZCBhIGJ1ZyB3aXRoIHByZXZpZXcgdGFiPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSByZS1hZGRlZCBleHBhbmQvY29sbGFwc2UgYnV0dG9uIHRvIHRvZ2dsZSBjb250ZW50IGJsb2NrcyBpbiBiYWNrZW5kPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbXMgZWRpdG9yX2dyb3Vwcy9lZGl0b3JfdXNlcnMgdG8gc3BlY2lmeSBjZXJ0YWluIHVzZXJzL2dyb3VwcyB0aGF0IGFyZSBhbGxvd2VkIHRvIGVkaXQgY2VydGFpbiBibG9ja3M8L3A+PC9saT4NCgkJCTxsaT48cD4tIHJlbW92ZWQgcGFyYW1zIHNlbGVjdGVkL2NoZWNrZWQ7IHVzZSBwYXJhbSBkZWZhdWx0IGluc3RlYWQ8L3A+PC9saT4NCgkJCTxsaT48cD4tIGJsb2NrIGlkcyB3aWxsIGJlIGNvbnZlcnRlZCBmcm9tIGJsb2NrIG5hbWUgdXNpbmcgY29yZSBmdW5jdGlvbiBtdW5nZV9zdHJpbmdfdG9fdXJsICh0byByZW1vdmUgc3BlY2lhbCBjaGFycywgd2hpdGVzcGFjZXMsIHVtbGF1dHMgZXRjLik8L3A+PC9saT4NCgkJCTxsaT48cD4tIGZpeGVkIGJ1ZyBvZiBibG9ja3R5cGUgZHJvcGRvd24vc2VsZWN0X211bHRpcGxlIHdoZXJlIGZpcnN0IGl0ZW0gaGFkIGFuIGVtcHR5IGxhYmVsIGlmIG9ubHkgdGhlIHBhcmFtICZxdW90O3ZhbHVlcyZxdW90OyBpcyB1c2VkPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBzb21lIHRlbXBsYXRlIHZhcnMgb2YgdGhlIGZyb250ZW5kIHRvIGJlIGFsc28gYWNjZXNzaWJsZSBpbiBiYWNrZW5kIChlLmcuOiAkcGFnZV9hbGlhcyk8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICZxdW90O2FsbG93X25vbmUmcXVvdDsgdG8gYWxsIGNvbnRlbnQgYmxvY2sgdHlwZXMgdG8gc3BlY2lmeSBpZiB0aGUgcHJlZGVmaW5lZCBkZWZhdWx0IHZhbHVlIHdpbGwgYmUgdXNlZCBpZiBubyB2YWx1ZSBpcyBlbnRlcmVkPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBmaXhlZCBidWcgd2hlcmUgZW1wdHkgdmFsdWVzIHdlcmUgbmV2ZXIgYmUgc3RvcmVkPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBmaXhlZCBidWcgd2hlcmUgZGVmYXVsdCB2YWx1ZSBpbiBmcm9udGVuZCB3YXMgaWdub3JlZCBpZiB0aGUgJnF1b3Q7YWxsb3dfbm9uZSZxdW90OyBwYXJhbSB3YXMgY2hhbmdlZCBhZnRlciBhbiBlbXB0eSB2YWx1ZSBoYXMgYmVlbiBzdG9yZWQ8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICZxdW90O3NvcnRhYmxlX2l0ZW1zJnF1b3Q7IHRvIGNyZWF0ZSBhIHNvcnRhYmxlIG11bHRpcGxlIHNlbGVjdCBsaXN0IChzZWxlY3QgbGlzdCB3aWxsIHJlc3VsdCBpbiBhIHRhYmxlIHdpdGggY2hlY2tib3hlczsgb25seSBvcmRlciBvZiBzZWxlY3RlZCBpdGVtcyB3aWxsIGJlIHN0b3JlZCBhbmQgc2hvd2VkIGF0IHRoZSB0b3Agb2YgdGhlIGxpc3Q7IHVuc2VsZWN0ZWQgaXRlbXMgd2lsbCBiZSBhcHBlbmRlZCBpbiB0aGF0IG9yZGVyIHRoZXkgYXJlIHBsYWNlZCBpbiB0aGUgdGVtcGxhdGUpPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4wLjMuMSAoTWF5IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gcmVtb3ZlZCB0aGUgcmVvcmRlcmluZyBzdHVmZiBmb3Igbm93IChjYXVzZXMgdHJvdWJsZSBhdCB0aGlzIHRpbWUpPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSByZW1vdmVkIHRoZSBkYiBzdHVmZiAocGFyYW1zIG9mIGNvbnRlbnQgYmxvY2tzIHRoYXQgYXJlIGRlZmluZWQgaW4gdGVtcGxhdGUgd29uJiMwMzk7dCBiZSBzYXZlZCBpbiBtb2R1bGUgZGIgdGFibGUgYW55bW9yZSAtPiBob3BlZnVsbHkgc3BlZWQgdXAgbG9hZGluZyB0aW1lKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gZml4ZWQgYSBidWcgd2l0aCBkdXBsaWNhdGUgY29udGVudCBibG9ja3M8L3A+PC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT4NCgkJPHA+PHN0cm9uZz5BZHZhbmNlZENvbnRlbnQgMC4zIChNYXkgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+LSByZXdyaXRlIGNvZGU8L3A+PC9saT4NCgkJCTxsaT48cD4tIGJ1Z2ZpeGVzPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSByZW5hbWVkIHRvIEFkdmFuY2VkQ29udGVudDwvcD48L2xpPg0KCQkJPGxpPjxwPi0gdXNpbmcgc2VwYXJhdGUgbW9kdWxlIHRlbXBsYXRlIG5vdyB0byBkc3BsYXkgY29udGVudCBibG9ja3M8L3A+PC9saT4NCgkJCTxsaT48cD4tIHJlbW92ZWQgcGFnZSBhbGlhcyBpbmhlcml0YW5jZTwvcD48L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQo8L3VsPg0KPHVsPg0KCTxsaT48cD48c3Ryb25nPlhDb250ZW50IEJFVEEgMyAoQXByaWwgMjAxMCAtIGRpc2NvbnRpbnVlZCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+LSBNYWpvciBCdWdmaXggKG1pc3NpbmcgJnF1b3Q7OyZxdW90OyBhbmQgc3RyYW5nZSBpbnZpc2libGUgaW52YWxpZCBjaGFycyk8L3A+PC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPlhDb250ZW50IEJFVEEgMiAoQXByaWwgMjAxMCAtIGRpc2NvbnRpbnVlZCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+LSBmaXhlZCBhIGJ1ZyB3aXRoIHBhcmFtICZxdW90O2RlbGltaXRlciZxdW90OzwvcD48L2xpPg0KCQkJPGxpPjxwPi0gZml4ZWQgYSBidWcgd2l0aCBzbWFydHkgcHJvY2Vzc2luZzwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgaW5oZXJpdGFuY2Ugb2YgJnF1b3Q7U2hvdyBsb2dpbiBmb3JtJnF1b3Q7PC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBpbmhlcml0YW5jZSBvZiBwYWdlIGFsaWFzIHRvIGFkZCBpdCBhcyBwcmVmZml4OyBzbyBpZiB5b3UgaGF2ZSBhIHBhZ2UgY2FsbGVkICZxdW90O21lbWJlcnMmcXVvdDsgYW5kIHNlbGVjdCBmb3IgZWFjaCBjaGlsZCBwYWdlICZxdW90O2luaGVyaXQgcGFnZSBhbGlhcyZxdW90OyBhbGwgY2hpbGQgcGFnZXMgYWxpYXNlcyB3aWxsIHN0YXJ0IHdpdGggJnF1b3Q7bWVtYmVyc18mcXVvdDs7IG1ha2VzIGZpbHRlcmluZyBvZiBtZW51IGVudHJpZXMgd2l0aCBNZW51TWFuYWdlciBwYXJhbSAmcXVvdDtleGNsdWRlcHJlZmZpeCZxdW90OyBvciAmcXVvdDtpbmNsdWRlcHJlZmZpeCZxdW90OyBlYXNpZXIuPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBtaW5vciBidWdmaXhlczwvcD48L2xpPiANCgkJPC91bD4NCgk8L2xpPg0KCTxsaT4NCgkJPHA+PHN0cm9uZz5YQ29udGVudCBCRVRBIChBcHJpbCAyMDEwKTo8L3N0cm9uZz4gaW5pdGlhbCByZWxlYXNlPC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+LSBjb252ZXJ0ZWQgdGhlIHNpbmdsZSBmaWxlIGludG8gYSBtb2R1bGU8L3A+PC9saT4NCgkJCTxsaT48cD4tIHJlbmFtZWQgcGFyYW1zOyBzZWUgbW9kdWxlIGhlbHAgZm9yIG1vcmUgZGV0YWlsczwvcD48L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQo8L3VsPg0KPHA+PHN0cm9uZz5TaW5nbGUgZmlsZSByZWxlYXNlcyAoZGlzY29udGludWVkKTwvc3Ryb25nPi4uLjwvcD4NCjx1bD4NCgk8bGk+DQoJCTxwPjxzdHJvbmc+MS40IChNYXJjaCAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIGNsZWFudXAgY29kZSAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBtaW5vciBidWdmaXhlcyAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCByZWRpcmVjdCBwYWdlIGlmIGZldSBpcyBub3QgbG9nZ2VkIGluIC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIGluaGVyaXRhbmNlIG9mIGZldV9hY2Nlc3MgYW5kIHJlZGlyZWN0X3BhZ2UgLSAoTmFOKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gZmV1X2FjY2VzcyAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBmZXVfYWN0aW9uIC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIHJlZGlyZWN0X3BhZ2UgLSAoTmFOKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gYmxvY2tfb25seSAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBzbWFydHkgbG9naWMgaW4gYmFja2VuZCAtIChKZXJlbXlCYXNzKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gc3R5bGUgLSAoSmVyZW15QmFzcyk8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGZpbHRlciAoZmlsdGVyaW5nIGltYWdlcyBpbiBiYWNrZW5kKSAtIChKZXJlbXlCYXNzKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gSW1nTW9kZSAoZHJvcGRvd24gb3IgSW1hZ2VNYW5hZ2VyKSAtIChKZXJlbXlCYXNzKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gc21hcnR5T24gKGZvciBwcm9jZXNzaW5nIHNtYXJ0eSB2YXJzIG9mIHRoZSB0ZW1wYXRlIGluIGJhY2tlbmQpIC0gKEplcmVteUJhc3MpPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4xLjMgKEFwcmlsIDIwMDkpOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gQ01TbXMgMS42LiogcmVhZHkgLSAoTmFOKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgZmV1IGFjY2VzcyBvcHRpb24gLSAoTmFOKTwvcD48L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPg0KCQk8cD48c3Ryb25nPjEuMiAoTWFyY2ggMjAwOSk6PC9zdHJvbmc+IGluaXRpYWwgcmVsZWFzZTwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gQSBzaW5nbGUgZmlsZSBDb250ZW50Mi5pbmMucGhwIHRoYXQgbmVlZHMgdG8gYmUgcGFjZWQgaW4gbGliL2NsYXNzZXMvY29udGVudHR5cGVzLjwvcD48L2xpPg0KCQkJPGxpPjxwPi0gbGF5b3V0L29wdGlvbnMgb2YgYmFja2VuZCBwYW5lbCBjYW4gYmUgY29udHJvbGVkIGJ5IGFkZGl0aW9uYWwgc21hcnR5IHBhcmFtcyBpbiB0aGUgdGVtcGxhdGU7IGludGVncmF0ZWQgdGhlIHtjb250ZW50X2ltYWdlfSB0YWcgLSAobW9kIGJ5IE5hTik8L3A+PC9saT4NCgkJPC91bD4NCgk8L2xpPg0KPC91bD4NCjxiciAvPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjM3NzUxMDg2MzM4ODQ5MDEwMDAuMTIzNTM5MTM2My4xMjk2MDUxMzU2LjEyOTYwNzE4MDUuOTInOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjk2MDcxODA1LjkyLjQxLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9wcm9qZWN0cy9jb250ZW50Mnx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sncWNhJ10gPSAnUDAtMTg2MzEwOTU0LTEyNTcyNDM5ODUxNzcnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ0FkdmFuY2VkQ29udGVudCddID0gJ0NvbnRlbnV0byBBdmFuemF0byc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bG8gQWR2YW5jZWRDb250ZW50ICVzIGluc3RhbGxhdG8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bG8gQWR2YW5jZWRDb250ZW50ICVzIGRpc2luc3RhbGxhdG8nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bG8gQWR2YW5jZWRDb250ZW50IGFnZ2lvcm5hdG8gYWxsYSB2ZXJzaW9uZSAlcyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ01vZHVsbyBBZHZhbmNlZENvbnRlbnQgJXMgaW5zdGFsbGF0by4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsbyBBZHZhbmNlZENvbnRlbnQgJXMgZGlzaW5zdGFsbGF0by4nOwokbGFuZ1snY29uZmlybXVuaW5zdGFsbCddID0gJ1ZvbGV0ZSBkYXZ2ZXJvIGRpc2luc3RhbGxhcmUgaWwgbW9kdWxvIEFkdmFuY2VkQ29udGVudD8nOwokbGFuZ1snbm90aWNlX2R1cGxpY2F0ZWNvbnRlbnQnXSA9ICc8ZW0+PHN0cm9uZz5Ob3RhOjwvc3Ryb25nPiBRdWVzdG8gYmxvY2NvIHZpZW5lIHV0aWxpenphdG8gcGkmdWdyYXZlOyB2b2x0ZSBuZWkgdGVtcGxhdGUuIFF1aSB2ZWRldGUgc29sbyBpbCBwcmltbyBibG9jY28uPC9lbT4nOwokbGFuZ1snZXJyb3JfYmFzaWNhdHRyaWInXSA9ICc8ZW0+PHN0cm9uZz5Ob3RhOjwvc3Ryb25nPiBDYW5ub3QgdXNlIGJhc2ljIGNvbnRlbnQgcHJvcGVydHkgbmFtZSAmIzAzOTslcyYjMDM5OyBhcyB2YWx1ZSBvZiBwYXJhbSAmIzAzOTtibG9jayYjMDM5Oy4gPGJyIC8+VGhpcyBibG9jayBpcyBkaXNhYmxlZC4gQ2hlY2sgeW91ciBwYWdlIHRlbXBsYXRlIGFuZCBjaG9zZSBhIGRpZmZlcmVudCB2YWx1ZSBvZiBwYXJhbSAmIzAzOTtibG9jayYjMDM5Oy48L2VtPic7CiRsYW5nWydlcnJvcl9leHBpcmVkYXRlJ10gPSAnRW5kIGRhdGUgbXVzdCBiZSBsYXRlciB0aGFuIHN0YXJ0IGRhdGUuJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ0N1cnJlbnQgZGlyZWN0b3J5JzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdJbWFnZXNpemUnOwokbGFuZ1snc2l6ZSddID0gJ0ZpbGVzaXplJzsKJGxhbmdbJ2luaGVyaXRfZnJvbV9wYXJlbnQnXSA9ICdJbmhlcml0IGZyb20gcGFyZW50JzsKJGxhbmdbJ25vbmUnXSA9ICdub25lJzsKJGxhbmdbJ2ludmFsaWQnXSA9ICdpbnZhbGlkJzsKJGxhbmdbJ2ludmFsaWRfYmxvY2t0eXBlJ10gPSAnPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBJbnZhbGlkIHZhbHVlICYjMDM5OyVzJiMwMzk7IG9mIHBhcmFtIGJsb2NrX3R5cGUgaW4gYmxvY2sgJiMwMzk7JXMmIzAzOTsuPGJyIC8+Q2hlY2sgeW91ciBwYWdlIHRlbXBsYXRlLjwvZW0+JzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudF9ibG9ja3BhcmFtcyddID0gJzxlbT48c3Ryb25nPkVycm9yOjwvc3Ryb25nPiBJbnN1ZmZpY2llbnQgcGFyYW1zLiA8YnIgLz5NaXNzaW5nIHBhcmFtICYjMDM5OyVzJiMwMzk7IGZvciBibG9jayAmIzAzOTslcyYjMDM5Oy4gQ2hlY2sgeW91ciBwYWdlIHRlbXBsYXRlLjwvZW0+JzsKJGxhbmdbJ3llcyddID0gJ1llcyc7CiRsYW5nWydubyddID0gJ05vJzsKJGxhbmdbJ2Zyb250ZW5kYWNjZXNzJ10gPSAnRnJvbnRlbmQgYWNjZXNzJzsKJGxhbmdbJ3JlZGlyZWN0cGFnZSddID0gJ1JlZGlyZWN0IFBhZ2UgaWYgbm8gYWNjZXNzJzsKJGxhbmdbJ3Nob3dsb2dpbmZvcm0nXSA9ICdTaG93IGxvZ2luIGZvcm0nOwokbGFuZ1sncmVnaXN0ZXJlZHVzZXJzJ10gPSAnUmVnaXN0ZXJlZCB1c2VycyBvbmx5JzsKJGxhbmdbJ2Jsb2NrJ10gPSAnQmxvY2snOwokbGFuZ1sndXNlZXhwaXJlZGF0ZSddID0gJ1VzZSBleHBpcmUgZGF0ZSc7CiRsYW5nWydzdGFydGRhdGUnXSA9ICdTdGFydCBEYXRlJzsKJGxhbmdbJ2VuZGRhdGUnXSA9ICdFbmQgRGF0ZSc7CiRsYW5nWydibG9ja2NvbnRlbnQnXSA9ICdCbG9jayBDb250ZW50JzsKJGxhbmdbJ3NldHBhZ2VpbmFjdGl2ZSddID0gJ1NldCBQYWdlIHRvIEluYWN0aXZlJzsKJGxhbmdbJ2RlbGV0ZXBhZ2UnXSA9ICdEZWxldGUgUGFnZSc7CiRsYW5nWyd1bmluc3RhbGxhY3Rpb24nXSA9ICdVbmluc3RhbGwgYWN0aW9uJzsKJGxhbmdbJ3NldGNvbnRlbnQxJ10gPSAnU2V0IGFsbCBQYWdlcyBvZiBBZHZhbmNlZENvbnRlbnQgYmFjayB0byB0eXBlIENvbnRlbnQnOwokbGFuZ1snc2V0Y29udGVudDInXSA9ICdTZXQgYWxsIFBhZ2VzIG9mIEFkdmFuY2VkQ29udGVudCBiYWNrIHRvIHR5cGUgQ29udGVudCBhbmQgcmVtb3ZlIGFkZGl0aW9uYWwgY29udGVudCBibG9ja3MnOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnUHJlZmVyZW5jZXMgdXBkYXRlZCc7CiRsYW5nWydzdWNjZXNzJ10gPSAnT2snOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvcic7CiRsYW5nWydkZWxldGVwYWdlcyddID0gJ0RlbGV0ZSBhbGwgcGFnZXMgb2YgdHlwZSBBZHZhbmNlZENvbnRlbnQnOwokbGFuZ1snaW1wb3J0cGFnZXMnXSA9ICdTZXQgYWxsIFBhZ2VzIG9mIHR5cGUgJXMgdG8gdHlwZSAlcy4nOwokbGFuZ1sncGFnZXNpbXBvcnRlZCddID0gJ0FsbCBjb250ZW50IHBhZ2VzIHNldCB0byBBZHZhbmNlZENvbnRlbnQuJzsKJGxhbmdbJ2NvbmZpcm1pbXBvcnQnXSA9ICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY2hhbmdlIHRoZSBjb250ZW50IHR5cGUgb2YgYWxsIGNvbnRlbnQgcGFnZXM/JzsKJGxhbmdbJ3RvZ2dsZV9tZXNzYWdlJ10gPSAnSGlkZSB0aGlzIG1lc3NhZ2UnOwokbGFuZ1snY29udGVudHNldHRpbmdzJ10gPSAnRGVmYXVsdCBBZHZhbmNlZENvbnRlbnQgc2V0dGluZ3MnOwokbGFuZ1sncmVkaXJlY3RwYXJhbXMnXSA9ICdVUkwgcGFyYW1zIHRvIGFwcGVuZCB3aGVuIHJlZGlyZWN0aW5nJzsKJGxhbmdbJ2V2YWx1YXRlc21hcnR5J10gPSAnVXNlIHNtYXJ0eSB0byBwcm9jZXNzIHRoZSBwYXJhbXMnOwokbGFuZ1snZXJyb3JfbG9hZGluZ19tb2R1bGUnXSA9ICc8ZW0+PHN0cm9uZz5FcnJvcjo8L3N0cm9uZz4gQ291bGQgbm90IGxvYWQgbW9kdWxlICYjMDM5OyVzJiMwMzk7LiAoRGVmaW5lZCBmb3IgYmxvY2sgJiMwMzk7JXMmIzAzOTsgaW4geW91ciBwYWdlIHRlbXBsYXRlLik8L2VtPic7CiRsYW5nWydlcnJvcl9jb250ZW50YmxvY2tfc3VwcG9ydCddID0gJzxlbT48c3Ryb25nPkVycm9yOjwvc3Ryb25nPiBNb2R1bGUgJiMwMzk7JXMmIzAzOTsgZG9lcyBub3Qgc3VwcG9ydCBjb250ZW50YmxvY2tzLiAoRGVmaW5lZCBmb3IgYmxvY2sgJiMwMzk7JXMmIzAzOTsgaW4geW91ciBwYWdlIHRlbXBsYXRlLik8L2VtPic7CiRsYW5nWydzdWNjZXNzX2ltcG9ydHBhZ2VzJ10gPSAnQWxsIHBhZ2VzIG9mIHR5cGUgJXMgc3VjY2VzZnVsbHkgY2hhbmdlZCB0byAlcyc7CiRsYW5nWydzaG93X2FkdmFuY2VkY29udGVudF9vcHRpb25zJ10gPSAnU2hvdyBBZHZhbmNlZENvbnRlbnQgb3B0aW9ucyB0YWInOwokbGFuZ1snZGlzcGxheV9zZXR0aW5ncyddID0gJyVzIGRpc3BsYXkgc2V0dGluZ3MnOwokbGFuZ1snc2F2ZV9jb2xsYXBzZV9zdGF0dXMnXSA9ICdTYXZlIGNvbGxwYXNlIHN0YXR1cyBvZiAlcyc7CiRsYW5nWydjb250ZW50X2Jsb2NrcyddID0gJ2NvbnRlbnQgYmxvY2tzJzsKJGxhbmdbJ2Jsb2NrX21lc3NhZ2UnXSA9ICdjb250ZW50IGJsb2NrIG1lc3NhZ2UnOwokbGFuZ1snYmxvY2tfZ3JvdXBzJ10gPSAnYmxvY2sgZ3JvdXBzJzsKJGxhbmdbJ2NvbGxhcHNlX2RlZmF1bHQnXSA9ICdDb2xsYXBzZSAlcyBieSBkZWZhdWx0JzsKJGxhbmdbJ3Blcl9wYWdlJ10gPSAncGVyIHBhZ2UnOwokbGFuZ1sncGVyX3RlbXBsYXRlJ10gPSAncGVyIHRlbXBsYXRlJzsKJGxhbmdbJ2JvdGgxJ10gPSAndGVtcGxhdGUgT1IgcGFnZSAnOwokbGFuZ1snYm90aDInXSA9ICd0ZW1wbGF0ZSBBTkQgcGFnZSc7CiRsYW5nWydjb250ZW50J10gPSAnQ29udGVudCc7CiRsYW5nWydjb250ZW50MiddID0gJ0FkdmFuY2VkIENvbnRlbnQnOwokbGFuZ1sncHJlZnMnXSA9ICdQcmVmZXJlbmNlcyc7CiRsYW5nWydtdWx0aV9pbnB1dCddID0gJ011bHRpIElucHV0cyc7CiRsYW5nWydtdWx0aV9pbnB1dF90cGwnXSA9ICdNdWx0aSBJbnB1dCBUZW1wbGF0ZXMnOwokbGFuZ1snYWRkX211bHRpX2lucHV0J10gPSAnQWRkIG5ldyBtdWx0aSBpbnB1dCc7CiRsYW5nWydhZGRfbXVsdGlfaW5wdXRfdHBsJ10gPSAnQWRkIG5ldyBtdWx0aSBpbnB1dCB0ZW1wbGF0ZSc7CiRsYW5nWydpbnB1dF9pZCddID0gJ0lucHV0IElEJzsKJGxhbmdbJ2lucHV0X2ZpZWxkcyddID0gJ0lucHV0IGZpZWxkcyc7CiRsYW5nWyd0cGxfbmFtZSddID0gJ1RlbXBsYXRlIG5hbWUnOwokbGFuZ1snZXJyb3JfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBpcyBhIHJlcXVpcmVkIGZpZWxkIGFuZCBtYXkgbm90IGJlIGVtcHR5JzsKJGxhbmdbJ2Vycm9yX2lucHV0X2ZpZWxkcyddID0gJ0lucHV0IGZpZWxkcyBpcyBhIHJlcXVpcmVkIGZpZWxkIGFuZCBtYXkgbm90IGJlIGVtcHR5Lic7CiRsYW5nWydlcnJvcl9pbnB1dF9pZCddID0gJ05vIGlucHV0IGlkIGdpdmVuIG9yIGlucHV0IGlkIGFscmVhZHkgZXhpc3RzLic7CiRsYW5nWydlcnJvcl9pbnB1dF9pZF9leGlzdHMnXSA9ICdJbnB1dCBJRCBpcyBhbHJlYWR5IGluIHVzZS4gQ2hvb3NlIGEgZGlmZmVyZW50IG9uZS4gKG11c3QgYmUgdW5pcXVlKSc7CiRsYW5nWydtdWx0aV9pbnB1dF9hZGRlZCddID0gJ011bHRpIElucHV0IGFkZGVkLic7CiRsYW5nWydtdWx0aV9pbnB1dF9kZWxldGVkJ10gPSAnTXVsdGkgSW5wdXQgZGVsZXRlZC4nOwokbGFuZ1snbXVsdGlfaW5wdXRfdXBkYXRlZCddID0gJ011bHRpIElucHV0IHVwZGF0ZWQuJzsKJGxhbmdbJ211bHRpX2lucHV0X3RwbF9hZGRlZCddID0gJ011bHRpIElucHV0IHRlbXBsYXRlIGFkZGVkLic7CiRsYW5nWydtdWx0aV9pbnB1dF90cGxfdXBkYXRlZCddID0gJ011bHRpIElucHV0IHRlbXBsYXRlIHVwZGF0ZWQuJzsKJGxhbmdbJ211bHRpX2lucHV0X3RwbF9kZWxldGVkJ10gPSAnTXVsdGkgSW5wdXQgdGVtcGxhdGUgZGVsZXRlZC4nOwokbGFuZ1snZGVsZXRlX3NlbGVjdGVkJ10gPSAnRGVsZXRlIHNlbGVjdGVkIGl0ZW1zJzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlJ10gPSAnRG8geW91IHJlYWxseSB3YW50IGRvIGRlbGV0ZSB0aGlzIGl0ZW0/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX3NlbGVjdGVkJ10gPSAnRG8geW91IHJlYWxseSB3YW50IGRvIGRlbGV0ZSB0aGUgc2VsZWN0ZWQgaXRlbXM/JzsKJGxhbmdbJ3VzZV9jb250ZW50dHlwZSddID0gJ1VzZSBjb250ZW50dHlwZSc7CiRsYW5nWydoZWxwX3RwbF92YXJzJ10gPSAnPHA+PHN0cm9uZz5UZW1wbGF0ZSB2YXJzOjwvc3Ryb25nPjwvcD4NCjxwPjxwcmU+PGNvZGU+eyRpbnB1dHN9PC9jb2RlPjwvcHJlPiBpcyBhbiBhcnJheSB0aGF0IGNvbnRhaW5zIGFsbCBkZWZpbmVkIGlucHV0IGVsZW1lbnRzIG9mIHRoYXQgbXVsdGkgaW5wdXQgYmxvY2suPGJyIC8+DQpFYWNoIGlucHV0IGVsZW1lbnQgaXMgYW4gYXJyYXkgdGhhdCBjb250YWlucyBhbGwgaXRzIHBhcmFtcy4gPGJyIC8+DQpTZWUgbW9kdWxlIGhlbHAgZm9yIG1vcmUgaW5mby48YnIgLz4NCkFkZGl0aW9uYWwgcGFyYW0gaXMgJnF1b3Q7aW5wdXQmcXVvdDsgdGhhdCB3aWxsIHByaW50IG91dCB0aGUgaW5wdXQgZWxlbWVudC48YnIgLz4NClRvIGFjY2VzcyB0aGUgcGFyYW1zIHVzZSB0aGUgZG90IHN5bnRheC48YnIgLz4NCkV4YW1wbGU6PC9wPg0KPHByZT48Y29kZT57Zm9yZWFjaCBmcm9tPSRpbnB1dHMgaXRlbT1lbG19DQoJeyRlbG0ubGFiZWx9OiZuYnNwO3skZWxtLmlucHV0fTxiciAvPg0Key9mb3JlYWNofTwvY29kZT48L3ByZT4nOwokbGFuZ1snaGVscCddID0gJzxiciAvPg0KPGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+DQo8cD5UaGlzIGlzIGEgbW9kaWZpY2F0aW9uIG9mIHRoZSBkZWZhdWx0IGNvbnRlbnQgdHlwZSAmcXVvdDtDb250ZW50JnF1b3Q7IG9mIENNU21zLjxiciAvPg0KSXQgcHJvdmlkZXMgbW9yZSBmbGV4aWJpbGl0eSBieSBjcmVhdGluZyBjdXN0b20gaW5wdXQgY29udHJvbHMgaW4gYmFja2VuZC48YnIgLz4NClVzZXJzIGNhbiBhZGQgZHJvcGRvd25zLCBtdWx0aXBsZSBzZWxlY3QgbGlzdHMsIGNoZWNrYm94ZXMsIGdyb3VwIGNvbnRlbnQgYmxvY2tzIA0KaW4gc2VwYXJhdGUgcGFnZSB0YWJzLCBibG9jayB0YWJzIGluc2lkZSBhIHBhZ2UgdGFiIG9yIGluIGZpZWxkc2V0cyBieSBqdXN0IA0KdXNpbmcgYWRkaXRpb25hbCBwYXJhbXMgaW4gdGhlIHRlbXBsYXRlIHdoZW4gY2FsbGluZyB0aGUgY29udGVudC48YnIgLz4NCkl0IGFsc28gYWRkcyBhYmlsaXR5IHRvIGdyYW50IGFjY2VzcyBvZiBwYWdlcyB0byBjZXJ0YWluIHVzZXJzIG9mIHRoZSANCkZyb250RW5kVXNlcnMgbW9kdWxlIGFuZCBoaWRlIHRoZSBjb250ZW50LCByZXBsYWNlIGl0IGJ5IHRoZSBsb2dpbiBmb3JtIG9mIHRoZSANCkZyb250RW5kVXNlcnMgbW9kdWxlIG9yIHJlZGlyZWN0IHRvIGEgc3BlY2lmaWVkIHBhZ2Ugc2hvd2luZyB0aGUgbG9naW4gZm9ybSBvciANCmp1c3QgcmVkaXJlY3Qgd2l0aG91dCBkb2luZyBhbnl0aGluZyBlbHNlLjxiciAvPg0KUGFnZSBwcm9wZXJ0eSBvZiBGcm9udEVuZFVzZXJzIGFjY2VzcyBhbmQgcmVkaXJlY3QgcGFnZSBjYW4gYmUgaW5oZXJpdGVkIGJ5IA0KcGFyZW50IHBhZ2VzLjwvcD4NCjxwPjxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gVG8gZ2V0IHRoZSBmdWxsIGZ1bmN0aW9uYWxpdHkgb2YgdGhpcyBjb250ZW50IHR5cGUgDQppbiBmcm9udGVuZCB5b3UgbmVlZCB0byBjYWxsIHlvdXIgY29udGVudCB3aXRoIHRoZSBtb2R1bGUgcGx1Z2luIHtBZHZhbmNlZENvbnRlbnR9IA0KKGNhc2Ugc2Vuc2l0aXZlISkuPGJyIC8+DQpPdGhlcndpc2UgaXQgbWF5IGJlaGF2ZSBsaWtlIHRoZSBkZWZhdWx0IGNvbnRlbnQgdHlwZSBwbHVnaW4uPC9lbT48L3A+DQo8cD5Zb3UgY2FuIGV2ZW4gdXNlIHNtYXJ0eSBsb2dpYyBpbiBwYXJhbWV0ZXIgdmFsdWVzLiBUaGF0IG1lYW5zIHlvdSBjYW4gdXNlIHRoZSANCnJlc3VsdCBvZiBhIHBsdWdpbiwgYW4gdWR0IG9yIGV2ZW4gYSBtb2R1bGUgb3IganVzdCB0aGUgY29udGVudCBvZiBhIGdsb2JhbCANCmNvbnRlbnQgYmxvY2sgYXMgcGFyYW1ldGVyIHZhbHVlIHRvIGNyZWF0ZSBkeW5hbWljIHZhbHVlcy48L3A+DQo8aDM+SG93IGlzIGl0IHVzZWQ/PC9oMz4NCjxwPkFmdGVyIGluc3RhbGxhdGlvbiB0aGUgbW9kdWxlIHNldHRpbmdzIGNhbiBiZSBmb3VuZCBpbiAmcXVvdDtFeHRlbnNpb25zLT5BZHZhbmNlZENvbnRlbnQmcXVvdDsuPC9wPg0KPHA+QWRkaXRpb25hbGx5IHlvdSB3aWxsIGhhdmUgYSBuZXcgY29udGVudCB0eXBlICZxdW90O0FkdmFuY2VkQ29udGVudCZxdW90OyBhdmFpbGFibGUgDQp3aGVuIGFkZGluZy9lZGl0aW5nIGEgcGFnZS48YnIgLz4NCjxwPkFkZCB0aGUgZm9sbG93aW5nIHBhcmFtcyB0byB5b3VyIGNvbnRlbnQgdGFnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZSwgDQpjaGFuZ2UgdGhlIGNvbnRlbnQgdHlwZSBvZiB5b3VyIHBhZ2UgdG8gJnF1b3Q7QWR2YW5jZWRDb250ZW50JnF1b3Q7IGFuZCBzZWUgd2hhdCBoYXBwZW5zIA0KaW4gYmFja2VuZC4uLjwvcD4NCjxoMz5XaGF0IHBhcmFtZXRlcnMgYXJlIGF2YWlsYWJsZT88L2gzPg0KPHA+YWxsIHBhcmFtcyBhcmUgb3B0aW9uYWw8L3A+DQo8cD48c3Ryb25nPkRlZmF1bHQgcGFyYW1zOjwvc3Ryb25nPjwvcD4NCjx1bD4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmJsb2NrPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCUFsbG93cyB5b3UgdG8gaGF2ZSBtb3JlIHRoYW4gb25lIGNvbnRlbnQgYmxvY2sgcGVyIHBhZ2UuIElmIG11bHRpcGxlIGNvbnRlbnQgdGFncyBhcmUgcHV0IG9uIGEgdGVtcGxhdGUsIHRoYXQgbnVtYmVyIG9mIGVkaXQgYm94ZXMgd2lsbCBiZSBkaXNwbGF5ZWQgaWYgdGhlIHBhZ2UgaXMgZWRpdGVkLjxiciAvPg0KCQkJCWUuZy46IDxjb2RlPntjb250ZW50IGJsb2NrPSZxdW90O1NlY29uZCBDb250ZW50IGJsb2NrJnF1b3Q7fTwvY29kZT48YnIgLz4NCgkJCQlOb3csIGlmIHlvdSBlZGl0IGEgcGFnZSB0aGVyZSB3aWxsIGJhIGEgdGV4dGFyZWEgY2FsbGVkICZxdW90O1NlY29uZCBDb250ZW50IGJsb2NrJnF1b3Q7LjxiciAvPg0KCQkJCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gVGhlIG5hbWUgb2YgdGhlIGNvbnRlbnQgYmxvY2sgbWF5IGNvbnRhaW4gb25seSBsZXR0ZXJzLCBudW1iZXJzLCBhbmQgdW5kZXJzY29yZXMgKG5vIHdoaXRlc3BhY2VzLCBzcGVjaWFsIGNoYXJzLCB1bWxhdXRzIGV0Yy4pLiBPdGhlcndpc2UgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYSBwcm9wZXIgbmFtZSAoc2ltaWxhciB0byB0aGUgcGFnZSBhbGlhcykuPC9lbT4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD53eXNpd3lnPC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT5JZiBzZXQgdG8gZmFsc2UsIHRoZW4gYSB3eXNpd3lnIHdpbGwgbmV2ZXIgYmUgdXNlZCB3aGlsZSBlZGl0aW5nIHRoaXMgYmxvY2suIElmIHRydWUsIHRoZW4gaXQgYWN0cyBhcyBub3JtYWwuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0Pm9uZWxpbmU8L3R0PiAodHJ1ZS9mYWxzZSkNCgkJPHVsPg0KCQkJPGxpPklmIHNldCB0byB0cnVlLCB0aGVuIG9ubHkgb25lIGVkaXQgbGluZSB3aWxsIGJlIHNob3duIHdoaWxlIGVkaXRpbmcgdGhpcyBibG9jay4gSWYgZmFsc2UsIHRoZW4gaXQgYWN0cyBhcyBub3JtYWwuIE9ubHkgd29ya3Mgd2hlbiBibG9jayBwYXJhbWV0ZXIgaXMgdXNlZC48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZGVmYXVsdDwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT5EZWZhdWx0IGNvbnRlbnQgd2hlbiBjcmVhdGluZyBhIG5ldyBwYWdlLjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5sYWJlbDwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT5Qcm9tcHQgZm9yIHRoaXMgY29udGVudCBibG9jay4gUG9zc2libGUgdmFsdWVzIGFyZSBhbnkgZXhwcmVzc2lvbi4gSWYgYmxhbmssIHRoZSB1bmNvbnZlcnRlZCBibG9jayBuYW1lIGlzIHVzZWQuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmFzc2lnbjwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlBc3NpZ25zIHRoZSBjb250ZW50IHRvIGEgc21hcnR5IHBhcmFtZXRlciwgd2hpY2ggeW91IGNhbiB0aGVuIHVzZSBpbiBvdGhlciBhcmVhcyBvZiB0aGUgcGFnZSwgb3IgdXNlIHRvIHRlc3Qgd2hldGhlciBjb250ZW50IGV4aXN0cyBpbiBpdCBvciBub3QuPGJyIC8+DQoJCQkJRXhhbXBsZSBvZiBwYXNzaW5nIHBhZ2UgY29udGVudCB0byBhIFVzZXIgRGVmaW5lZCBUYWcgYXMgYSBwYXJhbWV0ZXI6PGJyIC8+DQoJCQkJPGNvZGU+e2NvbnRlbnQgYXNzaWduPXBhZ2Vjb250ZW50fTxiciAvPg0KCQkJCXt0YWJsZV9vZl9jb250ZW50cyB0aGVwYWdlY29udGVudD0mcXVvdDskcGFnZWNvbnRlbnQmcXVvdDt9PC9jb2RlPjxiciAvPg0KCQkJCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gRm9yIHNvbWUgcmVhc29uIHRoaXMgcGFyYW0gZG9lcyBub3Qgd29yayBhdCB0aGUgbW9tZW50IHdpdGggdGhlIG1vZHVsZSBwbHVnaW4ge0F2YW5jZWRDb250ZW50fS4gVXNlIDxiciAvPjxjb2RlPntjYXB0dXJlIGFzc2lnbj0mcXVvdDtmb28mcXVvdDt9e0FkdmFuY2VkQ29udGVudH17L2NhcHR1cmV9PC9jb2RlPiA8YnIgLz5pbnN0ZWFkLjwvZW0+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KPC91bD4NCjxwPjxzdHJvbmc+QWR2YW5jZWQgcGFyYW1zOjwvc3Ryb25nPjwvcD4NCjx1bD4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmJsb2NrX3R5cGU8L3R0PiAodGV4dCxjaGVja2JveCxkcm9wZG93bixzZWxlY3RfbXVsdGlwbGUsZGF0ZSxtdWx0aV9pbnB1dCkgDQoJCTx1bD4NCgkJCTxsaT5BbGxvd3MgeW91IHRvIHNwZWNpZnkgd2hhdCBjb250ZW50IGNvbnRyb2wgdHlwZSBpcyB1c2VkIGluIHRoZSBiYWNrIGVuZC48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+cGFnZV90YWI8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJVGhpcyBwYXJhbWV0ZXIgc2V0cyB0aGUgdGFiIGluIHdoaWNoIHRoZSBjb250ZW50IGJsb2NrIGlzIGRpc3BsYXllZCBpbiB0aGUgYmFja2VuZC48YnIgLz4NCgkJCQlQb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O21haW4mcXVvdDsgKCA9IFRhYiAmcXVvdDtNYWluIE1lbnUmcXVvdDspLCAmcXVvdDtvcHRpb25zJnF1b3Q7ICggPSBUYWIgJnF1b3Q7T3B0aW9ucyZxdW90OyksIG9yIGFueSBvdGhlciBhcmJpdHJhcnkgdmFsdWU8YnIgLz4NCgkJCQk8ZW0+ZS5nLiB5b3UgY2FuIGFkZCBhIGNoZWNrYm94IHRvIHRoZSBvcHRpb25zIHRhYiBvciBjcmVhdGUgbmV3IHRhYnM8L2VtPi4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5ibG9ja190YWI8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+V2l0aCB0aGlzIHBhcmFtZXRlciwgdGhlIGJsb2NrcyB3aXRoaW4gYSBwYWdlIHRhYiBjYW4gYmUgZnVydGhlciBkaXZpZGVkIGludG8gdGFicyBvciBjYW4gYmUgZ3JvdXBlZCB0b2dldGhlci4gQW55IGV4cHJlc3Npb24gY2FuIGJlIHVzZWQgYXMgYSBwb3NzaWJsZSB2YWx1ZS48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YmxvY2tfZ3JvdXA8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+V2l0aCB0aGlzIHBhcmFtZXRlciwgbXVsdGlwbGUgYmxvY2tzIGNhbiBiZSBncm91cGVkIGluIGEgZmllbGRzZXQuIEFueSBleHByZXNzaW9uIGNhbiBiZSB1c2VkIGFzIGEgcG9zc2libGUgdmFsdWUuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmFjdGl2ZTwvdHQ+ICh0cnVlL2ZhbHNlKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJQWxsb3dzIHlvdSB0byBkaXNhYmxlIGEgY29udGVudCBibG9jay4gRGlzYWJsZWQgY29udGVudCBibG9ja3Mgd29uJiMwMzk7dCBiZSBzaG93biBpbiBiYWNrZW5kIGFzIHdlbGwgYXMgaW4gZnJvbnRlbmQuIChvbmx5IHdvcmtzIHdpdGgge0FkdmFuY2VkQ29udGVudH0gcGx1Z2luKTxiciAvPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmVkaXRvcl9ncm91cHM8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBncm91cCBuYW1lcyB0aGF0IGFyZSBhbGxvd2VkIHRvIGVkaXQgdGhpcyBibG9jay4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lZGl0b3JfdXNlcnM8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiB1c2VyIG5hbWVzIHRoYXQgYXJlIGFsbG93ZWQgdG8gZWRpdCB0aGlzIGJsb2NrLg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IGlmIHRoZSBwYXJhbXMgPHR0PmVkaXRvcl91c2VyczwvdHQ+IGFuZCA8dHQ+ZWRpdG9yX2dyb3VwczwvdHQ+IGFyZSBlbXB0eSB0aGUgYmxvY2sgbWF5IGJlIGVkaXRlZCBieSBhbnkgdXNlciB3aXRoIHN1ZmZpY2llbnQgcGVybWlzc2lvbiB0byBlZGl0IGEgcGFnZTwvZW0+PGJyIC8+PGJyIC8+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5mZXVfYWNjZXNzPC90dD4NCgkJPHVsPg0KCQkJPGxpPg0KCQkJCUEgbGlzdCBvZiBmZXUgZ3JvdXAgaWRzIHNlcGFyYXRlZCBieSBhIGNvbW1hLjxiciAvPg0KCQkJCVRoaXMgc2hvd3MgdGhlIGNvbnRlbnQgYmxvY2sgb25seSB0byBjZXJ0YWluIGZldSBncm91cHMuPGJyIC8+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZmV1X2FjdGlvbjwvdHQ+ICh0cnVlL2ZhbHNlKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJU3BlY2lmeSBpZiB0aGUgbG9naW4gZm9ybSBvZiB0aGUgZmV1IG1vZHVsZSB3aWxsIGJlIHNob3duIG9yIG5vdC48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IFRoZSBsb2dpbiBmb3JtIHdpbGwgb25seSBiZSBzaG93biBvbmUgdGltZS48YnIgLz4NCgkJCQlJZiB0aGVyZSBhcmUgbXVsdGlwbGUgYmxvY2tzIHdpdGggbGltaXRlZCBmZXVfYWNjZXNzIGFuZCBmZXVfYWN0aW9uIHNldCB0byB0cnVlIG9ubHkgdGhlIGZpcnN0IGJsb2NrcyBsb2dpbiBmb3JtIHdpbGwgYmUgc2hvd24gYW5kIGFsbCBvdGhlciBibG9ja3Mgd2lsbCBqdXN0IGJlIGVtcHR5LjwvZW0+PGJyIC8+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YWxsb3dfbm9uZTwvdHQ+ICh0cnVlL2ZhbHNlKQ0KCQk8dWw+DQoJCQk8bGk+U2V0IHRvIHRydWUgaWYgdGhlIHVzZXIgbWF5IGVudGVyIGVtcHR5IHZhbHVlcy4gPGJyIC8+SWYgc2V0IHRvIGZhbHNlIGFuZCB2YWx1ZSBpcyBlbXB0eSB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgcGFyYW0gJnF1b3Q7ZGVmYXVsdCZxdW90OyB3aWxsIGJlIHVzZWQuIDxiciAvPklmIHNldCB0byB0cnVlIGFuZCBibG9jayBpcyBvZiB0eXBlIGltYWdlL2ZpbGUgdGhlIG9wdGlvbiAmcXVvdDtub25lJnF1b3Q7IChtb2RlPSZxdW90O2Ryb3Bkb3duJnF1b3Q7KSBvciBhIGJ1dHRvbiB0byBjbGVhciB0aGUgc2VsZWN0ZWQgZmlsZS9pbWFnZSB2YWx1ZSAobW9kZT0mcXVvdDtmaWxlcGlja2VyJnF1b3Q7KSB3aWxsIGJlIGRpc3BsYXllZC48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c21hcnR5PC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlUdXJuIHNtYXJ0eSBwcm9jZXNzaW5nIG9mIHZhbHVlcyBvbi9vZmYuPGJyIC8+DQoJCQkJSWYgc2V0IHRvIHRydWUgYW55IGdpdmVuIHZhbHVlIHdpbGwgYmUgcHJvY2Vzc2VkIGJ5IHRoZSBzbWFydHkgZW5naW5lLjxiciAvPg0KCQkJCTxlbT48c3Ryb25nPk5vdGljZTogPC9zdHJvbmc+IENvbnNpZGVyIHRoYXQgeW91IGNhbm5vdCB1c2UgdGhlIGRlZmF1bHQgc21hcnR5IGRlbGltaXRlcnMgdGhhdCBhcmUgdXNlZCBpbiB0aGUgdGVtcGxhdGUuIFRoaXMgd2lsbCBjYXVzZSBzbWFydHkgZXJyb3JzIGluIGZyb250ZW5kLjxiciAvPg0KCQkJCVNvIHlvdSBuZWVkIHRvIHVzZSA6OjogYXMgZGVsaW1pdGVyIGluc3RlYWQuPGJyIC8+PC9lbT4NCgkJCQlFLmcuOiA8Y29kZT57Y29udGVudCBibG9jaz0mcXVvdDtDYXRlZ29yaWVzJnF1b3Q7IGxhYmVsPSZxdW90O1NlbGVjdCBhIGNhdGVnb3J5JnF1b3Q7IGJsb2NrX3R5cGU9JnF1b3Q7ZHJvcGRvd24mcXVvdDsgaXRlbXM9JnF1b3Q7Ojo6Z2xvYmFsX2NvbnRlbnQgbmFtZT0mIzAzOTtjYXRlZ29yeWxpc3QmIzAzOTs6OjomcXVvdDsgc21hcnR5PSZxdW90O3RydWUmcXVvdDt9PC9jb2RlPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmRlc2NyaXB0aW9uPC90dD4gKHN0cmluZykgDQoJCTx1bD4NCgkJCTxsaT5BbGxvd3MgeW91IHRvIGFkZCBhIGRldGFpbGVkIGRlc2NyaXB0aW9uIHRvIHRoYXQgYmxvY2sgZm9yIHlvdXIgZWRpdG9ycy48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+Y29sbGFwc2U8L3R0PiAodHJ1ZS9mYWxzZSkNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCVNldCB0byB0cnVlL2ZhbHNlIHRvIGRpc3BsYXkgYmxvY2sgaW4gYmFja2VuZCBpbiBjb2xsYXBzZWQvZXhwYW5kZWQgbW9kZSBieSBkZWZhdWx0LjxiciAvPg0KCQkJCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gd2lsbCBiZSBhbHdheXMgZmFsc2UgaWYgbm9fY29sbGFwc2U9dHJ1ZSBpcyB1c2VkLjwvZW0+PGJyIC8+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+bm9fY29sbGFwc2U8L3R0PiAodHJ1ZS9mYWxzZSkNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCVNldCB0byBmYWxzZSB0byBkaXNhYmxlIGZvbGRpbmcgb2YgYmxvY2tzLjxiciAvPg0KCQkJCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gaWYgc2V0IHRvIHRydWUgcGFyYW0gY29sbGFwc2UgaXMgYWx3YXlzIGZhbHNlLjwvZW0+PGJyIC8+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+cmVxdWlyZWQ8L3R0PiAodHJ1ZS9mYWxzZSkNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCVNldCB0byB0cnVlIGlmIHRoaXMgYmxvY2sgbWF5IG5vdCBiZSBlbXB0eS48YnIgLz4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQo8L3VsPg0KPHA+PHN0cm9uZz5QYXJhbXMgb2YgYmxvY2t0eXBlICZxdW90O2NoZWNrYm94JnF1b3Q7Ojwvc3Ryb25nPjwvcD4NCjx1bD4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmRlZmF1bHQ8L3R0PiAodHJ1ZS9mYWxzZSkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQljaGVja3MvdW5jaGVja3MgdGhlIGNoZWNrYm94IGJ5IGRlZmF1bHQgd2hlbiBhZGRpbmcgYSBwYWdlPGJyIC8+DQoJCQkJPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBVc2UgJnF1b3Q7MSZxdW90OyBmb3IgY2hlY2tlZCBhbmQgJnF1b3Q7MCZxdW90OyBmb3IgdW5jaGVja2VkIGJ5IGRlZmF1bHQ8YnIgLz48L2VtPg0KCQkJCUUuZy4gPGNvZGU+e2NvbnRlbnQgYmxvY2tfdHlwZT0mcXVvdDtjaGVja2JveCZxdW90OyBkZWZhdWx0PTF9PC9jb2RlPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCjwvdWw+DQo8cD48c3Ryb25nPlBhcmFtcyBvZiBibG9ja3R5cGUgJnF1b3Q7ZHJvcGRvd24mcXVvdDsvJnF1b3Q7c2VsZWN0X211bHRpcGxlJnF1b3Q7Ojwvc3Ryb25nPjwvcD4NCjx1bD4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0Pml0ZW1zPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPkl0ZW0gbGFiZWwocykgb2YgdGhlIGZpZWxkKHMpIChzZXBhcmF0ZWQgYnkgYSBkZWxpbWl0ZXIgLSBkZWZhdWx0IGlzIHwgKHBpcGUpKTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD52YWx1ZXM8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+VmFsdWUocykgb2YgdGhlIGl0ZW1zIChzZXBhcmF0ZWQgYnkgYSBkZWxpbWl0ZXIgLSBkZWZhdWx0IGlzIHwgKHBpcGUpKTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBpZiB0aGVyZSBhcmUgbGVzcyB2YWx1ZXMgdGhhbiBpdGVtcyB0aGUgaXRlbSBsYWJlbHMgd2lsbCBiZSB1c2VkIGFzIHZhbHVlcyAoYW5kIHZpc2UgdmVyc2EpLjwvZW0+PGJyIC8+PGJyIC8+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZWZhdWx0PC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCVByZXNlbGVjdGVkIHZhbHVlKHMpIChzZXBhcmF0ZWQgYnkgYSBkZWxpbWl0ZXIgLSBkZWZhdWx0IGlzIHwgKHBpcGUpKTxiciAvPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmRlbGltaXRlcjwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT5BIHNpZ24gb3Igc3RyaW5nIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGRldmlkZSB0aGUgaXRlbXMvdmFsdWVzIChkZWZhdWx0IGlzIHwgKHBpcGUpKTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnNpemU8L3R0PiAoaW50ZWdlcikNCgkJPHVsPg0KCQkJPGxpPkhlaWdodCBvZiBjb250ZW50IGJsb2NrIGluIGJhY2sgZW5kIGlmIDxjb2RlPmJsb2NrX3R5cGU9JnF1b3Q7c2VsZWN0X211bHRpcGxlJnF1b3Q7PC9jb2RlPiBpcyBzZXQuIDxlbT4oRGVmYXVsdCBpcyBudW1iZXIgb2YgaXRlbXMpPC9lbT48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zb3J0YWJsZV9pdGVtczwvdHQ+ICh0cnVlL2ZhbHNlKSAtIHNlbGVjdF9tdWx0aXBsZSBvbmx5DQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlJZiBzZXQgdG8gdHJ1ZSB0aGUgaXRlbXMgd29uJiMwMzk7dCBiZSBzaG93biBhcyBhIG11bHRpcGxlIHNlbGVjdCBpbnB1dCB3aXRoIG9wdGlvbnMgYnV0IGFzIGEgbGlzdCBvZiBjaGVja2JveGVzIHRoYXQgY2FuIGJlIHJlb3JkZXJlZC48YnIgLz5FYWNoIHJvdyBjb250YWlucyB0aGUgaXRlbSBsYWJlbCBhbmQgYSBjaGVja2JveCB3aXRoIHRoZSBpdGVtIHZhbHVlLjxiciAvPg0KCQkJCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gb25seSB0aGUgb3JkZXIgb2YgdGhlIDxzdHJvbmc+c2VsZWN0ZWQ8L3N0cm9uZz4gaXRlbXMgd2lsbCBiZSBzdG9yZWQgYW5kIGFsd2F5cyBkaXNwbGF5ZWQgb24gdGhlIHRvcCBvZiB0aGUgbGlzdCB3aGVuIHJlbG9hZGluZyB0aGUgZWRpdCBwYWdlLjxiciAvPg0KCQkJCVVuc2VsZWN0ZWQgaXRlbXMgd2lsbCBhcHBlbmRlZCBpbiB0aGF0IG9yZGVyIHRoZXkgYXJlIGRlZmluZWQgaW4gdGhlIHRlbXBsYXRlPC9lbT4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQo8L3VsPg0KPHA+PHN0cm9uZz5QYXJhbXMgb2YgYmxvY2t0eXBlICZxdW90O2RhdGUmcXVvdDs6PC9zdHJvbmc+PC9wPg0KPHVsPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c3RlcF9ob3VyczwvdHQ+IChpbnQpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJc3RlcHMgb2YgaG91cnMgaW4gdGhlIGNsb2NrIGRyb3Bkb3duLiAoZGVmYXVsdCBpcyAxKQ0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnN0YXJ0X2hvdXI8L3R0PiAoaW50KSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXRoZSBzdGFydCBob3VyIG9mIHRoZSBjbG9jayBkcm9wZG93bi4gKGRlZmF1bHQgaXMgMCkNCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lbmRfaG91cjwvdHQ+IChpbnQpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJdGhlIGVuZCBob3VyIG9mIHRoZSBjbG9jayBkcm9wZG93biAoZGVmYXVsdCBpcyAxMiBvciAyMykNCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zaG93MjRoPC90dD4gKHRydWUvZmFsc2UpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJc2V0IHRvIGZhbHNlIGlmIEFNL1BNIGlzIHVzZWQuIChkZWZhdWx0IGlzIHRydWUpDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c3RlcF9taW51dGVzPC90dD4gKGludCkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlzdGVwcyBvZiBtaW51dGVzIGluIHRoZSBjbG9jayBkcm9wZG93bi4gKGRlZmF1bHQgaXMgMTApDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c3RhcnRfbWludXRlPC90dD4gKGludCkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQl0aGUgc3RhcnQgbWludXRlIG9mIHRoZSBjbG9jayBkcm9wZG93bi4gKGRlZmF1bHQgaXMgMCkNCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmVuZF9taW51dGU8L3R0PiAoaW50KSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXRoZSBlbmQgbWludXRlIG9mIHRoZSBjbG9jayBkcm9wZG93biAoZGVmYXVsdCBpcyA1OSkNCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zaG93X2Nsb2NrPC90dD4gKHRydWUvZmFsc2UpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJc2V0IHRvIGZhbHNlIGlmIG5vIHRpbWUgZHJvcGRvd24gc2hvdWxkIGJlIGRpc3BsYXllZCAoZGVmYXVsdCBpcyB0cnVlKTxiciAvPg0KCQkJCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gSWYgc2V0IHRvIGZhbHNlIDAwOjAwIG8mIzAzOTtjbG9jayB3aWxsIGJlIHVzZWQ8L2VtPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmRhdGVfZm9ybWF0PC90dD4gKHN0cmluZykgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlUaGUgc3RyZnRpbWUgZGF0ZSBmb3JtYXQgdG8gc2hvdyBpbiBmcm9udGVuZC4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQo8L3VsPg0KPHA+PHN0cm9uZz5QYXJhbXMgb2YgYmxvY2t0eXBlICZxdW90O211bHRpX2lucHV0JnF1b3Q7Ojwvc3Ryb25nPjwvcD4NCjx1bD4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmlucHV0czwvdHQ+IChjc3Ygb2YgaW5wdXQgaWRzIHlvdSBjcmVhdGVkIGluIHRoZSBiYWNrZW5kKSANCgkJPGJyIC8+PGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnZhbHVlX2RlbGltaXRlcjwvdHQ+IChhbnkgc3RyaW5nKSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCVRoaXMgZGVmaW5lcyBhIHN0cmluZyB0aGF0IGRldmlkZXMgdGhlIHZhbHVlcyBvZiB0aGUgaW5wdXRzIG9mIG9uZSBtdWx0aV9pbnB1dCB3aGVuIHN0b3JlZCBpbiB0aGUgZGF0YWJhc2UuPGJyIC8+DQoJCQkJRGVmYXVsdCBpcyAmcXVvdDs8IS0tIG11bHRpX2lucHV0X3ZhbHVlX2RlbGxpbWl0ZXIgLS0+JnF1b3Q7DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+aW5wdXRfZGVsaW1pdGVyPC90dD4gKGFueSBzdHJpbmcpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJVGhpcyBkZWZpbmVzIGEgc3RyaW5nIHRoYXQgZGV2aWRlcyB0aGUgbXVsdGlfaW5wdXRzIHlvdSBkZWZpbmVkIGZvciB0aGlzIGNvbnRlbnQgYmxvY2sgd2hlbiBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLjxiciAvPg0KCQkJCURlZmF1bHQgaXMgJnF1b3Q7PCEtLSBtdWx0aV9pbnB1dF9kZWxsaW1pdGVyIC0tPiZxdW90Ow0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxwPjxzdHJvbmc+V2hhdCBpcyBhIG11bHRpX2lucHV0IGZvcj88L3N0cm9uZz48L3A+DQoJCTxwPkEgbXVsdGlfaW5wdXQgYmxvY2sgaXMgYSBjb250ZW50IGJsb2NrIHRoYXQgY29uc2lzdHMgb2YgZGlmZmVyZW50IGlucHV0IGZpZWxkcy4gPGJyIC8+DQoJCVlvdSBjYW4gZGVmaW5lIHRoZW0gaW4gdGhlIG1vZHVsZSBhZG1pbmlzdHJhdGlvbiB1c2luZyB0aGUgc2FtZSBzeW50YXggeW91IHVzZSBpbiBhIHRlbXBsYXRlIHdoZW4gZGVmaW5pbmcgYSBjb250ZW50IGJsb2NrLjxiciAvPg0KCQlNdWx0aSBpbnB1dHMgY2FuIGJlIHVzZWQgaWYgeW91IHdhbnQgdG8gc3RvcmUgZGlmZmVyZW50IHZhbHVlcyBpbiBvbmUgY29udGVudCBibG9jayBhbmQgcHJvdmlkZSBkaWZmZXJlbnQgaW5wdXQgdHlwZXMgZm9yIGVhY2ggdmFsdWVzLjxiciAvPg0KCQlUaGlzIGNhbiBiZSB1c2VmdWxsIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGRyb3Bkb3duIHRvIHNlbGVjdCBhIG1vZHVsZSB0byBiZSBzaG93biBpbiBmcm9udGVuZCBhbmQgdGV4dCBpbnB1dCB0byBkZWZpbmUgdGhlIG1vZHVsZSBwYXJhbWV0ZXJzLjxiciAvPg0KCQlFeGFtcGxlIGZvciBhIG11bHRpX2lucHV0IGluIHBhZ2UgdGVtcGxhdGU6PC9wPg0KCQk8cHJlPg0KCQk8Y29kZT4NCgkJe2NvbnRlbnQgYmxvY2s9JnF1b3Q7bW9kdWxlJnF1b3Q7IGxhYmVsPSZxdW90O1BhZ2UgbW9kdWxlcyZxdW90OyBibG9ja190eXBlPSZxdW90O211bHRpX2lucHV0JnF1b3Q7IGlucHV0cz0mcXVvdDttb2R1bGUsbW9kdWxlLG1vZHVsZSxtb2R1bGUmcXVvdDt9DQoJCTwvY29kZT4NCgkJPC9wcmU+DQoJCTxwPkV4YW1wbGUgZm9yIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBtdWx0aV9pbnB1dCBuYW1lZCAmcXVvdDttb2R1bGUmcXVvdDs6PC9wPg0KCQk8cHJlPg0KCQk8Y29kZT4NCgkJe2NvbnRlbnQgYmxvY2s9JnF1b3Q7bW9kdWxlIHNlbGVjdGlvbiZxdW90OyBibG9ja190eXBlPSZxdW90O2Ryb3Bkb3duJnF1b3Q7IGl0ZW1zPSZxdW90O3xOZXdzfEdhbGxlcnl8TWVudSZxdW90O30NCgkJe2NvbnRlbnQgYmxvY2s9JnF1b3Q7bW9kdWxlIHBhcmFtcyZxdW90OyBibG9ja190eXBlPSZxdW90O3RleHQmcXVvdDsgb25lbGluZT10cnVlfQ0KCQk8L2NvZGU+DQoJCTwvcHJlPg0KCQk8cD5XaGF0IGhhcHBlbnMgaWYgeW91IGVkaXQgYSBwYWdlPzwvcD4NCgkJPHA+SXQgd2lsbCBzaG93IHlvdSBhIGZpZWxkc2V0IHdpdGggbGVnZW5kICZxdW90O1BhZ2UgbW9kdWxlcyZxdW90Oy4gPGJyIC8+DQoJCUluc2lkZSB0aGlzIGZpZWxkc2V0IGl0IHNob3dzIHRoZSBtdWx0aV9pbnB1dCBuYW1lZCAmcXVvdDttb2R1bGUmcXVvdDsgZm91ciB0aW1lcy48YnIgLz4NCgkJVGhhdCBtZWFucyB5b3Ugc2VlIGZvdXIgbGluZXMgd2l0aCB0d28gaW5wdXQgZmllbGRzLiBBIGRyb3Bkb3duIGFuZCBhIHRleHQgaW5wdXQuPC9wPg0KCQk8cD5XaGF0IGhhcHBlbnMgaWYgeW91IHNhdmUgYSBwYWdlPzwvcD4NCgkJPHA+VGhlIG1vZHVsZSBzdG9yZXMgdGhlIHZhbHVlcyBhcyBvbmUgc2luZ2xlIGNvbnRlbnQgcHJvcGVydHkgKGFrYSBjb250ZW50YmxvY2spIGFuZCBzZXBhcmF0ZXMgdGhlIGlucHV0cyBieSBhIGdpdmVuIGRlbGltaXRlci48YnIgLz4NCgkJTGV0JiMwMzk7cyBhc3N1bWUgeW91IHNlbGVjdCB0aGUgTmV3cyBtb2R1bGUgZm91ciB0aW1lcyB3aXRoIGRpZmZlcmVudCBtb2R1bGUgcGFyYW1zIGxpa2UgY2F0ZWdvcnk9JnF1b3Q7MSZxdW90OywgY2F0ZWdvcnk9JnF1b3Q7MiZxdW90OywgY2F0ZWdvcnk9JnF1b3Q7MyZxdW90OywgY2F0ZWdvcnk9JnF1b3Q7NCZxdW90Oy48YnIgLz4NCgkJSW4gdGhlIGRhdGFiYXNlIGl0IHN0b3JlcyB0aGlzIHN0cmluZzo8L3A+DQoJCTxwcmU+DQoJCTxjb2RlPg0KCQlOZXdzPCEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxpbWl0ZXIgLS0+Y2F0ZWdvcnk9JnF1b3Q7MSZxdW90OzwhLS0gbXVsdGlfaW5wdXRfZGVsaW1pdGVyIC0tPjxiciAvPg0KCQlOZXdzPCEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxpbWl0ZXIgLS0+Y2F0ZWdvcnk9JnF1b3Q7MiZxdW90OzwhLS0gbXVsdGlfaW5wdXRfZGVsaW1pdGVyIC0tPjxiciAvPg0KCQlOZXdzPCEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxpbWl0ZXIgLS0+Y2F0ZWdvcnk9JnF1b3Q7MyZxdW90OzwhLS0gbXVsdGlfaW5wdXRfZGVsaW1pdGVyIC0tPjxiciAvPg0KCQlOZXdzPCEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxpbWl0ZXIgLS0+Y2F0ZWdvcnk9JnF1b3Q7NCZxdW90Ow0KCQk8L2NvZGU+DQoJCTwvcHJlPg0KCQk8cD5JbiB5b3VyIHBhZ2UgdGVtcGxhdGUgeW91IGNhbiBleHBsb2RlIHRoZSBjb250ZW50IGJ5IHRoZSBkZWxpbWl0ZXJzIGFuZCBjYWxsIHRoZSBzZWxlY3RlZCBtb2R1bGVzLjwvcD4NCgkJPHA+RnVsbCBFeGFtcGxlOjwvcD4NCgkJPHByZT4NCgkJPGNvZGU+DQoJCXsqIGRlZmluZSB0aGUgY29udGVudCBibG9jayAqfQ0KCQl7Y29udGVudCBibG9jaz0mcXVvdDtteV9tb2R1bGVzJnF1b3Q7IGJsb2NrX3R5cGU9JnF1b3Q7bXVsdGlfaW5wdXQmcXVvdDsgaW5wdXRzPSZxdW90O01vZHVsZSxNb2R1bGUsTW9kdWxlLE1vZHVsZSZxdW90OyBhc3NpZ249JnF1b3Q7bW9kdWxlcyZxdW90O30NCgkJDQoJCXsqIGV4cGxvZGUgYmxvY2sgY29udGVudCBpbiBhbiBhcnJheSB0byBnZXQgdGhlIGlucHV0IGdyb3VwcyAqfQ0KCQl7YXNzaWduIHZhcj1tb2R1bGVzIHZhbHVlPSZxdW90OzwhLS0gbXVsdGlfaW5wdXRfZGVsaW1pdGVyIC0tPiZxdW90O3xleHBsb2RlOiRtb2R1bGVzfQ0KCQkNCgkJeyogbG9vcCB0aHJvdWdoIHRoZSBzZWxlY3RlZCBtb2R1bGVzICp9DQoJCXtmb3JlYWNoIGZyb209JG1vZHVsZXMgaXRlbT0mcXVvdDttb2R1bGUmcXVvdDt9DQoJCQl7aWYgJG1vZHVsZSAhPSAmIzAzOTsmIzAzOTt9DQoJCQkNCgkJCQl7KiBleHBsb2RlIHRoZSBpbnB1dCB2YWx1ZXMgaW4gbW9kdWxuYW1lIGFuZCBtb2R1bGUgcGFyYW1ldGVycyAqfQ0KCQkJCXthc3NpZ24gdmFyPW1vZHVsZV9pdGVtcyB2YWx1ZT0mcXVvdDs8IS0tIG11bHRpX2lucHV0X3ZhbHVlX2RlbGltaXRlciAtLT4mcXVvdDt8ZXhwbG9kZTokbW9kdWxlfQ0KCQkJCQ0KCQkJCXtpZiRtb2R1bGVfaXRlbXNbMF0gIT0gJiMwMzk7JiMwMzk7fQ0KCQkJCQ0KCQkJCQl7KiBjYWxsIHRoZSBtb2R1bGUgKn0NCgkJCQkJe2lmIGlzc2V0KCRtb2R1bGVfaXRlbXNbMV0pfQ0KCQkJCQkJe2V2YWwgdmFyPSRzbWFydHkubGRlbGltfGNhdDomIzAzOTtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDsmIzAzOTt8Y2F0OiRtb2R1bGVfaXRlbXNbMF18Y2F0OiYjMDM5OyZxdW90OyAmIzAzOTt8Y2F0OiRtb2R1bGVfaXRlbXNbMV18Y2F0OiRzbWFydHkucmRlbGltfQ0KCQkJCQl7ZWxzZX0NCgkJCQkJCXtldmFsIHZhcj0kc21hcnR5LmxkZWxpbXxjYXQ6JiMwMzk7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7JiMwMzk7fGNhdDokbW9kdWxlX2l0ZW1zWzBdfGNhdDomIzAzOTsmcXVvdDsmIzAzOTt8Y2F0OiRzbWFydHkucmRlbGltfQ0KCQkJCQl7L2lmfQ0KCQkJCQkNCgkJCQl7L2lmfQ0KCQkJCQ0KCQkJey9pZn0NCgkJDQoJCXsvZm9yZWFjaH0NCgkJPC9jb2RlPg0KCQk8L3ByZT4NCgk8L2xpPg0KPC91bD4NCg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KCTxsaT5UaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9jb250ZW50Mi8iPmh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIvPC9hPjwvbGk+DQoJPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPC91bD4NCjxiciAvPg0KPHA+RmVlbCBmcmVlIHJlcG9ydCBhbnkga2luZCBvZiBmZWVkYmFjay48L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPg0KCUFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLjxiciAvPg0KCVRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLDxiciAvPg0KCWJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mPGJyIC8+DQoJTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLjxiciAvPg0KCVNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy48YnIgLz4NCglZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZTxiciAvPg0KCWFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlPGJyIC8+DQoJRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0E8YnIgLz4NCglPciByZWFkIGl0IG9ubGluZTogPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5odHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEw8L2E+PGJyIC8+DQoJUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuDQo8L3A+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIEdlb3JnIEJ1c2NoIChOYU4pLiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KPGJyIC8+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzxiciAvPg0KPHA+PHN0cm9uZz5Nb2R1bGUgcmVsZWFzZXM8L3N0cm9uZz4uLi48L3A+DQo8dWw+DQoJPGxpPjxwPjxzdHJvbmc+MC43LjEgKE5vdiAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD5CdWdmaXhlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBmaXhlZCBidWcgaXRlbSAjNTY1MTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGZldV9hY2Nlc3M8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gZmV1X2FjdGlvbjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSByZXF1aXJlZDwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MC43IChOb3YgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gY29tcGF0aWJpbGl0eSBidWdmaXhlcyBmb3IgQ01TbXMgMS45KyAobmVlZHMgQ01TbXMgMS45IG1pbmltdW0gbm93KTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHN1cHBvcnQgb2Yge2NvbnRlbnRfbW9kdWxlfSB0YWc8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gbm9fY29sbGFwc2U8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuNi4yIChOb3YgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gbWlub3IgYnVnZml4IChzaG93ZWQgdGFicyBvZiBwcmV2aW91cyB0ZW1wbGF0ZSB3aGVuIHRlbXBsYXRlIHdhcyBjaGFuZ2VkKTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MC42LjEgKE5vdiAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD5CdWdmaXhlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBzZXZlcmFsIGJ1Z2ZpeGVzPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGNvbXBhdGliaWxpdHkgYnVnZml4ZXMgZm9yIENNU21zIDEuOTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIGFkZGVkIGJsb2NrX3R5cGUgbXVsdGlfaW5wdXQ8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuNiAoT2N0IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIHNldmVyYWwgYnVnZml4ZXM8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBibG9ja19ncm91cDwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPk1pc2M6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gUmVtb3ZlZCBmaWxlIHBpY2tlciAoYW5kIGFzc29jaWF0ZWQgYmxvY2tfdHlwZXMgaW1hZ2UvZmlsZSkgLSB1c2UgR0JGaWxlUGlja2VyIGluc3RlYWQuPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4wLjUgKFNlcHQgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPmZpeGVkIGJ1ZyBpdGVtICM1MjkyIChtZW1vcnkgaXNzdWUpPC9wPjwvbGk+DQoJCQkJCTxsaT48cD5maXhlZCBidWcgaXRlbSAjNTI1NCAoZGlzYWJsZSB3eXNpd3lnIG5vdCB3b3JraW5nKTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+Zml4ZWQgYnVnIGl0ZW0gIzUzMTAgKHVybG9ubHkgbm90IHdvcmtpbmcpPC9wPjwvbGk+DQoJCQkJCTxsaT48cD5maXhlZCBidWcgaXRlbSAjNTMxMSAoaW1hZ2UgcGF0aHMgbm90IHN0b3JlZCAmIzAzOTtjb3JyZWN0bHkmIzAzOTspPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+RmVhdHVyZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPmFkZGVkIGZlYXR1cmUgcmVxdWVzdCAjNTI2MSAoQWRkIHNvcnQgdG8gaW1hZ2UgdHlwZSAtIG5vdGljZSB0aGUgY2hhbmdlIG9mIHBhcmFtIGZpbHRlcik8L3A+PC9saT4NCgkJCQkJPGxpPjxwPmFkZGVkIHBhcmFtcyBleGNsdWRlX3ByZWZpeCwgaW5jbHVkZV9wcmVmaXgsIGV4Y2x1ZGVfc3VmaXgsIGluY2x1ZGVfc3VmaXg8L3A+PC9saT4NCgkJCQkJPGxpPjxwPmFkZGVkIGZlYXR1cmUgcmVxdWVzdCAjNTI1MyAoVGV4dCBpbnB1dCB0byBkZWZpbmUgYWRkIHBhcmFtcyB0byByZWRpcmVjdCBmdW5jdGlvbik8L3A+PC9saT4NCgkJCQkJPGxpPjxwPmFkZGVkIGZlYXR1cmUgcmVxdWVzdCAjNTI0MCAoRGVmYXVsdCB2YWx1ZXMgb2YgQWR2YW5jZWRDb250ZW50IHBhZ2Ugb3B0aW9ucyk8L3A+PC9saT4NCgkJCQkJPGxpPjxwPmFkZGVkIGZlYXR1cmUgcmVxdWVzdCAjNTI0MSAocHV0IEZldUFjY2VzcyBpbiBCbG9ja3RhYik8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5NaXNjOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIEFkdmFuY2VkQ29udGVudCBvcHRpb25zIGFyZSBzaG93biBpbiBzZXBhcmF0ZSB0YWI8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gQWRkZWQgbmV3IHBlcm1pc3Npb24gdG8gbWFuYWdlIHRoZSBBZHZhbmNlZENvbnRlbnQgb3B0aW9ucyB0YWI8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gcmVtb3ZlZCBwYXJhbSBmaWx0ZXIgKHVzZSBuZXcgcGFyYW1zIGluc3RlYWQpPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIHBhdGggdG8gZmlsZXMgYXJlIHN0b3JlZCByZWxhdGl2ZSB0byB0aGUgdXBsb2FkcyBkaXI8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gcGFyYW0gZGlyIG9mIGJsb2NrIHR5cGUgZmlsZS9pbWFnZSBuZWVkcyB0byBiZSByZWxhdGl2ZSB0byB0aGUgdXBsb2FkcyBkaXIgb25seSAodGhlcmUgaXMgbm8gaW1hZ2UgdXBsb2FkcyBkaXIgdXNlZCBhbnltb3JlKTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MC40LjEgKEF1Z3VzdCAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD5CdWdmaXhlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSAjNTE1MTogZml4ZWQgc3R5bGVzaGVldCBpc3N1ZSB3aXRoIGV4cGFuZC9jb2xsYXBzZSBidXR0b25zIG9mIGNvbnRlbnQgYmxvY2tzIGluIElFL1NhZmFyaS48L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gIzUxNjI6IFBIUCB3YXJuaW5ncyBpZiBiYWNrZW5kIHVzZXJzIHdpdGhvdXQgcGVybWlzc2lvbiAmcXVvdDtNYW5hZ2UgQWxsIEFkdmFuY2VkQ29udGVudCBCbG9ja3MmcXVvdDsgb3BlbiBhbiBhZHZhbmNlZCBjb250ZW50IHBhZ2UgYW5kIG11bHRpcGxlIGNvbnRlbnQgYmxvY2tzIG9mIHNhbWUgbmFtZSB3ZXJlIHVzZWQgaW4gdGVtcGxhdGUuPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBleHRyYSBmaWVsZHMgY291bGQgbm90IGJlIHVwZGF0ZWQuPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBmZXUgYWNjZXNzIGRpZCBub3Qgd29yay48L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAmcXVvdDtkZWxldGUmcXVvdDsgdG8gbGV0IHVzZXJzIGRlbGV0ZSBmaWxlcyBldmVuIGlmIG5vIHBlcm1pc3Npb24gJnF1b3Q7TW9kaWZ5IEZpbGVzJnF1b3Q7PC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICZxdW90O2NyZWF0ZV9kaXJzJnF1b3Q7IHRvIGxldCB1c2VycyBjcmVhdGVfZGlycyBldmVuIGlmIG5vIHBlcm1pc3Npb24gJnF1b3Q7TW9kaWZ5IEZpbGVzJnF1b3Q7PC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIG5ldyBibG9ja3R5cGUgJnF1b3Q7bm90ZSZxdW90OyB0byBjcmVhdGUgc29tZSBzaW5nbGUgbm90ZXMgZm9yIHlvdXIgZWRpdG9yczwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPk1pc2M6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gcmVtb3ZlZCBkZXBlbmRlbmN5IG9mIEZpbGVNYW5hZ2VyPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGJsb2NrIG9mIHR5cGUgZmlsZSBvciBpbWFnZSBzdG9yZXMgcmVsYXRpdmUgdXJsIG5vdzwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBibG9jayB0eXBlIGltYWdlIHNob3dzIHRodW1ibmFpbCBpbiBiYWNrZW5kIHByZXZpZXcgaW5zdGVhZCBvZiBmdWxsIGltYWdlPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4wLjQgKEp1bHkgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+SW1wb3J0YW50IG5vdGljZTo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBjaGFuZ2VkIHBhcmFtICZxdW90O3R5cGUmcXVvdDsgdG8gJnF1b3Q7YmxvY2tfdHlwZSZxdW90OyBzaW5jZSBpdCBpbnRlcmZlcmVzIHdpdGgge2NvbnRlbnRfbW9kdWxlfSB0YWc8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5CdWdmaXhlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSAjNTEwMTogcGFnZV90YWIgJnF1b3Q7b3B0aW9ucyZxdW90OyB3YXMgc2hvd24gdG8gdXNlcnMgd2l0aCBubyBwZXJtaXNzaW9uIHRvIGVkaXQgcGFnZSBvcHRpb25zIGlmIGEgY29udGVudCBibG9jayB3YXMgYXNzaWduZWQgdG8gdGhhdCB0YWIuPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tICM1MDk3OiBsaW5rIHRvIG1pc3NpbmcgY3NzIHJlbW92ZWQ8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gZml4ZWQgbWltZS10eXBlIGlzc3VlIChhZGRlZCBwcmVmZXJlbmNlIHRvIHRvZ2dsZSBtaW1lLXR5cGUgdXNhZ2Ugb24vb2ZmKTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBmaXhlZCBwYXRoIGlzc3VlIHdoZXJlIHRodW1ibmFpbHMgd2VyZSBub3Qgc2hvd248L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gZml4ZWQgY29tcGF0aWJpbGl0eSB3aXRoIENNU21zIDEuODwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBvdGhlciBtaW5vciBidWdmaXhlczwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIGFkZGVkIE1MRSBzdXBwb3J0PC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICZxdW90O3Nob3dfY2xvY2smcXVvdDsgdG8gZW5hYmxlL2Rpc2FibGUgdGhlIHRpbWUgZHJvcGRvd24gb2YgYmxvY2t0eXBlcyAmcXVvdDtkYXRlJnF1b3Q7IGluIGJhY2tlbmQ8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gJnF1b3Q7ZGF0ZV9mb3JtYXQmcXVvdDsgdG8gZm9ybWF0IHRpbWVzdGFtcCBvZiBibG9ja3R5cGVzICZxdW90O2RhdGUmcXVvdDsgaW4gZnJvbnRlbmQ8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gJnF1b3Q7ZGVzY3JpcHRpb24mcXVvdDs8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgYnVsayBmdW5jdGlvbiB0byBzZXQgYWxsIHBhZ2VzIHRvIEFkdmFuY2VkQ29udGVudDwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBjb21wYXRpYmlsaXR5IHdpdGgge2NvbnRlbnRfbW9kdWxlfSB0YWc8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuMy40IChKdW5lIDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tICM1MDQ1OiBXaGVuIHN3aXRjaGluZyBmcm9tIENvbnRlbnQgLT4gQWR2YW5jZWQgQ29udGVudCBsb3RzIG9mIFBIUCBlcnJvcnM8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gIzUwNTY6IHBhZ2VfdGFicyBub3Qgd29ya2luZyBmb3IgdXNlcnMgd2l0aG91dCBwZXJtaXNzaW9uICZxdW90O01hbmFnZSBBbGwgQ29udGVudCZxdW90OzwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSAjNTA3MzogaW5jb3JyZWN0IGRpc3BsYXkgb2YgZmlsZXMgd2hlbiBvcGVuaW5nIGZpbGVwaWNrZXI8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gZml4ZWQgbWlub3IgYnVnIHdoZXJlIHRoZSBvcHRpb24gJnF1b3Q7YWxsb3dfbm9uZSZxdW90OyBvZiBjb250ZW50IGJsb2NrcyBvZiB0eXBlIGltYWdlL2ZpbGUgd2FzIG5vdCBzaG93biB3aGVuIHRlbXBsYXRlIGhhcyBiZWVuIGVkaXRlZDwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIGFkZGVkIGZpbGVtYW5hZ2VtZW50IGFuZCB1cGxvYWQgZnVuY3Rpb25zIHRvIGNvbnRlbnQgYmxvY2tzIG9mIHR5cGUgaW1hZ2UvZmlsZTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBicmVhZGN1bWJzIHRvIGZpbGVwaWNrZXI8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRtaW5zIG1heSBicm93c2UgdGhlIGVudGlyZSBkaXIgdHJlZSBpbiBmaWxlcGlja2VyIGZpbGUgYnJvd3NlciByZWdhcmRsZXNzIG9mIHRlbXBsYXRlIHBhcmFtczwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBtaW1lIHR5cGUgY2hlY2tpbmcgdG8gZ2V0IGZpbGUgdHlwZTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCByYXd1cmxlbmNvZGUgaW4gc3JjIGF0dHJpYnMgdG8gZGlzcGxheSBpbWFnZXMgd2l0aCB3ZWlyZCBmaWxlbmFtZXMuPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+bWlzY2VsbGFuZW91czo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSByZW1vdmVkIE9PUCBzdHVmZiAocHJpdmF0ZS9wdWJsaWMvcHJvdGVjdGVkKSB0byBnYWluIG1vcmUgY29tcGF0aWJpbGl0eSB3aXRoIFBIUDQ8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gY2hhbmdlZCBhamF4IGZ1bmN0aW9ucyB0byByZXR1cm4geG1sIHZhbHVlczwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSByZW1vdmVkIHVzYWdlIG9mIEltYWdlTWFuYWdlciBvbmNlIGFuZCBmb3IgYWxsLiAoY2F1c2VkIG9ubHkgdHJvdWJsZSk8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuMy4zIChKdW5lIDIwMTApOjwvc3Ryb25nPjwvcD4NCgk8dWw+DQoJCTxsaT48cD5CdWdmaXhlczo8L3A+DQoJCQk8dWw+DQoJCQkJPGxpPjxwPi0gYWxpYXMgd2FzIG5vdCBhbHdheXMgY29udmVydGVkIHByb3Blcmx5PC9wPjwvbGk+DQoJCQkJPGxpPjxwPi0gdW5zdWJtaXR0ZWQgY29udGVudCBnb3QgbG9zdCBpZiBzd2l0Y2hpbmcgZnJvbSBDb250ZW50IHRvIEFkdmFuY2VkQ29udGVudDwvcD48L2xpPg0KCQkJPC91bD4NCgkJPC9saT4NCgkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCTx1bD4NCgkJCQk8bGk+PHA+LSBhZGRlZCBzdGFydC9lbmQgZGF0ZTwvcD48L2xpPg0KCQkJCTxsaT48cD4tIHJlbW92ZWQgdGltZXBpY2tlcjsgcmVwbGFjZWQgYnkgYSBzaW1wbGUgZHJvcGRvd248L3A+PC9saT4NCgkJCQk8bGk+PHA+LSBjb21wYXRpYmlsaXR5IHdpdGgge2NvbnRlbnRfaW1hZ2V9PC9wPjwvbGk+DQoJCQk8L3VsPg0KCQk8L2xpPg0KCTwvdWw+DQoJPGxpPjxwPjxzdHJvbmc+MC4zLjIgKEp1bmUgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+LSBmaXhlZCBidWcgd2hlcmUgY2hhbmdpbmcgYmFjayB0byBkZWZhdWx0IGNvbnRlbnQgdHlwZSBvciBjaGFuZ2luZyB0ZW1wbGF0ZSBjYXVzZWQgZmF0YWwgZXJyb3JzPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBmaXhlZCBhIGJ1ZyB3aXRoIHNtYXJ0eSBwcm9jZXNzaW5nIHdoZW4gc2F2aW5nIGEgcGFnZTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gZml4ZWQgYSBidWcgd2l0aCBwcmV2aWV3IHRhYjwvcD48L2xpPg0KCQkJPGxpPjxwPi0gcmUtYWRkZWQgZXhwYW5kL2NvbGxhcHNlIGJ1dHRvbiB0byB0b2dnbGUgY29udGVudCBibG9ja3MgaW4gYmFja2VuZDwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW1zIGVkaXRvcl9ncm91cHMvZWRpdG9yX3VzZXJzIHRvIHNwZWNpZnkgY2VydGFpbiB1c2Vycy9ncm91cHMgdGhhdCBhcmUgYWxsb3dlZCB0byBlZGl0IGNlcnRhaW4gYmxvY2tzPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSByZW1vdmVkIHBhcmFtcyBzZWxlY3RlZC9jaGVja2VkOyB1c2UgcGFyYW0gZGVmYXVsdCBpbnN0ZWFkPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBibG9jayBpZHMgd2lsbCBiZSBjb252ZXJ0ZWQgZnJvbSBibG9jayBuYW1lIHVzaW5nIGNvcmUgZnVuY3Rpb24gbXVuZ2Vfc3RyaW5nX3RvX3VybCAodG8gcmVtb3ZlIHNwZWNpYWwgY2hhcnMsIHdoaXRlc3BhY2VzLCB1bWxhdXRzIGV0Yy4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBmaXhlZCBidWcgb2YgYmxvY2t0eXBlIGRyb3Bkb3duL3NlbGVjdF9tdWx0aXBsZSB3aGVyZSBmaXJzdCBpdGVtIGhhZCBhbiBlbXB0eSBsYWJlbCBpZiBvbmx5IHRoZSBwYXJhbSAmcXVvdDt2YWx1ZXMmcXVvdDsgaXMgdXNlZDwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgc29tZSB0ZW1wbGF0ZSB2YXJzIG9mIHRoZSBmcm9udGVuZCB0byBiZSBhbHNvIGFjY2Vzc2libGUgaW4gYmFja2VuZCAoZS5nLjogJHBhZ2VfYWxpYXMpPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAmcXVvdDthbGxvd19ub25lJnF1b3Q7IHRvIGFsbCBjb250ZW50IGJsb2NrIHR5cGVzIHRvIHNwZWNpZnkgaWYgdGhlIHByZWRlZmluZWQgZGVmYXVsdCB2YWx1ZSB3aWxsIGJlIHVzZWQgaWYgbm8gdmFsdWUgaXMgZW50ZXJlZDwvcD48L2xpPg0KCQkJPGxpPjxwPi0gZml4ZWQgYnVnIHdoZXJlIGVtcHR5IHZhbHVlcyB3ZXJlIG5ldmVyIGJlIHN0b3JlZDwvcD48L2xpPg0KCQkJPGxpPjxwPi0gZml4ZWQgYnVnIHdoZXJlIGRlZmF1bHQgdmFsdWUgaW4gZnJvbnRlbmQgd2FzIGlnbm9yZWQgaWYgdGhlICZxdW90O2FsbG93X25vbmUmcXVvdDsgcGFyYW0gd2FzIGNoYW5nZWQgYWZ0ZXIgYW4gZW1wdHkgdmFsdWUgaGFzIGJlZW4gc3RvcmVkPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAmcXVvdDtzb3J0YWJsZV9pdGVtcyZxdW90OyB0byBjcmVhdGUgYSBzb3J0YWJsZSBtdWx0aXBsZSBzZWxlY3QgbGlzdCAoc2VsZWN0IGxpc3Qgd2lsbCByZXN1bHQgaW4gYSB0YWJsZSB3aXRoIGNoZWNrYm94ZXM7IG9ubHkgb3JkZXIgb2Ygc2VsZWN0ZWQgaXRlbXMgd2lsbCBiZSBzdG9yZWQgYW5kIHNob3dlZCBhdCB0aGUgdG9wIG9mIHRoZSBsaXN0OyB1bnNlbGVjdGVkIGl0ZW1zIHdpbGwgYmUgYXBwZW5kZWQgaW4gdGhhdCBvcmRlciB0aGV5IGFyZSBwbGFjZWQgaW4gdGhlIHRlbXBsYXRlKTwvcD48L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MC4zLjEgKE1heSAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIHJlbW92ZWQgdGhlIHJlb3JkZXJpbmcgc3R1ZmYgZm9yIG5vdyAoY2F1c2VzIHRyb3VibGUgYXQgdGhpcyB0aW1lKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gcmVtb3ZlZCB0aGUgZGIgc3R1ZmYgKHBhcmFtcyBvZiBjb250ZW50IGJsb2NrcyB0aGF0IGFyZSBkZWZpbmVkIGluIHRlbXBsYXRlIHdvbiYjMDM5O3QgYmUgc2F2ZWQgaW4gbW9kdWxlIGRiIHRhYmxlIGFueW1vcmUgLT4gaG9wZWZ1bGx5IHNwZWVkIHVwIGxvYWRpbmcgdGltZSk8L3A+PC9saT4NCgkJCTxsaT48cD4tIGZpeGVkIGEgYnVnIHdpdGggZHVwbGljYXRlIGNvbnRlbnQgYmxvY2tzPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+DQoJCTxwPjxzdHJvbmc+QWR2YW5jZWRDb250ZW50IDAuMyAoTWF5IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gcmV3cml0ZSBjb2RlPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBidWdmaXhlczwvcD48L2xpPg0KCQkJPGxpPjxwPi0gcmVuYW1lZCB0byBBZHZhbmNlZENvbnRlbnQ8L3A+PC9saT4NCgkJCTxsaT48cD4tIHVzaW5nIHNlcGFyYXRlIG1vZHVsZSB0ZW1wbGF0ZSBub3cgdG8gZHNwbGF5IGNvbnRlbnQgYmxvY2tzPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSByZW1vdmVkIHBhZ2UgYWxpYXMgaW5oZXJpdGFuY2U8L3A+PC9saT4NCgkJPC91bD4NCgk8L2xpPg0KPC91bD4NCjx1bD4NCgk8bGk+PHA+PHN0cm9uZz5YQ29udGVudCBCRVRBIDMgKEFwcmlsIDIwMTAgLSBkaXNjb250aW51ZWQpOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gTWFqb3IgQnVnZml4IChtaXNzaW5nICZxdW90OzsmcXVvdDsgYW5kIHN0cmFuZ2UgaW52aXNpYmxlIGludmFsaWQgY2hhcnMpPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz5YQ29udGVudCBCRVRBIDIgKEFwcmlsIDIwMTAgLSBkaXNjb250aW51ZWQpOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gZml4ZWQgYSBidWcgd2l0aCBwYXJhbSAmcXVvdDtkZWxpbWl0ZXImcXVvdDs8L3A+PC9saT4NCgkJCTxsaT48cD4tIGZpeGVkIGEgYnVnIHdpdGggc21hcnR5IHByb2Nlc3Npbmc8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIGluaGVyaXRhbmNlIG9mICZxdW90O1Nob3cgbG9naW4gZm9ybSZxdW90OzwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgaW5oZXJpdGFuY2Ugb2YgcGFnZSBhbGlhcyB0byBhZGQgaXQgYXMgcHJlZmZpeDsgc28gaWYgeW91IGhhdmUgYSBwYWdlIGNhbGxlZCAmcXVvdDttZW1iZXJzJnF1b3Q7IGFuZCBzZWxlY3QgZm9yIGVhY2ggY2hpbGQgcGFnZSAmcXVvdDtpbmhlcml0IHBhZ2UgYWxpYXMmcXVvdDsgYWxsIGNoaWxkIHBhZ2VzIGFsaWFzZXMgd2lsbCBzdGFydCB3aXRoICZxdW90O21lbWJlcnNfJnF1b3Q7OyBtYWtlcyBmaWx0ZXJpbmcgb2YgbWVudSBlbnRyaWVzIHdpdGggTWVudU1hbmFnZXIgcGFyYW0gJnF1b3Q7ZXhjbHVkZXByZWZmaXgmcXVvdDsgb3IgJnF1b3Q7aW5jbHVkZXByZWZmaXgmcXVvdDsgZWFzaWVyLjwvcD48L2xpPg0KCQkJPGxpPjxwPi0gbWlub3IgYnVnZml4ZXM8L3A+PC9saT4gDQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+DQoJCTxwPjxzdHJvbmc+WENvbnRlbnQgQkVUQSAoQXByaWwgMjAxMCk6PC9zdHJvbmc+IGluaXRpYWwgcmVsZWFzZTwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gY29udmVydGVkIHRoZSBzaW5nbGUgZmlsZSBpbnRvIGEgbW9kdWxlPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSByZW5hbWVkIHBhcmFtczsgc2VlIG1vZHVsZSBoZWxwIGZvciBtb3JlIGRldGFpbHM8L3A+PC9saT4NCgkJPC91bD4NCgk8L2xpPg0KPC91bD4NCjxwPjxzdHJvbmc+U2luZ2xlIGZpbGUgcmVsZWFzZXMgKGRpc2NvbnRpbnVlZCk8L3N0cm9uZz4uLi48L3A+DQo8dWw+DQoJPGxpPg0KCQk8cD48c3Ryb25nPjEuNCAoTWFyY2ggMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+LSBjbGVhbnVwIGNvZGUgLSAoTmFOKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gbWlub3IgYnVnZml4ZXMgLSAoTmFOKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcmVkaXJlY3QgcGFnZSBpZiBmZXUgaXMgbm90IGxvZ2dlZCBpbiAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBpbmhlcml0YW5jZSBvZiBmZXVfYWNjZXNzIGFuZCByZWRpcmVjdF9wYWdlIC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGZldV9hY2Nlc3MgLSAoTmFOKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gZmV1X2FjdGlvbiAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSByZWRpcmVjdF9wYWdlIC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGJsb2NrX29ubHkgLSAoTmFOKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgc21hcnR5IGxvZ2ljIGluIGJhY2tlbmQgLSAoSmVyZW15QmFzcyk8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIHN0eWxlIC0gKEplcmVteUJhc3MpPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBmaWx0ZXIgKGZpbHRlcmluZyBpbWFnZXMgaW4gYmFja2VuZCkgLSAoSmVyZW15QmFzcyk8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIEltZ01vZGUgKGRyb3Bkb3duIG9yIEltYWdlTWFuYWdlcikgLSAoSmVyZW15QmFzcyk8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIHNtYXJ0eU9uIChmb3IgcHJvY2Vzc2luZyBzbWFydHkgdmFycyBvZiB0aGUgdGVtcGF0ZSBpbiBiYWNrZW5kKSAtIChKZXJlbXlCYXNzKTwvcD48L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MS4zIChBcHJpbCAyMDA5KTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIENNU21zIDEuNi4qIHJlYWR5IC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIGZldSBhY2Nlc3Mgb3B0aW9uIC0gKE5hTik8L3A+PC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT4NCgkJPHA+PHN0cm9uZz4xLjIgKE1hcmNoIDIwMDkpOjwvc3Ryb25nPiBpbml0aWFsIHJlbGVhc2U8L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIEEgc2luZ2xlIGZpbGUgQ29udGVudDIuaW5jLnBocCB0aGF0IG5lZWRzIHRvIGJlIHBhY2VkIGluIGxpYi9jbGFzc2VzL2NvbnRlbnR0eXBlcy48L3A+PC9saT4NCgkJCTxsaT48cD4tIGxheW91dC9vcHRpb25zIG9mIGJhY2tlbmQgcGFuZWwgY2FuIGJlIGNvbnRyb2xlZCBieSBhZGRpdGlvbmFsIHNtYXJ0eSBwYXJhbXMgaW4gdGhlIHRlbXBsYXRlOyBpbnRlZ3JhdGVkIHRoZSB7Y29udGVudF9pbWFnZX0gdGFnIC0gKG1vZCBieSBOYU4pPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCjwvdWw+DQo8YnIgLz4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My41NjMyMzg0MDEwMTUxNDk0MDAuMTIyNjMzNDc1MS4xMjg5OTAxMjU5LjEyODk5MjI2MTUuODQnOwokbGFuZ1sncWNhJ10gPSAnUDAtMjAwNzY4NjkyMC0xMjUxMTkwODE1MDI3JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI4OTkwMTI4NC44My41LnV0bWNzcj1mZWVkYnVybmVyfHV0bWNjbj1GZWVkOiBjbXNtYWRlc2ltcGxlL2Jsb2cgKENNUyBNYWRlIFNpbXBsZSl8dXRtY21kPWZlZWQnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ja_JP.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ0FkdmFuY2VkQ29udGVudCddID0gJ0FkdmFuY2VkIENvbnRlbnQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIEFkdmFuY2VkQ29udGVudCAlcyBpbnN0YWxsZWQnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgQWR2YW5jZWRDb250ZW50ICVzIHVuaW5zdGFsbGVkJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIEFkdmFuY2VkQ29udGVudCB1cGdyYWRlZCB0byAlcyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ01vZHVsZSBBZHZhbmNlZENvbnRlbnQgJXMgaW5zdGFsbGVkLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdWxlIEFkdmFuY2VkQ29udGVudCAlcyB1bmluc3RhbGxlZC4nOwokbGFuZ1snY29uZmlybXVuaW5zdGFsbCddID0gJ0RvIHlvdSByZWFsbHkgd2FudCB1bmluc3RhbGwgdGhlIG1vZHVsZSBBZHZhbmNlZENvbnRlbnQ/JzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZWNvbnRlbnQnXSA9ICc8ZW0+PHN0cm9uZz7ms6jmhI86PC9zdHJvbmc+IHtjb250ZW50IGJsb2NrPVwnJXNcJyAuLi4gfSBpcyBhbWJpZ291cy4gQmxvY2sgbmFtZXMgbXVzdCBiZSB1bmlxdWUuIDxiciAvPlRoaXMgYmxvY2sgaXMgZGlzYWJsZWQuIE9ubHkgZmlyc3QgYmxvY2sgd2lsbCBiZSBzaG93bi4gQ2hlY2sgeW91ciBwYWdlIHRlbXBsYXRlIGFuZCBjaG9zZSBhIGRpZmZlcmVudCB2YWx1ZSBvZiBwYXJhbSBcJ2Jsb2NrXCcuPC9lbT4nOwokbGFuZ1snbm90aWNlX2R1cGxpY2F0ZWNvbnRlbnQnXSA9ICc8ZW0+PHN0cm9uZz7ms6jmhI86PC9zdHJvbmc+IFRoaXMgYmxvY2sgaXMgdXNlZCBtdWx0aXBsZSB0aW1lcyBpbiB0ZW1wbGF0ZS4gWW91IG9ubHkgc2VlIHRoZSBmaXJzdCBibG9jayBoZXJlLjwvZW0+JzsKJGxhbmdbJ2Vycm9yX2Jhc2ljYXR0cmliJ10gPSAnPGVtPjxzdHJvbmc+5rOo5oSPOjwvc3Ryb25nPiBDYW5ub3QgdXNlIGJhc2ljIGNvbnRlbnQgcHJvcGVydHkgbmFtZSBcJyVzXCcgYXMgdmFsdWUgb2YgcGFyYW0gXCdibG9ja1wnLiA8YnIgLz5UaGlzIGJsb2NrIGlzIGRpc2FibGVkLiBDaGVjayB5b3VyIHBhZ2UgdGVtcGxhdGUgYW5kIGNob3NlIGEgZGlmZmVyZW50IHZhbHVlIG9mIHBhcmFtIFwnYmxvY2tcJy48L2VtPic7CiRsYW5nWydlcnJvcl9leHBpcmVkYXRlJ10gPSAnRW5kIGRhdGUgbXVzdCBiZSBsYXRlciB0aGFuIHN0YXJ0IGRhdGUuJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ+OCq+ODrOODs+ODiOODh+OCo+ODrOOCr+ODiOODqic7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAn55S75YOP44K144Kk44K6JzsKJGxhbmdbJ3NpemUnXSA9ICfjg5XjgqHjgqTjg6vjgrXjgqTjgronOwokbGFuZ1snaW5oZXJpdF9mcm9tX3BhcmVudCddID0gJ0luaGVyaXQgZnJvbSBwYXJlbnQnOwokbGFuZ1snbm9uZSddID0gJ+OBquOBlyc7CiRsYW5nWydpbnZhbGlkJ10gPSAn54Sh5Yq5JzsKJGxhbmdbJ2ludmFsaWRfYmxvY2t0eXBlJ10gPSAnPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBJbnZhbGlkIHZhbHVlIFwnJXNcJyBvZiBwYXJhbSBibG9ja190eXBlIGluIGJsb2NrIFwnJXNcJy48YnIgLz5DaGVjayB5b3VyIHBhZ2UgdGVtcGxhdGUuPC9lbT4nOwokbGFuZ1sneWVzJ10gPSAn44Gv44GEJzsKJGxhbmdbJ25vJ10gPSAn44GE44GE44GIJzsKJGxhbmdbJ2Zyb250ZW5kYWNjZXNzJ10gPSAnRnJvbnRlbmQgYWNjZXNzJzsKJGxhbmdbJ3JlZGlyZWN0cGFnZSddID0gJ1JlZGlyZWN0IFBhZ2UgaWYgbm8gYWNjZXNzJzsKJGxhbmdbJ3Nob3dsb2dpbmZvcm0nXSA9ICdTaG93IGxvZ2luIGZvcm0nOwokbGFuZ1sncmVnaXN0ZXJlZHVzZXJzJ10gPSAnUmVnaXN0ZXJlZCB1c2VycyBvbmx5JzsKJGxhbmdbJ2Jsb2NrJ10gPSAn44OW44Ot44OD44KvJzsKJGxhbmdbJ3VzZWV4cGlyZWRhdGUnXSA9ICdVc2UgZXhwaXJlIGRhdGUnOwokbGFuZ1snc3RhcnRkYXRlJ10gPSAn6ZaL5aeL5pelJzsKJGxhbmdbJ2VuZGRhdGUnXSA9ICfntYLkuobml6UnOwokbGFuZ1snYmxvY2tjb250ZW50J10gPSAn44OW44Ot44OD44Kv44O744Kz44Oz44OG44Oz44OEJzsKJGxhbmdbJ3NldHBhZ2VpbmFjdGl2ZSddID0gJ1NldCBQYWdlIHRvIEluYWN0aXZlJzsKJGxhbmdbJ2RlbGV0ZXBhZ2UnXSA9ICfliYrpmaTjg5rjg7zjgrgnOwokbGFuZ1sndW5pbnN0YWxsYWN0aW9uJ10gPSAnVW5pbnN0YWxsIGFjdGlvbic7CiRsYW5nWydzZXRjb250ZW50MSddID0gJ1NldCBhbGwgUGFnZXMgdG8gdHlwZSBDb250ZW50JzsKJGxhbmdbJ3NldGNvbnRlbnQyJ10gPSAnU2V0IGFsbCBQYWdlcyB0byB0eXBlIENvbnRlbnQgYW5kIHJlbW92ZSBhZGRpdGlvbmFsIGNvbnRlbnQgYmxvY2tzJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ1ByZWZlcmVuY2VzIHVwZGF0ZWQnOwokbGFuZ1snZmlsZW9wZXJhdGlvbnMnXSA9ICdGaWxlIG9wZXJhdGlvbnMnOwokbGFuZ1sndXBsb2FkbmV3ZmlsZSddID0gJ1VwbG9hZCBhIG5ldyBmaWxlJzsKJGxhbmdbJ2NyZWF0ZW5ld2RpciddID0gJ0NyZWF0ZSBhIG5ldyBkaXJlY3RvcnknOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ+OCouODg+ODl+ODreODvOODiSc7CiRsYW5nWydjcmVhdGVkaXInXSA9ICfkvZzmiJAnOwokbGFuZ1snc3VjY2VzcyddID0gJ+OCquODvOOCseODvCc7CiRsYW5nWydlcnJvciddID0gJ+OCqOODqeODvCc7CiRsYW5nWydmaWxldXBsb2FkZWQnXSA9ICdGaWxlIFwnJXNcJyB1cGxvYWRlZCc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdObyBkaXJuYW1lIHByb3ZpZGVkJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ0Rpcm5hbWUgXCclc1wnIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ25ld2RpcmNyZWF0ZWQnXSA9ICdOZXcgZGlyIFwnJXNcJyBzdWNjZXNzZnVsbHkgY3JlYXRlZCc7CiRsYW5nWyduZXdkaXJmYWlsZWQnXSA9ICdBbiBlcnJvciBvY2N1cmVkIHRyeWluZyB0byBjcmVhdGUgZGlyIFwnJXNcJyc7CiRsYW5nWydub2ZpbGUnXSA9ICdObyBmaWxlIHdhcyB1cGxvYWRlZCc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnVXBsb2FkZWQgZmlsZSBcJyVzXCcgaXMgdG9vIGJpZyc7CiRsYW5nWydjb250YWluc2lsbGVnYWxjaGFycyddID0gJ0ZpbGVuYW1lIFwnJXNcJyBjb250YWlucyBvbmUgb3IgbW9yZSBpbGxlZ2FsIGNoYXJhY3RlcnMgKFwnLCIsKywqLFxcLC8sJiwkKSc7CiRsYW5nWyd1cGxvYWRmYWlsZWQnXSA9ICdFcnJvciBtb3ZpbmcgdXBsb2FkZWQgZmlsZSBcJyVzXCcgaW50byBwbGFjZSc7CiRsYW5nWydjb25maXJtZGVsZXRlJ10gPSAnQXJlIHlvdSBzdXJlIHRvIGRlbGV0ZSB0aGUgZmlsZSBcXFwnJXNcXFwnPyc7CiRsYW5nWydkZWxldGVmaWxlc3VjY2VzcyddID0gJ0ZpbGUgXCclc1wnIHdhcyBzdWNjZXNzZnVsbHkgZGVsZXRlZCc7CiRsYW5nWydkZWxldGVmaWxlZmFpbGVkJ10gPSAnRmlsZSBcJyVzXCcgY291bGQgbm90IGJlIGRlbGV0ZWQnOwokbGFuZ1snZGVsZXRlc3ViZGlyZmFpbGVkJ10gPSAnRGlyIFwnJXNcJyBjb3VsZCBub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydkZWxldGVzdWJkaXJzdWNjZXNzJ10gPSAnRGlyIFwnJXNcJyB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQnOwokbGFuZ1snY29uZmlybWRlbGV0ZWRpciddID0gJ0FyZSB5b3Ugc3VyZSB0byBkZWxldGUgdGhlIGRpcmVjdG9yeSBcXFwnJXNcXFwnPyc7CiRsYW5nWydkZWxldGVkaXInXSA9ICdEZWxldGUgZW1wdHkgc3ViZGlyJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICfjg5XjgqHjgqTjg6vliYrpmaQnOwokbGFuZ1sncmVzdHJpY3RkaXJzJ10gPSAnUmVzdHJpY3QgdXNlclwncyBkaXIgYWNjZXNzJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ1Nob3cgZmlsZW1hbmFnZW1lbnQgb3B0aW9ucyc7CiRsYW5nWydzaG93dGh1bWJuYWlsZmlsZXMnXSA9ICdTaG93IHRodW1ibmFpbHMnOwokbGFuZ1snYWxsb3dzY2FsaW5nJ10gPSAnQWxsb3cgb24tdGhlLWZseSByZXNpemluZyBvZiB1cGxvYWRlZCBpbWFnZXMnOwokbGFuZ1snc2NhbGluZ3dpZHRoJ10gPSAnU2NhbGluZyB3aWR0aCc7CiRsYW5nWydzY2FsaW5naGVpZ2h0J10gPSAnU2NhbGluZyBoZWlnaHQnOwokbGFuZ1snZGVmYXVsdGRpbWVuc2lvbnMnXSA9ICdEZWZhdWx0IGRpbWVuc2lvbnMnOwokbGFuZ1snYXV0byddID0gJ+iHquWLlSc7CiRsYW5nWydyZWxhdGl2ZXVybHMnXSA9ICdSZWxhdGl2ZSB1cmxzJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ0ZpbGVwaWNrZXIgc3R5bGUnOwokbGFuZ1snZmlsZXBpY2tlcnNpemUnXSA9ICdGaWxlcGlja2VyIHNpemUnOwokbGFuZ1snZmlsZW5hbWVvbmx5J10gPSAnU2hvdyBmaWxlbmFtZXMnOwokbGFuZ1sndGh1bWJuYWlsc29ubHknXSA9ICdTaG93IHRodW1ibmFpbHMnOwokbGFuZ1snc2hvd3RodW1ibmFpbGZpbGVzdGV4dCddID0gJ1Nob3cgdGh1bWJuYWlsLWZpbGVzIGFzIHJlZ3VsYXIgZmlsZXMnOwokbGFuZ1snZmlsZW5hbWVhbmR0aHVtYm5haWxzJ10gPSAnU2hvdyBib3RoIGZpbGVuYW1lcyBhbmQgdGh1bWJuYWlscyc7CiRsYW5nWydtYWtldGh1bWJuYWlsJ10gPSAnQ3JlYXRlIHRodW1ibmFpbHMnOwokbGFuZ1snZmlsZXBpY2tlcnNldHRpbmdzJ10gPSAnRmlsZVBpY2tlciBzZXR0aW5ncyc7CiRsYW5nWydyZXNpemV0byddID0gJ1Jlc2l6ZSBpbWFnZSB0byc7CiRsYW5nWydrZWVwYXNwZWN0cmF0aW8nXSA9ICdLZWVwIGFzcGVjdCByYXRpbyc7CiRsYW5nWydhbGxvd3Vwc2NhbGluZyddID0gJ0FsbG93IHVwc2NhbGluZyc7CiRsYW5nWydkZWNpbWFsZGVsaW1pdGVyJ10gPSAnLic7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywnOwokbGFuZ1snZGlybm90Zm91bmQnXSA9ICdEaXJlY3RvcnkgXCclc1wnIG5vdCBmb3VuZCEnOwokbGFuZ1snc2VsZWN0aW1hZ2UnXSA9ICdCcm93c2UgaW1hZ2VzJzsKJGxhbmdbJ3NlbGVjdGZpbGUnXSA9ICdCcm93c2UgZmlsZXMnOwokbGFuZ1snZGVsZXRlcGFnZXMnXSA9ICdEZWxldGUgYWxsIHBhZ2VzIG9mIHR5cGUgQWR2YW5jZWRDb250ZW50JzsKJGxhbmdbJ3VzZW1pbWV0eXBlJ10gPSAnVXNlIG1pbWUtdHlwZSB0byBnZXQgZmlsZSB0eXBlJzsKJGxhbmdbJ2ltcG9ydHBhZ2VzJ10gPSAnU2V0IGFsbCBQYWdlcyBvZiB0eXBlIGNvbnRlbnQgdG8gdHlwZSBBZHZhbmNlZENvbnRlbnQuJzsKJGxhbmdbJ3BhZ2VzaW1wb3J0ZWQnXSA9ICdBbGwgY29udGVudCBwYWdlcyBzZXQgdG8gQWR2YW5jZWRDb250ZW50Lic7CiRsYW5nWydjb25maXJtaW1wb3J0J10gPSAnRG8geW91IHJlYWxseSB3YW50IHRvIGNoYW5nZSB0aGUgY29udGVudCB0eXBlIG9mIGFsbCBjb250ZW50IHBhZ2VzPyc7CiRsYW5nWydub21pbWV0eXBlJ10gPSAnTm8gbWltZS10eXBlIGZ1bmN0aW9uIGF2YWlsYWJsZSBvciBub3QgY29uZmlndXJlZCBwcm9wZXJseS4gVGhpcyBmZWF0dXJlIGlzIGRpc2FibGVkLic7CiRsYW5nWyd0b2dnbGVfbWVzc2FnZSddID0gJ0hpZGUgdGhpcyBtZXNzYWdlJzsKJGxhbmdbJ2NvbnRlbnRzZXR0aW5ncyddID0gJ0RlZmF1bHQgQWR2YW5jZWRDb250ZW50IHNldHRpbmdzJzsKJGxhbmdbJ3JlZGlyZWN0cGFyYW1zJ10gPSAnVVJMIHBhcmFtcyB0byBhcHBlbmQgd2hlbiByZWRpcmVjdGluZyc7CiRsYW5nWydldmFsdWF0ZXNtYXJ0eSddID0gJ1VzZSBzbWFydHkgdG8gcHJvY2VzcyB0aGUgcGFyYW1zJzsKJGxhbmdbJ25vaW1hZ2VmaWxlJ10gPSAnXCclc1wnIGlzIG5vdCBhbiBpbWFnZSBmaWxlJzsKJGxhbmdbJ2ZpbGV0eXBlbm90YWxsb3dlZCddID0gJ0ZpbGV0eXBlIFwnJXNcJyBpcyBub3QgYWxsb3dlZCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjEwMjU5MTU3MzAuMTI4Mzc4Mzk4Ni4xMjgzNzgzOTg2LjEyODM3ODM5ODYuMSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI4Mzc4Mzk4Nic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI4Mzc4Mzk4Ni4xLjEudXRtY3NyPShkaXJlY3QpfHV0bWNjbj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTQ5NDk1ODE5NC0xMjgzNzgzOTg2OTA2JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ0FkdmFuY2VkQ29udGVudCddID0gJ0FkdmFuY2VkIENvbnRlbnQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIEFkdmFuY2VkQ29udGVudCAlcyBpbnN0YWxsZWQnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgQWR2YW5jZWRDb250ZW50ICVzIHVuaW5zdGFsbGVkJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIEFkdmFuY2VkQ29udGVudCB1cGdyYWRlZCB0byAlcyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ01vZHVsZSBBZHZhbmNlZENvbnRlbnQgJXMgaW5zdGFsbGVkLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdWxlIEFkdmFuY2VkQ29udGVudCAlcyB1bmluc3RhbGxlZC4nOwokbGFuZ1snY29uZmlybXVuaW5zdGFsbCddID0gJ0RvIHlvdSByZWFsbHkgd2FudCB1bmluc3RhbGwgdGhlIG1vZHVsZSBBZHZhbmNlZENvbnRlbnQ/JzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZWNvbnRlbnQnXSA9ICc8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IHtjb250ZW50IGJsb2NrPSYjMDM5OyVzJiMwMzk7IC4uLiB9IGlzIGFtYmlnb3VzLiBCbG9jayBuYW1lcyBtdXN0IGJlIHVuaXF1ZS4gPGJyIC8+VGhpcyBibG9jayBpcyBkaXNhYmxlZC4gT25seSBmaXJzdCBibG9jayB3aWxsIGJlIHNob3duLiBDaGVjayB5b3VyIHBhZ2UgdGVtcGxhdGUgYW5kIGNob3NlIGEgZGlmZmVyZW50IHZhbHVlIG9mIHBhcmFtICYjMDM5O2Jsb2NrJiMwMzk7LjwvZW0+JzsKJGxhbmdbJ25vdGljZV9kdXBsaWNhdGVjb250ZW50J10gPSAnPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBUaGlzIGJsb2NrIGlzIHVzZWQgbXVsdGlwbGUgdGltZXMgaW4gdGVtcGxhdGUuIFlvdSBvbmx5IHNlZSB0aGUgZmlyc3QgYmxvY2sgaGVyZS48L2VtPic7CiRsYW5nWydlcnJvcl9iYXNpY2F0dHJpYiddID0gJzxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gQ2Fubm90IHVzZSBiYXNpYyBjb250ZW50IHByb3BlcnR5IG5hbWUgJiMwMzk7JXMmIzAzOTsgYXMgdmFsdWUgb2YgcGFyYW0gJiMwMzk7YmxvY2smIzAzOTsuIDxiciAvPlRoaXMgYmxvY2sgaXMgZGlzYWJsZWQuIENoZWNrIHlvdXIgcGFnZSB0ZW1wbGF0ZSBhbmQgY2hvc2UgYSBkaWZmZXJlbnQgdmFsdWUgb2YgcGFyYW0gJiMwMzk7YmxvY2smIzAzOTsuPC9lbT4nOwokbGFuZ1snZXJyb3JfZXhwaXJlZGF0ZSddID0gJ0VuZCBkYXRlIG11c3QgYmUgbGF0ZXIgdGhhbiBzdGFydCBkYXRlLic7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdDdXJyZW50IGRpcmVjdG9yeSc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnSW1hZ2VzaXplJzsKJGxhbmdbJ3NpemUnXSA9ICdGaWxlc2l6ZSc7CiRsYW5nWydpbmhlcml0X2Zyb21fcGFyZW50J10gPSAnSW5oZXJpdCBmcm9tIHBhcmVudCc7CiRsYW5nWydub25lJ10gPSAnbm9uZSc7CiRsYW5nWydpbnZhbGlkJ10gPSAnaW52YWxpZCc7CiRsYW5nWyd5ZXMnXSA9ICdZZXMnOwokbGFuZ1snbm8nXSA9ICdObyc7CiRsYW5nWydmcm9udGVuZGFjY2VzcyddID0gJ0Zyb250ZW5kIGFjY2Vzcyc7CiRsYW5nWydyZWRpcmVjdHBhZ2UnXSA9ICdSZWRpcmVjdCBQYWdlIGlmIG5vIGFjY2Vzcyc7CiRsYW5nWydzaG93bG9naW5mb3JtJ10gPSAnU2hvdyBsb2dpbiBmb3JtJzsKJGxhbmdbJ3JlZ2lzdGVyZWR1c2VycyddID0gJ1JlZ2lzdGVyZWQgdXNlcnMgb25seSc7CiRsYW5nWydibG9jayddID0gJ0Jsb2NrJzsKJGxhbmdbJ3VzZWV4cGlyZWRhdGUnXSA9ICdVc2UgZXhwaXJlIGRhdGUnOwokbGFuZ1snc3RhcnRkYXRlJ10gPSAnU3RhcnQgRGF0ZSc7CiRsYW5nWydlbmRkYXRlJ10gPSAnRW5kIERhdGUnOwokbGFuZ1snYmxvY2tjb250ZW50J10gPSAnQmxvY2sgQ29udGVudCc7CiRsYW5nWydzZXRwYWdlaW5hY3RpdmUnXSA9ICdTZXQgUGFnZSB0byBJbmFjdGl2ZSc7CiRsYW5nWydkZWxldGVwYWdlJ10gPSAnRGVsZXRlIFBhZ2UnOwokbGFuZ1sndW5pbnN0YWxsYWN0aW9uJ10gPSAnVW5pbnN0YWxsIGFjdGlvbic7CiRsYW5nWydzZXRjb250ZW50MSddID0gJ1NldCBhbGwgUGFnZXMgdG8gdHlwZSBDb250ZW50JzsKJGxhbmdbJ3NldGNvbnRlbnQyJ10gPSAnU2V0IGFsbCBQYWdlcyB0byB0eXBlIENvbnRlbnQgYW5kIHJlbW92ZSBhZGRpdGlvbmFsIGNvbnRlbnQgYmxvY2tzJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ1ByZWZlcmVuY2VzIHVwZGF0ZWQnOwokbGFuZ1snZmlsZW9wZXJhdGlvbnMnXSA9ICdGaWxlIG9wZXJhdGlvbnMnOwokbGFuZ1sndXBsb2FkbmV3ZmlsZSddID0gJ1VwbG9hZCBhIG5ldyBmaWxlJzsKJGxhbmdbJ2NyZWF0ZW5ld2RpciddID0gJ0NyZWF0ZSBhIG5ldyBkaXJlY3RvcnknOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ1VwbG9hZCc7CiRsYW5nWydjcmVhdGVkaXInXSA9ICdDcmVhdGUnOwokbGFuZ1snc3VjY2VzcyddID0gJ09rJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3InOwokbGFuZ1snZmlsZXVwbG9hZGVkJ10gPSAnRmlsZSB1cGxvYWRlZCc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdObyBkaXJuYW1lIHByb3ZpZGVkJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ0Rpcm5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ05ldyBkaXIgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQnOwokbGFuZ1snbmV3ZGlyZmFpbGVkJ10gPSAnQW4gZXJyb3Igb2NjdXJlZCB0cnlpbmcgdG8gY3JlYXRlIGRpcic7CiRsYW5nWydub2ZpbGUnXSA9ICdObyBmaWxlIHdhcyB1cGxvYWRlZCc7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnVXBsb2FkZWQgZmlsZSBpcyB0b28gYmlnJzsKJGxhbmdbJ2NvbnRhaW5zaWxsZWdhbGNoYXJzJ10gPSAnRmlsZW5hbWUgY29udGFpbnMgb25lIG9yIG1vcmUgaWxsZWdhbCBjaGFyYWN0ZXJzICgmIzAzOTssJnF1b3Q7LCssKixcLC8sJmFtcDssJCknOwokbGFuZ1sndXBsb2FkZmFpbGVkJ10gPSAnRXJyb3IgbW92aW5nIHVwbG9hZGVkIGZpbGUgaW50byBwbGFjZSc7CiRsYW5nWydjb25maXJtZGVsZXRlJ10gPSAnQXJlIHlvdSBzdXJlIHRvIGRlbGV0ZSB0aGUgZmlsZSAlcz8nOwokbGFuZ1snZGVsZXRlZmlsZXN1Y2Nlc3MnXSA9ICd3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQnOwokbGFuZ1snZGVsZXRlZmlsZWZhaWxlZCddID0gJ2NvdWxkIG5vdCBiZSBkZWxldGVkJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcmZhaWxlZCddID0gJ2NvdWxkIG5vdCBiZSBkZWxldGVkJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcnN1Y2Nlc3MnXSA9ICd3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQnOwokbGFuZ1snY29uZmlybWRlbGV0ZWRpciddID0gJ0FyZSB5b3Ugc3VyZSB0byBkZWxldGUgdGhlIGRpcmVjdG9yeSAlcz8nOwokbGFuZ1snZGVsZXRlZGlyJ10gPSAnRGVsZXRlIGVtcHR5IHN1YmRpcic7CiRsYW5nWydkZWxldGVmaWxlJ10gPSAnRGVsZXRlIEZpbGUnOwokbGFuZ1sncmVzdHJpY3RkaXJzJ10gPSAnUmVzdHJpY3QgdXNlciYjMDM5O3MgZGlyIGFjY2Vzcyc7CiRsYW5nWydzaG93ZmlsZW1hbmFnZW1lbnQnXSA9ICdTaG93IGZpbGVtYW5hZ2VtZW50IG9wdGlvbnMnOwokbGFuZ1snc2hvd3RodW1ibmFpbGZpbGVzJ10gPSAnU2hvdyB0aHVtYm5haWxzJzsKJGxhbmdbJ2FsbG93c2NhbGluZyddID0gJ0FsbG93IG9uLXRoZS1mbHkgcmVzaXppbmcgb2YgdXBsb2FkZWQgaW1hZ2VzJzsKJGxhbmdbJ3NjYWxpbmd3aWR0aCddID0gJ1NjYWxpbmcgd2lkdGgnOwokbGFuZ1snc2NhbGluZ2hlaWdodCddID0gJ1NjYWxpbmcgaGVpZ2h0JzsKJGxhbmdbJ2RlZmF1bHRkaW1lbnNpb25zJ10gPSAnRGVmYXVsdCBkaW1lbnNpb25zJzsKJGxhbmdbJ2F1dG8nXSA9ICdBdXRvJzsKJGxhbmdbJ3JlbGF0aXZldXJscyddID0gJ1JlbGF0aXZlIHVybHMnOwokbGFuZ1snZmlsZXBpY2tlcnN0eWxlJ10gPSAnRmlsZXBpY2tlciBzdHlsZSc7CiRsYW5nWydmaWxlcGlja2Vyc2l6ZSddID0gJ0ZpbGVwaWNrZXIgc2l6ZSc7CiRsYW5nWydmaWxlbmFtZW9ubHknXSA9ICdTaG93IGZpbGVuYW1lcyc7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ1Nob3cgdGh1bWJuYWlscyc7CiRsYW5nWydzaG93dGh1bWJuYWlsZmlsZXN0ZXh0J10gPSAnU2hvdyB0aHVtYm5haWwtZmlsZXMgYXMgcmVndWxhciBmaWxlcyc7CiRsYW5nWydmaWxlbmFtZWFuZHRodW1ibmFpbHMnXSA9ICdTaG93IGJvdGggZmlsZW5hbWVzIGFuZCB0aHVtYm5haWxzJzsKJGxhbmdbJ21ha2V0aHVtYm5haWwnXSA9ICdDcmVhdGUgdGh1bWJuYWlscyc7CiRsYW5nWydmaWxlcGlja2Vyc2V0dGluZ3MnXSA9ICdGaWxlUGlja2VyIHNldHRpbmdzJzsKJGxhbmdbJ3Jlc2l6ZXRvJ10gPSAnUmVzaXplIGltYWdlIHRvJzsKJGxhbmdbJ2tlZXBhc3BlY3RyYXRpbyddID0gJ0tlZXAgYXNwZWN0IHJhdGlvJzsKJGxhbmdbJ2FsbG93dXBzY2FsaW5nJ10gPSAnQWxsb3cgdXBzY2FsaW5nJzsKJGxhbmdbJ2RlY2ltYWxkZWxpbWl0ZXInXSA9ICcuJzsKJGxhbmdbJ3Rob3VzYW5kZGVsaW1pdGVyJ10gPSAnLCc7CiRsYW5nWydkaXJub3Rmb3VuZCddID0gJ0RpcmVjdG9yeSAmIzAzOTslcyYjMDM5OyBub3QgZm91bmQhJzsKJGxhbmdbJ3NlbGVjdGltYWdlJ10gPSAnQnJvd3NlIGltYWdlcyc7CiRsYW5nWydzZWxlY3RmaWxlJ10gPSAnQnJvd3NlIGZpbGVzJzsKJGxhbmdbJ2RlbGV0ZXBhZ2VzJ10gPSAnRGVsZXRlIGFsbCBwYWdlcyBvZiB0eXBlIEFkdmFuY2VkQ29udGVudCc7CiRsYW5nWyd1c2VtaW1ldHlwZSddID0gJ1VzZSBtaW1lLXR5cGUgdG8gZ2V0IGZpbGUgdHlwZSc7CiRsYW5nWydpbXBvcnRwYWdlcyddID0gJ1NldCBhbGwgUGFnZXMgb2YgdHlwZSBjb250ZW50IHRvIHR5cGUgQWR2YW5jZWRDb250ZW50Lic7CiRsYW5nWydwYWdlc2ltcG9ydGVkJ10gPSAnQWxsIGNvbnRlbnQgcGFnZXMgc2V0IHRvIEFkdmFuY2VkQ29udGVudC4nOwokbGFuZ1snY29uZmlybWltcG9ydCddID0gJ0RvIHlvdSByZWFsbHkgd2FudCB0byBjaGFuZ2UgdGhlIGNvbnRlbnQgdHlwZSBvZiBhbGwgY29udGVudCBwYWdlcz8nOwokbGFuZ1snbm9taW1ldHlwZSddID0gJ05vIG1pbWUtdHlwZSBmdW5jdGlvbiBhdmFpbGFibGUgb3Igbm90IGNvbmZpZ3VyZWQgcHJvcGVybHkuIFRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZC4nOwokbGFuZ1sndG9nZ2xlX21lc3NhZ2UnXSA9ICdIaWRlIHRoaXMgbWVzc2FnZSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyODEyMDQwMTQuMzExMi43MS51dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vaW5kZXgucGhwJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTc5MDUyNjIzMDg0MTEwMTAwLjEyMTA0MjM1NzcuMTI4MTQ3NTUwMy4xMjgxNTU2Nzg0LjMxMjknOwokbGFuZ1sncWNhJ10gPSAnMTIxMDk3MTY5MC0yNzMwODA3My04MTk1MjgzMic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuNi4xMC4xMjgxNTU2Nzg0JzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ0FkdmFuY2VkQ29udGVudCddID0gJ0FkdmFuY2VkIENvbnRlbnQgJzsKJGxhbmdbJ2FkbWluZGVzY3JpcHRpb24nXSA9ICdBZHZhbmNlZCBjb250ZW50IHR5cGUgbWV0IGFhbmdlcGFzdGUgdmVsZGVuIHZvb3IgaGV0IHRvZXZvZWdlbi9iZXdlcmtlbiB2YW4gaGV0IHBhZ2luYSBwYW5lbCBlbiBlbmtlbGUgZXh0cmEgZnVuY3RpZXMuJzsKJGxhbmdbJ2FkdmFuY2VkY29udGVudF90YWJuYW1lJ10gPSAnR2VhdmFuY2VlcmRlIE9wdGllcyc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgQWR2YW5jZWRDb250ZW50ICVzIGlzIGdlJml1bWw7bnN0YWxsZWVyZCc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBBZHZhbmNlZENvbnRlbnQgJXMgaXMgZ2VkZSZpdW1sO25zdGFsbGVlcmQnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgQWR2YW5jZWRDb250ZW50IGlzIGJpamdld2Vya3QgbmFhciAlcyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ01vZHVsZSBBZHZhbmNlZENvbnRlbnQgJXMgaXMgZ2UmaXVtbDtuc3RhbGxlZXJkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdNb2R1bGUgQWR2YW5jZWRDb250ZW50ICVzIGlzIGdlZGUmaXVtbDtuc3RhbGxlZXJkJzsKJGxhbmdbJ2NvbmZpcm11bmluc3RhbGwnXSA9ICdXZWV0IHUgemVrZXIgZGF0IHUgZGUgbW9kdWxlIEFkdmFuY2VkQ29udGVudCB3aWx0IGRlJml1bWw7bnN0YWxsZXJlbj8nOwokbGFuZ1snd2FybmluZ3VuaW5zdGFsbCddID0gJ1dBQVJTQ0hVV0lORyEgVSBoZWVmdCBnZWVuIGRlJml1bWw7bnN0YWxsYXRpZSBhY3RpZSBnZWJydWlrdCBpbiBkZSBtb2R1bGV2b29ya2V1cmVuISBDb250cm9sZWVyIHZvb3IgZGUgemVrZXJoZWlkIGRhdCBlciBnZWVuIHBhZ2luYSYjMDM5O3MgbWVlciBzdGFhbiBpbmdlc3RlbGQgb3AgaGV0IHR5cGUgQWR2YW5jZWQgQ29udGVudCB2b29yZGF0IHUgZGV6ZSBtb2R1bGUgdmVyd2lqZGVyZCEgVSBrdW50IGFuZGVycyB1dyBDTVMgaW5zdGFsbGF0aWUgYmVzY2hhZGlnZW4hICc7CiRsYW5nWyd3YXJuaW5ndW5pbnN0YWxsMSddID0gJ1dBQVJTQ0hVV0lORyEgRGl0IHphbCBhbGxlIHBhZ2luYSYjMDM5O3MgdmVyd2lqZGVyZW4gbWV0IGhldCB0eXBlIEFkdmFuY2VkIENvbnRlbnQhICc7CiRsYW5nWyd3YXJuaW5ndW5pbnN0YWxsMiddID0gJ09QTUVSS0lORzogRGl0IHphbCBhbGxlIHBhZ2luYSYjMDM5O3MgdmFuIGhldCBBZHZhbmNlZENvbnRlbnQtdHlwZSB0ZXJ1Z3BsYWF0c2VuIG5hYXIgaGV0IHN0YW5kYWFyZCBjb250ZW50dHlwZS4nOwokbGFuZ1snd2FybmluZ3VuaW5zdGFsbDMnXSA9ICdXQUFSU0NIVVdJTkchIERpdCB6YWwgYWxsZSBwYWdpbmEmIzAzOTtzIHZhbiBoZXQgQWR2YW5jZWRDb250ZW50LXR5cGUgdGVydWdwbGFhdHN0ZW4gbmFhciBoZXQgc3RhbmRhYXJkIGNvbnRlbnR0eXBlLCBkYWFybmFhc3QgemFsIGhldCBhbGxlIGV4dHJhIGluaG91ZHNibG9ra2VuIHZlcndpamRlcmVuIChiZWhhbHZlIGhldCBzdGFuZGFhcmQgaW5ob3Vkc2Jsb2spLic7CiRsYW5nWydub3RpY2VfZHVwbGljYXRlY29udGVudCddID0gJzxlbT48c3Ryb25nPkxldCBvcDo8L3N0cm9uZz4gRGl0IGJsb2sga29tdCBtZWVyZGVyZSBrZXJlbiB2b29yIGluIGhldCBzamFibG9vbi4gQWxsZWVuIGhldCBlZXJzdGUgYmxvayB3b3JkdCBoaWVyIGdldG9vbmQuPC9lbT4nOwokbGFuZ1snZXJyb3JfYmFzaWNhdHRyaWInXSA9ICc8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IENhbm5vdCB1c2UgYmFzaWMgY29udGVudCBwcm9wZXJ0eSBuYW1lICYjMDM5OyVzJiMwMzk7IGFzIHZhbHVlIG9mIHBhcmFtICYjMDM5O2Jsb2NrJiMwMzk7LiA8YnIgLz5UaGlzIGJsb2NrIGlzIGRpc2FibGVkLiBDaGVjayB5b3VyIHBhZ2UgdGVtcGxhdGUgYW5kIGNob3NlIGEgZGlmZmVyZW50IHZhbHVlIG9mIHBhcmFtICYjMDM5O2Jsb2NrJiMwMzk7LjwvZW0+JzsKJGxhbmdbJ2Vycm9yX2V4cGlyZWRhdGUnXSA9ICdFaW5kZGF0dW0gbW9ldCBuYSBkZSBzdGFydGRhdHVtIHZhbGxlbic7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdIdWlkaWdlIGRpcmVjdG9yeSc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnQWZiZWVsZGluZyBBZm1ldGluZ2VuJzsKJGxhbmdbJ3NpemUnXSA9ICdCZXN0YW5kc2dyb290dGUnOwokbGFuZ1snaW5oZXJpdF9mcm9tX3BhcmVudCddID0gJ05lZW0gb3ZlciB2YW4gZGUgb3VkZXInOwokbGFuZ1snbm9uZSddID0gJ2dlZW4nOwokbGFuZ1snaW52YWxpZCddID0gJ2ZvdXQnOwokbGFuZ1snaW52YWxpZF9ibG9ja3R5cGUnXSA9ICc8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IEludmFsaWQgdmFsdWUgJiMwMzk7JXMmIzAzOTsgb2YgcGFyYW0gYmxvY2tfdHlwZSBpbiBibG9jayAmIzAzOTslcyYjMDM5Oy48YnIgLz5DaGVjayB5b3VyIHBhZ2UgdGVtcGxhdGUuPC9lbT4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50X2Jsb2NrcGFyYW1zJ10gPSAnPGVtPjxzdHJvbmc+RXJyb3I6PC9zdHJvbmc+IEluc3VmZmljaWVudCBwYXJhbXMuIDxiciAvPk1pc3NpbmcgcGFyYW0gJiMwMzk7JXMmIzAzOTsgZm9yIGJsb2NrICYjMDM5OyVzJiMwMzk7LiBDaGVjayB5b3VyIHBhZ2UgdGVtcGxhdGUuPC9lbT4nOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1snbm8nXSA9ICdOZWUnOwokbGFuZ1snZnJvbnRlbmRhY2Nlc3MnXSA9ICdGcm9udGVuZCBUb2VnYW5nJzsKJGxhbmdbJ3JlZGlyZWN0cGFnZSddID0gJ1ZlcndpanplbiBuYWFyIHBhZ2luYSBpbmRpZW4gZ2VlbiB0b2VnYW5nJzsKJGxhbmdbJ3Nob3dsb2dpbmZvcm0nXSA9ICdUb29uIGxvZ2luIGZvcm11bGllcic7CiRsYW5nWydyZWdpc3RlcmVkdXNlcnMnXSA9ICdBbGxlZW4gZ2VyZWdpc3RyZWVyZGUgZ2VicnVpa2Vycyc7CiRsYW5nWydibG9jayddID0gJ0Jsb2NrICc7CiRsYW5nWyd1c2VleHBpcmVkYXRlJ10gPSAnR2VicnVpayB2ZXJsb29wZGF0dW0nOwokbGFuZ1snc3RhcnRkYXRlJ10gPSAnU3RhcnQgRGF0dW0nOwokbGFuZ1snZW5kZGF0ZSddID0gJ0VpbmQgRGF0dW0nOwokbGFuZ1snYmxvY2tjb250ZW50J10gPSAnQmxvY2sgSW5ob3VkJzsKJGxhbmdbJ3NldHBhZ2VpbmFjdGl2ZSddID0gJ1BhZ2luYSBJbmFjdGllZic7CiRsYW5nWydkZWxldGVwYWdlJ10gPSAnVmVyd2lqZGVyIFBhZ2luYSc7CiRsYW5nWyd1bmluc3RhbGxhY3Rpb24nXSA9ICdEZSZpdW1sO25zdGFsbGVlciBiZXdlcmtpbmcnOwokbGFuZ1snc2V0Y29udGVudDEnXSA9ICdTdGVsIGFsbGUgcGFnaW5hJiMwMzk7cyBpbiBtZXQgaGV0IHR5cGUgQ29udGVudCc7CiRsYW5nWydzZXRjb250ZW50MiddID0gJ1N0ZWwgYWxsZSBwYWdpbmEmIzAzOTtzIGluIG1ldCBoZXQgdHlwZSBDb250ZW50IGVuIHZlcndpamRlciBhbGxlIGV4dHJhIGNvbnRlbnQgYmxvY2tzJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ1Zvb3JrZXVyZW4gYmlqZ2V3ZXJrdCc7CiRsYW5nWydzdWNjZXNzJ10gPSAnT2smZWFjdXRlOyc7CiRsYW5nWydlcnJvciddID0gJ0ZvdXQnOwokbGFuZ1snZGVsZXRlcGFnZXMnXSA9ICdWZXJ3aWpkZXIgYWxsZSBwYWdpbmEmIzAzOTtzIG1ldCBoZXQgdHlwZSBBZHZhbmNlZENvbnRlbnQnOwokbGFuZ1snaW1wb3J0cGFnZXMnXSA9ICdTdGVsIGFsbGUgcGFnaW5hJiMwMzk7cyBpbiBtZXQgaGV0IHR5cGUgJXMgbmFhciBoZXQgdHlwZSAlcy4nOwokbGFuZ1snY29uZmlybWltcG9ydCddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBoZXQgY29udGVudHR5cGUgdmFuIGFsbGUgcGFnaW5hJiMwMzk7cyB3aWwgd2lqemlnZW4/JzsKJGxhbmdbJ3RvZ2dsZV9tZXNzYWdlJ10gPSAnVmVyYmVyZyBkaXQgYmVyaWNodCc7CiRsYW5nWydjb250ZW50c2V0dGluZ3MnXSA9ICdTdGFuZGFhcmQgQWR2YW5jZWRDb250ZW50IEluc3RlbGxpbmdlbic7CiRsYW5nWydyZWRpcmVjdHBhcmFtcyddID0gJ1VSTCBwYXJhbXMgdG8gYXBwZW5kIHdoZW4gcmVkaXJlY3RpbmcgKHBhcmFtMT12YWx1ZTEgcGFyYW0yPXZhbHVlMiAuLi4pJzsKJGxhbmdbJ2V2YWx1YXRlc21hcnR5J10gPSAnVXNlIHNtYXJ0eSB0byBjcmVhdGUgdGhlIHBhcmFtcyc7CiRsYW5nWydlcnJvcl9sb2FkaW5nX21vZHVsZSddID0gJzxlbT48c3Ryb25nPkVycm9yOjwvc3Ryb25nPiBDb3VsZCBub3QgbG9hZCBtb2R1bGUgJiMwMzk7JXMmIzAzOTsuIChEZWZpbmVkIGZvciBibG9jayAmIzAzOTslcyYjMDM5OyBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUuKTwvZW0+JzsKJGxhbmdbJ2Vycm9yX2NvbnRlbnRibG9ja19zdXBwb3J0J10gPSAnPGVtPjxzdHJvbmc+RXJyb3I6PC9zdHJvbmc+IE1vZHVsZSAmIzAzOTslcyYjMDM5OyBkb2VzIG5vdCBzdXBwb3J0IGNvbnRlbnRibG9ja3MuIChEZWZpbmVkIGZvciBibG9jayAmIzAzOTslcyYjMDM5OyBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUuKTwvZW0+JzsKJGxhbmdbJ3N1Y2Nlc3NfaW1wb3J0cGFnZXMnXSA9ICdBbGxlIHBhZ2luYSYjMDM5O3MgdmFuIGhldCB0eXBlICVzIHppam4gc3VjY2Vzdm9sIGdld2lqemlnZCBuYWFyICVzJzsKJGxhbmdbJ3Nob3dfYWR2YW5jZWRjb250ZW50X29wdGlvbnMnXSA9ICdHZWVmIEFkdmFuY2VkQ29udGVudCBvcHRpZXMgdGFiYmxhZCB3ZWVyJzsKJGxhbmdbJ2Rpc3BsYXlfc2V0dGluZ3MnXSA9ICclcyB3ZWVyZ2F2ZSBpbnN0ZWxsaW5nZW4nOwokbGFuZ1snc2F2ZV9jb2xsYXBzZV9zdGF0dXMnXSA9ICdTbGEgZGUgaW5rbGFwc3RhdHVzIG9wIHZhbiAlcyc7CiRsYW5nWydjb250ZW50X2Jsb2NrcyddID0gJ2NvbnRlbnQgYmxva2tlbic7CiRsYW5nWydibG9ja19tZXNzYWdlJ10gPSAnY29udGVudCBibG9rIGJlcmljaHQnOwokbGFuZ1snYmxvY2tfZ3JvdXBzJ10gPSAnYmxvayBncm9lcGVuJzsKJGxhbmdbJ2NvbGxhcHNlX2RlZmF1bHQnXSA9ICdLbGFwICVzIHN0YW5kYWFyZCBpbic7CiRsYW5nWydwZXJfcGFnZSddID0gJ3BlciBwYWdpbmEnOwokbGFuZ1sncGVyX3RlbXBsYXRlJ10gPSAncGVyIHNqYWJsb29uJzsKJGxhbmdbJ2JvdGgxJ10gPSAnc2phYmxvb24gT0YgcGFnaW5hICc7CiRsYW5nWydib3RoMiddID0gJ3NqYWJsb29uIEVOIHBhZ2luYSc7CiRsYW5nWydjb250ZW50J10gPSAnSW5ob3VkJzsKJGxhbmdbJ2NvbnRlbnQyJ10gPSAnQWR2YW5jZWQgQ29udGVudCAnOwokbGFuZ1sncHJlZnMnXSA9ICdJbnN0ZWxsaW5nZW4nOwokbGFuZ1snbXVsdGlfaW5wdXQnXSA9ICdNdWx0aSBpbnB1dCc7CiRsYW5nWydtdWx0aV9pbnB1dF90cGwnXSA9ICdNdWx0aSBpbnB1dHRlbXBsYXRlcyc7CiRsYW5nWydhZGRfbXVsdGlfaW5wdXQnXSA9ICdWb2VnIG5pZXV3ZSBtdWx0aSBpbnB1dCB0b2UnOwokbGFuZ1snYWRkX211bHRpX2lucHV0X3RwbCddID0gJ1ZvZWcgbmlldXdlIG11bHRpIGlucHV0dGVtcGxhdGUgdG9lJzsKJGxhbmdbJ2lucHV0X2lkJ10gPSAnSW52b2VyIElEJzsKJGxhbmdbJ2lucHV0X2ZpZWxkcyddID0gJ0ludm9lciB2ZWxkZW4nOwokbGFuZ1sndHBsX25hbWUnXSA9ICdTamFibG9vbiBuYWFtJzsKJGxhbmdbJ2Vycm9yX3RlbXBsYXRlJ10gPSAnRGUgdGVtcGxhdGUgdmVyZWlzdCBkaXQgdmVsZCBlbiBoZXQgbWFnIG5pZXQgbGVlZ2dlbGF0ZW4gd29yZGVuJzsKJGxhbmdbJ2Vycm9yX2lucHV0X2ZpZWxkcyddID0gJ0ludm9lcnZlbGRlbiBpcyBlZW4gdmVyZWlzdCB2ZWxkIGVuIG1hZyBuaWV0IGxlZWdnZWxhdGVuIHdvcmRlbi4nOwokbGFuZ1snZXJyb3JfaW5wdXRfaWQnXSA9ICdHZWVuIGludm9lciBpZCBnZWdldmVuIG9mIGludm9lciBpZCBiZXN0YWF0IGFsLic7CiRsYW5nWydlcnJvcl9pbnB1dF9pZF9leGlzdHMnXSA9ICdJbnZvZXIgSUQgaXMgYWwgaW4gZ2VicnVpay4gS2llcyBlZW4gYW5kZXJlIChtb2V0IHVuaWVrIHppam4pLic7CiRsYW5nWydtdWx0aV9pbnB1dF9hZGRlZCddID0gJ011bHRpIElucHV0IHRvZWdldm9lZ2QuJzsKJGxhbmdbJ211bHRpX2lucHV0X2RlbGV0ZWQnXSA9ICdNdWx0aSBJbnB1dCB2ZXJ3aWpkZXJkLic7CiRsYW5nWydtdWx0aV9pbnB1dF91cGRhdGVkJ10gPSAnTXVsdGkgSW5wdXQgYmlqZ2V3ZXJrdC4nOwokbGFuZ1snbXVsdGlfaW5wdXRfdHBsX2FkZGVkJ10gPSAnTXVsdGkgSW5wdXQgdGVtcGxhdGUgdG9lZ2V2b2VnZC4nOwokbGFuZ1snbXVsdGlfaW5wdXRfdHBsX3VwZGF0ZWQnXSA9ICdNdWx0aSBJbnB1dCB0ZW1wbGF0ZSBiaWpnZXdlcmt0Lic7CiRsYW5nWydtdWx0aV9pbnB1dF90cGxfZGVsZXRlZCddID0gJ011bHRpIElucHV0IHRlbXBsYXRlIHZlcndpamRlcmQuJzsKJGxhbmdbJ2RlbGV0ZV9zZWxlY3RlZCddID0gJ1ZlcndpamRlciBnZXNlbGVjdGVlcmRlIGl0ZW1zJzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlJ10gPSAnV2VldCB1IHpla2VyIGRhdCB1IGRpdCB3aWx0IHZlcndpamRlcmVuPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9zZWxlY3RlZCddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkZXplIHdpbHQgdmVyd2lqZGVyZW4/JzsKJGxhbmdbJ2hpZGVfY29udGVudCddID0gJ0dlZW4gKHZlcmJlcmcgZGUgaW5ob3VkKSc7CiRsYW5nWydoaWRlX21lbnVfaXRlbSddID0gJ1ZlcmJlcmdlbiB2YW4gbWVudSc7CiRsYW5nWydsb2dnZWRvdXQnXSA9ICdpbmRpZW4gbmlldCBhYW5nZW1lbGQnOwokbGFuZ1snbG9nZ2VkaW4nXSA9ICdpbmRpZW4gYWFuZ2VtZWxkJzsKJGxhbmdbJ2FmdGVyY3VycmRhdGUnXSA9ICduYSBkZSBodWlkaWdlIGRhdHVtJzsKJGxhbmdbJ2FmdGVyc3RhcnRkYXRlJ10gPSAnbmEgZGUgc3RhcnRkYXR1bSc7CiRsYW5nWydtaW51dGVzJ10gPSAnbWludXRlbic7CiRsYW5nWydob3VycyddID0gJ3VyZW4nOwokbGFuZ1snZGF5cyddID0gJ2RhZ2VuJzsKJGxhbmdbJ3dlZWtzJ10gPSAnd2VrZW4nOwokbGFuZ1snbW9udGhzJ10gPSAnbWFhbmRlbic7CiRsYW5nWyd5ZWFycyddID0gJ2phcmVuJzsKJGxhbmdbJ3N3aXRjaF9wYXJhbXMnXSA9ICdaZXQgYWxsZSAmIzAzOTslcyYjMDM5OyBuYWFyICYjMDM5OyVzJiMwMzk7Lic7CiRsYW5nWydmZXVfcGFyYW1zJ10gPSAnUGFyYW1ldGVycyB2b29yIGRlIEZyb250RW5kVXNlcnMgbW9kdWxlJzsKJGxhbmdbJ2N1c3RvbV9wYXJhbXMnXSA9ICdBYW5nZXBhc3RlIFVSTC1wYXJhbWV0ZXJzIG9tIHRvZSB0ZSB2b2VnZW4gYmlqIGhldCBkb29ydmVyd2lqemVuJzsKJGxhbmdbJ2NvbmZpcm1fc3dpdGNocGFyYW1zJ10gPSAnV2VldCB1IHpla2VyIGRhdCB1IGRlIGluaG91ZHNlaWdlbnNjaGFwIFwmIzAzOTslc1wmIzAzOTsgdmFuIGFsbGUgcGFnaW5hJiMwMzk7cyB3aWx0IHdpanppZ2VuIGluIFwmIzAzOTslc1wmIzAzOTs/JzsKJGxhbmdbJ3N1Y2Nlc3Nfc3dpdGNocGFyYW1zJ10gPSAnQWxsZSBlaWdlbnNjaGFwcGVuIHppam4gZ2V3aWp6aWdkJzsKJGxhbmdbJ2hlbHBfdHBsX3ZhcnMnXSA9ICc8cD48c3Ryb25nPlRlbXBsYXRlIHZhcnM6PC9zdHJvbmc+PC9wPg0KPHA+PHByZT48Y29kZT57JGlucHV0c308L2NvZGU+PC9wcmU+IGlzIGFuIGFycmF5IHRoYXQgY29udGFpbnMgYWxsIGRlZmluZWQgaW5wdXQgZWxlbWVudHMgb2YgdGhhdCBtdWx0aSBpbnB1dCBibG9jay48YnIgLz4NCkVhY2ggaW5wdXQgZWxlbWVudCBpcyBhbiBhcnJheSB0aGF0IGNvbnRhaW5zIGFsbCBpdHMgcGFyYW1zLiA8YnIgLz4NClNlZSBtb2R1bGUgaGVscCBmb3IgbW9yZSBpbmZvLjxiciAvPg0KQWRkaXRpb25hbCBwYXJhbSBpcyAmcXVvdDtpbnB1dCZxdW90OyB0aGF0IHdpbGwgcHJpbnQgb3V0IHRoZSBpbnB1dCBlbGVtZW50LjxiciAvPg0KVG8gYWNjZXNzIHRoZSBwYXJhbXMgdXNlIHRoZSBkb3Qgc3ludGF4LjxiciAvPg0KRXhhbXBsZTo8L3A+DQo8cHJlPjxjb2RlPntmb3JlYWNoIGZyb209JGlucHV0cyBpdGVtPWVsbX0NCgl7JGVsbS5sYWJlbH06Jm5ic3A7eyRlbG0uaW5wdXR9PGJyIC8+DQp7L2ZvcmVhY2h9PC9jb2RlPjwvcHJlPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjI1MDE5Nzg5NS4xMzE2NTUyMDg0LjEzMTY1NTIwODQuMTMxNjU1MjA4NC4xJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTMxNjU1MjA4NC4xLjEudXRtY2NuPShkaXJlY3QpfHV0bWNzcj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE0MDg5MjY2NjEtMTMwOTUyODQ3NTI1Nic7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ro_RO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ0FkdmFuY2VkQ29udGVudCddID0gJ0NvbnRpbnV0IEF2YW5zYXQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWx1bCBDb250aW51dEF2YW5zYXQgJXMgYSBmb3N0IGluc3RhbGF0JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWx1bCBDb250aW51dEF2YW5zYXQgJXMgYSBmb3N0IGRlemluc3RhbGF0JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWx1bCBDb250aW51dEF2YW5zYXQgYSBmb3N0IGFjdHVhbGl6YXQgbGEgdmVyc2l1bmVhICVzJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWx1bCBDb250aW51dEF2YW5zYXQgJXMgYSBmb3N0IGluc3RhbGF0Lic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdWx1bCBDb250aW51dEF2YW5zYXQgJXMgYSBmb3N0IGRlemluc3RhbGF0Lic7CiRsYW5nWydjb25maXJtdW5pbnN0YWxsJ10gPSAnU2lndXIgc2UgZG9yZXN0ZSBkZXppbnN0YWxhcmVhIG1vZHVsdWx1aSBDb250aW51dEF2YW5zYXQ/JzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZWNvbnRlbnQnXSA9ICc8ZW0+PHN0cm9uZz5Ob3RpZmljYXJlOjwvc3Ryb25nPiB7Y29udGVudCBibG9jaz0mIzAzOTslcyYjMDM5OyAuLi4gfSBlc3RlIGFtYmlndXUuIE51bWVsZSBkZSBibG9jdXJpIHRyZWJ1aWUgc2EgZmllIHVuaWNlLiA8YnIgLz5BY2VzdCBibG9jIGVzdGUgZGV6YWN0aXZhdC4gTnVtYWkgcHJpbXVsIGJsb2MgdmEgZmkgYWZpc2F0LiBWZXJpZmljYSBzYWJsb251bCBwYWdpbmlpIHNpIGFsZWdlIG8gYWx0YSB2YWxvYXJlIHBlbnRydSBwYXJhbWV0cnVsICYjMDM5O2Jsb2NrJiMwMzk7LjwvZW0+JzsKJGxhbmdbJ25vdGljZV9kdXBsaWNhdGVjb250ZW50J10gPSAnPGVtPjxzdHJvbmc+Tm90aWZpY2FyZTo8L3N0cm9uZz4gQWNlc3QgYmxvYyBlc3RlIGZvbG9zaXQgZGUgbWFpIG11bHRlIG9yaSBpbiBzYWJsb24uIEFpY2kgZXN0ZSBhZmlzYXQgbnVtYWkgcHJpbXVsIGJsb2MuPC9lbT4nOwokbGFuZ1snZXJyb3JfYmFzaWNhdHRyaWInXSA9ICc8ZW0+PHN0cm9uZz5Ob3RpZmljYXJlOjwvc3Ryb25nPiBOdSBzZSBwb2F0ZSBmb2xvc2kgbnVtZWxlIGRlIHByb3ByaWV0YXRlIGRlIGNvbnRpbnV0IHNpbXBsdSAmIzAzOTslcyYjMDM5OyBjYSB2YWxvYXJlIGEgcGFyYW1ldHJ1bHVpICYjMDM5O2Jsb2NrJiMwMzk7LiA8YnIgLz5BY2VzdCBibG9jIGVzdGUgZGV6YWN0aXZhdC4gVmVyaWZpY2Egc2FibG9udWwgcGFnaW5paSBzaSBhbGVnZSBvIGFsdGEgdmFsb2FyZSBwZW50cnUgcGFyYW1ldHJ1bCAmIzAzOTtibG9jayYjMDM5Oy48L2VtPic7CiRsYW5nWydlcnJvcl9leHBpcmVkYXRlJ10gPSAnRGF0YSBkZSBmaW5hbGl6YXJlIHRyZWJ1aWUgc2EgZmllIGR1cGEgZGF0YSBkZSBwb3JuaXJlLic7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdGb2xkZXJ1bCBjdXJlbnQnOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ0RpbWVuc2l1bmUgaW1hZ2luZSc7CiRsYW5nWydzaXplJ10gPSAnRGltZW5zaXVuZSBmaXNpZXInOwokbGFuZ1snaW5oZXJpdF9mcm9tX3BhcmVudCddID0gJ01vc3Rlbml0IGRlIGxhIHBhcmludGUnOwokbGFuZ1snbm9uZSddID0gJ25pbWljJzsKJGxhbmdbJ2ludmFsaWQnXSA9ICdpbnZhbGlkKGEpJzsKJGxhbmdbJ2ludmFsaWRfYmxvY2t0eXBlJ10gPSAnPGVtPjxzdHJvbmc+Tm90aWZpY2FyZTo8L3N0cm9uZz4gVmFsb2FyZSBpbnZhbGlkYSAmIzAzOTslcyYjMDM5OyBhIHBhcmFtZXRydWx1aSBibG9ja190eXBlIGluIGJsb2N1bCAmIzAzOTslcyYjMDM5Oy48YnIgLz5WZXJpZmljYSBzYWJsb251bCBwYWdpbmlpLjwvZW0+JzsKJGxhbmdbJ3llcyddID0gJ0RhJzsKJGxhbmdbJ25vJ10gPSAnTnUnOwokbGFuZ1snZnJvbnRlbmRhY2Nlc3MnXSA9ICdBY2NlcyBmcm9udGVuZCc7CiRsYW5nWydyZWRpcmVjdHBhZ2UnXSA9ICdQYWdpbmEgZGUgcmVkaXJlY3Rpb25hcmUgZGFjYSBudSBzZSBwZXJtaXRlIGFjY2VzdWwnOwokbGFuZ1snc2hvd2xvZ2luZm9ybSddID0gJ0FmaXNhcmUgZm9ybXVsYXIgYXV0ZW50aWZpY2FyZSc7CiRsYW5nWydyZWdpc3RlcmVkdXNlcnMnXSA9ICdOdW1haSB1dGlsaXphdG9yaWkgaW5yZWdpc3RyYXRpJzsKJGxhbmdbJ2Jsb2NrJ10gPSAnQmxvYyc7CiRsYW5nWyd1c2VleHBpcmVkYXRlJ10gPSAnRm9sb3NpcmUgZGF0YSBkZSBleHBpcmFyZSc7CiRsYW5nWydzdGFydGRhdGUnXSA9ICdEYXRhIHN0YXJ0JzsKJGxhbmdbJ2VuZGRhdGUnXSA9ICdEYXRhIG9wcmlyZSc7CiRsYW5nWydibG9ja2NvbnRlbnQnXSA9ICdDb250aW51dCBibG9jJzsKJGxhbmdbJ3NldHBhZ2VpbmFjdGl2ZSddID0gJ1NldGFyZSBwYWdpbmEgY2EgaW5hY3RpdmEnOwokbGFuZ1snZGVsZXRlcGFnZSddID0gJ1N0ZXJnZXJlIHBhZ2luYSc7CiRsYW5nWyd1bmluc3RhbGxhY3Rpb24nXSA9ICdBY3RpdW5lIGRlemluc3RhbGFyZSc7CiRsYW5nWydzZXRjb250ZW50MSddID0gJ1NldGFyZSB0b2F0ZSBwYWdpbmlsZSBjYSB0aXAgY29udGludXQnOwokbGFuZ1snc2V0Y29udGVudDInXSA9ICdTZXRhcmUgdG9hdGUgcGFnaW5pbGUgY2EgdGlwIGNvbnRpbnV0IHNpIGlubGF0dXJhcmUgYmxvY3VyaSBkZSBjb250aW51dCBhZGl0aW9uYWxlJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ1ByZWZlcmludGVsZSBhdSBmb3N0IGFjdHVhbGl6YXRlLic7CiRsYW5nWydmaWxlb3BlcmF0aW9ucyddID0gJ09wZXJhdGl1bmkgZmlzaWVyZSc7CiRsYW5nWyd1cGxvYWRuZXdmaWxlJ10gPSAnSW5jYXJjYXJlIGZpc2llciBub3UnOwokbGFuZ1snY3JlYXRlbmV3ZGlyJ10gPSAnQ3JlYXJlIGZvbGRlciBub3UnOwokbGFuZ1sndXBsb2FkZmlsZSddID0gJ0luY2FyY2FyZSc7CiRsYW5nWydjcmVhdGVkaXInXSA9ICdDcmVhcmUnOwokbGFuZ1snc3VjY2VzcyddID0gJ09LJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJvYXJlJzsKJGxhbmdbJ2ZpbGV1cGxvYWRlZCddID0gJ0Zpc2llcnVsICYjMDM5OyVzJiMwMzk7IGEgZm9zdCBpbmNhcmNhdCc7CiRsYW5nWydub2Rpcm5hbWUnXSA9ICdOdSBhIGZvc3QgZGF0IHVuIG51bWUgZGUgZm9sZGVyJzsKJGxhbmdbJ2RpcmV4aXN0cyddID0gJ051bWVsZSBkZSBmb2xkZXIgJiMwMzk7JXMmIzAzOTsgZXhpc3RhIGRlamEnOwokbGFuZ1snbmV3ZGlyY3JlYXRlZCddID0gJ0ZvbGRlcnVsIG5vdSAmIzAzOTslcyYjMDM5OyBhIGZvc3QgY3JlYXQgY3Ugc3VjY2VzJzsKJGxhbmdbJ25ld2RpcmZhaWxlZCddID0gJ0EgYXBhcnV0IG8gZXJvYXJlIGxhIGNyZWFyZWEgZm9sZGVydWx1aSAmIzAzOTslcyYjMDM5Oyc7CiRsYW5nWydub2ZpbGUnXSA9ICdOdSBhIGZvc3QgaW5jYXJjYXQgbmljaXVuIGZpc2llcic7CiRsYW5nWydmaWxldG9vYmlnJ10gPSAnRmlzaWVydWwgaW5jYXJjYXQgJiMwMzk7JXMmIzAzOTsgZXN0ZSBwcmVhIG1hcmUnOwokbGFuZ1snY29udGFpbnNpbGxlZ2FsY2hhcnMnXSA9ICdOdW1lbGUgZGUgZmlzaWVyICYjMDM5OyVzJiMwMzk7IGNvbnRpbmUgdW51bCBzYXUgbWFpIG11bHRlIGNhcmFjdGVyZSBuZXBlcm1pc2UgKCYjMDM5OywmcXVvdDssKywqLFwsLywmYW1wOywkKSc7CiRsYW5nWyd1cGxvYWRmYWlsZWQnXSA9ICdFcm9hcmUgbGEgbXV0YXJlIGZpc2llcnVsdWkgaW5jYXJjYXQgJiMwMzk7JXMmIzAzOTsgbGEgbG9jdWwgbHVpJzsKJGxhbmdbJ2NvbmZpcm1kZWxldGUnXSA9ICdTaWd1ciBkb3Jlc3RpIHN0ZXJnZXJlYSBmaXNpZXJ1bHVpIFwmIzAzOTslc1wmIzAzOTs/JzsKJGxhbmdbJ2RlbGV0ZWZpbGVzdWNjZXNzJ10gPSAnRmlzaWVydWwgJiMwMzk7JXMmIzAzOTsgYSBmb3N0IHN0ZXJzJzsKJGxhbmdbJ2RlbGV0ZWZpbGVmYWlsZWQnXSA9ICdGaXNpZXJ1bCAmIzAzOTslcyYjMDM5OyBudSBhIHB1dHV0IGZpIHN0ZXJzJzsKJGxhbmdbJ2RlbGV0ZXN1YmRpcmZhaWxlZCddID0gJ0ZvbGRlcnVsICYjMDM5OyVzJiMwMzk7IG51IGEgcHV0dXQgZmkgc3RlcnMnOwokbGFuZ1snZGVsZXRlc3ViZGlyc3VjY2VzcyddID0gJ0ZvbGRlcnVsICYjMDM5OyVzJiMwMzk7IGEgZm9zdCBzdGVycyc7CiRsYW5nWydjb25maXJtZGVsZXRlZGlyJ10gPSAnU2lndXIgZG9yZXN0aSBzdGVyZ2VyZWEgZm9sZGVydWx1aSBcJiMwMzk7JXNcJiMwMzk7Pyc7CiRsYW5nWydkZWxldGVkaXInXSA9ICdTdGVyZ2VyZSBzdWJmb2xkZXJlIGdvYWxlJzsKJGxhbmdbJ2RlbGV0ZWZpbGUnXSA9ICdTdGVyZ2VyZSBmaXNpZXInOwokbGFuZ1sncmVzdHJpY3RkaXJzJ10gPSAnUmVzdHJpY3Rpb25hcmUgYWNjZXMgdXRpbGl6YXRvcmkgbGEgZm9sZGVyJzsKJGxhbmdbJ3Nob3dmaWxlbWFuYWdlbWVudCddID0gJ0FmaXNhcmUgb3B0aXVuaSBhZG1pbmlzdHJhcmUgZmlzaWVyZSc7CiRsYW5nWydzaG93dGh1bWJuYWlsZmlsZXMnXSA9ICdBZmlzYXJlIG1pbmlhdHVyaSc7CiRsYW5nWydhbGxvd3NjYWxpbmcnXSA9ICdTZSBwZXJtaXRlIHJlZGltZW5zaW9uYXJlYSBvbi10aGUtZmx5IGEgaW1hZ2luaWxvciBpbmNhcmNhdGUnOwokbGFuZ1snc2NhbGluZ3dpZHRoJ10gPSAnTGF0aW1lIHNjYWxhcmUnOwokbGFuZ1snc2NhbGluZ2hlaWdodCddID0gJ0luYWx0aW1lIHNjYWxhcmUnOwokbGFuZ1snZGVmYXVsdGRpbWVuc2lvbnMnXSA9ICdEaW1lbnNpdW5pIGltcGxpY2l0ZSc7CiRsYW5nWydhdXRvJ10gPSAnQXV0b21hdCc7CiRsYW5nWydyZWxhdGl2ZXVybHMnXSA9ICdVUkwtdXJpIHJlbGF0aXZlJzsKJGxhbmdbJ2ZpbGVwaWNrZXJzdHlsZSddID0gJ1N0aWwgc2VsZWN0b3IgZmlzaWVyZSc7CiRsYW5nWydmaWxlcGlja2Vyc2l6ZSddID0gJ0RpbWVuc2l1bmUgc2VsZWN0b3IgZmlzaWVyZSc7CiRsYW5nWydmaWxlbmFtZW9ubHknXSA9ICdBZmlzYXJlIG51bWUgZmlzaWVyZSc7CiRsYW5nWyd0aHVtYm5haWxzb25seSddID0gJ0FmaXNhcmUgbWluaWF0dXJpJzsKJGxhbmdbJ3Nob3d0aHVtYm5haWxmaWxlc3RleHQnXSA9ICdBZmlzYXJlIGZpc2llcmUtbWluaWF0dXJpIGNhIGZpc2llcmUgbm9ybWFsZSc7CiRsYW5nWydmaWxlbmFtZWFuZHRodW1ibmFpbHMnXSA9ICdBZmlzYXJlIHNpIG51bWUgZmlzaWVyZSBzaSBtaW5pYXR1cmknOwokbGFuZ1snbWFrZXRodW1ibmFpbCddID0gJ0NyZWFyZSBtaW5pYXR1cmknOwokbGFuZ1snZmlsZXBpY2tlcnNldHRpbmdzJ10gPSAnU2V0YXJpIHNlbGVjdG9yIGZpc2llcmUnOwokbGFuZ1sncmVzaXpldG8nXSA9ICdSZWRpbWVuc2lvbmFyZSBpbWFnaW5lIGxhJzsKJGxhbmdbJ2tlZXBhc3BlY3RyYXRpbyddID0gJ1NlIHBhc3RyZWF6YSBwcm9wb3J0aWEgZGltZW5zaXVuaWxvcic7CiRsYW5nWydhbGxvd3Vwc2NhbGluZyddID0gJ1NlIHBlcm1pdGUgc2NhbGFyZWEgaW4gc3VzJzsKJGxhbmdbJ2RlY2ltYWxkZWxpbWl0ZXInXSA9ICcuICc7CiRsYW5nWyd0aG91c2FuZGRlbGltaXRlciddID0gJywgJzsKJGxhbmdbJ2Rpcm5vdGZvdW5kJ10gPSAnRm9sZGVydWwgJiMwMzk7JXMmIzAzOTsgbnUgYSBmb3N0IGdhc2l0ISc7CiRsYW5nWydzZWxlY3RpbWFnZSddID0gJ1Jhc2ZvaXJlIGltYWdpbmknOwokbGFuZ1snc2VsZWN0ZmlsZSddID0gJ1Jhc2ZvaXJlIGZpc2llcmUnOwokbGFuZ1snZGVsZXRlcGFnZXMnXSA9ICdTdGVyZ2VyZSB0b2F0ZSBwYWdpbmlsZSBkZSB0aXB1bCBDb250aW51dEF2YW5zYXQnOwokbGFuZ1sndXNlbWltZXR5cGUnXSA9ICdGb2xvc2lyZSBtaW1lLXR5cGUgcGVudHJ1IGEgb2J0aW5lIHRpcHVsIGRlIGZpc2llcic7CiRsYW5nWydpbXBvcnRwYWdlcyddID0gJ1NldGFyZSB0b2F0ZSBwYWdpbmlsZSBkZSB0aXAgY29udGludXQgY2EgdGlwIENvbnRpbnV0QXZhbnNhdC4nOwokbGFuZ1sncGFnZXNpbXBvcnRlZCddID0gJ1RvYXRlIHBhZ2luaWxlIGRlIGNvbnRpbnV0IGF1IGZvc3Qgc2V0YXRlIGNhIENvbnRpbnV0YXZhbnNhdC4nOwokbGFuZ1snY29uZmlybWltcG9ydCddID0gJ1NpZ3VyIGRvcmVzdGkgc2NoaW1iYXJlYSB0aXB1bHVpIHBlbnRydSB0b2F0ZSBwYWdpbmlsZSBkZSBjb250aW51dD8nOwokbGFuZ1snbm9taW1ldHlwZSddID0gJ051IGVzdGUgZGlzcG9uaWJpbGEgbmljaW8gZnVuY3RpZSBtaW1lLXR5cGUgc2F1IG51IGZ1bmN0aW9uZWF6YSBpbmNvcmVjdC4gQWNlYXN0YSBjYXJhY3RlcmlzdGljYSBlc3RlIGRlemFjdGl2YXRhLic7CiRsYW5nWyd0b2dnbGVfbWVzc2FnZSddID0gJ0FzY3VuZGUgYWNlc3QgbWVzYWonOwokbGFuZ1snY29udGVudHNldHRpbmdzJ10gPSAnU2V0YXJpIGltcGxpY2l0ZSBDb250aW51dEF2YW5zYXQnOwokbGFuZ1sncmVkaXJlY3RwYXJhbXMnXSA9ICdQYXJhbWV0cmkgVVJMIGNhcmUgc2UgYWRhdWdhIGxhIHJlZGlyZWN0YXJlJzsKJGxhbmdbJ2V2YWx1YXRlc21hcnR5J10gPSAnRm9sb3NpcmUgc21hcnR5IHBlbnRydSBwcm9jZXNhcmVhIHBhcmFtZXRyaWxvcic7CiRsYW5nWydub2ltYWdlZmlsZSddID0gJyYjMDM5OyVzJiMwMzk7IG51IGVzdGUgdW4gZmlzaWVyIGltYWdpbmUnOwokbGFuZ1snZmlsZXR5cGVub3RhbGxvd2VkJ10gPSAnVGlwdWwgZGUgZmlzaWVyICYjMDM5OyVzJiMwMzk7IG51IGVzdGUgcGVybWlzJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTE4MzgyMTUwNDMtMTI4MjgwNzUzMzkzNCc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyODI4MDc5NzIuMS4yLnV0bWNzcj1nb29nbGV8dXRtY2NuPShvcmdhbmljKXx1dG1jbWQ9b3JnYW5pY3x1dG1jdHI9Y21zbXMnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMTkxODczODE3LjEyODI4MDc1MzQuMTI4MjgwNzUzNC4xMjgyODA3NTM0LjEnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEyLjkuMTI4MjgwNzYxNTM2OCc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ0FkdmFuY2VkQ29udGVudCddID0gJ9Cg0LDRgdGI0LjRgNC10L3QvdC+0LUg0YHQvtC00LXRgNC20LjQvNC+0LUnOwokbGFuZ1snYWR2YW5jZWRjb250ZW50X3RhYm5hbWUnXSA9ICfQoNCw0YHRiNC40YDQtdC90L3Ri9C1INC+0L/RhtC40LgnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAn0JzQvtC00YPQu9GMIEFkdmFuY2VkQ29udGVudCAlcyDRg9GB0YLQsNC90L7QstC70LXQvSc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ9Cc0L7QtNGD0LvRjCBBZHZhbmNlZENvbnRlbnQgJXMg0YPQtNCw0LvQtdC9JzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAn0JzQvtC00YPQu9GMIEFkdmFuY2VkQ29udGVudCDQvtCx0L3QvtCy0LvQtdC9INC00L4gJXMnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICfQnNC+0LTRg9C70YwgQWR2YW5jZWRDb250ZW50ICVzINGD0YHRgtCw0L3QvtCy0LvQtdC9Lic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAn0JzQvtC00YPQu9GMIEFkdmFuY2VkQ29udGVudCAlcyDRg9C00LDQu9C10L0uJzsKJGxhbmdbJ2NvbmZpcm11bmluc3RhbGwnXSA9ICfQktGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDRg9C00LDQu9C40YLRjCDQvNC+0LTRg9C70YwgQWR2YW5jZWRDb250ZW50Pyc7CiRsYW5nWydub3RpY2VfZHVwbGljYXRlY29udGVudCddID0gJzxlbT4gPHN0cm9uZz4g0J7QsdGA0LDRgtC40YLQtSDQstC90LjQvNCw0L3QuNC1OiA8L3N0cm9uZz4g0K3RgtC+0YIg0LHQu9C+0Log0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC90LXRgdC60L7Qu9GM0LrQviDRgNCw0Lcg0LIg0YjQsNCx0LvQvtC90LUuINCS0Ysg0LLQuNC00LjRgtC1INC30LTQtdGB0Ywg0YLQvtC70YzQutC+INC/0LXRgNCy0YvQuSDQsdC70L7Qui4gPC9lbT4NCic7CiRsYW5nWydlcnJvcl9iYXNpY2F0dHJpYiddID0gJzxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gQ2Fubm90IHVzZSBiYXNpYyBjb250ZW50IHByb3BlcnR5IG5hbWUgXCclc1wnIGFzIHZhbHVlIG9mIHBhcmFtIFwnYmxvY2tcJy4gPGJyIC8+VGhpcyBibG9jayBpcyBkaXNhYmxlZC4gQ2hlY2sgeW91ciBwYWdlIHRlbXBsYXRlIGFuZCBjaG9zZSBhIGRpZmZlcmVudCB2YWx1ZSBvZiBwYXJhbSBcJ2Jsb2NrXCcuPC9lbT4nOwokbGFuZ1snZXJyb3JfZXhwaXJlZGF0ZSddID0gJ9CU0LDRgtCwINC+0LrQvtC90YfQsNC90LjRjyDQtNC+0LvQttC90LAg0LHRi9GC0Ywg0L/QvtC30LbQtSDQtNCw0YLRiyDQvdCw0YfQsNC70LAuJzsKJGxhbmdbJ3lvdWFyZWludGV4dCddID0gJ9Ci0LXQutGD0YnQuNC5INC60LDRgtCw0LvQvtCzJzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICfQoNCw0LfQvNC10YAg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyc7CiRsYW5nWydzaXplJ10gPSAn0KDQsNC30LzQtdGAINGE0LDQudC70LAnOwokbGFuZ1snaW5oZXJpdF9mcm9tX3BhcmVudCddID0gJ9Cd0LDRgdC70LXQtNC+0LLQsNGC0Ywg0L7RgiDRgNC+0LTQuNGC0LXQu9GM0YHQutC+0LPQvic7CiRsYW5nWydub25lJ10gPSAn0L3QuNGH0LXQs9C+JzsKJGxhbmdbJ2ludmFsaWQnXSA9ICfQvdC10LLQtdGA0L3Qvic7CiRsYW5nWydpbnZhbGlkX2Jsb2NrdHlwZSddID0gJzxlbT48c3Ryb25nPtCe0LHRgNCw0YLQuNGC0LUg0LLQvdC40LzQsNC90LjQtTo8L3N0cm9uZz4g0J3QtdCy0LXRgNC90L7QtSDQt9C90LDRh9C10L3QuNC1IFwnJXNcJyDQv9Cw0YDQsNC80LXRgtGA0LAgYmxvY2tfdHlwZSDQsiDQsdC70L7QutC1IFwnJXNcJy48YnIgLz7Qn9GA0L7QstC10YDRjNGC0LUg0LLQsNGIINGI0LDQsdC70L7QvSDRgdGC0YDQsNC90LjRhtGLLjwvZW0+JzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudF9ibG9ja3BhcmFtcyddID0gJzxlbT48c3Ryb25nPtCe0YjQuNCx0LrQsDo8L3N0cm9uZz4g0J3QtdC00L7RgdGC0LDRgtC+0YfQvdC+INC/0LDRgNCw0LzQtdGC0YDQvtCyLiA8YnIgLz7QntGC0YHRg9GC0YHRgtCy0YPQtdGCINC/0LDRgNCw0LzQtdGC0YAgXCclc1wnINC00LvRjyDQsdC70L7QutCwIFwnJXNcJy4g0J/RgNC+0LLQtdGA0YzRgtC1INCy0LDRiCDRiNCw0LHQu9C+0L0g0YHRgtGA0LDQvdC40YbRiy48L2VtPic7CiRsYW5nWyd5ZXMnXSA9ICfQlNCwJzsKJGxhbmdbJ25vJ10gPSAn0J3QtdGCJzsKJGxhbmdbJ2Zyb250ZW5kYWNjZXNzJ10gPSAnRnJvbnRlbmQg0LTQvtGB0YLRg9C/JzsKJGxhbmdbJ3JlZGlyZWN0cGFnZSddID0gJ1JlZGlyZWN0IFBhZ2UsINC10YHQu9C4INC90LXRgiDQtNC+0YHRgtGD0L/QsCc7CiRsYW5nWydzaG93bG9naW5mb3JtJ10gPSAn0J/QvtC60LDQt9Cw0YLRjCDRhNC+0YDQvNGDINCy0YXQvtC00LAnOwokbGFuZ1sncmVnaXN0ZXJlZHVzZXJzJ10gPSAn0KLQvtC70YzQutC+INC00LvRjyDQt9Cw0YDQtdCz0LjRgdGC0YDQuNGA0L7QstCw0L3QvdGL0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LknOwokbGFuZ1snYmxvY2snXSA9ICfQkdC70L7Quic7CiRsYW5nWyd1c2VleHBpcmVkYXRlJ10gPSAn0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINC00LDRgtGDINC+0LrQvtC90YfQsNC90LjRjyc7CiRsYW5nWydzdGFydGRhdGUnXSA9ICfQlNCw0YLQsCDQvdCw0YfQsNC70LAnOwokbGFuZ1snZW5kZGF0ZSddID0gJ9CU0LDRgtCwINC+0LrQvtC90YfQsNC90LjRjyc7CiRsYW5nWydibG9ja2NvbnRlbnQnXSA9ICfQkdC70L7QuiDRgdC+0LTQtdGA0LbQuNC80L7QtSc7CiRsYW5nWydzZXRwYWdlaW5hY3RpdmUnXSA9ICfQo9GB0YLQsNC90L7QstC40YLRjCDRjdGC0YMg0YHRgtGA0LDQvdC40YbRgywg0LrQsNC6INC90LXQsNC60YLQuNCy0L3Rg9GOJzsKJGxhbmdbJ2RlbGV0ZXBhZ2UnXSA9ICfQo9C00LDQu9C40YLRjCDRgdGC0YDQsNC90LjRhtGDJzsKJGxhbmdbJ3VuaW5zdGFsbGFjdGlvbiddID0gJ9Cj0LTQsNC70LjRgtGMINC00LXQudGB0YLQstC40LUnOwokbGFuZ1snc2V0Y29udGVudDEnXSA9ICfQo9GB0YLQsNC90L7QstC40YLRjCDQstGB0LUg0YHRgtGA0LDQvdC40YbRiyDRgtC40L/QsCBBZHZhbmNlZENvbnRlbnQg0L7QsdGA0LDRgtC90L4g0Log0YLQuNC/0YMgQ29udGVudCc7CiRsYW5nWydzZXRjb250ZW50MiddID0gJ9Cj0YHRgtCw0L3QvtCy0LjRgtGMINCy0YHQtSDRgdGC0YDQsNC90LjRhtGLINGC0LjQv9CwIEFkdmFuY2VkQ29udGVudCDQvtCx0YDQsNGC0L3QviDQuiDRgtC40L/RgyBDb250ZW50INC4INGD0LTQsNC70LjRgtGMINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0LUg0LHQu9C+0LrQuCDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+JzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ9Cd0LDRgdGC0YDQvtC50LrQuCDQvtCx0L3QvtCy0LvQtdC90YsnOwokbGFuZ1snc3VjY2VzcyddID0gJ9Ce0JonOwokbGFuZ1snZXJyb3InXSA9ICfQntGI0LjQsdC60LAnOwokbGFuZ1snZGVsZXRlcGFnZXMnXSA9ICfQo9C00LDQu9C40YLRjCDQstGB0LUg0YHRgtGA0LDQvdC40YbRiyDRgtC40L/QsCBBZHZhbmNlZENvbnRlbnQnOwokbGFuZ1snaW1wb3J0cGFnZXMnXSA9ICfQo9GB0YLQsNC90L7QstC40YLRjCDQstGB0LUg0YHRgtGA0LDQvdC40YbRiyDRgtC40L/QsCAlcyDQuiDRgtC40L/RgyAlcy4nOwokbGFuZ1sncGFnZXNpbXBvcnRlZCddID0gJ9CS0YHQtSDRgdC+0LTQtdGA0LbQuNC80L7QtSDRgdGC0YDQsNC90LjRhiwg0YPRgdGC0LDQvdC+0LLQu9C10L3QviDQsiBBZHZhbmNlZENvbnRlbnQuJzsKJGxhbmdbJ2NvbmZpcm1pbXBvcnQnXSA9ICfQktGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDQuNC30LzQtdC90LjRgtGMINGC0LjQvyDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INC00LvRjyDQstGB0LXRhSDRgdGC0YDQsNC90LjRhj8nOwokbGFuZ1sndG9nZ2xlX21lc3NhZ2UnXSA9ICfQodC60YDRi9GC0Ywg0Y3RgtC+INGB0L7QvtCx0YnQtdC90LjQtSc7CiRsYW5nWydjb250ZW50c2V0dGluZ3MnXSA9ICfQndCw0YHRgtGA0L7QudC60LggQWR2YW5jZWRDb250ZW50INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOJzsKJGxhbmdbJ3JlZGlyZWN0cGFyYW1zJ10gPSAn0LTQvtCx0LDQstC40YLRjCDQv9Cw0YDQsNC80LXRgtGA0YsgVVJMINC/0YDQuCDQv9C10YDQtdC90LDQv9GA0LDQstC70LXQvdC40LgnOwokbGFuZ1snZXZhbHVhdGVzbWFydHknXSA9ICfQmNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgU21hcnR5INC00LvRjyDQvtCx0YDQsNCx0L7RgtC60Lgg0L/QsNGA0LDQvNC10YLRgNC+0LInOwokbGFuZ1snZXJyb3JfbG9hZGluZ19tb2R1bGUnXSA9ICc8ZW0+PHN0cm9uZz7QntGI0LjQsdC60LA6PC9zdHJvbmc+INCd0LUg0LzQvtCz0YMg0LfQsNCz0YDRg9C30LjRgtGMINC80L7QtNGD0LvRjCBcJyVzXCcuICjQntC/0YDQtdC00LXQu9C10L3QviDQtNC70Y8g0LHQu9C+0LrQsCBcJyVzXCcg0LIg0LLQsNGI0LXQvCDRiNCw0LHQu9C+0L3QtSDRgdGC0YDQsNC90LjRhtGLLik8L2VtPic7CiRsYW5nWydlcnJvcl9jb250ZW50YmxvY2tfc3VwcG9ydCddID0gJzxlbT48c3Ryb25nPtCe0YjQuNCx0LrQsDo8L3N0cm9uZz4g0JzQvtC00YPQu9GMIFwnJXNcJyDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgiDQsdC70L7QutC4INC60L7QvdGC0LXQvdGC0LAuICjQntC/0YDQtdC00LXQu9C10L3QviDQtNC70Y8g0LHQu9C+0LrQsCBcJyVzXCcg0LIg0LLQsNGI0LXQvCDRiNCw0LHQu9C+0L3QtSDRgdGC0YDQsNC90LjRhtGLLik8L2VtPic7CiRsYW5nWydzdWNjZXNzX2ltcG9ydHBhZ2VzJ10gPSAn0JLRgdC1INGB0YLRgNCw0L3QuNGG0Ysg0YLQuNC/0LAgJXMg0YPRgdC/0LXRiNC90L4g0L/RgNC40LLQtdC00LXQvdGLINC6INGC0LjQv9GDICVzJzsKJGxhbmdbJ3Nob3dfYWR2YW5jZWRjb250ZW50X29wdGlvbnMnXSA9ICfQn9C+0LrQsNC30LDRgtGMINCy0LrQu9Cw0LTQutGDINC/0LDRgNCw0LzQtdGC0YDQvtCyIEFkdmFuY2VkQ29udGVudCc7CiRsYW5nWydkaXNwbGF5X3NldHRpbmdzJ10gPSAnJXMgZGlzcGxheSBzZXR0aW5ncyc7CiRsYW5nWydzYXZlX2NvbGxhcHNlX3N0YXR1cyddID0gJ9Ch0L7RhdGA0LDQvdC40YLRjCDRgdGC0LDRgtGD0YEgY29sbHBhc2Ug0LTQu9GPICVzJzsKJGxhbmdbJ2NvbnRlbnRfYmxvY2tzJ10gPSAn0LHQu9C+0LrQuCDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+JzsKJGxhbmdbJ2Jsb2NrX21lc3NhZ2UnXSA9ICfRgdC+0LTQtdGA0LbQuNC80L7QtSDQsdC70L7QutCwINGB0L7QvtCx0YnQtdC90LjRjyc7CiRsYW5nWydibG9ja19ncm91cHMnXSA9ICfQsdC70L7QuiDQs9GA0YPQv9C/JzsKJGxhbmdbJ2NvbGxhcHNlX2RlZmF1bHQnXSA9ICdDb2xsYXBzZSAlcyDQv9C+INGD0LzQvtC70YfQsNC90LjRjic7CiRsYW5nWydwZXJfcGFnZSddID0gJ9C90LAg0YHRgtGA0LDQvdC40YbRgyc7CiRsYW5nWydwZXJfdGVtcGxhdGUnXSA9ICfQvdCwINGI0LDQsdC70L7QvSc7CiRsYW5nWydib3RoMSddID0gJ3RlbXBsYXRlIE9SIHBhZ2UgJzsKJGxhbmdbJ2JvdGgyJ10gPSAndGVtcGxhdGUgQU5EIHBhZ2UnOwokbGFuZ1snY29udGVudCddID0gJ9Ch0L7QtNC10YDQttC40LzQvtC1JzsKJGxhbmdbJ2NvbnRlbnQyJ10gPSAn0KDQsNGB0YjQuNGA0LXQvdC90L7QtSDRgdC+0LTQtdGA0LbQuNC80L7QtSc7CiRsYW5nWydwcmVmcyddID0gJ9Cd0LDRgdGC0YDQvtC50LrQuCc7CiRsYW5nWydtdWx0aV9pbnB1dCddID0gJ011bHRpIElucHV0cyc7CiRsYW5nWydtdWx0aV9pbnB1dF90cGwnXSA9ICdNdWx0aSBJbnB1dCBUZW1wbGF0ZXMnOwokbGFuZ1snYWRkX211bHRpX2lucHV0J10gPSAnQWRkIG5ldyBtdWx0aSBpbnB1dCc7CiRsYW5nWydhZGRfbXVsdGlfaW5wdXRfdHBsJ10gPSAnQWRkIG5ldyBtdWx0aSBpbnB1dCB0ZW1wbGF0ZSc7CiRsYW5nWydpbnB1dF9pZCddID0gJ0lucHV0IElEJzsKJGxhbmdbJ2lucHV0X2ZpZWxkcyddID0gJ9Cf0L7Qu9GPINCy0LLQvtC00LAnOwokbGFuZ1sndHBsX25hbWUnXSA9ICfQmNC80Y8g0YjQsNCx0LvQvtC90LAnOwokbGFuZ1snZXJyb3JfdGVtcGxhdGUnXSA9ICfQqNCw0LHQu9C+0L0g0LjQvNC10LXRgiDQvdC10L7QsdGF0L7QtNC40LzRi9C1INC/0L7Qu9GPINC4INC90LUg0LzQvtC20LXRgiDQsdGL0YLRjCDQv9GD0YHRgtGL0LwnOwokbGFuZ1snZXJyb3JfaW5wdXRfZmllbGRzJ10gPSAnSW5wdXQgZmllbGRzIGlzIGEgcmVxdWlyZWQgZmllbGQgYW5kIG1heSBub3QgYmUgZW1wdHkuJzsKJGxhbmdbJ2Vycm9yX2lucHV0X2lkJ10gPSAnTm8gaW5wdXQgaWQgZ2l2ZW4gb3IgaW5wdXQgaWQgYWxyZWFkeSBleGlzdHMuJzsKJGxhbmdbJ2Vycm9yX2lucHV0X2lkX2V4aXN0cyddID0gJ0lucHV0IElEIGlzIGFscmVhZHkgaW4gdXNlLiBDaG9vc2UgYSBkaWZmZXJlbnQgb25lLiAobXVzdCBiZSB1bmlxdWUpJzsKJGxhbmdbJ211bHRpX2lucHV0X2FkZGVkJ10gPSAnTXVsdGkgSW5wdXQgYWRkZWQuJzsKJGxhbmdbJ211bHRpX2lucHV0X2RlbGV0ZWQnXSA9ICdNdWx0aSBJbnB1dCBkZWxldGVkLic7CiRsYW5nWydtdWx0aV9pbnB1dF91cGRhdGVkJ10gPSAnTXVsdGkgSW5wdXQgdXBkYXRlZC4nOwokbGFuZ1snbXVsdGlfaW5wdXRfdHBsX2FkZGVkJ10gPSAnTXVsdGkgSW5wdXQgdGVtcGxhdGUgYWRkZWQuJzsKJGxhbmdbJ211bHRpX2lucHV0X3RwbF91cGRhdGVkJ10gPSAnTXVsdGkgSW5wdXQgdGVtcGxhdGUgdXBkYXRlZC4nOwokbGFuZ1snbXVsdGlfaW5wdXRfdHBsX2RlbGV0ZWQnXSA9ICdNdWx0aSBJbnB1dCB0ZW1wbGF0ZSBkZWxldGVkLic7CiRsYW5nWydkZWxldGVfc2VsZWN0ZWQnXSA9ICfQo9C00LDQu9C40YLRjCDQstGL0LHRgNCw0L3QvdGL0LUg0Y3Qu9C10LzQtdC90YLRiyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZSddID0gJ9CS0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INGB0LTQtdC70LDRgtGMINGD0LTQsNC70LjRgtGMINGN0YLQvtGCINGN0LvQtdC80LXQvdGCPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9zZWxlY3RlZCddID0gJ9CS0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINCy0YvQsdGA0LDQvdC90YvQtSDRjdC70LXQvNC10L3RgtGLPyc7CiRsYW5nWyd1c2VfY29udGVudHR5cGUnXSA9ICfQmNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgY29udGVudHR5cGUnOwokbGFuZ1snaGVscF90cGxfdmFycyddID0gJzxwPjxzdHJvbmc+VGVtcGxhdGUgdmFyczo8L3N0cm9uZz48L3A+DQo8cD48cHJlPjxjb2RlPnskaW5wdXRzfTwvY29kZT48L3ByZT4gaXMgYW4gYXJyYXkgdGhhdCBjb250YWlucyBhbGwgZGVmaW5lZCBpbnB1dCBlbGVtZW50cyBvZiB0aGF0IG11bHRpIGlucHV0IGJsb2NrLjxiciAvPg0KRWFjaCBpbnB1dCBlbGVtZW50IGlzIGFuIGFycmF5IHRoYXQgY29udGFpbnMgYWxsIGl0cyBwYXJhbXMuIDxiciAvPg0KU2VlIG1vZHVsZSBoZWxwIGZvciBtb3JlIGluZm8uPGJyIC8+DQpBZGRpdGlvbmFsIHBhcmFtIGlzICJpbnB1dCIgdGhhdCB3aWxsIHByaW50IG91dCB0aGUgaW5wdXQgZWxlbWVudC48YnIgLz4NClRvIGFjY2VzcyB0aGUgcGFyYW1zIHVzZSB0aGUgZG90IHN5bnRheC48YnIgLz4NCkV4YW1wbGU6PC9wPg0KPHByZT48Y29kZT57Zm9yZWFjaCBmcm9tPSRpbnB1dHMgaXRlbT1lbG19DQoJeyRlbG0ubGFiZWx9OiZuYnNwO3skZWxtLmlucHV0fTxiciAvPg0Key9mb3JlYWNofTwvY29kZT48L3ByZT4gJzsKJGxhbmdbJ2hlbHAnXSA9ICc8YnIgLz4NCjxoMz5XaGF0IGRvZXMgdGhpcyBkbz88L2gzPg0KPHA+VGhpcyBpcyBhIG1vZGlmaWNhdGlvbiBvZiB0aGUgZGVmYXVsdCBjb250ZW50IHR5cGUgIkNvbnRlbnQiIG9mIENNU21zLjxiciAvPg0KSXQgcHJvdmlkZXMgbW9yZSBmbGV4aWJpbGl0eSBieSBjcmVhdGluZyBjdXN0b20gaW5wdXQgY29udHJvbHMgaW4gYmFja2VuZC48YnIgLz4NClVzZXJzIGNhbiBhZGQgZHJvcGRvd25zLCBtdWx0aXBsZSBzZWxlY3QgbGlzdHMsIGNoZWNrYm94ZXMsIGdyb3VwIGNvbnRlbnQgYmxvY2tzIA0KaW4gc2VwYXJhdGUgcGFnZSB0YWJzLCBibG9jayB0YWJzIGluc2lkZSBhIHBhZ2UgdGFiIG9yIGluIGZpZWxkc2V0cyBieSBqdXN0IA0KdXNpbmcgYWRkaXRpb25hbCBwYXJhbXMgaW4gdGhlIHRlbXBsYXRlIHdoZW4gY2FsbGluZyB0aGUgY29udGVudC48YnIgLz4NCkl0IGFsc28gYWRkcyBhYmlsaXR5IHRvIGdyYW50IGFjY2VzcyBvZiBwYWdlcyB0byBjZXJ0YWluIHVzZXJzIG9mIHRoZSANCkZyb250RW5kVXNlcnMgbW9kdWxlIGFuZCBoaWRlIHRoZSBjb250ZW50LCByZXBsYWNlIGl0IGJ5IHRoZSBsb2dpbiBmb3JtIG9mIHRoZSANCkZyb250RW5kVXNlcnMgbW9kdWxlIG9yIHJlZGlyZWN0IHRvIGEgc3BlY2lmaWVkIHBhZ2Ugc2hvd2luZyB0aGUgbG9naW4gZm9ybSBvciANCmp1c3QgcmVkaXJlY3Qgd2l0aG91dCBkb2luZyBhbnl0aGluZyBlbHNlLjxiciAvPg0KUGFnZSBwcm9wZXJ0eSBvZiBGcm9udEVuZFVzZXJzIGFjY2VzcyBhbmQgcmVkaXJlY3QgcGFnZSBjYW4gYmUgaW5oZXJpdGVkIGJ5IA0KcGFyZW50IHBhZ2VzLjwvcD4NCjxwPjxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gVG8gZ2V0IHRoZSBmdWxsIGZ1bmN0aW9uYWxpdHkgb2YgdGhpcyBjb250ZW50IHR5cGUgDQppbiBmcm9udGVuZCB5b3UgbmVlZCB0byBjYWxsIHlvdXIgY29udGVudCB3aXRoIHRoZSBtb2R1bGUgcGx1Z2luIHtBZHZhbmNlZENvbnRlbnR9IA0KKGNhc2Ugc2Vuc2l0aXZlISkuPGJyIC8+DQpPdGhlcndpc2UgaXQgbWF5IGJlaGF2ZSBsaWtlIHRoZSBkZWZhdWx0IGNvbnRlbnQgdHlwZSBwbHVnaW4uPC9lbT48L3A+DQo8cD5Zb3UgY2FuIGV2ZW4gdXNlIHNtYXJ0eSBsb2dpYyBpbiBwYXJhbWV0ZXIgdmFsdWVzLiBUaGF0IG1lYW5zIHlvdSBjYW4gdXNlIHRoZSANCnJlc3VsdCBvZiBhIHBsdWdpbiwgYW4gdWR0IG9yIGV2ZW4gYSBtb2R1bGUgb3IganVzdCB0aGUgY29udGVudCBvZiBhIGdsb2JhbCANCmNvbnRlbnQgYmxvY2sgYXMgcGFyYW1ldGVyIHZhbHVlIHRvIGNyZWF0ZSBkeW5hbWljIHZhbHVlcy48L3A+DQo8aDM+SG93IGlzIGl0IHVzZWQ/PC9oMz4NCjxwPkFmdGVyIGluc3RhbGxhdGlvbiB0aGUgbW9kdWxlIHNldHRpbmdzIGNhbiBiZSBmb3VuZCBpbiAiRXh0ZW5zaW9ucy0+QWR2YW5jZWRDb250ZW50Ii48L3A+DQo8cD5BZGRpdGlvbmFsbHkgeW91IHdpbGwgaGF2ZSBhIG5ldyBjb250ZW50IHR5cGUgIkFkdmFuY2VkQ29udGVudCIgYXZhaWxhYmxlIA0Kd2hlbiBhZGRpbmcvZWRpdGluZyBhIHBhZ2UuPGJyIC8+DQo8cD5BZGQgdGhlIGZvbGxvd2luZyBwYXJhbXMgdG8geW91ciBjb250ZW50IHRhZyBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUsIA0KY2hhbmdlIHRoZSBjb250ZW50IHR5cGUgb2YgeW91ciBwYWdlIHRvICJBZHZhbmNlZENvbnRlbnQiIGFuZCBzZWUgd2hhdCBoYXBwZW5zIA0KaW4gYmFja2VuZC4uLjwvcD4NCjxoMz5XaGF0IHBhcmFtZXRlcnMgYXJlIGF2YWlsYWJsZT88L2gzPg0KPHA+YWxsIHBhcmFtcyBhcmUgb3B0aW9uYWw8L3A+DQo8cD48c3Ryb25nPkRlZmF1bHQgcGFyYW1zOjwvc3Ryb25nPjwvcD4NCjx1bD4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmJsb2NrPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCUFsbG93cyB5b3UgdG8gaGF2ZSBtb3JlIHRoYW4gb25lIGNvbnRlbnQgYmxvY2sgcGVyIHBhZ2UuIElmIG11bHRpcGxlIGNvbnRlbnQgdGFncyBhcmUgcHV0IG9uIGEgdGVtcGxhdGUsIHRoYXQgbnVtYmVyIG9mIGVkaXQgYm94ZXMgd2lsbCBiZSBkaXNwbGF5ZWQgaWYgdGhlIHBhZ2UgaXMgZWRpdGVkLjxiciAvPg0KCQkJCWUuZy46IDxjb2RlPntjb250ZW50IGJsb2NrPSJTZWNvbmQgQ29udGVudCBibG9jayJ9PC9jb2RlPjxiciAvPg0KCQkJCU5vdywgaWYgeW91IGVkaXQgYSBwYWdlIHRoZXJlIHdpbGwgYmEgYSB0ZXh0YXJlYSBjYWxsZWQgIlNlY29uZCBDb250ZW50IGJsb2NrIi48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IFRoZSBuYW1lIG9mIHRoZSBjb250ZW50IGJsb2NrIG1heSBjb250YWluIG9ubHkgbGV0dGVycywgbnVtYmVycywgYW5kIHVuZGVyc2NvcmVzIChubyB3aGl0ZXNwYWNlcywgc3BlY2lhbCBjaGFycywgdW1sYXV0cyBldGMuKS4gT3RoZXJ3aXNlIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGEgcHJvcGVyIG5hbWUgKHNpbWlsYXIgdG8gdGhlIHBhZ2UgYWxpYXMpLjwvZW0+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+d3lzaXd5ZzwvdHQ+ICh0cnVlL2ZhbHNlKQ0KCQk8dWw+DQoJCQk8bGk+SWYgc2V0IHRvIGZhbHNlLCB0aGVuIGEgd3lzaXd5ZyB3aWxsIG5ldmVyIGJlIHVzZWQgd2hpbGUgZWRpdGluZyB0aGlzIGJsb2NrLiBJZiB0cnVlLCB0aGVuIGl0IGFjdHMgYXMgbm9ybWFsLjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5vbmVsaW5lPC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT5JZiBzZXQgdG8gdHJ1ZSwgdGhlbiBvbmx5IG9uZSBlZGl0IGxpbmUgd2lsbCBiZSBzaG93biB3aGlsZSBlZGl0aW5nIHRoaXMgYmxvY2suIElmIGZhbHNlLCB0aGVuIGl0IGFjdHMgYXMgbm9ybWFsLiBPbmx5IHdvcmtzIHdoZW4gYmxvY2sgcGFyYW1ldGVyIGlzIHVzZWQuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmRlZmF1bHQ8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+RGVmYXVsdCBjb250ZW50IHdoZW4gY3JlYXRpbmcgYSBuZXcgcGFnZS48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+bGFiZWw8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+UHJvbXB0IGZvciB0aGlzIGNvbnRlbnQgYmxvY2suIFBvc3NpYmxlIHZhbHVlcyBhcmUgYW55IGV4cHJlc3Npb24uIElmIGJsYW5rLCB0aGUgdW5jb252ZXJ0ZWQgYmxvY2sgbmFtZSBpcyB1c2VkLjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5hc3NpZ248L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJQXNzaWducyB0aGUgY29udGVudCB0byBhIHNtYXJ0eSBwYXJhbWV0ZXIsIHdoaWNoIHlvdSBjYW4gdGhlbiB1c2UgaW4gb3RoZXIgYXJlYXMgb2YgdGhlIHBhZ2UsIG9yIHVzZSB0byB0ZXN0IHdoZXRoZXIgY29udGVudCBleGlzdHMgaW4gaXQgb3Igbm90LjxiciAvPg0KCQkJCUV4YW1wbGUgb2YgcGFzc2luZyBwYWdlIGNvbnRlbnQgdG8gYSBVc2VyIERlZmluZWQgVGFnIGFzIGEgcGFyYW1ldGVyOjxiciAvPg0KCQkJCTxjb2RlPntjb250ZW50IGFzc2lnbj1wYWdlY29udGVudH08YnIgLz4NCgkJCQl7dGFibGVfb2ZfY29udGVudHMgdGhlcGFnZWNvbnRlbnQ9IiRwYWdlY29udGVudCJ9PC9jb2RlPjxiciAvPg0KCQkJCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gRm9yIHNvbWUgcmVhc29uIHRoaXMgcGFyYW0gZG9lcyBub3Qgd29yayBhdCB0aGUgbW9tZW50IHdpdGggdGhlIG1vZHVsZSBwbHVnaW4ge0F2YW5jZWRDb250ZW50fS4gVXNlIDxiciAvPjxjb2RlPntjYXB0dXJlIGFzc2lnbj0iZm9vIn17QWR2YW5jZWRDb250ZW50fXsvY2FwdHVyZX08L2NvZGU+IDxiciAvPmluc3RlYWQuPC9lbT4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQo8L3VsPg0KPHA+PHN0cm9uZz5BZHZhbmNlZCBwYXJhbXM6PC9zdHJvbmc+PC9wPg0KPHVsPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YmxvY2tfdHlwZTwvdHQ+ICh0ZXh0LGNoZWNrYm94LGRyb3Bkb3duLHNlbGVjdF9tdWx0aXBsZSxkYXRlLG11bHRpX2lucHV0KSANCgkJPHVsPg0KCQkJPGxpPkFsbG93cyB5b3UgdG8gc3BlY2lmeSB3aGF0IGNvbnRlbnQgY29udHJvbCB0eXBlIGlzIHVzZWQgaW4gdGhlIGJhY2sgZW5kLjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5wYWdlX3RhYjwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlUaGlzIHBhcmFtZXRlciBzZXRzIHRoZSB0YWIgaW4gd2hpY2ggdGhlIGNvbnRlbnQgYmxvY2sgaXMgZGlzcGxheWVkIGluIHRoZSBiYWNrZW5kLjxiciAvPg0KCQkJCVBvc3NpYmxlIHZhbHVlcyBhcmUgIm1haW4iICggPSBUYWIgIk1haW4gTWVudSIpLCAib3B0aW9ucyIgKCA9IFRhYiAiT3B0aW9ucyIpLCBvciBhbnkgb3RoZXIgYXJiaXRyYXJ5IHZhbHVlPGJyIC8+DQoJCQkJPGVtPmUuZy4geW91IGNhbiBhZGQgYSBjaGVja2JveCB0byB0aGUgb3B0aW9ucyB0YWIgb3IgY3JlYXRlIG5ldyB0YWJzPC9lbT4uDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YmxvY2tfdGFiPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPldpdGggdGhpcyBwYXJhbWV0ZXIsIHRoZSBibG9ja3Mgd2l0aGluIGEgcGFnZSB0YWIgY2FuIGJlIGZ1cnRoZXIgZGl2aWRlZCBpbnRvIHRhYnMgb3IgY2FuIGJlIGdyb3VwZWQgdG9nZXRoZXIuIEFueSBleHByZXNzaW9uIGNhbiBiZSB1c2VkIGFzIGEgcG9zc2libGUgdmFsdWUuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmJsb2NrX2dyb3VwPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPldpdGggdGhpcyBwYXJhbWV0ZXIsIG11bHRpcGxlIGJsb2NrcyBjYW4gYmUgZ3JvdXBlZCBpbiBhIGZpZWxkc2V0LiBBbnkgZXhwcmVzc2lvbiBjYW4gYmUgdXNlZCBhcyBhIHBvc3NpYmxlIHZhbHVlLjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5hY3RpdmU8L3R0PiAodHJ1ZS9mYWxzZSkNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCUFsbG93cyB5b3UgdG8gZGlzYWJsZSBhIGNvbnRlbnQgYmxvY2suIERpc2FibGVkIGNvbnRlbnQgYmxvY2tzIHdvblwndCBiZSBzaG93biBpbiBiYWNrZW5kIGFzIHdlbGwgYXMgaW4gZnJvbnRlbmQuIChvbmx5IHdvcmtzIHdpdGgge0FkdmFuY2VkQ29udGVudH0gcGx1Z2luKTxiciAvPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmVkaXRvcl9ncm91cHM8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBncm91cCBuYW1lcyB0aGF0IGFyZSBhbGxvd2VkIHRvIGVkaXQgdGhpcyBibG9jay4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lZGl0b3JfdXNlcnM8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiB1c2VyIG5hbWVzIHRoYXQgYXJlIGFsbG93ZWQgdG8gZWRpdCB0aGlzIGJsb2NrLg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IGlmIHRoZSBwYXJhbXMgPHR0PmVkaXRvcl91c2VyczwvdHQ+IGFuZCA8dHQ+ZWRpdG9yX2dyb3VwczwvdHQ+IGFyZSBlbXB0eSB0aGUgYmxvY2sgbWF5IGJlIGVkaXRlZCBieSBhbnkgdXNlciB3aXRoIHN1ZmZpY2llbnQgcGVybWlzc2lvbiB0byBlZGl0IGEgcGFnZTwvZW0+PGJyIC8+PGJyIC8+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5mZXVfYWNjZXNzPC90dD4NCgkJPHVsPg0KCQkJPGxpPg0KCQkJCUEgbGlzdCBvZiBmZXUgZ3JvdXAgaWRzIHNlcGFyYXRlZCBieSBhIGNvbW1hLjxiciAvPg0KCQkJCVRoaXMgc2hvd3MgdGhlIGNvbnRlbnQgYmxvY2sgb25seSB0byBjZXJ0YWluIGZldSBncm91cHMuPGJyIC8+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZmV1X2FjdGlvbjwvdHQ+ICh0cnVlL2ZhbHNlKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJU3BlY2lmeSBpZiB0aGUgbG9naW4gZm9ybSBvZiB0aGUgZmV1IG1vZHVsZSB3aWxsIGJlIHNob3duIG9yIG5vdC48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IFRoZSBsb2dpbiBmb3JtIHdpbGwgb25seSBiZSBzaG93biBvbmUgdGltZS48YnIgLz4NCgkJCQlJZiB0aGVyZSBhcmUgbXVsdGlwbGUgYmxvY2tzIHdpdGggbGltaXRlZCBmZXVfYWNjZXNzIGFuZCBmZXVfYWN0aW9uIHNldCB0byB0cnVlIG9ubHkgdGhlIGZpcnN0IGJsb2NrcyBsb2dpbiBmb3JtIHdpbGwgYmUgc2hvd24gYW5kIGFsbCBvdGhlciBibG9ja3Mgd2lsbCBqdXN0IGJlIGVtcHR5LjwvZW0+PGJyIC8+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YWxsb3dfbm9uZTwvdHQ+ICh0cnVlL2ZhbHNlKQ0KCQk8dWw+DQoJCQk8bGk+U2V0IHRvIHRydWUgaWYgdGhlIHVzZXIgbWF5IGVudGVyIGVtcHR5IHZhbHVlcy4gPGJyIC8+SWYgc2V0IHRvIGZhbHNlIGFuZCB2YWx1ZSBpcyBlbXB0eSB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgcGFyYW0gImRlZmF1bHQiIHdpbGwgYmUgdXNlZC4gPGJyIC8+SWYgc2V0IHRvIHRydWUgYW5kIGJsb2NrIGlzIG9mIHR5cGUgaW1hZ2UvZmlsZSB0aGUgb3B0aW9uICJub25lIiAobW9kZT0iZHJvcGRvd24iKSBvciBhIGJ1dHRvbiB0byBjbGVhciB0aGUgc2VsZWN0ZWQgZmlsZS9pbWFnZSB2YWx1ZSAobW9kZT0iZmlsZXBpY2tlciIpIHdpbGwgYmUgZGlzcGxheWVkLjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zbWFydHk8L3R0PiAodHJ1ZS9mYWxzZSkNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCVR1cm4gc21hcnR5IHByb2Nlc3Npbmcgb2YgdmFsdWVzIG9uL29mZi48YnIgLz4NCgkJCQlJZiBzZXQgdG8gdHJ1ZSBhbnkgZ2l2ZW4gdmFsdWUgd2lsbCBiZSBwcm9jZXNzZWQgYnkgdGhlIHNtYXJ0eSBlbmdpbmUuPGJyIC8+DQoJCQkJPGVtPjxzdHJvbmc+Tm90aWNlOiA8L3N0cm9uZz4gQ29uc2lkZXIgdGhhdCB5b3UgY2Fubm90IHVzZSB0aGUgZGVmYXVsdCBzbWFydHkgZGVsaW1pdGVycyB0aGF0IGFyZSB1c2VkIGluIHRoZSB0ZW1wbGF0ZS4gVGhpcyB3aWxsIGNhdXNlIHNtYXJ0eSBlcnJvcnMgaW4gZnJvbnRlbmQuPGJyIC8+DQoJCQkJU28geW91IG5lZWQgdG8gdXNlIDo6OiBhcyBkZWxpbWl0ZXIgaW5zdGVhZC48YnIgLz48L2VtPg0KCQkJCUUuZy46IDxjb2RlPntjb250ZW50IGJsb2NrPSJDYXRlZ29yaWVzIiBsYWJlbD0iU2VsZWN0IGEgY2F0ZWdvcnkiIGJsb2NrX3R5cGU9ImRyb3Bkb3duIiBpdGVtcz0iOjo6Z2xvYmFsX2NvbnRlbnQgbmFtZT1cJ2NhdGVnb3J5bGlzdFwnOjo6IiBzbWFydHk9InRydWUifTwvY29kZT4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZXNjcmlwdGlvbjwvdHQ+IChzdHJpbmcpIA0KCQk8dWw+DQoJCQk8bGk+QWxsb3dzIHlvdSB0byBhZGQgYSBkZXRhaWxlZCBkZXNjcmlwdGlvbiB0byB0aGF0IGJsb2NrIGZvciB5b3VyIGVkaXRvcnMuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmNvbGxhcHNlPC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlTZXQgdG8gdHJ1ZS9mYWxzZSB0byBkaXNwbGF5IGJsb2NrIGluIGJhY2tlbmQgaW4gY29sbGFwc2VkL2V4cGFuZGVkIG1vZGUgYnkgZGVmYXVsdC48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IHdpbGwgYmUgYWx3YXlzIGZhbHNlIGlmIG5vX2NvbGxhcHNlPXRydWUgaXMgdXNlZC48L2VtPjxiciAvPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0Pm5vX2NvbGxhcHNlPC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlTZXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBmb2xkaW5nIG9mIGJsb2Nrcy48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IGlmIHNldCB0byB0cnVlIHBhcmFtIGNvbGxhcHNlIGlzIGFsd2F5cyBmYWxzZS48L2VtPjxiciAvPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnJlcXVpcmVkPC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlTZXQgdG8gdHJ1ZSBpZiB0aGlzIGJsb2NrIG1heSBub3QgYmUgZW1wdHkuPGJyIC8+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KPC91bD4NCjxwPjxzdHJvbmc+UGFyYW1zIG9mIGJsb2NrdHlwZSAiY2hlY2tib3giOjwvc3Ryb25nPjwvcD4NCjx1bD4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmRlZmF1bHQ8L3R0PiAodHJ1ZS9mYWxzZSkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQljaGVja3MvdW5jaGVja3MgdGhlIGNoZWNrYm94IGJ5IGRlZmF1bHQgd2hlbiBhZGRpbmcgYSBwYWdlPGJyIC8+DQoJCQkJPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBVc2UgIjEiIGZvciBjaGVja2VkIGFuZCAiMCIgZm9yIHVuY2hlY2tlZCBieSBkZWZhdWx0PGJyIC8+PC9lbT4NCgkJCQlFLmcuIDxjb2RlPntjb250ZW50IGJsb2NrX3R5cGU9ImNoZWNrYm94IiBkZWZhdWx0PTF9PC9jb2RlPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCjwvdWw+DQo8cD48c3Ryb25nPlBhcmFtcyBvZiBibG9ja3R5cGUgImRyb3Bkb3duIi8ic2VsZWN0X211bHRpcGxlIjo8L3N0cm9uZz48L3A+DQo8dWw+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5pdGVtczwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT5JdGVtIGxhYmVsKHMpIG9mIHRoZSBmaWVsZChzKSAoc2VwYXJhdGVkIGJ5IGEgZGVsaW1pdGVyIC0gZGVmYXVsdCBpcyB8IChwaXBlKSk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+dmFsdWVzPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPlZhbHVlKHMpIG9mIHRoZSBpdGVtcyAoc2VwYXJhdGVkIGJ5IGEgZGVsaW1pdGVyIC0gZGVmYXVsdCBpcyB8IChwaXBlKSk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gaWYgdGhlcmUgYXJlIGxlc3MgdmFsdWVzIHRoYW4gaXRlbXMgdGhlIGl0ZW0gbGFiZWxzIHdpbGwgYmUgdXNlZCBhcyB2YWx1ZXMgKGFuZCB2aXNlIHZlcnNhKS48L2VtPjxiciAvPjxiciAvPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZGVmYXVsdDwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlQcmVzZWxlY3RlZCB2YWx1ZShzKSAoc2VwYXJhdGVkIGJ5IGEgZGVsaW1pdGVyIC0gZGVmYXVsdCBpcyB8IChwaXBlKSk8YnIgLz4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZWxpbWl0ZXI8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+QSBzaWduIG9yIHN0cmluZyB0aGF0IHdpbGwgYmUgdXNlZCB0byBkZXZpZGUgdGhlIGl0ZW1zL3ZhbHVlcyAoZGVmYXVsdCBpcyB8IChwaXBlKSk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zaXplPC90dD4gKGludGVnZXIpDQoJCTx1bD4NCgkJCTxsaT5IZWlnaHQgb2YgY29udGVudCBibG9jayBpbiBiYWNrIGVuZCBpZiA8Y29kZT5ibG9ja190eXBlPSJzZWxlY3RfbXVsdGlwbGUiPC9jb2RlPiBpcyBzZXQuIDxlbT4oRGVmYXVsdCBpcyBudW1iZXIgb2YgaXRlbXMpPC9lbT48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zb3J0YWJsZV9pdGVtczwvdHQ+ICh0cnVlL2ZhbHNlKSAtIHNlbGVjdF9tdWx0aXBsZSBvbmx5DQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlJZiBzZXQgdG8gdHJ1ZSB0aGUgaXRlbXMgd29uXCd0IGJlIHNob3duIGFzIGEgbXVsdGlwbGUgc2VsZWN0IGlucHV0IHdpdGggb3B0aW9ucyBidXQgYXMgYSBsaXN0IG9mIGNoZWNrYm94ZXMgdGhhdCBjYW4gYmUgcmVvcmRlcmVkLjxiciAvPkVhY2ggcm93IGNvbnRhaW5zIHRoZSBpdGVtIGxhYmVsIGFuZCBhIGNoZWNrYm94IHdpdGggdGhlIGl0ZW0gdmFsdWUuPGJyIC8+DQoJCQkJPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBvbmx5IHRoZSBvcmRlciBvZiB0aGUgPHN0cm9uZz5zZWxlY3RlZDwvc3Ryb25nPiBpdGVtcyB3aWxsIGJlIHN0b3JlZCBhbmQgYWx3YXlzIGRpc3BsYXllZCBvbiB0aGUgdG9wIG9mIHRoZSBsaXN0IHdoZW4gcmVsb2FkaW5nIHRoZSBlZGl0IHBhZ2UuPGJyIC8+DQoJCQkJVW5zZWxlY3RlZCBpdGVtcyB3aWxsIGFwcGVuZGVkIGluIHRoYXQgb3JkZXIgdGhleSBhcmUgZGVmaW5lZCBpbiB0aGUgdGVtcGxhdGU8L2VtPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCjwvdWw+DQo8cD48c3Ryb25nPlBhcmFtcyBvZiBibG9ja3R5cGUgImRhdGUiOjwvc3Ryb25nPjwvcD4NCjx1bD4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnN0ZXBfaG91cnM8L3R0PiAoaW50KSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXN0ZXBzIG9mIGhvdXJzIGluIHRoZSBjbG9jayBkcm9wZG93bi4gKGRlZmF1bHQgaXMgMSkNCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zdGFydF9ob3VyPC90dD4gKGludCkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQl0aGUgc3RhcnQgaG91ciBvZiB0aGUgY2xvY2sgZHJvcGRvd24uIChkZWZhdWx0IGlzIDApDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZW5kX2hvdXI8L3R0PiAoaW50KSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXRoZSBlbmQgaG91ciBvZiB0aGUgY2xvY2sgZHJvcGRvd24gKGRlZmF1bHQgaXMgMTIgb3IgMjMpDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c2hvdzI0aDwvdHQ+ICh0cnVlL2ZhbHNlKSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXNldCB0byBmYWxzZSBpZiBBTS9QTSBpcyB1c2VkLiAoZGVmYXVsdCBpcyB0cnVlKQ0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnN0ZXBfbWludXRlczwvdHQ+IChpbnQpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJc3RlcHMgb2YgbWludXRlcyBpbiB0aGUgY2xvY2sgZHJvcGRvd24uIChkZWZhdWx0IGlzIDEwKQ0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnN0YXJ0X21pbnV0ZTwvdHQ+IChpbnQpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJdGhlIHN0YXJ0IG1pbnV0ZSBvZiB0aGUgY2xvY2sgZHJvcGRvd24uIChkZWZhdWx0IGlzIDApDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lbmRfbWludXRlPC90dD4gKGludCkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQl0aGUgZW5kIG1pbnV0ZSBvZiB0aGUgY2xvY2sgZHJvcGRvd24gKGRlZmF1bHQgaXMgNTkpDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c2hvd19jbG9jazwvdHQ+ICh0cnVlL2ZhbHNlKSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXNldCB0byBmYWxzZSBpZiBubyB0aW1lIGRyb3Bkb3duIHNob3VsZCBiZSBkaXNwbGF5ZWQgKGRlZmF1bHQgaXMgdHJ1ZSk8YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IElmIHNldCB0byBmYWxzZSAwMDowMCBvXCdjbG9jayB3aWxsIGJlIHVzZWQ8L2VtPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmRhdGVfZm9ybWF0PC90dD4gKHN0cmluZykgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlUaGUgc3RyZnRpbWUgZGF0ZSBmb3JtYXQgdG8gc2hvdyBpbiBmcm9udGVuZC4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQo8L3VsPg0KPHA+PHN0cm9uZz5QYXJhbXMgb2YgYmxvY2t0eXBlICJtdWx0aV9pbnB1dCI6PC9zdHJvbmc+PC9wPg0KPHVsPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+aW5wdXRzPC90dD4gKGNzdiBvZiBpbnB1dCBpZHMgeW91IGNyZWF0ZWQgaW4gdGhlIGJhY2tlbmQpIA0KCQk8YnIgLz48YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+dmFsdWVfZGVsaW1pdGVyPC90dD4gKGFueSBzdHJpbmcpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJVGhpcyBkZWZpbmVzIGEgc3RyaW5nIHRoYXQgZGV2aWRlcyB0aGUgdmFsdWVzIG9mIHRoZSBpbnB1dHMgb2Ygb25lIG11bHRpX2lucHV0IHdoZW4gc3RvcmVkIGluIHRoZSBkYXRhYmFzZS48YnIgLz4NCgkJCQlEZWZhdWx0IGlzICI8IS0tIG11bHRpX2lucHV0X3ZhbHVlX2RlbGxpbWl0ZXIgLS0+Ig0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmlucHV0X2RlbGltaXRlcjwvdHQ+IChhbnkgc3RyaW5nKSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCVRoaXMgZGVmaW5lcyBhIHN0cmluZyB0aGF0IGRldmlkZXMgdGhlIG11bHRpX2lucHV0cyB5b3UgZGVmaW5lZCBmb3IgdGhpcyBjb250ZW50IGJsb2NrIHdoZW4gc3RvcmVkIGluIHRoZSBkYXRhYmFzZS48YnIgLz4NCgkJCQlEZWZhdWx0IGlzICI8IS0tIG11bHRpX2lucHV0X2RlbGxpbWl0ZXIgLS0+Ig0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxwPjxzdHJvbmc+V2hhdCBpcyBhIG11bHRpX2lucHV0IGZvcj88L3N0cm9uZz48L3A+DQoJCTxwPkEgbXVsdGlfaW5wdXQgYmxvY2sgaXMgYSBjb250ZW50IGJsb2NrIHRoYXQgY29uc2lzdHMgb2YgZGlmZmVyZW50IGlucHV0IGZpZWxkcy4gPGJyIC8+DQoJCVlvdSBjYW4gZGVmaW5lIHRoZW0gaW4gdGhlIG1vZHVsZSBhZG1pbmlzdHJhdGlvbiB1c2luZyB0aGUgc2FtZSBzeW50YXggeW91IHVzZSBpbiBhIHRlbXBsYXRlIHdoZW4gZGVmaW5pbmcgYSBjb250ZW50IGJsb2NrLjxiciAvPg0KCQlNdWx0aSBpbnB1dHMgY2FuIGJlIHVzZWQgaWYgeW91IHdhbnQgdG8gc3RvcmUgZGlmZmVyZW50IHZhbHVlcyBpbiBvbmUgY29udGVudCBibG9jayBhbmQgcHJvdmlkZSBkaWZmZXJlbnQgaW5wdXQgdHlwZXMgZm9yIGVhY2ggdmFsdWVzLjxiciAvPg0KCQlUaGlzIGNhbiBiZSB1c2VmdWxsIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGRyb3Bkb3duIHRvIHNlbGVjdCBhIG1vZHVsZSB0byBiZSBzaG93biBpbiBmcm9udGVuZCBhbmQgdGV4dCBpbnB1dCB0byBkZWZpbmUgdGhlIG1vZHVsZSBwYXJhbWV0ZXJzLjxiciAvPg0KCQlFeGFtcGxlIGZvciBhIG11bHRpX2lucHV0IGluIHBhZ2UgdGVtcGxhdGU6PC9wPg0KCQk8cHJlPg0KCQk8Y29kZT4NCgkJe2NvbnRlbnQgYmxvY2s9Im1vZHVsZSIgbGFiZWw9IlBhZ2UgbW9kdWxlcyIgYmxvY2tfdHlwZT0ibXVsdGlfaW5wdXQiIGlucHV0cz0ibW9kdWxlLG1vZHVsZSxtb2R1bGUsbW9kdWxlIn0NCgkJPC9jb2RlPg0KCQk8L3ByZT4NCgkJPHA+RXhhbXBsZSBmb3IgdGhlIGRlZmluaXRpb24gb2YgdGhlIG11bHRpX2lucHV0IG5hbWVkICJtb2R1bGUiOjwvcD4NCgkJPHByZT4NCgkJPGNvZGU+DQoJCXtjb250ZW50IGJsb2NrPSJtb2R1bGUgc2VsZWN0aW9uIiBibG9ja190eXBlPSJkcm9wZG93biIgaXRlbXM9InxOZXdzfEdhbGxlcnl8TWVudSJ9DQoJCXtjb250ZW50IGJsb2NrPSJtb2R1bGUgcGFyYW1zIiBibG9ja190eXBlPSJ0ZXh0IiBvbmVsaW5lPXRydWV9DQoJCTwvY29kZT4NCgkJPC9wcmU+DQoJCTxwPldoYXQgaGFwcGVucyBpZiB5b3UgZWRpdCBhIHBhZ2U/PC9wPg0KCQk8cD5JdCB3aWxsIHNob3cgeW91IGEgZmllbGRzZXQgd2l0aCBsZWdlbmQgIlBhZ2UgbW9kdWxlcyIuIDxiciAvPg0KCQlJbnNpZGUgdGhpcyBmaWVsZHNldCBpdCBzaG93cyB0aGUgbXVsdGlfaW5wdXQgbmFtZWQgIm1vZHVsZSIgZm91ciB0aW1lcy48YnIgLz4NCgkJVGhhdCBtZWFucyB5b3Ugc2VlIGZvdXIgbGluZXMgd2l0aCB0d28gaW5wdXQgZmllbGRzLiBBIGRyb3Bkb3duIGFuZCBhIHRleHQgaW5wdXQuPC9wPg0KCQk8cD5XaGF0IGhhcHBlbnMgaWYgeW91IHNhdmUgYSBwYWdlPzwvcD4NCgkJPHA+VGhlIG1vZHVsZSBzdG9yZXMgdGhlIHZhbHVlcyBhcyBvbmUgc2luZ2xlIGNvbnRlbnQgcHJvcGVydHkgKGFrYSBjb250ZW50YmxvY2spIGFuZCBzZXBhcmF0ZXMgdGhlIGlucHV0cyBieSBhIGdpdmVuIGRlbGltaXRlci48YnIgLz4NCgkJTGV0XCdzIGFzc3VtZSB5b3Ugc2VsZWN0IHRoZSBOZXdzIG1vZHVsZSBmb3VyIHRpbWVzIHdpdGggZGlmZmVyZW50IG1vZHVsZSBwYXJhbXMgbGlrZSBjYXRlZ29yeT0iMSIsIGNhdGVnb3J5PSIyIiwgY2F0ZWdvcnk9IjMiLCBjYXRlZ29yeT0iNCIuPGJyIC8+DQoJCUluIHRoZSBkYXRhYmFzZSBpdCBzdG9yZXMgdGhpcyBzdHJpbmc6PC9wPg0KCQk8cHJlPg0KCQk8Y29kZT4NCgkJTmV3czwhLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tPmNhdGVnb3J5PSIxIjwhLS0gbXVsdGlfaW5wdXRfZGVsaW1pdGVyIC0tPjxiciAvPg0KCQlOZXdzPCEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxpbWl0ZXIgLS0+Y2F0ZWdvcnk9IjIiPCEtLSBtdWx0aV9pbnB1dF9kZWxpbWl0ZXIgLS0+PGJyIC8+DQoJCU5ld3M8IS0tIG11bHRpX2lucHV0X3ZhbHVlX2RlbGltaXRlciAtLT5jYXRlZ29yeT0iMyI8IS0tIG11bHRpX2lucHV0X2RlbGltaXRlciAtLT48YnIgLz4NCgkJTmV3czwhLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tPmNhdGVnb3J5PSI0Ig0KCQk8L2NvZGU+DQoJCTwvcHJlPg0KCQk8cD5JbiB5b3VyIHBhZ2UgdGVtcGxhdGUgeW91IGNhbiBleHBsb2RlIHRoZSBjb250ZW50IGJ5IHRoZSBkZWxpbWl0ZXJzIGFuZCBjYWxsIHRoZSBzZWxlY3RlZCBtb2R1bGVzLjwvcD4NCgkJPHA+RnVsbCBFeGFtcGxlOjwvcD4NCgkJPHByZT4NCgkJPGNvZGU+DQoJCXsqIGRlZmluZSB0aGUgY29udGVudCBibG9jayAqfQ0KCQl7Y29udGVudCBibG9jaz0ibXlfbW9kdWxlcyIgYmxvY2tfdHlwZT0ibXVsdGlfaW5wdXQiIGlucHV0cz0iTW9kdWxlLE1vZHVsZSxNb2R1bGUsTW9kdWxlIiBhc3NpZ249Im1vZHVsZXMifQ0KCQkNCgkJeyogZXhwbG9kZSBibG9jayBjb250ZW50IGluIGFuIGFycmF5IHRvIGdldCB0aGUgaW5wdXQgZ3JvdXBzICp9DQoJCXthc3NpZ24gdmFyPW1vZHVsZXMgdmFsdWU9IjwhLS0gbXVsdGlfaW5wdXRfZGVsaW1pdGVyIC0tPiJ8ZXhwbG9kZTokbW9kdWxlc30NCgkJDQoJCXsqIGxvb3AgdGhyb3VnaCB0aGUgc2VsZWN0ZWQgbW9kdWxlcyAqfQ0KCQl7Zm9yZWFjaCBmcm9tPSRtb2R1bGVzIGl0ZW09Im1vZHVsZSJ9DQoJCQl7aWYgJG1vZHVsZSAhPSBcJ1wnfQ0KCQkJDQoJCQkJeyogZXhwbG9kZSB0aGUgaW5wdXQgdmFsdWVzIGluIG1vZHVsbmFtZSBhbmQgbW9kdWxlIHBhcmFtZXRlcnMgKn0NCgkJCQl7YXNzaWduIHZhcj1tb2R1bGVfaXRlbXMgdmFsdWU9IjwhLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tPiJ8ZXhwbG9kZTokbW9kdWxlfQ0KCQkJCQ0KCQkJCXtpZiRtb2R1bGVfaXRlbXNbMF0gIT0gXCdcJ30NCgkJCQkNCgkJCQkJeyogY2FsbCB0aGUgbW9kdWxlICp9DQoJCQkJCXtpZiBpc3NldCgkbW9kdWxlX2l0ZW1zWzFdKX0NCgkJCQkJCXtldmFsIHZhcj0kc21hcnR5LmxkZWxpbXxjYXQ6XCdjbXNfbW9kdWxlIG1vZHVsZT0iXCd8Y2F0OiRtb2R1bGVfaXRlbXNbMF18Y2F0OlwnIiBcJ3xjYXQ6JG1vZHVsZV9pdGVtc1sxXXxjYXQ6JHNtYXJ0eS5yZGVsaW19DQoJCQkJCXtlbHNlfQ0KCQkJCQkJe2V2YWwgdmFyPSRzbWFydHkubGRlbGltfGNhdDpcJ2Ntc19tb2R1bGUgbW9kdWxlPSJcJ3xjYXQ6JG1vZHVsZV9pdGVtc1swXXxjYXQ6XCciXCd8Y2F0OiRzbWFydHkucmRlbGltfQ0KCQkJCQl7L2lmfQ0KCQkJCQkNCgkJCQl7L2lmfQ0KCQkJCQ0KCQkJey9pZn0NCgkJDQoJCXsvZm9yZWFjaH0NCgkJPC9jb2RlPg0KCQk8L3ByZT4NCgk8L2xpPg0KPC91bD4NCg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KCTxsaT5UaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXMgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9jb250ZW50Mi8iPmh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIvPC9hPjwvbGk+DQoJPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPC91bD4NCjxiciAvPg0KPHA+RmVlbCBmcmVlIHJlcG9ydCBhbnkga2luZCBvZiBmZWVkYmFjay48L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPg0KCUFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLjxiciAvPg0KCVRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLDxiciAvPg0KCWJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mPGJyIC8+DQoJTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLjxiciAvPg0KCVNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy48YnIgLz4NCglZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZTxiciAvPg0KCWFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlPGJyIC8+DQoJRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0E8YnIgLz4NCglPciByZWFkIGl0IG9ubGluZTogPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5odHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEw8L2E+PGJyIC8+DQoJUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuDQo8L3A+DQo8cD5Db3B5cmlnaHQgwqkgMjAxMCwgR2VvcmcgQnVzY2ggKE5hTikuIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQo8YnIgLz4gJzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzxiciAvPg0KPHA+PHN0cm9uZz5Nb2R1bGUgcmVsZWFzZXM8L3N0cm9uZz4uLi48L3A+DQo8dWw+DQoJPGxpPjxwPjxzdHJvbmc+MC43LjEgKE5vdiAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD5CdWdmaXhlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBmaXhlZCBidWcgaXRlbSAjNTY1MTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGZldV9hY2Nlc3M8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gZmV1X2FjdGlvbjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSByZXF1aXJlZDwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MC43IChOb3YgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gY29tcGF0aWJpbGl0eSBidWdmaXhlcyBmb3IgQ01TbXMgMS45KyAobmVlZHMgQ01TbXMgMS45IG1pbmltdW0gbm93KTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHN1cHBvcnQgb2Yge2NvbnRlbnRfbW9kdWxlfSB0YWc8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gbm9fY29sbGFwc2U8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuNi4yIChOb3YgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gbWlub3IgYnVnZml4IChzaG93ZWQgdGFicyBvZiBwcmV2aW91cyB0ZW1wbGF0ZSB3aGVuIHRlbXBsYXRlIHdhcyBjaGFuZ2VkKTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MC42LjEgKE5vdiAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD5CdWdmaXhlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBzZXZlcmFsIGJ1Z2ZpeGVzPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGNvbXBhdGliaWxpdHkgYnVnZml4ZXMgZm9yIENNU21zIDEuOTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIGFkZGVkIGJsb2NrX3R5cGUgbXVsdGlfaW5wdXQ8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuNiAoT2N0IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIHNldmVyYWwgYnVnZml4ZXM8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBibG9ja19ncm91cDwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPk1pc2M6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gUmVtb3ZlZCBmaWxlIHBpY2tlciAoYW5kIGFzc29jaWF0ZWQgYmxvY2tfdHlwZXMgaW1hZ2UvZmlsZSkgLSB1c2UgR0JGaWxlUGlja2VyIGluc3RlYWQuPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4wLjUgKFNlcHQgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPmZpeGVkIGJ1ZyBpdGVtICM1MjkyIChtZW1vcnkgaXNzdWUpPC9wPjwvbGk+DQoJCQkJCTxsaT48cD5maXhlZCBidWcgaXRlbSAjNTI1NCAoZGlzYWJsZSB3eXNpd3lnIG5vdCB3b3JraW5nKTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+Zml4ZWQgYnVnIGl0ZW0gIzUzMTAgKHVybG9ubHkgbm90IHdvcmtpbmcpPC9wPjwvbGk+DQoJCQkJCTxsaT48cD5maXhlZCBidWcgaXRlbSAjNTMxMSAoaW1hZ2UgcGF0aHMgbm90IHN0b3JlZCBcJ2NvcnJlY3RseVwnKTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNjEgKEFkZCBzb3J0IHRvIGltYWdlIHR5cGUgLSBub3RpY2UgdGhlIGNoYW5nZSBvZiBwYXJhbSBmaWx0ZXIpPC9wPjwvbGk+DQoJCQkJCTxsaT48cD5hZGRlZCBwYXJhbXMgZXhjbHVkZV9wcmVmaXgsIGluY2x1ZGVfcHJlZml4LCBleGNsdWRlX3N1Zml4LCBpbmNsdWRlX3N1Zml4PC9wPjwvbGk+DQoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNTMgKFRleHQgaW5wdXQgdG8gZGVmaW5lIGFkZCBwYXJhbXMgdG8gcmVkaXJlY3QgZnVuY3Rpb24pPC9wPjwvbGk+DQoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNDAgKERlZmF1bHQgdmFsdWVzIG9mIEFkdmFuY2VkQ29udGVudCBwYWdlIG9wdGlvbnMpPC9wPjwvbGk+DQoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNDEgKHB1dCBGZXVBY2Nlc3MgaW4gQmxvY2t0YWIpPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+TWlzYzo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBBZHZhbmNlZENvbnRlbnQgb3B0aW9ucyBhcmUgc2hvd24gaW4gc2VwYXJhdGUgdGFiPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIEFkZGVkIG5ldyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0aGUgQWR2YW5jZWRDb250ZW50IG9wdGlvbnMgdGFiPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIHJlbW92ZWQgcGFyYW0gZmlsdGVyICh1c2UgbmV3IHBhcmFtcyBpbnN0ZWFkKTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBwYXRoIHRvIGZpbGVzIGFyZSBzdG9yZWQgcmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIHBhcmFtIGRpciBvZiBibG9jayB0eXBlIGZpbGUvaW1hZ2UgbmVlZHMgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyIG9ubHkgKHRoZXJlIGlzIG5vIGltYWdlIHVwbG9hZHMgZGlyIHVzZWQgYW55bW9yZSk8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuNC4xIChBdWd1c3QgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gIzUxNTE6IGZpeGVkIHN0eWxlc2hlZXQgaXNzdWUgd2l0aCBleHBhbmQvY29sbGFwc2UgYnV0dG9ucyBvZiBjb250ZW50IGJsb2NrcyBpbiBJRS9TYWZhcmkuPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tICM1MTYyOiBQSFAgd2FybmluZ3MgaWYgYmFja2VuZCB1c2VycyB3aXRob3V0IHBlcm1pc3Npb24gIk1hbmFnZSBBbGwgQWR2YW5jZWRDb250ZW50IEJsb2NrcyIgb3BlbiBhbiBhZHZhbmNlZCBjb250ZW50IHBhZ2UgYW5kIG11bHRpcGxlIGNvbnRlbnQgYmxvY2tzIG9mIHNhbWUgbmFtZSB3ZXJlIHVzZWQgaW4gdGVtcGxhdGUuPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBleHRyYSBmaWVsZHMgY291bGQgbm90IGJlIHVwZGF0ZWQuPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBmZXUgYWNjZXNzIGRpZCBub3Qgd29yay48L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAiZGVsZXRlIiB0byBsZXQgdXNlcnMgZGVsZXRlIGZpbGVzIGV2ZW4gaWYgbm8gcGVybWlzc2lvbiAiTW9kaWZ5IEZpbGVzIjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAiY3JlYXRlX2RpcnMiIHRvIGxldCB1c2VycyBjcmVhdGVfZGlycyBldmVuIGlmIG5vIHBlcm1pc3Npb24gIk1vZGlmeSBGaWxlcyI8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgbmV3IGJsb2NrdHlwZSAibm90ZSIgdG8gY3JlYXRlIHNvbWUgc2luZ2xlIG5vdGVzIGZvciB5b3VyIGVkaXRvcnM8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5NaXNjOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIHJlbW92ZWQgZGVwZW5kZW5jeSBvZiBGaWxlTWFuYWdlcjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBibG9jayBvZiB0eXBlIGZpbGUgb3IgaW1hZ2Ugc3RvcmVzIHJlbGF0aXZlIHVybCBub3c8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYmxvY2sgdHlwZSBpbWFnZSBzaG93cyB0aHVtYm5haWwgaW4gYmFja2VuZCBwcmV2aWV3IGluc3RlYWQgb2YgZnVsbCBpbWFnZTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MC40IChKdWx5IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPkltcG9ydGFudCBub3RpY2U6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gY2hhbmdlZCBwYXJhbSAidHlwZSIgdG8gImJsb2NrX3R5cGUiIHNpbmNlIGl0IGludGVyZmVyZXMgd2l0aCB7Y29udGVudF9tb2R1bGV9IHRhZzwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tICM1MTAxOiBwYWdlX3RhYiAib3B0aW9ucyIgd2FzIHNob3duIHRvIHVzZXJzIHdpdGggbm8gcGVybWlzc2lvbiB0byBlZGl0IHBhZ2Ugb3B0aW9ucyBpZiBhIGNvbnRlbnQgYmxvY2sgd2FzIGFzc2lnbmVkIHRvIHRoYXQgdGFiLjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSAjNTA5NzogbGluayB0byBtaXNzaW5nIGNzcyByZW1vdmVkPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGZpeGVkIG1pbWUtdHlwZSBpc3N1ZSAoYWRkZWQgcHJlZmVyZW5jZSB0byB0b2dnbGUgbWltZS10eXBlIHVzYWdlIG9uL29mZik8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gZml4ZWQgcGF0aCBpc3N1ZSB3aGVyZSB0aHVtYm5haWxzIHdlcmUgbm90IHNob3duPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGZpeGVkIGNvbXBhdGliaWxpdHkgd2l0aCBDTVNtcyAxLjg8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gb3RoZXIgbWlub3IgYnVnZml4ZXM8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBNTEUgc3VwcG9ydDwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAic2hvd19jbG9jayIgdG8gZW5hYmxlL2Rpc2FibGUgdGhlIHRpbWUgZHJvcGRvd24gb2YgYmxvY2t0eXBlcyAiZGF0ZSIgaW4gYmFja2VuZDwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAiZGF0ZV9mb3JtYXQiIHRvIGZvcm1hdCB0aW1lc3RhbXAgb2YgYmxvY2t0eXBlcyAiZGF0ZSIgaW4gZnJvbnRlbmQ8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gImRlc2NyaXB0aW9uIjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBidWxrIGZ1bmN0aW9uIHRvIHNldCBhbGwgcGFnZXMgdG8gQWR2YW5jZWRDb250ZW50PC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIGNvbXBhdGliaWxpdHkgd2l0aCB7Y29udGVudF9tb2R1bGV9IHRhZzwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MC4zLjQgKEp1bmUgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gIzUwNDU6IFdoZW4gc3dpdGNoaW5nIGZyb20gQ29udGVudCAtPiBBZHZhbmNlZCBDb250ZW50IGxvdHMgb2YgUEhQIGVycm9yczwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSAjNTA1NjogcGFnZV90YWJzIG5vdCB3b3JraW5nIGZvciB1c2VycyB3aXRob3V0IHBlcm1pc3Npb24gIk1hbmFnZSBBbGwgQ29udGVudCI8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gIzUwNzM6IGluY29ycmVjdCBkaXNwbGF5IG9mIGZpbGVzIHdoZW4gb3BlbmluZyBmaWxlcGlja2VyPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGZpeGVkIG1pbm9yIGJ1ZyB3aGVyZSB0aGUgb3B0aW9uICJhbGxvd19ub25lIiBvZiBjb250ZW50IGJsb2NrcyBvZiB0eXBlIGltYWdlL2ZpbGUgd2FzIG5vdCBzaG93biB3aGVuIHRlbXBsYXRlIGhhcyBiZWVuIGVkaXRlZDwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIGFkZGVkIGZpbGVtYW5hZ2VtZW50IGFuZCB1cGxvYWQgZnVuY3Rpb25zIHRvIGNvbnRlbnQgYmxvY2tzIG9mIHR5cGUgaW1hZ2UvZmlsZTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBicmVhZGN1bWJzIHRvIGZpbGVwaWNrZXI8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRtaW5zIG1heSBicm93c2UgdGhlIGVudGlyZSBkaXIgdHJlZSBpbiBmaWxlcGlja2VyIGZpbGUgYnJvd3NlciByZWdhcmRsZXNzIG9mIHRlbXBsYXRlIHBhcmFtczwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBtaW1lIHR5cGUgY2hlY2tpbmcgdG8gZ2V0IGZpbGUgdHlwZTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCByYXd1cmxlbmNvZGUgaW4gc3JjIGF0dHJpYnMgdG8gZGlzcGxheSBpbWFnZXMgd2l0aCB3ZWlyZCBmaWxlbmFtZXMuPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+bWlzY2VsbGFuZW91czo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSByZW1vdmVkIE9PUCBzdHVmZiAocHJpdmF0ZS9wdWJsaWMvcHJvdGVjdGVkKSB0byBnYWluIG1vcmUgY29tcGF0aWJpbGl0eSB3aXRoIFBIUDQ8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gY2hhbmdlZCBhamF4IGZ1bmN0aW9ucyB0byByZXR1cm4geG1sIHZhbHVlczwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSByZW1vdmVkIHVzYWdlIG9mIEltYWdlTWFuYWdlciBvbmNlIGFuZCBmb3IgYWxsLiAoY2F1c2VkIG9ubHkgdHJvdWJsZSk8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuMy4zIChKdW5lIDIwMTApOjwvc3Ryb25nPjwvcD4NCgk8dWw+DQoJCTxsaT48cD5CdWdmaXhlczo8L3A+DQoJCQk8dWw+DQoJCQkJPGxpPjxwPi0gYWxpYXMgd2FzIG5vdCBhbHdheXMgY29udmVydGVkIHByb3Blcmx5PC9wPjwvbGk+DQoJCQkJPGxpPjxwPi0gdW5zdWJtaXR0ZWQgY29udGVudCBnb3QgbG9zdCBpZiBzd2l0Y2hpbmcgZnJvbSBDb250ZW50IHRvIEFkdmFuY2VkQ29udGVudDwvcD48L2xpPg0KCQkJPC91bD4NCgkJPC9saT4NCgkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCTx1bD4NCgkJCQk8bGk+PHA+LSBhZGRlZCBzdGFydC9lbmQgZGF0ZTwvcD48L2xpPg0KCQkJCTxsaT48cD4tIHJlbW92ZWQgdGltZXBpY2tlcjsgcmVwbGFjZWQgYnkgYSBzaW1wbGUgZHJvcGRvd248L3A+PC9saT4NCgkJCQk8bGk+PHA+LSBjb21wYXRpYmlsaXR5IHdpdGgge2NvbnRlbnRfaW1hZ2V9PC9wPjwvbGk+DQoJCQk8L3VsPg0KCQk8L2xpPg0KCTwvdWw+DQoJPGxpPjxwPjxzdHJvbmc+MC4zLjIgKEp1bmUgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+LSBmaXhlZCBidWcgd2hlcmUgY2hhbmdpbmcgYmFjayB0byBkZWZhdWx0IGNvbnRlbnQgdHlwZSBvciBjaGFuZ2luZyB0ZW1wbGF0ZSBjYXVzZWQgZmF0YWwgZXJyb3JzPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBmaXhlZCBhIGJ1ZyB3aXRoIHNtYXJ0eSBwcm9jZXNzaW5nIHdoZW4gc2F2aW5nIGEgcGFnZTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gZml4ZWQgYSBidWcgd2l0aCBwcmV2aWV3IHRhYjwvcD48L2xpPg0KCQkJPGxpPjxwPi0gcmUtYWRkZWQgZXhwYW5kL2NvbGxhcHNlIGJ1dHRvbiB0byB0b2dnbGUgY29udGVudCBibG9ja3MgaW4gYmFja2VuZDwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW1zIGVkaXRvcl9ncm91cHMvZWRpdG9yX3VzZXJzIHRvIHNwZWNpZnkgY2VydGFpbiB1c2Vycy9ncm91cHMgdGhhdCBhcmUgYWxsb3dlZCB0byBlZGl0IGNlcnRhaW4gYmxvY2tzPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSByZW1vdmVkIHBhcmFtcyBzZWxlY3RlZC9jaGVja2VkOyB1c2UgcGFyYW0gZGVmYXVsdCBpbnN0ZWFkPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBibG9jayBpZHMgd2lsbCBiZSBjb252ZXJ0ZWQgZnJvbSBibG9jayBuYW1lIHVzaW5nIGNvcmUgZnVuY3Rpb24gbXVuZ2Vfc3RyaW5nX3RvX3VybCAodG8gcmVtb3ZlIHNwZWNpYWwgY2hhcnMsIHdoaXRlc3BhY2VzLCB1bWxhdXRzIGV0Yy4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBmaXhlZCBidWcgb2YgYmxvY2t0eXBlIGRyb3Bkb3duL3NlbGVjdF9tdWx0aXBsZSB3aGVyZSBmaXJzdCBpdGVtIGhhZCBhbiBlbXB0eSBsYWJlbCBpZiBvbmx5IHRoZSBwYXJhbSAidmFsdWVzIiBpcyB1c2VkPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBzb21lIHRlbXBsYXRlIHZhcnMgb2YgdGhlIGZyb250ZW5kIHRvIGJlIGFsc28gYWNjZXNzaWJsZSBpbiBiYWNrZW5kIChlLmcuOiAkcGFnZV9hbGlhcyk8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICJhbGxvd19ub25lIiB0byBhbGwgY29udGVudCBibG9jayB0eXBlcyB0byBzcGVjaWZ5IGlmIHRoZSBwcmVkZWZpbmVkIGRlZmF1bHQgdmFsdWUgd2lsbCBiZSB1c2VkIGlmIG5vIHZhbHVlIGlzIGVudGVyZWQ8L3A+PC9saT4NCgkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBlbXB0eSB2YWx1ZXMgd2VyZSBuZXZlciBiZSBzdG9yZWQ8L3A+PC9saT4NCgkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBkZWZhdWx0IHZhbHVlIGluIGZyb250ZW5kIHdhcyBpZ25vcmVkIGlmIHRoZSAiYWxsb3dfbm9uZSIgcGFyYW0gd2FzIGNoYW5nZWQgYWZ0ZXIgYW4gZW1wdHkgdmFsdWUgaGFzIGJlZW4gc3RvcmVkPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAic29ydGFibGVfaXRlbXMiIHRvIGNyZWF0ZSBhIHNvcnRhYmxlIG11bHRpcGxlIHNlbGVjdCBsaXN0IChzZWxlY3QgbGlzdCB3aWxsIHJlc3VsdCBpbiBhIHRhYmxlIHdpdGggY2hlY2tib3hlczsgb25seSBvcmRlciBvZiBzZWxlY3RlZCBpdGVtcyB3aWxsIGJlIHN0b3JlZCBhbmQgc2hvd2VkIGF0IHRoZSB0b3Agb2YgdGhlIGxpc3Q7IHVuc2VsZWN0ZWQgaXRlbXMgd2lsbCBiZSBhcHBlbmRlZCBpbiB0aGF0IG9yZGVyIHRoZXkgYXJlIHBsYWNlZCBpbiB0aGUgdGVtcGxhdGUpPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4wLjMuMSAoTWF5IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gcmVtb3ZlZCB0aGUgcmVvcmRlcmluZyBzdHVmZiBmb3Igbm93IChjYXVzZXMgdHJvdWJsZSBhdCB0aGlzIHRpbWUpPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSByZW1vdmVkIHRoZSBkYiBzdHVmZiAocGFyYW1zIG9mIGNvbnRlbnQgYmxvY2tzIHRoYXQgYXJlIGRlZmluZWQgaW4gdGVtcGxhdGUgd29uXCd0IGJlIHNhdmVkIGluIG1vZHVsZSBkYiB0YWJsZSBhbnltb3JlIC0+IGhvcGVmdWxseSBzcGVlZCB1cCBsb2FkaW5nIHRpbWUpPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBmaXhlZCBhIGJ1ZyB3aXRoIGR1cGxpY2F0ZSBjb250ZW50IGJsb2NrczwvcD48L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPg0KCQk8cD48c3Ryb25nPkFkdmFuY2VkQ29udGVudCAwLjMgKE1heSAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIHJld3JpdGUgY29kZTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYnVnZml4ZXM8L3A+PC9saT4NCgkJCTxsaT48cD4tIHJlbmFtZWQgdG8gQWR2YW5jZWRDb250ZW50PC9wPjwvbGk+DQoJCQk8bGk+PHA+LSB1c2luZyBzZXBhcmF0ZSBtb2R1bGUgdGVtcGxhdGUgbm93IHRvIGRzcGxheSBjb250ZW50IGJsb2NrczwvcD48L2xpPg0KCQkJPGxpPjxwPi0gcmVtb3ZlZCBwYWdlIGFsaWFzIGluaGVyaXRhbmNlPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCjwvdWw+DQo8dWw+DQoJPGxpPjxwPjxzdHJvbmc+WENvbnRlbnQgQkVUQSAzIChBcHJpbCAyMDEwIC0gZGlzY29udGludWVkKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIE1ham9yIEJ1Z2ZpeCAobWlzc2luZyAiOyIgYW5kIHN0cmFuZ2UgaW52aXNpYmxlIGludmFsaWQgY2hhcnMpPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz5YQ29udGVudCBCRVRBIDIgKEFwcmlsIDIwMTAgLSBkaXNjb250aW51ZWQpOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gZml4ZWQgYSBidWcgd2l0aCBwYXJhbSAiZGVsaW1pdGVyIjwvcD48L2xpPg0KCQkJPGxpPjxwPi0gZml4ZWQgYSBidWcgd2l0aCBzbWFydHkgcHJvY2Vzc2luZzwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgaW5oZXJpdGFuY2Ugb2YgIlNob3cgbG9naW4gZm9ybSI8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIGluaGVyaXRhbmNlIG9mIHBhZ2UgYWxpYXMgdG8gYWRkIGl0IGFzIHByZWZmaXg7IHNvIGlmIHlvdSBoYXZlIGEgcGFnZSBjYWxsZWQgIm1lbWJlcnMiIGFuZCBzZWxlY3QgZm9yIGVhY2ggY2hpbGQgcGFnZSAiaW5oZXJpdCBwYWdlIGFsaWFzIiBhbGwgY2hpbGQgcGFnZXMgYWxpYXNlcyB3aWxsIHN0YXJ0IHdpdGggIm1lbWJlcnNfIjsgbWFrZXMgZmlsdGVyaW5nIG9mIG1lbnUgZW50cmllcyB3aXRoIE1lbnVNYW5hZ2VyIHBhcmFtICJleGNsdWRlcHJlZmZpeCIgb3IgImluY2x1ZGVwcmVmZml4IiBlYXNpZXIuPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBtaW5vciBidWdmaXhlczwvcD48L2xpPiANCgkJPC91bD4NCgk8L2xpPg0KCTxsaT4NCgkJPHA+PHN0cm9uZz5YQ29udGVudCBCRVRBIChBcHJpbCAyMDEwKTo8L3N0cm9uZz4gaW5pdGlhbCByZWxlYXNlPC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+LSBjb252ZXJ0ZWQgdGhlIHNpbmdsZSBmaWxlIGludG8gYSBtb2R1bGU8L3A+PC9saT4NCgkJCTxsaT48cD4tIHJlbmFtZWQgcGFyYW1zOyBzZWUgbW9kdWxlIGhlbHAgZm9yIG1vcmUgZGV0YWlsczwvcD48L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQo8L3VsPg0KPHA+PHN0cm9uZz5TaW5nbGUgZmlsZSByZWxlYXNlcyAoZGlzY29udGludWVkKTwvc3Ryb25nPi4uLjwvcD4NCjx1bD4NCgk8bGk+DQoJCTxwPjxzdHJvbmc+MS40IChNYXJjaCAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIGNsZWFudXAgY29kZSAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBtaW5vciBidWdmaXhlcyAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCByZWRpcmVjdCBwYWdlIGlmIGZldSBpcyBub3QgbG9nZ2VkIGluIC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIGluaGVyaXRhbmNlIG9mIGZldV9hY2Nlc3MgYW5kIHJlZGlyZWN0X3BhZ2UgLSAoTmFOKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gZmV1X2FjY2VzcyAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBmZXVfYWN0aW9uIC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIHJlZGlyZWN0X3BhZ2UgLSAoTmFOKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gYmxvY2tfb25seSAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBzbWFydHkgbG9naWMgaW4gYmFja2VuZCAtIChKZXJlbXlCYXNzKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gc3R5bGUgLSAoSmVyZW15QmFzcyk8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGZpbHRlciAoZmlsdGVyaW5nIGltYWdlcyBpbiBiYWNrZW5kKSAtIChKZXJlbXlCYXNzKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gSW1nTW9kZSAoZHJvcGRvd24gb3IgSW1hZ2VNYW5hZ2VyKSAtIChKZXJlbXlCYXNzKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gc21hcnR5T24gKGZvciBwcm9jZXNzaW5nIHNtYXJ0eSB2YXJzIG9mIHRoZSB0ZW1wYXRlIGluIGJhY2tlbmQpIC0gKEplcmVteUJhc3MpPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4xLjMgKEFwcmlsIDIwMDkpOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gQ01TbXMgMS42LiogcmVhZHkgLSAoTmFOKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgZmV1IGFjY2VzcyBvcHRpb24gLSAoTmFOKTwvcD48L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPg0KCQk8cD48c3Ryb25nPjEuMiAoTWFyY2ggMjAwOSk6PC9zdHJvbmc+IGluaXRpYWwgcmVsZWFzZTwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gQSBzaW5nbGUgZmlsZSBDb250ZW50Mi5pbmMucGhwIHRoYXQgbmVlZHMgdG8gYmUgcGFjZWQgaW4gbGliL2NsYXNzZXMvY29udGVudHR5cGVzLjwvcD48L2xpPg0KCQkJPGxpPjxwPi0gbGF5b3V0L29wdGlvbnMgb2YgYmFja2VuZCBwYW5lbCBjYW4gYmUgY29udHJvbGVkIGJ5IGFkZGl0aW9uYWwgc21hcnR5IHBhcmFtcyBpbiB0aGUgdGVtcGxhdGU7IGludGVncmF0ZWQgdGhlIHtjb250ZW50X2ltYWdlfSB0YWcgLSAobW9kIGJ5IE5hTik8L3A+PC9saT4NCgkJPC91bD4NCgk8L2xpPg0KPC91bD4NCjxiciAvPiAnOwokbGFuZ1sncWNhJ10gPSAnUDAtNjM2NjExNzU4LTEyOTA3NzMwNTQwMzAnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjkzMTQyNTc5LjEyLjcudXRtY3NyPWNtc21hZGVzaW1wbGUucnV8dXRtY2NuPShyZWZlcnJhbCl8dXRtY21kPXJlZmVycmFsfHV0bWNjdD0vJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNTgxMTAzODA5LjEyOTA3NzMwNDcuMTI5MzE0MjU3OS4xMjkzMjEyNTYyLjEzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ0FkdmFuY2VkQ29udGVudCddID0gJ1JveiZzY2Fyb247JmlhY3V0ZTtyZW4meWFjdXRlOyBvYnNhaCc7CiRsYW5nWydhZHZhbmNlZGNvbnRlbnRfdGFibmFtZSddID0gJ1JveiZzY2Fyb247JmlhY3V0ZTtyZW4mZWFjdXRlOyBuYXN0YXZlbmlhJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsICVzIG5haW4mc2Nhcm9uO3RhbG92YW4meWFjdXRlOyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIEFkdmFuY2VkQ29udGVudCAlcyBvZGluJnNjYXJvbjt0YWxvdmFuJnlhY3V0ZTsnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bCBha3R1YWxpem92YW4meWFjdXRlOyBuYSB2ZXJ6aXUgJXMnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bCAlcyBuYWluJnNjYXJvbjt0YWxvdmFuJnlhY3V0ZTsuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdNb2R1bCAlcyBvZGluJnNjYXJvbjt0YWxvdmFuJnlhY3V0ZTsuJzsKJGxhbmdbJ2NvbmZpcm11bmluc3RhbGwnXSA9ICdTdGUgc2kgaXN0JnlhY3V0ZTssIMW+ZSBjaGNldGUgbW9kdWwgb2RzdHImYWFjdXRlO25pxaU/JzsKJGxhbmdbJ25vdGljZV9kdXBsaWNhdGVjb250ZW50J10gPSAnPGVtPjxzdHJvbmc+UG96biZhYWN1dGU7bWthOjwvc3Ryb25nPiBUZW50byBibG9rIGplIHBvdcW+aXQmeWFjdXRlOyB2aWFjbiZhYWN1dGU7c29ibmUgdiAmc2Nhcm9uO2FibCZvYWN1dGU7bmUsIHpvYnJhenVqZSBzYSBWJmFhY3V0ZTttIGliYSBwcnYmeWFjdXRlOyB6IG5pY2guPC9lbT4nOwokbGFuZ1snZXJyb3JfYmFzaWNhdHRyaWInXSA9ICc8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IENhbm5vdCB1c2UgYmFzaWMgY29udGVudCBwcm9wZXJ0eSBuYW1lICYjMDM5OyVzJiMwMzk7IGFzIHZhbHVlIG9mIHBhcmFtICYjMDM5O2Jsb2NrJiMwMzk7LiA8YnIgLz5UaGlzIGJsb2NrIGlzIGRpc2FibGVkLiBDaGVjayB5b3VyIHBhZ2UgdGVtcGxhdGUgYW5kIGNob3NlIGEgZGlmZmVyZW50IHZhbHVlIG9mIHBhcmFtICYjMDM5O2Jsb2NrJiMwMzk7LjwvZW0+JzsKJGxhbmdbJ2Vycm9yX2V4cGlyZWRhdGUnXSA9ICdEJmFhY3V0ZTt0dW0ga29uY2EgbXVzJmlhY3V0ZTsgYnnFpSBuZXNrb3Imc2Nhcm9uOyZpYWN1dGU7ICBha28gZCZhYWN1dGU7dHVtIHphxI1pYXRrdSc7CiRsYW5nWyd5b3VhcmVpbnRleHQnXSA9ICdTJnVhY3V0ZTvEjWFzbiZ5YWN1dGU7IGFkcmVzJmFhY3V0ZTtyJzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdWZcS+a29zxaUgb2JyJmFhY3V0ZTt6a3UnOwokbGFuZ1snc2l6ZSddID0gJ1ZlxL5rb3PFpSBvYnImYWFjdXRlO3prdSc7CiRsYW5nWydpbmhlcml0X2Zyb21fcGFyZW50J10gPSAnUHJldnppYcWlIG9kIG5hZHJpYWRlbmVqJzsKJGxhbmdbJ25vbmUnXSA9ICfFvmlhZG55JzsKJGxhbmdbJ2ludmFsaWQnXSA9ICdzIGNoeWJvdSc7CiRsYW5nWydpbnZhbGlkX2Jsb2NrdHlwZSddID0gJzxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gSW52YWxpZCB2YWx1ZSAmIzAzOTslcyYjMDM5OyBvZiBwYXJhbSBibG9ja190eXBlIGluIGJsb2NrICYjMDM5OyVzJiMwMzk7LjxiciAvPkNoZWNrIHlvdXIgcGFnZSB0ZW1wbGF0ZS48L2VtPic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRfYmxvY2twYXJhbXMnXSA9ICc8ZW0+PHN0cm9uZz5FcnJvcjo8L3N0cm9uZz4gSW5zdWZmaWNpZW50IHBhcmFtcy4gPGJyIC8+TWlzc2luZyBwYXJhbSAmIzAzOTslcyYjMDM5OyBmb3IgYmxvY2sgJiMwMzk7JXMmIzAzOTsuIENoZWNrIHlvdXIgcGFnZSB0ZW1wbGF0ZS48L2VtPic7CiRsYW5nWyd5ZXMnXSA9ICcmQWFjdXRlO25vJzsKJGxhbmdbJ25vJ10gPSAnTmllJzsKJGxhbmdbJ2Zyb250ZW5kYWNjZXNzJ10gPSAnRnJvbnRlbmQgcHImaWFjdXRlO3N0dXAnOwokbGFuZ1sncmVkaXJlY3RwYWdlJ10gPSAnUFJlc21lcm92YcWlIHBva2lhxL4gbmllIGplIHXFviZpYWN1dGU7dmF0ZcS+IHByaWhsJmFhY3V0ZTtzZW4meWFjdXRlOyc7CiRsYW5nWydzaG93bG9naW5mb3JtJ10gPSAnWm9icmF6acWlIGZvcm11bCZhYWN1dGU7ciBwcmlobCZhYWN1dGU7c2VuaWEnOwokbGFuZ1sncmVnaXN0ZXJlZHVzZXJzJ10gPSAnSWJhIHJlc2lzdHJvdmFuJnlhY3V0ZTsgdcW+JmlhY3V0ZTt2YXRlbGlhJzsKJGxhbmdbJ2Jsb2NrJ10gPSAnQmxvayc7CiRsYW5nWyd1c2VleHBpcmVkYXRlJ10gPSAnUG91xb5pxaUgZCZhYWN1dGU7dHVtIGtvbmNhJzsKJGxhbmdbJ3N0YXJ0ZGF0ZSddID0gJ1phxI0maWFjdXRlO25hJzsKJGxhbmdbJ2VuZGRhdGUnXSA9ICdLb27EjSZpYWN1dGU7JzsKJGxhbmdbJ2Jsb2NrY29udGVudCddID0gJ09ic2Fob3YmeWFjdXRlOyBibG9rICc7CiRsYW5nWydzZXRwYWdlaW5hY3RpdmUnXSA9ICdOYXN0YXZpxaUgYWtvIG5lYWt0JmlhY3V0ZTt2bnUgJzsKJGxhbmdbJ2RlbGV0ZXBhZ2UnXSA9ICdPZHN0ciZhYWN1dGU7bmnFpSBzdHImYWFjdXRlO25rdSc7CiRsYW5nWyd1bmluc3RhbGxhY3Rpb24nXSA9ICdPZGluJnNjYXJvbjt0YWwmYWFjdXRlO2NpYSc7CiRsYW5nWydzZXRjb250ZW50MSddID0gJ1NldCBhbGwgUGFnZXMgdG8gdHlwZSBDb250ZW50JzsKJGxhbmdbJ3NldGNvbnRlbnQyJ10gPSAnU2V0IGFsbCBQYWdlcyB0byB0eXBlIENvbnRlbnQgYW5kIHJlbW92ZSBhZGRpdGlvbmFsIGNvbnRlbnQgYmxvY2tzJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ05hc3RhdmVuaWEgdXByYXZlbiZlYWN1dGU7JzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICdPSyc7CiRsYW5nWydlcnJvciddID0gJ0NoeWJhJzsKJGxhbmdbJ2RlbGV0ZXBhZ2VzJ10gPSAnT2RzdHImYWFjdXRlO25pxaUgdiZzY2Fyb247ZXRreSBzdHImYWFjdXRlO25reSB6IG9ic2Fob3YmeWFjdXRlO20gdHlwb20gQWR2YW5jZWRDb250ZW50JzsKJGxhbmdbJ2ltcG9ydHBhZ2VzJ10gPSAnU2V0IGFsbCBQYWdlcyBvZiB0eXBlIGNvbnRlbnQgdG8gdHlwZSBBZHZhbmNlZENvbnRlbnQuJzsKJGxhbmdbJ3BhZ2VzaW1wb3J0ZWQnXSA9ICdWJnNjYXJvbjtldGt5IHN0ciZhYWN1dGU7bmt5IG5hc3RhdmnFpSBha28gb2JzYWhvdiZ5YWN1dGU7IHR5cCBBZHZhbmNlZENvbnRlbnQnOwokbGFuZ1snY29uZmlybWltcG9ydCddID0gJ1NrdXRvxI1uZSBjaGNldGUgbmFzdGF2ecWlIG9ic2Fob3YmZWFjdXRlOyB0eXB5IHByZSB2JnNjYXJvbjtldGt5IHN0ciZhYWN1dGU7bmt5JzsKJGxhbmdbJ3RvZ2dsZV9tZXNzYWdlJ10gPSAnU2tyecWlIHQmdWFjdXRlO3RvIGluZm9ybSZhYWN1dGU7Y2l1JzsKJGxhbmdbJ2NvbnRlbnRzZXR0aW5ncyddID0gJ1ByZWRuYXN0YXZlbiZlYWN1dGU7IG5hc3RhdmVuaWEnOwokbGFuZ1sncmVkaXJlY3RwYXJhbXMnXSA9ICdVUkwgcGFyYW1zIHRvIGFwcGVuZCB3aGVuIHJlZGlyZWN0aW5nIChwYXJhbTE9dmFsdWUxIHBhcmFtMj12YWx1ZTIgLi4uKSc7CiRsYW5nWydldmFsdWF0ZXNtYXJ0eSddID0gJ1VzZSBzbWFydHkgdG8gY3JlYXRlIHRoZSBwYXJhbXMnOwokbGFuZ1snZXJyb3JfbG9hZGluZ19tb2R1bGUnXSA9ICc8ZW0+PHN0cm9uZz5DaHliYTo8L3N0cm9uZz4gTmVtJm9jaXJjO8W+ZW0gbmFocmHFpSBtb2R1bCAmIzAzOTslcyYjMDM5Oy4gKHphZGFuJnlhY3V0ZTsgcHJlIGJsb2sgJiMwMzk7JXMmIzAzOTsgc3RyJmFhY3V0ZTtua2UgJnNjYXJvbjthYmwmb2FjdXRlO255Lik8L2VtPic7CiRsYW5nWydlcnJvcl9jb250ZW50YmxvY2tfc3VwcG9ydCddID0gJzxlbT48c3Ryb25nPkVycm9yOjwvc3Ryb25nPiBNb2R1bGUgJiMwMzk7JXMmIzAzOTsgZG9lcyBub3Qgc3VwcG9ydCBjb250ZW50YmxvY2tzLiAoRGVmaW5lZCBmb3IgYmxvY2sgJiMwMzk7JXMmIzAzOTsgaW4geW91ciBwYWdlIHRlbXBsYXRlLik8L2VtPic7CiRsYW5nWydzdWNjZXNzX2ltcG9ydHBhZ2VzJ10gPSAnQWxsIHBhZ2VzIG9mIHR5cGUgJXMgc3VjY2VzZnVsbHkgY2hhbmdlZCB0byAlcyc7CiRsYW5nWydzaG93X2FkdmFuY2VkY29udGVudF9vcHRpb25zJ10gPSAnU2hvdyBBZHZhbmNlZENvbnRlbnQgb3B0aW9ucyB0YWInOwokbGFuZ1snZGlzcGxheV9zZXR0aW5ncyddID0gJyVzIGRpc3BsYXkgc2V0dGluZ3MnOwokbGFuZ1snc2F2ZV9jb2xsYXBzZV9zdGF0dXMnXSA9ICdTYXZlIGNvbGxwYXNlIHN0YXR1cyBvZiAlcyc7CiRsYW5nWydjb250ZW50X2Jsb2NrcyddID0gJ2NvbnRlbnQgYmxvY2tzJzsKJGxhbmdbJ2Jsb2NrX21lc3NhZ2UnXSA9ICdjb250ZW50IGJsb2NrIG1lc3NhZ2UnOwokbGFuZ1snYmxvY2tfZ3JvdXBzJ10gPSAnYmxvY2sgZ3JvdXBzJzsKJGxhbmdbJ2NvbGxhcHNlX2RlZmF1bHQnXSA9ICdDb2xsYXBzZSAlcyBieSBkZWZhdWx0JzsKJGxhbmdbJ3Blcl9wYWdlJ10gPSAncGVyIHBhZ2UnOwokbGFuZ1sncGVyX3RlbXBsYXRlJ10gPSAncGVyIHRlbXBsYXRlJzsKJGxhbmdbJ2JvdGgxJ10gPSAndGVtcGxhdGUgT1IgcGFnZSAnOwokbGFuZ1snYm90aDInXSA9ICd0ZW1wbGF0ZSBBTkQgcGFnZSc7CiRsYW5nWydjb250ZW50J10gPSAnQ29udGVudCc7CiRsYW5nWydjb250ZW50MiddID0gJ0FkdmFuY2VkIENvbnRlbnQnOwokbGFuZ1sncHJlZnMnXSA9ICdQcmVmZXJlbmNlcyc7CiRsYW5nWydtdWx0aV9pbnB1dCddID0gJ011bHRpIElucHV0cyc7CiRsYW5nWydtdWx0aV9pbnB1dF90cGwnXSA9ICdNdWx0aSBJbnB1dCBUZW1wbGF0ZXMnOwokbGFuZ1snYWRkX211bHRpX2lucHV0J10gPSAnQWRkIG5ldyBtdWx0aSBpbnB1dCc7CiRsYW5nWydhZGRfbXVsdGlfaW5wdXRfdHBsJ10gPSAnQWRkIG5ldyBtdWx0aSBpbnB1dCB0ZW1wbGF0ZSc7CiRsYW5nWydpbnB1dF9pZCddID0gJ0lucHV0IElEJzsKJGxhbmdbJ2lucHV0X2ZpZWxkcyddID0gJ0lucHV0IGZpZWxkcyc7CiRsYW5nWyd0cGxfbmFtZSddID0gJ1RlbXBsYXRlIG5hbWUnOwokbGFuZ1snZXJyb3JfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBpcyBhIHJlcXVpcmVkIGZpZWxkIGFuZCBtYXkgbm90IGJlIGVtcHR5JzsKJGxhbmdbJ2Vycm9yX2lucHV0X2ZpZWxkcyddID0gJ0lucHV0IGZpZWxkcyBpcyBhIHJlcXVpcmVkIGZpZWxkIGFuZCBtYXkgbm90IGJlIGVtcHR5Lic7CiRsYW5nWydlcnJvcl9pbnB1dF9pZCddID0gJ05vIGlucHV0IGlkIGdpdmVuIG9yIGlucHV0IGlkIGFscmVhZHkgZXhpc3RzLic7CiRsYW5nWydlcnJvcl9pbnB1dF9pZF9leGlzdHMnXSA9ICdJbnB1dCBJRCBpcyBhbHJlYWR5IGluIHVzZS4gQ2hvb3NlIGEgZGlmZmVyZW50IG9uZS4gKG11c3QgYmUgdW5pcXVlKSc7CiRsYW5nWydtdWx0aV9pbnB1dF9hZGRlZCddID0gJ011bHRpIElucHV0IGFkZGVkLic7CiRsYW5nWydtdWx0aV9pbnB1dF9kZWxldGVkJ10gPSAnTXVsdGkgSW5wdXQgZGVsZXRlZC4nOwokbGFuZ1snbXVsdGlfaW5wdXRfdXBkYXRlZCddID0gJ011bHRpIElucHV0IHVwZGF0ZWQuJzsKJGxhbmdbJ211bHRpX2lucHV0X3RwbF9hZGRlZCddID0gJ011bHRpIElucHV0IHRlbXBsYXRlIGFkZGVkLic7CiRsYW5nWydtdWx0aV9pbnB1dF90cGxfdXBkYXRlZCddID0gJ011bHRpIElucHV0IHRlbXBsYXRlIHVwZGF0ZWQuJzsKJGxhbmdbJ211bHRpX2lucHV0X3RwbF9kZWxldGVkJ10gPSAnTXVsdGkgSW5wdXQgdGVtcGxhdGUgZGVsZXRlZC4nOwokbGFuZ1snZGVsZXRlX3NlbGVjdGVkJ10gPSAnT2RzdHImYWFjdXRlO25pxaUgdnlicmFuJmVhY3V0ZTsgcG9sb8W+a3knOwokbGFuZ1snY29uZmlybV9kZWxldGUnXSA9ICdDaGNldGUgc2t1dG/EjW5lIG9kc3RyJmFhY3V0ZTtuacWlIHBvbG/Fvmt1Pyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9zZWxlY3RlZCddID0gJ0NoY2V0ZSAgc2t1dG/EjW5lIG9kc3RyJmFhY3V0ZTtuacWlIHZ5YnJhbiZlYWN1dGU7IHBvbG/Fvmt5Lic7CiRsYW5nWyd1c2VfY29udGVudHR5cGUnXSA9ICdQb3XFvmnFpSBvYnNhaG92JnlhY3V0ZTsgdHlwJzsKJGxhbmdbJ2hlbHBfdHBsX3ZhcnMnXSA9ICc8cD48c3Ryb25nPlRlbXBsYXRlIHZhcnM6PC9zdHJvbmc+PC9wPg0KPHA+PHByZT48Y29kZT57JGlucHV0c308L2NvZGU+PC9wcmU+IGlzIGFuIGFycmF5IHRoYXQgY29udGFpbnMgYWxsIGRlZmluZWQgaW5wdXQgZWxlbWVudHMgb2YgdGhhdCBtdWx0aSBpbnB1dCBibG9jay48YnIgLz4NCkVhY2ggaW5wdXQgZWxlbWVudCBpcyBhbiBhcnJheSB0aGF0IGNvbnRhaW5zIGFsbCBpdHMgcGFyYW1zLiA8YnIgLz4NClNlZSBtb2R1bGUgaGVscCBmb3IgbW9yZSBpbmZvLjxiciAvPg0KQWRkaXRpb25hbCBwYXJhbSBpcyAmcXVvdDtpbnB1dCZxdW90OyB0aGF0IHdpbGwgcHJpbnQgb3V0IHRoZSBpbnB1dCBlbGVtZW50LjxiciAvPg0KVG8gYWNjZXNzIHRoZSBwYXJhbXMgdXNlIHRoZSBkb3Qgc3ludGF4LjxiciAvPg0KRXhhbXBsZTo8L3A+DQo8cHJlPjxjb2RlPntmb3JlYWNoIGZyb209JGlucHV0cyBpdGVtPWVsbX0NCgl7JGVsbS5sYWJlbH06Jm5ic3A7eyRlbG0uaW5wdXR9PGJyIC8+DQp7L2ZvcmVhY2h9PC9jb2RlPjwvcHJlPic7CiRsYW5nWydoZWxwJ10gPSAnPGJyIC8+DQo8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCjxwPlRoaXMgaXMgYSBtb2RpZmljYXRpb24gb2YgdGhlIGRlZmF1bHQgY29udGVudCB0eXBlICZxdW90O0NvbnRlbnQmcXVvdDsgb2YgQ01TbXMuPGJyIC8+DQpJdCBwcm92aWRlcyBtb3JlIGZsZXhpYmlsaXR5IGJ5IGNyZWF0aW5nIGN1c3RvbSBpbnB1dCBjb250cm9scyBpbiBiYWNrZW5kLjxiciAvPg0KVXNlcnMgY2FuIGFkZCBkcm9wZG93bnMsIG11bHRpcGxlIHNlbGVjdCBsaXN0cywgY2hlY2tib3hlcywgZ3JvdXAgY29udGVudCBibG9ja3MgDQppbiBzZXBhcmF0ZSBwYWdlIHRhYnMsIGJsb2NrIHRhYnMgaW5zaWRlIGEgcGFnZSB0YWIgb3IgaW4gZmllbGRzZXRzIGJ5IGp1c3QgDQp1c2luZyBhZGRpdGlvbmFsIHBhcmFtcyBpbiB0aGUgdGVtcGxhdGUgd2hlbiBjYWxsaW5nIHRoZSBjb250ZW50LjxiciAvPg0KSXQgYWxzbyBhZGRzIGFiaWxpdHkgdG8gZ3JhbnQgYWNjZXNzIG9mIHBhZ2VzIHRvIGNlcnRhaW4gdXNlcnMgb2YgdGhlIA0KRnJvbnRFbmRVc2VycyBtb2R1bGUgYW5kIGhpZGUgdGhlIGNvbnRlbnQsIHJlcGxhY2UgaXQgYnkgdGhlIGxvZ2luIGZvcm0gb2YgdGhlIA0KRnJvbnRFbmRVc2VycyBtb2R1bGUgb3IgcmVkaXJlY3QgdG8gYSBzcGVjaWZpZWQgcGFnZSBzaG93aW5nIHRoZSBsb2dpbiBmb3JtIG9yIA0KanVzdCByZWRpcmVjdCB3aXRob3V0IGRvaW5nIGFueXRoaW5nIGVsc2UuPGJyIC8+DQpQYWdlIHByb3BlcnR5IG9mIEZyb250RW5kVXNlcnMgYWNjZXNzIGFuZCByZWRpcmVjdCBwYWdlIGNhbiBiZSBpbmhlcml0ZWQgYnkgDQpwYXJlbnQgcGFnZXMuPC9wPg0KPHA+WW91IGNhbiBldmVuIHVzZSBzbWFydHkgbG9naWMgaW4gcGFyYW1ldGVyIHZhbHVlcy4gVGhhdCBtZWFucyB5b3UgY2FuIHVzZSB0aGUgDQpyZXN1bHQgb2YgYSBwbHVnaW4sIGFuIHVkdCBvciBldmVuIGEgbW9kdWxlIG9yIGp1c3QgdGhlIGNvbnRlbnQgb2YgYSBnbG9iYWwgDQpjb250ZW50IGJsb2NrIGFzIHBhcmFtZXRlciB2YWx1ZSB0byBjcmVhdGUgZHluYW1pYyB2YWx1ZXMuPC9wPg0KPGgzPkhvdyBpcyBpdCB1c2VkPzwvaDM+DQo8cD5BZnRlciBpbnN0YWxsYXRpb24gdGhlIG1vZHVsZSBzZXR0aW5ncyBjYW4gYmUgZm91bmQgaW4gJnF1b3Q7RXh0ZW5zaW9ucy0+QWR2YW5jZWRDb250ZW50JnF1b3Q7LjwvcD4NCjxwPkFkZGl0aW9uYWxseSB5b3Ugd2lsbCBoYXZlIGEgbmV3IGNvbnRlbnQgdHlwZSAmcXVvdDtBZHZhbmNlZENvbnRlbnQmcXVvdDsgYXZhaWxhYmxlIA0Kd2hlbiBhZGRpbmcvZWRpdGluZyBhIHBhZ2UuPGJyIC8+DQo8cD5BZGQgdGhlIGZvbGxvd2luZyBwYXJhbXMgdG8geW91ciBjb250ZW50IHRhZyBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUsIA0KY2hhbmdlIHRoZSBjb250ZW50IHR5cGUgb2YgeW91ciBwYWdlIHRvICZxdW90O0FkdmFuY2VkQ29udGVudCZxdW90OyBhbmQgc2VlIHdoYXQgaGFwcGVucyANCmluIGJhY2tlbmQuLi48L3A+DQo8aDM+V2hhdCBwYXJhbWV0ZXJzIGFyZSBhdmFpbGFibGU/PC9oMz4NCjxwPmFsbCBwYXJhbXMgYXJlIG9wdGlvbmFsPC9wPg0KPHA+PHN0cm9uZz5EZWZhdWx0IHBhcmFtczo8L3N0cm9uZz48L3A+DQo8dWw+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5ibG9jazwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlBbGxvd3MgeW91IHRvIGhhdmUgbW9yZSB0aGFuIG9uZSBjb250ZW50IGJsb2NrIHBlciBwYWdlLiBJZiBtdWx0aXBsZSBjb250ZW50IHRhZ3MgYXJlIHB1dCBvbiBhIHRlbXBsYXRlLCB0aGF0IG51bWJlciBvZiBlZGl0IGJveGVzIHdpbGwgYmUgZGlzcGxheWVkIGlmIHRoZSBwYWdlIGlzIGVkaXRlZC48YnIgLz4NCgkJCQllLmcuOiA8Y29kZT57Y29udGVudCBibG9jaz0mcXVvdDtTZWNvbmQgQ29udGVudCBibG9jayZxdW90O308L2NvZGU+PGJyIC8+DQoJCQkJTm93LCBpZiB5b3UgZWRpdCBhIHBhZ2UgdGhlcmUgd2lsbCBiYSBhIHRleHRhcmVhIGNhbGxlZCAmcXVvdDtTZWNvbmQgQ29udGVudCBibG9jayZxdW90Oy48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IFRoZSBuYW1lIG9mIHRoZSBjb250ZW50IGJsb2NrIG1heSBjb250YWluIG9ubHkgbGV0dGVycywgbnVtYmVycywgYW5kIHVuZGVyc2NvcmVzIChubyB3aGl0ZXNwYWNlcywgc3BlY2lhbCBjaGFycywgdW1sYXV0cyBldGMuKS4gT3RoZXJ3aXNlIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGEgcHJvcGVyIG5hbWUgKHNpbWlsYXIgdG8gdGhlIHBhZ2UgYWxpYXMpLjwvZW0+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+d3lzaXd5ZzwvdHQ+ICh0cnVlL2ZhbHNlKQ0KCQk8dWw+DQoJCQk8bGk+SWYgc2V0IHRvIGZhbHNlLCB0aGVuIGEgd3lzaXd5ZyB3aWxsIG5ldmVyIGJlIHVzZWQgd2hpbGUgZWRpdGluZyB0aGlzIGJsb2NrLiBJZiB0cnVlLCB0aGVuIGl0IGFjdHMgYXMgbm9ybWFsLjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5vbmVsaW5lPC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT5JZiBzZXQgdG8gdHJ1ZSwgdGhlbiBvbmx5IG9uZSBlZGl0IGxpbmUgd2lsbCBiZSBzaG93biB3aGlsZSBlZGl0aW5nIHRoaXMgYmxvY2suIElmIGZhbHNlLCB0aGVuIGl0IGFjdHMgYXMgbm9ybWFsLiBPbmx5IHdvcmtzIHdoZW4gYmxvY2sgcGFyYW1ldGVyIGlzIHVzZWQuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmRlZmF1bHQ8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+RGVmYXVsdCBjb250ZW50IHdoZW4gY3JlYXRpbmcgYSBuZXcgcGFnZS48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+bGFiZWw8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+UHJvbXB0IGZvciB0aGlzIGNvbnRlbnQgYmxvY2suIFBvc3NpYmxlIHZhbHVlcyBhcmUgYW55IGV4cHJlc3Npb24uIElmIGJsYW5rLCB0aGUgdW5jb252ZXJ0ZWQgYmxvY2sgbmFtZSBpcyB1c2VkLjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5hc3NpZ248L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJQXNzaWducyB0aGUgY29udGVudCB0byBhIHNtYXJ0eSBwYXJhbWV0ZXIsIHdoaWNoIHlvdSBjYW4gdGhlbiB1c2UgaW4gb3RoZXIgYXJlYXMgb2YgdGhlIHBhZ2UsIG9yIHVzZSB0byB0ZXN0IHdoZXRoZXIgY29udGVudCBleGlzdHMgaW4gaXQgb3Igbm90LjxiciAvPg0KCQkJCUV4YW1wbGUgb2YgcGFzc2luZyBwYWdlIGNvbnRlbnQgdG8gYSBVc2VyIERlZmluZWQgVGFnIGFzIGEgcGFyYW1ldGVyOjxiciAvPg0KCQkJCTxjb2RlPntjb250ZW50IGFzc2lnbj1wYWdlY29udGVudH08YnIgLz4NCgkJCQl7dGFibGVfb2ZfY29udGVudHMgdGhlcGFnZWNvbnRlbnQ9JnF1b3Q7JHBhZ2Vjb250ZW50JnF1b3Q7fTwvY29kZT48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IEZvciBzb21lIHJlYXNvbiB0aGlzIHBhcmFtIGRvZXMgbm90IHdvcmsgYXQgdGhlIG1vbWVudCB3aXRoIHRoZSBtb2R1bGUgcGx1Z2luIHtBdmFuY2VkQ29udGVudH0uIFVzZSA8YnIgLz48Y29kZT57Y2FwdHVyZSBhc3NpZ249JnF1b3Q7Zm9vJnF1b3Q7fXtBZHZhbmNlZENvbnRlbnR9ey9jYXB0dXJlfTwvY29kZT4gPGJyIC8+aW5zdGVhZC48L2VtPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCjwvdWw+DQo8cD48c3Ryb25nPkFkdmFuY2VkIHBhcmFtczo8L3N0cm9uZz48L3A+DQo8dWw+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5ibG9ja190eXBlPC90dD4gKHRleHQsY2hlY2tib3gsZHJvcGRvd24sc2VsZWN0X211bHRpcGxlLGRhdGUsbXVsdGlfaW5wdXQpIA0KCQk8dWw+DQoJCQk8bGk+QWxsb3dzIHlvdSB0byBzcGVjaWZ5IHdoYXQgY29udGVudCBjb250cm9sIHR5cGUgaXMgdXNlZCBpbiB0aGUgYmFjayBlbmQuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnBhZ2VfdGFiPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCVRoaXMgcGFyYW1ldGVyIHNldHMgdGhlIHRhYiBpbiB3aGljaCB0aGUgY29udGVudCBibG9jayBpcyBkaXNwbGF5ZWQgaW4gdGhlIGJhY2tlbmQuPGJyIC8+DQoJCQkJUG9zc2libGUgdmFsdWVzIGFyZSAmcXVvdDttYWluJnF1b3Q7ICggPSBUYWIgJnF1b3Q7TWFpbiBNZW51JnF1b3Q7KSwgJnF1b3Q7b3B0aW9ucyZxdW90OyAoID0gVGFiICZxdW90O09wdGlvbnMmcXVvdDspLCBvciBhbnkgb3RoZXIgYXJiaXRyYXJ5IHZhbHVlPGJyIC8+DQoJCQkJPGVtPmUuZy4geW91IGNhbiBhZGQgYSBjaGVja2JveCB0byB0aGUgb3B0aW9ucyB0YWIgb3IgY3JlYXRlIG5ldyB0YWJzPC9lbT4uDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YmxvY2tfdGFiPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPldpdGggdGhpcyBwYXJhbWV0ZXIsIHRoZSBibG9ja3Mgd2l0aGluIGEgcGFnZSB0YWIgY2FuIGJlIGZ1cnRoZXIgZGl2aWRlZCBpbnRvIHRhYnMgb3IgY2FuIGJlIGdyb3VwZWQgdG9nZXRoZXIuIEFueSBleHByZXNzaW9uIGNhbiBiZSB1c2VkIGFzIGEgcG9zc2libGUgdmFsdWUuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmJsb2NrX2dyb3VwPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPldpdGggdGhpcyBwYXJhbWV0ZXIsIG11bHRpcGxlIGJsb2NrcyBjYW4gYmUgZ3JvdXBlZCBpbiBhIGZpZWxkc2V0LiBBbnkgZXhwcmVzc2lvbiBjYW4gYmUgdXNlZCBhcyBhIHBvc3NpYmxlIHZhbHVlLjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5hY3RpdmU8L3R0PiAodHJ1ZS9mYWxzZSkNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCUFsbG93cyB5b3UgdG8gZGlzYWJsZSBhIGNvbnRlbnQgYmxvY2suIERpc2FibGVkIGNvbnRlbnQgYmxvY2tzIHdvbiYjMDM5O3QgYmUgc2hvd24gaW4gYmFja2VuZCBhcyB3ZWxsIGFzIGluIGZyb250ZW5kLiAob25seSB3b3JrcyB3aXRoIHtBZHZhbmNlZENvbnRlbnR9IHBsdWdpbik8YnIgLz4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lZGl0b3JfZ3JvdXBzPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCUEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZ3JvdXAgbmFtZXMgdGhhdCBhcmUgYWxsb3dlZCB0byBlZGl0IHRoaXMgYmxvY2suDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZWRpdG9yX3VzZXJzPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCUEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgdXNlciBuYW1lcyB0aGF0IGFyZSBhbGxvd2VkIHRvIGVkaXQgdGhpcyBibG9jay4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBpZiB0aGUgcGFyYW1zIDx0dD5lZGl0b3JfdXNlcnM8L3R0PiBhbmQgPHR0PmVkaXRvcl9ncm91cHM8L3R0PiBhcmUgZW1wdHkgdGhlIGJsb2NrIG1heSBiZSBlZGl0ZWQgYnkgYW55IHVzZXIgd2l0aCBzdWZmaWNpZW50IHBlcm1pc3Npb24gdG8gZWRpdCBhIHBhZ2U8L2VtPjxiciAvPjxiciAvPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZmV1X2FjY2VzczwvdHQ+DQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlBIGxpc3Qgb2YgZmV1IGdyb3VwIGlkcyBzZXBhcmF0ZWQgYnkgYSBjb21tYS48YnIgLz4NCgkJCQlUaGlzIHNob3dzIHRoZSBjb250ZW50IGJsb2NrIG9ubHkgdG8gY2VydGFpbiBmZXUgZ3JvdXBzLjxiciAvPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmZldV9hY3Rpb248L3R0PiAodHJ1ZS9mYWxzZSkNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCVNwZWNpZnkgaWYgdGhlIGxvZ2luIGZvcm0gb2YgdGhlIGZldSBtb2R1bGUgd2lsbCBiZSBzaG93biBvciBub3QuPGJyIC8+DQoJCQkJPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBUaGUgbG9naW4gZm9ybSB3aWxsIG9ubHkgYmUgc2hvd24gb25lIHRpbWUuPGJyIC8+DQoJCQkJSWYgdGhlcmUgYXJlIG11bHRpcGxlIGJsb2NrcyB3aXRoIGxpbWl0ZWQgZmV1X2FjY2VzcyBhbmQgZmV1X2FjdGlvbiBzZXQgdG8gdHJ1ZSBvbmx5IHRoZSBmaXJzdCBibG9ja3MgbG9naW4gZm9ybSB3aWxsIGJlIHNob3duIGFuZCBhbGwgb3RoZXIgYmxvY2tzIHdpbGwganVzdCBiZSBlbXB0eS48L2VtPjxiciAvPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmFsbG93X25vbmU8L3R0PiAodHJ1ZS9mYWxzZSkNCgkJPHVsPg0KCQkJPGxpPlNldCB0byB0cnVlIGlmIHRoZSB1c2VyIG1heSBlbnRlciBlbXB0eSB2YWx1ZXMuIDxiciAvPklmIHNldCB0byBmYWxzZSBhbmQgdmFsdWUgaXMgZW1wdHkgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIHBhcmFtICZxdW90O2RlZmF1bHQmcXVvdDsgd2lsbCBiZSB1c2VkLiA8YnIgLz5JZiBzZXQgdG8gdHJ1ZSBhbmQgYmxvY2sgaXMgb2YgdHlwZSBpbWFnZS9maWxlIHRoZSBvcHRpb24gJnF1b3Q7bm9uZSZxdW90OyAobW9kZT0mcXVvdDtkcm9wZG93biZxdW90Oykgb3IgYSBidXR0b24gdG8gY2xlYXIgdGhlIHNlbGVjdGVkIGZpbGUvaW1hZ2UgdmFsdWUgKG1vZGU9JnF1b3Q7ZmlsZXBpY2tlciZxdW90Oykgd2lsbCBiZSBkaXNwbGF5ZWQuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnNtYXJ0eTwvdHQ+ICh0cnVlL2ZhbHNlKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJVHVybiBzbWFydHkgcHJvY2Vzc2luZyBvZiB2YWx1ZXMgb24vb2ZmLjxiciAvPg0KCQkJCUlmIHNldCB0byB0cnVlIGFueSBnaXZlbiB2YWx1ZSB3aWxsIGJlIHByb2Nlc3NlZCBieSB0aGUgc21hcnR5IGVuZ2luZS48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6IDwvc3Ryb25nPiBDb25zaWRlciB0aGF0IHlvdSBjYW5ub3QgdXNlIHRoZSBkZWZhdWx0IHNtYXJ0eSBkZWxpbWl0ZXJzIHRoYXQgYXJlIHVzZWQgaW4gdGhlIHRlbXBsYXRlLiBUaGlzIHdpbGwgY2F1c2Ugc21hcnR5IGVycm9ycyBpbiBmcm9udGVuZC48YnIgLz4NCgkJCQlTbyB5b3UgbmVlZCB0byB1c2UgOjo6IGFzIGRlbGltaXRlciBpbnN0ZWFkLjxiciAvPjwvZW0+DQoJCQkJRS5nLjogPGNvZGU+e2NvbnRlbnQgYmxvY2s9JnF1b3Q7Q2F0ZWdvcmllcyZxdW90OyBsYWJlbD0mcXVvdDtTZWxlY3QgYSBjYXRlZ29yeSZxdW90OyBibG9ja190eXBlPSZxdW90O2Ryb3Bkb3duJnF1b3Q7IGl0ZW1zPSZxdW90Ozo6Omdsb2JhbF9jb250ZW50IG5hbWU9JiMwMzk7Y2F0ZWdvcnlsaXN0JiMwMzk7Ojo6JnF1b3Q7IHNtYXJ0eT0mcXVvdDt0cnVlJnF1b3Q7fTwvY29kZT4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZXNjcmlwdGlvbjwvdHQ+IChzdHJpbmcpIA0KCQk8dWw+DQoJCQk8bGk+QWxsb3dzIHlvdSB0byBhZGQgYSBkZXRhaWxlZCBkZXNjcmlwdGlvbiB0byB0aGF0IGJsb2NrIGZvciB5b3VyIGVkaXRvcnMuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmNvbGxhcHNlPC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlTZXQgdG8gdHJ1ZS9mYWxzZSB0byBkaXNwbGF5IGJsb2NrIGluIGJhY2tlbmQgaW4gY29sbGFwc2VkL2V4cGFuZGVkIG1vZGUgYnkgZGVmYXVsdC48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IHdpbGwgYmUgYWx3YXlzIGZhbHNlIGlmIG5vX2NvbGxhcHNlPXRydWUgaXMgdXNlZC48L2VtPjxiciAvPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0Pm5vX2NvbGxhcHNlPC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlTZXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBmb2xkaW5nIG9mIGJsb2Nrcy48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IGlmIHNldCB0byB0cnVlIHBhcmFtIGNvbGxhcHNlIGlzIGFsd2F5cyBmYWxzZS48L2VtPjxiciAvPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnJlcXVpcmVkPC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlTZXQgdG8gdHJ1ZSBpZiB0aGlzIGJsb2NrIG1heSBub3QgYmUgZW1wdHkuPGJyIC8+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KPC91bD4NCjxwPjxzdHJvbmc+UGFyYW1zIG9mIGJsb2NrdHlwZSAmcXVvdDtjaGVja2JveCZxdW90Ozo8L3N0cm9uZz48L3A+DQo8dWw+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZWZhdWx0PC90dD4gKHRydWUvZmFsc2UpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJY2hlY2tzL3VuY2hlY2tzIHRoZSBjaGVja2JveCBieSBkZWZhdWx0IHdoZW4gYWRkaW5nIGEgcGFnZTxiciAvPg0KCQkJCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gVXNlICZxdW90OzEmcXVvdDsgZm9yIGNoZWNrZWQgYW5kICZxdW90OzAmcXVvdDsgZm9yIHVuY2hlY2tlZCBieSBkZWZhdWx0PGJyIC8+PC9lbT4NCgkJCQlFLmcuIDxjb2RlPntjb250ZW50IGJsb2NrX3R5cGU9JnF1b3Q7Y2hlY2tib3gmcXVvdDsgZGVmYXVsdD0xfTwvY29kZT4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQo8L3VsPg0KPHA+PHN0cm9uZz5QYXJhbXMgb2YgYmxvY2t0eXBlICZxdW90O2Ryb3Bkb3duJnF1b3Q7LyZxdW90O3NlbGVjdF9tdWx0aXBsZSZxdW90Ozo8L3N0cm9uZz48L3A+DQo8dWw+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5pdGVtczwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT5JdGVtIGxhYmVsKHMpIG9mIHRoZSBmaWVsZChzKSAoc2VwYXJhdGVkIGJ5IGEgZGVsaW1pdGVyIC0gZGVmYXVsdCBpcyB8IChwaXBlKSk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+dmFsdWVzPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPlZhbHVlKHMpIG9mIHRoZSBpdGVtcyAoc2VwYXJhdGVkIGJ5IGEgZGVsaW1pdGVyIC0gZGVmYXVsdCBpcyB8IChwaXBlKSk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gaWYgdGhlcmUgYXJlIGxlc3MgdmFsdWVzIHRoYW4gaXRlbXMgdGhlIGl0ZW0gbGFiZWxzIHdpbGwgYmUgdXNlZCBhcyB2YWx1ZXMgKGFuZCB2aXNlIHZlcnNhKS48L2VtPjxiciAvPjxiciAvPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZGVmYXVsdDwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlQcmVzZWxlY3RlZCB2YWx1ZShzKSAoc2VwYXJhdGVkIGJ5IGEgZGVsaW1pdGVyIC0gZGVmYXVsdCBpcyB8IChwaXBlKSk8YnIgLz4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZWxpbWl0ZXI8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+QSBzaWduIG9yIHN0cmluZyB0aGF0IHdpbGwgYmUgdXNlZCB0byBkZXZpZGUgdGhlIGl0ZW1zL3ZhbHVlcyAoZGVmYXVsdCBpcyB8IChwaXBlKSk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zaXplPC90dD4gKGludGVnZXIpDQoJCTx1bD4NCgkJCTxsaT5IZWlnaHQgb2YgY29udGVudCBibG9jayBpbiBiYWNrIGVuZCBpZiA8Y29kZT5ibG9ja190eXBlPSZxdW90O3NlbGVjdF9tdWx0aXBsZSZxdW90OzwvY29kZT4gaXMgc2V0LiA8ZW0+KERlZmF1bHQgaXMgbnVtYmVyIG9mIGl0ZW1zKTwvZW0+PC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c29ydGFibGVfaXRlbXM8L3R0PiAodHJ1ZS9mYWxzZSkgLSBzZWxlY3RfbXVsdGlwbGUgb25seQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJSWYgc2V0IHRvIHRydWUgdGhlIGl0ZW1zIHdvbiYjMDM5O3QgYmUgc2hvd24gYXMgYSBtdWx0aXBsZSBzZWxlY3QgaW5wdXQgd2l0aCBvcHRpb25zIGJ1dCBhcyBhIGxpc3Qgb2YgY2hlY2tib3hlcyB0aGF0IGNhbiBiZSByZW9yZGVyZWQuPGJyIC8+RWFjaCByb3cgY29udGFpbnMgdGhlIGl0ZW0gbGFiZWwgYW5kIGEgY2hlY2tib3ggd2l0aCB0aGUgaXRlbSB2YWx1ZS48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IG9ubHkgdGhlIG9yZGVyIG9mIHRoZSA8c3Ryb25nPnNlbGVjdGVkPC9zdHJvbmc+IGl0ZW1zIHdpbGwgYmUgc3RvcmVkIGFuZCBhbHdheXMgZGlzcGxheWVkIG9uIHRoZSB0b3Agb2YgdGhlIGxpc3Qgd2hlbiByZWxvYWRpbmcgdGhlIGVkaXQgcGFnZS48YnIgLz4NCgkJCQlVbnNlbGVjdGVkIGl0ZW1zIHdpbGwgYXBwZW5kZWQgaW4gdGhhdCBvcmRlciB0aGV5IGFyZSBkZWZpbmVkIGluIHRoZSB0ZW1wbGF0ZTwvZW0+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KPC91bD4NCjxwPjxzdHJvbmc+UGFyYW1zIG9mIGJsb2NrdHlwZSAmcXVvdDtkYXRlJnF1b3Q7Ojwvc3Ryb25nPjwvcD4NCjx1bD4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnN0ZXBfaG91cnM8L3R0PiAoaW50KSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXN0ZXBzIG9mIGhvdXJzIGluIHRoZSBjbG9jayBkcm9wZG93bi4gKGRlZmF1bHQgaXMgMSkNCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zdGFydF9ob3VyPC90dD4gKGludCkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQl0aGUgc3RhcnQgaG91ciBvZiB0aGUgY2xvY2sgZHJvcGRvd24uIChkZWZhdWx0IGlzIDApDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZW5kX2hvdXI8L3R0PiAoaW50KSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXRoZSBlbmQgaG91ciBvZiB0aGUgY2xvY2sgZHJvcGRvd24gKGRlZmF1bHQgaXMgMTIgb3IgMjMpDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c2hvdzI0aDwvdHQ+ICh0cnVlL2ZhbHNlKSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXNldCB0byBmYWxzZSBpZiBBTS9QTSBpcyB1c2VkLiAoZGVmYXVsdCBpcyB0cnVlKQ0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnN0ZXBfbWludXRlczwvdHQ+IChpbnQpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJc3RlcHMgb2YgbWludXRlcyBpbiB0aGUgY2xvY2sgZHJvcGRvd24uIChkZWZhdWx0IGlzIDEwKQ0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnN0YXJ0X21pbnV0ZTwvdHQ+IChpbnQpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJdGhlIHN0YXJ0IG1pbnV0ZSBvZiB0aGUgY2xvY2sgZHJvcGRvd24uIChkZWZhdWx0IGlzIDApDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lbmRfbWludXRlPC90dD4gKGludCkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQl0aGUgZW5kIG1pbnV0ZSBvZiB0aGUgY2xvY2sgZHJvcGRvd24gKGRlZmF1bHQgaXMgNTkpDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c2hvd19jbG9jazwvdHQ+ICh0cnVlL2ZhbHNlKSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXNldCB0byBmYWxzZSBpZiBubyB0aW1lIGRyb3Bkb3duIHNob3VsZCBiZSBkaXNwbGF5ZWQgKGRlZmF1bHQgaXMgdHJ1ZSk8YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IElmIHNldCB0byBmYWxzZSAwMDowMCBvJiMwMzk7Y2xvY2sgd2lsbCBiZSB1c2VkPC9lbT4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kYXRlX2Zvcm1hdDwvdHQ+IChzdHJpbmcpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJVGhlIHN0cmZ0aW1lIGRhdGUgZm9ybWF0IHRvIHNob3cgaW4gZnJvbnRlbmQuDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KPC91bD4NCjxwPjxzdHJvbmc+UGFyYW1zIG9mIGJsb2NrdHlwZSAmcXVvdDttdWx0aV9pbnB1dCZxdW90Ozo8L3N0cm9uZz48L3A+DQo8dWw+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5pbnB1dHM8L3R0PiAoY3N2IG9mIGlucHV0IGlkcyB5b3UgY3JlYXRlZCBpbiB0aGUgYmFja2VuZCkgDQoJCTxiciAvPjxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD52YWx1ZV9kZWxpbWl0ZXI8L3R0PiAoYW55IHN0cmluZykgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlUaGlzIGRlZmluZXMgYSBzdHJpbmcgdGhhdCBkZXZpZGVzIHRoZSB2YWx1ZXMgb2YgdGhlIGlucHV0cyBvZiBvbmUgbXVsdGlfaW5wdXQgd2hlbiBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLjxiciAvPg0KCQkJCURlZmF1bHQgaXMgJnF1b3Q7PCEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxsaW1pdGVyIC0tPiZxdW90Ow0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmlucHV0X2RlbGltaXRlcjwvdHQ+IChhbnkgc3RyaW5nKSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCVRoaXMgZGVmaW5lcyBhIHN0cmluZyB0aGF0IGRldmlkZXMgdGhlIG11bHRpX2lucHV0cyB5b3UgZGVmaW5lZCBmb3IgdGhpcyBjb250ZW50IGJsb2NrIHdoZW4gc3RvcmVkIGluIHRoZSBkYXRhYmFzZS48YnIgLz4NCgkJCQlEZWZhdWx0IGlzICZxdW90OzwhLS0gbXVsdGlfaW5wdXRfZGVsbGltaXRlciAtLT4mcXVvdDsNCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8cD48c3Ryb25nPldoYXQgaXMgYSBtdWx0aV9pbnB1dCBmb3I/PC9zdHJvbmc+PC9wPg0KCQk8cD5BIG11bHRpX2lucHV0IGJsb2NrIGlzIGEgY29udGVudCBibG9jayB0aGF0IGNvbnNpc3RzIG9mIGRpZmZlcmVudCBpbnB1dCBmaWVsZHMuIDxiciAvPg0KCQlZb3UgY2FuIGRlZmluZSB0aGVtIGluIHRoZSBtb2R1bGUgYWRtaW5pc3RyYXRpb24gdXNpbmcgdGhlIHNhbWUgc3ludGF4IHlvdSB1c2UgaW4gYSB0ZW1wbGF0ZSB3aGVuIGRlZmluaW5nIGEgY29udGVudCBibG9jay48YnIgLz4NCgkJTXVsdGkgaW5wdXRzIGNhbiBiZSB1c2VkIGlmIHlvdSB3YW50IHRvIHN0b3JlIGRpZmZlcmVudCB2YWx1ZXMgaW4gb25lIGNvbnRlbnQgYmxvY2sgYW5kIHByb3ZpZGUgZGlmZmVyZW50IGlucHV0IHR5cGVzIGZvciBlYWNoIHZhbHVlcy48YnIgLz4NCgkJVGhpcyBjYW4gYmUgdXNlZnVsbCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBkcm9wZG93biB0byBzZWxlY3QgYSBtb2R1bGUgdG8gYmUgc2hvd24gaW4gZnJvbnRlbmQgYW5kIHRleHQgaW5wdXQgdG8gZGVmaW5lIHRoZSBtb2R1bGUgcGFyYW1ldGVycy48YnIgLz4NCgkJRXhhbXBsZSBmb3IgYSBtdWx0aV9pbnB1dCBpbiBwYWdlIHRlbXBsYXRlOjwvcD4NCgkJPHByZT4NCgkJPGNvZGU+DQoJCXtjb250ZW50IGJsb2NrPSZxdW90O21vZHVsZSZxdW90OyBsYWJlbD0mcXVvdDtQYWdlIG1vZHVsZXMmcXVvdDsgYmxvY2tfdHlwZT0mcXVvdDttdWx0aV9pbnB1dCZxdW90OyBpbnB1dHM9JnF1b3Q7bW9kdWxlLG1vZHVsZSxtb2R1bGUsbW9kdWxlJnF1b3Q7fQ0KCQk8L2NvZGU+DQoJCTwvcHJlPg0KCQk8cD5FeGFtcGxlIGZvciB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgbXVsdGlfaW5wdXQgbmFtZWQgJnF1b3Q7bW9kdWxlJnF1b3Q7OjwvcD4NCgkJPHByZT4NCgkJPGNvZGU+DQoJCXtjb250ZW50IGJsb2NrPSZxdW90O21vZHVsZSBzZWxlY3Rpb24mcXVvdDsgYmxvY2tfdHlwZT0mcXVvdDtkcm9wZG93biZxdW90OyBpdGVtcz0mcXVvdDt8TmV3c3xHYWxsZXJ5fE1lbnUmcXVvdDt9DQoJCXtjb250ZW50IGJsb2NrPSZxdW90O21vZHVsZSBwYXJhbXMmcXVvdDsgYmxvY2tfdHlwZT0mcXVvdDt0ZXh0JnF1b3Q7IG9uZWxpbmU9dHJ1ZX0NCgkJPC9jb2RlPg0KCQk8L3ByZT4NCgkJPHA+V2hhdCBoYXBwZW5zIGlmIHlvdSBlZGl0IGEgcGFnZT88L3A+DQoJCTxwPkl0IHdpbGwgc2hvdyB5b3UgYSBmaWVsZHNldCB3aXRoIGxlZ2VuZCAmcXVvdDtQYWdlIG1vZHVsZXMmcXVvdDsuIDxiciAvPg0KCQlJbnNpZGUgdGhpcyBmaWVsZHNldCBpdCBzaG93cyB0aGUgbXVsdGlfaW5wdXQgbmFtZWQgJnF1b3Q7bW9kdWxlJnF1b3Q7IGZvdXIgdGltZXMuPGJyIC8+DQoJCVRoYXQgbWVhbnMgeW91IHNlZSBmb3VyIGxpbmVzIHdpdGggdHdvIGlucHV0IGZpZWxkcy4gQSBkcm9wZG93biBhbmQgYSB0ZXh0IGlucHV0LjwvcD4NCgkJPHA+V2hhdCBoYXBwZW5zIGlmIHlvdSBzYXZlIGEgcGFnZT88L3A+DQoJCTxwPlRoZSBtb2R1bGUgc3RvcmVzIHRoZSB2YWx1ZXMgYXMgb25lIHNpbmdsZSBjb250ZW50IHByb3BlcnR5IChha2EgY29udGVudGJsb2NrKSBhbmQgc2VwYXJhdGVzIHRoZSBpbnB1dHMgYnkgYSBnaXZlbiBkZWxpbWl0ZXIuPGJyIC8+DQoJCUxldCYjMDM5O3MgYXNzdW1lIHlvdSBzZWxlY3QgdGhlIE5ld3MgbW9kdWxlIGZvdXIgdGltZXMgd2l0aCBkaWZmZXJlbnQgbW9kdWxlIHBhcmFtcyBsaWtlIGNhdGVnb3J5PSZxdW90OzEmcXVvdDssIGNhdGVnb3J5PSZxdW90OzImcXVvdDssIGNhdGVnb3J5PSZxdW90OzMmcXVvdDssIGNhdGVnb3J5PSZxdW90OzQmcXVvdDsuPGJyIC8+DQoJCUluIHRoZSBkYXRhYmFzZSBpdCBzdG9yZXMgdGhpcyBzdHJpbmc6PC9wPg0KCQk8cHJlPg0KCQk8Y29kZT4NCgkJTmV3czwhLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tPmNhdGVnb3J5PSZxdW90OzEmcXVvdDs8IS0tIG11bHRpX2lucHV0X2RlbGltaXRlciAtLT48YnIgLz4NCgkJTmV3czwhLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tPmNhdGVnb3J5PSZxdW90OzImcXVvdDs8IS0tIG11bHRpX2lucHV0X2RlbGltaXRlciAtLT48YnIgLz4NCgkJTmV3czwhLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tPmNhdGVnb3J5PSZxdW90OzMmcXVvdDs8IS0tIG11bHRpX2lucHV0X2RlbGltaXRlciAtLT48YnIgLz4NCgkJTmV3czwhLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tPmNhdGVnb3J5PSZxdW90OzQmcXVvdDsNCgkJPC9jb2RlPg0KCQk8L3ByZT4NCgkJPHA+SW4geW91ciBwYWdlIHRlbXBsYXRlIHlvdSBjYW4gZXhwbG9kZSB0aGUgY29udGVudCBieSB0aGUgZGVsaW1pdGVycyBhbmQgY2FsbCB0aGUgc2VsZWN0ZWQgbW9kdWxlcy48L3A+DQoJCTxwPkZ1bGwgRXhhbXBsZTo8L3A+DQoJCTxwcmU+DQoJCTxjb2RlPg0KCQl7KiBkZWZpbmUgdGhlIGNvbnRlbnQgYmxvY2sgKn0NCgkJe2NvbnRlbnQgYmxvY2s9JnF1b3Q7bXlfbW9kdWxlcyZxdW90OyBibG9ja190eXBlPSZxdW90O211bHRpX2lucHV0JnF1b3Q7IGlucHV0cz0mcXVvdDtNb2R1bGUsTW9kdWxlLE1vZHVsZSxNb2R1bGUmcXVvdDsgYXNzaWduPSZxdW90O21vZHVsZXMmcXVvdDt9DQoJCQ0KCQl7KiBleHBsb2RlIGJsb2NrIGNvbnRlbnQgaW4gYW4gYXJyYXkgdG8gZ2V0IHRoZSBpbnB1dCBncm91cHMgKn0NCgkJe2Fzc2lnbiB2YXI9bW9kdWxlcyB2YWx1ZT0mcXVvdDs8IS0tIG11bHRpX2lucHV0X2RlbGltaXRlciAtLT4mcXVvdDt8ZXhwbG9kZTokbW9kdWxlc30NCgkJDQoJCXsqIGxvb3AgdGhyb3VnaCB0aGUgc2VsZWN0ZWQgbW9kdWxlcyAqfQ0KCQl7Zm9yZWFjaCBmcm9tPSRtb2R1bGVzIGl0ZW09JnF1b3Q7bW9kdWxlJnF1b3Q7fQ0KCQkJe2lmICRtb2R1bGUgIT0gJiMwMzk7JiMwMzk7fQ0KCQkJDQoJCQkJeyogZXhwbG9kZSB0aGUgaW5wdXQgdmFsdWVzIGluIG1vZHVsbmFtZSBhbmQgbW9kdWxlIHBhcmFtZXRlcnMgKn0NCgkJCQl7YXNzaWduIHZhcj1tb2R1bGVfaXRlbXMgdmFsdWU9JnF1b3Q7PCEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxpbWl0ZXIgLS0+JnF1b3Q7fGV4cGxvZGU6JG1vZHVsZX0NCgkJCQkNCgkJCQl7aWYkbW9kdWxlX2l0ZW1zWzBdICE9ICYjMDM5OyYjMDM5O30NCgkJCQkNCgkJCQkJeyogY2FsbCB0aGUgbW9kdWxlICp9DQoJCQkJCXtpZiBpc3NldCgkbW9kdWxlX2l0ZW1zWzFdKX0NCgkJCQkJCXtldmFsIHZhcj0kc21hcnR5LmxkZWxpbXxjYXQ6JiMwMzk7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7JiMwMzk7fGNhdDokbW9kdWxlX2l0ZW1zWzBdfGNhdDomIzAzOTsmcXVvdDsgJiMwMzk7fGNhdDokbW9kdWxlX2l0ZW1zWzFdfGNhdDokc21hcnR5LnJkZWxpbX0NCgkJCQkJe2Vsc2V9DQoJCQkJCQl7ZXZhbCB2YXI9JHNtYXJ0eS5sZGVsaW18Y2F0OiYjMDM5O2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90OyYjMDM5O3xjYXQ6JG1vZHVsZV9pdGVtc1swXXxjYXQ6JiMwMzk7JnF1b3Q7JiMwMzk7fGNhdDokc21hcnR5LnJkZWxpbX0NCgkJCQkJey9pZn0NCgkJCQkJDQoJCQkJey9pZn0NCgkJCQkNCgkJCXsvaWZ9DQoJCQ0KCQl7L2ZvcmVhY2h9DQoJCTwvY29kZT4NCgkJPC9wcmU+DQoJPC9saT4NCjwvdWw+DQoNCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCgk8bGk+VGhlIHByb2plY3RzIGhvbWVwYWdlIGlzIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIvIj5odHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2NvbnRlbnQyLzwvYT48L2xpPg0KCTxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjwvdWw+DQo8YnIgLz4NCjxwPkZlZWwgZnJlZSByZXBvcnQgYW55IGtpbmQgb2YgZmVlZGJhY2suPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD4NCglBcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy48YnIgLz4NCglUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCw8YnIgLz4NCglidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZjxiciAvPg0KCU1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS48YnIgLz4NCglTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuPGJyIC8+DQoJWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2U8YnIgLz4NCglhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZTxiciAvPg0KCUZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBPGJyIC8+DQoJT3IgcmVhZCBpdCBvbmxpbmU6IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMPC9hPjxiciAvPg0KCVBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLg0KPC9wPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCBHZW9yZyBCdXNjaCAoTmFOKS4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCjxiciAvPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8YnIgLz4NCjxwPjxzdHJvbmc+TW9kdWxlIHJlbGVhc2VzPC9zdHJvbmc+Li4uPC9wPg0KPHVsPg0KCTxsaT48cD48c3Ryb25nPjAuNy4xIChOb3YgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gZml4ZWQgYnVnIGl0ZW0gIzU2NTE8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBmZXVfYWNjZXNzPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGZldV9hY3Rpb248L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gcmVxdWlyZWQ8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuNyAoTm92IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIGNvbXBhdGliaWxpdHkgYnVnZml4ZXMgZm9yIENNU21zIDEuOSsgKG5lZWRzIENNU21zIDEuOSBtaW5pbXVtIG5vdyk8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBzdXBwb3J0IG9mIHtjb250ZW50X21vZHVsZX0gdGFnPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIG5vX2NvbGxhcHNlPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4wLjYuMiAoTm92IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIG1pbm9yIGJ1Z2ZpeCAoc2hvd2VkIHRhYnMgb2YgcHJldmlvdXMgdGVtcGxhdGUgd2hlbiB0ZW1wbGF0ZSB3YXMgY2hhbmdlZCk8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuNi4xIChOb3YgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gc2V2ZXJhbCBidWdmaXhlczwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBjb21wYXRpYmlsaXR5IGJ1Z2ZpeGVzIGZvciBDTVNtcyAxLjk8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBibG9ja190eXBlIG11bHRpX2lucHV0PC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4wLjYgKE9jdCAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD5CdWdmaXhlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBzZXZlcmFsIGJ1Z2ZpeGVzPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+RmVhdHVyZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gYmxvY2tfZ3JvdXA8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5NaXNjOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIFJlbW92ZWQgZmlsZSBwaWNrZXIgKGFuZCBhc3NvY2lhdGVkIGJsb2NrX3R5cGVzIGltYWdlL2ZpbGUpIC0gdXNlIEdCRmlsZVBpY2tlciBpbnN0ZWFkLjwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MC41IChTZXB0IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD5maXhlZCBidWcgaXRlbSAjNTI5MiAobWVtb3J5IGlzc3VlKTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+Zml4ZWQgYnVnIGl0ZW0gIzUyNTQgKGRpc2FibGUgd3lzaXd5ZyBub3Qgd29ya2luZyk8L3A+PC9saT4NCgkJCQkJPGxpPjxwPmZpeGVkIGJ1ZyBpdGVtICM1MzEwICh1cmxvbmx5IG5vdCB3b3JraW5nKTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+Zml4ZWQgYnVnIGl0ZW0gIzUzMTEgKGltYWdlIHBhdGhzIG5vdCBzdG9yZWQgJiMwMzk7Y29ycmVjdGx5JiMwMzk7KTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNjEgKEFkZCBzb3J0IHRvIGltYWdlIHR5cGUgLSBub3RpY2UgdGhlIGNoYW5nZSBvZiBwYXJhbSBmaWx0ZXIpPC9wPjwvbGk+DQoJCQkJCTxsaT48cD5hZGRlZCBwYXJhbXMgZXhjbHVkZV9wcmVmaXgsIGluY2x1ZGVfcHJlZml4LCBleGNsdWRlX3N1Zml4LCBpbmNsdWRlX3N1Zml4PC9wPjwvbGk+DQoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNTMgKFRleHQgaW5wdXQgdG8gZGVmaW5lIGFkZCBwYXJhbXMgdG8gcmVkaXJlY3QgZnVuY3Rpb24pPC9wPjwvbGk+DQoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNDAgKERlZmF1bHQgdmFsdWVzIG9mIEFkdmFuY2VkQ29udGVudCBwYWdlIG9wdGlvbnMpPC9wPjwvbGk+DQoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNDEgKHB1dCBGZXVBY2Nlc3MgaW4gQmxvY2t0YWIpPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+TWlzYzo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBBZHZhbmNlZENvbnRlbnQgb3B0aW9ucyBhcmUgc2hvd24gaW4gc2VwYXJhdGUgdGFiPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIEFkZGVkIG5ldyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0aGUgQWR2YW5jZWRDb250ZW50IG9wdGlvbnMgdGFiPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIHJlbW92ZWQgcGFyYW0gZmlsdGVyICh1c2UgbmV3IHBhcmFtcyBpbnN0ZWFkKTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBwYXRoIHRvIGZpbGVzIGFyZSBzdG9yZWQgcmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIHBhcmFtIGRpciBvZiBibG9jayB0eXBlIGZpbGUvaW1hZ2UgbmVlZHMgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyIG9ubHkgKHRoZXJlIGlzIG5vIGltYWdlIHVwbG9hZHMgZGlyIHVzZWQgYW55bW9yZSk8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuNC4xIChBdWd1c3QgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gIzUxNTE6IGZpeGVkIHN0eWxlc2hlZXQgaXNzdWUgd2l0aCBleHBhbmQvY29sbGFwc2UgYnV0dG9ucyBvZiBjb250ZW50IGJsb2NrcyBpbiBJRS9TYWZhcmkuPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tICM1MTYyOiBQSFAgd2FybmluZ3MgaWYgYmFja2VuZCB1c2VycyB3aXRob3V0IHBlcm1pc3Npb24gJnF1b3Q7TWFuYWdlIEFsbCBBZHZhbmNlZENvbnRlbnQgQmxvY2tzJnF1b3Q7IG9wZW4gYW4gYWR2YW5jZWQgY29udGVudCBwYWdlIGFuZCBtdWx0aXBsZSBjb250ZW50IGJsb2NrcyBvZiBzYW1lIG5hbWUgd2VyZSB1c2VkIGluIHRlbXBsYXRlLjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBmaXhlZCBidWcgd2hlcmUgZXh0cmEgZmllbGRzIGNvdWxkIG5vdCBiZSB1cGRhdGVkLjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBmaXhlZCBidWcgd2hlcmUgZmV1IGFjY2VzcyBkaWQgbm90IHdvcmsuPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+RmVhdHVyZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gJnF1b3Q7ZGVsZXRlJnF1b3Q7IHRvIGxldCB1c2VycyBkZWxldGUgZmlsZXMgZXZlbiBpZiBubyBwZXJtaXNzaW9uICZxdW90O01vZGlmeSBGaWxlcyZxdW90OzwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAmcXVvdDtjcmVhdGVfZGlycyZxdW90OyB0byBsZXQgdXNlcnMgY3JlYXRlX2RpcnMgZXZlbiBpZiBubyBwZXJtaXNzaW9uICZxdW90O01vZGlmeSBGaWxlcyZxdW90OzwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBuZXcgYmxvY2t0eXBlICZxdW90O25vdGUmcXVvdDsgdG8gY3JlYXRlIHNvbWUgc2luZ2xlIG5vdGVzIGZvciB5b3VyIGVkaXRvcnM8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5NaXNjOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIHJlbW92ZWQgZGVwZW5kZW5jeSBvZiBGaWxlTWFuYWdlcjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBibG9jayBvZiB0eXBlIGZpbGUgb3IgaW1hZ2Ugc3RvcmVzIHJlbGF0aXZlIHVybCBub3c8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYmxvY2sgdHlwZSBpbWFnZSBzaG93cyB0aHVtYm5haWwgaW4gYmFja2VuZCBwcmV2aWV3IGluc3RlYWQgb2YgZnVsbCBpbWFnZTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MC40IChKdWx5IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPkltcG9ydGFudCBub3RpY2U6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gY2hhbmdlZCBwYXJhbSAmcXVvdDt0eXBlJnF1b3Q7IHRvICZxdW90O2Jsb2NrX3R5cGUmcXVvdDsgc2luY2UgaXQgaW50ZXJmZXJlcyB3aXRoIHtjb250ZW50X21vZHVsZX0gdGFnPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gIzUxMDE6IHBhZ2VfdGFiICZxdW90O29wdGlvbnMmcXVvdDsgd2FzIHNob3duIHRvIHVzZXJzIHdpdGggbm8gcGVybWlzc2lvbiB0byBlZGl0IHBhZ2Ugb3B0aW9ucyBpZiBhIGNvbnRlbnQgYmxvY2sgd2FzIGFzc2lnbmVkIHRvIHRoYXQgdGFiLjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSAjNTA5NzogbGluayB0byBtaXNzaW5nIGNzcyByZW1vdmVkPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGZpeGVkIG1pbWUtdHlwZSBpc3N1ZSAoYWRkZWQgcHJlZmVyZW5jZSB0byB0b2dnbGUgbWltZS10eXBlIHVzYWdlIG9uL29mZik8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gZml4ZWQgcGF0aCBpc3N1ZSB3aGVyZSB0aHVtYm5haWxzIHdlcmUgbm90IHNob3duPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGZpeGVkIGNvbXBhdGliaWxpdHkgd2l0aCBDTVNtcyAxLjg8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gb3RoZXIgbWlub3IgYnVnZml4ZXM8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBNTEUgc3VwcG9ydDwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAmcXVvdDtzaG93X2Nsb2NrJnF1b3Q7IHRvIGVuYWJsZS9kaXNhYmxlIHRoZSB0aW1lIGRyb3Bkb3duIG9mIGJsb2NrdHlwZXMgJnF1b3Q7ZGF0ZSZxdW90OyBpbiBiYWNrZW5kPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICZxdW90O2RhdGVfZm9ybWF0JnF1b3Q7IHRvIGZvcm1hdCB0aW1lc3RhbXAgb2YgYmxvY2t0eXBlcyAmcXVvdDtkYXRlJnF1b3Q7IGluIGZyb250ZW5kPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICZxdW90O2Rlc2NyaXB0aW9uJnF1b3Q7PC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIGJ1bGsgZnVuY3Rpb24gdG8gc2V0IGFsbCBwYWdlcyB0byBBZHZhbmNlZENvbnRlbnQ8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgY29tcGF0aWJpbGl0eSB3aXRoIHtjb250ZW50X21vZHVsZX0gdGFnPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4wLjMuNCAoSnVuZSAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD5CdWdmaXhlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSAjNTA0NTogV2hlbiBzd2l0Y2hpbmcgZnJvbSBDb250ZW50IC0+IEFkdmFuY2VkIENvbnRlbnQgbG90cyBvZiBQSFAgZXJyb3JzPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tICM1MDU2OiBwYWdlX3RhYnMgbm90IHdvcmtpbmcgZm9yIHVzZXJzIHdpdGhvdXQgcGVybWlzc2lvbiAmcXVvdDtNYW5hZ2UgQWxsIENvbnRlbnQmcXVvdDs8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gIzUwNzM6IGluY29ycmVjdCBkaXNwbGF5IG9mIGZpbGVzIHdoZW4gb3BlbmluZyBmaWxlcGlja2VyPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGZpeGVkIG1pbm9yIGJ1ZyB3aGVyZSB0aGUgb3B0aW9uICZxdW90O2FsbG93X25vbmUmcXVvdDsgb2YgY29udGVudCBibG9ja3Mgb2YgdHlwZSBpbWFnZS9maWxlIHdhcyBub3Qgc2hvd24gd2hlbiB0ZW1wbGF0ZSBoYXMgYmVlbiBlZGl0ZWQ8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBmaWxlbWFuYWdlbWVudCBhbmQgdXBsb2FkIGZ1bmN0aW9ucyB0byBjb250ZW50IGJsb2NrcyBvZiB0eXBlIGltYWdlL2ZpbGU8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgYnJlYWRjdW1icyB0byBmaWxlcGlja2VyPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkbWlucyBtYXkgYnJvd3NlIHRoZSBlbnRpcmUgZGlyIHRyZWUgaW4gZmlsZXBpY2tlciBmaWxlIGJyb3dzZXIgcmVnYXJkbGVzcyBvZiB0ZW1wbGF0ZSBwYXJhbXM8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgbWltZSB0eXBlIGNoZWNraW5nIHRvIGdldCBmaWxlIHR5cGU8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcmF3dXJsZW5jb2RlIGluIHNyYyBhdHRyaWJzIHRvIGRpc3BsYXkgaW1hZ2VzIHdpdGggd2VpcmQgZmlsZW5hbWVzLjwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPm1pc2NlbGxhbmVvdXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gcmVtb3ZlZCBPT1Agc3R1ZmYgKHByaXZhdGUvcHVibGljL3Byb3RlY3RlZCkgdG8gZ2FpbiBtb3JlIGNvbXBhdGliaWxpdHkgd2l0aCBQSFA0PC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGNoYW5nZWQgYWpheCBmdW5jdGlvbnMgdG8gcmV0dXJuIHhtbCB2YWx1ZXM8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gcmVtb3ZlZCB1c2FnZSBvZiBJbWFnZU1hbmFnZXIgb25jZSBhbmQgZm9yIGFsbC4gKGNhdXNlZCBvbmx5IHRyb3VibGUpPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4wLjMuMyAoSnVuZSAyMDEwKTo8L3N0cm9uZz48L3A+DQoJPHVsPg0KCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJPHVsPg0KCQkJCTxsaT48cD4tIGFsaWFzIHdhcyBub3QgYWx3YXlzIGNvbnZlcnRlZCBwcm9wZXJseTwvcD48L2xpPg0KCQkJCTxsaT48cD4tIHVuc3VibWl0dGVkIGNvbnRlbnQgZ290IGxvc3QgaWYgc3dpdGNoaW5nIGZyb20gQ29udGVudCB0byBBZHZhbmNlZENvbnRlbnQ8L3A+PC9saT4NCgkJCTwvdWw+DQoJCTwvbGk+DQoJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQk8dWw+DQoJCQkJPGxpPjxwPi0gYWRkZWQgc3RhcnQvZW5kIGRhdGU8L3A+PC9saT4NCgkJCQk8bGk+PHA+LSByZW1vdmVkIHRpbWVwaWNrZXI7IHJlcGxhY2VkIGJ5IGEgc2ltcGxlIGRyb3Bkb3duPC9wPjwvbGk+DQoJCQkJPGxpPjxwPi0gY29tcGF0aWJpbGl0eSB3aXRoIHtjb250ZW50X2ltYWdlfTwvcD48L2xpPg0KCQkJPC91bD4NCgkJPC9saT4NCgk8L3VsPg0KCTxsaT48cD48c3Ryb25nPjAuMy4yIChKdW5lIDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gZml4ZWQgYnVnIHdoZXJlIGNoYW5naW5nIGJhY2sgdG8gZGVmYXVsdCBjb250ZW50IHR5cGUgb3IgY2hhbmdpbmcgdGVtcGxhdGUgY2F1c2VkIGZhdGFsIGVycm9yczwvcD48L2xpPg0KCQkJPGxpPjxwPi0gZml4ZWQgYSBidWcgd2l0aCBzbWFydHkgcHJvY2Vzc2luZyB3aGVuIHNhdmluZyBhIHBhZ2U8L3A+PC9saT4NCgkJCTxsaT48cD4tIGZpeGVkIGEgYnVnIHdpdGggcHJldmlldyB0YWI8L3A+PC9saT4NCgkJCTxsaT48cD4tIHJlLWFkZGVkIGV4cGFuZC9jb2xsYXBzZSBidXR0b24gdG8gdG9nZ2xlIGNvbnRlbnQgYmxvY2tzIGluIGJhY2tlbmQ8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtcyBlZGl0b3JfZ3JvdXBzL2VkaXRvcl91c2VycyB0byBzcGVjaWZ5IGNlcnRhaW4gdXNlcnMvZ3JvdXBzIHRoYXQgYXJlIGFsbG93ZWQgdG8gZWRpdCBjZXJ0YWluIGJsb2NrczwvcD48L2xpPg0KCQkJPGxpPjxwPi0gcmVtb3ZlZCBwYXJhbXMgc2VsZWN0ZWQvY2hlY2tlZDsgdXNlIHBhcmFtIGRlZmF1bHQgaW5zdGVhZDwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYmxvY2sgaWRzIHdpbGwgYmUgY29udmVydGVkIGZyb20gYmxvY2sgbmFtZSB1c2luZyBjb3JlIGZ1bmN0aW9uIG11bmdlX3N0cmluZ190b191cmwgKHRvIHJlbW92ZSBzcGVjaWFsIGNoYXJzLCB3aGl0ZXNwYWNlcywgdW1sYXV0cyBldGMuKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gZml4ZWQgYnVnIG9mIGJsb2NrdHlwZSBkcm9wZG93bi9zZWxlY3RfbXVsdGlwbGUgd2hlcmUgZmlyc3QgaXRlbSBoYWQgYW4gZW1wdHkgbGFiZWwgaWYgb25seSB0aGUgcGFyYW0gJnF1b3Q7dmFsdWVzJnF1b3Q7IGlzIHVzZWQ8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHNvbWUgdGVtcGxhdGUgdmFycyBvZiB0aGUgZnJvbnRlbmQgdG8gYmUgYWxzbyBhY2Nlc3NpYmxlIGluIGJhY2tlbmQgKGUuZy46ICRwYWdlX2FsaWFzKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gJnF1b3Q7YWxsb3dfbm9uZSZxdW90OyB0byBhbGwgY29udGVudCBibG9jayB0eXBlcyB0byBzcGVjaWZ5IGlmIHRoZSBwcmVkZWZpbmVkIGRlZmF1bHQgdmFsdWUgd2lsbCBiZSB1c2VkIGlmIG5vIHZhbHVlIGlzIGVudGVyZWQ8L3A+PC9saT4NCgkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBlbXB0eSB2YWx1ZXMgd2VyZSBuZXZlciBiZSBzdG9yZWQ8L3A+PC9saT4NCgkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBkZWZhdWx0IHZhbHVlIGluIGZyb250ZW5kIHdhcyBpZ25vcmVkIGlmIHRoZSAmcXVvdDthbGxvd19ub25lJnF1b3Q7IHBhcmFtIHdhcyBjaGFuZ2VkIGFmdGVyIGFuIGVtcHR5IHZhbHVlIGhhcyBiZWVuIHN0b3JlZDwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gJnF1b3Q7c29ydGFibGVfaXRlbXMmcXVvdDsgdG8gY3JlYXRlIGEgc29ydGFibGUgbXVsdGlwbGUgc2VsZWN0IGxpc3QgKHNlbGVjdCBsaXN0IHdpbGwgcmVzdWx0IGluIGEgdGFibGUgd2l0aCBjaGVja2JveGVzOyBvbmx5IG9yZGVyIG9mIHNlbGVjdGVkIGl0ZW1zIHdpbGwgYmUgc3RvcmVkIGFuZCBzaG93ZWQgYXQgdGhlIHRvcCBvZiB0aGUgbGlzdDsgdW5zZWxlY3RlZCBpdGVtcyB3aWxsIGJlIGFwcGVuZGVkIGluIHRoYXQgb3JkZXIgdGhleSBhcmUgcGxhY2VkIGluIHRoZSB0ZW1wbGF0ZSk8L3A+PC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuMy4xIChNYXkgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+LSByZW1vdmVkIHRoZSByZW9yZGVyaW5nIHN0dWZmIGZvciBub3cgKGNhdXNlcyB0cm91YmxlIGF0IHRoaXMgdGltZSk8L3A+PC9saT4NCgkJCTxsaT48cD4tIHJlbW92ZWQgdGhlIGRiIHN0dWZmIChwYXJhbXMgb2YgY29udGVudCBibG9ja3MgdGhhdCBhcmUgZGVmaW5lZCBpbiB0ZW1wbGF0ZSB3b24mIzAzOTt0IGJlIHNhdmVkIGluIG1vZHVsZSBkYiB0YWJsZSBhbnltb3JlIC0+IGhvcGVmdWxseSBzcGVlZCB1cCBsb2FkaW5nIHRpbWUpPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBmaXhlZCBhIGJ1ZyB3aXRoIGR1cGxpY2F0ZSBjb250ZW50IGJsb2NrczwvcD48L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPg0KCQk8cD48c3Ryb25nPkFkdmFuY2VkQ29udGVudCAwLjMgKE1heSAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIHJld3JpdGUgY29kZTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYnVnZml4ZXM8L3A+PC9saT4NCgkJCTxsaT48cD4tIHJlbmFtZWQgdG8gQWR2YW5jZWRDb250ZW50PC9wPjwvbGk+DQoJCQk8bGk+PHA+LSB1c2luZyBzZXBhcmF0ZSBtb2R1bGUgdGVtcGxhdGUgbm93IHRvIGRzcGxheSBjb250ZW50IGJsb2NrczwvcD48L2xpPg0KCQkJPGxpPjxwPi0gcmVtb3ZlZCBwYWdlIGFsaWFzIGluaGVyaXRhbmNlPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCjwvdWw+DQo8dWw+DQoJPGxpPjxwPjxzdHJvbmc+WENvbnRlbnQgQkVUQSAzIChBcHJpbCAyMDEwIC0gZGlzY29udGludWVkKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIE1ham9yIEJ1Z2ZpeCAobWlzc2luZyAmcXVvdDs7JnF1b3Q7IGFuZCBzdHJhbmdlIGludmlzaWJsZSBpbnZhbGlkIGNoYXJzKTwvcD48L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+WENvbnRlbnQgQkVUQSAyIChBcHJpbCAyMDEwIC0gZGlzY29udGludWVkKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIGZpeGVkIGEgYnVnIHdpdGggcGFyYW0gJnF1b3Q7ZGVsaW1pdGVyJnF1b3Q7PC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBmaXhlZCBhIGJ1ZyB3aXRoIHNtYXJ0eSBwcm9jZXNzaW5nPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBpbmhlcml0YW5jZSBvZiAmcXVvdDtTaG93IGxvZ2luIGZvcm0mcXVvdDs8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIGluaGVyaXRhbmNlIG9mIHBhZ2UgYWxpYXMgdG8gYWRkIGl0IGFzIHByZWZmaXg7IHNvIGlmIHlvdSBoYXZlIGEgcGFnZSBjYWxsZWQgJnF1b3Q7bWVtYmVycyZxdW90OyBhbmQgc2VsZWN0IGZvciBlYWNoIGNoaWxkIHBhZ2UgJnF1b3Q7aW5oZXJpdCBwYWdlIGFsaWFzJnF1b3Q7IGFsbCBjaGlsZCBwYWdlcyBhbGlhc2VzIHdpbGwgc3RhcnQgd2l0aCAmcXVvdDttZW1iZXJzXyZxdW90OzsgbWFrZXMgZmlsdGVyaW5nIG9mIG1lbnUgZW50cmllcyB3aXRoIE1lbnVNYW5hZ2VyIHBhcmFtICZxdW90O2V4Y2x1ZGVwcmVmZml4JnF1b3Q7IG9yICZxdW90O2luY2x1ZGVwcmVmZml4JnF1b3Q7IGVhc2llci48L3A+PC9saT4NCgkJCTxsaT48cD4tIG1pbm9yIGJ1Z2ZpeGVzPC9wPjwvbGk+IA0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPg0KCQk8cD48c3Ryb25nPlhDb250ZW50IEJFVEEgKEFwcmlsIDIwMTApOjwvc3Ryb25nPiBpbml0aWFsIHJlbGVhc2U8L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIGNvbnZlcnRlZCB0aGUgc2luZ2xlIGZpbGUgaW50byBhIG1vZHVsZTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gcmVuYW1lZCBwYXJhbXM7IHNlZSBtb2R1bGUgaGVscCBmb3IgbW9yZSBkZXRhaWxzPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCjwvdWw+DQo8cD48c3Ryb25nPlNpbmdsZSBmaWxlIHJlbGVhc2VzIChkaXNjb250aW51ZWQpPC9zdHJvbmc+Li4uPC9wPg0KPHVsPg0KCTxsaT4NCgkJPHA+PHN0cm9uZz4xLjQgKE1hcmNoIDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gY2xlYW51cCBjb2RlIC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIG1pbm9yIGJ1Z2ZpeGVzIC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHJlZGlyZWN0IHBhZ2UgaWYgZmV1IGlzIG5vdCBsb2dnZWQgaW4gLSAoTmFOKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgaW5oZXJpdGFuY2Ugb2YgZmV1X2FjY2VzcyBhbmQgcmVkaXJlY3RfcGFnZSAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBmZXVfYWNjZXNzIC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGZldV9hY3Rpb24gLSAoTmFOKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gcmVkaXJlY3RfcGFnZSAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBibG9ja19vbmx5IC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHNtYXJ0eSBsb2dpYyBpbiBiYWNrZW5kIC0gKEplcmVteUJhc3MpPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBzdHlsZSAtIChKZXJlbXlCYXNzKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gZmlsdGVyIChmaWx0ZXJpbmcgaW1hZ2VzIGluIGJhY2tlbmQpIC0gKEplcmVteUJhc3MpPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBJbWdNb2RlIChkcm9wZG93biBvciBJbWFnZU1hbmFnZXIpIC0gKEplcmVteUJhc3MpPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBzbWFydHlPbiAoZm9yIHByb2Nlc3Npbmcgc21hcnR5IHZhcnMgb2YgdGhlIHRlbXBhdGUgaW4gYmFja2VuZCkgLSAoSmVyZW15QmFzcyk8L3A+PC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjEuMyAoQXByaWwgMjAwOSk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+LSBDTVNtcyAxLjYuKiByZWFkeSAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBmZXUgYWNjZXNzIG9wdGlvbiAtIChOYU4pPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+DQoJCTxwPjxzdHJvbmc+MS4yIChNYXJjaCAyMDA5KTo8L3N0cm9uZz4gaW5pdGlhbCByZWxlYXNlPC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+LSBBIHNpbmdsZSBmaWxlIENvbnRlbnQyLmluYy5waHAgdGhhdCBuZWVkcyB0byBiZSBwYWNlZCBpbiBsaWIvY2xhc3Nlcy9jb250ZW50dHlwZXMuPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBsYXlvdXQvb3B0aW9ucyBvZiBiYWNrZW5kIHBhbmVsIGNhbiBiZSBjb250cm9sZWQgYnkgYWRkaXRpb25hbCBzbWFydHkgcGFyYW1zIGluIHRoZSB0ZW1wbGF0ZTsgaW50ZWdyYXRlZCB0aGUge2NvbnRlbnRfaW1hZ2V9IHRhZyAtIChtb2QgYnkgTmFOKTwvcD48L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQo8L3VsPg0KPGJyIC8+JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sncWNhJ10gPSAnUDAtMTYwODkyNjA0MC0xMjcxMTQ0MTc1NzgzJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNzg2Mzg1OTA0LjEyNzExNTc5OTcuMTI5NzE2Nzc4MS4xMjk3MTcwODU2LjE2Nic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyOTcxNzA4NTYuMTY2LjE1MS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjEuMTAuMTI5NzE3MDg1Nic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sl_SI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ0FkdmFuY2VkQ29udGVudCddID0gJ05hcHJlZG5lIFZzZWJpbmUnOwokbGFuZ1snYWR2YW5jZWRjb250ZW50X3RhYm5hbWUnXSA9ICdOYXByZWRuZSBOYXN0YXZpdHZlJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSBOYXByZWRuZVZzZWJpbmUgJXMgamUgaW5zdGFsaXJhbic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBOYXByZWRuZVZzZWJpbmUgJXMgemJyaXNhbic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSBBZHZhbmNlZENvbnRlbnQgdXBncmFkZWQgdG8gJXMnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bGUgQWR2YW5jZWRDb250ZW50ICVzIGluc3RhbGxlZC4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsZSBBZHZhbmNlZENvbnRlbnQgJXMgdW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2NvbmZpcm11bmluc3RhbGwnXSA9ICdEbyB5b3UgcmVhbGx5IHdhbnQgdW5pbnN0YWxsIHRoZSBtb2R1bGUgQWR2YW5jZWRDb250ZW50Pyc7CiRsYW5nWydub3RpY2VfZHVwbGljYXRlY29udGVudCddID0gJzxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gVGhpcyBibG9jayBpcyB1c2VkIG11bHRpcGxlIHRpbWVzIGluIHRlbXBsYXRlLiBZb3Ugb25seSBzZWUgdGhlIGZpcnN0IGJsb2NrIGhlcmUuPC9lbT4nOwokbGFuZ1snZXJyb3JfYmFzaWNhdHRyaWInXSA9ICc8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IENhbm5vdCB1c2UgYmFzaWMgY29udGVudCBwcm9wZXJ0eSBuYW1lICYjMDM5OyVzJiMwMzk7IGFzIHZhbHVlIG9mIHBhcmFtICYjMDM5O2Jsb2NrJiMwMzk7LiA8YnIgLz5UaGlzIGJsb2NrIGlzIGRpc2FibGVkLiBDaGVjayB5b3VyIHBhZ2UgdGVtcGxhdGUgYW5kIGNob3NlIGEgZGlmZmVyZW50IHZhbHVlIG9mIHBhcmFtICYjMDM5O2Jsb2NrJiMwMzk7LjwvZW0+JzsKJGxhbmdbJ2Vycm9yX2V4cGlyZWRhdGUnXSA9ICdFbmQgZGF0ZSBtdXN0IGJlIGxhdGVyIHRoYW4gc3RhcnQgZGF0ZS4nOwokbGFuZ1sneW91YXJlaW50ZXh0J10gPSAnQ3VycmVudCBkaXJlY3RvcnknOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ0ltYWdlc2l6ZSc7CiRsYW5nWydzaXplJ10gPSAnRmlsZXNpemUnOwokbGFuZ1snaW5oZXJpdF9mcm9tX3BhcmVudCddID0gJ0luaGVyaXQgZnJvbSBwYXJlbnQnOwokbGFuZ1snbm9uZSddID0gJ25vbmUnOwokbGFuZ1snaW52YWxpZCddID0gJ2ludmFsaWQnOwokbGFuZ1snaW52YWxpZF9ibG9ja3R5cGUnXSA9ICc8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IEludmFsaWQgdmFsdWUgJiMwMzk7JXMmIzAzOTsgb2YgcGFyYW0gYmxvY2tfdHlwZSBpbiBibG9jayAmIzAzOTslcyYjMDM5Oy48YnIgLz5DaGVjayB5b3VyIHBhZ2UgdGVtcGxhdGUuPC9lbT4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50X2Jsb2NrcGFyYW1zJ10gPSAnPGVtPjxzdHJvbmc+RXJyb3I6PC9zdHJvbmc+IEluc3VmZmljaWVudCBwYXJhbXMuIDxiciAvPk1pc3NpbmcgcGFyYW0gJiMwMzk7JXMmIzAzOTsgZm9yIGJsb2NrICYjMDM5OyVzJiMwMzk7LiBDaGVjayB5b3VyIHBhZ2UgdGVtcGxhdGUuPC9lbT4nOwokbGFuZ1sneWVzJ10gPSAnWWVzJzsKJGxhbmdbJ25vJ10gPSAnTm8nOwokbGFuZ1snZnJvbnRlbmRhY2Nlc3MnXSA9ICdGcm9udGVuZCBhY2Nlc3MnOwokbGFuZ1sncmVkaXJlY3RwYWdlJ10gPSAnUmVkaXJlY3QgUGFnZSBpZiBubyBhY2Nlc3MnOwokbGFuZ1snc2hvd2xvZ2luZm9ybSddID0gJ1Nob3cgbG9naW4gZm9ybSc7CiRsYW5nWydyZWdpc3RlcmVkdXNlcnMnXSA9ICdSZWdpc3RlcmVkIHVzZXJzIG9ubHknOwokbGFuZ1snYmxvY2snXSA9ICdCbG9jayc7CiRsYW5nWyd1c2VleHBpcmVkYXRlJ10gPSAnVXNlIGV4cGlyZSBkYXRlJzsKJGxhbmdbJ3N0YXJ0ZGF0ZSddID0gJ1N0YXJ0IERhdGUnOwokbGFuZ1snZW5kZGF0ZSddID0gJ0VuZCBEYXRlJzsKJGxhbmdbJ2Jsb2NrY29udGVudCddID0gJ0Jsb2NrIENvbnRlbnQnOwokbGFuZ1snc2V0cGFnZWluYWN0aXZlJ10gPSAnU2V0IFBhZ2UgdG8gSW5hY3RpdmUnOwokbGFuZ1snZGVsZXRlcGFnZSddID0gJ0RlbGV0ZSBQYWdlJzsKJGxhbmdbJ3VuaW5zdGFsbGFjdGlvbiddID0gJ1VuaW5zdGFsbCBhY3Rpb24nOwokbGFuZ1snc2V0Y29udGVudDEnXSA9ICdTZXQgYWxsIFBhZ2VzIG9mIEFkdmFuY2VkQ29udGVudCBiYWNrIHRvIHR5cGUgQ29udGVudCc7CiRsYW5nWydzZXRjb250ZW50MiddID0gJ1NldCBhbGwgUGFnZXMgb2YgQWR2YW5jZWRDb250ZW50IGJhY2sgdG8gdHlwZSBDb250ZW50IGFuZCByZW1vdmUgYWRkaXRpb25hbCBjb250ZW50IGJsb2Nrcyc7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdQcmVmZXJlbmNlcyB1cGRhdGVkJzsKJGxhbmdbJ3N1Y2Nlc3MnXSA9ICdPayc7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yJzsKJGxhbmdbJ2RlbGV0ZXBhZ2VzJ10gPSAnRGVsZXRlIGFsbCBwYWdlcyBvZiB0eXBlIEFkdmFuY2VkQ29udGVudCc7CiRsYW5nWydpbXBvcnRwYWdlcyddID0gJ1NldCBhbGwgUGFnZXMgb2YgdHlwZSAlcyB0byB0eXBlICVzLic7CiRsYW5nWydwYWdlc2ltcG9ydGVkJ10gPSAnQWxsIGNvbnRlbnQgcGFnZXMgc2V0IHRvIEFkdmFuY2VkQ29udGVudC4nOwokbGFuZ1snY29uZmlybWltcG9ydCddID0gJ0RvIHlvdSByZWFsbHkgd2FudCB0byBjaGFuZ2UgdGhlIGNvbnRlbnQgdHlwZSBvZiBhbGwgY29udGVudCBwYWdlcz8nOwokbGFuZ1sndG9nZ2xlX21lc3NhZ2UnXSA9ICdIaWRlIHRoaXMgbWVzc2FnZSc7CiRsYW5nWydjb250ZW50c2V0dGluZ3MnXSA9ICdEZWZhdWx0IEFkdmFuY2VkQ29udGVudCBzZXR0aW5ncyc7CiRsYW5nWydyZWRpcmVjdHBhcmFtcyddID0gJ1VSTCBwYXJhbXMgdG8gYXBwZW5kIHdoZW4gcmVkaXJlY3RpbmcnOwokbGFuZ1snZXZhbHVhdGVzbWFydHknXSA9ICdVc2Ugc21hcnR5IHRvIHByb2Nlc3MgdGhlIHBhcmFtcyc7CiRsYW5nWydlcnJvcl9sb2FkaW5nX21vZHVsZSddID0gJzxlbT48c3Ryb25nPkVycm9yOjwvc3Ryb25nPiBDb3VsZCBub3QgbG9hZCBtb2R1bGUgJiMwMzk7JXMmIzAzOTsuIChEZWZpbmVkIGZvciBibG9jayAmIzAzOTslcyYjMDM5OyBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUuKTwvZW0+JzsKJGxhbmdbJ2Vycm9yX2NvbnRlbnRibG9ja19zdXBwb3J0J10gPSAnPGVtPjxzdHJvbmc+RXJyb3I6PC9zdHJvbmc+IE1vZHVsZSAmIzAzOTslcyYjMDM5OyBkb2VzIG5vdCBzdXBwb3J0IGNvbnRlbnRibG9ja3MuIChEZWZpbmVkIGZvciBibG9jayAmIzAzOTslcyYjMDM5OyBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUuKTwvZW0+JzsKJGxhbmdbJ3N1Y2Nlc3NfaW1wb3J0cGFnZXMnXSA9ICdBbGwgcGFnZXMgb2YgdHlwZSAlcyBzdWNjZXNmdWxseSBjaGFuZ2VkIHRvICVzJzsKJGxhbmdbJ3Nob3dfYWR2YW5jZWRjb250ZW50X29wdGlvbnMnXSA9ICdTaG93IEFkdmFuY2VkQ29udGVudCBvcHRpb25zIHRhYic7CiRsYW5nWydkaXNwbGF5X3NldHRpbmdzJ10gPSAnJXMgZGlzcGxheSBzZXR0aW5ncyc7CiRsYW5nWydzYXZlX2NvbGxhcHNlX3N0YXR1cyddID0gJ1NhdmUgY29sbHBhc2Ugc3RhdHVzIG9mICVzJzsKJGxhbmdbJ2NvbnRlbnRfYmxvY2tzJ10gPSAnY29udGVudCBibG9ja3MnOwokbGFuZ1snYmxvY2tfbWVzc2FnZSddID0gJ2NvbnRlbnQgYmxvY2sgbWVzc2FnZSc7CiRsYW5nWydibG9ja19ncm91cHMnXSA9ICdibG9jayBncm91cHMnOwokbGFuZ1snY29sbGFwc2VfZGVmYXVsdCddID0gJ0NvbGxhcHNlICVzIGJ5IGRlZmF1bHQnOwokbGFuZ1sncGVyX3BhZ2UnXSA9ICdwZXIgcGFnZSc7CiRsYW5nWydwZXJfdGVtcGxhdGUnXSA9ICdwZXIgdGVtcGxhdGUnOwokbGFuZ1snYm90aDEnXSA9ICd0ZW1wbGF0ZSBPUiBwYWdlICc7CiRsYW5nWydib3RoMiddID0gJ3RlbXBsYXRlIEFORCBwYWdlJzsKJGxhbmdbJ2NvbnRlbnQnXSA9ICdDb250ZW50JzsKJGxhbmdbJ2NvbnRlbnQyJ10gPSAnQWR2YW5jZWQgQ29udGVudCc7CiRsYW5nWydwcmVmcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ211bHRpX2lucHV0J10gPSAnTXVsdGkgSW5wdXRzJzsKJGxhbmdbJ211bHRpX2lucHV0X3RwbCddID0gJ011bHRpIElucHV0IFRlbXBsYXRlcyc7CiRsYW5nWydhZGRfbXVsdGlfaW5wdXQnXSA9ICdBZGQgbmV3IG11bHRpIGlucHV0JzsKJGxhbmdbJ2FkZF9tdWx0aV9pbnB1dF90cGwnXSA9ICdBZGQgbmV3IG11bHRpIGlucHV0IHRlbXBsYXRlJzsKJGxhbmdbJ2lucHV0X2lkJ10gPSAnSW5wdXQgSUQnOwokbGFuZ1snaW5wdXRfZmllbGRzJ10gPSAnSW5wdXQgZmllbGRzJzsKJGxhbmdbJ3RwbF9uYW1lJ10gPSAnVGVtcGxhdGUgbmFtZSc7CiRsYW5nWydlcnJvcl90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGlzIGEgcmVxdWlyZWQgZmllbGQgYW5kIG1heSBub3QgYmUgZW1wdHknOwokbGFuZ1snZXJyb3JfaW5wdXRfZmllbGRzJ10gPSAnSW5wdXQgZmllbGRzIGlzIGEgcmVxdWlyZWQgZmllbGQgYW5kIG1heSBub3QgYmUgZW1wdHkuJzsKJGxhbmdbJ2Vycm9yX2lucHV0X2lkJ10gPSAnTm8gaW5wdXQgaWQgZ2l2ZW4gb3IgaW5wdXQgaWQgYWxyZWFkeSBleGlzdHMuJzsKJGxhbmdbJ2Vycm9yX2lucHV0X2lkX2V4aXN0cyddID0gJ0lucHV0IElEIGlzIGFscmVhZHkgaW4gdXNlLiBDaG9vc2UgYSBkaWZmZXJlbnQgb25lLiAobXVzdCBiZSB1bmlxdWUpJzsKJGxhbmdbJ211bHRpX2lucHV0X2FkZGVkJ10gPSAnTXVsdGkgSW5wdXQgYWRkZWQuJzsKJGxhbmdbJ211bHRpX2lucHV0X2RlbGV0ZWQnXSA9ICdNdWx0aSBJbnB1dCBkZWxldGVkLic7CiRsYW5nWydtdWx0aV9pbnB1dF91cGRhdGVkJ10gPSAnTXVsdGkgSW5wdXQgdXBkYXRlZC4nOwokbGFuZ1snbXVsdGlfaW5wdXRfdHBsX2FkZGVkJ10gPSAnTXVsdGkgSW5wdXQgdGVtcGxhdGUgYWRkZWQuJzsKJGxhbmdbJ211bHRpX2lucHV0X3RwbF91cGRhdGVkJ10gPSAnTXVsdGkgSW5wdXQgdGVtcGxhdGUgdXBkYXRlZC4nOwokbGFuZ1snbXVsdGlfaW5wdXRfdHBsX2RlbGV0ZWQnXSA9ICdNdWx0aSBJbnB1dCB0ZW1wbGF0ZSBkZWxldGVkLic7CiRsYW5nWydkZWxldGVfc2VsZWN0ZWQnXSA9ICdEZWxldGUgc2VsZWN0ZWQgaXRlbXMnOwokbGFuZ1snY29uZmlybV9kZWxldGUnXSA9ICdEbyB5b3UgcmVhbGx5IHdhbnQgZG8gZGVsZXRlIHRoaXMgaXRlbT8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfc2VsZWN0ZWQnXSA9ICdEbyB5b3UgcmVhbGx5IHdhbnQgZG8gZGVsZXRlIHRoZSBzZWxlY3RlZCBpdGVtcz8nOwokbGFuZ1sndXNlX2NvbnRlbnR0eXBlJ10gPSAnVXNlIGNvbnRlbnR0eXBlJzsKJGxhbmdbJ2hlbHBfdHBsX3ZhcnMnXSA9ICc8cD48c3Ryb25nPlRlbXBsYXRlIHZhcnM6PC9zdHJvbmc+PC9wPg0KPHA+PHByZT48Y29kZT57JGlucHV0c308L2NvZGU+PC9wcmU+IGlzIGFuIGFycmF5IHRoYXQgY29udGFpbnMgYWxsIGRlZmluZWQgaW5wdXQgZWxlbWVudHMgb2YgdGhhdCBtdWx0aSBpbnB1dCBibG9jay48YnIgLz4NCkVhY2ggaW5wdXQgZWxlbWVudCBpcyBhbiBhcnJheSB0aGF0IGNvbnRhaW5zIGFsbCBpdHMgcGFyYW1zLiA8YnIgLz4NClNlZSBtb2R1bGUgaGVscCBmb3IgbW9yZSBpbmZvLjxiciAvPg0KQWRkaXRpb25hbCBwYXJhbSBpcyAmcXVvdDtpbnB1dCZxdW90OyB0aGF0IHdpbGwgcHJpbnQgb3V0IHRoZSBpbnB1dCBlbGVtZW50LjxiciAvPg0KVG8gYWNjZXNzIHRoZSBwYXJhbXMgdXNlIHRoZSBkb3Qgc3ludGF4LjxiciAvPg0KRXhhbXBsZTo8L3A+DQo8cHJlPjxjb2RlPntmb3JlYWNoIGZyb209JGlucHV0cyBpdGVtPWVsbX0NCgl7JGVsbS5sYWJlbH06Jm5ic3A7eyRlbG0uaW5wdXR9PGJyIC8+DQp7L2ZvcmVhY2h9PC9jb2RlPjwvcHJlPic7CiRsYW5nWydoZWxwJ10gPSAnPGJyIC8+DQo8aDM+V2hhdCBkb2VzIHRoaXMgZG8/PC9oMz4NCjxwPlRoaXMgaXMgYSBtb2RpZmljYXRpb24gb2YgdGhlIGRlZmF1bHQgY29udGVudCB0eXBlICZxdW90O0NvbnRlbnQmcXVvdDsgb2YgQ01TbXMuPGJyIC8+DQpJdCBwcm92aWRlcyBtb3JlIGZsZXhpYmlsaXR5IGJ5IGNyZWF0aW5nIGN1c3RvbSBpbnB1dCBjb250cm9scyBpbiBiYWNrZW5kLjxiciAvPg0KVXNlcnMgY2FuIGFkZCBkcm9wZG93bnMsIG11bHRpcGxlIHNlbGVjdCBsaXN0cywgY2hlY2tib3hlcywgZ3JvdXAgY29udGVudCBibG9ja3MgDQppbiBzZXBhcmF0ZSBwYWdlIHRhYnMsIGJsb2NrIHRhYnMgaW5zaWRlIGEgcGFnZSB0YWIgb3IgaW4gZmllbGRzZXRzIGJ5IGp1c3QgDQp1c2luZyBhZGRpdGlvbmFsIHBhcmFtcyBpbiB0aGUgdGVtcGxhdGUgd2hlbiBjYWxsaW5nIHRoZSBjb250ZW50LjxiciAvPg0KSXQgYWxzbyBhZGRzIGFiaWxpdHkgdG8gZ3JhbnQgYWNjZXNzIG9mIHBhZ2VzIHRvIGNlcnRhaW4gdXNlcnMgb2YgdGhlIA0KRnJvbnRFbmRVc2VycyBtb2R1bGUgYW5kIGhpZGUgdGhlIGNvbnRlbnQsIHJlcGxhY2UgaXQgYnkgdGhlIGxvZ2luIGZvcm0gb2YgdGhlIA0KRnJvbnRFbmRVc2VycyBtb2R1bGUgb3IgcmVkaXJlY3QgdG8gYSBzcGVjaWZpZWQgcGFnZSBzaG93aW5nIHRoZSBsb2dpbiBmb3JtIG9yIA0KanVzdCByZWRpcmVjdCB3aXRob3V0IGRvaW5nIGFueXRoaW5nIGVsc2UuPGJyIC8+DQpQYWdlIHByb3BlcnR5IG9mIEZyb250RW5kVXNlcnMgYWNjZXNzIGFuZCByZWRpcmVjdCBwYWdlIGNhbiBiZSBpbmhlcml0ZWQgYnkgDQpwYXJlbnQgcGFnZXMuPC9wPg0KPHA+WW91IGNhbiBldmVuIHVzZSBzbWFydHkgbG9naWMgaW4gcGFyYW1ldGVyIHZhbHVlcy4gVGhhdCBtZWFucyB5b3UgY2FuIHVzZSB0aGUgDQpyZXN1bHQgb2YgYSBwbHVnaW4sIGFuIHVkdCBvciBldmVuIGEgbW9kdWxlIG9yIGp1c3QgdGhlIGNvbnRlbnQgb2YgYSBnbG9iYWwgDQpjb250ZW50IGJsb2NrIGFzIHBhcmFtZXRlciB2YWx1ZSB0byBjcmVhdGUgZHluYW1pYyB2YWx1ZXMuPC9wPg0KPGgzPkhvdyBpcyBpdCB1c2VkPzwvaDM+DQo8cD5BZnRlciBpbnN0YWxsYXRpb24gdGhlIG1vZHVsZSBzZXR0aW5ncyBjYW4gYmUgZm91bmQgaW4gJnF1b3Q7RXh0ZW5zaW9ucy0+QWR2YW5jZWRDb250ZW50JnF1b3Q7LjwvcD4NCjxwPkFkZGl0aW9uYWxseSB5b3Ugd2lsbCBoYXZlIGEgbmV3IGNvbnRlbnQgdHlwZSAmcXVvdDtBZHZhbmNlZENvbnRlbnQmcXVvdDsgYXZhaWxhYmxlIA0Kd2hlbiBhZGRpbmcvZWRpdGluZyBhIHBhZ2UuPGJyIC8+DQo8cD5BZGQgdGhlIGZvbGxvd2luZyBwYXJhbXMgdG8geW91ciBjb250ZW50IHRhZyBpbiB5b3VyIHBhZ2UgdGVtcGxhdGUsIA0KY2hhbmdlIHRoZSBjb250ZW50IHR5cGUgb2YgeW91ciBwYWdlIHRvICZxdW90O0FkdmFuY2VkQ29udGVudCZxdW90OyBhbmQgc2VlIHdoYXQgaGFwcGVucyANCmluIGJhY2tlbmQuLi48L3A+DQo8aDM+V2hhdCBwYXJhbWV0ZXJzIGFyZSBhdmFpbGFibGU/PC9oMz4NCjxwPmFsbCBwYXJhbXMgYXJlIG9wdGlvbmFsPC9wPg0KPHA+PHN0cm9uZz5EZWZhdWx0IHBhcmFtczo8L3N0cm9uZz48L3A+DQo8dWw+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5ibG9jazwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlBbGxvd3MgeW91IHRvIGhhdmUgbW9yZSB0aGFuIG9uZSBjb250ZW50IGJsb2NrIHBlciBwYWdlLiBJZiBtdWx0aXBsZSBjb250ZW50IHRhZ3MgYXJlIHB1dCBvbiBhIHRlbXBsYXRlLCB0aGF0IG51bWJlciBvZiBlZGl0IGJveGVzIHdpbGwgYmUgZGlzcGxheWVkIGlmIHRoZSBwYWdlIGlzIGVkaXRlZC48YnIgLz4NCgkJCQllLmcuOiA8Y29kZT57Y29udGVudCBibG9jaz0mcXVvdDtTZWNvbmQgQ29udGVudCBibG9jayZxdW90O308L2NvZGU+PGJyIC8+DQoJCQkJTm93LCBpZiB5b3UgZWRpdCBhIHBhZ2UgdGhlcmUgd2lsbCBiYSBhIHRleHRhcmVhIGNhbGxlZCAmcXVvdDtTZWNvbmQgQ29udGVudCBibG9jayZxdW90Oy48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IFRoZSBuYW1lIG9mIHRoZSBjb250ZW50IGJsb2NrIG1heSBjb250YWluIG9ubHkgbGV0dGVycywgbnVtYmVycywgYW5kIHVuZGVyc2NvcmVzIChubyB3aGl0ZXNwYWNlcywgc3BlY2lhbCBjaGFycywgdW1sYXV0cyBldGMuKS4gT3RoZXJ3aXNlIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGEgcHJvcGVyIG5hbWUgKHNpbWlsYXIgdG8gdGhlIHBhZ2UgYWxpYXMpLjwvZW0+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+d3lzaXd5ZzwvdHQ+ICh0cnVlL2ZhbHNlKQ0KCQk8dWw+DQoJCQk8bGk+SWYgc2V0IHRvIGZhbHNlLCB0aGVuIGEgd3lzaXd5ZyB3aWxsIG5ldmVyIGJlIHVzZWQgd2hpbGUgZWRpdGluZyB0aGlzIGJsb2NrLiBJZiB0cnVlLCB0aGVuIGl0IGFjdHMgYXMgbm9ybWFsLjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5vbmVsaW5lPC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT5JZiBzZXQgdG8gdHJ1ZSwgdGhlbiBvbmx5IG9uZSBlZGl0IGxpbmUgd2lsbCBiZSBzaG93biB3aGlsZSBlZGl0aW5nIHRoaXMgYmxvY2suIElmIGZhbHNlLCB0aGVuIGl0IGFjdHMgYXMgbm9ybWFsLiBPbmx5IHdvcmtzIHdoZW4gYmxvY2sgcGFyYW1ldGVyIGlzIHVzZWQuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmRlZmF1bHQ8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+RGVmYXVsdCBjb250ZW50IHdoZW4gY3JlYXRpbmcgYSBuZXcgcGFnZS48L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+bGFiZWw8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+UHJvbXB0IGZvciB0aGlzIGNvbnRlbnQgYmxvY2suIFBvc3NpYmxlIHZhbHVlcyBhcmUgYW55IGV4cHJlc3Npb24uIElmIGJsYW5rLCB0aGUgdW5jb252ZXJ0ZWQgYmxvY2sgbmFtZSBpcyB1c2VkLjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5hc3NpZ248L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJQXNzaWducyB0aGUgY29udGVudCB0byBhIHNtYXJ0eSBwYXJhbWV0ZXIsIHdoaWNoIHlvdSBjYW4gdGhlbiB1c2UgaW4gb3RoZXIgYXJlYXMgb2YgdGhlIHBhZ2UsIG9yIHVzZSB0byB0ZXN0IHdoZXRoZXIgY29udGVudCBleGlzdHMgaW4gaXQgb3Igbm90LjxiciAvPg0KCQkJCUV4YW1wbGUgb2YgcGFzc2luZyBwYWdlIGNvbnRlbnQgdG8gYSBVc2VyIERlZmluZWQgVGFnIGFzIGEgcGFyYW1ldGVyOjxiciAvPg0KCQkJCTxjb2RlPntjb250ZW50IGFzc2lnbj1wYWdlY29udGVudH08YnIgLz4NCgkJCQl7dGFibGVfb2ZfY29udGVudHMgdGhlcGFnZWNvbnRlbnQ9JnF1b3Q7JHBhZ2Vjb250ZW50JnF1b3Q7fTwvY29kZT48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IEZvciBzb21lIHJlYXNvbiB0aGlzIHBhcmFtIGRvZXMgbm90IHdvcmsgYXQgdGhlIG1vbWVudCB3aXRoIHRoZSBtb2R1bGUgcGx1Z2luIHtBdmFuY2VkQ29udGVudH0uIFVzZSA8YnIgLz48Y29kZT57Y2FwdHVyZSBhc3NpZ249JnF1b3Q7Zm9vJnF1b3Q7fXtBZHZhbmNlZENvbnRlbnR9ey9jYXB0dXJlfTwvY29kZT4gPGJyIC8+aW5zdGVhZC48L2VtPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCjwvdWw+DQo8cD48c3Ryb25nPkFkdmFuY2VkIHBhcmFtczo8L3N0cm9uZz48L3A+DQo8dWw+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5ibG9ja190eXBlPC90dD4gKHRleHQsY2hlY2tib3gsZHJvcGRvd24sc2VsZWN0X211bHRpcGxlLGRhdGUsbXVsdGlfaW5wdXQpIA0KCQk8dWw+DQoJCQk8bGk+QWxsb3dzIHlvdSB0byBzcGVjaWZ5IHdoYXQgY29udGVudCBjb250cm9sIHR5cGUgaXMgdXNlZCBpbiB0aGUgYmFjayBlbmQuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnBhZ2VfdGFiPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCVRoaXMgcGFyYW1ldGVyIHNldHMgdGhlIHRhYiBpbiB3aGljaCB0aGUgY29udGVudCBibG9jayBpcyBkaXNwbGF5ZWQgaW4gdGhlIGJhY2tlbmQuPGJyIC8+DQoJCQkJUG9zc2libGUgdmFsdWVzIGFyZSAmcXVvdDttYWluJnF1b3Q7ICggPSBUYWIgJnF1b3Q7TWFpbiBNZW51JnF1b3Q7KSwgJnF1b3Q7b3B0aW9ucyZxdW90OyAoID0gVGFiICZxdW90O09wdGlvbnMmcXVvdDspLCBvciBhbnkgb3RoZXIgYXJiaXRyYXJ5IHZhbHVlPGJyIC8+DQoJCQkJPGVtPmUuZy4geW91IGNhbiBhZGQgYSBjaGVja2JveCB0byB0aGUgb3B0aW9ucyB0YWIgb3IgY3JlYXRlIG5ldyB0YWJzPC9lbT4uDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+YmxvY2tfdGFiPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPldpdGggdGhpcyBwYXJhbWV0ZXIsIHRoZSBibG9ja3Mgd2l0aGluIGEgcGFnZSB0YWIgY2FuIGJlIGZ1cnRoZXIgZGl2aWRlZCBpbnRvIHRhYnMgb3IgY2FuIGJlIGdyb3VwZWQgdG9nZXRoZXIuIEFueSBleHByZXNzaW9uIGNhbiBiZSB1c2VkIGFzIGEgcG9zc2libGUgdmFsdWUuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmJsb2NrX2dyb3VwPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPldpdGggdGhpcyBwYXJhbWV0ZXIsIG11bHRpcGxlIGJsb2NrcyBjYW4gYmUgZ3JvdXBlZCBpbiBhIGZpZWxkc2V0LiBBbnkgZXhwcmVzc2lvbiBjYW4gYmUgdXNlZCBhcyBhIHBvc3NpYmxlIHZhbHVlLjwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5hY3RpdmU8L3R0PiAodHJ1ZS9mYWxzZSkNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCUFsbG93cyB5b3UgdG8gZGlzYWJsZSBhIGNvbnRlbnQgYmxvY2suIERpc2FibGVkIGNvbnRlbnQgYmxvY2tzIHdvbiYjMDM5O3QgYmUgc2hvd24gaW4gYmFja2VuZCBhcyB3ZWxsIGFzIGluIGZyb250ZW5kLiAob25seSB3b3JrcyB3aXRoIHtBZHZhbmNlZENvbnRlbnR9IHBsdWdpbik8YnIgLz4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lZGl0b3JfZ3JvdXBzPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCUEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZ3JvdXAgbmFtZXMgdGhhdCBhcmUgYWxsb3dlZCB0byBlZGl0IHRoaXMgYmxvY2suDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZWRpdG9yX3VzZXJzPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCUEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgdXNlciBuYW1lcyB0aGF0IGFyZSBhbGxvd2VkIHRvIGVkaXQgdGhpcyBibG9jay4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBpZiB0aGUgcGFyYW1zIDx0dD5lZGl0b3JfdXNlcnM8L3R0PiBhbmQgPHR0PmVkaXRvcl9ncm91cHM8L3R0PiBhcmUgZW1wdHkgdGhlIGJsb2NrIG1heSBiZSBlZGl0ZWQgYnkgYW55IHVzZXIgd2l0aCBzdWZmaWNpZW50IHBlcm1pc3Npb24gdG8gZWRpdCBhIHBhZ2U8L2VtPjxiciAvPjxiciAvPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZmV1X2FjY2VzczwvdHQ+DQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlBIGxpc3Qgb2YgZmV1IGdyb3VwIGlkcyBzZXBhcmF0ZWQgYnkgYSBjb21tYS48YnIgLz4NCgkJCQlUaGlzIHNob3dzIHRoZSBjb250ZW50IGJsb2NrIG9ubHkgdG8gY2VydGFpbiBmZXUgZ3JvdXBzLjxiciAvPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmZldV9hY3Rpb248L3R0PiAodHJ1ZS9mYWxzZSkNCgkJPHVsPg0KCQkJPGxpPg0KCQkJCVNwZWNpZnkgaWYgdGhlIGxvZ2luIGZvcm0gb2YgdGhlIGZldSBtb2R1bGUgd2lsbCBiZSBzaG93biBvciBub3QuPGJyIC8+DQoJCQkJPGVtPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPiBUaGUgbG9naW4gZm9ybSB3aWxsIG9ubHkgYmUgc2hvd24gb25lIHRpbWUuPGJyIC8+DQoJCQkJSWYgdGhlcmUgYXJlIG11bHRpcGxlIGJsb2NrcyB3aXRoIGxpbWl0ZWQgZmV1X2FjY2VzcyBhbmQgZmV1X2FjdGlvbiBzZXQgdG8gdHJ1ZSBvbmx5IHRoZSBmaXJzdCBibG9ja3MgbG9naW4gZm9ybSB3aWxsIGJlIHNob3duIGFuZCBhbGwgb3RoZXIgYmxvY2tzIHdpbGwganVzdCBiZSBlbXB0eS48L2VtPjxiciAvPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmFsbG93X25vbmU8L3R0PiAodHJ1ZS9mYWxzZSkNCgkJPHVsPg0KCQkJPGxpPlNldCB0byB0cnVlIGlmIHRoZSB1c2VyIG1heSBlbnRlciBlbXB0eSB2YWx1ZXMuIDxiciAvPklmIHNldCB0byBmYWxzZSBhbmQgdmFsdWUgaXMgZW1wdHkgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIHBhcmFtICZxdW90O2RlZmF1bHQmcXVvdDsgd2lsbCBiZSB1c2VkLiA8YnIgLz5JZiBzZXQgdG8gdHJ1ZSBhbmQgYmxvY2sgaXMgb2YgdHlwZSBpbWFnZS9maWxlIHRoZSBvcHRpb24gJnF1b3Q7bm9uZSZxdW90OyAobW9kZT0mcXVvdDtkcm9wZG93biZxdW90Oykgb3IgYSBidXR0b24gdG8gY2xlYXIgdGhlIHNlbGVjdGVkIGZpbGUvaW1hZ2UgdmFsdWUgKG1vZGU9JnF1b3Q7ZmlsZXBpY2tlciZxdW90Oykgd2lsbCBiZSBkaXNwbGF5ZWQuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnNtYXJ0eTwvdHQ+ICh0cnVlL2ZhbHNlKQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJVHVybiBzbWFydHkgcHJvY2Vzc2luZyBvZiB2YWx1ZXMgb24vb2ZmLjxiciAvPg0KCQkJCUlmIHNldCB0byB0cnVlIGFueSBnaXZlbiB2YWx1ZSB3aWxsIGJlIHByb2Nlc3NlZCBieSB0aGUgc21hcnR5IGVuZ2luZS48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6IDwvc3Ryb25nPiBDb25zaWRlciB0aGF0IHlvdSBjYW5ub3QgdXNlIHRoZSBkZWZhdWx0IHNtYXJ0eSBkZWxpbWl0ZXJzIHRoYXQgYXJlIHVzZWQgaW4gdGhlIHRlbXBsYXRlLiBUaGlzIHdpbGwgY2F1c2Ugc21hcnR5IGVycm9ycyBpbiBmcm9udGVuZC48YnIgLz4NCgkJCQlTbyB5b3UgbmVlZCB0byB1c2UgOjo6IGFzIGRlbGltaXRlciBpbnN0ZWFkLjxiciAvPjwvZW0+DQoJCQkJRS5nLjogPGNvZGU+e2NvbnRlbnQgYmxvY2s9JnF1b3Q7Q2F0ZWdvcmllcyZxdW90OyBsYWJlbD0mcXVvdDtTZWxlY3QgYSBjYXRlZ29yeSZxdW90OyBibG9ja190eXBlPSZxdW90O2Ryb3Bkb3duJnF1b3Q7IGl0ZW1zPSZxdW90Ozo6Omdsb2JhbF9jb250ZW50IG5hbWU9JiMwMzk7Y2F0ZWdvcnlsaXN0JiMwMzk7Ojo6JnF1b3Q7IHNtYXJ0eT0mcXVvdDt0cnVlJnF1b3Q7fTwvY29kZT4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZXNjcmlwdGlvbjwvdHQ+IChzdHJpbmcpIA0KCQk8dWw+DQoJCQk8bGk+QWxsb3dzIHlvdSB0byBhZGQgYSBkZXRhaWxlZCBkZXNjcmlwdGlvbiB0byB0aGF0IGJsb2NrIGZvciB5b3VyIGVkaXRvcnMuPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmNvbGxhcHNlPC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlTZXQgdG8gdHJ1ZS9mYWxzZSB0byBkaXNwbGF5IGJsb2NrIGluIGJhY2tlbmQgaW4gY29sbGFwc2VkL2V4cGFuZGVkIG1vZGUgYnkgZGVmYXVsdC48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IHdpbGwgYmUgYWx3YXlzIGZhbHNlIGlmIG5vX2NvbGxhcHNlPXRydWUgaXMgdXNlZC48L2VtPjxiciAvPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0Pm5vX2NvbGxhcHNlPC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlTZXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBmb2xkaW5nIG9mIGJsb2Nrcy48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IGlmIHNldCB0byB0cnVlIHBhcmFtIGNvbGxhcHNlIGlzIGFsd2F5cyBmYWxzZS48L2VtPjxiciAvPg0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnJlcXVpcmVkPC90dD4gKHRydWUvZmFsc2UpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlTZXQgdG8gdHJ1ZSBpZiB0aGlzIGJsb2NrIG1heSBub3QgYmUgZW1wdHkuPGJyIC8+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KPC91bD4NCjxwPjxzdHJvbmc+UGFyYW1zIG9mIGJsb2NrdHlwZSAmcXVvdDtjaGVja2JveCZxdW90Ozo8L3N0cm9uZz48L3A+DQo8dWw+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZWZhdWx0PC90dD4gKHRydWUvZmFsc2UpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJY2hlY2tzL3VuY2hlY2tzIHRoZSBjaGVja2JveCBieSBkZWZhdWx0IHdoZW4gYWRkaW5nIGEgcGFnZTxiciAvPg0KCQkJCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gVXNlICZxdW90OzEmcXVvdDsgZm9yIGNoZWNrZWQgYW5kICZxdW90OzAmcXVvdDsgZm9yIHVuY2hlY2tlZCBieSBkZWZhdWx0PGJyIC8+PC9lbT4NCgkJCQlFLmcuIDxjb2RlPntjb250ZW50IGJsb2NrX3R5cGU9JnF1b3Q7Y2hlY2tib3gmcXVvdDsgZGVmYXVsdD0xfTwvY29kZT4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQo8L3VsPg0KPHA+PHN0cm9uZz5QYXJhbXMgb2YgYmxvY2t0eXBlICZxdW90O2Ryb3Bkb3duJnF1b3Q7LyZxdW90O3NlbGVjdF9tdWx0aXBsZSZxdW90Ozo8L3N0cm9uZz48L3A+DQo8dWw+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5pdGVtczwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT5JdGVtIGxhYmVsKHMpIG9mIHRoZSBmaWVsZChzKSAoc2VwYXJhdGVkIGJ5IGEgZGVsaW1pdGVyIC0gZGVmYXVsdCBpcyB8IChwaXBlKSk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+dmFsdWVzPC90dD4gKHN0cmluZykNCgkJPHVsPg0KCQkJPGxpPlZhbHVlKHMpIG9mIHRoZSBpdGVtcyAoc2VwYXJhdGVkIGJ5IGEgZGVsaW1pdGVyIC0gZGVmYXVsdCBpcyB8IChwaXBlKSk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxlbT48c3Ryb25nPk5vdGljZTo8L3N0cm9uZz4gaWYgdGhlcmUgYXJlIGxlc3MgdmFsdWVzIHRoYW4gaXRlbXMgdGhlIGl0ZW0gbGFiZWxzIHdpbGwgYmUgdXNlZCBhcyB2YWx1ZXMgKGFuZCB2aXNlIHZlcnNhKS48L2VtPjxiciAvPjxiciAvPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZGVmYXVsdDwvdHQ+IChzdHJpbmcpDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlQcmVzZWxlY3RlZCB2YWx1ZShzKSAoc2VwYXJhdGVkIGJ5IGEgZGVsaW1pdGVyIC0gZGVmYXVsdCBpcyB8IChwaXBlKSk8YnIgLz4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kZWxpbWl0ZXI8L3R0PiAoc3RyaW5nKQ0KCQk8dWw+DQoJCQk8bGk+QSBzaWduIG9yIHN0cmluZyB0aGF0IHdpbGwgYmUgdXNlZCB0byBkZXZpZGUgdGhlIGl0ZW1zL3ZhbHVlcyAoZGVmYXVsdCBpcyB8IChwaXBlKSk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zaXplPC90dD4gKGludGVnZXIpDQoJCTx1bD4NCgkJCTxsaT5IZWlnaHQgb2YgY29udGVudCBibG9jayBpbiBiYWNrIGVuZCBpZiA8Y29kZT5ibG9ja190eXBlPSZxdW90O3NlbGVjdF9tdWx0aXBsZSZxdW90OzwvY29kZT4gaXMgc2V0LiA8ZW0+KERlZmF1bHQgaXMgbnVtYmVyIG9mIGl0ZW1zKTwvZW0+PC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+PGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c29ydGFibGVfaXRlbXM8L3R0PiAodHJ1ZS9mYWxzZSkgLSBzZWxlY3RfbXVsdGlwbGUgb25seQ0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJSWYgc2V0IHRvIHRydWUgdGhlIGl0ZW1zIHdvbiYjMDM5O3QgYmUgc2hvd24gYXMgYSBtdWx0aXBsZSBzZWxlY3QgaW5wdXQgd2l0aCBvcHRpb25zIGJ1dCBhcyBhIGxpc3Qgb2YgY2hlY2tib3hlcyB0aGF0IGNhbiBiZSByZW9yZGVyZWQuPGJyIC8+RWFjaCByb3cgY29udGFpbnMgdGhlIGl0ZW0gbGFiZWwgYW5kIGEgY2hlY2tib3ggd2l0aCB0aGUgaXRlbSB2YWx1ZS48YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IG9ubHkgdGhlIG9yZGVyIG9mIHRoZSA8c3Ryb25nPnNlbGVjdGVkPC9zdHJvbmc+IGl0ZW1zIHdpbGwgYmUgc3RvcmVkIGFuZCBhbHdheXMgZGlzcGxheWVkIG9uIHRoZSB0b3Agb2YgdGhlIGxpc3Qgd2hlbiByZWxvYWRpbmcgdGhlIGVkaXQgcGFnZS48YnIgLz4NCgkJCQlVbnNlbGVjdGVkIGl0ZW1zIHdpbGwgYXBwZW5kZWQgaW4gdGhhdCBvcmRlciB0aGV5IGFyZSBkZWZpbmVkIGluIHRoZSB0ZW1wbGF0ZTwvZW0+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KPC91bD4NCjxwPjxzdHJvbmc+UGFyYW1zIG9mIGJsb2NrdHlwZSAmcXVvdDtkYXRlJnF1b3Q7Ojwvc3Ryb25nPjwvcD4NCjx1bD4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnN0ZXBfaG91cnM8L3R0PiAoaW50KSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXN0ZXBzIG9mIGhvdXJzIGluIHRoZSBjbG9jayBkcm9wZG93bi4gKGRlZmF1bHQgaXMgMSkNCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5zdGFydF9ob3VyPC90dD4gKGludCkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQl0aGUgc3RhcnQgaG91ciBvZiB0aGUgY2xvY2sgZHJvcGRvd24uIChkZWZhdWx0IGlzIDApDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+ZW5kX2hvdXI8L3R0PiAoaW50KSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXRoZSBlbmQgaG91ciBvZiB0aGUgY2xvY2sgZHJvcGRvd24gKGRlZmF1bHQgaXMgMTIgb3IgMjMpDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c2hvdzI0aDwvdHQ+ICh0cnVlL2ZhbHNlKSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXNldCB0byBmYWxzZSBpZiBBTS9QTSBpcyB1c2VkLiAoZGVmYXVsdCBpcyB0cnVlKQ0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnN0ZXBfbWludXRlczwvdHQ+IChpbnQpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJc3RlcHMgb2YgbWludXRlcyBpbiB0aGUgY2xvY2sgZHJvcGRvd24uIChkZWZhdWx0IGlzIDEwKQ0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PnN0YXJ0X21pbnV0ZTwvdHQ+IChpbnQpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJdGhlIHN0YXJ0IG1pbnV0ZSBvZiB0aGUgY2xvY2sgZHJvcGRvd24uIChkZWZhdWx0IGlzIDApDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5lbmRfbWludXRlPC90dD4gKGludCkgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQl0aGUgZW5kIG1pbnV0ZSBvZiB0aGUgY2xvY2sgZHJvcGRvd24gKGRlZmF1bHQgaXMgNTkpDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KCTxsaT4NCgkJPGVtPihvcHRpb25hbCk8L2VtPiA8dHQ+c2hvd19jbG9jazwvdHQ+ICh0cnVlL2ZhbHNlKSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCXNldCB0byBmYWxzZSBpZiBubyB0aW1lIGRyb3Bkb3duIHNob3VsZCBiZSBkaXNwbGF5ZWQgKGRlZmF1bHQgaXMgdHJ1ZSk8YnIgLz4NCgkJCQk8ZW0+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+IElmIHNldCB0byBmYWxzZSAwMDowMCBvJiMwMzk7Y2xvY2sgd2lsbCBiZSB1c2VkPC9lbT4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5kYXRlX2Zvcm1hdDwvdHQ+IChzdHJpbmcpIA0KCQk8dWw+DQoJCQk8bGk+DQoJCQkJVGhlIHN0cmZ0aW1lIGRhdGUgZm9ybWF0IHRvIHNob3cgaW4gZnJvbnRlbmQuDQoJCQk8L2xpPg0KCQk8L3VsPg0KCQk8YnIgLz4NCgk8L2xpPg0KPC91bD4NCjxwPjxzdHJvbmc+UGFyYW1zIG9mIGJsb2NrdHlwZSAmcXVvdDttdWx0aV9pbnB1dCZxdW90Ozo8L3N0cm9uZz48L3A+DQo8dWw+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD5pbnB1dHM8L3R0PiAoY3N2IG9mIGlucHV0IGlkcyB5b3UgY3JlYXRlZCBpbiB0aGUgYmFja2VuZCkgDQoJCTxiciAvPjxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8ZW0+KG9wdGlvbmFsKTwvZW0+IDx0dD52YWx1ZV9kZWxpbWl0ZXI8L3R0PiAoYW55IHN0cmluZykgDQoJCTx1bD4NCgkJCTxsaT4NCgkJCQlUaGlzIGRlZmluZXMgYSBzdHJpbmcgdGhhdCBkZXZpZGVzIHRoZSB2YWx1ZXMgb2YgdGhlIGlucHV0cyBvZiBvbmUgbXVsdGlfaW5wdXQgd2hlbiBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLjxiciAvPg0KCQkJCURlZmF1bHQgaXMgJnF1b3Q7PCEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxsaW1pdGVyIC0tPiZxdW90Ow0KCQkJPC9saT4NCgkJPC91bD4NCgkJPGJyIC8+DQoJPC9saT4NCgk8bGk+DQoJCTxlbT4ob3B0aW9uYWwpPC9lbT4gPHR0PmlucHV0X2RlbGltaXRlcjwvdHQ+IChhbnkgc3RyaW5nKSANCgkJPHVsPg0KCQkJPGxpPg0KCQkJCVRoaXMgZGVmaW5lcyBhIHN0cmluZyB0aGF0IGRldmlkZXMgdGhlIG11bHRpX2lucHV0cyB5b3UgZGVmaW5lZCBmb3IgdGhpcyBjb250ZW50IGJsb2NrIHdoZW4gc3RvcmVkIGluIHRoZSBkYXRhYmFzZS48YnIgLz4NCgkJCQlEZWZhdWx0IGlzICZxdW90OzwhLS0gbXVsdGlfaW5wdXRfZGVsbGltaXRlciAtLT4mcXVvdDsNCgkJCTwvbGk+DQoJCTwvdWw+DQoJCTxiciAvPg0KCTwvbGk+DQoJPGxpPg0KCQk8cD48c3Ryb25nPldoYXQgaXMgYSBtdWx0aV9pbnB1dCBmb3I/PC9zdHJvbmc+PC9wPg0KCQk8cD5BIG11bHRpX2lucHV0IGJsb2NrIGlzIGEgY29udGVudCBibG9jayB0aGF0IGNvbnNpc3RzIG9mIGRpZmZlcmVudCBpbnB1dCBmaWVsZHMuIDxiciAvPg0KCQlZb3UgY2FuIGRlZmluZSB0aGVtIGluIHRoZSBtb2R1bGUgYWRtaW5pc3RyYXRpb24gdXNpbmcgdGhlIHNhbWUgc3ludGF4IHlvdSB1c2UgaW4gYSB0ZW1wbGF0ZSB3aGVuIGRlZmluaW5nIGEgY29udGVudCBibG9jay48YnIgLz4NCgkJTXVsdGkgaW5wdXRzIGNhbiBiZSB1c2VkIGlmIHlvdSB3YW50IHRvIHN0b3JlIGRpZmZlcmVudCB2YWx1ZXMgaW4gb25lIGNvbnRlbnQgYmxvY2sgYW5kIHByb3ZpZGUgZGlmZmVyZW50IGlucHV0IHR5cGVzIGZvciBlYWNoIHZhbHVlcy48YnIgLz4NCgkJVGhpcyBjYW4gYmUgdXNlZnVsbCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBkcm9wZG93biB0byBzZWxlY3QgYSBtb2R1bGUgdG8gYmUgc2hvd24gaW4gZnJvbnRlbmQgYW5kIHRleHQgaW5wdXQgdG8gZGVmaW5lIHRoZSBtb2R1bGUgcGFyYW1ldGVycy48YnIgLz4NCgkJRXhhbXBsZSBmb3IgYSBtdWx0aV9pbnB1dCBpbiBwYWdlIHRlbXBsYXRlOjwvcD4NCgkJPHByZT4NCgkJPGNvZGU+DQoJCXtjb250ZW50IGJsb2NrPSZxdW90O21vZHVsZSZxdW90OyBsYWJlbD0mcXVvdDtQYWdlIG1vZHVsZXMmcXVvdDsgYmxvY2tfdHlwZT0mcXVvdDttdWx0aV9pbnB1dCZxdW90OyBpbnB1dHM9JnF1b3Q7bW9kdWxlLG1vZHVsZSxtb2R1bGUsbW9kdWxlJnF1b3Q7fQ0KCQk8L2NvZGU+DQoJCTwvcHJlPg0KCQk8cD5FeGFtcGxlIGZvciB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgbXVsdGlfaW5wdXQgbmFtZWQgJnF1b3Q7bW9kdWxlJnF1b3Q7OjwvcD4NCgkJPHByZT4NCgkJPGNvZGU+DQoJCXtjb250ZW50IGJsb2NrPSZxdW90O21vZHVsZSBzZWxlY3Rpb24mcXVvdDsgYmxvY2tfdHlwZT0mcXVvdDtkcm9wZG93biZxdW90OyBpdGVtcz0mcXVvdDt8TmV3c3xHYWxsZXJ5fE1lbnUmcXVvdDt9DQoJCXtjb250ZW50IGJsb2NrPSZxdW90O21vZHVsZSBwYXJhbXMmcXVvdDsgYmxvY2tfdHlwZT0mcXVvdDt0ZXh0JnF1b3Q7IG9uZWxpbmU9dHJ1ZX0NCgkJPC9jb2RlPg0KCQk8L3ByZT4NCgkJPHA+V2hhdCBoYXBwZW5zIGlmIHlvdSBlZGl0IGEgcGFnZT88L3A+DQoJCTxwPkl0IHdpbGwgc2hvdyB5b3UgYSBmaWVsZHNldCB3aXRoIGxlZ2VuZCAmcXVvdDtQYWdlIG1vZHVsZXMmcXVvdDsuIDxiciAvPg0KCQlJbnNpZGUgdGhpcyBmaWVsZHNldCBpdCBzaG93cyB0aGUgbXVsdGlfaW5wdXQgbmFtZWQgJnF1b3Q7bW9kdWxlJnF1b3Q7IGZvdXIgdGltZXMuPGJyIC8+DQoJCVRoYXQgbWVhbnMgeW91IHNlZSBmb3VyIGxpbmVzIHdpdGggdHdvIGlucHV0IGZpZWxkcy4gQSBkcm9wZG93biBhbmQgYSB0ZXh0IGlucHV0LjwvcD4NCgkJPHA+V2hhdCBoYXBwZW5zIGlmIHlvdSBzYXZlIGEgcGFnZT88L3A+DQoJCTxwPlRoZSBtb2R1bGUgc3RvcmVzIHRoZSB2YWx1ZXMgYXMgb25lIHNpbmdsZSBjb250ZW50IHByb3BlcnR5IChha2EgY29udGVudGJsb2NrKSBhbmQgc2VwYXJhdGVzIHRoZSBpbnB1dHMgYnkgYSBnaXZlbiBkZWxpbWl0ZXIuPGJyIC8+DQoJCUxldCYjMDM5O3MgYXNzdW1lIHlvdSBzZWxlY3QgdGhlIE5ld3MgbW9kdWxlIGZvdXIgdGltZXMgd2l0aCBkaWZmZXJlbnQgbW9kdWxlIHBhcmFtcyBsaWtlIGNhdGVnb3J5PSZxdW90OzEmcXVvdDssIGNhdGVnb3J5PSZxdW90OzImcXVvdDssIGNhdGVnb3J5PSZxdW90OzMmcXVvdDssIGNhdGVnb3J5PSZxdW90OzQmcXVvdDsuPGJyIC8+DQoJCUluIHRoZSBkYXRhYmFzZSBpdCBzdG9yZXMgdGhpcyBzdHJpbmc6PC9wPg0KCQk8cHJlPg0KCQk8Y29kZT4NCgkJTmV3czwhLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tPmNhdGVnb3J5PSZxdW90OzEmcXVvdDs8IS0tIG11bHRpX2lucHV0X2RlbGltaXRlciAtLT48YnIgLz4NCgkJTmV3czwhLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tPmNhdGVnb3J5PSZxdW90OzImcXVvdDs8IS0tIG11bHRpX2lucHV0X2RlbGltaXRlciAtLT48YnIgLz4NCgkJTmV3czwhLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tPmNhdGVnb3J5PSZxdW90OzMmcXVvdDs8IS0tIG11bHRpX2lucHV0X2RlbGltaXRlciAtLT48YnIgLz4NCgkJTmV3czwhLS0gbXVsdGlfaW5wdXRfdmFsdWVfZGVsaW1pdGVyIC0tPmNhdGVnb3J5PSZxdW90OzQmcXVvdDsNCgkJPC9jb2RlPg0KCQk8L3ByZT4NCgkJPHA+SW4geW91ciBwYWdlIHRlbXBsYXRlIHlvdSBjYW4gZXhwbG9kZSB0aGUgY29udGVudCBieSB0aGUgZGVsaW1pdGVycyBhbmQgY2FsbCB0aGUgc2VsZWN0ZWQgbW9kdWxlcy48L3A+DQoJCTxwPkZ1bGwgRXhhbXBsZTo8L3A+DQoJCTxwcmU+DQoJCTxjb2RlPg0KCQl7KiBkZWZpbmUgdGhlIGNvbnRlbnQgYmxvY2sgKn0NCgkJe2NvbnRlbnQgYmxvY2s9JnF1b3Q7bXlfbW9kdWxlcyZxdW90OyBibG9ja190eXBlPSZxdW90O211bHRpX2lucHV0JnF1b3Q7IGlucHV0cz0mcXVvdDtNb2R1bGUsTW9kdWxlLE1vZHVsZSxNb2R1bGUmcXVvdDsgYXNzaWduPSZxdW90O21vZHVsZXMmcXVvdDt9DQoJCQ0KCQl7KiBleHBsb2RlIGJsb2NrIGNvbnRlbnQgaW4gYW4gYXJyYXkgdG8gZ2V0IHRoZSBpbnB1dCBncm91cHMgKn0NCgkJe2Fzc2lnbiB2YXI9bW9kdWxlcyB2YWx1ZT0mcXVvdDs8IS0tIG11bHRpX2lucHV0X2RlbGltaXRlciAtLT4mcXVvdDt8ZXhwbG9kZTokbW9kdWxlc30NCgkJDQoJCXsqIGxvb3AgdGhyb3VnaCB0aGUgc2VsZWN0ZWQgbW9kdWxlcyAqfQ0KCQl7Zm9yZWFjaCBmcm9tPSRtb2R1bGVzIGl0ZW09JnF1b3Q7bW9kdWxlJnF1b3Q7fQ0KCQkJe2lmICRtb2R1bGUgIT0gJiMwMzk7JiMwMzk7fQ0KCQkJDQoJCQkJeyogZXhwbG9kZSB0aGUgaW5wdXQgdmFsdWVzIGluIG1vZHVsbmFtZSBhbmQgbW9kdWxlIHBhcmFtZXRlcnMgKn0NCgkJCQl7YXNzaWduIHZhcj1tb2R1bGVfaXRlbXMgdmFsdWU9JnF1b3Q7PCEtLSBtdWx0aV9pbnB1dF92YWx1ZV9kZWxpbWl0ZXIgLS0+JnF1b3Q7fGV4cGxvZGU6JG1vZHVsZX0NCgkJCQkNCgkJCQl7aWYkbW9kdWxlX2l0ZW1zWzBdICE9ICYjMDM5OyYjMDM5O30NCgkJCQkNCgkJCQkJeyogY2FsbCB0aGUgbW9kdWxlICp9DQoJCQkJCXtpZiBpc3NldCgkbW9kdWxlX2l0ZW1zWzFdKX0NCgkJCQkJCXtldmFsIHZhcj0kc21hcnR5LmxkZWxpbXxjYXQ6JiMwMzk7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7JiMwMzk7fGNhdDokbW9kdWxlX2l0ZW1zWzBdfGNhdDomIzAzOTsmcXVvdDsgJiMwMzk7fGNhdDokbW9kdWxlX2l0ZW1zWzFdfGNhdDokc21hcnR5LnJkZWxpbX0NCgkJCQkJe2Vsc2V9DQoJCQkJCQl7ZXZhbCB2YXI9JHNtYXJ0eS5sZGVsaW18Y2F0OiYjMDM5O2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90OyYjMDM5O3xjYXQ6JG1vZHVsZV9pdGVtc1swXXxjYXQ6JiMwMzk7JnF1b3Q7JiMwMzk7fGNhdDokc21hcnR5LnJkZWxpbX0NCgkJCQkJey9pZn0NCgkJCQkJDQoJCQkJey9pZn0NCgkJCQkNCgkJCXsvaWZ9DQoJCQ0KCQl7L2ZvcmVhY2h9DQoJCTwvY29kZT4NCgkJPC9wcmU+DQoJPC9saT4NCjwvdWw+DQoNCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCgk8bGk+VGhlIHByb2plY3RzIGhvbWVwYWdlIGlzIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIvIj5odHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2NvbnRlbnQyLzwvYT48L2xpPg0KCTxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjwvdWw+DQo8YnIgLz4NCjxwPkZlZWwgZnJlZSByZXBvcnQgYW55IGtpbmQgb2YgZmVlZGJhY2suPC9wPg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD4NCglBcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy48YnIgLz4NCglUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCw8YnIgLz4NCglidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZjxiciAvPg0KCU1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS48YnIgLz4NCglTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuPGJyIC8+DQoJWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2U8YnIgLz4NCglhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZTxiciAvPg0KCUZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBPGJyIC8+DQoJT3IgcmVhZCBpdCBvbmxpbmU6IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMPC9hPjxiciAvPg0KCVBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLg0KPC9wPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCBHZW9yZyBCdXNjaCAoTmFOKS4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCjxiciAvPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8YnIgLz4NCjxwPjxzdHJvbmc+TW9kdWxlIHJlbGVhc2VzPC9zdHJvbmc+Li4uPC9wPg0KPHVsPg0KCTxsaT48cD48c3Ryb25nPjAuNy4xIChOb3YgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gZml4ZWQgYnVnIGl0ZW0gIzU2NTE8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBmZXVfYWNjZXNzPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGZldV9hY3Rpb248L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gcmVxdWlyZWQ8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuNyAoTm92IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIGNvbXBhdGliaWxpdHkgYnVnZml4ZXMgZm9yIENNU21zIDEuOSsgKG5lZWRzIENNU21zIDEuOSBtaW5pbXVtIG5vdyk8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBzdXBwb3J0IG9mIHtjb250ZW50X21vZHVsZX0gdGFnPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIG5vX2NvbGxhcHNlPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4wLjYuMiAoTm92IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIG1pbm9yIGJ1Z2ZpeCAoc2hvd2VkIHRhYnMgb2YgcHJldmlvdXMgdGVtcGxhdGUgd2hlbiB0ZW1wbGF0ZSB3YXMgY2hhbmdlZCk8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuNi4xIChOb3YgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gc2V2ZXJhbCBidWdmaXhlczwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBjb21wYXRpYmlsaXR5IGJ1Z2ZpeGVzIGZvciBDTVNtcyAxLjk8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBibG9ja190eXBlIG11bHRpX2lucHV0PC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4wLjYgKE9jdCAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD5CdWdmaXhlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBzZXZlcmFsIGJ1Z2ZpeGVzPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+RmVhdHVyZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gYmxvY2tfZ3JvdXA8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5NaXNjOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIFJlbW92ZWQgZmlsZSBwaWNrZXIgKGFuZCBhc3NvY2lhdGVkIGJsb2NrX3R5cGVzIGltYWdlL2ZpbGUpIC0gdXNlIEdCRmlsZVBpY2tlciBpbnN0ZWFkLjwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MC41IChTZXB0IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPkJ1Z2ZpeGVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD5maXhlZCBidWcgaXRlbSAjNTI5MiAobWVtb3J5IGlzc3VlKTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+Zml4ZWQgYnVnIGl0ZW0gIzUyNTQgKGRpc2FibGUgd3lzaXd5ZyBub3Qgd29ya2luZyk8L3A+PC9saT4NCgkJCQkJPGxpPjxwPmZpeGVkIGJ1ZyBpdGVtICM1MzEwICh1cmxvbmx5IG5vdCB3b3JraW5nKTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+Zml4ZWQgYnVnIGl0ZW0gIzUzMTEgKGltYWdlIHBhdGhzIG5vdCBzdG9yZWQgJiMwMzk7Y29ycmVjdGx5JiMwMzk7KTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPkZlYXR1cmVzOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNjEgKEFkZCBzb3J0IHRvIGltYWdlIHR5cGUgLSBub3RpY2UgdGhlIGNoYW5nZSBvZiBwYXJhbSBmaWx0ZXIpPC9wPjwvbGk+DQoJCQkJCTxsaT48cD5hZGRlZCBwYXJhbXMgZXhjbHVkZV9wcmVmaXgsIGluY2x1ZGVfcHJlZml4LCBleGNsdWRlX3N1Zml4LCBpbmNsdWRlX3N1Zml4PC9wPjwvbGk+DQoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNTMgKFRleHQgaW5wdXQgdG8gZGVmaW5lIGFkZCBwYXJhbXMgdG8gcmVkaXJlY3QgZnVuY3Rpb24pPC9wPjwvbGk+DQoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNDAgKERlZmF1bHQgdmFsdWVzIG9mIEFkdmFuY2VkQ29udGVudCBwYWdlIG9wdGlvbnMpPC9wPjwvbGk+DQoJCQkJCTxsaT48cD5hZGRlZCBmZWF0dXJlIHJlcXVlc3QgIzUyNDEgKHB1dCBGZXVBY2Nlc3MgaW4gQmxvY2t0YWIpPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+TWlzYzo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBBZHZhbmNlZENvbnRlbnQgb3B0aW9ucyBhcmUgc2hvd24gaW4gc2VwYXJhdGUgdGFiPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIEFkZGVkIG5ldyBwZXJtaXNzaW9uIHRvIG1hbmFnZSB0aGUgQWR2YW5jZWRDb250ZW50IG9wdGlvbnMgdGFiPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIHJlbW92ZWQgcGFyYW0gZmlsdGVyICh1c2UgbmV3IHBhcmFtcyBpbnN0ZWFkKTwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBwYXRoIHRvIGZpbGVzIGFyZSBzdG9yZWQgcmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIHBhcmFtIGRpciBvZiBibG9jayB0eXBlIGZpbGUvaW1hZ2UgbmVlZHMgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyIG9ubHkgKHRoZXJlIGlzIG5vIGltYWdlIHVwbG9hZHMgZGlyIHVzZWQgYW55bW9yZSk8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuNC4xIChBdWd1c3QgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gIzUxNTE6IGZpeGVkIHN0eWxlc2hlZXQgaXNzdWUgd2l0aCBleHBhbmQvY29sbGFwc2UgYnV0dG9ucyBvZiBjb250ZW50IGJsb2NrcyBpbiBJRS9TYWZhcmkuPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tICM1MTYyOiBQSFAgd2FybmluZ3MgaWYgYmFja2VuZCB1c2VycyB3aXRob3V0IHBlcm1pc3Npb24gJnF1b3Q7TWFuYWdlIEFsbCBBZHZhbmNlZENvbnRlbnQgQmxvY2tzJnF1b3Q7IG9wZW4gYW4gYWR2YW5jZWQgY29udGVudCBwYWdlIGFuZCBtdWx0aXBsZSBjb250ZW50IGJsb2NrcyBvZiBzYW1lIG5hbWUgd2VyZSB1c2VkIGluIHRlbXBsYXRlLjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBmaXhlZCBidWcgd2hlcmUgZXh0cmEgZmllbGRzIGNvdWxkIG5vdCBiZSB1cGRhdGVkLjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBmaXhlZCBidWcgd2hlcmUgZmV1IGFjY2VzcyBkaWQgbm90IHdvcmsuPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+RmVhdHVyZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gJnF1b3Q7ZGVsZXRlJnF1b3Q7IHRvIGxldCB1c2VycyBkZWxldGUgZmlsZXMgZXZlbiBpZiBubyBwZXJtaXNzaW9uICZxdW90O01vZGlmeSBGaWxlcyZxdW90OzwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAmcXVvdDtjcmVhdGVfZGlycyZxdW90OyB0byBsZXQgdXNlcnMgY3JlYXRlX2RpcnMgZXZlbiBpZiBubyBwZXJtaXNzaW9uICZxdW90O01vZGlmeSBGaWxlcyZxdW90OzwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBuZXcgYmxvY2t0eXBlICZxdW90O25vdGUmcXVvdDsgdG8gY3JlYXRlIHNvbWUgc2luZ2xlIG5vdGVzIGZvciB5b3VyIGVkaXRvcnM8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5NaXNjOjwvcD4NCgkJCQk8dWw+DQoJCQkJCTxsaT48cD4tIHJlbW92ZWQgZGVwZW5kZW5jeSBvZiBGaWxlTWFuYWdlcjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBibG9jayBvZiB0eXBlIGZpbGUgb3IgaW1hZ2Ugc3RvcmVzIHJlbGF0aXZlIHVybCBub3c8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYmxvY2sgdHlwZSBpbWFnZSBzaG93cyB0aHVtYm5haWwgaW4gYmFja2VuZCBwcmV2aWV3IGluc3RlYWQgb2YgZnVsbCBpbWFnZTwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+MC40IChKdWx5IDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPkltcG9ydGFudCBub3RpY2U6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gY2hhbmdlZCBwYXJhbSAmcXVvdDt0eXBlJnF1b3Q7IHRvICZxdW90O2Jsb2NrX3R5cGUmcXVvdDsgc2luY2UgaXQgaW50ZXJmZXJlcyB3aXRoIHtjb250ZW50X21vZHVsZX0gdGFnPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gIzUxMDE6IHBhZ2VfdGFiICZxdW90O29wdGlvbnMmcXVvdDsgd2FzIHNob3duIHRvIHVzZXJzIHdpdGggbm8gcGVybWlzc2lvbiB0byBlZGl0IHBhZ2Ugb3B0aW9ucyBpZiBhIGNvbnRlbnQgYmxvY2sgd2FzIGFzc2lnbmVkIHRvIHRoYXQgdGFiLjwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSAjNTA5NzogbGluayB0byBtaXNzaW5nIGNzcyByZW1vdmVkPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGZpeGVkIG1pbWUtdHlwZSBpc3N1ZSAoYWRkZWQgcHJlZmVyZW5jZSB0byB0b2dnbGUgbWltZS10eXBlIHVzYWdlIG9uL29mZik8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gZml4ZWQgcGF0aCBpc3N1ZSB3aGVyZSB0aHVtYm5haWxzIHdlcmUgbm90IHNob3duPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGZpeGVkIGNvbXBhdGliaWxpdHkgd2l0aCBDTVNtcyAxLjg8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gb3RoZXIgbWlub3IgYnVnZml4ZXM8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBNTEUgc3VwcG9ydDwvcD48L2xpPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSAmcXVvdDtzaG93X2Nsb2NrJnF1b3Q7IHRvIGVuYWJsZS9kaXNhYmxlIHRoZSB0aW1lIGRyb3Bkb3duIG9mIGJsb2NrdHlwZXMgJnF1b3Q7ZGF0ZSZxdW90OyBpbiBiYWNrZW5kPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICZxdW90O2RhdGVfZm9ybWF0JnF1b3Q7IHRvIGZvcm1hdCB0aW1lc3RhbXAgb2YgYmxvY2t0eXBlcyAmcXVvdDtkYXRlJnF1b3Q7IGluIGZyb250ZW5kPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIHBhcmFtICZxdW90O2Rlc2NyaXB0aW9uJnF1b3Q7PC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkZGVkIGJ1bGsgZnVuY3Rpb24gdG8gc2V0IGFsbCBwYWdlcyB0byBBZHZhbmNlZENvbnRlbnQ8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgY29tcGF0aWJpbGl0eSB3aXRoIHtjb250ZW50X21vZHVsZX0gdGFnPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4wLjMuNCAoSnVuZSAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD5CdWdmaXhlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSAjNTA0NTogV2hlbiBzd2l0Y2hpbmcgZnJvbSBDb250ZW50IC0+IEFkdmFuY2VkIENvbnRlbnQgbG90cyBvZiBQSFAgZXJyb3JzPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tICM1MDU2OiBwYWdlX3RhYnMgbm90IHdvcmtpbmcgZm9yIHVzZXJzIHdpdGhvdXQgcGVybWlzc2lvbiAmcXVvdDtNYW5hZ2UgQWxsIENvbnRlbnQmcXVvdDs8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gIzUwNzM6IGluY29ycmVjdCBkaXNwbGF5IG9mIGZpbGVzIHdoZW4gb3BlbmluZyBmaWxlcGlja2VyPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGZpeGVkIG1pbm9yIGJ1ZyB3aGVyZSB0aGUgb3B0aW9uICZxdW90O2FsbG93X25vbmUmcXVvdDsgb2YgY29udGVudCBibG9ja3Mgb2YgdHlwZSBpbWFnZS9maWxlIHdhcyBub3Qgc2hvd24gd2hlbiB0ZW1wbGF0ZSBoYXMgYmVlbiBlZGl0ZWQ8L3A+PC9saT4NCgkJCQk8L3VsPg0KCQkJPC9saT4NCgkJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PHA+LSBhZGRlZCBmaWxlbWFuYWdlbWVudCBhbmQgdXBsb2FkIGZ1bmN0aW9ucyB0byBjb250ZW50IGJsb2NrcyBvZiB0eXBlIGltYWdlL2ZpbGU8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgYnJlYWRjdW1icyB0byBmaWxlcGlja2VyPC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGFkbWlucyBtYXkgYnJvd3NlIHRoZSBlbnRpcmUgZGlyIHRyZWUgaW4gZmlsZXBpY2tlciBmaWxlIGJyb3dzZXIgcmVnYXJkbGVzcyBvZiB0ZW1wbGF0ZSBwYXJhbXM8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgbWltZSB0eXBlIGNoZWNraW5nIHRvIGdldCBmaWxlIHR5cGU8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gYWRkZWQgcmF3dXJsZW5jb2RlIGluIHNyYyBhdHRyaWJzIHRvIGRpc3BsYXkgaW1hZ2VzIHdpdGggd2VpcmQgZmlsZW5hbWVzLjwvcD48L2xpPg0KCQkJCTwvdWw+DQoJCQk8L2xpPg0KCQkJPGxpPjxwPm1pc2NlbGxhbmVvdXM6PC9wPg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxwPi0gcmVtb3ZlZCBPT1Agc3R1ZmYgKHByaXZhdGUvcHVibGljL3Byb3RlY3RlZCkgdG8gZ2FpbiBtb3JlIGNvbXBhdGliaWxpdHkgd2l0aCBQSFA0PC9wPjwvbGk+DQoJCQkJCTxsaT48cD4tIGNoYW5nZWQgYWpheCBmdW5jdGlvbnMgdG8gcmV0dXJuIHhtbCB2YWx1ZXM8L3A+PC9saT4NCgkJCQkJPGxpPjxwPi0gcmVtb3ZlZCB1c2FnZSBvZiBJbWFnZU1hbmFnZXIgb25jZSBhbmQgZm9yIGFsbC4gKGNhdXNlZCBvbmx5IHRyb3VibGUpPC9wPjwvbGk+DQoJCQkJPC91bD4NCgkJCTwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+PHA+PHN0cm9uZz4wLjMuMyAoSnVuZSAyMDEwKTo8L3N0cm9uZz48L3A+DQoJPHVsPg0KCQk8bGk+PHA+QnVnZml4ZXM6PC9wPg0KCQkJPHVsPg0KCQkJCTxsaT48cD4tIGFsaWFzIHdhcyBub3QgYWx3YXlzIGNvbnZlcnRlZCBwcm9wZXJseTwvcD48L2xpPg0KCQkJCTxsaT48cD4tIHVuc3VibWl0dGVkIGNvbnRlbnQgZ290IGxvc3QgaWYgc3dpdGNoaW5nIGZyb20gQ29udGVudCB0byBBZHZhbmNlZENvbnRlbnQ8L3A+PC9saT4NCgkJCTwvdWw+DQoJCTwvbGk+DQoJCTxsaT48cD5GZWF0dXJlczo8L3A+DQoJCQk8dWw+DQoJCQkJPGxpPjxwPi0gYWRkZWQgc3RhcnQvZW5kIGRhdGU8L3A+PC9saT4NCgkJCQk8bGk+PHA+LSByZW1vdmVkIHRpbWVwaWNrZXI7IHJlcGxhY2VkIGJ5IGEgc2ltcGxlIGRyb3Bkb3duPC9wPjwvbGk+DQoJCQkJPGxpPjxwPi0gY29tcGF0aWJpbGl0eSB3aXRoIHtjb250ZW50X2ltYWdlfTwvcD48L2xpPg0KCQkJPC91bD4NCgkJPC9saT4NCgk8L3VsPg0KCTxsaT48cD48c3Ryb25nPjAuMy4yIChKdW5lIDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gZml4ZWQgYnVnIHdoZXJlIGNoYW5naW5nIGJhY2sgdG8gZGVmYXVsdCBjb250ZW50IHR5cGUgb3IgY2hhbmdpbmcgdGVtcGxhdGUgY2F1c2VkIGZhdGFsIGVycm9yczwvcD48L2xpPg0KCQkJPGxpPjxwPi0gZml4ZWQgYSBidWcgd2l0aCBzbWFydHkgcHJvY2Vzc2luZyB3aGVuIHNhdmluZyBhIHBhZ2U8L3A+PC9saT4NCgkJCTxsaT48cD4tIGZpeGVkIGEgYnVnIHdpdGggcHJldmlldyB0YWI8L3A+PC9saT4NCgkJCTxsaT48cD4tIHJlLWFkZGVkIGV4cGFuZC9jb2xsYXBzZSBidXR0b24gdG8gdG9nZ2xlIGNvbnRlbnQgYmxvY2tzIGluIGJhY2tlbmQ8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtcyBlZGl0b3JfZ3JvdXBzL2VkaXRvcl91c2VycyB0byBzcGVjaWZ5IGNlcnRhaW4gdXNlcnMvZ3JvdXBzIHRoYXQgYXJlIGFsbG93ZWQgdG8gZWRpdCBjZXJ0YWluIGJsb2NrczwvcD48L2xpPg0KCQkJPGxpPjxwPi0gcmVtb3ZlZCBwYXJhbXMgc2VsZWN0ZWQvY2hlY2tlZDsgdXNlIHBhcmFtIGRlZmF1bHQgaW5zdGVhZDwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYmxvY2sgaWRzIHdpbGwgYmUgY29udmVydGVkIGZyb20gYmxvY2sgbmFtZSB1c2luZyBjb3JlIGZ1bmN0aW9uIG11bmdlX3N0cmluZ190b191cmwgKHRvIHJlbW92ZSBzcGVjaWFsIGNoYXJzLCB3aGl0ZXNwYWNlcywgdW1sYXV0cyBldGMuKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gZml4ZWQgYnVnIG9mIGJsb2NrdHlwZSBkcm9wZG93bi9zZWxlY3RfbXVsdGlwbGUgd2hlcmUgZmlyc3QgaXRlbSBoYWQgYW4gZW1wdHkgbGFiZWwgaWYgb25seSB0aGUgcGFyYW0gJnF1b3Q7dmFsdWVzJnF1b3Q7IGlzIHVzZWQ8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHNvbWUgdGVtcGxhdGUgdmFycyBvZiB0aGUgZnJvbnRlbmQgdG8gYmUgYWxzbyBhY2Nlc3NpYmxlIGluIGJhY2tlbmQgKGUuZy46ICRwYWdlX2FsaWFzKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gJnF1b3Q7YWxsb3dfbm9uZSZxdW90OyB0byBhbGwgY29udGVudCBibG9jayB0eXBlcyB0byBzcGVjaWZ5IGlmIHRoZSBwcmVkZWZpbmVkIGRlZmF1bHQgdmFsdWUgd2lsbCBiZSB1c2VkIGlmIG5vIHZhbHVlIGlzIGVudGVyZWQ8L3A+PC9saT4NCgkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBlbXB0eSB2YWx1ZXMgd2VyZSBuZXZlciBiZSBzdG9yZWQ8L3A+PC9saT4NCgkJCTxsaT48cD4tIGZpeGVkIGJ1ZyB3aGVyZSBkZWZhdWx0IHZhbHVlIGluIGZyb250ZW5kIHdhcyBpZ25vcmVkIGlmIHRoZSAmcXVvdDthbGxvd19ub25lJnF1b3Q7IHBhcmFtIHdhcyBjaGFuZ2VkIGFmdGVyIGFuIGVtcHR5IHZhbHVlIGhhcyBiZWVuIHN0b3JlZDwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gJnF1b3Q7c29ydGFibGVfaXRlbXMmcXVvdDsgdG8gY3JlYXRlIGEgc29ydGFibGUgbXVsdGlwbGUgc2VsZWN0IGxpc3QgKHNlbGVjdCBsaXN0IHdpbGwgcmVzdWx0IGluIGEgdGFibGUgd2l0aCBjaGVja2JveGVzOyBvbmx5IG9yZGVyIG9mIHNlbGVjdGVkIGl0ZW1zIHdpbGwgYmUgc3RvcmVkIGFuZCBzaG93ZWQgYXQgdGhlIHRvcCBvZiB0aGUgbGlzdDsgdW5zZWxlY3RlZCBpdGVtcyB3aWxsIGJlIGFwcGVuZGVkIGluIHRoYXQgb3JkZXIgdGhleSBhcmUgcGxhY2VkIGluIHRoZSB0ZW1wbGF0ZSk8L3A+PC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjAuMy4xIChNYXkgMjAxMCk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+LSByZW1vdmVkIHRoZSByZW9yZGVyaW5nIHN0dWZmIGZvciBub3cgKGNhdXNlcyB0cm91YmxlIGF0IHRoaXMgdGltZSk8L3A+PC9saT4NCgkJCTxsaT48cD4tIHJlbW92ZWQgdGhlIGRiIHN0dWZmIChwYXJhbXMgb2YgY29udGVudCBibG9ja3MgdGhhdCBhcmUgZGVmaW5lZCBpbiB0ZW1wbGF0ZSB3b24mIzAzOTt0IGJlIHNhdmVkIGluIG1vZHVsZSBkYiB0YWJsZSBhbnltb3JlIC0+IGhvcGVmdWxseSBzcGVlZCB1cCBsb2FkaW5nIHRpbWUpPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBmaXhlZCBhIGJ1ZyB3aXRoIGR1cGxpY2F0ZSBjb250ZW50IGJsb2NrczwvcD48L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPg0KCQk8cD48c3Ryb25nPkFkdmFuY2VkQ29udGVudCAwLjMgKE1heSAyMDEwKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIHJld3JpdGUgY29kZTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYnVnZml4ZXM8L3A+PC9saT4NCgkJCTxsaT48cD4tIHJlbmFtZWQgdG8gQWR2YW5jZWRDb250ZW50PC9wPjwvbGk+DQoJCQk8bGk+PHA+LSB1c2luZyBzZXBhcmF0ZSBtb2R1bGUgdGVtcGxhdGUgbm93IHRvIGRzcGxheSBjb250ZW50IGJsb2NrczwvcD48L2xpPg0KCQkJPGxpPjxwPi0gcmVtb3ZlZCBwYWdlIGFsaWFzIGluaGVyaXRhbmNlPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCjwvdWw+DQo8dWw+DQoJPGxpPjxwPjxzdHJvbmc+WENvbnRlbnQgQkVUQSAzIChBcHJpbCAyMDEwIC0gZGlzY29udGludWVkKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIE1ham9yIEJ1Z2ZpeCAobWlzc2luZyAmcXVvdDs7JnF1b3Q7IGFuZCBzdHJhbmdlIGludmlzaWJsZSBpbnZhbGlkIGNoYXJzKTwvcD48L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPjxwPjxzdHJvbmc+WENvbnRlbnQgQkVUQSAyIChBcHJpbCAyMDEwIC0gZGlzY29udGludWVkKTo8L3N0cm9uZz48L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIGZpeGVkIGEgYnVnIHdpdGggcGFyYW0gJnF1b3Q7ZGVsaW1pdGVyJnF1b3Q7PC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBmaXhlZCBhIGJ1ZyB3aXRoIHNtYXJ0eSBwcm9jZXNzaW5nPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBpbmhlcml0YW5jZSBvZiAmcXVvdDtTaG93IGxvZ2luIGZvcm0mcXVvdDs8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIGluaGVyaXRhbmNlIG9mIHBhZ2UgYWxpYXMgdG8gYWRkIGl0IGFzIHByZWZmaXg7IHNvIGlmIHlvdSBoYXZlIGEgcGFnZSBjYWxsZWQgJnF1b3Q7bWVtYmVycyZxdW90OyBhbmQgc2VsZWN0IGZvciBlYWNoIGNoaWxkIHBhZ2UgJnF1b3Q7aW5oZXJpdCBwYWdlIGFsaWFzJnF1b3Q7IGFsbCBjaGlsZCBwYWdlcyBhbGlhc2VzIHdpbGwgc3RhcnQgd2l0aCAmcXVvdDttZW1iZXJzXyZxdW90OzsgbWFrZXMgZmlsdGVyaW5nIG9mIG1lbnUgZW50cmllcyB3aXRoIE1lbnVNYW5hZ2VyIHBhcmFtICZxdW90O2V4Y2x1ZGVwcmVmZml4JnF1b3Q7IG9yICZxdW90O2luY2x1ZGVwcmVmZml4JnF1b3Q7IGVhc2llci48L3A+PC9saT4NCgkJCTxsaT48cD4tIG1pbm9yIGJ1Z2ZpeGVzPC9wPjwvbGk+IA0KCQk8L3VsPg0KCTwvbGk+DQoJPGxpPg0KCQk8cD48c3Ryb25nPlhDb250ZW50IEJFVEEgKEFwcmlsIDIwMTApOjwvc3Ryb25nPiBpbml0aWFsIHJlbGVhc2U8L3A+DQoJCTx1bD4NCgkJCTxsaT48cD4tIGNvbnZlcnRlZCB0aGUgc2luZ2xlIGZpbGUgaW50byBhIG1vZHVsZTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gcmVuYW1lZCBwYXJhbXM7IHNlZSBtb2R1bGUgaGVscCBmb3IgbW9yZSBkZXRhaWxzPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCjwvdWw+DQo8cD48c3Ryb25nPlNpbmdsZSBmaWxlIHJlbGVhc2VzIChkaXNjb250aW51ZWQpPC9zdHJvbmc+Li4uPC9wPg0KPHVsPg0KCTxsaT4NCgkJPHA+PHN0cm9uZz4xLjQgKE1hcmNoIDIwMTApOjwvc3Ryb25nPjwvcD4NCgkJPHVsPg0KCQkJPGxpPjxwPi0gY2xlYW51cCBjb2RlIC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIG1pbm9yIGJ1Z2ZpeGVzIC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHJlZGlyZWN0IHBhZ2UgaWYgZmV1IGlzIG5vdCBsb2dnZWQgaW4gLSAoTmFOKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgaW5oZXJpdGFuY2Ugb2YgZmV1X2FjY2VzcyBhbmQgcmVkaXJlY3RfcGFnZSAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBmZXVfYWNjZXNzIC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHBhcmFtIGZldV9hY3Rpb24gLSAoTmFOKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gcmVkaXJlY3RfcGFnZSAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBibG9ja19vbmx5IC0gKE5hTik8L3A+PC9saT4NCgkJCTxsaT48cD4tIGFkZGVkIHNtYXJ0eSBsb2dpYyBpbiBiYWNrZW5kIC0gKEplcmVteUJhc3MpPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBzdHlsZSAtIChKZXJlbXlCYXNzKTwvcD48L2xpPg0KCQkJPGxpPjxwPi0gYWRkZWQgcGFyYW0gZmlsdGVyIChmaWx0ZXJpbmcgaW1hZ2VzIGluIGJhY2tlbmQpIC0gKEplcmVteUJhc3MpPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBJbWdNb2RlIChkcm9wZG93biBvciBJbWFnZU1hbmFnZXIpIC0gKEplcmVteUJhc3MpPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBwYXJhbSBzbWFydHlPbiAoZm9yIHByb2Nlc3Npbmcgc21hcnR5IHZhcnMgb2YgdGhlIHRlbXBhdGUgaW4gYmFja2VuZCkgLSAoSmVyZW15QmFzcyk8L3A+PC9saT4NCgkJPC91bD4NCgk8L2xpPg0KCTxsaT48cD48c3Ryb25nPjEuMyAoQXByaWwgMjAwOSk6PC9zdHJvbmc+PC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+LSBDTVNtcyAxLjYuKiByZWFkeSAtIChOYU4pPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBhZGRlZCBmZXUgYWNjZXNzIG9wdGlvbiAtIChOYU4pPC9wPjwvbGk+DQoJCTwvdWw+DQoJPC9saT4NCgk8bGk+DQoJCTxwPjxzdHJvbmc+MS4yIChNYXJjaCAyMDA5KTo8L3N0cm9uZz4gaW5pdGlhbCByZWxlYXNlPC9wPg0KCQk8dWw+DQoJCQk8bGk+PHA+LSBBIHNpbmdsZSBmaWxlIENvbnRlbnQyLmluYy5waHAgdGhhdCBuZWVkcyB0byBiZSBwYWNlZCBpbiBsaWIvY2xhc3Nlcy9jb250ZW50dHlwZXMuPC9wPjwvbGk+DQoJCQk8bGk+PHA+LSBsYXlvdXQvb3B0aW9ucyBvZiBiYWNrZW5kIHBhbmVsIGNhbiBiZSBjb250cm9sZWQgYnkgYWRkaXRpb25hbCBzbWFydHkgcGFyYW1zIGluIHRoZSB0ZW1wbGF0ZTsgaW50ZWdyYXRlZCB0aGUge2NvbnRlbnRfaW1hZ2V9IHRhZyAtIChtb2QgYnkgTmFOKTwvcD48L2xpPg0KCQk8L3VsPg0KCTwvbGk+DQo8L3VsPg0KPGJyIC8+JzsKJGxhbmdbJ3FjYSddID0gJ1AwLTcwNTI1OTYzNC0xMjkwNDEyMzI3ODM1JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI5NjAyODI5NS4xMC4xMS51dG1jc3I9Z29vZ2xlfHV0bWNjbj0ob3JnYW5pYyl8dXRtY21kPW9yZ2FuaWN8dXRtY3RyPWNtcyBtYWRlIHNpbXBsZSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjkzODc0NDcxOC4xMjkwNDEyMzI4LjEyOTYwMzAzODUuMTI5NjAzNDA4NC4xMic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIE1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQojICAgICAgICAgIGEgY29udGVudCBtYW5hZ2VtZW50IHRvb2wgZm9yIENNUyBNYWRlIFNpbXBsZQojICAgICAgICAgIFRoZSBwcm9qZWN0cyBob21lcGFnZSBpcyBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2NvbnRlbnQyLwojICAgICAgICAgIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNC0yMDExIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBWZXJzaW9uOiAwLjguMQojIEZpbGUgICA6IG1ldGhvZC5pbnN0YWxsLnBocAojIFB1cnBvc2U6IGluc3RhbGxzIHRoZSBtb2R1bGUsIGNyZWF0ZXMgdGFibGVzIGFuZCBzZXQgcHJlZmVyZW5jZXMKIyBMaWNlbnNlOiBHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CiRkaWN0ICAgICAgICA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgojIFVzZXIgU2V0dGluZ3MgYmxvY2sgZGlzcGxheQokZmxkcyA9ICJ1c2VyX2lkIEksIGNvbnRlbnRfaWQgSSwgdGVtcGxhdGVfaWQgSSwgaXRlbV9pZCBYLCBpdGVtX2Rpc3BsYXkgSSI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9BZHZhbmNlZENvbnRlbnRfYmxvY2tkaXNwbGF5IiwKCSRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgojIFVzZXIgU2V0dGluZ3MgbWVzc2FnZSBkaXNwbGF5CiRmbGRzID0gInVzZXJfaWQgSSwgY29udGVudF9pZCBJLCB0ZW1wbGF0ZV9pZCBJLCBpdGVtX2lkIFgsIGl0ZW1fZGlzcGxheSBJIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0FkdmFuY2VkQ29udGVudF9tZXNzYWdlZGlzcGxheSIsCgkkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKIyBVc2VyIFNldHRpbmdzIGdvdXAgZGlzcGxheQokZmxkcyA9ICJ1c2VyX2lkIEksIGNvbnRlbnRfaWQgSSwgdGVtcGxhdGVfaWQgSSwgaXRlbV9pZCBYLCBpdGVtX2Rpc3BsYXkgSSI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9BZHZhbmNlZENvbnRlbnRfZ3JvdXBkaXNwbGF5IiwKCSRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgojIG11bHRpcGxlIGlucHV0cwokZmxkcyA9ICJpbnB1dF9pZCBDKDY0KSBLRVksIGlucHV0X2ZpZWxkcyBYIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0FkdmFuY2VkQ29udGVudF9tdWx0aV9pbnB1dHMiLAoJJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiMgbXVsdGlwbGUgaW5wdXQgdHBsIGFzc29jcwokZmxkcyA9ICJpbnB1dF9pZCBDKDY0KSwgdHBsX25hbWUgWCI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9BZHZhbmNlZENvbnRlbnRfbXVsdGlfaW5wdXRfdHBsX2Fzc29jcyIsCgkkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ01hbmFnZSBBZHZhbmNlZENvbnRlbnQgUHJlZmVyZW5jZXMnLCAnTWFuYWdlIEFkdmFuY2VkQ29udGVudCBQcmVmZXJlbmNlcycpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignTWFuYWdlIEFsbCBBZHZhbmNlZENvbnRlbnQgQmxvY2tzJywgJ01hbmFnZSBBbGwgQWR2YW5jZWRDb250ZW50IEJsb2NrcycpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignTWFuYWdlIEFkdmFuY2VkQ29udGVudCBPcHRpb25zJywgJ01hbmFnZSBBZHZhbmNlZENvbnRlbnQgT3B0aW9ucycpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignTWFuYWdlIEFkdmFuY2VkQ29udGVudCBNdWx0aUlucHV0cycsICdNYW5hZ2UgQWR2YW5jZWRDb250ZW50IE11bHRpSW5wdXRzJyk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgQWR2YW5jZWRDb250ZW50IE11bHRpSW5wdXQgVGVtcGxhdGVzJywgJ01hbmFnZSBBZHZhbmNlZENvbnRlbnQgTXVsdGlJbnB1dCBUZW1wbGF0ZXMnKTsKJHRoaXMtPlNldFRlbXBsYXRlKCdtdWx0aV9pbnB1dF9TYW1wbGVUZW1wbGF0ZScsCic8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cD4Ke2ZvcmVhY2ggZnJvbT0kaW5wdXRzIGl0ZW09ZWxtfQoJeyRlbG0ubGFiZWx9OiZuYnNwO3skZWxtLmlucHV0fSZuYnNwOwp7L2ZvcmVhY2h9CjwvcD4KPC9kaXY+Jyk7CiR0aGlzLT5BZGRNdWx0aUlucHV0KCdTYW1wbGVJbnB1dCcsJwp7Y29udGVudCBibG9jaz0ibW9kdWxlX3NlbGVjdCIgbGFiZWw9IlNlbGVjdCBhIG1vZHVsZSIgYmxvY2tfdHlwZT0iZHJvcGRvd24iIGl0ZW1zPSJ8TmV3c3xNZW51IiB2YWx1ZXM9InxOZXdzfE1lbnVNYW5hZ2VyIn0Ke2NvbnRlbnQgYmxvY2s9Im1vZHVsZV9wYXJhbXMiIGxhYmVsPSJFbnRlciBtb2R1bGUgcGFyYW1ldGVycyBoZXJlIiBibG9ja190eXBlPSJ0ZXh0IiBvbmVsaW5lPXRydWUgc2l6ZT0iNTYifScpOwokdGhpcy0+QWRkVHBsQXNzb2MoJ211bHRpX2lucHV0JywgJ1NhbXBsZUlucHV0JywgJ211bHRpX2lucHV0X1NhbXBsZVRlbXBsYXRlJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X211bHRpX2lucHV0X3RwbCcsICdtdWx0aV9pbnB1dF9TYW1wbGVUZW1wbGF0ZScpOwoKJHRoaXMtPkFkZEV2ZW50SGFuZGxlciggJ0NvcmUnLCAnQ29udGVudFBvc3RSZW5kZXInLCBmYWxzZSApOwokdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCAnQ29yZScsICdDb250ZW50RWRpdFBvc3QnLCBmYWxzZSApOwoKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnQWR2YW5jZWRDb250ZW50JyksCgkkdGhpcy0+TGFuZygnaW5zdGFsbGVkJywkdGhpcy0+R2V0VmVyc2lvbigpKSk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIE1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQojICAgICAgICAgIGEgY29udGVudCBtYW5hZ2VtZW50IHRvb2wgZm9yIENNUyBNYWRlIFNpbXBsZQojICAgICAgICAgIFRoZSBwcm9qZWN0cyBob21lcGFnZSBpcyBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2NvbnRlbnQyLwojICAgICAgICAgIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNC0yMDExIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBWZXJzaW9uOiAwLjguMQojIEZpbGUgICA6IG1ldGhvZC51bmluc3RhbGwucGhwCiMgUHVycG9zZTogdW5pbnN0YWxscyB0aGUgbW9kdWxlLCByZW1vdmVzIHRhYmxlcywgcHJlZmVyZW5jZXMsIHBlcm1pc3Npb25zLi4uCiMgTGljZW5zZTogR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgokZGIgICAgICAgPSYgJHRoaXMtPkdldERiKCk7CiRkaWN0ICAgICA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfQWR2YW5jZWRDb250ZW50X2Jsb2NrZGlzcGxheSIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9BZHZhbmNlZENvbnRlbnRfbWVzc2FnZWRpc3BsYXkiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfQWR2YW5jZWRDb250ZW50X2dyb3VwZGlzcGxheSIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9BZHZhbmNlZENvbnRlbnRfbXVsdGlfaW5wdXRzIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0FkdmFuY2VkQ29udGVudF9tdWx0aV9pbnB1dF90cGxfYXNzb2NzIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgndW5pbnN0YWxsX2FjdGlvbicpICE9ICcnKSB7Cglzd2l0Y2goJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VuaW5zdGFsbF9hY3Rpb24nKSkgewoJCWNhc2UgMToKCQkJIyBEZWxldGUKCQkJIyBnZXQgaWQgb2YgYWxsIGNvbnRlbnQgb2YgdHlwZSBBZHZhbmNlZENvbnRlbnQKCQkJJHF1ZXJ5ICAgID0gIlNFTEVDVCBjb250ZW50X2lkIEZST00gIi4gY21zX2RiX3ByZWZpeCgpLiJjb250ZW50IFdIRVJFIHR5cGUgPSA/IjsKCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJ2NvbnRlbnQyJykpOwoJCQkkY29udGVudHMgPSBhcnJheSgpOwoJCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkgewoJCQkJJGNvbnRlbnRzW10gPSAkcm93Wydjb250ZW50X2lkJ107CgkJCX0KCQkJIyBkZWxldGUgYWxsIGNvbnRlbnQgb2YgdHlwZSBBZHZhbmNlZENvbnRlbnQKCQkJJHF1ZXJ5ICAgID0gIkRFTEVURSBGUk9NICIuIGNtc19kYl9wcmVmaXgoKS4iY29udGVudCBXSEVSRSB0eXBlID0gPyI7CgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCdjb250ZW50MicpKTsKCQkJCgkJCSMgZGVsZXRlIGNvbnRlbnQgcHJvcHMKCQkJJHF1ZXJ5ICAgID0gIkRFTEVURSBGUk9NICIuIGNtc19kYl9wcmVmaXgoKS4iY29udGVudF9wcm9wcyBXSEVSRSBjb250ZW50X2lkIElOICgiLmltcGxvZGUoJywnLCRjb250ZW50cykuIikiOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQkJCgkJCWJyZWFrOwoJCQkKCQljYXNlIDI6CgkJCSMgU2V0IHRvIGNvbnRlbnQKCQkJJHF1ZXJ5ICAgID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4iY29udGVudCBTRVQgdHlwZSA9ID8gV0hFUkUgdHlwZSA9ID8iOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgnY29udGVudCcsJ2NvbnRlbnQyJykpOwoJCQlicmVhazsKCQkJCgkJY2FzZSAzOgoJCQkjIGdldCBpZCBvZiBhbGwgY29udGVudCBvZiB0eXBlIEFkdmFuY2VkQ29udGVudAoJCQkkcXVlcnkgICAgPSAiU0VMRUNUIGNvbnRlbnRfaWQgRlJPTSAiLiBjbXNfZGJfcHJlZml4KCkuImNvbnRlbnQgV0hFUkUgdHlwZSA9ID8iOwoJCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgnY29udGVudDInKSk7CgkJCSRjb250ZW50cyA9IGFycmF5KCk7CgkJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKSB7CgkJCQkkY29udGVudHNbXSA9ICRyb3dbJ2NvbnRlbnRfaWQnXTsKCQkJfQoJCQkjIHNldCB0byBjb250ZW50CgkJCSRxdWVyeSAgICA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuImNvbnRlbnQgU0VUIHR5cGUgPSA/IFdIRVJFIHR5cGUgPSA/IjsKCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJ2NvbnRlbnQnLCdjb250ZW50MicpKTsKCQkJCgkJCSMgZGVsZXRlIGNvbnRlbnQgcHJvcHMKCQkJJHF1ZXJ5ICAgID0gIkRFTEVURSBGUk9NICIuIGNtc19kYl9wcmVmaXgoKS4iY29udGVudF9wcm9wcwoJCQkJV0hFUkUgY29udGVudF9pZCBJTiAoIi5pbXBsb2RlKCcsJywkY29udGVudHMpLiIpIEFORCBwcm9wX25hbWUgIT0gJ2NvbnRlbnRfZW4nIjsKCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCQoJCQlicmVhazsKCQkJCgkJZGVmYXVsdDogYnJlYWs7CgkJCgl9Cn0KCiMgcmVtb3ZlIHBlcm1pc3Npb25zCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNYW5hZ2UgQWR2YW5jZWRDb250ZW50Jyk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNYW5hZ2UgQWR2YW5jZWRDb250ZW50IFByZWZlcmVuY2VzJyk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNYW5hZ2UgQWxsIEFkdmFuY2VkQ29udGVudCBCbG9ja3MnKTsKJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ01hbmFnZSBBZHZhbmNlZENvbnRlbnQgT3B0aW9ucycpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignTWFuYWdlIEFkdmFuY2VkQ29udGVudCBNdWx0aUlucHV0cycpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignTWFuYWdlIEFkdmFuY2VkQ29udGVudCBNdWx0aUlucHV0IFRlbXBsYXRlcycpOwoKJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlciggJ0NvcmUnLCAnQ29udGVudFBvc3RSZW5kZXInKTsKJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlciggJ0NvcmUnLCAnQ29udGVudEVkaXRQb3N0Jyk7CgokdGhpcy0+RGVsZXRlVGVtcGxhdGUoKTsKCiMgcmVtb3ZlIHByZWZlcmVuY2VzCiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7CgokdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdBZHZhbmNlZENvbnRlbnQnKSwKCSR0aGlzLT5MYW5nKCd1bmluc3RhbGxlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIE1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQojICAgICAgICAgIGEgY29udGVudCBtYW5hZ2VtZW50IHRvb2wgZm9yIENNUyBNYWRlIFNpbXBsZQojICAgICAgICAgIFRoZSBwcm9qZWN0cyBob21lcGFnZSBpcyBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2NvbnRlbnQyLwojICAgICAgICAgIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNC0yMDExIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyAgICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIyBWZXJzaW9uOiAwLjguMQojIEZpbGUgICA6IG1ldGhvZC51cGdyYWRlLnBocAojIFB1cnBvc2U6IHBlcmZvcm1zIGEgbW9kdWxlIHVwZ3JhZGUKIyBMaWNlbnNlOiBHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKCiRjdXJyZW50X3ZlcnNpb24gPSAkb2xkdmVyc2lvbjsKJGRiICAgICAgICAgICAgICA9JiAkdGhpcy0+R2V0RGIoKTsKCnN3aXRjaCgkY3VycmVudF92ZXJzaW9uKQp7CgljYXNlICcwLjMnOgoJY2FzZSAnMC4zLjEnOgoJCQoJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdBcHByb3ZlIEFkdmFuY2VkQ29udGVudCcpOwoJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNb2RpZnkgQWR2YW5jZWRDb250ZW50IEJsb2NrIE9yZGVyJyk7CgkJJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0FkZCBBZHZhbmNlZENvbnRlbnQgQmxvY2tzJyk7CgkJJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ0RlbGV0ZSBBZHZhbmNlZENvbnRlbnQgQmxvY2tzJyk7CgkJJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJ01vZGlmeSBBZHZhbmNlZENvbnRlbnQgQmxvY2sgT3B0aW9ucycpOwoJCQoJCSR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoICdDb3JlJywgJ0NvbnRlbnRFZGl0UHJlJyk7CgkJJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlciggJ0NvcmUnLCAnQ29udGVudEVkaXRQb3N0Jyk7CgkJJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlciggJ0NvcmUnLCAnQ29udGVudERlbGV0ZVBvc3QnKTsKCQkkdGhpcy0+UmVtb3ZlRXZlbnRIYW5kbGVyKCAnQ29yZScsICdFZGl0VGVtcGxhdGVQb3N0Jyk7CgkJJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlciggJ0NvcmUnLCAnRGVsZXRlVGVtcGxhdGVQb3N0Jyk7CgoJCSRkaWN0ICAgICA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCQkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9BZHZhbmNlZENvbnRlbnQiICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCQoJCSRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0FkdmFuY2VkQ29udGVudF9kcmFmdHMiICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCQoJCSRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0FkdmFuY2VkQ29udGVudF9wcm9wcyIgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfQWR2YW5jZWRDb250ZW50X3Byb3BzX2RyYWZ0cyIgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCgKCQkJY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfQWR2YW5jZWRDb250ZW50X2FkZHRfZWRpdG9ycyIgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCgKCQkJY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfQWR2YW5jZWRDb250ZW50X2FkZHRfZWRpdG9yc19kcmFmdHMiICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCQoJCSMgZ2V0IHByb3BuYW1lIG9mIGFsbCBjb250ZW50IG9mIHR5cGUgQWR2YW5jZWRDb250ZW50CgkJJHF1ZXJ5ICAgID0gIlNFTEVDVCBDUC5wcm9wX25hbWUsIEMuY29udGVudF9pZCBGUk9NICIuIGNtc19kYl9wcmVmaXgoKS4iY29udGVudCBDCgkJCUxFRlQgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4iY29udGVudF9wcm9wcyBDUCBPTiBDUC5jb250ZW50X2lkID0gQy5jb250ZW50X2lkCgkJCVdIRVJFIEMudHlwZSA9ID8iOwoJCQkKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgnY29udGVudDInKSk7CgkJJGNvbnRlbnRzID0gYXJyYXkoKTsKCQkKCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKCQl7CgkJCSMgdXBkYXRlIHByb3BuYW1lcyAocmVtb3Zpbmcgc3BlY2lhbCBjaGFycywgdW1sYXV0cyBhbmQgd2hpdGVzcGFjZXMpCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuImNvbnRlbnRfcHJvcHMgU0VUIHByb3BfbmFtZSA9ID8KCQkJCVdIRVJFIGNvbnRlbnRfaWQgPSA/IEFORCBwcm9wX25hbWUgPSA/IjsKCQkJCQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheShwcmVnX3JlcGxhY2UoJy8tKy8nLCdfJyxtdW5nZV9zdHJpbmdfdG9fdXJsKCRyb3dbJ3Byb3BfbmFtZSddKSksJHJvd1snY29udGVudF9pZCddLCRyb3dbJ3Byb3BfbmFtZSddKSk7CgkJfQoJCQoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4zLjInOwoJCQoJY2FzZSAnMC4zLjInOgoJY2FzZSAnMC4zLjMgcHJlJzoKCQkkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCAnQ29yZScsICdDb250ZW50UG9zdFJlbmRlcicsIGZhbHNlICk7CgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjMuMyc7CgkJCgljYXNlICcwLjMuMyc6CgkJIyByZW1vdmUgdXNlcnByZWZzCgkJJHF1ZXJ5ICAgID0gIkRFTEVURSBGUk9NICIuIGNtc19kYl9wcmVmaXgoKS4idXNlcnByZWZzIFdIRVJFIHByZWZlcmVuY2UgTElLRSAnQWR2YW5jZWRDb250ZW50XyUiOwoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoJCQoJCSMgYWRkIG5ldyB0YWJsZSBmb3IgdXNlciBwcmVmcwoJCSR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRmbGRzID0gInVzZXJfaWQgSSwgY29udGVudF9pZCBJLCBibG9ja19pZCBYLCBibG9ja19kaXNwbGF5IEkiOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9BZHZhbmNlZENvbnRlbnRfYmxvY2tkaXNwbGF5IiwKCQkJJGZsZHMsICR0YWJvcHRhcnJheSk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCQoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC4zLjQnOwoJCgljYXNlICcwLjMuNCc6CgljYXNlICcwLjQnOgoJCSMgYWRkIG5ldyB0YWJsZSBmb3IgdXNlciBwcmVmcwoJCSR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJCSRmbGRzID0gInVzZXJfaWQgSSwgY29udGVudF9pZCBJLCBibG9ja19pZCBYLCBtZXNzYWdlX2Rpc3BsYXkgSSI7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0FkdmFuY2VkQ29udGVudF9tZXNzYWdlZGlzcGxheSIsCgkJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkKCQkkY3VycmVudF92ZXJzaW9uID0gJzAuNC4xJzsKCQoJY2FzZSAnMC40LjEnOgoJY2FzZSAnMC40LjInOgoJY2FzZSAnMC40LjMnOgoJY2FzZSAnMC40LjQnOgoJCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgQWR2YW5jZWRDb250ZW50IE9wdGlvbnMnLCAnTWFuYWdlIEFkdmFuY2VkQ29udGVudCBPcHRpb25zJyk7CgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjUnOwoJCQoJY2FzZSAnMC41JzoKCWNhc2UgJzAuNS4xJzoKCQkKCQkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgndW5pbnN0YWxsX2FjdGlvbicpOwoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdyZXN0cmljdGRpcnMnKTsKCQkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnc2hvd2ZpbGVtYW5hZ2VtZW50Jyk7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ3Nob3d0aHVtYm5haWxmaWxlcycpOwoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdhbGxvd3NjYWxpbmcnKTsKCQkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnc2NhbGluZ3dpZHRoJyk7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ3NjYWxpbmdoZWlnaHQnKTsKCQkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnZmlsZXBpY2tlcnN0eWxlJyk7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ21ha2V0aHVtYm5haWwnKTsKCQkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnZmlsZXBpY2tlcndpZHRoJyk7CgkJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ2ZpbGVwaWNrZXJoZWlnaHQnKTsKCQkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgnZmlsZXBpY2tlcndpZHRodW5pdCcpOwoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdmaWxlcGlja2VyaGVpZ2h0dW5pdCcpOwoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdhbGxvd3Vwc2NhbGluZycpOwoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCd1c2VtaW1ldHlwZScpOwoJCQoJCSR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CgkJJGRpY3QgICAgID0gTmV3RGF0YURpY3Rpb25hcnkoICRkYiApOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0FkdmFuY2VkQ29udGVudF9ibG9ja2Rpc3BsYXkiICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0FkdmFuY2VkQ29udGVudF9tZXNzYWdlZGlzcGxheSIgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfQWR2YW5jZWRDb250ZW50X2dyb3VwZGlzcGxheSIgKTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCgkJIyBVc2VyIFNldHRpbmdzCgkJJGZsZHMgPSAidXNlcl9pZCBJLCBjb250ZW50X2lkIEksIHRlbXBsYXRlX2lkIEksIGl0ZW1faWQgWCwgaXRlbV9kaXNwbGF5IEkiOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9BZHZhbmNlZENvbnRlbnRfYmxvY2tkaXNwbGF5IiwKCQkJJGZsZHMsICR0YWJvcHRhcnJheSk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCQoJCSMgVXNlciBTZXR0aW5ncwoJCSRmbGRzID0gInVzZXJfaWQgSSwgY29udGVudF9pZCBJLCB0ZW1wbGF0ZV9pZCBJLCBpdGVtX2lkIFgsIGl0ZW1fZGlzcGxheSBJIjsKCQkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfQWR2YW5jZWRDb250ZW50X21lc3NhZ2VkaXNwbGF5IiwKCQkJJGZsZHMsICR0YWJvcHRhcnJheSk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCQoJCSMgVXNlciBTZXR0aW5ncwoJCSRmbGRzID0gInVzZXJfaWQgSSwgY29udGVudF9pZCBJLCB0ZW1wbGF0ZV9pZCBJLCBpdGVtX2lkIFgsIGl0ZW1fZGlzcGxheSBJIjsKCQkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfQWR2YW5jZWRDb250ZW50X2dyb3VwZGlzcGxheSIsCgkJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkKCQkkY3VycmVudF92ZXJzaW9uID0gJzAuNic7CgkJCgljYXNlICcwLjYnOgoJCQoJCSR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CgkJJGRpY3QgICAgICAgID0gTmV3RGF0YURpY3Rpb25hcnkoICRkYiApOwoJCQoJCSMgbXVsdGlwbGUgaW5wdXRzCgkJJGZsZHMgPSAiaW5wdXRfaWQgQyg2NCkgS0VZLCBpbnB1dF9maWVsZHMgWCI7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0FkdmFuY2VkQ29udGVudF9tdWx0aV9pbnB1dHMiLAoJCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCgkJIyBtdWx0aXBsZSBpbnB1dCB0cGwgYXNzb2NzCgkJJGZsZHMgPSAiaW5wdXRfaWQgQyg2NCksIHRwbF9uYW1lIFgiOwoJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9BZHZhbmNlZENvbnRlbnRfbXVsdGlfaW5wdXRfdHBsX2Fzc29jcyIsCgkJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkKCQkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignTWFuYWdlIEFkdmFuY2VkQ29udGVudCBNdWx0aUlucHV0cycsICdNYW5hZ2UgQWR2YW5jZWRDb250ZW50IE11bHRpSW5wdXRzJyk7CgkJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ01hbmFnZSBBZHZhbmNlZENvbnRlbnQgTXVsdGlJbnB1dCBUZW1wbGF0ZXMnLCAnTWFuYWdlIEFkdmFuY2VkQ29udGVudCBNdWx0aUlucHV0IFRlbXBsYXRlcycpOwoJCSR0aGlzLT5TZXRUZW1wbGF0ZSgnbXVsdGlfaW5wdXRfU2FtcGxlVGVtcGxhdGUnLAonPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHA+Cntmb3JlYWNoIGZyb209JGlucHV0cyBpdGVtPWVsbX0KCXskZWxtLmxhYmVsfTombmJzcDt7JGVsbS5pbnB1dH0mbmJzcDsKey9mb3JlYWNofQo8L3A+CjwvZGl2PicpOwoJCSR0aGlzLT5BZGRNdWx0aUlucHV0KCdTYW1wbGVJbnB1dCcsJwp7Y29udGVudCBibG9jaz0ibW9kdWxlX3NlbGVjdCIgbGFiZWw9IlNlbGVjdCBhIG1vZHVsZSIgYmxvY2tfdHlwZT0iZHJvcGRvd24iIGl0ZW1zPSJ8TmV3c3xNZW51IiB2YWx1ZXM9InxOZXdzfE1lbnVNYW5hZ2VyIn0Ke2NvbnRlbnQgYmxvY2s9Im1vZHVsZV9wYXJhbXMiIGxhYmVsPSJFbnRlciBtb2R1bGUgcGFyYW1ldGVycyBoZXJlIiBibG9ja190eXBlPSJ0ZXh0IiBvbmVsaW5lPXRydWUgc2l6ZT0iNTYifScpOwoJCSR0aGlzLT5BZGRUcGxBc3NvYygnbXVsdGlfaW5wdXQnLCAnU2FtcGxlSW5wdXQnLCAnbXVsdGlfaW5wdXRfU2FtcGxlVGVtcGxhdGUnKTsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9tdWx0aV9pbnB1dF90cGwnLCAnbXVsdGlfaW5wdXRfU2FtcGxlVGVtcGxhdGUnKTsKCQoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC42LjEnOwoJCQoJY2FzZSAnMC42LjEnOgoJY2FzZSAnMC42LjInOgoJY2FzZSAnMC43JzoKCWNhc2UgJzAuNy4xJzoKCQkkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCAnQ29yZScsICdDb250ZW50RWRpdFBvc3QnLCBmYWxzZSApOwoJCSR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoICdDb3JlJywgJ1RlbXBsYXRlUHJlQ29tcGlsZScpOwoJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNYW5hZ2UgQWR2YW5jZWRDb250ZW50Jyk7CgkJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ01hbmFnZSBBZHZhbmNlZENvbnRlbnQgUHJlZmVyZW5jZXMnLCAnTWFuYWdlIEFkdmFuY2VkQ29udGVudCBQcmVmZXJlbmNlcycpOwoJCgljYXNlICcwLjYuMyc6CgljYXNlICcwLjYuNCc6CgljYXNlICcwLjcuMic6CgljYXNlICcwLjcuMyc6CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3VzZV9hZHZhbmNlZF9wYWdlb3B0aW9ucycsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzaG93X2FkdmFuY2VkY29udGVudF9vcHRpb25zJywgMSkpOwoJCSR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCdzaG93X2FkdmFuY2VkY29udGVudF9vcHRpb25zJyk7CgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcwLjgnOwoJCQoJY2FzZSAnMC44JzoKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3dpdGNoX3JlZGlyZWN0X3BhcmFtcycsIDEpOwoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMC44LjEnOwp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/plugins/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/plugins/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBncmFudCBhY2Nlc3MgdG8gY2VydGFpbiBmaWxlcyBvbmx5OiAKPEZpbGVzIH4gIlwuKGljb3xjc3N8anN8Z2lmfGpwZT9nfHBuZ3xqc29ufGpzcCkkIj4Kb3JkZXIgZGVueSxhbGxvdyAKYWxsb3cgZnJvbSBhbGwKPC9GaWxlcz4K]]></data>
	</file>
	<file>
	  <filename>/plugins/function.jpicker.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNtYXJ0eSBQbHVnaW4gOiB7anBpY2tlcn0KIyBQdXJwb3NlICAgICAgIDogcmVuZGVycyBqYXZhc2NyaXB0IG9mIGpRdWVyeSBwbHVnaW4gY29sb3JwaWNrZXIKIyBBdXRob3IgICAgICAgIDogTmljIEJ1ZyAobmljbWFyZSkgLSBhZGFwdGVkIGJ5IEdlb3JnIEJ1c2NoIChOYU4pCiMgVmVyc2lvbiAgICAgICA6IDEuMQojIExpY2Vuc2UgICAgICAgOiBHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKZnVuY3Rpb24gc21hcnR5X2Ntc19mdW5jdGlvbl9qcGlja2VyKCRwYXJhbXMsICYkc21hcnR5KSAKewoJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoJJEFkdmFuY2VkQ29udGVudCA9JiBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0FkdmFuY2VkQ29udGVudCcpOwoJCglpZighaXNzZXQoJHBhcmFtc1snaW5wdXRfaWQnXSkpCgl7CgkJcmV0dXJuOwoJfQoJCgkkaW5wdXRfaWQgPSAkcGFyYW1zWydpbnB1dF9pZCddOwoJCgkkb3V0cHV0ID0gJwo8bGluayByZWw9c3R5bGVzaGVldCBocmVmPSInLiRjb25maWdbJ3Jvb3RfdXJsJ10uJy9tb2R1bGVzL0FkdmFuY2VkQ29udGVudC9wbHVnaW5zL2pwaWNrZXIvY3NzL2pwaWNrZXIuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgLz4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJy4kY29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9BZHZhbmNlZENvbnRlbnQvcGx1Z2lucy9qcGlja2VyL2pzL2pxLmpwaWNrZXIuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+JzsKCQoJJG91dHB1dC49ICcKCWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CgkJalF1ZXJ5LmZuLmpQaWNrZXIuZGVmYXVsdHMuaW1hZ2VzLmNsaWVudFBhdGg9IicuJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvQWR2YW5jZWRDb250ZW50L3BsdWdpbnMvanBpY2tlci9pbWFnZXMvIjsKCQlqUXVlcnkoIicuJGlucHV0X2lkLiciKS5qUGlja2VyKCk7Cgl9KQo8L3NjcmlwdD4nOwoKCWlmKGlzc2V0KCRwYXJhbXNbJ2Fzc2lnbiddKSkKCXsKCQkkc21hcnR5LT5hc3NpZ24oJHBhcmFtc1snYXNzaWduJ10sJG91dHB1dCk7Cgl9CgllbHNlCgl7CgkJcmV0dXJuICRvdXRwdXQ7Cgl9Cn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/plugins/function.jq_taginput.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNtYXJ0eSBQbHVnaW4gOiB7anFfdGFnaW5wdXR9CiMgUHVycG9zZSAgICAgICA6IHJlbmRlcnMgamF2YXNjcmlwdCBvZiBqUXVlcnkgcGx1Z2luIHRhZ0lucHV0CiMgQXV0aG9yICAgICAgICA6IEdlb3JnIEJ1c2NoIChOYU4pCiMgVmVyc2lvbiAgICAgICA6IDEuMAojIExpY2Vuc2UgICAgICAgOiBHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKZnVuY3Rpb24gc21hcnR5X2Ntc19mdW5jdGlvbl9qcV90YWdpbnB1dCgkcGFyYW1zLCAmJHNtYXJ0eSkgCnsKCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCSRBZHZhbmNlZENvbnRlbnQgPSYgY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdBZHZhbmNlZENvbnRlbnQnKTsKCQoJaWYoIWlzc2V0KCRwYXJhbXNbJ2lucHV0X2lkJ10pKQoJewoJCXJldHVybjsKCX0KCQoJJGlucHV0X2lkID0gJHBhcmFtc1snaW5wdXRfaWQnXTsKCQoJJGF1dG9fZmlsdGVyID0gJ3RydWUnOwoJaWYoaXNzZXQoJHBhcmFtc1snYXV0b19maWx0ZXInXSkgJiYgJEFkdmFuY2VkQ29udGVudC0+SXNGYWxzZSgkcGFyYW1zWydhdXRvX2ZpbHRlciddKSkKCXsKCQkkYXV0b19maWx0ZXIgPSAnZmFsc2UnOwoJfQoJCgkkYXV0b19zdGFydCA9ICdmYWxzZSc7CglpZihpc3NldCgkcGFyYW1zWydhdXRvX3N0YXJ0J10pICYmICRBZHZhbmNlZENvbnRlbnQtPklzVHJ1ZSgkcGFyYW1zWydhdXRvX3N0YXJ0J10pKQoJewoJCSRhdXRvX3N0YXJ0ID0gJ3RydWUnOwoJfQoJCgkkYm9sZGlmeSA9ICd0cnVlJzsKCWlmKGlzc2V0KCRwYXJhbXNbJ2JvbGRpZnknXSkgJiYgJEFkdmFuY2VkQ29udGVudC0+SXNGYWxzZSgkcGFyYW1zWydib2xkaWZ5J10pKQoJewoJCSRib2xkaWZ5ID0gJ2ZhbHNlJzsKCX0KCQoJJHRhZ19zZXBhcmF0b3IgPSAnICc7CglpZihpc3NldCgkcGFyYW1zWyd0YWdfc2VwYXJhdG9yJ10pKQoJewoJCSR0YWdfc2VwYXJhdG9yID0gJHBhcmFtc1sndGFnX3NlcGFyYXRvciddOwoJfQoJCgkkc29ydGJ5ID0gJ2ZyZXF1ZW5jeSc7CglpZihpc3NldCgkcGFyYW1zWydzb3J0YnknXSkpCgl7CgkJJHNvcnRieSA9ICRwYXJhbXNbJ3NvcnRieSddOwoJfQoJCgkkc3VnZ2VzdGVkX3RhZ3MgPSBhcnJheSgpOwoJaWYoaXNzZXQoJHBhcmFtc1snc3VnZ2VzdGVkX3RhZ3MnXSkpCgl7CgkJJHN1Z2dlc3RlZF90YWdzID0gJHBhcmFtc1snc3VnZ2VzdGVkX3RhZ3MnXTsKCQlpZighaXNfYXJyYXkoJHN1Z2dlc3RlZF90YWdzKSkKCQl7CgkJCSRzdWdnZXN0ZWRfdGFncyA9IGV4cGxvZGUoJywnLCRzdWdnZXN0ZWRfdGFncyk7CgkJfQoJfQoJCgkkdGFncyA9IGFycmF5KCk7CglpZihpc3NldCgkcGFyYW1zWyd0YWdzJ10pKQoJewoJCWlmKCFpc19hcnJheSgkcGFyYW1zWyd0YWdzJ10pKQoJCXsKCQkJJHRhZ3MgPSBhcnJheSgpOwoJCQlmb3JlYWNoKGV4cGxvZGUoJzsnLCRwYXJhbXNbJ3RhZ3MnXSkgYXMgJGsgPT4gJHYpCgkJCXsKCQkJCSRfdCA9IGV4cGxvZGUoJywnLCAkdik7CgkJCQkkdGFnc1ska11bJ3RhZyddID0gJF90WzBdOwoJCQkJJHRhZ3NbJGtdWydmcmVxJ10gPSAkX3RbMV07CgkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJJHRhZ3MgPSAkcGFyYW1zWyd0YWdzJ107CgkJfQoJfQoJJG91dHB1dCA9ICcKPGxpbmsgcmVsPXN0eWxlc2hlZXQgaHJlZj0iJy4kY29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9BZHZhbmNlZENvbnRlbnQvcGx1Z2lucy90YWdJbnB1dC9qcXVlcnkudGFnSW5wdXQuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgLz4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJy4kY29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9BZHZhbmNlZENvbnRlbnQvcGx1Z2lucy90YWdJbnB1dC9qcXVlcnkudGltZXJzLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJy4kY29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9BZHZhbmNlZENvbnRlbnQvcGx1Z2lucy90YWdJbnB1dC9qcXVlcnkudGFnSW5wdXQuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+JzsKCWlmKGNvdW50KCR0YWdzKSkgCgl7CgkJJGF2YWlsYWJsZV90YWdzID0gYXJyYXkoKTsKCQlmb3JlYWNoKCR0YWdzIGFzICR0YWcpCgkJeyAKCQkJJGF2YWlsYWJsZV90YWdzW10gPSAne3RhZzoiJy4kdGFnWyd0YWcnXS4nIixmcmVxOicuJHRhZ1snZnJlcSddLid9JzsKCQl9CgkJJG91dHB1dC49ICcJdmFyIHRhZ3M9WycuaW1wbG9kZSgnLCcsJGF2YWlsYWJsZV90YWdzKS4nXTsnOwoJfQoJCgkkb3V0cHV0Lj0gJwoJalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKCQlqUXVlcnkoIiMnLiRpbnB1dF9pZC4nIikudGFnSW5wdXQoeyc7CglpZiAoY291bnQoJHRhZ3MpKQoJewoJCSRvdXRwdXQuPSAndGFnczp0YWdzLCc7Cgl9Cgkkb3V0cHV0Lj0gJwoJCQlzb3J0Qnk6IicuJHNvcnRieS4nIiwKCQkJc3VnZ2VzdGVkVGFnczpbIicuaW1wbG9kZSgnIiwiJywkc3VnZ2VzdGVkX3RhZ3MpLiciXSwKCQkJdGFnU2VwYXJhdG9yOiInLiR0YWdfc2VwYXJhdG9yLiciLAoJCQlhdXRvRmlsdGVyOicuJGF1dG9fZmlsdGVyLicsCgkJCWF1dG9TdGFydDonLiRhdXRvX3N0YXJ0LicsCgkJCWJvbGRpZnk6Jy4kYm9sZGlmeS4nCgkJfSkuY3NzKCJwYWRkaW5nLWxlZnQiLCIyNXB4Iik7Cgl9KTsKPC9zY3JpcHQ+JzsKCglpZihpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkpCgl7CgkJJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbJ2Fzc2lnbiddLCRvdXRwdXQpOwoJfQoJZWxzZQoJewoJCXJldHVybiAkb3V0cHV0OwoJfQp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/plugins/jpicker/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/plugins/jpicker/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/plugins/jpicker/css/jpicker.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/LmpQaWNrZXIgLkljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI0cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjI1cHh9LmpQaWNrZXIgLkljb24gc3Bhbi5Db2xvciwualBpY2tlciAuSWNvbiBzcGFuLkFscGhhe2JhY2tncm91bmQtcG9zaXRpb246MnB4IDJweDtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5qUGlja2VyIC5JY29uIHNwYW4uSW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LmpQaWNrZXIuQ29udGFpbmVye2NvbG9yOiMwMDA7ei1pbmRleDoxMH10YWJsZS5qUGlja2Vye2JhY2tncm91bmQtY29sb3I6I2VmZWZlZjtib3JkZXI6MXB4IG91dHNldCAjNjY2O2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxTYW5zLVNlcmlmO2ZvbnQtc2l6ZToxMnB4IWltcG9ydGFudDttYXJnaW46MDtwYWRkaW5nOjVweDt3aWR0aDo1NDVweDt6LWluZGV4OjIwfS5qUGlja2VyIC5Nb3Zle2JhY2tncm91bmQtY29sb3I6I2RkZDtib3JkZXItY29sb3I6I2ZmZiAjNjY2ICM2NjYgI2ZmZjtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtjdXJzb3I6bW92ZTtoZWlnaHQ6MTJweDtwYWRkaW5nOjB9LmpQaWNrZXIgLlRpdGxle2ZvbnQtc2l6ZToxMXB4IWltcG9ydGFudDtmb250LXdlaWdodDpib2xkO21hcmdpbjotMnB4IDAgMCAwO3BhZGRpbmc6MTBweCAwIDAgMDt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS5qUGlja2VyIGRpdi5NYXB7Ym9yZGVyLWJvdHRvbToycHggc29saWQgI2ZmZjtib3JkZXItbGVmdDoycHggc29saWQgIzlhOWE5YTtib3JkZXItcmlnaHQ6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDoycHggc29saWQgIzlhOWE5YTtjdXJzb3I6Y3Jvc3NoYWlyO2hlaWdodDoyNjBweDttYXJnaW46MCAxMHB4IDEwcHggMTBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjI2MHB4fS5qUGlja2VyIGRpdltjbGFzcz0iTWFwIl17aGVpZ2h0OjI1NnB4O3dpZHRoOjI1NnB4fS5qUGlja2VyIGRpdi5CYXJ7Ym9yZGVyLWJvdHRvbToycHggc29saWQgI2ZmZjtib3JkZXItbGVmdDoycHggc29saWQgIzlhOWE5YTtib3JkZXItcmlnaHQ6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDoycHggc29saWQgIzlhOWE5YTtjdXJzb3I6bi1yZXNpemU7aGVpZ2h0OjI2MHB4O21hcmdpbjoxMnB4IDEwcHggMCA1cHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoyNHB4fS5qUGlja2VyIGRpdltjbGFzcz0iQmFyIl17aGVpZ2h0OjI1NnB4O3dpZHRoOjIwcHh9LmpQaWNrZXIgLk1hcCAuTWFwMSwualBpY2tlciAuTWFwIC5NYXAyLC5qUGlja2VyIC5NYXAgLk1hcDMsLmpQaWNrZXIgLkJhciAuTWFwMSwualBpY2tlciAuQmFyIC5NYXAyLC5qUGlja2VyIC5CYXIgLk1hcDMsLmpQaWNrZXIgLkJhciAuTWFwNCwualBpY2tlciAuQmFyIC5NYXA1LC5qUGlja2VyIC5CYXIgLk1hcDZ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7ZGlzcGxheTpibG9jaztsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9LmpQaWNrZXIgLk1hcCAuTWFwMSwualBpY2tlciAuTWFwIC5NYXAyLC5qUGlja2VyIC5NYXAgLk1hcDN7aGVpZ2h0OjI1OTZweDt3aWR0aDoyNTZweH0ualBpY2tlciAuQmFyIC5NYXAxLC5qUGlja2VyIC5CYXIgLk1hcDIsLmpQaWNrZXIgLkJhciAuTWFwMywualBpY2tlciAuQmFyIC5NYXA0e2hlaWdodDozODk2cHg7d2lkdGg6MjBweH0ualBpY2tlciAuQmFyIC5NYXA1LC5qUGlja2VyIC5CYXIgLk1hcDZ7aGVpZ2h0OjI1NnB4O3dpZHRoOjIwcHh9LmpQaWNrZXIgLk1hcCAuTWFwMSwualBpY2tlciAuTWFwIC5NYXAyLC5qUGlja2VyIC5CYXIgLk1hcDZ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0fS5qUGlja2VyIC5NYXAgLk1hcDMsLmpQaWNrZXIgLkJhciAuTWFwNXtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXR9LmpQaWNrZXIgLkJhciAuTWFwMSwualBpY2tlciAuQmFyIC5NYXAyLC5qUGlja2VyIC5CYXIgLk1hcDMsLmpQaWNrZXIgLkJhciAuTWFwNHtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteH0ualBpY2tlciAuTWFwIC5BcnJvd3tkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS5qUGlja2VyIC5CYXIgLkFycm93e2Rpc3BsYXk6YmxvY2s7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlfS5qUGlja2VyIC5QcmV2aWV3e2ZvbnQtc2l6ZTo5cHg7cGFkZGluZzo1cHggMCAwIDA7dGV4dC1hbGlnbjpjZW50ZXJ9LmpQaWNrZXIgLlByZXZpZXcgZGl2e2JvcmRlcjoycHggaW5zZXQgI2VlZTtoZWlnaHQ6NjJweDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MDt3aWR0aDo2MnB4fS5qUGlja2VyIC5QcmV2aWV3IGRpdiBzcGFue2JvcmRlcjoxcHggc29saWQgIzAwMDtkaXNwbGF5OmJsb2NrO2hlaWdodDozMHB4O21hcmdpbjowIGF1dG87cGFkZGluZzowO3dpZHRoOjYwcHh9LmpQaWNrZXIgLlByZXZpZXcgLkFjdGl2ZXtib3JkZXItYm90dG9tLXdpZHRoOjB9LmpQaWNrZXIgLlByZXZpZXcgLkN1cnJlbnR7Ym9yZGVyLXRvcC13aWR0aDowO2N1cnNvcjpwb2ludGVyfS5qUGlja2VyIGlucHV0e2ZvbnQtc2l6ZToxM3B4fS5qUGlja2VyIC5CdXR0b257dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzowIDRweDt3aWR0aDoxMTVweH0ualBpY2tlciAuQnV0dG9uIGlucHV0e3BhZGRpbmc6MnB4IDA7d2lkdGg6MTAwcHh9LmpQaWNrZXIgLkJ1dHRvbiAuT2t7bWFyZ2luOjEycHggMCA1cHggMH0ualBpY2tlciB0ZHttYXJnaW46MDtwYWRkaW5nOjB9LmpQaWNrZXIgdGQuUmFkaW97bWFyZ2luOjA7cGFkZGluZzowO3dpZHRoOjMxcHh9LmpQaWNrZXIgdGQuUmFkaW8gaW5wdXR7bWFyZ2luOjAgNXB4IDAgMDtwYWRkaW5nOjB9LmpQaWNrZXIgdGQuVGV4dHtmb250LXNpemU6MTJweCFpbXBvcnRhbnQ7aGVpZ2h0OjIycHg7bWFyZ2luOjA7cGFkZGluZzowO3RleHQtYWxpZ246bGVmdDt3aWR0aDo3MHB4fS5qUGlja2VyIHRyLkhleCB0ZC5UZXh0e3dpZHRoOjEwMHB4fS5qUGlja2VyIHRkLlRleHQgaW5wdXR7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggaW5zZXQgI2FhYTtoZWlnaHQ6MTlweDttYXJnaW46MCAwIDAgNXB4O3RleHQtYWxpZ246bGVmdDt3aWR0aDozMHB4fS5qUGlja2VyIHRkW2NsYXNzPSJUZXh0Il0gaW5wdXR7aGVpZ2h0OjE1cHh9LmpQaWNrZXIgdHIuSGV4IHRkLlRleHQgaW5wdXQuSGV4e3dpZHRoOjUwcHh9LmpQaWNrZXIgdHIuSGV4IHRkLlRleHQgaW5wdXQuQUhleHt3aWR0aDoyMHB4fS5qUGlja2VyIC5Hcmlke3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjExNHB4fS5qUGlja2VyIC5HcmlkIHNwYW4uUXVpY2tDb2xvcntib3JkZXI6MXB4IGluc2V0ICNhYWE7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjE1cHg7bGluZS1oZWlnaHQ6MTVweDttYXJnaW46MDtwYWRkaW5nOjA7d2lkdGg6MTlweH0ualBpY2tlciAuR3JpZCBzcGFuW2NsYXNzPSJRdWlja0NvbG9yIl17d2lkdGg6MTdweH3vu7/vu79AbWVkaWEgYWxseyNqUGlja2Vye21hcmdpbjowcHggOHB4O3RleHQtYWxpZ246bGVmdDt9I2pQaWNrZXIgdWx7Zm9udC1zaXplOjE1cHg7bWFyZ2luOjBweCAwcHggMHB4IDE1cHg7cGFkZGluZzowcHg7fSNqUGlja2VyIHVsIGxpe2xpc3Qtc3R5bGU6ZGlzYztwYWRkaW5nOjJweCAwcHg7fSNqUGlja2VyIHVsIGxpIHVse21hcmdpbi1ib3R0b206MTBweDt9I2pQaWNrZXIgdWwgbGkgdWwgbGl7bGlzdC1zdHlsZTpjaXJjbGU7fSNqUGlja2VyIHB7Zm9udC1zaXplOjEzcHg7cGFkZGluZzowcHggMTBweDt9I2pQaWNrZXIgaHJ7Y2xlYXI6Ym90aDt9I2pQaWNrZXIgaDIualBpY2tlcntmb250LXNpemU6MTZweDtwYWRkaW5nOjIwcHggMTBweDt9I2pQaWNrZXIgY29kZXtjb2xvcjojOGJkO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7fSNqUGlja2VyIHByZXtiYWNrZ3JvdW5kOiNlZWU7Ym9yZGVyOjFweCBzb2xpZCAjMDAwO2NvbG9yOiMwMDA7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTFweDttYXJnaW46MTBweCA1cHg7cGFkZGluZzogNXB4O30jalBpY2tlciBzcGFue2ZvbnQtc2l6ZToxM3B4O3RleHQtYWxpZ246Y2VudGVyO30jalBpY2tlciBhe2NvbG9yOiNmZjgwNTA7fSNqUGlja2VyIGlucHV0e2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmc6MnB4IDVweDt9I2pQaWNrZXIgaDJ7Zm9udC1zaXplOjE2cHg7bWFyZ2luOjEwcHggMHB4O319]]></data>
	</file>
	<file>
	  <filename>/plugins/jpicker/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/plugins/jpicker/doc/ChangeLog.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/Q2hhbmdlIExvZwpfX19fX19fX19fX19fXwoxLjEuNgogIENvcnJlY3RlZCBidWcgcHJldmVudGluZyBzZWxlY3Rpb25zIGluc2lkZSBpbnB1dCB2YWx1ZXMgaW4gc29tZSBicm93c2VycyAtIHRoZSBvbnNlbGVjdHN0YXJ0IGZ1bmN0aW9uIG5vIGxvbmdlciBjYXB0dXJlcyBvbiBpbnB1dCBib3hlcy4KICBBZGRlZCBzdXBwb3J0IGZvciB1cC9kb3duIGFycm93IGFkanVzdG1lbnRzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBpbnB1dCBib3ggbWFraW5nIHRoZSBwaWNrZXIgbW9yZSBrZXlib2FyZCBmcmllbmRseS4KICBBZGRlZCB0aWNrcyBhcm91bmQgdGhlIGJhY2tncm91bmRJbWFnZSBhc3NpZ25tZW50cyB0byBjb3JyZWN0IGZvciBwYXRocyB3aXRoIHdoaXRlc3BhY2UuCgoxLjEuNQogIENvcnJlY3RlZCBDb2xvciBvYmplY3QgY29uc3RydWN0b3IgdG8gYWxsb3cgc2V0dGluZyBvZiB0aGUgImFscGhhIiB2YWx1ZSBhcyBwZXIgdGhlIGRvY3VtZW50YXRpb24gd2hpY2ggcHJldmlvdXNseSBkaWRuJ3Qgd29yay4KICBBZGRlZCBzdXBwb3J0IGZvciB0cmFuc2x1Y2VuY3kgZm9yIHF1aWNrTGlzdCBjb2xvcnMgd2l0aCBjaGVja2VyZWQgYmFja2dyb3VuZCAtIE9ubHkgYXZhaWxhYmxlIGlmICJhbHBoYVN1cHBvcnQiIGlzIGVuYWJsZWQuCiAgUmVzdHJpY3RlZCBkZWZhdWx0IGNvbG9yIHRvICJhbHBoYSIgb2YgMjU1IGlmICJhbHBoYVN1cHBvcnQiIGlzIGRpc2FibGVkIC0gSXQgd2lsbCBub3cgYXNzaWduIGFuIGV4cGxpY2l0IGFscGhhIG9mIDI1NSB3aGVuIGRpc2FibGVkLgogIEFkZGVkIG5ldyBzZXR0aW5nIHZhcmlhYmxlICJhbHBoYVByZWNpc2lvbiIgd2hpY2ggaW5kaWNhdGVzIHRoZSBudW1iZXIgb2YgZGVjaW1hbCBwb2ludHMgdG8gYWxsb3cgaW4gdGhlIGFscGhhIHBlcmNlbnRhZ2UgZGlzcGxheSAtIE5vdyBkZWZhdWx0cyB0byAwLgoKMS4xLjQKICBDaGFuZ2VkICJhbHBoYSIgcmFuZ2UgZnJvbSAwLTEwMCB0byAwLTI1NSB0byBjb3JyZWN0IHRydW5jYXRpbmcgYW5kIHJvdW5kaW5nIGVycm9ycyBjYXVzZWQgYnkgYXR0ZW1wdGluZyB0byBnZXQgYW4gaW50ZWdlciBwZXJjZW50YWdlIHRoYXQgbWF0Y2hlcyBhIGhleCB2YWx1ZS4KICAiYWxwaGEiIHBlcmNlbnRhZ2UgZGlzcGxheSB3aWxsIG5vdyBzaG93IHVwIHRvIDEgZGVjaW1hbCBwb2ludCBmb3IgbW9yZSBhY2N1cmF0ZSByZXByZXNlbnRhdGlvbiBvZiAiYWxwaGEiIHZhbHVlLgogIENvbG9yIG9iamVjdCBub3cgYWNjZXB0cyAiYWxwaGEiIHZhbHVlcyBpbiBhIHJhbmdlIG9mIDAtMjU1IGFuZCBhbHNvIHJldHVybnMgdGhlIHNhbWUgd2hlbiBnZXR0aW5nIHRoZSAiYWxwaGEiIHZhbHVlLiBZb3Ugd2lsbCBuZWVkIHRvIHJ1biAoKGFscGhhICogMTAwKSAvIDI1NSkgdG8gcmV0cmlldmUgYSBwZXJjZW50YWdlIHZhbHVlLgogIFJld29ya2VkIHRoZSB0YWJsZSBsYXlvdXQgYW5kIGxhYmVscyB0byByZW1vdmUgdGhlIG5lZWQgZm9yIHRoZSBsYWJlbCB0byByZWZlcmVuY2UgdGhlIHJhZGlvIGlucHV0IGJveC4gVGhpcyByZWR1Y2VzIGluamVjdGVkIGNvZGUgYW5kIHJlbW92ZXMgdGhlIG5lZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIGlkcyBvbiB0aGUgcmFkaW8gYnV0dG9ucy4KICBUcmFuc3BhcmVudC9pbnZpc2libGUgY2FyZXQgb24gTlVMTCBjb2xvciBpcyBub3cgY29ycmVjdGVkIC0gdXNlcyB0aGUgc2FtZSBjYXJldCBjb2xvciBhcyBhIHdoaXRlIGNvbG9yLgogIFNldHRpbmcgYSBiaW5kZWQgaW5wdXQgdmFsdWUgb2YgIiIgb3Igbm8gdmFsdWUgYXR0cmlidXRlIHdpbGwgbm93IGNyZWF0ZSBhIE5VTEwgY29sb3Igb24gaW5pdGlhbGl6YXRpb24gaW5zdGVhZCBvZiB0aGUgc2V0dGluZ3MgZGVmYXVsdCBjb2xvci4KICBBZGRlZCBhIGR5bmFtaWMsIGludmlzaWJsZSAiaWZyYW1lIiBiZWhpbmQgYSBkaWFsb2cgcGlja2VyIGluIGFsbCBicm93c2VycyB0aGF0IGZhaWwgalF1ZXJ5LnN1cHBvcnQuYm94TW9kZWwgKGN1cnJlbnRseSBJRSA8PSA3IFF1aXJrcyBNb2RlKS4gVGhpcyBwcmV2ZW50cyAic2VsZWN0IiBib3ggZnJvbSBzaG93aW5nIHRocm91Z2ggdGhlIHBpY2tlci4KCjEuMS4zCiAgTm93IGFkZGluZyBwb3B1cCBjb2xvciBwaWNrZXJzIHRvIGRvY3VtZW50LmJvZHkgaW5zdGVhZCBvZiBpbmxpbmUgd2l0aCB0aGUgcG9wdXAgY29udHJvbC4gVGhpcyBjb3JyZWN0cyBpc3N1ZXMgd2l0aCB0aGUgcGlja2VyIG5vdCBzaG93aW5nIGJleW9uZCBhIHJlbGF0aXZlIGNvbnRhaW5lciBzY29wZS4KICBObyBsb25nZXIgbmVlZCB0byBoaWRlIHBvcHVwIGljb24gaW4gSW50ZXJuZXQgRXhwbG9yZXIgZm9yIHBpY2tlciBlbGVtZW50cyBsb3dlciBpbiB0aGUgRE9NIHRoYW4gdGhlIGN1cnJlbnRseSBhY3RpdmUgb25lIHNpbmNlIHRoZSBwaWNrZXIgaXRzZWxmIGlzIGF0dGFjaGVkIHRvIGRvY3VtZW50LmJvZHkgKGl0IGlzIGFsd2F5cyBoaWdoZXIgaW4gdGhlIERPTSBub3cpLgogIFBvcHVwIHBpY2tlcnMgYXJlIG5vdyBicmluZy10by1mcm9udCBzZWxlY3RhYmxlLiBDbGlja2luZyBvbiB0aGUgcGlja2VyIHdpbGwgYnJpbmcgaXQgYWJvdmUgYWxsIG90aGVyIHBpY2tlcnMgb24gdGhlIHBhZ2UgaW5zdGVhZCBvZiBoYXZpbmcgdG8gZHJhZyBvbmUgb3V0IGZyb20gdW5kZXJuZWF0aCBhbm90aGVyLgogIENvcnJlY3RlZCBqUGlja2VyLkxpc3Qvc2V0VGltZW91dCBidWcgd2hpY2ggYWxsb3dlZCBhbiBpbnN0YW5jZSB0byBiaW5kIHRvIHRoZSBMaXN0IGluIGFuIG9yZGVyIG90aGVyIHRoYW4gdGhlIG9yZGVyIHRoZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiB3YXMgY2FsbGVkLgogIEFkZGVkIGEgdXBkYXRlSW5wdXRDb2xvciBvcHRpb24gKGRlZmF1bHQgdHJ1ZSkgdG8gYWxsb3cgZm9yIGEgYmluZGVkIGlucHV0IGZpZWxkIHRoYXQgZG9lcyBub3QgYXV0b21hdGljYWxseSB1cGRhdGUgaXRzIGJhY2tncm91bmQvdGV4dCBjb2xvci4KCjEuMS4yCiAgUmV3b3JrZWQgdGhlIGZpbmQgbWV0aG9kcyBhbmQgY29udGV4dHMgZm9yIGVsZW1lbnQgc2VhcmNoZXMuIE5vdyB1c2luZyAiOmZpcnN0IiBpbnN0ZWFkIG9mICIuZXEoMCkiIHRvIHRha2UgYWR2YW50YWdlIG9mIGVhcmx5IG91dCBzZWFyY2hlcy4gTXVjaCBmYXN0ZXIgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHBpY2tlciwgb24gdGhlIG9yZGVyIG9mIDYgdGltZXMuCiAgTm93IHVzaW5nIHNldFRpbWVvdXQgZm9yIGNhbGxpbmcgdmlzdWFsIHVwZGF0ZXMuIERyYW1hdGljYWxseSBpbXByb3ZlZCBtYXJrZXIgZHJhZ2dpbmcgaW4gYWxsIGJyb3dzZXJzLiBSZWR1Y2VzIGJsb2NraW5nIGFzIHJlLXJlbmRlcmluZyBpcyBpbnRlcm5hbCB0byB0aGUgYnJvd3NlciBhbmQgaW5kZXBlbmRlbnQgb2YgdGhlIG90aGVyIGphdmFzY3JpcHQgc3RpbGwgaW4gcHJvZ3Jlc3MuCiAgTWFya2VyIHVwZGF0ZXMgY2FuIG5vdyBjYW5jZWwgYSBwcmV2aW91cyB2YWx1ZUNoYW5nZWQgZXZlbnQgd2hlbiBhIG5ldyBtb3VzZU1vdmUgZXZlbnQgY29tZXMgaW4uIElFOCBtYXJrZXIgZHJhZ2dpbmcgaXMgc3RpbGwgc2xvd2VyLCBtdWNoIG92ZXIgNSB0aW1lcyBmYXN0ZXIgdGhhbiBpdCB3YXMuCiAgUmV3b3JrZWQgZW50aXJlIHF1aWNrUGljayBsaXN0IGNyZWF0aW9uLiBJdCBub3cgYWRkcyB1cCBzb3VyY2UgY29kZSBhbmQgZG9lcyBhIHNpbmdsZSAiaHRtbCIgbWV0aG9kIGluc3RlYWQgb2YgbXVsdGlwbGUgImFwcGVuZCIgbWV0aG9kcy4gVGhpcyBpcyBhIGxhcmdlIHBhcnQgb2YgdGhlIHNwZWVkIGluY3JlYXNlIG9uIGluaXRpYWxpemF0aW9uLgogIFRoZSB2YXN0IG1ham9yaXR5IG9mIGFsbCBydW5uaW5nIHNjcmlwdHMgb24gYm90aCBpbml0aWFsaXphdGlvbiBhbmQgZHJhZ2dpbmcgaXMgbm93IG9jY3VwaWVkIGFsdGVyaW5nIHRoZSBzdHlsZSBydWxlcyBhbmQgZmluZGluZyBlbGVtZW50cyAoaW5pdCBvbmx5KSBpbnN0ZWFkIG9mIGpQaWNrZXIgY29kZS4KICBBbGwgbWV0aG9kcyBwcmV2aW91c2x5IGNhbGxlZCB3aXRoIGdsb2JhbCBjb250ZXh0IG5vdyB1c2UgdGhlICJjYWxsIiBtZXRob2QgZm9yIHVzaW5nIHRoZSBjb250ZXh0IG9mIHRoZSBjbGFzcyBydW5uaW5nIHRoZSBtZXRob2QuICJ0aGlzIiBpbiBhIGNhbGxiYWNrIGlzIG5vdyB0aGUgRE9NIG5vZGUgKGpRdWVyeSBzdHlsZSkgYW5kIGpQaWNrZXIgaW5zdGVhZCBvZiAid2luZG93Ii4KICBBZGRlZCAiZWZmZWN0cyIgc2VjdGlvbiBvZiB3aW5kb3cgc2V0dGluZ3MgdG8gYWxsb3cgZGlmZmVyZW50IHNob3cvaGlkZSBlZmZlY3RzIGFuZCBkdXJhdGlvbnMuCiAgUmVtb3ZlZCBjaGFuZ2UgbG9nIGFuZCByZWFkIG1lIGZyb20gdGhlIGZ1bGwgc291cmNlIGNvZGUgdG8gc2VwYXJhdGUgZmlsZXMgKENoYW5nZUxvZy50eHQgYW5kIFJlYWRNZS50eHQpIGFuZCBhbiBIVE1MIGRlbW9uc3RyYXRpb24vZG9jdW1lbnRhdGlvbiBwYWdlIChFeGFtcGxlLnR4dCkuCgoxLjEuMQogIENvcnJlY3QgSUUgZXhjZXB0aW9uIGNhdXNlZCBieSBhdHRlbXB0aW5nIHRvIHNldCAiI3RyYW5zcGFyZW50IiB0byBDU1MgYmFja2dyb3VuZC1jb2xvci4KCjEuMS4wCiAgUmV3b3JrZWQgbmVhcmx5IHRoZSBlbnRpcmUgcGx1Z2luIGluY2x1ZGluZyB0aGUgaW50ZXJuYWwgYW5kIGV4dGVybmFsIGV2ZW50IG1vZGVsLCBiaW5kaW5ncywgRE9NIHNlYXJjaGVzLCBjbGFzc2VzLCBhbmQgb3ZlcmFsbCBwcmVzZW50YXRpb24uCiAgVGhlIENvbG9yIG9iamVjdCBub3cgc3VwcG9ydHMgYSBjaGFuZ2VkIGV2ZW50IHRoYXQgeW91IGNhbiBiaW5kIHRvIChvciBqdXN0IGJpbmQgdG8gdGhlIHBpY2tlciBldmVudHMgc3RpbGwgaW5jbHVkZWQpLgogIEV2ZW50IG9yZGVyIGhhcyBiZWVuIHJldmVyc2VkLCBpbnN0ZWFkIG9mIGEgY2hhbmdlIGV2ZW50IG9uIHRoZSBtYXAvYmFyL3RleHQgZmllbGRzIHVwZGF0aW5nIHRoZSBkaXNwbGF5LCB0aGV5IG5vdyB1cGRhdGUgdGhlIENvbG9yIG9iamVjdCB3aGljaCB0aGVuIGZpcmVzIHRoZSBldmVudHMgdGhhdCB1cGRhdGUgdGhlIGRpc3BsYXkuCiAgYWxwaGFTdXBwb3J0IHJlLWltcGxlbWVudGVkIGJ5IHJlcXVlc3QgLSBkZWZhdWx0IGJlaGF2aW9yIGlzIG9mZi4KICBIZXggY29kZSBub3cgb25seSA2IGNoYXJhY3RlcnMgYWdhaW4uCiAgQ29sb3Igb2JqZWN0IGNhbiBub3cgaGF2ZSBpdHMgdmFsdWUgY2hhbmdlZCBmcm9tIGNvZGUsIHVzaW5nIHRoZSAidmFsIiBtZXRob2QsIGFuZCBpdCB3aWxsIGZpcmUgYWxsIGV2ZW50cyBuZWNlc3NhcnkgdG8gdXBkYXRlIHRoZSBkaXNwbGF5LgogIFJlbW92ZWQgYWxsICJnZXRfKiIgbWV0aG9kcyBmcm9tIHRoZSBjb2xvciBvYmplY3QsIGluc3RlYWQgb3B0aW5nIGZvciBhIHNpbmdsZSAidmFsIiBtZXRob2QgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcsIG1vcmUgaW4gbGluZSB3aXRoIGZhbWlsaWFyIGpRdWVyeSBtZXRob2RzLgogIEJldHRlciByZW5kZXJpbmcgZm9yIGFsbCBJRSB2ZXJzaW9ucyBpbiBRdWlya3MgbW9kZS4KCjEuMC4xMwogIFVwZGF0ZWQgdHJhbnNwYXJlbmN5IGFsZ29yaXRobSBmb3IgcmVkL2dyZWVuL2JsdWUgY29sb3IgbW9kZXMuIFRoZSBhbGdvcml0aG0gZnJvbSBKb2huIER5ZXJzJyBjb2xvciBwaWNrZXIgd2FzIGNsb3NlIGJ1dCBpbmNvcnJlY3QuIEJhciBjb2xvcnMgYXJlIG5vdyBwaXhlbCBwZXJmZWN0IHdpdGggdGhlIG5ldyBhbGdvcml0aG0uCiAgQ2hhbmdlZCBmcm9tIHVzaW5nICJiYWNrZ3JvdW5kLXBvc2l0aW9uIiBvbiB0aGUgY29sb3IgbWFwcyB0byBhbiBlbGVtZW50IG9mIGZ1bGwgaGVpZ2h0IHVzaW5nIHRoZSAidG9wIiBhdHRyaWJ1dGUgZm9yIGltYWdlLW1hcCBsb2NhdGlvbiB1c2luZyAib3ZlcmZsb3c6IGhpZGRlbiIgdG8gaGlkZSBvdmVyZHJhdy4KICBJRTcvOCBpZ25vcmVzIG9wYWNpdHkgb24gZWxlbWVudHMgdGFsbGVyIHRoYW4gNDA5NnB4LiBJbWFnZSBtYXBzIHRoZXJlZm9yZSBubyBsb25nZXIgaW5jbHVkZSBhIGJsYW5rIGZpcnN0IG1hcCBzbyB0aGUgQmFyIGlzIGp1c3QgdW5kZXIgNDA5Ni4gQmxhbmsgaXMgbm93IGFjY29tcGxpc2hlZCBieSBzZXR0aW5nIHRoZSAidG9wIiBzZXR0aW5nIHRvIGJlbG93IHRoZSBtYXAgZGlzcGxheS4KICBOZXcgY29sb3JCYXIgcGlja2VyIGltYWdlIHRoYXQgZG9lcyBub3QgZHJhdyBvdXRzaWRlIG9mIHRoZSBlbGVtZW50IHNpbmNlIHRoZSBlbGVtZW50cyBub3cgaGlkZSBvdmVyZHJhdy4KICBBZGRlZCBJRTUuNS82IHN1cHBvcnQgZm9yIHRoZSBwaWNrZXIuIFRoaXMgaXMgd2h5IGl0IG5vdyB1c2VzIG1hcHMgb2YgZnVsbCBoZWlnaHQgYW5kIHRoZSAidG9wIiBhdHRyaWJ1dGUgZm9yIG1hcCBsb2NhdGlvbnMuCiAgTW92ZWQgdGhlIGltYWdlcyBpbiB0aGUgbWFwcyB0byA0IHBpeGVscyBhcGFydCBmcm9tIGVhY2ggb3RoZXIuIElFNy84IGNoYW5nZSB0aGUgZmlyc3QgcGl4ZWwgb2YgdGhlIGJvdHRvbS1ib3JkZXIgb2YgMnB4IHRvIHBhcnRpYWxseSB0cmFuc3BhcmVudCBzaG93aW5nIGEgcG9ydGlvbiBvZiBhIGRpZmZlcmVudCBjb2xvciBtYXAgd2l0aG91dCB0aGlzLgoKMS4wLjEyCiAgQWRkZWQgbWluaWZpZWQgQ1NTIGZpbGUuCiAgQWRkZWQgSUU3LzggUXVpcmtzIE1vZGUgc3VwcG9ydC4KICBBZGRlZCBjb25maWd1cmFibGUgc3RyaW5nIGNvbnN0YW50cyBmb3IgYWxsIHRleHQgYW5kIHRvb2x0aXBzLiBZb3UgY2FuIG5vdyBjaGFuZ2UgdGhlIGRlZmF1bHQgdmFsdWVzIGZvciBkaWZmZXJlbnQgbGFuZ3VhZ2VzLgogIFByaXZhdGl6ZWQgdGhlIFJHQkEgdmFsdWVzIGluIHRoZSBDb2xvciBvYmplY3QgZm9yIGJldHRlciBOVUxMIGhhbmRsaW5nLiBZT1UgTVVTVCBVU0UgVEhFIE5FVyBHRVQgRlVOQ1RJT05TIFRPIEFDQ0VTUyBUSEUgQ09MT1IgUFJPUEVSVElFUy4KICBCZXR0ZXIgTlVMTCBjb2xvciBoYW5kbGluZyBhbmQgYW4gYWRkaXRpb25hbCAiTm8gQ29sb3IgU2VsZWN0ZWQiIHF1aWNrIHBpY2sgY29sb3IuCiAgTW9yZSBjb25zaXN0ZW50IGJlaGF2aW9yIGFjcm9zcyBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBicm93c2Vycy4KICBBZGRlZCBhbHBoYSByZXNwb25zZSB0byB0aGUgYmluZGVkIGNvbG9yIHBpY2tlciBpY29uLgogIFJlbW92ZWQgImFscGhhU3VwcG9ydCIgdmFyaWFibGUuIEl0IGlzIG5vdyBhbHdheXMgc3VwcG9ydGVkLgoKMS4wLjExYgogIENvcnJlY3RlZCBOVUxMIGJlaGF2aW9yIGluIElFLiBqUXVlcnkgd2FzIGdldHRpbmcgYW4gZXhjZXB0aW9uIHdoZW4gYXR0ZW1wdGluZyB0byBhc3NpZ24gYSBiYWNrZ3JvdW5kQ29sb3Igc3R5bGUgb2YgJyMnLiBOb3cgYXNzaWducyAndHJhbnNwYXJlbnQnIGlmIGNvbG9yIGlzIE5VTEwuCiAgQ2FuIG5vdyBjcmVhdGUgbmV3IENvbG9yIG9iamVjdCBXSVRIIE9SIFdJVEhPVVQgdGhlICcjJyBwcmVmaXguCgoxLjAuMTEKICBBZGRlZCBhYmlsaXR5IGZvciBOVUxMIGNvbG9ycyAoZGVsZXRlIHRoZSBoZXggdmFsdWUpLiBDb2xvciB3aWxsIGJlIHJldHVybmVkIGFzIGNvbG9yLmhleCA9PSAnJy4gQ2FuIHNldCB0aGUgZGVmYXVsdCBjb2xvciB0byBhbiBlbXB0eSBoZXggc3RyaW5nIGFzIHdlbGwuCiAgY2FuY2VsQ2FsbGJhY2sgbm93IHJldHVybnMgdGhlIG9yaWdpbmFsIGNvbG9yIGZvciB1c2UgaW4gcHJvZ3JhbW1pbmcgcmVzcG9uc2VzLgoKMS4wLjEwCiAgQ29ycmVjdGVkIHRhYmxlIGxheW91dCBhbmQgdHdlYWtlZCBkaXNwbGF5IGZvciBtb3JlIGNvbnNpc2VudCBwcmVzZW50YXRpb24uIE5pY2UgY2F0Y2ggZnJvbSBKb25hdGhhbiBQYXNxdWllci4KCjEuMC45CiAgQWRkZWQgb3B0aW9uYWwgdGl0bGUgdmFyaWFibGUgZm9yIGVhY2ggalBpY2tlciB3aW5kb3cuCgoxLjAuOAogIE1vdmVkIGFsbCBpbWFnZXMgaW50byBhIGZldyBzcHJpdGVzIC0gbm93IHVzaW5nIGJhY2tncm91bmRQb3NpdGlvbiB0byBjaGFuZ2UgY29sb3IgbWFwcyBhbmQgYmFycyBpbnN0ZWFkIG9mIGNoYW5naW5nIHRoZSBpbWFnZSAtIHRoaXMgc2hvdWxkIGJlIGZhc3RlciB0byBkb3dubG9hZCBhbmQgcnVuLgogICAKMS4wLjcKICBSRU5BTUVEIENTUyBGSUxFIFRPIElOQ0xVREUgVkVSU0lPTiBOVU1CRVIhISEgWU9VIE1VU1QgVVNFIFRISVMgVkVSU0lPTkVEIENTUyBGSUxFISEhIFRoZXJlIHdpbGwgYmUgbm8gbmVlZCB0byBkbyB5b3VyIG93biBDU1MgdmVyc2lvbiBudW1iZXIgaW5jcmVtZW50cyBmcm9tIG5vdyBvbi4KICBBZGRlZCBvcGFjaXR5IGZlZWRiYWNrIHRvIGNvbG9yIHByZXZpZXcgYm94ZXMuCiAgUmVtb3ZlZCByZWxpYW5jZSBvbiAiaWQiIHZhbHVlIG9mIGNvbnRhaW5pbmcgb2JqZWN0LiBTdWJvYmplY3RzIGFyZSBub3cgZm91bmQgYnkgY2xhc3MgYW5kIGNvbnRhaW5lciBpbnN0ZWFkIG9mIGlkJ3MuIFRoaXMgZHJhc3RpY2FsbHkgcmVkdWNlcyBpbmplY3RlZCBjb2RlLgogIFJlbW92ZWQgKGpRdWVyeSkualBpY2tlci5nZXRMaXN0RWxlbWVudEJ5SWQoaWQpIGZ1bmN0aW9uIHNpbmNlICJpZCIgaXMgbm8gbG9uZ2VyIGluY29ycG9yYXRlZCBvciByZXF1aXJlZC4KCjEuMC42CiAgQ29ycmVjdGVkIHBpY2tlciBidWdzIGludHJvZHVjZWQgd2l0aCAxLjAuNS4KICBSZW1vdmVkIGFscGhhIHNsaWRlciBiYXIgdW50aWwgYWN0aXZhdGVkIC0gZGVmYXVsdCBiZWhhdmlvciBmb3IgYWxwaGEgaXMgbm93IE9GRi4KICBDb3JyZWN0ZWQgQ29sb3IgY29uc3RydWN0b3IgYnVnIG5vdCBhbGxvd2luZyB2YWx1ZXMgb2YgMCBmb3IgaW5pdGlhbCB2YWx1ZSAoaXQgd2FzIGV2YWx1YXRpbmcgZmFsc2UgYW5kIG1pc3NpbmcgdGhlIGluaXQgY29kZSAtIFRoYW5rcyBQYXZvbCkuCiAgUmVtb3ZlZCB0aXRsZSB0YWdzICh0b29sdGlwcykgZnJvbSBjb2xvciBtYXBzIGFuZCBiYXJzIC0gVGhleSBnZXQgaW4gdGhlIHdheSBpbiBzb21lIGJyb3dzZXJzIChlLmcuIElFIC0gZHJhZ2dpbmcgbWFya2VyIGRvZXMgTk9UIHByZXZlbnQgb3IgaGlkZSB0aGUgdG9vbHRpcCkuCiAgVEhFUkUgV0VSRSBDU1MgRklMRSBDSEFOR0VTIFdJVEggVEhJUyBVUERBVEUhISEgSUYgWU9VIFVTRSBORVZFUi1FWFBJUkUgSEVBREVSUywgWU9VIFdJTEwgTkVFRCBUTyBJTkNSRU1FTlQgWU9VUiBDU1MgRklMRSBWRVJTSU9OIE5VTUJFUiEhIQoKMS4wLjUKICBBZGRlZCBvcGFjaXR5IHN1cHBvcnQgdG8gcGlja2VyIGFuZCBjb2xvci9jYWxsYmFjayBtZXRob2RzLiBOZXcgcHJvcGVydHkgImEiIChhbHBoYSAtIHJhbmdlIGZyb20gMC0xMDApIGluIGFsbCBjb2xvciBvYmplY3RzIG5vdyAtIGRlZmF1bHRzIHRvIDEwMCUgb3BhcXVlLiAoVGhhbmsgeW91IFBhdm9sKQogIEFkZGVkIHRpdGxlIGF0dHJpYnV0ZXMgdG8gaW5wdXQgZWxlbWVudHMgLSBnaXZlcyBzaG9ydCB0b29sdGlwIGRpcmVjdGlvbnMgb24gd2hhdCBidXR0b24gb3IgZmllbGQgZG9lcy4KICBDb21taXQgY2FsbGJhY2sgdXNlZCB0byBmaXJlIG9uIGNvbnRyb2wgaW5pdGlhbGl6YXRpb24gKHR3aWNlIGFjdHVhbGx5KSAtIFRoaXMgaGFzIGJlZW4gY29ycmVjdGVkLCBpdCBkb2VzIG5vdCBmaXJlIG9uIGluaXRpYWxpemF0aW9uLgogIFRIRVJFIFdFUkUgQ1NTIEZJTEUgQ0hBTkdFUyBXSVRIIFRISVMgVVBEQVRFISEhIElGIFlPVSBVU0UgTkVWRVItRVhQSVJFIEhFQURFUlMsIFlPVSBXSUxMIE5FRUQgVE8gSU5DUkVNRU5UIFlPVVIgQ1NTIEZJTEUgVkVSU0lPTiBOVU1CRVIhISEKCjEuMC40CiAgQWRkZWQgYWJpbGl0eSBmb3Igc21hbGxlciBwaWNrZXIgaWNvbiB3aXRoIGV4cGFuZGFibGUgd2luZG93IG9uIGFueSBET00gZWxlbWVudCAobm90IGp1c3QgaW5wdXQpLgogICJkcmFnZ2FibGUiIHByb3BlcnR5IHJlbmFtZWQgdG8gImV4cGFuZGFibGUiIGFuZCBpdHMgc2NvcGUgaW5jcmVhc2VkIHRvIGNyZWF0ZSBzbWFsbCBwaWNrZXIgaWNvbiBvciBsYXJnZSBzdGF0aWMgcGlja2VyLgoKMS4wLjMKICBBZGRlZCBjYW5jZWxDYWxsYmFjayBmdW5jdGlvbiBmb3IgcmVnaXN0ZXJpbmcgYW4gZXh0ZXJuYWwgZnVuY3Rpb24gd2hlbiB1c2VyIGNsaWNrcyBjYW5jZWwgYnV0dG9uLiAoVGhhbmsgeW91IEplZmYgYW5kIFBhdm9sKQoKMS4wLjIKICBSYW5kb20gYnVnIGZpeGVzIC0gc3BlZWQgY29uY2VybnMuCgoxLjAuMQogIENvcnJlY3RlZCBjbG9zdXJlIGJhc2VkIG1lbWVvcnkgbGVhayAtIHRoZXJlIG1heSBiZSBvdGhlcnM/CgoxLjAuMAogIEZpcnN0IFJlbGVhc2Uu]]></data>
	</file>
	<file>
	  <filename>/plugins/jpicker/doc/ReadMe.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/alBpY2tlciAxLjEuNgoKalF1ZXJ5IFBsdWdpbiBmb3IgUGhvdG9zaG9wIHN0eWxlIGNvbG9yIHBpY2tlcgoKQ29weXJpZ2h0IChjKSAyMDEwIENocmlzdG9waGVyIFQuIFRpbGxtYW4KRGlnaXRhbCBNYWdpYyBQcm9kdWN0aW9ucywgSW5jLiAoaHR0cDovL3d3dy5kaWdpdGFsbWFnaWNwcm8uY29tLykKTUlUIHN0eWxlIGxpY2Vuc2UsIEZSRUUgdG8gdXNlLCBhbHRlciwgY29weSwgc2VsbCwgYW5kIGVzcGVjaWFsbHkgRU5IQU5DRQoKUGFpbnN0YWtpbmdseSBwb3J0ZWQgZnJvbSBKb2huIER5ZXJzJyBleGNlbGxlbnQgd29yayBvbiBoaXMgb3duIGNvbG9yIHBpY2tlciBiYXNlZCBvbiB0aGUgUHJvdG90eXBlIGZyYW1ld29yay4KCkpvaG4gRHllcnMnIHdlYnNpdGU6IChodHRwOi8vam9obmR5ZXIubmFtZSkKQ29sb3IgUGlja2VyIHBhZ2U6ICAgKGh0dHA6Ly9qb2huZHllci5uYW1lL3Bvc3QvMjAwNy8wOS9QaG90b1Nob3AtbGlrZS1KYXZhU2NyaXB0LUNvbG9yLVBpY2tlci5hc3B4KQoKCiAgICBqUGlja2VyIGlzIGEgZmFzdCwgbGlnaHR3ZWlnaHQgalF1ZXJ5IHBsdWdpbiBmb3IgaW5jbHVkaW5nIGFuIGFkdmFuY2VkIGNvbG9yIHBpY2tlciBpbiB5b3VyIHdlYiBwcm9qZWN0cy4NCkl0IGhhcyBiZWVuIHBhaW5zdGFrZW5seSBwb3J0ZWQgZnJvbSBKb2huIER5ZXJzJyBhd2Vzb21lIHdvcmsgb24gaGlzIHBpY2tlciB1c2luZyB0aGUgUHJvdG90eXBlIGZyYW1ld29yay4NCg0KICAgIGpQaWNrZXIgc3VwcG9ydHMgYWxsIGN1cnJlbnQgYnJvd3NlcnMgYW5kIGhhcyBiZWVuIGV4dGVuc2l2ZWx5IHRlc3RlZCBpbiBDaHJvbWUsIEZpcmVmb3gsIElFNS41KywgU2FmYXJpLA0KYW5kIE9wZXJhLg0KDQogICAgSWYgeW91IGFyZSB1cGRhdGluZyBhIGN1cnJlbnQgdmVyc2lvbiwgeW91IE1VU1QgYWx3YXlzIHVzZSB0aGUgQ1NTIGFuZCBpbWFnZSBmaWxlcyBmcm9tIHRoZSBkb3dubG9hZCBhcw0KdGhlcmUgbWF5IGhhdmUgYmVlbiBjaGFuZ2VzLg0KDQogICAgSWYgeW91IGFyZSBtb3ZpbmcgZnJvbSBhIFYxLjAuKiB2ZXJzaW9uLCB5b3UgTVVTVCByZWFkIHRoZSBkb2NzIGJlbG93IHRvIGltcGxlbWVudCBzb21lIGNoYW5nZXMgdG8gdGhlDQpDb2xvciBvYmplY3QgcmV0dXJuZWQgYnkgdGhlIGNhbGxiYWNrIGZ1bmN0aW9ucy4NCgoKS25vd24gSXNzdWVzCl9fX19fX19fX19fX19fCkF0dGFjaGluZyBtdWx0aXBsZSBqUGlja2VyIG9iamVjdHMgb24gYSBzaW5nbGUgcGFnZSB3aWxsIHNsb3cgcGVyZm9ybWFuY2UuCiAgalBpY2tlciBjcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBwaWNrZXIgZm9yIGV2ZXJ5IGVsZW1lbnQuIFBlcmZvcm1hbmNlIHdpbGwgc3VmZmVyIHdoZW4gYmluZGluZyBkb3plbnMgb2YgaW5zdGFuY2VzLgoKCkNvbWluZyBTb29uCl9fX19fX19fX19fX19fCgogICAgV2lsbCBjb25zaWRlciBzdXBwb3J0aW5nIGpRdWVyeSBUaGVtZVJvbGxlciBDU1MgQVBJIGZvciB0aGVtaW5nIHRoZSBVSSBpZiBkZW1hbmQgZXhpc3RzLgoKUGxhbm5lZCBGb3IgRnV0dXJlIFJlbGVhc2UKX19fX19fX19fX19fX18KCiAgTW92ZSB0aGUgalBpY2tlciBvYmplY3QgdG8gYSBzaW5nbGUgaW5zdGFuY2UgdGhhdCBhbGwgc2VsZWN0aW9uIGluc3RhbmNlcyBwb2ludCB0by4KICAgICAtIFRoaXMgd2lsbCByZXN1bHQgaW4gbXVjaCBmYXN0ZXIgb3BlcmF0aW9uIGFuZCBpbml0aWFsaXphdGlvbiBmb3IgcGFnZXMgd2l0aCBtdWx0aXBsZSBwaWNrZXJzLgoKICBBZGQgYWN0aXZhdGVDYWxsYmFjayBvcHRpb24gZm9yIGNhbGxpbmcgYSBjYWxsYmFjayBmdW5jdGlvbiB3aGVuIHRoZSBqUGlja2VyIGlzIGFjdGl2YXRlZCBvciBpdHMgYmluZGluZyBpcyBzd2l0Y2hlZCB0byBhIGRpZmZlcmVudCBwaWNrZXIgZWxlbWVudC4KICAKICBBZGQgbXVsdGlwbGUgd2luZG93IG1vZGVzIGZvciBwaWNrZXIgb3BlcmF0aW9uLCBpbmNsdWRlIG1vZGFsLCBwb3B1cCwgd2luZG93ZWQsIGFuZCBleGNsdXNpdmUu]]></data>
	</file>
	<file>
	  <filename>/plugins/jpicker/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/plugins/jpicker/images/AlphaBar.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/plugins/jpicker/images/bar-opacity.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAChJREFUeNpiPHPmDAMMGBsbw9lMDDgA6RKM////h3POnj1LCzsAAgwAQtYIcFfEyzkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/plugins/jpicker/images/Bars.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAA84CAYAAADKKOIFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAASBJREFUeNrs2ssOgjAQheFDF77/8xLI2AEENWIo4CWdn8UXtbMprSdtQSZZki6qBZl6S33+klqpGvJleaBy/2pB6sxnX+fzr1Ut+AS05P2rhTxO3qfOg6L1wasD2TBU3ksN5Nk4fZpoSj5tbWhKSnY2FJX8gHRe8c7WoobDxf/+2znFnxutw8Vf48hfcmtDUZZsaFgvfnGRiWQimUgmxslEjUvF+fJNy1xiaVhAAgCEYojFMQl9H00mAkBslmUjmQgArBN1S8L7py1kIgBEjMN354njphoAIBJr7+KQiQAQk+UxNJkIAOHXict5otg7A0DsOHw4T3xeJ45hCQAQiPX3E7k5ABCSlfcTuTkAEHCdOD93Xk4WyUQACLltzl4FGACT38aTA+sZOgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/plugins/jpicker/images/map-opacity.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAC1JREFUeNpiPHPmDAM2YGxsjFWciYFEMKqBGMD4//9/rBJnz54dDSX6aQAIMABCtQiAsDRF+wAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/plugins/jpicker/images/mappoint.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhDwAPAJECAAAAAP///////wAAACH5BAEAAAIALAAAAAAPAA8AAAIulA2Zx5IB4WIANnlqaAa7zXXAFzLBUx5nlYpsu4LpSZb0J5s3fu2IFplwFEJDAQA7]]></data>
	</file>
	<file>
	  <filename>/plugins/jpicker/images/Maps.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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AIwaHXWjRbcZ9ToAvavek9KUzs6Z1qjZo7500UdH/ToAPWuX4OtL3uLfTVYCM7aec/Xsm6vzT1ejjo66+aJLjtoegJKw9NnLJjX1u8laZj57WfwbVqOOjvrCRR8ftR6/+MXRteLo30LP6/7f1SLH/3v+jte1v71Rs0fdbNEtRq3H3/7tEV7xqd87OMW9v9eo2b93s0W3GLUev/zlMbxE7/+jbxO4iD2z9P7/69cZNXvUzRbdYtR6/N3fHbesmPH/GybK+79Rs/+/2aJbjFqPv//7I+US3/E+Gi9WxjTPB8Co2QG4edEtRq3HP/zDkbrczN8zMEH2lOMBMGr092626Baj1uMf//HoWqBnldH3Fbho0ddlvq8jdTijXgVg0UW3GLUev/rVMXTD6J0v65znmZcZNftlmy26xaj1+Kd/OprvG9nz+sz32XixRl+f8z6Nmv0+N1x0+VHr8c//fHTfObpnqZH3MXhxMybLD4BRswOw0KLLj1qPf/mXY8rDoeY8xGr4It/3vFGzn99w0eVHrcevf310XcIn3uabi9Fz0ee/jVGz32bDRZcftR7/+q9H1xpPvK7xIq7xOqNmv27TRZcetR7/9m9H9yUf/fXgQdiOztZm//rr1xk1e9RNF1161Hr85jdHytER73gfwYueMV//+zBq9vvYdNGlR63Hb397dF3q3rXyVu2epXe+2NsZNXvUjRdddtR6/PDDMXxalJr8soHP1Rnz9r29UbPf58aLLjtqPf7934/wpXvq5QnT3vdyo2a/fPNFlxy1Hr/73dF98PO7X9cx7XOvM2r2616w6HKj1uM//uNIOQn6He9jYNrW35P3Poya/T5esuhSo9bjP//zaL5EkUs+430mTxz5ffH3adTs9/nCRR8ftR7/9V9H96W7++0mT5z7dkbNfruXL/rIqPX4/e+PKZf0/vVunW5eAIyaHYAXLDpt1Hr8938fG62w0V+VUXcIwKePWo8fGQI+U/X1DwIACAAgAMBnBKAc//u0i548efqkp58V3wDAxxIAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQABEAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAEAABAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAQACMAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAMCZehwKAAIACAAgAMBnBOAPVwPW4smTp897cisAfDABAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAQAAEAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAEQABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEAATACCAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgCcqcehACAAgAAAAgB8RADKH64GrMWTJ0+f9/Qz//7D5xIAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQABEAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAEAAbgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAcKYehwSAAAACAAgA8BkBKD8WoBZPnjx93pNbAeCDCQAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgACIAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAIgA1AAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQABgX7//7Q/lz3/+cwGAT/RnP/+rstLXnACAHwEAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAEAABAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAQABsAAIACAAgAIAAAK9Wj0MCQAAAAQAEAPiEAJSjHPWPz3jy5OnTnn5WfAMAH0sAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAYIcAHL8upf6N8eAjA1D/+sf//PDj018aED7zR4C/+MO3AgYE1wEAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIAAiAAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgACAAAgACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAIAAGAEEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEAHhWPQ4FAAEABAAQAOATAlB+LED94zOePHn6tCe3AsAHEwAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAQAEAAAAEABAAEQABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEAAQAAEAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQAAAAQAEABAAQABAAIwAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAAACAAgAIACAAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAAAIACAAgAIAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAgAAAAgAIACAAwJn/EWAAyihyDzKRI84AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/plugins/jpicker/images/NoColor.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAIAAACN07NGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAcpJREFUeNqcks9LAlEQx79jK0KRiRCY/bhkh9C8lBQGIUgUYXrt7/MWQSgIGqhEEUhYqXTMiwlSEUmQUYtNM6tmRJcalsfu2/nOfOb7HrXx5zB0CQYRj3M4DLcbRGAe/pdPed7f0WjQyQkyGTSbquGtLfh8dHPDiQSmpmAY+PhQpWSPjODtDdUq1eu8uanKZtOmxfx+LC/j6YmSSZTL8oLXV7y8oNPBwwPlcpROY2wMa2uYnpZ0S+NwIBDgaFTKU6GAy0uFkXh+pmIR5+fweDgWg9dLhjGYp9vVdXGRJya05NmZ7NDcHFerqvf5eGcH4+OaI8z9Pr2hBX1mhvf2SJRHRygU6PSUV1a0g8v13RhjaJG1S2KdGCjzXF1hfZ0CAZmEeyC/aMSlbpfv7uj4GI+PqiyX2W7X6aXQN5nRz5YwTdze0uEhiyXxOHm9PDkpeGi3eXdX8QZhzWO5getrOjhgpxORCJaWRIBQiDc2cH9P+/totax026CP0F9cUD6vDCKYn4cgCYxQhcOCR6USpVI8OsqmSX1NpaKmLSyop1L+R2xv8+ysVpSDajT6fSibFeN5dRWl0tD6L2OExzS1mxxdraZ7/7jXnwIMAH77vof+JfgrAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/plugins/jpicker/images/picker.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhGQAYAKIEANjY2P////Dw8BseI////wAAAAAAAAAAACH5BAEAAAQALAAAAAAZABgAAANXKLDc/kvBSWO4OOssVyBgKI5i0HxkOpoMqr6s984x4M5kfePlyae6X84n7LWKRhltE+jYcLXJblh50qpWWGMAma4Yg/DDawybHeRQFCJgcrDwijPuECQAADs=]]></data>
	</file>
	<file>
	  <filename>/plugins/jpicker/images/preview-opacity.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAClJREFUeNpiPHPmDAMSMDY2RuYyMeAFNJVm/P//PzL/7Nmzg8VpAAEGALE5CHQT4Ca/AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/plugins/jpicker/images/rangearrows.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhFAAHAJEDAAAAAHRyav///7u7uyH5BAEAAAMALAAAAAAUAAcAAAIdjDOpm2cCEVsBimflrJlnAIZeNGpM6Zlbd0zbUQAAOw==]]></data>
	</file>
	<file>
	  <filename>/plugins/jpicker/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/plugins/jpicker/js/jq.jpicker.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/KGZ1bmN0aW9uKGUsYSl7TWF0aC5wcmVjaXNpb249ZnVuY3Rpb24oaixoKXtpZihoPT09dW5kZWZpbmVkKXtoPTB9cmV0dXJuIE1hdGgucm91bmQoaipNYXRoLnBvdygxMCxoKSkvTWF0aC5wb3coMTAsaCl9O3ZhciBkPWZ1bmN0aW9uKHosayl7dmFyIG89dGhpcyxqPXouZmluZCgiaW1nOmZpcnN0IiksRj0wLEU9MTAwLHc9MTAwLEQ9MCxDPTEwMCx2PTEwMCxzPTAscD0wLG4scSx1PW5ldyBBcnJheSgpLGw9ZnVuY3Rpb24oeSl7Zm9yKHZhciB4PTA7eDx1Lmxlbmd0aDt4Kyspe3VbeF0uY2FsbChvLG8seSl9fSxIPWZ1bmN0aW9uKHgpe3ZhciB5PXoub2Zmc2V0KCk7bj17bDp5LmxlZnR8MCx0OnkudG9wfDB9O2NsZWFyVGltZW91dChxKTtxPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtBLmNhbGwobyx4KX0sMCk7ZShkb2N1bWVudCkuYmluZCgibW91c2Vtb3ZlIixoKS5iaW5kKCJtb3VzZXVwIixCKTt4LnByZXZlbnREZWZhdWx0KCl9LGg9ZnVuY3Rpb24oeCl7Y2xlYXJUaW1lb3V0KHEpO3E9c2V0VGltZW91dChmdW5jdGlvbigpe0EuY2FsbChvLHgpfSwwKTt4LnN0b3BQcm9wYWdhdGlvbigpO3gucHJldmVudERlZmF1bHQoKTtyZXR1cm4gZmFsc2V9LEI9ZnVuY3Rpb24oeCl7ZShkb2N1bWVudCkudW5iaW5kKCJtb3VzZXVwIixCKS51bmJpbmQoIm1vdXNlbW92ZSIsaCk7eC5zdG9wUHJvcGFnYXRpb24oKTt4LnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIGZhbHNlfSxBPWZ1bmN0aW9uKE0pe3ZhciBLPU0ucGFnZVgtbi5sLHg9TS5wYWdlWS1uLnQsTD16LncseT16Lmg7aWYoSzwwKXtLPTB9ZWxzZXtpZihLPkwpe0s9TH19aWYoeDwwKXt4PTB9ZWxzZXtpZih4Pnkpe3g9eX19Si5jYWxsKG8sInh5Iix7eDooKEsvTCkqdykrRix5OigoeC95KSp2KStEfSl9LHI9ZnVuY3Rpb24oKXt2YXIgTD0wLHg9MCxOPXoudyxLPXouaCxNPWoudyx5PWouaDtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYodz4wKXtpZihzPT1FKXtMPU59ZWxzZXtMPSgocy93KSpOKXwwfX1pZih2PjApe2lmKHA9PUMpe3g9S31lbHNle3g9KChwL3YpKkspfDB9fWlmKE0+PU4pe0w9KE4+PjEpLShNPj4xKX1lbHNle0wtPU0+PjF9aWYoeT49Syl7eD0oSz4+MSktKHk+PjEpfWVsc2V7eC09eT4+MX1qLmNzcyh7bGVmdDpMKyJweCIsdG9wOngrInB4In0pfSwwKX0sSj1mdW5jdGlvbih4LEsseSl7dmFyIE89SyE9PXVuZGVmaW5lZDtpZighTyl7aWYoeD09PXVuZGVmaW5lZHx8eD09bnVsbCl7eD0ieHkifXN3aXRjaCh4LnRvTG93ZXJDYXNlKCkpe2Nhc2UieCI6cmV0dXJuIHM7Y2FzZSJ5IjpyZXR1cm4gcDtjYXNlInh5IjpkZWZhdWx0OnJldHVybnt4OnMseTpwfX19aWYoeSE9bnVsbCYmeT09byl7cmV0dXJufXZhciBOPWZhbHNlLE0sTDtpZih4PT1udWxsKXt4PSJ4eSJ9c3dpdGNoKHgudG9Mb3dlckNhc2UoKSl7Y2FzZSJ4IjpNPUsmJihLLngmJksueHwwfHxLfDApfHwwO2JyZWFrO2Nhc2UieSI6TD1LJiYoSy55JiZLLnl8MHx8S3wwKXx8MDticmVhaztjYXNlInh5IjpkZWZhdWx0Ok09SyYmSy54JiZLLnh8MHx8MDtMPUsmJksueSYmSy55fDB8fDA7YnJlYWt9aWYoTSE9bnVsbCl7aWYoTTxGKXtNPUZ9ZWxzZXtpZihNPkUpe009RX19aWYocyE9TSl7cz1NO049dHJ1ZX19aWYoTCE9bnVsbCl7aWYoTDxEKXtMPUR9ZWxzZXtpZihMPkMpe0w9Q319aWYocCE9TCl7cD1MO049dHJ1ZX19TiYmbC5jYWxsKG8seXx8byl9LHQ9ZnVuY3Rpb24oeCxMKXt2YXIgUD1MIT09dW5kZWZpbmVkO2lmKCFQKXtpZih4PT09dW5kZWZpbmVkfHx4PT1udWxsKXt4PSJhbGwifXN3aXRjaCh4LnRvTG93ZXJDYXNlKCkpe2Nhc2UibWlueCI6cmV0dXJuIEY7Y2FzZSJtYXh4IjpyZXR1cm4gRTtjYXNlInJhbmdleCI6cmV0dXJue21pblg6RixtYXhYOkUscmFuZ2VYOnd9O2Nhc2UibWlueSI6cmV0dXJuIEQ7Y2FzZSJtYXh5IjpyZXR1cm4gQztjYXNlInJhbmdleSI6cmV0dXJue21pblk6RCxtYXhZOkMscmFuZ2VZOnZ9O2Nhc2UiYWxsIjpkZWZhdWx0OnJldHVybnttaW5YOkYsbWF4WDpFLHJhbmdlWDp3LG1pblk6RCxtYXhZOkMscmFuZ2VZOnZ9fX12YXIgTz1mYWxzZSxOLEssTSx5O2lmKHg9PW51bGwpe3g9ImFsbCJ9c3dpdGNoKHgudG9Mb3dlckNhc2UoKSl7Y2FzZSJtaW54IjpOPUwmJihMLm1pblgmJkwubWluWHwwfHxMfDApfHwwO2JyZWFrO2Nhc2UibWF4eCI6Sz1MJiYoTC5tYXhYJiZMLm1heFh8MHx8THwwKXx8MDticmVhaztjYXNlInJhbmdleCI6Tj1MJiZMLm1pblgmJkwubWluWHwwfHwwO0s9TCYmTC5tYXhYJiZMLm1heFh8MHx8MDticmVhaztjYXNlIm1pbnkiOk09TCYmKEwubWluWSYmTC5taW5ZfDB8fEx8MCl8fDA7YnJlYWs7Y2FzZSJtYXh5Ijp5PUwmJihMLm1heFkmJkwubWF4WXwwfHxMfDApfHwwO2JyZWFrO2Nhc2UicmFuZ2V5IjpNPUwmJkwubWluWSYmTC5taW5ZfDB8fDA7eT1MJiZMLm1heFkmJkwubWF4WXwwfHwwO2JyZWFrO2Nhc2UiYWxsIjpkZWZhdWx0Ok49TCYmTC5taW5YJiZMLm1pblh8MHx8MDtLPUwmJkwubWF4WCYmTC5tYXhYfDB8fDA7TT1MJiZMLm1pblkmJkwubWluWXwwfHwwO3k9TCYmTC5tYXhZJiZMLm1heFl8MHx8MDticmVha31pZihOIT1udWxsJiZGIT1OKXtGPU47dz1FLUZ9aWYoSyE9bnVsbCYmRSE9Syl7RT1LO3c9RS1GfWlmKE0hPW51bGwmJkQhPU0pe0Q9TTt2PUMtRH1pZih5IT1udWxsJiZDIT15KXtDPXk7dj1DLUR9fSxJPWZ1bmN0aW9uKHgpe2lmKGUuaXNGdW5jdGlvbih4KSl7dS5wdXNoKHgpfX0sbT1mdW5jdGlvbih5KXtpZighZS5pc0Z1bmN0aW9uKHkpKXtyZXR1cm59dmFyIHg7d2hpbGUoKHg9ZS5pbkFycmF5KHksdSkpIT0tMSl7dS5zcGxpY2UoeCwxKX19LEc9ZnVuY3Rpb24oKXtlKGRvY3VtZW50KS51bmJpbmQoIm1vdXNldXAiLEIpLnVuYmluZCgibW91c2Vtb3ZlIixoKTt6LnVuYmluZCgibW91c2Vkb3duIixIKTt6PW51bGw7aj1udWxsO3U9bnVsbH07ZS5leHRlbmQodHJ1ZSxvLHt2YWw6SixyYW5nZTp0LGJpbmQ6SSx1bmJpbmQ6bSxkZXN0cm95Okd9KTtqLnNyYz1rLmFycm93JiZrLmFycm93LmltYWdlO2oudz1rLmFycm93JiZrLmFycm93LndpZHRofHxqLndpZHRoKCk7ai5oPWsuYXJyb3cmJmsuYXJyb3cuaGVpZ2h0fHxqLmhlaWdodCgpO3oudz1rLm1hcCYmay5tYXAud2lkdGh8fHoud2lkdGgoKTt6Lmg9ay5tYXAmJmsubWFwLmhlaWdodHx8ei5oZWlnaHQoKTt6LmJpbmQoIm1vdXNlZG93biIsSCk7SS5jYWxsKG8scil9LGI9ZnVuY3Rpb24odSx6LGsseSl7dmFyIHE9dGhpcyxsPXUuZmluZCgidGQuVGV4dCBpbnB1dCIpLHI9bC5lcSgzKSx2PWwuZXEoNCksaD1sLmVxKDUpLG89bC5sZW5ndGg+Nz9sLmVxKDYpOm51bGwsbj1sLmVxKDApLHA9bC5lcSgxKSx4PWwuZXEoMikscz1sLmVxKGwubGVuZ3RoPjc/Nzo2KSxCPWwubGVuZ3RoPjc/bC5lcSg4KTpudWxsLEM9ZnVuY3Rpb24oRSl7aWYoRS50YXJnZXQudmFsdWU9PSIiJiZFLnRhcmdldCE9cy5nZXQoMCkmJihrIT1udWxsJiZFLnRhcmdldCE9ay5nZXQoMCl8fGs9PW51bGwpKXtyZXR1cm59aWYoIXQoRSkpe3JldHVybiBFfXN3aXRjaChFLnRhcmdldCl7Y2FzZSByLmdldCgwKTpzd2l0Y2goRS5rZXlDb2RlKXtjYXNlIDM4OnIudmFsKGouY2FsbChxLChyLnZhbCgpPDwwKSsxLDAsMjU1KSk7ei52YWwoInIiLHIudmFsKCksRS50YXJnZXQpO3JldHVybiBmYWxzZTtjYXNlIDQwOnIudmFsKGouY2FsbChxLChyLnZhbCgpPDwwKS0xLDAsMjU1KSk7ei52YWwoInIiLHIudmFsKCksRS50YXJnZXQpO3JldHVybiBmYWxzZX1icmVhaztjYXNlIHYuZ2V0KDApOnN3aXRjaChFLmtleUNvZGUpe2Nhc2UgMzg6di52YWwoai5jYWxsKHEsKHYudmFsKCk8PDApKzEsMCwyNTUpKTt6LnZhbCgiZyIsdi52YWwoKSxFLnRhcmdldCk7cmV0dXJuIGZhbHNlO2Nhc2UgNDA6di52YWwoai5jYWxsKHEsKHYudmFsKCk8PDApLTEsMCwyNTUpKTt6LnZhbCgiZyIsdi52YWwoKSxFLnRhcmdldCk7cmV0dXJuIGZhbHNlfWJyZWFrO2Nhc2UgaC5nZXQoMCk6c3dpdGNoKEUua2V5Q29kZSl7Y2FzZSAzODpoLnZhbChqLmNhbGwocSwoaC52YWwoKTw8MCkrMSwwLDI1NSkpO3oudmFsKCJiIixoLnZhbCgpLEUudGFyZ2V0KTtyZXR1cm4gZmFsc2U7Y2FzZSA0MDpoLnZhbChqLmNhbGwocSwoaC52YWwoKTw8MCktMSwwLDI1NSkpO3oudmFsKCJiIixoLnZhbCgpLEUudGFyZ2V0KTtyZXR1cm4gZmFsc2V9YnJlYWs7Y2FzZSBvJiZvLmdldCgwKTpzd2l0Y2goRS5rZXlDb2RlKXtjYXNlIDM4Om8udmFsKGouY2FsbChxLHBhcnNlRmxvYXQoby52YWwoKSkrMSwwLDEwMCkpO3oudmFsKCJhIixNYXRoLnByZWNpc2lvbigoby52YWwoKSoyNTUpLzEwMCx5KSxFLnRhcmdldCk7cmV0dXJuIGZhbHNlO2Nhc2UgNDA6by52YWwoai5jYWxsKHEscGFyc2VGbG9hdChvLnZhbCgpKS0xLDAsMTAwKSk7ei52YWwoImEiLE1hdGgucHJlY2lzaW9uKChvLnZhbCgpKjI1NSkvMTAwLHkpLEUudGFyZ2V0KTtyZXR1cm4gZmFsc2V9YnJlYWs7Y2FzZSBuLmdldCgwKTpzd2l0Y2goRS5rZXlDb2RlKXtjYXNlIDM4Om4udmFsKGouY2FsbChxLChuLnZhbCgpPDwwKSsxLDAsMzYwKSk7ei52YWwoImgiLG4udmFsKCksRS50YXJnZXQpO3JldHVybiBmYWxzZTtjYXNlIDQwOm4udmFsKGouY2FsbChxLChuLnZhbCgpPDwwKS0xLDAsMzYwKSk7ei52YWwoImgiLG4udmFsKCksRS50YXJnZXQpO3JldHVybiBmYWxzZX1icmVhaztjYXNlIHAuZ2V0KDApOnN3aXRjaChFLmtleUNvZGUpe2Nhc2UgMzg6cC52YWwoai5jYWxsKHEsKHAudmFsKCk8PDApKzEsMCwxMDApKTt6LnZhbCgicyIscC52YWwoKSxFLnRhcmdldCk7cmV0dXJuIGZhbHNlO2Nhc2UgNDA6cC52YWwoai5jYWxsKHEsKHAudmFsKCk8PDApLTEsMCwxMDApKTt6LnZhbCgicyIscC52YWwoKSxFLnRhcmdldCk7cmV0dXJuIGZhbHNlfWJyZWFrO2Nhc2UgeC5nZXQoMCk6c3dpdGNoKEUua2V5Q29kZSl7Y2FzZSAzODp4LnZhbChqLmNhbGwocSwoeC52YWwoKTw8MCkrMSwwLDEwMCkpO3oudmFsKCJ2Iix4LnZhbCgpLEUudGFyZ2V0KTtyZXR1cm4gZmFsc2U7Y2FzZSA0MDp4LnZhbChqLmNhbGwocSwoeC52YWwoKTw8MCktMSwwLDEwMCkpO3oudmFsKCJ2Iix4LnZhbCgpLEUudGFyZ2V0KTtyZXR1cm4gZmFsc2V9YnJlYWt9fSx3PWZ1bmN0aW9uKEUpe2lmKEUudGFyZ2V0LnZhbHVlPT0iIiYmRS50YXJnZXQhPXMuZ2V0KDApJiYoayE9bnVsbCYmRS50YXJnZXQhPWsuZ2V0KDApfHxrPT1udWxsKSl7cmV0dXJufWlmKCF0KEUpKXtyZXR1cm4gRX1zd2l0Y2goRS50YXJnZXQpe2Nhc2Ugci5nZXQoMCk6ci52YWwoai5jYWxsKHEsci52YWwoKSwwLDI1NSkpO3oudmFsKCJyIixyLnZhbCgpLEUudGFyZ2V0KTticmVhaztjYXNlIHYuZ2V0KDApOnYudmFsKGouY2FsbChxLHYudmFsKCksMCwyNTUpKTt6LnZhbCgiZyIsdi52YWwoKSxFLnRhcmdldCk7YnJlYWs7Y2FzZSBoLmdldCgwKTpoLnZhbChqLmNhbGwocSxoLnZhbCgpLDAsMjU1KSk7ei52YWwoImIiLGgudmFsKCksRS50YXJnZXQpO2JyZWFrO2Nhc2UgbyYmby5nZXQoMCk6by52YWwoai5jYWxsKHEsby52YWwoKSwwLDEwMCkpO3oudmFsKCJhIixNYXRoLnByZWNpc2lvbigoby52YWwoKSoyNTUpLzEwMCx5KSxFLnRhcmdldCk7YnJlYWs7Y2FzZSBuLmdldCgwKTpuLnZhbChqLmNhbGwocSxuLnZhbCgpLDAsMzYwKSk7ei52YWwoImgiLG4udmFsKCksRS50YXJnZXQpO2JyZWFrO2Nhc2UgcC5nZXQoMCk6cC52YWwoai5jYWxsKHEscC52YWwoKSwwLDEwMCkpO3oudmFsKCJzIixwLnZhbCgpLEUudGFyZ2V0KTticmVhaztjYXNlIHguZ2V0KDApOngudmFsKGouY2FsbChxLHgudmFsKCksMCwxMDApKTt6LnZhbCgidiIseC52YWwoKSxFLnRhcmdldCk7YnJlYWs7Y2FzZSBzLmdldCgwKTpzLnZhbChzLnZhbCgpLnJlcGxhY2UoL1teYS1mQS1GMC05XS9nLCIiKS50b0xvd2VyQ2FzZSgpLnN1YnN0cmluZygwLDYpKTtrJiZrLnZhbChzLnZhbCgpKTt6LnZhbCgiaGV4IixzLnZhbCgpIT0iIj9zLnZhbCgpOm51bGwsRS50YXJnZXQpO2JyZWFrO2Nhc2UgayYmay5nZXQoMCk6ay52YWwoay52YWwoKS5yZXBsYWNlKC9bXmEtZkEtRjAtOV0vZywiIikudG9Mb3dlckNhc2UoKS5zdWJzdHJpbmcoMCw2KSk7cy52YWwoay52YWwoKSk7ei52YWwoImhleCIsay52YWwoKSE9IiI/ay52YWwoKTpudWxsLEUudGFyZ2V0KTticmVhaztjYXNlIEImJkIuZ2V0KDApOkIudmFsKEIudmFsKCkucmVwbGFjZSgvW15hLWZBLUYwLTldL2csIiIpLnRvTG93ZXJDYXNlKCkuc3Vic3RyaW5nKDAsMikpO3oudmFsKCJhIixCLnZhbCgpIT1udWxsP3BhcnNlSW50KEIudmFsKCksMTYpOm51bGwsRS50YXJnZXQpO2JyZWFrfX0sQT1mdW5jdGlvbihFKXtpZih6LnZhbCgpIT1udWxsKXtzd2l0Y2goRS50YXJnZXQpe2Nhc2Ugci5nZXQoMCk6ci52YWwoei52YWwoInIiKSk7YnJlYWs7Y2FzZSB2LmdldCgwKTp2LnZhbCh6LnZhbCgiZyIpKTticmVhaztjYXNlIGguZ2V0KDApOmgudmFsKHoudmFsKCJiIikpO2JyZWFrO2Nhc2UgbyYmby5nZXQoMCk6by52YWwoTWF0aC5wcmVjaXNpb24oKHoudmFsKCJhIikqMTAwKS8yNTUseSkpO2JyZWFrO2Nhc2Ugbi5nZXQoMCk6bi52YWwoei52YWwoImgiKSk7YnJlYWs7Y2FzZSBwLmdldCgwKTpwLnZhbCh6LnZhbCgicyIpKTticmVhaztjYXNlIHguZ2V0KDApOngudmFsKHoudmFsKCJ2IikpO2JyZWFrO2Nhc2Ugcy5nZXQoMCk6Y2FzZSBrJiZrLmdldCgwKTpzLnZhbCh6LnZhbCgiaGV4IikpO2smJmsudmFsKHoudmFsKCJoZXgiKSk7YnJlYWs7Y2FzZSBCJiZCLmdldCgwKTpCLnZhbCh6LnZhbCgiYWhleCIpLnN1YnN0cmluZyg2KSk7YnJlYWt9fX0sdD1mdW5jdGlvbihFKXtzd2l0Y2goRS5rZXlDb2RlKXtjYXNlIDk6Y2FzZSAxNjpjYXNlIDI5OmNhc2UgMzc6Y2FzZSAzOTpyZXR1cm4gZmFsc2U7Y2FzZSJjIi5jaGFyQ29kZUF0KCk6Y2FzZSJ2Ii5jaGFyQ29kZUF0KCk6aWYoRS5jdHJsS2V5KXtyZXR1cm4gZmFsc2V9fXJldHVybiB0cnVlfSxqPWZ1bmN0aW9uKEcsRixFKXtpZihHPT0iInx8aXNOYU4oRykpe3JldHVybiBGfWlmKEc+RSl7cmV0dXJuIEV9aWYoRzxGKXtyZXR1cm4gRn1yZXR1cm4gR30sbT1mdW5jdGlvbihHLEUpe3ZhciBGPUcudmFsKCJhbGwiKTtpZihFIT1yLmdldCgwKSl7ci52YWwoRiE9bnVsbD9GLnI6IiIpfWlmKEUhPXYuZ2V0KDApKXt2LnZhbChGIT1udWxsP0YuZzoiIil9aWYoRSE9aC5nZXQoMCkpe2gudmFsKEYhPW51bGw/Ri5iOiIiKX1pZihvJiZFIT1vLmdldCgwKSl7by52YWwoRiE9bnVsbD9NYXRoLnByZWNpc2lvbigoRi5hKjEwMCkvMjU1LHkpOiIiKX1pZihFIT1uLmdldCgwKSl7bi52YWwoRiE9bnVsbD9GLmg6IiIpfWlmKEUhPXAuZ2V0KDApKXtwLnZhbChGIT1udWxsP0YuczoiIil9aWYoRSE9eC5nZXQoMCkpe3gudmFsKEYhPW51bGw/Ri52OiIiKX1pZihFIT1zLmdldCgwKSYmKGsmJkUhPWsuZ2V0KDApfHwhaykpe3MudmFsKEYhPW51bGw/Ri5oZXg6IiIpfWlmKGsmJkUhPWsuZ2V0KDApJiZFIT1zLmdldCgwKSl7ay52YWwoRiE9bnVsbD9GLmhleDoiIil9aWYoQiYmRSE9Qi5nZXQoMCkpe0IudmFsKEYhPW51bGw/Ri5haGV4LnN1YnN0cmluZyg2KToiIil9fSxEPWZ1bmN0aW9uKCl7ci5hZGQodikuYWRkKGgpLmFkZChvKS5hZGQobikuYWRkKHApLmFkZCh4KS5hZGQocykuYWRkKGspLmFkZChCKS51bmJpbmQoImtleXVwIix3KS51bmJpbmQoImJsdXIiLEEpO3IuYWRkKHYpLmFkZChoKS5hZGQobykuYWRkKG4pLmFkZChwKS5hZGQoeCkudW5iaW5kKCJrZXlkb3duIixDKTt6LnVuYmluZChtKTtyPW51bGw7dj1udWxsO2g9bnVsbDtvPW51bGw7bj1udWxsO3A9bnVsbDt4PW51bGw7cz1udWxsO0I9bnVsbH07ZS5leHRlbmQodHJ1ZSxxLHtkZXN0cm95OkR9KTtyLmFkZCh2KS5hZGQoaCkuYWRkKG8pLmFkZChuKS5hZGQocCkuYWRkKHgpLmFkZChzKS5hZGQoaykuYWRkKEIpLmJpbmQoImtleXVwIix3KS5iaW5kKCJibHVyIixBKTtyLmFkZCh2KS5hZGQoaCkuYWRkKG8pLmFkZChuKS5hZGQocCkuYWRkKHgpLmJpbmQoImtleWRvd24iLEMpO3ouYmluZChtKX07ZS5qUGlja2VyPXtMaXN0OltdLENvbG9yOmZ1bmN0aW9uKHope3ZhciBxPXRoaXMsaixvLHQsdSxuLEEseCxrPW5ldyBBcnJheSgpLG09ZnVuY3Rpb24ocil7Zm9yKHZhciBoPTA7aDxrLmxlbmd0aDtoKyspe2tbaF0uY2FsbChxLHEscil9fSxsPWZ1bmN0aW9uKGgsRyxyKXt2YXIgRj1HIT09dW5kZWZpbmVkO2lmKCFGKXtpZihoPT09dW5kZWZpbmVkfHxoPT1udWxsfHxoPT0iIil7aD0iYWxsIn1pZihqPT1udWxsKXtyZXR1cm4gbnVsbH1zd2l0Y2goaC50b0xvd2VyQ2FzZSgpKXtjYXNlImFoZXgiOnJldHVybiBnLnJnYmFUb0hleCh7cjpqLGc6byxiOnQsYTp1fSk7Y2FzZSJoZXgiOnJldHVybiBsKCJhaGV4Iikuc3Vic3RyaW5nKDAsNik7Y2FzZSJhbGwiOnJldHVybntyOmosZzpvLGI6dCxhOnUsaDpuLHM6QSx2OngsaGV4OmwuY2FsbChxLCJoZXgiKSxhaGV4OmwuY2FsbChxLCJhaGV4Iil9O2RlZmF1bHQ6dmFyIEQ9e307Zm9yKHZhciBCPTA7QjxoLmxlbmd0aDtCKyspe3N3aXRjaChoLmNoYXJBdChCKSl7Y2FzZSJyIjppZihoLmxlbmd0aD09MSl7RD1qfWVsc2V7RC5yPWp9YnJlYWs7Y2FzZSJnIjppZihoLmxlbmd0aD09MSl7RD1vfWVsc2V7RC5nPW99YnJlYWs7Y2FzZSJiIjppZihoLmxlbmd0aD09MSl7RD10fWVsc2V7RC5iPXR9YnJlYWs7Y2FzZSJhIjppZihoLmxlbmd0aD09MSl7RD11fWVsc2V7RC5hPXV9YnJlYWs7Y2FzZSJoIjppZihoLmxlbmd0aD09MSl7RD1ufWVsc2V7RC5oPW59YnJlYWs7Y2FzZSJzIjppZihoLmxlbmd0aD09MSl7RD1BfWVsc2V7RC5zPUF9YnJlYWs7Y2FzZSJ2IjppZihoLmxlbmd0aD09MSl7RD14fWVsc2V7RC52PXh9YnJlYWt9fXJldHVybiBEPT17fT9sLmNhbGwocSwiYWxsIik6RDticmVha319aWYociE9bnVsbCYmcj09cSl7cmV0dXJufXZhciB2PWZhbHNlO2lmKGg9PW51bGwpe2g9IiJ9aWYoRz09bnVsbCl7aWYoaiE9bnVsbCl7aj1udWxsO3Y9dHJ1ZX1pZihvIT1udWxsKXtvPW51bGw7dj10cnVlfWlmKHQhPW51bGwpe3Q9bnVsbDt2PXRydWV9aWYodSE9bnVsbCl7dT1udWxsO3Y9dHJ1ZX1pZihuIT1udWxsKXtuPW51bGw7dj10cnVlfWlmKEEhPW51bGwpe0E9bnVsbDt2PXRydWV9aWYoeCE9bnVsbCl7eD1udWxsO3Y9dHJ1ZX12JiZtLmNhbGwocSxyfHxxKTtyZXR1cm59c3dpdGNoKGgudG9Mb3dlckNhc2UoKSl7Y2FzZSJhaGV4IjpjYXNlImhleCI6dmFyIEQ9Zy5oZXhUb1JnYmEoRyYmKEcuYWhleHx8Ry5oZXgpfHxHfHwiMDAwMDAwMDAiKTtsLmNhbGwocSwicmdiYSIse3I6RC5yLGc6RC5nLGI6RC5iLGE6aD09ImFoZXgiP0QuYTp1IT1udWxsP3U6MjU1fSxyKTticmVhaztkZWZhdWx0OmlmKEcmJihHLmFoZXghPW51bGx8fEcuaGV4IT1udWxsKSl7bC5jYWxsKHEsImFoZXgiLEcuYWhleHx8Ry5oZXh8fCIwMDAwMDAwMCIscik7cmV0dXJufXZhciBzPXt9LEU9ZmFsc2UsQz1mYWxzZTtpZihHLnIhPT11bmRlZmluZWQmJiFoLmluZGV4T2YoInIiKT09LTEpe2grPSJyIn1pZihHLmchPT11bmRlZmluZWQmJiFoLmluZGV4T2YoImciKT09LTEpe2grPSJnIn1pZihHLmIhPT11bmRlZmluZWQmJiFoLmluZGV4T2YoImIiKT09LTEpe2grPSJiIn1pZihHLmEhPT11bmRlZmluZWQmJiFoLmluZGV4T2YoImEiKT09LTEpe2grPSJhIn1pZihHLmghPT11bmRlZmluZWQmJiFoLmluZGV4T2YoImgiKT09LTEpe2grPSJoIn1pZihHLnMhPT11bmRlZmluZWQmJiFoLmluZGV4T2YoInMiKT09LTEpe2grPSJzIn1pZihHLnYhPT11bmRlZmluZWQmJiFoLmluZGV4T2YoInYiKT09LTEpe2grPSJ2In1mb3IodmFyIEI9MDtCPGgubGVuZ3RoO0IrKyl7c3dpdGNoKGguY2hhckF0KEIpKXtjYXNlInIiOmlmKEMpe2NvbnRpbnVlfUU9dHJ1ZTtzLnI9RyYmRy5yJiZHLnJ8MHx8RyYmR3wwfHwwO2lmKHMucjwwKXtzLnI9MH1lbHNle2lmKHMucj4yNTUpe3Mucj0yNTV9fWlmKGohPXMucil7aj1zLnI7dj10cnVlfWJyZWFrO2Nhc2UiZyI6aWYoQyl7Y29udGludWV9RT10cnVlO3MuZz1HJiZHLmcmJkcuZ3wwfHxHJiZHfDB8fDA7aWYocy5nPDApe3MuZz0wfWVsc2V7aWYocy5nPjI1NSl7cy5nPTI1NX19aWYobyE9cy5nKXtvPXMuZzt2PXRydWV9YnJlYWs7Y2FzZSJiIjppZihDKXtjb250aW51ZX1FPXRydWU7cy5iPUcmJkcuYiYmRy5ifDB8fEcmJkd8MHx8MDtpZihzLmI8MCl7cy5iPTB9ZWxzZXtpZihzLmI+MjU1KXtzLmI9MjU1fX1pZih0IT1zLmIpe3Q9cy5iO3Y9dHJ1ZX1icmVhaztjYXNlImEiOnMuYT1HJiZHLmEhPW51bGw/Ry5hfDA6RyE9bnVsbD9HfDA6MjU1O2lmKHMuYTwwKXtzLmE9MH1lbHNle2lmKHMuYT4yNTUpe3MuYT0yNTV9fWlmKHUhPXMuYSl7dT1zLmE7dj10cnVlfWJyZWFrO2Nhc2UiaCI6aWYoRSl7Y29udGludWV9Qz10cnVlO3MuaD1HJiZHLmgmJkcuaHwwfHxHJiZHfDB8fDA7aWYocy5oPDApe3MuaD0wfWVsc2V7aWYocy5oPjM2MCl7cy5oPTM2MH19aWYobiE9cy5oKXtuPXMuaDt2PXRydWV9YnJlYWs7Y2FzZSJzIjppZihFKXtjb250aW51ZX1DPXRydWU7cy5zPUcmJkcucyE9bnVsbD9HLnN8MDpHIT1udWxsP0d8MDoxMDA7aWYocy5zPDApe3Mucz0wfWVsc2V7aWYocy5zPjEwMCl7cy5zPTEwMH19aWYoQSE9cy5zKXtBPXMuczt2PXRydWV9YnJlYWs7Y2FzZSJ2IjppZihFKXtjb250aW51ZX1DPXRydWU7cy52PUcmJkcudiE9bnVsbD9HLnZ8MDpHIT1udWxsP0d8MDoxMDA7aWYocy52PDApe3Mudj0wfWVsc2V7aWYocy52PjEwMCl7cy52PTEwMH19aWYoeCE9cy52KXt4PXMudjt2PXRydWV9YnJlYWt9fWlmKHYpe2lmKEUpe2o9anx8MDtvPW98fDA7dD10fHwwO3ZhciBEPWcucmdiVG9Ic3Yoe3I6aixnOm8sYjp0fSk7bj1ELmg7QT1ELnM7eD1ELnZ9ZWxzZXtpZihDKXtuPW58fDA7QT1BIT1udWxsP0E6MTAwO3g9eCE9bnVsbD94OjEwMDt2YXIgRD1nLmhzdlRvUmdiKHtoOm4sczpBLHY6eH0pO2o9RC5yO289RC5nO3Q9RC5ifX11PXUhPW51bGw/dToyNTU7bS5jYWxsKHEscnx8cSl9YnJlYWt9fSxwPWZ1bmN0aW9uKGgpe2lmKGUuaXNGdW5jdGlvbihoKSl7ay5wdXNoKGgpfX0seT1mdW5jdGlvbihyKXtpZighZS5pc0Z1bmN0aW9uKHIpKXtyZXR1cm59dmFyIGg7d2hpbGUoKGg9ZS5pbkFycmF5KHIsaykpIT0tMSl7ay5zcGxpY2UoaCwxKX19LHc9ZnVuY3Rpb24oKXtrPW51bGx9O2UuZXh0ZW5kKHRydWUscSx7dmFsOmwsYmluZDpwLHVuYmluZDp5LGRlc3Ryb3k6d30pO2lmKHope2lmKHouYWhleCE9bnVsbCl7bCgiYWhleCIseil9ZWxzZXtpZih6LmhleCE9bnVsbCl7bCgoei5hIT1udWxsPyJhIjoiIikrImhleCIsei5hIT1udWxsP3thaGV4OnouaGV4K2cuaW50VG9IZXgoei5hKX06eil9ZWxzZXtpZih6LnIhPW51bGwmJnouZyE9bnVsbCYmei5iIT1udWxsKXtsKCJyZ2IiKyh6LmEhPW51bGw/ImEiOiIiKSx6KX1lbHNle2lmKHouaCE9bnVsbCYmei5zIT1udWxsJiZ6LnYhPW51bGwpe2woImhzdiIrKHouYSE9bnVsbD8iYSI6IiIpLHopfX19fX19LENvbG9yTWV0aG9kczp7aGV4VG9SZ2JhOmZ1bmN0aW9uKG0pe209dGhpcy52YWxpZGF0ZUhleChtKTtpZihtPT0iIil7cmV0dXJue3I6bnVsbCxnOm51bGwsYjpudWxsLGE6bnVsbH19dmFyIGw9IjAwIixrPSIwMCIsaD0iMDAiLGo9IjI1NSI7aWYobS5sZW5ndGg9PTYpe20rPSJmZiJ9aWYobS5sZW5ndGg+Nil7bD1tLnN1YnN0cmluZygwLDIpO2s9bS5zdWJzdHJpbmcoMiw0KTtoPW0uc3Vic3RyaW5nKDQsNik7aj1tLnN1YnN0cmluZyg2LG0ubGVuZ3RoKX1lbHNle2lmKG0ubGVuZ3RoPjQpe2w9bS5zdWJzdHJpbmcoNCxtLmxlbmd0aCk7bT1tLnN1YnN0cmluZygwLDQpfWlmKG0ubGVuZ3RoPjIpe2s9bS5zdWJzdHJpbmcoMixtLmxlbmd0aCk7bT1tLnN1YnN0cmluZygwLDIpfWlmKG0ubGVuZ3RoPjApe2g9bS5zdWJzdHJpbmcoMCxtLmxlbmd0aCl9fXJldHVybntyOnRoaXMuaGV4VG9JbnQobCksZzp0aGlzLmhleFRvSW50KGspLGI6dGhpcy5oZXhUb0ludChoKSxhOnRoaXMuaGV4VG9JbnQoail9fSx2YWxpZGF0ZUhleDpmdW5jdGlvbihoKXtoPWgudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bXmEtZjAtOV0vZywiIik7aWYoaC5sZW5ndGg+OCl7aD1oLnN1YnN0cmluZygwLDgpfXJldHVybiBofSxyZ2JhVG9IZXg6ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuaW50VG9IZXgoaC5yKSt0aGlzLmludFRvSGV4KGguZykrdGhpcy5pbnRUb0hleChoLmIpK3RoaXMuaW50VG9IZXgoaC5hKX0saW50VG9IZXg6ZnVuY3Rpb24oail7dmFyIGg9KGp8MCkudG9TdHJpbmcoMTYpO2lmKGgubGVuZ3RoPT0xKXtoPSgiMCIraCl9cmV0dXJuIGgudG9Mb3dlckNhc2UoKX0saGV4VG9JbnQ6ZnVuY3Rpb24oaCl7cmV0dXJuIHBhcnNlSW50KGgsMTYpfSxyZ2JUb0hzdjpmdW5jdGlvbihsKXt2YXIgbz1sLnIvMjU1LG49bC5nLzI1NSxqPWwuYi8yNTUsaz17aDowLHM6MCx2OjB9LG09MCxoPTAscDtpZihvPj1uJiZvPj1qKXtoPW87bT1uPmo/ajpufWVsc2V7aWYobj49aiYmbj49byl7aD1uO209bz5qP2o6b31lbHNle2g9ajttPW4+bz9vOm59fWsudj1oO2sucz1oPyhoLW0pL2g6MDtpZighay5zKXtrLmg9MH1lbHNle3A9aC1tO2lmKG89PWgpe2suaD0obi1qKS9wfWVsc2V7aWYobj09aCl7ay5oPTIrKGotbykvcH1lbHNle2suaD00KyhvLW4pL3B9fWsuaD1wYXJzZUludChrLmgqNjApO2lmKGsuaDwwKXtrLmgrPTM2MH19ay5zPShrLnMqMTAwKXwwO2sudj0oay52KjEwMCl8MDtyZXR1cm4ga30saHN2VG9SZ2I6ZnVuY3Rpb24obil7dmFyIHI9e3I6MCxnOjAsYjowLGE6MTAwfSxtPW4uaCx4PW4ucyx1PW4udjtpZih4PT0wKXtpZih1PT0wKXtyLnI9ci5nPXIuYj0wfWVsc2V7ci5yPXIuZz1yLmI9KHUqMjU1LzEwMCl8MH19ZWxzZXtpZihtPT0zNjApe209MH1tLz02MDt4PXgvMTAwO3U9dS8xMDA7dmFyIGw9bXwwLG89bS1sLGs9dSooMS14KSxqPXUqKDEtKHgqbykpLHc9dSooMS0oeCooMS1vKSkpO3N3aXRjaChsKXtjYXNlIDA6ci5yPXU7ci5nPXc7ci5iPWs7YnJlYWs7Y2FzZSAxOnIucj1qO3IuZz11O3IuYj1rO2JyZWFrO2Nhc2UgMjpyLnI9aztyLmc9dTtyLmI9dzticmVhaztjYXNlIDM6ci5yPWs7ci5nPWo7ci5iPXU7YnJlYWs7Y2FzZSA0OnIucj13O3IuZz1rO3IuYj11O2JyZWFrO2Nhc2UgNTpyLnI9dTtyLmc9aztyLmI9ajticmVha31yLnI9KHIucioyNTUpfDA7ci5nPShyLmcqMjU1KXwwO3IuYj0oci5iKjI1NSl8MH1yZXR1cm4gcn19fTt2YXIgZj1lLmpQaWNrZXIuQ29sb3IsYz1lLmpQaWNrZXIuTGlzdCxnPWUualBpY2tlci5Db2xvck1ldGhvZHM7ZS5mbi5qUGlja2VyPWZ1bmN0aW9uKGope3ZhciBoPWFyZ3VtZW50cztyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHc9dGhpcyxhdj1lLmV4dGVuZCh0cnVlLHt9LGUuZm4ualBpY2tlci5kZWZhdWx0cyxqKTtpZihlKHcpLmdldCgwKS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT0iaW5wdXQiKXtlLmV4dGVuZCh0cnVlLGF2LHt3aW5kb3c6e2JpbmRUb0lucHV0OnRydWUsZXhwYW5kYWJsZTp0cnVlLGlucHV0OmUodyl9fSk7aWYoZSh3KS52YWwoKT09IiIpe2F2LmNvbG9yLmFjdGl2ZT1uZXcgZih7aGV4Om51bGx9KTthdi5jb2xvci5jdXJyZW50PW5ldyBmKHtoZXg6bnVsbH0pfWVsc2V7aWYoZy52YWxpZGF0ZUhleChlKHcpLnZhbCgpKSl7YXYuY29sb3IuYWN0aXZlPW5ldyBmKHtoZXg6ZSh3KS52YWwoKSxhOmF2LmNvbG9yLmFjdGl2ZS52YWwoImEiKX0pO2F2LmNvbG9yLmN1cnJlbnQ9bmV3IGYoe2hleDplKHcpLnZhbCgpLGE6YXYuY29sb3IuYWN0aXZlLnZhbCgiYSIpfSl9fX1pZihhdi53aW5kb3cuZXhwYW5kYWJsZSl7ZSh3KS5hZnRlcignPHNwYW4gY2xhc3M9ImpQaWNrZXIiPjxzcGFuIGNsYXNzPSJJY29uIj48c3BhbiBjbGFzcz0iQ29sb3IiPiZuYnNwOzwvc3Bhbj48c3BhbiBjbGFzcz0iQWxwaGEiPiZuYnNwOzwvc3Bhbj48c3BhbiBjbGFzcz0iSW1hZ2UiIHRpdGxlPSJDbGljayBUbyBPcGVuIENvbG9yIFBpY2tlciI+Jm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSJDb250YWluZXIiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PC9zcGFuPicpfWVsc2V7YXYud2luZG93LmxpdmVVcGRhdGU9ZmFsc2V9dmFyIFE9cGFyc2VGbG9hdChuYXZpZ2F0b3IuYXBwVmVyc2lvbi5zcGxpdCgiTVNJRSIpWzFdKTw3JiZkb2N1bWVudC5ib2R5LmZpbHRlcnMsUj1udWxsLGw9bnVsbCxzPW51bGwsYXU9bnVsbCxhdD1udWxsLGFyPW51bGwsUD1udWxsLE89bnVsbCxOPW51bGwsTT1udWxsLEw9bnVsbCxLPW51bGwsRD1udWxsLFU9bnVsbCxhdz1udWxsLEo9bnVsbCxJPW51bGwsYW09bnVsbCxhaT1udWxsLEU9bnVsbCxhbj1udWxsLGFoPW51bGwsWD1udWxsLGFiPW51bGwsYXE9bnVsbCxyPW51bGwsQz1udWxsLHU9bnVsbCxhZz1mdW5jdGlvbihhQil7dmFyIGFEPUcuYWN0aXZlLGFFPW4uY2xpZW50UGF0aCxhQT1hRC52YWwoImhleCIpLGFDLGF6O2F2LmNvbG9yLm1vZGU9YUI7c3dpdGNoKGFCKXtjYXNlImgiOnNldFRpbWVvdXQoZnVuY3Rpb24oKXt5LmNhbGwodyxsLCJ0cmFuc3BhcmVudCIpO3guY2FsbCh3LGF1LDApO1kuY2FsbCh3LGF1LDEwMCk7eC5jYWxsKHcsYXQsMjYwKTtZLmNhbGwodyxhdCwxMDApO3kuY2FsbCh3LHMsInRyYW5zcGFyZW50Iik7eC5jYWxsKHcsUCwwKTtZLmNhbGwodyxQLDEwMCk7eC5jYWxsKHcsTywyNjApO1kuY2FsbCh3LE8sMTAwKTt4LmNhbGwodyxOLDI2MCk7WS5jYWxsKHcsTiwxMDApO3guY2FsbCh3LE0sMjYwKTtZLmNhbGwodyxNLDEwMCk7eC5jYWxsKHcsSywyNjApO1kuY2FsbCh3LEssMTAwKX0sMCk7RC5yYW5nZSgiYWxsIix7bWluWDowLG1heFg6MTAwLG1pblk6MCxtYXhZOjEwMH0pO1UucmFuZ2UoInJhbmdlWSIse21pblk6MCxtYXhZOjM2MH0pO2lmKGFELnZhbCgiYWhleCIpPT1udWxsKXticmVha31ELnZhbCgieHkiLHt4OmFELnZhbCgicyIpLHk6MTAwLWFELnZhbCgidiIpfSxEKTtVLnZhbCgieSIsMzYwLWFELnZhbCgiaCIpLFUpO2JyZWFrO2Nhc2UicyI6c2V0VGltZW91dChmdW5jdGlvbigpe3kuY2FsbCh3LGwsInRyYW5zcGFyZW50Iik7eC5jYWxsKHcsYXUsLTI2MCk7eC5jYWxsKHcsYXQsLTUyMCk7eC5jYWxsKHcsUCwtMjYwKTt4LmNhbGwodyxPLC01MjApO3guY2FsbCh3LEssMjYwKTtZLmNhbGwodyxLLDEwMCl9LDApO0QucmFuZ2UoImFsbCIse21pblg6MCxtYXhYOjM2MCxtaW5ZOjAsbWF4WToxMDB9KTtVLnJhbmdlKCJyYW5nZVkiLHttaW5ZOjAsbWF4WToxMDB9KTtpZihhRC52YWwoImFoZXgiKT09bnVsbCl7YnJlYWt9RC52YWwoInh5Iix7eDphRC52YWwoImgiKSx5OjEwMC1hRC52YWwoInYiKX0sRCk7VS52YWwoInkiLDEwMC1hRC52YWwoInMiKSxVKTticmVhaztjYXNlInYiOnNldFRpbWVvdXQoZnVuY3Rpb24oKXt5LmNhbGwodyxsLCIwMDAwMDAiKTt4LmNhbGwodyxhdSwtNzgwKTt4LmNhbGwodyxhdCwyNjApO3kuY2FsbCh3LHMsYUEpO3guY2FsbCh3LFAsLTUyMCk7eC5jYWxsKHcsTywyNjApO1kuY2FsbCh3LE8sMTAwKTt4LmNhbGwodyxLLDI2MCk7WS5jYWxsKHcsSywxMDApfSwwKTtELnJhbmdlKCJhbGwiLHttaW5YOjAsbWF4WDozNjAsbWluWTowLG1heFk6MTAwfSk7VS5yYW5nZSgicmFuZ2VZIix7bWluWTowLG1heFk6MTAwfSk7aWYoYUQudmFsKCJhaGV4Iik9PW51bGwpe2JyZWFrfUQudmFsKCJ4eSIse3g6YUQudmFsKCJoIikseToxMDAtYUQudmFsKCJzIil9LEQpO1UudmFsKCJ5IiwxMDAtYUQudmFsKCJ2IiksVSk7YnJlYWs7Y2FzZSJyIjphQz0tMTA0MDthej0tNzgwO0QucmFuZ2UoImFsbCIse21pblg6MCxtYXhYOjI1NSxtaW5ZOjAsbWF4WToyNTV9KTtVLnJhbmdlKCJyYW5nZVkiLHttaW5ZOjAsbWF4WToyNTV9KTtpZihhRC52YWwoImFoZXgiKT09bnVsbCl7YnJlYWt9RC52YWwoInh5Iix7eDphRC52YWwoImIiKSx5OjI1NS1hRC52YWwoImciKX0sRCk7VS52YWwoInkiLDI1NS1hRC52YWwoInIiKSxVKTticmVhaztjYXNlImciOmFDPS0xNTYwO2F6PS0xODIwO0QucmFuZ2UoImFsbCIse21pblg6MCxtYXhYOjI1NSxtaW5ZOjAsbWF4WToyNTV9KTtVLnJhbmdlKCJyYW5nZVkiLHttaW5ZOjAsbWF4WToyNTV9KTtpZihhRC52YWwoImFoZXgiKT09bnVsbCl7YnJlYWt9RC52YWwoInh5Iix7eDphRC52YWwoImIiKSx5OjI1NS1hRC52YWwoInIiKX0sRCk7VS52YWwoInkiLDI1NS1hRC52YWwoImciKSxVKTticmVhaztjYXNlImIiOmFDPS0yMDgwO2F6PS0yODYwO0QucmFuZ2UoImFsbCIse21pblg6MCxtYXhYOjI1NSxtaW5ZOjAsbWF4WToyNTV9KTtVLnJhbmdlKCJyYW5nZVkiLHttaW5ZOjAsbWF4WToyNTV9KTtpZihhRC52YWwoImFoZXgiKT09bnVsbCl7YnJlYWt9RC52YWwoInh5Iix7eDphRC52YWwoInIiKSx5OjI1NS1hRC52YWwoImciKX0sRCk7VS52YWwoInkiLDI1NS1hRC52YWwoImIiKSxVKTticmVhaztjYXNlImEiOnNldFRpbWVvdXQoZnVuY3Rpb24oKXt5LmNhbGwodyxsLCJ0cmFuc3BhcmVudCIpO3guY2FsbCh3LGF1LC0yNjApO3guY2FsbCh3LGF0LC01MjApO3guY2FsbCh3LFAsMjYwKTt4LmNhbGwodyxPLDI2MCk7WS5jYWxsKHcsTywxMDApO3guY2FsbCh3LEssMCk7WS5jYWxsKHcsSywxMDApfSwwKTtELnJhbmdlKCJhbGwiLHttaW5YOjAsbWF4WDozNjAsbWluWTowLG1heFk6MTAwfSk7VS5yYW5nZSgicmFuZ2VZIix7bWluWTowLG1heFk6MjU1fSk7aWYoYUQudmFsKCJhaGV4Iik9PW51bGwpe2JyZWFrfUQudmFsKCJ4eSIse3g6YUQudmFsKCJoIikseToxMDAtYUQudmFsKCJ2Iil9LEQpO1UudmFsKCJ5IiwyNTUtYUQudmFsKCJhIiksVSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyAoIkludmFsaWQgTW9kZSIpO2JyZWFrfXN3aXRjaChhQil7Y2FzZSJoIjpicmVhaztjYXNlInMiOmNhc2UidiI6Y2FzZSJhIjpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7WS5jYWxsKHcsYXUsMTAwKTtZLmNhbGwodyxQLDEwMCk7eC5jYWxsKHcsTiwyNjApO1kuY2FsbCh3LE4sMTAwKTt4LmNhbGwodyxNLDI2MCk7WS5jYWxsKHcsTSwxMDApfSwwKTticmVhaztjYXNlInIiOmNhc2UiZyI6Y2FzZSJiIjpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7eS5jYWxsKHcsbCwidHJhbnNwYXJlbnQiKTt5LmNhbGwodyxzLCJ0cmFuc3BhcmVudCIpO1kuY2FsbCh3LFAsMTAwKTtZLmNhbGwodyxhdSwxMDApO3guY2FsbCh3LGF1LGFDKTt4LmNhbGwodyxhdCxhQy0yNjApO3guY2FsbCh3LFAsYXotNzgwKTt4LmNhbGwodyxPLGF6LTUyMCk7eC5jYWxsKHcsTixheik7eC5jYWxsKHcsTSxhei0yNjApO3guY2FsbCh3LEssMjYwKTtZLmNhbGwodyxLLDEwMCl9LDApO2JyZWFrfWlmKGFELnZhbCgiYWhleCIpPT1udWxsKXtyZXR1cm59YWouY2FsbCh3LGFEKX0sYWo9ZnVuY3Rpb24oYUEsYXope2lmKGF6PT1udWxsfHwoYXohPVUmJmF6IT1EKSl7di5jYWxsKHcsYUEsYXopfXNldFRpbWVvdXQoZnVuY3Rpb24oKXtheS5jYWxsKHcsYUEpO2FsLmNhbGwodyxhQSk7Vy5jYWxsKHcsYUEpfSwwKX0sej1mdW5jdGlvbihhQSxheil7dmFyIGFDPUcuYWN0aXZlO2lmKGF6IT1EJiZhQy52YWwoKT09bnVsbCl7cmV0dXJufXZhciBhQj1hQS52YWwoImFsbCIpO3N3aXRjaChhdi5jb2xvci5tb2RlKXtjYXNlImgiOmFDLnZhbCgic3YiLHtzOmFCLngsdjoxMDAtYUIueX0sYXopO2JyZWFrO2Nhc2UicyI6Y2FzZSJhIjphQy52YWwoImh2Iix7aDphQi54LHY6MTAwLWFCLnl9LGF6KTticmVhaztjYXNlInYiOmFDLnZhbCgiaHMiLHtoOmFCLngsczoxMDAtYUIueX0sYXopO2JyZWFrO2Nhc2UiciI6YUMudmFsKCJnYiIse2c6MjU1LWFCLnksYjphQi54fSxheik7YnJlYWs7Y2FzZSJnIjphQy52YWwoInJiIix7cjoyNTUtYUIueSxiOmFCLnh9LGF6KTticmVhaztjYXNlImIiOmFDLnZhbCgicmciLHtyOmFCLngsZzoyNTUtYUIueX0sYXopO2JyZWFrfX0sYWM9ZnVuY3Rpb24oYUEsYXope3ZhciBhQj1HLmFjdGl2ZTtpZihheiE9VSYmYUIudmFsKCk9PW51bGwpe3JldHVybn1zd2l0Y2goYXYuY29sb3IubW9kZSl7Y2FzZSJoIjphQi52YWwoImgiLHtoOjM2MC1hQS52YWwoInkiKX0sYXopO2JyZWFrO2Nhc2UicyI6YUIudmFsKCJzIix7czoxMDAtYUEudmFsKCJ5Iil9LGF6KTticmVhaztjYXNlInYiOmFCLnZhbCgidiIse3Y6MTAwLWFBLnZhbCgieSIpfSxheik7YnJlYWs7Y2FzZSJyIjphQi52YWwoInIiLHtyOjI1NS1hQS52YWwoInkiKX0sYXopO2JyZWFrO2Nhc2UiZyI6YUIudmFsKCJnIix7ZzoyNTUtYUEudmFsKCJ5Iil9LGF6KTticmVhaztjYXNlImIiOmFCLnZhbCgiYiIse2I6MjU1LWFBLnZhbCgieSIpfSxheik7YnJlYWs7Y2FzZSJhIjphQi52YWwoImEiLDI1NS1hQS52YWwoInkiKSxheik7YnJlYWt9fSx2PWZ1bmN0aW9uKGFDLGF6KXtpZihheiE9RCl7c3dpdGNoKGF2LmNvbG9yLm1vZGUpe2Nhc2UiaCI6dmFyIGFIPWFDLnZhbCgic3YiKTtELnZhbCgieHkiLHt4OmFIIT1udWxsP2FILnM6MTAwLHk6MTAwLShhSCE9bnVsbD9hSC52OjEwMCl9LGF6KTticmVhaztjYXNlInMiOmNhc2UiYSI6dmFyIGFCPWFDLnZhbCgiaHYiKTtELnZhbCgieHkiLHt4OmFCJiZhQi5ofHwwLHk6MTAwLShhQiE9bnVsbD9hQi52OjEwMCl9LGF6KTticmVhaztjYXNlInYiOnZhciBhRT1hQy52YWwoImhzIik7RC52YWwoInh5Iix7eDphRSYmYUUuaHx8MCx5OjEwMC0oYUUhPW51bGw/YUUuczoxMDApfSxheik7YnJlYWs7Y2FzZSJyIjp2YXIgYUE9YUMudmFsKCJiZyIpO0QudmFsKCJ4eSIse3g6YUEmJmFBLmJ8fDAseToyNTUtKGFBJiZhQS5nfHwwKX0sYXopO2JyZWFrO2Nhc2UiZyI6dmFyIGFJPWFDLnZhbCgiYnIiKTtELnZhbCgieHkiLHt4OmFJJiZhSS5ifHwwLHk6MjU1LShhSSYmYUkucnx8MCl9LGF6KTticmVhaztjYXNlImIiOnZhciBhRz1hQy52YWwoInJnIik7RC52YWwoInh5Iix7eDphRyYmYUcucnx8MCx5OjI1NS0oYUcmJmFHLmd8fDApfSxheik7YnJlYWt9fWlmKGF6IT1VKXtzd2l0Y2goYXYuY29sb3IubW9kZSl7Y2FzZSJoIjpVLnZhbCgieSIsMzYwLShhQy52YWwoImgiKXx8MCksYXopO2JyZWFrO2Nhc2UicyI6dmFyIGFKPWFDLnZhbCgicyIpO1UudmFsKCJ5IiwxMDAtKGFKIT1udWxsP2FKOjEwMCksYXopO2JyZWFrO2Nhc2UidiI6dmFyIGFGPWFDLnZhbCgidiIpO1UudmFsKCJ5IiwxMDAtKGFGIT1udWxsP2FGOjEwMCksYXopO2JyZWFrO2Nhc2UiciI6VS52YWwoInkiLDI1NS0oYUMudmFsKCJyIil8fDApLGF6KTticmVhaztjYXNlImciOlUudmFsKCJ5IiwyNTUtKGFDLnZhbCgiZyIpfHwwKSxheik7YnJlYWs7Y2FzZSJiIjpVLnZhbCgieSIsMjU1LShhQy52YWwoImIiKXx8MCksYXopO2JyZWFrO2Nhc2UiYSI6dmFyIGFEPWFDLnZhbCgiYSIpO1UudmFsKCJ5IiwyNTUtKGFEIT1udWxsP2FEOjI1NSksYXopO2JyZWFrfX19LGF5PWZ1bmN0aW9uKGFBKXt0cnl7dmFyIGF6PWFBLnZhbCgiYWxsIik7RS5jc3Moe2JhY2tncm91bmRDb2xvcjpheiYmIiMiK2F6LmhleHx8InRyYW5zcGFyZW50In0pO1kuY2FsbCh3LEUsYXomJk1hdGgucHJlY2lzaW9uKChhei5hKjEwMCkvMjU1LDQpfHwwKX1jYXRjaChhQil7fX0sYWw9ZnVuY3Rpb24oYUMpe3N3aXRjaChhdi5jb2xvci5tb2RlKXtjYXNlImgiOnkuY2FsbCh3LGwsbmV3IGYoe2g6YUMudmFsKCJoIil8fDAsczoxMDAsdjoxMDB9KS52YWwoImhleCIpKTticmVhaztjYXNlInMiOmNhc2UiYSI6dmFyIGFCPWFDLnZhbCgicyIpO1kuY2FsbCh3LGF0LDEwMC0oYUIhPW51bGw/YUI6MTAwKSk7YnJlYWs7Y2FzZSJ2Ijp2YXIgYUE9YUMudmFsKCJ2Iik7WS5jYWxsKHcsYXUsYUEhPW51bGw/YUE6MTAwKTticmVhaztjYXNlInIiOlkuY2FsbCh3LGF0LE1hdGgucHJlY2lzaW9uKChhQy52YWwoInIiKXx8MCkvMjU1KjEwMCw0KSk7YnJlYWs7Y2FzZSJnIjpZLmNhbGwodyxhdCxNYXRoLnByZWNpc2lvbigoYUMudmFsKCJnIil8fDApLzI1NSoxMDAsNCkpO2JyZWFrO2Nhc2UiYiI6WS5jYWxsKHcsYXQsTWF0aC5wcmVjaXNpb24oKGFDLnZhbCgiYiIpfHwwKS8yNTUqMTAwKSk7YnJlYWt9dmFyIGF6PWFDLnZhbCgiYSIpO1kuY2FsbCh3LGFyLE1hdGgucHJlY2lzaW9uKCgoMjU1LShhenx8MCkpKjEwMCkvMjU1LDQpKX0sVz1mdW5jdGlvbihhRil7c3dpdGNoKGF2LmNvbG9yLm1vZGUpe2Nhc2UiaCI6dmFyIGFIPWFGLnZhbCgiYSIpO1kuY2FsbCh3LEwsTWF0aC5wcmVjaXNpb24oKCgyNTUtKGFIfHwwKSkqMTAwKS8yNTUsNCkpO2JyZWFrO2Nhc2UicyI6dmFyIGFBPWFGLnZhbCgiaHZhIiksYUI9bmV3IGYoe2g6YUEmJmFBLmh8fDAsczoxMDAsdjphQSE9bnVsbD9hQS52OjEwMH0pO3kuY2FsbCh3LHMsYUIudmFsKCJoZXgiKSk7WS5jYWxsKHcsTywxMDAtKGFBIT1udWxsP2FBLnY6MTAwKSk7WS5jYWxsKHcsTCxNYXRoLnByZWNpc2lvbigoKDI1NS0oYUEmJmFBLmF8fDApKSoxMDApLzI1NSw0KSk7YnJlYWs7Y2FzZSJ2Ijp2YXIgYUM9YUYudmFsKCJoc2EiKSxhRT1uZXcgZih7aDphQyYmYUMuaHx8MCxzOmFDIT1udWxsP2FDLnM6MTAwLHY6MTAwfSk7eS5jYWxsKHcscyxhRS52YWwoImhleCIpKTtZLmNhbGwodyxMLE1hdGgucHJlY2lzaW9uKCgoMjU1LShhQyYmYUMuYXx8MCkpKjEwMCkvMjU1LDQpKTticmVhaztjYXNlInIiOmNhc2UiZyI6Y2FzZSJiIjp2YXIgYUQ9MCxhRz0wLGF6PWFGLnZhbCgicmdiYSIpO2lmKGF2LmNvbG9yLm1vZGU9PSJyIil7YUQ9YXomJmF6LmJ8fDA7YUc9YXomJmF6Lmd8fDB9ZWxzZXtpZihhdi5jb2xvci5tb2RlPT0iZyIpe2FEPWF6JiZhei5ifHwwO2FHPWF6JiZhei5yfHwwfWVsc2V7aWYoYXYuY29sb3IubW9kZT09ImIiKXthRD1heiYmYXoucnx8MDthRz1heiYmYXouZ3x8MH19fXZhciBhST1hRz5hRD9hRDphRztZLmNhbGwodyxPLGFEPmFHP01hdGgucHJlY2lzaW9uKCgoYUQtYUcpLygyNTUtYUcpKSoxMDAsNCk6MCk7WS5jYWxsKHcsTixhRz5hRD9NYXRoLnByZWNpc2lvbigoKGFHLWFEKS8oMjU1LWFEKSkqMTAwLDQpOjApO1kuY2FsbCh3LE0sTWF0aC5wcmVjaXNpb24oKGFJLzI1NSkqMTAwLDQpKTtZLmNhbGwodyxMLE1hdGgucHJlY2lzaW9uKCgoMjU1LShheiYmYXouYXx8MCkpKjEwMCkvMjU1LDQpKTticmVhaztjYXNlImEiOnZhciBhSD1hRi52YWwoImEiKTt5LmNhbGwodyxzLGFGLnZhbCgiaGV4Iil8fCIwMDAwMDAiKTtZLmNhbGwodyxMLGFIIT1udWxsPzA6MTAwKTtZLmNhbGwodyxLLGFIIT1udWxsPzEwMDowKTticmVha319LHk9ZnVuY3Rpb24oYXosYUEpe2F6LmNzcyh7YmFja2dyb3VuZENvbG9yOmFBJiZhQS5sZW5ndGg9PTYmJiIjIithQXx8InRyYW5zcGFyZW50In0pfSx0PWZ1bmN0aW9uKGF6LGFBKXtpZihRJiYoYUEuaW5kZXhPZigiQWxwaGFCYXIucG5nIikhPS0xfHxhQS5pbmRleE9mKCJCYXJzLnBuZyIpIT0tMXx8YUEuaW5kZXhPZigiTWFwcy5wbmciKSE9LTEpKXthei5hdHRyKCJwbmdTcmMiLGFBKTthei5jc3Moe2JhY2tncm91bmRJbWFnZToibm9uZSIsZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9JyIrYUErIicsIHNpemluZ01ldGhvZD0nc2NhbGUnKSJ9KX1lbHNle2F6LmNzcyh7YmFja2dyb3VuZEltYWdlOiJ1cmwoJyIrYUErIicpIn0pfX0seD1mdW5jdGlvbihheixhQSl7YXouY3NzKHt0b3A6YUErInB4In0pfSxZPWZ1bmN0aW9uKGFBLGF6KXthQS5jc3Moe3Zpc2liaWxpdHk6YXo+MD8idmlzaWJsZSI6ImhpZGRlbiJ9KTtpZihhej4wJiZhejwxMDApe2lmKFEpe3ZhciBhQj1hQS5hdHRyKCJwbmdTcmMiKTtpZihhQiE9bnVsbCYmKGFCLmluZGV4T2YoIkFscGhhQmFyLnBuZyIpIT0tMXx8YUIuaW5kZXhPZigiQmFycy5wbmciKSE9LTF8fGFCLmluZGV4T2YoIk1hcHMucG5nIikhPS0xKSl7YUEuY3NzKHtmaWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nIithQisiJywgc2l6aW5nTWV0aG9kPSdzY2FsZScpIHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShvcGFjaXR5PSIrYXorIikifSl9ZWxzZXthQS5jc3Moe29wYWNpdHk6TWF0aC5wcmVjaXNpb24oYXovMTAwLDQpfSl9fWVsc2V7YUEuY3NzKHtvcGFjaXR5Ok1hdGgucHJlY2lzaW9uKGF6LzEwMCw0KX0pfX1lbHNle2lmKGF6PT0wfHxhej09MTAwKXtpZihRKXt2YXIgYUI9YUEuYXR0cigicG5nU3JjIik7aWYoYUIhPW51bGwmJihhQi5pbmRleE9mKCJBbHBoYUJhci5wbmciKSE9LTF8fGFCLmluZGV4T2YoIkJhcnMucG5nIikhPS0xfHxhQi5pbmRleE9mKCJNYXBzLnBuZyIpIT0tMSkpe2FBLmNzcyh7ZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9JyIrYUIrIicsIHNpemluZ01ldGhvZD0nc2NhbGUnKSJ9KX1lbHNle2FBLmNzcyh7b3BhY2l0eToiIn0pfX1lbHNle2FBLmNzcyh7b3BhY2l0eToiIn0pfX19fSxCPWZ1bmN0aW9uKCl7Ry5hY3RpdmUudmFsKCJhaGV4IixHLmN1cnJlbnQudmFsKCJhaGV4IikpfSxUPWZ1bmN0aW9uKCl7Ry5jdXJyZW50LnZhbCgiYWhleCIsRy5hY3RpdmUudmFsKCJhaGV4IikpfSxBPWZ1bmN0aW9uKGF6KXtlKHRoaXMpLnBhcmVudHMoInRib2R5OmZpcnN0IikuZmluZCgnaW5wdXQ6cmFkaW9bdmFsdWUhPSInK2F6LnRhcmdldC52YWx1ZSsnIl0nKS5yZW1vdmVBdHRyKCJjaGVja2VkIik7YWcuY2FsbCh3LGF6LnRhcmdldC52YWx1ZSl9LFo9ZnVuY3Rpb24oKXtCLmNhbGwodyl9LHE9ZnVuY3Rpb24oKXtCLmNhbGwodyk7YXYud2luZG93LmV4cGFuZGFibGUmJmFvLmNhbGwodyk7ZS5pc0Z1bmN0aW9uKGF4KSYmYXguY2FsbCh3LEcuYWN0aXZlLFgpfSxtPWZ1bmN0aW9uKCl7VC5jYWxsKHcpO2F2LndpbmRvdy5leHBhbmRhYmxlJiZhby5jYWxsKHcpO2UuaXNGdW5jdGlvbihhZSkmJmFlLmNhbGwodyxHLmFjdGl2ZSxhaCl9LGFmPWZ1bmN0aW9uKCl7Vi5jYWxsKHcpfSxhcD1mdW5jdGlvbihhQixheil7dmFyIGFBPWFCLnZhbCgiaGV4Iik7YW4uY3NzKHtiYWNrZ3JvdW5kQ29sb3I6YUEmJiIjIithQXx8InRyYW5zcGFyZW50In0pO1kuY2FsbCh3LGFuLE1hdGgucHJlY2lzaW9uKCgoYUIudmFsKCJhIil8fDApKjEwMCkvMjU1LDQpKX0sSD1mdW5jdGlvbihhQyxheil7dmFyIGFCPWFDLnZhbCgiaGV4Iik7dmFyIGFBPWFDLnZhbCgidmEiKTthcS5jc3Moe2JhY2tncm91bmRDb2xvcjphQiYmIiMiK2FCfHwidHJhbnNwYXJlbnQifSk7WS5jYWxsKHcscixNYXRoLnByZWNpc2lvbigoKDI1NS0oYUEmJmFBLmF8fDApKSoxMDApLzI1NSw0KSk7aWYoYXYud2luZG93LmJpbmRUb0lucHV0JiZhdi53aW5kb3cudXBkYXRlSW5wdXRDb2xvcil7YXYud2luZG93LmlucHV0LmNzcyh7YmFja2dyb3VuZENvbG9yOmFCJiYiIyIrYUJ8fCJ0cmFuc3BhcmVudCIsY29sb3I6YUE9PW51bGx8fGFBLnY+NzU/IiMwMDAwMDAiOiIjZmZmZmZmIn0pfX0sUz1mdW5jdGlvbihhQil7dmFyIGF6PWF2LndpbmRvdy5lbGVtZW50LGFBPWF2LndpbmRvdy5wYWdlO0o9cGFyc2VJbnQoUi5jc3MoImxlZnQiKSk7ST1wYXJzZUludChSLmNzcygidG9wIikpO2FtPWFCLnBhZ2VYO2FpPWFCLnBhZ2VZO2UoZG9jdW1lbnQpLmJpbmQoIm1vdXNlbW92ZSIsaykuYmluZCgibW91c2V1cCIscCk7YUIucHJldmVudERlZmF1bHQoKX0saz1mdW5jdGlvbihheil7Ui5jc3Moe2xlZnQ6Si0oYW0tYXoucGFnZVgpKyJweCIsdG9wOkktKGFpLWF6LnBhZ2VZKSsicHgifSk7aWYoYXYud2luZG93LmV4cGFuZGFibGUmJiFlLnN1cHBvcnQuYm94TW9kZWwpe1IucHJldigpLmNzcyh7bGVmdDpSLmNzcygibGVmdCIpLHRvcDpSLmNzcygidG9wIil9KX1hei5zdG9wUHJvcGFnYXRpb24oKTthei5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBmYWxzZX0scD1mdW5jdGlvbihheil7ZShkb2N1bWVudCkudW5iaW5kKCJtb3VzZW1vdmUiLGspLnVuYmluZCgibW91c2V1cCIscCk7YXouc3RvcFByb3BhZ2F0aW9uKCk7YXoucHJldmVudERlZmF1bHQoKTtyZXR1cm4gZmFsc2V9LEY9ZnVuY3Rpb24oYXope2F6LnByZXZlbnREZWZhdWx0KCk7YXouc3RvcFByb3BhZ2F0aW9uKCk7Ry5hY3RpdmUudmFsKCJhaGV4IixlKHRoaXMpLmF0dHIoInRpdGxlIil8fG51bGwsYXoudGFyZ2V0KTtyZXR1cm4gZmFsc2V9LGFlPWUuaXNGdW5jdGlvbihoWzFdKSYmaFsxXXx8bnVsbCxhZD1lLmlzRnVuY3Rpb24oaFsyXSkmJmhbMl18fG51bGwsYXg9ZS5pc0Z1bmN0aW9uKGhbM10pJiZoWzNdfHxudWxsLFY9ZnVuY3Rpb24oKXtHLmN1cnJlbnQudmFsKCJhaGV4IixHLmFjdGl2ZS52YWwoImFoZXgiKSk7dmFyIGF6PWZ1bmN0aW9uKCl7aWYoIWF2LndpbmRvdy5leHBhbmRhYmxlfHxlLnN1cHBvcnQuYm94TW9kZWwpe3JldHVybn12YXIgYUE9Ui5maW5kKCJ0YWJsZTpmaXJzdCIpO1IuYmVmb3JlKCI8aWZyYW1lLz4iKTtSLnByZXYoKS5jc3Moe3dpZHRoOmFBLndpZHRoKCksaGVpZ2h0OlIuaGVpZ2h0KCksb3BhY2l0eTowLHBvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDpSLmNzcygibGVmdCIpLHRvcDpSLmNzcygidG9wIil9KX07aWYoYXYud2luZG93LmV4cGFuZGFibGUpe2UoZG9jdW1lbnQuYm9keSkuY2hpbGRyZW4oImRpdi5qUGlja2VyLkNvbnRhaW5lciIpLmNzcyh7ekluZGV4OjEwfSk7Ui5jc3Moe3pJbmRleDoyMH0pfXN3aXRjaChhdi53aW5kb3cuZWZmZWN0cy50eXBlKXtjYXNlImZhZGUiOlIuZmFkZUluKGF2LndpbmRvdy5lZmZlY3RzLnNwZWVkLnNob3csYXopO2JyZWFrO2Nhc2Uic2xpZGUiOlIuc2xpZGVEb3duKGF2LndpbmRvdy5lZmZlY3RzLnNwZWVkLnNob3csYXopO2JyZWFrO2Nhc2Uic2hvdyI6ZGVmYXVsdDpSLnNob3coYXYud2luZG93LmVmZmVjdHMuc3BlZWQuc2hvdyxheik7YnJlYWt9fSxhbz1mdW5jdGlvbigpe3ZhciBhej1mdW5jdGlvbigpe2lmKGF2LndpbmRvdy5leHBhbmRhYmxlKXtSLmNzcyh7ekluZGV4OjEwfSl9aWYoIWF2LndpbmRvdy5leHBhbmRhYmxlfHxlLnN1cHBvcnQuYm94TW9kZWwpe3JldHVybn1SLnByZXYoKS5yZW1vdmUoKX07c3dpdGNoKGF2LndpbmRvdy5lZmZlY3RzLnR5cGUpe2Nhc2UiZmFkZSI6Ui5mYWRlT3V0KGF2LndpbmRvdy5lZmZlY3RzLnNwZWVkLmhpZGUsYXopO2JyZWFrO2Nhc2Uic2xpZGUiOlIuc2xpZGVVcChhdi53aW5kb3cuZWZmZWN0cy5zcGVlZC5oaWRlLGF6KTticmVhaztjYXNlInNob3ciOmRlZmF1bHQ6Ui5oaWRlKGF2LndpbmRvdy5lZmZlY3RzLnNwZWVkLmhpZGUsYXopO2JyZWFrfX0sbz1mdW5jdGlvbigpe3ZhciBhRz1hdi53aW5kb3csYXo9YUcuZXhwYW5kYWJsZT9lKHcpLm5leHQoKS5maW5kKCIuQ29udGFpbmVyOmZpcnN0Iik6bnVsbDtSPWFHLmV4cGFuZGFibGU/ZSgiPGRpdi8+Iik6ZSh3KTtSLmFkZENsYXNzKCJqUGlja2VyIENvbnRhaW5lciIpO2lmKGFHLmV4cGFuZGFibGUpe1IuaGlkZSgpfVIuZ2V0KDApLm9uc2VsZWN0c3RhcnQ9ZnVuY3Rpb24oYU4pe2lmKGFOLnRhcmdldC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09ImlucHV0Iil7cmV0dXJuIGZhbHNlfX07dmFyIGFKPUcuYWN0aXZlLnZhbCgiYWxsIik7aWYoYUcuYWxwaGFQcmVjaXNpb248MCl7YUcuYWxwaGFQcmVjaXNpb249MH1lbHNle2lmKGFHLmFscGhhUHJlY2lzaW9uPjIpe2FHLmFscGhhUHJlY2lzaW9uPTJ9fXZhciBhSz0nPHRhYmxlIGNsYXNzPSJqUGlja2VyIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPjx0Ym9keT4nKyhhRy5leHBhbmRhYmxlPyc8dHI+PHRkIGNsYXNzPSJNb3ZlIiBjb2xzcGFuPSI1Ij4mbmJzcDs8L3RkPjwvdHI+JzoiIikrJzx0cj48dGQgcm93c3Bhbj0iOSI+PGgyIGNsYXNzPSJUaXRsZSI+JysoYUcudGl0bGV8fGFhLnRleHQudGl0bGUpKyc8L2gyPjxkaXYgY2xhc3M9Ik1hcCI+PHNwYW4gY2xhc3M9Ik1hcDEiPiZuYnNwOzwvc3Bhbj48c3BhbiBjbGFzcz0iTWFwMiI+Jm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSJNYXAzIj4mbmJzcDs8L3NwYW4+PGltZyBzcmM9Iicrbi5jbGllbnRQYXRoK24uY29sb3JNYXAuYXJyb3cuZmlsZSsnIiBjbGFzcz0iQXJyb3ciLz48L2Rpdj48L3RkPjx0ZCByb3dzcGFuPSI5Ij48ZGl2IGNsYXNzPSJCYXIiPjxzcGFuIGNsYXNzPSJNYXAxIj4mbmJzcDs8L3NwYW4+PHNwYW4gY2xhc3M9Ik1hcDIiPiZuYnNwOzwvc3Bhbj48c3BhbiBjbGFzcz0iTWFwMyI+Jm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSJNYXA0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gY2xhc3M9Ik1hcDUiPiZuYnNwOzwvc3Bhbj48c3BhbiBjbGFzcz0iTWFwNiI+Jm5ic3A7PC9zcGFuPjxpbWcgc3JjPSInK24uY2xpZW50UGF0aCtuLmNvbG9yQmFyLmFycm93LmZpbGUrJyIgY2xhc3M9IkFycm93Ii8+PC9kaXY+PC90ZD48dGQgY29sc3Bhbj0iMiIgY2xhc3M9IlByZXZpZXciPicrYWEudGV4dC5uZXdDb2xvcisnPGRpdj48c3BhbiBjbGFzcz0iQWN0aXZlIiB0aXRsZT0iJythYS50b29sdGlwcy5jb2xvcnMubmV3Q29sb3IrJyI+Jm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSJDdXJyZW50IiB0aXRsZT0iJythYS50b29sdGlwcy5jb2xvcnMuY3VycmVudENvbG9yKyciPiZuYnNwOzwvc3Bhbj48L2Rpdj4nK2FhLnRleHQuY3VycmVudENvbG9yKyc8L3RkPjx0ZCByb3dzcGFuPSI5IiBjbGFzcz0iQnV0dG9uIj48aW5wdXQgdHlwZT0iYnV0dG9uIiBjbGFzcz0iT2siIHZhbHVlPSInK2FhLnRleHQub2srJyIgdGl0bGU9IicrYWEudG9vbHRpcHMuYnV0dG9ucy5vaysnIi8+PGlucHV0IHR5cGU9ImJ1dHRvbiIgY2xhc3M9IkNhbmNlbCIgdmFsdWU9IicrYWEudGV4dC5jYW5jZWwrJyIgdGl0bGU9IicrYWEudG9vbHRpcHMuYnV0dG9ucy5jYW5jZWwrJyIvPjxoci8+PGRpdiBjbGFzcz0iR3JpZCI+Jm5ic3A7PC9kaXY+PC90ZD48L3RyPjx0ciBjbGFzcz0iSHVlIj48dGQgY2xhc3M9IlJhZGlvIj48bGFiZWwgdGl0bGU9IicrYWEudG9vbHRpcHMuaHVlLnJhZGlvKyciPjxpbnB1dCB0eXBlPSJyYWRpbyIgdmFsdWU9ImgiJysoYXYuY29sb3IubW9kZT09ImgiPycgY2hlY2tlZD0iY2hlY2tlZCInOiIiKSsnLz5IOjwvbGFiZWw+PC90ZD48dGQgY2xhc3M9IlRleHQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjMiIHZhbHVlPSInKyhhSiE9bnVsbD9hSi5oOiIiKSsnIiB0aXRsZT0iJythYS50b29sdGlwcy5odWUudGV4dGJveCsnIi8+Jm5ic3A7JmRlZzs8L3RkPjwvdHI+PHRyIGNsYXNzPSJTYXR1cmF0aW9uIj48dGQgY2xhc3M9IlJhZGlvIj48bGFiZWwgdGl0bGU9IicrYWEudG9vbHRpcHMuc2F0dXJhdGlvbi5yYWRpbysnIj48aW5wdXQgdHlwZT0icmFkaW8iIHZhbHVlPSJzIicrKGF2LmNvbG9yLm1vZGU9PSJzIj8nIGNoZWNrZWQ9ImNoZWNrZWQiJzoiIikrJy8+Uzo8L2xhYmVsPjwvdGQ+PHRkIGNsYXNzPSJUZXh0Ij48aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIzIiB2YWx1ZT0iJysoYUohPW51bGw/YUouczoiIikrJyIgdGl0bGU9IicrYWEudG9vbHRpcHMuc2F0dXJhdGlvbi50ZXh0Ym94KyciLz4mbmJzcDslPC90ZD48L3RyPjx0ciBjbGFzcz0iVmFsdWUiPjx0ZCBjbGFzcz0iUmFkaW8iPjxsYWJlbCB0aXRsZT0iJythYS50b29sdGlwcy52YWx1ZS5yYWRpbysnIj48aW5wdXQgdHlwZT0icmFkaW8iIHZhbHVlPSJ2IicrKGF2LmNvbG9yLm1vZGU9PSJ2Ij8nIGNoZWNrZWQ9ImNoZWNrZWQiJzoiIikrJy8+Vjo8L2xhYmVsPjxici8+PGJyLz48L3RkPjx0ZCBjbGFzcz0iVGV4dCI+PGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMyIgdmFsdWU9IicrKGFKIT1udWxsP2FKLnY6IiIpKyciIHRpdGxlPSInK2FhLnRvb2x0aXBzLnZhbHVlLnRleHRib3grJyIvPiZuYnNwOyU8YnIvPjxici8+PC90ZD48L3RyPjx0ciBjbGFzcz0iUmVkIj48dGQgY2xhc3M9IlJhZGlvIj48bGFiZWwgdGl0bGU9IicrYWEudG9vbHRpcHMucmVkLnJhZGlvKyciPjxpbnB1dCB0eXBlPSJyYWRpbyIgdmFsdWU9InIiJysoYXYuY29sb3IubW9kZT09InIiPycgY2hlY2tlZD0iY2hlY2tlZCInOiIiKSsnLz5SOjwvbGFiZWw+PC90ZD48dGQgY2xhc3M9IlRleHQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjMiIHZhbHVlPSInKyhhSiE9bnVsbD9hSi5yOiIiKSsnIiB0aXRsZT0iJythYS50b29sdGlwcy5yZWQudGV4dGJveCsnIi8+PC90ZD48L3RyPjx0ciBjbGFzcz0iR3JlZW4iPjx0ZCBjbGFzcz0iUmFkaW8iPjxsYWJlbCB0aXRsZT0iJythYS50b29sdGlwcy5ncmVlbi5yYWRpbysnIj48aW5wdXQgdHlwZT0icmFkaW8iIHZhbHVlPSJnIicrKGF2LmNvbG9yLm1vZGU9PSJnIj8nIGNoZWNrZWQ9ImNoZWNrZWQiJzoiIikrJy8+Rzo8L2xhYmVsPjwvdGQ+PHRkIGNsYXNzPSJUZXh0Ij48aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIzIiB2YWx1ZT0iJysoYUohPW51bGw/YUouZzoiIikrJyIgdGl0bGU9IicrYWEudG9vbHRpcHMuZ3JlZW4udGV4dGJveCsnIi8+PC90ZD48L3RyPjx0ciBjbGFzcz0iQmx1ZSI+PHRkIGNsYXNzPSJSYWRpbyI+PGxhYmVsIHRpdGxlPSInK2FhLnRvb2x0aXBzLmJsdWUucmFkaW8rJyI+PGlucHV0IHR5cGU9InJhZGlvIiB2YWx1ZT0iYiInKyhhdi5jb2xvci5tb2RlPT0iYiI/JyBjaGVja2VkPSJjaGVja2VkIic6IiIpKycvPkI6PC9sYWJlbD48L3RkPjx0ZCBjbGFzcz0iVGV4dCI+PGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMyIgdmFsdWU9IicrKGFKIT1udWxsP2FKLmI6IiIpKyciIHRpdGxlPSInK2FhLnRvb2x0aXBzLmJsdWUudGV4dGJveCsnIi8+PC90ZD48L3RyPjx0ciBjbGFzcz0iQWxwaGEiPjx0ZCBjbGFzcz0iUmFkaW8iPicrKGFHLmFscGhhU3VwcG9ydD8nPGxhYmVsIHRpdGxlPSInK2FhLnRvb2x0aXBzLmFscGhhLnJhZGlvKyciPjxpbnB1dCB0eXBlPSJyYWRpbyIgdmFsdWU9ImEiJysoYXYuY29sb3IubW9kZT09ImEiPycgY2hlY2tlZD0iY2hlY2tlZCInOiIiKSsiLz5BOjwvbGFiZWw+IjoiJm5ic3A7IikrJzwvdGQ+PHRkIGNsYXNzPSJUZXh0Ij4nKyhhRy5hbHBoYVN1cHBvcnQ/JzxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IicrKDMrYUcuYWxwaGFQcmVjaXNpb24pKyciIHZhbHVlPSInKyhhSiE9bnVsbD9NYXRoLnByZWNpc2lvbigoYUouYSoxMDApLzI1NSxhRy5hbHBoYVByZWNpc2lvbik6IiIpKyciIHRpdGxlPSInK2FhLnRvb2x0aXBzLmFscGhhLnRleHRib3grJyIvPiZuYnNwOyUnOiImbmJzcDsiKSsnPC90ZD48L3RyPjx0ciBjbGFzcz0iSGV4Ij48dGQgY29sc3Bhbj0iMiIgY2xhc3M9IlRleHQiPjxsYWJlbCB0aXRsZT0iJythYS50b29sdGlwcy5oZXgudGV4dGJveCsnIj4jOjxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjYiIGNsYXNzPSJIZXgiIHZhbHVlPSInKyhhSiE9bnVsbD9hSi5oZXg6IiIpKyciLz48L2xhYmVsPicrKGFHLmFscGhhU3VwcG9ydD8nPGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMiIgY2xhc3M9IkFIZXgiIHZhbHVlPSInKyhhSiE9bnVsbD9hSi5haGV4LnN1YnN0cmluZyg2KToiIikrJyIgdGl0bGU9IicrYWEudG9vbHRpcHMuaGV4LmFscGhhKyciLz48L3RkPic6IiZuYnNwOyIpKyI8L3RyPjwvdGJvZHk+PC90YWJsZT4iO2lmKGFHLmV4cGFuZGFibGUpe1IuaHRtbChhSyk7aWYoZShkb2N1bWVudC5ib2R5KS5jaGlsZHJlbigiZGl2LmpQaWNrZXIuQ29udGFpbmVyIikubGVuZ3RoPT0wKXtlKGRvY3VtZW50LmJvZHkpLnByZXBlbmQoUil9ZWxzZXtlKGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCJkaXYualBpY2tlci5Db250YWluZXI6bGFzdCIpLmFmdGVyKFIpfVIubW91c2Vkb3duKGZ1bmN0aW9uKCl7ZShkb2N1bWVudC5ib2R5KS5jaGlsZHJlbigiZGl2LmpQaWNrZXIuQ29udGFpbmVyIikuY3NzKHt6SW5kZXg6MTB9KTtSLmNzcyh7ekluZGV4OjIwfSl9KTtSLmNzcyh7bGVmdDphRy5wb3NpdGlvbi54PT0ibGVmdCI/KGF6Lm9mZnNldCgpLmxlZnQtNTMwLShhRy5wb3NpdGlvbi55PT0iY2VudGVyIj8yNTowKSkrInB4IjphRy5wb3NpdGlvbi54PT0iY2VudGVyIj8oYXoub2Zmc2V0KCkubGVmdC0yNjApKyJweCI6YUcucG9zaXRpb24ueD09InJpZ2h0Ij8oYXoub2Zmc2V0KCkubGVmdC0xMCsoYUcucG9zaXRpb24ueT09ImNlbnRlciI/MjU6MCkpKyJweCI6YUcucG9zaXRpb24ueD09InNjcmVlbkNlbnRlciI/KChlKGRvY3VtZW50KS53aWR0aCgpPj4xKS0yNjApKyJweCI6KGF6Lm9mZnNldCgpLmxlZnQrcGFyc2VJbnQoYUcucG9zaXRpb24ueCkpKyJweCIscG9zaXRpb246ImFic29sdXRlIix0b3A6YUcucG9zaXRpb24ueT09InRvcCI/KGF6Lm9mZnNldCgpLnRvcC0zMTIpKyJweCI6YUcucG9zaXRpb24ueT09ImNlbnRlciI/KGF6Lm9mZnNldCgpLnRvcC0xNTYpKyJweCI6YUcucG9zaXRpb24ueT09ImJvdHRvbSI/KGF6Lm9mZnNldCgpLnRvcCsyNSkrInB4IjooYXoub2Zmc2V0KCkudG9wK3BhcnNlSW50KGFHLnBvc2l0aW9uLnkpKSsicHgifSl9ZWxzZXtSPWUodyk7Ui5odG1sKGFLKX12YXIgYUQ9Ui5maW5kKCJ0Ym9keTpmaXJzdCIpO2w9YUQuZmluZCgiZGl2Lk1hcDpmaXJzdCIpO3M9YUQuZmluZCgiZGl2LkJhcjpmaXJzdCIpO3ZhciBhTD1sLmZpbmQoInNwYW4iKSxhST1zLmZpbmQoInNwYW4iKTthdT1hTC5maWx0ZXIoIi5NYXAxOmZpcnN0Iik7YXQ9YUwuZmlsdGVyKCIuTWFwMjpmaXJzdCIpO2FyPWFMLmZpbHRlcigiLk1hcDM6Zmlyc3QiKTtQPWFJLmZpbHRlcigiLk1hcDE6Zmlyc3QiKTtPPWFJLmZpbHRlcigiLk1hcDI6Zmlyc3QiKTtOPWFJLmZpbHRlcigiLk1hcDM6Zmlyc3QiKTtNPWFJLmZpbHRlcigiLk1hcDQ6Zmlyc3QiKTtMPWFJLmZpbHRlcigiLk1hcDU6Zmlyc3QiKTtLPWFJLmZpbHRlcigiLk1hcDY6Zmlyc3QiKTtEPW5ldyBkKGwse21hcDp7d2lkdGg6bi5jb2xvck1hcC53aWR0aCxoZWlnaHQ6bi5jb2xvck1hcC5oZWlnaHR9LGFycm93OntpbWFnZTpuLmNsaWVudFBhdGgrbi5jb2xvck1hcC5hcnJvdy5maWxlLHdpZHRoOm4uY29sb3JNYXAuYXJyb3cud2lkdGgsaGVpZ2h0Om4uY29sb3JNYXAuYXJyb3cuaGVpZ2h0fX0pO0QuYmluZCh6KTtVPW5ldyBkKHMse21hcDp7d2lkdGg6bi5jb2xvckJhci53aWR0aCxoZWlnaHQ6bi5jb2xvckJhci5oZWlnaHR9LGFycm93OntpbWFnZTpuLmNsaWVudFBhdGgrbi5jb2xvckJhci5hcnJvdy5maWxlLHdpZHRoOm4uY29sb3JCYXIuYXJyb3cud2lkdGgsaGVpZ2h0Om4uY29sb3JCYXIuYXJyb3cuaGVpZ2h0fX0pO1UuYmluZChhYyk7YXc9bmV3IGIoYUQsRy5hY3RpdmUsYUcuZXhwYW5kYWJsZSYmYUcuYmluZFRvSW5wdXQ/YUcuaW5wdXQ6bnVsbCxhRy5hbHBoYVByZWNpc2lvbik7dmFyIGFCPWFKIT1udWxsP2FKLmhleDpudWxsLGFIPWFELmZpbmQoIi5QcmV2aWV3IiksYUY9YUQuZmluZCgiLkJ1dHRvbiIpO0U9YUguZmluZCgiLkFjdGl2ZTpmaXJzdCIpLmNzcyh7YmFja2dyb3VuZENvbG9yOmFCJiYiIyIrYUJ8fCJ0cmFuc3BhcmVudCJ9KTthbj1hSC5maW5kKCIuQ3VycmVudDpmaXJzdCIpLmNzcyh7YmFja2dyb3VuZENvbG9yOmFCJiYiIyIrYUJ8fCJ0cmFuc3BhcmVudCJ9KS5iaW5kKCJjbGljayIsWik7WS5jYWxsKHcsYW4sTWF0aC5wcmVjaXNpb24oRy5jdXJyZW50LnZhbCgiYSIpKjEwMCkvMjU1LDQpO2FoPWFGLmZpbmQoIi5PazpmaXJzdCIpLmJpbmQoImNsaWNrIixtKTtYPWFGLmZpbmQoIi5DYW5jZWw6Zmlyc3QiKS5iaW5kKCJjbGljayIscSk7YWI9YUYuZmluZCgiLkdyaWQ6Zmlyc3QiKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5jYWxsKHcsYXUsbi5jbGllbnRQYXRoKyJNYXBzLnBuZyIpO3QuY2FsbCh3LGF0LG4uY2xpZW50UGF0aCsiTWFwcy5wbmciKTt0LmNhbGwodyxhcixuLmNsaWVudFBhdGgrIm1hcC1vcGFjaXR5LnBuZyIpO3QuY2FsbCh3LFAsbi5jbGllbnRQYXRoKyJCYXJzLnBuZyIpO3QuY2FsbCh3LE8sbi5jbGllbnRQYXRoKyJCYXJzLnBuZyIpO3QuY2FsbCh3LE4sbi5jbGllbnRQYXRoKyJCYXJzLnBuZyIpO3QuY2FsbCh3LE0sbi5jbGllbnRQYXRoKyJCYXJzLnBuZyIpO3QuY2FsbCh3LEwsbi5jbGllbnRQYXRoKyJiYXItb3BhY2l0eS5wbmciKTt0LmNhbGwodyxLLG4uY2xpZW50UGF0aCsiQWxwaGFCYXIucG5nIik7dC5jYWxsKHcsYUguZmluZCgiZGl2OmZpcnN0Iiksbi5jbGllbnRQYXRoKyJwcmV2aWV3LW9wYWNpdHkucG5nIil9LDApO2FELmZpbmQoInRkLlJhZGlvIGlucHV0IikuYmluZCgiY2xpY2siLEEpO2lmKEcucXVpY2tMaXN0JiZHLnF1aWNrTGlzdC5sZW5ndGg+MCl7dmFyIGFFPSIiO2ZvcihpPTA7aTxHLnF1aWNrTGlzdC5sZW5ndGg7aSsrKXtpZigodHlwZW9mKEcucXVpY2tMaXN0W2ldKSkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpPT0ic3RyaW5nIil7Ry5xdWlja0xpc3RbaV09bmV3IGYoe2hleDpHLnF1aWNrTGlzdFtpXX0pfXZhciBhQz1HLnF1aWNrTGlzdFtpXS52YWwoImEiKTt2YXIgYU09Ry5xdWlja0xpc3RbaV0udmFsKCJhaGV4Iik7aWYoIWFHLmFscGhhU3VwcG9ydCYmYU0pe2FNPWFNLnN1YnN0cmluZygwLDYpKyJmZiJ9dmFyIGFBPUcucXVpY2tMaXN0W2ldLnZhbCgiaGV4Iik7YUUrPSc8c3BhbiBjbGFzcz0iUXVpY2tDb2xvciInKyhhTSYmJyB0aXRsZT0iIycrYU0rJyInfHwiIikrJyBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjonKyhhQSYmIiMiK2FBfHwiIikrIjsiKyhhQT8iIjoiYmFja2dyb3VuZC1pbWFnZTp1cmwoIituLmNsaWVudFBhdGgrIk5vQ29sb3IucG5nKSIpKyhhRy5hbHBoYVN1cHBvcnQmJmFDJiZhQzwyNTU/IjtvcGFjaXR5OiIrTWF0aC5wcmVjaXNpb24oYUMvMjU1LDQpKyI7ZmlsdGVyOkFscGhhKG9wYWNpdHk9IitNYXRoLnByZWNpc2lvbihhQy8yLjU1LDQpKyIpIjoiIikrJyI+Jm5ic3A7PC9zcGFuPid9dC5jYWxsKHcsYWIsbi5jbGllbnRQYXRoKyJiYXItb3BhY2l0eS5wbmciKTthYi5odG1sKGFFKTthYi5maW5kKCIuUXVpY2tDb2xvciIpLmNsaWNrKEYpfWFnLmNhbGwodyxhdi5jb2xvci5tb2RlKTtHLmFjdGl2ZS5iaW5kKGFqKTtlLmlzRnVuY3Rpb24oYWQpJiZHLmFjdGl2ZS5iaW5kKGFkKTtHLmN1cnJlbnQuYmluZChhcCk7aWYoYUcuZXhwYW5kYWJsZSl7dy5pY29uPWF6LnBhcmVudHMoIi5JY29uOmZpcnN0Iik7YXE9dy5pY29uLmZpbmQoIi5Db2xvcjpmaXJzdCIpLmNzcyh7YmFja2dyb3VuZENvbG9yOmFCJiYiIyIrYUJ8fCJ0cmFuc3BhcmVudCJ9KTtyPXcuaWNvbi5maW5kKCIuQWxwaGE6Zmlyc3QiKTt0LmNhbGwodyxyLG4uY2xpZW50UGF0aCsiYmFyLW9wYWNpdHkucG5nIik7WS5jYWxsKHcscixNYXRoLnByZWNpc2lvbigoKDI1NS0oYUohPW51bGw/YUouYTowKSkqMTAwKS8yNTUsNCkpO0M9dy5pY29uLmZpbmQoIi5JbWFnZTpmaXJzdCIpLmNzcyh7YmFja2dyb3VuZEltYWdlOiJ1cmwoJyIrbi5jbGllbnRQYXRoK24ucGlja2VyLmZpbGUrIicpIn0pLmJpbmQoImNsaWNrIixhZik7aWYoYUcuYmluZFRvSW5wdXQmJmFHLnVwZGF0ZUlucHV0Q29sb3Ipe2FHLmlucHV0LmNzcyh7YmFja2dyb3VuZENvbG9yOmFCJiYiIyIrYUJ8fCJ0cmFuc3BhcmVudCIsY29sb3I6YUo9PW51bGx8fGFKLnY+NzU/IiMwMDAwMDAiOiIjZmZmZmZmIn0pfXU9YUQuZmluZCgiLk1vdmU6Zmlyc3QiKS5iaW5kKCJtb3VzZWRvd24iLFMpO0cuYWN0aXZlLmJpbmQoSCl9ZWxzZXtWLmNhbGwodyl9fSxhaz1mdW5jdGlvbigpe1IuZmluZCgidGQuUmFkaW8gaW5wdXQiKS51bmJpbmQoImNsaWNrIixBKTthbi51bmJpbmQoImNsaWNrIixaKTtYLnVuYmluZCgiY2xpY2siLHEpO2FoLnVuYmluZCgiY2xpY2siLG0pO2lmKGF2LndpbmRvdy5leHBhbmRhYmxlKXtDLnVuYmluZCgiY2xpY2siLGFmKTt1LnVuYmluZCgibW91c2Vkb3duIixTKTt3Lmljb249bnVsbH1SLmZpbmQoIi5RdWlja0NvbG9yIikudW5iaW5kKCJjbGljayIsRik7bD1udWxsO3M9bnVsbDthdT1udWxsO2F0PW51bGw7YXI9bnVsbDtQPW51bGw7Tz1udWxsO049bnVsbDtNPW51bGw7TD1udWxsO0s9bnVsbDtELmRlc3Ryb3koKTtEPW51bGw7VS5kZXN0cm95KCk7VT1udWxsO2F3LmRlc3Ryb3koKTthdz1udWxsO0U9bnVsbDthbj1udWxsO2FoPW51bGw7WD1udWxsO2FiPW51bGw7YWU9bnVsbDtheD1udWxsO2FkPW51bGw7Ui5odG1sKCIiKTtmb3IoaT0wO2k8Yy5sZW5ndGg7aSsrKXtpZihjW2ldPT13KXtjLnNwbGljZShpLDEpfX19LG49YXYuaW1hZ2VzLGFhPWF2LmxvY2FsaXphdGlvbixHPXthY3RpdmU6KHR5cGVvZihhdi5jb2xvci5hY3RpdmUpKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk9PSJzdHJpbmciP25ldyBmKHthaGV4OiFhdi53aW5kb3cuYWxwaGFTdXBwb3J0JiZhdi5jb2xvci5hY3RpdmU/YXYuY29sb3IuYWN0aXZlLnN1YnN0cmluZygwLDYpKyJmZiI6YXYuY29sb3IuYWN0aXZlfSk6bmV3IGYoe2FoZXg6IWF2LndpbmRvdy5hbHBoYVN1cHBvcnQmJmF2LmNvbG9yLmFjdGl2ZS52YWwoImFoZXgiKT9hdi5jb2xvci5hY3RpdmUudmFsKCJhaGV4Iikuc3Vic3RyaW5nKDAsNikrImZmIjphdi5jb2xvci5hY3RpdmUudmFsKCJhaGV4Iil9KSxjdXJyZW50Oih0eXBlb2YoYXYuY29sb3IuYWN0aXZlKSkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpPT0ic3RyaW5nIj9uZXcgZih7YWhleDohYXYud2luZG93LmFscGhhU3VwcG9ydCYmYXYuY29sb3IuYWN0aXZlP2F2LmNvbG9yLmFjdGl2ZS5zdWJzdHJpbmcoMCw2KSsiZmYiOmF2LmNvbG9yLmFjdGl2ZX0pOm5ldyBmKHthaGV4OiFhdi53aW5kb3cuYWxwaGFTdXBwb3J0JiZhdi5jb2xvci5hY3RpdmUudmFsKCJhaGV4Iik/YXYuY29sb3IuYWN0aXZlLnZhbCgiYWhleCIpLnN1YnN0cmluZygwLDYpKyJmZiI6YXYuY29sb3IuYWN0aXZlLnZhbCgiYWhleCIpfSkscXVpY2tMaXN0OmF2LmNvbG9yLnF1aWNrTGlzdH07ZS5leHRlbmQodHJ1ZSx3LHtjb21taXRDYWxsYmFjazphZSxsaXZlQ2FsbGJhY2s6YWQsY2FuY2VsQ2FsbGJhY2s6YXgsY29sb3I6RyxzaG93OlYsaGlkZTphbyxkZXN0cm95OmFrfSk7Yy5wdXNoKHcpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtvLmNhbGwodyl9LDApfSl9O2UuZm4ualBpY2tlci5kZWZhdWx0cz17d2luZG93Ont0aXRsZTpudWxsLGVmZmVjdHM6e3R5cGU6InNsaWRlIixzcGVlZDp7c2hvdzoic2xvdyIsaGlkZToiZmFzdCJ9fSxwb3NpdGlvbjp7eDoic2NyZWVuQ2VudGVyIix5OiJ0b3AifSxleHBhbmRhYmxlOmZhbHNlLGxpdmVVcGRhdGU6dHJ1ZSxhbHBoYVN1cHBvcnQ6ZmFsc2UsYWxwaGFQcmVjaXNpb246MCx1cGRhdGVJbnB1dENvbG9yOnRydWV9LGNvbG9yOnttb2RlOiJoIixhY3RpdmU6bmV3IGYoe2FoZXg6IiNmZmNjMDBmZiJ9KSxxdWlja0xpc3Q6W25ldyBmKHtoOjM2MCxzOjMzLHY6MTAwfSksbmV3IGYoe2g6MzYwLHM6NjYsdjoxMDB9KSxuZXcgZih7aDozNjAsczoxMDAsdjoxMDB9KSxuZXcgZih7aDozNjAsczoxMDAsdjo3NX0pLG5ldyBmKHtoOjM2MCxzOjEwMCx2OjUwfSksbmV3IGYoe2g6MTgwLHM6MCx2OjEwMH0pLG5ldyBmKHtoOjMwLHM6MzMsdjoxMDB9KSxuZXcgZih7aDozMCxzOjY2LHY6MTAwfSksbmV3IGYoe2g6MzAsczoxMDAsdjoxMDB9KSxuZXcgZih7aDozMCxzOjEwMCx2Ojc1fSksbmV3IGYoe2g6MzAsczoxMDAsdjo1MH0pLG5ldyBmKHtoOjE4MCxzOjAsdjo5MH0pLG5ldyBmKHtoOjYwLHM6MzMsdjoxMDB9KSxuZXcgZih7aDo2MCxzOjY2LHY6MTAwfSksbmV3IGYoe2g6NjAsczoxMDAsdjoxMDB9KSxuZXcgZih7aDo2MCxzOjEwMCx2Ojc1fSksbmV3IGYoe2g6NjAsczoxMDAsdjo1MH0pLG5ldyBmKHtoOjE4MCxzOjAsdjo4MH0pLG5ldyBmKHtoOjkwLHM6MzMsdjoxMDB9KSxuZXcgZih7aDo5MCxzOjY2LHY6MTAwfSksbmV3IGYoe2g6OTAsczoxMDAsdjoxMDB9KSxuZXcgZih7aDo5MCxzOjEwMCx2Ojc1fSksbmV3IGYoe2g6OTAsczoxMDAsdjo1MH0pLG5ldyBmKHtoOjE4MCxzOjAsdjo3MH0pLG5ldyBmKHtoOjEyMCxzOjMzLHY6MTAwfSksbmV3IGYoe2g6MTIwLHM6NjYsdjoxMDB9KSxuZXcgZih7aDoxMjAsczoxMDAsdjoxMDB9KSxuZXcgZih7aDoxMjAsczoxMDAsdjo3NX0pLG5ldyBmKHtoOjEyMCxzOjEwMCx2OjUwfSksbmV3IGYoe2g6MTgwLHM6MCx2OjYwfSksbmV3IGYoe2g6MTUwLHM6MzMsdjoxMDB9KSxuZXcgZih7aDoxNTAsczo2Nix2OjEwMH0pLG5ldyBmKHtoOjE1MCxzOjEwMCx2OjEwMH0pLG5ldyBmKHtoOjE1MCxzOjEwMCx2Ojc1fSksbmV3IGYoe2g6MTUwLHM6MTAwLHY6NTB9KSxuZXcgZih7aDoxODAsczowLHY6NTB9KSxuZXcgZih7aDoxODAsczozMyx2OjEwMH0pLG5ldyBmKHtoOjE4MCxzOjY2LHY6MTAwfSksbmV3IGYoe2g6MTgwLHM6MTAwLHY6MTAwfSksbmV3IGYoe2g6MTgwLHM6MTAwLHY6NzV9KSxuZXcgZih7aDoxODAsczoxMDAsdjo1MH0pLG5ldyBmKHtoOjE4MCxzOjAsdjo0MH0pLG5ldyBmKHtoOjIxMCxzOjMzLHY6MTAwfSksbmV3IGYoe2g6MjEwLHM6NjYsdjoxMDB9KSxuZXcgZih7aDoyMTAsczoxMDAsdjoxMDB9KSxuZXcgZih7aDoyMTAsczoxMDAsdjo3NX0pLG5ldyBmKHtoOjIxMCxzOjEwMCx2OjUwfSksbmV3IGYoe2g6MTgwLHM6MCx2OjMwfSksbmV3IGYoe2g6MjQwLHM6MzMsdjoxMDB9KSxuZXcgZih7aDoyNDAsczo2Nix2OjEwMH0pLG5ldyBmKHtoOjI0MCxzOjEwMCx2OjEwMH0pLG5ldyBmKHtoOjI0MCxzOjEwMCx2Ojc1fSksbmV3IGYoe2g6MjQwLHM6MTAwLHY6NTB9KSxuZXcgZih7aDoxODAsczowLHY6MjB9KSxuZXcgZih7aDoyNzAsczozMyx2OjEwMH0pLG5ldyBmKHtoOjI3MCxzOjY2LHY6MTAwfSksbmV3IGYoe2g6MjcwLHM6MTAwLHY6MTAwfSksbmV3IGYoe2g6MjcwLHM6MTAwLHY6NzV9KSxuZXcgZih7aDoyNzAsczoxMDAsdjo1MH0pLG5ldyBmKHtoOjE4MCxzOjAsdjoxMH0pLG5ldyBmKHtoOjMwMCxzOjMzLHY6MTAwfSksbmV3IGYoe2g6MzAwLHM6NjYsdjoxMDB9KSxuZXcgZih7aDozMDAsczoxMDAsdjoxMDB9KSxuZXcgZih7aDozMDAsczoxMDAsdjo3NX0pLG5ldyBmKHtoOjMwMCxzOjEwMCx2OjUwfSksbmV3IGYoe2g6MTgwLHM6MCx2OjB9KSxuZXcgZih7aDozMzAsczozMyx2OjEwMH0pLG5ldyBmKHtoOjMzMCxzOjY2LHY6MTAwfSksbmV3IGYoe2g6MzMwLHM6MTAwLHY6MTAwfSksbmV3IGYoe2g6MzMwLHM6MTAwLHY6NzV9KSxuZXcgZih7aDozMzAsczoxMDAsdjo1MH0pLG5ldyBmKCldfSxpbWFnZXM6e2NsaWVudFBhdGg6Ii9qUGlja2VyL2ltYWdlcy8iLGNvbG9yTWFwOnt3aWR0aDoyNTYsaGVpZ2h0OjI1NixhcnJvdzp7ZmlsZToibWFwcG9pbnQuZ2lmIix3aWR0aDoxNSxoZWlnaHQ6MTV9fSxjb2xvckJhcjp7d2lkdGg6MjAsaGVpZ2h0OjI1NixhcnJvdzp7ZmlsZToicmFuZ2VhcnJvd3MuZ2lmIix3aWR0aDoyMCxoZWlnaHQ6N319LHBpY2tlcjp7ZmlsZToicGlja2VyLmdpZiIsd2lkdGg6MjUsaGVpZ2h0OjI0fX0sbG9jYWxpemF0aW9uOnt0ZXh0Ont0aXRsZToiRHJhZyBNYXJrZXJzIFRvIFBpY2sgQSBDb2xvciIsbmV3Q29sb3I6Im5ldyIsY3VycmVudENvbG9yOiJjdXJyZW50IixvazoiT0siLGNhbmNlbDoiQ2FuY2VsIn0sdG9vbHRpcHM6e2NvbG9yczp7bmV3Q29sb3I6Ik5ldyBDb2xvciAtIFByZXNzICZsZHF1bztPSyZyZHF1bzsgVG8gQ29tbWl0IixjdXJyZW50Q29sb3I6IkNsaWNrIFRvIFJldmVydCBUbyBPcmlnaW5hbCBDb2xvciJ9LGJ1dHRvbnM6e29rOiJDb21taXQgVG8gVGhpcyBDb2xvciBTZWxlY3Rpb24iLGNhbmNlbDoiQ2FuY2VsIEFuZCBSZXZlcnQgVG8gT3JpZ2luYWwgQ29sb3IifSxodWU6e3JhZGlvOiJTZXQgVG8gJmxkcXVvO0h1ZSZyZHF1bzsgQ29sb3IgTW9kZSIsdGV4dGJveDoiRW50ZXIgQSAmbGRxdW87SHVlJnJkcXVvOyBWYWx1ZSAoMC0zNjAmZGVnOykifSxzYXR1cmF0aW9uOntyYWRpbzoiU2V0IFRvICZsZHF1bztTYXR1cmF0aW9uJnJkcXVvOyBDb2xvciBNb2RlIix0ZXh0Ym94OiJFbnRlciBBICZsZHF1bztTYXR1cmF0aW9uJnJkcXVvOyBWYWx1ZSAoMC0xMDAlKSJ9LHZhbHVlOntyYWRpbzoiU2V0IFRvICZsZHF1bztWYWx1ZSZyZHF1bzsgQ29sb3IgTW9kZSIsdGV4dGJveDoiRW50ZXIgQSAmbGRxdW87VmFsdWUmcmRxdW87IFZhbHVlICgwLTEwMCUpIn0scmVkOntyYWRpbzoiU2V0IFRvICZsZHF1bztSZWQmcmRxdW87IENvbG9yIE1vZGUiLHRleHRib3g6IkVudGVyIEEgJmxkcXVvO1JlZCZyZHF1bzsgVmFsdWUgKDAtMjU1KSJ9LGdyZWVuOntyYWRpbzoiU2V0IFRvICZsZHF1bztHcmVlbiZyZHF1bzsgQ29sb3IgTW9kZSIsdGV4dGJveDoiRW50ZXIgQSAmbGRxdW87R3JlZW4mcmRxdW87IFZhbHVlICgwLTI1NSkifSxibHVlOntyYWRpbzoiU2V0IFRvICZsZHF1bztCbHVlJnJkcXVvOyBDb2xvciBNb2RlIix0ZXh0Ym94OiJFbnRlciBBICZsZHF1bztCbHVlJnJkcXVvOyBWYWx1ZSAoMC0yNTUpIn0sYWxwaGE6e3JhZGlvOiJTZXQgVG8gJmxkcXVvO0FscGhhJnJkcXVvOyBDb2xvciBNb2RlIix0ZXh0Ym94OiJFbnRlciBBICZsZHF1bztBbHBoYSZyZHF1bzsgVmFsdWUgKDAtMTAwKSJ9LGhleDp7dGV4dGJveDoiRW50ZXIgQSAmbGRxdW87SGV4JnJkcXVvOyBDb2xvciBWYWx1ZSAoIzAwMDAwMC0jZmZmZmZmKSIsYWxwaGE6IkVudGVyIEEgJmxkcXVvO0FscGhhJnJkcXVvOyBWYWx1ZSAoIzAwLSNmZikifX19fX0pKGpRdWVyeSwiMS4xLjYiKTs=]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/plugins/slider/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.blue.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CiAgLmpzbGlkZXJfYmx1ZSAuanNsaWRlci1iZyBpLAogIC5qc2xpZGVyX2JsdWUgLmpzbGlkZXItcG9pbnRlcgogIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKGpzbGlkZXIuYmx1ZS5wbmcpOyB9CiAg]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.blue.ie6.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CiAgLmpzbGlkZXJfYmx1ZSAuanNsaWRlci1iZyAubCBpLAogIC5qc2xpZGVyX2JsdWUgLmpzbGlkZXItYmcgLnIgaSwKICAuanNsaWRlcl9ibHVlIC5qc2xpZGVyLWJnIC52IGksCiAgLmpzbGlkZXJfYmx1ZSAuanNsaWRlci1wb2ludGVyIGkgeyBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9hZGVyKHNyYz0nLi9zdHlsZXNoZWV0cy9qc2xpZGVyLmJsdWUucG5nJywgc2l6aW5nTWV0aG9kPSdjcm9wJyk7IH0K]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.blue.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAfQAAAA8CAYAAACQGkjnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4tJREFUeNrs3c9rHFUAwPE3u5s0TVSMyO5qa9FcqiD4C8QqtEftxVKNgkUqhRY89+Af4cGzoBAsUg+ioV7aihQs2BRBPFZ6SVKsibUbk5DYTTebOLOmkRhnf7RTzMrnA48J+x7vMDl88zY7SbQv1tvb+34+n38+l8sFAGDrW11dDfV6PdRqte/j8V40PDw8NTg4WO7v7w+FQsEdAoAusLKyEqrVapibmwszMzPThaGhoXKpVAoDAwMhPqWHKIrcJQDY4qfzZCRBr1QqYXJyslwoFotX47EjOaF7yx0AuifqS0tLjcP44uLi1ULsaDxG4lEWdADonqAnb7v39PRMJy2PkhcAgO4m6AAg6ACAoAMAgg4ACDoACDoAIOgAgKADAIIOAIIOAAg6ACDoAICgA4CgAwBbNOhPPfumogNAlys8vPNpdwEABB0A+M+Dfs99JXcBALo96Pl8j7sAAF3Op9wBQNABAEEHAAQdABB0ABB0AEDQAQBBBwAEHQAEHQAQdABA0AEAQQcAQQcABB0AuFtBX7v2xeP+tWuaajxmk2uzHwKiKMp0PwCgvaAn0X30wKHjl1otPnXygyfiy0Qc4GqToGe6HwDQXtDLcXyndj22Mxx5+0DqwpFPT4Ur4z8nEX4oDvB0k6A39tv+YDEcPvRq6n4nTn4Vbly/1nI/AKC1wtoJPex+cne4VplLXZjMJ0EPzd9GX5/vKz8Sxqcq6Yvi+STobewHALQR9Ibl5XqYX/gjdWEy34ml2nL4bXah6TwAkHXQ6/Xw+3x6gJP5TtyMfwD45fp803kAIOOg1+LALlbTP5tW6zDAN+MT+NzCjabzOfcfALIN+o7iA5lu/PiuUss1l6/85DsAABkFvXEsn7g8Hva/sjd14ekz52992eoRs8Z8fvbX8OK+PamLLnw71u5+AEALG55D3/vSc+GtN/ZvWvTZ56fD+e9+6Pg59D0vPBNeO/jypjVfjp4NYxd/9Bw6AGR8Qp/4K67HL23f1huOvXNwfcFHn4xuiHmbJ/T1/e7t3xaOHv57v49PjG6IuRM6AGQT9E0RjnJRePfI6+HDkS/C2XNjtxPfDfvlcrn1/b4+d1HMAeAuBf0fEQ6NP9t65psLdxLfrPcDAFJE//La+u/A0+Lbxj9nyWw/AOD2gn4rwn1r4d10ku4w6He0HwDQRtDFFAAEHQAQdABA0AEAQQeA/4s/BRgAZYPCslE72tAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CgouanNsaWRlciAuanNsaWRlci1iZyBpLAouanNsaWRlciAuanNsaWRlci1wb2ludGVyCnsgYmFja2dyb3VuZDogdXJsKGpzbGlkZXIucG5nKSBuby1yZXBlYXQgMCAwOyB9CgouanNsaWRlciB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAwLjZlbTsgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyB9Ci5qc2xpZGVyIHRhYmxlIHsgd2lkdGg6IDEwMCU7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IGJvcmRlcjogMDsgfQouanNsaWRlciB0ZCwgLmpzbGlkZXIgdGggeyBwYWRkaW5nOiAwOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB0ZXh0LWFsaWduOiBsZWZ0OyBib3JkZXI6IDA7IH0KCi5qc2xpZGVyIHRhYmxlLAouanNsaWRlciB0YWJsZSB0ciwKLmpzbGlkZXIgdGFibGUgdHIgdGQgeyB3aWR0aDogMTAwJTsgdmVydGljYWwtYWxpZ246IHRvcDsgfQoKLmpzbGlkZXIgLmpzbGlkZXItYmcgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KLmpzbGlkZXIgLmpzbGlkZXItYmcgaSB7IGhlaWdodDogNXB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGZvbnQtc2l6ZTogMDsgdG9wOiAwOyB9Ci5qc2xpZGVyIC5qc2xpZGVyLWJnIC5sIHsgd2lkdGg6IDUwJTsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyBsZWZ0OiAwOyB9Ci5qc2xpZGVyIC5qc2xpZGVyLWJnIC5yIHsgd2lkdGg6IDUwJTsgbGVmdDogNTAlOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwOyB9Ci5qc2xpZGVyIC5qc2xpZGVyLWJnIC52IHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogNjAlOyBsZWZ0OiAyMCU7IHRvcDogMDsgaGVpZ2h0OiA1cHg7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwcHg7IH0KCi5qc2xpZGVyIC5qc2xpZGVyLXBvaW50ZXIgeyB3aWR0aDogMTNweDsgaGVpZ2h0OiAxNXB4OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDIwJTsgdG9wOiAtNHB4OyBtYXJnaW4tbGVmdDogLTZweDsgY3Vyc29yOiBwb2ludGVyOyBjdXJzb3I6IGhhbmQ7IH0KLmpzbGlkZXIgLmpzbGlkZXItcG9pbnRlci1ob3ZlciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IC00MHB4OyB9Ci5qc2xpZGVyIC5qc2xpZGVyLXBvaW50ZXItdG8geyBsZWZ0OiA4MCU7IH0KCi5qc2xpZGVyIC5qc2xpZGVyLWxhYmVsIHsgZm9udC1zaXplOiA5cHg7IGxpbmUtaGVpZ2h0OiAxMnB4OyBjb2xvcjogYmxhY2s7IG9wYWNpdHk6IDAuNDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgcGFkZGluZzogMHB4IDJweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xOHB4OyBsZWZ0OiAwcHg7IH0KLmpzbGlkZXIgLmpzbGlkZXItbGFiZWwtdG8geyBsZWZ0OiBhdXRvOyByaWdodDogMDsgfQoKLmpzbGlkZXIgLmpzbGlkZXItdmFsdWUgeyBmb250LXNpemU6IDlweDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgcGFkZGluZzogMXB4IDJweCAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTE5cHg7IGxlZnQ6IDIwJTsgYmFja2dyb3VuZDogd2hpdGU7IGxpbmUtaGVpZ2h0OiAxMnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDJweDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7IC1vLWJvcmRlci1yYWRpdXM6IDJweDsgYm9yZGVyLXJhZGl1czogMnB4OyB9Ci5qc2xpZGVyIC5qc2xpZGVyLXZhbHVlLXRvIHsgbGVmdDogODAlOyB9CgouanNsaWRlciAuanNsaWRlci1sYWJlbCBzbWFsbCwKLmpzbGlkZXIgLmpzbGlkZXItdmFsdWUgc21hbGwgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogLTAuNGVtOyB9CgouanNsaWRlciAuanNsaWRlci1zY2FsZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiA5cHg7IH0KLmpzbGlkZXIgLmpzbGlkZXItc2NhbGUgc3BhbiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiA1cHg7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzk5OTsgZm9udC1zaXplOiAwOyB9Ci5qc2xpZGVyIC5qc2xpZGVyLXNjYWxlIGlucyB7IGZvbnQtc2l6ZTogOXB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyB0b3A6IDVweDsgY29sb3I6ICM5OTk7IH0KCi5qc2xpZGVyLXNpbmdsZSAuanNsaWRlci1wb2ludGVyLXRvLAouanNsaWRlci1zaW5nbGUgLmpzbGlkZXItdmFsdWUtdG8sCi5qc2xpZGVyLXNpbmdsZSAuanNsaWRlci1iZyAudiwKLmpzbGlkZXItbGltaXRsZXNzIC5qc2xpZGVyLWxhYmVsCnsgZGlzcGxheTogbm9uZTsgfQ==]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.ie6.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CiAgLmpzbGlkZXIgLmpzbGlkZXItYmcgLmwsCiAgLmpzbGlkZXIgLmpzbGlkZXItYmcgLnIsCiAgLmpzbGlkZXIgLmpzbGlkZXItYmcgLnYsCiAgLmpzbGlkZXIgLmpzbGlkZXItcG9pbnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IG92ZXJmbG93OiBoaWRkZW47IH0KCiAgLmpzbGlkZXIgLmpzbGlkZXItYmcgLmwgaSwKICAuanNsaWRlciAuanNsaWRlci1iZyAuciBpLAogIC5qc2xpZGVyIC5qc2xpZGVyLWJnIC52IGksCiAgLmpzbGlkZXIgLmpzbGlkZXItcG9pbnRlciBpIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogNTAwcHg7IGhlaWdodDogNjBweDsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9Jy4vc3R5bGVzaGVldHMvanNsaWRlci5wbmcnLCBzaXppbmdNZXRob2Q9J2Nyb3AnKTsgfQogIAogIC5qc2xpZGVyIC5qc2xpZGVyLWJnIC5sIGkgeyBsZWZ0OiAwOyB0b3A6IDA7IH0KICAuanNsaWRlciAuanNsaWRlci1iZyAuciBpIHsgcmlnaHQ6IDA7IHRvcDogMDsgfSAgCiAgLmpzbGlkZXIgLmpzbGlkZXItYmcgLnYgaSB7IGxlZnQ6IDA7IHRvcDogLTIwcHg7IH0KICAKICAuanNsaWRlciAuanNsaWRlci1wb2ludGVyIGkgeyBsZWZ0OiAwOyB0b3A6IC00MHB4OyB9CiAgLmpzbGlkZXIgLmpzbGlkZXItcG9pbnRlci1ob3ZlciBpIHsgbGVmdDogLTIwcHg7IHRvcDogLTQwcHg7IH0=]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.plastic.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CiAgLmpzbGlkZXJfcGxhc3RpYyAuanNsaWRlci1iZyBpLAogIC5qc2xpZGVyX3BsYXN0aWMgLmpzbGlkZXItcG9pbnRlcgogIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKGpzbGlkZXIucGxhc3RpYy5wbmcpOyB9Cg==]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.plastic.ie6.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ci5qc2xpZGVyX3BsYXN0aWMgLmpzbGlkZXItYmcgLmwgaSwKLmpzbGlkZXJfcGxhc3RpYyAuanNsaWRlci1iZyAuciBpLAouanNsaWRlcl9wbGFzdGljIC5qc2xpZGVyLWJnIC52IGksCi5qc2xpZGVyX3BsYXN0aWMgLmpzbGlkZXItcG9pbnRlciBpIHsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9Jy4vc3R5bGVzaGVldHMvanNsaWRlci5wbGFzdGljLnBuZycsIHNpemluZ01ldGhvZD0nY3JvcCcpOyB9Cg==]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.plastic.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAfQAAAA8CAYAAACQGkjnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABHdJREFUeNrs3c1vFGUcwPFntrMUtpSihlgCheDJgxw0BAJEOYBG+B+MMakHryZy5+IBE/8BTbzyF1ijYKJJUbAmvCkEaBurLdSqdLdl+wa7ziyUtCXLTl8OXf18kidlZh5+h7l8d3ahG504ceJIR0fH6ba2tv1x3BJCiAIAsL5VKpUwPT0VisXSxYmJiZPxnj17zuzevasziXqI41jQAWDdq9aCXi6Xw8jIyP7+/oEzcVdXV+fOnTtDoVAIuVxO0AGgGZJerYSZmdnkYTwfSqWJznjDhvxwcrAjfTqPoqi2AID1HvRc7Sk96XjI5+PheGzsr+5Coe2LubnNnY+e0AGA9a5SqSZP6NNhbGzs7vj4eHfc33/7q8nJie3t7e0+QweAJnHq1KlFx/Ho6J/h3r3xWsxzOTEHgGYUVatVdwEABB0AEHQAQNABAEEHAEEHAAQdABB0AEDQAUDQAQBBBwDWNujt+952FwCgyZR+6ll0HLcUtrgrANDsT+jb3/vYe+4A0OTiza8ecxcAoNmDnn9hh7sAAM0e9KgldhcAoNmD/rD0t7sAAM0e9PKtvshtAIDm8tvpdxYHffLSt+4KADSdxUH3m+IA4D9A0AFA0AEAQQcABB0AEHQAEHQAQNABAEEHAAQdAAQdABB0AGDtg76av7zwxUAUrf5L27y4AABBB4D/fdCj7o++G260+fNPjuxIu5sh6KueBwAsL+jRW++fG96/r7Pw5tFdHfU2fnNuqHix727568+OPolwnaDX5u3d+3zh0KHOuvPOn79bvHr1n7rzAIDscslqGS7NhYOvd3VMzlZDvZVeT/el+xvMrM17bd+2junZh6HeSq9nnAcANBCnT9Tl6dlwf6bScHO6LzT+3L02r5xEe43mAQAZgh5C5UG4NDwVXmyPw9bCkgfmagj3yg/DnYm52r5Mkn3X/iiFbR2t4blN+cXj0nlTc2G0OJ19HgCQIejVB2Gk9GjN25SPwtTcks+0qxkDnOwbLc3W1ryN+VyYnqusbB4A0DjoURLWQv7pd76XnosyBrg2r/Xpj8aXnosEHQDWRK5W9epcGOi7VSxsyIV6K72e7sv0KiHZ9/u1O8W2DS2h3kqvZ50HADQOevXml+8eHrrSX7714/UkwrmwdKXn0+vpvrDg/43XUZs3fGO4PHh5qNi2MQn4kpWeT69nnAcAZAh6+s/R7/za031s8NLN8vXeq4uinh6n59Pr6b7H+5/lybyhX4bKt/sGiptb4zC/0uP0/DLmAQBZntCTNZOsgSs9Hxzr//lG+Wbv5WLnljikP9Pj9Hx6/fG+hk/oC+cNXhksD/TdLm7fujGkP9PjZc4DABqIlvy5NVkvHTj+6dmDb7xS+OH7a+ULPR/WjW+D3+W+aN6Bwy8XLvTeyDwPAFhZ0BdF+PDx02d7e04+80k6w5ezrHgeALDyoC+McFuy7odnvC2e8dvWVjQPAFhd0OfPR4/DW7eyy/j61GXPAwBWH/RMfB86AKyToIsoAAg6ACDoAMBa+FeAAQCbIViE8ClM8gAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAfQAAAA8CAYAAACQGkjnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4lJREFUeNrs3c9rHFUAwPE3m02aJghGzGalWjSXKoggQjEK7VF7sbTiwSKVQkXPPfhHePAsKASL1IJoqJe2IgUrNkEQj5VekhRra+3GbEjsJptNnFnTlRhnf7RTzMrnA8OEfY93mBy++yY7m2h/rK+v772enp69uVwuAADb3/r6eqjVaqFarX4fH+/mh4eHTw8NDRUHBgZCPp93hQCgC6ytrYVKpRLK5fLeubm50/nR0dHiyMhIGBwcDPEuPURR5CoBwDbfnSdHEvRSqRRmZ2eL+UKhcC0+diU7dLfcAaB7or68vFzfjC8tLV3Lx47Hx3h8FAUdALon6Mlt997e3htJy6PkBQCguwk6AAg6ACDoAICgAwCCDgCCDgAIOgAg6ACAoAOAoAMAgg4ACDoAIOgAIOgAwDYN+tuHg6IDQJfLjz3jIgCAoAMA/7lo8Vu33AGg64O+MiXoAND1QfcpdwAQdABA0AEAQQcABB0ABB0AEHQAQNABAEEHAEEHAAQdABB0AEDQAUDQAQBBBwDuU9A3zv3x8eDGOU0lPuaTc7M3AVEUZboeANBe0JPoPn7wyInLrSafOfX+U/FpJg5wpUnQM10PAGgv6MU4vtd3P/FoOPbGwdSJ45+cCVenf04i/Egc4BtNgl5fb+fDhXD0yCup65089WW4fetmy/UAgNbyGzv0sOfpPeFmqZw6MRlPgh6a30ZvjPcXHwvT10vpk+LxJOhtrAcAtBH0utXVWlhY/CN1YjLeieXqavhtfrHpOACQddBrtfD7QnqAk/FOrMRvAH65tdB0HADIOOjVOLBLlfTPplU7DPBKvAMvL95uOp5z/QEg26DvKjyU6cJP7h5pOefK1Z/8BgAgo6DXt+UzV6bDgZf3pU48e+7inR9bPWJWH++Z/zW8sH8sddKlbybbXQ8AaGHTc+j7XnwuvP7agS2TPv3sbLj43Q8dP4c+9vyz4fChl7bM+WLifJic+tFz6ACQ8Q595q+4nri8c0dfeOvNQ40JH348sSnmbe7QG+s9MLAjHD/693ofnZzYFHM7dADIJuhbIhzlovDOsVfDB+Ofh/MXJu8mvpvWy+VyjfW+ujAl5gBwn4L+jwiH+te2nvv60r3EN+v1AIAU0b+81vgbeFp82/jnLJmtBwDcXdDvRLh/I7xbdtIdBv2e1gMA2gi6mAKAoAMAgg4ACDoAIOgA8H/xpwADAPARxuhzeeDjAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.round.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CiAgLmpzbGlkZXJfcm91bmQgLmpzbGlkZXItYmcgaSwKICAuanNsaWRlcl9yb3VuZCAuanNsaWRlci1wb2ludGVyCiAgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoanNsaWRlci5yb3VuZC5wbmcpOyB9CgogIC5qc2xpZGVyX3JvdW5kIC5qc2xpZGVyLXBvaW50ZXIgeyB3aWR0aDogMTdweDsgaGVpZ2h0OiAxN3B4OyB0b3A6IC02cHg7IG1hcmdpbi1sZWZ0OiAtOHB4OyB9Cg==]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.round.ie6.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ci5qc2xpZGVyX3JvdW5kIC5qc2xpZGVyLWJnIC5sIGksCi5qc2xpZGVyX3JvdW5kIC5qc2xpZGVyLWJnIC5yIGksCi5qc2xpZGVyX3JvdW5kIC5qc2xpZGVyLWJnIC52IGksCi5qc2xpZGVyX3JvdW5kIC5qc2xpZGVyLXBvaW50ZXIgaSB7IGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3JjPScuL3N0eWxlc2hlZXRzL2pzbGlkZXIucm91bmQucG5nJywgc2l6aW5nTWV0aG9kPSdjcm9wJyk7IH0K]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.round.plastic.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CiAgLmpzbGlkZXJfcm91bmRfcGxhc3RpYyAuanNsaWRlci1iZyBpLAogIC5qc2xpZGVyX3JvdW5kX3BsYXN0aWMgLmpzbGlkZXItcG9pbnRlcgogIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKGpzbGlkZXIucm91bmQucGxhc3RpYy5wbmcpOyB9CgogIC5qc2xpZGVyX3JvdW5kX3BsYXN0aWMgLmpzbGlkZXItcG9pbnRlciB7IHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IHRvcDogLTdweDsgbWFyZ2luLWxlZnQ6IC04cHg7IH0K]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.round.plastic.ie6.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ci5qc2xpZGVyX3JvdW5kX3BsYXN0aWMgLmpzbGlkZXItYmcgLmwgaSwKLmpzbGlkZXJfcm91bmRfcGxhc3RpYyAuanNsaWRlci1iZyAuciBpLAouanNsaWRlcl9yb3VuZF9wbGFzdGljIC5qc2xpZGVyLWJnIC52IGksCi5qc2xpZGVyX3JvdW5kX3BsYXN0aWMgLmpzbGlkZXItcG9pbnRlciBpIHsgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9Jy4vc3R5bGVzaGVldHMvanNsaWRlci5yb3VuZC5wbmcnLCBzaXppbmdNZXRob2Q9J2Nyb3AnKTsgfQo=]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.round.plastic.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/css/jslider.round.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/plugins/slider/doc/readme.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[RXhhbXBsZXMKCiAgc2xpZGVyKCkg4oCUIGdldCBzbGlkZXIgb2JqZWN0CgogIHNsaWRlcigndmFsdWUnKSDigJQgcmV0dXJuIHNjb3BlIG9mIHZhbHVlcwogIHNsaWRlcigndmFsdWUnLCAxMDAgKSDigJQgc2V0IGZpcnN0IHBvaW50ZXIgdG8gMQogIHNsaWRlcigndmFsdWUnLCAxMDAsIDIwMCApIOKAlCBzZXQgZmlyc3QgcG9pbnRlciB0byAxLCBzZWNvbmQgcG9pbnRlciB0byAyCgogIHNsaWRlcigncHJjJykg4oCUIHJldHVybiBzY29wZSBvZiB2YWx1ZXMgaW4gcHJjCiAgc2xpZGVyKCdwcmMnLCAxMCApIOKAlCBzZXQgZmlyc3QgcG9pbnRlciB0byAxMCUKICBzbGlkZXIoJ3ByYycsIDEwLCA5MCApIOKAlCBzZXQgZmlyc3QgcG9pbnRlciB0byAxMCUsIHNlY29uZCBwb2ludGVyIHRvIDkwJQoKICBzbGlkZXIoJ2NhbGN1bGF0ZWRWYWx1ZScpIOKAlCByZXR1cm4gdmFsdWUgc2NvcGUgZnJvbSAiY2FsY3VsYXRlIiBmdW5jdGlvbgoKICBzbGlkZXIoJ3NraW4nLCAicGxhc3RpYyIpIOKAlCBzZXQgc2tpbiB0byBzbGlkZXIKCgoK]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/plugins/slider/js/jq.dependClass.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogRGVwZW5kIENsYXNzIHYwLjFiIDogYXR0YWNoIGNsYXNzIGJhc2VkIG9uIGZpcnN0IGNsYXNzIGluIGxpc3Qgb2YgY3VycmVudCBlbGVtZW50CiAqIEZpbGU6IGpxdWVyeS5kZXBlbmRDbGFzcy5qcwogKiBDb3B5cmlnaHQgKGMpIDIwMDkgRWdvciBIbWVseW9mZiwgaG1lbHlvZmZAZ21haWwuY29tCiAqLwoKCihmdW5jdGlvbigkKSB7CgkvLyBJbml0IHBsdWdpbiBmdW5jdGlvbgoJJC5iYXNlQ2xhc3MgPSBmdW5jdGlvbihvYmopewoJICBvYmogPSAkKG9iaik7CgkgIHJldHVybiBvYmouZ2V0KDApLmNsYXNzTmFtZS5tYXRjaCgvKFteIF0rKS8pWzFdOwoJfTsKCQoJJC5mbi5hZGREZXBlbmRDbGFzcyA9IGZ1bmN0aW9uKGNsYXNzTmFtZSwgZGVsaW1pdGVyKXsKCQl2YXIgb3B0aW9ucyA9IHsKCQkgIGRlbGltaXRlcjogZGVsaW1pdGVyID8gZGVsaW1pdGVyIDogJy0nCgkJfQoJCXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXsKCQkgIHZhciBiYXNlQ2xhc3MgPSAkLmJhc2VDbGFzcyh0aGlzKTsKCQkgIGlmKGJhc2VDbGFzcykKICAgIAkJJCh0aGlzKS5hZGRDbGFzcyhiYXNlQ2xhc3MgKyBvcHRpb25zLmRlbGltaXRlciArIGNsYXNzTmFtZSk7CgkJfSk7Cgl9OwoKCSQuZm4ucmVtb3ZlRGVwZW5kQ2xhc3MgPSBmdW5jdGlvbihjbGFzc05hbWUsIGRlbGltaXRlcil7CgkJdmFyIG9wdGlvbnMgPSB7CgkJICBkZWxpbWl0ZXI6IGRlbGltaXRlciA/IGRlbGltaXRlciA6ICctJwoJCX0KCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7CgkJICB2YXIgYmFzZUNsYXNzID0gJC5iYXNlQ2xhc3ModGhpcyk7CgkJICBpZihiYXNlQ2xhc3MpCiAgICAJCSQodGhpcykucmVtb3ZlQ2xhc3MoYmFzZUNsYXNzICsgb3B0aW9ucy5kZWxpbWl0ZXIgKyBjbGFzc05hbWUpOwoJCX0pOwoJfTsKCgkkLmZuLnRvZ2dsZURlcGVuZENsYXNzID0gZnVuY3Rpb24oY2xhc3NOYW1lLCBkZWxpbWl0ZXIpewoJCXZhciBvcHRpb25zID0gewoJCSAgZGVsaW1pdGVyOiBkZWxpbWl0ZXIgPyBkZWxpbWl0ZXIgOiAnLScKCQl9CgkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpewoJCSAgdmFyIGJhc2VDbGFzcyA9ICQuYmFzZUNsYXNzKHRoaXMpOwoJCSAgaWYoYmFzZUNsYXNzKQoJCSAgICBpZigkKHRoaXMpLmlzKCIuIiArIGJhc2VDbGFzcyArIG9wdGlvbnMuZGVsaW1pdGVyICsgY2xhc3NOYW1lKSkKICAgIAkJICAkKHRoaXMpLnJlbW92ZUNsYXNzKGJhc2VDbGFzcyArIG9wdGlvbnMuZGVsaW1pdGVyICsgY2xhc3NOYW1lKTsKICAgIAkJZWxzZQogICAgCQkgICQodGhpcykuYWRkQ2xhc3MoYmFzZUNsYXNzICsgb3B0aW9ucy5kZWxpbWl0ZXIgKyBjbGFzc05hbWUpOwoJCX0pOwoJfTsKCgkvLyBlbmQgb2YgY2xvc3VyZQp9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/plugins/slider/js/jq.slider.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKCl7RnVuY3Rpb24ucHJvdG90eXBlLmluaGVyaXRGcm9tPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9ZnVuY3Rpb24oKXt9O2QucHJvdG90eXBlPWIucHJvdG90eXBlO3RoaXMucHJvdG90eXBlPW5ldyBkKCk7dGhpcy5wcm90b3R5cGUuY29uc3RydWN0b3I9dGhpczt0aGlzLnByb3RvdHlwZS5iYXNlQ29uc3RydWN0b3I9Yjt0aGlzLnByb3RvdHlwZS5zdXBlckNsYXNzPWIucHJvdG90eXBlO2lmKGMpe2Zvcih2YXIgYSBpbiBjKXt0aGlzLnByb3RvdHlwZVthXT1jW2FdfX19O051bWJlci5wcm90b3R5cGUualNsaWRlck5pY2U9ZnVuY3Rpb24obCl7dmFyIG89L14oLSk/KFxkKykoW1wuLF0oXGQrKSk/JC87dmFyIGQ9TnVtYmVyKHRoaXMpO3ZhciBqPVN0cmluZyhkKTt2YXIgazt2YXIgYz0iIjt2YXIgYj0iICI7aWYoKGs9ai5tYXRjaChvKSkpe3ZhciBmPWtbMl07dmFyIG09KGtbNF0pP051bWJlcigiMC4iK2tbNF0pOjA7aWYobSl7dmFyIGU9TWF0aC5wb3coMTAsKGwpP2w6Mik7bT1NYXRoLnJvdW5kKG0qZSk7c05ld0RlY1BhcnQ9U3RyaW5nKG0pO2M9c05ld0RlY1BhcnQ7aWYoc05ld0RlY1BhcnQubGVuZ3RoPGwpe3ZhciBhPWwtc05ld0RlY1BhcnQubGVuZ3RoO2Zvcih2YXIgZz0wO2c8YTtnKyspe2M9IjAiK2N9fWM9IiwiK2N9ZWxzZXtpZihsJiZsIT0wKXtmb3IodmFyIGc9MDtnPGw7ZysrKXtjKz0iMCJ9Yz0iLCIrY319dmFyIGg7aWYoTnVtYmVyKGYpPDEwMDApe2g9ZitjfWVsc2V7dmFyIG49IiI7dmFyIGc7Zm9yKGc9MTtnKjM8Zi5sZW5ndGg7ZysrKXtuPWIrZi5zdWJzdHJpbmcoZi5sZW5ndGgtZyozLGYubGVuZ3RoLShnLTEpKjMpK259aD1mLnN1YnN0cigwLDMtZyozK2YubGVuZ3RoKStuK2N9aWYoa1sxXSl7cmV0dXJuIi0iK2h9ZWxzZXtyZXR1cm4gaH19ZWxzZXtyZXR1cm4gan19O3RoaXMualNsaWRlcklzQXJyYXk9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PSJ1bmRlZmluZWQiKXtyZXR1cm4gZmFsc2V9aWYoYSBpbnN0YW5jZW9mIEFycmF5fHwoIShhIGluc3RhbmNlb2YgT2JqZWN0KSYmKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCgoYSkpPT0iW29iamVjdCBBcnJheV0iKXx8dHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIiYmdHlwZW9mIGEuc3BsaWNlIT0idW5kZWZpbmVkIiYmdHlwZW9mIGEucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhYS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgic3BsaWNlIikpKXtyZXR1cm4gdHJ1ZX1yZXR1cm4gZmFsc2V9fSkoKTsoZnVuY3Rpb24oKXt2YXIgYT17fTt0aGlzLmpTbGlkZXJUbXBsPWZ1bmN0aW9uIGIoZSxkKXt2YXIgYz0hKC9cVy8pLnRlc3QoZSk/YVtlXT1hW2VdfHxiKGUpOm5ldyBGdW5jdGlvbigib2JqIiwidmFyIHA9W10scHJpbnQ9ZnVuY3Rpb24oKXtwLnB1c2guYXBwbHkocCxhcmd1bWVudHMpO307d2l0aChvYmope3AucHVzaCgnIitlLnJlcGxhY2UoL1tcclx0XG5dL2csIiAiKS5zcGxpdCgiPCUiKS5qb2luKCJcdCIpLnJlcGxhY2UoLygoXnwlPilbXlx0XSopJy9nLCIkMVxyIikucmVwbGFjZSgvXHQ9KC4qPyklPi9nLCInLCQxLCciKS5zcGxpdCgiXHQiKS5qb2luKCInKTsiKS5zcGxpdCgiJT4iKS5qb2luKCJwLnB1c2goJyIpLnNwbGl0KCJcciIpLmpvaW4oIlxcJyIpKyInKTt9cmV0dXJuIHAuam9pbignJyk7Iik7cmV0dXJuIGQ/YyhkKTpjfX0pKCk7KGZ1bmN0aW9uKGEpe3RoaXMuRHJhZ2dhYmxlPWZ1bmN0aW9uKCl7dGhpcy5faW5pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O0RyYWdnYWJsZS5wcm90b3R5cGU9e29uaW5pdDpmdW5jdGlvbigpe30sZXZlbnRzOmZ1bmN0aW9uKCl7fSxvbm1vdXNlZG93bjpmdW5jdGlvbigpe3RoaXMucHRyLmNzcyh7cG9zaXRpb246ImFic29sdXRlIn0pfSxvbm1vdXNlbW92ZTpmdW5jdGlvbihjLGIsZCl7dGhpcy5wdHIuY3NzKHtsZWZ0OmIsdG9wOmR9KX0sb25tb3VzZXVwOmZ1bmN0aW9uKCl7fSxpc0RlZmF1bHQ6e2RyYWc6ZmFsc2UsY2xpY2tlZDpmYWxzZSx0b2NsaWNrOnRydWUsbW91c2V1cDpmYWxzZX0sX2luaXQ6ZnVuY3Rpb24oKXtpZihhcmd1bWVudHMubGVuZ3RoPjApe3RoaXMucHRyPWEoYXJndW1lbnRzWzBdKTt0aGlzLm91dGVyPWEoIi5kcmFnZ2FibGUtb3V0ZXIiKTt0aGlzLmlzPXt9O2EuZXh0ZW5kKHRoaXMuaXMsdGhpcy5pc0RlZmF1bHQpO3ZhciBiPXRoaXMucHRyLm9mZnNldCgpO3RoaXMuZD17bGVmdDpiLmxlZnQsdG9wOmIudG9wLHdpZHRoOnRoaXMucHRyLndpZHRoKCksaGVpZ2h0OnRoaXMucHRyLmhlaWdodCgpfTt0aGlzLm9uaW5pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5fZXZlbnRzKCl9fSxfZ2V0UGFnZUNvb3JkczpmdW5jdGlvbihiKXtpZihiLnRhcmdldFRvdWNoZXMmJmIudGFyZ2V0VG91Y2hlc1swXSl7cmV0dXJue3g6Yi50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYLHk6Yi50YXJnZXRUb3VjaGVzWzBdLnBhZ2VZfX1lbHNle3JldHVybnt4OmIucGFnZVgseTpiLnBhZ2VZfX19LF9iaW5kRXZlbnQ6ZnVuY3Rpb24oZSxjLGQpe3ZhciBiPXRoaXM7aWYodGhpcy5zdXBwb3J0VG91Y2hlc18pe2UuZ2V0KDApLmFkZEV2ZW50TGlzdGVuZXIodGhpcy5ldmVudHNfW2NdLGQsZmFsc2UpfWVsc2V7ZS5iaW5kKHRoaXMuZXZlbnRzX1tjXSxkKX19LF9ldmVudHM6ZnVuY3Rpb24oKXt2YXIgYj10aGlzO3RoaXMuc3VwcG9ydFRvdWNoZXNfPShhLmJyb3dzZXIud2Via2l0JiZuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIk1vYmlsZSIpIT0tMSk7dGhpcy5ldmVudHNfPXtjbGljazp0aGlzLnN1cHBvcnRUb3VjaGVzXz8idG91Y2hzdGFydCI6ImNsaWNrIixkb3duOnRoaXMuc3VwcG9ydFRvdWNoZXNfPyJ0b3VjaHN0YXJ0IjoibW91c2Vkb3duIixtb3ZlOnRoaXMuc3VwcG9ydFRvdWNoZXNfPyJ0b3VjaG1vdmUiOiJtb3VzZW1vdmUiLHVwOnRoaXMuc3VwcG9ydFRvdWNoZXNfPyJ0b3VjaGVuZCI6Im1vdXNldXAifTt0aGlzLl9iaW5kRXZlbnQoYShkb2N1bWVudCksIm1vdmUiLGZ1bmN0aW9uKGMpe2lmKGIuaXMuZHJhZyl7Yy5zdG9wUHJvcGFnYXRpb24oKTtjLnByZXZlbnREZWZhdWx0KCk7Yi5fbW91c2Vtb3ZlKGMpfX0pO3RoaXMuX2JpbmRFdmVudChhKGRvY3VtZW50KSwiZG93biIsZnVuY3Rpb24oYyl7aWYoYi5pcy5kcmFnKXtjLnN0b3BQcm9wYWdhdGlvbigpO2MucHJldmVudERlZmF1bHQoKX19KTt0aGlzLl9iaW5kRXZlbnQoYShkb2N1bWVudCksInVwIixmdW5jdGlvbihjKXtiLl9tb3VzZXVwKGMpfSk7dGhpcy5fYmluZEV2ZW50KHRoaXMucHRyLCJkb3duIixmdW5jdGlvbihjKXtiLl9tb3VzZWRvd24oYyk7cmV0dXJuIGZhbHNlfSk7dGhpcy5fYmluZEV2ZW50KHRoaXMucHRyLCJ1cCIsZnVuY3Rpb24oYyl7Yi5fbW91c2V1cChjKX0pO3RoaXMucHRyLmZpbmQoImEiKS5jbGljayhmdW5jdGlvbigpe2IuaXMuY2xpY2tlZD10cnVlO2lmKCFiLmlzLnRvY2xpY2spe2IuaXMudG9jbGljaz10cnVlO3JldHVybiBmYWxzZX19KS5tb3VzZWRvd24oZnVuY3Rpb24oYyl7Yi5fbW91c2Vkb3duKGMpO3JldHVybiBmYWxzZX0pO3RoaXMuZXZlbnRzKCl9LF9tb3VzZWRvd246ZnVuY3Rpb24oYil7dGhpcy5pcy5kcmFnPXRydWU7dGhpcy5pcy5jbGlja2VkPWZhbHNlO3RoaXMuaXMubW91c2V1cD1mYWxzZTt2YXIgYz10aGlzLnB0ci5vZmZzZXQoKTt2YXIgZD10aGlzLl9nZXRQYWdlQ29vcmRzKGIpO3RoaXMuY3g9ZC54LWMubGVmdDt0aGlzLmN5PWQueS1jLnRvcDthLmV4dGVuZCh0aGlzLmQse2xlZnQ6Yy5sZWZ0LHRvcDpjLnRvcCx3aWR0aDp0aGlzLnB0ci53aWR0aCgpLGhlaWdodDp0aGlzLnB0ci5oZWlnaHQoKX0pO2lmKHRoaXMub3V0ZXImJnRoaXMub3V0ZXIuZ2V0KDApKXt0aGlzLm91dGVyLmNzcyh7aGVpZ2h0Ok1hdGgubWF4KHRoaXMub3V0ZXIuaGVpZ2h0KCksYShkb2N1bWVudC5ib2R5KS5oZWlnaHQoKSksb3ZlcmZsb3c6ImhpZGRlbiJ9KX10aGlzLm9ubW91c2Vkb3duKGIpfSxfbW91c2Vtb3ZlOmZ1bmN0aW9uKGIpe3RoaXMuaXMudG9jbGljaz1mYWxzZTt2YXIgYz10aGlzLl9nZXRQYWdlQ29vcmRzKGIpO3RoaXMub25tb3VzZW1vdmUoYixjLngtdGhpcy5jeCxjLnktdGhpcy5jeSl9LF9tb3VzZXVwOmZ1bmN0aW9uKGIpe3ZhciBjPXRoaXM7aWYodGhpcy5pcy5kcmFnKXt0aGlzLmlzLmRyYWc9ZmFsc2U7aWYodGhpcy5vdXRlciYmdGhpcy5vdXRlci5nZXQoMCkpe2lmKGEuYnJvd3Nlci5tb3ppbGxhKXt0aGlzLm91dGVyLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KX1lbHNle3RoaXMub3V0ZXIuY3NzKHtvdmVyZmxvdzoidmlzaWJsZSJ9KX1pZihhLmJyb3dzZXIubXNpZSYmYS5icm93c2VyLnZlcnNpb249PSI2LjAiKXt0aGlzLm91dGVyLmNzcyh7aGVpZ2h0OiIxMDAlIn0pfWVsc2V7dGhpcy5vdXRlci5jc3Moe2hlaWdodDoiYXV0byJ9KX19dGhpcy5vbm1vdXNldXAoYil9fX19KShqUXVlcnkpOyhmdW5jdGlvbihiKXtiLnNsaWRlcj1mdW5jdGlvbihmLGUpe3ZhciBkPWIoZik7aWYoIWQuZGF0YSgianNsaWRlciIpKXtkLmRhdGEoImpzbGlkZXIiLG5ldyBqU2xpZGVyKGYsZSkpfXJldHVybiBkLmRhdGEoImpzbGlkZXIiKX07Yi5mbi5zbGlkZXI9ZnVuY3Rpb24oaCxlKXt2YXIgZyxmPWFyZ3VtZW50cztmdW5jdGlvbiBkKGope3JldHVybiBqIT09dW5kZWZpbmVkfWZ1bmN0aW9uIGkoail7cmV0dXJuIGohPW51bGx9dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGs9Yi5zbGlkZXIodGhpcyxoKTtpZih0eXBlb2YgaD09InN0cmluZyIpe3N3aXRjaChoKXtjYXNlInZhbHVlIjppZihkKGZbMV0pJiZkKGZbMl0pKXt2YXIgaj1rLmdldFBvaW50ZXJzKCk7aWYoaShqWzBdKSYmaShmWzFdKSl7alswXS5zZXQoZlsxXSk7alswXS5zZXRJbmRleE92ZXIoKX1pZihpKGpbMV0pJiZpKGZbMl0pKXtqWzFdLnNldChmWzJdKTtqWzFdLnNldEluZGV4T3ZlcigpfX1lbHNle2lmKGQoZlsxXSkpe3ZhciBqPWsuZ2V0UG9pbnRlcnMoKTtpZihpKGpbMF0pJiZpKGZbMV0pKXtqWzBdLnNldChmWzFdKTtqWzBdLnNldEluZGV4T3ZlcigpfX1lbHNle2c9ay5nZXRWYWx1ZSgpfX1icmVhaztjYXNlInByYyI6aWYoZChmWzFdKSYmZChmWzJdKSl7dmFyIGo9ay5nZXRQb2ludGVycygpO2lmKGkoalswXSkmJmkoZlsxXSkpe2pbMF0uX3NldChmWzFdKTtqWzBdLnNldEluZGV4T3ZlcigpfWlmKGkoalsxXSkmJmkoZlsyXSkpe2pbMV0uX3NldChmWzJdKTtqWzFdLnNldEluZGV4T3ZlcigpfX1lbHNle2lmKGQoZlsxXSkpe3ZhciBqPWsuZ2V0UG9pbnRlcnMoKTtpZihpKGpbMF0pJiZpKGZbMV0pKXtqWzBdLl9zZXQoZlsxXSk7alswXS5zZXRJbmRleE92ZXIoKX19ZWxzZXtnPWsuZ2V0UHJjVmFsdWUoKX19YnJlYWs7Y2FzZSJjYWxjdWxhdGVkVmFsdWUiOnZhciBtPWsuZ2V0VmFsdWUoKS5zcGxpdCgiOyIpO2c9IiI7Zm9yKHZhciBsPTA7bDxtLmxlbmd0aDtsKyspe2crPShsPjA/IjsiOiIiKStrLm5pY2UobVtsXSl9YnJlYWs7Y2FzZSJza2luIjprLnNldFNraW4oZlsxXSk7YnJlYWt9fWVsc2V7aWYoIWgmJiFlKXtpZighalNsaWRlcklzQXJyYXkoZykpe2c9W119Zy5wdXNoKHNsaWRlcil9fX0pO2lmKGpTbGlkZXJJc0FycmF5KGcpJiZnLmxlbmd0aD09MSl7Zz1nWzBdfXJldHVybiBnfHx0aGlzfTt2YXIgYz17c2V0dGluZ3M6e2Zyb206MSx0bzoxMCxzdGVwOjEsc21vb3RoOnRydWUsbGltaXRzOnRydWUscm91bmQ6MCx2YWx1ZToiNTs3IixkaW1lbnNpb246IiJ9LGNsYXNzTmFtZToianNsaWRlciIsc2VsZWN0b3I6Ii5qc2xpZGVyLSIsdGVtcGxhdGU6alNsaWRlclRtcGwoJzxzcGFuIGNsYXNzPSI8JT1jbGFzc05hbWUlPiI+PHRhYmxlPjx0cj48dGQ+PGRpdiBjbGFzcz0iPCU9Y2xhc3NOYW1lJT4tYmciPjxpIGNsYXNzPSJsIj48aT48L2k+PC9pPjxpIGNsYXNzPSJyIj48aT48L2k+PC9pPjxpIGNsYXNzPSJ2Ij48aT48L2k+PC9pPjwvZGl2PjxkaXYgY2xhc3M9IjwlPWNsYXNzTmFtZSU+LXBvaW50ZXIiPjxpPjwvaT48L2Rpdj48ZGl2IGNsYXNzPSI8JT1jbGFzc05hbWUlPi1wb2ludGVyIDwlPWNsYXNzTmFtZSU+LXBvaW50ZXItdG8iPjxpPjwvaT48L2Rpdj48ZGl2IGNsYXNzPSI8JT1jbGFzc05hbWUlPi1sYWJlbCI+PHNwYW4+PCU9c2V0dGluZ3MuZnJvbSU+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9IjwlPWNsYXNzTmFtZSU+LWxhYmVsIDwlPWNsYXNzTmFtZSU+LWxhYmVsLXRvIj48c3Bhbj48JT1zZXR0aW5ncy50byU+PC9zcGFuPjwlPXNldHRpbmdzLmRpbWVuc2lvbiU+PC9kaXY+PGRpdiBjbGFzcz0iPCU9Y2xhc3NOYW1lJT4tdmFsdWUiPjxzcGFuPjwvc3Bhbj48JT1zZXR0aW5ncy5kaW1lbnNpb24lPjwvZGl2PjxkaXYgY2xhc3M9IjwlPWNsYXNzTmFtZSU+LXZhbHVlIDwlPWNsYXNzTmFtZSU+LXZhbHVlLXRvIj48c3Bhbj48L3NwYW4+PCU9c2V0dGluZ3MuZGltZW5zaW9uJT48L2Rpdj48ZGl2IGNsYXNzPSI8JT1jbGFzc05hbWUlPi1zY2FsZSI+PCU9c2NhbGUlPjwvZGl2PjwvdGQ+PC90cj48L3RhYmxlPjwvc3Bhbj4nKX07dGhpcy5qU2xpZGVyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2pTbGlkZXIucHJvdG90eXBlPXtpbml0OmZ1bmN0aW9uKGUsZCl7dGhpcy5zZXR0aW5ncz1iLmV4dGVuZCh0cnVlLHt9LGMuc2V0dGluZ3MsZD9kOnt9KTt0aGlzLmlucHV0Tm9kZT1iKGUpLmhpZGUoKTt0aGlzLnNldHRpbmdzLmludGVydmFsPXRoaXMuc2V0dGluZ3MudG8tdGhpcy5zZXR0aW5ncy5mcm9tO3RoaXMuc2V0dGluZ3MudmFsdWU9dGhpcy5pbnB1dE5vZGUuYXR0cigidmFsdWUiKTtpZih0aGlzLnNldHRpbmdzLmNhbGN1bGF0ZSYmYi5pc0Z1bmN0aW9uKHRoaXMuc2V0dGluZ3MuY2FsY3VsYXRlKSl7dGhpcy5uaWNlPXRoaXMuc2V0dGluZ3MuY2FsY3VsYXRlfWlmKHRoaXMuc2V0dGluZ3Mub25zdGF0ZWNoYW5nZSYmYi5pc0Z1bmN0aW9uKHRoaXMuc2V0dGluZ3Mub25zdGF0ZWNoYW5nZSkpe3RoaXMub25zdGF0ZWNoYW5nZT10aGlzLnNldHRpbmdzLm9uc3RhdGVjaGFuZ2V9dGhpcy5pcz17aW5pdDpmYWxzZX07dGhpcy5vPXt9O3RoaXMuY3JlYXRlKCl9LG9uc3RhdGVjaGFuZ2U6ZnVuY3Rpb24oKXt9LGNyZWF0ZTpmdW5jdGlvbigpe3ZhciBkPXRoaXM7dGhpcy5kb21Ob2RlPWIoYy50ZW1wbGF0ZSh7Y2xhc3NOYW1lOmMuY2xhc3NOYW1lLHNldHRpbmdzOntmcm9tOnRoaXMubmljZSh0aGlzLnNldHRpbmdzLmZyb20pLHRvOnRoaXMubmljZSh0aGlzLnNldHRpbmdzLnRvKSxkaW1lbnNpb246dGhpcy5zZXR0aW5ncy5kaW1lbnNpb259LHNjYWxlOnRoaXMuZ2VuZXJhdGVTY2FsZSgpfSkpO3RoaXMuaW5wdXROb2RlLmFmdGVyKHRoaXMuZG9tTm9kZSk7dGhpcy5kcmF3U2NhbGUoKTtpZih0aGlzLnNldHRpbmdzLnNraW4mJnRoaXMuc2V0dGluZ3Muc2tpbi5sZW5ndGg+MCl7dGhpcy5zZXRTa2luKHRoaXMuc2V0dGluZ3Muc2tpbil9dGhpcy5zaXplcz17ZG9tV2lkdGg6dGhpcy5kb21Ob2RlLndpZHRoKCksZG9tT2Zmc2V0OnRoaXMuZG9tTm9kZS5vZmZzZXQoKX07Yi5leHRlbmQodGhpcy5vLHtwb2ludGVyczp7fSxsYWJlbHM6ezA6e286dGhpcy5kb21Ob2RlLmZpbmQoYy5zZWxlY3RvcisidmFsdWUiKS5ub3QoYy5zZWxlY3RvcisidmFsdWUtdG8iKX0sMTp7bzp0aGlzLmRvbU5vZGUuZmluZChjLnNlbGVjdG9yKyJ2YWx1ZSIpLmZpbHRlcihjLnNlbGVjdG9yKyJ2YWx1ZS10byIpfX0sbGltaXRzOnswOnRoaXMuZG9tTm9kZS5maW5kKGMuc2VsZWN0b3IrImxhYmVsIikubm90KGMuc2VsZWN0b3IrImxhYmVsLXRvIiksMTp0aGlzLmRvbU5vZGUuZmluZChjLnNlbGVjdG9yKyJsYWJlbCIpLmZpbHRlcihjLnNlbGVjdG9yKyJsYWJlbC10byIpfX0pO2IuZXh0ZW5kKHRoaXMuby5sYWJlbHNbMF0se3ZhbHVlOnRoaXMuby5sYWJlbHNbMF0uby5maW5kKCJzcGFuIil9KTtiLmV4dGVuZCh0aGlzLm8ubGFiZWxzWzFdLHt2YWx1ZTp0aGlzLm8ubGFiZWxzWzFdLm8uZmluZCgic3BhbiIpfSk7aWYoIWQuc2V0dGluZ3MudmFsdWUuc3BsaXQoIjsiKVsxXSl7dGhpcy5zZXR0aW5ncy5zaW5nbGU9dHJ1ZTt0aGlzLmRvbU5vZGUuYWRkRGVwZW5kQ2xhc3MoInNpbmdsZSIpfWlmKCFkLnNldHRpbmdzLmxpbWl0cyl7dGhpcy5kb21Ob2RlLmFkZERlcGVuZENsYXNzKCJsaW1pdGxlc3MiKX10aGlzLmRvbU5vZGUuZmluZChjLnNlbGVjdG9yKyJwb2ludGVyIikuZWFjaChmdW5jdGlvbihlKXt2YXIgZz1kLnNldHRpbmdzLnZhbHVlLnNwbGl0KCI7IilbZV07aWYoZyl7ZC5vLnBvaW50ZXJzW2VdPW5ldyBhKHRoaXMsZSxkKTt2YXIgZj1kLnNldHRpbmdzLnZhbHVlLnNwbGl0KCI7IilbZS0xXTtpZihmJiZuZXcgTnVtYmVyKGcpPG5ldyBOdW1iZXIoZikpe2c9Zn1nPWc8ZC5zZXR0aW5ncy5mcm9tP2Quc2V0dGluZ3MuZnJvbTpnO2c9Zz5kLnNldHRpbmdzLnRvP2Quc2V0dGluZ3MudG86ZztkLm8ucG9pbnRlcnNbZV0uc2V0KGcsdHJ1ZSl9fSk7dGhpcy5vLnZhbHVlPXRoaXMuZG9tTm9kZS5maW5kKCIudiIpO3RoaXMuaXMuaW5pdD10cnVlO2IuZWFjaCh0aGlzLm8ucG9pbnRlcnMsZnVuY3Rpb24oZSl7ZC5yZWRyYXcodGhpcyl9KTsoZnVuY3Rpb24oZSl7Yih3aW5kb3cpLnJlc2l6ZShmdW5jdGlvbigpe2Uub25yZXNpemUoKX0pfSkodGhpcyl9LHNldFNraW46ZnVuY3Rpb24oZCl7aWYodGhpcy5za2luXyl7dGhpcy5kb21Ob2RlLnJlbW92ZURlcGVuZENsYXNzKHRoaXMuc2tpbl8sIl8iKX10aGlzLmRvbU5vZGUuYWRkRGVwZW5kQ2xhc3ModGhpcy5za2luXz1kLCJfIil9LHNldFBvaW50ZXJzSW5kZXg6ZnVuY3Rpb24oZCl7Yi5lYWNoKHRoaXMuZ2V0UG9pbnRlcnMoKSxmdW5jdGlvbihlKXt0aGlzLmluZGV4KGUpfSl9LGdldFBvaW50ZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuby5wb2ludGVyc30sZ2VuZXJhdGVTY2FsZTpmdW5jdGlvbigpe2lmKHRoaXMuc2V0dGluZ3Muc2NhbGUmJnRoaXMuc2V0dGluZ3Muc2NhbGUubGVuZ3RoPjApe3ZhciBmPSIiO3ZhciBlPXRoaXMuc2V0dGluZ3Muc2NhbGU7dmFyIGc9TWF0aC5yb3VuZCgoMTAwLyhlLmxlbmd0aC0xKSkqMTApLzEwO2Zvcih2YXIgZD0wO2Q8ZS5sZW5ndGg7ZCsrKXtmKz0nPHNwYW4gc3R5bGU9ImxlZnQ6ICcrZCpnKyclIj4nKyhlW2RdIT0ifCI/IjxpbnM+IitlW2RdKyI8L2lucz4iOiIiKSsiPC9zcGFuPiJ9cmV0dXJuIGZ9ZWxzZXtyZXR1cm4iIn1yZXR1cm4iIn0sZHJhd1NjYWxlOmZ1bmN0aW9uKCl7dGhpcy5kb21Ob2RlLmZpbmQoYy5zZWxlY3Rvcisic2NhbGUgc3BhbiBpbnMiKS5lYWNoKGZ1bmN0aW9uKCl7Yih0aGlzKS5jc3Moe21hcmdpbkxlZnQ6LWIodGhpcykub3V0ZXJXaWR0aCgpLzJ9KX0pfSxvbnJlc2l6ZTpmdW5jdGlvbigpe3ZhciBkPXRoaXM7dGhpcy5zaXplcz17ZG9tV2lkdGg6dGhpcy5kb21Ob2RlLndpZHRoKCksZG9tT2Zmc2V0OnRoaXMuZG9tTm9kZS5vZmZzZXQoKX07Yi5lYWNoKHRoaXMuby5wb2ludGVycyxmdW5jdGlvbihlKXtkLnJlZHJhdyh0aGlzKX0pfSxsaW1pdHM6ZnVuY3Rpb24oZCxnKXtpZighdGhpcy5zZXR0aW5ncy5zbW9vdGgpe3ZhciBmPXRoaXMuc2V0dGluZ3Muc3RlcCoxMDAvKHRoaXMuc2V0dGluZ3MuaW50ZXJ2YWwpO2Q9TWF0aC5yb3VuZChkL2YpKmZ9dmFyIGU9dGhpcy5vLnBvaW50ZXJzWzEtZy51aWRdO2lmKGUmJmcudWlkJiZkPGUudmFsdWUucHJjKXtkPWUudmFsdWUucHJjfWlmKGUmJiFnLnVpZCYmZD5lLnZhbHVlLnByYyl7ZD1lLnZhbHVlLnByY31pZihkPDApe2Q9MH1pZihkPjEwMCl7ZD0xMDB9cmV0dXJuIE1hdGgucm91bmQoZCoxMCkvMTB9LHJlZHJhdzpmdW5jdGlvbihkKXtpZighdGhpcy5pcy5pbml0KXtyZXR1cm4gZmFsc2V9dGhpcy5zZXRWYWx1ZSgpO2lmKHRoaXMuby5wb2ludGVyc1swXSYmdGhpcy5vLnBvaW50ZXJzWzFdKXt0aGlzLm8udmFsdWUuY3NzKHtsZWZ0OnRoaXMuby5wb2ludGVyc1swXS52YWx1ZS5wcmMrIiUiLHdpZHRoOih0aGlzLm8ucG9pbnRlcnNbMV0udmFsdWUucHJjLXRoaXMuby5wb2ludGVyc1swXS52YWx1ZS5wcmMpKyIlIn0pfXRoaXMuby5sYWJlbHNbZC51aWRdLnZhbHVlLmh0bWwodGhpcy5uaWNlKGQudmFsdWUub3JpZ2luKSk7dGhpcy5yZWRyYXdMYWJlbHMoZCl9LHJlZHJhd0xhYmVsczpmdW5jdGlvbihqKXtmdW5jdGlvbiBmKGwsbSxuKXttLm1hcmdpbj0tbS5sYWJlbC8yO2xhYmVsX2xlZnQ9bS5ib3JkZXIrbS5tYXJnaW47aWYobGFiZWxfbGVmdDwwKXttLm1hcmdpbi09bGFiZWxfbGVmdH1pZihtLmJvcmRlcittLmxhYmVsLzI+ZS5zaXplcy5kb21XaWR0aCl7bS5tYXJnaW49MDttLnJpZ2h0PXRydWV9ZWxzZXttLnJpZ2h0PWZhbHNlfWwuby5jc3Moe2xlZnQ6bisiJSIsbWFyZ2luTGVmdDptLm1hcmdpbixyaWdodDoiYXV0byJ9KTtpZihtLnJpZ2h0KXtsLm8uY3NzKHtsZWZ0OiJhdXRvIixyaWdodDowfSl9cmV0dXJuIG19dmFyIGU9dGhpczt2YXIgZz10aGlzLm8ubGFiZWxzW2oudWlkXTt2YXIgaz1qLnZhbHVlLnByYzt2YXIgaD17bGFiZWw6Zy5vLm91dGVyV2lkdGgoKSxyaWdodDpmYWxzZSxib3JkZXI6KGsqdGhpcy5zaXplcy5kb21XaWR0aCkvMTAwfTtpZighdGhpcy5zZXR0aW5ncy5zaW5nbGUpe3ZhciBkPXRoaXMuby5wb2ludGVyc1sxLWoudWlkXTt2YXIgaT10aGlzLm8ubGFiZWxzW2QudWlkXTtzd2l0Y2goai51aWQpe2Nhc2UgMDppZihoLmJvcmRlcitoLmxhYmVsLzI+aS5vLm9mZnNldCgpLmxlZnQtdGhpcy5zaXplcy5kb21PZmZzZXQubGVmdCl7aS5vLmNzcyh7dmlzaWJpbGl0eToiaGlkZGVuIn0pO2kudmFsdWUuaHRtbCh0aGlzLm5pY2UoZC52YWx1ZS5vcmlnaW4pKTtnLm8uY3NzKHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pO2s9KGQudmFsdWUucHJjLWspLzIraztpZihkLnZhbHVlLnByYyE9ai52YWx1ZS5wcmMpe2cudmFsdWUuaHRtbCh0aGlzLm5pY2Uoai52YWx1ZS5vcmlnaW4pKyImbmJzcDsmbmRhc2g7Jm5ic3A7Iit0aGlzLm5pY2UoZC52YWx1ZS5vcmlnaW4pKTtoLmxhYmVsPWcuby5vdXRlcldpZHRoKCk7aC5ib3JkZXI9KGsqdGhpcy5zaXplcy5kb21XaWR0aCkvMTAwfX1lbHNle2kuby5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUifSl9YnJlYWs7Y2FzZSAxOmlmKGguYm9yZGVyLWgubGFiZWwvMjxpLm8ub2Zmc2V0KCkubGVmdC10aGlzLnNpemVzLmRvbU9mZnNldC5sZWZ0K2kuby5vdXRlcldpZHRoKCkpe2kuby5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiJ9KTtpLnZhbHVlLmh0bWwodGhpcy5uaWNlKGQudmFsdWUub3JpZ2luKSk7Zy5vLmNzcyh7dmlzaWJpbGl0eToidmlzaWJsZSJ9KTtrPShrLWQudmFsdWUucHJjKS8yK2QudmFsdWUucHJjO2lmKGQudmFsdWUucHJjIT1qLnZhbHVlLnByYyl7Zy52YWx1ZS5odG1sKHRoaXMubmljZShkLnZhbHVlLm9yaWdpbikrIiZuYnNwOyZuZGFzaDsmbmJzcDsiK3RoaXMubmljZShqLnZhbHVlLm9yaWdpbikpO2gubGFiZWw9Zy5vLm91dGVyV2lkdGgoKTtoLmJvcmRlcj0oayp0aGlzLnNpemVzLmRvbVdpZHRoKS8xMDB9fWVsc2V7aS5vLmNzcyh7dmlzaWJpbGl0eToidmlzaWJsZSJ9KX1icmVha319aD1mKGcsaCxrKTtpZihpKXt2YXIgaD17bGFiZWw6aS5vLm91dGVyV2lkdGgoKSxyaWdodDpmYWxzZSxib3JkZXI6KGQudmFsdWUucHJjKnRoaXMuc2l6ZXMuZG9tV2lkdGgpLzEwMH07aD1mKGksaCxkLnZhbHVlLnByYyl9dGhpcy5yZWRyYXdMaW1pdHMoKX0scmVkcmF3TGltaXRzOmZ1bmN0aW9uKCl7aWYodGhpcy5zZXR0aW5ncy5saW1pdHMpe3ZhciBmPVt0cnVlLHRydWVdO2ZvcihrZXkgaW4gdGhpcy5vLnBvaW50ZXJzKXtpZighdGhpcy5zZXR0aW5ncy5zaW5nbGV8fGtleT09MCl7dmFyIGo9dGhpcy5vLnBvaW50ZXJzW2tleV07dmFyIGU9dGhpcy5vLmxhYmVsc1tqLnVpZF07dmFyIGg9ZS5vLm9mZnNldCgpLmxlZnQtdGhpcy5zaXplcy5kb21PZmZzZXQubGVmdDt2YXIgZD10aGlzLm8ubGltaXRzWzBdO2lmKGg8ZC5vdXRlcldpZHRoKCkpe2ZbMF09ZmFsc2V9dmFyIGQ9dGhpcy5vLmxpbWl0c1sxXTtpZihoK2Uuby5vdXRlcldpZHRoKCk+dGhpcy5zaXplcy5kb21XaWR0aC1kLm91dGVyV2lkdGgoKSl7ZlsxXT1mYWxzZX19fWZvcih2YXIgZz0wO2c8Zi5sZW5ndGg7ZysrKXtpZihmW2ddKXt0aGlzLm8ubGltaXRzW2ddLmZhZGVJbigiZmFzdCIpfWVsc2V7dGhpcy5vLmxpbWl0c1tnXS5mYWRlT3V0KCJmYXN0Iil9fX19LHNldFZhbHVlOmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy5nZXRWYWx1ZSgpO3RoaXMuaW5wdXROb2RlLmF0dHIoInZhbHVlIixkKTt0aGlzLm9uc3RhdGVjaGFuZ2UuY2FsbCh0aGlzLGQpfSxnZXRWYWx1ZTpmdW5jdGlvbigpe2lmKCF0aGlzLmlzLmluaXQpe3JldHVybiBmYWxzZX12YXIgZT10aGlzO3ZhciBkPSIiO2IuZWFjaCh0aGlzLm8ucG9pbnRlcnMsZnVuY3Rpb24oZil7aWYodGhpcy52YWx1ZS5wcmMhPXVuZGVmaW5lZCYmIWlzTmFOKHRoaXMudmFsdWUucHJjKSl7ZCs9KGY+MD8iOyI6IiIpK2UucHJjVG9WYWx1ZSh0aGlzLnZhbHVlLnByYyl9fSk7cmV0dXJuIGR9LGdldFByY1ZhbHVlOmZ1bmN0aW9uKCl7aWYoIXRoaXMuaXMuaW5pdCl7cmV0dXJuIGZhbHNlfXZhciBlPXRoaXM7dmFyIGQ9IiI7Yi5lYWNoKHRoaXMuby5wb2ludGVycyxmdW5jdGlvbihmKXtpZih0aGlzLnZhbHVlLnByYyE9dW5kZWZpbmVkJiYhaXNOYU4odGhpcy52YWx1ZS5wcmMpKXtkKz0oZj4wPyI7IjoiIikrdGhpcy52YWx1ZS5wcmN9fSk7cmV0dXJuIGR9LHByY1RvVmFsdWU6ZnVuY3Rpb24obCl7aWYodGhpcy5zZXR0aW5ncy5oZXRlcm9nZW5laXR5JiZ0aGlzLnNldHRpbmdzLmhldGVyb2dlbmVpdHkubGVuZ3RoPjApe3ZhciBnPXRoaXMuc2V0dGluZ3MuaGV0ZXJvZ2VuZWl0eTt2YXIgZj0wO3ZhciBrPXRoaXMuc2V0dGluZ3MuZnJvbTtmb3IodmFyIGU9MDtlPD1nLmxlbmd0aDtlKyspe2lmKGdbZV0pe3ZhciBkPWdbZV0uc3BsaXQoIi8iKX1lbHNle3ZhciBkPVsxMDAsdGhpcy5zZXR0aW5ncy50b119ZFswXT1uZXcgTnVtYmVyKGRbMF0pO2RbMV09bmV3IE51bWJlcihkWzFdKTtpZihsPj1mJiZsPD1kWzBdKXt2YXIgaj1rKygobC1mKSooZFsxXS1rKSkvKGRbMF0tZil9Zj1kWzBdO2s9ZFsxXX19ZWxzZXt2YXIgaj10aGlzLnNldHRpbmdzLmZyb20rKGwqdGhpcy5zZXR0aW5ncy5pbnRlcnZhbCkvMTAwfXJldHVybiB0aGlzLnJvdW5kKGopfSx2YWx1ZVRvUHJjOmZ1bmN0aW9uKGosbCl7aWYodGhpcy5zZXR0aW5ncy5oZXRlcm9nZW5laXR5JiZ0aGlzLnNldHRpbmdzLmhldGVyb2dlbmVpdHkubGVuZ3RoPjApe3ZhciBnPXRoaXMuc2V0dGluZ3MuaGV0ZXJvZ2VuZWl0eTt2YXIgZj0wO3ZhciBrPXRoaXMuc2V0dGluZ3MuZnJvbTtmb3IodmFyIGU9MDtlPD1nLmxlbmd0aDtlKyspe2lmKGdbZV0pe3ZhciBkPWdbZV0uc3BsaXQoIi8iKX1lbHNle3ZhciBkPVsxMDAsdGhpcy5zZXR0aW5ncy50b119ZFswXT1uZXcgTnVtYmVyKGRbMF0pO2RbMV09bmV3IE51bWJlcihkWzFdKTtpZihqPj1rJiZqPD1kWzFdKXt2YXIgbT1sLmxpbWl0cyhmKyhqLWspKihkWzBdLWYpLyhkWzFdLWspKX1mPWRbMF07az1kWzFdfX1lbHNle3ZhciBtPWwubGltaXRzKChqLXRoaXMuc2V0dGluZ3MuZnJvbSkqMTAwL3RoaXMuc2V0dGluZ3MuaW50ZXJ2YWwpfXJldHVybiBtfSxyb3VuZDpmdW5jdGlvbihkKXtkPU1hdGgucm91bmQoZC90aGlzLnNldHRpbmdzLnN0ZXApKnRoaXMuc2V0dGluZ3Muc3RlcDtpZih0aGlzLnNldHRpbmdzLnJvdW5kKXtkPU1hdGgucm91bmQoZCpNYXRoLnBvdygxMCx0aGlzLnNldHRpbmdzLnJvdW5kKSkvTWF0aC5wb3coMTAsdGhpcy5zZXR0aW5ncy5yb3VuZCl9ZWxzZXtkPU1hdGgucm91bmQoZCl9cmV0dXJuIGR9LG5pY2U6ZnVuY3Rpb24oZCl7ZD1kLnRvU3RyaW5nKCkucmVwbGFjZSgvLC9naSwiLiIpO2Q9ZC50b1N0cmluZygpLnJlcGxhY2UoLyAvZ2ksIiIpO2lmKE51bWJlci5wcm90b3R5cGUualNsaWRlck5pY2Upe3JldHVybihuZXcgTnVtYmVyKGQpKS5qU2xpZGVyTmljZSh0aGlzLnNldHRpbmdzLnJvdW5kKS5yZXBsYWNlKC8tL2dpLCImbWludXM7Iil9ZWxzZXtyZXR1cm4gbmV3IE51bWJlcihkKX19fTtmdW5jdGlvbiBhKCl7dGhpcy5iYXNlQ29uc3RydWN0b3IuYXBwbHkodGhpcyxhcmd1bWVudHMpfWEuaW5oZXJpdEZyb20oRHJhZ2dhYmxlLHtvbmluaXQ6ZnVuY3Rpb24oZixlLGQpe3RoaXMudWlkPWU7dGhpcy5wYXJlbnQ9ZDt0aGlzLnZhbHVlPXt9O3RoaXMuc2V0dGluZ3M9dGhpcy5wYXJlbnQuc2V0dGluZ3N9LG9ubW91c2Vkb3duOmZ1bmN0aW9uKGQpe3RoaXMuX3BhcmVudD17b2Zmc2V0OnRoaXMucGFyZW50LmRvbU5vZGUub2Zmc2V0KCksd2lkdGg6dGhpcy5wYXJlbnQuZG9tTm9kZS53aWR0aCgpfTt0aGlzLnB0ci5hZGREZXBlbmRDbGFzcygiaG92ZXIiKTt0aGlzLnNldEluZGV4T3ZlcigpfSxvbm1vdXNlbW92ZTpmdW5jdGlvbihlLGQpe3ZhciBmPXRoaXMuX2dldFBhZ2VDb29yZHMoZSk7dGhpcy5fc2V0KHRoaXMuY2FsYyhmLngpKX0sb25tb3VzZXVwOmZ1bmN0aW9uKGQpe2lmKHRoaXMucGFyZW50LnNldHRpbmdzLmNhbGxiYWNrJiZiLmlzRnVuY3Rpb24odGhpcy5wYXJlbnQuc2V0dGluZ3MuY2FsbGJhY2spKXt0aGlzLnBhcmVudC5zZXR0aW5ncy5jYWxsYmFjay5jYWxsKHRoaXMucGFyZW50LHRoaXMucGFyZW50LmdldFZhbHVlKCkpfXRoaXMucHRyLnJlbW92ZURlcGVuZENsYXNzKCJob3ZlciIpfSxzZXRJbmRleE92ZXI6ZnVuY3Rpb24oKXt0aGlzLnBhcmVudC5zZXRQb2ludGVyc0luZGV4KDEpO3RoaXMuaW5kZXgoMil9LGluZGV4OmZ1bmN0aW9uKGQpe3RoaXMucHRyLmNzcyh7ekluZGV4OmR9KX0sbGltaXRzOmZ1bmN0aW9uKGQpe3JldHVybiB0aGlzLnBhcmVudC5saW1pdHMoZCx0aGlzKX0sY2FsYzpmdW5jdGlvbihlKXt2YXIgZD10aGlzLmxpbWl0cygoKGUtdGhpcy5fcGFyZW50Lm9mZnNldC5sZWZ0KSoxMDApL3RoaXMuX3BhcmVudC53aWR0aCk7cmV0dXJuIGR9LHNldDpmdW5jdGlvbihkLGUpe3RoaXMudmFsdWUub3JpZ2luPXRoaXMucGFyZW50LnJvdW5kKGQpO3RoaXMuX3NldCh0aGlzLnBhcmVudC52YWx1ZVRvUHJjKGQsdGhpcyksZSl9LF9zZXQ6ZnVuY3Rpb24oZSxkKXtpZighZCl7dGhpcy52YWx1ZS5vcmlnaW49dGhpcy5wYXJlbnQucHJjVG9WYWx1ZShlKX10aGlzLnZhbHVlLnByYz1lO3RoaXMucHRyLmNzcyh7bGVmdDplKyIlIn0pO3RoaXMucGFyZW50LnJlZHJhdyh0aGlzKX19KX0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/plugins/tagInput/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/plugins/tagInput/jquery.tagInput.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQoudGFnSW5wdXQgew0KICBwYWRkaW5nOjJweDsNCiAgcGFkZGluZy1sZWZ0OiAyMHB4Ow0KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoInRhZ3MuZ2lmIik7DQogIGJhY2tncm91bmQtcG9zaXRpb246IDJweCAycHg7DQogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQogIGJvcmRlcjoxcHggc29saWQgbGlnaHRncmF5Ow0KfQ0KDQoNCi50YWdJbnB1dERpdiB7DQogIGRpc3BsYXk6IG5vbmU7DQogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIG92ZXJmbG93OiBhdXRvOw0KICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGdyYXk7DQogIG1hcmdpbi10b3A6LTFweDsNCiAgZm9udDoxM3B4LzE1cHggYXJpYWwsc2Fucy1zZXJpZjsNCn0NCg0KLnRhZ0lucHV0TGluZSB7DQogIGNvbG9yOiBibGFjazsNCiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgcGFkZGluZzo0cHg7DQp9DQoNCi50YWdJbnB1dFNlbCB7DQogIGJhY2tncm91bmQtY29sb3I6IGdyYXk7DQogIGNvbG9yOndoaXRlOw0KfQ0KDQoNCi50YWdJbnB1dExpbmVUYWcgew0KICBtaW4td2lkdGg6IDE1MHB4Ow0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQp9DQoNCi50YWdJbnB1dExpbmVGcmVxIHsNCiAgbWluLXdpZHRoOiA1MHB4Ow0KICB0ZXh0LWFsaWduOiByaWdodDsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICBmbG9hdDpyaWdodDsNCn0NCg0KDQoudGFnSW5wdXRTdWdnZXN0ZWRUYWdzIHsNCiAgZm9udC1zaXplOiAxMnB4Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7DQogIHBhZGRpbmc6MnB4Ow0KICBmb250OjEzcHgvMTVweCBhcmlhbCxzYW5zLXNlcmlmOw0KICBtYXJnaW4tdG9wOjVweDsNCiAgd2lkdGg6NTUwcHg7DQogIGNvbG9yOiMzMDMwMzA7DQp9DQoNCi50YWdJbnB1dFN1Z2dlc3RlZFRhZ3MgLmxhYmVsew0KICBmb250LXdlaWdodDpib2xkZXI7DQp9DQoNCi50YWdJbnB1dFN1Z2dlc3RlZFRhZ0xpc3R7DQoNCn0NCg0KLnRhZ0lucHV0U3VnZ2VzdGVkVGFnTGlzdCAudGFnew0KICBwYWRkaW5nOjJweDsNCiAgY3Vyc29yOnBvaW50ZXI7DQogIGRpc3BsYXk6aW5saW5lLWJsb2NrOw0KICBtYXJnaW46MXB4Ow0KfQ0KDQoudGFnSW5wdXRTdWdnZXN0ZWRUYWdMaXN0IHNwYW4udGFnOmhvdmVyew0KICBiYWNrZ3JvdW5kLWNvbG9yOiNmMGYwZjA7DQp9DQoNCi50YWdJbnB1dFN1Z2dlc3RlZFRhZ0xpc3QgLnRhZ1VzZWR7DQogIGJhY2tncm91bmQtY29sb3I6bGlnaHRncmF5Ow0KfQ0KDQoNCg0K]]></data>
	</file>
	<file>
	  <filename>/plugins/tagInput/jquery.tagInput.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoNCiAgQ29weXJpZ2h0IChjKSAyMDA5IE9wZW4gTGFiLCBodHRwOi8vd3d3Lm9wZW4tbGFiLmNvbS8NCiAgV3JpdHRlbiBieSBSb2JlcnRvIEJpY2NoaWVyYWkgaHR0cDovL3JvYmVydG8ub3Blbi1sYWIuY29tLg0KICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcNCiAgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlDQogICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcNCiAgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLA0KICBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8NCiAgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvDQogIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoNCg0KICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZQ0KICBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4NCg0KICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwNCiAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GDQogIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EDQogIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUNCiAgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTg0KICBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04NCiAgV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuDQoqLw0KLyoqDQogICAqIG9wdGlvbnMudGFncyBhbiBvYmplY3QgYXJyYXkgW3t0YWc6InRhZzEiLGZyZXE6MX0se3RhZzoidGFnMiIsZnJlcToyfSwge3RhZzoidGFnMyIsZnJlcTozfSx7dGFnOiJ0YWc0IixmcmVxOjR9IF0uDQogICAqIG9wdGlvbnMuanNvblVybCBhbiB1cmwgcmV0dXJuaW5nIGEganNvbiBvYmplY3QgYXJyYXkgaW4gdGhlIHNhbWUgZm9ybWF0IG9mIG9wdGlvbnMudGFnLiBUaGUgdXJsIHdpbGwgYmUgY2FsbGVkIHdpdGgNCiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VhcmNoIiBwYXJhbWV0ZXIgdG8gYmUgdXNlZCBzZXJ2ZXIgc2lkZSB0byBmaWx0ZXIgcmVzdWx0cw0KICAgKiBvcHRpb24uYXV0b0ZpbHRlciB0cnVlL2ZhbHNlICBkZWZhdWx0PXRydWUgd2hlbiBhY3RpdmUgc2hvdyBvbmx5IG1hdGNoaW5nIHRhZ3MsICJmYWxzZSIgc2hvdWxkIGJlIHVzZWQgZm9yIHNlcnZlci1zaWRlIGZpbHRlcmluZw0KICAgKiBvcHRpb24uYXV0b1N0YXJ0IHRydWUvZmFsc2UgIGRlZmF1bHQ9ZmFsc2Ugd2hlbiBhY3RpdmUgZHJvcGRvd24gd2lsbCBhcHBlYXIgZW50ZXJpbmcgZmllbGQsIG90aGVyd2lzZSB3aGVuIHR5cGluZw0KICAgKiBvcHRpb25zLnNvcnRCeSAiZnJlcXVlbmN5InwidGFnInwibm9uZSIgIGRlZmF1bHQ9InRhZyINCiAgICogb3B0aW9ucy50YWdTZXBhcmF0b3IgZGVmYXVsdD0iLCIgYW55IHNlcGFyYXRvciBjaGFyIGFzIHNwYWNlLCBjb21tYSwgc2VtaWNvbHVtbg0KICAgKiBvcHRpb25zLmJvbGRpZnkgdHJ1ZS9mYWxzZSBkZWZhdWx0IHRycnVlIGJvbGRpZnkgdGhlIG1hdGNoaW5nIHBhcnQgb2YgdGFnIGluIGRyb3Bkb3duDQogICAqDQogICAqIG9wdGlvbnMuc3VnZ2VzdGVkVGFncyBjYWxsYmFjayBhbiBvYmplY3QgYXJyYXkgbGlrZSBbInN1Z3RhZzEiLCJzdWd0YWcyIiwic3VndGFnMyJdDQogICAqIG9wdGlvbnMuc3VnZ2VzdGVkVGFnc1BsYWNlSG9sZGVyICBqcXVlcnkgcHJveHkgZm9yIHN1Z2dlc3RlZCB0YWcgcGxhY2Vob2xkZXIuIFdoZW4gcGxhY2Vob2xkZXIgaXMgc3VwcGxpZWQgKGhlbmNlIHVuaXF1ZSksIHRhZ0ZpZWxkIHNob3VsZCBiZSBhcHBsaWVkIG9uIGEgc2luZ2xlIGlucHV0DQogICAqICAgICAgICAgICAgICAgICAgICAgICAgICAoc29tZXRoaW5nIGxpa2UgIGpRdWVyeSgiI215VGFnRmlsZWQiKS50YWdGaWVsZCguLi4pIHdpbGwgd29ya3MgZmluZTogalF1ZXJ5KCI6dGV4dCIpLnRhZ0ZpZWxkKC4uLikgcHJvYmFibHkgbm90ISkNCiAgICovDQoNCmlmICh0eXBlb2YoU3RyaW5nLnByb3RvdHlwZS50cmltKSAgPT0gInVuZGVmaW5lZCIpew0KICAgIFN0cmluZy5wcm90b3R5cGUudHJpbSA9IGZ1bmN0aW9uICgpIHsNCiAgICAgIHJldHVybiB0aGlzLnJlcGxhY2UoL15ccyooXFMqKFxzK1xTKykqKVxzKmpRdWVyeS8sICJqUXVlcnkxIik7DQogICAgfTsNCn0NCg0KDQoNCmpRdWVyeS5mbi50YWdJbnB1dCA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsNCiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIHN0YXJ0IGRlZmF1bHQgb3B0aW9uIHZhbHVlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICBpZiAoIW9wdGlvbnMudGFncyAmJiAhb3B0aW9ucy5qc29uVXJsKSB7DQogICAgb3B0aW9ucy50YWdzID0gWyB7IHRhZzoidGFnMSIsIGZyZXE6MSB9LCB7IHRhZzoidGFnMiIsIGZyZXE6MiB9LCB7IHRhZzoidGFnMyIsIGZyZXE6MyB9LCB7IHRhZzoidGFnNCIsIGZyZXE6NCB9IF07DQogIH0NCg0KICBpZiAodHlwZW9mKG9wdGlvbnMudGFnU2VwYXJhdG9yKSA9PSAidW5kZWZpbmVkIikNCiAgICBvcHRpb25zLnRhZ1NlcGFyYXRvciA9ICIsIjsNCg0KICBpZiAodHlwZW9mKG9wdGlvbnMuYXV0b0ZpbHRlcikgPT0gInVuZGVmaW5lZCIpDQogICAgb3B0aW9ucy5hdXRvRmlsdGVyID0gdHJ1ZTsNCg0KICBpZiAodHlwZW9mKG9wdGlvbnMuYXV0b1N0YXJ0KSA9PSAidW5kZWZpbmVkIikNCiAgICBvcHRpb25zLmF1dG9TdGFydCA9IGZhbHNlOw0KDQogIGlmICh0eXBlb2Yob3B0aW9ucy5ib2xkaWZ5KSA9PSAidW5kZWZpbmVkIikNCiAgICBvcHRpb25zLmJvbGRpZnkgPSB0cnVlOw0KDQogIGlmICh0eXBlb2Yob3B0aW9ucy5zb3J0QnkpID09ICJ1bmRlZmluZWQiKQ0KICAgIG9wdGlvbnMuc29ydEJ5ID0gInRhZyI7DQoNCiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIGVuZCBkZWZhdWx0IG9wdGlvbiB2YWx1ZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KDQogIHRoaXMuZWFjaChmdW5jdGlvbigpIHsNCg0KICAgIHZhciB0aGVJbnB1dCA9IGpRdWVyeSh0aGlzKTsNCiAgICB2YXIgdGhlRGl2Ow0KDQogICAgdGhlSW5wdXQuYWRkQ2xhc3MoInRhZ0lucHV0Iik7DQogICAgdGhlSW5wdXQudGFnT3B0aW9ucz1vcHRpb25zOw0KDQogICAgdmFyIHN1Z2dlc3RlZFRhZ3NQbGFjZUhvbGRlcj1vcHRpb25zLnN1Z2dlc3RlZFRhZ3NQbGFjZUhvbGRlcjsNCiAgICAvL2NyZWF0ZSBzdWdnZXN0ZWQgdGFncyBwbGFjZSBpZiB0aGUgY2FzZQ0KICAgIGlmIChvcHRpb25zLnN1Z2dlc3RlZFRhZ3Mpew0KICAgICAgaWYgKCFzdWdnZXN0ZWRUYWdzUGxhY2VIb2xkZXIpew0KICAgICAgICAvL2NyZWF0ZSBhIHBsYWNlaG9sZGVyDQogICAgICAgIHZhciBzdGw9alF1ZXJ5KCI8ZGl2IGNsYXNzPSd0YWdJbnB1dFN1Z2dlc3RlZFRhZ3MnPjxzcGFuIGNsYXNzPSdsYWJlbCc+c3VnZ2VzdGVkIHRhZ3M6IDwvc3Bhbj48c3BhbiBjbGFzcz0ndGFnSW5wdXRTdWdnZXN0ZWRUYWdMaXN0Jz48L3NwYW4+PC9kaXY+Iik7DQogICAgICAgIHN1Z2dlc3RlZFRhZ3NQbGFjZUhvbGRlcj1zdGwuZmluZCgiLnRhZ0lucHV0U3VnZ2VzdGVkVGFnTGlzdCIpOw0KICAgICAgICB0aGVJbnB1dC5hZnRlcihzdGwpOw0KICAgICAgfQ0KDQogICAgICAvL2ZpbGwgd2l0aCBzdWdnZXN0aW9ucw0KICAgICAgZm9yICh2YXIgdGFnIGluIG9wdGlvbnMuc3VnZ2VzdGVkVGFncykgew0KICAgICAgICBzdWdnZXN0ZWRUYWdzUGxhY2VIb2xkZXIuYXBwZW5kKGpRdWVyeSgiPHNwYW4gY2xhc3M9J3RhZyc+IiArIG9wdGlvbnMuc3VnZ2VzdGVkVGFnc1t0YWddICsgIjwvc3Bhbj4iKSk7DQogICAgICB9DQoNCiAgICAgIC8vIGJpbmQgY2xpY2sgb24gc3VnZ2VzdGlvbiB0YWdzDQogICAgICBzdWdnZXN0ZWRUYWdzUGxhY2VIb2xkZXIuZmluZCgiLnRhZyIpLmNsaWNrKGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgZWxlbWVudCA9IGpRdWVyeSh0aGlzKTsNCiAgICAgICAgdmFyIHZhbCA9IHRoZUlucHV0LnZhbCgpOw0KICAgICAgICB2YXIgdGFnID0gZWxlbWVudC50ZXh0KCk7DQoNCiAgICAgICAgLy9jaGVjayBpZiBhbHJlYWR5IHByZXNlbnQNCiAgICAgICAgdmFyIHJlID0gbmV3IFJlZ0V4cCh0YWcgKyAiXFxiIiwiZyIpOw0KICAgICAgICBpZiAoY29udGFpbnNUYWcodmFsLCB0YWcpKSB7DQogICAgICAgICAgdmFsID0gdmFsLnJlcGxhY2UocmUsICIiKTsgLy9yZW1vdmUgYWxsIHRoZSB0YWcNCiAgICAgICAgICBlbGVtZW50LnJlbW92ZUNsYXNzKCJ0YWdVc2VkIik7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgdmFsID0gdmFsICsgb3B0aW9ucy50YWdTZXBhcmF0b3IgKyB0YWc7DQogICAgICAgICAgZWxlbWVudC5hZGRDbGFzcygidGFnVXNlZCIpOw0KICAgICAgICB9DQogICAgICAgIHRoZUlucHV0LnZhbChyZWZ1cmJpc2hUYWdzKHZhbCkpOw0KLy8gICAgICAgIHNlbGVjdFN1Z2dUYWdGcm9tSW5wdXQoKTsNCg0KICAgICAgfSk7DQoNCiAgICB9DQoNCg0KICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICBJTlBVVCBGT0NVUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgIHZhciB0YWdJbnB1dEZvY3VzID0gZnVuY3Rpb24gKCkgew0KICAgICAgdGhlRGl2ID0galF1ZXJ5KCIjX190YWdJbnB1dERpdiIpOw0KICAgICAgLy8gY2hlY2sgaWYgdGhlIHJlc3VsdCBib3ggZXhpc3RzDQogICAgICBpZiAodGhlRGl2LnNpemUoKSA8PSAwKSB7DQogICAgICAgIC8vY3JlYXRlIHRoZSBkaXYNCiAgICAgICAgdGhlRGl2ID0galF1ZXJ5KCI8ZGl2IGlkPSdfX3RhZ0lucHV0RGl2JyBjbGFzcz0ndGFnSW5wdXREaXYnIHN0eWxlPSd3aWR0aDoiICsgdGhlSW5wdXQuZ2V0KDApLmNsaWVudFdpZHRoICsgIjtkaXNwbGF5Om5vbmU7ICc+PC9kaXY+Iik7DQogICAgICAgIHRoZUlucHV0LmFmdGVyKHRoZURpdik7DQogICAgICAgIHRoZURpdi5jc3Moe2xlZnQ6dGhlSW5wdXQucG9zaXRpb24oKS5sZWZ0fSk7DQogICAgICB9DQogICAgICBpZiAob3B0aW9ucy5hdXRvU3RhcnQpDQogICAgICAgIHRhZ0lucHV0UmVmcmVzaERpdih0aGVJbnB1dCwgdGhlRGl2KTsNCiAgICB9Ow0KDQoNCiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgSU5QVVQgQkxVUiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgIHZhciB0YWdJbnB1dEJsdXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAvLyByZWZvcm1hdCBzdHJpbmcNCiAgICAgIHRoZURpdiA9IGpRdWVyeSgiI19fdGFnSW5wdXREaXYiKTsNCiAgICAgIHRoZUlucHV0LnZhbChyZWZ1cmJpc2hUYWdzKHRoZUlucHV0LnZhbCgpKSk7DQoNCiAgICAgIHRoZURpdi5mYWRlT3V0KDIwMCwgZnVuY3Rpb24oKSB7DQogICAgICAgIHRoZURpdi5yZW1vdmUoKTsNCiAgICAgIH0pOw0KICAgIH07DQoNCg0KICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICBJTlBVVCBLRVlCT0FSRCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgIHZhciB0YWdJbnB1dEtleSA9IGZ1bmN0aW9uIChlKSB7DQogICAgICB2YXIgcm93cyA9IHRoZURpdi5maW5kKCJkaXYudGFnSW5wdXRMaW5lIik7DQogICAgICB2YXIgcm93TnVtID0gcm93cy5pbmRleCh0aGVEaXYuZmluZCgiZGl2LnRhZ0lucHV0U2VsIikpOw0KDQogICAgICB2YXIgcmV0ID0gdHJ1ZTsNCiAgICAgIHN3aXRjaCAoZS53aGljaCkgew0KICAgICAgICBjYXNlIDM4OiAvL3VwIGFycm93DQogICAgICAgICAgcm93TnVtID0gKHJvd051bSA8IDEgPyAwIDogcm93TnVtIC0gMSApOw0KICAgICAgICAgIHRhZ0lucHV0SExTQ1Iocm93cy5lcShyb3dOdW0pLCB0cnVlKTsNCiAgICAgICAgICBicmVhazsNCg0KICAgICAgICBjYXNlIDQwOiAvL2Rvd24gYXJyb3cNCiAgICAgICAgICByb3dOdW0gPSAocm93TnVtIDwgcm93cy5zaXplKCkgLSAxID8gcm93TnVtICsgMSA6IHJvd3Muc2l6ZSgpIC0gMSApOw0KICAgICAgICAgIHRhZ0lucHV0SExTQ1Iocm93cy5lcShyb3dOdW0pLCBmYWxzZSk7DQogICAgICAgICAgYnJlYWs7DQoNCiAgICAgICAgY2FzZSA5OiAvL3RhYg0KICAgICAgICBjYXNlIDEzOiAvL2VudGVyDQogICAgICAgICAgaWYgKHRoZURpdi5pcygiOnZpc2libGUiKSl7DQogICAgICAgICAgICB2YXIgdGhlUm93ID0gcm93cy5lcShyb3dOdW0pOw0KICAgICAgICAgICAgdGFnSW5wdXRDbGlja1Jvdyh0aGVSb3cpOw0KICAgICAgICAgICAgcmV0ID0gZmFsc2U7DQogICAgICAgICAgfQ0KICAgICAgICAgIGJyZWFrOw0KDQogICAgICAgIGNhc2UgMjc6IC8vZXNjDQogICAgICAgICAgdGhlRGl2LmZhZGVPdXQoMjAwKTsNCiAgICAgICAgICBicmVhazsNCg0KICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgIGpRdWVyeShkb2N1bWVudCkuc3RvcFRpbWUoInRhZ0lucHV0UmVmcmVzaCIpOw0KICAgICAgICAgIGpRdWVyeShkb2N1bWVudCkub25lVGltZSg0MDAsICJ0YWdJbnB1dFJlZnJlc2giLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHRhZ0lucHV0UmVmcmVzaERpdigpOw0KICAgICAgICAgIH0pOw0KICAgICAgICAgIGJyZWFrOw0KICAgICAgfQ0KICAgICAgcmV0dXJuIHJldDsNCiAgICB9Ow0KDQoNCiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgVEFHIERJViBISUdITElHSFQgQU5EIFNDUk9MTCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgIHZhciB0YWdJbnB1dEhMU0NSID0gZnVuY3Rpb24odGhlUm93SlEsIGlzVXApIHsNCiAgICAgIGlmICh0aGVSb3dKUS5zaXplKCkgPiAwKSB7DQogICAgICAgIHZhciBkaXYgPSB0aGVEaXYuZ2V0KDApOw0KICAgICAgICB2YXIgdGhlUm93ID0gdGhlUm93SlEuZ2V0KDApOw0KICAgICAgICBpZiAoaXNVcCkgew0KICAgICAgICAgIGlmICh0aGVEaXYuc2Nyb2xsVG9wKCkgPiB0aGVSb3cub2Zmc2V0VG9wKSB7DQogICAgICAgICAgICB0aGVEaXYuc2Nyb2xsVG9wKHRoZVJvdy5vZmZzZXRUb3ApOw0KICAgICAgICAgIH0NCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICBpZiAoKHRoZVJvdy5vZmZzZXRUb3AgKyB0aGVSb3cub2Zmc2V0SGVpZ2h0KSA+IChkaXYuc2Nyb2xsVG9wICsgZGl2Lm9mZnNldEhlaWdodCkpIHsNCiAgICAgICAgICAgIGRpdi5zY3JvbGxUb3AgPSB0aGVSb3cub2Zmc2V0VG9wICsgdGhlUm93Lm9mZnNldEhlaWdodCAtIGRpdi5vZmZzZXRIZWlnaHQ7DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHRoZURpdi5maW5kKCJkaXYudGFnSW5wdXRTZWwiKS5yZW1vdmVDbGFzcygidGFnSW5wdXRTZWwiKTsNCiAgICAgICAgdGhlUm93SlEuYWRkQ2xhc3MoInRhZ0lucHV0U2VsIik7DQogICAgICB9DQogICAgfTsNCg0KDQogICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIFRBRyBMSU5FIENMSUNLIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgdmFyIHRhZ0lucHV0Q2xpY2tSb3cgPSBmdW5jdGlvbih0aGVSb3cpIHsNCiAgICAgIHZhciBsYXN0Q29tbWEgPSB0aGVJbnB1dC52YWwoKS5sYXN0SW5kZXhPZihvcHRpb25zLnRhZ1NlcGFyYXRvcik7DQogICAgICB2YXIgc2VwPSBsYXN0Q29tbWE8PTA/ICgiIik6KG9wdGlvbnMudGFnU2VwYXJhdG9yKyAob3B0aW9ucy50YWdTZXBhcmF0b3I9PSIgIj8iIjoiICIpKTsNCiAgICAgIHZhciBuZXdWYWwgPSAodGhlSW5wdXQudmFsKCkuc3Vic3RyKDAsIGxhc3RDb21tYSkgKyBzZXAgKyB0aGVSb3cuZmluZCgiLnRhZ0lucHV0TGluZVRhZyIpLnRleHQoKSkudHJpbSgpOw0KICAgICAgdGhlSW5wdXQudmFsKG5ld1ZhbCk7DQogICAgICB0aGVEaXYuaGlkZSgpOw0KICAgICAgalF1ZXJ5KCkub25lVGltZSgyMDAsIGZ1bmN0aW9uKCkgew0KICAgICAgICB0aGVJbnB1dC5mb2N1cygpOw0KICAgICAgfSk7DQogICAgfTsNCg0KDQogICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIFJFRklMTCBUQUcgQk9YIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgdmFyIHRhZ0lucHV0UmVmcmVzaERpdiA9IGZ1bmN0aW9uICgpIHsNCg0KICAgICAgdmFyIGxhc3RDb21tYSA9IHRoZUlucHV0LnZhbCgpLmxhc3RJbmRleE9mKG9wdGlvbnMudGFnU2VwYXJhdG9yKTsNCiAgICAgIHZhciBzZWFyY2ggPSB0aGVJbnB1dC52YWwoKS5zdWJzdHIobGFzdENvbW1hICsgMSkudHJpbSgpOw0KDQoNCiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICBGSUxMSU5HIFRIRSBESVYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgIHZhciBmaWxsaW5nQ2FsbGJhayA9IGZ1bmN0aW9uKHRhZ3MpIHsNCiAgICAgICAgaWYgKG9wdGlvbnMuc29ydEJ5ID09ICJmcmVxdWVuY3kiKSB7DQogICAgICAgICAgdGFncyA9IHRhZ3Muc29ydChmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgaWYgKGEuZnJlcSA8IGIuZnJlcSkNCiAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICBpZiAoYS5mcmVxID4gYi5mcmVxKQ0KICAgICAgICAgICAgICByZXR1cm4gLTE7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICB9KTsNCg0KICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMuc29ydEJ5ID09ICJ0YWciKSB7DQogICAgICAgICAgdGFncyA9IHRhZ3Muc29ydChmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgaWYgKGEudGFnIDwgYi50YWcpDQogICAgICAgICAgICAgIHJldHVybiAtMTsNCiAgICAgICAgICAgIGlmIChhLnRhZyA+IGIudGFnKQ0KICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgIH0pOw0KICAgICAgICB9DQoNCiAgICAgICAgZm9yICh2YXIgaSBpbiB0YWdzKSB7DQogICAgICAgICAgdmFyIGVsID0gdGFnc1tpXTsNCiAgICAgICAgICB2YXIgbWF0Y2hlcyA9IGVsLnRhZy50b0xvY2FsZUxvd2VyQ2FzZSgpLmluZGV4T2Yoc2VhcmNoLnRvTG9jYWxlTG93ZXJDYXNlKCkpID09IDA7DQogICAgICAgICAgaWYgKCFvcHRpb25zLmF1dG9GaWx0ZXIgfHwgbWF0Y2hlcykgew0KICAgICAgICAgICAgdmFyIGxpbmUgPSBqUXVlcnkoIjxkaXYgY2xhc3M9J3RhZ0lucHV0TGluZSc+PC9kaXY+Iik7DQogICAgICAgICAgICB2YXIgdGFnID0gZWwudGFnOw0KICAgICAgICAgICAgaWYgKG9wdGlvbnMuYm9sZGlmeSAmJiBtYXRjaGVzKSB7DQogICAgICAgICAgICAgIHRhZyA9ICI8Yj4iICsgdGFnLnN1YnN0cmluZygwLCBzZWFyY2gubGVuZ3RoKSArICI8L2I+IiArIHRhZy5zdWJzdHJpbmcoc2VhcmNoLmxlbmd0aCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGxpbmUuYXBwZW5kKCI8ZGl2IGNsYXNzPSd0YWdJbnB1dExpbmVUYWcnPiIgKyB0YWcgKyAiPC9kaXY+Iik7DQogICAgICAgICAgICBpZiAoZWwuZnJlcSkNCiAgICAgICAgICAgICAgbGluZS5hcHBlbmQoIjxkaXYgY2xhc3M9J3RhZ0lucHV0TGluZUZyZXEnPiIgKyBlbC5mcmVxICsgIjwvZGl2PiIpOw0KICAgICAgICAgICAgdGhlRGl2LmFwcGVuZChsaW5lKTsNCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgaWYgKHRoZURpdi5odG1sKCkhPSIiKXsNCiAgICAgICAgICB0aGVEaXYuZmFkZUluKCk7DQogICAgICAgIH0NCg0KICAgICAgICB0aGVEaXYuZmluZCgiZGl2OmZpcnN0IikuYWRkQ2xhc3MoInRhZ0lucHV0U2VsIik7DQogICAgICAgIHRoZURpdi5maW5kKCJkaXYudGFnSW5wdXRMaW5lIikuYmluZCgiY2xpY2siLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICB0YWdJbnB1dENsaWNrUm93KGpRdWVyeSh0aGlzKSk7DQogICAgICAgIH0pOw0KICAgICAgfTsNCg0KDQogICAgICBpZiAoc2VhcmNoICE9ICIiIHx8IG9wdGlvbnMuYXV0b1N0YXJ0KSB7DQogICAgICAgIHRoZURpdi5odG1sKCIiKTsNCg0KICAgICAgICBpZiAob3B0aW9ucy50YWdzKQ0KICAgICAgICAgIGZpbGxpbmdDYWxsYmFrKG9wdGlvbnMudGFncyk7DQogICAgICAgIGVsc2V7DQogICAgICAgICAgdmFyIGRhdGEgPSB7c2VhcmNoOnNlYXJjaH07DQogICAgICAgICAgalF1ZXJ5LmdldEpTT04ob3B0aW9ucy5qc29uVXJsLCBkYXRhLCBmaWxsaW5nQ2FsbGJhayApOw0KICAgICAgICB9DQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGVEaXYuZmFkZU91dCgyMDApOw0KICAgICAgfQ0KICAgIH07DQoNCiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgQ0xFQU4gVEhFIFRBRyBMSVNUIEZST00gRVhUUkEgU1BBQ0VTLCBET1VCTEUgQ09NTUFTIEVUQy4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICB2YXIgcmVmdXJiaXNoVGFncyA9IGZ1bmN0aW9uICh0YWdTdHJpbmcpIHsNCiAgICAgIHZhciBzcGxpdHRlZCA9IHRhZ1N0cmluZy5zcGxpdChvcHRpb25zLnRhZ1NlcGFyYXRvcik7DQogICAgICB2YXIgcmVzID0gIiI7DQogICAgICB2YXIgZmlyc3QgPSB0cnVlOw0KICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzcGxpdHRlZC5sZW5ndGg7IGkrKykgew0KICAgICAgICBpZiAoc3BsaXR0ZWRbaV0udHJpbSgpICE9ICIiKSB7DQogICAgICAgICAgaWYgKGZpcnN0KSB7DQogICAgICAgICAgICBmaXJzdCA9IGZhbHNlOw0KICAgICAgICAgICAgcmVzID0gcmVzICsgc3BsaXR0ZWRbaV0udHJpbSgpOw0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICByZXMgPSByZXMgKyBvcHRpb25zLnRhZ1NlcGFyYXRvcisgKG9wdGlvbnMudGFnU2VwYXJhdG9yPT0iICI/IiI6IiAiKSArIHNwbGl0dGVkW2ldLnRyaW0oKTsNCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIHJldHVybiggcmVzKTsNCiAgICB9Ow0KDQogICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIFRFU1QgSUYgVEFHIElTIFBSRVNFTlQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICB2YXIgY29udGFpbnNUYWc9ZnVuY3Rpb24gKHRhZ1N0cmluZyx0YWcpew0KICAgICAgdmFyIHNwbGl0dGVkID0gdGFnU3RyaW5nLnNwbGl0KG9wdGlvbnMudGFnU2VwYXJhdG9yKTsNCiAgICAgIHZhciByZXM9IiI7DQogICAgICB2YXIgZm91bmQ9ZmFsc2U7DQogICAgICB0YWc9dGFnLnRyaW0oKTsNCiAgICAgIGZvcihpID0gMDsgaSA8IHNwbGl0dGVkLmxlbmd0aDsgaSsrKXsNCiAgICAgICAgdmFyIHRlc3RUYWc9c3BsaXR0ZWRbaV0udHJpbSgpOw0KICAgICAgICBpZiAodGVzdFRhZz09dGFnKXsNCiAgICAgICAgICBmb3VuZD10cnVlOw0KICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAgICB9DQogICAgICByZXR1cm4gZm91bmQ7DQogICAgfTsNCg0KDQogICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIFNFTEVDVCBUQUdTIEJBU0lORyBPTiBVU0VSIElOUFVUIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgdmFyIGRlbGF5ZWRTZWxlY3RUYWdGcm9tSW5wdXQ9IGZ1bmN0aW9uKCl7DQogICAgICB2YXIgZWxlbWVudCA9IGpRdWVyeSh0aGlzKTsNCiAgICAgIGpRdWVyeSgpLnN0b3BUaW1lKCJzdWdnVGFnUmVmcmVzaCIpOw0KICAgICAgalF1ZXJ5KCkub25lVGltZSg0MDAsICJzdWdnVGFnUmVmcmVzaCIsIGZ1bmN0aW9uKCkgew0KICAgICAgICBzZWxlY3RTdWdnVGFnRnJvbUlucHV0KCk7DQogICAgICB9KTsNCg0KICAgIH07DQoNCiAgICB2YXIgc2VsZWN0U3VnZ1RhZ0Zyb21JbnB1dCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgIHZhciB2YWwgPSB0aGVJbnB1dC52YWwoKTsNCiAgICAgIHN1Z2dlc3RlZFRhZ3NQbGFjZUhvbGRlci5maW5kKCIudGFnIikuZWFjaChmdW5jdGlvbigpew0KICAgICAgICB2YXIgZWwgPSBqUXVlcnkodGhpcyk7DQogICAgICAgIHZhciB0YWc9ZWwudGV4dCgpOw0KDQogICAgICAgIC8vY2hlY2sgaWYgYWxyZWFkeSBwcmVzZW50DQogICAgICAgIGlmIChjb250YWluc1RhZyh2YWwsdGFnKSkgew0KICAgICAgICAgIGVsLmFkZENsYXNzKCJ0YWdVc2VkIik7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgZWwucmVtb3ZlQ2xhc3MoInRhZ1VzZWQiKTsNCiAgICAgICAgfQ0KICAgICAgfSk7DQoNCiAgICB9Ow0KDQoNCg0KDQogICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIElOUFVUIEJJTkRJTkdTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgalF1ZXJ5KHRoaXMpLmJpbmQoImZvY3VzIiwgdGFnSW5wdXRGb2N1cykuYmluZCgiYmx1ciIsIHRhZ0lucHV0Qmx1cikuYmluZCgia2V5ZG93biIsIHRhZ0lucHV0S2V5KTsNCiAgICBpZiAob3B0aW9ucy5zdWdnZXN0ZWRUYWdzKQ0KICAgICAgalF1ZXJ5KHRoaXMpLmJpbmQoImtleXVwIixkZWxheWVkU2VsZWN0VGFnRnJvbUlucHV0KSA7DQoNCg0KICB9KTsNCiAgcmV0dXJuIHRoaXM7DQp9Ow0KDQoNCg==]]></data>
	</file>
	<file>
	  <filename>/plugins/tagInput/jquery.timers.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[alF1ZXJ5LmZuLmV4dGVuZCh7CglldmVyeVRpbWU6IGZ1bmN0aW9uKGludGVydmFsLCBsYWJlbCwgZm4sIHRpbWVzLCBiZWxheSkgewoJCXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCWpRdWVyeS50aW1lci5hZGQodGhpcywgaW50ZXJ2YWwsIGxhYmVsLCBmbiwgdGltZXMsIGJlbGF5KTsKCQl9KTsKCX0sCglvbmVUaW1lOiBmdW5jdGlvbihpbnRlcnZhbCwgbGFiZWwsIGZuKSB7CgkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKCQkJalF1ZXJ5LnRpbWVyLmFkZCh0aGlzLCBpbnRlcnZhbCwgbGFiZWwsIGZuLCAxKTsKCQl9KTsKCX0sCglzdG9wVGltZTogZnVuY3Rpb24obGFiZWwsIGZuKSB7CgkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKCQkJalF1ZXJ5LnRpbWVyLnJlbW92ZSh0aGlzLCBsYWJlbCwgZm4pOwoJCX0pOwoJfQp9KTsKCmpRdWVyeS5leHRlbmQoewoJdGltZXI6IHsKCQlndWlkOiAxLAoJCWdsb2JhbDoge30sCgkJcmVnZXg6IC9eKFswLTldKylccyooLipzKT8kLywKCQlwb3dlcnM6IHsKCQkJLy8gWWVhaCB0aGlzIGlzIG1ham9yIG92ZXJraWxsLi4uCgkJCSdtcyc6IDEsCgkJCSdjcyc6IDEwLAoJCQknZHMnOiAxMDAsCgkJCSdzJzogMTAwMCwKCQkJJ2Rhcyc6IDEwMDAwLAoJCQknaHMnOiAxMDAwMDAsCgkJCSdrcyc6IDEwMDAwMDAKCQl9LAoJCXRpbWVQYXJzZTogZnVuY3Rpb24odmFsdWUpIHsKCQkJaWYgKHZhbHVlID09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PSBudWxsKQoJCQkJcmV0dXJuIG51bGw7CgkJCXZhciByZXN1bHQgPSB0aGlzLnJlZ2V4LmV4ZWMoalF1ZXJ5LnRyaW0odmFsdWUudG9TdHJpbmcoKSkpOwoJCQlpZiAocmVzdWx0WzJdKSB7CgkJCQl2YXIgbnVtID0gcGFyc2VJbnQocmVzdWx0WzFdLCAxMCk7CgkJCQl2YXIgbXVsdCA9IHRoaXMucG93ZXJzW3Jlc3VsdFsyXV0gfHwgMTsKCQkJCXJldHVybiBudW0gKiBtdWx0OwoJCQl9IGVsc2UgewoJCQkJcmV0dXJuIHZhbHVlOwoJCQl9CgkJfSwKCQlhZGQ6IGZ1bmN0aW9uKGVsZW1lbnQsIGludGVydmFsLCBsYWJlbCwgZm4sIHRpbWVzLCBiZWxheSkgewoJCQl2YXIgY291bnRlciA9IDA7CgkJCQoJCQlpZiAoalF1ZXJ5LmlzRnVuY3Rpb24obGFiZWwpKSB7CgkJCQlpZiAoIXRpbWVzKSAKCQkJCQl0aW1lcyA9IGZuOwoJCQkJZm4gPSBsYWJlbDsKCQkJCWxhYmVsID0gaW50ZXJ2YWw7CgkJCX0KCQkJCgkJCWludGVydmFsID0galF1ZXJ5LnRpbWVyLnRpbWVQYXJzZShpbnRlcnZhbCk7CgoJCQlpZiAodHlwZW9mIGludGVydmFsICE9ICdudW1iZXInIHx8IGlzTmFOKGludGVydmFsKSB8fCBpbnRlcnZhbCA8PSAwKQoJCQkJcmV0dXJuOwoKCQkJaWYgKHRpbWVzICYmIHRpbWVzLmNvbnN0cnVjdG9yICE9IE51bWJlcikgewoJCQkJYmVsYXkgPSAhIXRpbWVzOwoJCQkJdGltZXMgPSAwOwoJCQl9CgkJCQoJCQl0aW1lcyA9IHRpbWVzIHx8IDA7CgkJCWJlbGF5ID0gYmVsYXkgfHwgZmFsc2U7CgkJCQoJCQlpZiAoIWVsZW1lbnQuJHRpbWVycykgCgkJCQllbGVtZW50LiR0aW1lcnMgPSB7fTsKCQkJCgkJCWlmICghZWxlbWVudC4kdGltZXJzW2xhYmVsXSkKCQkJCWVsZW1lbnQuJHRpbWVyc1tsYWJlbF0gPSB7fTsKCQkJCgkJCWZuLiR0aW1lcklEID0gZm4uJHRpbWVySUQgfHwgdGhpcy5ndWlkKys7CgkJCQoJCQl2YXIgaGFuZGxlciA9IGZ1bmN0aW9uKCkgewoJCQkJaWYgKGJlbGF5ICYmIHRoaXMuaW5Qcm9ncmVzcykgCgkJCQkJcmV0dXJuOwoJCQkJdGhpcy5pblByb2dyZXNzID0gdHJ1ZTsKCQkJCWlmICgoKytjb3VudGVyID4gdGltZXMgJiYgdGltZXMgIT09IDApIHx8IGZuLmNhbGwoZWxlbWVudCwgY291bnRlcikgPT09IGZhbHNlKQoJCQkJCWpRdWVyeS50aW1lci5yZW1vdmUoZWxlbWVudCwgbGFiZWwsIGZuKTsKCQkJCXRoaXMuaW5Qcm9ncmVzcyA9IGZhbHNlOwoJCQl9OwoJCQkKCQkJaGFuZGxlci4kdGltZXJJRCA9IGZuLiR0aW1lcklEOwoJCQkKCQkJaWYgKCFlbGVtZW50LiR0aW1lcnNbbGFiZWxdW2ZuLiR0aW1lcklEXSkgCgkJCQllbGVtZW50LiR0aW1lcnNbbGFiZWxdW2ZuLiR0aW1lcklEXSA9IHdpbmRvdy5zZXRJbnRlcnZhbChoYW5kbGVyLGludGVydmFsKTsKCQkJCgkJCWlmICggIXRoaXMuZ2xvYmFsW2xhYmVsXSApCgkJCQl0aGlzLmdsb2JhbFtsYWJlbF0gPSBbXTsKCQkJdGhpcy5nbG9iYWxbbGFiZWxdLnB1c2goIGVsZW1lbnQgKTsKCQkJCgkJfSwKCQlyZW1vdmU6IGZ1bmN0aW9uKGVsZW1lbnQsIGxhYmVsLCBmbikgewoJCQl2YXIgdGltZXJzID0gZWxlbWVudC4kdGltZXJzLCByZXQ7CgkJCQoJCQlpZiAoIHRpbWVycyApIHsKCQkJCQoJCQkJaWYgKCFsYWJlbCkgewoJCQkJCWZvciAoIGxhYmVsIGluIHRpbWVycyApCgkJCQkJCXRoaXMucmVtb3ZlKGVsZW1lbnQsIGxhYmVsLCBmbik7CgkJCQl9IGVsc2UgaWYgKCB0aW1lcnNbbGFiZWxdICkgewoJCQkJCWlmICggZm4gKSB7CgkJCQkJCWlmICggZm4uJHRpbWVySUQgKSB7CgkJCQkJCQl3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aW1lcnNbbGFiZWxdW2ZuLiR0aW1lcklEXSk7CgkJCQkJCQlkZWxldGUgdGltZXJzW2xhYmVsXVtmbi4kdGltZXJJRF07CgkJCQkJCX0KCQkJCQl9IGVsc2UgewoJCQkJCQlmb3IgKCB2YXIgZm4gaW4gdGltZXJzW2xhYmVsXSApIHsKCQkJCQkJCXdpbmRvdy5jbGVhckludGVydmFsKHRpbWVyc1tsYWJlbF1bZm5dKTsKCQkJCQkJCWRlbGV0ZSB0aW1lcnNbbGFiZWxdW2ZuXTsKCQkJCQkJfQoJCQkJCX0KCQkJCQkKCQkJCQlmb3IgKCByZXQgaW4gdGltZXJzW2xhYmVsXSApIGJyZWFrOwoJCQkJCWlmICggIXJldCApIHsKCQkJCQkJcmV0ID0gbnVsbDsKCQkJCQkJZGVsZXRlIHRpbWVyc1tsYWJlbF07CgkJCQkJfQoJCQkJfQoJCQkJCgkJCQlmb3IgKCByZXQgaW4gdGltZXJzICkgYnJlYWs7CgkJCQlpZiAoICFyZXQgKSAKCQkJCQllbGVtZW50LiR0aW1lcnMgPSBudWxsOwoJCQl9CgkJfQoJfQp9KTsKCmlmIChqUXVlcnkuYnJvd3Nlci5tc2llKQoJalF1ZXJ5KHdpbmRvdykub25lKCJ1bmxvYWQiLCBmdW5jdGlvbigpIHsKCQl2YXIgZ2xvYmFsID0galF1ZXJ5LnRpbWVyLmdsb2JhbDsKCQlmb3IgKCB2YXIgbGFiZWwgaW4gZ2xvYmFsICkgewoJCQl2YXIgZWxzID0gZ2xvYmFsW2xhYmVsXSwgaSA9IGVscy5sZW5ndGg7CgkJCXdoaWxlICggLS1pICkKCQkJCWpRdWVyeS50aW1lci5yZW1vdmUoZWxzW2ldLCBsYWJlbCk7CgkJfQoJfSk7CgoK]]></data>
	</file>
	<file>
	  <filename>/plugins/tagInput/tags.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAMQfANvn55Kmpufx8eLr67XW8am6umTT/8rY2Pr9/WuGhtfd3bLDw36WlnCq1f3//0B+tVae2rnKykuTzqjG4PH///b//5Xk/0aIxPX5+e/19fL4+GCp5Vml4TjF/2qXxP///yH5BAEAAB8ALAAAAAAQABAAAAWN4CeOZGmKQqQe5zhEThy1X+oggbNEB08OCwcGgXA0Yo6ZCOjIaDAOxgCXFAEKFUEmEx0Mi4vPNSsQdJ3QxUARoAwEg0oCoOUWBp8CBTCIz8tmDRNWbQAUCQd9AhUBHBsEhIcHfA0cEhAQFhCQHwoMBYUSBqMGHQYSJWwUDw8Xrh0XnCQKiCOsgzQjHrghADs=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/addMultiInput.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQogICAgICAgICBhIGNvbnRlbnQgbWFuYWdlbWVudCB0b29sIGZvciBDTVMgTWFkZSBTaW1wbGUKICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzIGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIKICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTEgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQogICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKVmVyc2lvbjogMC44LjEKRmlsZSAgIDogYWRkTXVsdGlJbnB1dC50cGwKTGljZW5zZTogR1BMCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qfQoKe2lmIGlzc2V0KCRlcnJvcm1lc3NhZ2UpICYmICRlcnJvcm1lc3NhZ2UhPScnfQo8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8dWwgY2xhc3M9InBhZ2VlcnJvciI+PGxpPnskZXJyb3JtZXNzYWdlfTwvbGk+PC91bD4KCTwvZGl2Pgo8L2Rpdj4Key9pZn0Ke2lmIGlzc2V0KCRtZXNzYWdlKSAmJiAkbWVzc2FnZSE9Jyd9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8ZGl2IGNsYXNzPSJwYWdlbWNvbnRhaW5lciI+CgkJPHA+eyRtZXNzYWdlfTwvcD4KCTwvZGl2Pgo8L2Rpdj4Key9pZn0KeyRzdGFydF9mb3JtfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGlucHV0X2lkX3RleHR9PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pZF9pbnB1dH08YnIgLz48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGlucHV0X3RwbF90ZXh0fTwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdHBsX2lucHV0fTxiciAvPjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskaW5wdXRfZmllbGRzX3RleHR9PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9maWVsZHNfaW5wdXR9PGJyIC8+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9Jm5ic3A7eyRjYW5jZWx9PGJyIC8+PC9wPgo8L2Rpdj4KeyRlbmRfZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/addMultiInputTpl.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQogICAgICAgICBhIGNvbnRlbnQgbWFuYWdlbWVudCB0b29sIGZvciBDTVMgTWFkZSBTaW1wbGUKICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzIGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIKICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTEgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQogICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKVmVyc2lvbjogMC44LjEKRmlsZSAgIDogYWRkTXVsdGlJbnB1dFRwbC50cGwKTGljZW5zZTogR1BMCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qfQoKe2lmIGlzc2V0KCRlcnJvcm1lc3NhZ2UpICYmICRlcnJvcm1lc3NhZ2UhPScnfQo8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8dWwgY2xhc3M9InBhZ2VlcnJvciI+PGxpPnskZXJyb3JtZXNzYWdlfTwvbGk+PC91bD4KCTwvZGl2Pgo8L2Rpdj4Key9pZn0Ke2lmIGlzc2V0KCRtZXNzYWdlKSAmJiAkbWVzc2FnZSE9Jyd9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8ZGl2IGNsYXNzPSJwYWdlbWNvbnRhaW5lciI+CgkJPHA+eyRtZXNzYWdlfTwvcD4KCTwvZGl2Pgo8L2Rpdj4Key9pZn0KeyRzdGFydF9mb3JtfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPGRpdiBjbGFzcz0icGFnZXRleHQiPnskdHBsX25hbWVfdGV4dH08L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+eyR0cGxfbmFtZV9pbnB1dH08YnIgLz48L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+eyR0ZW1wbGF0ZV90ZXh0fTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4KCQk8dGFibGUgc3R5bGU9InZlcnRpY2FsLWFsaWduOnRvcCI+CgkJCTx0Ym9keT4KCQkJCTx0cj4KCQkJCQk8dGQgc3R5bGU9InZlcnRpY2FsLWFsaWduOnRvcCI+CgkJCQkJCXskdGVtcGxhdGVfaW5wdXR9CgkJCQkJPC90ZD4KCQkJCQk8dGQgc3R5bGU9InZlcnRpY2FsLWFsaWduOnRvcCI+CgkJCQkJCXskaGVscF90ZXh0fQoJCQkJCTwvdGQ+CgkJCQk8L3RyPgoJCQk8L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fSZuYnNwO3skY2FuY2VsfTxiciAvPjwvZGl2Pgo8L2Rpdj4KeyRlbmRfZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/contentType.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQogICAgICAgICBhIGNvbnRlbnQgbWFuYWdlbWVudCB0b29sIGZvciBDTVMgTWFkZSBTaW1wbGUKICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzIGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIKICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTEgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQogICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKVmVyc2lvbjogMC44LjEKRmlsZSAgIDogY29udGVudFR5cGUudHBsCkxpY2Vuc2U6IEdQTAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKn0KCjwhLS0gU1RBUlQgUEFHRV9UQUIgeyRwYWdlX3RhYl9pZH0gLS0+Cgp7aWYgJHBhZ2VfdGFicy4kcGFnZV90YWJfaWQuYmxvY2tfdGFic3xAY291bnQgPiAwfQoKPCEtLSBzdGFydCBibG9ja190YWJzIGluIHBhZ2VfdGFiIHskcGFnZV90YWJfaWR9IC0tPgo8IS0tIHN0YXJ0IGJsb2NrX3RhYnMgdGFiaGVhZGVycyBpbiBwYWdlX3RhYiB7JHBhZ2VfdGFiX2lkfSAtLT4KPGRpdiBpZD0icGFnZV90YWJzIj4KCTxkaXYgaWQ9ImJsb2NrX3RhYnNfeyRwYWdlX3RhYl9ucn0iIGNsYXNzPSJTdWJUYWJXcmFwcGVyIj4KCQkKCXtmb3JlYWNoIGZyb209JHBhZ2VfdGFicy4kcGFnZV90YWJfaWQuYmxvY2tfdGFicyBpdGVtPWJsb2NrX3RhYl9pZCBuYW1lPWN1cnJlbnRfdGFifQoJCQoJCTxkaXYgaWQ9ImVkaXRhYnskcGFnZV90YWJfbnJ9X3skYmxvY2tfdGFiX2lkfSIge2lmICRzbWFydHkuZm9yZWFjaC5jdXJyZW50X3RhYi5maXJzdH1jbGFzcz0iYWN0aXZlInsvaWZ9IG9uY2xpY2s9IkFkdmFuY2VkQ29udGVudC50b2dnbGVCbG9jayh0aGlzLmlkLCAnYmxvY2tfdGFic197JHBhZ2VfdGFiX25yfScpIj4KCQkJCgkJCXskYmxvY2tfdGFicy4kYmxvY2tfdGFiX2lkLnRhYl9uYW1lfQoJCQkKCQk8L2Rpdj4KCQkKCXsvZm9yZWFjaH0KCQkKCTwvZGl2Pgo8L2Rpdj4KPCEtLSBlbmQgYmxvY2tfdGFicyB0YWJoZWFkZXJzIGluIHBhZ2VfdGFiIHskcGFnZV90YWJfaWR9IC0tPgo8IS0tIHN0YXJ0IGJsb2NrX3RhYnMgdGFiY29udGVudCBpbiBwYWdlX3RhYiB7JHBhZ2VfdGFiX2lkfSAtLT4KPGRpdiBpZD0icGFnZV9jb250ZW50IiBzdHlsZT0icGFkZGluZy1ib3R0b206MDttYXJnaW4tYm90dG9tOjIwcHg7Ij4KCQoJe2ZvcmVhY2ggZnJvbT0kcGFnZV90YWJzLiRwYWdlX3RhYl9pZC5ibG9ja190YWJzIGl0ZW09YmxvY2tfdGFiX2lkIG5hbWU9Y3VycmVudF90YWJ9CgkKCTwhLS0gc3RhcnQgYmxvY2tfdGFiIHskYmxvY2tfdGFiX2lkfSBpbiBwYWdlX3RhYiB7JHBhZ2VfdGFiX2lkfSAtLT4KCTxkaXYgaWQ9ImVkaXRhYnskcGFnZV90YWJfbnJ9X3skYmxvY2tfdGFiX2lkfV9jIntpZiAkc21hcnR5LmZvcmVhY2guY3VycmVudF90YWIuZmlyc3R9IHN0eWxlPSJkaXNwbGF5OmJsb2NrIntlbHNlfSBzdHlsZT0iZGlzcGxheTpub25lInsvaWZ9PgoJCQoJCXtpZiAkYmxvY2tfdGFicy4kYmxvY2tfdGFiX2lkLmJsb2NrX2dyb3Vwc3xAY291bnQgPiAwfQoJCTwhLS0gc3RhcnQgYmxvY2tfZ3JvdXBzIGluIGJsb2NrX3RhYiB7JGJsb2NrX3RhYl9pZH0gaW4gcGFnZV90YWIgeyRwYWdlX3RhYl9pZH0gLS0+CgkJCXtmb3JlYWNoIGZyb209JGJsb2NrX3RhYnMuJGJsb2NrX3RhYl9pZC5ibG9ja19ncm91cHMgaXRlbT1ibG9ja19ncm91cF9pZH0KCQkKCQk8IS0tIHN0YXJ0IGJsb2NrX2dyb3VwIHskYmxvY2tfZ3JvdXBfaWR9IGluIGJsb2NrX3RhYiB7JGJsb2NrX3RhYl9pZH0gaW4gcGFnZV90YWIgeyRwYWdlX3RhYl9pZH0gLS0+CgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPGZpZWxkc2V0IHN0eWxlPSJtYXJnaW46NXB4IDMlIDE1cHggMDtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OiAzMHB4OyI+CgkJCQk8bGVnZW5kIGNsYXNzPSJBZHZhbmNlZENvbnRlbnRfQmxvY2tHcm91cCI+CgkJCQkJeyRibG9ja19ncm91cHMuJGJsb2NrX2dyb3VwX2lkLmdyb3VwX25hbWV9OgoJCQkJPC9sZWdlbmQ+CgkJCQk8ZGl2IHN0eWxlPSJmbG9hdDpyaWdodDttYXJnaW46LTIzcHggLTIzcHggMCAwO3Bvc2l0aW9uOnJlbGF0aXZlIiBvbmNsaWNrPSJqUXVlcnkoJyN7JGJsb2NrX2dyb3VwX2lkfV93cmFwcGVyIHRleHRhcmVhLkFkdmFuY2VkQ29udGVudF90ZXh0YXJlYScpLmtleWRvd24oKTsgalF1ZXJ5KCcjeyRibG9ja19ncm91cF9pZH1fd3JhcHBlcicpLnRvZ2dsZSgnZmFzdCcpOyB0aGlzLmNsYXNzTmFtZSA9ICh0aGlzLmNsYXNzTmFtZSA9PSAnbm90aWZpY2F0aW9ucy1oaWRlJyA/ICdub3RpZmljYXRpb25zLXNob3cnIDogJ25vdGlmaWNhdGlvbnMtaGlkZScpOyBqUXVlcnkuZ2V0KCd7JGJsb2NrX2dyb3Vwcy4kYmxvY2tfZ3JvdXBfaWQucHJlZl91cmx9JnskbW9kdWxlX2lkfWl0ZW1fZGlzcGxheT0nKyh0aGlzLmNsYXNzTmFtZSA9PSAnbm90aWZpY2F0aW9ucy1oaWRlJyA/IDEgOiAwKSk7IiBjbGFzcz0ie2lmICRibG9ja19ncm91cHMuJGJsb2NrX2dyb3VwX2lkLmRpc3BsYXkgPT0gMH1ub3RpZmljYXRpb25zLXNob3d7ZWxzZX1ub3RpZmljYXRpb25zLWhpZGV7L2lmfSIgaWQ9InRvZ2dsZS17JGJsb2NrX2dyb3VwX2lkfSI+PC9kaXY+CgkJCQk8IS0tIHN0YXJ0IGJsb2NrcyBpbiBibG9ja19ncm91cCB7JGJsb2NrX2dyb3VwX2lkfSBpbiBibG9ja190YWIgeyRibG9ja190YWJfaWR9IGluIHBhZ2VfdGFiIHskcGFnZV90YWJfaWR9IC0tPgoJCQkJPGRpdiBpZD0ieyRibG9ja19ncm91cF9pZH1fd3JhcHBlciIgY2xhc3M9IntpZiAkYmxvY2tfZ3JvdXBzLiRibG9ja19ncm91cF9pZC5kaXNwbGF5ID09IDB9aW52aXNpYmxle2Vsc2V9dmlzaWJsZXsvaWZ9Ij4KCQkJCQkKCQkJCXtmb3JlYWNoIGZyb209JGJsb2NrX2dyb3Vwcy4kYmxvY2tfZ3JvdXBfaWQuY29udGVudF9ibG9ja3MgaXRlbT1jb250ZW50X2Jsb2NrX2lkfQoJCQkJCQoJCQkJCTwhLS0gc3RhcnQgYmxvY2sgeyRjb250ZW50X2Jsb2NrX2lkfSBpbiBibG9ja19ncm91cCB7JGJsb2NrX2dyb3VwX2lkfSBpbiBibG9ja190YWIgeyRibG9ja190YWJfaWR9IGluIHBhZ2VfdGFiIHskcGFnZV90YWJfaWR9IC0tPgoJCQkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQkJCQk8c3Ryb25nPnskY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQubGFiZWx9Ojwvc3Ryb25nPgoJCQkJCQk8L2Rpdj4KCQkJCQkJCgkJCQkJCXtpZiAkY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQuZGVzY3JpcHRpb259CgkJCQkJCQoJCQkJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJCQkJCgkJCQkJCQl7JGNvbnRlbnRfYmxvY2tzLiRjb250ZW50X2Jsb2NrX2lkLmRlc2NyaXB0aW9ufQoJCQkJCQkJCgkJCQkJCTwvZGl2PgoJCQkJCQkKCQkJCQkJey9pZn0KCQkJCQkJCgkJCQkJCTxkaXYgc3R5bGU9InBhZGRpbmc6IDVweCAwIDAgMDsiPgoJCQkJCQkJCgkJCQkJCXtpZiAkY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQuYmxvY2tfdHlwZSAhPSAnJ30KCQkJCQkJCQoJCQkJCQkJPHA+eyRjb250ZW50X2Jsb2Nrcy4kY29udGVudF9ibG9ja19pZC5pbnB1dH08L3A+CgkJCQkJCQkKCQkJCQkJe2Vsc2V9CgkJCQkJCQkKCQkJCQkJCXskY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQuY29udGVudH0KCQkJCQkJCQoJCQkJCQl7L2lmfQoJCQkJCQkJCgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJCTwhLS0gZW5kIGJsb2NrIHskY29udGVudF9ibG9ja19pZH0gaW4gYmxvY2tfZ3JvdXAgeyRibG9ja19ncm91cF9pZH0gaW4gYmxvY2tfdGFiIHskYmxvY2tfdGFiX2lkfSBpbiBwYWdlX3RhYiB7JHBhZ2VfdGFiX2lkfSAtLT4KCQkJCQoJCQkJey9mb3JlYWNofQoJCQkJCgkJCQk8L2Rpdj4KCQkJCTwhLS0gZW5kIGJsb2NrcyBpbiBibG9ja19ncm91cCB7JGJsb2NrX2dyb3VwX2lkfSBpbiBibG9ja190YWIgeyRibG9ja190YWJfaWR9IGluIHBhZ2VfdGFiIHskcGFnZV90YWJfaWR9IC0tPgoJCQk8L2ZpZWxkc2V0PgoJCTwvZGl2PgoJCTwhLS0gZW5kIGJsb2NrX2dyb3VwIHskYmxvY2tfZ3JvdXBfaWR9IGluIGJsb2NrX3RhYiB7JGJsb2NrX3RhYl9pZH0gaW4gcGFnZV90YWIgeyRwYWdlX3RhYl9pZH0gLS0+CgkJCgkJCXsvZm9yZWFjaH0KCQk8IS0tIGVuZCBibG9ja19ncm91cHMgaW4gYmxvY2tfdGFiIHskYmxvY2tfdGFiX2lkfSBpbiBwYWdlX3RhYiB7JHBhZ2VfdGFiX2lkfSAtLT4KCQl7L2lmfQoJCQoJCXtpZiAkYmxvY2tfdGFicy4kYmxvY2tfdGFiX2lkLmNvbnRlbnRfYmxvY2tzfEBjb3VudCA+IDB9CgkJPCEtLSBzdGFydCBibG9ja3MgaW4gYmxvY2tfdGFiIHskYmxvY2tfdGFiX2lkfSBpbiBwYWdlX3RhYiB7JHBhZ2VfdGFiX2lkfSAtLT4KCQkJe2ZvcmVhY2ggZnJvbT0kYmxvY2tfdGFicy4kYmxvY2tfdGFiX2lkLmNvbnRlbnRfYmxvY2tzIGl0ZW09Y29udGVudF9ibG9ja19pZH0KCQkKCQk8IS0tIHN0YXJ0IGJsb2NrIHskY29udGVudF9ibG9ja19pZH0gaW4gYmxvY2tfdGFiIHskYmxvY2tfdGFiX2lkfSBpbiBwYWdlX3RhYiB7JHBhZ2VfdGFiX2lkfSAtLT4KCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8ZmllbGRzZXQgc3R5bGU9Im1hcmdpbjo1cHggMyUgMTVweCAwO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6IDMwcHg7Ij4KCQkJCTxsZWdlbmQgY2xhc3M9IkFkdmFuY2VkQ29udGVudF9Db250ZW50QmxvY2siPnskY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQubGFiZWx9OjwvbGVnZW5kPgoJCQkJCgkJCQl7aWYgJGNvbnRlbnRfYmxvY2tzLiRjb250ZW50X2Jsb2NrX2lkLmJsb2NrX3R5cGUgJiYgISRjb250ZW50X2Jsb2Nrcy4kY29udGVudF9ibG9ja19pZC5ub19jb2xsYXBzZX0KCQkJCQoJCQkJPGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQ7bWFyZ2luOi0yM3B4IC0yM3B4IDAgMDtwb3NpdGlvbjpyZWxhdGl2ZSIgb25jbGljaz0ialF1ZXJ5KCcjeyRjb250ZW50X2Jsb2NrX2lkfV93cmFwcGVyJykudG9nZ2xlKCdmYXN0Jyk7IGpRdWVyeSgnI3skY29udGVudF9ibG9ja19pZH1fd3JhcHBlciB0ZXh0YXJlYS5BZHZhbmNlZENvbnRlbnRfdGV4dGFyZWEnKS5rZXlkb3duKCk7IHRoaXMuY2xhc3NOYW1lID0gKHRoaXMuY2xhc3NOYW1lID09ICdub3RpZmljYXRpb25zLWhpZGUnID8gJ25vdGlmaWNhdGlvbnMtc2hvdycgOiAnbm90aWZpY2F0aW9ucy1oaWRlJyk7IGpRdWVyeS5nZXQoJ3skY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQucHJlZl91cmx9JnskbW9kdWxlX2lkfWl0ZW1fZGlzcGxheT0nKyh0aGlzLmNsYXNzTmFtZSA9PSAnbm90aWZpY2F0aW9ucy1oaWRlJyA/IDEgOiAwKSk7IiBjbGFzcz0ie2lmICRjb250ZW50X2Jsb2Nrcy4kY29udGVudF9ibG9ja19pZC5kaXNwbGF5ID09IDB9bm90aWZpY2F0aW9ucy1zaG93e2Vsc2V9bm90aWZpY2F0aW9ucy1oaWRley9pZn0iIGlkPSJ0b2dnbGUteyRjb250ZW50X2Jsb2NrX2lkfSI+PC9kaXY+CgkJCQkKCQkJCXsvaWZ9CgkJCQkKCQkJCTxkaXYgaWQ9InskY29udGVudF9ibG9ja19pZH1fd3JhcHBlciIgY2xhc3M9IntpZiAkY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQuZGlzcGxheSA9PSAwICYmICEkY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQubm9fY29sbGFwc2V9aW52aXNpYmxle2Vsc2V9dmlzaWJsZXsvaWZ9Ij4KCQkJCQkKCQkJCXtpZiAkY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQuZGVzY3JpcHRpb259CgkJCQkJCgkJCQkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJCQkJCgkJCQkJeyRjb250ZW50X2Jsb2Nrcy4kY29udGVudF9ibG9ja19pZC5kZXNjcmlwdGlvbn0KCQkJCQkJCgkJCQkJPC9kaXY+CgkJCQkJCgkJCQl7L2lmfQoJCQkJCQoJCQkJCTxkaXYgc3R5bGU9InBhZGRpbmc6IDVweCAwIDAgMDsiPgoJCQkJCQkKCQkJCXtpZiAkY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQuYmxvY2tfdHlwZSAhPSAnJ30KCQkJCQkJCgkJCQkJCTxwPnskY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQuaW5wdXR9PC9wPgoJCQkJCQkKCQkJCXtlbHNlfQoJCQkJCQkKCQkJCQl7JGNvbnRlbnRfYmxvY2tzLiRjb250ZW50X2Jsb2NrX2lkLmNvbnRlbnR9CgkJCQkJCQoJCQkJey9pZn0KCQkJCQkJCgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9maWVsZHNldD4KCQk8L2Rpdj4KCQk8IS0tIGVuZCBibG9jayB7JGNvbnRlbnRfYmxvY2tfaWR9IGluIGJsb2NrX3RhYiB7JGJsb2NrX3RhYl9pZH0gaW4gcGFnZV90YWIgeyRwYWdlX3RhYl9pZH0gLS0+CgkJCgkJCXsvZm9yZWFjaH0KCQk8IS0tIGVuZCBibG9ja3MgaW4gYmxvY2tfdGFiIHskYmxvY2tfdGFiX2lkfSBpbiBwYWdlX3RhYiB7JHBhZ2VfdGFiX2lkfSAtLT4KCQl7L2lmfQoJCQoJPC9kaXY+Cgk8IS0tIGVuZCBibG9ja190YWIgeyRibG9ja190YWJfaWR9IGluIHBhZ2VfdGFiIHskcGFnZV90YWJfaWR9IC0tPgoJCgl7L2ZvcmVhY2h9CgkKPC9kaXY+CjwhLS0gZW5kIGJsb2NrX3RhYnMgdGFiY29udGVudCBpbiBwYWdlX3RhYiB7JHBhZ2VfdGFiX2lkfSAtLT4KPCEtLSBlbmQgYmxvY2tfdGFicyBpbiBwYWdlX3RhYiB7JHBhZ2VfdGFiX2lkfSAtLT4KCnsvaWZ9Cgp7aWYgJHBhZ2VfdGFicy4kcGFnZV90YWJfaWQuYmxvY2tfZ3JvdXBzfEBjb3VudCA+IDB9Cgo8IS0tIHN0YXJ0IGJsb2NrX2dyb3VwcyBpbiBwYWdlX3RhYiB7JHBhZ2VfdGFiX2lkfSAtLT4KCgl7Zm9yZWFjaCBmcm9tPSRwYWdlX3RhYnMuJHBhZ2VfdGFiX2lkLmJsb2NrX2dyb3VwcyBpdGVtPWJsb2NrX2dyb3VwX2lkfQoJCjwhLS0gc3RhcnQgYmxvY2tfZ3JvdXAgeyRibG9ja19ncm91cF9pZH0gaW4gcGFnZV90YWIgeyRwYWdlX3RhYl9pZH0gLS0+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8ZmllbGRzZXQgc3R5bGU9Im1hcmdpbjo1cHggMyUgMTVweCAwO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6IDMwcHg7Ij4KCQk8bGVnZW5kIGNsYXNzPSJBZHZhbmNlZENvbnRlbnRfQmxvY2tHcm91cCI+CgkJCXskYmxvY2tfZ3JvdXBzLiRibG9ja19ncm91cF9pZC5ncm91cF9uYW1lfToKCQk8L2xlZ2VuZD4KCQk8ZGl2IHN0eWxlPSJmbG9hdDpyaWdodDttYXJnaW46LTIzcHggLTIzcHggMCAwO3Bvc2l0aW9uOnJlbGF0aXZlIiBvbmNsaWNrPSJqUXVlcnkoJyN7JGJsb2NrX2dyb3VwX2lkfV93cmFwcGVyJykudG9nZ2xlKCdmYXN0Jyk7IGpRdWVyeSgnI3skYmxvY2tfZ3JvdXBfaWR9X3dyYXBwZXIgdGV4dGFyZWEuQWR2YW5jZWRDb250ZW50X3RleHRhcmVhJykua2V5ZG93bigpOyB0aGlzLmNsYXNzTmFtZSA9ICh0aGlzLmNsYXNzTmFtZSA9PSAnbm90aWZpY2F0aW9ucy1oaWRlJyA/ICdub3RpZmljYXRpb25zLXNob3cnIDogJ25vdGlmaWNhdGlvbnMtaGlkZScpOyBqUXVlcnkuZ2V0KCd7JGJsb2NrX2dyb3Vwcy4kYmxvY2tfZ3JvdXBfaWQucHJlZl91cmx9JnskbW9kdWxlX2lkfWl0ZW1fZGlzcGxheT0nKyh0aGlzLmNsYXNzTmFtZSA9PSAnbm90aWZpY2F0aW9ucy1oaWRlJyA/IDEgOiAwKSk7IiBjbGFzcz0ie2lmICRibG9ja19ncm91cHMuJGJsb2NrX2dyb3VwX2lkLmRpc3BsYXkgPT0gMH1ub3RpZmljYXRpb25zLXNob3d7ZWxzZX1ub3RpZmljYXRpb25zLWhpZGV7L2lmfSIgaWQ9InRvZ2dsZS17JGJsb2NrX2dyb3VwX2lkfSI+PC9kaXY+CgkJPCEtLSBzdGFydCBibG9ja3MgaW4gYmxvY2tfZ3JvdXAgeyRibG9ja19ncm91cF9pZH0gaW4gcGFnZV90YWIgeyRwYWdlX3RhYl9pZH0gLS0+CgkJPGRpdiBpZD0ieyRibG9ja19ncm91cF9pZH1fd3JhcHBlciIgY2xhc3M9IntpZiAkYmxvY2tfZ3JvdXBzLiRibG9ja19ncm91cF9pZC5kaXNwbGF5ID09IDB9aW52aXNpYmxle2Vsc2V9dmlzaWJsZXsvaWZ9Ij4KCQkJCgkJe2ZvcmVhY2ggZnJvbT0kYmxvY2tfZ3JvdXBzLiRibG9ja19ncm91cF9pZC5jb250ZW50X2Jsb2NrcyBpdGVtPWNvbnRlbnRfYmxvY2tfaWR9CgkJCQoJCQk8IS0tIHN0YXJ0IGJsb2NrIHskY29udGVudF9ibG9ja19pZH0gaW4gYmxvY2tfZ3JvdXAgeyRibG9ja19ncm91cF9pZH0gaW4gcGFnZV90YWIgeyRwYWdlX3RhYl9pZH0gLS0+CgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQkKCQkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQkJPHN0cm9uZz57JGNvbnRlbnRfYmxvY2tzLiRjb250ZW50X2Jsb2NrX2lkLmxhYmVsfTo8L3N0cm9uZz4KCQkJCTwvZGl2PgoJCQkJCgkJCXtpZiAkY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQuZGVzY3JpcHRpb259CgkJCQkKCQkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQkJCgkJCQl7JGNvbnRlbnRfYmxvY2tzLiRjb250ZW50X2Jsb2NrX2lkLmRlc2NyaXB0aW9ufQoJCQkJCQoJCQkJPC9kaXY+CgkJCQkKCQkJCXsvaWZ9CgkJCQkKCQkJCTxkaXYgc3R5bGU9InBhZGRpbmc6IDVweCAwIDAgMDsiPgoJCQkJCQoJCQl7aWYgJGNvbnRlbnRfYmxvY2tzLiRjb250ZW50X2Jsb2NrX2lkLmJsb2NrX3R5cGUgIT0gJyd9CgkJCQkJCgkJCQkJPHA+eyRjb250ZW50X2Jsb2Nrcy4kY29udGVudF9ibG9ja19pZC5pbnB1dH08L3A+CgkJCQkJCgkJCXtlbHNlfQoJCQkJCQoJCQkJeyRjb250ZW50X2Jsb2Nrcy4kY29udGVudF9ibG9ja19pZC5jb250ZW50fQoJCQkJCQoJCQl7L2lmfQoJCQkJCQoJCQkJPC9kaXY+CgkJCQkJCgkJCTwvZGl2PgoJCQk8IS0tIGVuZCBibG9jayB7JGNvbnRlbnRfYmxvY2tfaWR9IGluIGJsb2NrX2dyb3VwIHskYmxvY2tfZ3JvdXBfaWR9IGluIHBhZ2VfdGFiIHskcGFnZV90YWJfaWR9IC0tPgoJCQoJCXsvZm9yZWFjaH0KCQkKCQk8L2Rpdj4KCQk8IS0tIGVuZCBibG9ja3MgaW4gYmxvY2tfZ3JvdXAgeyRibG9ja19ncm91cF9pZH0gaW4gcGFnZV90YWIgeyRwYWdlX3RhYl9pZH0gLS0+Cgk8L2ZpZWxkc2V0Pgo8L2Rpdj4KPCEtLSBlbmQgYmxvY2tfZ3JvdXAgeyRibG9ja19ncm91cF9pZH0gaW4gcGFnZV90YWIgeyRwYWdlX3RhYl9pZH0gLS0+CnsvZm9yZWFjaH0KPCEtLSBlbmQgYmxvY2tfZ3JvdXBzIGluIHBhZ2VfdGFiIHskcGFnZV90YWJfaWR9IC0tPgp7L2lmfQoKCntpZiAkcGFnZV90YWJzLiRwYWdlX3RhYl9pZC5jb250ZW50X2Jsb2Nrc3xAY291bnQgPiAwfQoKPCEtLSBzdGFydCBibG9ja3MgaW4gcGFnZV90YWIgeyRwYWdlX3RhYl9pZH0gLS0+CgoJe2ZvcmVhY2ggZnJvbT0kcGFnZV90YWJzLiRwYWdlX3RhYl9pZC5jb250ZW50X2Jsb2NrcyBpdGVtPWNvbnRlbnRfYmxvY2tfaWR9CgkKPCEtLSBzdGFydCBibG9jayB7JGNvbnRlbnRfYmxvY2tfaWR9IGluIHBhZ2VfdGFiIHskcGFnZV90YWJfaWR9IC0tPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPGZpZWxkc2V0IHN0eWxlPSJtYXJnaW46NXB4IDMlIDE1cHggMDtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OiAzMHB4OyI+CgkJPGxlZ2VuZCBjbGFzcz0iQWR2YW5jZWRDb250ZW50X0NvbnRlbnRCbG9jayI+eyRjb250ZW50X2Jsb2Nrcy4kY29udGVudF9ibG9ja19pZC5sYWJlbH06PC9sZWdlbmQ+CgkJCgkJe2lmICRjb250ZW50X2Jsb2Nrcy4kY29udGVudF9ibG9ja19pZC5ibG9ja190eXBlICYmICEkY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQubm9fY29sbGFwc2V9CgkJCgkJPGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQ7bWFyZ2luOi0yM3B4IC0yM3B4IDAgMDtwb3NpdGlvbjpyZWxhdGl2ZSIgb25jbGljaz0ialF1ZXJ5KCcjeyRjb250ZW50X2Jsb2NrX2lkfV93cmFwcGVyJykudG9nZ2xlKCdmYXN0Jyk7IGpRdWVyeSgnI3skY29udGVudF9ibG9ja19pZH1fd3JhcHBlciB0ZXh0YXJlYS5BZHZhbmNlZENvbnRlbnRfdGV4dGFyZWEnKS5rZXlkb3duKCk7IHRoaXMuY2xhc3NOYW1lID0gKHRoaXMuY2xhc3NOYW1lID09ICdub3RpZmljYXRpb25zLWhpZGUnID8gJ25vdGlmaWNhdGlvbnMtc2hvdycgOiAnbm90aWZpY2F0aW9ucy1oaWRlJyk7IGpRdWVyeS5nZXQoJ3skY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQucHJlZl91cmx9JnskbW9kdWxlX2lkfWl0ZW1fZGlzcGxheT0nKyh0aGlzLmNsYXNzTmFtZSA9PSAnbm90aWZpY2F0aW9ucy1oaWRlJyA/IDEgOiAwKSk7IiBjbGFzcz0ie2lmICRjb250ZW50X2Jsb2Nrcy4kY29udGVudF9ibG9ja19pZC5kaXNwbGF5ID09IDB9bm90aWZpY2F0aW9ucy1zaG93e2Vsc2V9bm90aWZpY2F0aW9ucy1oaWRley9pZn0iIGlkPSJ0b2dnbGUteyRjb250ZW50X2Jsb2NrX2lkfSI+PC9kaXY+CgkJCgkJey9pZn0KCQkKCQk8ZGl2IGlkPSJ7JGNvbnRlbnRfYmxvY2tfaWR9X3dyYXBwZXIiIGNsYXNzPSJ7aWYgJGNvbnRlbnRfYmxvY2tzLiRjb250ZW50X2Jsb2NrX2lkLmRpc3BsYXkgPT0gMCAmJiAhJGNvbnRlbnRfYmxvY2tzLiRjb250ZW50X2Jsb2NrX2lkLm5vX2NvbGxhcHNlfWludmlzaWJsZXtlbHNlfXZpc2libGV7L2lmfSI+CgkJCQoJCXtpZiAkY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQuZGVzY3JpcHRpb259CgkJCQoJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJCgkJCQl7JGNvbnRlbnRfYmxvY2tzLiRjb250ZW50X2Jsb2NrX2lkLmRlc2NyaXB0aW9ufQoJCQkJCgkJCTwvZGl2PgoJCQkKCQl7L2lmfQoJCQkKCQkJPGRpdiBzdHlsZT0icGFkZGluZzogNXB4IDAgMCAwOyI+CgkJCQkKCQl7aWYgJGNvbnRlbnRfYmxvY2tzLiRjb250ZW50X2Jsb2NrX2lkLmJsb2NrX3R5cGUgIT0gJyd9CgkJCQkKCQkJCTxwPnskY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQuaW5wdXR9PC9wPgoJCQkJCgkJe2Vsc2V9CgkJCQkKCQkJCXskY29udGVudF9ibG9ja3MuJGNvbnRlbnRfYmxvY2tfaWQuY29udGVudH0KCQkJCQoJCXsvaWZ9CgkJCQkKCQkJPC9kaXY+CgkJCQoJCTwvZGl2PgoJPC9maWVsZHNldD4KPC9kaXY+CjwhLS0gZW5kIGJsb2NrIHskY29udGVudF9ibG9ja19pZH0gaW4gcGFnZV90YWIgeyRwYWdlX3RhYl9pZH0gLS0+CgoJey9mb3JlYWNofQoKPCEtLSBzdGFydCBibG9ja3MgaW4gcGFnZV90YWIgeyRwYWdlX3RhYl9pZH0gLS0+Cgp7L2lmfQoKPCEtLSBFTkQgUEFHRV9UQUIgeyRwYWdlX3RhYl9pZH0gLS0+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/defaultadmin.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQogICAgICAgICBhIGNvbnRlbnQgbWFuYWdlbWVudCB0b29sIGZvciBDTVMgTWFkZSBTaW1wbGUKICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzIGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIKICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTEgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQogICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKVmVyc2lvbjogMC44LjEKRmlsZSAgIDogZGVmYXVsdGFkbWluLnRwbApMaWNlbnNlOiBHUEwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSp9Cgp7aWYgaXNzZXQoJGVycm9ybWVzc2FnZSkgJiYgJGVycm9ybWVzc2FnZSE9Jyd9CjxkaXYgY2xhc3M9InBhZ2VlcnJvcmNvbnRhaW5lciI+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTx1bCBjbGFzcz0icGFnZWVycm9yIj48bGk+eyRlcnJvcm1lc3NhZ2V9PC9saT48L3VsPgoJPC9kaXY+CjwvZGl2Pgp7L2lmfQo8ZGl2IGlkPSJBZHZhbmNlZENvbnRlbnRSZXN1bHQiPgoJe2lmIGlzc2V0KCRtZXNzYWdlKSAmJiAkbWVzc2FnZSE9Jyd9Cgk8ZGl2IGNsYXNzPSJwYWdlbWNvbnRhaW5lciI+CgkJPHAgY2xhc3M9InBhZ2VtZXNzYWdlIj57JG1lc3NhZ2V9PC9wPgoJPC9kaXY+Cgl7L2lmfQo8L2Rpdj4KCntpZiAkdGFic3xAY291bnR9Cgl7JHN0YXJ0X3RhYmhlYWRlcnN9CgkJe2ZvcmVhY2ggZnJvbT0kdGFicyBpdGVtPXRhYn0KCQkJeyR0YWIudGFiaGVhZGVyfQoJCXsvZm9yZWFjaH0KCXskZW5kX3RhYmhlYWRlcnN9Cgl7JHN0YXJ0X3RhYmNvbnRlbnR9CgkJe2ZvcmVhY2ggZnJvbT0kdGFicyBpdGVtPXRhYn0KCQkJeyR0YWIudGFiY29udGVudH0KCQl7L2ZvcmVhY2h9Cgl7JGVuZF90YWJjb250ZW50fQp7L2lmfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/header.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQogICAgICAgICBhIGNvbnRlbnQgbWFuYWdlbWVudCB0b29sIGZvciBDTVMgTWFkZSBTaW1wbGUKICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzIGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIKICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTEgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQogICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKVmVyc2lvbjogMC44LjEKRmlsZSAgIDogaGVhZGVyLnRwbApMaWNlbnNlOiBHUEwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSp9Cgo8bGluayByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJzY3JlZW4iIHR5cGU9InRleHQvY3NzIiBocmVmPSJ7cm9vdF91cmx9L21vZHVsZXMvQWR2YW5jZWRDb250ZW50L2Nzcy9zdHlsZS5jc3MiIC8+CntpZiBpc3NldCgkY29sb3JwaWNrZXJfYmxvY2tzKSAmJiAkY29sb3JwaWNrZXJfYmxvY2tzfGNvdW50fQo8bGluayByZWw9c3R5bGVzaGVldCBocmVmPSJ7cm9vdF91cmx9L21vZHVsZXMvQWR2YW5jZWRDb250ZW50L2Nzcy9qcGlja2VyLmNzcyIgdHlwZT0idGV4dC9jc3MiIC8+CnsvaWZ9CjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ7cm9vdF91cmx9L21vZHVsZXMvQWR2YW5jZWRDb250ZW50L2pzL21haW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLzwhW0NEQVRBWwp7bGl0ZXJhbH0KalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsKCWpRdWVyeS5ub0NvbmZsaWN0KCk7CglqUXVlcnkoJ3RleHRhcmVhLkFkdmFuY2VkQ29udGVudF90ZXh0YXJlYScpLmF1dG9SZXNpemUoewoJCWFuaW1hdGU6ZmFsc2UsCgkJZXh0cmFTcGFjZTogMCwKCQlsaW1pdDpqUXVlcnkod2luZG93KS5oZWlnaHQoKQoJfSkua2V5ZG93bigpOwoJalF1ZXJ5KCcuc29ydGFibGVfd3JhcHBlcicpLnNvcnRhYmxlKHsKCQlpdGVtczogJy5zb3J0YWJsZScsCgkJaGFuZGxlOiAnLnNvcnRhYmxlX2hhbmRsZXInLAoJCWF4aXM6ICd5JwoJfSk7CglqUXVlcnkoJy5zb3J0YWJsZV9oYW5kbGVyJykuZGlzYWJsZVNlbGVjdGlvbigpOwoJalF1ZXJ5KCcjQWR2YW5jZWRDb250ZW50U3RhcnREYXRlUGlja2VyRGlzcGxheScpLmNhbGVuZGFyKHsKCQl0cmlnZ2VyRWxlbWVudDogJyNBZHZhbmNlZENvbnRlbnRTdGFydERhdGVQaWNrZXJUcmlnZ2VyJywKCQlkYXRlRm9ybWF0OiAnJXgnLAoJCWNsb3NlSGFuZGxlcjogZnVuY3Rpb24gKGNhbGVuZGFyKSB7CgkJCWpRdWVyeSgnI0FkdmFuY2VkQ29udGVudFN0YXJ0RGF0ZScpLnZhbChldmFsKGNhbGVuZGFyLmRhdGUuZ2V0VGltZSgpLzEwMDApKTsKCQkJY2FsZW5kYXIuY29udGFpbmVyLmhpZGUoKTsKCQl9Cgl9KTsKCWpRdWVyeSgnI0FkdmFuY2VkQ29udGVudEVuZERhdGVQaWNrZXJEaXNwbGF5JykuY2FsZW5kYXIoewoJCXRyaWdnZXJFbGVtZW50OiAnI0FkdmFuY2VkQ29udGVudEVuZERhdGVQaWNrZXJUcmlnZ2VyJywKCQlkYXRlRm9ybWF0OiAnJXgnLAoJCWNsb3NlSGFuZGxlcjogZnVuY3Rpb24gKGNhbGVuZGFyKSB7CgkJCWpRdWVyeSgnI0FkdmFuY2VkQ29udGVudEVuZERhdGUnKS52YWwoZXZhbChjYWxlbmRhci5kYXRlLmdldFRpbWUoKS8xMDAwKSk7CgkJCWNhbGVuZGFyLmNvbnRhaW5lci5oaWRlKCk7CgkJfQoJfSk7CnsvbGl0ZXJhbH0Ke2lmIGlzc2V0KCRkYXRlX2Jsb2NrcykgJiYgJGRhdGVfYmxvY2tzfEBjb3VudCA+IDB9Cgl7Zm9yZWFjaCBmcm9tPSRkYXRlX2Jsb2NrcyBpdGVtPWNvbnRlbnRfYmxvY2tfaWR9CgkJe2lmICRjb250ZW50X2Jsb2Nrcy4kY29udGVudF9ibG9ja19pZC5tb2RlID09ICdjYWxlbmRhcid9CgkJCXtsaXRlcmFsfQoJCWpRdWVyeSgnI3svbGl0ZXJhbH17JGNvbnRlbnRfYmxvY2tfaWR9e2xpdGVyYWx9X0FkdmFuY2VkQ29udGVudERhdGVQaWNrZXJEaXNwbGF5JykuY2FsZW5kYXIoewoJCQl0cmlnZ2VyRWxlbWVudDogJyN7L2xpdGVyYWx9eyRjb250ZW50X2Jsb2NrX2lkfXtsaXRlcmFsfV9BZHZhbmNlZENvbnRlbnREYXRlUGlja2VyVHJpZ2dlcicsCgkJCWRhdGVGb3JtYXQ6ICcleCcsCgkJCWNsb3NlSGFuZGxlcjogZnVuY3Rpb24gKGNhbGVuZGFyKSB7CgkJCQlqUXVlcnkoJyN7L2xpdGVyYWx9eyRjb250ZW50X2Jsb2NrX2lkfXtsaXRlcmFsfV9BZHZhbmNlZENvbnRlbnREYXRlJykudmFsKGV2YWwoY2FsZW5kYXIuZGF0ZS5nZXRUaW1lKCkvMTAwMCkpOwoJCQkJY2FsZW5kYXIuY29udGFpbmVyLmhpZGUoKTsKCQkJfQoJCX0pOwoJCQl7L2xpdGVyYWx9CgkJey9pZn0KCXsvZm9yZWFjaH0Key9pZn0Ke2xpdGVyYWx9fXsvbGl0ZXJhbH0pOwp7aWYgaXNzZXQoJGNvbG9ycGlja2VyX2Jsb2NrcykgJiYgJGNvbG9ycGlja2VyX2Jsb2Nrc3xjb3VudH0KalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHtsaXRlcmFsfXt7L2xpdGVyYWx9CglqUXVlcnkuZm4ualBpY2tlci5kZWZhdWx0cy5pbWFnZXMuY2xpZW50UGF0aD0ie3Jvb3RfdXJsfS9tb2R1bGVzL0FkdmFuY2VkQ29udGVudC9pbWFnZXMvanBpY2tlci8iOwoJe2ZvcmVhY2ggZnJvbT0kY29sb3JwaWNrZXJfYmxvY2tzIGl0ZW09ImNvbG9ycGlja2VyIn0KCWpRdWVyeSgiI3skY29sb3JwaWNrZXJ9IikualBpY2tlcigpOwoJey9mb3JlYWNofQp7bGl0ZXJhbH19ey9saXRlcmFsfSk7CnsvaWZ9CntpZiBpc3NldCgkc2xpZGVyX2Jsb2NrcykgJiYgJHNsaWRlcl9ibG9ja3N8Y291bnR9CmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7bGl0ZXJhbH17ey9saXRlcmFsfQoJe2ZvcmVhY2ggZnJvbT0kc2xpZGVyX2Jsb2NrcyBpdGVtPSJzbGlkZXIifQoJalF1ZXJ5KCIjeyRzbGlkZXJ9Iikuc2xpZGVyKHtpZiAkY29udGVudF9ibG9ja3MuJHNsaWRlci5wYXJhbXN8Y291bnR9e2xpdGVyYWx9e3svbGl0ZXJhbH0KCQl7Zm9yZWFjaCBmcm9tPSRjb250ZW50X2Jsb2Nrcy4kc2xpZGVyLnBhcmFtcyBpdGVtPSJwYXJhbV92YWx1ZSIga2V5PSJwYXJhbV9uYW1lIiBuYW1lPSJzbGlkZXJfcGFyYW1zIn0KCQl7JHBhcmFtX25hbWV9OiB7JHBhcmFtX3ZhbHVlfXtpZiAhJHNtYXJ0eS5mb3JlYWNoLnNsaWRlcl9wYXJhbXMubGFzdH0sey9pZn0KCQl7L2ZvcmVhY2h9Cgl7bGl0ZXJhbH19ey9saXRlcmFsfXsvaWZ9KTsKCXsvZm9yZWFjaH0KfSk7CnsvaWZ9CntsaXRlcmFsfQpBZHZhbmNlZENvbnRlbnQgPSB7Cgl0b2dnbGVCbG9jazogZnVuY3Rpb24gKHRhYklkLCBuYXZiYXJfaWQpIHsKCQl2YXIgbmF2YmFyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobmF2YmFyX2lkKTsKCQl2YXIgdGFicyAgID0gbmF2YmFyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKTsKCQkKCQlmb3IgKHZhciBpID0gMDsgaSA8IHRhYnMubGVuZ3RoOyBpICs9IDEpIHsKCQkJLy90YWJzW2ldLm9ubW91c2Vkb3duID0gZnVuY3Rpb24oKSB7CgkJCWZvciAodmFyIGogPSAwOyBqIDwgdGFicy5sZW5ndGg7IGogKz0gMSkgewoJCQkJdGFic1tqXS5jbGFzc05hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAnJzsKCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYnNbal0uaWQgKyAiX2MiKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwoJCQl9CgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYklkKS5jbGFzc05hbWUgICAgICAgICAgICA9ICdhY3RpdmUnOwoJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWJJZCArICJfYyIpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwoJCQlyZXR1cm4gdHJ1ZTsKCQkJLy99CgkJfQoJfSwKCXN1Ym1pdEZvcm06IGZ1bmN0aW9uIChidXR0b24sIHRhcmdldElkKSB7CgkJdmFyIGZvcm0gPSBqUXVlcnkoYnV0dG9uKS5wYXJlbnRzKCdmb3JtOmZpcnN0Jyk7CgkJalF1ZXJ5KCcuQWR2YW5jZWRDb250ZW50X0FqYXhGaWVsZHMnKS5yZW1vdmUoKTsKCQlpZihmb3JtLmxlbmd0aCkgewoJCQlpZih0YXJnZXRJZCAhPSAnJyAmJiAhZm9ybS5wYXJlbnRzKCcjJyt0YXJnZXRJZCkubGVuZ3RoKSB7CgkJCQlqUXVlcnkoJyMnK3RhcmdldElkKS5odG1sKCcnKTsKCQkJfQoJCQl2YXIgb3B0aW9ucyA9IHsKCQkJCXN1Y2Nlc3M6IGZ1bmN0aW9uKHJlc3BvbnNlVGV4dCkgewoJCQkJCWlmKHJlc3BvbnNlVGV4dCAhPSAnJyAmJiB0YXJnZXRJZCAhPSAnJykgewoJCQkJCQlqUXVlcnkoJyMnK3RhcmdldElkKS5odG1sKHJlc3BvbnNlVGV4dCk7CgkJCQkJfQoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJfQoJCQlmb3JtLmFwcGVuZCgnPGlucHV0IHR5cGU9ImhpZGRlbiIgY2xhc3M9IkFkdmFuY2VkQ29udGVudF9BamF4RmllbGRzIiBuYW1lPSJkaXNhYmxlX3RoZW1lIiB2YWx1ZT0iMSIgLz4nKTsKCQkJZm9ybS5hcHBlbmQoJzxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJBZHZhbmNlZENvbnRlbnRfQWpheEZpZWxkcyIgbmFtZT0iJytidXR0b24ubmFtZSsnIiB2YWx1ZT0iJytidXR0b24udmFsdWUrJyIgLz4nKTsKCQkJZm9ybS5hcHBlbmQoJzxpbnB1dCB0eXBlPSJoaWRkZW4iIGNsYXNzPSJBZHZhbmNlZENvbnRlbnRfQWpheEZpZWxkcyIgbmFtZT0iey9saXRlcmFsfXskbW9kdWxlX2lkfXtsaXRlcmFsfWFqYXgiIHZhbHVlPSIxIiAvPicpOwoJCQlmb3JtLmFqYXhTdWJtaXQob3B0aW9ucyk7CgkJfQoJCXJldHVybiBmYWxzZTsKCX0sCglzZWxlY3RBbGw6IGZ1bmN0aW9uIChvYmopIHsKCQlpZiAob2JqLnZhbHVlID09IDEpIHsKCQkJalF1ZXJ5KCdpbnB1dFtuYW1lXj0iJytvYmouaWQrJy0iXScpLmF0dHIoJ2NoZWNrZWQnLCdjaGVja2VkJyk7CgkJCW9iai52YWx1ZSA9IDA7CgkJfQoJCWVsc2UgewoJCQlqUXVlcnkoJ2lucHV0W25hbWVePSInK29iai5pZCsnLSJdJykucmVtb3ZlQXR0cignY2hlY2tlZCcpOwoJCQlvYmoudmFsdWUgPSAxOwoJCX0KCX0sCglpbXBvcnRQYWdlczogZnVuY3Rpb24oaHJlZikgewoJCWpRdWVyeS5nZXQoaHJlZiArICcmey9saXRlcmFsfXskbW9kdWxlX2lkfXtsaXRlcmFsfWRpc2FibGVfdGhlbWU9MSZ7L2xpdGVyYWx9eyRtb2R1bGVfaWR9e2xpdGVyYWx9YWpheD0xJywgZnVuY3Rpb24oZGF0YSkgewoJCQlqUXVlcnkoJyNBZHZhbmNlZENvbnRlbnRSZXN1bHQnKS5odG1sKGRhdGEpOwoJCX0pOwoJCXJldHVybiBmYWxzZTsKCX0sCnsvbGl0ZXJhbH17aWYgaXNzZXQoJGdldHByb3BlcnR5X3VybCl9e2xpdGVyYWx9CgkvL2dldFByb3BlcnR5OiBmdW5jdGlvbihwcm9wbmFtZSkgewoJLy8JdmFyIGRhdGEgPSBbeyduYW1lJzogJ3svbGl0ZXJhbH17JG1vZHVsZV9pZH17bGl0ZXJhbH1wcm9wZXJ0eScsICd2YWx1ZSc6IHByb3BuYW1lfSx7J25hbWUnOiAney9saXRlcmFsfXskbW9kdWxlX2lkfXtsaXRlcmFsfXNlcmlhbGl6ZWRfY29udGVudCcsICd2YWx1ZSc6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZXJpYWxpemVkX2NvbnRlbnQnKS52YWx1ZX1dOwoJLy8JalF1ZXJ5LnBvc3QoJ3svbGl0ZXJhbH17JGdldHByb3BlcnR5X3VybH17bGl0ZXJhbH0nLCBkYXRhLCBmdW5jdGlvbihyZXN1bHREYXRhKSB7CgkvLwkJYWxlcnQocmVzdWx0RGF0YSk7CgkvLwl9KTsKCS8vCXJldHVybiBmYWxzZTsKCS8vfSwKCWdldFByb3BlcnR5OiBmdW5jdGlvbihwcm9wbmFtZSwgY2FsbEJhY2spIHsKCQl2YXIgZGF0YSA9IGpRdWVyeSgnI0VkaXRfQ29udGVudCcpLmZpbmQoJ2lucHV0Om5vdChbdHlwZT1zdWJtaXRdKSwgc2VsZWN0LCB0ZXh0YXJlYScpLnNlcmlhbGl6ZUFycmF5KCk7CgkJZGF0YS5wdXNoKHsnbmFtZSc6ICd7L2xpdGVyYWx9eyRtb2R1bGVfaWR9e2xpdGVyYWx9cHJvcGVydHknLCAndmFsdWUnOiBwcm9wbmFtZX0pOwoJCS8vZGF0YS5wdXNoKHsgJ25hbWUnOiAnc2VyaWFsaXplZF9jb250ZW50JywgJ3ZhbHVlJzogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlcmlhbGl6ZWRfY29udGVudCcpLnZhbHVlIH0pOwoJCWpRdWVyeS5wb3N0KCd7L2xpdGVyYWx9eyRnZXRwcm9wZXJ0eV91cmx9e2xpdGVyYWx9JyxkYXRhLGZ1bmN0aW9uKHJlc3VsdGRhdGEsdGV4dCl7CgkJCQlhbGVydChyZXN1bHRkYXRhKTsKCQkJCS8vdmFyIHJlc3AgPSBqUXVlcnkocmVzdWx0ZGF0YSkuZmluZCgnUmVzcG9uc2UnKS50ZXh0KCk7CgkJCQkvL3ZhciBkZXRhaWxzID0galF1ZXJ5KHJlc3VsdGRhdGEpLmZpbmQoJ0RldGFpbHMnKS50ZXh0KCk7CgkJCQkvL3ZhciBodG1sU2hvdyA9ICcnOwoJCQkJLy9pZiggcmVzcCA9PSAnU3VjY2VzcycgKQoJCQkJLy97CgkJCQkvLwlodG1sU2hvdyA9ICc8ZGl2IGNsYXNzPSJwYWdlbWNvbnRhaW5lciI+PHAgY2xhc3M9InBhZ2VtZXNzYWdlIj4nICsgZGV0YWlscyArICc8XC9wPjxcL2Rpdj4nOwoJCQkJLy8JalF1ZXJ5KCdpbnB1dFtuYW1lPWNhbmNlbF0nKS5mYWRlT3V0KCk7CgkJCQkvLwlqUXVlcnkoJ2lucHV0W25hbWU9Y2FuY2VsXScpLmF0dHIoJ3ZhbHVlJywnQ2xvc2UnKTsKCQkJCS8vCWpRdWVyeSgnaW5wdXRbbmFtZT1jYW5jZWxdJykuZmFkZUluKCk7CgkJCQkvL30KCQkJCS8vZWxzZQoJCQkJLy97CgkJCQkvLwlodG1sU2hvdyA9ICc8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPjx1bCBjbGFzcz0icGFnZWVycm9yIj4nOwoJCQkJLy8JaHRtbFNob3cgKz0gZGV0YWlsczsKCQkJCS8vCWh0bWxTaG93ICs9ICc8XC91bD48XC9kaXY+JzsKCQkJCS8vfQoJCQkJLy9qUXVlcnkoJyNFZGl0X0NvbnRlbnRfUmVzdWx0JykuaHRtbChodG1sU2hvdyk7CgkJCX0KCQkpOwoJCXJldHVybiBmYWxzZTsKCQlqUXVlcnkucG9zdCgney9saXRlcmFsfXskZ2V0cHJvcGVydHlfdXJsfXtsaXRlcmFsfScseyd7L2xpdGVyYWx9eyRtb2R1bGVfaWR9e2xpdGVyYWx9cHJvcGVydHknOiBpbnB1dC5uYW1lLCAnc2VyaWFsaXplZF9jb250ZW50JzogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlcmlhbGl6ZWRfY29udGVudCcpLnZhbHVlfSAsIGZ1bmN0aW9uKGRhdGEsdGV4dFN0YXR1cywganFYSFIpIHsKCQkJLy9jYWxsQmFjayhpbnB1dCxkYXRhKTsKCQkJY29uc29sZS5sb2coanFYSFIpOwoJCX0pOwoJCXJldHVybiBmYWxzZTsKCX0sCnsvbGl0ZXJhbH17L2lmfXtsaXRlcmFsfQoJb3B0aW9uczogewoJCXRpdGxlOidBZHZhbmNlZENvbnRlbnQnLAoJCW1vZHVsZUlkOidtMV8nLAoJCWRyYWdnYWJsZTp0cnVlLAoJCWRyYWdBeGlzOid4JywKCQlyZXNpemFibGU6dHJ1ZSwKCQlyZXNpemFibGVIYW5kbGVzOidlLHcnLAoJCWNhbmNlbFRleHQ6J0NhbmNlbCcsCgkJYXBwbHlUZXh0OidBcHBseScsCgkJZmFkZVNwZWVkOjMwMCwKCQlhbmltYXRlU3BlZWQ6MzAwLAoJCWRlYnVnOmZhbHNlCgl9LAoJbXVsdGlDb250ZW50czoge30sCgl0bXA6IHsKCQljdXJyZW50YmxvY2tJZDonJywKCQloZWlnaHQ6MCwKCQlpbm5lckhlaWdodDowLAoJCWJsb2Nrczp7fSwKCQl0ZW1wbGF0ZTp7fQoJfSwKCXJlZ2lzdGVyTXVsdGlDb250ZW50OiBmdW5jdGlvbihibG9ja0luZm8pIHsKCQl0aGlzLm11bHRpQ29udGVudHNbYmxvY2tJbmZvWydpZCddXSA9IGJsb2NrSW5mbzsKCX0sCglyZWdpc3Rlck11bHRpQ29udGVudEJsb2NrOiBmdW5jdGlvbihtdWx0aUNvbnRlbnRJZCwgYmxvY2tJbmZvKSB7CgkJdGhpcy5tdWx0aUNvbnRlbnRzW211bHRpQ29udGVudElkXS5jb250ZW50X2Jsb2Nrc1tibG9ja0luZm9bJ2lkJ11dID0gYmxvY2tJbmZvOwoJCXRoaXMubXVsdGlDb250ZW50c1ttdWx0aUNvbnRlbnRJZF0uY29udGVudF9ibG9ja3NfY291bnQrKzsKCX0sCglkaXNwbGF5Q29udGVudEJsb2NrOiBmdW5jdGlvbihibG9ja0luZm8pIHsKCQkvL0FKQVg/CgkJCgl9LAoJYWRkQmxvY2s6IGZ1bmN0aW9uKCkgewoJCXRoaXMub3BlblBhbmVsKCk7Cgl9LAoJZWRpdEJsb2NrOiBmdW5jdGlvbihibG9ja0lkKSB7CgkJLy8/Cgl9LAoJZGVsZXRlQmxvY2s6IGZ1bmN0aW9uKCkgewoJCQoJfSwKCW9wZW5QYW5lbDogZnVuY3Rpb24obXVsdGlDb250ZW50SWQpIHsKCQkvKioKCQkgKiBvcGVuIGJsb2NrZm9ybQoJCSAqLwoJCQoJCXZhciBibG9ja0lkID0gKGFyZ3VtZW50c1sxXSA/IGFyZ3VtZW50c1sxXSA6ICdibG9ja18nICsgdGhpcy5tdWx0aUNvbnRlbnRzW211bHRpQ29udGVudElkXS5jb250ZW50X2Jsb2Nrc19jb3VudCk7CgkJdGhpcy5nZXRQYW5lbChtdWx0aUNvbnRlbnRJZCxibG9ja0lkKTsKCQl0aGlzLnRtcC50ZW1wbGF0ZVsnI0FkdmFuY2VkQ29udGVudF9iYWNrZ3JvdW5kJ10uY3NzKCdkaXNwbGF5JywnYmxvY2snKS5mYWRlVG8oQWR2YW5jZWRDb250ZW50Lm9wdGlvbnMuZmFkZVNwZWVkLCAwLjY1LCBmdW5jdGlvbiAoKSB7CgkJCQoJCQlpZihBZHZhbmNlZENvbnRlbnQub3B0aW9ucy5kZWJ1ZykgewoJCQkJYWxlcnQoJ2ZhZGVkIGluIGJhY2tncm91bmQnKTsKCQkJfQoJCQkKCQkJQWR2YW5jZWRDb250ZW50LnRtcC50ZW1wbGF0ZVsnI0FkdmFuY2VkQ29udGVudCddLmNzcygnZGlzcGxheScsJ2Jsb2NrJykuZmFkZVRvKEFkdmFuY2VkQ29udGVudC5vcHRpb25zLmZhZGVTcGVlZCwgMSwgZnVuY3Rpb24oKSB7CgkJCQlBZHZhbmNlZENvbnRlbnQudG1wLnRlbXBsYXRlWycjQWR2YW5jZWRDb250ZW50X2xvYWRpbmdfaW1nJ10uY3NzKCdkaXNwbGF5JywnYmxvY2snKTsKCQkJCQkKCQkJCWlmKEFkdmFuY2VkQ29udGVudC5vcHRpb25zLmRlYnVnKSB7CgkJCQkJYWxlcnQoJ2xvYWRpbmcgZnJvbSBzZXJ2ZXInKTsKCQkJCX0KCQkJCQoJCQkJLy8gdmFyIHVybCA9IHRoaXMuZ2V0QmxvY2tVcmwgKyBibG9ja3BhcmFtcyA/Pz87CgkJCQkvKgoJCQkJalF1ZXJ5LmdldCh1cmwgKyAnJicgKyBBZHZhbmNlZENvbnRlbnQub3B0aW9ucy5tb2R1bGVJZCArICdzaG93dGVtcGxhdGU9ZmFsc2UmJyAgKyBBZHZhbmNlZENvbnRlbnQub3B0aW9ucy5tb2R1bGVJZCArICdkaXNhYmxlX3RoZW1lPTEmJyArIEFkdmFuY2VkQ29udGVudC5vcHRpb25zLm1vZHVsZUlkICsgJ2FqYXg9MScsIGZ1bmN0aW9uKGRhdGEpIHsKCQkJCQkKCQkJCQlpZihBZHZhbmNlZENvbnRlbnQub3B0aW9ucy5kZWJ1ZykgewoJCQkJCQlhbGVydCgnY29udGVudCBsb2FkZWQnKTsKCQkJCQl9CgkJCQkJCgkJCQkJQWR2YW5jZWRDb250ZW50LnRtcC50ZW1wbGF0ZVsnI0FkdmFuY2VkQ29udGVudCddLmNzcygnaGVpZ2h0JyxBZHZhbmNlZENvbnRlbnQudG1wLnRlbXBsYXRlWycjQWR2YW5jZWRDb250ZW50J10uaGVpZ2h0KCkgKyAncHgnKTsKCQkJCQlBZHZhbmNlZENvbnRlbnQudG1wLnRlbXBsYXRlWycjQWR2YW5jZWRDb250ZW50X2NvbnRlbnQnXS5odG1sKGRhdGEpOwoJCQkJCQoJCQkJCWlmKEFkdmFuY2VkQ29udGVudC5vcHRpb25zLmRlYnVnKSB7CgkJCQkJCWFsZXJ0KCdyZXBsYWNlZCBjb250ZW50IHdpdGggbG9hZGVkIGRhdGEnKTsKCQkJCQl9CgkJCQkJCgkJCQkJQWR2YW5jZWRDb250ZW50LnRtcC50ZW1wbGF0ZVsnI0FkdmFuY2VkQ29udGVudF9oZWFkZXInXSAgID0galF1ZXJ5KCIjQWR2YW5jZWRDb250ZW50X2hlYWRlciIpOwoJCQkJCUFkdmFuY2VkQ29udGVudC5hamF4Rm9ybSgpOwoJCQkJCUFkdmFuY2VkQ29udGVudC50bXAudGVtcGxhdGVbJyNBZHZhbmNlZENvbnRlbnRfZmlsZWxpc3QnXSA9IGpRdWVyeSgiI0FkdmFuY2VkQ29udGVudF9maWxlbGlzdCIpOwoJCQkJCWlmKHR5cGVvZiBBZHZhbmNlZENvbnRlbnQudG1wLnRlbXBsYXRlWycjQWR2YW5jZWRDb250ZW50X2ZpbGVsaXN0J10uYXR0cignaWQnKSAhPSAndW5kZWZpbmVkJykgewoJCQkJCQlBZHZhbmNlZENvbnRlbnQudG1wLnRlbXBsYXRlWycjQWR2YW5jZWRDb250ZW50X2ZpbGVvcGVyYXRpb25zJ10gICAgICAgID0galF1ZXJ5KCcjQWR2YW5jZWRDb250ZW50X2ZpbGVvcGVyYXRpb25zJyk7CgkJCQkJCUFkdmFuY2VkQ29udGVudC50bXAudGVtcGxhdGVbJyNBZHZhbmNlZENvbnRlbnRfdG9nZ2xlX2ZpbGVvcGVyYXRpb25zJ10gPSBqUXVlcnkoJyNBZHZhbmNlZENvbnRlbnRfdG9nZ2xlX2ZpbGVvcGVyYXRpb25zJyk7CgkJCQkJCUFkdmFuY2VkQ29udGVudC50bXAudGVtcGxhdGVbJyNBZHZhbmNlZENvbnRlbnRfZmlsZWxpc3QnXS5jc3MoJ21heC1oZWlnaHQnLCcnKS5jc3MoJ29wYWNpdHknLDEpOzsKCQkJCQkJCgkJCQkJCWlmKEFkdmFuY2VkQ29udGVudC5vcHRpb25zLmRlYnVnKSB7CgkJCQkJCQlhbGVydCgnc2V0IG1heC1oZWlnaHQgdG8gIiIgKyBmYWRlZCBpbiBmaWxlbGlzdCcpOwoJCQkJCQl9CgkJCQkJfQoJCQkJCQoJCQkJCWlmKGpRdWVyeSgnI0FkdmFuY2VkQ29udGVudF9jb250ZW50IGltZycpLmxlbmd0aCkgewoJCQkJCQlBZHZhbmNlZENvbnRlbnQudG1wLnRlbXBsYXRlWycjQWR2YW5jZWRDb250ZW50X2NvbnRlbnQnXS5vbkltYWdlc0xvYWQoewoJCQkJCQkJc2VsZWN0b3JDYWxsYmFjazogZnVuY3Rpb24gKGVsbSkgewoJCQkJCQkJCQoJCQkJCQkJCWlmKEFkdmFuY2VkQ29udGVudC5vcHRpb25zLmRlYnVnKSB7CgkJCQkJCQkJCWFsZXJ0KCdpbWFnZXMgbG9hZGVkOyBBZHZhbmNlZENvbnRlbnQudG1wLmhlaWdodDonICsgQWR2YW5jZWRDb250ZW50LnRtcC5oZWlnaHQpOwoJCQkJCQkJCX0KCQkJCQkJCQkKCQkJCQkJCQlBZHZhbmNlZENvbnRlbnQuZ2V0SGVpZ2h0KCk7CgkJCQkJCQkJaWYodHlwZW9mIEFkdmFuY2VkQ29udGVudC50bXAudGVtcGxhdGVbJyNBZHZhbmNlZENvbnRlbnRfZmlsZWxpc3QnXS5hdHRyKCdpZCcpICE9ICd1bmRlZmluZWQnKSB7CgkJCQkJCQkJCUFkdmFuY2VkQ29udGVudC50bXAudGVtcGxhdGVbJyNBZHZhbmNlZENvbnRlbnRfZmlsZWxpc3QnXS5jc3MoJ21heC1oZWlnaHQnLCBBZHZhbmNlZENvbnRlbnQudG1wLmZpbGVMaXN0SGVpZ2h0ICsgJ3B4Jyk7CgkJCQkJCQkJCQoJCQkJCQkJCQlpZihBZHZhbmNlZENvbnRlbnQub3B0aW9ucy5kZWJ1ZykgewoJCQkJCQkJCQkJYWxlcnQoJ3NldCBtYXgtaGVpZ2h0IHRvICcgKyBBZHZhbmNlZENvbnRlbnQudG1wLmZpbGVMaXN0SGVpZ2h0ICsgJzsgQWR2YW5jZWRDb250ZW50LnRtcC5oZWlnaHQ6JyArIEFkdmFuY2VkQ29udGVudC50bXAuaGVpZ2h0KTsKCQkJCQkJCQkJfQoJCQkJCQkJCX0KCQkJCQkJCQlpZihBZHZhbmNlZENvbnRlbnQuaWVWZXJzaW9uKCkgPCA4KSB7CgkJCQkJCQkJCUFkdmFuY2VkQ29udGVudC50bXAudGVtcGxhdGVbJyNBZHZhbmNlZENvbnRlbnQnXS5jc3MoJ2hlaWdodCcsJ2F1dG8nKTsKCQkJCQkJCQl9CgkJCQkJCQkJQWR2YW5jZWRDb250ZW50LnRtcC50ZW1wbGF0ZVsnI0FkdmFuY2VkQ29udGVudCddLmFuaW1hdGUoe2hlaWdodDogQWR2YW5jZWRDb250ZW50LnRtcC5oZWlnaHQgKyAoQWR2YW5jZWRDb250ZW50LnRtcC5oZWlnaHQgIT0gJ2F1dG8nID8gJ3B4JyA6ICcnKX0sIEFkdmFuY2VkQ29udGVudC5vcHRpb25zLmFuaW1hdGVTcGVlZCAsICdzd2luZycsIGZ1bmN0aW9uKCkgewoJCQkJCQkJCQkKCQkJCQkJCQkJaWYoQWR2YW5jZWRDb250ZW50Lm9wdGlvbnMuZGVidWcpIHsKCQkJCQkJCQkJCWFsZXJ0KCdhbmltYXRlZCBoZWlnaHQ7IEFkdmFuY2VkQ29udGVudC50bXAuaGVpZ2h0OicgKyBBZHZhbmNlZENvbnRlbnQudG1wLmhlaWdodCk7CgkJCQkJCQkJCX0KCQkJCQkJCQkJCgkJCQkJCQkJCUFkdmFuY2VkQ29udGVudC50bXAudGVtcGxhdGVbJyNBZHZhbmNlZENvbnRlbnRfY29udGVudCddLmZhZGVUbyhBZHZhbmNlZENvbnRlbnQub3B0aW9ucy5mYWRlU3BlZWQsIDEsIGZ1bmN0aW9uKCkgewoJCQkJCQkJCQkJQWR2YW5jZWRDb250ZW50LnRtcC50ZW1wbGF0ZVsnI0FkdmFuY2VkQ29udGVudF9sb2FkaW5nX2ltZyddLmNzcygnZGlzcGxheScsJ25vbmUnKTsKCQkJCQkJCQkJCQoJCQkJCQkJCQkJaWYoQWR2YW5jZWRDb250ZW50Lm9wdGlvbnMuZGVidWcpIHsKCQkJCQkJCQkJCQlhbGVydCgnZmFkZWQgaW4gY29udGVudCcpOwoJCQkJCQkJCQkJfQoJCQkJCQkJCQkJCgkJCQkJCQkJCX0pOwoJCQkJCQkJCX0pOwoJCQkJCQkJfQoJCQkJCQl9KTsKCQkJCQl9CgkJCQkJZWxzZSB7CgkJCQkJCUFkdmFuY2VkQ29udGVudC5nZXRIZWlnaHQoKTsKCQkJCQkJaWYodHlwZW9mIEFkdmFuY2VkQ29udGVudC50bXAudGVtcGxhdGVbJyNBZHZhbmNlZENvbnRlbnRfZmlsZWxpc3QnXS5hdHRyKCdpZCcpICE9ICd1bmRlZmluZWQnKSB7CgkJCQkJCQlBZHZhbmNlZENvbnRlbnQudG1wLnRlbXBsYXRlWycjQWR2YW5jZWRDb250ZW50X2ZpbGVsaXN0J10uY3NzKCdtYXgtaGVpZ2h0JywgQWR2YW5jZWRDb250ZW50LnRtcC5maWxlTGlzdEhlaWdodCArICdweCcpOwoJCQkJCQkJCgkJCQkJCQlpZihBZHZhbmNlZENvbnRlbnQub3B0aW9ucy5kZWJ1ZykgewoJCQkJCQkJCWFsZXJ0KCdzZXQgbWF4LWhlaWdodCB0byAnICsgQWR2YW5jZWRDb250ZW50LnRtcC5maWxlTGlzdEhlaWdodCk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQkJaWYoQWR2YW5jZWRDb250ZW50LmllVmVyc2lvbigpIDwgOCkgewoJCQkJCQkJQWR2YW5jZWRDb250ZW50LnRtcC50ZW1wbGF0ZVsnI0FkdmFuY2VkQ29udGVudCddLmNzcygnaGVpZ2h0JywnYXV0bycpOwoJCQkJCQl9CgkJCQkJCUFkdmFuY2VkQ29udGVudC50bXAudGVtcGxhdGVbJyNBZHZhbmNlZENvbnRlbnQnXS5hbmltYXRlKHtoZWlnaHQ6IEFkdmFuY2VkQ29udGVudC50bXAuaGVpZ2h0ICsgKEFkdmFuY2VkQ29udGVudC50bXAuaGVpZ2h0ICE9ICdhdXRvJyA/ICdweCcgOiAnJyl9LCBBZHZhbmNlZENvbnRlbnQub3B0aW9ucy5hbmltYXRlU3BlZWQgLCAnc3dpbmcnLCBmdW5jdGlvbigpIHsKCQkJCQkJCQoJCQkJCQkJaWYoQWR2YW5jZWRDb250ZW50Lm9wdGlvbnMuZGVidWcpIHsKCQkJCQkJCQlhbGVydCgnYW5pbWF0ZWQgaGVpZ2h0Jyk7CgkJCQkJCQl9CgkJCQkJCQkKCQkJCQkJCUFkdmFuY2VkQ29udGVudC50bXAudGVtcGxhdGVbJyNBZHZhbmNlZENvbnRlbnRfY29udGVudCddLmZhZGVUbyhBZHZhbmNlZENvbnRlbnQub3B0aW9ucy5mYWRlU3BlZWQsIDEsIGZ1bmN0aW9uKCkgewoJCQkJCQkJCUFkdmFuY2VkQ29udGVudC50bXAudGVtcGxhdGVbJyNBZHZhbmNlZENvbnRlbnRfbG9hZGluZ19pbWcnXS5jc3MoJ2Rpc3BsYXknLCdub25lJyk7CgkJCQkJCQkJCgkJCQkJCQkJaWYoQWR2YW5jZWRDb250ZW50Lm9wdGlvbnMuZGVidWcpIHsKCQkJCQkJCQkJYWxlcnQoJ2ZhZGVkIGluIGNvbnRlbnQnKTsKCQkJCQkJCQl9CgkJCQkJCQkJCgkJCQkJCQl9KTsKCQkJCQkJfSk7CgkJCQkJfQoJCQkJfSk7CgkJCQkqLwoJCQl9KTsKCQl9KTsKCX0sCglnZXRQYW5lbDogZnVuY3Rpb24obXVsdGlDb250ZW50SWQpIHsKCQkKCQl2YXIgYmxvY2tJZCA9IChhcmd1bWVudHNbMV0gPyBhcmd1bWVudHNbMV0gOiAnYmxvY2tfJyArIHRoaXMubXVsdGlDb250ZW50c1ttdWx0aUNvbnRlbnRJZF0uY29udGVudF9ibG9ja3NfY291bnQpOwoJCQoJCWlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdBZHZhbmNlZENvbnRlbnRfY29udGVudCcpID09IG51bGwpIHsKCQkJCgkJCWpRdWVyeSgnYm9keScpLmFwcGVuZCgnPGRpdiBpZD0iQWR2YW5jZWRDb250ZW50X3dyYXBwZXIiPjxkaXYgaWQ9IkFkdmFuY2VkQ29udGVudF9iYWNrZ3JvdW5kIiBvbmNsaWNrPSJBZHZhbmNlZENvbnRlbnQuY2FuY2VsKEFkdmFuY2VkQ29udGVudC5nZXRDdXJyZW50QmxvY2tJZCgpKSI+PC9kaXY+PGRpdiBpZD0iQWR2YW5jZWRDb250ZW50Ij48ZGl2IGlkPSJBZHZhbmNlZENvbnRlbnRfdGl0bGViYXIiPjxzcGFuIGlkPSJBZHZhbmNlZENvbnRlbnRfbG9hZGluZ19pbWdfd3JhcHBlciI+PGltZyBpZD0iQWR2YW5jZWRDb250ZW50X2xvYWRpbmdfaW1nIiBhbHQ9IiIgc3JjPSIuLi9tb2R1bGVzL0FkdmFuY2VkQ29udGVudC9pbWFnZXMvbG9hZGluZy5naWYiIC8+PC9zcGFuPjxoMyBpZD0iQWR2YW5jZWRDb250ZW50X3RpdGxlIj4nICsgQWR2YW5jZWRDb250ZW50Lm9wdGlvbnMudGl0bGUgKyAnPC9oMz48ZGl2IGlkPSJBZHZhbmNlZENvbnRlbnRfbWVudSI+PGEgaWQ9IkFkdmFuY2VkQ29udGVudF9hcHBseSIgdGl0bGU9IicgKyBBZHZhbmNlZENvbnRlbnQub3B0aW9ucy5hcHBseVRleHQgKyAnIiBocmVmPSIjIiBvbmNsaWNrPSJBZHZhbmNlZENvbnRlbnQuYXBwbHkoQWR2YW5jZWRDb250ZW50LmdldEN1cnJlbnRCbG9ja0lkKCkpO3JldHVybiBmYWxzZTsiPicrIEFkdmFuY2VkQ29udGVudC5vcHRpb25zLmFwcGx5VGV4dCArJzwvYT48YSBpZD0iQWR2YW5jZWRDb250ZW50X2NhbmNlbCIgdGl0bGU9IicgKyBBZHZhbmNlZENvbnRlbnQub3B0aW9ucy5jYW5jZWxUZXh0ICsgJyIgaHJlZj0iIyIgb25jbGljaz0iQWR2YW5jZWRDb250ZW50LmNsb3NlKEFkdmFuY2VkQ29udGVudC5nZXRDdXJyZW50QmxvY2tJZCgpKTtyZXR1cm4gZmFsc2U7Ij4nICsgQWR2YW5jZWRDb250ZW50Lm9wdGlvbnMuY2FuY2VsVGV4dCArICc8L2E+PGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2PjwvZGl2PjxkaXYgaWQ9IkFkdmFuY2VkQ29udGVudF9jb250ZW50Ij4nK3RoaXMuZGlzcGxheUNvbnRlbnRCbG9jayhtdWx0aUNvbnRlbnRJZCxibG9ja0lkKSsnPC9kaXY+PC9kaXY+PC9kaXY+Jyk7CgkJCQoJCQlpZih0aGlzLm9wdGlvbnMuZGVidWcpIHsKCQkJCWFsZXJ0KCdhcHBlbmRlZCB3cmFwcGVyIHRvIGJvZHknKTsKCQkJfQoJCQkKCQkJdGhpcy50bXAudGVtcGxhdGVbJyNBZHZhbmNlZENvbnRlbnRfd3JhcHBlciddICAgID0galF1ZXJ5KCcjQWR2YW5jZWRDb250ZW50X3dyYXBwZXInKTsKCQkJdGhpcy50bXAudGVtcGxhdGVbJyNBZHZhbmNlZENvbnRlbnQnXSAgICAgICAgICAgID0galF1ZXJ5KCIjQWR2YW5jZWRDb250ZW50Iik7CgkJCXRoaXMudG1wLnRlbXBsYXRlWycjQWR2YW5jZWRDb250ZW50X2NvbnRlbnQnXSAgICA9IGpRdWVyeSgiI0FkdmFuY2VkQ29udGVudF9jb250ZW50Iik7CgkJCXRoaXMudG1wLnRlbXBsYXRlWycjQWR2YW5jZWRDb250ZW50X3RpdGxlYmFyJ10gICA9IGpRdWVyeSgiI0FkdmFuY2VkQ29udGVudF90aXRsZWJhciIpOwoJCQl0aGlzLnRtcC50ZW1wbGF0ZVsnI0FkdmFuY2VkQ29udGVudF9iYWNrZ3JvdW5kJ10gPSBqUXVlcnkoJyNBZHZhbmNlZENvbnRlbnRfYmFja2dyb3VuZCcpOwoJCX0KCQkKCQl0aGlzLnRtcC50ZW1wbGF0ZVsnI0FkdmFuY2VkQ29udGVudF9sb2FkaW5nX2ltZyddID0galF1ZXJ5KCIjQWR2YW5jZWRDb250ZW50X2xvYWRpbmdfaW1nIik7CgkJLyoKCQlqUXVlcnkod2luZG93KS5yZXNpemUoZnVuY3Rpb24oKSB7CgkJCXRoaXMucmVzaXplKCk7CgkJfSk7CgkJKi8KCQl0aGlzLnRtcC50ZW1wbGF0ZVsnI0FkdmFuY2VkQ29udGVudF93cmFwcGVyJ10uY3NzKCdkaXNwbGF5JywnYmxvY2snKS5jc3MoJ3otaW5kZXgnLDk5OTkpLmNzcygnb3BhY2l0eScsMSk7CgkJaWYodGhpcy5vcHRpb25zLmRyYWdnYWJsZSkgewoJCQl0aGlzLnRtcC50ZW1wbGF0ZVsnI0FkdmFuY2VkQ29udGVudCddLmRyYWdnYWJsZSh7aGFuZGxlOiAnI0FkdmFuY2VkQ29udGVudF90aXRsZWJhcicsIGNvbnRhaW5tZW50OiAicGFyZW50IiwgY3Vyc29yOiAibW92ZSIsIGF4aXM6dGhpcy5vcHRpb25zLmRyYWdBeGlzfSk7CgkJfQoJCWlmKHRoaXMub3B0aW9ucy5yZXNpemFibGUpIHsKCQkJdGhpcy50bXAudGVtcGxhdGVbJyNBZHZhbmNlZENvbnRlbnQnXS5yZXNpemFibGUoe2hhbmRsZXM6IHRoaXMub3B0aW9ucy5yZXNpemFibGVIYW5kbGVzfSk7CgkJfQoJCXJldHVybjsKCX0sCglpZVZlcnNpb246IGZ1bmN0aW9uKCkgewoJCXZhciB2ZXJzaW9uID0gOTk5OwoJCWlmIChuYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNU0lFIikgIT0gLTEpIHsKCQkJdmVyc2lvbiA9IHBhcnNlRmxvYXQobmF2aWdhdG9yLmFwcFZlcnNpb24uc3BsaXQoIk1TSUUiKVsxXSk7CgkJfQoJCXJldHVybiB2ZXJzaW9uOwoJfQp9OwovL11dPgo8L3NjcmlwdD4Key9saXRlcmFsfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/multiInput.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQogICAgICAgICBhIGNvbnRlbnQgbWFuYWdlbWVudCB0b29sIGZvciBDTVMgTWFkZSBTaW1wbGUKICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzIGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIKICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTEgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQogICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKVmVyc2lvbjogMC44LjEKRmlsZSAgIDogbXVsdGlJbnB1dC50cGwKTGljZW5zZTogR1BMCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qfQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHA+Cntmb3JlYWNoIGZyb209JGlucHV0cyBpdGVtPWlucHV0fQoJeyRpbnB1dC5sYWJlbH06Jm5ic3A7eyRpbnB1dC5pbnB1dH0mbmJzcDsKey9mb3JlYWNofQo8L3A+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/multiInputTab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQogICAgICAgICBhIGNvbnRlbnQgbWFuYWdlbWVudCB0b29sIGZvciBDTVMgTWFkZSBTaW1wbGUKICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzIGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIKICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTEgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQogICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKVmVyc2lvbjogMC44LjEKRmlsZSAgIDogbXVsdGlJbnB1dFRhYi50cGwKTGljZW5zZTogR1BMCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qfQoKe2lmIGlzc2V0KCRlcnJvcm1lc3NhZ2UpICYmICRlcnJvcm1lc3NhZ2UhPScnfQo8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8dWwgY2xhc3M9InBhZ2VlcnJvciI+PGxpPnskZXJyb3JtZXNzYWdlfTwvbGk+PC91bD4KCTwvZGl2Pgo8L2Rpdj4Key9pZn0Ke2lmIGlzc2V0KCRtZXNzYWdlKSAmJiAkbWVzc2FnZSE9Jyd9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8ZGl2IGNsYXNzPSJwYWdlbWNvbnRhaW5lciI+CgkJPHA+eyRtZXNzYWdlfTwvcD4KCTwvZGl2Pgo8L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4KCXskYWRkX211bHRpX2lucHV0fQoJPGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj4KPC9kaXY+Cgp7aWYgJG11bHRpX2lucHV0X2FycmF5fEBjb3VudH0KeyRzdGFydF9mb3JtfQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEiPgoJCTx0aGVhZD4KCQkJPHRyPgoJCQkJPHRoPnskaW5wdXRfaWRfdGV4dH08L3RoPgoJCQkJPHRoPnskdGVtcGxhdGVfdGV4dH08L3RoPgoJCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCQk8dGggY2xhc3M9InBhZ2VpY29uIj57JHNlbGVjdGFsbH08L3RoPgoJCQk8L3RyPgoJCTwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCXtmb3JlYWNoIGZyb209JG11bHRpX2lucHV0X2FycmF5IGl0ZW09Im11bHRpX2lucHV0In0KCQkKCQkJPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIifSI+CgkJCQk8dGQ+eyRtdWx0aV9pbnB1dC5uYW1lX2xpbmt9PC90ZD4KCQkJCTx0ZD57JG11bHRpX2lucHV0LnRlbXBsYXRlfTwvdGQ+CgkJCQk8dGQ+eyRtdWx0aV9pbnB1dC5lZGl0X2xpbmt9PC90ZD4KCQkJCTx0ZD57JG11bHRpX2lucHV0LmRlbGV0ZV9saW5rfTwvdGQ+CgkJCQk8dGQ+eyRtdWx0aV9pbnB1dC5jaGVja2JveH08L3RkPgoJCQk8L3RyPgoJCQkKCQl7L2ZvcmVhY2h9CgkJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4KCXskYWRkX211bHRpX2lucHV0fQoJPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMHB0OyBmbG9hdDogcmlnaHQ7IHRleHQtYWxpZ246IHJpZ2h0OyI+CgkJeyRzdWJtaXRfYnVsa2FjdGlvbn0KCTwvZGl2PgoJPGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj4KPC9kaXY+Cgp7JGVuZF9mb3JtfQp7L2lmfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/multiInputTplTab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQogICAgICAgICBhIGNvbnRlbnQgbWFuYWdlbWVudCB0b29sIGZvciBDTVMgTWFkZSBTaW1wbGUKICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzIGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIKICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTEgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQogICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKVmVyc2lvbjogMC44LjEKRmlsZSAgIDogbXVsdGlJbnB1dFRwbFRhYi50cGwKTGljZW5zZTogR1BMCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qfQoKe2lmIGlzc2V0KCRlcnJvcm1lc3NhZ2UpICYmICRlcnJvcm1lc3NhZ2UhPScnfQo8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8dWwgY2xhc3M9InBhZ2VlcnJvciI+PGxpPnskZXJyb3JtZXNzYWdlfTwvbGk+PC91bD4KCTwvZGl2Pgo8L2Rpdj4Key9pZn0Ke2lmIGlzc2V0KCRtZXNzYWdlKSAmJiAkbWVzc2FnZSE9Jyd9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8ZGl2IGNsYXNzPSJwYWdlbWNvbnRhaW5lciI+CgkJPHA+eyRtZXNzYWdlfTwvcD4KCTwvZGl2Pgo8L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4KCXskYWRkX211bHRpX2lucHV0X3RwbH0KCTxkaXYgY2xhc3M9ImNsZWFyYiI+PC9kaXY+CjwvZGl2PgoKe2lmICRtdWx0aV9pbnB1dF90cGxfYXJyYXl8QGNvdW50fQp7JHN0YXJ0X2Zvcm19Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMSI+CgkJPHRoZWFkPgoJCQk8dHI+CgkJCQk8dGg+eyR0ZW1wbGF0ZV9uYW1lX3RleHR9PC90aD4KCQkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJCTx0aCBjbGFzcz0icGFnZWljb24iPnskc2VsZWN0YWxsfTwvdGg+CgkJCTwvdHI+CgkJPC90aGVhZD4KCQk8dGJvZHk+CgkJCQoJCXtmb3JlYWNoIGZyb209JG11bHRpX2lucHV0X3RwbF9hcnJheSBpdGVtPSJtdWx0aV9pbnB1dF90cGwifQoJCQkKCQkJPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIifSI+CgkJCQk8dGQ+eyRtdWx0aV9pbnB1dF90cGwubmFtZV9saW5rfTwvdGQ+CgkJCQk8dGQ+eyRtdWx0aV9pbnB1dF90cGwuc2V0X2RlZmF1bHRfbGlua308L3RkPgoJCQkJPHRkPnskbXVsdGlfaW5wdXRfdHBsLmVkaXRfbGlua308L3RkPgoJCQkJPHRkPnskbXVsdGlfaW5wdXRfdHBsLmRlbGV0ZV9saW5rfTwvdGQ+CgkJCQk8dGQ+eyRtdWx0aV9pbnB1dF90cGwuY2hlY2tib3h9PC90ZD4KCQkJPC90cj4KCQkJCgkJey9mb3JlYWNofQoJCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+Cgl7JGFkZF9tdWx0aV9pbnB1dF90cGx9Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAwcHQ7IGZsb2F0OiByaWdodDsgdGV4dC1hbGlnbjogcmlnaHQ7Ij4KCQl7JHN1Ym1pdF9idWxrYWN0aW9ufQoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2Pgo8L2Rpdj4KCnskZW5kX2Zvcm19CnsvaWZ9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/prefsTab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1vZHVsZSA6IEFkdmFuY2VkQ29udGVudCAoYykgMjAxMC0yMDExIGJ5IEdlb3JnIEJ1c2NoIChnZW9yZy5idXNjaEBnbXgubmV0KQogICAgICAgICBhIGNvbnRlbnQgbWFuYWdlbWVudCB0b29sIGZvciBDTVMgTWFkZSBTaW1wbGUKICAgICAgICAgVGhlIHByb2plY3RzIGhvbWVwYWdlIGlzIGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY29udGVudDIKICAgICAgICAgQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA0LTIwMTEgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQogICAgICAgICBUaGUgcHJvamVjdHMgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKVmVyc2lvbjogMC44LjEKRmlsZSAgIDogcHJlZnNUYWIudHBsCkxpY2Vuc2U6IEdQTAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKn0KCntpZiBpc3NldCgkc3dpdGNoX3JlZGlyZWN0X3BhcmFtc190ZXh0KX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IHBhZ2VlcnJvcmNvbnRhaW5lciI+CnsqIC9pZiAqfQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN3aXRjaF9wYXJhbXMxX2lucHV0fTxiciAvPjwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN3aXRjaF9wYXJhbXMyX2lucHV0fTxiciAvPjwvcD4KCTwvZGl2Pgp7KiBpZiBpc3NldCgkc3dpdGNoX3JlZGlyZWN0X3BhcmFtc190ZXh0KSAqfQo8L2Rpdj4Key9pZn0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbXBvcnRjb250ZW50X2lucHV0fTxiciAvPjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW1wb3J0Y29udGVudDJfaW5wdXR9PGJyIC8+PC9wPgo8L2Rpdj4KeyRzdGFydGZvcm19CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskdW5pbnN0YWxsYWN0aW9uX3RleHR9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdW5pbnN0YWxsYWN0aW9uX2lucHV0fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskYmxvY2tfZGlzcGxheV9zZXR0aW5nc190ZXh0fTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGJsb2NrX2Rpc3BsYXlfc2V0dGluZ3NfaW5wdXR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRjb2xsYXBzZV9ibG9ja19kZWZhdWx0X3RleHR9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskY29sbGFwc2VfYmxvY2tfZGVmYXVsdF9pbnB1dH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1lc3NhZ2VfZGlzcGxheV9zZXR0aW5nc190ZXh0fTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1lc3NhZ2VfZGlzcGxheV9zZXR0aW5nc19pbnB1dH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGdyb3VwX2Rpc3BsYXlfc2V0dGluZ3NfdGV4dH06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRncm91cF9kaXNwbGF5X3NldHRpbmdzX2lucHV0fTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskY29sbGFwc2VfZ3JvdXBfZGVmYXVsdF90ZXh0fTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGNvbGxhcHNlX2dyb3VwX2RlZmF1bHRfaW5wdXR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR1c2VfYWR2YW5jZWRfcGFnZW9wdGlvbnNfdGV4dH06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR1c2VfYWR2YW5jZWRfcGFnZW9wdGlvbnNfaW5wdXR9PC9wPgo8L2Rpdj4KPGJyIC8+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyIgaWQ9ImFkdmFuY2VkX2RlZmF1bHRfb3B0aW9ucyIgeyRhZHZhbmNlZF9kZWZhdWx0X29wdGlvbnNfc3R5bGV9PgoJPGZpZWxkc2V0PgoJCTxsZWdlbmQ+eyRjb250ZW50c2V0dGluZ3NfdGV4dH08L2xlZ2VuZD4KCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdXNlX2V4cGlyZV9kYXRlX3RleHR9OjwvcD4KCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR1c2VfZXhwaXJlX2RhdGVfaW5wdXR9PC9wPgoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRzdGFydF9kYXRlX3RleHR9OjwvcD4KCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdGFydF9kYXRlX2lucHV0fTwvcD4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZW5kX2RhdGVfdGV4dH06PC9wPgoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGVuZF9kYXRlX2lucHV0fTwvcD4KCQk8L2Rpdj4KCXtpZiBpc3NldCgkZmV1YWNjZXNzX3RleHQpfQoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmZXVhY2Nlc3NfdGV4dH06PC9wPgoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGZldWFjY2Vzc19pbnB1dH08L3A+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHJlZGlyZWN0cGFnZV90ZXh0fTo8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcmVkaXJlY3RwYWdlX2lucHV0fTwvcD4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZmV1X3BhcmFtc190ZXh0fTo8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQkJeyRpbmhlcml0X3RleHR9IDogeyRpbmhlcml0X2ZldV9wYXJhbXNfaW5wdXR9PGJyIC8+PGJyIC8+CgkJCQl7JGZldV9wYXJhbXNfaW5wdXR9Jm5ic3A7PGVtPihwYXJhbTE9dmFsdWUxIHBhcmFtMj12YWx1ZTIgLi4uKTwvZW0+PGJyIC8+PGJyIC8+CgkJCQl7JGV2YWx1YXRlc21hcnR5X3RleHR9OiZuYnNwO3skZmV1X3BhcmFtc19zbWFydHlfaW5wdXR9CgkJCTwvcD4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8cCBjbGFzcz0icGFnZXRleHQiPnskY3VzdG9tX3BhcmFtc190ZXh0fTo8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQkJeyRpbmhlcml0X3RleHR9IDogeyRpbmhlcml0X2N1c3RvbV9wYXJhbXNfaW5wdXR9PGJyIC8+PGJyIC8+CgkJCQl7JGN1c3RvbV9wYXJhbXNfaW5wdXR9Jm5ic3A7PGVtPihwYXJhbTE9dmFsdWUxIHBhcmFtMj12YWx1ZTIgLi4uKTwvZW0+PGJyIC8+PGJyIC8+CgkJCQl7JGV2YWx1YXRlc21hcnR5X3RleHR9OiZuYnNwO3skY3VzdG9tX3BhcmFtc19zbWFydHlfaW5wdXR9CgkJCTwvcD4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZmV1YWN0aW9uX3RleHR9OjwvcD4KCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRmZXVhY3Rpb25faW5wdXR9PC9wPgoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRoaWRlX21lbnVfaXRlbV90ZXh0fTo8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZV9tZW51X2l0ZW1faW5wdXR9PC9wPgoJCTwvZGl2PgoJey9pZn0KCTwvZmllbGRzZXQ+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdF9wcmVmc308L3A+CjwvZGl2Pgp7JGVuZGZvcm19Cg==]]></data>
	</file>
</module>
