<?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>ToolBox</name>
	<version>1.3.5</version>
  <mincmsversion>1.10</mincmsversion>
	<help><![CDATA[PGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQiPjxmb3JtIGFjdGlvbj0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9jZ2ktYmluL3dlYnNjciIgbWV0aG9kPSJwb3N0Ij48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjbWQiIHZhbHVlPSJfcy14Y2xpY2siPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Imhvc3RlZF9idXR0b25faWQiIHZhbHVlPSJFRDhQWENZODlVNFRHIj48aW5wdXQgdHlwZT0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vV0VCU0NSLTY0MC0yMDExMDMwNi0xL2RlX0RFL0RFL2kvYnRuL2J0bl9kb25hdGVfU00uZ2lmIiBib3JkZXI9IjAiIG5hbWU9InN1Ym1pdCIgYWx0PSJKZXR6dCBlaW5mYWNoLCBzY2huZWxsIHVuZCBzaWNoZXIgb25saW5lIGJlemFobGVuIOKAkyBtaXQgUGF5UGFsLiI+PGltZyBhbHQ9IiIgYm9yZGVyPSIwIiBzcmM9Imh0dHBzOi8vd3d3LnBheXBhbG9iamVjdHMuY29tL1dFQlNDUi02NDAtMjAxMTAzMDYtMS9kZV9ERS9pL3Njci9waXhlbC5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjwvZm9ybT48L2Rpdj4KPGRpdiBpZD0icGFnZV90YWJzIj4gICAgIAogIDxkaXYgaWQ9ImdlbmVyYWwiPgogICAgR2VuZXJhbCBJbmZvCiAgPC9kaXY+ICAgICAKICA8ZGl2IGlkPSJyZWRpcmVjdCI+CiAgICBSZWRpcmVjdHMgLyBFcnJvciBUcmFja2luZwogIDwvZGl2PiAKICA8ZGl2IGlkPSJhdXRvbGlnaHRib3giPgogICAgQXV0b0xpZ2h0Qm94ICAKICA8L2Rpdj4gICAKICA8ZGl2IGlkPSJzb2NpYWxzaGFyZXByaXZhY3kiPgogICAgU29jaWFsU2hhcmVQcml2YWN5ICAgCiAgPC9kaXY+ICAgCiAgPGRpdiBpZD0idHdpdHRlcmZlZWQiPgogICAgVHdpdHRlcmZlZWQgICAKICA8L2Rpdj4gICAKICA8ZGl2IGlkPSJ0YWlsIj4KICAgIHRhaWwgIAogIDwvZGl2PiAgICAgICAKICA8ZGl2IGlkPSJzbWFydHl0b29scyI+CiAgICBTbWFydHkgVG9vbHMgICAKICA8L2Rpdj4gICAgIAogIDxkaXYgaWQ9Im1vYmlsZWRldGVjdCI+CiAgTW9iaWxlIERldGVjdAogIDwvZGl2PgogIDxkaXYgaWQ9InBsdWdpbnMiPgogICAgUGx1Z2lucyAgIAogIDwvZGl2PiAgICAgCjwvZGl2PiAgIAo8ZGl2IGNsYXNzPSJjbGVhcmIiPiAgCgo8ZGl2IGlkPSJwYWdlX2NvbnRlbnQiPiAgCiAgPGRpdiBpZD0iZ2VuZXJhbF9jIj4KCgo8aDM+V2hhdCBEb2VzIEl0IERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGEgY29sbGVjdGlvbiBvZiB0b29scyB3aGljaCBtYXkgYmUgdXNlZnVsIGZvciB3ZWJtYXN0ZXJzLiBDdXJyZW50IGZ1bmN0aW9uczo8L3A+Cjx1bD4KCTxsaT4zMDEtUmVkaXJlY3RzIChlLmcuIG9mIGRlbGV0ZWQgcGFnZXMpIGluY2x1c2luZyB0aGUgcG9zc2liaWxpdHkgdG8gc2V0IHJ1bGVzIHVzaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbnMuPC9saT4KCTxsaT40MDQtRXJyb3ItVHJhY2tpbmcgKGFsc28gZm9yIGltYWdlcywgUERGLWZpbGVzLCBldGMuKSAtIGluY2x1c2l2ZSBpZ25vcmUtZmlsdGVyIGFuZCBsaW5raW5nIHRvIHRoZSAzMDEtZnVuY3Rpb25hbGl0eS48L2xpPgoJPGxpPlNvY2lhbFNoYXJlUHJpdmFjeSAtIEZ1bmN0aW9uYWxpdHkgdG8gaW5zZXJ0IDItQ2xpY2sgU29jaWFsLU1lZGlhIEJ1dHRvbnMsIHRvIGhhdmUgYSBiZXR0ZXIgcHJpdmFjeSBmb3IgdGhlIHdlYnNpdGUgdmlzaXRvcnMuPC9saT4KCTxsaT5TbWFydHkgLSBTb21lIGNvbnRlbnQgZnVuY3Rpb25zPC9saT4KCTxsaT5TbWFydHkgLSBTb21lIHBsdWdpbnM8L2xpPgo8L3VsPgoKPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCB0aGUgQ01TIE1hZGUgc2ltcGxlIHdlYnNpdGU6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5kZTwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIENNUyBNYWRlIFNpbXBsZSBGb3J1bTogPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUuZGUvdmlld2ZvcnVtLnBocD9pZD05IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUuZGUvdmlld2ZvcnVtLnBocD9pZD05PC9hPjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBMdWthcyBCbGF0dGVyLCBjYW4gYmUgcmVhY2hlZCB1c2luZyBoaXMgd2Vic2l0ZTogPGEgaHJlZj0iaHR0cDovL3d3dy5ibGF0dGVydGVjaC5jaCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuYmxhdHRlcnRlY2guY2g8L2E+PC9saT4KPGxpPlRoZSBhdXRob3IsIEFuZGkgUGV0em9sZHQsIGNhbiBiZSByZWFjaGVkIHVzaW5nIGhpcyB3ZWJzaXRlOiA8YSBocmVmPSJodHRwOi8vYW5kaW1pbmlzdHJhdG9yLmRlIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2FuZGltaW5pc3RyYXRvci5kZTwvYT48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4KPC91bD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPgo8cD5Db3B5cmlnaHQgwqkgMjAxMSwgTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2ggYW5kIEFuZGkgUGV0em9sZHQgPGFuZGlAcGV0em9sZHQubmV0Pi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgR05VIFB1YmxpYyBMaWNlbnNlLiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPgoKICA8L2Rpdj4KICA8ZGl2IGlkPSJyZWRpcmVjdF9jIj4KCjxoMz5Ib3cgY2FuIEkgdXNlIDMwMS1Gb3J3YXJkaW5nIG9mIHBhZ2VzIG9yIDQwNC1FcnJvci1UcmFja2luZz88L2gzPgo8cD48c3Ryb25nPjEuIENvbmZpZ3VyZSB0aGUgbW9kdWxlPC9zdHJvbmc+PC9wPgo8cD5UaGUgbW9kdWxlIGlzIGFscmVhZHkgYWN0aXZlIHRocm91Z2ggdGhlIENNU21zLWludGVncmF0ZWQgZXZlbnQgbWFuYWdlbWVudC48L3A+CjxwPkJ1dCB5b3UgY2FuIGRlYWN0aXZhdGUgdGhlIG1vZHVsZSBjYWxsaW5nIHRocm91Z2ggZXZlbnQgbWFuYWdlbWVudCBpbiB0aGUgc2V0dGluZ3Mgb2YgdGhlIG1vZHVsZS4gSWYgeW91IHVzZSB0aGlzIG9wdGlvbiwgeW91IG5lZWQgdG8gaW5jbHVkZSB0aGUgbW9kdWxlIGNhbGxpbmcgYXQgdGhlIGJlZ2lubmluZyBvZiB5b3VyIHBhZ2UtdGVtcGxhdGUocyk6PGJyIC8+PGNvZGU+e2Ntc19tb2R1bGUgbW9kdWxlPSdUb29sQm94J308L2NvZGU+PGJyIC8+ClRoZSBiZXN0IHBsYWNlIHRvIGluY2x1ZGUgaXQgaXMgcmlnaHQgYWZ0ZXIge3Byb2Nlc3NfcGFnZWRhdGF9LjwvcD4KPHA+Tm93IHlvdSBjYW4gYWN0aXZhdGUgdGhlIGZ1bmN0aW9ucyB5b3Ugd2FudCB0byB1c2Ugd2l0aGluIHRoZSBtb2R1bGUgc2V0dGluZ3MuPC9wPgo8cD48c3Ryb25nPjIuIENvbmZpZ3VyZSB0aGUgZGlmZmVyZW50IFRvb2xCb3ggZnVuY3Rpb25zPC9zdHJvbmc+PC9wPgo8cD5VcCB0byBub3csIHRoZSBtb2R1bGUgaXNuJ3QgZG9pbmcgYW55dGhpbmcuIFlvdSBuZWVkIHRvIGNvbmZpZ3VyZSB0aGUgc2V0dGluZ3MvcnVsZXMgb2YgdGhlIGRpZmZlcmVudCBUb29sQm94IGZ1bmN0aW9ucy48L3A+CgoKPC9kaXY+CjxkaXYgaWQ9ImF1dG9saWdodGJveF9jIj4KCTxoMz5XaWUgYmVudXR6ZSBpY2ggQXV0b0xpZ2h0Qm94PzwvaDM+Cgk8cD5BdXRvbGlnaHRib3ggaXN0IGRpZSBlaW5mYWNoc3RlIE3DtmdsaWNoa2VpdCBlaW5lIExpZ2h0Ym94IGVpbmVzIEJpbGRlciB6dSBlcnpldWdlbi4gRGFzIEdydW5kcHJpbnppcCBmdW5rdGlvbmllcnQgc286PC9wPgoJPHA+QmVpbSBTcGVpY2hlcm4gZWluZXIgU2VpdGUsIGVpbmVzIEJsb2ctIG9kZXIgZWluZXMgTmV3c2VpbnRyYWdzIHdpcmQgZGVyIEluaGFsdCBuYWNoIEJpbGRlcm4gZHVyY2hzdWNodC4gRGFiZWkgdmVyZ2xlaWNodCBkYXMgU2NyaXB0IG9iIGRhcyBCaWxkIG1pdCBkZXIga29ycmVrdGVuIEdyw7Zzc2Ugb2RlciB2ZXJrbGVpbmVydCBlaW5nZWJ1bmRlbiBpc3QuIElzdCBkYXMgQmlsZCB2ZXJrbGVpbmVydCBlaW5nZWJ1bmRlbiwgd2lyZCBlaW4gVGh1bWJuYWlsIGdlbmVyaWVydCB1bmQgZGllIEJpbGQtVVJMIGF1ZiBkYXMgVGh1bWJuYWlsIGFuZ2VwYXNzdC4gWnVzw6R0emxpY2ggd2lyZCB1bSBkYXMgQmlsZCBlaW5lbiBMaW5rIGF1ZiBkYXMgT3JpZ2luYWxiaWxkIGVyc3RlbGx0LjwvcD4KCQoJPHA+PGI+V2llIG11c3MgaWNoIGVpbiBCaWxkIGluIGRlbiBUZXh0IGVpbmbDvGdlbiBkYW1pdCBBdXRvTGlnaHRCb3ggYWt0aXYgd2lyZD88L2I+PC9wPgoJPHA+SWRlYWwgd2lyZCBlaW4gQmlsZCB3ZWxjaGVzIGF1ZiBkZXIgV2Vic2VpdGUgZWluZ2Vmw7xndCB3aXJkIGF1ZiBlaW5lIHNpbm52b2xsZSBHcsO2c3NlIHZlcmtsZWluZXJ0LiBPcHRpbWFsIGlzdCBlaW4gV2VydCB6d2lzY2hlbiA2MDAgLSAxMDAwIFBpeGVsIGF1ZiBkZXIgbMOkbmdlcmVuIEthbnRlLiBEYW5hY2gga2FubiBkaWVzZXMgQmlsZCBtaXR0ZWxzIE1pY3JvVGlueSAvIFRpbnlNQ0UgaW4gZGVuIFRleHQgZWluZ2Vmw7xndCB3ZXJkZW4uIE1pdHRlbHMgVmVyw6RuZGVydW5nIGRlciBHcsO2c3NlIGRhcyBCaWxkIGF1ZiBkaWUgb3B0aW1hbGUgR3LDtnNzZSB2ZXJrbGVpbmVybi48L3A+Cgk8cD5CZWltIHNwZWljaGVybiBlcmtlbm50IG51biBBdXRvTGlnaHRCb3gsIGRhc3MgZWluIEJpbGQgdmVya2xlaW5lcnQgZWluZ2Vmw7xndCB3dXJkZSB1bmQgZXJzZXR6dCBkaWVzZXMgQmlsZCBtaXQgZWluZW0gVGh1bWJuYWlsIHVuZCBlcnN0ZWxsdCBlaW5lbiBMaW5rIGF1ZiBkYXMgT3JpZ2luYWxiaWxkLjwvcD4gCgkKCTxwPjxiPkZ1bmt0aW9uYWxpdMOkdDwvYj48L3A+Cgk8dWw+CgkJPGxpPkF1dG9MaWdodEJveCBtb2RpZml6aWVydCBJbmhhbHRlIChpbiBqZWRlbSBJbmhhbHRzYmxvY2spLCBOZXdzZWludHLDpGdlIHVuZCBDR0Jsb2cgSW5oYWx0ZTwvbGk+CgkJPGxpPkVudGRlY2t0IEF1dG9MaWdodEJveCBkaWUgR3LDtnNzZW7DpG5kZXJ1bmcgZWluZXMgYmVzdGVoZW5kZW4gQmlsZGVzLCBzbyB3aXJkIGRhcyBUaHVtYm5haWwgYXV0b21hdGlzY2ggaW4gZGVyIG5ldWVuIHJpY2h0aWdlbiBHcsO2c3NlIGVpbmdlYnVuZGVuLjwvbGk+CgkJPGxpPkVzIGthbm4gZWluIHJlbD0gb2RlciBlaW4gY2xhc3M9IEF0dHJpYnV0ZSBkZWZpbmllcnQgd2VyZGVuPC9saT4KCQk8bGk+T3B0aW9uYWwga2FubiBkYXMgSmF2YVNjcmlwdCBkZXIgTGlnaHRib3ggZGlyZWt0IGltIE1vZHVsIGdlbnV0enQgd2VyZGVuPC9saT4KCQk8bGk+QXV0b21hdGlzY2hlIEVpbmJpbmR1bmcgZGVzIFN0eWxlc2hlZXRzIHVuZCBkZXMgSmF2YVNjcmlwdHMgZGVyIExpZ2h0Ym94IGlucyBUZW1wbGF0ZTwvbGk+Cgk8L3VsPgkKICA8L2Rpdj4KICA8ZGl2IGlkPSJzb2NpYWxzaGFyZXByaXZhY3lfYyI+CiAgPGgzPkhvdyBjYW4gSSB1c2UgdGhlIFNvY2lhbFNoYXJlUHJpdmFjeSBCdXR0b25zPC9oMz4KICA8cD5Tb2NpYWxTaGFyZVByaXZhY3kgaXMgYSBmcm9tIGhlaXNlLmRlIHBvc3RlZCBQbHVnaW4gd2hpY2ggZ2l2ZXMgbW9yZSBwcml2YWN5IGZvciBTb2NpYWxtZWRpYSBCdXR0b25zLiBUaGUgUGx1Z2luIG1lcmdlcyB0aGUgU29jaWFsbWVkaWEgYnV0dG9ucyBvZiBGYWNlYm9vaywgVHdpdHRlciBhbmQgR29vZ2xlKyBvbmx5IG9uIHRoZSBleHByZXNzIGRlc2lyZSBvZiB0aGUgdXNlcnMuPGJyIC8+CgkgQSBmdXJ0aGVyIGFkdmFudGFnZSBvZiB0aGlzIG1ldGhvZCBpcyB0aGF0IHRoZSBsb2FkIHNwZWVkIG9mIGEgc2lkZSBkb2VzIG5vdCBzdWZmZXIgZnJvbSB0aGUgU29jaWFsbWVkaWEgYnV0dG9uLCBiZWNhdXNlIGR1cmluZyB0aGUgZmlyc3QgbG9hZGluZyBwcm9jZWR1cmUgYWxsIGRhdGEgYXJlIGxvYWRlZCBkaXJlY3RseSBmcm9tIHRoZSBvd24gc2VydmVyLjwvcD4KCSAKCSA8cD5JbiBvcmRlciB0byB1c2UgU29jaWFsU2hhcmVQcml2YXksIHRoZSBleHRlbnNpb24gdW5kZXIg4oCcc2V0dGluZ3PigJ0gbXVzdCBiZSBhY3RpdmF0ZWQuIHN1YnNlcXVlbnRseSDigJxTb2NpYWxTaGFyZVByaXZheeKAnSBpbmRpdmlkdWFsIGFkanVzdG1lbnRzIGNhbiBiZSBtYWRlIGluIHRoZSByZWdpc3Rlci4gVGhvc2Ugb2YgYnV0dG9uIGFyZSBpbnNlcnRlZCBhcyBmb2xsb3dzOjwvcD4KCSA8Y29kZT57VG9vbEJveCBtb2Q9InNvY2lhbHNoYXJlcHJpdmFjeSJ9PC9jb2RlPgoJIAoJIDxwPkluIHRoZSBzZXR0aW5ncyBpdCBjYW4gYmUgZGVmaW5lZCBpZiBqUXVlcnkgc2hvdWxkIGJlIGxvYWRlZCBvciBub3QuIFRoYXQgaXMgaW1wb3J0YW50LCBiZWNhdXNlIGl0IGRlcGVuZHMgaW4gd2hpY2ggaG9tZXBhZ2UgalF1ZXJ5IGFscmVhZHkgaXMgbWVyZ2VkLiAgIEluIHRoaXMgY2FzZSwgalF1ZXJ5IGhhcyBub3QgdG8gYmUgbG9hZGVkIGFnYWluLiA8L3A+CiAgPC9kaXY+CiAgPGRpdiBpZD0idHdpdHRlcmZlZWRfYyI+CgkgIDxpbWcgc3JjPSIuLi9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL2hlbHAvdHdpdHRlcmZlZWQucG5nIiB3aWR0aD0iMzUzIiBoZWlnaHQ9IjQ1NCIgYWx0PSJUd2l0dGVyZmVlZCIgc3R5bGU9ImZsb2F0OiByaWdodCIgLz4KCSAgPGgzPldpZSBiZW51dHplIGljaCBUd2l0dGVyZmVlZDwvaDM+CgkgIDxwPlR3aXR0ZXJmZWVkIHdpciB3aWUgZm9sZ3QgZWluZ2VidW5kZW46PC9wPgoJICA8Y29kZT4KCQkmIzEyMztUb29sQm94IG1vZD0ndHdpdHRlcmZlZWQnIHVzZXJuYW1lPSdsdWthc2JsYXR0ZXInIGNvdW50PTUgdGVtcGxhdGU9J3R3aXR0ZXJmZWVkJyBkYXRlZm9ybWF0PSdmcmllbmRseScgY2FjaGV0aW1lPTEwICYjMTI1OzxiciAvPgoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgdXNlcm5hbWU9J2x1a2FzYmxhdHRlcicgY291bnQ9NSB0ZW1wbGF0ZT0ndHdpdHRlcmZlZWQnIGRhdGVmb3JtYXQ9J2QubS5ZIEg6aScgJiMxMjU7PGJyIC8+CgkJJiMxMjM7VG9vbEJveCBtb2Q9J3R3aXR0ZXJmZWVkJyB1c2VybmFtZT0nbHVrYXNibGF0dGVyJyBsaXN0PSd3ZWJkZXNpZ24nIGNvdW50PTUgJiMxMjU7PGJyIC8+CgkJJiMxMjM7VG9vbEJveCBtb2Q9J3R3aXR0ZXJmZWVkJyBzZWFyY2g9JyNjbXNtcycgY291bnQ9MTAgJiMxMjU7CgkgIDwvY29kZT4KCSAgCgkgIDxwPkZvbGdlbmRlIFBhcmFtZXRlciBrw7ZubmVuIGdld8OkaGx0IHdlcmRlbjo8L3A+CgkgIDx1bD4KCSAgCTxsaT51c2VybmFtZSAtIFR3aXR0ZXItVXNlcm5hbWUgKHdpcmQgZGVyIFBhcmFtZXRlciBzZWFyY2ggdmVyd2VuZGV0LCBzbyBtdXNzIGtlaW4gdXNlcm5hbWUgYW5nZWdlYmVuIHdlcmRlbik8L2xpPgoJICAJPGxpPnRlbXBsYXRlIChvcHRpb25hbCkgLSBOYW1lIGRlcyBUZW1wbGF0ZSBkYXMgZ2VudXR6dCB3ZXJkZW4gc29sbC4gT2huZSBkaWVzZSBEZWZpbml0aW9uIHdpcmQgZGFzIFN0YW5kYXJkdGVtcGxhdGUgZ2VsYWRlbjwvbGk+CgkgIAk8bGk+bGlzdCAob3B0aW9uYWwpIC0gTmFtZSBlaW5lciBMaXN0ZSBkZXMgQmVudXR6ZXJzLiBJc3QgZGllc2VyIFBhcmFtZXRlciBhbmdlZ2ViZW4sIHdpcmQgZGllIFRpbWVsaW5lIGRlciBnZXfDpGhsdGVuIExpc3RlIGFuZ3plaWd0PC9saT4KCSAgCTxsaT5zZWFyY2ggKG9wdGlvbmFsKSAtIFN1Y2hiZWdyaWZmIG5hY2ggZGVtIGRpZSBUd2l0dGVyYXBpIGFiZ2VmcmFndCB3aXJkIChvaG5lIEJlbnV0emVybmFtZSk8L2xpPgoJICAJPGxpPmRhdGVmb3JtYXQgKG9wdGlvbmFsKSAKCSAgCQk8dWw+CgkgIAkJCTxsaT5mcmllbmRseSA9IFN0YW5kYXJkLVR3aXR0ZXJmb3JtYXQgaW4gZGVyIEFydCA8ZW0+MyBkYXlzIGFnbzwvZW0+PC9saT4KCSAgCQkJPGxpPmQubS5ZIEg6bTpzIC0gRGF0ZXRpbWUgRm9ybWF0aWVydW5nIG5hY2ggPGEgaHJlZj0iaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9kYXRldGltZS5jcmVhdGVmcm9tZm9ybWF0LnBocCI+RGVmaW5pdGlvbiBwaHAubmV0PC9hPjwvbGk+CgkgIAkJPC91bD4KCSAgCTwvbGk+CgkgIAk8bGk+Y2FjaGV0aW1lIChvcHRpb25hbCkgLSBaZWl0IGluIE1pbnV0ZW4gaW4gd2VsY2hlciBkZXIgVHdpdHRlcmZlZWQgaW0gQ2FjaGUgYWJnZWxlZ3QgYmxlaWJ0LiBTdGFuZGFyZCAxMCBNaW51dGVuLCBtaW5pbWFsIDEgTWludXRlPC9saT4KCSAgPC91bD4KCSAgCQoJICA8cD5JbSBUZW1wbGF0ZSBzdGVoZW4gZm9sZ2VuZGUgVmFyaWFibGVuIHp1ciBWZXJmw7xndW5nOjwvcD4KCSAgPGNvZGU+CgkJICAmIzAzNjtpdGVtLSZndDt0ZXh0PGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2RhdGU8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7aW1nX3VybDxici8+CgkJICAmIzAzNjtpdGVtLSZndDtpbWdfdXJsX2h0dHBzPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O3NjcmVlbm5hbWU8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7c2NyZWVubmFtZV91cmw8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7YXV0aG9yPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O3NvdXJjZTxici8+CgkJICAmIzAzNjtpdGVtLSZndDtsb2NhdGlvbjxici8+CgkJICAmIzAzNjtpdGVtLSZndDtyZXR3ZWV0X2NvdW50PGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O3JldHdlZXRfc2NyZWVubmFtZTxici8+CgkJICAmIzAzNjtpdGVtLSZndDtyZXR3ZWV0X2F1dGhvcjxici8+CgkJICAmIzAzNjtpdGVtLSZndDtmYXZvcml0ZWQKCSAgPC9jb2RlPgogIDwvZGl2PgogIDxkaXYgaWQ9InRhaWxfYyI+CiAgCTxoMz50YWlsIC0gYSBwaHAvanF1ZXJ5IGJhc2VkIGxvZ2dpbmcgc3lzdGVtPC9oMz4KICAJPHA+dGFpbCBpcyB1bmRlciBMaW51eC9Vbml4IGEgY29uc29sZSBwcm9ncmFtIHdoaWNoIG1vbml0b3JzIGxvZ2ZpbGVzIGxpdmUuIEluIG90aGVyIHdvcmRzLCBpZiBhIGxpbmUgd2FzIGFkZGVkIHRvIHRoZSBsb2dmaWxlLCB0aGF0IHdvdWxkIGJlIGRpc3BsYXllZCBpbW1lZGlhdGVseSB3aXRoIHRhaWwsIElmIHRoZSBsb2dmaWxlCiAgCWlzIG1vbml0b3JlZC4gVGhlIHRhaWwgb2YgZnVuY3Rpb25hbGl0eSBUb29sQm94IHByb3ZpZGVzIGEgc2ltaWxhciBmdW5jdGlvbi4gPC9wPgogIAk8aDM+SG93IGRvZXMgaXQgd29yaz88L2gzPgogIAk8cD5GaXJzdCwgdGhlIGxvZ2ZpbGUgaGFzIHRvIGJlIGZlZCB3aXRoIGRhdGEuIEZvciB0aGlzIHRoZXJlIGFyZSB0d28gcG9zc2liaWxpdGllczo8L3A+CiAgCTxwPjxiPkluc3RhbGxhdGlvbiBpbiBhIG1vZHVsZSwgYSBQbHVnaW4gb3IgYW4gVURUPC9iPjwvcD4KICAJPHA+Rm9yIHRoYXQgdGhlIGZvbGxvd2luZyBjb2RlIG11c3QgYmUgY3JlYXRlZCA6PC9wPgogIAk8Y29kZT4JJiMwMzY7bG9nPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1Rvb2xCb3gnKTs8YnIgLz4KCQkJJiMwMzY7bG9nLT5zZXRMb2dGaWxlKCd0YkxvZycpOyAvLyBPcHRpb25hbC4gSGVyZSB0aGUgbmFtZSBvZiB0aGUgbG9nIGZpbGUgY291bGQgYmUgc2V0PGJyIC8+CgkJCSYjMDM2O2xvZy0+bHdyaXRlKCJIZXJlIHdlIGNhbiB3cml0ZSBzb21ldGhpbmcgaW4gdGhlIGxvZyIpOzxiciAvPgoJPC9jb2RlPgogIAkKCTxwPjxiciAvPkFzIHBhcmFtZXRlciB3ZSBjb3VsZCB1c2Ugbm9ybWFsIHZhcmlhYmxlcywgb2JqZWN0cyBvciBBcnJheXM8L3A+Cgk8cD48Yj5JbnN0YWxsYXRpb24gaW4gYSB0ZW1wbGF0ZTwvYj48L3A+CiAgCTxwPlRoZSBmb2xsb3dpbmcgZGF5IGNhbiBiZSBpbnN0YWxsZWQgaW50byBhIHRlbXBsYXRlOjwvcD4KICAJPGNvZGU+e3RiV3JpdGVMb2cgbG9nPSJ3YXMgZsO8cidzIGxvZyIgbG9nRmlsZT0idGJMb2cifTwvY29kZT4KICAJPHA+PGJyIC8+UGFyYW1ldGVyOjwvcD4KICAJPHVsPgogIAk8bGk+bG9nIC0gVGV4dCB3aGljaCBoYXMgdG8gYmUgd3JpdHRlbiB0byB0aGUgbG9nIGZpbGU8L2xpPgogIAk8bGk+W2xvZ0ZpbGVdIC0gKG9wdGlvbmFsKSBIZXJlLCB5b3UgY291bGQgZGVmaW5lIHRoZSBuYW1lIG9mIHRoZSBsb2dmaWxlPC9saT4KICAJPC91bD4KICAKICAJPGgzPk1vbml0b3JpbmcgdGhlIGxvZyBmaWxlPC9oMz4KICAJPHA+SW4gdGhlIHRhYiAidGFpbCBzaWduIiB0aGUgbG9nIGZpbGUgY2FuIG5vdyBiZSBtb25pdG9yZWQuIFRvIHNlbGVjdCBmcm9tIHRoZSBkcm9wIGRvd24gYm94IHRoZSBkZXNpcmVkIGxvZywgYXMgd2VsbCBhcyB0aGUgbnVtYmVyIG9mIHJvd3MsIHdoaWNoIHNob3VsZCBiZSBkaXNwbGF5ZWQgYWZ0ZXIgbG9hZGluZy4gUGFyYWxlbGwsIAogIAlsb2cgZmlsZXMgY2FuIGJlIG1vbml0b3JlZC48L3A+CiAgCQogIDwvZGl2PgogIDxkaXYgaWQ9InNtYXJ0eXRvb2xzX2MiPgogIAk8aDM+V2hhdCBmZWF0dXJlcyBoYXMgdGhlIFNtYXJ0eS1PYmplY3Q/PC9oMz4KCTxwPlRvb2xCb3ggY29udGFpbnMgaXRzIG93biBTbWFydHkgQ2xhc3MgdG8gZGlzcGxheSBkaWZmZXJlbnQgY29udGVudCBmZWF0dXJlLCBhcyB3ZWxsIGFzIHNvbWUgcGx1Zy1pbnMgd2hpY2ggaXMgZm9yIGV4YW1wbGUgY2FuIGJlIHVzZWQgd2l0aCBBZHZhbmNlZCBDb250ZW50LiA8L3A+Cgk8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+Cgk8cD5XaGVuIHRoaXMgbW9kdWxlIGlzIGluc3RhbGxlZCwgYSBuZXcgc21hcnR5IG9iamVjdCBuYW1lZCBjZ3NpbXBsZSBpcyBhdXRvbWF0aWNhbGx5IGF2YWlsYWJsZSB0byB5b3VyIHBhZ2UgdGVtcGxhdGVzLCBnbG9iYWwgY29udGVudCBibG9ja3MsIGFuZCB2YXJpb3VzIG1vZHVsZSB0ZW1wbGF0ZXMuICBUaGlzIHNtYXJ0eSBvYmplY3QgaGFzIG51bWVyb3VzIGZ1bmN0aW9ucyB0aGF0IHlvdSBjYW4gY2FsbCBhdCBhbnkgdGltZS48L3A+Cgk8aDQ+QXZhaWxhYmxlIEZ1bmN0aW9uczo8L2g0PgoJPHA+Jm5ic3A7PC9wPgoJPHVsPgoJPGxpPjxzdHJvbmc+c2VsZlVybDwvc3Ryb25nPihbJiMwMzY7YXNzaWduXSkKCSAgICA8cD5SZXR1cm4gdGhlIGN1cnJlbnQgVVJMPC9wPgoJICAgIDxwPkFyZ3VtZW50czoKCSAgICAgICA8dWw+CgkgICAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KCSAgICAgIDwvdWw+ICAKCSAgICA8YnIvPjwvcD4KCSAgICA8cD5FeGFtcGxlOjxici8+CgkgICAgPHByZT5UaGUgcGFnZSBVUkwgaXMgJiMxMjM7dGJ0b29sczo6c2VsZlVybCgpJiMxMjU7PC9wcmU+PGJyLz4KICAgIAk8L3A+Cgk8L2xpPgoJCjxsaT48c3Ryb25nPmdldFBhZ2VVcmw8L3N0cm9uZz4oWyYjMDM2O2FsaWFzXSxbJiMwMzY7YXNzaWduXSkKCSAgICA8cD5SZXR1cm4gVVJMIG9mIGEgc3BlY2lmaWVkIHBhZ2U8L3A+CgkJICAgPHA+QXJndW1lbnRzCgkgICAgICAgPHVsPgoJICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyBvciB0aGUgcGFnZSBpZCB0byBmaW5kIHRoZSBwYXJlbnQgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgoJICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KCSAgICAgICA8L3VsPiAgCgkgICAgPGJyLz48L3A+CgkgICAgPHA+RXhhbXBsZTo8YnIvPgoJICAgIDxwcmU+VGhlIHBhcmVudCBwYWdlIFVSTCBpcyAmIzEyMzt0YnRvb2xzOjpnZXRQYWdlVXJsKCdob21lJykmIzEyNTs8L3ByZT48YnIvPgogICAgCTwvcD4KPC9saT4KCjxsaT48c3Ryb25nPmlzRGVmYXVsdFBhZ2U8L3N0cm9uZz4oJiMwMzY7YWxpYXMsWyYjMDM2O2Fzc2lnbl0pCiAgICA8cD5DaGVjayBpZiBwYWdlIGlzIGRlZmF1bHQgcGFnZTwvcD4KICAgIDxwPkFyZ3VtZW50ZToKICAgICAgPHVsPgoJICAgPGxpPlsmIzAzNjthbGlhc10gLSAgVGhlIHBhZ2UgYWxpYXMgb3IgdGhlIHBhZ2UgaWQgdG8gZmluZCB0aGUgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgPC91bD4gICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT4mIzEyMztpZiB0YnRvb2xzOjppc0RlZmF1bHRQYWdlKCYjMDM2O3BhZ2VfYWxpYXMpJiMxMjU7SGVsbG8gYW5kIHdlbGNvbWUgdG8gbXkgc2l0ZSYjMTIzO2Vsc2UmIzEyNTthbm90aGVyIHBhZ2UmIzEyMzsvaWYmIzEyNTs8L3ByZT4KICAgIDwvcD4KPC9saT4KCQoKPGxpPjxzdHJvbmc+Z2V0UGFyZW50QWxpYXM8L3N0cm9uZz4oWyYjMDM2O2FsaWFzXSxbJiMwMzY7YXNzaWduXSkKICAgIDxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyBwYXJlbnQuPC9wPgogICAgPHA+QXJndW1lbnRzCiAgICAgICA8dWw+CiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgb3IgdGhlIHBhZ2UgaWQgdG8gZmluZCB0aGUgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgcGFyZW50IHBhZ2UgYWxpYXMgaXMgJiMxMjM7dGJ0b29sczo6Z2V0UGFyZW50QWxpYXMoKSYjMTI1OzwvcHJlPjxici8+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5nZXRMZXZlbEFsaWFzPC9zdHJvbmc+KCYjMDM2O2xldmVsLFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pCiAgICA8cD5TcGVjaWZpZXMgdGhlIGFsaWFzIG9mIHRoZSBwYXJlbnQgc2lkZSBvZiBhIGNlcnRhaW4gYmFjay4gSWYgdGhlIHNwZWNpZmllZCBsZXZlbCBpcyBoaWdoZXIgdGhhbiB0aGF0IG9mIHRoZSBjdXJyZW50IHBhZ2UsIGFuIGVtcHR5IHN0cmluZyB3b3VsZCBiZSByZXR1cm5lZC48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+JiMwMzY7bGV2ZWwgICAtIE51bWJlciBvZiBsZXZlbHMgZnJvbSB3aGljaCB0aGUgYWxpYXMgaGFzIHRvIGJlIHJldHVybmVkICgxID0gMS4gTGV2ZWwsIDIgPSAyLiBMZXZlbCwgZXRjLik8L2xpPgogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIHRoZSBwYWdlIGFsaWFzIG9yIElEIG9mIHRoZSBwYWdlLCB0aGUgcGFyZW50IG9mIHRoZSBzcGVjaWZpZWQgbGV2ZWwgd2hpY2ggaGFzIHRvIGJlIGZvdW5kLiBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2Ugd291bGQgYmUgdXNlZC48L2xpPgogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSwgdGhhdCB0aGUgcmVzdWx0IGhhcyB0byBiZSBhc3NpZ25lZC48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPlRoZSBhbGlhcyBvZiB0aGUgcGFyZW50IHNpZGUgb2YgdGhlIHBhZ2Ugb24gbGV2ZWwgMSBpcyAmIzEyMzt0YnRvb2xzOjpnZXRMZXZlbEFsaWFzKDEpJiMxMjU7PC9wcmU+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5nZXRSb290QWxpYXM8L3N0cm9uZz4oWyYjMDM2O2FsaWFzXSxbJiMwMzY7YXNzaWduXSkKCTxwPlJldHVybnMgdGhlIGFsaWFzIG9mIHRoZSBzcGVjaWZpZWQgcGFnZXMgcm9vdCBwYXJlbnQuIFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZXJlIGlzIG5vIHJvb3QgcGFyZW50LjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyBvciB0aGUgcGFnZSBpZCB0byBmaW5kIHRoZSByb290IHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPlRoZSByb290IHBhcmVudCBwYWdlIGFsaWFzIGlzICYjMTIzO3RidG9vbHM6OmdldFJvb3RBbGlhcygpJiMxMjU7PC9wcmU+PGJyLz4KICAgIDwvcD4gICAgCjwvbGk+Cgo8bGk+PHN0cm9uZz5nZXRQYWdlVGl0bGU8L3N0cm9uZz4oWyYjMDM2O2FsaWFzXSxbJiMwMzY7YXNzaWduXSkKCTxwPlJldHVybnMgdGhlIHRpdGxlIG9mIHRoZSBzcGVjaWZpZWQgcGFnZS48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgb3IgdGhlIHBhZ2UgaWQgdG8gZmluZCB0aGUgdGl0bGUgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlIHRpdGxlIG9mIHRoZSBjdXJyZW50IHBhZ2UgaXMgJiMxMjM7dGJ0b29sczo6Z2V0UGFnZVRpdGxlKCkmIzEyNTs8L3ByZT48YnIvPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0UGFnZU1lbnV0ZXh0PC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pCgk8cD5SZXR1cm5zIHRoZSBtZW51dGV4dCBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIG9yIHRoZSBwYWdlIGlkIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPlRoZSBtZW51dGV4dCBvZiB0aGUgY3VycmVudCBwYWdlIGlzICYjMTIzO3RidG9vbHM6OmdldFBhZ2VNZW51dGV4dCgpJiMxMjU7PC9wcmU+PGJyLz4KICAgIDwvcD4gICAgCjwvbGk+Cgo8bGk+PHN0cm9uZz5oYXNDaGlsZHJlbjwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQoJPHA+VGVzdCBpZiB0aGUgc3BlY2lmaWVkIHBhZ2UgaGFzIGNoaWxkcmVuLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyBvciB0aGUgcGFnZSBpZCB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT4mIzEyMzt0YnRvb2xzOjpoYXNDaGlsZHJlbigiIiwiaGFzQ2hpbGRyZW4iKSYjMTI1OwogICAgJiMxMjM7aWYgJiMwMzY7aGFzQ2hpbGRyZW4mIzEyNTtUaGUgY3VycmVudCBwYWdlIGhhcyBjaGlsZHJlbiYjMTIzO2Vsc2UmIzEyNTtUaGUgY3VycmVudCBwYWdlIGhhcyBubyBjaGlsZHJlbiYjMTIzOy9pZiYjMTI1OzwvcHJlPjxici8+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5nZXRGaXJzdENoaWxkQWxpYXM8L3N0cm9uZz4oWyYjMDM2O2FsaWFzXSxbJiMwMzY7YXNzaWduXSxbJiMwMzY7b25seUluTWVudV0gPSB0cnVlKQogICAgPHA+UmV0dXJuIHRoZSBhbGlhcyBvZiB0aGUgZmlyc3QgY2hpbGQgcGFnZS48L3A+CiAgICA8cD5Bcmd1bWVudGU6CiAgICAgICA8dWw+CiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgb3IgdGhlIHBhZ2UgaWQgdG8gdGVzdC4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O29ubHlJbk1lbnVdIC0gKG9wdGlvbmFsKSBvbmx5IGFjdGl2ZSBwYWdlcyBpbiBtZW51LjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+JiMxMjM7dGJ0b29sczo6Z2V0Rmlyc3RDaGlsZEFsaWFzKCIiLCJmaXJzdENoaWxkQWxpYXMiKSYjMTI1OwogICAgCVRoZSBhbGlhcyBvZiB0aGUgZmlyc3QgY2hpbGQgcGFnZSBpcyB7JiMwMzY7Zmlyc3RDaGlsZEFsaWFzfTwvcHJlPgogICAgPC9wPgo8L2xpPgoKCjxsaT48c3Ryb25nPmdldENoaWxkcmVuPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O3Nob3dpbmFjdGl2ZV0sWyYjMDM2O2Fzc2lnbl0pCgk8cD5SZXR1cm4gYW4gYXJyYXkgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCBhIHBhZ2VzIGNoaWxkcmVuIChpZiBhbnkpPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIG9yIHRoZSBwYWdlIGlkIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgogICAgICAgPGxpPlsmIzAzNjtzaG93aW5hY3RpdmVdIC0gKG9wdGlvbmFsKSBXZXRoZXIgaW5hY3RpdmUgcGFnZXMgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQgKGRlZmF1bHRzIHRvIGZhbHNlKS48L2xpPgogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5GaWVsZHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+YWxpYXMgLSB0aGUgcGFnZSBhbGlhcyBvZiB0aGUgY2hpbGQ8L2xpPgogICAgICAgPGxpPmlkIC0gdGhlIHBhZ2UgaWQgb2YgdGhlIGNoaWxkPC9saT4KICAgICAgIDxsaT50aXRsZSAtIHRoZSB0aXRsZSBwYWdlIG9mIHRoZSBjaGlsZCBwYWdlLjwvbGk+CiAgICAgICA8bGk+bWVudXRleHQgLSB0aGUgbWVudSB0ZXh0IG9mIHRoZSBjaGlsZDwvbGk+CiAgICAgICA8bGk+c2hvd19pbl9tZW51IC0gd2V0aGVyIHRoaXMgY2hpbGQgcGFnZSBpcyB2aXNpYmxlIGluIG1lbnVzLjwvbGk+CiAgICAgICA8bGk+YWN0aXZlIC0gd2V0aGVyIHRoaXMgY2hpbGQgcGFnZSBpcyBhY3RpdmUuPC9saT4KICAgICAgIDxsaT50eXBlIC0gVGhlIHR5cGUgb2YgY2hpbGQgY29udGVudCBvYmplY3QuPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+CiYjMTIzO3RidG9vbHM6OmdldENoaWxkcmVuKCIiLCIiLCJjaGlsZHJlbiIpJiMxMjU7CntpZiBjb3VudCgmIzAzNjtjaGlsZHJlbikmIzEyNTsKICAge2ZvcmVhY2ggZnJvbT0mIzAzNjtjaGlsZHJlbiBpdGVtPSJjaGlsZCJ9CiAgICAgIHtpZiAmIzAzNjtjaGlsZC5zaG93X2luX21lbnV9CiAgICAgICAgQ2hpbGQ6ICBpZCA9ICYjMTIzOyYjMDM2O2NoaWxkLmlkJiMxMjU7IEFsaWFzID0gJiMxMjM7JiMwMzY7Y2hpbGQuYWxpYXMmIzEyNTs8YnIgLz4KICAgICAgey9pZn0KICAgey9mb3JlYWNofQp7L2lmfX0KICAgIDwvcHJlPjxici8+CiAgICA8L3A+ICAgCjwvbGk+Cgo8bGk+PHN0cm9uZz5nZXRQYWdlQ29udGVudDwvc3Ryb25nPigmIzAzNjthbGlhcyxbJiMwMzY7YmxvY2tdLFsmIzAzNjthc3NpZ25dKQoJPHA+UmV0dXJucyB0aGUgdGV4dCBvZiBhIHNwZWNpZmljIGNvbnRlbnQgYmxvY2sgb2YgYW5vdGhlciBwYWdlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT4mIzAzNjthbGlhcyAtIFRoZSBwYWdlIGFsaWFzIG9yIHRoZSBwYWdlIGlkIHRvIGV4dHJhY3QgY29udGVudCBmcm9tLjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Jsb2NrXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIGNvbnRlbnQgYmxvY2sgaW4gdGhlIHNwZWNpZmllZCBwYWdlLiAgSWYgdGhpcyB2YXJpYWJsZSBpcyBub3Qgc3BlY2lmaWVkIHRoZSB2YWx1ZSBvZiB0aGUgZGVmYXVsdCBjb250ZW50IGJsb2NrIDxlbT4oY29udGVudF9lbik8L2VtPiBpcyBhc3N1bWVkLjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbiAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgJ3NlY29uZCcgYmxvY2sgb2YgdGhlICdhYm91dCcgcGFnZSBpcyAmIzEyMzt0YnRvb2xzOjpnZXRQYWdlQ29udGVudCgnYWJvdXQnLCdzZWNvbmQnLCdmb28nKSYjMTI1OyYjMTIzO2V2YWwgdmFyPSRmb28mIzEyNTs8L3ByZT48YnIvPgogICAgPC9wPiAgICAKPC9saT4KCjxsaT48c3Ryb25nPmhhc0ZldUdyb3VwQWNjZXNzPC9zdHJvbmc+KCYjMDM2O2ZldWdyb3VwcyxbJiMwMzY7YXNzaWduXSkKICAgIDxwPkdpdmVzIGEgdHJ1ZS9mYWxzZSBiYWNrLCBpZiB0aGUgbG9nZ2VkIEZyb250RW5kVXNlciBpcyBhc3NpZ25lZCB0byBvbmUgb2YgdGhlIHNwZWNpZmllZCB1c2VyIGdyb3VwczwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT4mIzAzNjtmZXVncm91cHMgLSBJRHMgb2YgdGhlIHVzZXIgZ3JvdXBzLiBTZXJ2YWwgdXNlciBncm91cHMgc2hvdWxkIGJlIHNlcGFyYXRlZCB3aXRoIGEgY29tbWEuIEZvciBleGFtcGxlOiAxLDIsNDwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+JiMxMjM7aWYgdGJ0b29sczo6aGFzRmV1R3JvdXBBY2Nlc3MoIjEsMiwzKSYjMTI1O1VzZXIgaGFzIHBlcm1pc3Npb24mIzEyMztlbHNlJiMxMjU7VGhlIHVzZXIgaGFzIG5vIHBlcm1pc3Npb24mIzEyMzsvaWYmIzEyNTs8L3ByZT4KICAgIDwvcD4KPC9saT4KPGxpPjxzdHJvbmc+aXNMb2dnZWRJbjwvc3Ryb25nPihbJiMwMzY7YXNzaWduXSkKICAgIDxwPlJldHVybnMgdGhlIHVzZXIgSUQgb2YgdGhlIGxvZ2dlZCBpbiBmcm9udC1lbmQgdXNlcjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT4mIzEyMztpZiB0YnRvb2xzOjppc0xvZ2dlZEluKCkmIzEyNTtVc2VyIGlzIGxvZ2dlZCBpbiYjMTIzO2Vsc2UmIzEyNTtUaGVyZSBpcyBubyB1c2VyIGxvZ2dlZCBpbiYjMTIzOy9pZiYjMTI1OzwvcHJlPgogICAgPC9wPgo8L2xpPgo8bGk+PHN0cm9uZz5nZXRTaWJsaW5nPC9zdHJvbmc+KCYjMDM2O2RpcmVjdGlvbixbJiMwMzY7YXNzaWduXSxbJiMwMzY7YWxpYXNdKQoJPHA+UmV0dXJucyB0aGUgYWxpYXMgb2YgdGhlIG5leHQgb3IgcHJldmlvdXMgc2libGluZyB0byB0aGUgc3BlY2lmaWVkCiAgICAgICBwYWdlLiBvciBmYWxzZS48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+JiMwMzY7ZGlyZWN0aW9uIC0gdGhlIGRpcmVjdGlvbiB0byBsb29rIGluLiAgcG9zc2libGUgdmFsdWVzIGFyZSBwcmV2LHByZXZpb3VzLC0xLG5leHQsMTwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyB0byBmaW5kIHRoZSBzaWJsaW5nIGZvci4gIElmIHRoaXMgaXMgbm90IHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICA8YnIvPjwvcD4KICAgICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgICAgIDxwcmU+TGluayB0byBwcmV2aW91cyBzaWJsaW5nOiAmIzEyMzt0YnRvb2xzOjpnZXRfc2libGluZygmcXVvdDtwcmV2JnF1b3Q7LCZxdW90O3ByZXZfc2libGluZyZxdW90OykmIzEyNTsmIzEyMztpZiAhZW1wdHkoJiMwMzY7cHJldl9zaWJsaW5nKSYjMTI1OyYjMTIzO2Ntc19zZWxmbGluayBwYWdlPSZxdW90OyYjMDM2O3ByZXZfc2libGluZyZxdW90OyB0ZXh0PSZxdW90O1ByZXZpb3VzJnF1b3Q7JiMxMjU7JiMxMjM7L2lmJiMxMjU7PC9wcmU+PGJyLz4KICAgIDwvbGk+ICAgIAo8bGk+PHN0cm9uZz5nZXRMYXN0TW9kaWZpZWQ8L3N0cm9uZz4oWyYjMDM2O2FsaWFzXSxbJiMwMzY7YXNzaWduXSkKICAgIDxwPkxhc3QgbW9kaWZpZWQgZGF0ZSBhcyB0aW1lc3RhbXA8L3A+CiAgICA8cD5Bcmd1bWVudGU6CiAgICAgICA8dWw+CiAgICAgIAk8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgb3IgdGhlIHBhZ2UgaWQgdG8gdGVzdC4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICAgPGxpPlsmIzAzNjthc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgICAgPHA+RXhhbXBsZTo8YnIgLz4KICAgICAgIDxwcmU+TGFzdCBNb2RpZmllZDogJiMxMjM7dGJ0b29sczo6Z2V0TGFzdE1vZGlmaWVkKCl8ZGF0ZV9mb3JtYXQ6IiVBLCAlZS4gJUIsICVZIiYjMTI1OzwvcHJlPjxici8+CjwvbGk+CjxsaT48c3Ryb25nPmdldEFycmF5QXNUYWJsZTwvc3Ryb25nPigmIzAzNjthcnJheSkKICAgIDxwPlJldHVybnMgYSBtdWx0aWRpbWVuc2lvbmFsIGFycmF5IGFzIGEgdGFibGU8L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+JiMwMzY7YXJyYXkgLSB0aGUgYXJyYXkgd2hpY2ggc2hvdWxkIGJlIGxhdWNoZWQgYXMgYSB0YWJsZS48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPiYjMTIzO3RidG9vbHM6OmdldEFycmF5QXNUYWJsZSgmIzAzNjthcnJheSkmIzEyNTs8L3ByZT4KICAgIDwvcD4KPC9saT4KCgoKCjwvdWw+CjwvZGl2PgoKCjxkaXYgaWQ9Im1vZGlmaWVyX2MiPgoKPGgzPlNtYXJ0eSBNb2RpZmllcnQ8L2gzPgo8dWw+CjxsaT48c3Ryb25nPnRiVHJ1bmNhdGVCZXR0ZXI8L3N0cm9uZz4oJiMwMzY7c3RyaW5nLCAmIzAzNjtsZW5ndGggPSA4MCwgJiMwMzY7ZXRjID0gJy4uLicsICYjMDM2O2xpbmsgPSAnJywgJiMwMzY7bGlua190ZXh0ID0gJycpKQogICAgPHBDdXQgYSBzdHJpbmcgcHJlc2VydmluZyBhbnkgdGFnIG5lc3RpbmcgYW5kIG1hdGNoaW5nLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT4mIzAzNjtzdHJpbmcgLSB0ZXh0LjwvbGk+CiAgICAgICA8bGk+JiMwMzY7bGVuZ2h0IC0gKG9wdGlvbmFsLCA4MCBzdGFuZGFyZCkgbnVtYmVyIG9mIHNpZ24uPC9saT4KICAgICAgIDxsaT4mIzAzNjtldGMgLSAob3B0aW9uYWwsIC4uLiBzdGFuZGFyZCkgbW9yZSB0ZXh0LjwvbGk+CiAgICAgICA8bGk+JiMwMzY7bGluayAtIChvcHRpb25hbCkgTGluayBVUkw8L2xpPgogICAgICAgPGxpPiYjMDM2O2xpbmtfdGV4dCAtIChvcHRpb25hbCkgbGluayB0ZXh0PC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+QmVpc3BpZWw6PGJyLz4KICAgIEJvdGggcGFyYW1ldGVyICYjMDM2O2VudHJ5LT5jb250ZW50IHVuZCAmIzAzNjtlbnRyeS0+bW9yZWxpbmsgYXJlIGV4YW1wbGVzCiAgICA8YnIgLz4KICAgIDxwcmU+JiMxMjM7JiMwMzY7ZW50cnktPmNvbnRlbnR8dGJUcnVuY2F0ZUJldHRlcjoxMDA6JyAuLi4nOiYjMDM2O2VudHJ5LT5tb3JlbGluazonW3JlYWQgbW9yZV0nJiMxMjU7PC9wcmU+CiAgICA8L3A+CjwvbGk+CgoKPC91bD4KCjwvZGl2PgoKPGRpdiBpZD0ibW9iaWxlZGV0ZWN0X2MiPgoKPGgzPk1vYmlsZSBEZXRlY3Q8L2gzPgoKPHA+PGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3BocC1tb2JpbGUtZGV0ZWN0L3dpa2kvTW9iaWxlX0RldGVjdCIgdGFyZ2V0PSJfYmxhbmsiPk1vYmlsZV9EZXRlY3Q8L2E+CiBpcyBhIGxpZ2h0d2VpZ2h0IFBIUCBjbGFzcyBmb3IgZGV0ZWN0aW5nIG1vYmlsZSBkZXZpY2VzLiBJdCB1c2VzIHRoZSBVc2VyLUFnZW50IHN0cmluZyBjb21iaW5lZCB3aXRoIAogc3BlY2lmaWMgSFRUUCBoZWFkZXJzIHRvIGRldGVjdCB0aGUgbW9iaWxlIGVudmlyb25tZW50LiA8L3A+CiAKIDxoND5Vc2FnZTwvaDQ+CiA8cD48aT5DaGVjayBmb3IgYSBzcGVjaWZpYyBwbGF0Zm9ybTo8L3A+CjxwPjxwcmU+CntpZiAmIzAzNjt0Ym1vYmlsZS0+aXNpT1MoKSB9IAogIC8vIGNvZGUgdG8gcnVuIGZvciB0aGUgQXBwbGUgaU9TIHBsYXRmb3JtLiAKey9pZn0gCiA8L3ByZT4gPC9wPgo8cD48cHJlPgp7aWYgJiMwMzY7dGJtb2JpbGUtPmlzQW5kcm9pZE9TKCkgfSAKICAvLyBjb2RlIHRvIHJ1biBmb3IgdGhlIEdvb2dsZSBBbmRyb2lkIHBsYXRmb3JtLiAKey9pZn0KPC9wcmU+PC9wPgoKIDxwPk90aGVyIGNhc2UgaW5zZW5zaXRpdmUgYXZhaWxhYmxlIG1ldGhvZHMgYXJlIGlzSXBob25lKCksIGlzSXBhZCgpLCBpc0JsYWNrQmVycnkoKSwgaXNLaW5kbGUoKSwgaXNPcGVyYSgpLCBldGMuIEZvciB0aGUgZnVsbCBsaXN0IG9mIGF2YWlsYWJsZSBtZXRob2RzIDxhIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9waHAtbW9iaWxlLWRldGVjdC93aWtpL01vYmlsZV9EZXRlY3QiIHRhcmdldD1fYmxhbmsiPmNoZWNrIHRoZSB3aWtpLjwvYT48L3A+Cgo8cD5BbHRlcm5hdGl2ZWx5LCBpZiB5b3UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiBjaGVja2luZyB0byBzZWUgaWYgdGhlIHVzZXIgaXMgdXNpbmcgYSBtb2JpbGUgZGV2aWNlLCB3aXRob3V0IGNhcmluZyBmb3Igc3BlY2lmaWMgcGxhdGZvcm06PC9wPgo8cD48cHJlPgp7aWYgKCYjMDM2O3RibW9iaWxlLT5pc01vYmlsZSgpKX0KICAvLyBhbnkgbW9iaWxlIHBsYXRmb3JtCnsvaWZ9CjwvcHJlPjwvcD4KPHA+PHByZT4Ke2lmKCYjMDM2O3RibW9iaWxlLT5pc1RhYmxldCgpKX0KICAvLyBhbnkgdGFibGV0CnsvaWZ9CjwvcHJlPjwvcD4KCgoJCjwvZGl2PgoKPGRpdiBpZD0icGx1Z2luc19jIj4KCjxoMz5QbHVnaW5zPC9oMz4KPHA+PGI+R2VuZXJhbCBQbHVnaW5zPC9iPjwvcD4KPHA+Jm5ic3A7PC9wPgo8dWw+CgogPGxpPjxzdHJvbmc+e3RiU2Vzc2lvblNldH08L3N0cm9uZz4KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBzdG9yZSBkYXRhIGluIHRoZSB1c2VyIHNlc3Npb24uIFRoaXMgZGF0YSBpcyB0aGVuIGFjY2Vzc2libGUgdmlhIHRoZSAmIzAzNjtzbWFydHkuc2Vzc2lvbiBhcnJheSBpbiBzdWJzZXF1ZW50IHBhZ2VzLjwvcD4KICAgIDxwPkFyZ3VtZW50czo8L3A+CiAgICAgICA8dWw+CiAgICAgICA8bGk+bmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBjcmVhdGUgaW4gdGhlIHNlc3Npb24uPC9saT4KICAgICAgIDxsaT52YWx1ZSAtIFRoZSBkZXNpcmVkIHZhbHVlIG9mIHRoZSB2YXJpYWJsZS48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIgLz4KICAgIDxwcmU+e3RiU2Vzc2lvblNldCBuYW1lPSZxdW90O3Rlc3QmcXVvdDsgdmFsdWU9JnF1b3Q7YmxhaCZxdW90O308L3ByZT48L3A+CiA8L2xpPgoKIDxsaT48c3Ryb25nPiYjMTIzO3RiU2Vzc2lvblVuc2V0JiMxMjU7PC9zdHJvbmc+CiAgICA8cD5BIHNtYXJ0eSBwbHVnaW4gdGhhdCBjYW4gZXJhc2UgZGF0YSBmcm9tIHRoZSB1c2VyIHNlc3Npb24uPC9wPgogICAgPHA+QXJndW1lbnRlOgogICAgICAgPHVsPgogICAgICAgPGxpPm5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8gZXJhc2UgaW4gdGhlIHNlc3Npb24uPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyIC8+CiAgICA8cHJlPiYjMTIzO3RiU2Vzc2lvblVuc2V0IG5hbWU9JnF1b3Q7dGVzdCZxdW90OyYjMTI1OzwvcHJlPjwvcD4KIDwvbGk+CiAKIDxsaT48c3Ryb25nPiYjMTIzO3RiVmFyRXhwb3J0JiMxMjU7PC9zdHJvbmc+CiAgICA8cD5XaXRoIHRoaXMgcGx1Z2luIGFuIGFycmF5IGNhbiBiZSBwcmVwYXJlZCBmb3IgZGVidWdnaW5nIHB1cnBvc2VzIGZvciBleHBvcnRzLiBUaGUgZ2VyZXJhdGVkIHRleHQgaXMgc2VyaWFsaXplZCBhbmQgY2FuIGJlIGluc2VydGVkIGluIGEgZGlmZmVyZW50IHBsYWNlIG9mIHRoZSBlbnZpcm9ubWVudCBpbmRlcGVuZGVudGx5LjxiciAvPgogICAgQWR2YW50YWdlIG9mIHRoaXMgbWV0aG9kIGlzLCB0aGF0IGEgcHJvYmxlbSBpbmNsdWRpbmcgdGhlIHVzZWQgZGF0YSAsIGNhbiBiZSByZWNvbnN0cnVjdGVkIGF0IGEgZGlmZmVyZW50IGxvY2F0aW9uLCB3aXRob3V0IHRoZSBlbnRpcmUgZW52aXJvbm1lbnQgbXVzdCBiZSByZWNyZWF0ZWQuPC9wPgogICAgPHA+QXJndW1lbnRlOgogICAgICAgPHVsPgogICAgICAgPGxpPm5hbWUgLSBOYW1lIG9mIHRoZSB2YXJpYWJsZSB0aGF0IHNob3VsZCBiZSBleHBvcnRlZC48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIgLz4KICAgIDxwcmU+JiMxMjM7dGJWYXJFeHBvcnQgbmFtZT0mcXVvdDtpdGVtcyZxdW90OyYjMTI1OzwvcHJlPjwvcD4KIDwvbGk+CiA8L3VsPgogCiA8cD48Yj5Ub29sQm94IGZ1bmN0aW9uYWxpdGllczwvYj48L3A+CiA8cD4mbmJzcDs8L3A+CiA8dWw+CiA8bGk+PHN0cm9uZz4mIzEyMzt0YldyaXRlTG9nJiMxMjU7PC9zdHJvbmc+CiAgICA8cD5XaXRoIHRoaXMgUGx1Z2luIGEgc3RyaW5nLCBhbiBhcnJheSBvciBhbiBvYmplY3QgY2FuIGJlIHdyaXR0ZW4gaW4gdGhlIHRhaWwgbG9nIG9mIHRoZSB0b29sIGJveCBpbiBhIFRlbXBsYXRlIG9yIG9uIGEgc2lkZS4gVGhpcyBQbHVnaW4gaXMgaW50ZXJlc3RpbmcgZm9yIGRlYnVnZ2luZyBvZiBwdXJwb3NlcyBvciB0byBtb25pdG9yIGRpZmZlcmVudCBhY3Rpb25zLiA8L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+bG9nIC0gVGhlIHRleHQgd2hpY2ggc2hvdWxkIGJlIHdyaXR0ZW4gaW4gdGhlIGxvZyBmaWxlIChjb3VsZCBiZSBhIHN0cmluZywgYW4gYXJyYXkgb3IgYW4gb2JqZWN0KS48L2xpPgogICAgICAgPGxpPltsb2dGaWxlXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIGxvZyBmaWxlIHdoaWNoIHRoZSB0ZXh0IHNob3VsZCBiZSB3cml0dGVuLjwvbGk+CiAgICAgICA8L3VsPgogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxiciAvPgogICAgPHByZT4mIzEyMzt0YldyaXRlTG9nIGxvZz0id2hpY2ggZm9yIHRoZSBsb2ciIGxvZ0ZpbGU9InRiTG9nIjsmIzEyNTs8L3ByZT4KICAgIDwvcD4KIDwvbGk+IAogPC91bD4KIAogCiA8cD48Yj5QbHVnaW5zIGZvciBBZHZhbmNlZENvbnRlbnQ8L2I+PC9wPgogPHA+Jm5ic3A7PC9wPgogPHVsPgogCiA8bGk+PHN0cm9uZz4mIzEyMzt0YkdldFBhZ2VIaWVyYXJjaHkmIzEyNTs8L3N0cm9uZz4KICAgIDxwPldpdGggdGhpcyBQbHVnaW4gdGhlIGVudGlyZSBzaWRlIGhpZXJhcmNoeSBjYW4gYmUgcmVwcmVzZW50ZWQuIFRoZSBlbXBsb3ltZW50IG9mIHRoaXMgUGx1Z2luIGlzIHByYWN0aWNhbCBpbiBjb25uZWN0aW9uIHdpdGggQWR2YW5jZWRDb250ZW50LiBTbyB0aGF0IGEgZHJvcCBkb3duIGZpZWxkIGNhbiBiZSByZXByZXNlbnRlZCB3aXRoIGFsbCBQYWdlcyBpbiB0aGUgQWRjYW5jZWQgQ29udGVudCA8L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+W2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8bGk+W2RlbGltaXRlcl0gLSAob3B0aW9uYWwpIFNlcGFyYXRvciBiZXR3ZWVuIHRoZSBlbnRyaWVzLiBTdGFuZGFyZDogfC48L2xpPgogICAgICAgPGxpPltvdXRwdXRdIC0gKG9wdGlvbmFsKSB3aXRoIG91dHB1dD0iaWQiIGFsbCBjb250ZW50IElEcyBpc3N1ZWQuIE90aGVyd2lzZSwgdGhlIG1lbnUgdGV4dCBpcyBkaXNwbGF5ZWQuPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkJlaXNwaWVsOjxiciAvPgogICAgPHByZT4mIzEyMzt0YkdldFBhZ2VIaWVyYXJjaHkgb3V0cHV0PSJpZCI7JiMxMjU7PC9wcmU+PGJyIC8+CiAgICA8cHJlPiYjMTIzO0FkdmFuY2VkQ29udGVudCBsYWJlbD0iU2VpdGUiIGJsb2NrX3R5cGU9ImRyb3Bkb3duIiBub19jb2xsYXBzZT10cnVlIGl0ZW1zPSI6Ojp0YkdldFBhZ2VIaWVyYXJjaHk6OjoiIHZhbHVlcz0iOjo6dGJHZXRQYWdlSGllcmFyY2h5IG91dHB1dD0naWQnOjo6IiBzbWFydHk9dHJ1ZSAmIzEyNTs8L3A+CiA8L2xpPiAKIAogIDxsaT48c3Ryb25nPiYjMTIzO3RiR2V0TmV3c0NhdGVnb3JpZXMmIzEyNTs8L3N0cm9uZz4KICAgIDxwPldpdGggdGhpcyBwbHVnaW4sIGFsbCBuZXdzIGNhdGVnb3JpZXMgYXJlIGlzc3VlZC4gUHJhY3RpY2FsbHksIHRoZSB1c2Ugb2YgdGhpcyBwbHVnaW4gaW4gY29uanVuY3Rpb24gd2l0aCBBZHZhbmNlZCBjb250ZW50LiBUaHVzLCBpbiBhIE11bHRpcGxlIFNlbGVjdCBmaWVsZCB0aGUgZGVzaXJlZCBuZXcgY2F0ZWdvcmllcyBjb3VsZCBiZSBzZWxlY3RlZDwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bYXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDxsaT5bZGVsaW1pdGVyXSAtIChvcHRpb25hbCkgU2VwYXJhdG9yIGJldHdlZW4gdGhlIGVudHJpZXMuIFN0YW5kYXJkOiB8LjwvbGk+CiAgICAgICA8bGk+W291dHB1dF0gLSAob3B0aW9uYWwpIHdpdGggb3V0cHV0PSJpZCIgYWxsIGNvbnRlbnQgSURzIGlzc3VlZC4gT3RoZXJ3aXNlLCB0aGUgbWVudSB0ZXh0IGlzIGRpc3BsYXllZC48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+QmVpc3BpZWw6PGJyIC8+CiAgICA8cHJlPiYjMTIzO3RiR2V0TmV3c0NhdGVnb3JpZXM7JiMxMjU7PC9wcmU+PGJyIC8+CiAgICA8cHJlPiYjMTIzO0FkdmFuY2VkQ29udGVudCBibG9jaz0ibmV3cyIgbGFiZWw9Ik5ld3MgS2F0ZWdvcmllbi4iIGJsb2NrX3R5cGU9InNlbGVjdF9tdWx0aXBsZSIgbm9fY29sbGFwc2U9dHJ1ZSBpdGVtcz0iOjo6dGJHZXROZXdzQ2F0ZWdvcmllczo6OiIgc21hcnR5PXRydWUgJiMxMjU7PC9wPgogPC9saT4gCiAKIDxsaT48c3Ryb25nPiYjMTIzO3RiR2V0VXNlckdyb3VwcyYjMTI1Ozwvc3Ryb25nPgogICAgPHA+V2l0aCB0aGlzIHBsdWdpbiwgYWxsIG5ld3MgY2F0ZWdvcmllcyBjb3VsZCBiZSBpc3N1ZWQuIFByYWN0aWNhbGx5LCB0aGUgdXNlIG9mIHRoaXMgcGx1Z2luIGluIGNvbmp1bmN0aW9uIHdpdGggQWR2YW5jZWQgY29udGVudC4gVGh1cywgaW4gYSBNdWx0aXBsZSBTZWxlY3QgZmllbGQgdGhlIGRlc2lyZWQgbmV3IGNhdGVnb3JpZXMgY291bGQgYmUgc2VsZWN0ZWQ8L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+W2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8bGk+W2dyb3Vwc19vbmx5XSAtIChvcHRpb25hbCkgRGlzcGxheXMgb25seSB0aGUgdXNlciBncm91cHMgKGluZGl2aWR1YWwgdXNlcnMgd2lsbCBub3QgYmUgc2hvd24pPC9saT4KICAgICAgIDxsaT5bZGVsaW1pdGVyXSAtIChvcHRpb25hbCkgU2VwYXJhdG9yIGJldHdlZW4gdGhlIGVudHJpZXMuIFN0YW5kYXJkOiB8LjwvbGk+CiAgICAgICA8bGk+W291dHB1dF0gLSAob3B0aW9uYWwpIHdpdGggb3V0cHV0PSJpZCIgYWxsIGNvbnRlbnQgSURzIGlzc3VlZC4gT3RoZXJ3aXNlLCB0aGUgbWVudSB0ZXh0IGlzIGRpc3BsYXllZC48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+QmVpc3BpZWw6PGJyIC8+CiAgICA8cHJlPiYjMTIzO3RiR2V0VXNlckdyb3VwczsmIzEyNTs8L3ByZT48YnIgLz4KICAgIDxwcmU+JiMxMjM7QWR2YW5jZWRDb250ZW50IGJsb2NrPSJlZGl0b3JzIiBsYWJlbD0iVXNlcnMgd2hvIGFyZSBhbGxvd2VkIHRvIGVkaXQgdGhlc2UgcGFnZXMiIGJsb2NrX3R5cGU9InNlbGVjdF9tdWx0aXBsZSIgbm9fY29sbGFwc2U9dHJ1ZSBpdGVtcz0iOjo6dGJHZXRVc2VyR3JvdXBzIGdyb3Vwc19vbmx5PXRydWU6OjoiIHZhbHVlcz0iOjo6dGJHZXRVc2VyR3JvdXBzIGdyb3Vwc19vbmx5PXRydWUgb3V0cHV0PSdpZCc6OjoiIHNtYXJ0eT10cnVlICYjMTI1OzwvcD4KIDwvbGk+IAoKIDxsaT48c3Ryb25nPiYjMTIzO3RiR2V0R2FsbGVyeVRyZWUmIzEyNTs8L3N0cm9uZz4KICAgIDxwPk1pdCBkaWVzZW0gUGx1Z2luIGvDtm5uZW4gYWxsZSBHYWxsZXJ5IE9yZG5lciAoTW9kdWwgR2FsbGVyeSkgYXVzZ2VnZWJlbiB3ZXJkZW4uIFByYWt0aXNjaCBpc3QgZGVyIEVpbnNhdHogZGllc2VzIFBsdWdpbiBpbiBWZXJiaW5kdW5nIG1pdCBBZHZhbmNlZENvbnRlbnQuIFNvIGvDtm5uZW4gZGllIEdhbGxlcnlzIGluIGVpbmVtIERyb3Bkb3duIEZlbGQgYXVzZ2VnZWJlbiB3ZXJkZW4uPC9wPgogICAgPHA+QXJndW1lbnRlOgogICAgICAgPHVsPgogICAgICAgPGxpPltzdWJkaXJdIC0gKG9wdGlvbmFsKSBVbnRlcm9yZG5lciBkZXIgR2FsbGVyeSBhYiB3ZWxjaGVtIGFsbGVyIGVudGhhbHRlbmVuIE9yZG5lciBhdWZnZWxpc3RldCB3ZXJkZW4gc29sbGVuIC48L2xpPgogICAgICAgPGxpPlthY3Rpb25dIC0gKG9wdGlvbmFsKSA8dWw+CiAgICAgICAJCQkJCQkJCTxsaT5hY3Rpb249InVybCIgLT4gUGZhZCB6dW0gT3JkbmVyPC9saT4KICAgICAgIAkJCQkJCQkJPGxpPiBhY3Rpb24gPSAiIiAtPiBQZmFkIGRlcyBPcmRuZXJzIGlua2wuIEJpbGRhbnphaGw8L2xpPgogICAgICAgCQkJCQkJCTwvdWw+CiAgICAgICA8L3VsPgogICAgPGJyLz48L3A+CiAgICA8cD5CZWlzcGllbDo8YnIgLz4KICAgIDxwcmU+JiMxMjM7dGJHZXRHYWxsZXJ5VHJlZSYjMTI1OzwvcHJlPjxiciAvPgogICAgPHByZT4mIzEyMztBZHZhbmNlZENvbnRlbnQgYmxvY2s9ImdhbGxlcnkiIGxhYmVsPSJHYWxsZXJ5IiBibG9ja190eXBlPSJkcm9wZG93biIgYWxsb3dfbm9uZT10cnVlIGl0ZW1zPSJLZWluZSBHYWxsZXJ5fDo6OnRiR2V0R2FsbGVyeVRyZWUgOjo6IiB2YWx1ZXM9Inw6Ojp0YkdldEdhbGxlcnlUcmVlIGFjdGlvbj0ndXJsJzo6OiIgc21hcnR5PWJhY2tlbmQgYXNzaWduPSJidEdhbGxlcnlQYXRoIiBub19jb2xsYXBzZT10cnVlICYjMTI1OzwvcHJlPjwvcD4KICAgIAogPC9saT4gIAogCjwvdWw+CiAgCjwvZGl2Pgo8L2Rpdj48aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIERpZXNlciBQYXJhbWV0ZXIgbGVndCBkaWUgU3ByYWNoZSBmZXN0LCBkaWUgdm9tIE1vZHVsIGYmdXVtbDtyIGRpZSBBdXNnYWJlIGF1ZiBkZXIgV2Vic2VpdGUgdmVyd2VuZGV0IHdpcmQuIERpZXMgd2lyZCBqZWRvY2ggbmljaHQgdm9uIGFsbGVuIE1vZHVsZW4gdW50ZXJzdCZ1dW1sO3R6dCBiencuIGJlbiZvdW1sO3RpZ3QuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBtb2Q9IiIgLSBUb29sYm94IE1vZHVsIEVsZW1lbnQsIEJlaXNwaWVsOiBtb2Q9InNvY2lhbHNoYXJlcHJpdmFjeSIgZsO8ciBkYXMgU29jaWFsU2hhcmVQcml2YXkgRWxlbWVudDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdGVtcGxhdGU9IiIgLSBOYW1lIGRlcyBUZW1wbGF0ZXMgd2VsY2hlcyB2ZXJ3ZW5kZXQgd2lyZC4gRGllc2VzIFRlbXBsYXRlIG11c3MgZXhpc3RpZXJlbiBpbSBSZWl0ZXIgZGVzIHZlcndlbmRldGVuIFRvb2xib3ggTW9kdWxzIHNpY2h0YmFyIHNlaW4uIE9obmUgZGllc2VuIFBhcmFtZXRlciB3aXJkIGRhcyBhbHMgU3RhbmRhcmQtVGVtcGxhdGUgZGVmaW5pZXJ0ZSBUZW1wbGF0ZSB2ZXJ3ZW5kZXQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkZXRhaWx0ZW1wbGF0ZT0iIiAtIERldGFpbHRlbXBsYXRlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWxlPSIiIC0gRGF0ZWk8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGRlbGltaXRlcj0iIiAtIERlbGltaXRlciAoVHJlbm56ZWljaGVuKTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmlsZWNoYXJzZXQ9IiIgLSBaZWljaGVuc2F0eiAoY2hhcnNldCkgZGVyIERhdGVpPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhY3Rpb249IiIgLSBBY3Rpb248L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNvcnRieT0iIiAtIFNvcnRpZXJlbiBuYWNoPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzb3J0b3JkZXI9IiIgLSBTb3J0aWVycmVpaGVuZm9sZ2U8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHVzZXJuYW1lPSIiIC0gQmVudXR6ZXJuYW1lPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsaXN0PSIiIC0gTmFtZSBkZXIgTGlzdGU8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNlYXJjaD0iIiAtIFN1Y2hiZWdyaWZmPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBjb3VudD0iIiAtIEFuemFobCBEYXRlbnPDpHR6ZSBkaWUgYW5nZXplaWd0IHdlcmRlbiBzb2xsZW48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGRhdGVmb3JtYXQ9IiIgLSBEYXR1bXNmb3JtYXQgaW4gZGVyIEZvcm0gZC1tLVkgSDppOnM8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGNhY2hldGltZT0iIiAtIFplaXQgaW4gTWludXRlbiBpbiBkZW5lbiBkYXMgUmVzdWx0YXQgaW0gQ2FjaGUgZ2VzcGVpY2hlcnQgYmxlaWJ0LiBTdGFuZGFyZCBpc3QgMTAgTWludXRlbiAoMTApLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbW9kPSIiIC0gVG9vbGJveCBNb2R1bCBFbGVtZW50LCBCZWlzcGllbDogbW9kPSJzb2NpYWxzaGFyZXByaXZhY3kiIGbDvHIgZGFzIFNvY2lhbFNoYXJlUHJpdmF5IEVsZW1lbnQ8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHRlbXBsYXRlPSIiIC0gTmFtZSBkZXMgVGVtcGxhdGVzIHdlbGNoZXMgdmVyd2VuZGV0IHdpcmQuIERpZXNlcyBUZW1wbGF0ZSBtdXNzIGV4aXN0aWVyZW4gaW0gUmVpdGVyIGRlcyB2ZXJ3ZW5kZXRlbiBUb29sYm94IE1vZHVscyBzaWNodGJhciBzZWluLiBPaG5lIGRpZXNlbiBQYXJhbWV0ZXIgd2lyZCBkYXMgYWxzIFN0YW5kYXJkLVRlbXBsYXRlIGRlZmluaWVydGUgVGVtcGxhdGUgdmVyd2VuZGV0LjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGV0YWlsdGVtcGxhdGU9IiIgLSBEZXRhaWx0ZW1wbGF0ZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmlsZT0iIiAtIERhdGVpPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkZWxpbWl0ZXI9IiIgLSBEZWxpbWl0ZXIgKFRyZW5uemVpY2hlbik8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpbGVjaGFyc2V0PSIiIC0gWmVpY2hlbnNhdHogKGNoYXJzZXQpIGRlciBEYXRlaTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWN0aW9uPSIiIC0gQWN0aW9uPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzb3J0Ynk9IiIgLSBTb3J0aWVyZW4gbmFjaDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc29ydG9yZGVyPSIiIC0gU29ydGllcnJlaWhlbmZvbGdlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB1c2VybmFtZT0iIiAtIEJlbnV0emVybmFtZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGlzdD0iIiAtIE5hbWUgZGVyIExpc3RlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzZWFyY2g9IiIgLSBTdWNoYmVncmlmZjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gY291bnQ9IiIgLSBBbnphaGwgRGF0ZW5zw6R0emUgZGllIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbGVuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkYXRlZm9ybWF0PSIiIC0gRGF0dW1zZm9ybWF0IGluIGRlciBGb3JtIGQtbS1ZIEg6aTpzPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBjYWNoZXRpbWU9IiIgLSBaZWl0IGluIE1pbnV0ZW4gaW4gZGVuZW4gZGFzIFJlc3VsdGF0IGltIENhY2hlIGdlc3BlaWNoZXJ0IGJsZWlidC4gU3RhbmRhcmQgaXN0IDEwIE1pbnV0ZW4gKDEwKS48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBBbmRpIFBldHpvbGR0IC8gTHVrYXMgQmxhdHRlciAmbHQ7YW5kaUBwZXR6b2xkdC5uZXQgLyBsdWthcy5ibGF0dGVyQGJsYXR0ZXJ0ZWNoLmNoJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMy41PGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQiPjxmb3JtIGFjdGlvbj0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9jZ2ktYmluL3dlYnNjciIgbWV0aG9kPSJwb3N0Ij48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjbWQiIHZhbHVlPSJfcy14Y2xpY2siPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Imhvc3RlZF9idXR0b25faWQiIHZhbHVlPSJFRDhQWENZODlVNFRHIj48aW5wdXQgdHlwZT0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vV0VCU0NSLTY0MC0yMDExMDMwNi0xL2RlX0RFL0RFL2kvYnRuL2J0bl9kb25hdGVfU00uZ2lmIiBib3JkZXI9IjAiIG5hbWU9InN1Ym1pdCIgYWx0PSJKZXR6dCBlaW5mYWNoLCBzY2huZWxsIHVuZCBzaWNoZXIgb25saW5lIGJlemFobGVuIOKAkyBtaXQgUGF5UGFsLiI+PGltZyBhbHQ9IiIgYm9yZGVyPSIwIiBzcmM9Imh0dHBzOi8vd3d3LnBheXBhbG9iamVjdHMuY29tL1dFQlNDUi02NDAtMjAxMTAzMDYtMS9kZV9ERS9pL3Njci9waXhlbC5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjwvZm9ybT48L2Rpdj48dWw+CjxsaT4xLjIuNSAtIDEwLjA4LjIwMTI8YnIgLz4KVHdpdHRlcmZlZWQgaGluenVnZWbDvGd0PGJyIC8+ClNtYXJ0eSBrYW5uIG51biBpbiBTdHlsZXNoZWV0cyB1bmQgSmF2YXNjcmlwdHMgZ2VudXR6dCB3ZXJkZW46IHouQi4gW1tyb290X3VybF1dPGJyIC8+IApGZWhsZXJiZWhlYnVuZyBBdXRvTGlnaHRCb3g8YnIgLz4KSW5rb21wYXRpYmlsaXTDpHQgendpc2NoZW4gQXV0b0xpZ2h0Qm94IHVuZCBTb2NpYWxTaGFyZVByaXZhY3kgYmVob2JlbjxiciAvPgpKYXZhc2NyaXB0IGthbm4gbnVuIGF1Y2ggaW0gRm9vdGVyIGVpbmdlbGVzZW4gd2VyZGVuPGJyIC8+CkRhcnN0ZWxsdW5nIHVuZCBHcnVwcGllcnVuZyBkZXIgRWluc3RlbGx1bmdlbiDDvGJlcmFyYmVpdGV0IAo8L2xpPgo8bGk+MS4yLjQgLSAyMC4wNy4yMDEyPGJyIC8+CkFkZCBBdXRvTGlnaHRCb3ggdGVtcGxhdGUgbWFuYWdlbWVudCAKPC9saT4KPGxpPjEuMi4zIC0gMjYuMDYuMjAxMjxiciAvPgpCdWdmaXhlcyBpbiBBdXRvTGlnaHRCb3gKPC9saT4KPGxpPjEuMi4yPGJyIC8+Ck1pbm9yIEJ1Z2ZpeGVzCjwvbGk+CjxsaT4xLjIuMTxiciAvPgpNaW5vciBCdWdmaXhlczwvbGk+Cgo8bGk+MS4yLjA8YnIgLz4KQWRkZWQgQXV0b0xpZ2h0Qm94PGJyIC8+CkFkZGVkIHRlbXBsYXRlIGltcG9ydAo8L2xpPgoKPGxpPjEuMS4xPGJyIC8+Cm1pbm9yIGJ1Z2ZpeGVzPGJyIC8+CnVwZGF0ZSBTb2NpYWxTaGFyZVByaXZhY3kgMS40CjwvbGk+Cgo8bGk+MS4xLjA8YnIgLz4KQWRkZWQgU21hcnR5IHBsdWdpbiAkdGJ0b29scy4gVGhpcyBlbmFibGVzIHlvdSB0byB1c2UgZGlmZmVyZW50IGZ1bmN0aW9ucyB0byBtb2RpZnkgY29udGVudC48YnIgLz4KQWRkZWQgZGlmZmVyZW50IHBsdWdpbnMuPGJyIC8+CkFkZGVkIHBsdWdpbiB0byBleHRlbmQgQWR2YW5jZWRDb250ZW50PGJyIC8+CkFkZGVkIHBsdWdpbiB0byBzaG93IFNvY2lhbFNoYXJlUHJpdmFjeSBCdXR0b25zPGJyIC8+CkFkZGVkIGEgVGFpbC1Mb2cgVGFiPGJyIC8+Ck1vZHVsZSBoZWxwIGlzIG5vdyBtdWNoIGJpZ2dlciA6KTxiciAvPgpUb29sQm94IGNhbGwgaXMgbm93IHBvc3NpYmxlIHdpdGgge1Rvb2xCb3h9CjwvbGk+Cgo8bGk+MS4wLjEgLSBkZWNlbWJlciAyMDExPC9saT4KPHA+QnVnZml4ZXM8L3A+PC9saT4KPGxpPjEuMCAtIGRlY2VtYmVyIDIwMTEKPHA+SW5pdGlhbCBSZWxlYXNlIG9mIG1vZHVsIFRvb2xCb3g8L3A+PC9saT4KPC91bD48YnIgLz4=]]></about>
	<description><![CDATA[This module is a collection of tools which may be useful for webmasters: AutoLightBox, SocialSharePrivacy, Twitterfeed, 301-Redirects, 404-Error-Tracking]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_404ignore.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIEdldCBQT1NUIGRhdGEKJHRiVGFiVG8gPSBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSk7CmlmIChpc3NldCgkcGFyYW1zWydpX2lnbm9yZSddKSkgeyAkaV9pdXJsID0gaXNzZXQoJHBhcmFtc1snaV9pdXJsJ10pID8gdHJpbSh1cmxkZWNvZGUoJHBhcmFtc1snaV9pdXJsJ10pKSA6ICcnOyB9CmVsc2UgeyAkaV9pdXJsID0gaXNzZXQoJHBhcmFtc1snaV9pdXJsJ10pID8gdHJpbSgkcGFyYW1zWydpX2l1cmwnXSkgOiAnJzsgfQokaV9pcmVnZXhwID0gJHBhcmFtc1snaV9pcmVnZXhwJ10gPyAxIDogMDsKJGlkcyA9ICRwYXJhbXNbJ2lkcyddID8gZXhwbG9kZSgnLCcsJHBhcmFtc1snaWRzJ10pIDogYXJyYXkoKTsKCi8vIFNhdmUgaWdub3JlIHJ1bGUgY2hhbmdlcwppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pIHx8IGlzc2V0KCRwYXJhbXNbJ2lfaWdub3JlJ10pKSB7CgkvLyBTZXQgbmVlZGVkIG9iamVjdHMKCSR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsKCS8vIEVkaXQgaWdub3JlIHJ1bGVzCglpZiAoJGlkcykgewoJCWZvcmVhY2ggKCRpZHMgYXMgJGlpZCkgewoJCQkkaXVybCA9IGlzc2V0KCRwYXJhbXNbJ2lfaXVybCcuJGlpZF0pID8gdHJpbSgkcGFyYW1zWydpX2l1cmwnLiRpaWRdKSA6ICcnOwoJCQkkaXJlZ2V4cCA9ICRwYXJhbXNbJ2lfaXJlZ2V4cCcuJGlpZF0gPyAxIDogMDsKCQkJJHNxbCA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9yc19pZ25vcmUgU0VUIGl1cmw9PywgaXJlZ2V4cD0/LCBtb2RpZmllZF9kYXRlPU5PVygpIFdIRVJFIGlkPT8nOwoJCQkkcmVzID0gJHRiRGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkaXVybCwgJGlyZWdleHAsICRpaWQpKTsKCQl9Cgl9CgkvLyBJbnNlcnQgbmV3IGlnbm9yZSBydWxlCglpZiAoJGlfaXVybCkgewoJCSRzcWwgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9yc19pZ25vcmUgKGl1cmwsIGlyZWdleHAsIGNyZWF0ZWRfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LCA/LCBOT1coKSwgTk9XKCkpJzsKCQkkcmVzID0gJHRiRGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkaV9pdXJsLCAkaV9pcmVnZXhwKSk7Cgl9CglpZiAoaXNzZXQoJHBhcmFtc1snaV9pZ25vcmUnXSkpIHsKCQkkc3FsID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnMgV0hFUkUgdG91cmw9Pyc7CgkJJHJlcyA9ICR0YkRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoJGlfaXVybCkpOwoJfQp9CgovLyBSZWRpcmVjdAokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSggJ3RhYnRvJz0+JHRiVGFiVG8gKSk7CgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.admin_autolightbox.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCiR0YWJ0byA9IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWyd0YWJ0byddKTsKCiR0aGlzLT5SZWdpc3RlckV2ZW50cygpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF9yZWwnLCRwYXJhbXNbJ3JlbCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF9jbGFzcycsJHBhcmFtc1snY2xhc3MnXSk7CgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X2xpZ2h0Ym94JywoaW50KXRyaW0oJHBhcmFtc1snbGlnaHRib3gnXSkpOwoKJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCBhcnJheSggJ3N1Y2VzcycgPT4gJ3RydWUnLCAndGFiX21lc3NhZ2UnPT4gJ21zZ19zYXZlcHJlZicsICd0YWJ0byc9PiR0YWJ0byApKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_csv.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCiR0YWJ0byA9IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWyd0YWJ0byddKTsKJHR0YWJ0byA9IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWyd0dGFidG8nXSk7CgppZiAoaXNzZXQoJHBhcmFtc1snZm9ybXNlY3Rpb24nXSkpIHsKCQoJaWYgKCRwYXJhbXNbJ2Zvcm1zZWN0aW9uJ10gPT0gImFsbGdlbWVpbiIpIHsKCQlpZiAoaXNzZXQoJHBhcmFtc1sncmVzZXRidXR0b24nXSkgKSB7CQoJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiY3N2X2RlbGltaXRlciIsIjsiKTsKCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoImNzdl9maWxlY2hhcnNldCIsImlzby04ODU5LTEiKTsKCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoImNzdl9jbXNjaGFyc2V0IiwiVVRGLTgiKTsKCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCBhcnJheSggJ3RhYl9tZXNzYWdlJz0+ICdtc2dfcmVzZXRwcmVmJywgJ3N1Y2VzcycgPT4gJ3RydWUnLCAndGFidG8nPT4kdGFidG8sICd0dGFidG8nID0+ICR0dGFidG8gKSk7CgkJCXJldHVybjsKCQl9CgkJJGZpbGVjaGFyc2V0ID0gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfLV0vJywnJywkcGFyYW1zWydmaWxlY2hhcnNldCddKTsKCQkkY21zY2hhcnNldCA9IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aXy1dLycsJycsJHBhcmFtc1snY21zY2hhcnNldCddKTsKCQkKCQkKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiY3N2X2RlbGltaXRlciIsJHBhcmFtc1snZGVsaW1pdGVyJ10pOwoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJjc3ZfZmlsZWNoYXJzZXQiLCRmaWxlY2hhcnNldCk7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoImNzdl9jbXNjaGFyc2V0IiwkY21zY2hhcnNldCk7CgkJCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCBhcnJheSggJ3N1Y2VzcycgPT4gJ3RydWUnLCAndGFidG8nPT4kdGFidG8sICd0dGFidG8nPT4kdHRhYnRvLCAndGFiX21lc3NhZ2UnPT4gJ21zZ19zYXZlcHJlZicgKSk7CgkJcmV0dXJuOwoJfQoJCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsIGFycmF5KCAnc3VjZXNzJyA9PiAndHJ1ZScsICd0YWJ0byc9PiR0YWJ0bywgJ3R0YWJ0byc9PiR0dGFidG8gICkpOwoJcmV0dXJuOwoJCn0KCgokcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gc3RyX3JlcGxhY2UoIltwYXJhbV0iLCAiZm9ybXNlY3Rpb24iLCR0aGlzLT5MYW5nKCdwYXJhbV9lbXB0eScpKSwgJ3RhYnRvJyA9PiAkdGFidG8sICd0dGFidG8nPT4kdHRhYnRvICk7CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nICwgJHJldHVybmlkLCAkcGFyYW1zKTsKcmV0dXJuOwoKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_deletedebug.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIEdldCBQT1NUIGRhdGEKJHRiVGFiVG8gPSBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSk7CiRkZWJ1ZyA9IChpbnQpJHBhcmFtc1snZGVidWcnXTsKCi8vIERlbGV0ZSB0aGUgZG9tYWluCmlmICgkZGVidWcpIHsKCS8vIEdldCBkYiBpbnN0YW5jZQoJJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOwoJLy8gRGVsZXRlIHRoZSBkb21haW4KCSRzcWwgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2RlYnVnIFdIRVJFIGlkPT8nOwoJJHJlcyA9ICR0YkRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoJGRlYnVnKSk7Cn0KCi8vIFJlZGlyZWN0CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCAndGFidG8nPT4kdGJUYWJUbyApKTsKCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_deletedebugs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIEdldCBQT1NUIGRhdGEKJHRiVGFiVG8gPSBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSk7CgovLyBHZXQgZGIgaW5zdGFuY2UKJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOwovLyBEZWxldGUgdGhlIGRlYnVnCiRzcWwgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2RlYnVnJzsKJHJlcyA9ICR0YkRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoKSk7CgovLyBSZWRpcmVjdAokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSggJ3RhYnRvJz0+JHRiVGFiVG8gKSk7CgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.admin_deleteerror.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIEdldCBQT1NUIGRhdGEKJHRiVGFiVG8gPSBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSk7CiRlcnJvciA9IChpbnQpJHBhcmFtc1snZXJyb3InXTsKCi8vIERlbGV0ZSB0aGUgZG9tYWluCmlmICgkZXJyb3IpIHsKCS8vIEdldCBkYiBpbnN0YW5jZQoJJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOwoJLy8gRGVsZXRlIHRoZSBkb21haW4KCSRzcWwgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9ycyBXSEVSRSBpZD0/JzsKCSRyZXMgPSAkdGJEYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCRlcnJvcikpOwp9CgovLyBSZWRpcmVjdAokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSggJ3RhYnRvJz0+JHRiVGFiVG8gKSk7CgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.admin_deleteerrors.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIEdldCBQT1NUIGRhdGEKJHRiVGFiVG8gPSBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSk7CgovLyBHZXQgZGIgaW5zdGFuY2UKJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOwovLyBEZWxldGUgdGhlIGRvbWFpbgokc3FsID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnMnOwokcmVzID0gJHRiRGItPkV4ZWN1dGUoJHNxbCxhcnJheSgpKTsKCi8vIFJlZGlyZWN0CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCAndGFidG8nPT4kdGJUYWJUbyApKTsKCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_deleteignoreerror.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIEdldCBQT1NUIGRhdGEKJHRiVGFiVG8gPSBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSk7CiRpZXJyb3IgPSAoaW50KSRwYXJhbXNbJ2llcnJvciddOwoKLy8gRGVsZXRlIHRoZSBkb21haW4KaWYgKCRpZXJyb3IpIHsKCS8vIEdldCBkYiBpbnN0YW5jZQoJJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOwoJLy8gRGVsZXRlIHRoZSBkb21haW4KCSRzcWwgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9yc19pZ25vcmUgV0hFUkUgaWQ9Pyc7CgkkcmVzID0gJHRiRGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkaWVycm9yKSk7Cn0KCi8vIFJlZGlyZWN0CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCAndGFidG8nPT4kdGJUYWJUbyApKTsKCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_deleteredirect.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIEdldCBQT1NUIGRhdGEKJHRiVGFiVG8gPSBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSk7CiRyZWRpcmVjdCA9IChpbnQpJHBhcmFtc1sncmVkaXJlY3QnXTsKCi8vIERlbGV0ZSB0aGUgcmVkaXJlY3QgdXJsCmlmICgkcmVkaXJlY3QpIHsKCS8vIEdldCBkYiBpbnN0YW5jZQoJJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOwoJLy8gRGVsZXRlIHRoZSByZWRpcmVjdCB1cmwKCSRzcWwgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X3JlZGlyZWN0IFdIRVJFIGlkPT8nOwoJJHJlcyA9ICR0YkRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoJHJlZGlyZWN0KSk7Cn0KCi8vIFJlZGlyZWN0CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCAndGFidG8nPT4kdGJUYWJUbyApKTsKCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_editredirect.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIEdldCBQT1NUIGRhdGEKJHRiVGFiVG8gPSBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSk7CiRlcmVkaXJlY3QgPSBhcnJheSgpOwokZXJlZGlyZWN0WydpZCddID0gKGludCkkcGFyYW1zWydyZWRpcmVjdCddOwokZXJlZGlyZWN0Wyd1cmwnXSA9IHRyaW0oJHBhcmFtc1sndXJsJ10pOwppZiAoIXByZWdfbWF0Y2goJy9cdys6XC9cLy8nLCRlcmVkaXJlY3RbJ3VybCddKSkgJGVyZWRpcmVjdFsndXJsJ10gPSAnaHR0cDovLycuJGVyZWRpcmVjdFsndXJsJ107CiRlcmVkaXJlY3RbJ3BhZ2UnXSA9IHByZWdfcmVwbGFjZSgnL1teMC05XS8nLCcnLCRwYXJhbXNbJ3BhZ2UnXSk7CiRlcmVkaXJlY3RbJ3RvdXJsJ10gPSB0cmltKCRwYXJhbXNbJ3RvdXJsJ10pOwokZXJlZGlyZWN0WydyZWdleHAnXSA9ICRwYXJhbXNbJ3JlZ2V4cCddID8gMSA6IDA7CiRlcmVkaXJlY3RbJ2FjdGl2ZSddID0gJHBhcmFtc1snYWN0aXZlJ10gPyAxIDogMDsKJGVyZWRpcmVjdFsnbm90ZXMnXSA9ICRwYXJhbXNbJ25vdGVzJ107CgovLyBTYXZlIHJlZGlyZWN0IGNoYW5nZXMKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydjYWNoZSddKSB8fCBpc3NldCgkcGFyYW1zWydhZGQnXSkgfHwgaXNzZXQoJHBhcmFtc1snY2FjaGVhZGQnXSkpIHsKCS8vIFNldCBuZWVkZWQgb2JqZWN0cwoJJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOwoJLy8gRWRpdCBkb21haW4KCWlmICgkZXJlZGlyZWN0WydpZCddKSB7CgkJJHNxbCA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X3JlZGlyZWN0IFNFVCBwYWdlX2lkPT8sIHRvdXJsPT8sIHVybD0/LCB1cmxfcmVnZXhwPT8sIGFjdGl2ZT0/LCBub3Rlcz0/LCBtb2RpZmllZF9kYXRlPU5PVygpIFdIRVJFIGlkPT8nOwoJCSRyZXMgPSAkdGJEYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCRlcmVkaXJlY3RbJ3BhZ2UnXSwgJGVyZWRpcmVjdFsndG91cmwnXSwgJGVyZWRpcmVjdFsndXJsJ10sICRlcmVkaXJlY3RbJ3JlZ2V4cCddLCAkZXJlZGlyZWN0WydhY3RpdmUnXSwgJGVyZWRpcmVjdFsnbm90ZXMnXSwgJGVyZWRpcmVjdFsnaWQnXSkpOwoJLy8gSW5zZXJ0IG5ldyByZWRpcmVjdAoJfSBlbHNlIHsKCQkkc3FsID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9yZWRpcmVjdCAocGFnZV9pZCwgdG91cmwsIHVybCwgdXJsX3JlZ2V4cCwgYWN0aXZlLCBub3RlcywgY3JlYXRlZF9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sIE5PVygpLCBOT1coKSknOwoJCSRyZXMgPSAkdGJEYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCRlcmVkaXJlY3RbJ3BhZ2UnXSwgJGVyZWRpcmVjdFsndG91cmwnXSwgJGVyZWRpcmVjdFsndXJsJ10sICRlcmVkaXJlY3RbJ3JlZ2V4cCddLCAkZXJlZGlyZWN0WydhY3RpdmUnXSwgJGVyZWRpcmVjdFsnbm90ZXMnXSkpOwoJCSRlcmVkaXJlY3RbJ2lkJ10gPSAkdGJEYi0+R2V0T25lKCdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfcmVkaXJlY3QgV0hFUkUgdXJsID0gPycsIGFycmF5KCRlcmVkaXJlY3RbJ3VybCddKSk7Cgl9Cn0KCi8vIFJlZGlyZWN0CmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgfHwgaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pIHx8IGlzc2V0KCRwYXJhbXNbJ2FkZCddKSkgJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoICd0YWJ0byc9PiR0YlRhYlRvICkpOwplbHNlICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGlzc2V0KCRwYXJhbXNbJ3J1cmwnXSkgPyBhcnJheSggJ3RhYnRvJz0+JHRiVGFiVG8sICdyZWRpcmVjdCc9PiRlcmVkaXJlY3RbJ2lkJ10sICdydXJsJz0+JHBhcmFtc1sncnVybCddICkgOiBhcnJheSggJ3RhYnRvJz0+JHRiVGFiVG8sICdyZWRpcmVjdCc9PiRlcmVkaXJlY3RbJ2lkJ10gKSk7CgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.admin_prefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOwokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCR0YkRiKTsKCi8vIEdldCBQT1NUIGRhdGEKJHRiVGFiVG8gPSBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSk7CgovLyBTZXQgcHJlZmVyZW5jZXMKJGRvbnRfdXNlX2V2ZW50X2hhbmRsZXIgPSBpc3NldCgkcGFyYW1zWydkb250X3VzZV9ldmVudF9oYW5kbGVyJ10pCT8gKGludCkkcGFyYW1zWydkb250X3VzZV9ldmVudF9oYW5kbGVyJ10JOiAwOwokc3RhdHNfdXNlCQkJCT0gaXNzZXQoJHBhcmFtc1snc3RhdHNfdXNlJ10pIAkJCQk/IChpbnQpJHBhcmFtc1snc3RhdHNfdXNlJ10gCQkJCTogMDsKJGF1dG9saWdodGJveF91c2UgCQk9IGlzc2V0KCRwYXJhbXNbJ2F1dG9saWdodGJveF91c2UnXSkJCT8gKGludCkkcGFyYW1zWydhdXRvbGlnaHRib3hfdXNlJ10JCQk6IDA7CiRzb2NpYWxzaGFyZXByaXZhY3lfdXNlID0gaXNzZXQoJHBhcmFtc1snc29jaWFsc2hhcmVwcml2YWN5X3VzZSddKQk/IChpbnQpJHBhcmFtc1snc29jaWFsc2hhcmVwcml2YWN5X3VzZSddCTogMDsKJHR3aXR0ZXJmZWVkX3VzZQkJPSBpc3NldCgkcGFyYW1zWyd0d2l0dGVyZmVlZF91c2UnXSkJCQk/IChpbnQpJHBhcmFtc1sndHdpdHRlcmZlZWRfdXNlJ10JCQk6IDA7CiRjc3ZfdXNlIAkJCQk9IGlzc2V0KCRwYXJhbXNbJ2Nzdl91c2UnXSkJCQkJCT8gKGludCkkcGFyYW1zWydjc3ZfdXNlJ10JCQkJCTogMDsKJHRhaWxfdXNlIAkJCQk9IGlzc2V0KCRwYXJhbXNbJ3RhaWxfdXNlJ10pCQkJCT8gKGludCkkcGFyYW1zWyd0YWlsX3VzZSddCQkJCQk6IDA7CiRzdGF0c180MDQJCQkJPSBpc3NldCgkcGFyYW1zWydzdGF0c180MDQnXSkJCQkJPyAoaW50KSRwYXJhbXNbJ3N0YXRzXzQwNCddCQkJCQk6IDA7CiRtYXhfNDA0IAkJCQk9IGlzc2V0KCRwYXJhbXNbJ21heF80MDQnXSkJCQkJCT8gKGludCkkcGFyYW1zWydtYXhfNDA0J10JCQkJCTogMDsKJHN0YXRzX2RhaWx5IAkJCT0gaXNzZXQoJHBhcmFtc1snc3RhdHNfZGFpbHknXSkJCQkJPyAoaW50KSRwYXJhbXNbJ3N0YXRzX2RhaWx5J10JCQkJOiAwOwokc3RhdHNfZW1haWwgCQkJPSBpc3NldCgkcGFyYW1zWydzdGF0c19lbWFpbCddKQkJCQk/IHRyaW0oJHBhcmFtc1snc3RhdHNfZW1haWwnXSkJCQkJOiAwOwokb2xkdXJsX3VzZSAJCQk9IGlzc2V0KCRwYXJhbXNbJ29sZHVybF91c2UnXSkJCQkJPyAoaW50KSRwYXJhbXNbJ29sZHVybF91c2UnXQkJCQk6IDA7CiRkZWJ1Z191c2UgCQkJCT0gaXNzZXQoJHBhcmFtc1snZGVidWdfdXNlJ10pCQkJCT8gKGludCkkcGFyYW1zWydkZWJ1Z191c2UnXQkJCQkJOiAwOwokbW9kdWxlb3BzX3VzZSAJCQk9IGlzc2V0KCRwYXJhbXNbJ21vZHVsZW9wc191c2UnXSkJCQk/IChpbnQpJHBhcmFtc1snbW9kdWxlb3BzX3VzZSddCQkJCTogMDsKJGpzX2Zvb3RlciAJCQkJPSBpc3NldCgkcGFyYW1zWydqc19mb290ZXInXSkJCQkJPyAoaW50KSRwYXJhbXNbJ2pzX2Zvb3RlciddCQkJCQk6IDA7CiRtaW5pZnkgCQkJCT0gaXNzZXQoJHBhcmFtc1snbWluaWZ5J10pCQkJCQk/IChpbnQpJHBhcmFtc1snbWluaWZ5J10JCQkJCTogMDsKCQokaW1wb3J0X211bHRpZG9tYWlucwk9IGlzc2V0KCRwYXJhbXNbJ2ltcG9ydF9tdWx0aWRvbWFpbnMnXSkJCT8gKGludCkkcGFyYW1zWydpbXBvcnRfbXVsdGlkb21haW5zJ10JCTogMDsKJGRyb3BfbXVsdGlkb21haW5zCQk9IGlzc2V0KCRwYXJhbXNbJ2Ryb3BfbXVsdGlkb21haW5zJ10pCQk/IChpbnQpJHBhcmFtc1snZHJvcF9tdWx0aWRvbWFpbnMnXQkJCTogMDsKCgovLyAyMDEyLjEyLjIyIExCTCAtPiBhdXNrb21tZW50aWVydCwgZGEgQ29udGVudFBvc3RSZW5kZXIgYXVjaCBmw7xyIHNvY2lhbHNoYXJlcHJpdmFjeSBnZW51dHp0IHdpcmQuCi8vaWYgKCRkb250X3VzZV9ldmVudF9oYW5kbGVyICE9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkb250X3VzZV9ldmVudF9oYW5kbGVyJykpIHsKLy8JaWYgKCRkb250X3VzZV9ldmVudF9oYW5kbGVyKSB7ICR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NvcmUnLCdDb250ZW50UG9zdFJlbmRlcicpOyB9Ci8vCWVsc2UgeyAkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDb3JlJywnQ29udGVudFBvc3RSZW5kZXInLGZhbHNlKTsgfQovL30KCgppZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF91c2UnKSAhPSAxIGFuZCAkYXV0b2xpZ2h0Ym94X3VzZSA9PSAxKSB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X2xpZ2h0Ym94JywxKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfdXJsdHlwZScsInJlbGF0aXZlIik7Cn0KCgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZG9udF91c2VfZXZlbnRfaGFuZGxlcicsJGRvbnRfdXNlX2V2ZW50X2hhbmRsZXIpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3RhdHNfdXNlJywkc3RhdHNfdXNlKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF91c2UnLCRhdXRvbGlnaHRib3hfdXNlKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NvY2lhbHNoYXJlcHJpdmFjeV91c2UnLCRzb2NpYWxzaGFyZXByaXZhY3lfdXNlKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3R3aXR0ZXJmZWVkX3VzZScsJHR3aXR0ZXJmZWVkX3VzZSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjc3ZfdXNlJywkY3N2X3VzZSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0YWlsX3VzZScsJHRhaWxfdXNlKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3N0YXRzXzQwNCcsJHN0YXRzXzQwNCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtYXhfNDA0JywkbWF4XzQwNCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzdGF0c19kYWlseScsJHN0YXRzX2RhaWx5KTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3N0YXRzX2VtYWlsJyx0cmltKCRzdGF0c19lbWFpbCkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnb2xkdXJsX3VzZScsJG9sZHVybF91c2UpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVidWdfdXNlJywkZGVidWdfdXNlKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2pzX2Zvb3RlcicsJGpzX2Zvb3Rlcik7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdtaW5pZnknLCRtaW5pZnkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbW9kdWxlb3BzX3VzZScsJG1vZHVsZW9wc191c2UpOwoKJHRoaXMtPlJlZ2lzdGVyRXZlbnRzKCk7CgppZiAoISRzb2NpYWxzaGFyZXByaXZhY3lfdXNlKQoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NvY2lhbHNoYXJlcHJpdmFjeV9pbnN0YWxsJywwKTsKCi8vIGluc3RhbGwgc29jaWFsc2hhcmVwcml2YWN5CmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29jaWFsc2hhcmVwcml2YWN5X3VzZScpICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzb2NpYWxzaGFyZXByaXZhY3lfaW5zdGFsbCcpID09IDApIHsKCSR0ZW1wbGF0ZSA9ICJzb2NpYWxzaGFyZXByaXZhY3kiOwoJJGZuID0gdGJVdGlsczo6Z2V0VHBsWE1MRmlsZSgnc29jaWFsc2hhcmVwcml2YWN5JywgJHRlbXBsYXRlKTsKCWlmIChmaWxlX2V4aXN0cygkZm4pKSB7CgkJJHhtbCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkJaWYgKCF0YlV0aWxzOjppbXBvcnRUZW1wbGF0ZSgkdGhpcywgJHhtbCwgdHJ1ZSkpIHsKCQkJJGVycm9ycyA9IHRiVXRpbHM6OmdldEVycm9ycygpOwoJCQkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gJHRoaXMtPkxhbmcoJGVycm9yWydsYW5nJ10pLicgJy4kZXJyb3JzWydhZGRpdGlvbmFsJ10sICd0YWJ0bycgPT4gJHRhYnRvKTsKCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAnJywgJHBhcmFtcyk7CgkJCXJldHVybjsKCQl9CgkJCgkJJHRlbXBsYXRlcHJvcHMgPSB0YlV0aWxzOjpnZXRUZW1wbGF0ZVByb3BzKCR0ZW1wbGF0ZSk7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NvY2lhbHNoYXJlcHJpdmFjeV9hZHZhbmNlZCcsMCk7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NvY2lhbHNoYXJlcHJpdmFjeV9qcXVlcnknLCR0ZW1wbGF0ZXByb3BzWydqcXVlcnknXSk7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NvY2lhbHNoYXJlcHJpdmFjeV9pbmZvbGluaycsJHRlbXBsYXRlcHJvcHNbJ2luZm9saW5rJ10pOwoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzb2NpYWxzaGFyZXByaXZhY3lfaW5zdGFsbCcsMSk7Cgl9CgllbHNlIHsKCQkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gJHRoaXMtPkxhbmcoJ2Vycm9yX3RlbXBsYXRlZmlsZW5vdGZvdW5kJykuJyAnLiRmbiwgJ3RhYnRvJyA9PiAkdGFidG8pOwoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nICwgJycsICRwYXJhbXMpOwoJCXJldHVybjsKCX0JCn0KCgovLyBJbXBvcnQgZGF0YSBmcm9tIG9sZCBNdWx0aURvbWFpbnMgdGFibGVzCmlmICgkaW1wb3J0X211bHRpZG9tYWlucyBvciAkZHJvcF9tdWx0aWRvbWFpbnMpIHsKCS8vIG1kIGltcG9ydCBjb3VudGVyCgkkbWRfaW1wb3J0X2NvdW50ZXIgPSAwOwoJLy8gR2V0IGRhdGEgZnJvbSBvbGQgTXVsdGlEb21haW5zIHRhYmxlcwoJJHRhYmxlcyA9ICR0YkRiLT5HZXRDb2woJ1NIT1cgVEFCTEVTJywgYXJyYXkoKSk7CgkvLyAzMDEgKFJlZGlyZWN0cykgdGFibGUKCSRyZWRpcmVjdF90YWJsZV9mb3VuZCA9IGZhbHNlOwoJaWYgKGluX2FycmF5KGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX211bHRpZG9tYWluc19yZWRpcmVjdCcsJHRhYmxlcykpIHsKCQlpZiAoKGludCkkcGFyYW1zWydpbXBvcnRfbXVsdGlkb21haW5zJ10pIHsKCQkJJHRlbXAgPSAkdGJEYi0+R2V0QWxsKCdTRUxFQ1QgaWQscGFnZV9pZCx1cmwsYWN0aXZlLG5vdGVzLGNyZWF0ZWRfZGF0ZSxtb2RpZmllZF9kYXRlLHRvdXJsLHVybF9yZWdleHAgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX211bHRpZG9tYWluc19yZWRpcmVjdCcsIGFycmF5KCkpOwoJCQlpZiAoJHRlbXApIHsKCQkJCWZvcmVhY2ggKCR0ZW1wIGFzICR0KSB7CgkJCQkJLy8gQ2hlY2sgd2hldGhlciByb3cgYWxyZWFkeSBleGlzdHMKCQkJCQkkbWRfZXhpc3RzID0gJHRiRGItPkdldE9uZSgnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X3JlZGlyZWN0IFdIRVJFIHVybCBsaWtlID8nLCBhcnJheSgkdFsndXJsJ10pKTsKCQkJCQkvLyBJbnNlcnQgcm93CgkJCQkJaWYgKCEkbWRfZXhpc3RzKSB7CgkJCQkJCSRyZXMgPSAkdGJEYi0+RXhlY3V0ZSgKCQkJCQkJCSdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfcmVkaXJlY3QgKGlkLHBhZ2VfaWQsdXJsLGFjdGl2ZSxub3RlcyxjcmVhdGVkX2RhdGUsbW9kaWZpZWRfZGF0ZSx0b3VybCx1cmxfcmVnZXhwKSBWQUxVRVMgKD8sPyw/LD8sPyw/LD8sPyw/KScsCgkJCQkJCQlhcnJheSgkdFsnaWQnXSwkdFsncGFnZV9pZCddLCR0Wyd1cmwnXSwkdFsnYWN0aXZlJ10sJHRbJ25vdGVzJ10sJHRbJ2NyZWF0ZWRfZGF0ZSddLCR0Wydtb2RpZmllZF9kYXRlJ10sJHRbJ3RvdXJsJ10sJHRbJ3VybF9yZWdleHAnXSkKCQkJCQkJKTsKCQkJCQl9CgkJCQl9CgkJCQkKCQkJfQoJCQkkbWRfaW1wb3J0X2NvdW50ZXIgPSAxOwoJCX0KCQkvLyBEcm9wIHRhYmxlCgkJaWYgKChpbnQpJHBhcmFtc1snZHJvcF9tdWx0aWRvbWFpbnMnXSkgewoJCQkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9tdWx0aWRvbWFpbnNfcmVkaXJlY3QnICk7CgkJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQl9Cgl9CgkvLyA0MDQgKEVycm9ycykgdGFibGUKCSRlcnJvcl90YWJsZV9mb3VuZCA9IGZhbHNlOwoJaWYgKGluX2FycmF5KGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX211bHRpZG9tYWluc19lcnJvcnMnLCR0YWJsZXMpKSB7CgkJaWYgKChpbnQpJHBhcmFtc1snaW1wb3J0X211bHRpZG9tYWlucyddKSB7CgkJCSR0ZW1wID0gJHRiRGItPkdldEFsbCgnU0VMRUNUIGlkLGZyb211cmwsdG91cmwsdmlzaXRzLGNyZWF0ZWRfZGF0ZSxtb2RpZmllZF9kYXRlIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9tdWx0aWRvbWFpbnNfZXJyb3JzJywgYXJyYXkoKSk7CgkJCWlmICgkdGVtcCkgewoJCQkJZm9yZWFjaCAoJHRlbXAgYXMgJHQpIHsKCQkJCQkvLyBDaGVjayB3aGV0aGVyIHJvdyBhbHJlYWR5IGV4aXN0cwoJCQkJCSRtZF9leGlzdHMgPSAkdGJEYi0+R2V0T25lKCdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzIFdIRVJFIHRvdXJsIGxpa2UgPycsIGFycmF5KCR0Wyd0b3VybCddKSk7CgkJCQkJLy8gSW5zZXJ0IHJvdwoJCQkJCWlmICghJG1kX2V4aXN0cykgewoJCQkJCQkkcmVzID0gJHRiRGItPkV4ZWN1dGUoCgkJCQkJCQknSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9ycyAoaWQsZnJvbXVybCx0b3VybCx2aXNpdHMsY3JlYXRlZF9kYXRlLG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPyw/LD8sPyw/LD8pJywKCQkJCQkJCWFycmF5KCR0WydpZCddLCR0Wydmcm9tdXJsJ10sJHRbJ3RvdXJsJ10sJHRbJ3Zpc2l0cyddLCR0WydjcmVhdGVkX2RhdGUnXSwkdFsnbW9kaWZpZWRfZGF0ZSddKQoJCQkJCQkpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQkkbWRfaW1wb3J0X2NvdW50ZXIgPSAxOwoJCX0KCQkvLyBEcm9wIHRhYmxlCgkJaWYgKChpbnQpJHBhcmFtc1snZHJvcF9tdWx0aWRvbWFpbnMnXSkgewoJCQkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9tdWx0aWRvbWFpbnNfZXJyb3JzJyApOwoJCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJfQoJfQoJLy8gMzAxIChSZWRpcmVjdHMpIGlnbm9yZSB0YWJsZQoJaWYgKGluX2FycmF5KGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX211bHRpZG9tYWluc19lcnJvcnNfaWdub3JlJywkdGFibGVzKSkgewoJCWlmICgoaW50KSRwYXJhbXNbJ2ltcG9ydF9tdWx0aWRvbWFpbnMnXSkgewoJCQkkdGVtcCA9ICR0YkRiLT5HZXRBbGwoJ1NFTEVDVCBpZCxpdXJsLGlyZWdleHAsY3JlYXRlZF9kYXRlLG1vZGlmaWVkX2RhdGUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX211bHRpZG9tYWluc19lcnJvcnNfaWdub3JlJywgYXJyYXkoKSk7CgkJCWlmICgkdGVtcCkgewoJCQkJZm9yZWFjaCAoJHRlbXAgYXMgJHQpIHsKCQkJCQkvLyBDaGVjayB3aGV0aGVyIHJvdyBhbHJlYWR5IGV4aXN0cwoJCQkJCSRtZF9leGlzdHMgPSAkdGJEYi0+R2V0T25lKCdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzX2lnbm9yZSBXSEVSRSBpdXJsIGxpa2UgPycsIGFycmF5KCR0WydpdXJsJ10pKTsKCQkJCQkvLyBJbnNlcnQgcm93CgkJCQkJaWYgKCEkbWRfZXhpc3RzKSB7CgkJCQkJCSRyZXMgPSAkdGJEYi0+RXhlY3V0ZSgKCQkJCQkJCSdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzX2lnbm9yZSAoaWQsaXVybCxpcmVnZXhwLGNyZWF0ZWRfZGF0ZSxtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LD8sPyknLAoJCQkJCQkJYXJyYXkoJHRbJ2lkJ10sJHRbJ2l1cmwnXSwkdFsnaXJlZ2V4cCddLCR0WydjcmVhdGVkX2RhdGUnXSwkdFsnbW9kaWZpZWRfZGF0ZSddKQoJCQkJCQkpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQkkbWRfaW1wb3J0X2NvdW50ZXIgPSAxOwoJCX0KCQkvLyBEcm9wIHRhYmxlCgkJaWYgKChpbnQpJHBhcmFtc1snZHJvcF9tdWx0aWRvbWFpbnMnXSkgewoJCQkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9tdWx0aWRvbWFpbnNfZXJyb3JzX2lnbm9yZScgKTsKCQkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCX0KCX0KCS8vIGluY3JlYXNlIG1kIGltcG9ydCBjb3VudGVyIGluIHNpdGUgc2V0dGluZ3MKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbXBvcnRfbXVsdGlkb21haW5zX2NvdW50JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1wb3J0X211bHRpZG9tYWluc19jb3VudCcpKzEpOwp9CgovLyBSZWRpcmVjdAokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSggJ3RhYnRvJz0+JHRiVGFiVG8gLCAndGFiX21lc3NhZ2UnPT4gJ21zZ19zYXZlcHJlZicgKSk7CgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.admin_redirectactive.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIEdldCBQT1NUIGRhdGEKJHRiVGFiVG8gPSBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSk7CiRyZWRpcmVjdCA9IChpbnQpJHBhcmFtc1sncmVkaXJlY3QnXTsKJGFjdGl2ZSA9ICRwYXJhbXNbJ2FjdGl2ZSddID8gMSA6IDA7CgovLyBEZS0vQWN0aXZhdGUgUmVkaXJlY3QgVVJMCmlmICgkcmVkaXJlY3QpIHsKCS8vIEdldCBkYiBpbnN0YW5jZQoJJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOwoJLy8gRGUtL0FjdGl2YXRlIHRoZSBSZWRpcmVjdCBVUkwKCSRzcWwgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9yZWRpcmVjdCBTRVQgYWN0aXZlPT8gV0hFUkUgaWQ9Pyc7CgkkcmVzID0gJHRiRGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkYWN0aXZlLCAkcmVkaXJlY3QpKTsKfQoKLy8gUmVkaXJlY3QKJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoICd0YWJ0byc9PiR0YlRhYlRvICkpOwoKLy8gRU9G]]></data>
	</file>
	<file>
	  <filename>/action.admin_socialshareprivacy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCiR0YWJ0byA9IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWyd0YWJ0byddKTsKCiR0ZW1wbGF0ZSA9ICJzb2NpYWxzaGFyZXByaXZhY3kiOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ3Jlc2V0YnV0dG9uJ10pICkKewoJJGZuID0gdGJVdGlsczo6Z2V0VHBsWE1MRmlsZSgnc29jaWFsc2hhcmVwcml2YWN5JywgJHRlbXBsYXRlKTsKCWlmIChpc19maWxlKCRmbikpIHsKCQkkeG1sID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkJaWYgKCF0YlV0aWxzOjppbXBvcnRUZW1wbGF0ZSgkdGhpcywgJHhtbCwgdHJ1ZSkpIHsKCQkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+ICR0aGlzLT5MYW5nKCRlcnJvclsnbGFuZyddKS4nICcuJGVycm9yWydhZGRpdGlvbmFsJ10sICd0YWJ0bycgPT4gJHRhYnRvKTsKCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAkcmV0dXJuaWQsICRwYXJhbXMpOwoJCX0KCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsIGFycmF5KCAndGFiX21lc3NhZ2UnPT4gJ3RlbXBsYXRlaW1wb3J0JywgJ3N1Y2VzcycgPT4gJ3RydWUnLCAndGFidG8nPT4kdGFidG8gKSk7Cgl9CgkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gJHRoaXMtPkxhbmcoJ2Vycm9yX3RlbXBsYXRlZmlsZW5vdGZvdW5kJykgLiAnICcgLiRmbiwgJ3RhYnRvJyA9PiAkdGFidG8pOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAkcmV0dXJuaWQsICRwYXJhbXMpOwp9CmVsc2UgewoJJHRlbXBsYXRlcHJvcHMgPSB0YlV0aWxzOjpnZXRUZW1wbGF0ZVByb3BzKCdzb2NpYWxzaGFyZXByaXZhY3knKTsKCQoJaWYgKGlzc2V0KCRwYXJhbXNbJ2FkdmFuY2VkJ10pKSB7CgkJaWYgKGlzc2V0KCR0ZW1wbGF0ZXByb3BzWydhZHZhbmNlZCddKSBhbmQgJHRlbXBsYXRlcHJvcHNbJ2FkdmFuY2VkJ10gPT0gMSkgewoJCQkvLyBzYXZlIHRlbXBsYXRlCgkJCSR0aGlzLT5TZXRUZW1wbGF0ZSgkdGVtcGxhdGUsICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddLlRPT0xCT1hfU0VQQVJBVE9SLiRwYXJhbXNbJ3RlbXBsYXRlY3NzJ10uVE9PTEJPWF9TRVBBUkFUT1IuJHBhcmFtc1sndGVtcGxhdGVqcyddLicqfScgKTsKCQkJCgkJCS8vIHNhdmUgY3NzLWZpbGUgCgkJCSRoYW5kbGUgPSBmb3BlbihjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2NzcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nc29jaWFsc2hhcmVwcml2YWN5LmNzcycpLCd3Jyk7CgkJCWZ3cml0ZSgkaGFuZGxlLHRiVXRpbHM6OmV4ZWN1dGVUZW1wbGF0ZVNtYXJ0eSgkcGFyYW1zWyd0ZW1wbGF0ZWNzcyddKSk7CgkJCWZjbG9zZSgkaGFuZGxlKTsKCQl9Cgl9CgllbHNlIGlmICghaXNzZXQoJHBhcmFtc1snYWR2YW5jZWQnXSkgYW5kICR0ZW1wbGF0ZXByb3BzWydhZHZhbmNlZCddID09IDEpIHsKCQkkeG1sID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVEYXRhRnJvbVhNTChmaWxlX2dldF9jb250ZW50cyh0YlV0aWxzOjpnZXRUcGxYTUxGaWxlKCdzb2NpYWxzaGFyZXByaXZhY3knLCAnc29jaWFsc2hhcmVwcml2YWN5JykpKTsKCQkkdGhpcy0+U2V0VGVtcGxhdGUoJHRlbXBsYXRlLCAkeG1sWyd0cGxjb2RlJ10uVE9PTEJPWF9TRVBBUkFUT1IuJHhtbFsndHBsY3NzJ10uVE9PTEJPWF9TRVBBUkFUT1IuJHhtbFsndHBsanMnXS4nKn0nICk7CgkJCQoJCS8vIHNhdmUgY3NzLWZpbGUKCQkkaGFuZGxlID0gZm9wZW4oY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidjc3MnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3NvY2lhbHNoYXJlcHJpdmFjeS5jc3MnKSwndycpOwoJCWZ3cml0ZSgkaGFuZGxlLHRiVXRpbHM6OmV4ZWN1dGVUZW1wbGF0ZVNtYXJ0eSgkeG1sWyd0cGxjc3MnXSkpOwoJCWZjbG9zZSgkaGFuZGxlKTsKCQkKCX0KCQkKCSRpbmZvbGluayA9IGlzc2V0KCRwYXJhbXNbJ2luZm9saW5rJ10pID8gJHBhcmFtc1snaW5mb2xpbmsnXSA6ICcnOwoJJGFkdmFuY2VkID0gaXNzZXQoJHBhcmFtc1snYWR2YW5jZWQnXSkgPyAkcGFyYW1zWydhZHZhbmNlZCddIDogJyc7CgoJJG9wdGlvbnMgPSBhcnJheSgnaW5mb2xpbmsnID0+ICRpbmZvbGluaywgJ2FkdmFuY2VkJyA9PiAkYWR2YW5jZWQpOwoKCWlmICghdGJVdGlsczo6c2F2ZVRlbXBsYXRlUHJvcHMoJHRlbXBsYXRlLCAkcGFyYW1zLCAkb3B0aW9ucykpIHsKCQkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gJHRoaXMtPkxhbmcoJGVycm9yWydsYW5nJ10pLicgJy4kZXJyb3JbJ2FkZGl0aW9uYWwnXSwgJ3RhYnRvJyA9PiAkdGFidG8pOwoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nICwgJHJldHVybmlkLCAkcGFyYW1zKTsKCX0KfQoKJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCBhcnJheSggJ3N1Y2VzcycgPT4gJ3RydWUnLCAndGFidG8nPT4kdGFidG8sICd0YWJfbWVzc2FnZSc9PiAnbXNnX3NhdmV0ZW1wbGF0ZXByZWYnICkpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_tbimage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCi8vIEdldCBQT1NUIGRhdGEKJHRhYnRvID0gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pOwokdHRhYnRvID0gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3R0YWJ0byddKTsKCmlmIChpc3NldCgkcGFyYW1zWydmb3Jtc2VjdGlvbiddKSBhbmQgJHBhcmFtc1snZm9ybXNlY3Rpb24nXSA9PSAid210IikgewoJCQoJJHRoaXMtPlNldFByZWZlcmVuY2UoIndtdF90ZXh0Iixpc3NldCgkcGFyYW1zWyd3bXRfdGV4dCddKSA/ICRwYXJhbXNbJ3dtdF90ZXh0J10gOiAnJyk7CgkKCSRmaWVsZE5hbWUgPSAkaWQgLiAid210X2ZvbnQiOwoJaWYgKCAhaXNzZXQoJF9GSUxFU1skZmllbGROYW1lXSkgfHwgIWlzc2V0KCRfRklMRVMpIHx8ICFpc19hcnJheSgkX0ZJTEVTWyRmaWVsZE5hbWVdKSB8fCAhJF9GSUxFU1skZmllbGROYW1lXVsnbmFtZSddKSB7fQoJZWxzZSB7CgkJCgkJJGZvbnQgPSB0YlV0aWxzOjp0cnVlcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXS4iL0F1dG9MaWdodEJveC8iLiRfRklMRVNbJGZpZWxkTmFtZV1bJ25hbWUnXSk7CgkJCgkJaWYgKG1vdmVfdXBsb2FkZWRfZmlsZSgkX0ZJTEVTWyRmaWVsZE5hbWVdWyd0bXBfbmFtZSddLCAkZm9udCkpIHsKCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoIndtdF9mb250IiwkZm9udCk7CgkJfQoJCWVsc2UgewoJCQkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gc3RyX3JlcGxhY2UoIltwYXJhbV0iLCAiZm9ybXNlY3Rpb24iLCR0aGlzLT5MYW5nKCdwYXJhbV9lbXB0eScpKSwgJ3RhYnRvJyA9PiAkdGFidG8sICd0dGFidG8nPT4kdHRhYnRvICk7CgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nICwgJHJldHVybmlkLCAkcGFyYW1zKTsKCQkJcmV0dXJuOwoJCX0KCX0KCQoJCgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgid210X3NpemUiLGlzc2V0KCRwYXJhbXNbJ3dtdF9zaXplJ10pID8gJHBhcmFtc1snd210X3NpemUnXSA6ICcxMicpOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoIndtdF9jb2xvciIsaXNzZXQoJHBhcmFtc1snd210X2NvbG9yJ10pID8gJHBhcmFtc1snd210X2NvbG9yJ10gOiAnZmZmZmZmJyk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgid210X29wYWNpdHkiLGlzc2V0KCRwYXJhbXNbJ3dtdF9vcGFjaXR5J10pID8gJHBhcmFtc1snd210X29wYWNpdHknXSA6ICcnKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJ3bXRfcG9zeCIsaXNzZXQoJHBhcmFtc1snd210X3Bvc3gnXSkgPyAkcGFyYW1zWyd3bXRfcG9zeCddIDogJzEwJyk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgid210X3Bvc3kiLGlzc2V0KCRwYXJhbXNbJ3dtdF9wb3N5J10pID8gJHBhcmFtc1snd210X3Bvc3knXSA6ICcxMCcpOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoIndtdF9wb3MiLGlzc2V0KCRwYXJhbXNbJ3dtdF9wb3MnXSkgPyAkcGFyYW1zWyd3bXRfcG9zJ10gOiAnTEInKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgYXJyYXkoICdzdWNlc3MnID0+ICd0cnVlJywgJ3RhYnRvJz0+JHRhYnRvLCAndHRhYnRvJz0+JHR0YWJ0bywgJ3RhYl9tZXNzYWdlJz0+ICdtc2dfc2F2ZXByZWYnICkpOwoJcmV0dXJuOwp9CmVsc2UgaWYgKGlzc2V0KCRwYXJhbXNbJ2Zvcm1zZWN0aW9uJ10pIGFuZCAkcGFyYW1zWydmb3Jtc2VjdGlvbiddID09ICJ3bWkiKSB7CgkKCSRmaWVsZE5hbWUgPSAkaWQgLiAid21pX2ltYWdlIjsKCWlmICggIWlzc2V0KCRfRklMRVNbJGZpZWxkTmFtZV0pIHx8ICFpc3NldCgkX0ZJTEVTKSB8fCAhaXNfYXJyYXkoJF9GSUxFU1skZmllbGROYW1lXSkgfHwgISRfRklMRVNbJGZpZWxkTmFtZV1bJ25hbWUnXSkge30KCWVsc2UgewoJCSRpbWFnZSA9IHRiVXRpbHM6OnRydWVwYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLiIvQXV0b0xpZ2h0Qm94L3dtXyIuJF9GSUxFU1skZmllbGROYW1lXVsnbmFtZSddKTsKCQkKCQlpZiAobW92ZV91cGxvYWRlZF9maWxlKCRfRklMRVNbJGZpZWxkTmFtZV1bJ3RtcF9uYW1lJ10sICRpbWFnZSkpIHsKCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoIndtaV9pbWFnZSIsJGltYWdlKTsKCQl9CgkJZWxzZSB7CgkJCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiBzdHJfcmVwbGFjZSgiW3BhcmFtXSIsICJmb3Jtc2VjdGlvbiIsJHRoaXMtPkxhbmcoJ3BhcmFtX2VtcHR5JykpLCAndGFidG8nID0+ICR0YWJ0bywgJ3R0YWJ0byc9PiR0dGFidG8gKTsKCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAkcmV0dXJuaWQsICRwYXJhbXMpOwoJCQlyZXR1cm47CgkJfQoJfQoJCgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgid21pX3JlbHNpemUiLGlzc2V0KCRwYXJhbXNbJ3dtaV9yZWxzaXplJ10pID8gJHBhcmFtc1snd21pX3JlbHNpemUnXSA6ICcnKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJ3bWlfcG9zIixpc3NldCgkcGFyYW1zWyd3bWlfcG9zJ10pID8gJHBhcmFtc1snd21pX3BvcyddIDogJ0xCJyk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgid21pX3Bvc3giLGlzc2V0KCRwYXJhbXNbJ3dtaV9wb3N4J10pID8gJHBhcmFtc1snd21pX3Bvc3gnXSA6ICcxMCcpOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoIndtaV9wb3N5Iixpc3NldCgkcGFyYW1zWyd3bWlfcG9zeSddKSA/ICRwYXJhbXNbJ3dtaV9wb3N5J10gOiAnMTAnKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgYXJyYXkoICdzdWNlc3MnID0+ICd0cnVlJywgJ3RhYnRvJz0+JHRhYnRvLCAndHRhYnRvJz0+JHR0YWJ0bywgJ3RhYl9tZXNzYWdlJz0+ICdtc2dfc2F2ZXByZWYnICkpOwoJcmV0dXJuOwp9CgoJCiRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiBzdHJfcmVwbGFjZSgiW3BhcmFtXSIsICJmb3Jtc2VjdGlvbiIsJHRoaXMtPkxhbmcoJ3BhcmFtX2VtcHR5JykpLCAndGFidG8nID0+ICR0YWJ0bywgJ3R0YWJ0byc9PiR0dGFidG8gKTsKJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAkcmV0dXJuaWQsICRwYXJhbXMpOwpyZXR1cm47CgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwoKJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgovL3ByaW50X3IoJHBhcmFtcyk7CgoKLyoqCiAqIE1vZHVsZSB2b24gVG9vbEJveCB3ZWxjaGUgw7xiZXIgZGVuIFBhcmFtZXRlciAibW9kIiBhdWZnZXJ1ZmVuIHdlcmRlbi4KICovCgppZiAoaXNzZXQoJHBhcmFtc1snbW9kJ10pKSB7CgkKCWlmIChzdHJ0b2xvd2VyKCRwYXJhbXNbJ21vZCddKSA9PSAiY3N2IikgewoJCQoJCSR0ZW1wbGF0ZSAJCT0gaXNzZXQoJHBhcmFtc1sndGVtcGxhdGUnXSkgPyAnY3N2c3VtXycuJHBhcmFtc1sndGVtcGxhdGUnXSA6ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjdXJyZW50X2NzdnN1bV90ZW1wbGF0ZSIpOwoJCSRkZXRhaWx0ZW1wbGF0ZSA9IGlzc2V0KCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pID8gJ2NzdmRldF8nLiRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10gOiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiY3VycmVudF9jc3ZkZXRfdGVtcGxhdGUiKTsKCQkKCQkkZmlsZQkgCT0gaXNzZXQoJHBhcmFtc1snZmlsZSddKSA/ICRwYXJhbXNbJ2ZpbGUnXSA6ICcnOwoJCSRzb3J0YnkJIAk9IGlzc2V0KCRwYXJhbXNbJ3NvcnRieSddKSA/ICRwYXJhbXNbJ3NvcnRieSddIDogJyc7CgkJJHNvcnRvcmRlciAJPSBpc3NldCgkcGFyYW1zWydzb3J0b3JkZXInXSkgPyAkcGFyYW1zWydzb3J0b3JkZXInXSA6ICcnOwoJCSRhY3Rpb24JIAk9IGlzc2V0KCRwYXJhbXNbJ2FjdGlvbiddKSA/ICRwYXJhbXNbJ2FjdGlvbiddIDogJ2RlZmF1bHQnOwoJCSR0YmFjdGlvbgk9IGlzc2V0KCRwYXJhbXNbJ3RiYWN0aW9uJ10pID8gJHBhcmFtc1sndGJhY3Rpb24nXSA6ICdkZWZhdWx0JzsKCQkkZmlsZQkJPSBpc3NldCgkcGFyYW1zWydmaWxlJ10pID8gJHBhcmFtc1snZmlsZSddIDogJyc7IAoJCSRpdGVtaWQJCT0gaXNzZXQoJHBhcmFtc1snaXRlbWlkJ10pID8gJHBhcmFtc1snaXRlbWlkJ10gOiAnJzsKCQkkZGVsaW1pdGVyCT0gaXNzZXQoJHBhcmFtc1snZGVsaW1pdGVyJ10pID8gJHBhcmFtc1snZGVsaW1pdGVyJ10gOiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiY3N2X2RlbGltaXRlciIpOwoJCSRmaWxlY2hhcnNldD0gaXNzZXQoJHBhcmFtc1snZmlsZWNoYXJzZXQnXSkgPyAkcGFyYW1zWydmaWxlY2hhcnNldCddIDogJHRoaXMtPkdldFByZWZlcmVuY2UoImNzdl9maWxlY2hhcnNldCIpOwoJCSRjbXNjaGFyc2V0ID0gICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjc3ZfY21zY2hhcnNldCIpOwoJCQoJCWlmICghJGZpbGUpIHsKCQkJZWNobyBzdHJfcmVwbGFjZSgiW3BhcmFtXSIsICJmaWxlIiwkdGhpcy0+TGFuZygncGFyYW1fZW1wdHknKSk7CgkJCXJldHVybjsKCQl9CgkJCgkJJGZpbGUgPSByZWFscGF0aCgkY29uZmlnWydyb290X3BhdGgnXS4nLycuc3RyX3JlcGxhY2UoJGNvbmZpZ1sncm9vdF91cmwnXSwgIiIsICRmaWxlKSk7CgkJCgkJaWYgKCFmaWxlX2V4aXN0cygkZmlsZSkpIHsKCQkJZWNobyBzdHJfcmVwbGFjZSgiW2ZpbGVdIiwgJGZpbGUsJHRoaXMtPkxhbmcoJ2Vycm9yX2ZpbGVub3RleGlzdCcpKTsKCQkJcmV0dXJuOwoJCX0KCQkKCQkjIHRhYiBkZWxpbWl0ZWQsIGFuZCBlbmNvZGluZyBjb252ZXJzaW9uCgkJJGNzdiA9IG5ldyBwYXJzZUNTVigpOwoJCSRjc3YtPmVuY29kaW5nKCdpc28tODg1OS0xJywgJ1VURi04Jyk7CgkJJGNzdi0+ZGVsaW1pdGVyID0gIjsiOwoJCSRjc3YtPnBhcnNlKCRmaWxlKTsKCQkKCQkkZGF0YSA9ICRjc3YtPmRhdGE7CgkJCgkJLy8gYWRkIElEIAoJCSRpZCA9IDE7CgkJZm9yZWFjaCAoJGRhdGEgYXMgJGsgPT4gJHYpIHsKCQkJJGFycmF5ID0gJGRhdGFbJGtdOwoJCQkkZGF0YVska10gPSBhcnJheV9tZXJnZShhcnJheSgnaWQnID0+ICRpZCksJGFycmF5KTsKCQkJJHByZXR0eXVybCA9ICd0Yi8nLiRwYXJhbXNbJ21vZCddLicvJy4kaWQuJy8nLiRyZXR1cm5pZC4nL2RldGFpbCc7CgkJCSRsaW5rQXJyYXkgPSBhcnJheSgnbW9kJyA9PiAnY3N2JywgJ2l0ZW1pZCcgPT4gJGlkLCAndGJhY3Rpb24nID0+ICdkZXRhaWwnKTsKCQkJJGRhdGFbJGtdWydtb3JlX2xpbmsnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICcnLCAkbGlua0FycmF5LCcnLCB0cnVlLCBmYWxzZSwgJycsIHRydWUsICRwcmV0dHl1cmwpOwoJCQkKCQkJJGlkKys7CgkJfQoJCQoJCQoJCS8vIERldGFpbGFuc2ljaHQKCQlpZiAoJHRiYWN0aW9uID09ICdkZXRhaWwnKSB7CgkJCQoJCQkkdGVtcGxhdGVwcm9wcyA9IHRiVXRpbHM6OmdldFRlbXBsYXRlUHJvcHMoJGRldGFpbHRlbXBsYXRlKTsKCQkJCgkJCWlmICghJHRlbXBsYXRlcHJvcHMpIHsKCQkJCWVjaG8gc3RyX3JlcGxhY2UoIlt0ZW1wbGF0ZV0iLCAkZGV0YWlsdGVtcGxhdGUsJHRoaXMtPkxhbmcoJ2Vycm9yX3RlbXBsYXRldW5rbm93bicpKTsKCQkJCXJldHVybjsKCQkJfQoJCQkKCQkJLy8gU3R5bGVzaGVldCBlaW5iaW5kZW4gZmFsbHMgdm9yaGFuZGVuCgkJCWlmIChpc19maWxlKCdtb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2Nzcy8nLiRkZXRhaWx0ZW1wbGF0ZS4nLmNzcycpKSB7CgkJCQkkdGhpcy0+dGJNZXRhWyR0ZW1wbGF0ZV0gPSAnPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSInLiRjb25maWdbJ3Jvb3RfdXJsJ10uJy9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2Nzcy8nLiRkZXRhaWx0ZW1wbGF0ZS4nLmNzcyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iIC8+JzsKCQkJfQoJCQkJCgkJCSRjb250ZW50c2NvZGUgPSBleHBsb2RlKFRPT0xCT1hfU0VQQVJBVE9SLCAkdGhpcy0+R2V0VGVtcGxhdGUoJGRldGFpbHRlbXBsYXRlKSk7CgkJCSRqYXZhc2NyaXB0ID0gaXNzZXQoJGNvbnRlbnRzY29kZVsyXSkgPyBzdHJfcmVwbGFjZSgiKn0iLCAiIiwgc3Vic3RyKCRjb250ZW50c2NvZGVbMl0sMCwtMikpIDogJyc7CgkJCQkKCQkJaWYgKCRqYXZhc2NyaXB0KSB7CgkJCQlpZiAoJHRlbXBsYXRlcHJvcHNbJ2pxdWVyeSddKQkkdGhpcy0+dGJKcXVlcnkgPSB0cnVlOwkKCQkJCSR0aGlzLT50Yk1ldGFKc1skdGVtcGxhdGVdID0gdGJVdGlsczo6ZXhlY3V0ZVRlbXBsYXRlU21hcnR5KCRqYXZhc2NyaXB0KS4iXG4iOwoJCQl9CgkJCQoJCQkkaXRlbSA9IChpc3NldCgkZGF0YVskaXRlbWlkXSkpID8gJGRhdGFbJGl0ZW1pZF0gOiBhcnJheSgpOwoJCQkKCQkJJGl0ZW0gPSBidFRvb2xzOjphcnJheVRvT2JqZWN0KCRpdGVtKTsKCQkJJHNtYXJ0eS0+YXNzaWduKCJpdGVtIiwkaXRlbSk7CgkJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkZGV0YWlsdGVtcGxhdGUpOwoJCX0KCQllbHNlIGlmICgkdGJhY3Rpb24gPT0gJ3NlYXJjaCcpIHsKCQkJCgkJfQoJCWVsc2UgewoJCQkKCQkJJHRlbXBsYXRlcHJvcHMgPSB0YlV0aWxzOjpnZXRUZW1wbGF0ZVByb3BzKCR0ZW1wbGF0ZSk7CgkJCQoJCQlpZiAoISR0ZW1wbGF0ZXByb3BzKSB7CgkJCQllY2hvIHN0cl9yZXBsYWNlKCJbdGVtcGxhdGVdIiwgJHRlbXBsYXRlLCR0aGlzLT5MYW5nKCdlcnJvcl90ZW1wbGF0ZXVua25vd24nKSk7CgkJCQlyZXR1cm47CgkJCX0KCQkJCgkJCS8vIFN0eWxlc2hlZXQgZWluYmluZGVuIGZhbGxzIHZvcmhhbmRlbgoJCQlpZiAoaXNfZmlsZSgnbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvJy4kdGVtcGxhdGUuJy5jc3MnKSkgewoJCQkJJHRoaXMtPnRiTWV0YVskdGVtcGxhdGVdID0gJzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iJy4kY29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvJy4kdGVtcGxhdGUuJy5jc3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIiAvPic7CgkJCX0KCQkJCQoJCQkkY29udGVudHNjb2RlID0gZXhwbG9kZShUT09MQk9YX1NFUEFSQVRPUiwgJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZSkpOwoJCQkkamF2YXNjcmlwdCA9IGlzc2V0KCRjb250ZW50c2NvZGVbMl0pID8gc3RyX3JlcGxhY2UoIip9IiwgIiIsIHN1YnN0cigkY29udGVudHNjb2RlWzJdLDAsLTIpKSA6ICcnOwoJCQkJCgkJCWlmICgkamF2YXNjcmlwdCkgewoJCQkJaWYgKCR0ZW1wbGF0ZXByb3BzWydqcXVlcnknXSkJJHRoaXMtPnRiSnF1ZXJ5ID0gdHJ1ZTsJCgkJCQkkdGhpcy0+dGJNZXRhSnNbJHRlbXBsYXRlXSA9IHRiVXRpbHM6OmV4ZWN1dGVUZW1wbGF0ZVNtYXJ0eSgkamF2YXNjcmlwdCkuIlxuIjsKCQkJfQoJCQkKCQkKCQkJaWYgKCRzb3J0YnkpIHsKCQkJCSRzb3J0ID0gbmV3IHRiQXJyYXlNdWx0aXNvcnQoKTsKCQkJCSRzb3J0LT5zZXRBcnJheSgkZGF0YSk7CgkKCQkJCSRmaWVsZHMgPSBleHBsb2RlKCIsIiwgJHNvcnRieSk7CgkJCQlmb3JlYWNoICgkZmllbGRzIGFzICRmaWVsZCkgewoJCQkJCSRmaWVsZCA9ICBleHBsb2RlKCJ8IiwgJGZpZWxkKTsKCQkJCQlpZiAoaXNzZXQoJGZpZWxkWzFdKSkgeyAKCQkJCQkJaWYgKHN0cnRvbG93ZXIoJGZpZWxkWzFdKSA9PSAiZGVzYyIpCgkJCQkJCQkkc29ydC0+YWRkQ29sdW1uKCRmaWVsZFswXSxTUlRfREVTQyk7CgkJCQkJCWVsc2UKCQkJCQkJCSRzb3J0LT5hZGRDb2x1bW4oJGZpZWxkWzBdLFNSVF9BU0MpOwoJCQkJCX0JCgkJCQkJZWxzZQoJCQkJCQkkc29ydC0+YWRkQ29sdW1uKCRmaWVsZFswXSxTUlRfQVNDKTsKCQkJCX0KCQkJCQoJCQkJJGRhdGEgPSAkc29ydC0+c29ydCgpOwoJCQl9CgkJCgkJCi8vCQkJJGRhdGEgPSBidFRvb2xzOjpzZWFyY2hBcnJheSgkZGF0YSwgJ2Jlc3RlbGxucicsICdjUzE1NzM4RCcpOwoKCgkvLwoJLy8JCWVjaG8gIjxwcmU+Ii5wcmludF9yKCRkYXRhLHRydWUpLiI8L3ByZT4iOwoJLy8vLwoJLy8vLwoJCQkkZGF0YSA9IGJ0VG9vbHM6OmFycmF5VG9PYmplY3QoJGRhdGEpOwoJCQkKCS8vCQllY2hvICI8cHJlPiIucHJpbnRfcigkZGF0YSx0cnVlKS4iPC9wcmU+IjsKCQkJCgkJCSRzbWFydHktPmFzc2lnbigiaXRlbXMiLCRkYXRhKTsKCQkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0ZW1wbGF0ZSk7CgkKCQkJcmV0dXJuOwoJCQoJCX0KCX0KCQoJCgkKCS8qKgoJICogCgkgKiBTb2NpYWxTaGFyZVByaXZhY3kgTW9kdWwgLSAyIHN0dWZpZ2UgRWluYmluZHVuZyB2b24gU29jaWFsIE1lZGlhIEJ1dHRvbnMgaW4gZGllIFdlYnNlaXRlCgkgKiBAcGFyYW0gbW9kID0gInNvY2lhbHNoYXJlcHJpdmFjeSIKCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIKCSAqIAoJICovCgkKCWVsc2UgaWYgKCRwYXJhbXNbJ21vZCddPT0gInNvY2lhbHNoYXJlcHJpdmFjeSIgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoInNvY2lhbHNoYXJlcHJpdmFjeV91c2UiKSkgewoKCQkkdGVtcGxhdGUgPSAic29jaWFsc2hhcmVwcml2YWN5IjsKCQkkdGVtcGxhdGVwcm9wcyA9IHRiVXRpbHM6OmdldFRlbXBsYXRlUHJvcHMoJHRlbXBsYXRlKTsKCQkKCQkkaW5mb2xpbmsgPSBpc3NldCgkdGVtcGxhdGVwcm9wc1snaW5mb2xpbmsnXSkgPyAkdGVtcGxhdGVwcm9wc1snaW5mb2xpbmsnXSA6ICcnOwoJCQoJCSR0ZW1wbGF0ZV9qcyA9ICIiOwoJCSR0ZW1wbGF0ZV9tZXRhZGF0YSA9ICIiOwoJCQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOwoJCQoJCSRjb250ZW50c2NvZGUgPSBleHBsb2RlKFRPT0xCT1hfU0VQQVJBVE9SLCAkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlKSk7CgkJCgkJLy8kY29udGVudCA9IGlzc2V0KCRjb250ZW50c2NvZGVbMF0pID8gJGNvbnRlbnRzY29kZVswXSA6ICcnOwoJCSRzdHlsZXNoZWV0ID0gaXNzZXQoJGNvbnRlbnRzY29kZVsxXSkgPyB0cmltKCRjb250ZW50c2NvZGVbMV0sJyp9JykgOiAnJzsKCQkkamF2YXNjcmlwdCA9IGlzc2V0KCRjb250ZW50c2NvZGVbMl0pID8gdHJpbSgkY29udGVudHNjb2RlWzJdLCcqfScpIDogJyc7CgkJCgkJLy8gTG9hZCBqUXVlcnkKCQlpZiAoJHRlbXBsYXRlcHJvcHNbJ2pxdWVyeSddKQkkdGhpcy0+dGJKcXVlcnkgPSB0cnVlOwkKCQkJCgkJaWYgKCRpbmZvbGluaykKCQkJJGphdmFzY3JpcHQgPSBzdHJfcmVwbGFjZSgiW2luZm9MaW5rXSIsIAkJIidpbmZvX2xpbmsnOiAnIi4kaW5mb2xpbmsuIicsIiwgJGphdmFzY3JpcHQpOwoJCWVsc2UgCQoJCQkkamF2YXNjcmlwdCA9IHN0cl9yZXBsYWNlKCJbaW5mb0xpbmtdIiwgCQkiIiwgJGphdmFzY3JpcHQpOwoJCSRqYXZhc2NyaXB0ID0gc3RyX3JlcGxhY2UoIltmYWNlYm9va0FwcElkXSIsCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzb2NpYWxzaGFyZXByaXZhY3lfZmFjZWJvb2tpZCcpLCAkamF2YXNjcmlwdCk7CgkJJGphdmFzY3JpcHQgPSBzdHJfcmVwbGFjZSgiW3R4dEZiSW5mb10iLCAJCSR0aGlzLT5MYW5nKCdzb2NpYWxzaGFyZXByaXZhY3lfdHh0ZmJpbmZvJyksICRqYXZhc2NyaXB0KTsKCQkkamF2YXNjcmlwdCA9IHN0cl9yZXBsYWNlKCJbdHh0RmJPZmZdIiwgCQkkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5X3R4dGZib2ZmJyksICRqYXZhc2NyaXB0KTsKCQkkamF2YXNjcmlwdCA9IHN0cl9yZXBsYWNlKCJbdHh0RmJPbl0iLCAJCQkkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5X3R4dGZib24nKSwgJGphdmFzY3JpcHQpOwoJCSRqYXZhc2NyaXB0ID0gc3RyX3JlcGxhY2UoIlt0eHRUd2l0dGVySW5mb10iLCAJJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHR0d2l0dGVyaW5mbycpLCAkamF2YXNjcmlwdCk7CgkJJGphdmFzY3JpcHQgPSBzdHJfcmVwbGFjZSgiW3R4dFR3aXR0ZXJPZmZdIiwgCSR0aGlzLT5MYW5nKCdzb2NpYWxzaGFyZXByaXZhY3lfdHh0dHdpdHRlcm9mZicpLCAkamF2YXNjcmlwdCk7CgkJJGphdmFzY3JpcHQgPSBzdHJfcmVwbGFjZSgiW3R4dFR3aXR0ZXJPbl0iLCAJJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHR0d2l0dGVyb24nKSwgJGphdmFzY3JpcHQpOwoJCSRqYXZhc2NyaXB0ID0gc3RyX3JlcGxhY2UoIlt0eHRHcGx1c0luZm9dIiwgCSR0aGlzLT5MYW5nKCdzb2NpYWxzaGFyZXByaXZhY3lfdHh0Z3BsdXNpbmZvJyksICRqYXZhc2NyaXB0KTsKCQkkamF2YXNjcmlwdCA9IHN0cl9yZXBsYWNlKCJbdHh0R3BsdXNPZmZdIiwgCQkkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5X3R4dGdwbHVzb2ZmJyksICRqYXZhc2NyaXB0KTsKCQkkamF2YXNjcmlwdCA9IHN0cl9yZXBsYWNlKCJbdHh0R3BsdXNPbl0iLCAJCSR0aGlzLT5MYW5nKCdzb2NpYWxzaGFyZXByaXZhY3lfdHh0Z3BsdXNvbicpLCAkamF2YXNjcmlwdCk7CgkJJGphdmFzY3JpcHQgPSBzdHJfcmVwbGFjZSgiW3R4dEhlbHBdIiwgCQkJJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHRoZWxwJyksICRqYXZhc2NyaXB0KTsKCQkkamF2YXNjcmlwdCA9IHN0cl9yZXBsYWNlKCJbdHh0U2V0dGluZ3NQZXJtYV0iLCAkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5X3NldHRpbmdzcGVybWEnKSwgJGphdmFzY3JpcHQpOwoJCQoJCQoJCWlmICghaXNzZXQoJHRoaXMtPnRiTWV0YVskdGVtcGxhdGVdKSkgewoJCQlpZiAoJHN0eWxlc2hlZXQpICR0aGlzLT50Yk1ldGFbJHRlbXBsYXRlXSA9ICc8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IicuJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzL3NvY2lhbHNoYXJlcHJpdmFjeS5jc3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIiAvPic7CgkJCQoJCQlpZiAoJGphdmFzY3JpcHQpCgkJCQkkdGhpcy0+dGJNZXRhSnNbJHRlbXBsYXRlXSA9IHRiVXRpbHM6OmV4ZWN1dGVUZW1wbGF0ZVNtYXJ0eSgkamF2YXNjcmlwdCkuIlxuIjsJCgkJfQoJCQoJCXJldHVybiAnJzsKCQkJCQoJCQoJfQoJZWxzZSBpZiAoJHBhcmFtc1snbW9kJ109PSAic29jaWFsc2hhcmVwcml2YWN5IiAmJiAhJHRoaXMtPkdldFByZWZlcmVuY2UoInNvY2lhbHNoYXJlcHJpdmFjeV91c2UiKSkgewoJCWVjaG8gJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV9pbmFjdGl2ZScpOwoJCXJldHVybiAnJzsKCX0KCS8qKgoJICogCgkgKiBUd2l0dGVyZmVlZCBNb2R1bCAtIERpZXNlcyBNb2R1bCBpc3QgbmljaHQgZG9rdW1lbnRpZXJ0IHVuZCBiYXV0IGF1ZiBkaWUgSmF2YVNjcmlwdCBMw7ZzdW5nIHZvbiBUd2l0dGVyIGF1Zi4KCSAqIFNvYmFsZCBpY2ggbWFsIFplaXQgaGFiZSwgd2VyZGUgaWNoIG1pciBkaWUgVW1zZXR6dW5nIGRlcyBNb2R1bHMgw7xiZXJsZWdlbiB1bmQgZmVydGlnIHVtc2V0emVuCgkgKiBAcGFyYW0gbW9kID0gInR3aXR0ZXJmZWVkIgoJICogQHBhcmFtIHVzZXJuYW1lIC0gVHdpdHRlciBVc2VybmFtZQoJICogQHBhcmFtIGNvdW50IC0gQW56YWhsIGRlciBUd2VldHMgZGllIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbGVuCgkgKiBAcGFyYW0gZGF0ZWZvcm1hdCAtIEZvcm1hdCBpbiB3ZWxjaGVtIGRhcyBUd2VldC1EYXR1bSBhbmdlemVpZ3Qgd2VyZGVuIHNvbGwgKGQubS5ZIEg6aTpzIG9kZXIgZnJpZW5kbHkpCgkgKiBAcGFyYW0gbm9jYWNoZSAtIEF1c2dhYmUgbmljaHQgaW0gQ2FjaGUgc3BlaWNoZXJuCgkgKiBAcGFyYW0gY2FjaGV0aW1lIC0gWmVpdCBpbiBTZWt1bmRlbiB3aWUgbGFuZ2UgZGVyIENhY2hlIGVyaGFsdGVuIGJsZWliZW4gc29sbAoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlcgoJICogCgkgKi8KCWVsc2UgaWYgKCRwYXJhbXNbJ21vZCddID09ICJ0d2l0dGVyZmVlZCIpIHsKCQkKCQlpZiAoKCFpc3NldCgkcGFyYW1zWyd1c2VybmFtZSddKSBhbmQgIWlzc2V0KCRwYXJhbXNbJ3NlYXJjaCddKSkgb3IgKGlzc2V0KCRwYXJhbXNbJ2xpc3QnXSkgYW5kICFpc3NldCgkcGFyYW1zWyd1c2VybmFtZSddKSkpIHsKCQkJZWNobyAiVG9vbGJveCBtb2Q9dHdpdHRlcmZlZWQgLT4gUGFyYW0gJ3VzZXJuYW1lJyBub3QgZGVmaW5pZWQiOwoJCQlyZXR1cm4gJyc7CgkJfQoJCWVsc2UgaWYgKCFidFRvb2xzOjppc0N1cmxFbmFibGVkKCkpIHsKCQkJZWNobyAiPHA+VG9vbEJveDp0d2l0dGVyZmVlZDogIi4kdGhpcy0+TGFuZygnZXJyb3JfY3VybCcpLiI8L3A+IjsKCQkJcmV0dXJuICcnOwoJCX0gCgkJCgkJJHRlbXBsYXRlIAk9IGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pID8gJ3R3Zl8nLiRwYXJhbXNbJ3RlbXBsYXRlJ10gOiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiY3VycmVudF90d2l0dGVyZmVlZF90ZW1wbGF0ZSIpOwoJCSR1c2VybmFtZSAJPSBpc3NldCgkcGFyYW1zWyd1c2VybmFtZSddKSA/ICRwYXJhbXNbJ3VzZXJuYW1lJ10gOiAnJzsKCQkkbGlzdAkgCT0gaXNzZXQoJHBhcmFtc1snbGlzdCddKSA/ICRwYXJhbXNbJ2xpc3QnXSA6ICcnOwoJCSRzZWFyY2gJIAk9IGlzc2V0KCRwYXJhbXNbJ3NlYXJjaCddKSA/ICRwYXJhbXNbJ3NlYXJjaCddIDogJyc7CgkJJGNvdW50CSAgCT0gaXNzZXQoJHBhcmFtc1snY291bnQnXSkgPyAoaW50KSAkcGFyYW1zWydjb3VudCddIDogMjA7CgkJJGRhdGVmb3JtYXQgPSBpc3NldCgkcGFyYW1zWydkYXRlZm9ybWF0J10pID8gJHBhcmFtc1snZGF0ZWZvcm1hdCddIDogJ2ZyaWVuZGx5JzsKCQkkY2FjaGV0aW1lCT0gaXNzZXQoJHBhcmFtc1snY2FjaGV0aW1lJ10pID8gKGludCkgJHBhcmFtc1snY2FjaGV0aW1lJ10gOiAnMTAnOwoJCQoJCWlmICgkY2FjaGV0aW1lIDwgMSkgJGNhY2hldGltZSA9IDEwOwoJCgkJdHJ5IHsKCQkJJHRlbXBsYXRlcHJvcHMgPSB0YlV0aWxzOjpnZXRUZW1wbGF0ZVByb3BzKCR0ZW1wbGF0ZSk7CgkJCQoJCQkvLyBTdHlsZXNoZWV0IGVpbmJpbmRlbiBmYWxscyB2b3JoYW5kZW4KCQkJaWYgKGlzX2ZpbGUoJ21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzLycuJHRlbXBsYXRlLicuY3NzJykpIHsKCQkJCSR0aGlzLT50Yk1ldGFbJHRlbXBsYXRlXSA9ICc8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IicuJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzLycuJHRlbXBsYXRlLicuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiIgLz4nOwoJCQl9CgkJCQoJCQkkY29udGVudHNjb2RlID0gZXhwbG9kZShUT09MQk9YX1NFUEFSQVRPUiwgJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZSkpOwoJCQkkamF2YXNjcmlwdCA9IGlzc2V0KCRjb250ZW50c2NvZGVbMl0pID8gc3RyX3JlcGxhY2UoIip9IiwgIiIsIHN1YnN0cigkY29udGVudHNjb2RlWzJdLDAsLTIpKSA6ICcnOwoJCQkKCQkJaWYgKCRqYXZhc2NyaXB0KSB7CgkJCQlpZiAoJHRlbXBsYXRlcHJvcHNbJ2pxdWVyeSddKSAkdGhpcy0+dGJKcXVlcnkgPSB0cnVlOwkKCQkJCSR0aGlzLT50Yk1ldGFKc1skdGVtcGxhdGVdID0gdGJVdGlsczo6ZXhlY3V0ZVRlbXBsYXRlU21hcnR5KCRqYXZhc2NyaXB0KS4iXG4iOwkKCQkJfQkKCgkJCWlmICgkc2VhcmNoKQoJCQkJJGZlZWQgPSB0YlR3aXR0ZXJmZWVkOjpnZXRTZWFyY2hGZWVkKCRzZWFyY2gsICRjb3VudCwgJGRhdGVmb3JtYXQsICRjYWNoZXRpbWUpOwoJCQllbHNlIGlmICgkdXNlcm5hbWUgIT0gIiIgYW5kICRsaXN0ICE9ICIiKQkKCQkJCSRmZWVkID0gdGJUd2l0dGVyZmVlZDo6Z2V0VXNlckxpc3QoJHVzZXJuYW1lLCAkbGlzdCwgJGNvdW50LCAkZGF0ZWZvcm1hdCwgJGNhY2hldGltZSk7CgkJCWVsc2UgCQoJCQkJJGZlZWQgPSB0YlR3aXR0ZXJmZWVkOjpnZXRVc2VyVGltZWxpbmUoJHVzZXJuYW1lLCAkY291bnQsICRkYXRlZm9ybWF0LCAkY2FjaGV0aW1lKTsKCQkJCQoJCQkkc21hcnR5LT5hc3NpZ24oInR3aXR0ZXJmZWVkIiwkZmVlZCk7CgkJCSRjb21waWxlID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOwoJCQllY2hvICRjb21waWxlOwoJCX0KCQljYXRjaCAoRXhjZXB0aW9uICRlKSB7IAoJCSAJZWNobyAidGJUd2l0dGVyZmVlZCBFcnJvcjogIiAuICRlLT5nZXRNZXNzYWdlKCk7CgkJIH0gCgkJCQoJfQovLwllbHNlIGlmICgkcGFyYW1zWydtb2QnXSA9PSAiaW1hZ2UiKSB7Ci8vCQkKLy8JCSR3aWR0aCA9IGlzc2V0KCRwYXJhbXNbJ3dpZHRoJ10pID8gJHBhcmFtc1snd2lkdGgnXSA6ICcnOwovLwkJJGhlaWdodCA9IGlzc2V0KCRwYXJhbXNbJ2hlaWdodCddKSA/ICRwYXJhbXNbJ2hlaWdodCddIDogJyc7Ci8vCQkkaW1hZ2UgPSBpc3NldCgkcGFyYW1zWydpbWFnZSddKSA/ICRwYXJhbXNbJ2ltYWdlJ10gOiAnJzsKLy8JCSRhbHQgPSBpc3NldCgkcGFyYW1zWydhbHQnXSkgPyAkcGFyYW1zWydhbHQnXSA6ICcnOwovLwkJJHRpdGxlID0gaXNzZXQoJHBhcmFtc1sndGl0bGUnXSkgPyAkcGFyYW1zWyd0aXRsZSddIDogJyc7Ci8vCQkkY2xhc3MgPSBpc3NldCgkcGFyYW1zWydjbGFzcyddKSA/ICRwYXJhbXNbJ2NsYXNzJ10gOiAnJzsKLy8JCSRzdHlsZSA9IGlzc2V0KCRwYXJhbXNbJ3N0eWxlJ10pID8gJHBhcmFtc1snc3R5bGUnXSA6ICcnOwovLwkJJGlkID0gaXNzZXQoJHBhcmFtc1snaWQnXSkgPyAkcGFyYW1zWydpZCddIDogJyc7Ci8vCQkkbm9fdGFnID0gaXNzZXQoJHBhcmFtc1snbm9fdGFnJ10pID8gJHBhcmFtc1snbm9fdGFnJ10gOiBmYWxzZTsKLy8JCQovLwkJaWYgKCEkaW1hZ2UpIHsKLy8JCQllY2hvIHN0cl9yZXBsYWNlKCJbcGFyYW1dIiwgImltYWdlIiwgJHRoaXMtPkxhbmcoInBhcmFtX2VtcHR5IikpOwovLwkJCXJldHVybjsKLy8JCX0KLy8JCSRpbWFnZSA9IHN0cl9yZXBsYWNlKCRjb25maWdbJ3Jvb3RfcGF0aCddLCAiIixzdHJfcmVwbGFjZSgkY29uZmlnWydyb290X3VybCddLCAiIiwgJGltYWdlKSwkaW1hZ2UpOwovLwkJJHJwaW1hZ2UgPSByZWFscGF0aCgkY29uZmlnWydyb290X3BhdGgnXS4nLycuJGltYWdlKTsKLy8JCQovLwkJaWYgKCFmaWxlX2V4aXN0cygkcnBpbWFnZSkpIHsKLy8JCQllY2hvIHN0cl9yZXBsYWNlKCJbZmlsZV0iLCAkaW1hZ2UsICR0aGlzLT5MYW5nKCJlcnJvcl9maWxlbm90ZXhpc3QiKSk7Ci8vCQkJcmV0dXJuOwovLwkJfSAKLy8JCQovLwkJJGltZ2luZm8gID0gZ2V0aW1hZ2VzaXplKCRycGltYWdlKTsKLy8JCQovLwkJJGF0dHIgPSAiIjsKLy8JCSRhdHRyIC49ICcgYWx0PSInLiRhbHQuJyInOwovLwkJaWYgKCR0aXRsZSkgJGF0dHIgLj0gJyB0aXRsZT0iJy4kdGl0bGUuJyInOwovLwkJaWYgKCRjbGFzcykgJGF0dHIgLj0gJyBjbGFzcz0iJy4kY2xhc3MuJyInOwovLwkJaWYgKCRpZCkgJGF0dHIgLj0gJyBpZD0iJy4kaWQuJyInOwovLwkJaWYgKCRzdHlsZSkgJGF0dHIgLj0gJyBzdHlsZT0iJy4kc3R5bGUuJyInOwovLwkJCi8vCQlpZiAoJGhlaWdodCBvciAkd2lkdGgpIHsKLy8JCQlpZiAoJGhlaWdodCBhbmQgISR3aWR0aCBhbmQgJGhlaWdodCA8ICRpbWdpbmZvWzFdKSB7Ci8vCQkJCSR3aWR0aCA9ICRpbWdpbmZvWzBdIC8gKCRpbWdpbmZvWzFdIC8gJGhlaWdodCk7Ci8vCQkJfQovLwkJCWVsc2UgaWYgKCR3aWR0aCBhbmQgISRoZWlnaHQgYW5kICR3aWR0aCA8ICRpbWdpbmZvWzBdKSB7Ci8vCQkJCSRoZWlnaHQgPSAkaW1naW5mb1sxXSAvICgkaW1naW5mb1swXSAvICR3aWR0aCk7Ci8vCQkJfQovLwkJCSRhdHRyaWJ1dGVzID0gYXJyYXkoKTsKLy8JCQlpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF9yZWwnKSkJJGF0dHJpYnV0ZXNbJ3JlbCddCQk9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfcmVsJyk7Ci8vCQkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfY2xhc3MnKSkJJGF0dHJpYnV0ZXNbJ2NsYXNzJ10JPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X2NsYXNzJyk7Ci8vCQkJCi8vCQkJJGh0bWwgPSAnPGltZyBzcmM9IicuJGNvbmZpZ1sncm9vdF91cmwnXS4nLycuJGltYWdlLiciIHdpZHRoPSInLiR3aWR0aC4nIiBoZWlnaHQ9IicuJGhlaWdodC4nIiAnLiRhdHRyLicgLz4nOwovLwkJCSRodG1sID0gQXV0b2xpZ2h0Ym94OjpJbWcyVGh1bWIoJGh0bWwsICRhdHRyaWJ1dGVzKTsKLy8JCX0KLy8JCWVsc2UgewovLwkJCSRodG1sID0gJzxpbWcgc3JjPSInLiRjb25maWdbJ3Jvb3RfdXJsJ10uJy8nLiRpbWFnZS4nIiB3aWR0aD0iJy4kaW1naW5mb1swXS4nIiBoZWlnaHQ9IicuJGltZ2luZm9bMV0uJyIgJy4kYXR0ci4nIC8+JzsKLy8JCX0KLy8JCWlmICgkbm9fdGFnKSB7Ci8vCQkJJGltZyA9IGJ0VG9vbHM6OmdldEltZ1RhZ3MoJGh0bWwpOwovLwkJCWVjaG8gJGltZ1swXVsnc3JjJ107Ci8vCQkJcmV0dXJuOwovLwkJfQovLwkJCi8vCQllY2hvICRodG1sOwovLwkJcmV0dXJuOwovLwkJCi8vCX0KCWVsc2UgewoJCWVjaG8gc3RyX3JlcGxhY2UoIlttb2RdIiwgJHBhcmFtc1snbW9kJ10sICR0aGlzLT5MYW5nKCJwYXJhbV9pbnZhbGlkIikpOwoJfQoJCglyZXR1cm4gJyc7CgkKfQplbHNlIGlmIChjb3VudCgkcGFyYW0pID4gMCkgewoJZWNobyBzdHJfcmVwbGFjZSgiW3BhcmFtXSIsICJtb2QiLCAkdGhpcy0+TGFuZygicGFyYW1fZW1wdHkiKSk7CglyZXR1cm47Cn0KLy8gQ2hlY2sgaWYgbW9kdWxlIHdhcyBhbHJlYWR5IHVzZWQgKGRpZXMgdHJpZmZ0IG51ciBmw7xyIGRpZSBMb2dnaW5nIHVuZCBVUkwgRnVua3Rpb25lbiBkZXMgTW9kdWxzIHp1KQplbHNlIGlmICghJHRoaXMtPnRiVXNlZCkgewoJLy8gU2V0IHRoZSBtb2R1bGUgdXNlZAoJJHRoaXMtPnRiVXNlZCA9IHRydWU7CgkvLyBTZXQgY29udGVudCBpZAoJJHRoaXMtPnBhZ2VJZCA9IChpbnQpY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCJjb250ZW50X2lkIik7CgkKCS8vIExvZyB2aXNpdAoJJHRiTG9nID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzX3VzZScpID8gJHRoaXMtPnRiUmVkaXJlY3RMb2ctPlByZXBhcmVMb2dWaXNpdCgpIDogYXJyYXkoKTsKCS8vIExvZyBkZWJ1ZwoJaWYgICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVidWdfdXNlJykpICR0aGlzLT50YlJlZGlyZWN0TG9nLT5EZWJ1Z01EKCk7CgkvLyBMb29rIGZvciByZWRpcmVjdCB1cmxzCglpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ29sZHVybF91c2UnKSkgJHRoaXMtPnRiUmVkaXJlY3RMb2ctPlJlZGlyZWN0VVJMKCR0YkxvZyk7CgkvLyBMb2cgZXJyb3JzIChlLmcuIDQwNCkKCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3RhdHNfdXNlJykpICR0aGlzLT50YlJlZGlyZWN0TG9nLT5Mb2dFcnJvcigkdGJMb2cpOwp9CnJldHVybiAnJzsKCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwoKLy8gU2V0IG5lZWRlZCBvYmplY3RzCiR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsKJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwoKLy8gSW5zZXJ0IGNvbnRlbnQgb3BlcmF0aW9ucyBjbGFzcwokdGJDb250ZW50T3BzID0mIGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgovLyBHZXQgVGFiIFJlZGlyZWN0IGFjdGlvbgokdGJEZWZhdWx0VGFiID0gJ21haW4nOwoKJHRhYnRvID0gaXNzZXQoJHBhcmFtc1sndGFidG8nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSkgOiAkdGJEZWZhdWx0VGFiOwoKJHRiU3VjY2VzcyA9IGlzc2V0KCRwYXJhbXNbJ3N1Y2VzcyddKSA/ICRwYXJhbXNbJ3N1Y2VzcyddIDogJyc7CgoKLy8gR2V0IGRiIGhhbmRsZQovLyR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsKLy8kZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCR0YkRiKTsKLy8kdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdFTkdJTkUgTXlJU0FNIENIQVJBQ1RFUiBTRVQgdXRmOCBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaScsICdteXNxbGknID0+ICdFTkdJTkUgTXlJU0FNIENIQVJBQ1RFUiBTRVQgdXRmOCBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaScpOwovLwovLy8vIENTVgovLyRmbGRzID0gIgovLwlmaWxlbnIgSSBLRVkgQVVUTywKLy8JZmlsZW5hbWUgQygyNTUpLAovLwlwYXRoIEMoNTAwKSwKLy8JZmlsZXNpemUgSTgsCi8vCWxhc3R1cGRhdGUgRFQKLy8iOwovLyRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdG9vbGJveF9jc3YiLAkkZmxkcywgJHRhYm9wdGFycmF5KTsKLy8kZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgplY2hvICR0aGlzLT50YkRvbmF0ZTsKCi8vIERpc3BsYXlzIHRoZSBUYWJzCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgKSB7CgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ21haW4nLCR0aGlzLT5MYW5nKCdtYWluJyksJHRhYnRvPT0nbWFpbic/dHJ1ZTpmYWxzZSk7Cn0KaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdGF0c180MDQnKSApIHsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignNDA0JywkdGhpcy0+TGFuZygnNDA0JyksJHRhYnRvPT0nNDA0Jz90cnVlOmZhbHNlKTsKfQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ29sZHVybF91c2UnKSApIHsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVkaXJlY3RzJywkdGhpcy0+TGFuZygncmVkaXJlY3RzJyksJHRhYnRvPT0ncmVkaXJlY3RzJz90cnVlOmZhbHNlKTsKfQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzX3VzZScpICkgewoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdzdGF0cycsJHRoaXMtPkxhbmcoJ3N0YXRzJyksJHRhYnRvPT0nc3RhdHMnP3RydWU6ZmFsc2UpOwp9CmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X3VzZScpICkgewoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdhdXRvbGlnaHRib3gnLCR0aGlzLT5MYW5nKCdhdXRvbGlnaHRib3gnKSwkdGFidG89PSdhdXRvbGlnaHRib3gnP3RydWU6ZmFsc2UpOwp9CmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIHsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigndGJpbWFnZScsJHRoaXMtPkxhbmcoJ3RiaW1hZ2UnKSwkdGFidG89PSd0YmltYWdlJz90cnVlOmZhbHNlKTsKfQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NvY2lhbHNoYXJlcHJpdmFjeV91c2UnKSApIHsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignc29jaWFsc2hhcmVwcml2YWN5JywkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5JyksJHRhYnRvPT0nc29jaWFsc2hhcmVwcml2YWN5Jz90cnVlOmZhbHNlKTsKfQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3aXR0ZXJmZWVkX3VzZScpICkgewoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCd0d2l0dGVyZmVlZCcsJHRoaXMtPkxhbmcoJ3R3aXR0ZXJmZWVkJyksJHRhYnRvPT0ndHdpdHRlcmZlZWQnP3RydWU6ZmFsc2UpOwp9CmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3N2X3VzZScpICkgewoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdjc3YnLCR0aGlzLT5MYW5nKCdjc3YnKSwkdGFidG89PSdjc3YnP3RydWU6ZmFsc2UpOwp9CmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGFpbF91c2UnKSApIHsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigndGFpbCcsJHRoaXMtPkxhbmcoJ3RhaWwnKSwkdGFidG89PSd0YWlsJz90cnVlOmZhbHNlKTsKfQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlYnVnX3VzZScpICkgewoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdkZWJ1ZycsJHRoaXMtPkxhbmcoJ2RlYnVnJyksJHRhYnRvPT0nZGVidWcnP3RydWU6ZmFsc2UpOwp9CmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbW9kdWxlb3BzX3VzZScpICkgewoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdtb2R1bGVvcHMnLCR0aGlzLT5MYW5nKCdtb2R1bGVvcHMnKSwkdGFidG89PSdtb2R1bGVvcHMnP3RydWU6ZmFsc2UpOwp9CmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIHsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncHJlZnMnLCR0aGlzLT5MYW5nKCdwcmVmZXJlbmNlcycpLCR0YWJ0bz09J3ByZWZzJz90cnVlOmZhbHNlKTsKfQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgovLyBEaXNwbGF5IHRoZSBjb250ZW50IG9mIHRoZSB0YWJzCmVjaG8gJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpOwppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgKSB7CgllY2hvICR0aGlzLT5TdGFydFRhYignbWFpbicsJHBhcmFtcyk7CglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fbWFpbi5waHAnKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3RhdHNfNDA0JykgKSB7CgllY2hvICR0aGlzLT5TdGFydFRhYignNDA0JywkcGFyYW1zKTsKCWluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl80MDQucGhwJyk7CgllY2hvICR0aGlzLT5FbmRUYWIoKTsKfQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ29sZHVybF91c2UnKSApIHsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdyZWRpcmVjdHMnLCRwYXJhbXMpOwoJaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3JlZGlyZWN0cy5waHAnKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3RhdHNfdXNlJykgKSB7CgllY2hvICR0aGlzLT5TdGFydFRhYignc3RhdHMnLCRwYXJhbXMpOwoJaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3N0YXRzLnBocCcpOwoJZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfdXNlJykgKSB7CgllY2hvICR0aGlzLT5TdGFydFRhYignYXV0b2xpZ2h0Ym94JywkcGFyYW1zKTsKCWluY2x1ZGUoZGlybmFtZShfX0ZJTEVfXykuJy9mdW5jdGlvbi5hZG1pbl9hdXRvbGlnaHRib3gucGhwJyk7CgllY2hvICR0aGlzLT5FbmRUYWIoKTsKfQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgKSB7CgllY2hvICR0aGlzLT5TdGFydFRhYigndGJpbWFnZScsJHBhcmFtcyk7CglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fdGJpbWFnZS5waHAnKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29jaWFsc2hhcmVwcml2YWN5X3VzZScpICkgewoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3NvY2lhbHNoYXJlcHJpdmFjeScsJHBhcmFtcyk7CglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fc29jaWFsc2hhcmVwcml2YWN5LnBocCcpOwoJZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0d2l0dGVyZmVlZF91c2UnKSApIHsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCd0d2l0dGVyZmVlZCcsJHBhcmFtcyk7CglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fdHdpdHRlcmZlZWQucGhwJyk7CgllY2hvICR0aGlzLT5FbmRUYWIoKTsKfQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Nzdl91c2UnKSApIHsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdjc3YnLCRwYXJhbXMpOwoJaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2Nzdi5waHAnKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVidWdfdXNlJykgKSB7CgllY2hvICR0aGlzLT5TdGFydFRhYignZGVidWcnLCRwYXJhbXMpOwoJaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2RlYnVnLnBocCcpOwoJZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KaWYgKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICYmICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0YWlsX3VzZScpICkgewoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3RhaWwnLCRwYXJhbXMpOwoJaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX3RhaWwucGhwJyk7CgllY2hvICR0aGlzLT5FbmRUYWIoKTsKfQppZiAoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21vZHVsZW9wc191c2UnKSApIHsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdtb2R1bGVvcHMnLCRwYXJhbXMpOwoJaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX21vZHVsZW9wcy5waHAnKTsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CmlmICggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIHsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcmVmcycsJHBhcmFtcyk7CglpbmNsdWRlKGRpcm5hbWUoX19GSUxFX18pLicvZnVuY3Rpb24uYWRtaW5fcHJlZnMucGhwJyk7CgllY2hvICR0aGlzLT5FbmRUYWIoKTsKfQplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7CgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwoKcHJpbnRfcigkcGFyYW1zKTsK]]></data>
	</file>
	<file>
	  <filename>/action.do_addtemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJHRidGFidG8gPSBpc3NldCgkcGFyYW1zWyd0YWJ0byddKQkJPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSkgOiAiIjsgCiRzZWN0aW9uID0gaXNzZXQoJHBhcmFtc1snc2VjdGlvbiddKQk/IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWydzZWN0aW9uJ10pIDogJyc7CiR2ZXJzaW9uID0gaXNzZXQoJHBhcmFtc1sndmVyc2lvbiddKQk/ICRwYXJhbXNbJ3ZlcnNpb24nXQkJOiAnJzsKJGFib3V0CSA9IGlzc2V0KCRwYXJhbXNbJ2Fib3V0J10pIAkJPyAkcGFyYW1zWydhYm91dCddCQkJOiAnJzsKJGpxdWVyeQkgPSBpc3NldCgkcGFyYW1zWydqcXVlcnknXSkJCT8gKGludCkgJHBhcmFtc1snanF1ZXJ5J10JOiAnJzsKJG9wdGlvbnMgPSBhcnJheSgpOwoKCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQp7CgkkcGFyYW1zID0gYXJyYXkoJ3RhYnRvJyA9PiAkdGJ0YWJ0byk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOwp9CgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMobGFuZygnbmVlZHBlcm1pc3Npb250bycsICdNYW5hZ2UgVG9vbEJveCcpKTsKCXJldHVybjsKfQppZiAoIGVtcHR5KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICkKewoJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+IGxhbmcoJ2Vycm9yZ2V0dGluZ3RlbXBsYXRlbmFtZScpLCAndGFidG8nID0+ICR0YnRhYnRvKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7CglyZXR1cm47Cn0KCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCgppZiAoIGVtcHR5KCRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddKSBhbmQgJHNlY3Rpb24gIT0gImF1dG9saWdodGJveCIgICkKewoJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+IGxhbmcoJ2ludmFsaWRjb2RlJyksICd0YWJ0bycgPT4gJHRidGFidG8pOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsKCXJldHVybjsKfQoKJHBhcmFtc1sndGVtcGxhdGUnXSA9IHRyaW0oJHBhcmFtc1sndGVtcGxhdGUnXSk7CgppZiAoJHNlY3Rpb24gPT0gImF1dG9saWdodGJveCIpICRwYXJhbXNbJ3RlbXBsYXRlJ10gPSAiYWxiXyIuJHBhcmFtc1sndGVtcGxhdGUnXTsKZWxzZSBpZiAoJHNlY3Rpb24gPT0gInR3aXR0ZXJmZWVkIikgJHBhcmFtc1sndGVtcGxhdGUnXSA9ICJ0d2ZfIi4kcGFyYW1zWyd0ZW1wbGF0ZSddOwplbHNlIGlmICgkc2VjdGlvbiA9PSAiY3N2IikgJHBhcmFtc1sndGVtcGxhdGUnXSA9ICJjc3YiLnRyaW0oJHBhcmFtc1sndHBsc2VjdGlvbiddKS4nXycuJHBhcmFtc1sndGVtcGxhdGUnXTsKCi8vIGNoZWNrIGlmIHRoaXMgdGVtcGxhdGUgYWxyZWFkeSBleGlzdHMKJHR4dCA9IHRyaW0oJHRoaXMtPkdldFRlbXBsYXRlKCRwYXJhbXNbJ3RlbXBsYXRlJ10pKTsKaWYoICR0eHQgIT0gIiIgKQp7CgkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gbGFuZygndGVtcGxhdGVleGlzdHMnKSwgJ3RhYnRvJyA9PiAkdGJ0YWJ0byk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOwoJcmV0dXJuOwp9CgovLyBzYXZlIHRlbXBsYXRlCiR0aGlzLT5TZXRUZW1wbGF0ZSgkcGFyYW1zWyd0ZW1wbGF0ZSddLCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXS5UT09MQk9YX1NFUEFSQVRPUi4kcGFyYW1zWyd0ZW1wbGF0ZWNzcyddLlRPT0xCT1hfU0VQQVJBVE9SLiRwYXJhbXNbJ3RlbXBsYXRlanMnXS4nKn0nICk7CgovLyBzYXZlIGNzcy1maWxlCiRoYW5kbGUgPSBmb3BlbignLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvJyAuICRwYXJhbXNbJ3RlbXBsYXRlJ10gLiAnLmNzcycsJ3cnKTsKZndyaXRlKCRoYW5kbGUsdGJVdGlsczo6ZXhlY3V0ZVRlbXBsYXRlU21hcnR5KCRwYXJhbXNbJ3RlbXBsYXRlY3NzJ10pKTsKZmNsb3NlKCRoYW5kbGUpOwoKLy8gY3JlYXRlIGRpcgppZiAoJHNlY3Rpb24gIT0gInR3aXR0ZXJmZWVkIikKCW1rZGlyKCRjb25maWdbJ3Jvb3RfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuIm1vZHVsZXMiLkRJUkVDVE9SWV9TRVBBUkFUT1IuIlRvb2xCb3giLkRJUkVDVE9SWV9TRVBBUkFUT1IuInRlbXBsYXRlcyIuRElSRUNUT1JZX1NFUEFSQVRPUi4kcGFyYW1zWyd0ZW1wbGF0ZSddKTsJCgovLyBzYXZlIHByZWYgaW4gZGIKJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX3Rvb2xib3hfdGVtcGxhdGVwcm9wcwoJCSh0ZW1wbGF0ZSx2ZXJzaW9uLGFib3V0LHNlY3Rpb24sanF1ZXJ5LG9wdGlvbnMsdmlzaWJsZSkKCQlWQUxVRVMgKD8sPyw/LD8sPyw/LDEpIjsKJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ3RlbXBsYXRlJ10sJHZlcnNpb24sJGFib3V0LCRzZWN0aW9uLCRqcXVlcnksc2VyaWFsaXplKCRvcHRpb25zKSkpOwoKJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAndGVtcGxhdGVhZGRlZCcsICd0YWJ0bycgPT4gJHRidGFidG8pOwokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_deletetemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhsYW5nKCduZWVkcGVybWlzc2lvbnRvJywgJ01vZGlmeSBUZW1wbGF0ZXMnKSk7CglyZXR1cm47Cn0KCiR0YnRhYnRvID0gaXNzZXQoJHBhcmFtc1sndGFidG8nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSkgOiAiIjsgCiRzZWN0aW9uID0gaXNzZXQoJHBhcmFtc1snc2VjdGlvbiddKSA/IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWydzZWN0aW9uJ10pIDogJyc7CgppZiggIShpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSkgb3IgJHBhcmFtc1sndGVtcGxhdGUnXSA9PSAiIiApCnsKCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJz0+bGFuZygnbWlzc2luZ3BhcmFtcycpLCAndGFidG8nPT4kdGJ0YWJ0byk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nLCcnLCRwYXJhbXMpOwp9CgokdGVtcGxhdGUgPSBjbXNfaHRtbF9lbnRpdHlfZGVjb2RlKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOwoKaWYgKHRiVXRpbHM6OmRlbGV0ZVRlbXBsYXRlKCR0aGlzLCAkdGVtcGxhdGUpKSB7CgkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICd0ZW1wbGF0ZWRlbGV0ZWQnLCAndGFidG8nID0+ICR0YnRhYnRvKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7Cn0KZWxzZSB7CgkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+c3RyX3JlcGxhdGUoJ1t0ZW1wbGF0ZSJdJywkdGVtcGxhdGUsJHRoaXMtPkxhbmcoJ2Vycm9yX2NvdWxkbm90ZGVsZXRldGVtcGxhdGUnKSksICd0YWJ0byc9PiR0YnRhYnRvKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJycsJHBhcmFtcyk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/action.do_edittemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiR0YWJ0byA9IGlzc2V0KCRwYXJhbXNbJ3RhYnRvJ10pID8gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pIDogIiI7IAokc2VjdGlvbiA9IGlzc2V0KCRwYXJhbXNbJ3NlY3Rpb24nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1snc2VjdGlvbiddKSA6ICcnOwokdmVyc2lvbiA9IGlzc2V0KCRwYXJhbXNbJ3ZlcnNpb24nXSkJPyAkcGFyYW1zWyd2ZXJzaW9uJ10JCTogJyc7CiRhYm91dAkgPSBpc3NldCgkcGFyYW1zWydhYm91dCddKSAJCT8gJHBhcmFtc1snYWJvdXQnXQkJCTogJyc7CiRqcXVlcnkJID0gaXNzZXQoJHBhcmFtc1snanF1ZXJ5J10pCQk/IChpbnQpICRwYXJhbXNbJ2pxdWVyeSddCTogMDsKJG9wdGlvbnMgPSBhcnJheSgpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApCnsKCSRwYXJhbXMgPSBhcnJheSgndGFidG8nID0+ICR0YWJ0byk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOwp9CgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMobGFuZygnbmVlZHBlcm1pc3Npb250bycsICdNYW5hZ2UgVG9vbEJveCcpKTsKCXJldHVybjsKfQoKJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoKaWYgKCFpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSBvciBlbXB0eSgkcGFyYW1zWyd0ZW1wbGF0ZSddKSApCnsKCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiBsYW5nKCdlcnJvcmdldHRpbmd0ZW1wbGF0ZW5hbWUnKSwgJ3RhYnRvJyA9PiAkdGFidG8pOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsKCXJldHVybjsKfQoKaWYgKCghaXNzZXQoJHBhcmFtc1sndGVtcGxhdGUnXSkgb3IgZW1wdHkoJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10pKSBhbmQgJHNlY3Rpb24gIT0gImF1dG9saWdodGJveCIpCnsKCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiBsYW5nKCdpbnZhbGlkY29kZScpLCAndGFidG8nID0+ICR0YWJ0byk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOwoJcmV0dXJuOwp9CgppZiAoaXNzZXQoJHBhcmFtc1sncmVzZXRidXR0b24nXSkgKQp7CgoJJGZuID10YlV0aWxzOjpnZXRUcGxYTUxGaWxlKCRzZWN0aW9uLHN0cl9yZXBsYWNlKCR0aGlzLT5nZXRUcGxUb2tlbigpLCAnJywgJHBhcmFtc1sndGVtcGxhdGUnXSkpOwoJaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCgl7CgkJJHhtbCA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJCWlmICghdGJVdGlsczo6aW1wb3J0VGVtcGxhdGUoJHRoaXMsICR4bWwsIHRydWUpKSB7CgkJCSRlcnJvcnMgPSB0YlV0aWxzOjpnZXRFcnJvcnMoKTsKCQkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+ICR0aGlzLT5MYW5nKCRlcnJvclsnbGFuZyddKS4nICcuJGVycm9yc1snYWRkaXRpb25hbCddLCAndGFidG8nID0+ICR0YWJ0byk7CgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdlZGl0dGVtcGxhdGUnICwgJycsICRwYXJhbXMpOwoJCQlyZXR1cm47CgkJfQoJfQoJZWxzZSB7CgkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+ICR0aGlzLT5MYW5nKCdlcnJvcl9jb3VsZG5vdHBhcnNleG1sJykuJyAnLiRmbiwgJ3RhYnRvJyA9PiAkdGFidG8pOwoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdlZGl0dGVtcGxhdGUnICwgJycsICRwYXJhbXMpOwoJCXJldHVybjsKCX0KfQplbHNlCnsKCSR0cGxjb2RlCT0gaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10pID8gJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gOiAnJzsKCSR0cGxjc3MJCT0gaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVjc3MnXSkgPyAkcGFyYW1zWyd0ZW1wbGF0ZWNzcyddIDogJyc7CgkkdHBsanMJCT0gaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVqcyddKSA/ICRwYXJhbXNbJ3RlbXBsYXRlanMnXSA6ICcnOwoJJHRwbG1vYmNvZGUJPSBpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZW1vYmlsZWNvbnRlbnQnXSkgPyAkcGFyYW1zWyd0ZW1wbGF0ZW1vYmlsZWNvbnRlbnQnXSA6ICcnOwoJJHRwbG1vYmNzcwk9IGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlbW9iaWxlY3NzJ10pID8gJHBhcmFtc1sndGVtcGxhdGVtb2JpbGVjc3MnXSA6ICcnOwoJJHRwbG1vYmpzCT0gaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVtb2JpbGVqcyddKSA/ICRwYXJhbXNbJ3RlbXBsYXRlbW9iaWxlanMnXSA6ICcnOwoJCglpZiAoaXNzZXQoJHBhcmFtc1sndXNlX21vYmlsZXRlbXBsYXRlJ10pKSAkb3B0aW9uc1sndXNlX21vYmlsZXRlbXBsYXRlJ10gPSAkcGFyYW1zWyd1c2VfbW9iaWxldGVtcGxhdGUnXTsKCQoJLy8gc2F2ZSB0ZW1wbGF0ZQoJJHRoaXMtPlNldFRlbXBsYXRlKCRwYXJhbXNbJ3RlbXBsYXRlJ10sICR0cGxjb2RlLlRPT0xCT1hfU0VQQVJBVE9SLiR0cGxjc3MuVE9PTEJPWF9TRVBBUkFUT1IuJHRwbGpzLlRPT0xCT1hfU0VQQVJBVE9SLiR0cGxtb2Jjb2RlLlRPT0xCT1hfU0VQQVJBVE9SLiR0cGxtb2Jjc3MuVE9PTEJPWF9TRVBBUkFUT1IuJHRwbG1vYmpzLicqfScgKTsKCgkvLyBzYXZlIGNzcy1maWxlCgkkdHBsY3NzID0gdHJpbSgkdHBsY3NzKTsKCWlmICggZW1wdHkoJHRwbGNzcykgKQoJewoJCUB1bmxpbmsoJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzLycgLiAkcGFyYW1zWyd0ZW1wbGF0ZSddIC4gJy5jc3MnKTsKCX0KCWVsc2UKCXsKCQkkaGFuZGxlID0gZm9wZW4oJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzLycgLiAkcGFyYW1zWyd0ZW1wbGF0ZSddIC4gJy5jc3MnLCd3Jyk7CgkJZndyaXRlKCRoYW5kbGUsdGJVdGlsczo6ZXhlY3V0ZVRlbXBsYXRlU21hcnR5KCR0cGxjc3MpKTsKCQlmY2xvc2UoJGhhbmRsZSk7Cgl9CQoJLy8gc2F2ZSBjc3MtZmlsZTsKCSR0cGxtb2Jjc3MgPSB0cmltKCR0cGxtb2Jjc3MpOwoJaWYgKCBlbXB0eSgkdHBsbW9iY3NzKSApCgl7CgkJQHVubGluaygnLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvJyAuICRwYXJhbXNbJ3RlbXBsYXRlJ10gLiAnX21vYmlsZS5jc3MnKTsKCX0KCWVsc2UKCXsKCQkkaGFuZGxlID0gZm9wZW4oJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzLycgLiAkcGFyYW1zWyd0ZW1wbGF0ZSddIC4gJ19tb2JpbGUuY3NzJywndycpOwoJCWZ3cml0ZSgkaGFuZGxlLHRiVXRpbHM6OmV4ZWN1dGVUZW1wbGF0ZVNtYXJ0eSgkdHBsbW9iY3NzKSk7CgkJZmNsb3NlKCRoYW5kbGUpOwoJfQoJCgoJJHF1ZXJ5ID0gIlVQREFURSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV90b29sYm94X3RlbXBsYXRlcHJvcHMKCQkJU0VUIHZlcnNpb249PyxhYm91dD0/LHNlY3Rpb249PyxqcXVlcnk9PyxvcHRpb25zPT8KCQkJV0hFUkUgdGVtcGxhdGU9PyI7CgkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHZlcnNpb24sJGFib3V0LCRzZWN0aW9uLCRqcXVlcnksc2VyaWFsaXplKCRvcHRpb25zKSwkcGFyYW1zWyd0ZW1wbGF0ZSddKSk7CgkKCS8vIERhdGVpZW4gbMO2c2NoZW4KCWlmIChpc3NldCgkcGFyYW1zWydkZWxmaWxlJ10pKSB7CgkJZm9yZWFjaCgkcGFyYW1zWydkZWxmaWxlJ10gYXMgJGZpbGUpIHsKCQkJdW5saW5rKCRjb25maWdbJ3Jvb3RfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuIm1vZHVsZXMiLkRJUkVDVE9SWV9TRVBBUkFUT1IuIlRvb2xCb3giLkRJUkVDVE9SWV9TRVBBUkFUT1IuInRlbXBsYXRlcyIuRElSRUNUT1JZX1NFUEFSQVRPUi4kcGFyYW1zWyd0ZW1wbGF0ZSddLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGZpbGUpOwoJCX0KCX0KCQoJLy8gY29tYmluZWQgc3R5bGVzaGVldHMgdW5kIGphdmFzY3JpcHQgbMO2c2NoZW4KCSRtYXNrID0gIHN0cl9yZXBsYWNlKCIvIixESVJFQ1RPUllfU0VQQVJBVE9SLCRjb25maWdbJ3Jvb3RfcGF0aCddLiIvdG1wL2NhY2hlL1Rvb2xCb3hfY29tYmluZWQqIik7CglhcnJheV9tYXAoICJ1bmxpbmsiLCBnbG9iKCAkbWFzayApICk7CgkKCWlmICgkc2VjdGlvbiA9PSAidHdpdHRlcmZlZWQiKSB7CgkJJG1hc2sgPSAgc3RyX3JlcGxhY2UoIi8iLERJUkVDVE9SWV9TRVBBUkFUT1IsJGNvbmZpZ1sncm9vdF9wYXRoJ10uIi90bXAvY2FjaGUvVG9vbEJveF90d2l0dGVyZmVlZCoiKTsKCQlhcnJheV9tYXAoICJ1bmxpbmsiLCBnbG9iKCAkbWFzayApICk7Cgl9Cn0KCQppZiAoIGlzc2V0KCRwYXJhbXNbJ2FwcGx5YnV0dG9uJ10pIHx8IGlzc2V0KCRwYXJhbXNbJ3Jlc2V0YnV0dG9uJ10pICkKewoJJHBhcmFtcyA9IGFycmF5KCd0ZW1wbGF0ZScgPT4gJHBhcmFtc1sndGVtcGxhdGUnXSwgJ21vZGUnID0+ICJlZGl0IiwgJ3RhYnRvJyA9PiAkdGFidG8sICdtb2R1bGVfbWVzc2FnZScgPT4gJHRoaXMtPkxhbmcoJ3RlbXBsYXRldXBkYXRlZCcpKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdlZGl0dGVtcGxhdGUnLCAnJywgJHBhcmFtcyk7Cn0KZWxzZQp7CgkkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICd0ZW1wbGF0ZXVwZGF0ZWQnLCAndGFidG8nID0+ICR0YWJ0byk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOwp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_exporttemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCggJGdDbXMgKSApIGV4aXQoKTsKCiR0YnRhYnRvID0gaXNzZXQoJHBhcmFtc1sndGFidG8nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSkgOiAiIjsgCiRzZWN0aW9uID0gaXNzZXQoJHBhcmFtc1snc2VjdGlvbiddKSA/IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWydzZWN0aW9uJ10pIDogJyc7CgppZiggISAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhsYW5nKCduZWVkcGVybWlzc2lvbnRvJywgJ01hbmFnZSBUb29sQm94JykpOwoJcmV0dXJuOwp9CgppZiggIWlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICkKewoJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InPT4gbGFuZygnbWlzc2luZ3BhcmFtcycpLCAndGFidG8nID0+ICR0YnRhYnRvKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nICwgJHJldHVybmlkLCAkcGFyYW1zKTsKCXJldHVybjsKfQoKaWYgKCF0YlV0aWxzOjpleHBvcnRUZW1wbGF0ZSgkdGhpcywgJHBhcmFtc1sndGVtcGxhdGUnXSkpIHsKCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiAkdGhpcy0+TGFuZygkZXJyb3JbJ2xhbmcnXSkuJyAnLiRlcnJvclsnYWRkaXRpb25hbCddLCAndGFidG8nID0+ICR0YWJ0byk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgJHBhcmFtcyk7Cn0KCgo=]]></data>
	</file>
	<file>
	  <filename>/action.do_importtemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCiR0YWJ0byA9IGlzc2V0KCRwYXJhbXNbJ3RhYnRvJ10pID8gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pIDogIiI7IAokc2VjdGlvbiA9IGlzc2V0KCRwYXJhbXNbJ3NlY3Rpb24nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1snc2VjdGlvbiddKSA6ICcnOwokb3ZlcndyaXRlID0gaXNzZXQoJHBhcmFtc1snb3ZlcndyaXRlJ10pID8gKGJvb2wpJHBhcmFtc1snb3ZlcndyaXRlJ10gOiBmYWxzZTsKCiRmaWVsZE5hbWUgPSAkaWQgLiAiaW1wb3J0eG1sIjsKaWYgKCAhaXNzZXQoJF9GSUxFU1skZmllbGROYW1lXSkgfHwgIWlzc2V0KCRfRklMRVMpIHx8ICFpc19hcnJheSgkX0ZJTEVTWyRmaWVsZE5hbWVdKSB8fCAhJF9GSUxFU1skZmllbGROYW1lXVsnbmFtZSddKQp7CgkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gbGFuZygnbWlzc2luZ3BhcmFtcycpLCAndGFidG8nID0+ICR0YWJ0byk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgJHBhcmFtcyk7CglyZXR1cm47Cn0KZWxzZSB7CgkvLyBub3JtYWxpemUgdGhlIGZpbGUgdmFyaWFibGUKCSRmaWxlID0gJF9GSUxFU1skZmllbGROYW1lXTsKCQoJJHhtbCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlWyd0bXBfbmFtZSddKTsKCWlmICghdGJVdGlsczo6aW1wb3J0VGVtcGxhdGUoJHRoaXMsICR4bWwsICRvdmVyd3JpdGUpKSB7CgkJJGVycm9yID0gdGJVdGlsczo6Z2V0RXJyb3JzKCk7CgkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+ICR0aGlzLT5MYW5nKCRlcnJvclsnbGFuZyddKS4nICcuJGVycm9yWydhZGRpdGlvbmFsJ10sICd0YWJ0bycgPT4gJHRhYnRvKTsKCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgJHBhcmFtcyk7CgkJcmV0dXJuOwoJfQoJCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICd0ZW1wbGF0ZWltcG9ydCcsICd0YWJ0bycgPT4gJHRhYnRvKSk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/action.do_logUpdater.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTW9kdWxlOiBUb29sQm94CkF1dGhvcjogTHVrYXMgQmxhdHRlcgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgovLyBDaGVjayBhdXRob3Jpc2F0aW9uCmlmKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CmlmICggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgKSBleGl0OwoKJHRiU21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CgokbG9nRmlsZQk9IGlzc2V0KCRwYXJhbXNbJ2YnXSkgPyBiYXNlNjRfZGVjb2RlKCRwYXJhbXNbJ2YnXSkgOiAnJzsKJGtleQkJPSBpc3NldCgkcGFyYW1zWydrJ10pID8gYmFzZTY0X2RlY29kZSgkcGFyYW1zWydrJ10pIDogJyc7CiRoYXNoCQk9IGlzc2V0KCRwYXJhbXNbJ2gnXSkgPyAkcGFyYW1zWydoJ10gOiAnJzsKJGxpbmVzIAkJPSBpc3NldCgkcGFyYW1zWydsJ10pID8gJHBhcmFtc1snbCddIDogJzIwJzsKCiRwYXJhbXMgPSBhcnJheSgnbG9nRmlsZScgPT4gJGxvZ0ZpbGUsICdrZXknID0+ICRrZXkpOwokc2FsdCA9ICJ0YlRkaVdWYWRsaWxlc2xjaSI7IAokaGFzaDIgPSBidFRvb2xzOjpnZXRQYXJhbXNIYXNoKCRwYXJhbXMsICRzYWx0KTsKCmlmICgkaGFzaCAhPSAkaGFzaDIpIHsKCWVjaG8gInBhcmFtZXRlciB3dXJkZW4gbWFuaXB1bGllcnQiOwkKfQoKZWNobyB0YkxvZ1VwZGF0ZXI6OmdldExvZ0xpbmVzKCRsb2dGaWxlLCAka2V5LCAkbGluZXMpOwoKZXhpdCgwKTsK]]></data>
	</file>
	<file>
	  <filename>/action.do_moduleops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCiR0YWJ0byA9IGlzc2V0KCRwYXJhbXNbJ3RhYnRvJ10pID8gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pIDogIiI7IAokbW9kZSAgPSBpc3NldCgkcGFyYW1zWydtb2RlJ10pID8gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ21vZGUnXSkgOiAnJzsKCmlmICghJG1vZGUpIHsKCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiBsYW5nKCdtaXNzaW5ncGFyYW1zJykgLiAnIFwnbW9kZVwnJywgJ3RhYnRvJyA9PiAkdGFidG8pOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAkcmV0dXJuaWQsICRwYXJhbXMpOwoJcmV0dXJuOwp9CgppZiAoJG1vZGUgPT0gImltcG9ydCIpIHsKCgkkZmllbGROYW1lID0gJGlkIC4gImltcG9ydHhtbCI7CglpZiAoICFpc3NldCgkX0ZJTEVTWyRmaWVsZE5hbWVdKSB8fCAhaXNzZXQoJF9GSUxFUykgfHwgIWlzX2FycmF5KCRfRklMRVNbJGZpZWxkTmFtZV0pIHx8ICEkX0ZJTEVTWyRmaWVsZE5hbWVdWyduYW1lJ10pCgl7CgkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+IGxhbmcoJ21pc3NpbmdwYXJhbXMnKSwgJ3RhYnRvJyA9PiAkdGFidG8pOwoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nICwgJHJldHVybmlkLCAkcGFyYW1zKTsKCQlyZXR1cm47Cgl9CgllbHNlIHsKCQkvLyBub3JtYWxpemUgdGhlIGZpbGUgdmFyaWFibGUKCQkkZmlsZSA9ICRfRklMRVNbJGZpZWxkTmFtZV07CgoJCSR4bWwgPSBmaWxlX2dldF9jb250ZW50cygkZmlsZVsndG1wX25hbWUnXSk7CgkJaWYgKCF0YlV0aWxzOjppbXBvcnRUZW1wbGF0ZSgkdGhpcywgJHhtbCwgJG92ZXJ3cml0ZSkpIHsKCQkJJGVycm9yID0gdGJVdGlsczo6Z2V0RXJyb3JzKCk7CgkJCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiAkdGhpcy0+TGFuZygkZXJyb3JbJ2xhbmcnXSkuJyAnLiRlcnJvclsnYWRkaXRpb25hbCddLCAndGFidG8nID0+ICR0YWJ0byk7CgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nICwgJHJldHVybmlkLCAkcGFyYW1zKTsKCQkJcmV0dXJuOwoJCX0KCgkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAkcmV0dXJuaWQsIGFycmF5KCd0YWJfbWVzc2FnZSc9PiAndGVtcGxhdGVpbXBvcnQnLCAndGFidG8nID0+ICR0YWJ0bykpOwoJfQp9CmVsc2UgaWYgKCRtb2RlID09ICJleHBvcnQiKSB7CgkkbSA9IGlzc2V0KCRwYXJhbXNbJ20nXSkgPyAkcGFyYW1zWydtJ10gOiAnJzsKCQoJJG1vZCA9IG5ldyB0Yk1vZHVsZU9wcygkbSk7CgkkbW9kdWxlID0gJG1vZC0+Z2V0Q3VycmVudE1vZHVsZSgpOwoJaWYoIWlzX29iamVjdCgkbW9kdWxlKSl7CgkJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+IGxhbmcoJ2Vycm9yX3Vua25vd25wYXJhbScpIC4gJyBcJ209Jy4kbW9kdWxlLidcJycsICd0YWJ0bycgPT4gJHRhYnRvKTsKCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgJHBhcmFtcyk7CgkJcmV0dXJuOwoJfQoJCgoJJHhtbCA9ICRtb2QtPkNyZWF0ZVhNTFBhY2thZ2UoKTsKCQoKCS8vIHNlbmQgdGhlIGZpbGUKCW9iX2VuZF9jbGVhbigpOwoJb2JfZW5kX2NsZWFuKCk7CgloZWFkZXIoJ0NvbnRlbnQtRGVzY3JpcHRpb246IEZpbGUgVHJhbnNmZXInKTsKCWhlYWRlcignQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9mb3JjZS1kb3dubG9hZCcpOwoJaGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0nLiRtb2R1bGUtPkdldE5hbWUoKS4nLScuJG1vZHVsZS0+R2V0VmVyc2lvbigpLictcHJlZmVyZW5jZXMueG1sJyk7CgllY2hvICR4bWw7CglleGl0KCk7CgkKCQoJCgkKCQoJCgkKfQplbHNlIHsKCSRwYXJhbXMgPSBhcnJheSgnbW9kdWxlX2Vycm9yJyA9PiAkdGhpcy0+TGFuZygnZXJyb3JfdW5rbm93bnBhcmFtJykgLiAnIFwnbW9kZT0nLiRtb2RlLidcJycsICd0YWJ0bycgPT4gJHRhYnRvKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nICwgJHJldHVybmlkLCAkcGFyYW1zKTsKCXJldHVybjsKfQ==]]></data>
	</file>
	<file>
	  <filename>/action.do_upload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFjbXNtcygpICkgZXhpdCgpOwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCmNsYXNzIHFxVXBsb2FkZWRGaWxlWGhyIHsKICAgIC8qKgogICAgICogU2F2ZSB0aGUgZmlsZSB0byB0aGUgc3BlY2lmaWVkIHBhdGgKICAgICAqIEByZXR1cm4gYm9vbGVhbiBUUlVFIG9uIHN1Y2Nlc3MKICAgICAqLwogICAgZnVuY3Rpb24gc2F2ZSgkcGF0aCkgeyAgICAKICAgICAgICAkaW5wdXQgPSBmb3BlbigicGhwOi8vaW5wdXQiLCAiciIpOwogICAgICAgICR0ZW1wID0gdG1wZmlsZSgpOwogICAgICAgICRyZWFsU2l6ZSA9IHN0cmVhbV9jb3B5X3RvX3N0cmVhbSgkaW5wdXQsICR0ZW1wKTsKICAgICAgICBmY2xvc2UoJGlucHV0KTsKICAgICAgICAKICAgICAgICBpZiAoJHJlYWxTaXplICE9ICR0aGlzLT5nZXRTaXplKCkpeyAgICAgICAgICAgIAogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICR0YXJnZXQgPSBmb3BlbigkcGF0aCwgInciKTsgICAgICAgIAogICAgICAgIGZzZWVrKCR0ZW1wLCAwLCBTRUVLX1NFVCk7CiAgICAgICAgc3RyZWFtX2NvcHlfdG9fc3RyZWFtKCR0ZW1wLCAkdGFyZ2V0KTsKICAgICAgICBmY2xvc2UoJHRhcmdldCk7CiAgICAgICAgCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICBmdW5jdGlvbiBnZXROYW1lKCkgewogICAgICAgIHJldHVybiAkX0dFVFsncXFmaWxlJ107CiAgICB9CiAgICBmdW5jdGlvbiBnZXRTaXplKCkgewogICAgICAgIGlmIChpc3NldCgkX1NFUlZFUlsiQ09OVEVOVF9MRU5HVEgiXSkpewogICAgICAgICAgICByZXR1cm4gKGludCkkX1NFUlZFUlsiQ09OVEVOVF9MRU5HVEgiXTsgICAgICAgICAgICAKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdHZXR0aW5nIGNvbnRlbnQgbGVuZ3RoIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CiAgICAgICAgfSAgICAgIAogICAgfSAgIAp9CgovKioKICogSGFuZGxlIGZpbGUgdXBsb2FkcyB2aWEgcmVndWxhciBmb3JtIHBvc3QgKHVzZXMgdGhlICRfRklMRVMgYXJyYXkpCiAqLwpjbGFzcyBxcVVwbG9hZGVkRmlsZUZvcm0geyAgCiAgICAvKioKICAgICAqIFNhdmUgdGhlIGZpbGUgdG8gdGhlIHNwZWNpZmllZCBwYXRoCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4gVFJVRSBvbiBzdWNjZXNzCiAgICAgKi8KICAgIGZ1bmN0aW9uIHNhdmUoJHBhdGgpIHsKICAgICAgICBpZighbW92ZV91cGxvYWRlZF9maWxlKCRfRklMRVNbJ3FxZmlsZSddWyd0bXBfbmFtZSddLCAkcGF0aCkpewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgZnVuY3Rpb24gZ2V0TmFtZSgpIHsKICAgICAgICByZXR1cm4gJF9GSUxFU1sncXFmaWxlJ11bJ25hbWUnXTsKICAgIH0KICAgIGZ1bmN0aW9uIGdldFNpemUoKSB7CiAgICAgICAgcmV0dXJuICRfRklMRVNbJ3FxZmlsZSddWydzaXplJ107CiAgICB9Cn0KCmNsYXNzIHFxRmlsZVVwbG9hZGVyIHsKICAgIHByaXZhdGUgJGFsbG93ZWRFeHRlbnNpb25zID0gYXJyYXkoKTsKICAgIHByaXZhdGUgJHNpemVMaW1pdCA9IDEwNDg1NzYwOwogICAgcHJpdmF0ZSAkZmlsZTsKCiAgICBmdW5jdGlvbiBfX2NvbnN0cnVjdChhcnJheSAkYWxsb3dlZEV4dGVuc2lvbnMgPSBhcnJheSgpLCAkc2l6ZUxpbWl0ID0gMTA0ODU3NjApeyAgICAgICAgCiAgICAgICAgJGFsbG93ZWRFeHRlbnNpb25zID0gYXJyYXlfbWFwKCJzdHJ0b2xvd2VyIiwgJGFsbG93ZWRFeHRlbnNpb25zKTsKICAgICAgICAgICAgCiAgICAgICAgJHRoaXMtPmFsbG93ZWRFeHRlbnNpb25zID0gJGFsbG93ZWRFeHRlbnNpb25zOyAgICAgICAgCiAgICAgICAgJHRoaXMtPnNpemVMaW1pdCA9ICRzaXplTGltaXQ7CiAgICAgICAgCiAgICAgICAgJHRoaXMtPmNoZWNrU2VydmVyU2V0dGluZ3MoKTsgICAgICAgCgogICAgICAgIGlmIChpc3NldCgkX0dFVFsncXFmaWxlJ10pKSB7CiAgICAgICAgICAgICR0aGlzLT5maWxlID0gbmV3IHFxVXBsb2FkZWRGaWxlWGhyKCk7CiAgICAgICAgfSBlbHNlaWYgKGlzc2V0KCRfRklMRVNbJ3FxZmlsZSddKSkgewogICAgICAgICAgICAkdGhpcy0+ZmlsZSA9IG5ldyBxcVVwbG9hZGVkRmlsZUZvcm0oKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy0+ZmlsZSA9IGZhbHNlOyAKICAgICAgICB9CiAgICB9CiAgICAKICAgIHByaXZhdGUgZnVuY3Rpb24gY2hlY2tTZXJ2ZXJTZXR0aW5ncygpeyAgICAgICAgCiAgICAgICAgJHBvc3RTaXplID0gJHRoaXMtPnRvQnl0ZXMoaW5pX2dldCgncG9zdF9tYXhfc2l6ZScpKTsKICAgICAgICAkdXBsb2FkU2l6ZSA9ICR0aGlzLT50b0J5dGVzKGluaV9nZXQoJ3VwbG9hZF9tYXhfZmlsZXNpemUnKSk7IAoKICAgICAgICAKLy8gICAgICAgIAovLyAgICAgICAgaWYgKCRwb3N0U2l6ZSA8ICR0aGlzLT5zaXplTGltaXQgfHwgJHVwbG9hZFNpemUgPCAkdGhpcy0+c2l6ZUxpbWl0KXsKLy8gICAgICAgICAgICAkc2l6ZSA9IG1heCgxLCAkdGhpcy0+c2l6ZUxpbWl0IC8gMTAyNCAvIDEwMjQpIC4gJ00nOyAgICAgICAgICAgICAKLy8gICAgICAgICAgICBkaWUoInsnZXJyb3InOidpbmNyZWFzZSBwb3N0X21heF9zaXplIGFuZCB1cGxvYWRfbWF4X2ZpbGVzaXplIHRvICRzaXplJ30iKTsgICAgCi8vICAgICAgICB9ICAgICAgICAKICAgIH0KICAgIAogICAgcHJpdmF0ZSBmdW5jdGlvbiB0b0J5dGVzKCRzdHIpewogICAgICAgICR2YWwgPSB0cmltKCRzdHIpOwogICAgICAgICRsYXN0ID0gc3RydG9sb3dlcigkc3RyW3N0cmxlbigkc3RyKS0xXSk7CiAgICAgICAgc3dpdGNoKCRsYXN0KSB7CiAgICAgICAgICAgIGNhc2UgJ2cnOiAkdmFsICo9IDEwMjQ7CiAgICAgICAgICAgIGNhc2UgJ20nOiAkdmFsICo9IDEwMjQ7CiAgICAgICAgICAgIGNhc2UgJ2snOiAkdmFsICo9IDEwMjQ7ICAgICAgICAKICAgICAgICB9CiAgICAgICAgcmV0dXJuICR2YWw7CiAgICB9CiAgICAKICAgIC8qKgogICAgICogUmV0dXJucyBhcnJheSgnc3VjY2Vzcyc9PnRydWUpIG9yIGFycmF5KCdlcnJvcic9PidlcnJvciBtZXNzYWdlJykKICAgICAqLwogICAgZnVuY3Rpb24gaGFuZGxlVXBsb2FkKCR1cGxvYWREaXJlY3RvcnksICRyZXBsYWNlT2xkRmlsZSA9IEZBTFNFKXsKICAgICAgICBpZiAoIWlzX3dyaXRhYmxlKCR1cGxvYWREaXJlY3RvcnkpKXsKICAgICAgICAgICAgcmV0dXJuIGFycmF5KCdlcnJvcicgPT4gIlNlcnZlciBlcnJvci4gVXBsb2FkIGRpcmVjdG9yeSBpc24ndCB3cml0YWJsZS4iKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYgKCEkdGhpcy0+ZmlsZSl7CiAgICAgICAgICAgIHJldHVybiBhcnJheSgnZXJyb3InID0+ICdObyBmaWxlcyB3ZXJlIHVwbG9hZGVkLicpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAkc2l6ZSA9ICR0aGlzLT5maWxlLT5nZXRTaXplKCk7CiAgICAgICAgCiAgICAgICAgaWYgKCRzaXplID09IDApIHsKICAgICAgICAgICAgcmV0dXJuIGFycmF5KCdlcnJvcicgPT4gJ0ZpbGUgaXMgZW1wdHknKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYgKCRzaXplID4gJHRoaXMtPnNpemVMaW1pdCkgewogICAgICAgICAgICByZXR1cm4gYXJyYXkoJ2Vycm9yJyA9PiAnRmlsZSBpcyB0b28gbGFyZ2UnKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgJHBhdGhpbmZvID0gcGF0aGluZm8oJHRoaXMtPmZpbGUtPmdldE5hbWUoKSk7CiAgICAgICAgJGZpbGVuYW1lID0gJHBhdGhpbmZvWydmaWxlbmFtZSddOwogICAgICAgIC8vJGZpbGVuYW1lID0gbWQ1KHVuaXFpZCgpKTsKICAgICAgICAkZXh0ID0gJHBhdGhpbmZvWydleHRlbnNpb24nXTsKCiAgICAgICAgaWYoJHRoaXMtPmFsbG93ZWRFeHRlbnNpb25zICYmICFpbl9hcnJheShzdHJ0b2xvd2VyKCRleHQpLCAkdGhpcy0+YWxsb3dlZEV4dGVuc2lvbnMpKXsKICAgICAgICAgICAgJHRoZXNlID0gaW1wbG9kZSgnLCAnLCAkdGhpcy0+YWxsb3dlZEV4dGVuc2lvbnMpOwogICAgICAgICAgICByZXR1cm4gYXJyYXkoJ2Vycm9yJyA9PiAnRmlsZSBoYXMgYW4gaW52YWxpZCBleHRlbnNpb24sIGl0IHNob3VsZCBiZSBvbmUgb2YgJy4gJHRoZXNlIC4gJy4nKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYoISRyZXBsYWNlT2xkRmlsZSl7CiAgICAgICAgICAgIC8vLyBkb24ndCBvdmVyd3JpdGUgcHJldmlvdXMgZmlsZXMgdGhhdCB3ZXJlIHVwbG9hZGVkCiAgICAgICAgICAgIHdoaWxlIChmaWxlX2V4aXN0cygkdXBsb2FkRGlyZWN0b3J5IC4gJGZpbGVuYW1lIC4gJy4nIC4gJGV4dCkpIHsKICAgICAgICAgICAgICAgICRmaWxlbmFtZSAuPSByYW5kKDEwLCA5OSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYgKCR0aGlzLT5maWxlLT5zYXZlKCR1cGxvYWREaXJlY3RvcnkgLiAkZmlsZW5hbWUgLiAnLicgLiAkZXh0KSl7CiAgICAgICAgICAgIHJldHVybiBhcnJheSgnc3VjY2Vzcyc9PnRydWUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiBhcnJheSgnZXJyb3InPT4gJ0NvdWxkIG5vdCBzYXZlIHVwbG9hZGVkIGZpbGUuJyAuCiAgICAgICAgICAgICAgICAnVGhlIHVwbG9hZCB3YXMgY2FuY2VsbGVkLCBvciBzZXJ2ZXIgZXJyb3IgZW5jb3VudGVyZWQnKTsKICAgICAgICB9CiAgICAgICAgCiAgICB9ICAgIAp9CgovLyBsaXN0IG9mIHZhbGlkIGV4dGVuc2lvbnMsIGV4LiBhcnJheSgianBlZyIsICJ4bWwiLCAiYm1wIikKJGFsbG93ZWRFeHRlbnNpb25zID0gYXJyYXkoImpwZWciLCJqcGciLCJnaWYiLCJ4bWwiLCJqcyIsImNzcyIsInBuZyIpOwovLyBtYXggZmlsZSBzaXplIGluIGJ5dGVzCiRzaXplTGltaXQgPSAxMCAqIDEwMjQgKiAxMDI0OwoKJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoKJHRlbXBsYXRlcHJvcHMgPSB0YlV0aWxzOjpnZXRUZW1wbGF0ZVByb3BzKCRfR0VUWyd0ZW1wbGF0ZWlkJ10pOwoKJHRlbXBsYXRlID0gaXNzZXQoJHRlbXBsYXRlcHJvcHNbJ3RlbXBsYXRlJ10pID8gJHRlbXBsYXRlcHJvcHNbJ3RlbXBsYXRlJ10gOiAidW5rbm93biI7CgokdXBsb2FkcGF0aCA9ICRjb25maWdbJ3Jvb3RfcGF0aCddLkRJUkVDVE9SWV9TRVBBUkFUT1IuIm1vZHVsZXMiLkRJUkVDVE9SWV9TRVBBUkFUT1IuIlRvb2xCb3giLkRJUkVDVE9SWV9TRVBBUkFUT1IuInRlbXBsYXRlcyIuRElSRUNUT1JZX1NFUEFSQVRPUi4kdGVtcGxhdGUuRElSRUNUT1JZX1NFUEFSQVRPUjsKCgokdXBsb2FkZXIgPSBuZXcgcXFGaWxlVXBsb2FkZXIoJGFsbG93ZWRFeHRlbnNpb25zLCAkc2l6ZUxpbWl0KTsKJHJlc3VsdCA9ICR1cGxvYWRlci0+aGFuZGxlVXBsb2FkKCR1cGxvYWRwYXRoKTsKCi8vIHRvIHBhc3MgZGF0YSB0aHJvdWdoIGlmcmFtZSB5b3Ugd2lsbCBuZWVkIHRvIGVuY29kZSBhbGwgaHRtbCB0YWdzCmVjaG8gaHRtbHNwZWNpYWxjaGFycyhqc29uX2VuY29kZSgkcmVzdWx0KSwgRU5UX05PUVVPVEVTKTsKCmV4aXQoMCk7]]></data>
	</file>
	<file>
	  <filename>/action.edittemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIENoZWNrIGF1dGhvcmlzYXRpb24KaWYoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7CgokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgokdGJ0YWJ0byA9IGlzc2V0KCRwYXJhbXNbJ3RhYnRvJ10pID8gcHJlZ19yZXBsYWNlKCcvW14wLTlhLXpBLVpfXS8nLCcnLCRwYXJhbXNbJ3RhYnRvJ10pIDogIiI7IAokc2VjdGlvbiA9IGlzc2V0KCRwYXJhbXNbJ3NlY3Rpb24nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1snc2VjdGlvbiddKSA6ICcnOwokdHBsc2VjdGlvbiA9IGlzc2V0KCRwYXJhbXNbJ3RwbHNlY3Rpb24nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndHBsc2VjdGlvbiddKSA6ICcnOwoKJHRlbXBsYXRlbmFtZSA9IGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pID8gc3RyX3JlcGxhY2UoYXJyYXkoImFsYl8iLCJ0d2ZfIiksIiIsJHBhcmFtc1sndGVtcGxhdGUnXSkgOiAnJzsKJHRoZW1lT2JqZWN0ID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7IC8vICAmICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXTsKCmlmKCAhaXNzZXQoJHBhcmFtc1snbW9kZSddKSApCnsKCSRwYXJhbXNbJ21vZHVsZV9lcnJvciddID0gbGFuZygnbWlzc2luZ3BhcmFtcycpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywnJywkcGFyYW1zKTsKCXJldHVybjsKfQoKaWYoICRwYXJhbXNbJ21vZGUnXSA9PSAnc3dpdGNoYWN0aXZlJyApCnsKCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfdG9vbGJveF90ZW1wbGF0ZXByb3BzIFNFVCB2aXNpYmxlID0gdmlzaWJsZV4xIFdIRVJFIHRlbXBsYXRlaWQgPSA/IjsKCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbJ3RlbXBsYXRlaWQnXSkpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ3RhYnRvJyA9PiAkdGFidG8pKTsKCXJldHVybjsKfQoKJGNvbnRlbnRzID0gIiI7CiR0ZW1wbGF0ZXByb3BzID0gYXJyYXkoJ3RlbXBsYXRlaWQnPT4wLCAndmVyc2lvbic9PiIxLjAiLCAnYWJvdXQnPT4iIiwgJ3NlY3Rpb24nPT4kc2VjdGlvbiwgJ3RwbHNlY3Rpb24nID0+ICR0cGxzZWN0aW9uLCAnanF1ZXJ5JyA9PiAwLCAnanF1ZXJ5X293bicgPT4gMCk7Cgokc21hcnR5LT5hc3NpZ24oJ21vZGUnLCRwYXJhbXNbJ21vZGUnXSk7CgppZiggJHBhcmFtc1snbW9kZSddID09ICdhZGQnICkKewoJJHNtYXJ0eS0+YXNzaWduKCdtb2RlJywgJ2FkZCcpOwoJJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdkb19hZGR0ZW1wbGF0ZScsJHJldHVybmlkLCdwb3N0JywnJywgZmFsc2UsICcnLCAkcGFyYW1zKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3RlbXBsYXRlJywgIiIsIDQwICkpOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ2RlZmF1bHR0ZW1wbGF0ZXByZWYnXSkgJiYgJHBhcmFtc1snZGVmYXVsdHRlbXBsYXRlcHJlZiddICE9ICcnICkKCXsKCQkkY29udGVudHMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkcGFyYW1zWydkZWZhdWx0dGVtcGxhdGVwcmVmJ10pOwoJfQoJaWYoIGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICYmICRwYXJhbXNbJ3RlbXBsYXRlJ10gIT0gJycgKQoJewoJCSRjb250ZW50cyA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkcGFyYW1zWyd0ZW1wbGF0ZSddKTsKCQkkdGVtcGxhdGVwcm9wcyA9IHRiVXRpbHM6OmdldFRlbXBsYXRlUHJvcHMoJHBhcmFtc1sndGVtcGxhdGUnXSk7CgkJJHRlbXBsYXRlcHJvcHNbJ3ZlcnNpb24nXSA9ICIxLjAiOwoJCQoJfQoKCSRzbWFydHktPmFzc2lnbignaGlkZGVuJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAndmVyc2lvbicsICR0ZW1wbGF0ZXByb3BzWyd2ZXJzaW9uJ10pIC4KCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnc2VjdGlvbicsICR0ZW1wbGF0ZXByb3BzWydzZWN0aW9uJ10pIC4KCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAndHBsc2VjdGlvbicsICR0ZW1wbGF0ZXByb3BzWyd0cGxzZWN0aW9uJ10pLgoJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd0YWJ0bycsICR0YnRhYnRvKSAKCSk7Cn0KZWxzZSB7CglpZiggIWlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pICkgewoJCSRwYXJhbXNbJ21vZHVsZV9lcnJvciddID0gbGFuZygnbWlzc2luZ3BhcmFtcycpOwoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsJ2RlZmF1bHRhZG1pbicsJycsJHBhcmFtcyk7CgkJcmV0dXJuOwoJfQoJJHNtYXJ0eS0+YXNzaWduKCdtb2RlJywgJ2VkaXQnKTsKCSRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnZG9fZWRpdHRlbXBsYXRlJywkcmV0dXJuaWQsJ3Bvc3QnLCcnLCBmYWxzZSwgJycsICRwYXJhbXMpKTsKCQoJJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZW5hbWUnLCR0ZW1wbGF0ZW5hbWUpOwoJJGNvbnRlbnRzID0gJHRoaXMtPkdldFRlbXBsYXRlKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOwoJJHRlbXBsYXRlcHJvcHMgPSB0YlV0aWxzOjpnZXRUZW1wbGF0ZVByb3BzKCRwYXJhbXNbJ3RlbXBsYXRlJ10pOwoKCSRzZWN0aW9uID0gJHRlbXBsYXRlcHJvcHNbJ3NlY3Rpb24nXTsKCQoJJHNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLAoJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd0ZW1wbGF0ZWlkJywgJHRlbXBsYXRlcHJvcHNbJ3RlbXBsYXRlaWQnXSkgLgoJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd2ZXJzaW9uJywgJHRlbXBsYXRlcHJvcHNbJ3ZlcnNpb24nXSkgLgoJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdhYm91dCcsICR0ZW1wbGF0ZXByb3BzWydhYm91dCddKSAuCgkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3NlY3Rpb24nLCAkdGVtcGxhdGVwcm9wc1snc2VjdGlvbiddKSAuCgkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3RwbHNlY3Rpb24nLCAkdGVtcGxhdGVwcm9wc1sndHBsc2VjdGlvbiddKSAuCgkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3RhYnRvJywgJHRidGFidG8pIAoJKTsKfQoKJHNtYXJ0eS0+YXNzaWduKCdtb2QnLCR0aGlzKTsKJHNtYXJ0eS0+YXNzaWduKCdzZWN0aW9uJywkdGVtcGxhdGVwcm9wc1snc2VjdGlvbiddKTsKJHNtYXJ0eS0+YXNzaWduKCJ0ZW1wbGF0ZWlkIiwkdGVtcGxhdGVwcm9wc1sndGVtcGxhdGVpZCddKTsKJHNtYXJ0eS0+YXNzaWduKCJzZWN0aW9uIiwkdGVtcGxhdGVwcm9wc1snc2VjdGlvbiddKTsKJHNtYXJ0eS0+YXNzaWduKCdqcXVlcnlfb3duJywkdGVtcGxhdGVwcm9wc1snanF1ZXJ5X293biddKSA7CgokY29udGVudHNjb2RlID0gZXhwbG9kZShUT09MQk9YX1NFUEFSQVRPUiwgJGNvbnRlbnRzKTsKCiRodG1sY29kZQkJPSBpc3NldCgkY29udGVudHNjb2RlWzBdKSA/ICRjb250ZW50c2NvZGVbMF0gOiAiIjsKJGNzc2NvZGUgCQk9IGlzc2V0KCRjb250ZW50c2NvZGVbMV0pID8gJGNvbnRlbnRzY29kZVsxXSA6ICIiOwokanNjb2RlIAkJPSBpc3NldCgkY29udGVudHNjb2RlWzJdKSA/ICRjb250ZW50c2NvZGVbMl0gOiAiIjsKJGh0bWxtb2JpbGVjb2RlCT0gaXNzZXQoJGNvbnRlbnRzY29kZVszXSkgPyAkY29udGVudHNjb2RlWzNdIDogIiI7CiRjc3Ntb2JpbGVjb2RlIAk9IGlzc2V0KCRjb250ZW50c2NvZGVbNF0pID8gJGNvbnRlbnRzY29kZVs0XSA6ICIiOwokanNtb2JpbGVjb2RlIAk9IGlzc2V0KCRjb250ZW50c2NvZGVbNV0pID8gdHJpbSgkY29udGVudHNjb2RlWzVdLCIqfSIpIDogIiI7CgoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9qcXVlcnknLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnanF1ZXJ5JywnMScsJHRlbXBsYXRlcHJvcHNbJ2pxdWVyeSddLCcnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlX21vYmlsZXRlbXBsYXRlJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ3VzZV9tb2JpbGV0ZW1wbGF0ZScsJzEnLGlzc2V0KCR0ZW1wbGF0ZXByb3BzWyd1c2VfbW9iaWxldGVtcGxhdGUnXSkgPyAkdGVtcGxhdGVwcm9wc1sndXNlX21vYmlsZXRlbXBsYXRlJ10gOiAwLCdpZD0idXNlX21vYmlsZXRlbXBsYXRlIicpKTsKCiRzbWFydHktPmFzc2lnbigndGVtcGxhdGUnLCAkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSAoJGlkLCAkaHRtbGNvZGUsICd0ZW1wbGF0ZWNvbnRlbnQnKSk7CiRzbWFydHktPmFzc2lnbignbW9iaWxldGVtcGxhdGUnLCAkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSAoJGlkLCAkaHRtbG1vYmlsZWNvZGUsICd0ZW1wbGF0ZW1vYmlsZWNvbnRlbnQnKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlY3NzJywgJHRoaXMtPkNyZWF0ZVN5bnRheEFyZWEgKCRpZCwgJGNzc2NvZGUsICd0ZW1wbGF0ZWNzcycpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZW1vYmlsZWNzcycsICR0aGlzLT5DcmVhdGVTeW50YXhBcmVhICgkaWQsICRjc3Ntb2JpbGVjb2RlLCAndGVtcGxhdGVtb2JpbGVjc3MnKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlanMnLCAkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSAoJGlkLCAkanNjb2RlLCAndGVtcGxhdGVqcycpKTsKJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZW1vYmlsZWpzJywgJHRoaXMtPkNyZWF0ZVN5bnRheEFyZWEgKCRpZCwgJGpzbW9iaWxlY29kZSwgJ3RlbXBsYXRlbW9iaWxlanMnKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXRidXR0b24nLCAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdhcHBseScsJHBhcmFtc1snbW9kZSddID09ICdhZGQnID8gJycgOiAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnYXBwbHlidXR0b24nLCAkdGhpcy0+TGFuZygnYXBwbHknKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdjYW5jZWwnLCAkdGhpcy0+TGFuZygnY2FuY2VsJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdyZXNldCcsJHBhcmFtc1snbW9kZSddICE9ICdhZGQnICYmIGZpbGVfZXhpc3RzKGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3RlbXBsYXRlcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nVG9vbEJveC10cGwtJy4kdGVtcGxhdGVwcm9wc1snc2VjdGlvbiddLictJy4kdGVtcGxhdGVuYW1lLicueG1sJykgPyAnJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JyAuICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdyZXNldGJ1dHRvbicsICR0aGlzLT5MYW5nKCdyZXNldG9yaWdpbmFsJyksICcnLCAnJywgJHRoaXMtPkxhbmcoJ3Jlc2V0b3JpZ2luYWx3YXJuaW5nJykpIDogJycpOwoKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCgoKCiRyb3dhcnJheSA9IGFycmF5KCk7CmlmIChpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSkgewoKCSRkaXIgPSAiLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy8iIC4gJHBhcmFtc1sndGVtcGxhdGUnXTsKCSRkaXIgPSBpc19kaXIoJGRpcikgPyAkZGlyIDogIi4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvIiAuIHN0cnRvbG93ZXIoJHBhcmFtc1sndGVtcGxhdGUnXSk7CgkkZmlsZXMgPSB0YlV0aWxzOjpnZXRGb2xkZXJGaWxlcygkZGlyLCAiLyIpOwoJCglmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGUpIHsKCQkKCQkkcm93ID0gbmV3IHN0ZENsYXNzKCk7CgkJJHJvdy0+ZXh0CQk9ICc8aW1nIHNyYz0iLi4vbW9kdWxlcy9Ub29sQm94L2dldEljb24ucGhwP2V4dD0nLiRmaWxlWydleHQnXS4nIiBhbHQ9IicuJGZpbGVbJ2V4dCddLiciIC8+ICc7CgkJJHJvdy0+bmFtZQkJPSAkZmlsZVsnbmFtZSddOwoJCSRyb3ctPmxpbmsJCT0gJzxhIGhyZWY9IicuJGNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvJy4kcGFyYW1zWyd0ZW1wbGF0ZSddLicvJy4kZmlsZVsnbmFtZSddLiciIHRhcmdldD0iX2JsYW5rIj4nLiRmaWxlWyduYW1lJ10uJzwvYT4nOwoJCSRyb3ctPnNpemUJCT0gJGZpbGVbJ3NpemUnXTsKCQkkcm93LT5yYXdzaXplCT0gJGZpbGVbJ3Jhd3NpemUnXTsKCQkkcm93LT5hY3Rpb24JPSAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2RlbGZpbGVbXScsJGZpbGVbJ25hbWUnXSwnJywnJyk7CgkJYXJyYXlfcHVzaCAoJHJvd2FycmF5LCAkcm93KTsKCX0KCQoJaWYgKCFjb3VudCgkcm93YXJyYXkpKSB7CgkJJHJvdyA9IG5ldyBTdGRDbGFzcygpOwoJCSRyb3ctPm5hbWUgPSAkdGhpcy0+TGFuZygnbm9fZmlsZXMnKTsKCQkkcm93LT5leHQgID0gIiI7CgkJJHJvdy0+bGluayA9ICRyb3ctPm5hbWU7CgkJJHJvdy0+c2l6ZSA9ICIiOwoJCSRyb3ctPnJhd3NpemUgPSAiIjsKCQkkcm93LT5hY3Rpb24gPSAiIjsKCQlhcnJheV9wdXNoICgkcm93YXJyYXksICRyb3cpOwoJfQoJCgkKfQokc21hcnR5LT5hc3NpZ24oJ3RwbGZpbGVzJywkcm93YXJyYXkpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9maWxlJywkdGhpcy0+TGFuZygncHJvbXB0X2ZpbGUnKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X3NpemUnLCR0aGlzLT5MYW5nKCdwcm9tcHRfc2l6ZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZGVsZXRlJywkdGhpcy0+TGFuZygncHJvbXB0X2RlbGV0ZScpKTsKCgovLyBVcGxvYWQgc2V0dGluZ3MKJHBhdHRlcm4gPSAnLzxpbWcuKj9zcmM9IiguKz8pIiguKj8pPi9pJzsgICAKcHJlZ19tYXRjaCgkcGF0dGVybiwgJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZGZpbGVzJyksJycsJycsJ3N5c3RlbWljb24nKSwkbWF0Y2hlcyk7Cgokc21hcnR5LT5hc3NpZ24oJ2FkZGZpbGVzaWNvbicsJGNvbmZpZ1sncm9vdF91cmwnXS4iLyIuJGNvbmZpZ1snYWRtaW5fZGlyJ10uIi8iLiRtYXRjaGVzWzFdKTsKJHNtYXJ0eS0+YXNzaWduKCdhZGRmaWxlcycsJHRoaXMtPkxhbmcoJ2FkZGZpbGVzJykpOwoKJGV4dCA9IGV4cGxvZGUoJywnLCAianBnLGpwZWcsZ2lmLHBuZyxqcyxjc3MiKTsKJGZpbGV0eXBlcyA9ICcqLicgLiBpbXBsb2RlKCc7Ki4nLCAkZXh0KTsKJGZpbGVzaXplID0gc3RyX3JlcGxhY2UoJ00nLCcgTUInLGdldF9jZmdfdmFyKCdwb3N0X21heF9zaXplJykpOwokc21hcnR5LT5hc3NpZ24oJ2ZpbGVfc2l6ZV9saW1pdCcsICRmaWxlc2l6ZSk7CiRzbWFydHktPmFzc2lnbignZmlsZV90eXBlcycsICRmaWxldHlwZXMpOwokc21hcnR5LT5hc3NpZ24oJ3VwbG9hZF91cmwnLCBzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkb191cGxvYWQnLCAnJywgJycsIGFycmF5KCdkaXNhYmxlX3RoZW1lJz0+J3RydWUnKSwgJycsIHRydWUpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9maWxldXBsb2FkJywkdGhpcy0+TGFuZygnYWRkZmlsZXMnKSk7CiRzbWFydHktPmFzc2lnbigndGl0bGVfdXBsb2FkZmlsZScsJHRoaXMtPkxhbmcoJ2FkZGZpbGVzJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF91cGxvYWRmaWxlJywkdGhpcy0+TGFuZygncHJvbXB0X3VwbG9hZGZpbGUnKSk7CgppZiAoJHNlY3Rpb24gPT0gImF1dG9saWdodGJveCIpCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXR0ZW1wbGF0ZV9hbGIudHBsJyk7CmVsc2UgaWYgKCRzZWN0aW9uID09ICJ0d2l0dGVyZmVlZCIpCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXR0ZW1wbGF0ZV90d2YudHBsJyk7CmVsc2UgaWYgKCRzZWN0aW9uID09ICJjc3YiKQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0dGVtcGxhdGVfY3N2LnRwbCcpOwkKZWxzZQoJZWNobyAiPHA+dGhlcmUgaXMgbm8gYWRtaW4gdGVtcGxhdGUgZm9yIHNlY3Rpb24gJyIuJHNlY3Rpb24uIic8L3A+IjsJCgoK]]></data>
	</file>
	<file>
	  <filename>/action.edittplabout.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICEkZ0NtcyApIGV4aXQoKTsKCiR0YnRhYnRvID0gaXNzZXQoJHBhcmFtc1sndGFidG8nXSkgPyBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSkgOiAiIjsgCiRzZWN0aW9uID0gaXNzZXQoJHBhcmFtc1snc2VjdGlvbiddKSA/IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWydzZWN0aW9uJ10pIDogJyc7CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkKewoJJHBhcmFtcyA9IGFycmF5KCd0YWJ0bycgPT4gJHRidGFidG8pOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsKfQoKaWYoICEgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMobGFuZygnbmVlZHBlcm1pc3Npb250bycsICdNYW5hZ2UgVG9vbEJveCcpKTsKCXJldHVybjsKfQoKaWYoICFpc3NldCgkcGFyYW1zWydtb2RlJ10pIHx8ICFpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZSddKSApCnsKCSRwYXJhbXNbJ21vZHVsZV9lcnJvciddID0gbGFuZygnbWlzc2luZ3BhcmFtcycpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywnJywkcGFyYW1zKTsKCXJldHVybjsKfQoKJHRlbXBsYXRlID0gc3RyX3JlcGxhY2UoImFsYl8iLCAiIiwgJHBhcmFtc1sndGVtcGxhdGUnXSk7Cgokc21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3RhYnRvJywgJHRidGFidG8pKTsKCiR0ZW1wbGF0ZXByb3BzID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVQcm9wcygkcGFyYW1zWyd0ZW1wbGF0ZSddKTsKCmlmKCAkcGFyYW1zWydtb2RlJ10gPT0gJ3Nob3cnICkKewoJJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdlZGl0dHBsYWJvdXQnLCRyZXR1cm5pZCwncG9zdCcsJycsIGZhbHNlLCAnJywgYXJyYXkoJ3RlbXBsYXRlJz0+JHBhcmFtc1sndGVtcGxhdGUnXSwgJ21vZGUnPT4iZWRpdCIpKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbmFtZScsICR0ZW1wbGF0ZSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3ZlcnNpb24nLCAkdGVtcGxhdGVwcm9wc1sndmVyc2lvbiddKTsKCSRzbWFydHktPmFzc2lnbignYWJvdXQnLCAkdGVtcGxhdGVwcm9wc1snYWJvdXQnXSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdlZGl0YnV0dG9uJywgJHRoaXMtPkxhbmcoJ2VkaXQnKSkpOwp9CmVsc2VpZiAoICRwYXJhbXNbJ21vZGUnXSA9PSAnZWRpdCcgKQp7Cgkkc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ2VkaXR0cGxhYm91dCcsJHJldHVybmlkLCdwb3N0JywnJywgZmFsc2UsICcnLCBhcnJheSgndGVtcGxhdGUnPT4kcGFyYW1zWyd0ZW1wbGF0ZSddLCAnbW9kZSc9PiJkb19lZGl0IikpKTsKCSRzbWFydHktPmFzc2lnbigndGVtcGxhdGVuYW1lJywgJHRlbXBsYXRlKTsKCSRzbWFydHktPmFzc2lnbigndmVyc2lvbicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3ZlcnNpb24nLCAkdGVtcGxhdGVwcm9wc1sndmVyc2lvbiddLCAxMCwgMjAgKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2Fib3V0JywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsICRpZCwgJHRlbXBsYXRlcHJvcHNbJ2Fib3V0J10sICdhYm91dCcsICcnLCAnJywgJycsICcnLCAnODAnLCAnMTUnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXRidXR0b24nLCAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKfQplbHNlCnsKCS8vIGRvX2VkaXQKCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfdG9vbGJveF90ZW1wbGF0ZXByb3BzCgkJCQkJCVNFVCB2ZXJzaW9uPT8sIGFib3V0PT8KCQkJCQkJV0hFUkUgdGVtcGxhdGU9PyI7CgkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1sndmVyc2lvbiddLCRwYXJhbXNbJ2Fib3V0J10sJHBhcmFtc1sndGVtcGxhdGUnXSkpOwoJaWYgKCAhJHJlc3VsdCApCgl7CgkJZWNobyAnRVJST1I6ICcgLiBteXNxbF9lcnJvcigpOwoJCWV4aXQoKTsKCX0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdlZGl0dHBsYWJvdXQnLCAnJywgYXJyYXkoJ3RlbXBsYXRlJz0+JHBhcmFtc1sndGVtcGxhdGUnXSwgJ21vZGUnPT4ic2hvdyIsICd0YWJ0byc9PiR0YnRhYnRvLCAnbW9kdWxlX21lc3NhZ2UnPT4kdGhpcy0+TGFuZygndGVtcGxhdGV1cGRhdGVkJykpKTsKCWV4aXQoKTsKfQoKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsJHRoaXMtPkxhbmcoJ3Byb21wdF9hYm91dCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdGVtcGxhdGVuYW1lJywkdGhpcy0+TGFuZygncHJvbXB0X3RlbXBsYXRlbmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdmVyc2lvbicsJHRoaXMtPkxhbmcoJ3Byb21wdF92ZXJzaW9uJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hYm91dCcsJHRoaXMtPkxhbmcoJ3Byb21wdF9hYm91dCcpKTsKCiRzbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2NhbmNlbCcsICR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdHRwbGFib3V0LnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.logUpdater.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vIENoZWNrIGF1dGhvcmlzYXRpb24KaWYoIWlzX29iamVjdChjbXNtcygpKSkgZXhpdDsKaWYgKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFRvb2xCb3gnKSApIGV4aXQ7CmlmKCAkX1NFUlZFUlsnUkVRVUVTVF9NRVRIT0QnXSAhPSAnUE9TVCcgKSBleGl0OwoKJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwoKJHNtYXJ0eS0+YXNzaWduKCJtb2QiLCR0aGlzKTsKCi8vIEdldCBQT1NUIGRhdGEKJHRiVGFiVG8gPSBwcmVnX3JlcGxhY2UoJy9bXjAtOWEtekEtWl9dLycsJycsJHBhcmFtc1sndGFidG8nXSk7CgovLyB0YkxvZ1VwZGF0ZXIgU2Vzc2lvbgokc2Vzc2lvbl9uYW1lID0gInRiTG9nVXBkYXRlciI7CnNlc3Npb25fbmFtZSgkc2Vzc2lvbl9uYW1lKTsKCmlmIChpc3NldCgkcGFyYW1zWydzdGFydGJ1dHRvbiddKSApIHsKCQoJCgkkc2FsdCA9ICJ0YlRkaVdWYWRsaWxlc2xjaSI7CgkKCSRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnbG9nVXBkYXRlcicsJHJldHVybmlkLCdwb3N0JywnJywgdHJ1ZSwgYXJyYXkoKSkpOwoJCgkkZmlsZU5hbWUgPSBpc3NldCgkcGFyYW1zWydsb2dGaWxlJ10pID8gJHBhcmFtc1snbG9nRmlsZSddIDogJyc7CgkkbGluZXMgPSBpc3NldCgkcGFyYW1zWydsb2dMaW5lcyddKSA/IChpbnQpJHBhcmFtc1snbG9nTGluZXMnXSA6IDA7CgkkbG9nRmlsZSA9ICR0aGlzLT50YkxvZ1BhdGguJGZpbGVOYW1lOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3RhaWxfbG9nbGluZXMnLCRsaW5lcyk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndGFpbF9maWxlJywkZmlsZU5hbWUpOwoJCgkkcmFuZG9tID0gJHRoaXMtPnJhbmRvbUFscGhhTnVtKDUpOwoJJF9TRVNTSU9OWyd0YkxvZ1VwZGF0ZXJfJy4kcmFuZG9tLidfVHMnXSA9ICcnOwoJCgkkc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywkZmlsZU5hbWUpOwoJCgkkYXJyYXkgPSBhcnJheSgnbG9nRmlsZScgPT4gJGxvZ0ZpbGUsICdrZXknID0+ICRyYW5kb20pOwoJCgkkaGFzaCA9IGJ0VG9vbHM6OmdldFBhcmFtc0hhc2goJGFycmF5LCAkc2FsdCk7IAoJCi8vCWY9Jytsb2dGaWxlKycmaz0nK2tleSsnJmg9JwoJCgkkdGhpcy0+bG9nVXBkYXRlclBhcmFtID0gYXJyYXkoJ2YnPT4gYmFzZTY0X2VuY29kZSgkbG9nRmlsZSksICdrJyA9PiBiYXNlNjRfZW5jb2RlKCRyYW5kb20pLCAnaCcgPT4gJGhhc2gpOwoJCgkkc21hcnR5LT5hc3NpZ24oJ3RhYnRvJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGFidG8nLCR0YlRhYlRvKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2xvZ0ZpbGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdsb2dGaWxlJyxiYXNlNjRfZW5jb2RlKCRsb2dGaWxlKSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdrZXknLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdrZXknLGJhc2U2NF9lbmNvZGUoJHJhbmRvbSkpKTsKCSRzbWFydHktPmFzc2lnbignaGFzaCcsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2gnLCRoYXNoKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2xpbmVzJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnbGluZXMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0YWlsX2xvZ2xpbmVzJykpKTsKCQoJJGxvZyA9IHRiTG9nVXBkYXRlcjo6Z2V0TG9nTGluZXMoJGxvZ0ZpbGUsICRyYW5kb20sICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0YWlsX2xvZ2xpbmVzJykpOyAKCSRzbWFydHktPmFzc2lnbignaW5wdXRfbG9nJywkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSgkaWQsJGxvZywnbG9nJywnJywndGFpbGxvZ2FyZWEnLCcnLCcnLDEyMCwzMCwncmVhZG9ubHk9InJlYWRvbmx5IiB3cmFwPSJvZmYiJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfbG9nJywkdGhpcy0+TGFuZygndGFpbF9wcm9tcHRfbG9nJykpOwoJCgkkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdG9wYnV0dG9uJywgJHRoaXMtPkxhbmcoJ3RhaWxfc3RvcCcpKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoJCn0KZWxzZSB7CgkkcmFuZG9tID0gaXNzZXQoJHBhcmFtc1sna2V5J10pID8gJHBhcmFtc1sna2V5J10gOiAnJzsKCXVuc2V0KCRfU0VTU0lPTlsndGJMb2dVcGRhdGVyXycuJHJhbmRvbS4nX1RzJ10pOwp9Cgokc2lkID0gc2Vzc2lvbl9pZCgpOwovLyBGb3JjZSB0byBzZXQgdGhlIGNvb2tpZQpzZXRjb29raWUoJHNlc3Npb25fbmFtZSwgJHNpZCwgMCwgJy8nLCAnJyk7Ci8vIENsb3NlIHRoYXQgc2Vzc2lvbgpzZXNzaW9uX3dyaXRlX2Nsb3NlKCk7CgoKaWYgKGlzc2V0KCRwYXJhbXNbJ3N0YXJ0YnV0dG9uJ10pICkgewoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdsb2dVcGRhdGVyLnRwbCcpOwp9CmVsc2UgewoJLy8gUmVkaXJlY3QKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCAndGFidG8nPT4kdGJUYWJUbyApKTsKfQoKCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/action.switchdefaulttemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CmlmICggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgKSAKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhsYW5nKCduZWVkcGVybWlzc2lvbnRvJywgJ01hbmFnZSBUb29sQm94JykpOwoJcmV0dXJuOwp9CgokdGFidG8gPSBpc3NldCgkcGFyYW1zWyd0YWJ0byddKSA/ICRwYXJhbXNbJ3RhYnRvJ10gOiAnJzsKJHR0YWJ0byA9IGlzc2V0KCRwYXJhbXNbJ3R0YWJ0byddKSA/ICRwYXJhbXNbJ3R0YWJ0byddIDogJyc7CgppZiAoIWlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlJ10pKQp7CgkkcGFyYW1zID0gYXJyYXkoJ21vZHVsZV9lcnJvcicgPT4gbGFuZygnbWlzc2luZ3BhcmFtcycpIC4gJyBcJ3RlbXBsYXRlXCcnLCAndGFidG8nID0+ICR0YWJ0bywgJ3R0YWJ0bycgPT4gJHR0YWJ0byk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgJHBhcmFtcyk7CglyZXR1cm47Cn0KCiR0cGxwcm9wcyA9IHRiVXRpbHM6OmdldFRlbXBsYXRlUHJvcHMoJHBhcmFtc1sndGVtcGxhdGUnXSk7CgppZiAoISR0cGxwcm9wcykKewoJJHBhcmFtcyA9IGFycmF5KCdtb2R1bGVfZXJyb3InID0+IGxhbmcoJ21pc3NpbmdwYXJhbXMnKSAuICcgXCdzZWN0aW9uXCcnLCAndGFidG8nID0+ICR0YWJ0bywgJ3R0YWJ0bycgPT4gJHR0YWJ0byk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJyAsICRyZXR1cm5pZCwgJHBhcmFtcyk7CglyZXR1cm47Cn0KCgppZiAoJHRwbHByb3BzWydzZWN0aW9uJ10gPT0gInR3aXR0ZXJmZWVkIikgewoJJG1hc2sgPSAgc3RyX3JlcGxhY2UoIi8iLERJUkVDVE9SWV9TRVBBUkFUT1IsJGNvbmZpZ1sncm9vdF9wYXRoJ10uIi90bXAvY2FjaGUvVG9vbEJveF90d2l0dGVyZmVlZCoiKTsKCWFycmF5X21hcCggInVubGluayIsIGdsb2IoICRtYXNrICkgKTsKfQoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfJy4kdHBscHJvcHNbJ3NlY3Rpb24nXS4kdHBscHJvcHNbJ3RwbHNlY3Rpb24nXS4nX3RlbXBsYXRlJywkcGFyYW1zWyd0ZW1wbGF0ZSddKTsKJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicgLCAkcmV0dXJuaWQsIGFycmF5KCd0YWJ0bycgPT4gJHRhYnRvLCAndHRhYnRvJyA9PiAkdHRhYnRvKSk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/changelog.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgo8bGk+MS4xLjEgLSAyMC4wNS4yMDEyPGJyIC8+CjxiciAvPgo8dWw+CjxsaT5NaW5vciBidWdmaXhlczwvbGk+CjxsaT5VcGRhdGUgU29jaWFsU2hhcmVQcml2YWN5IHZlcnNpb24gMS40PC9saT4KPC91bD4KPC9saT4KPC91bD4KPHVsPgo8bGk+MS4xLjAgLSAwNS4wMy4yMDEyPGJyIC8+CjxiciAvPgo8dWw+CjxsaT5BZGRlZCBTbWFydHkgcGx1Z2luICR0YnRvb2xzLiBUaGlzIGVuYWJsZXMgeW91IHRvIHVzZSBkaWZmZXJlbnQgZnVuY3Rpb25zIHRvIG1vZGlmeSBjb250ZW50LjwvbGk+CjxsaT5BZGRlZCBkaWZmZXJlbnQgcGx1Z2lucy48L2xpPgo8bGk+QWRkZWQgcGx1Z2luIHRvIGV4dGVuZCBBZHZhbmNlZENvbnRlbnQ8L2xpPgo8bGk+QWRkZWQgcGx1Z2luIHRvIHNob3cgU29jaWFsU2hhcmVQcml2YWN5IEJ1dHRvbnM8L2xpPgo8bGk+QWRkZWQgYSBUYWlsLUxvZyBUYWI8L2xpPgo8bGk+TW9kdWxlIGhlbHAgaXMgbm93IG11Y2ggYmlnZ2VyIDopPC9saT4KPGxpPlRvb2xCb3ggY2FsbCBpcyBub3cgcG9zc2libGUgd2l0aCB7VG9vbEJveH08L2xpPgo8L3VsPgo8L2xpPgo8L3VsPgo8dWw+CjxsaT4xLjAuMSAtIERlY2VtYmVyIDIwMTEKPHA+U29tZSBzbWFsbGVyIGJ1ZyBmaXhlczwvcD48L2xpPgo8bGk+MS4wIC0gRGVjZW1iZXIgMjAxMQo8cD5Jbml0aWFsIFJlbGVhc2Ugb2YgdGhlIG1vZHVsZSBUb29sQm94PC9wPjwvbGk+CjwvdWw+]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBUbyBkZW55IFBIUHMKPEZpbGVzIH4gIlwuKHBocHxwaHAzfHBocDR8cGhwNXxwaHRtbHxwbHxjZ2kpJCI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgb3JkZXIgZGVueSxhbGxvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogIGRlbnkgZnJvbSBhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPC9GaWxlcz4gIAo=]]></data>
	</file>
	<file>
	  <filename>/doc/coding_guidelines.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+Cjx0aXRsZT5Nb2R1bCBUb29sQm94IChDTVMgbWFkZSBzaW1wbGUpOiBQSFAgUHJvZ3JhbW1pZXJ1bmcgUmljaHRsaW5pZW48L3RpdGxlPgo8bWV0YSBuYW1lPSJsYW5ndWFnZSIgY29udGVudD0iZGUiIC8+CjxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0ibm9pbmRleCxub2ZvbGxvdyIgLz4KPC9oZWFkPgo8Ym9keT4KCjxoMT5Nb2R1bCBUb29sQm94IChDTVMgbWFkZSBzaW1wbGUpOiBQSFAgUHJvZ3JhbW1pZXJ1bmcgUmljaHRsaW5pZW48L2gxPgoKPGgyPkFsbGdlbWVpbmUgR3J1bmRzw6R0emU8L2gyPgo8dWw+CjxsaT5CZXplaWNobnVuZ2VuIGFscyBQcm9ncmFtbWllcmJlc3RhbmR0ZWlsIChWYXJpYWJsZW4tTmFtZW4sIEZ1bmt0aW9uZW4sIGV0Yy4pIHdlcmRlbiBpbiBFbmdsaXNjaCB2ZXJmYXNzdC48L2xpPgo8bGk+QWxzIEVpbnp1ZyBmw7xyIGRpZSBTdHJ1a3R1cmllcnVuZyB3aXJkIGVpbiBFaW56dWcgdm9uIGVpbmVtIFRhYnVsYXRvciB2ZXJ3ZW5kZXQuIExlZXJ6ZWljaGVuIGFscyBFaW56dWcgc2luZCB2b3IgZGVtIEVpbmNoZWNrZW4gaW4gVGFidWxhdG9yZW4gdW16dXdhbmRlbG4uPC9saT4KPGxpPkJlaSBEYXRlaWVuLCBkaWUgbnVyIFBIUC1Db2RlIGVudGhhbHRlbiwgaXN0IGRlciBBYnNjaGx1c3N0YWcgKCZxdW90Oz8mZ3Q7JnF1b3Q7KSB3ZWd6dWxhc3Nlbi4gVm9uIFBIUCB3aXJkIGRpZXNlciBuaWNodCBiZW7DtnRpZ3QgdW5kIHZlcmhpbmRlcnQgc28gdW5lcnfDvG5zY2h0ZSBMZWVyemVpY2hlbiBiZWltIGZpbmFsZW4gT3V0cHV0LjxiciAvPlN0YXR0ZGVzc2VuIHdpcmQgZGFzIEVuZGUgZGVyIERhdGVpIG1pdCBmb2xnZW5kZW0gS29tbWVudGFyIGdla2VubnplaWNobmV0OiA8cHJlPi8vIEVPRjwvcHJlPjwvbGk+CjxsaT5TdHJpbmdzIHNvbGx0ZSBncnVuZHPDpHR6bGljaCBtaXQgZWluZmFjaGVuIEFwb3N0cm9waGVuIChzaW5nbGUgcXVvdGVzKSBhYmdlZ3Jlbnp0IHdlcmRlbi4gRGllcyBoYXQgZGVuIFZvcnRlaWwsIGRhc3MgUEhQIENvZGUgaW0gU3RyaW5nIG5pY2h0IGF1c2dlZsO8aHJ0IHdpcmQgdW5kIHNvIHouQi4gSFRNTCBBdXNnYWJlbiBlaW5mYWNoZXIgc2luZC4gRG9wcGVsdGUgQXBvc3Ryb3BoZSAoZG91YmxlIHF1b3RlcykgZMO8cmZlbiBudXIgdmVyd2VuZGV0IHdlcmRlbiwgd2VubiBkaWUgQXVzZsO8aHJ1bmcgZGVzIGVudGhhbHRlbmVuIENvZGVzIGJlbsO2dGlndCB3aXJkLiBTdHJpbmd2ZXJiaW5kdW5nZW4gb2RlciBWYXJpYWJsZW4gaW0gU3RyaW5nIHdlcmRlbiBpbW1lciBtaXQgZGVtIFB1bmt0IGFscyBWZXJiaW5kZXIgZ2VzY2hyaWViZW4uPC9saT4KPGxpPkdlc2Nod2VpZnRlIEtsYW1tZXJuIHVtIENvZGUtQmzDtmNrZSB3ZXJkZW4gd2llIGZvbGd0IGVpbmdlc2V0enQ6IERpZSBlcnN0ZSBnZXNjaHdlaWZ0ZSBLbGFtbWVyIHN0ZWh0IHN0ZXRzIGluIGRlciBnbGVpY2hlbiBaZWlsZSB3aWUgZGllIEJlZGluZ3VuZywgZGllIHp3ZWl0ZSBnZXNjaHdlaWZ0ZSBLbGFtbWVyIGluIGVpbmVyIGVpbnplbG5lbiBaZWlsZS48YnIgLz5BbHMgQXVzbmFobWUgZ2lsdCwgd2VubiBkZXIgZ2VzYW10ZSBCbG9jayBtaXQgQmVkaW5ndW5nIGluIGVpbmVyIFplaWxlIHN0ZWh0LjwvbGk+CjwvdWw+Cgo8aDI+S29tbWVudGFyZTwvaDI+Cjx1bD4KPGxpPkRpZSBTcHJhY2hlIGbDvHIgRG9rdW1lbnRhdGlvbi9Lb21tZW50YXJlIGlzdCBEZXV0c2NoIG9kZXIgRW5nbGlzY2guPC9saT4KPGxpPkRlciBTdGFuZGFyZCBmw7xyIEtvbW1lbnRhcmUgcmljaHRldCBzaWNoIG5hY2ggZGVtIHZvbiBwaHBEb2N1bWVudG9yLjwvbGk+CjwvdWw+Cgo8aDI+VmFyaWFibGVuPC9oMj4KPHVsPgo8bGk+VmFyaWFibGVuIGF1w59lcmhhbGIgdm9uIEZ1bmt0aW9uZW4gdmVyd2VuZGVuIGRlbiBQcmVmaXggdGIgLSB6LkIuOiAkdGJSZWZlcmVyLjwvbGk+CjxsaT5Xb3J0ZSBpbm5lcmhhbGIgdm9uIFZhcmlhYmxlbiBiZWdpbm5lbiBzdGV0cyBtaXQgZWluZW0gR3Jvw59idWNoc3RhYmUsIGRlciBSZXN0IHdpcmQgc3RldHMga2xlaW5nZXNjaHJpZWJlbi48L2xpPgo8bGk+VmFyaWFibGVubmFtZW4gZMO8cmZlbiBudXIgYXVzIGFscGhhbnVtZXJpc2NoZW4gWmVpY2hlbiBiZXN0ZWhlbiwgVHJlbm56ZWljaGVuIHdpZSAtIG9kZXIgXyBzaW5kIG5pY2h0IHp1IHZlcndlbmRlbi48L2xpPgo8bGk+VmFyaWFibGVubmFtZW4gc2luZCBzbyBrdXJ6IHVuZCBzbyB2ZXJzdMOkbmRsaWNoIHdpZSBtw7ZnbGljaCB6dSBoYWx0ZW4uPC9saT4KPGxpPlZhcmlhYmxlbiB3aWUgJGkgdW5kICRuIGTDvHJmZW4gbnVyIFrDpGhsZXJuIC8gTG9vcHMgdmVyd2VuZGV0IHdlcmRlbi48L2xpPgo8L3VsPgoKPGgyPkRhdGVuYmFua2VuPC9oMj4KPHVsPgo8bGk+RGllIFZlcndlbmR1bmcgdm9uIFNRTC1CZWZlaGxlbiBsw6R1ZnQgc3RldHMgw7xiZXIgQWRvREIuPC9saT4KPGxpPlNvd2VpdCBtw7ZnbGljaCwgc29sbHRlbiBkaWUgRnVua3Rpb25lbiB2b24gQWRvREIgYXVzZ2VudXR6dCB3ZXJkZW4sIGFsc28gei5CLiBnZXRPbmUsIGdldFJvdyB1c3cuPC9saT4KPGxpPkplZGVzIFNRTC1TdGF0ZW1lbnQgaXN0IGF1ZiBTUUwtSW5qZWN0aW9uIHp1IMO8YmVycHLDvGZlbi4gSU5TRVJUIHVuZCBVUERBVEUgU3RhdGVtZW50cyBzaW5kIG51ciBpbSBadXNhbW1lbmhhbmcgbWl0IGRlbiA/IFBsYXR6aGFsdGVybiBBZG9EQiB6dSB2ZXJ3ZW5kZW4sIEF1c25haG1lbiBzaW5kIFNRTC1BbndlaXN1bmdlbiB3aWUgTk9XKCkuPC9saT4KPGxpPlNRTC1CZWZlaGxlIHdlcmRlbiBzdGV0cyBncm/DnyBnZXNjaHJpZWJlbi48L2xpPgo8L3VsPgoKPGgyPkJlaXNwaWVsPC9oMj4KPHByZT48Y29kZT48c3BhbiBzdHlsZT0iY29sb3I6IzAwMDAwMCI+PHNwYW4gc3R5bGU9ImNvbG9yOiAjRkY4MDAwIj4vKioKKiZuYnNwO1NldHMmbmJzcDt0aGUmbmJzcDtjb2xvciZuYnNwO29mJm5ic3A7dGhlJm5ic3A7ZXllcy4KKiZuYnNwO0BwYXJhbSZuYnNwO3N0cmluZyZuYnNwOyRleWVDb2xvciZuYnNwO0NvbG9yJm5ic3A7b2YmbmJzcDt0aGUmbmJzcDtleWVzCiombmJzcDtAcmV0dXJuJm5ic3A7Ym9vbGVhbgoqLzwvc3Bhbj4KPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA3NzAwIj5wdWJsaWMmbmJzcDtmdW5jdGlvbiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwQkIiPnNldEV5ZUNvbG9yPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNzcwMCI+KDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwQkIiPiRleWVDb2xvcjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDc3MDAiPil7CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwQkIiPmluX2FycmF5PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNzcwMCI+KDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwQkIiPnN0cnRvbG93ZXI8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA3NzAwIj4oPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDBCQiI+JGV5ZUNvbG9yPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNzcwMCI+KSwmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMEJCIj5zZWxmPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNzcwMCI+Ojo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMEJCIj4kX3ZhbGlkRXllQ29sb3JzPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNzcwMCI+KSkmbmJzcDt7CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwQkIiPiR0aGlzPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNzcwMCI+LSZndDs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMEJCIj5fZXllQ29sb3ImbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA3NzAwIj49Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDBCQiI+c3RydG9sb3dlcjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6ICMwMDc3MDAiPig8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMEJCIj4kZXllQ29sb3I8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA3NzAwIj4pOwombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDAwMEJCIj50cnVlPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwNzcwMCI+OwombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9Jm5ic3A7ZWxzZSZuYnNwO3sKJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwMDBCQiI+ZmFsc2U8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiAjMDA3NzAwIj47CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO30KfTwvc3Bhbj48L3NwYW4+PC9jb2RlPjwvcHJlPgoKPHA+IDwvcD4KCjwvYm9keT4KPC9odG1sPg==]]></data>
	</file>
	<file>
	  <filename>/doc/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBkdW1teSBpbmRleC5odG1sIC0tPgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_404.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIFNldCBUYWIgbmFtZQokdGFidG8gPSAnNDA0JzsKCiR0aGVtZU9iamVjdCA9IGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpOwoKLy8gU2V0IHZhcnMgYW5kIGltYWdlcwokaW1hZ2VkZWxldGUgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCR0aGlzLT5MYW5nKCdkZWxldGUnKSwnJywnJywnc3lzdGVtaWNvbicpOwokaW1hZ2VyZWRpcmVjdCA9ICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZXhwb3J0LmdpZicsJHRoaXMtPkxhbmcoJ25ld3JlZGlyZWN0JyksJycsJycsJ3N5c3RlbWljb24nKTsKJGltYWdlaWdub3JlID0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCR0aGlzLT5MYW5nKCdpZ25vcmUnKSwnJywnJywnc3lzdGVtaWNvbicpOwoKLy8gR2V0IGVycm9ycwokYWxsZXJyb3JzID0gJHRiRGItPkdldEFsbCgnU0VMRUNUIGlkLGZyb211cmwsdG91cmwsdmlzaXRzLGNyZWF0ZWRfZGF0ZSxtb2RpZmllZF9kYXRlIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9ycyBPUkRFUiBCWSBtb2RpZmllZF9kYXRlIERFU0MnKTsKaWYgKCFpc19hcnJheSgkYWxsZXJyb3JzKSkgJGFsbGVycm9ycyA9IGFycmF5KCk7CgovLyBXYWxrIHRocm91Z2ggZXJyb3JzCiRlcmFycmF5ID0gYXJyYXkoKTsKCiRyb3djbGFzcyA9ICdyb3cxJzsKZm9yZWFjaCAoICRhbGxlcnJvcnMgYXMgJG9uZWVycm9yICkgewoJLy8gQnVpbGQgYSBuZXcgcm93Cgkkcm93ID0gbmV3IFN0ZENsYXNzKCk7Cgkkcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCS8vIElECgkkcm93LT5pZCA9ICRvbmVlcnJvclsnaWQnXTsKCS8vIEljb24KCSRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9ESVJpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwuaHRtKGwpPyhcLyk/JC9pJywkb25lZXJyb3JbJ3RvdXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvSFRNTGljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC5jc3MoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0NTU2ljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC5waHAoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL1BIUGljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC50eHQoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL1RYVGljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC56aXAoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL1pJUGljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC5naWYoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0dJRmljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC5wbmcoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0pQR2ljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC5qcGcoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0pQR2ljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC5tcDMoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL01QM2ljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC53YXYoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL01QM2ljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC5hdmkoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0FWSWljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC5mbHYoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0ZMVmljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC5wZGYoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL1BERmljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC5kb2MoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0RPQ2ljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC54bHMoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL1hMU2ljb24uZ2lmIiAvPic7CglpZiAocHJlZ19tYXRjaCgnLy4qXC5wcHQoXC8pPyQvaScsJG9uZWVycm9yWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL1BQVGljb24uZ2lmIiAvPic7CgkvLyBGcm9tIFVSTAoJJHJvdy0+ZnJvbXVybCA9IHN0cmxlbigkb25lZXJyb3JbJ2Zyb211cmwnXSk8PTMwIAk/ICc8YSBocmVmPSInLiRvbmVlcnJvclsnZnJvbXVybCddLiciIHRpdGxlPSInLiRvbmVlcnJvclsnZnJvbXVybCddLiciIHRhcmdldD0iX2JsYW5rIj4nLnByZWdfcmVwbGFjZSgnL15odHRwKHMpPzpcL1wvLycsJycsJG9uZWVycm9yWydmcm9tdXJsJ10pLic8L2E+JwoJCQkJCQkJCQkJCQkJCTogJzxhIGhyZWY9IicuJG9uZWVycm9yWydmcm9tdXJsJ10uJyIgdGl0bGU9IicuJG9uZWVycm9yWydmcm9tdXJsJ10uJyIgdGFyZ2V0PSJfYmxhbmsiPicuc3Vic3RyKHByZWdfcmVwbGFjZSgnL15odHRwKHMpPzpcL1wvLycsJycsJG9uZWVycm9yWydmcm9tdXJsJ10pLDAsMTUpLicuLi4uJy5zdWJzdHIoJG9uZWVycm9yWydmcm9tdXJsJ10sLTE1KS4nPC9hPic7CgkvLyBUbyBVUkwKCSRyb3ctPnRvdXJsID0gJzxhIGhyZWY9IicuJG9uZWVycm9yWyd0b3VybCddLiciIHRhcmdldD0iX2JsYW5rIj4nLiRvbmVlcnJvclsndG91cmwnXS4nPC9hPic7Cgkkcm93LT50b3VybCA9IHN0cmxlbigkb25lZXJyb3JbJ3RvdXJsJ10pPD0zMCAJPyAnPGEgaHJlZj0iJy4kb25lZXJyb3JbJ3RvdXJsJ10uJyIgdGl0bGU9IicuJG9uZWVycm9yWyd0b3VybCddLiciIHRhcmdldD0iX2JsYW5rIj4nLiRpY29uLicgJy5wcmVnX3JlcGxhY2UoJy9eaHR0cChzKT86XC9cLy8nLCcnLCRvbmVlcnJvclsndG91cmwnXSkuJzwvYT4nCgkJCQkJCQkJCQkJCQk6ICc8YSBocmVmPSInLiRvbmVlcnJvclsndG91cmwnXS4nIiB0aXRsZT0iJy4kb25lZXJyb3JbJ3RvdXJsJ10uJyIgdGFyZ2V0PSJfYmxhbmsiPicuJGljb24uJyAnLnN1YnN0cihwcmVnX3JlcGxhY2UoJy9eaHR0cChzKT86XC9cLy8nLCcnLCRvbmVlcnJvclsndG91cmwnXSksMCwxNSkuJy4uLi4nLnN1YnN0cigkb25lZXJyb3JbJ3RvdXJsJ10sLTE1KS4nPC9hPic7CgkvLyBWaXNpdHMKCSRyb3ctPnZpc2l0cyA9ICRvbmVlcnJvclsndmlzaXRzJ107CgkvLyBDcmVhdGVkIGRhdGUKCSRyb3ctPmNyZWF0ZWQgPSAkb25lZXJyb3JbJ2NyZWF0ZWRfZGF0ZSddOwoJLy8gTW9kaWZpZWQgZGF0ZQoJJHJvdy0+bW9kaWZpZWQgPSAkb25lZXJyb3JbJ21vZGlmaWVkX2RhdGUnXTsKCS8vIEJ1aWxkIGVkaXQgaWNvbgoJJHJvdy0+cmVkaXJlY3RsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2FkbWluX2VkaXRyZWRpcmVjdCcsICRyZXR1cm5pZCwgJGltYWdlcmVkaXJlY3QsIGFycmF5ICggJ3RhYnRvJz0+J3JlZGlyZWN0cycsICdyZWRpcmVjdCc9PicnLCAncnVybCc9PnVybGVuY29kZSgkb25lZXJyb3JbJ3RvdXJsJ10pICksICcnLCBmYWxzZSwgZmFsc2UsICcgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ25ld3JlZGlyZWN0JykuJyInKTsKCS8vIEJ1aWxkIGlnbm9yZSBpY29uCgkkcm93LT5pZ25vcmVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2FkbWluXzQwNGlnbm9yZScsICRyZXR1cm5pZCwgJGltYWdlaWdub3JlLCBhcnJheSAoICd0YWJ0byc9PiR0YWJ0bywgJ2lfaXVybCc9PnVybGVuY29kZSgkb25lZXJyb3JbJ3RvdXJsJ10pLCAnaV9pZ25vcmUnPT4nMScgKSwgJHRoaXMtPkxhbmcoJ3JlYWxseWlnbm9yZScpLCBmYWxzZSwgZmFsc2UsICcgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ2lnbm9yZScpLiciJyk7CgkvLyBCdWlsZCBkZWxldGUgaWNvbgoJJHJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdhZG1pbl9kZWxldGVlcnJvcicsICRyZXR1cm5pZCwgJGltYWdlZGVsZXRlLCBhcnJheSAoICd0YWJ0byc9PiR0YWJ0bywgJ2Vycm9yJz0+JG9uZWVycm9yWydpZCddICksICR0aGlzLT5MYW5nKCdyZWFsbHlkZWxldGUnKSwgZmFsc2UsIGZhbHNlLCAnIHRpdGxlPSInLiR0aGlzLT5MYW5nKCdkZWxldGUnKS4nIicpOwoJLy8gTWVyZ2UgbmV3IGRvbWFpbiB0byBhcnJheQoJYXJyYXlfcHVzaCAoJGVyYXJyYXksICRyb3cpOwoJLy8gQWx0ZXJuYXRlIHJvdyBjb2xvcgoJKCRyb3djbGFzcyA9PSAncm93MScgPyAkcm93Y2xhc3MgPSAncm93MicgOiAkcm93Y2xhc3MgPSAncm93MScpOwp9Cgokc21hcnR5LT5hc3NpZ24oJ21vZCcsICR0aGlzKTsKCi8vIEFzc2lnbiBzbWFydHkgdmFycwokc21hcnR5LT5hc3NpZ24oJ2Vycm9yYXJyJywgJGVyYXJyYXkpOwokc21hcnR5LT5hc3NpZ24oJ2NoZWNrX29sZHVybCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvbGR1cmxfdXNlJykgPyAnMScgOiAnMCcpOwoKLy8gR2V0IGlnbm9yZSBsaXN0CiRpZ25vcmVlcnJvcnMgPSAkdGJEYi0+R2V0QWxsKCdTRUxFQ1QgaWQsaXVybCxpcmVnZXhwLGNyZWF0ZWRfZGF0ZSxtb2RpZmllZF9kYXRlIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9yc19pZ25vcmUnKTsKaWYgKCFpc19hcnJheSgkaWdub3JlZXJyb3JzKSkgJGlnbm9yZWVycm9ycyA9IGFycmF5KCk7CgovLyBXYWxrIHRocm91Z2ggaWdub3JlIGxpc3QKJGlnYXJyYXkgPSBhcnJheSgpOwokaWRzID0gYXJyYXkoKTsKJHJvd2NsYXNzID0gJ3JvdzEnOwpmb3JlYWNoICggJGlnbm9yZWVycm9ycyBhcyAkaWVycm9yICkgewoJLy8gQnVpbGQgYSBuZXcgcm93Cgkkcm93ID0gbmV3IFN0ZENsYXNzKCk7Cgkkcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCS8vIElECgkkcm93LT5pZCA9ICRpZXJyb3JbJ2lkJ107CgkkaWRzW10gPSAkaWVycm9yWydpZCddOwoJLy8gVVJMIHRvIGlnbm9yZQoJJHJvdy0+aXVybCA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpX2l1cmwnLiRpZXJyb3JbJ2lkJ10sJGllcnJvclsnaXVybCddLDYwLDIwMCk7CgkvLyBSZXhFeHA/Cgkkcm93LT5pcmVnZXhwID0gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaV9pcmVnZXhwJy4kaWVycm9yWydpZCddLCAndHJ1ZScsICRpZXJyb3JbJ2lyZWdleHAnXSA/ICd0cnVlJyA6ICdmYWxzZScpOwoJLy8gQ3JlYXRlZCBkYXRlCgkkcm93LT5jcmVhdGVkID0gJGllcnJvclsnY3JlYXRlZF9kYXRlJ107CgkvLyBNb2RpZmllZCBkYXRlCgkkcm93LT5tb2RpZmllZCA9ICRpZXJyb3JbJ21vZGlmaWVkX2RhdGUnXTsKCS8vIEJ1aWxkIGRlbGV0ZSBpY29uCgkkcm93LT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2FkbWluX2RlbGV0ZWlnbm9yZWVycm9yJywgJHJldHVybmlkLCAkaW1hZ2VkZWxldGUsIGFycmF5ICggJ3RhYnRvJz0+JHRhYnRvLCAnaWVycm9yJz0+JGllcnJvclsnaWQnXSApLCAkdGhpcy0+TGFuZygncmVhbGx5ZGVsZXRlJyksIGZhbHNlLCBmYWxzZSwgJyB0aXRsZT0iJy4kdGhpcy0+TGFuZygnZGVsZXRlJykuJyInKTsKCS8vIE1lcmdlIG5ldyBkb21haW4gdG8gYXJyYXkKCWFycmF5X3B1c2ggKCRpZ2FycmF5LCAkcm93KTsKCS8vIEFsdGVybmF0ZSByb3cgY29sb3IKCSgkcm93Y2xhc3MgPT0gJ3JvdzEnID8gJHJvd2NsYXNzID0gJ3JvdzInIDogJHJvd2NsYXNzID0gJ3JvdzEnKTsKfQoKLy8gQXNzaWduIHNtYXJ0eSB2YXJzCiRzbWFydHktPmFzc2lnbignZGVsZXRlYWxsbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdhZG1pbl9kZWxldGVlcnJvcnMnLCAkcmV0dXJuaWQsICRpbWFnZWRlbGV0ZS4nICcuJHRoaXMtPkxhbmcoJ2RlbGV0ZWFsbCcpLCBhcnJheSAoICd0YWJ0byc9PiR0YWJ0byApLCAkdGhpcy0+TGFuZygncmVhbGx5ZGVsZXRlJyksIGZhbHNlLCBmYWxzZSwgJyB0aXRsZT0iJy4kdGhpcy0+TGFuZygnZGVsZXRlYWxsJykuJyInKSk7CiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fNDA0aWdub3JlJywkcmV0dXJuaWQsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJyx0cnVlLGFycmF5KCkpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCd0YWJ0bycsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3RhYnRvJywkdGFidG8pKTsKJHNtYXJ0eS0+YXNzaWduKCdpZ25vcmVzJywgJGlnYXJyYXkgKTsKJHNtYXJ0eS0+YXNzaWduKCdpZHMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdpZHMnLGltcGxvZGUoJywnLCRpZHMpKSApOwokc21hcnR5LT5hc3NpZ24oJ25ldycsICR0aGlzLT5MYW5nKCduZXcnKSk7CiRzbWFydHktPmFzc2lnbignaV9pdXJsJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lfaXVybCcsJycsNjAsMjAwKSk7CiRzbWFydHktPmFzc2lnbignaV9pcmVnZXhwJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnaV9pcmVnZXhwJywgJ3RydWUnLCAnZmFsc2UnKSk7CgojJHNtYXJ0eS0+YXNzaWduKCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2xpc3RlcnJvcnMudHBsJyk7CgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/function.admin_autolightbox.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIFNldCBUYWIgbmFtZQokdGFidG8gPSAnYXV0b2xpZ2h0Ym94JzsKJHNlY3Rpb24gPSAnYXV0b2xpZ2h0Ym94JzsKCiR0aGVtZU9iamVjdCA9IGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpOyAvLyAgJiAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ107CiRmYWxzZWltYWdlMSA9ICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywkdGhpcy0+TGFuZyAoJ3NldHRydWUnKSwnJywnJywnc3lzdGVtaWNvbicpOwokdHJ1ZWltYWdlMSA9ICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCR0aGlzLT5MYW5nICgnZGVmYXVsdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyk7CiRmYWxzZWltYWdlMiA9ICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywkdGhpcy0+TGFuZyAoJ21ha2V2aXNpYmxlJyksJycsJycsJ3N5c3RlbWljb24nKTsKJHRydWVpbWFnZTIgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywkdGhpcy0+TGFuZyAoJ21ha2VpbnZpc2libGUnKSwnJywnJywnc3lzdGVtaWNvbicpOwoKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnYWRtaW5fYXV0b2xpZ2h0Ym94JywkcmV0dXJuaWQsJ3Bvc3QnLCcnLCB0cnVlLCBhcnJheSgpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ21vZCcsJHRoaXMpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdyZWwnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X3JlbCcpLCA4MCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jbGFzcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2NsYXNzJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF9jbGFzcycpLCA4MCkpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jbGFzcycsJHRoaXMtPkxhbmcoJ2F1dG9saWdodGJveF9wcm9tcHRfY2xhc3MnKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3VybHR5cGUnLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3VybHR5cGUnLCBhcnJheSgncmVsYXRpdmUnID0+ICdyZWxhdGl2ZScsICdhYnNvbHV0ZScgPT4gJ2Fic29sdXRlJyksIC0xLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X3VybHR5cGUnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdsaWdodGJveF91c2UnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfbGlnaHRib3gnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfbGlnaHRib3gnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnbGlnaHRib3gnLCcxJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X2xpZ2h0Ym94JyksJzEnKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3RhYnRvJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGFidG8nLCR0YWJ0bykpOwoKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0YnV0dG9uJywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2NhbmNlbCcsICR0aGlzLT5MYW5nKCdjYW5jZWwnKSkpOwokc21hcnR5LT5hc3NpZ24oJ3Jlc2V0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdyZXNldGJ1dHRvbicsICR0aGlzLT5MYW5nKCdyZXNldG9yaWdpbmFsJyksICcnLCAnJywgJHRoaXMtPkxhbmcoJ3Jlc2V0b3JpZ2luYWx3YXJuaW5nJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCgokYWxsdGVtcGxhdGVzID0gJHRoaXMtPkxpc3RUZW1wbGF0ZXMoKTsKJGN1cnJlbnRfdGVtcGxhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY3VycmVudF8nLiRzZWN0aW9uLidfdGVtcGxhdGUnKTsKJHJvd2FycmF5ID0gYXJyYXkoKTsKJHJvd2NsYXNzID0gJ3JvdzEnOwoKZm9yZWFjaCggJGFsbHRlbXBsYXRlcyBhcyAkdHBsICkKewoJaWYgKHN1YnN0cigkdHBsLDAsNCkgIT0gImFsYl8iKSBjb250aW51ZTsKCQoJJHRwbHByb3BzID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVQcm9wcygkdHBsKTsKCSRyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKCSRyb3ctPm5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsIHN0cl9yZXBsYWNlKCJhbGJfIiwgIiIsICR0cGwpLCBhcnJheSgndGVtcGxhdGUnID0+ICR0cGwsICdtb2RlJz0+J2VkaXQnLCAndGFidG8nID0+ICR0YWJ0bykpOwoJJHJvdy0+dmVyc2lvbiA9ICR0cGxwcm9wc1sndmVyc2lvbiddOwoJJHJvdy0+YWJvdXQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dHBsYWJvdXQnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdwcm9tcHRfYWJvdXQnKSwgYXJyYXkoJ3RlbXBsYXRlJyA9PiAkdHBsLCAnbW9kZSc9PidzaG93JywgJ3RhYnRvJyA9PiAkdGFidG8pKTsKCSRyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOwoJCglpZiggJHRwbCA9PSAkY3VycmVudF90ZW1wbGF0ZSApCgl7CgkJJHJvdy0+ZGVmYXVsdCA9ICR0cnVlaW1hZ2UxOwoJfQoJZWxzZQoJewoJCSRyb3ctPmRlZmF1bHQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdzd2l0Y2hkZWZhdWx0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICRmYWxzZWltYWdlMSwKCQkJCSAgICAgICBhcnJheSgndGVtcGxhdGUnPT4kdHBsLCAndGFidG8nID0+ICR0YWJ0bywnc2VjdGlvbic9PiRzZWN0aW9uKSk7Cgl9CgoJJHJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsCgkJCQkgICAgY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyktPkRpc3BsYXlJbWFnZSAoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5MYW5nICgnZWRpdCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyksCgkJCQkgICAgYXJyYXkgKCd0ZW1wbGF0ZScgPT4gJHRwbCwgJ21vZGUnPT4nZWRpdCcsICd0YWJ0bycgPT4gJHRhYnRvKSk7CgkKCSRyb3ctPmNvcHlsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLAoJCQkJICAgIGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vY29weS5naWYnLCAkdGhpcy0+TGFuZyAoJ2NvcHknKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCQkJICAgIGFycmF5ICgndGVtcGxhdGUnID0+ICR0cGwsICdtb2RlJz0+J2FkZCcsICd0YWJ0bycgPT4gJHRhYnRvLCAnc2VjdGlvbicgPT4gJHNlY3Rpb24sKSk7CgkKCWlmKCAkdHBsID09ICRjdXJyZW50X3RlbXBsYXRlICkKCXsKCQkkcm93LT5kZWxldGVsaW5rID0gJyZuYnNwOyc7Cgl9CgllbHNlCgl7CgkJJHJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RvX2RlbGV0ZXRlbXBsYXRlJywgJHJldHVybmlkLAoJCQkJCSAgY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyktPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZyAoJ2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksCgkJCQkJICBhcnJheSAoJ3RlbXBsYXRlJyA9PiAkdHBsLCAndGFidG8nPT4kdGFidG8pLCAkdGhpcy0+TGFuZygnYXJleW91c3VyZScpKTsKCX0KCgkkcm93LT5leHBvcnQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkb19leHBvcnR0ZW1wbGF0ZScsICRyZXR1cm5pZCwKCQkJCSAgICAnPGltZyBzcmM9Ii4uL21vZHVsZXMvVG9vbEJveC9pbWFnZXMveG1sX3Jzcy5naWYiIGFsdD0iWE1MIiAvPicsCgkJCQkgICAgYXJyYXkoJ3RlbXBsYXRlJyA9PiAkdHBsKSk7CgoJYXJyYXlfcHVzaCAoJHJvd2FycmF5LCAkcm93KTsKCSgkcm93Y2xhc3MgPT0gInJvdzEiID8gJHJvd2NsYXNzID0gInJvdzIiIDogJHJvd2NsYXNzID0gInJvdzEiKTsKfQoKaWYgKCFjb3VudCgkcm93YXJyYXkpKSB7Cgkkcm93ID0gbmV3IFN0ZENsYXNzKCk7Cgkkcm93LT5uYW1lID0gIkVzIGlzdCBrZWluIFRlbXBsYXRlIGluIGRlciBEYXRlbmJhbmsgZ2VzcGVpY2hlcnQiOwoJJHJvdy0+ZGVmYXVsdCA9ICIiOwoJJHJvdy0+ZWRpdGxpbmsgPSAiIjsKCSRyb3ctPmNvcHlsaW5rID0gIiI7Cgkkcm93LT5kZWxldGVsaW5rID0gIiI7Cgkkcm93LT5leHBvcnQgPSAiIjsKCWFycmF5X3B1c2ggKCRyb3dhcnJheSwgJHJvdyk7Cn0KCiRzbWFydHktPmFzc2lnbignaXRlbXMnLCAkcm93YXJyYXkgKTsKCiRzbWFydHktPmFzc2lnbignbmV3dGVtcGxhdGVsaW5rJywKCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLAoJCQkgICAgIGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9uZXd0ZW1wbGF0ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksCgkJCSAgICAgYXJyYXkoJ21vZGUnID0+ICdhZGQnLCAndGFidG8nID0+ICR0YWJ0bywgJ3NlY3Rpb24nID0+ICRzZWN0aW9uLCAnZGVmYXVsdHRlbXBsYXRlcHJlZicgPT4gJ2RlZmF1bHRfJy4kc2VjdGlvbi4nX2NvbnRlbnRzJyksICcnLCBmYWxzZSwgZmFsc2UsICcnKS4nICcuCgoJICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ3Byb21wdF9uZXd0ZW1wbGF0ZScpLAoJCQkgICAgIGFycmF5KCdtb2RlJyA9PiAnYWRkJywgJ3RhYnRvJyA9PiAkdGFidG8sICdzZWN0aW9uJyA9PiAkc2VjdGlvbiwgJ2RlZmF1bHR0ZW1wbGF0ZXByZWYnID0+ICdkZWZhdWx0XycuJHNlY3Rpb24uJ19jb250ZW50cycpKSk7CgoKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0aW1wb3J0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnZG9faW1wb3J0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZSkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmRpbXBvcnQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbXBvcnR4bWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRGaWxlKCAkaWQsICdpbXBvcnR4bWwnLCAndGV4dC94bWwnLCAzMCkpOwokc21hcnR5LT5hc3NpZ24oJ292ZXJ3cml0ZScsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ292ZXJ3cml0ZScsICcxJywgJzEnKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdpbXBvcnRzdWJtaXRidXR0b24nLCAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKCgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2F1dG9saWdodGJveC50cGwnKTsKCg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_csv.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIFNldCBUYWIgbmFtZQokdGFidG8gPSAnY3N2JzsKJHNlY3Rpb24gPSAnY3N2JzsKCiRzbWFydHktPmFzc2lnbignbW9kJywkdGhpcyk7Cgokc21hcnR5LT5hc3NpZ24oJ3RhYnRvJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGFidG8nLCR0YWJ0bykpOwokc21hcnR5LT5hc3NpZ24oJ3R0YWJ0bycsIGlzc2V0KCRwYXJhbXNbJ3R0YWJ0byddKSA/ICRwYXJhbXNbJ3R0YWJ0byddIDogJycpOwoKLy8gRmlsZXMKJHNtYXJ0eS0+YXNzaWduKCdjc3ZmaWxlcycsIHRiVXRpbHM6OmdldENTVkZpbGVzKCR0aGlzLCR0YWJ0bywnZmlsZXMnKSk7CgovLyBBbGxnZW1laW4KCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0c2V0dGluZ3MnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdhZG1pbl9jc3YnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZSkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmRzZXR0aW5ncycsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignaGlkZGVuc2V0dGluZ3MnLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCd0YWJ0bycsJHRhYnRvKS4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdmb3Jtc2VjdGlvbicsJ3NldHRpbmdzJykuJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndHRhYnRvJywnYWxsZ2VtZWluJykpOwoKJHNtYXJ0eS0+YXNzaWduKCdkZWxpbWl0ZXInLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2RlbGltaXRlcicsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjc3ZfZGVsaW1pdGVyIiksIDEwKSk7CiRzbWFydHktPmFzc2lnbignZmlsZWNoYXJzZXQnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2ZpbGVjaGFyc2V0JywgJHRoaXMtPkdldFByZWZlcmVuY2UoImNzdl9maWxlY2hhcnNldCIpLCAxMCkpOwokc21hcnR5LT5hc3NpZ24oJ2Ntc2NoYXJzZXQnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2Ntc2NoYXJzZXQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiY3N2X2Ntc2NoYXJzZXQiKSwgMTApKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXRzZXR0aW5ncycsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc2V0dGluZ3NzdWJtaXRidXR0b24nLCAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdyZXNldHNldHRpbmdzJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdyZXNldGJ1dHRvbicsICR0aGlzLT5MYW5nKCdyZXNldG9yaWdpbmFsJyksICcnLCAnJywgJHRoaXMtPkxhbmcoJ3Jlc2V0b3JpZ2luYWx3YXJuaW5nJykpKTsKCiRzdW1hcnJheSA9IHRiVXRpbHM6OmdldFRwbExpc3QoJHRoaXMsICRzZWN0aW9uLCAic3VtbWFyeSIsICAkdGFidG8sICJzdW1tYXJ5Iik7CiRkZXRhcnJheSA9IHRiVXRpbHM6OmdldFRwbExpc3QoJHRoaXMsICRzZWN0aW9uLCAiZGV0YWlsIiwgJHRhYnRvLCAiZGV0YWlsIik7Cgokc21hcnR5LT5hc3NpZ24oJ3N1bW1hcnlpdGVtcycsICRzdW1hcnJheSApOwokc21hcnR5LT5hc3NpZ24oJ2RldGFpbGl0ZW1zJywgJGRldGFycmF5ICk7Cgokc21hcnR5LT5hc3NpZ24oJ25ld3N1bW1hcnl0ZW1wbGF0ZWxpbmsnLAoJICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsCgkJCSAgICAgY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyktPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkdGhpcy0+TGFuZygncHJvbXB0X25ld3RlbXBsYXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwKCQkJICAgICBhcnJheSgnbW9kZScgPT4gJ2FkZCcsICd0YWJ0bycgPT4gJHRhYnRvLCAndHRhYnRvJyA9PiAnc3VtbWFyeScsICdzZWN0aW9uJyA9PiAkc2VjdGlvbiwgJ3RwbHNlY3Rpb24nID0+ICdzdW1tYXJ5JywgJ2RlZmF1bHR0ZW1wbGF0ZXByZWYnID0+ICdkZWZhdWx0XycuJHNlY3Rpb24uJ3N1bW1hcnlfY29udGVudHMnKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpLicgJy4KCgkgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwKCQkJICAgICAkdGhpcy0+TGFuZygncHJvbXB0X25ld3RlbXBsYXRlJyksCgkJCSAgICAgYXJyYXkoJ21vZGUnID0+ICdhZGQnLCAndGFidG8nID0+ICR0YWJ0bywgJ3R0YWJ0bycgPT4gJ3N1bW1hcnknLCAnc2VjdGlvbicgPT4gJHNlY3Rpb24sICd0cGxzZWN0aW9uJyA9PiAnc3VtbWFyeScsICdkZWZhdWx0dGVtcGxhdGVwcmVmJyA9PiAnZGVmYXVsdF8nLiRzZWN0aW9uLidzdW1tYXJ5X2NvbnRlbnRzJykpKTsKCiRzbWFydHktPmFzc2lnbignbmV3ZGV0YWlsdGVtcGxhdGVsaW5rJywKCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLAoJCQkgICAgIGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9uZXd0ZW1wbGF0ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksCgkJCSAgICAgYXJyYXkoJ21vZGUnID0+ICdhZGQnLCAndGFidG8nID0+ICR0YWJ0bywgJ3R0YWJ0bycgPT4gJ2RldGFpbCcsICdzZWN0aW9uJyA9PiAkc2VjdGlvbiwgJ3RwbHNlY3Rpb24nID0+ICdkZXRhaWwnLCAnZGVmYXVsdHRlbXBsYXRlcHJlZicgPT4gJ2RlZmF1bHRfJy4kc2VjdGlvbi4nZGV0YWlsX2NvbnRlbnRzJyksICcnLCBmYWxzZSwgZmFsc2UsICcnKS4nICcuCgoJICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsCgkJCSAgICAgJHRoaXMtPkxhbmcoJ3Byb21wdF9uZXd0ZW1wbGF0ZScpLAoJCQkgICAgIGFycmF5KCdtb2RlJyA9PiAnYWRkJywgJ3RhYnRvJyA9PiAkdGFidG8sICd0dGFidG8nID0+ICdkZXRhaWwnLCAnc2VjdGlvbicgPT4gJHNlY3Rpb24sICd0cGxzZWN0aW9uJyA9PiAnZGV0YWlsJywgJ2RlZmF1bHR0ZW1wbGF0ZXByZWYnID0+ICdkZWZhdWx0XycuJHNlY3Rpb24uJ2RldGFpbF9jb250ZW50cycpKSk7CgoKCQkJICAgICAKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0aW1wb3J0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnZG9faW1wb3J0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZSkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmRpbXBvcnQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ2hpZGRlbmltcG9ydCcsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3RhYnRvJywkdGFidG8pLiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2Zvcm1zZWN0aW9uJywnaW1wb3J0JykuJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndHRhYnRvJywnaW1wb3J0JykpOwokc21hcnR5LT5hc3NpZ24oJ2ltcG9ydHhtbCcsICR0aGlzLT5DcmVhdGVJbnB1dEZpbGUoICRpZCwgJ2ltcG9ydHhtbCcsICd0ZXh0L3htbCcsIDMwKSk7CiRzbWFydHktPmFzc2lnbignb3ZlcndyaXRlJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnb3ZlcndyaXRlJywgJzEnLCAnMScpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXRpbXBvcnQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2ltcG9ydHN1Ym1pdGJ1dHRvbicsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwoKLyoKCUNvZGUgRXhhbXBsZXMKCS0tLS0tLS0tLS0tLS0tLS0KCSMgZ2VuZXJhbCB1c2FnZQoJJGNzdiA9IG5ldyBwYXJzZUNTVignZGF0YS5jc3YnKTsKCXByaW50X3IoJGNzdi0+ZGF0YSk7CgktLS0tLS0tLS0tLS0tLS0tCgkjIHRhYiBkZWxpbWl0ZWQsIGFuZCBlbmNvZGluZyBjb252ZXJzaW9uCgkkY3N2ID0gbmV3IHBhcnNlQ1NWKCk7CgkkY3N2LT5lbmNvZGluZygnVVRGLTE2JywgJ1VURi04Jyk7CgkkY3N2LT5kZWxpbWl0ZXIgPSAiXHQiOwoJJGNzdi0+cGFyc2UoJ2RhdGEudHN2Jyk7CglwcmludF9yKCRjc3YtPmRhdGEpOwoJLS0tLS0tLS0tLS0tLS0tLQoJIyBhdXRvLWRldGVjdCBkZWxpbWl0ZXIgY2hhcmFjdGVyCgkkY3N2ID0gbmV3IHBhcnNlQ1NWKCk7CgkkY3N2LT5hdXRvKCdkYXRhLmNzdicpOwoJcHJpbnRfcigkY3N2LT5kYXRhKTsKCS0tLS0tLS0tLS0tLS0tLS0KCSMgbW9kaWZ5IGRhdGEgaW4gYSBjc3YgZmlsZQoJJGNzdiA9IG5ldyBwYXJzZUNTVigpOwoJJGNzdi0+c29ydF9ieSA9ICdpZCc7CgkkY3N2LT5wYXJzZSgnZGF0YS5jc3YnKTsKCSMgIjQiIGlzIHRoZSB2YWx1ZSBvZiB0aGUgImlkIiBjb2x1bW4gb2YgdGhlIENTViByb3cKCSRjc3YtPmRhdGFbNF0gPSBhcnJheSgnZmlyc3RuYW1lJyA9PiAnSm9obicsICdsYXN0bmFtZScgPT4gJ0RvZScsICdlbWFpbCcgPT4gJ2pvaG5AZG9lLmNvbScpOwoJJGNzdi0+c2F2ZSgpOwoJLS0tLS0tLS0tLS0tLS0tLQoJIyBhZGQgcm93L2VudHJ5IHRvIGVuZCBvZiBDU1YgZmlsZQoJIyAgLSBvbmx5IHJlY29tbWVuZGVkIHdoZW4geW91IGtub3cgdGhlIGV4dGFjdCBzY3RydWN0dXJlIG9mIHRoZSBmaWxlCgkkY3N2ID0gbmV3IHBhcnNlQ1NWKCk7CgkkY3N2LT5zYXZlKCdkYXRhLmNzdicsIGFycmF5KCcxOTg2JywgJ0hvbWUnLCAnTm93aGVyZScsICcnKSwgdHJ1ZSk7CgktLS0tLS0tLS0tLS0tLS0tCgkjIGNvbnZlcnQgMkQgYXJyYXkgdG8gY3N2IGRhdGEgYW5kIHNlbmQgaGVhZGVycwoJIyB0byBicm93c2VyIHRvIHRyZWF0IG91dHB1dCBhcyBhIGZpbGUgYW5kIGRvd25sb2FkIGl0CgkkY3N2ID0gbmV3IHBhcnNlQ1NWKCk7CgkkY3N2LT5vdXRwdXQgKHRydWUsICdtb3ZpZXMuY3N2JywgJGFycmF5KTsKCS0tLS0tLS0tLS0tLS0tLS0KCgoqLwoKLy8JJGZpbGUgPSByZWFscGF0aCgkdGhpcy0+Y29uZmlnWydyb290X3BhdGgnXS4nL3VwbG9hZHMvYW50aWJhcnQtdGVzdGRhdGVuLmNzdicpOwovLwkKLy8JIyB0YWIgZGVsaW1pdGVkLCBhbmQgZW5jb2RpbmcgY29udmVyc2lvbgovLwkkY3N2ID0gbmV3IHBhcnNlQ1NWKCk7Ci8vCSRjc3YtPmVuY29kaW5nKCdpc28tODg1OS0xJywgJ1VURi04Jyk7Ci8vCSRjc3YtPmRlbGltaXRlciA9ICI7IjsKLy8JJGNzdi0+cGFyc2UoJGZpbGUpOwovLwlwcmludF9yKCRjc3YtPmRhdGEpOwoKCgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2Nzdi50cGwnKTsKCg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_debug.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIFNldCBUYWIgbmFtZQokdGFidG8gPSAnZGVidWcnOwoKLy8gU2V0IHZhcnMgYW5kIGltYWdlcwokaW1hZ2VkZWxldGUgPSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCR0aGlzLT5MYW5nKCdkZWxldGUnKSwnJywnJywnc3lzdGVtaWNvbicpOwoKLy8gR2V0IGRlYnVnCiRhbGxkZWJ1ZyA9ICR0YkRiLT5HZXRBbGwoJ1NFTEVDVCBpZCxzZXNzaW9uX2lkLGlwLGZyb211cmwsdG91cmwsc3RhdHVzLGNyZWF0ZWRfZGF0ZSxtb2RpZmllZF9kYXRlIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2RlYnVnIE9SREVSIEJZIG1vZGlmaWVkX2RhdGUgREVTQycpOwppZiAoIWlzX2FycmF5KCRhbGxkZWJ1ZykpICRhbGxkZWJ1ZyA9IGFycmF5KCk7CgovLyBXYWxrIHRocm91Z2ggZXJyb3JzCiRkZWJ1Z2FycmF5ID0gYXJyYXkoKTsKJHJvd2NsYXNzID0gJ3JvdzEnOwpmb3JlYWNoICggJGFsbGRlYnVnIGFzICRvbmVkZWJ1ZyApIHsKCS8vIEJ1aWxkIGEgbmV3IHJvdwoJJHJvdyA9IG5ldyBTdGRDbGFzcygpOwoJJHJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgkvLyBJRAoJJHJvdy0+aWQgPSAkb25lZGVidWdbJ2lkJ107CgkvLyBTdGF0dXMKCSRyb3ctPmlwID0gJG9uZWRlYnVnWydpcCddOwoJLy8gU3RhdHVzCgkkcm93LT5zZXNzaW9uX2lkID0gJG9uZWRlYnVnWydzZXNzaW9uX2lkJ107CgkvLyBJY29uCgkkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvRElSaWNvbi5naWYiIC8+JzsKCWlmIChwcmVnX21hdGNoKCcvLipcLmh0bShsKT8oXC8pPyQvaScsJG9uZWRlYnVnWyd0b3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0hUTUxpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwuY3NzKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9DU1NpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwucGhwKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9QSFBpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwudHh0KFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9UWFRpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwuemlwKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9aSVBpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwuZ2lmKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9HSUZpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwucG5nKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9KUEdpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwuanBnKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9KUEdpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwubXAzKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9NUDNpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwud2F2KFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9NUDNpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwuYXZpKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9BVklpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwuZmx2KFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9GTFZpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwucGRmKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9QREZpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwuZG9jKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9ET0NpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwueGxzKFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9YTFNpY29uLmdpZiIgLz4nOwoJaWYgKHByZWdfbWF0Y2goJy8uKlwucHB0KFwvKT8kL2knLCRvbmVkZWJ1Z1sndG91cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9QUFRpY29uLmdpZiIgLz4nOwoJLy8gRnJvbSBVUkwKCSRyb3ctPmZyb211cmwgPSBzdHJsZW4oJG9uZWRlYnVnWydmcm9tdXJsJ10pPD0zMCAJPyAnPGEgaHJlZj0iJy4kb25lZGVidWdbJ2Zyb211cmwnXS4nIiB0aXRsZT0iJy4kb25lZGVidWdbJ2Zyb211cmwnXS4nIiB0YXJnZXQ9Il9ibGFuayI+Jy5wcmVnX3JlcGxhY2UoJy9eaHR0cChzKT86XC9cLy8nLCcnLCRvbmVkZWJ1Z1snZnJvbXVybCddKS4nPC9hPicKCQkJCQkJCQkJCQkJCQk6ICc8YSBocmVmPSInLiRvbmVkZWJ1Z1snZnJvbXVybCddLiciIHRpdGxlPSInLiRvbmVkZWJ1Z1snZnJvbXVybCddLiciIHRhcmdldD0iX2JsYW5rIj4nLnN1YnN0cihwcmVnX3JlcGxhY2UoJy9eaHR0cChzKT86XC9cLy8nLCcnLCRvbmVkZWJ1Z1snZnJvbXVybCddKSwwLDE1KS4nLi4uLicuc3Vic3RyKCRvbmVkZWJ1Z1snZnJvbXVybCddLC0xNSkuJzwvYT4nOwoJLy8gVG8gVVJMCgkkcm93LT50b3VybCA9ICc8YSBocmVmPSInLiRvbmVkZWJ1Z1sndG91cmwnXS4nIiB0YXJnZXQ9Il9ibGFuayI+Jy4kb25lZGVidWdbJ3RvdXJsJ10uJzwvYT4nOwoJJHJvdy0+dG91cmwgPSBzdHJsZW4oJG9uZWRlYnVnWyd0b3VybCddKTw9MzAgCT8gJzxhIGhyZWY9IicuJG9uZWRlYnVnWyd0b3VybCddLiciIHRpdGxlPSInLiRvbmVkZWJ1Z1sndG91cmwnXS4nIiB0YXJnZXQ9Il9ibGFuayI+Jy4kaWNvbi4nICcucHJlZ19yZXBsYWNlKCcvXmh0dHAocyk/OlwvXC8vJywnJywkb25lZGVidWdbJ3RvdXJsJ10pLic8L2E+JwoJCQkJCQkJCQkJCQkJOiAnPGEgaHJlZj0iJy4kb25lZGVidWdbJ3RvdXJsJ10uJyIgdGl0bGU9IicuJG9uZWRlYnVnWyd0b3VybCddLiciIHRhcmdldD0iX2JsYW5rIj4nLiRpY29uLicgJy5zdWJzdHIocHJlZ19yZXBsYWNlKCcvXmh0dHAocyk/OlwvXC8vJywnJywkb25lZGVidWdbJ3RvdXJsJ10pLDAsMTUpLicuLi4uJy5zdWJzdHIoJG9uZWRlYnVnWyd0b3VybCddLC0xNSkuJzwvYT4nOwoJLy8gU3RhdHVzCgkkc3RhdHVzID0gJG9uZWRlYnVnWydzdGF0dXMnXT09J29rJyA/ICc8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjojMGEwOyI+Jy4kb25lZGVidWdbJ3N0YXR1cyddLic8L3NwYW4+JyA6ICRvbmVkZWJ1Z1snc3RhdHVzJ107CglpZiAoc3Vic3RyKCRvbmVkZWJ1Z1snc3RhdHVzJ10sMCwzKT09JzQwNCcpICRzdGF0dXMgPSAnPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6I2EwMDsiPicuJG9uZWRlYnVnWydzdGF0dXMnXS4nPC9zcGFuPic7CglpZiAoc3Vic3RyKCRvbmVkZWJ1Z1snc3RhdHVzJ10sMCwzKT09JzMwMScpICRzdGF0dXMgPSAnPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6Izk2MDsiPicuc3Vic3RyKCRvbmVkZWJ1Z1snc3RhdHVzJ10sMCwzKS4nPC9zcGFuPicuc3Vic3RyKCRvbmVkZWJ1Z1snc3RhdHVzJ10sMyk7Cgkkcm93LT5zdGF0dXMgPSAkc3RhdHVzOwoJLy8gQ3JlYXRlZCBkYXRlCgkkcm93LT5jcmVhdGVkID0gJG9uZWRlYnVnWydjcmVhdGVkX2RhdGUnXTsKCS8vIE1vZGlmaWVkIGRhdGUKCSRyb3ctPm1vZGlmaWVkID0gJG9uZWRlYnVnWydtb2RpZmllZF9kYXRlJ107CgkvLyBCdWlsZCBkZWxldGUgaWNvbgoJJHJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdhZG1pbl9kZWxldGVkZWJ1ZycsICRyZXR1cm5pZCwgJGltYWdlZGVsZXRlLCBhcnJheSAoICd0YWJ0byc9PiR0YWJ0bywgJ2RlYnVnJz0+JG9uZWRlYnVnWydpZCddICksICR0aGlzLT5MYW5nKCdyZWFsbHlkZWxldGUnKSwgZmFsc2UsIGZhbHNlLCAnIHRpdGxlPSInLiR0aGlzLT5MYW5nKCdkZWxldGUnKS4nIicpOwoJLy8gTWVyZ2UgbmV3IGRvbWFpbiB0byBhcnJheQoJYXJyYXlfcHVzaCAoJGRlYnVnYXJyYXksICRyb3cpOwoJLy8gQWx0ZXJuYXRlIHJvdyBjb2xvcgoJKCRyb3djbGFzcyA9PSAncm93MScgPyAkcm93Y2xhc3MgPSAncm93MicgOiAkcm93Y2xhc3MgPSAncm93MScpOwp9CgovLyBBc3NpZ24gc21hcnR5IHZhcnMKJHNtYXJ0eS0+YXNzaWduKCdkZWJ1Z3MnLCAkZGVidWdhcnJheSApOwokc21hcnR5LT5hc3NpZ24oJ2lkJywgJHRoaXMtPkxhbmcoJ2lkJykpOwokc21hcnR5LT5hc3NpZ24oJ2lwJywgJHRoaXMtPkxhbmcoJ2lwJykpOwokc21hcnR5LT5hc3NpZ24oJ3Nlc3Npb25faWQnLCAkdGhpcy0+TGFuZygnc2Vzc2lvbl9pZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdmcm9tdXJsJywgJHRoaXMtPkxhbmcoJ2Zyb211cmwnKSk7CiRzbWFydHktPmFzc2lnbigndG91cmwnLCAkdGhpcy0+TGFuZygndGFyZ2V0dXJsJykpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXR1cycsICR0aGlzLT5MYW5nKCdzdGF0dXMnKSk7CiRzbWFydHktPmFzc2lnbignY3JlYXRlZCcsICR0aGlzLT5MYW5nKCdjcmVhdGVkJykpOwokc21hcnR5LT5hc3NpZ24oJ21vZGlmaWVkJywgJHRoaXMtPkxhbmcoJ21vZGlmaWVkJykpOwokc21hcnR5LT5hc3NpZ24oJ3RpbWUnLCAkdGhpcy0+TGFuZygndGltZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdkZWJ1ZycsICR0aGlzLT5MYW5nKCdkZWJ1ZycpKTsKJHNtYXJ0eS0+YXNzaWduKCdkZWJ1Z19sb2cnLCAkdGhpcy0+TGFuZygnZGVidWdfbG9nJykpOwokc21hcnR5LT5hc3NpZ24oJ2RlbGV0ZWFsbGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRtaW5fZGVsZXRlZGVidWdzJywgJHJldHVybmlkLCAkaW1hZ2VkZWxldGUuJyAnLiR0aGlzLT5MYW5nKCdkZWxldGVhbGwnKSwgYXJyYXkgKCAndGFidG8nPT4kdGFidG8gKSwgJHRoaXMtPkxhbmcoJ3JlYWxseWRlbGV0ZScpLCBmYWxzZSwgZmFsc2UsICcgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ2RlbGV0ZWFsbCcpLiciJykpOwokc21hcnR5LT5hc3NpZ24oJ3RhYnRvJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGFidG8nLCR0YWJ0bykpOwoKLy8gRGlzcGxheSBUZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2RlYnVnLnRwbCcpOwoKLy8gRU9G]]></data>
	</file>
	<file>
	  <filename>/function.admin_main.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOwoKLy8gU2V0IFRhYiBuYW1lCiR0YWJ0byA9ICdtYWluJzsKCi8vIEFzc2lnbiBTbWFydHkgdmFycwovLyRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fbWluJywkcmV0dXJuaWQsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJyx0cnVlLGFycmF5KCkpKTsKLy8kc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwovLyRzbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLCR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwovLyRzbWFydHktPmFzc2lnbigndGFidG8nLCR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3RhYnRvJywkdGFidG8pKTsKCiRhY3RpdmUgPSBhcnJheSgpOwokaW5hY3RpdmUgPSBhcnJheSgpOwoKLy8gZXZlbnRoYW5kbGVyCmlmICgkdGhpcy0+TGFuZygnZG9udF91c2VfZXZlbnRfaGFuZGxlcicpID09IDApCgkkYWN0aXZlW10gPSAkdGhpcy0+TGFuZygnbWFpbl9ldmVudF9oYW5kbGVyX2FjdGl2ZScpOwplbHNlCgkkaW5hY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCdtYWluX2V2ZW50X2hhbmRsZXJfaW5hY3RpdmUnKTsJCgovLyBzdGF0cwppZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzX3VzZScpKQkKCSRhY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCdtYWluX3N0YXRzX2FjdGl2ZScpOwplbHNlCgkkaW5hY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCdtYWluX3N0YXRzX2luYWN0aXZlJyk7CgovLyA0MDQgU3RhdHMKaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdGF0c180MDQnKSkJCgkkYWN0aXZlW10gPSAkdGhpcy0+TGFuZygnbWFpbl9zdGF0c180MDRfYWN0aXZlJyk7CmVsc2UKCSRpbmFjdGl2ZVtdID0gJHRoaXMtPkxhbmcoJ21haW5fc3RhdHNfNDA0X2luYWN0aXZlJyk7CgkKLy8gb2xkIHVybAppZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ29sZHVybF91c2UnKSkJCgkkYWN0aXZlW10gPSAkdGhpcy0+TGFuZygnbWFpbl9vbGR1cmxfYWN0aXZlJyk7CmVsc2UKCSRpbmFjdGl2ZVtdID0gJHRoaXMtPkxhbmcoJ21haW5fb2xkdXJsX2luYWN0aXZlJyk7CgovL2F1dG9saWdodGJveAppZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF91c2UnKSkJCgkkYWN0aXZlW10gPSAkdGhpcy0+TGFuZygnbWFpbl9hdXRvbGlnaHRib3hfYWN0aXZlJyk7CmVsc2UKCSRpbmFjdGl2ZVtdID0gJHRoaXMtPkxhbmcoJ21haW5fYXV0b2xpZ2h0Ym94X2luYWN0aXZlJyk7CQoJCi8vIHRiaW1hZ2UKCSRhY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCd0YmltYWdlJyk7CgkKLy9zb2NpYWxzaGFyZXByaXZhY3kKaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzb2NpYWxzaGFyZXByaXZhY3lfdXNlJykpCQoJJGFjdGl2ZVtdID0gJHRoaXMtPkxhbmcoJ21haW5fc29jaWFsc2hhcmVwcml2YWN5X2FjdGl2ZScpOwplbHNlCgkkaW5hY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCdtYWluX3NvY2lhbHNoYXJlcHJpdmFjeV9pbmFjdGl2ZScpOwkKCQovL3NvY2lhbHNoYXJlcHJpdmFjeQppZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3R3aXR0ZXJmZWVkX3VzZScpKQkKCSRhY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCdwcm9tcHRfdHdpdHRlcmZlZWRfdGl0bGUnKTsKZWxzZQoJJGluYWN0aXZlW10gPSAkdGhpcy0+TGFuZygncHJvbXB0X3R3aXR0ZXJmZWVkX3RpdGxlJyk7CQoJCi8vIHRhaWwKaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0YWlsX3VzZScpKQkKCSRhY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCdtYWluX3RhaWxfYWN0aXZlJyk7CmVsc2UKCSRpbmFjdGl2ZVtdID0gJHRoaXMtPkxhbmcoJ21haW5fdGFpbF9pbmFjdGl2ZScpOwoJCi8vIGRlYnVnCmlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVidWdfdXNlJykpCQoJJGFjdGl2ZVtdID0gJHRoaXMtPkxhbmcoJ21haW5fZGVidWdfYWN0aXZlJyk7CmVsc2UKCSRpbmFjdGl2ZVtdID0gJHRoaXMtPkxhbmcoJ21haW5fZGVidWdfaW5hY3RpdmUnKTsKCQovLyBTbWFydHkgUGx1Z2lucwokYWN0aXZlW10gPSAkdGhpcy0+TGFuZygnbWFpbl9zbWFydHlwbHVnaW5zX2FjdGl2ZScpOwoKLy9Nb2JpbGUgRGV0ZWN0CiRhY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCdtYWluX21vYmlsZWRldGVjdF9hY3RpdmUnKTsKCi8vIFRvb2xCb3ggRnVuY3Rpb25zCiRhY3RpdmVbXSA9ICR0aGlzLT5MYW5nKCdtYWluX2Z1bmN0aW9uc19hY3RpdmUnKTsKCi8vIFRvb2xCb3ggTW9kaWZpZXIKJGFjdGl2ZVtdID0gJHRoaXMtPkxhbmcoJ21haW5fbW9kaWZpZXJfYWN0aXZlJyk7CgoKJHNtYXJ0eS0+YXNzaWduKCdhY3RpdmUnLCRhY3RpdmUpOwokc21hcnR5LT5hc3NpZ24oJ2luYWN0aXZlJywkaW5hY3RpdmUpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfYWN0aXZlJywkdGhpcy0+TGFuZygnYWN0aXZlJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pbmFjdGl2ZScsJHRoaXMtPkxhbmcoJ2luYWN0aXZlJykpOwoKCiRzbWFydHktPmFzc2lnbigncHJvbXB0X21heF80MDQnLCR0aGlzLT5MYW5nKCdtYWluX21heF80MDQnKSk7CiRzbWFydHktPmFzc2lnbignbWF4XzQwNCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ21heF80MDQnKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X3N0YXRzX2RhaWx5JywkdGhpcy0+TGFuZygnbWFpbl9zdGF0c19kYWlseScpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGF0c19kYWlseScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzX2RhaWx5JykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zdGF0c19lbWFpbCcsJHRoaXMtPkxhbmcoJ21haW5fc3RhdHNfZW1haWwnKSk7CiRzbWFydHktPmFzc2lnbignc3RhdHNfZW1haWwnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdGF0c19lbWFpbCcpKTsKCiRzbWFydHktPmFzc2lnbignYWN0aXZlaXRlbXMnLCRhY3RpdmUpOwokc21hcnR5LT5hc3NpZ24oJ2luYWN0aXZlaXRlbXMnLCRpbmFjdGl2ZSk7CgoKLy8gRGlzcGxheSBUZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX21haW4udHBsJyk7CgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/function.admin_moduleops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOwoKLy8gU2V0IFRhYiBuYW1lCiR0YWJ0byA9ICdtb2R1bGVvcHMnOwoKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsJHRoaXMtPkxhbmcoJ2JhY2t1cHJlY292ZXJ5JykpOwokc21hcnR5LT5hc3NpZ24oJ2Rlc2NyaXB0aW9uJywnJyk7Cgokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9uYW1lJyxsYW5nKCduYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF92ZXJzaW9uJyxsYW5nKCd2ZXJzaW9uJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zdGF0dXMnLCR0aGlzLT5MYW5nKCdwcm9tcHRfYWN0aXZlJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9leHBvcnQnLGxhbmcoJ2V4cG9ydCcpKTsKJHNtYXJ0eS0+YXNzaWduKCJtb2R1bGVzIix0Yk1vZHVsZU9wczo6bGlzdE1vZHVsZXMoKSk7CgkgCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0aW1wb3J0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnZG9fbW9kdWxlb3BzJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJywgZmFsc2UpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kaW1wb3J0JywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLAoJCQkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGFidG8nLCR0YWJ0bykgLgoJCQkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnbW9kZScsJ2ltcG9ydCcpCgkJCSk7Cgokc21hcnR5LT5hc3NpZ24oJ3RpdGxlX2ltcG9ydHhtbCcsJHRoaXMtPkxhbmcoJ3RpdGxlX2ltcG9ydHhtbCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbXBvcnR4bWxub3RlJyxubDJicigkdGhpcy0+TGFuZygnaW1wb3J0eG1sbm90ZScpKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X2ltcG9ydHhtbCcsJHRoaXMtPkxhbmcoJ2ltcG9ydHhtbCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbXBvcnR4bWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRGaWxlKCAkaWQsICdpbXBvcnR4bWwnLCAndGV4dC94bWwnLCAzMCkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnaW1wb3J0c3VibWl0YnV0dG9uJywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CgoKLy8gRGlzcGxheSBUZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX21vZHVsZW9wcy50cGwnKTsKCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_prefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOwoKLy8gU2V0IFRhYiBuYW1lCiR0YlRhYlRvID0gJ3ByZWZzJzsKCi8vIEFzc2lnbiBTbWFydHkgdmFycwokc21hcnR5LT5hc3NpZ24oJ21vZCcsJHRoaXMpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3ByZWZzJywkcmV0dXJuaWQsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJyx0cnVlLGFycmF5KCkpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbigndGFidG8nLCR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3RhYnRvJywkdGJUYWJUbykpOwoKLy8gVXNlIFRvb2xCb3ggd2l0aCBFdmVudC1IYW5kbGVyIG9yIG5vdAokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2RvbnRfdXNlX2V2ZW50X2hhbmRsZXInLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnZG9udF91c2VfZXZlbnRfaGFuZGxlcicsJzEnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkb250X3VzZV9ldmVudF9oYW5kbGVyJyksJycpKTsKCi8vIERpZmZlcmVudCBzZXR0aW5ncwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N0YXRzX3VzZScsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdzdGF0c191c2UnLCcxJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3RhdHNfdXNlJyksJycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zdGF0c180MDQnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnc3RhdHNfNDA0JywnMScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzXzQwNCcpLCcnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfbWF4XzQwNCcsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ21heF80MDQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtYXhfNDA0JyksNSwxMCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N0YXRzX2RhaWx5JywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ3N0YXRzX2RhaWx5JywnMScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzX2RhaWx5JyksJycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zdGF0c19lbWFpbCcsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ3N0YXRzX2VtYWlsJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3RhdHNfZW1haWwnKSwzMCwxMDApKTsKCi8vIDMwMSBGb3J3YXJkaW5nIHVzZQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X29sZHVybF91c2UnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnb2xkdXJsX3VzZScsJzEnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdvbGR1cmxfdXNlJyksJycpKTsKCi8vIFNvY2lhbCBNZWRpYSBCdXR0b25zIHVzZQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3NvY2lhbHNoYXJlcHJpdmFjeV91c2UnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnc29jaWFsc2hhcmVwcml2YWN5X3VzZScsJzEnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzb2NpYWxzaGFyZXByaXZhY3lfdXNlJyksJycpKTsKCi8vIEF1dG9MaWdodEJveCB1c2UKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hdXRvbGlnaHRib3hfdXNlJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2F1dG9saWdodGJveF91c2UnLCcxJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X3VzZScpLCcnKSk7CgovL1R3aXR0ZXJmZWVkIHVzZQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3R3aXR0ZXJmZWVkX3VzZScsJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCd0d2l0dGVyZmVlZF91c2UnLCcxJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgndHdpdHRlcmZlZWRfdXNlJyksJycpKTsKCi8vQ1NWIHVzZQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2Nzdl91c2UnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnY3N2X3VzZScsJzEnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjc3ZfdXNlJyksJycpKTsKCi8vIFRhaWwgdXNlCiRzbWFydHktPmFzc2lnbignaW5wdXRfdGFpbF91c2UnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwndGFpbF91c2UnLCcxJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGFpbF91c2UnKSwnJykpOwoKLy8gTW9kdWxlb3BzIHVzZQokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9tb2R1bGVvcHNfdXNlJywkdGhpcy0+TGFuZygnbW9kdWxlb3BzX3VzZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9tb2R1bGVvcHNfdXNlJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ21vZHVsZW9wc191c2UnLCcxJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbW9kdWxlb3BzX3VzZScpLCcnKSk7CgovLyBEZWJ1ZyB1c2UKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kZWJ1Z191c2UnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnZGVidWdfdXNlJywnMScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlYnVnX3VzZScpLCcnKSk7CgovLyBKYXZhc2NyaXB0IGluIEZvb3RlciBlaW5iaW5kZW4KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9qc19mb290ZXInLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnanNfZm9vdGVyJywnMScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2pzX2Zvb3RlcicpLCcnKSk7CgovLyBNaW5pZnkgSmF2YXNjcmlwdCB1bmQgQ1NTCiRzbWFydHktPmFzc2lnbignaW5wdXRfbWluaWZ5JywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ21pbmlmeScsJzEnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtaW5pZnknKSwnJykpOwoKLy8gQ2hlY2ssIHdoZXRoZXIgTXVsdGlEb21haW5zIHRhYmxlcyBleGlzdHMKJHRhYmxlcyA9ICR0YkRiLT5HZXRDb2woJ1NIT1cgVEFCTEVTJywgYXJyYXkoKSk7CiRtZF90YWJsZXNfZXhpc3QgPSAwOwppZiAoaW5fYXJyYXkoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfbXVsdGlkb21haW5zX3JlZGlyZWN0JywkdGFibGVzKSB8fCBpbl9hcnJheShjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9tdWx0aWRvbWFpbnNfZXJyb3JzJywkdGFibGVzKSB8fCBpbl9hcnJheShjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9tdWx0aWRvbWFpbnNfZXJyb3JzX2lnbm9yZScsJHRhYmxlcykpIHsKCSRtZF90YWJsZXNfZXhpc3QgPSAxOwp9Ci8vIE11bHRpRG9tYWlucyBpbXBvcnQKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pbXBvcnRfbXVsdGlkb21haW5zJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2ltcG9ydF9tdWx0aWRvbWFpbnMnLCcxJywnMCcsJycpKTsKJHNtYXJ0eS0+YXNzaWduKCdoZWxwX2ltcG9ydF9tdWx0aWRvbWFpbnMnLCR0aGlzLT5MYW5nKCdpbXBvcnRfbXVsdGlkb21haW5zX2hlbHAnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbXBvcnRfbXVsdGlkb21haW5zX2NvdW50JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbXBvcnRfbXVsdGlkb21haW5zX2NvdW50JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1wb3J0X211bHRpZG9tYWluc19jb3VudCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdtZF90YWJsZXNfZXhpc3QnLCRtZF90YWJsZXNfZXhpc3QpOwovLyBHZXQgdmVyc2lvbiBvZiBNdWx0aURvbWFpbnMKJG1kX3ZlcnNpb24gPSAkdGJEYi0+R2V0T25lKCdTRUxFQ1QgdmVyc2lvbiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVzIFdIRVJFIG1vZHVsZV9uYW1lIGxpa2UgIk11bHRpRG9tYWlucyInLCBhcnJheSgpKTsKaWYgKCEkbWRfdmVyc2lvbikgJG1kX3ZlcnNpb24gPSAnMC4wJzsKJG1kX29sZCA9IDA7CmlmICgoZmxvYXQpJG1kX3ZlcnNpb24+MC4wICYmIChmbG9hdCkkbWRfdmVyc2lvbjwyLjApICRtZF9vbGQgPSAxOwokc21hcnR5LT5hc3NpZ24oJ21kX29sZCcsJG1kX29sZCk7Ci8vIERlbGV0ZSBvbGQgTXVsdGlEb21haW5zIHRhYmxlcwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2Ryb3BfbXVsdGlkb21haW5zJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2Ryb3BfbXVsdGlkb21haW5zJywnMScsJzAnLCcnKSk7CgovLyBEaXNwbGF5IFRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fcHJlZnMudHBsJyk7CgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/function.admin_redirects.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIFNldCBUYWIgbmFtZQokdGFidG8gPSAncmVkaXJlY3RzJzsKCi8vIERpc3BsYXkgZm9ybSBmb3IgZWRpdGluZyBhIHJlZGlyZWN0IHVybAppZiAoaXNzZXQoJHBhcmFtc1sncmVkaXJlY3QnXSkpIHsKCgkvLyBHZXQgUmVkaXJlY3QgSUQKCSRyZWRpcmVjdCA9IChpbnQpJHBhcmFtc1sncmVkaXJlY3QnXTsKCS8vIEdldCBVUkwKCSR1cmwgPSBpc3NldCgkcGFyYW1zWydydXJsJ10pID8gdHJpbSh1cmxkZWNvZGUoJHBhcmFtc1sncnVybCddKSkgOiAnJzsKCS8vIEdldCBkb21haW4gaW5mbwoJaWYgKCRyZWRpcmVjdCkgeyAkcmVkaXJlY3RpbmZvID0gJHRiRGItPkdldFJvdygnU0VMRUNUIHBhZ2VfaWQsdG91cmwsdXJsLHVybF9yZWdleHAsYWN0aXZlLG5vdGVzLGNyZWF0ZWRfZGF0ZSxtb2RpZmllZF9kYXRlIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X3JlZGlyZWN0IFdIRVJFIGlkID0gPycsIGFycmF5KCRyZWRpcmVjdCkpOyB9CgllbHNlIHsgJHJlZGlyZWN0aW5mbyA9IGFycmF5ICggJ3BhZ2VfaWQnPT4wLCd0b3VybCc9PicnLCd1cmwnPT4nJywndXJsX3JlZ2V4cCc9PjAsJ2FjdGl2ZSc9PjAsJ25vdGVzJz0+JycgKTsgfQogICAgLy8gQXNzaWduIFNtYXJ0eSB2YXJzCiAgICAkc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2VkaXRyZWRpcmVjdCcsJHJldHVybmlkLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsdHJ1ZSxhcnJheSgpKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKICAgICRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwkcmVkaXJlY3QgPyAnc3VibWl0JzogJ2FkZCcsJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2NhY2hlJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwkcmVkaXJlY3QgPyAnY2FjaGUnIDogJ2NhY2hlYWRkJywkdGhpcy0+TGFuZygnY2FjaGUnKSkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdyZXNldCcsICR0aGlzLT5DcmVhdGVJbnB1dFJlc2V0KCRpZCwncmVzZXQnLCR0aGlzLT5MYW5nKCdyZXNldCcpKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2NhbmNlbCcsJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3RhYnRvJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGFidG8nLCR0YWJ0bykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdyZWRpcmVjdCcsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3JlZGlyZWN0JywkcmVkaXJlY3QpKTsKICAgICRzbWFydHktPmFzc2lnbigncmVkaXJlY3RlZGl0JywgJHRoaXMtPkxhbmcoJ3JlZGlyZWN0ZWRpdCcpKTsKCSRzbWFydHktPmFzc2lnbigncHJvbXB0X3VybCcsICR0aGlzLT5MYW5nKCd1cmwnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3VybCcsICR1cmwgPyAkdXJsIDogJHJlZGlyZWN0aW5mb1sndXJsJ10pOwoJJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfcmVkaXJlY3RpZCcsICR0aGlzLT5MYW5nKCdpZCcpKTsKCSRzbWFydHktPmFzc2lnbigncmVkaXJlY3RpZCcsICRyZWRpcmVjdCA/ICRyZWRpcmVjdCA6ICR0aGlzLT5MYW5nKCduZXdyZWRpcmVjdCcpKTsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfdXJsJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ3VybCcsJHVybCA/ICR1cmwgOiAkcmVkaXJlY3RpbmZvWyd1cmwnXSw4MCwyMDApKTsKICAgICRzbWFydHktPmFzc2lnbigncHJvbXB0X3BhZ2UnLCAkdGhpcy0+TGFuZygndGFyZ2V0cGFnZScpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRfcGFnZScsJHRiQ29udGVudE9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsJHJlZGlyZWN0aW5mb1sncGFnZV9pZCddLCRpZC4ncGFnZScsMCwxLDAsMSkpOyAvLyBjdXJyZW50LCBwYXJlbnQsIHBhcmVudF9pZCwgYWxsb3djdXJyZW50LCB1c2VfcGVybXMsIGlnbm9yZV9jdXJyZW50LCBhbGxvd19hbGwKCSRzbWFydHktPmFzc2lnbignYWx0ZXJuYXRpdmVfdXJsJywgJHRoaXMtPkxhbmcoJ2FsdGVybmF0aXZlX3VybCcpKTsKCSRzbWFydHktPmFzc2lnbigncHJvbXB0X3RvdXJsJywgJHRoaXMtPkxhbmcoJ3RhcmdldHVybCcpKTsKCSRzbWFydHktPmFzc2lnbignaW5wdXRfdG91cmwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwndG91cmwnLCRyZWRpcmVjdGluZm9bJ3RvdXJsJ10sODAsMjUwKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3RvdXJsJywgdHJpbSgkcmVkaXJlY3RpbmZvWyd0b3VybCddKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9yZWdleHAnLCAkdGhpcy0+TGFuZygncmVnZXhwJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZWdleHAnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdyZWdleHAnLCAndHJ1ZScsICRyZWRpcmVjdGluZm9bJ3VybF9yZWdleHAnXSA/ICd0cnVlJyA6ICdmYWxzZScpKTsKCSRzbWFydHktPmFzc2lnbigncHJvbXB0X2FjdGl2ZScsICR0aGlzLT5MYW5nKCdhY3RpdmUnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FjdGl2ZScsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2FjdGl2ZScsICd0cnVlJywgJHJlZGlyZWN0aW5mb1snYWN0aXZlJ10gPyAndHJ1ZScgOiAnZmFsc2UnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9ub3RlcycsICR0aGlzLT5MYW5nKCdub3RlcycpKTsKCSRzbWFydHktPmFzc2lnbignZG9tYWluX25vdGVzJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsICRyZWRpcmVjdGluZm9bJ25vdGVzJ10sICdub3RlcycsICdwYWdlc21hbGx0ZXh0YXJlYScpKTsKICAgIC8vIERpc3BsYXkgVGVtcGxhdGUKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fZWRpdHJlZGlyZWN0LnRwbCcpOwoKfQovLyBEaXNwbGF5IGEgbGlzdCB3aXRoIGF2YWlsYWJsZSByZWRpcmVjdCB1cmxzCmVsc2UgewoKCS8vIFNldCB2YXJzIGFuZCBpbWFnZXMKCSRpbWFnZXZpZXcgPSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3ZpZXcuZ2lmJywkdGhpcy0+TGFuZygndmlldycpLCcnLCcnLCdzeXN0ZW1pY29uJyk7CgkkaW1hZ2VpbmZvID0gJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9ydW4uZ2lmJywkdGhpcy0+TGFuZygncmVnZXhwJyksJycsJycsJ3N5c3RlbWljb24nKTsKCSRpbWFnZW5vc3RhbmRhcmQgPSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsJHRoaXMtPkxhbmcoJ21ha2VzdGFuZGFyZCcpLCcnLCcnLCdzeXN0ZW1pY29uJyk7CgkkaW1hZ2VpbmFjdGl2ZSA9ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywkdGhpcy0+TGFuZygnbWFrZWFjdGl2ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyk7CgkkaW1hZ2VzdGFuZGFyZCA9ICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCR0aGlzLT5MYW5nKCdzdGFuZGFyZCcpLCcnLCcnLCdzeXN0ZW1pY29uJyk7CgkkaW1hZ2VhY3RpdmUgPSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywkdGhpcy0+TGFuZygnbWFrZWluYWN0aXZlJyksJycsJycsJ3N5c3RlbWljb24nKTsKCSRpbWFnZWVkaXQgPSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywkdGhpcy0+TGFuZygnZWRpdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyk7CgkkaW1hZ2VkZWxldGUgPSAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCR0aGlzLT5MYW5nKCdkZWxldGUnKSwnJywnJywnc3lzdGVtaWNvbicpOwoJJGltYWdlbmV3ID0gJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywkdGhpcy0+TGFuZygnbmV3dGVtcGxhdGUnKSwnJywnJywnc3lzdGVtaWNvbicpOwoKCS8vIEdldCByZWRpcmVjdHMKCSRhbGxyZWRpcmVjdHMgPSAkdGJEYi0+R2V0QWxsKCdTRUxFQ1QgaWQscGFnZV9pZCx0b3VybCx1cmwsdXJsX3JlZ2V4cCxhY3RpdmUsbm90ZXMsY3JlYXRlZF9kYXRlLG1vZGlmaWVkX2RhdGUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfcmVkaXJlY3QnKTsKCWlmICghaXNfYXJyYXkoJGFsbHJlZGlyZWN0cykpICRhbGxyZWRpcmVjdHMgPSBhcnJheSgpOwoKCS8vIExpc3QgcmVkaXJlY3RzCgkkcm93YXJyYXkgPSBhcnJheSgpOwoJJHJvd2NsYXNzID0gJ3JvdzEnOwoJZm9yZWFjaCAoICRhbGxyZWRpcmVjdHMgYXMgJG9uZXJlZGlyZWN0ICkgewoJCS8vIEJ1aWxkIGEgbmV3IHJvdwoJCSRyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKCQkkcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCQkvLyBJRAoJCSRyb3ctPmlkID0gJG9uZXJlZGlyZWN0WydpZCddOwoJCS8vIFJlZ0V4cCBJbmZvCgkJJHJvdy0+cmVnZXhwID0gJG9uZXJlZGlyZWN0Wyd1cmxfcmVnZXhwJ107CgkJLy8gSWNvbgoJCSRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9ESVJpY29uLmdpZiIgLz4nOwoJCWlmIChwcmVnX21hdGNoKCcvLipcLmh0bShsKT8oXC8pPyQvaScsJG9uZXJlZGlyZWN0Wyd1cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9IVE1MaWNvbi5naWYiIC8+JzsKCQlpZiAocHJlZ19tYXRjaCgnLy4qXC5jc3MoXC8pPyQvaScsJG9uZXJlZGlyZWN0Wyd1cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9DU1NpY29uLmdpZiIgLz4nOwoJCWlmIChwcmVnX21hdGNoKCcvLipcLnBocChcLyk/JC9pJywkb25lcmVkaXJlY3RbJ3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL1BIUGljb24uZ2lmIiAvPic7CgkJaWYgKHByZWdfbWF0Y2goJy8uKlwudHh0KFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvVFhUaWNvbi5naWYiIC8+JzsKCQlpZiAocHJlZ19tYXRjaCgnLy4qXC56aXAoXC8pPyQvaScsJG9uZXJlZGlyZWN0Wyd1cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9aSVBpY29uLmdpZiIgLz4nOwoJCWlmIChwcmVnX21hdGNoKCcvLipcLmdpZihcLyk/JC9pJywkb25lcmVkaXJlY3RbJ3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0dJRmljb24uZ2lmIiAvPic7CgkJaWYgKHByZWdfbWF0Y2goJy8uKlwucG5nKFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvSlBHaWNvbi5naWYiIC8+JzsKCQlpZiAocHJlZ19tYXRjaCgnLy4qXC5qcGcoXC8pPyQvaScsJG9uZXJlZGlyZWN0Wyd1cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9KUEdpY29uLmdpZiIgLz4nOwoJCWlmIChwcmVnX21hdGNoKCcvLipcLm1wMyhcLyk/JC9pJywkb25lcmVkaXJlY3RbJ3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL01QM2ljb24uZ2lmIiAvPic7CgkJaWYgKHByZWdfbWF0Y2goJy8uKlwud2F2KFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvTVAzaWNvbi5naWYiIC8+JzsKCQlpZiAocHJlZ19tYXRjaCgnLy4qXC5hdmkoXC8pPyQvaScsJG9uZXJlZGlyZWN0Wyd1cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9BVklpY29uLmdpZiIgLz4nOwoJCWlmIChwcmVnX21hdGNoKCcvLipcLmZsdihcLyk/JC9pJywkb25lcmVkaXJlY3RbJ3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL0ZMVmljb24uZ2lmIiAvPic7CgkJaWYgKHByZWdfbWF0Y2goJy8uKlwucGRmKFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvUERGaWNvbi5naWYiIC8+JzsKCQlpZiAocHJlZ19tYXRjaCgnLy4qXC5kb2MoXC8pPyQvaScsJG9uZXJlZGlyZWN0Wyd1cmwnXSkpICRpY29uID0gJzxpbWcgc3JjPSIvbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9ET0NpY29uLmdpZiIgLz4nOwoJCWlmIChwcmVnX21hdGNoKCcvLipcLnhscyhcLyk/JC9pJywkb25lcmVkaXJlY3RbJ3VybCddKSkgJGljb24gPSAnPGltZyBzcmM9Ii9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL1hMU2ljb24uZ2lmIiAvPic7CgkJaWYgKHByZWdfbWF0Y2goJy8uKlwucHB0KFwvKT8kL2knLCRvbmVyZWRpcmVjdFsndXJsJ10pKSAkaWNvbiA9ICc8aW1nIHNyYz0iL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvUFBUaWNvbi5naWYiIC8+JzsKCQkvLyBCdWlsZCByZWRpcmVjdCB3aXRoIGVkaXQgbGluawoJCSRyb3ctPnVybCA9IHN0cmxlbigkb25lcmVkaXJlY3RbJ3VybCddKTw9MzAJPyAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRtaW5fZWRpdHJlZGlyZWN0JywgJHJldHVybmlkLCAkaWNvbi4nICcucHJlZ19yZXBsYWNlKCcvXmh0dHAocyk/OlwvXC8vJywnJywkb25lcmVkaXJlY3RbJ3VybCddKSwgYXJyYXkgKCAndGFidG8nPT4kdGFidG8sICdyZWRpcmVjdCc9PiRvbmVyZWRpcmVjdFsnaWQnXSApLCAnJywgZmFsc2UsIGZhbHNlLCAnIHRpdGxlPSInLiR0aGlzLT5MYW5nKCdlZGl0JykuJyInKQoJCQkJCQkJCQkJCQkJOiAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRtaW5fZWRpdHJlZGlyZWN0JywgJHJldHVybmlkLCAkaWNvbi4nICcuc3Vic3RyKHByZWdfcmVwbGFjZSgnL15odHRwKHMpPzpcL1wvLycsJycsJG9uZXJlZGlyZWN0Wyd1cmwnXSksMCwxNSkuJy4uLi4nLnN1YnN0cigkb25lcmVkaXJlY3RbJ3VybCddLC0xNSksIGFycmF5ICggJ3RhYnRvJz0+JHRhYnRvLCAncmVkaXJlY3QnPT4kb25lcmVkaXJlY3RbJ2lkJ10gKSwgJycsIGZhbHNlLCBmYWxzZSwgJyB0aXRsZT0iJy4kb25lcmVkaXJlY3RbJ3VybCddLiciJyk7CgkJJHJvdy0+dnVybCA9ICRvbmVyZWRpcmVjdFsndXJsJ107CgkJLy8gUGFnZSAob3IgVVJMKQoJCWlmICh0cmltKCRvbmVyZWRpcmVjdFsndG91cmwnXSkpIHsKCQkJJHJvdy0+cGFnZSA9IHN0cmxlbigkb25lcmVkaXJlY3RbJ3RvdXJsJ10pPD0zMCAJPyAnPGEgaHJlZj0iJy4kb25lcmVkaXJlY3RbJ3RvdXJsJ10uJyIgdGl0bGU9IicuJG9uZXJlZGlyZWN0Wyd0b3VybCddLiciIHRhcmdldD0iX2JsYW5rIj4nLiRvbmVyZWRpcmVjdFsndG91cmwnXS4nPC9hPicKCQkJCQkJCQkJCQkJCQkJOiAnPGEgaHJlZj0iJy4kb25lcmVkaXJlY3RbJ3RvdXJsJ10uJyIgdGl0bGU9IicuJG9uZXJlZGlyZWN0Wyd0b3VybCddLiciIHRhcmdldD0iX2JsYW5rIj4nLnN1YnN0cigkb25lcmVkaXJlY3RbJ3RvdXJsJ10sMCwzMCkuJy4uLi48L2E+JzsKCQl9IGVsc2UgewoJCQkkcGFnZWluZm8gPSAkdGJEYi0+R2V0Um93KCdTRUxFQ1QgbWVudV90ZXh0LGhpZXJhcmNoeSxjb250ZW50X2FsaWFzIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2NvbnRlbnQgV0hFUkUgY29udGVudF9pZCA9ID8nLCBhcnJheSgkb25lcmVkaXJlY3RbJ3BhZ2VfaWQnXSkpOwoJCQkkaGllcmFyY2hpZXMgPSBleHBsb2RlKCcuJywkcGFnZWluZm9bJ2hpZXJhcmNoeSddKTsKCQkJZm9yZWFjaCAoJGhpZXJhcmNoaWVzIGFzICRrPT4kaCkgJGhpZXJhcmNoaWVzWyRrXT0oaW50KSRoOwoJCQkkcm93LT5wYWdlID0gJHBhZ2VpbmZvWydtZW51X3RleHQnXS4nIDxlbT4oJy5pbXBsb2RlKCcuJywkaGllcmFyY2hpZXMpLicgLS0mZ3Q7ICcuJHBhZ2VpbmZvWydjb250ZW50X2FsaWFzJ10uJyk8L2VtPic7CgkJfQoJCS8vIEJ1aWxkIGxpbmsgZm9yIGRlLS9hY3RpdmF0ZSB0aGUgcmVkaXJlY3QgdXJsCgkJJGFjdGl2ZSA9ICRvbmVyZWRpcmVjdFsnYWN0aXZlJ10gPyAxIDogMDsKCQlpZiAoICRhY3RpdmUgKSB7ICRyb3ctPmFjdGl2ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdhZG1pbl9yZWRpcmVjdGFjdGl2ZScsICRyZXR1cm5pZCwgJGltYWdlYWN0aXZlLCBhcnJheSAoICd0YWJ0byc9PiR0YWJ0bywgJ3JlZGlyZWN0Jz0+JG9uZXJlZGlyZWN0WydpZCddLCAnYWN0aXZlJz0+MCApLCAkdGhpcy0+TGFuZygncmVhbGx5bWFrZWluYWN0aXZlJyksIGZhbHNlLCBmYWxzZSwgJyB0aXRsZT0iJy4kdGhpcy0+TGFuZygnbWFrZWluYWN0aXZlJykuJyInKTsgfQoJCWVsc2UgeyAkcm93LT5hY3RpdmUgPSAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRtaW5fcmVkaXJlY3RhY3RpdmUnLCAkcmV0dXJuaWQsICRpbWFnZWluYWN0aXZlLCBhcnJheSAoICd0YWJ0byc9PiR0YWJ0bywgJ3JlZGlyZWN0Jz0+JG9uZXJlZGlyZWN0WydpZCddLCAnYWN0aXZlJz0+MSApLCAkdGhpcy0+TGFuZygncmVhbGx5bWFrZWFjdGl2ZScpLCBmYWxzZSwgZmFsc2UsICcgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ21ha2VhY3RpdmUnKS4nIicpOyB9CgkJLy8gQnVpbGQgZWRpdCBpY29uCgkJJHJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRtaW5fZWRpdHJlZGlyZWN0JywgJHJldHVybmlkLCAkaW1hZ2VlZGl0LCBhcnJheSAoICd0YWJ0byc9PiR0YWJ0bywgJ3JlZGlyZWN0Jz0+JG9uZXJlZGlyZWN0WydpZCddICksICcnLCBmYWxzZSwgZmFsc2UsICcgdGl0bGU9IicuJHRoaXMtPkxhbmcoJ2VkaXQnKS4nIicpOwoJCS8vIEJ1aWxkIGRlbGV0ZSBpY29uCgkJJHJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdhZG1pbl9kZWxldGVyZWRpcmVjdCcsICRyZXR1cm5pZCwgJGltYWdlZGVsZXRlLCBhcnJheSAoICd0YWJ0byc9PiR0YWJ0bywgJ3JlZGlyZWN0Jz0+JG9uZXJlZGlyZWN0WydpZCddICksICR0aGlzLT5MYW5nKCdyZWFsbHlkZWxldGUnKSwgZmFsc2UsIGZhbHNlLCAnIHRpdGxlPSInLiR0aGlzLT5MYW5nKCdkZWxldGUnKS4nIicpOwoJCS8vIE1lcmdlIG5ldyByZWRpcmVjdCB0byBhcnJheQoJCWFycmF5X3B1c2ggKCRyb3dhcnJheSwgJHJvdyk7CgkJLy8gQWx0ZXJuYXRlIHJvdyBjb2xvcgoJCSgkcm93Y2xhc3MgPT0gJ3JvdzEnID8gJHJvd2NsYXNzID0gJ3JvdzInIDogJHJvd2NsYXNzID0gJ3JvdzEnKTsKCX0KCgkvLyBBc3NpZ24gc21hcnR5IHZhcnMKCSRzbWFydHktPmFzc2lnbignaXRlbXMnLCAkcm93YXJyYXkgKTsKCSRzbWFydHktPmFzc2lnbignaWQnLCAkdGhpcy0+TGFuZygnaWQnKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ3ZpZXdpY29uJywgJGltYWdldmlldyk7Cgkkc21hcnR5LT5hc3NpZ24oJ2luZm9pY29uJywgJGltYWdlaW5mbyk7Cgkkc21hcnR5LT5hc3NpZ24oJ3ZpZXcnLCAkdGhpcy0+TGFuZygndmlldycpKTsKCSRzbWFydHktPmFzc2lnbigndXJsJywgJHRoaXMtPkxhbmcoJ3VybCcpKTsKCSRzbWFydHktPmFzc2lnbigncGFnZScsICR0aGlzLT5MYW5nKCdwYWdlJykpOwoJJHNtYXJ0eS0+YXNzaWduKCdhY3RpdmUnLCAkdGhpcy0+TGFuZygnYWN0aXZlJykpOwoJJHNtYXJ0eS0+YXNzaWduKCduZXdyZWRpcmVjdGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnYWRtaW5fZWRpdHJlZGlyZWN0JywgJHJldHVybmlkLCAkaW1hZ2VuZXcuJyAnLiR0aGlzLT5MYW5nKCduZXdyZWRpcmVjdCcpLCBhcnJheSAoICd0YWJ0byc9PiR0YWJ0bywgJ3JlZGlyZWN0Jz0+JycgKSwgJycsIGZhbHNlLCBmYWxzZSwgJyB0aXRsZT0iJy4kdGhpcy0+TGFuZygnbmV3cmVkaXJlY3QnKS4nIicpKTsKCSMkc21hcnR5LT5hc3NpZ24oJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2xpc3RyZWRpcmVjdHMudHBsJyk7Cgp9CgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/function.admin_socialshareprivacy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIFNldCBUYWIgbmFtZQokdGFidG8gPSAnc29jaWFsc2hhcmVwcml2YWN5JzsKJHRlbXBsYXRlID0gInNvY2lhbHNoYXJlcHJpdmFjeSI7Cgokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ2FkbWluX3NvY2lhbHNoYXJlcHJpdmFjeScsJHJldHVybmlkLCdwb3N0JywnJywgdHJ1ZSwgYXJyYXkoKSkpOwokc21hcnR5LT5hc3NpZ24oJ3RlbXBsYXRlbmFtZScsJHRlbXBsYXRlKTsKJGNvbnRlbnRzID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZSk7CiR0ZW1wbGF0ZXByb3BzID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVQcm9wcygkdGVtcGxhdGUpOwoKJGNvbnRlbnRzY29kZSA9IGV4cGxvZGUoVE9PTEJPWF9TRVBBUkFUT1IsICRjb250ZW50cyk7CgokY29udGVudCA9IGlzc2V0KCRjb250ZW50c2NvZGVbMF0pID8gJGNvbnRlbnRzY29kZVswXSA6ICcnOwokc3R5bGVzaGVldCA9IGlzc2V0KCRjb250ZW50c2NvZGVbMV0pID8gJGNvbnRlbnRzY29kZVsxXSA6ICcnOwokamF2YXNjcmlwdCA9IGlzc2V0KCRjb250ZW50c2NvZGVbMl0pID8gdHJpbSgkY29udGVudHNjb2RlWzJdLCcqfScpIDogJyc7CgokaW5mb2xpbmsgPSBpc3NldCgkdGVtcGxhdGVwcm9wc1snaW5mb2xpbmsnXSkgPyAkdGVtcGxhdGVwcm9wc1snaW5mb2xpbmsnXSA6ICcnOwokYWR2YW5jZWQgPSBpc3NldCgkdGVtcGxhdGVwcm9wc1snYWR2YW5jZWQnXSkgPyAkdGVtcGxhdGVwcm9wc1snYWR2YW5jZWQnXSA6IDA7Cgokc21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsCgkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3ZlcnNpb24nLCAkdGVtcGxhdGVwcm9wc1sndmVyc2lvbiddKSAuCgkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3NlY3Rpb24nLCAkdGVtcGxhdGVwcm9wc1snc2VjdGlvbiddKSAuCgkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ3RhYnRvJywgJHRhYnRvKSAKCSk7CgoKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZScsJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV90aXRsZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdkZXNjcmlwdGlvbicsJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV9kZXNjcmlwdGlvbicpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfaW5mb2xpbmsnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbmZvbGluaycsICRpbmZvbGluaywgODApKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaW5mb2xpbmsnLCR0aGlzLT5MYW5nKCdzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X2luZm9saW5rJykpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9qcXVlcnknLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwnanF1ZXJ5JywnMScsJHRlbXBsYXRlcHJvcHNbJ2pxdWVyeSddLCcxJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9qcXVlcnknLCR0aGlzLT5MYW5nKCdzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X2pxdWVyeScpKTsKCiRzbWFydHktPmFzc2lnbignYWR2YW5jZWRfdXNlJywkYWR2YW5jZWQpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FkdmFuY2VkJywkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2FkdmFuY2VkJywnMScsJGFkdmFuY2VkLCcxJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9hZHZhbmNlZCcsJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV9wcm9tcHRfYWR2YW5jZWQnKSk7Cgokc21hcnR5LT5hc3NpZ24oInByb21wdF90ZW1wbGF0ZV9pbmZvIiwkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5X3Byb21wdF90ZW1wbGF0ZV9pbmZvJykpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfdGVtcGxhdGUnLCR0aGlzLT5MYW5nKCdzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X3RlbXBsYXRlJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3RlbXBsYXRlJywgJHRoaXMtPkNyZWF0ZVN5bnRheEFyZWEgKCRpZCwgJGNvbnRlbnRzY29kZVswXSwgJ3RlbXBsYXRlY29udGVudCcsJ3RiX3RleHRhcmVhJywnJywnJywnJywnODAnLCc1JykpOwoJCQkJICAgIAokc21hcnR5LT5hc3NpZ24oJ3NtYXJ0eXRhZ3MnLCR0aGlzLT5MYW5nKCdzbWFydHl0YWdzJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZW1wbGF0ZWNzcycsJHRoaXMtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV9wcm9tcHRfdGVtcGxhdGVjc3MnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdGVtcGxhdGVjc3MnLCAkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSAoJGlkLCAkc3R5bGVzaGVldCwgJ3RlbXBsYXRlY3NzJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF90ZW1wbGF0ZWpzJywkdGhpcy0+TGFuZygnc29jaWFsc2hhcmVwcml2YWN5X3Byb21wdF90ZW1wbGF0ZWpzJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3RlbXBsYXRlanMnLCAkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSAoJGlkLCAkamF2YXNjcmlwdCwgJ3RlbXBsYXRlanMnKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXRidXR0b24nLCAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CiRzbWFydHktPmFzc2lnbigncmVzZXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3Jlc2V0YnV0dG9uJywgJHRoaXMtPkxhbmcoJ3Jlc2V0b3JpZ2luYWwnKSwgJycsICcnLCAkdGhpcy0+TGFuZygncmVzZXRvcmlnaW5hbHdhcm5pbmcnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbXBvcnR0ZW1wbGF0ZWxpbmsnLAoJICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsCgkJCSAgICAgJGdDbXMtPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbXBvcnQuZ2lmJywgJHRoaXMtPkxhbmcoJ3Byb21wdF9pbXBvcnR0ZW1wbGF0ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksCgkJCSAgICAgYXJyYXkoJ21vZGUnID0+ICdpbXBvcnQnLCAndGFidG8nID0+ICdzb2NpYWxzaGFyZXByaXZhY3knKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpLicgJy4KCgkgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwKCQkJICAgICAkdGhpcy0+TGFuZygncHJvbXB0X2ltcG9ydHRlbXBsYXRlJyksCgkJCSAgICAgYXJyYXkoJ21vZGUnID0+ICdpbXBvcnQnLCAndGFidG8nID0+ICdzb2NpYWxzaGFyZXByaXZhY3knKSkpOwoKCQkJICAgICAKJHNtYXJ0eS0+YXNzaWduKCdleHBvcnR0ZW1wbGF0ZWxpbmsnLAoJICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkb19leHBvcnR0ZW1wbGF0ZScsICRyZXR1cm5pZCwKCQkJCSAgICAnPGltZyBzcmM9Ii4uL21vZHVsZXMvVG9vbEJveC9pbWFnZXMveG1sX3Jzcy5naWYiIGFsdD0iWE1MIiAvPicsCgkJCQkgICAgYXJyYXkoJ3NlY3Rpb24nID0+ICdzb2NpYWxzaGFyZXByaXZhY3knLCd0ZW1wbGF0ZScgPT4gJ3NvY2lhbHNoYXJlcHJpdmFjeScpKSAuICIgIiAuCgoJICAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkb19leHBvcnR0ZW1wbGF0ZScsICRyZXR1cm5pZCwKCQkJICAgICAkdGhpcy0+TGFuZygnZXhwb3J0X3RlbXBsYXRlJyksCgkJCSAgICAgYXJyYXkoJ3NlY3Rpb24nID0+ICdzb2NpYWxzaGFyZXByaXZhY3knLCd0ZW1wbGF0ZScgPT4gJ3NvY2lhbHNoYXJlcHJpdmFjeScpKSk7CgkJCSAgICAgCgkJCSAgICAgCgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX3NvY2lhbHNoYXJlcHJpdmFjeS50cGwnKTsKCg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_stats.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIFNldCBUYWIgbmFtZQokdGFidG8gPSAnc3RhdHMnOwoKLy8gRGF0dW0gZXJtaXR0ZWxuCiRsZGF5ID0gKGludClkYXRlKCdkJywgdGltZSgpIC0gODY0MDApOwokbG1vbnRoID0gKGludClkYXRlKCdtJyxzdHJ0b3RpbWUoJy0xIG1vbnRoJykpOwokbHllYXIgPSAoaW50KWRhdGUoJ1knLHN0cnRvdGltZSgnLTEgeWVhcicpKTsKCi8vIEFzc2lnbiBTbWFydHkgdmFycwokc21hcnR5LT5hc3NpZ24oJ3RhYnRvJywkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCd0YWJ0bycsJHRhYnRvKSk7CiRzbWFydHktPmFzc2lnbignZGF5c19yZWRpcmVjdCcsIGdldExvZ1N1bSgkbGRheSwnZGF5JykgKTsKJHNtYXJ0eS0+YXNzaWduKCdtb250aHNfcmVkaXJlY3QnLCBnZXRMb2dTdW0oJGxtb250aCwnbW9udGgnKSApOwokc21hcnR5LT5hc3NpZ24oJ3llYXJzX3JlZGlyZWN0JywgZ2V0TG9nU3VtKCRseWVhciwneWVhcicpICk7CiRzbWFydHktPmFzc2lnbigncmVkaXJlY3QnLCR0aGlzLT5MYW5nKCdyZWRpcmVjdCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdyZWRpcmVjdHMnLCR0aGlzLT5MYW5nKCdyZWRpcmVjdHMnKSk7CiRzbWFydHktPmFzc2lnbigncGFnZScsJHRoaXMtPkxhbmcoJ3BhZ2UnKSk7CiRzbWFydHktPmFzc2lnbigndmlzaXRzJywkdGhpcy0+TGFuZygndmlzaXRzJykpOwokc21hcnR5LT5hc3NpZ24oJ3NlYXJjaGVuZ2luZScsJHRoaXMtPkxhbmcoJ3NlYXJjaGVuZ2luZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdrZXl3b3JkJywkdGhpcy0+TGFuZygna2V5d29yZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdyZWZlcmVyJywkdGhpcy0+TGFuZygncmVmZXJlcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdkYXknLCR0aGlzLT5MYW5nKCdkYXknKSk7CiRzbWFydHktPmFzc2lnbignZGF5cycsJHRoaXMtPkxhbmcoJ2RheXMnKSk7CiRzbWFydHktPmFzc2lnbignbW9udGgnLCR0aGlzLT5MYW5nKCdtb250aCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdtb250aHMnLCR0aGlzLT5MYW5nKCdtb250aHMnKSk7CiRzbWFydHktPmFzc2lnbigneWVhcicsJHRoaXMtPkxhbmcoJ3llYXInKSk7CiRzbWFydHktPmFzc2lnbigneWVhcnMnLCR0aGlzLT5MYW5nKCd5ZWFycycpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdGF0c19kYWlseScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzX2RhaWx5JykgPyAxIDogMCk7CiRzbWFydHktPmFzc2lnbignb2xkdXJsX3VzZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ29sZHVybF91c2UnKSA/IDEgOiAwKTsKCi8vIERpc3BsYXkgVGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9zdGF0cy50cGwnKTsKCmZ1bmN0aW9uIGdldExvZ1N1bSAoJHYsJHBlcmlvZCkgewoJLy8gU2V0IGRiCgkkdGJEYiA9IGNtc21zKCktPkdldERiKCk7CgkvLyBHZXQgZGF0YQoJJGRhdGEgPSAkdGJEYi0+R2V0QWxsKCdTRUxFQ1QgdXJsLHBhZ2VfaWQsdmlzaXRzLHNlYXJjaGVuZ2luZSxrZXl3b3JkLHJlZmVyZXIgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfbG9nc3VtIFdIRVJFIHBlcmlvZD0/IEFORCB2YWx1ZT0/IE9SREVSIEJZIHVybCcsYXJyYXkoJHBlcmlvZCwoaW50KSR2KSk7CglpZiAoIWlzX2FycmF5KCRkYXRhKSkgJGRhdGEgPSBhcnJheSgpOwoJLy8gTGlzdCBkYXRhCgkkcmVzdWx0ID0gYXJyYXkoKTsKCSRyb3djbGFzcyA9ICdyb3cxJzsKCWZvcmVhY2ggKCAkZGF0YSBhcyAkZCApIHsKCQkvLyBCdWlsZCBhIG5ldyByb3cKCQkkcm93ID0gbmV3IFN0ZENsYXNzKCk7CgkJJHJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgkJLy8gVVJMCgkJJHJvdy0+dXJsID0gJGRbJ3VybCddOwoJCS8vIFBhZ2UKCQkkcm93LT5wYWdlX2lkID0gJGRbJ3BhZ2VfaWQnXTsKCQlpZiAoJHJvdy0+cGFnZV9pZCkgJHBhZ2VpbmZvID0gJHRiRGItPkdldFJvdygnU0VMRUNUIG1lbnVfdGV4dCxoaWVyYXJjaHksY29udGVudF9hbGlhcyBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50IFdIRVJFIGNvbnRlbnRfaWQgPSA/JywgYXJyYXkoJGRbJ3BhZ2VfaWQnXSkpOwoJCWlmICgkcGFnZWluZm8pIHsKCQkJJGhpZXJhcmNoaWVzID0gZXhwbG9kZSgnLicsJHBhZ2VpbmZvWydoaWVyYXJjaHknXSk7CgkJCWZvcmVhY2ggKCRoaWVyYXJjaGllcyBhcyAkaz0+JGgpICRoaWVyYXJjaGllc1ska109KGludCkkaDsKCQkJJHJvdy0+cGFnZSA9ICRwYWdlaW5mb1snbWVudV90ZXh0J10uJyA8ZW0+KCcuaW1wbG9kZSgnLicsJGhpZXJhcmNoaWVzKS4nOicuJHBhZ2VpbmZvWydjb250ZW50X2FsaWFzJ10uJyk8L2VtPic7CgkJfQoJCS8vIFZpc2l0cwoJCSRyb3ctPnZpc2l0cyA9ICRkWyd2aXNpdHMnXTsKCQkvLyBTZWFyY2ggRW5naW5lCgkJJHJvdy0+c2VhcmNoZW5naW5lID0gJGRbJ3NlYXJjaGVuZ2luZSddOwoJCS8vIEtleXdvcmQKCQkkcm93LT5rZXl3b3JkID0gJGRbJ2tleXdvcmQnXTsKCQkvLyBSZWZlcmVyCgkJJHJvdy0+cmVmZXJlciA9ICRkWydyZWZlcmVyJ107CgkJLy8gTWVyZ2UgbmV3IHJlZGlyZWN0IHRvIGFycmF5CgkJYXJyYXlfcHVzaCAoJHJlc3VsdCwgJHJvdyk7CgkJLy8gQWx0ZXJuYXRlIHJvdyBjb2xvcgoJCSgkcm93Y2xhc3MgPT0gJ3JvdzEnID8gJHJvd2NsYXNzID0gJ3JvdzInIDogJHJvd2NsYXNzID0gJ3JvdzEnKTsKCX0KCXJldHVybiAkcmVzdWx0Owp9CgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/function.admin_tail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKQXV0aG9yOiBMdWthcyBCbGF0dGVyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCi8vIENoZWNrIGF1dGhvcmlzYXRpb24JCmlmKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CmlmICggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBUb29sQm94JykgKSBleGl0OwoKLy8gU2V0IFRhYiBuYW1lCiR0YWJ0byA9ICd0YWlsJzsKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnbG9nVXBkYXRlcicsJHJldHVybmlkLCdwb3N0JywnJywgdHJ1ZSwgYXJyYXkoKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdtb2QnLCR0aGlzKTsKCgokbG9nZmlsZXMgPSBzY2FuZGlyKCR0aGlzLT50YkxvZ1BhdGgpOwokZmlsZXMgPSBhcnJheSgpOwpmb3JlYWNoICgkbG9nZmlsZXMgYXMgJGZpbGUpIHsKCWlmICgkZmlsZSAhPSAnLi4nIGFuZCAkZmlsZSAhPSAnLicgYW5kICRmaWxlICE9ICcuaHRhY2Nlc3MnKSB7CgkJaWYgKGZpbGVfZXhpc3RzKCR0aGlzLT50YkxvZ1BhdGguJGZpbGUpKSB7CgkJCSRmaWxlc1skZmlsZV0gPSAkZmlsZTsKCQl9Cgl9Cn0KCiRzbWFydHktPmFzc2lnbignaW5wdXRfZmlsZScsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2xvZ0ZpbGUnLCAkZmlsZXMsIC0xLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGFpbF9maWxlJyksJ2lkPSJ0YWlsbG9nZmlsZSInKSk7CgoKJGxpbmVzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RhaWxfbG9nbGluZXMnKTsKaWYgKCEkbGluZXMpICRsaW5lcyA9IDIwOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9saW5lcycsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2xvZ0xpbmVzJywkbGluZXMsMTAsMTAwKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3RhYnRvJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGFidG8nLCR0YWJ0bykpOwokc21hcnR5LT5hc3NpZ24oJ3RiVGFiVG8nLCAkdGFidG8pOwoKaWYgKGlzc2V0KCRfU0VTU0lPTlsndGJMb2dSdW4nXSkgYW5kICRfU0VTU0lPTlsndGJMb2dSdW4nXSkgewoJJGxvZ0xpbmVzID0gdGJMb2dVcGRhdGVyOjpnZXRMb2dMaW5lcygkdGhpcy0+dGJMb2dQYXRoLiR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0YWlsX2ZpbGUnKSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RhaWxfbG9nbGluZXMnKSk7IAoJCgkkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2xvZycsJHRoaXMtPkNyZWF0ZVN5bnRheEFyZWEoJGlkLCRsb2dMaW5lcywnbG9nJywnJywndGFpbGxvZ2FyZWEnLCcnLCcnLDEyMCwzMCwncmVhZG9ubHk9InJlYWRvbmx5IicpKTsKCSRzbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N0b3BidXR0b24nLCAkdGhpcy0+TGFuZygndGFpbF9zdG9wJykpKTsKCSRzbWFydHktPmFzc2lnbignc2hvd2Zvcm0nLGZhbHNlKTsKfQplbHNlIHsKCSRzbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N0YXJ0YnV0dG9uJywgJHRoaXMtPkxhbmcoJ3RhaWxfc3RhcnQnKSkpOwoJJHNtYXJ0eS0+YXNzaWduKCdzaG93Zm9ybScsdHJ1ZSk7Cn0JCgoKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fdGFpbC50cGwnKTsKCg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_tbimage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKJHRiRGIgPSBjbXNtcygpLT5HZXREYigpOwoKJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwovLyBTZXQgVGFiIG5hbWUKJHRhYnRvID0gJ3RiaW1hZ2UnOwokc21hcnR5LT5hc3NpZ24oJ3R0YWJ0bycsIGlzc2V0KCRwYXJhbXNbJ3R0YWJ0byddKSA/ICRwYXJhbXNbJ3R0YWJ0byddIDogJ21hbnVhbCcpOwoKJHBvc2l0aW9uID0gYXJyYXkoCSAkdGhpcy0+TGFuZygidGJpbWFnZV9sdCIpID0+ICdMVCcgCgkJCQkJLCR0aGlzLT5MYW5nKCJ0YmltYWdlX210IikgPT4gJ01UJwoJCQkJCSwkdGhpcy0+TGFuZygidGJpbWFnZV9ydCIpID0+ICdSVCcKCQkJCQksJHRoaXMtPkxhbmcoInRiaW1hZ2VfbG0iKSA9PiAnTE0nCgkJCQkJLCR0aGlzLT5MYW5nKCJ0YmltYWdlX21tIikgPT4gJ01NJwoJCQkJCSwkdGhpcy0+TGFuZygidGJpbWFnZV9ybSIpID0+ICdSTScKCQkJCQksJHRoaXMtPkxhbmcoInRiaW1hZ2VfbGIiKSA9PiAnTEInCgkJCQkJLCR0aGlzLT5MYW5nKCJ0YmltYWdlX21iIikgPT4gJ01CJwoJCQkJCSwkdGhpcy0+TGFuZygidGJpbWFnZV9yYiIpID0+ICdSQicKCQkJCQkpOwoKJHNtYXJ0eS0+YXNzaWduKCJ0YmltYWdlcG9zaGVscCIsJzxpbWcgc3JjPSInLiRjb25maWdbJ3Jvb3RfdXJsJ10uJy9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL1BIUEltYWdlV29ya3Nob3AtQmlsZGJlcmVpY2hlLmpwZyIgd2lkdGg9IjU5NSIgaGVpZ2h0PSIzOTUiIGFsdD0idGJpbWFnZSBwb3NpdGlvbiBoZWxwIiAvPicpOwoJCQkJCQoKLy8gQXNzaWduIFNtYXJ0eSB2YXJzCiRzbWFydHktPmFzc2lnbignbW9kJywkdGhpcyk7CiRzbWFydHktPmFzc2lnbignd210Zm9ybXN0YXJ0JywkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fdGJpbWFnZScsJHJldHVybmlkLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsdHJ1ZSxhcnJheSgpKSk7CiRzbWFydHktPmFzc2lnbignd21pZm9ybXN0YXJ0JywkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fdGJpbWFnZScsJHJldHVybmlkLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsdHJ1ZSxhcnJheSgpKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLCR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCd3bXRoaWRkZW4nLAoJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd0YWJ0bycsICR0YWJ0bykgLiAKCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnZm9ybXNlY3Rpb24nLCAnd210JykgLiAKCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAndHRhYnRvJywgIndtdCIpIAoJKTsKJHNtYXJ0eS0+YXNzaWduKCd3bWloaWRkZW4nLAoJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd0YWJ0bycsICR0YWJ0bykgLgoJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdmb3Jtc2VjdGlvbicsICd3bWknKSAuIAoJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd0dGFidG8nLCAid21pIikgCgkpOwoJCiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLCAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKCgovLyBXYXRlcm1hcmsgVGV4dAokc21hcnR5LT5hc3NpZ24oJ2lucHV0d210X3RleHQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICd3bXRfdGV4dCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd3bXRfdGV4dCcpLCA4MCkpOwovLyRzbWFydHktPmFzc2lnbignaW5wdXR3bXRfZm9udCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3dtdF9mb250JywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3dtdF9mb250JyksIDUwKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXR3bXRfZm9udCcsICR0aGlzLT5DcmVhdGVJbnB1dEZpbGUoICRpZCwgJ3dtdF9mb250JywgJ2ZvbnQvb3BlbnR5cGUnLCA1MCkpOwokc21hcnR5LT5hc3NpZ24oJ3dtdF9mb250JywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3dtdF9mb250JykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0d210X3NpemUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICd3bXRfc2l6ZScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd3bXRfc2l6ZScpLCA1KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXR3bXRfY29sb3InLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICd3bXRfY29sb3InLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnd210X2NvbG9yJyksIDEwKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXR3bXRfb3BhY2l0eScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3dtdF9vcGFjaXR5JywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3dtdF9vcGFjaXR5JyksIDUpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHdtdF9wb3N4JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnd210X3Bvc3gnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnd210X3Bvc3gnKSwgNSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0d210X3Bvc3knLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICd3bXRfcG9zeScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd3bXRfcG9zeScpLCA1KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXR3bXRfcG9zJywkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd3bXRfcG9zJywgJHBvc2l0aW9uLCAtMSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3dtdF9wb3MnKSkpOwoKLy8gV2F0ZXJtYXJrIEltYWdlCiRzbWFydHktPmFzc2lnbignaW5wdXR3bWlfaW1hZ2UnLCAkdGhpcy0+Q3JlYXRlSW5wdXRGaWxlKCAkaWQsICd3bWlfaW1hZ2UnLCAnaW1hZ2UvKicsIDUwKSk7CiRzbWFydHktPmFzc2lnbignd21pX2ltYWdlJywgc3RyX3JlcGxhY2UoIlxcIiwiLyIsc3RyX3JlcGxhY2UoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sICRjb25maWdbJ3VwbG9hZHNfdXJsJ10sICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd3bWlfaW1hZ2UnKSkpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHdtaV9yZWxzaXplJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnd21pX3JlbHNpemUnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnd21pX3JlbHNpemUnKSwgNSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0d21pX3Bvc3gnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICd3bWlfcG9zeCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd3bWlfcG9zeCcpLCA1KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXR3bWlfcG9zeScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3dtaV9wb3N5JywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3dtaV9wb3N5JyksIDUpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHdtaV9wb3MnLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ3dtaV9wb3MnLCAkcG9zaXRpb24sIC0xLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnd21pX3BvcycpKSk7CgoKLy8gRGlzcGxheSBUZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX3RiaW1hZ2UudHBsJyk7CgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/function.admin_twitterfeed.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwppZiAoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpICkgZXhpdDsKCi8vIFNldCBUYWIgbmFtZQokdGFidG8gPSAndHdpdHRlcmZlZWQnOwokc2VjdGlvbiA9ICd0d2l0dGVyZmVlZCc7CgokdGhlbWVPYmplY3QgPSBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKTsgLy8gICYgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddOwokZmFsc2VpbWFnZTEgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsJHRoaXMtPkxhbmcgKCdzZXR0cnVlJyksJycsJycsJ3N5c3RlbWljb24nKTsKJHRydWVpbWFnZTEgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywkdGhpcy0+TGFuZyAoJ2RlZmF1bHQnKSwnJywnJywnc3lzdGVtaWNvbicpOwokZmFsc2VpbWFnZTIgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsJHRoaXMtPkxhbmcgKCdtYWtldmlzaWJsZScpLCcnLCcnLCdzeXN0ZW1pY29uJyk7CiR0cnVlaW1hZ2UyID0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsJHRoaXMtPkxhbmcgKCdtYWtlaW52aXNpYmxlJyksJycsJycsJ3N5c3RlbWljb24nKTsKCiRzbWFydHktPmFzc2lnbignbW9kJywkdGhpcyk7CgoKJGFsbHRlbXBsYXRlcyA9ICR0aGlzLT5MaXN0VGVtcGxhdGVzKCk7CiRjdXJyZW50X3RlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2N1cnJlbnRfJy4kc2VjdGlvbi4nX3RlbXBsYXRlJyk7CiRyb3dhcnJheSA9IGFycmF5KCk7CiRyb3djbGFzcyA9ICdyb3cxJzsKCmZvcmVhY2goICRhbGx0ZW1wbGF0ZXMgYXMgJHRwbCApCnsKCWlmIChzdWJzdHIoJHRwbCwwLDQpICE9ICJ0d2ZfIikgY29udGludWU7CgkKCSR0cGxwcm9wcyA9IHRiVXRpbHM6OmdldFRlbXBsYXRlUHJvcHMoJHRwbCk7Cgkkcm93ID0gbmV3IFN0ZENsYXNzKCk7Cgkkcm93LT5uYW1lID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLCBzdHJfcmVwbGFjZSgidHdmXyIsICIiLCAkdHBsKSwgYXJyYXkoJ3RlbXBsYXRlJyA9PiAkdHBsLCAnbW9kZSc9PidlZGl0JywgJ3RhYnRvJyA9PiAkdGFidG8pKTsKCSRyb3ctPnZlcnNpb24gPSAkdHBscHJvcHNbJ3ZlcnNpb24nXTsKCSRyb3ctPmFib3V0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRwbGFib3V0JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygncHJvbXB0X2Fib3V0JyksIGFycmF5KCd0ZW1wbGF0ZScgPT4gJHRwbCwgJ21vZGUnPT4nc2hvdycsICd0YWJ0bycgPT4gJHRhYnRvKSk7Cgkkcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCQoJaWYoICR0cGwgPT0gJGN1cnJlbnRfdGVtcGxhdGUgKQoJewoJCSRyb3ctPmRlZmF1bHQgPSAkdHJ1ZWltYWdlMTsKCX0KCWVsc2UKCXsKCQkkcm93LT5kZWZhdWx0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnc3dpdGNoZGVmYXVsdHRlbXBsYXRlJywgJHJldHVybmlkLCAkZmFsc2VpbWFnZTEsCgkJCQkgICAgICAgYXJyYXkoJ3RlbXBsYXRlJz0+JHRwbCwgJ3RhYnRvJyA9PiAkdGFidG8sJ3NlY3Rpb24nPT4kc2VjdGlvbikpOwoJfQoKCSRyb3ctPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLAoJCQkJICAgIGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAkdGhpcy0+TGFuZyAoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCQkJICAgIGFycmF5ICgndGVtcGxhdGUnID0+ICR0cGwsICdtb2RlJz0+J2VkaXQnLCAndGFidG8nID0+ICR0YWJ0bykpOwoJCgkkcm93LT5jb3B5bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwKCQkJCSAgICBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKS0+RGlzcGxheUltYWdlICgnaWNvbnMvc3lzdGVtL2NvcHkuZ2lmJywgJHRoaXMtPkxhbmcgKCdjb3B5JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCSAgICBhcnJheSAoJ3RlbXBsYXRlJyA9PiAkdHBsLCAnbW9kZSc9PidhZGQnLCAndGFidG8nID0+ICR0YWJ0bywgJ3NlY3Rpb24nID0+ICRzZWN0aW9uLCkpOwoJCglpZiggJHRwbCA9PSAkY3VycmVudF90ZW1wbGF0ZSApCgl7CgkJJHJvdy0+ZGVsZXRlbGluayA9ICcmbmJzcDsnOwoJfQoJZWxzZQoJewoJCSRyb3ctPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkb19kZWxldGV0ZW1wbGF0ZScsICRyZXR1cm5pZCwKCQkJCQkgIGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcgKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCQkJCSAgYXJyYXkgKCd0ZW1wbGF0ZScgPT4gJHRwbCwgJ3RhYnRvJz0+JHRhYnRvKSwgJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKSk7Cgl9CgoJJHJvdy0+ZXhwb3J0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZG9fZXhwb3J0dGVtcGxhdGUnLCAkcmV0dXJuaWQsCgkJCQkgICAgJzxpbWcgc3JjPSIuLi9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL3htbF9yc3MuZ2lmIiBhbHQ9IlhNTCIgLz4nLAoJCQkJICAgIGFycmF5KCd0ZW1wbGF0ZScgPT4gJHRwbCkpOwoKCWFycmF5X3B1c2ggKCRyb3dhcnJheSwgJHJvdyk7CgkoJHJvd2NsYXNzID09ICJyb3cxIiA/ICRyb3djbGFzcyA9ICJyb3cyIiA6ICRyb3djbGFzcyA9ICJyb3cxIik7Cn0KCmlmICghY291bnQoJHJvd2FycmF5KSkgewoJJHJvdyA9IG5ldyBTdGRDbGFzcygpOwoJJHJvdy0+bmFtZSA9ICJFcyBpc3Qga2VpbiBUZW1wbGF0ZSBpbiBkZXIgRGF0ZW5iYW5rIGdlc3BlaWNoZXJ0IjsKCSRyb3ctPmRlZmF1bHQgPSAiIjsKCSRyb3ctPmVkaXRsaW5rID0gIiI7Cgkkcm93LT5jb3B5bGluayA9ICIiOwoJJHJvdy0+ZGVsZXRlbGluayA9ICIiOwoJJHJvdy0+ZXhwb3J0ID0gIiI7CglhcnJheV9wdXNoICgkcm93YXJyYXksICRyb3cpOwp9Cgokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywgJHJvd2FycmF5ICk7Cgokc21hcnR5LT5hc3NpZ24oJ25ld3RlbXBsYXRlbGluaycsCgkgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwKCQkJICAgICBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICR0aGlzLT5MYW5nKCdwcm9tcHRfbmV3dGVtcGxhdGUnKSwnJywnJywnc3lzdGVtaWNvbicpLAoJCQkgICAgIGFycmF5KCdtb2RlJyA9PiAnYWRkJywgJ3RhYnRvJyA9PiAkdGFidG8sICdzZWN0aW9uJyA9PiAkc2VjdGlvbiwgJ2RlZmF1bHR0ZW1wbGF0ZXByZWYnID0+ICdkZWZhdWx0XycuJHNlY3Rpb24uJ19jb250ZW50cycpLCAnJywgZmFsc2UsIGZhbHNlLCAnJykuJyAnLgoKCSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLAoJCQkgICAgICR0aGlzLT5MYW5nKCdwcm9tcHRfbmV3dGVtcGxhdGUnKSwKCQkJICAgICBhcnJheSgnbW9kZScgPT4gJ2FkZCcsICd0YWJ0bycgPT4gJHRhYnRvLCAnc2VjdGlvbicgPT4gJHNlY3Rpb24sICdkZWZhdWx0dGVtcGxhdGVwcmVmJyA9PiAnZGVmYXVsdF8nLiRzZWN0aW9uLidfY29udGVudHMnKSkpOwoKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0aW1wb3J0JywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnZG9faW1wb3J0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZSkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmRpbXBvcnQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3RhYnRvJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGFidG8nLCR0YWJ0bykpOwokc21hcnR5LT5hc3NpZ24oJ2ltcG9ydHhtbCcsICR0aGlzLT5DcmVhdGVJbnB1dEZpbGUoICRpZCwgJ2ltcG9ydHhtbCcsICd0ZXh0L3htbCcsIDMwKSk7CiRzbWFydHktPmFzc2lnbignb3ZlcndyaXRlJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnb3ZlcndyaXRlJywgJzEnLCAnMScpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2ltcG9ydHN1Ym1pdGJ1dHRvbicsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwoKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fdHdpdHRlcmZlZWQudHBsJyk7Cgo=]]></data>
	</file>
	<file>
	  <filename>/functions/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/functions/tbfunctions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6CQlUb29sQm94ClRpdGxlOgkJRXh0ZW5kZWQgZnVuY3Rpb25zCkRlc2NyaXB0LjoJU21hcnR5LWZ1bmN0aW9ucyBmb3Igc29tZSB1c2VmdWwgZnVuY3Rpb25zCkxhc3QgTW9kLjoJMjAuMDEuMjAxMgpBdXRob3I6CQlMdWthcyBCbGF0dGVyCkVtYWlsOgkJbHVrYXMuYmxhdHRlckBibGF0dGVydGVjaC5jaApOb3RlczoKTGljZW5jZToJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKCQkJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKCQkJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKCQkJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KCQkJSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCgkJCWFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQoJCQlpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCgkJCU1hZGUgU2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgoJCQlzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgU2ltcGxlLgoJCQlGaW5kIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgQ01TIE1hZGUgU2ltcGxlIG9uIGl0cyB3ZWJzaXRlOgoJCQlodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnLwoJCQlUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKCQkJYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKCQkJTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQoJCQlHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgoJCQlZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQoJCQlhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQoJCQlGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQoJCQlPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCgpmdW5jdGlvbiBzbWFydHlfZnVuY3Rpb25fdGJJbWFnZSgkcGFyYW1zLCAmJHNtYXJ0eSkKewoJLy8gRG9rdW1lbnRhdGlvbiB2b24gUEhQSW1hZ2VXb3Jrc2hvcAoJLy8gaHR0cDovL3BocGltYWdld29ya3Nob3AuY29tL2RvY3VtZW50YXRpb24uaHRtbAoJCgl0cnkgewoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCQkKCQkvLyBUb29sQm94IE9iamVrdCBsYWRlbgoJCSRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1Rvb2xCb3gnKTsKCQkKCQkvLyBCaWxkIERhdGVuCgkJJGltYWdlPWlzc2V0KCRwYXJhbXNbJ2ltYWdlJ10pID8gJHBhcmFtc1snaW1hZ2UnXTpmYWxzZTsKCQlpZiAoIWltYWdlKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCJ0aGVyZSdzIG5vIGltYWdlIGRlZmluaWVkIiwgMCk7CgkJCgkJJGltYWdlID0gc3RyX3JlcGxhY2UoJGNvbmZpZ1sncm9vdF91cmwnXSwgJGNvbmZpZ1sncm9vdF9wYXRoJ10sICRpbWFnZSk7CgkJJGltYWdlID0gcmVhbHBhdGgoJGltYWdlKTsKCQkKCQlpZiAoIWZpbGVfZXhpc3RzKCRpbWFnZSkpCgkJCXRocm93IG5ldyBFeGNlcHRpb24oIkltYWdlIGRvZXMgbm90IGV4aXN0IC0gIiAuICRwYXJhbXNbJ2ltYWdlJ10sIDApOwoJCQkKCQkkaW1hZ2VwaSA9IHBhdGhpbmZvKCRpbWFnZSk7CgkJCgkJLy8gSWRlbnQgRGVmaW5pdGlvbiBoaW50ZXJsZWdlbgoJCSRpZGVudCA9IGFycmF5KCk7CgkJJGFsYmlkZW50ID0gYXJyYXkoKTsKCQkJCQoJCSRpZGVudFsnZnQnXSA9IGZpbGVtdGltZSgkaW1hZ2UpOwoJCWlmIChpc3NldCgkcGFyYW1zWydxdWFsaXR5J10pKSAkaWRlbnRbJ3EnXSA9IGludHZhbCgkcGFyYW1zWydxdWFsaXR5J10pOwoJCWlmIChpc3NldCgkcGFyYW1zWydwcm9wb3J0aW9uJ10pKSAkaWRlbnRbJ3BwJ10gPSAkcGFyYW1zWydwcm9wb3J0aW9uJ107CgkJaWYgKGlzc2V0KCRwYXJhbXNbJ3dpZHRoJ10pKSAkaWRlbnRbJ3cnXSA9ICRwYXJhbXNbJ3dpZHRoJ107CgkJaWYgKGlzc2V0KCRwYXJhbXNbJ2hlaWdodCddKSkgJGlkZW50WydoJ10gPSAkcGFyYW1zWydoZWlnaHQnXTsKCQlpZiAoaXNzZXQoJHBhcmFtc1sncG9zeCddKSkgJGlkZW50WydwWCddID0gJHBhcmFtc1sncG9zeCddOwoJCWlmIChpc3NldCgkcGFyYW1zWydwb3N5J10pKSAkaWRlbnRbJ3BZJ10gPSAkcGFyYW1zWydwb3N5J107CgkJaWYgKGlzc2V0KCRwYXJhbXNbJ3BvcyddKSkgJGlkZW50WydwJ10gPSAkcGFyYW1zWydwb3MnXTsKCQlpZiAoaXNzZXQoJHBhcmFtc1sncmVzaXplQnlOYXJyb3dTaWRlSW5QaXhlbCddKSkgJGlkZW50WydyYm5zaXBpJ10gPSAkcGFyYW1zWydyZXNpemVCeU5hcnJvd1NpZGVJblBpeGVsJ107CgkJaWYgKGlzc2V0KCRwYXJhbXNbJ3Jlc2l6ZUJ5TmFycm93U2lkZUluUGVyY2VudCddKSkgJGlkZW50WydyYm5zaXByJ10gPSAkcGFyYW1zWydyZXNpemVCeU5hcnJvd1NpZGVJblBlcmNlbnQnXTsKCQlpZiAoaXNzZXQoJHBhcmFtc1sncmVzaXplQnlMYXJnZXN0U2lkZUluUGl4ZWwnXSkpICRpZGVudFsncmJsc2lwaSddID0gJHBhcmFtc1sncmVzaXplQnlMYXJnZXN0U2lkZUluUGl4ZWwnXTsKCQlpZiAoaXNzZXQoJHBhcmFtc1sncmVzaXplQnlMYXJnZXN0U2lkZUluUGVyY2VudCddKSkgJGlkZW50WydyYmxzaXByJ10gPSAkcGFyYW1zWydyZXNpemVCeUxhcmdlc3RTaWRlSW5QZXJjZW50J107CgkJaWYgKGlzc2V0KCRwYXJhbXNbJ2ZpbHRlciddKSkgJGlkZW50WydmJ10gPSAkcGFyYW1zWydmaWx0ZXInXTsKCQlpZiAoaXNzZXQoJHBhcmFtc1snb3BhY2l0eSddKSkgJGlkZW50WydvJ10gPSAkcGFyYW1zWydvcGFjaXR5J107CgkJaWYgKGlzc2V0KCRwYXJhbXNbJ2ZsaXAnXSkpICRpZGVudFsnZmwnXSA9ICRwYXJhbXNbJ2ZsaXAnXTsKCQlpZiAoaXNzZXQoJHBhcmFtc1snd2F0ZXJtYXJrJ10pKSB7CgkJCSRpZGVudFsnd20nXSA9ICRwYXJhbXNbJ3dhdGVybWFyayddIC4iLSIgLiAkbW9kLT5HZXRQcmVmZXJlbmNlKCd3bWlfcmVsc2l6ZScpIC4iLSIgLiAkbW9kLT5HZXRQcmVmZXJlbmNlKCd3bWlfcG9zJykgLiItIiAuICRtb2QtPkdldFByZWZlcmVuY2UoJ3dtaV9wb3N4JykgLiItIiAuIG1kNSgkbW9kLT5HZXRQcmVmZXJlbmNlKCd3bWlfaW1hZ2UnKSx0cnVlKTsKCQkJJGFsYmlkZW50Wyd3bSddID0gJGlkZW50Wyd3bSddOwoJCX0gCgkJCgkJJGFsYmlkZW50WydmdCddID0gJGlkZW50WydmdCddOwoJCWlmIChpc3NldCgkcGFyYW1zWydhbGJyZXNpemVCeU5hcnJvd1NpZGVJblBpeGVsJ10pKSAkYWxiaWRlbnRbJ3JibnNpcGknXSA9ICRwYXJhbXNbJ2FsYnJlc2l6ZUJ5TmFycm93U2lkZUluUGl4ZWwnXTsKCQlpZiAoaXNzZXQoJHBhcmFtc1snYWxicmVzaXplQnlOYXJyb3dTaWRlSW5QZXJjZW50J10pKSAkYWxiaWRlbnRbJ3JibnNpcHInXSA9ICRwYXJhbXNbJ2FsYnJlc2l6ZUJ5TmFycm93U2lkZUluUGVyY2VudCddOwoJCWlmIChpc3NldCgkcGFyYW1zWydhbGJyZXNpemVCeUxhcmdlc3RTaWRlSW5QaXhlbCddKSkgJGFsYmlkZW50WydyYmxzaXBpJ10gPSAkcGFyYW1zWydhbGJyZXNpemVCeUxhcmdlc3RTaWRlSW5QaXhlbCddOwoJCWlmIChpc3NldCgkcGFyYW1zWydhbGJyZXNpemVCeUxhcmdlc3RTaWRlSW5QZXJjZW50J10pKSAkYWxiaWRlbnRbJ3JibHNpcHInXSA9ICRwYXJhbXNbJ2FsYnJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBlcmNlbnQnXTsKCQkKCQkvLyBBbGxmw6RsbGlnZSBUYWdzIGF1cyBkZW0gUGZhZCBlbnRmZXJuZW4KCQlpZiAocHJlZ19tYXRjaCgnIzwoLio/KXNyYz0iKC4qPykiKC4qPykvPiMnLCAkaW1hZ2UsICRtYXRjaGVzKSkgewoJCQkkaW1hZ2UgPSAgJG1hdGNoZXNbMl07CgkJfQoJCWlmICgoc3Vic3RyKCRwYXRoLCAwLDUpKT09Imh0dHBzIil7JEw9c3RybGVuKCRjb25maWdbJ3NzbF91cmwnXSk7JGltYWdlID0gc3Vic3RyX3JlcGxhY2UoJGltYWdlLCAnJywgMCwgJEwpO30KCQlpZiAoKHN1YnN0cigkcGF0aCwgMCw0KSk9PSJodHRwIil7JEw9c3RybGVuKCRjb25maWdbJ3Jvb3RfdXJsJ10pOyRpbWFnZSA9IHN1YnN0cl9yZXBsYWNlKCRpbWFnZSwgJycsIDAsICRMKTt9CgkJJG1hdGNoZXMgPSBhcnJheSgpOwoJCWlmIChwcmVnX21hdGNoKCcjW2h0dHB8aHR0cHNdOi8vKC4qPykvKC4qPykjJywgJGltYWdlLCAkbWF0Y2hlcykpIHsKCQkJJGltYWdlID0gICRtYXRjaGVzWzBdOwoJCX0KCQkKCQkvLyBnZXQgUHVyZSBDbGFzcwoJCSRuYWtlZENsYXNzID0gaXNzZXQoJHBhcmFtc1snYXNzaWduUEhQSW1hZ2VXb3Jrc2hvcENsYXNzJ10pID8gdHJ1ZSA6IGZhbHNlOwoJCQoJCS8vIFN0ZXVlcnVuZwoJCSRub2NhY2hlID0gaXNzZXQoJHBhcmFtc1snbm9fY2FjaGUnXSkgPyB0cnVlIDogZmFsc2U7CgkJJGFzc2lnbiA9IGlzc2V0KCRwYXJhbXNbJ2Fzc2lnbiddKSA/IHRyaW0oJHBhcmFtc1snYXNzaWduJ10pOicnOwoJCQoJCS8vIHdlaXRlcmUgRGF0ZW4KCQkkaW1hZ2VkZXN0PWlzc2V0KCRwYXJhbXNbJyRpbWFnZWRlc3QnXSkgPyAkcGFyYW1zWyckaW1hZ2VkZXN0J10gOiB0YlV0aWxzOjp0cnVlcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXS4iL0F1dG9MaWdodEJveC8iLnN0cl9yZXBsYWNlKCRjb25maWdbJ3Jvb3RfcGF0aCddLCAiIiwgZGlybmFtZSgkaW1hZ2UpKSk7CgkJJHF1YWxpdHkgPSBpc3NldCgkcGFyYW1zWydxdWFsaXR5J10pID8gaW50dmFsKCRwYXJhbXNbJ3F1YWxpdHknXSkgIDogODU7CgkJJHByb3BvcnRpb24gPSBpc3NldCgkcGFyYW1zWydwcm9wb3J0aW9uJ10pID8gJHBhcmFtc1sncHJvcG9ydGlvbiddIDogdHJ1ZTsKCQkKCQkvLyBHcsO2c3NlCgkJJHdpZHRoID0gaXNzZXQoJHBhcmFtc1snd2lkdGgnXSkgPyAkcGFyYW1zWyd3aWR0aCddIDogbnVsbDsKCQkkaGVpZ2h0ID0gaXNzZXQoJHBhcmFtc1snaGVpZ2h0J10pID8gJHBhcmFtc1snaGVpZ2h0J10gOiBudWxsOwoJCSRwb3NYID0gaXNzZXQoJHBhcmFtc1sncG9zeCddKSA/ICRwYXJhbXNbJ3Bvc3gnXSA6IDA7CgkJJHBvc1kgPSBpc3NldCgkcGFyYW1zWydwb3N5J10pID8gJHBhcmFtc1sncG9zeSddIDogMDsKCQkkcG9zID0gaXNzZXQoJHBhcmFtc1sncG9zJ10pID8gc3RydG91cHBlcigkcGFyYW1zWydwb3MnXSkgOiAnTU0nOwoJCSRyZXNpemVCeU5hcnJvd1NpZGVJblBpeGVsID0gaXNzZXQoJHBhcmFtc1sncmVzaXplQnlOYXJyb3dTaWRlSW5QaXhlbCddKSA/ICRwYXJhbXNbJ3Jlc2l6ZUJ5TmFycm93U2lkZUluUGl4ZWwnXSA6IGZhbHNlOwoJCSRyZXNpemVCeU5hcnJvd1NpZGVJblBlcmNlbnQgPSBpc3NldCgkcGFyYW1zWydyZXNpemVCeU5hcnJvd1NpZGVJblBlcmNlbnQnXSkgPyAkcGFyYW1zWydyZXNpemVCeU5hcnJvd1NpZGVJblBlcmNlbnQnXSA6IGZhbHNlOwoJCSRyZXNpemVCeUxhcmdlc3RTaWRlSW5QaXhlbCA9IGlzc2V0KCRwYXJhbXNbJ3Jlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBpeGVsJ10pID8gJHBhcmFtc1sncmVzaXplQnlMYXJnZXN0U2lkZUluUGl4ZWwnXSA6IGZhbHNlOwoJCSRyZXNpemVCeUxhcmdlc3RTaWRlSW5QZXJjZW50ID0gaXNzZXQoJHBhcmFtc1sncmVzaXplQnlMYXJnZXN0U2lkZUluUGVyY2VudCddKSA/ICRwYXJhbXNbJ3Jlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBlcmNlbnQnXSA6IGZhbHNlOwoJCSRmaWx0ZXIgPSBpc3NldCgkcGFyYW1zWydmaWx0ZXInXSkgPyBleHBsb2RlKCJ8IiwgJHBhcmFtc1snZmlsdGVyJ10pIDogZmFsc2U7CgkJJG9wYWNpdHkgPSBpc3NldCgkcGFyYW1zWydvcGFjaXR5J10pID8gaW50dmFsKCRwYXJhbXNbJ29wYWNpdHknXSkgOiBmYWxzZTsKCQkkZmxpcCA9IGlzc2V0KCRwYXJhbXNbJ2ZsaXAnXSkgPyAkcGFyYW1zWydmbGlwJ10gOiBmYWxzZTsKCQkkd2F0ZXJtYXJrID0gaXNzZXQoJHBhcmFtc1snd2F0ZXJtYXJrJ10pID8gJHBhcmFtc1snd2F0ZXJtYXJrJ10gOiBmYWxzZTsKCQkkYWxicmVzaXplQnlOYXJyb3dTaWRlSW5QaXhlbCA9IGlzc2V0KCRwYXJhbXNbJ2FsYnJlc2l6ZUJ5TmFycm93U2lkZUluUGl4ZWwnXSkgPyAkcGFyYW1zWydhbGJyZXNpemVCeU5hcnJvd1NpZGVJblBpeGVsJ10gOiBmYWxzZTsKCQkkYWxicmVzaXplQnlOYXJyb3dTaWRlSW5QZXJjZW50ID0gaXNzZXQoJHBhcmFtc1snYWxicmVzaXplQnlOYXJyb3dTaWRlSW5QZXJjZW50J10pID8gJHBhcmFtc1snYWxicmVzaXplQnlOYXJyb3dTaWRlSW5QZXJjZW50J10gOiBmYWxzZTsKCQkkYWxicmVzaXplQnlMYXJnZXN0U2lkZUluUGl4ZWwgPSBpc3NldCgkcGFyYW1zWydhbGJyZXNpemVCeUxhcmdlc3RTaWRlSW5QaXhlbCddKSA/ICRwYXJhbXNbJ2FsYnJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBpeGVsJ10gOiBmYWxzZTsKCQkkYWxicmVzaXplQnlMYXJnZXN0U2lkZUluUGVyY2VudCA9IGlzc2V0KCRwYXJhbXNbJ2FsYnJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBlcmNlbnQnXSkgPyAkcGFyYW1zWydhbGJyZXNpemVCeUxhcmdlc3RTaWRlSW5QZXJjZW50J10gOiBmYWxzZTsKCQkKCQkvLyBLb250cm9sbGUgV2VydGUgJHBvcwoJCSR2YWxpZFBhcmFtcyA9ICcgTFQgTVQgUlQgTE0gTU0gUk0gTEIgTUIgUk0gJzsKCQlpZiAoc3RycG9zKCR2YWxpZFBhcmFtcywgJyAnLiRwb3MuJyAnKSAhPT0gZmFsc2UpICRwb3MgPSAnTU0nOwoJCQoJCS8vIEFsbGdlbWVpbgoJCSRub1RhZyA9IGlzc2V0KCRwYXJhbXNbJ25vX3RhZyddKSA/ICRwYXJhbXNbJ25vX3RhZyddIDogZmFsc2U7CgkJJG5vT3V0cHV0ID0gaXNzZXQoJHBhcmFtc1snbm9fb3V0cHV0J10pID8gJHBhcmFtc1snbm9fb3V0cHV0J106ZmFsc2U7CgkJJGRlYnVnID0gaXNzZXQoJHBhcmFtc1snZGVidWcnXSkgPyAkcGFyYW1zWydkZWJ1ZyddOmZhbHNlOwoJCSRhbGIgPSBpc3NldCgkcGFyYW1zWydhdXRvbGlnaHRib3gnXSkgPyAkcGFyYW1zWydhdXRvbGlnaHRib3gnXTpmYWxzZTsKCgkJLy8gU3R5bGVzCgkJJGNsYXNzID0gaXNzZXQoJHBhcmFtc1snY2xhc3MnXSkgPyAnIGNsYXNzPSInLiRwYXJhbXNbJ2NsYXNzJ10uJyIgJzonJzsKCQkkYWx0ID0gaXNzZXQoJHBhcmFtc1snYWx0J10pID8gJyBhbHQ9IicuJHBhcmFtc1snYWx0J10uJyIgJzonYWx0PSIiJzsKCQkkaWQgPSBpc3NldCgkcGFyYW1zWydpZCddKSA/ICcgaWQ9IicuJHBhcmFtc1snaWQnXS4nIiAnOicnOwoJCSR0aXRsZSA9IGlzc2V0KCRwYXJhbXNbJ3RpdGxlJ10pID8gJyB0aXRsZT0iJy4kcGFyYW1zWyd0aXRsZSddLiciICc6Jyc7CgkJJHN0eWxlID0gaXNzZXQoJHBhcmFtc1snc3R5bGUnXSkgPyAnIHN0eWxlPSInLiRwYXJhbXNbJ3N0eWxlJ10uJyIgJzonJzsKCQkKCQlpZiAoJG5ha2VkQ2xhc3MgYW5kICRhc3NpZ24pIHsKCQkJJGxheWVyID0gbmV3IEltYWdlV29ya3Nob3AoYXJyYXkoJ2ltYWdlRnJvbVBhdGgnID0+ICRpbWFnZSkpOwoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSwkbGF5ZXIpOwoJCQlyZXR1cm47CgkJfQkKCQkKCQkkbmV3ZmlsZW5hbWUgPSAkaW1hZ2VwaVsnZmlsZW5hbWUnXS4iXyIudGJVdGlsczo6X2Jhc2U2NHVybF9lbmNvZGUoJGlkZW50KS4iLiIuJGltYWdlcGlbJ2V4dGVuc2lvbiddOwkKCQkkbmV3YWxiZmlsZW5hbWUgPSAkaW1hZ2VwaVsnZmlsZW5hbWUnXS4iXyIudGJVdGlsczo6X2Jhc2U2NHVybF9lbmNvZGUoJGFsYmlkZW50KS4iLiIuJGltYWdlcGlbJ2V4dGVuc2lvbiddOwkKCQkvLyBEYXRlaSBudXIgdmVya2xlaW5lcm4sIHdlbm4gZGllIERhdGVpIG5vY2ggbmljaHQgaW0gQ2FjaGUgZXhpc3RpZXJ0CgkJaWYgKCFpc19maWxlKHRiVXRpbHM6OnRydWVwYXRoKCRpbWFnZWRlc3QuJy8nLiRuZXdmaWxlbmFtZSkpIG9yICRub2NhY2hlKSB7CgkJCgkJCSRsYXllciA9IG5ldyBJbWFnZVdvcmtzaG9wKGFycmF5KCdpbWFnZUZyb21QYXRoJyA9PiAkaW1hZ2UpKTsKCgkJCS8vIEZpbHRlcgoJCQlpZiAoaXNfYXJyYXkoJGZpbHRlcikpIHsKCQkJCSRyZWN1cnNpdmUgPSBmYWxzZTsKCQkJCSRsYXllci0+YXBwbHlGaWx0ZXIoY29uc3RhbnQoJGZpbHRlclswXSksIGlzc2V0KCRmaWx0ZXJbMV0pID8gY29uc3RhbnQoJGZpbHRlclsxXSkgOiBudWxsLCBpc3NldCgkZmlsdGVyWzJdKSA/IGNvbnN0YW50KCRmaWx0ZXJbMl0pIDogbnVsbCwgaXNzZXQoJGZpbHRlclszXSkgPyBjb25zdGFudCgkZmlsdGVyWzNdKSA6IG51bGwsIGlzc2V0KCRmaWx0ZXJbNF0pID8gY29uc3RhbnQoJGZpbHRlcls0XSkgOiBudWxsLCAkcmVjdXJzaXZlKTsKCQkJfQkKCQkJCQoJCQlpZiAoJG9wYWNpdHkpCSRsYXllci0+b3BhY2l0eShvcGFjaXR5KTsKCQkJaWYgKCRmbGlwKSAJCSRsYXllci0+ZmxpcCgkZmxpcCk7CgkJCQkKCQkJLy8gV2F0ZXJtYXJrCgkJCWlmICgkd2F0ZXJtYXJrID09ICJ0ZXh0IikgewoJCQkJLy9lY2hvICRtb2QtPkdldFByZWZlcmVuY2UoJ3dtdF9mb250JykuIjxiciAvPiI7CgkJCQkkdGV4dExheWVyID0gbmV3IEltYWdlV29ya3Nob3AoCgkJCQkJYXJyYXkoCgkJCQkJCSJ0ZXh0IiA9PiAkbW9kLT5HZXRQcmVmZXJlbmNlKCd3bXRfdGV4dCcpLAoJCQkJCQkiZm9udFBhdGgiID0+ICRtb2QtPkdldFByZWZlcmVuY2UoJ3dtdF9mb250JyksCgkJCQkJCSJmb250U2l6ZSIgPT4gJG1vZC0+R2V0UHJlZmVyZW5jZSgnd210X3NpemUnKSwKCQkJCQkJImZvbnRDb2xvciIgPT4gJG1vZC0+R2V0UHJlZmVyZW5jZSgnd210X2NvbG9yJyksCgkJCQkJCSJiYWNrZ3JvdW5kQ29sb3IiID0+IG51bGwsCgkJCQkJCSJ0ZXh0Um90YXRpb24iID0+IDAKCQkJCQkpCgkJCQkpOwoJCQkJCgkJCQkkbGF5ZXItPmFkZExheWVyT25Ub3AoJHRleHRMYXllciwkbW9kLT5HZXRQcmVmZXJlbmNlKCd3bXRfcG9zeCcpLCAkbW9kLT5HZXRQcmVmZXJlbmNlKCd3bXRfcG9zeScpLCAiTEIiKTsKLy8JCQkJJGxheWVyLT5hZGRMYXllcigxLCAkdGV4dExheWVyLCAxNCwgMTQsICJSQiIpOwovLwkJCQkkbGF5ZXItPmFkZExheWVyT25Ub3AoJHRleHRMYXllciwxNCwgMTQsICJMQiIpOwoJCQkJCgkJCX0JCgkJCWVsc2UgaWYgKCR3YXRlcm1hcmsgPT0gImltYWdlIikgewoJCQkJaWYgKCFpc19maWxlKCRtb2QtPkdldFByZWZlcmVuY2UoJ3dtaV9pbWFnZScpKSkgCgkJCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbigiV2F0ZXJtYXJrIEZpbGUgJyIgLiAkbW9kLT5HZXRQcmVmZXJlbmNlKCd3bWlfaW1hZ2UnKSAuICInIGRvZXMgbm90IGV4aXN0IiwgMCk7CgkJCQkkbG9nbyA9IG5ldyBJbWFnZVdvcmtzaG9wKGFycmF5KCdpbWFnZUZyb21QYXRoJyA9PiAkbW9kLT5HZXRQcmVmZXJlbmNlKCd3bWlfaW1hZ2UnKSkpOwoJCQkJCgkJCQlpZiAoJG1vZC0+R2V0UHJlZmVyZW5jZSgnd21pX3JlbHNpemUnKSkgewoJCQkJCSRuZXdzaXpld21pID0gJGxheWVyLT5nZXRXaWR0aCgpIC8gMTAwICogJG1vZC0+R2V0UHJlZmVyZW5jZSgnd21pX3JlbHNpemUnKTsKCQkJCQlpZiAoJGxvZ28tPmdldFdpZHRoKCkgPCAkbmV3c2l6ZXdtaSkgJG5ld3NpemV3bWkgPSAkbG9nby0+Z2V0V2lkdGgoKTsKCQkJCQkkbG9nby0+IHJlc2l6ZUluUGl4ZWwoJG5ld3NpemV3bWksbnVsbCx0cnVlKTsKCQkJCX0KCQkJCSRsYXllci0+YWRkTGF5ZXJPblRvcCgkbG9nbywgJG1vZC0+R2V0UHJlZmVyZW5jZSgnd21pX3Bvc3gnKSwgJG1vZC0+R2V0UHJlZmVyZW5jZSgnd21pX3Bvc3knKSwgJG1vZC0+R2V0UHJlZmVyZW5jZSgnd21pX3BvcycpKTsJCgkJCX0KCQkJCgkJCS8vIEdyw7Zzc2Ugw6RuZGVybgoJCQlpZiAoJHJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBlcmNlbnQpCgkJCQkkbGF5ZXItPnJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBlcmNlbnQoJHJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBlcmNlbnQsJHByb3BvcnRpb24pOwoJCQllbHNlIGlmICgkcmVzaXplQnlMYXJnZXN0U2lkZUluUGl4ZWwpCgkJCQkkbGF5ZXItPnJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBpeGVsKCRyZXNpemVCeUxhcmdlc3RTaWRlSW5QaXhlbCwkcHJvcG9ydGlvbik7CgkJCWVsc2UgaWYgKCRyZXNpemVCeU5hcnJvd1NpZGVJblBlcmNlbnQpCgkJCQkkbGF5ZXItPnJlc2l6ZUJ5TmFycm93U2lkZUluUGVyY2VudCgkcmVzaXplQnlOYXJyb3dTaWRlSW5QZXJjZW50LCRwcm9wb3J0aW9uKTsKCQkJZWxzZSBpZiAoJHJlc2l6ZUJ5TmFycm93U2lkZUluUGl4ZWwpCgkJCQkkbGF5ZXItPnJlc2l6ZUJ5TmFycm93U2lkZUluUGl4ZWwoJHJlc2l6ZUJ5TmFycm93U2lkZUluUGl4ZWwsJHByb3BvcnRpb24pOwoJCQllbHNlIGlmICgkd2lkdGggb3IgJGhlaWdodCkKCQkJCSRsYXllci0+cmVzaXplSW5QaXhlbCgkd2lkdGgsICRoZWlnaHQsICRwcm9wb3J0aW9uLCAkcG9zWCwgJHBvc1ksICRwb3MpOyAvLyAkcG9zaXRpb25YLCAkcG9zaXRpb25ZICYgJHBvc2l0aW9uIHdpbGwgaGF2ZSBhbiBpbXBhY3Qgb24gdGhlIGxheWVyIHBvc2l0aW9uIGluIHRoZSBuZXcgYm94IG9mIDMwMHB4LzMwMHB4ICh0cnkgYW5vdGhlciBvbmUgISkKCQkJCQoJCQkJCgkJCQkKCQkJaWYgKGlzc2V0KCRwYXJhbXNbJ2ltYWdlZGVzdCddKSkgewoJCQkJJGxheWVyLT5zYXZlKGRpcm5hbWUoJGltYWdlZGVzdCksICRuZXdmaWxlbmFtZSwgdHJ1ZSwgIiIsICRxdWFsaXR5KTsKCQkJfQoJCQllbHNlIHsKCQkJCSRsYXllci0+c2F2ZSgkaW1hZ2VkZXN0LCAkbmV3ZmlsZW5hbWUsIHRydWUsICIiLCAkcXVhbGl0eSk7CgkJCX0KCQl9CQoKCQkkb3V0cHV0ZmlsZSA9IHN0cl9yZXBsYWNlKCIvLyIsIi8iLHN0cl9yZXBsYWNlKCJcXCIsIi8iLHN0cl9yZXBsYWNlKCRjb25maWdbJ3Jvb3RfcGF0aCddLCAiIiwgJGltYWdlZGVzdC4iLyIuJG5ld2ZpbGVuYW1lKSkpOwoJCQoJCWlmICghZmlsZV9leGlzdHMocmVhbHBhdGgoJGltYWdlZGVzdC4nLycuJG5ld2ZpbGVuYW1lKSkpCgkJCXRocm93IG5ldyBFeGNlcHRpb24oIk91dHB1dGZpbGUgIiAuIHJlYWxwYXRoKCRpbWFnZWRlc3QuJy8nLiRuZXdmaWxlbmFtZSkgLiAiIGRvZXMgbm90IGV4aXN0IiwgMCk7CgkJCgkJaWYgKCRub091dHB1dCkgewoJCQlpZiAoJGFzc2lnbikgJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJG91dHB1dGZpbGUpOwoJCQlyZXR1cm47CgkJfQkKCQllbHNlIGlmICgkbm9UYWcpIHsKCQkJaWYgKCRhc3NpZ24pICRzbWFydHktPmFzc2lnbigkYXNzaWduLCRvdXRwdXRmaWxlKTsKCQkJcmV0dXJuIHN0cl9yZXBsYWNlKCRjb25maWdbJ3Jvb3RfcGF0aCddLCAiIiwgJGltYWdlZGVzdC4iLyIuJG5ld2ZpbGVuYW1lKTsKCQl9IAoJCWVsc2UgaWYgKCRhc3NpZ24pIHsKCQkJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJG91dHB1dGZpbGUpOwoJCQlyZXR1cm47CgkJfQoJCQoJCSRpbWFnZXRhZyA9ICc8aW1nIHNyYz0iJy4kY29uZmlnWydyb290X3VybCddLiRvdXRwdXRmaWxlLiciICc7CgkJCgkJaWYgKCRjbGFzcykgJGltYWdldGFnIC49ICRjbGFzczsgCgkJaWYgKCRpZCkgJGltYWdldGFnIC49ICRpZDsgCgkJaWYgKCRzdHlsZSkgJGltYWdldGFnIC49ICRzdHlsZTsgCgkJaWYgKCR0aXRsZSkgJGltYWdldGFnIC49ICR0aXRsZTsgCgkJaWYgKCRhbHQpICRpbWFnZXRhZyAuPSAkYWx0OyAKCQkkaW1hZ2V0YWcgLj0gIi8+IjsKCQkKCQkKCQlpZiAoJGFsYikgewoJCQkKCQkJaWYgKCR3YXRlcm1hcmsgb3IgJGFsYnJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBlcmNlbnQgb3IgJGFsYnJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBpeGVsIG9yICRhbGJyZXNpemVCeU5hcnJvd1NpZGVJblBlcmNlbnQgb3IgJGFsYnJlc2l6ZUJ5TmFycm93U2lkZUluUGl4ZWwpIHsKCQkJCQoJCQkJaWYgKCFpc19maWxlKHRiVXRpbHM6OnRydWVwYXRoKCRpbWFnZWRlc3QuJy8nLiRuZXdhbGJmaWxlbmFtZSkpIG9yICRub2NhY2hlKSB7CgkJCQkKCQkJCQkkYWxibGF5ZXIgPSBuZXcgSW1hZ2VXb3Jrc2hvcChhcnJheSgnaW1hZ2VGcm9tUGF0aCcgPT4gJGltYWdlKSk7CgkJCQkKCQkJCQlpZiAoJHdhdGVybWFyayA9PSAiaW1hZ2UiKSB7CgkJCQkJCSRsb2dvMiA9IG5ldyBJbWFnZVdvcmtzaG9wKGFycmF5KCdpbWFnZUZyb21QYXRoJyA9PiAkbW9kLT5HZXRQcmVmZXJlbmNlKCd3bWlfaW1hZ2UnKSkpOwoJCQkJCQkKCQkJCQkJaWYgKCRtb2QtPkdldFByZWZlcmVuY2UoJ3dtaV9yZWxzaXplJykpIHsKCQkJCQkJCSRuZXdzaXpld21pID0gJGFsYmxheWVyLT5nZXRXaWR0aCgpIC8gMTAwICogJG1vZC0+R2V0UHJlZmVyZW5jZSgnd21pX3JlbHNpemUnKTsKCQkJCQkJCWlmICgkbG9nbzItPmdldFdpZHRoKCkgPCAkbmV3c2l6ZXdtaSkgJG5ld3NpemV3bWkgPSAkbG9nbzItPmdldFdpZHRoKCk7CgkJCQkJCQkkbG9nbzItPiByZXNpemVJblBpeGVsKCRuZXdzaXpld21pLG51bGwsdHJ1ZSk7CgkJCQkJCX0KCQkJCQkJJGFsYmxheWVyLT5hZGRMYXllck9uVG9wKCRsb2dvMiwgJG1vZC0+R2V0UHJlZmVyZW5jZSgnd21pX3Bvc3gnKSwgJG1vZC0+R2V0UHJlZmVyZW5jZSgnd21pX3Bvc3knKSwgJG1vZC0+R2V0UHJlZmVyZW5jZSgnd21pX3BvcycpKTsJCgkJCQkJfQoJCQkJCWlmICgkYWxicmVzaXplQnlMYXJnZXN0U2lkZUluUGVyY2VudCkKCQkJCQkJJGFsYmxheWVyLT5yZXNpemVCeUxhcmdlc3RTaWRlSW5QZXJjZW50KCRhbGJyZXNpemVCeUxhcmdlc3RTaWRlSW5QZXJjZW50LCRwcm9wb3J0aW9uKTsKCQkJCQllbHNlIGlmICgkYWxicmVzaXplQnlMYXJnZXN0U2lkZUluUGl4ZWwpCgkJCQkJCSRhbGJsYXllci0+cmVzaXplQnlMYXJnZXN0U2lkZUluUGl4ZWwoJGFsYnJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBpeGVsLCRwcm9wb3J0aW9uKTsKCQkJCQllbHNlIGlmICgkYWxicmVzaXplQnlOYXJyb3dTaWRlSW5QZXJjZW50KQoJCQkJCQkkYWxibGF5ZXItPnJlc2l6ZUJ5TmFycm93U2lkZUluUGVyY2VudCgkYWxicmVzaXplQnlOYXJyb3dTaWRlSW5QZXJjZW50LCRwcm9wb3J0aW9uKTsKCQkJCQllbHNlIGlmICgkYWxicmVzaXplQnlOYXJyb3dTaWRlSW5QaXhlbCkKCQkJCQkJJGFsYmxheWVyLT5yZXNpemVCeU5hcnJvd1NpZGVJblBpeGVsKCRhbGJyZXNpemVCeU5hcnJvd1NpZGVJblBpeGVsLCRwcm9wb3J0aW9uKTsKCQkJCQkKCQkJCQlpZiAoaXNzZXQoJHBhcmFtc1snaW1hZ2VkZXN0J10pKSB7CgkJCQkJCSRhbGJsYXllci0+c2F2ZShkaXJuYW1lKHRiVXRpbHM6OnRydWVwYXRoKCRpbWFnZWRlc3QpKSwgJG5ld2FsYmZpbGVuYW1lLCB0cnVlLCAiIiwgJHF1YWxpdHkpOwoJCQkJCX0KCQkJCQllbHNlIHsKCQkJCQkJJGFsYmxheWVyLT5zYXZlKCRpbWFnZWRlc3QsICRuZXdhbGJmaWxlbmFtZSwgdHJ1ZSwgIiIsICRxdWFsaXR5KTsKCQkJCQl9CgkJCQl9CgkJCQkkYWxib3V0cHV0ZmlsZSA9IHN0cl9yZXBsYWNlKCIvLyIsIi8iLHN0cl9yZXBsYWNlKCJcXCIsIi8iLHN0cl9yZXBsYWNlKCRjb25maWdbJ3Jvb3RfcGF0aCddLCAiIiwgJGltYWdlZGVzdC4iLyIuJG5ld2FsYmZpbGVuYW1lKSkpOwoJCgkJCQlpZiAoIWZpbGVfZXhpc3RzKHRiVXRpbHM6OnRydWVwYXRoKCRpbWFnZWRlc3QuJy8nLiRuZXdhbGJmaWxlbmFtZSkpKQoJCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbigiQXV0b0xpZ2h0Qm94IE91dHB1dGZpbGUgIiAuIHRiVXRpbHM6OnRydWVwYXRoKCRpbWFnZWRlc3QuJy8nLiRuZXdhbGJmaWxlbmFtZSkgLiAiIGRvZXMgbm90IGV4aXN0IiwgMCk7CgkJCQkKCQkJfQoJCQllbHNlCQkKCQkJCSRhbGJvdXRwdXRmaWxlID0gJHBhcmFtc1snaW1hZ2UnXTsKCQkJCgkJCSRpbWFnZXRhZyA9ICc8YSBocmVmPSInLiRjb25maWdbJ3Jvb3RfdXJsJ10uJGFsYm91dHB1dGZpbGUuJyIgY2xhc3M9ImF1dG9saWdodGJveCI+Jy4kaW1hZ2V0YWcuJzwvYT4nOwoJCX0gCgkJCgkJcmV0dXJuICRpbWFnZXRhZzsJCQoJCQoJfQoJY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgewoJCWlmICgkZGVidWcpCWVjaG8gIlxuIi4nPHAgc3R5bGU9ImNvbG9yOiByZWQ7Ij50YkltYWdlIEVycm9yOiAnIC4gJGUtPmdldE1lc3NhZ2UoKSAuICc8L3A+Jy4iXG4iOwoJCXJldHVybjsKCX0KCQoJCgkKfQoKCgoKLyoqCiAqIAogKiBTZXR6dCBlaW5lIFNlc3Npb252YXJpYWJsZQogKiBAcGFyYW0gJHBhcmFtc1snbmFtZSddIAogKiBAcGFyYW0gJHBhcmFtc1sndmFsdWUnXSAKICovCmZ1bmN0aW9uIHNtYXJ0eV9mdW5jdGlvbl90YlNlc3Npb25TZXQoJHBhcmFtcywmJHNtYXJ0eSkKewoJaWYoIGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkgJiYgaXNzZXQoJHBhcmFtc1sndmFsdWUnXSkgKSB7CgkJJG5hbWUgPSB0cmltKCRwYXJhbXNbJ25hbWUnXSk7CgkJaWYoIGlzX3N0cmluZygkbmFtZSkgKSB7ICRfU0VTU0lPTlskbmFtZV0gPSAkcGFyYW1zWyd2YWx1ZSddOyB9Cgl9Cn0KCi8qKgogKiAKICogTMO2c2NodCBlaW5lIFNlc3Npb252YXJpYWJsZQogKiBAcGFyYW0gJHBhcmFtc1snbmFtZSddIAogKiBAcGFyYW0gJHBhcmFtc1sndmFsdWUnXSAKICovCmZ1bmN0aW9uIHNtYXJ0eV9mdW5jdGlvbl90YlNlc3Npb25VbnNldCgkcGFyYW1zLCYkc21hcnR5KQp7CglpZiggaXNzZXQoJHBhcmFtc1snbmFtZSddKSkgewoJCSRuYW1lID0gdHJpbSgkcGFyYW1zWyduYW1lJ10pOwoJCWlmKCBpc19zdHJpbmcoJG5hbWUpICYmIGlzc2V0KCRfU0VTU0lPTlskbmFtZV0pICkgeyB1bnNldCgkX1NFU1NJT05bJG5hbWVdKTsgfQoJfQp9CgoKLyoqCiAqIAogKiBHaWJ0IGRpZSBTZWl0ZW4gSGllcmFyY2hpZSB6dXLDvGNrCiAqIEBwYXJhbSAkYXNzaWduCiAqIEBwYXJhbSAkZGVsaW1pdGVyCiAqIEBwYXJhbSAkb3V0cHV0CiAqLwpmdW5jdGlvbiBzbWFydHlfZnVuY3Rpb25fdGJHZXRQYWdlSGllcmFyY2h5KCRwYXJhbXMsJiRzbWFydHkpCnsKCSRhc3NpZ24JCT0gaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pIAkJPyAkcGFyYW1zWydhc3NpZ24nXQkJOiAiIjsKCSRkZWxpbWl0ZXIJPSBpc3NldCgkcGFyYW1zWydkZWxpbWl0ZXInXSkJPyAkcGFyYW1zWydkZWxpbWl0ZXInXQk6ICJ8IjsKCSRvdXRwdXQJCT0gaXNzZXQoJHBhcmFtc1snb3V0cHV0J10pCQk/ICRwYXJhbXNbJ291dHB1dCddCTogIiI7CgkKCSRnQ21zID0gY21zbXMoKTsKCSR0cmVlID0gJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKCSRsaXN0ID0gJHRyZWUtPmdldEZsYXRMaXN0KCk7CgkKCSRhbGxjb250ZW50PSBhcnJheSgpOwoJZm9yZWFjaCggJGxpc3QgYXMgJiRvbmUgKQoJewoJCSR0bXAgPSAkb25lLT5HZXRDb250ZW50KGZhbHNlLHRydWUsdHJ1ZSk7CgkJaWYoIGlzX29iamVjdCgkdG1wKSApICRhbGxjb250ZW50W10gPSAkdG1wOwoJfQoJCgkKCWlmICgkYWxsY29udGVudCAhPT0gRkFMU0UgJiYgY291bnQoJGFsbGNvbnRlbnQpID4gMCkgCgl7CgkJJHBhZ2VzID0gYXJyYXkoKTsKCQoJCWZvcmVhY2ggKCRhbGxjb250ZW50IGFzICRjb250ZW50KSAKCQl7CgkJCSRwYWdlc1skY29udGVudC0+SWQoKV0gPSAkY29udGVudC0+SGllcmFyY2h5KCkgLicuIC0gJy4kY29udGVudC0+TWVudVRleHQoKTsKCQl9Cgl9CgkKCWlmIChpc3NldCgkb3V0cHV0KSBhbmQgJG91dHB1dCA9PSAiaWQiKSB7CgkJaWYoIWVtcHR5KCRhc3NpZ24pKQoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSwkZGVsaW1pdGVyLmltcGxvZGUoJGRlbGltaXRlciwgYXJyYXlfa2V5cygkcGFnZXMpKSk7CgkJZWxzZQkKCQkJcmV0dXJuICRkZWxpbWl0ZXIuaW1wbG9kZSgkZGVsaW1pdGVyLCBhcnJheV9rZXlzKCRwYWdlcykpOwoJfQoJZWxzZSB7CgkJaWYoIWVtcHR5KCRhc3NpZ24pKQoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSwia2VpbmUgLyBPaG5lIFZvcmdhYmV8Ii5pbXBsb2RlKCRkZWxpbWl0ZXIsICRwYWdlcykpOwoJCWVsc2UKCQkJcmV0dXJuICJrZWluZSAvIE9obmUgVm9yZ2FiZXwiLmltcGxvZGUoInwiLCAkcGFnZXMpOwoJfQp9CgkKLyoqCiAqIAogKiBHaWJ0IGRpZSBOZXdzIEthdGVnb3JpZW4genVyw7xjawogKiBAcGFyYW0gJGFzc2lnbgogKiBAcGFyYW0gJGRlbGltaXRlcgogKiBAcGFyYW0gJG91dHB1dAogKi8KZnVuY3Rpb24gc21hcnR5X2Z1bmN0aW9uX3RiR2V0TmV3c0NhdGVnb3JpZXMoJHBhcmFtcywmJHNtYXJ0eSkKewoJJGFzc2lnbgkJPSBpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkgCQk/ICRwYXJhbXNbJ2Fzc2lnbiddCQk6ICIiOwoJJGRlbGltaXRlcgk9IGlzc2V0KCRwYXJhbXNbJ2RlbGltaXRlciddKQk/ICRwYXJhbXNbJ2RlbGltaXRlciddCTogInwiOwoJJG91dHB1dCAJPSBpc3NldCgkcGFyYW1zWydvdXRwdXQnXSkgCQk/ICRwYXJhbXNbJ291dHB1dCddCQk6ICIiOwoJCgkkZ0NtcyA9IGNtc21zKCk7CgkkZGIgPSAkZ0Ntcy0+R2V0RGIoKTsKCgkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX25ld3NfY2F0ZWdvcmllcyBPUkRFUiBCWSBoaWVyYXJjaHkiOwoJJGRicmVzdWx0ID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoJaWYoICRkYnJlc3VsdCApICRjYXRlZ29yaWVzID0gJGRicmVzdWx0OwoJICAKCSRjYXRlZ29yeWxpc3QgPSBhcnJheSgpOwoJZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGNhdGVnb3JpZXMpOyAkaSsrICkgIHsKCSAgICRyb3cgPSAkY2F0ZWdvcmllc1skaV07CgkgICAkY2F0ZWdvcnlsaXN0W3N0cl9yZXBsYWNlKCJ8IiwiLSIsJHJvd1snbG9uZ19uYW1lJ10pXSA9ICRyb3dbJ25ld3NfY2F0ZWdvcnlfbmFtZSddOwoJfQoJCglpZiAoaXNzZXQoJG91dHB1dCkgYW5kICRvdXRwdXQgPT0gImlkIikgewoJCWlmKCFlbXB0eSgkYXNzaWduKSkgCgkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLGltcGxvZGUoJGRlbGltaXRlciwgJGNhdGVnb3J5bGlzdCkpOwoJCWVsc2UgCgkJCXJldHVybiBpbXBsb2RlKCRkZWxpbWl0ZXIsICRjYXRlZ29yeWxpc3QpOwoJfQoJZWxzZSB7CgkJaWYoIWVtcHR5KCRhc3NpZ24pKSAKCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksaW1wbG9kZSgkZGVsaW1pdGVyLCBhcnJheV9rZXlzKCRjYXRlZ29yeWxpc3QpKSk7CgkJZWxzZQoJCQlyZXR1cm4gaW1wbG9kZSgifCIsIGFycmF5X2tleXMoJGNhdGVnb3J5bGlzdCkpOwoJfQp9CgoKLyoqCiAqIAogKiBHaWJ0IGVpbmUgTGlzdGUgZGVyIENNUyBCZW51dHplcmdydXBwZW4gdW5kIEJlbnV0emVyIHp1csO8Y2sKICogQHBhcmFtICRhc3NpZ24KICogQHBhcmFtICRkZWxpbWl0ZXIKICogQHBhcmFtICRncm91cHNfb25seQogKi8KZnVuY3Rpb24gc21hcnR5X2Z1bmN0aW9uX3RiR2V0VXNlckdyb3VwcygkcGFyYW1zLCYkc21hcnR5KQp7CgkkZ0NtcyA9IGNtc21zKCk7CgkKCSRhc3NpZ24JCT0gaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pIAkJPyAkcGFyYW1zWydhc3NpZ24nXQkJOiAiIjsKCSRkZWxpbWl0ZXIJPSBpc3NldCgkcGFyYW1zWydkZWxpbWl0ZXInXSkJPyAkcGFyYW1zWydkZWxpbWl0ZXInXQk6ICJ8IjsKCSRvdXRwdXQgCT0gaXNzZXQoJHBhcmFtc1snb3V0cHV0J10pIAkJPyAkcGFyYW1zWydvdXRwdXQnXQkJOiAiIjsKCSRncm91cHNfb25seT0gaXNzZXQoJHBhcmFtc1snZ3JvdXBzX29ubHknXSkJPyAkcGFyYW1zWydncm91cHNfb25seSddOiBmYWxzZTsKCQoJJHVzZXJvcHMgPSAkZ0Ntcy0+R2V0VXNlck9wZXJhdGlvbnMoKTsKCSRncm91cG9wcyA9ICRnQ21zLT5HZXRHcm91cE9wZXJhdGlvbnMoKTsKCSRhbGx1c2VycyA9ICR1c2Vyb3BzLT5Mb2FkVXNlcnMoKTsKCSRhbGxncm91cHMgPSAkZ3JvdXBvcHMtPkxvYWRHcm91cHMoKTsKCQoJJGVkaXRvcnMgPSBhcnJheSgpOwoJZm9yZWFjaCAoJGFsbGdyb3VwcyBhcyAkb25lZ3JvdXApIHsKCSAgaWYoICRvbmVncm91cC0+aWQgPT0gMSApIGNvbnRpbnVlOwoJICAkdmFsID0gJG9uZWdyb3VwLT5pZCotMTsKCSAgJGVkaXRvcnNbJHZhbF0gPSAiR3J1cHBlOiAiLiAkb25lZ3JvdXAtPm5hbWU7Cgl9CgkKCWlmIChpc3NldCgkZ3JvdXBzX29ubHkpIGFuZCAkZ3JvdXBzX29ubHkpIHt9CgllbHNlIHsKCQlmb3JlYWNoICgkYWxsdXNlcnMgYXMgJG9uZXVzZXIpCgkJewoJCQkkZWRpdG9yc1skb25ldXNlci0+aWRdID0gICRvbmV1c2VyLT51c2VybmFtZTsKCQl9Cgl9CgkKCWlmIChpc3NldCgkb3V0cHV0KSBhbmQgJG91dHB1dCA9PSAiaWQiKSB7CgkJaWYoIWVtcHR5KCRhc3NpZ24pKSAKCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksaW1wbG9kZSgkZGVsaW1pdGVyLCBhcnJheV9rZXlzKCRlZGl0b3JzKSkpOwoJCWVsc2UJCgkJCXJldHVybiBpbXBsb2RlKCRkZWxpbWl0ZXIsIGFycmF5X2tleXMoJGVkaXRvcnMpKTsKCX0KCWVsc2UgewoJCWlmKCFlbXB0eSgkYXNzaWduKSkKCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksaW1wbG9kZSgkZGVsaW1pdGVyLCAkZWRpdG9ycykpOwoJCWVsc2UKCQkJcmV0dXJuIGltcGxvZGUoJGRlbGltaXRlciwgJGVkaXRvcnMpOwoJfQp9CgovKioKICogCiAqIFNjaHJlaWJ0IGVpbmVuIFdlcnQgaW4gZWluIGRlZmluaWVydGVzIExvZ2ZpbGUKICogQHBhcmFtCW1peGVkIAlsb2cgCS0gTWVsZHVuZyB3ZWxjaGUgaW4gZGFzIExvZ2ZpbGUgZ2VzY2hyaWViZW4gd2VyZGVuIHNvbGwgCiAqIEBwYXJhbSAJc3RyaW5nIAlsb2dmaWxlIC0gKG9wdGlvbmFsKSBOYW1lIGRlcyBMb2dmaWxlcyBpbiB3ZWxjaGUgZGllIE1lbGR1bmcgZ2VzY2hyaWViZW4gd2VyZGVuIHNvbGwKICogQHJldHVybgl2b2lkIC8gZXJyb3IgCiAqLwkKZnVuY3Rpb24gc21hcnR5X2Z1bmN0aW9uX3RiV3JpdGVMb2coJHBhcmFtcywmJHNtYXJ0eSkKewoJJGdDbXMgPSBjbXNtcygpOwoJCgkkbG9nZmlsZQk9IGlzc2V0KCRwYXJhbXNbJ2xvZ2ZpbGUnXSkgCT8gJHBhcmFtc1snbG9nZmlsZSddCTogIiI7CgkkbWVzc2FnZQk9IGlzc2V0KCRwYXJhbXNbJ2xvZyddKQkJCT8gJHBhcmFtc1snbG9nJ10JCTogIiI7CgoJaWYgKCFpc3NldCgkcGFyYW1zWydsb2cnXSkpIHsKCQllY2hvICJ7dGJXcml0ZUxvZyAtPiBQYXJhbXRlciAnbG9nJyBpcyBlbXB0eX0iOwoJCXJldHVybjsKCX0KCQkJCgkkbG9nPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1Rvb2xCb3gnKTsKCWlmICgkbG9nZmlsZSAhPSAnJykKCQkkbG9nLT5zZXRMb2dGaWxlKCd0YlRlc3RpbmcnKTsKCQoJJGxvZy0+bHdyaXRlKCRtZXNzYWdlKTsKCn0KCQovKioKICogCiAqIEV4cG9ydGllcnQgZWluZSBkZWZpbmllcnRlIFZhcmlhYmxlIGluIGVpbmVtIGxlc2JhcmVuIENvZGUgZGVyIHp1IGRlYnVnZ2luZ3p3ZWNrZW4gYW4gYW5kZXJlciBQb3NpdGlvbiBnZXRlc3RldCB3ZXJkZW4ga2FubgogKiBAY29weXJpZ2h0CTIwMTIgYnkgSmFuIEN6YXJub3dza2kgIChjemFybm93c2tpQHNlaXRlbnJlcG9ydC5pbmZvKQogKiBAcGFyYW0gCQkkbmFtZSAtIE5hbWUgZGVyIFZhcmlhYmxlIHdlbGNoZSBhdXNnZWdlYmVuIHdlcmRlbiBzb2xsCiAqIEByZXR1cm4JCXN0cmluZwogKi8KZnVuY3Rpb24gc21hcnR5X2Z1bmN0aW9uX3RiVmFyRXhwb3J0KCRwYXJhbXMsICYkc21hcnR5KSB7CiAgICAkbmFtZSA9IGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkgPyAkcGFyYW1zWyduYW1lJ10gOiBmYWxzZTsKICAgIGlmIChlbXB0eSgkbmFtZSkpCiAgICAgICAgcmV0dXJuICdLZWluIE5hbWUgdm9yZ2VnZWJlbic7CiAgICBpZiAobWV0aG9kX2V4aXN0cygkc21hcnR5LCAnZ2V0VGVtcGxhdGVWYXJzJykpICAvLyBTbWFydHkgMwogICAgICAgICR2YXIgPSAkc21hcnR5LT5nZXRUZW1wbGF0ZVZhcnMoJG5hbWUpOwogICAgZWxzZQogICAgICAgICR2YXIgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygkbmFtZSk7CiAgICBpZiAoZW1wdHkoJHZhcikpCiAgICAgICAgcmV0dXJuICRuYW1lIC4nIHVuYmVrYW5udCc7CiAgICBlY2hvICd7JCcgLiAkbmFtZSAuICc9XCcnIC4gc2VyaWFsaXplKCR2YXIpIC4gJ1wnfHVuc2VyaWFsaXplfSc7Cn0KCgovKioKICogCiAqIExlaXRldCB2aWEgcmVkaXJlY3QgYXVmIAogKiBAY29weXJpZ2h0CTIwMTIgYmxhdHRlcnRlY2ggaW5mb3JtYXRpawogKiBAcGFyYW0gCQkkdG8gLSBBbGlhcyBkZXIgU2VpdGUgYXVmIHdlbGNoZSB3ZWl0ZXJnZWxlaXRldCB3ZXJkZW4gc29sbAogKiBAcmV0dXJuCQlzdHJpbmcKICovCmZ1bmN0aW9uIHNtYXJ0eV9mdW5jdGlvbl90YlJlZGlyZWN0KCRwYXJhbXMsICYkc21hcnR5KSB7CglpZiggaXNzZXQoICRwYXJhbXNbJ3RvJ10gKSApIHsKCQkkZ0NtcyA9IGNtc21zKCk7CgkJJG1hbmFnZXIgPSYgJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKCQkkbm9kZSA9JiAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRwYXJhbXNbJ3RvJ10pOwoJCSRjb250ZW50ID0mICRub2RlLT5HZXRDb250ZW50KCk7CgkJaWYgKGlzc2V0KCRjb250ZW50KSAmJiBpc19vYmplY3QoJGNvbnRlbnQpKSB7CgkJCWlmICgkY29udGVudC0+R2V0VVJMKCkgIT0gJycpIHsKCQkJCXJlZGlyZWN0KCRjb250ZW50LT5HZXRVUkwoKSk7CgkJCX0KCQl9CgkJZWxzZSByZXR1cm4gJzwhLS0gdGJSZWRpcmVjdCAtIHBhZ2Ugbm90IGZvdW5kOiAnLiRwYXJhbXNbJ3RvJ10uJyAtLT4nOwoJfQp9CgovKioKICogCiAqIExpc3RldCBhbGxlIE9yZG5lciAoZGVyIEdhbGxlcnkpIGF1Ziwgd2VsY2hlIEJpbGRlciBlbnRoYWx0ZW4uIGlua2wuIGRlciBBbnphaGwgZGVyIEJpbGRlciBkZXIgZWluemVsbmVuIE9yZG5lciAKICogQGNvcHlyaWdodAkyMDEyIGJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsKICogQHBhcmFtIAkJJHN1YmRpciAtIFVudGVyb3JkbmVyIGFiIHdlbGNoZW0gZ2VzdWNodCB3ZXJkZW4gc29sbAogKiBAcGFyYW0gCQkkYWN0aW9uIC0gdXJsID0gUGZhZCB6dW0gT3JkbmVyIC8gbGVlciA9IFBmYWQgZGVzIE9yZG5lcnMgaW5rbC4gQmlsZGFuemFobAogKiBAcmV0dXJuCQlzdHJpbmcKICovCgpmdW5jdGlvbiBzbWFydHlfZnVuY3Rpb25fdGJHZXRHYWxsZXJ5VHJlZSgkcGFyYW1zLCAmJHNtYXJ0eSkKewoKICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICRkZWxpbWl0ZXIgPSAifCI7CiAgICAKICAgIC8qIG90aGVyIHdheSBvdmVyIEdhbGxlcnkgZnVuY3Rpb25zIChHYWxsZXJ5ID49IDEuNSwgQ01TTVMgMS4xMCkKICAgICAgCiAgICAgCSRnYWxsZXJpZXMgPSBHYWxsZXJ5X3V0aWxzOjpHZXRHYWxsZXJpZXMoKTsKCQkkdmFsdWVwYWlycyA9IGFycmF5KCk7CgkJZm9yZWFjaCAoJGdhbGxlcmllcyBhcyAkZ2FsbGVyeSkgewoJCSAgJGdhbGxlcnlfZGlyID0gJGdhbGxlcnlbJ2ZpbGVwYXRoJ10ucnRyaW0oJGdhbGxlcnlbJ2ZpbGVuYW1lJ10sICcvJyk7CgkJICAkdmFsdWVwYWlyc1tdID0gJGdhbGxlcnlfZGlyLic9Jy4kZ2FsbGVyeV9kaXI7CgkJfQoJCWVjaG8gaW1wbG9kZSgiLCIsJHZhbHVlcGFpcnMpOwogICAgICovCiAgICAKICAgIAoKICAgIGlmICghZnVuY3Rpb25fZXhpc3RzKCJ0YkdldEdhbGxlcnlUcmVlQXNBcnJheSIpKQogICAgewogICAgICAgIGZ1bmN0aW9uIHRiR2V0R2FsbGVyeVRyZWVBc0FycmF5KCRwYXRoID0gJy4nLCAkaWdub3JlID0gYXJyYXkoKSkgewogICAgICAgICAgICAkZGlyVHJlZSA9IGFycmF5ICgpOwogICAgICAgICAgICAkZGlyVHJlZVRlbXAgPSBhcnJheSAoKTsKICAgICAgICAgICAgJGlnbm9yZVtdID0gJy4nOwogICAgICAgICAgICAkaWdub3JlW10gPSAnLi4nOwogICAgICAgICAgICAkaWdub3JlW10gPSAnLmh0YWNjZXNzJzsKICAgICAgICAgICAgJGlnbm9yZVtdID0gJ2Vycm9yX2xvZyc7CiAgICAgICAgICAgICRpZ25vcmVbXSA9ICdjZ2ktYmluJzsKICAgICAgICAgICAgJGlnbm9yZVtdID0gJy5EU19TdG9yZSc7CiAgICAgICAgICAgICRpZ25vcmVbXSA9ICd0aHVtYic7CgogICAgICAgICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgogICAgICAgICAgICBpZiAoc3RycG9zKCRwYXRoLCRjb25maWdbJ3VwbG9hZHNfcGF0aCddKSA9PT0gRkFMU0UpCiAgICAgICAgICAgICAgICAkcGF0aCA9ICRjb25maWdbJ3VwbG9hZHNfcGF0aCddLiIvIi50cmltKCRwYXRoLCIvIik7CgogICAgICAgICAgICAkZGggPSBAb3BlbmRpcigkcGF0aCk7CgogICAgICAgICAgICB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZSA9IHJlYWRkaXIoJGRoKSkpIHsKCiAgICAgICAgICAgICAgICBpZiAoIWluX2FycmF5KCRmaWxlLCAkaWdub3JlKSkgewogICAgICAgICAgICAgICAgICAgIGlmICghaXNfZGlyKCIkcGF0aC8kZmlsZSIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRmaWxlaW5mbz1wYXRoaW5mbygkcGF0aC4iLyIuJGZpbGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoKHN0cnRvbG93ZXIoJGZpbGVpbmZvWydleHRlbnNpb24nXSkgPT0gImpwZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciAgc3RydG9sb3dlcigkZmlsZWluZm9bJ2V4dGVuc2lvbiddKSA9PSAianBlZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBzdHJ0b2xvd2VyKCRmaWxlaW5mb1snZXh0ZW5zaW9uJ10pID09ICJnaWYiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Igc3RydG9sb3dlcigkZmlsZWluZm9bJ2V4dGVuc2lvbiddKSA9PSAicG5nIikgYW5kIHN0cnBvcygkZmlsZSwidGh1bWIiKSA9PT0gRkFMU0UpCiAgICAgICAgICAgICAgICAgICAgICAgICRkaXJUcmVlWyIkcGF0aCJdW10gPSAkZmlsZTsKCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICRkaXJUcmVlVGVtcCA9IHRiR2V0R2FsbGVyeVRyZWVBc0FycmF5KCIkcGF0aC8kZmlsZSIsICRpZ25vcmUpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNfYXJyYXkoJGRpclRyZWVUZW1wKSkkZGlyVHJlZSA9IGFycmF5X21lcmdlKCRkaXJUcmVlLCAkZGlyVHJlZVRlbXApOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBjbG9zZWRpcigkZGgpOwoKICAgICAgICAgICAgcmV0dXJuICRkaXJUcmVlOwogICAgICAgIH0KICAgIH0KIAoJICRzdWJkaXIgPSAiIjsKCQkgaWYgKGlzc2V0KCRwYXJhbXNbJ3N1YmRpciddKSkgewoJCSAkc3ViZGlyID0gIi8iLnRyaW0oJHBhcmFtc1snc3ViZGlyJ10sIi8iKTsKCSB9CgoKCiAgICAkZGlyVHJlZSA9IHRiR2V0R2FsbGVyeVRyZWVBc0FycmF5KCcvaW1hZ2VzL0dhbGxlcnknLiRzdWJkaXIpOwogICAgJGdhbGxlcnlzID0gYXJyYXkoKTsKCiAgICBmb3JlYWNoICgkZGlyVHJlZSBhcyAkayA9PiAkdikgewogICAgICAgICRwZmFkID0gc3RyX3JlcGxhY2UoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uIi9pbWFnZXMvR2FsbGVyeS8iLCIiLCRrKTsKICAgICAgICAkZ2FsbGVyeXNbJHBmYWRdID0gJHBmYWQuIiAoIi5jb3VudCgkdikuIiBGb3RvcykiOwogICAgfQoKICAgIGtzb3J0KCRnYWxsZXJ5cyk7CgogICAgJGdrZXlzID0gYXJyYXlfa2V5cygkZ2FsbGVyeXMpOwoKICAgICRzbWFydHktPmFzc2lnbigidGJHYWxsZXJ5VHJlZUFycmF5IiwkZ2FsbGVyeXMpOwogICAgJHNtYXJ0eS0+YXNzaWduKCJ0YkdhbGxlcnlUcmVlVGl0ZWwiLGltcGxvZGUoJGRlbGltaXRlciwgJGdhbGxlcnlzKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oInRiR2FsbGVyeVRyZWVQYXRoIixpbXBsb2RlKCRkZWxpbWl0ZXIsICRna2V5cykpOwoKCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snYWN0aW9uJ10pIGFuZCAkcGFyYW1zWydhY3Rpb24nXSA9PSAidXJsIikKICAgICAgICByZXR1cm4gaW1wbG9kZSgkZGVsaW1pdGVyLCBhcnJheV9rZXlzKCRnYWxsZXJ5cykpOwogICAgZWxzZQogICAgICAgIHJldHVybiBpbXBsb2RlKCRkZWxpbWl0ZXIsICRnYWxsZXJ5cyk7Cgp9CgoKLyoqCiAqIAogKiBTY2hyZWlidCBkaWUgY29uZmlnLnBocCBXZXJ0ZSBpbiBlaW5lIFNtYXJ0eXZhcmlhYmxlIAogKiBAY29weXJpZ2h0CTIwMTMgYmxhdHRlcnRlY2ggaW5mb3JtYXRpawogKiBAcGFyYW0gCQkkYXNzaWduIC0gTmFtZSBkZXIgU21hcnR5dmFyaWFibGUKICovCgpmdW5jdGlvbiBzbWFydHlfZnVuY3Rpb25fdGJHZXRDb25maWcoJHBhcmFtcywgJiRzbWFydHkpCnsKICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgIGlmIChpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkpIAogICAgCSRzbWFydHktPmFzc2lnbih0cmltKCRwYXJhbXNbJ2Fzc2lnbiddKSwkY29uZmlnKTsKICAgIAp9CgoKLyoqCiAqIAogKiBTb3J0aWVydCBlaW4gQXJyYXkgbmFjaCBLcml0ZXJpZW4gCiAqIEBjb3B5cmlnaHQJMjAxMyBibGF0dGVydGVjaCBpbmZvcm1hdGlrCiAqIEBwYXJhbSAJCSRkYXRhIC0gQXJyYXkgZGFzIHp1IHNvcnRpZXJlbiBpc3QKICogQHBhcmFtIAkJJHNvcnQgLSBGZWxkZXIgbmFjaCBkZW5lbiBzb3J0aWVydCB3aXJkIHMtZmVsZG5hbWUgb2RlciBzK2ZlbGRuYW1lIC0tPiBzPXN0cmluZywgbj1udW1lcmljLCArID0gYXNjLCAtID0gZGVzYzsgbWVocmVyZSBGZWxkZXIgbWl0IEtvbW1hIGdldHJlbm50CiAqIEBwYXJhbSAJCSRhc3NpZ24gLSBOYW1lIGRlciBTbWFydHl2YXJpYWJsZQogKiBAc291cmNlCQlodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2RlL2Z1bmN0aW9uLmFycmF5LW11bHRpc29ydC5waHAjOTA1NDEKICovCgoKZnVuY3Rpb24gYXJyYXlfc29ydF9mdW5jKCRhLCRiPU5VTEwpIHsKCXN0YXRpYyAka2V5czsKCWlmKCRiPT09TlVMTCkgcmV0dXJuICRrZXlzPSRhOwoJZm9yZWFjaCgka2V5cyBhcyAkaykgewoJCWlmKEAka1swXT09JyEnKSB7CgkJCSRrPXN1YnN0cigkaywxKTsKCQkJaWYoQCRhWyRrXSE9PUAkYlska10pIHsKCQkJCXJldHVybiBzdHJjbXAoQCRiWyRrXSxAJGFbJGtdKTsKCQkJfQoJCX0KCQllbHNlIGlmKEAkYVska10hPT1AJGJbJGtdKSB7CgkJCXJldHVybiBzdHJjbXAoQCRhWyRrXSxAJGJbJGtdKTsKCQl9Cgl9CglyZXR1cm4gMDsKfQoKZnVuY3Rpb24gQXJyYXlTb3J0KCRhcnJheSkgewoJaWYoISRhcnJheSkgcmV0dXJuICRrZXlzOwoJJGtleXM9ZnVuY19nZXRfYXJncygpOwoJYXJyYXlfc2hpZnQoJGtleXMpOwoJYXJyYXlfc29ydF9mdW5jKCRrZXlzKTsKCXVzb3J0KCRhcnJheSwiYXJyYXlfc29ydF9mdW5jIik7CgkgCglyZXR1cm4gJGFycmF5Owp9CgoKCmZ1bmN0aW9uIHNtYXJ0eV9mdW5jdGlvbl90YkFycmF5U29ydCgkcGFyYW1zLCAmJHNtYXJ0eSkKewoJJGRhdGEgPSBpc3NldCgkcGFyYW1zWydkYXRhJ10pID8gJHBhcmFtc1snZGF0YSddIDogYXJyYXkoKTsKCSRzb3J0ID0gZXhwbG9kZSgiLCIsIGlzc2V0KCRwYXJhbXNbJ3NvcnQnXSkgPyAkcGFyYW1zWydzb3J0J10gOiBhcnJheSgpKTsKCQoJJHBhcmFtZXRlciA9IGFycmF5KCk7CgkkcGFyYW1ldGVyW10gPSAkZGF0YTsKCQoJZm9yZWFjaCgkc29ydCBhcyAkcykgewoJCSRwYXJhbWV0ZXJbXSA9ICRzOwoJfQoJCQoJJGRhdGEgPSBjYWxsX3VzZXJfZnVuY19hcnJheSgnQXJyYXlTb3J0JywgJHBhcmFtZXRlcik7CgkKCWlmIChpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkpICRzbWFydHktPmFzc2lnbih0cmltKCRwYXJhbXNbJ2Fzc2lnbiddKSwkZGF0YSk7CiAgICAKfQoKCgoKLy8gRU9G]]></data>
	</file>
	<file>
	  <filename>/functions/tbmodifier.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgovKioKKiBTbWFydHkgcGx1Z2luCiogaHR0cDovL3d3dy5zbWFydHkubmV0L2ZvcnVtcy92aWV3dG9waWMucGhwP3Q9NTMzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiogRmlsZTogbW9kaWZpZXIudGJUcnVuY2F0ZUJldHRlci5waHAKKiBUeXBlOiBtb2RpZmllcgoqIE5hbWU6IHRiVHJ1bmNhdGVCZXR0ZXIKKiBWZXJzaW9uOiAxLjMKKiBEYXRlOiBKYW51YXJ5IDEzdGgsIDIwMTAKKiBNb2RpZmllZDogTm92ZW1iZXIgMTB0aCwgMjAxMgoqIFB1cnBvc2U6IEN1dCBhIHN0cmluZyBwcmVzZXJ2aW5nIGFueSB0YWcgbmVzdGluZyBhbmQgbWF0Y2hpbmcuCiogSW5zdGFsbDogRHJvcCBpbnRvIHRoZSBwbHVnaW4gZGlyZWN0b3J5LgoqIEF1dGhvcjogT3JpZ2luYWwgSmF2YXNjcmlwdCBDb2RlOiBCZW5qYW1pbiBMdXB1IDxsdXB1ZnJAYW9sLmNvbT4KKiBUcmFuc2xhdGlvbiB0byBQSFAgJiBTbWFydHk6IEVkd2FyZCBEYWxlIDxzY29tcHRAc2NvbXB0LmNvbT4KKiBNb2RpZmljYXRpb24gdG8gYWRkIGEgc3RyaW5nOiBTZWJhc3RpYW4gS3VobG1hbm4gPHNlYmFzdGlhbmt1aGxtYW5uQHdlYi5kZT4KKiBNb2RpZmljYXRpb24gdG8gYWRkIHVzZXIgZGVmaW5lZCBjbG9zaW5nIHRleHQgYmVmb3JlIGNsb3NpbmcgdGFnIGlmIHRhZyBtYXRjaGVzIHNwZWNpZmllZCBlbGVtZW50cyBhbmQgYWRkZWQgcmVhZCBtb3JlIGxpbmsgd2l0aCB2YXJpYWJsZSB0ZXh0OgoqIEF2aSBKIExpZWJvd2l0eiBhdmlqLmNvbQoqIENsZWFuIHVwIGJ5IEJyaWNlIEZhdnJlIDxicmljZS5mYXZyZUBibG9nc3Bpcml0LmNvbT4KKiBBZGQgQ2hlY2sgZm9yIG5ha2VkIFVSTCBieSBMdWthcyBCbGF0dGVyIDxsdWthcy5ibGF0dGVyQGJsYXR0ZXJ0ZWNoLmNoPgoqIEFkZCAkYWRkc3RyaW5nIGFuZCAkbGluayBpZiB0aGVyZSdzIG5vIHRhZ3MgaW4gc3RyaW5nIGJ5IEx1a2FzIEJsYXR0ZXIgPGx1a2FzLmJsYXR0ZXJAYmxhdHRlcnRlY2guY2g+CiogQWRkIHRvIFRvb2xCb3ggYnkgTHVrYXMgQmxhdHRlciA8bHVrYXMuYmxhdHRlckBibGF0dGVydGVjaC5jaD4KKiBFeGFtcGxlIFVzYWdlIHskaHRtbFN0cmluZ3xodG1sX3N1YnN0cjo8bGVuZ2g+OjxzdHJpbmdfdG9fYWRkPjo8bGluaz46PGxpbmtfdGV4dD59CiogCiogQHBhcmFtIHN0cmluZwoqIEBwYXJhbSBpbnRlZ2VyCiogQHBhcmFtIHN0cmluZwoqIEBwYXJhbSBzdHJpbmcKKiBAcGFyYW0gc3RyaW5nCiogQHJldHVybiBzdHJpbmcKKgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCgpmdW5jdGlvbiBzbWFydHlfbW9kaWZpZXJfdGJUcnVuY2F0ZUJldHRlcigkc3RyaW5nLCAkbGVuZ3RoID0gODAsICRhZGRzdHJpbmcgPSAnLi4uJywgJGxpbmsgPSAnJywgJGxpbmtfdGV4dCA9ICcnKSB7CiAgICAvLyBvbmx5IGV4ZWN1dGUgaWYgdGV4dCBpcyBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aAogICAgaWYgKHN0cmxlbigkc3RyaW5nKSA+ICRsZW5ndGgpIHsKICAgICAgICBpZiggIWVtcHR5KCAkc3RyaW5nICkgJiYgJGxlbmd0aCA+IDAgKSB7CiAgICAgICAgCQogICAgICAgIAlpZiAoJGxpbmsgIT0gJycpIHsKCQkJCS8vIGNoZWNrIGZvciBuYWtlZCB1cmwKCQkJCSRyZWdleHAgPSAiPGFcc1tePl0qaHJlZj0oXCI/PykoW15cIiA+XSo/KVxcMVtePl0qPiguKik8XC9hPiI7IAoJCQkJaWYocHJlZ19tYXRjaF9hbGwoIi8kcmVnZXhwL3NpVSIsICRsaW5rLCAkbWF0Y2hlcykpIAoJCQkJCSRsaW5rID0gJG1hdGNoZXNbMl1bMF07CgkJCX0gCiAgICAgICAgCQogICAgICAgICAgICAkaXNUZXh0ID0gdHJ1ZTsKICAgICAgICAgICAgJHJldCA9ICIiOwogICAgICAgICAgICAkaSA9IDA7CgogICAgICAgICAgICAkbGFzdFNwYWNlUG9zaXRpb24gPSAtMTsKCiAgICAgICAgICAgICR0YWdzQXJyYXkgPSBhcnJheSgpOwogICAgICAgICAgICAkY3VycmVudFRhZyA9ICIiOwoKICAgICAgICAgICAgJG5vVGFnTGVuZ3RoID0gc3RybGVuKHN0cmlwX3RhZ3MoJHN0cmluZykpOwoKICAgICAgICAgICAgLy8gUGFyc2VyIGxvb3AKICAgICAgICAgICAgJHN0cmluZ19sZW5ndGggPSBzdHJsZW4oJHN0cmluZyk7CiAgICAgICAgICAgIGZvcigkaiA9IDAgOyAkaiA8ICRzdHJpbmdfbGVuZ3RoIDsgJGorKykgewoKICAgICAgICAgICAgICAgICRjdXJyZW50Q2hhciA9IHN1YnN0ciggJHN0cmluZywgJGosIDEgKTsKICAgICAgICAgICAgICAgICRyZXQgLj0gJGN1cnJlbnRDaGFyOwoKICAgICAgICAgICAgICAgIC8vIExlc3NlciB0aGFuIGV2ZW50CiAgICAgICAgICAgICAgICBpZiggJGN1cnJlbnRDaGFyID09ICI8IikgJGlzVGV4dCA9IGZhbHNlOwoKICAgICAgICAgICAgICAgIC8vIENoYXJhY3RlciBoYW5kbGVyCiAgICAgICAgICAgICAgICBpZiggJGlzVGV4dCApIHsKCiAgICAgICAgICAgICAgICAgICAgLy8gTWVtb3JpemUgbGFzdCBzcGFjZSBwb3NpdGlvbgogICAgICAgICAgICAgICAgICAgIGlmKCAkY3VycmVudENoYXIgPT0gIiAiICkgewogICAgICAgICAgICAgICAgICAgICAgICAkbGFzdFNwYWNlUG9zaXRpb24gPSAkajsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRsYXN0Q2hhciA9ICRjdXJyZW50Q2hhcjsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRpKys7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRjdXJyZW50VGFnIC49ICRjdXJyZW50Q2hhcjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBHcmVhdGVyIHRoYW4gZXZlbnQKICAgICAgICAgICAgICAgIGlmKCAkY3VycmVudENoYXIgPT0gIj4iICkgewogICAgICAgICAgICAgICAgICAgICRpc1RleHQgPSB0cnVlOwoKICAgICAgICAgICAgICAgICAgICAvLyBPcGVuaW5nIHRhZyBoYW5kbGVyCiAgICAgICAgICAgICAgICAgICAgaWYoICggc3RycG9zKCAkY3VycmVudFRhZywgIjwiICkgIT09IGZhbHNlKSAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBzdHJwb3MoICRjdXJyZW50VGFnLCAiLz4iICkgPT09IGZhbHNlKSAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBzdHJwb3MoICRjdXJyZW50VGFnLCAiPC8iKSA9PT0gZmFsc2UpICkgewoKICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGFnIGhhcyBhdHRyaWJ1dGUocykKICAgICAgICAgICAgICAgICAgICAgICAgaWYoIHN0cnBvcyggJGN1cnJlbnRUYWcsICIgIiApICE9PSBmYWxzZSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXJyZW50VGFnID0gc3Vic3RyKCAkY3VycmVudFRhZywgMSwgc3RycG9zKCAkY3VycmVudFRhZywgIiAiICkgLSAxICk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUYWcgZG9lc24ndCBoYXZlIGF0dHJpYnV0ZShzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1cnJlbnRUYWcgPSBzdWJzdHIoICRjdXJyZW50VGFnLCAxLCAtMSApOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBhcnJheV9wdXNoKCAkdGFnc0FycmF5LCAkY3VycmVudFRhZyApOwoKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYoIHN0cnBvcyggJGN1cnJlbnRUYWcsICI8LyIgKSAhPT0gZmFsc2UgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3BvcCggJHRhZ3NBcnJheSApOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJGN1cnJlbnRUYWcgPSAiIjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiggJGkgPj0gJGxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBDdXQgSFRNTCBzdHJpbmcgYXQgbGFzdCBzcGFjZSBwb3NpdGlvbgogICAgICAgICAgICBpZiggJGxlbmd0aCA8ICRub1RhZ0xlbmd0aCApIHsKICAgICAgICAgICAgICAgIGlmKCAkbGFzdFNwYWNlUG9zaXRpb24gIT0gLTEgKSB7CiAgICAgICAgICAgICAgICAgICAgJHJldCA9IHN1YnN0ciggJHN0cmluZywgMCwgJGxhc3RTcGFjZVBvc2l0aW9uICk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRyZXQgPSBzdWJzdHIoICRzdHJpbmcsICRqICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCgkJCS8vIHdoZW4gdGhlcmUncyBubyB0YWdzICAgICAgICAgCgkJCWlmIChjb3VudCggJHRhZ3NBcnJheSApID09IDApIHsKCQkJCSRyZXQgLj0gJGFkZHN0cmluZzsKCQkJCWlmIChzdHJsZW4oJGxpbmspKQoJCQkJCSRyZXQgLj0gIiA8YSBocmVmPVwiIi4gJGxpbmsgLiAiXCIgdGl0bGU9XCIiLiAoJGxpbmtfdGV4dCAhPSAnJyA/ICRsaW5rX3RleHQgOiAkbGluaykgLiAiXCI+IiAuICgkbGlua190ZXh0ICE9ICcnID8gJGxpbmtfdGV4dCA6ICRsaW5rKSAuICI8L2E+IjsKCQkJfQoJCQkvLyB0aGVyZSBhcmUgdGFncwoJCQllbHNlIHsKCSAgICAgICAgICAgIC8vIENsb3NlIGJyb2tlbiBYSFRNTCBlbGVtZW50cyAgIAoJICAgICAgICAgICAgd2hpbGUoIGNvdW50KCAkdGFnc0FycmF5ICkgIT0gMCApIHsKCSAgICAgICAgICAgICAgICBpZiAoIGNvdW50KCAkdGFnc0FycmF5ICkgPiAxICkgewoJICAgICAgICAgICAgICAgICAgICAkYVRhZyA9IGFycmF5X3BvcCggJHRhZ3NBcnJheSApOwoJICAgICAgICAgICAgICAgICAgICAkcmV0IC49ICI8LyIgLiAkYVRhZyAuICI+XG4iOwoJICAgICAgICAgICAgICAgIH0KCSAgICAgICAgICAgICAgICAvLyBZb3UgbWF5IGFkZCBtb3JlIHRhZ3MgaGVyZSB0byBwdXQgdGhlIGxpbmsgYW5kIGFkZGVkIHRleHQgYmVmb3JlIHRoZSBjbG9zaW5nIHRhZwoJICAgICAgICAgICAgICAgIGVsc2VpZiAoJGFUYWcgPSAncCcgfHwgJ2RpdicpIHsKCSAgICAgICAgICAgICAgICAgICAgJGFUYWcgPSBhcnJheV9wb3AoICR0YWdzQXJyYXkgKTsKCSAgICAgICAgICAgICAgICAgICAgJHJldCAuPSAkYWRkc3RyaW5nOwoJICAgICAgICAgICAgICAgICAgICBpZiAoc3RybGVuKCRsaW5rKSkKCSAgICAgICAgICAgICAgICAgICAgCSRyZXQgLj0gIiA8YSBocmVmPVwiIi4gJGxpbmsgLiAiXCIgdGl0bGU9XCIiLiAoJGxpbmtfdGV4dCAhPSAnJyA/ICRsaW5rX3RleHQgOiAkbGluaykgLiAiXCI+IiAuICgkbGlua190ZXh0ICE9ICcnID8gJGxpbmtfdGV4dCA6ICRsaW5rKSAuICI8L2E+PC8iIC4gJGFUYWcgLiAiPlxuIjsKCSAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICAgICAgZWxzZSB7CgkgICAgICAgICAgICAgICAgICAgICRhVGFnID0gYXJyYXlfcG9wKCAkdGFnc0FycmF5ICk7CgkgICAgICAgICAgICAgICAgICAgICRyZXQgLj0gIjwvIiAuICRhVGFnIC4gIj4iIC4gJGFkZHN0cmluZzsKCSAgICAgICAgICAgICAgICAgICAgaWYgKHN0cmxlbigkbGluaykpCgkgICAgICAgICAgICAgICAgICAgIAkkcmV0IC49ICIgPGEgaHJlZj1cIiIuICRsaW5rIC4gIlwiIHRpdGxlPVwiIi4gKCRsaW5rX3RleHQgIT0gJycgPyAkbGlua190ZXh0IDogJGxpbmspIC4gIlwiPiIgLiAoJGxpbmtfdGV4dCAhPSAnJyA/ICRsaW5rX3RleHQgOiAkbGluaykgLiAiPC9hPlxuIjsKCSAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICB9CgkJCX0KICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgICAkcmV0ID0gIiI7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHJldDsKICAgIH0KICAgIGVsc2UgewogICAgICAgIHJldHVybiAkc3RyaW5nOwogICAgfQp9IAoK]]></data>
	</file>
	<file>
	  <filename>/getIcon.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKQXV0aG9yOiBMdWthcyBCbGF0dGVyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCmluY2x1ZGUgJ2xpYi9jbGFzcy50YlV0aWxzLnBocCc7CgokZXh0ID0gaXNzZXQoJF9HRVRbJ2V4dCddKSA/ICRfR0VUWydleHQnXSA6ICd1bmtub3duJyA7Cgp0YlV0aWxzOjpnZXRGaWxlSWNvbkJhc2U2NCgkZXh0KTsKZXhpdDsg]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBUbyBkZW55IFBIUHMKPEZpbGVzIH4gIlwuKHBocHxwaHAzfHBocDR8cGhwNXxwaHRtbHxwbHxjZ2kpJCI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgb3JkZXIgZGVueSxhbGxvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogIGRlbnkgZnJvbSBhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPC9GaWxlcz4gIAo=]]></data>
	</file>
	<file>
	  <filename>/images/AVIicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8BcfJxwiKh0kMSgwOi42PAENZAEQaxwncCg0Qy42TC89QDZEVzVHXT1KXTRJaz9KZ1U0RHVpKnl3LEFWZUtXalReb11lb1dgcVhhcl1ldl9zf3tGSWJremNseyk6hDNGkDdevjFg5jVn5jdt9jpt81FsilhmjVB3j0BjplZjpWZvgGFyimV7gG12hm18rk15xlx+xTCkMzy3PkKcR02feF2IbmSCeFfPVFbQWGHFYW/ddXmBjHqDk3mMo32Hsn+HtHWQu0GS31mV2lCM/16e/0Sm93mdx2eR/32b8naz6YtjZoNrdIZocIF5c/MzF/Y+J+tQPv54ZPh6a4B2gJukHrmYHLiWOKSkL8yuFtu7G9C6ceyLf+zACujUHunHNIaCiYWFj4qQnImPtYuOuJOappSgq6Wrtq6yuq+zu7GztbK1urG1vbS3v4CbzpCY6oSj1oep3Iir3pyp4Jur/5G345e75JW86Jaz/6Wz2qe42bm9wru/yKmt/6W97qi/76C29aqz9ZfHuoHrgZX6krzAx7jH2afI66vB56HF8qvB8K/D8LLA6bzH4bHF8bHG8LHG9rXI8rfJ8rrJ9LrM873N87zQ6LfR8rjU9bvY982ouP2aiv2kl/i0qdzFg8XIzdDS2NPV2Nvb3M3Z6sLU98Xd+szV/83b8Nnc4Nfe9Mvh/M3i+Nbh9tDk/NPm/NTm/Njm/9jo/Nrq/dP6//nUz+Tm6enp6eTq8uLv/ebx/efx/ef5/+ny/uvz/ezz/ez0/u31/u72/u3///Dx8vXy9vb29vb39/f39/D2/vH3/vH4/vP4/vT5/vX6/vb7//f6//f7//b///j7//v9//v+////+v///f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAj/AKFB00Ow4J48eoAJXDgQXLdt1qYpO6ZnSg04sZgJ1MMtWzVpyYwNe/JkiZFCvjZioxYNWTFhwV69UoTETSpozpSoqXLlB5A3rHbpwsXphqNndKyUKWWqEaMhNh7dsuVpRB1VVLaQ6tVM1iIiQUh8mtUpRJw0WrjwAkWLWC48QnoccbXJbIkso0TpyHEnkiEfPDqE0mRWA5ZKmFI8gDCjT4wdFCBdMouhRSZYKCLgEBSoixcHfyiZpbFCirdBlq4tSwTmSwU/k8zOUdGk1Tdw2mqRGbPhBSBEZn8VYeIkCp9TaM6EsQBF0iERcqCtyiCDhQszYjhMgJGETZsTdgQSEQLRYIECBhIuePggwsQaVAEBADs=]]></data>
	</file>
	<file>
	  <filename>/images/CSSicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8FY9KkU4QFpAO0pNWFpGSUZQY09ZalJcbV5dZl1mdl1md19oeGJYRWdeR2lnYGNsfHFudXNyd3J3f296h3N7iX9/gHl+iXRto3+FkZVOFppYGZpuK6FgD6ptFaZuIaB3KYt5aqdtQKqBMKiJNLWXKraWRbicTK6Va7asV76wVLimfsaLDsSOCcqRDtGeCsucLtmmG9mlHdunKNSsP+SwPui1OOm2Os6kRM+rVMGzXcS4Y8yza8W8fOGoQe67RfK+T/K+UPXCUvDFY/HHZfvQdYCEiYKAloOKloiOmY6TnpSFh5KNkZSPlZGWoZGWopCYo5acpZedp5yiraGWpaCkraqqqq+tqaSpsqWttaqvt7Otr4q96bi0zrm7wLi4z7Gy0LKz0bW107G/0JjI7bzEybLV8bPb87XY8rbZ8rfb87nd9L/e9Lnh9b3h9ci4lde9odHIitHKl9jJrd3Qut7Zs+HNoPnjsMHBwcPCxsXCxcXJzs7P08bQ1dTU2Nra2trb397d3N/d3s/Q6s/W7NDQ4Nvc4Nzd4MTt+cft+czn983n983s+MXw+sfw+srw983w98/w+s/y+t/n6dbt+drt+d3t+d7t+dDw99Lw99Tw99Py+tX//9jw99rw993w99/w99jw+tnz+93w+t7w+tn//938/t3//+De3+XizfLs2+Dg5OPk5uHo7O7o4Ovs7Ors7+zt7u7t7e/u7e7u7+Dt+eHt+eLw9+Tw9+L//+X//+b//+v19Orz++v1++r9/ur//+v//+z//+7//+////Hx8vPz8/T09fb19vf29vf39/f3+PD///L///P///T///X///b///z69/j4+Pj9+vn8/vn///r8/vv9/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAj/AKftkWXEzww9Q4jImMawoSMVLai4CBGjCw0YUM7UgsZwTaMijPiYmdVn2y0vUxI5ozZNTbBWn3z9AidOXC4OIgrhijYtDTBr2o4ZCwfozxMMQfAg4tUzlapOnkB5O8LkywUdL8Ao6olqWTNs3ZwsafLFwg0cPQL1PHVnTh1WJ5IgEcKiho0UH3qaalNGzps8Snz84LEjB4MNPUfZgUNnkiETK4CgIFGiQZWeojZpqhSHEptPIxQscKBhUM9QlySRWoWsWrZvVyRYIbOoZyZLkV4NS8YMqBYQgmLt6omplCtYwogpa3YNi5RDvaRNQ2OrGCc3YrJ0mPCgQhhaz7hNEnvEhQKECBk8RNkyhhAkXQ0DAgA7]]></data>
	</file>
	<file>
	  <filename>/images/DIRicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8ElJSWlpaWpqan9/f5lnAZpoApxqBJ5sBqBuCKNxC6VzDah2EKt5E658FrB+GLOBG7SBHLWCHbeEH7iFILqHIryJJL2KJb+MJ8CNKMKPKsWSLceUL8mWMcuYM8yZNNOgO9ypROazTu+8V/jFYP/MZ//Ub//ge4iIiP/mgf/rhf/0jv/3kf//mcHBwc/Pz9fX19jY2O7u7u/v7/f39////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAi6AHsIHEiwoMGDBlGcMFFCxw6EPVD4mOhjxI2HCX3Y2GjDBwgPHDZkwKCDR48TNWioVElx4oUYOXqYmCGDhM2bIj500JAhg44SMEi0HCrDx4QYJF6g4Mh0YwsbEhiMcHHCRo2rWK+ysBFhgQgXJGzMGEt27AobEBaAcBHCBoy3cN+qsPFggQcXHWy82Mt3bwobDhjoEInhgoUKFCZIiADhgQMFDXbcaLCgsuXLCxrc6LFDB47PoEPjcBgQADs=]]></data>
	</file>
	<file>
	  <filename>/images/DOCicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AEyeCg+bTZKZDdLZQgviwU2ggg8iAZCmwlLsiFMmjpamDJbtipitzhhrjppuE1qp0BmtERquVVtpF11q2d+s0JuxEl0zFJ3ylV7zl99w1h+0XeKnGCBzWeK1XeR1XyX2Hij63ul6Hyk6ZOit5WkuZamu5movoOc2oCe5ouk3ZyrwJCu1p243p6434Cn54Gn54Sr5oWs5oml6Yit5Yqu5Iyv5I+x45Or5pGx4pWz4pW04pm24KW0yqa2y6i2zaq5z6G63aS73aW83Ku60a260K290q6+1K+836q+8bDA1rHB17LC2LrF1LfI9MnS4sfa+Mnb+crb+Mzd+M7e+M7e+dbc6tDg+dLh+tLi+tPi+tPi+9bk+tbk+9fl+tfl+9zi9Njl+tnm+9rm+9rn+9zo+93p+9/q++Hq++Hr++Ls++Hs/OLs/OTt/OXt/Obu/Ofv/Ojv/Ojw/enw/Onw/enx/e30/e/0/e/1/fb29vb29/f39/Dy+vL2/vP3/vT3/vP4/vT4/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAj1AAkJrEJlCpQnTZIgOWJkkMAgQXjISHGCRIgPFg79odFAEKEgi0KKDCkBESAXVjrykBLDxBcTaTjMkKAoUIsGOGWkiTEizYY0GUpIqFHDD5MlDVAsQrEhyoQZFLBESFSDDx0lDE4s8rChw4MKCxZFMFQDDxwbDEQs4kDhyoMHThZBAFTDzpsiDEAscnCh0AMNIR8QjcNmCAMMI0cq0FPHTRkgDCxImByhMoQHCoiiCeODgUBCMPb02ZPnjhw3Z8Z42eFZ4Is5dYjKrtFlS47WhFywabNGjRkyYLhoycICdwsxN4oQEfKjhw4cK1TgZkC9uvXqAQEAOw==]]></data>
	</file>
	<file>
	  <filename>/images/GIFicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8FdgcVhhcl1ldmJremNsez1tvSRw1UdHrGBElGFyim12hm98rmz5NljwUAyL8QOb+QGZ/wmU8g+n4nqDk3OCtXaIu32HskOW5USm91Or9nqPwn2VyH278u81D/k0Bf80AcZ7e9zJJOXUCfrNAufGJ+fGKOnIKfDMKu7XZIqQnIuOuIuRtpOapqWrtq6yuq+zu7G1vbS3v4Gcz5OWwZWZxJacxpeeyYOi1YSj1oep3Iir3pmhzJek0pim05qo1p2t2bu/yKW97qi/76qz9b/DgYbG/ofP+YrO/5zG9ZnL/LzAx6vB8K/D8KjP/6fT/6nU/67S/6zV/q3W/6/V/a7W/7HF8bXI8rfJ8rrJ9LrM873N87LU/7PX/LbW/7PY/bLY/7fZ/Ljb/7vZ/7nc/r3d/b3e/8XIzdPH1NbM2dDS2MDb/8Td/8zV/9Hb5tXf6Nnc4N3jxsLh/8Pm/8ng/8jk/83h/87n/9vi6t/m7NPp/9br/9ns/9zu/97v/9/v/+Tm6eTp7uTq8uns8OLx/+Ty/+7w8ur1//Dx8vPz9Pb29vf39/D4//b7//j4+Pr6+vr9//7+/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjoAIcIHEhEyJBFlBIqHLKp4SZNmSwNMTHhRp5ICRk2hGipkggRITooSZQR08OIlSDZsdMEhI05GS+lmKmCz6FGhgiJoUAl46SZKB5o0BBl0B8yDHRklDRTAoShGtr0GaMAR8ZHKU5EeDr0SZ0wVRMGYRRHDoYNHIZOoQMmLCUeihwhgnLBQoYRaNh8cVtCEKJCMlqwWCFlzRkrbkkEKqQnhosXMJx4KVPF7Qc8gwC5UWOmy5YsWpi49XAHkJ89b9ak4YLlypIFORJWSILkiJEiQH746FGDhoMdCeHMaLBAgfHjCxrMgJMwIAA7]]></data>
	</file>
	<file>
	  <filename>/images/help/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/help/Socialshareprivacy.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[/9j/4AAQSkZJRgABAQEAeAB4AAD/4RCKRXhpZgAATU0AKgAAAAgABAE7AAIAAAAIAAAISodpAAQAAAABAAAIUpydAAEAAAAQAAAQcuocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBoaWxpcHAAAAHqHAAHAAAIDAAACGQAAAAAHOoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAaABpAGwAaQBwAHAAAAD/4QpgaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIvPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj48ZGM6Y3JlYXRvcj48cmRmOlNlcSB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6bGk+UGhpbGlwcDwvcmRmOmxpPjwvcmRmOlNlcT4NCgkJCTwvZGM6Y3JlYXRvcj48L3JkZjpEZXNjcmlwdGlvbj48L3JkZjpSREY+PC94OnhtcG1ldGE+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9J3cnPz7/2wBDAAcFBQYFBAcGBQYIBwcIChELCgkJChUPEAwRGBUaGRgVGBcbHichGx0lHRcYIi4iJSgpKywrGiAvMy8qMicqKyr/2wBDAQcICAoJChQLCxQqHBgcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKir/wAARCAA2AiIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNk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mP8AWR//ABVLjUMAfYZ8D/ppH/8AFVt0UAYmNRzn7FPn18yP/wCKqWzt7p7yKSa3aFYiWy7Kc5UjAwT61rUUAFFFFABRRRQAUUUUAFQ3VnbXsPlXlvFcR5zslQMM+uDU1FAGT/wi2hf9Am0/79CrNno+m6fIZLKwt4HPG+OMA/nV2igArH1O1u21Dz7eAzI8SodrKCpBY85I/vfpWxRQBzb2d7Ku2TTndc5wzRkZ/wC+qhvdIn1BIkvNMlkWKVZUHmoMMOh4fn6HiuqooA537PqH/PhL/wB9x/8AxVaWkW88FvMblPLeWXeE3AkDaq844/hzWhRQAUUUUAFFFFABRRRQBDcozRqygsUcNgdTik+2246vg+hU1PRQBw9h4I0/T/GU3iePxFq8up3KLHcPIsG2aMbPkKiEAAiNRlcHjrXYfbrf/np/46asUVc6kqlnJ7Exio7FOK5tvsiRSsD8gVlKkjpgiuN1z4eaBr2t3uo3lwyvcQLHEkcZUQuBgPxjd24Nd9RUFGRoltY6Jo9pYQyK/wBnhWHzPK2lwvc4HuT+JrQtwWlllIKhyMAjnAHWp6KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//2Q==]]></data>
	</file>
	<file>
	  <filename>/images/help/socialshareprivacy1.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAABGdBTUEAALGPC/xhBQAAAwBQTFRF/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v7+/v7+/v7+/fz8+/v7+vr78/T27O/z3ury2ejw1+jx6Ozv7e7x7e7w7e7x7e7w7u3t7u7u7u7u7u7u7u7u7u7u7u7u7u7u7e7v7e7w7e7u6ezt5uvs5Orr4+nq4+jp4+fo4uXm4ePk4OHi3t/f3d7e3t3c39zY4NzW3NvY09jdydPgyNPjydPizdLa0dHS0M/QzMvMxcXFwcHBvb2/urm7s7S3sbCxrqyrqKaloaCelpWVjo6OhYeJf4KIeIagbYq9Z362YHCrVGejQl+cP1yUS2CLX2d2Y2RmW1tcU1RVSUpMOz1BKSosGxscGBgZExMTCgoKIbgbkQAAAAlwSFlzAAAASAAAAEgARslrPgAAAAl2cEFnAAAAyAAAAMgA60p8lgAACsNJREFUeNrtnW93mkgbxvdb8jE9RtJm+4JX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]]></data>
	</file>
	<file>
	  <filename>/images/help/twitterfeed.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/HTMLicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8D5VZ0pBQlNPVlZbdllbd0tkcFdgcVhhcl1ldn5dT2ldc314WWJremNse3h9YhtdlTRsiQFzx0RsoGB0gmFyim12hmJ4oW98rg6J0ieY33qDk3SHpHOCtXaIu32HskGS30Sm93qPwn2VyHaz6Xe96JQbE59gOp14P6tZI75mI71uKpdeVpl3QLd2ScI7D9A7EeVUEoibf7uYRryXcv2AFPmCHOCFK+mLOvqPJ+qjL+WqOf2pPdOsT/KWSvGzSPC/TOeucvzDdIqQnJGRk4uOuIaRqoaXsYuRtpOWqZOapoSwvpyjtaihqqWrtq6yuq+zu7epp7G1vbS3v4Gcz5OWwZWZxJacxpeeyYOi1YSj1oep3Iir3pmhzJek0pim05qo1p2t2bu/yKW97qi/76qz9bzAx63G4avB8K/D8K7Q+rHF8bXI8rfJ8rrJ9LrM873N87TR9LHS+bHT+rTU+rXV+rbV+7jX+7vY+r7a+r/b+sXIzc3KztDS2MLc+8Te+8zV/9nc4M3g98zi98jg+Mjg+8ng+8vh/Mzi/M/k/NXm9tDk/NTm/NTn/Njo/Nrq/d3r/OTm6eTq8uDu/eXw/ufx/erz/evz/ev0/ezz/ez1/e31/e31/u72/e72/u72/+/2/u/2//Dx8vf39/D2//H3/vH4/vH4//L4/vT5/vX6/vf6//f7//j7//v9//v+/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAj4AFmRGUiwzBgym1gpXEgmFy5bs16dEkWmhYcrilYpJHOrlixXpUB5UqEiBYk1mjbSgoVKFSpTphIlcoNiiqGNsVq1SmVqVChMlyrd+fBmI6lCVp6A4FDBRhVKeSRs2fhJyxIlTVxQSRJjEh4IWDZ26lHkSAcRI3YMYWQHrEIxnG4IgfFAwwYMRBrVccuqS6YaP4LIUJDBCI9BdPiyuCQFhw8aE4AgYRBIDt8VlhZReJFDx4wFcP7E4XtCUqRHUBw0KKHHD582fE1AcoTokKBAgPrsmcMmQhaFIdSkQXPGTBgwX7xEcXKBi0JCTCxEgEC9egQLTAixCggAOw==]]></data>
	</file>
	<file>
	  <filename>/images/ICOicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8FdgcVhhcl1ldmJremNsez1tvSRw1UdHrGBElGFyim12hm98rmz5NljwUAyL8QOb+QGZ/wmU8g+n4nqDk3OCtXaIu32HskOW5USm91Or9nqPwn2VyH278u81D/k0Bf80AcZ7e9zJJOXUCfrNAufGJ+fGKOnIKfDMKu7XZIqQnIuOuIuRtpOapqWrtq6yuq+zu7G1vbS3v4Gcz5OWwZWZxJacxpeeyYOi1YSj1oep3Iir3pmhzJek0pim05qo1p2t2bu/yKW97qi/76qz9b/DgYbG/ofP+YrO/5zG9ZnL/LzAx6vB8K/D8KjP/6fT/6nU/67S/6zV/q3W/6/V/a7W/7HF8bXI8rfJ8rrJ9LrM873N87LU/7PX/LbW/7PY/bLY/7fZ/Ljb/7vZ/7nc/r3d/b3e/8XIzdPH1NbM2dDS2MDb/8Td/8zV/9Hb5tXf6Nnc4N3jxsLh/8Pm/8ng/8jk/83h/87n/9vi6t/m7NPp/9br/9ns/9zu/97v/9/v/+Tm6eTp7uTq8uns8OLx/+Ty/+7w8ur1//Dx8vPz9Pb29vf39/D4//b7//j4+Pr6+vr9//7+/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjoAIcIHEhEyJBFlBIqHLKp4SZNmSwNMTHhRp5ICRk2hGipkggRITooSZQR08OIlSDZsdMEhI05GS+lmKmCz6FGhgiJoUAl46SZKB5o0BBl0B8yDHRklDRTAoShGtr0GaMAR8ZHKU5EeDr0SZ0wVRMGYRRHDoYNHIZOoQMmLCUeihwhgnLBQoYRaNh8cVtCEKJCMlqwWCFlzRkrbkkEKqQnhosXMJx4KVPF7Qc8gwC5UWOmy5YsWpi49XAHkJ89b9ak4YLlypIFORJWSILkiJEiQH746FGDhoMdCeHMaLBAgfHjCxrMgJMwIAA7]]></data>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAJEAAH8Af/+IAP///wAAACH5BAEAAAAALAAAAAAgACAAwX8Af/+IAP///wAAAANsCLrc/tCFGeKaltEaN86b5XHXaIYaCVIZ8LUoNMJs5z3n2bxK7qsuoI0nExaJOGMSmYoNlb3billyHqEl0a+WXW6JyO8s1YpSyWVrshw8d2nuKFu942rd4zs2/9TH23tSen5YZoF0dXGIbGUJADs=]]></data>
	</file>
	<file>
	  <filename>/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBkdW1teSBpbmRleC5odG1sIC0tPgo=]]></data>
	</file>
	<file>
	  <filename>/images/JPGicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8G80KGNDLlhBRFdgcVhhcl1ldmJremNse2Fyim12hmxpuG98rnqDk3OCtXaIu32HskGS30Sm93qPwn2VyHWl3nyn2nSo5naz6bI1E7c6MppbMqBiLLlgMbd9U8g7HNVCH9tJIupZKu5dLPdtNf91N/93OY99pbeDcLqIeuyDNeqHP/OMN/WLN9uQV8GQfdmTYNOfdNehf+CRXuaZVP+PRv+HVv+WSf+feP2qVP+sVf+1Wve+ZeTAfu3KfP/BYf/PdvbUevfbf4qQnIqBtouOuIuRtpCBr5OCrJ2MqJOapqaGlKqQm7WXk6yXrKWrtq6yuq+zu7G1vbS3v4edx4Gcz5OWwZWZxJacxpeeyZiSwoipzoOi1YSj1oOp1Iep3Iir3pGtzpmhzJek0pim05qo1p2t2bu/yKW97qi/76qz9ZPE9pfH9pzJ9rzAx6DL9qTN9qvB8K/D8KXR/aXS/6nQ9q7S9qrU/7HF8bXI8rfJ8rrJ9LrM873N87HY/7ba/7vd/8Kcldm6huPEguXGgv/dmfrnhv/mgMXIzdDS2MzV/9Hb5tXf6Nnc4MHg/8Xi/8zm/9vi6t/m7NHo/dHo/9br/9zu/+Tm6eTp7uTq8uns8OLx/+7w8u32//Dx8vPz9Pb29vf39/T6//j4+Pr6+vn8//7+/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjuANEIHJjGDBpRqhIqRAOrYcNXrtCEkIDF0qmEDB1CXLVhgwYLcEBhbPXQ1SpTkybNyTBFEkZWQVq48DEECalPnghNuIMx1Q8TL4AQcZREiBpDD7ZgRDVCgQgUKVawUNGlUIMsGEvxIFFiRo0iNmiQGXQ1YZlRO04suNFDyZIcZwSVVeUllCIZDGLoaHQEx4dAcztsugKDAhVGjyBZ8bBnLgdNY5pAiVJlkREpIPTMxVCJ0x8/efDYqUOHj5y5Fyh1yoTpUiJEhwD1ieNAS8IKb9y0YbNGTBgwX544icAlYSQmEBw0WM7cAQQmkRIGBAA7]]></data>
	</file>
	<file>
	  <filename>/images/MP3icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AEBAWxsbC99zzVxwUGU4GiY1Ge/+3Gw6Hmx5oSEhI+Pj76+vou654286JC+6YHG947S/pLA6pXC65fE7JnF7ZnG7pvH7pzH757J757J8KDL8aLO8qTQ86fS9KnU9avV9q7X967Y97DZ+LLb+bPb+bXd+rff+7rh/Lzj/bzl/7/m/8nJydXV1cLo/8bp/8nq/8zr/8/s/9Lu/9Xv/9jw/9nw/9vx/9zx/97y/9/z/+zs7OL0/+X1/+j2/+v3/+75//f39/L6//X7//j8/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAi7AJUo0SAjBowXLlisgGCDiMCHMpowWZIEyREjGSJUcPgwxsSKF4s4YNBg40MYFC0aKTIkyA8SE2w8fAFyZcsfPUYsqPGwhcoiCoL24BFi50MWIYco8KGAx44PRgWqWCkkiIIeCnbo6BBVSQqgQZsGzcGhK4qqPoZqzYFjQ9cTQNI61cH2BoauJuSuxXGDxoWuJdTS5UtjhoWuEkSA8NCBwwYMFyw86GqDwoLLmDFTkCmQiI0aoEOHbqgkIAA7]]></data>
	</file>
	<file>
	  <filename>/images/PDFicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8B0dHSQkJD4+PnJydHNzdXV1eH9/gYEFB4sBA6sCBdsBBNcaHdsaHt08O+kBBe4BBPUBBPoBBP8BBf8FCf8HC/8MEP8NEv8TGP8WGv8bH/8iJf8oK/svM/8yNf83Ov84O/8+QN9PTtNSU9NlaedISOdJSulMTeNbW+1TU/9CRf9JTf9UV+JeYOFwceVxcep9fP9iZP9rbf91d/59gIGBhYiIjYqKjYyMjqmpqaqqqqiorKysrK2tra+vr7Gxsba2tre3t7KyuLu7u7y8vL29vb6+vr+/v7q6wLy8wr6+xtuEhti2ueWNj+aPkOianemqquqqq+q8vsDAwMHBwcXFxcbGxsfHx8PDy8jIyMvLy8zMzM3Nzc7OztDQ0NHR0dLS0tPT09TU1NXV1djY2NnZ2dra2tvb29zb29zc3N3d3d7e3t/f3+vT1ujb2+/a3ODg4OHh4eLi4uPi4+Tk5OXl5ebm5ufn5+/i5ejo6Onp6erq6uvr6+zs7O3t7e7u7uTt8Ont8e/w8vHx8fLy8vPz8/T09PX19fb29vf39/D///v7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjxACUJXIPESBGDRYocySOwoaQnYaZIibKEyI86RuAI7LGjBo0ZKlKcMGHBB6U6QjTyQEFCBAgPHDRgmNCA0skifXSUGBHiQ4cNGShIAPLAAYQgaSpIWMp0aYQ/Y7wwEdOkYZc1ZM7QYREnT5s0YNwksZqHzZxHK/gY8gPHjB4kVvu8MXTnApZHiPysAVTEKiA9kHIouqIlkqA3g/oK7GKIkB0YWbK8cCGDCiPFkro0chRjC55FkxJVaUEIc5dANqw4KgTIT543ZeaYvoGDUR89ctqgOXNADWYolSQdIvRnT+40X9QMaeiEwYLn0J8rYKAkIAA7]]></data>
	</file>
	<file>
	  <filename>/images/PHPicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AAAgDAwkD8/n2BgoG9vr39/v5CQsL+/3/39/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAhwACcIHEiwoMGDCBMmfMDwAcIIDxosaEBRYoMHEQZGgNCAgMePHhtAyBiBogQJHSUQmEDgJMUIDha0XDmTpcoJCxx0bCmBAU+bPQlcTPnx5kyhDnWqJMBAZU+VDRwM1CkR5MSoBhlWvOhQodevYAsGBAA7]]></data>
	</file>
	<file>
	  <filename>/images/PHPImageWorkshop-Bildbereiche.jpg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/PNGicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8FdgcVhhcl1ldmJremNsez1tvSRw1UdHrGBElGFyim12hm98rmz5NljwUAyL8QOb+QGZ/wmU8g+n4nqDk3OCtXaIu32HskOW5USm91Or9nqPwn2VyH278u81D/k0Bf80AcZ7e9zJJOXUCfrNAufGJ+fGKOnIKfDMKu7XZIqQnIuOuIuRtpOapqWrtq6yuq+zu7G1vbS3v4Gcz5OWwZWZxJacxpeeyYOi1YSj1oep3Iir3pmhzJek0pim05qo1p2t2bu/yKW97qi/76qz9b/DgYbG/ofP+YrO/5zG9ZnL/LzAx6vB8K/D8KjP/6fT/6nU/67S/6zV/q3W/6/V/a7W/7HF8bXI8rfJ8rrJ9LrM873N87LU/7PX/LbW/7PY/bLY/7fZ/Ljb/7vZ/7nc/r3d/b3e/8XIzdPH1NbM2dDS2MDb/8Td/8zV/9Hb5tXf6Nnc4N3jxsLh/8Pm/8ng/8jk/83h/87n/9vi6t/m7NPp/9br/9ns/9zu/97v/9/v/+Tm6eTp7uTq8uns8OLx/+Ty/+7w8ur1//Dx8vPz9Pb29vf39/D4//b7//j4+Pr6+vr9//7+/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjoAIcIHEhEyJBFlBIqHLKp4SZNmSwNMTHhRp5ICRk2hGipkggRITooSZQR08OIlSDZsdMEhI05GS+lmKmCz6FGhgiJoUAl46SZKB5o0BBl0B8yDHRklDRTAoShGtr0GaMAR8ZHKU5EeDr0SZ0wVRMGYRRHDoYNHIZOoQMmLCUeihwhgnLBQoYRaNh8cVtCEKJCMlqwWCFlzRkrbkkEKqQnhosXMJx4KVPF7Qc8gwC5UWOmy5YsWpi49XAHkJ89b9ak4YLlypIFORJWSILkiJEiQH746FGDhoMdCeHMaLBAgfHjCxrMgJMwIAA7]]></data>
	</file>
	<file>
	  <filename>/images/PPTicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8DZKZDdLZVYMD3YaFHwgGHij63ul6Hyk6YAkHIMoHoYrLYgsIY0xJZA0J5I1LZI2Lpk8LJE3MJE6M5E7NLA5L6JEM6RHNK9HOapMOK9QO7xPL7JTPZ1dSLBfRLdYQbhaQr1eRb9hSNlZK8BhSMNlS8NmS8drT8hrT8F0W8xxU8xxVNB3WNF3WNV8XNV9XPV7QtmAX9mBYNuDYu6CVPCSW/CRXPCdXfCcXuiPavCRZ/CWaPCWa/CXavCbZ/CZcfCgb/ClavCmdJOit5WkuZamu5movpyrwJCu1p243p6434Cn54Gn54Sr5oWs5oit5Yqu5Iyv5I+x45Gx4pWz4pW04pm24KW0yqa2y6i2zaq5z6G63aS73aW83Ku60a290q6+1LDA1rHB17LC2LrF1PC2gfC9i/DFkvDJl/DNocfa+Mnb+crb+Mzd+M7e+dDg+dLh+tLi+tPi+tPi+9bk+tbk+9fl+tjl+tnm+9rm+9rn+9zo+93p+9/q+/bWxv7n2+Hr++Ls++Hs/OLs/OTt/OXt/Ofv/Ojv/Ojw/enw/Onw/erx/e30/e/0/e/1/fzz7fz07/b29vb29/f39/P3/vT3/vP4/vT4/f/79//8+v/9+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAj7ADkJZLNGTRo0Z8aICQNmk0AePHbcqEEDhosVKjpVgrJAEycepBCd4MDBxCFSKjxZatKmow5EITKFYsCBwiEUoC4xWcATxwlMokYxYHHkxIgoSM2UWWADQ44eQkgYWYIBxCdLkhaRUTCjQxw5b4YMSYJBA9IohqQoiHEiCBw3SIr8OGHBEqVGhb4oeAETiBIiPjwgmnBWUBcFLULK2JBBBiJSDiAxItRniwIVKUqI+KDhQgUJDc7myaJAIKcnkSZFeuQoEaE/e+5cKS3QiSJGaM8irVOFNqcmggYFAuSHDx47dOZE8M1Ez5QvXrhowWKFCoQHvhVo3859e0AAOw==]]></data>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/facebook.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/facebook_en.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAF4AAAAUCAIAAACLcx0zAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABDJJREFUeNrkmLsvZVEUxu+9roREYdB4NR6V6ISCRENHI1FJlHSUlP4FpVaiIdHQUdIIBYnKUIhXInFzq6vB/Nw1WbOyX3OYxsys4mSfvdfZ+1vfeuyzd/719fXh4aFUKr28vOTz+be3t1wuJw37mquK9OiQKqjwWigUHAXpsTrSiPX701pIVt8ilCF5dWA7mv7kjjQ2NnZ0dOSvr6+fn5+bmppqamp0XmdSB02QCx3KsnaCAocpNdhSwxOPBkFK21GwOgI4Dezx8bGhoaFQLpebm5vRZi5FbNE7xvjQFY2IdX7MZutbJ2TsWjZILZVits5j6dOvgvHluzYoEEIaFezCuY+IdZQaFrTWdmrkJyIlqK/P2AwSKQ4eCxX3Z7QRTcpL0RrgfFmpVDY2NoIfT01NkYO+tTHQfjgEddJOclaJTRKbIWOaKxVFTTx/uu9VCX6svFi5urrS9req5L624HsSp62tLThaTGTg09OTNHp6enp7e7W/vr4+ONfa2lpXV5e07+/vR0ZGxsbGvjI1gNzb25ufnw8GTjGR/BcXF9IYGhrq7+/PspgugzdWV1eVmru7O57WP/SwMyqVOBCgra2tlvdSVUSHkLSRmBjy1xIdtmT7OSumK2kxsdvbbNI20Nvb27PEqra3trYEbl1dnXBHfAFOZltcXDw/P0cHXmBndnYWg/f39y8vL0Wnu7tb4hfz+JxnbIgP/bWWlpaEQSZfWFiAHSY/ODgQmlCLlZuilnQndiwvthiPjo4mqMFmjdWJiQkamA1N2E97fX2dV1FYXl4W1jASrMIIFu7s7Iiy6PDtysqKmM2QlrPgUKUqdq2+vj7a4+PjonNycjI8PAwv8IVXxAExW4r2D8IO3N7exvb8RLAAgicgSKWBgQHhCIhAEQWJc7wtr9PT05IC4lie4nPVkfySUc212JC/llAjOhIgNm3pj1HznlD2/9rKzc2N7tODg4MZC5uAIAQIH2ARtACiHk9OTkqG04PTJB20TAAUb+vz02XVXyuoQ43zs95PqOgvsyYU29NHIYIJiJubm7QhiDA+Pj7GnxRmuKCHtvQQ9thAD5nFEE/x8+fEX8vXkbAlldDhmfjzDG/eZJMwig+DvzCJkBGBGkKX7AAKQUSkMCHpo2EFLO0hwg8PD9lHyRRqgRzw/GltZ3AIl/hrqQ6jYuzc3Nzu7i7YWAuQwWx6l7OzM06Zzt/w0dHR9vY2DfbsmZmZ7IeGryx6Cvnt8RIdgqMQNE8LjbD2z0gWXn6dFU5PTzs7O/9wyb8oarKg/Rk1tbW12c9d/4+8//JRnPihpNY6V3n+SdTeDzm3R8FTmL09StyN6YoS6s4VVHC2mPMT1zFBMDGBEOr6u7VUlnK5HDsxxC5Dg8sofcEryFhgC7lCjU+Br2wvq/yZLWAdkisYXqWRpqalpYVN84cAAwBnN6BbOzumRQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/gplus.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAUCAYAAADskT9PAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAqlJREFUeNq8Vk1LKmEYPWOW0QdYG60Wha2Ctl0oJAgRN64S3IjWJrA/0eXeP9GmxQ1B3LTTduEmgjQCURA3kYKhYFn0ZfZ15zw0g4GTt+h64JnR952Z88x5zvu8o0BFOp1eVU/ravxAd5BSY3Nubu6PkkqlNoaGhn5NTExgYGCgK+x3d3col8u4ubn5aX55eVmfnJyEyWTC4+NjVxLo6+sDObPZ7Lr59fXVrigK1ETQLaicICe5qUBXyVuTIC8VwMPDA+XA9fU1isWi1EiD1WqFx+PB6Ojof0lCFIhEInC73VhYWIDZbEYikUA+n8fs7KyQ39/ff0ml3d1dlEolhMPhtvO6AoODg5iamtLffGlpSZTI5XJwOByw2+2fIm40Gjg4OBByjchIARMnuQKazaYMMJ6enjA9PS0X1Wo1fdwootHou/+xWAyVSgW9vb06UbsQbh4uLy/FB60TVIVgSTol8OZoPWZmZhAIBNDf398xAfHA8/MzCoWC1FzD7e0tLBaLlIAXtwO9Q+WIra0tWd/BYBDz8/PveorR/boHiKOjI/T09GB8fBzVahUnJydYXl4WBYxquLa2Jm+/vb2NlZUVIaJhtaQ6JaCvAt6cyWTENIeHh6KI3+/H8PDwh91RMy0fRMXaEXRSQDxAszidTni9XiEneG415kcRCoXajrcmYugB/iARg3LabDYpQTwex+LiIsbGxjouO3VTaTtOP/CZRvN6CU5PT3FxcSFy07mUnl1xb29PlOHG8RUYEb8zIQ9nZ2dCxO2YpiOSyaS05/39fYyMjEhS3w3xgCpD2eVySc2vrq5wfn4ualB+LictwX/xwmfire+UmcDm8fGxtM9Wc9TrdWkohPrB8q3k9BvLTm6FBDs7Oxtvn2T2Lu3GFX6S+Xy+338FGAAJF8SL8w1B7gAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/info.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEhJREFUeNpi/P//PwO5gAWXBKPJLLip/8+kMWJTw8RAAaBIMyMlfqbIZhZ8AUVygIEU4lI8eEJ7iGrGSCTYogpXlFGUwgACDAAscBx3xB6/8gAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/on_off.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABcAAAAYCAYAAAARfGZ1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABLdJREFUeNqMVV1MW3UUP/f29va2vW1pOzZqR7sVyhLKwOBkLzyYmAwIMTEGXhbfTRb1QX1ftviyJ2OMM4EHEh/MCA8mJiaauMosH9u0ylikHUI2KtgPaGlL6W3px/Wc/yi0DCcnOem9//+55/zO73yU++r2bSCpVCr6+fv3P1FV9T2r1XpGQMlkMhAOhyEUCsFxgrbA83zJYDAso+2Pe3t7n4uiGNFqtexe2LfrfLS4+MBkMslDQ0PgcrkAP4CdnR1YXV2FQCAAy8vLEIvFGhyTlstlLTr1YRBfoVC4pijKVbz+tubc9ufS0pzX65VHR0fB7XY3oOvt7QWfzwfj4+OAwUGv1zOn+9lCqVQCdMqApNNpCfWbbDbbh9ePBYz4MV5Y+vv7DxxzHNeAsLOzEwYHB2FychK6u7tZVnROzhE15HI5SKVSEI1GYWNjQ8LfG3j3jhCLx0c8Hg/04EdqtQq8RtOAnAJV0cmrPT2MHqSBBSDnVbQn5Pl8njlfX18HWZapDoORSEQUMIKjqakJqAjVY5yT0Dl9JEkSQ0oZ1nEOxWIRqPj7juldj9k0C3gQxxcT8UYBhP1K1wuhI07p1+l0Mu5rlFFgCkBUUZaURTKZJIpSvN1uv6NBtCsrK1BCVEUMUkc4KGhcRqfULZubm3C5r4+dk1JlNIhUREAGLLTFbAa7zUYaxCsFs+BvIZKdmdlZwCpDfncXMtvbkMPnTDoNBUWBra0t+C0YZHScbW2FIoGo0z0MXsa6UA9xGAypvT4wMMBaMYdc9mCKjyenpoyvYeu50AFxRzQ8W1uDPxYWgLIbHh5mHXHcMBE92wgqHo9fx6PvWTNMTEwwg/n5eQ0im0Te3sJXUafTsUJRB+GwNrTnUcekCCSIdbnp6+r6DgM0TCibCdQRegiHQjbsoMtonICXSN0wLXV0dChH7wXilKT74kX97NzcR0uhJ6Pb6bQnntiS8WPuOMR09vqlXvC2t2HnyGpBKezcC8wE/H7/NeQ6Qt1iNsmHu+Wufzrww0/TNkGUQKPVgWxtweJQz3MNlHg9LujxeWHwypu1HcRhhmbcQcPtbW3P1iKRL9Hsg4PdElxYnPHP/Go12Z2gM1hAlIwYQGIDxXE8C0Bi1Ivw9pVueMkO4sbGxt5H5ET6p2y33P3lodXc7Ea0DjA2nQbJiBOrMwAvaJnzGnKPvQz/t4Noq+K03sQd87Xw9z+xkaoWm7+lDSzN50C2ORh6oofX1LrkuZOz4qOT7iAO98xVQSmUW8ynXGB1tIP1jAcMiFyUTKAh1HyNFgBe3QNjSTjxDqqq0CUYZTmBXJvN9laQkXODyX7INyE+SF2FYrwIJ91BPMet805H8x2TxQ6SbEU6zCDo9DiNwnPEDW3IgaJznXgH4adTvCjwt7rclhTRwPMCRtQccXooecMFOMkOim6m76F5kO2WjleES/l49kGpmG2u8Op+f78oBZAhWmkF3EHwXzvo6UYqjKZv1I//079+9zvazrk+y1Y071ZV3lrfJfWSRk0i3YmfH4JZN4/F00G+gH8Wu5VkNl++gbC+OBj/I7vlQ9JsdMmGiM5zcDw9OdQEK7EKp5rk04lkZvqC9/wLu+VfAQYAUOGVdlqrCcAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/settings.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAjRJREFUeNpskrFvEnEUx7+/o6PHZAfpH8AlKkLLdZLTA7caqYlJbS1RF3WzFY1Ll5oOpUZNm1gTW6c62JSYghHTJgVjFRIw3uJAsQsDdPaOsfZ8vx8HPaIv+fC43733e9/3Bdi2rRAlYo5QQRE4E1QajcZPehYUvxUXz54OyPSdM0qkeb1EtY8JmRgllrTzF9OU09nMB3RidvZJjFJp/d36EuU5QuH1ffSRIVSnTtYuaEo2k8Xa2ltUymWYloVmoyleRrSIiuOw+OQdoto9MU3Y9pHIlcp37FX36NmGfWTDNC1XL5ZZe8dzi+FwOCbLJ5DPF9qvbIgmd3i9XsSvxlHIf8bBQfMaSz54qGxvbae7FU6TOqxCVcNCdnYzC6tlgTGJYAR43mTczQztuDC/APO3KfoVxY+N9xvd+wqkZnoq2WmCrutIPkqC74x4/Ar8fn+3OHop2iNXj+qQJEZIgonJcfh8p9DnLmLtq2FZrZ5mi6TzprZkAsIqeBKJhDpx/cZArVYTO3k8Eur1OgKBAN3uE43Pn73A/q99MH4Bkct9IufNhuN2sESyZDFZKHAbIzmK4Ex1FIKlhOxbt2+WQ6FgjE+6e+ceWq3Wf5tGLo9gavo+ch9zONnfX+FuD9D5Vme/lderWF158+8kolj66rZih7s96T4xDIP2YggPDWH51UuknqbEnhIp2f2y6y6NSeiNivHDmJEYq46Nj2FwMARNi2BYVS3+pzg8/DPDze/8CH8FGABkVOJHgxsWhgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/socialshareprivacy/twitter.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAADcAAAAUCAIAAACmgTKJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABNtJREFUeNrMl0lInEsQx2dGTdy3GBfc0bhjiEbiirhcFBRF9BQIqAiCR4+eghePevCiKJqb4MGT0SDuC6ioCK6ICDGuuO/be7+x3ut8zKee7cM33dXV1f/+V1VXj/Hm5mZjY2NnZ8doNP7z2AwGA32DpskUHb4yxffh4cH42EQoClod6eutKX2Ra20qfWXNy8srKCjIuLKy8ubNm8DAQMOrbDAIj6bd3d1XC5EGNhCaDK++4X1rfu7u7ggyfRSqZjKZRMEiClVgWdjVyp/T0ce9PsRlit1N+vVKooJ6ZGSkq6uLDNPmkDbbsPMkROlo80nZ1GaV1qz2bPKFIDOXt7e3sivjsbGxuLg4Ozs7Zbq+vn5/f9/JySkzM/P+/l4MjY6ODgwMCDgRxsfH5+TkKGJoQoEFPYoXPW2/f/+2tbV9//69BfeoWZWVlZHt6tDT09Pt7e1//vxhgbu7e19fHxRaWVkdHx+vr68DRVZaW1tzJHt7+9nZ2cjIyJCQkPDwcBcXFzm6mJKOSLS8KgXlCvk2NjYC9OPHj0ouU9vb22aUPj4+irno6Oi5ubmtrS22Pzw83NvbQw4mCEOYlJR0dHTk6OgItVFRUQEBAb29vd++fUM+MTEhiK+vr2tra8lNNze3+fn5jo6OL1++/Pr1q6WlZWho6O3bt97e3hx7cXGxqanp58+fpHBERASazLIdu2OE86uzgdIkHgcEOcSXy6mkpAR2XV1dNzc32VLiF2SEwffv37lf0Uf54uKCWZZfXV1dXl46OzsTBliYmZmB/sHBQfp8AUQUdXd3FxUV5eXl/fjxY2FhgY0bGhoSEhJKS0vR7+zs5MBY8PDwyM7OZi9JaCywlzl4pIQo5mng8/f3Zw1OB5+ghM53796FhoYKMgk7bZgTzWBdXV2dmpqCSLgBPcOUlJSenh5CQjyA5eHhYdADCCF2YmNj8QNTDg4OePXTp08cTOt0czSzwf1jg/mHxwag/Px8gkxlrizAxRUVFenp6eqgNDGHRBTGx8ehqqqqCiG+Zj+EbIFbcDpRjrs/f/7MwrOzM9yNkLWpqanqpsOZ4lVl3xxyCgRHaW1t9fX19fPzwyMnJyeqXqONfxMTE4VIuT75SnarvE5OTm5ubgYHJReGJicnAYSmxDrhC539/f3kGe6C0dzc3A8fPpCvNjY2goFQOT8/B4m6IsS+ucdm2MK/X79+JWNwEOmsOGeWqeLiYmxJeoo+ze6x4SyRxMTEMCSTGKalpSHJysqiX1BQgCurq6srKyvxNZGArwsLC+vq6srLy9va2oSpjIwMqnZNTc3BwcHD/43lZha4scPCwhiIfwFELi8vL5PLDGEFaiEGRwhEoU3opO/p6cnBxEcMIYkOfOBr8hQPSDCInFQg3Ll9WQuvHPv09JT7DljMkv5IUGa5wsNeBLcZZXBwsKKX9SCTdBGJBIoWmf4Z9kIJ1tYYbIqpv0Xl8d7V1kmLhx/9tbU1a1Xf/osAk0lODzj9409Z15bEFxBrqwurtBBlFolcIxZJ/cRrQ9W95968ehASLhaABL3+4aIquwVVypQF5Srf/9qRW5oMeIEV/SvphUeQnglVu597TL0QNlRmUsXIVUz1XFpa0v9h0F7a2nfQkzGnDVkLZe2T7Mn/GC8cnmuLfxT/CjAA3XNRysZKvs8AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/TXTicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8GhoaGpsbHFxcX5/f3h4wHh4wX2BgZBrMYZpQoRubY15b5N9YqOEPJ2CXbyaTamQb9S/S4CAgI2NjY+QkJSUlJ+fn5uhobyqkaOjo6Gko6enp7GxsbS0tL60uru9vby/yrm207bKzrzAwLvN0LzM1L7N1L/N1b/O1b/K2L7Q0dvPtcHBwcPJyMvLy8HP1sHO2dTU1NbW1tfX19nZ2dra2tvb28TG4sjI4ufh1Onj1uvl2ODg4OHh4evn4ejo6Onp6evr6+n08uv18+z19Oz29PDw8PT09Pf39/H49/f7+vj4+Pz9/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAivAKMIHEhkiBAaR6AMFEgFg4YIFjRU0DDhwo4nC4M8eBAhBAUVGU5cEFFkoQMgEpZIcCJhigQrDHiYbLGkphMpU6rA3GESR80lN3PuNBljSYOjKIQy4DnQAYyfQXUuNTnD6NEGKKwMbfoCKk6pTAU6kGEVqdapTXN4VRo2igMXRlFE3Sp2RU0mTWywGNHBw4+FSVKAgLBAAYMNHD7UQLIQSo8SJEzUuKHDhxElCgUGBAA7]]></data>
	</file>
	<file>
	  <filename>/images/XLSicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8DVJGjRNGTVNGDRSFzRTFzRYFTReEzReFDVeGjNpDzNtDjRtDjRjETRkEjZjGztoHjpvHjNwDTlwHjp3GTx3Hz57HjJoKDtxIjp9Jz99ITZKZDdLZWB+XEKAJUaELEeFLUKJNUeIO02MNk+OOUiSP1OTQFKXSFiYR1qaSVieUl6YVV+hU1uiWHCbbWGiVGGgWGWnW2eqX2SoYGmtYmqsZW2wZ3SlcHij63ul6Hyk6YephZC9i5ywm5Oit5WkuZamu5movqGzn5yrwJCu1p243p6434Cn54Gn54Sr5oWs5oit5Yqu5Iyv5I+x45Gx4pWz4pW04pm24KW0yqa2y6i2zaq5z6G63aS73aW83Ku60a290q6+1JPCjpPEjZbEkZrGlrDA1rHB17LC2LrF1MDRwMzay8/dz8fa+Mnb+crb+Mzd+M7e+dbi1t/p39Dg+dLh+tLi+tPi+9bk+tbk+9fl+tjl+tnm+9rm+9rn+trn+9zo+93o+93p+9/q++Xs5eHr++Ls++Hs/OLs/OXt/Ofv/Ojv/Ojw/enw/erx/e30/e/0/e/1/fb29vb29/f39/P3/vT3/vP4/vT4/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjxADEJZLNGTRkyY7546cLlksAfPXTUkPGCRYoTHzJNYlLCEqYfnUKKDLlBEyUkbTr+MMMDRqc3NGgYocCp0pESOHcgOuNDBZAcK+xMaEJUTJgSODrBSWNDBAg3nSxsotRkERgSMToVmYHGRogbdyIQbXLICYkWRTxowFDERYYlDyhJamJoCwkUI4lwkGCiwdhAWUiMGDmSwSNGhPhcIdFhQ4UJFyA8cLBAAaNCTfJUISEQkxJIkSA5apSoiZ8mdaZwFphE0dgmgsbOibIaE5JAgwD96bMHDx05cYbUPqLnyRYtWKxQkQJFSJDaJKJLny49IAA7]]></data>
	</file>
	<file>
	  <filename>/images/XMLicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AAAAAAAgAAAmQAA/zNmmTNm/zOZAACAgDOZ/zPM/zP//4aGhqbK8MDAwPHx8ff39////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAiDACsIHEhQYIaDGSpoWMiw4YEKCBU2XIhBA4YDGiAmpGixY0UAIAFsxJCgogEDDyyW1CBSYQIGGgxooCCBgAYGJVu+tGiAwgQIBCribKlh5wMJEBrYxImBKMmKBKKq/LjRo9WKTUc62MqVK1WJWK9adNq17FeOYdM6FRtWZMi3cENmCAgAOw==]]></data>
	</file>
	<file>
	  <filename>/images/xml_rss.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhJAAOAOYAAP/////9+f/9+v/68f/58P/45P/24//z3v7x2/7v2v7pvP7os/7muf7nqP7ktf7lr/7jo/7iq/7jmf7frv7gnv7cq/7fiv7cmf7YlP3be/3eZP3bYP3Vm/3aX/7Uj/3VfP3WWv3Qiv3Rgv3VWf3UWP3SXPzQY/3Mhf3PUPzLU/zKW/3FafzHRvzDU/zESv3DXfzAYvzAPPy8S/68N/64Mvy2Qvy4M/6xKfywOvywKfypMfuoJvypH/yjKfukHPuhFfucE/uaE/uZC/+WBf+VBPuVCf2TAvuRAPuSAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAEkALAAAAAAkAA4AAAf/gDdEREOFhoeIiYqHgjMbGpCRkpOUlZAdNIMkIJydnp+goZ+DKKWlDQWlGQUlpQUSphasKLKmtqWDLLq6KQALLAIGuwAAuwICJiwQxbvNLIMx0dIPAAoALtLEHzEqxCoxFADS49GDNufoNsQR6QABAzYMxC02FwDp+IM5+/w5BwAi+gHAAOAFAAcAZOQg2K/hIB4QI64AQABARB4AalQMUCMjDw8WL14c9KOkSQAIfACYcBIHDAAhcADA8SPETBw4dpgsOUiIT58VAAARwgGADp9GhQAQoiPpCWLEEvz0OQiJVas9glztUQSr1a5IenztQTbrVauDiBxZy7at27dwDd0SMZK2rt27ePPODQQAOw==]]></data>
	</file>
	<file>
	  <filename>/images/ZIPicon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAIcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8ARLsBJPqRZQpyFbrSNfsChltixquydpxzt6xDqA0DmF1ziZ80OK10mH0U6P2FqU2FuZ11Oa4lOa5F2l61am9Fyr9nGc02Go62as7W2h4G6x7mGz/2i3/3Sk4HCv7nKx5nWx5HW38Ha38He09HK7/3u88Xi+/6lsDKpsDKtzHLN7DrJ9DrF6IvEZAbeDJ86gDc6gD8+hDtKgB9SjCNWlC9GlE9WmENWmFtSnG9OpHtSpHt61AdSpINSqIdiuKNm3Kdq0Ktm/Ktm8L9m/LNm3Mdu5M9q6Nd6+O/bNLPzUMf7TOP3VOf3ZR/3aUfzZWPvdZPzebfvedPPkbfzifYKx35Cz3pC235S335a535i534HA8oTD84jD84nJ94vK+ZjC9ZvP9a3b+bTP9rzl++PMgvfvgvzkhfrjj/vnl//4hvr1kPr1kfr2k//6kP/7mv79mfroofrprfrrs//9pP//r/vwvf//ucjY9sfs/fjuyvvzzv//xPn25ff39/T//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////yH5BAAAAP8ALAAAAAAQABAAAAjRAA8JHFiGzIsVJESEGOhmh0M3IRAJarNGjRkWFwTmuMFxR4SPICd80KDgkA4lSZY0YeLkCZQoNA55UVHySJ5CgPz0wXNnDpcah8CUKUnEjqFBe+JswUKlCFAxaEoOqUOIj5wuWaxMcXoIqlSqVrFq5Rom6iEjdP7ogaPlShUpXMecKfnjDRIhQYD46MGD65cUJXHYkBFjBkiQIFB0KDlQYEQTJVzAgNFBQuPGISA8cOCgAePLoEMsBN14w4kRGTBYoLCA9CEOgdikaeGhAoNDAQEAOw==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBUbyBkZW55IFBIUHMKPEZpbGVzIH4gIlwuKHBocHxwaHAzfHBocDR8cGhwNXxwaHRtbHxwbHxjZ2kpJCI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgb3JkZXIgZGVueSxhbGxvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogIGRlbnkgZnJvbSBhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPC9GaWxlcz4gIAo=]]></data>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMgMC05CiRsYW5nWyc0MDQnXSA9ICc0MDQgRXJyb3JzJzsKCiMgQQokbGFuZ1snYWRkZmlsZXMnXSA9ICdBZGQgRmlsZXMnOwokbGFuZ1snYXBwbHknXSA9ICdBcHBseSc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZT8nOwokbGFuZ1snYWN0aXZlJ10gPSAnQWN0aXZlJzsKJGxhbmdbJ2FsdGVybmF0aXZlX3VybCddID0gJ0lmIHlvdSB3YW50IHRvIHJlZGlyZWN0IHRvIGFuIGV4dGVybmFsIFVSTCBvciBhbiBpbWFnZSwgdXNlIHRoZSBmb2xsb3dpbmcgaW5wdXQgZmllbGQgdG8gc3BlY2lmeSBhIGZyZWUgVVJMLiBUaGUgVGFyZ2V0IFBhZ2UgZnJvbSB0aGUgdXBwZXIgZmllbGQgd2lsbCBiZSBpZ25vcmVkIGluIHRoaXMgY2FzZS4nOwokbGFuZ1snYWx3YXlzJ10gPSAnQWx3YXlzJzsKJGxhbmdbJ2F1dG9saWdodGJveCddID0gJ0F1dG9MaWdodEJveCc7CiRsYW5nWydhdXRvbGlnaHRib3hfdXNlJ10gPSAnVXNlIEF1dG9MaWdodEJveCc7CiRsYW5nWydhdXRvbGlnaHRib3hfZGVzY3JpcHRpb24nXSA9ICc8cD5NaXQgZGVyIEF1dG9MaWdodEJveCB3ZXJkZW4gZGllIEJpbGRlciBpaHJlciBXZWJzZWl0ZSBpbW1lciBpbiBkZXIga29ycmVrdGVuIEdyw7Zzc2UgZ2VzcGVpY2hlcnQuIElzdCBkYXMgZWluZ2Vmw7xndGUgQmlsZCBncsO2c3NlciBhbHMgZGFzIE9yaWdpbmFsYmlsZCwgc28gZXJzdGVsbHQgQXV0b0xpZ2h0Qm94IGF1dG9tYXRpc2NoIGVpbmUgS29waWUgdW5kIGVyc3RlbGx0IGVpbmUgVmVya27DvHBmdW5nIHp1bSBPcmlnaW5hbGJpbGQuIE1pdCBha3RpdmllcnRlciBMaWdodGJveCBGdW5rdGlvbiB3aXJkIGRhcyBPcmlnaW5hbGJpbGQgYmVpbSBLbGljayBhdWYgZGFzIHZlcmtsZWluZXJ0ZSBCaWxkIGluIGVpbmVyIExpZ2h0Ym94IGdlw7ZmZm5ldC48L3A+JzsKJGxhbmdbJ2F1dG9saWdodGJveF90aXRsZSddID0gJ0F1dG9MaWdodEJveCc7CiRsYW5nWydhdXRvbGlnaHRib3hfcHJvbXB0X3JlbCddID0gJ0luaGFsdCBkZXIgInJlbCItQXR0cmlidXRzIGRlcyBCaWxkLUxpbmtzIChrYW5uIGxlZXIgc2VpbiknOwokbGFuZ1snYXV0b2xpZ2h0Ym94X3Byb21wdF9jbGFzcyddID0gJ0luaGFsdCBkZXIgImNsYXNzIi1BdHRyaWJ1dHMgZGVzIEJpbGQtTGlua3MgKGthbm4gbGVlciBzZWluKSc7CiRsYW5nWydhdXRvbGlnaHRib3hfcHJvbXB0X3VybHR5cGUnXSA9ICdVUkwgdHlwZSc7CiRsYW5nWydhdXRvbGlnaHRib3hfcHJvbXB0X2xpZ2h0Ym94J10gPSAnTGlnaHRib3hlaW5iaW5kdW5nIGRlciBCaWxkZXIgZHVyY2ggQXV0b0xpZ2h0Qm94IHN0ZXVlcm4gKGRhcyBub3R3ZW5kaWdlIFN0eWxlc2hlZXQgdW5kIEphdmFTY3JpcHQgd2lyZCBhdXRvbWF0aXNjaCBlaW5nZWJ1bmRlbiknOwokbGFuZ1snYXV0b2xpZ2h0Ym94X3Byb21wdF9qcXVlcnknXSA9ICdFbWJlZCBqUXVlcnknOwokbGFuZ1snYXV0b2xpZ2h0Ym94X3Byb21wdF90ZW1wbGF0ZWNzcyddID0gJ1N0eWxlc2hlZXQnOwokbGFuZ1snYXV0b2xpZ2h0Ym94X3Byb21wdF90ZW1wbGF0ZWpzJ10gPSAnSmF2YVNjcmlwdCc7CgojIEIKJGxhbmdbJ2JhY2t1cHJlY292ZXJ5J10gPSAnQmFja3VwIC8gUmVjb3ZlcnknOwoKCiMgQwokbGFuZ1snY2FjaGUnXSA9ICdDYWNoZSc7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snY3N2J10gPSAnQ1NWIExpc3RJdCc7CiRsYW5nWydjc3ZmaWxlcyddID0gJ0ZpbGVzJzsKJGxhbmdbJ2Nzdl9kZXNjcmlwdGlvbiddID0gJ01pdCBDU1YgTGlzdEl0IGvDtm5uZW4gSW5oYWx0ZSB2b24gQ1NWIERhdGVpZW4gZWluZmFjaCBkYXJnZXN0ZWxsdCB1bmQgZHVyY2hzdWNodCB3ZXJkZW4nOwokbGFuZ1snY3N2X3VzZSddID0gJ1VzZSBDU1YgTGlzdEl0JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gPDw8RU9UCjx1bD4KPGxpPjEuMi41IC0gMTAuMDguMjAxMjxiciAvPgpUd2l0dGVyZmVlZCBoaW56dWdlZsO8Z3Q8YnIgLz4KU21hcnR5IGthbm4gbnVuIGluIFN0eWxlc2hlZXRzIHVuZCBKYXZhc2NyaXB0cyBnZW51dHp0IHdlcmRlbjogei5CLiBbW3Jvb3RfdXJsXV08YnIgLz4gCkZlaGxlcmJlaGVidW5nIEF1dG9MaWdodEJveDxiciAvPgpJbmtvbXBhdGliaWxpdMOkdCB6d2lzY2hlbiBBdXRvTGlnaHRCb3ggdW5kIFNvY2lhbFNoYXJlUHJpdmFjeSBiZWhvYmVuPGJyIC8+CkphdmFzY3JpcHQga2FubiBudW4gYXVjaCBpbSBGb290ZXIgZWluZ2VsZXNlbiB3ZXJkZW48YnIgLz4KRGFyc3RlbGx1bmcgdW5kIEdydXBwaWVydW5nIGRlciBFaW5zdGVsbHVuZ2VuIMO8YmVyYXJiZWl0ZXQgCjwvbGk+CjxsaT4xLjIuNCAtIDIwLjA3LjIwMTI8YnIgLz4KQWRkIEF1dG9MaWdodEJveCB0ZW1wbGF0ZSBtYW5hZ2VtZW50IAo8L2xpPgo8bGk+MS4yLjMgLSAyNi4wNi4yMDEyPGJyIC8+CkJ1Z2ZpeGVzIGluIEF1dG9MaWdodEJveAo8L2xpPgo8bGk+MS4yLjI8YnIgLz4KTWlub3IgQnVnZml4ZXMKPC9saT4KPGxpPjEuMi4xPGJyIC8+Ck1pbm9yIEJ1Z2ZpeGVzPC9saT4KCjxsaT4xLjIuMDxiciAvPgpBZGRlZCBBdXRvTGlnaHRCb3g8YnIgLz4KQWRkZWQgdGVtcGxhdGUgaW1wb3J0CjwvbGk+Cgo8bGk+MS4xLjE8YnIgLz4KbWlub3IgYnVnZml4ZXM8YnIgLz4KdXBkYXRlIFNvY2lhbFNoYXJlUHJpdmFjeSAxLjQKPC9saT4KCjxsaT4xLjEuMDxiciAvPgpBZGRlZCBTbWFydHkgcGx1Z2luIFwkdGJ0b29scy4gVGhpcyBlbmFibGVzIHlvdSB0byB1c2UgZGlmZmVyZW50IGZ1bmN0aW9ucyB0byBtb2RpZnkgY29udGVudC48YnIgLz4KQWRkZWQgZGlmZmVyZW50IHBsdWdpbnMuPGJyIC8+CkFkZGVkIHBsdWdpbiB0byBleHRlbmQgQWR2YW5jZWRDb250ZW50PGJyIC8+CkFkZGVkIHBsdWdpbiB0byBzaG93IFNvY2lhbFNoYXJlUHJpdmFjeSBCdXR0b25zPGJyIC8+CkFkZGVkIGEgVGFpbC1Mb2cgVGFiPGJyIC8+Ck1vZHVsZSBoZWxwIGlzIG5vdyBtdWNoIGJpZ2dlciA6KTxiciAvPgpUb29sQm94IGNhbGwgaXMgbm93IHBvc3NpYmxlIHdpdGgge1Rvb2xCb3h9CjwvbGk+Cgo8bGk+MS4wLjEgLSBkZWNlbWJlciAyMDExPC9saT4KPHA+QnVnZml4ZXM8L3A+PC9saT4KPGxpPjEuMCAtIGRlY2VtYmVyIDIwMTEKPHA+SW5pdGlhbCBSZWxlYXNlIG9mIG1vZHVsIFRvb2xCb3g8L3A+PC9saT4KPC91bD4KRU9UOwoKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdGaXJzdCB0aW1lJzsKJGxhbmdbJ2NvcHknXSA9ICdDb3B5JzsKCiMgRAokbGFuZ1snZGF5J10gPSAnRGF5JzsKJGxhbmdbJ2RheXMnXSA9ICdEYXlzJzsKJGxhbmdbJ2RlYnVnJ10gPSAnRGVidWcnOwokbGFuZ1snZGVidWdfbG9nJ10gPSAnRGVidWcgTG9nJzsKJGxhbmdbJ2RlYnVnX3VzZSddID0gJ1VzZSBEZWJ1ZyBUYWInOwokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ2RlbGV0ZWFsbCddID0gJ0RlbGV0ZSBhbGwnOwokbGFuZ1snZG8nXSA9ICdBY3Rpb24nOwokbGFuZ1snZG9udF91c2VfZXZlbnRfaGFuZGxlciddID0gJ0RvblwndCB1c2UgRXZlbnQgSGFuZGxlcic7CiRsYW5nWydkb250X3VzZV9ldmVudF9oYW5kbGVyX2hlbHAnXSA9ICdXaXRob3V0IHVzaW5nIHRoZSBldmVudCBoYW5kbGVyLCB5b3UgbmVlZCB0byBpbnNlcnQge2Ntc19tb2R1bGUgbW9kdWxlPVwnVG9vbEJveFwnfSBhdCB0aGUgYm90dG9tIG9mIHlvdXIgcGFnZSB0ZW1wbGF0ZXMuLi4nOwokbGFuZ1snZG9uYXRlJ10gPSAnPGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQiPjxmb3JtIGFjdGlvbj0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9jZ2ktYmluL3dlYnNjciIgbWV0aG9kPSJwb3N0Ij48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjbWQiIHZhbHVlPSJfcy14Y2xpY2siPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Imhvc3RlZF9idXR0b25faWQiIHZhbHVlPSI5QlFBTDlYVDQ1RkdOIj48aW5wdXQgdHlwZT0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vV0VCU0NSLTY0MC0yMDExMDMwNi0xL2VuX1VTL2kvYnRuL2J0bl9kb25hdGVfU00uZ2lmIiBib3JkZXI9IjAiIG5hbWU9InN1Ym1pdCIgYWx0PSJQYXlQYWwgLSBUaGUgc2FmZXIsIGVhc2llciB3YXkgdG8gcGF5IG9ubGluZSEiPjxpbWcgYWx0PSIiIGJvcmRlcj0iMCIgc3JjPSJodHRwczovL3d3dy5wYXlwYWxvYmplY3RzLmNvbS9XRUJTQ1ItNjQwLTIwMTEwMzA2LTEvZGVfREUvaS9zY3IvcGl4ZWwuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj48L2Zvcm0+PC9kaXY+JzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdEZWZhdWx0JzsKJGxhbmdbJ2Rlc2t0b3B0cGwnXSA9ICdEZXNrdG9wIHRlbXBsYXRlJzsKCiMgRQokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbmRlbmllZCddID0gJ1Blcm1pc3Npb24gRGVuaWVkJzsKJGxhbmdbJ2Vycm9yaW5zZXJ0aW5nZG9tYWluJ10gPSAnRXJyb3Igd2l0aCBkb21haW4gcHJvY2Vzc2luZyc7CiRsYW5nWydlcnJvcmxpc3QnXSA9ICdFcnJvciBsaXN0aW5nJzsKJGxhbmdbJ2Vycm9yX3RlbXBsYXRlZXhpc3RzJ10gPSAnVGhlIG1vZHVsZSB0ZW1wbGF0ZSBhbHJlYWR5IGV4aXN0cyBhbmQgaXMgbm90IG92ZXJ3cml0dGVuLic7CiRsYW5nWydlcnJvcl90ZW1wbGF0ZXVua25vd24nXSA9ICdVbmtub3duIG1vZHVsZSB0ZW1wbGF0ZSBbdGVtcGxhdGVdJzsKJGxhbmdbJ2Vycm9yX2RpcmVjdG9yeW5vdHdyaXRhYmxlJ10gPSAnRGlyZWN0b3J5IG5vdCB3cml0YWJsZS4nOwokbGFuZ1snZXJyb3JfaW5jb21wbGV0ZXhtbCddID0gJ0luY29tcGxldGUgeG1sLic7CiRsYW5nWydlcnJvcl9jYW50Y3JlYXRlZGlyJ10gPSAnQ2Fubm90IGNyZWF0ZSBkaXJlY3RvcnknOwokbGFuZ1snZXJyb3JfY2FudGNyZWF0ZWZpbGUnXSA9ICdDYW5ub3QgY3JlYXRlIGZpbGUnOwokbGFuZ1snZXJyb3JfZmlsZW5vdGV4aXN0J10gPSAnRmlsZSAiW2ZpbGVdIiBub3QgZXhpc3QnOwokbGFuZ1snZXJyb3Jfbm9maWxlcyddID0gJ1RoZXJlIGFyZSBubyBmaWxlcyc7CiRsYW5nWydlcnJvcl9jb3VsZG5vdGRlbGV0ZXRlbXBsYXRlJ10gPSAnVGhlIG1vZHVsZSB0ZW1wbGF0ZSBbdGVtcGxhdGVdIGNhbiBub3QgZGVsZXRlJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90cGFyc2V4bWwnXSA9ICdFcnJvciBwYXJzaW5nIFhNTCBmaWxlLiBQbGVhc2UgbWFrZSBzdXJlIHlvdSBhcmUgdXBsb2FkaW5nIGEgLnhtbCBmaWxlIGFuZCBub3QgYSAudGFyLmd6IG9yIHppcCBmaWxlLic7CiRsYW5nWydlcnJvcl9jb3VsZG5vdHJlYWR0cGxwcm9wcyddID0gJ0NvdWxkIG5vdCBsb2FkIHRlbXBsYXRlIHByb3BzLic7CiRsYW5nWydlcnJvcl9jb3VsZG5vdHdyaXRldHBscHJvcHMnXSA9ICdDb3VsZCBub3Qgc2F2ZSB0ZW1wbGF0ZSBwcm9wcyc7CiRsYW5nWydlcnJvcl90ZW1wbGF0ZWZpbGVub3Rmb3VuZCddID0gJ3RlbXBsYXRlIGZpbGUgbm90IGZvdW5kJzsKJGxhbmdbJ2Vycm9yX3Vua25vd25wYXJhbSddID0gJ1Vua25vd24gcGFyYW1ldGVyJzsKJGxhbmdbJ2Vycm9yX2N1cmwnXSA9ICdDdXJsIG11c3QgYmUgZW5hYmxlZCc7CiRsYW5nWydlcnJvcl9ub3RlbXBsYXRlcyddID0gJ1RoZXJlIGFyZSBubyB0ZW1wbGF0ZXMnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZ1snZXhwb3J0X3RlbXBsYXRlJ10gPSAnRXhwb3J0IHRlbXBsYXRlJzsKCgojIEYKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1Rvb2xCb3gnOwokbGFuZ1snZnJvbXVybCddID0gJ1JlZmVyZXIgVVJMJzsKCiMgRwokbGFuZ1snZ2VuZXJhbCddID0gJ0dlbmVyYWwnOwoKIyBICiRsYW5nWydoZWxwJ10gPSA8PDxFT1QKCjxkaXYgaWQ9InBhZ2VfdGFicyI+ICAgICAKICA8ZGl2IGlkPSJnZW5lcmFsIj4KICAgIEdlbmVyYWwgSW5mbwogIDwvZGl2PiAgICAgCiAgPGRpdiBpZD0icmVkaXJlY3QiPgogICAgUmVkaXJlY3RzIC8gRXJyb3IgVHJhY2tpbmcKICA8L2Rpdj4gCiAgPGRpdiBpZD0iYXV0b2xpZ2h0Ym94Ij4KICAgIEF1dG9MaWdodEJveCAgCiAgPC9kaXY+ICAgCiAgPGRpdiBpZD0ic29jaWFsc2hhcmVwcml2YWN5Ij4KICAgIFNvY2lhbFNoYXJlUHJpdmFjeSAgIAogIDwvZGl2PiAgIAogIDxkaXYgaWQ9InR3aXR0ZXJmZWVkIj4KICAgIFR3aXR0ZXJmZWVkICAgCiAgPC9kaXY+ICAgCiAgPGRpdiBpZD0idGFpbCI+CiAgICB0YWlsICAKICA8L2Rpdj4gICAgICAgCiAgPGRpdiBpZD0ic21hcnR5dG9vbHMiPgogICAgU21hcnR5IFRvb2xzICAgCiAgPC9kaXY+ICAgICAKICA8ZGl2IGlkPSJtb2JpbGVkZXRlY3QiPgogIE1vYmlsZSBEZXRlY3QKICA8L2Rpdj4KICA8ZGl2IGlkPSJwbHVnaW5zIj4KICAgIFBsdWdpbnMgICAKICA8L2Rpdj4gICAgIAo8L2Rpdj4gICAKPGRpdiBjbGFzcz0iY2xlYXJiIj4gIAoKPGRpdiBpZD0icGFnZV9jb250ZW50Ij4gIAogIDxkaXYgaWQ9ImdlbmVyYWxfYyI+CgoKPGgzPldoYXQgRG9lcyBJdCBEbz88L2gzPgo8cD5UaGlzIG1vZHVsZSBpcyBhIGNvbGxlY3Rpb24gb2YgdG9vbHMgd2hpY2ggbWF5IGJlIHVzZWZ1bCBmb3Igd2VibWFzdGVycy4gQ3VycmVudCBmdW5jdGlvbnM6PC9wPgo8dWw+Cgk8bGk+MzAxLVJlZGlyZWN0cyAoZS5nLiBvZiBkZWxldGVkIHBhZ2VzKSBpbmNsdXNpbmcgdGhlIHBvc3NpYmlsaXR5IHRvIHNldCBydWxlcyB1c2luZyByZWd1bGFyIGV4cHJlc3Npb25zLjwvbGk+Cgk8bGk+NDA0LUVycm9yLVRyYWNraW5nIChhbHNvIGZvciBpbWFnZXMsIFBERi1maWxlcywgZXRjLikgLSBpbmNsdXNpdmUgaWdub3JlLWZpbHRlciBhbmQgbGlua2luZyB0byB0aGUgMzAxLWZ1bmN0aW9uYWxpdHkuPC9saT4KCTxsaT5Tb2NpYWxTaGFyZVByaXZhY3kgLSBGdW5jdGlvbmFsaXR5IHRvIGluc2VydCAyLUNsaWNrIFNvY2lhbC1NZWRpYSBCdXR0b25zLCB0byBoYXZlIGEgYmV0dGVyIHByaXZhY3kgZm9yIHRoZSB3ZWJzaXRlIHZpc2l0b3JzLjwvbGk+Cgk8bGk+U21hcnR5IC0gU29tZSBjb250ZW50IGZ1bmN0aW9uczwvbGk+Cgk8bGk+U21hcnR5IC0gU29tZSBwbHVnaW5zPC9saT4KPC91bD4KCjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIENNUyBNYWRlIHNpbXBsZSB3ZWJzaXRlOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUuZGU8L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSBDTVMgTWFkZSBTaW1wbGUgRm9ydW06IDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLmRlL3ZpZXdmb3J1bS5waHA/aWQ9OSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLmRlL3ZpZXdmb3J1bS5waHA/aWQ9OTwvYT48L2xpPgo8bGk+VGhlIGF1dGhvciwgTHVrYXMgQmxhdHRlciwgY2FuIGJlIHJlYWNoZWQgdXNpbmcgaGlzIHdlYnNpdGU6IDxhIGhyZWY9Imh0dHA6Ly93d3cuYmxhdHRlcnRlY2guY2giIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmJsYXR0ZXJ0ZWNoLmNoPC9hPjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBBbmRpIFBldHpvbGR0LCBjYW4gYmUgcmVhY2hlZCB1c2luZyBoaXMgd2Vic2l0ZTogPGEgaHJlZj0iaHR0cDovL2FuZGltaW5pc3RyYXRvci5kZSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9hbmRpbWluaXN0cmF0b3IuZGU8L2E+PC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+CjwvdWw+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KPHA+Q29weXJpZ2h0IMKpIDIwMTEsIEx1a2FzIEJsYXR0ZXIgPGxiQGJsYXR0ZXJ0ZWNoLmNoIGFuZCBBbmRpIFBldHpvbGR0IDxhbmRpQHBldHpvbGR0Lm5ldD4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBQdWJsaWMgTGljZW5zZS4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4KCiAgPC9kaXY+CiAgPGRpdiBpZD0icmVkaXJlY3RfYyI+Cgo8aDM+SG93IGNhbiBJIHVzZSAzMDEtRm9yd2FyZGluZyBvZiBwYWdlcyBvciA0MDQtRXJyb3ItVHJhY2tpbmc/PC9oMz4KPHA+PHN0cm9uZz4xLiBDb25maWd1cmUgdGhlIG1vZHVsZTwvc3Ryb25nPjwvcD4KPHA+VGhlIG1vZHVsZSBpcyBhbHJlYWR5IGFjdGl2ZSB0aHJvdWdoIHRoZSBDTVNtcy1pbnRlZ3JhdGVkIGV2ZW50IG1hbmFnZW1lbnQuPC9wPgo8cD5CdXQgeW91IGNhbiBkZWFjdGl2YXRlIHRoZSBtb2R1bGUgY2FsbGluZyB0aHJvdWdoIGV2ZW50IG1hbmFnZW1lbnQgaW4gdGhlIHNldHRpbmdzIG9mIHRoZSBtb2R1bGUuIElmIHlvdSB1c2UgdGhpcyBvcHRpb24sIHlvdSBuZWVkIHRvIGluY2x1ZGUgdGhlIG1vZHVsZSBjYWxsaW5nIGF0IHRoZSBiZWdpbm5pbmcgb2YgeW91ciBwYWdlLXRlbXBsYXRlKHMpOjxiciAvPjxjb2RlPntjbXNfbW9kdWxlIG1vZHVsZT0nVG9vbEJveCd9PC9jb2RlPjxiciAvPgpUaGUgYmVzdCBwbGFjZSB0byBpbmNsdWRlIGl0IGlzIHJpZ2h0IGFmdGVyIHtwcm9jZXNzX3BhZ2VkYXRhfS48L3A+CjxwPk5vdyB5b3UgY2FuIGFjdGl2YXRlIHRoZSBmdW5jdGlvbnMgeW91IHdhbnQgdG8gdXNlIHdpdGhpbiB0aGUgbW9kdWxlIHNldHRpbmdzLjwvcD4KPHA+PHN0cm9uZz4yLiBDb25maWd1cmUgdGhlIGRpZmZlcmVudCBUb29sQm94IGZ1bmN0aW9uczwvc3Ryb25nPjwvcD4KPHA+VXAgdG8gbm93LCB0aGUgbW9kdWxlIGlzbid0IGRvaW5nIGFueXRoaW5nLiBZb3UgbmVlZCB0byBjb25maWd1cmUgdGhlIHNldHRpbmdzL3J1bGVzIG9mIHRoZSBkaWZmZXJlbnQgVG9vbEJveCBmdW5jdGlvbnMuPC9wPgoKCjwvZGl2Pgo8ZGl2IGlkPSJhdXRvbGlnaHRib3hfYyI+Cgk8aDM+V2llIGJlbnV0emUgaWNoIEF1dG9MaWdodEJveD88L2gzPgoJPHA+QXV0b2xpZ2h0Ym94IGlzdCBkaWUgZWluZmFjaHN0ZSBNw7ZnbGljaGtlaXQgZWluZSBMaWdodGJveCBlaW5lcyBCaWxkZXIgenUgZXJ6ZXVnZW4uIERhcyBHcnVuZHByaW56aXAgZnVua3Rpb25pZXJ0IHNvOjwvcD4KCTxwPkJlaW0gU3BlaWNoZXJuIGVpbmVyIFNlaXRlLCBlaW5lcyBCbG9nLSBvZGVyIGVpbmVzIE5ld3NlaW50cmFncyB3aXJkIGRlciBJbmhhbHQgbmFjaCBCaWxkZXJuIGR1cmNoc3VjaHQuIERhYmVpIHZlcmdsZWljaHQgZGFzIFNjcmlwdCBvYiBkYXMgQmlsZCBtaXQgZGVyIGtvcnJla3RlbiBHcsO2c3NlIG9kZXIgdmVya2xlaW5lcnQgZWluZ2VidW5kZW4gaXN0LiBJc3QgZGFzIEJpbGQgdmVya2xlaW5lcnQgZWluZ2VidW5kZW4sIHdpcmQgZWluIFRodW1ibmFpbCBnZW5lcmllcnQgdW5kIGRpZSBCaWxkLVVSTCBhdWYgZGFzIFRodW1ibmFpbCBhbmdlcGFzc3QuIFp1c8OkdHpsaWNoIHdpcmQgdW0gZGFzIEJpbGQgZWluZW4gTGluayBhdWYgZGFzIE9yaWdpbmFsYmlsZCBlcnN0ZWxsdC48L3A+CgkKCTxwPjxiPldpZSBtdXNzIGljaCBlaW4gQmlsZCBpbiBkZW4gVGV4dCBlaW5mw7xnZW4gZGFtaXQgQXV0b0xpZ2h0Qm94IGFrdGl2IHdpcmQ/PC9iPjwvcD4KCTxwPklkZWFsIHdpcmQgZWluIEJpbGQgd2VsY2hlcyBhdWYgZGVyIFdlYnNlaXRlIGVpbmdlZsO8Z3Qgd2lyZCBhdWYgZWluZSBzaW5udm9sbGUgR3LDtnNzZSB2ZXJrbGVpbmVydC4gT3B0aW1hbCBpc3QgZWluIFdlcnQgendpc2NoZW4gNjAwIC0gMTAwMCBQaXhlbCBhdWYgZGVyIGzDpG5nZXJlbiBLYW50ZS4gRGFuYWNoIGthbm4gZGllc2VzIEJpbGQgbWl0dGVscyBNaWNyb1RpbnkgLyBUaW55TUNFIGluIGRlbiBUZXh0IGVpbmdlZsO8Z3Qgd2VyZGVuLiBNaXR0ZWxzIFZlcsOkbmRlcnVuZyBkZXIgR3LDtnNzZSBkYXMgQmlsZCBhdWYgZGllIG9wdGltYWxlIEdyw7Zzc2UgdmVya2xlaW5lcm4uPC9wPgoJPHA+QmVpbSBzcGVpY2hlcm4gZXJrZW5udCBudW4gQXV0b0xpZ2h0Qm94LCBkYXNzIGVpbiBCaWxkIHZlcmtsZWluZXJ0IGVpbmdlZsO8Z3Qgd3VyZGUgdW5kIGVyc2V0enQgZGllc2VzIEJpbGQgbWl0IGVpbmVtIFRodW1ibmFpbCB1bmQgZXJzdGVsbHQgZWluZW4gTGluayBhdWYgZGFzIE9yaWdpbmFsYmlsZC48L3A+IAoJCgk8cD48Yj5GdW5rdGlvbmFsaXTDpHQ8L2I+PC9wPgoJPHVsPgoJCTxsaT5BdXRvTGlnaHRCb3ggbW9kaWZpemllcnQgSW5oYWx0ZSAoaW4gamVkZW0gSW5oYWx0c2Jsb2NrKSwgTmV3c2VpbnRyw6RnZSB1bmQgQ0dCbG9nIEluaGFsdGU8L2xpPgoJCTxsaT5FbnRkZWNrdCBBdXRvTGlnaHRCb3ggZGllIEdyw7Zzc2Vuw6RuZGVydW5nIGVpbmVzIGJlc3RlaGVuZGVuIEJpbGRlcywgc28gd2lyZCBkYXMgVGh1bWJuYWlsIGF1dG9tYXRpc2NoIGluIGRlciBuZXVlbiByaWNodGlnZW4gR3LDtnNzZSBlaW5nZWJ1bmRlbi48L2xpPgoJCTxsaT5FcyBrYW5uIGVpbiByZWw9IG9kZXIgZWluIGNsYXNzPSBBdHRyaWJ1dGUgZGVmaW5pZXJ0IHdlcmRlbjwvbGk+CgkJPGxpPk9wdGlvbmFsIGthbm4gZGFzIEphdmFTY3JpcHQgZGVyIExpZ2h0Ym94IGRpcmVrdCBpbSBNb2R1bCBnZW51dHp0IHdlcmRlbjwvbGk+CgkJPGxpPkF1dG9tYXRpc2NoZSBFaW5iaW5kdW5nIGRlcyBTdHlsZXNoZWV0cyB1bmQgZGVzIEphdmFTY3JpcHRzIGRlciBMaWdodGJveCBpbnMgVGVtcGxhdGU8L2xpPgoJPC91bD4JCiAgPC9kaXY+CiAgPGRpdiBpZD0ic29jaWFsc2hhcmVwcml2YWN5X2MiPgogIDxoMz5Ib3cgY2FuIEkgdXNlIHRoZSBTb2NpYWxTaGFyZVByaXZhY3kgQnV0dG9uczwvaDM+CiAgPHA+U29jaWFsU2hhcmVQcml2YWN5IGlzIGEgZnJvbSBoZWlzZS5kZSBwb3N0ZWQgUGx1Z2luIHdoaWNoIGdpdmVzIG1vcmUgcHJpdmFjeSBmb3IgU29jaWFsbWVkaWEgQnV0dG9ucy4gVGhlIFBsdWdpbiBtZXJnZXMgdGhlIFNvY2lhbG1lZGlhIGJ1dHRvbnMgb2YgRmFjZWJvb2ssIFR3aXR0ZXIgYW5kIEdvb2dsZSsgb25seSBvbiB0aGUgZXhwcmVzcyBkZXNpcmUgb2YgdGhlIHVzZXJzLjxiciAvPgoJIEEgZnVydGhlciBhZHZhbnRhZ2Ugb2YgdGhpcyBtZXRob2QgaXMgdGhhdCB0aGUgbG9hZCBzcGVlZCBvZiBhIHNpZGUgZG9lcyBub3Qgc3VmZmVyIGZyb20gdGhlIFNvY2lhbG1lZGlhIGJ1dHRvbiwgYmVjYXVzZSBkdXJpbmcgdGhlIGZpcnN0IGxvYWRpbmcgcHJvY2VkdXJlIGFsbCBkYXRhIGFyZSBsb2FkZWQgZGlyZWN0bHkgZnJvbSB0aGUgb3duIHNlcnZlci48L3A+CgkgCgkgPHA+SW4gb3JkZXIgdG8gdXNlIFNvY2lhbFNoYXJlUHJpdmF5LCB0aGUgZXh0ZW5zaW9uIHVuZGVyIOKAnHNldHRpbmdz4oCdIG11c3QgYmUgYWN0aXZhdGVkLiBzdWJzZXF1ZW50bHkg4oCcU29jaWFsU2hhcmVQcml2YXnigJ0gaW5kaXZpZHVhbCBhZGp1c3RtZW50cyBjYW4gYmUgbWFkZSBpbiB0aGUgcmVnaXN0ZXIuIFRob3NlIG9mIGJ1dHRvbiBhcmUgaW5zZXJ0ZWQgYXMgZm9sbG93czo8L3A+CgkgPGNvZGU+e1Rvb2xCb3ggbW9kPSJzb2NpYWxzaGFyZXByaXZhY3kifTwvY29kZT4KCSAKCSA8cD5JbiB0aGUgc2V0dGluZ3MgaXQgY2FuIGJlIGRlZmluZWQgaWYgalF1ZXJ5IHNob3VsZCBiZSBsb2FkZWQgb3Igbm90LiBUaGF0IGlzIGltcG9ydGFudCwgYmVjYXVzZSBpdCBkZXBlbmRzIGluIHdoaWNoIGhvbWVwYWdlIGpRdWVyeSBhbHJlYWR5IGlzIG1lcmdlZC4gICBJbiB0aGlzIGNhc2UsIGpRdWVyeSBoYXMgbm90IHRvIGJlIGxvYWRlZCBhZ2Fpbi4gPC9wPgogIDwvZGl2PgogIDxkaXYgaWQ9InR3aXR0ZXJmZWVkX2MiPgoJICA8aW1nIHNyYz0iLi4vbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9oZWxwL3R3aXR0ZXJmZWVkLnBuZyIgd2lkdGg9IjM1MyIgaGVpZ2h0PSI0NTQiIGFsdD0iVHdpdHRlcmZlZWQiIHN0eWxlPSJmbG9hdDogcmlnaHQiIC8+CgkgIDxoMz5XaWUgYmVudXR6ZSBpY2ggVHdpdHRlcmZlZWQ8L2gzPgoJICA8cD5Ud2l0dGVyZmVlZCB3aXIgd2llIGZvbGd0IGVpbmdlYnVuZGVuOjwvcD4KCSAgPGNvZGU+CgkJJiMxMjM7VG9vbEJveCBtb2Q9J3R3aXR0ZXJmZWVkJyB1c2VybmFtZT0nbHVrYXNibGF0dGVyJyBjb3VudD01IHRlbXBsYXRlPSd0d2l0dGVyZmVlZCcgZGF0ZWZvcm1hdD0nZnJpZW5kbHknIGNhY2hldGltZT0xMCAmIzEyNTs8YnIgLz4KCQkmIzEyMztUb29sQm94IG1vZD0ndHdpdHRlcmZlZWQnIHVzZXJuYW1lPSdsdWthc2JsYXR0ZXInIGNvdW50PTUgdGVtcGxhdGU9J3R3aXR0ZXJmZWVkJyBkYXRlZm9ybWF0PSdkLm0uWSBIOmknICYjMTI1OzxiciAvPgoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgdXNlcm5hbWU9J2x1a2FzYmxhdHRlcicgbGlzdD0nd2ViZGVzaWduJyBjb3VudD01ICYjMTI1OzxiciAvPgoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgc2VhcmNoPScjY21zbXMnIGNvdW50PTEwICYjMTI1OwoJICA8L2NvZGU+CgkgIAoJICA8cD5Gb2xnZW5kZSBQYXJhbWV0ZXIga8O2bm5lbiBnZXfDpGhsdCB3ZXJkZW46PC9wPgoJICA8dWw+CgkgIAk8bGk+dXNlcm5hbWUgLSBUd2l0dGVyLVVzZXJuYW1lICh3aXJkIGRlciBQYXJhbWV0ZXIgc2VhcmNoIHZlcndlbmRldCwgc28gbXVzcyBrZWluIHVzZXJuYW1lIGFuZ2VnZWJlbiB3ZXJkZW4pPC9saT4KCSAgCTxsaT50ZW1wbGF0ZSAob3B0aW9uYWwpIC0gTmFtZSBkZXMgVGVtcGxhdGUgZGFzIGdlbnV0enQgd2VyZGVuIHNvbGwuIE9obmUgZGllc2UgRGVmaW5pdGlvbiB3aXJkIGRhcyBTdGFuZGFyZHRlbXBsYXRlIGdlbGFkZW48L2xpPgoJICAJPGxpPmxpc3QgKG9wdGlvbmFsKSAtIE5hbWUgZWluZXIgTGlzdGUgZGVzIEJlbnV0emVycy4gSXN0IGRpZXNlciBQYXJhbWV0ZXIgYW5nZWdlYmVuLCB3aXJkIGRpZSBUaW1lbGluZSBkZXIgZ2V3w6RobHRlbiBMaXN0ZSBhbmd6ZWlndDwvbGk+CgkgIAk8bGk+c2VhcmNoIChvcHRpb25hbCkgLSBTdWNoYmVncmlmZiBuYWNoIGRlbSBkaWUgVHdpdHRlcmFwaSBhYmdlZnJhZ3Qgd2lyZCAob2huZSBCZW51dHplcm5hbWUpPC9saT4KCSAgCTxsaT5kYXRlZm9ybWF0IChvcHRpb25hbCkgCgkgIAkJPHVsPgoJICAJCQk8bGk+ZnJpZW5kbHkgPSBTdGFuZGFyZC1Ud2l0dGVyZm9ybWF0IGluIGRlciBBcnQgPGVtPjMgZGF5cyBhZ288L2VtPjwvbGk+CgkgIAkJCTxsaT5kLm0uWSBIOm06cyAtIERhdGV0aW1lIEZvcm1hdGllcnVuZyBuYWNoIDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZGF0ZXRpbWUuY3JlYXRlZnJvbWZvcm1hdC5waHAiPkRlZmluaXRpb24gcGhwLm5ldDwvYT48L2xpPgoJICAJCTwvdWw+CgkgIAk8L2xpPgoJICAJPGxpPmNhY2hldGltZSAob3B0aW9uYWwpIC0gWmVpdCBpbiBNaW51dGVuIGluIHdlbGNoZXIgZGVyIFR3aXR0ZXJmZWVkIGltIENhY2hlIGFiZ2VsZWd0IGJsZWlidC4gU3RhbmRhcmQgMTAgTWludXRlbiwgbWluaW1hbCAxIE1pbnV0ZTwvbGk+CgkgIDwvdWw+CgkgIAkKCSAgPHA+SW0gVGVtcGxhdGUgc3RlaGVuIGZvbGdlbmRlIFZhcmlhYmxlbiB6dXIgVmVyZsO8Z3VuZzo8L3A+CgkgIDxjb2RlPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7dGV4dDxici8+CgkJICAmIzAzNjtpdGVtLSZndDtkYXRlPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2ltZ191cmw8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7aW1nX3VybF9odHRwczxici8+CgkJICAmIzAzNjtpdGVtLSZndDtzY3JlZW5uYW1lPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O3NjcmVlbm5hbWVfdXJsPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2F1dGhvcjxici8+CgkJICAmIzAzNjtpdGVtLSZndDtzb3VyY2U8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7bG9jYXRpb248YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmV0d2VldF9jb3VudDxici8+CgkJICAmIzAzNjtpdGVtLSZndDtyZXR3ZWV0X3NjcmVlbm5hbWU8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmV0d2VldF9hdXRob3I8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7ZmF2b3JpdGVkCgkgIDwvY29kZT4KICA8L2Rpdj4KICA8ZGl2IGlkPSJ0YWlsX2MiPgogIAk8aDM+dGFpbCAtIGEgcGhwL2pxdWVyeSBiYXNlZCBsb2dnaW5nIHN5c3RlbTwvaDM+CiAgCTxwPnRhaWwgaXMgdW5kZXIgTGludXgvVW5peCBhIGNvbnNvbGUgcHJvZ3JhbSB3aGljaCBtb25pdG9ycyBsb2dmaWxlcyBsaXZlLiBJbiBvdGhlciB3b3JkcywgaWYgYSBsaW5lIHdhcyBhZGRlZCB0byB0aGUgbG9nZmlsZSwgdGhhdCB3b3VsZCBiZSBkaXNwbGF5ZWQgaW1tZWRpYXRlbHkgd2l0aCB0YWlsLCBJZiB0aGUgbG9nZmlsZQogIAlpcyBtb25pdG9yZWQuIFRoZSB0YWlsIG9mIGZ1bmN0aW9uYWxpdHkgVG9vbEJveCBwcm92aWRlcyBhIHNpbWlsYXIgZnVuY3Rpb24uIDwvcD4KICAJPGgzPkhvdyBkb2VzIGl0IHdvcms/PC9oMz4KICAJPHA+Rmlyc3QsIHRoZSBsb2dmaWxlIGhhcyB0byBiZSBmZWQgd2l0aCBkYXRhLiBGb3IgdGhpcyB0aGVyZSBhcmUgdHdvIHBvc3NpYmlsaXRpZXM6PC9wPgogIAk8cD48Yj5JbnN0YWxsYXRpb24gaW4gYSBtb2R1bGUsIGEgUGx1Z2luIG9yIGFuIFVEVDwvYj48L3A+CiAgCTxwPkZvciB0aGF0IHRoZSBmb2xsb3dpbmcgY29kZSBtdXN0IGJlIGNyZWF0ZWQgOjwvcD4KICAJPGNvZGU+CSYjMDM2O2xvZz0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdUb29sQm94Jyk7PGJyIC8+CgkJCSYjMDM2O2xvZy0+c2V0TG9nRmlsZSgndGJMb2cnKTsgLy8gT3B0aW9uYWwuIEhlcmUgdGhlIG5hbWUgb2YgdGhlIGxvZyBmaWxlIGNvdWxkIGJlIHNldDxiciAvPgoJCQkmIzAzNjtsb2ctPmx3cml0ZSgiSGVyZSB3ZSBjYW4gd3JpdGUgc29tZXRoaW5nIGluIHRoZSBsb2ciKTs8YnIgLz4KCTwvY29kZT4KICAJCgk8cD48YnIgLz5BcyBwYXJhbWV0ZXIgd2UgY291bGQgdXNlIG5vcm1hbCB2YXJpYWJsZXMsIG9iamVjdHMgb3IgQXJyYXlzPC9wPgoJPHA+PGI+SW5zdGFsbGF0aW9uIGluIGEgdGVtcGxhdGU8L2I+PC9wPgogIAk8cD5UaGUgZm9sbG93aW5nIGRheSBjYW4gYmUgaW5zdGFsbGVkIGludG8gYSB0ZW1wbGF0ZTo8L3A+CiAgCTxjb2RlPnt0YldyaXRlTG9nIGxvZz0id2FzIGbDvHIncyBsb2ciIGxvZ0ZpbGU9InRiTG9nIn08L2NvZGU+CiAgCTxwPjxiciAvPlBhcmFtZXRlcjo8L3A+CiAgCTx1bD4KICAJPGxpPmxvZyAtIFRleHQgd2hpY2ggaGFzIHRvIGJlIHdyaXR0ZW4gdG8gdGhlIGxvZyBmaWxlPC9saT4KICAJPGxpPltsb2dGaWxlXSAtIChvcHRpb25hbCkgSGVyZSwgeW91IGNvdWxkIGRlZmluZSB0aGUgbmFtZSBvZiB0aGUgbG9nZmlsZTwvbGk+CiAgCTwvdWw+CiAgCiAgCTxoMz5Nb25pdG9yaW5nIHRoZSBsb2cgZmlsZTwvaDM+CiAgCTxwPkluIHRoZSB0YWIgInRhaWwgc2lnbiIgdGhlIGxvZyBmaWxlIGNhbiBub3cgYmUgbW9uaXRvcmVkLiBUbyBzZWxlY3QgZnJvbSB0aGUgZHJvcCBkb3duIGJveCB0aGUgZGVzaXJlZCBsb2csIGFzIHdlbGwgYXMgdGhlIG51bWJlciBvZiByb3dzLCB3aGljaCBzaG91bGQgYmUgZGlzcGxheWVkIGFmdGVyIGxvYWRpbmcuIFBhcmFsZWxsLCAKICAJbG9nIGZpbGVzIGNhbiBiZSBtb25pdG9yZWQuPC9wPgogIAkKICA8L2Rpdj4KICA8ZGl2IGlkPSJzbWFydHl0b29sc19jIj4KICAJPGgzPldoYXQgZmVhdHVyZXMgaGFzIHRoZSBTbWFydHktT2JqZWN0PzwvaDM+Cgk8cD5Ub29sQm94IGNvbnRhaW5zIGl0cyBvd24gU21hcnR5IENsYXNzIHRvIGRpc3BsYXkgZGlmZmVyZW50IGNvbnRlbnQgZmVhdHVyZSwgYXMgd2VsbCBhcyBzb21lIHBsdWctaW5zIHdoaWNoIGlzIGZvciBleGFtcGxlIGNhbiBiZSB1c2VkIHdpdGggQWR2YW5jZWQgQ29udGVudC4gPC9wPgoJPGgzPkhvdyBEbyBJIFVzZSBJdDo8L2gzPgoJPHA+V2hlbiB0aGlzIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGEgbmV3IHNtYXJ0eSBvYmplY3QgbmFtZWQgY2dzaW1wbGUgaXMgYXV0b21hdGljYWxseSBhdmFpbGFibGUgdG8geW91ciBwYWdlIHRlbXBsYXRlcywgZ2xvYmFsIGNvbnRlbnQgYmxvY2tzLCBhbmQgdmFyaW91cyBtb2R1bGUgdGVtcGxhdGVzLiAgVGhpcyBzbWFydHkgb2JqZWN0IGhhcyBudW1lcm91cyBmdW5jdGlvbnMgdGhhdCB5b3UgY2FuIGNhbGwgYXQgYW55IHRpbWUuPC9wPgoJPGg0PkF2YWlsYWJsZSBGdW5jdGlvbnM6PC9oND4KCTxwPiZuYnNwOzwvcD4KCTx1bD4KCTxsaT48c3Ryb25nPnNlbGZVcmw8L3N0cm9uZz4oWyYjMDM2O2Fzc2lnbl0pCgkgICAgPHA+UmV0dXJuIHRoZSBjdXJyZW50IFVSTDwvcD4KCSAgICA8cD5Bcmd1bWVudHM6CgkgICAgICAgPHVsPgoJICAgICAgICAgPGxpPlsmIzAzNjthc3NpZ25dICAgLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CgkgICAgICA8L3VsPiAgCgkgICAgPGJyLz48L3A+CgkgICAgPHA+RXhhbXBsZTo8YnIvPgoJICAgIDxwcmU+VGhlIHBhZ2UgVVJMIGlzICYjMTIzO3RidG9vbHM6OnNlbGZVcmwoKSYjMTI1OzwvcHJlPjxici8+CiAgICAJPC9wPgoJPC9saT4KCQo8bGk+PHN0cm9uZz5nZXRQYWdlVXJsPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pCgkgICAgPHA+UmV0dXJuIFVSTCBvZiBhIHNwZWNpZmllZCBwYWdlPC9wPgoJCSAgIDxwPkFyZ3VtZW50cwoJICAgICAgIDx1bD4KCSAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgb3IgdGhlIHBhZ2UgaWQgdG8gZmluZCB0aGUgcGFyZW50IG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KCSAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CgkgICAgICAgPC91bD4gIAoJICAgIDxici8+PC9wPgoJICAgIDxwPkV4YW1wbGU6PGJyLz4KCSAgICA8cHJlPlRoZSBwYXJlbnQgcGFnZSBVUkwgaXMgJiMxMjM7dGJ0b29sczo6Z2V0UGFnZVVybCgnaG9tZScpJiMxMjU7PC9wcmU+PGJyLz4KICAgIAk8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5pc0RlZmF1bHRQYWdlPC9zdHJvbmc+KCYjMDM2O2FsaWFzLFsmIzAzNjthc3NpZ25dKQogICAgPHA+Q2hlY2sgaWYgcGFnZSBpcyBkZWZhdWx0IHBhZ2U8L3A+CiAgICA8cD5Bcmd1bWVudGU6CiAgICAgIDx1bD4KCSAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gIFRoZSBwYWdlIGFsaWFzIG9yIHRoZSBwYWdlIGlkIHRvIGZpbmQgdGhlIHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgIDwvdWw+ICAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+JiMxMjM7aWYgdGJ0b29sczo6aXNEZWZhdWx0UGFnZSgmIzAzNjtwYWdlX2FsaWFzKSYjMTI1O0hlbGxvIGFuZCB3ZWxjb21lIHRvIG15IHNpdGUmIzEyMztlbHNlJiMxMjU7YW5vdGhlciBwYWdlJiMxMjM7L2lmJiMxMjU7PC9wcmU+CiAgICA8L3A+CjwvbGk+CgkKCjxsaT48c3Ryb25nPmdldFBhcmVudEFsaWFzPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pCiAgICA8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHBhcmVudC4gUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlcmUgaXMgbm8gcGFyZW50LjwvcD4KICAgIDxwPkFyZ3VtZW50cwogICAgICAgPHVsPgogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIG9yIHRoZSBwYWdlIGlkIHRvIGZpbmQgdGhlIHBhcmVudCBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlIHBhcmVudCBwYWdlIGFsaWFzIGlzICYjMTIzO3RidG9vbHM6OmdldFBhcmVudEFsaWFzKCkmIzEyNTs8L3ByZT48YnIvPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0TGV2ZWxBbGlhczwvc3Ryb25nPigmIzAzNjtsZXZlbCxbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQogICAgPHA+U3BlY2lmaWVzIHRoZSBhbGlhcyBvZiB0aGUgcGFyZW50IHNpZGUgb2YgYSBjZXJ0YWluIGJhY2suIElmIHRoZSBzcGVjaWZpZWQgbGV2ZWwgaXMgaGlnaGVyIHRoYW4gdGhhdCBvZiB0aGUgY3VycmVudCBwYWdlLCBhbiBlbXB0eSBzdHJpbmcgd291bGQgYmUgcmV0dXJuZWQuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPiYjMDM2O2xldmVsICAgLSBOdW1iZXIgb2YgbGV2ZWxzIGZyb20gd2hpY2ggdGhlIGFsaWFzIGhhcyB0byBiZSByZXR1cm5lZCAoMSA9IDEuIExldmVsLCAyID0gMi4gTGV2ZWwsIGV0Yy4pPC9saT4KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSB0aGUgcGFnZSBhbGlhcyBvciBJRCBvZiB0aGUgcGFnZSwgdGhlIHBhcmVudCBvZiB0aGUgc3BlY2lmaWVkIGxldmVsIHdoaWNoIGhhcyB0byBiZSBmb3VuZC4gSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIHdvdWxkIGJlIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGUsIHRoYXQgdGhlIHJlc3VsdCBoYXMgdG8gYmUgYXNzaWduZWQuPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgYWxpYXMgb2YgdGhlIHBhcmVudCBzaWRlIG9mIHRoZSBwYWdlIG9uIGxldmVsIDEgaXMgJiMxMjM7dGJ0b29sczo6Z2V0TGV2ZWxBbGlhcygxKSYjMTI1OzwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0Um9vdEFsaWFzPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pCgk8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgc3BlY2lmaWVkIHBhZ2VzIHJvb3QgcGFyZW50LiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGVyZSBpcyBubyByb290IHBhcmVudC48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgb3IgdGhlIHBhZ2UgaWQgdG8gZmluZCB0aGUgcm9vdCBwYXJlbnQgb2YuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgcm9vdCBwYXJlbnQgcGFnZSBhbGlhcyBpcyAmIzEyMzt0YnRvb2xzOjpnZXRSb290QWxpYXMoKSYjMTI1OzwvcHJlPjxici8+CiAgICA8L3A+ICAgIAo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0UGFnZVRpdGxlPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pCgk8cD5SZXR1cm5zIHRoZSB0aXRsZSBvZiB0aGUgc3BlY2lmaWVkIHBhZ2UuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIG9yIHRoZSBwYWdlIGlkIHRvIGZpbmQgdGhlIHRpdGxlIG9mLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAgIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPlRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBwYWdlIGlzICYjMTIzO3RidG9vbHM6OmdldFBhZ2VUaXRsZSgpJiMxMjU7PC9wcmU+PGJyLz4KICAgIDwvcD4KPC9saT4KCjxsaT48c3Ryb25nPmdldFBhZ2VNZW51dGV4dDwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQoJPHA+UmV0dXJucyB0aGUgbWVudXRleHQgb2YgdGhlIHNwZWNpZmllZCBwYWdlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyBvciB0aGUgcGFnZSBpZCB0byBmaW5kIHRoZSB0aXRsZSBvZi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gICAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT5UaGUgbWVudXRleHQgb2YgdGhlIGN1cnJlbnQgcGFnZSBpcyAmIzEyMzt0YnRvb2xzOjpnZXRQYWdlTWVudXRleHQoKSYjMTI1OzwvcHJlPjxici8+CiAgICA8L3A+ICAgIAo8L2xpPgoKPGxpPjxzdHJvbmc+aGFzQ2hpbGRyZW48L3N0cm9uZz4oWyYjMDM2O2FsaWFzXSxbJiMwMzY7YXNzaWduXSkKCTxwPlRlc3QgaWYgdGhlIHNwZWNpZmllZCBwYWdlIGhhcyBjaGlsZHJlbi48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgVGhlIHBhZ2UgYWxpYXMgb3IgdGhlIHBhZ2UgaWQgdG8gdGVzdC4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlIGN1cnJlbnQgcGFnZSBpcyB1c2VkLjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+JiMxMjM7dGJ0b29sczo6aGFzQ2hpbGRyZW4oIiIsImhhc0NoaWxkcmVuIikmIzEyNTsKICAgICYjMTIzO2lmICYjMDM2O2hhc0NoaWxkcmVuJiMxMjU7VGhlIGN1cnJlbnQgcGFnZSBoYXMgY2hpbGRyZW4mIzEyMztlbHNlJiMxMjU7VGhlIGN1cnJlbnQgcGFnZSBoYXMgbm8gY2hpbGRyZW4mIzEyMzsvaWYmIzEyNTs8L3ByZT48YnIvPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0Rmlyc3RDaGlsZEFsaWFzPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0sWyYjMDM2O29ubHlJbk1lbnVdID0gdHJ1ZSkKICAgIDxwPlJldHVybiB0aGUgYWxpYXMgb2YgdGhlIGZpcnN0IGNoaWxkIHBhZ2UuPC9wPgogICAgPHA+QXJndW1lbnRlOgogICAgICAgPHVsPgogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIG9yIHRoZSBwYWdlIGlkIHRvIHRlc3QuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZSBjdXJyZW50IHBhZ2UgaXMgdXNlZC48L2xpPgogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPGxpPlsmIzAzNjtvbmx5SW5NZW51XSAtIChvcHRpb25hbCkgb25seSBhY3RpdmUgcGFnZXMgaW4gbWVudS48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPiYjMTIzO3RidG9vbHM6OmdldEZpcnN0Q2hpbGRBbGlhcygiIiwiZmlyc3RDaGlsZEFsaWFzIikmIzEyNTsKICAgIAlUaGUgYWxpYXMgb2YgdGhlIGZpcnN0IGNoaWxkIHBhZ2UgaXMgeyYjMDM2O2ZpcnN0Q2hpbGRBbGlhc308L3ByZT4KICAgIDwvcD4KPC9saT4KCgo8bGk+PHN0cm9uZz5nZXRDaGlsZHJlbjwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjtzaG93aW5hY3RpdmVdLFsmIzAzNjthc3NpZ25dKQoJPHA+UmV0dXJuIGFuIGFycmF5IGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgYSBwYWdlcyBjaGlsZHJlbiAoaWYgYW55KTwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyBvciB0aGUgcGFnZSBpZCB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgIDxsaT5bJiMwMzY7c2hvd2luYWN0aXZlXSAtIChvcHRpb25hbCkgV2V0aGVyIGluYWN0aXZlIHBhZ2VzIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0IChkZWZhdWx0cyB0byBmYWxzZSkuPC9saT4KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RmllbGRzOgogICAgICAgPHVsPgogICAgICAgPGxpPmFsaWFzIC0gdGhlIHBhZ2UgYWxpYXMgb2YgdGhlIGNoaWxkPC9saT4KICAgICAgIDxsaT5pZCAtIHRoZSBwYWdlIGlkIG9mIHRoZSBjaGlsZDwvbGk+CiAgICAgICA8bGk+dGl0bGUgLSB0aGUgdGl0bGUgcGFnZSBvZiB0aGUgY2hpbGQgcGFnZS48L2xpPgogICAgICAgPGxpPm1lbnV0ZXh0IC0gdGhlIG1lbnUgdGV4dCBvZiB0aGUgY2hpbGQ8L2xpPgogICAgICAgPGxpPnNob3dfaW5fbWVudSAtIHdldGhlciB0aGlzIGNoaWxkIHBhZ2UgaXMgdmlzaWJsZSBpbiBtZW51cy48L2xpPgogICAgICAgPGxpPmFjdGl2ZSAtIHdldGhlciB0aGlzIGNoaWxkIHBhZ2UgaXMgYWN0aXZlLjwvbGk+CiAgICAgICA8bGk+dHlwZSAtIFRoZSB0eXBlIG9mIGNoaWxkIGNvbnRlbnQgb2JqZWN0LjwvbGk+CiAgICAgICA8L3VsPgogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPgomIzEyMzt0YnRvb2xzOjpnZXRDaGlsZHJlbigiIiwiIiwiY2hpbGRyZW4iKSYjMTI1Owp7aWYgY291bnQoJiMwMzY7Y2hpbGRyZW4pJiMxMjU7CiAgIHtmb3JlYWNoIGZyb209JiMwMzY7Y2hpbGRyZW4gaXRlbT0iY2hpbGQifQogICAgICB7aWYgJiMwMzY7Y2hpbGQuc2hvd19pbl9tZW51fQogICAgICAgIENoaWxkOiAgaWQgPSAmIzEyMzsmIzAzNjtjaGlsZC5pZCYjMTI1OyBBbGlhcyA9ICYjMTIzOyYjMDM2O2NoaWxkLmFsaWFzJiMxMjU7PGJyIC8+CiAgICAgIHsvaWZ9CiAgIHsvZm9yZWFjaH0Key9pZn19CiAgICA8L3ByZT48YnIvPgogICAgPC9wPiAgIAo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0UGFnZUNvbnRlbnQ8L3N0cm9uZz4oJiMwMzY7YWxpYXMsWyYjMDM2O2Jsb2NrXSxbJiMwMzY7YXNzaWduXSkKCTxwPlJldHVybnMgdGhlIHRleHQgb2YgYSBzcGVjaWZpYyBjb250ZW50IGJsb2NrIG9mIGFub3RoZXIgcGFnZS48L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+JiMwMzY7YWxpYXMgLSBUaGUgcGFnZSBhbGlhcyBvciB0aGUgcGFnZSBpZCB0byBleHRyYWN0IGNvbnRlbnQgZnJvbS48L2xpPgogICAgICAgPGxpPlsmIzAzNjtibG9ja10gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIHRoZSBjb250ZW50IGJsb2NrIGluIHRoZSBzcGVjaWZpZWQgcGFnZS4gIElmIHRoaXMgdmFyaWFibGUgaXMgbm90IHNwZWNpZmllZCB0aGUgdmFsdWUgb2YgdGhlIGRlZmF1bHQgY29udGVudCBibG9jayA8ZW0+KGNvbnRlbnRfZW4pPC9lbT4gaXMgYXNzdW1lZC48L2xpPgogICAgICAgPGxpPlsmIzAzNjthc3NpZ24gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+VGhlICdzZWNvbmQnIGJsb2NrIG9mIHRoZSAnYWJvdXQnIHBhZ2UgaXMgJiMxMjM7dGJ0b29sczo6Z2V0UGFnZUNvbnRlbnQoJ2Fib3V0Jywnc2Vjb25kJywnZm9vJykmIzEyNTsmIzEyMztldmFsIHZhcj1cJGZvbyYjMTI1OzwvcHJlPjxici8+CiAgICA8L3A+ICAgIAo8L2xpPgoKPGxpPjxzdHJvbmc+aGFzRmV1R3JvdXBBY2Nlc3M8L3N0cm9uZz4oJiMwMzY7ZmV1Z3JvdXBzLFsmIzAzNjthc3NpZ25dKQogICAgPHA+R2l2ZXMgYSB0cnVlL2ZhbHNlIGJhY2ssIGlmIHRoZSBsb2dnZWQgRnJvbnRFbmRVc2VyIGlzIGFzc2lnbmVkIHRvIG9uZSBvZiB0aGUgc3BlY2lmaWVkIHVzZXIgZ3JvdXBzPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPiYjMDM2O2ZldWdyb3VwcyAtIElEcyBvZiB0aGUgdXNlciBncm91cHMuIFNlcnZhbCB1c2VyIGdyb3VwcyBzaG91bGQgYmUgc2VwYXJhdGVkIHdpdGggYSBjb21tYS4gRm9yIGV4YW1wbGU6IDEsMiw0PC9saT4KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIvPgogICAgPHByZT4mIzEyMztpZiB0YnRvb2xzOjpoYXNGZXVHcm91cEFjY2VzcygiMSwyLDMpJiMxMjU7VXNlciBoYXMgcGVybWlzc2lvbiYjMTIzO2Vsc2UmIzEyNTtUaGUgdXNlciBoYXMgbm8gcGVybWlzc2lvbiYjMTIzOy9pZiYjMTI1OzwvcHJlPgogICAgPC9wPgo8L2xpPgo8bGk+PHN0cm9uZz5pc0xvZ2dlZEluPC9zdHJvbmc+KFsmIzAzNjthc3NpZ25dKQogICAgPHA+UmV0dXJucyB0aGUgdXNlciBJRCBvZiB0aGUgbG9nZ2VkIGluIGZyb250LWVuZCB1c2VyPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPiYjMTIzO2lmIHRidG9vbHM6OmlzTG9nZ2VkSW4oKSYjMTI1O1VzZXIgaXMgbG9nZ2VkIGluJiMxMjM7ZWxzZSYjMTI1O1RoZXJlIGlzIG5vIHVzZXIgbG9nZ2VkIGluJiMxMjM7L2lmJiMxMjU7PC9wcmU+CiAgICA8L3A+CjwvbGk+CjxsaT48c3Ryb25nPmdldFNpYmxpbmc8L3N0cm9uZz4oJiMwMzY7ZGlyZWN0aW9uLFsmIzAzNjthc3NpZ25dLFsmIzAzNjthbGlhc10pCgk8cD5SZXR1cm5zIHRoZSBhbGlhcyBvZiB0aGUgbmV4dCBvciBwcmV2aW91cyBzaWJsaW5nIHRvIHRoZSBzcGVjaWZpZWQKICAgICAgIHBhZ2UuIG9yIGZhbHNlLjwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT4mIzAzNjtkaXJlY3Rpb24gLSB0aGUgZGlyZWN0aW9uIHRvIGxvb2sgaW4uICBwb3NzaWJsZSB2YWx1ZXMgYXJlIHByZXYscHJldmlvdXMsLTEsbmV4dCwxPC9saT4KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIFRoZSBwYWdlIGFsaWFzIHRvIGZpbmQgdGhlIHNpYmxpbmcgZm9yLiAgSWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgIDxici8+PC9wPgogICAgICAgPHA+RXhhbXBsZTo8YnIvPgogICAgICAgPHByZT5MaW5rIHRvIHByZXZpb3VzIHNpYmxpbmc6ICYjMTIzO3RidG9vbHM6OmdldF9zaWJsaW5nKCZxdW90O3ByZXYmcXVvdDssJnF1b3Q7cHJldl9zaWJsaW5nJnF1b3Q7KSYjMTI1OyYjMTIzO2lmICFlbXB0eSgmIzAzNjtwcmV2X3NpYmxpbmcpJiMxMjU7JiMxMjM7Y21zX3NlbGZsaW5rIHBhZ2U9JnF1b3Q7JiMwMzY7cHJldl9zaWJsaW5nJnF1b3Q7IHRleHQ9JnF1b3Q7UHJldmlvdXMmcXVvdDsmIzEyNTsmIzEyMzsvaWYmIzEyNTs8L3ByZT48YnIvPgogICAgPC9saT4gICAgCjxsaT48c3Ryb25nPmdldExhc3RNb2RpZmllZDwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQogICAgPHA+TGFzdCBtb2RpZmllZCBkYXRlIGFzIHRpbWVzdGFtcDwvcD4KICAgIDxwPkFyZ3VtZW50ZToKICAgICAgIDx1bD4KICAgICAgCTxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBUaGUgcGFnZSBhbGlhcyBvciB0aGUgcGFnZSBpZCB0byB0ZXN0LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgY3VycmVudCBwYWdlIGlzIHVzZWQuPC9saT4KICAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIFRoZSBuYW1lIG9mIGEgdmFyaWFibGUgdG8gYXNzaWduIHRoZSByZXN1bHRzIHRvLjwvbGk+CiAgICAgICA8L3VsPgogICAgPGJyLz48L3A+CiAgICAgICA8cD5FeGFtcGxlOjxiciAvPgogICAgICAgPHByZT5MYXN0IE1vZGlmaWVkOiAmIzEyMzt0YnRvb2xzOjpnZXRMYXN0TW9kaWZpZWQoKXxkYXRlX2Zvcm1hdDoiJUEsICVlLiAlQiwgJVkiJiMxMjU7PC9wcmU+PGJyLz4KPC9saT4KPGxpPjxzdHJvbmc+Z2V0QXJyYXlBc1RhYmxlPC9zdHJvbmc+KCYjMDM2O2FycmF5KQogICAgPHA+UmV0dXJucyBhIG11bHRpZGltZW5zaW9uYWwgYXJyYXkgYXMgYSB0YWJsZTwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT4mIzAzNjthcnJheSAtIHRoZSBhcnJheSB3aGljaCBzaG91bGQgYmUgbGF1Y2hlZCBhcyBhIHRhYmxlLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyLz4KICAgIDxwcmU+JiMxMjM7dGJ0b29sczo6Z2V0QXJyYXlBc1RhYmxlKCYjMDM2O2FycmF5KSYjMTI1OzwvcHJlPgogICAgPC9wPgo8L2xpPgoKCgoKPC91bD4KPC9kaXY+CgoKPGRpdiBpZD0ibW9kaWZpZXJfYyI+Cgo8aDM+U21hcnR5IE1vZGlmaWVydDwvaDM+Cjx1bD4KPGxpPjxzdHJvbmc+dGJUcnVuY2F0ZUJldHRlcjwvc3Ryb25nPigmIzAzNjtzdHJpbmcsICYjMDM2O2xlbmd0aCA9IDgwLCAmIzAzNjtldGMgPSAnLi4uJywgJiMwMzY7bGluayA9ICcnLCAmIzAzNjtsaW5rX3RleHQgPSAnJykpCiAgICA8cEN1dCBhIHN0cmluZyBwcmVzZXJ2aW5nIGFueSB0YWcgbmVzdGluZyBhbmQgbWF0Y2hpbmcuPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPiYjMDM2O3N0cmluZyAtIHRleHQuPC9saT4KICAgICAgIDxsaT4mIzAzNjtsZW5naHQgLSAob3B0aW9uYWwsIDgwIHN0YW5kYXJkKSBudW1iZXIgb2Ygc2lnbi48L2xpPgogICAgICAgPGxpPiYjMDM2O2V0YyAtIChvcHRpb25hbCwgLi4uIHN0YW5kYXJkKSBtb3JlIHRleHQuPC9saT4KICAgICAgIDxsaT4mIzAzNjtsaW5rIC0gKG9wdGlvbmFsKSBMaW5rIFVSTDwvbGk+CiAgICAgICA8bGk+JiMwMzY7bGlua190ZXh0IC0gKG9wdGlvbmFsKSBsaW5rIHRleHQ8L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5CZWlzcGllbDo8YnIvPgogICAgQm90aCBwYXJhbWV0ZXIgJiMwMzY7ZW50cnktPmNvbnRlbnQgdW5kICYjMDM2O2VudHJ5LT5tb3JlbGluayBhcmUgZXhhbXBsZXMKICAgIDxiciAvPgogICAgPHByZT4mIzEyMzsmIzAzNjtlbnRyeS0+Y29udGVudHx0YlRydW5jYXRlQmV0dGVyOjEwMDonIC4uLic6JiMwMzY7ZW50cnktPm1vcmVsaW5rOidbcmVhZCBtb3JlXScmIzEyNTs8L3ByZT4KICAgIDwvcD4KPC9saT4KCgo8L3VsPgoKPC9kaXY+Cgo8ZGl2IGlkPSJtb2JpbGVkZXRlY3RfYyI+Cgo8aDM+TW9iaWxlIERldGVjdDwvaDM+Cgo8cD48YSBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcGhwLW1vYmlsZS1kZXRlY3Qvd2lraS9Nb2JpbGVfRGV0ZWN0IiB0YXJnZXQ9Il9ibGFuayI+TW9iaWxlX0RldGVjdDwvYT4KIGlzIGEgbGlnaHR3ZWlnaHQgUEhQIGNsYXNzIGZvciBkZXRlY3RpbmcgbW9iaWxlIGRldmljZXMuIEl0IHVzZXMgdGhlIFVzZXItQWdlbnQgc3RyaW5nIGNvbWJpbmVkIHdpdGggCiBzcGVjaWZpYyBIVFRQIGhlYWRlcnMgdG8gZGV0ZWN0IHRoZSBtb2JpbGUgZW52aXJvbm1lbnQuIDwvcD4KIAogPGg0PlVzYWdlPC9oND4KIDxwPjxpPkNoZWNrIGZvciBhIHNwZWNpZmljIHBsYXRmb3JtOjwvcD4KPHA+PHByZT4Ke2lmICYjMDM2O3RibW9iaWxlLT5pc2lPUygpIH0gCiAgLy8gY29kZSB0byBydW4gZm9yIHRoZSBBcHBsZSBpT1MgcGxhdGZvcm0uIAp7L2lmfSAKIDwvcHJlPiA8L3A+CjxwPjxwcmU+CntpZiAmIzAzNjt0Ym1vYmlsZS0+aXNBbmRyb2lkT1MoKSB9IAogIC8vIGNvZGUgdG8gcnVuIGZvciB0aGUgR29vZ2xlIEFuZHJvaWQgcGxhdGZvcm0uIAp7L2lmfQo8L3ByZT48L3A+CgogPHA+T3RoZXIgY2FzZSBpbnNlbnNpdGl2ZSBhdmFpbGFibGUgbWV0aG9kcyBhcmUgaXNJcGhvbmUoKSwgaXNJcGFkKCksIGlzQmxhY2tCZXJyeSgpLCBpc0tpbmRsZSgpLCBpc09wZXJhKCksIGV0Yy4gRm9yIHRoZSBmdWxsIGxpc3Qgb2YgYXZhaWxhYmxlIG1ldGhvZHMgPGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3BocC1tb2JpbGUtZGV0ZWN0L3dpa2kvTW9iaWxlX0RldGVjdCIgdGFyZ2V0PV9ibGFuayI+Y2hlY2sgdGhlIHdpa2kuPC9hPjwvcD4KCjxwPkFsdGVybmF0aXZlbHksIGlmIHlvdSBhcmUgb25seSBpbnRlcmVzdGVkIGluIGNoZWNraW5nIHRvIHNlZSBpZiB0aGUgdXNlciBpcyB1c2luZyBhIG1vYmlsZSBkZXZpY2UsIHdpdGhvdXQgY2FyaW5nIGZvciBzcGVjaWZpYyBwbGF0Zm9ybTo8L3A+CjxwPjxwcmU+CntpZiAoJiMwMzY7dGJtb2JpbGUtPmlzTW9iaWxlKCkpfQogIC8vIGFueSBtb2JpbGUgcGxhdGZvcm0Key9pZn0KPC9wcmU+PC9wPgo8cD48cHJlPgp7aWYoJiMwMzY7dGJtb2JpbGUtPmlzVGFibGV0KCkpfQogIC8vIGFueSB0YWJsZXQKey9pZn0KPC9wcmU+PC9wPgoKCgkKPC9kaXY+Cgo8ZGl2IGlkPSJwbHVnaW5zX2MiPgoKPGgzPlBsdWdpbnM8L2gzPgo8cD48Yj5HZW5lcmFsIFBsdWdpbnM8L2I+PC9wPgo8cD4mbmJzcDs8L3A+Cjx1bD4KCiA8bGk+PHN0cm9uZz57dGJTZXNzaW9uU2V0fTwvc3Ryb25nPgogICAgPHA+QSBzbWFydHkgcGx1Z2luIHRoYXQgY2FuIHN0b3JlIGRhdGEgaW4gdGhlIHVzZXIgc2Vzc2lvbi4gVGhpcyBkYXRhIGlzIHRoZW4gYWNjZXNzaWJsZSB2aWEgdGhlICYjMDM2O3NtYXJ0eS5zZXNzaW9uIGFycmF5IGluIHN1YnNlcXVlbnQgcGFnZXMuPC9wPgogICAgPHA+QXJndW1lbnRzOjwvcD4KICAgICAgIDx1bD4KICAgICAgIDxsaT5uYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRvIGNyZWF0ZSBpbiB0aGUgc2Vzc2lvbi48L2xpPgogICAgICAgPGxpPnZhbHVlIC0gVGhlIGRlc2lyZWQgdmFsdWUgb2YgdGhlIHZhcmlhYmxlLjwvbGk+CiAgICAgICA8L3VsPgogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxiciAvPgogICAgPHByZT57dGJTZXNzaW9uU2V0IG5hbWU9JnF1b3Q7dGVzdCZxdW90OyB2YWx1ZT0mcXVvdDtibGFoJnF1b3Q7fTwvcHJlPjwvcD4KIDwvbGk+CgogPGxpPjxzdHJvbmc+JiMxMjM7dGJTZXNzaW9uVW5zZXQmIzEyNTs8L3N0cm9uZz4KICAgIDxwPkEgc21hcnR5IHBsdWdpbiB0aGF0IGNhbiBlcmFzZSBkYXRhIGZyb20gdGhlIHVzZXIgc2Vzc2lvbi48L3A+CiAgICA8cD5Bcmd1bWVudGU6CiAgICAgICA8dWw+CiAgICAgICA8bGk+bmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB0byBlcmFzZSBpbiB0aGUgc2Vzc2lvbi48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+RXhhbXBsZTo8YnIgLz4KICAgIDxwcmU+JiMxMjM7dGJTZXNzaW9uVW5zZXQgbmFtZT0mcXVvdDt0ZXN0JnF1b3Q7JiMxMjU7PC9wcmU+PC9wPgogPC9saT4KIAogPGxpPjxzdHJvbmc+JiMxMjM7dGJWYXJFeHBvcnQmIzEyNTs8L3N0cm9uZz4KICAgIDxwPldpdGggdGhpcyBwbHVnaW4gYW4gYXJyYXkgY2FuIGJlIHByZXBhcmVkIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMgZm9yIGV4cG9ydHMuIFRoZSBnZXJlcmF0ZWQgdGV4dCBpcyBzZXJpYWxpemVkIGFuZCBjYW4gYmUgaW5zZXJ0ZWQgaW4gYSBkaWZmZXJlbnQgcGxhY2Ugb2YgdGhlIGVudmlyb25tZW50IGluZGVwZW5kZW50bHkuPGJyIC8+CiAgICBBZHZhbnRhZ2Ugb2YgdGhpcyBtZXRob2QgaXMsIHRoYXQgYSBwcm9ibGVtIGluY2x1ZGluZyB0aGUgdXNlZCBkYXRhICwgY2FuIGJlIHJlY29uc3RydWN0ZWQgYXQgYSBkaWZmZXJlbnQgbG9jYXRpb24sIHdpdGhvdXQgdGhlIGVudGlyZSBlbnZpcm9ubWVudCBtdXN0IGJlIHJlY3JlYXRlZC48L3A+CiAgICA8cD5Bcmd1bWVudGU6CiAgICAgICA8dWw+CiAgICAgICA8bGk+bmFtZSAtIE5hbWUgb2YgdGhlIHZhcmlhYmxlIHRoYXQgc2hvdWxkIGJlIGV4cG9ydGVkLjwvbGk+CiAgICAgICA8L3VsPgogICAgPGJyLz48L3A+CiAgICA8cD5FeGFtcGxlOjxiciAvPgogICAgPHByZT4mIzEyMzt0YlZhckV4cG9ydCBuYW1lPSZxdW90O2l0ZW1zJnF1b3Q7JiMxMjU7PC9wcmU+PC9wPgogPC9saT4KIDwvdWw+CiAKIDxwPjxiPlRvb2xCb3ggZnVuY3Rpb25hbGl0aWVzPC9iPjwvcD4KIDxwPiZuYnNwOzwvcD4KIDx1bD4KIDxsaT48c3Ryb25nPiYjMTIzO3RiV3JpdGVMb2cmIzEyNTs8L3N0cm9uZz4KICAgIDxwPldpdGggdGhpcyBQbHVnaW4gYSBzdHJpbmcsIGFuIGFycmF5IG9yIGFuIG9iamVjdCBjYW4gYmUgd3JpdHRlbiBpbiB0aGUgdGFpbCBsb2cgb2YgdGhlIHRvb2wgYm94IGluIGEgVGVtcGxhdGUgb3Igb24gYSBzaWRlLiBUaGlzIFBsdWdpbiBpcyBpbnRlcmVzdGluZyBmb3IgZGVidWdnaW5nIG9mIHB1cnBvc2VzIG9yIHRvIG1vbml0b3IgZGlmZmVyZW50IGFjdGlvbnMuIDwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5sb2cgLSBUaGUgdGV4dCB3aGljaCBzaG91bGQgYmUgd3JpdHRlbiBpbiB0aGUgbG9nIGZpbGUgKGNvdWxkIGJlIGEgc3RyaW5nLCBhbiBhcnJheSBvciBhbiBvYmplY3QpLjwvbGk+CiAgICAgICA8bGk+W2xvZ0ZpbGVdIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgbG9nIGZpbGUgd2hpY2ggdGhlIHRleHQgc2hvdWxkIGJlIHdyaXR0ZW4uPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkV4YW1wbGU6PGJyIC8+CiAgICA8cHJlPiYjMTIzO3RiV3JpdGVMb2cgbG9nPSJ3aGljaCBmb3IgdGhlIGxvZyIgbG9nRmlsZT0idGJMb2ciOyYjMTI1OzwvcHJlPgogICAgPC9wPgogPC9saT4gCiA8L3VsPgogCiAKIDxwPjxiPlBsdWdpbnMgZm9yIEFkdmFuY2VkQ29udGVudDwvYj48L3A+CiA8cD4mbmJzcDs8L3A+CiA8dWw+CiAKIDxsaT48c3Ryb25nPiYjMTIzO3RiR2V0UGFnZUhpZXJhcmNoeSYjMTI1Ozwvc3Ryb25nPgogICAgPHA+V2l0aCB0aGlzIFBsdWdpbiB0aGUgZW50aXJlIHNpZGUgaGllcmFyY2h5IGNhbiBiZSByZXByZXNlbnRlZC4gVGhlIGVtcGxveW1lbnQgb2YgdGhpcyBQbHVnaW4gaXMgcHJhY3RpY2FsIGluIGNvbm5lY3Rpb24gd2l0aCBBZHZhbmNlZENvbnRlbnQuIFNvIHRoYXQgYSBkcm9wIGRvd24gZmllbGQgY2FuIGJlIHJlcHJlc2VudGVkIHdpdGggYWxsIFBhZ2VzIGluIHRoZSBBZGNhbmNlZCBDb250ZW50IDwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bYXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDxsaT5bZGVsaW1pdGVyXSAtIChvcHRpb25hbCkgU2VwYXJhdG9yIGJldHdlZW4gdGhlIGVudHJpZXMuIFN0YW5kYXJkOiB8LjwvbGk+CiAgICAgICA8bGk+W291dHB1dF0gLSAob3B0aW9uYWwpIHdpdGggb3V0cHV0PSJpZCIgYWxsIGNvbnRlbnQgSURzIGlzc3VlZC4gT3RoZXJ3aXNlLCB0aGUgbWVudSB0ZXh0IGlzIGRpc3BsYXllZC48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+QmVpc3BpZWw6PGJyIC8+CiAgICA8cHJlPiYjMTIzO3RiR2V0UGFnZUhpZXJhcmNoeSBvdXRwdXQ9ImlkIjsmIzEyNTs8L3ByZT48YnIgLz4KICAgIDxwcmU+JiMxMjM7QWR2YW5jZWRDb250ZW50IGxhYmVsPSJTZWl0ZSIgYmxvY2tfdHlwZT0iZHJvcGRvd24iIG5vX2NvbGxhcHNlPXRydWUgaXRlbXM9Ijo6OnRiR2V0UGFnZUhpZXJhcmNoeTo6OiIgdmFsdWVzPSI6Ojp0YkdldFBhZ2VIaWVyYXJjaHkgb3V0cHV0PSdpZCc6OjoiIHNtYXJ0eT10cnVlICYjMTI1OzwvcD4KIDwvbGk+IAogCiAgPGxpPjxzdHJvbmc+JiMxMjM7dGJHZXROZXdzQ2F0ZWdvcmllcyYjMTI1Ozwvc3Ryb25nPgogICAgPHA+V2l0aCB0aGlzIHBsdWdpbiwgYWxsIG5ld3MgY2F0ZWdvcmllcyBhcmUgaXNzdWVkLiBQcmFjdGljYWxseSwgdGhlIHVzZSBvZiB0aGlzIHBsdWdpbiBpbiBjb25qdW5jdGlvbiB3aXRoIEFkdmFuY2VkIGNvbnRlbnQuIFRodXMsIGluIGEgTXVsdGlwbGUgU2VsZWN0IGZpZWxkIHRoZSBkZXNpcmVkIG5ldyBjYXRlZ29yaWVzIGNvdWxkIGJlIHNlbGVjdGVkPC9wPgogICAgPHA+QXJndW1lbnRzOgogICAgICAgPHVsPgogICAgICAgPGxpPlthc3NpZ25dIC0gKG9wdGlvbmFsKSBUaGUgbmFtZSBvZiBhIHZhcmlhYmxlIHRvIGFzc2lnbiB0aGUgcmVzdWx0cyB0by48L2xpPgogICAgICAgPGxpPltkZWxpbWl0ZXJdIC0gKG9wdGlvbmFsKSBTZXBhcmF0b3IgYmV0d2VlbiB0aGUgZW50cmllcy4gU3RhbmRhcmQ6IHwuPC9saT4KICAgICAgIDxsaT5bb3V0cHV0XSAtIChvcHRpb25hbCkgd2l0aCBvdXRwdXQ9ImlkIiBhbGwgY29udGVudCBJRHMgaXNzdWVkLiBPdGhlcndpc2UsIHRoZSBtZW51IHRleHQgaXMgZGlzcGxheWVkLjwvbGk+CiAgICAgICA8L3VsPgogICAgPGJyLz48L3A+CiAgICA8cD5CZWlzcGllbDo8YnIgLz4KICAgIDxwcmU+JiMxMjM7dGJHZXROZXdzQ2F0ZWdvcmllczsmIzEyNTs8L3ByZT48YnIgLz4KICAgIDxwcmU+JiMxMjM7QWR2YW5jZWRDb250ZW50IGJsb2NrPSJuZXdzIiBsYWJlbD0iTmV3cyBLYXRlZ29yaWVuLiIgYmxvY2tfdHlwZT0ic2VsZWN0X211bHRpcGxlIiBub19jb2xsYXBzZT10cnVlIGl0ZW1zPSI6Ojp0YkdldE5ld3NDYXRlZ29yaWVzOjo6IiBzbWFydHk9dHJ1ZSAmIzEyNTs8L3A+CiA8L2xpPiAKIAogPGxpPjxzdHJvbmc+JiMxMjM7dGJHZXRVc2VyR3JvdXBzJiMxMjU7PC9zdHJvbmc+CiAgICA8cD5XaXRoIHRoaXMgcGx1Z2luLCBhbGwgbmV3cyBjYXRlZ29yaWVzIGNvdWxkIGJlIGlzc3VlZC4gUHJhY3RpY2FsbHksIHRoZSB1c2Ugb2YgdGhpcyBwbHVnaW4gaW4gY29uanVuY3Rpb24gd2l0aCBBZHZhbmNlZCBjb250ZW50LiBUaHVzLCBpbiBhIE11bHRpcGxlIFNlbGVjdCBmaWVsZCB0aGUgZGVzaXJlZCBuZXcgY2F0ZWdvcmllcyBjb3VsZCBiZSBzZWxlY3RlZDwvcD4KICAgIDxwPkFyZ3VtZW50czoKICAgICAgIDx1bD4KICAgICAgIDxsaT5bYXNzaWduXSAtIChvcHRpb25hbCkgVGhlIG5hbWUgb2YgYSB2YXJpYWJsZSB0byBhc3NpZ24gdGhlIHJlc3VsdHMgdG8uPC9saT4KICAgICAgIDxsaT5bZ3JvdXBzX29ubHldIC0gKG9wdGlvbmFsKSBEaXNwbGF5cyBvbmx5IHRoZSB1c2VyIGdyb3VwcyAoaW5kaXZpZHVhbCB1c2VycyB3aWxsIG5vdCBiZSBzaG93bik8L2xpPgogICAgICAgPGxpPltkZWxpbWl0ZXJdIC0gKG9wdGlvbmFsKSBTZXBhcmF0b3IgYmV0d2VlbiB0aGUgZW50cmllcy4gU3RhbmRhcmQ6IHwuPC9saT4KICAgICAgIDxsaT5bb3V0cHV0XSAtIChvcHRpb25hbCkgd2l0aCBvdXRwdXQ9ImlkIiBhbGwgY29udGVudCBJRHMgaXNzdWVkLiBPdGhlcndpc2UsIHRoZSBtZW51IHRleHQgaXMgZGlzcGxheWVkLjwvbGk+CiAgICAgICA8L3VsPgogICAgPGJyLz48L3A+CiAgICA8cD5CZWlzcGllbDo8YnIgLz4KICAgIDxwcmU+JiMxMjM7dGJHZXRVc2VyR3JvdXBzOyYjMTI1OzwvcHJlPjxiciAvPgogICAgPHByZT4mIzEyMztBZHZhbmNlZENvbnRlbnQgYmxvY2s9ImVkaXRvcnMiIGxhYmVsPSJVc2VycyB3aG8gYXJlIGFsbG93ZWQgdG8gZWRpdCB0aGVzZSBwYWdlcyIgYmxvY2tfdHlwZT0ic2VsZWN0X211bHRpcGxlIiBub19jb2xsYXBzZT10cnVlIGl0ZW1zPSI6Ojp0YkdldFVzZXJHcm91cHMgZ3JvdXBzX29ubHk9dHJ1ZTo6OiIgdmFsdWVzPSI6Ojp0YkdldFVzZXJHcm91cHMgZ3JvdXBzX29ubHk9dHJ1ZSBvdXRwdXQ9J2lkJzo6OiIgc21hcnR5PXRydWUgJiMxMjU7PC9wPgogPC9saT4gCgogPGxpPjxzdHJvbmc+JiMxMjM7dGJHZXRHYWxsZXJ5VHJlZSYjMTI1Ozwvc3Ryb25nPgogICAgPHA+TWl0IGRpZXNlbSBQbHVnaW4ga8O2bm5lbiBhbGxlIEdhbGxlcnkgT3JkbmVyIChNb2R1bCBHYWxsZXJ5KSBhdXNnZWdlYmVuIHdlcmRlbi4gUHJha3Rpc2NoIGlzdCBkZXIgRWluc2F0eiBkaWVzZXMgUGx1Z2luIGluIFZlcmJpbmR1bmcgbWl0IEFkdmFuY2VkQ29udGVudC4gU28ga8O2bm5lbiBkaWUgR2FsbGVyeXMgaW4gZWluZW0gRHJvcGRvd24gRmVsZCBhdXNnZWdlYmVuIHdlcmRlbi48L3A+CiAgICA8cD5Bcmd1bWVudGU6CiAgICAgICA8dWw+CiAgICAgICA8bGk+W3N1YmRpcl0gLSAob3B0aW9uYWwpIFVudGVyb3JkbmVyIGRlciBHYWxsZXJ5IGFiIHdlbGNoZW0gYWxsZXIgZW50aGFsdGVuZW4gT3JkbmVyIGF1ZmdlbGlzdGV0IHdlcmRlbiBzb2xsZW4gLjwvbGk+CiAgICAgICA8bGk+W2FjdGlvbl0gLSAob3B0aW9uYWwpIDx1bD4KICAgICAgIAkJCQkJCQkJPGxpPmFjdGlvbj0idXJsIiAtPiBQZmFkIHp1bSBPcmRuZXI8L2xpPgogICAgICAgCQkJCQkJCQk8bGk+IGFjdGlvbiA9ICIiIC0+IFBmYWQgZGVzIE9yZG5lcnMgaW5rbC4gQmlsZGFuemFobDwvbGk+CiAgICAgICAJCQkJCQkJPC91bD4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkJlaXNwaWVsOjxiciAvPgogICAgPHByZT4mIzEyMzt0YkdldEdhbGxlcnlUcmVlJiMxMjU7PC9wcmU+PGJyIC8+CiAgICA8cHJlPiYjMTIzO0FkdmFuY2VkQ29udGVudCBibG9jaz0iZ2FsbGVyeSIgbGFiZWw9IkdhbGxlcnkiIGJsb2NrX3R5cGU9ImRyb3Bkb3duIiBhbGxvd19ub25lPXRydWUgaXRlbXM9IktlaW5lIEdhbGxlcnl8Ojo6dGJHZXRHYWxsZXJ5VHJlZSA6OjoiIHZhbHVlcz0ifDo6OnRiR2V0R2FsbGVyeVRyZWUgYWN0aW9uPSd1cmwnOjo6IiBzbWFydHk9YmFja2VuZCBhc3NpZ249ImJ0R2FsbGVyeVBhdGgiIG5vX2NvbGxhcHNlPXRydWUgJiMxMjU7PC9wcmU+PC9wPgogICAgCiA8L2xpPiAgCiAKPC91bD4KICAKPC9kaXY+CjwvZGl2PgpFT1Q7CgokbGFuZ1snaGVscF90YmltYWdlJ10gPSA8PDxFT1QKCjxwcmU+JiMxMjM7dGJJbWFnZSBpbWFnZT0iL3BhdGgvdG8vaW1hZ2UuanBnIiByZXNpemVCeUxhcmdlc3RTaWRlSW5QaXhlbD0iMjAwIiYjMTI1OzwvcHJlPgoKPGgzPlBhcmFtZXRlcjwvaDM+Cgo8aDQ+QmlsZGVpbnN0ZWxsdW5nZW48L2g0PgoKPHVsPgo8bGk+W2ltYWdlXSAtIFBmYWQgenVtIEJpbGQuIERpZXNlciBrYW5uIHJlbGF0aXYgenVtIFJvb3QsIGFscyBhYnNvbHV0ZXIgUGZhZCBvZGVyIGFscyBVUkwgw7xiZXJnZWJlbiB3ZXJkZW4gPC9saT4KPGxpPlZlcsOkbmRlcnVuZyBkZXIgR3LDtnNzZSB3w6RobGVuLiBFcyBrYW5uIGpld2VpbHMgbnVyIGVpbiBQYXJhbWV0ZXIgZ2xlaWNoemVpdGlnIGVpbmdlc2V0enQgd2VyZGVuOgo8dWw+Cgk8bGk+W3Jlc2l6ZUJ5TmFycm93U2lkZUluUGl4ZWxdIC0gRGFzIEJpbGQgbmFjaCBkZXIga8O8cnplcmVuIFNlaXRlIGluIFBpeGVsIHZlcmtsZWluZXJuL3Zlcmdyw7Zzc2VybiA8L2xpPgoJPGxpPltyZXNpemVCeU5hcnJvd1NpZGVJblBlcmNlbnRdIC0gRGFzIEJpbGQgbmFjaCBkZXIga8O8cnplcmVuIFNlaXRlIGluIFByb3plbnQgdmVya2xlaW5lcm4vdmVyZ3LDtnNzZXJuIDwvbGk+Cgk8bGk+W3Jlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBpeGVsXSAtIERhcyBCaWxkIG5hY2ggZGVyIGzDpG5nZXJlbiBTZWl0ZSBpbiBQaXhlbCB2ZXJrbGVpbmVybi92ZXJncsO2c3Nlcm4gPC9saT4KCTxsaT5bcmVzaXplQnlMYXJnZXN0U2lkZUluUGVyY2VudF0gLSBEYXMgQmlsZCBuYWNoIGRlciBsw6RuZ2VyZW4gU2VpdGUgaW4gUHJvemVudCB2ZXJrbGVpbmVybi92ZXJncsO2c3Nlcm4gPC9saT4KPC91bD4KPC9saT4KPGxpPkF1c3NjaG5pdHQgZGVzIEJpbGRlcyBpbiBQaXhlbCBtaXQgUG9zaXRpb24KPHVsPgoJPGxpPlt3aWR0aF0gLSAob3B0aW9uYWwpIEJyZWl0ZSBkZXMgQmlsZGF1c3NjaG5pdHRzPC9saT4KCTxsaT5baGVpZ2h0XSAtIChvcHRpb25hbCkgSMO2aGUgZGVzIEJpbGRhdXNzY2huaXR0cyA8L2xpPgoJPGxpPltwb3NdIC0gKG9wdGlvbmFsKSBQb3NpdGlvbiBkZXMgQXVzc2Nobml0dHMuIE3DtmdsaWNoZSBQYXJhbWV0ZXIgKERldGFpbHMgc2llaGUgUmVpdGVyICJXYXNzZXJ6ZWljaGVuIG1pdCBCaWxkIik6CgkJPHVsPgoJCQk8bGk+TFQgPSBsaW5rcyBvYmVuPC9saT4KCQkJPGxpPk1UID0gbWl0dGUgb2JlbjwvbGk+CgkJCTxsaT5SVCA9IHJlY2h0cyBvYmVuPC9saT4KCQkJPGxpPkxNID0gbGlua3MgbWl0dGU8L2xpPgoJCQk8bGk+TU0gPSBtaXR0ZSBtaXR0ZTwvbGk+CgkJCTxsaT5STSA9IHJlY2h0cyBtaXR0ZTwvbGk+CgkJCTxsaT5MQiA9IGxpbmtzIHVudGVuPC9saT4KCQkJPGxpPk1CID0gbWl0dGUgdW50ZW48L2xpPgoJCQk8bGk+UkIgPSByZWNodHMgdW50ZW48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPltwb3N4XSAtIChvcHRpb25hbCkgUG9zaXRpb24gZGVzIEF1c3NjaG5pdHRzIGluIFggPC9saT4KCTxsaT5bcG9zeV0gLSAob3B0aW9uYWwpIFBvc2l0aW9uIGRlcyBBdXNzY2huaXR0cyBpbiBZIDwvbGk+CjwvdWw+CjwvbGk+CjxsaT5bcHJvcG9ydGlvbl0gLSAob3B0aW9uYWwpIFByb3BvcnRpb25lbiBkZXMgQmlsZGVzIGVyaGFsdGVuPC9saT4KPGxpPltxdWFsaXR5XSAtIChvcHRpb25hbCkgUXVhbGl0w6R0IGRlciBKUEcgS29tcHJpbWllcnVuZy4gU3RhbmRhcmQgODU8L2xpPgo8bGk+W2ZpbHRlcl0gLSAob3B0aW9uYWwpIEZpbHRlcmVpbnN0ZWxsdW5nZW4sIERldGFpbHMgc2llaGUgPGEgaHJlZj0iaHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLmltYWdlZmlsdGVyLnBocCI+UEhQIFdlYnNlaXRlPC9hPjwvbGk+CjxsaT5bb3BhY2l0eV0gLSAob3B0aW9uYWwpIERlY2trcmFmdCBkZXMgQmlsZGVzIDwvbGk+CjxsaT5bZmxpcF0gLSAob3B0aW9uYWwpIERyZWhlbiBkZXMgQmlsZGVzIGluIEdyYWQ8L2xpPgo8L3VsPgoKPGg0PkFsbGdlbWVpbmUgRWluc3RlbGx1bmdlbjwvaDQ+Cgo8dWw+CjxsaT5bYXNzaWduXSAtIChvcHRpb25hbCkgQWxzIFLDvGNrZ2FiZXdlcnQgZWluZXIgVmFyaWFibGVuIHp1d2Vpc2VuPC9saT4KPGxpPltub190YWddIC0gKG9wdGlvbmFsKSBBbHMgUsO8Y2tnYWJld2VydCB3aXJkIG51ciBkaWUgcmVpbmUgQmlsZC1VUkwgb2huZSBpbWcgVGFnIHp1csO8Y2tnZWdlYmVuPC9saT4KPGxpPltub19vdXRwdXRdIC0gKG9wdGlvbmFsKSBOdXIgZGllIEdyw7Zzc2Vuw6RuZGVydW5nIHdpcmQgYXVzZ2Vmw7xocnQuIEtlaW4gUsO8Y2tnYWJld2VydDwvbGk+CjxsaT5bZGVidWddIC0gKG9wdGlvbmFsKSBBdXNnYWJlIGRlciBEZXRhaWxzIGRlciBCaWxkdmVyYXJiZWl0dW5nPC9saT4KPGxpPltjbGFzc10gLSAob3B0aW9uYWwpIENTUyBLbGFzc2UgZGllIGRlbSBpbWcgVGFnIHp1Z2VvcmRuZXQgd2lyZDwvbGk+CjxsaT5bYWx0XSAtIChvcHRpb25hbCkgQWx0IFRleHQgZGVyIGRlbSBpbWcgVGFnIHp1Z2VvcmRuZXQgd2lyZDwvbGk+CjxsaT5baWRdIC0gKG9wdGlvbmFsKSBDU1MgSUQgZGllIGRlbSBpbWcgVGFnIHp1Z2VvcmRuZXQgd2lyZDwvbGk+CjxsaT5bdGl0bGVdIC0gKG9wdGlvbmFsKSBUaXRsZSBUZXh0IGRlciBkZW0gaW1nIFRhZyB6dWdlb3JkbmV0IHdpcmQ8L2xpPgo8bGk+W3N0eWxlXSAtIChvcHRpb25hbCkgU3R5bGUtVGFnIGRlciBkZW0gaW1nIFRhZyB6dWdlb3JkbmV0IHdpcmQ8L2xpPgo8L3VsPgoKPGg0PkF1dG9MaWdodGJveDwvaDQ+Cjx1bD4KPGxpPlthdXRvbGlnaHRib3hdIC0gKG9wdGlvbmFsKSBPcmlnaW5hbCBkZXMgQmlsZGVzIGFscyBBdXRvTGlnaHRib3ggVmVya27DvHBmdW5nIGVpbmJpbmRlbiAobnVyIHdlbm4gZGllIEF1dG9MaWdodEJveCBha3RpdiBpc3QpIDwvbGk+CjxsaT5HcsO2c3NlIGRlcyBPcmlnaW5hbGJpbGRlcy4gV2VyZGVuIGRpZXNlIFBhcmFtZXRlciBsZWVyIGdlbGFzc2VuLCBzbyB3aXJkIGRhcyBPcmlnaW5hbGJpbGQgdmVybGlua3QKPHVsPgoJPGxpPlthbGJyZXNpemVCeU5hcnJvd1NpZGVJblBpeGVsXSAtIERhcyBCaWxkIG5hY2ggZGVyIGvDvHJ6ZXJlbiBTZWl0ZSBpbiBQaXhlbCB2ZXJrbGVpbmVybi92ZXJncsO2c3Nlcm4gPC9saT4KCTxsaT5bYWxicmVzaXplQnlOYXJyb3dTaWRlSW5QZXJjZW50XSAtIERhcyBCaWxkIG5hY2ggZGVyIGvDvHJ6ZXJlbiBTZWl0ZSBpbiBQcm96ZW50IHZlcmtsZWluZXJuL3Zlcmdyw7Zzc2VybiA8L2xpPgoJPGxpPlthbGJyZXNpemVCeUxhcmdlc3RTaWRlSW5QaXhlbF0gLSBEYXMgQmlsZCBuYWNoIGRlciBsw6RuZ2VyZW4gU2VpdGUgaW4gUGl4ZWwgdmVya2xlaW5lcm4vdmVyZ3LDtnNzZXJuIDwvbGk+Cgk8bGk+W2FsYnJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBlcmNlbnRdIC0gRGFzIEJpbGQgbmFjaCBkZXIgbMOkbmdlcmVuIFNlaXRlIGluIFByb3plbnQgdmVya2xlaW5lcm4vdmVyZ3LDtnNzZXJuIDwvbGk+CjwvdWw+CjwvdWw+Cgo8aDQ+V2Fzc2VyemVpY2hlbjwvaDQ+Cgo8dWw+CjxsaT5bd2F0ZXJtYXJrXSAtIChvcHRpb25hbCkgbcO2Z2xpY2hlIFBhcmFtZXRlcjogd2F0ZXJtYXJrPSJpbWFnZSIgLSBkaWUgRWluc3RlbGx1bmdlbiBzaW5kIGltIFJlaXRlciAiV2Fzc2VyemVpY2hlbiBtaXQgQmlsZCIgenUgZmluZGVuPC9saT4KPC91bD4KCkVPVDsKCgojIEkKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaWdub3JlJ10gPSAnSWdub3JlJzsKJGxhbmdbJ2lnbm9yZWxpc3QnXSA9ICdJZ25vcmUgbGlzdGluZyc7CiRsYW5nWydpbmFjdGl2ZSddID0gJ0luYWN0aXZlJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ2luc3RhbGxlZCc7CiRsYW5nWydpcCddID0gJ0lQIE51bWJlcic7CiRsYW5nWydpdXJsJ10gPSAnVVJMIHRvIGlnbm9yZSc7CiRsYW5nWydpbXBvcnR4bWxfdGl0bGUnXSA9ICdJbXBvcnQgdGVtcGxhdGUgdmlhIFhNTCBmaWxlJzsKJGxhbmdbJ2ltcG9ydHhtbG5vdGUnXSA9ICdPbmx5IFRvb2xCb3ggWE1MIGZpbGVzIGFyZSBhbGxvd2VkJzsKJGxhbmdbJ2ltcG9ydHhtbCddID0gJ0ltcG9ydCB0ZW1wbGF0ZSBYTUwnOwokbGFuZ1snaW1wb3J0eG1sbm90ZSddID0gJ1hNTCBmaWxlcyBjb250YWluaW5nIHZhcmlvdXMgVG9vbEJveCB0ZW1wbGF0ZXMgY2FuIGJlIGZvdW5kIGF0IHRoZSBNb2R1bGUgRm9yZ2UgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0L2ZpbGVzLzEwNzUiIHRhcmdldD0iX2JsYW5rIj5Ub29sQm94IHBhZ2U8L2E+LiBSZWFkIHRoZSByZWxlYXNlLW5vdGVzIGJlZm9yZSB1cGxvYWRpbmchJzsKCgojIEoKCiMgSwokbGFuZ1sna2V5d29yZCddID0gJ0tleXdvcmQnOwoKIyBMCiRsYW5nWydsaW5rdmFsdWUnXSA9ICdUeXBlIG9mIHJldHVybiB2YWx1ZSBvZiB0aGUgbGluayc7CgojIE0KJGxhbmdbJ21haW4nXSA9ICdNYWluJzsKJGxhbmdbJ21ha2VhY3RpdmUnXSA9ICdBY3RpdmF0ZSc7CiRsYW5nWydtYWtlaW5hY3RpdmUnXSA9ICdEZWFjdGl2YXRlJzsKJGxhbmdbJ21hbnVhbCddID0gJ01hbnVhbCc7CiRsYW5nWydtYXhfNDA0J10gPSAnTWF4LiBFcnJvcnMnOwokbGFuZ1snbWF4XzQwNF9oZWxwJ10gPSAnU2V0IGhvdyBtYW55IGVycm9ycyBzaG91bGQgYmUgbG9nZ2VkIChtYXguKSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1RoaXMgbW9kdWxlIGlzIGEgY29sbGVjdGlvbiBvZiB0b29scyB3aGljaCBtYXkgYmUgdXNlZnVsIGZvciB3ZWJtYXN0ZXJzOiBBdXRvTGlnaHRCb3gsIFNvY2lhbFNoYXJlUHJpdmFjeSwgVHdpdHRlcmZlZWQsIDMwMS1SZWRpcmVjdHMsIDQwNC1FcnJvci1UcmFja2luZyc7CiRsYW5nWydtb2RpZmllZCddID0gJ0xhc3QgdGltZSc7CiRsYW5nWydtb250aCddID0gJ01vbnRoJzsKJGxhbmdbJ21vbnRocyddID0gJ01vbnRocyc7CiRsYW5nWydpbXBvcnRfbXVsdGlkb21haW5zJ10gPSAnSW1wb3J0IGRhdGEgZnJvbSB0aGUgbW9kdWxlIE11bHRpRG9tYWlucyc7CiRsYW5nWydpbXBvcnRfbXVsdGlkb21haW5zX2hlbHAnXSA9ICdBdHRlbnRpb246IFRoZSBkYXRhIGltcG9ydCBmcm9tIE11bHRpRG9tYWlucyB3YXMgYWxyZWFkeSBkb25lICglcyB0aW1lcykhISEnOwokbGFuZ1snZHJvcF9tdWx0aWRvbWFpbnMnXSA9ICdEcm9wIHRhYmxlcyBmcm9tIG9sZCBNdWx0aURvbWFpbnMgbW9kdWxlPyc7CiRsYW5nWydtYWluX2V2ZW50X2hhbmRsZXJfYWN0aXZlJ10gPSAnVG9vbEJveCBpcyBhY3RpdmUgaW4gdGhlIGV2ZW50IGhhbmRsZXInOwokbGFuZ1snbWFpbl9ldmVudF9oYW5kbGVyX2luYWN0aXZlJ10gPSAnVGhlIHRvb2wgYm94IG11c3QgYmUgYWN0aXZhdGVkIGluIHRoZSBUZW1wbGF0ZSB3aXRoIHtUb29sQm94fSc7CiRsYW5nWydtYWluX3N0YXRzX2FjdGl2ZSddID0gJ1N0YXRpc3RpY3MnOwokbGFuZ1snbWFpbl9zdGF0c19pbmFjdGl2ZSddID0gJ1N0YXRpc3RpY3MnOwokbGFuZ1snbWFpbl9zdGF0c180MDRfYWN0aXZlJ10gPSAnNDA0IEVycm9yIFRyYWNraW5nJzsJCQokbGFuZ1snbWFpbl9zdGF0c180MDRfaW5hY3RpdmUnXSA9ICc0MDQgRXJyb3IgVHJhY2tpbmcnOwokbGFuZ1snbWFpbl9vbGR1cmxfYWN0aXZlJ10gPSAnVVJMIHJlZGlyZWN0cyc7CiRsYW5nWydtYWluX29sZHVybF9pbmFjdGl2ZSddID0gJ1VSTCByZWRpcmVjdHMnOwokbGFuZ1snbWFpbl9hdXRvbGlnaHRib3hfYWN0aXZlJ10gPSAnQXV0b0xpZ2h0Qm94JzsKJGxhbmdbJ21haW5fYXV0b2xpZ2h0Ym94X2luYWN0aXZlJ10gPSAnQXV0b0xpZ2h0Qm94JzsKJGxhbmdbJ21haW5fc29jaWFsc2hhcmVwcml2YWN5X2FjdGl2ZSddID0gJ1NvY2lhbFNoYXJlUHJpdmFjeSc7CiRsYW5nWydtYWluX3NvY2lhbHNoYXJlcHJpdmFjeV9pbmFjdGl2ZSddID0gJ1NvY2lhbFNoYXJlUHJpdmFjeSc7CiRsYW5nWydtYWluX3RhaWxfYWN0aXZlJ10gPSAndGFpbCBMb2cgZnVuY3Rpb25hbGl0eSc7CiRsYW5nWydtYWluX3RhaWxfaW5hY3RpdmUnXSA9ICd0YWlsIExvZyBmdW5jdGlvbmFsaXR5JzsKJGxhbmdbJ21haW5fZGVidWdfYWN0aXZlJ10gPSAnRGVidWdnaW5nJzsKJGxhbmdbJ21haW5fZGVidWdfaW5hY3RpdmUnXSA9ICdEZWJ1Z2dpbmcnOwokbGFuZ1snbWFpbl9zbWFydHlwbHVnaW5zX2FjdGl2ZSddID0gJ1NtYXJ0eSBQbHVnaW4gJHRidG9vbHMgaXMgYWN0aXZlJzsKJGxhbmdbJ21haW5fbW9iaWxlZGV0ZWN0X2FjdGl2ZSddID0gJ1NtYXJ0eSBQbHVnaW4gJHRibW9iaWxlIGlzIGFjdGl2ZSAtIGRldGVjdCBtb2JpbGUgZGV2aWNlcyc7CiRsYW5nWydtYWluX2Z1bmN0aW9uc19hY3RpdmUnXSA9ICdUaGUgVG9vbGJveCBwbHVnaW5zIGFyZSBhdmFpbGFibGUnOwokbGFuZ1snbWFpbl9mdW5jdGlvbnNfYWN0aXZlJ10gPSAnVGhlIFRvb2xib3ggbW9kaWZpZXIgYXJlIGF2YWlsYWJsZSc7CiRsYW5nWydtb2R1bGVvcHMnXSA9ICdNb2R1bGUgT3BlcmF0aW9ucyc7CiRsYW5nWydtb2R1bGVvcHNfdXNlJ10gPSAndXNlIE1vZHVsZSBPcGVyYXRpb25zIC0+IGJhY2t1cCBhbmQgcmVjb3Zlcnkgb2YgbW9kdWxlIHByZWZlcmVuY2VzJzsKJGxhbmdbJ21zZ19zYXZldGVtcGxhdGVwcmVmJ10gPSAnRGllIFRlbXBsYXRlZWluc3RlbGx1bmdlbiB3dXJkZW4gZXJmb2xncmVpY2ggZ2VzcGVpY2hlcnQnOwokbGFuZ1snbXNnX3NhdmVwcmVmJ10gPSAnRGllIEVpbnN0ZWxsdW5nZW4gd3VyZGVuIGVyZm9sZ3JlaWNoIGdlc3BlaWNoZXJ0JzsKJGxhbmdbJ21zZ19yZXNldHByZWYnXSA9ICdEaWUgRWluc3RlbGx1bmdlbiB3dXJkZW4gZXJmb2xncmVpY2ggenVyw7xja2dlc2V0enQnOwokbGFuZ1snZGVza3RvcHRwbCddID0gJ01vYmlsZSB0ZW1wbGF0ZSc7CgojIE4KJGxhbmdbJ25ldmVyJ10gPSAnTmV2ZXInOwokbGFuZ1snbmV3J10gPSAnKG5ldyknOwokbGFuZ1snbmV3cmVkaXJlY3QnXSA9ICdOZXcgVVJMIFJlZGlyZWN0JzsKJGxhbmdbJ25vdGVzJ10gPSAnTm90ZXMnOwokbGFuZ1snbm9fZmlsZXMnXSA9ICJGb3IgdGhpcyB0ZW1wbGF0ZSwgdGhlcmUgYXJlIG5vIGZpbGVzLiI7CgoKIyBPCiRsYW5nWydvbGR1cmxfdXNlJ10gPSAnQWN0aXZhdGUgdGFiIGZvciBVUkwgcmVkaXJlY3RzJzsKJGxhbmdbJ292ZXJ3cml0ZSddID0gJ092ZXJ3cml0ZSBleGlzdGluZyBtb2R1bGUgdGVtcGxhdGVzJzsKCiMgUAokbGFuZ1sncGFnZSddID0gJ1BhZ2UnOwokbGFuZ1sncGFnZWlkJ10gPSAnUGFnZSBJRCc7CiRsYW5nWydwYWdlYWxpYXMnXSA9ICdQYWdlIEFsaWFzJzsKJGxhbmdbJ3BhcmFtX2ludmFsaWQnXSA9ICd7VG9vbEJveH0gdGhlIHBhcmFtZXRlciBtb2Q9Ilttb2RdIiBpcyBpbnZhbGlkJzsKJGxhbmdbJ3BhcmFtX2VtcHR5J10gPSAne1Rvb2xCb3h9IHRoZSBwYXJhbWV0ZXIgIltwYXJhbV0iIGlzIGVtcHR5JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIFRvb2xCb3ggbW9kdWxlIGhhcyBzdWNjZXNzZnVsbHkgYmVlbiBpbnN0YWxsZWQuIFlvdSBjYW4gYWNjZXNzIHRoZSBtb2R1bGUgYmFja2VuZCBpbiBFeHRlbnNpb25zIC8gVG9vbEJveC4gVGhlIG1vZHVsZSBpcyB1c2luZyB0aGUgcGVybWlzc2lvbnMgIk1hbmFnZSBUb29sQm94Ii4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBUb29sQm94IG1vZHVsZSBoYXMgc3VjY2Vzc2Z1bGx5IGJlZW4gcmVtb3ZlZCc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ0FyZSB5b3UgcmVhbGx5IHN1cmUgeW91IHdhbnQgdG8gdW5pbnN0YWxsIHRoZSBtb2R1bGUgVG9vbEJveD8nOwokbGFuZ1sncGFyYW1tb2QnXSA9ICdUb29sYm94IG1vZHVsIHBhcnQsIGV4YW1wbGU6IG1vZD0ic29jaWFsc2hhcmVwcml2YWN5Iic7CiRsYW5nWydwYXJhbXVzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1sncGFyYW1saXN0J10gPSAnbGlzdCBuYW1lJzsKJGxhbmdbJ3BhcmFtc2VhcmNoJ10gPSAnc2VhcmNoIGtleSc7CiRsYW5nWydwYXJhbXRlbXBsYXRlJ10gPSAnTmFtZSBkZXMgVGVtcGxhdGVzIHdlbGNoZXMgdmVyd2VuZGV0IHdpcmQuIERpZXNlcyBUZW1wbGF0ZSBtdXNzIGV4aXN0aWVyZW4gaW0gUmVpdGVyIGRlcyB2ZXJ3ZW5kZXRlbiBUb29sYm94IE1vZHVscyBzaWNodGJhciBzZWluLiBPaG5lIGRpZXNlbiBQYXJhbWV0ZXIgd2lyZCBkYXMgYWxzIFN0YW5kYXJkLVRlbXBsYXRlIGRlZmluaWVydGUgVGVtcGxhdGUgdmVyd2VuZGV0Lic7CiRsYW5nWydwYXJhbWNvdW50J10gPSAnQW56YWhsIERhdGVuc8OkdHplIGRpZSBhbmdlemVpZ3Qgd2VyZGVuIHNvbGxlbic7CiRsYW5nWydwYXJhbWRhdGVmb3JtYXQnXSA9ICdEYXR1bXNmb3JtYXQgaW4gZGVyIEZvcm0gZC1tLVkgSDppOnMnOwokbGFuZ1sncGFyYW1ub2NhY2hlJ10gPSAnRGF0ZW4gd2VyZGVuIG5pY2h0IGdlc3BlaWNoZXJ0JzsKJGxhbmdbJ3BhcmFtY2FjaGV0aW1lJ10gPSAnWmVpdCBpbiBNaW51dGVuIGluIGRlbmVuIGRhcyBSZXN1bHRhdCBpbSBDYWNoZSBnZXNwZWljaGVydCBibGVpYnQuIFN0YW5kYXJkIGlzdCAxMCBNaW51dGVuICgxMCknOwokbGFuZ1sncGFyYW1pbWFnZSddID0gJ1BhdGggdG8gcGljdHVyZSc7CiRsYW5nWydwYXJhbWhlaWdodCddID0gJ0hlaWdodCBpbiBwaXhlbCc7CiRsYW5nWydwYXJhbXdpZHRoJ10gPSAnV2lkdGggaW4gcGl4ZWwnOwokbGFuZ1sncGFyYW1hbHQnXSA9ICdhbHQgQXR0cmlidXRlJzsKJGxhbmdbJ3BhcmFtdGl0bGUnXSA9ICd0aXRsZSBBdHRyaWJ1dGUnOwokbGFuZ1sncGFyYW1jbGFzcyddID0gJ2NsYXNzIEF0dHJpYnV0ZSc7CiRsYW5nWydwYXJhbWlkJ10gPSAnaWQgQXR0cmlidXRlJzsKJGxhbmdbJ3BhcmFtc3R5bGUnXSA9ICdzdHlsZSBBdHRyaWJ1dGUnOwokbGFuZ1sncGFyYW1ub3RhZyddID0gJ3JhdyByZXN1bHQgd2l0aG91dCB0YWcnOwokbGFuZ1sncGFyYW1kZXRhaWx0ZW1wbGF0ZSddID0gJ0RldGFpbCB0ZW1wbGF0ZSc7CiRsYW5nWydwYXJhbWZpbGUnXSA9ICdGaWxlJzsKJGxhbmdbJ3BhcmFtZmlsZWNoYXJzZXQnXSA9ICdGaWxlIGNoYXJzZXQnOwokbGFuZ1sncHJvbXB0X2ltcG9ydHRlbXBsYXRlJ10gPSAnSW1wb3J0IHRlbXBsYXRlJzsKJGxhbmdbJ3BhcmFtYWN0aW9uJ10gPSAnQWN0aW9uJzsKJGxhbmdbJ3BhcmFtc29ydGJ5J10gPSAnU29ydCBieSc7CiRsYW5nWydwYXJhbXNvcnRvcmRlciddID0gJ1NvcnQgb3JkZXInOwokbGFuZ1sncGFyYW1kZWxpbWl0ZXInXSA9ICdEZWxpbWl0ZXInOwokbGFuZ1sncHJvbXB0X2Fib3V0J10gPSAnQWJvdXQnOwokbGFuZ1sncHJvbXB0X2FjdGl2ZSddID0gJ0FjdGl2ZSc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdCddID0gJ0RlZmF1bHQnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZSddID0gJ0RlbGV0ZSc7CiRsYW5nWydwcm9tcHRfZWRpdHRlbXBsYXRlJ10gPSAnRWRpdCBUZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfZmlsZSddID0gJ0ZpbGUnOwokbGFuZ1sncHJvbXB0X2pxdWVyeSddID0gJ3VzZSBqUXVlcnknOwokbGFuZ1sncHJvbXB0X25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ3Byb21wdF9uZXd0ZW1wbGF0ZSddID0gJ0NyZWF0ZSBhIG5ldyB0ZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfc2l6ZSddID0gJ1NpemUnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlbmFtZSddID0gJ1RlbXBsYXRlLU5hbWUnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlbWFuYWdlbWVudCddID0gJ1RlbXBsYXRlIE1hbmFnZW1lbnQnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlY3NzJ10gPSAnVGVtcGxhdGUgQ1NTLXN0eWxlc2hlZXQnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlanMnXSA9ICdUZW1wbGF0ZSBKYXZhU2NyaXB0JzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIFNvdXJjZSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGVmaWxlcyddID0gJ1RlbXBsYXRlIEZpbGVzJzsKJGxhbmdbJ3Byb21wdF91cGxvYWRmaWxlJ10gPSAnU2VsZWN0IEZpbGUnOwokbGFuZ1sncHJvbXB0X3ZlcnNpb24nXSA9ICdWZXJzaW9uJzsKJGxhbmdbJ3Byb21wdF92aXNpYmxlJ10gPSAnVmlzaWJsZSBpbiB0ZW1wbGF0ZSBkcm9wZG93bic7CiRsYW5nWydwcm9tcHRfb2xkdXJsX3RpdGxlJ10gPSAnVVJMIHJlZGlyZWN0cyc7CiRsYW5nWydwcm9tcHRfc3RhdHNfNDA0X3RpdGxlJ10gPSAnNDA0IExvZ2dpbmcnOwokbGFuZ1sncHJvbXB0X2F1dG9saWdodGJveF90aXRsZSddID0gJ0F1dG9MaWdodEJveD8nOwokbGFuZ1sncHJvbXB0X3NvY2lhbHNoYXJlcHJpdmFjeV90aXRsZSddID0gJ1NvY2lhbFNoYXJlUHJpdmFjeSc7CiRsYW5nWydwcm9tcHRfc3RhdHNfdGl0bGUnXSA9ICdTdGF0aXN0aWNzJzsKJGxhbmdbJ3Byb21wdF9kZWJ1Z190aXRsZSddID0gJ0RlYnVnJzsKJGxhbmdbJ3Byb21wdF90YWlsX3RpdGxlJ10gPSAnTG9nZ2luZyc7CiRsYW5nWydwcm9tcHRfcHJlZnNfdGl0bGUnXSA9ICdQcmVmZXJlbmNlcyc7CiRsYW5nWydwcm9tcHRfbXVsdGlkb21haW5fdGl0bGUnXSA9ICdNdWx0aWRvbWFpbnMnOwokbGFuZ1sncHJvbXB0X2ltYWdlbWFuaXB1bGF0aW9uX3NvY2lhbHBsdWdpbiddID0gJ0ltYWdlIG1hbmlwdWxhdGlvbiAvIHNvY2lhbCBwbHVnaW5zJzsKJGxhbmdbJ3Byb21wdF90cmFja2luZ19sb2dnaW5nJ10gPSAnTG9nZ2luZyAgLyB0cmFja2luZyc7CiRsYW5nWydwcm9tcHRfZ2VuZXJhbF9wcmVmcyddID0gJ0dlbmVyYWwgcHJlZmVyZW5jZXMnOwokbGFuZ1sncHJvbXB0X2phdmFzY3JpcHRfZm9vdGVyJ10gPSAnSW5jbHVkZSBqYXZhc2NyaXB0IGJlZm9yICZsdDsvYm9keSZndDsnOwokbGFuZ1sncHJvbXB0X3R3aXR0ZXJmZWVkX3RpdGxlJ10gPSAnVHdpdHRlcmZlZWQnOwokbGFuZ1sncHJvbXB0X3BhcmFtZXRlciddID0gJ1BhcmFtZXRlcic7CiRsYW5nWydwcm9tcHRfY3N2X3RpdGxlJ10gPSAnQ1NWIExpc3RJdCc7CiRsYW5nWydwcm9tcHRfbWluaWZ5J10gPSAnTWluaWZ5IEphdmFTY3JpcHQgYW5kIENTUy1zdHlsZXNoZWV0JzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdTdW1tYXJ5IFRlbXBsYXRlJzsKJGxhbmdbJ3Byb21wdF9kZXRhaWx0ZW1wbGF0ZSddID0gJ0RldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnRGVsaW1pdGVyIGRlciBDU1YgRGF0ZWknOwokbGFuZ1sncHJvbXB0X2NoYXJzZXRmaWxlJ10gPSAnQ2hhcnNldCBDU1YgRGF0ZWknOwokbGFuZ1sncHJvbXB0X2NoYXJzZXRjbXMnXSA9ICdDaGFyc2V0IENNUyBTeXN0ZW0nOwokbGFuZ1sncHJvbXB0X3VybHR5cGUnXSA9ICdVUkwgdHlwZSc7CiRsYW5nWydwcm9tcHRfdXNlX21vYmlsZXRlbXBsYXRlJ10gPSAnVXNlIG1vYmlsZSB0ZW1wbGF0ZSc7CgojIFEKCiMgUgokbGFuZ1sncmVhbGx5bWFrZWFjdGl2ZSddID0gJ0RvIHlvdSB3YW50IHRvIGFjdGl2YXRlIHRoaXMgcmVhbGx5Pyc7CiRsYW5nWydyZWFsbHlpZ25vcmUnXSA9ICdEbyB5b3Ugd2FudCB0byBpZ25vcmUgdGhpcyB1cmwgaW4gZXJyb3IgbGlzdD8nOwokbGFuZ1sncmVhbGx5bWFrZWluYWN0aXZlJ10gPSAnRG8geW91IHdhbnQgdG8gZGVhY3RpdmF0ZSB0aGlzIHJlYWxseT8nOwokbGFuZ1sncmVhbGx5ZGVsZXRlJ10gPSAnRG8geW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgcmVhbGx5Pyc7CiRsYW5nWydyZWRpcmVjdCddID0gJ1VSTCBSZWRpcmVjdCc7CiRsYW5nWydyZWRpcmVjdGVkaXQnXSA9ICdFZGl0IFJlZGlyZWN0IFVSTCc7CiRsYW5nWydyZWRpcmVjdHMnXSA9ICdSZWRpcmVjdCBVUkxzJzsKJGxhbmdbJ3JlZmVyZXInXSA9ICdSZWZlcmVyJzsKJGxhbmdbJ3JlZ2V4cCddID0gJ1JlZ0V4cCc7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0JzsKJGxhbmdbJ3Jlc2V0b3JpZ2luYWwnXSA9ICdSZXNldCB0byBvcmlnaW5hbCc7CiRsYW5nWydyZXNldG9yaWdpbmFsd2FybmluZyddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB0aGUgdGVtcGxhdGUgY29kZSB0byBpdHMgb3JpZ2luYWwgY29kZT8nOwokbGFuZ1sncmVzZXRvcmlnaW5hbHdhcm5pbmcyJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IHRoZSBwcmVmZXJlbmNlcyB0byBpdHMgb3JpZ2luYWw/JzsKCiMgUwokbGFuZ1snc2V0dGluZ3MnXSA9ICdTZXR0aW5ncyc7CiRsYW5nWydzZWFyY2h0ZW1wbGF0ZSddID0gJ1NlYXJjaCBUZW1wbGF0ZSc7CiRsYW5nWydzZWFyY2hlbmdpbmUnXSA9ICdTZWFyY2ggRW5naW5lJzsKJGxhbmdbJ3NlbmQnXSA9ICdTdWJtaXQnOwokbGFuZ1snc2Vzc2lvbl9pZCddID0gJ1Nlc3Npb24gSUQnOwokbGFuZ1snc2V0ZmFsc2UnXSA9ICdTZXQgRmFsc2UnOwokbGFuZ1snc2V0dHJ1ZSddID0gJ1NldCBUcnVlJzsKJGxhbmdbJ3NtYXJ0eXRhZ3MnXSA9ICdZb3UgY2FuIHVzZSBTbWFydHktdGFncyBsaWtlIFtbcm9vdF91cmxdXSc7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3knXSA9ICdTb2NpYWxTaGFyZVByaXZhY3knOwokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3Byb21wdF9hZHZhbmNlZCddID0gJ0FkdmFuY2VkIHNldHRpbmdzIGVuYWJsZSAoSFRNTCwgU3R5bGVzaGVldCBhbmQgSmF2YVNjcmlwdCBUZW1wbGF0ZSBlZGl0IGRpcmVjdGx5KSc7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfZGVzY3JpcHRpb24nXSA9ICc8cD5Tb2NpYWxTaGFyZVByaXZhY3kgaXMgYSBwbHVnaW4gdG8gdHdvLXN0ZXAgaW50ZWdyYXRpb24gb2YgRmFjZWJvb2ssIFR3aXR0ZXIgYW5kIEdvb2dsZVBsdXMuIE9ubHkgYWZ0ZXIgY2xpY2tpbmcgb24gdGhlIGJ1dHRvbiwgZGF0YSBpcyB0cmFuc21pdHRlZCBvbiB0aGUgc2VydmljZS48YnIgLz48YnIgLz5Tb2NpYWxTaGFyZVByaXZhY3kgaXMgaGVyZWJ5IGluY29ycG9yYXRlZCBhcyBmb2xsb3dzOiB7VG9vbEJveCBtb2Q9InNvY2lhbHNoYXJlcHJpdmFjeSJ9PC9wPic7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfaW5hY3RpdmUnXSA9ICdTb2NpYWxTaGFyZVByaXZhY3kgaXMgbm90IGFjdGl2ZSEnOwokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3Byb21wdF9pbmZvbGluayddID0gJ0xpbmsgdG8gYW4gaW5mb3JtYXRpb24gcGFnZSB3aGljaCBpcyBleHBsYWluaW5nIGZ1bmN0aW9uYWxpdHlzJzsKJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV9wcm9tcHRfanF1ZXJ5J10gPSAnRW1iZWQgalF1ZXJ5JzsKJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV9wcm9tcHRfdGVtcGxhdGVfaW5mbyddID0gJ0ZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSB1c2Ugb2YgU29jaWFsU2hhcmVQcml2YWN5IGFuZCB0aGUgdmFyaW91cyBvcHRpb25zIGNhbiBiZSBmb3VuZCBoZXJlOiA8YSBocmVmPSJodHRwOi8vd3d3LmhlaXNlLmRlL2V4dHJhcy9zb2NpYWxzaGFyZXByaXZhY3kvIj5odHRwOi8vd3d3LmhlaXNlLmRlL2V4dHJhcy9zb2NpYWxzaGFyZXByaXZhY3kvPC9hPiAoZ2VybWFuKSc7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X3RlbXBsYXRlJ10gPSAnSFRNTCc7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X3RlbXBsYXRlY3NzJ10gPSAnU3R5bGVzaGVldCc7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X3RlbXBsYXRlanMnXSA9ICdKYXZhU2NyaXB0JzsKJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV9zZXR0aW5nc3Blcm1hJ10gPSAnQWdyZWUgYWN0aXZhdGUgcGVybWFuZW50bHkgYW5kIGRhdGEgdHJhbnNmZXI6JzsKJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHRmYmluZm8nXSA9ICcyIGNsaWNrcyBmb3IgYmV0dGVyIGRhdGEgcHJvdGVjdGlvbjogT25seSB3aGVuIHlvdSBjbGljayBoZXJlLCB0aGUgYnV0dG9uIHdpbGwgYmVjb21lIGFjdGl2ZSBhbmQgeW91IGNhbiBzZW5kIHlvdXIgcmVjb21tZW5kYXRpb24gdG8gRmFjZWJvb2suIEV2ZW4gd2hlbiBlbmFibGluZyBkYXRhIHRvIGJlIHRyYW5zZmVycmVkIHRvIHRoaXJkIHBhcnRpZXMgJm5kYXNoOyBzZWUgSS4nOwokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3R4dGZib2ZmJ10gPSAnbm90IGxpbmtlZCB0byBGYWNlYm9vayc7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0ZmJvbiddID0gJ2Nvbm5lY3RlZCB0byBGYWNlYm9vayc7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0dHdpdHRlcmluZm8nXSA9ICcyIGNsaWNrcyBmb3IgYmV0dGVyIGRhdGEgcHJvdGVjdGlvbjogT25seSB3aGVuIHlvdSBjbGljayBoZXJlLCB0aGUgYnV0dG9uIHdpbGwgYmVjb21lIGFjdGl2ZSBhbmQgeW91IGNhbiBzZW5kIHlvdXIgcmVjb21tZW5kYXRpb24gdG8gVHdpdHRlci4gRXZlbiB3aGVuIGVuYWJsaW5nIGRhdGEgdG8gYmUgdHJhbnNmZXJyZWQgdG8gdGhpcmQgcGFydGllcyAmbmRhc2g7IHNlZSBJLic7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0dHdpdHRlcm9mZiddID0gJ25vdCBsaW5rZWQgdG8gVHdpdHRlcic7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0dHdpdHRlcm9uJ10gPSAnY29ubmVjdGVkIHRvIFR3aXR0ZXInOwokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3R4dGdwbHVzaW5mbyddID0gJzIgY2xpY2tzIGZvciBiZXR0ZXIgZGF0YSBwcm90ZWN0aW9uOiBPbmx5IHdoZW4geW91IGNsaWNrIGhlcmUsIHRoZSBidXR0b24gd2lsbCBiZWNvbWUgYWN0aXZlIGFuZCB5b3UgY2FuIHNlbmQgeW91ciByZWNvbW1lbmRhdGlvbiB0byBHb29nbGUrLiBFdmVuIHdoZW4gZW5hYmxpbmcgZGF0YSB0byBiZSB0cmFuc2ZlcnJlZCB0byB0aGlyZCBwYXJ0aWVzICZuZGFzaDsgc2VlIEkuJzsKJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHRncGx1c29mZiddID0gJ25vdCBsaW5rZWQgdG8gR29vZ2xlKyc7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0Z3BsdXNvbiddID0gJ2Nvbm5lY3RlZCB0byBHb29nbGUrJzsKJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHRoZWxwJ10gPSAnSWYgeW91IHNlbGVjdCB0aGlzIGZpZWxkIHdpdGggYSBjbGljaywgaW5mb3JtYXRpb24gb24gRmFjZWJvb2ssIFR3aXR0ZXIgYW5kIEdvb2dsZSBhcmUgdHJhbnNmZXJyZWQgdG8gdGhlIFVuaXRlZCBTdGF0ZXMgYW5kIG1heSBhbHNvIGJlIHN0b3JlZCB0aGVyZS4gRGV0YWlscyB5b3Uga25vdyBieSBjbGlja2luZyBvbiB0aGUgSS4nOwokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3RpdGxlJ10gPSAnU29jaWFsU2hhcmVQcml2YWN5IC0gU29jaWFsLU1lZGlhIEJ1dHRvbnMgd2l0aCAyLUNsaWNrIFJ1bGUnOwokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3VzZSddID0gJ1VzZSBTb2NpYWxTaGFyZVByaXZhY3knOwokbGFuZ1snc3RhbmRhcmQnXSA9ICdTdGFuZGFyZCc7CiRsYW5nWydzdGF0cyddID0gJ1N0YXRpc3RpY3MnOwokbGFuZ1snc3RhdHNfNDA0J10gPSAnU2hvdyA0MDQgZXJyb3IgcmVwb3J0JzsKJGxhbmdbJ3N0YXRzX2RhaWx5J10gPSAnVXNlIGRhaWx5IHN0YXRpc3RpY3MnOwokbGFuZ1snc3RhdHNfZW1haWwnXSA9ICdFTWFpbCBmb3IgbW9udGhseSBzdGF0aXN0aWNzJzsKJGxhbmdbJ3N0YXRzX2VtYWlsX2hlbHAnXSA9ICdMZWF2ZSBlbXB0eSwgaWYgeW91IHdvblwndCB1c2UgaXQnOwokbGFuZ1snc3RhdHNfZW1haWxfc3ViamVjdCddID0gJ1Rvb2xCb3ggU3RhdGlzdGljcyAldSBvZiAlbSc7CiRsYW5nWydzdGF0c191c2UnXSA9ICdVc2Ugc3RhdGlzdGljcyc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMnOwokbGFuZ1snc3VibWl0J10gPSAnU2F2ZSc7CgojIFQKJGxhbmdbJ3RiaW1hZ2UnXSA9ICd0YmltYWdlJzsKJGxhbmdbJ3RiaW1hZ2VfZGVzY3JpcHRpb24nXSA9ICdNaXQgdGJpbWFnZSBsYXNzZW4gc2ljaCBCaWxkZXIgZWluZmFjaCB2ZXJrbGVpbmVybiwgYXVmIEdyw7Zzc2Ugc2NobmVpZGVuIHVuZCBhdXNnZWJlbi4nOwokbGFuZ1sndGJpbWFnZW5vZmlsZSddID0gJ25vdCB3YXRlcm1hcmsgaW1hZ2UnOwokbGFuZ1sndGJpbWFnZV9sdCddID0gJ2xlZnQgdG9wJzsKJGxhbmdbJ3RiaW1hZ2VfbXQnXSA9ICdtaWRkbGUgdG9wJzsKJGxhbmdbJ3RiaW1hZ2VfcnQnXSA9ICdyaWdodCB0b3AnOwokbGFuZ1sndGJpbWFnZV9sbSddID0gJ2xlZnQgbWlkZGxlJzsKJGxhbmdbJ3RiaW1hZ2VfbW0nXSA9ICdtaWRkbGUgbWlkZGxlJzsKJGxhbmdbJ3RiaW1hZ2Vfcm0nXSA9ICdyaWdodCBtaWRkbGUnOwokbGFuZ1sndGJpbWFnZV9sYiddID0gJ2xlZnQgYm90dG9tJzsKJGxhbmdbJ3RiaW1hZ2VfbWInXSA9ICdtaWRkbGUgYm90dG9tJzsKJGxhbmdbJ3RiaW1hZ2VfcmInXSA9ICdyaWdodCBib3R0b20nOwokbGFuZ1sndGJpbWFnZSddID0gJ3RiaW1hZ2UnOwokbGFuZ1sndGFpbF9wcm9tcHRfZmlsZW5hbWUnXSA9ICdTZWxlY3QgdGhlIGxvZyBmaWxlIHdoaWNoIHNob3VsZCBiZSBkaXNwbGF5ZWQnOwokbGFuZ1sndGFpbF9wcm9tcHRfbGluZXMnXSA9ICdOdW1iZXIgb2Ygcm93cyB3aGljaCBzaG91bGQgYmUgZGlzcGxheWVkIGF0IHRoZSBmaXJzdCByZWFkaW5nIHByb2Nlc3MgZnJvbSB0aGUgbG9nIGZpbGUnOwokbGFuZ1sndGFpbF9wcm9tcHRfbG9nJ10gPSAnTG9nZmlsZSBpc3N1ZSc7CiRsYW5nWyd0YWlsX3N0YXJ0J10gPSAnU3RhcnQgbG9nZ2luZyc7CiRsYW5nWyd0YWlsX3N0b3AnXSA9ICdTdG9wIGxvZ2dpbmcnOwokbGFuZ1sndGFpbF90aXRsZSddID0gJ0xvZyBmaWxlIGlzc3VlIHRocm91Z2ggalF1ZXJ5IFRhaWwnOwokbGFuZ1sndGFpbF91c2UnXSA9ICdMb2cgZmlsZSBpc3N1ZSB0aHJvdWdoIGpxdWVyeS90YWlsIGFjdGl2YXRlLiBUaGlzIGlzIG9uZSBvZiB0aGUgVW5peCBmdW5jdGlvbiBkaXNwbGF5cyAidGFpbCIgc2ltaWxhciBmdW5jdGlvbnMgaW4gbG9nIGZpbGUgaW4gcmVhbCB0aW1lLic7CiRsYW5nWyd0YXJnZXRwYWdlJ10gPSAnVGFyZ2V0IFBhZ2UnOwokbGFuZ1sndGFyZ2V0dXJsJ10gPSAnVGFyZ2V0IFVSTCc7CiRsYW5nWyd0aW1lJ10gPSAnVGltZSc7CiRsYW5nWyd0b3VybCddID0gJ01pc3NpbmcgUGFnZSc7CiRsYW5nWyd0ZW1wbGF0ZWltcG9ydCddID0gJ1RoZSB0ZW1wbGF0ZSB3YXMgc3VjY2Vzc2Z1bGx5IGFkZGVkLic7CiRsYW5nWyd0ZW1wbGF0ZWFkZGVkJ10gPSAnVGhlIHRlbXBsYXRlIHdhcyBzdWNjZXNzZnVsbHkgYWRkZWQuJzsKJGxhbmdbJ3RlbXBsYXRlZGVsZXRlZCddID0gJ1RlbXBsYXRlIGRlbGV0ZWQnOwokbGFuZ1sndGVtcGxhdGV1cGRhdGVkJ10gPSAnVGhlIHRlbXBsYXRlIHdhcyBzdWNjZXNzZnVsbHkgdXBkYXRlZC4nOwokbGFuZ1sndGl0bGVfaW1wb3J0eG1sJ10gPSAnSW1wb3J0IHRlbXBsYXRlIHZpYSBYTUwgZmlsZSc7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlLUVkaXRvcic7CiRsYW5nWyd0d2l0dGVyZmVlZCddID0gJ1R3aXR0ZXJmZWVkJzsKJGxhbmdbJ3R3aXR0ZXJmZWVkX3VzZSddID0gJ1VzZSBUd2l0dGVyZmVlZCc7CiRsYW5nWyd0d2l0dGVyZmVlZF9kZXNjcmlwdGlvbiddID0gPDw8RU9UCgk8cD5NaXQgVHdpdHRlcmZlZWQga8O2bm5lbiBrYW5uIGRlciBGZWVkIGVpbmVzIFR3aXR0ZXItQWNjb3VudHMgaW4gZGllIFdlYnNlaXRlIGVpbmdlYnVuZGVuIHdlcmRlbi4gRGllIERhcnN0ZWxsdW5nIGRlcyBGZWVkcyBrYW5uIGluIGVpbmVtIFRlbXBsYXRlIGRlZmluaWVydCB3ZXJkZW4uPC9wPjxjb2RlPgoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgdXNlcm5hbWU9J2x1a2FzYmxhdHRlcicgY291bnQ9NSB0ZW1wbGF0ZT0ndHdpdHRlcmZlZWQnIGRhdGVmb3JtYXQ9J2ZyaWVuZGx5JyBjYWNoZXRpbWU9MTAgJiMxMjU7PGJyIC8+CgkJJiMxMjM7VG9vbEJveCBtb2Q9J3R3aXR0ZXJmZWVkJyB1c2VybmFtZT0nbHVrYXNibGF0dGVyJyBjb3VudD01IHRlbXBsYXRlPSd0d2l0dGVyZmVlZCcgZGF0ZWZvcm1hdD0nZC5tLlkgSDppJyAmIzEyNTs8YnIgLz4KCQkmIzEyMztUb29sQm94IG1vZD0ndHdpdHRlcmZlZWQnIHVzZXJuYW1lPSdsdWthc2JsYXR0ZXInIGxpc3Q9J3dlYmRlc2lnbicgY291bnQ9NSAmIzEyNTs8YnIgLz4KCQkmIzEyMztUb29sQm94IG1vZD0ndHdpdHRlcmZlZWQnIHNlYXJjaD0nI2Ntc21zJyBjb3VudD0xMCAmIzEyNTsKCSAgPC9jb2RlPgogIDwvY29kZT4gCkVPVDsKCgojIFUKJGxhbmdbJ3VybCddID0gJ1VSTCc7CiRsYW5nWyd1cmxzJ10gPSAnVVJMcyc7CiRsYW5nWyd1cGRhdGVkJ10gPSAndXBkYXRlZCc7CgojIFYKJGxhbmdbJ3Zpc2l0cyddID0gJ1Zpc2l0cyc7CiRsYW5nWyd2aWV3J10gPSAnVmlldyc7CgojIFcKJGxhbmdbJ3dhdGVybWFya3RleHQnXSA9ICdXYXNzZXJ6ZWljaGVuIG1pdCBUZXh0JzsKJGxhbmdbJ3dhdGVybWFya2ltYWdlJ10gPSAnV2F0ZXJtYXJrIHdpdGggaW1hZ2UnOwokbGFuZ1snd210X3RleHQnXSA9ICdXYXNzZXJ6ZWljaGVuIFRleHQsIHouQi4gJmNvcHk7IENvcHlyaWdodCBieSBUb29sYm94JzsKJGxhbmdbJ3dtdF9mb250J10gPSAnU2NocmlmdGFydCB1bmQgR3LDtnNzZSc7CiRsYW5nWyd3bXRfc2l6ZSddID0gJ1NjaHJpZnRncsO2c3NlJzsKJGxhbmdbJ3dtdF9jb2xvciddID0gJ0ZhcmJlIGRlciBTY2hyaWZ0JzsKJGxhbmdbJ3dtdF9vcGFjaXR5J10gPSAnT3BhY2l0eSc7CiRsYW5nWyd3bXRfcG9zaXRpb24nXSA9ICdQb3NpdGlvbic7CiRsYW5nWyd3bXRfcG9zeCddID0gJ1Bvc2l0aW9uIGluIFgnOwokbGFuZ1snd210X3Bvc3knXSA9ICdQb3NpdGlvbiBpbiBZJzsKJGxhbmdbJ3dtaV9pbWFnZSddID0gJ1dhc3NlcnplaWNoZW4gQmlsZCc7CiRsYW5nWyd3bWlfcmVsc2l6ZSddID0gJ1JlbGF0aXZlIEdyw7Zzc2UgZGVzIFdhc3NlcnplaWNoZW4gQmlsZGVzIHp1bSBiZWFyYmVpdGV0ZW4gQmlsZCBpbiAlJzsKCgojIFgKCiMgWQokbGFuZ1sneWVhciddID0gJ1llYXInOwokbGFuZ1sneWVhcnMnXSA9ICdZZWFycyc7CgojIFoKCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBUbyBkZW55IFBIUHMKPEZpbGVzIH4gIlwuKHBocHxwaHAzfHBocDR8cGhwNXxwaHRtbHxwbHxjZ2kpJCI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgb3JkZXIgZGVueSxhbGxvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogIGRlbnkgZnJvbSBhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPC9GaWxlcz4gIAo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgojIDAtOQokbGFuZ1snNDA0J10gPSAnNDA0IEZlaGxlcic7CgojIEEKJGxhbmdbJ2FjdGl2ZSddID0gJ0FrdGl2JzsKJGxhbmdbJ2FsdGVybmF0aXZlX3VybCddID0gJ0ZhbGxzIGVzIHNpY2ggdW0gZWluZSBleHRlcm5lIFVSTCBvZGVyIGVpbiBCaWxkIGhhbmRlbHQsIGthbm4gaW0gZm9sZ2VuZGVuIEZlbGQgZWluZSBVUkwgZnJlaSBlaW5nZWdlYmVuIHdlcmRlbi4gRGllIFppZWwtU2VpdGUgYXVzIGRlbSBvYmVyZW4gRmVsZCB3aXJkIGRhbm4gaWdub3JpZXJ0Lic7CiRsYW5nWydhbHdheXMnXSA9ICdJbW1lcic7CiRsYW5nWydhdXRvbGlnaHRib3gnXSA9ICdBdXRvTGlnaHRCb3gnOwokbGFuZ1snYXV0b2xpZ2h0Ym94X3VzZSddID0gJ0F1dG9MaWdodEJveCBha3RpdmllcmVuJzsKJGxhbmdbJ2F1dG9saWdodGJveF9kZXNjcmlwdGlvbiddID0gJzxwPk1pdCBkZXIgQXV0b0xpZ2h0Qm94IHdlcmRlbiBkaWUgQmlsZGVyIGlocmVyIFdlYnNlaXRlIGltbWVyIGluIGRlciBrb3JyZWt0ZW4gR3LDtnNzZSBnZXNwZWljaGVydC4gSXN0IGRhcyBlaW5nZWbDvGd0ZSBCaWxkIGdyw7Zzc2VyIGFscyBkYXMgT3JpZ2luYWxiaWxkLCBzbyBlcnN0ZWxsdCBBdXRvTGlnaHRCb3ggYXV0b21hdGlzY2ggZWluZSBLb3BpZSB1bmQgZXJzdGVsbHQgZWluZSBWZXJrbsO8cGZ1bmcgenVtIE9yaWdpbmFsYmlsZC4gTWl0IGFrdGl2aWVydGVyIExpZ2h0Ym94IEZ1bmt0aW9uIHdpcmQgZGFzIE9yaWdpbmFsYmlsZCBiZWltIEtsaWNrIGF1ZiBkYXMgdmVya2xlaW5lcnRlIEJpbGQgaW4gZWluZXIgTGlnaHRib3ggZ2XDtmZmbmV0LjwvcD4nOwokbGFuZ1snYXV0b2xpZ2h0Ym94X3RpdGxlJ10gPSAnQXV0b0xpZ2h0Qm94JzsKJGxhbmdbJ2F1dG9saWdodGJveF9wcm9tcHRfcmVsJ10gPSAnSW5oYWx0IGRlciAicmVsIi1BdHRyaWJ1dHMgZGVzIEJpbGQtTGlua3MgKGthbm4gbGVlciBzZWluKSc7CiRsYW5nWydhdXRvbGlnaHRib3hfcHJvbXB0X2NsYXNzJ10gPSAnSW5oYWx0IGRlciAiY2xhc3MiLUF0dHJpYnV0cyBkZXMgQmlsZC1MaW5rcyAoa2FubiBsZWVyIHNlaW4pJzsKJGxhbmdbJ2F1dG9saWdodGJveF9wcm9tcHRfbGlnaHRib3gnXSA9ICdMaWdodGJveGVpbmJpbmR1bmcgZGVyIEJpbGRlciBkdXJjaCBBdXRvTGlnaHRCb3ggc3RldWVybiAoZGFzIG5vdHdlbmRpZ2UgU3R5bGVzaGVldCB1bmQgSmF2YVNjcmlwdCB3aXJkIGF1dG9tYXRpc2NoIGVpbmdlYnVuZGVuKSc7CiRsYW5nWydhcHBseSddID0gJ0Fud2VuZGVuJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdXb2xsZW4gU2llIGRpZXMgd2lya2xpY2ggbCZvdW1sO3NjaGVuPyc7CiRsYW5nWydhZGRmaWxlcyddID0gJ0RhdGVpZW4gaGluenVmw7xnZW4nOwoKCiMgQgokbGFuZ1snYmFja3VwcmVjb3ZlcnknXSA9ICdCYWNrdXAgLyBXaWVkZXJoZXJzdGVsbHVuZyc7CgojIEMKJGxhbmdbJ2NhY2hlJ10gPSAnWndpc2NoZW5zcGVpY2hlcm4nOwokbGFuZ1snY2FuY2VsJ10gPSAnQWJicmVjaGVuJzsKJGxhbmdbJ2NzdiddID0gJ0NTViBMaXN0SXQnOwokbGFuZ1snY3N2ZmlsZXMnXSA9ICdEYXRlaWVuJzsKJGxhbmdbJ2Nzdl9kZXNjcmlwdGlvbiddID0gJ01pdCBDU1YgTGlzdEl0IGvDtm5uZW4gSW5oYWx0ZSB2b24gQ1NWIERhdGVpZW4gZWluZmFjaCBkYXJnZXN0ZWxsdCB1bmQgZHVyY2hzdWNodCB3ZXJkZW4nOwokbGFuZ1snY3N2X3VzZSddID0gJ0NTViBMaXN0SXQgYWt0aXZpZXJlbic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9IDw8PEVPVAo8dWw+CjxsaT4xLjIuNSAtIDEwLjA4LjIwMTI8YnIgLz4KVHdpdHRlcmZlZWQgaGluenVnZWbDvGd0PGJyIC8+ClNtYXJ0eSBrYW5uIG51biBpbiBTdHlsZXNoZWV0cyB1bmQgSmF2YXNjcmlwdHMgZ2VudXR6dCB3ZXJkZW46IHouQi4gW1tyb290X3VybF1dPGJyIC8+IApGZWhsZXJiZWhlYnVuZyBBdXRvTGlnaHRCb3g8YnIgLz4KSW5rb21wYXRpYmlsaXTDpHQgendpc2NoZW4gQXV0b0xpZ2h0Qm94IHVuZCBTb2NpYWxTaGFyZVByaXZhY3kgYmVob2JlbjxiciAvPgpKYXZhc2NyaXB0IGthbm4gbnVuIGF1Y2ggaW0gRm9vdGVyIGVpbmdlbGVzZW4gd2VyZGVuPGJyIC8+CkRhcnN0ZWxsdW5nIHVuZCBHcnVwcGllcnVuZyBkZXIgRWluc3RlbGx1bmdlbiDDvGJlcmFyYmVpdGV0IAo8L2xpPgo8bGk+MS4yLjQgLSAyMC4wNy4yMDEyPGJyIC8+CkFkZCBBdXRvTGlnaHRCb3ggdGVtcGxhdGUgbWFuYWdlbWVudCAKPC9saT4KPGxpPjEuMi4zIC0gMjYuMDYuMjAxMjxiciAvPgpCdWdmaXhlcyBpbiBBdXRvTGlnaHRCb3gKPC9saT4KPGxpPjEuMi4yPGJyIC8+Ck1pbm9yIEJ1Z2ZpeGVzCjwvbGk+CjxsaT4xLjIuMTxiciAvPgpNaW5vciBCdWdmaXhlczwvbGk+Cgo8bGk+MS4yLjA8YnIgLz4KQWRkZWQgQXV0b0xpZ2h0Qm94PGJyIC8+CkFkZGVkIHRlbXBsYXRlIGltcG9ydAo8L2xpPgoKPGxpPjEuMS4xPGJyIC8+Cm1pbm9yIGJ1Z2ZpeGVzPGJyIC8+CnVwZGF0ZSBTb2NpYWxTaGFyZVByaXZhY3kgMS40CjwvbGk+Cgo8bGk+MS4xLjA8YnIgLz4KQWRkZWQgU21hcnR5IHBsdWdpbiBcJHRidG9vbHMuIFRoaXMgZW5hYmxlcyB5b3UgdG8gdXNlIGRpZmZlcmVudCBmdW5jdGlvbnMgdG8gbW9kaWZ5IGNvbnRlbnQuPGJyIC8+CkFkZGVkIGRpZmZlcmVudCBwbHVnaW5zLjxiciAvPgpBZGRlZCBwbHVnaW4gdG8gZXh0ZW5kIEFkdmFuY2VkQ29udGVudDxiciAvPgpBZGRlZCBwbHVnaW4gdG8gc2hvdyBTb2NpYWxTaGFyZVByaXZhY3kgQnV0dG9uczxiciAvPgpBZGRlZCBhIFRhaWwtTG9nIFRhYjxiciAvPgpNb2R1bGUgaGVscCBpcyBub3cgbXVjaCBiaWdnZXIgOik8YnIgLz4KVG9vbEJveCBjYWxsIGlzIG5vdyBwb3NzaWJsZSB3aXRoIHtUb29sQm94fQo8L2xpPgoKPGxpPjEuMC4xIC0gRGV6ZW1iZXIgMjAxMTwvbGk+CjxwPktsZWluZXJlIEZlaGxlci1CZXNlaXRpZ3VuZ2VuLjwvcD48L2xpPgo8bGk+MS4wIC0gRGV6ZW1iZXIgMjAxMQo8cD5FcnN0ZXMgUmVsZWFzZSBkZXMgTW9kdWxzIFRvb2xCb3guPC9wPjwvbGk+CjwvdWw+CkVPVDsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdFcnN0ZXMgQXVmdHJldGVuJzsKJGxhbmdbJ2NvcHknXSA9ICdLb3BpZXJlbic7CgojIEQKJGxhbmdbJ2RheSddID0gJ1RhZyc7CiRsYW5nWydkYXlzJ10gPSAnVGFnZSc7CiRsYW5nWydkZWJ1ZyddID0gJ0RlYnVnJzsKJGxhbmdbJ2RlYnVnX2xvZyddID0gJ0RlYnVnIExvZyc7CiRsYW5nWydkZWJ1Z191c2UnXSA9ICdEZWJ1ZyBSZWl0ZXIgdmVyd2VuZGVuJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0wmb3VtbDtzY2hlbic7CiRsYW5nWydkZWxldGVhbGwnXSA9ICdBbGxlIGzDtnNjaGVuJzsKJGxhbmdbJ2RvJ10gPSAnQWt0aW9uJzsKJGxhbmdbJ2RvbnRfdXNlX2V2ZW50X2hhbmRsZXInXSA9ICdNb2R1bCBpbiBkZXIgRXJlaWduaXN2ZXJ3YWx0dW5nIGRlYWt0aXZpZXJlbic7CiRsYW5nWydkb250X3VzZV9ldmVudF9oYW5kbGVyX2hlbHAnXSA9ICdXZW5uIGRhcyBNb2R1bCBhdXMgZGVyIEVyZWlnbmlzdmVyd2FsdHVuZyBkZWFrdGl2aWVydCB3aXJkLCBtdXNzIGRpZSBTbWFydHktQW53ZWlzdW5nIHtjbXNfbW9kdWxlIG1vZHVsZT1cJ1Rvb2xCb3hcJ30gYW4gZGVuIEFuZmFuZyBkZXIgU2VpdGVuLVRlbXBsYXRlcyBlaW5nZXNldHp0IHdlcmRlbi4nOwokbGFuZ1snZG9uYXRlJ10gPSAnPGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQiPjxmb3JtIGFjdGlvbj0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9jZ2ktYmluL3dlYnNjciIgbWV0aG9kPSJwb3N0Ij48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjbWQiIHZhbHVlPSJfcy14Y2xpY2siPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Imhvc3RlZF9idXR0b25faWQiIHZhbHVlPSJFRDhQWENZODlVNFRHIj48aW5wdXQgdHlwZT0iaW1hZ2UiIHNyYz0iaHR0cHM6Ly93d3cucGF5cGFsb2JqZWN0cy5jb20vV0VCU0NSLTY0MC0yMDExMDMwNi0xL2RlX0RFL0RFL2kvYnRuL2J0bl9kb25hdGVfU00uZ2lmIiBib3JkZXI9IjAiIG5hbWU9InN1Ym1pdCIgYWx0PSJKZXR6dCBlaW5mYWNoLCBzY2huZWxsIHVuZCBzaWNoZXIgb25saW5lIGJlemFobGVuIOKAkyBtaXQgUGF5UGFsLiI+PGltZyBhbHQ9IiIgYm9yZGVyPSIwIiBzcmM9Imh0dHBzOi8vd3d3LnBheXBhbG9iamVjdHMuY29tL1dFQlNDUi02NDAtMjAxMTAzMDYtMS9kZV9ERS9pL3Njci9waXhlbC5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjwvZm9ybT48L2Rpdj4nOwokbGFuZ1snZGVmYXVsdCddID0gJ1N0YW5kYXJkJzsKJGxhbmdbJ2Rlc2t0b3B0cGwnXSA9ICdEZXNrdG9wIFRlbXBsYXRlJzsKCiMgRQokbGFuZ1snZWRpdCddID0gJ0JlYXJiZWl0ZW4nOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbmRlbmllZCddID0gJ1p1Z3JpZmYgdmVyd2VpZ2VydCc7CiRsYW5nWydlcnJvcmxpc3QnXSA9ICdGZWhsZXJsaXN0ZSc7CiRsYW5nWydleHRyYWRvbWFpbnMnXSA9ICdFeHRyYSBEb21haW5zJzsKJGxhbmdbJ2Vycm9yX3RlbXBsYXRlZXhpc3RzJ10gPSAnRGFzIE1vZHVsLVRlbXBsYXRlIGV4aXN0aWVydCBiZXJlaXRzIHVuZCBrYW5uIG5pY2h0ICZ1dW1sO2JlcnNjaHJpZWJlbiB3ZXJkZW4uJzsKJGxhbmdbJ2Vycm9yX3RlbXBsYXRldW5rbm93biddID0gJ0RhcyBNb2R1bC1UZW1wbGF0ZSBbdGVtcGxhdGVdIGlzdCB1bmJla2FubnQnOwokbGFuZ1snZXJyb3JfZGlyZWN0b3J5bm90d3JpdGFibGUnXSA9ICdEYXMgVmVyemVpY2huaXMgaXN0IG5pY2h0IGJlc2NocmVpYmJhci4nOwokbGFuZ1snZXJyb3JfaW5jb21wbGV0ZXhtbCddID0gJ1hNTCB1bnZvbGxzdCZhdW1sO25kaWcuJzsKJGxhbmdbJ2Vycm9yX3RlbXBsYXRlZmlsZW5vdGZvdW5kJ10gPSAnVGVtcGxhdGVkYXRlaSB3dXJkZSBuaWNodCBnZWZ1bmRlbic7CiRsYW5nWydlcnJvcl9jYW50Y3JlYXRlZGlyJ10gPSAnS29ubnRlIGRhcyBWZXJ6ZWljaG5pcyBuaWNodCBlcnN0ZWxsZW4nOwokbGFuZ1snZXJyb3JfY2FudGNyZWF0ZWZpbGUnXSA9ICdLb25udGUgZGllIERhdGVpIG5pY2h0IGVyc3RlbGxlbic7CiRsYW5nWydlcnJvcl9maWxlbm90ZXhpc3QnXSA9ICdEaWUgRGF0ZWkgIltmaWxlXSIgZXhpc3RpZXJ0IG5pY2h0JzsKJGxhbmdbJ2Vycm9yX25vZmlsZXMnXSA9ICdFcyBleGlzdGllcmVuIGtlaW5lIERhdGVpZW4nOwokbGFuZ1snZXJyb3JfY291bGRub3RkZWxldGV0ZW1wbGF0ZSddID0gJ0RhcyBNb2R1bC1UZW1wbGF0ZSBbdGVtcGxhdGVdIGtvbm50ZSBuaWNodCBnZWzDtnNjaHQgd2VyZGVuJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90cGFyc2V4bWwnXSA9ICdGZWhsZXIgYmVpIGRlciBTeW50YXhhbmFseXNlIGRlciBYTUwtRGF0ZWkuIEJpdHRlIHN0ZWxsZW4gU2llIHNpY2hlciwgZGFzcyBTaWUgZWluZSBYTUwtRGF0ZWkgdW5kIG5pY2h0IGVpbmUgLnRhci5nei0gb2RlciAuemlwLURhdGVpIGhvY2hsYWRlbi4nOwokbGFuZ1snZXJyb3JfY291bGRub3RyZWFkdHBscHJvcHMnXSA9ICdEaWUgVGVtcGxhdGUgRWluc3RlbGx1bmdlbiBrw7ZubmVuIG5pY2h0IGdlbGFkZW4gd2VyZGVuLic7CiRsYW5nWydlcnJvcl9jb3VsZG5vdHdyaXRldHBscHJvcHMnXSA9ICdEaWUgVGVtcGxhdGUgRWluc3RlbGx1bmdlbiBrw7ZubmVuIG5pY2h0IGdlc3BlaWNoZXJ0IHdlcmRlbi4nOwokbGFuZ1snZXJyb3JfdW5rbm93bnBhcmFtJ10gPSAnVW5iZWthbm50ZXIgUGFyYW1ldGVyJzsKJGxhbmdbJ2Vycm9yX2N1cmwnXSA9ICdDdXJsIG11c3MgaW4gUEhQIGFrdGl2IHNlaW4nOwokbGFuZ1snZXJyb3Jfbm90ZW1wbGF0ZXMnXSA9ICdFcyBpc3Qga2VpbiBUZW1wbGF0ZSBpbiBkZXIgRGF0ZW5iYW5rIGdlc3BlaWNoZXJ0JzsKJGxhbmdbJ2Vycm9yJ10gPSAnRmVobGVyISc7CiRsYW5nWydleHBvcnRfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBleHBvcnRpZXJlbic7CgojIEYKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1Rvb2xCb3gnOwokbGFuZ1snZnJvbXVybCddID0gJ1ZlcndlaXMtVVJMJzsKCiMgRwokbGFuZ1snZ2VuZXJhbCddID0gJ0FsbGdlbWVpbic7CgojIEgKJGxhbmdbJ2hlbHAnXSA9IDw8PEVPVAoKCjxkaXYgaWQ9InBhZ2VfdGFicyI+ICAgICAKICA8ZGl2IGlkPSJnZW5lcmFsIj4KICAgIEFsbGdlbWVpbmUgSW5mb3MgIAogIDwvZGl2PiAgICAgCiAgPGRpdiBpZD0icmVkaXJlY3QiPgogICAgV2VpdGVybGVpdHVuZ2VuIC8gRmVobGVyIFRyYWNraW5nICAgCiAgPC9kaXY+IAogIDxkaXYgaWQ9ImF1dG9saWdodGJveCI+CiAgICBBdXRvTGlnaHRCb3ggICAKICA8L2Rpdj4KICA8ZGl2IGlkPSJzb2NpYWxzaGFyZXByaXZhY3kiPgogICAgU29jaWFsU2hhcmVQcml2YWN5ICAgCiAgPC9kaXY+CiAgPGRpdiBpZD0idHdpdHRlcmZlZWQiPgogICAgVHdpdHRlcmZlZWQgICAKICA8L2Rpdj4gICAgCiAgPGRpdiBpZD0idGFpbCI+CiAgICBUYWlsICAgCiAgPC9kaXY+ICAgICAKICA8ZGl2IGlkPSJzbWFydHl0b29scyI+CiAgICBTbWFydHkgVG9vbHMgICAKICA8L2Rpdj4gICAKICA8ZGl2IGlkPSJtb2RpZmllciI+CiAgICBNb2RpZmllciAKICA8L2Rpdj4gICAgCiAgPGRpdiBpZD0ibW9iaWxlZGV0ZWN0Ij4KICAgIE1vYmlsZSBEZXRlY3QgIAogIDwvZGl2PiAKICA8ZGl2IGlkPSJwbHVnaW5zIj4KICAgIFBsdWdpbnMgICAKICA8L2Rpdj4gICAgIAo8L2Rpdj4gICAKPGRpdiBjbGFzcz0iY2xlYXJiIj4gIAoKPGRpdiBpZD0icGFnZV9jb250ZW50Ij4gIAogIDxkaXYgaWQ9ImdlbmVyYWxfYyI+Cgk8aDM+V2FzIG1hY2h0IGRpZXNlcyBNb2R1bD88L2gzPgoJPHA+RGllc2VzIE1vZHVsIGlzdCBlaW5lIFNhbW1sdW5nIHZvbiBUb29scywgZGllIGbDvHIgU2VpdGVuYmV0cmVpYmVyIG7DvHR6bGljaCBzaW5kLiBEZXJ6ZWl0aWdlIEZ1bmt0aW9uZW46PC9wPgoJPHVsPgoJPGxpPjMwMS1XZWl0ZXJsZWl0dW5nZW4gKHouQi4gdm9uIGdlbMO2c2NodGVuIFNlaXRlbikgaW5rbHVzaXZlIGRlciBNw7ZnbGljaGtlaXQsIGRpZSBSZWdlbG4gaW4gcmVndWzDpHJlbiBBdXNkcsO8Y2tlbiBhbnp1Z2ViZW4uPC9saT4KCTxsaT40MDQtRmVobGVyIFRyYWNraW5nIChhdWNoIHZvbiBCaWxkZXJuLCBQREYsIGV0Yy4pIC0gaW5rbHVzaXZlIElnbm9yaWVyLUZpbHRlciB1bmQgQW5rbsO8cGZ1bmcgYW4gZGllIDMwMS1GdW5rdGlvbi48L2xpPgoJPGxpPkF1dG9MaWdodEJveCAtIEVyc3RlbGx0IGF1dG9tYXRpc2NoIGVpbmUgTGlnaHRCb3ggVmVya27DvHBmdW5nLCB3ZW5uIHNpZSBlaW4gQmlsZCBpbiBkZW4gSW5oYWx0IGVpbmbDvGdlbiB1bmQgdmVya2xlaW5lcm4uPC9saT4KCTxsaT5Tb2NpYWxTaGFyZVByaXZhY3kgLSBQcml2YXRzcGjDpHJlIGltIFNvY2lhbCBNZWRpYSBCZXJlaWNoIGR1cmNoIGRpZSAyLUtsaWNrIFJlZ2VsIHNpY2hlcnN0ZWxsZW4uPC9saT4KCTxsaT5Ud2l0dGVyZmVlZCAtIFplaWd0IGRlbiBUd2l0dGVyZmVlZCBlaW5lcyBCZW51dHplcnMgYW4uIERhenUga8O2bm5lbiB2ZXJzY2hpZWRlbmUgVGVtcGxhdGVzIGFuZ2VsZWd0IHdlcmRlbi48L2xpPgoJPGxpPnRhaWwgRnVua3Rpb25hbGl0w6R0IGbDvHIgTGl2ZS1Mb2dnaW5nPC9saT4KCTxsaT5TbWFydHkgLSBDb250ZW50IEZ1bmt0aW9uZW48L2xpPgoJPGxpPlNtYXJ0eSAtIFBsdWdpbnM8L2xpPgoJPC91bD4KCQoJPGgzPlN1cHBvcnQ8L2gzPgoJPHA+RGllc2VzIE1vZHVsIGJlc2l0enQga2VpbmVuIGtvbW1lcnppZWxsZW4gU3VwcG9ydC4gSmVkb2NoIGdpYnQgZXMgZWluaWdlIEFubGF1ZnN0ZWxsZW4gZsO8ciBIaWxmZXN0ZWxsdW5nZW46PC9wPgoJPHVsPgoJPGxpPkbDvHIgZGllIG5ldWVzdGUgVmVyc2lvbiBkaWVzZXMgTW9kdWxlcywgRkFRcywgb2RlciB1bSBlaW5lbiBGZWhsZXIgenUgYmVyaWNodGVuLCBiZXN1Y2hlbiBTaWUgYml0dGUgZGllIFdlYnNlaXRlbiB2b24gQ01TIG1hZGUgc2ltcGxlOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUuZGU8L2xpPgoJPGxpPlp1c8OkdHpsaWNoZSBEaXNrdXNzaW9uZW4gw7xiZXIgZGllc2VzIE1vZHVsIGvDtm5uZW4gYXVjaCBpbSBGb3J1bSBnZWZ1bmRlbiB3ZXJkZW46IDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLmRlL3ZpZXdmb3J1bS5waHA/aWQ9OSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLmRlL3ZpZXdmb3J1bS5waHA/aWQ9OTwvYT48L2xpPgoJPGxpPkRlciBBdXRvciwgTHVrYXMgQmxhdHRlciwga2FubiDDvGJlciBzZWluZSBXZWJzZWl0ZSBlcnJlaWNodCB3ZXJkZW46IDxhIGhyZWY9Imh0dHA6Ly93d3cuYmxhdHRlcnRlY2guY2giIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmJsYXR0ZXJ0ZWNoLmNoPC9hPjwvbGk+Cgk8bGk+RGVyIEF1dG9yLCBBbmRpIFBldHpvbGR0LCBrYW5uIMO8YmVyIHNlaW5lIFdlYnNlaXRlIGVycmVpY2h0IHdlcmRlbjogPGEgaHJlZj0iaHR0cDovL2FuZGltaW5pc3RyYXRvci5kZS8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vYW5kaW1pbmlzdHJhdG9yLmRlPC9hPjwvbGk+Cgk8bGk+QXXDn2VyZGVtIGthbm4gZGVyIEF1dG9yIMO8YmVyIHNlaW5lIEVNYWlsLUFkcmVzc2UgZXJyZWljaHQgd2VyZGVuLjwvbGk+Cgk8L3VsPgoJCgk8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KCTxwPkNvcHlyaWdodCDCqSAyMDExLCBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4gdW5kIEFuZGkgUGV0em9sZHQgPGFuZGlAcGV0em9sZHQubmV0Pi4gQWxsZSBSZWNodGUgdm9yYmVoYWx0ZW4uPC9wPgoJPHA+RGllc2VzIE1vZHVsIHd1cmRlIHVudGVyIGRlciBHUEwgKEdOVSBQdWJsaWMgTGljZW5zZSkgdmVyw7ZmZmVudGxpY2h0LiBTaWUgbcO8c3NlbiBkaWVzZXIgTGl6ZW56IHp1c3RpbW1lbiwgYmV2b3IgU2llIGRpZXNlcyBNb2R1bCBiZW51dHplbi48L3A+CgkKICA8L2Rpdj4KICA8ZGl2IGlkPSJyZWRpcmVjdF9jIj4KCTxoMz5XaWUgYmVudXR6ZSBpY2ggZGllIDMwMS1XZWl0ZXJsZWl0dW5nZW4gdW5kIGRhcyA0MDQtRmVobGVydHJhY2tpbmc/PC9oMz4KCTxwPjxzdHJvbmc+MS4gS29uZmlndXJpZXJlIGRhcyBNb2R1bDwvc3Ryb25nPjwvcD4KCTxwPkRhcyBNb2R1bCBpc3QgcGVyIGRlZmF1bHQgw7xiZXIgZGllIEVyZWlnbmlzdmVyd2FsdHVuZyBiZXJlaXRzIGFrdGl2LiBEYXMgaGVpc3N0LCBkaWUgRnVua3Rpb25lbiBzaW5kIGF1dG9tYXRpc2NoIGluIGplZGVtIFRlbXBsYXRlIGFrdGl2LiBEYWR1cmNoIHdlcmRlbiBhdWNoIEZlaGxlciBpbSBCYWNrZW5kIG1pdGdlbG9nZ3QuPC9wPgoJPHA+RHUga2FubnN0IGFiZXIgaW4gZGVuIEVpbnN0ZWxsdW5nZW4gZGllIFZlcndlbmR1bmcgZGVyIEVyZWlnbmlzdmVyd2FsdHVuZyBhYnN0ZWxsZW4uIFN0YXR0ZGVzc2VuIG11c3MgZGVyIE1vZHVsYXVmcnVmIGFuIGRlbiBBbmZhbmcgZGVzL2RlciBTZWl0ZW4tVGVtcGxhdGVzIGVpbmdlYnVuZGVuIHdlcmRlbjo8YnIgLz48Y29kZT57VG9vbEJveH08L2NvZGU+PGJyIC8+CglBbSBiZXN0ZW4gaXN0IGRpZXNlciBBdWZydWYgZ2xlaWNoIGhpbnRlciB7cHJvY2Vzc19wYWdlZGF0YX0gcGxhdHppZXJ0LjxiciAvPkFuZ2VibGljaCBzb2xsIGRhZHVyY2ggYXVjaCBkYXMgZWluZ2ViYXV0ZSBDYWNoaW5nIHZvbiBDTVNtcyBuaWNodCBtZWhyIGJlaGluZGVydCB3ZXJkZW4uPC9wPgoJPHA+TnVuIG11c3N0IER1IG5vY2ggaW4gZGVuIEVpbnN0ZWxsdW5nZW4gZGVzIE1vZHVscyBkaWUgRnVua3Rpb25lbiBha3RpdmllcmVuLCBkaWUgRHUgYmVudXR6ZW4gd2lsbHN0LjwvcD4KCTxwPjxzdHJvbmc+Mi4gRsO8Z2UgUmVnZWxuIGluIGRlbiBNb2R1bC1GdW5rdGlvbmVuIGhpbnp1PC9zdHJvbmc+PC9wPgoJPHA+Tm9jaCBpbW1lciBtYWNodCBkYXMgTW9kdWwgZ2FyIG5pY2h0cy4gRHUgbXVzc3QgaW4gZGVuIGVpbnplbG5lbiBSZWl0ZXJuIGRlcyBNb2R1bHMgbm9jaCBEZWluZSBnZXfDvG5zY2h0ZW4gUmVnZWxuL0VpbnN0ZWxsdW5nZW4gbWFjaGVuLjwvcD4KCQogIDwvZGl2PgogIDxkaXYgaWQ9ImF1dG9saWdodGJveF9jIj4KCTxoMz5XaWUgYmVudXR6ZSBpY2ggQXV0b0xpZ2h0Qm94PzwvaDM+Cgk8cD5BdXRvbGlnaHRib3ggaXN0IGRpZSBlaW5mYWNoc3RlIE3DtmdsaWNoa2VpdCBlaW5lIExpZ2h0Ym94IGVpbmVzIEJpbGRlciB6dSBlcnpldWdlbi4gRGFzIEdydW5kcHJpbnppcCBmdW5rdGlvbmllcnQgc286PC9wPgoJPHA+QmVpbSBTcGVpY2hlcm4gZWluZXIgU2VpdGUsIGVpbmVzIEJsb2ctIG9kZXIgZWluZXMgTmV3c2VpbnRyYWdzIHdpcmQgZGVyIEluaGFsdCBuYWNoIEJpbGRlcm4gZHVyY2hzdWNodC4gRGFiZWkgdmVyZ2xlaWNodCBkYXMgU2NyaXB0IG9iIGRhcyBCaWxkIG1pdCBkZXIga29ycmVrdGVuIEdyw7Zzc2Ugb2RlciB2ZXJrbGVpbmVydCBlaW5nZWJ1bmRlbiBpc3QuIElzdCBkYXMgQmlsZCB2ZXJrbGVpbmVydCBlaW5nZWJ1bmRlbiwgd2lyZCBlaW4gVGh1bWJuYWlsIGdlbmVyaWVydCB1bmQgZGllIEJpbGQtVVJMIGF1ZiBkYXMgVGh1bWJuYWlsIGFuZ2VwYXNzdC4gWnVzw6R0emxpY2ggd2lyZCB1bSBkYXMgQmlsZCBlaW5lbiBMaW5rIGF1ZiBkYXMgT3JpZ2luYWxiaWxkIGVyc3RlbGx0LjwvcD4KCQoJPHA+PGI+V2llIG11c3MgaWNoIGVpbiBCaWxkIGluIGRlbiBUZXh0IGVpbmbDvGdlbiBkYW1pdCBBdXRvTGlnaHRCb3ggYWt0aXYgd2lyZD88L2I+PC9wPgoJPHA+SWRlYWwgd2lyZCBlaW4gQmlsZCB3ZWxjaGVzIGF1ZiBkZXIgV2Vic2VpdGUgZWluZ2Vmw7xndCB3aXJkIGF1ZiBlaW5lIHNpbm52b2xsZSBHcsO2c3NlIHZlcmtsZWluZXJ0LiBPcHRpbWFsIGlzdCBlaW4gV2VydCB6d2lzY2hlbiA2MDAgLSAxMDAwIFBpeGVsIGF1ZiBkZXIgbMOkbmdlcmVuIEthbnRlLiBEYW5hY2gga2FubiBkaWVzZXMgQmlsZCBtaXR0ZWxzIE1pY3JvVGlueSAvIFRpbnlNQ0UgaW4gZGVuIFRleHQgZWluZ2Vmw7xndCB3ZXJkZW4uIE1pdHRlbHMgVmVyw6RuZGVydW5nIGRlciBHcsO2c3NlIGRhcyBCaWxkIGF1ZiBkaWUgb3B0aW1hbGUgR3LDtnNzZSB2ZXJrbGVpbmVybi48L3A+Cgk8cD5CZWltIHNwZWljaGVybiBlcmtlbm50IG51biBBdXRvTGlnaHRCb3gsIGRhc3MgZWluIEJpbGQgdmVya2xlaW5lcnQgZWluZ2Vmw7xndCB3dXJkZSB1bmQgZXJzZXR6dCBkaWVzZXMgQmlsZCBtaXQgZWluZW0gVGh1bWJuYWlsIHVuZCBlcnN0ZWxsdCBlaW5lbiBMaW5rIGF1ZiBkYXMgT3JpZ2luYWxiaWxkLjwvcD4gCgkKCTxwPjxiPkZ1bmt0aW9uYWxpdMOkdDwvYj48L3A+Cgk8dWw+CgkJPGxpPkF1dG9MaWdodEJveCBtb2RpZml6aWVydCBJbmhhbHRlIChpbiBqZWRlbSBJbmhhbHRzYmxvY2spLCBOZXdzZWludHLDpGdlIHVuZCBDR0Jsb2cgSW5oYWx0ZTwvbGk+CgkJPGxpPkVudGRlY2t0IEF1dG9MaWdodEJveCBkaWUgR3LDtnNzZW7DpG5kZXJ1bmcgZWluZXMgYmVzdGVoZW5kZW4gQmlsZGVzLCBzbyB3aXJkIGRhcyBUaHVtYm5haWwgYXV0b21hdGlzY2ggaW4gZGVyIG5ldWVuIHJpY2h0aWdlbiBHcsO2c3NlIGVpbmdlYnVuZGVuLjwvbGk+CgkJPGxpPkVzIGthbm4gZWluIHJlbD0gb2RlciBlaW4gY2xhc3M9IEF0dHJpYnV0ZSBkZWZpbmllcnQgd2VyZGVuPC9saT4KCQk8bGk+T3B0aW9uYWwga2FubiBkYXMgSmF2YVNjcmlwdCBkZXIgTGlnaHRib3ggZGlyZWt0IGltIE1vZHVsIGdlbnV0enQgd2VyZGVuPC9saT4KCQk8bGk+SW4gSmF2YXNjcmlwdCB1bmQgU3R5bGVzaGVldCBrw7ZubmVuIFNtYXJ0eS1WYXJpYWJsZW4gaW4gZGVyIEZvcm0gW1tyb290X3VybF1dIGdlbnV0enQgd2VyZGVuPC9saT4KCQk8bGk+QXV0b21hdGlzY2hlIEVpbmJpbmR1bmcgZGVzIFN0eWxlc2hlZXRzIHVuZCBkZXMgSmF2YVNjcmlwdHMgZGVyIExpZ2h0Ym94IGlucyBUZW1wbGF0ZTwvbGk+Cgk8L3VsPgkKICA8L2Rpdj4KICA8ZGl2IGlkPSJzb2NpYWxzaGFyZXByaXZhY3lfYyI+CiAgPGltZyBzcmM9Ii4uL21vZHVsZXMvVG9vbEJveC9pbWFnZXMvaGVscC9zb2NpYWxzaGFyZXByaXZhY3kxLnBuZyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIGFsdD0iMi1LbGljayBTeXN0ZW0iIHN0eWxlPSJmbG9hdDogcmlnaHQiIC8+CiAgPGgzPldpZSBiZW51dHplIGljaCBTb2NpYWxTaGFyZVByaXZhY3k8L2gzPgogIDxwPlNvY2lhbFNoYXJlUHJpdmFjeSBpc3QgZWluIHZvbiBoZWlzZS5kZSB2ZXLDtmZmZW50bGljaGVzIFBsdWdpbiB3ZWxjaGVzIGbDvHIgbWVociBEYXRlbnNjaHV0eiBiZWkgU29jaWFsbWVkaWEgQnV0dG9ucyBzb3JndC4gRGFzIFBsdWdpbiBiaW5kZXQgZGllIFNvY2lhbG1lZGlhIEJ1dHRvbnMgdm9uIEZhY2Vib29rLCBUd2l0dGVyIHVuZCBHb29nbGUrIGVyc3QgYXVmIGRlbiBhdXNkcsO8Y2tsaWNoZW4gV3Vuc2NoIGRlcyBOdXR6ZXJzIGVpbi48YnIgLz4KCSBFaW4gd2VpdGVyZXIgVm9ydGVpbCBkaWVzZXIgTWV0aG9kZSBpc3QsIGRhc3MgZGllIExhZGVnZXNjaHdpbmRpZ2tlaXQgZWluZXIgU2VpdGUgbmljaHQgdW50ZXIgZGVuIFNvY2lhbG1lZGlhIEJ1dHRvbnMgbGVpZGV0LCBkYSBiZWltIGVyc3RlbiBMYWRldm9yZ2FuZyBhbGxlIERhdGVuIGRpcmVrdCB2b20gZWlnZW5lbiBTZXJ2ZXIgZ2VsYWRlbiB3ZXJkZW4uPC9wPgoJIAoJIDxwPlVtIFNvY2lhbFNoYXJlUHJpdmF5IHp1IG51dHplbiwgbXVzcyBkaWUgRXJ3ZWl0ZXJ1bmcgdW50ZXIgIkVpbnN0ZWxsdW5nZW4iIGFrdGl2aWVydCB3ZXJkZW4uIEFuc2NobGllc3NlbiBrw7ZubmVuIGltIFJlaXRlciAiU29jaWFsU2hhcmVQcml2YXkiIGluZGl2aWR1ZWxsZSBBbnBhc3N1bmdlbiB2b3JnZW5vbW1lbiB3ZXJkZW4uIEVpbmdlZsO8Z3Qgd2VyZGVuIGRpZSBCdXR0b25zIHdpZSBmb2xndDo8L3A+CgkgPGNvZGU+e1Rvb2xCb3ggbW9kPSJzb2NpYWxzaGFyZXByaXZhY3kifTwvY29kZT4KCSAKCSA8cD48aW1nIHNyYz0iLi4vbW9kdWxlcy9Ub29sQm94L2ltYWdlcy9oZWxwL1NvY2lhbHNoYXJlcHJpdmFjeS5qcGciIHdpZHRoPSI1NDYiIGhlaWdodD0iNTQiIGFsdD0iU2NyZWVuc2hvdCBTb2NpYWxTaGFyZVByaXZhY3kiIC8+PC9wPgoJIAoJIDxwPkluIGRlbiBFaW5zdGVsbHVuZ2VuIGthbm4gZGVmaW5pZXJ0IHdlcmRlbiwgb2IgalF1ZXJ5IGdlbGFkZW4gd2VyZGVuIHNvbGwgb2RlciBuaWNodC4gRGllcyBpc3Qgd2ljaHRpZywgZGEgamUgbmFjaCBTZWl0ZSBqUXVlcnkgYmVyZWl0cyBpbiBkaWUgU2VpdGUgZWluZ2VidW5kZW4gd3VyZGUuIEluIGRpZXNlbSBGYWxsLCBtdXNzIGpRdWVyeSBuaWNodCBub2NobWFscyBnZWxhZGVuIHdlcmRlbi48L3A+CiAgPC9kaXY+CiAgPGRpdiBpZD0idHdpdHRlcmZlZWRfYyI+CgkgIDxpbWcgc3JjPSIuLi9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL2hlbHAvdHdpdHRlcmZlZWQucG5nIiB3aWR0aD0iMzUzIiBoZWlnaHQ9IjQ1NCIgYWx0PSJUd2l0dGVyZmVlZCIgc3R5bGU9ImZsb2F0OiByaWdodCIgLz4KCSAgPHA+TWl0IFR3aXR0ZXJmZWVkIGvDtm5uZW4ga2FubiBkZXIgRmVlZCBlaW5lcyBUd2l0dGVyLUFjY291bnRzIGluIGRpZSBXZWJzZWl0ZSBlaW5nZWJ1bmRlbiB3ZXJkZW4uIERpZSBEYXJzdGVsbHVuZyBkZXMgRmVlZHMga2FubiBpbiBlaW5lbSBUZW1wbGF0ZSBkZWZpbmllcnQgd2VyZGVuLjwvcD4KCSAgPGgzPldpZSBiZW51dHplIGljaCBUd2l0dGVyZmVlZDwvaDM+CgkgIDxwPlR3aXR0ZXJmZWVkIHdpcmQgd2llIGZvbGd0IGVpbmdlYnVuZGVuOjwvcD4KCSAgPGNvZGU+CgkJJiMxMjM7VG9vbEJveCBtb2Q9J3R3aXR0ZXJmZWVkJyB1c2VybmFtZT0nbHVrYXNibGF0dGVyJyBjb3VudD01IHRlbXBsYXRlPSd0d2l0dGVyZmVlZCcgZGF0ZWZvcm1hdD0nZnJpZW5kbHknIGNhY2hldGltZT0xMCAmIzEyNTs8YnIgLz4KCQkmIzEyMztUb29sQm94IG1vZD0ndHdpdHRlcmZlZWQnIHVzZXJuYW1lPSdsdWthc2JsYXR0ZXInIGNvdW50PTUgdGVtcGxhdGU9J3R3aXR0ZXJmZWVkJyBkYXRlZm9ybWF0PSdkLm0uWSBIOmknICYjMTI1OzxiciAvPgoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgdXNlcm5hbWU9J2x1a2FzYmxhdHRlcicgbGlzdD0nd2ViZGVzaWduJyBjb3VudD01ICYjMTI1OzxiciAvPgoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgc2VhcmNoPScjY21zbXMnIGNvdW50PTEwICYjMTI1OwoJICA8L2NvZGU+CgkgIAoJICA8cD5Gb2xnZW5kZSBQYXJhbWV0ZXIga8O2bm5lbiBnZXfDpGhsdCB3ZXJkZW46PC9wPgoJICA8dWw+CgkgIAk8bGk+dXNlcm5hbWUgLSBUd2l0dGVyLVVzZXJuYW1lICh3aXJkIGRlciBQYXJhbWV0ZXIgc2VhcmNoIHZlcndlbmRldCwgc28gbXVzcyBrZWluIHVzZXJuYW1lIGFuZ2VnZWJlbiB3ZXJkZW4pPC9saT4KCSAgCTxsaT50ZW1wbGF0ZSAob3B0aW9uYWwpIC0gTmFtZSBkZXMgVGVtcGxhdGUgZGFzIGdlbnV0enQgd2VyZGVuIHNvbGwuIE9obmUgZGllc2UgRGVmaW5pdGlvbiB3aXJkIGRhcyBTdGFuZGFyZHRlbXBsYXRlIGdlbGFkZW48L2xpPgoJICAJPGxpPmxpc3QgKG9wdGlvbmFsKSAtIE5hbWUgZWluZXIgTGlzdGUgZGVzIEJlbnV0emVycy4gSXN0IGRpZXNlciBQYXJhbWV0ZXIgYW5nZWdlYmVuLCB3aXJkIGRpZSBUaW1lbGluZSBkZXIgZ2V3w6RobHRlbiBMaXN0ZSBhbmd6ZWlndDwvbGk+CgkgIAk8bGk+c2VhcmNoIChvcHRpb25hbCkgLSBTdWNoYmVncmlmZiBuYWNoIGRlbSBkaWUgVHdpdHRlcmFwaSBhYmdlZnJhZ3Qgd2lyZCAob2huZSBCZW51dHplcm5hbWUpPC9saT4KCSAgCTxsaT5kYXRlZm9ybWF0IChvcHRpb25hbCkgCgkgIAkJPHVsPgoJICAJCQk8bGk+ZnJpZW5kbHkgPSBTdGFuZGFyZC1Ud2l0dGVyZm9ybWF0IGluIGRlciBBcnQgPGVtPjMgZGF5cyBhZ288L2VtPjwvbGk+CgkgIAkJCTxsaT5kLm0uWSBIOm06cyAtIERhdGV0aW1lIEZvcm1hdGllcnVuZyBuYWNoIDxhIGhyZWY9Imh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZW4vZGF0ZXRpbWUuY3JlYXRlZnJvbWZvcm1hdC5waHAiPkRlZmluaXRpb24gcGhwLm5ldDwvYT48L2xpPgoJICAJCTwvdWw+CgkgIAk8L2xpPgoJICAJPGxpPmNhY2hldGltZSAob3B0aW9uYWwpIC0gWmVpdCBpbiBNaW51dGVuIGluIHdlbGNoZXIgZGVyIFR3aXR0ZXJmZWVkIGltIENhY2hlIGFiZ2VsZWd0IGJsZWlidC4gU3RhbmRhcmQ6IDEwIE1pbnV0ZW47IE1pbmltYWwgMSBNaW51dGU8L2xpPgoJICA8L3VsPgoJICAJCgkgIDxwPkltIFRlbXBsYXRlIHN0ZWhlbiBmb2xnZW5kZSBWYXJpYWJsZW4genVyIFZlcmbDvGd1bmc6PC9wPgoJICA8Y29kZT4KCQkgICYjMDM2O2l0ZW0tJmd0O3RleHQ8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7ZGF0ZTxici8+CgkJICAmIzAzNjtpdGVtLSZndDtyYXdkYXRlPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2ltZ191cmw8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7aW1nX3VybF9odHRwczxici8+CgkJICAmIzAzNjtpdGVtLSZndDtzY3JlZW5uYW1lPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O3NjcmVlbm5hbWVfdXJsPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2F1dGhvcjxici8+CgkJICAmIzAzNjtpdGVtLSZndDtzb3VyY2U8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7bG9jYXRpb248YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmV0d2VldF9jb3VudDxici8+CgkJICAmIzAzNjtpdGVtLSZndDtyZXR3ZWV0X3NjcmVlbm5hbWU8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmV0d2VldF9hdXRob3I8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7ZmF2b3JpdGVkPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2RhdGVfbGluazxici8+CgkJICAmIzAzNjtpdGVtLSZndDtyZXBseV9saW5rPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O3JldHdlZXRfbGluazxici8+CgkJICAmIzAzNjtpdGVtLSZndDtmYXZvcml0ZV9saW5rPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O3JlcGx5X3Jhd2xpbms8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmV0d2VldF9yYXdsaW5rPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2Zhdm9yaXRlX3Jhd2xpbmsKCSAgPC9jb2RlPgogIDwvZGl2PgogIDxkaXYgaWQ9InRhaWxfYyI+CiAgCTxoMz50YWlsIC0gZWluIHBocC9qcXVlcnkgYmFzaWVyZW5kZXMgTG9nZ2luZ3N5c3RlbTwvaDM+CiAgCTxwPnRhaWwgaXN0IHVudGVyIExpbnV4L1VuaXggZWluIEtvbnNvbGVucHJvZ3JhbW0gbWl0IHdlbGNoZW0gTG9nZmlsZXMgbGl2ZSDDvGJlcndhY2h0IHdlcmRlbiBrw7ZubmVuLiBEYXMgaGVpc3N0LCBzb2JhbGQgZGVtIExvZ2ZpbGUgZWluZSBaZWlsZSBoaW56dWdlZsO8Z3Qgd3VyZGUsIHdpcmQgZGllc2Ugc29mb3J0IG1pdCB0YWlsIGFuZ2V6ZWlndCwgd2VubiBkYXMgTG9nZmlsZQogIAnDvGJlcndhY2h0IHdpcmQuIERpZSB0YWlsIEZ1bmt0aW9uYWxpdMOkdCB2b24gVG9vbEJveCBzdGVsbHQgZWluZSBnYW56IMOkaG5saWNoZSBGdW5rdGlvbiB6dXIgVmVyZsO8Z3VuZy4gPC9wPgogIAk8aDM+V2llIGZ1bmt0aW9uaWVydCdzPzwvaDM+CiAgCTxwPlp1ZXJzdCBtdXNzIGVpbm1hbCBkYXMgTG9nZmlsZSBtaXQgRGF0ZW4gZ2VzcGllc2VuIHdlcmRlbi4gRGF6dSBnaWJ0IGVzIHp3ZWkgTcO2Z2xpY2hrZWl0ZW46PC9wPgogIAk8cD48Yj5FaW5iYXUgaW4gZWluIE1vZHVsLCBlaW4gUGx1Z2luIG9kZXIgZWluZW4gVURUPC9iPjwvcD4KICAJPHA+Rm9sZ2VuZGVyIENvZGUgbXVzcyBkYXp1IGVpbmdlYmF1dCB3ZXJkZW46PC9wPgogIAk8Y29kZT4JJiMwMzY7bG9nPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1Rvb2xCb3gnKTs8YnIgLz4KCQkJJiMwMzY7bG9nLT5zZXRMb2dGaWxlKCd0YkxvZycpOyAvLyBPcHRpb25hbC4gSGllciBrYW5uIGRlciBOYW1lIGRlcyBMb2dmaWxlcyBmZXN0Z2VsZWd0IHdlcmRlbjxiciAvPgoJCQkmIzAzNjtsb2ctPmx3cml0ZSgiU2NocmVpYmVuIHdpciB3YXMgaW5zIExvZyIpOzxiciAvPgoJPC9jb2RlPgogIAkKCTxwPjxiciAvPkFscyBQYXJhbWV0ZXIga8O2bm5lbiBub3JtYWxlIFZhcmlhYmxlbiwgT2JqZWt0ZSBvZGVyIGF1Y2ggQXJyYXkncyDDvGJlcmdlYmVuIHdlcmRlbi48L3A+Cgk8cD48Yj5FaW5iYXUgaW4gZWluIFRlbXBsYXRlPC9iPjwvcD4KICAJPHA+Rm9sZ2VuZGVyIFRhZyBrYW5uIGluIGVpbiBUZW1wbGF0ZSBlaW5nZWJhdXQgd2VyZGVuOjwvcD4KICAJPGNvZGU+e3RiV3JpdGVMb2cgbG9nPSJ3YXMgZsO8cidzIGxvZyIgbG9nRmlsZT0idGJMb2cifTwvY29kZT4KICAJPHA+PGJyIC8+UGFyYW1ldGVyOjwvcD4KICAJPHVsPgogIAk8bGk+bG9nIC0gVGV4dCBkZXIgaW5zIExvZ2ZpbGUgZ2VzY2hyaWViZW4gd2VyZGVuIHNvbGw8L2xpPgogIAk8bGk+W2xvZ0ZpbGVdIC0gKG9wdGlvbmFsKSBoaWVyIGthbm4gZGVyIE5hbWUgZGVzIExvZ2ZpbGVzIGRlZmluaWVydCB3ZXJkZW48L2xpPgogIAk8L3VsPgogIAogIAk8aDM+TG9nZmlsZSDDnGJlcndhY2h1bmc8L2gzPgogIAk8cD5JbSBSZWl0ZXIgInRhaWwgTG9nIiBrYW5uIG51biBkYXMgTG9nZmlsZSDDvGJlcndhY2h0IHdlcmRlbi4gRGF6dSBpbSBEcm9wZG93bmZlbGQgZGFzIGdld8O8bnNjaHRlIExvZ2ZpbGUgd8OkaGxlbiwgc293aWUgZGllIEFuemFobCBkZXIgWmVpbGVuLCB3ZWxjaGUgYmVpbSBlcnN0ZW4gbGFkZW4gYW5nZXplaWd0IHdlcmRlbiBzb2xsLCBkZWZpbmllcmVuLiBFcyBrw7ZubmVuIAogIAlwYXJhbGxlbCBhdWNoIG1laHJlcmUgTG9nZmlsZXMgw7xiZXJ3YWNodCB3ZXJkZW48L3A+CiAgCQogIDwvZGl2PgogIDxkaXYgaWQ9InNtYXJ0eXRvb2xzX2MiPgogIAk8aDM+V2VsY2hlIEZ1bmt0aW9uZW4gaGF0IGRhcyBTbWFydHktT2JqZWt0PzwvaDM+Cgk8cD5Ub29sQm94IGVudGjDpGx0IGVpbmUgZWlnZW5lIFNtYXJ0eS1LbGFzc2UgdW0gdmVyc2NoaWVkZW5lIENvbnRlbnQgRnVua3Rpb25lbiBhdWZ6dXJ1ZmVuLCBzb3dpZSBlaW5pZ2UgUGx1Z2lucyB3ZWxjaGUgei5CLiB6dXNhbW1lbiBtaXQgQWR2YW5jZWRDb250ZW50IGVpbmdlc2V0enQgd2VyZGVuIGvDtm5uZW4uPC9wPgoJPGgzPldpZSB3ZXJkZW4gZGllIFNtYXJ0eS1GdW5rdGlvbmVuIHVuZCBkaWUgUGx1Z2lucyBlaW5nZXNldHp0PzwvaDM+Cgk8cD5OYWNoIGRlciBNb2R1bGluc3RhbGxhdGlvbiBpc3QgZGFzIFNtYXJ0eS1PYmpla3QgInRidG9vbHMiIGluIGRlbiBUZW1wbGF0ZXMsIEdsb2JhbGVuIEluaGFsdHNibCZvdW1sO2NrZW4gdW5kIHZlcnNjaGllZGVuZW4gdW5kIGRlbiBNb2R1bC1UZW1wbGF0ZXMgdmVyZsO8Z2Jhci4gRGllc2VzIFNtYXJ0eS1PYmpla3QgaGF0IHZlcnNjaGllZGVuZSBGdW5rdGlvbmVuLCBkaWUgU2llIGplZGVyemVpdCBhdWZydWZlbiBrJm91bWw7bm5lbi48L3A+Cgk8aDQ+VmVyZiZ1dW1sO2diYXJlIEZ1bmt0aW9uZW46PC9oND4KCTxwPiZuYnNwOzwvcD4KCTx1bD4KCTxsaT48c3Ryb25nPnNlbGZVcmw8L3N0cm9uZz4oWyYjMDM2O2Fzc2lnbl0pCgkgICAgPHA+R2lidCBkaWUgYWt0dWVsbGUgVVJMIHp1ciZ1dW1sO2NrPC9wPgoJICAgIDxwPkFyZ3VtZW50ZToKCSAgICAgICA8dWw+CgkgICAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gICAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4KCSAgICAgIDwvdWw+ICAKCSAgICA8YnIvPjwvcD4KCSAgICAgPHA+QmVpc3BpZWw6PGJyLz4KCSAgICA8cHJlPkRpZSBVUkwgaXN0ICYjMTIzO3RidG9vbHM6OnNlbGZVcmwoKSYjMTI1OzwvcHJlPgoJPC9saT4KCQoJCgk8bGk+PHN0cm9uZz5nZXRQYWdlVXJsPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pCgkgICAgPHA+R2lidCBkaWUgVVJMIGVpbmVyIGRlZmluaWVydGVuIFNlaXRlIChvZGVyIGRlciBha3R1ZWxsZW4gU2VpdGUpIHp1csO8Y2s8L3A+CgkgICAgPHA+QXJndW1lbnRlOgoJICAgICAgIDx1bD4KCSAgICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIGRlciBTZWl0ZW4tQWxpYXMgb2RlciBkaWUgSUQgZGVyIFNlaXRlLCBkZXJlbiAmdXVtbDtiZXJnZW9yZG5ldGUgU2VpdGUgZ2VmdW5kZW4gd2VyZGVuIHNvbGwuIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPgogICAgICAgCQk8bGk+WyYjMDM2O2Fzc2lnbl0gIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPgogICAgICAgPC91bD4gICAgCgkgICAgPGJyLz48L3A+CgkgICAgPHA+QmVpc3BpZWw6PGJyLz4KCSAgICA8cHJlPkRpZSBVUkwgZGVyIFNlaXRlICdob21lJyBpc3QgJiMxMjM7dGJ0b29sczo6Z2V0UGFnZVVybCgnaG9tZScpJiMxMjU7PC9wcmU+CgkgICAgPC9wPgoJPC9saT4KPGxpPjxzdHJvbmc+aXNEZWZhdWx0UGFnZTwvc3Ryb25nPigmIzAzNjthbGlhcyxbJiMwMzY7YXNzaWduXSkKICAgIDxwPlByw7xmdCBvYiBkaWUgU2VpdGUgYWxzIFN0YXJ0c2VpdGUgZGVmaW5pZXJ0IGlzdDwvcD4KICAgIDxwPkFyZ3VtZW50ZToKICAgICAgIDx1bD4KICAgICAgIDxsaT4mIzAzNjthbGlhcyAtIERlciBBbGlhcyBvZGVyIGRpZSBJRCBkZXIgU2VpdGUsIGRlcmVuIFN0YXR1cyB6dXImdXVtbDtjayBnZWdlYmVuIHdlcmRlbiBzb2xsLjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkJlaXNwaWVsOjxici8+CiAgICA8cHJlPiYjMTIzO2lmIHRidG9vbHM6OmlzRGVmYXVsdFBhZ2UoJiMwMzY7cGFnZV9hbGlhcykmIzEyNTtTaWUgc2luZCBhdWYgZGVyIFN0YXJ0c2VpdGUmIzEyMztlbHNlJiMxMjU7U2llIHNpbmQgbmljaHQgYXVmIGRlciBTdGFydHNlaXRlJiMxMjM7L2lmJiMxMjU7PC9wcmU+CiAgICA8L3A+CjwvbGk+CjxsaT48c3Ryb25nPmdldFBhcmVudEFsaWFzPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pCiAgICA8cD5HaWJ0IGRlbiBBbGlhcyBkZXIgJnV1bWw7YmVyZ2VvcmRuZXRlbiBTZWl0ZSBlaW5lciBmZXN0Z2VsZWd0ZW4gU2VpdGUgenVyJnV1bWw7Y2suIEZhbGxzIGtlaW5lICZ1dW1sO2Jlcmdlb3JkbmV0ZSBTZWl0ZSB2b3JoYW5kZW4gaXN0LCB3aXJkIGVpbiBsZWVyZXIgU3RyaW5nIHp1ciZ1dW1sO2NrIGdlZ2ViZW4uPC9wPgogICAgPHA+QXJndW1lbnRlOgogICAgICAgPHVsPgogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIGRlciBTZWl0ZW4tQWxpYXMgb2RlciBkaWUgSUQgZGVyIFNlaXRlLCBkZXJlbiAmdXVtbDtiZXJnZW9yZG5ldGUgU2VpdGUgZ2VmdW5kZW4gd2VyZGVuIHNvbGwuIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPgogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dICAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+QmVpc3BpZWw6PGJyLz4KICAgIDxwcmU+RGVyIEFsaWFzIGRlciAmdXVtbDtiZXJnZW9yZG5ldGVuIFNlaXRlIGlzdCAmIzEyMzt0YnRvb2xzOjpnZXRQYXJlbnRBbGlhcygpJiMxMjU7PC9wcmU+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5nZXRMZXZlbEFsaWFzPC9zdHJvbmc+KCYjMDM2O2xldmVsLFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pCiAgICA8cD5HaWJ0IGRlbiBBbGlhcyBkZXIgJnV1bWw7YmVyZ2VvcmRuZXRlbiBTZWl0ZSBlaW5lciBiZXN0aW1tdGVuIEViZW5lIChMZXZlbCkgenVyJnV1bWw7Y2suIEZhbGxzIGRpZSBhbmdlZ2ViZW5lIEViZW5lIGjDtmhlciBpc3QgYWxzIGRpZSBkZXIgYWt0dWVsbGVuIFNlaXRlLCB3aXJkIGVpbiBsZWVyZXIgU3RyaW5nIHp1ciZ1dW1sO2NrIGdlZ2ViZW4uPC9wPgogICAgPHA+QXJndW1lbnRlOgogICAgICAgPHVsPgogICAgICAgPGxpPiYjMDM2O2xldmVsICAgLSBOdW1tZXIgZGVyIEViZW5lIHZvbiB3ZWxjaGVyIGRlciBBbGlhcyB6dXLDvGNrZ2VnZWJlbiB3ZXJkZW4gc29sbCAoMSA9IDEuIEViZW5lLCAyID0gMi4gRWJlbmUsIGV0Yy4pPC9saT4KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBkZXIgU2VpdGVuLUFsaWFzIG9kZXIgZGllIElEIGRlciBTZWl0ZSwgZGVyZW4gJnV1bWw7YmVyZ2VvcmRuZXRlIFNlaXRlIGRlciBkZWZpbmllcnRlbiBFYmVuZSBnZWZ1bmRlbiB3ZXJkZW4gc29sbC4gIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPgogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dICAgLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkJlaXNwaWVsOjxici8+CiAgICA8cHJlPkRlciBTZWl0ZW4tQWxpYXMgZGVyICZ1dW1sO2Jlcmdlb3JkbmV0ZW4gZGVyIFNlaXRlIGF1ZiBkZXIgRWJlbmUgMSBpc3QgJiMxMjM7dGJ0b29sczo6Z2V0TGV2ZWxBbGlhcygxKSYjMTI1OzwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0Um9vdEFsaWFzPC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pCiAgICA8cD5HaWJ0IGRlbiBBbGlhcyBkZXIgJnV1bWw7YmVyZ2VvcmRuZXRlbiBTZWl0ZSBkZXIgMS4gRWJlbmUgenVyJnV1bWw7Y2suIEZhbGxzIGtlaW5lICZ1dW1sO2Jlcmdlb3JkbmV0ZW4gU2VpdGVuIGV4aXN0aWVyZW4sIHdpcmQgZWluIGxlZXJlciBTdHJpbmcgenVyJnV1bWw7Y2sgZ2VnZWJlbi48L3A+CiAgICA8cD5Bcmd1bWVudGU6CiAgICAgICA8dWw+CiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgZGVyIFNlaXRlbi1BbGlhcyBvZGVyIGRpZSBJRCBkZXIgU2VpdGUsIGRlcmVuICZ1dW1sO2Jlcmdlb3JkbmV0ZSBTZWl0ZSBkZXIgMS4gRWJlbmUgZ2VmdW5kZW4gd2VyZGVuIHNvbGwuICBXZW5uIGtlaW4gV2VydCBmZXN0Z2VsZWd0IHd1cmRlLCB3aXJkIGRpZSBha3R1ZWxsZSBTZWl0ZSB2ZXJ3ZW5kZXQuPC9saT4KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAgIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5CZWlzcGllbDo8YnIvPgogICAgPHByZT5EZXIgU2VpdGVuLUFsaWFzIGRlciBvYmVyc3RlbiwgJnV1bWw7YmVyZ2VvcmRuZXRlbiBTZWl0ZSBpc3QgJiMxMjM7dGJ0b29sczo6Z2V0Um9vdEFsaWFzKCkmIzEyNTs8L3ByZT4KICAgIDwvcD4KPC9saT4KCjxsaT48c3Ryb25nPmdldFBhZ2VUaXRsZTwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQogICAgPHA+R2lidCBkZW4gVGl0ZWwgZWluZXIgZmVzdGdlbGVndGVuIFNlaXRlIHp1ciZ1dW1sO2NrLjwvcD4KICAgIDxwPkFyZ3VtZW50ZToKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBEZXIgU2VpdGVuLUFsaWFzIG9kZXIgZGllIElEIGRlciBTZWl0ZSwgZGVyZW4gVGl0ZWwgZ2VmdW5kZW4gd2VyZGVuIHNvbGwuIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPgogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dICAgLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkJlaXNwaWVsOjxici8+CiAgICA8cHJlPkRlciBUaXRlbCBkZXIgYWt0dWVsbGVuIFNlaXRlIGlzdCAmIzEyMzt0YnRvb2xzOjpnZXRQYWdlVGl0bGUoKSYjMTI1OzwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+Z2V0UGFnZU1lbnV0ZXh0PC9zdHJvbmc+KFsmIzAzNjthbGlhc10sWyYjMDM2O2Fzc2lnbl0pCiAgICA8cD5HaWJ0IGRlbiBNZW4mdXVtbDt0ZXh0IGVpbmVyIGZlc3RnZWxlZ3RlbiBTZWl0ZSB6dXImdXVtbDtjay48L3A+CiAgICA8cD5Bcmd1bWVudGU6CiAgICAgICA8dWw+CiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgRGVyIFNlaXRlbi1BbGlhcyBvZGVyIGRpZSBJRCBkZXIgU2VpdGUsIGRlc3NlbiBNZW4mdXVtbDt0ZXh0IGdlZnVuZGVuIHdlcmRlbiBzb2xsLiBXZW5uIGtlaW4gV2VydCBmZXN0Z2VsZWd0IHd1cmRlLCB3aXJkIGRpZSBha3R1ZWxsZSBTZWl0ZSB2ZXJ3ZW5kZXQuPC9saT4KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAgIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5CZWlzcGllbDo8YnIvPgogICAgPHByZT5EZXIgTWVuJnV1bWw7dGV4dCBkZXIgYWt0dWVsbGUgU2VpdGUgaXN0ICYjMTIzO3RidG9vbHM6OmdldFBhZ2VNZW51dGV4dCgpJiMxMjU7PC9wcmU+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5oYXNDaGlsZHJlbjwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dKQogICAgPHA+UHImdXVtbDtmdCwgb2IgZWluZSBmZXN0Z2VsZWd0ZSBTZWl0ZSB1bnRlcmdlb3JkbmV0ZSBTZWl0ZW4gaGF0LjwvcD4KICAgIDxwPkFyZ3VtZW50ZToKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBkZXIgU2VpdGVuLUFsaWFzIG9kZXIgZGllIElEIGRlciB6dSBwciZ1dW1sO2ZlbmRlbiBTZWl0ZS4gV2VubiBrZWluIFdlcnQgZmVzdGdlbGVndCB3dXJkZSwgd2lyZCBkaWUgYWt0dWVsbGUgU2VpdGUgdmVyd2VuZGV0LjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkJlaXNwaWVsOjxici8+CiAgICA8cHJlPiYjMTIzO3RidG9vbHM6Omhhc0NoaWxkcmVuKCIiLCJoYXNDaGlsZHJlbiIpJiMxMjU7CiAgICAJe2lmICYjMDM2O2hhc0NoaWxkcmVufURpZSBha3R1ZWxsZSBTZWl0ZSBoYXQgdW50ZXJnZW9yZG5ldGUgU2VpdGVue2Vsc2V9RGllIGFrdHVlbGxlIFNlaXRlIGhhdCBrZWluZSB1bnRlcmdlb3JkbmV0ZW4gU2VpdGVuey9pZn08L3ByZT4KICAgIDwvcD4KPC9saT4KCjxsaT48c3Ryb25nPmdldEZpcnN0Q2hpbGRBbGlhczwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjthc3NpZ25dLFsmIzAzNjtvbmx5SW5NZW51XSA9IHRydWUpCiAgICA8cD5HaWJ0IGRlbiBBbGlhcyBkZXIgZXJzdGVuIHVudGVyZ2VvcmRuZXRlbiBTZWl0ZSB6dXLDvGNrLiBJc3QgZGllIGVyc3RlIFNlaXRlIGVpbiBTZWN0aW9uaGVhZGVyLCBUcmVubmVyIG9kZXIgZXh0ZXJuZXIgTGluaywgd2lyZCBkaWUgZXJzdGUgVW50ZXJzZWl0ZSBkZXIgZXJzdGVuIFNlaXRlIG9kZXIgZGllIG7DpGNoc3RlIFNlaXRlIGdld8OkaGx0PC9wPgogICAgPHA+QXJndW1lbnRlOgogICAgICAgPHVsPgogICAgICAgPGxpPlsmIzAzNjthbGlhc10gLSAob3B0aW9uYWwpIGRlciBTZWl0ZW4tQWxpYXMgb2RlciBkaWUgSUQgZGVyIHp1IHByJnV1bWw7ZmVuZGVuIFNlaXRlLiBXZW5uIGtlaW4gV2VydCBmZXN0Z2VsZWd0IHd1cmRlLCB3aXJkIGRpZSBha3R1ZWxsZSBTZWl0ZSB2ZXJ3ZW5kZXQuPC9saT4KICAgICAgIDxsaT5bJiMwMzY7YXNzaWduXSAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4KICAgICAgIDxsaT5bJiMwMzY7b25seUluTWVudV0gLSAob3B0aW9uYWwpIE51ciBTZWl0ZW4gd2VsY2hlIGltIE1lbsO8IHNpY2h0YmFyIHNpbmQuPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+QmVpc3BpZWw6PGJyLz4KICAgIDxwcmU+JiMxMjM7dGJ0b29sczo6Z2V0Rmlyc3RDaGlsZEFsaWFzKCIiLCJmaXJzdENoaWxkQWxpYXMiKSYjMTI1OwogICAgCURlciBBbGlhcyBkZXIgZXJzdGVuIFVudGVyc2VpdGUgaXN0IHsmIzAzNjtmaXJzdENoaWxkQWxpYXN9PC9wcmU+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5nZXRDaGlsZHJlbjwvc3Ryb25nPihbJiMwMzY7YWxpYXNdLFsmIzAzNjtzaG93aW5hY3RpdmVdLFsmIzAzNjthc3NpZ25dKQogICA8cD5HaWJ0IGVpbiBBcnJheSB6dXImdXVtbDtjaywgd2VsY2hlcyBJbmZvcm1hdGlvbmVuICZ1dW1sO2JlciBkaWUgdW50ZXJnZW9yZG5ldGVuIFNlaXRlbiBlbnRoJmF1bWw7bHQgKGZhbGxzIHZvcmhhbmRlbik8L3A+CiAgICA8cD5Bcmd1bWVudHM6CiAgICAgICA8dWw+CiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgZGVyIFNlaXRlbi1BbGlhcyBvZGVyIGRpZSBJRCBkZXIgenUgcHImdXVtbDtmZW5kZW4gU2VpdGUuIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPgogICAgICAgPGxpPlsmIzAzNjtzaG93aW5hY3RpdmVdIC0gKG9wdGlvbmFsKSBoaWVyIGthbm4gZWluZ2VzdGVsbHQgd2VyZGVuLCBvYiBpbmFrdGl2ZSBTZWl0ZW4gaW0gRXJnZWJuaXMgZW50aGFsdGVuIHNlaW4gc29sbGVuIChTdGFuZGFyZCBpc3QgZmFsc2UpLjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkZlbGRlcjoKICAgICAgIDx1bD4KICAgICAgIDxsaT5hbGlhcyAtIGRlciBTZWl0ZW4tQWxpYXMgZGVyIHVudGVyZ2VvcmRuZXRlbiBTZWl0ZTwvbGk+CiAgICAgICA8bGk+aWQgLSBkaWUgU2VpdGVuLUlEIGRlciB1bnRlcmdlb3JkbmV0ZW4gU2VpdGU8L2xpPgogICAgICAgPGxpPnRpdGxlIC0gZGVyIFNlaXRlbnRpdGVsIGRlciB1bnRlcmdlb3JkbmV0ZW4gU2VpdGU8L2xpPgogICAgICAgPGxpPm1lbnV0ZXh0IC0gZGVyIE1lbiZ1dW1sO3RleHQgZGVyIHVudGVyZ2VvcmRuZXRlbiBTZWl0ZTwvbGk+CiAgICAgICA8bGk+c2hvd19pbl9tZW51IC0gaXN0IGRpZSBVbnRlcnNlaXRlIGltIE1lbsO8IHNpY2h0YmFyLjwvbGk+CiAgICAgICA8bGk+YWN0aXZlIC0gaXN0IGRpZSBVbnRlcnNlaXRlIGFrdGl2LjwvbGk+CiAgICAgICA8bGk+dHlwZSAtIFR5cCBkZXMgQ29udGVudCBFbGVtZW50cy48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+QmVpc3BpZWw6PGJyLz4KICAgIDxwcmU+CiYjMTIzO3RidG9vbHM6OmdldENoaWxkcmVuKCIiLCIiLCJjaGlsZHJlbiIpJiMxMjU7CntpZiBjb3VudCgmIzAzNjtjaGlsZHJlbikmIzEyNTsKICAge2ZvcmVhY2ggZnJvbT0mIzAzNjtjaGlsZHJlbiBpdGVtPSJjaGlsZCJ9CiAgICAgIHtpZiAmIzAzNjtjaGlsZC5zaG93X2luX21lbnV9CiAgICAgICAgVW50ZXJnZW9yZG5ldGUgU2VpdGU6ICBpZCA9ICYjMTIzOyYjMDM2O2NoaWxkLmlkJiMxMjU7IEFsaWFzID0gJiMxMjM7JiMwMzY7Y2hpbGQuYWxpYXMmIzEyNTs8YnIgLz4KICAgICAgey9pZn0KICAgey9mb3JlYWNofQp7L2lmfQogICAgPC9wcmU+CiAgICA8L3A+CjwvbGk+Cgo8bGk+PHN0cm9uZz5nZXRQYWdlQ29udGVudDwvc3Ryb25nPigmIzAzNjthbGlhcyxbJiMwMzY7YmxvY2tdLFsmIzAzNjthc3NpZ25dKQogICAgPHA+R2lidCBkZW4gSW5oYWx0IGVpbmVzIGZlc3RnZWxlZ3RlbiBDb250ZW50LUJsb2NrcyBlaW5lciBhbmRlcmVuIFNlaXRlIHp1ciZ1dW1sO2NrLjwvcD4KICAgIDxwPkFyZ3VtZW50ZToKICAgICAgIDx1bD4KICAgICAgIDxsaT4mIzAzNjthbGlhcyAtIERlciBBbGlhcyBvZGVyIGRpZSBJRCBkZXIgU2VpdGUsIGRlcmVuIEluaGFsdCB6dXImdXVtbDtjayBnZWdlYmVuIHdlcmRlbiBzb2xsLjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Jsb2NrXSAtIChvcHRpb25hbCkgZGVyIE5hbWUgZGVzIENvbnRlbnQtQmxvY2tzIGRlciBmZXN0Z2VsZWd0ZW4gU2VpdGUuIE9obmUgVm9yZ2FiZSB3aXJkIGRlciBXZXJ0IGF1cyAmIzAzOTtjb250ZW50X2VuJiMwMzk7IHZlcndlbmRldC48L2xpPgogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPgogICAgICAgPC91bD4gIAogICAgPGJyLz48L3A+CiAgICA8cD5CZWlzcGllbDo8YnIvPgogICAgPHByZT5EZXIgendlaXRlIEluaGFsdCBkZXIgJ2Fib3V0JyBTZWl0ZSBpc3QgJiMxMjM7dGJ0b29sczo6Z2V0UGFnZUNvbnRlbnQoJ2Fib3V0Jywnc2Vjb25kJywnZm9vJykmIzEyNTsmIzEyMztldmFsIHZhcj1cJGZvbyYjMTI1OzwvcHJlPgogICAgPC9wPgo8L2xpPgoKPGxpPjxzdHJvbmc+aGFzRmV1R3JvdXBBY2Nlc3M8L3N0cm9uZz4oJiMwMzY7ZmV1Z3JvdXBzLFsmIzAzNjthc3NpZ25dKQogICAgPHA+R2lidCBlaW4gdHJ1ZS9mYWxzZSB6dXLDvGNrLCBvYiBkZXIgZWluZ2Vsb2dndGUgRnJvbnRFbmRVc2VyIEJlbnV0emVyIGVpbmVyIGRlciBhbmdlZ2ViZW5lbiBHcnVwcGVuIHp1Z2VvcmRuZXQgaXN0PC9wPgogICAgPHA+QXJndW1lbnRlOgogICAgICAgPHVsPgogICAgICAgPGxpPiYjMDM2O2ZldWdyb3VwcyAtIElEcyBkZXIgQmVudXR6ZXJncnVwcGVuLiBNZWhyZXJlIEJlbnV0emVyZ3J1cHBlbiBzaW5kIG1pdCBlaW5lbSBLb21tYSB6dSB0cmVubmVuLiBaLkIuOiAxLDIsNDwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkJlaXNwaWVsOjxici8+CiAgICA8cHJlPiYjMTIzO2lmIHRidG9vbHM6Omhhc0ZldUdyb3VwQWNjZXNzKCIxLDIsMykmIzEyNTtCZW51dHplciBoYXQgZGllIEJlcmVjaHRpZ3VuZyYjMTIzO2Vsc2UmIzEyNTtEZXIgQmVudXR6ZXIgaGF0IGtlaW5lIEJlcmVjaHRpZ3VuZyYjMTIzOy9pZiYjMTI1OzwvcHJlPgogICAgPC9wPgo8L2xpPgo8bGk+PHN0cm9uZz5pc0xvZ2dlZEluPC9zdHJvbmc+KFsmIzAzNjthc3NpZ25dKQogICAgPHA+R2lidCBkaWUgQmVudXR6ZXItSUQgZGVzIGVpbmdlbG9nZ3RlbiBGcm9udEVuZFVzZXIgQmVudXR6ZXJzIHp1csO8Y2s8L3A+CiAgICA8cD5Bcmd1bWVudGU6CiAgICAgICA8dWw+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkJlaXNwaWVsOjxici8+CiAgICA8cHJlPiYjMTIzO2lmIHRidG9vbHM6OmlzTG9nZ2VkSW4oKSYjMTI1O0JlbnV0emVyIGlzdCBlaW5nZWxvZ2d0JiMxMjM7ZWxzZSYjMTI1O0VzIGlzdCBrZWluIEJlbnV0emVyIGVpbmdlbG9nZ3QmIzEyMzsvaWYmIzEyNTs8L3ByZT4KICAgIDwvcD4KPC9saT4KPGxpPjxzdHJvbmc+Z2V0U2libGluZzwvc3Ryb25nPigmIzAzNjtkaXJlY3Rpb24sWyYjMDM2O2Fzc2lnbl0sWyYjMDM2O2FsaWFzXSkKICAgIDxwPkdpYnQgZGVuIFNlaXRlbi1BbGlhcyBkZXIgbiZhdW1sO2Noc3RlbiBvZGVyIHZvcmhlcmdlaGVuZGVuIFNlaXRlIGRlciBnbGVpY2hlbiBFYmVuZSBkZXIgdm9yZ2VnZWJlbmVuCiAgICAgICBTZWl0ZSBhbi4gT2RlciBhdWNoIGZhbHNlLjwvcD4KICAgIDxwPkFyZ3VtZW50ZToKICAgICAgIDx1bD4KICAgICAgIDxsaT4mIzAzNjtkaXJlY3Rpb24gLSBkaWUgUmljaHR1bmcsIGluIGRpZSBnZXNjaGF1dCB3ZXJkZW4gc29sbC4gTSZvdW1sO2dsaWNoZSBXZXJ0ZSBzaW5kIHByZXYscHJldmlvdXMsLTEsbmV4dCwxLjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2Fzc2lnbl0gLSAob3B0aW9uYWwpIGRlciBOYW1lIGRlciBWYXJpYWJsZSwgZGVyIGRhcyBFcmdlYm5pcyB6dWdld2llc2VuIHdlcmRlbiBzb2xsLjwvbGk+CiAgICAgICA8bGk+WyYjMDM2O2FsaWFzXSAtIChvcHRpb25hbCkgRGVyIEFsaWFzIGRlciBTZWl0ZSwgZGVzc2VuIFNlaXRlbiBkZXIgZ2xlaWNoZW4gRWJlbmUgZ2VmdW5kZW4gd2VyZGVuIHNvbGxlbi4gT2huZSBWb3JnYWJlIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgICAgPHA+QmVpc3BpZWw6PGJyIC8+CiAgICAgICA8cHJlPkxpbmsgYXVmIGRpZSB2b3JoZXJpZ2UgU2VpdGU6ICYjMTIzO3RidG9vbHM6OmdldF9zaWJsaW5nKCZxdW90O3ByZXYmcXVvdDssJnF1b3Q7cHJldl9zaWJsaW5nJnF1b3Q7KSYjMTI1OyYjMTIzO2lmICFlbXB0eSgmIzAzNjtwcmV2X3NpYmxpbmcpJiMxMjU7JiMxMjM7Y21zX3NlbGZsaW5rIHBhZ2U9JnF1b3Q7JiMwMzY7cHJldl9zaWJsaW5nJnF1b3Q7IHRleHQ9JnF1b3Q7UHJldmlvdXMmcXVvdDsmIzEyNTsmIzEyMzsvaWYmIzEyNTs8L3ByZT48YnIvPgo8L2xpPgo8bGk+PHN0cm9uZz5nZXRMYXN0TW9kaWZpZWQ8L3N0cm9uZz4oWyYjMDM2O2FsaWFzXSxbJiMwMzY7YXNzaWduXSkKICAgIDxwPkdpYnQgZGVuIGRhcyBsZXR6dGUgw4RuZGVydW5nc2RhdHVtIGFscyBUaW1lc3RhbXAgenVyw7xjazwvcD4KICAgIDxwPkFyZ3VtZW50ZToKICAgICAgIDx1bD4KICAgICAgIDxsaT5bJiMwMzY7YWxpYXNdIC0gKG9wdGlvbmFsKSBEZXIgU2VpdGVuLUFsaWFzIG9kZXIgZGllIElEIGRlciBTZWl0ZSwgZGVyZW4gbGV0enRlcyDDhG5kZXJ1bmdzZGF0dW0gZ2VzdWNodCBpc3QuIFdlbm4ga2VpbiBXZXJ0IGZlc3RnZWxlZ3Qgd3VyZGUsIHdpcmQgZGllIGFrdHVlbGxlIFNlaXRlIHZlcndlbmRldC48L2xpPgogICAgICAgPGxpPlsmIzAzNjthc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgICAgPHA+QmVpc3BpZWw6PGJyIC8+CiAgICAgICA8cHJlPkRpZXNlIFNlaXRlIHd1cmRlIHp1bGV0enQgJiMxMjM7dGJ0b29sczo6Z2V0TGFzdE1vZGlmaWVkKCl8ZGF0ZV9mb3JtYXQ6IiVBLCAlZS4gJUIsICVZIiYjMTI1OyBha3R1YWxpc2llcnQ8L3ByZT48YnIvPgo8L2xpPgo8bGk+PHN0cm9uZz5nZXRBcnJheUFzVGFibGU8L3N0cm9uZz4oJiMwMzY7YXJyYXkpCiAgICA8cD5HaWJ0IGVpbiBNdWx0aWRpbWVuc2lvbmFsZXMgQXJyYXkgYWxzIFRhYmVsbGUgenVyw7xjazwvcD4KICAgIDxwPkFyZ3VtZW50ZToKICAgICAgIDx1bD4KICAgICAgIDxsaT4mIzAzNjthcnJheSAtIGRhcyBBcnJheSB3ZWxjaGVzIGFscyBUYWJlbGxlIGF1c2dlZ2ViZW4gd2VyZGVuIHNvbGwuPC9saT4KICAgICAgIDwvdWw+ICAKICAgIDxici8+PC9wPgogICAgPHA+QmVpc3BpZWw6PGJyLz4KICAgIDxwcmU+JiMxMjM7dGJ0b29sczo6Z2V0QXJyYXlBc1RhYmxlKCYjMDM2O2FycmF5KSYjMTI1OzwvcHJlPgogICAgPC9wPgo8L2xpPgoKCgoKPC91bD4KPC9kaXY+Cgo8ZGl2IGlkPSJtb2RpZmllcl9jIj4KCjxoMz5TbWFydHkgTW9kaWZpZXJ0PC9oMz4KPHVsPgo8bGk+PHN0cm9uZz50YlRydW5jYXRlQmV0dGVyPC9zdHJvbmc+KCYjMDM2O3N0cmluZywgJiMwMzY7bGVuZ3RoID0gODAsICYjMDM2O2V0YyA9ICcuLi4nLCAmIzAzNjtsaW5rID0gJycsICYjMDM2O2xpbmtfdGV4dCA9ICcnKSkKICAgIDxwPkvDvHJ6dCBlaW5lbiBUZXh0IHVuZCBzY2hsaWVzc3QgZGllIGFiZ2VzY2huaXR0ZW5lbiBUYWdzIGtvcnJla3Q8L3A+CiAgICA8cD5Bcmd1bWVudGU6CiAgICAgICA8dWw+CiAgICAgICA8bGk+JiMwMzY7c3RyaW5nIC0gVGV4dCBkZXIgZ2Vrw7xyenQgd2VyZGVuIHNvbGwuPC9saT4KICAgICAgIDxsaT4mIzAzNjtsZW5naHQgLSAob3B0aW9uYWwsIDgwIFN0YW5kYXJkKSBBbnphaGwgWmVpY2hlbiBuYWNoIHdlbGNoZXIgZGVyIFRleHQgZ2Vrw7xyenQgd2lyZC48L2xpPgogICAgICAgPGxpPiYjMDM2O2V0YyAtIChvcHRpb25hbCwgLi4uIFN0YW5kYXJkKSBaZWljaGVuIGRhcyBhbiBkZW4gU2NobHVzcyBkZXMgZ2Vrw7xyenRlbiBUZXh0cyBnZXNldHp0IHdpcmQuPC9saT4KICAgICAgIDxsaT4mIzAzNjtsaW5rIC0gKG9wdGlvbmFsKSBMaW5rIFVSTDwvbGk+CiAgICAgICA8bGk+JiMwMzY7bGlua190ZXh0IC0gKG9wdGlvbmFsKSBUZXh0IGRlciB6dW0gTGluayBhbmdlemVpZ3Qgd2lyZC4gRGVyIExpbmsgd2lyZCBhbiBkZW4gU2NobHVzcyBkZXMgZ2Vrw7xyenRlbiBUZXh0ZXMgZ2VzZXR6dDwvbGk+CiAgICAgICA8L3VsPiAgCiAgICA8YnIvPjwvcD4KICAgIDxwPkJlaXNwaWVsOjxici8+CiAgICBEaWUgYmVpZGVuIHZlcndlbmRldGVuIFBhcmFtZXRlciAmIzAzNjtlbnRyeS0+Y29udGVudCB1bmQgJiMwMzY7ZW50cnktPm1vcmVsaW5rIG3DvHNzZW4gbmF0w7xybGljaCBtaXQgZGVuIHJlYWwgZXhpc3RpZXJlbmRlbiBQYXJhbWV0ZXJuIGVyc2V0enQgd2VyZGVuCiAgICA8YnIgLz4KICAgIDxwcmU+JiMxMjM7JiMwMzY7ZW50cnktPmNvbnRlbnR8dGJUcnVuY2F0ZUJldHRlcjoxMDA6JyAuLi4nOiYjMDM2O2VudHJ5LT5tb3JlbGluazonW3dlaXRlcmxlc2VuXScmIzEyNTs8L3ByZT4KICAgIDwvcD4KPC9saT4KCgo8L3VsPgoKPC9kaXY+Cgo8ZGl2IGlkPSJtb2JpbGVkZXRlY3RfYyI+Cgo8aDM+TW9iaWxlIERldGVjdDwvaDM+Cgo8cD48YSBocmVmPSJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcGhwLW1vYmlsZS1kZXRlY3Qvd2lraS9Nb2JpbGVfRGV0ZWN0IiB0YXJnZXQ9Il9ibGFuayI+TW9iaWxlX0RldGVjdDwvYT4KIGlzdCBlaW5lIGtsZWluZSBQSFAgS2xhc3NlIHVtIG1vYmlsZSBHZXLDpHRlIHp1IGlkZW50aWZpemllcmVuLiBFcyBudXR6dCBkZW4gVXNlci1BZ2VudCBUZXh0IGtvbWJpbmllcnQgbWl0IAogc3BlemlmaXNjaGVuIEhUVFAgSGVhZGVycyB1bSBkaWUgbW9iaWxlbiBHZXLDpHRlIHp1IGlkZW50aWZpemllcmVuLjwvcD4KIAogPGg0Pk51dHp1bmc8L2g0PgogPHA+PGk+QXVmIGVpbmUgZGVmaW5pZXJ0ZSBQbGF0Zm9ybSBwcsO8ZmVuOjwvcD4KPHA+PHByZT4Ke2lmICYjMDM2O3RibW9iaWxlLT5pc2lPUygpIH0gCiAgLy8gRGF0ZW4gZsO8ciBBcHBsZSBpT1MgUGxhdGZvcm0gYW56ZWlnZW4uIAp7L2lmfSAKIDwvcHJlPiA8L3A+CjxwPjxwcmU+CntpZiAmIzAzNjt0Ym1vYmlsZS0+aXNBbmRyb2lkT1MoKSB9IAogIC8vIERhdGVuIGbDvHIgR29vZ2xlIEFuZHJvaWQgUGxhdGZvcm0gYW56ZWlnZW4uIAp7L2lmfQo8L3ByZT48L3A+CgogPHA+V2VpdGVyZSBNZXRob2RlbiBzaW5kICBpc0lwaG9uZSgpLCBpc0lwYWQoKSwgaXNCbGFja0JlcnJ5KCksIGlzS2luZGxlKCksIGlzT3BlcmEoKSwgZXRjLiBFaW5lIHZvbGxzdMOkbmRpZ2UgTGlzdGUgYWxsZXIgdmVyZsO8Z2JhcmVuIE1ldGhvZGVuIDxhIGhyZWY9Imh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9waHAtbW9iaWxlLWRldGVjdC93aWtpL01vYmlsZV9EZXRlY3QiIHRhcmdldD1fYmxhbmsiPmlzdCBpbSBXaWtpIHZlcmbDvGdiYXIuPC9hPjwvcD4KCjxwPkFsdGVybmF0aXYga2FubiBuYXTDvHJsaWNoIGF1Y2ggZWluZmFjaCBnZXByw7xmdCB3ZXJkZW4gb2IgZWluIEJlc3VjaGVyIG1pdCBlaW5lbSBtb2JpbGVuIEdlcsOkdCBhdWYgZGllIFdlYnNlaXRlIHp1Z3JlaWZ0IG9obmUgZWluZSBiZXN0aW1tdGUgUGxhdGZvcm0genUgaWRlbnRpZml6aWVyZW46PC9wPgo8cD48cHJlPgp7aWYgKCYjMDM2O3RibW9iaWxlLT5pc01vYmlsZSgpKX0KICAvLyBhbGxlIG1vYmlsZW4gUGxhdHRmb3JtZW4Key9pZn0KPC9wcmU+PC9wPgo8cD48cHJlPgp7aWYoJiMwMzY7dGJtb2JpbGUtPmlzVGFibGV0KCkpfQogIC8vIGFsbGUgVGFibGV0cwp7L2lmfQo8L3ByZT48L3A+CgoKCQo8L2Rpdj4KCjxkaXYgaWQ9InBsdWdpbnNfYyI+Cgo8aDM+UGx1Z2luczwvaDM+CjxwPjxiPkFsbGdlbWVpbmUgUGx1Z2luczwvYj48L3A+CjxwPiZuYnNwOzwvcD4KPHVsPgoKIDxsaT48c3Ryb25nPnt0YkFycmF5U29ydH08L3N0cm9uZz4KICAgIDxwPk1pdCBkaWVzZW0gUGx1Z2luIGvDtm5uZW4gTXVsdGlkaW1lbnNpb25hbGUgQXJyYXlzIHNvcnRpZXJ0IHdlcmRlbi48L3A+CiAgICA8cD5Bcmd1bWVudGU6PC9wPgogICAgICAgPHVsPgogICAgICAgPGxpPltkYXRhXSAtIEFycmF5IHdlbGNoZXMgc29ydGllcnQgd2VyZGVuIHNvbGwuPC9saT4KICAgICAgIDxsaT5bc29ydF0gLSBBcnJheS1LZXlzIG5hY2ggZGVuZW4gc29ydGllcnQgd2VyZGVuIHNvbGwuIE1laHJlcmUgS2V5cyBzaW5kIEtvbW1hLWdldHJlbm50IHp1IGVyZmFzc2VuLiBGw7xyIERFU0MgU29ydGllcnVuZyBpc3Qgdm9yIGRlbSBLZXkgZWluIEF1c3J1ZmV6ZWljaGVuICchJyB6dSBlcmZhc3NlbgogICAgICAgPGxpPlthc3NpZ25dIC0gZGVyIE5hbWUgZGVyIFZhcmlhYmxlLCBkZXIgZGFzIEVyZ2VibmlzIHp1Z2V3aWVzZW4gd2VyZGVuIHNvbGwuPC9saT4gCiAgICAgICA8L3VsPgogICAgPGJyLz48L3A+CiAgICA8cD5CZWlzcGllbDo8YnIgLz4KICAgIDxwcmU+e3RiQXJyYXlTb3J0IGRhdGE9XCRhcnJheSBzb3J0PSZxdW90O25hbWUsIXZvcm5hbWUmcXVvdDsgYXNzaWduPSZxdW90O25ldWVzQXJyYXkmcXVvdDt9PC9wcmU+PC9wPgogICAgPHA+RGFzIEFycmF5IHdpcmQgc28gbmFjaCBkZW0gS2V5ICJuYW1lIiBzb3J0aWVydCBzb3dpZSBhbiB6d2VpdGVyIFN0ZWxsZSBuYWNoIGRlbSBLZXkgInZvcm5hbWUiIGRlc2M8L3A+CiA8L2xpPgoKCgogPGxpPjxzdHJvbmc+e3RiU2Vzc2lvblNldH08L3N0cm9uZz4KICAgIDxwPkVpbiBTbWFydHktUGx1Z2luLCBtaXQgZGVtIERhdGVuIGluIGRlciBVc2VyLVNlc3Npb24gZ2VzcGVpY2hlcnQgd2VyZGVuIGsmb3VtbDtubmVuLiBBdWYgZGllc2UgRGF0ZW4ga2FubiBhdWYgZGVuIGVudHNwcmVjaGVuZGVuIFNlaXRlbiBkYW5uICZ1dW1sO2JlciBkYXMgQXJyYXkgJiMwMzY7c21hcnR5LnNlc3Npb24ubmFtZV9kZXJfdmFyaWFibGVuIHp1Z2VncmlmZmVuIHdlcmRlbi48L3A+CiAgICA8cD5Bcmd1bWVudGU6PC9wPgogICAgICAgPHVsPgogICAgICAgPGxpPm5hbWUgLSBOYW1lIGRlciBWYXJpYWJsZW4sIGRpZSBpbiBkZXIgU2Vzc2lvbiBlcnpldWd0IHdlcmRlbiBzb2xsLjwvbGk+CiAgICAgICA8bGk+dmFsdWUgLSBEZXIgZW50c3ByZWNoZW5kZSBXZXJ0IGRpZXNlciBWYXJpYWJsZW4uPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkJlaXNwaWVsOjxiciAvPgogICAgPHByZT57dGJTZXNzaW9uU2V0IG5hbWU9JnF1b3Q7dGVzdCZxdW90OyB2YWx1ZT0mcXVvdDtibGFoJnF1b3Q7fTwvcHJlPjwvcD4KIDwvbGk+CgogCiAKICA8bGk+PHN0cm9uZz4mIzEyMzt0YlNlc3Npb25VbnNldCYjMTI1Ozwvc3Ryb25nPgogICAgPHA+RWluIFNtYXJ0eS1QbHVnaW4sIG1pdCBkZW0gRGF0ZW4gYXVzIGVpbmVyIFVzZXItU2Vzc2lvbiBnZWwmb3VtbDtzY2h0IHdlcmRlbiBrJm91bWw7bm5lbi48L3A+CiAgICA8cD5Bcmd1bWVudGU6CiAgICAgICA8dWw+CiAgICAgICA8bGk+bmFtZSAtIE5hbWUgZGVyIFZhcmlhYmxlLCBkaWUgaW4gZGVyIFNlc3Npb24gZ2VsJm91bWw7c2NodCB3ZXJkZW4gc29sbC48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+QmVpc3BpZWw6PGJyIC8+CiAgICA8cHJlPiYjMTIzO3RiU2Vzc2lvblVuc2V0IG5hbWU9JnF1b3Q7dGVzdCZxdW90OyYjMTI1OzwvcHJlPjwvcD4KIDwvbGk+CiAKIDxsaT48c3Ryb25nPiYjMTIzO3RiVmFyRXhwb3J0JiMxMjU7PC9zdHJvbmc+CiAgICA8cD5NaXQgZGllc2VtIFBsdWdpbiBrYW5uIGVpbiBBcnJheSB6dSBEZWJ1Z2dpbmd6d2Vja2VuIHp1bSBFeHBvcnQgdm9yYmVyZWl0ZXQgd2VyZGVuLiBEZXIgZ2VuZXJpZXJ0ZSBUZXh0IGlzdCBzZXJpYWxpemVkIHVuZCBrYW5uIHVuYWJow6RuZ2lnIHZvbiBkZXIgVW1nZWJ1bmcgYW4gZWluZW0gYW5kZXJlbiBPcnQgd2llZGVyIGVpbmdlZsO8Z3QgdW5kIHZlcmFyYmVpdGV0IHdlcmRlbi48YnIgLz4KICAgIFZvcnRlaWwgZGllc2VyIE1ldGhvZGUgaXN0LCBkYXNzIGVpbiBQcm9ibGVtIGlua2wuIGRlciB2ZXJ3ZW5kZXRlbiBEYXRlbiBhbiBlaW5lbSBhbmRlcmVuIE9ydCBuYWNodm9sbHpvZ2VuIHdlcmRlbiBrYW5uLCBvaG5lIGRhc3MgZGllIGdlc2FtdGUgVW1nZWJ1bmcgbmFjaGdlYmF1dCB3ZXJkZW4gbXVzcy48L3A+CiAgICA8cD5Bcmd1bWVudGU6CiAgICAgICA8dWw+CiAgICAgICA8bGk+bmFtZSAtIE5hbWUgZGVyIFZhcmlhYmxlLCB3ZWxjaGUgZXhwb3J0aWVydCB3ZXJkZW4gc29sbC48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+QmVpc3BpZWw6PGJyIC8+CiAgICA8cHJlPiYjMTIzO3RiVmFyRXhwb3J0IG5hbWU9JnF1b3Q7aXRlbXMmcXVvdDsmIzEyNTs8L3ByZT48L3A+CiA8L2xpPgogPC91bD4KIAogPHA+PGI+VG9vbEJveCBGdW5rdGlvbmFsaXTDpHRlbjwvYj48L3A+CiA8cD4mbmJzcDs8L3A+CiA8dWw+CiA8bGk+PHN0cm9uZz4mIzEyMzt0YldyaXRlTG9nJiMxMjU7PC9zdHJvbmc+CiAgICA8cD5NaXQgZGllc2VtIFBsdWdpbiBrYW5uIGluIGVpbmVtIFRlbXBsYXRlIG9kZXIgYXVmIGVpbmVyIFNlaXRlIGVpbiBTdHJpbmcsIGVpbiBBcnJheSBvZGVyIGVpbiBPYmpla3QgaW5zIHRhaWwtTG9nIGRlciBUb29sQm94IGdlc2NocmllYmVuIHdlcmRlbi4gRGllc2VzIFBsdWdpbiBpc3QgZsO8ciBEZWJ1Z2dpbmcgWndlY2tlIG9kZXIgenVtIE1pdGxvZ2dlbiB2ZXJzY2hpZWRlbmVyIEFrdGlvbmVuIGludGVyZXNzYW50LiA8L3A+CiAgICA8cD5Bcmd1bWVudGU6CiAgICAgICA8dWw+CiAgICAgICA8bGk+bG9nIC0gVGV4dCBkZXIgaW5zIExvZ2ZpbGUgZ2VzY2hyaWViZW4gd2VyZGVuIHNvbGwgKGthbm4gZWluIFN0cmluZywgZWluIEFycmF5IG9kZXIgZWluIE9iamVrdCBzZWluKS48L2xpPgogICAgICAgPGxpPltsb2dGaWxlXSAtIChvcHRpb25hbCkgTmFtZSBkZXMgTG9nZmlsZXMgaW4gd2VsY2hlcyBkZXIgVGV4dCBnZXNjaHJpZWJlbiB3ZXJkZW4gc29sbC48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+QmVpc3BpZWw6PGJyIC8+CiAgICA8cHJlPiYjMTIzO3RiV3JpdGVMb2cgbG9nPSJ3YXMgZsO8cidzIGxvZyIgbG9nRmlsZT0idGJMb2ciJiMxMjU7PC9wcmU+CiAgICA8L3A+CiA8L2xpPiAKIDwvdWw+CiAKIAogPHA+PGI+UGx1Z2lucyBmw7xyIEFkdmFuY2VkQ29udGVudDwvYj48L3A+CiA8cD4mbmJzcDs8L3A+CiA8dWw+CiA8bGk+PHN0cm9uZz4mIzEyMzt0YkdldFBhZ2VIaWVyYXJjaHkmIzEyNTs8L3N0cm9uZz4KICAgIDxwPk1pdCBkaWVzZW0gUGx1Z2luIGthbm4gZGllIGdlc2FtdGUgU2VpdGVuLUhpZXJhcmNoaWUgYXVzZ2VnZWJlbiB3ZXJkZW4uIFByYWt0aXNjaCBpc3QgZGVyIEVpbnNhdHogZGllc2VzIFBsdWdpbiBpbiBWZXJiaW5kdW5nIG1pdCBBZHZhbmNlZENvbnRlbnQuIFNvIGthbm4gaW4gQUMgZWluIERyb3Bkb3duIEZlbGQgbWl0IGFsbGVuIFNlaXRlbiBhdXNnZWdlYmVuIHdlcmRlbi4gPC9wPgogICAgPHA+QXJndW1lbnRlOgogICAgICAgPHVsPgogICAgICAgPGxpPlthc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPgogICAgICAgPGxpPltkZWxpbWl0ZXJdIC0gKG9wdGlvbmFsKSBUcmVubnplaWNoZW4gendpc2NoZW4gZGVuIEVpbnRyw6RnZW4uIFN0YW5kYXJkOiB8LjwvbGk+CiAgICAgICA8bGk+W291dHB1dF0gLSAob3B0aW9uYWwpIG1pdCBvdXRwdXQ9ImlkIiB3ZXJkZW4gYWxsZSBDb250ZW50LUlEcyBhdXNnZWdlYmVuLiBBbnNvbnN0ZW4gd2lyZCBkZXIgTWVuw7x0ZXh0IGF1c2dlZ2ViZW4uPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkJlaXNwaWVsOjxiciAvPgogICAgPHByZT4mIzEyMzt0YkdldFBhZ2VIaWVyYXJjaHkgb3V0cHV0PSJpZCImIzEyNTs8L3ByZT48YnIgLz4KICAgIDxwcmU+JiMxMjM7QWR2YW5jZWRDb250ZW50IGxhYmVsPSJTZWl0ZSIgYmxvY2tfdHlwZT0iZHJvcGRvd24iIG5vX2NvbGxhcHNlPXRydWUgaXRlbXM9Ijo6OnRiR2V0UGFnZUhpZXJhcmNoeTo6OiIgdmFsdWVzPSI6Ojp0YkdldFBhZ2VIaWVyYXJjaHkgb3V0cHV0PSdpZCc6OjoiIHNtYXJ0eT1iYWNrZW5kICYjMTI1OzwvcHJlPjwvcD4KIDwvbGk+IAogCiAgPGxpPjxzdHJvbmc+JiMxMjM7dGJHZXROZXdzQ2F0ZWdvcmllcyYjMTI1Ozwvc3Ryb25nPgogICAgPHA+TWl0IGRpZXNlbSBQbHVnaW4ga8O2bm5lbiBhbGxlIE5ld3NrYXRlZ29yaWVuIGF1c2dlZ2ViZW4gd2VyZGVuLiBQcmFrdGlzY2ggaXN0IGRlciBFaW5zYXR6IGRpZXNlcyBQbHVnaW4gaW4gVmVyYmluZHVuZyBtaXQgQWR2YW5jZWRDb250ZW50LiBTbyBrw7ZubmVuIGluIGVpbmVtIE11bHRpcGxlIFNlbGVjdCBGZWxkIGRpZSBnZXfDvG5zY2h0ZW4gTmV3c2thdGVnb3JpZW4gZ2V3w6RobHQgd2VyZGVuPC9wPgogICAgPHA+QXJndW1lbnRlOgogICAgICAgPHVsPgogICAgICAgPGxpPlthc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPgogICAgICAgPGxpPltkZWxpbWl0ZXJdIC0gKG9wdGlvbmFsKSBUcmVubnplaWNoZW4gendpc2NoZW4gZGVuIEVpbnRyw6RnZW4uIFN0YW5kYXJkOiB8LjwvbGk+CiAgICAgICA8bGk+W291dHB1dF0gLSAob3B0aW9uYWwpIG1pdCBvdXRwdXQ9ImlkIiB3ZXJkZW4gYWxsZSBDb250ZW50LUlEcyBhdXNnZWdlYmVuLiBBbnNvbnN0ZW4gd2lyZCBkZXIgTWVuw7x0ZXh0IGF1c2dlZ2ViZW4uPC9saT4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkJlaXNwaWVsOjxiciAvPgogICAgPHByZT4mIzEyMzt0YkdldE5ld3NDYXRlZ29yaWVzJiMxMjU7PC9wcmU+PGJyIC8+CiAgICA8cHJlPiYjMTIzO0FkdmFuY2VkQ29udGVudCBibG9jaz0ibmV3cyIgbGFiZWw9Ik5ld3MgS2F0ZWdvcmllbi4iIGJsb2NrX3R5cGU9InNlbGVjdF9tdWx0aXBsZSIgbm9fY29sbGFwc2U9dHJ1ZSBpdGVtcz0iOjo6dGJHZXROZXdzQ2F0ZWdvcmllczo6OiIgc21hcnR5PWJhY2tlbmQgJiMxMjU7PC9wcmU+PC9wPgogPC9saT4gCiAKIDxsaT48c3Ryb25nPiYjMTIzO3RiR2V0VXNlckdyb3VwcyYjMTI1Ozwvc3Ryb25nPgogICAgPHA+TWl0IGRpZXNlbSBQbHVnaW4ga8O2bm5lbiBhbGxlIE5ld3NrYXRlZ29yaWVuIGF1c2dlZ2ViZW4gd2VyZGVuLiBQcmFrdGlzY2ggaXN0IGRlciBFaW5zYXR6IGRpZXNlcyBQbHVnaW4gaW4gVmVyYmluZHVuZyBtaXQgQWR2YW5jZWRDb250ZW50LiBTbyBrw7ZubmVuIGluIGVpbmVtIE11bHRpcGxlIFNlbGVjdCBGZWxkIGRpZSBnZXfDvG5zY2h0ZW4gTmV3c2thdGVnb3JpZW4gZ2V3w6RobHQgd2VyZGVuPC9wPgogICAgPHA+QXJndW1lbnRlOgogICAgICAgPHVsPgogICAgICAgPGxpPlthc3NpZ25dIC0gKG9wdGlvbmFsKSBkZXIgTmFtZSBkZXIgVmFyaWFibGUsIGRlciBkYXMgRXJnZWJuaXMgenVnZXdpZXNlbiB3ZXJkZW4gc29sbC48L2xpPgogICAgICAgPGxpPltncm91cHNfb25seV0gLSAob3B0aW9uYWwpIFplaWd0IG51ciBkaWUgQmVudXR6ZXJncnVwcGVuIChlaW56ZWxuZSBCZW51dHplciB3ZXJkZW4gbmljaHQgYW5nZXplaWd0KTwvbGk+CiAgICAgICA8bGk+W2RlbGltaXRlcl0gLSAob3B0aW9uYWwpIFRyZW5uemVpY2hlbiB6d2lzY2hlbiBkZW4gRWludHLDpGdlbi4gU3RhbmRhcmQ6IHwuPC9saT4KICAgICAgIDxsaT5bb3V0cHV0XSAtIChvcHRpb25hbCkgbWl0IG91dHB1dD0iaWQiIHdlcmRlbiBhbGxlIENvbnRlbnQtSURzIGF1c2dlZ2ViZW4uIEFuc29uc3RlbiB3aXJkIGRlciBNZW7DvHRleHQgYXVzZ2VnZWJlbi48L2xpPgogICAgICAgPC91bD4KICAgIDxici8+PC9wPgogICAgPHA+QmVpc3BpZWw6PGJyIC8+CiAgICA8cHJlPiYjMTIzO3RiR2V0VXNlckdyb3VwcyYjMTI1OzwvcHJlPjxiciAvPgogICAgPHByZT4mIzEyMztBZHZhbmNlZENvbnRlbnQgYmxvY2s9ImVkaXRvcnMiIGxhYmVsPSJCZW51dHplciB3ZWxjaGUgZGllc2UgU2VpdGVuIGJlYXJiZWl0ZW4gZMO8cmZlbiIgYmxvY2tfdHlwZT0ic2VsZWN0X211bHRpcGxlIiBub19jb2xsYXBzZT10cnVlIGl0ZW1zPSI6Ojp0YkdldFVzZXJHcm91cHMgZ3JvdXBzX29ubHk9dHJ1ZTo6OiIgdmFsdWVzPSI6Ojp0YkdldFVzZXJHcm91cHMgZ3JvdXBzX29ubHk9dHJ1ZSBvdXRwdXQ9J2lkJzo6OiIgc21hcnR5PWJhY2tlbmQgJiMxMjU7PC9wcmU+PC9wPgogPC9saT4gIAogCiAgPGxpPjxzdHJvbmc+JiMxMjM7dGJHZXRHYWxsZXJ5VHJlZSYjMTI1Ozwvc3Ryb25nPgogICAgPHA+TWl0IGRpZXNlbSBQbHVnaW4ga8O2bm5lbiBhbGxlIEdhbGxlcnkgT3JkbmVyIChNb2R1bCBHYWxsZXJ5KSBhdXNnZWdlYmVuIHdlcmRlbi4gUHJha3Rpc2NoIGlzdCBkZXIgRWluc2F0eiBkaWVzZXMgUGx1Z2luIGluIFZlcmJpbmR1bmcgbWl0IEFkdmFuY2VkQ29udGVudC4gU28ga8O2bm5lbiBkaWUgR2FsbGVyeXMgaW4gZWluZW0gRHJvcGRvd24gRmVsZCBhdXNnZWdlYmVuIHdlcmRlbi48L3A+CiAgICA8cD5Bcmd1bWVudGU6CiAgICAgICA8dWw+CiAgICAgICA8bGk+W3N1YmRpcl0gLSAob3B0aW9uYWwpIFVudGVyb3JkbmVyIGRlciBHYWxsZXJ5IGFiIHdlbGNoZW0gYWxsZXIgZW50aGFsdGVuZW4gT3JkbmVyIGF1ZmdlbGlzdGV0IHdlcmRlbiBzb2xsZW4gLjwvbGk+CiAgICAgICA8bGk+W2FjdGlvbl0gLSAob3B0aW9uYWwpIDx1bD4KICAgICAgIAkJCQkJCQkJPGxpPmFjdGlvbj0idXJsIiAtPiBQZmFkIHp1bSBPcmRuZXI8L2xpPgogICAgICAgCQkJCQkJCQk8bGk+IGFjdGlvbiA9ICIiIC0+IFBmYWQgZGVzIE9yZG5lcnMgaW5rbC4gQmlsZGFuemFobDwvbGk+CiAgICAgICAJCQkJCQkJPC91bD4KICAgICAgIDwvdWw+CiAgICA8YnIvPjwvcD4KICAgIDxwPkJlaXNwaWVsOjxiciAvPgogICAgPHByZT4mIzEyMzt0YkdldEdhbGxlcnlUcmVlJiMxMjU7PC9wcmU+PGJyIC8+CiAgICA8cHJlPiYjMTIzO0FkdmFuY2VkQ29udGVudCBibG9jaz0iZ2FsbGVyeSIgbGFiZWw9IkdhbGxlcnkiIGJsb2NrX3R5cGU9ImRyb3Bkb3duIiBhbGxvd19ub25lPXRydWUgaXRlbXM9IktlaW5lIEdhbGxlcnl8Ojo6dGJHZXRHYWxsZXJ5VHJlZSA6OjoiIHZhbHVlcz0ifDo6OnRiR2V0R2FsbGVyeVRyZWUgYWN0aW9uPSd1cmwnOjo6IiBzbWFydHk9YmFja2VuZCBhc3NpZ249ImJ0R2FsbGVyeVBhdGgiIG5vX2NvbGxhcHNlPXRydWUgJiMxMjU7PC9wcmU+PC9wPgogICAgCiA8L2xpPiAgCiAKPC91bD4KICAKCgogIAogIDwvZGl2Pgo8L2Rpdj4KCkVPVDsKCgokbGFuZ1snaGVscF90YmltYWdlJ10gPSA8PDxFT1QKCjxwcmU+JiMxMjM7dGJJbWFnZSBpbWFnZT0iL3BhdGgvdG8vaW1hZ2UuanBnIiByZXNpemVCeUxhcmdlc3RTaWRlSW5QaXhlbD0iMjAwIiYjMTI1OzwvcHJlPgoKPGgzPlBhcmFtZXRlcjwvaDM+Cgo8aDQ+QmlsZGVpbnN0ZWxsdW5nZW48L2g0PgoKPHVsPgo8bGk+W2ltYWdlXSAtIFBmYWQgenVtIEJpbGQuIERpZXNlciBrYW5uIHJlbGF0aXYgenVtIFJvb3QsIGFscyBhYnNvbHV0ZXIgUGZhZCBvZGVyIGFscyBVUkwgw7xiZXJnZWJlbiB3ZXJkZW4gPC9saT4KPGxpPlZlcsOkbmRlcnVuZyBkZXIgR3LDtnNzZSB3w6RobGVuLiBFcyBrYW5uIGpld2VpbHMgbnVyIGVpbiBQYXJhbWV0ZXIgZ2xlaWNoemVpdGlnIGVpbmdlc2V0enQgd2VyZGVuOgo8dWw+Cgk8bGk+W3Jlc2l6ZUJ5TmFycm93U2lkZUluUGl4ZWxdIC0gRGFzIEJpbGQgbmFjaCBkZXIga8O8cnplcmVuIFNlaXRlIGluIFBpeGVsIHZlcmtsZWluZXJuL3Zlcmdyw7Zzc2VybiA8L2xpPgoJPGxpPltyZXNpemVCeU5hcnJvd1NpZGVJblBlcmNlbnRdIC0gRGFzIEJpbGQgbmFjaCBkZXIga8O8cnplcmVuIFNlaXRlIGluIFByb3plbnQgdmVya2xlaW5lcm4vdmVyZ3LDtnNzZXJuIDwvbGk+Cgk8bGk+W3Jlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBpeGVsXSAtIERhcyBCaWxkIG5hY2ggZGVyIGzDpG5nZXJlbiBTZWl0ZSBpbiBQaXhlbCB2ZXJrbGVpbmVybi92ZXJncsO2c3Nlcm4gPC9saT4KCTxsaT5bcmVzaXplQnlMYXJnZXN0U2lkZUluUGVyY2VudF0gLSBEYXMgQmlsZCBuYWNoIGRlciBsw6RuZ2VyZW4gU2VpdGUgaW4gUHJvemVudCB2ZXJrbGVpbmVybi92ZXJncsO2c3Nlcm4gPC9saT4KPC91bD4KPC9saT4KPGxpPkF1c3NjaG5pdHQgZGVzIEJpbGRlcyBpbiBQaXhlbCBtaXQgUG9zaXRpb24KPHVsPgoJPGxpPlt3aWR0aF0gLSAob3B0aW9uYWwpIEJyZWl0ZSBkZXMgQmlsZGF1c3NjaG5pdHRzPC9saT4KCTxsaT5baGVpZ2h0XSAtIChvcHRpb25hbCkgSMO2aGUgZGVzIEJpbGRhdXNzY2huaXR0cyA8L2xpPgoJPGxpPltwb3NdIC0gKG9wdGlvbmFsKSBQb3NpdGlvbiBkZXMgQXVzc2Nobml0dHMuIE3DtmdsaWNoZSBQYXJhbWV0ZXIgKERldGFpbHMgc2llaGUgUmVpdGVyICJXYXNzZXJ6ZWljaGVuIG1pdCBCaWxkIik6CgkJPHVsPgoJCQk8bGk+TFQgPSBsaW5rcyBvYmVuPC9saT4KCQkJPGxpPk1UID0gbWl0dGUgb2JlbjwvbGk+CgkJCTxsaT5SVCA9IHJlY2h0cyBvYmVuPC9saT4KCQkJPGxpPkxNID0gbGlua3MgbWl0dGU8L2xpPgoJCQk8bGk+TU0gPSBtaXR0ZSBtaXR0ZTwvbGk+CgkJCTxsaT5STSA9IHJlY2h0cyBtaXR0ZTwvbGk+CgkJCTxsaT5MQiA9IGxpbmtzIHVudGVuPC9saT4KCQkJPGxpPk1CID0gbWl0dGUgdW50ZW48L2xpPgoJCQk8bGk+UkIgPSByZWNodHMgdW50ZW48L2xpPgoJCTwvdWw+Cgk8L2xpPgoJPGxpPltwb3N4XSAtIChvcHRpb25hbCkgUG9zaXRpb24gZGVzIEF1c3NjaG5pdHRzIGluIFggPC9saT4KCTxsaT5bcG9zeV0gLSAob3B0aW9uYWwpIFBvc2l0aW9uIGRlcyBBdXNzY2huaXR0cyBpbiBZIDwvbGk+CjwvdWw+CjwvbGk+CjxsaT5bcHJvcG9ydGlvbl0gLSAob3B0aW9uYWwpIFByb3BvcnRpb25lbiBkZXMgQmlsZGVzIGVyaGFsdGVuPC9saT4KPGxpPltxdWFsaXR5XSAtIChvcHRpb25hbCkgUXVhbGl0w6R0IGRlciBKUEcgS29tcHJpbWllcnVuZy4gU3RhbmRhcmQgODU8L2xpPgo8bGk+W2ZpbHRlcl0gLSAob3B0aW9uYWwpIEZpbHRlcmVpbnN0ZWxsdW5nZW4sIERldGFpbHMgc2llaGUgPGEgaHJlZj0iaHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLmltYWdlZmlsdGVyLnBocCI+UEhQIFdlYnNlaXRlPC9hPjwvbGk+CjxsaT5bb3BhY2l0eV0gLSAob3B0aW9uYWwpIERlY2trcmFmdCBkZXMgQmlsZGVzIDwvbGk+CjxsaT5bZmxpcF0gLSAob3B0aW9uYWwpIERyZWhlbiBkZXMgQmlsZGVzIGluIEdyYWQ8L2xpPgo8L3VsPgoKPGg0PkFsbGdlbWVpbmUgRWluc3RlbGx1bmdlbjwvaDQ+Cgo8dWw+CjxsaT5bYXNzaWduXSAtIChvcHRpb25hbCkgQWxzIFLDvGNrZ2FiZXdlcnQgZWluZXIgVmFyaWFibGVuIHp1d2Vpc2VuPC9saT4KPGxpPltub190YWddIC0gKG9wdGlvbmFsKSBBbHMgUsO8Y2tnYWJld2VydCB3aXJkIG51ciBkaWUgcmVpbmUgQmlsZC1VUkwgb2huZSBpbWcgVGFnIHp1csO8Y2tnZWdlYmVuPC9saT4KPGxpPltub19vdXRwdXRdIC0gKG9wdGlvbmFsKSBOdXIgZGllIEdyw7Zzc2Vuw6RuZGVydW5nIHdpcmQgYXVzZ2Vmw7xocnQuIEtlaW4gUsO8Y2tnYWJld2VydDwvbGk+CjxsaT5bZGVidWddIC0gKG9wdGlvbmFsKSBBdXNnYWJlIGRlciBEZXRhaWxzIGRlciBCaWxkdmVyYXJiZWl0dW5nPC9saT4KPGxpPltjbGFzc10gLSAob3B0aW9uYWwpIENTUyBLbGFzc2UgZGllIGRlbSBpbWcgVGFnIHp1Z2VvcmRuZXQgd2lyZDwvbGk+CjxsaT5bYWx0XSAtIChvcHRpb25hbCkgQWx0IFRleHQgZGVyIGRlbSBpbWcgVGFnIHp1Z2VvcmRuZXQgd2lyZDwvbGk+CjxsaT5baWRdIC0gKG9wdGlvbmFsKSBDU1MgSUQgZGllIGRlbSBpbWcgVGFnIHp1Z2VvcmRuZXQgd2lyZDwvbGk+CjxsaT5bdGl0bGVdIC0gKG9wdGlvbmFsKSBUaXRsZSBUZXh0IGRlciBkZW0gaW1nIFRhZyB6dWdlb3JkbmV0IHdpcmQ8L2xpPgo8bGk+W3N0eWxlXSAtIChvcHRpb25hbCkgU3R5bGUtVGFnIGRlciBkZW0gaW1nIFRhZyB6dWdlb3JkbmV0IHdpcmQ8L2xpPgo8L3VsPgoKPGg0PkF1dG9MaWdodGJveDwvaDQ+Cjx1bD4KPGxpPlthdXRvbGlnaHRib3hdIC0gKG9wdGlvbmFsKSBPcmlnaW5hbCBkZXMgQmlsZGVzIGFscyBBdXRvTGlnaHRib3ggVmVya27DvHBmdW5nIGVpbmJpbmRlbiAobnVyIHdlbm4gZGllIEF1dG9MaWdodEJveCBha3RpdiBpc3QpIDwvbGk+CjxsaT5HcsO2c3NlIGRlcyBPcmlnaW5hbGJpbGRlcy4gV2VyZGVuIGRpZXNlIFBhcmFtZXRlciBsZWVyIGdlbGFzc2VuLCBzbyB3aXJkIGRhcyBPcmlnaW5hbGJpbGQgdmVybGlua3QKPHVsPgoJPGxpPlthbGJyZXNpemVCeU5hcnJvd1NpZGVJblBpeGVsXSAtIERhcyBCaWxkIG5hY2ggZGVyIGvDvHJ6ZXJlbiBTZWl0ZSBpbiBQaXhlbCB2ZXJrbGVpbmVybi92ZXJncsO2c3Nlcm4gPC9saT4KCTxsaT5bYWxicmVzaXplQnlOYXJyb3dTaWRlSW5QZXJjZW50XSAtIERhcyBCaWxkIG5hY2ggZGVyIGvDvHJ6ZXJlbiBTZWl0ZSBpbiBQcm96ZW50IHZlcmtsZWluZXJuL3Zlcmdyw7Zzc2VybiA8L2xpPgoJPGxpPlthbGJyZXNpemVCeUxhcmdlc3RTaWRlSW5QaXhlbF0gLSBEYXMgQmlsZCBuYWNoIGRlciBsw6RuZ2VyZW4gU2VpdGUgaW4gUGl4ZWwgdmVya2xlaW5lcm4vdmVyZ3LDtnNzZXJuIDwvbGk+Cgk8bGk+W2FsYnJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBlcmNlbnRdIC0gRGFzIEJpbGQgbmFjaCBkZXIgbMOkbmdlcmVuIFNlaXRlIGluIFByb3plbnQgdmVya2xlaW5lcm4vdmVyZ3LDtnNzZXJuIDwvbGk+CjwvdWw+CjwvdWw+Cgo8aDQ+V2Fzc2VyemVpY2hlbjwvaDQ+Cgo8dWw+CjxsaT5bd2F0ZXJtYXJrXSAtIChvcHRpb25hbCkgbcO2Z2xpY2hlIFBhcmFtZXRlcjogd2F0ZXJtYXJrPSJpbWFnZSIgLSBkaWUgRWluc3RlbGx1bmdlbiBzaW5kIGltIFJlaXRlciAiV2Fzc2VyemVpY2hlbiBtaXQgQmlsZCIgenUgZmluZGVuPC9saT4KPC91bD4KCkVPVDsKCiMgSQokbGFuZ1snaWQnXSA9ICdJRCc7CiRsYW5nWydpZ25vcmUnXSA9ICdJZ25vcmllcmVuJzsKJGxhbmdbJ2lnbm9yZWxpc3QnXSA9ICdJZ25vcmllci1MaXN0ZSc7CiRsYW5nWydpbmFjdGl2ZSddID0gJ0luYWt0aXYnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnaW5zdGFsbGllcnQnOwokbGFuZ1snaXAnXSA9ICdJUCBOdW1tZXInOwokbGFuZ1snaXVybCddID0gJ1p1IGlnbm9yaWVyZW5kZSBVUkwnOwokbGFuZ1snaW1wb3J0eG1sX3RpdGxlJ10gPSAnVGVtcGxhdGUgdmlhIFhNTC1EYXRlaSBpbXBvcnRpZXJlbic7CiRsYW5nWydpbXBvcnR4bWwnXSA9ICdUZW1wbGF0ZS1YTUwgaW1wb3J0aWVyZW4nOwokbGFuZ1snaW1wb3J0eG1sbm90ZSddID0gJ1hNTC1EYXRlaWVuIG1pdCB2ZXJzY2hpZWRlbmVuIFRvb2xCb3gtVm9ybGFnZW4gayZvdW1sO25uZW4gaW0gUHJvamVrdHZlcnplaWNobmlzIGRlcyA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3QvZmlsZXMvMTA3NSIgdGFyZ2V0PSJfYmxhbmsiPlRvb2xCb3gtTW9kdWxzPC9hPiBoZXJ1bnRlcmdlbGFkZW4gd2VyZGVuLiBCaXR0ZSBsZXNlbiBTaWUgZGllIFZlcnNpb25zLUhpbndlaXNlIHZvciBkZW0gSG9jaGxhZGVuISc7CgojIEoKCiMgSwokbGFuZ1sna2V5d29yZCddID0gJ1N1Y2hiZWdyaWZmJzsKCiMgTAokbGFuZ1snbGlua3ZhbHVlJ10gPSAnUsO8Y2tnYWJld2VydCBkZXMgTGlua3MnOwoKIyBNCiRsYW5nWydtYWluJ10gPSAnw5xiZXJzaWNodCc7CiRsYW5nWydtYWtlYWN0aXZlJ10gPSAnQWt0aXZpZXJlbic7CiRsYW5nWydtYWtlaW5hY3RpdmUnXSA9ICdEZWFrdGl2aWVyZW4nOwokbGFuZ1snbWFudWFsJ10gPSAnQW5sZWl0dW5nJzsKJGxhbmdbJ21heF80MDQnXSA9ICdBbnphaGwgNDA0IEZlaGxlcic7CiRsYW5nWydtYXhfNDA0X2hlbHAnXSA9ICdXaWUgdmllbGUgRmVobGVyIHNvbGxlbiBtYXhpbWFsIG1pdGdlbG9nZ3Qgd2VyZGVuPyc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0RpZXNlcyBNb2R1bCBpc3QgZWluZSBTYW1tbHVuZyB2b24gbsO8dHpsaWNoZW4gVG9vbHM6IEF1dG9MaWdodEJveCwgU29jaWFsU2hhcmVQcml2YWN5LCBUd2l0dGVyZmVlZCAsIFNtYXJ0eS1Ub29scywgMzAxLVdlaXRlcmxlaXR1bmdlbiwgNDA0LUZlaGxlcnRyYWNraW5nJzsKJGxhbmdbJ21vZGlmaWVkJ10gPSAnTGV0enRlcyBBdWZ0cmV0ZW4nOwokbGFuZ1snbW9udGgnXSA9ICdNb25hdCc7CiRsYW5nWydtb250aHMnXSA9ICdNb25hdGUnOwokbGFuZ1snaW1wb3J0X211bHRpZG9tYWlucyddID0gJ0RhdGVuIGF1cyBNdWx0aURvbWFpbnMtTW9kdWwgaW1wb3J0aWVyZW4nOwokbGFuZ1snaW1wb3J0X211bHRpZG9tYWluc19oZWxwJ10gPSAnSGlud2VpczogRXMgd3VyZGVuIGJlcmVpdHMgJXMgTWFsIERhdGVuIGltcG9ydGllcnQhISEnOwokbGFuZ1snZHJvcF9tdWx0aWRvbWFpbnMnXSA9ICdUYWJlbGxlbiBkZXMgYWx0ZW4gTW9kdWxzIE11bHRpRG9tYWlucyBsw7ZzY2hlbj8nOwokbGFuZ1snbWFpbl9ldmVudF9oYW5kbGVyX2FjdGl2ZSddID0gJ1Rvb2xCb3ggaXN0IGltIEV2ZW50SGFuZGxlciBha3Rpdic7CiRsYW5nWydtYWluX2V2ZW50X2hhbmRsZXJfaW5hY3RpdmUnXSA9ICdEaWUgVG9vbEJveCBtdXNzIGltIFRlbXBsYXRlIG1pdCB7VG9vbEJveH0gYWt0aXZpZXJ0IHdlcmRlbic7CiRsYW5nWydtYWluX3N0YXRzX2FjdGl2ZSddID0gJ1N0YXRpc3Rpa2VuJzsKJGxhbmdbJ21haW5fc3RhdHNfaW5hY3RpdmUnXSA9ICdTdGF0aXN0aWtlbic7CiRsYW5nWydtYWluX3N0YXRzXzQwNF9hY3RpdmUnXSA9ICc0MDQgRmVobGVyLVRyYWNraW5nJzsJCQokbGFuZ1snbWFpbl9zdGF0c180MDRfaW5hY3RpdmUnXSA9ICc0MDQgRmVobGVyLVRyYWNraW5nJzsKJGxhbmdbJ21haW5fb2xkdXJsX2FjdGl2ZSddID0gJ1VSTC1VbWxlaXR1bmdlbic7CiRsYW5nWydtYWluX29sZHVybF9pbmFjdGl2ZSddID0gJ1VSTCBVbWxlaXR1bmdlbic7CiRsYW5nWydtYWluX2F1dG9saWdodGJveF9hY3RpdmUnXSA9ICdBdXRvTGlnaHRCb3gnOwokbGFuZ1snbWFpbl9hdXRvbGlnaHRib3hfaW5hY3RpdmUnXSA9ICdBdXRvTGlnaHRCb3gnOwokbGFuZ1snbWFpbl9zb2NpYWxzaGFyZXByaXZhY3lfYWN0aXZlJ10gPSAnU29jaWFsU2hhcmVQcml2YWN5JzsKJGxhbmdbJ21haW5fc29jaWFsc2hhcmVwcml2YWN5X2luYWN0aXZlJ10gPSAnU29jaWFsU2hhcmVQcml2YWN5JzsKJGxhbmdbJ21haW5fdGFpbF9hY3RpdmUnXSA9ICd0YWlsIExvZyBGdW5rdGlvbmFsaXTDpHQnOwokbGFuZ1snbWFpbl90YWlsX2luYWN0aXZlJ10gPSAndGFpbCBMb2cgRnVua3Rpb25hbGl0w6R0JzsKJGxhbmdbJ21haW5fZGVidWdfYWN0aXZlJ10gPSAnRGVidWdnaW5nJzsKJGxhbmdbJ21haW5fZGVidWdfaW5hY3RpdmUnXSA9ICdEZWJ1Z2dpbmcnOwokbGFuZ1snbWFpbl9zbWFydHlwbHVnaW5zX2FjdGl2ZSddID0gJ1NtYXJ0eSBQbHVnaW4gJHRidG9vbHMgaXN0IGFrdGl2JzsKJGxhbmdbJ21haW5fbW9iaWxlZGV0ZWN0X2FjdGl2ZSddID0gJ1NtYXJ0eSBQbHVnaW4gJHRibW9iaWxlIGlzdCBha3RpdiAtIG1vYmlsZSBHZXLDpHRlIGVya2VubmVuJzsKJGxhbmdbJ21haW5fZnVuY3Rpb25zX2FjdGl2ZSddID0gJ0RpZSBUb29sQm94IFBsdWdpbnMgc3RlaGVuIHp1ciBWZXJmw7xndW5nJzsKJGxhbmdbJ21haW5fbW9kaWZpZXJfYWN0aXZlJ10gPSAnRGllIFRvb2xCb3ggTW9kaWZpZXIgc3RlaGVuIHp1ciBWZXJmw7xndW5nJzsKJGxhbmdbJ21vZHVsZW9wcyddID0gJ01vZHVsZSBPcGVyYXRpb25zJzsKJGxhbmdbJ21vZHVsZW9wc191c2UnXSA9ICdNb2R1bGUgT3BlcmF0aW9ucyBudXR6ZW4gLT4gQmFja3VwIHVuZCBXaWVkZXJoZXJzdGVsbHVuZyB2b24gTW9kdWxlaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ21zZ19zYXZldGVtcGxhdGVwcmVmJ10gPSAnRGllIFRlbXBsYXRlZWluc3RlbGx1bmdlbiB3dXJkZW4gZXJmb2xncmVpY2ggZ2VzcGVpY2hlcnQnOwokbGFuZ1snbXNnX3NhdmVwcmVmJ10gPSAnRGllIEVpbnN0ZWxsdW5nZW4gd3VyZGVuIGVyZm9sZ3JlaWNoIGdlc3BlaWNoZXJ0JzsKJGxhbmdbJ21zZ19yZXNldHByZWYnXSA9ICdEaWUgRWluc3RlbGx1bmdlbiB3dXJkZW4gZXJmb2xncmVpY2ggenVyw7xja2dlc2V0enQnOwokbGFuZ1snbW9iaWxldHBsJ10gPSAnTW9iaWxlIFRlbXBsYXRlJzsKCiMgTgokbGFuZ1snbmV2ZXInXSA9ICdOaWVtYWxzJzsKJGxhbmdbJ25ldyddID0gJyhuZXUpJzsKJGxhbmdbJ25ld3JlZGlyZWN0J10gPSAnTmV1ZSBVUkwgVW1sZWl0dW5nJzsKJGxhbmdbJ25vdGVzJ10gPSAnTm90aXplbic7CiRsYW5nWydub19maWxlcyddID0gIlp1IGRpZXNlbSBUZW1wbGF0ZSBleGlzdGllcmVuIGtlaW5lIERhdGVpZW4uIjsKCiMgTwokbGFuZ1snb2xkdXJsX3VzZSddID0gJ1JlaXRlciBmw7xyIFVSTC1VbWxlaXR1bmdlbiBha3RpdmllcmVuJzsKJGxhbmdbJ292ZXJ3cml0ZSddID0gJ0RpZSBiZXJlaXRzIGJlc3RlaGVuZGVuIFRlbXBsYXRlZGF0ZW4gJnV1bWw7YmVyc2NocmVpYmVuJzsKJGxhbmdbJ292ZXJ3cml0ZSddID0gJ0RpZSBiZXJlaXRzIGV4aXN0aWVyZW5kZW4gTW9kdWwtVGVtcGxhdGVzICZ1dW1sO2JlcnNjaHJlaWJlbic7CgoKIyBQCiRsYW5nWydzZXR0aW5ncyddID0gJ0VpbnN0ZWxsdW5nZW4nOwokbGFuZ1sncGFnZSddID0gJ1NlaXRlJzsKJGxhbmdbJ3BhZ2VpZCddID0gJ1NlaXRlbi1JRCc7CiRsYW5nWydwYWdlYWxpYXMnXSA9ICdTZWl0ZW4tQWxpYXMnOwokbGFuZ1sncGFyYW1faW52YWxpZCddID0gJ3tUb29sQm94fSBEZXIgUGFyYW1ldGVyIG1vZD0iW21vZF0iIGlzdCBuaWNodCBnw7xsdGlnJzsKJGxhbmdbJ3BhcmFtX2VtcHR5J10gPSAne1Rvb2xCb3h9IERlciBQYXJhbWV0ZXIgIltwYXJhbV0iIGlzdCBuaWNodCBkZWZpbmllcnQnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdEYXMgTW9kdWwgVG9vbEJveCB3dXJkZSBlcmZvbGdyZWljaCBpbnN0YWxsaWVydC4gU2llIGVycmVpY2hlbiBkYXMgTW9kdWwtQmFja2VuZCDDvGJlciBFcndlaXRlcnVuZ2VuIC8gVG9vbEJveC4gRGFzIE1vZHVsIG51dHp0IGRpZSBCZXJlY2h0aWd1bmcgIk1hbmFnZSBUb29sQm94Ii4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0RhcyBNb2R1bCBUb29sQm94IHd1cmRlIGVyZm9sZ3JlaWNoIGRlaW5zdGFsbGllcnQuJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnRWluc3RlbGx1bmdlbic7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICdTaW5kIFNpZSBzaWNoZXIsIGRhc3MgU2llIGRhcyBNb2R1bCBUb29sQm94IHdpcmtsaWNoIGRlaW5zdGFsbGllcmVuIGvDtm5uZW4/JzsKJGxhbmdbJ3BhcmFtbW9kJ10gPSAnVG9vbGJveCBNb2R1bCBFbGVtZW50LCBCZWlzcGllbDogbW9kPSJzb2NpYWxzaGFyZXByaXZhY3kiIGbDvHIgZGFzIFNvY2lhbFNoYXJlUHJpdmF5IEVsZW1lbnQnOwokbGFuZ1sncGFyYW11c2VybmFtZSddID0gJ0JlbnV0emVybmFtZSc7CiRsYW5nWydwYXJhbWxpc3QnXSA9ICdOYW1lIGRlciBMaXN0ZSc7CiRsYW5nWydwYXJhbXNlYXJjaCddID0gJ1N1Y2hiZWdyaWZmJzsKJGxhbmdbJ3BhcmFtdGVtcGxhdGUnXSA9ICdOYW1lIGRlcyBUZW1wbGF0ZXMgd2VsY2hlcyB2ZXJ3ZW5kZXQgd2lyZC4gRGllc2VzIFRlbXBsYXRlIG11c3MgZXhpc3RpZXJlbiBpbSBSZWl0ZXIgZGVzIHZlcndlbmRldGVuIFRvb2xib3ggTW9kdWxzIHNpY2h0YmFyIHNlaW4uIE9obmUgZGllc2VuIFBhcmFtZXRlciB3aXJkIGRhcyBhbHMgU3RhbmRhcmQtVGVtcGxhdGUgZGVmaW5pZXJ0ZSBUZW1wbGF0ZSB2ZXJ3ZW5kZXQuJzsKJGxhbmdbJ3BhcmFtY291bnQnXSA9ICdBbnphaGwgRGF0ZW5zw6R0emUgZGllIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbGVuJzsKJGxhbmdbJ3BhcmFtZGF0ZWZvcm1hdCddID0gJ0RhdHVtc2Zvcm1hdCBpbiBkZXIgRm9ybSBkLW0tWSBIOmk6cyc7CiRsYW5nWydwYXJhbWNhY2hldGltZSddID0gJ1plaXQgaW4gTWludXRlbiBpbiBkZW5lbiBkYXMgUmVzdWx0YXQgaW0gQ2FjaGUgZ2VzcGVpY2hlcnQgYmxlaWJ0LiBTdGFuZGFyZCBpc3QgMTAgTWludXRlbiAoMTApLic7CiRsYW5nWydwYXJhbWltYWdlJ10gPSAnUGZhZCB6dW0gQmlsZCc7CiRsYW5nWydwYXJhbWhlaWdodCddID0gJ0jDtmhlIGluIFBpeGVsJzsKJGxhbmdbJ3BhcmFtd2lkdGgnXSA9ICdCcmVpdGUgaW4gUGl4ZWwnOwokbGFuZ1sncGFyYW1hbHQnXSA9ICdhbHQgQXR0cmlidXQnOwokbGFuZ1sncGFyYW10aXRsZSddID0gJ3RpdGxlIEF0dHJpYnV0JzsKJGxhbmdbJ3BhcmFtY2xhc3MnXSA9ICdjbGFzcyBBdHRyaWJ1dCc7CiRsYW5nWydwYXJhbWlkJ10gPSAnaWQgQXR0cmlidXQnOwokbGFuZ1sncGFyYW1zdHlsZSddID0gJ3N0eWxlIEF0dHJpYnV0JzsKJGxhbmdbJ3BhcmFtbm90YWcnXSA9ICdSZXN1bHRhdCBvaG5lIFRhZ3MgKHouQi4gVVJMIGRlcyBCaWxkZXMpJzsKJGxhbmdbJ3BhcmFtZGV0YWlsdGVtcGxhdGUnXSA9ICdEZXRhaWx0ZW1wbGF0ZSc7CiRsYW5nWydwYXJhbWZpbGUnXSA9ICdEYXRlaSc7CiRsYW5nWydwYXJhbWZpbGVjaGFyc2V0J10gPSAnWmVpY2hlbnNhdHogKGNoYXJzZXQpIGRlciBEYXRlaSc7CiRsYW5nWydwYXJhbWFjdGlvbiddID0gJ0FjdGlvbic7CiRsYW5nWydwYXJhbXNvcnRieSddID0gJ1NvcnRpZXJlbiBuYWNoJzsKJGxhbmdbJ3BhcmFtc29ydG9yZGVyJ10gPSAnU29ydGllcnJlaWhlbmZvbGdlJzsKJGxhbmdbJ3BhcmFtZGVsaW1pdGVyJ10gPSAnRGVsaW1pdGVyIChUcmVubnplaWNoZW4pJzsKJGxhbmdbJ3Byb21wdF9pbXBvcnR0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGltcG9ydGllcmVuJzsKJGxhbmdbJ3Byb21wdF9hYm91dCddID0gJyZVdW1sO2Jlcic7CiRsYW5nWydwcm9tcHRfYWN0aXZlJ10gPSAnQWt0aXYnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZSddID0gJ0wmb3VtbDtzY2hlbic7CiRsYW5nWydwcm9tcHRfZGVmYXVsdCddID0gJ1N0YW5kYXJkJzsKJGxhbmdbJ3Byb21wdF9lZGl0dGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBiZWFyYmVpdGVuJzsKJGxhbmdbJ3Byb21wdF9maWxlJ10gPSAnRGF0ZWknOwokbGFuZ1sncHJvbXB0X2pxdWVyeSddID0gJ2pRdWVyeSBlaW5iaW5kZW4nOwokbGFuZ1sncHJvbXB0X25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ3Byb21wdF9uZXd0ZW1wbGF0ZSddID0gJ05ldWVzIFRlbXBsYXRlIGVyc3RlbGxlbic7CiRsYW5nWydwcm9tcHRfc2l6ZSddID0gJ0dyw7Zzc2UnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlY3NzJ10gPSAnU3R5bGVzaGVldCc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGVqcyddID0gJ0phdmFTY3JpcHQnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnSFRNTCc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGVuYW1lJ10gPSAnVGVtcGxhdGUtTmFtZSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGVtYW5hZ2VtZW50J10gPSAnVGVtcGxhdGV2ZXJ3YWx0dW5nJzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZWZpbGVzJ10gPSAnVGVtcGxhdGUgRGF0ZWllbic7CiRsYW5nWydwcm9tcHRfdXBsb2FkZmlsZSddID0gJ0RhdGVpIGF1c3cmYXVtbDtobGVuJzsKJGxhbmdbJ3Byb21wdF92ZXJzaW9uJ10gPSAnVmVyc2lvbic7CiRsYW5nWydwcm9tcHRfdmlzaWJsZSddID0gJ0ltIFRlbXBsYXRlLUxpc3RlbmZlbGRtZW4mdXVtbDsgc2ljaHRiYXInOwokbGFuZ1sncHJvbXB0X29sZHVybF90aXRsZSddID0gJ1VSTCBXZWl0ZXJsZWl0dW5nJzsKJGxhbmdbJ3Byb21wdF9zdGF0c180MDRfdGl0bGUnXSA9ICc0MDQgTG9nZ2luZyc7CiRsYW5nWydwcm9tcHRfYXV0b2xpZ2h0Ym94X3RpdGxlJ10gPSAnQXV0b0xpZ2h0Qm94JzsKJGxhbmdbJ3Byb21wdF9zb2NpYWxzaGFyZXByaXZhY3lfdGl0bGUnXSA9ICdTb2NpYWxTaGFyZVByaXZhY3knOwokbGFuZ1sncHJvbXB0X3N0YXRzX3RpdGxlJ10gPSAnU3RhdGlzaWsnOwokbGFuZ1sncHJvbXB0X2RlYnVnX3RpdGxlJ10gPSAnRGVidWcnOzsKJGxhbmdbJ3Byb21wdF90YWlsX3RpdGxlJ10gPSAnTG9nZ2luZyc7CiRsYW5nWydwcm9tcHRfcHJlZnNfdGl0bGUnXSA9ICdFaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ3Byb21wdF9tdWx0aWRvbWFpbl90aXRsZSddID0gJ011bHRpZG9tYWlucyc7CiRsYW5nWydwcm9tcHRfaW1hZ2VtYW5pcHVsYXRpb25fc29jaWFscGx1Z2luJ10gPSAnQmlsZGJlYXJiZWl0dW5nIC8gU29jaWFsIFBsdWdpbnMnOwokbGFuZ1sncHJvbXB0X3RyYWNraW5nX2xvZ2dpbmcnXSA9ICdMb2dnaW5nICAvIFRyYWNraW5nJzsKJGxhbmdbJ3Byb21wdF9nZW5lcmFsX3ByZWZzJ10gPSAnQWxsZ2VtZWluZSBFaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ3Byb21wdF9qYXZhc2NyaXB0X2Zvb3RlciddID0gJ0RhcyBhdXRvbWF0aXNjaCBlaW5nZWJ1bmRlbmUgSmF2YXNjcmlwdCB2b3IgZGVtICZsdDsvYm9keSZndDsgZWluYmluZGVuJzsKJGxhbmdbJ3Byb21wdF90d2l0dGVyZmVlZF90aXRsZSddID0gJ1R3aXR0ZXJmZWVkJzsKJGxhbmdbJ3Byb21wdF9wYXJhbWV0ZXInXSA9ICdGb2xnZW5kZSBQYXJhbWV0ZXIga8O2bm5lbiBpbSBUZW1wbGF0ZSB2ZXJ3ZW5kZXQgd2VyZGVuJzsKJGxhbmdbJ3Byb21wdF9jc3ZfdGl0bGUnXSA9ICdDU1YgTGlzdEl0JzsKJGxhbmdbJ3Byb21wdF9taW5pZnknXSA9ICdKYXZhc2NyaXB0IHVuZCBTdHlsZXNoZWV0cyBtaXQgTWluaWZ5IGtvbXByaW1pZXJ0IGVpbmJpbmRlbic7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXRlbXBsYXRlJ10gPSAnWnVzYW1tZW5mYXNzdW5ncyBUZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfZGV0YWlsdGVtcGxhdGUnXSA9ICdEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X2RlbGltaXRlciddID0gJ0RlbGltaXRlciBkZXIgQ1NWIERhdGVpJzsKJGxhbmdbJ3Byb21wdF9jaGFyc2V0ZmlsZSddID0gJ0NoYXJzZXQgQ1NWIERhdGVpJzsKJGxhbmdbJ3Byb21wdF9jaGFyc2V0Y21zJ10gPSAnQ2hhcnNldCBDTVMgU3lzdGVtJzsKJGxhbmdbJ3Byb21wdF91cmx0eXBlJ10gPSAnVVJMIFR5cCc7CiRsYW5nWydwcm9tcHRfdXNlX21vYmlsZXRlbXBsYXRlJ10gPSAnTW9iaWxlcyBUZW1wbGF0ZSBha3RpdmllcmVuJzsKCgojIFEKCiMgUgokbGFuZ1sncmVhbGx5bWFrZWFjdGl2ZSddID0gJ1dpcmtsaWNoIGFrdGl2aWVyZW4/JzsKJGxhbmdbJ3JlYWxseWlnbm9yZSddID0gJ0RpZXNlIFVSTCBpbiBkZXIgRmVobGVybGlzdGUgaWdub3JpZXJlbj8nOwokbGFuZ1sncmVhbGx5bWFrZWluYWN0aXZlJ10gPSAnV2lya2xpY2ggZGVha3RpdmllcmVuPyc7CiRsYW5nWydyZWFsbHlkZWxldGUnXSA9ICdXaXJrbGljaCBsw7ZzY2hlbj8nOwokbGFuZ1sncmVkaXJlY3QnXSA9ICdVUkwgVW1sZWl0dW5nJzsKJGxhbmdbJ3JlZGlyZWN0ZWRpdCddID0gJ1VSTCBVbWxlaXR1bmcgYmVhcmJlaXRlbic7CiRsYW5nWydyZWRpcmVjdHMnXSA9ICdVUkxzIHVtbGVpdGVuJzsKJGxhbmdbJ3JlZmVyZXInXSA9ICdIZXJrdW5mdCc7CiRsYW5nWydyZWdleHAnXSA9ICdSZWdFeHAnOwokbGFuZ1sncmVzZXQnXSA9ICdadXLDvGNrc2V0emVuJzsKJGxhbmdbJ3Jlc2V0b3JpZ2luYWwnXSA9ICdBdWYgZGllIHByb2dyYW1tc2VpdGlnZW4gVm9yZWluc3RlbGx1bmdlbiB6dXImdXVtbDtja3NldHplbic7CiRsYW5nWydyZXNldG9yaWdpbmFsd2FybmluZyddID0gJ1dvbGxlbiBTaWUgZGFzIFRlbXBsYXRlIHdpcmtsaWNoIG1pdCBkZW4gT3JpZ2luYWxkYXRlbiB6dXLDvGNrc2V0emVuPyc7CiRsYW5nWydyZXNldG9yaWdpbmFsd2FybmluZzInXSA9ICdXb2xsZW4gU2llIGRpZSBFaW5zdGVsbHVuZ2VuIHdpcmtsaWNoIG1pdCBkZW4gT3JpZ2luYWxkYXRlbiB6dXLDvGNrc2V0emVuPyc7CgoKIyBTCiRsYW5nWydzZWFyY2h0ZW1wbGF0ZSddID0gJ1N1Y2h0ZW1wbGF0ZSc7CiRsYW5nWydzZWFyY2hlbmdpbmUnXSA9ICdTdWNobWFzY2hpbmUnOwokbGFuZ1snc2VuZCddID0gJ0Fic2VuZGVuJzsKJGxhbmdbJ3Nlc3Npb25faWQnXSA9ICdTZXNzaW9uIElEJzsKJGxhbmdbJ3NldGZhbHNlJ10gPSAnRGVha3RpdmllcmVuJzsKJGxhbmdbJ3NldHRydWUnXSA9ICdBa3RpdmllcmVuJzsKJGxhbmdbJ3NtYXJ0eXRhZ3MnXSA9ICdJbiBkaWVzZW0gVGVtcGxhdGUga8O2bm5lbiBTbWFydHktVGFncyBlaW5nZXNldHp0IHdlcmRlbi4gRm9ybWF0OiBbW3Jvb3RfdXJsXV0nOwokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5J10gPSAnU29jaWFsU2hhcmVQcml2YWN5JzsKJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV9wcm9tcHRfYWR2YW5jZWQnXSA9ICdFcndlaXRlcnRlIEVpbnN0ZWxsdW5nZW4gYWt0aXZpZXJlbiAoSFRNTCwgU3R5bGVzaGVldCB1bmQgSmF2YVNjcmlwdCBUZW1wbGF0ZSBkaXJla3QgYmVhcmJlaXRlbiknOwokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X2Rlc2NyaXB0aW9uJ10gPSAnPHA+U29jaWFsU2hhcmVQcml2YWN5IGlzdCBlaW4gUGx1Z2luIHp1bSB6d2Vpc3R1ZmlnZW4gRWluYmluZHVuZyB2b24gRmFjZWJvb2ssIFR3aXR0ZXIgdW5kIEdvb2dsZVBsdXMuIEVyc3QgbmFjaCBlaW5lbSBLbGljayBhdWYgZGVuIFNjaGFsdGVyLCB3ZXJkZW4gRGF0ZW4gdm9tIGpld2VpbGlnZW4gRGllbnN0IMO8YmVydHJhZ2VuLjxiciAvPjxiciAvPlNvY2lhbFNoYXJlUHJpdmFjeSB3aXJkIHdpZSBmb2xndCBlaW5nZWJ1bmRlbjoge1Rvb2xCb3ggbW9kPSJzb2NpYWxzaGFyZXByaXZhY3kifTwvcD4nOwokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X2luYWN0aXZlJ10gPSAnU29jaWFsU2hhcmVQcml2YWN5IGlzdCBuaWNodCBha3RpdiEnOwokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3Byb21wdF9pbmZvbGluayddID0gJ0xpbmsgenUgZWluZXIgSW5mby1TZWl0ZSBhdWYgZGVyIGRpZSBGdW5rdGlvbmFsaXTDpHQgZXJrbMOkcnQgd2lyZCc7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X2pxdWVyeSddID0gJ2pRdWVyeSBlaW5iaW5kZW4nOwokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3Byb21wdF90ZW1wbGF0ZV9pbmZvJ10gPSAnV2VpdGVyZSBJbmZvcyB6dW0gRWluc2F0eiB2b24gU29jaWFsU2hhcmVQcml2YWN5IHVuZCBkaWUgdmVyc2NoaWVkZW5lbiBPcHRpb25lbiBmaW5kZXQgc2ljaCBoaWVyOiA8YSBocmVmPSJodHRwOi8vd3d3LmhlaXNlLmRlL2V4dHJhcy9zb2NpYWxzaGFyZXByaXZhY3kvIj5odHRwOi8vd3d3LmhlaXNlLmRlL2V4dHJhcy9zb2NpYWxzaGFyZXByaXZhY3kvPC9hPic7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X3RlbXBsYXRlJ10gPSAnSFRNTCc7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X3RlbXBsYXRlY3NzJ10gPSAnU3R5bGVzaGVldCc7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfcHJvbXB0X3RlbXBsYXRlanMnXSA9ICdKYXZhU2NyaXB0JzsKJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV9zZXR0aW5nc3Blcm1hJ10gPSAnRGF1ZXJoYWZ0IGFrdGl2aWVyZW4gdW5kIERhdGVuJnV1bWw7YmVyJnNoeTt0cmFndW5nIHp1c3RpbW1lbjonOwokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3R4dGZiaW5mbyddID0gJzIgS2xpY2tzIGYmdXVtbDtyIG1laHIgRGF0ZW5zY2h1dHo6IEVyc3Qgd2VubiBTaWUgaGllciBrbGlja2VuLCB3aXJkIGRlciBCdXR0b24gYWt0aXYgdW5kIFNpZSBrJm91bWw7bm5lbiBJaHJlIEVtcGZlaGx1bmcgYW4gRmFjZWJvb2sgc2VuZGVuLiBTY2hvbiBiZWltIEFrdGl2aWVyZW4gd2VyZGVuIERhdGVuIGFuIERyaXR0ZSAmdXVtbDtiZXJ0cmFnZW4gJm5kYXNoOyBzaWVoZSBJLic7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0ZmJvZmYnXSA9ICduaWNodCBtaXQgRmFjZWJvb2sgdmVyYnVuZGVuJzsKJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHRmYm9uJ10gPSAnbWl0IEZhY2Vib29rIHZlcmJ1bmRlbic7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0dHdpdHRlcmluZm8nXSA9ICcyIEtsaWNrcyBmJnV1bWw7ciBtZWhyIERhdGVuc2NodXR6OiBFcnN0IHdlbm4gU2llIGhpZXIga2xpY2tlbiwgd2lyZCBkZXIgQnV0dG9uIGFrdGl2IHVuZCBTaWUgayZvdW1sO25uZW4gSWhyZSBFbXBmZWhsdW5nIGFuIFR3aXR0ZXIgc2VuZGVuLiBTY2hvbiBiZWltIEFrdGl2aWVyZW4gd2VyZGVuIERhdGVuIGFuIERyaXR0ZSAmdXVtbDtiZXJ0cmFnZW4gJm5kYXNoOyBzaWVoZSBJLic7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0dHdpdHRlcm9mZiddID0gJ25pY2h0IG1pdCBUd2l0dGVyIHZlcmJ1bmRlbic7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0dHdpdHRlcm9uJ10gPSAnbWl0IFR3aXR0ZXIgdmVyYnVuZGVuJzsKJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV90eHRncGx1c2luZm8nXSA9ICcyIEtsaWNrcyBmJnV1bWw7ciBtZWhyIERhdGVuc2NodXR6OiBFcnN0IHdlbm4gU2llIGhpZXIga2xpY2tlbiwgd2lyZCBkZXIgQnV0dG9uIGFrdGl2IHVuZCBTaWUgayZvdW1sO25uZW4gSWhyZSBFbXBmZWhsdW5nIGFuIEdvb2dsZSsgc2VuZGVuLiBTY2hvbiBiZWltIEFrdGl2aWVyZW4gd2VyZGVuIERhdGVuIGFuIERyaXR0ZSAmdXVtbDtiZXJ0cmFnZW4gJm5kYXNoOyBzaWVoZSBJLic7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdHh0Z3BsdXNvZmYnXSA9ICduaWNodCBtaXQgR29vZ2xlKyB2ZXJidW5kZW4nOwokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3R4dGdwbHVzb24nXSA9ICdtaXQgR29vZ2xlKyB2ZXJidW5kZW4nOwokbGFuZ1snc29jaWFsc2hhcmVwcml2YWN5X3R4dGhlbHAnXSA9ICdXZW5uIFNpZSBkaWVzZSBGZWxkZXIgZHVyY2ggZWluZW4gS2xpY2sgYWt0aXZpZXJlbiwgd2VyZGVuIEluZm9ybWF0aW9uZW4gYW4gRmFjZWJvb2ssIFR3aXR0ZXIgb2RlciBHb29nbGUgaW4gZGllIFVTQSAmdXVtbDtiZXJ0cmFnZW4gdW5kIHVudGVyIFVtc3QmYXVtbDtuZGVuIGF1Y2ggZG9ydCBnZXNwZWljaGVydC4gTiZhdW1sO2hlcmVzIGVyZmFocmVuIFNpZSBkdXJjaCBlaW5lbiBLbGljayBhdWYgZGFzIEkuJzsKJGxhbmdbJ3NvY2lhbHNoYXJlcHJpdmFjeV90aXRsZSddID0gJ1NvY2lhbFNoYXJlUHJpdmFjeSAtIFNvY2lhbC1NZWRpYSBCdXR0b25zIG1pdCBkZXIgMi1LbGljayBSZWdlbCc7CiRsYW5nWydzb2NpYWxzaGFyZXByaXZhY3lfdXNlJ10gPSAnU29jaWFsU2hhcmVQcml2YWN5IHZlcndlbmRlbic7CiRsYW5nWydzdGFuZGFyZCddID0gJ1N0YW5kYXJkJzsKJGxhbmdbJ3N0YXRzJ10gPSAnU3RhdGlzdGlrZW4nOwokbGFuZ1snc3RhdHNfNDA0J10gPSAnNDA0IEZlaGxlci1UcmFja2luZyBiZW51dHplbic7CiRsYW5nWydzdGF0c19kYWlseSddID0gJ1TDpGdsaWNoZSBTdGF0aXN0aWsgdmVyd2VuZGVuJzsKJGxhbmdbJ3N0YXRzX2VtYWlsJ10gPSAnRS1NYWlsIGbDvHIgbW9uYXRsaWNoZSBTdGF0aXN0aWsnOwokbGFuZ1snc3RhdHNfZW1haWxfaGVscCddID0gJ0xlZXIgbGFzc2VuLCB3ZW5uIGtlaW5lIEUtTWFpbHMgdmVyc2FuZHQgd2VyZGVuIHNvbGxlbic7CiRsYW5nWydzdGF0c19lbWFpbF9zdWJqZWN0J10gPSAnVG9vbEJveCBTdGF0aXN0aWsgJXUgdm9uICVtJzsKJGxhbmdbJ3N0YXRzX3VzZSddID0gJ1N0YXRpc3RpayB2ZXJ3ZW5kZW4nOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NwZWljaGVybic7CgojIFQKJGxhbmdbJ3RiaW1hZ2UnXSA9ICd0YmltYWdlJzsKJGxhbmdbJ3RiaW1hZ2VfZGVzY3JpcHRpb24nXSA9ICdNaXQgdGJpbWFnZSBsYXNzZW4gc2ljaCBCaWxkZXIgZWluZmFjaCB2ZXJrbGVpbmVybiwgYXVmIEdyw7Zzc2Ugc2NobmVpZGVuIHVuZCBhdXNnZWJlbi4nOwokbGFuZ1sndGJpbWFnZW5vZmlsZSddID0gJ0tlaW5lIFdhc3NlcnplaWNoZW4tR3JhZmlrIGRlZmluaWVydCc7CiRsYW5nWyd0YmltYWdlX2x0J10gPSAnb2JlbiBsaW5rcyc7CiRsYW5nWyd0YmltYWdlX210J10gPSAnb2JlbiBtaXR0ZSc7CiRsYW5nWyd0YmltYWdlX3J0J10gPSAnb2JlbiByZWNodHMnOwokbGFuZ1sndGJpbWFnZV9sbSddID0gJ21pdHRlIGxpbmtzJzsKJGxhbmdbJ3RiaW1hZ2VfbW0nXSA9ICdtaXR0ZSBtaXR0ZSc7CiRsYW5nWyd0YmltYWdlX3JtJ10gPSAnbWl0dGUgcmVjaHRzJzsKJGxhbmdbJ3RiaW1hZ2VfbGInXSA9ICd1bnRlbiBsaW5rcyc7CiRsYW5nWyd0YmltYWdlX21iJ10gPSAndW50ZW4gbWl0dGUnOwokbGFuZ1sndGJpbWFnZV9yYiddID0gJ3VudGVuIHJlY2h0cyc7CiRsYW5nWyd0YWlsJ10gPSAndGFpbCBMb2cnOwokbGFuZ1sndGFpbF9kZXNjcmlwdGlvbiddID0gJ0hpZXIgZGllIEJlc2NocmVpYnVuZyByZWluLic7CiRsYW5nWyd0YWlsX3Byb21wdF9maWxlbmFtZSddID0gJ0F1c3dhaGwgd2VsY2hlcyBMb2dmaWxlIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbCc7CiRsYW5nWyd0YWlsX3Byb21wdF9saW5lcyddID0gJ0FuemFobCBkZXIgWmVpbGVuIHdlbGNoZSBiZWltIGVyc3RlbiBMZXNldm9yZ2FuZyBhdXMgZGVtIExvZ2ZpbGUgYW5nZXplaWd0IHdlcmRlbiBzb2xsZW4nOwokbGFuZ1sndGFpbF9wcm9tcHRfbG9nJ10gPSAnTG9nZmlsZSBBdXNnYWJlJzsKJGxhbmdbJ3RhaWxfc3RhcnQnXSA9ICdMb2dnaW5nIHN0YXJ0ZW4nOwokbGFuZ1sndGFpbF9zdG9wJ10gPSAnTG9nZ2luZyBzdG9wcGVuJzsKJGxhbmdbJ3RhaWxfdGl0bGUnXSA9ICdMb2dmaWxlIEF1c2dhYmUgbWl0dGVscyBqUXVlcnkgVGFpbCc7CiRsYW5nWyd0YWlsX3VzZSddID0gJ0xvZ2ZpbGUgQXVzd2VydHVuZyBtaXR0ZWxzIGpxdWVyeS90YWlsIGFrdGl2aWVyZW4uIERhYmVpIHdpcmQgbWl0IGVpbmVyIGRlciBVbml4ZnVua3Rpb24gInRhaWwiIMOkaG5saWNoZW4gRnVua3Rpb24gaW4gTG9nZmlsZSBpbiBSZWFsVGltZSBhbmdlemVpZ3QuJzsKJGxhbmdbJ3RhcmdldHBhZ2UnXSA9ICdaaWVsLVNlaXRlJzsKJGxhbmdbJ3RhcmdldHVybCddID0gJ1ppZWwtVVJMJzsKJGxhbmdbJ3RlbXBsYXRlaW1wb3J0J10gPSAnRGFzIFRlbXBsYXRlIHd1cmRlIGVyZm9sZ3JlaWNoIGltcG9ydGllcnQuJzsKJGxhbmdbJ3RlbXBsYXRldXBkYXRlZCddID0gJ0RhcyBUZW1wbGF0ZSB3dXJkZSBha3R1YWxpc2llcnQuJzsKJGxhbmdbJ3RlbXBsYXRlYWRkZWQnXSA9ICdEYXMgVGVtcGxhdGUgd3VyZGUgaGluenVnZWYmdXVtbDtndC4nOwokbGFuZ1sndGVtcGxhdGVkZWxldGVkJ10gPSAnVGVtcGxhdGUgZ2VsJm91bWw7c2NodCc7CiRsYW5nWyd0aXRsZV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlLUVkaXRvcic7CiRsYW5nWyd0aXRsZV9pbXBvcnR4bWwnXSA9ICdUZW1wbGF0ZSB2aWEgWE1MLURhdGVpIGltcG9ydGllcmVuJzsKJGxhbmdbJ3RpbWUnXSA9ICdaZWl0JzsKJGxhbmdbJ3RvdXJsJ10gPSAnRmVobGVuZGUgU2VpdGUnOwokbGFuZ1sndHdpdHRlcmZlZWQnXSA9ICdUd2l0dGVyZmVlZCc7CiRsYW5nWyd0d2l0dGVyZmVlZF91c2UnXSA9ICdUd2l0dGVyZmVlZCBha3RpdmllcmVuJzsKJGxhbmdbJ3R3aXR0ZXJmZWVkX2Rlc2NyaXB0aW9uJ10gPSA8PDxFT1QKCTxwPk1pdCBUd2l0dGVyZmVlZCBrw7ZubmVuIGthbm4gZGVyIEZlZWQgZWluZXMgVHdpdHRlci1BY2NvdW50cyBpbiBkaWUgV2Vic2VpdGUgZWluZ2VidW5kZW4gd2VyZGVuLiBEaWUgRGFyc3RlbGx1bmcgZGVzIEZlZWRzIGthbm4gaW4gZWluZW0gVGVtcGxhdGUgZGVmaW5pZXJ0IHdlcmRlbi48L3A+PGNvZGU+CgkJJiMxMjM7VG9vbEJveCBtb2Q9J3R3aXR0ZXJmZWVkJyB1c2VybmFtZT0nbHVrYXNibGF0dGVyJyBjb3VudD01IHRlbXBsYXRlPSd0d2l0dGVyZmVlZCcgZGF0ZWZvcm1hdD0nZnJpZW5kbHknIGNhY2hldGltZT0xMCAmIzEyNTs8YnIgLz4KCQkmIzEyMztUb29sQm94IG1vZD0ndHdpdHRlcmZlZWQnIHVzZXJuYW1lPSdsdWthc2JsYXR0ZXInIGNvdW50PTUgdGVtcGxhdGU9J3R3aXR0ZXJmZWVkJyBkYXRlZm9ybWF0PSdkLm0uWSBIOmknICYjMTI1OzxiciAvPgoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgdXNlcm5hbWU9J2x1a2FzYmxhdHRlcicgbGlzdD0nd2ViZGVzaWduJyBjb3VudD01ICYjMTI1OzxiciAvPgoJCSYjMTIzO1Rvb2xCb3ggbW9kPSd0d2l0dGVyZmVlZCcgc2VhcmNoPScjY21zbXMnIGNvdW50PTEwICYjMTI1OwoJICA8L2NvZGU+CiAgPC9jb2RlPiAKRU9UOwoKCiMgVQokbGFuZ1sndXJsJ10gPSAnVVJMJzsKJGxhbmdbJ3VybHMnXSA9ICdVUkxzJzsKJGxhbmdbJ3VwZGF0ZWQnXSA9ICdha3R1YWxpc2llcnQnOwoKIyBWCiRsYW5nWyd2aXNpdHMnXSA9ICdCZXN1Y2hlcic7CiRsYW5nWyd2aWV3J10gPSAnQW5zY2hhdWVuJzsKCiMgVwokbGFuZ1snd2F0ZXJtYXJrdGV4dCddID0gJ1dhc3NlcnplaWNoZW4gbWl0IFRleHQnOwokbGFuZ1snd2F0ZXJtYXJraW1hZ2UnXSA9ICdXYXNzZXJ6ZWljaGVuIG1pdCBCaWxkJzsKJGxhbmdbJ3dtdF90ZXh0J10gPSAnV2Fzc2VyemVpY2hlbiBUZXh0LCB6LkIuICZjb3B5OyBDb3B5cmlnaHQgYnkgVG9vbGJveCc7CiRsYW5nWyd3bXRfZm9udCddID0gJ1NjaHJpZnRhcnQgdW5kIEdyw7Zzc2UnOwokbGFuZ1snd210X3NpemUnXSA9ICdTY2hyaWZ0Z3LDtnNzZSc7CiRsYW5nWyd3bXRfY29sb3InXSA9ICdGYXJiZSBkZXIgU2NocmlmdCc7CiRsYW5nWyd3bXRfb3BhY2l0eSddID0gJ09wYWNpdHknOwokbGFuZ1snd210X3Bvc2l0aW9uJ10gPSAnUG9zaXRpb24nOwokbGFuZ1snd210X3Bvc3gnXSA9ICdQb3NpdGlvbiBpbiBYJzsKJGxhbmdbJ3dtdF9wb3N5J10gPSAnUG9zaXRpb24gaW4gWSc7CiRsYW5nWyd3bWlfaW1hZ2UnXSA9ICdXYXNzZXJ6ZWljaGVuIEJpbGQnOwokbGFuZ1snd21pX3JlbHNpemUnXSA9ICdSZWxhdGl2ZSBHcsO2c3NlIGRlcyBXYXNzZXJ6ZWljaGVuIEJpbGRlcyB6dW0gYmVhcmJlaXRldGVuIEJpbGQgaW4gJSc7CgojIFgKCiMgWQokbGFuZ1sneWVhciddID0gJ0phaHInOwokbGFuZ1sneWVhciddID0gJ0phaHJlJzsKCiMgWgoKLy8gRU9G]]></data>
	</file>
	<file>
	  <filename>/lang/ext/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBkdW1teSBpbmRleC5odG1sIC0tPgo=]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBkdW1teSBpbmRleC5odG1sIC0tPgo=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.Autolightbox.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZpbmFsIGNsYXNzIEF1dG9saWdodGJveAp7CgkjIGNoYW5nZSB0aGlzIHRvICdhYnNvbHV0ZScgb3IgJ3JlbGF0aXZlJyBpZiBuZWVkZWQ6Cglwcml2YXRlIHN0YXRpYyAkX3RodW1iX3VybF90eXBlID0gJ3JlbGF0aXZlJzsKCXByaXZhdGUgc3RhdGljICRfaW1nX3VybF90eXBlICAgPSAnYWJzb2x1dGUnOwoJCglwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCXByaXZhdGUgZnVuY3Rpb24gX19jbG9uZSgpIHt9CgkKCQoJLyoqCgkgKiByZXBsYWNlIGltYWdlcyB3aWR0aCB0aHVtYnMKCSAqIEBwYXJhbSBzdHJpbmcgJHR4dCAtIHRleHQgd2l0aCBpbWFnZSB0YWcocykKCSAqIEByZXR1cm4gc3RyaW5nCgkgKi8KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gSW1nMlRodW1iKCR0eHQsICRhdHRyaWJ1dGVzID0gYXJyYXkoKSwgJHNldHRpbmdzID0gYXJyYXkoKSkKCXsKCQkkYXR0cmlidXRlc1snY2xhc3MnXSA9IGlzc2V0KCRhdHRyaWJ1dGVzWydjbGFzcyddKSA/IHRyaW0oJ2F1dG9saWdodGJveCAnIC4gJGF0dHJpYnV0ZXNbJ2NsYXNzJ10pIDogJ2F1dG9saWdodGJveCc7CgkJCgkJaWYgKGlzc2V0KCRzZXR0aW5nc1sndXJsdHlwZSddKSkgewoJCQlzZWxmOjokX3RodW1iX3VybF90eXBlID0gJHNldHRpbmdzWyd1cmx0eXBlJ107CgkJCXNlbGY6OiRfaW1nX3VybF90eXBlID0gJHNldHRpbmdzWyd1cmx0eXBlJ107CgkJfQoJCQoJCQoJCSRhdHRyaWJzID0gJyc7CgkJZm9yZWFjaCgkYXR0cmlidXRlcyBhcyAkayA9PiAkdikKCQl7CgkJCSRhdHRyaWJzIC49ICRrIC4gJz0iJyAuICR2IC4gJyIgJzsKCQl9CgkJCgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoJCQoJCSRkZWJ1ZyA9ICRjb25maWdbJ2RlYnVnJ107CgkJJGRlYnVnID0gZmFsc2U7CgkJCgkJaWYoJGRlYnVnKQoJCXsKCQkJZWNobyAnPHByZT48aDE+Y29udGVudCBiZWZvcmU6IDwvaDE+PGJyLz4nOwoJCQllY2hvIGh0bWxlbnRpdGllcygkdHh0KTsKCQkJZWNobyAnPC9wcmU+PGJyLz48YnIvPic7CgkJfQoJCQoJCSRhbF90aHVtYl9wYXRoID0gJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10gLiAnL0F1dG9MaWdodEJveCc7CgkJJGFsX3RodW1iX3VybCAgPSAkY29uZmlnWyd1cGxvYWRzX3VybCddICAuICcvQXV0b0xpZ2h0Qm94JzsKCQkkYWxfcHJlZml4ICAgICA9IGJhc2VuYW1lKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddKSAuICcvQXV0b0xpZ2h0Qm94JzsKCQkKCQlpZigkZGVidWcpCgkJewoJCQllY2hvICc8cHJlPjxoMT5hdXRvIGxpZ2h0Ym94IHByZWZpeDogPC9oMT48YnIvPic7CgkJCWVjaG8gJGFsX3ByZWZpeDsKCQkJZWNobyAnPC9wcmU+PGJyLz48YnIvPic7CgkJfQoJCQoJCWlmKCFpc19kaXIoJGFsX3RodW1iX3BhdGgpKQoJCQlAbWtkaXIoJGFsX3RodW1iX3BhdGgsIDA3NzcpOwoJCQoJCSRpbWdzICA9IHNlbGY6Ol9maW5kX2ltZ3MoJHR4dCk7CgkJZm9yZWFjaCgkaW1ncyBhcyAkaW1nKQoJCXsKCQkJaWYoc3RhcnRzd2l0aCgkaW1nWydzcmMnXSwgJGNvbmZpZ1snaW1hZ2VfdXBsb2Fkc191cmwnXSkpCgkJCXsKCQkJCSRyZWxhdGl2ZV9wcmVmaXggPSBzdHJfcmVwbGFjZSgnXFwnLCAnLycgLCB0cmltKHN0cl9yZXBsYWNlKCRjb25maWdbJ3Jvb3RfcGF0aCddLCAnJywgJGNvbmZpZ1snaW1hZ2VfdXBsb2Fkc19wYXRoJ10pLCAnLycgLiBESVJFQ1RPUllfU0VQQVJBVE9SKSkgLiAnLyc7CgkJCQkkc3JjX3ByZWZpeCAgICAgID0gJGNvbmZpZ1snaW1hZ2VfdXBsb2Fkc191cmwnXTsKCQkJfQoJCQllbHNlIGlmKHN0YXJ0c3dpdGgoJGltZ1snc3JjJ10sICRjb25maWdbJ3VwbG9hZHNfdXJsJ10pKQoJCQl7CgkJCQkkcmVsYXRpdmVfcHJlZml4ID0gc3RyX3JlcGxhY2UoJ1xcJywgJy8nICwgdHJpbShzdHJfcmVwbGFjZSgkY29uZmlnWydyb290X3BhdGgnXSwgJycsICRjb25maWdbJ3VwbG9hZHNfcGF0aCddKSwgJy8nIC4gRElSRUNUT1JZX1NFUEFSQVRPUikpIC4gJy8nOwoJCQkJJHNyY19wcmVmaXggICAgICA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ107CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkcmVsYXRpdmVfcHJlZml4ID0gJyc7CgkJCQkkc3JjX3ByZWZpeCAgICAgID0gJGNvbmZpZ1sncm9vdF91cmwnXTsKCQkJfQoJCQkKCQkJJHNyYyA9ICRyZWxhdGl2ZV9wcmVmaXggLiB0cmltKHN0cl9yZXBsYWNlKCRzcmNfcHJlZml4IC4gJy8nLCAnJywgJGltZ1snc3JjJ10pLCAnLycpOwoJCQkKCQkJaWYoJGRlYnVnKQoJCQl7CgkJCQllY2hvICc8cHJlPjxoMT5pbWcgYXJyYXkgMXN0OiA8L2gxPjxici8+JzsKCQkJCXByaW50X3IoJGltZyk7CgkJCQllY2hvICc8L3ByZT48YnIvPjxici8+JzsKCQkJCWVjaG8gJzxwcmU+PGgxPnJlbGF0aXZlIHNyYzogPC9oMT48YnIvPic7CgkJCQllY2hvKCRzcmMpOwoJCQkJZWNobyAnPC9wcmU+PGJyLz48YnIvPic7CgkJCX0KCQkJCgkJCSMgVG9EbzogdXNlIF9iYXNlNjR1cmxfZW5jb2RlKCkgdG8ga2VlcCB0aGUgb3JpZ2luYWwgbG9jYXRpb24gaW5zdGVhZCBvZiByZWJ1aWxkIHRoZSB3aG9sZSBsb2NhdGlvbiBpbiB0aGUgdGh1bWJzIGRpcgoJCQkjJGRpciAgICAgICAgICA9IHNlbGY6Ol9iYXNlNjR1cmxfZW5jb2RlKHRyaW0oZGlybmFtZSgkc3JjKSwgJy8nIC4gRElSRUNUT1JZX1NFUEFSQVRPUikpOwoJCQkkZGlyICAgICAgICAgID0gdHJpbShkaXJuYW1lKCRzcmMpLCAnLycgLiBESVJFQ1RPUllfU0VQQVJBVE9SKTsKCQkJJGZpbGVfbmFtZSAgICA9IGJhc2VuYW1lKCRzcmMpOwoJCQkkdGh1bWJfcHJlZml4ID0gbWQ1KCRpbWdbJ3dpZHRoJ10gLiAkaW1nWydoZWlnaHQnXSkgLiAnXyc7CgkJCQoJCQlpZihzdGFydHN3aXRoKCRzcmMsICRhbF9wcmVmaXgpKQoJCQl7CgkJCQkjYWxyZWFkeSBhIHRodW1iPyAtPiBnZXQgdGhlIG9yaWdpbmFsIGZpbGVuYW1lCgkJCQkkZmlsZV9uYW1lICA9IHN1YnN0cigkZmlsZV9uYW1lLCBzdHJsZW4oJHRodW1iX3ByZWZpeCkpOwoJCQkJJHNyYyAgICAgICAgPSBzdWJzdHIoJGRpciwgc3RybGVuKCRhbF9wcmVmaXggLiAnLycpKSAuICcvJyAuICRmaWxlX25hbWU7CgkJCQkkZGlyICAgICAgICA9IHRyaW0oZGlybmFtZSgkc3JjKSwgJy8nIC4gRElSRUNUT1JZX1NFUEFSQVRPUik7CgkJCQkkaW1nWydzcmMnXSA9ICRzcmM7CgkJCX0KCQkJCgkJCWlmKCRkZWJ1ZykKCQkJewoJCQkJZWNobyAnPHByZT48aDE+aW1nIGFycmF5IDJuZDogPC9oMT48YnIvPic7CgkJCQlwcmludF9yKCRpbWcpOwoJCQkJZWNobyAnPC9wcmU+PGJyLz48YnIvPic7CgkJCX0KCQkJCgkJCSR0aHVtYl9uYW1lID0gJHRodW1iX3ByZWZpeCAuICRmaWxlX25hbWU7CgkJCSR0aHVtYl9wYXRoID0gJGFsX3RodW1iX3BhdGggLiAnLycgLiAkZGlyIC4gJy8nIC4gJHRodW1iX25hbWU7CgkJCSR0aHVtYl91cmwgID0gKHNlbGY6OiRfdGh1bWJfdXJsX3R5cGUgPT0gJ2Fic29sdXRlJyA/ICRhbF90aHVtYl91cmwgOiAkYWxfcHJlZml4KSAuICcvJyAuICRkaXIgLiAnLycgLiAkdGh1bWJfbmFtZTsKCQkJCgkJCWlmKCRkZWJ1ZykKCQkJewoJCQkJZWNobyAnPHByZT48aDE+dGh1bWIgbmFtZTogPC9oMT48YnIvPic7CgkJCQllY2hvICR0aHVtYl9uYW1lOwoJCQkJZWNobyAnPC9wcmU+PGJyLz48YnIvPic7CgkJCQllY2hvICc8cHJlPjxoMT50aHVtYiBwYXRoOiA8L2gxPjxici8+JzsKCQkJCWVjaG8gJHRodW1iX3BhdGg7CgkJCQllY2hvICc8L3ByZT48YnIvPjxici8+JzsKCQkJCWVjaG8gJzxwcmU+PGgxPnRodW1iIHVybDogPC9oMT48YnIvPic7CgkJCQllY2hvICR0aHVtYl91cmw7CgkJCQllY2hvICc8L3ByZT48YnIvPjxici8+JzsKCQkJfQoJCQkKCQkJJHRpdGxlICA9ICRpbWdbJ3RpdGxlJ10gIT0gJycgPyAndGl0bGU9IicgLiAkaW1nWyd0aXRsZSddIC4gJyIgJyA6ICgkaW1nWydhbHQnXSAhPSAnJyA/ICd0aXRsZT0iJy4kaW1nWydhbHQnXSAuICciICcgOiAnJyk7CgkJCQoJCQkkcmVzdWx0ID0gc2VsZjo6X2NyZWF0ZV90aHVtYigKCQkJCSRjb25maWdbJ3Jvb3RfcGF0aCddIC4gJy8nIC4gJHNyYywKCQkJCSR0aHVtYl9wYXRoLAoJCQkJJGltZ1snd2lkdGgnXSwKCQkJCSRpbWdbJ2hlaWdodCddCgkJCSk7CgkJCQoJCQlpZigkcmVzdWx0KQoJCQl7CgkJCQkjIHJlcGxhY2Ugc3JjIG9mIGltZyB0YWcKCQkJCSRwYXR0ZXJuICAgICA9ICdAKDxpbWdbXj5dKnNyYz1bXCciXSlbXlwnXiJdKyhbXCciXVtePl0qPilAaSc7CgkJCQkkcmVwbGFjZW1lbnQgPSAnJDEnIC4gJHRodW1iX3VybCAuICckMic7CgkJCQkkaW1nX3RhZyAgICAgPSBwcmVnX3JlcGxhY2UoJHBhdHRlcm4sICRyZXBsYWNlbWVudCwgJGltZ1sndGFnJ10pOwoJCQkJCgkJCQkjIHJlcGxhY2UgaW1nIHRhZ3Mgb2YgbGlnaHRib3ggbGlua3MgKGlmIGFueSkKCQkJCSRwYXR0ZXJuMSAgICAgPSAnQDxhW14+XSpjbGFzcz0iYXV0b2xpZ2h0Ym94Ij9bXj5dKj5bXG5cc1x0XSonLiRpbWdbJ3RhZyddLidbXG5cc1x0XSo8L2E+QGknOwoJCQkJJHJlcGxhY2VtZW50MSA9ICc8YSB0YXJnZXQ9Il9ibGFuayIgJyAuICR0aXRsZSAuICRhdHRyaWJzIC4gJyBocmVmPSInIC4gJGltZ1snc3JjJ10gLiAnIj4nIC4gJGltZ190YWcgLiAnPC9hPic7CgkJCQkKCQkJCSMgb3RoZXIgbGlua3Mgd2l0aCBzY2FsZWQgaW1hZ2VzCgkJCQkkcGF0dGVybjIgICAgID0gJ0AoPGFbXj5dKj4uKiknLiRpbWdbJ3RhZyddLicoLio8L2E+KUBpJzsKCQkJCSRyZXBsYWNlbWVudDIgPSAnJDEnIC4gJGltZ190YWcgLiAnJDInOwoJCQkJCgkJCQlpZihwcmVnX21hdGNoKCRwYXR0ZXJuMSwgJHR4dCkpCgkJCQl7CgkJCQkJJHR4dCA9IHByZWdfcmVwbGFjZSgkcGF0dGVybjEsICRyZXBsYWNlbWVudDEsICR0eHQpOwoJCQkJCQoJCQkJCWlmKCRkZWJ1ZykKCQkJCQl7CgkJCQkJCWVjaG8gJzxwcmU+PGgxPmNvbnRlbnQgYWZ0ZXIgbGlnaHRib3ggbGluayByZXBsYWNlbWVudDogPC9oMT48YnIvPic7CgkJCQkJCWVjaG8gaHRtbGVudGl0aWVzKCR0eHQpOwoJCQkJCQllY2hvICc8L3ByZT48YnIvPjxici8+JzsKCQkJCQl9CgkJCQl9CgkJCQllbHNlIGlmKHByZWdfbWF0Y2goJHBhdHRlcm4yLCAkdHh0KSkKCQkJCXsKCQkJCQkkdHh0ID0gcHJlZ19yZXBsYWNlKCRwYXR0ZXJuMiwgJHJlcGxhY2VtZW50MiwgJHR4dCk7CgkJCQkJCgkJCQkJaWYoJGRlYnVnKQoJCQkJCXsKCQkJCQkJZWNobyAnPHByZT48aDE+Y29udGVudCBhZnRlciBvdGhlciBsaW5rIHJlcGxhY2VtZW50OiA8L2gxPjxici8+JzsKCQkJCQkJZWNobyBodG1sZW50aXRpZXMoJHR4dCk7CgkJCQkJCWVjaG8gJzwvcHJlPjxici8+PGJyLz4nOwoJCQkJCX0KCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQkjIHJlcGxhY2Ugc2luZ2xlIGltZyB0YWdzCgkJCQkJJHBhdHRlcm4xID0gJ0AnLiRpbWdbJ3RhZyddLidAaSc7CgkJCQkJJHR4dCAgICAgPSBwcmVnX3JlcGxhY2UoJHBhdHRlcm4xLCAkcmVwbGFjZW1lbnQxLCAkdHh0KTsKCQkJCQkKCQkJCQlpZigkZGVidWcpCgkJCQkJewoJCQkJCQllY2hvICc8cHJlPjxoMT5jb250ZW50IGFmdGVyIGltZyByZXBsYWNlbWVudDogPC9oMT48YnIvPic7CgkJCQkJCWVjaG8gaHRtbGVudGl0aWVzKCR0eHQpOwoJCQkJCQllY2hvICc8L3ByZT48YnIvPjxici8+JzsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJZWxzZSBpZigkcmVsYXRpdmVfcHJlZml4ID09ICcnICYmIHNlbGY6OiRfaW1nX3VybF90eXBlID09ICdhYnNvbHV0ZScgJiYgJGNvbmZpZ1sndXBsb2Fkc191cmwnXSAhPSAkY29uZmlnWydyb290X3VybCddKQoJCQl7CgkJCQkkdXJsID0gJGNvbmZpZ1sndXBsb2Fkc191cmwnXTsKCQkJCQoJCQkJaWYgKHN0cnBvcygkY29uZmlnWyd1cGxvYWRzX3VybCddLCRjb25maWdbJ3Jvb3RfdXJsJ10pICE9PSBGQUxTRQkpCgkJCQkJJHVybCA9ICRjb25maWdbJ3Jvb3RfdXJsJ107CgkJCQllbHNlIHsKCQkJCQl3aGlsZShkaXJuYW1lKCR1cmwpICE9ICdodHRwOicpCXsKCQkJCQkJJHVybCA9IGRpcm5hbWUoJHVybCk7CgkJCQkJfQoJCQkJfQoJCQkJCQoJCQkJIyByZXBsYWNlIHNyYyBvZiBpbWcgdGFnIHRvIGZvcmNlIHVzYWdlIG9mIHVwbG9hZHMgdXJsCgkJCQkkaW1nX3VybCAgICAgPSAkdXJsIC4gJy8nIC4gJGRpciAuICcvJyAuICRmaWxlX25hbWU7CgkJCQkkcGF0dGVybiAgICAgPSAnQCg8aW1nW14+XSpzcmM9W1wnIl0pW15cJ14iXSsoW1wnIl1bXj5dKj4pQGknOwoJCQkJJHJlcGxhY2VtZW50ID0gJyQxJyAuICRpbWdfdXJsIC4gJyQyJzsKCQkJCSRpbWdfdGFnICAgICA9IHByZWdfcmVwbGFjZSgkcGF0dGVybiwgJHJlcGxhY2VtZW50LCAkaW1nWyd0YWcnXSk7CgkJCQkkdHh0ICAgICAgICAgPSBwcmVnX3JlcGxhY2UoJ0AnIC4gJGltZ1sndGFnJ10gLiAnQGknLCAkaW1nX3RhZywgJHR4dCk7CgkJCX0KCQl9CgkJcmV0dXJuICR0eHQ7Cgl9CgkKCXByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9maW5kX2ltZ3MoJHR4dCkKCXsKCQlpZighcHJlZ19tYXRjaF9hbGwoIi88aW1nW14+XSo+L2kiLCAkdHh0LCAkaW1nX21hdGNoZXMsIFBSRUdfUEFUVEVSTl9PUkRFUikpCgkJCXJldHVybiBhcnJheSgpOwoJCQoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsJCgkJCgkJJGltZ3MgICA9IGFycmF5KCk7CgkJZm9yZWFjaCgkaW1nX21hdGNoZXNbMF0gYXMgJGltZ190YWcpCgkJewoJCQkkaW1nX3RhZyA9IHV0ZjhfZW5jb2RlKCRpbWdfdGFnKTsKCQkJCgkJCSRkb2MgPSBuZXcgRE9NRG9jdW1lbnQoKTsKCQkgICAgJGRvYy0+bG9hZEhUTUwoJGltZ190YWcpOwoJCSAgICAkaW1hZ2VUYWdzID0gJGRvYy0+Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ltZycpOwoJCSAgIAoJCSAgICAgIGZvcmVhY2goJGltYWdlVGFncyBhcyAkdGFnKSB7CgkJICAgICAgICAkaW1nX3NyYyA9ICR0YWctPmdldEF0dHJpYnV0ZSgnc3JjJyk7CgkJICAgICAgICAkaW1nX3dpZHRoID0gJHRhZy0+Z2V0QXR0cmlidXRlKCd3aWR0aCcpOwoJCSAgICAgICAgJGltZ19oZWlnaHQgPSAkdGFnLT5nZXRBdHRyaWJ1dGUoJ2hlaWdodCcpOwoJCSAgICAgICAgJGltZ190aXRsZSA9ICR0YWctPmdldEF0dHJpYnV0ZSgndGl0bGUnKTsKCQkgICAgICAgICRpbWdfYWx0ID0gJHRhZy0+Z2V0QXR0cmlidXRlKCdhbHQnKTsKCQkgICAgfQoJCQkKCQkJaWYoZW1wdHkoJGltZ19zcmMpKQljb250aW51ZTsKCQkJCQoJCQkKCQkJJHNyYyA9IHRyaW0oCgkJCQlzdHJfcmVwbGFjZSgKCQkJCQlhcnJheSgKCQkJCQkJJGNvbmZpZ1sncm9vdF91cmwnXSwKCQkJCQkJJGNvbmZpZ1sndXBsb2Fkc191cmwnXSwKCQkJCQkJJGNvbmZpZ1snaW1hZ2VfdXBsb2Fkc191cmwnXQoJCQkJCSksCgkJCQkJJycsCgkJCQkJJGltZ19zcmMKCQkJCSksCgkJCQknLycKCQkJKTsKCQkJCgkJCWlmKHN0YXJ0c3dpdGgoJHNyYywgJ2h0dHAnKQl8fCBzdGFydHN3aXRoKCRzcmMsICd3d3cuJykpIAljb250aW51ZTsgIyBza2lwIGV4dGVybmFsIGltYWdlcwoJCQlpZihlbXB0eSgkaW1nX3dpZHRoKSAmJiBlbXB0eSgkaW1nX2hlaWdodCkpCQkJCQljb250aW51ZTsgIyBza2lwIGltYWdlIHdpdGhvdXQgc2l6ZSBkYXRhCgkJCQoJCQkkaW1nc1tdID0gYXJyYXkoCgkJCQknc3JjJyAgICAgID0+ICRpbWdfc3JjLAoJCQkJJ3dpZHRoJyAgICA9PiAhZW1wdHkoJGltZ193aWR0aCkgID8gJGltZ193aWR0aCAgOiBmYWxzZSwKCQkJCSdoZWlnaHQnICAgPT4gIWVtcHR5KCRpbWdfaGVpZ2h0KSA/ICRpbWdfaGVpZ2h0IDogZmFsc2UsCgkJCQkndGl0bGUnICAgID0+ICFlbXB0eSgkaW1nX3RpdGxlKSAgPyAkaW1nX3RpdGxlICA6IGZhbHNlLAoJCQkJJ2FsdCcgICAgICA9PiAhZW1wdHkoJGltZ19hbHQpICAgID8gJGltZ19hbHQgICAgOiBmYWxzZSwKCQkJCSd0YWcnICAgICAgPT4gJGltZ190YWcKCQkJKTsKCQl9CgkJCgkJcmV0dXJuICRpbWdzOwoJfQoJCglwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBfY3JlYXRlX3RodW1iKCRzcmMsICRvdXQsICRuZXdfd2lkdGgsICRuZXdfaGVpZ2h0LCAka2VlcF9hc3BlY3RyYXRpbyA9IGZhbHNlLCAkYWxsb3dfdXBzY2FsaW5nID0gZmFsc2UsICRxdWFsaXR5ID0gNzUpCgl7CgkJJGNvbmZpZyAgICAgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCQkkdGh1bWJfcGF0aCA9IGRpcm5hbWUoJG91dCk7CgkJCgkJaWYoJG5ld193aWR0aCA8PSAwIHx8ICRuZXdfaGVpZ2h0IDw9IDApCgkJCSRrZWVwX2FzcGVjdHJhdGlvID0gdHJ1ZTsKCQkKCQkjIHRodW1iIGFscmVhZHkgZXhpc3RzPwoJCSMgLT4gY2hlY2sgaWYgaXQgbmVlZHMgdXBkYXRlCgkJaWYoaXNfZmlsZSgkb3V0KSkKCQl7CgkJCSRpbWdfZGF0YSA9IGdldGltYWdlc2l6ZSgkb3V0KTsKCQkJaWYoZmlsZWN0aW1lKCRzcmMpID4gZmlsZWN0aW1lKCRvdXQpCgkJCQl8fCAoJGltZ19kYXRhWzBdICE9ICRuZXdfd2lkdGggfHwgJGltZ19kYXRhWzFdICE9ICRuZXdfaGVpZ2h0KSkKCQkJewoJCQkJIyBvcmdpbmFsIGhhcyBjaGFuZ2VkIG9yIHdpZHRoL2hlaWdodCBhdHRyaWJ1dGVzIGhhdmUgY2hhbmdlZAoJCQkJIyAtPiBkZWxldGUgdGh1bWJuYWlsCgkJCQlAdW5saW5rKCRvdXQpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJcmV0dXJuIHRydWU7CgkJCX0KCQl9CgkJCgkJCgkJCgkJJGltZ19kYXRhID0gQGdldGltYWdlc2l6ZSgkc3JjKTsKCQlpZiAoISRpbWdfZGF0YSB8fCAoJGltZ19kYXRhWzBdIDw9ICRuZXdfd2lkdGggJiYgJGltZ19kYXRhWzFdIDw9ICRuZXdfaGVpZ2h0KSkKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJCgkJIyBuZWVkcyB0byByZXNpemU/CgkJaWYgKCEkaW1nX2RhdGEgfHwgKCRpbWdfZGF0YVswXSA9PSAkbmV3X3dpZHRoICYmICRpbWdfZGF0YVsxXSA9PSAkbmV3X2hlaWdodCkpCgkJewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCWlmKCFpc19kaXIoJHRodW1iX3BhdGgpKQoJCXsKCQkJQG1rZGlyKCR0aHVtYl9wYXRoLCAwNzc3LCB0cnVlKTsKCQl9CgkJCgkJJG9yaWdfaW1hZ2UgPSAnJzsKCQlzd2l0Y2goJGltZ19kYXRhWydtaW1lJ10pCgkJewoJCQljYXNlICdpbWFnZS9qcGVnJzoKCQkJCSRvcmlnX2ltYWdlID0gQGltYWdlY3JlYXRlZnJvbWpwZWcoJHNyYyk7CgkJCQlicmVhazsKCQkJY2FzZSAnaW1hZ2UvZ2lmJyA6CgkJCQkkb3JpZ19pbWFnZSA9IEBpbWFnZWNyZWF0ZWZyb21naWYoJHNyYyk7CgkJCQlicmVhazsKCQkJY2FzZSAnaW1hZ2UvcG5nJyA6CgkJCQkkb3JpZ19pbWFnZSA9IEBpbWFnZWNyZWF0ZWZyb21wbmcoJHNyYyk7CgkJCQlicmVhazsKCQkJZGVmYXVsdDoKCQkJCXJldHVybiBmYWxzZTsKCQl9CgkJCgkJJG9yaWdfd2lkdGggID0gQGltYWdlc3goJG9yaWdfaW1hZ2UpOwoJCSRvcmlnX2hlaWdodCA9IEBpbWFnZXN5KCRvcmlnX2ltYWdlKTsKCQkkYXNwZWN0cmF0aW8gPSAkb3JpZ193aWR0aCAvICRvcmlnX2hlaWdodDsKCQkKCQkkbmV3X3dpZHRoICA9IGZsb29yKCRuZXdfd2lkdGgpOwoJCSRuZXdfaGVpZ2h0ID0gZmxvb3IoJG5ld19oZWlnaHQpOwoJCQoJCWlmKCRuZXdfd2lkdGggPD0gMCAmJiAkbmV3X2hlaWdodCA+IDApIAoJCXsgLy8gZm9yY2UgaGVpZ2h0CgkJCSRuZXdfd2lkdGggPSAkb3JpZ193aWR0aDsKCQkJaWYoJG5ld19oZWlnaHQgPiAkb3JpZ19oZWlnaHQgJiYgISRhbGxvd191cHNjYWxpbmcpCgkJCXsKCQkJCSRuZXdfaGVpZ2h0ID0gJG9yaWdfaGVpZ2h0OwoJCQl9CgkJCWlmKCRrZWVwX2FzcGVjdHJhdGlvKQoJCQl7CgkJCQkkbmV3X3dpZHRoID0gZmxvb3IoJG5ld19oZWlnaHQgKiAkYXNwZWN0cmF0aW8pOwoJCQl9CgkJfQoJCWVsc2UgaWYoJG5ld19oZWlnaHQgPD0gMCAmJiAkbmV3X3dpZHRoID4gMCkgCgkJeyAvLyBmb3JjZSB3aWR0aAoJCQkkbmV3X2hlaWdodCA9ICRvcmlnX2hlaWdodDsKCQkJaWYoJG5ld193aWR0aCA+ICRvcmlnX3dpZHRoICYmICEkYWxsb3dfdXBzY2FsaW5nKQoJCQl7CgkJCQkkbmV3X3dpZHRoID0gJG9yaWdfd2lkdGg7CgkJCX0KCQkJaWYoJGtlZXBfYXNwZWN0cmF0aW8pCgkJCXsKCQkJCSRuZXdfaGVpZ2h0ID0gZmxvb3IoJG5ld193aWR0aCAvICRhc3BlY3RyYXRpbyk7CgkJCX0KCQl9CgkJZWxzZSBpZigkbmV3X2hlaWdodCA+IDAgJiYgJG5ld193aWR0aCA+IDApIAoJCXsgLy8gYm90aAoJCQlpZigkbmV3X3dpZHRoID4gJG9yaWdfd2lkdGggJiYgISRhbGxvd191cHNjYWxpbmcpCgkJCXsKCQkJCSRuZXdfd2lkdGggPSAkb3JpZ193aWR0aDsKCQkJfQoJCQlpZigkbmV3X2hlaWdodCA+ICRvcmlnX2hlaWdodCAmJiAhJGFsbG93X3Vwc2NhbGluZykKCQkJewoJCQkJJG5ld19oZWlnaHQgPSAkb3JpZ19oZWlnaHQ7CgkJCX0KCQkJJG5ld19hc3BlY3RyYXRpbyA9ICRuZXdfd2lkdGggLyAkbmV3X2hlaWdodDsKCQkJaWYoJGtlZXBfYXNwZWN0cmF0aW8pCgkJCXsKCQkJCWlmKCRhc3BlY3RyYXRpbyA+IDEgJiYgJG5ld19hc3BlY3RyYXRpbyA8IDEpCgkJCQl7IC8vIGxhbmRzY2FwZSB0byBwb3J0cmFpdAoJCQkJCSRfdG1wID0gZmxvb3IoJG5ld193aWR0aCAvICRhc3BlY3RyYXRpbyk7CgkJCQkJaWYoJF90bXAgPiAwICYmICRfdG1wIDw9ICRuZXdfaGVpZ2h0KQoJCQkJCXsKCQkJCQkJJG5ld19oZWlnaHQgPSAkX3RtcDsKCQkJCQl9CgkJCQl9CgkJCQllbHNlIGlmKCRhc3BlY3RyYXRpbyA8IDEgJiYgJG5ld19hc3BlY3RyYXRpbyA+IDEpCgkJCQl7IC8vIHBvcnRyYWl0IHRvIGxhbmRzY2FwZQoJCQkJCSRfdG1wID0gZmxvb3IoJG5ld19oZWlnaHQgKiAkYXNwZWN0cmF0aW8pOwoJCQkJCWlmKCRfdG1wID4gMCAmJiAkX3RtcCA8PSAkbmV3X3dpZHRoKQoJCQkJCXsKCQkJCQkJJG5ld193aWR0aCA9ICRfdG1wOwoJCQkJCX0KCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQlpZigkbmV3X2FzcGVjdHJhdGlvIDwgJGFzcGVjdHJhdGlvKQoJCQkJCXsKCQkJCQkJJF90bXAgPSBmbG9vcigkbmV3X3dpZHRoIC8gJGFzcGVjdHJhdGlvKTsKCQkJCQkJaWYoJF90bXAgPiAwICYmICRfdG1wIDw9ICRuZXdfaGVpZ2h0KQoJCQkJCQl7CgkJCQkJCQkkbmV3X2hlaWdodCA9ICRfdG1wOwoJCQkJCQl9CgkJCQkJfQoJCQkJCWVsc2UgaWYoJG5ld19hc3BlY3RyYXRpbyA+ICRhc3BlY3RyYXRpbykKCQkJCQl7CgkJCQkJCSRfdG1wID0gZmxvb3IoJG5ld19oZWlnaHQgKiAkYXNwZWN0cmF0aW8pOwoJCQkJCQlpZigkX3RtcCA+IDAgJiYgJF90bXAgPD0gJG5ld193aWR0aCkKCQkJCQkJewoJCQkJCQkJJG5ld193aWR0aCA9ICRfdG1wOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJCWVsc2UKCQl7CgkJCSRuZXdfaGVpZ2h0ID0gJG9yaWdfaGVpZ2h0OwoJCQkkbmV3X3dpZHRoICA9ICRvcmlnX3dpZHRoOwoJCX0KCQkKCQlpZigkbmV3X3dpZHRoIDwgMSkKCQl7CgkJCSRuZXdfd2lkdGggPSAxOwoJCX0KCQlpZigkbmV3X2hlaWdodCA8IDEpCgkJewoJCQkkbmV3X2hlaWdodCA9IDE7CgkJfQoJCQoJCSRuZXdfaW1hZ2UgPSBAaW1hZ2VjcmVhdGV0cnVlY29sb3IoZmxvb3IoJG5ld193aWR0aCksIGZsb29yKCRuZXdfaGVpZ2h0KSk7CgkJCgkJLy8gaGFuZGxlIHRyYW5zcGFyZW5jeSAoYWRhcHRlZCBmcm9tIHN1cGVyc2l6ZXIgcGx1Z2luKQoJCWlmKCRpbWdfZGF0YVsnbWltZSddID09ICdpbWFnZS9naWYnKQoJCXsKCQkJaW1hZ2V0cnVlY29sb3J0b3BhbGV0dGUoJG5ld19pbWFnZSwgdHJ1ZSwgMjU2KTsKCQkJaW1hZ2VhbHBoYWJsZW5kaW5nKCRuZXdfaW1hZ2UsIGZhbHNlKTsKCQkJaW1hZ2VzYXZlYWxwaGEoJG5ld19pbWFnZSx0cnVlKTsKCQkJJHRyYW5zcGFyZW50ID0gaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJG5ld19pbWFnZSwgMjU1LCAyNTUsIDI1NSwgMTI3KTsKCQkJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJG5ld19pbWFnZSwgMCwgMCwgJG5ld193aWR0aCwgJG5ld19oZWlnaHQsICR0cmFuc3BhcmVudCk7CgkJCWltYWdlY29sb3J0cmFuc3BhcmVudCgkbmV3X2ltYWdlLCAkdHJhbnNwYXJlbnQpOwoJCX0KCQllbHNlIGlmICgkaW1nX2RhdGFbJ21pbWUnXSA9PSAnaW1hZ2UvcG5nJykKCQl7CgkJCWltYWdlY29sb3J0cmFuc3BhcmVudCgkbmV3X2ltYWdlLCBpbWFnZWNvbG9yYWxsb2NhdGUoJG5ld19pbWFnZSwgMCwgMCwgMCkpOyAgIAoJCQlpbWFnZWFscGhhYmxlbmRpbmcoJG5ld19pbWFnZSwgZmFsc2UpOwoJCQkkY29sb3IgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkbmV3X2ltYWdlLCAwLCAwLCAwLCAxMjcpOwoJCQlpbWFnZWZpbGwoJG5ld19pbWFnZSwgMCwgMCwgJGNvbG9yKTsKCQkJaW1hZ2VzYXZlYWxwaGEoJG5ld19pbWFnZSwgdHJ1ZSk7CgkJfQoJCUBpbWFnZWNvcHlyZXNhbXBsZWQoJG5ld19pbWFnZSwgJG9yaWdfaW1hZ2UsIDAsIDAsIDAsIDAsICRuZXdfd2lkdGgsICRuZXdfaGVpZ2h0LCAkb3JpZ193aWR0aCwgJG9yaWdfaGVpZ2h0KTsKCQlzd2l0Y2goJGltZ19kYXRhWydtaW1lJ10pCgkJewoJCQljYXNlICdpbWFnZS9qcGVnJzogcmV0dXJuIEBpbWFnZWpwZWcoJG5ld19pbWFnZSwgJG91dCwgJHF1YWxpdHkpOwoJCQljYXNlICdpbWFnZS9naWYnIDogcmV0dXJuIEBpbWFnZWdpZigkbmV3X2ltYWdlLCAkb3V0KTsKCQkJY2FzZSAnaW1hZ2UvcG5nJyA6IHJldHVybiBAaW1hZ2VwbmcoJG5ld19pbWFnZSwgJG91dCk7CgkJCWRlZmF1bHQgICAgICAgICAgOiByZXR1cm4gZmFsc2U7CgkJfQoJfQoJCglwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBfYmFzZTY0dXJsX2VuY29kZSgkZGF0YSkgewoJCXJldHVybiBydHJpbShzdHJ0cihiYXNlNjRfZW5jb2RlKCRkYXRhKSwgJysvJywgJy1fJyksICc9Jyk7Cgl9CgkKCXByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9iYXNlNjR1cmxfZGVjb2RlKCRkYXRhKSB7CgkJcmV0dXJuIGJhc2U2NF9kZWNvZGUoc3RyX3BhZChzdHJ0cigkZGF0YSwgJy1fJywgJysvJyksIHN0cmxlbigkZGF0YSkgJSA0LCAnPScsIFNUUl9QQURfUklHSFQpKTsKCX0gCn0K]]></data>
	</file>
	<file>
	  <filename>/lib/class.btMinify.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiAJCVRvb2xCb3gKIyBDbGFzczogIAkJdGJVdGlscwojIEF1dGhvcjogCQlibGF0dGVydGVjaCBpbmZvcm1hdGlrIC0gTHVrYXMgQmxhdHRlciAtIHd3dy5ibGF0dGVydGVjaC5jaAojIEVtYWlsOgkJbHVrYXMuYmxhdHRlckBibGF0dGVydGVjaC5jaAojIENvcHlyaWdodDogCWJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgLSBMdWthcyBCbGF0dGVyIC0gd3d3LmJsYXR0ZXJ0ZWNoLmNoCiMgTGljZW5jZToJCUdQTCAyCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA4IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3MgYnRNaW5pZnkKewoJCQoJcHJpdmF0ZSBzdGF0aWMJCQoJCSRzZXR0aW5ncyA9IGFycmF5KAoJCSdnemlwJyA9PiB0cnVlLAoJCSdjb21wcmVzc2lvbkxldmVsJyA9PiA5LAoJCSdnemlwRXhjZXB0aW9ucycgPT4gYXJyYXkoJ2dpZicsJ2pwZWcnLCdqcGcnLCdwbmcnLCdzd2YnLCdpY28nKSwKCQknZW1iZWQnID0+IHRydWUsCgkJJ2VtYmVkTWF4U2l6ZScgPT4gNTEyMCwKCQknZW1iZWRFeGNlcHRpb25zJyA9PiBhcnJheSgnaHRjJyksCgkpOwoJCgkvL21pbWUgdHlwZXMKCXByb3RlY3RlZCBzdGF0aWMgJG1pbWVUeXBlcyA9IGFycmF5KAoJCSJqcyIJPT4gInRleHQvamF2YXNjcmlwdCIsCgkJImNzcyIJPT4gInRleHQvY3NzIiwKCQkiaHRtIgk9PiAidGV4dC9odG1sIiwKCQkiaHRtbCIJPT4gInRleHQvaHRtbCIsCgkJInhtbCIJPT4gInRleHQveG1sIiwKCQkidHh0Igk9PiAidGV4dC9wbGFpbiIsCgkJImpwZyIJPT4gImltYWdlL2pwZWciLAoJCSJqcGVnIgk9PiAiaW1hZ2UvanBlZyIsCgkJInBuZyIJPT4gImltYWdlL3BuZyIsCgkJImdpZiIJPT4gImltYWdlL2dpZiIsCgkJInN3ZiIJPT4gImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiwKCQkiaWNvIgk9PiAiaW1hZ2UveC1pY29uIiwKCSk7CQoJCgkvKioKCSAqIAoJICogRXh0cmFoaWVydCBKUyB1bmQgQ1NTIGF1cyBlaW5lbSBIVE1MIFN0cmluZyB1bmQgbWluaW1pZXJ0IGRlbiBJbmhhbHQgdW5kIGdpYnQgaW4genVzYW1tZW5nZWZhc3N0IHp1csO8Y2sKCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIgPGxiQGJsYXR0ZXJ0ZWNoLmNoPgoJICogQGNvcHlyaWdodDogR1BMIDIKCSAqIEBmaW5hbAoJICogQHBhcmFtIHN0cmluZyAkc3JjCgkgKiBAcmV0dXJuIHN0ZENsYXNzCgkgKi8KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbWluaWZ5RnJvbUh0bWwoJHNyYykKCXsKCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJJGNzcyA9IGFycmF5KCk7CgkJJGpzID0gYXJyYXkoKTsKCQkkanNzcmMgPSBhcnJheSgpOwoJCQoJCWlmICghJHNyYykJcmV0dXJuIGJ0VG9vbHM6OmFycmF5VG9PYmplY3QoYXJyYXkoJ2Nzcyc9PicnLCdqcyc9PicnLCdqc3NyYyc9PicnKSk7CgkJCgkJJGRvYyA9IG5ldyBET01Eb2N1bWVudCgpOwoJICAgICRkb2MtPmxvYWRIVE1MKCRzcmMpOwoJICAgICRjc3NUYWdzID0gJGRvYy0+Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpbmsnKTsKCSAgICAkanNUYWdzID0gJGRvYy0+Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpOwoJICAgIAoJICAgIGZvcmVhY2goJGNzc1RhZ3MgYXMgJHRhZykgewoJICAgIAkkZmlsZSA9IHN0cl9yZXBsYWNlKCIvIiwgRElSRUNUT1JZX1NFUEFSQVRPUixzdHJfcmVwbGFjZSgkY29uZmlnWydyb290X3VybCddLCAkY29uZmlnWydyb290X3BhdGgnXSwgJHRhZy0+Z2V0QXR0cmlidXRlKCdocmVmJykpKTsKCSAgICAJaWYgKCFpc19maWxlKCRmaWxlKSkgY29udGludWU7CgkgICAgCSRsYXN0TW9kaWZpZWQgPSBAZmlsZW10aW1lKCRmaWxlKTsKCSAgICAJaWYoJGxhc3RNb2RpZmllZCA9PSBOVUxMKSAkbGFzdE1vZGlmaWVkID0gZmlsZW10aW1lKHV0ZjhfZGVjb2RlKCRmaWxlKSk7CgkJCSRjc3NbJGxhc3RNb2RpZmllZC5tZDUoJGZpbGUpXSA9ICRmaWxlOwoJICAgIH0KCgkJZm9yZWFjaCgkZG9jLT5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JykgYXMgJHRhZykgewoJCQkkZmlsZSA9IHN0cl9yZXBsYWNlKCIvIiwgRElSRUNUT1JZX1NFUEFSQVRPUixzdHJfcmVwbGFjZSgkY29uZmlnWydyb290X3VybCddLCAkY29uZmlnWydyb290X3BhdGgnXSwgJHRhZy0+Z2V0QXR0cmlidXRlKCdzcmMnKSkpOwoJCQkkdmFsdWUgPSAkdGFnLT5ub2RlVmFsdWU7CgkJCWlmIChpc19maWxlKCRmaWxlKSkgewoJCQkJJGxhc3RNb2RpZmllZCA9IEBmaWxlbXRpbWUoJGZpbGUpOwoJCQkJaWYoJGxhc3RNb2RpZmllZCA9PSBOVUxMKSAkbGFzdE1vZGlmaWVkID0gZmlsZW10aW1lKHV0ZjhfZGVjb2RlKCRmaWxlKSk7CgkJCQkkanNbJGxhc3RNb2RpZmllZC5tZDUoJGZpbGUpXSA9ICRmaWxlOwoJCQl9IAoJCQlpZiAoJHZhbHVlICE9ICcnKSAkanNzcmNbXSA9ICR2YWx1ZTsKCQl9CgkJCgkJJGhhc2hKUyA9IG1kNShpbXBsb2RlKCJ8IiwgYXJyYXlfa2V5cygkanMpKSk7CgkJJGhhc2hKU1NyYyA9IG1kNShpbXBsb2RlKCIsIiwkanNzcmMpKTsKCQkkaGFzaENTUyA9IG1kNShpbXBsb2RlKCJ8IiwgYXJyYXlfa2V5cygkY3NzKSkpOwoJCQoJCSRjYWNoZXBhdGggPSAkY29uZmlnWydyb290X3BhdGgnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0bXAnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2NhY2hlJy5ESVJFQ1RPUllfU0VQQVJBVE9SOwoJCQoJCSRjYWNoZWNzcyA9J1Rvb2xCb3hfY29tYmluZWRfJy4kaGFzaENTUy4nLmNzcyc7IAoJCSRjYWNoZWpzID0gJ1Rvb2xCb3hfY29tYmluZWRfJy4kaGFzaEpTLicuanMnOwoKCQkkZmlsZXMgPSBhcnJheSgpOwoJCQoJCWlmICghaXNfZmlsZSgkY2FjaGVwYXRoLiRjYWNoZWNzcykpCWZpbGVfcHV0X2NvbnRlbnRzKCRjYWNoZXBhdGguJGNhY2hlY3NzLCBzZWxmOjptaW5pZnlDc3Moc2VsZjo6Z2V0RmlsZXNDb250ZW50KCRjc3MpKSk7CgkJaWYgKCFpc19maWxlKCRjYWNoZXBhdGguJGNhY2hlanMpKSB7CgkJCSRqc2NvbnRlbnQgPSBzZWxmOjpnZXRGaWxlc0NvbnRlbnQoJGpzKTsKCQkJZmlsZV9wdXRfY29udGVudHMoJGNhY2hlcGF0aC4kY2FjaGVqcywgc2VsZjo6bWluaWZ5SnMoJGpzY29udGVudCkpOwoJCX0JCgkJCgkgICAgJGZpbGVzWydjc3MnXSA9ICc8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSInLiRjb25maWdbJ3Jvb3RfdXJsJ10uJy90bXAvY2FjaGUvJy4kY2FjaGVjc3MuJyIgbWVkaWE9InNjcmVlbiIgLz4nLiJcbiI7CiAJICAgICRmaWxlc1snanMnXSAgPSAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iJy4kY29uZmlnWydyb290X3VybCddLicvdG1wL2NhY2hlLycuJGNhY2hlanMuJyI+PC9zY3JpcHQ+Jy4iXG4iOwogCSAgICBpZiAoIWVtcHR5KCRqc3NyYykpCSRmaWxlc1snanNzcmMnXSA9ICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Jy5zZWxmOjptaW5pZnlKcyhpbXBsb2RlKCJcbiIsJGpzc3JjKSkuJzwvc2NyaXB0PicuIlxuIjsKIAkgICAgZWxzZSAkZmlsZXNbJ2pzc3JjJ10gPSAnJzsKCSAgICAKCSAgICByZXR1cm4gYnRUb29sczo6YXJyYXlUb09iamVjdCgkZmlsZXMpOwoJfQoKCQoJLyoqCgkgKiAKCSAqIFJldHVybiBjb250ZW50IG9mIG9uZSBvciBtb3JlIGZpbGVzCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4KCSAqIEBjb3B5cmlnaHQ6IEdQTCAyCgkgKiBAZmluYWwgCgkgKiBAcGFyYW0gbWl4ZWQgJGZpbGVzCgkgKiBAcmV0dXJuIHN0cmluZwoJICovCglwcm90ZWN0ZWQgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldEZpbGVzQ29udGVudCgkZmlsZXMpIHsKCQkKCQkkZmlsZXMgPSBpc19hcnJheSgkZmlsZXMpID8gJGZpbGVzIDogZXhwbG9kZSgnLCcsJGZpbGVzKTsKCQkkc3RyID0gJyc7CgkJZm9yZWFjaCgkZmlsZXMgYXMgJGZpbGUpIHsKCQkJaWYgKGlzX2ZpbGUoJGZpbGUpKSAkc3RyIC49IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlKS4iXG4iOwoJCX0KCQkKCQlyZXR1cm4gJHN0cjsKCX0KCQoJLyoqCgkgKiAKCSAqIEVudGVyIGRlc2NyaXB0aW9uIGhlcmUgLi4uCgkgKiBAYXV0aG9yOiBTbWFydE9wdGltaXplcgoJICogQGNvcHlyaWdodDogR1BMIDIKCSAqIEBmaW5hbAoJICogQHBhcmFtICR1cmwKCSAqIEBwYXJhbSAkY291bnQKCSAqLwoJcHJvdGVjdGVkIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBjb252ZXJ0VXJsKCR1cmwsICRjb3VudCkKCXsKCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJJGZpbGVEaXIgPSAiLi4vLi4vIjsKCQlzdGF0aWMgJGJhc2VVcmwgPSAnJzsKCQkKCQkkdXJsID0gdHJpbSgkdXJsKTsKCQkKCQlpZiAocHJlZ19tYXRjaCgnQF5bXi9dKzpAJywgJHVybCkpIHJldHVybiAkdXJsOwoJCQoJCSRmaWxlVHlwZSA9IHN1YnN0cihzdHJyY2hyKCR1cmwsICcuJyksIDEpOwoJCWlmIChpc3NldChzZWxmOjokbWltZVR5cGVzWyRmaWxlVHlwZV0pKSAkbWltZVR5cGUgPSBzZWxmOjokbWltZVR5cGVzWyRmaWxlVHlwZV07CgkJZWxzZWlmIChmdW5jdGlvbl9leGlzdHMoJ21pbWVfY29udGVudF90eXBlJykpICRtaW1lVHlwZSA9IG1pbWVfY29udGVudF90eXBlKCR1cmwpOwoJCWVsc2UgJG1pbWVUeXBlID0gbnVsbDsKCQkKCQlpZiAoIXNlbGY6OiRzZXR0aW5nc1snZW1iZWQnXSB8fAoJCQkhZmlsZV9leGlzdHMoJGZpbGVEaXIuJHVybCkgfHwKCQkJKHNlbGY6OiRzZXR0aW5nc1snZW1iZWRNYXhTaXplJ10gPiAwICYmIGZpbGVzaXplKCRmaWxlRGlyLiR1cmwpID4gc2VsZjo6JHNldHRpbmdzWydlbWJlZE1heFNpemUnXSkgfHwKCQkJISRmaWxlVHlwZSB8fAoJCQlpbl9hcnJheSgkZmlsZVR5cGUsIHNlbGY6OiRzZXR0aW5nc1snZW1iZWRFeGNlcHRpb25zJ10pIHx8CgkJCSEkbWltZVR5cGUgfHwKCQkJJGNvdW50ID4gMSkgewoJCQlpZiAoc3RycG9zKCRfU0VSVkVSWydSRVFVRVNUX1VSSSddLCAkX1NFUlZFUlsnU0NSSVBUX05BTUUnXS4nPycpID09PSAwIHx8CgkJCQlzdHJwb3MoJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10sIHJ0cmltKGRpcm5hbWUoJF9TRVJWRVJbJ1NDUklQVF9OQU1FJ10pLCAnXC8nKS4nLz8nKSA9PT0gMCkgewoJCQkJaWYgKCEkYmFzZVVybCkgcmV0dXJuICRmaWxlRGlyIC4gJHVybDsKCQkJfQoJCQlyZXR1cm4gJGJhc2VVcmwgLiAkdXJsOwoJCX0KCQkKCQkkY29udGVudHMgPSBmaWxlX2dldF9jb250ZW50cygkZmlsZURpci4kdXJsKTsKCQkgCgkJaWYgKCRmaWxlVHlwZSA9PSAnY3NzJykgewoJCQkkb2xkRmlsZURpciA9ICRmaWxlRGlyOwoJCQkkZmlsZURpciA9IHJ0cmltKGRpcm5hbWUoJGZpbGVEaXIuJHVybCksICdcLycpLicvJzsKCQkJJG9sZEJhc2VVcmwgPSAkYmFzZVVybDsKCQkJJGJhc2VVcmwgPSAnaHR0cCcuKEAkX1NFUlZFUlsnSFRUUFMnXT8ncyc6JycpLic6Ly8nLiRfU0VSVkVSWydIVFRQX0hPU1QnXS5ydHJpbShkaXJuYW1lKCRfU0VSVkVSWydTQ1JJUFRfTkFNRSddKSwgJ1wvJykuJy8nLiRmaWxlRGlyOwoJCQkkY29udGVudHMgPSBzZWxmOjptaW5pZnlDc3MoJGNvbnRlbnRzKTsJCQoJCQkkZmlsZURpciA9ICRvbGRGaWxlRGlyOwoJCQkkYmFzZVVybCA9ICRvbGRCYXNlVXJsOwoJCX0KCQkKCQkkYmFzZTY0ICAgPSBiYXNlNjRfZW5jb2RlKCRjb250ZW50cyk7IAoJCXJldHVybiAnZGF0YTonIC4gJG1pbWVUeXBlIC4gJztiYXNlNjQsJyAuICRiYXNlNjQ7Cgl9CgoJLyoqCgkgKiAKCSAqIE1pbmlmeSBDU1MKCSAqIEBhdXRob3I6IFNtYXJ0T3B0aW1pemVyCgkgKiBAY29weXJpZ2h0OiBHUEwgMgoJICogQGZpbmFsCgkgKiBAcGFyYW0gJHVybAoJICogQHBhcmFtICRjb3VudAoJICovCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIG1pbmlmeUNzcygkc3RyKSAKCXsKCQkkcmVzID0gJyc7CgkJJGk9MDsKCQkkaW5zaWRlX2Jsb2NrID0gZmFsc2U7CgkJJGN1cnJlbnRfY2hhciA9ICcnOwoJCXdoaWxlICgkaSsxPHN0cmxlbigkc3RyKSkgewoJCQlpZiAoJHN0clskaV09PSciJyB8fCAkc3RyWyRpXT09IiciKSB7Ly9xdW90ZWQgc3RyaW5nIGRldGVjdGVkCgkJCQkkcmVzIC49ICRxdW90ZSA9ICRzdHJbJGkrK107CgkJCQkkdXJsID0gJyc7CgkJCQl3aGlsZSAoJGk8c3RybGVuKCRzdHIpICYmICRzdHJbJGldIT0kcXVvdGUpIHsKCQkJCQlpZiAoJHN0clskaV0gPT0gJ1xcJykgewoJCQkJCQkkdXJsIC49ICRzdHJbJGkrK107CgkJCQkJfQoJCQkJCSR1cmwgLj0gJHN0clskaSsrXTsKCQkJCX0KCQkJCWlmIChzdHJ0b2xvd2VyKHN1YnN0cigkcmVzLCAtNSwgNCkpPT0ndXJsKCcgfHwgc3RydG9sb3dlcihzdWJzdHIoJHJlcywgLTksIDgpKSA9PSAnQGltcG9ydCAnKSB7CgkJCQkJJHVybCA9IHNlbGY6OmNvbnZlcnRVcmwoJHVybCwgc3Vic3RyX2NvdW50KCRzdHIsICR1cmwpKTsKCQkJCX0KCQkJCSRyZXMgLj0gJHVybDsKCQkJCSRyZXMgLj0gJHN0clskaSsrXTsKCQkJCWNvbnRpbnVlOwoJCQl9IGVsc2VpZiAoc3RydG9sb3dlcihzdWJzdHIoJHJlcywgLTQpKT09J3VybCgnKSB7Ly91cmwgZGV0ZWN0ZWQKCQkJCSR1cmwgPSAnJzsKCQkJCWRvIHsKCQkJCQlpZiAoJHN0clskaV0gPT0gJ1xcJykgewoJCQkJCQkkdXJsIC49ICRzdHJbJGkrK107CgkJCQkJfQoJCQkJCSR1cmwgLj0gJHN0clskaSsrXTsKCQkJCX0gd2hpbGUgKCRpPHN0cmxlbigkc3RyKSAmJiAkc3RyWyRpXSE9JyknKTsKCQkJCSR1cmwgPSBzZWxmOjpjb252ZXJ0VXJsKCR1cmwsIHN1YnN0cl9jb3VudCgkc3RyLCAkdXJsKSk7CgkJCQkkcmVzIC49ICR1cmw7CgkJCQkkcmVzIC49ICRzdHJbJGkrK107CgkJCQljb250aW51ZTsKCQkJfSBlbHNlaWYgKCRzdHJbJGldLiRzdHJbJGkrMV09PScvKicpIHsvL2NzcyBjb21tZW50IGRldGVjdGVkCgkJCQkkaSs9MzsKCQkJCXdoaWxlICgkaTxzdHJsZW4oJHN0cikgJiYgJHN0clskaS0xXS4kc3RyWyRpXSE9JyovJykgJGkrKzsKCQkJCWlmICgkY3VycmVudF9jaGFyID09ICJcbiIpICRzdHJbJGldID0gIlxuIjsKCQkJCWVsc2UgJHN0clskaV0gPSAnICc7CgkJCX0KCQkJCgkJCWlmIChzdHJsZW4oJHN0cikgPD0gJGkrMSkgYnJlYWs7CgkJCQoJCQkkY3VycmVudF9jaGFyID0gJHN0clskaV07CgkJCQoJCQlpZiAoJGluc2lkZV9ibG9jayAmJiAkY3VycmVudF9jaGFyID09ICd9JykgewoJCQkJJGluc2lkZV9ibG9jayA9IGZhbHNlOwoJCQl9CgkJCQoJCQlpZiAoJGN1cnJlbnRfY2hhciA9PSAneycpIHsKCQkJCSRpbnNpZGVfYmxvY2sgPSB0cnVlOwoJCQl9CgkJCQoJCQlpZiAocHJlZ19tYXRjaCgnL1tcblxyXHQgXS8nLCAkY3VycmVudF9jaGFyKSkgJGN1cnJlbnRfY2hhciA9ICIgIjsKCQkJCgkJCWlmICgkY3VycmVudF9jaGFyID09ICIgIikgewoJCQkJJHBhdHRlcm4gPSAkaW5zaWRlX2Jsb2NrPycvXltee307LDpcblxyXHQgXXsyfSQvJzonL15bXnt9Oyw+K1xuXHJcdCBdezJ9JC8nOwoJCQkJaWYgKHN0cmxlbigkcmVzKSAmJglwcmVnX21hdGNoKCRwYXR0ZXJuLCAkcmVzW3N0cmxlbigkcmVzKS0xXS4kc3RyWyRpKzFdKSkKCQkJCQkkcmVzIC49ICRjdXJyZW50X2NoYXI7CgkJCX0gZWxzZSAkcmVzIC49ICRjdXJyZW50X2NoYXI7CgkJCQoJCQkkaSsrOwoJCX0KCQlpZiAoJGk8c3RybGVuKCRzdHIpICYmIHByZWdfbWF0Y2goJy9bXlxuXHJcdCBdLycsICRzdHJbJGldKSkgJHJlcyAuPSAkc3RyWyRpXTsKCQlyZXR1cm4gJHJlczsKCX0KICAgIAoJLyoqCgkgKiAKCSAqIE1pbmlmeSBKUwoJICogQGF1dGhvcjogU21hcnRPcHRpbWl6ZXIKCSAqIEBjb3B5cmlnaHQ6IEdQTCAyCgkgKiBAZmluYWwKCSAqIEBwYXJhbSAkdXJsCgkgKiBAcGFyYW0gJGNvdW50CgkgKi8KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gbWluaWZ5SnMoJHN0cikgewoJCQoJCSRyZXMgPSAnJzsKCQkkbWF5YmVfcmVnZXggPSB0cnVlOwoJCSRpPTA7CgkJJGN1cnJlbnRfY2hhciA9ICcnOwoJCXdoaWxlICgkaSsxPHN0cmxlbigkc3RyKSkgewoJCQlpZiAoJG1heWJlX3JlZ2V4ICYmICRzdHJbJGldPT0nLycgJiYgJHN0clskaSsxXSE9Jy8nICYmICRzdHJbJGkrMV0hPScqJyAmJiBAJHN0clskaS0xXSE9JyonKSB7Ly9yZWdleCBkZXRlY3RlZAoJCQkJaWYgKHN0cmxlbigkcmVzKSAmJiAkcmVzW3N0cmxlbigkcmVzKS0xXSA9PT0gJy8nKSAkcmVzIC49ICcgJzsKCQkJCWRvIHsKCQkJCQlpZiAoJHN0clskaV0gPT0gJ1xcJykgewoJCQkJCQkkcmVzIC49ICRzdHJbJGkrK107CgkJCQkJfSBlbHNlaWYgKCRzdHJbJGldID09ICdbJykgewoJCQkJCQlkbyB7CgkJCQkJCQlpZiAoJHN0clskaV0gPT0gJ1xcJykgewoJCQkJCQkJCSRyZXMgLj0gJHN0clskaSsrXTsKCQkJCQkJCX0KCQkJCQkJCSRyZXMgLj0gJHN0clskaSsrXTsKCQkJCQkJfSB3aGlsZSAoJGk8c3RybGVuKCRzdHIpICYmICRzdHJbJGldIT0nXScpOwoJCQkJCX0KCQkJCQkkcmVzIC49ICRzdHJbJGkrK107CgkJCQl9IHdoaWxlICgkaTxzdHJsZW4oJHN0cikgJiYgJHN0clskaV0hPScvJyk7CgkJCQkkcmVzIC49ICRzdHJbJGkrK107CgkJCQkkbWF5YmVfcmVnZXggPSBmYWxzZTsKCQkJCWNvbnRpbnVlOwoJCQl9IGVsc2VpZiAoJHN0clskaV09PSciJyB8fCAkc3RyWyRpXT09IiciKSB7Ly9xdW90ZWQgc3RyaW5nIGRldGVjdGVkCgkJCQkkcXVvdGUgPSAkc3RyWyRpXTsKCQkJCWRvIHsKCQkJCQlpZiAoJHN0clskaV0gPT0gJ1xcJykgewoJCQkJCQkkcmVzIC49ICRzdHJbJGkrK107CgkJCQkJfQoJCQkJCSRyZXMgLj0gJHN0clskaSsrXTsKCQkJCX0gd2hpbGUgKCRpPHN0cmxlbigkc3RyKSAmJiAkc3RyWyRpXSE9JHF1b3RlKTsKCQkJCSRyZXMgLj0gJHN0clskaSsrXTsKCQkJCWNvbnRpbnVlOwoJCQl9IGVsc2VpZiAoJHN0clskaV0uJHN0clskaSsxXT09Jy8qJyAmJiBAJHN0clskaSsyXSE9J0AnKSB7Ly9tdWx0aS1saW5lIGNvbW1lbnQgZGV0ZWN0ZWQKCQkJCSRpKz0zOwoJCQkJd2hpbGUgKCRpPHN0cmxlbigkc3RyKSAmJiAkc3RyWyRpLTFdLiRzdHJbJGldIT0nKi8nKSAkaSsrOwoJCQkJaWYgKCRjdXJyZW50X2NoYXIgPT0gIlxuIikgJHN0clskaV0gPSAiXG4iOwoJCQkJZWxzZSAkc3RyWyRpXSA9ICcgJzsKCQkJfSBlbHNlaWYgKCRzdHJbJGldLiRzdHJbJGkrMV09PScvLycpIHsvL3NpbmdsZS1saW5lIGNvbW1lbnQgZGV0ZWN0ZWQKCQkJCSRpKz0yOwoJCQkJd2hpbGUgKCRpPHN0cmxlbigkc3RyKSAmJiAkc3RyWyRpXSE9IlxuIiAmJiAkc3RyWyRpXSE9IlxyIikgJGkrKzsKCQkJfQoJCQkKCQoJCgkJCSRMRl9uZWVkZWQgPSBmYWxzZTsKCQkJaWYgKHByZWdfbWF0Y2goJy9bXG5cclx0IF0vJywgJHN0clskaV0pKSB7CgkJCQlpZiAoc3RybGVuKCRyZXMpICYmIHByZWdfbWF0Y2goJy9bXG4gXS8nLCAkcmVzW3N0cmxlbigkcmVzKS0xXSkpIHsKCQkJCQlpZiAoJHJlc1tzdHJsZW4oJHJlcyktMV0gPT0gIlxuIikgJExGX25lZWRlZCA9IHRydWU7CgkJCQkJJHJlcyA9IHN1YnN0cigkcmVzLCAwLCAtMSk7CgkJCQl9CgkJCQl3aGlsZSAoJGkrMTxzdHJsZW4oJHN0cikgJiYgcHJlZ19tYXRjaCgnL1tcblxyXHQgXS8nLCAkc3RyWyRpKzFdKSkgewoJCQkJCWlmICghJExGX25lZWRlZCAmJiBwcmVnX21hdGNoKCcvW1xuXHJdLycsICRzdHJbJGldKSkgJExGX25lZWRlZCA9IHRydWU7CgkJCQkJJGkrKzsKCQkJCX0KCQkJfQoJCQkKCQkJaWYgKHN0cmxlbigkc3RyKSA8PSAkaSsxKSBicmVhazsKCQkJCgkJCSRjdXJyZW50X2NoYXIgPSAkc3RyWyRpXTsKCQkJCgkJCWlmICgkTEZfbmVlZGVkKSAkY3VycmVudF9jaGFyID0gIlxuIjsKCQkJZWxzZWlmICgkY3VycmVudF9jaGFyID09ICJcdCIpICRjdXJyZW50X2NoYXIgPSAiICI7CgkJCWVsc2VpZiAoJGN1cnJlbnRfY2hhciA9PSAiXHIiKSAkY3VycmVudF9jaGFyID0gIlxuIjsKCQkJCgkJCS8vIGRldGVjdCB1bm5lY2Vzc2FyeSB3aGl0ZSBzcGFjZXMKCQkJaWYgKCRjdXJyZW50X2NoYXIgPT0gIiAiKSB7CgkJCQlpZiAoc3RybGVuKCRyZXMpICYmCgkJCQkJKAoJCQkJCXByZWdfbWF0Y2goJy9eW14oKXt9W1xdPStcLSpcLyUmfCE+PD86fl4sOyJcJ117Mn0kLycsICRyZXNbc3RybGVuKCRyZXMpLTFdLiRzdHJbJGkrMV0pIHx8CgkJCQkJcHJlZ19tYXRjaCgnL14oXCtcKyl8KC0tKSQvJywgJHJlc1tzdHJsZW4oJHJlcyktMV0uJHN0clskaSsxXSkgLy8gZm9yIGV4YW1wbGUgaSsgKytqOwoJCQkJCSkpICRyZXMgLj0gJGN1cnJlbnRfY2hhcjsKCQkJfSBlbHNlaWYgKCRjdXJyZW50X2NoYXIgPT0gIlxuIikgewoJCQkJaWYgKHN0cmxlbigkcmVzKSAmJgoJCQkJCSgKCQkJCQlwcmVnX21hdGNoKCcvXlteKHtbPStcLSolJnwhPjw/On5eLDtcL11bXil9XF09K1wtKiUmfD48PzosO1wvXSQvJywgJHJlc1tzdHJsZW4oJHJlcyktMV0uJHN0clskaSsxXSkgfHwKCQkJCQkoc3RybGVuKCRyZXMpPjEgJiYgcHJlZ19tYXRjaCgnL14oXCtcKyl8KC0tKSQvJywgJHJlc1tzdHJsZW4oJHJlcyktMl0uJHJlc1tzdHJsZW4oJHJlcyktMV0pKSB8fAoJCQkJCShzdHJsZW4oJHN0cik+JGkrMiAmJiBwcmVnX21hdGNoKCcvXihcK1wrKXwoLS0pJC8nLCAkc3RyWyRpKzFdLiRzdHJbJGkrMl0pKSB8fAoJCQkJCXByZWdfbWF0Y2goJy9eKFwrXCspfCgtLSkkLycsICRyZXNbc3RybGVuKCRyZXMpLTFdLiRzdHJbJGkrMV0pLy8gfHwgLy8gZm9yIGV4YW1wbGUgaSsgKytqOwoJCQkJCSkpICRyZXMgLj0gJGN1cnJlbnRfY2hhcjsKCQkJfSBlbHNlICRyZXMgLj0gJGN1cnJlbnRfY2hhcjsKCQkJCgkJCS8vIGlmIHRoZSBuZXh0IGNoYXJhY2h0ZXIgYmUgYSBzbGFzaCwgZGV0ZWN0cyBpZiBpdCBpcyBhIGRpdmlkZSBvcGVyYXRvciBvciBzdGFydCBvZiBhIHJlZ2V4CgkJCWlmIChwcmVnX21hdGNoKCcvWyh7Wz0rXC0qXC8lJnwhPjw/On5eLDtdLycsICRjdXJyZW50X2NoYXIpKSAkbWF5YmVfcmVnZXggPSB0cnVlOwoJCQllbHNlaWYgKCFwcmVnX21hdGNoKCcvW1xuIF0vJywgJGN1cnJlbnRfY2hhcikpICRtYXliZV9yZWdleCA9IGZhbHNlOwoJCQkJCgkJCSRpKys7CgkJfQoJCWlmICgkaTxzdHJsZW4oJHN0cikgJiYgcHJlZ19tYXRjaCgnL1teXG5cclx0IF0vJywgJHN0clskaV0pKSAkcmVzIC49ICRzdHJbJGldOwoJCXJldHVybiAkcmVzOwoJfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.btTools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTW9kdWxlOgkJVG9vbEJveApUaXRsZToJCWJsYXR0ZXJ0ZWNoIHRvb2xzIGNsYXNzClZlcnNpb246CTEuMApEZXNjcmlwdC46CXNvbWUgdXNlZnVsIGZ1bmN0aW9ucwpMYXN0IE1vZC46CTI2LjAxLjIwMTIKQXV0aG9yOgkJTHVrYXMgQmxhdHRlcgpFbWFpbDoJCWx1a2FzLmJsYXR0ZXJAYmxhdHRlcnRlY2guY2gKTm90ZXM6CkxpY2VuY2U6CVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CgkJCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CgkJCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCgkJCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgkJCUhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAoJCQlhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKCQkJaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwoJCQlNYWRlIFNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KCQkJc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIFNpbXBsZS4KCQkJRmluZCBtb3JlIGluZm9ybWF0aW9uIGFib3V0IENNUyBNYWRlIFNpbXBsZSBvbiBpdHMgd2Vic2l0ZToKCQkJaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZy8KCQkJVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCgkJCWJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCgkJCU1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKCQkJR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCQkJWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKCQkJYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKCQkJRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKCQkJT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgoKY2xhc3MgYnRUb29scwp7CgoJLyoqCgkgKiBDYWxjdWxhdGUgaGFzaHZhbHVlIGZvciBwYXJhbXMKCSAqCgkgKiBAc291cmNlCWh0dHA6Ly9ibG9nLmViZW5lNy5jb20vMjAxMi8wMS8wNC9laW5mYWNoZS1hYnNpY2hlcnVuZy12b24tcGFyYW1ldGVybi8KCSAqIEBwYXJhbQlhcnJheSAkcGFyYW1zCgkgKiBAcGFyYW0Jc3RyaW5nICRzYWx0CgkgKiBAcGFyYW0Jc3RyaW5nICRjYWxsYmFjayBPUFRJT05BTCAoZGVmYXVsdD0nc2hhMScpCgkgKiBAcmV0dXJuCXN0cmluZwoJICogCgkgKiBEZW1vCgkgKiAkcGFyYW1zMSA9IGFycmF5KAoJICoJICAgICdrZXkxJyA9PiAndmFsdWUxJywKCSAqCSAgICAna2V5MicgPT4gJ3ZhbHVlMicKCSAqCSk7CgkgKgkKCSAqCSRwYXJhbXMyID0gYXJyYXkoCgkgKgkgICAgJ2tleTInID0+ICd2YWx1ZTInLAoJICoJICAgICdrZXkxJyA9PiAndmFsdWUxJwoJICoJKTsKCSAqCQoJICoJJHNhbHQgPSAnYmxhYmx1YmInOwoJICoJCgkgKgllY2hvICdwMS1oYXNoOiAnIC4gZ2V0UGFyYW1zSGFzaCgkcGFyYW1zMSwgJHNhbHQsICdtZDUnKSAuICc8YnIvPic7CgkgKgllY2hvICdwMi1oYXNoOiAnIC4gZ2V0UGFyYW1zSGFzaCgkcGFyYW1zMiwgJHNhbHQsICdtZDUnKSAuICc8YnIvPic7CgkgKglEaWUgQXVzZ2FiZSBpc3QgdW5hYmjDpG5naWcgdm9uIGRlciBSZWloZW5mb2xnZSBkZXIgV2VydGUgaW0gQXJyYXkgaWRlbnRpc2NoLgoJICoJcDEtaGFzaDogM2U3MWVkYTdiODUzOTc5MWVhMmZkOGYxNTliNWU1N2IKCSAqCXAyLWhhc2g6IDNlNzFlZGE3Yjg1Mzk3OTFlYTJmZDhmMTU5YjVlNTdiCgkgKiAKCSAqLwoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRQYXJhbXNIYXNoKGFycmF5ICRwYXJhbXMsICRzYWx0LCAkY2FsbGJhY2sgPSAnc2hhMScpIHsKCSAgICAkcGFyYW1zWydfX1NBTFRfXyddID0gJHNhbHQ7CgkgICAga3NvcnQoJHBhcmFtcyk7CgkgICAgcmV0dXJuIGNhbGxfdXNlcl9mdW5jKCRjYWxsYmFjaywgaW1wbG9kZSgnLCcsICRwYXJhbXMpKTsKCX0KCQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBwcmludE1zZ0FycmF5KCRhcnJheSA9IGFycmF5KCksICRjbGFzcykgewoJCgkJJHJldHZhbCA9ICIiOwoJCQoJCWlmIChjb3VudCgkYXJyYXkpKSB7CgkJCSRyZXR2YWwuPSAiXG4iLic8ZGl2IGNsYXNzPSInLiRjbGFzcy4nIj4nOwoJCQlpZiAoY291bnQoJGFycmF5KSA+IDEpIHsKCQkJCSRyZXR2YWwuPSAiXG48dWw+XG4iOwoJCQkJZm9yZWFjaCgkYXJyYXkgYXMgJGl0ZW0pIHsKCQkJCQkkcmV0dmFsLj0gIjxsaT4iLiRpdGVtLiI8L2xpPlxuIjsKCQkJCX0KCQkJCSRyZXR2YWwuPSAiPC91bD5cbiI7CgkJCX0KCQkJZWxzZSB7CgkJCQkkcmV0dmFsLj0gJGFycmF5WzBdOwoJCQl9CgkJCSRyZXR2YWwuPSAiPC9kaXY+IjsKCQl9CgkJZWxzZQoJCQlyZXR1cm4gJyc7CgkJCQoJCXJldHVybiAkcmV0dmFsOwkKCX0KCQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBpc0N1cmxFbmFibGVkKCkgewoJCWlmICghZXh0ZW5zaW9uX2xvYWRlZCgnY3VybCcpKQoJCQlyZXR1cm4gZmFsc2U7CgkJcmV0dXJuIHRydWU7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gaXNVcmxmb3BlbkVuYWJsZWQoKSB7CgkJaWYgKCFpbmlfZ2V0KCdhbGxvd191cmxfZm9wZW4nKSkKCQkJcmV0dXJuIGZhbHNlOwoJCXJldHVybiB0cnVlOwoJfQoJCgkvKioKCSAqIAoJICogR2lidCBhbGxlIFRhZ3MgZGVyIGdlZnVuZGVuZW4gQmlsZGVyIHp1csO8Y2sKCSAqIEBwYXJhbSAkdGV4dCAtIEhUTUwKCSAqIEByZXR1cm4gYXJyYXkKIAkgKi8KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0SW1nVGFncygkdGV4dCkgewoJCS8vIEFsbGUgSW1nLVRhZ3MgYXVzbGVzZW4KCQkkbWF0Y2hlcyA9IGFycmF5KCk7CgkJcHJlZ19tYXRjaF9hbGwoJy88aW1nKC4qPylcLz4vJywgJHRleHQsICRtYXRjaGVzKTsKCgkJLy8gRnVuZGUgZHVyY2hsYXVmZW4gdW5kIEF0dHJpYnV0ZSBlcm1pdHRlbG4KCQkkaW1hZ2VzID0gYXJyYXkoKTsKCQlmb3JlYWNoICgkbWF0Y2hlc1sxXSBhcyAkbWF0Y2gpIHsKCQkJLy8gQXR0cmlidXRlIGF1c3RyZW5uZW4KCQkJJGF0dHJpYnV0ZXMgPSBhcnJheSgpOwoJCQlwcmVnX21hdGNoX2FsbCgnLyhbYS16XSo/KT0iKC4qPykiLycsICRtYXRjaCwgJGF0dHJpYnV0ZXMpOwoKCQkJLy8gQXR0cmlidXRlIGFic3BlaWNoZXJuCgkJCSRpbWFnZSA9IGFycmF5KCk7CgkJCWZvcmVhY2ggKCRhdHRyaWJ1dGVzWzFdIGFzICRrZXkgPT4gJHZhbHVlKSB7CgkJCQkkaW1hZ2VbJHZhbHVlXSA9ICRhdHRyaWJ1dGVzWzJdWyRrZXldOwoJCQl9CgkJCSRpbWFnZXNbXSA9ICRpbWFnZTsKCQl9CgoJCS8vIERhdGVuIHp1csO8Y2tnZWJlbgoJCXJldHVybiAkaW1hZ2VzOwoJfQoJCgkKCS8qKgoJICogCgkgKiBDb252ZXJ0IGEgb2JqZWN0IHRvIGFuIGFycmF5CgkgKiBAcGFyYW0gJGQgLSBvYmplY3QKCSAqIEBjb3B5cmlnaHQgaHR0cDovL3d3dy5pZi1ub3QtdHJ1ZS10aGVuLWZhbHNlLmNvbS8yMDA5L3BocC10aXAtY29udmVydC1zdGRjbGFzcy1vYmplY3QtdG8tbXVsdGlkaW1lbnNpb25hbC1hcnJheS1hbmQtY29udmVydC1tdWx0aWRpbWVuc2lvbmFsLWFycmF5LXRvLXN0ZGNsYXNzLW9iamVjdC8KCSAqLwoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBvYmplY3RUb0FycmF5KCRkYXRhKQoJewoJICAgIGlmIChpc19hcnJheSgkZGF0YSkgfHwgaXNfb2JqZWN0KCRkYXRhKSkKCSAgICB7CgkgICAgICAgICRyZXN1bHQgPSBhcnJheSgpOwoJICAgICAgICBmb3JlYWNoICgkZGF0YSBhcyAka2V5ID0+ICR2YWx1ZSkKCSAgICAgICAgewoJICAgICAgICAgICAgJHJlc3VsdFska2V5XSA9IHNlbGY6Om9iamVjdFRvQXJyYXkoJHZhbHVlKTsKCSAgICAgICAgfQoJICAgICAgICByZXR1cm4gJHJlc3VsdDsKCSAgICB9CgkgICAgcmV0dXJuICRkYXRhOwoJfQoJCgkKCS8qKgoJICogCgkgKiBDb252ZXJ0IGEgb2JqZWN0IHRvIGFuIGFycmF5CgkgKiBAcGFyYW0gJGFycmF5CgkgKiBAcmV0dXJuIG9iamVjdAoJICogQGNvcHlyaWdodCBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NjkwOTEvY29udmVydC1hcnJheS10by1vYmplY3QtcGhwCgkgKi8KCXByaXZhdGUgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGFycmF5X3RvX29iaigkYXJyYXksICYkb2JqKQoJewoJCWZvcmVhY2ggKCRhcnJheSBhcyAka2V5ID0+ICR2YWx1ZSkKCQl7CgkJCWlmIChpc19hcnJheSgkdmFsdWUpKQoJCQl7CgkJCQkkb2JqLT4ka2V5ID0gbmV3IHN0ZENsYXNzKCk7CgkJCQlzZWxmOjphcnJheV90b19vYmooJHZhbHVlLCAkb2JqLT4ka2V5KTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCSRvYmotPiRrZXkgPSAkdmFsdWU7CgkJCX0KCQl9CgkJcmV0dXJuICRvYmo7Cgl9CgoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBhcnJheVRvT2JqZWN0KCRhcnJheSkKCXsKCQkkb2JqZWN0PSBuZXcgc3RkQ2xhc3MoKTsKCQlyZXR1cm4gc2VsZjo6YXJyYXlfdG9fb2JqKCRhcnJheSwkb2JqZWN0KTsKCX0KCQoJCgkKCS8qKgoJICogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMDE5MDc2L2hvdy10by1zZWFyY2gtYnkta2V5LXZhbHVlLWluLWEtbXVsdGlkaW1lbnNpb25hbC1hcnJheS1pbi1waHAKCSAqIFNlYXJjaCBhIE11bHRpZGltZW5zaW9uYWwgQXJyYXkJIAoJICogQHBhcmFtIGFycmF5ICRhcnJheQoJICogQHBhcmFtIHN0cmluZyAka2V5CgkgKiBAcGFyYW0gc3RyaW5nICR2YWx1ZQoJICogQHJldHVybiBhcnJheQoJICovCgkKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gc2VhcmNoQXJyYXkoJGFycmF5LCAka2V5LCAkdmFsdWUpCgkJewoJCQkkcmVzdWx0cyA9IGFycmF5KCk7CgoJCQlpZiAoaXNfYXJyYXkoJGFycmF5KSkKCQkJewoJCQkJaWYgKGlzc2V0KCRhcnJheVska2V5XSkgJiYgc3RydG9sb3dlcigkYXJyYXlbJGtleV0pID09IHN0cnRvbG93ZXIoJHZhbHVlKSkKCQkJCSRyZXN1bHRzW10gPSAkYXJyYXk7CgoJCQkJZm9yZWFjaCAoJGFycmF5IGFzICRzdWJhcnJheSkKCQkJCSRyZXN1bHRzID0gYXJyYXlfbWVyZ2UoJHJlc3VsdHMsIHNlbGY6OnNlYXJjaEFycmF5KCRzdWJhcnJheSwgJGtleSwgJHZhbHVlKSk7CgkJCX0KCgkJCXJldHVybiAkcmVzdWx0czsKCQl9CgkKCQoKCS8qKgoJICogCgkgKiBHaWJ0IGRpZSDDvGJlcmdlYmVuZSBOdW1tZXIgYWxzIDFzdCwgMm5kLCAzcmQsIDR0aCwgZXRjLiB6dXLDvGNrCgkgKiBAcGFyYW0gJG51bQoJICogQGNvcHlyaWdodCBodHRwOi8vd3d3LmlmLW5vdC10cnVlLXRoZW4tZmFsc2UuY29tLzIwMTAvcGhwLTFzdC0ybmQtM3JkLTR0aC01dGgtNnRoLXBocC1hZGQtb3JkaW5hbC1udW1iZXItc3VmZml4LwoJICovCgkvLyAxc3QJIDJuZAkgM3JkCSA0dGgJIDV0aAkgNnRoCSA3dGgJIDh0aAkgOXRoCSAxMHRoCgkvLyAxMXRoCTEydGgJMTN0aAkxNHRoCTE1dGgJMTZ0aAkxN3RoCTE4dGgJMTl0aAkyMHRoCQoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gYWRkT3JkaW5hbE51bWJlclN1ZmZpeCgkbnVtKSB7CgkJaWYgKCFpbl9hcnJheSgoJG51bSAlIDEwMCksYXJyYXkoMTEsMTIsMTMpKSl7CgkJCXN3aXRjaCAoJG51bSAlIDEwKSB7CgkgCQkJLy8gSGFuZGxlIDFzdCwgMm5kLCAzcmQKCQkJCWNhc2UgMTogIHJldHVybiAkbnVtLidzdCc7CgkgCQkJY2FzZSAyOiAgcmV0dXJuICRudW0uJ25kJzsKCQkJCWNhc2UgMzogIHJldHVybiAkbnVtLidyZCc7CgkJCX0KCQl9CgkJcmV0dXJuICRudW0uJ3RoJzsKCSB9Cn0=]]></data>
	</file>
	<file>
	  <filename>/lib/class.ImageWorkshop.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8vbmFtZXNwYWNlIFBIUEltYWdlV29ya3Nob3A7CgovL3VzZSBQSFBJbWFnZVdvcmtzaG9wXEltYWdlV29ya3Nob3BFeGNlcHRpb247CgovL3JlcXVpcmVfb25jZShfX0RJUl9fLicvSW1hZ2VXb3Jrc2hvcEV4Y2VwdGlvbi5waHAnKTsgLy8gSWYgbm8gYXV0b2xvYWRlciwgdW5jb21tZW50IHRoaXMgbGluZQoKY2xhc3MgSW1hZ2VXb3Jrc2hvcEV4Y2VwdGlvbiBleHRlbmRzIFxFeGNlcHRpb24KewogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RvcgogICAgICogCiAgICAgKiBAcGFyYW0gc3RyaW5nICRtZXNzYWdlCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkY29kZQogICAgICogQHBhcmFtIEV4Y2VwdGlvbiAkcHJldmlvdXMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRtZXNzYWdlLCAkY29kZSA9IDAsIFxFeGNlcHRpb24gJHByZXZpb3VzID0gbnVsbCkKICAgIHsKICAgICAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCRtZXNzYWdlLCAkY29kZSwgJHByZXZpb3VzKTsKICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBfX3RvU3RyaW5nIG1ldGhvZAogICAgICoKICAgICAqIEByZXR1cm4gc3RyaW5nCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkKICAgIHsKICAgICAgICByZXR1cm4gX19DTEFTU19fLiI6IFt7JHRoaXMtPmNvZGV9XTogeyR0aGlzLT5tZXNzYWdlfVxuIjsKICAgIH0KfQoKCi8qKgogKiBJbWFnZVdvcmtzaG9wIGNsYXNzCiAqCiAqIFBvd2VyZnVsIFBIUCBjbGFzcyB1c2luZyBHRCBsaWJyYXJ5IHRvIHdvcmsgZWFzaWx5IHdpdGggaW1hZ2VzIGluY2x1ZGluZyBsYXllciBub3Rpb24gKGxpa2UgUGhvdG9zaG9wIG9yIEdJTVApLgogKiBJbWFnZVdvcmtzaG9wIGNhbiBiZSB1c2VkIGFzIGEgbGF5ZXIsIGEgZ3JvdXAgb3IgYSBkb2N1bWVudC4KICoKICogQHZlcnNpb24gMS4zLjMKICogQGxpbmsgaHR0cDovL3BocGltYWdld29ya3Nob3AuY29tCiAqIEBhdXRob3IgU3liaW8gKENsw6ltZW50IEd1aWxsZW1haW4gIC8gQFN5YmlvMDEpCiAqIEBsaWNlbnNlIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5waHAgR05VIFB1YmxpYyBMaWNlbnNlCiAqIEBjb3B5cmlnaHQgQ2zDqW1lbnQgR3VpbGxlbWFpbgogKi8KY2xhc3MgSW1hZ2VXb3Jrc2hvcAp7CiAgICAvLyBQcm9wZXJ0aWVzCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIC8qKgogICAgICogQHZhciB3aWR0aAogICAgICoKICAgICAqIFdpZHRoIG9mIHRoZSBncm91cCBtb2RlbAogICAgICogRGVmYXVsdDogODAwCiAgICAgKi8KICAgIHByb3RlY3RlZCAkd2lkdGg7CgogICAgLyoqCiAgICAgKiBAdmFyIGhlaWdodAogICAgICoKICAgICAqIEhlaWdodCBvZiB0aGUgZ3JvdXAgbW9kZWwKICAgICAqIERlZmF1bHQ6IDYwMAogICAgICovCiAgICBwcm90ZWN0ZWQgJGhlaWdodDsKCiAgICAvKioKICAgICAqIEB2YXIgbGF5ZXJzCiAgICAgKgogICAgICogTGF5ZXJzIChhbmQgZ3JvdXBzKQogICAgICovCiAgICBwdWJsaWMgJGxheWVyczsKCiAgICAvKioKICAgICAqIEB2YXIgbGF5ZXJMZXZlbHMKICAgICAqCiAgICAgKiBMZXZlbHMgb2YgdGhlIHN1YmxheWVycyBpbiB0aGUgc3RhY2sKICAgICAqLwogICAgcHJvdGVjdGVkICRsYXllckxldmVsczsKCiAgICAvKioKICAgICAqIEB2YXIgbGF5ZXJQb3NpdGlvbnMKICAgICAqCiAgICAgKiBQb3NpdGlvbnMgKHggYW5kIHkpIG9mIHRoZSBzdWJsYXllcnMgaW4gdGhlIHN0YWNrCiAgICAgKi8KICAgIHByb3RlY3RlZCAkbGF5ZXJQb3NpdGlvbnM7CgogICAgLyoqCiAgICAgKiBAdmFyIGxhc3RMYXllcklkCiAgICAgKgogICAgICogSWQgb2YgdGhlIGxhc3QgaW5kZXhlZCBzdWJsYXllciBpbiB0aGUgc3RhY2sKICAgICAqLwogICAgcHJvdGVjdGVkICRsYXN0TGF5ZXJJZDsKCiAgICAvKioKICAgICAqIEB2YXIgaGlnaGVzdExheWVyTGV2ZWwKICAgICAqCiAgICAgKiBUaGUgaGlnaGVzdCBzdWJsYXllciBsZXZlbAogICAgICovCiAgICBwcm90ZWN0ZWQgJGhpZ2hlc3RMYXllckxldmVsOwoKICAgIC8qKgogICAgICogQHZhciBpbWFnZQogICAgICoKICAgICAqIEJhY2tncm91bmQgSW1hZ2UKICAgICAqLwogICAgcHJvdGVjdGVkICRpbWFnZTsKICAgIAogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovCiAgICBjb25zdCBVTklUX1BJWEVMID0gJ3BpeGVsJzsKICAgIAogICAgLyoqCiAgICAgKiBAdmFyIHN0cmluZwogICAgICovICAgIAogICAgY29uc3QgVU5JVF9QRVJDRU5UID0gJ3BlcmNlbnQnOwoKICAgIC8qKgogICAgICogQHZhciBpbnRlZ2VyCiAgICAgKi8KICAgIGNvbnN0IEVSUk9SX0dEX05PVF9JTlNUQUxMRUQgPSAxOwogICAgCiAgICAvKioKICAgICAqIEB2YXIgaW50ZWdlcgogICAgICovCiAgICBjb25zdCBFUlJPUl9OT1RfQU5fSU1BR0VfRklMRSA9IDI7CiAgICAKICAgIC8qKgogICAgICogQHZhciBpbnRlZ2VyCiAgICAgKi8KICAgIGNvbnN0IEVSUk9SX1BIUF9JTUFHRV9WQVJfTk9UX1VTRUQgPSAzOwogICAgCiAgICAvKioKICAgICAqIEB2YXIgaW50ZWdlcgogICAgICovCiAgICBjb25zdCBFUlJPUl9JTUFHRV9OT1RfRk9VTkQgPSA0OwoKICAgIC8vIE1ldGhvZHMKICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgLyoqCiAgICAgKiBDb25zdHJ1Y3RvcgogICAgICoKICAgICAqIEBwYXJhbSBhcnJheSAkcGFyYW1zCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkcGFyYW1zID0gYXJyYXkoKSkKICAgIHsKICAgICAgICBpZiAoIWV4dGVuc2lvbl9sb2FkZWQoJ2dkJykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEltYWdlV29ya3Nob3BFeGNlcHRpb24oJ1BIUEltYWdlV29ya3Nob3AgcmVxdWlyZXMgdGhlIEdEIGV4dGVuc2lvbiB0byBiZSBsb2FkZWQuJywgSW1hZ2VXb3Jrc2hvcDo6RVJST1JfR0RfTk9UX0lOU1RBTExFRCk7CiAgICAgICAgfQogICAgCQogICAgICAgICR0aGlzLT53aWR0aCA9IDgwMDsKICAgICAgICAkdGhpcy0+aGVpZ2h0ID0gNjAwOwogICAgICAgICR0aGlzLT5sYXllcnMgPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5sYXllckxldmVscyA9IGFycmF5KCk7CiAgICAgICAgJHRoaXMtPmxheWVyUG9zaXRpb25zID0gYXJyYXkoKTsKICAgICAgICAkaW1hZ2VGcm9tUGF0aCA9IG51bGw7CiAgICAgICAgJGltYWdlVmFyID0gbnVsbDsKICAgICAgICAkaW1hZ2VTdHJpbmcgPSBudWxsOwogICAgICAgICRiYWNrZ3JvdW5kQ29sb3IgPSBudWxsOwogICAgICAgICR0ZXh0ID0gbnVsbDsKICAgICAgICAkZm9udFBhdGggPSBudWxsOwogICAgICAgICRmb250U2l6ZSA9IDEzOwogICAgICAgICRmb250Q29sb3IgPSAnZmZmZmZmJzsKICAgICAgICAkdGV4dFJvdGF0aW9uID0gMDsKICAgICAgICAkZmlsZU9iamVjdCA9IG51bGw7CiAgICAgICAgJHRtcE5hbWUgPSBudWxsOwogICAgICAgICRtaW1lVHlwZSA9IG51bGw7CgogICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCd3aWR0aCcsICRwYXJhbXMpKSB7CiAgICAgICAgICAgICR0aGlzLT53aWR0aCA9ICRwYXJhbXNbJ3dpZHRoJ107CiAgICAgICAgfQoKICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygnaGVpZ2h0JywgJHBhcmFtcykpIHsKICAgICAgICAgICAgJHRoaXMtPmhlaWdodCA9ICRwYXJhbXNbJ2hlaWdodCddOwogICAgICAgIH0KCiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJ2ltYWdlRnJvbVBhdGgnLCAkcGFyYW1zKSkgewogICAgICAgICAgICAkaW1hZ2VGcm9tUGF0aCA9ICRwYXJhbXNbJ2ltYWdlRnJvbVBhdGgnXTsKICAgICAgICB9CgogICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCdpbWFnZVZhcicsICRwYXJhbXMpKSB7CiAgICAgICAgICAgICRpbWFnZVZhciA9ICRwYXJhbXNbJ2ltYWdlVmFyJ107CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCdpbWFnZUZyb21TdHJpbmcnLCAkcGFyYW1zKSkgewogICAgICAgICAgICAkaW1hZ2VTdHJpbmcgPSAkcGFyYW1zWydpbWFnZUZyb21TdHJpbmcnXTsKICAgICAgICB9CgogICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCdiYWNrZ3JvdW5kQ29sb3InLCAkcGFyYW1zKSkgewogICAgICAgICAgICAkYmFja2dyb3VuZENvbG9yID0gJHBhcmFtc1snYmFja2dyb3VuZENvbG9yJ107CiAgICAgICAgfQoKICAgICAgICAvLyBUZXh0IGxheWVyCgogICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCd0ZXh0JywgJHBhcmFtcykpIHsKICAgICAgICAgICAgJHRleHQgPSAkcGFyYW1zWyd0ZXh0J107CiAgICAgICAgfQoKICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygnZm9udFBhdGgnLCAkcGFyYW1zKSkgewogICAgICAgICAgICAkZm9udFBhdGggPSAkcGFyYW1zWyJmb250UGF0aCJdOwogICAgICAgIH0KCiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJ2ZvbnRTaXplJywgJHBhcmFtcykpIHsKICAgICAgICAgICAgJGZvbnRTaXplID0gJHBhcmFtc1snZm9udFNpemUnXTsKICAgICAgICB9CgogICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCdmb250Q29sb3InLCAkcGFyYW1zKSkgewogICAgICAgICAgICAkZm9udENvbG9yID0gJHBhcmFtc1snZm9udENvbG9yJ107CiAgICAgICAgfQoKICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygndGV4dFJvdGF0aW9uJywgJHBhcmFtcykpIHsKICAgICAgICAgICAgJHRleHRSb3RhdGlvbiA9ICRwYXJhbXNbJ3RleHRSb3RhdGlvbiddOwogICAgICAgIH0KCiAgICAgICAgLy8gVXBsb2FkZWQgZmlsZSBvYmplY3QgbGF5ZXIKCiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJ2ZpbGVPYmplY3QnLCAkcGFyYW1zKSkgewoKICAgICAgICAgICAgJGZpbGVPYmplY3QgPSAkcGFyYW1zWydmaWxlT2JqZWN0J107CgogICAgICAgIH0gZWxzZWlmIChhcnJheV9rZXlfZXhpc3RzKCd0bXBOYW1lJywgJHBhcmFtcykpIHsKCiAgICAgICAgICAgICR0bXBOYW1lID0gJHBhcmFtc1sndG1wTmFtZSddOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmNsZWFyU3RhY2soKTsKCiAgICAgICAgLy8gSW5pdGlhbGl6YXRpb24gb2YgdGhlIGxheWVyIGRpbWVuc2lvbnMgYW5kIGJhY2tncm91bmQgaW1hZ2UKCiAgICAgICAgaWYgKCRpbWFnZUZyb21QYXRoIHx8ICRmaWxlT2JqZWN0IHx8ICR0bXBOYW1lKSB7CgogICAgICAgICAgICBpZiAoJGZpbGVPYmplY3QpIHsKCiAgICAgICAgICAgICAgICAkaW1hZ2VGcm9tUGF0aCA9ICRmaWxlT2JqZWN0Wyd0bXBfbmFtZSddOwoKICAgICAgICAgICAgfSBlbHNlaWYgKCR0bXBOYW1lKSB7CgogICAgICAgICAgICAgICAgJGltYWdlRnJvbVBhdGggPSAkdG1wTmFtZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHRoaXMtPmluaXRpYWxpemVJbWFnZUZyb20oJGltYWdlRnJvbVBhdGgpOwoKICAgICAgICB9IGVsc2VpZiAoJGltYWdlVmFyKSB7CgogICAgICAgICAgICAkdGhpcy0+aW5pdGlhbGl6ZUltYWdlV2l0aCgkaW1hZ2VWYXIpOwogICAgICAgICAgICAKICAgICAgICB9IGVsc2VpZiAoJGltYWdlU3RyaW5nKSB7CgogICAgICAgICAgICAkaW1hZ2VWYXIgPSBpbWFnZWNyZWF0ZWZyb21zdHJpbmcoJGltYWdlU3RyaW5nKTsKICAgIAogICAgICAgICAgICAkdGhpcy0+aW5pdGlhbGl6ZUltYWdlV2l0aCgkaW1hZ2VWYXIpOwogICAgICAgICAgICAKICAgICAgICB9IGVsc2VpZiAoJHRleHQgJiYgJGZvbnRQYXRoKSB7CgogICAgICAgICAgICAkdGhpcy0+aW5pdGlhbGl6ZVRleHRJbWFnZSgkdGV4dCwgJGZvbnRQYXRoLCAkZm9udFNpemUsICRmb250Q29sb3IsICR0ZXh0Um90YXRpb24sICRiYWNrZ3JvdW5kQ29sb3IpOwoKICAgICAgICB9IGVsc2UgewoKICAgICAgICAgICAgJHRoaXMtPmluaXRpYWxpemVJbWFnZSgkYmFja2dyb3VuZENvbG9yKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDbG9uZSBtZXRob2Q6IHVzZSBpdCBpZiB5b3Ugd2FudCB0byByZXVzZSBhbiBleGlzdGluZyBJbWFnZVdvcmtzaG9wIG9iamVjdCBpbiBhbm90aGVyIHZhcmlhYmxlCiAgICAgKiBUaGlzIGlzIGltcG9ydGFudCBiZWNhdXNlIGltZyByZXNvdXJjZSB2YXIgcmVmZXJlbmNlcyBhbGwgdGhlIHNhbWUgaW1hZ2UgaW4gUEhQLgogICAgICogRXhhbXBsZTogJGIgPSBjbG9uZSAkYTsgKG5ldmVyIGRvICRiID0gJGE7KQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jbG9uZSgpCiAgICB7CiAgICAgICAgJHRoaXMtPmNyZWF0ZU5ld1ZhckZyb21CYWNrZ3JvdW5kSW1hZ2UoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFBhc3RlIGFuIGltYWdlIG9uIHRoZSBsYXllcgogICAgICogWW91IGNhbiBzcGVjaWZ5IHRoZSBwb3NpdGlvbiBsZWZ0IChpbiBwaXhlbHMpIGFuZCB0aGUgcG9zaXRpb24gdG9wIChpbiBwaXhlbHMpIG9mIHRoZSBhZGRlZCBpbWFnZSByZWxhdGl2ZXMgdG8gdGhlIGxheWVyCiAgICAgKiBPdGhlcndpc2UsIGl0IHdpbGwgYmUgc2V0IGF0IDAgYW5kIDAKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IFVzZSBvbmUgb2YgYFVOSVRfKmAgY29uc3RhbnRzLCAiVU5JVF9QSVhFTCIgYnkgZGVmYXVsdAogICAgICogQHBhcmFtIHJlc291cmNlICRpbWFnZQogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWAogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcGFzdGVJbWFnZSgkdW5pdCA9IHNlbGY6OlVOSVRfUElYRUwsICRpbWFnZSwgJHBvc2l0aW9uWCA9IDAsICRwb3NpdGlvblkgPSAwKQogICAgewogICAgICAgIGlmICgkdW5pdCA9PSBzZWxmOjpVTklUX1BFUkNFTlQpIHsKCiAgICAgICAgICAgICRwb3NpdGlvblggPSByb3VuZCgoJHBvc2l0aW9uWCAvIDEwMCkgKiAkdGhpcy0+d2lkdGgpOwogICAgICAgICAgICAkcG9zaXRpb25ZID0gcm91bmQoKCRwb3NpdGlvblkgLyAxMDApICogJHRoaXMtPmhlaWdodCk7CiAgICAgICAgfQoKICAgICAgICBpbWFnZWNvcHkoJHRoaXMtPmltYWdlLCAkaW1hZ2UsICRwb3NpdGlvblgsICRwb3NpdGlvblksIDAsIDAsICRpbWFnZS0+Z2V0V2lkdGgoKSwgJGltYWdlLT5nZXRIZWlnaHQoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYW4gZXhpc3RpbmcgSW1hZ2VXb3Jrc2hvcCBzdWJsYXllciBhbmQgc2V0IGl0IGluIHRoZSBzdGFjayBhdCBhIGdpdmVuIGxldmVsCiAgICAgKiBSZXR1cm4gYW4gYXJyYXkgY29udGFpbmluZyB0aGUgZ2VuZXJhdGVkIHN1YmxheWVyIGlkIGluIHRoZSBzdGFjayBhbmQgaXRzIGNvcnJlY3RlZCBsZXZlbDoKICAgICAqIGFycmF5KCJsYXllckxldmVsIiA9PiBpbnRlZ2VyLCAiaWQiID0+IGludGVnZXIpCiAgICAgKgogICAgICogJHBvc2l0aW9uOiBodHRwOi8vcGhwaW1hZ2V3b3Jrc2hvcC5jb20vZG9jLzIyL2Nvcm5lcnMtcG9zaXRpb25zLXNjaGVtYS1vZi1hbi1pbWFnZS5odG1sCiAgICAgKgogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVyTGV2ZWwKICAgICAqIEBwYXJhbSBJbWFnZVdvcmtzaG9wICRsYXllcgogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWAogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWQogICAgICogQHBhcmFtIHN0cmluZyAkcG9zaXRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRMYXllcigkbGF5ZXJMZXZlbCwgJGxheWVyLCAkcG9zaXRpb25YID0gMCwgJHBvc2l0aW9uWSA9IDAsICRwb3NpdGlvbiA9ICJMVCIpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5pbmRleExheWVyKCRsYXllckxldmVsLCAkbGF5ZXIsICRwb3NpdGlvblgsICRwb3NpdGlvblksICRwb3NpdGlvbik7CiAgICB9CgogICAgLyoqCiAgICAgKiBBZGQgYW4gZXhpc3RpbmcgSW1hZ2VXb3Jrc2hvcCBzdWJsYXllciBhbmQgc2V0IGl0IGluIHRoZSBzdGFjayBhdCB0aGUgaGlnaGVzdCBsZXZlbAogICAgICogUmV0dXJuIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGdlbmVyYXRlZCBzdWJsYXllciBpZCBpbiB0aGUgc3RhY2sgYW5kIHRoZSBoaWdoZXN0IGxldmVsOgogICAgICogYXJyYXkoImxheWVyTGV2ZWwiID0+IGludGVnZXIsICJpZCIgPT4gaW50ZWdlcikKICAgICAqCiAgICAgKiAkcG9zaXRpb246IGh0dHA6Ly9waHBpbWFnZXdvcmtzaG9wLmNvbS9kb2MvMjIvY29ybmVycy1wb3NpdGlvbnMtc2NoZW1hLW9mLWFuLWltYWdlLmh0bWwKICAgICAqCiAgICAgKiBAcGFyYW0gSW1hZ2VXb3Jrc2hvcCAkbGF5ZXIKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblgKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBvc2l0aW9uCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gYWRkTGF5ZXJPblRvcCgkbGF5ZXIsICRwb3NpdGlvblggPSAwLCAkcG9zaXRpb25ZID0gMCwgJHBvc2l0aW9uID0gIkxUIikKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmluZGV4TGF5ZXIoJHRoaXMtPmhpZ2hlc3RMYXllckxldmVsICsgMSwgJGxheWVyLCAkcG9zaXRpb25YLCAkcG9zaXRpb25ZLCAkcG9zaXRpb24pOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGFuIGV4aXN0aW5nIEltYWdlV29ya3Nob3Agc3VibGF5ZXIgYW5kIHNldCBpdCBpbiB0aGUgc3RhY2sgYXQgbGV2ZWwgMQogICAgICogUmV0dXJuIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGdlbmVyYXRlZCBzdWJsYXllciBpZCBpbiB0aGUgc3RhY2sgYW5kIGxldmVsIDE6CiAgICAgKiBhcnJheSgibGF5ZXJMZXZlbCIgPT4gaW50ZWdlciwgImlkIiA9PiBpbnRlZ2VyKQogICAgICoKICAgICAqICRwb3NpdGlvbjogaHR0cDovL3BocGltYWdld29ya3Nob3AuY29tL2RvYy8yMi9jb3JuZXJzLXBvc2l0aW9ucy1zY2hlbWEtb2YtYW4taW1hZ2UuaHRtbAogICAgICoKICAgICAqIEBwYXJhbSBJbWFnZVdvcmtzaG9wICRsYXllcgogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWAogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWQogICAgICogQHBhcmFtIHN0cmluZyAkcG9zaXRpb24KICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhZGRMYXllckJlbG93KCRsYXllciwgJHBvc2l0aW9uWCA9IDAsICRwb3NpdGlvblkgPSAwLCAkcG9zaXRpb24gPSAiTFQiKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+aW5kZXhMYXllcigxLCAkbGF5ZXIsICRwb3NpdGlvblgsICRwb3NpdGlvblksICRwb3NpdGlvbik7CiAgICB9CgogICAgLyoqCiAgICAgKiBNZXJnZSBhIHN1YmxheWVyIHdpdGggYW5vdGhlciBzdWJsYXllciBiZWxvdyBpdCBpbiB0aGUgc3RhY2sKICAgICAqIE5vdGU6IHRoZSByZXN1bHQgbGF5ZXIgd2lsbCBjb25zZXJ2ZSB0aGUgZ2l2ZW4gaWQKICAgICAqIFJldHVybiB0cnVlIGlmIHN1Y2Nlc3Mgb3IgZmFsc2UgaWYgbGF5ZXIgaXNuJ3QgZm91bmQgb3IgZG9lc24ndCBoYXZlIGEgbGF5ZXIgdW5kZXIgaXQgaW4gdGhlIHN0YWNrCiAgICAgKgogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVySWQKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG1lcmdlRG93bigkbGF5ZXJJZCkKICAgIHsKICAgICAgICAvLyBpZiB0aGUgbGF5ZXIgZXhpc3RzIGluIGRvY3VtZW50CiAgICAgICAgaWYgKCR0aGlzLT5pc0xheWVySW5JbmRleCgkbGF5ZXJJZCkpIHsKCiAgICAgICAgICAgICRsYXllckxldmVsID0gJHRoaXMtPmdldExheWVyTGV2ZWwoJGxheWVySWQpOwogICAgICAgICAgICAkbGF5ZXJQb3NpdGlvbnMgPSAkdGhpcy0+Z2V0TGF5ZXJQb3NpdGlvbnMoJGxheWVySWQpOwoKICAgICAgICAgICAgJGxheWVyID0gJHRoaXMtPmdldExheWVyKCRsYXllcklkKTsKICAgICAgICAgICAgJGxheWVyV2lkdGggPSAkbGF5ZXItPmdldFdpZHRoKCk7CiAgICAgICAgICAgICRsYXllckhlaWdodCA9ICRsYXllci0+Z2V0SGVpZ2h0KCk7CiAgICAgICAgICAgICRsYXllclBvc2l0aW9uWCA9ICR0aGlzLT5sYXllclBvc2l0aW9uc1skbGF5ZXJJZF1bIngiXTsKICAgICAgICAgICAgJGxheWVyUG9zaXRpb25ZID0gJHRoaXMtPmxheWVyUG9zaXRpb25zWyRsYXllcklkXVsieSJdOwoKICAgICAgICAgICAgaWYgKCRsYXllckxldmVsID4gMSkgewoKICAgICAgICAgICAgICAgICR1bmRlckxheWVySWQgPSAkdGhpcy0+bGF5ZXJMZXZlbHNbJGxheWVyTGV2ZWwgLSAxXTsKICAgICAgICAgICAgICAgICR1bmRlckxheWVyID0gJHRoaXMtPmdldExheWVyKCR1bmRlckxheWVySWQpOwogICAgICAgICAgICAgICAgJHVuZGVyTGF5ZXJXaWR0aCA9ICR1bmRlckxheWVyLT5nZXRXaWR0aCgpOwogICAgICAgICAgICAgICAgJHVuZGVyTGF5ZXJIZWlnaHQgPSAkdW5kZXJMYXllci0+Z2V0SGVpZ2h0KCk7CiAgICAgICAgICAgICAgICAkdW5kZXJMYXllclBvc2l0aW9uWCA9ICR0aGlzLT5sYXllclBvc2l0aW9uc1skdW5kZXJMYXllcklkXVsieCJdOwogICAgICAgICAgICAgICAgJHVuZGVyTGF5ZXJQb3NpdGlvblkgPSAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJHVuZGVyTGF5ZXJJZF1bInkiXTsKCiAgICAgICAgICAgICAgICAkdG90YWxXaWR0aExheWVyID0gJGxheWVyV2lkdGggKyAkbGF5ZXJQb3NpdGlvblg7CiAgICAgICAgICAgICAgICAkdG90YWxIZWlnaHRMYXllciA9ICRsYXllckhlaWdodCArICRsYXllclBvc2l0aW9uWTsKCiAgICAgICAgICAgICAgICAkdG90YWxXaWR0aFVuZGVyTGF5ZXIgPSAkdW5kZXJMYXllcldpZHRoICsgJHVuZGVyTGF5ZXJQb3NpdGlvblg7CiAgICAgICAgICAgICAgICAkdG90YWxIZWlnaHRVbmRlckxheWVyID0gJHVuZGVyTGF5ZXJIZWlnaHQgKyAkdW5kZXJMYXllclBvc2l0aW9uWTsKCiAgICAgICAgICAgICAgICAkbWluTGF5ZXJQb3NpdGlvblggPSAkbGF5ZXJQb3NpdGlvblg7CgogICAgICAgICAgICAgICAgaWYgKCRsYXllclBvc2l0aW9uWCA+ICR1bmRlckxheWVyUG9zaXRpb25YKSB7CgogICAgICAgICAgICAgICAgICAgICRtaW5MYXllclBvc2l0aW9uWCA9ICR1bmRlckxheWVyUG9zaXRpb25YOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRtaW5MYXllclBvc2l0aW9uWSA9ICRsYXllclBvc2l0aW9uWTsKCiAgICAgICAgICAgICAgICBpZiAoJGxheWVyUG9zaXRpb25ZID4gJHVuZGVyTGF5ZXJQb3NpdGlvblkpIHsKCiAgICAgICAgICAgICAgICAgICAgJG1pbkxheWVyUG9zaXRpb25ZID0gJHVuZGVyTGF5ZXJQb3NpdGlvblk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCR0b3RhbFdpZHRoTGF5ZXIgPiAkdG90YWxXaWR0aFVuZGVyTGF5ZXIpIHsKCiAgICAgICAgICAgICAgICAgICAgJGxheWVyVG1wV2lkdGggPSAkdG90YWxXaWR0aExheWVyIC0gJG1pbkxheWVyUG9zaXRpb25YOwoKICAgICAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAgICAgICRsYXllclRtcFdpZHRoID0gJHRvdGFsV2lkdGhVbmRlckxheWVyIC0gJG1pbkxheWVyUG9zaXRpb25YOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICgkdG90YWxIZWlnaHRMYXllciA+ICR0b3RhbEhlaWdodFVuZGVyTGF5ZXIpIHsKCiAgICAgICAgICAgICAgICAgICAgJGxheWVyVG1wSGVpZ2h0ID0gJHRvdGFsSGVpZ2h0TGF5ZXIgLSAkbWluTGF5ZXJQb3NpdGlvblk7CgogICAgICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICAgICAgJGxheWVyVG1wSGVpZ2h0ID0gJHRvdGFsSGVpZ2h0VW5kZXJMYXllciAtICRtaW5MYXllclBvc2l0aW9uWTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkbGF5ZXJUbXAgPSBuZXcgc3RhdGljKGFycmF5KAogICAgICAgICAgICAgICAgICAgICJ3aWR0aCIgPT4gJGxheWVyVG1wV2lkdGgsCiAgICAgICAgICAgICAgICAgICAgImhlaWdodCIgPT4gJGxheWVyVG1wSGVpZ2h0LAogICAgICAgICAgICAgICAgKSk7CgogICAgICAgICAgICAgICAgJGxheWVyVG1wLT5hZGRMYXllcigxLCAkdW5kZXJMYXllciwgJHVuZGVyTGF5ZXJQb3NpdGlvblggLSAkbWluTGF5ZXJQb3NpdGlvblgsICR1bmRlckxheWVyUG9zaXRpb25ZIC0gJG1pbkxheWVyUG9zaXRpb25ZKTsKICAgICAgICAgICAgICAgICRsYXllclRtcC0+YWRkTGF5ZXIoMiwgJGxheWVyLCAkbGF5ZXJQb3NpdGlvblggLSAkbWluTGF5ZXJQb3NpdGlvblgsICRsYXllclBvc2l0aW9uWSAtICRtaW5MYXllclBvc2l0aW9uWSk7CgogICAgICAgICAgICAgICAgLy8gVXBkYXRlIGxheWVycwogICAgICAgICAgICAgICAgJGxheWVyVG1wLT5tZXJnZUFsbCgpOwoKICAgICAgICAgICAgICAgICR0aGlzLT5sYXllcnNbJHVuZGVyTGF5ZXJJZF0gPSBjbG9uZSAkbGF5ZXJUbXA7CiAgICAgICAgICAgICAgICAkdGhpcy0+Y2hhbmdlUG9zaXRpb24oJHVuZGVyTGF5ZXJJZCwgJG1pbkxheWVyUG9zaXRpb25YLCAkbWluTGF5ZXJQb3NpdGlvblgpOwoKICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICAkbGF5ZXJUbXAgPSBuZXcgc3RhdGljKGFycmF5KAogICAgICAgICAgICAgICAgICAgICJpbWFnZVZhciIgPT4gJHRoaXMtPmltYWdlLAogICAgICAgICAgICAgICAgKSk7CgogICAgICAgICAgICAgICAgJGxheWVyVG1wLT5hZGRMYXllcigxLCAkbGF5ZXIsICRsYXllclBvc2l0aW9uWCwgJGxheWVyUG9zaXRpb25ZKTsKCiAgICAgICAgICAgICAgICAvLyBVcGRhdGUgYmFja2dyb3VuZCBpbWFnZQogICAgICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gJGxheWVyVG1wLT5nZXRSZXN1bHQoKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdW5zZXQoJGxheWVyVG1wKTsKCiAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgbWVyZ2VkIGxheWVyIGZyb20gdGhlIHN0YWNrCiAgICAgICAgICAgICR0aGlzLT5yZW1vdmUoJGxheWVySWQpOwoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBNZXJnZSBzdWJsYXllcnMgaW4gdGhlIHN0YWNrIG9uIHRoZSBsYXllciBiYWNrZ3JvdW5kCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBtZXJnZUFsbCgpCiAgICB7CiAgICAgICAgJHRoaXMtPmltYWdlID0gJHRoaXMtPmdldFJlc3VsdCgpOwogICAgICAgICR0aGlzLT5jbGVhclN0YWNrKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBNb3ZlIGEgc3VibGF5ZXIgb24gdGhlIHRvcCBvZiBhIGdyb3VwIHN0YWNrCiAgICAgKiBSZXR1cm4gbmV3IHN1YmxheWVyIGxldmVsIGlmIHN1Y2Nlc3Mgb3IgZmFsc2Ugb3RoZXJ3aXNlCiAgICAgKgogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVySWQKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG1vdmVUb3AoJGxheWVySWQpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5tb3ZlVG8oJGxheWVySWQsICR0aGlzLT5oaWdoZXN0TGF5ZXJMZXZlbCwgZmFsc2UpOwogICAgfQoKICAgIC8qKgogICAgICogTW92ZSBhIHN1YmxheWVyIHRvIHRoZSBsZXZlbCAxIG9mIGEgZ3JvdXAgc3RhY2sKICAgICAqIFJldHVybiBuZXcgc3VibGF5ZXIgbGV2ZWwgaWYgc3VjY2VzcyBvciBmYWxzZSBvdGhlcndpc2UKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJJZAogICAgICogQHBhcmFtIGludGVnZXIgJGxldmVsCiAgICAgKgogICAgICogQHJldHVybiBtaXhlZAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbW92ZUJvdHRvbSgkbGF5ZXJJZCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPm1vdmVUbygkbGF5ZXJJZCwgMSwgdHJ1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBNb3ZlIGEgc3VibGF5ZXIgdG8gdGhlIGxldmVsICRsZXZlbCBvZiBhIGdyb3VwIHN0YWNrCiAgICAgKiBSZXR1cm4gbmV3IHN1YmxheWVyIGxldmVsIGlmIHN1Y2Nlc3Mgb3IgZmFsc2UgaWYgbGF5ZXIgaXNuJ3QgZm91bmQKICAgICAqCiAgICAgKiBTZXQgJGluc2VydFVuZGVyVGFyZ2V0ZWRMYXllciB0cnVlIGlmIHlvdSB3YW50IHRvIG1vdmUgdGhlIHN1YmxheWVyIHVuZGVyIHRoZSBvdGhlciBzdWJsYXllciBhdCB0aGUgdGFyZ2V0ZWQgbGV2ZWwsCiAgICAgKiBvciBmYWxzZSB0byBpbnNlcnQgaXQgb24gdGhlIHRvcCBvZiB0aGUgb3RoZXIgc3VibGF5ZXIgYXQgdGhlIHRhcmdldGVkIGxldmVsCiAgICAgKgogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVySWQKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsZXZlbAogICAgICogQHBhcmFtIGJvb2xlYW4gJGluc2VydFVuZGVyVGFyZ2V0ZWRMYXllcgogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG1vdmVUbygkbGF5ZXJJZCwgJGxldmVsLCAkaW5zZXJ0VW5kZXJUYXJnZXRlZExheWVyID0gdHJ1ZSkKICAgIHsKICAgICAgICAvLyBpZiB0aGUgc3VibGF5ZXIgZXhpc3RzIGluIHN0YWNrCiAgICAgICAgaWYgKCR0aGlzLT5pc0xheWVySW5JbmRleCgkbGF5ZXJJZCkpIHsKCiAgICAgICAgICAgICRsYXllck9sZExldmVsID0gJHRoaXMtPmdldExheWVyTGV2ZWwoJGxheWVySWQpOwoKICAgICAgICAgICAgaWYgKCRsZXZlbCA8IDEpIHsKICAgICAgICAgICAgICAgICRsZXZlbCA9IDE7CiAgICAgICAgICAgICAgICAkaW5zZXJ0VW5kZXJUYXJnZXRlZExheWVyID0gdHJ1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCRsZXZlbCA+ICR0aGlzLT5oaWdoZXN0TGF5ZXJMZXZlbCkgewoKICAgICAgICAgICAgICAgICRsZXZlbCA9ICR0aGlzLT5oaWdoZXN0TGF5ZXJMZXZlbDsKICAgICAgICAgICAgICAgICRpbnNlcnRVbmRlclRhcmdldGVkTGF5ZXIgPSBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gTm90IHRoZSBzYW1lIGxldmVsIHRoYW4gdGhlIGN1cnJlbnQgbGV2ZWwKICAgICAgICAgICAgaWYgKCRsYXllck9sZExldmVsICE9ICRsZXZlbCkgewoKICAgICAgICAgICAgICAgICRpc1VuZGVyQW5kTmV3TGV2ZWxIaWdoZXIgPSBmYWxzZTsKICAgICAgICAgICAgICAgICRpc1VuZGVyQW5kTmV3TGV2ZWxMb3dlciA9IGZhbHNlOwogICAgICAgICAgICAgICAgJGlzT25Ub3BBbmROZXdMZXZlbEhpZ2hlciA9IGZhbHNlOwogICAgICAgICAgICAgICAgJGlzT25Ub3BBbmROZXdMZXZlbExvd2VyID0gZmFsc2U7CgogICAgICAgICAgICAgICAgaWYgKCRpbnNlcnRVbmRlclRhcmdldGVkTGF5ZXIpIHsgLy8gVW5kZXIgbGV2ZWwKCiAgICAgICAgICAgICAgICAgICAgaWYgKCRsZXZlbCA+ICRsYXllck9sZExldmVsKSB7IC8vIG5ldyBsZXZlbCBoaWdoZXIKCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmNyZW1lbnRvclN0YXJ0aW5nVmFsdWUgPSAkbGF5ZXJPbGRMZXZlbDsKICAgICAgICAgICAgICAgICAgICAgICAgJHN0b3BMb29wV2hlblNtYWxsZXJUaGFuID0gJGxldmVsOwogICAgICAgICAgICAgICAgICAgICAgICAkaXNVbmRlckFuZE5ld0xldmVsSGlnaGVyID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsgLy8gbmV3IGxldmVsIGxvd2VyCgogICAgICAgICAgICAgICAgICAgICAgICAkaW5jcmVtZW50b3JTdGFydGluZ1ZhbHVlID0gJGxldmVsOwogICAgICAgICAgICAgICAgICAgICAgICAkc3RvcExvb3BXaGVuU21hbGxlclRoYW4gPSAkbGF5ZXJPbGRMZXZlbDsKICAgICAgICAgICAgICAgICAgICAgICAgJGlzVW5kZXJBbmROZXdMZXZlbExvd2VyID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfSBlbHNlIHsgLy8gb24gdGhlIHRvcAoKICAgICAgICAgICAgICAgICAgICBpZiAoJGxldmVsID4gJGxheWVyT2xkTGV2ZWwpIHsgLy8gbmV3IGxldmVsIGhpZ2hlcgoKICAgICAgICAgICAgICAgICAgICAgICAgJGluY3JlbWVudG9yU3RhcnRpbmdWYWx1ZSA9ICRsYXllck9sZExldmVsOwogICAgICAgICAgICAgICAgICAgICAgICAkc3RvcExvb3BXaGVuU21hbGxlclRoYW4gPSAkbGV2ZWw7CiAgICAgICAgICAgICAgICAgICAgICAgICRpc09uVG9wQW5kTmV3TGV2ZWxIaWdoZXIgPSB0cnVlOwoKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeyAvLyBuZXcgbGV2ZWwgbG93ZXIKCiAgICAgICAgICAgICAgICAgICAgICAgICRpbmNyZW1lbnRvclN0YXJ0aW5nVmFsdWUgPSAkbGV2ZWw7CiAgICAgICAgICAgICAgICAgICAgICAgICRzdG9wTG9vcFdoZW5TbWFsbGVyVGhhbiA9ICRsYXllck9sZExldmVsOwogICAgICAgICAgICAgICAgICAgICAgICAkaXNPblRvcEFuZE5ld0xldmVsTG93ZXIgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBrc29ydCgkdGhpcy0+bGF5ZXJMZXZlbHMpOwogICAgICAgICAgICAgICAgJGxheWVyTGV2ZWxzVG1wID0gJHRoaXMtPmxheWVyTGV2ZWxzOwoKICAgICAgICAgICAgICAgIGlmICgkaXNPblRvcEFuZE5ld0xldmVsTG93ZXIpIHsKICAgICAgICAgICAgICAgICAgICAkbGV2ZWwrKzsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBmb3IgKCRpID0gJGluY3JlbWVudG9yU3RhcnRpbmdWYWx1ZTsgJGkgPCAkc3RvcExvb3BXaGVuU21hbGxlclRoYW47ICRpKyspIHsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCRpc1VuZGVyQW5kTmV3TGV2ZWxIaWdoZXIgfHwgJGlzT25Ub3BBbmROZXdMZXZlbEhpZ2hlcikgewoKICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmxheWVyTGV2ZWxzWyRpXSA9ICRsYXllckxldmVsc1RtcFskaSArIDFdOwoKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewoKICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmxheWVyTGV2ZWxzWyRpICsgMV0gPSAkbGF5ZXJMZXZlbHNUbXBbJGldOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB1bnNldCgkbGF5ZXJMZXZlbHNUbXApOwoKICAgICAgICAgICAgICAgIGlmICgkaXNVbmRlckFuZE5ld0xldmVsSGlnaGVyKSB7CiAgICAgICAgICAgICAgICAgICAgJGxldmVsLS07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJHRoaXMtPmxheWVyTGV2ZWxzWyRsZXZlbF0gPSAkbGF5ZXJJZDsKCiAgICAgICAgICAgICAgICByZXR1cm4gJGxldmVsOwoKICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICByZXR1cm4gJGxldmVsOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBNb3ZlIHVwIGEgc3VibGF5ZXIgaW4gdGhlIHN0YWNrIChsZXZlbCArMSkKICAgICAqIFJldHVybiBuZXcgc3VibGF5ZXIgbGV2ZWwgaWYgc3VjY2VzcywgZmFsc2Ugb3RoZXJ3aXNlCiAgICAgKgogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVySWQKICAgICAqCiAgICAgKiBAcmV0dXJuIG1peGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBtb3ZlVXAoJGxheWVySWQpCiAgICB7CiAgICAgICAgLy8gaWYgdGhlIHN1YmxheWVyIGV4aXN0cyBpbiB0aGUgc3RhY2sKICAgICAgICBpZiAoJHRoaXMtPmlzTGF5ZXJJbkluZGV4KCRsYXllcklkKSkgewoKICAgICAgICAgICAgJGxheWVyT2xkTGV2ZWwgPSAkdGhpcy0+Z2V0TGF5ZXJMZXZlbCgkbGF5ZXJJZCk7CgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPm1vdmVUbygkbGF5ZXJJZCwgJGxheWVyT2xkTGV2ZWwgKyAxLCBmYWxzZSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBNb3ZlIGRvd24gYSBzdWJsYXllciBpbiB0aGUgc3RhY2sgKGxldmVsIC0xKQogICAgICogUmV0dXJuIG5ldyBzdWJsYXllciBsZXZlbCBpZiBzdWNjZXNzLCBmYWxzZSBvdGhlcndpc2UKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJJZAogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG1vdmVEb3duKCRsYXllcklkKQogICAgewogICAgICAgIC8vIGlmIHRoZSBzdWJsYXllciBleGlzdHMgaW4gdGhlIHN0YWNrCiAgICAgICAgaWYgKCR0aGlzLT5pc0xheWVySW5JbmRleCgkbGF5ZXJJZCkpIHsKCiAgICAgICAgICAgICRsYXllck9sZExldmVsID0gJHRoaXMtPmdldExheWVyTGV2ZWwoJGxheWVySWQpOwoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5tb3ZlVG8oJGxheWVySWQsICRsYXllck9sZExldmVsIC0gMSwgdHJ1ZSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZWxldGUgYSBsYXllciAocmV0dXJuIHRydWUgaWYgc3VjY2VzcywgZmFsc2UgaWYgbm8gc3VibGF5ZXIgaXMgZm91bmQpCiAgICAgKgogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVySWQKICAgICAqCiAgICAgKiBAcmV0dXJuIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlbW92ZSgkbGF5ZXJJZCkKICAgIHsKICAgICAgICAvLyBpZiB0aGUgbGF5ZXIgZXhpc3RzIGluIGRvY3VtZW50CiAgICAgICAgaWYgKCR0aGlzLT5pc0xheWVySW5JbmRleCgkbGF5ZXJJZCkpIHsKCiAgICAgICAgICAgICRsYXllclRvRGVsZXRlTGV2ZWwgPSAkdGhpcy0+Z2V0TGF5ZXJMZXZlbCgkbGF5ZXJJZCk7CgogICAgICAgICAgICAvLyBkZWxldGUKICAgICAgICAgICAgJHRoaXMtPmxheWVyc1skbGF5ZXJJZF0tPmRlbGV0ZSgpOwogICAgICAgICAgICB1bnNldCgkdGhpcy0+bGF5ZXJzWyRsYXllcklkXSk7CiAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5sYXllckxldmVsc1skbGF5ZXJUb0RlbGV0ZUxldmVsXSk7CiAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5sYXllclBvc2l0aW9uc1skbGF5ZXJJZF0pOwoKICAgICAgICAgICAgLy8gT25lIG9yIHBsdXJhbCBsYXllcnMgYXJlIHN1YiBvZiB0aGUgZGVsZXRlZCBsYXllcgogICAgICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygoJGxheWVyVG9EZWxldGVMZXZlbCArIDEpLCAkdGhpcy0+bGF5ZXJMZXZlbHMpKSB7CgogICAgICAgICAgICAgICAga3NvcnQoJHRoaXMtPmxheWVyTGV2ZWxzKTsKCiAgICAgICAgICAgICAgICAkbGF5ZXJMZXZlbHNUbXAgPSAkdGhpcy0+bGF5ZXJMZXZlbHM7CgogICAgICAgICAgICAgICAgJG1heE9sZGVzdExldmVsID0gMTsKICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRsYXllckxldmVsc1RtcCBhcyAkbGV2ZWxUbXAgPT4gJGxheWVySWRUbXApIHsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCRsZXZlbFRtcCA+ICRsYXllclRvRGVsZXRlTGV2ZWwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmxheWVyTGV2ZWxzWygkbGV2ZWxUbXAgLSAxKV0gPSAkbGF5ZXJJZFRtcDsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRtYXhPbGRlc3RMZXZlbCsrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdW5zZXQoJGxheWVyTGV2ZWxzVG1wKTsKICAgICAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5sYXllckxldmVsc1skbWF4T2xkZXN0TGV2ZWxdKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHRoaXMtPmhpZ2hlc3RMYXllckxldmVsLS07CgogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbGV2ZWwgb2YgYSBzdWJsYXllcgogICAgICogUmV0dXJuIHN1YmxheWVyIGxldmVsIGlmIHN1Y2Nlc3Mgb3IgZmFsc2UgaWYgbGF5ZXIgaXNuJ3QgZm91bmQKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJJZAogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldExheWVyTGV2ZWwoJGxheWVySWQpCiAgICB7CiAgICAgICAgLy8gaWYgdGhlIGxheWVyIGV4aXN0cyBpbiBkb2N1bWVudAogICAgICAgIGlmICgkdGhpcy0+aXNMYXllckluSW5kZXgoJGxheWVySWQpKSB7CiAgICAgICAgICAgIHJldHVybiBhcnJheV9zZWFyY2goJGxheWVySWQsICR0aGlzLT5sYXllckxldmVscyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiBhIHN1YmxheWVyIGV4aXN0cyBpbiB0aGUgc3RhY2sgZm9yIGEgZ2l2ZW4gaWQKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJJZAogICAgICoKICAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNMYXllckluSW5kZXgoJGxheWVySWQpCiAgICB7CiAgICAgICAgLy8gaWYgdGhlIGxheWVyIGV4aXN0cyBpbiBkb2N1bWVudAogICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCRsYXllcklkLCAkdGhpcy0+bGF5ZXJzKSkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIEdlbmVyYXRlIGEgbmV3IGltYWdlIHJlc291cmNlIHZhcgogICAgICoKICAgICAqIEBwYXJhbSBpbnRlZ2VyICR3aWR0aAogICAgICogQHBhcmFtIGludGVnZXIgJGhlaWdodAogICAgICogQHBhcmFtIHN0cmluZyAkY29sb3IKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRvcGFjaXR5CiAgICAgKgogICAgICogQHJldHVybiByZXNvdXJjZQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdlbmVyYXRlSW1hZ2UoJHdpZHRoID0gMTAwLCAkaGVpZ2h0ID0gMTAwLCAkY29sb3IgPSAiZmZmZmZmIiwgJG9wYWNpdHkgPSAxMjcpCiAgICB7CiAgICAgICAgJFJHQkNvbG9ycyA9IHN0YXRpYzo6Y29udmVydEhleFRvUkdCKCRjb2xvcik7CgogICAgICAgICRpbWFnZSA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCR3aWR0aCwgJGhlaWdodCk7CiAgICAgICAgaW1hZ2VzYXZlYWxwaGEoJGltYWdlLCB0cnVlKTsKICAgICAgICAkY29sb3IgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkaW1hZ2UsICRSR0JDb2xvcnNbIlIiXSwgJFJHQkNvbG9yc1siRyJdLCAkUkdCQ29sb3JzWyJCIl0sICRvcGFjaXR5KTsKICAgICAgICBpbWFnZWZpbGwoJGltYWdlLCAwLCAwLCAkY29sb3IpOwoKICAgICAgICByZXR1cm4gJGltYWdlOwogICAgfQoKICAgIC8qKgogICAgICogUmVzaXplIHRoZSBsYXllciBieSBzcGVjaWZ5aW5nIHBpeGVsCiAgICAgKgogICAgICogQHBhcmFtIGludGVnZXIgJG5ld1dpZHRoCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbmV3SGVpZ2h0CiAgICAgKiBAcGFyYW0gYm9vbGVhbiAkY29udmVyc2VQcm9wb3J0aW9uCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25YCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25ZCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwb3NpdGlvbgogICAgICogCiAgICAgKiAkcG9zaXRpb246IGh0dHA6Ly9waHBpbWFnZXdvcmtzaG9wLmNvbS9kb2MvMjIvY29ybmVycy1wb3NpdGlvbnMtc2NoZW1hLW9mLWFuLWltYWdlLmh0bWwKICAgICAqIAogICAgICogJHBvc2l0aW9uWCwgJHBvc2l0aW9uWSwgJHBvc2l0aW9uIGNhbiBiZSBpZ25vcmVkIHVubGVzcyB5b3UgY2hvb3NlIGEgbmV3IHdpZHRoIEFORCBhIG5ldyBoZWlnaHQgQU5EIHRvIGNvbnNlcnZlIHByb3BvcnRpb24uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZXNpemVJblBpeGVsKCRuZXdXaWR0aCA9IG51bGwsICRuZXdIZWlnaHQgPSBudWxsLCAkY29udmVyc2VQcm9wb3J0aW9uID0gZmFsc2UsICRwb3NpdGlvblggPSAwLCAkcG9zaXRpb25ZID0gMCwgJHBvc2l0aW9uID0gJ01NJykKICAgIHsKICAgICAgICAkdGhpcy0+cmVzaXplKCdwaXhlbCcsICRuZXdXaWR0aCwgJG5ld0hlaWdodCwgJGNvbnZlcnNlUHJvcG9ydGlvbiwgJHBvc2l0aW9uWCwgJHBvc2l0aW9uWSwgJHBvc2l0aW9uKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlc2l6ZSB0aGUgbGF5ZXIgYnkgc3BlY2lmeWluZyBhIHBlcmNlbnQKICAgICAqCiAgICAgKiBAcGFyYW0gZmxvYXQgJHBlcmNlbnRXaWR0aAogICAgICogQHBhcmFtIGZsb2F0ICRwZXJjZW50SGVpZ2h0CiAgICAgKiBAcGFyYW0gYm9vbGVhbiAkY29udmVyc2VQcm9wb3J0aW9uCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25YCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25ZCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwb3NpdGlvbgogICAgICogCiAgICAgKiAkcG9zaXRpb246IGh0dHA6Ly9waHBpbWFnZXdvcmtzaG9wLmNvbS9kb2MvMjIvY29ybmVycy1wb3NpdGlvbnMtc2NoZW1hLW9mLWFuLWltYWdlLmh0bWwKICAgICAqIAogICAgICogJHBvc2l0aW9uWCwgJHBvc2l0aW9uWSwgJHBvc2l0aW9uIGNhbiBiZSBpZ25vcmVkIHVubGVzcyB5b3UgY2hvb3NlIGEgbmV3IHdpZHRoIEFORCBhIG5ldyBoZWlnaHQgQU5EIHRvIGNvbnNlcnZlIHByb3BvcnRpb24uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZXNpemVJblBlcmNlbnQoJHBlcmNlbnRXaWR0aCA9IG51bGwsICRwZXJjZW50SGVpZ2h0ID0gbnVsbCwgJGNvbnZlcnNlUHJvcG9ydGlvbiA9IGZhbHNlLCAkcG9zaXRpb25YID0gMCwgJHBvc2l0aW9uWSA9IDAsICRwb3NpdGlvbiA9ICdNTScpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlc2l6ZShzZWxmOjpVTklUX1BFUkNFTlQsICRwZXJjZW50V2lkdGgsICRwZXJjZW50SGVpZ2h0LCAkY29udmVyc2VQcm9wb3J0aW9uLCAkcG9zaXRpb25YLCAkcG9zaXRpb25ZLCAkcG9zaXRpb24pOwogICAgfQogICAgCiAgICAvKioKICAgICAqIFJlc2l6ZSB0aGUgbGF5ZXIKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IFVzZSBvbmUgb2YgYFVOSVRfKmAgY29uc3RhbnRzLCAiVU5JVF9QSVhFTCIgYnkgZGVmYXVsdAogICAgICogQHBhcmFtIGZsb2F0ICRwZXJjZW50V2lkdGgKICAgICAqIEBwYXJhbSBmbG9hdCAkcGVyY2VudEhlaWdodAogICAgICogQHBhcmFtIGJvb2xlYW4gJGNvbnZlcnNlUHJvcG9ydGlvbgogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWAogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWQogICAgICogQHBhcmFtIHN0cmluZyAkcG9zaXRpb24KICAgICAqIAogICAgICogJHBvc2l0aW9uOiBodHRwOi8vcGhwaW1hZ2V3b3Jrc2hvcC5jb20vZG9jLzIyL2Nvcm5lcnMtcG9zaXRpb25zLXNjaGVtYS1vZi1hbi1pbWFnZS5odG1sCiAgICAgKiAKICAgICAqICRwb3NpdGlvblgsICRwb3NpdGlvblksICRwb3NpdGlvbiBjYW4gYmUgaWdub3JlZCB1bmxlc3MgeW91IGNob29zZSBhIG5ldyB3aWR0aCBBTkQgYSBuZXcgaGVpZ2h0IEFORCB0byBjb25zZXJ2ZSBwcm9wb3J0aW9uLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVzaXplKCR1bml0ID0gc2VsZjo6VU5JVF9QSVhFTCwgJG5ld1dpZHRoID0gbnVsbCwgJG5ld0hlaWdodCA9IG51bGwsICRjb252ZXJzZVByb3BvcnRpb24gPSBmYWxzZSwgJHBvc2l0aW9uWCA9IDAsICRwb3NpdGlvblkgPSAwLCAkcG9zaXRpb24gPSAnTU0nKQogICAgewogICAgICAgIGlmICgkbmV3V2lkdGggfHwgJG5ld0hlaWdodCkgewogICAgICAgICAgICAKICAgICAgICAgICAgaWYgKCR1bml0ID09IHNlbGY6OlVOSVRfUEVSQ0VOVCkgewogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBpZiAoJG5ld1dpZHRoKSB7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgJG5ld1dpZHRoID0gcm91bmQoKCRuZXdXaWR0aCAvIDEwMCkgKiAkdGhpcy0+d2lkdGgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBpZiAoJG5ld0hlaWdodCkgewogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICRuZXdIZWlnaHQgPSByb3VuZCgoJG5ld0hlaWdodCAvIDEwMCkgKiAkdGhpcy0+aGVpZ2h0KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIAogICAgICAgICAgICBpZiAoJGNvbnZlcnNlUHJvcG9ydGlvbikgeyAvLyBQcm9wb3J0aW9uIGFyZSBjb25zZXJ2ZWQKCiAgICAgICAgICAgICAgICBpZiAoJG5ld1dpZHRoICYmICRuZXdIZWlnaHQpIHsgLy8gUHJvcG9ydGlvbnMgKyAkbmV3V2lkdGggKyAkbmV3SGVpZ2h0CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5nZXRXaWR0aCgpID4gJHRoaXMtPmdldEhlaWdodCgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+cmVzaXplSW5QaXhlbCgkbmV3V2lkdGgsIG51bGwsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5nZXRIZWlnaHQoKSA+ICRuZXdIZWlnaHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnJlc2l6ZUluUGl4ZWwobnVsbCwgJG5ld0hlaWdodCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5yZXNpemVJblBpeGVsKG51bGwsICRuZXdIZWlnaHQsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5nZXRXaWR0aCgpID4gJG5ld1dpZHRoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5yZXNpemVJblBpeGVsKCRuZXdXaWR0aCwgbnVsbCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLT5nZXRXaWR0aCgpICE9ICRuZXdXaWR0aCB8fCAkdGhpcy0+Z2V0SGVpZ2h0KCkgIT0gJG5ld0hlaWdodCkgewogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgJGxheWVyVG1wID0gbmV3IHN0YXRpYyhhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCcgPT4gJG5ld1dpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCcgPT4gJG5ld0hlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAkbGF5ZXJUbXAtPmFkZExheWVyKDEsICR0aGlzLCByb3VuZCgkcG9zaXRpb25YICogKCRuZXdXaWR0aCAvIDEwMCkpLCByb3VuZCgkcG9zaXRpb25ZICogKCRuZXdIZWlnaHQgLyAxMDApKSwgJHBvc2l0aW9uKTsKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT53aWR0aCA9ICRsYXllclRtcC0+Z2V0V2lkdGgoKTsKICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmhlaWdodCA9ICRsYXllclRtcC0+Z2V0SGVpZ2h0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5pbWFnZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5sYXllckxldmVscyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5sYXllclBvc2l0aW9ucyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5sYXllcnMpOwogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+aW1hZ2UgPSAkbGF5ZXJUbXAtPmdldEltYWdlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5sYXllckxldmVscyA9ICRsYXllclRtcC0+Z2V0TGF5ZXJMZXZlbHMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmxheWVyUG9zaXRpb25zID0gJGxheWVyVG1wLT5nZXRMYXllclBvc2l0aW9ucygpOwogICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+bGF5ZXJzID0gJGxheWVyVG1wLT5nZXRMYXllcnMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgdW5zZXQoJGxheWVyVG1wKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgfSBlbHNlaWYgKCRuZXdXaWR0aCkgewoKICAgICAgICAgICAgICAgICAgICAkd2lkdGhSZXNpemVQZXJjZW50ID0gJG5ld1dpZHRoIC8gKCR0aGlzLT53aWR0aCAvIDEwMCk7CgogICAgICAgICAgICAgICAgICAgICRuZXdIZWlnaHQgPSByb3VuZCgoJHdpZHRoUmVzaXplUGVyY2VudCAvIDEwMCkgKiAkdGhpcy0+aGVpZ2h0KTsKICAgICAgICAgICAgICAgICAgICAkaGVpZ2h0UmVzaXplUGVyY2VudCA9ICR3aWR0aFJlc2l6ZVBlcmNlbnQ7CgogICAgICAgICAgICAgICAgfSBlbHNlaWYgKCRuZXdIZWlnaHQpIHsKCiAgICAgICAgICAgICAgICAgICAgJGhlaWdodFJlc2l6ZVBlcmNlbnQgPSAkbmV3SGVpZ2h0IC8gKCR0aGlzLT5oZWlnaHQgLyAxMDApOwoKICAgICAgICAgICAgICAgICAgICAkbmV3V2lkdGggPSByb3VuZCgoJGhlaWdodFJlc2l6ZVBlcmNlbnQgLyAxMDApICogJHRoaXMtPndpZHRoKTsKICAgICAgICAgICAgICAgICAgICAkd2lkdGhSZXNpemVQZXJjZW50ID0gJGhlaWdodFJlc2l6ZVBlcmNlbnQ7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9IGVsc2VpZiAoKCRuZXdXaWR0aCAmJiAhJG5ld0hlaWdodCkgfHwgKCEkbmV3V2lkdGggJiYgJG5ld0hlaWdodCkpIHsgLy8gTmV3IHdpZHRoIE9SIG5ldyBoZWlnaHQgaXMgZ2l2ZW4KCiAgICAgICAgICAgICAgICBpZiAoJG5ld1dpZHRoKSB7CgogICAgICAgICAgICAgICAgICAgICR3aWR0aFJlc2l6ZVBlcmNlbnQgPSAkbmV3V2lkdGggLyAoJHRoaXMtPndpZHRoIC8gMTAwKTsKCiAgICAgICAgICAgICAgICAgICAgJGhlaWdodFJlc2l6ZVBlcmNlbnQgPSAxMDA7CiAgICAgICAgICAgICAgICAgICAgJG5ld0hlaWdodCA9ICR0aGlzLT5oZWlnaHQ7CgogICAgICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICAgICAgJGhlaWdodFJlc2l6ZVBlcmNlbnQgPSAkbmV3SGVpZ2h0IC8gKCR0aGlzLT5oZWlnaHQgLyAxMDApOwoKICAgICAgICAgICAgICAgICAgICAkd2lkdGhSZXNpemVQZXJjZW50ID0gMTAwOwogICAgICAgICAgICAgICAgICAgICRuZXdXaWR0aCA9ICR0aGlzLT53aWR0aDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0gZWxzZSB7IC8vIE5ldyB3aWR0aCBBTkQgbmV3IGhlaWdodCBhcmUgZ2l2ZW4KCiAgICAgICAgICAgICAgICAkd2lkdGhSZXNpemVQZXJjZW50ID0gJG5ld1dpZHRoIC8gKCR0aGlzLT53aWR0aCAvIDEwMCk7CgogICAgICAgICAgICAgICAgJGhlaWdodFJlc2l6ZVBlcmNlbnQgPSAkbmV3SGVpZ2h0IC8gKCR0aGlzLT5oZWlnaHQgLyAxMDApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBVcGRhdGUgdGhlIGxheWVyIHBvc2l0aW9ucyBpbiB0aGUgc3RhY2sKCiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5sYXllclBvc2l0aW9ucyBhcyAkbGF5ZXJJZCA9PiAkbGF5ZXJQb3NpdGlvbikgewoKICAgICAgICAgICAgICAgICRuZXdQb3NYID0gcm91bmQoKCR3aWR0aFJlc2l6ZVBlcmNlbnQgLyAxMDApICogJGxheWVyUG9zaXRpb25bJ3gnXSk7CiAgICAgICAgICAgICAgICAkbmV3UG9zWSA9IHJvdW5kKCgkaGVpZ2h0UmVzaXplUGVyY2VudCAvIDEwMCkgKiAkbGF5ZXJQb3NpdGlvblsneSddKTsKCiAgICAgICAgICAgICAgICAkdGhpcy0+Y2hhbmdlUG9zaXRpb24oJGxheWVySWQsICRuZXdQb3NYLCAkbmV3UG9zWSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFJlc2l6ZSBsYXllcnMgaW4gdGhlIHN0YWNrCgogICAgICAgICAgICAkbGF5ZXJzID0gJHRoaXMtPmxheWVyczsKCiAgICAgICAgICAgIGZvcmVhY2ggKCRsYXllcnMgYXMgJGtleSA9PiAkbGF5ZXIpIHsKCiAgICAgICAgICAgICAgICAkbGF5ZXItPnJlc2l6ZUluUGVyY2VudCgkd2lkdGhSZXNpemVQZXJjZW50LCAkaGVpZ2h0UmVzaXplUGVyY2VudCk7CiAgICAgICAgICAgICAgICAkdGhpcy0+bGF5ZXJzWyRrZXldID0gJGxheWVyOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBSZXNpemUgdGhlIGxheWVyCgogICAgICAgICAgICAkdGhpcy0+cmVzaXplQmFja2dyb3VuZCgkbmV3V2lkdGgsICRuZXdIZWlnaHQpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJlc2l6ZSB0aGUgbGF5ZXIgYnkgaXRzIGxhcmdlc3Qgc2lkZSBieSBzcGVjaWZ5aW5nIHBpeGVsCiAgICAgKgogICAgICogQHBhcmFtIGludGVnZXIgJG5ld0xhcmdlc3RTaWRlV2lkdGgKICAgICAqIEBwYXJhbSBib29sZWFuICRjb252ZXJzZVByb3BvcnRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBpeGVsKCRuZXdMYXJnZXN0U2lkZVdpZHRoLCAkY29udmVyc2VQcm9wb3J0aW9uID0gZmFsc2UpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlc2l6ZUJ5TGFyZ2VzdFNpZGUoJ3BpeGVsJywgJG5ld0xhcmdlc3RTaWRlV2lkdGgsICRjb252ZXJzZVByb3BvcnRpb24pOwogICAgfQoKICAgIC8qKgogICAgICogUmVzaXplIHRoZSBsYXllciBieSBpdHMgbGFyZ2VzdCBzaWRlIGJ5IHNwZWNpZnlpbmcgcGVyY2VudAogICAgICoKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRuZXdMYXJnZXN0U2lkZVdpZHRoIHBlcmNlbnQKICAgICAqIEBwYXJhbSBib29sZWFuICRjb252ZXJzZVByb3BvcnRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlc2l6ZUJ5TGFyZ2VzdFNpZGVJblBlcmNlbnQoJG5ld0xhcmdlc3RTaWRlV2lkdGgsICRjb252ZXJzZVByb3BvcnRpb24gPSBmYWxzZSkKICAgIHsKICAgICAgICAkdGhpcy0+cmVzaXplQnlMYXJnZXN0U2lkZShzZWxmOjpVTklUX1BFUkNFTlQsICRuZXdMYXJnZXN0U2lkZVdpZHRoLCAkY29udmVyc2VQcm9wb3J0aW9uKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlc2l6ZSB0aGUgbGF5ZXIgYnkgaXRzIGxhcmdlc3Qgc2lkZQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHVuaXQKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRuZXdMYXJnZXN0U2lkZVdpZHRoIHBlcmNlbnQKICAgICAqIEBwYXJhbSBib29sZWFuICRjb252ZXJzZVByb3BvcnRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlc2l6ZUJ5TGFyZ2VzdFNpZGUoJHVuaXQgPSBzZWxmOjpVTklUX1BJWEVMLCAkbmV3TGFyZ2VzdFNpZGVXaWR0aCwgJGNvbnZlcnNlUHJvcG9ydGlvbiA9IGZhbHNlKQogICAgewogICAgICAgIGlmICgkdW5pdCA9PSBzZWxmOjpVTklUX1BFUkNFTlQpIHsKCiAgICAgICAgICAgICRuZXdMYXJnZXN0U2lkZVdpZHRoID0gcm91bmQoKCRuZXdMYXJnZXN0U2lkZVdpZHRoIC8gMTAwKSAqICR0aGlzLT5nZXRMYXJnZXN0U2lkZVdpZHRoKCkpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCR0aGlzLT5nZXRXaWR0aCgpID4gJHRoaXMtPmdldEhlaWdodCgpKSB7CgogICAgICAgICAgICAkdGhpcy0+cmVzaXplSW5QaXhlbCgkbmV3TGFyZ2VzdFNpZGVXaWR0aCwgbnVsbCwgJGNvbnZlcnNlUHJvcG9ydGlvbik7CgogICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAkdGhpcy0+cmVzaXplSW5QaXhlbChudWxsLCAkbmV3TGFyZ2VzdFNpZGVXaWR0aCwgJGNvbnZlcnNlUHJvcG9ydGlvbik7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogUmVzaXplIHRoZSBsYXllciBieSBpdHMgbmFycm93IHNpZGUgYnkgc3BlY2lmeWluZyBwaXhlbAogICAgICoKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRuZXdOYXJyb3dTaWRlV2lkdGgKICAgICAqIEBwYXJhbSBib29sZWFuICRjb252ZXJzZVByb3BvcnRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlc2l6ZUJ5TmFycm93U2lkZUluUGl4ZWwoJG5ld05hcnJvd1NpZGVXaWR0aCwgJGNvbnZlcnNlUHJvcG9ydGlvbiA9IGZhbHNlKQogICAgewogICAgICAgICR0aGlzLT5yZXNpemVCeU5hcnJvd1NpZGUoJ3BpeGVsJywgJG5ld05hcnJvd1NpZGVXaWR0aCwgJGNvbnZlcnNlUHJvcG9ydGlvbik7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXNpemUgdGhlIGxheWVyIGJ5IGl0cyBuYXJyb3cgc2lkZSBieSBzcGVjaWZ5aW5nIHBlcmNlbnQKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbmV3TmFycm93U2lkZVdpZHRoIHBlcmNlbnQKICAgICAqIEBwYXJhbSBib29sZWFuICRjb252ZXJzZVByb3BvcnRpb24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlc2l6ZUJ5TmFycm93U2lkZUluUGVyY2VudCgkbmV3TmFycm93U2lkZVdpZHRoLCAkY29udmVyc2VQcm9wb3J0aW9uID0gZmFsc2UpCiAgICB7CiAgICAgICAgJHRoaXMtPnJlc2l6ZUJ5TmFycm93U2lkZShzZWxmOjpVTklUX1BFUkNFTlQsICRuZXdOYXJyb3dTaWRlV2lkdGgsICRjb252ZXJzZVByb3BvcnRpb24pOwogICAgfQoKICAgIC8qKgogICAgICogUmVzaXplIHRoZSBsYXllciBieSBpdHMgbmFycm93IHNpZGUKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0CiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbmV3TmFycm93U2lkZVdpZHRoCiAgICAgKiBAcGFyYW0gYm9vbGVhbiAkY29udmVyc2VQcm9wb3J0aW9uCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZXNpemVCeU5hcnJvd1NpZGUoJHVuaXQgPSAicGl4ZWwiLCAkbmV3TmFycm93U2lkZVdpZHRoLCAkY29udmVyc2VQcm9wb3J0aW9uID0gZmFsc2UpCiAgICB7CiAgICAgICAgaWYgKCR1bml0ID09IHNlbGY6OlVOSVRfUEVSQ0VOVCkgewoKICAgICAgICAgICAgJG5ld05hcnJvd1NpZGVXaWR0aCA9IHJvdW5kKCgkbmV3TmFycm93U2lkZVdpZHRoIC8gMTAwKSAqICR0aGlzLT5nZXROYXJyb3dTaWRlV2lkdGgoKSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRoaXMtPmdldFdpZHRoKCkgPCAkdGhpcy0+Z2V0SGVpZ2h0KCkpIHsKCiAgICAgICAgICAgICR0aGlzLT5yZXNpemVJblBpeGVsKCRuZXdOYXJyb3dTaWRlV2lkdGgsIG51bGwsICRjb252ZXJzZVByb3BvcnRpb24pOwoKICAgICAgICB9IGVsc2UgewoKICAgICAgICAgICAgJHRoaXMtPnJlc2l6ZUluUGl4ZWwobnVsbCwgJG5ld05hcnJvd1NpZGVXaWR0aCwgJGNvbnZlcnNlUHJvcG9ydGlvbik7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JvcCB0aGUgZG9jdW1lbnQgYnkgc3BlY2lmeWluZyBwaXhlbHMKICAgICAqCiAgICAgKiAkYmFja2dyb3VuZENvbG9yOiBjYW4gYmUgc2V0IHRyYW5zcGFyZW50IChUaGUgc2NyaXB0IHdpbGwgYmUgbG9uZ2VyIHRvIGV4ZWN1dGUpCiAgICAgKiAkcG9zaXRpb246IGh0dHA6Ly9waHBpbWFnZXdvcmtzaG9wLmNvbS9kb2MvMjIvY29ybmVycy1wb3NpdGlvbnMtc2NoZW1hLW9mLWFuLWltYWdlLmh0bWwKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkd2lkdGgKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRoZWlnaHQKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblgKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBvc2l0aW9uCiAgICAgKiBAcGFyYW0gc3RyaW5nICRiYWNrZ3JvdW5kQ29sb3IKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNyb3BJblBpeGVsKCR3aWR0aCA9IDAsICRoZWlnaHQgPSAwLCAkcG9zaXRpb25YID0gMCwgJHBvc2l0aW9uWSA9IDAsICRwb3NpdGlvbiA9ICJMVCIsICRiYWNrZ3JvdW5kQ29sb3IgPSAiZmZmZmZmIikKICAgIHsKICAgICAgICAkdGhpcy0+Y3JvcCgicGl4ZWwiLCAkd2lkdGgsICRoZWlnaHQsICRwb3NpdGlvblgsICRwb3NpdGlvblksICRwb3NpdGlvbiwgJGJhY2tncm91bmRDb2xvcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcm9wIHRoZSBkb2N1bWVudCBieSBzcGVjaWZ5aW5nIHBlcmNlbnQKICAgICAqCiAgICAgKiAkYmFja2dyb3VuZENvbG9yIGNhbiBiZSBzZXQgdHJhbnNwYXJlbnQgKGJ1dCBzY3JpcHQgY291bGQgYmUgbG9uZyB0byBleGVjdXRlKQogICAgICogJHBvc2l0aW9uOiBodHRwOi8vcGhwaW1hZ2V3b3Jrc2hvcC5jb20vZG9jLzIyL2Nvcm5lcnMtcG9zaXRpb25zLXNjaGVtYS1vZi1hbi1pbWFnZS5odG1sCiAgICAgKgogICAgICogQHBhcmFtIGZsb2F0ICRwZXJjZW50V2lkdGgKICAgICAqIEBwYXJhbSBmbG9hdCAkcGVyY2VudEhlaWdodAogICAgICogQHBhcmFtIGZsb2F0ICRwb3NpdGlvblhQZXJjZW50CiAgICAgKiBAcGFyYW0gZmxvYXQgJHBvc2l0aW9uWVBlcmNlbnQKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBvc2l0aW9uCiAgICAgKiBAcGFyYW0gc3RyaW5nICRiYWNrZ3JvdW5kQ29sb3IKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNyb3BJblBlcmNlbnQoJHBlcmNlbnRXaWR0aCA9IDAsICRwZXJjZW50SGVpZ2h0ID0gMCwgJHBvc2l0aW9uWFBlcmNlbnQgPSAwLCAkcG9zaXRpb25ZUGVyY2VudCA9IDAsICRwb3NpdGlvbiA9ICJMVCIsICRiYWNrZ3JvdW5kQ29sb3IgPSAiZmZmZmZmIikKICAgIHsKICAgICAgICAkdGhpcy0+Y3JvcChzZWxmOjpVTklUX1BFUkNFTlQsICRwZXJjZW50V2lkdGgsICRwZXJjZW50SGVpZ2h0LCAkcG9zaXRpb25YUGVyY2VudCwgJHBvc2l0aW9uWVBlcmNlbnQsICRwb3NpdGlvbiwgJGJhY2tncm91bmRDb2xvcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcm9wIHRoZSBkb2N1bWVudAogICAgICoKICAgICAqICRiYWNrZ3JvdW5kQ29sb3IgY2FuIGJlIHNldCB0cmFuc3BhcmVudCAoYnV0IHNjcmlwdCBjb3VsZCBiZSBsb25nIHRvIGV4ZWN1dGUpCiAgICAgKiAkcG9zaXRpb246IGh0dHA6Ly9waHBpbWFnZXdvcmtzaG9wLmNvbS9kb2MvMjIvY29ybmVycy1wb3NpdGlvbnMtc2NoZW1hLW9mLWFuLWltYWdlLmh0bWwKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICR1bml0IFVzZSBvbmUgb2YgYFVOSVRfKmAgY29uc3RhbnRzLCAiVU5JVF9QSVhFTCIgYnkgZGVmYXVsdAogICAgICogQHBhcmFtIGZsb2F0ICR3aWR0aAogICAgICogQHBhcmFtIGZsb2F0ICRoZWlnaHQKICAgICAqIEBwYXJhbSBmbG9hdCAkcG9zaXRpb25YCiAgICAgKiBAcGFyYW0gZmxvYXQgJHBvc2l0aW9uWQogICAgICogQHBhcmFtIHN0cmluZyAkcG9zaXRpb24KICAgICAqIEBwYXJhbSBzdHJpbmcgJGJhY2tncm91bmRDb2xvcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY3JvcCgkdW5pdCA9IHNlbGY6OlVOSVRfUElYRUwsICR3aWR0aCA9IDAsICRoZWlnaHQgPSAwLCAkcG9zaXRpb25YID0gMCwgJHBvc2l0aW9uWSA9IDAsICRwb3NpdGlvbiA9ICJMVCIsICRiYWNrZ3JvdW5kQ29sb3IgPSAiZmZmZmZmIikKICAgIHsKICAgICAgICBpZiAoJHVuaXQgPT0gc2VsZjo6VU5JVF9QRVJDRU5UKSB7CgogICAgICAgICAgICAkd2lkdGggPSByb3VuZCgoJHdpZHRoIC8gMTAwKSAqICR0aGlzLT53aWR0aCk7CiAgICAgICAgICAgICRoZWlnaHQgPSByb3VuZCgoJGhlaWdodCAvIDEwMCkgKiAkdGhpcy0+aGVpZ2h0KTsKCiAgICAgICAgICAgICRwb3NpdGlvblggPSByb3VuZCgoJHBvc2l0aW9uWCAvIDEwMCkgKiAkdGhpcy0+d2lkdGgpOwogICAgICAgICAgICAkcG9zaXRpb25ZID0gcm91bmQoKCRwb3NpdGlvblkgLyAxMDApICogJHRoaXMtPmhlaWdodCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmICgoJHdpZHRoICE9ICR0aGlzLT53aWR0aCB8fCAkcG9zaXRpb25YID09IDApIHx8ICgkaGVpZ2h0ICE9ICR0aGlzLT5oZWlnaHQgfHwgJHBvc2l0aW9uWSA9PSAwKSkgewogICAgICAgICAgICAKICAgICAgICAgICAgJGxheWVyVG1wID0gbmV3IHN0YXRpYyhhcnJheSgKICAgICAgICAgICAgICAgICd3aWR0aCcgPT4gJHdpZHRoLAogICAgICAgICAgICAgICAgJ2hlaWdodCcgPT4gJGhlaWdodCwKICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kQ29sb3InID0+ICRiYWNrZ3JvdW5kQ29sb3IsCiAgICAgICAgICAgICkpOwogICAgICAgICAgICAKICAgICAgICAgICAgJGxheWVyQ2xvbmUgPSBuZXcgc3RhdGljKGFycmF5KAogICAgICAgICAgICAgICAgJ3dpZHRoJyA9PiAkdGhpcy0+d2lkdGgsCiAgICAgICAgICAgICAgICAnaGVpZ2h0JyA9PiAkdGhpcy0+aGVpZ2h0LAogICAgICAgICAgICApKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGltYWdlZGVzdHJveSgkbGF5ZXJDbG9uZS0+aW1hZ2UpOwogICAgICAgICAgICAkbGF5ZXJDbG9uZS0+aW1hZ2UgPSAkdGhpcy0+aW1hZ2U7CiAgICAgICAgICAgIAogICAgICAgICAgICAkbGF5ZXJUbXAtPmFkZExheWVyKDEsICRsYXllckNsb25lLCAtJHBvc2l0aW9uWCwgLSRwb3NpdGlvblksICRwb3NpdGlvbik7CiAgICAgICAgICAgIAogICAgICAgICAgICAkbmV3UG9zID0gJGxheWVyVG1wLT5nZXRMYXllclBvc2l0aW9ucygpOwogICAgICAgICAgICAkbGF5ZXJOZXdQb3NYID0gJG5ld1Bvc1sxXVsneCddOwogICAgICAgICAgICAkbGF5ZXJOZXdQb3NZID0gJG5ld1Bvc1sxXVsneSddOwogICAgICAgICAgICAKICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBsYXllcgogICAgICAgICAgICAkdGhpcy0+d2lkdGggPSAkbGF5ZXJUbXAtPmdldFdpZHRoKCk7CiAgICAgICAgICAgICR0aGlzLT5oZWlnaHQgPSAkbGF5ZXJUbXAtPmdldEhlaWdodCgpOwogICAgICAgICAgICAkdGhpcy0+aW1hZ2UgPSAkbGF5ZXJUbXAtPmdldFJlc3VsdCgpOwogICAgICAgICAgICB1bnNldCgkbGF5ZXJUbXApOwogICAgICAgICAgICB1bnNldCgkbGF5ZXJDbG9uZSk7CiAgICAgICAgICAgIAogICAgICAgICAgICAkdGhpcy0+dXBkYXRlTGF5ZXJQb3NpdGlvbnNBZnRlckNyb3BwaW5nKCRsYXllck5ld1Bvc1gsICRsYXllck5ld1Bvc1kpOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENyb3AgdGhlIG1heGltdW0gcG9zc2libGUgZnJvbSBsZWZ0IHRvcCAoIkxUIiksICJSVCIuLi4gYnkgc3BlY2lmeWluZyBhIHNoaWZ0IGluIHBpeGVsCiAgICAgKgogICAgICogJGJhY2tncm91bmRDb2xvciBjYW4gYmUgc2V0IHRyYW5zcGFyZW50IChidXQgc2NyaXB0IGNvdWxkIGJlIGxvbmcgdG8gZXhlY3V0ZSkKICAgICAqICRwb3NpdGlvbjogaHR0cDovL3BocGltYWdld29ya3Nob3AuY29tL2RvYy8yMi9jb3JuZXJzLXBvc2l0aW9ucy1zY2hlbWEtb2YtYW4taW1hZ2UuaHRtbAogICAgICoKICAgICAqIEBwYXJhbSBpbnRlZ2VyICR3aWR0aAogICAgICogQHBhcmFtIGludGVnZXIgJGhlaWdodAogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWAogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWQogICAgICogQHBhcmFtIHN0cmluZyAkcG9zaXRpb24KICAgICAqIEBwYXJhbSBzdHJpbmcgJGJhY2tncm91bmRDb2xvcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY3JvcE1heGltdW1JblBpeGVsKCRwb3NpdGlvblggPSAwLCAkcG9zaXRpb25ZID0gMCwgJHBvc2l0aW9uID0gIkxUIiwgJGJhY2tncm91bmRDb2xvciA9ICJmZmZmZmYiKQogICAgewogICAgICAgICR0aGlzLT5jcm9wTWF4aW11bShzZWxmOjpVTklUX1BJWEVMLCAkcG9zaXRpb25YLCAkcG9zaXRpb25ZLCAkcG9zaXRpb24sICRiYWNrZ3JvdW5kQ29sb3IpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JvcCB0aGUgbWF4aW11bSBwb3NzaWJsZSBmcm9tIGxlZnQgdG9wICgiTFQiKSwgIlJUIi4uLiBieSBzcGVjaWZ5aW5nIGEgc2hpZnQgaW4gcGVyY2VudAogICAgICoKICAgICAqICRiYWNrZ3JvdW5kQ29sb3IgY2FuIGJlIHNldCB0cmFuc3BhcmVudCAoYnV0IHNjcmlwdCBjb3VsZCBiZSBsb25nIHRvIGV4ZWN1dGUpCiAgICAgKiAkcG9zaXRpb246IGh0dHA6Ly9waHBpbWFnZXdvcmtzaG9wLmNvbS9kb2MvMjIvY29ybmVycy1wb3NpdGlvbnMtc2NoZW1hLW9mLWFuLWltYWdlLmh0bWwKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkd2lkdGgKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRoZWlnaHQKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRwb3NpdGlvblhQZXJjZW50CiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25ZUGVyY2VudAogICAgICogQHBhcmFtIHN0cmluZyAkcG9zaXRpb24KICAgICAqIEBwYXJhbSBzdHJpbmcgJGJhY2tncm91bmRDb2xvcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY3JvcE1heGltdW1JblBlcmNlbnQoJHBvc2l0aW9uWFBlcmNlbnQgPSAwLCAkcG9zaXRpb25ZUGVyY2VudCA9IDAsICRwb3NpdGlvbiA9ICJMVCIsICRiYWNrZ3JvdW5kQ29sb3IgPSAiZmZmZmZmIikKICAgIHsKICAgICAgICAkdGhpcy0+Y3JvcE1heGltdW0oc2VsZjo6VU5JVF9QRVJDRU5ULCAkcG9zaXRpb25YUGVyY2VudCwgJHBvc2l0aW9uWVBlcmNlbnQsICRwb3NpdGlvbiwgJGJhY2tncm91bmRDb2xvcik7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcm9wIHRoZSBtYXhpbXVtIHBvc3NpYmxlIGZyb20gbGVmdCB0b3AKICAgICAqCiAgICAgKiAkYmFja2dyb3VuZENvbG9yIGNhbiBiZSBzZXQgdHJhbnNwYXJlbnQgKGJ1dCBzY3JpcHQgY291bGQgYmUgbG9uZyB0byBleGVjdXRlKQogICAgICogJHBvc2l0aW9uOiBodHRwOi8vcGhwaW1hZ2V3b3Jrc2hvcC5jb20vZG9jLzIyL2Nvcm5lcnMtcG9zaXRpb25zLXNjaGVtYS1vZi1hbi1pbWFnZS5odG1sCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdW5pdAogICAgICogQHBhcmFtIGludGVnZXIgJHdpZHRoCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkaGVpZ2h0CiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25YCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25ZCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwb3NpdGlvbgogICAgICogQHBhcmFtIHN0cmluZyAkYmFja2dyb3VuZENvbG9yCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjcm9wTWF4aW11bSgkdW5pdCA9ICJwaXhlbCIsICRwb3NpdGlvblggPSAwLCAkcG9zaXRpb25ZID0gMCwgJHBvc2l0aW9uID0gIkxUIiwgJGJhY2tncm91bmRDb2xvciA9ICJmZmZmZmYiKQogICAgewogICAgICAgICRuYXJyb3dTaWRlID0gJHRoaXMtPmdldE5hcnJvd1NpZGVXaWR0aCgpOwogICAgICAgIGlmICgkdW5pdCA9PSBzZWxmOjpVTklUX1BFUkNFTlQpIHsKCiAgICAgICAgICAgICRwb3NpdGlvblggPSByb3VuZCgoJHBvc2l0aW9uWCAvIDEwMCkgKiAkdGhpcy0+d2lkdGgpOwogICAgICAgICAgICAkcG9zaXRpb25ZID0gcm91bmQoKCRwb3NpdGlvblkgLyAxMDApICogJHRoaXMtPmhlaWdodCk7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+Y3JvcEluUGl4ZWwoJG5hcnJvd1NpZGUsICRuYXJyb3dTaWRlLCAkcG9zaXRpb25YLCAkcG9zaXRpb25ZLCAkcG9zaXRpb24sICRiYWNrZ3JvdW5kQ29sb3IpOwogICAgfQoKICAgIC8qKgogICAgICogUm90YXRlIGxheWVyCiAgICAgKgogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVySWQKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRkZWdyZWUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJvdGF0ZUxheWVyKCRsYXllcklkLCAkZGVncmVlKQogICAgewogICAgICAgICR0aGlzLT5sYXllcnNbJGxheWVySWRdLT5yb3RhdGUoJGRlZ3JlZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSb3RhdGUgdGhlIGxheWVyIChpbiBkZWdyZWUpCiAgICAgKgogICAgICogQHBhcmFtIGZsb2F0ICRkZWdyZWVzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByb3RhdGUoJGRlZ3JlZXMpCiAgICB7CiAgICAgICAgaWYgKCRkZWdyZWVzICE9IDApIHsKCiAgICAgICAgICAgIGlmICgkZGVncmVlcyA8IC0zNjAgfHwgJGRlZ3JlZXMgPiAzNjApIHsKCiAgICAgICAgICAgICAgICAkZGVncmVlcyA9ICRkZWdyZWVzICUgMzYwOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJGRlZ3JlZXMgPCAwICYmICRkZWdyZWVzID49IC0zNjApIHsKCiAgICAgICAgICAgICAgICAkZGVncmVlcyA9IDM2MCArICRkZWdyZWVzOwogICAgICAgICAgICB9CgoJCQkvLyBSb3RhdGUgdGhlIGxheWVyIGJhY2tncm91bmQgaW1hZ2UKICAgICAgICAgICAgJGltYWdlUm90YXRlZCA9IGltYWdlcm90YXRlKCR0aGlzLT5pbWFnZSwgLSRkZWdyZWVzLCAtMSk7CiAgICAgICAgICAgIGltYWdlYWxwaGFibGVuZGluZygkaW1hZ2VSb3RhdGVkLCB0cnVlKTsKICAgICAgICAgICAgaW1hZ2VzYXZlYWxwaGEoJGltYWdlUm90YXRlZCwgdHJ1ZSk7CgogICAgICAgICAgICB1bnNldCgkdGhpcy0+aW1hZ2UpOwoKICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gJGltYWdlUm90YXRlZDsKCiAgICAgICAgICAgICRvbGRXaWR0aCA9ICR0aGlzLT53aWR0aDsKICAgICAgICAgICAgJG9sZEhlaWdodCA9ICR0aGlzLT5oZWlnaHQ7CgogICAgICAgICAgICAkdGhpcy0+d2lkdGggPSBpbWFnZXN4KCR0aGlzLT5pbWFnZSk7CiAgICAgICAgICAgICR0aGlzLT5oZWlnaHQgPSBpbWFnZXN5KCR0aGlzLT5pbWFnZSk7CgogICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+bGF5ZXJzIGFzICRsYXllcklkID0+ICRsYXllcikgewoKICAgICAgICAgICAgICAgICRsYXllclNlbGZPbGRDZW50ZXJQb3NpdGlvbiA9IGFycmF5KAogICAgICAgICAgICAgICAgICAgICJ4IiA9PiAkbGF5ZXItPndpZHRoIC8gMiwKICAgICAgICAgICAgICAgICAgICAieSIgPT4gJGxheWVyLT5oZWlnaHQgLyAyLAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAkc21hbGxJbWFnZUNlbnRlciA9IGFycmF5KAogICAgICAgICAgICAgICAgICAgICJ4IiA9PiAkbGF5ZXJTZWxmT2xkQ2VudGVyUG9zaXRpb25bIngiXSArICR0aGlzLT5sYXllclBvc2l0aW9uc1skbGF5ZXJJZF1bIngiXSwKICAgICAgICAgICAgICAgICAgICAieSIgPT4gJGxheWVyU2VsZk9sZENlbnRlclBvc2l0aW9uWyJ5Il0gKyAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdWyJ5Il0sCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICR0aGlzLT5sYXllcnNbJGxheWVySWRdLT5yb3RhdGUoJGRlZ3JlZXMpOwoKICAgICAgICAgICAgICAgICRybyA9IHNxcnQocG93KCRzbWFsbEltYWdlQ2VudGVyWyJ4Il0sIDIpICsgcG93KCRzbWFsbEltYWdlQ2VudGVyWyJ5Il0sIDIpKTsKCiAgICAgICAgICAgICAgICAkdGV0YSA9IChhY29zKCRzbWFsbEltYWdlQ2VudGVyWyJ4Il0gLyAkcm8pKSAqIDE4MCAvIHBpKCk7CgogICAgICAgICAgICAgICAgJGEgPSAkcm8gKiBjb3MoKCR0ZXRhICsgJGRlZ3JlZXMpICogcGkoKSAvIDE4MCk7CiAgICAgICAgICAgICAgICAkYiA9ICRybyAqIHNpbigoJHRldGEgKyAkZGVncmVlcykgKiBwaSgpIC8gMTgwKTsKCiAgICAgICAgICAgICAgICBpZiAoJGRlZ3JlZXMgPiAwICYmICRkZWdyZWVzIDw9IDkwKSB7CgogICAgICAgICAgICAgICAgICAgICRuZXdQb3NpdGlvblggPSAkYSAtICgkdGhpcy0+bGF5ZXJzWyRsYXllcklkXS0+d2lkdGggLyAyKSArICRvbGRIZWlnaHQgKiBzaW4oKCRkZWdyZWVzICogcGkoKSkgLyAxODApOwogICAgICAgICAgICAgICAgICAgICRuZXdQb3NpdGlvblkgPSAkYiAtICgkdGhpcy0+bGF5ZXJzWyRsYXllcklkXS0+aGVpZ2h0IC8gMik7CgogICAgICAgICAgICAgICAgfSBlbHNlaWYgKCRkZWdyZWVzID4gOTAgJiYgJGRlZ3JlZXMgPD0gMTgwKSB7CgogICAgICAgICAgICAgICAgICAgICRuZXdQb3NpdGlvblggPSAkYSAtICgkdGhpcy0+bGF5ZXJzWyRsYXllcklkXS0+d2lkdGggLyAyKSArICR0aGlzLT53aWR0aDsKICAgICAgICAgICAgICAgICAgICAkbmV3UG9zaXRpb25ZID0gJGIgLSAoJHRoaXMtPmxheWVyc1skbGF5ZXJJZF0tPmhlaWdodCAvIDIpICsgJG9sZEhlaWdodCAqICgtY29zKCgkZGVncmVlcykgKiBwaSgpIC8gMTgwKSk7CgogICAgICAgICAgICAgICAgfSBlbHNlaWYgKCRkZWdyZWVzID4gMTgwICYmICRkZWdyZWVzIDw9IDI3MCkgewoKICAgICAgICAgICAgICAgICAgICAkbmV3UG9zaXRpb25YID0gJGEgLSAoJHRoaXMtPmxheWVyc1skbGF5ZXJJZF0tPndpZHRoIC8gMikgKyAkb2xkV2lkdGggKiAoLWNvcygoJGRlZ3JlZXMpICogcGkoKSAvIDE4MCkpOwogICAgICAgICAgICAgICAgICAgICRuZXdQb3NpdGlvblkgPSAkYiAtICgkdGhpcy0+bGF5ZXJzWyRsYXllcklkXS0+aGVpZ2h0IC8gMikgKyAkdGhpcy0+aGVpZ2h0OwoKICAgICAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAgICAgICRuZXdQb3NpdGlvblggPSAkYSAtICgkdGhpcy0+bGF5ZXJzWyRsYXllcklkXS0+d2lkdGggLyAyKTsKICAgICAgICAgICAgICAgICAgICAkbmV3UG9zaXRpb25ZID0gJGIgLSAoJHRoaXMtPmxheWVyc1skbGF5ZXJJZF0tPmhlaWdodCAvIDIpICsgJG9sZFdpZHRoICogKC1zaW4oKCRkZWdyZWVzKSAqIHBpKCkgLyAxODApKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdID0gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgIngiID0+ICRuZXdQb3NpdGlvblgsCiAgICAgICAgICAgICAgICAgICAgInkiID0+ICRuZXdQb3NpdGlvblksCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ2hhbmdlIHRoZSBvcGFjaXR5IG9mIGEgbGF5ZXIKICAgICAqICRyZWN1cnNpdmU6IGFwcGx5IGl0IG9uIHN1YmxheWVycwogICAgICoKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsYXllcklkCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkb3BhY2l0eQogICAgICogQHBhcmFtIGJvb2xlYW4gJHJlY3Vyc2l2ZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gbGF5ZXJPcGFjaXR5KCRsYXllcklkLCAkb3BhY2l0eSwgJHJlY3Vyc2l2ZSA9IHRydWUpCiAgICB7CiAgICAgICAgJHRoaXMtPmxheWVyc1skbGF5ZXJJZF0tPm9wYWNpdHkoJG9wYWNpdHksICRyZWN1cnNpdmUpOwogICAgfQoKICAgIC8qKgogICAgICogQ2hhbmdlIHRoZSBvcGFjaXR5IG9mIHRoZSBsYXllcgogICAgICogJHJlY3Vyc2l2ZTogYXBwbHkgaXQgb24gc3VibGF5ZXJzCiAgICAgKgogICAgICogQHBhcmFtIGludGVnZXIgJG9wYWNpdHkKICAgICAqIEBwYXJhbSBib29sZWFuICRyZWN1cnNpdmUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIG9wYWNpdHkoJG9wYWNpdHksICRyZWN1cnNpdmUgPSB0cnVlKQogICAgewogICAgICAgIGlmICgkcmVjdXJzaXZlKSB7CgogICAgICAgICAgICAkbGF5ZXJzID0gJHRoaXMtPmxheWVyczsKCiAgICAgICAgICAgIGZvcmVhY2ggKCRsYXllcnMgYXMgJGtleSA9PiAkbGF5ZXIpIHsKCiAgICAgICAgICAgICAgICAkbGF5ZXItPm9wYWNpdHkoJG9wYWNpdHksIHRydWUpOwogICAgICAgICAgICAgICAgJHRoaXMtPmxheWVyc1ska2V5XSA9ICRsYXllcjsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHRyYW5zcGFyZW50SW1hZ2UgPSBzdGF0aWM6OmdlbmVyYXRlSW1hZ2UoJHRoaXMtPmdldFdpZHRoKCksICR0aGlzLT5nZXRIZWlnaHQoKSk7CgogICAgICAgIHN0YXRpYzo6aW1hZ2Vjb3B5bWVyZ2VhbHBoYSgkdHJhbnNwYXJlbnRJbWFnZSwgJHRoaXMtPmltYWdlLCAwLCAwLCAwLCAwLCAkdGhpcy0+Z2V0V2lkdGgoKSwgJHRoaXMtPmdldEhlaWdodCgpLCAkb3BhY2l0eSk7CgogICAgICAgIHVuc2V0KCR0aGlzLT5pbWFnZSk7CiAgICAgICAgJHRoaXMtPmltYWdlID0gJHRyYW5zcGFyZW50SW1hZ2U7CiAgICAgICAgdW5zZXQoJHRyYW5zcGFyZW50SW1hZ2UpOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgdGV4dCBvbiB0aGUgYmFja2dyb3VuZCBpbWFnZSBvZiB0aGUgbGF5ZXIgdXNpbmcgYSBkZWZhdWx0IGZvbnQgcmVnaXN0ZXJlZCBpbiBHRAogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHRleHQKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRmb250CiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xvcgogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWAogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWQogICAgICogQHBhcmFtIHN0cmluZyAkYWxpZ24KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHdyaXRlVGV4dCgkdGV4dCwgJGZvbnQgPSAxLCAkY29sb3IgPSAiZmZmZmZmIiwgJHBvc2l0aW9uWCA9IDAsICRwb3NpdGlvblkgPSAwLCAkYWxpZ24gPSAiaG9yaXpvbnRhbCIpCiAgICB7CiAgICAgICAgJFJHQlRleHRDb2xvciA9IHN0YXRpYzo6Y29udmVydEhleFRvUkdCKCRjb2xvcik7CiAgICAgICAgJHRleHRDb2xvciA9IGltYWdlY29sb3JhbGxvY2F0ZSgkdGhpcy0+aW1hZ2UsICRSR0JUZXh0Q29sb3JbIlIiXSwgJFJHQlRleHRDb2xvclsiRyJdLCAkUkdCVGV4dENvbG9yWyJCIl0pOwoKICAgICAgICBpZiAoJGFsaWduID09ICJob3Jpem9udGFsIikgewoKICAgICAgICAgICAgaW1hZ2VzdHJpbmcoJHRoaXMtPmltYWdlLCAkZm9udCwgJHBvc2l0aW9uWCwgJHBvc2l0aW9uWSwgJHRleHQsICR0ZXh0Q29sb3IpOwoKICAgICAgICB9IGVsc2UgewoKICAgICAgICAgICAgaW1hZ2VzdHJpbmd1cCgkdGhpcy0+aW1hZ2UsICRmb250LCAkcG9zaXRpb25YLCAkcG9zaXRpb25ZLCAkdGV4dCwgJHRleHRDb2xvcik7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgdGV4dCBvbiB0aGUgYmFja2dyb3VuZCBpbWFnZSBvZiB0aGUgbGF5ZXIgdXNpbmcgYSBmb250IGxvY2FsaXplZCBhdCAkZm9udFBhdGgKICAgICAqIFJldHVybiB0aGUgdGV4dCBjb29yZG9uYXRlcwogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJHRleHQKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRmb250UGF0aAogICAgICogQHBhcmFtIGludGVnZXIgJGZvbnRTaXplCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjb2xvcgogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWAogICAgICogQHBhcmFtIGludGVnZXIgJHBvc2l0aW9uWQogICAgICogQHBhcmFtIGludGVnZXIgJGZvbnRSb3RhdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHdyaXRlKCR0ZXh0LCAkZm9udFBhdGgsICRmb250U2l6ZSA9IDEzLCAkY29sb3IgPSAiZmZmZmZmIiwgJHBvc2l0aW9uWCA9IDAsICRwb3NpdGlvblkgPSAwLCAkZm9udFJvdGF0aW9uID0gMCkKICAgIHsKICAgICAgICAkUkdCVGV4dENvbG9yID0gc3RhdGljOjpjb252ZXJ0SGV4VG9SR0IoJGNvbG9yKTsKICAgICAgICAkdGV4dENvbG9yID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCR0aGlzLT5pbWFnZSwgJFJHQlRleHRDb2xvclsiUiJdLCAkUkdCVGV4dENvbG9yWyJHIl0sICRSR0JUZXh0Q29sb3JbIkIiXSk7CgogICAgICAgIHJldHVybiBpbWFnZXR0ZnRleHQoJHRoaXMtPmltYWdlLCAkZm9udFNpemUsICRmb250Um90YXRpb24sICRwb3NpdGlvblgsICRwb3NpdGlvblksICR0ZXh0Q29sb3IsICRmb250UGF0aCwgJHRleHQpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIGEgbWVyZ2VkIHJlc291cmNlIGltYWdlCiAgICAgKgogICAgICogJGJhY2tncm91bmRDb2xvciBpcyByZWFsbHkgdXNlZnVsbCBpZiB5b3Ugd2FudCB0byBzYXZlIGEgSlBHIG9yIEdJRiwgYmVjYXVzZSB0aGUgdHJhbnNwYXJlbmN5IG9mIHRoZSBiYWNrZ3JvdW5kCiAgICAgKiB3b3VsZCBiZSByZW1vdmUgZm9yIGEgY29sb3JlZCBiYWNrZ3JvdW5kLCBzbyB5b3Ugc2hvdWxkIGNob29zZSBhIGNvbG9yIGxpa2UgImZmZmZmZiIgKHdoaXRlKQogICAgICoKICAgICAqIEBwYXJhbSBzdHJpbmcgJGJhY2tncm91bmRDb2xvcgogICAgICoKICAgICAqIEByZXR1cm4gcmVzb3VyY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFJlc3VsdCgkYmFja2dyb3VuZENvbG9yID0gbnVsbCkKICAgIHsKICAgICAgICAkaW1hZ2VzVG9NZXJnZSA9IGFycmF5KCk7CgogICAgICAgIGtzb3J0KCR0aGlzLT5sYXllckxldmVscyk7CgogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5sYXllckxldmVscyBhcyAkbGF5ZXJMZXZlbCA9PiAkbGF5ZXJJZCkgewoKICAgICAgICAgICAgJGltYWdlc1RvTWVyZ2VbJGxheWVyTGV2ZWxdID0gJHRoaXMtPmxheWVyc1skbGF5ZXJJZF0tPmdldFJlc3VsdCgpOwoKICAgICAgICAgICAgLy8gTGF5ZXIgcG9zaXRpb25zCiAgICAgICAgICAgIGlmICgkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdWyJ4Il0gIT0gMCB8fCAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdWyJ5Il0gIT0gMCkgewoKICAgICAgICAgICAgICAgICR2aXJnaW5MYXlvdXRJbWFnZVRtcCA9IHN0YXRpYzo6Z2VuZXJhdGVJbWFnZSgkdGhpcy0+d2lkdGgsICR0aGlzLT5oZWlnaHQpOwogICAgICAgICAgICAgICAgc3RhdGljOjptZXJnZVR3b0ltYWdlcygkdmlyZ2luTGF5b3V0SW1hZ2VUbXAsICRpbWFnZXNUb01lcmdlWyRsYXllckxldmVsXSwgJHRoaXMtPmxheWVyUG9zaXRpb25zWyRsYXllcklkXVsieCJdLCAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdWyJ5Il0sIDAsIDApOwogICAgICAgICAgICAgICAgJGltYWdlc1RvTWVyZ2VbJGxheWVyTGV2ZWxdID0gJHZpcmdpbkxheW91dEltYWdlVG1wOwogICAgICAgICAgICAgICAgdW5zZXQoJHZpcmdpbkxheW91dEltYWdlVG1wKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJGl0ZXJhdG9yID0gMTsKICAgICAgICAkbWVyZ2VkSW1hZ2UgPSAkdGhpcy0+aW1hZ2U7CiAgICAgICAga3NvcnQoJGltYWdlc1RvTWVyZ2UpOwoKICAgICAgICBmb3JlYWNoICgkaW1hZ2VzVG9NZXJnZSBhcyAkaW1hZ2VMZXZlbCA9PiAkaW1hZ2UpIHsKCiAgICAgICAgICAgIHN0YXRpYzo6bWVyZ2VUd29JbWFnZXMoJG1lcmdlZEltYWdlLCAkaW1hZ2UpOwoKICAgICAgICAgICAgJGl0ZXJhdG9yKys7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICRvcGFjaXR5ID0gMTI3OwogICAgICAgIAogICAgICAgIGlmICgkYmFja2dyb3VuZENvbG9yICYmICRiYWNrZ3JvdW5kQ29sb3IgIT0gJ3RyYW5zcGFyZW50JykgewogICAgICAgICAgICAkb3BhY2l0eSA9IDA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICRiYWNrZ3JvdW5kSW1hZ2UgPSBzdGF0aWM6OmdlbmVyYXRlSW1hZ2UoJHRoaXMtPndpZHRoLCAkdGhpcy0+aGVpZ2h0LCAkYmFja2dyb3VuZENvbG9yLCAkb3BhY2l0eSk7CiAgICAgICAgc3RhdGljOjptZXJnZVR3b0ltYWdlcygkYmFja2dyb3VuZEltYWdlLCAkbWVyZ2VkSW1hZ2UpOwogICAgICAgICRtZXJnZWRJbWFnZSA9ICRiYWNrZ3JvdW5kSW1hZ2U7CiAgICAgICAgdW5zZXQoJGJhY2tncm91bmRJbWFnZSk7CgogICAgICAgIHJldHVybiAkbWVyZ2VkSW1hZ2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBTYXZlIHRoZSByZXN1bHRpbmcgaW1hZ2UgYXQgdGhlIHNwZWNpZmllZCBwYXRoCiAgICAgKgogICAgICogJGJhY2tncm91bmRDb2xvciBpcyByZWFsbHkgdXNlZnVsbCBpZiB5b3Ugd2FudCB0byBzYXZlIGEgSlBHIG9yIEdJRiwgYmVjYXVzZSB0aGUgdHJhbnNwYXJlbmN5IG9mIHRoZSBiYWNrZ3JvdW5kCiAgICAgKiB3b3VsZCBiZSByZW1vdmUgZm9yIGEgY29sb3JlZCBiYWNrZ3JvdW5kLCBzbyB5b3Ugc2hvdWxkIGNob29zZSBhIGNvbG9yIGxpa2UgImZmZmZmZiIgKHdoaXRlKQogICAgICoKICAgICAqIElmIHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzLCBpdCB3aWxsIGJlIG92ZXJyaWRlICEKICAgICAqCiAgICAgKiAkaW1hZ2VRdWFsaXR5IGlzIHVzZWxlc3MgZm9yIEdJRgogICAgICoKICAgICAqIEV4OiAkZm9sZGVyID0gX19ESVJfXy4iLy4uL3dlYi9pbWFnZXMvMjAxMiIKICAgICAqICAgICAkaW1hZ2VOYW1lID0gImJ1dHRlcmZseS5qcGciCiAgICAgKiAgICAgJGNyZWF0ZUZvbGRlcnMgPSB0cnVlCiAgICAgKiAgICAgJGltYWdlUXVhbGl0eSA9IDk1CiAgICAgKiAgICAgJGJhY2tncm91bmRDb2xvciA9ICJmZmZmZmYiCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkZm9sZGVyCiAgICAgKiBAcGFyYW0gc3RyaW5nICRpbWFnZU5hbWUKICAgICAqIEBwYXJhbSBib29sZWFuICRjcmVhdGVGb2xkZXJzCiAgICAgKiBAcGFyYW0gc3RyaW5nICRiYWNrZ3JvdW5kQ29sb3IKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRpbWFnZVF1YWxpdHkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHNhdmUoJGZvbGRlciwgJGltYWdlTmFtZSwgJGNyZWF0ZUZvbGRlcnMgPSB0cnVlLCAkYmFja2dyb3VuZENvbG9yID0gbnVsbCwgJGltYWdlUXVhbGl0eSA9IDc1KQogICAgewogICAgICAgIGlmICghaXNfZmlsZSgkZm9sZGVyKSkgewoKICAgICAgICAgICAgaWYgKGlzX2RpcigkZm9sZGVyKSB8fCAkY3JlYXRlRm9sZGVycykgewoKICAgICAgICAgICAgICAgIC8vIENyZWF0aW5nIHRoZSBmb2xkZXJzIGlmIHRoZXkgZG9uJ3QgZXhpc3QKICAgICAgICAgICAgICAgIGlmICghaXNfZGlyKCRmb2xkZXIpICYmICRjcmVhdGVGb2xkZXJzKSB7CiAgICAgICAgICAgICAgICAgICAgJG9sZFVtYXNrID0gdW1hc2soMCk7CiAgICAgICAgICAgICAgICAgICAgbWtkaXIoJGZvbGRlciwgMDc3NywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgdW1hc2soJG9sZFVtYXNrKTsKICAgICAgICAgICAgICAgICAgICBjaG1vZCgkZm9sZGVyLCAwNzc3KTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkZXh0ZW5zaW9uID0gZXhwbG9kZSgiLiIsICRpbWFnZU5hbWUpOwogICAgICAgICAgICAgICAgJGV4dGVuc2lvbiA9IHN0cnRvbG93ZXIoJGV4dGVuc2lvbltjb3VudCgkZXh0ZW5zaW9uKSAtIDFdKTsKCiAgICAgICAgICAgICAgICAkZmlsZW5hbWUgPSAkZm9sZGVyLiIvIi4kaW1hZ2VOYW1lOwoKICAgICAgICAgICAgICAgIGlmICgoJGV4dGVuc2lvbiA9PSAianBnIiB8fCAkZXh0ZW5zaW9uID09ICJqcGVnIiB8fCAkZXh0ZW5zaW9uID09ICJnaWYiKSAmJiAoISRiYWNrZ3JvdW5kQ29sb3IgfHwgJGJhY2tncm91bmRDb2xvciA9PSAidHJhbnNwYXJlbnQiKSkgewogICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kQ29sb3IgPSAiZmZmZmZmIjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkaW1hZ2UgPSAkdGhpcy0+Z2V0UmVzdWx0KCRiYWNrZ3JvdW5kQ29sb3IpOwoKICAgICAgICAgICAgICAgIGlmICgkZXh0ZW5zaW9uID09ICJqcGciIHx8ICRleHRlbnNpb24gPT0gImpwZWciKSB7CgogICAgICAgICAgICAgICAgICAgIGltYWdlanBlZygkaW1hZ2UsICRmaWxlbmFtZSwgJGltYWdlUXVhbGl0eSk7CiAgICAgICAgICAgICAgICAgICAgdW5zZXQoJGltYWdlKTsKCiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJGV4dGVuc2lvbiA9PSAiZ2lmIikgewoKICAgICAgICAgICAgICAgICAgICBpbWFnZWdpZigkaW1hZ2UsICRmaWxlbmFtZSk7CiAgICAgICAgICAgICAgICAgICAgdW5zZXQoJGltYWdlKTsKCiAgICAgICAgICAgICAgICB9IGVsc2VpZiAoJGV4dGVuc2lvbiA9PSAicG5nIikgewoKICAgICAgICAgICAgICAgICAgICAkaW1hZ2VRdWFsaXR5ID0gJGltYWdlUXVhbGl0eSAvIDEwOwogICAgICAgICAgICAgICAgICAgICRpbWFnZVF1YWxpdHkgLT0gMTsKCiAgICAgICAgICAgICAgICAgICAgaW1hZ2VwbmcoJGltYWdlLCAkZmlsZW5hbWUsICRpbWFnZVF1YWxpdHkpOwogICAgICAgICAgICAgICAgICAgIHVuc2V0KCRpbWFnZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBBcHBseSBhIGZpbHRlciBvbiB0aGUgbGF5ZXIKICAgICAqIEJlIGNhcmVmdWw6IHNvbWUgZmlsdGVycyBjYW4gZGFtYWdlIHRyYW5zcGFyZW50IGltYWdlcywgdXNlIGl0IHNwYXJpbmdseSAhIChBIGdvb2QgcHJhdGljZSBpcyB0byB1c2UgbWVyZ2VBbGwgb24geW91ciBsYXllciBiZWZvcmUgYXBwbHlpbmcgYSBmaWx0ZXIpCiAgICAgKgogICAgICogQHBhcmFtIGludCAkZmlsdGVyVHlwZSAoaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi5pbWFnZWZpbHRlci5waHApCiAgICAgKiBAcGFyYW0gaW50ICRhcmcxCiAgICAgKiBAcGFyYW0gaW50ICRhcmcyCiAgICAgKiBAcGFyYW0gaW50ICRhcmczCiAgICAgKiBAcGFyYW0gaW50ICRhcmc0CiAgICAgKiBAcGFyYW0gYm9vbGVhbiAkcmVjdXJzaXZlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBhcHBseUZpbHRlcigkZmlsdGVyVHlwZSwgJGFyZzEgPSBudWxsLCAkYXJnMiA9IG51bGwsICRhcmczID0gbnVsbCwgJGFyZzQgPSBudWxsLCAkcmVjdXJzaXZlID0gZmFsc2UpCiAgICB7CiAgICAgICAgaWYgKCRmaWx0ZXJUeXBlID09IElNR19GSUxURVJfQ09MT1JJWkUpIHsKICAgICAgICAgICAgCiAgICAgICAgICAgIGltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZSwgJGZpbHRlclR5cGUsICRhcmcxLCAkYXJnMiwgJGFyZzMsICRhcmc0KTsKICAgICAgICAgICAgCiAgICAgICAgfSBlbHNlaWYgKCRmaWx0ZXJUeXBlID09IElNR19GSUxURVJfQlJJR0hUTkVTUyB8fCAkZmlsdGVyVHlwZSA9PSBJTUdfRklMVEVSX0NPTlRSQVNUIHx8ICRmaWx0ZXJUeXBlID09IElNR19GSUxURVJfU01PT1RIKSB7CiAgICAgICAgICAgIAogICAgICAgICAgICBpbWFnZWZpbHRlcigkdGhpcy0+aW1hZ2UsICRmaWx0ZXJUeXBlLCAkYXJnMSk7CiAgICAgICAgCiAgICAgICAgfSBlbHNlaWYgKCRmaWx0ZXJUeXBlID09IElNR19GSUxURVJfUElYRUxBVEUpIHsKICAgICAgICAgICAgCiAgICAgICAgICAgIGltYWdlZmlsdGVyKCR0aGlzLT5pbWFnZSwgJGZpbHRlclR5cGUsICRhcmcxLCAkYXJnMik7CiAgICAgICAgICAgIAogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIAogICAgICAgICAgICBpbWFnZWZpbHRlcigkdGhpcy0+aW1hZ2UsICRmaWx0ZXJUeXBlKTsKICAgICAgICB9CgogICAgICAgIGlmICgkcmVjdXJzaXZlKSB7CgogICAgICAgICAgICAkbGF5ZXJzID0gJHRoaXMtPmxheWVyczsKCiAgICAgICAgICAgIGZvcmVhY2goJGxheWVycyBhcyAkbGF5ZXJJZCA9PiAkbGF5ZXIpIHsKCiAgICAgICAgICAgICAgICAkdGhpcy0+bGF5ZXJzWyRsYXllcklkXS0+YXBwbHlGaWx0ZXIoJGZpbHRlclR5cGUsICRhcmcxLCAkYXJnMiwgJGFyZzMsICRhcmc0LCB0cnVlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgbmFycm93IHNpZGUgd2lkdGggb2YgdGhlIGxheWVyCiAgICAgKgogICAgICogQHJldHVybiBpbnRlZ2VyCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXROYXJyb3dTaWRlV2lkdGgoKQogICAgewogICAgICAgICRuYXJyb3dTaWRlV2lkdGggPSAkdGhpcy0+Z2V0V2lkdGgoKTsKCiAgICAgICAgaWYgKCR0aGlzLT5nZXRIZWlnaHQoKSA8ICRuYXJyb3dTaWRlV2lkdGgpIHsKCiAgICAgICAgICAgICRuYXJyb3dTaWRlV2lkdGggPSAkdGhpcy0+Z2V0SGVpZ2h0KCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJG5hcnJvd1NpZGVXaWR0aDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgbGFyZ2VzdCBzaWRlIHdpZHRoIG9mIHRoZSBsYXllcgogICAgICoKICAgICAqIEByZXR1cm4gaW50ZWdlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGFyZ2VzdFNpZGVXaWR0aCgpCiAgICB7CiAgICAgICAgJGxhcmdlc3RTaWRlV2lkdGggPSAkdGhpcy0+Z2V0V2lkdGgoKTsKCiAgICAgICAgaWYgKCR0aGlzLT5nZXRIZWlnaHQoKSA+ICRsYXJnZXN0U2lkZVdpZHRoKSB7CgogICAgICAgICAgICAkbGFyZ2VzdFNpZGVXaWR0aCA9ICR0aGlzLT5nZXRIZWlnaHQoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkbGFyZ2VzdFNpZGVXaWR0aDsKICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBDaGFuZ2UgdGhlIHBvc2l0aW9uIG9mIGEgc3VibGF5ZXIgZm9yIG5ldyBwb3NpdGlvbnMKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJJZAogICAgICogQHBhcmFtIGludGVnZXIgJG5ld1Bvc1gKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRuZXdQb3NZCiAgICAgKgogICAgICogQHJldHVybiBib29sZWFuCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjaGFuZ2VQb3NpdGlvbigkbGF5ZXJJZCwgJG5ld1Bvc1ggPSBudWxsLCAkbmV3UG9zWSA9IG51bGwpCiAgICB7CiAgICAgICAgLy8gaWYgdGhlIHN1YmxheWVyIGV4aXN0cyBpbiB0aGUgc3RhY2sKICAgICAgICBpZiAoJHRoaXMtPmlzTGF5ZXJJbkluZGV4KCRsYXllcklkKSkgewogICAgICAgICAgICAKICAgICAgICAgICAgaWYgKCRuZXdQb3NYICE9PSBudWxsKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdWyd4J10gPSAkbmV3UG9zWDsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgaWYgKCRuZXdQb3NZICE9PSBudWxsKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdWyd5J10gPSAkbmV3UG9zWTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICAKICAgIC8qKgogICAgICogQXBwbHkgYSB0cmFuc2xhdGlvbiBvbiBhIHN1YmxheWVyIHRoYXQgY2hhbmdlIGl0cyBwb3NpdGlvbnMKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJJZAogICAgICogQHBhcmFtIGludGVnZXIgJGFkZGVkUG9zWAogICAgICogQHBhcmFtIGludGVnZXIgJGFkZGVkUG9zWQogICAgICoKICAgICAqIEByZXR1cm4gbWl4ZWQgKGFycmF5IG9mIG5ldyBwb3NpdGlvbnMgb3IgZmFsc2UgaWYgZmFpbCkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGFwcGx5VHJhbnNsYXRpb24oJGxheWVySWQsICRhZGRlZFBvc1ggPSBudWxsLCAkYWRkZWRQb3NZID0gbnVsbCkKICAgIHsKICAgICAgICAvLyBpZiB0aGUgc3VibGF5ZXIgZXhpc3RzIGluIHRoZSBzdGFjawogICAgICAgIGlmICgkdGhpcy0+aXNMYXllckluSW5kZXgoJGxheWVySWQpKSB7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAoJGFkZGVkUG9zWCAhPT0gbnVsbCkgewogICAgICAgICAgICAgICAgJHRoaXMtPmxheWVyUG9zaXRpb25zWyRsYXllcklkXVsneCddICs9ICRhZGRlZFBvc1g7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIGlmICgkYWRkZWRQb3NZICE9PSBudWxsKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+bGF5ZXJQb3NpdGlvbnNbJGxheWVySWRdWyd5J10gKz0gJGFkZGVkUG9zWTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5sYXllclBvc2l0aW9uc1skbGF5ZXJJZF07CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICAKICAgIC8qKgogICAgICogQXBwbHkgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBmbGlwLiAoVHJhbnNmb3JtYXRpb24pCiAgICAgKiAKICAgICAqIEBwYXJhbSBzdHJpbmcgJHR5cGUKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGZsaXAoJHR5cGUgPSAnaG9yaXpvbnRhbCcpCiAgICB7CiAgICAgICAgJGxheWVycyA9ICR0aGlzLT5sYXllcnM7CgogICAgICAgIGZvcmVhY2ggKCRsYXllcnMgYXMgJGtleSA9PiAkbGF5ZXIpIHsKCiAgICAgICAgICAgICRsYXllci0+ZmxpcCgkdHlwZSk7CiAgICAgICAgICAgICR0aGlzLT5sYXllcnNbJGtleV0gPSAkbGF5ZXI7CiAgICAgICAgfQogICAgICAgIAogICAgICAgICR0ZW1wID0gc3RhdGljOjpnZW5lcmF0ZUltYWdlKCR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCk7CiAgICAgICAgCiAgICAgICAgaWYgKCR0eXBlID09ICdob3Jpem9udGFsJykgewogICAgICAgICAgICAKICAgICAgICAgICAgaW1hZ2Vjb3B5cmVzYW1wbGVkKCR0ZW1wLCAkdGhpcy0+aW1hZ2UsIDAsIDAsICR0aGlzLT53aWR0aCAtIDEsIDAsICR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCwgLSR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCk7CiAgICAgICAgICAgICR0aGlzLT5pbWFnZSA9ICR0ZW1wOwogICAgICAgICAgICAKICAgICAgICAgICAgZm9yZWFjaCAoJHRoaXMtPmxheWVyUG9zaXRpb25zIGFzICRsYXllcklkID0+ICRsYXllclBvc2l0aW9ucykgewogICAgCiAgICAgICAgICAgICAgICAkdGhpcy0+Y2hhbmdlUG9zaXRpb24oJGxheWVySWQsICR0aGlzLT53aWR0aCAtICR0aGlzLT5sYXllcnNbJGxheWVySWRdLT5nZXRXaWR0aCgpIC0gJGxheWVyUG9zaXRpb25zWyd4J10sICRsYXllclBvc2l0aW9uc1sneSddKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICB9IGVsc2VpZiAoJHR5cGUgPT0gJ3ZlcnRpY2FsJykgewogICAgICAgICAgICAKICAgICAgICAgICAgaW1hZ2Vjb3B5cmVzYW1wbGVkKCR0ZW1wLCAkdGhpcy0+aW1hZ2UsIDAsIDAsIDAsICR0aGlzLT5oZWlnaHQgLSAxLCAkdGhpcy0+d2lkdGgsICR0aGlzLT5oZWlnaHQsICR0aGlzLT53aWR0aCwgLSR0aGlzLT5oZWlnaHQpOwogICAgICAgICAgICAkdGhpcy0+aW1hZ2UgPSAkdGVtcDsKICAgICAgICAgICAgCiAgICAgICAgICAgIGZvcmVhY2ggKCR0aGlzLT5sYXllclBvc2l0aW9ucyBhcyAkbGF5ZXJJZCA9PiAkbGF5ZXJQb3NpdGlvbnMpIHsKICAgIAogICAgICAgICAgICAgICAgJHRoaXMtPmNoYW5nZVBvc2l0aW9uKCRsYXllcklkLCAkbGF5ZXJQb3NpdGlvbnNbJ3gnXSwgJHRoaXMtPmhlaWdodCAtICR0aGlzLT5sYXllcnNbJGxheWVySWRdLT5nZXRIZWlnaHQoKSAtICRsYXllclBvc2l0aW9uc1sneSddKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICB1bnNldCgkdGVtcCk7CiAgICB9CgogICAgLy8gSW50ZXJuYWxzCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgCiAgICAvKioKICAgICAqIFVwZGF0ZSB0aGUgcG9zaXRpb25zIG9mIGxheWVycyBpbiB0aGUgc3RhY2sgYWZ0ZXIgY3JvcHBpbmcKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25YCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25ZCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB1cGRhdGVMYXllclBvc2l0aW9uc0FmdGVyQ3JvcHBpbmcoJHBvc2l0aW9uWCwgJHBvc2l0aW9uWSkKICAgIHsKICAgICAgICBmb3JlYWNoICgkdGhpcy0+bGF5ZXJzIGFzICRsYXllcklkID0+ICRsYXllcikgewoKICAgICAgICAgICAgJG9sZExheWVyUG9zWCA9ICR0aGlzLT5sYXllclBvc2l0aW9uc1skbGF5ZXJJZF1bIngiXTsKICAgICAgICAgICAgJG9sZExheWVyUG9zWSA9ICR0aGlzLT5sYXllclBvc2l0aW9uc1skbGF5ZXJJZF1bInkiXTsKCiAgICAgICAgICAgICRuZXdMYXllclBvc1ggPSAkb2xkTGF5ZXJQb3NYICsgJHBvc2l0aW9uWDsKICAgICAgICAgICAgJG5ld0xheWVyUG9zWSA9ICRvbGRMYXllclBvc1kgKyAkcG9zaXRpb25ZOwoKICAgICAgICAgICAgdW5zZXQoJHRoaXMtPmxheWVyUG9zaXRpb25zWyRsYXllcklkXSk7CiAgICAgICAgICAgIAogICAgICAgICAgICAkdGhpcy0+Y2hhbmdlUG9zaXRpb24oJGxheWVySWQsICRuZXdMYXllclBvc1gsICRuZXdMYXllclBvc1kpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgLyoqCiAgICAgKiBSZXNpemUgdGhlIGJhY2tncm91bmQgb2YgYSBsYXllcgogICAgICoKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRuZXdXaWR0aAogICAgICogQHBhcmFtIGludGVnZXIgJG5ld0hlaWdodAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcmVzaXplQmFja2dyb3VuZCgkbmV3V2lkdGgsICRuZXdIZWlnaHQpCiAgICB7CiAgICAgICAgJG9sZFdpZHRoID0gJHRoaXMtPndpZHRoOwogICAgICAgICRvbGRIZWlnaHQgPSAkdGhpcy0+aGVpZ2h0OwoKICAgICAgICAkdGhpcy0+d2lkdGggPSAkbmV3V2lkdGg7CiAgICAgICAgJHRoaXMtPmhlaWdodCA9ICRuZXdIZWlnaHQ7CgogICAgICAgICR2aXJnaW5MYXlvdXRJbWFnZSA9IHN0YXRpYzo6Z2VuZXJhdGVJbWFnZSgkdGhpcy0+d2lkdGgsICR0aGlzLT5oZWlnaHQpOwoKICAgICAgICBpbWFnZWNvcHlyZXNhbXBsZWQoJHZpcmdpbkxheW91dEltYWdlLCAkdGhpcy0+aW1hZ2UsIDAsIDAsIDAsIDAsICR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCwgJG9sZFdpZHRoLCAkb2xkSGVpZ2h0KTsKCiAgICAgICAgdW5zZXQoJHRoaXMtPmltYWdlKTsKICAgICAgICAkdGhpcy0+aW1hZ2UgPSAkdmlyZ2luTGF5b3V0SW1hZ2U7CiAgICB9CgogICAgLyoqCiAgICAgKiBDYWxsZWQgdG8gaW5pdGlhbGl6ZSBhIHZpcmdpbiBpbWFnZSB2YXIKICAgICAqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRiYWNrZ3JvdW5kQ29sb3IKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGluaXRpYWxpemVJbWFnZSgkYmFja2dyb3VuZENvbG9yID0gbnVsbCkKICAgIHsKICAgICAgICB1bnNldCgkdGhpcy0+aW1hZ2UpOwoKICAgICAgICBpZiAoJGJhY2tncm91bmRDb2xvcikgewoKICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gc3RhdGljOjpnZW5lcmF0ZUltYWdlKCR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCwgJGJhY2tncm91bmRDb2xvciwgMCk7CgogICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAkdGhpcy0+aW1hZ2UgPSBzdGF0aWM6OmdlbmVyYXRlSW1hZ2UoJHRoaXMtPndpZHRoLCAkdGhpcy0+aGVpZ2h0KTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDYWxsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgaW1hZ2UgdmFyIGZyb20gYSBnaXZlbiBwYXRoCiAgICAgKiAoVXBkYXRlIGxheWVyIHdpZHRoIGFuZCBoZWlnaHQpCiAgICAgKgogICAgICogQHBhcmFtIFN0cmluZyAkcGF0aAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaW5pdGlhbGl6ZUltYWdlRnJvbSgkcGF0aCkKICAgIHsKICAgICAgICB1bnNldCgkdGhpcy0+aW1hZ2UpOwoKICAgICAgICBpZiAoZmlsZV9leGlzdHMoJHBhdGgpKSB7CgogICAgICAgICAgICAkaW1hZ2VTaXplSW5mb3MgPSBnZXRpbWFnZXNpemUoJHBhdGgpOwoKICAgICAgICAgICAgJHRoaXMtPndpZHRoID0gJGltYWdlU2l6ZUluZm9zWzBdOwogICAgICAgICAgICAkdGhpcy0+aGVpZ2h0ID0gJGltYWdlU2l6ZUluZm9zWzFdOwoKICAgICAgICAgICAgJG1pbWVDb250ZW50VHlwZSA9IGV4cGxvZGUoIi8iLCAkaW1hZ2VTaXplSW5mb3NbIm1pbWUiXSk7CiAgICAgICAgICAgICRtaW1lQ29udGVudFR5cGUgPSAkbWltZUNvbnRlbnRUeXBlWzFdOwoKICAgICAgICAgICAgc3dpdGNoICgkbWltZUNvbnRlbnRUeXBlKSB7CiAgICAgICAgICAgICAgICBjYXNlICJqcGVnIjoKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+aW1hZ2UgPSBpbWFnZWNyZWF0ZWZyb21qcGVnKCRwYXRoKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgImdpZiI6CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gaW1hZ2VjcmVhdGVmcm9tZ2lmKCRwYXRoKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgInBuZyI6CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gaW1hZ2VjcmVhdGVmcm9tcG5nKCRwYXRoKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEltYWdlV29ya3Nob3BFeGNlcHRpb24oJ05vdCBhbiBpbWFnZSBmaWxlIChqcGVnL3BuZy9naWYpIGF0ICInLiRwYXRoLiciJywgSW1hZ2VXb3Jrc2hvcDo6RVJST1JfTk9UX0FOX0lNQUdFX0ZJTEUpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEltYWdlV29ya3Nob3BFeGNlcHRpb24oJ05vIHN1Y2ggZmlsZSBmb3VuZCBhdCAiJy4kcGF0aC4nIicsIEltYWdlV29ya3Nob3A6OkVSUk9SX0lNQUdFX05PVF9GT1VORCk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ2FsbGVkIHRvIGluaXRpYWxpemUgdGhlIGltYWdlIHZhciBmcm9tIGEgcGhwIGltYWdlIHZhcgogICAgICogKFVwZGF0ZSBsYXllciB3aWR0aCBhbmQgaGVpZ2h0KQogICAgICoKICAgICAqIEBwYXJhbSByZXNvdXJjZSAkaW1hZ2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGluaXRpYWxpemVJbWFnZVdpdGgoJGltYWdlKQogICAgewogICAgICAgIHVuc2V0KCR0aGlzLT5pbWFnZSk7CgogICAgICAgIGlmIChnZXR0eXBlKCRpbWFnZSkgIT0gInJlc291cmNlIikgewogICAgICAgICAgICB0aHJvdyBuZXcgSW1hZ2VXb3Jrc2hvcEV4Y2VwdGlvbigiWW91IG11c3QgZ2l2ZSBhIHBocCBpbWFnZSB2YXIgYnkgdXNpbmcgaW5pdGlhbGl6ZUltYWdlV2l0aCIsIEltYWdlV29ya3Nob3A6OkVSUk9SX1BIUF9JTUFHRV9WQVJfTk9UX1VTRUQpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPndpZHRoID0gaW1hZ2VzeCgkaW1hZ2UpOwogICAgICAgICR0aGlzLT5oZWlnaHQgPSBpbWFnZXN5KCRpbWFnZSk7CiAgICAgICAgJHRoaXMtPmltYWdlID0gJGltYWdlOwogICAgfQoKICAgIC8qKgogICAgICogQ2FsbGVkIHRvIGluaXRpYWxpemUgYSB0ZXh0IGxheWVyCiAgICAgKiAoVXBkYXRlIGxheWVyIHdpZHRoIGFuZCBoZWlnaHQpCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkdGV4dAogICAgICogQHBhcmFtIHN0cmluZyAkZm9udFBhdGgKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRmb250U2l6ZQogICAgICogQHBhcmFtIHN0cmluZyAkZm9udENvbG9yCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkdGV4dFJvdGF0aW9uCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkYmFja2dyb3VuZENvbG9yCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpbml0aWFsaXplVGV4dEltYWdlKCR0ZXh0LCAkZm9udFBhdGgsICRmb250U2l6ZSA9IDEzLCAkZm9udENvbG9yID0gImZmZmZmZiIsICR0ZXh0Um90YXRpb24gPSAwLCAkYmFja2dyb3VuZENvbG9yID0gbnVsbCkKICAgIHsKICAgICAgICB1bnNldCgkdGhpcy0+aW1hZ2UpOwoKICAgICAgICAkdGV4dERpbWVuc2lvbnMgPSBJbWFnZVdvcmtzaG9wOjpnZXRUZXh0Qm94RGltZW5zaW9uKCRmb250U2l6ZSwgJHRleHRSb3RhdGlvbiwgJGZvbnRQYXRoLCAkdGV4dCk7CgogICAgICAgICR0aGlzLT53aWR0aCA9ICR0ZXh0RGltZW5zaW9uc1sid2lkdGgiXTsKICAgICAgICAkdGhpcy0+aGVpZ2h0ID0gJHRleHREaW1lbnNpb25zWyJoZWlnaHQiXTsKCiAgICAgICAgaWYgKCRiYWNrZ3JvdW5kQ29sb3IpIHsKCiAgICAgICAgICAgICR0aGlzLT5pbWFnZSA9IHN0YXRpYzo6Z2VuZXJhdGVJbWFnZSgkdGhpcy0+d2lkdGgsICR0aGlzLT5oZWlnaHQsICRiYWNrZ3JvdW5kQ29sb3IsIDApOwoKICAgICAgICB9IGVsc2UgewoKICAgICAgICAgICAgJHRoaXMtPmltYWdlID0gc3RhdGljOjpnZW5lcmF0ZUltYWdlKCR0aGlzLT53aWR0aCwgJHRoaXMtPmhlaWdodCk7CiAgICAgICAgfQoKICAgICAgICAkdGhpcy0+d3JpdGUoJHRleHQsICRmb250UGF0aCwgJGZvbnRTaXplLCAkZm9udENvbG9yLCAkdGV4dERpbWVuc2lvbnNbImxlZnQiXSwgJHRleHREaW1lbnNpb25zWyJ0b3AiXSwgJHRleHRSb3RhdGlvbik7CiAgICB9CgogICAgLyoqCiAgICAgKiBJbmRleCBhIHN1YmxheWVyIGluIHRoZSBsYXllciBzdGFjawogICAgICogUmV0dXJuIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGdlbmVyYXRlZCBzdWJsYXllciBpZCBhbmQgaXRzIGNvcnJlY3RlZCBsZXZlbDoKICAgICAqIGFycmF5KCJsYXllckxldmVsIiA9PiBpbnRlZ2VyLCAiaWQiID0+IGludGVnZXIpCiAgICAgKgogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVyTGV2ZWwKICAgICAqIEBwYXJhbSBJbWFnZVdvcmtzaG9wTGF5ZXIgJGxheWVyCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25YCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcG9zaXRpb25ZCiAgICAgKiBAcGFyYW0gc3RyaW5nICRwb3NpdGlvbgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGluZGV4TGF5ZXIoJGxheWVyTGV2ZWwsICRsYXllciwgJHBvc2l0aW9uWCA9IDAsICRwb3NpdGlvblkgPSAwLCAkcG9zaXRpb24pCiAgICB7CiAgICAgICAgLy8gQ2hvb3NlIGFuIGlkIGZvciB0aGUgYWRkZWQgbGF5ZXIKICAgICAgICAkbGF5ZXJJZCA9ICR0aGlzLT5sYXN0TGF5ZXJJZCArIDE7CgogICAgICAgIC8vIENsb25lICRsYXllciB0byBkdXBsaWNhdGUgaW1hZ2UgcmVzb3VyY2UgdmFyCiAgICAgICAgJGxheWVyID0gY2xvbmUgJGxheWVyOwoKICAgICAgICAvLyBBZGQgdGhlIGxheWVyIGluIHRoZSBzdGFjawogICAgICAgICR0aGlzLT5sYXllcnNbJGxheWVySWRdID0gJGxheWVyOwoKICAgICAgICAvLyBBZGQgdGhlIGxheWVyIHBvc2l0aW9ucyBpbiB0aGUgbWFpbiBsYXllcgogICAgICAgICR0aGlzLT5sYXllclBvc2l0aW9uc1skbGF5ZXJJZF0gPSBzdGF0aWM6OmNhbGN1bGF0ZVBvc2l0aW9ucygkdGhpcy0+Z2V0V2lkdGgoKSwgJHRoaXMtPmdldEhlaWdodCgpLCAkbGF5ZXItPmdldFdpZHRoKCksICRsYXllci0+Z2V0SGVpZ2h0KCksICRwb3NpdGlvblgsICRwb3NpdGlvblksICRwb3NpdGlvbik7CgogICAgICAgIC8vIFVwZGF0ZSB0aGUgbGFzdExheWVySWQgb2YgdGhlIHdvcmtzaG9wCiAgICAgICAgJHRoaXMtPmxhc3RMYXllcklkID0gJGxheWVySWQ7CgogICAgICAgIC8vIEFkZCB0aGUgbGF5ZXIgbGV2ZWwgaW4gdGhlIHN0YWNrCiAgICAgICAgJGxheWVyTGV2ZWwgPSAkdGhpcy0+aW5kZXhMZXZlbEluRG9jdW1lbnQoJGxheWVyTGV2ZWwsICRsYXllcklkKTsKCiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAibGF5ZXJMZXZlbCIgPT4gJGxheWVyTGV2ZWwsCiAgICAgICAgICAgICJpZCIgPT4gJGxheWVySWQsCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIEluZGV4IGEgbGF5ZXIgbGV2ZWwgYW5kIHVwZGF0ZSB0aGUgbGF5ZXJzIGxldmVscyBpbiB0aGUgZG9jdW1lbnQKICAgICAqIFJldHVybiB0aGUgY29ycmVjdGVkIGxldmVsIG9mIHRoZSBsYXllcgogICAgICoKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsYXllckxldmVsCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJJZAogICAgICoKICAgICAqIEByZXR1cm4gaW50ZWdlcgogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gaW5kZXhMZXZlbEluRG9jdW1lbnQoJGxheWVyTGV2ZWwsICRsYXllcklkKQogICAgewogICAgICAgIC8vIExldmVsIGFscmVhZHkgZXhpc3RzCiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoJGxheWVyTGV2ZWwsICR0aGlzLT5sYXllckxldmVscykpIHsKCiAgICAgICAgICAgIC8vIEFsbCBsYXllcnMgYWZ0ZXIgdGhpcyBsZXZlbCBhbmQgdGhlIGxheWVyIHdoaWNoIGhhdmUgdGhpcyBsZXZlbCBhcmUgdXBkYXRlZAogICAgICAgICAgICBrc29ydCgkdGhpcy0+bGF5ZXJMZXZlbHMpOwogICAgICAgICAgICAkbGF5ZXJMZXZlbHNUbXAgPSAkdGhpcy0+bGF5ZXJMZXZlbHM7CgogICAgICAgICAgICBmb3JlYWNoICgkbGF5ZXJMZXZlbHNUbXAgYXMgJGxldmVsVG1wID0+ICRsYXllcklkVG1wKSB7CgogICAgICAgICAgICAgICAgaWYgKCRsZXZlbFRtcCA+PSAkbGF5ZXJMZXZlbCkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5sYXllckxldmVsc1skbGV2ZWxUbXAgKyAxXSA9ICRsYXllcklkVG1wOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB1bnNldCgkbGF5ZXJMZXZlbHNUbXApOwoKICAgICAgICB9IGVsc2UgeyAvLyBMZXZlbCBpc24ndCB0YWtlbgoKICAgICAgICAgICAgLy8gSWYgZ2l2ZW4gbGV2ZWwgaXMgdG9vIGhpZ2gsIHByb2NlZWQgYWRqdXN0ZW1lbnQKICAgICAgICAgICAgaWYgKCR0aGlzLT5oaWdoZXN0TGF5ZXJMZXZlbCA8ICRsYXllckxldmVsKSB7CiAgICAgICAgICAgICAgICAkbGF5ZXJMZXZlbCA9ICR0aGlzLT5oaWdoZXN0TGF5ZXJMZXZlbCArIDE7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICR0aGlzLT5sYXllckxldmVsc1skbGF5ZXJMZXZlbF0gPSAkbGF5ZXJJZDsKCiAgICAgICAgLy8gVXBkYXRlICRoaWdoZXN0TGF5ZXJMZXZlbAogICAgICAgICR0aGlzLT5oaWdoZXN0TGF5ZXJMZXZlbCA9IG1heChhcnJheV9mbGlwKCR0aGlzLT5sYXllckxldmVscykpOwoKICAgICAgICByZXR1cm4gJGxheWVyTGV2ZWw7CiAgICB9CgogICAgLyoqCiAgICAgKiBEZWxldGUgdGhlIGN1cnJlbnQgb2JqZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoKQogICAgewogICAgICAgIGltYWdlZGVzdHJveSgkdGhpcy0+aW1hZ2UpOwogICAgICAgICR0aGlzLT5jbGVhclN0YWNrKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBNZXJnZSB0d28gaW1hZ2UgdmFyCiAgICAgKgogICAgICogQHBhcmFtIHJlc291cmNlICRkZXN0aW5hdGlvbkltYWdlCiAgICAgKiBAcGFyYW0gcmVzb3VyY2UgJHNvdXJjZUltYWdlCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkZGVzdGluYXRpb25Qb3NYCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkZGVzdGluYXRpb25Qb3NZCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkc291cmNlUG9zWAogICAgICogQHBhcmFtIGludGVnZXIgJHNvdXJjZVBvc1kKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBtZXJnZVR3b0ltYWdlcygmJGRlc3RpbmF0aW9uSW1hZ2UsICRzb3VyY2VJbWFnZSwgJGRlc3RpbmF0aW9uUG9zWCA9IDAsICRkZXN0aW5hdGlvblBvc1kgPSAwLCAkc291cmNlUG9zWCA9IDAsICRzb3VyY2VQb3NZID0gMCkKICAgIHsKICAgICAgICBpbWFnZWNvcHkoJGRlc3RpbmF0aW9uSW1hZ2UsICRzb3VyY2VJbWFnZSwgJGRlc3RpbmF0aW9uUG9zWCwgJGRlc3RpbmF0aW9uUG9zWSwgJHNvdXJjZVBvc1gsICRzb3VyY2VQb3NZLCBpbWFnZVNYKCRzb3VyY2VJbWFnZSksIGltYWdlU1koJHNvdXJjZUltYWdlKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDb252ZXJ0IEhleCBjb2xvciB0byBSR0IgY29sb3IgZm9ybWF0CiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkaGV4CiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNvbnZlcnRIZXhUb1JHQigkaGV4KQogICAgewogICAgICAgIHJldHVybiBhcnJheSgKICAgICAgICAgICAgIlIiID0+IGJhc2VfY29udmVydChzdWJzdHIoJGhleCwgMCwgMiksIDE2LCAxMCksCiAgICAgICAgICAgICJHIiA9PiBiYXNlX2NvbnZlcnQoc3Vic3RyKCRoZXgsIDIsIDIpLCAxNiwgMTApLAogICAgICAgICAgICAiQiIgPT4gYmFzZV9jb252ZXJ0KHN1YnN0cigkaGV4LCA0LCAyKSwgMTYsIDEwKSwKICAgICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogQ29weSBhbiBpbWFnZSBvbiBhbm90aGVyIG9uZSBhbmQgY29udmVyc2UgdHJhbnNwYXJlbmN5CiAgICAgKgogICAgICogQHBhcmFtIHJlc291cmNlICRkZXN0SW1nCiAgICAgKiBAcGFyYW0gcmVzb3VyY2UgJHNyY0ltZwogICAgICogQHBhcmFtIGludGVnZXIgJGRlc3RYCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkZGVzdFkKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRzcmNYCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkc3JjWQogICAgICogQHBhcmFtIGludGVnZXIgJHNyY1cKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRzcmNICiAgICAgKiBAcGFyYW0gaW50ZWdlciAkcGN0CiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaW1hZ2Vjb3B5bWVyZ2VhbHBoYSgmJGRlc3RJbWcsICYkc3JjSW1nLCAkZGVzdFgsICRkZXN0WSwgJHNyY1gsICRzcmNZLCAkc3JjVywgJHNyY0gsICRwY3QgPSAwKQogICAgewogICAgICAgICRkZXN0WCA9IChpbnQpICRkZXN0WDsKICAgICAgICAkZGVzdFkgPSAoaW50KSAkZGVzdFk7CiAgICAgICAgJHNyY1ggPSAoaW50KSAkc3JjWDsKICAgICAgICAkc3JjWSA9IChpbnQpICRzcmNZOwogICAgICAgICRzcmNXID0gKGludCkgJHNyY1c7CiAgICAgICAgJHNyY0ggPSAoaW50KSAkc3JjSDsKICAgICAgICAkcGN0ID0gKGludCkgJHBjdDsKICAgICAgICAkZGVzdFcgPSBpbWFnZXN4KCRkZXN0SW1nKTsKICAgICAgICAkZGVzdEggPSBpbWFnZXN5KCRkZXN0SW1nKTsKCiAgICAgICAgZm9yICgkeSA9IDA7ICR5IDwgJHNyY0ggKyAkc3JjWTsgJHkrKykgewoKICAgICAgICAgICAgZm9yICgkeCA9IDA7ICR4IDwgJHNyY1cgKyAkc3JjWDsgJHgrKykgewoKICAgICAgICAgICAgICAgIGlmICgkeCArICRkZXN0WCA+PSAwICYmICR4ICsgJGRlc3RYIDwgJGRlc3RXICYmICR4ICsgJHNyY1ggPj0gMCAmJiAkeCArICRzcmNYIDwgJHNyY1cgJiYgJHkgKyAkZGVzdFkgPj0gMCAmJiAkeSArICRkZXN0WSA8ICRkZXN0SCAmJiAkeSArICRzcmNZID49IDAgJiYgJHkgKyAkc3JjWSA8ICRzcmNIKSB7CgogICAgICAgICAgICAgICAgICAgICRkZXN0UGl4ZWwgPSBpbWFnZWNvbG9yc2ZvcmluZGV4KCRkZXN0SW1nLCBpbWFnZWNvbG9yYXQoJGRlc3RJbWcsICR4ICsgJGRlc3RYLCAkeSArICRkZXN0WSkpOwogICAgICAgICAgICAgICAgICAgICRzcmNJbWdDb2xvcmF0ID0gaW1hZ2Vjb2xvcmF0KCRzcmNJbWcsICR4ICsgJHNyY1gsICR5ICsgJHNyY1kpOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIGlmICgkc3JjSW1nQ29sb3JhdCA+IDApIHsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgJHNyY1BpeGVsID0gaW1hZ2Vjb2xvcnNmb3JpbmRleCgkc3JjSW1nLCAkc3JjSW1nQ29sb3JhdCk7CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgJHNyY0FscGhhID0gMSAtICgkc3JjUGl4ZWxbJ2FscGhhJ10gLyAxMjcpOwogICAgICAgICAgICAgICAgICAgICAgICAkZGVzdEFscGhhID0gMSAtICgkZGVzdFBpeGVsWydhbHBoYSddIC8gMTI3KTsKICAgICAgICAgICAgICAgICAgICAgICAgJG9wYWNpdHkgPSAkc3JjQWxwaGEgKiAkcGN0IC8gMTAwOwogICAgCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkZGVzdEFscGhhID49ICRvcGFjaXR5KSB7CiAgICAJCQkJCQkkYWxwaGEgPSAkZGVzdEFscGhhOwogICAgCQkJCQl9CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRkZXN0QWxwaGEgPCAkb3BhY2l0eSkgewogICAgCQkJCQkJJGFscGhhID0gJG9wYWNpdHk7CiAgICAJCQkJCX0KICAgIAogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGFscGhhID4gMSkgewogICAgCQkJCQkJJGFscGhhID0gMTsKICAgIAkJCQkJfQogICAgCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkb3BhY2l0eSA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRlc3RSZWQgPSByb3VuZCgoKCRkZXN0UGl4ZWxbJ3JlZCddICogJGRlc3RBbHBoYSAqICgxIC0gJG9wYWNpdHkpKSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRlc3RHcmVlbiA9IHJvdW5kKCgoJGRlc3RQaXhlbFsnZ3JlZW4nXSAqICRkZXN0QWxwaGEgKiAoMSAtICRvcGFjaXR5KSkpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkZXN0Qmx1ZSA9IHJvdW5kKCgoJGRlc3RQaXhlbFsnYmx1ZSddICogJGRlc3RBbHBoYSAqICgxIC0gJG9wYWNpdHkpKSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNyY1JlZCA9IHJvdW5kKCgoJHNyY1BpeGVsWydyZWQnXSAqICRvcGFjaXR5KSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNyY0dyZWVuID0gcm91bmQoKCgkc3JjUGl4ZWxbJ2dyZWVuJ10gKiAkb3BhY2l0eSkpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzcmNCbHVlID0gcm91bmQoKCgkc3JjUGl4ZWxbJ2JsdWUnXSAqICRvcGFjaXR5KSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlZCA9IHJvdW5kKCgkZGVzdFJlZCArICRzcmNSZWQgICkgLyAoJGRlc3RBbHBoYSAqICgxIC0gJG9wYWNpdHkpICsgJG9wYWNpdHkpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmVlbiA9IHJvdW5kKCgkZGVzdEdyZWVuICsgJHNyY0dyZWVuKSAvICgkZGVzdEFscGhhICogKDEgLSAkb3BhY2l0eSkgKyAkb3BhY2l0eSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJsdWUgPSByb3VuZCgoJGRlc3RCbHVlICsgJHNyY0JsdWUgKSAvICgkZGVzdEFscGhhICogKDEgLSAkb3BhY2l0eSkgKyAkb3BhY2l0eSkpOwogICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHJlZCAgID4gMjU1KSB7CiAgICAJCQkJCQkJJHJlZCAgID0gMjU1OwogICAgCQkJCQkJfQogICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGdyZWVuID4gMjU1KSB7CiAgICAJCQkJCQkJJGdyZWVuID0gMjU1OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgCiAgICAJCQkJCQlpZiAoJGJsdWUgID4gMjU1KSB7CiAgICAJCQkJCQkJJGJsdWUgID0gMjU1OwogICAgCQkJCQkJfQogICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWxwaGEgPSByb3VuZCgoMSAtICRhbHBoYSkgKiAxMjcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yID0gaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJGRlc3RJbWcsICRyZWQsICRncmVlbiwgJGJsdWUsICRhbHBoYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZXNldHBpeGVsKCRkZXN0SW1nLCAkeCArICRkZXN0WCwgJHkgKyAkZGVzdFksICRjb2xvcik7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXNldCB0aGUgbGF5ZXIgc3RhY2sKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNsZWFyU3RhY2soKQogICAgewogICAgICAgIGZvcmVhY2ggKCR0aGlzLT5sYXllcnMgYXMgJGxheWVyKSB7CiAgICAgICAgICAgICRsYXllci0+ZGVsZXRlKCk7CiAgICAgICAgfQoKICAgICAgICB1bnNldCgkdGhpcy0+bGF5ZXJzKTsKICAgICAgICB1bnNldCgkdGhpcy0+bGF5ZXJMZXZlbHMpOwogICAgICAgIHVuc2V0KCR0aGlzLT5sYXllclBvc2l0aW9ucyk7CgogICAgICAgICR0aGlzLT5sYXN0TGF5ZXJJZCA9IDA7CiAgICAgICAgJHRoaXMtPmxheWVycyA9IGFycmF5KCk7CiAgICAgICAgJHRoaXMtPmxheWVyTGV2ZWxzID0gYXJyYXkoKTsKICAgICAgICAkdGhpcy0+bGF5ZXJQb3NpdGlvbnMgPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5oaWdoZXN0TGF5ZXJMZXZlbCA9IDA7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gZGltZW5zaW9uIG9mIGEgdGV4dAogICAgICoKICAgICAqIEBwYXJhbSAkZm9udFNpemUKICAgICAqIEBwYXJhbSAkZm9udEFuZ2xlCiAgICAgKiBAcGFyYW0gJGZvbnRGaWxlCiAgICAgKiBAcGFyYW0gJHRleHQKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5IG9yIGJvb2xlYW4KICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRUZXh0Qm94RGltZW5zaW9uKCRmb250U2l6ZSwgJGZvbnRBbmdsZSwgJGZvbnRGaWxlLCAkdGV4dCkKICAgIHsKICAgICAgICAkYm94ID0gaW1hZ2V0dGZiYm94KCRmb250U2l6ZSwgJGZvbnRBbmdsZSwgJGZvbnRGaWxlLCAkdGV4dCk7CgoJCWlmICghJGJveCkgewoKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCiAgICAgICAgJG1pblggPSBtaW4oYXJyYXkoJGJveFswXSwgJGJveFsyXSwgJGJveFs0XSwgJGJveFs2XSkpOwogICAgICAgICRtYXhYID0gbWF4KGFycmF5KCRib3hbMF0sICRib3hbMl0sICRib3hbNF0sICRib3hbNl0pKTsKICAgICAgICAkbWluWSA9IG1pbihhcnJheSgkYm94WzFdLCAkYm94WzNdLCAkYm94WzVdLCAkYm94WzddKSk7CiAgICAgICAgJG1heFkgPSBtYXgoYXJyYXkoJGJveFsxXSwgJGJveFszXSwgJGJveFs1XSwgJGJveFs3XSkpOwogICAgICAgICR3aWR0aCA9ICgkbWF4WCAtICRtaW5YKTsKICAgICAgICAkaGVpZ2h0ID0gKCRtYXhZIC0gJG1pblkpOwogICAgICAgICRsZWZ0ID0gYWJzKCRtaW5YKSArICR3aWR0aDsKICAgICAgICAkdG9wID0gYWJzKCRtaW5ZKSArICRoZWlnaHQ7CgogICAgICAgIC8vIHRvIGNhbGN1bGF0ZSB0aGUgZXhhY3QgYm91bmRpbmcgYm94LCB3ZSB3cml0ZSB0aGUgdGV4dCBpbiBhIGxhcmdlIGltYWdlCiAgICAgICAgJGltZyA9IEBpbWFnZWNyZWF0ZXRydWVjb2xvcigkd2lkdGggPDwgMiwgJGhlaWdodCA8PCAyKTsKICAgICAgICAkd2hpdGUgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJGltZywgMjU1LCAyNTUsIDI1NSk7CiAgICAgICAgJGJsYWNrID0gaW1hZ2Vjb2xvcmFsbG9jYXRlKCRpbWcsIDAsIDAsIDApOwogICAgICAgIGltYWdlZmlsbGVkcmVjdGFuZ2xlKCRpbWcsIDAsIDAsIGltYWdlc3goJGltZyksIGltYWdlc3koJGltZyksICRibGFjayk7CgogICAgICAgIC8vIGZvciBlbnN1cmUgdGhhdCB0aGUgdGV4dCBpcyBjb21wbGV0ZWx5IGluIHRoZSBpbWFnZQogICAgICAgIGltYWdldHRmdGV4dCgkaW1nLCAkZm9udFNpemUsICRmb250QW5nbGUsICRsZWZ0LCAkdG9wLCAkd2hpdGUsICRmb250RmlsZSwgJHRleHQpOwoKICAgICAgICAvLyBzdGFydCBzY2FubmluZyAoMD0+IGJsYWNrID0+IGVtcHR5KQogICAgICAgICRybGVmdCA9ICR3NCA9ICR3aWR0aDw8MjsKICAgICAgICAkcnJpZ2h0ID0gMDsKICAgICAgICAkcmJvdHRvbSA9IDA7CiAgICAgICAgJHJ0b3AgPSAkaDQgPSAkaGVpZ2h0PDwyOwoKICAgICAgICBmb3IgKCR4ID0gMDsgJHggPCAkdzQ7ICR4KyspIHsKCgkJCWZvciAoJHkgPSAwOyAkeSA8ICRoNDsgJHkrKykgewoKCQkJCWlmIChpbWFnZWNvbG9yYXQoJGltZywgJHgsICR5KSkgewoKCQkJCQkkcmxlZnQgPSBtaW4oJHJsZWZ0LCAkeCk7CgkJCQkJJHJyaWdodCA9IG1heCgkcnJpZ2h0LCAkeCk7CgkJCQkJJHJ0b3AgPSBtaW4oJHJ0b3AsICR5KTsKCQkJCQkkcmJvdHRvbSA9IG1heCgkcmJvdHRvbSwgJHkpOwoJCQkJfQoJCQl9CgkJfQoKICAgICAgICAvLyBkZXN0cm95IGltZwogICAgICAgIGltYWdlZGVzdHJveSgkaW1nKTsKCiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAibGVmdCIgPT4gJGxlZnQgLSAkcmxlZnQsCiAgICAgICAgICAgICJ0b3AiID0+ICR0b3AgLSAkcnRvcCwKICAgICAgICAgICAgIndpZHRoIiA9PiAkcnJpZ2h0IC0gJHJsZWZ0ICsgMSwKICAgICAgICAgICAgImhlaWdodCIgPT4gJHJib3R0b20gLSAkcnRvcCArIDEsCiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIG5ldyBiYWNrZ3JvdW5kIGltYWdlIHZhciBmcm9tIHRoZSBvbGQgYmFja2dyb3VuZCBpbWFnZSB2YXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZU5ld1ZhckZyb21CYWNrZ3JvdW5kSW1hZ2UoKQogICAgewogICAgICAgIC8vIENyZWF0aW9uIG9mIGEgbmV3IGJhY2tncm91bmQgaW1hZ2UKICAgICAgICAkdmlyZ2luSW1hZ2UgPSBzdGF0aWM6OmdlbmVyYXRlSW1hZ2UoJHRoaXMtPmdldFdpZHRoKCksICR0aGlzLT5nZXRIZWlnaHQoKSk7CgogICAgICAgIHN0YXRpYzo6bWVyZ2VUd29JbWFnZXMoJHZpcmdpbkltYWdlLCAkdGhpcy0+aW1hZ2UsIDAsIDAsIDAsIDApOwogICAgICAgIHVuc2V0KCR0aGlzLT5pbWFnZSk7CgogICAgICAgICR0aGlzLT5pbWFnZSA9ICR2aXJnaW5JbWFnZTsKICAgICAgICB1bnNldCgkdmlyZ2luSW1hZ2UpOwoKICAgICAgICAkbGF5ZXJzID0gJHRoaXMtPmxheWVyczsKCiAgICAgICAgZm9yZWFjaCgkbGF5ZXJzIGFzICRsYXllcklkID0+ICRsYXllcikgewoKICAgICAgICAgICAgJHRoaXMtPmxheWVyc1skbGF5ZXJJZF0gPSBjbG9uZSAkdGhpcy0+bGF5ZXJzWyRsYXllcklkXTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYSBsYXllciBpbiB0aGUgc3RhY2sKICAgICAqIERvbid0IGZvcmdldCB0byB1c2UgY2xvbmUgbWV0aG9kOiAkYiA9IGNsb25lICRhLT5nZXRMYXllcigzKTsKICAgICAqCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJJZAogICAgICoKICAgICAqIEByZXR1cm4gSW1hZ2VXb3Jrc2hvcAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGF5ZXIoJGxheWVySWQpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5sYXllcnNbJGxheWVySWRdOwogICAgfQogICAgCiAgICAvKioKICAgICAqIENhbGN1bGF0ZSB0aGUgcmlnaHQgcG9zaXRpb25zIG9mIGEgbGF5ZXIgaW4gYSBwYXJlbnQgY29udGFpbmVyIChsYXllcikKICAgICAqICRwb3NpdGlvbjogaHR0cDovL3BocGltYWdld29ya3Nob3AuY29tL2RvYy8yMi9jb3JuZXJzLXBvc2l0aW9ucy1zY2hlbWEtb2YtYW4taW1hZ2UuaHRtbAogICAgICoKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRjb250YWluZXJXaWR0aAogICAgICogQHBhcmFtIGludGVnZXIgJGNvbnRhaW5lckhlaWdodAogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVyV2lkdGgKICAgICAqIEBwYXJhbSBpbnRlZ2VyICRsYXllckhlaWdodAogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVyUG9zaXRpb25YCiAgICAgKiBAcGFyYW0gaW50ZWdlciAkbGF5ZXJQb3NpdGlvblkKICAgICAqIEBwYXJhbSBzdHJpbmcgJHBvc2l0aW9uCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNhbGN1bGF0ZVBvc2l0aW9ucygkY29udGFpbmVyV2lkdGgsICRjb250YWluZXJIZWlnaHQsICRsYXllcldpZHRoLCAkbGF5ZXJIZWlnaHQsICRsYXllclBvc2l0aW9uWCwgJGxheWVyUG9zaXRpb25ZLCAkcG9zaXRpb24gPSAiTFQiKQogICAgewogICAgICAgICRwb3NpdGlvbiA9IHN0cnRvbG93ZXIoJHBvc2l0aW9uKTsKCiAgICAgICAgaWYgKCRwb3NpdGlvbiA9PSAicnQiKSB7CgogICAgICAgICAgICAkbGF5ZXJQb3NpdGlvblggPSAkY29udGFpbmVyV2lkdGggLSAkbGF5ZXJXaWR0aCAtICRsYXllclBvc2l0aW9uWDsKCiAgICAgICAgfSBlbHNlaWYgKCRwb3NpdGlvbiA9PSAibGIiKSB7CgogICAgICAgICAgICAkbGF5ZXJQb3NpdGlvblkgPSAkY29udGFpbmVySGVpZ2h0IC0gJGxheWVySGVpZ2h0IC0gJGxheWVyUG9zaXRpb25ZOwoKICAgICAgICB9IGVsc2VpZiAoJHBvc2l0aW9uID09ICJyYiIpIHsKCiAgICAgICAgICAgICRsYXllclBvc2l0aW9uWCA9ICRjb250YWluZXJXaWR0aCAtICRsYXllcldpZHRoIC0gJGxheWVyUG9zaXRpb25YOwogICAgICAgICAgICAkbGF5ZXJQb3NpdGlvblkgPSAkY29udGFpbmVySGVpZ2h0IC0gJGxheWVySGVpZ2h0IC0gJGxheWVyUG9zaXRpb25ZOwoKICAgICAgICB9IGVsc2VpZiAoJHBvc2l0aW9uID09ICJtbSIpIHsKCiAgICAgICAgICAgICRsYXllclBvc2l0aW9uWCA9ICgoJGNvbnRhaW5lcldpZHRoIC0gJGxheWVyV2lkdGgpIC8gMikgKyAkbGF5ZXJQb3NpdGlvblg7CiAgICAgICAgICAgICRsYXllclBvc2l0aW9uWSA9ICgoJGNvbnRhaW5lckhlaWdodCAtICRsYXllckhlaWdodCkgLyAyKSArICRsYXllclBvc2l0aW9uWTsKCiAgICAgICAgfSBlbHNlaWYgKCRwb3NpdGlvbiA9PSAibXQiKSB7CgogICAgICAgICAgICAkbGF5ZXJQb3NpdGlvblggPSAoKCRjb250YWluZXJXaWR0aCAtICRsYXllcldpZHRoKSAvIDIpICsgJGxheWVyUG9zaXRpb25YOwoKICAgICAgICB9IGVsc2VpZiAoJHBvc2l0aW9uID09ICJtYiIpIHsKCiAgICAgICAgICAgICRsYXllclBvc2l0aW9uWCA9ICgoJGNvbnRhaW5lcldpZHRoIC0gJGxheWVyV2lkdGgpIC8gMikgKyAkbGF5ZXJQb3NpdGlvblg7CiAgICAgICAgICAgICRsYXllclBvc2l0aW9uWSA9ICRjb250YWluZXJIZWlnaHQgLSAkbGF5ZXJIZWlnaHQgLSAkbGF5ZXJQb3NpdGlvblk7CgogICAgICAgIH0gZWxzZWlmICgkcG9zaXRpb24gPT0gImxtIikgewoKICAgICAgICAgICAgJGxheWVyUG9zaXRpb25ZID0gKCgkY29udGFpbmVySGVpZ2h0IC0gJGxheWVySGVpZ2h0KSAvIDIpICsgJGxheWVyUG9zaXRpb25ZOwoKICAgICAgICB9IGVsc2VpZiAoJHBvc2l0aW9uID09ICJybSIpIHsKCiAgICAgICAgICAgICRsYXllclBvc2l0aW9uWCA9ICRjb250YWluZXJXaWR0aCAtICRsYXllcldpZHRoIC0gJGxheWVyUG9zaXRpb25YOwogICAgICAgICAgICAkbGF5ZXJQb3NpdGlvblkgPSAoKCRjb250YWluZXJIZWlnaHQgLSAkbGF5ZXJIZWlnaHQpIC8gMikgKyAkbGF5ZXJQb3NpdGlvblk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgICJ4IiA9PiAkbGF5ZXJQb3NpdGlvblgsCiAgICAgICAgICAgICJ5IiA9PiAkbGF5ZXJQb3NpdGlvblksCiAgICAgICAgKTsKICAgIH0KCiAgICAvLyBHZXR0ZXIgLyBTZXR0ZXIKICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgLyoqCiAgICAgKiBHZXR0ZXIgd2lkdGgKICAgICAqCiAgICAgKiBAcmV0dXJuIGludGVnZXIKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldFdpZHRoKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPndpZHRoOwogICAgfQoKICAgIC8qKgogICAgICogR2V0dGVyIGhlaWdodAogICAgICoKICAgICAqIEByZXR1cm4gaW50ZWdlcgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SGVpZ2h0KCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmhlaWdodDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldHRlciBpbWFnZQogICAgICoKICAgICAqIEByZXR1cm4gcmVzb3VyY2UKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEltYWdlKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmltYWdlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0dGVyIGxheWVycwogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldExheWVycygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5sYXllcnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXR0ZXIgbGF5ZXJMZXZlbHMKICAgICAqCiAgICAgKiBAcmV0dXJuIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRMYXllckxldmVscygpCiAgICB7CiAgICAgICAgcmV0dXJuICR0aGlzLT5sYXllckxldmVsczsKICAgIH0KCiAgICAvKioKICAgICAqIEdldHRlciBsYXllclBvc2l0aW9ucwogICAgICogCiAgICAgKiBHZXQgYWxsIHRoZSBwb3NpdGlvbnMgb2YgdGhlIHN1YmxheWVycywKICAgICAqIG9yIHdoZW4gc3BlY2lmeWluZyAkbGF5ZXJJZCwgZ2V0IHRoZSBwb3NpdGlvbiBvZiB0aGlzIHN1YmxheWVyCiAgICAgKgogICAgICogQHBhcmFtIGludGVnZXIgJGxheWVySWQKICAgICAqIAogICAgICogQHJldHVybiBtaXhlZCAoYXJyYXkgb3IgYm9vbGVhbikKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldExheWVyUG9zaXRpb25zKCRsYXllcklkID0gbnVsbCkKICAgIHsKICAgICAgICBpZiAoISRsYXllcklkKSB7CiAgICAgICAgICAgIAogICAgICAgICAgICByZXR1cm4gJHRoaXMtPmxheWVyUG9zaXRpb25zOwogICAgICAgICAgICAKICAgICAgICB9IGVsc2VpZiAoJHRoaXMtPmlzTGF5ZXJJbkluZGV4KCRsYXllcklkKSkgeyAvLyBpZiB0aGUgc3VibGF5ZXIgZXhpc3RzIGluIHRoZSBzdGFjawogICAgICAgICAgICAKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5sYXllclBvc2l0aW9uc1skbGF5ZXJJZF07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldHRlciBoaWdoZXN0TGF5ZXJMZXZlbAogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdldEhpZ2hlc3RMYXllckxldmVsKCkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmhpZ2hlc3RMYXllckxldmVsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0dGVyIGxhc3RMYXllcklkCiAgICAgKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0TGFzdExheWVySWQoKQogICAgewogICAgICAgIHJldHVybiAkdGhpcy0+bGFzdExheWVySWQ7CiAgICB9Cn0=]]></data>
	</file>
	<file>
	  <filename>/lib/class.ImageWorkshopException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBQSFBJbWFnZVdvcmtzaG9wOwoKLyoqCiAqIEltYWdlV29ya3Nob3BFeGNlcHRpb24KICogCiAqIE1hbmFnZSBJbWFnZVdvcmtzaG9wIGV4Y2VwdGlvbnMKICovCmNsYXNzIEltYWdlV29ya3Nob3BFeGNlcHRpb24gZXh0ZW5kcyBcRXhjZXB0aW9uCnsKICAgIC8qKgogICAgICogQ29uc3RydWN0b3IKICAgICAqIAogICAgICogQHBhcmFtIHN0cmluZyAkbWVzc2FnZQogICAgICogQHBhcmFtIGludGVnZXIgJGNvZGUKICAgICAqIEBwYXJhbSBFeGNlcHRpb24gJHByZXZpb3VzCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbWVzc2FnZSwgJGNvZGUgPSAwLCBcRXhjZXB0aW9uICRwcmV2aW91cyA9IG51bGwpCiAgICB7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkbWVzc2FnZSwgJGNvZGUsICRwcmV2aW91cyk7CiAgICB9CiAgICAKICAgIC8qKgogICAgICogX190b1N0cmluZyBtZXRob2QKICAgICAqCiAgICAgKiBAcmV0dXJuIHN0cmluZwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX190b1N0cmluZygpCiAgICB7CiAgICAgICAgcmV0dXJuIF9fQ0xBU1NfXy4iOiBbeyR0aGlzLT5jb2RlfV06IHskdGhpcy0+bWVzc2FnZX1cbiI7CiAgICB9Cn0=]]></data>
	</file>
	<file>
	  <filename>/lib/class.Mobile_Detect.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoqCiAqIE1JVCBMaWNlbnNlCiAqID09PT09PT09PT09CiAqCiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZwogKiBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKICogIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwogKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCiAqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0bwogKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KICogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgogKgogKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAogKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KICoKICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MKICogT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgogKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuCiAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCiAqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCiAqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCiAqIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgogKgogKgogKiBAYXV0aG9yICAgICAgU2VyYmFuIEdoaXRhIDxzZXJiYW5naGl0YUBnbWFpbC5jb20+CiAqICAgICAgICAgICAgICBWaWN0b3IgU3RhbmNpdSA8dmljLnN0YW5jaXVAZ21haWwuY29tPiAodW50aWwgdi4xLjApCiAqIEBsaWNlbnNlICAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocCAgTUlUIExpY2Vuc2UKICogQGxpbmsgICAgICAgIGh0dHA6Ly9tb2JpbGVkZXRlY3QubmV0CiAqICAgICAgICAgICAgICBHb29nbGUgQ29kZSBSZXBvc2l0b3J5OiBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcGhwLW1vYmlsZS1kZXRlY3QvCiAqICAgICAgICAgICAgICBHaXRIdWIgUmVwb3NpdG9yeTogaHR0cHM6Ly9naXRodWIuY29tL3NlcmJhbmdoaXRhL01vYmlsZS1EZXRlY3QKICogQHZlcnNpb24gICAgIDIuMSBSQzIKICovCgpjbGFzcyBNb2JpbGVfRGV0ZWN0IHsKCiAgICAvLyBFeHRlcm5hbCBpbmZvLgogICAgcHJvdGVjdGVkICR1c2VyQWdlbnQgPSBudWxsOwogICAgcHJvdGVjdGVkICRodHRwSGVhZGVyczsKCiAgICAvLyBBcnJheXMgaG9sZGluZyBhbGwgZGV0ZWN0aW9uIHJ1bGVzLgogICAgcHJvdGVjdGVkICRtb2JpbGVEZXRlY3Rpb25SdWxlcyA9IG51bGw7CiAgICBwcm90ZWN0ZWQgJG1vYmlsZURldGVjdGlvblJ1bGVzRXh0ZW5kZWQgPSBudWxsOwogICAgLy8gVHlwZSBvZiBkZXRlY3Rpb24gdG8gdXNlLgogICAgcHJvdGVjdGVkICRkZXRlY3Rpb25UeXBlID0gJ21vYmlsZSc7IC8vIG1vYmlsZSwgZXh0ZW5kZWQgQHRvZG86IHJlZmFjdG9yIHRoaXMuCgogICAgLy8gTGlzdCBvZiBtb2JpbGUgZGV2aWNlcyAocGhvbmVzKQogICAgcHJvdGVjdGVkICRwaG9uZURldmljZXMgPSBhcnJheSgKICAgICAgICAnaVBob25lJyAgICAgICAgPT4gJyhpUGhvbmUuKk1vYmlsZXxpUG9kfGlUdW5lcyknLAogICAgICAgICdCbGFja0JlcnJ5JyAgICA9PiAnQmxhY2tCZXJyeXxyaW1bMC05XSsnLAogICAgICAgICdIVEMnICAgICAgICAgICA9PiAnSFRDfEhUQy4qKFNlbnNhdGlvbnxFdm98VmlzaW9ufEV4cGxvcmVyfDY4MDB8ODEwMHw4OTAwfEE3MjcyfFM1MTBlfEMxMTBlfExlZ2VuZHxEZXNpcmV8VDgyODIpfEFQWDUxNUNLVHxRdGVrOTA5MHxBUEE5MjkyS1R8SERfbWluaXxTZW5zYXRpb24uKlo3MTBlfFBHODYxMDB8WjcxNWV8RGVzaXJlLiooQTgxODF8SEQpfEFEUjYyMDB8QURSNjQyNXwwMDFIVCcsCiAgICAgICAgJ05leHVzJyAgICAgICAgID0+ICdOZXh1cyBPbmV8TmV4dXMgU3xHYWxheHkuKk5leHVzfEFuZHJvaWQuKk5leHVzLipNb2JpbGUnLAogICAgICAgICdEZWxsJyAgICAgICAgICA9PiAnRGVsbC4qU3RyZWFrfERlbGwuKkFlcm98RGVsbC4qVmVudWV8REVMTC4qVmVudWUgUHJvfERlbGwgRmxhc2h8RGVsbCBTbW9rZXxEZWxsIE1pbmkgM2lYfFhDRDI4fFhDRDM1JywKICAgICAgICAnTW90b3JvbGEnICAgICAgPT4gJ01vdG9yb2xhfFxiRHJvaWRcYi4qQnVpbGR8RFJPSURYfEhSSTM5fE1PVC18QTEyNjB8QTE2ODB8QTU1NXxBODUzfEE4NTV8QTk1M3xBOTU1fEE5NTZ8TW90b3JvbGEuKkVMRUNUUklGWXxNb3Rvcm9sYS4qaTF8aTg2N3xpOTQwfE1CMjAwfE1CMzAwfE1CNTAxfE1CNTAyfE1CNTA4fE1CNTExfE1CNTIwfE1CNTI1fE1CNTI2fE1CNjExfE1CNjEyfE1CNjMyfE1CODEwfE1CODU1fE1CODYwfE1CODYxfE1CODY1fE1CODcwfE1FNTAxfE1FNTAyfE1FNTExfE1FNTI1fE1FNjAwfE1FNjMyfE1FNzIyfE1FODExfE1FODYwfE1FODYzfE1FODY1fE1UNjIwfE1UNzEwfE1UNzE2fE1UNzIwfE1UODEwfE1UODcwfE1UOTE3fE1vdG9yb2xhLipUSVRBTklVTXxXWDQzNXxXWDQ0NXxYVDMwMHxYVDMwMXxYVDMxMXxYVDMxNnxYVDMxN3xYVDMxOXxYVDMyMHxYVDM5MHxYVDUwMnxYVDUzMHxYVDUzMXxYVDUzMnxYVDUzNXxYVDYwM3xYVDYxMHxYVDYxMXxYVDYxNXxYVDY4MXxYVDcwMXxYVDcwMnxYVDcxMXxYVDcyMHxYVDgwMHxYVDgwNnxYVDg2MHxYVDg2MnxYVDg3NXxYVDg4MnxYVDg4M3xYVDg5NHxYVDkwOXxYVDkxMHxYVDkxMnxYVDkyOCcsCiAgICAgICAgJ1NhbXN1bmcnICAgICAgID0+ICdTYW1zdW5nfEJHVC1TNTIzMHxHVC1CMjEwMHxHVC1CMjcwMHxHVC1CMjcxMHxHVC1CMzIxMHxHVC1CMzMxMHxHVC1CMzQxMHxHVC1CMzczMHxHVC1CMzc0MHxHVC1CNTUxMHxHVC1CNTUxMnxHVC1CNTcyMnxHVC1CNjUyMHxHVC1CNzMwMHxHVC1CNzMyMHxHVC1CNzMzMHxHVC1CNzM1MHxHVC1CNzUxMHxHVC1CNzcyMnxHVC1CNzgwMHxHVC1DMzAxMHxHVC1DMzAxMXxHVC1DMzA2MHxHVC1DMzIwMHxHVC1DMzIxMnxHVC1DMzIxMkl8R1QtQzMyMjJ8R1QtQzMzMDB8R1QtQzMzMDBLfEdULUMzMzAzfEdULUMzMzAzS3xHVC1DMzMxMHxHVC1DMzMyMnxHVC1DMzMzMHxHVC1DMzM1MHxHVC1DMzUwMHxHVC1DMzUxMHxHVC1DMzUzMHxHVC1DMzYzMHxHVC1DMzc4MHxHVC1DNTAxMHxHVC1DNTIxMnxHVC1DNjYyMHxHVC1DNjYyNXxHVC1DNjcxMnxHVC1FMTA1MHxHVC1FMTA3MHxHVC1FMTA3NXxHVC1FMTA4MHxHVC1FMTA4MXxHVC1FMTA4NXxHVC1FMTA4N3xHVC1FMTEwMHxHVC1FMTEwN3xHVC1FMTExMHxHVC1FMTEyMHxHVC1FMTEyNXxHVC1FMTEzMHxHVC1FMTE2MHxHVC1FMTE3MHxHVC1FMTE3NXxHVC1FMTE4MHxHVC1FMTE4MnxHVC1FMTIwMHxHVC1FMTIxMHxHVC1FMTIyNXxHVC1FMTIzMHxHVC1FMTM5MHxHVC1FMjEwMHxHVC1FMjEyMHxHVC1FMjEyMXxHVC1FMjE1MnxHVC1FMjIyMHxHVC1FMjIyMnxHVC1FMjIzMHxHVC1FMjIzMnxHVC1FMjI1MHxHVC1FMjM3MHxHVC1FMjU1MHxHVC1FMjY1MnxHVC1FMzIxMHxHVC1FMzIxM3xHVC1JNTUwMHxHVC1JNTUwM3xHVC1JNTcwMHxHVC1JNTgwMHxHVC1JNTgwMXxHVC1JNjQxMHxHVC1JNjQyMHxHVC1JNzExMHxHVC1JNzQxMHxHVC1JNzUwMHxHVC1JODAwMHxHVC1JODE1MHxHVC1JODE2MHxHVC1JODMyMHxHVC1JODMzMHxHVC1JODM1MHxHVC1JODUzMHxHVC1JODcwMHxHVC1JODcwM3xHVC1JODkxMHxHVC1JOTAwMHxHVC1JOTAwMXxHVC1JOTAwM3xHVC1JOTAxMHxHVC1JOTAyMHxHVC1JOTAyM3xHVC1JOTA3MHxHVC1JOTEwMHxHVC1JOTEwM3xHVC1JOTIyMHxHVC1JOTI1MHxHVC1JOTMwMHxHVC1JOTMwMCB8R1QtTTM1MTB8R1QtTTU2NTB8R1QtTTc1MDB8R1QtTTc2MDB8R1QtTTc2MDN8R1QtTTg4MDB8R1QtTTg5MTB8R1QtTjcwMDB8R1QtUDY4MTB8R1QtUDcxMDB8R1QtUzMxMTB8R1QtUzMzMTB8R1QtUzMzNTB8R1QtUzMzNTN8R1QtUzMzNzB8R1QtUzM2NTB8R1QtUzM2NTN8R1QtUzM3NzB8R1QtUzM4NTB8R1QtUzUyMTB8R1QtUzUyMjB8R1QtUzUyMjl8R1QtUzUyMzB8R1QtUzUyMzN8R1QtUzUyNTB8R1QtUzUyNTN8R1QtUzUyNjB8R1QtUzUyNjN8R1QtUzUyNzB8R1QtUzUzMDB8R1QtUzUzMzB8R1QtUzUzNTB8R1QtUzUzNjB8R1QtUzUzNjN8R1QtUzUzNjl8R1QtUzUzODB8R1QtUzUzODBEfEdULVM1NTYwfEdULVM1NTcwfEdULVM1NjAwfEdULVM1NjAzfEdULVM1NjEwfEdULVM1NjIwfEdULVM1NjYwfEdULVM1NjcwfEdULVM1NjkwfEdULVM1NzUwfEdULVM1NzgwfEdULVM1ODMwfEdULVM1ODM5fEdULVM2MTAyfEdULVM2NTAwfEdULVM3MDcwfEdULVM3MjAwfEdULVM3MjIwfEdULVM3MjMwfEdULVM3MjMzfEdULVM3MjUwfEdULVM3NTAwfEdULVM3NTMwfEdULVM3NTUwfEdULVM4MDAwfEdULVM4MDAzfEdULVM4NTAwfEdULVM4NTMwfEdULVM4NjAwfFNDSC1BMzEwfFNDSC1BNTMwfFNDSC1BNTcwfFNDSC1BNjEwfFNDSC1BNjMwfFNDSC1BNjUwfFNDSC1BNzkwfFNDSC1BNzk1fFNDSC1BODUwfFNDSC1BODcwfFNDSC1BODkwfFNDSC1BOTMwfFNDSC1BOTUwfFNDSC1BOTcwfFNDSC1BOTkwfFNDSC1JMTAwfFNDSC1JMTEwfFNDSC1JNDAwfFNDSC1JNDA1fFNDSC1JNTAwfFNDSC1JNTEwfFNDSC1JNTE1fFNDSC1JNjAwfFNDSC1JNzMwfFNDSC1JNzYwfFNDSC1JNzcwfFNDSC1JODMwfFNDSC1JOTEwfFNDSC1JOTIwfFNDSC1MQzExfFNDSC1OMTUwfFNDSC1OMzAwfFNDSC1SMTAwfFNDSC1SMzAwfFNDSC1SMzUxfFNDSC1SNDAwfFNDSC1SNDEwfFNDSC1UMzAwfFNDSC1VMzEwfFNDSC1VMzIwfFNDSC1VMzUwfFNDSC1VMzYwfFNDSC1VMzY1fFNDSC1VMzcwfFNDSC1VMzgwfFNDSC1VNDEwfFNDSC1VNDMwfFNDSC1VNDUwfFNDSC1VNDYwfFNDSC1VNDcwfFNDSC1VNDkwfFNDSC1VNTQwfFNDSC1VNTUwfFNDSC1VNjIwfFNDSC1VNjQwfFNDSC1VNjUwfFNDSC1VNjYwfFNDSC1VNzAwfFNDSC1VNzQwfFNDSC1VNzUwfFNDSC1VODEwfFNDSC1VODIwfFNDSC1VOTAwfFNDSC1VOTQwfFNDSC1VOTYwfFNDUy0yNlVDfFNHSC1BMTA3fFNHSC1BMTE3fFNHSC1BMTI3fFNHSC1BMTM3fFNHSC1BMTU3fFNHSC1BMTY3fFNHSC1BMTc3fFNHSC1BMTg3fFNHSC1BMTk3fFNHSC1BMjI3fFNHSC1BMjM3fFNHSC1BMjU3fFNHSC1BNDM3fFNHSC1BNTE3fFNHSC1BNTk3fFNHSC1BNjM3fFNHSC1BNjU3fFNHSC1BNjY3fFNHSC1BNjg3fFNHSC1BNjk3fFNHSC1BNzA3fFNHSC1BNzE3fFNHSC1BNzI3fFNHSC1BNzM3fFNHSC1BNzQ3fFNHSC1BNzY3fFNHSC1BNzc3fFNHSC1BNzk3fFNHSC1BODE3fFNHSC1BODI3fFNHSC1BODM3fFNHSC1BODQ3fFNHSC1BODY3fFNHSC1BODc3fFNHSC1BODg3fFNHSC1BODk3fFNHSC1BOTI3fFNHSC1CMTAwfFNHSC1CMTMwfFNHSC1CMjAwfFNHSC1CMjIwfFNHSC1DMTAwfFNHSC1DMTEwfFNHSC1DMTIwfFNHSC1DMTMwfFNHSC1DMTQwfFNHSC1DMTYwfFNHSC1DMTcwfFNHSC1DMTgwfFNHSC1DMjAwfFNHSC1DMjA3fFNHSC1DMjEwfFNHSC1DMjI1fFNHSC1DMjMwfFNHSC1DNDE3fFNHSC1DNDUwfFNHSC1EMzA3fFNHSC1EMzQ3fFNHSC1EMzU3fFNHSC1ENDA3fFNHSC1ENDE1fFNHSC1ENzgwfFNHSC1EODA3fFNHSC1EOTgwfFNHSC1FMTA1fFNHSC1FMjAwfFNHSC1FMzE1fFNHSC1FMzE2fFNHSC1FMzE3fFNHSC1FMzM1fFNHSC1FNTkwfFNHSC1FNjM1fFNHSC1FNzE1fFNHSC1FODkwfFNHSC1GMzAwfFNHSC1GNDgwfFNHSC1JMjAwfFNHSC1JMzAwfFNHSC1JMzIwfFNHSC1JNTUwfFNHSC1JNTc3fFNHSC1JNjAwfFNHSC1JNjA3fFNHSC1JNjE3fFNHSC1JNjI3fFNHSC1JNjM3fFNHSC1JNjc3fFNHSC1JNzAwfFNHSC1JNzE3fFNHSC1JNzI3fFNHSC1JNzc3fFNHSC1JNzgwfFNHSC1JODI3fFNHSC1JODQ3fFNHSC1JODU3fFNHSC1JODk2fFNHSC1JODk3fFNHSC1JOTAwfFNHSC1JOTA3fFNHSC1JOTE3fFNHSC1JOTI3fFNHSC1JOTM3fFNHSC1JOTk3fFNHSC1KMTUwfFNHSC1KMjAwfFNHSC1MMTcwfFNHSC1MNzAwfFNHSC1NMTEwfFNHSC1NMTUwfFNHSC1NMjAwfFNHSC1OMTA1fFNHSC1ONTAwfFNHSC1ONjAwfFNHSC1ONjIwfFNHSC1ONjI1fFNHSC1ONzAwfFNHSC1ONzEwfFNHSC1QMTA3fFNHSC1QMjA3fFNHSC1QMzAwfFNHSC1QMzEwfFNHSC1QNTIwfFNHSC1QNzM1fFNHSC1QNzc3fFNHSC1RMTA1fFNHSC1SMjEwfFNHSC1SMjIwfFNHSC1SMjI1fFNHSC1TMTA1fFNHSC1TMzA3fFNHSC1UMTA5fFNHSC1UMTE5fFNHSC1UMTM5fFNHSC1UMjA5fFNHSC1UMjE5fFNHSC1UMjI5fFNHSC1UMjM5fFNHSC1UMjQ5fFNHSC1UMjU5fFNHSC1UMzA5fFNHSC1UMzE5fFNHSC1UMzI5fFNHSC1UMzM5fFNHSC1UMzQ5fFNHSC1UMzU5fFNHSC1UMzY5fFNHSC1UMzc5fFNHSC1UNDA5fFNHSC1UNDI5fFNHSC1UNDM5fFNHSC1UNDU5fFNHSC1UNDY5fFNHSC1UNDc5fFNHSC1UNDk5fFNHSC1UNTA5fFNHSC1UNTE5fFNHSC1UNTM5fFNHSC1UNTU5fFNHSC1UNTg5fFNHSC1UNjA5fFNHSC1UNjE5fFNHSC1UNjI5fFNHSC1UNjM5fFNHSC1UNjU5fFNHSC1UNjY5fFNHSC1UNjc5fFNHSC1UNzA5fFNHSC1UNzE5fFNHSC1UNzI5fFNHSC1UNzM5fFNHSC1UNzQ2fFNHSC1UNzQ5fFNHSC1UNzU5fFNHSC1UNzY5fFNHSC1UODA5fFNHSC1UODE5fFNHSC1UODM5fFNHSC1UOTE5fFNHSC1UOTI5fFNHSC1UOTM5fFNHSC1UOTU5fFNHSC1UOTg5fFNHSC1VMTAwfFNHSC1VMjAwfFNHSC1VODAwfFNHSC1WMjA1fFNHSC1WMjA2fFNHSC1YMTAwfFNHSC1YMTA1fFNHSC1YMTIwfFNHSC1YMTQwfFNHSC1YNDI2fFNHSC1YNDI3fFNHSC1YNDc1fFNHSC1YNDk1fFNHSC1YNDk3fFNHSC1YNTA3fFNHSC1YNjAwfFNHSC1YNjEwfFNHSC1YNjIwfFNHSC1YNjMwfFNHSC1YNzAwfFNHSC1YODIwfFNHSC1YODkwfFNHSC1aMTMwfFNHSC1aMTUwfFNHSC1aMTcwfFNHSC1aWDEwfFNHSC1aWDIwfFNIVy1NMTEwfFNQSC1BMTIwfFNQSC1BNDAwfFNQSC1BNDIwfFNQSC1BNDYwfFNQSC1BNTAwfFNQSC1BNTYwfFNQSC1BNjAwfFNQSC1BNjIwfFNQSC1BNjYwfFNQSC1BNzAwfFNQSC1BNzQwfFNQSC1BNzYwfFNQSC1BNzkwfFNQSC1BODAwfFNQSC1BODIwfFNQSC1BODQwfFNQSC1BODgwfFNQSC1BOTAwfFNQSC1BOTQwfFNQSC1BOTYwfFNQSC1ENjAwfFNQSC1ENzAwfFNQSC1ENzEwfFNQSC1ENzIwfFNQSC1JMzAwfFNQSC1JMzI1fFNQSC1JMzMwfFNQSC1JMzUwfFNQSC1JNTAwfFNQSC1JNjAwfFNQSC1JNzAwfFNQSC1MNzAwfFNQSC1NMTAwfFNQSC1NMjIwfFNQSC1NMjQwfFNQSC1NMzAwfFNQSC1NMzA1fFNQSC1NMzIwfFNQSC1NMzMwfFNQSC1NMzUwfFNQSC1NMzYwfFNQSC1NMzcwfFNQSC1NMzgwfFNQSC1NNTEwfFNQSC1NNTQwfFNQSC1NNTUwfFNQSC1NNTYwfFNQSC1NNTcwfFNQSC1NNTgwfFNQSC1NNjEwfFNQSC1NNjIwfFNQSC1NNjMwfFNQSC1NODAwfFNQSC1NODEwfFNQSC1NODUwfFNQSC1NOTAwfFNQSC1NOTEwfFNQSC1NOTIwfFNQSC1NOTMwfFNQSC1OMTAwfFNQSC1OMjAwfFNQSC1OMjQwfFNQSC1OMzAwfFNQSC1ONDAwfFNQSC1aNDAwfFNXQy1FMTAwJywKICAgICAgICAnU29ueScgICAgICAgICAgPT4gJ0UxMGl8U29ueUVyaWNzc29ufFNvbnlFcmljc3NvbkxUMTVpdicsCiAgICAgICAgJ0FzdXMnICAgICAgICAgID0+ICdBc3VzLipHYWxheHknLAogICAgICAgICdQYWxtJyAgICAgICAgICA9PiAnUGFsbVNvdXJjZXxQYWxtJywgLy8gYXZhbnRnb3xibGF6ZXJ8ZWxhaW5lfGhpcHRvcHxwbHVja2VyfHhpaW5vIDsgQHRvZG8gLSBjb21wbGV0ZSB0aGUgcmVnZXguCiAgICAgICAgJ1ZlcnR1JyAgICAgICAgID0+ICdWZXJ0dXxWZXJ0dS4qTHRkfFZlcnR1LipBc2NlbnR8VmVydHUuKkF5eHRhfFZlcnR1LipDb25zdGVsbGF0aW9uKEZ8UXVlc3QpP3xWZXJ0dS4qTW9uaWthfFZlcnR1LipTaWduYXR1cmUnLCAvLyBKdXN0IGZvciBmdW4gOykKICAgICAgICAnR2VuZXJpY1Bob25lJyAgPT4gJ1BEQTt8UFBDO3xTQUdFTXxtbXB8cG9ja2V0fHBzcHxzeW1iaWFufFNtYXJ0cGhvbmV8c21hcnRmb258dHJlb3x1cC5icm93c2VyfHVwLmxpbmt8dm9kYWZvbmV8d2FwfG5va2lhfFNlcmllczQwfFNlcmllczYwfFM2MHxTb255RXJpY3Nzb258TjkwMHxNQVVJLipXQVAuKkJyb3dzZXJ8TEctUDUwMCcKICAgICk7CiAgICAvLyBMaXN0IG9mIHRhYmxldCBkZXZpY2VzLgogICAgcHJvdGVjdGVkICR0YWJsZXREZXZpY2VzID0gYXJyYXkoCiAgICAgICAgJ0JsYWNrQmVycnlUYWJsZXQnICA9PiAnUGxheUJvb2t8UklNIFRhYmxldCcsCiAgICAgICAgJ2lQYWQnICAgICAgICAgICAgICA9PiAnaVBhZHxpUGFkLipNb2JpbGUnLCAvLyBAdG9kbzogY2hlY2sgZm9yIG1vYmlsZSBmcmllbmRseSBlbWFpbHMgdG9waWMuCiAgICAgICAgJ05leHVzVGFibGV0JyAgICAgICA9PiAnXi4qQW5kcm9pZC4qTmV4dXMoPzooPyFNb2JpbGUpLikqJCcsCiAgICAgICAgLy8gQHJlZmVyZW5jZTogaHR0cDovL3d3dy5sYWJub2wub3JnL3NvZnR3YXJlL2tpbmRsZS11c2VyLWFnZW50LXN0cmluZy8yMDM3OC8KICAgICAgICAnS2luZGxlJyAgICAgICAgICAgID0+ICdLaW5kbGV8U2lsay4qQWNjZWxlcmF0ZWQnLAogICAgICAgICdTYW1zdW5nVGFibGV0JyAgICAgPT4gJ1NBTVNVTkcuKlRhYmxldHxHYWxheHkuKlRhYnxHVC1QMTAwMHxHVC1QMTAxMHxHVC1QNjIxMHxHVC1QNjgwMHxHVC1QNjgxMHxHVC1QNzEwMHxHVC1QNzMwMHxHVC1QNzMxMHxHVC1QNzUwMHxHVC1QNzUxMHxTQ0gtSTgwMHxTQ0gtSTgxNXxTQ0gtSTkwNXxTR0gtSTk1N3xTR0gtSTk4N3xTR0gtVDg0OXxTR0gtVDg1OXxTR0gtVDg2OXxTUEgtUDEwMHxHVC1QMTAwMHxHVC1QMzEwMHxHVC1QMzExMHxHVC1QNTEwMHxHVC1QNTExMHxHVC1QNjIwMHxHVC1QNzMwMHxHVC1QNzMyMHxHVC1QNzUwMHxHVC1QNzUxMHxHVC1QNzUxMScsCiAgICAgICAgJ0hUQ3RhYmxldCcgICAgICAgICA9PiAnSFRDIEZseWVyfEhUQyBKZXRzdHJlYW18SFRDLVA3MTVhfEhUQyBFVk8gVmlldyA0R3xQRzQxMjAwJywKICAgICAgICAnTW90b3JvbGFUYWJsZXQnICAgID0+ICd4b29tfHNob2xlc3R8TVo2MTV8TVo2MDV8TVo1MDV8TVo2MDF8TVo2MDJ8TVo2MDN8TVo2MDR8TVo2MDZ8TVo2MDd8TVo2MDh8TVo2MDl8TVo2MTV8TVo2MTZ8TVo2MTcnLAogICAgICAgICdBc3VzVGFibGV0JyAgICAgICAgPT4gJ1RyYW5zZm9ybWVyfFRGMTAxJywKICAgICAgICAnTm9va1RhYmxldCcgICAgICAgID0+ICdBbmRyb2lkLipOb29rfE5vb2tDb2xvcnxub29rIGJyb3dzZXJ8Qk5UVjI1MEF8TG9naWNQRCBab29tMicsCiAgICAgICAgJ0FjZXJUYWJsZXQnICAgICAgICA9PiAnQW5kcm9pZC4qXGIoQTEwMHxBMTAxfEEyMDB8QTUwMHxBNTAxfEE1MTB8VzUwMHxXNTAwUHxXNTAxfFc1MDFQKVxiJywKICAgICAgICAnWWFydmlrVGFibGV0JyAgICAgID0+ICdBbmRyb2lkLiooVEFCMjEwfFRBQjIxMXxUQUIyMjR8VEFCMjUwfFRBQjI2MHxUQUIyNjR8VEFCMzEwfFRBQjM2MHxUQUIzNjR8VEFCNDEwfFRBQjQxMXxUQUI0MjB8VEFCNDI0fFRBQjQ1MHxUQUI0NjB8VEFCNDYxfFRBQjQ2NHxUQUI0NjV8VEFCNDY3fFRBQjQ2OCknLAogICAgICAgICdNZWRpb25UYWJsZXQnICAgICAgPT4gJ0FuZHJvaWQuKlxiT1lPXGJ8TElGRS4qKFA5MjEyfFA5NTE0fFA5NTE2fFM5NTEyKXxMSUZFVEFCJywKICAgICAgICAnQXJub3ZhVGFibGV0JyAgICAgID0+ICdBTjEwRzJ8QU43YkczfEFON2ZHM3xBTjhHM3xBTjhjRzN8QU43RzN8QU45RzN8QU43ZEczfEFON2RHM1NUfEFON2RHM0NoaWxkUGFkfEFOMTBiRzN8QU4xMGJHM0RUJywKICAgICAgICAvLyBAcmVmZXJlbmNlOiBodHRwOi8vd2lraS5hcmNob3NmYW5zLmNvbS9pbmRleC5waHA/dGl0bGU9TWFpbl9QYWdlCiAgICAgICAgJ0FyY2hvc1RhYmxldCcgICAgICA9PiAnQW5kcm9pZC4qQVJDSE9TfDEwMUc5fDgwRzknLAogICAgICAgIC8vIEByZWZlcmVuY2U6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTk9WTzcKICAgICAgICAnQWlub2xUYWJsZXQnICAgICAgID0+ICdOT1ZPN3xOb3ZvN0F1cm9yYXxOb3ZvN0Jhc2ljfE5PVk83UEFMQURJTicsCiAgICAgICAgLy8gQHRvZG86IGluc3BlY3QgaHR0cDovL2VzdXBwb3J0LnNvbnkuY29tL1VTL3Avc2VsZWN0LXN5c3RlbS5wbD9ESVJFQ1RPUj1EUklWRVIKICAgICAgICAnU29ueVRhYmxldCcgICAgICAgID0+ICdTb255IFRhYmxldHxTb255IFRhYmxldCBTJywKICAgICAgICAnR2VuZXJpY1RhYmxldCcgICAgID0+ICdUYWJsZXQoPyEuKlBDKXxWaWV3UGFkN3xMRy1WOTA5fE1JRDcwMTV8Qk5UVjI1MEF8TG9naWNQRCBab29tMnxcYkE3RUJcYnxDYXROb3ZhOHxBMV8wN3xDVDcwNHxDVDEwMDJ8XGJNNzIxXGJ8aHAtdGFibGV0JywKICAgICk7CiAgICAvLyBMaXN0IG9mIG1vYmlsZSBPcGVyYXRpbmcgU3lzdGVtcy4KICAgIHByb3RlY3RlZCAkb3BlcmF0aW5nU3lzdGVtcyA9IGFycmF5KAogICAgICAgICdBbmRyb2lkT1MnICAgICAgICAgPT4gJ0FuZHJvaWQnLAogICAgICAgICdCbGFja0JlcnJ5T1MnICAgICAgPT4gJ2JsYWNrYmVycnl8cmltIHRhYmxldCBvcycsCiAgICAgICAgJ1BhbG1PUycgICAgICAgICAgICA9PiAnUGFsbU9TfGF2YW50Z298YmxhemVyfGVsYWluZXxoaXB0b3B8cGFsbXxwbHVja2VyfHhpaW5vJywKICAgICAgICAnU3ltYmlhbk9TJyAgICAgICAgID0+ICdTeW1iaWFufFN5bWJPU3xTZXJpZXM2MHxTZXJpZXM0MHxTWUItWzAtOV0rfFxiUzYwXGInLAogICAgICAgIC8vIEByZWZlcmVuY2U6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvV2luZG93c19Nb2JpbGUKICAgICAgICAnV2luZG93c01vYmlsZU9TJyAgID0+ICdXaW5kb3dzIENFLiooUFBDfFNtYXJ0cGhvbmV8TW9iaWxlfFswLTldezN9eFswLTldezN9KXxXaW5kb3cgTW9iaWxlfFdpbmRvd3MgUGhvbmUgWzAtOS5dK3xXQ0U7JywKICAgICAgICAvLyBAcmVmZXJlbmNlOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dpbmRvd3NfUGhvbmUKICAgICAgICAvLyBodHRwOi8vd2lmZW5nLmNuLz9yPWJsb2cmYT12aWV3JmlkPTEwNgogICAgICAgIC8vIGh0dHA6Ly9uaWNrc25ldHRyYXZlbHMuYnVpbHR0b3JvYW0uY29tL3Bvc3QvMjAxMS8wMS8xMC9Cb2d1cy1XaW5kb3dzLVBob25lLTctVXNlci1BZ2VudC1TdHJpbmcuYXNweAogICAgICAgICdXaW5kb3dzUGhvbmVPUycgICA9PiAnV2luZG93cyBQaG9uZSBPU3xYQkxXUDd8WnVuZVdQNycsCiAgICAgICAgJ2lPUycgICAgICAgICAgICAgICA9PiAnaXBob25lfGlwb2R8aXBhZCcsCiAgICAgICAgJ0ZsYXNoTGl0ZU9TJyAgICAgICA9PiAnJywKICAgICAgICAvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01lZUdvCiAgICAgICAgLy8gQHRvZG86IHJlc2VhcmNoIE1lZUdvIGluIFVBcwogICAgICAgICdNZWVHb09TJyAgICAgICAgICAgPT4gJ01lZUdvJywKICAgICAgICAvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01hZW1vCiAgICAgICAgLy8gQHRvZG86IHJlc2VhcmNoIE1hZW1vIGluIFVBcwogICAgICAgICdNYWVtb09TJyAgICAgICAgICAgPT4gJ01hZW1vJywKICAgICAgICAnSmF2YU9TJyAgICAgICAgICAgID0+ICdKMk1FL01JRFB8SmF2YS8nLAogICAgICAgICd3ZWJPUycgICAgICAgICAgICAgPT4gJ3dlYk9TfGhwd09TJywKICAgICAgICAnYmFkYU9TJyAgICAgICAgICAgID0+ICdcYkJhZGFcYicsCiAgICAgICAgJ0JSRVdPUycgICAgICAgICAgICA9PiAnQlJFVycsCiAgICApOwogICAgLy8gTGlzdCBvZiBtb2JpbGUgVXNlciBBZ2VudHMuCiAgICBwcm90ZWN0ZWQgJHVzZXJBZ2VudHMgPSBhcnJheSgKICAgICAgICAvLyBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9jaHJvbWUvbW9iaWxlL2RvY3MvdXNlci1hZ2VudAogICAgICAgICdDaHJvbWUnICAgICAgICAgID0+ICdcYkNyTW9cYnxBbmRyb2lkLipDaHJvbWUvWy4wLTldKiAoPyFNb2JpbGUpfENyaU9TJywKICAgICAgICAnRG9sZmluJyAgICAgICAgICA9PiAnXGJEb2xmaW5cYicsCiAgICAgICAgJ09wZXJhJyAgICAgICAgICAgPT4gJ09wZXJhLipNaW5pfE9wZXJhLipNb2JpfEFuZHJvaWQuKk9wZXJhJywKICAgICAgICAnU2t5ZmlyZScgICAgICAgICA9PiAnU2t5ZmlyZScsCiAgICAgICAgJ0lFJyAgICAgICAgICAgICAgPT4gJ0lFTW9iaWxlfE1TSUVNb2JpbGUnLAogICAgICAgICdGaXJlZm94JyAgICAgICAgID0+ICdmZW5uZWN8ZmlyZWZveC4qbWFlbW98KE1vYmlsZXxUYWJsZXQpLipGaXJlZm94fEZpcmVmb3guKk1vYmlsZScsCiAgICAgICAgJ0JvbHQnICAgICAgICAgICAgPT4gJ2JvbHQnLAogICAgICAgICdUZWFTaGFyaycgICAgICAgID0+ICd0ZWFzaGFyaycsCiAgICAgICAgJ0JsYXplcicgICAgICAgICAgPT4gJ0JsYXplcicsCiAgICAgICAgLy8gQHJlZmVyZW5jZTogaHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9zYWZhcmkvI2RvY3VtZW50YXRpb24vQXBwbGVBcHBsaWNhdGlvbnMvUmVmZXJlbmNlL1NhZmFyaVdlYkNvbnRlbnQvT3B0aW1pemluZ2ZvclNhZmFyaW9uaVBob25lL09wdGltaXppbmdmb3JTYWZhcmlvbmlQaG9uZS5odG1sIy8vYXBwbGVfcmVmL2RvYy91aWQvVFA0MDAwNjUxNy1TVzMKICAgICAgICAnU2FmYXJpJyAgICAgICAgICA9PiAnVmVyc2lvbi4qTW9iaWxlLipTYWZhcml8U2FmYXJpLipNb2JpbGUnLAogICAgICAgICdNaWRvcmknICAgICAgICAgID0+ICdtaWRvcmknLAogICAgICAgICdUaXplbicgICAgICAgICAgID0+ICdUaXplbicsCiAgICAgICAgJ1VDQnJvd3NlcicgICAgICAgPT4gJ1VDIEJyb3dzZXJ8VUNXRUInLAogICAgICAgIC8vIEByZWZlcmVuY2U6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTWluaW1vCiAgICAgICAgLy8gaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9WaXNpb25fTW9iaWxlX0Jyb3dzZXIKICAgICAgICAnR2VuZXJpY0Jyb3dzZXInICA9PiAnTm9raWFCcm93c2VyfE92aUJyb3dzZXJ8U0VNQy4qQnJvd3NlcnxGbHlGbG93fE1pbmltb3xOZXRGcm9udHxOb3ZhcnJhLVZpc2lvbicKICAgICk7CiAgICAvLyBVdGlsaXRpZXMuCiAgICBwcm90ZWN0ZWQgJHV0aWxpdGllcyA9IGFycmF5KAogICAgICAgICdXZWJLaXQnICAgICAgICA9PiAnKHdlYmtpdClbIC9dKFtcdy5dKyknLAogICAgICAgICdCb3QnICAgICAgICAgICA9PiAnR29vZ2xlYm90fERvQ29Nb3xZYW5kZXhCb3R8YmluZ2JvdHxpYV9hcmNoaXZlcnxBaHJlZnNCb3R8RXpvb21zfEdTTEZib3R8V0JTZWFyY2hCb3R8VHdpdHRlcmJvdHxUd2VldG1lbWVCb3R8VHdpa2xlfFBhcGVyTGlCb3R8V290Ym94fFVud2luZEZldGNob3J8ZmFjZWJvb2tleHRlcm5hbGhpdCcsCiAgICAgICAgJ01vYmlsZUJvdCcgICAgID0+ICdHb29nbGVib3QtTW9iaWxlfERvQ29Nb3xZYWhvb1NlZWtlci9NMUExLVIyRDInLAogICAgKTsKICAgIC8vIFByb3BlcnRpZXMgbGlzdC4KICAgIC8vIEByZWZlcmVuY2U6IGh0dHA6Ly91c2VyLWFnZW50LXN0cmluZy5pbmZvL2xpc3Qtb2YtdWEjTW9iaWxlIEJyb3dzZXIKICAgIGNvbnN0IFZFUiA9ICcoW1x3Ll9dKyknOwogICAgcHJvdGVjdGVkICRwcm9wZXJ0aWVzID0gYXJyYXkoCgogICAgICAgIC8vIEJ1aWxkCiAgICAgICAgJ01vYmlsZScgICAgICAgID0+ICdNb2JpbGUvW1ZFUl0nLAogICAgICAgICdCdWlsZCcgICAgICAgICA9PiAnQnVpbGQvW1ZFUl0nLAogICAgICAgICdWZXJzaW9uJyAgICAgICA9PiAnVmVyc2lvbi9bVkVSXScsCiAgICAgICAgJ1ZlbmRvcklEJyAgICAgID0+ICdWZW5kb3JJRC9bVkVSXScsCgogICAgICAgIC8vIERldmljZXMKICAgICAgICAnaVBhZCcgICAgICAgICAgPT4gJ2lQYWQuKkNQVVthLXogXStbVkVSXScsCiAgICAgICAgJ2lQaG9uZScgICAgICAgID0+ICdpUGhvbmUuKkNQVVthLXogXStbVkVSXScsCiAgICAgICAgJ2lQb2QnICAgICAgICAgID0+ICdpUG9kLipDUFVbYS16IF0rW1ZFUl0nLAogICAgICAgIC8vJ0JsYWNrQmVycnknICAgID0+IGFycmF5KCdCbGFja0JlcnJ5W1ZFUl0nLCAnQmxhY2tCZXJyeSBbVkVSXTsnKSwKICAgICAgICAnS2luZGxlJyAgICAgICAgPT4gJ0tpbmRsZS9bVkVSXScsCgogICAgICAgIC8vIEJyb3dzZXIKICAgICAgICAnQ2hyb21lJyAgICAgICAgPT4gJ0Nocm9tZS9bVkVSXScsCiAgICAgICAgJ0NyaU9TJyAgICAgICAgID0+ICdDcmlPUy9bVkVSXScsCiAgICAgICAgJ0RvbGZpbicgICAgICAgID0+ICdEb2xmaW4vW1ZFUl0nLAogICAgICAgIC8vIEByZWZlcmVuY2U6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvVXNlcl9BZ2VudF9TdHJpbmdzX1JlZmVyZW5jZQogICAgICAgICdGaXJlZm94JyAgICAgICA9PiAnRmlyZWZveC9bVkVSXScsCiAgICAgICAgJ0Zlbm5lYycgICAgICAgID0+ICdGZW5uZWMvW1ZFUl0nLAogICAgICAgIC8vIEByZWZlcmVuY2U6IGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczUzNzUwMyh2PXZzLjg1KS5hc3B4CiAgICAgICAgJ0lFTW9iaWxlJyAgICAgID0+IGFycmF5KCdJRU1vYmlsZS9bVkVSXTsnLCAnSUVNb2JpbGUgW1ZFUl0nKSwKICAgICAgICAnTVNJRScgICAgICAgICAgPT4gJ01TSUUgW1ZFUl07JywKICAgICAgICAvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL05ldEZyb250CiAgICAgICAgJ05ldEZyb250JyAgICAgID0+ICdOZXRGcm9udC9bVkVSXScsCiAgICAgICAgJ05va2lhQnJvd3NlcicgID0+ICdOb2tpYUJyb3dzZXIvW1ZFUl0nLAogICAgICAgICdOb2tpYUJyb3dzZXInICA9PiAnTm9raWFCcm93c2VyL1tWRVJdJywKICAgICAgICAnT3BlcmEnICAgICAgICAgPT4gJ1ZlcnNpb24vW1ZFUl0nLAogICAgICAgICdPcGVyYSBNaW5pJyAgICA9PiAnT3BlcmEgTWluaS9bVkVSXScsCiAgICAgICAgJ09wZXJhIE1vYmknICAgID0+ICdWZXJzaW9uL1tWRVJdJywKICAgICAgICAnVUMgQnJvd3NlcicgICAgPT4gJ1VDIEJyb3dzZXJbVkVSXScsCiAgICAgICAgJ1NhZmFyaScgICAgICAgID0+ICdWZXJzaW9uL1tWRVJdJywKICAgICAgICAnU2t5ZmlyZScgICAgICAgPT4gJ1NreWZpcmUvW1ZFUl0nLAogICAgICAgICdUaXplbicgICAgICAgICA9PiAnVGl6ZW4vW1ZFUl0nLAogICAgICAgICdXZWJraXQnICAgICAgICA9PiAnd2Via2l0WyAvXVtWRVJdJywKCiAgICAgICAgLy8gRW5naW5lCiAgICAgICAgJ0dlY2tvJyAgICAgICAgID0+ICdHZWNrby9bVkVSXScsCiAgICAgICAgJ1RyaWRlbnQnICAgICAgID0+ICdUcmlkZW50L1tWRVJdJywKICAgICAgICAnUHJlc3RvJyAgICAgICAgPT4gJ1ByZXN0by9bVkVSXScsCgogICAgICAgIC8vIE9TCiAgICAgICAgJ0FuZHJvaWQnICAgICAgICAgID0+ICdBbmRyb2lkIFtWRVJdJywKICAgICAgICAnQmxhY2tCZXJyeScgICAgICAgPT4gYXJyYXkoJ0JsYWNrQmVycnlbXHddKy9bVkVSXScsICdCbGFja0JlcnJ5LipWZXJzaW9uL1tWRVJdJyksCiAgICAgICAgJ0JSRVcnICAgICAgICAgICAgID0+ICdCUkVXIFtWRVJdJywKICAgICAgICAnSmF2YScgICAgICAgICAgICAgPT4gJ0phdmEvW1ZFUl0nLAogICAgICAgIC8vIEByZWZlcmVuY2U6IGh0dHA6Ly93aW5kb3dzdGVhbWJsb2cuY29tL3dpbmRvd3NfcGhvbmUvYi93cGRldi9hcmNoaXZlLzIwMTEvMDgvMjkvaW50cm9kdWNpbmctdGhlLWllOS1vbi13aW5kb3dzLXBob25lLW1hbmdvLXVzZXItYWdlbnQtc3RyaW5nLmFzcHgKICAgICAgICAvLyBAcmVmZXJlbmNlOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dpbmRvd3NfTlQjUmVsZWFzZXMKICAgICAgICAnV2luZG93cyBQaG9uZSBPUycgPT4gJ1dpbmRvd3MgUGhvbmUgT1MgW1ZFUl0nLAogICAgICAgICdXaW5kb3dzIFBob25lJyAgICA9PiAnV2luZG93cyBQaG9uZSBbVkVSXScsCiAgICAgICAgJ1dpbmRvd3MgQ0UnICAgICAgID0+ICdXaW5kb3dzIENFL1tWRVJdJywKICAgICAgICAvLyBodHRwOi8vc29jaWFsLm1zZG4ubWljcm9zb2Z0LmNvbS9Gb3J1bXMvZW4tVVMvd2luZG93c2RldmVsb3BlcnByZXZpZXdnZW5lcmFsL3RocmVhZC82YmUzOTJkYS00ZDJmLTQxYjQtODM1NC04ZGNlZTIwYzg1Y2QKICAgICAgICAnV2luZG93cyBOVCcgICAgICAgPT4gJ1dpbmRvd3MgTlQgW1ZFUl0nLAogICAgICAgICdTeW1iaWFuJyAgICAgICAgICA9PiBhcnJheSgnU3ltYmlhbk9TL1tWRVJdJywgJ1N5bWJpYW4vW1ZFUl0nKSwKICAgICAgICAnd2ViT1MnICAgICAgICAgICAgPT4gYXJyYXkoJ3dlYk9TL1tWRVJdJywgJ2hwd09TL1tWRVJdOycpLAoKCiAgICApOwoKICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCl7CgogICAgICAgICR0aGlzLT5zZXRIdHRwSGVhZGVycygpOwogICAgICAgICR0aGlzLT5zZXRVc2VyQWdlbnQoKTsKCiAgICAgICAgJHRoaXMtPnNldE1vYmlsZURldGVjdGlvblJ1bGVzKCk7CiAgICAgICAgJHRoaXMtPnNldE1vYmlsZURldGVjdGlvblJ1bGVzRXh0ZW5kZWQoKTsKCiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldEh0dHBIZWFkZXJzKCRodHRwSGVhZGVycyA9IG51bGwpewoKICAgICAgICBpZighZW1wdHkoJGh0dHBIZWFkZXJzKSl7CiAgICAgICAgICAgICR0aGlzLT5odHRwSGVhZGVycyA9ICRodHRwSGVhZGVyczsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBmb3JlYWNoKCRfU0VSVkVSIGFzICRrZXkgPT4gJHZhbHVlKXsKICAgICAgICAgICAgICAgIGlmKHN1YnN0cigka2V5LDAsNSk9PSdIVFRQXycpewogICAgICAgICAgICAgICAgICAgICR0aGlzLT5odHRwSGVhZGVyc1ska2V5XSA9ICR2YWx1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHNldFVzZXJBZ2VudCgkdXNlckFnZW50ID0gbnVsbCl7CgogICAgICAgIGlmKCFlbXB0eSgkdXNlckFnZW50KSl7CiAgICAgICAgICAgICR0aGlzLT51c2VyQWdlbnQgPSAkdXNlckFnZW50OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT51c2VyQWdlbnQgICAgPSBpc3NldCgkdGhpcy0+aHR0cEhlYWRlcnNbJ0hUVFBfVVNFUl9BR0VOVCddKSA/ICR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9VU0VSX0FHRU5UJ10gOiBudWxsOwoKICAgICAgICAgICAgaWYoZW1wdHkoJHRoaXMtPnVzZXJBZ2VudCkpewogICAgICAgICAgICAgICAgJHRoaXMtPnVzZXJBZ2VudCA9IGlzc2V0KCR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9YX0RFVklDRV9VU0VSX0FHRU5UJ10pID8gJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1hfREVWSUNFX1VTRVJfQUdFTlQnXSA6IG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gSGVhZGVyIGNhbiBvY2N1ciBvbiBkZXZpY2VzIHVzaW5nIE9wZXJhIE1pbmkgKGNhbiBleHBvc2UgdGhlIHJlYWwgZGV2aWNlIHR5cGUpLiBMZXQncyBjb25jYXRlbmF0ZSBpdCAod2UgbmVlZCB0aGlzIGV4dHJhIGluZm8gaW4gdGhlIHJlZ2V4ZXMpLgogICAgICAgICAgICBpZighZW1wdHkoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1hfT1BFUkFNSU5JX1BIT05FX1VBJ10pKXsKICAgICAgICAgICAgICAgICR0aGlzLT51c2VyQWdlbnQgLj0gJyAnLiR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9YX09QRVJBTUlOSV9QSE9ORV9VQSddOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgIH0KCiAgICBmdW5jdGlvbiBzZXREZXRlY3Rpb25UeXBlKCR0eXBlID0gbnVsbCl7CgogICAgICAgICR0aGlzLT5kZXRlY3Rpb25UeXBlID0gKCFlbXB0eSgkdHlwZSkgPyAkdHlwZSA6ICdtb2JpbGUnKTsKCiAgICB9CgogICAgLyoqCiAgICAgKiBNZXRob2Qgc2V0cyB0aGUgbW9iaWxlIGRldGVjdGlvbiBydWxlcy4KICAgICAqCiAgICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIGZvciB0aGUgbWFnaWMgbWV0aG9kcyAkZGV0ZWN0LT5pcyooKQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0TW9iaWxlRGV0ZWN0aW9uUnVsZXMoKXsKICAgICAgICAvLyBNZXJnZSBhbGwgcnVsZXMgdG9nZXRoZXIuCiAgICAgICAgJHRoaXMtPm1vYmlsZURldGVjdGlvblJ1bGVzID0gYXJyYXlfbWVyZ2UoCiAgICAgICAgICAgICR0aGlzLT5waG9uZURldmljZXMsCiAgICAgICAgICAgICR0aGlzLT50YWJsZXREZXZpY2VzLAogICAgICAgICAgICAkdGhpcy0+b3BlcmF0aW5nU3lzdGVtcywKICAgICAgICAgICAgJHRoaXMtPnVzZXJBZ2VudHMKICAgICAgICApOwoKICAgIH0KCiAgICAvKioKICAgICAqIE1ldGhvZCBzZXRzIHRoZSBtb2JpbGUgZGV0ZWN0aW9uIHJ1bGVzICsgdXRpbGl0aWVzLgogICAgICogVGhlIHJlYXNvbiB0aGlzIGlzIHNlcGFyYXRlIGlzIGJlY2F1c2UgdXRpbGl0aWVzIHJ1bGVzCiAgICAgKiBkb24ndCBuZWNlc3NhcnkgaW1wbHkgbW9iaWxlLgogICAgICoKICAgICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgaW5zaWRlIHRoZSBuZXcgJGRldGVjdC0+aXMoJ3N0dWZmJykgbWV0aG9kLgogICAgICoKICAgICAqIEByZXR1cm4gYm9vbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0TW9iaWxlRGV0ZWN0aW9uUnVsZXNFeHRlbmRlZCgpewoKICAgICAgICAvLyBNZXJnZSBhbGwgcnVsZXMgdG9nZXRoZXIuCiAgICAgICAgJHRoaXMtPm1vYmlsZURldGVjdGlvblJ1bGVzRXh0ZW5kZWQgPSBhcnJheV9tZXJnZSgKICAgICAgICAgICAgJHRoaXMtPnBob25lRGV2aWNlcywKICAgICAgICAgICAgJHRoaXMtPnRhYmxldERldmljZXMsCiAgICAgICAgICAgICR0aGlzLT5vcGVyYXRpbmdTeXN0ZW1zLAogICAgICAgICAgICAkdGhpcy0+dXNlckFnZW50cywKICAgICAgICAgICAgJHRoaXMtPnV0aWxpdGllcwogICAgICAgICk7CgogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBhcnJheQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UnVsZXMoKQogICAgewoKICAgICAgICBpZigkdGhpcy0+ZGV0ZWN0aW9uVHlwZT09J2V4dGVuZGVkJyl7CiAgICAgICAgICAgIHJldHVybiAkdGhpcy0+bW9iaWxlRGV0ZWN0aW9uUnVsZXNFeHRlbmRlZDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPm1vYmlsZURldGVjdGlvblJ1bGVzOwogICAgICAgIH0KCiAgICB9CgovKioKKiBDaGVjayB0aGUgSFRUUCBoZWFkZXJzIGZvciBzaWducyBvZiBtb2JpbGUuCiogVGhpcyBpcyB0aGUgZmFzdGVzdCBtb2JpbGUgY2hlY2sgcG9zc2libGU7IGl0J3MgdXNlZAoqIGluc2lkZSBpc01vYmlsZSgpIG1ldGhvZC4KKiBAcmV0dXJuIGJvb2xlYW4KKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBjaGVja0h0dHBIZWFkZXJzRm9yTW9iaWxlKCl7CgogICAgICAgIGlmKAogICAgICAgICAgICBpc3NldCgkdGhpcy0+aHR0cEhlYWRlcnNbJ0hUVFBfQUNDRVBUJ10pICYmCiAgICAgICAgICAgICAgICAoc3RycG9zKCR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9BQ0NFUFQnXSwgJ2FwcGxpY2F0aW9uL3gtb2JtbDJkJykgIT09IGZhbHNlIHx8IC8vIE9wZXJhIE1pbmk7IEByZWZlcmVuY2U6IGh0dHA6Ly9kZXYub3BlcmEuY29tL2FydGljbGVzL3ZpZXcvb3BlcmEtYmluYXJ5LW1hcmt1cC1sYW5ndWFnZS8KICAgICAgICAgICAgICAgICBzdHJwb3MoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX0FDQ0VQVCddLCAnYXBwbGljYXRpb24vdm5kLnJpbS5odG1sJykgIT09IGZhbHNlIHx8IC8vIEJsYWNrQmVycnkgZGV2aWNlcy4KICAgICAgICAgICAgICAgICBzdHJwb3MoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX0FDQ0VQVCddLCAndGV4dC92bmQud2FwLndtbCcpICE9PSBmYWxzZSB8fAogICAgICAgICAgICAgICAgIHN0cnBvcygkdGhpcy0+aHR0cEhlYWRlcnNbJ0hUVFBfQUNDRVBUJ10sICdhcHBsaWNhdGlvbi92bmQud2FwLnhodG1sK3htbCcpICE9PSBmYWxzZSkgfHwKICAgICAgICAgICAgaXNzZXQoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1hfV0FQX1BST0ZJTEUnXSkgICAgICAgICAgICAgfHwgLy8gQHRvZG86IHZhbGlkYXRlCiAgICAgICAgICAgIGlzc2V0KCR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9YX1dBUF9DTElFTlRJRCddKSAgICAgICAgICAgIHx8CiAgICAgICAgICAgIGlzc2V0KCR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9XQVBfQ09OTkVDVElPTiddKSAgICAgICAgICAgIHx8CiAgICAgICAgICAgIGlzc2V0KCR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9QUk9GSUxFJ10pICAgICAgICAgICAgICAgICAgIHx8CiAgICAgICAgICAgIGlzc2V0KCR0aGlzLT5odHRwSGVhZGVyc1snSFRUUF9YX09QRVJBTUlOSV9QSE9ORV9VQSddKSAgICAgIHx8IC8vIFJlcG9ydGVkIGJ5IE5va2lhIGRldmljZXMgKGVnLiBDMykKICAgICAgICAgICAgaXNzZXQoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1hfTk9LSUFfSVBBRERSRVNTJ10pICAgICAgICAgfHwKICAgICAgICAgICAgaXNzZXQoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1hfTk9LSUFfR0FURVdBWV9JRCddKSAgICAgICAgfHwKICAgICAgICAgICAgaXNzZXQoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1hfT1JBTkdFX0lEJ10pICAgICAgICAgICAgICAgfHwKICAgICAgICAgICAgaXNzZXQoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1hfVk9EQUZPTkVfM0dQRFBDT05URVhUJ10pICAgfHwKICAgICAgICAgICAgaXNzZXQoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1hfSFVBV0VJX1VTRVJJRCddKSAgICAgICAgICAgfHwKICAgICAgICAgICAgaXNzZXQoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1VBX09TJ10pICAgICAgICAgICAgICAgICAgICAgfHwgLy8gUmVwb3J0ZWQgYnkgV2luZG93cyBTbWFydHBob25lcy4KICAgICAgICAgICAgaXNzZXQoJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1hfTU9CSUxFX0dBVEVXQVknXSkgICAgICAgICAgfHwgLy8gUmVwb3J0ZWQgYnkgVmVyaXpvbiwgVm9kYWZvbmUgcHJveHkgc3lzdGVtLgogICAgICAgICAgICBpc3NldCgkdGhpcy0+aHR0cEhlYWRlcnNbJ0hUVFBfWF9BVFRfREVWSUNFSUQnXSkgICAgICAgICAgICB8fCAvLyBTZWVuZCB0aGlzIG9uIEhUQyBTZW5zYXRpb24uIEByZWY6IFNlbnNhdGlvblhFX0JlYXRzX1o3MTVlCiAgICAgICAgICAgIC8vSFRUUF9YX05FVFdPUktfVFlQRSA9IFdJRkkKICAgICAgICAgICAgKCBpc3NldCgkdGhpcy0+aHR0cEhlYWRlcnNbJ0hUVFBfVUFfQ1BVJ10pICYmCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmh0dHBIZWFkZXJzWydIVFRQX1VBX0NQVSddID09ICdBUk0nICAgICAgICAgIC8vIFNlZW4gdGhpcyBvbiBhIEhUQy4KICAgICAgICAgICAgKQogICAgICAgICl7CgogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKCiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CgogICAgfQoKICAgIC8qKgogICAgICogTWFnaWMgb3ZlcmxvYWRpbmcgbWV0aG9kLgogICAgICoKICAgICAqIEBtZXRob2QgYm9vbGVhbiBpc1suLi5dKCkKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUKICAgICAqIEBwYXJhbSBhcnJheSAkYXJndW1lbnRzCiAgICAgKiBAcmV0dXJuIG1peGVkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NhbGwoJG5hbWUsICRhcmd1bWVudHMpCiAgICB7CgogICAgICAgICR0aGlzLT5zZXREZXRlY3Rpb25UeXBlKCdtb2JpbGUnKTsKCiAgICAgICAgJGtleSA9IHN1YnN0cigkbmFtZSwgMik7CiAgICAgICAgcmV0dXJuICR0aGlzLT5tYXRjaFVBQWdhaW5zdEtleSgka2V5KTsKCiAgICB9CgogICAgLyoqCiAgICAqIEZpbmQgYSBkZXRlY3Rpb24gcnVsZSB0aGF0IG1hdGNoZXMgdGhlIGN1cnJlbnQgVXNlci1hZ2VudC4KICAgICoKICAgICogQHBhcmFtIG51bGwgJHVzZXJBZ2VudCBkZXByZWNhdGVkCiAgICAqIEByZXR1cm4gYm9vbGVhbgogICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gbWF0Y2hEZXRlY3Rpb25SdWxlc0FnYWluc3RVQSgkdXNlckFnZW50ID0gbnVsbCl7CgogICAgICAgIC8vIEJlZ2luIGdlbmVyYWwgc2VhcmNoLgogICAgICAgIGZvcmVhY2goJHRoaXMtPmdldFJ1bGVzKCkgYXMgJF9yZWdleCl7CiAgICAgICAgICAgIGlmKGVtcHR5KCRfcmVnZXgpKXsgY29udGludWU7IH0KICAgICAgICAgICAgaWYoICR0aGlzLT5tYXRjaCgkX3JlZ2V4LCAkdXNlckFnZW50KSApewogICAgICAgICAgICAgICAgLy92YXJfZHVtcCggJF9yZWdleCApOwogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKCiAgICB9CgogICAgLyoqCiAgICAqIFNlYXJjaCBmb3IgYSBjZXJ0YWluIGtleSBpbiB0aGUgcnVsZXMgYXJyYXkuCiAgICAqIElmIHRoZSBrZXkgaXMgZm91bmQgdGhlIHRyeSB0byBtYXRjaCB0aGUgY29ycmVzcG9uZGluZwogICAgKiByZWdleCBhZ2FpbnMgdGhlIFVzZXItYWdlbnQuCiAgICAqCiAgICAqIEBwYXJhbSBzdHJpbmcgJGtleQogICAgKiBAcGFyYW0gbnVsbCAkdXNlckFnZW50IGRlcHJlY2F0ZWQKICAgICogQHJldHVybiBtaXhlZAogICAgKi8KICAgIHByaXZhdGUgZnVuY3Rpb24gbWF0Y2hVQUFnYWluc3RLZXkoJGtleSwgJHVzZXJBZ2VudCA9IG51bGwpewoKICAgICAgICAvLyBNYWtlIHRoZSBrZXlzIGxvd2VyY2FzZSBzbyB3ZSBjYW4gbWF0Y2g6IGlzSXBob25lKCksIGlzaVBob25lKCksIGlzaXBob25lKCksIGV0Yy4KICAgICAgICAka2V5ID0gc3RydG9sb3dlcigka2V5KTsKICAgICAgICAkX3J1bGVzID0gYXJyYXlfY2hhbmdlX2tleV9jYXNlKCR0aGlzLT5nZXRSdWxlcygpKTsKCiAgICAgICAgaWYoYXJyYXlfa2V5X2V4aXN0cygka2V5LCAkX3J1bGVzKSl7CiAgICAgICAgICAgIGlmKGVtcHR5KCRfcnVsZXNbJGtleV0pKXsgcmV0dXJuIG51bGw7IH0KICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5tYXRjaCgkX3J1bGVzWyRrZXldLCAkdXNlckFnZW50KTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKCiAgICB9CgogICAgLyoqCiAgICAqIENoZWNrIGlmIHRoZSBkZXZpY2UgaXMgbW9iaWxlLgogICAgKiBSZXR1cm5zIHRydWUgaWYgYW55IHR5cGUgb2YgbW9iaWxlIGRldmljZSBkZXRlY3RlZCwgaW5jbHVkaW5nIHNwZWNpYWwgb25lcwogICAgKiBAcGFyYW0gbnVsbCAkdXNlckFnZW50IGRlcHJlY2F0ZWQKICAgICogQHBhcmFtIG51bGwgJGh0dHBIZWFkZXJzIGRlcHJlY2F0ZWQKICAgICogQHJldHVybiBib29sCiAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGlzTW9iaWxlKCR1c2VyQWdlbnQgPSBudWxsLCAkaHR0cEhlYWRlcnMgPSBudWxsKSB7CgogICAgICAgIGlmKCRodHRwSGVhZGVycyl7ICR0aGlzLT5zZXRIdHRwSGVhZGVycygkaHR0cEhlYWRlcnMpOyB9CiAgICAgICAgaWYoJHVzZXJBZ2VudCl7ICR0aGlzLT5zZXRVc2VyQWdlbnQoJHVzZXJBZ2VudCk7IH0KCiAgICAgICAgJHRoaXMtPnNldERldGVjdGlvblR5cGUoJ21vYmlsZScpOwoKICAgICAgICBpZiAoJHRoaXMtPmNoZWNrSHR0cEhlYWRlcnNGb3JNb2JpbGUoKSkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gJHRoaXMtPm1hdGNoRGV0ZWN0aW9uUnVsZXNBZ2FpbnN0VUEoKTsKICAgICAgICB9CgogICAgfQoKICAgIC8qKgogICAgKiBDaGVjayBpZiB0aGUgZGV2aWNlIGlzIGEgdGFibGV0LgogICAgKiBSZXR1cm4gdHJ1ZSBpZiBhbnkgdHlwZSBvZiB0YWJsZXQgZGV2aWNlIGlzIGRldGVjdGVkLgogICAgICoKICAgICAqIEBwYXJhbSBudWxsICR1c2VyQWdlbnQgZGVwcmVjYXRlZAogICAgICogQHBhcmFtIG51bGwgJGh0dHBIZWFkZXJzIGRlcHJlY2F0ZWQKICAgICAqIEByZXR1cm4gYm9vbAogICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBpc1RhYmxldCgkdXNlckFnZW50ID0gbnVsbCwgJGh0dHBIZWFkZXJzID0gbnVsbCkgewoKICAgICAgICAkdGhpcy0+c2V0RGV0ZWN0aW9uVHlwZSgnbW9iaWxlJyk7CgogICAgICAgIGZvcmVhY2goJHRoaXMtPnRhYmxldERldmljZXMgYXMgJF9yZWdleCl7CiAgICAgICAgICAgIGlmKCR0aGlzLT5tYXRjaCgkX3JlZ2V4LCAkdXNlckFnZW50KSl7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCgkgICAgcmV0dXJuIGZhbHNlOwoKICAgIH0KCiAgICAvKioKICAgICAqIFRoaXMgbWV0aG9kIGNoZWNrcyBmb3IgYSBjZXJ0YWluIHByb3BlcnR5IGluIHRoZQogICAgICogdXNlckFnZW50LgogICAgICogQHRvZG86IFRoZSBodHRwSGVhZGVycyBwYXJ0IGlzIG5vdCB5ZXQgdXNlZC4KICAgICAqCiAgICAgKiBAcGFyYW0gJGtleQogICAgICogQHBhcmFtIHN0cmluZyAkdXNlckFnZW50IGRlcHJlY2F0ZWQKICAgICAqIEBwYXJhbSBzdHJpbmcgJGh0dHBIZWFkZXJzIGRlcHJlY2F0ZWQKICAgICAqIEByZXR1cm4gYm9vbHxpbnR8bnVsbAogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gaXMoJGtleSwgJHVzZXJBZ2VudCA9IG51bGwsICRodHRwSGVhZGVycyA9IG51bGwpewoKCiAgICAgICAgLy8gU2V0IHRoZSBVQSBhbmQgSFRUUCBoZWFkZXJzIG9ubHkgaWYgbmVlZGVkIChlZy4gYmF0Y2ggbW9kZSkuCiAgICAgICAgaWYoJGh0dHBIZWFkZXJzKSAkdGhpcy0+c2V0SHR0cEhlYWRlcnMoJGh0dHBIZWFkZXJzKTsKICAgICAgICBpZigkdXNlckFnZW50KSAkdGhpcy0+c2V0VXNlckFnZW50KCR1c2VyQWdlbnQpOwoKICAgICAgICAkdGhpcy0+c2V0RGV0ZWN0aW9uVHlwZSgnZXh0ZW5kZWQnKTsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5tYXRjaFVBQWdhaW5zdEtleSgka2V5KTsKCiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldE9wZXJhdGluZ1N5c3RlbXMoKXsKCiAgICAgICAgcmV0dXJuICR0aGlzLT5vcGVyYXRpbmdTeXN0ZW1zOwoKICAgIH0KCiAgICAvKioKICAgICAqIFNvbWUgZGV0ZWN0aW9uIHJ1bGVzIGFyZSByZWxhdGl2ZSAobm90IHN0YW5kYXJkKSwKICAgICAqIGJlY2F1c2Ugb2YgdGhlIGRpdmVyc2l0eSBvZiBkZXZpY2VzLCB2ZW5kb3JzIGFuZAogICAgICogdGhlaXIgY29udmVudGlvbnMgaW4gcmVwcmVzZW50aW5nIHRoZSBVc2VyLUFnZW50IG9yCiAgICAgKiB0aGUgSFRUUCBoZWFkZXJzLgogICAgICoKICAgICAqIFRoaXMgbWV0aG9kIHdpbGwgYmUgdXNlZCB0byBjaGVjayBjdXN0b20gcmVnZXhlcyBhZ2FpbnN0CiAgICAgKiB0aGUgVXNlci1BZ2VudCBzdHJpbmcuCiAgICAgKgogICAgICogQHBhcmFtICRyZWdleAogICAgICogQHBhcmFtIHN0cmluZyAkdXNlckFnZW50CiAgICAgKiBAcmV0dXJuIGJvb2wKICAgICAqCiAgICAgKiBAdG9kbzogc2VhcmNoIGluIHRoZSBIVFRQIGhlYWRlcnMgdG9vLgogICAgICovCiAgICBmdW5jdGlvbiBtYXRjaCgkcmVnZXgsICR1c2VyQWdlbnQ9bnVsbCl7CgogICAgICAgIC8vIEVzY2FwZSB0aGUgc3BlY2lhbCBjaGFyYWN0ZXIgd2hpY2ggaXMgdGhlIGRlbGltaXRlci4KICAgICAgICAkcmVnZXggPSBzdHJfcmVwbGFjZSgnLycsICdcLycsICRyZWdleCk7CgogICAgICAgIHJldHVybiAoYm9vbClwcmVnX21hdGNoKCcvJy4kcmVnZXguJy9pcycsICghZW1wdHkoJHVzZXJBZ2VudCkgPyAkdXNlckFnZW50IDogJHRoaXMtPnVzZXJBZ2VudCkpOwoKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcHJvcGVydGllcyBhcnJheS4KICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgZnVuY3Rpb24gZ2V0UHJvcGVydGllcygpewoKICAgICAgICByZXR1cm4gJHRoaXMtPnByb3BlcnRpZXM7CgogICAgfQoKICAgIC8qKgogICAgICogUHJlcGFyZSB0aGUgdmVyc2lvbiBudW1iZXIuCiAgICAgKgogICAgICogQHBhcmFtICR2ZXIKICAgICAqIEByZXR1cm4gaW50CiAgICAgKi8KICAgIGZ1bmN0aW9uIHByZXBhcmVWZXJzaW9uTm8oJHZlcil7CgogICAgICAgICR2ZXIgPSBzdHJfcmVwbGFjZShhcnJheSgnXycsICcgJywgJy8nKSwgYXJyYXkoJy4nLCAnLicsICcuJyksICR2ZXIpOwogICAgICAgICRhcnJWZXIgPSBleHBsb2RlKCcuJywgJHZlciwgMik7CiAgICAgICAgJGFyclZlclsxXSA9IEBzdHJfcmVwbGFjZSgnLicsICcnLCAkYXJyVmVyWzFdKTsgLy8gQHRvZG86IHRyZWF0IHN0cmluZ3MgdmVyc2lvbnMuCiAgICAgICAgJHZlciA9IChmbG9hdClpbXBsb2RlKCcuJywgJGFyclZlcik7CgogICAgICAgIHJldHVybiAkdmVyOwoKICAgIH0KCiAgICAvKioKICAgICAqIENoZWNrIHRoZSB2ZXJzaW9uIG9mIHRoZSBnaXZlbiBwcm9wZXJ0eSBpbiB0aGUgVXNlci1BZ2VudC4KICAgICAqIFdpbGwgcmV0dXJuIGEgZmxvYXQgbnVtYmVyLiAoZWcuIDJfMCB3aWxsIHJldHVybiAyLjAsIDQuMy4xIHdpbGwgcmV0dXJuIDQuMzEpCiAgICAgKgogICAgICogQHBhcmFtIHN0cmluZyAkcHJvcGVydHlOYW1lCiAgICAgKiBAcmV0dXJuIG1peGVkICR2ZXJzaW9uCiAgICAgKi8KICAgIGZ1bmN0aW9uIHZlcnNpb24oJHByb3BlcnR5TmFtZSl7CgogICAgICAgICRwcm9wZXJ0aWVzID0gJHRoaXMtPmdldFByb3BlcnRpZXMoKTsKCiAgICAgICAgLy8gSWYgdGhlIHByb3BlcnR5IGlzIGZvdW5kIGluIHRoZSBVc2VyLUFnZW50IHRoZW4gbW92ZSB0byB0aGUgbmV4dCBzdGVwLgogICAgICAgIGlmKHN0cmlwb3MoJHRoaXMtPnVzZXJBZ2VudCwgJHByb3BlcnR5TmFtZSkhPT1mYWxzZSl7CgogICAgICAgICAgICAvLyBQcmVwYXJlIHRoZSBwYXR0ZXJuIHRvIGJlIG1hdGNoZWQuCiAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBhbHdheXMgZGVhbCB3aXRoIGFuIGFycmF5IChzdHJpbmcgaXMgY29udmVydGVkKS4KICAgICAgICAgICAgJHByb3BlcnRpZXNbJHByb3BlcnR5TmFtZV0gPSAoYXJyYXkpJHByb3BlcnRpZXNbJHByb3BlcnR5TmFtZV07CgogICAgICAgICAgICBmb3JlYWNoKCRwcm9wZXJ0aWVzWyRwcm9wZXJ0eU5hbWVdIGFzICRwcm9wZXJ0eU1hdGNoU3RyaW5nKXsKCiAgICAgICAgICAgICAgICAkcHJvcGVydHlQYXR0ZXJuID0gc3RyX3JlcGxhY2UoJ1tWRVJdJywgc2VsZjo6VkVSLCAkcHJvcGVydHlNYXRjaFN0cmluZyk7CgogICAgICAgICAgICAgICAgLy8gRXNjYXBlIHRoZSBzcGVjaWFsIGNoYXJhY3RlciB3aGljaCBpcyB0aGUgZGVsaW1pdGVyLgogICAgICAgICAgICAgICAgJHByb3BlcnR5UGF0dGVybiA9IHN0cl9yZXBsYWNlKCcvJywgJ1wvJywgJHByb3BlcnR5UGF0dGVybik7CgogICAgICAgICAgICAgICAgLy8gSWRlbnRpZnkgYW5kIGV4dHJhY3QgdGhlIHZlcnNpb24uCiAgICAgICAgICAgICAgICBwcmVnX21hdGNoKCcvJy4kcHJvcGVydHlQYXR0ZXJuLicvaXMnLCAkdGhpcy0+dXNlckFnZW50LCAkbWF0Y2gpOwoKICAgICAgICAgICAgICAgIGlmKCFlbXB0eSgkbWF0Y2hbMV0pKXsKICAgICAgICAgICAgICAgICAgICAkdmVyc2lvbiA9ICR0aGlzLT5wcmVwYXJlVmVyc2lvbk5vKCRtYXRjaFsxXSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICR2ZXJzaW9uOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIDA7CgogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZhbHNlOwoKICAgIH0KCiAgICBmdW5jdGlvbiBtb2JpbGVHcmFkZSgpewoKICAgICAgICAkaXNNb2JpbGUgPSAkdGhpcy0+aXNNb2JpbGUoKTsKCiAgICAgICAgaWYoCiAgICAgICAgICAgIC8vIEFwcGxlIGlPUyAzLjItNS4xIC0gVGVzdGVkIG9uIHRoZSBvcmlnaW5hbCBpUGFkICg0LjMgLyA1LjApLCBpUGFkIDIgKDQuMyksIGlQYWQgMyAoNS4xKSwgb3JpZ2luYWwgaVBob25lICgzLjEpLCBpUGhvbmUgMyAoMy4yKSwgM0dTICg0LjMpLCA0ICg0LjMgLyA1LjApLCBhbmQgNFMgKDUuMSkKICAgICAgICAgICAgJHRoaXMtPnZlcnNpb24oJ2lQYWQnKT49NC4zIHx8CiAgICAgICAgICAgICR0aGlzLT52ZXJzaW9uKCdpUGhvbmUnKT49My4xIHx8CiAgICAgICAgICAgICR0aGlzLT52ZXJzaW9uKCdpUG9kJyk+PTMuMSB8fAoKICAgICAgICAgICAgLy8gQW5kcm9pZCAyLjEtMi4zIC0gVGVzdGVkIG9uIHRoZSBIVEMgSW5jcmVkaWJsZSAoMi4yKSwgb3JpZ2luYWwgRHJvaWQgKDIuMiksIEhUQyBBcmlhICgyLjEpLCBHb29nbGUgTmV4dXMgUyAoMi4zKS4gRnVuY3Rpb25hbCBvbiAxLjUgJiAxLjYgYnV0IHBlcmZvcm1hbmNlIG1heSBiZSBzbHVnZ2lzaCwgdGVzdGVkIG9uIEdvb2dsZSBHMSAoMS41KQogICAgICAgICAgICAvLyBBbmRyb2lkIDMuMSAoSG9uZXljb21iKSAgLSBUZXN0ZWQgb24gdGhlIFNhbXN1bmcgR2FsYXh5IFRhYiAxMC4xIGFuZCBNb3Rvcm9sYSBYT09NCiAgICAgICAgICAgIC8vIEFuZHJvaWQgNC4wIChJQ1MpICAtIFRlc3RlZCBvbiBhIEdhbGF4eSBOZXh1cy4gTm90ZTogdHJhbnNpdGlvbiBwZXJmb3JtYW5jZSBjYW4gYmUgcG9vciBvbiB1cGdyYWRlZCBkZXZpY2VzCiAgICAgICAgICAgIC8vIEFuZHJvaWQgNC4xIChKZWxseSBCZWFuKSAgLSBUZXN0ZWQgb24gYSBHYWxheHkgTmV4dXMgYW5kIEdhbGF4eSA3CiAgICAgICAgICAgICggJHRoaXMtPnZlcnNpb24oJ0FuZHJvaWQnKT4yLjEgJiYgJHRoaXMtPmlzKCdXZWJraXQnKSApIHx8CgogICAgICAgICAgICAvLyBXaW5kb3dzIFBob25lIDctNy41IC0gVGVzdGVkIG9uIHRoZSBIVEMgU3Vycm91bmQgKDcuMCkgSFRDIFRyb3BoeSAoNy41KSwgTEctRTkwMCAoNy41KSwgTm9raWEgTHVtaWEgODAwCiAgICAgICAgICAgICR0aGlzLT52ZXJzaW9uKCdXaW5kb3dzIFBob25lIE9TJyk+PTcuMCB8fAoKICAgICAgICAgICAgLy8gQmxhY2tiZXJyeSA3IC0gVGVzdGVkIG9uIEJsYWNrQmVycnnCriBUb3JjaCA5ODEwCiAgICAgICAgICAgIC8vIEJsYWNrYmVycnkgNi4wIC0gVGVzdGVkIG9uIHRoZSBUb3JjaCA5ODAwIGFuZCBTdHlsZSA5NjcwCiAgICAgICAgICAgICR0aGlzLT52ZXJzaW9uKCdCbGFja0JlcnJ5Jyk+PTYuMCB8fAogICAgICAgICAgICAvLyBCbGFja2JlcnJ5IFBsYXlib29rICgxLjAtMi4wKSAtIFRlc3RlZCBvbiBQbGF5Qm9vawogICAgICAgICAgICAkdGhpcy0+bWF0Y2goJ1BsYXlib29rLipUYWJsZXQnKSB8fAoKICAgICAgICAgICAgLy8gUGFsbSBXZWJPUyAoMS40LTIuMCkgLSBUZXN0ZWQgb24gdGhlIFBhbG0gUGl4aSAoMS40KSwgUHJlICgxLjQpLCBQcmUgMiAoMi4wKQogICAgICAgICAgICAoICR0aGlzLT52ZXJzaW9uKCd3ZWJPUycpPj0xLjQgJiYgJHRoaXMtPm1hdGNoKCdQYWxtfFByZXxQaXhpJykgKSB8fAogICAgICAgICAgICAvLyBQYWxtIFdlYk9TIDMuMCAgLSBUZXN0ZWQgb24gSFAgVG91Y2hQYWQKICAgICAgICAgICAgJHRoaXMtPm1hdGNoKCdocC4qVG91Y2hQYWQnKSB8fAoKICAgICAgICAgICAgLy8gRmlyZWZveCBNb2JpbGUgKDEyIEJldGEpIC0gVGVzdGVkIG9uIEFuZHJvaWQgMi4zIGRldmljZQogICAgICAgICAgICAoICR0aGlzLT5pcygnRmlyZWZveCcpICYmICR0aGlzLT52ZXJzaW9uKCdGaXJlZm94Jyk+PTEyICkgfHwKCiAgICAgICAgICAgIC8vIENocm9tZSBmb3IgQW5kcm9pZCAtIFRlc3RlZCBvbiBBbmRyb2lkIDQuMCwgNC4xIGRldmljZQogICAgICAgICAgICAoICR0aGlzLT5pcygnQ2hyb21lJykgJiYgJHRoaXMtPmlzKCdBbmRyb2lkT1MnKSAmJiAkdGhpcy0+dmVyc2lvbignQW5kcm9pZCcpPj00LjAgKSB8fAoKICAgICAgICAgICAgLy8gU2t5ZmlyZSA0LjEgLSBUZXN0ZWQgb24gQW5kcm9pZCAyLjMgZGV2aWNlCiAgICAgICAgICAgICggJHRoaXMtPmlzKCdTa3lmaXJlJykgJiYgJHRoaXMtPnZlcnNpb24oJ1NreWZpcmUnKT49NC4xICYmICR0aGlzLT5pcygnQW5kcm9pZE9TJykgJiYgJHRoaXMtPnZlcnNpb24oJ0FuZHJvaWQnKT49Mi4zICkgfHwKCiAgICAgICAgICAgIC8vIE9wZXJhIE1vYmlsZSAxMS41LTEyOiBUZXN0ZWQgb24gQW5kcm9pZCAyLjMKICAgICAgICAgICAgKCAkdGhpcy0+aXMoJ09wZXJhJykgJiYgJHRoaXMtPnZlcnNpb24oJ09wZXJhIE1vYmknKT4xMSAmJiAkdGhpcy0+aXMoJ0FuZHJvaWRPUycpICkgfHwKCiAgICAgICAgICAgIC8vIE1lZWdvIDEuMiAtIFRlc3RlZCBvbiBOb2tpYSA5NTAgYW5kIE45CiAgICAgICAgICAgICR0aGlzLT5pcygnTWVlR29PUycpIHx8CgogICAgICAgICAgICAvLyBUaXplbiAocHJlLXJlbGVhc2UpIC0gVGVzdGVkIG9uIGVhcmx5IGhhcmR3YXJlCiAgICAgICAgICAgICR0aGlzLT5pcygnVGl6ZW4nKSB8fAoKICAgICAgICAgICAgLy8gU2Ftc3VuZyBCYWRhIDIuMCAtIFRlc3RlZCBvbiBhIFNhbXN1bmcgV2F2ZSAzLCBEb2xwaGluIGJyb3dzZXIKICAgICAgICAgICAgLy8gQHRvZG86IG1vcmUgdGVzdHMgaGVyZSEKICAgICAgICAgICAgJHRoaXMtPmlzKCdEb2xmaW4nKSAmJiAkdGhpcy0+dmVyc2lvbignQmFkYScpPj0yLjAgfHwKCiAgICAgICAgICAgIC8vIFVDIEJyb3dzZXIgLSBUZXN0ZWQgb24gQW5kcm9pZCAyLjMgZGV2aWNlCiAgICAgICAgICAgICggKCR0aGlzLT5pcygnVUMgQnJvd3NlcicpIHx8ICR0aGlzLT5pcygnRG9sZmluJykpICYmICR0aGlzLT52ZXJzaW9uKCdBbmRyb2lkJyk+PTIuMyApIHx8CgogICAgICAgICAgICAvLyBLaW5kbGUgMyBhbmQgRmlyZSAgLSBUZXN0ZWQgb24gdGhlIGJ1aWx0LWluIFdlYktpdCBicm93c2VyIGZvciBlYWNoCiAgICAgICAgICAgICggJHRoaXMtPm1hdGNoKCdLaW5kbGUgRmlyZScpIHx8CiAgICAgICAgICAgICR0aGlzLT5pcygnS2luZGxlJykgJiYgJHRoaXMtPnZlcnNpb24oJ0tpbmRsZScpPj0zLjAgKSB8fAoKICAgICAgICAgICAgLy8gTm9vayBDb2xvciAxLjQuMSAtIFRlc3RlZCBvbiBvcmlnaW5hbCBOb29rIENvbG9yLCBub3QgTm9vayBUYWJsZXQKICAgICAgICAgICAgJHRoaXMtPmlzKCdBbmRyb2lkT1MnKSAmJiAkdGhpcy0+aXMoJ05vb2tUYWJsZXQnKSB8fAoKICAgICAgICAgICAgLy8gQ2hyb21lIERlc2t0b3AgMTEtMjEgLSBUZXN0ZWQgb24gT1MgWCAxMC43IGFuZCBXaW5kb3dzIDcKICAgICAgICAgICAgJHRoaXMtPnZlcnNpb24oJ0Nocm9tZScpPj0xMSAmJiAhJGlzTW9iaWxlIHx8CgogICAgICAgICAgICAvLyBTYWZhcmkgRGVza3RvcCA0LTUgLSBUZXN0ZWQgb24gT1MgWCAxMC43IGFuZCBXaW5kb3dzIDcKICAgICAgICAgICAgJHRoaXMtPnZlcnNpb24oJ1NhZmFyaScpPj01LjAgJiYgISRpc01vYmlsZSB8fAoKICAgICAgICAgICAgLy8gRmlyZWZveCBEZXNrdG9wIDQtMTMgLSBUZXN0ZWQgb24gT1MgWCAxMC43IGFuZCBXaW5kb3dzIDcKICAgICAgICAgICAgJHRoaXMtPnZlcnNpb24oJ0ZpcmVmb3gnKT49NC4wICYmICEkaXNNb2JpbGUgfHwKCiAgICAgICAgICAgIC8vIEludGVybmV0IEV4cGxvcmVyIDctOSAtIFRlc3RlZCBvbiBXaW5kb3dzIFhQLCBWaXN0YSBhbmQgNwogICAgICAgICAgICAkdGhpcy0+dmVyc2lvbignTVNJRScpPj03LjAgJiYgISRpc01vYmlsZSB8fAoKICAgICAgICAgICAgLy8gT3BlcmEgRGVza3RvcCAxMC0xMiAtIFRlc3RlZCBvbiBPUyBYIDEwLjcgYW5kIFdpbmRvd3MgNwogICAgICAgICAgICAvLyBAcmVmZXJlbmNlOiBodHRwOi8vbXkub3BlcmEuY29tL2NvbW11bml0eS9vcGVud2ViL2lkb3BlcmEvCiAgICAgICAgICAgICR0aGlzLT52ZXJzaW9uKCdPcGVyYScpPj0xMCAmJiAhJGlzTW9iaWxlCgoKICAgICAgICApewogICAgICAgICAgICByZXR1cm4gJ0EnOwogICAgICAgIH0KCiAgICAgICAgaWYoCiAgICAgICAgICAgIC8vIEJsYWNrYmVycnkgNS4wOiBUZXN0ZWQgb24gdGhlIFN0b3JtIDIgOTU1MCwgQm9sZCA5NzcwCiAgICAgICAgICAgICR0aGlzLT52ZXJzaW9uKCdCbGFja0JlcnJ5Jyk+PTUgJiYgJHRoaXMtPnZlcnNpb24oJ0JsYWNrQmVycnknKTw2IHx8CgogICAgICAgICAgICAvL09wZXJhIE1pbmkgKDUuMC02LjUpIC0gVGVzdGVkIG9uIGlPUyAzLjIvNC4zIGFuZCBBbmRyb2lkIDIuMwogICAgICAgICAgICAoICR0aGlzLT52ZXJzaW9uKCdPcGVyYSBNaW5pJyk+PTUuMCAmJiAkdGhpcy0+dmVyc2lvbignT3BlcmEgTWluaScpPD02LjUgJiYKICAgICAgICAgICAgKCR0aGlzLT52ZXJzaW9uKCdBbmRyb2lkJyk+PTIuMyB8fCAkdGhpcy0+aXMoJ2lPUycpKSApIHx8CgogICAgICAgICAgICAvLyBOb2tpYSBTeW1iaWFuXjMgLSBUZXN0ZWQgb24gTm9raWEgTjggKFN5bWJpYW5eMyksIEM3IChTeW1iaWFuXjMpLCBhbHNvIHdvcmtzIG9uIE45NyAoU3ltYmlhbl4xKQogICAgICAgICAgICAkdGhpcy0+bWF0Y2goJ05va2lhTjh8Tm9raWFDN3xOOTcuKlNlcmllczYwfFN5bWJpYW4vMycpIHx8CgogICAgICAgICAgICAvLyBAdG9kbzogcmVwb3J0IHRoaXMgKHRlc3RlZCBvbiBOb2tpYSBONzEpCiAgICAgICAgICAgICR0aGlzLT52ZXJzaW9uKCdPcGVyYSBNb2JpJyk+PTExICYmICR0aGlzLT5pcygnU3ltYmlhbk9TJykKCiAgICAgICAgICAgICl7CiAgICAgICAgICAgIHJldHVybiAnQic7CiAgICAgICAgfQoKICAgICAgICBpZigKICAgICAgICAgICAgLy8gQmxhY2tiZXJyeSA0LnggLSBUZXN0ZWQgb24gdGhlIEN1cnZlIDgzMzAKICAgICAgICAgICAgJHRoaXMtPnZlcnNpb24oJ0JsYWNrQmVycnknKTw1LjAgfHwKICAgICAgICAgICAgLy8gV2luZG93cyBNb2JpbGUgLSBUZXN0ZWQgb24gdGhlIEhUQyBMZW8gKFdpbk1vIDUuMikKICAgICAgICAgICAgJHRoaXMtPm1hdGNoKCdNU0lFTW9iaWxlfFdpbmRvd3MgQ0UuKk1vYmlsZScpIHx8ICR0aGlzLT52ZXJzaW9uKCdXaW5kb3dzIE1vYmlsZScpPD01LjIKCgogICAgICAgICl7CgogICAgICAgICAgICByZXR1cm4gJ0MnOwoKICAgICAgICB9CgogICAgICAgIC8vIEFsbCBvbGRlciBzbWFydHBob25lIHBsYXRmb3JtcyBhbmQgZmVhdHVyZXBob25lcyAtIEFueSBkZXZpY2UgdGhhdCBkb2Vzbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcyB3aWxsIHJlY2VpdmUgdGhlIGJhc2ljLCBDIGdyYWRlIGV4cGVyaWVuY2UKICAgICAgICByZXR1cm4gJ0MnOwoKCiAgICB9CgoKfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.parseCSV.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIHBhcnNlQ1NWIHsKCi8qCgoJQ2xhc3M6IHBhcnNlQ1NWIHYwLjQuMyBiZXRhCglodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcGFyc2Vjc3YtZm9yLXBocC8KCgoJRnVsbHkgY29uZm9ybXMgdG8gdGhlIHNwZWNpZmljYXRpb25zIGxpbmVkIG91dCBvbiB3aWtpcGVkaWE6CgkgLSBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NvbW1hLXNlcGFyYXRlZF92YWx1ZXMKCglCYXNlZCBvbiB0aGUgY29uY2VwdCBvZiBNaW5nIEhvbmcgTmcncyBDc3ZGaWxlUGFyc2VyIGNsYXNzOgoJIC0gaHR0cDovL21pbmdob25nLmJsb2dzcG90LmNvbS8yMDA2LzA3L2Nzdi1wYXJzZXItZm9yLXBocC5odG1sCgoKCglDb3B5cmlnaHQgKGMpIDIwMDcgSmltIE15aHJiZXJnIChqaW1AenlkZXYuaW5mbykuCgoJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQoJb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKCWluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKCXRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKCWNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwoJZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKCglUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgoJYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgoJVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKCUlNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAoJRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCglBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCglMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAoJT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgoJVEhFIFNPRlRXQVJFLgoKCgoJQ29kZSBFeGFtcGxlcwoJLS0tLS0tLS0tLS0tLS0tLQoJIyBnZW5lcmFsIHVzYWdlCgkkY3N2ID0gbmV3IHBhcnNlQ1NWKCdkYXRhLmNzdicpOwoJcHJpbnRfcigkY3N2LT5kYXRhKTsKCS0tLS0tLS0tLS0tLS0tLS0KCSMgdGFiIGRlbGltaXRlZCwgYW5kIGVuY29kaW5nIGNvbnZlcnNpb24KCSRjc3YgPSBuZXcgcGFyc2VDU1YoKTsKCSRjc3YtPmVuY29kaW5nKCdVVEYtMTYnLCAnVVRGLTgnKTsKCSRjc3YtPmRlbGltaXRlciA9ICJcdCI7CgkkY3N2LT5wYXJzZSgnZGF0YS50c3YnKTsKCXByaW50X3IoJGNzdi0+ZGF0YSk7CgktLS0tLS0tLS0tLS0tLS0tCgkjIGF1dG8tZGV0ZWN0IGRlbGltaXRlciBjaGFyYWN0ZXIKCSRjc3YgPSBuZXcgcGFyc2VDU1YoKTsKCSRjc3YtPmF1dG8oJ2RhdGEuY3N2Jyk7CglwcmludF9yKCRjc3YtPmRhdGEpOwoJLS0tLS0tLS0tLS0tLS0tLQoJIyBtb2RpZnkgZGF0YSBpbiBhIGNzdiBmaWxlCgkkY3N2ID0gbmV3IHBhcnNlQ1NWKCk7CgkkY3N2LT5zb3J0X2J5ID0gJ2lkJzsKCSRjc3YtPnBhcnNlKCdkYXRhLmNzdicpOwoJIyAiNCIgaXMgdGhlIHZhbHVlIG9mIHRoZSAiaWQiIGNvbHVtbiBvZiB0aGUgQ1NWIHJvdwoJJGNzdi0+ZGF0YVs0XSA9IGFycmF5KCdmaXJzdG5hbWUnID0+ICdKb2huJywgJ2xhc3RuYW1lJyA9PiAnRG9lJywgJ2VtYWlsJyA9PiAnam9obkBkb2UuY29tJyk7CgkkY3N2LT5zYXZlKCk7CgktLS0tLS0tLS0tLS0tLS0tCgkjIGFkZCByb3cvZW50cnkgdG8gZW5kIG9mIENTViBmaWxlCgkjICAtIG9ubHkgcmVjb21tZW5kZWQgd2hlbiB5b3Uga25vdyB0aGUgZXh0YWN0IHNjdHJ1Y3R1cmUgb2YgdGhlIGZpbGUKCSRjc3YgPSBuZXcgcGFyc2VDU1YoKTsKCSRjc3YtPnNhdmUoJ2RhdGEuY3N2JywgYXJyYXkoJzE5ODYnLCAnSG9tZScsICdOb3doZXJlJywgJycpLCB0cnVlKTsKCS0tLS0tLS0tLS0tLS0tLS0KCSMgY29udmVydCAyRCBhcnJheSB0byBjc3YgZGF0YSBhbmQgc2VuZCBoZWFkZXJzCgkjIHRvIGJyb3dzZXIgdG8gdHJlYXQgb3V0cHV0IGFzIGEgZmlsZSBhbmQgZG93bmxvYWQgaXQKCSRjc3YgPSBuZXcgcGFyc2VDU1YoKTsKCSRjc3YtPm91dHB1dCAodHJ1ZSwgJ21vdmllcy5jc3YnLCAkYXJyYXkpOwoJLS0tLS0tLS0tLS0tLS0tLQoKCiovCgoKCS8qKgoJICogQ29uZmlndXJhdGlvbgoJICogLSBzZXQgdGhlc2Ugb3B0aW9ucyB3aXRoICRvYmplY3QtPnZhcl9uYW1lID0gJ3ZhbHVlJzsKCSAqLwoKCSMgdXNlIGZpcnN0IGxpbmUvZW50cnkgYXMgZmllbGQgbmFtZXMKCXZhciAkaGVhZGluZyA9IHRydWU7CgoJIyBvdmVycmlkZSBmaWVsZCBuYW1lcwoJdmFyICRmaWVsZHMgPSBhcnJheSgpOwoKCSMgc29ydCBlbnRyaWVzIGJ5IHRoaXMgZmllbGQKCXZhciAkc29ydF9ieSA9IG51bGw7Cgl2YXIgJHNvcnRfcmV2ZXJzZSA9IGZhbHNlOwoKCSMgc29ydCBiZWhhdmlvciBwYXNzZWQgdG8ga3NvcnQva3Jzb3J0IGZ1bmN0aW9ucwoJIyByZWd1bGFyID0gU09SVF9SRUdVTEFSCgkjIG51bWVyaWMgPSBTT1JUX05VTUVSSUMKCSMgc3RyaW5nICA9IFNPUlRfU1RSSU5HCgl2YXIgJHNvcnRfdHlwZSA9IG51bGw7CgoJIyBkZWxpbWl0ZXIgKGNvbW1hKSBhbmQgZW5jbG9zdXJlIChkb3VibGUgcXVvdGUpCgl2YXIgJGRlbGltaXRlciA9ICcsJzsKCXZhciAkZW5jbG9zdXJlID0gJyInOwoKCSMgYmFzaWMgU1FMLWxpa2UgY29uZGl0aW9ucyBmb3Igcm93IG1hdGNoaW5nCgl2YXIgJGNvbmRpdGlvbnMgPSBudWxsOwoKCSMgbnVtYmVyIG9mIHJvd3MgdG8gaWdub3JlIGZyb20gYmVnaW5uaW5nIG9mIGRhdGEKCXZhciAkb2Zmc2V0ID0gbnVsbDsKCgkjIGxpbWl0cyB0aGUgbnVtYmVyIG9mIHJldHVybmVkIHJvd3MgdG8gc3BlY2lmaWVkIGFtb3VudAoJdmFyICRsaW1pdCA9IG51bGw7CgoJIyBudW1iZXIgb2Ygcm93cyB0byBhbmFseXplIHdoZW4gYXR0ZW1wdGluZyB0byBhdXRvLWRldGVjdCBkZWxpbWl0ZXIKCXZhciAkYXV0b19kZXB0aCA9IDE1OwoKCSMgY2hhcmFjdGVycyB0byBpZ25vcmUgd2hlbiBhdHRlbXB0aW5nIHRvIGF1dG8tZGV0ZWN0IGRlbGltaXRlcgoJdmFyICRhdXRvX25vbl9jaGFycyA9ICJhLXpBLVowLTlcblxyIjsKCgkjIHByZWZlcnJlZCBkZWxpbWl0ZXIgY2hhcmFjdGVycywgb25seSB1c2VkIHdoZW4gYWxsIGZpbHRlcmluZyBtZXRob2QKCSMgcmV0dXJucyBtdWx0aXBsZSBwb3NzaWJsZSBkZWxpbWl0ZXJzIChoYXBwZW5zIHZlcnkgcmFyZWx5KQoJdmFyICRhdXRvX3ByZWZlcnJlZCA9ICIsO1x0Ljp8IjsKCgkjIGNoYXJhY3RlciBlbmNvZGluZyBvcHRpb25zCgl2YXIgJGNvbnZlcnRfZW5jb2RpbmcgPSBmYWxzZTsKCXZhciAkaW5wdXRfZW5jb2RpbmcgPSAnSVNPLTg4NTktMSc7Cgl2YXIgJG91dHB1dF9lbmNvZGluZyA9ICdJU08tODg1OS0xJzsKCgkjIHVzZWQgYnkgdW5wYXJzZSgpLCBzYXZlKCksIGFuZCBvdXRwdXQoKSBmdW5jdGlvbnMKCXZhciAkbGluZWZlZWQgPSAiXHJcbiI7CgoJIyBvbmx5IHVzZWQgYnkgb3V0cHV0KCkgZnVuY3Rpb24KCXZhciAkb3V0cHV0X2RlbGltaXRlciA9ICcsJzsKCXZhciAkb3V0cHV0X2ZpbGVuYW1lID0gJ2RhdGEuY3N2JzsKCgkjIGtlZXAgcmF3IGZpbGUgZGF0YSBpbiBtZW1vcnkgYWZ0ZXIgc3VjY2Vzc2Z1bCBwYXJzaW5nICh1c2VmdWwgZm9yIGRlYnVnZ2luZykKCXZhciAka2VlcF9maWxlX2RhdGEgPSBmYWxzZTsKCgkvKioKCSAqIEludGVybmFsIHZhcmlhYmxlcwoJICovCgoJIyBjdXJyZW50IGZpbGUKCXZhciAkZmlsZTsKCgkjIGxvYWRlZCBmaWxlIGNvbnRlbnRzCgl2YXIgJGZpbGVfZGF0YTsKCgkjIGVycm9yIHdoaWxlIHBhcnNpbmcgaW5wdXQgZGF0YQoJIyAgMCA9IE5vIGVycm9ycyBmb3VuZC4gRXZlcnl0aGluZyBzaG91bGQgYmUgZmluZSA6KQoJIyAgMSA9IEhvcGVmdWxseSBjb3JyZWN0YWJsZSBzeW50YXggZXJyb3Igd2FzIGZvdW5kLgoJIyAgMiA9IEVuY2xvc3VyZSBjaGFyYWN0ZXIgKGRvdWJsZSBxdW90ZSBieSBkZWZhdWx0KQoJIyAgICAgIHdhcyBmb3VuZCBpbiBub24tZW5jbG9zZWQgZmllbGQuIFRoaXMgbWVhbnMKCSMgICAgICB0aGUgZmlsZSBpcyBlaXRoZXIgY29ycnVwdCwgb3IgZG9lcyBub3QKCSMgICAgICBzdGFuZGFyZCBDU1YgZm9ybWF0dGluZy4gUGxlYXNlIHZhbGlkYXRlCgkjICAgICAgdGhlIHBhcnNlZCBkYXRhIHlvdXJzZWxmLgoJdmFyICRlcnJvciA9IDA7CgoJIyBkZXRhaWxlZCBlcnJvciBpbmZvCgl2YXIgJGVycm9yX2luZm8gPSBhcnJheSgpOwoKCSMgYXJyYXkgb2YgZmllbGQgdmFsdWVzIGluIGRhdGEgcGFyc2VkCgl2YXIgJHRpdGxlcyA9IGFycmF5KCk7CgoJIyB0d28gZGltZW50aW9uYWwgYXJyYXkgb2YgQ1NWIGRhdGEKCXZhciAkZGF0YSA9IGFycmF5KCk7CgoKCS8qKgoJICogQ29uc3RydWN0b3IKCSAqIEBwYXJhbSAgIGlucHV0ICAgQ1NWIGZpbGUgb3Igc3RyaW5nCgkgKiBAcmV0dXJuICBub3RoaW5nCgkgKi8KCWZ1bmN0aW9uIHBhcnNlQ1NWICgkaW5wdXQgPSBudWxsLCAkb2Zmc2V0ID0gbnVsbCwgJGxpbWl0ID0gbnVsbCwgJGNvbmRpdGlvbnMgPSBudWxsKSB7CgkJaWYgKCAkb2Zmc2V0ICE9PSBudWxsICkgJHRoaXMtPm9mZnNldCA9ICRvZmZzZXQ7CgkJaWYgKCAkbGltaXQgIT09IG51bGwgKSAkdGhpcy0+bGltaXQgPSAkbGltaXQ7CgkJaWYgKCBjb3VudCgkY29uZGl0aW9ucykgPiAwICkgJHRoaXMtPmNvbmRpdGlvbnMgPSAkY29uZGl0aW9uczsKCQlpZiAoICFlbXB0eSgkaW5wdXQpICkgJHRoaXMtPnBhcnNlKCRpbnB1dCk7Cgl9CgoKCS8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCS8vIC0tLS0tIFsgTWFpbiBGdW5jdGlvbnMgXSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCgkvKioKCSAqIFBhcnNlIENTViBmaWxlIG9yIHN0cmluZwoJICogQHBhcmFtICAgaW5wdXQgICBDU1YgZmlsZSBvciBzdHJpbmcKCSAqIEByZXR1cm4gIG5vdGhpbmcKCSAqLwoJZnVuY3Rpb24gcGFyc2UgKCRpbnB1dCA9IG51bGwsICRvZmZzZXQgPSBudWxsLCAkbGltaXQgPSBudWxsLCAkY29uZGl0aW9ucyA9IG51bGwpIHsKCQlpZiAoICRpbnB1dCA9PT0gbnVsbCApICRpbnB1dCA9ICR0aGlzLT5maWxlOwoJCWlmICggIWVtcHR5KCRpbnB1dCkgKSB7CgkJCWlmICggJG9mZnNldCAhPT0gbnVsbCApICR0aGlzLT5vZmZzZXQgPSAkb2Zmc2V0OwoJCQlpZiAoICRsaW1pdCAhPT0gbnVsbCApICR0aGlzLT5saW1pdCA9ICRsaW1pdDsKCQkJaWYgKCBjb3VudCgkY29uZGl0aW9ucykgPiAwICkgJHRoaXMtPmNvbmRpdGlvbnMgPSAkY29uZGl0aW9uczsKCQkJaWYgKCBpc19yZWFkYWJsZSgkaW5wdXQpICkgewoJCQkJJHRoaXMtPmRhdGEgPSAkdGhpcy0+cGFyc2VfZmlsZSgkaW5wdXQpOwoJCQl9IGVsc2UgewoJCQkJJHRoaXMtPmZpbGVfZGF0YSA9ICYkaW5wdXQ7CgkJCQkkdGhpcy0+ZGF0YSA9ICR0aGlzLT5wYXJzZV9zdHJpbmcoKTsKCQkJfQoJCQlpZiAoICR0aGlzLT5kYXRhID09PSBmYWxzZSApIHJldHVybiBmYWxzZTsKCQl9CgkJcmV0dXJuIHRydWU7Cgl9CgoJLyoqCgkgKiBTYXZlIGNoYW5nZXMsIG9yIG5ldyBmaWxlIGFuZC9vciBkYXRhCgkgKiBAcGFyYW0gICBmaWxlICAgICBmaWxlIHRvIHNhdmUgdG8KCSAqIEBwYXJhbSAgIGRhdGEgICAgIDJEIGFycmF5IHdpdGggZGF0YQoJICogQHBhcmFtICAgYXBwZW5kICAgYXBwZW5kIGN1cnJlbnQgZGF0YSB0byBlbmQgb2YgdGFyZ2V0IENTViBpZiBleGlzdHMKCSAqIEBwYXJhbSAgIGZpZWxkcyAgIGZpZWxkIG5hbWVzCgkgKiBAcmV0dXJuICB0cnVlIG9yIGZhbHNlCgkgKi8KCWZ1bmN0aW9uIHNhdmUgKCRmaWxlID0gbnVsbCwgJGRhdGEgPSBhcnJheSgpLCAkYXBwZW5kID0gZmFsc2UsICRmaWVsZHMgPSBhcnJheSgpKSB7CgkJaWYgKCBlbXB0eSgkZmlsZSkgKSAkZmlsZSA9ICYkdGhpcy0+ZmlsZTsKCQkkbW9kZSA9ICggJGFwcGVuZCApID8gJ2F0JyA6ICd3dCcgOwoJCSRpc19waHAgPSAoIHByZWdfbWF0Y2goJy9cLnBocCQvaScsICRmaWxlKSApID8gdHJ1ZSA6IGZhbHNlIDsKCQlyZXR1cm4gJHRoaXMtPl93ZmlsZSgkZmlsZSwgJHRoaXMtPnVucGFyc2UoJGRhdGEsICRmaWVsZHMsICRhcHBlbmQsICRpc19waHApLCAkbW9kZSk7Cgl9CgoJLyoqCgkgKiBHZW5lcmF0ZSBDU1YgYmFzZWQgc3RyaW5nIGZvciBvdXRwdXQKCSAqIEBwYXJhbSAgIGZpbGVuYW1lICAgIGlmIHNwZWNpZmllZCwgaGVhZGVycyBhbmQgZGF0YSB3aWxsIGJlIG91dHB1dCBkaXJlY3RseSB0byBicm93c2VyIGFzIGEgZG93bmxvYWJsZSBmaWxlCgkgKiBAcGFyYW0gICBkYXRhICAgICAgICAyRCBhcnJheSB3aXRoIGRhdGEKCSAqIEBwYXJhbSAgIGZpZWxkcyAgICAgIGZpZWxkIG5hbWVzCgkgKiBAcGFyYW0gICBkZWxpbWl0ZXIgICBkZWxpbWl0ZXIgdXNlZCB0byBzZXBhcmF0ZSBkYXRhCgkgKiBAcmV0dXJuICBDU1YgZGF0YSB1c2luZyBkZWxpbWl0ZXIgb2YgY2hvaWNlLCBvciBkZWZhdWx0CgkgKi8KCWZ1bmN0aW9uIG91dHB1dCAoJGZpbGVuYW1lID0gbnVsbCwgJGRhdGEgPSBhcnJheSgpLCAkZmllbGRzID0gYXJyYXkoKSwgJGRlbGltaXRlciA9IG51bGwpIHsKCQlpZiAoIGVtcHR5KCRmaWxlbmFtZSkgKSAkZmlsZW5hbWUgPSAkdGhpcy0+b3V0cHV0X2ZpbGVuYW1lOwoJCWlmICggJGRlbGltaXRlciA9PT0gbnVsbCApICRkZWxpbWl0ZXIgPSAkdGhpcy0+b3V0cHV0X2RlbGltaXRlcjsKCQkkZGF0YSA9ICR0aGlzLT51bnBhcnNlKCRkYXRhLCAkZmllbGRzLCBudWxsLCBudWxsLCAkZGVsaW1pdGVyKTsKCQlpZiAoICRmaWxlbmFtZSAhPT0gbnVsbCApIHsKCQkJaGVhZGVyKCdDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2NzdicpOwoJCQloZWFkZXIoJ0NvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSInLiRmaWxlbmFtZS4nIicpOwoJCQllY2hvICRkYXRhOwoJCX0KCQlyZXR1cm4gJGRhdGE7Cgl9CgoJLyoqCgkgKiBDb252ZXJ0IGNoYXJhY3RlciBlbmNvZGluZwoJICogQHBhcmFtICAgaW5wdXQgICAgaW5wdXQgY2hhcmFjdGVyIGVuY29kaW5nLCB1c2VzIGRlZmF1bHQgaWYgbGVmdCBibGFuawoJICogQHBhcmFtICAgb3V0cHV0ICAgb3V0cHV0IGNoYXJhY3RlciBlbmNvZGluZywgdXNlcyBkZWZhdWx0IGlmIGxlZnQgYmxhbmsKCSAqIEByZXR1cm4gIG5vdGhpbmcKCSAqLwoJZnVuY3Rpb24gZW5jb2RpbmcgKCRpbnB1dCA9IG51bGwsICRvdXRwdXQgPSBudWxsKSB7CgkJJHRoaXMtPmNvbnZlcnRfZW5jb2RpbmcgPSB0cnVlOwoJCWlmICggJGlucHV0ICE9PSBudWxsICkgJHRoaXMtPmlucHV0X2VuY29kaW5nID0gJGlucHV0OwoJCWlmICggJG91dHB1dCAhPT0gbnVsbCApICR0aGlzLT5vdXRwdXRfZW5jb2RpbmcgPSAkb3V0cHV0OwoJfQoKCS8qKgoJICogQXV0by1EZXRlY3QgRGVsaW1pdGVyOiBGaW5kIGRlbGltaXRlciBieSBhbmFseXppbmcgYSBzcGVjaWZpYyBudW1iZXIgb2YKCSAqIHJvd3MgdG8gZGV0ZXJtaW5lIG1vc3QgcHJvYmFibGUgZGVsaW1pdGVyIGNoYXJhY3RlcgoJICogQHBhcmFtICAgZmlsZSAgICAgICAgICAgbG9jYWwgQ1NWIGZpbGUKCSAqIEBwYXJhbSAgIHBhcnNlICAgICAgICAgIHRydWUvZmFsc2UgcGFyc2UgZmlsZSBkaXJlY3RseQoJICogQHBhcmFtICAgc2VhcmNoX2RlcHRoICAgbnVtYmVyIG9mIHJvd3MgdG8gYW5hbHl6ZQoJICogQHBhcmFtICAgcHJlZmVycmVkICAgICAgcHJlZmVycmVkIGRlbGltaXRlciBjaGFyYWN0ZXJzCgkgKiBAcGFyYW0gICBlbmNsb3N1cmUgICAgICBlbmNsb3N1cmUgY2hhcmFjdGVyLCBkZWZhdWx0IGlzIGRvdWJsZSBxdW90ZSAoIikuCgkgKiBAcmV0dXJuICBkZWxpbWl0ZXIgY2hhcmFjdGVyCgkgKi8KCWZ1bmN0aW9uIGF1dG8gKCRmaWxlID0gbnVsbCwgJHBhcnNlID0gdHJ1ZSwgJHNlYXJjaF9kZXB0aCA9IG51bGwsICRwcmVmZXJyZWQgPSBudWxsLCAkZW5jbG9zdXJlID0gbnVsbCkgewoKCQlpZiAoICRmaWxlID09PSBudWxsICkgJGZpbGUgPSAkdGhpcy0+ZmlsZTsKCQlpZiAoIGVtcHR5KCRzZWFyY2hfZGVwdGgpICkgJHNlYXJjaF9kZXB0aCA9ICR0aGlzLT5hdXRvX2RlcHRoOwoJCWlmICggJGVuY2xvc3VyZSA9PT0gbnVsbCApICRlbmNsb3N1cmUgPSAkdGhpcy0+ZW5jbG9zdXJlOwoKCQlpZiAoICRwcmVmZXJyZWQgPT09IG51bGwgKSAkcHJlZmVycmVkID0gJHRoaXMtPmF1dG9fcHJlZmVycmVkOwoKCQlpZiAoIGVtcHR5KCR0aGlzLT5maWxlX2RhdGEpICkgewoJCQlpZiAoICR0aGlzLT5fY2hlY2tfZGF0YSgkZmlsZSkgKSB7CgkJCQkkZGF0YSA9ICYkdGhpcy0+ZmlsZV9kYXRhOwoJCQl9IGVsc2UgcmV0dXJuIGZhbHNlOwoJCX0gZWxzZSB7CgkJCSRkYXRhID0gJiR0aGlzLT5maWxlX2RhdGE7CgkJfQoKCQkkY2hhcnMgPSBhcnJheSgpOwoJCSRzdHJsZW4gPSBzdHJsZW4oJGRhdGEpOwoJCSRlbmNsb3NlZCA9IGZhbHNlOwoJCSRuID0gMTsKCQkkdG9fZW5kID0gdHJ1ZTsKCgkJLy8gd2FsayBzcGVjaWZpYyBkZXB0aCBmaW5kaW5nIHBvc3NzaWJsZSBkZWxpbWl0ZXIgY2hhcmFjdGVycwoJCWZvciAoICRpPTA7ICRpIDwgJHN0cmxlbjsgJGkrKyApIHsKCQkJJGNoID0gJGRhdGF7JGl9OwoJCQkkbmNoID0gKCBpc3NldCgkZGF0YXskaSsxfSkgKSA/ICRkYXRheyRpKzF9IDogZmFsc2UgOwoJCQkkcGNoID0gKCBpc3NldCgkZGF0YXskaS0xfSkgKSA/ICRkYXRheyRpLTF9IDogZmFsc2UgOwoKCQkJLy8gb3BlbiBhbmQgY2xvc2luZyBxdW90ZXMKCQkJaWYgKCAkY2ggPT0gJGVuY2xvc3VyZSApIHsKCQkJCWlmICggISRlbmNsb3NlZCB8fCAkbmNoICE9ICRlbmNsb3N1cmUgKSB7CgkJCQkJJGVuY2xvc2VkID0gKCAkZW5jbG9zZWQgKSA/IGZhbHNlIDogdHJ1ZSA7CgkJCQl9IGVsc2VpZiAoICRlbmNsb3NlZCApIHsKCQkJCQkkaSsrOwoJCQkJfQoKCQkJLy8gZW5kIG9mIHJvdwoJCQl9IGVsc2VpZiAoICgkY2ggPT0gIlxuIiAmJiAkcGNoICE9ICJcciIgfHwgJGNoID09ICJcciIpICYmICEkZW5jbG9zZWQgKSB7CgkJCQlpZiAoICRuID49ICRzZWFyY2hfZGVwdGggKSB7CgkJCQkJJHN0cmxlbiA9IDA7CgkJCQkJJHRvX2VuZCA9IGZhbHNlOwoJCQkJfSBlbHNlIHsKCQkJCQkkbisrOwoJCQkJfQoKCQkJLy8gY291bnQgY2hhcmFjdGVyCgkJCX0gZWxzZWlmICghJGVuY2xvc2VkKSB7CgkJCQlpZiAoICFwcmVnX21hdGNoKCcvWycucHJlZ19xdW90ZSgkdGhpcy0+YXV0b19ub25fY2hhcnMsICcvJykuJ10vaScsICRjaCkgKSB7CgkJCQkJaWYgKCAhaXNzZXQoJGNoYXJzWyRjaF1bJG5dKSApIHsKCQkJCQkJJGNoYXJzWyRjaF1bJG5dID0gMTsKCQkJCQl9IGVsc2UgewoJCQkJCQkkY2hhcnNbJGNoXVskbl0rKzsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgoJCS8vIGZpbHRlcmluZwoJCSRkZXB0aCA9ICggJHRvX2VuZCApID8gJG4tMSA6ICRuIDsKCQkkZmlsdGVyZWQgPSBhcnJheSgpOwoJCWZvcmVhY2goICRjaGFycyBhcyAkY2hhciA9PiAkdmFsdWUgKSB7CgkJCWlmICggJG1hdGNoID0gJHRoaXMtPl9jaGVja19jb3VudCgkY2hhciwgJHZhbHVlLCAkZGVwdGgsICRwcmVmZXJyZWQpICkgewoJCQkJJGZpbHRlcmVkWyRtYXRjaF0gPSAkY2hhcjsKCQkJfQoJCX0KCgkJLy8gY2FwdHVyZSBtb3N0IHByb2JhYmxlIGRlbGltaXRlcgoJCWtzb3J0KCRmaWx0ZXJlZCk7CgkJJHRoaXMtPmRlbGltaXRlciA9IHJlc2V0KCRmaWx0ZXJlZCk7CgoJCS8vIHBhcnNlIGRhdGEKCQlpZiAoICRwYXJzZSApICR0aGlzLT5kYXRhID0gJHRoaXMtPnBhcnNlX3N0cmluZygpOwoKCQlyZXR1cm4gJHRoaXMtPmRlbGltaXRlcjsKCgl9CgoKCS8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCS8vIC0tLS0tIFsgQ29yZSBGdW5jdGlvbnMgXSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCgkvKioKCSAqIFJlYWQgZmlsZSB0byBzdHJpbmcgYW5kIGNhbGwgcGFyc2Vfc3RyaW5nKCkKCSAqIEBwYXJhbSAgIGZpbGUgICBsb2NhbCBDU1YgZmlsZQoJICogQHJldHVybiAgMkQgYXJyYXkgd2l0aCBDU1YgZGF0YSwgb3IgZmFsc2Ugb24gZmFpbHVyZQoJICovCglmdW5jdGlvbiBwYXJzZV9maWxlICgkZmlsZSA9IG51bGwpIHsKCQlpZiAoICRmaWxlID09PSBudWxsICkgJGZpbGUgPSAkdGhpcy0+ZmlsZTsKCQlpZiAoIGVtcHR5KCR0aGlzLT5maWxlX2RhdGEpICkgJHRoaXMtPmxvYWRfZGF0YSgkZmlsZSk7CgkJcmV0dXJuICggIWVtcHR5KCR0aGlzLT5maWxlX2RhdGEpICkgPyAkdGhpcy0+cGFyc2Vfc3RyaW5nKCkgOiBmYWxzZSA7Cgl9CgoJLyoqCgkgKiBQYXJzZSBDU1Ygc3RyaW5ncyB0byBhcnJheXMKCSAqIEBwYXJhbSAgIGRhdGEgICBDU1Ygc3RyaW5nCgkgKiBAcmV0dXJuICAyRCBhcnJheSB3aXRoIENTViBkYXRhLCBvciBmYWxzZSBvbiBmYWlsdXJlCgkgKi8KCWZ1bmN0aW9uIHBhcnNlX3N0cmluZyAoJGRhdGEgPSBudWxsKSB7CgkJaWYgKCBlbXB0eSgkZGF0YSkgKSB7CgkJCWlmICggJHRoaXMtPl9jaGVja19kYXRhKCkgKSB7CgkJCQkkZGF0YSA9ICYkdGhpcy0+ZmlsZV9kYXRhOwoJCQl9IGVsc2UgcmV0dXJuIGZhbHNlOwoJCX0KCgkJJHdoaXRlX3NwYWNlcyA9IHN0cl9yZXBsYWNlKCR0aGlzLT5kZWxpbWl0ZXIsICcnLCAiIFx0XHgwQlwwIik7CgoJCSRyb3dzID0gYXJyYXkoKTsKCQkkcm93ID0gYXJyYXkoKTsKCQkkcm93X2NvdW50ID0gMDsKCQkkY3VycmVudCA9ICcnOwoJCSRoZWFkID0gKCAhZW1wdHkoJHRoaXMtPmZpZWxkcykgKSA/ICR0aGlzLT5maWVsZHMgOiBhcnJheSgpIDsKCQkkY29sID0gMDsKCQkkZW5jbG9zZWQgPSBmYWxzZTsKCQkkd2FzX2VuY2xvc2VkID0gZmFsc2U7CgkJJHN0cmxlbiA9IHN0cmxlbigkZGF0YSk7CgoJCS8vIHdhbGsgdGhyb3VnaCBlYWNoIGNoYXJhY3RlcgoJCWZvciAoICRpPTA7ICRpIDwgJHN0cmxlbjsgJGkrKyApIHsKCQkJJGNoID0gJGRhdGF7JGl9OwoJCQkkbmNoID0gKCBpc3NldCgkZGF0YXskaSsxfSkgKSA/ICRkYXRheyRpKzF9IDogZmFsc2UgOwoJCQkkcGNoID0gKCBpc3NldCgkZGF0YXskaS0xfSkgKSA/ICRkYXRheyRpLTF9IDogZmFsc2UgOwoKCQkJLy8gb3Blbi9jbG9zZSBxdW90ZXMsIGFuZCBpbmxpbmUgcXVvdGVzCgkJCWlmICggJGNoID09ICR0aGlzLT5lbmNsb3N1cmUgKSB7CgkJCQlpZiAoICEkZW5jbG9zZWQgKSB7CgkJCQkJaWYgKCBsdHJpbSgkY3VycmVudCwgJHdoaXRlX3NwYWNlcykgPT0gJycgKSB7CgkJCQkJCSRlbmNsb3NlZCA9IHRydWU7CgkJCQkJCSR3YXNfZW5jbG9zZWQgPSB0cnVlOwoJCQkJCX0gZWxzZSB7CgkJCQkJCSR0aGlzLT5lcnJvciA9IDI7CgkJCQkJCSRlcnJvcl9yb3cgPSBjb3VudCgkcm93cykgKyAxOwoJCQkJCQkkZXJyb3JfY29sID0gJGNvbCArIDE7CgkJCQkJCWlmICggIWlzc2V0KCR0aGlzLT5lcnJvcl9pbmZvWyRlcnJvcl9yb3cuJy0nLiRlcnJvcl9jb2xdKSApIHsKCQkJCQkJCSR0aGlzLT5lcnJvcl9pbmZvWyRlcnJvcl9yb3cuJy0nLiRlcnJvcl9jb2xdID0gYXJyYXkoCgkJCQkJCQkJJ3R5cGUnID0+IDIsCgkJCQkJCQkJJ2luZm8nID0+ICdTeW50YXggZXJyb3IgZm91bmQgb24gcm93ICcuJGVycm9yX3Jvdy4nLiBOb24tZW5jbG9zZWQgZmllbGRzIGNhbiBub3QgY29udGFpbiBkb3VibGUtcXVvdGVzLicsCgkJCQkJCQkJJ3JvdycgPT4gJGVycm9yX3JvdywKCQkJCQkJCQknZmllbGQnID0+ICRlcnJvcl9jb2wsCgkJCQkJCQkJJ2ZpZWxkX25hbWUnID0+ICghZW1wdHkoJGhlYWRbJGNvbF0pKSA/ICRoZWFkWyRjb2xdIDogbnVsbCwKCQkJCQkJCSk7CgkJCQkJCX0KCQkJCQkJJGN1cnJlbnQgLj0gJGNoOwoJCQkJCX0KCQkJCX0gZWxzZWlmICgkbmNoID09ICR0aGlzLT5lbmNsb3N1cmUpIHsKCQkJCQkkY3VycmVudCAuPSAkY2g7CgkJCQkJJGkrKzsKCQkJCX0gZWxzZWlmICggJG5jaCAhPSAkdGhpcy0+ZGVsaW1pdGVyICYmICRuY2ggIT0gIlxyIiAmJiAkbmNoICE9ICJcbiIgKSB7CgkJCQkJZm9yICggJHg9KCRpKzEpOyBpc3NldCgkZGF0YXskeH0pICYmIGx0cmltKCRkYXRheyR4fSwgJHdoaXRlX3NwYWNlcykgPT0gJyc7ICR4KysgKSB7fQoJCQkJCWlmICggJGRhdGF7JHh9ID09ICR0aGlzLT5kZWxpbWl0ZXIgKSB7CgkJCQkJCSRlbmNsb3NlZCA9IGZhbHNlOwoJCQkJCQkkaSA9ICR4OwoJCQkJCX0gZWxzZSB7CgkJCQkJCWlmICggJHRoaXMtPmVycm9yIDwgMSApIHsKCQkJCQkJCSR0aGlzLT5lcnJvciA9IDE7CgkJCQkJCX0KCQkJCQkJJGVycm9yX3JvdyA9IGNvdW50KCRyb3dzKSArIDE7CgkJCQkJCSRlcnJvcl9jb2wgPSAkY29sICsgMTsKCQkJCQkJaWYgKCAhaXNzZXQoJHRoaXMtPmVycm9yX2luZm9bJGVycm9yX3Jvdy4nLScuJGVycm9yX2NvbF0pICkgewoJCQkJCQkJJHRoaXMtPmVycm9yX2luZm9bJGVycm9yX3Jvdy4nLScuJGVycm9yX2NvbF0gPSBhcnJheSgKCQkJCQkJCQkndHlwZScgPT4gMSwKCQkJCQkJCQknaW5mbycgPT4KCQkJCQkJCQkJJ1N5bnRheCBlcnJvciBmb3VuZCBvbiByb3cgJy4oY291bnQoJHJvd3MpICsgMSkuJy4gJy4KCQkJCQkJCQkJJ0Egc2luZ2xlIGRvdWJsZS1xdW90ZSB3YXMgZm91bmQgd2l0aGluIGFuIGVuY2xvc2VkIHN0cmluZy4gJy4KCQkJCQkJCQkJJ0VuY2xvc2VkIGRvdWJsZS1xdW90ZXMgbXVzdCBiZSBlc2NhcGVkIHdpdGggYSBzZWNvbmQgZG91YmxlLXF1b3RlLicsCgkJCQkJCQkJJ3JvdycgPT4gY291bnQoJHJvd3MpICsgMSwKCQkJCQkJCQknZmllbGQnID0+ICRjb2wgKyAxLAoJCQkJCQkJCSdmaWVsZF9uYW1lJyA9PiAoIWVtcHR5KCRoZWFkWyRjb2xdKSkgPyAkaGVhZFskY29sXSA6IG51bGwsCgkJCQkJCQkpOwoJCQkJCQl9CgkJCQkJCSRjdXJyZW50IC49ICRjaDsKCQkJCQkJJGVuY2xvc2VkID0gZmFsc2U7CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQkkZW5jbG9zZWQgPSBmYWxzZTsKCQkJCX0KCgkJCS8vIGVuZCBvZiBmaWVsZC9yb3cKCQkJfSBlbHNlaWYgKCAoJGNoID09ICR0aGlzLT5kZWxpbWl0ZXIgfHwgJGNoID09ICJcbiIgfHwgJGNoID09ICJcciIpICYmICEkZW5jbG9zZWQgKSB7CgkJCQkka2V5ID0gKCAhZW1wdHkoJGhlYWRbJGNvbF0pICkgPyAkaGVhZFskY29sXSA6ICRjb2wgOwoJCQkJJGtleSA9IHN0cnRvbG93ZXIoc3RyX3JlcGxhY2UoIiAiLCAiXyIsICRrZXkpKTsKCQkJCSRyb3dbJGtleV0gPSAoICR3YXNfZW5jbG9zZWQgKSA/ICRjdXJyZW50IDogdHJpbSgkY3VycmVudCkgOwoJCQkJJGN1cnJlbnQgPSAnJzsKCQkJCSR3YXNfZW5jbG9zZWQgPSBmYWxzZTsKCQkJCSRjb2wrKzsKCgkJCQkvLyBlbmQgb2Ygcm93CgkJCQlpZiAoICRjaCA9PSAiXG4iIHx8ICRjaCA9PSAiXHIiICkgewoJCQkJCWlmICggJHRoaXMtPl92YWxpZGF0ZV9vZmZzZXQoJHJvd19jb3VudCkgJiYgJHRoaXMtPl92YWxpZGF0ZV9yb3dfY29uZGl0aW9ucygkcm93LCAkdGhpcy0+Y29uZGl0aW9ucykgKSB7CgkJCQkJCWlmICggJHRoaXMtPmhlYWRpbmcgJiYgZW1wdHkoJGhlYWQpICkgewoJCQkJCQkJJGhlYWQgPSAkcm93OwoJCQkJCQl9IGVsc2VpZiAoIGVtcHR5KCR0aGlzLT5maWVsZHMpIHx8ICghZW1wdHkoJHRoaXMtPmZpZWxkcykgJiYgKCgkdGhpcy0+aGVhZGluZyAmJiAkcm93X2NvdW50ID4gMCkgfHwgISR0aGlzLT5oZWFkaW5nKSkgKSB7CgkJCQkJCQlpZiAoICFlbXB0eSgkdGhpcy0+c29ydF9ieSkgJiYgIWVtcHR5KCRyb3dbJHRoaXMtPnNvcnRfYnldKSApIHsKCQkJCQkJCQlpZiAoIGlzc2V0KCRyb3dzWyRyb3dbJHRoaXMtPnNvcnRfYnldXSkgKSB7CgkJCQkJCQkJCSRyb3dzWyRyb3dbJHRoaXMtPnNvcnRfYnldLidfMCddID0gJiRyb3dzWyRyb3dbJHRoaXMtPnNvcnRfYnldXTsKCQkJCQkJCQkJdW5zZXQoJHJvd3NbJHJvd1skdGhpcy0+c29ydF9ieV1dKTsKCQkJCQkJCQkJZm9yICggJHNuPTE7IGlzc2V0KCRyb3dzWyRyb3dbJHRoaXMtPnNvcnRfYnldLidfJy4kc25dKTsgJHNuKysgKSB7fQoJCQkJCQkJCQkkcm93c1skcm93WyR0aGlzLT5zb3J0X2J5XS4nXycuJHNuXSA9ICRyb3c7CgkJCQkJCQkJfSBlbHNlICRyb3dzWyRyb3dbJHRoaXMtPnNvcnRfYnldXSA9ICRyb3c7CgkJCQkJCQl9IGVsc2UgJHJvd3NbXSA9ICRyb3c7CgkJCQkJCX0KCQkJCQl9CgkJCQkJJHJvdyA9IGFycmF5KCk7CgkJCQkJJGNvbCA9IDA7CgkJCQkJJHJvd19jb3VudCsrOwoJCQkJCWlmICggJHRoaXMtPnNvcnRfYnkgPT09IG51bGwgJiYgJHRoaXMtPmxpbWl0ICE9PSBudWxsICYmIGNvdW50KCRyb3dzKSA9PSAkdGhpcy0+bGltaXQgKSB7CgkJCQkJCSRpID0gJHN0cmxlbjsKCQkJCQl9CgkJCQkJaWYgKCAkY2ggPT0gIlxyIiAmJiAkbmNoID09ICJcbiIgKSAkaSsrOwoJCQkJfQoKCQkJLy8gYXBwZW5kIGNoYXJhY3RlciB0byBjdXJyZW50IGZpZWxkCgkJCX0gZWxzZSB7CgkJCQkkY3VycmVudCAuPSAkY2g7CgkJCX0KCQl9CgkJJHRoaXMtPnRpdGxlcyA9ICRoZWFkOwoJCWlmICggIWVtcHR5KCR0aGlzLT5zb3J0X2J5KSApIHsKCQkJJHNvcnRfdHlwZSA9IFNPUlRfUkVHVUxBUjsKCQkJaWYgKCAkdGhpcy0+c29ydF90eXBlID09ICdudW1lcmljJyApIHsKCQkJCSRzb3J0X3R5cGUgPSBTT1JUX05VTUVSSUM7CgkJCX0gZWxzZWlmICggJHRoaXMtPnNvcnRfdHlwZSA9PSAnc3RyaW5nJyApIHsKCQkJCSRzb3J0X3R5cGUgPSBTT1JUX1NUUklORzsKCQkJfQoJCQkoICR0aGlzLT5zb3J0X3JldmVyc2UgKSA/IGtyc29ydCgkcm93cywgJHNvcnRfdHlwZSkgOiBrc29ydCgkcm93cywgJHNvcnRfdHlwZSkgOwoJCQlpZiAoICR0aGlzLT5vZmZzZXQgIT09IG51bGwgfHwgJHRoaXMtPmxpbWl0ICE9PSBudWxsICkgewoJCQkJJHJvd3MgPSBhcnJheV9zbGljZSgkcm93cywgKCR0aGlzLT5vZmZzZXQgPT09IG51bGwgPyAwIDogJHRoaXMtPm9mZnNldCkgLCAkdGhpcy0+bGltaXQsIHRydWUpOwoJCQl9CgkJfQoJCWlmICggISR0aGlzLT5rZWVwX2ZpbGVfZGF0YSApIHsKCQkJJHRoaXMtPmZpbGVfZGF0YSA9IG51bGw7CgkJfQoJCXJldHVybiAkcm93czsKCX0KCgkvKioKCSAqIENyZWF0ZSBDU1YgZGF0YSBmcm9tIGFycmF5CgkgKiBAcGFyYW0gICBkYXRhICAgICAgICAyRCBhcnJheSB3aXRoIGRhdGEKCSAqIEBwYXJhbSAgIGZpZWxkcyAgICAgIGZpZWxkIG5hbWVzCgkgKiBAcGFyYW0gICBhcHBlbmQgICAgICBpZiB0cnVlLCBmaWVsZCBuYW1lcyB3aWxsIG5vdCBiZSBvdXRwdXQKCSAqIEBwYXJhbSAgIGlzX3BocCAgICAgIGlmIGEgcGhwIGRpZSgpIGNhbGwgc2hvdWxkIGJlIHB1dCBvbiB0aGUgZmlyc3QKCSAqICAgICAgICAgICAgICAgICAgICAgIGxpbmUgb2YgdGhlIGZpbGUsIHRoaXMgaXMgbGF0ZXIgaWdub3JlZCB3aGVuIHJlYWQuCgkgKiBAcGFyYW0gICBkZWxpbWl0ZXIgICBmaWVsZCBkZWxpbWl0ZXIgdG8gdXNlCgkgKiBAcmV0dXJuICBDU1YgZGF0YSAodGV4dCBzdHJpbmcpCgkgKi8KCWZ1bmN0aW9uIHVucGFyc2UgKCAkZGF0YSA9IGFycmF5KCksICRmaWVsZHMgPSBhcnJheSgpLCAkYXBwZW5kID0gZmFsc2UgLCAkaXNfcGhwID0gZmFsc2UsICRkZWxpbWl0ZXIgPSBudWxsKSB7CgkJaWYgKCAhaXNfYXJyYXkoJGRhdGEpIHx8IGVtcHR5KCRkYXRhKSApICRkYXRhID0gJiR0aGlzLT5kYXRhOwoJCWlmICggIWlzX2FycmF5KCRmaWVsZHMpIHx8IGVtcHR5KCRmaWVsZHMpICkgJGZpZWxkcyA9ICYkdGhpcy0+dGl0bGVzOwoJCWlmICggJGRlbGltaXRlciA9PT0gbnVsbCApICRkZWxpbWl0ZXIgPSAkdGhpcy0+ZGVsaW1pdGVyOwoKCQkkc3RyaW5nID0gKCAkaXNfcGhwICkgPyAiPD9waHAgaGVhZGVyKCdTdGF0dXM6IDQwMycpOyBkaWUoJyAnKTsgPz4iLiR0aGlzLT5saW5lZmVlZCA6ICcnIDsKCQkkZW50cnkgPSBhcnJheSgpOwoKCQkvLyBjcmVhdGUgaGVhZGluZwoJCWlmICggJHRoaXMtPmhlYWRpbmcgJiYgISRhcHBlbmQgJiYgIWVtcHR5KCRmaWVsZHMpICkgewoJCQlmb3JlYWNoKCAkZmllbGRzIGFzICRrZXkgPT4gJHZhbHVlICkgewoJCQkJJGVudHJ5W10gPSAkdGhpcy0+X2VuY2xvc2VfdmFsdWUoJHZhbHVlKTsKCQkJfQoJCQkkc3RyaW5nIC49IGltcGxvZGUoJGRlbGltaXRlciwgJGVudHJ5KS4kdGhpcy0+bGluZWZlZWQ7CgkJCSRlbnRyeSA9IGFycmF5KCk7CgkJfQoKCQkvLyBjcmVhdGUgZGF0YQoJCWZvcmVhY2goICRkYXRhIGFzICRrZXkgPT4gJHJvdyApIHsKCQkJZm9yZWFjaCggJHJvdyBhcyAkZmllbGQgPT4gJHZhbHVlICkgewoJCQkJJGVudHJ5W10gPSAkdGhpcy0+X2VuY2xvc2VfdmFsdWUoJHZhbHVlKTsKCQkJfQoJCQkkc3RyaW5nIC49IGltcGxvZGUoJGRlbGltaXRlciwgJGVudHJ5KS4kdGhpcy0+bGluZWZlZWQ7CgkJCSRlbnRyeSA9IGFycmF5KCk7CgkJfQoKCQlyZXR1cm4gJHN0cmluZzsKCX0KCgkvKioKCSAqIExvYWQgbG9jYWwgZmlsZSBvciBzdHJpbmcKCSAqIEBwYXJhbSAgIGlucHV0ICAgbG9jYWwgQ1NWIGZpbGUKCSAqIEByZXR1cm4gIHRydWUgb3IgZmFsc2UKCSAqLwoJZnVuY3Rpb24gbG9hZF9kYXRhICgkaW5wdXQgPSBudWxsKSB7CgkJJGRhdGEgPSBudWxsOwoJCSRmaWxlID0gbnVsbDsKCQlpZiAoICRpbnB1dCA9PT0gbnVsbCApIHsKCQkJJGZpbGUgPSAkdGhpcy0+ZmlsZTsKCQl9IGVsc2VpZiAoIGZpbGVfZXhpc3RzKCRpbnB1dCkgKSB7CgkJCSRmaWxlID0gJGlucHV0OwoJCX0gZWxzZSB7CgkJCSRkYXRhID0gJGlucHV0OwoJCX0KCQlpZiAoICFlbXB0eSgkZGF0YSkgfHwgJGRhdGEgPSAkdGhpcy0+X3JmaWxlKCRmaWxlKSApIHsKCQkJaWYgKCAkdGhpcy0+ZmlsZSAhPSAkZmlsZSApICR0aGlzLT5maWxlID0gJGZpbGU7CgkJCWlmICggcHJlZ19tYXRjaCgnL1wucGhwJC9pJywgJGZpbGUpICYmIHByZWdfbWF0Y2goJy88XD8uKj9cPz4oLiopL2ltcycsICRkYXRhLCAkc3RyaXApICkgewoJCQkJJGRhdGEgPSBsdHJpbSgkc3RyaXBbMV0pOwoJCQl9CgkJCWlmICggJHRoaXMtPmNvbnZlcnRfZW5jb2RpbmcgKSAkZGF0YSA9IGljb252KCR0aGlzLT5pbnB1dF9lbmNvZGluZywgJHRoaXMtPm91dHB1dF9lbmNvZGluZywgJGRhdGEpOwoJCQlpZiAoIHN1YnN0cigkZGF0YSwgLTEpICE9ICJcbiIgKSAkZGF0YSAuPSAiXG4iOwoJCQkkdGhpcy0+ZmlsZV9kYXRhID0gJiRkYXRhOwoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQoKCgkvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgkvLyAtLS0tLSBbIEludGVybmFsIEZ1bmN0aW9ucyBdIC0tLS0tLS0tLS0tLS0tLS0tCgkvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoJLyoqCgkgKiBWYWxpZGF0ZSBhIHJvdyBhZ2FpbnN0IHNwZWNpZmllZCBjb25kaXRpb25zCgkgKiBAcGFyYW0gICByb3cgICAgICAgICAgYXJyYXkgd2l0aCB2YWx1ZXMgZnJvbSBhIHJvdwoJICogQHBhcmFtICAgY29uZGl0aW9ucyAgIHNwZWNpZmllZCBjb25kaXRpb25zIHRoYXQgdGhlIHJvdyBtdXN0IG1hdGNoCgkgKiBAcmV0dXJuICB0cnVlIG9mIGZhbHNlCgkgKi8KCWZ1bmN0aW9uIF92YWxpZGF0ZV9yb3dfY29uZGl0aW9ucyAoJHJvdyA9IGFycmF5KCksICRjb25kaXRpb25zID0gbnVsbCkgewoJCWlmICggIWVtcHR5KCRyb3cpICkgewoJCQlpZiAoICFlbXB0eSgkY29uZGl0aW9ucykgKSB7CgkJCQkkY29uZGl0aW9ucyA9IChzdHJwb3MoJGNvbmRpdGlvbnMsICcgT1IgJykgIT09IGZhbHNlKSA/IGV4cGxvZGUoJyBPUiAnLCAkY29uZGl0aW9ucykgOiBhcnJheSgkY29uZGl0aW9ucykgOwoJCQkJJG9yID0gJyc7CgkJCQlmb3JlYWNoKCAkY29uZGl0aW9ucyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKCQkJCQlpZiAoIHN0cnBvcygkdmFsdWUsICcgQU5EICcpICE9PSBmYWxzZSApIHsKCQkJCQkJJHZhbHVlID0gZXhwbG9kZSgnIEFORCAnLCAkdmFsdWUpOwoJCQkJCQkkYW5kID0gJyc7CgkJCQkJCWZvcmVhY2goICR2YWx1ZSBhcyAkayA9PiAkdiApIHsKCQkJCQkJCSRhbmQgLj0gJHRoaXMtPl92YWxpZGF0ZV9yb3dfY29uZGl0aW9uKCRyb3csICR2KTsKCQkJCQkJfQoJCQkJCQkkb3IgLj0gKHN0cnBvcygkYW5kLCAnMCcpICE9PSBmYWxzZSkgPyAnMCcgOiAnMScgOwoJCQkJCX0gZWxzZSB7CgkJCQkJCSRvciAuPSAkdGhpcy0+X3ZhbGlkYXRlX3Jvd19jb25kaXRpb24oJHJvdywgJHZhbHVlKTsKCQkJCQl9CgkJCQl9CgkJCQlyZXR1cm4gKHN0cnBvcygkb3IsICcxJykgIT09IGZhbHNlKSA/IHRydWUgOiBmYWxzZSA7CgkJCX0KCQkJcmV0dXJuIHRydWU7CgkJfQoJCXJldHVybiBmYWxzZTsKCX0KCgkvKioKCSAqIFZhbGlkYXRlIGEgcm93IGFnYWluc3QgYSBzaW5nbGUgY29uZGl0aW9uCgkgKiBAcGFyYW0gICByb3cgICAgICAgICAgYXJyYXkgd2l0aCB2YWx1ZXMgZnJvbSBhIHJvdwoJICogQHBhcmFtICAgY29uZGl0aW9uICAgc3BlY2lmaWVkIGNvbmRpdGlvbiB0aGF0IHRoZSByb3cgbXVzdCBtYXRjaAoJICogQHJldHVybiAgdHJ1ZSBvZiBmYWxzZQoJICovCglmdW5jdGlvbiBfdmFsaWRhdGVfcm93X2NvbmRpdGlvbiAoJHJvdywgJGNvbmRpdGlvbikgewoJCSRvcGVyYXRvcnMgPSBhcnJheSgKCQkJJz0nLCAnZXF1YWxzJywgJ2lzJywKCQkJJyE9JywgJ2lzIG5vdCcsCgkJCSc8JywgJ2lzIGxlc3MgdGhhbicsCgkJCSc+JywgJ2lzIGdyZWF0ZXIgdGhhbicsCgkJCSc8PScsICdpcyBsZXNzIHRoYW4gb3IgZXF1YWxzJywKCQkJJz49JywgJ2lzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbHMnLAoJCQknY29udGFpbnMnLAoJCQknZG9lcyBub3QgY29udGFpbicsCgkJKTsKCQkkb3BlcmF0b3JzX3JlZ2V4ID0gYXJyYXkoKTsKCQlmb3JlYWNoKCAkb3BlcmF0b3JzIGFzICR2YWx1ZSApIHsKCQkJJG9wZXJhdG9yc19yZWdleFtdID0gcHJlZ19xdW90ZSgkdmFsdWUsICcvJyk7CgkJfQoJCSRvcGVyYXRvcnNfcmVnZXggPSBpbXBsb2RlKCd8JywgJG9wZXJhdG9yc19yZWdleCk7CgkJaWYgKCBwcmVnX21hdGNoKCcvXiguKykgKCcuJG9wZXJhdG9yc19yZWdleC4nKSAoLispJC9pJywgdHJpbSgkY29uZGl0aW9uKSwgJGNhcHR1cmUpICkgewoJCQkkZmllbGQgPSAkY2FwdHVyZVsxXTsKCQkJJG9wID0gJGNhcHR1cmVbMl07CgkJCSR2YWx1ZSA9ICRjYXB0dXJlWzNdOwoJCQlpZiAoIHByZWdfbWF0Y2goJy9eKFtcJ1wiXXsxfSkoLiopKFtcJ1wiXXsxfSkkL2knLCAkdmFsdWUsICRjYXB0dXJlKSApIHsKCQkJCWlmICggJGNhcHR1cmVbMV0gPT0gJGNhcHR1cmVbM10gKSB7CgkJCQkJJHZhbHVlID0gJGNhcHR1cmVbMl07CgkJCQkJJHZhbHVlID0gc3RyX3JlcGxhY2UoIlxcbiIsICJcbiIsICR2YWx1ZSk7CgkJCQkJJHZhbHVlID0gc3RyX3JlcGxhY2UoIlxcciIsICJcciIsICR2YWx1ZSk7CgkJCQkJJHZhbHVlID0gc3RyX3JlcGxhY2UoIlxcdCIsICJcdCIsICR2YWx1ZSk7CgkJCQkJJHZhbHVlID0gc3RyaXBzbGFzaGVzKCR2YWx1ZSk7CgkJCQl9CgkJCX0KCQkJaWYgKCBhcnJheV9rZXlfZXhpc3RzKCRmaWVsZCwgJHJvdykgKSB7CgkJCQlpZiAoICgkb3AgPT0gJz0nIHx8ICRvcCA9PSAnZXF1YWxzJyB8fCAkb3AgPT0gJ2lzJykgJiYgJHJvd1skZmllbGRdID09ICR2YWx1ZSApIHsKCQkJCQlyZXR1cm4gJzEnOwoJCQkJfSBlbHNlaWYgKCAoJG9wID09ICchPScgfHwgJG9wID09ICdpcyBub3QnKSAmJiAkcm93WyRmaWVsZF0gIT0gJHZhbHVlICkgewoJCQkJCXJldHVybiAnMSc7CgkJCQl9IGVsc2VpZiAoICgkb3AgPT0gJzwnIHx8ICRvcCA9PSAnaXMgbGVzcyB0aGFuJyApICYmICRyb3dbJGZpZWxkXSA8ICR2YWx1ZSApIHsKCQkJCQlyZXR1cm4gJzEnOwoJCQkJfSBlbHNlaWYgKCAoJG9wID09ICc+JyB8fCAkb3AgPT0gJ2lzIGdyZWF0ZXIgdGhhbicpICYmICRyb3dbJGZpZWxkXSA+ICR2YWx1ZSApIHsKCQkJCQlyZXR1cm4gJzEnOwoJCQkJfSBlbHNlaWYgKCAoJG9wID09ICc8PScgfHwgJG9wID09ICdpcyBsZXNzIHRoYW4gb3IgZXF1YWxzJyApICYmICRyb3dbJGZpZWxkXSA8PSAkdmFsdWUgKSB7CgkJCQkJcmV0dXJuICcxJzsKCQkJCX0gZWxzZWlmICggKCRvcCA9PSAnPj0nIHx8ICRvcCA9PSAnaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFscycpICYmICRyb3dbJGZpZWxkXSA+PSAkdmFsdWUgKSB7CgkJCQkJcmV0dXJuICcxJzsKCQkJCX0gZWxzZWlmICggJG9wID09ICdjb250YWlucycgJiYgcHJlZ19tYXRjaCgnLycucHJlZ19xdW90ZSgkdmFsdWUsICcvJykuJy9pJywgJHJvd1skZmllbGRdKSApIHsKCQkJCQlyZXR1cm4gJzEnOwoJCQkJfSBlbHNlaWYgKCAkb3AgPT0gJ2RvZXMgbm90IGNvbnRhaW4nICYmICFwcmVnX21hdGNoKCcvJy5wcmVnX3F1b3RlKCR2YWx1ZSwgJy8nKS4nL2knLCAkcm93WyRmaWVsZF0pICkgewoJCQkJCXJldHVybiAnMSc7CgkJCQl9IGVsc2UgewoJCQkJCXJldHVybiAnMCc7CgkJCQl9CgkJCX0KCQl9CgkJcmV0dXJuICcxJzsKCX0KCgkvKioKCSAqIFZhbGlkYXRlcyBpZiB0aGUgcm93IGlzIHdpdGhpbiB0aGUgb2Zmc2V0IG9yIG5vdCBpZiBzb3J0aW5nIGlzIGRpc2FibGVkCgkgKiBAcGFyYW0gICBjdXJyZW50X3JvdyAgIHRoZSBjdXJyZW50IHJvdyBudW1iZXIgYmVpbmcgcHJvY2Vzc2VkCgkgKiBAcmV0dXJuICB0cnVlIG9mIGZhbHNlCgkgKi8KCWZ1bmN0aW9uIF92YWxpZGF0ZV9vZmZzZXQgKCRjdXJyZW50X3JvdykgewoJCWlmICggJHRoaXMtPnNvcnRfYnkgPT09IG51bGwgJiYgJHRoaXMtPm9mZnNldCAhPT0gbnVsbCAmJiAkY3VycmVudF9yb3cgPCAkdGhpcy0+b2Zmc2V0ICkgcmV0dXJuIGZhbHNlOwoJCXJldHVybiB0cnVlOwoJfQoKCS8qKgoJICogRW5jbG9zZSB2YWx1ZXMgaWYgbmVlZGVkCgkgKiAgLSBvbmx5IHVzZWQgYnkgdW5wYXJzZSgpCgkgKiBAcGFyYW0gICB2YWx1ZSAgIHN0cmluZyB0byBwcm9jZXNzCgkgKiBAcmV0dXJuICBQcm9jZXNzZWQgdmFsdWUKCSAqLwoJZnVuY3Rpb24gX2VuY2xvc2VfdmFsdWUgKCR2YWx1ZSA9IG51bGwpIHsKCQlpZiAoICR2YWx1ZSAhPT0gbnVsbCAmJiAkdmFsdWUgIT0gJycgKSB7CgkJCSRkZWxpbWl0ZXIgPSBwcmVnX3F1b3RlKCR0aGlzLT5kZWxpbWl0ZXIsICcvJyk7CgkJCSRlbmNsb3N1cmUgPSBwcmVnX3F1b3RlKCR0aGlzLT5lbmNsb3N1cmUsICcvJyk7CgkJCWlmICggcHJlZ19tYXRjaCgiLyIuJGRlbGltaXRlci4ifCIuJGVuY2xvc3VyZS4ifFxufFxyL2kiLCAkdmFsdWUpIHx8ICgkdmFsdWV7MH0gPT0gJyAnIHx8IHN1YnN0cigkdmFsdWUsIC0xKSA9PSAnICcpICkgewoJCQkJJHZhbHVlID0gc3RyX3JlcGxhY2UoJHRoaXMtPmVuY2xvc3VyZSwgJHRoaXMtPmVuY2xvc3VyZS4kdGhpcy0+ZW5jbG9zdXJlLCAkdmFsdWUpOwoJCQkJJHZhbHVlID0gJHRoaXMtPmVuY2xvc3VyZS4kdmFsdWUuJHRoaXMtPmVuY2xvc3VyZTsKCQkJfQoJCX0KCQlyZXR1cm4gJHZhbHVlOwoJfQoKCS8qKgoJICogQ2hlY2sgZmlsZSBkYXRhCgkgKiBAcGFyYW0gICBmaWxlICAgbG9jYWwgZmlsZW5hbWUKCSAqIEByZXR1cm4gIHRydWUgb3IgZmFsc2UKCSAqLwoJZnVuY3Rpb24gX2NoZWNrX2RhdGEgKCRmaWxlID0gbnVsbCkgewoJCWlmICggZW1wdHkoJHRoaXMtPmZpbGVfZGF0YSkgKSB7CgkJCWlmICggJGZpbGUgPT09IG51bGwgKSAkZmlsZSA9ICR0aGlzLT5maWxlOwoJCQlyZXR1cm4gJHRoaXMtPmxvYWRfZGF0YSgkZmlsZSk7CgkJfQoJCXJldHVybiB0cnVlOwoJfQoKCgkvKioKCSAqIENoZWNrIGlmIHBhc3NlZCBpbmZvIG1pZ2h0IGJlIGRlbGltaXRlcgoJICogIC0gb25seSB1c2VkIGJ5IGZpbmRfZGVsaW1pdGVyKCkKCSAqIEByZXR1cm4gIHNwZWNpYWwgc3RyaW5nIHVzZWQgZm9yIGRlbGltaXRlciBzZWxlY3Rpb24sIG9yIGZhbHNlCgkgKi8KCWZ1bmN0aW9uIF9jaGVja19jb3VudCAoJGNoYXIsICRhcnJheSwgJGRlcHRoLCAkcHJlZmVycmVkKSB7CgkJaWYgKCAkZGVwdGggPT0gY291bnQoJGFycmF5KSApIHsKCQkJJGZpcnN0ID0gbnVsbDsKCQkJJGVxdWFsID0gbnVsbDsKCQkJJGFsbW9zdCA9IGZhbHNlOwoJCQlmb3JlYWNoKCAkYXJyYXkgYXMgJGtleSA9PiAkdmFsdWUgKSB7CgkJCQlpZiAoICRmaXJzdCA9PSBudWxsICkgewoJCQkJCSRmaXJzdCA9ICR2YWx1ZTsKCQkJCX0gZWxzZWlmICggJHZhbHVlID09ICRmaXJzdCAmJiAkZXF1YWwgIT09IGZhbHNlKSB7CgkJCQkJJGVxdWFsID0gdHJ1ZTsKCQkJCX0gZWxzZWlmICggJHZhbHVlID09ICRmaXJzdCsxICYmICRlcXVhbCAhPT0gZmFsc2UgKSB7CgkJCQkJJGVxdWFsID0gdHJ1ZTsKCQkJCQkkYWxtb3N0ID0gdHJ1ZTsKCQkJCX0gZWxzZSB7CgkJCQkJJGVxdWFsID0gZmFsc2U7CgkJCQl9CgkJCX0KCQkJaWYgKCAkZXF1YWwgKSB7CgkJCQkkbWF0Y2ggPSAoICRhbG1vc3QgKSA/IDIgOiAxIDsKCQkJCSRwcmVmID0gc3RycG9zKCRwcmVmZXJyZWQsICRjaGFyKTsKCQkJCSRwcmVmID0gKCAkcHJlZiAhPT0gZmFsc2UgKSA/IHN0cl9wYWQoJHByZWYsIDMsICcwJywgU1RSX1BBRF9MRUZUKSA6ICc5OTknIDsKCQkJCXJldHVybiAkcHJlZi4kbWF0Y2guJy4nLig5OTk5OSAtIHN0cl9wYWQoJGZpcnN0LCA1LCAnMCcsIFNUUl9QQURfTEVGVCkpOwoJCQl9IGVsc2UgcmV0dXJuIGZhbHNlOwoJCX0KCX0KCgkvKioKCSAqIFJlYWQgbG9jYWwgZmlsZQoJICogQHBhcmFtICAgZmlsZSAgIGxvY2FsIGZpbGVuYW1lCgkgKiBAcmV0dXJuICBEYXRhIGZyb20gZmlsZSwgb3IgZmFsc2Ugb24gZmFpbHVyZQoJICovCglmdW5jdGlvbiBfcmZpbGUgKCRmaWxlID0gbnVsbCkgewoJCWlmICggaXNfcmVhZGFibGUoJGZpbGUpICkgewoJCQlpZiAoICEoJGZoID0gZm9wZW4oJGZpbGUsICdyJykpICkgcmV0dXJuIGZhbHNlOwoJCQkkZGF0YSA9IGZyZWFkKCRmaCwgZmlsZXNpemUoJGZpbGUpKTsKCQkJZmNsb3NlKCRmaCk7CgkJCXJldHVybiAkZGF0YTsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQoKCS8qKgoJICogV3JpdGUgdG8gbG9jYWwgZmlsZQoJICogQHBhcmFtICAgZmlsZSAgICAgbG9jYWwgZmlsZW5hbWUKCSAqIEBwYXJhbSAgIHN0cmluZyAgIGRhdGEgdG8gd3JpdGUgdG8gZmlsZQoJICogQHBhcmFtICAgbW9kZSAgICAgZm9wZW4oKSBtb2RlCgkgKiBAcGFyYW0gICBsb2NrICAgICBmbG9jaygpIG1vZGUKCSAqIEByZXR1cm4gIHRydWUgb3IgZmFsc2UKCSAqLwoJZnVuY3Rpb24gX3dmaWxlICgkZmlsZSwgJHN0cmluZyA9ICcnLCAkbW9kZSA9ICd3YicsICRsb2NrID0gMikgewoJCWlmICggJGZwID0gZm9wZW4oJGZpbGUsICRtb2RlKSApIHsKCQkJZmxvY2soJGZwLCAkbG9jayk7CgkJCSRyZSA9IGZ3cml0ZSgkZnAsICRzdHJpbmcpOwoJCQkkcmUyID0gZmNsb3NlKCRmcCk7CgkJCWlmICggJHJlICE9IGZhbHNlICYmICRyZTIgIT0gZmFsc2UgKSByZXR1cm4gdHJ1ZTsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQoKfQoK]]></data>
	</file>
	<file>
	  <filename>/lib/class.tbLogUpdater.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIHRiTG9nVXBkYXRlciB7CgoJcHVibGljIGZpbmFsIHN0YXRpYyBmdW5jdGlvbiBnZXRMb2dMaW5lcygkbG9nRmlsZSwgJHJhbmRvbWtleSwgJGxpbmVzID0gMjApIHsKCQkKCQlpZiAoIWlzX2ZpbGUoJGxvZ0ZpbGUpKSByZXR1cm4gJ0xvZ0ZpbGUgbm90IEZvdW5kJzsKCQkKCQlpZiAoZW1wdHkoJF9TRVNTSU9OKSkgewoJCQkkc2Vzc2lvbl9uYW1lID0gInRiTG9nVXBkYXRlciI7CgkJCXNlc3Npb25fbmFtZSgkc2Vzc2lvbl9uYW1lKTsKCQl9CgkJCgkJaWYgKCFpc3NldCgkX1NFU1NJT05bJ3RiTG9nVXBkYXRlcl8nLiRyYW5kb21rZXkuJ19UcyddKSBvciAkX1NFU1NJT05bJ3RiTG9nVXBkYXRlcl8nLiRyYW5kb21rZXkuJ19UcyddID09ICcnICkgewoJCQlyZXR1cm4gc2VsZjo6cmVhZExhc3RMb2dMaW5lcygkbG9nRmlsZSwgJHJhbmRvbWtleSwgJGxpbmVzKS4iXG4iOwoJCX0KCQllbHNlIHsKCQkJcmV0dXJuIHNlbGY6OnVwZGF0ZUxvZ0xpbmVzKCRsb2dGaWxlLCAkcmFuZG9ta2V5KTsJCgkJfQoJfQoJCgkvKioKCSAqIAoJICogYWt0dWFsaXNpZXJ0IG5hY2ggZ2VzcGVpY2hlcnRlbSBMb2dUaW1lU3RhbXAgZGFzIHRhaWwgbmFjaCDDhG5kZXJ1bmdlbgoJICogQHBhcmFtIHN0cmluZyAkbG9nRmlsZSAtIFBmYWQgenVtIExvZ2ZpbGUKCSAqIEBwYXJhbSBzdHJpbmcgJGtleSAtIHJhbmRvbSBrZXkgdW0gdmVyc2NoaWVkZW5lIFNlc3Npb25zIHRyZW5uZW4genUga8O2bm5lbgoJICovCgkKCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgZnVuY3Rpb24gdXBkYXRlTG9nTGluZXMoJGxvZ0ZpbGUsJGtleSkKCXsKCQkkbG9nZGF0YSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRsb2dGaWxlKTsKCQkkdXNlckxhc3RUcyA9IGlzc2V0KCRfU0VTU0lPTlsndGJMb2dVcGRhdGVyXycuJGtleS4nX1RzJ10pID8gJF9TRVNTSU9OWyd0YkxvZ1VwZGF0ZXJfJy4ka2V5LidfVHMnXSA6ICcnOwoJCWlmICghJHVzZXJMYXN0VHMpIHsgcmV0dXJuOwl9CgkKCQkkdHNzID0gc2VsZjo6Z2V0VGltZXN0YW1wcygkbG9nZGF0YSk7CgkJJGxhc3RUcyA9IGVuZCgkdHNzKTsKCQoJCWlmKCRsYXN0VHM9PW51bGwpIHsKCQkJcmV0dXJuICcnOwoJCX0KCQllbHNlIHsKCQkJJF9TRVNTSU9OWyd0YkxvZ1VwZGF0ZXJfJy4ka2V5LidfVHMnXSA9ICRsYXN0VHM7CgkJCXJldHVybiBzdWJzdHIoJGxvZ2RhdGEsIHN0cmlwb3MoJGxvZ2RhdGEsICRsYXN0VHMpKTsKCQl9Cgl9CgkKCS8qKgoJICogCgkgKiBFbnRlciBkZXNjcmlwdGlvbiBoZXJlIC4uLgoJICogQGJhc2UgaHR0cDovL3d3dy5waHBnYW5nc3RhLmRlL3RhZy9waHAtdGFpbAoJICogQHBhcmFtIHN0cmluZyAkbG9nRmlsZQoJICogQHBhcmFtIGludCAkbGluZXMKCSAqLwoKCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgZnVuY3Rpb24gcmVhZExhc3RMb2dMaW5lcygkbG9nRmlsZSwgJGtleSwgJGxpbmVzID0gMjApIHsKCSAgICAkaGFuZGxlID0gZm9wZW4oJGxvZ0ZpbGUsICJyIik7CgkgICAgaWYgKCEkaGFuZGxlKSB7CgkgICAgICAgIHJldHVybiBhcnJheSgpOwoJICAgIH0KCSAgICAkbGluZWNvdW50ZXIgPSAkbGluZXM7CgkgICAgJHBvcyA9IC0yOwoJICAgICRiZWdpbm5pbmcgPSBmYWxzZTsKCSAgICAkdGV4dCA9IGFycmF5KCk7CgkgICAgd2hpbGUgKCRsaW5lY291bnRlciA+IDApIHsKCSAgICAgICAgJHQgPSAiICI7CgkgICAgICAgIHdoaWxlICgkdCAhPSAiXG4iKSB7CgkgICAgICAgICAgICBpZihmc2VlaygkaGFuZGxlLCAkcG9zLCBTRUVLX0VORCkgPT0gLTEpIHsKCSAgICAgICAgICAgICAgICAkYmVnaW5uaW5nID0gdHJ1ZTsKCSAgICAgICAgICAgICAgICBicmVhazsKCSAgICAgICAgICAgIH0KCSAgICAgICAgICAgICR0ID0gZmdldGMoJGhhbmRsZSk7CgkgICAgICAgICAgICAkcG9zLS07CgkgICAgICAgIH0KCSAgICAgICAgJGxpbmVjb3VudGVyLS07CgkgICAgICAgIGlmICgkYmVnaW5uaW5nKSB7CgkgICAgICAgICAgICByZXdpbmQoJGhhbmRsZSk7CgkgICAgICAgIH0KCSAgICAgICAgJHRleHRbJGxpbmVzLSRsaW5lY291bnRlci0xXSA9IHN0cl9yZXBsYWNlKGFycmF5KCJcciIsICJcbiIsICJcdCIpLCAnJywgZmdldHMoJGhhbmRsZSkpOwoJICAgICAgICBpZiAoJGJlZ2lubmluZykgYnJlYWs7CgkgICAgfQoJICAgIGZjbG9zZSgkaGFuZGxlKTsKCSAgICAKCSAgICAkbGluZXMgPSBhcnJheV9yZXZlcnNlKCR0ZXh0KTsKCSAgICAkbG9nID0gaW1wbG9kZSgiXG4iLCRsaW5lcyk7CgkgICAgCgkgICAgJHRzID0gc2VsZjo6Z2V0VGltZXN0YW1wcygkbG9nKTsKCSAgICAkbGFzdFRzID0gZW5kKCR0cyk7CgkgICAgCgkgICAgaWYgKCRsYXN0VHMgPT0gbnVsbCkge30KCSAgICBlbHNlIHsKCSAgICAJJF9TRVNTSU9OWyd0YkxvZ1VwZGF0ZXJfJy4ka2V5LidfVHMnXSA9ICRsYXN0VHM7CgkgICAgfQoJICAgIAoJICAgIHJldHVybiAkbG9nOwoJfQoJICAKCXByaXZhdGUgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldFRpbWVzdGFtcHMoJHJhd19kYXRhKQoJewoJCSRyb3dzID0gcHJlZ19tYXRjaF9hbGwoJy8oWzAtOV0pezR9XC0oWzAtOV0pezJ9XC0oWzAtOV0pezJ9XHMoWzAtOV0pezJ9OihbMC05XSl7Mn06KFswLTldKXsyfS8nLCAkcmF3X2RhdGEsICRtYXRjaGVzKTsKCQlyZXR1cm4gJG1hdGNoZXNbMF07Cgl9CgkKfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.tbModuleOps.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmZpbmFsIGNsYXNzIHRiTW9kdWxlT3BzIHsKCQoJcHJpdmF0ZSAkbW9kdWxlOwoJcHJpdmF0ZSAkcHJlZnM7Cglwcml2YXRlICRldmVudHM7Cglwcml2YXRlICRkYjsKCXByaXZhdGUgJGNvbmZpZzsKCXByaXZhdGUgJHhtbF9leGNsdWRlX2ZpbGVzID0gYXJyYXkoJ15cLnN2bicgLCAnXkNWUyQnICwgJ15cIy4qXCMkJyAsICd+JCcsICdcLmJhayQnICk7Cglwcml2YXRlICR4bWxkdGQgPSAnCjwhRE9DVFlQRSBtb2R1bGUgWwogIDwhRUxFTUVOVCBtb2R1bGUgKGR0ZHZlcnNpb24sbmFtZSx2ZXJzaW9uLHByZWZlcmVuY2VzKixldmVudHMqLHRlbXBsYXRlcyosdGFibGVzKik+CiAgPCFFTEVNRU5UIGR0ZHZlcnNpb24gKCNQQ0RBVEEpPgogIDwhRUxFTUVOVCBuYW1lICgjUENEQVRBKT4KICA8IUVMRU1FTlQgdmVyc2lvbiAoI1BDREFUQSk+CiAgPCFFTEVNRU5UIHByZWZlcmVuY2VzICgjUENEQVRBKT4KICA8IUVMRU1FTlQgZXZlbnRzICgjUENEQVRBKT4KICA8IUVMRU1FTlQgdGVtcGxhdGVzICgjUENEQVRBKT4KICA8IUVMRU1FTlQgdGFibGVzICgjUENEQVRBKT4KXT4nOwoJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG1vZHVsZW5hbWUpIAoJewoJCSRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZW5hbWUpOwoJCWlmICghaXNfb2JqZWN0KCRtb2R1bGUpKQoJCQlyZXR1cm4gZmFsc2U7CgkJCQoJCSR0aGlzLT5kYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHRoaXMtPmNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwkKCgkJJHRoaXMtPm1vZHVsZSA9ICRtb2R1bGU7IAkKCX0KCQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGdldEN1cnJlbnRNb2R1bGUoKQoJewoJCXJldHVybiAkdGhpcy0+bW9kdWxlOwoJfQoJCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gZ2V0TW9kdWxlUHJlZnMoKQoJewoJCWlmICghaXNfb2JqZWN0KCR0aGlzLT5tb2R1bGUpKSByZXR1cm4gZmFsc2U7CgkJCgkJcmV0dXJuICR0aGlzLT5nZXRQcmVmcygpOwoJfQoJCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gZ2V0TW9kdWxlRXZlbnRzKCkKCXsKCQlpZiAoIWlzX29iamVjdCgkdGhpcy0+bW9kdWxlKSkgcmV0dXJuIGZhbHNlOwoJCQoJCXJldHVybiAkdGhpcy0+Z2V0RXZlbnRzKCk7Cgl9CgkKCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBnZXRNb2R1bGVUZW1wbGF0ZXMoKQoJewoJCWlmICghaXNfb2JqZWN0KCR0aGlzLT5tb2R1bGUpKSByZXR1cm4gZmFsc2U7CgkJCgkJcmV0dXJuICR0aGlzLT5nZXRUZW1wbGF0ZXMoKTsKCX0KCQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGdldE1vZHVsZVRhYmxlcygpCgl7CgkJaWYgKCFpc19vYmplY3QoJHRoaXMtPm1vZHVsZSkpIHJldHVybiBmYWxzZTsKCQkKCQlyZXR1cm4gJHRoaXMtPmdldFRhYmxlcygpOwoJfQoJCgkKCXByaXZhdGUgZmluYWwgZnVuY3Rpb24gZ2V0UHJlZnMoKQoJewoJCSRtb2QgPSAkdGhpcy0+bW9kdWxlOwoJCQoJCSRmaWx0ZXIgPSAkdGhpcy0+bW9kdWxlLT5HZXROYW1lKCkgLiAiX21hcGlfcHJlZl8iOwoKCQkkcXVlcnkgPSAnU0VMRUNUIHNpdGVwcmVmX25hbWUsc2l0ZXByZWZfdmFsdWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nc2l0ZXByZWZzIHdoZXJlIHNpdGVwcmVmX25hbWUgbGlrZSBcJycuJGZpbHRlci4nJVwnJzsKCQkkZGJyID0gJHRoaXMtPmRiLT5HZXRBcnJheSgkcXVlcnkpOwoJCWlmKCBpc19hcnJheSgkZGJyKSApCgkJewoJCQkkcHJlZnMgPSBhcnJheSgpOwoJCQlmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZGJyKTsgJGkrKyApCgkJCXsKCQkJCSRyb3cgPSAkZGJyWyRpXTsKCQkJCSRwcmVmc1tzdHJfcmVwbGFjZSgkZmlsdGVyLCAiIiwgJHJvd1snc2l0ZXByZWZfbmFtZSddKV0gPSAkcm93WydzaXRlcHJlZl92YWx1ZSddOwoJCQl9CgkJfQoJCQoJCXJldHVybiAkcHJlZnM7Cgl9CgkKCXByaXZhdGUgZmluYWwgZnVuY3Rpb24gZ2V0RXZlbnRzKCkKCXsKCQkkcSA9ICJTRUxFQ1Qgb3JpZ2luYXRvciwgZXZlbnRfbmFtZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJldmVudF9oYW5kbGVycyBpbm5lciBqb2luICIuY21zX2RiX3ByZWZpeCgpLiJldmVudHMgb24gIi5jbXNfZGJfcHJlZml4KCkuImV2ZW50cy5ldmVudF9pZCA9ICIuY21zX2RiX3ByZWZpeCgpLiJldmVudF9oYW5kbGVycy5ldmVudF9pZCAgV0hFUkUgbW9kdWxlX25hbWUgPSA/IjsKCQkkcGFyYW1zW10gPSAkdGhpcy0+bW9kdWxlLT5HZXROYW1lKCk7CgkJJHJlc3VsdCA9ICR0aGlzLT5kYi0+R2V0QWxsKCAkcSwgJHBhcmFtcyApOwoJCQoJCWlmICghJHJlc3VsdCkgcmV0dXJuIGZhbHNlOwoJCQoJCXJldHVybiAkcmVzdWx0OwkJCgl9CgkKCXByaXZhdGUgZmluYWwgZnVuY3Rpb24gZ2V0VGVtcGxhdGVzKCkKCXsKLy8KLy8JCSRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV90ZW1wbGF0ZXMgV0hFUkUgbW9kdWxlX25hbWUgPSA/IjsKLy8JCSRwYXJhbXNbXSA9ICR0aGlzLT5tb2R1bGUtPkdldE5hbWUoKTsKLy8JCSRyZXN1bHQgPSAkdGhpcy0+ZGItPkdldEFsbCggJHEsICRwYXJhbXMgKTsKLy8JCXJldHVybiAkcmVzdWx0OwkJCgkJCgkJJGFsbHRlbXBsYXRlcyA9ICR0aGlzLT5tb2R1bGUtPkxpc3RUZW1wbGF0ZXMoKTsKCQkKCQlpZiAoISRhbGx0ZW1wbGF0ZXMpIHJldHVybiBmYWxzZTsKCQlyZXR1cm4gJGFsbHRlbXBsYXRlczsKCX0KCglwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIGdldFRhYmxlcygpCgl7CgoJCSRxID0gIlNIT1cgVEFCTEVTIEZST00gIiAuICR0aGlzLT5jb25maWdbJ2RiX25hbWUnXTsKCQkkcGFyYW1zW10gPSAkdGhpcy0+bW9kdWxlLT5HZXROYW1lKCk7CgkJJHNob3d0YWJsZXMgPSAkdGhpcy0+ZGItPkdldEFsbCggJHEgKTsKCgkJJHRhYmxlcyA9IGFycmF5KCk7CgkJZm9yZWFjaCAoJHNob3d0YWJsZXMgYXMgJHRiICkgewoJCQlmb3JlYWNoKCR0YiBhcyAkdCkgewoJCQkJaWYgKHN0cnBvcygkdCxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV8nLnN0cnRvbG93ZXIoJHRoaXMtPm1vZHVsZS0+R2V0TmFtZSgpKSkgIT09IGZhbHNlKQoJCQkJCSR0YWJsZXNbJHRdID0gYXJyYXkoKTsKCQkJfQoJCX0KCQkKCQlmb3JlYWNoICgkdGFibGVzIGFzICR0YWJsZSA9PiAkZGF0YSkgewoJCQkkcSA9ICJTRUxFQ1QgKiBGUk9NICIgLiAkdGFibGU7CgkJCSRkYXRhID0gJHRoaXMtPmRiLT5HZXRBbGwoICRxICk7CgkJCSR0YWJsZXNbJHRhYmxlXSA9ICRkYXRhOwoJCX0KCQkKCQlyZXR1cm4gJHRhYmxlczsJCQoJCQoJfQoJCgkKCgkvLyBiYXNlZCBvbiBjbGFzcy5tb2R1bGVvcGVyYXRpb25zLmluYy5waHAKCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBDcmVhdGVYTUxQYWNrYWdlKCkKCXsKCQlpZiAoIWlzX29iamVjdCgkdGhpcy0+bW9kdWxlKSkgcmV0dXJuIGZhbHNlOwoJCQoJCS8vIGdldCBhIGZpbGUgbGlzdAovLwkJJGZpbGVjb3VudCA9IDA7Ci8vCQkkZGlyID0gZGlybmFtZShkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKSkuRElSRUNUT1JZX1NFUEFSQVRPUi4ibW9kdWxlcyIuRElSRUNUT1JZX1NFUEFSQVRPUi4kdGhpcy0+bW9kdWxlLT5HZXROYW1lKCk7Ci8vCQkkZmlsZXMgPSBnZXRfcmVjdXJzaXZlX2ZpbGVfbGlzdCggJGRpciwgJHRoaXMtPnhtbF9leGNsdWRlX2ZpbGVzICk7CgoJCSR4bWx0eHQgID0gJzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4nOwoJCSR4bWx0eHQgLj0gJHRoaXMtPnhtbGR0ZC4iXG4iOwoJCSR4bWx0eHQgLj0gIjxtb2R1bGU+XG4iOwoJCSR4bWx0eHQgLj0gIgk8ZHRkdmVyc2lvbj4iLk1PRFVMRV9EVERfVkVSU0lPTi4iPC9kdGR2ZXJzaW9uPlxuIjsKCQkkeG1sdHh0IC49ICIJPG5hbWU+Ii4kdGhpcy0+bW9kdWxlLT5HZXROYW1lKCkuIjwvbmFtZT5cbiI7CgkJJHhtbHR4dCAuPSAiCTx2ZXJzaW9uPiIuJHRoaXMtPm1vZHVsZS0+R2V0VmVyc2lvbigpLiI8L3ZlcnNpb24+XG4iOwoJCSR4bWx0eHQgLj0gIgk8cHJlZmVyZW5jZXM+Ii5iYXNlNjRfZW5jb2RlKHNlcmlhbGl6ZSgkdGhpcy0+Z2V0UHJlZnMoKSkpLiI8L3ByZWZlcmVuY2VzPlxuIjsKCQkkeG1sdHh0IC49ICIJPGV2ZW50cz4iLmJhc2U2NF9lbmNvZGUoc2VyaWFsaXplKCR0aGlzLT5nZXRFdmVudHMoKSkpLiI8L3ByZWY+XG4iOwoJCSR4bWx0eHQgLj0gIgk8dGVtcGxhdGVzPiIuYmFzZTY0X2VuY29kZShzZXJpYWxpemUoJHRoaXMtPmdldFRlbXBsYXRlcygpKSkuIjwvdGVtcGxhdGVzPlxuIjsKCQkkeG1sdHh0IC49ICIJPHRhYmxlcz4iLmJhc2U2NF9lbmNvZGUoc2VyaWFsaXplKCR0aGlzLT5nZXRUYWJsZXMoKSkpLiI8L3RhYmxlcz5cbiI7CgkJJHhtbHR4dCAuPSAiPC9tb2R1bGU+XG4iOwoJCSRtZXNzYWdlID0gJ1hNTCBwYWNrYWdlIG9mICcuc3RybGVuKCR4bWx0eHQpLicgYnl0ZXMgY3JlYXRlZCBmb3IgJy4kdGhpcy0+bW9kdWxlLT5HZXROYW1lKCk7CgkJcmV0dXJuICR4bWx0eHQ7Cgl9CgoJZnVuY3Rpb24gRXhwYW5kWE1MUGFja2FnZSggJHhtbHVyaSwgJG92ZXJ3cml0ZSA9IDAsICRicmllZiA9IDAgKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCgkJLy8gZmlyc3QgbWFrZSBzdXJlIHRoYXQgd2UgY2FuIGFjdHVhbGx5IHdyaXRlIHRvIHRoZSBtb2R1bGUgZGlyZWN0b3J5CgkJJGRpciA9IGRpcm5hbWUoZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSkpLkRJUkVDVE9SWV9TRVBBUkFUT1IuIm1vZHVsZXMiOwoKCQlpZiggIWlzX3dyaXRhYmxlKCAkZGlyICkgJiYgJGJyaWVmID09IDAgKQoJCXsKCQkJLy8gZGlyZWN0b3J5IG5vdCB3cml0YWJsZQoJCQkkdGhpcy0+U2V0RXJyb3IoIGxhbmcoICdlcnJvcmRpcmVjdG9yeW5vdHdyaXRhYmxlJyApICk7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCSRyZWFkZXIgPSBuZXcgWE1MUmVhZGVyKCk7CgkJJHJldCA9ICRyZWFkZXItPm9wZW4oJHhtbHVyaSk7CgkJaWYoICRyZXQgPT0gMCApCgkJewoJCQkkdGhpcy0+U2V0RXJyb3IoIGxhbmcoICdlcnJvcmNvdWxkbm90cGFyc2V4bWwnICkgKTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJJGhhdmVkdGR2ZXJzaW9uID0gZmFsc2U7CgkJJG1vZHVsZWRldGFpbHMgPSBhcnJheSgpOwoJCWlmKCBpc19maWxlKCR4bWx1cmkpICkKCQkkbW9kdWxlZGV0YWlsc1snc2l6ZSddID0gZmlsZXNpemUoJHhtbHVyaSk7CgkJJHJlcXVpcmVkID0gYXJyYXkoKTsKCQl3aGlsZSggJHJlYWRlci0+cmVhZCgpICkKCQl7CgkJCXN3aXRjaCgkcmVhZGVyLT5ub2RlVHlwZSkKCQkJewoJCQkJY2FzZSBYTUxSRUFERVI6OkVMRU1FTlQ6CgkJCQkJewoJCQkJCQlzd2l0Y2goIHN0cnRvdXBwZXIoJHJlYWRlci0+bG9jYWxOYW1lKSApCgkJCQkJCXsKCQkJCQkJCWNhc2UgJ05BTUUnOgoJCQkJCQkJCXsKCQkJCQkJCQkJJHJlYWRlci0+cmVhZCgpOwoJCQkJCQkJCQkkbW9kdWxlZGV0YWlsc1snbmFtZSddID0gJHJlYWRlci0+dmFsdWU7CgkJCQkJCQkJCS8vIGNoZWNrIGlmIHRoaXMgbW9kdWxlIGlzIGFscmVhZHkgaW5zdGFsbGVkCgkJCQkJCQkJCWlmKCBpc3NldCggJHRoaXMtPl9tb2R1bGVzWyRtb2R1bGVkZXRhaWxzWyduYW1lJ11dICkgJiYgJG92ZXJ3cml0ZSA9PSAwICYmICRicmllZiA9PSAwICkKCQkJCQkJCQkJewoJCQkJCQkJCQkJJHRoaXMtPlNldEVycm9yKCBsYW5nKCAnbW9kdWxlaW5zdGFsbGVkJyApICk7CgkJCQkJCQkJCQlyZXR1cm4gVFJVRTsKCQkJCQkJCQkJfQoJCQkJCQkJCQlicmVhazsKCQkJCQkJCQl9CgkJCQkJCQljYXNlICdEVERWRVJTSU9OJzoKCQkJCQkJCQl7CgkJCQkJCQkJCSRyZWFkZXItPnJlYWQoKTsKCQkJCQkJCQkJaWYoICRyZWFkZXItPnZhbHVlICE9IE1PRFVMRV9EVERfVkVSU0lPTiApCgkJCQkJCQkJCXsKCQkJCQkJCQkJCSR0aGlzLT5TZXRFcnJvciggbGFuZyggJ2Vycm9yZHRkbWlzbWF0Y2gnICkgKTsKCQkJCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJCQkJfQoJCQkJCQkJCQkkaGF2ZWR0ZHZlcnNpb24gPSB0cnVlOwoJCQkJCQkJCQlicmVhazsKCQkJCQkJCQl9CgoJCQkJCQkJY2FzZSAnVkVSU0lPTic6CgkJCQkJCQkJewoJCQkJCQkJCQkkcmVhZGVyLT5yZWFkKCk7CgkJCQkJCQkJCSRtb2R1bGVkZXRhaWxzWyd2ZXJzaW9uJ10gPSAkcmVhZGVyLT52YWx1ZTsKCQkJCQkJCQkJJHRtcGluc3QgPSAkdGhpcy0+Z2V0X21vZHVsZV9pbnN0YW5jZSgkbW9kdWxlZGV0YWlsc1snbmFtZSddKTsKCQkJCQkJCQkJaWYoICR0bXBpbnN0ICYmICRicmllZiA9PSAwICkKCQkJCQkJCQkJewoJCQkJCQkJCQkJJHZlcnNpb24gPSAkdG1waW5zdC0+R2V0VmVyc2lvbigpOwoJCQkJCQkJCQkJaWYoIHZlcnNpb25fY29tcGFyZSgkbW9kdWxlZGV0YWlsc1sndmVyc2lvbiddLCR2ZXJzaW9uKSA8IDAgKQoJCQkJCQkJCQkJewoJCQkJCQkJCQkJCSR0aGlzLT5TZXRFcnJvciggbGFuZygnZXJyb3JhdHRlbXB0ZWRkb3duZ3JhZGUnKSApOwoJCQkJCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJCQkJCX0KCQkJCQkJCQkJCWVsc2UgaWYgKHZlcnNpb25fY29tcGFyZSgkbW9kdWxlZGV0YWlsc1sndmVyc2lvbiddLCR2ZXJzaW9uKSA9PSAwICkKCQkJCQkJCQkJCXsKCQkJCQkJCQkJCQkkdGhpcy0+U2V0RXJyb3IoIGxhbmcoJ21vZHVsZWluc3RhbGxlZCcpICk7CgkJCQkJCQkJCQkJcmV0dXJuIFRSVUU7CgkJCQkJCQkJCQl9CgkJCQkJCQkJCX0KCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJfQoKCQkJCQkJCWNhc2UgJ01JTkNNU1ZFUlNJT04nOgoJCQkJCQkJY2FzZSAnTUFYQ01TVkVSU0lPTic6CgkJCQkJCQljYXNlICdERVNDUklQVElPTic6CgkJCQkJCQljYXNlICdGSUxFTkFNRSc6CgkJCQkJCQljYXNlICdJU0RJUic6CgkJCQkJCQkJewoJCQkJCSAgICAkbmFtZSA9ICRyZWFkZXItPmxvY2FsTmFtZTsKCQkJCQkgICAgJHJlYWRlci0+cmVhZCgpOwoJCQkJCSAgICAkbW9kdWxlZGV0YWlsc1skbmFtZV0gPSAkcmVhZGVyLT52YWx1ZTsKCQkJCQkgICAgYnJlYWs7CgkJCQkJCQkJfQoJCQkJCQkJY2FzZSAnSEVMUCc6CgkJCQkJCQljYXNlICdBQk9VVCc6CgkJCQkJCQkJewoJCQkJCSAgICAkbmFtZSA9ICRyZWFkZXItPmxvY2FsTmFtZTsKCQkJCQkgICAgJHJlYWRlci0+cmVhZCgpOwoJCQkJCSAgICAkbW9kdWxlZGV0YWlsc1skbmFtZV0gPSBiYXNlNjRfZGVjb2RlKCRyZWFkZXItPnZhbHVlKTsKCQkJCQkgICAgYnJlYWs7CgkJCQkJCQkJfQoJCQkJCQkJY2FzZSAnUkVRVUlSRUROQU1FJzoKCQkJCQkJCQl7CgkJCQkJCQkJCSRyZWFkZXItPnJlYWQoKTsKCQkJCQkJCQkJJHJlcXVpcmVzWyduYW1lJ10gPSAkcmVhZGVyLT52YWx1ZTsKCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJfQoJCQkJCQkJY2FzZSAnUkVRVUlSRURWRVJTSU9OJzoKCQkJCQkJCQl7CgkJCQkJCQkJCSRyZWFkZXItPnJlYWQoKTsKCQkJCQkJCQkJJHJlcXVpcmVzWyd2ZXJzaW9uJ10gPSAkcmVhZGVyLT52YWx1ZTsKCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJfQoJCQkJCQkJY2FzZSAnREFUQSc6CgkJCQkJCQkJewoJCQkJCQkJCQkkcmVhZGVyLT5yZWFkKCk7CgkJCQkJCQkJCSRtb2R1bGVkZXRhaWxzWydmaWxlZGF0YSddID0gJHJlYWRlci0+dmFsdWU7CgkJCQkJCQkJCWJyZWFrOwoJCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQlicmVhazsKCQkJCQl9CgkJCQljYXNlIFhNTFJlYWRlcjo6RU5EX0VMRU1FTlQ6CgkJCQkJewoJCQkJCQlzd2l0Y2goIHN0cnRvdXBwZXIoJHJlYWRlci0+bG9jYWxOYW1lKSApCgkJCQkJCXsKCQkJCQkJCWNhc2UgJ1JFUVVJUkVTJzoKCQkJCQkJCQl7CgkJCQkJCQkJCWlmKCBjb3VudCgkcmVxdWlyZXMpICE9IDIgKQoJCQkJCQkJCQl7CgkJCQkJCQkJCQljb250aW51ZTsKCQkJCQkJCQkJfQoJCQkJCQkJCQlpZiggIWlzc2V0KCAkbW9kdWxlZGV0YWlsc1sncmVxdWlyZXMnXSApICkKCQkJCQkJCQkJewoJCQkJCQkJCQkJJG1vZHVsZWRldGFpbHNbJ3JlcXVpcmVzJ10gPSBhcnJheSgpOwoJCQkJCQkJCQl9CgkJCQkJCQkJCSRtb2R1bGVkZXRhaWxzWydyZXF1aXJlcyddW10gPSAkcmVxdWlyZXM7CgkJCQkJCQkJCSRyZXF1aXJlcyA9IGFycmF5KCk7CgkJCQkJCQkJCWJyZWFrOwoJCQkJCQkJCX0KCQkJCQkJCWNhc2UgJ0ZJTEUnOgoJCQkJCQkJCXsKCQkJCQkJCQkJaWYoICRicmllZiAhPSAwICkgY29udGludWU7CgoJCQkJCQkJCQkvLyBmaW5pc2hlZCBhIGZpcnN0IGZpbGUKCQkJCQkJCQkJaWYoICFpc3NldCggJG1vZHVsZWRldGFpbHNbJ25hbWUnXSApCSAgIHx8ICFpc3NldCggJG1vZHVsZWRldGFpbHNbJ3ZlcnNpb24nXSApIHx8CgkJCQkJCQkJCSFpc3NldCggJG1vZHVsZWRldGFpbHNbJ2ZpbGVuYW1lJ10gKSB8fCAhaXNzZXQoICRtb2R1bGVkZXRhaWxzWydpc2RpciddICkgKQoJCQkJCQkJCQl7CgkJCQkJCQkJCQkkdGhpcy0+U2V0RXJyb3IoIGxhbmcoJ2Vycm9yaW5jb21wbGV0ZXhtbCcpICk7CgkJCQkJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJCQkJCX0KCgkJCQkJCQkJCS8vIHJlYWR5IHRvIGdvCgkJCQkJCQkJCSRtb2R1bGVkaXI9JGRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRtb2R1bGVkZXRhaWxzWyduYW1lJ107CgkJCQkJCQkJCSRmaWxlbmFtZT0kbW9kdWxlZGlyLiRtb2R1bGVkZXRhaWxzWydmaWxlbmFtZSddOwoJCQkJCQkJCQlpZiggIWZpbGVfZXhpc3RzKCAkbW9kdWxlZGlyICkgKQoJCQkJCQkJCQl7CgkJCQkJCQkJCQlpZiggIUBta2RpciggJG1vZHVsZWRpciApICYmICFpc19kaXIoICRtb2R1bGVkaXIgKSApCgkJCQkJCQkJCQl7CgkJCQkJCQkJCQkJJHRoaXMtPlNldEVycm9yKGxhbmcoJ2Vycm9yY2FudGNyZWF0ZWZpbGUnKS4nICcuJG1vZHVsZWRpcik7CgkJCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJCQl9CgkJCQkJCQkJCX0KCQkJCQkJCQkJZWxzZSBpZiggJG1vZHVsZWRldGFpbHNbJ2lzZGlyJ10gKQoJCQkJCQkJCQl7CgkJCQkJCQkJCQlpZiggIUBta2RpciggJGZpbGVuYW1lICkgJiYgIWlzX2RpciggJGZpbGVuYW1lICkgKQoJCQkJCQkJCQkJewoJCQkJCQkJCQkJCSR0aGlzLT5TZXRFcnJvcihsYW5nKCdlcnJvcmNhbnRjcmVhdGVmaWxlJykuJyAnLiRmaWxlbmFtZSk7CgkJCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJCQl9CgkJCQkJCQkJCX0KCQkJCQkJCQkJZWxzZQoJCQkJCQkJCQl7CgkJCQkJCQkJCQkkZGF0YSA9ICRtb2R1bGVkZXRhaWxzWydmaWxlZGF0YSddOwoJCQkJCQkJCQkJaWYoIHN0cmxlbiggJGRhdGEgKSApCgkJCQkJCQkJCQl7CgkJCQkJCQkJCQkJJGRhdGEgPSBiYXNlNjRfZGVjb2RlKCAkZGF0YSApOwoJCQkJCQkJCQkJfQoJCQkJCQkJCQkJJGZwID0gQGZvcGVuKCAkZmlsZW5hbWUsICJ3IiApOwoJCQkJCQkJCQkJaWYoICEkZnAgKQoJCQkJCQkJCQkJewoJCQkJCQkJCQkJCSR0aGlzLT5TZXRFcnJvcihsYW5nKCdlcnJvcmNhbnRjcmVhdGVmaWxlJykuJyAnLiRmaWxlbmFtZSk7CgkJCQkJCQkJCQl9CgkJCQkJCQkJCQlpZiggc3RybGVuKCAkZGF0YSApICkKCQkJCQkJCQkJCXsKCQkJCQkJCQkJCQlAZndyaXRlKCAkZnAsICRkYXRhICk7CgkJCQkJCQkJCQl9CgkJCQkJCQkJCQlAZmNsb3NlKCAkZnAgKTsKCQkJCQkJCQkJfQoJCQkJCQkJCQl1bnNldCggJG1vZHVsZWRldGFpbHNbJ2ZpbGVkYXRhJ10gKTsKCQkJCQkJCQkJdW5zZXQoICRtb2R1bGVkZXRhaWxzWydmaWxlbmFtZSddICk7CgkJCQkJCQkJCXVuc2V0KCAkbW9kdWxlZGV0YWlsc1snaXNkaXInXSApOwoJCQkJCQkJCQlicmVhazsKCQkJCQkJCQl9CgkJCQkJCX0KCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQl9CgkJfSAvLyB3aGlsZQoKCQkkcmVhZGVyLT5jbG9zZSgpOwoJCWlmKCAkaGF2ZWR0ZHZlcnNpb24gPT0gZmFsc2UgKQoJCXsKCQkJJHRoaXMtPlNldEVycm9yKCBsYW5nKCAnZXJyb3JkdGRtaXNtYXRjaCcgKSApOwoJCX0KCgkJLy8gd2UndmUgY3JlYXRlZCB0aGUgbW9kdWxlJ3MgZGlyZWN0b3J5CgkJdW5zZXQoICRtb2R1bGVkZXRhaWxzWydmaWxlZGF0YSddICk7CgkJdW5zZXQoICRtb2R1bGVkZXRhaWxzWydmaWxlbmFtZSddICk7CgkJdW5zZXQoICRtb2R1bGVkZXRhaWxzWydpc2RpciddICk7CgoJCWlmKCAkdGhpcy0+R2V0TGFzdEVycm9yKCkgIT0gIiIgKQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgl9CgkKCQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBsaXN0TW9kdWxlcygpCgl7CgkJJHRiID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdUb29sQm94Jyk7CgkJCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkKCQlpZiAoIWlzX29iamVjdCgkdGIpKSByZXR1cm4gZmFsc2U7CgkJCgkJZ2xvYmFsICRpZDsKCQlnbG9iYWwgJHJldHVybmlkOwoJCQoJCSR0aGVtZU9iamVjdCA9IGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpOwoJCQoJCSRtb2RvcHMgPSBjbXNtcygpLT5HZXRNb2R1bGVPcGVyYXRpb25zKCk7CQkKCQkkbW9kb3BzLT5Mb2FkTW9kdWxlcyhUUlVFKTsKCQkkYWxsbW9kdWxlcyA9ICRtb2RvcHMtPkdldEFsbE1vZHVsZU5hbWVzKCk7CgoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBmcm9tICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVzIE9SREVSIEJZIG1vZHVsZV9uYW1lIjsKCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJd2hpbGUgKCRyZXN1bHQgJiYgJHJvdyA9ICRyZXN1bHQtPkZldGNoUm93KCkpIHsKCQkJJGRibVskcm93Wydtb2R1bGVfbmFtZSddXVsnU3RhdHVzJ10gPSAkcm93WydzdGF0dXMnXTsKCQkJJGRibVskcm93Wydtb2R1bGVfbmFtZSddXVsnVmVyc2lvbiddID0gJHJvd1sndmVyc2lvbiddOwoJCQkkZGJtWyRyb3dbJ21vZHVsZV9uYW1lJ11dWydBY3RpdmUnXSA9ICgkcm93WydhY3RpdmUnXSA9PSAxP3RydWU6ZmFsc2UpOwoJCX0KCQkKCQkkY3VyY2xhc3MgPSAicm93MSI7CgkJLy8gY29uc3RydWN0IHRydWUvZmFsc2UgYnV0dG9uIGltYWdlcwoJCSRpbWFnZV90cnVlID0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsIGxhbmcoJ3RydWUnKSwnJywnJywnc3lzdGVtaWNvbicpOwoJCSRpbWFnZV9mYWxzZSA9ICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgbGFuZygnZmFsc2UnKSwnJywnJywnc3lzdGVtaWNvbicpOwoKCQkkcm93YXJyYXkgPSBhcnJheSgpOwoJCSRyb3djbGFzcyA9ICdyb3cxJzsKCQkKCQlmb3JlYWNoKCRhbGxtb2R1bGVzIGFzICRrZXkpCgkJewoJCQlpZiAoIWlzc2V0KCRkYm1bJGtleV0pKQl7CgkJCQljb250aW51ZTsKCQkJfQoJCQkKCQkJJHJvdyA9IG5ldyBTdGRDbGFzcygpOwoJCQkKLy8JCQkkbW9kaW5zdGFuY2UgPSAkbW9kb3BzLT5nZXRfbW9kdWxlX2luc3RhbmNlKCRrZXksJycsdHJ1ZSk7CgkJCSRyb3ctPm5hbWUgPSAka2V5OwoJCQkkcm93LT52ZXJzaW9uID0gJGRibVska2V5XVsnVmVyc2lvbiddOwoJCQkkcm93LT5hY3RpdmUgPSAkZGJtWyRrZXldWydBY3RpdmUnXSA/ICRpbWFnZV90cnVlIDogJGltYWdlX2ZhbHNlOwoJCQkkcm93LT54bWwgPSAkdGItPkNyZWF0ZUxpbmsoJGlkLCAnZG9fbW9kdWxlb3BzJywgJHJldHVybmlkLAoJCQkJICAgICc8aW1nIHNyYz0iLi4vbW9kdWxlcy9Ub29sQm94L2ltYWdlcy94bWxfcnNzLmdpZiJhbHQ9IicubGFuZygneG1sJykuJyIgLz4nLAoJCQkJICAgIGFycmF5KCdtJyA9PiAkcm93LT5uYW1lLCdtb2RlJyA9PiAnZXhwb3J0JykpOyAKCQkJCgkJCQoJCQkkcm93YXJyYXlbXSA9ICRyb3c7CgkJCQoJCX0KCQkKCQlyZXR1cm4gJHJvd2FycmF5OwoKCSB9Cgp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.tbRedirectLog.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIHRiUmVkaXJlY3RMb2cgewoJCglwcml2YXRlICR0YjsKCXByaXZhdGUgJGRiOwoJcHJpdmF0ZSAkY29uZmlnOwoJcHJvdGVjdGVkICRodHRwOwoJcHJvdGVjdGVkICRsb2dnaW5nOwoJcHJvdGVjdGVkICRyZWZlcmVyOwoJcHJvdGVjdGVkICRkZWJ1Z0lkOwoJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiR0Ykluc3RhbmNlKSAKCXsKCQkkdGhpcy0+dGIgPSAkdGJJbnN0YW5jZTsKCQkkdGhpcy0+ZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSR0aGlzLT5jb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCQkKCQkkdGhpcy0+aHR0cCA9ICRfU0VSVkVSWydTRVJWRVJfUE9SVCddPT00NDMgPyAnaHR0cHM6Ly8nIDogJ2h0dHA6Ly8nOwoJCSR0aGlzLT5sb2dnaW5nID0gZmFsc2U7CgkJJHRoaXMtPnJlZmVyZXIgPSBpc3NldCgkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ10pID8gJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddIDogJyc7CgkJJHRoaXMtPmRlYnVnSWQgPSAwOwoJfQoJCi8qKgoJKiBCdWlsZHMgYSBzdW1tYXJ5IGxvZyBhbmQgd3JpdGVzIGl0IHRvIGRhdGFiYXNlCgkqIEBwYXJhbSBhcnJheSAkZGF0YSBUaGUgbG9nIGRhdGEgYXMgYXJyYXkuCgkqIEBwYXJhbSBzdHJpbmcgJHBlcmlvZCBUaGUgcGVyaW9kIHRvIGxvZyAoZGF5LCBtb250aCBvciB5ZWFyKS4KCSogQHBhcmFtIGludCAkcHZhbHVlIFRoZSBkYXksIG1vbnRoIG9yIHllYXIgYXMgaW50ZWdlciAoZS5nLiBkZWNlbWJlciB3b3VsZCBiZSAxMikKCSovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gTG9nU3VtKCRkYXRhLCRwZXJpb2QsJHB2YWx1ZSkgewoKCQkvLyBCdWlsZCBzdW0gYXJyYXlzCgkJJHVybGxvZyA9IGFycmF5KCk7CgoJCS8vIENoZWNrIGRhdGEgYXJyYXkKCQlpZiAoaXNfYXJyYXkoJGRhdGEpKSB7CgoJCQkvLyBCdWlsZCBzcWwgaW5zZXJ0IHF1ZXJ5CgkJCSRzcWwgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2xvZ3N1bSAocGVyaW9kLCB2YWx1ZSwgdXJsLCBwYWdlX2lkLCB2aXNpdHMsIHNlYXJjaGVuZ2luZSwga2V5d29yZCwgcmVmZXJlciwgY3JlYXRlZF9kYXRlKSBWQUxVRVMgKD8sID8sID8sID8sID8sID8sID8sID8sIE5PVygpKSc7CgkJCSNlY2hvICRzcWwuJzxociAvPic7CgoJCQkvLyBTZXQgbWFpbCBhcnJheXMKCQkJJG1haWx1cmxzID0gYXJyYXkoKTsKCgkJCS8vIFdhbGsgdGhyb3VnaCBsb2cgYW5kIGJ1aWxkIGEgc3VtbWFyeSBvZiB0aGUgdmFsdWVzCgkJCWZvcmVhY2ggKCRkYXRhIGFzICRkKSB7CgkJCQkvLyBTZXQgdmlzaXRzCgkJCQkkdmlzaXRzID0gaXNzZXQoJGRbJ3Zpc2l0cyddKSA/ICRkWyd2aXNpdHMnXSA6IDE7CgkJCQkvLyBMb2cgdG8gdXJsIHN1bW1hcnkKCQkJCWlmICgkZFsndXJsJ10pIHsKCQkJCQlpZiAoIWlzc2V0KCR1cmxsb2dbJGRbJ3VybCddXSkpIHsKCQkJCQkJJHVybGxvZ1skZFsndXJsJ11dID0gYXJyYXkgKAkncmVmZXJlcicgPT4gJycsCgkJCQkJCQkJCQkJCQkJJ3NlYXJjaGVuZ2luZScgPT4gJycsCgkJCQkJCQkJCQkJCQkJJ2tleXdvcmQnID0+ICcnLAoJCQkJCQkJCQkJCQkJCSdwYWdlX2lkJyA9PiAgMCwKCQkJCQkJCQkJCQkJCQkndmlzaXRzJyA9PiAgMCwKCQkJCQkJCQkJCQkJCQknYXJlZmVyZXInID0+IGFycmF5KCksCgkJCQkJCQkJCQkJCQkJJ2FzZWFyY2hlbmdpbmUnID0+IGFycmF5KCksCgkJCQkJCQkJCQkJCQkJJ2FrZXl3b3JkJyA9PiBhcnJheSgpLAoJCQkJCQkJCQkJCQkJCSdhcGFnZV9pZCcgPT4gIGFycmF5KCkgKTsKCQkJCQl9CgkJCQkJaWYgKCRkWydyZWZlcmVyJ10pIHsKCQkJCQkJaWYgKCFpc3NldCgkdXJsbG9nWyRkWyd1cmwnXV1bJ2FyZWZlcmVyJ11bJGRbJ3JlZmVyZXInXV0pKSAKCQkJCQkJCSR1cmxsb2dbJGRbJ3VybCddXVsnYXJlZmVyZXInXVskZFsncmVmZXJlciddXSA9IDE7CgkJCQkJCWVsc2UgCgkJCQkJCQkkdXJsbG9nWyRkWyd1cmwnXV1bJ2FyZWZlcmVyJ11bJGRbJ3JlZmVyZXInXV0rKzsKCQkJCQl9CgkJCQkJaWYgKCRkWydzZWFyY2hlbmdpbmUnXSkgewoJCQkJCQlpZiAoIWlzc2V0KCR1cmxsb2dbJGRbJ3VybCddXVsnYXNlYXJjaGVuZ2luZSddWyRkWydzZWFyY2hlbmdpbmUnXV0pKQoJCQkJCQkJJHVybGxvZ1skZFsndXJsJ11dWydhc2VhcmNoZW5naW5lJ11bJGRbJ3NlYXJjaGVuZ2luZSddXSA9IDE7CgkJCQkJCWVsc2UJCgkJCQkJCQkkdXJsbG9nWyRkWyd1cmwnXV1bJ2FzZWFyY2hlbmdpbmUnXVskZFsnc2VhcmNoZW5naW5lJ11dKys7CgkJCQkJfSAKCQkJCQlpZiAoJGRbJ2tleXdvcmQnXSkgewoJCQkJCQlpZiAoIWlzc2V0KCR1cmxsb2dbJGRbJ3VybCddXVsnYWtleXdvcmQnXVskZFsna2V5d29yZCddXSkpCgkJCQkJCQkkdXJsbG9nWyRkWyd1cmwnXV1bJ2FrZXl3b3JkJ11bJGRbJ2tleXdvcmQnXV0gPSAxOwoJCQkJCQllbHNlCgkJCQkJCQkkdXJsbG9nWyRkWyd1cmwnXV1bJ2FrZXl3b3JkJ11bJGRbJ2tleXdvcmQnXV0rKzsKCQkJCQl9IAoJCQkJCWlmICgkZFsncGFnZV9pZCddPjApIHsKCQkJCQkJaWYgKCFpc3NldCgkdXJsbG9nWyRkWyd1cmwnXV1bJ2FwYWdlX2lkJ11bJGRbJ3BhZ2VfaWQnXV0pKQoJCQkJCQkJJHVybGxvZ1skZFsndXJsJ11dWydhcGFnZV9pZCddWyRkWydwYWdlX2lkJ11dID0gMTsKCQkJCQkJZWxzZQoJCQkJCQkJJHVybGxvZ1skZFsndXJsJ11dWydhcGFnZV9pZCddWyRkWydwYWdlX2lkJ11dKys7CgkJCQkJfSAKCQkJCQkkdXJsbG9nWyRkWyd1cmwnXV1bJ3Zpc2l0cyddKz0gJHZpc2l0czsKCQkJCX0KCQkJfQoKCQkJLy8gQnVpbGQgdXJsIHN1bW1hcnkKCQkJZm9yZWFjaCAoJHVybGxvZyBhcyAka2V5PT4kdmFsdWUpIHsKCQkJCS8vIEdldCBiZXN0IHJlZmVyZXIKCQkJCWlmIChpc19hcnJheSgkdmFsdWVbJ2FyZWZlcmVyJ10pKSB7CgkJCQkJJG1kc3VtID0gMDsKCQkJCQlmb3JlYWNoICgkdmFsdWVbJ2FyZWZlcmVyJ10gYXMgJGtleTI9PiR2YWx1ZTIpIHsKCQkJCQkJaWYgKCR2YWx1ZTIgPiAkbWRzdW0pIHsKCQkJCQkJCSR1cmxsb2dbJGtleV1bJ3JlZmVyZXInXSA9ICRrZXkyOwoJCQkJCQkJJG1kc3VtID0gJHZhbHVlMjsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJCS8vIEdldCBiZXN0IHNlYXJjaGVuZ2luZQoJCQkJaWYgKGlzX2FycmF5KCR2YWx1ZVsnYXNlYXJjaGVuZ2luZSddKSkgewoJCQkJCSRtZHN1bSA9IDA7CgkJCQkJZm9yZWFjaCAoJHZhbHVlWydhc2VhcmNoZW5naW5lJ10gYXMgJGtleTI9PiR2YWx1ZTIpIHsKCQkJCQkJaWYgKCR2YWx1ZTIgPiAkbWRzdW0pIHsKCQkJCQkJCSR1cmxsb2dbJGtleV1bJ3NlYXJjaGVuZ2luZSddID0gJGtleTI7CgkJCQkJCQkkbWRzdW0gPSAkdmFsdWUyOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJLy8gR2V0IGJlc3Qga2V5d29yZAoJCQkJaWYgKGlzX2FycmF5KCR2YWx1ZVsnYWtleXdvcmQnXSkpIHsKCQkJCQkkbWRzdW0gPSAwOwoJCQkJCWZvcmVhY2ggKCR2YWx1ZVsnYWtleXdvcmQnXSBhcyAka2V5Mj0+JHZhbHVlMikgewoJCQkJCQlpZiAoJHZhbHVlMiA+ICRtZHN1bSkgewoJCQkJCQkJJHVybGxvZ1ska2V5XVsna2V5d29yZCddID0gJGtleTI7CgkJCQkJCQkkbWRzdW0gPSAkdmFsdWUyOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJLy8gR2V0IGJlc3QgcGFnZV9pZAoJCQkJaWYgKGlzX2FycmF5KCR2YWx1ZVsnYXBhZ2VfaWQnXSkpIHsKCQkJCQkkbWRzdW0gPSAwOwoJCQkJCWZvcmVhY2ggKCR2YWx1ZVsnYXBhZ2VfaWQnXSBhcyAka2V5Mj0+JHZhbHVlMikgewoJCQkJCQlpZiAoJHZhbHVlMiA+ICRtZHN1bSkgewoJCQkJCQkJJHVybGxvZ1ska2V5XVsncGFnZV9pZCddID0gJGtleTI7CgkJCQkJCQkkbWRzdW0gPSAkdmFsdWUyOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJLy8gSW5zZXJ0IHZhbHVlcyB0byBkYXRhYmFzZSB0YWJsZQoJCQkJIyBwZXJpb2QsIHZhbHVlLCB1cmwsIHBhZ2VfaWQsIHZpc2l0cywgc2VhcmNoZW5naW5lLCBrZXl3b3JkLCByZWZlcmVyCgkJCQkjZWNobyAkcGVyaW9kLicsJy4kcHZhbHVlLicsJy4ka2V5LicsJy4kdXJsbG9nWyRrZXldWydwYWdlX2lkJ10uJywnLiR1cmxsb2dbJGtleV1bJ3Zpc2l0cyddLicsJy4kdXJsbG9nWyRrZXldWydzZWFyY2hlbmdpbmUnXS4nLCcuJHVybGxvZ1ska2V5XVsna2V5d29yZCddLicsJy4kdXJsbG9nWyRrZXldWydyZWZlcmVyJ107ZXhpdDsKCQkJCSRyZXMgPSAkdGhpcy0+ZGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkcGVyaW9kLCRwdmFsdWUsJGtleSwkdXJsbG9nWyRrZXldWydwYWdlX2lkJ10sJHVybGxvZ1ska2V5XVsndmlzaXRzJ10sJHVybGxvZ1ska2V5XVsnc2VhcmNoZW5naW5lJ10sJHVybGxvZ1ska2V5XVsna2V5d29yZCddLCR1cmxsb2dbJGtleV1bJ3JlZmVyZXInXSkpOwoJCQkJLy8gQWRkIGRhdGEgdG8gbWFpbCBhcnJheQoJCQkJJG1haWx1cmxzW10gPSBhcnJheSAoCSd2YWx1ZScJCQk9PiAkcHZhbHVlLAoJCQkJCQkJCQkJJ3VybCcJIAkJPT4gJGtleSwKCQkJCQkJCQkJCSdwYWdlJwkJCT0+ICR1cmxsb2dbJGtleV1bJ3BhZ2VfaWQnXSwKCQkJCQkJCQkJCSd2aXNpdHMnCQk9PiAkdXJsbG9nWyRrZXldWyd2aXNpdHMnXSwKCQkJCQkJCQkJCSdzZWFyY2hlbmdpbmUnCT0+ICR1cmxsb2dbJGtleV1bJ3NlYXJjaGVuZ2luZSddLAoJCQkJCQkJCQkJJ2tleXdvcmQnCQk9PiAkdXJsbG9nWyRrZXldWydrZXl3b3JkJ10sCgkJCQkJCQkJCQkncmVmZXJlcicJCT0+ICR1cmxsb2dbJGtleV1bJ3JlZmVyZXInXQoJCQkJCQkJCQkpOwoJCQl9CgoJCQkvLyBNYWlsIG1vbnRobHkgc3RhdHMKCQkJaWYgKCRwZXJpb2QgPT0gJ21vbnRoJykgewoJCQkJJGVtYWlsID0gdHJpbSgkdGhpcy0+dGItPkdldFByZWZlcmVuY2UoJ3N0YXRzX2VtYWlsJykpOwoJCQkJaWYgKCRlbWFpbCkgewoJCQkJCS8vIEFzc2lnbiBzbWFydHkgdmFycwoJCQkJCSR0aGlzLT50YlNtYXJ0eS0+YXNzaWduKCdtb250aCcsJHRoaXMtPkxhbmcoJ21vbnRoJykpOwoJCQkJCSR0aGlzLT50YlNtYXJ0eS0+YXNzaWduKCd1cmwnLCR0aGlzLT5MYW5nKCd1cmwnKSk7CgkJCQkJJHRoaXMtPnRiU21hcnR5LT5hc3NpZ24oJ3BhZ2UnLCR0aGlzLT5MYW5nKCdwYWdlJykpOwoJCQkJCSR0aGlzLT50YlNtYXJ0eS0+YXNzaWduKCd2aXNpdHMnLCR0aGlzLT5MYW5nKCd2aXNpdHMnKSk7CgkJCQkJJHRoaXMtPnRiU21hcnR5LT5hc3NpZ24oJ3NlYXJjaGVuZ2luZScsJHRoaXMtPkxhbmcoJ3NlYXJjaGVuZ2luZScpKTsKCQkJCQkkdGhpcy0+dGJTbWFydHktPmFzc2lnbigna2V5d29yZCcsJHRoaXMtPkxhbmcoJ2tleXdvcmQnKSk7CgkJCQkJJHRoaXMtPnRiU21hcnR5LT5hc3NpZ24oJ3JlZmVyZXInLCR0aGlzLT5MYW5nKCdyZWZlcmVyJykpOwoJCQkJCSR0aGlzLT50YlNtYXJ0eS0+YXNzaWduKCd1cmxzJywkbWFpbHVybHMpOwoJCQkJCSR0aGlzLT50YlNtYXJ0eS0+YXNzaWduKCdvbGR1cmxfdXNlJywkdGhpcy0+dGItPkdldFByZWZlcmVuY2UoJ29sZHVybF91c2UnKSA/IDEgOiAwKTsKCQkJCQkvLyBCdWlsZCBtb250aCBhbmQgeWVhcgoJCQkJCSR5ZWFyID0gJHB2YWx1ZT09MTIgPyBkYXRlKCJZIiktMSA6IGRhdGUoIlkiKTsKCQkJCQkkbW9udGggPSBzcHJpbnRmKCIlMDJkIC8gJTA0ZCIsICRwdmFsdWUsICR5ZWFyKTsKCQkJCQkvLyBHZXQgc3ViamVjdAoJCQkJCSRzdWJqZWN0ID0gJHRoaXMtPkxhbmcoJ3N0YXRzX2VtYWlsX3N1YmplY3QnKTsKCQkJCQkkc3ViamVjdCA9IHN0cl9yZXBsYWNlICgnJXUnLCRfU0VSVkVSWydIVFRQX0hPU1QnXSwkc3ViamVjdCk7CgkJCQkJJHN1YmplY3QgPSBzdHJfcmVwbGFjZSAoJyVtJywkbW9udGgsJHN1YmplY3QpOwoJCQkJCS8vIEdldCBib2R5CgkJCQkJJGJvZHkgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdzdGF0c19lbWFpbC50cGwnKTsKCQkJCQkvLyBHZXQgQ01TTWFpbGVyCgkJCQkJJGNtc21haWxlciA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CgkJCQkJJGNtc21haWxlci0+QWRkQWRkcmVzcygkZW1haWwsJycpOwoJCQkJCSRjbXNtYWlsZXItPlNldFN1YmplY3QoJHN1YmplY3QpOwoJCQkJCSRjbXNtYWlsZXItPklzSFRNTCh0cnVlKTsKCQkJCQkkY21zbWFpbGVyLT5TZXRCb2R5KCRib2R5KTsKCQkJCQkkY21zbWFpbGVyLT5TZW5kKCk7CgkJCQl9CgkJCX0KCgkJfQoKCX0KCgkvKioKCSogUHJlcGFyZXMgVmlzaXQgRGF0YSBmb3IgTG9nZ2luZyBhbmQgcmV0dXJucyBpdCBhcyBhcnJheS4KCSogQHJldHVybiBhcnJheQoJKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBQcmVwYXJlTG9nVmlzaXQoKSB7CgoJCS8vIFNldCByZXR1cm4gYXJyYXkKCQkkZGF0YSA9IGFycmF5KCk7CgoJCS8vIFByZXBhcmUgaW5wdXQgcGFyYW1zCgkJIyR0aGlzLT50Yi0+U2V0UHJlZmVyZW5jZSgnZGF5JywnMjAxMDA1MjMnKTsKCQkkbWRkYXkgPSAkdGhpcy0+dGItPkdldFByZWZlcmVuY2UoJ2RheScpOwoJCSRtZG1vbnRoID0gJHRoaXMtPnRiLT5HZXRQcmVmZXJlbmNlKCdtb250aCcpOwoJCSRtZHllYXIgPSAkdGhpcy0+dGItPkdldFByZWZlcmVuY2UoJ3llYXInKTsKCQkkZGF0YVsnYm90J10gPSAnJzsKCQkkdHJhY2tVc2VyQWdlbnQgPSBzdHJ0b2xvd2VyKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSk7CgkJaWYgKHN0cmlzdHIoJHRyYWNrVXNlckFnZW50LCdhcmNoaXZlcicpKSAkZGF0YVsnYm90J109J0FsZXhhJzsKCQlpZiAoc3RyaXN0cigkdHJhY2tVc2VyQWdlbnQsJ2V4YWJvdCcpKSAkZGF0YVsnYm90J109J0V4YWxlYWQnOwoJCWlmIChzdHJpc3RyKCR0cmFja1VzZXJBZ2VudCwnZmFzdCcpKSAkZGF0YVsnYm90J109J0Zhc3QnOwoJCWlmIChzdHJpc3RyKCR0cmFja1VzZXJBZ2VudCwnZmlyZWZseScpKSAkZGF0YVsnYm90J109J0ZpcmViYWxsJzsKCQlpZiAoc3RyaXN0cigkdHJhY2tVc2VyQWdlbnQsJ2dvb2dsZWJvdCcpKSAkZGF0YVsnYm90J109J0dvb2dsZSc7CgkJaWYgKHN0cmlzdHIoJHRyYWNrVXNlckFnZW50LCdtc25ib3QnKSkgJGRhdGFbJ2JvdCddPSdCaW5nJzsKCQlpZiAoc3RyaXN0cigkdHJhY2tVc2VyQWdlbnQsJ3Njb290ZXInKSkgJGRhdGFbJ2JvdCddPSdBbHRhVmlzdGEnOwoJCWlmIChzdHJpc3RyKCR0cmFja1VzZXJBZ2VudCwneWFob28tbW1jcmF3bGVyJykpICRkYXRhWydib3QnXT0nWWFob28nOwoJCWlmIChzdHJpc3RyKCR0cmFja1VzZXJBZ2VudCwnZ2lnYWJvdCcpKSAkZGF0YVsnYm90J109J0dpZ2Fib3QnOwoKCQkvLyBDaGVjaywgd2hldGhlciB2aXNpdCBzaG91bGQgYmUgbG9nZ2VkCgkJaWYgKCEkZGF0YVsnYm90J10pICR0aGlzLT5sb2dnaW5nID0gdHJ1ZTsKCQkjJHRoaXMtPmxvZ2dpbmcgPSB0cnVlOwoKCQkvLyBHZXQgbW9yZSBkYXRhIGFuZCB1cGRhdGUgdmlzaXQgaWYgaXQgaXNuJ3QgYSBuZXcgdmlzaXRvcgoJCWlmICgkdGhpcy0+bG9nZ2luZykgewoJCQkvLyBDaGVjaywgd2hldGhlciB0aGlzIGlzIGEgbmV3IHZpc2l0CgkJCSRtZHZpc2l0ID0gJHRoaXMtPmRiLT5HZXRPbmUoJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9sb2cgV0hFUkUgc2Vzc2lvbmlkID0gPyBMSU1JVCAxJywgYXJyYXkoc2Vzc2lvbl9pZCgpKSk7CgkJCWlmICgkbWR2aXNpdCkgewoJCQkJJHNxbCA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2xvZyBTRVQgdmlzaXR0aW1lPU5PVygpIFdIRVJFIGlkPT8nOwoJCQkJJHJlcyA9ICR0aGlzLT5kYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCRtZHZpc2l0KSk7CgkJCQkkdGhpcy0+bG9nZ2luZyA9IGZhbHNlOwoJCQkvLyBHZXQgcmVmZXJlciwga2V5d29yZHMgYW5kIHNlYXJjaGVuZ2luZQoJCQl9IGVsc2UgewoJCQkJLy8gR2V0IFJlZmVyZXIKCQkJCXByZWdfbWF0Y2ggKCcvXlx3K1wvXC8oW15cL10qKSguKik/JC9pJywkdGhpcy0+cmVmZXJlciwkbWRrZXkpOwoJCQkJLyogQWJmcmFnZSB3ZWdlbiBQSFAgTm90aWNlOiBVbmRlZmluZWQgb2Zmc2V0OiAxIC0gbXVzcyBu77+9aGVyIGdlcHLvv71mdCB3ZXJkZW4gKi9pZiAoIWlzc2V0KCRtZGtleVsxXSkpICRtZGtleVsxXSA9ICcnOwoJCQkJJGRhdGFbJ3JlZmVyZXInXSA9ICRtZGtleVsxXSE9JF9TRVJWRVJbJ0hUVFBfSE9TVCddID8gJHRoaXMtPnJlZmVyZXIgOiAnJzsKCQkJCSMkZGF0YVsncmVmZXJlciddID0gJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS9zZWFyY2g/aGw9ZGUmc2FmZT1vZmYmY2xpZW50PWZpcmVmb3gtYSZybHM9b3JnLm1vemlsbGElM0FkZSUzQW9mZmljaWFsJnE9dGVzdCt0JUMzJUE0c3QmYXE9ZiZhcWk9JmFxbD0mb3E9JmdzX3JmYWk9JzsKCQkJCSMkZGF0YVsncmVmZXJlciddID0gJ2h0dHBzOi8vd3d3Lmdvb2dsZS5jb20/aGw9ZGUmc2FmZT1vZmYmY2xpZW50PWZpcmVmb3gtYSZybHM9b3JnLm1vemlsbGElM0FkZSUzQW9mZmljaWFsJnE9dGVzdCt0JUMzJUE0c3QnOwoJCQkJJGRhdGFbJ3NlYXJjaGVuZ2luZSddID0gJyc7CgkJCQkkZGF0YVsna2V5d29yZCddID0gJyc7CgkJCQkkbWRyZWYgPSAkZGF0YVsncmVmZXJlciddID8gcGFyc2VfdXJsKCRkYXRhWydyZWZlcmVyJ10pIDogJyc7CgkJCQkjZWNobyAnPHByZT4nO3ByaW50X3IoJG1kcmVmKTtlY2hvICc8L3ByZT4nO2V4aXQ7CgkJCQlpZiAoaXNfYXJyYXkoJG1kcmVmKSkgewoJCQkJCS8vIEdldCBTZWFyY2ggRW5naW5lIGFuZCBLZXl3b3JkCgkJCQkJJG1kdGVtcCA9IGV4cGxvZGUoJy4nLCRtZHJlZlsnaG9zdCddKTsKCQkJCQkjZWNobyAkbWR0ZW1wW2NvdW50KCRtZHRlbXApLTJdO2V4aXQ7CgkJCQkJaWYgKGNvdW50KCRtZHRlbXApPjEpIHsKCQkJCQkJc3dpdGNoICgkbWR0ZW1wW2NvdW50KCRtZHRlbXApLTJdKSB7CgkJCQkJCQljYXNlICdnb29nbGUnOgkkZGF0YVsnc2VhcmNoZW5naW5lJ10gPSAnR29vZ2xlJzsKCQkJCQkJCQkJCQlwcmVnX21hdGNoICgnL14uKihcP3wmKXE9KFteJl0qKSguKik/JC9pJywkZGF0YVsncmVmZXJlciddLCRtZGtleSk7CgkJCQkJCQkJCQkJJGRhdGFbJ2tleXdvcmQnXSA9IHVybGRlY29kZSgkbWRrZXlbMl0pOwoJCQkJCQkJCQkJCSRkYXRhWydyZWZlcmVyJ10gPSAnJzsKCQkJCQkJCQkJCQlicmVhazsKCQkJCQkJCWNhc2UgJ2JpbmcnOgkkZGF0YVsnc2VhcmNoZW5naW5lJ10gPSAnQmluZyc7CgkJCQkJCQkJCQkJcHJlZ19tYXRjaCAoJy9eLiooXD98JilxPShbXiZdKikoLiopPyQvaScsJGRhdGFbJ3JlZmVyZXInXSwkbWRrZXkpOwoJCQkJCQkJCQkJCSRkYXRhWydrZXl3b3JkJ10gPSB1cmxkZWNvZGUoJG1ka2V5WzJdKTsKCQkJCQkJCQkJCQkkZGF0YVsncmVmZXJlciddID0gJyc7CgkJCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQljYXNlICd5YWhvbyc6CSRkYXRhWydzZWFyY2hlbmdpbmUnXSA9ICdZYWhvbyc7CgkJCQkJCQkJCQkJcHJlZ19tYXRjaCAoJy9eLipwPShbXiZdKikoLiopPyQvaScsJGRhdGFbJ3JlZmVyZXInXSwkbWRrZXkpOwoJCQkJCQkJCQkJCSRkYXRhWydrZXl3b3JkJ10gPSB1cmxkZWNvZGUoJG1ka2V5WzFdKTsKCQkJCQkJCQkJCQkkZGF0YVsncmVmZXJlciddID0gJyc7CgkJCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQlkZWZhdWx0OgkJJGRhdGFbJ3NlYXJjaGVuZ2luZSddID0gJyc7CgkJCQkJCQkJCQkJJGRhdGFbJ2tleXdvcmQnXSA9ICcnOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoKCQkvLyBDYWxjdWxhdGUgYW5kIHNhdmUgc3RhdGlzdGljIHN1bW1hcnkgaWYgbmV3IHllYXIKCQlpZiAoZGF0ZSgnWScpID4gJG1keWVhcikgewoJCQkvLyBHZXQgb2xkIG1vbnRoCgkJCSRtZG9sZHllYXIgPSAkdGhpcy0+dGItPkdldFByZWZlcmVuY2UoJ3llYXInKTsKCQkJLy8gRGVsZXRlIG9sZCByb3cgZnJvbSBkYXRhYmFzZQoJCQkkcmVzID0gJHRoaXMtPmRiLT5FeGVjdXRlKCdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfbG9nc3VtIFdIRVJFIHBlcmlvZCA9ID8gQU5EIHZhbHVlID0gPycsYXJyYXkoJ3llYXInLCRtZG9sZHllYXIpKTsKCQkJLy8gQ2FsY3VsYXRlIGxvZyBzdW1tYXJ5CgkJCSRtZGxvZyA9ICR0aGlzLT5kYi0+R2V0QWxsKCdTRUxFQ1QgdXJsLHBhZ2VfaWQsdmlzaXRzLHNlYXJjaGVuZ2luZSxrZXl3b3JkLHJlZmVyZXIgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfbG9nc3VtIFdIRVJFIHBlcmlvZCA9ID8nLCBhcnJheSgnbW9udGgnKSk7CgkJCWlmICgkbWRsb2cpICR0aGlzLT5Mb2dTdW0oJG1kbG9nLCd5ZWFyJywkbWRvbGR5ZWFyKTsKCQkJLy8gRGVsZXRlIG9sZCBtb250aHMgZnJvbSBkYXRhYmFzZQoJCQkkcmVzID0gJHRoaXMtPmRiLT5FeGVjdXRlKCdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfbG9nc3VtIFdIRVJFIHBlcmlvZCA9ID8nLGFycmF5KCdtb250aCcpKTsKCQkJLy8gU2V0IG5ldyB5ZWFyCgkJCSR0aGlzLT50Yi0+U2V0UHJlZmVyZW5jZSgneWVhcicsZGF0ZSgnWScpKTsKCQl9CgoJCS8vIENhbGN1bGF0ZSBhbmQgc2F2ZSBzdGF0aXN0aWMgc3VtbWFyeSBpZiBuZXcgbW9udGgKCQlpZiAoZGF0ZSgnWW0nKSA+ICRtZG1vbnRoKSB7CgkJCS8vIEdldCBvbGQgbW9udGgKCQkJJG1kb2xkbW9udGggPSBzdWJzdHIoJHRoaXMtPnRiLT5HZXRQcmVmZXJlbmNlKCdtb250aCcpLC0yKTsKCQkJLy8gRGVsZXRlIG9sZCByb3cgZnJvbSBkYXRhYmFzZQoJCQkkcmVzID0gJHRoaXMtPmRiLT5FeGVjdXRlKCdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfbG9nc3VtIFdIRVJFIHBlcmlvZCA9ID8gQU5EIHZhbHVlID0gPycsYXJyYXkoJ21vbnRoJywkbWRvbGRtb250aCkpOwoJCQkvLyBDYWxjdWxhdGUgbG9nIHN1bW1hcnkKCQkJJG1kbG9nID0gJHRoaXMtPmRiLT5HZXRBbGwoJ1NFTEVDVCB1cmwscGFnZV9pZCx2aXNpdHMsc2VhcmNoZW5naW5lLGtleXdvcmQscmVmZXJlciBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9sb2dzdW0gV0hFUkUgcGVyaW9kID0gPycsIGFycmF5KCdkYXknKSk7CgkJCWlmICgkbWRsb2cpICR0aGlzLT5Mb2dTdW0oJG1kbG9nLCdtb250aCcsJG1kb2xkbW9udGgpOwoJCQkvLyBEZWxldGUgb2xkIGRheXMgZnJvbSBkYXRhYmFzZQoJCQkkcmVzID0gJHRoaXMtPmRiLT5FeGVjdXRlKCdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfbG9nc3VtIFdIRVJFIHBlcmlvZCA9ID8nLGFycmF5KCdkYXknKSk7CgkJCS8vIFNldCBuZXcgbW9udGgKCQkJJHRoaXMtPnRiLT5TZXRQcmVmZXJlbmNlKCdtb250aCcsZGF0ZSgnWW0nKSk7CgkJfQoKCQkvLyBDYWxjdWxhdGUgYW5kIHNhdmUgc3RhdGlzdGljIHN1bW1hcnkgaWYgbmV3IGRheQoJCWlmIChkYXRlKCdZbWQnKSA+ICRtZGRheSkgewoJCQkvLyBHZXQgb2xkIG1vbnRoCgkJCSRtZG9sZGRheSA9IHN1YnN0cigkdGhpcy0+dGItPkdldFByZWZlcmVuY2UoJ2RheScpLC0yKTsKCQkJLy8gRGVsZXRlIG9sZCByb3cgZnJvbSBkYXRhYmFzZQoJCQkkcmVzID0gJHRoaXMtPmRiLT5FeGVjdXRlKCdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfbG9nc3VtIFdIRVJFIHBlcmlvZCA9ID8gQU5EIHZhbHVlID0gPycsYXJyYXkoJ2RheScsJG1kb2xkZGF5KSk7CgkJCS8vIENhbGN1bGF0ZSBsb2cgc3VtbWFyeQoJCQkkbWRsb2cgPSAkdGhpcy0+ZGItPkdldEFsbCgnU0VMRUNUIHVybCxwYWdlX2lkLHNlYXJjaGVuZ2luZSxrZXl3b3JkLHJlZmVyZXIsREFURSh2aXNpdHRpbWUpIGFzIHZpc2l0ZGF0ZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9sb2cnLGFycmF5KCkpOwoJCQlpZiAoJG1kbG9nKSAkdGhpcy0+TG9nU3VtKCRtZGxvZywnZGF5JywkbWRvbGRkYXkpOwoJCQkvLyBDbGVhciBsb2cgdGFibGUKCQkJJHJlcyA9ICR0aGlzLT5kYi0+RXhlY3V0ZSgnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2xvZycsYXJyYXkoKSk7CgkJCS8vIFNldCBuZXcgZGF5CgkJCSR0aGlzLT50Yi0+U2V0UHJlZmVyZW5jZSgnZGF5JyxkYXRlKCdZbWQnKSk7CgkJfQoKCQkvLyBSZXR1cm4gZGF0YQoJCXJldHVybiAkZGF0YTsKCgl9CgoJLyoqCgkqIExvZyBWaXNpdCB0byBEYXRhYmFzZSAoZGF0YSB3ZXJlIHByZXBhcmVkIGluIFByZXBhcmVMb2dWaXNpdCkKCSogQHBhcmFtIGFycmF5ICRkYXRhIEFycmF5IHdpdGggbG9nZ2luZyBkYXRhLgoJKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBMb2dWaXNpdCgkZGF0YSwkdXJsPScnLCRwYWdlPTApIHsKCgkJLy8gQ2hlY2sgbWFpbiBpbnB1dCBmaWVsZHMKCQlpZiAoIWlzX2FycmF5KCRkYXRhKSB8fCAhdHJpbSgkdXJsKSkgcmV0dXJuIGZhbHNlOwoJCS8vIENoZWNrIGFycmF5IHZhbHVlcwoJCSRwYWdlID0gKGludCkkcGFnZTsKCQlpZiAoIWlzc2V0KCRkYXRhWydyZWZlcmVyJ10pKSAkZGF0YVsncmVmZXJlciddID0gJyc7CgkJaWYgKCFpc3NldCgkZGF0YVsnc2VhcmNoZW5naW5lJ10pKSAkZGF0YVsnc2VhcmNoZW5naW5lJ10gPSAnJzsKCQlpZiAoIWlzc2V0KCRkYXRhWydib3QnXSkpICRkYXRhWydib3QnXSA9ICcnOwoJCWlmICghaXNzZXQoJGRhdGFbJ2tleXdvcmQnXSkpICRkYXRhWydrZXl3b3JkJ10gPSAnJzsKCgkJLy8gTG9nIHZpc2l0IGZvciByZWZlcmVyCgkJJHNxbCA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfbG9nICh1cmwsIHBhZ2VfaWQsIHJlZmVyZXIsIHNlYXJjaGVuZ2luZSwgYm90LCBrZXl3b3JkLCBzZXNzaW9uaWQsIHZpc2l0dGltZSkgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/LCA/LCBOT1coKSknOwoJCSRyZXMgPSAkdGhpcy0+ZGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkdXJsLCAkcGFnZSwgJGRhdGFbJ3JlZmVyZXInXSwgJGRhdGFbJ3NlYXJjaGVuZ2luZSddLCAkZGF0YVsnYm90J10sICRkYXRhWydrZXl3b3JkJ10sIHNlc3Npb25faWQoKSkpOwoKCX0KCgkvKioKCSogTG9nZ2luZyB2aXNpdHMgdG8gZGVidWcgaXNzdWVzCgkqIEByZXR1cm4gYXJyYXkKCSovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gRGVidWdNRCgpewoJCS8vIEdldCByZWZlcmVyIChmcm9tdXJsKSBhbmQgdGFyZ2V0IHVybCAodG91cmwpCgkJJGZyb211cmwgPSAkdGhpcy0+cmVmZXJlcjsKCQkkdG91cmwgPSAkdGhpcy0+Y29uZmlnWydyb290X3VybCddLiRfU0VSVkVSWydSRVFVRVNUX1VSSSddOwoJCS8vIEluc2VydCBhIG5ldyBkZWJ1ZwoJCSRzcWwgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2RlYnVnIChpcCxzZXNzaW9uX2lkLGZyb211cmwsdG91cmwsc3RhdHVzLGNyZWF0ZWRfZGF0ZSxtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LD8sPyxOT1coKSxOT1coKSknOwoJCSRyZXMgPSAkdGhpcy0+ZGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkX1NFUlZFUlsnUkVNT1RFX0FERFInXSxzZXNzaW9uX2lkKCksJGZyb211cmwsJHRvdXJsLCdvaycpKTsKCQkvLyBHZXQgSUQgZnJvbSBsYXN0IGRlYnVnIGVudHJ5CgkJaWYgKCRyZXMpICR0aGlzLT5kZWJ1Z0lkID0gKGludCkkdGhpcy0+ZGItPkdldE9uZSgnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2RlYnVnIFdIRVJFIHNlc3Npb25faWQ9PyBPUkRFUiBCWSBtb2RpZmllZF9kYXRlIERFU0MgTElNSVQgMScsIGFycmF5KHNlc3Npb25faWQoKSkpOwoJCS8vIERlbGV0ZSBvbGQgZGVidWcgbWVzc2FnZXMKCQkkY291bnRkaWQgPSAoaW50KSR0aGlzLT5kYi0+R2V0T25lKCdTRUxFQ1QgY291bnQoaWQpIGFzIGFuemFobCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9kZWJ1ZycsYXJyYXkoKSk7CgkJaWYgKCRjb3VudGRpZD4xMDApIHsKCQkJJG1heGRpZCA9IChpbnQpJHRoaXMtPmRiLT5HZXRPbmUoJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9kZWJ1ZyBPUkRFUiBCWSBtb2RpZmllZF9kYXRlIERFU0MgTElNSVQgOTksMScsIGFycmF5KCkpOwoJCQkkcmVzID0gJHRoaXMtPmRiLT5FeGVjdXRlKCdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZGVidWcgV0hFUkUgaWQ8PycsYXJyYXkoJG1heGRpZCkpOwoJCX0KCX0KCgkvKioKCSogUmVkaXJlY3RzIGFuIG9sZCBVUkwgdG8gYW4gc3BlY2lmaWVkIHBhZ2UgKHNlbGVjdGFibGUgaW4gdGhlIG1vZHVsZSBiYWNrZW5kKS4KCSogQHBhcmFtIGFycmF5ICRsb2cgUHJlcGFyZWQgbG9nIGRhdGEuCgkqLwoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFJlZGlyZWN0VVJMKCRsb2cpIHsKCgkJLy8gU2V0IHZhcmlhYmxlcwoJCSRydXJsID0gJyc7CgkJCgkJLy8gR2V0IGVycm9ycGFnZSBpZiBvbmUgd2FzIGNyZWF0ZWQKCQkkZTQwNCA9ICR0aGlzLT5kYi0+R2V0T25lKCdTRUxFQ1QgY29udGVudF9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50IFdIRVJFIHR5cGU9ImVycm9ycGFnZSInLCBhcnJheSgpKTsKCgkJLy8gQ2hlY2ssIHdoZXRoZXIgcGFnZSBpcyBhIG5vdCBleGlzdGluZyBOZXdzCgkJJGlzbmV3cyA9IDE7CgkJaWYgKCR0aGlzLT50Yi0+cGFnZUlkPj0wICYmIHByZWdfbWF0Y2goJy9eXFwvbmV3c1xcLyhcZCspXFwvKC4qKS8nLCRfU0VSVkVSWydSRVFVRVNUX1VSSSddLCRuZXdzaW5mbykpIHsKCQkJJG5ld3NpZCA9IChpbnQpJG5ld3NpbmZvWzFdOwoJCQlpZiAoJG5ld3NpZCkgJGlzbmV3cyA9ICR0aGlzLT5kYi0+R2V0T25lKCdTRUxFQ1QgbmV3c19pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfbmV3cyBXSEVSRSBzdGF0dXM9InB1Ymxpc2hlZCIgQU5EIG5ld3NfaWQ9PycsIGFycmF5KCRuZXdzaWQpKTsKCQl9CgoJCS8vIExvb2sgZm9yIHJlZGlyZWN0IHVybHMKCQkjZWNobyAkdGhpcy0+dGItPnBhZ2VJZC4nPGJyIC8+Jy4kZTQwNC4nPGJyIC8+Jy4kaXNuZXdzO2V4aXQ7CgkJaWYgKCR0aGlzLT50Yi0+cGFnZUlkPD0wIHx8ICgkZTQwNCAmJiAkdGhpcy0+dGItPnBhZ2VJZD09JGU0MDQpIHx8ICEkaXNuZXdzKSB7CgoJCQkvLyBHZXQgcmVkaXJlY3QgdXJscwoJCQkkdXJscyA9ICR0aGlzLT5kYi0+R2V0QWxsKCdTRUxFQ1QgcGFnZV9pZCx0b3VybCxpZCx1cmwsdXJsX3JlZ2V4cCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9yZWRpcmVjdCBXSEVSRSBhY3RpdmU9MSBBTkQgKHBhZ2VfaWQ+MCBPUiB0b3VybCE9IiIpJyxhcnJheSgpKTsKCQkJLy8gV2FsayB0aHJvdWdoIHJlZGlyZWN0IHVybHMKCQkJaWYgKCR1cmxzKSB7CgoJCQkJLy8gR2V0IHJlcXVlc3RldCB1cmwKCQkJCSR1cmwgPSAkdGhpcy0+Y29uZmlnWydyb290X3VybCddLiRfU0VSVkVSWydSRVFVRVNUX1VSSSddOwoJCQkJCgkJCQl3aGlsZSAoc3Vic3RyKCR1cmwsLTEpID09ICcvJykgeyAkdXJsID0gc3Vic3RyKCR1cmwsMCwtMSk7IH0KCQkJCS8vIExvb2sgZm9yIG1hdGNoZXMgb2YgdXJscwoJCQkJZm9yZWFjaCAoJHVybHMgYXMgJHUpIHsKCQkJCQkvLyBHZXQgdGFyZ2V0IHVybAoJCQkJCXdoaWxlIChzdWJzdHIoJHVbJ3VybCddLC0xKSA9PSAnLycpIHsgJHVbJ3VybCddID0gc3Vic3RyKCR1Wyd1cmwnXSwwLC0xKTsgfQoJCQkJCS8vIFRlc3QgaWYgdXJsIG1hdGNoZXMKCQkJCQkkcmVnZXhwX21hdGNoID0gZmFsc2U7CgkJCQkJaWYgKCR1Wyd1cmxfcmVnZXhwJ10pIHsKCQkJCQkJJHZyZWdleHAgPSAnLycuc3RyX3JlcGxhY2UoJy8nLCdcXC8nLCR1Wyd1cmwnXSkuJy8nOwoJCQkJCQlpZihwcmVnX21hdGNoKCR2cmVnZXhwLCR1cmwpKSAkcmVnZXhwX21hdGNoID0gdHJ1ZTsKCQkJCQl9CgkJCQkJaWYgKCR1cmw9PSR1Wyd1cmwnXSB8fCAkcmVnZXhwX21hdGNoKSB7CgkJCQkJCS8vIEdldCB0b3VybCwgaWYgc2V0CgkJCQkJCSR0b3VybCA9IHRyaW0oJHVbJ3RvdXJsJ10pID8gJHVbJ3RvdXJsJ10gOiAnJzsKCQkJCQkJaWYgKCR0b3VybCkgJHVbJ3BhZ2VfaWQnXSA9IDA7CgkJCQkJCS8vIENoZWNrLCBpZiByZXF1ZXN0ZWQgcGFnZSBpcyBzdGFuZGFyZCBwYWdlCgkJCQkJCSRkZWZhdWx0ID0gZmFsc2U7CgkJCQkJCWlmICgkdVsncGFnZV9pZCddPjAgJiYgISR0b3VybCkgeyAkZGVmYXVsdCA9ICR1WydwYWdlX2lkJ109PWNtc21zKCktPmdldF92YXJpYWJsZSgnZGVmYXVsdF9jb250ZW50X2lkJykgPyB0cnVlIDogZmFsc2U7IH0KCQkJCQkJLy8gQ2FzZSwgaWYgVVJMcyBmb3IgcGFnZXMgYXJlIHVzZWQKCQkJCQkJaWYgKCEkdG91cmwpIHsKCQkJCQkJCSRwYWdlX3VybCA9ICR0aGlzLT5kYi0+R2V0T25lKCdTRUxFQ1QgcGFnZV91cmwgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nY29udGVudCBXSEVSRSBhY3RpdmU9MSBBTkQgY29udGVudF9pZD0/JyxhcnJheSgkdVsncGFnZV9pZCddKSk7CgkJCQkJCQlpZiAoJHBhZ2VfdXJsKSB7CgkJCQkJCQkJJHJ1cmwgPSAkZGVmYXVsdCA/ICR0aGlzLT5jb25maWdbJ3Jvb3RfdXJsJ10gOiAkdGhpcy0+Y29uZmlnWydyb290X3VybCddLicvJy4kcGFnZV91cmw7CgkJCQkJCQkJaWYgKCEkZGVmYXVsdCAmJiAhJHRoaXMtPmNvbmZpZ1sncGFnZV9leHRlbnNpb24nXSB8fCAkdGhpcy0+Y29uZmlnWydwYWdlX2V4dGVuc2lvbiddPT0nLycpICRydXJsLj0nLyc7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQkJLy8gQ2FzZSwgaWYgb25seSBhbGlhc2VzIGZvciBwYWdlcyBhcmUgdXNlZAoJCQkJCQlpZiAoISRydXJsICYmICEkdG91cmwpIHsKCQkJCQkJCS8vIExvb2sgZm9yIGNvbnRlbnQgcGFnZSBwYXJlbnRzCgkJCQkJCQkkcGFyZW50cyA9IGFycmF5KCk7CgkJCQkJCQkkcGFyZW50c1tdID0gJHVbJ3BhZ2VfaWQnXTsKCQkJCQkJCWlmICgkdGhpcy0+Y29uZmlnWyd1c2VfaGllcmFyY2h5J10pIHsKCQkJCQkJCQkkcGFyZW50dGVtcCA9ICR0aGlzLT5kYi0+R2V0T25lKCdTRUxFQ1QgcGFyZW50X2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2NvbnRlbnQgV0hFUkUgYWN0aXZlPTEgQU5EIHR5cGUhPSJzZWN0aW9uaGVhZGVyIiBBTkQgdHlwZSE9ImVycm9ycGFnZSIgQU5EIHR5cGUhPSJzZXBhcmF0b3IiIEFORCBjb250ZW50X2lkID0gPycsIGFycmF5KCR1WydwYWdlX2lkJ10pKTsKCQkJCQkJCQl3aGlsZSAoJHBhcmVudHRlbXAgPiAwKSB7CgkJCQkJCQkJCSRwYXJlbnRzW10gPSAkcGFyZW50dGVtcDsKCQkJCQkJCQkJJHBhcmVudHRlbXAgPSAkdGhpcy0+ZGItPkdldE9uZSgnU0VMRUNUIHBhcmVudF9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50IFdIRVJFIGFjdGl2ZT0xIEFORCB0eXBlIT0ic2VjdGlvbmhlYWRlciIgQU5EIHR5cGUhPSJlcnJvcnBhZ2UiIEFORCB0eXBlIT0ic2VwYXJhdG9yIiBBTkQgY29udGVudF9pZCA9ID8nLCBhcnJheSgkcGFyZW50dGVtcCkpOwoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJCWZvcmVhY2ggKCRwYXJlbnRzIGFzICRwKSB7CgkJCQkJCQkJJHJ1cmwgPSAkdGhpcy0+ZGItPkdldE9uZSgnU0VMRUNUIGNvbnRlbnRfYWxpYXMgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nY29udGVudCBXSEVSRSBhY3RpdmU9MSBBTkQgdHlwZSE9InNlY3Rpb25oZWFkZXIiIEFORCB0eXBlIT0iZXJyb3JwYWdlIiBBTkQgdHlwZSE9InNlcGFyYXRvciIgQU5EIGNvbnRlbnRfaWQgPSA/JywgYXJyYXkoJHApKS4nLycuJHJ1cmw7CgkJCQkJCQl9CgkJCQkJCQkvLyBCdWlsZCB1cmwKCQkJCQkJCWlmICgkcnVybCkgewoJCQkJCQkJCXdoaWxlIChzdWJzdHIoJHJ1cmwsLTEpID09ICcvJykgeyAkcnVybCA9IHN1YnN0cigkcnVybCwwLC0xKTsgfQoJCQkJCQkJCWlmICgkcnVybCkgJHJ1cmwgPSAkcnVybC4kdGhpcy0+Y29uZmlnWydwYWdlX2V4dGVuc2lvbiddOyAKCQkJCQkJCX0KCQkJCQkJCSRydXJsID0gJGRlZmF1bHQgPyAkdGhpcy0+Y29uZmlnWydyb290X3VybCddIDogJHRoaXMtPmNvbmZpZ1sncm9vdF91cmwnXS4nLycuJHJ1cmw7CgkJCQkJCX0KCQkJCQkJLy8gTG9nIGN1cnJlbnQgdmlzaXQKCQkJCQkJaWYgKCR0aGlzLT5sb2dnaW5nKSAkdGhpcy0+TG9nVmlzaXQoJGxvZywkdXJsLCR1WydwYWdlX2lkJ10pOwoJCQkJCQkvLyBSZWRpcmVjdAoJCQkJCQlpZiAoISR0b3VybCAmJiAkcnVybCE9JHRoaXMtPmh0dHAuJF9TRVJWRVJbJ0hUVFBfSE9TVCddLiRfU0VSVkVSWydSRVFVRVNUX1VSSSddKSB7CgkJCQkJCQlpZiAoJHRoaXMtPmRlYnVnSWQpIHsKCQkJCQkJCQkkc3FsID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZGVidWcgU0VUIG1vZGlmaWVkX2RhdGU9Tk9XKCksIHN0YXR1cz0/IFdIRVJFIGlkPT8nOwoJCQkJCQkJCSRyZXMgPSAkdGhpcy0+ZGItPkV4ZWN1dGUoJHNxbCxhcnJheSgnMzAxOicuJHJ1cmwsJHRoaXMtPmRlYnVnSWQpKTsKCQkJCQkJCX0KCQkJCQkJCSR0aGlzLT5SZWRpcmVjdE5vdygkcnVybCk7CgkJCQkJCX0gZWxzZSBpZiAoJHRvdXJsICYmICR0b3VybCE9JHRoaXMtPmh0dHAuJF9TRVJWRVJbJ0hUVFBfSE9TVCddLiRfU0VSVkVSWydSRVFVRVNUX1VSSSddKSB7CgkJCQkJCQlpZiAoJHRoaXMtPmRlYnVnSWQpIHsKCQkJCQkJCQkkc3FsID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZGVidWcgU0VUIG1vZGlmaWVkX2RhdGU9Tk9XKCksIHN0YXR1cz0/IFdIRVJFIGlkPT8nOwoJCQkJCQkJCSRyZXMgPSAkdGhpcy0+ZGItPkV4ZWN1dGUoJHNxbCxhcnJheSgnMzAxOicuJHRvdXJsLCR0aGlzLT5kZWJ1Z0lkKSk7CgkJCQkJCQl9CgkJCQkJCQkkdGhpcy0+UmVkaXJlY3ROb3coJHRvdXJsKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCX0KCgkvKioKCSogTG9ncyBhbiBlcnJvciAoZS5nLiA0MDQpLgoJKiBAcGFyYW0gYXJyYXkgJGxvZyBQcmVwYXJlZCBsb2cgZGF0YS4KCSovCglmdW5jdGlvbiBMb2dFcnJvcigkbG9nKSB7CgoJCS8vIFNldCBnbG9iYWwgdmFycwoJCSRpZCA9IChpbnQpJHRoaXMtPnRiLT5wYWdlSWQ7CgkJCgkJJHJlZGlyZWN0ID0gZmFsc2U7CgkJJGRvbWFpbiA9ICRfU0VSVkVSWydIVFRQX0hPU1QnXTsKCQkkdXJsID0gJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ107CgoJCS8vIExvZyBlcnJvcnMgKDQwNCkKCQkkZTQwNCA9ICR0aGlzLT5kYi0+R2V0T25lKCdTRUxFQ1QgY29udGVudF9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50IFdIRVJFIHR5cGU9ImVycm9ycGFnZSInLCBhcnJheSgpKTsKCQkKCQkvLyBMb2cgZXJyb3JzIGlmIGl0IGlzIG9uZQoJCWlmICgkaWQ8MCB8fCAoJGU0MDQgJiYgJGlkPT0kZTQwNCkpIHsKCQkJLy8gU2V0IERlYnVnIG1lc3NhZ2Ugc3RhdHVzIHRvIDQwNAoJCQlpZiAoJHRoaXMtPmRlYnVnSWQpIHsKCQkJCSRzcWwgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9kZWJ1ZyBTRVQgbW9kaWZpZWRfZGF0ZT1OT1coKSwgc3RhdHVzPT8gV0hFUkUgaWQ9Pyc7CgkJCQkkcmVzID0gJHRoaXMtPmRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoJzQwNCcsJHRoaXMtPmRlYnVnSWQpKTsKCQkJfQoJCQkvLyBHZXQgaWdub3JlIGZpbHRlcnMKCQkJJGVmaWx0ZXIgPSAkdGhpcy0+ZGItPkdldEFsbCgnU0VMRUNUIGlkLGl1cmwsaXJlZ2V4cCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnNfaWdub3JlJywgYXJyYXkoKSk7CgkJCS8vIEdldCByZWZlcmVyIChmcm9tdXJsKSBhbmQgdGFyZ2V0IHVybCAodG91cmwpCgkJCSRmcm9tdXJsID0gaXNzZXQoJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKSA/ICRfU0VSVkVSWydIVFRQX1JFRkVSRVInXSA6ICcnOwoJCQkkdG91cmwgPSAkdGhpcy0+aHR0cC4kZG9tYWluLiR1cmw7CgkJCS8vIENoZWNrIGZvciBpZ25vcmUgZmlsdGVyCgkJCSRpZ25vcmUgPSBmYWxzZTsKCQkJZm9yZWFjaCAoJGVmaWx0ZXIgYXMgJGVmKSB7CgkJCQlpZiAoJGVmWydpcmVnZXhwJ10+MCkgewoJCQkJCSRpcmVnZXhwID0gJy8nLnN0cl9yZXBsYWNlKCcvJywnXFwvJywkZWZbJ2l1cmwnXSkuJy8nOwoJCQkJCWlmIChwcmVnX21hdGNoKCRpcmVnZXhwLCR0b3VybCkpICRpZ25vcmUgPSB0cnVlOwoJCQkJfSBlbHNlIGlmICgkZWZbJ2l1cmwnXT09JHRvdXJsKSB7CgkJCQkJJGlnbm9yZSA9IHRydWU7CgkJCQl9CgkJCX0KCQkJCgkJCWlmICghJGlnbm9yZSkgewoJCQkJLy8gQ2hlY2ssIGlmIGVycm9yIGFscmVhZHkgZXhpc3RzCgkJCQkkZXJyb3JleGlzdHMgPSAkdGhpcy0+ZGItPkdldFJvdygnU0VMRUNUIGlkLGZyb211cmwgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzIFdIRVJFIHRvdXJsID0gPyBBTkQgbW9kaWZpZWRfZGF0ZSA+IFVOSVhfVElNRVNUQU1QKCBOT1coKSAtIDYwICkgTElNSVQgMScsIGFycmF5KCR0b3VybCkpOwoJCQkJaWYgKCRlcnJvcmV4aXN0cykgewoJCQkJCSRlcnJvcmlkID0gJGVycm9yZXhpc3RzWydpZCddOwoJCQkJCSR0ZnJvbXVybCA9ICRlcnJvcmV4aXN0c1snZnJvbXVybCddID8gJGVycm9yZXhpc3RzWydmcm9tdXJsJ10gOiAnJzsKCQkJCX0gZWxzZSB7CgkJCQkJJGVycm9yaWQgPSAwOwoJCQkJCSR0ZnJvbXVybCA9ICcnOwoJCQkJfQoJCQkJLy8gVXBkYXRlIGVycm9yLCBpZiBpdCBleGlzdHMKCQkJCWlmICgkZXJyb3JpZCAmJiAkdGZyb211cmw9PSRmcm9tdXJsKSB7CgkJCQkJJHNxbCA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9ycyBTRVQgdmlzaXRzID0gdmlzaXRzICsgMSwgbW9kaWZpZWRfZGF0ZT1OT1coKSBXSEVSRSBpZD0/JzsKCQkJCQkkcmVzID0gJHRoaXMtPmRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoJGVycm9yaWQpKTsKCQkJCS8vIEluc2VydCBhIG5ldyBlcnJvcgoJCQkJfSBlbHNlIHsKCQkJCQkkc3FsID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnMgKGZyb211cmwsdG91cmwsdmlzaXRzLGNyZWF0ZWRfZGF0ZSxtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPywxLE5PVygpLE5PVygpKSc7CgkJCQkJJHJlcyA9ICR0aGlzLT5kYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCRmcm9tdXJsLCR0b3VybCkpOwoJCQkJfQoJCQkJLy8gRGVsZXRlIG9sZCBlcnJvcnMKCQkJCSRjb3VudGRpZCA9IChpbnQpJHRoaXMtPmRiLT5HZXRPbmUoJ1NFTEVDVCBjb3VudChpZCkgYXMgYW56YWhsIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2Vycm9ycycsYXJyYXkoKSk7CgkJCQlpZiAoJGNvdW50ZGlkPjAgJiYgJGNvdW50ZGlkPihpbnQpJHRoaXMtPnRiLT5HZXRQcmVmZXJlbmNlKCdtYXhfNDA0JykpIHsKCQkJCQkkbWF4ZGlkID0gJHRoaXMtPmRiLT5HZXRPbmUoJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnMgT1JERVIgQlkgbW9kaWZpZWRfZGF0ZSBERVNDIExJTUlUID8sMScsIGFycmF5KChpbnQpJHRoaXMtPnRiLT5HZXRQcmVmZXJlbmNlKCdtYXhfNDA0JyktMSkpOwoJCQkJCSRyZXMgPSAkdGhpcy0+ZGItPkV4ZWN1dGUoJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnMgV0hFUkUgaWQ8PycsYXJyYXkoJG1heGRpZCkpOwoJCQkJfQoJCQl9CgkJfQoKCX0KCgkvKioKCSogUmVkaXJlY3RzIHRvIGEgbmV3IFVSTCBhbmQgYWJvcnRzIHRoZSBzY3JpcHQuCgkqIEBwYXJhbSBzdHJpbmcgJHVybCBVUkwgdG8gcmVkaXJlY3QgdG8gLi4uCgkqLwoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFJlZGlyZWN0Tm93KCR1cmwpIHsKCQlpZiAodHJpbSgkdXJsKSkgewoJCQkjZWNobyB0cmltKCR1cmwpO2V4aXQ7CgkJCWhlYWRlcignSFRUUC8xLjEgMzAxIE1vdmVkIFBlcm1hbmVudGx5Jyk7CgkJCWhlYWRlcignTG9jYXRpb246ICcudHJpbSgkdXJsKSk7CgkJCWV4aXQoKTsKCQl9Cgl9CgoJCQoJCgkKCQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.tbTools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6CQlUb29sQm94ClRpdGxlOgkJRXh0ZW5kZWQgdG9vbHMgY2xhc3MKVmVyc2lvbjoJMS4yCkRlc2NyaXB0LjoJU21hcnR5LUV4dGVuc2lvbiBmb3Igc29tZSB1c2VmdWwgZnVuY3Rpb25zCkxhc3QgTW9kLjoJMDkuMTEuMjAxMgpBdXRob3I6CQlMdWthcyBCbGF0dGVyCkVtYWlsOgkJbHVrYXMuYmxhdHRlckBibGF0dGVydGVjaC5jaApOb3RlczoKTGljZW5jZToJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKCQkJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKCQkJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKCQkJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KCQkJSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCgkJCWFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQoJCQlpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCgkJCU1hZGUgU2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgoJCQlzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgU2ltcGxlLgoJCQlGaW5kIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgQ01TIE1hZGUgU2ltcGxlIG9uIGl0cyB3ZWJzaXRlOgoJCQlodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnLwoJCQlUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKCQkJYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKCQkJTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQoJCQlHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgoJCQlZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQoJCQlhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQoJCQlGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQoJCQlPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCmNsYXNzIHRiVG9vbHMKewoJcHJpdmF0ZSBzdGF0aWMgJF9pbnN0YW5jZTsKCQoJcHJpdmF0ZSBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHt9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfaW5zdGFuY2UoKQoJewoJCWlmKCFzZWxmOjokX2luc3RhbmNlKQoJCQlzZWxmOjokX2luc3RhbmNlID0gbmV3IHNlbGY7CgkJcmV0dXJuIHNlbGY6OiRfaW5zdGFuY2U7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBfX2NhbGwoJG1ldGhvZCwgJGFyZ3MpCgl7CgkJaWYgKCFtZXRob2RfZXhpc3RzKF9fQ0xBU1NfXywkbWV0aG9kKSkgewogICAgICAgICAgICAkbWVzc2FnZSA9ICdtZXRob2QgXCcnIC4gX19DTEFTU19fIC4gJzo6JyAuICRtZXRob2QgLiAnXCcgaXMgdW5rbm93bi4nOwogICAgICAgICAgICBlY2hvICRtZXNzYWdlOwogICAgICAgICAgICB0cmlnZ2VyX2Vycm9yKCRtZXNzYWdlLEVfVVNFUl9XQVJOSU5HICk7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KCQkKCQlyZXR1cm4gY2FsbF91c2VyX2Z1bmNfYXJyYXkoX19DTEFTU19fIC4gJzo6JyAuICRtZXRob2QsICRhcmdzKTsKCQkKCX0KCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIF9fY2FsbFN0YXRpYygkbWV0aG9kLCAkYXJncykKCXsKCQlpZiAoIW1ldGhvZF9leGlzdHMoX19DTEFTU19fLCRtZXRob2QpKSB7CiAgICAgICAgICAgICRtZXNzYWdlID0gJ21ldGhvZCBcJycgLiBfX0NMQVNTX18gLiAnOjonIC4gJG1ldGhvZCAuICdcJyBpcyB1bmtub3duLic7CiAgICAgICAgICAgIGVjaG8gJG1lc3NhZ2U7CiAgICAgICAgICAgIHRyaWdnZXJfZXJyb3IoJG1lc3NhZ2UsRV9VU0VSX1dBUk5JTkcgKTsKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfQoJCXJldHVybiBjYWxsX3VzZXJfZnVuY19hcnJheShfX0NMQVNTX18gLiAnOjonIC4gJG1ldGhvZCwgJGFyZ3MpOwoJfQoKCQoJCgkKCS8qKgoJICoKCSAqIFByw7xmdCwgb2IgZGVyIGFuZ2VnZWJlbmUgQWxpYXMgZWluZSBQYWdlSUQgaXN0IHVuZCBnaWJ0IGRlbiBBbGlhcyB6dXLDvGNrCgkgKiBAcGFyYW0gJGFsaWFzCgkgKiBAcmV0dXJuIHN0cmluZyAkYWxpYXMKCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIsIDIwLjEyLjIwMTEKCSAqLwoJcHJpdmF0ZSBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0QWxpYXMoJGFsaWFzKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCgkJJG1hbmFnZXIgPSAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoJCSRub2RlID0gJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkYWxpYXMpOwogICAgCWlmICghaXNzZXQoJG5vZGUpKSB7CgkJCSRub2RlID0gJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkYWxpYXMpOwoJCQlpZiAoaXNzZXQoJG5vZGUpKQoJCQkJJGFsaWFzID0gJG5vZGUtPmdldF90YWcoJGFsaWFzKTsKCQkJZWxzZQoJCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgoJCXJldHVybiAkYWxpYXM7Cgl9CgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPnNlbGZfdXJsIGJ5IFJvYmVydCBDYW1wYmVsbAoJICogR2lidCBkaWUgYWt0dWVsbGUgU2VpdGVuLVVSTCB6dXLvv71jawoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKiBAcmV0dXJuIHN0cmluZyAvIHNtYXJ0eSBhc3NpZ24KCSAqLwoJcHJpdmF0ZSBzdGF0aWMgZmluYWwgZnVuY3Rpb24gc2VsZlVybCgkYXNzaWduPScnKQoJewoJCSRzID0gZW1wdHkoJF9TRVJWRVJbIkhUVFBTIl0pID8gJycgOiAoJF9TRVJWRVJbIkhUVFBTIl0gPT0gIm9uIikgPyAicyIgOiAiIjsKCQkkcCA9IHN0cnBvcygkX1NFUlZFUlsnU0VSVkVSX1BST1RPQ09MJ10sJy8nKTsKCQkkcHJvdG9jb2wgPSBzdHJ0b2xvd2VyKHN1YnN0cigkX1NFUlZFUlsnU0VSVkVSX1BST1RPQ09MJ10sMCwkcCkpLiRzOwoJCSRwb3J0ID0gKCRfU0VSVkVSWyJTRVJWRVJfUE9SVCJdID09ICI4MCIpID8gIiIgOiAoIjoiLiRfU0VSVkVSWyJTRVJWRVJfUE9SVCJdKTsKCQkkcyA9ICRwcm90b2NvbC4iOi8vIi4kX1NFUlZFUlsnU0VSVkVSX05BTUUnXS4kcG9ydDsKCgkJJHVybCA9ICRzLiRfU0VSVkVSWydSRVFVRVNUX1VSSSddOwoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkZ0NtcyA9IGNtc21zKCk7CgkJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgkJCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCR1cmwpOwoJCQlyZXR1cm47CgkJfQoJCXJldHVybiAkdXJsOwoJfQoJCgoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfcGFyZW50X2FsaWFzIGJ5IFJvYmVydCBDYW1wYmVsbAoJICogR2lidCBkZW4gQWxpYXMgZGVyIFBhcmVudCBQYWdlIG9kZXIgZGVuIEFsaWFzIGRlciBQYXJlbnQgUGFnZSBlaW5lciBkZWZpbmllcnRlbiBTZWl0ZSB6dXLvv71jawoJICogQHBhcmFtIHN0cmluZyAkYWxpYXMKCSAqIEBwYXJhbSBzdHJpbmcgJGFzc2lnbgoJICovCgoJcHJpdmF0ZSBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0UGFyZW50QWxpYXMoJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgoJCWlmKCAkYWxpYXMgPT0gJycgKSB7CgkJCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CgkJfQoJCWVsc2UKCQkJJGFsaWFzID0gc2VsZjo6Z2V0QWxpYXMoJGFsaWFzKTsKCgkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKCQlpZiggIWlzX29iamVjdCgkY29udGVudCkgKSByZXR1cm4gJyc7CgoJCSRwYXJlbnRpZCA9ICRjb250ZW50LT5QYXJlbnRJZCgpOwoJCWlmKCAkcGFyZW50aWQgPD0gMCApIHJldHVybiAnJzsKCQkkYWxpYXMgPSAkY29udGVudG9wcy0+R2V0UGFnZUFsaWFzRnJvbUlkKCRwYXJlbnRpZCk7CgoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkYWxpYXMpOwoJCQlyZXR1cm47CiAgICAJfQogIAkJcmV0dXJuICRhbGlhczsKCX0KCgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPmdldF9yb290X2FsaWFzKCkgYnkgUm9iZXJ0IENhbXBiZWxsCgkgKiBnaWJ0IGRlbiBQYWdlIEFsaWFzIGRlciBSb290c2VpdGUgKG9iZXJzdGUgRWJlbmUpIGFrdHVlbGxlbiBvZGVyIGVpbmVyIGRlZmluaWVydGVuIFNlaXRlIHp1cu+/vWNrCgkgKiBAcGFyYW0gdW5rbm93bl90eXBlICRhbGlhcwoJICogQHBhcmFtIHVua25vd25fdHlwZSAkYXNzaWduCgkgKi8KCXByaXZhdGUgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldFJvb3RBbGlhcygkYWxpYXMgPSAnJywkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBjbXNtcygpOwoJCSRjb250ZW50b3BzID0gJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgkJJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCgkJaWYoICRhbGlhcyA9PSAnJyApIHsKCQkJJGFsaWFzID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ3BhZ2VfYWxpYXMnKTsKCQl9CgkJZWxzZQoJCQkkYWxpYXMgPSBzZWxmOjpnZXRBbGlhcygkYWxpYXMpOwoKICAJCSRpZCA9ICRjb250ZW50b3BzLT5HZXRQYWdlSURGcm9tQWxpYXMoJGFsaWFzKTsKCQl3aGlsZSggJGlkID4gMCApIHsKCQkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tSWQoJGlkKTsKCQkJaWYoICFpc19vYmplY3QoICRjb250ZW50ICkgKSByZXR1cm4gJyc7CgkJCSRhbGlhcyA9ICRjb250ZW50LT5BbGlhcygpOwoJCQkkaWQgPSAkY29udGVudC0+UGFyZW50SWQoKTsKCQl9CgogICAgCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkYWxpYXMpOwoJCQlyZXR1cm47CgkJfQoJCXJldHVybiAkYWxpYXM7Cgl9CgoKCS8qKgoJICogZ2lidCBkZW4gUGFnZSBBbGlhcyBlaW5lciBQYXJlbnRzZWl0ZSBhdWYgZWluZW0gYmVzdGltbXRlbiBMZXZlbCBhdXMuCgkgKiBAY29weXJpZ2h0IEx1a2FzIEJsYXR0ZXIKCSAqIEBwYXJhbSBzdHJpbmcgJGFsaWFzCgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24KCSAqIEByZXR1cm4gc3RyaW5nIC0gcGFnZSBhbGlhcwoJICovCglwcml2YXRlIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRMZXZlbEFsaWFzKCRsZXZlbCwgJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgoJCWlmKCAkYWxpYXMgPT0gJycgKSB7CgkJCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CgkJfQoJCWVsc2UKCQkJJGFsaWFzID0gc2VsZjo6Z2V0QWxpYXMoJGFsaWFzKTsKCiAgCQkkaWQgPSAkY29udGVudG9wcy0+R2V0UGFnZUlERnJvbUFsaWFzKCRhbGlhcyk7CgkJd2hpbGUoICRpZCA+IDAgKSB7CgkJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUlkKCRpZCk7CgkJCWlmKCAhaXNfb2JqZWN0KCAkY29udGVudCApICkgcmV0dXJuICcnOwoKCQkJJHBhZ2VsZXZlbCA9IHN1YnN0cl9jb3VudCgkY29udGVudC0+SGllcmFyY2h5KCksJy4nKSArIDE7CgkJCSRhbGlhcyA9ICRjb250ZW50LT5BbGlhcygpOwoJCQkkaWQgPSAkY29udGVudC0+UGFyZW50SWQoKTsKCgkJCWlmICgkcGFnZWxldmVsID09ICRsZXZlbCkgewoJCQkJYnJlYWs7CgkJCX0KCQkJZWxzZSBpZiAoJHBhZ2VsZXZlbCA8ICRsZXZlbCkgewoJCQkJcmV0dXJuICcnOwoJCQl9CgkJfQoKICAgIAlpZighZW1wdHkoJGFzc2lnbikpIHsKCQkJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGFsaWFzKTsKCQkJcmV0dXJuOwoJCX0KCQlyZXR1cm4gJGFsaWFzOwoJfQoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfcGFnZV90aXRsZSgpIGJ5IFJvYmVydCBDYW1wYmVsbAoJICogR2lidCBkZW4gU2VpdGVudGl0ZWwgZWluZXIgZGVmaW5pZXJ0ZW4gU2VpdGUgb2RlciBkZXIgYWt0dWVsbGVuIFNlaXRlIHp1cu+/vWNrCgkgKiBAcGFyYW0gdW5rbm93bl90eXBlICRhbGlhcwoJICogQHBhcmFtIHVua25vd25fdHlwZSAkYXNzaWduCgkgKi8KCglwcml2YXRlIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRQYWdlVGl0bGUoJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgoJCWlmKCAkYWxpYXMgPT0gJycgKSB7CgkJCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CgkgICAgfQoJICAgIGVsc2UKCQkJJGFsaWFzID0gc2VsZjo6Z2V0QWxpYXMoJGFsaWFzKTsKCgkJaWYoISRhbGlhcykgcmV0dXJuICcnOwoKCQkkY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwoJCWlmKCAhaXNfb2JqZWN0KCRjb250ZW50KSApIHJldHVybiAnJzsKCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRjb250ZW50LT5OYW1lKCkpOwoJCQlyZXR1cm47CgkgICAgfQoJCXJldHVybiAkY29udGVudC0+TmFtZSgpOwoJfQoKCgkvKioKCSAqIGJhc2VkIG9uICRjZ3NpbXBsZS0+Z2V0X3BhZ2VfbWVudXRleHQoKSBieSBSb2JlcnQgQ2FtcGJlbGwKCSAqIEdpYnQgZGVuIE1lbnV0ZXh0IGVpbmVyIGJlc3RpbW10ZW4gU2VpdGUgb2RlciBkZXIgYWt0dWVsbGVuIFNlaXRlIHp1cu+/vWNrCgkgKiBAcGFyYW0gc3RyaW5nICRhbGlhcwoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKi8KCglwcml2YXRlIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRQYWdlTWVudXRleHQoJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgoJCWlmKCAkYWxpYXMgPT0gJycgKSB7CgkJCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CgkJfQoJICAgIGVsc2UKCQkJJGFsaWFzID0gc2VsZjo6Z2V0QWxpYXMoJGFsaWFzKTsKCgkJaWYoISRhbGlhcykgcmV0dXJuIGZhbHNlOwoKCQkkY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwoJCWlmKCAhaXNfb2JqZWN0KCRjb250ZW50KSApIHJldHVybiAnJzsKCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRjb250ZW50LT5NZW51VGV4dCgpKTsKCQkJcmV0dXJuOwoJICAgIH0KCQlyZXR1cm4gJGNvbnRlbnQtPk1lbnVUZXh0KCk7Cgl9CgoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5oYXNfY2hpbGRyZW4oKSBieSBSb2JlcnQgQ2FtcGJlbGwKCSAqIEhhdCBlaW5lIGRlZmluaWVydGUgb2RlciBkaWUgYWt0dWVsbGUgU2VpdGUgd2VpdGVyZSBVbnRlcnNlaXRlbj8KCSAqIEBwYXJhbSAkYWxpYXMKCSAqIEBwYXJhbSAkYXNzaWduCgkgKi8KCglwcml2YXRlIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBoYXNDaGlsZHJlbigkYWxpYXMgPSAnJywkYXNzaWduID0gJycpCgl7CgkJJHJlc3VsdCA9IGZhbHNlOwoJCSRnQ21zID0gY21zbXMoKTsKCQkkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgoJCWlmKCAkYWxpYXMgPT0gJycgKSB7CgkJCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CgkgICAgfQoJICAgIGVsc2UKCSAgICAJJGFsaWFzID0gc2VsZjo6Z2V0QWxpYXMoJGFsaWFzKTsKCgkgICAgaWYoISRhbGlhcykgcmV0dXJuIGZhbHNlOwoKCQkkY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwoJCWlmKGlzX29iamVjdCgkY29udGVudCkgKQoJCQkkcmVzdWx0ID0gJGNvbnRlbnQtPkhhc0NoaWxkcmVuKCk7CgoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkcmVzdWx0KTsKCQkJcmV0dXJuOwoJICAgIH0KCQlyZXR1cm4gJHJlc3VsdDsKCX0KCgoJLyoqCgkgKiBHaWJ0IGRlbiBBbGlhcyBkZXIgZXJzdGVuIENoaWxkc2VpdGUgbWl0IEluaGFsdCBhdXMKCSAqIEBwYXJhbSBzdHJpbmcgJHBhcmVudGFsaWFzCgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24KCSAqIEBwYXJhbSBzdHJpbmcgJG9ubHlJbk1lbnUKCSAqIEBjb3B5cmlnaHQgTHVrYXMgQmxhdHRlcgoKCSAqLwoKCXByaXZhdGUgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldEZpcnN0Q2hpbGRBbGlhcygkcGFyZW50YWxpYXMgPSAnJywgJGFzc2lnbiA9ICcnLCAkb25seUluTWVudT10cnVlKQoJewoJCSRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKCgkJJGNoaWxkcmVuID0gc2VsZjo6Z2V0Q2hpbGRyZW4oJHBhcmVudGFsaWFzKTsKCgkJaWYgKCEkY2hpbGRyZW4pIHJldHVybiBmYWxzZTsKCgkJJGFsaWFzID0gZmFsc2U7CgkJZm9yZWFjaCgkY2hpbGRyZW4gYXMgJGNoaWxkKSB7CgkJCWlmICgkY2hpbGRbJ3R5cGUnXSA9PSAnZXJyb3JwYWdlJykgY29udGludWU7CgkJCWVsc2UgaWYgKCRjaGlsZFsndHlwZSddID09ICdzZWN0aW9uaGVhZGVyJyBvciAkY2hpbGRbJ3R5cGUnXSA9PSAnc2VwYXJhdG9yJyBvciAkY2hpbGRbJ3R5cGUnXSA9PSAnbGluaycpIHsKCQkJCWlmIChzZWxmOjpoYXNDaGlsZHJlbigkY2hpbGRbJ2FsaWFzJ10pKSB7CgkJCQkJJGFsaWFzID0gc2VsZjo6Z2V0Rmlyc3RDaGlsZEFsaWFzKCRjaGlsZFsnYWxpYXMnXSwnJywkb25seUluTWVudSk7CgkJCQkJaWYgKCRhbGlhcykgYnJlYWs7CgkJCQl9CgkJCX0KCQkJZWxzZSBpZiAoJG9ubHlJbk1lbnUgYW5kICRjaGlsZFsnc2hvd19pbl9tZW51J10pIHsKCQkJCSRhbGlhcyA9ICRjaGlsZFsnYWxpYXMnXTsKCQkJCWJyZWFrOwoJCQl9CgkJCWVsc2UgaWYgKCEkb25seUluTWVudSkgewoJCQkJJGFsaWFzID0gJGNoaWxkWydhbGlhcyddOwoJCQkJYnJlYWs7CgkJCX0KCQl9CgkJaWYgKCEkYWxpYXMpIHJldHVybiBmYWxzZTsKCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRhbGlhcyk7CgkJCXJldHVybjsKCSAgICB9CgkJcmV0dXJuICRhbGlhczsKCX0KCgkvKioKCSAqIEdpYnQgZGllIFVSTCBlaW5lciBkZWZpbmllcnRlbiBTZWl0ZSBhdXMKCSAqIEBwYXJhbSBzdHJpbmcgJGFsaWFzCgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24KCSAqIEBjb3B5cmlnaHQgTHVrYXMgQmxhdHRlcgoKCSAqLwoKCXByaXZhdGUgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldFBhZ2VVcmwoJGFsaWFzID0gJycsICRhc3NpZ24gPSAnJykKCXsKCQkkZ0NtcyA9IGNtc21zKCk7CgkJJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoKCQlpZiggJGFsaWFzID09ICcnICkgewoJCQkkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwoJCX0KCSAgICBlbHNlCgkJCSRhbGlhcyA9IHNlbGY6OmdldEFsaWFzKCRhbGlhcyk7CgoJCWlmKCEkYWxpYXMpIHJldHVybiBmYWxzZTsKCgkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKCQlpZiggIWlzX29iamVjdCgkY29udGVudCkgKSByZXR1cm4gJyc7CgoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkY29udGVudC0+R2V0VVJMKCkpOwoJCQlyZXR1cm47CgkgICAgfQoJCXJldHVybiAkY29udGVudC0+R2V0VVJMKCk7Cgl9CgoJLyoqCgkgKgoJICogR2lidCB6dXLDvGNrIG9iIGVpbmUgYmVzdGltbXRlIFNlaXRlIGRpZSBEZWZhdWx0c2VpdGUgaXN0CgkgKiBAY29weXJpZ2h0IEx1a2FzIEJsYXR0ZXIKCSAqIEBwYXJhbSBzdHJpbmcgJGFsaWFzIC0gYWxpYXMgb3IgaWQgb2YgYSBwYWdlCgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24gLSBuYW1lIG9mIGFzc2lnbiB2YXJpYWJsZQoJICovCgoJcHJpdmF0ZSBzdGF0aWMgZmluYWwgZnVuY3Rpb24gaXNEZWZhdWx0UGFnZSgkYWxpYXMgPSAnJywgJGFzc2lnbiA9ICcnKQoJewoJCSRkZWZhdWx0ID0gZmFsc2U7CgkJJGdDbXMgPSBjbXNtcygpOwoKCQkkYWxpYXMgPSBzZWxmOjpnZXRBbGlhcygkYWxpYXMpOwoJCWlmKCEkYWxpYXMpIHJldHVybiBmYWxzZTsKCgkJJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoKCQkkY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwoJCWlmKCBpc19vYmplY3QoJGNvbnRlbnQpICkgewoJCQkkZGVmYXVsdCA9ICRjb250ZW50LT5EZWZhdWx0Q29udGVudCgpOwoJCX0KCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLCRkZWZhdWx0KTsKCQkJcmV0dXJuOwoJCX0KCQlyZXR1cm4gJGRlZmF1bHQ7Cgl9CgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPmdldF9jaGlsZHJlbigpIGJ5IFJvYmVydCBDYW1wYmVsbAoJICogR2lidCBlaW5lciBBcnJheSBtaXQgZGVuIFBhZ2VJZHMgYWxsZXIgQ2hpbGQgU2VpdGVuIGVpbmVyIGJlc3RpbW10ZW4gU2VpdGUgb2RlciBkZXIgYWt0dWVsbGVuIFNlaXRlIHp1cu+/vWNrLgoJICogQHBhcmFtIHN0cmluZyAkYWxpYXMKCSAqIEBwYXJhbSBib29sZWFuICRzaG93YWxsCgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24KCgkgKi8KCglwcml2YXRlIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRDaGlsZHJlbigkYWxpYXMgPSAnJywkc2hvd2FsbCA9IGZhbHNlLCAkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBjbXNtcygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgoJCWlmKCAkYWxpYXMgPT0gJycgKSB7CgkJCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CgkJfQoJCWVsc2UKCQkJJGFsaWFzID0gc2VsZjo6Z2V0QWxpYXMoJGFsaWFzKTsKCgkJaWYoISRhbGlhcykgcmV0dXJuIGZhbHNlOwoKCQkkaG0gPSBjbXNtcygpLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CgkJJHBhcmVudCA9ICRobS0+Z2V0Tm9kZUJ5QWxpYXMoJGFsaWFzKTsKCQlpZiggISRwYXJlbnQgKSB7IHJldHVybiBmYWxzZTsgfQoKCQkkY2hpbGRfbm9kZXMgPSAkcGFyZW50LT5nZXRDaGlsZHJlbihmYWxzZSwkc2hvd2FsbCk7CgkJaWYoICFpc19hcnJheSgkY2hpbGRfbm9kZXMpIHx8IGNvdW50KCRjaGlsZF9ub2RlcykgPT0gMCApIHJldHVybiBmYWxzZTsKCgkJJHJlc3VsdHMgPSBhcnJheSgpOwoJCWZvcmVhY2goICRjaGlsZF9ub2RlcyBhcyAkbm9kZSApIHsKCQkJJGNvbnRlbnQgPSAkbm9kZS0+Z2V0Q29udGVudCgpOwoJCQlpZiggIWlzX29iamVjdCgkY29udGVudCkgKSBjb250aW51ZTsKCgkJCSRyb3cgPSBhcnJheSgnYWxpYXMnPT4kY29udGVudC0+QWxpYXMoKSwnaWQnPT4kY29udGVudC0+SWQoKSwKCQkgICAgICd0aXRsZSc9PiRjb250ZW50LT5OYW1lKCksJ21lbnV0ZXh0Jz0+JGNvbnRlbnQtPk1lbnVUZXh0KCksCgkJICAgICAnc2hvd19pbl9tZW51Jz0+JGNvbnRlbnQtPlNob3dJbk1lbnUoKSwndHlwZSc9PiRjb250ZW50LT5UeXBlKCkpOwoJCQkkcmVzdWx0c1tdID0gJHJvdzsKCQl9CgkJaWYoICFjb3VudCgkcmVzdWx0cykgKSByZXR1cm4gZmFsc2U7CgoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkcmVzdWx0cyk7CgkJCXJldHVybjsKCSAgICB9CgkJcmV0dXJuICRyZXN1bHRzOwoJfQoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfcGFnZV9jb250ZW50KCkgYnkgY2FsZ3V5MTAwMAoJICogR2lidCBkZW4gSW5oYWx0IGVpbmVzIGJlc3RpbW10ZW4gQ29udGVudCBCbG9ja3MgZWluZXIgZGVmaW5pZXJ0ZW4gU2VpdGUgenVy77+9Y2sKCSAqIEBwYXJhbSBzdHJpbmcgJGFsaWFzIC0gYWxpYXMgb3IgaWQgb2YgYSBwYWdlCgkgKiBAcGFyYW0gc3RyaW5nICRibG9jayAtIG5hbWUgb2YgdGhlIGNvbnRlbnRibG9jawoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduIC0gbmFtZSBvZiBhc3NpZ24gdmFyaWFibGUKCSAqLwoKCXByaXZhdGUgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldFBhZ2VDb250ZW50KCRhbGlhcywgJGJsb2NrID0gJycsJGFzc2lnbiA9ICcnKQoJewoJCSRyZXN1bHQgPSBmYWxzZTsKCQkkZ0NtcyA9IGNtc21zKCk7CgoJCSRhbGlhcyA9IHNlbGY6OmdldEFsaWFzKCRhbGlhcyk7CgkJaWYoISRhbGlhcykgcmV0dXJuIGZhbHNlOwoKCQkkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgoJCWlmKCAkYmxvY2sgPT0gJycgKSAkYmxvY2sgPSAnY29udGVudF9lbic7CgoJCWlmKCAkYWxpYXMgIT0gJycgKSB7CgkJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CgkJCWlmKCBpc19vYmplY3QoJGNvbnRlbnQpICkgewoJCQkJJHJlc3VsdCA9ICRjb250ZW50LT5HZXRQcm9wZXJ0eVZhbHVlKCRibG9jayk7CgkJCX0KCSAgICB9CgoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSwkcmVzdWx0KTsKCQkJcmV0dXJuOwoJCX0KCQlyZXR1cm4gJHJlc3VsdDsKCX0KCgkvKioKCSAqIEhhdCBCZXJlY2h0aWd1bmcgaW4gZGVuIGRlZmluaWVydGVuIEZFVSBVc2VyR3JvdXBzCgkgKiBAcGFyYW0gc3RyaW5nICRmZXVncm91cHMKCSAqIEBwYXJhbSBzdHJpbmcgJGFzc2lnbgoJICogQHJldHVybiBib29sZWFuIHRydWUvZmFsc2UKCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIsIDIwLjEyLjIwMTEKCSAqLwoKCXByaXZhdGUgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGhhc0ZldUdyb3VwQWNjZXNzKCRmZXVncm91cHMgPSAnJywgJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoKCQlpZiAoISRmZXVncm91cHMpIHsKCQkJaWYgKCFlbXB0eSgkYXNzaWduKSkgewoJCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksZmFsc2UpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCXJldHVybiBmYWxzZTsKCQl9CgoKCQkkZmV1c2VycyA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwoKCQlpZiAoISRmZXVncm91cHMgb3IgIWlzX09iamVjdCgkZmV1c2VycykpIHsKCQkJaWYgKCFlbXB0eSgkYXNzaWduKSkgewoJCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksZmFsc2UpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCSR1c2VyX2lkID0gJGZldXNlcnMtPkxvZ2dlZEluSWQoKTsKCQkkZ3JvdXBzID0gJGZldXNlcnMtPkdldE1lbWJlckdyb3Vwc0FycmF5KCR1c2VyX2lkKTsKCgkJJGducyA9IGFycmF5KCk7CgkJaWYoJGdyb3VwcyAhPT0gZmFsc2UgKSB7CgkJICAgIGZvcmVhY2goICRncm91cHMgYXMgJGdpZCApIHsKCQkgICAgICAgICRnbnNbXSA9ICRnaWRbJ2dyb3VwaWQnXTsKCQkgICAgfQoJCX0KCgkJJGZldUFycmF5PSBleHBsb2RlKCcsJywkZmV1Z3JvdXBzKTsKCQkkcmV0dmFsID0gZmFsc2U7CgkJZm9yZWFjaCAoJGZldUFycmF5IGFzICRmZXUpIHsKCQkJaWYgKGluX2FycmF5KCRmZXUsJGducykpIHsKCQkJCWlmICghZW1wdHkoJGFzc2lnbikpIHsKCQkJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSx0cnVlKTsKCQkJCQlyZXR1cm47CgkJCQl9CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCQlpZiAoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLGZhbHNlKTsKCQkJcmV0dXJuOwoJCX0KCQlyZXR1cm4gZmFsc2U7CgoJfS8vaWYKCgkvKioKCSAqIElzdCBkZXIgQmVudXR6ZXIgZWluZ2Vsb2dndAoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKiBAcmV0dXJuIGludCB1c2VyX2lkCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyLCAyMC4xMi4yMDExCgkgKi8KCglwcml2YXRlIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBpc0xvZ2dlZEluKCRhc3NpZ24gPSAnJykKCXsKCQkkZ0NtcyA9IGNtc21zKCk7CgkJJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCQkkZmV1c2VycyA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwoKCQlpZiAoIWlzX29iamVjdCgkZmV1c2VycykpIHsKCQkJaWYgKCFlbXB0eSgkYXNzaWduKSkgewoJCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksZmFsc2UpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCXJldHVybiBmYWxzZTsKCQl9Ly9pZgoKCQkkdXNlcl9pZCA9ICRmZXVzZXJzLT5Mb2dnZWRJbklkKCk7CgoJCWlmICgkdXNlcl9pZCkgewoJCQlpZiAoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSx0cnVlKTsKCQkJCXJldHVybjsKCQkJfQoJCQlyZXR1cm4gdHJ1ZTsKCQl9Ly9pZgoKCQlpZiAoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLGZhbHNlKTsKCQkJcmV0dXJuOwoJCX0vL2lmCgkJcmV0dXJuIGZhbHNlOwoKCX0vL2Z1bmN0aW9uCgoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfc2lsYmluZygpIGJ5IFJvYmVydCBDYW1wYmVsbAoJICogR2V0IHByZXYgc2libGluZwoJICogQHBhcmFtICRkaXIKCSAqIEBwYXJhbSAkYXNzaWduCgkgKiBAcGFyYW0gJGFsaWFzCgkgKi8KCglwcml2YXRlIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRTaWJsaW5nKCRkaXIsJGFzc2lnbiA9ICcnLCRhbGlhcyA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkZGIgPSAkZ0Ntcy0+R2V0RGIoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoJCSRjb250ZW50b3BzID0gJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgoJCWlmKCBlbXB0eSgkYWxpYXMpICkgewoJCQkkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwoJCX0KCQllbHNlCgkJCSRhbGlhcyA9IHNlbGY6OmdldEFsaWFzKCRhbGlhcyk7CgoJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CgkJaWYoICFpc19vYmplY3QoJGNvbnRlbnQpICkgcmV0dXJuIGZhbHNlOwoKCQkvLyBnZXQgdGhlIGxhc3QgaXRlbSBvdXQgb2YgdGhlIGhpZXJhcmNoeQoJCS8vIGFuZCByZWJ1aWxkCgkJJHF1ZXJ5ID0gJ1NFTEVDVCBjb250ZW50X2FsaWFzIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2NvbnRlbnQKCQkJCSAgICBXSEVSRSBwYXJlbnRfaWQgPSA/CgkJCQkgICAgICBBTkQgaXRlbV9vcmRlciAlcyA/CgkJCQkgICAgICBBTkQgYWN0aXZlID0gMQoJCQkJICAgIE9SREVSIEJZIGl0ZW1fb3JkZXIgJXMKCQkJCSAgICBMSU1JVCAxJzsKCgkJc3dpdGNoKHN0cnRvbG93ZXIoJGRpcikpIHsKCQkJY2FzZSAnLTEnOgoJCQkJY2FzZSAncHJldic6CgkJCQkJJHRoZWNoYXIgPSAnPCc7CgkJCQkJJG9yZGVyID0gJ0RFU0MnOwoJCQkJYnJlYWs7CgoJCQkJZGVmYXVsdDoKCQkJCQkkdGhlY2hhciA9ICc+JzsKCQkJCQkkb3JkZXIgPSAnQVNDJzsKCQkJCWJyZWFrOwoJCX0vL3N3aXRjaAoKCQkkcmVzID0gJGRiLT5HZXRPbmUoc3ByaW50ZigkcXVlcnksJHRoZWNoYXIsJG9yZGVyKSwKCQlhcnJheSgkY29udGVudC0+UGFyZW50SWQoKSwkY29udGVudC0+SXRlbU9yZGVyKCkpKTsKCQlpZiggIWVtcHR5KCRhc3NpZ24pICkgewoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSwkcmVzKTsKCQkJcmV0dXJuOwoJCX0vL2lmCgkJcmV0dXJuICRyZXM7Cgl9Ly9mdW5jdGlvbgoKCS8qKgoJICogQ3JlYXRlcyBIVE1MIHRhYmxlIGZyb20gbXVsdGlkaW1lbnNpb25hbCBhcnJheQoJICogYmFzZWQgb24gaHR0cDovL3d3dy50ZXJyYXdlYmRlc2lnbi5jb20vbXVsdGlkaW1lbnNpb25hbC5waHAKCSAqCgkgKiBAcGFyYW0gYXJyYXkgJGFycmF5CgkgKiBAcmV0dXJuIHN0cmluZwoJICovCgoKCXByaXZhdGUgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldEFycmF5QXNUYWJsZSgkYXJyYXkpCgl7CgkJJGFycmF5ID0gc2VsZjo6b2JqZWN0MmFycmF5KCRhcnJheSk7CgoJCSR0YWJsZSA9ICI8dGFibGU+XG4iOwoJCSR0YWJsZSAuPSBzZWxmOjpnZXRBcnJheUFzVGFibGVNYWtlUm93cygkYXJyYXksIDEsIDApOwoJCSR0YWJsZSAuPSAiPC90YWJsZT5cbiI7CgkJcmV0dXJuICR0YWJsZTsKCgl9Ly9mdW5jdGlvbgoKCXByb3RlY3RlZCBmaW5hbCBmdW5jdGlvbiBnZXRBcnJheUFzVGFibGVNYWtlUm93cygkYXJyYXksICRsZXZlbCwgJHN1YikKCXsKCQkkc3RyaW5nID0gIiI7CgoJCWlmIChpc19hcnJheSgkYXJyYXkpID09IDEpeyAgICAgICAgICAvLyBjaGVjayBpZiBpbnB1dCBpcyBhbiBhcnJheQoJCSAgICAgIGZvcmVhY2goJGFycmF5IGFzICRrZXlfdmFsID0+ICR2YWx1ZSkgewoJCSAgICAgICAgICAkb2Zmc2V0ID0gIiI7CgoJCSAgICAgICAgICBpZiAoaXNfYXJyYXkoJHZhbHVlKSA9PSAxKXsgICAvLyBhcnJheSBpcyBtdWx0aWRpbWVuc2lvbmFsCgkJICAgICAgICAgIAkkc3RyaW5nIC49ICI8dHI+IjsKCQkgICAgICAgICAgCSRvZmZzZXQgPSBzZWxmOjpnZXRBcnJheUFzVGFibGVEb09mZnNldCgkbGV2ZWwpOwoJCSAgICAgICAgICAJJHN0cmluZyAuPSAkb2Zmc2V0IC4gIjx0ZCB2YWxpZ249J3RvcCc+IiAuICRrZXlfdmFsIC4gIjwvdGQ+IjsKCQkgICAgICAgICAgCSRzdHJpbmcgLj0gc2VsZjo6Z2V0QXJyYXlBc1RhYmxlTWFrZVJvd3MoJHZhbHVlLCAkbGV2ZWwrMSwgMSk7CgkJICAgICAgICAgIH1lbHNleyAgICAgICAgICAgICAgICAgICAgICAvLyhzdWIpYXJyYXkgaXMgbm90IG11bHRpZGltCgkJICAgICAgICAgIAlpZiAoJHN1YiAhPSAxKXsgICAgICAgICAgLy8gZmlyc3QgZW50cnkgZm9yIHN1YmFycmF5CgkJICAgICAgICAgICAgICAkc3RyaW5nIC49ICI8dHI+IjsKCQkgICAgICAgICAgICAgICRvZmZzZXQgPSBzZWxmOjpnZXRBcnJheUFzVGFibGVEb09mZnNldCgkbGV2ZWwpOwoJCSAgICAgICAgICAJfQoJCSAgICAgICAgICAJJHN1YiA9IDA7CgkJICAgICAgICAgIAkkc3RyaW5nIC49ICRvZmZzZXQgLiAiPHRkIGNsYXNzPSd0aCcgdmFsaWduPSd0b3AnPiIgLiAka2V5X3ZhbCAuCgkJICAgICAgICAgICAgICAiPC90ZD48dGQgdmFsaWduPSd0b3AnPiIgLiAkdmFsdWUgLiAiPC90ZD4iOwoJCSAgICAgICAgICAJJHN0cmluZyAuPSAiPC90cj5cbiI7CgkJICAgICAgICAgIH0KCQkgICAgICB9IC8vZm9yZWFjaCAkYXJyYXkKCQkgfS8vaWYKCgkJcmV0dXJuICRzdHJpbmc7CgoJfS8vZnVuY3Rpb24KCglwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIGdldEFycmF5QXNUYWJsZURvT2Zmc2V0KCRsZXZlbCkKCXsKCSAgICAkb2Zmc2V0ID0gIiI7ICAgICAgICAgICAgIC8vIG9mZnNldCBmb3Igc3ViYXJyeQoJICAgIGZvciAoJGk9MTsgJGk8JGxldmVsOyRpKyspewoJICAgICRvZmZzZXQgPSAkb2Zmc2V0IC4gIjx0ZD48L3RkPiI7CgkgICAgfQoJICAgIHJldHVybiAkb2Zmc2V0OwoJfS8vZnVuY3Rpb24KCgoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfZmlsZV9saXN0aW5nKCkgYnkgUm9iZXJ0IENhbXBiZWxsCgkgKiBHaWJ0IGRlbiBJbmhhbHQgZWluZXMgYmVzdGltbXRlbiBPcmRuZXJzIGluIGVpbmVtIEFycmF5IHp1cu+/vWNrCgkgKiBAcGFyYW0gc3RyaW5nICRkaXIKCSAqIEBwYXJhbSBzdHJpbmcgJGV4Y2x1ZGVwcmVmaXgKCSAqIEBwYXJhbSBzdHJpbmcgJGFzc2lnbgoJICovCgoJcHJpdmF0ZSBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0RmlsZUxpc3RpbmcoJGRpciwkZXhjbHVkZXByZWZpeD0nJywkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBjbXNtcygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgkJJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKCgkJJGZpbGVwcmVmaXggPSAnJzsKCQlpZiggIWVtcHR5KCRleGNsdWRlcHJlZml4KSApIHsKCQkJJGZpbGVwcmVmaXggPSAkZXhjbHVkZXByZWZpeDsKCQl9CgkJaWYoIHN0YXJ0c3dpdGgoJGRpciwnLycpICkgcmV0dXJuOwoJCSRkaXIgPSB0YlV0aWxzOjp0cnVlcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXS4iLyIuJGRpcik7CgkJJGxpc3QgPSBnZXRfbWF0Y2hpbmdfZmlsZXMoJGRpciwnJyx0cnVlLHRydWUsJGZpbGVwcmVmaXgsMSk7CgkJaWYoICFlbXB0eSgkYXNzaWduKSApIHsKCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksJGxpc3QpOwoJCQlyZXR1cm47CgkJfQoJCXJldHVybiAkbGlzdDsKCX0vL2Z1bmN0aW9uCgkKCXByaXZhdGUgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldExhc3RNb2RpZmllZCgkYWxpYXMgPSAnJywgJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQkkc21hcnR5ID0gJGdDbXMtPkdldFNtYXJ0eSgpOwoJCSRjb250ZW50b3BzID0gJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgoJCWlmKCBlbXB0eSgkYWxpYXMpICkgewoJCQkkYWxpYXMgPSAkc21hcnR5LT5nZXRfdGVtcGxhdGVfdmFycygncGFnZV9hbGlhcycpOwoJCX0KCQllbHNlCgkJCSRhbGlhcyA9IHNlbGY6OmdldEFsaWFzKCRhbGlhcyk7CgoJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyx0cnVlKTsKCQlpZiggIWlzX29iamVjdCgkY29udGVudCkgKSByZXR1cm4gZmFsc2U7CgkJCgkJJHRpbWVzdGFtcCA9ICRjb250ZW50LT5HZXRNb2RpZmllZERhdGUoKTsKCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLCR0aW1lc3RhbXApOwoJCQlyZXR1cm47CgkJfQoJCXJldHVybiAkdGltZXN0YW1wOwoJfS8vIGZ1bmN0aW9uCgkKCQoJCn07Ly8gY2xhc3MKCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.tbTwitterfeed.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTW9kdWxlOgkJVG9vbEJveApUaXRsZToJCXR3aXR0ZXJmZWVkClZlcnNpb246CTEuMApEZXNjcmlwdC46CWdldCBUd2l0dGVyZmVlZApMYXN0IE1vZC46CTA0LjA4LjIwMTIKQXV0aG9yOgkJTHVrYXMgQmxhdHRlcgpFbWFpbDoJCWx1a2FzLmJsYXR0ZXJAYmxhdHRlcnRlY2guY2gKQmFzZWQgb246CWJpcmRmZWVkIGZyb20gQmVuIEJvbm9yYQpOb3RlczoKTGljZW5jZToJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKCQkJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKCQkJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKCQkJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KCQkJSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCgkJCWFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQoJCQlpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCgkJCU1hZGUgU2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgoJCQlzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgU2ltcGxlLgoJCQlGaW5kIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgQ01TIE1hZGUgU2ltcGxlIG9uIGl0cyB3ZWJzaXRlOgoJCQlodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnLwoJCQlUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKCQkJYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKCQkJTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQoJCQlHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgoJCQlZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQoJCQlhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQoJCQlGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQoJCQlPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCmZpbmFsIGNsYXNzIHRiVHdpdHRlcmZlZWQgeyAKCQoJcHJpdmF0ZSBzdGF0aWMgJF9kYXRlZm9ybWF0ID0gJ2ZyaWVuZGx5JzsKCXByaXZhdGUgc3RhdGljICRfcGFyc2VMaW5rcyAgID0gdHJ1ZTsKCXByaXZhdGUgc3RhdGljICRfZGI7Cglwcml2YXRlIHN0YXRpYyAkX2xvZzsKCglwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCXByaXZhdGUgZnVuY3Rpb24gX19jbG9uZSgpIHt9CgoJLyoqCgkgKiAKCSAqIENoZWNrIGlmIEN1cmwgaXMgZW5hYmxlZAoJICovCQoJcHJvdGVjdGVkIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBpc0N1cmxFbmFibGVkKCkgewoJCWlmICghZXh0ZW5zaW9uX2xvYWRlZCgnY3VybCcpKQoJCQlyZXR1cm4gZmFsc2U7CgkJcmV0dXJuIHRydWU7Cgl9CgkKCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgZnVuY3Rpb24gJiBnZXREYigpCgl7CgkJaWYgKCFpc19vYmplY3Qoc2VsZjo6JF9kYikpIHNlbGY6OiRfZGIgPSAmIGNtc21zKCktPkdldERiKCk7CgkJcmV0dXJuIHNlbGY6OiRfZGI7IAoJfQoJCglwcm90ZWN0ZWQgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGxvZygkdHh0KQoJewoJCWlmICghaXNfb2JqZWN0KHNlbGY6OiRfbG9nKSkgewoJCQlzZWxmOjokX2xvZyA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVG9vbEJveCcpOwoJCQlzZWxmOjokX2xvZy0+c2V0TG9nRmlsZSgndGJUd2l0dGVyZmVlZCcpOwkKCQl9CgkJc2VsZjo6JF9sb2ctPmx3cml0ZSgkdHh0KTsKCX0KCQoJCglwcm90ZWN0ZWQgc3RhdGljIGZ1bmN0aW9uIGdldFNlY29uZEJldHdlZW5EYXRlKCRkYXRlMSwkZGF0ZTIpCgl7CgkJJHRpbWVGaXJzdCAgPSBzdHJ0b3RpbWUoJGRhdGUxKTsKCQkkdGltZVNlY29uZCA9IHN0cnRvdGltZSgkZGF0ZTIpOwoJCSRkaWZmZXJlbmNlSW5TZWNvbmRzID0gJHRpbWVTZWNvbmQgLSAkdGltZUZpcnN0OwoKCQlyZXR1cm4gJGRpZmZlcmVuY2VJblNlY29uZHM7Cgl9CgkKCS8qKgoJICogCgkgKiBGZXRjaCBGZWVkIHZpYSBDdXJsIG9kZXIgZmlsZV9nZXRfY29udGVudHMKCSAqIEBwYXJhbSBzdHJpbmcgJHVybCAtIFR3aXR0ZXIgQVBJIFVSTCBpbmtsLiBQYXJhbWV0ZXIKCSAqIEByZXR1cm4ganNvbiAvIGZhbHNlCgkgKi8KCXByb3RlY3RlZCBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZmV0Y2hGZWVkKCR1cmwpIAoJewoJCWlmICghc2VsZjo6aXNDdXJsRW5hYmxlZCgpKSB7CgkJCSRyID0gZmlsZV9nZXRfY29udGVudHMoJHVybCk7CgkJfQoJCWVsc2UgewoJCQkkciA9ICcnOwoJCQkvLyBmZXRjaCBmZWVkCgkJCSRjID0gY3VybF9pbml0KCk7CgkJCWN1cmxfc2V0b3B0X2FycmF5KCRjLCBhcnJheSgKCQkJCUNVUkxPUFRfVVJMID0+ICR1cmwsCgkJCQlDVVJMT1BUX0hFQURFUiA9PiBmYWxzZSwKCQkJCUNVUkxPUFRfVElNRU9VVCA9PiAxMCwKCQkJCUNVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIGZhbHNlLAoJCQkJQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiA9PiB0cnVlCgkJCSkpOwoJCQkkciA9IGN1cmxfZXhlYygkYyk7CgkJCWN1cmxfY2xvc2UoJGMpOwoJCX0KCQkvLyByZXR1cm4gSlNPTiBhcyBhcnJheQoJCXJldHVybiAoISEkciA/IGpzb25fZGVjb2RlKCRyLCBmYWxzZSkgOiBmYWxzZSk7Cgl9CgkKCS8qKgoJICogCgkgKiBQYXJzZWQgZGllIFR3aXR0ZXJsaW5rcwoJICogYnkgaHR0cDovL3Rvc2Noby5kZS8yMDEwL3R3aXR0ZXItZWluZW4tdHdlZXQtZm9ybWF0aWVyZW4vCgkgKiBAcGFyYW0gJHN0cgoJICogQHJldHVybiBzdHJpbmcKCSAqLwoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBwYXJzZVR3aXR0ZXJMaW5rcygkc3RyKSAKCXsKCQkkdXJpX3NjaGVtZXMgPSBhcnJheSAoJ21haWx0bycsICduZXdzJywgJ25udHAnLCAnY2FsbHRvJywgJ2VkMmsnLCAnaXJjJywgJ3NzaCcsICdzdm4nLCdzP2Z0cHM/JywgJ2h0dHBzPycgKTsKICAgIAkkcmVnZXhbJ3VybCddID0gJygnIC4gaW1wbG9kZSgnfCcsICR1cmlfc2NoZW1lcykuICcpOi8vKFstXHdcLl0rKSsoOlxkKyk/KC8oW1x3L19cLl0qKFw/XFMrKT8pPyk/JzsKICAgIAkkcmVnZXhbJ3VzZXJuYW1lJ10gPSAiQChbYS16QS1aX1xkXSspIjsKICAgIAkkcmVnZXhbJ2hhc2h0YWcnXSAgPSAiKFteXHBMXSl7MCwxfSgjKFstX1xwTFxkXSspKSI7CgogICAgCgkgICAgLy8gSHlwZXJsaW5rcyB1bXdhbmRlbG4KCSAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCd+JyAuICRyZWdleFsndXJsJ10gLiAnfnUnLCAnPGEgaHJlZj0iJHswfSIgdGFyZ2V0PSJfYmxhbmsiPiR7MH08L2E+ICcsICRzdHIpOwoJICAgIC8vIFVzZXJuYW1lbiB2ZXJsaW5rZW4KCSAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCd+JyAuICRyZWdleFsndXNlcm5hbWUnXSAuICd+dScsJzxhIGNsYXNzPSJ0d3VzZXIiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tLyR7MX0iPiR7MH08L2E+Jywkc3RyKTsKCSAgICAvLyBIYXNodGFncyB2ZXJsaW5rZW4KCSAgICAkc3RyID0gcHJlZ19yZXBsYWNlKCd+JyAuICRyZWdleFsnaGFzaHRhZyddIC4gJ351JywnICR7MX08YSBjbGFzcz0iaGFzaHRhZyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vc2VhcmNoP3E9JTIzJHszfSI+JHsyfTwvYT4nLCRzdHIpOwoJCgkgICAgcmV0dXJuICRzdHI7Cgl9CgoJLyoqCgkgKiAKCSAqIFBhcnNlZCBkYXMgRGF0dW0gZGVzIEVpbnRyYWdlcwoJICogQHBhcmFtICRkYXRlIC0gRGF0dW0gZGVzIEZlZWQtRWludHJhZ2VzCgkgKiBAcGFyYW0gJGRhdGVmb3JtYXQgLSBGb3JtYXQgaW4gd2VsY2hlcyBkYXMgRGF0dW0gdW1nZXdhbmRlbHQgd2VyZGVuIHNvbGw6IGZyaWVuZGx5ID0gRGF0dW0gaW4gRm9ybSB2b24gIjIgZGF5cyBhZ28iOyBBbHRlcm5hdGl2ZSBkLm0uWSBIOm06cyAtLT4gc2llaGUgRGF0ZVRpbWUgRG9rdW1lbnRhdGlvbgoJICogQHJldHVybiBzdHJpbmcKCSAqLwoJcHJvdGVjdGVkIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBwYXJzZURhdGUoJGRhdGUsJGRhdGVmb3JtYXQpIHsKCQkKCQkvLyBjdXJyZW50IGRhdGV0aW1lCgkJJG5vdyA9IG5ldyBEYXRlVGltZSgpOwoJCgkJJHN0aW1lID0gbmV3IERhdGVUaW1lKCRkYXRlKTsKCQoJCWlmICgkZGF0ZWZvcm1hdD09ICdmcmllbmRseScpIHsKCQoJCQkvLyBmcmllbmRseSBkYXRlIGZvcm1hdAoJCQkkaXZhbCA9ICRub3ctPmRpZmYoJHN0aW1lKTsKCQkJCQkKCQkJJHlyID0gJGl2YWwtPnk7CgkJCSRtaCA9ICRpdmFsLT5tICsgKCRpdmFsLT5kID4gMTUpOwoJCQlpZiAoJG1oID4gMTEpICR5ciA9IDE7CgkJCSRkeSA9ICRpdmFsLT5kICsgKCRpdmFsLT5oID4gMTUpOwoJCQkkaHIgPSAkaXZhbC0+aDsKCQkJJG1uID0gJGl2YWwtPmkgKyAoJGl2YWwtPnMgPiAyOSk7CgkJCQkJCgkJCWlmICgkeXIgPiAwKSB7CgkJCQlpZiAoJHlyID09IDEpICRkYXRlID0gJ2xhc3QgeWVhcic7CgkJCQllbHNlICRkYXRlID0gJHlyIC4gJyB5ZWFycyBhZ28nOwoJCQl9CgkJCWVsc2UgaWYgKCRtaCA+IDApIHsKCQkJCWlmICgkbWggPT0gMSkgJGRhdGUgPSAnbGFzdCBtb250aCc7CgkJCQllbHNlICRkYXRlID0gJG1oIC4gJyBtb250aHMgYWdvJzsKCQkJfQoJCQllbHNlIGlmICgkZHkgPiAwKSB7CgkJCQlpZiAoJGR5ID09IDEpICRkYXRlID0gJ3llc3RlcmRheSc7CgkJCQllbHNlIGlmICgkZHkgPCA4KSAkZGF0ZSA9ICRkeSAuICcgZGF5cyBhZ28nOwoJCQkJZWxzZSBpZiAoJGR5IDwgMTUpICRkYXRlID0gJ2xhc3Qgd2Vlayc7CgkJCQllbHNlICRkYXRlID0gcm91bmQoJGR5IC8gNykgLiAnIHdlZWtzIGFnbyc7CgkJCX0KCQkJZWxzZSBpZiAoJGhyID4gMCkgewoJCQkJJGhyICs9ICgkaXZhbC0+aSA+IDI5KTsKCQkJCSRkYXRlID0gJGhyIC4gJyBob3VyJyAuICgkaHIgPT0gMSA/ICcnIDogJ3MnKSAuICcgYWdvJzsKCQkJfQoJCQllbHNlIHsKCQkJCWlmICgkbW4gPCAzKSAkZGF0ZSA9ICdqdXN0IG5vdyc7CgkJCQllbHNlICRkYXRlID0gJG1uIC4gJyBtaW51dGVzIGFnbyc7CgkJCX0KCQoJCX0KCQllbHNlIHsKCQkJLy8gc3RhbmRhcmQgUEhQIGRhdGUgZm9ybWF0CgkJCSRkYXRlID0gJHN0aW1lLT5mb3JtYXQoJGRhdGVmb3JtYXQpOwoJCX0KCQoJCXJldHVybiAkZGF0ZTsKCX0KCQoJCglwcml2YXRlIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRGZWVkRnJvbURiKCRoYXNoLCAkY291bnQsJGRhdGVmb3JtYXQgPSAnZnJpZW5kbHknKQoJewoJCS8vc2VsZjo6bG9nKCJnZXRGZWVkRnJvbURCIik7CgkJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X3R3IHdoZXJlIGhhc2ggPSA/IG9yZGVyIGJ5IGlkIGRlc2MgbGltaXQgPyAnOwoJCSR0d2VldHMgPSBzZWxmOjpnZXREYigpLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJGhhc2gsJGNvdW50KSk7CgkJCgkJZm9yZWFjaCAoJHR3ZWV0cyBhcyAkdHdlZXQpIHsKCQkJJHJvdyA9IG5ldyBzdGRDbGFzcygpOwoJCQkkcm93LT5pZCA9ICR0d2VldFsnaWQnXTsKCQkJJGRhdGUgPSBkYXRlKCJZLW0tZCBIOmk6cyIsIHN0cnRvdGltZSgkdHdlZXRbJ3R3ZGF0ZSddLicgR01UJykpOwoJCQkkcm93LT5kYXRlID0gIHNlbGY6OnBhcnNlRGF0ZSgkZGF0ZSwnZnJpZW5kbHknKTsKCQkJJHJvdy0+cmF3ZGF0ZSA9ICR0d2VldFsnY3JlYXRlZF9hdCddOwoJCQkkcm93LT50ZXh0ID0gc2VsZjo6cGFyc2VUd2l0dGVyTGlua3MoJHR3ZWV0Wyd0ZXh0J10pOwoJCQkkcm93LT5pbWdfdXJsID0gJHR3ZWV0WydpbWdfdXJsJ107CgkJCSRyb3ctPmltZ191cmxfaHR0cHMgPSAkdHdlZXRbJ2ltZ191cmxfaHR0cHMnXTsKCQkJJHJvdy0+YXV0aG9yID0gJHR3ZWV0WydhdXRob3InXTsKCQkJJHJvdy0+c2NyZWVubmFtZSA9ICR0d2VldFsnc2NyZWVubmFtZSddOwoJCQkkcm93LT5zY3JlZW5uYW1lX3VybCA9ICR0d2VldFsnc2NyZWVubmFtZV91cmwnXTsKCQkJJHJvdy0+c291cmNlID0gJHR3ZWV0Wydzb3VyY2UnXTsKCQkJJHJvdy0+bG9jYXRpb24gPSAkdHdlZXRbJ2xvY2F0aW9uJ107CgkJCSRyb3ctPnJldHdlZXRfY291bnQgPSAkdHdlZXRbJ3JldHdlZXRfY291bnQnXTsKCQkJJHJvdy0+ZmF2b3JpdGVkID0gJHR3ZWV0WydmYXZvcml0ZWQnXTsKCQkJJHJvdy0+cmV0d2VldF9zY3JlZW5uYW1lID0gJyc7CgkJCSRyb3ctPnJldHdlZXRfYXV0aG9yID0gJyc7CgkJCQoJCQlpZiAoJHR3ZWV0WydyZXR3ZWV0X2lkJ10pIHsKCQkJCSRyb3ctPnRleHQgPSBzZWxmOjpwYXJzZVR3aXR0ZXJsaW5rcygkdHdlZXRbJ3JldHdlZXRfdGV4dCddKTsKCQkJCSRyb3ctPnNvdXJjZSA9ICR0d2VldFsncmV0d2VldF9zb3VyY2UnXTsKCQkJCSRyb3ctPnNjcmVlbm5hbWUgPSAkdHdlZXRbJ3JldHdlZXRfc2NyZWVubmFtZSddOwoJCQkJJHJvdy0+YXV0aG9yID0gJHR3ZWV0WydyZXR3ZWV0X3NjcmVlbm5hbWUnXTsKCQkJCSRyb3ctPnNjcmVlbm5hbWVfdXJsID0gJHR3ZWV0WydyZXR3ZWV0X3NjcmVlbm5hbWVfdXJsJ107CgkJCQkkcm93LT5pbWdfdXJsID0gJHR3ZWV0WydyZXR3ZWV0X2ltZ191cmwnXTsKCQkJCSRyb3ctPmltZ191cmxfaHR0cHMgPSAkdHdlZXRbJ3JldHdlZXRfaW1nX3VybF9odHRwcyddOwoJCQkJJHJvdy0+cmV0d2VldF9zY3JlZW5uYW1lID0gJHR3ZWV0WydzY3JlZW5uYW1lJ107CgkJCQkkcm93LT5yZXR3ZWV0X2F1dGhvciA9ICR0d2VldFsnYXV0aG9yJ107CgkJCX0KCQkJCgkJCSRyb3ctPmRhdGVfbGluayA9ICc8YSBjbGFzcz0idHdlZXQtdGltZXN0YW1wIHR3ZWV0LXBvcHVwIiBocmVmPSInLiRyb3ctPnNjcmVlbm5hbWVfdXJsLicvc3RhdHVzLycuJHJvdy0+aWQuJyIgdGltZT0iJy4kcm93LT5yYXdkYXRlLiciIHRhcmdldD0iX2JsYW5rIj4nLnNlbGY6OnBhcnNlRGF0ZSgkZGF0ZSwnZnJpZW5kbHknKS4nPC9hPic7CgkJCSRyb3ctPnJlcGx5X2xpbmsgPSAnPGEgY2xhc3M9InR3ZWV0LXJlcGx5IHR3ZWV0LXBvcHVwIiBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL2ludGVudC90d2VldD9pbl9yZXBseV90bz0nLiRyb3ctPmlkLiciIHRhcmdldD0iX2JsYW5rIj5yZXBseTwvYT4nOwoJCQkkcm93LT5yZXR3ZWV0X2xpbmsgPSAnPGEgY2xhc3M9InR3ZWV0LXJ0IHR3ZWV0LXBvcHVwIiBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL2ludGVudC9yZXR3ZWV0P3R3ZWV0X2lkPScuJHJvdy0+aWQuJyIgdGFyZ2V0PSJfYmxhbmsiPnJldHdlZXQ8L2E+JzsKCQkJJHJvdy0+ZmF2b3JpdGVfbGluayA9ICc8YSBjbGFzcz0idHdlZXQtZmF2IHR3ZWV0LXBvcHVwIiBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL2ludGVudC9mYXZvcml0ZT90d2VldF9pZD0nLiRyb3ctPmlkLiciIHRhcmdldD0iX2JsYW5rIj5mYXZvcml0ZTwvYT4nOwoJCQkKCQkJJHJvdy0+cmVwbHlfcmF3bGluayA9ICJodHRwczovL3R3aXR0ZXIuY29tL2ludGVudC90d2VldD9pbl9yZXBseV90bz0iLiRyb3ctPmlkOwoJCQkkcm93LT5yZXR3ZWV0X3Jhd2xpbmsgPSAiaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvcmV0d2VldD90d2VldF9pZD0iLiRyb3ctPmlkOwoJCQkkcm93LT5mYXZvcml0ZV9yYXdsaW5rID0gImh0dHBzOi8vdHdpdHRlci5jb20vaW50ZW50L2Zhdm9yaXRlP3R3ZWV0X2lkPSIuJHJvdy0+aWQ7CgkJCQoJCQkkZW50cnlzW10gPSAkcm93OwoJCX0KCQlyZXR1cm4gJGVudHJ5czsKCX0KCQoJLyoqCgkgKiAKCSAqIEhvbHQgZGllIGlkIGRlcyBsZXR6dGVuIFR3ZWV0cwoJICogQHBhcmFtICRoYXNoCgkgKiByZXR1cm4gc3RyaW5nIAoJICovCglwcm90ZWN0ZWQgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldExhc3RUd2VldCgkaGFzaCkKCXsKCQlyZXR1cm4gc2VsZjo6Z2V0RGIoKS0+R2V0T25lKCdzZWxlY3QgaWQgZnJvbSAnIC5jbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX3Rvb2xib3hfdHcgd2hlcmUgaGFzaCA9ID8gb3JkZXIgYnkgdHdkYXRlIGRlc2MiLGFycmF5KCRoYXNoKSk7Cgl9CgkKCQoJLyoqCgkgKiAKCSAqIEJlcmVpdGV0IGRlbiBUd2l0dGVyZmVlZCBhdWYKCSAqIEBwYXJhbSAkaGFzaCAtIEhhc2ggZGVyIEFiZnJhZ2UKCSAqIEBwYXJhbSAkdXJsIC0gVVJMIGRlciBUd2l0dGVyYXBpCgkgKiBAcGFyYW0gJGNvdW50IC0gQW56YWhsIGRlciBUd2VldHMKCSAqIEBwYXJhbSAkY2FjaGV0aW1lIC0gWmVpdCBpbiBTZWt1bmRlbiBuYWNoIGRlbmVuIGRpZSBTdWNoZSBha3R1YWxpc2llcnQgd2lyZAoJICogQHJldHVybiBhcnJheQoJICovCglwcm90ZWN0ZWQgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldFR3aXR0ZXJTdHJlYW0oJGhhc2gsICR1cmwsICRjb3VudCwgJGNhY2hldGltZSkKCXsKCQkkbGFzdHVwZGF0ZSA9IHNlbGY6OmdldERiKCktPkdldE9uZSgnc2VsZWN0IHRpbWVzdGFtcCBmcm9tICcgLmNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfdG9vbGJveF90d3VwZGF0ZSB3aGVyZSBoYXNoID0gPycsYXJyYXkoJGhhc2gpKTsKCgkJJG5vdyA9IGRhdGUoIlktbS1kIEg6aTpzIik7CgkJCgkJLy9zZWxmOjpsb2coImdldFR3aXR0ZXJTdHJlYW0gLSBjYWNoZXRpbWUgPSAiIC4kY2FjaGV0aW1lKTsKCQkvL3NlbGY6OmxvZygiZ2V0VHdpdHRlclN0cmVhbSAtIGxhc3R1cGRhdGUgPSAiIC4kbGFzdHVwZGF0ZSk7CgkJLy9zZWxmOjpsb2coImdldFR3aXR0ZXJTdHJlYW0gLSBub3cgPSAiIC4kbm93KTsKCQkvL3NlbGY6OmxvZygiZ2V0VHdpdHRlclN0cmVhbSAtIGdldFNlY29uZEJldHdlZW5EYXRlID0gIiAuc2VsZjo6Z2V0U2Vjb25kQmV0d2VlbkRhdGUoJGxhc3R1cGRhdGUsICRub3cpKTsKCQkKCQlpZiAoISRsYXN0dXBkYXRlIG9yIHNlbGY6OmdldFNlY29uZEJldHdlZW5EYXRlKCRsYXN0dXBkYXRlLCAkbm93KSA+ICRjYWNoZXRpbWUgKSB7CgkJIAkkanNvbiA9IHNlbGY6OmZldGNoRmVlZCgkdXJsKTsKCQkgCS8vc2VsZjo6bG9nKCJnZXRUd2l0dGVyU3RyZWFtIC0ganNvbiBnZWhvbHQgdXJsID0gIiAuJHVybCk7CgkJIAlzZWxmOjpzdG9yZURhdGEoJGpzb24sICRoYXNoKTsKCQl9CgkJCQoJCXJldHVybiBzZWxmOjpnZXRGZWVkRnJvbURiKCRoYXNoLCAkY291bnQsICRkYXRlZm9ybWF0KTsJCgl9CgkKCQoJCgkKCS8qKgoJICogCgkgKiBXZXJ0ZXQgZGVuIFR3aXR0ZXJmZWVkIGF1cyB1bmQgZ2lidCBpbiBhbHMgc3RkQ2xhc3MgQXJyYXkgenVyw7xjawoJICogQHBhcmFtIGpzb24gYXJyYXkgJGpzb24KCSAqIEByZXR1cm4gYXJyYXkKCSAqLwoJcHJvdGVjdGVkIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBzdG9yZURhdGEoJGpzb24sJGhhc2gpCgl7CgkJaWYgKGlzc2V0KCRqc29uLT5lcnJvcikpIHsKCQkJLy9zZWxmOjpsb2coInN0b3JlRGF0YSAtIGpzb24tPmVycm9yID0gIiAuICRqc29uLT5lcnJvcik7CQkJCgkJCXJldHVybiBmYWxzZTsKCQl9CgkJCgkJJGVudHJ5cyA9IGFycmF5KCk7CgkJCgkJJGlzU2VhcmNoPSBpc3NldCgkanNvbi0+cXVlcnkpID8gdHJ1ZSA6IGZhbHNlOwoJCSRqc29uYXJyYXkgPSAkaXNTZWFyY2ggPyAkanNvbi0+cmVzdWx0cyA6ICRqc29uOwoJCQoJCQoJCWZvcmVhY2goJGpzb25hcnJheSBhcyAka2V5ID0+ICRpdGVtKSB7CgkJCSRyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCQkJCgkJCWlmICgkaXNTZWFyY2gpIHsKCQkJCSRyb3ctPmlkID0gJGl0ZW0tPmlkX3N0cjsKCQkJCWlmIChzZWxmOjpnZXREYigpLT5HZXRPbmUoJ3NlbGVjdCBpZCBmcm9tICcgLmNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfdG9vbGJveF90dyB3aGVyZSBpZCA9ID8gYW5kIGhhc2g9PycsYXJyYXkoJHJvdy0+aWQsJGhhc2gpKSkgY29udGludWU7IAoJCQkKCQkJCSRyb3ctPnRleHQgPSAkaXRlbS0+dGV4dDsKCQkJCSRyb3ctPmRhdGUgPSBnbWRhdGUoJ1ktbS1kIEg6aTpzJywgc3RydG90aW1lKCRpdGVtLT5jcmVhdGVkX2F0KSk7CgkJCQkkcm93LT5jcmVhdGVkX2F0ID0gICRpdGVtLT5jcmVhdGVkX2F0OwoJCQkJJHJvdy0+aW1nX3VybCA9ICRpdGVtLT5wcm9maWxlX2ltYWdlX3VybDsKCQkJCSRyb3ctPmltZ191cmxfaHR0cHMgPSAkaXRlbS0+cHJvZmlsZV9pbWFnZV91cmxfaHR0cHM7CgkJCQkkcm93LT5zY3JlZW5uYW1lID0gJGl0ZW0tPmZyb21fdXNlcjsKCQkJCSRyb3ctPmF1dGhvciA9ICRpdGVtLT5mcm9tX3VzZXJfbmFtZTsKCQkJCSRyb3ctPnNjcmVlbm5hbWVfdXJsID0gJ2h0dHA6Ly90d2l0dGVyLmNvbS8nLiRpdGVtLT5mcm9tX3VzZXI7CgkJCQkkcm93LT5zb3VyY2UgPSAkaXRlbS0+c291cmNlOwoJCQkJJHJvdy0+bG9jYXRpb24gPSAiIjsKCQkJCSRyb3ctPnJldHdlZXRfY291bnQgPSAiIjsKCQkJCSRyb3ctPmZhdm9yaXRlZCA9ICIiOwoJCQkJJHJvdy0+cmV0d2VldF9zY3JlZW5uYW1lID0gIiI7CgkJCQkkcm93LT5yZXR3ZWV0X2F1dGhvciA9ICIiOwoJCQkJJHJvdy0+cmV0d2VldF9pZCA9ICIiOwoJCQkJJHJvdy0+cmV0d2VldF9kYXRlID0gIiI7CgkJCQkkcm93LT5yZXR3ZWV0X3RleHQgPSAiIjsKCQkJCSRyb3ctPnJldHdlZXRfdXNlcl9pZCA9ICIiOwoJCQkJJHJvdy0+cmV0d2VldF9pbWdfdXJsID0gIiI7CgkJCQkkcm93LT5yZXR3ZWV0X2ltZ191cmxfaHR0cHMgPSAiIjsKCQkJCSRyb3ctPnJldHdlZXRfdXNlcmlkID0gIiI7CgkJCQkkcm93LT5yZXR3ZWV0X2F1dGhvciA9ICIiOwoJCQkJJHJvdy0+cmV0d2VldF9zY3JlZW5uYW1lID0gIiI7CgkJCQkkcm93LT5yZXR3ZWV0X3NjcmVlbm5hbWVfdXJsID0gIiI7CgkJCQkkcm93LT5yZXR3ZWV0X2xvY2F0aW9uID0gIiI7CgkJCQkkcm93LT5yZXR3ZWV0X3NvdXJjZSA9ICIiOwoJCQl9CgkJCWVsc2UgewoJCQkJJHJvdy0+aWQgPSAkaXRlbS0+aWRfc3RyOwoJCQkJaWYgKHNlbGY6OmdldERiKCktPkdldE9uZSgnc2VsZWN0IGlkIGZyb20gJyAuY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV90b29sYm94X3R3IHdoZXJlIGlkID0gPyBhbmQgaGFzaD0/JyxhcnJheSgkcm93LT5pZCwkaGFzaCkpKSBjb250aW51ZTsgCgkJCQkKCQkJCSRyb3ctPmNyZWF0ZWRfYXQgPSAgJGl0ZW0tPmNyZWF0ZWRfYXQ7CgkJCQkkcm93LT5kYXRlID0gIGdtZGF0ZSgnWS1tLWQgSDppOnMnLCBzdHJ0b3RpbWUoJGl0ZW0tPmNyZWF0ZWRfYXQpKTsKCQkJCSRyb3ctPnRleHQgPSAkaXRlbS0+dGV4dDsKCQkJCSRyb3ctPnVzZXJpZCA9ICRpdGVtLT51c2VyLT5pZDsKCQkJCSRyb3ctPmltZ191cmwgPSAkaXRlbS0+dXNlci0+cHJvZmlsZV9pbWFnZV91cmw7CgkJCQkkcm93LT5pbWdfdXJsX2h0dHBzID0gJGl0ZW0tPnVzZXItPnByb2ZpbGVfaW1hZ2VfdXJsX2h0dHBzOwoJCQkJJHJvdy0+YXV0aG9yID0gJGl0ZW0tPnVzZXItPm5hbWU7CgkJCQkkcm93LT5zY3JlZW5uYW1lID0gJGl0ZW0tPnVzZXItPnNjcmVlbl9uYW1lOwoJCQkJJHJvdy0+c2NyZWVubmFtZV91cmwgPSAnaHR0cDovL3R3aXR0ZXIuY29tLycuJGl0ZW0tPnVzZXItPnNjcmVlbl9uYW1lOwoJCQkJJHJvdy0+c291cmNlID0gJGl0ZW0tPnNvdXJjZTsKCQkJCSRyb3ctPmxvY2F0aW9uID0gJGl0ZW0tPnVzZXItPmxvY2F0aW9uOwoJCQkJJHJvdy0+cmV0d2VldF9jb3VudCA9ICRpdGVtLT5yZXR3ZWV0X2NvdW50OwoJCQkJJHJvdy0+ZmF2b3JpdGVkID0gJGl0ZW0tPmZhdm9yaXRlZDsKCQkJCQoJCQkJLy8gUmV0d2VldDogSW5mb3MgZGVzIE9yaWdpbmFsdHdlZXRzIGFiZsO8bGxlbgoJCQkJJHJvdy0+cmV0d2VldF9pZCA9IGlzc2V0KCRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT5pZF9zdHIpID8gJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPmlkX3N0ciA6ICcnOwoJCQkJJHJvdy0+cmV0d2VldF9kYXRlID0gaXNzZXQoJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPmNyZWF0ZV9hdCkgPyBnbWRhdGUoJ1ktbS1kIEg6aTpzJywgc3RydG90aW1lKCRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT5jcmVhdGVkX2F0KSkgOiAnJzsKCQkJCSRyb3ctPnJldHdlZXRfdGV4dCA9IGlzc2V0KCRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT50ZXh0KSA/ICRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT50ZXh0IDogJyc7CgkJCQkkcm93LT5yZXR3ZWV0X3VzZXJfaWQgPSBpc3NldCgkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+dXNlci0+aWQpID8gJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPnVzZXItPmlkIDogJyc7CgkJCQkkcm93LT5yZXR3ZWV0X2ltZ191cmwgPSBpc3NldCgkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+dXNlci0+cHJvZmlsZV9pbWFnZV91cmwpID8gJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPnVzZXItPnByb2ZpbGVfaW1hZ2VfdXJsIDogJyc7CgkJCQkkcm93LT5yZXR3ZWV0X2ltZ191cmxfaHR0cHMgPSBpc3NldCgkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+dXNlci0+cHJvZmlsZV9pbWFnZV91cmxfaHR0cHMpID8gJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPnVzZXItPnByb2ZpbGVfaW1hZ2VfdXJsX2h0dHBzIDogJyc7CgkJCQkkcm93LT5yZXR3ZWV0X3VzZXJpZCA9IGlzc2V0KCRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT51c2VyLT5pZCkgPyAkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+dXNlci0+aWQgOiAnJzsKCQkJCSRyb3ctPnJldHdlZXRfYXV0aG9yID0gaXNzZXQoJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPnVzZXItPm5hbWUpID8gJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPnVzZXItPm5hbWUgOiAnJzsKCQkJCSRyb3ctPnJldHdlZXRfc2NyZWVubmFtZSA9IGlzc2V0KCRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT51c2VyLT5zY3JlZW5fbmFtZSkgPyAkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+dXNlci0+c2NyZWVuX25hbWUgOiAnJzsKCQkJCSRyb3ctPnJldHdlZXRfc2NyZWVubmFtZV91cmwgPSBpc3NldCgkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+dXNlci0+c2NyZWVuX25hbWUpID8gJ2h0dHA6Ly90d2l0dGVyLmNvbS8nLiRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT51c2VyLT5zY3JlZW5fbmFtZSA6ICcnOwoJCQkJJHJvdy0+cmV0d2VldF9sb2NhdGlvbiA9IGlzc2V0KCRpdGVtLT5yZXR3ZWV0ZWRfc3RhdHVzLT51c2VyLT5sb2NhdGlvbikgPyAkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+dXNlci0+bG9jYXRpb24gOiAnJzsKCQkJCSRyb3ctPnJldHdlZXRfc291cmNlID0gaXNzZXQoJGl0ZW0tPnJldHdlZXRlZF9zdGF0dXMtPnNvdXJjZSkgPyAkaXRlbS0+cmV0d2VldGVkX3N0YXR1cy0+c291cmNlIDogJyc7CgkJCX0KCQkKCQkJJHJvdy0+anNvbmRhdGEgPSAkaXRlbTsKCQkJCgkJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV90b29sYm94X3R3CgkJCQkJKGhhc2gsIGlkLCBjcmVhdGVkX2F0LCB0d2RhdGUsIHVzZXJpZCwgc2NyZWVubmFtZSwgc2NyZWVubmFtZV91cmwsIGltZ191cmwsIGltZ191cmxfaHR0cHMsIGF1dGhvciwgc291cmNlLCBsb2NhdGlvbiwgdGV4dCwgcmV0d2VldF9jb3VudCwgZmF2b3JpdGVkLCAKCQkJCQlyZXR3ZWV0X2lkLHJldHdlZXRfdHdkYXRlLCByZXR3ZWV0X3VzZXJpZCxyZXR3ZWV0X3NjcmVlbm5hbWUsIHJldHdlZXRfc2NyZWVubmFtZV91cmwscmV0d2VldF9hdXRob3IsIHJldHdlZXRfaW1nX3VybCwKCQkJCQlyZXR3ZWV0X2ltZ19odHRwcyxyZXR3ZWV0X3NvdXJjZSwgcmV0d2VldF9sb2NhdGlvbixyZXR3ZWV0X3RleHQsanNvbmRhdGEpCgkJCQkJVkFMVUVTICg/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPykiOwoJCQkkZGF0YWFycmF5ID0gYXJyYXkoJGhhc2gsJHJvdy0+aWQsICRyb3ctPmNyZWF0ZWRfYXQsICRyb3ctPmRhdGUsICRyb3ctPnVzZXJpZCwgJHJvdy0+c2NyZWVubmFtZSwgJHJvdy0+c2NyZWVubmFtZV91cmwsICRyb3ctPmltZ191cmwsICRyb3ctPmltZ191cmxfaHR0cHMsIAoJCQkJCQkJICAgJHJvdy0+YXV0aG9yLCAkcm93LT5zb3VyY2UsICRyb3ctPmxvY2F0aW9uLCAkcm93LT50ZXh0LCRyb3ctPnJldHdlZXRfY291bnQsICRyb3ctPmZhdm9yaXRlZCwgJHJvdy0+cmV0d2VldF9pZCwgCgkJCQkJCQkgICAkcm93LT5yZXR3ZWV0X2RhdGUsJHJvdy0+cmV0d2VldF91c2VyaWQsJHJvdy0+cmV0d2VldF9zY3JlZW5uYW1lLCAkcm93LT5yZXR3ZWV0X3NjcmVlbm5hbWVfdXJsLCAgJHJvdy0+cmV0d2VldF9hdXRob3IsICRyb3ctPnJldHdlZXRfaW1nX3VybCwgJHJvdy0+cmV0d2VldF9pbWdfdXJsX2h0dHBzLCAKCQkJCQkJCSAgICRyb3ctPnJldHdlZXRfc291cmNlLCRyb3ctPnJldHdlZXRfbG9jYXRpb24sJHJvdy0+cmV0d2VldF90ZXh0LCBiYXNlNjRfZW5jb2RlKHNlcmlhbGl6ZSgkcm93LT5qc29uZGF0YSkpKTsKCQkJCgkJCSRyZXN1bHQgPSBzZWxmOjpnZXREYigpLT5FeGVjdXRlKCRxdWVyeSwgJGRhdGFhcnJheSk7CgkJCQoJCQlpZighJHJlc3VsdCkgewoJCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbignc3RvcmVEYXRhKCkgLSBTUUwgRVJST1I6ICcgLiBzZWxmOjpnZXREYigpLT5FcnJvck1zZygpIC4gJygnIC4gc2VsZjo6Z2V0RGIoKS0+c3FsIC4gJyknKTsKCQkJfQoJCX0KCQkKCQkkdGltZXN0YW1wID0gZGF0ZSgiWS1tLWQgSDppOnMiKTsKCQkJCgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX3Rvb2xib3hfdHd1cGRhdGUgKGhhc2gsIHRpbWVzdGFtcCkgdmFsdWVzICgnIi4kaGFzaC4iJywnIi4kdGltZXN0YW1wLiInKSBPTiBEVVBMSUNBVEUgS0VZIFVQREFURSBoYXNoID0gJyIuJGhhc2guIicsIHRpbWVzdGFtcCA9ICciLiR0aW1lc3RhbXAuIiciOwoJCXNlbGY6OmdldERiKCktPkV4ZWN1dGUoJHF1ZXJ5KTsKCQkKCX0KCQovKioKCSAqIAoJICogV2VydGV0IGRlbiBTZWFyY2hmZWVkIGF1cyB1bmQgZ2lidCBpbiBhbHMgc3RkQ2xhc3MgQXJyYXkgenVyw7xjawoJICogQHBhcmFtIGpzb24gYXJyYXkgJGpzb24KCSAqIEByZXR1cm4gYXJyYXkKCSAqLwoJcHJvdGVjdGVkIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBmZXRjaFNlYXJjaERhdGFBcnJheSgkanNvbikKCXsKCQlpZiAoaXNzZXQoJGpzb24tPmVycm9yKSkgcmV0dXJuIGZhbHNlOwoJCQoJCSRlbnRyeXMgPSBhcnJheSgpOwoJCQoJCWZvcmVhY2goJGpzb24tPnJlc3VsdHMgYXMgJGtleSA9PiAkaXRlbSkgewoJCQkkcm93ID0gbmV3IHN0ZENsYXNzKCk7CgkJCWlmIChzZWxmOjokX3BhcnNlTGlua3MpCSRyb3ctPnRleHQgPSBzZWxmOjpwYXJzZVR3aXR0ZXJsaW5rcygkaXRlbS0+dGV4dCk7CgkJCWVsc2UJCQkJCSRyb3ctPnRleHQgPSAkaXRlbS0+dGV4dDsKCQkJCQoJCQkkcm93LT5kYXRlID0gc2VsZjo6cGFyc2VEYXRlKCRpdGVtLT5jcmVhdGVkX2F0LCBzZWxmOjokX2RhdGVmb3JtYXQpOwoJCQkkcm93LT5pbWdfdXJsID0gJGl0ZW0tPnByb2ZpbGVfaW1hZ2VfdXJsOwoJCQkkcm93LT5pbWdfdXJsX2h0dHBzID0gJGl0ZW0tPnByb2ZpbGVfaW1hZ2VfdXJsX2h0dHBzOwoJCQkkcm93LT5zY3JlZW5uYW1lID0gJGl0ZW0tPmZyb21fdXNlcjsKCQkJJHJvdy0+YXV0aG9yID0gJGl0ZW0tPmZyb21fdXNlcl9uYW1lOwoJCQkkcm93LT5zY3JlZW5uYW1lX3VybCA9ICdodHRwOi8vdHdpdHRlci5jb20vJy4kaXRlbS0+ZnJvbV91c2VyOwoJCQkkcm93LT5zb3VyY2UgPSAkaXRlbS0+c291cmNlOwoJCQkkcm93LT5sb2NhdGlvbiA9ICIiOwoJCQkkcm93LT5yZXR3ZWV0X2NvdW50ID0gIiI7CgkJCSRyb3ctPmZhdm9yaXRlZCA9ICIiOwoJCQkkcm93LT5yZXR3ZWV0X3NjcmVlbm5hbWUgPSAiIjsKCQkJJHJvdy0+cmV0d2VldF9hdXRob3IgPSAiIjsKCQkJJGVudHJ5c1tdID0gJHJvdzsKCQl9CgkJcmV0dXJuICRlbnRyeXM7Cgl9CgkKCQoJLyoqCgkgKiAKCSAqIEhvbHQgZGVuIFR3aXR0ZXJmZWVkIGVpbmVzIEJlbnV0emVycyB1bmQgZ2lidCBpbiBhbHMgc3RkQ2xhc3MgQXJyYXkgenVyw7xjawoJICogQHBhcmFtIHN0cmluZyAkdXNlcm5hbWUgLSBUd2l0dGVyIEJlbnV0emVybmFtZQoJICogQHBhcmFtIGludCAkY291bnQgLSBBbnphaGwgRWludHLDpGdlCgkgKiBAcGFyYW0gc3RyaW5nICRkYXRlZm9ybWF0IC0gRGF0dW1zZm9ybWF0CgkgKiBAcGFyYW0gaW50ICRjYWNoZXRpbWUgLSBaZWl0IGluIE1pbnV0ZW4gbmFjaCB3ZWxjaGVyIGRlciBGZWVkIGFrdHVhbGlzaWVydCB3aXJkCgkgKiBAcmV0dXJuIGFycmF5CgkgKiBAZG9rdSBodHRwczovL2Rldi50d2l0dGVyLmNvbS9kb2NzL2FwaS8xL2dldC9zdGF0dXNlcy91c2VyX3RpbWVsaW5lCgkgKi8KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0VXNlclRpbWVsaW5lKCR1c2VybmFtZSwgJGNvdW50ID0gMjAsICRkYXRlZm9ybWF0ID0gJ2ZyaWVuZGx5JywgJGNhY2hldGltZSA9IDUpCgl7CgkJJHVzZXJuYW1lID0gcHJlZ19yZXBsYWNlKCcvW15BLVphLXowLTlfXS8nLCcnLCAkdXNlcm5hbWUpOwoJCSRoYXNoID0gbWQ1KCR1c2VybmFtZSk7CgkJaWYgKChpbnQpJGNvdW50IDwgMSkgJGNvdW50ID0gMjA7CgkJJGNhY2hlc2Vjb25kcyA9IChpbnQpJGNhY2hldGltZSA8IDEgPyA1ICogNjAgOiAkY2FjaGV0aW1lICogNjA7CgkJCgkJJHVybCA9ICdodHRwOi8vYXBpLnR3aXR0ZXIuY29tLzEvc3RhdHVzZXMvdXNlcl90aW1lbGluZS5qc29uP3NjcmVlbl9uYW1lPScuJHVzZXJuYW1lLicmaW5jbHVkZV9ydHM9MSc7CgkJCgkJJGxhc3R0d2VldCA9IHNlbGY6OmdldExhc3RUd2VldCgkaGFzaCk7CgkJCgkJaWYgKCEkbGFzdHR3ZWV0KSB7CgkJCWlmICgkY291bnQgPiA1MCkJJHVybCAuPSAnJmNvdW50PScuJGNvdW50OwoJCQllbHNlCQkJCSR1cmwgLj0gJyZjb3VudD01MCc7CgkJfQkKCQllbHNlIAkJCQkJJHVybCAuPSAnJnNpbmNlX2lkPScuJGxhc3R0d2VldDsKCQkKCQkkZmVlZCA9IHNlbGY6OmdldFR3aXR0ZXJTdHJlYW0oJGhhc2gsICR1cmwsICRjb3VudCwgJGNhY2hlc2Vjb25kcyk7CgkJCgkJcmV0dXJuICRmZWVkOwoJfQoJCgkvKioKCSAqIAoJICogSG9sdCBkZW4gVHdpdHRlcmZlZWQgZWluZXIgTGlzdGUgZWluZXMgQmVudXR6ZXIgdW5kIGdpYnQgaW4gYWxzIHN0ZENsYXNzIEFycmF5IHp1csO8Y2sKCSAqIEBwYXJhbSBzdHJpbmcgJHNlYXJjaCAtIFN1Y2hiZWdyaWZmCgkgKiBAcGFyYW0gc3RyaW5nIGxpc3QgLSBOYW1lIGRlciBMaXN0ZQoJICogQHBhcmFtIGludCAkY291bnQgLSBBbnphaGwgRWludHLDpGdlCgkgKiBAcGFyYW0gc3RyaW5nICRkYXRlZm9ybWF0IC0gRGF0dW1zZm9ybWF0CgkgKiBAcGFyYW0gaW50ICRjYWNoZXRpbWUgLSBaZWl0IGluIE1pbnV0ZW4gbmFjaCB3ZWxjaGVyIGRlciBGZWVkIGFrdHVhbGlzaWVydCB3aXJkCgkgKiBAcmV0dXJuIGFycmF5CgkgKiBAZG9rdSBodHRwczovL2Rldi50d2l0dGVyLmNvbS9kb2NzL2FwaS8xL2dldC9saXN0cy9zdGF0dXNlcwoJICovCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldFVzZXJMaXN0ICgkdXNlcm5hbWUsICRsaXN0LCAkY291bnQgPSAyMCwgJGRhdGVmb3JtYXQgPSAnZnJpZW5kbHknLCAkY2FjaGV0aW1lID0gNSkKCXsKCQkkdXNlcm5hbWUgPSBwcmVnX3JlcGxhY2UoJy9bXkEtWmEtejAtOV9dLycsJycsICR1c2VybmFtZSk7CgkJJGxpc3QgPSBwcmVnX3JlcGxhY2UoJy9bXkEtWmEtejAtOV9dLycsJycsICRsaXN0KTsKCQkkaGFzaCA9IG1kNSgkdXNlcm5hbWUuJGxpc3QpOwoJCWlmICgoaW50KSRjb3VudCA8IDEpICRjb3VudCA9IDIwOwoJCSRjYWNoZXNlY29uZHMgPSAoaW50KSRjYWNoZXRpbWUgPCAxID8gNSAqIDYwIDogJGNhY2hldGltZSAqIDYwOwoJCQoJCSR1cmwgPSAnaHR0cDovL2FwaS50d2l0dGVyLmNvbS8xL2xpc3RzL3N0YXR1c2VzLmpzb24/c2x1Zz0nLiRsaXN0Licmb3duZXJfc2NyZWVuX25hbWU9Jy4kdXNlcm5hbWUuJyZpbmNsdWRlX3J0cz0xJmluY2x1ZGVfZW50aXRpZXM9dHJ1ZSZwYWdlPTEnOwoJCQoJCSRsYXN0dHdlZXQgPSBzZWxmOjpnZXRMYXN0VHdlZXQoJGhhc2gpOwoJCQoJCWlmICghJGxhc3R0d2VldCkgewoJCQlpZiAoJGNvdW50ID4gNTApCSR1cmwgLj0gJyZwZXJfcGFnZT0nLiRjb3VudDsKCQkJZWxzZQkJCQkkdXJsIC49ICcmcGVyX3BhZ2U9NTAnOwoJCX0JCgkJZWxzZSAJCQkJCSR1cmwgLj0gJyZzaW5jZV9pZD0nLiRsYXN0dHdlZXQ7CgkJCgkJCgkJJGZlZWQgPSBzZWxmOjpnZXRUd2l0dGVyU3RyZWFtKCRoYXNoLCAkdXJsLCAkY291bnQsICRjYWNoZXNlY29uZHMpOwoJCQoJCXJldHVybiAkZmVlZDsKCQkKCX0JCgkKCS8qKgoJICogCgkgKiBIb2x0IGRlbiBTZWFyY2hmZWVkIHp1IGVpbmVtIGRlZmluaWVydGVuIFN1Y2h3b3J0IGFscyBzdGRDbGFzcyBBcnJheSB6dXLDvGNrCgkgKiBAcGFyYW0gc3RyaW5nICRzZWFyY2ggLSBTdWNoYmVncmlmZgoJICogQHBhcmFtIGludCAkY291bnQgLSBBbnphaGwgRWludHLDpGdlCgkgKiBAcGFyYW0gc3RyaW5nICRkYXRlZm9ybWF0IC0gRGF0dW1zZm9ybWF0CgkgKiBAcGFyYW0gYm9vbCAkcGFyc2VMaW5rcyAtIExpbmtzIGF1c3dlcnRlbgoJICogQHBhcmFtIGJvb2wgJHJ0cyAtIFJUUwoJICogQHJldHVybiBhcnJheQoJICogQGRva3UgaHR0cHM6Ly9kZXYudHdpdHRlci5jb20vZG9jcy9hcGkvMS9nZXQvc2VhcmNoCgkgKi8KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0U2VhcmNoRmVlZCAoJHNlYXJjaCwgJGNvdW50ID0gMjAsICRkYXRlZm9ybWF0ID0gJ2ZyaWVuZGx5JywgJGNhY2hldGltZSA9IDUpCgl7CgkJJGNvdW50ID0gJGNvdW50ID4gMCA/IChpbnQpICRjb3VudDogMTA7CgkJJGhhc2ggPSBtZDUoJHNlYXJjaCk7CgkJaWYgKChpbnQpJGNvdW50IDwgMSkgJGNvdW50ID0gMjA7CgkJJGNhY2hlc2Vjb25kcyA9IChpbnQpJGNhY2hldGltZSA8IDEgPyA1ICogNjAgOiAkY2FjaGV0aW1lICogNjA7CgkJCgkJJHVybCA9ICdodHRwOi8vc2VhcmNoLnR3aXR0ZXIuY29tL3NlYXJjaC5qc29uP3E9Jy51cmxlbmNvZGUoJHNlYXJjaCkuJyZycHA9Jy4kY291bnQuJyZwYWdlPTEmaW5jbHVkZV9lbnRpdGllcz0xJzsKCQkKCQkkbGFzdHR3ZWV0ID0gc2VsZjo6Z2V0TGFzdFR3ZWV0KCRoYXNoKTsKCQlpZiAoJGxhc3R0d2VldCkJJHVybCAuPSAnJnNpbmNlX2lkPScuJGxhc3R0d2VldDsKCQkKCQkkZmVlZCA9IHNlbGY6OmdldFR3aXR0ZXJTdHJlYW0oJGhhc2gsICR1cmwsICRjb3VudCwgJGNhY2hlc2Vjb25kcyk7CgkJCgkJcmV0dXJuICRmZWVkOwoJfQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.tbUtils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IAkJVG9vbEJveAojIENsYXNzOiAgCQl0YlV0aWxzCiMgQXV0aG9yOiAJCWJsYXR0ZXJ0ZWNoIGluZm9ybWF0aWsgLSBMdWthcyBCbGF0dGVyIC0gd3d3LmJsYXR0ZXJ0ZWNoLmNoCiMgRW1haWw6CQlsdWthcy5ibGF0dGVyQGJsYXR0ZXJ0ZWNoLmNoCiMgQ29weXJpZ2h0OiAJYmxhdHRlcnRlY2ggaW5mb3JtYXRpayAtIEx1a2FzIEJsYXR0ZXIgLSB3d3cuYmxhdHRlcnRlY2guY2gKIyBMaWNlbmNlOgkJR1BMIDIKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpjbGFzcyB0YlV0aWxzCnsKCXN0YXRpYyBwcml2YXRlICRlcnJvcnMgPSBhcnJheSgpOwoJc3RhdGljIHByaXZhdGUgJHRiOwoJCglwcml2YXRlIHN0YXRpYyAkX2luc3RhbmNlOwoJCglwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9pbnN0YW5jZSgpCgl7CgkJaWYoIXNlbGY6OiRfaW5zdGFuY2UpCgkJCXNlbGY6OiRfaW5zdGFuY2UgPSBuZXcgc2VsZjsKCQlyZXR1cm4gc2VsZjo6JF9pbnN0YW5jZTsKCX0KCQoJLyoqCgkgKiAKCSAqIGdldCBDbGFzcyBlcnJvcnMKCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIgPGxiQGJsYXR0ZXJ0ZWNoLmNoPgoJICogQGZpbmFsCgkgKiBAcmV0dXJuIGFycmF5CgkgKi8KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0RXJyb3JzKCkgCgl7CgkJaWYgKGlzc2V0KHNlbGY6OiRlcnJvcnNbMF0pKQoJCQlyZXR1cm4gc2VsZjo6JGVycm9yc1swXTsKCQllbHNlCgkJCXJldHVybiBzZWxmOjokZXJyb3JzOwkKCX0KCQoJCgkvKioKCSAqIAoJICogQ2xlYXIgQ2xhc3MgZXJyb3MKCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIgPGxiQGJsYXR0ZXJ0ZWNoLmNoPgoJICogQGNvcHlyaWdodDogR1BMIDIKCSAqIEBmaW5hbAoJICogQHJldHVybgoJICovCglwcml2YXRlIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBjbGVhckVycm9ycygpCgl7CgkJc2VsZjo6JGVycm9ycyA9IGFycmF5KCk7Cgl9CgkKCQoJLyoqCgkgKiAKCSAqIEbDvGhydCBTbWFydHkgaW0gw7xiZXJnZWJlbmVuIFN0cmluZyBhdXMuIFNtYXJ0eSBpc3QgbWl0IFtbcm9vdF91cmxdXSBtYXNraWVydAoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2g+CgkgKiBAY29weXJpZ2h0OiBHUEwgMgoJICogQGZpbmFsCgkgKiBAcmV0dXJuIHN0cmluZyAoVGVtcGxhdGUgbWl0IGF1c2dlZsO8aHJ0ZW0gU21hcnR5KQoJICovCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGV4ZWN1dGVUZW1wbGF0ZVNtYXJ0eSgkc3RyaW5nKSB7CgoJCSRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKCQkkc21hcnR5LT5sZWZ0X2RlbGltaXRlciA9ICdbWyc7CgkJJHNtYXJ0eS0+cmlnaHRfZGVsaW1pdGVyID0gJ11dJzsKCQkKCQlpZiAodmVyc2lvbl9jb21wYXJlKENNU19WRVJTSU9OLCcxLjExJykgPj0gMCApIHsKCQkJJHRlbXBsYXRlID0gJHNtYXJ0eS0+ZmV0Y2goJ3N0cmluZzonLiRzdHJpbmcpOwoJCX0KCQllbHNlIHsKCQkJJHNtYXJ0eS0+X2NvbXBpbGVfc291cmNlKCd0YlN0eWxlc2hlZXQ6Y29tYmluZWQnLCAkc3RyaW5nLCAkX2NvbXBpbGVkICk7CgkJCUBvYl9zdGFydCgpOwoJCQkkc21hcnR5LT5fZXZhbCgnPz4nIC4gJF9jb21waWxlZCk7CgkJCSR0ZW1wbGF0ZSA9IEBvYl9nZXRfY29udGVudHMoKTsKCQkJQG9iX2VuZF9jbGVhbigpOwoJCX0KCQkKCQkkc21hcnR5LT5sZWZ0X2RlbGltaXRlciA9ICd7JzsKCQkkc21hcnR5LT5yaWdodF9kZWxpbWl0ZXIgPSAnfSc7CgkJCgkJcmV0dXJuICR0ZW1wbGF0ZTsKCX0JCQkKCQoJLyoqCgkgKiAKCSAqIEhvbHQgZGllIFRlbXBsYXRlIFByb3BlcnR5cyBhdXMgZGVyIFRhYmVsbGUgdW5kIGdpYnQgc2llIGFscyBBcnJheSB6dXLDvGNrCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4KCSAqIEBjb3B5cmlnaHQ6IEdQTCAyCgkgKiBAZmluYWwKCSAqIEBwYXJhbSAkdGVtcGxhdGUgLSBOYW1lIGRlcyBUZW1wbGF0ZXMKCSAqIEByZXR1cm4gYXJyYXkgLyBmYWxzZQoJICovCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldFRlbXBsYXRlUHJvcHMoJHRlbXBsYXRlKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERCKCk7CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqCgkJCQlGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX3Rvb2xib3hfdGVtcGxhdGVwcm9wcwoJCQkJV0hFUkUgdGVtcGxhdGU9PyBPUiB0ZW1wbGF0ZWlkPT8iOwoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGVtcGxhdGUsICR0ZW1wbGF0ZSkpOwoJCgkJaWYoICRyZXN1bHQgJiYgJHJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDAgKQl7CgkJCSRvdXRwdXQgPSAkcmVzdWx0LT5GZXRjaFJvdygpOwoJCX0KCQkKCQlpZiAoIWlzc2V0KCRvdXRwdXQpKSByZXR1cm4gZmFsc2U7CgkJCgkJaWYgKHNlbGY6OmlzX3NlcmlhbGl6ZWQoJG91dHB1dFsnb3B0aW9ucyddKSkgewoJCQkkb3V0cHV0WydvcHRpb25zJ10gPSB1bnNlcmlhbGl6ZSgkb3V0cHV0WydvcHRpb25zJ10pOwoJCQlpZiAoaXNfYXJyYXkoJG91dHB1dFsnb3B0aW9ucyddKSBhbmQgIWVtcHR5KCRvdXRwdXRbJ29wdGlvbnMnXSkpIHsKCQkJCSRvdXRwdXQgPSBhcnJheV9tZXJnZSgkb3V0cHV0LCAkb3V0cHV0WydvcHRpb25zJ10pOwoJCQl9CgkJfSAKCQkKCQlyZXR1cm4gJG91dHB1dDsKCX0KCQoJLyoqCgkgKiAKCSAqIFNhdmUgVGVtcGxhdGVwcm9wcwoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2g+CgkgKiBAY29weXJpZ2h0OiBHUEwgMgoJICogQGZpbmFsCgkgKiBAcGFyYW0gc3RyaW5nICR0ZW1wbGF0ZSAtIHRlbXBsYXRlIG5hbWUKCSAqIEBwYXJhbSBhcnJheSAkcGFyYW1zIC0gUGFyYW1zIGxpa2UgJHBhcmFtc1tdIHdpdGggdGVtcGxhdGVwcm9wcwoJICogQHBhcmFtIGFycmF5ICRvcHRpb25zIC0gT3B0aW9uLUFycmF5CgkgKiBAcmV0dXJuIGJvb2xlYW4KCSAqLwoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBzYXZlVGVtcGxhdGVQcm9wcygkdGVtcGxhdGUsJHBhcmFtcywkb3B0aW9ucyA9IGFycmF5KCkpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkc2VjdGlvbiAJPSBpc3NldCgkcGFyYW1zWydzZWN0aW9uJ10pIAk/IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWydzZWN0aW9uJ10pIDogJyc7CgkJJHRwbHNlY3Rpb24gPSBpc3NldCgkcGFyYW1zWyd0cGxzZWN0aW9uJ10pIAk/IHByZWdfcmVwbGFjZSgnL1teMC05YS16QS1aX10vJywnJywkcGFyYW1zWyd0cGxzZWN0aW9uJ10pIDogJyc7CgkJJHZlcnNpb24gCT0gaXNzZXQoJHBhcmFtc1sndmVyc2lvbiddKQkJPyAkcGFyYW1zWyd2ZXJzaW9uJ10JCQk6ICcnOwoJCSRhYm91dAkgCT0gaXNzZXQoJHBhcmFtc1snYWJvdXQnXSkgCQk/ICRwYXJhbXNbJ2Fib3V0J10JCQkJOiAnJzsKCQkkanF1ZXJ5CSAJPSBpc3NldCgkcGFyYW1zWydqcXVlcnknXSkJCT8gKGludCkgJHBhcmFtc1snanF1ZXJ5J10JCTogJyc7CgkJJGpxdWVyeV9vd24JPSBpc3NldCgkcGFyYW1zWydqcXVlcnlfb3duJ10pCT8gKGludCkgJHBhcmFtc1snanF1ZXJ5X293biddCTogJyc7CgoJCWlmICghc2VsZjo6aXNfc2VyaWFsaXplZCgkb3B0aW9ucykpICRvcHRpb25zID0gc2VyaWFsaXplKCRvcHRpb25zKTsKCQkKCQkkdGVtcGxhdGVwcm9wcyA9IHNlbGY6OmdldFRlbXBsYXRlUHJvcHMoJHRlbXBsYXRlKTsKCQkKCQkvLyBzYXZlIHRlbXBsYXRlcHJvcGVydGllcyBpbiBkYXRhYmFzZQoJCWlmICggJHRlbXBsYXRlcHJvcHMgKSB7CgkJCSRxdWVyeSA9ICJVUERBVEUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfdG9vbGJveF90ZW1wbGF0ZXByb3BzCgkJCQkJU0VUIHZlcnNpb249PyxhYm91dD0/LHNlY3Rpb249Pyx0cGxzZWN0aW9uPT8sanF1ZXJ5PT8sanF1ZXJ5X293bj0/LG9wdGlvbnM9PwoJCQkJCVdIRVJFIHRlbXBsYXRlaWQ9PyI7CgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdmVyc2lvbiwgJGFib3V0LCAkc2VjdGlvbiwgJHRwbHNlY3Rpb24sICRqcXVlcnksICRqcXVlcnlfb3duLCAkb3B0aW9ucywgJHRlbXBsYXRlcHJvcHNbJ3RlbXBsYXRlaWQnXSkpOwoJCQlpZighJHJlc3VsdCkgewoJCQkJc2VsZjo6JGVycm9yc1tdID0gYXJyYXkoJ2xhbmcnID0+ICcnLCAnYWRkaXRpb25hbCcgPT4gICdTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnKCcgLiAkZGItPnNxbCAuICcpJykgOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCWVsc2UgewoJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfdG9vbGJveF90ZW1wbGF0ZXByb3BzCgkJCQkJKHRlbXBsYXRlLHZlcnNpb24sYWJvdXQsc2VjdGlvbix0cGxzZWN0aW9uLGpxdWVyeSxqcXVlcnlfb3duLG9wdGlvbnMsdmlzaWJsZSkKCQkJCQlWQUxVRVMgKD8sPyw/LD8sPyw/LD8sPyw/KSI7CgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGVtcGxhdGUsICR2ZXJzaW9uLCAkYWJvdXQsICRzZWN0aW9uLCAkdHBsc2VjdGlvbiwgJGpxdWVyeSwgJGpxdWVyeV9vd24sICRvcHRpb25zLCAxKSk7CgkJCWlmKCEkcmVzdWx0KSB7CgkJCQlzZWxmOjokZXJyb3JzW10gPSBhcnJheSgnbGFuZycgPT4gJycsICdhZGRpdGlvbmFsJyA9PiAgJ1NRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICcoJyAuICRkYi0+c3FsIC4gJyknKSA7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgkJCgkJcmV0dXJuIHRydWU7Cgl9CgkKCS8qKgoJICogCgkgKiBHZW5lcmllcnQgZGFzIFRlbXBsYXRlLU9iamVrdCB6dXIgQXVmbGlzdHVuZyBhbGxlciBUZW1wbGF0ZXMKCSAqIEBwYXJhbSBvYmplY3QgJG1vZHVsZQoJICogQHBhcmFtIHN0cmluZyAkc2VjdGlvbiAtIFRvb2xCb3ggU2VjdGlvbgoJICogQHBhcmFtIHN0cmluZyAkdHBsc2VjdGlvbiAtIFRlbXBsYXRlIFNlY3Rpb246IFN1bW1hcnksIERldGFpbCwgU2VhcmNoLCBldGMuCgkgKiBAcGFyYW0gc3RyaW5nICR0YWJ0byAtIFRhYiB6dSB3ZWxjaGVtIG5hY2ggZWluZXIgQWt0aW9uIHdpZWRlciBnZXdlY2hzZWx0IHdpcmQKCSAqIEBwYXJhbSBzdHJpbmcgJHR0YWJ0byAtIFRhYiBUYWIgenUgd2VsY2hlbSBnZXdlY2hzZWx0IHdpcmQKCSAqLwoJCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldFRwbExpc3QoJiRtb2R1bGUsICRzZWN0aW9uLCAkdHBsc2VjdGlvbiwgJHRhYnRvLCAkdHRhYnRvID0gIiIgKSAKCXsKCQlnbG9iYWwgJGlkOwoJCWdsb2JhbCAkcmV0dXJuaWQ7CgkJCgkJJHRoZW1lT2JqZWN0ID0gY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyk7IC8vICAmICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXTsKCQkkZmFsc2VpbWFnZTEgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsJG1vZHVsZS0+TGFuZyAoJ3NldHRydWUnKSwnJywnJywnc3lzdGVtaWNvbicpOwoJCSR0cnVlaW1hZ2UxID0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsJG1vZHVsZS0+TGFuZyAoJ2RlZmF1bHQnKSwnJywnJywnc3lzdGVtaWNvbicpOwoJCQoJCQoJCSRhbGx0ZW1wbGF0ZXMgPSAkbW9kdWxlLT5MaXN0VGVtcGxhdGVzKCk7CgkJJGN1cnJlbnRfdGVtcGxhdGUgPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdjdXJyZW50XycuJHNlY3Rpb24uJHRwbHNlY3Rpb24uJ190ZW1wbGF0ZScpOwoJCSRyb3dhcnJheSA9IGFycmF5KCk7CgkJJHJvd2NsYXNzID0gJ3JvdzEnOwoJCQkKCQlmb3JlYWNoKCAkYWxsdGVtcGxhdGVzIGFzICR0cGwgKQoJCXsKCQkJJHRwbHByb3BzID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVQcm9wcygkdHBsKTsKCQkJCgkJCWlmICgkdHBscHJvcHNbJ3NlY3Rpb24nXSAhPSAkc2VjdGlvbikgY29udGludWU7CgkJCWlmKCR0cGxwcm9wc1sndHBsc2VjdGlvbiddICE9ICR0cGxzZWN0aW9uKSBjb250aW51ZTsKCQkJCgkJCSRyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKCQkJJHJvdy0+dHBsc2VjdGlvbiA9ICR0cGxwcm9wc1sndHBsc2VjdGlvbiddOwoJCQkKCQkJJHJvdy0+bmFtZSA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLCBzdHJfcmVwbGFjZSgkbW9kdWxlLT5nZXRUcGxUb2tlbigpLCAiIiwgJHRwbCksIGFycmF5KCd0ZW1wbGF0ZScgPT4gJHRwbCwgJ21vZGUnPT4nZWRpdCcsICd0YWJ0bycgPT4gJHRhYnRvLCAndHRhYnRvJyA9PiAkdHRhYnRvKSk7CgkJCSRyb3ctPnZlcnNpb24gPSAkdHBscHJvcHNbJ3ZlcnNpb24nXTsKCQkJJHJvdy0+YWJvdXQgPSAkbW9kdWxlLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0cGxhYm91dCcsICRyZXR1cm5pZCwgJG1vZHVsZS0+TGFuZygncHJvbXB0X2Fib3V0JyksIGFycmF5KCd0ZW1wbGF0ZScgPT4gJHRwbCwgJ21vZGUnPT4nc2hvdycsICd0YWJ0bycgPT4gJHRhYnRvLCAndHRhYnRvJyA9PiAkdHRhYnRvKSk7CgkJCSRyb3ctPnJvd2NsYXNzID0gICRyb3djbGFzczsKCQkJCgkJCWlmKCAkdHBsID09ICRjdXJyZW50X3RlbXBsYXRlKSAkcm93LT5kZWZhdWx0ID0gJHRydWVpbWFnZTE7CgkJCWVsc2UKCQkJewoJCQkJJHJvdy0+ZGVmYXVsdCA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCAnc3dpdGNoZGVmYXVsdHRlbXBsYXRlJywgJHJldHVybmlkLCAkZmFsc2VpbWFnZTEsCgkJCQkJCSAgICAgICBhcnJheSgndGVtcGxhdGUnPT4kdHBsLCAndGFidG8nID0+ICR0YWJ0bywgJ3R0YWJ0bycgPT4gJHR0YWJ0bywgJ3NlY3Rpb24nPT4kc2VjdGlvbiwgJ3RwbHNlY3Rpb24nID0+ICRyb3ctPnRwbHNlY3Rpb24pKTsKCQkJfQoJCQoJCQkkcm93LT5lZGl0bGluayA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLAoJCQkJCQkgICAgY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyktPkRpc3BsYXlJbWFnZSAoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICRtb2R1bGUtPkxhbmcgKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCQkJICAgIGFycmF5ICgndGVtcGxhdGUnID0+ICR0cGwsICdtb2RlJz0+J2VkaXQnLCAndGFidG8nID0+ICR0YWJ0bywgJ3R0YWJ0bycgPT4gJHR0YWJ0bykpOwoJCQkKCQkJJHJvdy0+Y29weWxpbmsgPSAkbW9kdWxlLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwKCQkJCQkJICAgIGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vY29weS5naWYnLCAkbW9kdWxlLT5MYW5nICgnY29weScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksCgkJCQkJCSAgICBhcnJheSAoJ3RlbXBsYXRlJyA9PiAkdHBsLCAnbW9kZSc9PidhZGQnLCAndGFidG8nID0+ICR0YWJ0bywgJ3R0YWJ0bycgPT4gJHR0YWJ0bywgJ3NlY3Rpb24nID0+ICRzZWN0aW9uLCAndHBsc2VjdGlvbicgPT4gJHJvdy0+dHBsc2VjdGlvbikpOwoJCQkKCQkJaWYoICR0cGwgPT0gJGN1cnJlbnRfdGVtcGxhdGUpCSRyb3ctPmRlbGV0ZWxpbmsgPSAnJm5ic3A7JzsKCQkJZWxzZQoJCQl7CgkJCQkkcm93LT5kZWxldGVsaW5rID0gJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsICdkb19kZWxldGV0ZW1wbGF0ZScsICRyZXR1cm5pZCwKCQkJCQkJCSAgY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyktPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkbW9kdWxlLT5MYW5nICgnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCQkJCSAgYXJyYXkgKCd0ZW1wbGF0ZScgPT4gJHRwbCwgJ3RhYnRvJz0+JHRhYnRvLCAndHRhYnRvJyA9PiAkdHRhYnRvKSwgJG1vZHVsZS0+TGFuZygnYXJleW91c3VyZScpKTsKCQkJfQoJCQoJCQkkcm93LT5leHBvcnQgPSAkbW9kdWxlLT5DcmVhdGVMaW5rKCRpZCwgJ2RvX2V4cG9ydHRlbXBsYXRlJywgJHJldHVybmlkLAoJCQkJCQkgICAgJzxpbWcgc3JjPSIuLi9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL3htbF9yc3MuZ2lmIiBhbHQ9IlhNTCIgLz4nLAoJCQkJCQkgICAgYXJyYXkoJ3RlbXBsYXRlJyA9PiAkdHBsKSk7CgkJCgkJCWFycmF5X3B1c2ggKCRyb3dhcnJheSwgJHJvdyk7CgkJCSRyb3djbGFzcyA9CSgkcm93Y2xhc3MgPT0gInJvdzEiID8gJHJvd2NsYXNzID0gInJvdzIiIDogJHJvd2NsYXNzID0gInJvdzEiKTsKCQkJCQkJICAgIAoJCX0KCQkKCQkKCQlpZiAoIWNvdW50KCRyb3dhcnJheSkpIHsKCQkJJHJvdyA9IG5ldyBTdGRDbGFzcygpOwoJCQkkcm93LT5uYW1lID0gJG1vZHVsZS0+TGFuZygnZXJyb3Jfbm90ZW1wbGF0ZXMnKTsKCQkJJHJvdy0+ZGVmYXVsdCA9ICIiOwoJCQkkcm93LT5lZGl0bGluayA9ICIiOwoJCQkkcm93LT5jb3B5bGluayA9ICIiOwoJCQkkcm93LT5kZWxldGVsaW5rID0gIiI7CgkJCSRyb3ctPmV4cG9ydCA9ICIiOwoJCQlhcnJheV9wdXNoICgkcm93YXJyYXksICRyb3cpOwoJCX0KCQkKCQlyZXR1cm4gJHJvd2FycmF5OwoJCQoJCQoJfQoJCgkvKioKCSAqIAoJICogS29udHJvbGxpZXJ0IGRlbiBDU1YgT3JkbmVyLCBha3R1YWxpc2llcnQgREIgdW5kIGxpZWZlcnQgRGF0ZW4gYWxzIFN0ZENsYXNzIEFycmF5IHp1csO8Y2sKCSAqIEByZXR1cm4gc3RkQ2xhc3MgQXJyYXkKCSAqLwoJCgkKCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0Q1NWRmlsZXMoJiRtb2R1bGUsICR0YWJ0bywgJHR0YWJ0byA9ICIiKQoJewoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCQkKCQkkdGhlbWVPYmplY3QgPSBjbXNtcygpLT5nZXRfdmFyaWFibGUoJ2FkbWludGhlbWUnKTsgLy8gICYgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddOwoJCSRmYWxzZWltYWdlMSA9ICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywkbW9kdWxlLT5MYW5nICgnc2V0dHJ1ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyk7CgkJJHRydWVpbWFnZTEgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywkbW9kdWxlLT5MYW5nICgnZGVmYXVsdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyk7CgkJCgkJJGRpciA9ICRjb25maWdbJ3Jvb3RfcGF0aCddLicvdXBsb2Fkcy9Ub29sQm94L0NTVic7CgkJCgkJaWYgKCFpc19kaXIoJGRpcikpIG1rZGlyKCRkaXIsNzc3LHRydWUpOwoJCQoJCSRmaWxlcyA9IHNlbGY6OmdldEZvbGRlckZpbGVzKCRjb25maWdbJ3Jvb3RfcGF0aCddLicvdXBsb2Fkcy9Ub29sQm94L2NzdicsICIiLCAiY3N2Iik7CgkJCgkJJHJvd2FycmF5ID0gYXJyYXkoKTsKCQkkcm93Y2xhc3MgPSAncm93MSc7CgkJCQoJCWZvcmVhY2goJGZpbGVzIGFzICRmaWxlKQoJCXsKCQkJJGZpbGVpbmZvID0gc2VsZjo6Z2V0Q1NWRmlsZUluZm8oJGZpbGVbJ25hbWUnXSk7CgkJCQoJCQkkcm93ID0gbmV3IFN0ZENsYXNzKCk7CgkJCQoJCQkkcm93LT5maWxlbmFtZSA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdHRlbXBsYXRlJywgJHJldHVybmlkLCBzdHJfcmVwbGFjZSgkbW9kdWxlLT5nZXRUcGxUb2tlbigpLCAiIiwgJHRwbCksIGFycmF5KCd0ZW1wbGF0ZScgPT4gJHRwbCwgJ21vZGUnPT4nZWRpdCcsICd0YWJ0bycgPT4gJHRhYnRvLCAndHRhYnRvJyA9PiAkdHRhYnRvKSk7CgkJCSRyb3ctPmZpbGVwYXRoID0gIiI7CgkJCSRyb3ctPmZpbGVzaXplID0gIiI7CgkJCSRyb3ctPmxhc3Rtb2QgPSAiIjsKCQkJCgkJCSRyb3ctPmVkaXRsaW5rID0gJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsICdjc3ZmaWxlYWN0aW9uJywgJHJldHVybmlkLAoJCQkJCQkgICAgY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyktPkRpc3BsYXlJbWFnZSAoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICRtb2R1bGUtPkxhbmcgKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCQkJICAgIGFycmF5ICgnZmlsZScgPT4gJGZpbGVpbmZvWydmaWxlbnInXSwgJ21vZGUnPT4nZWRpdCcsICd0YWJ0bycgPT4gJHRhYnRvLCAndHRhYnRvJyA9PiAkdHRhYnRvKSk7CgkJCQoJCQkkcm93LT5jb3B5bGluayA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCAnY3N2ZmlsZWFjdGlvbicsICRyZXR1cm5pZCwKCQkJCQkJICAgIGNtc21zKCktPmdldF92YXJpYWJsZSgnYWRtaW50aGVtZScpLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vY29weS5naWYnLCAkbW9kdWxlLT5MYW5nICgnY29weScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksCgkJCQkJCSAgICBhcnJheSAoJ2ZpbGUnID0+ICRmaWxlaW5mb1snZmlsZW5yJ10sICdtb2RlJz0+J2NvcHknLCAndGFidG8nID0+ICR0YWJ0bywgJ3R0YWJ0bycgPT4gJHR0YWJ0bykpOwoJCQkKCQkJJHJvdy0+cmVuYW1lbGluayA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCAnY3N2ZmlsZWFjdGlvbicsICRyZXR1cm5pZCwKCQkJCQkJCSAgY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyktPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkbW9kdWxlLT5MYW5nICgnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCQkJCSAgYXJyYXkgKCdmaWxlJyA9PiAkZmlsZWluZm9bJ2ZpbGVuciddLCAnbW9kZSc9PidyZW5hbWUnLCAndGFidG8nPT4kdGFidG8sICd0dGFidG8nID0+ICR0dGFidG8pKTsKCQkKCQkJJHJvdy0+ZGVsZXRlbGluayA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCAnY3N2ZmlsZWFjdGlvbicsICRyZXR1cm5pZCwKCQkJCQkJCSAgY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCdhZG1pbnRoZW1lJyktPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkbW9kdWxlLT5MYW5nICgnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCQkJCSAgYXJyYXkgKCdmaWxlJyA9PiAkZmlsZWluZm9bJ2ZpbGVuciddLCAnbW9kZSc9PidkZWxldGUnLCAndGFidG8nPT4kdGFidG8sICd0dGFidG8nID0+ICR0dGFidG8pLCAkbW9kdWxlLT5MYW5nKCdhcmV5b3VzdXJlJykpOwoJCQkKCQkJYXJyYXlfcHVzaCAoJHJvd2FycmF5LCAkcm93KTsKCQkJJHJvd2NsYXNzID0JKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOwoJCQkJCQkgICAgCgkJfQoJCQoJCQoJCWlmICghY291bnQoJHJvd2FycmF5KSkgewoJCQkkcm93ID0gbmV3IFN0ZENsYXNzKCk7CgkJCSRyb3ctPmZpbGVuYW1lID0gJG1vZHVsZS0+TGFuZygnZXJyb3Jfbm9maWxlcycpOwoJCQkkcm93LT5maWxlcGF0aCA9ICIiOwoJCQkkcm93LT5maWxlc2l6ZSA9ICIiOwoJCQkkcm93LT5sYXN0bW9kID0gIiI7CgkJCSRyb3ctPmVkaXRsaW5rID0gIiI7CgkJCSRyb3ctPmNvcHlsaW5rID0gIiI7CgkJCSRyb3ctPmRlbGV0ZWxpbmsgPSAiIjsKCQkJJHJvdy0+cmVuYW1lbGluayA9ICIiOwoJCQlhcnJheV9wdXNoICgkcm93YXJyYXksICRyb3cpOwoJCX0KCQkKCQlyZXR1cm4gJHJvd2FycmF5OwoJCQoJCQoJfQkKCQoJLyoqCgkgKiAKCSAqIEVudGVyIGRlc2NyaXB0aW9uIGhlcmUgLi4uCgkgKiBAcGFyYW0gc3RyaW5nICRmaWxlbmFtZQoJICogQHJldHVybiBhcnJheSAtIEZpbGVpbmZvCgkgKi8KCQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRDU1ZGaWxlSW5mbygkZmlsZW5hbWUpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0REIoKTsKCQkKCQkvLyBHaWJ0IGVzIGVpbmVuIERhdGVuc2F0eiB6dW0gRmlsZSBpbiBkZXIgREI/CgkJJHF1ZXJ5ID0gIlNFTEVDVCAqCgkJCQlGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX3Rvb2xib3hfY3N2CgkJCQlXSEVSRSBCSU5BUlkgZmlsZW5hbWUgPSA/IG9yIGZpbGVuciA9ID8iOwoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmlsZW5hbWUsICRmaWxlbmFtZSkpOwoJCgkJaWYoICRyZXN1bHQgJiYgJHJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDAgKQl7CgkJCSRvdXRwdXQgPSAkcmVzdWx0LT5GZXRjaFJvdygpOwoJCX0KCQkKCQkvLyBFcyBnaWJ0IGtlaW5lbiBEYXRlbnNhdHoKCQlpZiAoIWlzc2V0KCRvdXRwdXQpKSB7CgkJCS8vIEtvbnRyb2xsZSBvYiBlcyBlaW5lbiBEYXRlbnNhdHogenVyIGdsZWljaGVuIERhdGVpIG1pdCBhbmRlcmVyIEdyb3NzLS9LbGVpbnNjaHJlaWJ1bmcgZ2lidAoJCQkkcXVlcnkgPSAiU0VMRUNUICoKCQkJCUZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfdG9vbGJveF9jc3YKCQkJCVdIRVJFIGZpbGVuYW1lID0gPyI7CgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmlsZW5hbWUpKTsKCQkJCgkJCS8vIFdlbm4gZXMgbnVyIGVpbmVuIERhdGVuc2F0eiBnaWJ0LCBkaWVzZW4gbWl0IGRlbSBEYXRlaW5hbWVuIGFrdHVhbGlzaWVyZW4KCQkJaWYoICRyZXN1bHQgJiYgJHJlc3VsdC0+UmVjb3JkQ291bnQoKSA9PSAxICkgewoJCQkJJG91dHB1dCA9ICRyZXN1bHQtPkZldGNoUm93KCk7CgkJCQkvLyBEYXRlaW5hbWVuIGFrdHVhbGlzaWVyZW4KCQkJCSRxdWVyeSA9ICJ1cGRhdGUgIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfdG9vbGJveF9jc3Ygc2V0IGZpbGVuYW1lID0gPywgcGF0aCA9ICcnIHdoZXJlIGZpbGVuciA9ID8iOwoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZpbGVuYW1lLCRvdXRwdXRbJ2ZpbGVuciddKSk7CgkJCQkKCQkJCQoJCQkJCgkJCX0KCQkJCgkJfSAKLy8JCWZpbGVucglpbnQoMTEpIEF1dG8gSW5jcmVtZW50CSAKLy8JCWZpbGVuYW1lCi8vCQlwYXRoCXZhcmNoYXIoNTAwKSBOVUxMCSAKLy8JCWZpbGVzaXplCWJpZ2ludCgyMCkgTlVMTAkgCi8vCQlsYXN0dXBkYXRlCgkJCgl9CgkKCQoJCgkvKioKCSAqIAoJICogR2lidCBkZW4gUGZhZCB6dSBlaW5lciBUb29sQm94IFRlbXBsYXRlIFhNTC1EYXRlaSBhdXMuCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4KCSAqIEBjb3B5cmlnaHQ6IEdQTCAyCgkgKiBAZmluYWwKCSAqIEBwYXJhbSAkc2VjdGlvbgktIFRvb2xCb3ggU2VjdGlvbgoJICogQHBhcmFtICR0ZW1wbGF0ZSAtIFRlbXBsYXRlIG5hbWUKCSAqIEByZXR1cm4gc3RyaW5nCgkgKi8KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0VHBsWE1MRmlsZSgkc2VjdGlvbiwkdGVtcGxhdGUpCgl7CgkJcmV0dXJuIHJlYWxwYXRoKGRpcm5hbWUoX19GSUxFX18pLiAnLy4uLycuJy90ZW1wbGF0ZXMvVG9vbEJveC10cGwtJy50cmltKCRzZWN0aW9uKS4nLScudHJpbSgkdGVtcGxhdGUpLicueG1sJyk7Cgl9CgkKCS8qKgoJICogCgkgKiBUYWtlcyBYTUwgc3RyaW5nIGFuZCByZXR1cm5zIGEgYm9vbGVhbiByZXN1bHQgd2hlcmUgdmFsaWQgWE1MIHJldHVybnMgdHJ1ZQoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2g+CgkgKiBAY29weXJpZ2h0OiBHUEwgMgoJICogQGZpbmFsCgkgKiBAcGFyYW0gJHhtbAoJICogQHJldHVybiBib29sZWFuCgkgKi8KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gaXNfdmFsaWRfeG1sICggJHhtbCApIHsKCQlsaWJ4bWxfdXNlX2ludGVybmFsX2Vycm9ycyggdHJ1ZSApOwoJCSRkb2MgPSBuZXcgRE9NRG9jdW1lbnQoJzEuMCcsICd1dGYtOCcpOwoJCSRkb2MtPmxvYWRYTUwoICR4bWwgKTsKCQkkZXJyb3JzID0gbGlieG1sX2dldF9lcnJvcnMoKTsKCQlyZXR1cm4gZW1wdHkoICRlcnJvcnMgKTsKCX0KCQoKCS8qKgoJICogQ29udmVydCBYTUwgdG8gYW4gQXJyYXkKCSAqCgkgKiBAcGFyYW0gc3RyaW5nICAkWE1MCgkgKiBAcmV0dXJuIGFycmF5CgkgKi8KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gWE1MdG9BcnJheSgkWE1MKQoJewoJCSR4bWxfcGFyc2VyID0geG1sX3BhcnNlcl9jcmVhdGUoKTsKCQl4bWxfcGFyc2VfaW50b19zdHJ1Y3QoJHhtbF9wYXJzZXIsICRYTUwsICR2YWxzKTsKCQl4bWxfcGFyc2VyX2ZyZWUoJHhtbF9wYXJzZXIpOwoJCS8vIHd5em5hY3phbXkgdGFibGljZSB6IHBvd3RhcnphamFjeW1pIHNpZSB0YWdhbWkgbmEgdHltIHNhbXltIHBvemlvbWllCgkJJF90bXA9Jyc7CgkJZm9yZWFjaCAoJHZhbHMgYXMgJHhtbF9lbGVtKSB7CgkJCSR4X3RhZz0keG1sX2VsZW1bJ3RhZyddOwoJCQkkeF9sZXZlbD0keG1sX2VsZW1bJ2xldmVsJ107CgkJCSR4X3R5cGU9JHhtbF9lbGVtWyd0eXBlJ107CgkJCWlmICgkeF9sZXZlbCE9MSAmJiAkeF90eXBlID09ICdjbG9zZScpIHsKCQkJCWlmIChpc3NldCgkbXVsdGlfa2V5WyR4X3RhZ11bJHhfbGV2ZWxdKSkKCQkJCSRtdWx0aV9rZXlbJHhfdGFnXVskeF9sZXZlbF09MTsKCQkJCWVsc2UKCQkJCSRtdWx0aV9rZXlbJHhfdGFnXVskeF9sZXZlbF09MDsKCQkJfQoJCQlpZiAoJHhfbGV2ZWwhPTEgJiYgJHhfdHlwZSA9PSAnY29tcGxldGUnKSB7CgkJCQlpZiAoJF90bXA9PSR4X3RhZykKCQkJCSRtdWx0aV9rZXlbJHhfdGFnXVskeF9sZXZlbF09MTsKCQkJCSRfdG1wPSR4X3RhZzsKCQkJfQoJCX0KCQkvLyBqZWR6aWVteSBwbyB0YWJsaWN5CgkJZm9yZWFjaCAoJHZhbHMgYXMgJHhtbF9lbGVtKSB7CgkJCSR4X3RhZz0keG1sX2VsZW1bJ3RhZyddOwoJCQkkeF9sZXZlbD0keG1sX2VsZW1bJ2xldmVsJ107CgkJCSR4X3R5cGU9JHhtbF9lbGVtWyd0eXBlJ107CgkJCWlmICgkeF90eXBlID09ICdvcGVuJykKCQkJJGxldmVsWyR4X2xldmVsXSA9ICR4X3RhZzsKCQkJJHN0YXJ0X2xldmVsID0gMTsKCQkJJHBocF9zdG10ID0gJyR4bWxfYXJyYXknOwoJCQlpZiAoJHhfdHlwZT09J2Nsb3NlJyAmJiAkeF9sZXZlbCE9MSkKCQkJJG11bHRpX2tleVskeF90YWddWyR4X2xldmVsXSsrOwoJCQl3aGlsZSAoJHN0YXJ0X2xldmVsIDwgJHhfbGV2ZWwpIHsKCQkJCSRwaHBfc3RtdCAuPSAnWyRsZXZlbFsnLiRzdGFydF9sZXZlbC4nXV0nOwoJCQkJaWYgKGlzc2V0KCRtdWx0aV9rZXlbJGxldmVsWyRzdGFydF9sZXZlbF1dWyRzdGFydF9sZXZlbF0pICYmICRtdWx0aV9rZXlbJGxldmVsWyRzdGFydF9sZXZlbF1dWyRzdGFydF9sZXZlbF0pCgkJCQkkcGhwX3N0bXQgLj0gJ1snLigkbXVsdGlfa2V5WyRsZXZlbFskc3RhcnRfbGV2ZWxdXVskc3RhcnRfbGV2ZWxdLTEpLiddJzsKCQkJCSRzdGFydF9sZXZlbCsrOwoJCQl9CgkJCSRhZGQ9Jyc7CgkJCWlmIChpc3NldCgkbXVsdGlfa2V5WyR4X3RhZ11bJHhfbGV2ZWxdKSAmJiAkbXVsdGlfa2V5WyR4X3RhZ11bJHhfbGV2ZWxdICYmICgkeF90eXBlPT0nb3BlbicgfHwgJHhfdHlwZT09J2NvbXBsZXRlJykpIHsKCQkJCWlmICghaXNzZXQoJG11bHRpX2tleTJbJHhfdGFnXVskeF9sZXZlbF0pKQoJCQkJJG11bHRpX2tleTJbJHhfdGFnXVskeF9sZXZlbF09MDsKCQkJCWVsc2UKCQkJCSRtdWx0aV9rZXkyWyR4X3RhZ11bJHhfbGV2ZWxdKys7CgkJCQkkYWRkPSdbJy4kbXVsdGlfa2V5MlskeF90YWddWyR4X2xldmVsXS4nXSc7CgkJCX0KCQkJaWYgKGlzc2V0KCR4bWxfZWxlbVsndmFsdWUnXSkgJiYgdHJpbSgkeG1sX2VsZW1bJ3ZhbHVlJ10pIT0nJyAmJiAhYXJyYXlfa2V5X2V4aXN0cygnYXR0cmlidXRlcycsICR4bWxfZWxlbSkpIHsKCQkJCWlmICgkeF90eXBlID09ICdvcGVuJykKCQkJCSRwaHBfc3RtdF9tYWluPSRwaHBfc3RtdC4nWyR4X3R5cGVdJy4kYWRkLidbXCdjb250ZW50XCddID0gJHhtbF9lbGVtW1wndmFsdWVcJ107JzsKCQkJCWVsc2UKCQkJCSRwaHBfc3RtdF9tYWluPSRwaHBfc3RtdC4nWyR4X3RhZ10nLiRhZGQuJyA9ICR4bWxfZWxlbVtcJ3ZhbHVlXCddOyc7CgkJCQlldmFsKCRwaHBfc3RtdF9tYWluKTsKCQkJfQoJCQlpZiAoYXJyYXlfa2V5X2V4aXN0cygnYXR0cmlidXRlcycsICR4bWxfZWxlbSkpIHsKCQkJCWlmIChpc3NldCgkeG1sX2VsZW1bJ3ZhbHVlJ10pKSB7CgkJCQkJJHBocF9zdG10X21haW49JHBocF9zdG10LidbJHhfdGFnXScuJGFkZC4nW1wnY29udGVudFwnXSA9ICR4bWxfZWxlbVtcJ3ZhbHVlXCddOyc7CgkJCQkJZXZhbCgkcGhwX3N0bXRfbWFpbik7CgkJCQl9CgkJCQlmb3JlYWNoICgkeG1sX2VsZW1bJ2F0dHJpYnV0ZXMnXSBhcyAka2V5PT4kdmFsdWUpIHsKCQkJCQkkcGhwX3N0bXRfYXR0PSRwaHBfc3RtdC4nWyR4X3RhZ10nLiRhZGQuJ1ska2V5XSA9ICR2YWx1ZTsnOwoJCQkJCWV2YWwoJHBocF9zdG10X2F0dCk7CgkJCQl9CgkJCX0KCQl9CgkJcmV0dXJuICR4bWxfYXJyYXk7Cgl9CgkKCQoJCgkvKioKCSAqIAoJICogUGFyc2VkIGVpbiBUZW1wbGF0ZSBYTUwgaW4gZWluIEFycmF5CgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4KCSAqIEBjb3B5cmlnaHQ6IEdQTCAyCgkgKiBAZmluYWwKCSAqIEBwYXJhbSBzdHJpbmcgJGZuIC0gRmlsZW5hbWUgKGlua2wuIFBmYWQpCgkgKiBAcmV0dXJuIGFycmF5CgkgKi8KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0VGVtcGxhdGVEYXRhRnJvbVhNTCgkeG1sKQoJewoJCWlmIChpc19maWxlKCR4bWwpKSAkeG1sID0gZmlsZV9nZXRfY29udGVudHMoJHhtbCk7CgkJCgkJLy8gRGVrbGFyYXRpb24gYWxsZXIgU3RhbmRhcmRmZWxkZXIKCQkkdHBsZGV0YWlscyA9IGFycmF5KCduYW1lJyA9PiBOVUxMLCd2ZXJzaW9uJyA9PiBOVUxMLCd0b29sYm94dmVyc2lvbicgPT4gTlVMTCwnYWJvdXQnID0+IE5VTEwsJ3NlY3Rpb24nID0+IE5VTEwsJ3RwbHNlY3Rpb24nID0+IE5VTEwsJ2pxdWVyeScgPT4gMCwnanF1ZXJ5X293bicgPT4gMCwnb3B0aW9ucycgPT4gTlVMTCwndHBsY29kZScgPT4gTlVMTCwndHBsY3NzJyA9PiBOVUxMLCd0cGxqcycgPT4gTlVMTCwndHBsbW9iaWxlY29kZScgPT4gTlVMTCwndHBsbW9iaWxlY3NzJyA9PiBOVUxMLCd0cGxtb2JpbGVqcycgPT4gTlVMTCwnZmlsZXMnID0+IGFycmF5KCkpOwoJCQoJCSRkb2MgPSBuZXcgRE9NRG9jdW1lbnQoKTsKCQkkZG9jLT5wcmVzZXJ2ZVdoaXRlU3BhY2UgPSBmYWxzZTsKCQlpZiAoISRkb2MtPmxvYWRYTUwoJHhtbCkpIHsKCQkJc2VsZjo6JGVycm9yc1tdID0gYXJyYXkoJ2xhbmcnID0+ICdlcnJvcl9jb3VsZG5vdHBhcnNleG1sJywgJ2FkZGl0aW9uYWwnID0+ICcnKSA7CgkJIAlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCWZvcmVhY2ggKCRkb2MtPmNoaWxkTm9kZXMtPml0ZW0oMCktPmNoaWxkTm9kZXMgYXMgJGNoaWxkTm9kZSkgewoJCQkkbmFtZSA9IHN0cnRvbG93ZXIoJGNoaWxkTm9kZS0+bm9kZU5hbWUpOwoJCQkkdmFsdWUgPSAkY2hpbGROb2RlLT5ub2RlVmFsdWU7CgoJCQlpZiAoJG5hbWUgPT0gImZpbGUiKSB7CgkJCQkkYXJyYXkgPSBhcnJheSgpOwoJCQkJZm9yZWFjaCgkY2hpbGROb2RlLT5jaGlsZE5vZGVzIGFzICRmaWxlKSB7CgkJCQkJJGZpbGVuYW1lID0gc3RydG9sb3dlcigkZmlsZS0+bm9kZU5hbWUpOwoJCQkJCSRmaWxlZGF0YSA9ICRmaWxlLT5ub2RlVmFsdWU7CgkJCQkJJGFycmF5WyRmaWxlbmFtZV0gPSAkZmlsZWRhdGE7CgkJCQl9CgkJCQkkdHBsZGV0YWlsc1snZmlsZXMnXVtdID0gJGFycmF5OwoJCQl9CgkJCWVsc2UgewoJCQkJLy9pZiAoc2VsZjo6aXNfYmFzZTY0Y29kZSgkdmFsdWUpKSAkdmFsdWUgPSBiYXNlNjRfZGVjb2RlKCR2YWx1ZSk7CgkJCQlpZiAoaW5fYXJyYXkoJG5hbWUsIGFycmF5KCd0cGxjb2RlJywndHBsY3NzJywndHBsanMnLCd0cGxtb2JpbGVjb2RlJywndHBsbW9iaWxlY3NzJywndHBsbW9iaWxlanMnLCdhYm91dCcsJ29wdGlvbnMnKSkpCgkJCQkJJHZhbHVlID0gYmFzZTY0X2RlY29kZSgkdmFsdWUpOwoJCQkJJHRwbGRldGFpbHNbJG5hbWVdID0gJHZhbHVlOwoJCQl9CgkJfQoJCQoJCWlmIChzZWxmOjppc19zZXJpYWxpemVkKCR0cGxkZXRhaWxzWydvcHRpb25zJ10pKSB7CgkJCSR0cGxkZXRhaWxzWydvcHRpb25zJ10gPSB1bnNlcmlhbGl6ZSgkdHBsZGV0YWlsc1snb3B0aW9ucyddKTsKCQkJaWYgKGlzX2FycmF5KCR0cGxkZXRhaWxzWydvcHRpb25zJ10pKQoJCQkJJHRwbGRldGFpbHMgPSBhcnJheV9tZXJnZSgkdHBsZGV0YWlscywgJHRwbGRldGFpbHNbJ29wdGlvbnMnXSk7CgkJfSAKCQkKCQlyZXR1cm4gJHRwbGRldGFpbHM7CQkKCX0KCQoJLyoqCgkgKiAKCSAqIEltcG9ydCBUZW1wbGF0ZQoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2g+CgkgKiBAY29weXJpZ2h0OiBHUEwgMgoJICogQGZpbmFsCgkgKiBAcGFyYW0gJG1vZHVsZSAtIGluc3RhbmNlIG9mIFRvb2xCb3gKCSAqIEBwYXJhbSAkeG1sIC0gWE1MIGRlciBUZW1wbGF0ZWRhdGVpCgkgKiBAcGFyYW0gJG92ZXJ3cml0ZSAtIFNvbGwgZWluIGJlc3RlaGVuZGVzIFRlbXBsYXRlIMO8YmVyc2NocmllYmVuIHdlcmRlbgoJICogQHBhcmFtICRzZXRDdXJyZW50IC0gRGFzIFRlbXBsYXRlIGFscyBTdGFuZGFyZHRlbXBsYXRlIHJlZ2lzdHJpZXJlbgoJICogQHJldHVybiBib29sZWFuCgkgKi8KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gaW1wb3J0VGVtcGxhdGUoJiRtb2R1bGUsICR4bWwsICRvdmVyd3JpdGUgPSB0cnVlLCAkc2V0Q3VycmVudCA9IGZhbHNlKQoJewoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCQoJCSR4bWwgPSBzZWxmOjpnZXRUZW1wbGF0ZURhdGFGcm9tWE1MKCR4bWwpOwoKCQlpZigkeG1sID09IGZhbHNlICkgewoJCQlzZWxmOjokZXJyb3JzW10gPSBhcnJheSgnbGFuZycgPT4gJ2Vycm9yX2NvdWxkbm90cGFyc2V4bWwnLCAnYWRkaXRpb25hbCcgPT4gJycpIDsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQkKCQkvLyBmaXJzdCBtYWtlIHN1cmUgdGhhdCB3ZSBjYW4gYWN0dWFsbHkgd3JpdGUgdG8gdGhlIG1vZHVsZSBkaXJlY3RvcnksIGZvciBpbml0aWFsIGluc3RhbGwgdGhpcyBpcyBhbHJlYWR5IGNoZWNrZWQKCQkkZGlyID0gJGNvbmZpZ1sncm9vdF9wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4nbW9kdWxlcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nVG9vbEJveCcuRElSRUNUT1JZX1NFUEFSQVRPUi4ndGVtcGxhdGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SOyAKCQlpZiggIWlzX3dyaXRhYmxlKCRkaXIpKSB7CgkJCXNlbGY6OiRlcnJvcnNbXSA9IGFycmF5KCdsYW5nJyA9PiAnZXJyb3JfZGlyZWN0b3J5bm90d3JpdGFibGUnLCAnYWRkaXRpb25hbCcgPT4gJ1wnJyAuICRkaXIgLiAnXCcnKSA7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCSR4bWxbJ25hbWUnXSA9IHN0cnRvbG93ZXIoJHhtbFsnbmFtZSddKTsKCQkKCQkvLyBjaGVjayBpZiB0aGlzIHRlbXBsYXRlIGlzIGFscmVhZHkgaW5zdGFsbGVkCgkJaWYoIGlzX2RpcigkZGlyIC4gJHhtbFsnbmFtZSddKSBhbmQgJG92ZXJ3cml0ZSA9PSBmYWxzZSApCgkJewoJCQlzZWxmOjokZXJyb3JzW10gPSBhcnJheSgnbGFuZycgPT4gJ2Vycm9yX3RlbXBsYXRlZXhpc3RzJywgJ2FkZGl0aW9uYWwnID0+ICdcJycgLiAkeG1sWyduYW1lJ10gLiAnXCcnKSA7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJCgkJJHRlbXBsYXRlZGlyID0gJGRpci4nLycuJHhtbFsnbmFtZSddOwoJCWVjaG8gJHRlbXBsYXRlZGlyOwoJCWlmICghZmlsZV9leGlzdHMoJHRlbXBsYXRlZGlyKSkgewoJCQlpZiAoIUBta2RpcigkdGVtcGxhdGVkaXIpIGFuZCAhaXNfZGlyKCR0ZW1wbGF0ZWRpcikpIHsKCQkJCXNlbGY6OiRlcnJvcnNbXSA9IGFycmF5KCdsYW5nJyA9PiAnZXJyb3JfY2FudGNyZWF0ZWRpcicsICdhZGRpdGlvbmFsJyA9PiAnXCcnIC4gJHRlbXBsYXRlZGlyIC4gJ1wnJykgOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoJCQoJCWZvcmVhY2goJHhtbFsnZmlsZXMnXSBhcyAkZmlsZSkgewoJCQkJCgkJCSRmaWxlbmFtZSA9IHJlYWxwYXRoKCR0ZW1wbGF0ZWRpcikuRElSRUNUT1JZX1NFUEFSQVRPUi4kZmlsZVsnZmlsZW5hbWUnXTsKCQkJaWYoJGZpbGVbJ2lzZGlyJ10pIHsKCQkJCWlmICghQG1rZGlyKCRmaWxlbmFtZSkgYW5kICFpc19kaXIoJGZpbGVuYW1lKSkgewoJCQkJCXNlbGY6OiRlcnJvcnNbXSA9IGFycmF5KCdsYW5nJyA9PiAnZXJyb3JfY2FudGNyZWF0ZWRpcicsICdhZGRpdGlvbmFsJyA9PiAnXCcnIC4gJGZpbGVuYW1lIC4gJ1wnJykgOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJfQoJCQllbHNlIHsKCQkJCSRkYXRhID0gJGZpbGVbJ2RhdGEnXTsKCQkJCWlmIChzdHJsZW4oJGRhdGEpKQkkZGF0YSA9IGJhc2U2NF9kZWNvZGUoJGRhdGEpOwoJCQkJJGZwID0gZm9wZW4oJGZpbGVuYW1lLCAidyIpOwoJCQkJaWYoICEkZnAgKSB7CgkJCQkJc2VsZjo6JGVycm9yc1tdID0gYXJyYXkoJ2xhbmcnID0+ICdlcnJvcl9jYW50Y3JlYXRlZmlsZScsICdhZGRpdGlvbmFsJyA9PiAgJ1wnJyAuICRmaWxlbmFtZSAuICdcJycpIDsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCQlpZihzdHJsZW4oJGRhdGEpKQl7CgkJCQkJZndyaXRlKCRmcCwgJGRhdGEpOwoJCQkJfQoJCQkJZmNsb3NlKCRmcCk7CgkJCX0KCQl9CgkJCgkJLy8gc2F2ZSB0ZW1wbGF0ZQoJCSR0ZW1wbGF0ZWNvZGUgPSAkeG1sWyd0cGxjb2RlJ10uVE9PTEJPWF9TRVBBUkFUT1IuJHhtbFsndHBsY3NzJ10uVE9PTEJPWF9TRVBBUkFUT1IuJHhtbFsndHBsanMnXS5UT09MQk9YX1NFUEFSQVRPUi4keG1sWyd0cGxtb2JpbGVjb2RlJ10uVE9PTEJPWF9TRVBBUkFUT1IuJHhtbFsndHBsbW9iaWxlY3NzJ10uVE9PTEJPWF9TRVBBUkFUT1IuJHhtbFsndHBsbW9iaWxlanMnXS4nKn0nOwoJCSRtb2R1bGUtPlNldFRlbXBsYXRlKCR4bWxbJ25hbWUnXSwgJHRlbXBsYXRlY29kZSk7CgkJCgkJLy8gc2F2ZSBjc3MtZmlsZQoJCWlmIChlbXB0eSgkeG1sWyd0cGxjc3MnXSkpIHsKCQkJQHVubGluayhyZWFscGF0aCgnLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvJyAuICR4bWxbJ25hbWUnXSAuICcuY3NzJykpOwoJCX0KCQllbHNlIHsKCQkJJGhhbmRsZSA9IGZvcGVuKCcuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2Nzcy8nIC4gJHhtbFsnbmFtZSddIC4gJy5jc3MnLCd3Jyk7CgkJCWZ3cml0ZSgkaGFuZGxlLHNlbGY6OmV4ZWN1dGVUZW1wbGF0ZVNtYXJ0eSgkeG1sWyd0cGxjc3MnXSkpOwoJCQlmY2xvc2UoJGhhbmRsZSk7CgkJfQoJCS8vIHNhdmUgY3NzLWZpbGUKCQlpZiAoZW1wdHkoJHhtbFsndHBsbW9iaWxlY3NzJ10pKSB7CgkJCUB1bmxpbmsocmVhbHBhdGgoJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzLycgLiAkeG1sWyduYW1lJ10gLiAnX21vYmlsZS5jc3MnKSk7CgkJfQoJCWVsc2UgewoJCQkkaGFuZGxlID0gZm9wZW4oJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzLycgLiAkeG1sWyduYW1lJ10gLiAnX21vYmlsZS5jc3MnLCd3Jyk7CgkJCWZ3cml0ZSgkaGFuZGxlLHNlbGY6OmV4ZWN1dGVUZW1wbGF0ZVNtYXJ0eSgkeG1sWyd0cGxtb2JpbGVjc3MnXSkpOwoJCQlmY2xvc2UoJGhhbmRsZSk7CgkJfQoJCQoJCQoJCWlmICghc2VsZjo6c2F2ZVRlbXBsYXRlUHJvcHMoJHhtbFsnbmFtZSddLCAkeG1sLCAkeG1sWydvcHRpb25zJ10pKSB7CgkJCXNlbGY6OiRlcnJvcnNbXSA9IGFycmF5KCdsYW5nJyA9PiAnZXJyb3JfY291bGRub3R3cml0ZXRwbHByb3BzJywgJ2FkZGl0aW9uYWwnID0+ICAnXCcnIC4gJHhtbFsnbmFtZSddIC4gJ1wnJykgOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJCS8vIEFscyBTdGFuZGFyZHRlbXBsYXRlIHNldHplbgoJCWlmICgkc2V0Q3VycmVudCkgewoJCQkkbW9kdWxlLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0XycuJHhtbFsnc2VjdGlvbiddLidfY29udGVudHMnLCR0ZW1wbGF0ZWNvZGUpOwoJCQkkbW9kdWxlLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50XycuJHhtbFsnc2VjdGlvbiddLidfdGVtcGxhdGUnLCR4bWxbJ25hbWUnXSk7CgkJfQoJCQoJCQoJCQoJCXJldHVybiB0cnVlOwoJfQkKCQoJLyoqCgkgKiAKCSAqIEV4cG9ydGllcnQgZGFzIGRlZmluaWVydGUgVGVtcGxhdGUgYWxzIFhNTCBEYXRlaQoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2g+CgkgKiBAY29weXJpZ2h0OiBHUEwgMgoJICogQGZpbmFsCgkgKiBAcGFyYW0gb2JqZWN0ICRtb2R1bGUgLSBJbnN0YW56IHZvbiBUb29sQm94CgkgKiBAcGFyYW0gc3RyaW5nICR0ZW1wbGF0ZSAtIE5hbWUgZGVzIFRlbXBsYXRlcwoJICogQHJldHVybgoJICovCgkKCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZXhwb3J0VGVtcGxhdGUoJG1vZHVsZSwgJHRlbXBsYXRlKQoJewoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCQkkdGVtcGxhdGVmb2xkZXIgPSBzdHJfcmVwbGFjZSgkbW9kdWxlLT5nZXRUcGxUb2tlbigpLCAiIiwgJHRlbXBsYXRlKTsKCQkKCQkvLyBnZXQgdGVtcGxhdGUKCQkkdGVtcGxhdGVjb2RlID0gJG1vZHVsZS0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlKTsKCQkkdGVtcGxhdGVhcnIgPSBleHBsb2RlKFRPT0xCT1hfU0VQQVJBVE9SLCAkdGVtcGxhdGVjb2RlKTsKCQkKCQkkdHBsY29kZQkJPSBpc3NldCgkdGVtcGxhdGVhcnJbMF0pID8gdHJpbSgkdGVtcGxhdGVhcnJbMF0sJyp9JykgOiAnJzsKCQkkdHBsY3NzCQkJPSBpc3NldCgkdGVtcGxhdGVhcnJbMV0pID8gdHJpbSgkdGVtcGxhdGVhcnJbMV0sJyp9JykgOiAnJzsKCQkkdHBsanMJCQk9IGlzc2V0KCR0ZW1wbGF0ZWFyclsyXSkgPyB0cmltKCR0ZW1wbGF0ZWFyclsyXSwnKn0nKSA6ICcnOwoJCSR0cGxtb2JpbGVjb2RlCT0gaXNzZXQoJHRlbXBsYXRlYXJyWzNdKSA/IHRyaW0oJHRlbXBsYXRlYXJyWzNdLCcqfScpIDogJyc7CgkJJHRwbG1vYmlsZWNzcwk9IGlzc2V0KCR0ZW1wbGF0ZWFycls0XSkgPyB0cmltKCR0ZW1wbGF0ZWFycls0XSwnKn0nKSA6ICcnOwoJCSR0cGxtb2JpbGVqcwk9IGlzc2V0KCR0ZW1wbGF0ZWFycls1XSkgPyB0cmltKCR0ZW1wbGF0ZWFycls1XSwnKn0nKSA6ICcnOwoJCQoJCSR0ZW1wbGF0ZXByb3BzID0gc2VsZjo6Z2V0VGVtcGxhdGVQcm9wcygkdGVtcGxhdGUpOwoJCQoJCSRvcHRpb25zID0gaXNfYXJyYXkoJHRlbXBsYXRlcHJvcHNbJ29wdGlvbnMnXSkgPyBzZXJpYWxpemUoJHRlbXBsYXRlcHJvcHNbJ29wdGlvbnMnXSkgOiAkdGVtcGxhdGVwcm9wc1snb3B0aW9ucyddOwoJCQoJCWlmICghJHRlbXBsYXRlcHJvcHMpIHsKCQkJc2VsZjo6JGVycm9yc1tdID0gYXJyYXkoJ2xhbmcnID0+ICdlcnJvcl9jb3VsZG5vdHJlYWR0cGxwcm9wcycsICdhZGRpdGlvbmFsJyA9PiAgJ1wnJyAuICR0ZW1wbGF0ZSAuICdcJycpIDsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQkKCQkkZmlsZWNvdW50ID0gMDsKCQkkZGlyID0gcmVhbHBhdGgoJGNvbmZpZ1sncm9vdF9wYXRoJ10uJy9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzLycpLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHRlbXBsYXRlOwoJCSRkaXIgPSBpc19kaXIoJGRpcikgPyAkZGlyIDogcmVhbHBhdGgoJGNvbmZpZ1sncm9vdF9wYXRoJ10uJy9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzLycpLkRJUkVDVE9SWV9TRVBBUkFUT1Iuc3RydG9sb3dlcigkdGVtcGxhdGUpOwoJCQoJCSRmaWxlcyA9IHNlbGY6OmdldEZvbGRlckZpbGVzKCRkaXIsICIvIik7CgkJCgkJJHhtbHR4dCAgPSAnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4nLiJcbiI7CgkJJHhtbHR4dCAuPSAiPHRvb2xib3h0cGw+XG4iOwoJCSR4bWx0eHQgLj0gIgk8bmFtZT4iLiR0ZW1wbGF0ZS4iPC9uYW1lPlxuIjsKCQkkeG1sdHh0IC49ICIJPHZlcnNpb24+Ii4kdGVtcGxhdGVwcm9wc1sndmVyc2lvbiddLiI8L3ZlcnNpb24+XG4iOwoJCSR4bWx0eHQgLj0gIgk8dG9vbGJveHZlcnNpb24+Ii4kbW9kdWxlLT5HZXRWZXJzaW9uKCkuIjwvdG9vbGJveHZlcnNpb24+XG4iOwoJCSR4bWx0eHQgLj0gIgk8YWJvdXQ+Ii5iYXNlNjRfZW5jb2RlKCR0ZW1wbGF0ZXByb3BzWydhYm91dCddKS4iPC9hYm91dD5cbiI7CgkJJHhtbHR4dCAuPSAiCTxzZWN0aW9uPiIuJHRlbXBsYXRlcHJvcHNbJ3NlY3Rpb24nXS4iPC9zZWN0aW9uPlxuIjsKCQkkeG1sdHh0IC49ICIJPHRwbHNlY3Rpb24+Ii4kdGVtcGxhdGVwcm9wc1sndHBsc2VjdGlvbiddLiI8L3RwbHNlY3Rpb24+XG4iOwoJCSR4bWx0eHQgLj0gIgk8anF1ZXJ5PiIuJHRlbXBsYXRlcHJvcHNbJ2pxdWVyeSddLiI8L2pxdWVyeT5cbiI7CgkJJHhtbHR4dCAuPSAiCTxqcXVlcnlfb3duPiIuJHRlbXBsYXRlcHJvcHNbJ2pxdWVyeV9vd24nXS4iPC9qcXVlcnlfb3duPlxuIjsKCQkkeG1sdHh0IC49ICIJPG9wdGlvbnM+Ii5iYXNlNjRfZW5jb2RlKCRvcHRpb25zKS4iPC9vcHRpb25zPlxuIjsKCQkkeG1sdHh0IC49ICIJPHRwbGNvZGU+Ii5iYXNlNjRfZW5jb2RlKCR0cGxjb2RlKS4iPC90cGxjb2RlPlxuIjsKCQkkeG1sdHh0IC49ICIJPHRwbGNzcz4iLmJhc2U2NF9lbmNvZGUoJHRwbGNzcykuIjwvdHBsY3NzPlxuIjsKCQkkeG1sdHh0IC49ICIJPHRwbGpzPiIuYmFzZTY0X2VuY29kZSgkdHBsanMpLiI8L3RwbGpzPlxuIjsKCQkkeG1sdHh0IC49ICIJPHRwbG1vYmlsZWNvZGU+Ii5iYXNlNjRfZW5jb2RlKCR0cGxtb2JpbGVjb2RlKS4iPC90cGxtb2JpbGVjb2RlPlxuIjsKCQkkeG1sdHh0IC49ICIJPHRwbG1vYmlsZWNzcz4iLmJhc2U2NF9lbmNvZGUoJHRwbG1vYmlsZWNzcykuIjwvdHBsbW9iaWxlY3NzPlxuIjsKCQkkeG1sdHh0IC49ICIJPHRwbG1vYmlsZWpzPiIuYmFzZTY0X2VuY29kZSgkdHBsbW9iaWxlanMpLiI8L3RwbG1vYmlsZWpzPlxuIjsKCQkKCQlmb3JlYWNoKCAkZmlsZXMgYXMgJGZpbGUgKQoJCXsKCQkJJHhtbHR4dCAuPSAiCTxmaWxlPlxuIjsKCQkJJHhtbHR4dCAuPSAiCSAgPGZpbGVuYW1lPiIgLiAkZmlsZVsnZmlsZW5hbWUnXSAuICI8L2ZpbGVuYW1lPlxuIjsKCQkJJHhtbHR4dCAuPSAiCSAgPGlzZGlyPiIgLiAkZmlsZVsnaXNkaXInXSAuICI8L2lzZGlyPlxuIjsKCQkJaWYgKCAhJGZpbGVbJ2lzZGlyJ10gKQoJCQl7CgkJCQkkZGF0YSA9IGJhc2U2NF9lbmNvZGUoZmlsZV9nZXRfY29udGVudHMoJGRpciAuICRmaWxlWydmaWxlbmFtZSddKSk7CgkJCQkkeG1sdHh0IC49ICIJICA8ZGF0YT48IVtDREFUQVsiLiRkYXRhLiJdXT48L2RhdGE+XG4iOwoJCQl9CgkJCSR4bWx0eHQgLj0gIgk8L2ZpbGU+XG4iOwoJCQkrKyRmaWxlY291bnQ7CgkJfQoJCSR4bWx0eHQgLj0gIjwvdG9vbGJveHRwbD5cbiI7CgkJCgkJJG1lc3NhZ2UgPSAnWE1MIHBhY2thZ2Ugb2YgJyAuIHN0cmxlbigkeG1sdHh0KSAuICcgYnl0ZXMgY3JlYXRlZCBmb3IgVG9vbEJveCAnLiRzZWN0aW9ueG1sbmFtZS4nIHRlbXBsYXRlICcgLiAkdGVtcGxhdGVmb2xkZXI7CgkJJG1lc3NhZ2UgLj0gJyBpbmNsdWRpbmcgJyAuICRmaWxlY291bnQgLiAnIGZpbGVzJzsKCQkKCQkKCQkkeG1sbmFtZSA9ICdUb29sQm94LXRwbC0nIC4gJHRlbXBsYXRlcHJvcHNbJ3NlY3Rpb24nXSAuJy0nIC4gJHRlbXBsYXRlZm9sZGVyIC4gJy54bWwnOwoKCQkvLyBzZW5kIHRoZSBmaWxlCgkJb2JfZW5kX2NsZWFuKCk7CgkJb2JfZW5kX2NsZWFuKCk7CgkJaGVhZGVyKCdDb250ZW50LURlc2NyaXB0aW9uOiBGaWxlIFRyYW5zZmVyJyk7CgkJaGVhZGVyKCdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2ZvcmNlLWRvd25sb2FkJyk7CgkJaGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0nLiR4bWxuYW1lKTsKCQllY2hvICR4bWx0eHQ7CgkJZXhpdCgpOwoJCQoJfQoJCgkKCS8qKgoJICogTMO2c2NodCBlaW4gVGVtcGxhdGUKCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIgPGxiQGJsYXR0ZXJ0ZWNoLmNoPgoJICogQGNvcHlyaWdodDogR1BMIDIKCSAqIEBmaW5hbAoJICogQHBhcmFtIG9iamVjdCAkbW9kdWxlIC0gSW5zdGFueiB2b24gVG9vbEJveAoJICogQHBhcmFtIHN0cmluZyAkdGVtcGxhdGUgLSBOYW1lIGRlcyBUZW1wbGF0ZXMKCSAqIEByZXR1cm4KCSAqLwoJCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGRlbGV0ZVRlbXBsYXRlKCRtb2R1bGUsICR0ZW1wbGF0ZSkgCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkKCQkvLyBLb250cm9sbGUgb2IgVGVtcGxhdGUgZXhpc3RpZXJ0CgkJJHF1ZXJ5ID0gJ1NFTEVDVCBjb3VudCgqKSBmcm9tICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdGVtcGxhdGVzIFdIRVJFIG1vZHVsZV9uYW1lID0gPyBhbmQgdGVtcGxhdGVfbmFtZSA9ID8gT1JERVIgQlkgdGVtcGxhdGVfbmFtZSBBU0MnOwoJCSRjb3VudCA9ICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoJG1vZHVsZS0+R2V0TmFtZSgpLCR0ZW1wbGF0ZSkpOwoKCQlpZiAoJGNvdW50ICE9IDEpIHJldHVybiBmYWxzZTsKCQkKCQkkbW9kdWxlLT5EZWxldGVUZW1wbGF0ZSgkdGVtcGxhdGUpOwoKCQkvLyBkZWxldGUgY3NzLWZpbGUKCQlpZiggaXNfZmlsZSgnLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvJyAuICR0ZW1wbGF0ZSAuICcuY3NzJykgKQoJCXsKCQkJdW5saW5rKCcuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2Nzcy8nIC4gJHRlbXBsYXRlIC4gJy5jc3MnKTsKCQl9CgoJCXNlbGY6OmRlbGV0ZUZvbGRlcihzdHJfcmVwbGFjZSgnLycsIERJUkVDVE9SWV9TRVBBUkFUT1IsICcuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzLycgLiBzdHJ0b2xvd2VyKCR0ZW1wbGF0ZSkgLiAnLycpKTsKCgkJLy8gZGVsZXRlIHRlbXBsYXRlcHJvcGVydGllcwoJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV90b29sYm94X3RlbXBsYXRlcHJvcHMgV0hFUkUgdGVtcGxhdGU9PyI7CgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0ZW1wbGF0ZSkpOwoJCQoJCXJldHVybiB0cnVlOwoJfQoJCgkKCS8qKgoJICogCgkgKiBHaWJ0IGVpbmUgTGlzdGUgZGVyIFRlbXBsYXRlLURhdGVpZW4genVyw7xjawoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2g+CgkgKiBAY29weXJpZ2h0OiBHUEwgMgoJICogQGZpbmFsCgkgKiBAcGFyYW0gJHJvb3QKCSAqIEBwYXJhbSAkcGF0aAoJICogQHBhcmFtICRmaWx0ZXIgLSBSZWdleCBkZXIgRGF0ZWllbmR1bmdlbgoJICogQHJldHVybiBhcnJheSAtIExpc3RlIGFsbGVyIERhdGVpZW4gZWluZXMgVmVyemVpY2huaXNzZXMKCSAqLwoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRGb2xkZXJGaWxlcygkcm9vdCwkcGF0aCwkZmlsdGVyID0gYXJyYXkoKSkKCXsKCQkkb3V0cHV0ID0gYXJyYXkoKTsKCQkkZmlsdGVycyA9IGFycmF5KCk7CgkJCgkJaWYgKCFpc19hcnJheSgkZmlsdGVyKSkgJGZpbHRlcnMgPSBleHBsb2RlKCIsIiwgc3RydG9sb3dlcigkZmlsdGVyKSk7IGVsc2UgJGZpbHRlcnMgPSAkZmlsdGVyOwoJCQovLwkJZWNobyAicGF0aCA9ICIgLnJlYWxwYXRoKCRyb290LicvJy4kcGF0aCk7CgkJCgkJaWYgKCFpc19kaXIocmVhbHBhdGgoJHJvb3QuJy8nLiRwYXRoKSkpCgkJCXJldHVybiAkb3V0cHV0OwoJCQoJCWlmICggJGhhbmRsZSA9IG9wZW5kaXIocmVhbHBhdGgoJHJvb3QuJy8nLiRwYXRoKSkgKQoJCXsKCQkJd2hpbGUgKCBmYWxzZSAhPT0gKCRmaWxlID0gcmVhZGRpcigkaGFuZGxlKSkgKQoJCQl7CgkJCQlpZiAoICRmaWxlICE9ICIuIiAmJiAkZmlsZSAhPSAiLi4iICkKCQkJCXsKCQkJCQlpZiAoIGlzX2Rpcigkcm9vdCAuICRwYXRoIC4gJGZpbGUpICkKCQkJCQl7CgkJCQkJCSRvdXRwdXRbXSA9IGFycmF5KAoJCQkJCQknZmlsZW5hbWUnID0+ICRwYXRoIC4gJGZpbGUgLiAiLyIsCgkJCQkJCSduYW1lJyA9PiAkcGF0aCAuICRmaWxlLAoJCQkJCQknZXh0JyA9PiAnJywKCQkJCQkJJ3NpemUnID0+ICcnLAoJCQkJCQkncmF3c2l6ZScgPT4gJycsCgkJCQkJCSdpc2RpcicgPT4gMQoJCQkJCQkpOwoJCQkJCQkkb3V0cHV0ID0gYXJyYXlfbWVyZ2UoJG91dHB1dCxzZWxmOjpnZXRGb2xkZXJGaWxlcygkcm9vdCwgJHBhdGggLiAkZmlsZSAuICIvIikpOwoJCQkJCX0KCQkJCQllbHNlCgkJCQkJewoJCQkJCQkkcGkgPSBwYXRoaW5mbygkcm9vdCAuICRwYXRoIC4gJGZpbGUpOwoJCQkJCQkvLyBXZW5uIEZpbHRlciBnZXNldHp0LCBwcsO8ZmVuIG9iIHp1bMOkc3NpZ2UgRGF0ZWllbmR1bmcJCQkJCQkKCQkJCQkJaWYgKGNvdW50KCRmaWx0ZXJzKSkgewoJCQkJCQkJZm9yZWFjaCgkZmlsdGVyIGFzICRmKSB7CgkJCQkJCQkJaWYgKHN0cnRvbG93ZXIoJHBpWydleHRlbnNpb24nXSkgIT0gdHJpbSgkZikgKSBjb250aW51ZTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQkKCQkJCQkJJHNpemUgPSBmaWxlc2l6ZSgkcm9vdCAuICRwYXRoIC4gJGZpbGUpOwoJCQkJCQkkb3V0cHV0W10gPSBhcnJheSgKCQkJCQkJJ2ZpbGVuYW1lJyA9PiAkcGF0aCAuICRmaWxlLAoJCQkJCQknbmFtZScgPT4gJHBpWydiYXNlbmFtZSddLAoJCQkJCQknZXh0JyA9PiAkcGlbJ2V4dGVuc2lvbiddLAoJCQkJCQknc2l6ZScgPT4gc2VsZjo6Zm9ybWF0RmlsZVNpemUoJHNpemUpLAoJCQkJCQkncmF3c2l6ZScgPT4gJHNpemUsCgkJCQkJCSdpc2RpcicgPT4gMAoJCQkJCQkpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQljbG9zZWRpcigkaGFuZGxlKTsKCQl9CgkJcmV0dXJuICRvdXRwdXQ7Cgl9CiAgCgkvKioKCSAqIAoJICogTMO2c2NodCBlaW5lbiBPcmRuZXIgaW5rbC4gSW5oYWx0CgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4KCSAqIEBjb3B5cmlnaHQ6IEdQTCAyCgkgKiBAZmluYWwKCSAqIEBwYXJhbSBzdHJpbmcgJGRpciAtIFBmYWQgZGVzIE9yZG5lcnMgCgkgKiBAcmV0dXJuCgkgKi8KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZGVsZXRlRm9sZGVyKCRkaXIpCgl7CgkJJGRlbGV0ZWZpbGVzID0gZ2xvYigkZGlyIC4gJyonLCBHTE9CX01BUkspOwoJCWZvcmVhY2goJGRlbGV0ZWZpbGVzIGFzICRmaWxlKQoJCXsKCQkJaWYgKCBzdWJzdHIoJGZpbGUsIC0xKSA9PSBESVJFQ1RPUllfU0VQQVJBVE9SICkKCQkJCXNlbGY6OmRlbGV0ZUZvbGRlcigkZmlsZSk7CgkJCWVsc2UKCQkJCXVubGluaygkZmlsZSk7CgkJfQoJCWlmIChpc19kaXIoJGRpcikpIHJtZGlyKCRkaXIpOwoJfQogIAoJLyoqCgkgKiAKCSAqIEdpYnQgZGllIERhdGVpZ3LDtnNzZW4gaW4gZWluZW0gbGVzYmFyZW4gRm9ybWF0IHp1csO8Y2sKCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIgPGxiQGJsYXR0ZXJ0ZWNoLmNoPgoJICogQGNvcHlyaWdodDogR1BMIDIKCSAqIEBmaW5hbAoJICogQHBhcmFtIGludCAkZmlsZXNpemUgLSBHcsO2c3NlIGRlcyBGaWxlcwoJICogQHJldHVybiBzdHJpbmcKCSAqLwoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBmb3JtYXRGaWxlU2l6ZSgkZmlsZXNpemUpIHsKCQlpZihzdHJsZW4oJGZpbGVzaXplKSA8PSAzKSB7CgkJCSRmaWxlc2l6ZSA9IHJvdW5kKCRmaWxlc2l6ZSwyKS4iIGIiOwoJCX0gZWxzZWlmKHN0cmxlbigkZmlsZXNpemUpIDwgNykgewoJCQkkZmlsZXNpemUgPSAoJGZpbGVzaXplLzEwMjQpOwoJCQkkZnNwbGl0ID0gc3Vic3RyKHN0cnN0cigkZmlsZXNpemUsICIuIiksIDAsIDQpOwoJCQkkZnN0YXJ0ID0gZXhwbG9kZSgiLiIsICRmaWxlc2l6ZSk7CgkJCSRmc3RhcnQgPSAkZnN0YXJ0WzBdOwkKCQkJJGZpbGVzaXplID0gJGZzdGFydC4kZnNwbGl0OwoJCQkkZmlsZXNpemUgPSByb3VuZChzdHJfcmVwbGFjZSgiLCIsIi4iLCRmaWxlc2l6ZSksMikuIiBrYiI7CgkJfSBlbHNlIHsKCQkJJGZpbGVzaXplID0gKCRmaWxlc2l6ZS8xMDI0LzEwMjQpOwoJCQkkZnNwbGl0ID0gc3Vic3RyKHN0cnN0cigkZmlsZXNpemUsICIuIiksIDAsIDQpOwoJCQkkZnN0YXJ0ID0gZXhwbG9kZSgiLiIsICRmaWxlc2l6ZSk7CgkJCSRmc3RhcnQgPSAkZnN0YXJ0WzBdOwoJCQkkZmlsZXNpemUgPSAkZnN0YXJ0LiRmc3BsaXQ7CgkJCSRmaWxlc2l6ZSA9IHJvdW5kKHN0cl9yZXBsYWNlKCIsIiwiLiIsJGZpbGVzaXplKSwyKS4iIG1iIjsKCQl9CgkJcmV0dXJuIHN0cl9yZXBsYWNlKCIsIiwiLiIsJGZpbGVzaXplKTsKCX0KCQogIAogIAkvKioKICAJICogCiAgCSAqIExpZWZlcnQgYWxsZSBEYXRlaWVuIGVpbmVzIFZlcnplaWNobmlzc2VzIHp1csO8Y2sgKEdhbGxlcnkgQmFzaWVyZW5kKQogIAkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4KCSAqIEBjb3B5cmlnaHQ6IEdQTCAyCgkgKiBAZmluYWwKICAJICogQHBhcmFtIHN0cmluZyAkcGF0aCAtIFBmYWQgenVtIE9yZG5lcgogIAkgKiBAcGFyYW0gYm9vbCAkcmVjdXJzaXZlIC0gUmVrdXJzaXZlIGR1cmNoIGFsbGUgVW50ZXJvcmRuZXIKICAJICogQHJldHVybiAKICAJICovCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldERpckZpbGVzKCRwYXRoLCRyZWN1cnNpdmUpCgl7CgkJJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnR2FsbGVyeScpOwoKCQkkcGF0aCA9IGVtcHR5KCRwYXRoKSA/ICcnIDogdHJpbSgkcGF0aCwgJy8nKSAuICcvJzsKCQkkdXBkaXIgPSBpc19kaXIoJHBhdGgpID8gJycgOiAnLi4vJzsKCQkkYWxsb3dleHQgPSBleHBsb2RlKCcsJywgJG1vZC0+R2V0UHJlZmVyZW5jZSgnYWxsb3dlZF9leHRlbnNpb25zJywnJykpOwoJCSRtYXhleHQgPSBhcnJheSgnanBnJywnanBlZycsJ2dpZicsJ3BuZycpOwoJCSRvdXRwdXQgPSBhcnJheSgpOwoJCWlmICggJGhhbmRsZSA9IG9wZW5kaXIocmVhbHBhdGgoJHVwZGlyIC4gREVGQVVMVF9HQUxMRVJZX1BBVEggLiAkcGF0aCkpICkKCQl7CgkJCXdoaWxlICggZmFsc2UgIT09ICgkZmlsZSA9IHJlYWRkaXIoJGhhbmRsZSkpICkKCQkJewoJCQkJJGV4dCA9IHN1YnN0cigkZmlsZSwgc3RycnBvcygkZmlsZSwgJy4nKSArIDEpOwoJCQkJaWYgKCBzdWJzdHIoJGZpbGUsMCwxKSAhPSAiLiIgJiYgc3Vic3RyKCRmaWxlLDAsc3RybGVuKElNX1BSRUZJWCkpICE9IElNX1BSRUZJWCAmJiAoKGluX2FycmF5KHN0cnRvbG93ZXIoJGV4dCksJGFsbG93ZXh0KSAmJiBpbl9hcnJheShzdHJ0b2xvd2VyKCRleHQpLCRtYXhleHQpKSB8fCBpc19kaXIoJHVwZGlyIC4gREVGQVVMVF9HQUxMRVJZX1BBVEggLiAkcGF0aCAuICRmaWxlKSkgKQoJCQkJewoJCQkJCSRmaWxlbmFtZSA9IGlzX2RpcigkdXBkaXIgLiBERUZBVUxUX0dBTExFUllfUEFUSCAuICRwYXRoIC4gJGZpbGUpID8gJGZpbGUgLiAnLycgOiAkZmlsZTsKCQkJCQkkb3V0cHV0WyRwYXRoIC4gJGZpbGVuYW1lXSA9IGFycmF5KAoJCQkJCQknZmlsZW5hbWUnID0+ICRmaWxlbmFtZSwKCQkJCQkJJ2ZpbGVwYXRoJyA9PiAkcGF0aCwKCQkJCQkJJ2ZpbGVtZGF0ZScgPT4gZGF0ZSgiWS1tLWQgSDppOnMiLCBmaWxlbXRpbWUoJHVwZGlyIC4gREVGQVVMVF9HQUxMRVJZX1BBVEggLiAkcGF0aCAuICRmaWxlKSksCgkJCQkJKTsKCQkJCQlpZiAoICRyZWN1cnNpdmUgJiYgaXNfZGlyKCR1cGRpciAuIERFRkFVTFRfR0FMTEVSWV9QQVRIIC4gJHBhdGggLiAkZmlsZSkgKQoJCQkJCXsKCQkJCQkJJG91dHB1dCA9IGFycmF5X21lcmdlKCRvdXRwdXQsIHNlbGY6OkdldGRpcmZpbGVzKCRwYXRoIC4gJGZpbGUsICRyZWN1cnNpdmUpKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJY2xvc2VkaXIoJGhhbmRsZSk7CgkJfQoJCXJldHVybiAkb3V0cHV0OwoJfQoJCgkvKioKCSAqIAoJICogc2V0IHJlY3Vyc2l2ZSBjaG1vZAoJICogQGF1dGhvcjogaHR0cDovL3NuaXBwbHIuY29tL3ZpZXcvNTM1MC9yZWN1cnNpdmUtY2htb2QtaW4tcGhwLwoJICogQGNvcHlyaWdodDogR1BMIDIKCSAqIEBwYXJhbSBzdHJpbmcgJHBhdGgKCSAqIEBwYXJhbSBpbnQgJGZpbGVQZXJtCgkgKiBAcGFyYW0gaW50ICRkaXJQZXJtCgkgKiBAZmluYWwKCSAqIEByZXR1cm4gYm9vbGVhbgoJICogCgkgKi8KCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIHJlY3Vyc2l2ZUNobW9kICgkcGF0aCwgJGZpbGVQZXJtPTA2NDQsICRkaXJQZXJtPTA3NTUpIHsKCQkvLyBDaGVjayBpZiB0aGUgcGF0aCBleGlzdHMKCQlpZiAoIWZpbGVfZXhpc3RzKCRwYXRoKSkgewoJCQlyZXR1cm4oZmFsc2UpOwoJCX0KCQkKCQlpZiAoc3RybGVuKCRmaWxlUGVybSkgPT0gMykgJGZpbGVQZXJtID0gIjAiIC4gJGZpbGVQZXJtOwoJCWlmIChzdHJsZW4oJGRpclBlcm0pID09IDMpICAkZGlyUGVybSA9ICIwIiAuICAkZGlyUGVybTsKCQkKCQkvLyBTZWUgd2hldGhlciB0aGlzIGlzIGEgZmlsZQoJCWlmIChpc19maWxlKCRwYXRoKSkgewoJCQkvLyBDaG1vZCB0aGUgZmlsZSB3aXRoIG91ciBnaXZlbiBmaWxlcGVybWlzc2lvbnMKCQkJY2htb2QoJHBhdGgsICRmaWxlUGVybSk7CgoJCQkvLyBJZiB0aGlzIGlzIGEgZGlyZWN0b3J5Li4uCgkJfSBlbHNlaWYgKGlzX2RpcigkcGF0aCkpIHsKCQkJLy8gVGhlbiBnZXQgYW4gYXJyYXkgb2YgdGhlIGNvbnRlbnRzCgkJCSRmb2xkZXJzQW5kRmlsZXMgPSBzY2FuZGlyKCRwYXRoKTsKCgkJCS8vIFJlbW92ZSAiLiIgYW5kICIuLiIgZnJvbSB0aGUgbGlzdAoJCQkkZW50cmllcyA9IGFycmF5X3NsaWNlKCRmb2xkZXJzQW5kRmlsZXMsIDIpOwoKCQkJLy8gUGFyc2UgZXZlcnkgcmVzdWx0Li4uCgkJCWZvcmVhY2ggKCRlbnRyaWVzIGFzICRlbnRyeSkgewoJCQkJLy8gQW5kIGNhbGwgdGhpcyBmdW5jdGlvbiBhZ2FpbiByZWN1cnNpdmVseSwgd2l0aCB0aGUgc2FtZSBwZXJtaXNzaW9ucwoJCQkJc2VsZjo6cmVjdXJzaXZlQ2htb2QoJHBhdGguIi8iLiRlbnRyeSwgJGZpbGVQZXJtLCAkZGlyUGVybSk7CgkJCX0KCgkJCS8vIFdoZW4gd2UgYXJlIGRvbmUgd2l0aCB0aGUgY29udGVudHMgb2YgdGhlIGRpcmVjdG9yeSwgd2UgY2htb2QgdGhlIGRpcmVjdG9yeSBpdHNlbGYKCQkJY2htb2QoJHBhdGgsICRkaXJQZXJtKTsKCQl9CgoJCS8vIEV2ZXJ5dGhpbmcgc2VlbWVkIHRvIHdvcmsgb3V0IHdlbGwsIHJldHVybiB0cnVlCgkJcmV0dXJuKHRydWUpOwoJfQoJCgkKCS8qKgoJICogCgkgKiBHZXQgdGhlIGluc3RhbGxlZCBqUXVlcnkgRmlsZSBjbXNfZ2V0X2pxdWVyeSBmdW5jdGlvbgoJICogQGF1dGhvcjogTHVrYXMgQmxhdHRlciA8bGJAYmxhdHRlcnRlY2guY2g+CgkgKiBAY29weXJpZ2h0OiBHUEwgMgoJICogQGZpbmFsCgkgKiBAcmV0dXJuIHN0cmluZyAtIGZpbGVuYW1lCgkgKi8KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0alF1ZXJ5KCkgewoJCQoJCSRleGNsdWRlID0gImpxdWVyeS11aS5taW4uanMsanF1ZXJ5LnVpLm5lc3RlZFNvcnRhYmxlLmpzLGpxdWVyeS5qc29uLm1pbi5qcyxqcXVlcnkuanNvbi5qcyxqcXVlcnktdWktMS44LjE0Lm1pbi5qcyxqcXVlcnkudWkubmVzdGVkU29ydGFibGUtMS4zLjQuanMsanF1ZXJ5Lmpzb24tMi4yLmpzIjsKCQkkc3NsID0gZmFsc2U7CgkJJGNkbiA9IGZhbHNlOwoJCSRhcHBlbmQgPSAiIjsKCQkkY3VzdG9tX3Jvb3QgPSAiIjsKCQkKCQkkanF1ZXJ5ID0gdHJpbShjbXNfZ2V0X2pxdWVyeSgkZXhjbHVkZSwkc3NsLCRjZG4sJGFwcGVuZCwkY3VzdG9tX3Jvb3QpLCJcbiIpOwoJCWlmICghJGpxdWVyeSkgJGpxdWVyeSA9ICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS1sYXRlc3QubWluLmpzIj48L3NjcmlwdD4nOwoJCQoJCXJldHVybiAkanF1ZXJ5OwoJfQoJCgkvKioKCSAqIAoJICogRXJ6ZXVndCBlaW5lIFp1ZmFsbHNyZWloZSBhdXMgWmFobGVuIHVuZCBCdWNoc3RhYmVuCgkgKiBAcGFyYW0gaW50ICRsZW5ndGggLSBMw6RuZ2UgZGVzIFJhbmRvbS1TdHJpbmdzCgkgKi8KCWZ1bmN0aW9uIHJhbmRvbUFscGhhTnVtKCRsZW5ndGggPSA4KQoJewoJCWlmICgxID4gJGxlbmd0aCkgJGxlbmd0aCA9IDg7CgkJJGNoYXJzID0gJzAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJzsKCQkkbnVtQ2hhcnMgPSA2MjsKCQkkc3RyaW5nID0gJyc7CgkJZm9yICgkaSA9IDA7ICRpIDwgJGxlbmd0aDsgJGkrKykgewoJCQkkc3RyaW5nIC49ICRjaGFyc1ttdF9yYW5kKDAsICRudW1DaGFycyAtIDEpXTsKCQl9CgkJcmV0dXJuICRzdHJpbmc7Cgl9CgkKCS8qKgoJICogCgkgKiBBcnJheSBzb3J0aWVyZW4KCSAqIEBwYXJhbSBhcnJheSAkYXJyYXkKCSAqIEBwYXJhbSBhcnJheSAkYXJndW1lbnRzCgkgKiBAcGFyYW0gYXJyYXkgJGtleXMKCSAqIEBzb3VyY2UgaHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi9mdW5jdGlvbi51YXNvcnQucGhwIzQyNzIzCgkgKi8KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gYXJyYXlTb3J0KCRhcnJheSwgJGFyZ3VtZW50cyA9IGFycmF5KCksICRrZXlzID0gdHJ1ZSkKCXsKCQkvLyBjb21wYXJpbmcgZnVuY3Rpb24gY29kZQoJCSRjb2RlID0gIlwkcmVzdWx0PTA7ICI7CgoJCS8vIGZvcmVhY2ggc29ydGluZyBhcmd1bWVudCAoYXJyYXkga2V5KQoJCWZvcmVhY2ggKCRhcmd1bWVudHMgYXMgJGFyZ3VtZW50KQoJCXsKCQkJaWYgKCAhZW1wdHkoJGFyZ3VtZW50KSApCgkJCXsKCQkJCS8vIG9yZGVyIGZpZWxkCgkJCQkkZmllbGQgPSBzdWJzdHIoJGFyZ3VtZW50LCAyLCBzdHJsZW4oJGFyZ3VtZW50KSk7CgoJCQkJLy8gc29ydCB0eXBlICgicyIgLT4gc3RyaW5nLCAibiIgLT4gbnVtZXJpYykKCQkJCSR0eXBlID0gJGFyZ3VtZW50WzBdOwoKCQkJCS8vIHNvcnQgb3JkZXIgKCIrIiAtPiAiQVNDIiwgIi0iIC0+ICJERVNDIikKCQkJCSRvcmRlciA9ICRhcmd1bWVudFsxXTsKCgkJCQkvLyBhZGQgImlmIiBzdGF0ZW1lbnQsIHdoaWNoIGNoZWNrcyBpZiB0aGlzIGFyZ3VtZW50IHNob3VsZCBiZSB1c2VkCgkJCQkkY29kZSAuPSAiaWYgKCFJc19OdW1lcmljKFwkcmVzdWx0KSB8fCBcJHJlc3VsdCA9PSAwKSAiOwoKCQkJCS8vIGlmICJudW1lcmljIiBzb3J0IHR5cGUKCQkJCWlmIChzdHJ0b2xvd2VyKCR0eXBlKSA9PSAibiIpCgkJCQl7CgkJCQkJJGNvZGUgLj0gJG9yZGVyID09ICItIiA/ICJcJHJlc3VsdCA9IChcJGEtPnskZmllbGR9ID4gXCRiLT57JGZpZWxkfSA/IC0xIDogKFwkYS0+eyRmaWVsZH0gPCBcJGItPnskZmllbGR9ID8gMSA6IDApKTsiIDogIlwkcmVzdWx0ID0gKFwkYS0+eyRmaWVsZH0gPiBcJGItPnskZmllbGR9ID8gMSA6IChcJGEtPnskZmllbGR9IDwgXCRiLT57JGZpZWxkfSA/IC0xIDogMCkpOyAiOwoJCQkJfQoJCQkJZWxzZQoJCQkJewoJCQkJCS8vIGlmICJzdHJpbmciIHNvcnQgdHlwZQoJCQkJCSRjb2RlIC49ICRvcmRlciA9PSAiLSIgPyAiXCRyZXN1bHQgPSBzdHJjb2xsKFwkYS0+eyRmaWVsZH0sIFwkYi0+eyRmaWVsZH0pICogLTE7IiA6ICJcJHJlc3VsdCA9IHN0cmNvbGwoXCRhLT57JGZpZWxkfSwgXCRiLT57JGZpZWxkfSk7ICI7CgkJCQl9CgkJCX0KCQl9CgkJLy8gcmV0dXJuIHJlc3VsdAoJCSRjb2RlIC49ICJyZXR1cm4gXCRyZXN1bHQ7IjsKCgkJLy8gY3JlYXRlIGNvbXBhcmluZyBmdW5jdGlvbgoJCSRjb21wYXJlID0gY3JlYXRlX2Z1bmN0aW9uKCckYSwgJGInLCAkY29kZSk7CgoJCS8vIHNvcnQgYXJyYXkgYW5kIHByZXNlcnZlIGtleXMKCQl1YXNvcnQoJGFycmF5LCAkY29tcGFyZSk7CgkJCgkJLy8gcmV0dXJuIGFycmF5CgkJcmV0dXJuICRhcnJheTsKCX0KCQoJLyoqCgkgKiAKCSAqIEFycmF5IHNvcnRpZXJlbgoJICogQHBhcmFtIGFycmF5ICRhcnJheQoJICogQHBhcmFtIHN0cmluZyAka2V5IC0tPiAha2V5bmFtZSA9IGRlc2M7IGtleW5hbWUgPSBhc2MgCgkgKiBAc291cmNlIGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZGUvZnVuY3Rpb24uYXJyYXktbXVsdGlzb3J0LnBocCM5MDU0MQoJICovCgkKCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gYXJyYXlfc29ydF9mdW5jKCRhLCRiPU5VTEwpIHsKCQlzdGF0aWMgJGtleXM7CgkJaWYoJGI9PT1OVUxMKSByZXR1cm4gJGtleXM9JGE7CgkJZm9yZWFjaCgka2V5cyBhcyAkaykgewoJCQlpZihAJGtbMF09PSchJykgewoJCQkJJGs9c3Vic3RyKCRrLDEpOwoJCQkJaWYoQCRhWyRrXSE9PUAkYlska10pIHsKCQkJCQlyZXR1cm4gc3RyY21wKEAkYlska10sQCRhWyRrXSk7CgkJCQl9CgkJCX0KCQkJZWxzZSBpZihAJGFbJGtdIT09QCRiWyRrXSkgewoJCQkJcmV0dXJuIHN0cmNtcChAJGFbJGtdLEAkYlska10pOwoJCQl9CgkJfQoJCXJldHVybiAwOwoJfQoKCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gYXJyYXlfc29ydCgmJGFycmF5KSB7CgkJaWYoISRhcnJheSkgcmV0dXJuICRrZXlzOwoJCSRrZXlzPWZ1bmNfZ2V0X2FyZ3MoKTsKCQlhcnJheV9zaGlmdCgka2V5cyk7CgkJYXJyYXlfc29ydF9mdW5jKCRrZXlzKTsKCQl1c29ydCgkYXJyYXksInNlbGY6OmFycmF5X3NvcnRfZnVuYyIpOwoJfQoKCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gdGJBcnJheVNvcnQoJGFycmF5KSB7CgkJaWYoISRhcnJheSkgcmV0dXJuICRrZXlzOwoJCSRrZXlzPWZ1bmNfZ2V0X2FyZ3MoKTsKCQlhcnJheV9zaGlmdCgka2V5cyk7CgkJYXJyYXlfc29ydF9mdW5jKCRrZXlzKTsKCQl1c29ydCgkYXJyYXksInNlbGY6OmFycmF5X3NvcnRfZnVuYyIpOwoJCSAKCQlyZXR1cm4gJGFycmF5OwoJfQoJCgkKCQoJCgkvKioKCSAqIFRlc3RzIGlmIGFuIGlucHV0IGlzIHZhbGlkIFBIUCBzZXJpYWxpemVkIHN0cmluZy4KCSAqCgkgKiBDaGVja3MgaWYgYSBzdHJpbmcgaXMgc2VyaWFsaXplZCB1c2luZyBxdWljayBzdHJpbmcgbWFuaXB1bGF0aW9uCgkgKiB0byB0aHJvdyBvdXQgb2J2aW91c2x5IGluY29ycmVjdCBzdHJpbmdzLiBVbnNlcmlhbGl6ZSBpcyB0aGVuIHJ1bgoJICogb24gdGhlIHN0cmluZyB0byBwZXJmb3JtIHRoZSBmaW5hbCB2ZXJpZmljYXRpb24uCgkgKgoJICogVmFsaWQgc2VyaWFsaXplZCBmb3JtcyBhcmUgdGhlIGZvbGxvd2luZzoKCSAqIDx1bD4KCSAqIDxsaT5ib29sZWFuOiA8Y29kZT5iOjE7PC9jb2RlPjwvbGk+CgkgKiA8bGk+aW50ZWdlcjogPGNvZGU+aToxOzwvY29kZT48L2xpPgoJICogPGxpPmRvdWJsZTogPGNvZGU+ZDowLjI7PC9jb2RlPjwvbGk+CgkgKiA8bGk+c3RyaW5nOiA8Y29kZT5zOjQ6InRlc3QiOzwvY29kZT48L2xpPgoJICogPGxpPmFycmF5OiA8Y29kZT5hOjM6e2k6MDtpOjE7aToxO2k6MjtpOjI7aTozO308L2NvZGU+PC9saT4KCSAqIDxsaT5vYmplY3Q6IDxjb2RlPk86ODoic3RkQ2xhc3MiOjA6e308L2NvZGU+PC9saT4KCSAqIDxsaT5udWxsOiA8Y29kZT5OOzwvY29kZT48L2xpPgoJICogPC91bD4KCSAqIEBhdXRob3IJQ2hyaXMgU21pdGggPGNvZGUrcGhwQGNocmlzLmNzMjc4Lm9yZz4sIEZyYW5rIELDvGx0Z2UgPGZyYW5rQGJ1ZWx0Z2UuZGU+CgkgKiBAY29weXJpZ2h0CUNvcHlyaWdodCAoYykgMjAwOSBDaHJpcyBTbWl0aCAoaHR0cDovL3d3dy5jczI3OC5vcmcvKSwgMjAxMSBGcmFuayBCw7xsdGdlIChodHRwOi8vYnVlbHRnZS5kZSkKCSAqIEBsaWNlbnNlCWh0dHA6Ly9zYW0uem95Lm9yZy93dGZwbC8gV1RGUEwKCSAqIEBwYXJhbQlzdHJpbmcJJHZhbHVlCVZhbHVlIHRvIHRlc3QgZm9yIHNlcmlhbGl6ZWQgZm9ybQoJICogQHBhcmFtCW1peGVkCSRyZXN1bHQJUmVzdWx0IG9mIHVuc2VyaWFsaXplKCkgb2YgdGhlICR2YWx1ZQoJICogQHJldHVybglib29sZWFuCQkJVHJ1ZSBpZiAkdmFsdWUgaXMgc2VyaWFsaXplZCBkYXRhLCBvdGhlcndpc2UgRkFMU0UKCSAqLwoJc3RhdGljIHB1YmxpYyBmaW5hbCBmdW5jdGlvbiBpc19zZXJpYWxpemVkKCAkdmFsdWUsICYkcmVzdWx0ID0gbnVsbCApIHsKCQkvLyBCaXQgb2YgYSBnaXZlIGF3YXkgdGhpcyBvbmUKCQlpZiAoICEgaXNfc3RyaW5nKCAkdmFsdWUgKSApIHsKCQkJcmV0dXJuIEZBTFNFOwoJCX0KCQoJCS8vIFNlcmlhbGl6ZWQgRkFMU0UsIHJldHVybiBUUlVFLiB1bnNlcmlhbGl6ZSgpIHJldHVybnMgRkFMU0Ugb24gYW4KCQkvLyBpbnZhbGlkIHN0cmluZyBvciBpdCBjb3VsZCByZXR1cm4gRkFMU0UgaWYgdGhlIHN0cmluZyBpcyBzZXJpYWxpemVkCgkJLy8gRkFMU0UsIGVsaW1pbmF0ZSB0aGF0IHBvc3NpYmlsaXR5LgoJCWlmICggJ2I6MDsnID09PSAkdmFsdWUgKSB7CgkJCSRyZXN1bHQgPSBGQUxTRTsKCQkJcmV0dXJuIFRSVUU7CgkJfQoJCgkJJGxlbmd0aAk9IHN0cmxlbigkdmFsdWUpOwoJCSRlbmQJPSAnJzsKCQkKCQlpZiAoIGlzc2V0KCAkdmFsdWVbMF0gKSApIHsKCQkJc3dpdGNoICgkdmFsdWVbMF0pIHsKCQkJCWNhc2UgJ3MnOgoJCQkJCWlmICggJyInICE9PSAkdmFsdWVbJGxlbmd0aCAtIDJdICkKCQkJCQkJcmV0dXJuIEZBTFNFOwoJCQkJCQoJCQkJY2FzZSAnYic6CgkJCQljYXNlICdpJzoKCQkJCWNhc2UgJ2QnOgoJCQkJCS8vIFRoaXMgbG9va3Mgb2RkIGJ1dCBpdCBpcyBxdWlja2VyIHRoYW4gaXNzZXQoKWluZwoJCQkJCSRlbmQgLj0gJzsnOwoJCQkJY2FzZSAnYSc6CgkJCQljYXNlICdPJzoKCQkJCQkkZW5kIC49ICd9JzsKCQkKCQkJCQlpZiAoICc6JyAhPT0gJHZhbHVlWzFdICkKCQkJCQkJcmV0dXJuIEZBTFNFOwoJCQoJCQkJCXN3aXRjaCAoICR2YWx1ZVsyXSApIHsKCQkJCQkJY2FzZSAwOgoJCQkJCQljYXNlIDE6CgkJCQkJCWNhc2UgMjoKCQkJCQkJY2FzZSAzOgoJCQkJCQljYXNlIDQ6CgkJCQkJCWNhc2UgNToKCQkJCQkJY2FzZSA2OgoJCQkJCQljYXNlIDc6CgkJCQkJCWNhc2UgODoKCQkJCQkJY2FzZSA5OgoJCQkJCQlicmVhazsKCQkKCQkJCQkJZGVmYXVsdDoKCQkJCQkJCXJldHVybiBGQUxTRTsKCQkJCQl9CgkJCQljYXNlICdOJzoKCQkJCQkkZW5kIC49ICc7JzsKCQkJCQoJCQkJCWlmICggJHZhbHVlWyRsZW5ndGggLSAxXSAhPT0gJGVuZFswXSApCgkJCQkJCXJldHVybiBGQUxTRTsKCQkJCWJyZWFrOwoJCQkJCgkJCQlkZWZhdWx0OgoJCQkJCXJldHVybiBGQUxTRTsKCQkJfQoJCX0KCQkKCQlpZiAoICggJHJlc3VsdCA9IEB1bnNlcmlhbGl6ZSgkdmFsdWUpICkgPT09IEZBTFNFICkgewoJCQkkcmVzdWx0ID0gbnVsbDsKCQkJcmV0dXJuIEZBTFNFOwoJCX0KCQkKCQlyZXR1cm4gVFJVRTsKCX0KCQoJLyoqCgkgKiAKCSAqIEbDvGd0IGRlbSBUZW1wbGF0ZSB2b3IgZGVtIGRlZmluaWVydGVuIFRhZyAoPGJvZHk+IG9kZXIgPGhlYWQ+KSBlaW5lbiBkZWZpbmllcnRlbiBJbmhhbHQgenUKCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIgPGxiQGJsYXR0ZXJ0ZWNoLmNoPgoJICogQGNvcHlyaWdodDogR1BMIDIKCSAqIEBmaW5hbAoJICogQHBhcmFtIHN0cmluZyAkY29udGVudCAtIFRlbXBsYXRlCgkgKiBAcGFyYW0gc3RyaW5nICRhZGQgLSBEYXRlbiBkaWUgaGluenVnZWbDvGd0IHdlcmRlbiBzb2xsZW4KCSAqIEBwYXJhbSBzdHJpbmcgJHRhZyAtIEhUTUwgVGFnCgkgKiBAcmV0dXJuIHN0cmluZwoJICovCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGFkZEh0bWxCZWZvclRhZygkY29udGVudCwgJGFkZCwgJHRhZykKCXsKCQkkYWRkID0gIlxyXG4iLlRPT0xCT1hfSURFTlQuJGFkZDsKCQkkcG9zID0gc3RyaXBvcygkY29udGVudCxzdWJzdHIoJHRhZywgMCwgLTEpKTsKCQlpZiggJHBvcyAhPT0gRkFMU0UgKSB7CgkJCSRjb250ZW50ID0gc3Vic3RyKCRjb250ZW50LCAwLCAkcG9zKSAuICRhZGQgLiBzdWJzdHIoJGNvbnRlbnQsICRwb3MpOwoJCX0KCQkKCQlyZXR1cm4gJGNvbnRlbnQ7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gX2Jhc2U2NHVybF9lbmNvZGUoJGRhdGEpIHsKCQlyZXR1cm4gcnRyaW0oc3RydHIoYmFzZTY0X2VuY29kZShqc29uX2VuY29kZSgkZGF0YSkpLCAnKy8nLCAnLV8nKSwgJz0nKTsKCX0KCQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBfYmFzZTY0dXJsX2RlY29kZSgkZGF0YSkgewoJCXJldHVybiBiYXNlNjRfZGVjb2RlKHN0cl9wYWQoc3RydHIoJGRhdGEsICctXycsICcrLycpLCBzdHJsZW4oJGRhdGEpICUgNCwgJz0nLCBTVFJfUEFEX1JJR0hUKSk7Cgl9IAoJCgkvKioKCSAqIFRoaXMgZnVuY3Rpb24gaXMgdG8gcmVwbGFjZSBQSFAncyBleHRyZW1lbHkgYnVnZ3kgcmVhbHBhdGgoKS4KCSAqIEBwYXJhbSBzdHJpbmcgVGhlIG9yaWdpbmFsIHBhdGgsIGNhbiBiZSByZWxhdGl2ZSBldGMuCgkgKiBAcmV0dXJuIHN0cmluZyBUaGUgcmVzb2x2ZWQgcGF0aCwgaXQgbWlnaHQgbm90IGV4aXN0LgoJICogQHNvdXJjZTogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80MDQ5ODU2L3JlcGxhY2UtcGhwcy1yZWFscGF0aAoJICovCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIHRydWVwYXRoKCRwYXRoKXsKCQkvLyB3aGV0aGVyICRwYXRoIGlzIHVuaXggb3Igbm90CgkJJHVuaXBhdGg9c3RybGVuKCRwYXRoKT09MCB8fCAkcGF0aHswfSE9Jy8nOwoJCS8vIGF0dGVtcHRzIHRvIGRldGVjdCBpZiBwYXRoIGlzIHJlbGF0aXZlIGluIHdoaWNoIGNhc2UsIGFkZCBjd2QKCQlpZihzdHJwb3MoJHBhdGgsJzonKT09PWZhbHNlICYmICR1bmlwYXRoKQoJCSRwYXRoPWdldGN3ZCgpLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHBhdGg7CgkJLy8gcmVzb2x2ZSBwYXRoIHBhcnRzIChzaW5nbGUgZG90LCBkb3VibGUgZG90IGFuZCBkb3VibGUgZGVsaW1pdGVycykKCQkkcGF0aCA9IHN0cl9yZXBsYWNlKGFycmF5KCcvJywgJ1xcJyksIERJUkVDVE9SWV9TRVBBUkFUT1IsICRwYXRoKTsKCQkkcGFydHMgPSBhcnJheV9maWx0ZXIoZXhwbG9kZShESVJFQ1RPUllfU0VQQVJBVE9SLCAkcGF0aCksICdzdHJsZW4nKTsKCQkkYWJzb2x1dGVzID0gYXJyYXkoKTsKCQlmb3JlYWNoICgkcGFydHMgYXMgJHBhcnQpIHsKCQkJaWYgKCcuJyAgPT0gJHBhcnQpIGNvbnRpbnVlOwoJCQlpZiAoJy4uJyA9PSAkcGFydCkgewoJCQkJYXJyYXlfcG9wKCRhYnNvbHV0ZXMpOwoJCQl9IGVsc2UgewoJCQkJJGFic29sdXRlc1tdID0gJHBhcnQ7CgkJCX0KCQl9CgkJJHBhdGg9aW1wbG9kZShESVJFQ1RPUllfU0VQQVJBVE9SLCAkYWJzb2x1dGVzKTsKCQkvLyByZXNvbHZlIGFueSBzeW1saW5rcwoJCWlmKGZpbGVfZXhpc3RzKCRwYXRoKSAmJiBsaW5raW5mbygkcGF0aCk+MCkkcGF0aD1yZWFkbGluaygkcGF0aCk7CgkJLy8gcHV0IGluaXRpYWwgc2VwYXJhdG9yIHRoYXQgY291bGQgaGF2ZSBiZWVuIGxvc3QKCQkkcGF0aD0hJHVuaXBhdGggPyAnLycuJHBhdGggOiAkcGF0aDsKCQlyZXR1cm4gJHBhdGg7Cgl9CgkKCQoJLyoqCgkgKgoJICogQGFic3RyYWN0IENoZWNrIGlmIHN0cmluZyBpcyBiYXNlNjQgZW5jb2RlLCBiZWkgZWluemVsbmVuIFfDtnJ0ZXJuIHNjaGzDpGd0IGRpZXNlIFByw7xmdW5nIGZlaGwuCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyIDxsYkBibGF0dGVydGVjaC5jaD4KCSAqIEBjb3B5cmlnaHQ6IEdQTCAyCgkgKiBAZmluYWwKCSAqIEBwYXJhbSBzdHJpbmcgJHN0ciAtIGJhc2U2NGVuY29kZSBTdHJpbmcKCSAqIEByZXR1cm4gYm9vbGVhbgoJICovCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGlzX2Jhc2U2NGNvZGUoJHN0cikKCXsKCQlpZiAoYmFzZTY0X2RlY29kZSgkc3RyLCB0cnVlKSkgCgkJCXJldHVybiB0cnVlOwoJCQkKCQlyZXR1cm4gZmFsc2U7CQoJfQoJCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldEZpbGVFeHQoJGZpbGVuYW1lKQoJewoJCXJldHVybiBzdHJ0b2xvd2VyKGVuZChleHBsb2RlKCcuJywkZmlsZW5hbWUpKSk7Cgl9CgoJCgkvKioKCSAqIAoJICogSWNvbi1CaWJsaW90aGVrCgkgKiBAcGFyYW0gc3RyaW5nICRleHQgLSBEYXRlaS1FeHRlbnNpb24KCSAqIEByZXR1cm4gaW1hZ2Ugc3RyZWFtCgkgKi8KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0RmlsZUljb25CYXNlNjQoJGV4dCkKCXsKCQkkX2ltYWdlcyA9IGFycmF5KCk7CgkJCQkKCQkkX2ltYWdlc1siZGVsIl0gPSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMAoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUpkU1VSQlZEakxwWlA3UzFOaEdNZjlXN1lmb2dTSmJvU0UKCQlVVkNZOHpKMzF0cmNwczZ6VEk5YkxHSnBqcDFobWtHTnhWejRRNmlsZHRYS1h6Sk5iSlJhUm1yWG9lV3g4dEpPVFdwdG5yTnJ5cmU1CgkJWUNZdUkzcmgrOHZMKy9tOFBBL1Brd0lnNVgreTVtSldyeGZPVUJYbTkxUVpNNlVsdVVtdGhudEhxcGx4VW1sMmxjaUY2d3JtZEhyaQoJCUkwV3gzeHcyaEFlZGlMd1pSV1JrQ1B6ZERzd2FTdkdxa0dDZnE4VkVVc0V5UEYxTzhRdTNPN0EwOVJiUnZqdUl0dHNSYlQ2SEh6ZWIKCQlzRGpjQjQvSmdGRmxOdjlNbmttc0Vzem9kSUlZN09hdXQyT0pjU0Y2OFF4OGRndjh0bXFFTDFnUWFhQVJ0cDVBK040TnpCMGxNWHhvCgkJbi91eGJJOGdJWWpCOUh5dEdZdXVzZmlQSVFjTjcxa2pnblc2VmVGT2tnaDNYY0hMdkF3TVNEUG9oT0FEZFlRSmRGMUZ0TE1aUG1zbAoJCXZoWkprMmFoa2dSdnE0SEhVb1dIUkRxVEVERGwybURrZmhlaURndDhwdzM0MC9Fb2N1Q2xDdUZ2Ym9RemIwY3dJWmdraTRLaHpsYUUKCQk2dzBJbmlwYlZ6QmZxb0svcVJIOTRpMHJnb2tTRmVPMTFpQmtwOEVkVjhjZkpvMHlENzVhRTJaTlJ2U0owbFpLY0JYTGFVWW1RckN6CgkJRFQ2dERONVN5UnFZbFdlRExaQWcwSDRKUStKdDZNM2F0TkxFMTBWU3dRc040WjZyMENCd3F6WGVzSG1WK0Jlb3lBVXJpOEV5TWZpMgoJCUZvd1hTNWRoZDdkb28yRFZJSTBWNUJBamlnUDg5R0VWQXRkYThiMmVob2RVNHJOYUFXK2RHZnpsRmt5bzg5R1RsY3JIWUNMcEtEK1YKCQk3eWVlSE56TGprcDI0VXUxRWQ2RzgvRjhxanFHUnpsYmwySDJkempwTWcxS2R3c0h4T2xtSjdHVGVaQy9uZXNYYmVaNmM5T1ludXhVCgkJYzNmbUJ1RmZ0L0ZmOHhNZDBzNjVTWEliL2dBQUFBQkpSVTVFcmtKZ2dnPT0iOwoJCQoJCSRfaW1hZ2VzWyJhcmNoaXZlIl0gPSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMAoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUptU1VSQlZEakxoWk5OUzVSUkdJYXY4K0hNdkROTzVaaE8KCQlZcVhRRjJGZ1ZOUkNDS00yRWJRMW9rMmIvQUcxNkYvMGdlNXFVd2l0Z2hiV29vaWtpSWhJM0FRVkZFUitWc3lNenRnN3Z1ZWNwNFUyCgkJT1JINXdMTTVjSzduNXI2NWxZZ0FvSlRhRGhRQncvOW5BZmdpSWdFQUVXRU5jamlPNDNLU0pONDVKLy9hT0k1bFpHVGtCdEFMYUJGcAoJCUFoeE5rc1JYcTFXcDFXcU5yVlFxVWlxVlpINStYcHh6TWpzN0s2T2pvdzJJbXJpOVoxRG50andvMmRPYlpyN3ZwS1hGb0RWQXdGcE4KCQl2UjZ6YTlkdSt2cjZLUlFLckt5c0VFSmdiR3pzNXZEdzhEWDEvTjZScngwSE9ycGZ2T3FuV3MwQ0NnUWthSlRKRWtJQUhFTkRGeWdXCgkJaTAxbVdHdVAyVncrS25UM2RqUFVNMGVMelpPNEw2aWt6dFF6NkRsMmk0ZVB4Z2srSVlveWxNdGxRZ2c0NStqczdGeUZLS1VrL2xsaAoJCWV2cGxnOXpUdFI4UkMwQW1TbEd0ckdDTXhWcUY5eDVqL2dSbFJRTFpiSWJ0M2Z2VzRsd21wUzBJaENBNEZ3Z0VqREZvclZGSy9UYTkKCQlvWURhOGpkbXB0ODNIbmR1ODZEYUVRa2dIZ2tCclhYVDVRYUE0RnVpcUkzaXRsNElQekhXazdHNU5RVUJRZ0lTVUVvQllJeHBWbEFyCgkJbGU5K2ZDYm50Rlk2cU0yWjRCT1dhekZ6UzEzVVByd2psVXF6dUZodFhGOU5aWjBDbjdoTGM1OW1ybHkrL3VQUStPTzNUKzZQUDhXNwoJCU9wSDFmSjZjcExVMWhVc1NwaGNxUkxsTkZISzZHWEQ4NG51dmxDb0RTMUZyZ1puMjgrVDV6b205MzNqemVvS3B5WmVZOW9QY2VPSnAKCQl6MWU0ZXJidEx3L1dUVEJaV1ZwYVZObWNZdXZXRGs2ZU9zUEF3Q0NMc2VIT3BDT2ZOZzB2Z0FDZzFyWHhTTDFlbnpER1pBQzlRU09ECgkJOTM0NW5VNFByZ2ZzV0t2elJwOS9qd2NXZmdGN1ZFS1hmSFk1a3dBQUFBQkpSVTVFcmtKZ2dnPT0iOwoJCSRfaW1hZ2VzWyJhdWRpbyJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDAKCQlVMjltZEhkaGNtVUFRV1J2WW1VZ1NXMWhaMlZTWldGa2VYSEpaVHdBQUFJdlNVUkJWRGpMalpQTGF4TlJGSWVyaVArQU83R2c3blJYCgkJcW8xb2dvS0NLMEZiaWc4UXV4S2hQb3AwNFNZTE5ZcWxLcEVtUWxEQlJSY0ZGV2xCcXFKWUxWcGJxNmt0YVJvMGFXbWFtVXhtSnBONQoJCVp2S29QKys5bW1scVd1ekF0N2pjK1gySGN5Nm5Ea0FkaFh4YkNJMkVwdit3bGJEZXlWVUpHbTNienBWS3BjVnl1WXlWSVBjSUJBTDMKCQlxaVhWZ2lZYU5nd0RwbWs2cUtvS1JWRWdDQUtUOER5UFlERG9TQ3JoZFlIck85cXprZE9RdnArRStPMDRoQyt0RUQ2M2dCcytRaURuCgkJaFFnVFdKWUZXaVFVQ3YyUlVFSC9nNFlOWHdkY1QvVkVKNnhrRjh6RURSaXhxMUNucmlEOTRTaWtIMDhnaWtKTlMyd21WTER3eWJPTgoJCUgzR2JOdDhEWStZTXJEay90R2t2aE9GbUtQRStweFZKa3BESlpNQngzSkpBSE4rL01UUHE4YW14ZHRqOGZXamh3ekIrZGlINWFnOXkKCQk4VjZRdWJEaFVZbW1hV3dlc2l3dkNZUlJ0eXY5Y2E5b2MzN2trM2VnVGJiQmlQb3dQK2lHT0hHVDBBMWg3QnJTNDNlaGlYSG91czVFCgkJam9DRXgzSXpGNkZNbllNY1Bnczk1aU9DVzFERFhxVGZuRUJxc0JuUlI5c2hUdllpYnloc2lCUkh3TDEzZGFiZTdyNzk3dUhPeDNLawoJCW0xVDJJRGZoaFRSeUFmTURoNUFhdW94OE5zNWFLUlFLRE5yU3NpSFNaNlNIb3ExaTlua0R1TmZIa0hpMkQ5bG9Id3RTaXNVaWc0WlgKCQlGYVNHMnBCOGNaQlVQWStpbGEwSlYxTWo4Ri9hM0RIYmZ3RHEzTXRsYjEyUi9FdU5vS04xMHlsTG12NjEyaDZzd0tJaitDdlpSUVprCgkJMG91MWhNbS9PdHZlS2tFOWxheGhuU3ZRMWEvL0RWOWF4ZDVOU0hsQ0FBQUFBRWxGVGtTdVFtQ0MiOwoJCSRfaW1hZ2VzWyJjb2RlIl0gPSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMAoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUh0U1VSQlZEakxqWk05VDl0UUZJWXBRNWVPTUJLbFc2ZVcKCQlJUWlwYThSZlFLUWdoRUFLcVpnS0ZRZ21GbjVBV3lWRENpcFZRWkMyRXFCV2xFcWRPMlJDcEFzc1FCUnN4MSsxbmRpeDh3RnZmVzZ3CgkJY1VoUXNmVEkwajMzUEQ3bitONHVBRjJFKy9TNVJGd0cvOE5qbDI0L0x5Q0lPSTZqMSt2MXkwYWpnVTY0Y1NTVHliZEJTVkF3U01tbQoJCWFjS3lMQi9ETUtCcEdrUlJaQkpCRUpCS3BYeUpsL3lBQkxUQnRtMVVxMVgySnNybE1uUmRoeVJKVEZDcFZFQWZTYWZUVFVsUW9GczEKCQlsdXhCQWtvb2xVcVFaYm10SlRZVFQvQW9ISW5PZnBjd3RWdGt3Y1NCZ3JrREdZcGgrNjBvaXNJcTRYbStWZkIwK1UvUDBMdmozTndQCgkJR2ZIUFRjSE12b3lGWHdwZTdVbVF0QXFUVUNVMEQxVlZid1RQVms1alkxOUZlM1pmUW55N0NFNTFXSkRYcXBqZUVVSHI0NWtpOXJJcQoJCWE0ZG1RaUpmTUxJdEdFcy9GY1EydWNiUm1kblNZeTV2WVd5THgvdzNFYU1mTG1CYURwTVF2dURKNjVQWThEcG56M3dwWW1MdEFwemMKCQlySUFxbWZyRWdkWkgxZ3JZL2EzNnc2WHowREtEOEVTMjUvbmlZUzYrd1dFOG1XZkJ5WThjWG1ZRUpGWUxrSFVIdFZxTlFjbHRBdm9MCgkJRDN2N28vRlVIc052emxud3hmc0NFdWtDL2hvM3lVSGFCTjVCdW8xN09qdHlsK0Rxcm52UWdVdGZjQzBaY0Fka1VlQSt5ZTdlTXJ1OQoJCUFVR0lKUGU0emg1MDlVUC9BQWZOeXBpOG9qL21BQUFBQUVsRlRrU3VRbUNDIjsKCQkkX2ltYWdlc1siZGF0YWJhc2UiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSFZTVVJCVkRqTGpaUExhaUpCRklaTkhtSldDZVFkTXVUMQoJCU1pL2dZbEFSQlJVa2FvK2FiSFVobWhnVTBRSHRBUlZ4SjBieGh2ZkdhMDdPZjVJdTIxeVlGUHlMcnFyejFmK2Y2cklSa1EzaWNjYTYKCQlaRjM5Unhlc1UxVm5BVnl1VnF2SmRydmQ3M1k3K2t5OFRrNm44N2NWWWdWY29YaXhXTkJ5dVZTYVRxYzBIbytwMStzSnBOdnRrc3ZsCgkJVWhDYjNXNy9jZi93K0JTTHhmYXBWSXFTeVNSbE1oblNkWjJHd3lITjUzT2FUQ2JVNy9jRllCZ0c0UkNQeC9NS3ViMjcrMXVyMVhxagoJCTBZalc2eld4Q3lsb05CcVVTQ1NrWURhYjBXQXcrQkJKZXFMRnRRcHZHb0ZxQWxBRWFab211YzBvY0FRbm5VN25BTGlKM3VoOHdoZ24KCQl0dHR0YXJWYVZDZ1VwQ0FVQ2duUWhNQUorZ0czQ3NEWmE3eGgxbXcyWmJGU3FZZ3dnc0dnYkRRaGNJV2VBSFNJb1AxcGNHZU5hclVxCgkJZ0ZLcEpNTHcrLzBxNzJhemtZaG1QQVdJUm1NNkFHYlhjN2tjNWZONUFYaTlYZ1dBQ3dBZ3VMRUFvanJmc1ZHdjF5Vi9zVmlrY3JrcwoJCUFJZkRJWVVRSEVBb1BnTHdUM0dkeldZTmRCZlhoM3h3QXBEUDV6c3F0a29Cd3VId2FTQVErT1YydS8vRjQzR0tSQ0xFYzVST3B3Vm8KCQlPbmd2QlhqN2pVL3d3WlBQWDcyRFQ3UlhnRGZJVDI3UUVndmZLZWE5YzNtOUZzQTVJTjk0enFidzlNOWZBRXVXK3p6ajh1THZBQUFBCgkJQUVsRlRrU3VRbUNDIjsKCQkkX2ltYWdlc1siZGlyZWN0b3J5Il0gPSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMAoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUdyU1VSQlZEakx4Wk83aWhSQkZJYS82dTBaVzdHSEJVVjAKCQlVUVFUWnpkM1FkaE1ReE9md01SWEVBTkJNTlFYME16QXpGQXdFekh3QVJiTkZEZHdFZDMxTWozWDdhNnVPcjlCdHpOallqS0JKNm5pCgkJY1A3djNLcWNKRmF4aEJWdFpVQUs4T0hsbGQyc3Q3WGwzREpQVk9OUCt6RVVWNEhxTDVVRFlIcjV4dnVRQWpnbC9RczdUenZPT1ZBagoJCXhqbEMrZVBTd2U2RGZiVmVnTFZ1VDRyMTRlVHI2enZBOHhTQW9CTHp4NnB2ajRsK0RaSWV6dVZrRzlmWTJIN1lSUUlNWklCd3ljbXoKCQlIMS9zM0Y4QWFwZklQTkYza1FrNytrdzlQV0J5K0laT2RnNVVnM21rQUFUeS90MHVzb3Z6R2VDVVdUakN6MEIrU2owZWtmZHZrWjNhCgkJYkJ2K1U0R2FDdEoxaUVtNkFOUUo2ZkV6ckcvZW5nY0t3L3dYUXZFS3hTRUtReFJHS0U3SXp0K0RTaXdCSk1VU203MXJndU1ZaFFLcgoJCUJ5Z09JUlN0ZjRUaUZGUkJ2YlJHS2lRTFdQMjl5UlNIS0JUdGZkQm1IczBCVXBndnRnRjR5UkZSK05VS2kwWFpjWWpDZUNHMnNta3oKCQlMQUhrYlJCbVAwL1VrMjZPNVluVUFjdEJwMUdzQUkrUzVuUkpKSmFsNUsxYUFNcnEwZDZUbTl1STZ6anlmNzVkQWU2dHgvU3NXZUQvCgkJL28yL0FiNklIMy9oMjVwT0FBQUFBRWxGVGtTdVFtQ0MiOwoJCSRfaW1hZ2VzWyJncmFwaGljcyJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDAKCQlVMjltZEhkaGNtVUFRV1J2WW1VZ1NXMWhaMlZTWldGa2VYSEpaVHdBQUFIOFNVUkJWRGpMalpQTGF4TlJGSWZITHJweDEwV2JnaFh4CgkJSDdEUXg2cDE0Y2FkaUNzMzFZMkxMaXpZaGRCRld5aFlhRlVhVXhMVVFGQ3hMNjFFKzBnb2ZXR0xSVXFHcW9XcDJKcEdHOGc0eWJUSgoJCUpKbTg2ODk3THM0UUpJbTk4REVEOS82K21YTm1qaUFJd2hsR0U2UDFQNXhqVkFFUWlxSFZsTWxrWXZsOC9yaFFLS0FVYkI5MnU5MVcKCQlTa0tybGNMSlpCSzZycHRvbW9ab05BcEZVYmhFbG1VNEhBNHU4WXpVMVBzbVdyeXJveFlyRjlDQmREcU5iRGJMcjBRaWtVQXNGa000CgkJSE9hQ1ZDb0Zlc2p6cHdNdWFlWHV0aFljdzRydHZHNEtLR3hBQWdyRTQzRkVJaEd6bEpRV3hFL1JpclE2aTgvVDdYalhWMnN6QmF3TQoJCTh5RGRVOTFHS2FxcUluUWd3Zjl4Q05tb0I3TFlnWm4rT3VkMFQxMjFLZmlYWW9rcWY4WCs1akF5UjNOUXZ0ekVxOTZ6NG9zN2xocXoKCQlpZVc2VHhKTjNVVmc4eUVQcXp1MzhQN3hSVnkrY1BvYXk1MnFLRGhVZjBIYVdzQzN4UnZzdGQzUXZ0OW1UV3RFT1BBSmYvK0w4b0tBCgkJZndmTG5pbDQzejdCa3VzcWRyMlg0QnR2ZzErYzVmc1ZCWkovSDlhWGJpeC8yRUFvdUFWeDR6Vm1IbDJCdE9ya1Bha28yRHNJd3VsZQoJCXhLaG5HL2NtZmJnK3VJYnVrWGtvb1IvSTVYS2Npb0x1KzgvUU5UeUd6cUUzNk9pZFFOZURKYXlMZTd5WkJ1VUV2OHQ5aVJJY1U2WjQKCQlGcHJaMzZmVHhrbkM3R3lDQnJCWTBFQ1NFNHl6QVkxK2d5SDRBeTljdzJJZnd2OW1BQUFBQUVsRlRrU3VRbUNDIjsKCQkkX2ltYWdlc1siaW1hZ2UiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBR1dTVVJCVkJnWnBjRS9hMU5oR01iaDMvT2VONTZjS3EyRAoJCXA2QW9DT0ttazR1Q244RE55Y0VPSW9qaWxyMlRhQmZSelZuRVNRUjNCeitGRkRvV0EySWp0a1JxbXB5Yzk3azlxWWwvSVFWN1hTYUoKCQl3NGcwVmxaZlAwbTEzZHdlcFBidWlIODVmeWh5V0N4NC91YnhqVTZra2R4V0h0NjlWQzZYcFpsRkJBaHdKZ3dKSkhBbVJLb3Jiajk0CgkJZXd2b1JCcmJ1eWt2VDVSMi8rbExUcDA1VHA0NVNUbUVKWUpCTUFqQnlJTHhZZU05anpyM0dDY3pHcEhHWUFRaFJNNmZPOHVGeTFmSgoJCVFvYVV3Q0tZRWN3d0M0UVFhR1VCZDM2S1REbVE1MjNheFRHUW1FY0lFQk9SS1FmRzFaRHhjQS9Na0J4WHdqMWdnQ1F5UzlUVkFNbVoKCQlpVXhKOExuL2tTKzlQbU92Y1NXK2pyYW8wbW1NSDViekhmYSs5VUdCbWNpVUJKKzJGbWgxaCt5VFFDWFNrSmtkQ3JwZDhidEl3d0VKCgkJUW5hRWtPWE1rN1hhaUY4Q1V4TC9KZEtRT3diME50YzVTRzl6SFhRTmQvWkZHc2FFZUxhMkNoanpYUWNxWmlLTnhTTDB2UjR1blZ3dwoJCU1FTk1DQVRpYjBaZFYrUXRFNDFJNDJnZVh0MVplM2RsTU5aRmR3NlV0NkNJdktCaGtqaU03OVB5cTFZVW10a0tBQUFBQUVsRlRrU3UKCQlRbUNDIjsKCQkkX2ltYWdlc1sicHJlc2VudGF0aW9uIl0gPSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMAoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUhlU1VSQlZEakxqWk8vaTFOQkVNYy91Ky9sQll4aUxrZ1UKCQk3dlJzdExFVUR5eHR4VjY4eWtJTVdsb2NhR0hyRDFEeFNBcXhOZjR0MTE1am82RFloQ1JDRXNrNzMzczd1MlB4a3VpUm9Ca1lkbUdaCgkJejN4bmRzYW9LZ0RHbUMzZ0xCRHhieHNBMzFVMUFLQ3F6Q0JYc3l3Yk8rZThpT2dxejdKTTIrMzJXK0FpWUZYMUdHREhPZWVuMDZtbQoJCWFicnd5V1NpbzlGSSsvMitpb2oyZWozdGREb0xpSm0rYmltQWhnQmVVZTlSbWJrclQ1d2dUOTdSYURRb2lvSVFBdDF1ZDcvVmFyMWgKCQkrdXErL3M5K1BMaWx3K0Z3cVNSZ0oxWXBleEhTS2VuSEY0REZmL3VDM2I3Q3lkc1BzYWZyYU81SWtvVHhlRXdJQVJHaDJXd0NZTlVKCgkJQU9tSFo1eTRlWS9hN2g0aFBjSWRIdkR6L2ZNU25qdmlPQ1pKRWlxVkN0VnFkZkVsOFJ5Z0hrejlETFpXUXpPSGlzZDlPaXpmY2tjVQoJCVJSaGpNTWJNbTE0Q1FsRUMvTmZQalBkMkNTSlFDRUVFRFdZQnNOWmlqRmthQ3F1NUt5K2Jsd2w1Z2VhT1VEZzBjOFRuTnNzU0Nsa0UKCQlSMUdFdFhZWmNPcnVJNklMbDFBSnFBVGlyVzAySHI4c0ZUaEJWWmZrbHlYTUZkUWJiRHpkWHptNzh6NEJ4N0tYVGN3ZGd6czN5aXp1CgkJenhBaEh2Vmg0YXZxQnpBemFRYTRKaUlIZ0dFOUMzRWNYN2V6aFZJZ2VPOS9BV0dkWU8vOUVlRE5YK3Q4ZnJiT2RrMEZIaGo4QnZVcwoJCWZQMFRINWRPQUFBQUFFbEZUa1N1UW1DQyI7CgkJJF9pbWFnZXNbInNwcmVhZHNoZWV0Il0gPSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMAoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUlwU1VSQlZEakxqWk5QU0ZSUkZNWi85NzA3bzBTT09zaE0KCQkweC9KRnRVbWlzS0Jvb1ZFRVVUaHNnaTNLUzBDTjBHMmxhZ1dFWWtTVWRzUldnU0ZHOXNWRkFXMUVJd1FxUlppaURPWlk4MDRiOTY3CgkJOTU0MjQ5aFVwQjk4eS9Qak81enpLUkVCUUNtMUUwZ0RQdjlYSHBnVEVRZUFpRkNESEFtQ29CaEZrVFhHeUw4Y0JJR01qbzdlQTNZRAoJCW5vZzBBTEpSRk5sU3FTVGxjcm51bFpVVldWNWVsc1hGUlRIR3lNTENnb3lOamRVaGFuQ3lWOWF5T1NlSWRUZ25PQ3RZNDNEV1lZM2oKCQk5dWx4a3Nra1lSamluQ09YeTQwTURBemNaWEN5VnpaUzM4TWVLUlFLZjYwRVpQWFNYSW5MOXkrd0xaTWtDTXMwUlIyOG1KMmdyU1dKCgkJRW8rbEg5L0lwTlBFNDNHS3hTTE9PWXd4cEZJcEFQVFdqaWFPdForZ0xkRktsSmxEOHUwMHhXUDhsTy9NNStlNWVmRUIxOGI3MFZxagoJCWxNSmFpKyt2SDhxTHFvYStubjQrZkptaU5OUEN2TXpRbklqelp1bzFWODhOczMvSEFjS0t3ZmQ5dE5ab3JZbkZZdXVBTUxETWZKM20KCQkrZlF6bnI3TDBWazl6R3BMbWV6QjR6eCsrWWdncWhBRkVaN240ZnQrSFZRSFZNb0I1KytjSk5XYVJyUXdNakhNOXFDTFRGY25KSnE1CgkJOVdTSU1MQW9wUUR3ZlIvUDgrb0FiYXFXSzJlR1NHeHB4VnJEbnZRKzNzKys0dFBuajRTZXdZc2NVZFVnSWlpbGNNNDEvdVhaRzlrTgoJCXo5aDlhYStFWWRqZytobkR3SERxK2lHc2FYd2NaNlhoc2RaVytGT3FGazBCM2NhWXQ0QmljM0phNjZOZXJWQUNPR3R0QlhDYkdiYlcKCQlyZ0pXL1ZiblhiVTZlNXRNWUlIOEw1NFhxMGNxMDE4K0FBQUFBRWxGVGtTdVFtQ0MiOwoJCSRfaW1hZ2VzWyJ0ZXh0ZG9jdW1lbnQiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSWRTVVJCVkRqTGpaTzdhNVJSRU1WLzkvRjl5YUxCelFZMwoJCUNDN0VwQkd4VTJPMEVCRzBzeEhCVWl0VFdZaXRZQ3NpaUpMME52bGZnb1dTUnBHQTRJTXNtNDNaWGNobXY4ZTlNeFpaTjFHRDVNQ0IKCQlXOHljZTRhWlkxUVZBR1BNYVdBYWNQd2ZtOEEzVlJVQVZKV2h5SVVzeTdwbFdjWVFnaDdHTE10MGFXbnBOVEFEV0ZYOVEyQytMTXU0CgkJczdPai9YNS94RjZ2cDUxT1IxdXRsb1lRdE5sczZ2THk4a2pFM0h1ejlxUElRamNVZy9HWmVuVk9va0lFaVNCQkNLVVNRK1RGd3dhMQoJCVdvMmlLQkFSVmxaVzNpd3VMcjdpenNzUG53WjUwRExJb1d6OXpQVCtzL2ZhYnJmL0dRbVk5N0dJSVhHV3AyOC8wOHNpNStvVjFqY0cKCQlUQ1NPNm5ISDJwZGRZcW1rYVVxMzIwVkVDQ0ZRcjljQnNCSVZCYkpjU2RYUW1LN1E2UXNucTU0c2oyZ0JwbFM4OTZScFNwSWtqSTJOCgkJalZaaXRkaDdqQU9TSzZ0clhjcEMyR2psZlAxZXNIRCtHRFlvemptODkzanZTWkprWHlBV2Urc3NjNlc1RzluYUxxa2F3L3BHeEJybAoJCTF0VnBKQ3JXV3B4ekk2R1JnT1FLQ3YyQllIUGw1dVVhdFJPZVNzVnk3ZUlrVTlVVWlZb3hCZ0RuSE5iYWd3NFU2eUFXd3BtcGhOdlgKCQlUNkhBaEFadUxOUngxaUREV3pIRy9MNlpFYnlKVkxhMmM1NC9QZ3NLZ3l6dzVNSGNxS0M5blJPSy9hYUR2d040S1lTN2o5NTlESGsyCgkJUHR1WW5CVUJGVUVWVkJRUmd6WDdJL3dOTTdSbWdFc2hoRlhBY0RTSTkvNktIUVpLQVlreERnQTVTbk9NY1JlSTVrQ2NHOE00MnlNNgoJCWlNRG1MMjYxZWFPT25xck9BQUFBQUVsRlRrU3VRbUNDIjsKCQkkX2ltYWdlc1sidW5rbm93biJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FRQUFBQzEramZxQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDAKCQlVMjltZEhkaGNtVUFRV1J2WW1VZ1NXMWhaMlZTWldGa2VYSEpaVHdBQUFDNFNVUkJWQ2pQZFpGYkRzSWdFRVducnNNbTdvR0dmWnJvCgkJaHh2VStJcTFUeWpVNjBCZjFwYWM0WWM1WVM0WkF0R1dCTWsvZHJRQk9Wd0psWnJXWWtMaHNCOFVWOUswQlVyUEd5OWNXYm5nMkN0RQoJCUVVbUxHcHBQalJ3cGJpeFVLSEJpWlJTMHArWkdodnM0aXJORXZXRDhoZUhwYnN5RFh6blBoWUZPeVRqSmMxM29sSXF6WkNIQm91RTAKCQlGUk1VakErczFnVGphUmdWRnBxUndDOG1mb1hQUEVWUFM3TGJSYUpMMnk3Yk9pZlJDVEVsaTNVN0JNV2dMektsVy9DdWViWlBBQUFBCgkJQUVsRlRrU3VRbUNDIjsKCQkkX2ltYWdlc1sidmVjdG9yZ3JhcGhpY3MiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSVdTVVJCVkRqTGhaTlBieEpSRk1XaFJyWXUzTnJFeElVYgoJCWR6V3RlNk03ZDM0RW8ySGp4bThnd1pVeElZRUFSVUtBV2d3YlYwQnB4QVcxMWJwUUZyQ29DVkVNRHBsaFFNb3c3ODIvZW54M1dzaVUKCQkwanJKMmJ6N3p1KzllOTVjSHdBZlNYelhoRmFFVnYrajYwSkxNNThIc0dJWXhzaTI3U1BIY2JCSW9vNW9OQnJ4UXJ5QVZUSlBKaFBvCgkJdXU2cTArbWdWcXVoMFdoQWxtVVgwdXYxRUl2RlpwQ3AyVThBMnNBNWgybWFZSXloVUNoQTB6VFU2M1VvaXVJQ2FKME9TU2FUeDVCNQoJCUFKbnBxcVZTQ2JtTlRXeFZ0OUZzTnRIdjk4KzA1R1l5RDdBc0M1VktCWnZGZC9qMms2RXRjNmdqSGZMZ0VMS2l1amVSSkdreFFHU0EKCQlZRENJeDgrZUkvT1JJYjNMa2Ywc1d2bWlvOWFhb0MyTm9RNytRRlVIQ3dGcjVYSVo4YmZ2aFpGaHEyWGdVOXRFYjJUajk5RENnY1R4CgkJOVllT2c2NEdaVENHUFFkWUVucGFMQmJ4Wmw5SGZJZWpvMXJnNW5HdnRpM0NNeXhvdW9uaElZTThaRzdOQldTejJZZXBWS29iaVVSKwoJCVVYanJ3cnkrd3pCbTlxbkFxRDAzWUhvaGJzQVNVUCtseTJ1K1hDN1h6bVF5dDlMcGRKYzJ4dXNjcjBVTFU5TlVGQzZKRGlGUkN5NGcKCQluODgvRVdxRncrRUVtZkw3SEs4KzhGT0FxZG1yV1lqQzdFOGtFbGNDZ2NBZFdteDJMYnpZNW1DbWMrWVdYcDMzSC93MUxRZWhLaFBQCgkJWnVLOG1UalIwUXh3QXJrdFF0S3BzTEhIRWFyd0M4MWlyK1pPcndld1RCQ2lYcjE1Ny83ZDBQZnFqUWN2SDEwdzFqVDZ5LzhBL25ISgoJCUhjQWdtMkFBQUFBQVNVVk9SSzVDWUlJPSI7CgkJJF9pbWFnZXNbInZpZGVvIl0gPSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMAoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUlmU1VSQlZEakxwWk5QYUJOQkdNWGZicnViekJxYmc0a0wKCQkwbEpMZ2lWS0UvQVA2S2w2VVVGUU5BZURJQWpWUzA4YUVMeDU5R1FQQVJFVi80QmVpcWNxUk9wUkQ0cFVOQ0pTUzIxT2dsb0lTV01FCgkJWi9hUGI2QVJkTmVUQ3o5Mm1PKzlOOS93N1JwaEdPSi9uc0grb2xxdHZnK0NZSlI4cTlWcXVUaHh1Vnorb0pUS2VaNjNVcS9YQzM4RQoJCTBKajNmZjgrT1Z1cFZHTGJvbGt6UXc1SE9xQXhRVTR3WFdXblpyeWttWUQwUXNnQU9KZTlocEVVY1ByOGkwR2FKOG4ydnMvc0wyaDgKCQlSNjZUcFZmV1RkRVRIV0U2R1JHS2pHaWlLTkxpaTVCU0xwTjdwQkhwZ01ZaE1rbTh0UFVXejNzTDJEMXdGYVkvanZuV2NUVGFFNUR5CgkJak1mVFQ1SjBYSUFpVFJZbjNBU3daMU1LYlRtTjd6K0thSFVPWXFtYjFmY1BpTmE0a1FCdXl2V0FIWWZjSEd6RGdZY3g5Tktyd0pZSAoJCUNBeUYyMUppUFdCblhNQVFPZWE2Ym1uKzR1ZVlHWmk4Z3R5bU5Wb2JGN0JHNXByTnBqZCtlVzZYNEJTVUQwZ09kQ3B6QThNcEEvdjIKCQl2MTVrbDQrcEswZW13SFNiakpHQmx6K3ZZTTFmUWVEcllPQlRkek9HdkRmNkVGTnIrTFlqSGJCZ3NhQ0x4cittb05RalUydlloUlhwCgkJZ0lVT21TV1duc0pSZmpsT1pocmV4Z3RZRFovZ1diZXROUmJOczZRVDEwR0pnbE5rNjRITWFHZ2JBa29NbzVmaUZOeTdDS0RRVUdxRQoJCTVyMzhZa3R4QWZTcVc3WnQzM2w2Nld0a0FrQUNqdU5zYUxWYUR4bHc1SGRKLzg2YVlyRzRXQ2dVWkQ2ZlgranYvVTB5bWZ4b1dWWm8KCQltdVp5Zis4WHFmR1A0OUNDckJVQUFBQUFTVVZPUks1Q1lJST0iOwoJCSRfaW1hZ2VzWyJ3ZWJwYWdlIl0gPSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMAoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUp3U1VSQlZEakxqWlBkVDFKaEhNZXR2eU8zL2dmTEt5KzYKCQk4YkxWMnFJQXE3VXlHNklyZFJQTDVoczJVNUZSME1KSUFxWmxoN0JWVmlJMWtreXlpUGtDeVV0enRRWVRZYndKRThXK1BjOHBqb2ZLCgkJMWRrK094ZlArWDNPODNzckFWQkNJYzhlUWhtaC9CL3NKZXptNG5pQ3N2WDE5Y1RtNXVaV1BwL0gzeURuVUt2VktyNkVMeWlud1d0cgoJCWE4aGtNaHpKWkJMeGVCd3JLeXVzSkJ3T1E2UFJjSkpDOEs0REovZFhNMDRET3N3TnFOT0x5YnNSbzlONkxDeTdrVWdrRUlsRVdFRTIKCQltd1g5aVZhci9TbWhnbHFkOElSRUt3eWEzcWhnODA5Z1BMZ0kvWHNyT3AvSWNYVk1ocW5GU2F5dXJ2NlJFbHNUNlpDb292NXUxZnpVCgkJVnd2Y0tSZGVmVnVFS1JDQTNPRkh2Mk1PeHRsQmRGdWFNZi9aaFdnMHl0NGtGQW9WQ1pTM0hkMWdrcE93UnQ5aDBMT0VTM1l2YW16UAoJCWNkRjdBNnJsUHJTYnBiaFAwa21sVW13OVlySFl0b0RrdTJUNnBFWi8ySUNYRVE4a1R6K2cyVGtOY2VBS0t2Mm5JSGFjaG42cUJ4MU0KCQlJNXQvT3AxbVJYekJkMzFBaVJhZkJwMXZaeUVjY2VHQ3pRNnAyNHlqRXpvY0dUNkxVYWNTMGlFeGNya2NLNkZzcDZBWExSbm1GT2p5CgkJUE1JWml4UEhtQUFPR3haUWVjMk9ReW83enBtNmNOTjZHWjJrSzFSQW9mUEFyOEdBNG9VTXJkTk5rSXcvd1BGaER3U2pYM0R3bGcwQwoJCVF5OTZIcmVpVGxjRlpzYUFqWTBOTnZoM1FVWHRIZUhjb0tNTkE3TmpxTGQ4eEhtekR6WERSdlJPMUtIdG5nVHloekw0U0hlb29BQW4KCQlLTXhCdFVZUWJHV2EwRGMrQXNXelNWeTNxa2plSXRMQ0ZzejRYb05NYVJGRkFtNFN5VFhibVFhMllIUVNHYWNSL3BBWE8rekdGaWY0CgkJSmRsSENwU2hCenN0RXorWWZKdG10NWNuS0tXUy8xam5BblQxUzM4QUdUeW5VRlVUekpjQUFBQUFTVVZPUks1Q1lJST0iOwoJCQoJCQoJCSRfaW1hZ2VzWyI3eiJdID0gJF9pbWFnZXNbImFyY2hpdmUiXTsKCQkkX2ltYWdlc1siYXMiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSXFTVVJCVkRqTGpaUE5pMUpSR01hbi9vb1dEYlNLTnEycwoJCWdacWgwVWdxS1ZvT1U3T29vRVdMZ1ppK0pJYVlHb2xhUkFTNjBKWHV4SldvSUM2RTBLQWdBekdiQ3FwRm11YTM5M3F2OStQb1BKMzMKCQlUSFBIY1l5NjhIRFB2ZWU4di9lOHp6bnZGSUFwRW44T2N0bTRadjZoUTF6N3JiZ1JnRTNYOVM1amJEZ1lEREJKZkI1ZXIvZmxLR1FVCgkJTUVQQmlxSkFWVlZMa2lTaDArbWdWcXNKU0xWYWhjL25zeURid2ZzSVFBczBUWU5oR05EZXZJWDI5Qm5VeHg1MHUxM1U2M1VCNlBmNwoJCW9DUit2MzhMTWc2Z1lDT2RobmIxR2dhZVZham5MMENXWlRRYWpUMGxDVS9HQWVhMzc5QVdGc0h1M2tKLzRUTFVPL2V0VXByTnB0aEoKCQlwVkw1QzRBeDZJL1d3VmJ2b2U5K0FNYXpNdnJIelNNSTdZVDhhTFZha3dIczh4ZG9TMWVndUM3Q2VKVUJhM2ZFd2tLaGdFd21JK3BQCgkJOC9MeStmeGtnUDc4QlpqN05nWVAzWkRuN0ZEWFBHSmhLcFZDdVZ3Vy90QTdIQTd2QmF3ZFBySkVtWmw3aFFjN0lKMll0d0N4V0V5VQoJCUlnem1DZ2FEdXdGMTU3a0RsVk9uQytiS01tUzdFOGE3OXpBM1BzRXMvMFE4SGtjMm00VnBta0xrQjVVUmpVYTNBTXBaMSt1ZXcvbFYKCQltbk13L2NaMXFPdFByR09pcktWU0NjbGswZ0tRUXFHUU9GWUI2Tm5QS1BLc2ZkTll2Z25KZFFuc1YyM1hXUk1ra1VpZzNXNkxNU2tRCgkJQ095VUlKK2NoM1I4RmorTzJqNllIemMySi9WQXNWZ1VFQnBISWhIa2Nqa2FEeTBQL2hoNWpCdWswc1E0Z080QVhTSWEwOWI1OTVDdgoJCTdZbnVIUUZNRStRLzJubGIxUHJUdndHbzJLM2dXVkgzRmdBQUFBQkpSVTVFcmtKZ2dnPT0iOwoJCSRfaW1hZ2VzWyJhdmkiXSA9ICRfaW1hZ2VzWyJ2aWRlbyJdOwoJCSRfaW1hZ2VzWyJiejIiXSA9ICRfaW1hZ2VzWyJhcmNoaXZlIl07CgkJJF9pbWFnZXNbImMiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSGRTVVJCVkRqTGpaTkxTK05nRklhZCtSMEt3dXpjU1FkZAoJCXVuVFdYcmFLQTRLQ3VGS2NXWXFnVmJFNFRLSldOeXFDMm9IS29EQmVFQkYwNFVwRlVWUXFVb2VtU1ZPVEpyMmxyYjUrNXhzVFV5K2oKCQlnWWRjM3lmbm5PUXJBVkJDc0syVTRXRlV2VUU1NDZPVGN3azgyV3hXeitmenQ0VkNBUy9CN2tNUWhCOXVpVnRRUmVGa01vbFVLdVdRCgkJU0NTZ2FScGtXZVlTU1pJZ2lxSWpzY01mU0VBUFpESVpXSmJGOTRScG10QjFIWXFpY0VFNm5RYTl4Ty8zLzVPUW9NNTcvcW0yYTNQRwoJCXR5ekR0eHpGL0ZZTWU2YzZGMURBTUF6RVlyRm5MZkdaMUE5ZGV2cUM4bzJ3cG1MOGp3SmhSY2J3N3lnR0F4SllTN3h2dXhWVlZYa2wKCQlrVWprVWRBc2hnUCtEUlZmdXJlWGJQUGN1b0tlMmIvUURLdElRcFhRUE9MeCtLT2dmMG5HQ0N1OXNtSGl1N3U4SUd1REJIUnNTNmdkCgkJbWdtSkhFSGZMd245d1NncWFnYzZYdnQ4UkM2WDQ4TWxDZUVJMmliRElTOFRWRFlHQkhmQU8zT05vd3ZUT2FjcVNFQlFOWTZncHZPawoJCXAzY3hncTgvUThaeHlJU1dzREF3ZlkzMnNTc2NuaGs4U0ZBRkJJV0xCUFFacTFzT3ZqWDVMb3pPcVRCYXhTdTBqRjVpWVZWK0ZuWlQKCQlKTEIvcE4wRERUdjdXbEh2dHVRcEx3cll4YnYvRGZJSnQ0N2dRZktaRFNoRk45NFRacythZlBXNkJHVWtlY2R5dHFHbFgzWVBUcjdtCgkJb21zcE4wWUFBQUFBU1VWT1JLNUNZSUk9IjsKCQkkX2ltYWdlc1siY2FiIl0gPSAkX2ltYWdlc1siYXJjaGl2ZSJdOwoJCSRfaW1hZ2VzWyJjcHAiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSC9TVVJCVkRqTGpaUE5heE5SRk1XcmY0Y0Z3VjEzSlZLWAoJCUx1dGE2MWFwSUNoSVYwcmJsVXFoallwUmNVYU5ib3hJcXhGVFFnVnRpNGhRUVRlMUM3RkZTVW1ubXZtTTg1WEp6Q1NweDNlZnptVFMKCQlSdHFCdzd5WjkrNXY3cmwzYmcrQUhoSzdEakNsbUFaMjBVR20vWEZjQXBBS2dzQnFOcHRiclZZTDNjVDJJUWpDblNRa0NSaWc0RnF0CgkJQnMvell0bTJEZE0wb2FvcWg4aXlERkVVWTBnVXZJOEFkTUQzZllSaHlPOGsxM1ZoV1JZMFRlT0FlcjBPK2tnMm0vMExJY0R4OUxkRAoJCWd4ZmY1akp6S2pKekNtYmU2ZmkwYW5FQUJUaU9BMTNYZDFqaU5UbHhmVDAxVVZCL0NmTUc3ci9XSUx4U2NhT280RnBlQnJQRWZVZFcKCQlETVBnbVZRcWxUYmd0Q2psczRzR2psMTZQeHVSbnk1b0dIM3lBN29ab1BqUjRCRGJxZUhsa3NMclVhMVcyNERKV1JVM1dlcjlRdy9HCgkJaytrVm1BMmxHdURLdE1RenNWd2ZsNmMzZUUzSVVneVllQ0Zqc3FDZ2IzRHFRaEp3cS9nVFk3bHlWNjFKZGh0dzdxRlVTak5BLzhtOAoJCWtBU2tjNXRZWG5ONEJ2VHMxa08yM3VBZElrc3g0T2pJMTlHcnp5czRjN2ZrZkNtNU1PMFFVNDgzY2Y1ZUdjdXJOcThCV2ZEOGtLMTEKCQlIdHdCb0RZZUdWNFpPNVg1N293OGtuQldMR1A0OWpxZXZWRjVJS25SYU94UUJ5RDZrVDZzbUZqNmJIYjBPb0pzVjFjQWUvbjdmM1BRCgkJUlZzeDRCL2tNQ3VRUnh0N0NXWm5YVDY5Q1VBdlFmWXd6cEZvOUh2L0FEMzMyZEtuaTlYbkFBQUFBRWxGVGtTdVFtQ0MiOwoJCSRfaW1hZ2VzWyJjcyJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDAKCQlVMjltZEhkaGNtVUFRV1J2WW1VZ1NXMWhaMlZTWldGa2VYSEpaVHdBQUFKT1NVUkJWRGpMalpQYmF4TkJGTWFyZjRjRndiOUFJZ1hCCgkJUjE4RW55dytpMWdzNGcwMWtwaFNsUGpRZUF0TnpOcUdOTFZwTkNHaEV2QlMyMVJyMFpJSzZvdkZpS2JOYlhOcGRwTnNzdG5jVXo5bgoJCU5pYXVFckVESHdNejgvMW16amx6K2dEMFVaR3hoMGhGTlBBZjdTWGEzZlVwQUtwYXJWWm9OcHZiclZZTHZVVDJZYkZZVEVxSUVqQkEKCQl6Wklrb1Z3dWQxVXNGaUVJQWpLWmpBeEpwOU5nR0tZTDZaaDNVUUE5VUsxV1VhL1g1Wm1xVkNxaFVDaUE0emdaVUtsVVFDK3hXcTF0CgkJQ0FVTTN2Nis3NGh1MmNINGVVejZPY3dGY3ZnWUVtVUFOWWlpaUZGM0FxNVhISUpSQ2VxSExPSmJGY2c1T1c2TXFtNDk1ZkwyTnpuWQoJCWw3T3d2ZVl4c1pTRjZRVUhFcEljOStlUWdPdnVGTDZFTWpDNndyZzRHWlpmSXdPR2Jhelg4VGFQWS9xQXI1TXM3Mm9PQnQ4V2tud1YKCQllbThLV21jQ1kwL1MwRTFIY1hZeWhqTk1CQVlIMndhWUY4aXpsM0k0ZUdMcW1qTGp6OWJ5K1BSTnhDTVMwazBDMGMreU1EamowTXdtCgkJTU9HSjQrVnF0ZzBZbitkd2Y1SEgvc0c3NS80dVd6QWl3YmZDUStkTVlTR1F4ZGhNSE1QbU1GWSs4TWdYNjIzQWlEdTkrWUFBRGczNQoJCUxFcnpIVThTR2tjU0k0K1QwRG9TdUdSbm9aNW1jZElVd2RDOXpkODVPSHBqUXpQK25NT1ZtWmo0TlNaQktOVmg5TGJONnhzbG5HYWkKCQk4Q3htTVArT2w4MWNyaXdudGd1Z1pUeXNEbW92VEVYRVVWY0tWOGx0NTIwczVrakp2UDRNVHBranlBcFZYQ1ptdlRXS1JxTWg2dzlBCgkJNXlPOVh5OWlqVWdaQ2kxbEwvVUVrTVVmLytxREh0cnVBbjVCRHBBdlhLWWJPekdUc3lXNWV4V0FmZ3JaUVR0M1JGdS8veWZIVnNYLwoJCWZpNXRqd0FBQUFCSlJVNUVya0pnZ2c9PSI7CgkJJF9pbWFnZXNbImNzcyJdID0gJF9pbWFnZXNbImNvZGUiXTsKCQkkX2ltYWdlc1siZG9jIl0gPSAkX2ltYWdlc1sidGV4dGRvY3VtZW50Il07CgkJJF9pbWFnZXNbImRvY3giXSA9ICRfaW1hZ2VzWyJ0ZXh0ZG9jdW1lbnQiXTsKCQkkX2ltYWdlc1siZXhlIl0gPSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVFBQUFDMStqZnFBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMAoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUVrU1VSQlZDalBiZEU5UzBJQkdJYmh4eG9iV3hQOEQ4cjUKCQlJNjBSTGcwTk5UUzIxVkJSUXdnMWFBNFZPQVdCcEJWQ0ZoS1V0a1ZKdFBReDlHRkZXaDQ5eDNQMGJ2QWpqc1d6WHJ6dmNBdHBSRUVaCgkJZlF0b0FDRWtwS0JWZHBvdXY3TllpM1NKa0F5bldjWEV4S1RDSjYrNFBMUGVJWkpQaGtzZG16cDF2aWxUd3FWR2xXaEVnUjZ3c2JHcAoJCVUrT0x0OTRyR2ZKMWdJT0xpNE9GU1lWM1NqeDVRWGR0a2lIRngvL2dqaXdsVHNoeVQ1TFYzVDhnd3kzSEZMbmhrQ3VXbUIzcUEwVXUKCQkyV0dPWlZJVW1OL3J1NUNpd0FzTE5MQ0k4Y2craTNoQWdnTWVpTk9nd1FiWFJKbndnaG9YNURraVRvdzBPY0xKOEhBYnRMcGtrendKCgkJQ3VUWTRwUXBwZ2VGRkxKTnR4TXJ6U1JGdGxuaHZEWE82Rms3bGw4aGIrd1p4cENob1B6b0I2YWlYSVljU0xEV0FBQUFBRWxGVGtTdQoJCVFtQ0MiOwoJCSRfaW1hZ2VzWyJneiJdID0gJF9pbWFnZXNbImFyY2hpdmUiXTsKCQkkX2ltYWdlc1siZ2lmIl0gPSAkX2ltYWdlc1siaW1hZ2UiXTsKCQkkX2ltYWdlc1siaCJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDAKCQlVMjltZEhkaGNtVUFRV1J2WW1VZ1NXMWhaMlZTWldGa2VYSEpaVHdBQUFIdFNVUkJWRGpMalpOTFM5eFFGTWUxMzhDOUEvME95bnlCCgkJVWplRlFqZHVST2kyTU10Q0VhbFMwVG9MRWRRTWRFU2hvS0RXUnltS2lnV3hJSTdQaGFCOWFCRlVKakhKcEhsbm52YmZlMjdOSmNWSQoJCURmd0l5VDNuZDg4NWNPb0ExQkhzYVdRME1aTC80U0hqZ2NpTENKcEtwWkpWclZhdmE3VWE0bURua0NScEtDcUpDcEtVN0hrZWZOOFgKCQkyTFlOMHpTaHFpcVhLSXFDVENZakpHRnlQUWtvb0Znc29sd3U4emZodWk0c3k0S21hVndRQkFIb2ttdzIrMWNTQ2xwU1VtcjEyTVA3CgkJTFF1bmlpOGtsT0E0RG5SZHY5VVNuMGtvZVBSaUpEVythVEdCamNPTGdBZXdsbmpmWVN1RlFvRlhJc3Z5YlFGOWpHMmF2SUtGUFF0egoJCU95Wm1jeVpNdHl3a1ZBbk53ekNNZU1HN2pWK1l5Rm1RMWczMEwya1lXaXRBV3RaRkpkUU96WVJFc1lMaHp3WkdHRitPSGV6LzlQRDIKCQlrNGFlZVlVSFZ5b1ZQaGVTRUxHQ3dSVWRBK3pHL1ZNUGV5Y3UzaXlvNko1V3hEeElRRkExUXRDYXVVd1ByT3BJUGgvdlNDK3FTQy9xCgkJUEhuM3U0dXUyU3U4bnNyelpLcUFvT1IvQk8yaitRK0RUUEMwLzJDZFN1NzlxT0xWbEl5WGszbDB6c2pvbUpZeHY2RUxRWWdRUE9rNwoJCWEyanBPbm1jYUc1N3R2dUQzZnpOeGM1WEI5c0VtMFh1eU1iNVZjQ3JpQkk3QS9iejkxMTdFTU8xRU54SW10bUFmRHE0VHpLTGRmbjIKCQlSZ1FKa3R4am5VTm85Uk4vQUZtVHdsUDdUWTF1QUFBQUFFbEZUa1N1UW1DQyI7CgkJJF9pbWFnZXNbImh0bSJdID0gJF9pbWFnZXNbIndlYnBhZ2UiXTsKCQkkX2ltYWdlc1siaHRtbCJdID0gJF9pbWFnZXNbIndlYnBhZ2UiXTsKCQkkX2ltYWdlc1siaXNvIl0gPSAiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMAoJCVUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUlzU1VSQlZEakxqWk5mYTlOUUdJZG5QNGNEdjhOa244UEwKCQk2VWZ3U2dRWk9vU0JZa1V2WkxOMWxNRkFyUXlIcnNJdVdrRTN1ZzJ0MUszTzBMWHJab3RkbHpacDBxWnAvcWM5UDg4NTJxeXlpZ3M4CgkJRjhuSjd6bnZlWk4zRE1BWWcxNFhLUk9VeWY5d2lSSUtja09DQ2NkeE5OLzMrNzFlRDZPZzY0aEVJblBEa21IQkpBc2JoZ0hUTkFNNgoJCW5RN2E3VFlrU2VLU2VyMk9hRFFhU0FiaEM3ZWZKR1kyOGdaV1ByVVFUeXQ0bDJsQ0tMZlI3WGFoYVJwa1dlWUN5N0xBTm9uRllyOGwKCQlxenQyNlBVWEl4emY3cENmaW9lUzVFSTJmVlFrRytHVkgwaGxSVnFGam1hemVlWkl2Q2MwUEJYZjFvaHU5NkdaQkVuQlFNTW1jQWpnCgkJZUgzY1dSS1F5VGY0VVJSRjRaV0lvbmdxb09GVVJYWnBVRU90MVlObStCekRJNkFlRktvNklxc0YzZzlkMTNrL1ZGVTlGU3l0SzlWOAoJCXpVSmlSMFdiQmgrLzJjVmljaCt0cm9kdk5RZUZFd3ZUc2EvOEM3RHpzNTR3VVNCWWVOK29mcSthZ2VEWm1vQlg2NGRRZFJjYkJ5YUUKCQlxb0diVHpQd1BBK3U2M0lKSXhETXJSMm5Ea1VUUjZvUHhTSjhaeFl1Tmx4c0h0bllMYWw0OERJSCtvbTVnTUdxQ1FTUDNsYW03aStYCgkJU01mcDQwQUZzaldDcmJLSGRNbEdwZW5nMnV4SHBITTFYZ0dEaGY4UzNGc3VoZTQrM3c5UEwrNlJ2YktHZ3VoQU9EYVJMU3E0T3ZzQgoJCUw1SkZ2dXRBTUNBUURINmtLOWZuWnlLSkFtNHRaSEZqL2pNZXhuUFl6SjN3MGtkeFJzQnU2RVB5cnprWVFUOFEvSkZjcHFXYWJPRTgKCQlZZnB1bDAvdmtHQ2NTYzR4emdQWTZJLy9BbUM4N2VLcTRycnpBQUFBQUVsRlRrU3VRbUNDIjsKCQkkX2ltYWdlc1siamF2YSJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDAKCQlVMjltZEhkaGNtVUFRV1J2WW1VZ1NXMWhaMlZTWldGa2VYSEpaVHdBQUFJUlNVUkJWRGpMalpQSmExTlJGSWVyYS84RUN5N2RWN3R4CgkJa2IyVU9vRGd6bzBSM1l1THJGd1dJVmdsV1FSdE4wR0NMa0lpeEpESlFKS0dRT1lCQTRha21lYzVlU0ZUL1huUHNYbE5zV0lmZk9UZAoJCWQzTytlKzZQZXpjQWJCRGl1UzdZRW16L2h4dUNxM0xkbW1Cck9wMzJGNHZGeVhLNXhFV0llV2cwbW5mcmtuWEJOaFdQeDJOSWtpUXoKCQlHQXpRNi9YUWFEUllVcXZWb05WcVpRa1hHd3lHbTJxMStrMDBHa1VrRWtFNEhFWXdHR1FDZ1FEUzZUU0t4U0lMSnBNSmFCR2RUdmRICgkJWWpLWkh2cDh2dU5zTm90NnZjN1FhdlJMcTFVcUZjVGpjYmhjTHJtTEZaeUoyKzB1OVB0OWhDMWY4T0hwRHQ0L3VvTzM5Mjh6bXNjSwoJCUhENS9nS1BQQjhqbjh5eHBOcHVvVnF0bkFxUFJpT0Z3aVBHZ0IvZmhQcjd1dmNKSDVTNE9udDNEcDVkUDhHMy9OWDRjZmVkQ2k4WEMKCQllWFE2blRPQnpXYVQ1dk01SjB5VEZGeTMyNVdodG1rYmhOMXV4MmcwNGdWbGdjZmorVW1EVXFrRWg4T0Jjcm5NN3hSYUxwZERJcEhnCgkJY1NxVllpaEVZcjBETDYxTzZmdjlmaFFLQmQ0dmhVcnBrNkRkYnNOc05yTjhOcHR4dDdKQXBWSzlFTVc5VENiREVncUkycVVPU0VMdgoJCUpQRjZ2Ync5S2o0bkVNODFwVko1VjYvWEg4ZGlNUTZJYUxWYUxBbUZRbkE2bmZ5TnNsb2hDMDVQNFJXRlFyRkxIVml0Vm9ZU0YyY0UKCQl5V1NTZ3hPbjlCeC9DV2dnUHY3NjF6MjRnQk5aY0NxNUpRS1NhT0l5eGVLL0k3NjlhNEpOa2x6aU9xK2dxNy81R3gxNzJrWmdhK1hXCgkJQUFBQUFFbEZUa1N1UW1DQyI7CgkJJF9pbWFnZXNbImpwZyJdID0gJF9pbWFnZXNbImltYWdlIl07CgkJJF9pbWFnZXNbImpwZWciXSA9ICRfaW1hZ2VzWyJpbWFnZSJdOwoJCSRfaW1hZ2VzWyJqcyJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDAKCQlVMjltZEhkaGNtVUFRV1J2WW1VZ1NXMWhaMlZTWldGa2VYSEpaVHdBQUFIZFNVUkJWRGpMalpOUGF4TkJHSWRyTHdVUkx6bldna2N2CgkJSXJRaFJ3OUZHZ3kwMUlZMFRWc1EwcTZHRmtUMGt3akpJZDlBUDRBSFA0UTlGTzJoSjdFbDIreWY3T3pNYmphN1NmMDU3OFFkTnliRgoJCUxqd3N6THUvWjJmZW1aa0RNRWZJNTRGa1JWTDREdzhsOHpxWEVhd01CZ00ySEE2dlI2TVJaaUhyYURhYkg3S1NyS0JBNFNBSUVJYWgKCQl4dmQ5ZUo2SGJyZXJKS1pwb3RWcWFVa2F2a01DK2lDS0lzUnhyTjZFRUFLTU1WaVdwUVQ5ZmgvMGszYTdQWlprQlVQbXFYQUtDU2pBCgkJT1lkdDIxTkxVajFKQllXN0M2dmk2QkM4dktXS1FYVVhRY05BNU5oNktZN2pxSmwwT3AxSndZL0hpN21McC9sVC91b0EvT1gyV0xDMwoJCUM5Rm9RQndmSUxLdWxJUm1RdjF3WGZldndIbXl1TVBYUzVGdjFNSHJGU1RtaFNvbW5VdncvU3BvM0MrdmczLytwSlpEUFNHUkZ2aWwKCQlOVis4UFVadm96aUt2bitkM0xadkovQmVsTURldklaWEsyRVFDaVVodE1ETTUzYlk1ck9JR1h0d2pVM0VWei9ITTVBejhlcGxxUEZLCgkJRWZ6TFI5MWNPZzhUUFRncjNNdWRGeCtkOW93SzdLTU5WZlFPdHlRMU9POXFpSHNXa2lSUlVIaEtRTHV3Zkg5KzFYcGZoVlZmVTBWMwoJCS8vazR6RndkempJbFNBL1N2OGpUT1pPYkJMOXV1Z2N6dU5hQ1A1SzhiRkJJaGR1RTViZEMzZDZNWUlra3Q3ak9LWFQxbDM0RGtJdTkKCQllMGFnWmpvQUFBQUFTVVZPUks1Q1lJST0iOwoJCSRfaW1hZ2VzWyJtb3YiXSA9ICRfaW1hZ2VzWyJ2aWRlbyJdOwoJCSRfaW1hZ2VzWyJtcDMiXSA9ICRfaW1hZ2VzWyJhdWRpbyJdOwoJCSRfaW1hZ2VzWyJtcDQiXSA9ICRfaW1hZ2VzWyJhdWRpbyJdOwoJCSRfaW1hZ2VzWyJtcGVnIl0gPSAkX2ltYWdlc1sidmlkZW8iXTsKCQkkX2ltYWdlc1sibXBnIl0gPSAkX2ltYWdlc1sidmlkZW8iXTsKCQkkX2ltYWdlc1sib2RnIl0gPSAkX2ltYWdlc1sidmVjdG9yZ3JhcGhpY3MiXTsKCQkkX2ltYWdlc1sib2RwIl0gPSAkX2ltYWdlc1sicHJlc2VudGF0aW9uIl07CgkJJF9pbWFnZXNbIm9kcyJdID0gJF9pbWFnZXNbInNwcmVhZHNoZWV0Il07CgkJJF9pbWFnZXNbIm9kdCJdID0gJF9pbWFnZXNbInRleHRkb2N1bWVudCJdOwoJCSRfaW1hZ2VzWyJwZGYiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSGhTVVJCVkRqTGpaUExTeHRSRklmVlpSZFdpMG9GQmYrQgoJCXJoUng1ZEtWWUtHNHRMaFJxbGdYUG1JVkpRaUM2MEpDQ1pZcUZIUWg3cnJRbFVLN2FWVVVmQ0JSRzVSa0pwTmtrc3dyTTVORWY3M24KCQk2Z3hwSHVqQUIvZk92ZWZqbkhNNVZRQ3FDUGExTU5vWm5VL1F4cWh4NHdvRTdaWmxwWE81M0YwK24wYzUyRGw4UHQvblFrbWhvSk9DCgkJZFVXQnN2UUoydTRPRE1PQXd2YXBWQXFTSkhHSktJcncrLzJ1eEFtdUpnRmRNRFVWaW5jU3h2RUJUTk9FcG1sSXA5T0l4V0pja01sawoJCW9PczZBb0hBZzZSWVlOczJrcDRScU92ZnVJQUNWRlZGUEI0dktZbjNwRmpBeWtEU093VnRhNTJ2cVc2bmxFUWl3VE1SQktHeWdJaDkKCQlHRURDTXdaSDZFZ29FK3FITE11VkJkYmZLd2p2M3lFNk9nanovUFEvQ1pWRFBTRlJSWUU0L1JIeTF5OHdyeThSR1dHU3F5Qy9uTTFtCgkJZVg5SVFwUVYySktJVUg4dnJFZ1ltZUFGd3VQRENIYTlRZWh0RDI2SEJoQ1puWUM4dWNHektTc0lMOHdnc2ppSDFQWVB4TCt2UXZtNQoJCUIvM3NCTUx5SW03R2hoQ2U5MEJhV3lrVi9HcCtWUjlvcVBWZTl2ZkJUc3J1TTFIdEJLVlBtRklVTnVzQnJWM0I0ZXY2YnNieVhsUGQKCQlrYnIvdStTdEhVa3hydUJQWSswS1k4ZjM4b1dYL2J5dk5BZGx1SE5MZU94REIrdXlRUWZQQ1daM05UNjlCWUpXa2p4am5CMW85RnYvCgkJQVNRNXMrQUJ6OGkyQUFBQUFFbEZUa1N1UW1DQyI7CgkJJF9pbWFnZXNbInBocCJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDAKCQlVMjltZEhkaGNtVUFRV1J2WW1VZ1NXMWhaMlZTWldGa2VYSEpaVHdBQUFHc1NVUkJWRGpMalpOTFN3SlJGSUN0RnYyQWdnZ1MydlFMCgkJREZ2VnBuMFBpNGlJdG0xS0l0dldKcVcxcFlzUmVteXlOSUxBUmJacG0wV3RySjBrYm1iVWxIbXI0K3QwejYwWjdvU1NBeDkzNXR4egoJCXZybFBCd0E0RVBLTUVWd0U5eitNRS9xdE9rYmdxdFZxVXFQUmFEV2JUZWdFNllkUUtCUmtKYXpBamNXYXBvR3U2eGF5TElNb2lsQW8KCQlGS2hFRUFRSWg4T1d4Q3p1UXdFbVZLdFZNQXlEdG9pcXFpQkpFaFNMUlNxb1ZDcUFQK0U0N2tlQ0F2ZlU1c0RROE1Scy9PWU50cjF4CgkJMlBYZHd1SlNoTExsamNGbE5BVzVIQTlraExZcDBUVWhTWU1MSG03UExFRFM3enl3M3liUnF5ZmcrVHlCdHdsMnNEUDFuS1dGaVVTYQoJCXpGZXgzdGs0NXNYakwxQXVsMjBDR1RzK3N5VlkzN2lnQmJ3ZzAzZU1zZkg5Z3dTc3JaK0RvaWcyUVpzZE5pWm1Na1ZyS213YzE4YXoKCQlIS0VMeVFyT01FSFRESnA4SFh1MWhvc3RHOGRZOFBpUm5nZFdNRXE0Njdad2JEeHdsSVI4WHJRTGNCdm41azlHcG1kOGZuL2dIbFpXCgkJVDIwQy9ENGs4ZVREQjN5VkZLalg2eFNiZ0QxSWY4Rzk3MFEzUWJ2YlBlaEF5eEw4U2liSkVkYXhvNWRpa3F2UzI4c0luQ2pwNFRxYgoJCTROVjNmZ1Bpclo0cEQ0S1M0d0FBQUFCSlJVNUVya0pnZ2c9PSI7CgkJJF9pbWFnZXNbInBuZyJdID0gJF9pbWFnZXNbImltYWdlIl07CgkJJF9pbWFnZXNbInBwcyJdID0gJF9pbWFnZXNbInByZXNlbnRhdGlvbiJdOwoJCSRfaW1hZ2VzWyJwcHN4Il0gPSAkX2ltYWdlc1sicHJlc2VudGF0aW9uIl07CgkJJF9pbWFnZXNbInBwdCJdID0gJF9pbWFnZXNbInByZXNlbnRhdGlvbiJdOwoJCSRfaW1hZ2VzWyJwcHR4Il0gPSAkX2ltYWdlc1sicHJlc2VudGF0aW9uIl07CgkJJF9pbWFnZXNbInBzZCJdID0gJF9pbWFnZXNbImdyYXBoaWNzIl07CgkJJF9pbWFnZXNbInJhciJdID0gJF9pbWFnZXNbImFyY2hpdmUiXTsKCQkkX2ltYWdlc1sicmIiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBSUVTVVJCVkRqTGpaTlBUeE5CR0lleGlkOUNFcjhEQnI4QwoJCUhFaU1Wb29tSmlRa3hCSU0zZGdJaWFJRVNKVEdHcFZ0eVhJekhob000U0llOUtBbkVpNGNsUXRKRWN6V0ZyYmRQOTNkN3M3dS9Kd1oKCQk3WFlKQmRua3lSeG1mcy9Ndk85T0Q0QWVEdnV1TVBvWS9mL2hLaU1SNVdLQ3ZsYXJwUk5Dd2lBSTBBMDJEMW1XMzhRbGNVRS9EemViCgkJVGRpMkhXRVlCaHFOQnFyVnFwQlVLaFVVQ29WSTBnNWY0Z0srd0hWZGVKNG5SbzVsV2RCMUhiVmFUUWdjeHdIZlJGR1V2eEl1Q0tZZgoJCXptcVp5WjJ3S0lPOGZRMy8xVXY0U3kvUVdsaUFPL3NVOXFNWm1GTVMzSGZ2VDF4SjFJVE9aSjlScFFpNitSSDB5MmZRYjE5QlAyM0MKCQlWaFJvK1R5c1hBNzErWGtjTUlrNmZBZkhLNnRRVmZXRW9FU1huZ05yYTBDNURIWkpZR01EWmlhRDM1SUVpNDFxT28zdmMzTW9KMU9vCgkJajkySHBta2RRWmlWRXNIVUF6bDg4aGpZM2dZSUFkYlhZUTBNb0RvNENIMWtCSHNzdkg4akNmM2VHS3pEWHpCTnN5Tm9GL0hIN1dTSgoJCVpMUEE3aTZ3dFFWbmFBaG1Lb1hqeFVYOHZEa01ZM1Fjbm02SUluSk9DUzRuRXRlOVFoRitSaEluSVJNVGNGaFl2WldDY1hjVVBtc2wKCQk3dzZIL3crbkJGRWI1U0xjOFRUbzhqTHE3TTRtMjVtSGZkOFg4UEM1QXRIclhCNU5kbXdScm5mQ2NjNFZDRW5wQThqUkVhc3A2Y3BaCgkJQW5yV08raENHQW4rU2E2eEF0bDg0aUpodHRZU3J6Y202T1dTQ3p6bk52enA5LzRCZ3dLdkczWnExZW9BQUFBQVNVVk9SSzVDWUlJPSI7CgkJJF9pbWFnZXNbInNsbiJdID0gImlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFRQ0FZQUFBQWY4LzloQUFBQUJHZEJUVUVBQUsvSU53V0s2UUFBQUJsMFJWaDAKCQlVMjltZEhkaGNtVUFRV1J2WW1VZ1NXMWhaMlZTWldGa2VYSEpaVHdBQUFKUVNVUkJWRGpMalpOdlNCTnhHTWVYOU8rRk9Ba2FMYmVoCgkJb3pkR1JHaU1RcVRJbEVxSk1JaWczb3hsMFl4Y2dZdDZGVVpScnlMWXdwRldDcjJ3WGdqQklNSk1ZaEZqZ1pTaUVYT2c1YzVONTkzdQoJCWRuZTd1KzIrM1YzdFQyMlNCeC91eGUvNWZ1N3V1ZWZSQWRDcEtKZEpvVkhCOWg5cUZTcnl1U0pCWXpxZHBpUkp5bVl5R1pSRE9ZZkgKCQk0M2xVTENrVzJOUndLcFVDeTdKNWtza2tTSkpFTEJiVEpBUkJ3T3YxNWlXNThBWlZvQmJ3UEE5QkVMUzdDc013b0NnSzhYaGNFM0FjCgkJQi9VaFBwL3Z0eVFuR0JpMDNwWVhqeUFiUFF1UkQyc1NibVVGVk45TkxKNXV4OURyeVpKUDBucWlDaHpqbDQ4T2g5b1lSUFRBWEJWawoJCXNnblMwaFJXdTd1eFhHL0VmTDBaWjl5akdIZ2IxdDRrR28wV0JPNkF2Y1VWc0ZQOW9UWlpqbFFDUDdaQS9yNEpwSE0zbHVwMkltNnAKCQlSc1JhaTJQWC9Ham9EV0VrOEJXSlJLSWc2UDE0N21mUCtDVzYzZDE2UlV5T1FQNVNBNnJMQXNLeUEwVE5OaXp2TTREOS9BNFRrMkVjCgkJN251UEUwK3ZncWJwZ3FCbnpMbDZ2djhOMyt4NGVFc1MwbUF2SEFKaE1vQXc2a0hVVlVGNHJrZVdIQUtYWnRBMTVrREw2QzZ0a1htQgoJCWZmaVpzL1ArTkU3ZEM0cEJod3NKWTZVU1ZqQnRCTy9iQ3N3cmJmcTJHUytDZTlEd3lvb0hvUnZhUFB6VnhJNjdJVmZIblFBKzJKcVEKCQlNRlFndXIwYW5QOEo1SVZtWUVvcG1kYmg1WVFPMXdNdTBCeGRLbEIvNDRHTGc0OC9IVDhKOHVCZXNINi9WaUR4QzVEbldpSFBXakF6CgkJMHdsZVlDR0tva2FKSURkSS82Sk1aMW5XRXNocjdVRVpzbm5CSDhsK1pmcFk5V0E5WWFXVzBiYTNTR0JXSmV0WTV4enE2cHQvQVk2LwoJCW1LbXpzaEY1QUFBQUFFbEZUa1N1UW1DQyI7CgkJJF9pbWFnZXNbInNxbCJdID0gJF9pbWFnZXNbImRhdGFiYXNlIl07CgkJJF9pbWFnZXNbInRhciJdID0gJF9pbWFnZXNbImFyY2hpdmUiXTsKCQkkX2ltYWdlc1sidGd6Il0gPSAkX2ltYWdlc1siYXJjaGl2ZSJdOwoJCSRfaW1hZ2VzWyJ0eHQiXSA9ICJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBUUFBQUMxK2pmcUFBQUFCR2RCVFVFQUFLL0lOd1dLNlFBQUFCbDBSVmgwCgkJVTI5bWRIZGhjbVVBUVdSdlltVWdTVzFoWjJWU1pXRmtlWEhKWlR3QUFBRG9TVVJCVkJnWkJjRXhibE5CR0FiQTJjZWVnVFJCdUlLTwoJCWdpaWhTWk5UY0M1TFVIQWloTkpSMGtHS0NEY1lKWTZEMy83N01kT2luVHZ6QWdDdzh5c1RoSXZuL1Zvakl5TWpJeVBQK2JTMXNVUUkKCQlWMnM5NXBCRER2bWJQL21ka2Z0ODN0cFlndVpxNUpoL09lYVloK3l6eThoVEh2TmxheE5OY3ptK2xhOU9UbGFyMVVkQS8rQzJBNHRyCgkJUkNuRDNqUzhCQjFvYnEyR2s2R1U2UWJRQVM0QlVhWVNRQWY0YmhoS0tURmRBenJBT3dBeEVVQUgrS0VNMDFTWTNnTTZ3QnNFQVFCMAoJCWdKK21hWm9DM2dJNmlQWWFBSUJKc2lSbUhVMEFBTE9lRkMzYUsyY1dBQUNVWGU3K0F3TzBsYzllVEhZVEFBQUFBRWxGVGtTdVFtQ0MiOwoJCSRfaW1hZ2VzWyJ3YXYiXSA9ICRfaW1hZ2VzWyJhdWRpbyJdOwoJCSRfaW1hZ2VzWyJ3bWEiXSA9ICRfaW1hZ2VzWyJhdWRpbyJdOwoJCSRfaW1hZ2VzWyJ3bXYiXSA9ICRfaW1hZ2VzWyJ2aWRlbyJdOwoJCSRfaW1hZ2VzWyJ4Y2YiXSA9ICRfaW1hZ2VzWyJncmFwaGljcyJdOwoJCSRfaW1hZ2VzWyJ4bHMiXSA9ICRfaW1hZ2VzWyJzcHJlYWRzaGVldCJdOwoJCSRfaW1hZ2VzWyJ4bHN4Il0gPSAkX2ltYWdlc1sic3ByZWFkc2hlZXQiXTsKCQkkX2ltYWdlc1sieG1sIl0gPSAkX2ltYWdlc1siY29kZSJdOwoJCSRfaW1hZ2VzWyJ6aXAiXSA9ICRfaW1hZ2VzWyJhcmNoaXZlIl07CgkJCgkJCgkJJG10aW1lID0gZ21kYXRlKCdyJywgZmlsZW10aW1lKCRfU0VSVkVSWydTQ1JJUFRfRklMRU5BTUUnXSkpOwoJCSRldGFnID0gbWQ1KCRtdGltZS4kX1NFUlZFUlsnU0NSSVBUX0ZJTEVOQU1FJ10pOwoKCQloZWFkZXIoJ0VUYWc6ICInLiRldGFnLiciJyk7CgkJaGVhZGVyKCdMYXN0LU1vZGlmaWVkOiAnLiRtdGltZSk7CgkJaGVhZGVyKCdDb250ZW50LXR5cGU6IGltYWdlL2dpZicpOwoJCWlmKGlzc2V0KCRfaW1hZ2VzWyRleHRdKSkKCQlwcmludCBiYXNlNjRfZGVjb2RlKCRfaW1hZ2VzWyRleHRdKTsKCQllbHNlCgkJcHJpbnQgYmFzZTY0X2RlY29kZSgkX2ltYWdlc1sidW5rbm93biJdKTsKCX0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/class tbTools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6CQlUb29sQm94ClRpdGxlOgkJRXh0ZW5kZWQgdG9vbHMgY2xhc3MKVmVyc2lvbjoJMS4yCkRlc2NyaXB0LjoJU21hcnR5LUV4dGVuc2lvbiBmb3Igc29tZSB1c2VmdWwgZnVuY3Rpb25zCkxhc3QgTW9kLjoJMDkuMTEuMjAxMgpBdXRob3I6CQlMdWthcyBCbGF0dGVyCkVtYWlsOgkJbHVrYXMuYmxhdHRlckBibGF0dGVydGVjaC5jaApOb3RlczoKTGljZW5jZToJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKCQkJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKCQkJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKCQkJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KCQkJSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCgkJCWFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQoJCQlpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCgkJCU1hZGUgU2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgoJCQlzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgU2ltcGxlLgoJCQlGaW5kIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgQ01TIE1hZGUgU2ltcGxlIG9uIGl0cyB3ZWJzaXRlOgoJCQlodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnLwoJCQlUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKCQkJYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKCQkJTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQoJCQlHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgoJCQlZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQoJCQlhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQoJCQlGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQoJCQlPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCmNsYXNzIHRiVG9vbHMKewoJcHJpdmF0ZSBzdGF0aWMgJF9pbnN0YW5jZTsKCXByaXZhdGUgc3RhdGljICRfY21zbXM7Cglwcml2YXRlIHN0YXRpYyAkX3NtYXJ0eTsKCXByaXZhdGUgc3RhdGljICRfY29udGVudG9wczsKCXByaXZhdGUgc3RhdGljICRfaGllcmFyY2h5bWFuYWdlcjsKCXByaXZhdGUgc3RhdGljICRfbG9nOwoJCglwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCglwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBnZXRDbXNtcygpCgl7CgkJaWYoIWlzX29iamVjdChzZWxmOjokX2Ntc21zKSkgc2VsZjo6JF9jbXNtcyA9ICYgY21zbXMoKTsKCQlyZXR1cm4gc2VsZjo6JF9jbXNtczsKCX0KCQoJcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gZ2V0U21hcnR5KCkKCXsKCQlpZighaXNfb2JqZWN0KHNlbGY6OiRfc21hcnR5KSkJc2VsZjo6JF9zbWFydHkgPSAmIHNlbGY6OmdldENtc21zKCktPkdldFNtYXJ0eSgpOwoJCXJldHVybiBzZWxmOjokX3NtYXJ0eTsKCX0KCglwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBnZXRDb250ZW50T3BzKCkKCXsKCQlpZighaXNfb2JqZWN0KHNlbGY6OiRfY29udGVudG9wcykpCXNlbGY6OiRfY29udGVudG9wcyA9IHNlbGY6OmdldENtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgkJcmV0dXJuIHNlbGY6OiRfY29udGVudG9wczsKCX0KCglwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBnZXRIaWVyYXJjaHlNYW5hZ2VyKCkKCXsKCQlpZighaXNfb2JqZWN0KHNlbGY6OiRfaGllcmFyY2h5bWFuYWdlcikpCXNlbGY6OiRfaGllcmFyY2h5bWFuYWdlciA9IHNlbGY6OmdldENtc21zKCktPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKCQlyZXR1cm4gc2VsZjo6JF9oaWVyYXJjaHltYW5hZ2VyOwoJfQoJCglwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBsb2coJGxvZykKCXsKCQlpZiAoIWlzX29iamVrdChzZWxmOjokX2xvZykpIHsKCQkJc2VsZjo6JF9sb2cgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1Rvb2xCb3gnKTsKCQkJc2VsZjo6JF9sb2ctPnNldExvZ0ZpbGUoJ3RiVG9vbHNMb2cnKTsKCQl9CgkJc2VsZjo6JF9sb2ctPmx3cml0ZSgkbG9nKTsKCX0KCQoJCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9pbnN0YW5jZSgpCgl7CgkJcmV0dXJuIG5ldyBzZWxmOwoJCQoJCWlmKCFzZWxmOjokX2luc3RhbmNlKQoJCQlzZWxmOjokX2luc3RhbmNlID0gbmV3IHNlbGY7CgkJcmV0dXJuIHNlbGY6OiRfaW5zdGFuY2U7Cgl9IAoJCglwdWJsaWMgZnVuY3Rpb24gX19jYWxsKCRtZXRob2QsICRhcmdzKQoJewoJCWlmICghbWV0aG9kX2V4aXN0cyhfX0NMQVNTX18sJG1ldGhvZCkpIHsKICAgICAgICAgICAgJG1lc3NhZ2UgPSAnbWV0aG9kIFwnJyAuIF9fQ0xBU1NfXyAuICc6OicgLiAkbWV0aG9kIC4gJ1wnIGlzIHVua25vd24uJzsKICAgICAgICAgICAgZWNobyAkbWVzc2FnZTsKICAgICAgICAgICAgdHJpZ2dlcl9lcnJvcigkbWVzc2FnZSxFX1VTRVJfV0FSTklORyApOwogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9IAoJCQoJCXJldHVybiBjYWxsX3VzZXJfZnVuY19hcnJheShfX0NMQVNTX18gLiAnOjonIC4gJG1ldGhvZCwgJGFyZ3MpOwoJCQoJfQoKLy8JcHVibGljIHN0YXRpYyBmdW5jdGlvbiBfX2NhbGxTdGF0aWMoJG1ldGhvZCwgJGFyZ3MpCi8vCXsKLy8JCWlmICghbWV0aG9kX2V4aXN0cyhfX0NMQVNTX18sJG1ldGhvZCkpIHsKLy8gICAgICAgICAgICAkbWVzc2FnZSA9ICdtZXRob2QgXCcnIC4gX19DTEFTU19fIC4gJzo6JyAuICRtZXRob2QgLiAnXCcgaXMgdW5rbm93bi4nOwovLyAgICAgICAgICAgIGVjaG8gJG1lc3NhZ2U7Ci8vICAgICAgICAgICAgdHJpZ2dlcl9lcnJvcigkbWVzc2FnZSxFX1VTRVJfV0FSTklORyApOwovLyAgICAgICAgICAgIHJldHVybiBudWxsOwovLyAgICAgICAgfQovLwkJcmV0dXJuIGNhbGxfdXNlcl9mdW5jX2FycmF5KF9fQ0xBU1NfXyAuICc6OicgLiAkbWV0aG9kLCAkYXJncyk7Ci8vCX0KCQoJCgkvKioKCSAqCgkgKiBQcsO8ZnQsIG9iIGRlciBhbmdlZ2ViZW5lIEFsaWFzIGVpbmUgUGFnZUlEIGlzdCB1bmQgZ2lidCBkZW4gQWxpYXMgenVyw7xjawoJICogaXN0IGtlaW4gQWxpYXMgYW5nZWdlYmVuLCBzbyB3aXJkIGRlciBwYWdlX2FsaWFzIHZlcndlbmRldAoJICogQHBhcmFtICRhbGlhcwoJICogQHJldHVybiBzdHJpbmcgJGFsaWFzCgkgKiDCp0BhdXRob3I6IEx1a2FzIEJsYXR0ZXIsIDIwLjEyLjIwMTEKCSAqLwoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRBbGlhcygkYWxpYXMgPSAnJykKCXsKCQkkYWxpYXMgPSB0aW0oJGFsaWFzKTsKCQlpZiAoISRhbGlhcykgewoJCQkkYWxpYXMgPSBzZWxmOjpnZXRTbWFydHkoKS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ3BhZ2VfYWxpYXMnKTsKCQkJaWYgKCRhbGlhcykgcmV0dXJuICRhbGlhczsKCQkJZWxzZSByZXR1cm4gZmFsc2U7CgkJfQkKCQkKCQkkZ0NtcyA9IGNtc21zKCk7CgkJCgkJJG1hbmFnZXIgPSBzZWxmOjpnZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CgkJJG5vZGUgPSAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRhbGlhcyk7CiAgICAJaWYgKCFpc3NldCgkbm9kZSkpIHsKCQkJJG5vZGUgPSAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRhbGlhcyk7CgkJCWlmIChpc3NldCgkbm9kZSkpCgkJCQkkYWxpYXMgPSAkbm9kZS0+Z2V0X3RhZygkYWxpYXMpOwoJCQllbHNlCgkJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlyZXR1cm4gJGFsaWFzOwoJfQoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5zZWxmX3VybCBieSBSb2JlcnQgQ2FtcGJlbGwKCSAqIEdpYnQgZGllIGFrdHVlbGxlIFNlaXRlbi1VUkwgenVyw7xjawoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKiBAcmV0dXJuIHN0cmluZyAvIHNtYXJ0eSBhc3NpZ24KCSAqLwoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBzZWxmVXJsKCRhc3NpZ249JycpCgl7CgkJJHMgPSBlbXB0eSgkX1NFUlZFUlsiSFRUUFMiXSkgPyAnJyA6ICgkX1NFUlZFUlsiSFRUUFMiXSA9PSAib24iKSA/ICJzIiA6ICIiOwoJCSRwID0gc3RycG9zKCRfU0VSVkVSWydTRVJWRVJfUFJPVE9DT0wnXSwnLycpOwoJCSRwcm90b2NvbCA9IHN0cnRvbG93ZXIoc3Vic3RyKCRfU0VSVkVSWydTRVJWRVJfUFJPVE9DT0wnXSwwLCRwKSkuJHM7CgkJJHBvcnQgPSAoJF9TRVJWRVJbIlNFUlZFUl9QT1JUIl0gPT0gIjgwIikgPyAiIiA6ICgiOiIuJF9TRVJWRVJbIlNFUlZFUl9QT1JUIl0pOwoJCSRzID0gJHByb3RvY29sLiI6Ly8iLiRfU0VSVkVSWydTRVJWRVJfTkFNRSddLiRwb3J0OwoKCQkkdXJsID0gJHMuJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ107CgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRnQ21zID0gY21zbXMoKTsKCQkJJHNtYXJ0eSA9ICRnQ21zLT5HZXRTbWFydHkoKTsKCQkJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJHVybCk7CgkJCXJldHVybjsKCQl9CgkJcmV0dXJuICR1cmw7Cgl9CgkKCS8qKgoJICoKCSAqIEdpYnQgenVyw7xjayBvYiBlaW5lIGJlc3RpbW10ZSBTZWl0ZSBkaWUgRGVmYXVsdHNlaXRlIGlzdAoJICogQGNvcHlyaWdodCBMdWthcyBCbGF0dGVyCgkgKiBAcGFyYW0gc3RyaW5nICRhbGlhcyAtIGFsaWFzIG9yIGlkIG9mIGEgcGFnZQoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduIC0gbmFtZSBvZiBhc3NpZ24gdmFyaWFibGUKCSAqLwoKCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gaXNEZWZhdWx0UGFnZSgkYWxpYXMgPSAnJywgJGFzc2lnbiA9ICcnKQoJewoJCSRkZWZhdWx0ID0gIm5laW4iOwoJCSRnQ21zID0gc2VsZjo6Z2V0Q21zbXMoKTsKCQkkc21hcnR5ID0gc2VsZjo6Z2V0U21hcnR5KCk7CgkJJGFsaWFzID0gc2VsZjo6Z2V0QWxpYXMoJGFsaWFzKTsKCQkKCQlpZighJGFsaWFzKSAibmljaHRzIjsKCgkJJGNvbnRlbnRvcHMgPSBzZWxmOjpnZXRDb250ZW50T3BzKCk7CgoJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CgkJaWYoIGlzX29iamVjdCgkY29udGVudCkgKSB7CgkJCSRkZWZhdWx0ID0gJGNvbnRlbnQtPkRlZmF1bHRDb250ZW50KCk7CgkJCSRkZWZhdWwgPSAiamEiOwoJCX0KCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLCRkZWZhdWx0KTsKCQkJcmV0dXJuOwoJCX0KCQlyZXR1cm4gJGRlZmF1bHQ7Cgl9CgoJLyoqCgkgKiBiYXNlZCBvbiAkY2dzaW1wbGUtPmdldF9wYXJlbnRfYWxpYXMgYnkgUm9iZXJ0IENhbXBiZWxsCgkgKiBHaWJ0IGRlbiBBbGlhcyBkZXIgUGFyZW50IFBhZ2Ugb2RlciBkZW4gQWxpYXMgZGVyIFBhcmVudCBQYWdlIGVpbmVyIGRlZmluaWVydGVuIFNlaXRlIHp1cu+/vWNrCgkgKiBAcGFyYW0gc3RyaW5nICRhbGlhcwoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKi8KCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldFBhcmVudEFsaWFzKCRhbGlhcyA9ICcnLCRhc3NpZ24gPSAnJykKCXsKCQkkZ0NtcyA9IHNlbGY6OmdldENtc21zKCk7CgkJJGNvbnRlbnRvcHMgPSBzZWxmOjpnZXRDb250ZW50T3BzKCk7CgkJJHNtYXJ0eSA9IHNlbGY6OmdldFNtYXJ0eSgpOwoJCSRhbGlhcyA9IHNlbGY6OmdldEFsaWFzKCRhbGlhcyk7CgoJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CgkJaWYoICFpc19vYmplY3QoJGNvbnRlbnQpICkgcmV0dXJuICcnOwoKCQkkcGFyZW50aWQgPSAkY29udGVudC0+UGFyZW50SWQoKTsKCQlpZiggJHBhcmVudGlkIDw9IDAgKSByZXR1cm4gJyc7CgkJJGFsaWFzID0gJGNvbnRlbnRvcHMtPkdldFBhZ2VBbGlhc0Zyb21JZCgkcGFyZW50aWQpOwoKCQlpZighZW1wdHkoJGFzc2lnbikpIHsKCQkJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGFsaWFzKTsKCQkJcmV0dXJuOwogICAgCX0KICAJCXJldHVybiAkYWxpYXM7Cgl9CgoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfcm9vdF9hbGlhcygpIGJ5IFJvYmVydCBDYW1wYmVsbAoJICogZ2lidCBkZW4gUGFnZSBBbGlhcyBkZXIgUm9vdHNlaXRlIChvYmVyc3RlIEViZW5lKSBha3R1ZWxsZW4gb2RlciBlaW5lciBkZWZpbmllcnRlbiBTZWl0ZSB6dXLvv71jawoJICogQHBhcmFtIHVua25vd25fdHlwZSAkYWxpYXMKCSAqIEBwYXJhbSB1bmtub3duX3R5cGUgJGFzc2lnbgoJICovCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldFJvb3RBbGlhcygkYWxpYXMgPSAnJywkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBzZWxmOjpnZXRTbWFydHkoKTsKCQkkY29udGVudG9wcyA9IHNlbGY6OmdldENvbnRlbnRPcHMoKTsKCQkkc21hcnR5ID0gc2VsZjo6Z2V0U21hcnR5KCk7CgkJJGFsaWFzID0gc2VsZjo6Z2V0QWxpYXMoJGFsaWFzKTsKCiAgCQkkaWQgPSAkY29udGVudG9wcy0+R2V0UGFnZUlERnJvbUFsaWFzKCRhbGlhcyk7CgkJd2hpbGUoICRpZCA+IDAgKSB7CgkJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUlkKCRpZCk7CgkJCWlmKCAhaXNfb2JqZWN0KCAkY29udGVudCApICkgcmV0dXJuICcnOwoJCQkkYWxpYXMgPSAkY29udGVudC0+QWxpYXMoKTsKCQkJJGlkID0gJGNvbnRlbnQtPlBhcmVudElkKCk7CgkJfQoKICAgIAlpZighZW1wdHkoJGFzc2lnbikpIHsKCQkJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGFsaWFzKTsKCQkJcmV0dXJuOwoJCX0KCQlyZXR1cm4gJGFsaWFzOwoJfQoKCgkvKioKCSAqIGdpYnQgZGVuIFBhZ2UgQWxpYXMgZWluZXIgUGFyZW50c2VpdGUgYXVmIGVpbmVtIGJlc3RpbW10ZW4gTGV2ZWwgYXVzLgoJICogQGNvcHlyaWdodCBMdWthcyBCbGF0dGVyCgkgKiBAcGFyYW0gc3RyaW5nICRhbGlhcwoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKiBAcmV0dXJuIHN0cmluZyAtIHBhZ2UgYWxpYXMKCSAqLwoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRMZXZlbEFsaWFzKCRsZXZlbCwgJGFsaWFzID0gJycsJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gc2VsZjo6Z2V0Q21zbXMoKTsKCQkkY29udGVudG9wcyA9IHNlbGY6OmdldENvbnRlbnRPcHMoKTsKCQkkc21hcnR5ID0gc2VsZjo6Z2V0U21hcnR5KCk7CgoJCWlmKCAkYWxpYXMgPT0gJycgKSB7CgkJCSRhbGlhcyA9ICRzbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdwYWdlX2FsaWFzJyk7CgkJfQoJCWVsc2UKCQkJJGFsaWFzID0gc2VsZjo6Z2V0QWxpYXMoJGFsaWFzKTsKCiAgCQkkaWQgPSAkY29udGVudG9wcy0+R2V0UGFnZUlERnJvbUFsaWFzKCRhbGlhcyk7CgkJd2hpbGUoICRpZCA+IDAgKSB7CgkJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUlkKCRpZCk7CgkJCWlmKCAhaXNfb2JqZWN0KCAkY29udGVudCApICkgcmV0dXJuICcnOwoKCQkJJHBhZ2VsZXZlbCA9IHN1YnN0cl9jb3VudCgkY29udGVudC0+SGllcmFyY2h5KCksJy4nKSArIDE7CgkJCSRhbGlhcyA9ICRjb250ZW50LT5BbGlhcygpOwoJCQkkaWQgPSAkY29udGVudC0+UGFyZW50SWQoKTsKCgkJCWlmICgkcGFnZWxldmVsID09ICRsZXZlbCkgewoJCQkJYnJlYWs7CgkJCX0KCQkJZWxzZSBpZiAoJHBhZ2VsZXZlbCA8ICRsZXZlbCkgewoJCQkJcmV0dXJuICcnOwoJCQl9CgkJfQoKICAgIAlpZighZW1wdHkoJGFzc2lnbikpIHsKCQkJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGFsaWFzKTsKCQkJcmV0dXJuOwoJCX0KCQlyZXR1cm4gJGFsaWFzOwoJfQoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfcGFnZV90aXRsZSgpIGJ5IFJvYmVydCBDYW1wYmVsbAoJICogR2lidCBkZW4gU2VpdGVudGl0ZWwgZWluZXIgZGVmaW5pZXJ0ZW4gU2VpdGUgb2RlciBkZXIgYWt0dWVsbGVuIFNlaXRlIHp1cu+/vWNrCgkgKiBAcGFyYW0gdW5rbm93bl90eXBlICRhbGlhcwoJICogQHBhcmFtIHVua25vd25fdHlwZSAkYXNzaWduCgkgKi8KCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldFBhZ2VUaXRsZSgkYWxpYXMgPSAnJywkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBzZWxmOjpnZXRDbXNtcygpOwoJCSRjb250ZW50b3BzID0gc2VsZjo6Z2V0Q29udGVudE9wcygpOwoJCSRzbWFydHkgPSBzZWxmOjpnZXRTbWFydHkoKTsKCQkkYWxpYXMgPSBzZWxmOjpnZXRBbGlhcygkYWxpYXMpOwoKCQlpZighJGFsaWFzKSByZXR1cm4gJyc7CgoJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CgkJaWYoICFpc19vYmplY3QoJGNvbnRlbnQpICkgcmV0dXJuICcnOwoKCQlpZighZW1wdHkoJGFzc2lnbikpIHsKCQkJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGNvbnRlbnQtPk5hbWUoKSk7CgkJCXJldHVybjsKCSAgICB9CgkJcmV0dXJuICRjb250ZW50LT5OYW1lKCk7Cgl9CgoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfcGFnZV9tZW51dGV4dCgpIGJ5IFJvYmVydCBDYW1wYmVsbAoJICogR2lidCBkZW4gTWVudXRleHQgZWluZXIgYmVzdGltbXRlbiBTZWl0ZSBvZGVyIGRlciBha3R1ZWxsZW4gU2VpdGUgenVy77+9Y2sKCSAqIEBwYXJhbSBzdHJpbmcgJGFsaWFzCgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24KCSAqLwoKCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0UGFnZU1lbnV0ZXh0KCRhbGlhcyA9ICcnLCRhc3NpZ24gPSAnJykKCXsKCQkkZ0NtcyA9IHNlbGY6OmdldENtc21zKCk7CgkJJGNvbnRlbnRvcHMgPSBzZWxmOjpnZXRDb250ZW50T3BzKCk7CgkJJHNtYXJ0eSA9IHNlbGY6OmdldFNtYXJ0eSgpOwoJCSRhbGlhcyA9IHNlbGY6OmdldEFsaWFzKCRhbGlhcyk7CgoJCWlmKCEkYWxpYXMpIHJldHVybiBmYWxzZTsKCgkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKCQlpZiggIWlzX29iamVjdCgkY29udGVudCkgKSByZXR1cm4gJyc7CgoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkY29udGVudC0+TWVudVRleHQoKSk7CgkJCXJldHVybjsKCSAgICB9CgkJcmV0dXJuICRjb250ZW50LT5NZW51VGV4dCgpOwoJfQoKCgkvKioKCSAqIGJhc2VkIG9uICRjZ3NpbXBsZS0+aGFzX2NoaWxkcmVuKCkgYnkgUm9iZXJ0IENhbXBiZWxsCgkgKiBIYXQgZWluZSBkZWZpbmllcnRlIG9kZXIgZGllIGFrdHVlbGxlIFNlaXRlIHdlaXRlcmUgVW50ZXJzZWl0ZW4/CgkgKiBAcGFyYW0gJGFsaWFzCgkgKiBAcGFyYW0gJGFzc2lnbgoJICovCgoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBoYXNDaGlsZHJlbigkYWxpYXMgPSAnJywkYXNzaWduID0gJycpCgl7CgkJJHJlc3VsdCA9IGZhbHNlOwoJCSRnQ21zID0gc2VsZjo6Z2V0Q21zbXMoKTsKCQkkY29udGVudG9wcyA9IHNlbGY6OmdldENvbnRlbnRPcHMoKTsKCQkkc21hcnR5ID0gIHNlbGY6OmdldFNtYXJ0eSgpOwoJCSRhbGlhcyA9IHNlbGY6OmdldEFsaWFzKCRhbGlhcyk7CgoJICAgIGlmKCEkYWxpYXMpIHJldHVybiBmYWxzZTsKCgkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKCQlpZihpc19vYmplY3QoJGNvbnRlbnQpICkKCQkJJHJlc3VsdCA9ICRjb250ZW50LT5IYXNDaGlsZHJlbigpOwoKCQlpZighZW1wdHkoJGFzc2lnbikpIHsKCQkJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJHJlc3VsdCk7CgkJCXJldHVybjsKCSAgICB9CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CgoKCS8qKgoJICogR2lidCBkZW4gQWxpYXMgZGVyIGVyc3RlbiBDaGlsZHNlaXRlIG1pdCBJbmhhbHQgYXVzCgkgKiBAcGFyYW0gc3RyaW5nICRwYXJlbnRhbGlhcwoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKiBAcGFyYW0gc3RyaW5nICRvbmx5SW5NZW51CgkgKiBAY29weXJpZ2h0IEx1a2FzIEJsYXR0ZXIKCgkgKi8KCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldEZpcnN0Q2hpbGRBbGlhcygkcGFyZW50YWxpYXMgPSAnJywgJGFzc2lnbiA9ICcnLCAkb25seUluTWVudT10cnVlKQoJewoJCSRzbWFydHkgPSBzZWxmOjpnZXRTbWFydHkoKTsKCQkkY2hpbGRyZW4gPSBzZWxmOjpnZXRDaGlsZHJlbigkcGFyZW50YWxpYXMpOwoKCQlpZiAoISRjaGlsZHJlbikgcmV0dXJuIGZhbHNlOwoKCQkkYWxpYXMgPSBmYWxzZTsKCQlmb3JlYWNoKCRjaGlsZHJlbiBhcyAkY2hpbGQpIHsKCQkJaWYgKCRjaGlsZFsndHlwZSddID09ICdlcnJvcnBhZ2UnKSBjb250aW51ZTsKCQkJZWxzZSBpZiAoJGNoaWxkWyd0eXBlJ10gPT0gJ3NlY3Rpb25oZWFkZXInIG9yICRjaGlsZFsndHlwZSddID09ICdzZXBhcmF0b3InIG9yICRjaGlsZFsndHlwZSddID09ICdsaW5rJykgewoJCQkJaWYgKHNlbGY6Omhhc0NoaWxkcmVuKCRjaGlsZFsnYWxpYXMnXSkpIHsKCQkJCQkkYWxpYXMgPSBzZWxmOjpnZXRGaXJzdENoaWxkQWxpYXMoJGNoaWxkWydhbGlhcyddLCcnLCRvbmx5SW5NZW51KTsKCQkJCQlpZiAoJGFsaWFzKSBicmVhazsKCQkJCX0KCQkJfQoJCQllbHNlIGlmICgkb25seUluTWVudSBhbmQgJGNoaWxkWydzaG93X2luX21lbnUnXSkgewoJCQkJJGFsaWFzID0gJGNoaWxkWydhbGlhcyddOwoJCQkJYnJlYWs7CgkJCX0KCQkJZWxzZSBpZiAoISRvbmx5SW5NZW51KSB7CgkJCQkkYWxpYXMgPSAkY2hpbGRbJ2FsaWFzJ107CgkJCQlicmVhazsKCQkJfQoJCX0KCQlpZiAoISRhbGlhcykgcmV0dXJuIGZhbHNlOwoKCQlpZighZW1wdHkoJGFzc2lnbikpIHsKCQkJJHNtYXJ0eS0+YXNzaWduKCRhc3NpZ24sJGFsaWFzKTsKCQkJcmV0dXJuOwoJICAgIH0KCQlyZXR1cm4gJGFsaWFzOwoJfQoKCS8qKgoJICogR2lidCBkaWUgVVJMIGVpbmVyIGRlZmluaWVydGVuIFNlaXRlIGF1cwoJICogQHBhcmFtIHN0cmluZyAkYWxpYXMKCSAqIEBwYXJhbSBzdHJpbmcgJGFzc2lnbgoJICogQGNvcHlyaWdodCBMdWthcyBCbGF0dGVyCgoJICovCgoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRQYWdlVXJsKCRhbGlhcyA9ICcnLCAkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBzZWxmOjpnZXRDbXNtcygpOwoJCSRjb250ZW50b3BzID0gc2VsZjo6Z2V0Q29udGVudE9wcygpOwoJCSRzbWFydHkgPSBzZWxmOjpnZXRTbWFydHkoKTsKCgkJJGFsaWFzID0gc2VsZjo6Z2V0QWxpYXMoJGFsaWFzKTsKCgkJaWYoISRhbGlhcykgcmV0dXJuIGZhbHNlOwoKCQkkY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMpOwoJCWlmKCAhaXNfb2JqZWN0KCRjb250ZW50KSApIHJldHVybiAnJzsKCgkJaWYoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbigkYXNzaWduLCRjb250ZW50LT5HZXRVUkwoKSk7CgkJCXJldHVybjsKCSAgICB9CgkJcmV0dXJuICRjb250ZW50LT5HZXRVUkwoKTsKCX0KCgoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfY2hpbGRyZW4oKSBieSBSb2JlcnQgQ2FtcGJlbGwKCSAqIEdpYnQgZWluZXIgQXJyYXkgbWl0IGRlbiBQYWdlSWRzIGFsbGVyIENoaWxkIFNlaXRlbiBlaW5lciBiZXN0aW1tdGVuIFNlaXRlIG9kZXIgZGVyIGFrdHVlbGxlbiBTZWl0ZSB6dXLDvGNrLgoJICogQHBhcmFtIHN0cmluZyAkYWxpYXMKCSAqIEBwYXJhbSBib29sZWFuICRzaG93YWxsCgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24KCgkgKi8KCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGdldENoaWxkcmVuKCRhbGlhcyA9ICcnLCRzaG93YWxsID0gZmFsc2UsICRhc3NpZ24gPSAnJykKCXsKCQkkZ0NtcyA9IHNlbGY6OmdldENtc21zKCk7CgkJJHNtYXJ0eSA9IHNlbGY6OmdldFNtYXJ0eSgpOwoJCSRhbGlhcyA9IHNlbGY6OmdldEFsaWFzKCRhbGlhcyk7CgoJCWlmKCEkYWxpYXMpIHJldHVybiBmYWxzZTsKCgkJJGhtID0gc2VsZjo6Z2V0SGllcmFyY2h5TWFuYWdlcigpOwoJCSRwYXJlbnQgPSAkaG0tPmdldE5vZGVCeUFsaWFzKCRhbGlhcyk7CgkJaWYoICEkcGFyZW50ICkgeyByZXR1cm4gZmFsc2U7IH0KCgkJJGNoaWxkX25vZGVzID0gJHBhcmVudC0+Z2V0Q2hpbGRyZW4oZmFsc2UsJHNob3dhbGwpOwoJCWlmKCAhaXNfYXJyYXkoJGNoaWxkX25vZGVzKSB8fCBjb3VudCgkY2hpbGRfbm9kZXMpID09IDAgKSByZXR1cm4gZmFsc2U7CgoJCSRyZXN1bHRzID0gYXJyYXkoKTsKCQlmb3JlYWNoKCAkY2hpbGRfbm9kZXMgYXMgJG5vZGUgKSB7CgkJCSRjb250ZW50ID0gJG5vZGUtPmdldENvbnRlbnQoKTsKCQkJaWYoICFpc19vYmplY3QoJGNvbnRlbnQpICkgY29udGludWU7CgoJCQkkcm93ID0gYXJyYXkoJ2FsaWFzJz0+JGNvbnRlbnQtPkFsaWFzKCksJ2lkJz0+JGNvbnRlbnQtPklkKCksCgkJICAgICAndGl0bGUnPT4kY29udGVudC0+TmFtZSgpLCdtZW51dGV4dCc9PiRjb250ZW50LT5NZW51VGV4dCgpLAoJCSAgICAgJ3Nob3dfaW5fbWVudSc9PiRjb250ZW50LT5TaG93SW5NZW51KCksICdhY3RpdmUnID0+ICRjb250ZW50LT5BY3RpdmUoKSwndHlwZSc9PiRjb250ZW50LT5UeXBlKCkpOwoJCQkkcmVzdWx0c1tdID0gJHJvdzsKCQl9CgkJaWYoICFjb3VudCgkcmVzdWx0cykgKSByZXR1cm4gZmFsc2U7CgoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24oJGFzc2lnbiwkcmVzdWx0cyk7CgkJCXJldHVybjsKCSAgICB9CgkJcmV0dXJuICRyZXN1bHRzOwoJfQoKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5nZXRfcGFnZV9jb250ZW50KCkgYnkgY2FsZ3V5MTAwMAoJICogR2lidCBkZW4gSW5oYWx0IGVpbmVzIGJlc3RpbW10ZW4gQ29udGVudCBCbG9ja3MgZWluZXIgZGVmaW5pZXJ0ZW4gU2VpdGUgenVyw7xjawoJICogQHBhcmFtIHN0cmluZyAkYWxpYXMgLSBhbGlhcyBvciBpZCBvZiBhIHBhZ2UKCSAqIEBwYXJhbSBzdHJpbmcgJGJsb2NrIC0gbmFtZSBvZiB0aGUgY29udGVudGJsb2NrCgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24gLSBuYW1lIG9mIGFzc2lnbiB2YXJpYWJsZQoJICovCgoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRQYWdlQ29udGVudCgkYWxpYXMsICRibG9jayA9ICcnLCRhc3NpZ24gPSAnJykKCXsKCQkkcmVzdWx0ID0gZmFsc2U7CgkJJGdDbXMgPSBzZWxmOjpnZXRDbXNtcygpOwoJCSRhbGlhcyA9IHNlbGY6OmdldEFsaWFzKCRhbGlhcyk7CgkJCgkJaWYoISRhbGlhcykgcmV0dXJuIGZhbHNlOwoKCQkkY29udGVudG9wcyA9IHNlbGY6OmdldENvbnRlbnRPcHMoKTsKCQkkc21hcnR5ID0gc2VsZjo6Z2V0U21hcnR5KCk7CgoJCWlmKCAkYmxvY2sgPT0gJycgKSAkYmxvY2sgPSAnY29udGVudF9lbic7CgoJCWlmKCAkYWxpYXMgIT0gJycgKSB7CgkJCSRjb250ZW50ID0gJGNvbnRlbnRvcHMtPkxvYWRDb250ZW50RnJvbUFsaWFzKCRhbGlhcyk7CgkJCWlmKCBpc19vYmplY3QoJGNvbnRlbnQpICkgewoJCQkJJHJlc3VsdCA9ICRjb250ZW50LT5HZXRQcm9wZXJ0eVZhbHVlKCRibG9jayk7CgkJCX0KCSAgICB9CgoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSwkcmVzdWx0KTsKCQkJcmV0dXJuOwoJCX0KCQlyZXR1cm4gJHJlc3VsdDsKCX0KCgkvKioKCSAqIEhhdCBCZXJlY2h0aWd1bmcgaW4gZGVuIGRlZmluaWVydGVuIEZFVSBVc2VyR3JvdXBzCgkgKiBAcGFyYW0gc3RyaW5nICRmZXVncm91cHMKCSAqIEBwYXJhbSBzdHJpbmcgJGFzc2lnbgoJICogQHJldHVybiBib29sZWFuIHRydWUvZmFsc2UKCSAqIEBhdXRob3I6IEx1a2FzIEJsYXR0ZXIsIDIwLjEyLjIwMTEKCSAqLwoKCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gaGFzRmV1R3JvdXBBY2Nlc3MoJGZldWdyb3VwcyA9ICcnLCAkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBzZWxmOjpnZXRDbXNtcygpOwoJCSRzbWFydHkgPSBzZWxmOjpnZXRTbWFydHkoKTsKCgkJaWYgKCEkZmV1Z3JvdXBzKSB7CgkJCWlmICghZW1wdHkoJGFzc2lnbikpIHsKCQkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLGZhbHNlKTsKCQkJCXJldHVybjsKCQkJfQoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQkkZmV1c2VycyA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwoKCQlpZiAoISRmZXVncm91cHMgb3IgIWlzX09iamVjdCgkZmV1c2VycykpIHsKCQkJaWYgKCFlbXB0eSgkYXNzaWduKSkgewoJCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksZmFsc2UpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCSR1c2VyX2lkID0gJGZldXNlcnMtPkxvZ2dlZEluSWQoKTsKCQkkZ3JvdXBzID0gJGZldXNlcnMtPkdldE1lbWJlckdyb3Vwc0FycmF5KCR1c2VyX2lkKTsKCgkJJGducyA9IGFycmF5KCk7CgkJaWYoJGdyb3VwcyAhPT0gZmFsc2UgKSB7CgkJICAgIGZvcmVhY2goICRncm91cHMgYXMgJGdpZCApIHsKCQkgICAgICAgICRnbnNbXSA9ICRnaWRbJ2dyb3VwaWQnXTsKCQkgICAgfQoJCX0KCgkJJGZldUFycmF5PSBleHBsb2RlKCcsJywkZmV1Z3JvdXBzKTsKCQkkcmV0dmFsID0gZmFsc2U7CgkJZm9yZWFjaCAoJGZldUFycmF5IGFzICRmZXUpIHsKCQkJaWYgKGluX2FycmF5KCRmZXUsJGducykpIHsKCQkJCWlmICghZW1wdHkoJGFzc2lnbikpIHsKCQkJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSx0cnVlKTsKCQkJCQlyZXR1cm47CgkJCQl9CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCQlpZiAoIWVtcHR5KCRhc3NpZ24pKSB7CgkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLGZhbHNlKTsKCQkJcmV0dXJuOwoJCX0KCQlyZXR1cm4gZmFsc2U7CgoJfS8vaWYKCgkvKioKCSAqIElzdCBkZXIgQmVudXR6ZXIgZWluZ2Vsb2dndAoJICogQHBhcmFtIHN0cmluZyAkYXNzaWduCgkgKiBAcmV0dXJuIGludCB1c2VyX2lkCgkgKiBAYXV0aG9yOiBMdWthcyBCbGF0dGVyLCAyMC4xMi4yMDExCgkgKi8KCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGlzTG9nZ2VkSW4oJGFzc2lnbiA9ICcnKQoJewoJCSRnQ21zID0gc2VsZjo6Z2V0Q21zbXMoKTsKCQkkc21hcnR5ID0gc2VsZjo6Z2V0U21hcnR5KCk7CgkJJGZldXNlcnMgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKTsKCgkJaWYgKCFpc19vYmplY3QoJGZldXNlcnMpKSB7CgkJCWlmICghZW1wdHkoJGFzc2lnbikpIHsKCQkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLGZhbHNlKTsKCQkJCXJldHVybjsKCQkJfQoJCQlyZXR1cm4gZmFsc2U7CgkJfS8vaWYKCgkJJHVzZXJfaWQgPSAkZmV1c2Vycy0+TG9nZ2VkSW5JZCgpOwoKCQlpZiAoJHVzZXJfaWQpIHsKCQkJaWYgKCFlbXB0eSgkYXNzaWduKSkgewoJCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksdHJ1ZSk7CgkJCQlyZXR1cm47CgkJCX0KCQkJcmV0dXJuIHRydWU7CgkJfS8vaWYKCgkJaWYgKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSxmYWxzZSk7CgkJCXJldHVybjsKCQl9Ly9pZgoJCXJldHVybiBmYWxzZTsKCgl9Ly9mdW5jdGlvbgoKCgkvKioKCSAqIGJhc2VkIG9uICRjZ3NpbXBsZS0+Z2V0X3NpbGJpbmcoKSBieSBSb2JlcnQgQ2FtcGJlbGwKCSAqIEdldCBwcmV2IHNpYmxpbmcKCSAqIEBwYXJhbSAkZGlyCgkgKiBAcGFyYW0gJGFzc2lnbgoJICogQHBhcmFtICRhbGlhcwoJICovCgoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRTaWJsaW5nKCRkaXIsJGFzc2lnbiA9ICcnLCRhbGlhcyA9ICcnKQoJewoJCSRnQ21zID0gc2VsZjo6Z2V0Q21zbXMoKTsKCQkkZGIgPSAkZ0Ntcy0+R2V0RGIoKTsKCQkkc21hcnR5ID0gc2VsZjo6Z2V0U21hcnR5KCk7CgkJJGNvbnRlbnRvcHMgPSBzZWxmOjpnZXRDb250ZW50T3BzKCk7CgkJJGFsaWFzID0gc2VsZjo6Z2V0QWxpYXMoJGFsaWFzKTsKCgkJJGNvbnRlbnQgPSAkY29udGVudG9wcy0+TG9hZENvbnRlbnRGcm9tQWxpYXMoJGFsaWFzKTsKCQlpZiggIWlzX29iamVjdCgkY29udGVudCkgKSByZXR1cm4gZmFsc2U7CgoJCS8vIGdldCB0aGUgbGFzdCBpdGVtIG91dCBvZiB0aGUgaGllcmFyY2h5CgkJLy8gYW5kIHJlYnVpbGQKCQkkcXVlcnkgPSAnU0VMRUNUIGNvbnRlbnRfYWxpYXMgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nY29udGVudAoJCQkJICAgIFdIRVJFIHBhcmVudF9pZCA9ID8KCQkJCSAgICAgIEFORCBpdGVtX29yZGVyICVzID8KCQkJCSAgICAgIEFORCBhY3RpdmUgPSAxCgkJCQkgICAgT1JERVIgQlkgaXRlbV9vcmRlciAlcwoJCQkJICAgIExJTUlUIDEnOwoKCQlzd2l0Y2goc3RydG9sb3dlcigkZGlyKSkgewoJCQljYXNlICctMSc6CgkJCQljYXNlICdwcmV2JzoKCQkJCQkkdGhlY2hhciA9ICc8JzsKCQkJCQkkb3JkZXIgPSAnREVTQyc7CgkJCQlicmVhazsKCgkJCQlkZWZhdWx0OgoJCQkJCSR0aGVjaGFyID0gJz4nOwoJCQkJCSRvcmRlciA9ICdBU0MnOwoJCQkJYnJlYWs7CgkJfS8vc3dpdGNoCgoJCSRyZXMgPSAkZGItPkdldE9uZShzcHJpbnRmKCRxdWVyeSwkdGhlY2hhciwkb3JkZXIpLAoJCWFycmF5KCRjb250ZW50LT5QYXJlbnRJZCgpLCRjb250ZW50LT5JdGVtT3JkZXIoKSkpOwoJCWlmKCAhZW1wdHkoJGFzc2lnbikgKSB7CgkJCSRzbWFydHktPmFzc2lnbih0cmltKCRhc3NpZ24pLCRyZXMpOwoJCQlyZXR1cm47CgkJfS8vaWYKCQlyZXR1cm4gJHJlczsKCX0vL2Z1bmN0aW9uCgkKCS8qKgoJICogYmFzZWQgb24gJGNnc2ltcGxlLT5tb2R1bGVfaW5zdGFsbGVkKCkgYnkgUm9iZXJ0IENhbXBiZWxsCgkgKiBDaGVjayBpZiBNb2R1bGUgaXMgaW5zdGFsbGVkCgkgKiBAcGFyYW0gJGRpcgoJICogQHBhcmFtICRhc3NpZ24KCSAqIEBwYXJhbSAkYWxpYXMKCSAqLwoJCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBtb2R1bGVJbnN0YWxsZWQoJG1vZHVsZSwkYXNzaWduID0gJycpCiAgewogICAgaWYoICRtb2R1bGUgPT0gJycgKSByZXR1cm4gMDsKICAgICRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJG1vZHVsZSk7CgogICAgJHJlc3VsdCA9IDA7CiAgICBpZiggaXNfb2JqZWN0KCAkbW9kdWxlICkgKSAkcmVzdWx0ID0gMTsKCiAgICBpZiggIWVtcHR5KCRhc3NpZ24pICkgewogICAgICAkc21hcnR5ID0gY21zX3V0aWxzOjpnZXRfc21hcnR5KCk7CiAgICAgICRzbWFydHktPmFzc2lnbigkYXNzaWduLCRyZXN1bHQpOwogICAgICByZXR1cm47CiAgICB9CiAgICByZXR1cm4gJHJlc3VsdDsKICB9CgkKCQoJLyoqCgkgKiBDcmVhdGVzIEhUTUwgdGFibGUgZnJvbSBtdWx0aWRpbWVuc2lvbmFsIGFycmF5CgkgKiBiYXNlZCBvbiBodHRwOi8vd3d3LnRlcnJhd2ViZGVzaWduLmNvbS9tdWx0aWRpbWVuc2lvbmFsLnBocAoJICoKCSAqIEBwYXJhbSBhcnJheSAkYXJyYXkKCSAqIEByZXR1cm4gc3RyaW5nCgkgKi8KCgoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZXRBcnJheUFzVGFibGUoJGFycmF5KQoJewoJCSRhcnJheSA9IHNlbGY6Om9iamVjdDJhcnJheSgkYXJyYXkpOwoKCQkkdGFibGUgPSAiPHRhYmxlPlxuIjsKCQkkdGFibGUgLj0gc2VsZjo6Z2V0QXJyYXlBc1RhYmxlTWFrZVJvd3MoJGFycmF5LCAxLCAwKTsKCQkkdGFibGUgLj0gIjwvdGFibGU+XG4iOwoJCXJldHVybiAkdGFibGU7CgoJfS8vZnVuY3Rpb24KCglwcm90ZWN0ZWQgZmluYWwgZnVuY3Rpb24gZ2V0QXJyYXlBc1RhYmxlTWFrZVJvd3MoJGFycmF5LCAkbGV2ZWwsICRzdWIpCgl7CgkJJHN0cmluZyA9ICIiOwoKCQlpZiAoaXNfYXJyYXkoJGFycmF5KSA9PSAxKXsgICAgICAgICAgLy8gY2hlY2sgaWYgaW5wdXQgaXMgYW4gYXJyYXkKCQkgICAgICBmb3JlYWNoKCRhcnJheSBhcyAka2V5X3ZhbCA9PiAkdmFsdWUpIHsKCQkgICAgICAgICAgJG9mZnNldCA9ICIiOwoKCQkgICAgICAgICAgaWYgKGlzX2FycmF5KCR2YWx1ZSkgPT0gMSl7ICAgLy8gYXJyYXkgaXMgbXVsdGlkaW1lbnNpb25hbAoJCSAgICAgICAgICAJJHN0cmluZyAuPSAiPHRyPiI7CgkJICAgICAgICAgIAkkb2Zmc2V0ID0gc2VsZjo6Z2V0QXJyYXlBc1RhYmxlRG9PZmZzZXQoJGxldmVsKTsKCQkgICAgICAgICAgCSRzdHJpbmcgLj0gJG9mZnNldCAuICI8dGQgdmFsaWduPSd0b3AnPiIgLiAka2V5X3ZhbCAuICI8L3RkPiI7CgkJICAgICAgICAgIAkkc3RyaW5nIC49IHNlbGY6OmdldEFycmF5QXNUYWJsZU1ha2VSb3dzKCR2YWx1ZSwgJGxldmVsKzEsIDEpOwoJCSAgICAgICAgICB9ZWxzZXsgICAgICAgICAgICAgICAgICAgICAgLy8oc3ViKWFycmF5IGlzIG5vdCBtdWx0aWRpbQoJCSAgICAgICAgICAJaWYgKCRzdWIgIT0gMSl7ICAgICAgICAgIC8vIGZpcnN0IGVudHJ5IGZvciBzdWJhcnJheQoJCSAgICAgICAgICAgICAgJHN0cmluZyAuPSAiPHRyPiI7CgkJICAgICAgICAgICAgICAkb2Zmc2V0ID0gc2VsZjo6Z2V0QXJyYXlBc1RhYmxlRG9PZmZzZXQoJGxldmVsKTsKCQkgICAgICAgICAgCX0KCQkgICAgICAgICAgCSRzdWIgPSAwOwoJCSAgICAgICAgICAJJHN0cmluZyAuPSAkb2Zmc2V0IC4gIjx0ZCBjbGFzcz0ndGgnIHZhbGlnbj0ndG9wJz4iIC4gJGtleV92YWwgLgoJCSAgICAgICAgICAgICAgIjwvdGQ+PHRkIHZhbGlnbj0ndG9wJz4iIC4gJHZhbHVlIC4gIjwvdGQ+IjsKCQkgICAgICAgICAgCSRzdHJpbmcgLj0gIjwvdHI+XG4iOwoJCSAgICAgICAgICB9CgkJICAgICAgfSAvL2ZvcmVhY2ggJGFycmF5CgkJIH0vL2lmCgoJCXJldHVybiAkc3RyaW5nOwoKCX0vL2Z1bmN0aW9uCgoJcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBnZXRBcnJheUFzVGFibGVEb09mZnNldCgkbGV2ZWwpCgl7CgkgICAgJG9mZnNldCA9ICIiOyAgICAgICAgICAgICAvLyBvZmZzZXQgZm9yIHN1YmFycnkKCSAgICBmb3IgKCRpPTE7ICRpPCRsZXZlbDskaSsrKXsKCSAgICAkb2Zmc2V0ID0gJG9mZnNldCAuICI8dGQ+PC90ZD4iOwoJICAgIH0KCSAgICByZXR1cm4gJG9mZnNldDsKCX0vL2Z1bmN0aW9uCgoKCgkvKioKCSAqIGJhc2VkIG9uICRjZ3NpbXBsZS0+Z2V0X2ZpbGVfbGlzdGluZygpIGJ5IFJvYmVydCBDYW1wYmVsbAoJICogR2lidCBkZW4gSW5oYWx0IGVpbmVzIGJlc3RpbW10ZW4gT3JkbmVycyBpbiBlaW5lbSBBcnJheSB6dXLvv71jawoJICogQHBhcmFtIHN0cmluZyAkZGlyCgkgKiBAcGFyYW0gc3RyaW5nICRleGNsdWRlcHJlZml4CgkgKiBAcGFyYW0gc3RyaW5nICRhc3NpZ24KCSAqLwoKCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0RmlsZUxpc3RpbmcoJGRpciwkZXhjbHVkZXByZWZpeD0nJywkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBjbXNtcygpOwoJCSRzbWFydHkgPSAkZ0Ntcy0+R2V0U21hcnR5KCk7CgkJJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKCgkJJGZpbGVwcmVmaXggPSAnJzsKCQlpZiggIWVtcHR5KCRleGNsdWRlcHJlZml4KSApIHsKCQkJJGZpbGVwcmVmaXggPSAkZXhjbHVkZXByZWZpeDsKCQl9CgkJaWYoIHN0YXJ0c3dpdGgoJGRpciwnLycpICkgcmV0dXJuOwoJCSRkaXIgPSB0YlV0aWxzOjp0cnVlcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXS4iLyIuJGRpcik7CgkJJGxpc3QgPSBnZXRfbWF0Y2hpbmdfZmlsZXMoJGRpciwnJyx0cnVlLHRydWUsJGZpbGVwcmVmaXgsMSk7CgkJaWYoICFlbXB0eSgkYXNzaWduKSApIHsKCQkJJHNtYXJ0eS0+YXNzaWduKHRyaW0oJGFzc2lnbiksJGxpc3QpOwoJCQlyZXR1cm47CgkJfQoJCXJldHVybiAkbGlzdDsKCX0vL2Z1bmN0aW9uCgkKCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gZ2V0TGFzdE1vZGlmaWVkKCRhbGlhcyA9ICcnLCAkYXNzaWduID0gJycpCgl7CgkJJGdDbXMgPSBzZWxmOjpnZXRDbXNtcygpOwoJCSRzbWFydHkgPSBzZWxmOjpnZXRTbWFydHkoKTsKCQkkY29udGVudG9wcyA9IHNlbGY6OmdldENvbnRlbnRPcHMoKTsKCQkkYWxpYXMgPSBzZWxmOjpnZXRBbGlhcygkYWxpYXMpOwoKCQkkY29udGVudCA9ICRjb250ZW50b3BzLT5Mb2FkQ29udGVudEZyb21BbGlhcygkYWxpYXMsdHJ1ZSk7CgkJaWYoICFpc19vYmplY3QoJGNvbnRlbnQpICkgcmV0dXJuIGZhbHNlOwoJCQoJCSR0aW1lc3RhbXAgPSAkY29udGVudC0+R2V0TW9kaWZpZWREYXRlKCk7CgoJCWlmKCFlbXB0eSgkYXNzaWduKSkgewoJCQkkc21hcnR5LT5hc3NpZ24odHJpbSgkYXNzaWduKSwkdGltZXN0YW1wKTsKCQkJcmV0dXJuOwoJCX0KCQlyZXR1cm4gJHRpbWVzdGFtcDsKCX0vLyBmdW5jdGlvbgoJCgkKCQp9Oy8vIGNsYXNzCgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/log/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/log/tbLog.log</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKLy8gQ2hlY2sgYXV0aG9yaXNhdGlvbgppZighaXNfb2JqZWN0KGNtc21zKCkpKSBleGl0OwoKcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvbGliL2NsYXNzLnRiVXRpbHMucGhwJyk7CgovLyBzZXR1cCBkaXJlY3RvcmllcyBhbmQvb3IgY2hlY2sgaWYgd3JpdGFibGUKJGRpcnMgPSBhcnJheSggJ21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMnLCAnbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MnLCAnbW9kdWxlcy9Ub29sQm94L2xvZycsICd1cGxvYWRzL1Rvb2xCb3gnLCAndXBsb2Fkcy9Ub29sQm94L0F1dG9MaWdodEJveCcsICd1cGxvYWRzL1Rvb2xCb3gvQ1NWJyk7CmZvcmVhY2ggKCAkZGlycyBhcyAkZGlyICkKewoJaWYoICFpc19kaXIoJy4uLycuJGRpcikgKQoJewoJCUBta2RpcihzdHJfcmVwbGFjZSgnLycsIERJUkVDVE9SWV9TRVBBUkFUT1IsICcuLi8nLiRkaXIpKTsKCX0KCWlmKCAhaXNfd3JpdGFibGUoJy4uLycuJGRpcikgKQoJewoJCS8vcmV0dXJuIGVycm9yIHRvIE1vZHVsZU1hbmFnZXIKCQkkdG1wID0gbGFuZygnZXJyb3JkaXJlY3Rvcnlub3R3cml0YWJsZScpLiAnID4gJyAuICRkaXI7CgkJcmV0dXJuICR0bXA7Cgl9Cn0KCgovLyBHZXQgZGIgaGFuZGxlCiR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkdGJEYik7CiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ0VOR0lORSBNeUlTQU0gQ0hBUkFDVEVSIFNFVCB1dGY4IENPTExBVEUgdXRmOF9nZW5lcmFsX2NpJywgJ215c3FsaScgPT4gJ0VOR0lORSBNeUlTQU0gQ0hBUkFDVEVSIFNFVCB1dGY4IENPTExBVEUgdXRmOF9nZW5lcmFsX2NpJyk7CgovLyBDcmVhdGUgdXJsIHJlZGlyZWN0IHRhYmxlCiRmbGRzID0gJ2lkIEkgS0VZIEFVVE8scGFnZV9pZCBJLHRvdXJsIEMoMjUwKSx1cmwgQygyNTApLHVybF9yZWdleHAgSSgxKSxhY3RpdmUgSSgxKSxub3RlcyBYLGNyZWF0ZWRfZGF0ZSAnLkNNU19BRE9EQl9EVC4nLG1vZGlmaWVkX2RhdGUgJy5DTVNfQURPREJfRFQ7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X3JlZGlyZWN0JywgJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIENyZWF0ZSBsb2cgdGFibGUKJGZsZHMgPSAnaWQgSSBLRVkgQVVUTyxwYWdlX2lkIEksZG9tYWluIEMoMTAwKSx1cmwgQygyMDApLHJlZmVyZXIgQygyMDApLHNlYXJjaGVuZ2luZSBDKDUwKSxib3QgQyg1MCksa2V5d29yZCBDKDEwMCksc2Vzc2lvbmlkIEMoNTApLHZpc2l0dGltZSAnLkNNU19BRE9EQl9EVDsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfbG9nJywgJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIENyZWF0ZSBsb2cgc3VtbWFyeSB0YWJsZQokZmxkcyA9ICdpZCBJIEtFWSBBVVRPLHBlcmlvZCBDKDUpLHZhbHVlIEkoNCksdHlwZSBJKDEpLHVybCBDKDIwMCksdmlzaXRzIEkscGFnZV9pZCBJLHNlYXJjaGVuZ2luZSBDKDUwKSxrZXl3b3JkIEMoMTAwKSxyZWZlcmVyIEMoMjAwKSxjcmVhdGVkX2RhdGUgJy5DTVNfQURPREJfRFQ7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X2xvZ3N1bScsICRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgovLyBDcmVhdGUgZXJyb3IgKDQwNCkgdGFibGUKJGZsZHMgPSAnaWQgSSBLRVkgQVVUTyxmcm9tdXJsIEMoMjUwKSx0b3VybCBDKDI1MCksdmlzaXRzIEkoOCksY3JlYXRlZF9kYXRlICcuQ01TX0FET0RCX0RULicsbW9kaWZpZWRfZGF0ZSAnLkNNU19BRE9EQl9EVDsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzJywgJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIENyZWF0ZSBlcnJvciAoNDA0KSBpZ25vcmUgdGFibGUKJGZsZHMgPSAnaWQgSSBLRVkgQVVUTyxpdXJsIEMoMjUwKSxpcmVnZXhwIEkoMSksY3JlYXRlZF9kYXRlICcuQ01TX0FET0RCX0RULicsbW9kaWZpZWRfZGF0ZSAnLkNNU19BRE9EQl9EVDsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZXJyb3JzX2lnbm9yZScsICRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgovLyBDcmVhdGUgZGVidWcgdGFibGUKJGZsZHMgPSAnaWQgSSBLRVkgQVVUTyxzZXNzaW9uX2lkIEMoMjUwKSxpcCBDKDI1KSxmcm9tdXJsIEMoMjUwKSx0b3VybCBDKDI1MCksc3RhdHVzIEMoMjUwKSxjcmVhdGVkX2RhdGUgJy5DTVNfQURPREJfRFQuJyxtb2RpZmllZF9kYXRlICcuQ01TX0FET0RCX0RUOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9kZWJ1ZycsICRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgovLyBUZW1wbGF0ZXMKJGZsZHMgPSAiCgl0ZW1wbGF0ZWlkIEkgS0VZIEFVVE8sCgl0ZW1wbGF0ZSBDKDI1NSksCiAgCXZlcnNpb24gQygyMCksCglhYm91dCBYLAoJc2VjdGlvbiBDKDIwKSwKCXRwbHNlY3Rpb24gQygyMCksCglqcXVlcnkgSSwKCWpxdWVyeV9vd24gSSwKCXZpc2libGUgSSwKCW9wdGlvbnMgWDIKIjsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdG9vbGJveF90ZW1wbGF0ZXByb3BzIiwJJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIHR3aXR0ZXIKJGZsZHMgPSAiCgl0d2l0dGVyaWQgSSBLRVkgQVVUTywKCWhhc2ggQygyNTUpLAoJaWQgSTgsCgljcmVhdGVkX2F0IEMoMzApLAoJdHdkYXRlIERULAoJdXNlcmlkIEk4LAoJc2NyZWVubmFtZSBDKDI1NSksCglzY3JlZW5uYW1lX3VybCBDKDI1NSksCglpbWdfdXJsIEMoMjU1KSwKCWltZ191cmxfaHR0cHMgQygyNTUpLAoJYXV0aG9yIEMoMjU1KSwKCXNvdXJjZSBDKDI1NSksCglsb2NhdGlvbiBDKDI1NSksCgl0ZXh0IFgsCglyZXR3ZWV0X2NvdW50IEksCglmYXZvcml0ZWQgSSwKCXJldHdlZXRfaWQgQygyNTUpLAoJcmV0d2VldF90d2RhdGUgRFQsCglyZXR3ZWV0X3VzZXJpZCBJOCwKCXJldHdlZXRfc2NyZWVubmFtZSBDKDI1NSksCglyZXR3ZWV0X3NjcmVlbm5hbWVfdXJsIEMoMjU1KSwKCXJldHdlZXRfYXV0aG9yIEMoMjU1KSwKCXJldHdlZXRfaW1nX3VybCBDKDI1NSksCglyZXR3ZWV0X2ltZ19odHRwcyBDKDI1NSksCglyZXR3ZWV0X3NvdXJjZSBDKDI1NSksCglyZXR3ZWV0X2xvY2F0aW9uIEMoMjU1KSwKCXJldHdlZXRfdGV4dCBYLAoJanNvbmRhdGEgWAoiOwoKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV90b29sYm94X3R3IiwJJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIHR3aXR0ZXIKJGZsZHMgPSAiCgloYXNoIEMoMjU1KSBLRVksCgl0aW1lc3RhbXAgRFQKIjsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdG9vbGJveF90d3VwZGF0ZSIsCSRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoKLy8gQ1NWCiRmbGRzID0gIgoJZmlsZW5yIEkgS0VZIEFVVE8sCglmaWxlbmFtZSBDKDI1NSksCglwYXRoIFgoNTAwKSwKCWZpbGVzaXplIEk4LAoJbGFzdHVwZGF0ZSBEVAoiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Rvb2xib3hfY3N2IiwJJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgovLyBDaGVjayBvbGQgTXVsdGlEb21haW5zIHNldHRpbmdzCiRtZF9vbGR1cmwgPSAkdGJEYi0+R2V0T25lKCdTRUxFQ1Qgc2l0ZXByZWZfdmFsdWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nc2l0ZXByZWZzIFdIRVJFIHNpdGVwcmVmX25hbWUgbGlrZSAiTXVsdGlEb21haW5zX21hcGlfcHJlZl9vbGR1cmxfdXNlIicsIGFycmF5KCkpOwppZiAoISRtZF9vbGR1cmwpICRtZF9vbGR1cmwgPSAwOwokbWRfNDA0ID0gJHRiRGItPkdldE9uZSgnU0VMRUNUIHNpdGVwcmVmX3ZhbHVlIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ3NpdGVwcmVmcyBXSEVSRSBzaXRlcHJlZl9uYW1lIGxpa2UgIk11bHRpRG9tYWluc19tYXBpX3ByZWZfc3RhdHNfNDA0IicsIGFycmF5KCkpOwppZiAoISRtZF80MDQpICRtZF80MDQgPSAwOwoKCi8vIFNldCBwZXJtaXNzaW9uCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcsICdNYW5hZ2UgVG9vbEJveCcpOwoKLy8gUHJlZmVyZW5jZXMKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RvbnRfdXNlX2V2ZW50X2hhbmRsZXInLDApOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3RhdHNfdXNlJywwKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3N0YXRzXzQwNCcsJG1kXzQwNCA/ICRtZF80MDQgOiAwKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ21heF80MDQnLDEwMCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzdGF0c19kYWlseScsMCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzdGF0c19lbWFpbCcsJycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnb2xkdXJsX3VzZScsJG1kX29sZHVybCA/ICRtZF9vbGR1cmwgOiAwKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RheScsZGF0ZSgnWW1kJykpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbW9udGgnLGRhdGUoJ1ltJykpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgneWVhcicsZGF0ZSgnWScpKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlYnVnX3VzZScsMCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzb2NpYWxzaGFyZXByaXZhY3lfdXNlJywwKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltcG9ydF9tdWx0aWRvbWFpbnNfY291bnQnLDApOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWluaWZ5JywxKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2pzX2Zvb3RlcicsMSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJjc3ZfZGVsaW1pdGVyIiwiOyIpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgiY3N2X2ZpbGVjaGFyc2V0IiwiaXNvLTg4NTktMSIpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgiY3N2X2Ntc2NoYXJzZXQiLCJVVEYtOCIpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgiYXV0b2xpZ2h0Ym94X3VybHR5cGUiLCJyZWxhdGl2ZSIpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoIndtaV9wb3N4IiwiMTAiKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoIndtaV9wb3N5IiwiMTAiKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoIndtaV9wb3MiLCJMQiIpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgid21pX3JlbHNpemUiLCIzMCIpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgid210X3Bvc3giLCIxMCIpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgid210X3Bvc3kiLCIxMCIpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgid210X3BvcyIsIkxCIik7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJ3bXRfc2l6ZSIsIjEyIik7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCJ3bXRfY29sb3IiLCJmZmZmZmYiKTsKCgovLyBzZXR1cCB0ZW1wbGF0ZXMKJHRlbXBsYXRlcyA9IGFycmF5KCAKCQkJCQknYXV0b2xpZ2h0Ym94JyA9PiBhcnJheSgnZmFuY3lib3gnLCdqcXVlcnktbGlnaHRib3gnKSwgCgkJCQkJJ3R3aXR0ZXJmZWVkJyA9PiBhcnJheSgndHdpdHRlcmZlZWQnKSwgCgkJCQkJJ3NvY2lhbHNoYXJlcHJpdmFjeScgPT4gYXJyYXkoJ3NvY2lhbHNoYXJlcHJpdmFjeScpCgkJCQkJKTsKCQkJCQkKZm9yZWFjaCAoICR0ZW1wbGF0ZXMgYXMgJHNlY3Rpb24gPT4gJHRwbGFycmF5ICkKewoJZm9yZWFjaCgkdHBsYXJyYXkgYXMgJHRlbXBsYXRlKSB7CgkJJGZuID0gdGJVdGlsczo6Z2V0VHBsWE1MRmlsZSgkc2VjdGlvbiwgJHRlbXBsYXRlKTsKCQlpZiggZmlsZV9leGlzdHMoICRmbiApICkKCQl7CgkJCSR4bWwgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJCQkKCQkJaWYgKGluX2FycmF5KCR0ZW1wbGF0ZSwgYXJyYXkoJ2ZhbmN5Ym94JywndHdpdHRlcmZlZWQnKSkpCgkJCQkkc2V0Q3VycmVudCA9IHRydWU7CgkJCWVsc2UJCgkJCQkkc2V0Q3VycmVudCA9IGZhbHNlOwoJCQkKCQkJaWYgKCF0YlV0aWxzOjppbXBvcnRUZW1wbGF0ZSgkdGhpcywgJHhtbCwgdHJ1ZSwgJHNldEN1cnJlbnQpKSB7CgkJCQkkZXJyb3IgPSB0YlV0aWxzOjpnZXRFcnJvcnMoKTsKCQkJCXJldHVybiAkdGhpcy0+TGFuZygkZXJyb3JbJ2xhbmcnXSkuJyAnLiRlcnJvclsnYWRkaXRpb25hbCddOwoJCQl9CgkJfQoJCWVsc2UgewoJCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2Vycm9yX2NvdWxkbm90cGFyc2V4bWwnKS4nICcuJGZuOwoJCX0KCX0KfQoKLy8gRXZlbnRzCiR0aGlzLT5SZWdpc3RlckV2ZW50cygpOwoKLy8gV3JpdGUgbWVzc2FnZSB0byBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCdpbnN0YWxsZWQnLCR0aGlzLT5HZXRWZXJzaW9uKCkpKTsKCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvbGliL2NsYXNzLnRiVXRpbHMucGhwJyk7CgovLyBDaGVjayBhdXRob3Jpc2F0aW9uCmlmKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgovLyBEZWxldGUgYWxsIHRlbXBsYXRlcwokYWxsdGVtcGxhdGVzID0gJHRoaXMtPkxpc3RUZW1wbGF0ZXMoKTsKZm9yZWFjaCAoJGFsbHRlbXBsYXRlcyBhcyAkdHBsKQp7CgllY2hvICR0cGw7Cgl0YlV0aWxzOjpkZWxldGVUZW1wbGF0ZSgkdGhpcywgJHRwbCk7Cn0KCi8vIGNoYW5nZSBwZXJtaXNzaW9uIG9mIGFsbCBUb29sQm94IGZvbGRlciB0byA3NzcgKHNvIHRoZXkgY2FuIGRlbGV0ZWQgYnkgZnRwKQokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CnRiVXRpbHM6OnJlY3Vyc2l2ZUNobW9kKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLiIvVG9vbEJveCIsMDc3NywwNzc3KTsKdGJVdGlsczo6cmVjdXJzaXZlQ2htb2QoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uIi9BdXRvTGlnaHRCb3giLDA3NzcsMDc3Nyk7CgoKLy8gR2V0IERCIGluc3RhbmNlIGFuZCBtYWtlIERCIHNldHRpbmdzCiR0YkRiID0gY21zbXMoKS0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkdGJEYik7CgovLyBEZWxldGUgZGIgdGFibGVzCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfcmVkaXJlY3QnICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9sb2cnICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9sb2dzdW0nICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnMnICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF9lcnJvcnNfaWdub3JlJyApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfZGVidWcnICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF90ZW1wbGF0ZXByb3BzJyApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgovLyBSZW1vdmUgbW9kdWxlIHBlcm1pc3Npb25zCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpOwoKLy8gUmVtb3ZlIEV2ZW50cwokdGhpcy0+UmVtb3ZlRXZlbnRIYW5kbGVyKCdDb3JlJywnQ29udGVudFBvc3RSZW5kZXInKTsKJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlcignQ29yZScsJ0NvbnRlbnRFZGl0UHJlJyk7CiR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NvcmUnLCdOZXdzQXJ0aWNsZUFkZGVkJyk7CiR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NvcmUnLCdOZXdzQXJ0aWNsZUVkaXRlZCcpOwokb2JqID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCJDR0Jsb2ciKTsKaWYoIGlzX29iamVjdCgkb2JqKSApICB7CgkkdGhpcy0+UmVtb3ZlRXZlbnRIYW5kbGVyKCdDb3JlJywnQ0dCbG9nQXJ0aWNsZUFkZGVkJyk7CgkkdGhpcy0+UmVtb3ZlRXZlbnRIYW5kbGVyKCdDb3JlJywnQ0dCbG9nQXJ0aWNsZUVkaXRlZCcpOwp9CgovLyBSZW1vdmUgbW9kdWxlIHByZWZlcmVuY2VzCiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7CgovLyByZW1vdmUgYWxsIHRlbXBsYXRlcwokdGhpcy0+RGVsZXRlVGVtcGxhdGUoKTsKCi8vIHJlbW92ZSBjYWNoZSBmaWxlcwokbWFzayA9ICBzdHJfcmVwbGFjZSgiLyIsRElSRUNUT1JZX1NFUEFSQVRPUiwkY29uZmlnWydyb290X3BhdGgnXS4iL3RtcC9jYWNoZS9Ub29sQm94KiIpOwphcnJheV9tYXAoICJ1bmxpbmsiLCBnbG9iKCAkbWFzayApICk7CgovLyBFT0Y=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IApNb2R1bGU6IFRvb2xCb3gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgovLyBDaGVjayBhdXRob3Jpc2F0aW9uCmlmKCFpc19vYmplY3QoY21zbXMoKSkpIGV4aXQ7CgpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9saWIvY2xhc3MudGJVdGlscy5waHAnKTsKCi8vIEdldCB2ZXJzaW9uCiRjdXJyZW50X3ZlcnNpb24gPSAkb2xkdmVyc2lvbjsKCi8vIHNldHVwIGRpcmVjdG9yaWVzIGFuZC9vciBjaGVjayBpZiB3cml0YWJsZQokZGlycyA9IGFycmF5KCAnbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcycsICdtb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2NzcycsICdtb2R1bGVzL1Rvb2xCb3gvbG9nJywgJ3VwbG9hZHMvVG9vbEJveCcsICd1cGxvYWRzL1Rvb2xCb3gvQXV0b0xpZ2h0Qm94JywgJ3VwbG9hZHMvVG9vbEJveC9DU1YnKTsKZm9yZWFjaCAoICRkaXJzIGFzICRkaXIgKQp7CglpZiggIWlzX2RpcignLi4vJy4kZGlyKSApCgl7CgkJQG1rZGlyKHN0cl9yZXBsYWNlKCcvJywgRElSRUNUT1JZX1NFUEFSQVRPUiwgJy4uLycuJGRpcikpOwoJfQoJaWYoICFpc193cml0YWJsZSgnLi4vJy4kZGlyKSApCgl7CgkJLy9yZXR1cm4gZXJyb3IgdG8gTW9kdWxlTWFuYWdlcgoJCSR0bXAgPSBsYW5nKCdlcnJvcmRpcmVjdG9yeW5vdHdyaXRhYmxlJykuICcgPiAnIC4gJGRpcjsKCQlyZXR1cm4gJHRtcDsKCX0KfQoKLy8gR2V0IGRiIGhhbmRsZQokdGJEYiA9IGNtc21zKCktPkdldERiKCk7CiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJHRiRGIpOwokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdFTkdJTkUgTXlJU0FNIENIQVJBQ1RFUiBTRVQgdXRmOCBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaScsICdteXNxbGknID0+ICdFTkdJTkUgTXlJU0FNIENIQVJBQ1RFUiBTRVQgdXRmOCBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaScpOwoKc3dpdGNoICgkY3VycmVudF92ZXJzaW9uKSB7CgljYXNlICcxLjAnOgoJCS8vIENyZWF0ZSBleHRyYSBkb21haW4gdGFibGUKCQkjJGZsZHMgPSAiaWQgSSBLRVkgQVVUTyxkb21haW5faWQgSSxkb21haW4gQygxMDApLGNyZWF0ZWRfZGF0ZSAiLkNNU19BRE9EQl9EVC4iLG1vZGlmaWVkX2RhdGUgIi5DTVNfQURPREJfRFQ7CgkJIyRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV90b29sYm94X2V4dHJhZG9tYWlucyIsICRmbGRzLCAkdGFib3B0YXJyYXkpOwoJCSMkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJLy8gU2V0IHByZWZlcmVuY2UgZm9yIGRldmVsb3BtZW50IGRvbWFpbgoJCSMkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGV2ZG9tYWluJywwKTsKCQkjJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RldmlwJywnJyk7CgkJLy8gQWRkIGNvbHVtbiBmb3IgZGV2ZWxvcG1lbnQgZG9tYWluCgkJIyRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdG9vbGJveCIsICJkZXZkb21haW4gQygxMDApIik7CgkJIyRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkvLyBTZXQgbmV3IGN1cnJlbnQgdmVyc2lvbgoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMS4wLjEnOwoJY2FzZSAnMS4wLjEnOgoJCS8vIHNldHVwIGRpcmVjdG9yaWVzIGFuZC9vciBjaGVjayBpZiB3cml0YWJsZQoJCSRkaXJzID0gYXJyYXkoICdtb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzJywgJ21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzJywgJ21vZHVsZXMvVG9vbEJveC9sb2cnKTsKCQlmb3JlYWNoICggJGRpcnMgYXMgJGRpciApCgkJewoJCQlpZiggIWlzX2RpcignLi4vJy4kZGlyKSApCgkJCXsKCQkJCUBta2RpcihzdHJfcmVwbGFjZSgnLycsIERJUkVDVE9SWV9TRVBBUkFUT1IsICcuLi8nLiRkaXIpKTsKCQkJfQoJCQlpZiggIWlzX3dyaXRhYmxlKCcuLi8nLiRkaXIpICkKCQkJewoJCQkJLy9yZXR1cm4gZXJyb3IgdG8gTW9kdWxlTWFuYWdlcgoJCQkJJHRtcCA9IGxhbmcoJ2Vycm9yZGlyZWN0b3J5bm90d3JpdGFibGUnKS4gJyA+ICcgLiAkZGlyOwoJCQkJcmV0dXJuICR0bXA7CgkJCX0KCQl9CgkJLy8gU2V0IHByZWZlcmVuY2UgZm9yIHNvY2lhbCBtZWRpYSBidXR0b25zCgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NvY2lhbHNoYXJlcHJpdmFjeV91c2UnLDApOwoJCS8vIFNldCBwcmVmZXJlbmNlIGZvciBkYXRhIGltcG9ydCAoTXVsdGlEb21haW5zKQoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbXBvcnRfbXVsdGlkb21haW5zX2NvdW50JywwKTsKCQkKCQkKCQkkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ1Rvb2xCb3gtdHBsLXNvY2lhbHNoYXJlcHJpdmFjeS1zb2NpYWxzaGFyZXByaXZhY3kueG1sJzsKCQlpZiggZmlsZV9leGlzdHMoICRmbiApICkKCQl7CgkJCSR4bWwgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJCQlpZiAoIXRiVXRpbHM6OmltcG9ydFRlbXBsYXRlKCR0aGlzLCAkeG1sLCB0cnVlKSkgewoJCQkJJGVycm9yID0gdGJVdGlsczo6Z2V0RXJyb3JzKCk7CgkJCQlyZXR1cm4gJHRoaXMtPkxhbmcoJGVycm9yWydsYW5nJ10pLicgJy4kZXJyb3JbJ2FkZGl0aW9uYWwnXTsKCQkJfQoJCX0KCQkKCQkKCQkKCQkvLyBTZXQgbmV3IGN1cnJlbnQgdmVyc2lvbgoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMS4xLjAnOwoKCWNhc2UgJzEuMS4wJzoKCQkkY3VycmVudF92ZXJzaW9uID0gJzEuMS4xJzsKCQkKCWNhc2UgJzEuMS4xJzoKCQkvLyBTZXQgcHJlZmVyZW5jZSBmb3IgYXV0b2xpZ2h0Ym94CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF91c2UnLDApOwoJCQoJCS8vIHNldHVwIGRpcmVjdG9yaWVzIGFuZC9vciBjaGVjayBpZiB3cml0YWJsZQoJCSRkaXJzID0gYXJyYXkoICdtb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzJywgJ3VwbG9hZHMvQXV0b0xpZ2h0Qm94Jyk7CgkJZm9yZWFjaCAoICRkaXJzIGFzICRkaXIgKQoJCXsKCQkJaWYoICFpc19kaXIoJy4uLycuJGRpcikgKQoJCQl7CgkJCQlAbWtkaXIoc3RyX3JlcGxhY2UoJy8nLCBESVJFQ1RPUllfU0VQQVJBVE9SLCAnLi4vJy4kZGlyKSk7CgkJCX0KCQkJaWYoICFpc193cml0YWJsZSgnLi4vJy4kZGlyKSApCgkJCXsKCQkJCS8vcmV0dXJuIGVycm9yIHRvIE1vZHVsZU1hbmFnZXIKCQkJCSR0bXAgPSBsYW5nKCdlcnJvcmRpcmVjdG9yeW5vdHdyaXRhYmxlJykuICcgPiAnIC4gJGRpcjsKCQkJCXJldHVybiAkdG1wOwoJCQl9CgkJfQoJCQoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMS4yLjAnOwkKCQkKCWNhc2UgJzEuMi4wJzoKCgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcxLjIuMSc7CgkJCgljYXNlICcxLjIuMSc6CgoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMS4yLjInOwkKCQkKCWNhc2UgJzEuMi4yJzoKCQkKCQkkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoJCS8vIFRlbXBsYXRlcwoJCSRmbGRzID0gIgoJCQl0ZW1wbGF0ZWlkIEkgS0VZIEFVVE8sCgkJCXRlbXBsYXRlIEMoMjU1KSwKCQkgIAl2ZXJzaW9uIEMoMjApLAoJCQlhYm91dCBYLAoJCQlzZWN0aW9uIEMoMjApLAoJCQl2aXNpYmxlIEkKCQkiOwoJCQoJCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdG9vbGJveF90ZW1wbGF0ZXByb3BzIiwJJGZsZHMsICR0YWJvcHRhcnJheSk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwkKCgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcxLjIuMyc7CQkKCQkKCWNhc2UgJzEuMi4zJzoKCQkKCQkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Rvb2xib3hfdGVtcGxhdGVwcm9wcycsJ2pxdWVyeSBJLCBqcXVlcnlfb3duIEknKTsKCQkkcmV0dXJuID0gJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCQoJCS8vIHNldHVwIG5ldyB0ZW1wbGF0ZXMKCQkkc2VjdGlvbiA9ICJhdXRvbGlnaHRib3giOwoJCSR0ZW1wbGF0ZXMgPSBhcnJheSggJ2ZhbmN5Ym94JywgJ2pxdWVyeS1saWdodGJveCcpOwoJCQoJCWZvcmVhY2ggKCAkdGVtcGxhdGVzIGFzICR0ZW1wbGF0ZSApCgkJewoJCQkkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ1Rvb2xCb3gtdHBsLScuJHNlY3Rpb24uJy0nLiR0ZW1wbGF0ZS4nLnhtbCc7CgkJCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQoJCQl7CgkJCQkkeG1sID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCQkJCWlmICghdGJVdGlsczo6aW1wb3J0VGVtcGxhdGUoJHRoaXMsICR4bWwsIHRydWUpKSB7CgkJCQkJJGVycm9yID0gdGJVdGlsczo6Z2V0RXJyb3JzKCk7CgkJCQkJcmV0dXJuICR0aGlzLT5MYW5nKCRlcnJvclsnbGFuZyddKS4nICcuJGVycm9yWydhZGRpdGlvbmFsJ107CgkJCQl9CgkJCQlpZiAoICR0ZW1wbGF0ZSA9PSAnZmFuY3lib3gnICkKCQkJCXsKCQkJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF8nLiRzZWN0aW9uLidfY29udGVudHMnLCR0ZW1wbGF0ZWNvZGUpOwoJCQkJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjdXJyZW50XycuJHNlY3Rpb24uJ190ZW1wbGF0ZScsJ2FsYl8nLiR0ZW1wbGF0ZSk7CgkJCQl9CgkJCX0KCQl9CgkJCgkJCgkJLy8gYWRkIGF1dG9saWdodGJveCB0ZW1wbGF0ZSBpZiBsaWdodGJveCB0ZW1wbGF0ZSBpcyBhY3RpdmUKCQlpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoImF1dG9saWdodGJveF9saWdodGJveCIpKSB7CgkJCSR0ZW1wbGF0ZSA9ICJhbGJfY3VzdG9tLWpxdWVyeS1saWdodGJveCI7CgkJCSRjb250ZW50cyA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgnYXV0b2xpZ2h0Ym94Jyk7CgkJCSRjb250ZW50c2NvZGUgPSBleHBsb2RlKFRPT0xCT1hfU0VQQVJBVE9SLCAkY29udGVudHMpOwoJCQkkanF1ZXJ5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImF1dG9saWdodGJveF9qcXVlcnkiKTsKCQkJCgkJCSR0cGxjb2RlCT0gJGNvbnRlbnRzY29kZVswXTsgCgkJCSR0cGxjc3MJCT0gJGNvbnRlbnRzY29kZVsxXTsgCgkJCSR0cGxqcwkJPSBzdWJzdHIoJGNvbnRlbnRzY29kZVsyXSwwLC0yKTsKCgkJCSR0cGxqcyA9IHN0cl9yZXBsYWNlKCJtb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzL2ltYWdlcy9saWdodGJveC8iLCAibW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9hbGJfY3VzdG9tLWpxdWVyeS1saWdodGJveC8iLCAkdHBsanMpOwoJCQkKCQkJJG5ld3RwbGpzID0gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Im1vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvYWxiX2N1c3RvbS1qcXVlcnktbGlnaHRib3gvanF1ZXJ5LmxpZ2h0Ym94LmpzIj48L3NjcmlwdD4nOwoJCQkKCQkJLy8gc2F2ZSB0ZW1wbGF0ZQoJCQkkdGhpcy0+U2V0VGVtcGxhdGUoJHRlbXBsYXRlLCAkdHBsY29kZS5UT09MQk9YX1NFUEFSQVRPUi4kdHBsY3NzLlRPT0xCT1hfU0VQQVJBVE9SLiRuZXd0cGxqcy4nKn0nICk7CgkJCQoJCQkvLyBzYXZlIGNzcy1maWxlCgkJCSRoYW5kbGUgPSBmb3BlbignLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvJyAuICR0ZW1wbGF0ZSAuICcuY3NzJywndycpOwoJCQlmd3JpdGUoJGhhbmRsZSwkY29udGVudHNjb2RlWzFdKTsKCQkJZmNsb3NlKCRoYW5kbGUpOwoJCQkKCQkJLy8gc2F2ZSBwcmVmIGluIGRiCgkJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV90b29sYm94X3RlbXBsYXRlcHJvcHMKCQkJCQkodGVtcGxhdGUsdmVyc2lvbixhYm91dCxzZWN0aW9uLGpxdWVyeSx2aXNpYmxlKQoJCQkJCVZBTFVFUyAoPyw/LD8sPyw/LDEpIjsKCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0ZW1wbGF0ZSwnMS4wJywnJywkc2VjdGlvbiwkanF1ZXJ5KSk7CgkJCQoJCQkvLyBtb3ZlIGZpbGVzCgkJCSRkaXIgPSAiLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9hbGJfY3VzdG9tLWpxdWVyeS1saWdodGJveCI7CgkJCWlmICghaXNfZGlyKCRkaXIpKSBAbWtkaXIoJGRpcik7CgkJCQoJCQlpZiggIWlzX3dyaXRhYmxlKCRkaXIpICkKCQkJewoJCQkJLy9yZXR1cm4gZXJyb3IgdG8gTW9kdWxlTWFuYWdlcgoJCQkJJHRtcCA9IGxhbmcoJ2Vycm9yZGlyZWN0b3J5bm90d3JpdGFibGUnKS4gJyA+ICcgLiAkZGlyOwoJCQkJcmV0dXJuICR0bXA7CgkJCX0KCQkJCgkJCS8vIHNhdmUganMtZmlsZQoJCQkkaGFuZGxlID0gZm9wZW4oJGRpci4nL2pxdWVyeS5saWdodGJveC5qcycsJ3cnKTsKCQkJZndyaXRlKCRoYW5kbGUsJHRwbGpzKTsKCQkJZmNsb3NlKCRoYW5kbGUpOwoJCQl1bmxpbmsoJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMvYXV0b2xpZ2h0Ym94LmpzJyk7CQkJCgkJCXVubGluaygnLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvYXV0b2xpZ2h0Ym94LmNzcycpOwkJCQoJCQkKCQkJJGZpbGVzID0gYXJyYXkoCgkJCQknLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9qcy9pbWFnZXMvbGlnaHRib3gvbGlnaHRib3gtYmxhbmsuZ2lmJyAJCT0+ICRkaXIuJy9saWdodGJveC1ibGFuay5naWYnLAoJCQkJJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMvaW1hZ2VzL2xpZ2h0Ym94L2xpZ2h0Ym94LWJsYW5rLmdpZicgCQk9PiAkZGlyLicvbGlnaHRib3gtYmxhbmsuZ2lmJywKCQkJCScuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzL2ltYWdlcy9saWdodGJveC9saWdodGJveC1kZS1jbG9zZS5naWYnCSAJPT4gJGRpci4nL2xpZ2h0Ym94LWRlLWNsb3NlLmdpZicsCgkJCQknLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9qcy9pbWFnZXMvbGlnaHRib3gvbGlnaHRib3gtZGUtbmV4dC5naWYnIAkJPT4gJGRpci4nL2xpZ2h0Ym94LWRlLW5leHQuZ2lmJywKCQkJCScuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzL2ltYWdlcy9saWdodGJveC9saWdodGJveC1kZS1wcmV2LmdpZicgCQk9PiAkZGlyLicvbGlnaHRib3gtZGUtcHJldi5naWYnLAoJCQkJJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMvaW1hZ2VzL2xpZ2h0Ym94L2xpZ2h0Ym94LWVuLWNsb3NlLmdpZicJCT0+ICRkaXIuJy9saWdodGJveC1lbi1jbG9zZS5naWYnLAoJCQkJJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMvaW1hZ2VzL2xpZ2h0Ym94L2xpZ2h0Ym94LWVuLW5leHQuZ2lmJyAJCT0+ICRkaXIuJy9saWdodGJveC1lbi1uZXh0LmdpZicsCgkJCQknLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9qcy9pbWFnZXMvbGlnaHRib3gvbGlnaHRib3gtZW4tcHJldi5naWYnIAkJPT4gJGRpci4nL2xpZ2h0Ym94LWVuLXByZXYuZ2lmJywKCQkJCScuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzL2ltYWdlcy9saWdodGJveC9saWdodGJveC1pY28tbG9hZGluZy5naWYnIAk9PiAkZGlyLicvbGlnaHRib3gtaWNvLWxvYWRpbmcuZ2lmJwoJCQkpOwoJCQkKCQkJZm9yZWFjaCgkZmlsZXMgYXMgJG9sZCA9PiAkbmV3KSB7CgkJCQlpZiAoaXNfZmlsZSgkb2xkKSkgewoJCQkJCWNvcHkoJG9sZCwkbmV3KTsKCQkJCX0KCQkJfQoJCQkKCQkJLy8gZGVsZXRlIG9sZCBsaWdodGJveCBmaWxlcwoJCQl0YlV0aWxzOjpkZWxldGVGb2xkZXIoIi4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMvaW1hZ2VzL2xpZ2h0Ym94LyIpOwoJCQkKCQkJLy8gc2V0IHRlbXBsYXRlIGFzIGRlZmF1bHQKCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2N1cnJlbnRfJy4kc2VjdGlvbi4nX3RlbXBsYXRlJywnYWxiX2N1c3RvbS1qcXVlcnktbGlnaHRib3gnKTsJCQoJCQkKCQkJJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCJhdXRvbGlnaHRib3giKTsKCQkJCgkJCQoJCX0KCQllbHNlIHsKCQkJLy8gZGVsZXRlIG9sZCBsaWdodGJveCBmaWxlcwoJCQl0YlV0aWxzOjpkZWxldGVGb2xkZXIoIi4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvanMvaW1hZ2VzL2xpZ2h0Ym94LyIpOwoJCQkkdGhpcy0+RGVsZXRlVGVtcGxhdGUoImF1dG9saWdodGJveCIpOwoJCX0KCgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcxLjIuNCc7CgkJCgljYXNlICcxLjIuNCc6CgkKCQkvLyB0ZW1wbGF0ZXByb3BzCgkJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV90b29sYm94X3RlbXBsYXRlcHJvcHMnLCd0cGxzZWN0aW9uIEMoMjApLCBvcHRpb25zIFgyJyk7CgkJJHJldHVybiA9ICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkKCQkvLyB0d2l0dGVyCgkJJGZsZHMgPSAiCgkJCXR3aXR0ZXJpZCBJIEtFWSBBVVRPLAoJCQloYXNoIEMoMjU1KSwKCQkJaWQgSTgsCgkJCWNyZWF0ZWRfYXQgQygzMCksCgkJCXR3ZGF0ZSBEVCwKCQkJdXNlcmlkIEk4LAoJCQlzY3JlZW5uYW1lIEMoMjU1KSwKCQkJc2NyZWVubmFtZV91cmwgQygyNTUpLAoJCQlpbWdfdXJsIEMoMjU1KSwKCQkJaW1nX3VybF9odHRwcyBDKDI1NSksCgkJCWF1dGhvciBDKDI1NSksCgkJCXNvdXJjZSBDKDI1NSksCgkJCWxvY2F0aW9uIEMoMjU1KSwKCQkJdGV4dCBYLAoJCQlyZXR3ZWV0X2NvdW50IEksICAgICAgICAgICAgCgkJCWZhdm9yaXRlZCBJLCAgICAgICAgICAgICAgICAKCQkJcmV0d2VldF9pZCBDKDI1NSksICAgICAgICAgIAoJCQlyZXR3ZWV0X3R3ZGF0ZSBEVCwgICAgICAgICAgIAoJCQlyZXR3ZWV0X3VzZXJpZCBJOCwgICAgICAgICAgIAoJCQlyZXR3ZWV0X3NjcmVlbm5hbWUgQygyNTUpLCAgIAoJCQlyZXR3ZWV0X3NjcmVlbm5hbWVfdXJsIEMoMjU1KSwKCQkJcmV0d2VldF9hdXRob3IgQygyNTUpLCAgICAgIAoJCQlyZXR3ZWV0X2ltZ191cmwgQygyNTUpLCAgICAgCgkJCXJldHdlZXRfaW1nX2h0dHBzIEMoMjU1KSwgICAKCQkJcmV0d2VldF9zb3VyY2UgQygyNTUpLCAgICAgIAoJCQlyZXR3ZWV0X2xvY2F0aW9uIEMoMjU1KSwgICAgCgkJCXJldHdlZXRfdGV4dCBYLCAgICAgICAgICAgICAKCQkJanNvbmRhdGEgWCAgICAgICAgICAgICAgICAgIAoJCSI7CgkJCgkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV90b29sYm94X3R3IiwJJGZsZHMsICR0YWJvcHRhcnJheSk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJCQoJCS8vIFVwZGF0ZSBUd2l0dGVyCgkJJGZsZHMgPSAiCgkJCWhhc2ggQygyNTUpIEtFWSwKCQkJdGltZXN0YW1wIERUCgkJIjsKCQkKCQkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Rvb2xib3hfdHd1cGRhdGUiLAkkZmxkcywgJHRhYm9wdGFycmF5KTsKCQkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkJCgkJCgkJLy8gQ1NWCgkJJGZsZHMgPSAiCgkJCWZpbGVuciBJIEtFWSBBVVRPLAoJCQlmaWxlbmFtZSBDKDI1NSksCgkJCXBhdGggWCg1MDApLAoJCQlmaWxlc2l6ZSBJOCwKCQkJbGFzdHVwZGF0ZSBEVAoJCSI7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV90b29sYm94X2NzdiIsCSRmbGRzLCAkdGFib3B0YXJyYXkpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkJCQoJCSRmbiA9IHRiVXRpbHM6OmdldFRwbFhNTEZpbGUoInR3aXR0ZXJmZWVkIiwgInR3aXR0ZXJmZWVkIik7CgkJaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCgkJewoJCQkkeG1sID0gZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCQkJaWYgKCF0YlV0aWxzOjppbXBvcnRUZW1wbGF0ZSgkdGhpcywgJHhtbCwgdHJ1ZSwgdHJ1ZSkpIHsKCQkJCSRlcnJvciA9IHRiVXRpbHM6OmdldEVycm9ycygpOwoJCQkJcmV0dXJuICR0aGlzLT5MYW5nKCRlcnJvclsnbGFuZyddKS4nICcuJGVycm9yWydhZGRpdGlvbmFsJ107CgkJCX0KCQl9CgoJCS8vIEF1dG9MaWdodEJveCBWb3JnYWJld2VydGUgYWt0dWFsaXNpZXJlbgoJCSR4bWwgPSBmaWxlX2dldF9jb250ZW50cyggdGJVdGlsczo6Z2V0VHBsWE1MRmlsZSgiYXV0b2xpZ2h0Ym94IiwgImZhbmN5Ym94IikpOwoJCSRYTUxEYXRhID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVEYXRhRnJvbVhNTCgkeG1sKTsKCQkkdGVtcGxhdGVjb2RlID0gJFhNTERhdGFbJ3RwbGNvZGUnXS5UT09MQk9YX1NFUEFSQVRPUi4kWE1MRGF0YVsndHBsY3NzJ10uVE9PTEJPWF9TRVBBUkFUT1IuJFhNTERhdGFbJ3RwbGpzJ10uJFhNTERhdGFbJ3RwbG1vYmlsZWNvZGUnXS5UT09MQk9YX1NFUEFSQVRPUi4kWE1MRGF0YVsndHBsbW9iaWxlY3NzJ10uVE9PTEJPWF9TRVBBUkFUT1IuJFhNTERhdGFbJ3RwbG1vYmlsZWpzJ10uJyp9JzsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9hdXRvbGlnaHRib3hfY29udGVudHMnLCR0ZW1wbGF0ZWNvZGUpOwoJCQoJCS8vIFNvY2lhbFNoYXJlUHJpdmFjeSBha3R1YWxpc2llcmVuCgkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzb2NpYWxzaGFyZXByaXZhY3lfdXNlJykgPT0gMCBvciAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29jaWFsc2hhcmVwcml2YWN5X2FkdmFuY2VkJykgPT0gMCkgewoJCQkkZm4gPSB0YlV0aWxzOjpnZXRUcGxYTUxGaWxlKCJzb2NpYWxzaGFyZXByaXZhY3kiLCAic29jaWFsc2hhcmVwcml2YWN5Iik7CgkJCWlmKCBmaWxlX2V4aXN0cyggJGZuICkpIHsKCQkJCSR4bWwgPSBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJCQkJaWYgKCF0YlV0aWxzOjppbXBvcnRUZW1wbGF0ZSgkdGhpcywgJHhtbCwgdHJ1ZSwgZmFsc2UpKSB7CgkJCQkJJGVycm9yID0gdGJVdGlsczo6Z2V0RXJyb3JzKCk7CgkJCQkJcmV0dXJuICR0aGlzLT5MYW5nKCRlcnJvclsnbGFuZyddKS4nICcuJGVycm9yWydhZGRpdGlvbmFsJ107CgkJCQl9CgkJCX0KCQl9CgkJCgkJLy8gRGVsZXRlIG9sZCB0ZW1wbGF0ZSBYTUwgZmlsZXMKCQlpZiAoaXNfZmlsZSgnLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9hdXRvbGlnaHRib3gueG1sJykpIAkJQHVubGluaygnLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9hdXRvbGlnaHRib3gueG1sJyk7CgkJaWYgKGlzX2ZpbGUoJy4uL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvc29jaWFsc2hhcmVwcml2YWN5LnhtbCcpKSBAdW5saW5rKCcuLi9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL3NvY2lhbHNoYXJlcHJpdmFjeS54bWwnKTsKCQlpZiAoaXNfZmlsZSgnLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9lZGl0dGVtcGxhdGUudHBsJykpIAkJQHVubGluaygnLi4vbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9lZGl0dGVtcGxhdGUudHBsJyk7CgkJCgkJJHRoaXMtPlNldFByZWZlcmVuY2UoImNzdl9kZWxpbWl0ZXIiLCI7Iik7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoImNzdl9maWxlY2hhcnNldCIsImlzby04ODU5LTEiKTsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiY3N2X2Ntc2NoYXJzZXQiLCJVVEYtOCIpOwoJCQoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJhdXRvbGlnaHRib3hfdXJsdHlwZSIsInJlbGF0aXZlIik7CgkJCgkKCQkkY3VycmVudF92ZXJzaW9uID0gJzEuMy4wJzsKCWNhc2UgJzEuMy4wJyA6CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoIndtaV9wb3N4IiwiMTAiKTsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgid21pX3Bvc3kiLCIxMCIpOwoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJ3bWlfcG9zIiwiTEIiKTsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgid21pX3JlbHNpemUiLCIzMCIpOwoJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJ3bXRfcG9zeCIsIjEwIik7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoIndtdF9wb3N5IiwiMTAiKTsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgid210X3BvcyIsIkxCIik7CgkJJHRoaXMtPlNldFByZWZlcmVuY2UoIndtdF9zaXplIiwiMTIiKTsKCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgid210X2NvbG9yIiwiZmZmZmZmIik7CgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcxLjMuMSc7CgoJY2FzZSAnMS4zLjEnIDoKCQkkY3VycmVudF92ZXJzaW9uID0gJzEuMy4yJzsKCQkKCWNhc2UgJzEuMy4yJyA6CgkJLy8gUmVuYW1lIHJldHdlZXRfc2NyZWVubmFtZSBhbmQgcmV0d2VldF9zY3JlZW5uYW1lX3VybCBGaWVsZAoJCSRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdG9vbGJveF90dycsJ3JldHdlZXRfc2NyZWVubmFtZSBDKDI1NSksIHJldHdlZXRfc2NyZWVubmFtZV91cmwgQygyNTUpJyk7CgkJJHJldHVybiA9ICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkkY3VycmVudF92ZXJzaW9uID0gJzEuMy4zJzsKCgljYXNlICcxLjMuMycgOgoJCSRjdXJyZW50X3ZlcnNpb24gPSAnMS4zLjQnOwoKCWNhc2UgJzEuMy40JyA6CgkJJGN1cnJlbnRfdmVyc2lvbiA9ICcxLjMuNSc7Cgp9CgkKCQoKCi8vIFdyaXRlIG1lc3NhZ2UgdG8gYWRtaW4gbG9nCiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndXBkYXRlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKCi8vIEVPRg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/.htaccess</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IyBUbyBkZW55IFBIUHMKPEZpbGVzIH4gIlwuKHBocHxwaHAzfHBocDR8cGhwNXxwaHRtbHxwbHxjZ2kpJCI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgb3JkZXIgZGVueSxhbGxvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogIGRlbnkgZnJvbSBhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPC9GaWxlcz4gIAo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_autolightbox.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskbW9kLT5MYW5nKCdhdXRvbGlnaHRib3hfdGl0bGUnKX08L2gzPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KeyRtb2QtPkxhbmcoJ2F1dG9saWdodGJveF9kZXNjcmlwdGlvbicpfQo8L2Rpdj4KCnskZm9ybXN0YXJ0fQp7JHRhYnRvfQo8ZmllbGRzZXQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYXV0b2xpZ2h0Ym94X3Byb21wdF9yZWwnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVsfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnYXV0b2xpZ2h0Ym94X3Byb21wdF9jbGFzcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9jbGFzc308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2F1dG9saWdodGJveF9wcm9tcHRfbGlnaHRib3gnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbGlnaHRib3h9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdhdXRvbGlnaHRib3hfcHJvbXB0X3VybHR5cGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdXJsdHlwZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH08L3A+CjwvZGl2PgoKPC9maWVsZHNldD4KeyRmb3JtZW5kfQoKe2lmICRsaWdodGJveF91c2V9IAoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskbW9kLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGVtYW5hZ2VtZW50Jyl9PC9oMz4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JG5ld3RlbXBsYXRlbGlua308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogIDx0aGVhZD4KICAgIDx0cj4KICAgICAgPHRoIGNsYXNzPSJwYWdldzgwIj57JG1vZC0+TGFuZygncHJvbXB0X25hbWUnKX08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2V3MTAiPnskbW9kLT5MYW5nKCdwcm9tcHRfdmVyc2lvbicpfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZXcxMCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9hYm91dCcpfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPnskbW9kLT5MYW5nKCdwcm9tcHRfYWN0aXZlJyl9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+RXhwb3J0PC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4Ke2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0KICAgPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgogICAgIDx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+CiAgICAgPHRkPnskZW50cnktPnZlcnNpb259PC90ZD4KICAgICA8dGQ+eyRlbnRyeS0+YWJvdXR9PC90ZD4KICAgICA8dGQ+eyRlbnRyeS0+ZGVmYXVsdH08L3RkPgogICAgIDx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPgogICAgIDx0ZD57JGVudHJ5LT5jb3B5bGlua308L3RkPgogICAgIDx0ZD57JGVudHJ5LT5kZWxldGVsaW5rfTwvdGQ+CiAgICAgPHRkPnskZW50cnktPmV4cG9ydH08L3RkPgogICA8L3RyPgp7L2ZvcmVhY2h9CjwvdGFibGU+CjwvZGl2PgoKCgp7KiA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRuZXd0ZW1wbGF0ZWxpbmt9PC9wPgo8L2Rpdj4KKn0KeyRmb3Jtc3RhcnRpbXBvcnR9CnskdGFidG99CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygndGl0bGVfaW1wb3J0eG1sJyl9PC9sZWdlbmQ+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+TGFuZygnaW1wb3J0eG1sbm90ZScpfG5sMmJyfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdpbXBvcnR4bWwnKX06PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij4KeyRpbXBvcnR4bWx9CjwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdvdmVyd3JpdGUnKX06PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij4KeyRvdmVyd3JpdGV9CjwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+Cnskc3VibWl0fQo8L3A+CjwvZGl2PgoKey9pZn0KCjwvZmllbGRzZXQ+CnskZm9ybWVuZGltcG9ydH0KCgoKCg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_csv.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskbW9kLT5MYW5nKCdwcm9tcHRfY3N2X3RpdGxlJyl9PC9oMz4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CnskbW9kLT5MYW5nKCdjc3ZfZGVzY3JpcHRpb24nKX0KPC9kaXY+CiAKIAo8ZGl2IGlkPSJ0YnBhZ2VfdGFicyI+IAoJPGRpdiBpZD0iZmlsZXMie2lmICR0dGFidG89PSIiIG9yICR0dGFidG89PSJmaWxlcyJ9IGNsYXNzPSJhY3RpdmUiey9pZn0+CgkJeyRtb2QtPkxhbmcoJ2NzdmZpbGVzJyl9Cgk8L2Rpdj4gICAgICAgICAKCTxkaXYgaWQ9InNldHRpbmdzIntpZiAkdHRhYnRvPT0ic2V0dGluZ3MifSBjbGFzcz0iYWN0aXZlInsvaWZ9PgoJCXskbW9kLT5MYW5nKCdzZXR0aW5ncycpfSAgCgk8L2Rpdj4gICAgIAoJPGRpdiBpZD0ic3VtbWFyeSJ7aWYgJHR0YWJ0bz09InN1bW1hcnkifSBjbGFzcz0iYWN0aXZlInsvaWZ9PgoJCXskbW9kLT5MYW5nKCdwcm9tcHRfc3VtbWFyeXRlbXBsYXRlJyl9ICAgCgk8L2Rpdj4gCgk8ZGl2IGlkPSJkZXRhaWwie2lmICR0dGFidG89PSJkZXRhaWwifSBjbGFzcz0iYWN0aXZlInsvaWZ9PgoJCXskbW9kLT5MYW5nKCdwcm9tcHRfZGV0YWlsdGVtcGxhdGUnKX0gIAoJPC9kaXY+Cgk8ZGl2IGlkPSJzZWFyY2gie2lmICR0dGFidG89PSJzZWFyY2gifSBjbGFzcz0iYWN0aXZlInsvaWZ9PgoJCXskbW9kLT5MYW5nKCdzZWFyY2h0ZW1wbGF0ZScpfSAgIAoJPC9kaXY+ICAgCgk8ZGl2IGlkPSJpbXBvcnQie2lmICR0dGFidG89PSJpbXBvcnQifSBjbGFzcz0iYWN0aXZlInsvaWZ9PgoJCXskbW9kLT5MYW5nKCdpbXBvcnR4bWwnKX0gICAKCTwvZGl2PiAgICAgCjwvZGl2PiAgIAo8ZGl2IGNsYXNzPSJjbGVhcmIiPiAgCgoJPGRpdiBpZD0idGJwYWdlX2NvbnRlbnQiPiAKCQk8ZGl2IGlkPSJmaWxlc19jIj4gCgkJRGF0ZWllbgoJCTwvZGl2PgoJCTxkaXYgaWQ9InNldHRpbmdzX2MiPgoJCQl7JGZvcm1zdGFydHNldHRpbmdzfQoJCQl7JGhpZGRlbnNldHRpbmdzfQoJCQk8ZmllbGRzZXQ+CgkJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9kZWxpbWl0ZXInKX06PC9wPgoJCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPjxzcGFuIGNsYXNzPSJ3MzAiPnskZGVsaW1pdGVyfTwvc3Bhbj48L3A+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NoYXJzZXRmaWxlJyl9OjwvcD4KCQkJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij48c3BhbiBjbGFzcz0idzgwIj57JGZpbGVjaGFyc2V0fTwvc3Bhbj48L3A+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NoYXJzZXRjbXMnKX06PC9wPgoJCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPjxzcGFuIGNsYXNzPSJ3ODAiPnskY21zY2hhcnNldH08L3NwYW4+PC9wPgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0YWxsZ2VtZWlufXskcmVzZXRhbGxnZW1laW59PC9wPgoJCQkJPC9kaXY+CgkJCTwvZmllbGRzZXQ+CgkJCXskZm9ybWVuZHNldHRpbmdzfQoJCTwvZGl2PgoJICAKCQk8ZGl2IGlkPSJzdW1tYXJ5X2MiPgoJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJPHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JG5ld3N1bW1hcnl0ZW1wbGF0ZWxpbmt9PC9wPgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCQkJICA8dGhlYWQ+CgkJCSAgICA8dHI+CgkJCSAgICAgIDx0aCBjbGFzcz0icGFnZXc4MCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9uYW1lJyl9PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+eyRtb2QtPkxhbmcoJ3Byb21wdF9kZWZhdWx0Jyl9PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+RXhwb3J0PC90aD4KCQkJICAgIDwvdHI+CgkJCSAgPC90aGVhZD4KCQkJe2ZvcmVhY2ggZnJvbT0kc3VtbWFyeWl0ZW1zIGl0ZW09ZW50cnl9CgkJCSAgIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KCQkJICAgICA8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgoJCQkgICAgIDx0ZD57JGVudHJ5LT5kZWZhdWx0fTwvdGQ+CgkJCSAgICAgPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+CgkJCSAgICAgPHRkPnskZW50cnktPmNvcHlsaW5rfTwvdGQ+CgkJCSAgICAgPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KCQkJICAgICA8dGQ+eyRlbnRyeS0+ZXhwb3J0fTwvdGQ+CgkJCSAgIDwvdHI+CgkJCXsvZm9yZWFjaH0KCQkJPC90YWJsZT4KCQkJPC9kaXY+CgkJPC9kaXY+CgkgIAoJCTxkaXYgaWQ9ImRldGFpbF9jIj4KCQkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJICA8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskbmV3ZGV0YWlsdGVtcGxhdGVsaW5rfTwvcD4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CgkJCSAgPHRoZWFkPgoJCQkgICAgPHRyPgoJCQkgICAgICA8dGggY2xhc3M9InBhZ2V3ODAiPnskbmFtZXByb21wdH08L3RoPgoJCQkgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj57JGRlZmF1bHRwcm9tcHR9PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+RXhwb3J0PC90aD4KCQkJICAgIDwvdHI+CgkJCSAgPC90aGVhZD4KCQkJe2ZvcmVhY2ggZnJvbT0kZGV0YWlsaXRlbXMgaXRlbT1lbnRyeX0KCQkJICAgPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgoJCQkgICAgIDx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+CgkJCSAgICAgPHRkPnskZW50cnktPmRlZmF1bHR9PC90ZD4KCQkJICAgICA8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KCQkJICAgICA8dGQ+eyRlbnRyeS0+Y29weWxpbmt9PC90ZD4KCQkJICAgICA8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgoJCQkgICAgIDx0ZD57JGVudHJ5LT5leHBvcnR9PC90ZD4KCQkJICAgPC90cj4KCQkJey9mb3JlYWNofQoJCQk8L3RhYmxlPgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCQkKCQk8ZGl2IGlkPSJzZWFyY2hfYyI+CgkJCVNlcmFjaAoJCTwvZGl2PiAKCQkKCQk8ZGl2IGlkPSJpbXBvcnRfYyI+CgkJCXskZm9ybXN0YXJ0aW1wb3J0fQoJCQl7JGhpZGRlbmltcG9ydH0KCQkJPGZpZWxkc2V0PgoJCQk8bGVnZW5kPnskbW9kLT5MYW5nKCd0aXRsZV9pbXBvcnR4bWwnKX08L2xlZ2VuZD4KCQkJCgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5MYW5nKCdpbXBvcnR4bWxub3RlJyl8bmwyYnJ9PC9wPgoJCQk8L2Rpdj4KCQkJCgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2ltcG9ydHhtbCcpfTo8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQl7JGltcG9ydHhtbH0KCQkJPC9wPgoJCQk8L2Rpdj4KCQkJCgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ292ZXJ3cml0ZScpfTo8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQl7JG92ZXJ3cml0ZX0KCQkJPC9wPgoJCQk8L2Rpdj4KCQkJCgkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCQk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQkJeyRzdWJtaXRpbXBvcnR9CgkJCTwvcD4KCQkJPC9kaXY+CgkJCTwvZmllbGRzZXQ+CgkJCXskZm9ybWVuZGltcG9ydH0KCQk8L2Rpdj4gCgkJCgk8L2Rpdj4KPC9kaXY+CiAKIAoKIA==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_debug.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CnskdGFidG99CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZW9wdGlvbnMiPjxzdHJvbmc+eyRkZWJ1Z19sb2d9PC9zdHJvbmc+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAgICAgPHRoZWFkPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGg+eyRpZH08L3RoPgoJCQkJPHRoPnskaXB9PC90aD4KCQkJCTx0aD57JGZyb211cmx9PC90aD4KCQkJCTx0aD57JHRvdXJsfTwvdGg+CgkJCQk8dGg+eyRzdGF0dXN9PC90aD4KCQkJCTx0aD57JHRpbWV9PC90aD4KCQkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90aGVhZD4KICAgICAgICB7Zm9yZWFjaCBmcm9tPSRkZWJ1Z3MgaXRlbT1lbnRyeX0KICAgICAgICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5pZH08L3RkPgoJCQkJPHRkPnskZW50cnktPmlwfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+ZnJvbXVybH08L3RkPgoJCQkJPHRkPnskZW50cnktPnRvdXJsfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+c3RhdHVzfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+Y3JlYXRlZH08L3RkPgoJCQkJPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICB7L2ZvcmVhY2h9CiAgICA8L3RhYmxlPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRkZWxldGVhbGxsaW5rfTwvcD4KCTxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+Jm5ic3A7PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_editredirect.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9DQp7JHRhYnRvfQ0KeyRyZWRpcmVjdH0NCjxmaWVsZHNldD4NCjxsZWdlbmQ+eyRyZWRpcmVjdGVkaXR9PC9sZWdlbmQ+DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcmVkaXJlY3RpZH06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcmVkaXJlY3RpZH08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9hY3RpdmV9OjwvcD4NCgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FjdGl2ZX08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF91cmx9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCgkJeyRpbnB1dF91cmx9PGJyIC8+DQoJCXskaW5wdXRfcmVnZXhwfSZuYnNwO3skcHJvbXB0X3JlZ2V4cH0NCgk8L3A+DQo8L2Rpdj4NCntpZiAkdG91cmwgZXEgJyd9DQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfcGFnZX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcGFnZX08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+PGJyIC8+eyRhbHRlcm5hdGl2ZV91cmx9PC9wPg0KPC9kaXY+DQp7L2lmfQ0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3RvdXJsfTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF90b3VybH08L3A+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ub3Rlc306PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZG9tYWluX25vdGVzfTwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij57JHN1Ym1pdH17JGNhY2hlfXskcmVzZXR9eyRjYW5jZWx9PC9kaXY+DQo8L2ZpZWxkc2V0Pg0KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_listerrors.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9eyR0YWJ0b317JGlkc30KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+PHN0cm9uZz57JG1vZC0+TGFuZygnZXJyb3JsaXN0Jyl9PC9zdHJvbmc+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAgICAgPHRoZWFkPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ2lkJyl9PC90aD4KCQkJCTx0aD57JG1vZC0+TGFuZygnZnJvbXVybCcpfTwvdGg+CgkJCQk8dGg+eyRtb2QtPkxhbmcoJ3RvdXJsJyl9PC90aD4KCQkJCTx0aD57JG1vZC0+TGFuZygndG91cmwnKX08L3RoPgoJCQkJPHRoPnskbW9kLT5MYW5nKCdjcmVhdGVkJyl9PC90aD4KCQkJCTx0aD57JG1vZC0+TGFuZygnbW9kaWZpZWQnKX08L3RoPgogICAgICAgICAgICAgICAge2lmICRjaGVja19vbGR1cmw9PScxJ308dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPnsvaWZ9CgkJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgICAgICAgPC90cj4KICAgICAgICA8L3RoZWFkPgogICAgICAgIHtmb3JlYWNoIGZyb209JGVycm9yYXJyIGl0ZW09ZW50cnl9CiAgICAgICAgICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICAgICAgICAgIDx0ciBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+CiAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+aWR9PC90ZD4KCQkJCTx0ZD57JGVudHJ5LT5mcm9tdXJsfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+dG91cmx9PC90ZD4KCQkJCTx0ZD57JGVudHJ5LT52aXNpdHN9PC90ZD4KCQkJCTx0ZD57JGVudHJ5LT5jcmVhdGVkfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+bW9kaWZpZWR9PC90ZD4KICAgICAgICAgICAgICAgIHtpZiAkY2hlY2tfb2xkdXJsPT0nMSd9PHRkPnskZW50cnktPnJlZGlyZWN0bGlua308L3RkPnsvaWZ9CgkJCQk8dGQ+eyRlbnRyeS0+aWdub3JlbGlua308L3RkPgoJCQkJPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICB7L2ZvcmVhY2h9CiAgICA8L3RhYmxlPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskZGVsZXRlYWxsbGlua308L3A+Cgk8cCBjbGFzcz0icGFnZW9wdGlvbnMiPiZuYnNwOzwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2VvcHRpb25zIj48c3Ryb25nPnskbW9kLT5MYW5nKCdpZ25vcmVsaXN0Jyl9PC9zdHJvbmc+PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAgICAgPHRoZWFkPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ2lkJyl9PC90aD4KCQkJCTx0aD57JG1vZC0+TGFuZygnaXJlZ2V4cCcpfT88L3RoPgoJCQkJPHRoPnskbW9kLT5MYW5nKCdpdXJsJyl9PC90aD4KCQkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90aGVhZD4KICAgICAgICB7Zm9yZWFjaCBmcm9tPSRpZ25vcmVzIGl0ZW09ZW50cnl9CiAgICAgICAgICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICAgICAgICAgIDx0ciBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+CiAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+aWR9PC90ZD4KCQkJCTx0ZD57JGVudHJ5LT5pcmVnZXhwfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+aXVybH08L3RkPgoJCQkJPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICB7L2ZvcmVhY2h9CgkJe2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KCQk8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgoJCQk8dGQ+PGVtPnskbW9kLT5MYW5nKCduZXcnKX08L2VtPjwvdGQ+CgkJCTx0ZD57JGlfaXJlZ2V4cH08L3RkPgoJCQk8dGQ+eyRpX2l1cmx9PC90ZD4KCQkJPHRkPiZuYnNwOzwvdGQ+CgkJPC90cj4KICAgIDwvdGFibGU+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPnskc3VibWl0fTwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_listredirects.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRuZXdyZWRpcmVjdGxpbmt9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAgICAgPHRoZWFkPgogICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGg+eyRpZH08L3RoPgoJCQkJPHRoPnskdXJsfTwvdGg+CgkJCQk8dGg+eyRwYWdlfTwvdGg+CiAgICAgICAgICAgICAgICA8dGg+eyRhY3RpdmV9PC90aD4KICAgICAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGhlYWQ+CiAgICAgICAge2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0KICAgICAgICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgICAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5pZH08L3RkPgoJCQkJPHRkPnskZW50cnktPnVybH0mbmJzcDt7aWYgJGVudHJ5LT5yZWdleHB9eyRpbmZvaWNvbn17ZWxzZX08YSBocmVmPSJ7JGVudHJ5LT52dXJsfSIgdGl0bGU9Inskdmlld30iIHRhcmdldD0iX2JsYW5rIj57JHZpZXdpY29ufTwvYT57L2lmfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+cGFnZX08L3RkPgoJCQkJPHRkPnskZW50cnktPmFjdGl2ZX08L3RkPgogICAgICAgICAgICAgICAgPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgogICAgICAgICAgICA8L3RyPgogICAgICAgIHsvZm9yZWFjaH0KICAgIDwvdGFibGU+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JG5ld3JlZGlyZWN0bGlua308L3A+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_main.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Cjx0YWJsZSBjbGFzcz0iVG9vbEJveE1haW5UYWJsZSI+Cjx0cj4KPHRkIHN0eWxlPSJ3aWR0aDogNTAlIj48aDM+eyRwcm9tcHRfYWN0aXZlfTwvaDM+Cgp7Zm9yZWFjaCBmcm9tPSRhY3RpdmUgaXRlbT0nYSd9CjxkaXYgY2xhc3M9InRiQWN0aXZlIj57JGF9PC9kaXY+CnsvZm9yZWFjaH0KCjwvdGQ+Cjx0ZCBzdHlsZT0id2lkdGg6IDEwcHgiPiZuYnNwOzwvdGQ+Cjx0ZCBzdHlsZT0id2lkdGg6IDUwJSI+PGgzPnskcHJvbXB0X2luYWN0aXZlfTwvaDM+Cntmb3JlYWNoIGZyb209JGluYWN0aXZlIGl0ZW09J2knfQo8ZGl2IGNsYXNzPSJ0YkluYWN0aXZlIj57JGl9PC9kaXY+CnsvZm9yZWFjaH0KPC90ZD4KPC90cj4KPC90YWJsZT4=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_moduleops.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskdGl0bGV9PC9oMz4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CnskZGVzY3JpcHRpb259CjwvZGl2PgogCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICA8dGggY2xhc3M9InBhZ2V3ODAiPnskcHJvbXB0X25hbWV9PC90aD4KICAgICAgPHRoIGNsYXNzPSJwYWdldzEwIj57JHByb21wdF92ZXJzaW9ufTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPnskcHJvbXB0X3N0YXR1c308L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj57JHByb21wdF9leHBvcnR9PC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4Ke2ZvcmVhY2ggZnJvbT0kbW9kdWxlcyBpdGVtPWVudHJ5fQogICA8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSI+CiAgICAgPHRkPnskZW50cnktPm5hbWV9PC90ZD4KICAgICA8dGQ+eyRlbnRyeS0+dmVyc2lvbn08L3RkPgogICAgIDx0ZD57JGVudHJ5LT5hY3RpdmV9PC90ZD4KICAgICA8dGQ+eyRlbnRyeS0+eG1sfTwvdGQ+CiAgIDwvdHI+CnsvZm9yZWFjaH0KPC90YWJsZT4KPC9kaXY+CgoKCnskZm9ybXN0YXJ0aW1wb3J0fQp7JGhpZGRlbn0KPGZpZWxkc2V0Pgo8bGVnZW5kPnskdGl0bGVfaW1wb3J0eG1sfTwvbGVnZW5kPgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbXBvcnR4bWxub3RlfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2ltcG9ydHhtbH06PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij4KeyRpbXBvcnR4bWx9CjwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X292ZXJ3cml0ZX06PC9wPgo8cCBjbGFzcz0icGFnZWlucHV0Ij4KeyRvdmVyd3JpdGV9CjwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+Cnskc3VibWl0fQo8L3A+CjwvZGl2PgoKCgo8L2ZpZWxkc2V0Pgp7JGZvcm1lbmRpbXBvcnR9CgoKCgo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_prefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CnskdGFidG99Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPgo8L2Rpdj4KCjxoMj57JG1vZC0+TGFuZygncHJvbXB0X2dlbmVyYWxfcHJlZnMnKX08L2gyPgoKPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9tcHRfcHJlZnNfdGl0bGUnKX08L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9taW5pZnknKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9taW5pZnl9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9qYXZhc2NyaXB0X2Zvb3RlcicpfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2pzX2Zvb3Rlcn08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZG9udF91c2VfZXZlbnRfaGFuZGxlcicpfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+TGFuZygnZG9udF91c2VfZXZlbnRfaGFuZGxlcl9oZWxwJyl9PGJyIC8+eyRpbnB1dF9kb250X3VzZV9ldmVudF9oYW5kbGVyfTwvcD4KPC9kaXY+CjwvZmllbGRzZXQ+CjxwPiZuYnNwOzwvcD4KCjxoMj57JG1vZC0+TGFuZygncHJvbXB0X2ltYWdlbWFuaXB1bGF0aW9uX3NvY2lhbHBsdWdpbicpfTwvaDI+Cgo8ZmllbGRzZXQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdhdXRvbGlnaHRib3hfdXNlJyl9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYXV0b2xpZ2h0Ym94X3VzZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3NvY2lhbHNoYXJlcHJpdmFjeV91c2UnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zb2NpYWxzaGFyZXByaXZhY3lfdXNlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd0d2l0dGVyZmVlZF91c2UnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF90d2l0dGVyZmVlZF91c2V9PC9wPgo8L2Rpdj4Keyo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY3N2X3VzZScpfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2Nzdl91c2V9PC9wPgo8L2Rpdj4KKn0KCjwvZmllbGRzZXQ+CjxwPiZuYnNwOzwvcD4KPGgyPnskbW9kLT5MYW5nKCdwcm9tcHRfdHJhY2tpbmdfbG9nZ2luZycpfTwvaDI+CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygncHJvbXB0X29sZHVybF90aXRsZScpfTwvbGVnZW5kPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnb2xkdXJsX3VzZScpfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X29sZHVybF91c2V9PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9tcHRfc3RhdHNfNDA0X3RpdGxlJyl9PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzdGF0c180MDQnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdGF0c180MDR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ21heF80MDQnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkxhbmcoJ21heF80MDRfaGVscCcpfTxiciAvPnskaW5wdXRfbWF4XzQwNH08L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9tcHRfc3RhdHNfdGl0bGUnKX08L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3N0YXRzX3VzZScpfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3N0YXRzX3VzZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3RhdHNfZGFpbHknKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdGF0c19kYWlseX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3RhdHNfZW1haWwnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkxhbmcoJ3N0YXRzX2VtYWlsX2hlbHAnKX08YnIgLz57JGlucHV0X3N0YXRzX2VtYWlsfTwvcD4KPC9kaXY+CjwvZmllbGRzZXQ+CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygncHJvbXB0X2RlYnVnX3RpdGxlJyl9PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkZWJ1Z191c2UnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kZWJ1Z191c2V9PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KCjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygncHJvbXB0X3RhaWxfdGl0bGUnKX08L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3RhaWxfdXNlJyl9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGFpbF91c2V9PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KeyoKPGgyPnskbW9kLT5MYW5nKCdiYWNrdXByZWNvdmVyeScpfTwvaDI+CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygnbW9kdWxlb3BzJyl9PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cgk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdtb2R1bGVvcHNfdXNlJyl9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbW9kdWxlb3BzX3VzZX08L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoqfQo8cD4mbmJzcDs8L3A+Cgp7aWYgJG1kX3RhYmxlc19leGlzdH0KPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9tcHRfbXVsdGlkb21haW5fdGl0bGUnKX08L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2ltcG9ydF9tdWx0aWRvbWFpbnMnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pbXBvcnRfbXVsdGlkb21haW5zfXtpZiAkaW1wb3J0X211bHRpZG9tYWluc19jb3VudCA+IDB9PGJyIC8+PHNwYW4gc3R5bGU9ImNvbG9yOnJlZDsiPnskaGVscF9pbXBvcnRfbXVsdGlkb21haW5zfTwvc3Bhbj57L2lmfTwvcD4KCXtpZiAhJG1kX29sZH0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkcm9wX211bHRpZG9tYWlucycpfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kcm9wX211bHRpZG9tYWluc308L3A+Cgl7L2lmfQo8L2Rpdj4KPC9maWVsZHNldD4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_socialshareprivacy.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskdGl0bGV9PC9oMz4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CnskZGVzY3JpcHRpb259CjwvZGl2Pgp7JGZvcm1zdGFydH0KeyRoaWRkZW59CjxmaWVsZHNldD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2luZm9saW5rfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pbmZvbGlua308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfanF1ZXJ5fTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9qcXVlcnl9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2FkdmFuY2VkfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hZHZhbmNlZH08L3A+CjwvZGl2Pgp7aWYgJGFkdmFuY2VkX3VzZX0gCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90ZW1wbGF0ZX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcHJvbXB0X3RlbXBsYXRlX2luZm99PGJyIC8+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGVtcGxhdGV9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF90ZW1wbGF0ZWNzc306PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc21hcnR5dGFnc308YnIgLz57JGlucHV0X3RlbXBsYXRlY3NzfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdGVtcGxhdGVqc306PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc21hcnR5dGFnc308YnIgLz57JGlucHV0X3RlbXBsYXRlanN9PC9wPgo8L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+e2lmICRhZHZhbmNlZF91c2V9eyRpbXBvcnR0ZW1wbGF0ZWxpbmt9ICAgey9pZn17JGV4cG9ydHRlbXBsYXRlbGlua308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fXskcmVzZXR9PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_stats.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCgl7aWYgJG9sZHVybF91c2UgPT0gMX0KCQoJPGgyPnskcmVkaXJlY3R9PC9oMj4KCQoJe2lmICRzdGF0c19kYWlseSA9PSAxfQoJPGgzPnskZGF5c308L2gyPgoJPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgIDx0cj4KCQkJCTx0aD57JHVybH08L3RoPgoJCQkJPHRoPnskcGFnZX08L3RoPgoJCQkJPHRoPnskdmlzaXRzfTwvdGg+CiAgICAgICAgICAgICAgICA8dGg+eyRzZWFyY2hlbmdpbmV9PC90aD4KICAgICAgICAgICAgICAgIDx0aD57JGtleXdvcmR9PC90aD4KICAgICAgICAgICAgICAgIDx0aD57JHJlZmVyZXJ9PC90aD4KICAgICAgICAgICAgPC90cj4KICAgICAgICA8L3RoZWFkPgogICAgICAgIHtmb3JlYWNoIGZyb209JGRheXNfcmVkaXJlY3QgaXRlbT1lbnRyeX0KICAgICAgICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KCQkJCTx0ZD57JGVudHJ5LT51cmx9PC90ZD4KCQkJCTx0ZD57JGVudHJ5LT5wYWdlfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+dmlzaXRzfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+c2VhcmNoZW5naW5lfTwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+a2V5d29yZH08L3RkPgogICAgICAgICAgICAgICAgPHRkPnskZW50cnktPnJlZmVyZXJ9PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICB7L2ZvcmVhY2h9CiAgICA8L3RhYmxlPgoJey9pZn0KCgk8aDM+eyRtb250aHN9PC9oMj4KCTx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAgICAgPHRoZWFkPgogICAgICAgICAgICA8dHI+CgkJCQk8dGg+eyR1cmx9PC90aD4KCQkJCTx0aD57JHBhZ2V9PC90aD4KCQkJCTx0aD57JHZpc2l0c308L3RoPgogICAgICAgICAgICAgICAgPHRoPnskc2VhcmNoZW5naW5lfTwvdGg+CiAgICAgICAgICAgICAgICA8dGg+eyRrZXl3b3JkfTwvdGg+CiAgICAgICAgICAgICAgICA8dGg+eyRyZWZlcmVyfTwvdGg+CiAgICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90aGVhZD4KICAgICAgICB7Zm9yZWFjaCBmcm9tPSRtb250aHNfcmVkaXJlY3QgaXRlbT1lbnRyeX0KICAgICAgICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KCQkJCTx0ZD57JGVudHJ5LT51cmx9PC90ZD4KCQkJCTx0ZD57JGVudHJ5LT5wYWdlfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+dmlzaXRzfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+c2VhcmNoZW5naW5lfTwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+a2V5d29yZH08L3RkPgogICAgICAgICAgICAgICAgPHRkPnskZW50cnktPnJlZmVyZXJ9PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICB7L2ZvcmVhY2h9CiAgICA8L3RhYmxlPgoKCTxoMz57JHllYXJzfTwvaDI+Cgk8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgPHRyPgoJCQkJPHRoPnskdXJsfTwvdGg+CgkJCQk8dGg+eyRwYWdlfTwvdGg+CgkJCQk8dGg+eyR2aXNpdHN9PC90aD4KICAgICAgICAgICAgICAgIDx0aD57JHNlYXJjaGVuZ2luZX08L3RoPgogICAgICAgICAgICAgICAgPHRoPnska2V5d29yZH08L3RoPgogICAgICAgICAgICAgICAgPHRoPnskcmVmZXJlcn08L3RoPgogICAgICAgICAgICA8L3RyPgogICAgICAgIDwvdGhlYWQ+CiAgICAgICAge2ZvcmVhY2ggZnJvbT0keWVhcnNfcmVkaXJlY3QgaXRlbT1lbnRyeX0KICAgICAgICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KCQkJCTx0ZD57JGVudHJ5LT51cmx9PC90ZD4KCQkJCTx0ZD57JGVudHJ5LT5wYWdlfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+dmlzaXRzfTwvdGQ+CgkJCQk8dGQ+eyRlbnRyeS0+c2VhcmNoZW5naW5lfTwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+a2V5d29yZH08L3RkPgogICAgICAgICAgICAgICAgPHRkPnskZW50cnktPnJlZmVyZXJ9PC90ZD4KICAgICAgICAgICAgPC90cj4KICAgICAgICB7L2ZvcmVhY2h9CiAgICA8L3RhYmxlPgoJCgl7L2lmfQoKPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/admin_tail.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskbW9kLT5MYW5nKCd0YWlsX3RpdGxlJyl9PC9oMz4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CnskbW9kLT5MYW5nKCd0YWlsX2Rlc2NyaXB0aW9uJyl9CjwvZGl2Pgp7JGZvcm1zdGFydH0KeyR0YWJ0b30KPGZpZWxkc2V0Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3RhaWxfcHJvbXB0X2ZpbGVuYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZpbGV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd0YWlsX3Byb21wdF9saW5lcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9saW5lc308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4KPC9kaXY+CjwvZmllbGRzZXQ+CnskZm9ybWVuZH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_tbimage.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskbW9kLT5MYW5nKCd0YmltYWdlJyl9PC9oMz4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CnskbW9kLT5MYW5nKCd0YmltYWdlX2Rlc2NyaXB0aW9uJyl9CjwvZGl2PgoKPGRpdiBpZD0idGJwYWdlX3RhYnMiPiAKCTxkaXYgaWQ9Im1hbnVhbCJ7aWYgJHR0YWJ0bz09IiIgb3IgJHR0YWJ0bz09Im1hbnVhbCJ9IGNsYXNzPSJhY3RpdmUiey9pZn0+CgkJeyRtb2QtPkxhbmcoJ21hbnVhbCcpfQoJPC9kaXY+ICAKCTxkaXYgaWQ9IndtaSJ7aWYgJHR0YWJ0bz09IndtaSJ9IGNsYXNzPSJhY3RpdmUiey9pZn0+CgkJeyRtb2QtPkxhbmcoJ3dhdGVybWFya2ltYWdlJyl9ICAKCTwvZGl2PiAgICAgCgl7KiAgICAgICAKCTxkaXYgaWQ9IndtdCJ7aWYgJHR0YWJ0bz09IndtdCJ9IGNsYXNzPSJhY3RpdmUiey9pZn0+CgkJeyRtb2QtPkxhbmcoJ3dhdGVybWFya3RleHQnKX0KCTwvZGl2PiAgICAgIAoJKn0gCjwvZGl2PiAgIAo8ZGl2IGNsYXNzPSJjbGVhcmIiPiAgCgo8ZGl2IGlkPSJ0YnBhZ2VfY29udGVudCI+CjxkaXYgaWQ9Im1hbnVhbF9jIj4KCnskbW9kLT5MYW5nKCdoZWxwX3RiaW1hZ2UnKX0KCgo8L2Rpdj4gIAo8ZGl2IGlkPSJ3bWlfYyI+Cnskd21pZm9ybXN0YXJ0fQp7JHdtaWhpZGRlbn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3dtaV9pbWFnZScpfTwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+e2lmICR3bWlfaW1hZ2V9PGltZyBzcmM9Inskd21pX2ltYWdlfSIgLz57ZWxzZX17JG1vZC0+TGFuZygndGJpbWFnZW5vZmlsZScpfXsvaWZ9PGJyIC8+PGJyIC8+eyRpbnB1dHdtaV9pbWFnZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd3bWlfcmVsc2l6ZScpfTwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHdtaV9yZWxzaXplfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd3bXRfcG9zaXRpb24nKX08L3A+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR3bWlfcG9zfSZuYnNwOyZuYnNwOyZuYnNwO3skbW9kLT5MYW5nKCd3bXRfcG9zeCcpfSZuYnNwOyZuYnNwO3skaW5wdXR3bWlfcG9zeH0mbmJzcDsmbmJzcDsmbmJzcDt7JG1vZC0+TGFuZygnd210X3Bvc3knKX0mbmJzcDsmbmJzcDt7JGlucHV0d21pX3Bvc3l9PGJyIC8+PGJyIC8+eyR0YmltYWdlcG9zaGVscH08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPgo8L2Rpdj4KCnskZm9ybWVuZH0KPC9kaXY+CnsqCjxkaXYgaWQ9IndtdF9jIj4gCgp7JHdtdGZvcm1zdGFydH0KeyR3bXRoaWRkZW59Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd3bXRfdGV4dCcpfTwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHdtdF90ZXh0fTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd3bXRfZm9udCcpfTwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR3bXRfZm9udH08YnIgLz57JGlucHV0d210X2ZvbnR9ICB7JG1vZC0+TGFuZygnd210X3NpemUnKX0geyRpbnB1dHdtdF9zaXplfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd3bXRfY29sb3InKX08L3A+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR3bXRfY29sb3J9ICB7JG1vZC0+TGFuZygnd210X29wYWNpdHknKX0geyRpbnB1dHdtdF9vcGFjaXR5fTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd3bXRfcG9zaXRpb24nKX08L3A+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXR3bXRfcG9zfSZuYnNwOyZuYnNwOyZuYnNwO3skbW9kLT5MYW5nKCd3bXRfcG9zeCcpfSZuYnNwOyZuYnNwO3skaW5wdXR3bXRfcG9zeH0mbmJzcDsmbmJzcDsmbmJzcDt7JG1vZC0+TGFuZygnd210X3Bvc3knKX0mbmJzcDsmbmJzcDt7JGlucHV0d210X3Bvc3l9PGJyIC8+PGJyIC8+eyR0YmltYWdlcG9zaGVscH08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4KPC9kaXY+Cgp7JGZvcm1lbmR9CjwvZGl2PgoqfQo8L2Rpdj4KPC9kaXY+CgoKCgoKCgoJCQoKCiA=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_twitterfeed.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskbW9kLT5MYW5nKCdwcm9tcHRfdHdpdHRlcmZlZWRfdGl0bGUnKX08L2gzPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KeyRtb2QtPkxhbmcoJ3R3aXR0ZXJmZWVkX2Rlc2NyaXB0aW9uJyl9CjwvZGl2PgogCgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8aDM+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZW1hbmFnZW1lbnQnKX08L2gzPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskbmV3dGVtcGxhdGVsaW5rfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICA8dGggY2xhc3M9InBhZ2V3ODAiPnskbW9kLT5MYW5nKCdwcm9tcHRfbmFtZScpfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPnskbW9kLT5MYW5nKCdwcm9tcHRfZGVmYXVsdCcpfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPkV4cG9ydDwvdGg+CiAgICA8L3RyPgogIDwvdGhlYWQ+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CiAgIDx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KICAgICA8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgogICAgIDx0ZD57JGVudHJ5LT5kZWZhdWx0fTwvdGQ+CiAgICAgPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+CiAgICAgPHRkPnskZW50cnktPmNvcHlsaW5rfTwvdGQ+CiAgICAgPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KICAgICA8dGQ+eyRlbnRyeS0+ZXhwb3J0fTwvdGQ+CiAgIDwvdHI+CnsvZm9yZWFjaH0KPC90YWJsZT4KPC9kaXY+CgoKCnskZm9ybXN0YXJ0aW1wb3J0fQp7JHRhYnRvfQo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3RpdGxlX2ltcG9ydHhtbCcpfTwvbGVnZW5kPgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkxhbmcoJ2ltcG9ydHhtbG5vdGUnKXxubDJicn08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnaW1wb3J0eG1sJyl9OjwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+CnskaW1wb3J0eG1sfQo8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnb3ZlcndyaXRlJyl9OjwvcD4KPHAgY2xhc3M9InBhZ2VpbnB1dCI+Cnskb3ZlcndyaXRlfQo8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CjxwIGNsYXNzPSJwYWdlaW5wdXQiPgp7JHN1Ym1pdH0KPC9wPgo8L2Rpdj4KCgoKPC9maWVsZHNldD4KeyRmb3JtZW5kaW1wb3J0fQoKCgoK]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/blank.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/fancybox_loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/fancybox_overlay.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpCMEM4NDgzQjlDRTNFMTExODE4NUVDOTdFQ0I0RDgxRSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGREU5OEVCQzAzMjYxMUUyOTg5OURDMDlDRTJDMTc0RSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGREU5OEVCQjAzMjYxMUUyOTg5OURDMDlDRTJDMTc0RSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkIxQzg0ODNCOUNFM0UxMTE4MTg1RUM5N0VDQjREODFFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkIwQzg0ODNCOUNFM0UxMTE4MTg1RUM5N0VDQjREODFFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+s3YRAQAAABtJREFUeNpiFODh2cBABGBiIBKMKqSOQoAAAwBokQDs5F/8FAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/fancybox_sprite.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACwAAACYCAMAAACoAftQAAAAvVBMVEUAAAAAAAAAAAAODg4AAAAAAAAAAADNzc0BAQHZ2dkDAwMHBwcAAADf398CAgI/Pz8BAQEAAACCgoIcHBzl5eUAAAC/v7/x8fEGBgZnZ2cAAADs7OwGBgb4+Pg/Pz/Jycmenp5nZ2f39/eDg4MAAADQ0ND4+Piurq7a2tr8/Pzs7OwAAAD5+fn9/f3e3t4AAAD///9OTk7BwcE1NTWsrKyNjY2cnJx6enpdXV1oaGgsLCy6uroiIiLOzs5BQUFt3PCNAAAAL3RSTlMAAQMIDRIZHSMnLTpESFNVXWlpbG15en+HiZCWoaGssrO2vsDFydPU3uL4+fr9/Ywv6xsAAAQVSURBVHhe7JZbc6JMGIQXAUOQEMi3uMYkrmopZgqs5ujZ//+zvpdNzMsMlli1N3uRvtCbpzo9I+nmhyqN9OO6GNQ6Ha1SG0mcrhskXe90rvKE6kbX7r9MF4vp2887nfBrqPW0xJemD4w32e7jHIj2602SbNZ7Qfgd0zJLtgKi2B0+tSsE3h8u0RX7HGGfHWrK9oiIbrK69SiQHxTliO5VWtP0rrNEemhoj6muaYqx2XuGyJrwbgUKohhb3hIFM6wCC7Zm4+M5Zs5fpKNiTYndEOUHDFRYCeADLvGiy7DtL7E5/12gJPacalPlqEc2eoFAdmCa2UOGyOhoUuQgwo7PxCwJMGXYGcQMlyCVX3DchCkGs3V6h0iFgyUSZsuS6QQLGaYDhueUHxhf3RpzOqB8dRMcz84lf5FS9A1Ngi2PQm8PF7RBZOnEyqFnSC/BKX6bHQmucpB13mRzCJtTsPUowlpl14if2JifUXcwgeqdA2OLn1C+PdsbzCKkW0a3KeKxbbAxF4FJ9EgAaXGqyFORAuLZNrkMZNoNKnNS9PE5dpltFofjB4PJXIAk5rP/HMu4Ukmm7XjEkwLfc2yT66tJk7lp2T2H1LMtk2wVVsWpcE0SlW4DbeLE/xG3eRvfQv7Fptw4KvpDNRKLt1/3rZty/xbjrPef1+5D018ITYttkiTrfAUsrmzK3RTIT/woHxH3DaZl9h2rRH2aX0ydaYb1BVK1zNdA32RvNn7DkVmmoyeVJvYBMcdl5Vg2/lW0zpSbUNIKT12KLV8wVjsmNvGW63feU3qj86veGQmAA1e5qzbStNZdmVTlRzzbSjG+4+t4u1iqjxxjR6pczaiNBCCVXoGx25X7mUNGgJBHM/QsXWp+dk4U5xJjX4EXSM7ACcCxnnnm2zI8rxVoFgMr/lUwUpyNPvYVx/eRfaUSQzkzLWxEOVhiwynCAd2GvCm/2bquBPEo+LxnDv0YXdyfFOHQP+8EV/kY0enSorxyitoLxxwiabDRqDImWF2JJVBIeVNEk2HgsDGn7vkhcPy67lMOiBGF4AGS3tX8yYqAfb5eF/kRiMPX4cDjEDLd8wezJT4lwtHrMHBtbg6V9oLhYDYLw3A2eSVbn0elSdMCecFg+Ee0Kq7dlftLXSCrRxNE8lzH7hp0Nu3qpHQty7Ztq2sabHvtpb/SLauisVTye1O+N2Ubbxhu2xSAq6x1UwoAWfum8P3Gu5ZNYaUA2jaFJYCofVPYOWnZFD4TcLpxU1ZAnN24KRnfxQ2bshEE/Vub8r0p35vi/t9eHRoBDMNQDJUvMLkOkDMM+8D7b9cR+kOKLPy4juojnQeAkWWVAyLLLINVdovj44N8LOqi/3Djxo0bN5ZvdbWJuwHhrw2ILYdqBwDT2fEEXtrZFmVcCWLiAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/jquery.fancybox-thumbs.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IC8qIQogKiBUaHVtYm5haWwgaGVscGVyIGZvciBmYW5jeUJveAogKiB2ZXJzaW9uOiAxLjAuNyAoTW9uLCAwMSBPY3QgMjAxMikKICogQHJlcXVpcmVzIGZhbmN5Qm94IHYyLjAgb3IgbGF0ZXIKICoKICogVXNhZ2U6CiAqICAgICAkKCIuZmFuY3lib3giKS5mYW5jeWJveCh7CiAqICAgICAgICAgaGVscGVycyA6IHsKICogICAgICAgICAgICAgdGh1bWJzOiB7CiAqICAgICAgICAgICAgICAgICB3aWR0aCAgOiA1MCwKICogICAgICAgICAgICAgICAgIGhlaWdodCA6IDUwCiAqICAgICAgICAgICAgIH0KICogICAgICAgICB9CiAqICAgICB9KTsKICoKICovCihmdW5jdGlvbiAoJCkgewoJLy9TaG9ydGN1dCBmb3IgZmFuY3lCb3ggb2JqZWN0Cgl2YXIgRiA9ICQuZmFuY3lib3g7CgoJLy9BZGQgaGVscGVyIG9iamVjdAoJRi5oZWxwZXJzLnRodW1icyA9IHsKCQlkZWZhdWx0cyA6IHsKCQkJd2lkdGggICAgOiA1MCwgICAgICAgLy8gdGh1bWJuYWlsIHdpZHRoCgkJCWhlaWdodCAgIDogNTAsICAgICAgIC8vIHRodW1ibmFpbCBoZWlnaHQKCQkJcG9zaXRpb24gOiAnYm90dG9tJywgLy8gJ3RvcCcgb3IgJ2JvdHRvbScKCQkJc291cmNlICAgOiBmdW5jdGlvbiAoIGl0ZW0gKSB7ICAvLyBmdW5jdGlvbiB0byBvYnRhaW4gdGhlIFVSTCBvZiB0aGUgdGh1bWJuYWlsIGltYWdlCgkJCQl2YXIgaHJlZjsKCgkJCQlpZiAoaXRlbS5lbGVtZW50KSB7CgkJCQkJaHJlZiA9ICQoaXRlbS5lbGVtZW50KS5maW5kKCdpbWcnKS5hdHRyKCdzcmMnKTsKCQkJCX0KCgkJCQlpZiAoIWhyZWYgJiYgaXRlbS50eXBlID09PSAnaW1hZ2UnICYmIGl0ZW0uaHJlZikgewoJCQkJCWhyZWYgPSBpdGVtLmhyZWY7CgkJCQl9CgoJCQkJcmV0dXJuIGhyZWY7CgkJCX0KCQl9LAoKCQl3cmFwICA6IG51bGwsCgkJbGlzdCAgOiBudWxsLAoJCXdpZHRoIDogMCwKCgkJaW5pdDogZnVuY3Rpb24gKG9wdHMsIG9iaikgewoJCQl2YXIgdGhhdCA9IHRoaXMsCgkJCQlsaXN0LAoJCQkJdGh1bWJXaWR0aCAgPSBvcHRzLndpZHRoLAoJCQkJdGh1bWJIZWlnaHQgPSBvcHRzLmhlaWdodCwKCQkJCXRodW1iU291cmNlID0gb3B0cy5zb3VyY2U7CgoJCQkvL0J1aWxkIGxpc3Qgc3RydWN0dXJlCgkJCWxpc3QgPSAnJzsKCgkJCWZvciAodmFyIG4gPSAwOyBuIDwgb2JqLmdyb3VwLmxlbmd0aDsgbisrKSB7CgkJCQlsaXN0ICs9ICc8bGk+PGEgc3R5bGU9IndpZHRoOicgKyB0aHVtYldpZHRoICsgJ3B4O2hlaWdodDonICsgdGh1bWJIZWlnaHQgKyAncHg7IiBocmVmPSJqYXZhc2NyaXB0OmpRdWVyeS5mYW5jeWJveC5qdW1wdG8oJyArIG4gKyAnKTsiPjwvYT48L2xpPic7CgkJCX0KCgkJCXRoaXMud3JhcCA9ICQoJzxkaXYgaWQ9ImZhbmN5Ym94LXRodW1icyI+PC9kaXY+JykuYWRkQ2xhc3Mob3B0cy5wb3NpdGlvbikuYXBwZW5kVG8oJ2JvZHknKTsKCQkJdGhpcy5saXN0ID0gJCgnPHVsPicgKyBsaXN0ICsgJzwvdWw+JykuYXBwZW5kVG8odGhpcy53cmFwKTsKCgkJCS8vTG9hZCBlYWNoIHRodW1ibmFpbAoJCQkkLmVhY2gob2JqLmdyb3VwLCBmdW5jdGlvbiAoaSkgewoJCQkJdmFyIGhyZWYgPSB0aHVtYlNvdXJjZSggb2JqLmdyb3VwWyBpIF0gKTsKCgkJCQlpZiAoIWhyZWYpIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJJCgiPGltZyAvPiIpLmxvYWQoZnVuY3Rpb24gKCkgewoJCQkJCXZhciB3aWR0aCAgPSB0aGlzLndpZHRoLAoJCQkJCQloZWlnaHQgPSB0aGlzLmhlaWdodCwKCQkJCQkJd2lkdGhSYXRpbywgaGVpZ2h0UmF0aW8sIHBhcmVudDsKCgkJCQkJaWYgKCF0aGF0Lmxpc3QgfHwgIXdpZHRoIHx8ICFoZWlnaHQpIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJLy9DYWxjdWxhdGUgdGh1bWJuYWlsIHdpZHRoL2hlaWdodCBhbmQgY2VudGVyIGl0CgkJCQkJd2lkdGhSYXRpbyAgPSB3aWR0aCAvIHRodW1iV2lkdGg7CgkJCQkJaGVpZ2h0UmF0aW8gPSBoZWlnaHQgLyB0aHVtYkhlaWdodDsKCgkJCQkJcGFyZW50ID0gdGhhdC5saXN0LmNoaWxkcmVuKCkuZXEoaSkuZmluZCgnYScpOwoKCQkJCQlpZiAod2lkdGhSYXRpbyA+PSAxICYmIGhlaWdodFJhdGlvID49IDEpIHsKCQkJCQkJaWYgKHdpZHRoUmF0aW8gPiBoZWlnaHRSYXRpbykgewoJCQkJCQkJd2lkdGggID0gTWF0aC5mbG9vcih3aWR0aCAvIGhlaWdodFJhdGlvKTsKCQkJCQkJCWhlaWdodCA9IHRodW1iSGVpZ2h0OwoKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCXdpZHRoICA9IHRodW1iV2lkdGg7CgkJCQkJCQloZWlnaHQgPSBNYXRoLmZsb29yKGhlaWdodCAvIHdpZHRoUmF0aW8pOwoJCQkJCQl9CgkJCQkJfQoKCQkJCQkkKHRoaXMpLmNzcyh7CgkJCQkJCXdpZHRoICA6IHdpZHRoLAoJCQkJCQloZWlnaHQgOiBoZWlnaHQsCgkJCQkJCXRvcCAgICA6IE1hdGguZmxvb3IodGh1bWJIZWlnaHQgLyAyIC0gaGVpZ2h0IC8gMiksCgkJCQkJCWxlZnQgICA6IE1hdGguZmxvb3IodGh1bWJXaWR0aCAvIDIgLSB3aWR0aCAvIDIpCgkJCQkJfSk7CgoJCQkJCXBhcmVudC53aWR0aCh0aHVtYldpZHRoKS5oZWlnaHQodGh1bWJIZWlnaHQpOwoKCQkJCQkkKHRoaXMpLmhpZGUoKS5hcHBlbmRUbyhwYXJlbnQpLmZhZGVJbigzMDApOwoKCQkJCX0pLmF0dHIoJ3NyYycsIGhyZWYpOwoJCQl9KTsKCgkJCS8vU2V0IGluaXRpYWwgd2lkdGgKCQkJdGhpcy53aWR0aCA9IHRoaXMubGlzdC5jaGlsZHJlbigpLmVxKDApLm91dGVyV2lkdGgodHJ1ZSk7CgoJCQl0aGlzLmxpc3Qud2lkdGgodGhpcy53aWR0aCAqIChvYmouZ3JvdXAubGVuZ3RoICsgMSkpLmNzcygnbGVmdCcsIE1hdGguZmxvb3IoJCh3aW5kb3cpLndpZHRoKCkgKiAwLjUgLSAob2JqLmluZGV4ICogdGhpcy53aWR0aCArIHRoaXMud2lkdGggKiAwLjUpKSk7CgkJfSwKCgkJYmVmb3JlTG9hZDogZnVuY3Rpb24gKG9wdHMsIG9iaikgewoJCQkvL1JlbW92ZSBzZWxmIGlmIGdhbGxlcnkgZG8gbm90IGhhdmUgYXQgbGVhc3QgdHdvIGl0ZW1zCgkJCWlmIChvYmouZ3JvdXAubGVuZ3RoIDwgMikgewoJCQkJb2JqLmhlbHBlcnMudGh1bWJzID0gZmFsc2U7CgoJCQkJcmV0dXJuOwoJCQl9CgoJCQkvL0luY3JlYXNlIGJvdHRvbSBtYXJnaW4gdG8gZ2l2ZSBzcGFjZSBmb3IgdGh1bWJzCgkJCW9iai5tYXJnaW5bIG9wdHMucG9zaXRpb24gPT09ICd0b3AnID8gMCA6IDIgXSArPSAoKG9wdHMuaGVpZ2h0KSArIDE1KTsKCQl9LAoKCQlhZnRlclNob3c6IGZ1bmN0aW9uIChvcHRzLCBvYmopIHsKCQkJLy9DaGVjayBpZiBleGlzdHMgYW5kIGNyZWF0ZSBvciB1cGRhdGUgbGlzdAoJCQlpZiAodGhpcy5saXN0KSB7CgkJCQl0aGlzLm9uVXBkYXRlKG9wdHMsIG9iaik7CgoJCQl9IGVsc2UgewoJCQkJdGhpcy5pbml0KG9wdHMsIG9iaik7CgkJCX0KCgkJCS8vU2V0IGFjdGl2ZSBlbGVtZW50CgkJCXRoaXMubGlzdC5jaGlsZHJlbigpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKS5lcShvYmouaW5kZXgpLmFkZENsYXNzKCdhY3RpdmUnKTsKCQl9LAoKCQkvL0NlbnRlciBsaXN0CgkJb25VcGRhdGU6IGZ1bmN0aW9uIChvcHRzLCBvYmopIHsKCQkJaWYgKHRoaXMubGlzdCkgewoJCQkJdGhpcy5saXN0LnN0b3AodHJ1ZSkuYW5pbWF0ZSh7CgkJCQkJJ2xlZnQnOiBNYXRoLmZsb29yKCQod2luZG93KS53aWR0aCgpICogMC41IC0gKG9iai5pbmRleCAqIHRoaXMud2lkdGggKyB0aGlzLndpZHRoICogMC41KSkKCQkJCX0sIDE1MCk7CgkJCX0KCQl9LAoKCQliZWZvcmVDbG9zZTogZnVuY3Rpb24gKCkgewoJCQlpZiAodGhpcy53cmFwKSB7CgkJCQl0aGlzLndyYXAucmVtb3ZlKCk7CgkJCX0KCgkJCXRoaXMud3JhcCAgPSBudWxsOwoJCQl0aGlzLmxpc3QgID0gbnVsbDsKCQkJdGhpcy53aWR0aCA9IDA7CgkJfQoJfQoKfShqUXVlcnkpKTs=]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/jquery.fancybox.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIGZhbmN5Qm94IHYyLjEuMyBmYW5jeWFwcHMuY29tIHwgZmFuY3lhcHBzLmNvbS9mYW5jeWJveC8jbGljZW5zZSAqLwooZnVuY3Rpb24oQix4LGYscSl7dmFyIHI9ZihCKSxtPWYoeCksYj1mLmZhbmN5Ym94PWZ1bmN0aW9uKCl7Yi5vcGVuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sdT1udWxsLG49eC5jcmVhdGVUb3VjaCE9PXEscz1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5oYXNPd25Qcm9wZXJ0eSYmYSBpbnN0YW5jZW9mIGZ9LHA9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJiJzdHJpbmciPT09Zi50eXBlKGEpfSxFPWZ1bmN0aW9uKGEpe3JldHVybiBwKGEpJiYwPGEuaW5kZXhPZigiJSIpfSxrPWZ1bmN0aW9uKGEsZCl7dmFyIGU9cGFyc2VJbnQoYSwxMCl8fDA7ZCYmRShhKSYmKGUqPWIuZ2V0Vmlld3BvcnQoKVtkXS8xMDApO3JldHVybiBNYXRoLmNlaWwoZSl9LHY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gayhhLGIpKyJweCJ9O2YuZXh0ZW5kKGIse3ZlcnNpb246IjIuMS4zIixkZWZhdWx0czp7cGFkZGluZzoxNSxtYXJnaW46MjAsd2lkdGg6ODAwLGhlaWdodDo2MDAsbWluV2lkdGg6MTAwLG1pbkhlaWdodDoxMDAsCm1heFdpZHRoOjk5OTksbWF4SGVpZ2h0Ojk5OTksYXV0b1NpemU6ITAsYXV0b0hlaWdodDohMSxhdXRvV2lkdGg6ITEsYXV0b1Jlc2l6ZTohMCxhdXRvQ2VudGVyOiFuLGZpdFRvVmlldzohMCxhc3BlY3RSYXRpbzohMSx0b3BSYXRpbzowLjUsbGVmdFJhdGlvOjAuNSxzY3JvbGxpbmc6ImF1dG8iLHdyYXBDU1M6IiIsYXJyb3dzOiEwLGNsb3NlQnRuOiEwLGNsb3NlQ2xpY2s6ITEsbmV4dENsaWNrOiExLG1vdXNlV2hlZWw6ITAsYXV0b1BsYXk6ITEscGxheVNwZWVkOjNFMyxwcmVsb2FkOjMsbW9kYWw6ITEsbG9vcDohMCxhamF4OntkYXRhVHlwZToiaHRtbCIsaGVhZGVyczp7IlgtZmFuY3lCb3giOiEwfX0saWZyYW1lOntzY3JvbGxpbmc6ImF1dG8iLHByZWxvYWQ6ITB9LHN3Zjp7d21vZGU6InRyYW5zcGFyZW50IixhbGxvd2Z1bGxzY3JlZW46InRydWUiLGFsbG93c2NyaXB0YWNjZXNzOiJhbHdheXMifSxrZXlzOntuZXh0OnsxMzoibGVmdCIsMzQ6InVwIiwzOToibGVmdCIsNDA6InVwIn0sCnByZXY6ezg6InJpZ2h0IiwzMzoiZG93biIsMzc6InJpZ2h0IiwzODoiZG93biJ9LGNsb3NlOlsyN10scGxheTpbMzJdLHRvZ2dsZTpbNzBdfSxkaXJlY3Rpb246e25leHQ6ImxlZnQiLHByZXY6InJpZ2h0In0sc2Nyb2xsT3V0c2lkZTohMCxpbmRleDowLHR5cGU6bnVsbCxocmVmOm51bGwsY29udGVudDpudWxsLHRpdGxlOm51bGwsdHBsOnt3cmFwOic8ZGl2IGNsYXNzPSJmYW5jeWJveC13cmFwIiB0YWJJbmRleD0iLTEiPjxkaXYgY2xhc3M9ImZhbmN5Ym94LXNraW4iPjxkaXYgY2xhc3M9ImZhbmN5Ym94LW91dGVyIj48ZGl2IGNsYXNzPSJmYW5jeWJveC1pbm5lciI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+JyxpbWFnZTonPGltZyBjbGFzcz0iZmFuY3lib3gtaW1hZ2UiIHNyYz0ie2hyZWZ9IiBhbHQ9IiIgLz4nLGlmcmFtZTonPGlmcmFtZSBpZD0iZmFuY3lib3gtZnJhbWV7cm5kfSIgbmFtZT0iZmFuY3lib3gtZnJhbWV7cm5kfSIgY2xhc3M9ImZhbmN5Ym94LWlmcmFtZSIgZnJhbWVib3JkZXI9IjAiIHZzcGFjZT0iMCIgaHNwYWNlPSIwIiB3ZWJraXRBbGxvd0Z1bGxTY3JlZW4gbW96YWxsb3dmdWxsc2NyZWVuIGFsbG93RnVsbFNjcmVlbicrCihmLmJyb3dzZXIubXNpZT8nIGFsbG93dHJhbnNwYXJlbmN5PSJ0cnVlIic6IiIpKyI+PC9pZnJhbWU+IixlcnJvcjonPHAgY2xhc3M9ImZhbmN5Ym94LWVycm9yIj5UaGUgcmVxdWVzdGVkIGNvbnRlbnQgY2Fubm90IGJlIGxvYWRlZC48YnIvPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuPC9wPicsY2xvc2VCdG46JzxhIHRpdGxlPSJDbG9zZSIgY2xhc3M9ImZhbmN5Ym94LWl0ZW0gZmFuY3lib3gtY2xvc2UiIGhyZWY9ImphdmFzY3JpcHQ6OyI+PC9hPicsbmV4dDonPGEgdGl0bGU9Ik5leHQiIGNsYXNzPSJmYW5jeWJveC1uYXYgZmFuY3lib3gtbmV4dCIgaHJlZj0iamF2YXNjcmlwdDo7Ij48c3Bhbj48L3NwYW4+PC9hPicscHJldjonPGEgdGl0bGU9IlByZXZpb3VzIiBjbGFzcz0iZmFuY3lib3gtbmF2IGZhbmN5Ym94LXByZXYiIGhyZWY9ImphdmFzY3JpcHQ6OyI+PHNwYW4+PC9zcGFuPjwvYT4nfSxvcGVuRWZmZWN0OiJmYWRlIixvcGVuU3BlZWQ6MjUwLG9wZW5FYXNpbmc6InN3aW5nIiwKb3Blbk9wYWNpdHk6ITAsb3Blbk1ldGhvZDoiem9vbUluIixjbG9zZUVmZmVjdDoiZmFkZSIsY2xvc2VTcGVlZDoyNTAsY2xvc2VFYXNpbmc6InN3aW5nIixjbG9zZU9wYWNpdHk6ITAsY2xvc2VNZXRob2Q6Inpvb21PdXQiLG5leHRFZmZlY3Q6ImVsYXN0aWMiLG5leHRTcGVlZDoyNTAsbmV4dEVhc2luZzoic3dpbmciLG5leHRNZXRob2Q6ImNoYW5nZUluIixwcmV2RWZmZWN0OiJlbGFzdGljIixwcmV2U3BlZWQ6MjUwLHByZXZFYXNpbmc6InN3aW5nIixwcmV2TWV0aG9kOiJjaGFuZ2VPdXQiLGhlbHBlcnM6e292ZXJsYXk6ITAsdGl0bGU6ITB9LG9uQ2FuY2VsOmYubm9vcCxiZWZvcmVMb2FkOmYubm9vcCxhZnRlckxvYWQ6Zi5ub29wLGJlZm9yZVNob3c6Zi5ub29wLGFmdGVyU2hvdzpmLm5vb3AsYmVmb3JlQ2hhbmdlOmYubm9vcCxiZWZvcmVDbG9zZTpmLm5vb3AsYWZ0ZXJDbG9zZTpmLm5vb3B9LGdyb3VwOnt9LG9wdHM6e30scHJldmlvdXM6bnVsbCxjb21pbmc6bnVsbCxjdXJyZW50Om51bGwsCmlzQWN0aXZlOiExLGlzT3BlbjohMSxpc09wZW5lZDohMSx3cmFwOm51bGwsc2tpbjpudWxsLG91dGVyOm51bGwsaW5uZXI6bnVsbCxwbGF5ZXI6e3RpbWVyOm51bGwsaXNBY3RpdmU6ITF9LGFqYXhMb2FkOm51bGwsaW1nUHJlbG9hZDpudWxsLHRyYW5zaXRpb25zOnt9LGhlbHBlcnM6e30sb3BlbjpmdW5jdGlvbihhLGQpe2lmKGEmJihmLmlzUGxhaW5PYmplY3QoZCl8fChkPXt9KSwhMSE9PWIuY2xvc2UoITApKSlyZXR1cm4gZi5pc0FycmF5KGEpfHwoYT1zKGEpP2YoYSkuZ2V0KCk6W2FdKSxmLmVhY2goYSxmdW5jdGlvbihlLGMpe3ZhciBqPXt9LGcsaCxpLGwsazsib2JqZWN0Ij09PWYudHlwZShjKSYmKGMubm9kZVR5cGUmJihjPWYoYykpLHMoYyk/KGo9e2hyZWY6Yy5kYXRhKCJmYW5jeWJveC1ocmVmIil8fGMuYXR0cigiaHJlZiIpLHRpdGxlOmMuZGF0YSgiZmFuY3lib3gtdGl0bGUiKXx8Yy5hdHRyKCJ0aXRsZSIpLGlzRG9tOiEwLGVsZW1lbnQ6Y30sZi5tZXRhZGF0YSYmZi5leHRlbmQoITAsCmosYy5tZXRhZGF0YSgpKSk6aj1jKTtnPWQuaHJlZnx8ai5ocmVmfHwocChjKT9jOm51bGwpO2g9ZC50aXRsZSE9PXE/ZC50aXRsZTpqLnRpdGxlfHwiIjtsPShpPWQuY29udGVudHx8ai5jb250ZW50KT8iaHRtbCI6ZC50eXBlfHxqLnR5cGU7IWwmJmouaXNEb20mJihsPWMuZGF0YSgiZmFuY3lib3gtdHlwZSIpLGx8fChsPShsPWMucHJvcCgiY2xhc3MiKS5tYXRjaCgvZmFuY3lib3hcLihcdyspLykpP2xbMV06bnVsbCkpO3AoZykmJihsfHwoYi5pc0ltYWdlKGcpP2w9ImltYWdlIjpiLmlzU1dGKGcpP2w9InN3ZiI6IiMiPT09Zy5jaGFyQXQoMCk/bD0iaW5saW5lIjpwKGMpJiYobD0iaHRtbCIsaT1jKSksImFqYXgiPT09bCYmKGs9Zy5zcGxpdCgvXHMrLywyKSxnPWsuc2hpZnQoKSxrPWsuc2hpZnQoKSkpO2l8fCgiaW5saW5lIj09PWw/Zz9pPWYocChnKT9nLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywiIik6Zyk6ai5pc0RvbSYmKGk9Yyk6Imh0bWwiPT09bD9pPWc6IWwmJighZyYmCmouaXNEb20pJiYobD0iaW5saW5lIixpPWMpKTtmLmV4dGVuZChqLHtocmVmOmcsdHlwZTpsLGNvbnRlbnQ6aSx0aXRsZTpoLHNlbGVjdG9yOmt9KTthW2VdPWp9KSxiLm9wdHM9Zi5leHRlbmQoITAse30sYi5kZWZhdWx0cyxkKSxkLmtleXMhPT1xJiYoYi5vcHRzLmtleXM9ZC5rZXlzP2YuZXh0ZW5kKHt9LGIuZGVmYXVsdHMua2V5cyxkLmtleXMpOiExKSxiLmdyb3VwPWEsYi5fc3RhcnQoYi5vcHRzLmluZGV4KX0sY2FuY2VsOmZ1bmN0aW9uKCl7dmFyIGE9Yi5jb21pbmc7YSYmITEhPT1iLnRyaWdnZXIoIm9uQ2FuY2VsIikmJihiLmhpZGVMb2FkaW5nKCksYi5hamF4TG9hZCYmYi5hamF4TG9hZC5hYm9ydCgpLGIuYWpheExvYWQ9bnVsbCxiLmltZ1ByZWxvYWQmJihiLmltZ1ByZWxvYWQub25sb2FkPWIuaW1nUHJlbG9hZC5vbmVycm9yPW51bGwpLGEud3JhcCYmYS53cmFwLnN0b3AoITAsITApLnRyaWdnZXIoIm9uUmVzZXQiKS5yZW1vdmUoKSxiLmNvbWluZz1udWxsLGIuY3VycmVudHx8CmIuX2FmdGVyWm9vbU91dChhKSl9LGNsb3NlOmZ1bmN0aW9uKGEpe2IuY2FuY2VsKCk7ITEhPT1iLnRyaWdnZXIoImJlZm9yZUNsb3NlIikmJihiLnVuYmluZEV2ZW50cygpLGIuaXNBY3RpdmUmJighYi5pc09wZW58fCEwPT09YT8oZigiLmZhbmN5Ym94LXdyYXAiKS5zdG9wKCEwKS50cmlnZ2VyKCJvblJlc2V0IikucmVtb3ZlKCksYi5fYWZ0ZXJab29tT3V0KCkpOihiLmlzT3Blbj1iLmlzT3BlbmVkPSExLGIuaXNDbG9zaW5nPSEwLGYoIi5mYW5jeWJveC1pdGVtLCAuZmFuY3lib3gtbmF2IikucmVtb3ZlKCksYi53cmFwLnN0b3AoITAsITApLnJlbW92ZUNsYXNzKCJmYW5jeWJveC1vcGVuZWQiKSxiLnRyYW5zaXRpb25zW2IuY3VycmVudC5jbG9zZU1ldGhvZF0oKSkpKX0scGxheTpmdW5jdGlvbihhKXt2YXIgZD1mdW5jdGlvbigpe2NsZWFyVGltZW91dChiLnBsYXllci50aW1lcil9LGU9ZnVuY3Rpb24oKXtkKCk7Yi5jdXJyZW50JiZiLnBsYXllci5pc0FjdGl2ZSYmKGIucGxheWVyLnRpbWVyPQpzZXRUaW1lb3V0KGIubmV4dCxiLmN1cnJlbnQucGxheVNwZWVkKSl9LGM9ZnVuY3Rpb24oKXtkKCk7ZigiYm9keSIpLnVuYmluZCgiLnBsYXllciIpO2IucGxheWVyLmlzQWN0aXZlPSExO2IudHJpZ2dlcigib25QbGF5RW5kIil9O2lmKCEwPT09YXx8IWIucGxheWVyLmlzQWN0aXZlJiYhMSE9PWEpe2lmKGIuY3VycmVudCYmKGIuY3VycmVudC5sb29wfHxiLmN1cnJlbnQuaW5kZXg8Yi5ncm91cC5sZW5ndGgtMSkpYi5wbGF5ZXIuaXNBY3RpdmU9ITAsZigiYm9keSIpLmJpbmQoeyJhZnRlclNob3cucGxheWVyIG9uVXBkYXRlLnBsYXllciI6ZSwib25DYW5jZWwucGxheWVyIGJlZm9yZUNsb3NlLnBsYXllciI6YywiYmVmb3JlTG9hZC5wbGF5ZXIiOmR9KSxlKCksYi50cmlnZ2VyKCJvblBsYXlTdGFydCIpfWVsc2UgYygpfSxuZXh0OmZ1bmN0aW9uKGEpe3ZhciBkPWIuY3VycmVudDtkJiYocChhKXx8KGE9ZC5kaXJlY3Rpb24ubmV4dCksYi5qdW1wdG8oZC5pbmRleCsxLGEsIm5leHQiKSl9LApwcmV2OmZ1bmN0aW9uKGEpe3ZhciBkPWIuY3VycmVudDtkJiYocChhKXx8KGE9ZC5kaXJlY3Rpb24ucHJldiksYi5qdW1wdG8oZC5pbmRleC0xLGEsInByZXYiKSl9LGp1bXB0bzpmdW5jdGlvbihhLGQsZSl7dmFyIGM9Yi5jdXJyZW50O2MmJihhPWsoYSksYi5kaXJlY3Rpb249ZHx8Yy5kaXJlY3Rpb25bYT49Yy5pbmRleD8ibmV4dCI6InByZXYiXSxiLnJvdXRlcj1lfHwianVtcHRvIixjLmxvb3AmJigwPmEmJihhPWMuZ3JvdXAubGVuZ3RoK2ElYy5ncm91cC5sZW5ndGgpLGElPWMuZ3JvdXAubGVuZ3RoKSxjLmdyb3VwW2FdIT09cSYmKGIuY2FuY2VsKCksYi5fc3RhcnQoYSkpKX0scmVwb3NpdGlvbjpmdW5jdGlvbihhLGQpe3ZhciBlPWIuY3VycmVudCxjPWU/ZS53cmFwOm51bGwsajtjJiYoaj1iLl9nZXRQb3NpdGlvbihkKSxhJiYic2Nyb2xsIj09PWEudHlwZT8oZGVsZXRlIGoucG9zaXRpb24sYy5zdG9wKCEwLCEwKS5hbmltYXRlKGosMjAwKSk6KGMuY3NzKGopLGUucG9zPWYuZXh0ZW5kKHt9LAplLmRpbSxqKSkpfSx1cGRhdGU6ZnVuY3Rpb24oYSl7dmFyIGQ9YSYmYS50eXBlLGU9IWR8fCJvcmllbnRhdGlvbmNoYW5nZSI9PT1kO2UmJihjbGVhclRpbWVvdXQodSksdT1udWxsKTtiLmlzT3BlbiYmIXUmJih1PXNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgYz1iLmN1cnJlbnQ7YyYmIWIuaXNDbG9zaW5nJiYoYi53cmFwLnJlbW92ZUNsYXNzKCJmYW5jeWJveC10bXAiKSwoZXx8ImxvYWQiPT09ZHx8InJlc2l6ZSI9PT1kJiZjLmF1dG9SZXNpemUpJiZiLl9zZXREaW1lbnNpb24oKSwic2Nyb2xsIj09PWQmJmMuY2FuU2hyaW5rfHxiLnJlcG9zaXRpb24oYSksYi50cmlnZ2VyKCJvblVwZGF0ZSIpLHU9bnVsbCl9LGUmJiFuPzA6MzAwKSl9LHRvZ2dsZTpmdW5jdGlvbihhKXtiLmlzT3BlbiYmKGIuY3VycmVudC5maXRUb1ZpZXc9ImJvb2xlYW4iPT09Zi50eXBlKGEpP2E6IWIuY3VycmVudC5maXRUb1ZpZXcsbiYmKGIud3JhcC5yZW1vdmVBdHRyKCJzdHlsZSIpLmFkZENsYXNzKCJmYW5jeWJveC10bXAiKSwKYi50cmlnZ2VyKCJvblVwZGF0ZSIpKSxiLnVwZGF0ZSgpKX0saGlkZUxvYWRpbmc6ZnVuY3Rpb24oKXttLnVuYmluZCgiLmxvYWRpbmciKTtmKCIjZmFuY3lib3gtbG9hZGluZyIpLnJlbW92ZSgpfSxzaG93TG9hZGluZzpmdW5jdGlvbigpe3ZhciBhLGQ7Yi5oaWRlTG9hZGluZygpO2E9ZignPGRpdiBpZD0iZmFuY3lib3gtbG9hZGluZyI+PGRpdj48L2Rpdj48L2Rpdj4nKS5jbGljayhiLmNhbmNlbCkuYXBwZW5kVG8oImJvZHkiKTttLmJpbmQoImtleWRvd24ubG9hZGluZyIsZnVuY3Rpb24oYSl7aWYoMjc9PT0oYS53aGljaHx8YS5rZXlDb2RlKSlhLnByZXZlbnREZWZhdWx0KCksYi5jYW5jZWwoKX0pO2IuZGVmYXVsdHMuZml4ZWR8fChkPWIuZ2V0Vmlld3BvcnQoKSxhLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6MC41KmQuaCtkLnksbGVmdDowLjUqZC53K2QueH0pKX0sZ2V0Vmlld3BvcnQ6ZnVuY3Rpb24oKXt2YXIgYT1iLmN1cnJlbnQmJmIuY3VycmVudC5sb2NrZWR8fAohMSxkPXt4OnIuc2Nyb2xsTGVmdCgpLHk6ci5zY3JvbGxUb3AoKX07YT8oZC53PWFbMF0uY2xpZW50V2lkdGgsZC5oPWFbMF0uY2xpZW50SGVpZ2h0KTooZC53PW4mJkIuaW5uZXJXaWR0aD9CLmlubmVyV2lkdGg6ci53aWR0aCgpLGQuaD1uJiZCLmlubmVySGVpZ2h0P0IuaW5uZXJIZWlnaHQ6ci5oZWlnaHQoKSk7cmV0dXJuIGR9LHVuYmluZEV2ZW50czpmdW5jdGlvbigpe2Iud3JhcCYmcyhiLndyYXApJiZiLndyYXAudW5iaW5kKCIuZmIiKTttLnVuYmluZCgiLmZiIik7ci51bmJpbmQoIi5mYiIpfSxiaW5kRXZlbnRzOmZ1bmN0aW9uKCl7dmFyIGE9Yi5jdXJyZW50LGQ7YSYmKHIuYmluZCgib3JpZW50YXRpb25jaGFuZ2UuZmIiKyhuPyIiOiIgcmVzaXplLmZiIikrKGEuYXV0b0NlbnRlciYmIWEubG9ja2VkPyIgc2Nyb2xsLmZiIjoiIiksYi51cGRhdGUpLChkPWEua2V5cykmJm0uYmluZCgia2V5ZG93bi5mYiIsZnVuY3Rpb24oZSl7dmFyIGM9ZS53aGljaHx8ZS5rZXlDb2RlLGo9CmUudGFyZ2V0fHxlLnNyY0VsZW1lbnQ7aWYoMjc9PT1jJiZiLmNvbWluZylyZXR1cm4hMTshZS5jdHJsS2V5JiYoIWUuYWx0S2V5JiYhZS5zaGlmdEtleSYmIWUubWV0YUtleSYmKCFqfHwhai50eXBlJiYhZihqKS5pcygiW2NvbnRlbnRlZGl0YWJsZV0iKSkpJiZmLmVhY2goZCxmdW5jdGlvbihkLGope2lmKDE8YS5ncm91cC5sZW5ndGgmJmpbY10hPT1xKXJldHVybiBiW2RdKGpbY10pLGUucHJldmVudERlZmF1bHQoKSwhMTtpZigtMTxmLmluQXJyYXkoYyxqKSlyZXR1cm4gYltkXSgpLGUucHJldmVudERlZmF1bHQoKSwhMX0pfSksZi5mbi5tb3VzZXdoZWVsJiZhLm1vdXNlV2hlZWwmJmIud3JhcC5iaW5kKCJtb3VzZXdoZWVsLmZiIixmdW5jdGlvbihkLGMsaixnKXtmb3IodmFyIGg9ZihkLnRhcmdldHx8bnVsbCksaT0hMTtoLmxlbmd0aCYmIWkmJiFoLmlzKCIuZmFuY3lib3gtc2tpbiIpJiYhaC5pcygiLmZhbmN5Ym94LXdyYXAiKTspaT1oWzBdJiYhKGhbMF0uc3R5bGUub3ZlcmZsb3cmJgoiaGlkZGVuIj09PWhbMF0uc3R5bGUub3ZlcmZsb3cpJiYoaFswXS5jbGllbnRXaWR0aCYmaFswXS5zY3JvbGxXaWR0aD5oWzBdLmNsaWVudFdpZHRofHxoWzBdLmNsaWVudEhlaWdodCYmaFswXS5zY3JvbGxIZWlnaHQ+aFswXS5jbGllbnRIZWlnaHQpLGg9ZihoKS5wYXJlbnQoKTtpZigwIT09YyYmIWkmJjE8Yi5ncm91cC5sZW5ndGgmJiFhLmNhblNocmluayl7aWYoMDxnfHwwPGopYi5wcmV2KDA8Zz8iZG93biI6ImxlZnQiKTtlbHNlIGlmKDA+Z3x8MD5qKWIubmV4dCgwPmc/InVwIjoicmlnaHQiKTtkLnByZXZlbnREZWZhdWx0KCl9fSkpfSx0cmlnZ2VyOmZ1bmN0aW9uKGEsZCl7dmFyIGUsYz1kfHxiLmNvbWluZ3x8Yi5jdXJyZW50O2lmKGMpe2YuaXNGdW5jdGlvbihjW2FdKSYmKGU9Y1thXS5hcHBseShjLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSkpO2lmKCExPT09ZSlyZXR1cm4hMTtjLmhlbHBlcnMmJmYuZWFjaChjLmhlbHBlcnMsZnVuY3Rpb24oZCwKZSl7ZSYmKGIuaGVscGVyc1tkXSYmZi5pc0Z1bmN0aW9uKGIuaGVscGVyc1tkXVthXSkpJiYoZT1mLmV4dGVuZCghMCx7fSxiLmhlbHBlcnNbZF0uZGVmYXVsdHMsZSksYi5oZWxwZXJzW2RdW2FdKGUsYykpfSk7Zi5ldmVudC50cmlnZ2VyKGErIi5mYiIpfX0saXNJbWFnZTpmdW5jdGlvbihhKXtyZXR1cm4gcChhKSYmYS5tYXRjaCgvKF5kYXRhOmltYWdlXC8uKiwpfChcLihqcChlfGd8ZWcpfGdpZnxwbmd8Ym1wfHdlYnApKChcP3wjKS4qKT8kKS9pKX0saXNTV0Y6ZnVuY3Rpb24oYSl7cmV0dXJuIHAoYSkmJmEubWF0Y2goL1wuKHN3ZikoKFw/fCMpLiopPyQvaSl9LF9zdGFydDpmdW5jdGlvbihhKXt2YXIgZD17fSxlLGMsYT1rKGEpO2U9Yi5ncm91cFthXXx8bnVsbDtpZighZSlyZXR1cm4hMTtkPWYuZXh0ZW5kKCEwLHt9LGIub3B0cyxlKTtlPWQubWFyZ2luO2M9ZC5wYWRkaW5nOyJudW1iZXIiPT09Zi50eXBlKGUpJiYoZC5tYXJnaW49W2UsZSxlLGVdKTsibnVtYmVyIj09PWYudHlwZShjKSYmCihkLnBhZGRpbmc9W2MsYyxjLGNdKTtkLm1vZGFsJiZmLmV4dGVuZCghMCxkLHtjbG9zZUJ0bjohMSxjbG9zZUNsaWNrOiExLG5leHRDbGljazohMSxhcnJvd3M6ITEsbW91c2VXaGVlbDohMSxrZXlzOm51bGwsaGVscGVyczp7b3ZlcmxheTp7Y2xvc2VDbGljazohMX19fSk7ZC5hdXRvU2l6ZSYmKGQuYXV0b1dpZHRoPWQuYXV0b0hlaWdodD0hMCk7ImF1dG8iPT09ZC53aWR0aCYmKGQuYXV0b1dpZHRoPSEwKTsiYXV0byI9PT1kLmhlaWdodCYmKGQuYXV0b0hlaWdodD0hMCk7ZC5ncm91cD1iLmdyb3VwO2QuaW5kZXg9YTtiLmNvbWluZz1kO2lmKCExPT09Yi50cmlnZ2VyKCJiZWZvcmVMb2FkIikpYi5jb21pbmc9bnVsbDtlbHNle2M9ZC50eXBlO2U9ZC5ocmVmO2lmKCFjKXJldHVybiBiLmNvbWluZz1udWxsLGIuY3VycmVudCYmYi5yb3V0ZXImJiJqdW1wdG8iIT09Yi5yb3V0ZXI/KGIuY3VycmVudC5pbmRleD1hLGJbYi5yb3V0ZXJdKGIuZGlyZWN0aW9uKSk6ITE7Yi5pc0FjdGl2ZT0KITA7aWYoImltYWdlIj09PWN8fCJzd2YiPT09YylkLmF1dG9IZWlnaHQ9ZC5hdXRvV2lkdGg9ITEsZC5zY3JvbGxpbmc9InZpc2libGUiOyJpbWFnZSI9PT1jJiYoZC5hc3BlY3RSYXRpbz0hMCk7ImlmcmFtZSI9PT1jJiZuJiYoZC5zY3JvbGxpbmc9InNjcm9sbCIpO2Qud3JhcD1mKGQudHBsLndyYXApLmFkZENsYXNzKCJmYW5jeWJveC0iKyhuPyJtb2JpbGUiOiJkZXNrdG9wIikrIiBmYW5jeWJveC10eXBlLSIrYysiIGZhbmN5Ym94LXRtcCAiK2Qud3JhcENTUykuYXBwZW5kVG8oZC5wYXJlbnR8fCJib2R5Iik7Zi5leHRlbmQoZCx7c2tpbjpmKCIuZmFuY3lib3gtc2tpbiIsZC53cmFwKSxvdXRlcjpmKCIuZmFuY3lib3gtb3V0ZXIiLGQud3JhcCksaW5uZXI6ZigiLmZhbmN5Ym94LWlubmVyIixkLndyYXApfSk7Zi5lYWNoKFsiVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJMZWZ0Il0sZnVuY3Rpb24oYSxiKXtkLnNraW4uY3NzKCJwYWRkaW5nIitiLHYoZC5wYWRkaW5nW2FdKSl9KTtiLnRyaWdnZXIoIm9uUmVhZHkiKTsKaWYoImlubGluZSI9PT1jfHwiaHRtbCI9PT1jKXtpZighZC5jb250ZW50fHwhZC5jb250ZW50Lmxlbmd0aClyZXR1cm4gYi5fZXJyb3IoImNvbnRlbnQiKX1lbHNlIGlmKCFlKXJldHVybiBiLl9lcnJvcigiaHJlZiIpOyJpbWFnZSI9PT1jP2IuX2xvYWRJbWFnZSgpOiJhamF4Ij09PWM/Yi5fbG9hZEFqYXgoKToiaWZyYW1lIj09PWM/Yi5fbG9hZElmcmFtZSgpOmIuX2FmdGVyTG9hZCgpfX0sX2Vycm9yOmZ1bmN0aW9uKGEpe2YuZXh0ZW5kKGIuY29taW5nLHt0eXBlOiJodG1sIixhdXRvV2lkdGg6ITAsYXV0b0hlaWdodDohMCxtaW5XaWR0aDowLG1pbkhlaWdodDowLHNjcm9sbGluZzoibm8iLGhhc0Vycm9yOmEsY29udGVudDpiLmNvbWluZy50cGwuZXJyb3J9KTtiLl9hZnRlckxvYWQoKX0sX2xvYWRJbWFnZTpmdW5jdGlvbigpe3ZhciBhPWIuaW1nUHJlbG9hZD1uZXcgSW1hZ2U7YS5vbmxvYWQ9ZnVuY3Rpb24oKXt0aGlzLm9ubG9hZD10aGlzLm9uZXJyb3I9bnVsbDtiLmNvbWluZy53aWR0aD0KdGhpcy53aWR0aDtiLmNvbWluZy5oZWlnaHQ9dGhpcy5oZWlnaHQ7Yi5fYWZ0ZXJMb2FkKCl9O2Eub25lcnJvcj1mdW5jdGlvbigpe3RoaXMub25sb2FkPXRoaXMub25lcnJvcj1udWxsO2IuX2Vycm9yKCJpbWFnZSIpfTthLnNyYz1iLmNvbWluZy5ocmVmOyEwIT09YS5jb21wbGV0ZSYmYi5zaG93TG9hZGluZygpfSxfbG9hZEFqYXg6ZnVuY3Rpb24oKXt2YXIgYT1iLmNvbWluZztiLnNob3dMb2FkaW5nKCk7Yi5hamF4TG9hZD1mLmFqYXgoZi5leHRlbmQoe30sYS5hamF4LHt1cmw6YS5ocmVmLGVycm9yOmZ1bmN0aW9uKGEsZSl7Yi5jb21pbmcmJiJhYm9ydCIhPT1lP2IuX2Vycm9yKCJhamF4IixhKTpiLmhpZGVMb2FkaW5nKCl9LHN1Y2Nlc3M6ZnVuY3Rpb24oZCxlKXsic3VjY2VzcyI9PT1lJiYoYS5jb250ZW50PWQsYi5fYWZ0ZXJMb2FkKCkpfX0pKX0sX2xvYWRJZnJhbWU6ZnVuY3Rpb24oKXt2YXIgYT1iLmNvbWluZyxkPWYoYS50cGwuaWZyYW1lLnJlcGxhY2UoL1x7cm5kXH0vZywKKG5ldyBEYXRlKS5nZXRUaW1lKCkpKS5hdHRyKCJzY3JvbGxpbmciLG4/ImF1dG8iOmEuaWZyYW1lLnNjcm9sbGluZykuYXR0cigic3JjIixhLmhyZWYpO2YoYS53cmFwKS5iaW5kKCJvblJlc2V0IixmdW5jdGlvbigpe3RyeXtmKHRoaXMpLmZpbmQoImlmcmFtZSIpLmhpZGUoKS5hdHRyKCJzcmMiLCIvL2Fib3V0OmJsYW5rIikuZW5kKCkuZW1wdHkoKX1jYXRjaChhKXt9fSk7YS5pZnJhbWUucHJlbG9hZCYmKGIuc2hvd0xvYWRpbmcoKSxkLm9uZSgibG9hZCIsZnVuY3Rpb24oKXtmKHRoaXMpLmRhdGEoInJlYWR5IiwxKTtufHxmKHRoaXMpLmJpbmQoImxvYWQuZmIiLGIudXBkYXRlKTtmKHRoaXMpLnBhcmVudHMoIi5mYW5jeWJveC13cmFwIikud2lkdGgoIjEwMCUiKS5yZW1vdmVDbGFzcygiZmFuY3lib3gtdG1wIikuc2hvdygpO2IuX2FmdGVyTG9hZCgpfSkpO2EuY29udGVudD1kLmFwcGVuZFRvKGEuaW5uZXIpO2EuaWZyYW1lLnByZWxvYWR8fGIuX2FmdGVyTG9hZCgpfSxfcHJlbG9hZEltYWdlczpmdW5jdGlvbigpe3ZhciBhPQpiLmdyb3VwLGQ9Yi5jdXJyZW50LGU9YS5sZW5ndGgsYz1kLnByZWxvYWQ/TWF0aC5taW4oZC5wcmVsb2FkLGUtMSk6MCxmLGc7Zm9yKGc9MTtnPD1jO2crPTEpZj1hWyhkLmluZGV4K2cpJWVdLCJpbWFnZSI9PT1mLnR5cGUmJmYuaHJlZiYmKChuZXcgSW1hZ2UpLnNyYz1mLmhyZWYpfSxfYWZ0ZXJMb2FkOmZ1bmN0aW9uKCl7dmFyIGE9Yi5jb21pbmcsZD1iLmN1cnJlbnQsZSxjLGosZyxoO2IuaGlkZUxvYWRpbmcoKTtpZihhJiYhMSE9PWIuaXNBY3RpdmUpaWYoITE9PT1iLnRyaWdnZXIoImFmdGVyTG9hZCIsYSxkKSlhLndyYXAuc3RvcCghMCkudHJpZ2dlcigib25SZXNldCIpLnJlbW92ZSgpLGIuY29taW5nPW51bGw7ZWxzZXtkJiYoYi50cmlnZ2VyKCJiZWZvcmVDaGFuZ2UiLGQpLGQud3JhcC5zdG9wKCEwKS5yZW1vdmVDbGFzcygiZmFuY3lib3gtb3BlbmVkIikuZmluZCgiLmZhbmN5Ym94LWl0ZW0sIC5mYW5jeWJveC1uYXYiKS5yZW1vdmUoKSk7Yi51bmJpbmRFdmVudHMoKTsKZT1hLmNvbnRlbnQ7Yz1hLnR5cGU7aj1hLnNjcm9sbGluZztmLmV4dGVuZChiLHt3cmFwOmEud3JhcCxza2luOmEuc2tpbixvdXRlcjphLm91dGVyLGlubmVyOmEuaW5uZXIsY3VycmVudDphLHByZXZpb3VzOmR9KTtnPWEuaHJlZjtzd2l0Y2goYyl7Y2FzZSAiaW5saW5lIjpjYXNlICJhamF4IjpjYXNlICJodG1sIjphLnNlbGVjdG9yP2U9ZigiPGRpdj4iKS5odG1sKGUpLmZpbmQoYS5zZWxlY3Rvcik6cyhlKSYmKGUuZGF0YSgiZmFuY3lib3gtcGxhY2Vob2xkZXIiKXx8ZS5kYXRhKCJmYW5jeWJveC1wbGFjZWhvbGRlciIsZignPGRpdiBjbGFzcz0iZmFuY3lib3gtcGxhY2Vob2xkZXIiPjwvZGl2PicpLmluc2VydEFmdGVyKGUpLmhpZGUoKSksZT1lLnNob3coKS5kZXRhY2goKSxhLndyYXAuYmluZCgib25SZXNldCIsZnVuY3Rpb24oKXtmKHRoaXMpLmZpbmQoZSkubGVuZ3RoJiZlLmhpZGUoKS5yZXBsYWNlQWxsKGUuZGF0YSgiZmFuY3lib3gtcGxhY2Vob2xkZXIiKSkuZGF0YSgiZmFuY3lib3gtcGxhY2Vob2xkZXIiLAohMSl9KSk7YnJlYWs7Y2FzZSAiaW1hZ2UiOmU9YS50cGwuaW1hZ2UucmVwbGFjZSgie2hyZWZ9IixnKTticmVhaztjYXNlICJzd2YiOmU9JzxvYmplY3QgaWQ9ImZhbmN5Ym94LXN3ZiIgY2xhc3NpZD0iY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIj48cGFyYW0gbmFtZT0ibW92aWUiIHZhbHVlPSInK2crJyI+PC9wYXJhbT4nLGg9IiIsZi5lYWNoKGEuc3dmLGZ1bmN0aW9uKGEsYil7ZSs9JzxwYXJhbSBuYW1lPSInK2ErJyIgdmFsdWU9IicrYisnIj48L3BhcmFtPic7aCs9IiAiK2ErJz0iJytiKyciJ30pLGUrPSc8ZW1iZWQgc3JjPSInK2crJyIgdHlwZT0iYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiJytoKyI+PC9lbWJlZD48L29iamVjdD4ifSghcyhlKXx8IWUucGFyZW50KCkuaXMoYS5pbm5lcikpJiZhLmlubmVyLmFwcGVuZChlKTtiLnRyaWdnZXIoImJlZm9yZVNob3ciKTsKYS5pbm5lci5jc3MoIm92ZXJmbG93IiwieWVzIj09PWo/InNjcm9sbCI6Im5vIj09PWo/ImhpZGRlbiI6aik7Yi5fc2V0RGltZW5zaW9uKCk7Yi5yZXBvc2l0aW9uKCk7Yi5pc09wZW49ITE7Yi5jb21pbmc9bnVsbDtiLmJpbmRFdmVudHMoKTtpZihiLmlzT3BlbmVkKXtpZihkLnByZXZNZXRob2QpYi50cmFuc2l0aW9uc1tkLnByZXZNZXRob2RdKCl9ZWxzZSBmKCIuZmFuY3lib3gtd3JhcCIpLm5vdChhLndyYXApLnN0b3AoITApLnRyaWdnZXIoIm9uUmVzZXQiKS5yZW1vdmUoKTtiLnRyYW5zaXRpb25zW2IuaXNPcGVuZWQ/YS5uZXh0TWV0aG9kOmEub3Blbk1ldGhvZF0oKTtiLl9wcmVsb2FkSW1hZ2VzKCl9fSxfc2V0RGltZW5zaW9uOmZ1bmN0aW9uKCl7dmFyIGE9Yi5nZXRWaWV3cG9ydCgpLGQ9MCxlPSExLGM9ITEsZT1iLndyYXAsaj1iLnNraW4sZz1iLmlubmVyLGg9Yi5jdXJyZW50LGM9aC53aWR0aCxpPWguaGVpZ2h0LGw9aC5taW5XaWR0aCx0PWgubWluSGVpZ2h0LG09aC5tYXhXaWR0aCwKbj1oLm1heEhlaWdodCxyPWguc2Nyb2xsaW5nLHA9aC5zY3JvbGxPdXRzaWRlP2guc2Nyb2xsYmFyV2lkdGg6MCx3PWgubWFyZ2luLHk9ayh3WzFdK3dbM10pLHE9ayh3WzBdK3dbMl0pLHgseixzLEMsQSxGLEIsRCx1O2UuYWRkKGopLmFkZChnKS53aWR0aCgiYXV0byIpLmhlaWdodCgiYXV0byIpLnJlbW92ZUNsYXNzKCJmYW5jeWJveC10bXAiKTt3PWsoai5vdXRlcldpZHRoKCEwKS1qLndpZHRoKCkpO3g9ayhqLm91dGVySGVpZ2h0KCEwKS1qLmhlaWdodCgpKTt6PXkrdztzPXEreDtDPUUoYyk/KGEudy16KSprKGMpLzEwMDpjO0E9RShpKT8oYS5oLXMpKmsoaSkvMTAwOmk7aWYoImlmcmFtZSI9PT1oLnR5cGUpe2lmKHU9aC5jb250ZW50LGguYXV0b0hlaWdodCYmMT09PXUuZGF0YSgicmVhZHkiKSl0cnl7dVswXS5jb250ZW50V2luZG93LmRvY3VtZW50LmxvY2F0aW9uJiYoZy53aWR0aChDKS5oZWlnaHQoOTk5OSksRj11LmNvbnRlbnRzKCkuZmluZCgiYm9keSIpLHAmJkYuY3NzKCJvdmVyZmxvdy14IiwKImhpZGRlbiIpLEE9Ri5oZWlnaHQoKSl9Y2F0Y2goRyl7fX1lbHNlIGlmKGguYXV0b1dpZHRofHxoLmF1dG9IZWlnaHQpZy5hZGRDbGFzcygiZmFuY3lib3gtdG1wIiksaC5hdXRvV2lkdGh8fGcud2lkdGgoQyksaC5hdXRvSGVpZ2h0fHxnLmhlaWdodChBKSxoLmF1dG9XaWR0aCYmKEM9Zy53aWR0aCgpKSxoLmF1dG9IZWlnaHQmJihBPWcuaGVpZ2h0KCkpLGcucmVtb3ZlQ2xhc3MoImZhbmN5Ym94LXRtcCIpO2M9ayhDKTtpPWsoQSk7RD1DL0E7bD1rKEUobCk/ayhsLCJ3IiktejpsKTttPWsoRShtKT9rKG0sInciKS16Om0pO3Q9ayhFKHQpP2sodCwiaCIpLXM6dCk7bj1rKEUobik/ayhuLCJoIiktczpuKTtGPW07Qj1uO2guZml0VG9WaWV3JiYobT1NYXRoLm1pbihhLncteixtKSxuPU1hdGgubWluKGEuaC1zLG4pKTt6PWEudy15O3E9YS5oLXE7aC5hc3BlY3RSYXRpbz8oYz5tJiYoYz1tLGk9ayhjL0QpKSxpPm4mJihpPW4sYz1rKGkqRCkpLGM8bCYmKGM9bCxpPWsoYy9EKSksaTx0JiYKKGk9dCxjPWsoaSpEKSkpOihjPU1hdGgubWF4KGwsTWF0aC5taW4oYyxtKSksaC5hdXRvSGVpZ2h0JiYiaWZyYW1lIiE9PWgudHlwZSYmKGcud2lkdGgoYyksaT1nLmhlaWdodCgpKSxpPU1hdGgubWF4KHQsTWF0aC5taW4oaSxuKSkpO2lmKGguZml0VG9WaWV3KWlmKGcud2lkdGgoYykuaGVpZ2h0KGkpLGUud2lkdGgoYyt3KSxhPWUud2lkdGgoKSx5PWUuaGVpZ2h0KCksaC5hc3BlY3RSYXRpbylmb3IoOyhhPnp8fHk+cSkmJihjPmwmJmk+dCkmJiEoMTk8ZCsrKTspaT1NYXRoLm1heCh0LE1hdGgubWluKG4saS0xMCkpLGM9ayhpKkQpLGM8bCYmKGM9bCxpPWsoYy9EKSksYz5tJiYoYz1tLGk9ayhjL0QpKSxnLndpZHRoKGMpLmhlaWdodChpKSxlLndpZHRoKGMrdyksYT1lLndpZHRoKCkseT1lLmhlaWdodCgpO2Vsc2UgYz1NYXRoLm1heChsLE1hdGgubWluKGMsYy0oYS16KSkpLGk9TWF0aC5tYXgodCxNYXRoLm1pbihpLGktKHktcSkpKTtwJiYoImF1dG8iPT09ciYmaTxBJiZjK3crCnA8eikmJihjKz1wKTtnLndpZHRoKGMpLmhlaWdodChpKTtlLndpZHRoKGMrdyk7YT1lLndpZHRoKCk7eT1lLmhlaWdodCgpO2U9KGE+enx8eT5xKSYmYz5sJiZpPnQ7Yz1oLmFzcGVjdFJhdGlvP2M8RiYmaTxCJiZjPEMmJmk8QTooYzxGfHxpPEIpJiYoYzxDfHxpPEEpO2YuZXh0ZW5kKGgse2RpbTp7d2lkdGg6dihhKSxoZWlnaHQ6dih5KX0sb3JpZ1dpZHRoOkMsb3JpZ0hlaWdodDpBLGNhblNocmluazplLGNhbkV4cGFuZDpjLHdQYWRkaW5nOncsaFBhZGRpbmc6eCx3cmFwU3BhY2U6eS1qLm91dGVySGVpZ2h0KCEwKSxza2luU3BhY2U6ai5oZWlnaHQoKS1pfSk7IXUmJihoLmF1dG9IZWlnaHQmJmk+dCYmaTxuJiYhYykmJmcuaGVpZ2h0KCJhdXRvIil9LF9nZXRQb3NpdGlvbjpmdW5jdGlvbihhKXt2YXIgZD1iLmN1cnJlbnQsZT1iLmdldFZpZXdwb3J0KCksYz1kLm1hcmdpbixmPWIud3JhcC53aWR0aCgpK2NbMV0rY1szXSxnPWIud3JhcC5oZWlnaHQoKStjWzBdK2NbMl0sYz17cG9zaXRpb246ImFic29sdXRlIiwKdG9wOmNbMF0sbGVmdDpjWzNdfTtkLmF1dG9DZW50ZXImJmQuZml4ZWQmJiFhJiZnPD1lLmgmJmY8PWUudz9jLnBvc2l0aW9uPSJmaXhlZCI6ZC5sb2NrZWR8fChjLnRvcCs9ZS55LGMubGVmdCs9ZS54KTtjLnRvcD12KE1hdGgubWF4KGMudG9wLGMudG9wKyhlLmgtZykqZC50b3BSYXRpbykpO2MubGVmdD12KE1hdGgubWF4KGMubGVmdCxjLmxlZnQrKGUudy1mKSpkLmxlZnRSYXRpbykpO3JldHVybiBjfSxfYWZ0ZXJab29tSW46ZnVuY3Rpb24oKXt2YXIgYT1iLmN1cnJlbnQ7YSYmKGIuaXNPcGVuPWIuaXNPcGVuZWQ9ITAsYi53cmFwLmNzcygib3ZlcmZsb3ciLCJ2aXNpYmxlIikuYWRkQ2xhc3MoImZhbmN5Ym94LW9wZW5lZCIpLGIudXBkYXRlKCksKGEuY2xvc2VDbGlja3x8YS5uZXh0Q2xpY2smJjE8Yi5ncm91cC5sZW5ndGgpJiZiLmlubmVyLmNzcygiY3Vyc29yIiwicG9pbnRlciIpLmJpbmQoImNsaWNrLmZiIixmdW5jdGlvbihkKXshZihkLnRhcmdldCkuaXMoImEiKSYmIWYoZC50YXJnZXQpLnBhcmVudCgpLmlzKCJhIikmJgooZC5wcmV2ZW50RGVmYXVsdCgpLGJbYS5jbG9zZUNsaWNrPyJjbG9zZSI6Im5leHQiXSgpKX0pLGEuY2xvc2VCdG4mJmYoYS50cGwuY2xvc2VCdG4pLmFwcGVuZFRvKGIuc2tpbikuYmluZChuPyJ0b3VjaHN0YXJ0LmZiIjoiY2xpY2suZmIiLGZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKTtiLmNsb3NlKCl9KSxhLmFycm93cyYmMTxiLmdyb3VwLmxlbmd0aCYmKChhLmxvb3B8fDA8YS5pbmRleCkmJmYoYS50cGwucHJldikuYXBwZW5kVG8oYi5vdXRlcikuYmluZCgiY2xpY2suZmIiLGIucHJldiksKGEubG9vcHx8YS5pbmRleDxiLmdyb3VwLmxlbmd0aC0xKSYmZihhLnRwbC5uZXh0KS5hcHBlbmRUbyhiLm91dGVyKS5iaW5kKCJjbGljay5mYiIsYi5uZXh0KSksYi50cmlnZ2VyKCJhZnRlclNob3ciKSwhYS5sb29wJiZhLmluZGV4PT09YS5ncm91cC5sZW5ndGgtMT9iLnBsYXkoITEpOmIub3B0cy5hdXRvUGxheSYmIWIucGxheWVyLmlzQWN0aXZlJiYoYi5vcHRzLmF1dG9QbGF5PQohMSxiLnBsYXkoKSkpfSxfYWZ0ZXJab29tT3V0OmZ1bmN0aW9uKGEpe2E9YXx8Yi5jdXJyZW50O2YoIi5mYW5jeWJveC13cmFwIikudHJpZ2dlcigib25SZXNldCIpLnJlbW92ZSgpO2YuZXh0ZW5kKGIse2dyb3VwOnt9LG9wdHM6e30scm91dGVyOiExLGN1cnJlbnQ6bnVsbCxpc0FjdGl2ZTohMSxpc09wZW5lZDohMSxpc09wZW46ITEsaXNDbG9zaW5nOiExLHdyYXA6bnVsbCxza2luOm51bGwsb3V0ZXI6bnVsbCxpbm5lcjpudWxsfSk7Yi50cmlnZ2VyKCJhZnRlckNsb3NlIixhKX19KTtiLnRyYW5zaXRpb25zPXtnZXRPcmlnUG9zaXRpb246ZnVuY3Rpb24oKXt2YXIgYT1iLmN1cnJlbnQsZD1hLmVsZW1lbnQsZT1hLm9yaWcsYz17fSxmPTUwLGc9NTAsaD1hLmhQYWRkaW5nLGk9YS53UGFkZGluZyxsPWIuZ2V0Vmlld3BvcnQoKTshZSYmKGEuaXNEb20mJmQuaXMoIjp2aXNpYmxlIikpJiYoZT1kLmZpbmQoImltZzpmaXJzdCIpLGUubGVuZ3RofHwoZT1kKSk7cyhlKT8oYz1lLm9mZnNldCgpLAplLmlzKCJpbWciKSYmKGY9ZS5vdXRlcldpZHRoKCksZz1lLm91dGVySGVpZ2h0KCkpKTooYy50b3A9bC55KyhsLmgtZykqYS50b3BSYXRpbyxjLmxlZnQ9bC54KyhsLnctZikqYS5sZWZ0UmF0aW8pO2lmKCJmaXhlZCI9PT1iLndyYXAuY3NzKCJwb3NpdGlvbiIpfHxhLmxvY2tlZCljLnRvcC09bC55LGMubGVmdC09bC54O3JldHVybiBjPXt0b3A6dihjLnRvcC1oKmEudG9wUmF0aW8pLGxlZnQ6dihjLmxlZnQtaSphLmxlZnRSYXRpbyksd2lkdGg6dihmK2kpLGhlaWdodDp2KGcraCl9fSxzdGVwOmZ1bmN0aW9uKGEsZCl7dmFyIGUsYyxmPWQucHJvcDtjPWIuY3VycmVudDt2YXIgZz1jLndyYXBTcGFjZSxoPWMuc2tpblNwYWNlO2lmKCJ3aWR0aCI9PT1mfHwiaGVpZ2h0Ij09PWYpZT1kLmVuZD09PWQuc3RhcnQ/MTooYS1kLnN0YXJ0KS8oZC5lbmQtZC5zdGFydCksYi5pc0Nsb3NpbmcmJihlPTEtZSksYz0id2lkdGgiPT09Zj9jLndQYWRkaW5nOmMuaFBhZGRpbmcsYz1hLWMsYi5za2luW2ZdKGsoIndpZHRoIj09PQpmP2M6Yy1nKmUpKSxiLmlubmVyW2ZdKGsoIndpZHRoIj09PWY/YzpjLWcqZS1oKmUpKX0sem9vbUluOmZ1bmN0aW9uKCl7dmFyIGE9Yi5jdXJyZW50LGQ9YS5wb3MsZT1hLm9wZW5FZmZlY3QsYz0iZWxhc3RpYyI9PT1lLGo9Zi5leHRlbmQoe29wYWNpdHk6MX0sZCk7ZGVsZXRlIGoucG9zaXRpb247Yz8oZD10aGlzLmdldE9yaWdQb3NpdGlvbigpLGEub3Blbk9wYWNpdHkmJihkLm9wYWNpdHk9MC4xKSk6ImZhZGUiPT09ZSYmKGQub3BhY2l0eT0wLjEpO2Iud3JhcC5jc3MoZCkuYW5pbWF0ZShqLHtkdXJhdGlvbjoibm9uZSI9PT1lPzA6YS5vcGVuU3BlZWQsZWFzaW5nOmEub3BlbkVhc2luZyxzdGVwOmM/dGhpcy5zdGVwOm51bGwsY29tcGxldGU6Yi5fYWZ0ZXJab29tSW59KX0sem9vbU91dDpmdW5jdGlvbigpe3ZhciBhPWIuY3VycmVudCxkPWEuY2xvc2VFZmZlY3QsZT0iZWxhc3RpYyI9PT1kLGM9e29wYWNpdHk6MC4xfTtlJiYoYz10aGlzLmdldE9yaWdQb3NpdGlvbigpLGEuY2xvc2VPcGFjaXR5JiYKKGMub3BhY2l0eT0wLjEpKTtiLndyYXAuYW5pbWF0ZShjLHtkdXJhdGlvbjoibm9uZSI9PT1kPzA6YS5jbG9zZVNwZWVkLGVhc2luZzphLmNsb3NlRWFzaW5nLHN0ZXA6ZT90aGlzLnN0ZXA6bnVsbCxjb21wbGV0ZTpiLl9hZnRlclpvb21PdXR9KX0sY2hhbmdlSW46ZnVuY3Rpb24oKXt2YXIgYT1iLmN1cnJlbnQsZD1hLm5leHRFZmZlY3QsZT1hLnBvcyxjPXtvcGFjaXR5OjF9LGY9Yi5kaXJlY3Rpb24sZztlLm9wYWNpdHk9MC4xOyJlbGFzdGljIj09PWQmJihnPSJkb3duIj09PWZ8fCJ1cCI9PT1mPyJ0b3AiOiJsZWZ0IiwiZG93biI9PT1mfHwicmlnaHQiPT09Zj8oZVtnXT12KGsoZVtnXSktMjAwKSxjW2ddPSIrPTIwMHB4Iik6KGVbZ109dihrKGVbZ10pKzIwMCksY1tnXT0iLT0yMDBweCIpKTsibm9uZSI9PT1kP2IuX2FmdGVyWm9vbUluKCk6Yi53cmFwLmNzcyhlKS5hbmltYXRlKGMse2R1cmF0aW9uOmEubmV4dFNwZWVkLGVhc2luZzphLm5leHRFYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGIuX2FmdGVyWm9vbUluLAoyMCl9fSl9LGNoYW5nZU91dDpmdW5jdGlvbigpe3ZhciBhPWIucHJldmlvdXMsZD1hLnByZXZFZmZlY3QsZT17b3BhY2l0eTowLjF9LGM9Yi5kaXJlY3Rpb247ImVsYXN0aWMiPT09ZCYmKGVbImRvd24iPT09Y3x8InVwIj09PWM/InRvcCI6ImxlZnQiXT0oInVwIj09PWN8fCJsZWZ0Ij09PWM/Ii0iOiIrIikrIj0yMDBweCIpO2Eud3JhcC5hbmltYXRlKGUse2R1cmF0aW9uOiJub25lIj09PWQ/MDphLnByZXZTcGVlZCxlYXNpbmc6YS5wcmV2RWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7Zih0aGlzKS50cmlnZ2VyKCJvblJlc2V0IikucmVtb3ZlKCl9fSl9fTtiLmhlbHBlcnMub3ZlcmxheT17ZGVmYXVsdHM6e2Nsb3NlQ2xpY2s6ITAsc3BlZWRPdXQ6MjAwLHNob3dFYXJseTohMCxjc3M6e30sbG9ja2VkOiFuLGZpeGVkOiEwfSxvdmVybGF5Om51bGwsZml4ZWQ6ITEsY3JlYXRlOmZ1bmN0aW9uKGEpe2E9Zi5leHRlbmQoe30sdGhpcy5kZWZhdWx0cyxhKTt0aGlzLm92ZXJsYXkmJnRoaXMuY2xvc2UoKTsKdGhpcy5vdmVybGF5PWYoJzxkaXYgY2xhc3M9ImZhbmN5Ym94LW92ZXJsYXkiPjwvZGl2PicpLmFwcGVuZFRvKCJib2R5Iik7dGhpcy5maXhlZD0hMTthLmZpeGVkJiZiLmRlZmF1bHRzLmZpeGVkJiYodGhpcy5vdmVybGF5LmFkZENsYXNzKCJmYW5jeWJveC1vdmVybGF5LWZpeGVkIiksdGhpcy5maXhlZD0hMCl9LG9wZW46ZnVuY3Rpb24oYSl7dmFyIGQ9dGhpcyxhPWYuZXh0ZW5kKHt9LHRoaXMuZGVmYXVsdHMsYSk7dGhpcy5vdmVybGF5P3RoaXMub3ZlcmxheS51bmJpbmQoIi5vdmVybGF5Iikud2lkdGgoImF1dG8iKS5oZWlnaHQoImF1dG8iKTp0aGlzLmNyZWF0ZShhKTt0aGlzLmZpeGVkfHwoci5iaW5kKCJyZXNpemUub3ZlcmxheSIsZi5wcm94eSh0aGlzLnVwZGF0ZSx0aGlzKSksdGhpcy51cGRhdGUoKSk7YS5jbG9zZUNsaWNrJiZ0aGlzLm92ZXJsYXkuYmluZCgiY2xpY2sub3ZlcmxheSIsZnVuY3Rpb24oYSl7ZihhLnRhcmdldCkuaGFzQ2xhc3MoImZhbmN5Ym94LW92ZXJsYXkiKSYmCihiLmlzQWN0aXZlP2IuY2xvc2UoKTpkLmNsb3NlKCkpfSk7dGhpcy5vdmVybGF5LmNzcyhhLmNzcykuc2hvdygpfSxjbG9zZTpmdW5jdGlvbigpe2YoIi5mYW5jeWJveC1vdmVybGF5IikucmVtb3ZlKCk7ci51bmJpbmQoInJlc2l6ZS5vdmVybGF5Iik7dGhpcy5vdmVybGF5PW51bGw7ITEhPT10aGlzLm1hcmdpbiYmKGYoImJvZHkiKS5jc3MoIm1hcmdpbi1yaWdodCIsdGhpcy5tYXJnaW4pLHRoaXMubWFyZ2luPSExKTt0aGlzLmVsJiZ0aGlzLmVsLnJlbW92ZUNsYXNzKCJmYW5jeWJveC1sb2NrIil9LHVwZGF0ZTpmdW5jdGlvbigpe3ZhciBhPSIxMDAlIixiO3RoaXMub3ZlcmxheS53aWR0aChhKS5oZWlnaHQoIjEwMCUiKTtmLmJyb3dzZXIubXNpZT8oYj1NYXRoLm1heCh4LmRvY3VtZW50RWxlbWVudC5vZmZzZXRXaWR0aCx4LmJvZHkub2Zmc2V0V2lkdGgpLG0ud2lkdGgoKT5iJiYoYT1tLndpZHRoKCkpKTptLndpZHRoKCk+ci53aWR0aCgpJiYoYT1tLndpZHRoKCkpO3RoaXMub3ZlcmxheS53aWR0aChhKS5oZWlnaHQobS5oZWlnaHQoKSl9LApvblJlYWR5OmZ1bmN0aW9uKGEsYil7ZigiLmZhbmN5Ym94LW92ZXJsYXkiKS5zdG9wKCEwLCEwKTt0aGlzLm92ZXJsYXl8fCh0aGlzLm1hcmdpbj1tLmhlaWdodCgpPnIuaGVpZ2h0KCl8fCJzY3JvbGwiPT09ZigiYm9keSIpLmNzcygib3ZlcmZsb3cteSIpP2YoImJvZHkiKS5jc3MoIm1hcmdpbi1yaWdodCIpOiExLHRoaXMuZWw9eC5hbGwmJiF4LnF1ZXJ5U2VsZWN0b3I/ZigiaHRtbCIpOmYoImJvZHkiKSx0aGlzLmNyZWF0ZShhKSk7YS5sb2NrZWQmJnRoaXMuZml4ZWQmJihiLmxvY2tlZD10aGlzLm92ZXJsYXkuYXBwZW5kKGIud3JhcCksYi5maXhlZD0hMSk7ITA9PT1hLnNob3dFYXJseSYmdGhpcy5iZWZvcmVTaG93LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sYmVmb3JlU2hvdzpmdW5jdGlvbihhLGIpe2IubG9ja2VkJiYodGhpcy5lbC5hZGRDbGFzcygiZmFuY3lib3gtbG9jayIpLCExIT09dGhpcy5tYXJnaW4mJmYoImJvZHkiKS5jc3MoIm1hcmdpbi1yaWdodCIsayh0aGlzLm1hcmdpbikrCmIuc2Nyb2xsYmFyV2lkdGgpKTt0aGlzLm9wZW4oYSl9LG9uVXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5maXhlZHx8dGhpcy51cGRhdGUoKX0sYWZ0ZXJDbG9zZTpmdW5jdGlvbihhKXt0aGlzLm92ZXJsYXkmJiFiLmlzQWN0aXZlJiZ0aGlzLm92ZXJsYXkuZmFkZU91dChhLnNwZWVkT3V0LGYucHJveHkodGhpcy5jbG9zZSx0aGlzKSl9fTtiLmhlbHBlcnMudGl0bGU9e2RlZmF1bHRzOnt0eXBlOiJmbG9hdCIscG9zaXRpb246ImJvdHRvbSJ9LGJlZm9yZVNob3c6ZnVuY3Rpb24oYSl7dmFyIGQ9Yi5jdXJyZW50LGU9ZC50aXRsZSxjPWEudHlwZTtmLmlzRnVuY3Rpb24oZSkmJihlPWUuY2FsbChkLmVsZW1lbnQsZCkpO2lmKHAoZSkmJiIiIT09Zi50cmltKGUpKXtkPWYoJzxkaXYgY2xhc3M9ImZhbmN5Ym94LXRpdGxlIGZhbmN5Ym94LXRpdGxlLScrYysnLXdyYXAiPicrZSsiPC9kaXY+Iik7c3dpdGNoKGMpe2Nhc2UgImluc2lkZSI6Yz1iLnNraW47YnJlYWs7Y2FzZSAib3V0c2lkZSI6Yz0KYi53cmFwO2JyZWFrO2Nhc2UgIm92ZXIiOmM9Yi5pbm5lcjticmVhaztkZWZhdWx0OmM9Yi5za2luLGQuYXBwZW5kVG8oImJvZHkiKSxmLmJyb3dzZXIubXNpZSYmZC53aWR0aChkLndpZHRoKCkpLGQud3JhcElubmVyKCc8c3BhbiBjbGFzcz0iY2hpbGQiPjwvc3Bhbj4nKSxiLmN1cnJlbnQubWFyZ2luWzJdKz1NYXRoLmFicyhrKGQuY3NzKCJtYXJnaW4tYm90dG9tIikpKX1kWyJ0b3AiPT09YS5wb3NpdGlvbj8icHJlcGVuZFRvIjoiYXBwZW5kVG8iXShjKX19fTtmLmZuLmZhbmN5Ym94PWZ1bmN0aW9uKGEpe3ZhciBkLGU9Zih0aGlzKSxjPXRoaXMuc2VsZWN0b3J8fCIiLGo9ZnVuY3Rpb24oZyl7dmFyIGg9Zih0aGlzKS5ibHVyKCksaT1kLGosazshZy5jdHJsS2V5JiYoIWcuYWx0S2V5JiYhZy5zaGlmdEtleSYmIWcubWV0YUtleSkmJiFoLmlzKCIuZmFuY3lib3gtd3JhcCIpJiYoaj1hLmdyb3VwQXR0cnx8ImRhdGEtZmFuY3lib3gtZ3JvdXAiLGs9aC5hdHRyKGopLGt8fChqPSJyZWwiLAprPWguZ2V0KDApW2pdKSxrJiYoIiIhPT1rJiYibm9mb2xsb3ciIT09aykmJihoPWMubGVuZ3RoP2YoYyk6ZSxoPWguZmlsdGVyKCJbIitqKyc9IicraysnIl0nKSxpPWguaW5kZXgodGhpcykpLGEuaW5kZXg9aSwhMSE9PWIub3BlbihoLGEpJiZnLnByZXZlbnREZWZhdWx0KCkpfSxhPWF8fHt9O2Q9YS5pbmRleHx8MDshY3x8ITE9PT1hLmxpdmU/ZS51bmJpbmQoImNsaWNrLmZiLXN0YXJ0IikuYmluZCgiY2xpY2suZmItc3RhcnQiLGopOm0udW5kZWxlZ2F0ZShjLCJjbGljay5mYi1zdGFydCIpLmRlbGVnYXRlKGMrIjpub3QoJy5mYW5jeWJveC1pdGVtLCAuZmFuY3lib3gtbmF2JykiLCJjbGljay5mYi1zdGFydCIsaik7dGhpcy5maWx0ZXIoIltkYXRhLWZhbmN5Ym94LXN0YXJ0PTFdIikudHJpZ2dlcigiY2xpY2siKTtyZXR1cm4gdGhpc307bS5yZWFkeShmdW5jdGlvbigpe2Yuc2Nyb2xsYmFyV2lkdGg9PT1xJiYoZi5zY3JvbGxiYXJXaWR0aD1mdW5jdGlvbigpe3ZhciBhPWYoJzxkaXYgc3R5bGU9IndpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7b3ZlcmZsb3c6YXV0byI+PGRpdi8+PC9kaXY+JykuYXBwZW5kVG8oImJvZHkiKSwKYj1hLmNoaWxkcmVuKCksYj1iLmlubmVyV2lkdGgoKS1iLmhlaWdodCg5OSkuaW5uZXJXaWR0aCgpO2EucmVtb3ZlKCk7cmV0dXJuIGJ9KTtpZihmLnN1cHBvcnQuZml4ZWRQb3NpdGlvbj09PXEpe3ZhciBhPWYuc3VwcG9ydCxkPWYoJzxkaXYgc3R5bGU9InBvc2l0aW9uOmZpeGVkO3RvcDoyMHB4OyI+PC9kaXY+JykuYXBwZW5kVG8oImJvZHkiKSxlPTIwPT09ZFswXS5vZmZzZXRUb3B8fDE1PT09ZFswXS5vZmZzZXRUb3A7ZC5yZW1vdmUoKTthLmZpeGVkUG9zaXRpb249ZX1mLmV4dGVuZChiLmRlZmF1bHRzLHtzY3JvbGxiYXJXaWR0aDpmLnNjcm9sbGJhcldpZHRoKCksZml4ZWQ6Zi5zdXBwb3J0LmZpeGVkUG9zaXRpb24scGFyZW50OmYoImJvZHkiKX0pfSl9KSh3aW5kb3csZG9jdW1lbnQsalF1ZXJ5KTs=]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/jquery.mousewheel-3.0.6.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyohIENvcHlyaWdodCAoYykgMjAxMSBCcmFuZG9uIEFhcm9uIChodHRwOi8vYnJhbmRvbmFhcm9uLm5ldCkKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlIChMSUNFTlNFLnR4dCkuCiAqCiAqIFRoYW5rcyB0bzogaHR0cDovL2Fkb21hcy5vcmcvamF2YXNjcmlwdC1tb3VzZS13aGVlbC8gZm9yIHNvbWUgcG9pbnRlcnMuCiAqIFRoYW5rcyB0bzogTWF0aGlhcyBCYW5rKGh0dHA6Ly93d3cubWF0aGlhcy1iYW5rLmRlKSBmb3IgYSBzY29wZSBidWcgZml4LgogKiBUaGFua3MgdG86IFNlYW11cyBMZWFoeSBmb3IgYWRkaW5nIGRlbHRhWCBhbmQgZGVsdGFZCiAqCiAqIFZlcnNpb246IDMuMC42CiAqIAogKiBSZXF1aXJlczogMS4yLjIrCiAqLwooZnVuY3Rpb24oZCl7ZnVuY3Rpb24gZShhKXt2YXIgYj1hfHx3aW5kb3cuZXZlbnQsYz1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxmPTAsZT0wLGc9MCxhPWQuZXZlbnQuZml4KGIpO2EudHlwZT0ibW91c2V3aGVlbCI7Yi53aGVlbERlbHRhJiYoZj1iLndoZWVsRGVsdGEvMTIwKTtiLmRldGFpbCYmKGY9LWIuZGV0YWlsLzMpO2c9ZjtiLmF4aXMhPT12b2lkIDAmJmIuYXhpcz09PWIuSE9SSVpPTlRBTF9BWElTJiYoZz0wLGU9LTEqZik7Yi53aGVlbERlbHRhWSE9PXZvaWQgMCYmKGc9Yi53aGVlbERlbHRhWS8xMjApO2Iud2hlZWxEZWx0YVghPT12b2lkIDAmJihlPS0xKmIud2hlZWxEZWx0YVgvMTIwKTtjLnVuc2hpZnQoYSxmLGUsZyk7cmV0dXJuKGQuZXZlbnQuZGlzcGF0Y2h8fGQuZXZlbnQuaGFuZGxlKS5hcHBseSh0aGlzLGMpfXZhciBjPVsiRE9NTW91c2VTY3JvbGwiLCJtb3VzZXdoZWVsIl07aWYoZC5ldmVudC5maXhIb29rcylmb3IodmFyIGg9Yy5sZW5ndGg7aDspZC5ldmVudC5maXhIb29rc1tjWy0taF1dPQpkLmV2ZW50Lm1vdXNlSG9va3M7ZC5ldmVudC5zcGVjaWFsLm1vdXNld2hlZWw9e3NldHVwOmZ1bmN0aW9uKCl7aWYodGhpcy5hZGRFdmVudExpc3RlbmVyKWZvcih2YXIgYT1jLmxlbmd0aDthOyl0aGlzLmFkZEV2ZW50TGlzdGVuZXIoY1stLWFdLGUsZmFsc2UpO2Vsc2UgdGhpcy5vbm1vdXNld2hlZWw9ZX0sdGVhcmRvd246ZnVuY3Rpb24oKXtpZih0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIpZm9yKHZhciBhPWMubGVuZ3RoO2E7KXRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihjWy0tYV0sZSxmYWxzZSk7ZWxzZSB0aGlzLm9ubW91c2V3aGVlbD1udWxsfX07ZC5mbi5leHRlbmQoe21vdXNld2hlZWw6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/dGhpcy5iaW5kKCJtb3VzZXdoZWVsIixhKTp0aGlzLnRyaWdnZXIoIm1vdXNld2hlZWwiKX0sdW5tb3VzZXdoZWVsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnVuYmluZCgibW91c2V3aGVlbCIsYSl9fSl9KShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_fancybox/jquery.touchSwipe.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGQpe3ZhciBsPSJsZWZ0IixrPSJyaWdodCIsYz0idXAiLHI9ImRvd24iLGI9ImluIixzPSJvdXQiLGk9Im5vbmUiLG89ImF1dG8iLHU9Imhvcml6b250YWwiLHA9InZlcnRpY2FsIixmPSJhbGwiLGU9InN0YXJ0IixoPSJtb3ZlIixnPSJlbmQiLG09ImNhbmNlbCIsYT0ib250b3VjaHN0YXJ0IiBpbiB3aW5kb3csdD0iVG91Y2hTd2lwZSI7dmFyIGo9e2ZpbmdlcnM6MSx0aHJlc2hvbGQ6NzUsbWF4VGltZVRocmVzaG9sZDpudWxsLHN3aXBlOm51bGwsc3dpcGVMZWZ0Om51bGwsc3dpcGVSaWdodDpudWxsLHN3aXBlVXA6bnVsbCxzd2lwZURvd246bnVsbCxzd2lwZVN0YXR1czpudWxsLHBpbmNoSW46bnVsbCxwaW5jaE91dDpudWxsLHBpbmNoU3RhdHVzOm51bGwsY2xpY2s6bnVsbCx0cmlnZ2VyT25Ub3VjaEVuZDp0cnVlLGFsbG93UGFnZVNjcm9sbDoiYXV0byIsZmFsbGJhY2tUb01vdXNlRXZlbnRzOnRydWUsZXhjbHVkZWRFbGVtZW50czoiYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgYSwgLm5vU3dpcGUifTtkLmZuLnN3aXBlPWZ1bmN0aW9uKHgpe3ZhciB3PWQodGhpcyksdj13LmRhdGEodCk7aWYodiYmdHlwZW9mIHg9PT0ic3RyaW5nIil7aWYodlt4XSl7cmV0dXJuIHZbeF0uYXBwbHkodGhpcyxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpfWVsc2V7ZC5lcnJvcigiTWV0aG9kICIreCsiIGRvZXMgbm90IGV4aXN0IG9uIGpRdWVyeS5zd2lwZSIpfX1lbHNle2lmKCF2JiYodHlwZW9mIHg9PT0ib2JqZWN0Inx8IXgpKXtyZXR1cm4gcS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fXJldHVybiB3fTtkLmZuLnN3aXBlLmRlZmF1bHRzPWo7ZC5mbi5zd2lwZS5waGFzZXM9e1BIQVNFX1NUQVJUOmUsUEhBU0VfTU9WRTpoLFBIQVNFX0VORDpnLFBIQVNFX0NBTkNFTDptfTtkLmZuLnN3aXBlLmRpcmVjdGlvbnM9e0xFRlQ6bCxSSUdIVDprLFVQOmMsRE9XTjpyLElOOmIsT1VUOnN9O2QuZm4uc3dpcGUucGFnZVNjcm9sbD17Tk9ORTppLEhPUklaT05UQUw6dSxWRVJUSUNBTDpwLEFVVE86b307ZC5mbi5zd2lwZS5maW5nZXJzPXtPTkU6MSxUV086MixUSFJFRTozLEFMTDpmfTtmdW5jdGlvbiBxKHYpe2lmKHYmJih2LmFsbG93UGFnZVNjcm9sbD09PXVuZGVmaW5lZCYmKHYuc3dpcGUhPT11bmRlZmluZWR8fHYuc3dpcGVTdGF0dXMhPT11bmRlZmluZWQpKSl7di5hbGxvd1BhZ2VTY3JvbGw9aX1pZighdil7dj17fX12PWQuZXh0ZW5kKHt9LGQuZm4uc3dpcGUuZGVmYXVsdHMsdik7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB4PWQodGhpcyk7dmFyIHc9eC5kYXRhKHQpO2lmKCF3KXt3PW5ldyBuKHRoaXMsdik7eC5kYXRhKHQsdyl9fSl9ZnVuY3Rpb24gbihKLFIpe3ZhciBhaj0oYXx8IVIuZmFsbGJhY2tUb01vdXNlRXZlbnRzKSxhZT1haj8idG91Y2hzdGFydCI6Im1vdXNlZG93biIsSz1haj8idG91Y2htb3ZlIjoibW91c2Vtb3ZlIixhYz1haj8idG91Y2hlbmQiOiJtb3VzZXVwIixJPSJ0b3VjaGNhbmNlbCI7dmFyIFA9MDt2YXIgRT1udWxsO3ZhciBTPTA7dmFyIGFmPTA7dmFyIHc9MDt2YXIgVT0xO3ZhciBhaz0wO3ZhciBBPWQoSik7dmFyIEY9InN0YXJ0Ijt2YXIgYWk9MDt2YXIgVD1udWxsO3ZhciBCPTA7dmFyIE09MDt0cnl7QS5iaW5kKGFlLGFhKTtBLmJpbmQoSSxEKX1jYXRjaChhZyl7ZC5lcnJvcigiZXZlbnRzIG5vdCBzdXBwb3J0ZWQgIithZSsiLCIrSSsiIG9uIGpRdWVyeS5zd2lwZSIpfXRoaXMuZW5hYmxlPWZ1bmN0aW9uKCl7QS5iaW5kKGFlLGFhKTtBLmJpbmQoSSxEKTtyZXR1cm4gQX07dGhpcy5kaXNhYmxlPWZ1bmN0aW9uKCl7SCgpO3JldHVybiBBfTt0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oKXtIKCk7QS5kYXRhKHQsbnVsbCk7cmV0dXJuIEF9O2Z1bmN0aW9uIGFhKGFvKXtpZihMKCkpe3JldHVybn1pZihkKGFvLnRhcmdldCkuY2xvc2VzdChSLmV4Y2x1ZGVkRWxlbWVudHMsQSkubGVuZ3RoPjApe3JldHVybn1hbz1hby5vcmlnaW5hbEV2ZW50O3ZhciBhbixhbT1hP2FvLnRvdWNoZXNbMF06YW87Rj1lO2lmKGEpe2FpPWFvLnRvdWNoZXMubGVuZ3RofWVsc2V7YW8ucHJldmVudERlZmF1bHQoKX1QPTA7RT1udWxsO2FrPW51bGw7Uz0wO2FmPTA7dz0wO1U9MTtUPWFsKCk7aWYoIWF8fChhaT09PVIuZmluZ2Vyc3x8Ui5maW5nZXJzPT09Zil8fFcoKSl7VFswXS5zdGFydC54PVRbMF0uZW5kLng9YW0ucGFnZVg7VFswXS5zdGFydC55PVRbMF0uZW5kLnk9YW0ucGFnZVk7Qj14KCk7aWYoYWk9PTIpe1RbMV0uc3RhcnQueD1UWzFdLmVuZC54PWFvLnRvdWNoZXNbMV0ucGFnZVg7VFsxXS5zdGFydC55PVRbMV0uZW5kLnk9YW8udG91Y2hlc1sxXS5wYWdlWTthZj13PU4oVFswXS5zdGFydCxUWzFdLnN0YXJ0KX1pZihSLnN3aXBlU3RhdHVzfHxSLnBpbmNoU3RhdHVzKXthbj1haChhbyxGKX19ZWxzZXtEKGFvKTthbj1mYWxzZX1pZihhbj09PWZhbHNlKXtGPW07YWgoYW8sRik7cmV0dXJuIGFufWVsc2V7Vih0cnVlKTtBLmJpbmQoSyxHKTtBLmJpbmQoYWMsTyl9fWZ1bmN0aW9uIEcoYXApe2FwPWFwLm9yaWdpbmFsRXZlbnQ7aWYoRj09PWd8fEY9PT1tKXtyZXR1cm59dmFyIGFuLGFtPWE/YXAudG91Y2hlc1swXTphcDtUWzBdLmVuZC54PWE/YXAudG91Y2hlc1swXS5wYWdlWDphbS5wYWdlWDtUWzBdLmVuZC55PWE/YXAudG91Y2hlc1swXS5wYWdlWTphbS5wYWdlWTtNPXgoKTtFPVooVFswXS5zdGFydCxUWzBdLmVuZCk7aWYoYSl7YWk9YXAudG91Y2hlcy5sZW5ndGh9Rj1oO2lmKGFpPT0yKXtpZihhZj09MCl7VFsxXS5zdGFydC54PWFwLnRvdWNoZXNbMV0ucGFnZVg7VFsxXS5zdGFydC55PWFwLnRvdWNoZXNbMV0ucGFnZVk7YWY9dz1OKFRbMF0uc3RhcnQsVFsxXS5zdGFydCl9ZWxzZXtUWzFdLmVuZC54PWFwLnRvdWNoZXNbMV0ucGFnZVg7VFsxXS5lbmQueT1hcC50b3VjaGVzWzFdLnBhZ2VZO3c9TihUWzBdLmVuZCxUWzFdLmVuZCk7YWs9WChUWzBdLmVuZCxUWzFdLmVuZCl9VT12KGFmLHcpfWlmKChhaT09PVIuZmluZ2Vyc3x8Ui5maW5nZXJzPT09Zil8fCFhKXt5KGFwLEUpO1A9eihUWzBdLnN0YXJ0LFRbMF0uZW5kKTtTPUMoVFswXS5zdGFydCxUWzBdLmVuZCk7aWYoUi5zd2lwZVN0YXR1c3x8Ui5waW5jaFN0YXR1cyl7YW49YWgoYXAsRil9aWYoIVIudHJpZ2dlck9uVG91Y2hFbmQpe3ZhciBhbz0hWSgpO2lmKFEoKT09PXRydWUpe0Y9Zzthbj1haChhcCxGKX1lbHNle2lmKGFvKXtGPW07YWgoYXAsRil9fX19ZWxzZXtGPW07YWgoYXAsRil9aWYoYW49PT1mYWxzZSl7Rj1tO2FoKGFwLEYpfX1mdW5jdGlvbiBPKGF0KXthdD1hdC5vcmlnaW5hbEV2ZW50O2lmKGF0LnRvdWNoZXMmJmF0LnRvdWNoZXMubGVuZ3RoPjApe3JldHVybiB0cnVlfWF0LnByZXZlbnREZWZhdWx0KCk7TT14KCk7aWYoYWYhPTApe3c9TihUWzBdLmVuZCxUWzFdLmVuZCk7VT12KGFmLHcpO2FrPVgoVFswXS5lbmQsVFsxXS5lbmQpfVA9eihUWzBdLnN0YXJ0LFRbMF0uZW5kKTtFPVooVFswXS5zdGFydCxUWzBdLmVuZCk7Uz1DKCk7aWYoUi50cmlnZ2VyT25Ub3VjaEVuZHx8KFIudHJpZ2dlck9uVG91Y2hFbmQ9PT1mYWxzZSYmRj09PWgpKXtGPWc7dmFyIGFwPWFkKCl8fCFXKCk7dmFyIGFuPSgoYWk9PT1SLmZpbmdlcnN8fFIuZmluZ2Vycz09PWYpfHwhYSk7dmFyIGFtPVRbMF0uZW5kLnghPT0wO3ZhciBhbz0oYW4mJmFtJiZhcCk7aWYoYW8pe3ZhciBhcT1ZKCk7dmFyIGFyPVEoKTtpZigoYXI9PT10cnVlfHxhcj09PW51bGwpJiZhcSl7YWgoYXQsRil9ZWxzZXtpZighYXF8fGFyPT09ZmFsc2Upe0Y9bTthaChhdCxGKX19fWVsc2V7Rj1tO2FoKGF0LEYpfX1lbHNle2lmKEY9PT1oKXtGPW07YWgoYXQsRil9fUEudW5iaW5kKEssRyxmYWxzZSk7QS51bmJpbmQoYWMsTyxmYWxzZSk7VihmYWxzZSl9ZnVuY3Rpb24gRCgpe2FpPTA7TT0wO0I9MDthZj0wO3c9MDtVPTE7VihmYWxzZSl9ZnVuY3Rpb24gYWgoYW8sYW0pe3ZhciBhbj11bmRlZmluZWQ7aWYoUi5zd2lwZVN0YXR1cyl7YW49Ui5zd2lwZVN0YXR1cy5jYWxsKEEsYW8sYW0sRXx8bnVsbCxQfHwwLFN8fDAsYWkpfWlmKFIucGluY2hTdGF0dXMmJmFkKCkpe2FuPVIucGluY2hTdGF0dXMuY2FsbChBLGFvLGFtLGFrfHxudWxsLHd8fDAsU3x8MCxhaSxVKX1pZihhbT09PW0pe2lmKFIuY2xpY2smJihhaT09PTF8fCFhKSYmKGlzTmFOKFApfHxQPT09MCkpe2FuPVIuY2xpY2suY2FsbChBLGFvLGFvLnRhcmdldCl9fWlmKGFtPT1nKXtpZihSLnN3aXBlKXthbj1SLnN3aXBlLmNhbGwoQSxhbyxFLFAsUyxhaSl9c3dpdGNoKEUpe2Nhc2UgbDppZihSLnN3aXBlTGVmdCl7YW49Ui5zd2lwZUxlZnQuY2FsbChBLGFvLEUsUCxTLGFpKX1icmVhaztjYXNlIGs6aWYoUi5zd2lwZVJpZ2h0KXthbj1SLnN3aXBlUmlnaHQuY2FsbChBLGFvLEUsUCxTLGFpKX1icmVhaztjYXNlIGM6aWYoUi5zd2lwZVVwKXthbj1SLnN3aXBlVXAuY2FsbChBLGFvLEUsUCxTLGFpKX1icmVhaztjYXNlIHI6aWYoUi5zd2lwZURvd24pe2FuPVIuc3dpcGVEb3duLmNhbGwoQSxhbyxFLFAsUyxhaSl9YnJlYWt9c3dpdGNoKGFrKXtjYXNlIGI6aWYoUi5waW5jaEluKXthbj1SLnBpbmNoSW4uY2FsbChBLGFvLGFrfHxudWxsLHd8fDAsU3x8MCxhaSxVKX1icmVhaztjYXNlIHM6aWYoUi5waW5jaE91dCl7YW49Ui5waW5jaE91dC5jYWxsKEEsYW8sYWt8fG51bGwsd3x8MCxTfHwwLGFpLFUpfWJyZWFrfX1pZihhbT09PW18fGFtPT09Zyl7RChhbyl9cmV0dXJuIGFufWZ1bmN0aW9uIFEoKXtpZihSLnRocmVzaG9sZCE9PW51bGwpe3JldHVybiBQPj1SLnRocmVzaG9sZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBZKCl7dmFyIGFtO2lmKFIubWF4VGltZVRocmVzaG9sZCl7aWYoUz49Ui5tYXhUaW1lVGhyZXNob2xkKXthbT1mYWxzZX1lbHNle2FtPXRydWV9fWVsc2V7YW09dHJ1ZX1yZXR1cm4gYW19ZnVuY3Rpb24geShhbSxhbil7aWYoUi5hbGxvd1BhZ2VTY3JvbGw9PT1pfHxXKCkpe2FtLnByZXZlbnREZWZhdWx0KCl9ZWxzZXt2YXIgYW89Ui5hbGxvd1BhZ2VTY3JvbGw9PT1vO3N3aXRjaChhbil7Y2FzZSBsOmlmKChSLnN3aXBlTGVmdCYmYW8pfHwoIWFvJiZSLmFsbG93UGFnZVNjcm9sbCE9dSkpe2FtLnByZXZlbnREZWZhdWx0KCl9YnJlYWs7Y2FzZSBrOmlmKChSLnN3aXBlUmlnaHQmJmFvKXx8KCFhbyYmUi5hbGxvd1BhZ2VTY3JvbGwhPXUpKXthbS5wcmV2ZW50RGVmYXVsdCgpfWJyZWFrO2Nhc2UgYzppZigoUi5zd2lwZVVwJiZhbyl8fCghYW8mJlIuYWxsb3dQYWdlU2Nyb2xsIT1wKSl7YW0ucHJldmVudERlZmF1bHQoKX1icmVhaztjYXNlIHI6aWYoKFIuc3dpcGVEb3duJiZhbyl8fCghYW8mJlIuYWxsb3dQYWdlU2Nyb2xsIT1wKSl7YW0ucHJldmVudERlZmF1bHQoKX1icmVha319fWZ1bmN0aW9uIEMoKXtyZXR1cm4gTS1CfWZ1bmN0aW9uIE4oYXAsYW8pe3ZhciBhbj1NYXRoLmFicyhhcC54LWFvLngpO3ZhciBhbT1NYXRoLmFicyhhcC55LWFvLnkpO3JldHVybiBNYXRoLnJvdW5kKE1hdGguc3FydChhbiphbithbSphbSkpfWZ1bmN0aW9uIHYoYW0sYW4pe3ZhciBhbz0oYW4vYW0pKjE7cmV0dXJuIGFvLnRvRml4ZWQoMil9ZnVuY3Rpb24gWCgpe2lmKFU8MSl7cmV0dXJuIHN9ZWxzZXtyZXR1cm4gYn19ZnVuY3Rpb24geihhbixhbSl7cmV0dXJuIE1hdGgucm91bmQoTWF0aC5zcXJ0KE1hdGgucG93KGFtLngtYW4ueCwyKStNYXRoLnBvdyhhbS55LWFuLnksMikpKX1mdW5jdGlvbiBhYihhcCxhbil7dmFyIGFtPWFwLngtYW4ueDt2YXIgYXI9YW4ueS1hcC55O3ZhciBhbz1NYXRoLmF0YW4yKGFyLGFtKTt2YXIgYXE9TWF0aC5yb3VuZChhbyoxODAvTWF0aC5QSSk7aWYoYXE8MCl7YXE9MzYwLU1hdGguYWJzKGFxKX1yZXR1cm4gYXF9ZnVuY3Rpb24gWihhbixhbSl7dmFyIGFvPWFiKGFuLGFtKTtpZigoYW88PTQ1KSYmKGFvPj0wKSl7cmV0dXJuIGx9ZWxzZXtpZigoYW88PTM2MCkmJihhbz49MzE1KSl7cmV0dXJuIGx9ZWxzZXtpZigoYW8+PTEzNSkmJihhbzw9MjI1KSl7cmV0dXJuIGt9ZWxzZXtpZigoYW8+NDUpJiYoYW88MTM1KSl7cmV0dXJuIHJ9ZWxzZXtyZXR1cm4gY319fX19ZnVuY3Rpb24geCgpe3ZhciBhbT1uZXcgRGF0ZSgpO3JldHVybiBhbS5nZXRUaW1lKCl9ZnVuY3Rpb24gSCgpe0EudW5iaW5kKGFlLGFhKTtBLnVuYmluZChJLEQpO0EudW5iaW5kKEssRyk7QS51bmJpbmQoYWMsTyk7VihmYWxzZSl9ZnVuY3Rpb24gVygpe3JldHVybiBSLnBpbmNoU3RhdHVzfHxSLnBpbmNoSW58fFIucGluY2hPdXR9ZnVuY3Rpb24gYWQoKXtyZXR1cm4gYWsmJlcoKX1mdW5jdGlvbiBMKCl7cmV0dXJuIEEuZGF0YSh0KyJfaW50b3VjaCIpPT09dHJ1ZT90cnVlOmZhbHNlfWZ1bmN0aW9uIFYoYW0pe2FtPWFtPT09dHJ1ZT90cnVlOmZhbHNlO0EuZGF0YSh0KyJfaW50b3VjaCIsYW0pfWZ1bmN0aW9uIGFsKCl7dmFyIGFtPVtdO2Zvcih2YXIgYW49MDthbjw9NTthbisrKXthbS5wdXNoKHtzdGFydDp7eDowLHk6MH0sZW5kOnt4OjAseTowfSxkZWx0YTp7eDowLHk6MH19KX1yZXR1cm4gYW19fX0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/alb_foobox/bg.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA9JREFUeNpiUFRUPAMQYAAB+gEwvbVX1QAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/close.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAANjr9RwUqgAAACBjSFJNAACHDwAAjA0AAPmTAACE5QAAe4IAAOt1AAA/tAAAIlh1a16cAAAC0WlDQ1BJQ0MgUHJvZmlsZQAAOMuNlM9LFGEYx7+zjRgoQWBme4ihQ0ioTBZlROWuv9i0bVl/lBLE7Oy7u5Ozs9PM7JoiEV46ZtE9Kg8e+gM8eOiUl8LALALpblFEgpeS7Xlnxt0R7ccLM/N5nx/f53nf4X2BGlkxTT0kAXnDsZJ9Uen66JhU+xEhHEEdwqhTVNuMJBIDoMFjsWtsvofAvyute/v/OurStpoHhP1A6Eea2Sqw7xfZC1lqBBC5XsOEYzrE9zhbnv0x55TH8659KNlFvEh8QDUtHv+auEPNKWmgRiRuyQZiUgHO60XV7+cgPfXMGB6k73Hq6S6ze3wWZtJKdz9xG/HnNOvu4ZrE8xmtN0bcTM9axuod9lg4oTmxIY9DI4YeH/C5yUjFr/qaoulEk9v6dmmwZ9t+S7mcIA4TJ8cL/TymkXI7p3JD1zwW9KlcV9znd1Yxyeseo5g5U3f/F/UWeoVR6GDQYNDbgIQk+hBFK0xYKCBDHo0iNLIyN8YitjG+Z6SORIAl8q9TzrqbcxtFyuZZI4jGMdNSUZDkD/JXeVV+Ks/JX2bDxeaqZ8a6qanLD76TLq+8ret7/Z48fZXqRsirI0vWfGVNdqDTQHcZYzZcVeI12P34ZmCVLFCpFSlXadytVHJ9Nr0jgWp/2j2KXZpebKrWWhUXbqzUL03v2KvCrlWxyqp2zqtxwXwmHhVPijGxQzwHSbwkdooXxW6anRcHKhnDpKJhwlWyoVCWgUnymjv+mRcL76y5o6GPGczSVImf/4RVyGg6CxzRf7j/c/B7xaOxIvDCBg6frto2ku4dIjQuV23OFeDCN7oP3lZtzXQeDj0BFs6oRavkSwvCG4pmdxw+6SqYk5aWzTlSuyyflSJ0JTEpZqhtLZKi65LrsiWL2cwqsXQb7Mypdk+lnnal5lO5vEHnr/YRsPWwXP75rFzeek49rAEv9d/AvP1FGNUZigAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuND6NzHYAAAE0SURBVEhLxZa9DYNADIWpkJAoKFmCVTIDLQNQsQRSpLQMkBlSpc0MVNkgUlryHPkQXO7HQcRBehJwPn/Y5zucJIJrmqYMOkBH6ALdWHRP72gsE7gKm8BJCZ2gJxS7yIZsy01gTOygR4ziGKc5nRjK6TtvANlTyEc4zTBIoesOMOOCfKXeaDE47AgzrgYnEKP1D2DGZb2C4m0O3R1AirhghaKP2ZHvfIbiofVEVyy/zJPyVcr441zu2iVwlABpggX9WJ8AcHwDYVAF1s654AwNjflcVgRsIsXirjJH6QmqvCFgL6jOKFQAI0xvr0mI7YUKYeR7+AtQPaXqRaO7LXgv6m18BqofbbqHN0ep93syp9QXG1hwOM0m/lMKJrotBqeWelCdJsr62eq0iRZUrxG2wLu1+i89eBwd+JctCQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/error.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/foobox-1.3.1.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKKiBGb29Cb3ggLSBBIHJlc3BvbnNpdmUgaW1hZ2UgbGlnaHRib3ggZm9yIGpRdWVyeQoqIGh0dHA6Ly9nZXRmb29ib3guY29tCioKKiBDb3B5cmlnaHQgMjAxMiwgU3RldmVuIFVzaGVyICYgQnJhZCBWaW5jZW50CiogaHR0cDovL3RoZW1lcmdlbmN5LmNvbQoqCiogRGF0ZTogMTcgU2VwdGVtYmVyIDIwMTIKKiBWZXJzaW9uIDogMS4yLjEKKi8KdmFyIGNvbnNvbGU7aWYoIXdpbmRvdy5jb25zb2xlKWNvbnNvbGU9e307Y29uc29sZS5sb2c9Y29uc29sZS5sb2d8fGZ1bmN0aW9uKCl7fTtjb25zb2xlLndhcm49Y29uc29sZS53YXJufHxmdW5jdGlvbigpe307Y29uc29sZS5lcnJvcj1jb25zb2xlLmVycm9yfHxmdW5jdGlvbigpe307Y29uc29sZS5pbmZvPWNvbnNvbGUuaW5mb3x8ZnVuY3Rpb24oKXt9O3ZhciBKU09OO2lmKCFKU09OKUpTT049e307SlNPTi5zdHJpbmdpZnk9SlNPTi5zdHJpbmdpZnl8fGZ1bmN0aW9uKCl7fTsoZnVuY3Rpb24oYSxiLGYpe2IuZm9vYm94PXt2ZXJzaW9uOnttYWpvcjoxLG1pbm9yOjIsdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gYi5mb29ib3gudmVyc2lvbi5tYWpvcisiLiIrYi5mb29ib3gudmVyc2lvbi5taW5vcn0scGFyc2U6ZnVuY3Rpb24oYSl7dmVyc2lvbj0vKFxkKylcLj8oXGQrKT9cLj8oXGQrKT8vLmV4ZWMoYSk7cmV0dXJue21ham9yOnBhcnNlSW50KHZlcnNpb25bMV0pfHwwLG1pbm9yOnBhcnNlSW50KHZlcnNpb25bMl0pfHwwLHBhdGNoOnBhcnNlSW50KHZlcnNpb25bM10pfHwwfX19LG9wdGlvbnM6e2ZpdFRvU2NyZWVuOmZhbHNlLGhpZGVTY3JvbGxiYXJzOnRydWUsY2FwdGlvbnM6e2VuYWJsZWQ6dHJ1ZSx0aXRsZVNvdXJjZToiaW1hZ2UiLGRlc2NTb3VyY2U6ImZpbmQiLGFuaW1hdGlvbjoic2xpZGUifSxzaG93QnV0dG9uczp0cnVlLGNsb3NlT25PdmVybGF5Q2xpY2s6dHJ1ZSxzaG93Q291bnQ6dHJ1ZSxjb3VudE1lc3NhZ2U6ImltYWdlICVpbmRleCBvZiAldG90YWwiLHNlbGVjdG9yOidhW2hyZWYkPSIuZ2lmIl0sIGFbaHJlZiQ9Ii5HSUYiXSwgYVtocmVmJD0iLmpwZyJdLCBhW2hyZWYkPSIuSlBHIl0sIGFbaHJlZiQ9Ii5qcGVnIl0sIGFbaHJlZiQ9Ii5KUEVHIl0sIGFbaHJlZiQ9Ii5wbmciXSwgYVtocmVmJD0iLlBORyJdLCBhW2hyZWYkPSIuYm1wIl0sIGFbaHJlZiQ9Ii5CTVAiXScsZmlsdGVyUmVnZXg6L1wuKGpwZ3xqcGVnfHBuZ3xnaWZ8Ym1wKS9pLGxvYWRlclRpbWVvdXQ6MjAwLHJlc2l6ZVRpbWVvdXQ6MzAwLGxvYWREZWxheTowLHByZWxvYWRJbWFnZXM6ZmFsc2UsZGVlcGxpbmtpbmc6e2VuYWJsZWQ6dHJ1ZSxwcmVmaXg6ImZvb2JveCJ9LGFmZmlsaWF0ZTp7ZW5hYmxlZDp0cnVlLHByZWZpeDoiUG93ZXJlZCBieSAiLHVybDoiaHR0cDovL2dldGZvb2JveC5jb20ifSxlcnJvcjp7bWVzc2FnZToiT29wcywgdGhlIGltYWdlIGNvdWxkbid0IGxvYWQiLHNyYzoiaW1nL2Vycm9yLnBuZyJ9LGRlYnVnOmZhbHNlfSxwbHVnaW5zOntfdmFsaWRhdGU6ZnVuY3Rpb24oYyl7aWYodHlwZW9mIGMubmFtZSE9PSJzdHJpbmciKXtiLmZvb2JveC5vcHRpb25zLmRlYnVnPT10cnVlJiZjb25zb2xlLmVycm9yKCdWYWxpZGF0aW9uIGZhaWxlZCwgcGx1Z2luIGRvZXMgbm90IGltcGxlbWVudCBhIHN0cmluZyBwcm9wZXJ0eSBjYWxsZWQgIm5hbWUiLicsYyk7cmV0dXJuIGZhbHNlfWlmKCFhLmlzRnVuY3Rpb24oYy5pbml0KSl7Yi5mb29ib3gub3B0aW9ucy5kZWJ1Zz09dHJ1ZSYmY29uc29sZS5lcnJvcignVmFsaWRhdGlvbiBmYWlsZWQsIHBsdWdpbiAiJytjLm5hbWUrJyIgZG9lcyBub3QgaW1wbGVtZW50IGEgZnVuY3Rpb24gY2FsbGVkICJpbml0Ii4nLGMpO3JldHVybiBmYWxzZX1iLmZvb2JveC5vcHRpb25zLmRlYnVnPT10cnVlJiZjb25zb2xlLmxvZygnVmFsaWRhdGlvbiBzdWNjZWVkZWQgZm9yIHBsdWdpbiAiJytjLm5hbWUrJyIuJyxjKTtyZXR1cm4gdHJ1ZX0scmVnaXN0ZXJlZDpbXSxyZWdpc3RlcjpmdW5jdGlvbihjLGQpe2lmKGIuZm9vYm94LnBsdWdpbnMuX3ZhbGlkYXRlKGMpKXtiLmZvb2JveC5wbHVnaW5zLnJlZ2lzdGVyZWQucHVzaChjKTtkIT1mJiZ0eXBlb2YgZD09PSJvYmplY3QiJiZhLmV4dGVuZCh0cnVlLGIuZm9vYm94Lm9wdGlvbnMsZCk7Yi5mb29ib3gub3B0aW9ucy5kZWJ1Zz09dHJ1ZSYmY29uc29sZS5sb2coJ1BsdWdpbiAiJytjLm5hbWUrJyIgaGFzIGJlZW4gcmVnaXN0ZXJlZCB3aXRoIHRoZSBGb29ib3guJyxjKX19LGluaXQ6ZnVuY3Rpb24oYyl7Zm9yKHZhciBhPTA7YTxiLmZvb2JveC5wbHVnaW5zLnJlZ2lzdGVyZWQubGVuZ3RoO2ErKyl0cnl7Yi5mb29ib3gucGx1Z2lucy5yZWdpc3RlcmVkW2FdLmluaXQoYyl9Y2F0Y2goZCl7Yi5mb29ib3gub3B0aW9ucy5kZWJ1Zz09dHJ1ZSYmY29uc29sZS5lcnJvcihkKX19fX07dmFyIGU9Yi5mb29ib3gudmVyc2lvbi5wYXJzZShhLmZuLmpxdWVyeSk7aWYoZS5tYWpvcj09MSYmZS5taW5vcjw2KXthLmZuLmZvb2JveD1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIkZvb2JveCByZXF1aXJlcyBqUXVlcnkgdmVyc2lvbiAxLjYgb3IgaGlnaGVyIHRvIHdvcmsgY29ycmVjdGx5LiBQbGVhc2UgdXBncmFkZSBqUXVlcnkgdG8gdGhlIG1pbmltdW0gdmVyc2lvbiBhbmQgcmVsb2FkIHRoZSBwYWdlLiIpfTtyZXR1cm59dmFyIGQ9MDthLmZuLmZvb2JveD1mdW5jdGlvbihjKXtjPWN8fHt9O3ZhciBlPWEuZXh0ZW5kKHRydWUse30sYi5mb29ib3gub3B0aW9ucyxjKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZCsrO3RoaXMuZm9vYm94PW5ldyBnKHRoaXMsZSxkKX0pfTtmdW5jdGlvbiBjKCl7dmFyIGE9dGhpczthLmlkPW51bGw7YS5idXN5PWZhbHNlO2Euc3RhcnQ9ZnVuY3Rpb24oYyxiKXtpZihhLmJ1c3kpcmV0dXJuO2Euc3RvcCgpO2EuaWQ9c2V0VGltZW91dChmdW5jdGlvbigpe2MoKTthLmlkPW51bGw7YS5idXN5PWZhbHNlfSxiKTthLmJ1c3k9dHJ1ZX07YS5zdG9wPWZ1bmN0aW9uKCl7aWYoYS5pZCE9bnVsbCl7Y2xlYXJUaW1lb3V0KGEuaWQpO2EuaWQ9bnVsbDthLmJ1c3k9ZmFsc2V9fX1mdW5jdGlvbiBnKGcsaCxlKXt2YXIgZD10aGlzO2QuaWQ9ZTtkLmNvbnRhaW5lcj1nO2Qub3B0aW9ucz1oO2QudGh1bWJzPVtdO2QubW9kYWw9bnVsbDtkLmRlYnVnPWZ1bmN0aW9uKCl7aWYoYXJndW1lbnRzLmxlbmd0aD09MHx8ZC5vcHRpb25zLmRlYnVnPT1mYWxzZSlyZXR1cm47dmFyIGE9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSxiPWFbMF07YS5zaGlmdCgpO2lmKGEubGVuZ3RoPjApY29uc29sZS5sb2coYixhKTtlbHNlIGNvbnNvbGUubG9nKGIpfTtkLmRlYnVnKCJmb29ib3g6YmVnaW4iKTtkLmluaXQ9ZnVuY3Rpb24oKXtkLmRlYnVnKCJmb29ib3guaW5pdDpiZWdpbiIpO3ZhciBjPWEoZC5jb250YWluZXIpO2lmKGMuaXMoZC5vcHRpb25zLnNlbGVjdG9yKSkhYy5pcygiLmZvb2JveC1saW5rIikmJmMuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIGEodGhpcykuYXR0cigiaHJlZiIpJiZhKHRoaXMpLmF0dHIoImhyZWYiKS5tYXRjaChkLm9wdGlvbnMuZmlsdGVyUmVnZXgpfSkuZWFjaChmdW5jdGlvbihiKXt0aGlzLmluZGV4PWI7ZC50aHVtYnMucHVzaChhKHRoaXMpKX0pLmFkZENsYXNzKCJmb29ib3gtbGluayIpLnVuYmluZCgiY2xpY2suZm9vYm94IikuYmluZCgiY2xpY2suZm9vYm94IixmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCk7ZC5tb2RhbC5zaG93KHRoaXMuaW5kZXgpfSk7ZWxzZSBjLmZpbmQoZC5vcHRpb25zLnNlbGVjdG9yKS5ub3QoIi5mb29ib3gtbGluayIpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiBhKHRoaXMpLmF0dHIoImhyZWYiKSYmYSh0aGlzKS5hdHRyKCJocmVmIikubWF0Y2goZC5vcHRpb25zLmZpbHRlclJlZ2V4KX0pLmVhY2goZnVuY3Rpb24oYil7dGhpcy5pbmRleD1iO2QudGh1bWJzLnB1c2goYSh0aGlzKSl9KS5hZGRDbGFzcygiZm9vYm94LWxpbmsiKS51bmJpbmQoImNsaWNrLmZvb2JveCIpLmJpbmQoImNsaWNrLmZvb2JveCIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpO2QubW9kYWwuc2hvdyh0aGlzLmluZGV4KX0pO2QuZGVidWcoImZvb2JveC5pbml0OnRodW1ic19sb2FkZWQiKTtkLmhhc011bHRpcGxlSW1hZ2VzPWQudGh1bWJzLmxlbmd0aD4xO2QuaW5kZXhlcy5zZXQoKTtiLmZvb2JveC5wbHVnaW5zLmluaXQoZCk7ZC5kZWJ1ZygiZm9vYm94LmluaXQ6cGx1Z2luc19pbml0aWFsaXplZCIpO2QuY3JlYXRlTW9kYWwoKTtkLm1vZGFsLmpxLnVuYmluZCgiLmZvb2JveCIpLmJpbmQoImNsaWNrLmZvb2JveCIsZnVuY3Rpb24oYSl7aWYoZC5vcHRpb25zLmNsb3NlT25PdmVybGF5Q2xpY2s9PXRydWUmJmQubW9kYWwuanEuZ2V0KDApPT1hLnRhcmdldCl7YS5wcmV2ZW50RGVmYXVsdCgpO2QubW9kYWwuY2xvc2UoKTtyZXR1cm4gZmFsc2V9cmV0dXJuIHRydWV9KTtkLmRlYnVnKCJmb29ib3guaW5pdDpvdmVybGF5X2NsaWNrX2JvdW5kIik7ZC5tb2RhbC5qcS51bmRlbGVnYXRlKCIuZm9vYm94IikuZGVsZWdhdGUoIi5mb29ib3gtY2xvc2UiLCJjbGljay5mb29ib3giLGZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKTtkLm1vZGFsLmNsb3NlKCk7cmV0dXJuIGZhbHNlfSkuZGVsZWdhdGUoIi5mb29ib3gtcHJldiIsImNsaWNrLmZvb2JveCIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpO2QubW9kYWwucHJldigpO3JldHVybiBmYWxzZX0pLmRlbGVnYXRlKCIuZm9vYm94LW5leHQiLCJjbGljay5mb29ib3giLGZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKTtkLm1vZGFsLm5leHQoKTtyZXR1cm4gZmFsc2V9KS5kZWxlZ2F0ZSgiLmZvb2JveC1pbm5lciAuZm9vYm94LWltZy1jdXJyZW50IiwiY2xpY2suZm9vYm94IixmdW5jdGlvbigpe2QubW9kYWwuYnVzeT09ZmFsc2UmJmQubW9kYWwuaW1hZ2VDbGlja2VkKCl9KS5kZWxlZ2F0ZSgiLmZvb2JveC1pbm5lciAuZm9vYm94LWltZy1jdXJyZW50IiwibW91c2VlbnRlci5mb29ib3giLGZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKTtkLm1vZGFsLmJ1c3k9PWZhbHNlJiZkLnJhaXNlKCJmb29ib3hfaW1hZ2VfbW91c2VlbnRlciIse3RodW1iOmQubW9kYWwuZ2V0Q3VycmVudFRodW1iKCl9KTtyZXR1cm4gZmFsc2V9KS5kZWxlZ2F0ZSgiLmZvb2JveC1pbm5lciAuZm9vYm94LWltZy1jdXJyZW50IiwibW91c2VsZWF2ZS5mb29ib3giLGZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKTtkLm1vZGFsLmJ1c3k9PWZhbHNlJiZkLnJhaXNlKCJmb29ib3hfaW1hZ2VfbW91c2VsZWF2ZSIse3RodW1iOmQubW9kYWwuZ2V0Q3VycmVudFRodW1iKCl9KTtyZXR1cm4gZmFsc2V9KTtkLmRlYnVnKCJmb29ib3guaW5pdDpjbGlja19ob3Zlcl9ib3VuZCIpO2EoZG9jdW1lbnQpLmJpbmQoImtleWRvd24uZm9vYm94IixmdW5jdGlvbihiKXtpZihkLm1vZGFsLmpxLmhhc0NsYXNzKCJmb29ib3gtc2hvdyIpPT1mYWxzZSlyZXR1cm4gdHJ1ZTt2YXIgYT1iLmtleUNvZGU7aWYoYT09PTI3KXtiLnByZXZlbnREZWZhdWx0KCk7ZC5tb2RhbC5jbG9zZSgpO3JldHVybiBmYWxzZX1lbHNlIGlmKGQuaGFzTXVsdGlwbGVJbWFnZXM9PXRydWUmJmE9PT0zNyl7Yi5wcmV2ZW50RGVmYXVsdCgpO2QubW9kYWwucHJldigpO3JldHVybiBmYWxzZX1lbHNlIGlmKGQuaGFzTXVsdGlwbGVJbWFnZXM9PXRydWUmJmE9PT0zOSl7Yi5wcmV2ZW50RGVmYXVsdCgpO2QubW9kYWwubmV4dCgpO3JldHVybiBmYWxzZX1lbHNlIGQubW9kYWwuYnVzeT09ZmFsc2UmJmQucmFpc2UoImZvb2JveF9rZXlkb3duIix7a2V5OmF9KX0pO2QuZGVidWcoImZvb2JveC5pbml0OmtleXNfYm91bmQiKTtkLm1vZGFsLmpxLmZpbmQoIi5mb29ib3gtaW5uZXIiKS5mb29ib3hzd2lwZSh7c3dpcGVMZWZ0OmZ1bmN0aW9uKCl7ZC5tb2RhbC5wcmV2KCl9LHN3aXBlUmlnaHQ6ZnVuY3Rpb24oKXtkLm1vZGFsLm5leHQoKX19KTtkLmRlYnVnKCJmb29ib3guaW5pdDp0b3VjaF9ib3VuZCIpO2EoYikuYmluZCgicmVzaXplLmZvb2JveCIsZnVuY3Rpb24oKXtpZihkLm1vZGFsLmpxLmhhc0NsYXNzKCJmb29ib3gtc2hvdyIpPT1mYWxzZSlyZXR1cm4gdHJ1ZTtkLnRpbWVycy5yZXNpemUuc3RhcnQoZnVuY3Rpb24oKXt2YXIgYT1kLm1vZGFsLmpxLmZpbmQoIi5mb29ib3gtaW1nLWN1cnJlbnQiKTtkLm5hdHVyYWxJbWFnZVNpemUoYS5nZXQoMCksZnVuY3Rpb24oYil7ZC5tb2RhbC5yZXNpemUoYi5uYXR1cmFsV2lkdGgsYi5uYXR1cmFsSGVpZ2h0LGZ1bmN0aW9uKCl7ZC5tb2RhbC5yZWZyZXNoQ2FwdGlvbigpO2EuY3NzKCJvcGFjaXR5IiwxKX0pfSl9LGQub3B0aW9ucy5yZXNpemVUaW1lb3V0KX0pO2QuZGVidWcoImZvb2JveC5pbml0OnJlc2l6ZV9ib3VuZCIpO3ZhciBlPWQubW9kYWwuZ2V0SGFzaCgpO2lmKGUmJmQuaWQ9PWUuZm9vYm94SWQpe3ZhciBmPWQudGh1bWJzW2UuaW1hZ2VJbmRleF07ZC5yYWlzZSgiZm9vYm94X2hhc19oYXNoIix7dGh1bWI6Zn0pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXthKGQuY29udGFpbmVyKS5maW5kKGQub3B0aW9ucy5zZWxlY3RvcikuZXEoZS5pbWFnZUluZGV4KS5jbGljaygpfSw1MCl9ZC5kZWJ1ZygiZm9vYm94LmluaXQ6ZW5kIil9O2QuaW5kZXhlcz17cHJldjotMSxjdXJyZW50OjAsbmV4dDoxLCJzZXQiOmZ1bmN0aW9uKGEpe2QuZGVidWcoImZvb2JveC5pbmRleGVzLnNldDpiZWdpbiIsYSk7YT1hfHwwO2E9YT5kLnRodW1icy5sZW5ndGgtMT8wOmE8MD9kLnRodW1icy5sZW5ndGgtMTphO3ZhciBjPWEtMSxiPWErMTtkLmluZGV4ZXMuY3VycmVudD1hO2QuaW5kZXhlcy5wcmV2PWM8MD9kLnRodW1icy5sZW5ndGgtMTpjO2QuaW5kZXhlcy5uZXh0PWI+ZC50aHVtYnMubGVuZ3RoLTE/MDpiO2QuZGVidWcoImZvb2JveC5pbmRleGVzLnNldDplbmQiLGEpfX07ZC50aW1lcnM9e2Vycm9yOm5ldyBjLGxvYWRpbmc6bmV3IGMscmVzaXplOm5ldyBjLGhvdmVyOm5ldyBjfTtkLnJhaXNlPWZ1bmN0aW9uKGYsYil7Yj1ifHx7fTt2YXIgYz17ZmI6ZH07YS5leHRlbmQodHJ1ZSxjLGIpO3ZhciBlPWEuRXZlbnQoZixjKTthKGQuY29udGFpbmVyKS50cmlnZ2VyKGUpO3JldHVybiBlfTtkLnByZWxvYWQ9ZnVuY3Rpb24oKXtkLl9wcmVsb2FkSW1hZ2UoZC50aHVtYnNbZC5pbmRleGVzLnByZXZdKTtkLl9wcmVsb2FkSW1hZ2UoZC50aHVtYnNbZC5pbmRleGVzLm5leHRdKX07ZC5fcHJlbG9hZEltYWdlPWZ1bmN0aW9uKGEpe2lmKGEubGVuZ3RoPjAmJmEuZGF0YSgicHJlbG9hZGVkIikhPSJ0cnVlIil7dmFyIGI9bmV3IEltYWdlO2Iuc3JjPWEuYXR0cigiaHJlZiIpO2EuZGF0YSgicHJlbG9hZGVkIiwidHJ1ZSIpfX07ZC5uYXR1cmFsSW1hZ2VTaXplPWZ1bmN0aW9uKGIsYyl7ZC5kZWJ1ZygiZm9vYm94Lm5hdHVyYWxJbWFnZVNpemU6YmVnaW4iKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGU9e25hdHVyYWxIZWlnaHQ6MCxuYXR1cmFsV2lkdGg6MH07aWYoIm5hdHVyYWxXaWR0aCJpbiBiJiYibmF0dXJhbEhlaWdodCJpbiBiJiZiLm5hdHVyYWxIZWlnaHQhPTAmJmIubmF0dXJhbFdpZHRoIT0wKXtkLmRlYnVnKCJmb29ib3gubmF0dXJhbEltYWdlU2l6ZTpleGlzdHMiKTtlLm5hdHVyYWxIZWlnaHQ9Yi5uYXR1cmFsSGVpZ2h0O2UubmF0dXJhbFdpZHRoPWIubmF0dXJhbFdpZHRoO2QuZGVidWcoImZvb2JveC5uYXR1cmFsSW1hZ2VTaXplOmVuZCIpO2EuaXNGdW5jdGlvbihjKSYmYyhlKX1lbHNle2QuZGVidWcoImZvb2JveC5uYXR1cmFsSW1hZ2VTaXplOm5vbi1leGlzdGFudCIpO3ZhciBmPW5ldyBJbWFnZTtmLm9ubG9hZD1mdW5jdGlvbigpe2IubmF0dXJhbEhlaWdodD1lLm5hdHVyYWxIZWlnaHQ9Zi5oZWlnaHQ7Yi5uYXR1cmFsV2lkdGg9ZS5uYXR1cmFsV2lkdGg9Zi53aWR0aDtkLmRlYnVnKCJmb29ib3gubmF0dXJhbEltYWdlU2l6ZTplbmQiKTthLmlzRnVuY3Rpb24oYykmJmMoZSl9O2Yub25lcnJvcj1mdW5jdGlvbihiKXtkLm9wdGlvbnMuZGVidWc9PXRydWUmJmNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgaW1hZ2UgaW4gZnVuY3Rpb24gIm5hdHVyYWxJbWFnZVNpemUiLicsYik7ZC5kZWJ1ZygiZm9vYm94Lm5hdHVyYWxJbWFnZVNpemU6ZW5kIik7YS5pc0Z1bmN0aW9uKGMpJiZjKGUpfTtmLnNyYz1iLnNyY319LGQub3B0aW9ucy5sb2FkRGVsYXkpfTtkLmNyZWF0ZU1vZGFsPWZ1bmN0aW9uKCl7ZC5kZWJ1ZygiZm9vYm94Lm1vZGFsOmJlZ2luIik7dmFyIGI9e307Yi5idXN5PWZhbHNlO3ZhciBjPXtpbWc6ZnVuY3Rpb24oKXt2YXIgYT1uZXcgSW1hZ2U7YS5zcmM9ZC5vcHRpb25zLmVycm9yLnNyYztyZXR1cm4gYX0oKSx0aHVtYjp7anE6bnVsbCx0YXJnZXQ6ZC5vcHRpb25zLmVycm9yLnNyYyx0aXRsZTpkLm9wdGlvbnMuZXJyb3IubWVzc2FnZSxlcnJvcjp0cnVlfX07Yi5qcT1mdW5jdGlvbigpe2QuZGVidWcoImZvb2JveC5tb2RhbC5qcTpiZWdpbiIpO3ZhciBjPWEoIi5mb29ib3gtbW9kYWwiK2QuaWQpO2lmKGMubGVuZ3RoPD0wKXtkLmRlYnVnKCJmb29ib3gubW9kYWwuanE6Y3JlYXRpbmdfbW9kYWwiKTtjPWEoJzxkaXYgY2xhc3M9ImZvb2JveC1tb2RhbCBmb29ib3gtbW9kYWwtJytkLmlkKyciPjwvZGl2PicpO2MuYXBwZW5kKCc8ZGl2IGNsYXNzPSJmb29ib3gtaW5uZXItc3BhY2VyIj48L2Rpdj4nKTtjLmFwcGVuZCgnPGRpdiBjbGFzcz0iZm9vYm94LWxvYWRlciI+PC9kaXY+Jyk7dmFyIGI9YSgnPGRpdiBjbGFzcz0iZm9vYm94LWlubmVyIj48L2Rpdj4nKTtiLmFwcGVuZCgnPGltZyBjbGFzcz0iZm9vYm94LWltZy1jdXJyZW50IiBhbHQ9IiIgc3JjPSIiIC8+PGltZyBjbGFzcz0iZm9vYm94LWltZy1uZXh0IiBhbHQ9IiIgc3JjPSIiIC8+Jyk7Yi5hcHBlbmQoJzxhIGhyZWY9IiNjbG9zZSIgY2xhc3M9ImZvb2JveC1jbG9zZSI+PC9hPicpO2Qub3B0aW9ucy5hZmZpbGlhdGUuZW5hYmxlZD09dHJ1ZSYmYi5hcHBlbmQoJzxkaXYgY2xhc3M9ImZvb2JveC1jcmVkaXQiPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSInK2Qub3B0aW9ucy5hZmZpbGlhdGUudXJsKyciPjxlbT4nK2Qub3B0aW9ucy5hZmZpbGlhdGUucHJlZml4KyIgPC9lbT48c3Bhbj5Gb29Cb3g8L3NwYW4+PC9hPjwvZGl2PiIpO3ZhciBlPWEoJzxkaXYgY2xhc3M9ImZvb2JveC1jYXB0aW9uIj48L2Rpdj4nKTtlLmFwcGVuZCgnPHNwYW4gY2xhc3M9ImZvb2JveC10aXRsZSI+PC9zcGFuPicpO2IuYXBwZW5kKGUpO2Qub3B0aW9ucy5zaG93Q291bnQ9PXRydWUmJmQuaGFzTXVsdGlwbGVJbWFnZXMmJmIuYXBwZW5kKCc8c3BhbiBjbGFzcz0iZm9vYm94LWNvdW50IiAvPicpO2MuYXBwZW5kKGIpO2IuZmluZCgiLmZvb2JveC1pbWctY3VycmVudCIpLmNzcygib3BhY2l0eSIsMCk7aWYoZC5vcHRpb25zLnNob3dCdXR0b25zPT10cnVlJiZkLmhhc011bHRpcGxlSW1hZ2VzKXtjLnByZXBlbmQoJzxhIGhyZWY9IiNwcmV2IiBjbGFzcz0iZm9vYm94LXByZXYiPjwvYT4nKTtjLmFwcGVuZCgnPGEgaHJlZj0iI25leHQiIGNsYXNzPSJmb29ib3gtbmV4dCI+PC9hPicpO2IucHJlcGVuZCgnPGEgaHJlZj0iI3ByZXYiIGNsYXNzPSJmb29ib3gtcHJldiI+PC9hPicpO2IuYXBwZW5kKCc8YSBocmVmPSIjbmV4dCIgY2xhc3M9ImZvb2JveC1uZXh0Ij48L2E+Jyl9YSgiYm9keSIpLnByZXBlbmQoYyl9ZC5kZWJ1ZygiZm9vYm94Lm1vZGFsLmpxOmVuZCIpO3JldHVybiBjfSgpO2IucmVzaXplPWZ1bmN0aW9uKGYsZSxnKXtkLmRlYnVnKCJmb29ib3gubW9kYWwucmVzaXplOmJlZ2luIik7aWYoIWIuanEuaGFzQ2xhc3MoImZvb2JveC1zaG93IikpcmV0dXJuO3ZhciBjPWIuanEuZmluZCgiLmZvb2JveC1pbm5lciIpLGg9Yi5qcS5maW5kKCIuZm9vYm94LWlubmVyLXNwYWNlciIpO2lmKGY9PTB8fGU9PTApe2NvbnNvbGUuZXJyb3IoIkVpdGhlciB0aGUgc3VwcGxpZWQgbmF0dXJhbFdpZHRoIG9yIG5hdHVyYWxIZWlnaHQgaXMgMC4iLHtuYXR1cmFsV2lkdGg6ZixuYXR1cmFsSGVpZ2h0OmV9KTtyZXR1cm59dmFyIG89ZC5vcHRpb25zLnNob3dCdXR0b25zPT10cnVlJiZkLmhhc011bHRpcGxlSW1hZ2VzLG09cGFyc2VJbnQoaC5jc3MoInBhZGRpbmctdG9wIikpLHQ9cGFyc2VJbnQoaC5jc3MoInBhZGRpbmctYm90dG9tIikpLHg9cGFyc2VJbnQoaC5jc3MoInBhZGRpbmctbGVmdCIpKSx5PXBhcnNlSW50KGguY3NzKCJwYWRkaW5nLXJpZ2h0IikpLHM9cGFyc2VJbnQoYy5jc3MoImJvcmRlci10b3Atd2lkdGgiKSkscD1wYXJzZUludChjLmNzcygiYm9yZGVyLWJvdHRvbS13aWR0aCIpKSxxPXBhcnNlSW50KGMuY3NzKCJib3JkZXItbGVmdC13aWR0aCIpKSxyPXBhcnNlSW50KGMuY3NzKCJib3JkZXItcmlnaHQtd2lkdGgiKSksaT1wYXJzZUludChjLmNzcygicGFkZGluZy1sZWZ0IikpLHo9cGFyc2VJbnQoYy5jc3MoImhlaWdodCIpKSxBPXBhcnNlSW50KGMuY3NzKCJ3aWR0aCIpKSx3PShvP20rdDptKjIpK2kqMitzK3Asdj14K3kraSoyK3ErcixuPWIuanEuaGVpZ2h0KCktdyx1PWIuanEud2lkdGgoKS12LGo9dS9mO2lmKGUqaj5uKWo9bi9lO3ZhciBrPWUsbD1mO2lmKGQub3B0aW9ucy5maXRUb1NjcmVlbj09dHJ1ZXx8ZT5ufHxmPnUpe2s9TWF0aC5mbG9vcihlKmopO2w9TWF0aC5mbG9vcihmKmopfWlmKGshPXp8fGwhPUEpYy5hbmltYXRlKHtoZWlnaHQ6ayx3aWR0aDpsLCJtYXJnaW4tdG9wIjotKGsvMitpKyhzK3ApLzIrKG8/dC1tOjApKSwibWFyZ2luLWxlZnQiOi0obC8yK2krKHErcikvMil9LDMwMCxmdW5jdGlvbigpe2QuZGVidWcoImZvb2JveC5tb2RhbC5yZXNpemU6ZW5kIik7YS5pc0Z1bmN0aW9uKGcpJiZnKCl9KTtlbHNle2QuZGVidWcoImZvb2JveC5tb2RhbC5yZXNpemU6ZW5kIik7YS5pc0Z1bmN0aW9uKGcpJiZnKCl9fTtiLnRyYW5zaXRpb249ZnVuY3Rpb24oYyxlLGIpe2QuZGVidWcoImZvb2JveC5tb2RhbC50cmFuc2l0aW9uOmJlZ2luIik7Yy5hbmltYXRlKHtvcGFjaXR5OjB9LDIwMCk7ZS5hbmltYXRlKHtvcGFjaXR5OjF9LDUwMCxmdW5jdGlvbigpe2UuYWRkKGMpLnRvZ2dsZUNsYXNzKCJmb29ib3gtaW1nLW5leHQgZm9vYm94LWltZy1jdXJyZW50Iik7ZC5kZWJ1ZygiZm9vYm94Lm1vZGFsLnRyYW5zaXRpb246ZW5kIik7YS5pc0Z1bmN0aW9uKGIpJiZiKCl9KX07Yi5nZXRDdXJyZW50VGh1bWI9ZnVuY3Rpb24oKXtkLmRlYnVnKCJmb29ib3gubW9kYWwuZ2V0Q3VycmVudFRodW1iOmJlZ2luIik7dmFyIGE9e2pxOm51bGwsdGFyZ2V0Om51bGwsdGl0bGU6IiIsZXJyb3I6ZmFsc2V9O3RyeXthLmluZGV4PWQuaW5kZXhlcy5jdXJyZW50O2EuanE9ZC50aHVtYnNbZC5pbmRleGVzLmN1cnJlbnRdO2EudGFyZ2V0PWQudGh1bWJzW2QuaW5kZXhlcy5jdXJyZW50XS5hdHRyKCJocmVmIil9Y2F0Y2goYil7ZC5kZWJ1ZygiRXJyb3Igb2NjdXJyZWQgY3JlYXRpbmcgdGh1bWIgb2JqZWN0LiIsYik7YT1jLnRodW1ifWQuZGVidWcoImZvb2JveC5tb2RhbC5nZXRDdXJyZW50VGh1bWI6ZW5kIik7cmV0dXJuIGF9O2IuYnVpbGRUaHVtYkNhcHRpb249ZnVuY3Rpb24oZixlKXtpZihkLm9wdGlvbnMuY2FwdGlvbnMuZW5hYmxlZCl7dmFyIGMsYjtpZihkLm9wdGlvbnMuY2FwdGlvbnMudGl0bGVTb3VyY2UhPSJub25lIil7Yz1hLnRyaW0oZS5maW5kKCJpbWc6Zmlyc3QiKS5hdHRyKCJ0aXRsZSIpKTtpZihkLm9wdGlvbnMuY2FwdGlvbnMudGl0bGVTb3VyY2U9PSJhbmNob3IiKWM9YS50cmltKGUuYXR0cigidGl0bGUiKSl9aWYoZC5vcHRpb25zLmNhcHRpb25zLmRlc2NTb3VyY2UhPSJub25lIil7Yj1hLnRyaW0oZS5hdHRyKCJ0aXRsZSIpKXx8YS50cmltKGUuZmluZCgiaW1nOmZpcnN0IikuYXR0cigidGl0bGUiKSk7aWYoZC5vcHRpb25zLmNhcHRpb25zLmRlc2NTb3VyY2U9PSJpbWFnZSIpYj1hLnRyaW0oZS5maW5kKCJpbWc6Zmlyc3QiKS5hdHRyKCJ0aXRsZSIpKTtlbHNlIGlmKGQub3B0aW9ucy5jYXB0aW9ucy5kZXNjU291cmNlPT0iYW5jaG9yIiliPWEudHJpbShlLmF0dHIoInRpdGxlIikpfXZhciBnPWQucmFpc2UoImZvb2JveF9pbWFnZV9jdXN0b21fY2FwdGlvbiIse3RodW1iOmUsdGl0bGU6YyxkZXNjOmIsaGFuZGxlZDpmYWxzZX0pO2lmKGcuaGFuZGxlZCl7Yz1nLnRpdGxlO2I9Zy5kZXNjfWlmKGMmJmM9PWIpYj0iIjtpZihiJiZiIT0iIiliPSc8ZGl2IGNsYXNzPSJmb29ib3gtY2FwdGlvbi1kZXNjIj4nK2IrIjwvZGl2PiI7Zi50aXRsZT1jO2YuZGVzYz1iO2YuY2FwdGlvbj0oYz8nPGRpdiBjbGFzcz0iZm9vYm94LWNhcHRpb24tdGl0bGUiPicrYysiPC9kaXY+IjoiIikrYn1lbHNlIGYuY2FwdGlvbj0iIn07Yi5zaG93PWZ1bmN0aW9uKGgpe2QuZGVidWcoImZvb2JveC5tb2RhbC5zaG93OmJlZ2luIik7aWYoYi5idXN5PT10cnVlKXJldHVybjtiLmJ1c3k9dHJ1ZTtiLmpxLmNsb3Nlc3QoImh0bWwiKS5sZW5ndGg9PTAmJmEoImJvZHkiKS5wcmVwZW5kKGIuanEpO2Qub3B0aW9ucy5oaWRlU2Nyb2xsYmFycz09dHJ1ZSYmYSgiaHRtbCwgYm9keSIpLmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKTtkLmluZGV4ZXMuc2V0KGgpO3ZhciBmPWIuZ2V0Q3VycmVudFRodW1iKCk7ZC5vcHRpb25zLmNhcHRpb25zLmVuYWJsZWQmJiFmLmNhcHRpb24mJmIuYnVpbGRUaHVtYkNhcHRpb24oZixkLnRodW1ic1tkLmluZGV4ZXMuY3VycmVudF0pO2QucmFpc2UoImZvb2JveF9pbWFnZV9iZWZvcmVfbG9hZCIse3RodW1iOmZ9KTtkLnRpbWVycy5sb2FkaW5nLnN0YXJ0KGZ1bmN0aW9uKCl7Yi5qcS5maW5kKCIuZm9vYm94LWxvYWRlciIpLnNob3coKX0sZC5vcHRpb25zLmxvYWRlclRpbWVvdXQpO3ZhciBnPWQub3B0aW9ucy5wcmVsb2FkSW1hZ2VzO2lmKGIuanEuaGFzQ2xhc3MoImZvb2JveC1zaG93Iik9PWZhbHNlKXtiLmpxLmZpbmQoIi5mb29ib3gtaW5uZXIsIC5mb29ib3gtcHJldiwgLmZvb2JveC1uZXh0LCAuZm9vYm94LXBsYXksIC5mb29ib3gtcGF1c2UiKS5jc3MoImRpc3BsYXkiLCJub25lIik7Yi5qcS5maW5kKCIuZm9vYm94LWlubmVyIikuY3NzKHt3aWR0aDoiMjQwcHgiLGhlaWdodDoiMjQwcHgiLCJtYXJnaW4tdG9wIjoiLTEyMHB4IiwibWFyZ2luLWxlZnQiOiItMTIwcHgifSk7Yi5qcS5hZGRDbGFzcygiZm9vYm94LXNob3ciKTtkLnJhaXNlKCJmb29ib3hfbW9kYWxfc2hvdyIpfWVsc2UgZC5vcHRpb25zLmNhcHRpb25zLmVuYWJsZWQmJmIuaGlkZUNhcHRpb24oKTtiLmpxLmZpbmQoIi5mb29ib3gtY291bnQiKS50ZXh0KGQub3B0aW9ucy5jb3VudE1lc3NhZ2UucmVwbGFjZSgiJWluZGV4IixkLmluZGV4ZXMuY3VycmVudCsxKS5yZXBsYWNlKCIldG90YWwiLGQudGh1bWJzLmxlbmd0aCkpO2Qub3B0aW9ucy5kZWVwbGlua2luZy5lbmFibGVkPT10cnVlJiZiLnNldEhhc2goZik7dmFyIGU9bmV3IEltYWdlO2YuaW1nPWU7ZS5vbmxvYWQ9ZnVuY3Rpb24oKXtlLm9ubG9hZD1lLm9uZXJyb3I9bnVsbDtkLnJhaXNlKCJmb29ib3hfaW1hZ2Vfb25sb2FkIix7dGh1bWI6Zn0pO2IuanEuZmluZCgiLmZvb2JveC1pbm5lciIpLnJlbW92ZUNsYXNzKCJmb29ib3gtaW1nLWVycm9yIik7Yi5pbWFnZU9ubG9hZChmLGUsZC5vcHRpb25zLmNhcHRpb25zLmVuYWJsZWQsZyk7ZT1udWxsfTtlLm9uZXJyb3I9ZnVuY3Rpb24oKXtlLm9ubG9hZD1lLm9uZXJyb3I9bnVsbDtkLnJhaXNlKCJmb29ib3hfaW1hZ2Vfb25lcnJvciIse3RodW1iOmZ9KTtiLmpxLmZpbmQoIi5mb29ib3gtaW5uZXIiKS5hZGRDbGFzcygiZm9vYm94LWltZy1lcnJvciIpO2IuaW1hZ2VPbmxvYWQoYy50aHVtYixjLmltZyx0cnVlKTtlPW51bGx9O2QubW9kYWwuanEuZmluZCgiLmZvb2JveC1jYXB0aW9uIikuaGlkZSgpO2QucmFpc2UoImZvb2JveF9pbWFnZV9iZWZvcmVfbG9hZCIse3RodW1iOmZ9KTtlLnNyYz1mLnRhcmdldDtkLmRlYnVnKCJmb29ib3gubW9kYWwuc2hvdzplbmQiKX07Yi5pbWFnZU9ubG9hZD1mdW5jdGlvbihhLGgsZixnKXtkLmRlYnVnKCJmb29ib3gubW9kYWwuaW1hZ2VPbmxvYWQ6YmVnaW4iKTtkLnRpbWVycy5sb2FkaW5nLnN0b3AoKTtiLmpxLmZpbmQoIi5mb29ib3gtbG9hZGVyIikuaGlkZSgpO3ZhciBlPWIuanEuZmluZCgiLmZvb2JveC1pbWctY3VycmVudCIpLGM9Yi5qcS5maW5kKCIuZm9vYm94LWltZy1uZXh0Iik7ZS5hZGQoYykuY3NzKCJvcGFjaXR5IiwiMCIpO2MuYXR0cigic3JjIixhLnRhcmdldCk7ZC5uYXR1cmFsSW1hZ2VTaXplKGgsZnVuY3Rpb24oaCl7Yi5qcS5maW5kKCIuZm9vYm94LWlubmVyLCAuZm9vYm94LXByZXYsIC5mb29ib3gtbmV4dCwgLmZvb2JveC1wbGF5LCAuZm9vYm94LXBhdXNlIikuY3NzKCJkaXNwbGF5IiwiIik7Yi5yZXNpemUoaC5uYXR1cmFsV2lkdGgsaC5uYXR1cmFsSGVpZ2h0LGZ1bmN0aW9uKCl7Yi50cmFuc2l0aW9uKGUsYyxmdW5jdGlvbigpe2lmKGY9PXRydWUpe2IuanEuZmluZCgiLmZvb2JveC1jYXB0aW9uIC5mb29ib3gtdGl0bGUiKS5odG1sKGEuY2FwdGlvbik7Yi5zaG93Q2FwdGlvbigpfWQucmFpc2UoImZvb2JveF9pbWFnZV9hZnRlcl9sb2FkIix7dGh1bWI6YX0pO2IuYnVzeT1mYWxzZTtnPT10cnVlJiZkLnByZWxvYWQoKTtkLmRlYnVnKCJmb29ib3gubW9kYWwuaW1hZ2VPbmxvYWQ6ZW5kIil9KX0pfSl9O2Iuc2hvd0NhcHRpb249ZnVuY3Rpb24oKXt2YXIgYz1iLmpxLmZpbmQoIi5mb29ib3gtY2FwdGlvbiIpLGU9Yi5nZXRDYXB0aW9uSGVpZ2h0KCk7aWYoZC5vcHRpb25zLmNhcHRpb25zLmFuaW1hdGlvbj09InNsaWRlIiljLmhlaWdodCgwKS5zaG93KCkuYW5pbWF0ZSh7aGVpZ2h0OmV9LGZ1bmN0aW9uKCl7YSh0aGlzKS5yZW1vdmVDbGFzcygiZm9vYm94LWNhcHRpb24taGlkZGVuIil9KTtlbHNlIGlmKGQub3B0aW9ucy5jYXB0aW9ucy5hbmltYXRpb249PSJmYWRlIiljLmhlaWdodChlKS5mYWRlSW4oZnVuY3Rpb24oKXthKHRoaXMpLnJlbW92ZUNsYXNzKCJmb29ib3gtY2FwdGlvbi1oaWRkZW4iKX0pO2Vsc2UgZC5vcHRpb25zLmNhcHRpb25zLmFuaW1hdGlvbj09InNob3ciJiZjLmhlaWdodChlKS5zaG93KCkucmVtb3ZlQ2xhc3MoImZvb2JveC1jYXB0aW9uLWhpZGRlbiIpfTtiLmdldENhcHRpb25IZWlnaHQ9ZnVuY3Rpb24oKXt2YXIgZD1iLmpxLmZpbmQoIi5mb29ib3gtY2FwdGlvbiAuZm9vYm94LXRpdGxlIiksaT1iLmpxLmZpbmQoIi5mb29ib3gtY2FwdGlvbi1kZXNjIiksZz1bXSxlPWQucGFyZW50cygpLmFuZFNlbGYoKS5maWx0ZXIoIjpoaWRkZW4iKSxqPSJ2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgIjtlLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpO2cucHVzaChiLmF0dHIoInN0eWxlIikpO2IuYXR0cigic3R5bGUiLGopfSk7dmFyIGM9ZC5vdXRlckhlaWdodCgpLGg9aS5vdXRlckhlaWdodCgpO2UuZWFjaChmdW5jdGlvbihkKXt2YXIgYj1hKHRoaXMpLGM9Z1tkXTtpZihjPT09ZiliLnJlbW92ZUF0dHIoInN0eWxlIik7ZWxzZSBiLmF0dHIoInN0eWxlIixjKX0pO2lmKGM+Yi5qcS5maW5kKCIuZm9vYm94LWlubmVyIikuaGVpZ2h0KCkqLjgpYz1jLWg7cmV0dXJuIGN9O2IucmVmcmVzaENhcHRpb249ZnVuY3Rpb24oKXt2YXIgYT1iLmpxLmZpbmQoIi5mb29ib3gtY2FwdGlvbjp2aXNpYmxlIiksYz1iLmpxLmZpbmQoIi5mb29ib3gtY2FwdGlvbiAuZm9vYm94LXRpdGxlIik7YS5sZW5ndGg+MCYmYS5oZWlnaHQoYi5nZXRDYXB0aW9uSGVpZ2h0KCkpfTtiLmhpZGVDYXB0aW9uPWZ1bmN0aW9uKCl7dmFyIGM9Yi5qcS5maW5kKCIuZm9vYm94LWNhcHRpb24iKTtpZihkLm9wdGlvbnMuY2FwdGlvbnMuYW5pbWF0aW9uPT0ic2xpZGUiKWMuYW5pbWF0ZSh7aGVpZ2h0OjB9LGZ1bmN0aW9uKCl7YSh0aGlzKS5oaWRlKCkuYWRkQ2xhc3MoImZvb2JveC1jYXB0aW9uLWhpZGRlbiIpfSk7ZWxzZSBpZihkLm9wdGlvbnMuY2FwdGlvbnMuYW5pbWF0aW9uPT0iZmFkZSIpYy5mYWRlT3V0KGZ1bmN0aW9uKCl7YSh0aGlzKS5oaWRlKCkuYWRkQ2xhc3MoImZvb2JveC1jYXB0aW9uLWhpZGRlbiIpfSk7ZWxzZSBkLm9wdGlvbnMuY2FwdGlvbnMuYW5pbWF0aW9uPT0ic2hvdyImJmMuaGlkZSgpLmFkZENsYXNzKCJmb29ib3gtY2FwdGlvbi1oaWRkZW4iKX07Yi5jbG9zZT1mdW5jdGlvbigpe2IuanEucmVtb3ZlQ2xhc3MoImZvb2JveC1zaG93IikuZGV0YWNoKCk7Yi5idXN5PWZhbHNlO2Qub3B0aW9ucy5oaWRlU2Nyb2xsYmFycz09dHJ1ZSYmYSgiaHRtbCwgYm9keSIpLmNzcygib3ZlcmZsb3ciLCJhdXRvIik7ZC5yYWlzZSgiZm9vYm94X21vZGFsX2Nsb3NlIik7ZC5vcHRpb25zLmRlZXBsaW5raW5nLmVuYWJsZWQ9PXRydWUmJmIuY2xlYXJIYXNoKCl9O2IucHJldj1mdW5jdGlvbigpe2Iuc2hvdyhkLmluZGV4ZXMucHJldik7ZC5yYWlzZSgiZm9vYm94X21vZGFsX3ByZXYiKX07Yi5uZXh0PWZ1bmN0aW9uKCl7Yi5zaG93KGQuaW5kZXhlcy5uZXh0KTtkLnJhaXNlKCJmb29ib3hfbW9kYWxfbmV4dCIpfTtiLmltYWdlQ2xpY2tlZD1mdW5jdGlvbigpe2QucmFpc2UoImZvb2JveF9tb2RhbF9pbWFnZUNsaWNrZWQiLHt0aHVtYjpkLm1vZGFsLmdldEN1cnJlbnRUaHVtYigpfSk7aWYoZC5vcHRpb25zLmNhcHRpb25zLmVuYWJsZWQ9PXRydWUpaWYoYi5qcS5maW5kKCIuZm9vYm94LWNhcHRpb246dmlzaWJsZSIpLmxlbmd0aD4wKWIuaGlkZUNhcHRpb24oKTtlbHNlIGIuc2hvd0NhcHRpb24oKX07Yi5zZXRIYXNoPWZ1bmN0aW9uKGEpe3ZhciBjPWQub3B0aW9ucy5kZWVwbGlua2luZy5wcmVmaXgsZT1hLnRhcmdldC5tYXRjaCgvLipcLyguKikkLyk7aWYoZSl7dmFyIGI9ZVsxXSxmPWMrIi0iK2QuaWQrIi8iK2EuaW5kZXgrIi8iK2I7aWYobG9jYXRpb24uaGFzaC5yZXBsYWNlKCIjIiwiIikhPWYpbG9jYXRpb24uaGFzaD1jKyItIitkLmlkKyIvIithLmluZGV4KyIvIitifX07Yi5jbGVhckhhc2g9ZnVuY3Rpb24oKXtpZihsb2NhdGlvbi5oYXNoLmluZGV4T2YoIiMiK2Qub3B0aW9ucy5kZWVwbGlua2luZy5wcmVmaXgpIT09LTEpbG9jYXRpb24uaGFzaD0iIy8ifTtiLmdldEhhc2g9ZnVuY3Rpb24oKXtpZihsb2NhdGlvbi5oYXNoLmluZGV4T2YoIiMiK2Qub3B0aW9ucy5kZWVwbGlua2luZy5wcmVmaXgpIT09LTEpe3ZhciBhPWxvY2F0aW9uLmhhc2g7aWYoYS5zdWJzdHIoLTEpPT0iLyIpYT1hLnN1YnN0cigwLGEubGVuZ3RoLTEpO3ZhciBjPWEubWF0Y2goL1wvKFteXC9dKylcL1teXC9dKyQvKVsxXSxiPWEuc3Vic3RyaW5nKDAsYS5pbmRleE9mKCIvIikpO2I9Yi5yZXBsYWNlKCIjIitkLm9wdGlvbnMuZGVlcGxpbmtpbmcucHJlZml4KyItIiwiIik7cmV0dXJue2ltYWdlSW5kZXg6Yyxmb29ib3hJZDpifX1yZXR1cm4gZmFsc2V9O2QuZGVidWcoImZvb2JveC5tb2RhbDplbmQiKTtkLm1vZGFsPWI7ZC5yYWlzZSgiZm9vYm94X21vZGFsX2NyZWF0ZWQiKX07ZC5pbml0KCk7ZC5kZWJ1ZygiZm9vYm94OmVuZCIpO3JldHVybiBkfX0pKGpRdWVyeSx3aW5kb3cpOyhmdW5jdGlvbihhKXthLmZuLmZvb2JveHN3aXBlPWZ1bmN0aW9uKGMpe3ZhciBiPXttaW5fbW92ZTo2MCxzd2lwZUxlZnQ6ZnVuY3Rpb24oKXt9LHN3aXBlUmlnaHQ6ZnVuY3Rpb24oKXt9fTtjJiZhLmV4dGVuZChiLGMpO3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjLGE9ZmFsc2U7ZnVuY3Rpb24gZigpe3RoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixkKTtjPW51bGw7YT1mYWxzZX1mdW5jdGlvbiBkKGUpe2UucHJldmVudERlZmF1bHQoKTtpZihhKXt2YXIgZz1lLnRvdWNoZXNbMF0ucGFnZVgsZD1jLWc7aWYoTWF0aC5hYnMoZCk+PWIubWluX21vdmUpe2YoKTtpZihkPjApYi5zd2lwZUxlZnQoKTtlbHNlIGIuc3dpcGVSaWdodCgpfX19ZnVuY3Rpb24gZShiKXtpZihiLnRvdWNoZXMubGVuZ3RoPT0xKXtjPWIudG91Y2hlc1swXS5wYWdlWDthPXRydWU7dGhpcy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGQsZmFsc2UpfX10aGlzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGUsZmFsc2UpfSk7cmV0dXJuIHRoaXN9fSkoalF1ZXJ5KTsoZnVuY3Rpb24oYSxiLGQpe2lmKGIuZm9vYm94PT1kfHxiLmZvb2JveD09bnVsbCl0aHJvdyBuZXcgRXJyb3IoIlBsZWFzZSBjaGVjayBhbmQgbWFrZSBzdXJlIGZvb2JveC5qcyBpcyBpbmNsdWRlZCBpbiB0aGUgcGFnZSBhbmQgaXMgbG9hZGVkIHByaW9yIHRvIHRoaXMgc2NyaXB0LiIpO3ZhciBlPXtzbGlkZXNob3c6e2VuYWJsZWQ6dHJ1ZSxhdXRvc3RhcnQ6ZmFsc2UsdGltZW91dDo2ZTN9fTtmdW5jdGlvbiBjKCl7dmFyIGI9dGhpcztiLm5hbWU9IkZvb2JveCBTbGlkZXNob3ciO2IucnVubmluZz1mYWxzZTtiLnN0b3BwZWQ9MDtiLnJlbWFpbmluZz0wO2IuYXV0b3N0YXJ0PWZhbHNlO2IuaW5pdD1mdW5jdGlvbihjKXtiLmF1dG9zdGFydD1jLm9wdGlvbnMuc2xpZGVzaG93LmF1dG9zdGFydDthKGMuY29udGFpbmVyKS5iaW5kKHtmb29ib3hfbW9kYWxfY3JlYXRlZDpmdW5jdGlvbihkKXtpZihkLmZiLm9wdGlvbnMuc2xpZGVzaG93LmVuYWJsZWQ9PXRydWUpe3ZhciBlPWQuZmIubW9kYWwuanEuZmluZCgiLmZvb2JveC1pbm5lciIpLmFkZENsYXNzKCJmb29ib3gtc2xpZGVzaG93Iik7ZS5hcHBlbmQoJzxkaXYgY2xhc3M9ImZvb2JveC1wcm9ncmVzcyI+PC9kaXY+Jyk7aWYoZC5mYi5vcHRpb25zLnNob3dCdXR0b25zPT10cnVlJiZjLmhhc011bHRpcGxlSW1hZ2VzKXtlLmFwcGVuZCgnPGEgaHJlZj0iI3BsYXlwYXVzZSIgY2xhc3M9ImZvb2JveC1wbGF5Ij48L2E+Jyk7ZC5mYi5tb2RhbC5qcS5hcHBlbmQoJzxhIGhyZWY9IiNwbGF5cGF1c2UiIGNsYXNzPSJmb29ib3gtcGxheSI+PC9hPicpfWQuZmIubW9kYWwuanEudW5kZWxlZ2F0ZSgiLmZvb2JveC1zbGlkZXNob3ciKS5kZWxlZ2F0ZSgiLmZvb2JveC1wbGF5IiwiY2xpY2suZm9vYm94LXNsaWRlc2hvdyIsZnVuY3Rpb24oYyl7Yy5wcmV2ZW50RGVmYXVsdCgpO2lmKGQuZmIubW9kYWwuYnVzeT09ZmFsc2Upe2EoIi5mb29ib3gtcGxheSIpLnRvZ2dsZUNsYXNzKCJmb29ib3gtcGxheSBmb29ib3gtcGF1c2UiKTtiLnN0YXJ0KGQuZmIpfXJldHVybiBmYWxzZX0pLmRlbGVnYXRlKCIuZm9vYm94LXBhdXNlIiwiY2xpY2suZm9vYm94LXNsaWRlc2hvdyIsZnVuY3Rpb24oYyl7Yy5wcmV2ZW50RGVmYXVsdCgpO2lmKGQuZmIubW9kYWwuYnVzeT09ZmFsc2Upe2EoIi5mb29ib3gtcGF1c2UiKS50b2dnbGVDbGFzcygiZm9vYm94LXBsYXkgZm9vYm94LXBhdXNlIik7Yi5wYXVzZShkLmZiKX1yZXR1cm4gZmFsc2V9KX19LGZvb2JveF9tb2RhbF9jbG9zZTpmdW5jdGlvbihhKXtiLnN0b3AoYS5mYixmYWxzZSl9LCJmb29ib3hfbW9kYWxfbmV4dCBmb29ib3hfbW9kYWxfcHJldiI6ZnVuY3Rpb24oYSl7Yi5zdG9wKGEuZmIsYi5hdXRvc3RhcnQ9PXRydWV8fGIucnVubmluZz09dHJ1ZSl9LGZvb2JveF9pbWFnZV9hZnRlcl9sb2FkOmZ1bmN0aW9uKGEpe2IuYXV0b3N0YXJ0PT10cnVlJiZiLnN0YXJ0KGEuZmIpfSxmb29ib3hfa2V5ZG93bjpmdW5jdGlvbihhKXtpZihhLmtleT09MzIpe2EucHJldmVudERlZmF1bHQoKTtpZihiLnJ1bm5pbmc9PXRydWUpYi5wYXVzZShhLmZiKTtlbHNlIGIuc3RhcnQoYS5mYik7cmV0dXJuIGZhbHNlfX19KX07Yi5zdGFydD1mdW5jdGlvbihhKXtpZihiLnJlbWFpbmluZz09MCliLnJlbWFpbmluZz1hLm9wdGlvbnMuc2xpZGVzaG93LnRpbWVvdXQ7Yi5hdXRvc3RhcnQ9ZmFsc2U7Yi5ydW5uaW5nPXRydWU7YS5tb2RhbC5qcS5maW5kKCIuZm9vYm94LWNhcHRpb246aGlkZGVuIikuc2hvdygpO2EubW9kYWwuanEuZmluZCgiLmZvb2JveC1wcm9ncmVzcyIpLmNzcygid2lkdGgiLGIuc3RvcHBlZCsiJSIpLnNob3coKS5hbmltYXRlKHt3aWR0aDoiMTAwJSJ9LGIucmVtYWluaW5nLCJsaW5lYXIiLGZ1bmN0aW9uKCl7Yi5zdG9wcGVkPTA7Yi5yZW1haW5pbmc9YS5vcHRpb25zLnNsaWRlc2hvdy50aW1lb3V0O2IuYXV0b3N0YXJ0PXRydWU7YS5tb2RhbC5uZXh0KCl9KTthLnJhaXNlKCJmb29ib3hfc2xpZGVzaG93X3N0YXJ0Iil9O2Iuc3RvcD1mdW5jdGlvbihhLGMpe2Iuc3RvcHBlZD0wO2EubW9kYWwuanEuZmluZCgiLmZvb2JveC1wcm9ncmVzcyIpLnN0b3AoKS5oaWRlKCkuY3NzKCJ3aWR0aCIsYi5zdG9wcGVkKyIlIik7Yi5ydW5uaW5nPWZhbHNlO2IuYXV0b3N0YXJ0PWM7Yi5yZW1haW5pbmc9YS5vcHRpb25zLnNsaWRlc2hvdy50aW1lb3V0O2EucmFpc2UoImZvb2JveF9zbGlkZXNob3dfc3RvcCIpfTtiLnBhdXNlPWZ1bmN0aW9uKGEpe3ZhciBkPWEubW9kYWwuanEuZmluZCgiLmZvb2JveC1wcm9ncmVzcyIpLnN0b3AoKS5jc3MoIndpZHRoIiksYz1hLm1vZGFsLmpxLmZpbmQoIi5mb29ib3gtaW5uZXIiKS5jc3MoIndpZHRoIik7Yi5ydW5uaW5nPWZhbHNlO2Iuc3RvcHBlZD1wYXJzZUludChkKS9wYXJzZUludChjKSoxMDA7Yi5yZW1haW5pbmc9YS5vcHRpb25zLnNsaWRlc2hvdy50aW1lb3V0LWEub3B0aW9ucy5zbGlkZXNob3cudGltZW91dCooYi5zdG9wcGVkLzEwMCk7YS5yYWlzZSgiZm9vYm94X3NsaWRlc2hvd19wYXVzZSIpfTtyZXR1cm4gYn1iLmZvb2JveC5wbHVnaW5zLnJlZ2lzdGVyKG5ldyBjLGUpfSkoalF1ZXJ5LHdpbmRvdyk7KGZ1bmN0aW9uKGEsYixjKXtpZihiLmZvb2JveD09Y3x8Yi5mb29ib3g9PW51bGwpdGhyb3cgbmV3IEVycm9yKCJQbGVhc2UgY2hlY2sgYW5kIG1ha2Ugc3VyZSBmb29ib3guanMgaXMgaW5jbHVkZWQgaW4gdGhlIHBhZ2UgYW5kIGlzIGxvYWRlZCBwcmlvciB0byB0aGlzIHNjcmlwdC4iKTt2YXIgZD17c29jaWFsOntlbmFibGVkOmZhbHNlLHBvc2l0aW9uOiJ0b3AiLGxpbmtzOltdfX07ZnVuY3Rpb24gZSgpe3ZhciBiPXRoaXM7Yi5uYW1lPSJGb29ib3ggU29jaWFsIjtiLmluaXQ9ZnVuY3Rpb24oYil7YShiLmNvbnRhaW5lcikuYmluZCh7Zm9vYm94X21vZGFsX2NyZWF0ZWQ6ZnVuY3Rpb24oYil7aWYoYi5mYi5vcHRpb25zLnNvY2lhbC5lbmFibGVkPT10cnVlKXt2YXIgZj1iLmZiLm1vZGFsLmpxLmZpbmQoIi5mb29ib3gtaW5uZXIiKSxjPWYuZmluZCgiLmZvb2JveC1zb2NpYWwiKTtpZihjLmxlbmd0aD09MCl7Yz1hKCc8ZGl2IGNsYXNzPSJmb29ib3gtc29jaWFsIj48L2Rpdj4nKS5oaWRlKCkuYWRkQ2xhc3MoImZvb2JveC0iK2IuZmIub3B0aW9ucy5zb2NpYWwucG9zaXRpb24pO2Zvcih2YXIgZT0wO2U8Yi5mYi5vcHRpb25zLnNvY2lhbC5saW5rcy5sZW5ndGg7ZSsrKXt2YXIgZD1iLmZiLm9wdGlvbnMuc29jaWFsLmxpbmtzW2VdO2MuYXBwZW5kKCc8YSBocmVmPSInK2QudXJsKyciIHJlbD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iZm9vYm94LScrZC5jc3MrJyIgdGl0bGU9IicrZC50aXRsZSsnIj48L2E+Jyl9Zi5hcHBlbmQoYyl9fX0sImZvb2JveF9pbWFnZV9iZWZvcmVfbG9hZCBmb29ib3hfbW9kYWxfbmV4dCBmb29ib3hfbW9kYWxfcHJldiBmb29ib3hfaW1hZ2Vfb25lcnJvciI6ZnVuY3Rpb24oYSl7YS5mYi5tb2RhbC5qcS5maW5kKCIuZm9vYm94LXNvY2lhbCIpLmhpZGUoKX0sZm9vYm94X2ltYWdlX2FmdGVyX2xvYWQ6ZnVuY3Rpb24oYyl7aWYoYy50aHVtYi5lcnJvcj09ZmFsc2UmJiFhKGMudGh1bWIuanEpLmhhc0NsYXNzKCJuby1zb2NpYWwiKSl7Zm9yKHZhciBpPWEoIi5mb29ib3gtc29jaWFsIiksZj0wO2Y8Yy5mYi5vcHRpb25zLnNvY2lhbC5saW5rcy5sZW5ndGg7ZisrKXt2YXIgaD1jLmZiLm9wdGlvbnMuc29jaWFsLmxpbmtzW2ZdLGc9aS5maW5kKCIuZm9vYm94LSIraC5jc3MpO2lmKGcubGVuZ3RoKXt2YXIgYj1oLnVybDtpZihiLmluZGV4T2YoInt1cmwtbmV9IikhPS0xKWI9Yi5yZXBsYWNlKC97dXJsLW5lfS8sbG9jYXRpb24uaHJlZik7aWYoYi5pbmRleE9mKCJ7dXJsfSIpIT0tMSliPWIucmVwbGFjZSgve3VybH0vLGVuY29kZVVSSUNvbXBvbmVudChsb2NhdGlvbi5ocmVmKSk7aWYoYi5pbmRleE9mKCJ7dGl0bGV9IikhPS0xKXt2YXIgZD1kb2N1bWVudC50aXRsZSsoYy50aHVtYi50aXRsZT8iIC0gIitjLnRodW1iLnRpdGxlOiIiKTtkPWQucmVwbGFjZSgvKDwoW14+XSspPikvaWcsIiIpO2I9Yi5yZXBsYWNlKC97dGl0bGV9LyxlbmNvZGVVUklDb21wb25lbnQoZCkpfWlmKGIuaW5kZXhPZigie2ltZ30iKSE9LTEpe3ZhciBqPWMudGh1bWIuaW1nLnNyYztiPWIucmVwbGFjZSgve2ltZ30vLGVuY29kZVVSSUNvbXBvbmVudChqKSl9aWYoYi5pbmRleE9mKCJ7ZGVzY30iKSE9LTEpe3ZhciBlPWMudGh1bWIuZGVzY3x8IiI7ZT1lLnJlcGxhY2UoLyg8KFtePl0rKT4pL2lnLCIiKTtiPWIucmVwbGFjZSgve2Rlc2N9LyxlbmNvZGVVUklDb21wb25lbnQoZSkpfWcuYXR0cigiaHJlZiIsYil9fWMuZmIubW9kYWwuanEuZmluZCgiLmZvb2JveC1zb2NpYWwiKS5mYWRlSW4oKX19LGZvb2JveF9tb2RhbF9pbWFnZUNsaWNrZWQ6ZnVuY3Rpb24oYyl7aWYoYy50aHVtYi5lcnJvcj09ZmFsc2UmJiFhKGMudGh1bWIuanEpLmhhc0NsYXNzKCJuby1zb2NpYWwiKSlpZihjLmZiLm9wdGlvbnMuc29jaWFsLmVuYWJsZWQ9PXRydWUpe3ZhciBiPWEoIi5mb29ib3gtc29jaWFsIik7aWYoYi5pcygiOnZpc2libGUiKSliLmZhZGVPdXQoKTtlbHNlIGIuZmFkZUluKCl9fX0pfX1iLmZvb2JveC5wbHVnaW5zLnJlZ2lzdGVyKG5ldyBlLGQpfSkoalF1ZXJ5LHdpbmRvdyk7KGZ1bmN0aW9uKGEsYixjKXtpZihiLmZvb2JveD09Y3x8Yi5mb29ib3g9PW51bGwpdGhyb3cgbmV3IEVycm9yKCJQbGVhc2UgY2hlY2sgYW5kIG1ha2Ugc3VyZSBmb29ib3guanMgaXMgaW5jbHVkZWQgaW4gdGhlIHBhZ2UgYW5kIGlzIGxvYWRlZCBwcmlvciB0byB0aGlzIHNjcmlwdC4iKTt2YXIgZT17d29yZHByZXNzOntlbmFibGVkOmZhbHNlLGdhbGxlcmllczpmYWxzZSxjYXB0aW9uczpmYWxzZX19O2Z1bmN0aW9uIGQoKXt2YXIgYj10aGlzO2IubmFtZT0iRm9vYm94IFdvcmRwcmVzcyI7Yi5pbml0PWZ1bmN0aW9uKGIpe2EoYi5jb250YWluZXIpLmJpbmQoe2Zvb2JveF9pbWFnZV9jdXN0b21fY2FwdGlvbjpmdW5jdGlvbihiKXtpZihiLmZiLm9wdGlvbnMud29yZHByZXNzLmVuYWJsZWQ9PXRydWUpaWYoYi5mYi5vcHRpb25zLndvcmRwcmVzcy5nYWxsZXJpZXM9PXRydWUmJmEoYi5mYi5jb250YWluZXIpLmhhc0NsYXNzKCJnYWxsZXJ5Iikpe2IudGl0bGU9Yi50aHVtYi5hdHRyKCJ0aXRsZSIpO2IuZGVzYz1iLnRodW1iLnBhcmVudHMoIi5nYWxsZXJ5LWl0ZW06Zmlyc3QiKS5maW5kKCIud3AtY2FwdGlvbi10ZXh0OmZpcnN0IikuaHRtbCgpfHwiIjtiLmhhbmRsZWQ9dHJ1ZX1lbHNlIGlmKGIuZmIub3B0aW9ucy53b3JkcHJlc3MuY2FwdGlvbnM9PXRydWUmJmEoYi5mYi5jb250YWluZXIpLmhhc0NsYXNzKCJ3cC1jYXB0aW9uIikpe2IudGl0bGU9Yi50aHVtYi5maW5kKCJpbWciKS5hdHRyKCJ0aXRsZSIpO2IuZGVzYz1hKGIuZmIuY29udGFpbmVyKS5maW5kKCIud3AtY2FwdGlvbi10ZXh0OmZpcnN0IikuaHRtbCgpfHwiIjtiLmhhbmRsZWQ9dHJ1ZX19fSl9fWIuZm9vYm94LnBsdWdpbnMucmVnaXN0ZXIobmV3IGQsZSl9KShqUXVlcnksd2luZG93KQ==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/icon-default.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAC7mlDQ1BJQ0MgUHJvZmlsZQAAeAGFVM9rE0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHhpObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu+LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJyPyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/EtX5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflPXvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5zrgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6b8C8/UXAeIuJAAACO0lEQVRIDb1WQUsCQRR2cwmCBVtPgae6FEH9APEiuf6C8Bh6io7dgqBDEHTrGJ2UjtIvcA0v4g/oEHWpk9BJExaCUOx7w84yazPOaObCMG/evPd9M2+/mV1rPB4ndE82m11zHMdDLLVdy7JSlAN7APsZzQ+CwO90Ol86LGsaYT6f37Bt+wIgZbQ1DRiR1YbD4WWr1fpQxSoJPc87R9IZmqNKVvgD+K9937+Szf8iDMt3j50fyhJMfSjzA8p8NFnmGGGpVFrt9/uPAM2ZAmvi2q7rHtTr9W8et8IN6nu93h26RZERZC7EJJs9EWGxWCyjDOXQr+0gDpeaLpAwCZvHsZJCjQ7U+AJnhk9M64kISvzkMRCY7mx1kbODnIDtEGQnpmScROyhSEscS+xMyJHgJSVC4wfJ/clgA1LGYRUKhT0kP00CmIxlJJry7tMO51alDFy2CGHxORsHfBtKinwY10aj0akoimjS0CBS2WKIi3bILmKO9VcyjqM4MikuGh737z0RDkSWZDJ5g3O5LvrmsWVKJi4b7+9VBKSbAcFlvAPRrbRlIpG9PwIgLtphW4mmmZiFLIRqs6sNK3qDY1ODH5ueg+wdOVtcNLcxNM1ApkBVGQUoxsEIAUCDrjA5k2lARpc3I4w+wPQJwcGsmjLxXSrUGIOBWCqNRqNGzoiQBrhXq6RSshf10M3VbDYrHI+/QzZOp9PHMOZWLQcV+naIGbliOyTvUn+iomXAgBCW85soki71R1gkXuSv/g+HUyMXYtRv4gAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/icon-invert.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAANjr9RwUqgAAACBjSFJNAACHDwAAjA0AAPmTAACE5QAAe4IAAOt1AAA/tAAAIlh1a16cAAAC0WlDQ1BJQ0MgUHJvZmlsZQAAOMuNlM9LFGEYx7+zjRgoQWBme4ihQ0ioTBZlROWuv9i0bVl/lBLE7Oy7u5Ozs9PM7JoiEV46ZtE9Kg8e+gM8eOiUl8LALALpblFEgpeS7Xlnxt0R7ccLM/N5nx/f53nf4X2BGlkxTT0kAXnDsZJ9Uen66JhU+xEhHEEdwqhTVNuMJBIDoMFjsWtsvofAvyute/v/OurStpoHhP1A6Eea2Sqw7xfZC1lqBBC5XsOEYzrE9zhbnv0x55TH8659KNlFvEh8QDUtHv+auEPNKWmgRiRuyQZiUgHO60XV7+cgPfXMGB6k73Hq6S6ze3wWZtJKdz9xG/HnNOvu4ZrE8xmtN0bcTM9axuod9lg4oTmxIY9DI4YeH/C5yUjFr/qaoulEk9v6dmmwZ9t+S7mcIA4TJ8cL/TymkXI7p3JD1zwW9KlcV9znd1Yxyeseo5g5U3f/F/UWeoVR6GDQYNDbgIQk+hBFK0xYKCBDHo0iNLIyN8YitjG+Z6SORIAl8q9TzrqbcxtFyuZZI4jGMdNSUZDkD/JXeVV+Ks/JX2bDxeaqZ8a6qanLD76TLq+8ret7/Z48fZXqRsirI0vWfGVNdqDTQHcZYzZcVeI12P34ZmCVLFCpFSlXadytVHJ9Nr0jgWp/2j2KXZpebKrWWhUXbqzUL03v2KvCrlWxyqp2zqtxwXwmHhVPijGxQzwHSbwkdooXxW6anRcHKhnDpKJhwlWyoVCWgUnymjv+mRcL76y5o6GPGczSVImf/4RVyGg6CxzRf7j/c/B7xaOxIvDCBg6frto2ku4dIjQuV23OFeDCN7oP3lZtzXQeDj0BFs6oRavkSwvCG4pmdxw+6SqYk5aWzTlSuyyflSJ0JTEpZqhtLZKi65LrsiWL2cwqsXQb7Mypdk+lnnal5lO5vEHnr/YRsPWwXP75rFzeek49rAEv9d/AvP1FGNUZigAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuND6NzHYAAAEuSURBVEhLxZZBDoIwEEVZmZCwYMkluIpncOsBWHEJEhO3HMAzuHLrGVx5AxO3+L+ZGqgFpkjGJj8BOn9e2tJ2kkTRuq5LoS10gM7QVcRnfmNfqkg1HYIkBXSEntBcYwxji0VgGGvoMUcJ9NNTq6EyfacFIN/CHNPTjIANdFkB5lIw12Z0tOhsV4S5VG0QiN5dJCxHPKVpuwEUjgy6a5wSk/cTKHzMnX08eKkUpn7IAMhECn/VB94UhkFIaF1mctzeHgSVsTAXvwBaErhfCqQvEronsPGA3Bpfa6Q+OSRwZBANgQRM/hCxMFmq0JZp/wI0n1Lzn8Z2W8gC2218AZofbbaHt4zS7npyGztwCPxy6jlv+AKWUdqWGAJlDWpTRHm3uE2Z6EHtCmEPvFqp/wJka/LkctWQFAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/icon-mini-invert.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwAAADsABataJCQAAABl0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuND6NzHYAAACWSURBVEhLY2AYBaMhMBoC5IbA////9YH4PRCfB2J+cs0hSh+SZUAmGNDWUqjPYJbR3lKoj9AtpJ1PQXGGz1Ki4oVURYPSUpqkXqCh+dgiE5Z6SQ05vOqxZA9ku+fDNFPFp8RaRhUf0tUykItxZHxQcMKDkSo+Q4qT+VgSCm0sw2EpbS1DsrQf6NN6qgbfqGGjITDoQgAAAvSCyEg4VE0AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/icon-mini.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuND6NzHYAAAD/SURBVEhL7ZNRaoQwEIZXUBAERcEHQUQUEQSNnqxH2CPsEfZIOUqOMPtP6UAoBeO2eShE+EDMON/kj95u4QoJhATeTWDfd3UchwEa98W7fZzeW9dVbdtmAH2h8cyfdFkWA8gGYn/SeZ41IBuWe5NO01SM46gB2YjU6VyuFg3DUPR9rwEJbdt+xsw7vdrPqb7rugISzSIbr/E2TfMBiBFplmXyQf3tTuu6VsAAEliWpiklSfKUmLD2+1+mLEtVVZUBJPwkczqbs6I8zxUwgARvMh4GzQ0LbL7HeDb0pXU0f7LAxj6zS81ci1kQxzEx3mUyVBRFD3B3HTLUhQT+ZwIvdf1xfdhEa5AAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/loader.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/next.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAANjr9RwUqgAAACBjSFJNAACHDwAAjA0AAPmTAACE5QAAe4IAAOt1AAA/tAAAIlh1a16cAAAC0WlDQ1BJQ0MgUHJvZmlsZQAAOMuNlM9LFGEYx7+zjRgoQWBme4ihQ0ioTBZlROWuv9i0bVl/lBLE7Oy7u5Ozs9PM7JoiEV46ZtE9Kg8e+gM8eOiUl8LALALpblFEgpeS7Xlnxt0R7ccLM/N5nx/f53nf4X2BGlkxTT0kAXnDsZJ9Uen66JhU+xEhHEEdwqhTVNuMJBIDoMFjsWtsvofAvyute/v/OurStpoHhP1A6Eea2Sqw7xfZC1lqBBC5XsOEYzrE9zhbnv0x55TH8659KNlFvEh8QDUtHv+auEPNKWmgRiRuyQZiUgHO60XV7+cgPfXMGB6k73Hq6S6ze3wWZtJKdz9xG/HnNOvu4ZrE8xmtN0bcTM9axuod9lg4oTmxIY9DI4YeH/C5yUjFr/qaoulEk9v6dmmwZ9t+S7mcIA4TJ8cL/TymkXI7p3JD1zwW9KlcV9znd1Yxyeseo5g5U3f/F/UWeoVR6GDQYNDbgIQk+hBFK0xYKCBDHo0iNLIyN8YitjG+Z6SORIAl8q9TzrqbcxtFyuZZI4jGMdNSUZDkD/JXeVV+Ks/JX2bDxeaqZ8a6qanLD76TLq+8ret7/Z48fZXqRsirI0vWfGVNdqDTQHcZYzZcVeI12P34ZmCVLFCpFSlXadytVHJ9Nr0jgWp/2j2KXZpebKrWWhUXbqzUL03v2KvCrlWxyqp2zqtxwXwmHhVPijGxQzwHSbwkdooXxW6anRcHKhnDpKJhwlWyoVCWgUnymjv+mRcL76y5o6GPGczSVImf/4RVyGg6CxzRf7j/c/B7xaOxIvDCBg6frto2ku4dIjQuV23OFeDCN7oP3lZtzXQeDj0BFs6oRavkSwvCG4pmdxw+6SqYk5aWzTlSuyyflSJ0JTEpZqhtLZKi65LrsiWL2cwqsXQb7Mypdk+lnnal5lO5vEHnr/YRsPWwXP75rFzeek49rAEv9d/AvP1FGNUZigAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuND6NzHYAAAEuSURBVEhLxZZBDoIwEEVZmZCwYMkluIpncOsBWHEJEhO3HMAzuHLrGVx5AxO3+L+ZGqgFpkjGJj8BOn9e2tJ2kkTRuq5LoS10gM7QVcRnfmNfqkg1HYIkBXSEntBcYwxji0VgGGvoMUcJ9NNTq6EyfacFIN/CHNPTjIANdFkB5lIw12Z0tOhsV4S5VG0QiN5dJCxHPKVpuwEUjgy6a5wSk/cTKHzMnX08eKkUpn7IAMhECn/VB94UhkFIaF1mctzeHgSVsTAXvwBaErhfCqQvEronsPGA3Bpfa6Q+OSRwZBANgQRM/hCxMFmq0JZp/wI0n1Lzn8Z2W8gC2218AZofbbaHt4zS7npyGztwCPxy6jlv+AKWUdqWGAJlDWpTRHm3uE2Z6EHtCmEPvFqp/wJka/LkctWQFAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/pause.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAANjr9RwUqgAAACBjSFJNAACHDwAAjA0AAPmTAACE5QAAe4IAAOt1AAA/tAAAIlh1a16cAAAC0WlDQ1BJQ0MgUHJvZmlsZQAAOMuNlM9LFGEYx7+zjRgoQWBme4ihQ0ioTBZlROWuv9i0bVl/lBLE7Oy7u5Ozs9PM7JoiEV46ZtE9Kg8e+gM8eOiUl8LALALpblFEgpeS7Xlnxt0R7ccLM/N5nx/f53nf4X2BGlkxTT0kAXnDsZJ9Uen66JhU+xEhHEEdwqhTVNuMJBIDoMFjsWtsvofAvyute/v/OurStpoHhP1A6Eea2Sqw7xfZC1lqBBC5XsOEYzrE9zhbnv0x55TH8659KNlFvEh8QDUtHv+auEPNKWmgRiRuyQZiUgHO60XV7+cgPfXMGB6k73Hq6S6ze3wWZtJKdz9xG/HnNOvu4ZrE8xmtN0bcTM9axuod9lg4oTmxIY9DI4YeH/C5yUjFr/qaoulEk9v6dmmwZ9t+S7mcIA4TJ8cL/TymkXI7p3JD1zwW9KlcV9znd1Yxyeseo5g5U3f/F/UWeoVR6GDQYNDbgIQk+hBFK0xYKCBDHo0iNLIyN8YitjG+Z6SORIAl8q9TzrqbcxtFyuZZI4jGMdNSUZDkD/JXeVV+Ks/JX2bDxeaqZ8a6qanLD76TLq+8ret7/Z48fZXqRsirI0vWfGVNdqDTQHcZYzZcVeI12P34ZmCVLFCpFSlXadytVHJ9Nr0jgWp/2j2KXZpebKrWWhUXbqzUL03v2KvCrlWxyqp2zqtxwXwmHhVPijGxQzwHSbwkdooXxW6anRcHKhnDpKJhwlWyoVCWgUnymjv+mRcL76y5o6GPGczSVImf/4RVyGg6CxzRf7j/c/B7xaOxIvDCBg6frto2ku4dIjQuV23OFeDCN7oP3lZtzXQeDj0BFs6oRavkSwvCG4pmdxw+6SqYk5aWzTlSuyyflSJ0JTEpZqhtLZKi65LrsiWL2cwqsXQb7Mypdk+lnnal5lO5vEHnr/YRsPWwXP75rFzeek49rAEv9d/AvP1FGNUZigAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuND6NzHYAAAEqSURBVEhLxZYxDoJAEEWpSEgoLLkEV/EMtByAioIrkJjYcgDPYGXrGajsLUxs8X+za9YNu4u4jiQ/0d3lP2dkhkmSBdc0TRm0hXbQETor8TPXuJctsPIfgUkB7aE7FLp4hmeLVWDc2EK3EGVmn/e0i6EqfYcVIPsWevjTjAMpdIoA0xb0Sp3RYnOICNNWwywQu9UPYNqyeoNiNYcuHiAj3yiZWXCt21b0zl9QfGl80dkp0Wdd6w6vxgSOAsDxCQSoDP13kSIkpiSwFgTWBPaCwJ7AYO1FTOnwF6B4SsUfGtmyULUoV/gK+Glru7KUvmltoebdaXNwOqNuXev+5q2ilHs9Gb8+2ARCXWlmf/4FrKKUHTEUlDOozBBlPnWAyoyJFlRuELbA0Ub9B+JAIVFiGhWcAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/play.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAANjr9RwUqgAAACBjSFJNAACHDwAAjA0AAPmTAACE5QAAe4IAAOt1AAA/tAAAIlh1a16cAAAC0WlDQ1BJQ0MgUHJvZmlsZQAAOMuNlM9LFGEYx7+zjRgoQWBme4ihQ0ioTBZlROWuv9i0bVl/lBLE7Oy7u5Ozs9PM7JoiEV46ZtE9Kg8e+gM8eOiUl8LALALpblFEgpeS7Xlnxt0R7ccLM/N5nx/f53nf4X2BGlkxTT0kAXnDsZJ9Uen66JhU+xEhHEEdwqhTVNuMJBIDoMFjsWtsvofAvyute/v/OurStpoHhP1A6Eea2Sqw7xfZC1lqBBC5XsOEYzrE9zhbnv0x55TH8659KNlFvEh8QDUtHv+auEPNKWmgRiRuyQZiUgHO60XV7+cgPfXMGB6k73Hq6S6ze3wWZtJKdz9xG/HnNOvu4ZrE8xmtN0bcTM9axuod9lg4oTmxIY9DI4YeH/C5yUjFr/qaoulEk9v6dmmwZ9t+S7mcIA4TJ8cL/TymkXI7p3JD1zwW9KlcV9znd1Yxyeseo5g5U3f/F/UWeoVR6GDQYNDbgIQk+hBFK0xYKCBDHo0iNLIyN8YitjG+Z6SORIAl8q9TzrqbcxtFyuZZI4jGMdNSUZDkD/JXeVV+Ks/JX2bDxeaqZ8a6qanLD76TLq+8ret7/Z48fZXqRsirI0vWfGVNdqDTQHcZYzZcVeI12P34ZmCVLFCpFSlXadytVHJ9Nr0jgWp/2j2KXZpebKrWWhUXbqzUL03v2KvCrlWxyqp2zqtxwXwmHhVPijGxQzwHSbwkdooXxW6anRcHKhnDpKJhwlWyoVCWgUnymjv+mRcL76y5o6GPGczSVImf/4RVyGg6CxzRf7j/c/B7xaOxIvDCBg6frto2ku4dIjQuV23OFeDCN7oP3lZtzXQeDj0BFs6oRavkSwvCG4pmdxw+6SqYk5aWzTlSuyyflSJ0JTEpZqhtLZKi65LrsiWL2cwqsXQb7Mypdk+lnnal5lO5vEHnr/YRsPWwXP75rFzeek49rAEv9d/AvP1FGNUZigAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuND6NzHYAAAEaSURBVEhLxZbNCYNAEIU9CQELsAl7SAWpwasFeLIJIZCrBeSQCnLKNTV4SgeBXM17MhuM+DOuZiI8UHfmfcyyPxMEiqdpmh10gI7QFbqL+M5/HNsprKZDYBJDJ+gFzT2MYWzsBUZiAT3nKAPjzCnUUJm+sweon0KP6WlGQAjdNoA5C3qFo9VisNoQ5qyqQSBG0x/AnGX6BcXfCHpogEz0mAl6Rx8oPnINjDEuyQOad4H1UqBHpXULBCjRwroVelaaEJitAS6sNCOwXAsU6EXhUy5ecWObGLC9Alj9BWg+peaLxnZbyAqz2/gCND/abA9vqdLuevI8FxX7vA0ZvoClStsWQ6DsQW2aqO45CahNm9iD2jXCPfBmrf4bZ+7aBzC1MKQAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/prev.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAANjr9RwUqgAAACBjSFJNAACHDwAAjA0AAPmTAACE5QAAe4IAAOt1AAA/tAAAIlh1a16cAAAC0WlDQ1BJQ0MgUHJvZmlsZQAAOMuNlM9LFGEYx7+zjRgoQWBme4ihQ0ioTBZlROWuv9i0bVl/lBLE7Oy7u5Ozs9PM7JoiEV46ZtE9Kg8e+gM8eOiUl8LALALpblFEgpeS7Xlnxt0R7ccLM/N5nx/f53nf4X2BGlkxTT0kAXnDsZJ9Uen66JhU+xEhHEEdwqhTVNuMJBIDoMFjsWtsvofAvyute/v/OurStpoHhP1A6Eea2Sqw7xfZC1lqBBC5XsOEYzrE9zhbnv0x55TH8659KNlFvEh8QDUtHv+auEPNKWmgRiRuyQZiUgHO60XV7+cgPfXMGB6k73Hq6S6ze3wWZtJKdz9xG/HnNOvu4ZrE8xmtN0bcTM9axuod9lg4oTmxIY9DI4YeH/C5yUjFr/qaoulEk9v6dmmwZ9t+S7mcIA4TJ8cL/TymkXI7p3JD1zwW9KlcV9znd1Yxyeseo5g5U3f/F/UWeoVR6GDQYNDbgIQk+hBFK0xYKCBDHo0iNLIyN8YitjG+Z6SORIAl8q9TzrqbcxtFyuZZI4jGMdNSUZDkD/JXeVV+Ks/JX2bDxeaqZ8a6qanLD76TLq+8ret7/Z48fZXqRsirI0vWfGVNdqDTQHcZYzZcVeI12P34ZmCVLFCpFSlXadytVHJ9Nr0jgWp/2j2KXZpebKrWWhUXbqzUL03v2KvCrlWxyqp2zqtxwXwmHhVPijGxQzwHSbwkdooXxW6anRcHKhnDpKJhwlWyoVCWgUnymjv+mRcL76y5o6GPGczSVImf/4RVyGg6CxzRf7j/c/B7xaOxIvDCBg6frto2ku4dIjQuV23OFeDCN7oP3lZtzXQeDj0BFs6oRavkSwvCG4pmdxw+6SqYk5aWzTlSuyyflSJ0JTEpZqhtLZKi65LrsiWL2cwqsXQb7Mypdk+lnnal5lO5vEHnr/YRsPWwXP75rFzeek49rAEv9d/AvP1FGNUZigAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuND6NzHYAAAElSURBVEhLxZa9DYMwEIWpkJAoKFmCVTIDLQOkYgmkSGkZIDOkSpsZqLJBpLTkvciOwLKxTayLpScF7ueLbXy+LAsY8zwX0AE6QVforsTffEdbEZBq2wVJaugMvSDfoA99611gBPbQ00ex2BnTB0PV8l12gMwQ5theZjjk0C0BTKdgrtw5WxjHhDCdarQCYW0DYRX8qJjRrqCILKGHL8MyKBLK3OU3Hg/HGBgDI4FMf1wCpy2gbQ98f9Binz55YGgEYBrRENi5gIlmtkzfETjYgMGVwuGo9tg8ZgOB5kvyq1+Bjg9r/AtQfEnFPxrZY6E2V+7gK6B4aZMt3mqWcteTPuSOIrCjTq9C7BewmqVsi6Gg7EFlmijjRpdpEw2oXCNsgJO1+m8JwPLkowOW4AAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/socialsprite.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/templates/alb_foobox/stop.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAC7mlDQ1BJQ0MgUHJvZmlsZQAAeAGFVM9rE0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHhpObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu+LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJyPyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/EtX5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflPXvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5zrgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6b8C8/UXAeIuJAAACAElEQVRIDb2Wv0vDQBTHTVqEQqC2k+DUSRH8B0KXYtO/QDpKO4mjgyIICoIgOjiKU4tj8S9oKl1C/wFB7NSp4NRaCAjSUr/vyIU0Jt7RHA0cuXv33uebu7z7oc3n8zXRY5pmxjAMC75UdjVNy1IM6hPU31Fs13XtXq/3LWJp/wmWSqXNdDp9CUgNJSOAkVhzOp1ed7vdzzjfWEHLsi4QdI5ixAXH2F3Yb23bvonq/yPoTd8zRn4QFSBrwzS/YJoPw9O8IFitVtfH4/EroEVZsMDPyeVy+61W64f76bxC79Fo9ISXKjFCFj0m1dnjC1YqlRqmoebZlb2ISWwOZFOKbDSQjR8wbvEOeuM/Nmez2Qmy7itoj6uDs5FKpR4iPnyI7N0Bx2WCyMhTQO7CIGSaFrbJtMGLWtxn4N3zKT2WASX0YRo6vmYPoEJCmEx4gbRohCqzUiRc1JEY2yIvVf2kRSNkG7EqqICT5Ukj8FPXTYITdTghaaJjkfaFboocSItG6CjiyWAcHav/DZ4DGe+EPgPS4knzmBAmE840mCA2VmoMw1HYGa7CNlE7JoY2byboH8B0hGBhNkTAZfqRLPV2u92kWF+QGuVyuRFxtFDX0g8dcZ1Op84B/B+ydj6fP0JFZdY6HpPrLY6QrCu9RPmfgQp+/mquiUHRlV6Eg8Iqr/q/9hvuq/KmSTMAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/jquery.lightbox-0.5.pack.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIGpRdWVyeSBsaWdodEJveCBwbHVnaW4KICogVGhpcyBqUXVlcnkgcGx1Z2luIHdhcyBpbnNwaXJlZCBhbmQgYmFzZWQgb24gTGlnaHRib3ggMiBieSBMb2tlc2ggRGhha2FyIChodHRwOi8vd3d3Lmh1ZGRsZXRvZ2V0aGVyLmNvbS9wcm9qZWN0cy9saWdodGJveDIvKQogKiBhbmQgYWRhcHRlZCB0byBtZSBmb3IgdXNlIGxpa2UgYSBwbHVnaW4gZnJvbSBqUXVlcnkuCiAqIEBuYW1lIGpxdWVyeS1saWdodGJveC0wLjUuanMKICogQGF1dGhvciBMZWFuZHJvIFZpZWlyYSBQaW5obyAtIGh0dHA6Ly9sZWFuZHJvdmllaXJhLmNvbQogKiBAdmVyc2lvbiAwLjUKICogQGRhdGUgQXByaWwgMTEsIDIwMDgKICogQGNhdGVnb3J5IGpRdWVyeSBwbHVnaW4KICogQGNvcHlyaWdodCAoYykgMjAwOCBMZWFuZHJvIFZpZWlyYSBQaW5obyAobGVhbmRyb3ZpZWlyYS5jb20pCiAqIEBsaWNlbnNlIENDQXR0cmlidXRpb24tU2hhcmVBbGlrZSAyLjUgQnJhemlsIC0gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMi41L2JyL2RlZWQuZW5fVVMKICogQGV4YW1wbGUgVmlzaXQgaHR0cDovL2xlYW5kcm92aWVpcmEuY29tL3Byb2plY3RzL2pxdWVyeS9saWdodGJveC8gZm9yIG1vcmUgaW5mb3JtYXRpb25zIGFib3V0IHRoaXMgalF1ZXJ5IHBsdWdpbgogKi8KZXZhbChmdW5jdGlvbihwLGEsYyxrLGUscil7ZT1mdW5jdGlvbihjKXtyZXR1cm4oYzxhPycnOmUocGFyc2VJbnQoYy9hKSkpKygoYz1jJWEpPjM1P1N0cmluZy5mcm9tQ2hhckNvZGUoYysyOSk6Yy50b1N0cmluZygzNikpfTtpZighJycucmVwbGFjZSgvXi8sU3RyaW5nKSl7d2hpbGUoYy0tKXJbZShjKV09a1tjXXx8ZShjKTtrPVtmdW5jdGlvbihlKXtyZXR1cm4gcltlXX1dO2U9ZnVuY3Rpb24oKXtyZXR1cm4nXFx3Kyd9O2M9MX07d2hpbGUoYy0tKWlmKGtbY10pcD1wLnJlcGxhY2UobmV3IFJlZ0V4cCgnXFxiJytlKGMpKydcXGInLCdnJyksa1tjXSk7cmV0dXJuIHB9KCcoNigkKXskLjJOLjNnPTYoNCl7ND0yMy4ySCh7MkI6XCcjMzRcJywyZzowLjgsMWQ6RiwxTTpcJzE4LzUtMzMtWS4xNlwnLDF2OlwnMTgvNS0xdS0yUS4xNlwnLDFFOlwnMTgvNS0xdS0yTC4xNlwnLDFXOlwnMTgvNS0xdS0ySS4xNlwnLDE5OlwnMTgvNS0yRi4xNlwnLDFmOjEwLDJBOjNkLDJzOlwnMWpcJywybzpcJzMyXCcsMmo6XCdjXCcsMmY6XCdwXCcsMmQ6XCduXCcsaDpbXSw5OjB9LDQpO2YgST1OOzYgMjAoKXsxWChOLEkpO3UgRn02IDFYKDFlLEkpeyQoXCcxVSwgMVMsIDFSXCcpLmwoe1wnMVFcJzpcJzJFXCd9KTsxTygpOzQuaC5CPTA7NC45PTA7NyhJLkI9PTEpezQuaC4xSih2IDFtKDFlLjE3KFwnSlwnKSwxZS4xNyhcJzJ2XCcpKSl9anszNihmIGk9MDtpPEkuQjtpKyspezQuaC4xSih2IDFtKElbaV0uMTcoXCdKXCcpLElbaV0uMTcoXCcydlwnKSkpfX0ybig0LmhbNC45XVswXSE9MWUuMTcoXCdKXCcpKXs0LjkrK31EKCl9NiAxTygpeyQoXCdtXCcpLjMxKFwnPGUgZz0icS0xMyI+PC9lPjxlIGc9InEtNSI+PGUgZz0iNS1zLWItdyI+PGUgZz0iNS1zLWIiPjwxdyBnPSI1LWIiPjxlIDJWPSIiIGc9IjUtayI+PGEgSj0iIyIgZz0iNS1rLVYiPjwvYT48YSBKPSIjIiBnPSI1LWstWCI+PC9hPjwvZT48ZSBnPSI1LVkiPjxhIEo9IiMiIGc9IjUtWS0yOSI+PDF3IFc9IlwnKzQuMU0rXCciPjwvYT48L2U+PC9lPjwvZT48ZSBnPSI1LXMtYi1ULXciPjxlIGc9IjUtcy1iLVQiPjxlIGc9IjUtYi1BIj48MWkgZz0iNS1iLUEtMXQiPjwvMWk+PDFpIGc9IjUtYi1BLTFnIj48LzFpPjwvZT48ZSBnPSI1LTFzIj48YSBKPSIjIiBnPSI1LTFzLTIyIj48MXcgVz0iXCcrNC4xVytcJyI+PC9hPjwvZT48L2U+PC9lPjwvZT5cJyk7ZiB6PTFEKCk7JChcJyNxLTEzXCcpLmwoezJLOjQuMkIsMko6NC4yZyxTOnpbMF0sUDp6WzFdfSkuMVYoKTtmIFI9MXAoKTskKFwnI3EtNVwnKS5sKHsxVDpSWzFdKyh6WzNdLzEwKSwxYzpSWzBdfSkuRSgpOyQoXCcjcS0xMywjcS01XCcpLkMoNigpezFhKCl9KTskKFwnIzUtWS0yOSwjNS0xcy0yMlwnKS5DKDYoKXsxYSgpO3UgRn0pOyQoRykuMkcoNigpe2Ygej0xRCgpOyQoXCcjcS0xM1wnKS5sKHtTOnpbMF0sUDp6WzFdfSk7ZiBSPTFwKCk7JChcJyNxLTVcJykubCh7MVQ6UlsxXSsoelszXS8xMCksMWM6UlswXX0pfSl9NiBEKCl7JChcJyM1LVlcJykuRSgpOzcoNC4xZCl7JChcJyM1LWIsIzUtcy1iLVQtdywjNS1iLUEtMWdcJykuMWIoKX1qeyQoXCcjNS1iLCM1LWssIzUtay1WLCM1LWstWCwjNS1zLWItVC13LCM1LWItQS0xZ1wnKS4xYigpfWYgUT12IDFqKCk7US4xUD02KCl7JChcJyM1LWJcJykuMkQoXCdXXCcsNC5oWzQuOV1bMF0pOzFOKFEuUyxRLlApO1EuMVA9Nigpe319O1EuVz00LmhbNC45XVswXX07NiAxTigxbywxcil7ZiAxTD0kKFwnIzUtcy1iLXdcJykuUygpO2YgMUs9JChcJyM1LXMtYi13XCcpLlAoKTtmIDFuPSgxbysoNC4xZioyKSk7ZiAxeT0oMXIrKDQuMWYqMikpO2YgMUk9MUwtMW47ZiAyej0xSy0xeTskKFwnIzUtcy1iLXdcJykuM2Yoe1M6MW4sUDoxeX0sNC4yQSw2KCl7MnkoKX0pOzcoKDFJPT0wKSYmKDJ6PT0wKSl7NygkLjNlLjNjKXsxSCgzYil9ansxSCgzYSl9fSQoXCcjNS1zLWItVC13XCcpLmwoe1M6MW99KTskKFwnIzUtay1WLCM1LWstWFwnKS5sKHtQOjFyKyg0LjFmKjIpfSl9OzYgMnkoKXskKFwnIzUtWVwnKS4xYigpOyQoXCcjNS1iXCcpLjFWKDYoKXsydSgpOzJ0KCl9KTsycigpfTs2IDJ1KCl7JChcJyM1LXMtYi1ULXdcJykuMzgoXCczNVwnKTskKFwnIzUtYi1BLTF0XCcpLjFiKCk7Nyg0LmhbNC45XVsxXSl7JChcJyM1LWItQS0xdFwnKS4ycCg0LmhbNC45XVsxXSkuRSgpfTcoNC5oLkI+MSl7JChcJyM1LWItQS0xZ1wnKS4ycCg0LjJzK1wnIFwnKyg0LjkrMSkrXCcgXCcrNC4ybytcJyBcJys0LmguQikuRSgpfX02IDJ0KCl7JChcJyM1LWtcJykuRSgpOyQoXCcjNS1rLVYsIzUtay1YXCcpLmwoe1wnS1wnOlwnMUMgTShcJys0LjE5K1wnKSBMLU9cJ30pOzcoNC45IT0wKXs3KDQuMWQpeyQoXCcjNS1rLVZcJykubCh7XCdLXCc6XCdNKFwnKzQuMXYrXCcpIDFjIDE1JSBMLU9cJ30pLjExKCkuMWsoXCdDXCcsNigpezQuOT00LjktMTtEKCk7dSBGfSl9anskKFwnIzUtay1WXCcpLjExKCkuMm0oNigpeyQoTikubCh7XCdLXCc6XCdNKFwnKzQuMXYrXCcpIDFjIDE1JSBMLU9cJ30pfSw2KCl7JChOKS5sKHtcJ0tcJzpcJzFDIE0oXCcrNC4xOStcJykgTC1PXCd9KX0pLkUoKS4xayhcJ0NcJyw2KCl7NC45PTQuOS0xO0QoKTt1IEZ9KX19Nyg0LjkhPSg0LmguQi0xKSl7Nyg0LjFkKXskKFwnIzUtay1YXCcpLmwoe1wnS1wnOlwnTShcJys0LjFFK1wnKSAybCAxNSUgTC1PXCd9KS4xMSgpLjFrKFwnQ1wnLDYoKXs0Ljk9NC45KzE7RCgpO3UgRn0pfWp7JChcJyM1LWstWFwnKS4xMSgpLjJtKDYoKXskKE4pLmwoe1wnS1wnOlwnTShcJys0LjFFK1wnKSAybCAxNSUgTC1PXCd9KX0sNigpeyQoTikubCh7XCdLXCc6XCcxQyBNKFwnKzQuMTkrXCcpIEwtT1wnfSl9KS5FKCkuMWsoXCdDXCcsNigpezQuOT00LjkrMTtEKCk7dSBGfSl9fTJrKCl9NiAyaygpeyQoZCkuMzAoNigxMil7MmkoMTIpfSl9NiAxRygpeyQoZCkuMTEoKX02IDJpKDEyKXs3KDEyPT0yaCl7VT0yWi4yZTsxeD0yN31qe1U9MTIuMmU7MXg9MTIuMll9MTQ9MlguMlcoVSkuMlUoKTs3KCgxND09NC4yail8fCgxND09XCd4XCcpfHwoVT09MXgpKXsxYSgpfTcoKDE0PT00LjJmKXx8KFU9PTM3KSl7Nyg0LjkhPTApezQuOT00LjktMTtEKCk7MUcoKX19NygoMTQ9PTQuMmQpfHwoVT09MzkpKXs3KDQuOSE9KDQuaC5CLTEpKXs0Ljk9NC45KzE7RCgpOzFHKCl9fX02IDJyKCl7NygoNC5oLkItMSk+NC45KXsyYz12IDFqKCk7MmMuVz00LmhbNC45KzFdWzBdfTcoNC45PjApezJiPXYgMWooKTsyYi5XPTQuaFs0LjktMV1bMF19fTYgMWEoKXskKFwnI3EtNVwnKS4yYSgpOyQoXCcjcS0xM1wnKS4yVCg2KCl7JChcJyNxLTEzXCcpLjJhKCl9KTskKFwnMVUsIDFTLCAxUlwnKS5sKHtcJzFRXCc6XCcyU1wnfSl9NiAxRCgpe2YgbyxyOzcoRy4xaCYmRy4yOCl7bz1HLjI2K0cuMlI7cj1HLjFoK0cuMjh9aiA3KGQubS4yNT5kLm0uMjQpe289ZC5tLjJQO3I9ZC5tLjI1fWp7bz1kLm0uMk87cj1kLm0uMjR9ZiB5LEg7NyhaLjFoKXs3KGQudC4xbCl7eT1kLnQuMWx9ant5PVouMjZ9SD1aLjFofWogNyhkLnQmJmQudC4xQSl7eT1kLnQuMWw7SD1kLnQuMUF9aiA3KGQubSl7eT1kLm0uMWw7SD1kLm0uMUF9NyhyPEgpezF6PUh9ansxej1yfTcobzx5KXsxQj1vfWp7MUI9eX0yMT12IDFtKDFCLDF6LHksSCk7dSAyMX07NiAxcCgpe2YgbyxyOzcoWi4xWil7cj1aLjFaO289Wi4yTX1qIDcoZC50JiZkLnQuMUYpe3I9ZC50LjFGO289ZC50LjFZfWogNyhkLm0pe3I9ZC5tLjFGO289ZC5tLjFZfTJxPXYgMW0obyxyKTt1IDJxfTs2IDFIKDJDKXtmIDJ4PXYgMncoKTsxcT0yaDszaHtmIDFxPXYgMncoKX0ybigxcS0yeDwyQyl9O3UgTi4xMShcJ0NcJykuQygyMCl9fSkoMjMpOycsNjIsMjA0LCd8fHx8c2V0dGluZ3N8bGlnaHRib3h8ZnVuY3Rpb258aWZ8fGFjdGl2ZUltYWdlfHxpbWFnZXx8ZG9jdW1lbnR8ZGl2fHZhcnxpZHxpbWFnZUFycmF5fHxlbHNlfG5hdnxjc3N8Ym9keXx8eFNjcm9sbHx8anF1ZXJ5fHlTY3JvbGx8Y29udGFpbmVyfGRvY3VtZW50RWxlbWVudHxyZXR1cm58bmV3fGJveHx8d2luZG93V2lkdGh8YXJyUGFnZVNpemVzfGRldGFpbHN8bGVuZ3RofGNsaWNrfF9zZXRfaW1hZ2VfdG9fdmlld3xzaG93fGZhbHNlfHdpbmRvd3x3aW5kb3dIZWlnaHR8alF1ZXJ5TWF0Y2hlZE9ianxocmVmfGJhY2tncm91bmR8bm98dXJsfHRoaXN8cmVwZWF0fGhlaWdodHxvYmpJbWFnZVByZWxvYWRlcnxhcnJQYWdlU2Nyb2xsfHdpZHRofGRhdGF8a2V5Y29kZXxidG5QcmV2fHNyY3xidG5OZXh0fGxvYWRpbmd8c2VsZnx8dW5iaW5kfG9iakV2ZW50fG92ZXJsYXl8a2V5fHxnaWZ8Z2V0QXR0cmlidXRlfGltYWdlc3xpbWFnZUJsYW5rfF9maW5pc2h8aGlkZXxsZWZ0fGZpeGVkTmF2aWdhdGlvbnxvYmpDbGlja2VkfGNvbnRhaW5lckJvcmRlclNpemV8Y3VycmVudE51bWJlcnxpbm5lckhlaWdodHxzcGFufEltYWdlfGJpbmR8Y2xpZW50V2lkdGh8QXJyYXl8aW50V2lkdGh8aW50SW1hZ2VXaWR0aHxfX19nZXRQYWdlU2Nyb2xsfGN1ckRhdGV8aW50SW1hZ2VIZWlnaHR8c2VjTmF2fGNhcHRpb258YnRufGltYWdlQnRuUHJldnxpbWd8ZXNjYXBlS2V5fGludEhlaWdodHxwYWdlSGVpZ2h0fGNsaWVudEhlaWdodHxwYWdlV2lkdGh8dHJhbnNwYXJlbnR8X19fZ2V0UGFnZVNpemV8aW1hZ2VCdG5OZXh0fHNjcm9sbFRvcHxfZGlzYWJsZV9rZXlib2FyZF9uYXZpZ2F0aW9ufF9fX3BhdXNlfGludERpZmZXfHB1c2h8aW50Q3VycmVudEhlaWdodHxpbnRDdXJyZW50V2lkdGh8aW1hZ2VMb2FkaW5nfF9yZXNpemVfY29udGFpbmVyX2ltYWdlX2JveHxfc2V0X2ludGVyZmFjZXxvbmxvYWR8dmlzaWJpbGl0eXxzZWxlY3R8b2JqZWN0fHRvcHxlbWJlZHxmYWRlSW58aW1hZ2VCdG5DbG9zZXxfc3RhcnR8c2Nyb2xsTGVmdHxwYWdlWU9mZnNldHxfaW5pdGlhbGl6ZXxhcnJheVBhZ2VTaXplfGJ0bkNsb3NlfGpRdWVyeXxvZmZzZXRIZWlnaHR8c2Nyb2xsSGVpZ2h0fGlubmVyV2lkdGh8fHNjcm9sbE1heFl8bGlua3xyZW1vdmV8b2JqUHJldnxvYmpOZXh0fGtleVRvTmV4dHxrZXlDb2RlfGtleVRvUHJldnxvdmVybGF5T3BhY2l0eXxudWxsfF9rZXlib2FyZF9hY3Rpb258a2V5VG9DbG9zZXxfZW5hYmxlX2tleWJvYXJkX25hdmlnYXRpb258cmlnaHR8aG92ZXJ8d2hpbGV8dHh0T2Z8aHRtbHxhcnJheVBhZ2VTY3JvbGx8X3ByZWxvYWRfbmVpZ2hib3JfaW1hZ2VzfHR4dEltYWdlfF9zZXRfbmF2aWdhdGlvbnxfc2hvd19pbWFnZV9kYXRhfHRpdGxlfERhdGV8ZGF0ZXxfc2hvd19pbWFnZXxpbnREaWZmSHxjb250YWluZXJSZXNpemVTcGVlZHxvdmVybGF5QmdDb2xvcnxtc3xhdHRyfGhpZGRlbnxibGFua3xyZXNpemV8ZXh0ZW5kfGNsb3NlfG9wYWNpdHl8YmFja2dyb3VuZENvbG9yfG5leHR8cGFnZVhPZmZzZXR8Zm58b2Zmc2V0V2lkdGh8c2Nyb2xsV2lkdGh8cHJldnxzY3JvbGxNYXhYfHZpc2libGV8ZmFkZU91dHx0b0xvd2VyQ2FzZXxzdHlsZXxmcm9tQ2hhckNvZGV8U3RyaW5nfERPTV9WS19FU0NBUEV8ZXZlbnR8a2V5ZG93bnxhcHBlbmR8b2Z8aWNvfDAwMHxmYXN0fGZvcnx8c2xpZGVEb3dufHwxMDB8MjUwfG1zaWV8NDAwfGJyb3dzZXJ8YW5pbWF0ZXxsaWdodEJveHxkbycuc3BsaXQoJ3wnKSwwLHt9KSk=]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-blank.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-de-close.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQgAWAOYAAFlZWVBQUG1tbVRUVJqamlZWVt3d3VJSUlFRUWJiYvT09FhYWOnp6VVVVby8vFNTU/39/erq6nt7e8zMzKKionl5eY+Pj2ZmZkxMTGBgYPf3909PT/b29vr6+np6emxsbPDw8Ovr683Nzd7e3ktLS+zs7MfHx+Dg4F9fX/v7+7W1tZSUlKGhofz8/Hh4eFpaWufn5+Xl5XZ2dpiYmNXV1aWlpY6OjpKSkmNjY8rKymRkZO/v79vb22VlZbS0tLOzs4eHh3Nzc9/f36mpqdzc3PHx8W5ubpaWlnBwcJ2dnbm5uYaGhmdnZ2lpaZeXl4iIiE1NTU5OTnx8fOPj429vb7GxsYSEhNLS0ldXV/7+/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAABCABYAAAf/gFqCg4SFhoeIiYqLjI2Oj5CRko0tk5aXWZlaKTM0WpmgWVoTSR2Xp4WgGk4YOgafmloiKBhHHKi4mj8kAA89PLCjGQMAGEOHVljKy1daVVivgldY0stYCQQK1dZYVoOaER4bAAFMQoITKA8AUUsgyARX8vLaz97V1fMOAhX581fRYImKICEAgAEfTogYBgAKEA2IrFQ5VKVCgolapuEbxCCBg4zUEIXSUkLCuAYChi0I8OSWKEMSKUpMoE0jyEIECNwUOTKElAMACmABcMAGxFiFrAiwwtRKDUFVvFmxsNPmoKggmzINGEoTCBkNACwYQMEUKGQSq6j96MybASzy00Jaheptmtq7DL511bKDStiDK0SdhYmxEFZnAkzIDTnIgs65qUaeCEKsQQGiLCAEIyxTkIKliwl1NLHz0MgRHxD0anKhwIIDFDS/TBrvX97DIBfrW+rvn15RIy6oDuBiSo4CrhFkjsgNy0TcWiwsXiYg2zZuerUYuHDgRQAJEQQpQb4AAYVKuE6JIoLDIPEQnwSpQKCMhI/06rUUWXFgg4fwI6nwQABIBISfJJqkcEMFJQgUSxVGxHAgJpp04FJXmUAAQ3wTIjgYhh/O1uEjIJYYSiAAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-de-next.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhPwAgAMQaANXV1aurq2tra9/f32FhYfT09MDAwHZ2doGBgbW1tdDQ0MLCwpaWlurq6qCgoIuLi8rKyvr6+s3Nzb6+vtbW1vn5+cHBwc/Pz1dXV////////wAAAAAAAAAAAAAAAAAAACH5BAEAABoALAAAAAA/ACAAAAX/oKZlZGmeaKquLDq2cCzPdG3feK7vfO//wKBwSCwajyTA4FQAFEwAQOPUiEanRoHgFMAsMwYCZnwwlLrjNOI5dHhNggPJgBEEAIYD4dtNRCEPGA5EDYIlAxhmGQQCbBkNBAQkXQBwCEUIkiQMGE8AGAlcGJWUhxgMRXQQJASoGQmjJxAYARldBwi5dV9ErWCxv5VQtLYYuAIYl0cMBAUPWySFiiWwpMCc00SIsKElWo4FApqlGeFvRgfIjhkDkQ4ADpF8wBmfckawDygDB2kHvOQ2gUKyosk6ggiBRLigoKHDhhJ4JVxRwcKCixgvTqAwsaPHjyBDihyp4gVJGCJOA8IIAQA7]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-de-prev.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhPwAgAMQbAIGBgfT09Kurq/39/WFhYd/f39zc3Lq6unZ2dmtra5aWlsDAwKCgoMrKyrW1tYuLi+rq6ra2tvv7+8zMzNra2v7+/ru7u+Xl5dXV1VdXV////////wAAAAAAAAAAAAAAACH5BAEAABsALAAAAAA/ACAAAAXuoCaOZGmeaKqa27a+cPy6cm3feK7vfO//wKBwSCwaj8IAZsnEBDSFAkn51DQxSBEmw+1msAAAaYvVeLmEclHJdGQIz/D4K8oomAJCJisKIAhSGnIjZHUCJAx0WQAZCyODWooZhyMPGVVHiQwkkFaSCWEAepRHCxlinKiRZRmgjBmBRwUECZgionOslAUZCLZDAQmAJgqXI266IwIZm0aWd01PDb0NDQoECCOTJAiKAo5Br2dlC3pcvtqkUK11qnwiEE7v80UXFAb4+fgD9C8TEQcCCjxgQUK/FRUGKFy48KDDhxAjSpzIhwZFFS1CAAA7]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-en-close.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQgAWANUAAP////39/fr6+vj4+PX19fDw8Ovr6+np6ebm5uTk5N/f39zc3Nra2tfX19XV1dLS0svLy8jIyL6+vre3t7S0tLKysq+vr6ioqKOjo56enpubm5aWlpGRkY+Pj4yMjIeHh4KCgoCAgH19fXZ2dnNzc3FxcW5ubmlpaWdnZ2RkZGJiYl9fX11dXVpaWlVVVVNTU1BQUE5OTktLS0lJSUZGRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAHAP8ALAAAAABCABYAAAb/QIBwSCwaj8ikcslsOp/QqLQZmFqvRAHngYxsBEaCw3EYHhwE5IFykZSLZ7RQPK4PBxzaimGEtGgcaXMZL4UvH0IXLw5HEoaFF0MEIo8RAA6PhUMWNC8xKw1EES0xLzQYQ5QfY2yJi0YRh2UKlBRCHC8XDhEZZZgcdYxCBiQzLzIqC0KjpTMhBUIULxlHisJEKCiCAAQoLEIvJEaYkUcGIzKeKAt+pTQgA0Pe20TWRQrTRYSMLyjjuUnOGYOBgtQxENsOHEJij4g0S6IA4gpEBJOICxjfEDmXDgaMYx/iDSHH8FU9kyMBTnrBguKlTNeIFCjx0ZMGMBUBVkPpKubL2XKXKLFQ8HNJgRM1Y3Qwgo9DSZ+ObBFxJKGIIxFFkywwUcrjMQ1ViLDwt9OnQkREcGkcQuJF1iMLUKSLkWLFRxlgTwK91NMIJaJC8GE14u1tkQUr0skgkSCCV7xhubUF5gCXJUUcMGJkpIAFCwkOKHgGnCHDmA/5LGoGyiCxCxkjDAiZ8DjvHEqFWFADoChTOQcoDKEADAC1od2YMglhwEIxCdlDKsjwSKMCnDFQFJAxEqdJgQ4yZjw3UiGGjBN8sKjP4mH8EQsnEKyfP0QAvSIB5NPfz7+/+iAAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-en-next.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhPwAgAOYAAP////39/fv7+/n5+ff39/X19fPz8/Hx8e/v7+3t7evr6+np6efn5+bm5uTk5OLi4uDg4N7e3tzc3NjY2NbW1tLS0tDQ0M7OzsrKysjIyMbGxsLCwsDAwLy8vLq6ura2trS0tLOzs7Gxsa+vr62traurq6mpqaenp6WlpaOjo52dnZubm5mZmZGRkY+Pj42NjYuLi4eHh4WFhYODg4GBgYCAgH5+fnp6enh4eHZ2dnR0dHBwcG5ubmxsbGpqamhoaGZmZmRkZGJiYmBgYF5eXlxcXFpaWlhYWFZWVlRUVFJSUlBQUE5OTk1NTUtLS0lJSUdHR0VFRUNDQ////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAFMALAAAAAA/ACAAAAf/gFNTAISFhoeIiYqLjIiDjZCRkpOUlZaXmJmam5ydnp+goaKjpKWmp6igARomF4UCHCIABiAlJrcnDxQoroQKJRsOKSYlIyUnIASeAS5PQxGEAzZFAAxCSUFCQkUXDD1GEADMTRgWSEJGSkNDOAfLLUlMMsoDNUQAC0UzCQz9yhhNYATIwGRFgAENFqh4UmHBggDLXPx4wQQEAAE07i0w8iIRCyUhdvBAYKgElAWhmPlogOOIAwAZ8Q3hUQJFChIFCBG4scRIhUMmoDRIKZHAhCTzYi4IYkSHyBruxM14UiScoaBDVUk8ECBFkxIxhuArIgNBAgUKIAIQoeSEkBtRiQlhJfqDZIEeRYIAwWekBaIIR2oA+PDkxFWhdEkCMLfkBz4iOTpI9vBgAA0kEgAMuJFkQqG5qlrsiJtCSQ98QJpAWS3lhAgnhglRODJabpSsoAgQUCtOt7gDCMwmSFDgQFpDBxYIIFRAwfJU0CkFEBCgunXr0TXxzs69u/fv4MOLdzRekqDykAIBADs=]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-en-prev.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhPwAgAOYAAP////39/fv7+/n5+fj4+Pb29vT09PLy8vDw8O7u7urq6unp6efn5+Xl5ePj4+Hh4d/f393d3dvb29ra2tjY2NbW1tTU1NDQ0M7OzszMzMvLy8nJycfHx8XFxcPDw8HBwb+/v729vby8vLq6uri4uLa2trKysq6urq2traurq6mpqaenp6Ojo6GhoZ+fn56enpycnJqampiYmJSUlJCQkI+Pj42NjYWFhYODg4GBgYCAgHx8fHp6enh4eHZ2dnR0dHJycnFxcW9vb21tbWtra2lpaWVlZWNjY2JiYmBgYF5eXlxcXFpaWlhYWFZWVlRUVFNTU1FRUU9PT01NTUtLS0lJSUdHR0JCQkBAQP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAFkALAAAAAA/ACAAAAf/gACCg4SFhoeIiYqGWVmLj5CRj46SlZaXmJmam5ydnp+goaKjpKWmp6ipmwMYICAfFQSCE64hGQuCBx4fvLwMGhwBgwMbG6IFOVFJyzsQAC1QSkpIRikAEUtOS0xMShc1URKDE0o2xzpCBQclVDYCLUsSAxFBTRQOUjQQFPwBH1MuBqmoguEcEAEAAjDxYYCFkgaCVkT5wGDKikIIiAwpAKCAjyDCQhXQEQRBgRJWbARgsUTEhBBHkkBw8ARHiBEkPCCM8UQDAAtVRIwqgCOKkiVJekwAwAKKkSVPgHQAIGGJkiJGjuAYAGDCFBkAZCRhMDSHEQ8dKMh6tkQDCiojnQRJiDLDAYQIDkLuEALhyAyE534YcpFEgQAfSA5QnWLNEIcpN5IUHKoDCFdCLpQ4ACCCyotrUWhUGG0hgaAEQ6rwCHmMB5HLg2A8cWagR5UND55YucIbiwlBAWBcOVEqwIIGrAUpkLBWQYUFAyRMmD4dwaADFDiq2n6JwIABAsIL+E4gOfdEAgKoX7/+vPv38OPLn0+//iVK9hU1CgQAOw==]]></data>
	</file>
	<file>
	  <filename>/templates/alb_jquery-lightbox/lightbox-ico-loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/templates/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/css/colorpicker/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/css/colorpicker/bar-alpha.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAEACAYAAACzuVY0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAACDVJREFUeNrcXCGQJUUMTVJtkEgkDkudQiKRSBwSi8MicVgcFofE4jBXdRaHReJwYefX/qmeTN5Lev7eQTFVV7d/Z7ZnOv2SvLz0fHV3lel4/fr1/FFevXrlT/8pOX/4POaLp2MeJDsPDzTg0iCdAS8f48km84D+ZJPD53D+ZLPJpjczxSfUB6aub2fKZEC/cjN9wuF7BQ5l5XxnyktP2hlQ3yUOT08/FnAWz2+DWTx/5QnvT6UvOWV9xIaeeBNc+Q2H7zdstg/wdP4w2BUcSuHv6YAVeNvgHmzFwFNlg++/u4LDLAdpN9q8uOstg55lPbsC+A2HH0xG9Qd8O11lfSRaIxuy6XqCW69WubNI0HNQXp59l9nsZHOUl7VpR13B4aXAuxJgvWBqeo+HHzKuUuAwcqHDlL0R98prxnSiO/UywNqCrayKSFk8RJxbExxqxg9XIeIAp4qmnE2bLQb1FJSDLcEczMsfzVN4SX5oTfuVVMQaf+zdINzxlNmGSnL17Xd3HO7GTriMFlwnzcva5X8VmxhkKr4QKzXGQ1ZA+spNNhx+/EC97M821Sx8dcJWKx5ax+mbN/YxfTDyJN6M4Ld4aPOJaJNnTm3Ad6PvK8MhwqQzBAziqwg61L7zE/piBoT18ieTc8cc4iTH0Lx8lRbrKdoUSb2bYhUFWE/ySGe1IT/UZ9+1if9JgsP9GlQve+IxzIZleauEotFSrCKcma1WntA3HH6a4MwBl1nih53q0wGjaNXLmf9qJ0lVi6IN5rDPYM7LMuXlSnPd/ybieDQ8wEH9Qkuz6HLMBdnnUzw0sHpaJPhDXv6sUduh82le7kQRbUQk6HrWIOkwbQyia3liX4bBg24z4/AAkQlnGrjOnZNrxhy0wN58UxYvT8BmcdCAOVKylKHfCAOz4Nv7uQ2HnycagoO87BXnHuDOVQkBGe0gNA7FQwcPUOJQSbRW4BA+52WfcLgPOmmuSnSd9AnZkwqaYkbnVtKlVmS+4jZeqE3x3C0efgFw5okG4YnNKZ3TgmllPj3PBsp9SgItoy46+7IUrKCq9+weDw93DnlXYz082TRqFClzcDK9Dv/xAYzbKcuyw7JVroKtE03iFg+/nC9I9EMH51s6NkqnkYdLV3Zm6ZOlWZmBbYRl2UKk0RmHc961kJcPi5bUMcqkKm/688mHY3AQkoMrIm+R2xhhpdkiOLD73k/5CnBmB5qsJ5psGrEre7X6BKOgGoj+RipilfalSeSRIuDqrNtkdUimy/jku5rlmEHcqbJf6klIZmHECPn47RpL7GFE6FHCYvWOw6/noBlwhvghrKcRx65sBpViFByksUiKCKdmAJW6N58u5kjqEAE5REOOufu2ZXlZCkUpY7COtC8tpGRtcEXNdNeIRU3+lbXehsNvEl1GkzpEEo3BA9ehLSQWaSIq9p9Hk1drl3iOJFhW+0KY13jE4d0mc445PMGUlz3UMR7ZV7cCVWZfI6W/gVoP6WF6f0Il6psWQfak3Ww4/DaJhxryMtpvM9d+sJ9iINx749pTTkG2dFB+nAA/imjNdFlPhfGQlzP+Z6Hv5yFvO6oClFAORvmo3NepkY31WEbBFIT4tyHd5js57reRQus6fA423cMXqt6ZuylrZUoyBSt0xTQlDHJX7+SQeN09HiKbSKinK93mlFMynHVYg2Yc20jJ5USeSqsAJ4MudX82HH5P+iVIg4i9A+9oDpWXpPSvAxsBoM6waSOxm5NVZpFn76ccFiNwaiW90qw2tEEkgFg/d1pJUrXUkcysqA9jgQtmi2NJ8o81jc15+YegZXmSY5To2M6ijTQUY4QGRfzQijRACyTWedSGsnS6KdoHy/RDAZz85HpCpog0CEeuhy5SQuFEyGY8IclKCZhP3rLh8Mfgu0iXkaT2i/xQRzOrdUo3QTq2NEVyR8EB9pdYEEAKaKYforw755Co6xxkFsvwRGo+Z0wMkSVH7Y1iEVOypI0cgm5w44c/JTbzEA8lqZc9O88qKTRlYer8ADyG6Q7Opt19LwDZ+BxgpzpEQl9PEv5npDdgqKyQwq6IN6aCpAruyTsrGqMwboD1s+Ixq1BvefnnBGceelAOegMSbOrVfhvErQX0A5QtSiUHSFXrSaPyFBCdTvttRPgeJU3ydur7rPMoDbeUbMorzVYpyOlpn4MvVPZpA2fD4S/AZlm8i3vYT3s6u9xGGunh0BtFzs6SeyoPDqZJd7hMxCbaB5vlEAu+a4kWlnJsNl2mT6T7satelBDKp1H78kLI7eiyt3j4a6jdsnpZmrqOjCKPIA0HpYP2+8tVk7B8T8rJ72jkYXVKtJlJsleOvTfaYVyVOuJVX6/a577coLGGXnPqL/8WuAqql6Nuo6FXKqyVuVLWSlWAr7504CurXA16LnxAf7nSwoThsFLfOlNv1XqVO6ZuuPK+XqsXsOHwDcnL2d5hatOVr1/QBhLKRL9aovnqi/lKqtSDbqOAq2ScW+T83sAhpyihGN5Vh1lOUdLikCo/D/JHVbBIc9GGw9/l3D/O6hTp4rDTNtKmK8J9X6uuuNTkWoo6I/A/fyAeKprylRDWDl+I5nmX21TBoJzJhsM/iE38Cg672kzr6AjjHbt61A+90F+7hPSwD3b23YxTd/Kyrn79QumaV/Jy60s2qmKxE2x3fvjnCs6S/YmteNiFz7Ivd0mUrg7YPsaj34HxEt9vwyP24oClDnblCVl1dcvLfy3iUJI6ZgmHS5DquN4abIS//bFeBRAc6qJvvyVP+TcGXFqwDYd/P+K7V79n6b9tw/9HPHy3A/ojN/lHgAEAu8/LmSCgrTcAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/css/colorpicker/bar-opacity.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAChJREFUeNpiPHPmDAMMGBsbw9lMDDgA6RKM////h3POnj1LCzsAAgwAQtYIcFfEyzkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/css/colorpicker/bar-pointer.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGhJREFUeNpiLCnK+s+ABNw9AxkZSAA7t69H0c8CIrp7p8IFSouz/xNrKMgwNL0MTOiKQArQbSXGMDgAeRkbgAYFVoxPDws220FOB3kbiHG6EBQ02FzIhMswQl4GqQGpRQeM1I5lgAADAGvJY88rS+siAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/templates/css/colorpicker/bar.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAA84CAYAAADKKOIFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAASBJREFUeNrs2ssOgjAQheFDF77/8xLI2AEENWIo4CWdn8UXtbMprSdtQSZZki6qBZl6S33+klqpGvJleaBy/2pB6sxnX+fzr1Ut+AS05P2rhTxO3qfOg6L1wasD2TBU3ksN5Nk4fZpoSj5tbWhKSnY2FJX8gHRe8c7WoobDxf/+2znFnxutw8Vf48hfcmtDUZZsaFgvfnGRiWQimUgmxslEjUvF+fJNy1xiaVhAAgCEYojFMQl9H00mAkBslmUjmQgArBN1S8L7py1kIgBEjMN354njphoAIBJr7+KQiQAQk+UxNJkIAOHXict5otg7A0DsOHw4T3xeJ45hCQAQiPX3E7k5ABCSlfcTuTkAEHCdOD93Xk4WyUQACLltzl4FGACT38aTA+sZOgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/css/colorpicker/map-opacity.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAC1JREFUeNpiPHPmDAM2YGxsjFWciYFEMKqBGMD4//9/rBJnz54dDSX6aQAIMABCtQiAsDRF+wAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/templates/css/colorpicker/map-pointer.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPpJREFUeNqkU7sNgzAQPQWJDegYACp2gFSUrMAEzMEKdBR0ERVVuogKKS0UULAGHzn30AkpUT5WOOn57Lv37POP6NksRswoGD1jFl9I3KJXU0rBBYwyiiKVZZlq21ZN07R5jBFHHjzh7xbYtn1P01Qty3LjZMLwGKb4BHHkwZOF9lJLJNhyhoOZ3wDxHDypYNtCjJJkxU/CfQLwZAvxiZtzGIZkGMaF+x19tw488KFD0+NQZG+kAQ98uQWacapyODpiE3zoUPY4DAMmcUnPXOGPEDd1XWPga4p94TcQX6uqonVdI+47P4QOeOBDd/ieD72ww2/7r1/1EGAAV2NksWTZPHwAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/css/colorpicker/map.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>/templates/css/colorpicker/preview-opacity.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAClJREFUeNpiPHPmDAMSMDY2RuYyMeAFNJVm/P//PzL/7Nmzg8VpAAEGALE5CHQT4Ca/AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/templates/css/colorpicker/ui-colorpicker.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAZBJREFUeNqcUz1PAkEUfMst5JTGEArUmBB+AR01rYn/wITCQmuiyTVwl9CQmNAiDX+Fmo4fQAGFMRYqJp563+6su7gaCmGTyWXzZibz3ttjnuedEdEh7XYeeBzHR71e724XdafTueJJklCWZVSv1y+3Ec9msxG0PIoilqYplUolmkwmH6L2bvBShUQgVl/ebDZPoIEWLUiDcrkMgS/wZIgSQ6yxL7jSAFokIFxs24ZBKPC5QWQiAlclIB6GoUxQKBR0Al8R0c6bailSpjh74EIDrZwBhqEMXgVWAi9KmG2YXwQuNHIGOkE+n0fxEbtVMzAPV2ZACu46QRAEpsEzCIvFQqqq1So+1nA4PJ3P5xXtpg2g/ZsAvdN4PJZEsS4gXS6XlW63OxJT/9mvmUA+CM713pnuXbwLIENNkKnf768NHMf5TuD7PsNLtCyLXNe9QJEx9msAqIHTarVoMBhQu92Wd2hZrVa7nk6nt2a8/xykajQaN6xYLJ7ncrnjXX4mMYd7ZMUDOFCr2uYg8upLgAEA1kH3XkbU7HQAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/templates/css/jquery.colorpicker.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LnVpLWNvbG9ycGlja2VyLAoudWktZGlhbG9nLnVpLWNvbG9ycGlja2VyIHsKCXdpZHRoOgkJCQkJYXV0bzsKICAgIHdoaXRlLXNwYWNlOgkJCW5vd3JhcDsKCgktd2Via2l0LXRvdWNoLWNhbGxvdXQ6CW5vbmU7Cgktd2Via2l0LXVzZXItc2VsZWN0Oglub25lOwoJLWtodG1sLXVzZXItc2VsZWN0OgkJbm9uZTsKCS1tb3otdXNlci1zZWxlY3Q6CQlub25lOwoJLW1zLXVzZXItc2VsZWN0OgkJbm9uZTsKCXVzZXItc2VsZWN0OgkJCW5vbmU7Cn0KCi51aS1jb2xvcnBpY2tlci1pbmxpbmUgewogICAgcG9zaXRpb246CQkJCXN0YXRpYzsKfQoKLnVpLWNvbG9ycGlja2VyLWJ1dHRvbnNldCB7CglmbG9hdDoJCQkJCWxlZnQ7CgltYXJnaW4tbGVmdDoJCQkuNGVtOwp9CgoudWktY29sb3JwaWNrZXItYnV0dG9uc2V0IC51aS1idXR0b24gewoJbWFyZ2luOgkJCQkJLjVlbSAwIC41ZW0gMDsKCWN1cnNvcjoJCQkJCXBvaW50ZXI7Cn0KCi51aS1jb2xvcnBpY2tlci1idXR0b25wYW5lIHsKCWJhY2tncm91bmQtaW1hZ2U6CQlub25lOwoJbWFyZ2luOgkJCQkJLjdlbSAwIDAgMDsKCXBhZGRpbmc6CQkJCTAgLjJlbTsKCWJvcmRlci1sZWZ0OgkJCTA7Cglib3JkZXItcmlnaHQ6CQkJMDsKCWJvcmRlci1ib3R0b206CQkJMDsKfQoKLnVpLWNvbG9ycGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHsKCWZsb2F0OgkJCQkJcmlnaHQ7CgltYXJnaW46CQkJCQkuNWVtIC4yZW0gLjRlbTsKCWN1cnNvcjoJCQkJCXBvaW50ZXI7CglwYWRkaW5nOgkJCQkuMmVtIC42ZW0gLjNlbSAuNmVtOwoJd2lkdGg6CQkJCQlhdXRvOwoJb3ZlcmZsb3c6CQkJCXZpc2libGU7Cn0KCi51aS1jb2xvcnBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1jb2xvcnBpY2tlci1jdXJyZW50IHsKCWZsb2F0OgkJCQkJbGVmdDsKfQoKLnVpLWNvbG9ycGlja2VyIHRhYmxlIHsKICAgIGZvbnQtc2l6ZToJCQkJMTAwJTsgLyogUmVzZXQgYnJvd3NlciB0YWJsZSBmb250LXNpemUgKi8KCW1hcmdpbjoJCQkJCTA7Cn0KCi51aS1jb2xvcnBpY2tlciB0YWJsZSB0ZCB7Cgl2ZXJ0aWNhbC1hbGlnbjoJCQl0b3A7Cn0KCi51aS1jb2xvcnBpY2tlci1wYWRkaW5nLWxlZnQgewoJcGFkZGluZy1sZWZ0OgkJCTEwcHg7Cn0KLnVpLWNvbG9ycGlja2VyLXBhZGRpbmctdG9wIHsKCXBhZGRpbmctdG9wOgkJCTEwcHg7Cn0KCi51aS1jb2xvcnBpY2tlci1ib3JkZXIgewoJYm9yZGVyOgkJCQkJMXB4IGluc2V0OwogICAgZGlzcGxheToJCQkJaW5saW5lLWJsb2NrOwp9CgovKiBCYXIgJiBtYXAgKi8KLnVpLWNvbG9ycGlja2VyLW1hcCA+ICosCi51aS1jb2xvcnBpY2tlci1iYXIgPiAqIHsKICAgIHBvc2l0aW9uOgkJCQlhYnNvbHV0ZTsKCWN1cnNvcjoJCQkJCWNyb3NzaGFpcjsKfQoKLnVpLWNvbG9ycGlja2VyLW1hcC1wb2ludGVyLAoudWktY29sb3JwaWNrZXItYmFyLXBvaW50ZXIgewogICAgcG9zaXRpb246CQkJCWFic29sdXRlOwp9Ci8qIE1hcCAqLwoudWktY29sb3JwaWNrZXItbWFwLAoudWktY29sb3JwaWNrZXItbWFwID4gKiB7CiAgICBkaXNwbGF5OgkJCQlibG9jazsKCXdpZHRoOgkJCQkJMjU2cHg7CgloZWlnaHQ6CQkJCQkyNTZweDsKCW92ZXJmbG93OgkJCQloaWRkZW47Cn0KCi51aS1jb2xvcnBpY2tlci1tYXAtbGF5ZXItMSwKLnVpLWNvbG9ycGlja2VyLW1hcC1sYXllci0yIHsKCWJhY2tncm91bmQ6CQkJCXVybChjb2xvcnBpY2tlci9tYXAucG5nKSBuby1yZXBlYXQ7Cn0KCi51aS1jb2xvcnBpY2tlci1tYXAtbGF5ZXItYWxwaGEgewoJYmFja2dyb3VuZDoJCQkJdXJsKGNvbG9ycGlja2VyL21hcC1vcGFjaXR5LnBuZyk7Cn0KCi51aS1jb2xvcnBpY2tlci1tYXAtcG9pbnRlciB7CglkaXNwbGF5OgkJCQlpbmxpbmUtYmxvY2s7Cgl3aWR0aDoJCQkJCTE1cHg7CgloZWlnaHQ6CQkJCQkxNXB4OwoJYmFja2dyb3VuZDoJCQkJdXJsKGNvbG9ycGlja2VyL21hcC1wb2ludGVyLnBuZykgbm8tcmVwZWF0Owp9CgovKiBCYXIgKi8KLnVpLWNvbG9ycGlja2VyLWJhciwKLnVpLWNvbG9ycGlja2VyLWJhciA+ICogewogICAgZGlzcGxheToJCQkJYmxvY2s7CiAgICB3aWR0aDoJCQkJCTIwcHg7CiAgICBoZWlnaHQ6CQkJCQkyNTZweDsKCW92ZXJmbG93OgkJCQloaWRkZW47CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDoJCXJlcGVhdC14Owp9CgoudWktY29sb3JwaWNrZXItYmFyLWxheWVyLTEsCi51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItMiwKLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci0zLAoudWktY29sb3JwaWNrZXItYmFyLWxheWVyLTQgewoJYmFja2dyb3VuZDoJCQkJdXJsKGNvbG9ycGlja2VyL2Jhci5wbmcpIHJlcGVhdC14Owp9CgoudWktY29sb3JwaWNrZXItYmFyLWxheWVyLWFscGhhIHsKCWJhY2tncm91bmQ6CQkJCXVybChjb2xvcnBpY2tlci9iYXItb3BhY2l0eS5wbmcpOwp9CgoudWktY29sb3JwaWNrZXItYmFyLWxheWVyLWFscGhhYmFyIHsKCWJhY2tncm91bmQ6CQkJCXVybChjb2xvcnBpY2tlci9iYXItYWxwaGEucG5nKTsKfQoKLnVpLWNvbG9ycGlja2VyLWJhci1wb2ludGVyIHsKCWRpc3BsYXk6CQkJCWlubGluZS1ibG9jazsKCXdpZHRoOgkJCQkJMjBweDsKCWhlaWdodDoJCQkJCTdweDsKCWJhY2tncm91bmQ6CQkJCXVybChjb2xvcnBpY2tlci9iYXItcG9pbnRlci5wbmcpIG5vLXJlcGVhdDsKfQoKLyogUHJldmlldyAqLwoudWktY29sb3JwaWNrZXItcHJldmlldyB7Cgl0ZXh0LWFsaWduOgkJCQljZW50ZXI7Cn0KCi51aS1jb2xvcnBpY2tlci1wcmV2aWV3LWluaXRpYWwgewogICAgY3Vyc29yOgkJCQkJcG9pbnRlcjsKfQoKLnVpLWNvbG9ycGlja2VyLXByZXZpZXctaW5pdGlhbCwKLnVpLWNvbG9ycGlja2VyLXByZXZpZXctY3VycmVudCB7CiAgICB3aWR0aDoJCQkJCTUwcHg7CiAgICBoZWlnaHQ6CQkJCQkyMHB4OwogICAgZGlzcGxheToJCQkJaW5saW5lLWJsb2NrOwp9CgoudWktY29sb3JwaWNrZXItcHJldmlldy1pbml0aWFsLWFscGhhLAoudWktY29sb3JwaWNrZXItcHJldmlldy1jdXJyZW50LWFscGhhIHsKICAgIHdpZHRoOgkJCQkJNTBweDsKICAgIGhlaWdodDoJCQkJCTIwcHg7CiAgICBkaXNwbGF5OgkJCQlpbmxpbmUtYmxvY2s7CgliYWNrZ3JvdW5kOgkJCQl1cmwoY29sb3JwaWNrZXIvcHJldmlldy1vcGFjaXR5LnBuZykgcmVwZWF0Owp9CgovKiBJbnB1dHMgKi8KLnVpLWNvbG9ycGlja2VyLXJnYiBsYWJlbCwKLnVpLWNvbG9ycGlja2VyLWhzdiBsYWJlbCwKLnVpLWNvbG9ycGlja2VyLWhzbCBsYWJlbCwKLnVpLWNvbG9ycGlja2VyLWxhYiBsYWJlbCwKLnVpLWNvbG9ycGlja2VyLWNteWsgbGFiZWwsCi51aS1jb2xvcnBpY2tlci1hbHBoYSBsYWJlbCB7CiAgICB3aWR0aDoJCQkJCTEuNWVtOwogICAgZGlzcGxheToJCQkJaW5saW5lLWJsb2NrOwp9CgoudWktY29sb3JwaWNrZXItbnVtYmVyIHsKCW1hcmdpbjoJCQkJCS4xZW07Cgl3aWR0aDoJCQkJCTRlbTsKfQoKLyogSGV4ICovCi51aS1jb2xvcnBpY2tlci1oZXggewoJdGV4dC1hbGlnbjoJCQkJY2VudGVyOwp9CgovKiBTd2F0Y2hlcyAqLwoudWktY29sb3JwaWNrZXItc3dhdGNoZXMgewoJd2lkdGg6CQkJCQk4NHB4OwoJaGVpZ2h0OgkJCQkJMjU2cHg7CglvdmVyZmxvdzoJCQkJYXV0bzsKCWJhY2tncm91bmQtY29sb3I6CQkjZjhmOGY4Owp9CgoudWktY29sb3JwaWNrZXItc3dhdGNoIHsKCWN1cnNvcjoJCQkJCXBvaW50ZXI7CglmbG9hdDoJCQkJCWxlZnQ7Cgl3aWR0aDoJCQkJCTExcHg7CgloZWlnaHQ6CQkJCQkxMXB4OwogICAgYm9yZGVyLXJpZ2h0OgkJCTFweCBzb2xpZCBibGFjazsKICAgIGJvcmRlci1ib3R0b206CQkJMXB4IHNvbGlkIGJsYWNrOwp9]]></data>
	</file>
	<file>
	  <filename>/templates/css/socialshareprivacy.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgew0KICBjbGVhcjogYm90aDsNCiAgbWFyZ2luOiAyMHB4IDAgIWltcG9ydGFudDsNCiAgbGlzdC1zdHlsZS10eXBlOiBub25lOw0KICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogIGhlaWdodDogMjVweDsNCiAgZGlzcGxheTogYmxvY2s7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaSB7DQogIG1hcmdpbjogMCAhaW1wb3J0YW50Ow0KICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogIGhlaWdodDogMjBweDsNCiAgZmxvYXQ6IGxlZnQ7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaSAuZHVtbXlfYnRuIHsNCiAgZmxvYXQ6IGxlZnQ7DQogIG1hcmdpbi1sZWZ0OiAxMHB4Ow0KICBjdXJzb3I6IHBvaW50ZXI7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSAuZmFjZWJvb2sgew0KICB3aWR0aDogMTgwcHg7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIC5mYWNlYm9vayAuZmJfbGlrZSBpZnJhbWUgew0KICB3aWR0aDogMTQ1cHg7DQogIGhlaWdodDogMjFweDsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIC50d2l0dGVyIHsNCiAgd2lkdGg6IDE0OHB4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkgZGl2LnR3ZWV0IHsNCiAgd2lkdGg6IDExNXB4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgLmdwbHVzIHsNCiAgd2lkdGg6IDEyM3B4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkgZGl2LmdwbHVzb25lIHsNCiAgd2lkdGg6IDkwcHg7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaSAuc3dpdGNoIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB0ZXh0LWluZGVudDogLTk5OTllbTsNCiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGh0dHA6Ly93d3cuaHpwLXVzZWRvbS5ldS9tb2R1bGVzL1Rvb2xCb3gvaW1hZ2VzL3NvY2lhbHNoYXJlcHJpdmFjeS9vbl9vZmYucG5nKSBuby1yZXBlYXQgMCAwIHNjcm9sbDsNCiAgd2lkdGg6IDIzcHg7DQogIGhlaWdodDogMTJweDsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgZmxvYXQ6IGxlZnQ7DQogIG1hcmdpbjogNHB4IDAgMDsNCiAgY3Vyc29yOiBwb2ludGVyOw0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkgLnN3aXRjaC5vbiB7DQogIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEycHg7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaS5oZWxwX2luZm8gew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaS5oZWxwX2luZm8gLmluZm8sIC5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIGxpIC5oZWxwX2luZm8uaWNvbiAuaW5mbyB7DQogIGRpc3BsYXk6IG5vbmU7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYm90dG9tOiA0MHB4Ow0KICBsZWZ0OiAwOw0KICB3aWR0aDogMjkwcHg7DQogIHBhZGRpbmc6IDEwcHggMTVweDsNCiAgZm9udC1zaXplOiAxMnB4Ow0KICBsaW5lLWhlaWdodDogMTZweDsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogIC1tb3otYm9yZGVyLXJhZGl1czogNHB4Ow0KICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAtbW96LWJveC1zaGFkb3c6IDAgM3B4IDRweCAjOTk5Ow0KICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDRweCAjOTk5Ow0KICBib3gtc2hhZG93OiAwIDNweCA0cHggIzk5OTsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmJlYzsNCiAgY29sb3I6ICMwMDA7DQogIHotaW5kZXg6IDUwMDsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIGxpLmdwbHVzLmhlbHBfaW5mbyAuaW5mbyB7DQogIGxlZnQ6IC02MHB4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkgLmhlbHBfaW5mby5pY29uIC5pbmZvIHsNCiAgbGVmdDogLTI0M3B4Ow0KICB3aWR0aDogMzUwcHg7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaSAuaGVscF9pbmZvLmljb24uZGlzcGxheSAuaW5mbyB7DQogIGRpc3BsYXk6IGJsb2NrOw0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkuaGVscF9pbmZvLmluZm9fb2ZmLmRpc3BsYXkgLmluZm8gew0KICBkaXNwbGF5OiBub25lOw0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkgLmhlbHBfaW5mby5pY29uIHsNCiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoaHR0cDovL3d3dy5oenAtdXNlZG9tLmV1L21vZHVsZXMvVG9vbEJveC9pbWFnZXMvc29jaWFsc2hhcmVwcml2YWN5L2luZm8ucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciBzY3JvbGw7DQogIHdpZHRoOiAyNXB4Ow0KICBoZWlnaHQ6IDIwcHg7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogdG9wOw0KICBib3JkZXI6IDJweCBzb2xpZCAjZTdlM2UzOw0KICBib3JkZXItcmlnaHQtd2lkdGg6IDA7DQogIC1tb3otYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7DQogIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7DQogIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkuc2V0dGluZ3NfaW5mbyAuc2V0dGluZ3NfaW5mb19tZW51Lm9uIC5oZWxwX2luZm8uaWNvbiB7DQogIGJvcmRlci10b3Atd2lkdGg6IDA7DQogIGJvcmRlci1sZWZ0LXdpZHRoOiAwOw0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkuc2V0dGluZ3NfaW5mbyAuc2V0dGluZ3NfaW5mb19tZW51LnBlcm1hX29wdGlvbl9vZmYgLmhlbHBfaW5mby5pY29uIHsNCiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7DQogIC1tb3otYm9yZGVyLXJhZGl1czogNXB4Ow0KICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsNCiAgYm9yZGVyLXJhZGl1czogNXB4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkuc2V0dGluZ3NfaW5mbyB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgdG9wOiAtMnB4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkuc2V0dGluZ3NfaW5mbyBhIHsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICBtYXJnaW46IDAgIWltcG9ydGFudDsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIGxpLnNldHRpbmdzX2luZm8gLnNldHRpbmdzX2luZm9fbWVudSB7DQogIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjU7DQogIGJvcmRlcjogMnB4IHNvbGlkICNlN2UzZTM7DQogIC1tb3otYm9yZGVyLXJhZGl1czogNXB4Ow0KICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsNCiAgYm9yZGVyLXJhZGl1czogNXB4Ow0KICAtbW96LWJveC1zaGFkb3c6IDJweCAycHggM3B4ICNjMWMxYzE7DQogIC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDJweCAzcHggI2MxYzFjMTsNCiAgYm94LXNoYWRvdzogM3B4IDNweCAzcHggI2MxYzFjMTsNCiAgbGVmdDogMDsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDA7DQogIHdpZHRoOiAxMzVweDsNCiAgei1pbmRleDogMTAwMDsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIGxpLnNldHRpbmdzX2luZm8gLnNldHRpbmdzX2luZm9fbWVudS5vZmYgew0KICBib3JkZXItd2lkdGg6IDA7DQogIC1tb3otYm94LXNoYWRvdzogbm9uZTsNCiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOw0KICBib3gtc2hhZG93OiBub25lOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIGxpLnNldHRpbmdzX2luZm8gLnNldHRpbmdzX2luZm9fbWVudS5vZmYgZm9ybSB7DQogIGRpc3BsYXk6IG5vbmU7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaS5zZXR0aW5nc19pbmZvIC5zZXR0aW5nc19pbmZvX21lbnUgLnNldHRpbmdzIHsNCiAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoaHR0cDovL3d3dy5oenAtdXNlZG9tLmV1L21vZHVsZXMvVG9vbEJveC9pbWFnZXMvc29jaWFsc2hhcmVwcml2YWN5L3NldHRpbmdzLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgc2Nyb2xsOw0KICB3aWR0aDogMjVweDsNCiAgaGVpZ2h0OiAyMHB4Ow0KICBib3JkZXI6IDJweCBzb2xpZCAjZTdlM2UzOw0KICAtbW96LWJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwOw0KICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwOw0KICBib3JkZXItcmFkaXVzOiAwIDVweCA1cHggMDsNCiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkOw0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkuc2V0dGluZ3NfaW5mbyAuc2V0dGluZ3NfaW5mb19tZW51Lm9uIC5zZXR0aW5ncyB7DQogIGJvcmRlci10b3Atd2lkdGg6IDA7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaS5zZXR0aW5nc19pbmZvIC5zZXR0aW5nc19pbmZvX21lbnUgZm9ybSBmaWVsZHNldCB7DQogIGJvcmRlci13aWR0aDogMDsNCiAgbWFyZ2luOiAwOw0KICBwYWRkaW5nOiAwIDEwcHggMTBweDsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIGxpLnNldHRpbmdzX2luZm8gLnNldHRpbmdzX2luZm9fbWVudSBmb3JtIGZpZWxkc2V0IGxlZ2VuZCB7DQogIGZvbnQtc2l6ZTogMTFweDsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIGxpbmUtaGVpZ2h0OiAxNHB4Ow0KICBtYXJnaW46IDA7DQogIHBhZGRpbmc6IDEwcHggMDsNCiAgd2lkdGg6IDExNXB4Ow0KfQ0KLnNvY2lhbF9zaGFyZV9wcml2YWN5X2FyZWEgbGkuc2V0dGluZ3NfaW5mbyAuc2V0dGluZ3NfaW5mb19tZW51IGZvcm0gZmllbGRzZXQgaW5wdXQgew0KICBjbGVhcjogYm90aDsNCiAgZmxvYXQ6IGxlZnQ7DQogIG1hcmdpbjogNHB4IDEwcHggNHB4IDA7DQp9DQouc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSBsaS5zZXR0aW5nc19pbmZvIC5zZXR0aW5nc19pbmZvX21lbnUgZm9ybSBmaWVsZHNldCBsYWJlbCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgZmxvYXQ6IGxlZnQ7DQogIGZvbnQtc2l6ZTogMTJweDsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAtbW96LXRyYW5zaXRpb246IGNvbG9yIC41cyBlYXNlLWluOw0KICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIC41cyBlYXNlLWluOw0KICB0cmFuc2l0aW9uOiBjb2xvciAuNXMgZWFzZS1pbjsNCn0NCi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIGxpLnNldHRpbmdzX2luZm8gLnNldHRpbmdzX2luZm9fbWVudSBmb3JtIGZpZWxkc2V0IGxhYmVsLmNoZWNrZWQgew0KICBjb2xvcjogIzA5MDsNCn0NCiNtaXR0ZSAjbWl0dGVfbGlua3Mgew0KICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50Ow0K]]></data>
	</file>
	<file>
	  <filename>/templates/css/ToolBoxBackendStyles.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQmFja2VuZCBTdHlsZXMgVG9vbEJveCBNb2R1bGUgKi8gLyogd3JpdHRlbiBieSBsdWthcyBibGF0dGVyICovCnRhYmxlLlRvb2xCb3hNYWluVGFibGUgewoJd2lkdGg6IDEwMCU7Cn0KCnRhYmxlLlRvb2xCb3hNYWluVGFibGUgdGQgewoJdmVydGljYWwtYWxpZ246IHRvcDsKfQoKCi50YkFjdGl2ZSB7Cgljb2xvcjogI2ZmZjsgLyogIzM1MzYzNjsgKi8KCWJhY2tncm91bmQ6ICMxNDdGREI7IC8qICNGRjg4MDAgI2NjYzsgKi8JCglmb250LXdlaWdodDogYm9sZDsKfQoKLnRiSW5hY3RpdmUgewoJY29sb3I6ICMzNTM2MzY7CgliYWNrZ3JvdW5kOiAjRUJFQUVBOwp9CgoudGJBY3RpdmUsIC50YkluYWN0aXZlIHsKCXBhZGRpbmc6IDVweCAxMHB4OwoJbWFyZ2luOiA1cHggMDsKfQoKLnczMCBpbnB1dCB7Cgl3aWR0aDogMzBweCAhaW1wb3J0YW50OwoJbWluLXdpZHRoOiAyMHB4Cn0KCi53NTAgaW5wdXQgewoJd2lkdGg6IDUwcHggIWltcG9ydGFudDsKCW1pbi13aWR0aDogMjBweAp9CgoudzgwIGlucHV0IHsKCXdpZHRoOiA4MHB4ICFpbXBvcnRhbnQ7CgltaW4td2lkdGg6IDUwcHgKfQoKCgovKioqIHRhYnMgKioqLwojdGJwYWdlX3RhYnMgewoJb3ZlcmZsb3c6IGhpZGRlbjsKCW1hcmdpbi10b3A6IDIwcHgKfQojdGJwYWdlX3RhYnMgZGl2IHsKCWNvbG9yOiAjNTg1ODU4OwoJYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7Cgl0ZXh0LXNoYWRvdzogLTFweCAxcHggMCAjZmZmOwoJYmFja2dyb3VuZDogI2RkZDsKCWZvbnQtd2VpZ2h0OiBib2xkOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJZmxvYXQ6IGxlZnQ7CgljdXJzb3I6IHBvaW50ZXI7Cgl3aGl0ZS1zcGFjZTogbm93cmFwOwoJcGFkZGluZzogMTFweDsKCW1hcmdpbi10b3A6IDFweDsKCW1hcmdpbi1yaWdodDogMXB4Cn0KI3RicGFnZV90YWJzIGRpdiBpbWcgewoJaGVpZ2h0OiAxNHB4OwoJbWFyZ2luLXRvcDogMnB4OwoJbWFyZ2luLWxlZnQ6IDVweDsKCW1hcmdpbi1yaWdodDogNXB4Cn0KI3RicGFnZV90YWJzIGRpdjpob3ZlciB7Cgljb2xvcjogIzE0N2ZkYgp9CiN0YnBhZ2VfdGFicyBkaXYuYWN0aXZlIHsKCWNvbG9yOiAjZmZmOwoJdGV4dC1zaGFkb3c6IC0xcHggLTFweCAwICMwNTQ4ODI7CgliYWNrZ3JvdW5kOiAjMTQ3ZmRiIC8qdXJsKC4uLy4uLy4uLy4uL3RoZW1lcy9PbmVFbGV2ZW4vaW1hZ2VzL2xheW91dC90YWItYWN0aXZlLnBuZykgbm8tcmVwZWF0IGNlbnRlciBib3R0b20qLwp9CiN0YnBhZ2VfY29udGVudCB7CgliYWNrZ3JvdW5kOiAjZmZmOwoJYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7CglwYWRkaW5nOiAyMHB4IDEwcHg7Cglib3JkZXI6IDFweCBzb2xpZCAjZGRkOwoJYm9yZGVyLXRvcDogM3B4IHNvbGlkICNkZGQKfQoKCi8qIFRlbXBsYXRlIEZpbGVzICovCi5mYm1haW4gewoJd2lkdGg6IDQ3MHB4OwoJY29sb3I6ICMwMDAwMDA7Cglib3JkZXI6IG5vbmU7CglwYWRkaW5nOiAwcHg7Cgl0ZXh0LWFsaWduOiBsZWZ0OwoJbWFyZ2luOiAwIDAgMjBweCAwOwp9CgouZmJtYWluIC5jcGF0aCB7CglkaXNwbGF5OiBibG9jazsKCWZvbnQtd2VpZ2h0OiBib2xkOwp9CgouZmJtYWluIC5mYm5hdiB7CglkaXNwbGF5OiBibG9jazsKCW1hcmdpbjogNTBweCAwIDIwcHggMDsKfQoKLmZibWFpbiAuemVpbGVuYm94IHsKCWRpc3BsYXk6IGJsb2NrOwoJY29sb3I6ICMwMDAwMDA7CglwYWRkaW5nOiA4cHggMDsKCWhlaWdodDogMTBweDsKfQoKLmZibWFpbiAuYm94dGl0ZWwgewoJbWFyZ2luLWJvdHRvbTogMTBweDsKCWZvbnQtd2VpZ2h0OiBib2xkOwp9CgouZmJtYWluIC5pY29uLC5mYm1haW4gLm5hbWUsLmZibWFpbiAudGl0bGVuYW1lLC5mYm1haW4gLnNpemUsLmZibWFpbiAudHlwZSwuZmJtYWluIC5tb2QsLmZibWFpbiAuYWN0aW9uCgl7CglkaXNwbGF5OiBibG9jazsKCWZsb2F0OiBsZWZ0OwoJY29sb3I6ICMwMDA7CgliYWNrZ3JvdW5kOiBpbmhlcml0OwoJb3ZlcmZsb3c6IG5vbmU7CglvdmVyZmxvdy1ZOiBub25lOwp9CgouZmJtYWluIC5pY29uIHsKCXdpZHRoOiAyMHB4Owp9CgouZmJtYWluIC5uYW1lIHsKCXdpZHRoOiAzNjBweDsKfQoKLmZibWFpbiAudGl0bGVuYW1lIHsKCXdpZHRoOiAzODBweDsKfQoKLmZibWFpbiAuc2l6ZSB7Cgl3aWR0aDogOTBweDsKCXRleHQtYWxpZ246IHJpZ2h0Owp9CgouZmJtYWluIC50eXBlIHsKCXdpZHRoOiA2NXB4OwoJdGV4dC1hbGlnbjogcmlnaHQ7Cn0KCi5mYm1haW4gLm1vZCB7Cgl3aWR0aDogMTIwcHg7Cgl0ZXh0LWFsaWduOiByaWdodDsKfQoKLmZibWFpbiAuYWN0aW9uIHsKCW92ZXJmbG93OiBoaWRkZW47Cgl3aWR0aDogMTAwcHg7Cgl0ZXh0LWFsaWduOiBsZWZ0OwoJcGFkZGluZy1sZWZ0OiAxNXB4Owp9CgouZmJtYWluIC50eXBlLC5mYm1haW4gLm1vZCB7CglkaXNwbGF5OiBub25lOwp9CgouZmJtYWluIC5taW5pYm94IHsKCXBhZGRpbmc6IDBweCAwIDBweCAwOwp9Cgo=]]></data>
	</file>
	<file>
	  <filename>/templates/css/twf_twitterfeed.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LnRiVHdpdHRlcmZlZWQgew0KICAgIGZvbnQtZmFtaWx5OiBoZWx2ZXRpY2EsICdHZW9yZ2lhJywgYXJpYWwsIHNhbnMtc2VyaWY7DQogICAgd2lkdGg6IDMyMHB4Ow0KICAgIHBhZGRpbmc6IDEwcHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXItcmFkaXVzOiA2cHg7DQogICAgbWFyZ2luLXJpZ2h0OiAyMHB4Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNGMkYyRjI7DQp9DQoudGJUd2l0dGVyZmVlZCB1bCAgew0KICAgIG1hcmdpbjogMCAxMHB4IDAgMDsNCiAgICBwYWRkaW5nOiAwOw0KfQ0KLnRiVHdpdHRlcmZlZWQgbGkgew0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRjJGMkYyOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgcGFkZGluZzogMTBweCAyMHB4IDEwcHggMTBweDsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDE2cHg7DQogICAgbWluLWhlaWdodDogNDhweDsNCn0NCi50YlR3aXR0ZXJmZWVkIGxpLmxhc3Qgew0KICAgIGJvcmRlcjogbm9uZTsNCn0NCi50YlR3aXR0ZXJmZWVkIGxpICB7DQogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4cHg7DQogICAgLW1vei1ib3JkZXItcmFkaXVzOiA4cHg7DQogICAgLW1zLWJvcmRlci1yYWRpdXM6IDhweDsNCiAgICAtby1ib3JkZXItcmFkaXVzOiA4cHg7DQogICAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIG1hcmdpbjogMCAxMHB4IDEwcHggMDsNCn0NCi50YlR3aXR0ZXJmZWVkIGxpIGltZyB7DQogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4cHg7DQogICAgLW1vei1ib3JkZXItcmFkaXVzOiA4cHg7DQogICAgLW1zLWJvcmRlci1yYWRpdXM6IDhweDsNCiAgICAtby1ib3JkZXItcmFkaXVzOiA4cHg7DQogICAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIG1hcmdpbjogMCAxMHB4IDEwcHggMDsNCn0NCi50YlR3aXR0ZXJmZWVkIGxpIHNwYW4gew0KICAgIG1hcmdpbi1sZWZ0OiA1OHB4Ow0KICAgIGRpc3BsYXk6IGJsb2NrOw0KfQ0KLnRiVHdpdHRlcmZlZWQgbGkgLnR3ZWV0LWF1dGhvciB7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KLnRiVHdpdHRlcmZlZWQgbGkgLnR3ZWV0LWxpbmtzLA0KLnRiVHdpdHRlcmZlZWQgbGkgLnR3ZWV0LXJldHdlZXRlZGJ5IHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBjb2xvcjogIzk5OTsNCiAgICBmb250LXNpemU6IDExcHg7DQogICAgcGFkZGluZy10b3A6IDVweDsNCn0NCg0KLnRiVHdpdHRlcmZlZWQgbGkgLnR3ZWV0LWxpbmtzIGEgew0KICAgIGNvbG9yOiAjOTk5Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLnRiVHdpdHRlcmZlZWQgbGkgLnR3ZWV0LWxpbmtzIGE6aG92ZXIgew0KICAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7DQp9DQoNCi50YlR3aXR0ZXJmZWVkIGxpIC50d2VldC1yZXR3ZWV0ZWRieSB7DQogICAgcGFkZGluZzogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAtNXB4Ow0K]]></data>
	</file>
	<file>
	  <filename>/templates/edittemplate_alb.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxoMz57JG1vZC0+TGFuZygndGl0bGVfdGVtcGxhdGUnKX08L2gzPgo8L2Rpdj4KeyRmb3Jtc3RhcnR9eyRoaWRkZW59CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RlbXBsYXRlbmFtZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZW5hbWV9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9eyRhcHBseX17JHJlc2V0fTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8aDM+eyRtb2QtPkxhbmcoJ3Byb21wdF9lZGl0dGVtcGxhdGUnKX08L2gzPgo8L2Rpdj4KCntpZiAhJGpxdWVyeV9vd259CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2pxdWVyeScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9qcXVlcnl9PC9wPgo8L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3VzZV9tb2JpbGV0ZW1wbGF0ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF91c2VfbW9iaWxldGVtcGxhdGV9PC9wPgo8L2Rpdj4KCnskbW9kLT5TdGFydFRhYkhlYWRlcnMoKX0KeyRtb2QtPlNldFRhYkhlYWRlcignZGVza3RvcCcsJG1vZC0+TGFuZygnZGVza3RvcHRwbCcpLHRydWUpfQp7JG1vZC0+U2V0VGFiSGVhZGVyKCdtb2JpbGUnLCRtb2QtPkxhbmcoJ21vYmlsZXRwbCcpLGZhbHNlKX0KeyRtb2QtPkVuZFRhYkhlYWRlcnMoKX0KCgp7JG1vZC0+U3RhcnRUYWJDb250ZW50KCl9Cgp7JG1vZC0+U3RhcnRUYWIoJ2Rlc2t0b3AnLCIiKX0KCntpZiAkc2VjdGlvbiAhPSAnYXV0b2xpZ2h0Ym94J30KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RlbXBsYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRlbXBsYXRlfTwvcD4KPC9kaXY+CnsvaWZ9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RlbXBsYXRlY3NzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+TGFuZygnc21hcnR5dGFncycpfTxiciAvPnskdGVtcGxhdGVjc3N9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RlbXBsYXRlanMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5MYW5nKCdzbWFydHl0YWdzJyl9PGJyIC8+eyR0ZW1wbGF0ZWpzfTwvcD4KPC9kaXY+Cgp7JG1vZC0+RW5kVGFiKCl9CnskbW9kLT5TdGFydFRhYignbW9iaWxlJywiIil9Cgp7aWYgJHNlY3Rpb24gIT0gJ2F1dG9saWdodGJveCd9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZW1vYmlsZX08L3A+CjwvZGl2Pgp7L2lmfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZWNzcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkxhbmcoJ3NtYXJ0eXRhZ3MnKX08YnIgLz57JHRlbXBsYXRlbW9iaWxlY3NzfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZWpzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+TGFuZygnc21hcnR5dGFncycpfTxiciAvPnskdGVtcGxhdGVtb2JpbGVqc308L3A+CjwvZGl2PgoKeyRtb2QtPkVuZFRhYigpfQp7JG1vZC0+RW5kVGFiQ29udGVudCgpfQoKCntpZiAkbW9kZSAhPSAiYWRkIn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxoMz57JG1vZC0+TGFuZygncHJvbXB0X3RlbXBsYXRlZmlsZXMnKX08L2gzPgo8L2Rpdj4KCgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPGRpdiBjbGFzcz0icGFnZWlucHV0IGZibWFpbiI+Cgk8ZGl2IGNsYXNzPSJ6ZWlsZW5ib3ggYm94dGl0ZWwiPgoJCTxzcGFuIGNsYXNzPSJ0aXRsZW5hbWUiPnskbW9kLT5MYW5nKCdwcm9tcHRfZmlsZScpfTwvc3Bhbj4KCQk8c3BhbiBjbGFzcz0ic2l6ZSI+eyRtb2QtPkxhbmcoJ3Byb21wdF9zaXplJyl9PC9zcGFuPgoJCTxzcGFuIGNsYXNzPSJhY3Rpb24iPnskbW9kLT5MYW5nKCdwcm9tcHRfZGVsZXRlJyl9PC9zcGFuPgoJPC9kaXY+CiAgCTxkaXYgY2xhc3M9Im1pbmlib3giPgogIAl7Zm9yZWFjaCBmcm9tPSR0cGxmaWxlcyBpdGVtPWZpbGV9CgkJPGRpdiBjbGFzcz0iemVpbGVuYm94Ij4KCQkJPHNwYW4gY2xhc3M9Imljb24iPnskZmlsZS0+ZXh0fTwvc3Bhbj4KCQkJPHNwYW4gY2xhc3M9Im5hbWUiPnskZmlsZS0+bGlua308L3NwYW4+CgkJCTxzcGFuIGNsYXNzPSJzaXplIj57JGZpbGUtPnNpemV9PC9zcGFuPgoJCQk8c3BhbiBjbGFzcz0iYWN0aW9uIj57JGZpbGUtPmFjdGlvbn08L3NwYW4+CgkJPC9kaXY+Cgl7L2ZvcmVhY2h9Cgk8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+CjxkaXYgaWQ9ImZpbGUtdXBsb2FkZXIiIHN0eWxlPSJiYWNrZ3JvdW5kOiB1cmwoeyRhZGRmaWxlc2ljb259KSBuby1yZXBlYXQ7Ij57JGFkZGZpbGVzfQoJCTxub3NjcmlwdD4JCQkKCQkJPHA+UGxlYXNlIGVuYWJsZSBKYXZhU2NyaXB0IHRvIHVzZSBmaWxlIHVwbG9hZGVyLjwvcD4KCQkJPCEtLSBvciBwdXQgYSBzaW1wbGUgZm9ybSBmb3IgdXBsb2FkIGhlcmUgLS0+CgkJPC9ub3NjcmlwdD4gICAgICAgICAKCTwvZGl2PgogICAge2xpdGVyYWx9CiAgICA8c2NyaXB0PiAgICAgICAgCiAgICAgICAgZnVuY3Rpb24gY3JlYXRlVXBsb2FkZXIoKXsgICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHVwbG9hZGVyID0gbmV3IHFxLkZpbGVVcGxvYWRlcih7CiAgICAgICAgICAgIAl0ZW1wbGF0ZTogJzxkaXYgY2xhc3M9InFxLXVwbG9hZGVyIj4nICsgCgkJCSAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0icXEtdXBsb2FkLWRyb3AtYXJlYSI+PHNwYW4+WW91ciB0ZXh0IGhlcmU8L3NwYW4+PC9kaXY+JyArCgkJCSAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0icXEtdXBsb2FkLWJ1dHRvbiI+ey9saXRlcmFsfXskYWRkZmlsZXN9e2xpdGVyYWx9PC9kaXY+JyArCgkJCSAgICAgICAgICAgICAgICAnPHVsIGNsYXNzPSJxcS11cGxvYWQtbGlzdCI+PC91bD4nICsgCgkJCSAgICAgICAgICAJCSc8L2Rpdj4nLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWxlLXVwbG9hZGVyJyksCiAgICAgICAgICAgICAgICBhY3Rpb246ICd7L2xpdGVyYWx9eyR1cGxvYWRfdXJsfXtsaXRlcmFsfScsCiAgICAgICAgICAgICAgICBhbGxvd2VkRXh0ZW5zaW9uczogWydnaWYnLCdqcGVnJywnanBnJywncG5nJywnanMnLCdjc3MnXSwKICAgICAgICAgICAgICAgIHBhcmFtcyA6eyB7L2xpdGVyYWx9CiAgICAgICAgICAgICAgICAgICAgJ3RlbXBsYXRlaWQnIDogJ3skdGVtcGxhdGVpZH0nLAogICAgICAgICAgICAgICAgICAgICdzZWN0aW9uJyA6ICd7JHNlY3Rpb259JwogICAgICAgICAgICAgICAge2xpdGVyYWx9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAsCiAgICAgICAgICAgICAgICBkZWJ1ZzogdHJ1ZQogICAgICAgICAgICB9KTsgCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgICAgICAKICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIC8vIGluIHlvdXIgYXBwIGNyZWF0ZSB1cGxvYWRlciBhcyBzb29uIGFzIHRoZSBET00gaXMgcmVhZHkKICAgICAgICAvLyBkb24ndCB3YWl0IGZvciB0aGUgd2luZG93IHRvIGxvYWQgIAogICAgICAgIHdpbmRvdy5vbmxvYWQgPSBjcmVhdGVVcGxvYWRlcjsgICAgIAogICAgPC9zY3JpcHQ+ICAgIAoKCXsvbGl0ZXJhbH0KPC9kaXY+CjwvZGl2Pgp7L2lmfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fXskY2FuY2VsfXskYXBwbHl9eyRyZXNldH08L3A+CjwvZGl2PgoKeyRmb3JtZW5kfQoKCgoKCgoKCg==]]></data>
	</file>
	<file>
	  <filename>/templates/edittemplate_csv.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxoMz57JG1vZC0+TGFuZygndGl0bGVfdGVtcGxhdGUnKX08L2gzPgo8L2Rpdj4KeyRmb3Jtc3RhcnR9eyRoaWRkZW59CgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGVuYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRlbXBsYXRlbmFtZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH17JGFwcGx5fXskcmVzZXR9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3BhcmFtZXRlcicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+PGNvZGU+CgkJICAKICA8L2NvZGU+PC9wPgo8L2Rpdj4KCntpZiAhJGpxdWVyeV9vd259CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2pxdWVyeScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9qcXVlcnl9PC9wPgo8L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxoMz57JG1vZC0+TGFuZygncHJvbXB0X2VkaXR0ZW1wbGF0ZScpfTwvaDM+CjwvZGl2PgoKCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RlbXBsYXRlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRlbXBsYXRlfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZWNzcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkxhbmcoJ3NtYXJ0eXRhZ3MnKX08YnIgLz57JHRlbXBsYXRlY3NzfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZWpzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+TGFuZygnc21hcnR5dGFncycpfTxiciAvPnskdGVtcGxhdGVqc308L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH17JGFwcGx5fXskcmVzZXR9PC9wPgo8L2Rpdj4KCnskZm9ybWVuZH0KCgoKCgoKCgo=]]></data>
	</file>
	<file>
	  <filename>/templates/edittemplate_twf.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxoMz57JG1vZC0+TGFuZygndGl0bGVfdGVtcGxhdGUnKX08L2gzPgo8L2Rpdj4KeyRmb3Jtc3RhcnR9eyRoaWRkZW59CgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGVuYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHRlbXBsYXRlbmFtZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH17JGFwcGx5fXskcmVzZXR9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3BhcmFtZXRlcicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+PGNvZGU+CgkJICAmIzAzNjtpdGVtLSZndDt0ZXh0PGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2RhdGU8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmF3ZGF0ZTxici8+CgkJICAmIzAzNjtpdGVtLSZndDtpbWdfdXJsPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2ltZ191cmxfaHR0cHM8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7c2NyZWVubmFtZTxici8+CgkJICAmIzAzNjtpdGVtLSZndDtzY3JlZW5uYW1lX3VybDxici8+CgkJICAmIzAzNjtpdGVtLSZndDthdXRob3I8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7c291cmNlPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2xvY2F0aW9uPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O3JldHdlZXRfY291bnQ8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmV0d2VldF9zY3JlZW5uYW1lPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O3JldHdlZXRfYXV0aG9yPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O2Zhdm9yaXRlZDxici8+CgkJICAmIzAzNjtpdGVtLSZndDtkYXRlX2xpbms8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7cmVwbHlfbGluazxici8+CgkJICAmIzAzNjtpdGVtLSZndDtyZXR3ZWV0X2xpbms8YnIvPgoJCSAgJiMwMzY7aXRlbS0mZ3Q7ZmF2b3JpdGVfbGluazxici8+CgkJICAmIzAzNjtpdGVtLSZndDtyZXBseV9yYXdsaW5rPGJyLz4KCQkgICYjMDM2O2l0ZW0tJmd0O3JldHdlZXRfcmF3bGluazxici8+CgkJICAmIzAzNjtpdGVtLSZndDtmYXZvcml0ZV9yYXdsaW5rCiAgPC9jb2RlPjwvcD4KPC9kaXY+Cgp7aWYgISRqcXVlcnlfb3dufQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9qcXVlcnknKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfanF1ZXJ5fTwvcD4KPC9kaXY+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgo8aDM+eyRtb2QtPkxhbmcoJ3Byb21wdF9lZGl0dGVtcGxhdGUnKX08L2gzPgo8L2Rpdj4KCgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGVjc3MnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5MYW5nKCdzbWFydHl0YWdzJyl9PGJyIC8+eyR0ZW1wbGF0ZWNzc308L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGVqcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkxhbmcoJ3NtYXJ0eXRhZ3MnKX08YnIgLz57JHRlbXBsYXRlanN9PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9eyRhcHBseX17JHJlc2V0fTwvcD4KPC9kaXY+Cgp7JGZvcm1lbmR9CgoKCgoKCgoK]]></data>
	</file>
	<file>
	  <filename>/templates/edittplabout.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskdGl0bGV9PC9oMz4KPC9kaXY+CnskZm9ybXN0YXJ0fQp7JGhpZGRlbn0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3RlbXBsYXRlbmFtZX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdGVtcGxhdGVuYW1lfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdmVyc2lvbn06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdmVyc2lvbn08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2Fib3V0fTo8L3A+CiAgPGRpdiBjbGFzcz0icGFnZWlucHV0Ij57JGFib3V0fTwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/importtemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9DQp7JHRhYnRvfQ0KPGZpZWxkc2V0Pg0KPGxlZ2VuZD57JHRpdGxlX2ltcG9ydHhtbH08L2xlZ2VuZD4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCjxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW1wb3J0eG1sbm90ZX08L3A+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCjxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfaW1wb3J0eG1sfTo8L3A+DQo8cCBjbGFzcz0icGFnZWlucHV0Ij4NCnskaW1wb3J0eG1sfQ0KPC9wPg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQo8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X292ZXJ3cml0ZX06PC9wPg0KPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQp7JG92ZXJ3cml0ZX0NCjwvcD4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQo8cCBjbGFzcz0icGFnZWlucHV0Ij4NCnskc3VibWl0fQ0KPC9wPg0KPC9kaXY+DQoNCjwvZmllbGRzZXQ+DQp7JGZvcm1lbmR9DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBkdW1teSBpbmRleC5odG1sIC0tPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/js/fileuploader/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/js/fileuploader/fileuploader.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoucXEtdXBsb2FkZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgd2lkdGg6IDEwMCU7fQoKLnFxLXVwbG9hZC1idXR0b24gewogICAgZGlzcGxheTpibG9jazsgCiAgICB3aWR0aDogMTA1cHg7IHBhZGRpbmc6IDdweCAwOyB0ZXh0LWFsaWduOmNlbnRlcjsgICAgCiAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtjb2xvcjojZmZmOwp9Ci5xcS11cGxvYWQtYnV0dG9uLWhvdmVyIHtiYWNrZ3JvdW5kOiNjYzAwMDA7fQoucXEtdXBsb2FkLWJ1dHRvbi1mb2N1cyB7b3V0bGluZToxcHggZG90dGVkIGJsYWNrO30KCiovCi5xcS11cGxvYWQtYnV0dG9uIHsKCW1hcmdpbi1sZWZ0OiAzMHB4OwoJY3Vyc29yOiBwb2ludGVyOwoJaGVpZ2h0OiAzMHB4Owp9CgoucXEtdXBsb2FkLWJ1dHRvbi1ob3ZlciB7Cgl0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKCWN1cnNvcjogcG9pbnRlcjsKfQoKLnFxLXVwbG9hZC1kcm9wLWFyZWEgewogICAgcG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBsZWZ0OjA7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBtaW4taGVpZ2h0OiA3MHB4OyB6LWluZGV4OjI7CiAgICBiYWNrZ3JvdW5kOiNGRjk3OTc7IHRleHQtYWxpZ246Y2VudGVyOyAKfQoucXEtdXBsb2FkLWRyb3AtYXJlYSBzcGFuIHsKICAgIGRpc3BsYXk6YmxvY2s7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDUwJTsgd2lkdGg6MTAwJTsgbWFyZ2luLXRvcDotOHB4OyBmb250LXNpemU6MTZweDsKfQoucXEtdXBsb2FkLWRyb3AtYXJlYS1hY3RpdmUge2JhY2tncm91bmQ6I0ZGNzE3MTt9CgoucXEtdXBsb2FkLWxpc3Qge21hcmdpbjoxNXB4IDM1cHg7IHBhZGRpbmc6MDsgbGlzdC1zdHlsZTpkaXNjO30KLnFxLXVwbG9hZC1saXN0IGxpIHsgbWFyZ2luOjA7IHBhZGRpbmc6MDsgbGluZS1oZWlnaHQ6MTVweDsgZm9udC1zaXplOjEycHg7fQoucXEtdXBsb2FkLWZpbGUsIC5xcS11cGxvYWQtc3Bpbm5lciwgLnFxLXVwbG9hZC1zaXplLCAucXEtdXBsb2FkLWNhbmNlbCwgLnFxLXVwbG9hZC1mYWlsZWQtdGV4dCB7CiAgICBtYXJnaW4tcmlnaHQ6IDdweDsKfQoKLnFxLXVwbG9hZC1maWxlIHt9Ci5xcS11cGxvYWQtc3Bpbm5lciB7ZGlzcGxheTppbmxpbmUtYmxvY2s7IGJhY2tncm91bmQ6IHVybCgibG9hZGluZy5naWYiKTsgd2lkdGg6MTVweDsgaGVpZ2h0OjE1cHg7IHZlcnRpY2FsLWFsaWduOnRleHQtYm90dG9tO30KLnFxLXVwbG9hZC1zaXplLC5xcS11cGxvYWQtY2FuY2VsIHtmb250LXNpemU6MTFweDt9CgoucXEtdXBsb2FkLWZhaWxlZC10ZXh0IHtkaXNwbGF5Om5vbmU7fQoucXEtdXBsb2FkLWZhaWwgLnFxLXVwbG9hZC1mYWlsZWQtdGV4dCB7ZGlzcGxheTppbmxpbmU7fQ==]]></data>
	</file>
	<file>
	  <filename>/templates/js/fileuploader/fileuploader.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiAqIGh0dHA6Ly9naXRodWIuY29tL3ZhbHVtcy9maWxlLXVwbG9hZGVyCiAqIAogKiBNdWx0aXBsZSBmaWxlIHVwbG9hZCBjb21wb25lbnQgd2l0aCBwcm9ncmVzcy1iYXIsIGRyYWctYW5kLWRyb3AuIAogKiDCqSAyMDEwIEFuZHJldyBWYWx1bXMgKCBhbmRyZXcoYXQpdmFsdW1zLmNvbSApIAogKiAKICogTGljZW5zZWQgdW5kZXIgR05VIEdQTCAyIG9yIGxhdGVyIGFuZCBHTlUgTEdQTCAyIG9yIGxhdGVyLCBzZWUgbGljZW5zZS50eHQuCiAqLyAgICAKCi8vCi8vIEhlbHBlciBmdW5jdGlvbnMKLy8KCnZhciBxcSA9IHFxIHx8IHt9OwoKLyoqCiAqIEFkZHMgYWxsIG1pc3NpbmcgcHJvcGVydGllcyBmcm9tIHNlY29uZCBvYmogdG8gZmlyc3Qgb2JqCiAqLyAKcXEuZXh0ZW5kID0gZnVuY3Rpb24oZmlyc3QsIHNlY29uZCl7CiAgICBmb3IgKHZhciBwcm9wIGluIHNlY29uZCl7CiAgICAgICAgZmlyc3RbcHJvcF0gPSBzZWNvbmRbcHJvcF07CiAgICB9Cn07ICAKCi8qKgogKiBTZWFyY2hlcyBmb3IgYSBnaXZlbiBlbGVtZW50IGluIHRoZSBhcnJheSwgcmV0dXJucyAtMSBpZiBpdCBpcyBub3QgcHJlc2VudC4KICogQHBhcmFtIHtOdW1iZXJ9IFtmcm9tXSBUaGUgaW5kZXggYXQgd2hpY2ggdG8gYmVnaW4gdGhlIHNlYXJjaAogKi8KcXEuaW5kZXhPZiA9IGZ1bmN0aW9uKGFyciwgZWx0LCBmcm9tKXsKICAgIGlmIChhcnIuaW5kZXhPZikgcmV0dXJuIGFyci5pbmRleE9mKGVsdCwgZnJvbSk7CiAgICAKICAgIGZyb20gPSBmcm9tIHx8IDA7CiAgICB2YXIgbGVuID0gYXJyLmxlbmd0aDsgICAgCiAgICAKICAgIGlmIChmcm9tIDwgMCkgZnJvbSArPSBsZW47ICAKCiAgICBmb3IgKDsgZnJvbSA8IGxlbjsgZnJvbSsrKXsgIAogICAgICAgIGlmIChmcm9tIGluIGFyciAmJiBhcnJbZnJvbV0gPT09IGVsdCl7ICAKICAgICAgICAgICAgcmV0dXJuIGZyb207CiAgICAgICAgfQogICAgfSAgCiAgICByZXR1cm4gLTE7ICAKfTsgCiAgICAKcXEuZ2V0VW5pcXVlSWQgPSAoZnVuY3Rpb24oKXsKICAgIHZhciBpZCA9IDA7CiAgICByZXR1cm4gZnVuY3Rpb24oKXsgcmV0dXJuIGlkKys7IH07Cn0pKCk7CgovLwovLyBFdmVudHMKCnFxLmF0dGFjaCA9IGZ1bmN0aW9uKGVsZW1lbnQsIHR5cGUsIGZuKXsKICAgIGlmIChlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIpewogICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBmbiwgZmFsc2UpOwogICAgfSBlbHNlIGlmIChlbGVtZW50LmF0dGFjaEV2ZW50KXsKICAgICAgICBlbGVtZW50LmF0dGFjaEV2ZW50KCdvbicgKyB0eXBlLCBmbik7CiAgICB9Cn07CnFxLmRldGFjaCA9IGZ1bmN0aW9uKGVsZW1lbnQsIHR5cGUsIGZuKXsKICAgIGlmIChlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIpewogICAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCBmbiwgZmFsc2UpOwogICAgfSBlbHNlIGlmIChlbGVtZW50LmF0dGFjaEV2ZW50KXsKICAgICAgICBlbGVtZW50LmRldGFjaEV2ZW50KCdvbicgKyB0eXBlLCBmbik7CiAgICB9Cn07CgpxcS5wcmV2ZW50RGVmYXVsdCA9IGZ1bmN0aW9uKGUpewogICAgaWYgKGUucHJldmVudERlZmF1bHQpewogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIH0gZWxzZXsKICAgICAgICBlLnJldHVyblZhbHVlID0gZmFsc2U7CiAgICB9Cn07CgovLwovLyBOb2RlIG1hbmlwdWxhdGlvbnMKCi8qKgogKiBJbnNlcnQgbm9kZSBhIGJlZm9yZSBub2RlIGIuCiAqLwpxcS5pbnNlcnRCZWZvcmUgPSBmdW5jdGlvbihhLCBiKXsKICAgIGIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgYik7Cn07CnFxLnJlbW92ZSA9IGZ1bmN0aW9uKGVsZW1lbnQpewogICAgZWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW1lbnQpOwp9OwoKcXEuY29udGFpbnMgPSBmdW5jdGlvbihwYXJlbnQsIGRlc2NlbmRhbnQpeyAgICAgICAKICAgIC8vIGNvbXBhcmVwb3NpdGlvbiByZXR1cm5zIGZhbHNlIGluIHRoaXMgY2FzZQogICAgaWYgKHBhcmVudCA9PSBkZXNjZW5kYW50KSByZXR1cm4gdHJ1ZTsKICAgIAogICAgaWYgKHBhcmVudC5jb250YWlucyl7CiAgICAgICAgcmV0dXJuIHBhcmVudC5jb250YWlucyhkZXNjZW5kYW50KTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICEhKGRlc2NlbmRhbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24ocGFyZW50KSAmIDgpOwogICAgfQp9OwoKLyoqCiAqIENyZWF0ZXMgYW5kIHJldHVybnMgZWxlbWVudCBmcm9tIGh0bWwgc3RyaW5nCiAqIFVzZXMgaW5uZXJIVE1MIHRvIGNyZWF0ZSBhbiBlbGVtZW50CiAqLwpxcS50b0VsZW1lbnQgPSAoZnVuY3Rpb24oKXsKICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIHJldHVybiBmdW5jdGlvbihodG1sKXsKICAgICAgICBkaXYuaW5uZXJIVE1MID0gaHRtbDsKICAgICAgICB2YXIgZWxlbWVudCA9IGRpdi5maXJzdENoaWxkOwogICAgICAgIGRpdi5yZW1vdmVDaGlsZChlbGVtZW50KTsKICAgICAgICByZXR1cm4gZWxlbWVudDsKICAgIH07Cn0pKCk7CgovLwovLyBOb2RlIHByb3BlcnRpZXMgYW5kIGF0dHJpYnV0ZXMKCi8qKgogKiBTZXRzIHN0eWxlcyBmb3IgYW4gZWxlbWVudC4KICogRml4ZXMgb3BhY2l0eSBpbiBJRTYtOC4KICovCnFxLmNzcyA9IGZ1bmN0aW9uKGVsZW1lbnQsIHN0eWxlcyl7CiAgICBpZiAoc3R5bGVzLm9wYWNpdHkgIT0gbnVsbCl7CiAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LnN0eWxlLm9wYWNpdHkgIT0gJ3N0cmluZycgJiYgdHlwZW9mKGVsZW1lbnQuZmlsdGVycykgIT0gJ3VuZGVmaW5lZCcpewogICAgICAgICAgICBzdHlsZXMuZmlsdGVyID0gJ2FscGhhKG9wYWNpdHk9JyArIE1hdGgucm91bmQoMTAwICogc3R5bGVzLm9wYWNpdHkpICsgJyknOwogICAgICAgIH0KICAgIH0KICAgIHFxLmV4dGVuZChlbGVtZW50LnN0eWxlLCBzdHlsZXMpOwp9OwpxcS5oYXNDbGFzcyA9IGZ1bmN0aW9uKGVsZW1lbnQsIG5hbWUpewogICAgdmFyIHJlID0gbmV3IFJlZ0V4cCgnKF58ICknICsgbmFtZSArICcoIHwkKScpOwogICAgcmV0dXJuIHJlLnRlc3QoZWxlbWVudC5jbGFzc05hbWUpOwp9OwpxcS5hZGRDbGFzcyA9IGZ1bmN0aW9uKGVsZW1lbnQsIG5hbWUpewogICAgaWYgKCFxcS5oYXNDbGFzcyhlbGVtZW50LCBuYW1lKSl7CiAgICAgICAgZWxlbWVudC5jbGFzc05hbWUgKz0gJyAnICsgbmFtZTsKICAgIH0KfTsKcXEucmVtb3ZlQ2xhc3MgPSBmdW5jdGlvbihlbGVtZW50LCBuYW1lKXsKICAgIHZhciByZSA9IG5ldyBSZWdFeHAoJyhefCApJyArIG5hbWUgKyAnKCB8JCknKTsKICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gZWxlbWVudC5jbGFzc05hbWUucmVwbGFjZShyZSwgJyAnKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgIiIpOwp9OwpxcS5zZXRUZXh0ID0gZnVuY3Rpb24oZWxlbWVudCwgdGV4dCl7CiAgICBlbGVtZW50LmlubmVyVGV4dCA9IHRleHQ7CiAgICBlbGVtZW50LnRleHRDb250ZW50ID0gdGV4dDsKfTsKCi8vCi8vIFNlbGVjdGluZyBlbGVtZW50cwoKcXEuY2hpbGRyZW4gPSBmdW5jdGlvbihlbGVtZW50KXsKICAgIHZhciBjaGlsZHJlbiA9IFtdLAogICAgY2hpbGQgPSBlbGVtZW50LmZpcnN0Q2hpbGQ7CgogICAgd2hpbGUgKGNoaWxkKXsKICAgICAgICBpZiAoY2hpbGQubm9kZVR5cGUgPT0gMSl7CiAgICAgICAgICAgIGNoaWxkcmVuLnB1c2goY2hpbGQpOwogICAgICAgIH0KICAgICAgICBjaGlsZCA9IGNoaWxkLm5leHRTaWJsaW5nOwogICAgfQoKICAgIHJldHVybiBjaGlsZHJlbjsKfTsKCnFxLmdldEJ5Q2xhc3MgPSBmdW5jdGlvbihlbGVtZW50LCBjbGFzc05hbWUpewogICAgaWYgKGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCl7CiAgICAgICAgcmV0dXJuIGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLicgKyBjbGFzc05hbWUpOwogICAgfQoKICAgIHZhciByZXN1bHQgPSBbXTsKICAgIHZhciBjYW5kaWRhdGVzID0gZWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpOwogICAgdmFyIGxlbiA9IGNhbmRpZGF0ZXMubGVuZ3RoOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspewogICAgICAgIGlmIChxcS5oYXNDbGFzcyhjYW5kaWRhdGVzW2ldLCBjbGFzc05hbWUpKXsKICAgICAgICAgICAgcmVzdWx0LnB1c2goY2FuZGlkYXRlc1tpXSk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKfTsKCi8qKgogKiBvYmoydXJsKCkgdGFrZXMgYSBqc29uLW9iamVjdCBhcyBhcmd1bWVudCBhbmQgZ2VuZXJhdGVzCiAqIGEgcXVlcnlzdHJpbmcuIHByZXR0eSBtdWNoIGxpa2UgalF1ZXJ5LnBhcmFtKCkKICogCiAqIGhvdyB0byB1c2U6CiAqCiAqICAgIGBxcS5vYmoydXJsKHthOidiJyxjOidkJ30sJ2h0dHA6Ly9hbnkudXJsL3VwbG9hZD9vdGhlclBhcmFtPXZhbHVlJyk7YAogKgogKiB3aWxsIHJlc3VsdCBpbjoKICoKICogICAgYGh0dHA6Ly9hbnkudXJsL3VwbG9hZD9vdGhlclBhcmFtPXZhbHVlJmE9YiZjPWRgCiAqCiAqIEBwYXJhbSAgT2JqZWN0IEpTT04tT2JqZWN0CiAqIEBwYXJhbSAgU3RyaW5nIGN1cnJlbnQgcXVlcnlzdHJpbmctcGFydAogKiBAcmV0dXJuIFN0cmluZyBlbmNvZGVkIHF1ZXJ5c3RyaW5nCiAqLwpxcS5vYmoydXJsID0gZnVuY3Rpb24ob2JqLCB0ZW1wLCBwcmVmaXhEb25lKXsKICAgIHZhciB1cmlzdHJpbmdzID0gW10sCiAgICAgICAgcHJlZml4ID0gJyYnLAogICAgICAgIGFkZCA9IGZ1bmN0aW9uKG5leHRPYmosIGkpewogICAgICAgICAgICB2YXIgbmV4dFRlbXAgPSB0ZW1wIAogICAgICAgICAgICAgICAgPyAoL1xbXF0kLy50ZXN0KHRlbXApKSAvLyBwcmV2ZW50IGRvdWJsZS1lbmNvZGluZwogICAgICAgICAgICAgICAgICAgPyB0ZW1wCiAgICAgICAgICAgICAgICAgICA6IHRlbXArJ1snK2krJ10nCiAgICAgICAgICAgICAgICA6IGk7CiAgICAgICAgICAgIGlmICgobmV4dFRlbXAgIT0gJ3VuZGVmaW5lZCcpICYmIChpICE9ICd1bmRlZmluZWQnKSkgeyAgCiAgICAgICAgICAgICAgICB1cmlzdHJpbmdzLnB1c2goCiAgICAgICAgICAgICAgICAgICAgKHR5cGVvZiBuZXh0T2JqID09PSAnb2JqZWN0JykgCiAgICAgICAgICAgICAgICAgICAgICAgID8gcXEub2JqMnVybChuZXh0T2JqLCBuZXh0VGVtcCwgdHJ1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgOiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5leHRPYmopID09PSAnW29iamVjdCBGdW5jdGlvbl0nKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBlbmNvZGVVUklDb21wb25lbnQobmV4dFRlbXApICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KG5leHRPYmooKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZW5jb2RlVVJJQ29tcG9uZW50KG5leHRUZW1wKSArICc9JyArIGVuY29kZVVSSUNvbXBvbmVudChuZXh0T2JqKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9OyAKCiAgICBpZiAoIXByZWZpeERvbmUgJiYgdGVtcCkgewogICAgICBwcmVmaXggPSAoL1w/Ly50ZXN0KHRlbXApKSA/ICgvXD8kLy50ZXN0KHRlbXApKSA/ICcnIDogJyYnIDogJz8nOwogICAgICB1cmlzdHJpbmdzLnB1c2godGVtcCk7CiAgICAgIHVyaXN0cmluZ3MucHVzaChxcS5vYmoydXJsKG9iaikpOwogICAgfSBlbHNlIGlmICgoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikgPT09ICdbb2JqZWN0IEFycmF5XScpICYmICh0eXBlb2Ygb2JqICE9ICd1bmRlZmluZWQnKSApIHsKICAgICAgICAvLyB3ZSB3b250IHVzZSBhIGZvci1pbi1sb29wIG9uIGFuIGFycmF5IChwZXJmb3JtYW5jZSkKICAgICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gb2JqLmxlbmd0aDsgaSA8IGxlbjsgKytpKXsKICAgICAgICAgICAgYWRkKG9ialtpXSwgaSk7CiAgICAgICAgfQogICAgfSBlbHNlIGlmICgodHlwZW9mIG9iaiAhPSAndW5kZWZpbmVkJykgJiYgKG9iaiAhPT0gbnVsbCkgJiYgKHR5cGVvZiBvYmogPT09ICJvYmplY3QiKSl7CiAgICAgICAgLy8gZm9yIGFueXRoaW5nIGVsc2UgYnV0IGEgc2NhbGFyLCB3ZSB3aWxsIHVzZSBmb3ItaW4tbG9vcAogICAgICAgIGZvciAodmFyIGkgaW4gb2JqKXsKICAgICAgICAgICAgYWRkKG9ialtpXSwgaSk7CiAgICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgICB1cmlzdHJpbmdzLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KHRlbXApICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KG9iaikpOwogICAgfQoKICAgIHJldHVybiB1cmlzdHJpbmdzLmpvaW4ocHJlZml4KQogICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvXiYvLCAnJykKICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoLyUyMC9nLCAnKycpOyAKfTsKCi8vCi8vCi8vIFVwbG9hZGVyIENsYXNzZXMKLy8KLy8KCnZhciBxcSA9IHFxIHx8IHt9OwogICAgCi8qKgogKiBDcmVhdGVzIHVwbG9hZCBidXR0b24sIHZhbGlkYXRlcyB1cGxvYWQsIGJ1dCBkb2Vzbid0IGNyZWF0ZSBmaWxlIGxpc3Qgb3IgZGQuIAogKi8KcXEuRmlsZVVwbG9hZGVyQmFzaWMgPSBmdW5jdGlvbihvKXsKICAgIHRoaXMuX29wdGlvbnMgPSB7CiAgICAgICAgLy8gc2V0IHRvIHRydWUgdG8gc2VlIHRoZSBzZXJ2ZXIgcmVzcG9uc2UKICAgICAgICBkZWJ1ZzogZmFsc2UsCiAgICAgICAgYWN0aW9uOiAnL3NlcnZlci91cGxvYWQnLAogICAgICAgIHBhcmFtczoge30sCiAgICAgICAgYnV0dG9uOiBudWxsLAogICAgICAgIG11bHRpcGxlOiB0cnVlLAogICAgICAgIG1heENvbm5lY3Rpb25zOiAzLAogICAgICAgIC8vIHZhbGlkYXRpb24gICAgICAgIAogICAgICAgIGFsbG93ZWRFeHRlbnNpb25zOiBbXSwgICAgICAgICAgICAgICAKICAgICAgICBzaXplTGltaXQ6IDAsICAgCiAgICAgICAgbWluU2l6ZUxpbWl0OiAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgLy8gZXZlbnRzCiAgICAgICAgLy8gcmV0dXJuIGZhbHNlIHRvIGNhbmNlbCBzdWJtaXQKICAgICAgICBvblN1Ym1pdDogZnVuY3Rpb24oaWQsIGZpbGVOYW1lKXt9LAogICAgICAgIG9uUHJvZ3Jlc3M6IGZ1bmN0aW9uKGlkLCBmaWxlTmFtZSwgbG9hZGVkLCB0b3RhbCl7fSwKICAgICAgICBvbkNvbXBsZXRlOiBmdW5jdGlvbihpZCwgZmlsZU5hbWUsIHJlc3BvbnNlSlNPTil7fSwKICAgICAgICBvbkNhbmNlbDogZnVuY3Rpb24oaWQsIGZpbGVOYW1lKXt9LAogICAgICAgIC8vIG1lc3NhZ2VzICAgICAgICAgICAgICAgIAogICAgICAgIG1lc3NhZ2VzOiB7CiAgICAgICAgICAgIHR5cGVFcnJvcjogIntmaWxlfSBoYXMgaW52YWxpZCBleHRlbnNpb24uIE9ubHkge2V4dGVuc2lvbnN9IGFyZSBhbGxvd2VkLiIsCiAgICAgICAgICAgIHNpemVFcnJvcjogIntmaWxlfSBpcyB0b28gbGFyZ2UsIG1heGltdW0gZmlsZSBzaXplIGlzIHtzaXplTGltaXR9LiIsCiAgICAgICAgICAgIG1pblNpemVFcnJvcjogIntmaWxlfSBpcyB0b28gc21hbGwsIG1pbmltdW0gZmlsZSBzaXplIGlzIHttaW5TaXplTGltaXR9LiIsCiAgICAgICAgICAgIGVtcHR5RXJyb3I6ICJ7ZmlsZX0gaXMgZW1wdHksIHBsZWFzZSBzZWxlY3QgZmlsZXMgYWdhaW4gd2l0aG91dCBpdC4iLAogICAgICAgICAgICBvbkxlYXZlOiAiVGhlIGZpbGVzIGFyZSBiZWluZyB1cGxvYWRlZCwgaWYgeW91IGxlYXZlIG5vdyB0aGUgdXBsb2FkIHdpbGwgYmUgY2FuY2VsbGVkLiIgICAgICAgICAgICAKICAgICAgICB9LAogICAgICAgIHNob3dNZXNzYWdlOiBmdW5jdGlvbihtZXNzYWdlKXsKICAgICAgICAgICAgYWxlcnQobWVzc2FnZSk7CiAgICAgICAgfSAgICAgICAgICAgICAgIAogICAgfTsKICAgIHFxLmV4dGVuZCh0aGlzLl9vcHRpb25zLCBvKTsKICAgICAgICAKICAgIC8vIG51bWJlciBvZiBmaWxlcyBiZWluZyB1cGxvYWRlZAogICAgdGhpcy5fZmlsZXNJblByb2dyZXNzID0gMDsKICAgIHRoaXMuX2hhbmRsZXIgPSB0aGlzLl9jcmVhdGVVcGxvYWRIYW5kbGVyKCk7IAogICAgCiAgICBpZiAodGhpcy5fb3B0aW9ucy5idXR0b24peyAKICAgICAgICB0aGlzLl9idXR0b24gPSB0aGlzLl9jcmVhdGVVcGxvYWRCdXR0b24odGhpcy5fb3B0aW9ucy5idXR0b24pOwogICAgfQogICAgICAgICAgICAgICAgICAgICAgICAKICAgIHRoaXMuX3ByZXZlbnRMZWF2ZUluUHJvZ3Jlc3MoKTsgICAgICAgICAKfTsKICAgCnFxLkZpbGVVcGxvYWRlckJhc2ljLnByb3RvdHlwZSA9IHsKICAgIHNldFBhcmFtczogZnVuY3Rpb24ocGFyYW1zKXsKICAgICAgICB0aGlzLl9vcHRpb25zLnBhcmFtcyA9IHBhcmFtczsKICAgIH0sCiAgICBnZXRJblByb2dyZXNzOiBmdW5jdGlvbigpewogICAgICAgIHJldHVybiB0aGlzLl9maWxlc0luUHJvZ3Jlc3M7ICAgICAgICAgCiAgICB9LAogICAgX2NyZWF0ZVVwbG9hZEJ1dHRvbjogZnVuY3Rpb24oZWxlbWVudCl7CiAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwogICAgICAgIAogICAgICAgIHJldHVybiBuZXcgcXEuVXBsb2FkQnV0dG9uKHsKICAgICAgICAgICAgZWxlbWVudDogZWxlbWVudCwKICAgICAgICAgICAgbXVsdGlwbGU6IHRoaXMuX29wdGlvbnMubXVsdGlwbGUgJiYgcXEuVXBsb2FkSGFuZGxlclhoci5pc1N1cHBvcnRlZCgpLAogICAgICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24oaW5wdXQpewogICAgICAgICAgICAgICAgc2VsZi5fb25JbnB1dENoYW5nZShpbnB1dCk7CiAgICAgICAgICAgIH0gICAgICAgIAogICAgICAgIH0pOyAgICAgICAgICAgCiAgICB9LCAgICAKICAgIF9jcmVhdGVVcGxvYWRIYW5kbGVyOiBmdW5jdGlvbigpewogICAgICAgIHZhciBzZWxmID0gdGhpcywKICAgICAgICAgICAgaGFuZGxlckNsYXNzOyAgICAgICAgCiAgICAgICAgCiAgICAgICAgaWYocXEuVXBsb2FkSGFuZGxlclhoci5pc1N1cHBvcnRlZCgpKXsgICAgICAgICAgIAogICAgICAgICAgICBoYW5kbGVyQ2xhc3MgPSAnVXBsb2FkSGFuZGxlclhocic7ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaGFuZGxlckNsYXNzID0gJ1VwbG9hZEhhbmRsZXJGb3JtJzsKICAgICAgICB9CgogICAgICAgIHZhciBoYW5kbGVyID0gbmV3IHFxW2hhbmRsZXJDbGFzc10oewogICAgICAgICAgICBkZWJ1ZzogdGhpcy5fb3B0aW9ucy5kZWJ1ZywKICAgICAgICAgICAgYWN0aW9uOiB0aGlzLl9vcHRpb25zLmFjdGlvbiwgICAgICAgICAKICAgICAgICAgICAgbWF4Q29ubmVjdGlvbnM6IHRoaXMuX29wdGlvbnMubWF4Q29ubmVjdGlvbnMsICAgCiAgICAgICAgICAgIG9uUHJvZ3Jlc3M6IGZ1bmN0aW9uKGlkLCBmaWxlTmFtZSwgbG9hZGVkLCB0b3RhbCl7ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgc2VsZi5fb25Qcm9ncmVzcyhpZCwgZmlsZU5hbWUsIGxvYWRlZCwgdG90YWwpOwogICAgICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5vblByb2dyZXNzKGlkLCBmaWxlTmFtZSwgbG9hZGVkLCB0b3RhbCk7ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgfSwgICAgICAgICAgICAKICAgICAgICAgICAgb25Db21wbGV0ZTogZnVuY3Rpb24oaWQsIGZpbGVOYW1lLCByZXN1bHQpewogICAgICAgICAgICAgICAgc2VsZi5fb25Db21wbGV0ZShpZCwgZmlsZU5hbWUsIHJlc3VsdCk7CiAgICAgICAgICAgICAgICBzZWxmLl9vcHRpb25zLm9uQ29tcGxldGUoaWQsIGZpbGVOYW1lLCByZXN1bHQpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBvbkNhbmNlbDogZnVuY3Rpb24oaWQsIGZpbGVOYW1lKXsKICAgICAgICAgICAgICAgIHNlbGYuX29uQ2FuY2VsKGlkLCBmaWxlTmFtZSk7CiAgICAgICAgICAgICAgICBzZWxmLl9vcHRpb25zLm9uQ2FuY2VsKGlkLCBmaWxlTmFtZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIGhhbmRsZXI7CiAgICB9LCAgICAKICAgIF9wcmV2ZW50TGVhdmVJblByb2dyZXNzOiBmdW5jdGlvbigpewogICAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgICAKICAgICAgICBxcS5hdHRhY2god2luZG93LCAnYmVmb3JldW5sb2FkJywgZnVuY3Rpb24oZSl7CiAgICAgICAgICAgIGlmICghc2VsZi5fZmlsZXNJblByb2dyZXNzKXtyZXR1cm47fQogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIGUgPSBlIHx8IHdpbmRvdy5ldmVudDsKICAgICAgICAgICAgLy8gZm9yIGllLCBmZgogICAgICAgICAgICBlLnJldHVyblZhbHVlID0gc2VsZi5fb3B0aW9ucy5tZXNzYWdlcy5vbkxlYXZlOwogICAgICAgICAgICAvLyBmb3Igd2Via2l0CiAgICAgICAgICAgIHJldHVybiBzZWxmLl9vcHRpb25zLm1lc3NhZ2VzLm9uTGVhdmU7ICAgICAgICAgICAgIAogICAgICAgIH0pOyAgICAgICAgCiAgICB9LCAgICAKICAgIF9vblN1Ym1pdDogZnVuY3Rpb24oaWQsIGZpbGVOYW1lKXsKICAgICAgICB0aGlzLl9maWxlc0luUHJvZ3Jlc3MrKzsgIAogICAgfSwKICAgIF9vblByb2dyZXNzOiBmdW5jdGlvbihpZCwgZmlsZU5hbWUsIGxvYWRlZCwgdG90YWwpeyAgICAgICAgCiAgICB9LAogICAgX29uQ29tcGxldGU6IGZ1bmN0aW9uKGlkLCBmaWxlTmFtZSwgcmVzdWx0KXsKICAgICAgICB0aGlzLl9maWxlc0luUHJvZ3Jlc3MtLTsgICAgICAgICAgICAgICAgIAogICAgICAgIGlmIChyZXN1bHQuZXJyb3IpewogICAgICAgICAgICB0aGlzLl9vcHRpb25zLnNob3dNZXNzYWdlKHJlc3VsdC5lcnJvcik7CiAgICAgICAgfSAgICAgICAgICAgICAKICAgIH0sCiAgICBfb25DYW5jZWw6IGZ1bmN0aW9uKGlkLCBmaWxlTmFtZSl7CiAgICAgICAgdGhpcy5fZmlsZXNJblByb2dyZXNzLS07ICAgICAgICAKICAgIH0sCiAgICBfb25JbnB1dENoYW5nZTogZnVuY3Rpb24oaW5wdXQpewogICAgICAgIGlmICh0aGlzLl9oYW5kbGVyIGluc3RhbmNlb2YgcXEuVXBsb2FkSGFuZGxlclhocil7ICAgICAgICAgICAgICAgIAogICAgICAgICAgICB0aGlzLl91cGxvYWRGaWxlTGlzdChpbnB1dC5maWxlcyk7ICAgICAgICAgICAgICAgICAgIAogICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgIAogICAgICAgICAgICBpZiAodGhpcy5fdmFsaWRhdGVGaWxlKGlucHV0KSl7ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdGhpcy5fdXBsb2FkRmlsZShpbnB1dCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgfSAgICAgICAgICAgICAgIAogICAgICAgIHRoaXMuX2J1dHRvbi5yZXNldCgpOyAgIAogICAgfSwgIAogICAgX3VwbG9hZEZpbGVMaXN0OiBmdW5jdGlvbihmaWxlcyl7CiAgICAgICAgZm9yICh2YXIgaT0wOyBpPGZpbGVzLmxlbmd0aDsgaSsrKXsKICAgICAgICAgICAgaWYgKCAhdGhpcy5fdmFsaWRhdGVGaWxlKGZpbGVzW2ldKSl7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0gICAgICAgICAgICAKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZm9yICh2YXIgaT0wOyBpPGZpbGVzLmxlbmd0aDsgaSsrKXsKICAgICAgICAgICAgdGhpcy5fdXBsb2FkRmlsZShmaWxlc1tpXSk7ICAgICAgICAKICAgICAgICB9ICAgICAgICAKICAgIH0sICAgICAgIAogICAgX3VwbG9hZEZpbGU6IGZ1bmN0aW9uKGZpbGVDb250YWluZXIpeyAgICAgIAogICAgICAgIHZhciBpZCA9IHRoaXMuX2hhbmRsZXIuYWRkKGZpbGVDb250YWluZXIpOwogICAgICAgIHZhciBmaWxlTmFtZSA9IHRoaXMuX2hhbmRsZXIuZ2V0TmFtZShpZCk7CiAgICAgICAgCiAgICAgICAgaWYgKHRoaXMuX29wdGlvbnMub25TdWJtaXQoaWQsIGZpbGVOYW1lKSAhPT0gZmFsc2UpewogICAgICAgICAgICB0aGlzLl9vblN1Ym1pdChpZCwgZmlsZU5hbWUpOwogICAgICAgICAgICB0aGlzLl9oYW5kbGVyLnVwbG9hZChpZCwgdGhpcy5fb3B0aW9ucy5wYXJhbXMpOwogICAgICAgIH0KICAgIH0sICAgICAgCiAgICBfdmFsaWRhdGVGaWxlOiBmdW5jdGlvbihmaWxlKXsKICAgICAgICB2YXIgbmFtZSwgc2l6ZTsKICAgICAgICAKICAgICAgICBpZiAoZmlsZS52YWx1ZSl7CiAgICAgICAgICAgIC8vIGl0IGlzIGEgZmlsZSBpbnB1dCAgICAgICAgICAgIAogICAgICAgICAgICAvLyBnZXQgaW5wdXQgdmFsdWUgYW5kIHJlbW92ZSBwYXRoIHRvIG5vcm1hbGl6ZQogICAgICAgICAgICBuYW1lID0gZmlsZS52YWx1ZS5yZXBsYWNlKC8uKihcL3xcXCkvLCAiIik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gZml4IG1pc3NpbmcgcHJvcGVydGllcyBpbiBTYWZhcmkKICAgICAgICAgICAgbmFtZSA9IGZpbGUuZmlsZU5hbWUgIT0gbnVsbCA/IGZpbGUuZmlsZU5hbWUgOiBmaWxlLm5hbWU7CiAgICAgICAgICAgIHNpemUgPSBmaWxlLmZpbGVTaXplICE9IG51bGwgPyBmaWxlLmZpbGVTaXplIDogZmlsZS5zaXplOwogICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAKICAgICAgICBpZiAoISB0aGlzLl9pc0FsbG93ZWRFeHRlbnNpb24obmFtZSkpeyAgICAgICAgICAgIAogICAgICAgICAgICB0aGlzLl9lcnJvcigndHlwZUVycm9yJywgbmFtZSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgCiAgICAgICAgfSBlbHNlIGlmIChzaXplID09PSAwKXsgICAgICAgICAgICAKICAgICAgICAgICAgdGhpcy5fZXJyb3IoJ2VtcHR5RXJyb3InLCBuYW1lKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIH0gZWxzZSBpZiAoc2l6ZSAmJiB0aGlzLl9vcHRpb25zLnNpemVMaW1pdCAmJiBzaXplID4gdGhpcy5fb3B0aW9ucy5zaXplTGltaXQpeyAgICAgICAgICAgIAogICAgICAgICAgICB0aGlzLl9lcnJvcignc2l6ZUVycm9yJywgbmFtZSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgfSBlbHNlIGlmIChzaXplICYmIHNpemUgPCB0aGlzLl9vcHRpb25zLm1pblNpemVMaW1pdCl7CiAgICAgICAgICAgIHRoaXMuX2Vycm9yKCdtaW5TaXplRXJyb3InLCBuYW1lKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAgICAgICAgIAogICAgICAgIH0KICAgICAgICAKICAgICAgICByZXR1cm4gdHJ1ZTsgICAgICAgICAgICAgICAgCiAgICB9LAogICAgX2Vycm9yOiBmdW5jdGlvbihjb2RlLCBmaWxlTmFtZSl7CiAgICAgICAgdmFyIG1lc3NhZ2UgPSB0aGlzLl9vcHRpb25zLm1lc3NhZ2VzW2NvZGVdOyAgICAgICAgCiAgICAgICAgZnVuY3Rpb24gcihuYW1lLCByZXBsYWNlbWVudCl7IG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UobmFtZSwgcmVwbGFjZW1lbnQpOyB9CiAgICAgICAgCiAgICAgICAgcigne2ZpbGV9JywgdGhpcy5fZm9ybWF0RmlsZU5hbWUoZmlsZU5hbWUpKTsgICAgICAgIAogICAgICAgIHIoJ3tleHRlbnNpb25zfScsIHRoaXMuX29wdGlvbnMuYWxsb3dlZEV4dGVuc2lvbnMuam9pbignLCAnKSk7CiAgICAgICAgcigne3NpemVMaW1pdH0nLCB0aGlzLl9mb3JtYXRTaXplKHRoaXMuX29wdGlvbnMuc2l6ZUxpbWl0KSk7CiAgICAgICAgcigne21pblNpemVMaW1pdH0nLCB0aGlzLl9mb3JtYXRTaXplKHRoaXMuX29wdGlvbnMubWluU2l6ZUxpbWl0KSk7CiAgICAgICAgCiAgICAgICAgdGhpcy5fb3B0aW9ucy5zaG93TWVzc2FnZShtZXNzYWdlKTsgICAgICAgICAgICAgICAgCiAgICB9LAogICAgX2Zvcm1hdEZpbGVOYW1lOiBmdW5jdGlvbihuYW1lKXsKICAgICAgICBpZiAobmFtZS5sZW5ndGggPiAzMyl7CiAgICAgICAgICAgIG5hbWUgPSBuYW1lLnNsaWNlKDAsIDE5KSArICcuLi4nICsgbmFtZS5zbGljZSgtMTMpOyAgICAKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5hbWU7CiAgICB9LAogICAgX2lzQWxsb3dlZEV4dGVuc2lvbjogZnVuY3Rpb24oZmlsZU5hbWUpewogICAgICAgIHZhciBleHQgPSAoLTEgIT09IGZpbGVOYW1lLmluZGV4T2YoJy4nKSkgPyBmaWxlTmFtZS5yZXBsYWNlKC8uKlsuXS8sICcnKS50b0xvd2VyQ2FzZSgpIDogJyc7CiAgICAgICAgdmFyIGFsbG93ZWQgPSB0aGlzLl9vcHRpb25zLmFsbG93ZWRFeHRlbnNpb25zOwogICAgICAgIAogICAgICAgIGlmICghYWxsb3dlZC5sZW5ndGgpe3JldHVybiB0cnVlO30gICAgICAgIAogICAgICAgIAogICAgICAgIGZvciAodmFyIGk9MDsgaTxhbGxvd2VkLmxlbmd0aDsgaSsrKXsKICAgICAgICAgICAgaWYgKGFsbG93ZWRbaV0udG9Mb3dlckNhc2UoKSA9PSBleHQpeyByZXR1cm4gdHJ1ZTt9ICAgIAogICAgICAgIH0KICAgICAgICAKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9LCAgICAKICAgIF9mb3JtYXRTaXplOiBmdW5jdGlvbihieXRlcyl7CiAgICAgICAgdmFyIGkgPSAtMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICBkbyB7CiAgICAgICAgICAgIGJ5dGVzID0gYnl0ZXMgLyAxMDI0OwogICAgICAgICAgICBpKys7ICAKICAgICAgICB9IHdoaWxlIChieXRlcyA+IDk5KTsKICAgICAgICAKICAgICAgICByZXR1cm4gTWF0aC5tYXgoYnl0ZXMsIDAuMSkudG9GaXhlZCgxKSArIFsna0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInLCAnRUInXVtpXTsgICAgICAgICAgCiAgICB9Cn07CiAgICAKICAgICAgIAovKioKICogQ2xhc3MgdGhhdCBjcmVhdGVzIHVwbG9hZCB3aWRnZXQgd2l0aCBkcmFnLWFuZC1kcm9wIGFuZCBmaWxlIGxpc3QKICogQGluaGVyaXRzIHFxLkZpbGVVcGxvYWRlckJhc2ljCiAqLwpxcS5GaWxlVXBsb2FkZXIgPSBmdW5jdGlvbihvKXsKICAgIC8vIGNhbGwgcGFyZW50IGNvbnN0cnVjdG9yCiAgICBxcS5GaWxlVXBsb2FkZXJCYXNpYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgCiAgICAvLyBhZGRpdGlvbmFsIG9wdGlvbnMgICAgCiAgICBxcS5leHRlbmQodGhpcy5fb3B0aW9ucywgewogICAgICAgIGVsZW1lbnQ6IG51bGwsCiAgICAgICAgLy8gaWYgc2V0LCB3aWxsIGJlIHVzZWQgaW5zdGVhZCBvZiBxcS11cGxvYWQtbGlzdCBpbiB0ZW1wbGF0ZQogICAgICAgIGxpc3RFbGVtZW50OiBudWxsLAogICAgICAgICAgICAgICAgCiAgICAgICAgdGVtcGxhdGU6ICc8ZGl2IGNsYXNzPSJxcS11cGxvYWRlciI+JyArIAogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InFxLXVwbG9hZC1kcm9wLWFyZWEiPjxzcGFuPkRyb3AgZmlsZXMgaGVyZSB0byB1cGxvYWQ8L3NwYW4+PC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0icXEtdXBsb2FkLWJ1dHRvbiI+VXBsb2FkIGEgZmlsZTwvZGl2PicgKwogICAgICAgICAgICAgICAgJzx1bCBjbGFzcz0icXEtdXBsb2FkLWxpc3QiPjwvdWw+JyArIAogICAgICAgICAgICAgJzwvZGl2PicsCgogICAgICAgIC8vIHRlbXBsYXRlIGZvciBvbmUgaXRlbSBpbiBmaWxlIGxpc3QKICAgICAgICBmaWxlVGVtcGxhdGU6ICc8bGk+JyArCiAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InFxLXVwbG9hZC1maWxlIj48L3NwYW4+JyArCiAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InFxLXVwbG9hZC1zcGlubmVyIj48L3NwYW4+JyArCiAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InFxLXVwbG9hZC1zaXplIj48L3NwYW4+JyArCiAgICAgICAgICAgICAgICAnPGEgY2xhc3M9InFxLXVwbG9hZC1jYW5jZWwiIGhyZWY9IiMiPkNhbmNlbDwvYT4nICsKICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0icXEtdXBsb2FkLWZhaWxlZC10ZXh0Ij5GYWlsZWQ8L3NwYW4+JyArCiAgICAgICAgICAgICc8L2xpPicsICAgICAgICAKICAgICAgICAKICAgICAgICBjbGFzc2VzOiB7CiAgICAgICAgICAgIC8vIHVzZWQgdG8gZ2V0IGVsZW1lbnRzIGZyb20gdGVtcGxhdGVzCiAgICAgICAgICAgIGJ1dHRvbjogJ3FxLXVwbG9hZC1idXR0b24nLAogICAgICAgICAgICBkcm9wOiAncXEtdXBsb2FkLWRyb3AtYXJlYScsCiAgICAgICAgICAgIGRyb3BBY3RpdmU6ICdxcS11cGxvYWQtZHJvcC1hcmVhLWFjdGl2ZScsCiAgICAgICAgICAgIGxpc3Q6ICdxcS11cGxvYWQtbGlzdCcsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBmaWxlOiAncXEtdXBsb2FkLWZpbGUnLAogICAgICAgICAgICBzcGlubmVyOiAncXEtdXBsb2FkLXNwaW5uZXInLAogICAgICAgICAgICBzaXplOiAncXEtdXBsb2FkLXNpemUnLAogICAgICAgICAgICBjYW5jZWw6ICdxcS11cGxvYWQtY2FuY2VsJywKCiAgICAgICAgICAgIC8vIGFkZGVkIHRvIGxpc3QgaXRlbSB3aGVuIHVwbG9hZCBjb21wbGV0ZXMKICAgICAgICAgICAgLy8gdXNlZCBpbiBjc3MgdG8gaGlkZSBwcm9ncmVzcyBzcGlubmVyCiAgICAgICAgICAgIHN1Y2Nlc3M6ICdxcS11cGxvYWQtc3VjY2VzcycsCiAgICAgICAgICAgIGZhaWw6ICdxcS11cGxvYWQtZmFpbCcKICAgICAgICB9CiAgICB9KTsKICAgIC8vIG92ZXJ3cml0ZSBvcHRpb25zIHdpdGggdXNlciBzdXBwbGllZCAgICAKICAgIHFxLmV4dGVuZCh0aGlzLl9vcHRpb25zLCBvKTsgICAgICAgCgogICAgdGhpcy5fZWxlbWVudCA9IHRoaXMuX29wdGlvbnMuZWxlbWVudDsKICAgIHRoaXMuX2VsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5fb3B0aW9ucy50ZW1wbGF0ZTsgICAgICAgIAogICAgdGhpcy5fbGlzdEVsZW1lbnQgPSB0aGlzLl9vcHRpb25zLmxpc3RFbGVtZW50IHx8IHRoaXMuX2ZpbmQodGhpcy5fZWxlbWVudCwgJ2xpc3QnKTsKICAgIAogICAgdGhpcy5fY2xhc3NlcyA9IHRoaXMuX29wdGlvbnMuY2xhc3NlczsKICAgICAgICAKICAgIHRoaXMuX2J1dHRvbiA9IHRoaXMuX2NyZWF0ZVVwbG9hZEJ1dHRvbih0aGlzLl9maW5kKHRoaXMuX2VsZW1lbnQsICdidXR0b24nKSk7ICAgICAgICAKICAgIAogICAgdGhpcy5fYmluZENhbmNlbEV2ZW50KCk7CiAgICB0aGlzLl9zZXR1cERyYWdEcm9wKCk7Cn07CgovLyBpbmhlcml0IGZyb20gQmFzaWMgVXBsb2FkZXIKcXEuZXh0ZW5kKHFxLkZpbGVVcGxvYWRlci5wcm90b3R5cGUsIHFxLkZpbGVVcGxvYWRlckJhc2ljLnByb3RvdHlwZSk7CgpxcS5leHRlbmQocXEuRmlsZVVwbG9hZGVyLnByb3RvdHlwZSwgewogICAgLyoqCiAgICAgKiBHZXRzIG9uZSBvZiB0aGUgZWxlbWVudHMgbGlzdGVkIGluIHRoaXMuX29wdGlvbnMuY2xhc3NlcwogICAgICoqLwogICAgX2ZpbmQ6IGZ1bmN0aW9uKHBhcmVudCwgdHlwZSl7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICB2YXIgZWxlbWVudCA9IHFxLmdldEJ5Q2xhc3MocGFyZW50LCB0aGlzLl9vcHRpb25zLmNsYXNzZXNbdHlwZV0pWzBdOyAgICAgICAgCiAgICAgICAgaWYgKCFlbGVtZW50KXsKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdlbGVtZW50IG5vdCBmb3VuZCAnICsgdHlwZSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHJldHVybiBlbGVtZW50OwogICAgfSwKICAgIF9zZXR1cERyYWdEcm9wOiBmdW5jdGlvbigpewogICAgICAgIHZhciBzZWxmID0gdGhpcywKICAgICAgICAgICAgZHJvcEFyZWEgPSB0aGlzLl9maW5kKHRoaXMuX2VsZW1lbnQsICdkcm9wJyk7ICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICAgIHZhciBkeiA9IG5ldyBxcS5VcGxvYWREcm9wWm9uZSh7CiAgICAgICAgICAgIGVsZW1lbnQ6IGRyb3BBcmVhLAogICAgICAgICAgICBvbkVudGVyOiBmdW5jdGlvbihlKXsKICAgICAgICAgICAgICAgIHFxLmFkZENsYXNzKGRyb3BBcmVhLCBzZWxmLl9jbGFzc2VzLmRyb3BBY3RpdmUpOwogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgb25MZWF2ZTogZnVuY3Rpb24oZSl7CiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBvbkxlYXZlTm90RGVzY2VuZGFudHM6IGZ1bmN0aW9uKGUpewogICAgICAgICAgICAgICAgcXEucmVtb3ZlQ2xhc3MoZHJvcEFyZWEsIHNlbGYuX2NsYXNzZXMuZHJvcEFjdGl2ZSk7ICAKICAgICAgICAgICAgfSwKICAgICAgICAgICAgb25Ecm9wOiBmdW5jdGlvbihlKXsKICAgICAgICAgICAgICAgIGRyb3BBcmVhLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICBxcS5yZW1vdmVDbGFzcyhkcm9wQXJlYSwgc2VsZi5fY2xhc3Nlcy5kcm9wQWN0aXZlKTsKICAgICAgICAgICAgICAgIHNlbGYuX3VwbG9hZEZpbGVMaXN0KGUuZGF0YVRyYW5zZmVyLmZpbGVzKTsgICAgCiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICAgICAgICAgIAogICAgICAgIGRyb3BBcmVhLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CgogICAgICAgIHFxLmF0dGFjaChkb2N1bWVudCwgJ2RyYWdlbnRlcicsIGZ1bmN0aW9uKGUpeyAgICAgCiAgICAgICAgICAgIGlmICghZHouX2lzVmFsaWRGaWxlRHJhZyhlKSkgcmV0dXJuOyAKICAgICAgICAgICAgCiAgICAgICAgICAgIGRyb3BBcmVhLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOyAgICAgICAgICAgIAogICAgICAgIH0pOyAgICAgICAgICAgICAgICAgCiAgICAgICAgcXEuYXR0YWNoKGRvY3VtZW50LCAnZHJhZ2xlYXZlJywgZnVuY3Rpb24oZSl7CiAgICAgICAgICAgIGlmICghZHouX2lzVmFsaWRGaWxlRHJhZyhlKSkgcmV0dXJuOyAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHJlbGF0ZWRUYXJnZXQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGUuY2xpZW50WCwgZS5jbGllbnRZKTsKICAgICAgICAgICAgLy8gb25seSBmaXJlIHdoZW4gbGVhdmluZyBkb2N1bWVudCBvdXQKICAgICAgICAgICAgaWYgKCAhIHJlbGF0ZWRUYXJnZXQgfHwgcmVsYXRlZFRhcmdldC5ub2RlTmFtZSA9PSAiSFRNTCIpeyAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgZHJvcEFyZWEuc3R5bGUuZGlzcGxheSA9ICdub25lJzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICB9CiAgICAgICAgfSk7ICAgICAgICAgICAgICAgIAogICAgfSwKICAgIF9vblN1Ym1pdDogZnVuY3Rpb24oaWQsIGZpbGVOYW1lKXsKICAgICAgICBxcS5GaWxlVXBsb2FkZXJCYXNpYy5wcm90b3R5cGUuX29uU3VibWl0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgdGhpcy5fYWRkVG9MaXN0KGlkLCBmaWxlTmFtZSk7ICAKICAgIH0sCiAgICBfb25Qcm9ncmVzczogZnVuY3Rpb24oaWQsIGZpbGVOYW1lLCBsb2FkZWQsIHRvdGFsKXsKICAgICAgICBxcS5GaWxlVXBsb2FkZXJCYXNpYy5wcm90b3R5cGUuX29uUHJvZ3Jlc3MuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKCiAgICAgICAgdmFyIGl0ZW0gPSB0aGlzLl9nZXRJdGVtQnlGaWxlSWQoaWQpOwogICAgICAgIHZhciBzaXplID0gdGhpcy5fZmluZChpdGVtLCAnc2l6ZScpOwogICAgICAgIHNpemUuc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUnOwogICAgICAgIAogICAgICAgIHZhciB0ZXh0OyAKICAgICAgICBpZiAobG9hZGVkICE9IHRvdGFsKXsKICAgICAgICAgICAgdGV4dCA9IE1hdGgucm91bmQobG9hZGVkIC8gdG90YWwgKiAxMDApICsgJyUgZnJvbSAnICsgdGhpcy5fZm9ybWF0U2l6ZSh0b3RhbCk7CiAgICAgICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICB0ZXh0ID0gdGhpcy5fZm9ybWF0U2l6ZSh0b3RhbCk7CiAgICAgICAgfSAgICAgICAgICAKICAgICAgICAKICAgICAgICBxcS5zZXRUZXh0KHNpemUsIHRleHQpOyAgICAgICAgIAogICAgfSwKICAgIF9vbkNvbXBsZXRlOiBmdW5jdGlvbihpZCwgZmlsZU5hbWUsIHJlc3VsdCl7CiAgICAgICAgcXEuRmlsZVVwbG9hZGVyQmFzaWMucHJvdG90eXBlLl9vbkNvbXBsZXRlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CgogICAgICAgIC8vIG1hcmsgY29tcGxldGVkCiAgICAgICAgdmFyIGl0ZW0gPSB0aGlzLl9nZXRJdGVtQnlGaWxlSWQoaWQpOyAgICAgICAgICAgICAgICAKICAgICAgICBxcS5yZW1vdmUodGhpcy5fZmluZChpdGVtLCAnY2FuY2VsJykpOwogICAgICAgIHFxLnJlbW92ZSh0aGlzLl9maW5kKGl0ZW0sICdzcGlubmVyJykpOwogICAgICAgIAogICAgICAgIGlmIChyZXN1bHQuc3VjY2Vzcyl7CiAgICAgICAgICAgIHFxLmFkZENsYXNzKGl0ZW0sIHRoaXMuX2NsYXNzZXMuc3VjY2Vzcyk7ICAgIAogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHFxLmFkZENsYXNzKGl0ZW0sIHRoaXMuX2NsYXNzZXMuZmFpbCk7CiAgICAgICAgfSAgICAgICAgIAogICAgfSwKICAgIF9hZGRUb0xpc3Q6IGZ1bmN0aW9uKGlkLCBmaWxlTmFtZSl7CiAgICAgICAgdmFyIGl0ZW0gPSBxcS50b0VsZW1lbnQodGhpcy5fb3B0aW9ucy5maWxlVGVtcGxhdGUpOyAgICAgICAgICAgICAgICAKICAgICAgICBpdGVtLnFxRmlsZUlkID0gaWQ7CgogICAgICAgIHZhciBmaWxlRWxlbWVudCA9IHRoaXMuX2ZpbmQoaXRlbSwgJ2ZpbGUnKTsgICAgICAgIAogICAgICAgIHFxLnNldFRleHQoZmlsZUVsZW1lbnQsIHRoaXMuX2Zvcm1hdEZpbGVOYW1lKGZpbGVOYW1lKSk7CiAgICAgICAgdGhpcy5fZmluZChpdGVtLCAnc2l6ZScpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7ICAgICAgICAKCiAgICAgICAgdGhpcy5fbGlzdEVsZW1lbnQuYXBwZW5kQ2hpbGQoaXRlbSk7CiAgICB9LAogICAgX2dldEl0ZW1CeUZpbGVJZDogZnVuY3Rpb24oaWQpewogICAgICAgIHZhciBpdGVtID0gdGhpcy5fbGlzdEVsZW1lbnQuZmlyc3RDaGlsZDsgICAgICAgIAogICAgICAgIAogICAgICAgIC8vIHRoZXJlIGNhbid0IGJlIHR4dCBub2RlcyBpbiBkeW5hbWljYWxseSBjcmVhdGVkIGxpc3QKICAgICAgICAvLyBhbmQgd2UgY2FuICB1c2UgbmV4dFNpYmxpbmcKICAgICAgICB3aGlsZSAoaXRlbSl7ICAgICAgICAgICAgCiAgICAgICAgICAgIGlmIChpdGVtLnFxRmlsZUlkID09IGlkKSByZXR1cm4gaXRlbTsgICAgICAgICAgICAKICAgICAgICAgICAgaXRlbSA9IGl0ZW0ubmV4dFNpYmxpbmc7CiAgICAgICAgfSAgICAgICAgICAKICAgIH0sCiAgICAvKioKICAgICAqIGRlbGVnYXRlIGNsaWNrIGV2ZW50IGZvciBjYW5jZWwgbGluayAKICAgICAqKi8KICAgIF9iaW5kQ2FuY2VsRXZlbnQ6IGZ1bmN0aW9uKCl7CiAgICAgICAgdmFyIHNlbGYgPSB0aGlzLAogICAgICAgICAgICBsaXN0ID0gdGhpcy5fbGlzdEVsZW1lbnQ7ICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgcXEuYXR0YWNoKGxpc3QsICdjbGljaycsIGZ1bmN0aW9uKGUpeyAgICAgICAgICAgIAogICAgICAgICAgICBlID0gZSB8fCB3aW5kb3cuZXZlbnQ7CiAgICAgICAgICAgIHZhciB0YXJnZXQgPSBlLnRhcmdldCB8fCBlLnNyY0VsZW1lbnQ7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAocXEuaGFzQ2xhc3ModGFyZ2V0LCBzZWxmLl9jbGFzc2VzLmNhbmNlbCkpeyAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHFxLnByZXZlbnREZWZhdWx0KGUpOwogICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBpdGVtID0gdGFyZ2V0LnBhcmVudE5vZGU7CiAgICAgICAgICAgICAgICBzZWxmLl9oYW5kbGVyLmNhbmNlbChpdGVtLnFxRmlsZUlkKTsKICAgICAgICAgICAgICAgIHFxLnJlbW92ZShpdGVtKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSAgICAKfSk7CiAgICAKcXEuVXBsb2FkRHJvcFpvbmUgPSBmdW5jdGlvbihvKXsKICAgIHRoaXMuX29wdGlvbnMgPSB7CiAgICAgICAgZWxlbWVudDogbnVsbCwgIAogICAgICAgIG9uRW50ZXI6IGZ1bmN0aW9uKGUpe30sCiAgICAgICAgb25MZWF2ZTogZnVuY3Rpb24oZSl7fSwgIAogICAgICAgIC8vIGlzIG5vdCBmaXJlZCB3aGVuIGxlYXZpbmcgZWxlbWVudCBieSBob3ZlcmluZyBkZXNjZW5kYW50cyAgIAogICAgICAgIG9uTGVhdmVOb3REZXNjZW5kYW50czogZnVuY3Rpb24oZSl7fSwgICAKICAgICAgICBvbkRyb3A6IGZ1bmN0aW9uKGUpe30gICAgICAgICAgICAgICAgICAgICAgIAogICAgfTsKICAgIHFxLmV4dGVuZCh0aGlzLl9vcHRpb25zLCBvKTsgCiAgICAKICAgIHRoaXMuX2VsZW1lbnQgPSB0aGlzLl9vcHRpb25zLmVsZW1lbnQ7CiAgICAKICAgIHRoaXMuX2Rpc2FibGVEcm9wT3V0c2lkZSgpOwogICAgdGhpcy5fYXR0YWNoRXZlbnRzKCk7ICAgCn07CgpxcS5VcGxvYWREcm9wWm9uZS5wcm90b3R5cGUgPSB7CiAgICBfZGlzYWJsZURyb3BPdXRzaWRlOiBmdW5jdGlvbihlKXsKICAgICAgICAvLyBydW4gb25seSBvbmNlIGZvciBhbGwgaW5zdGFuY2VzCiAgICAgICAgaWYgKCFxcS5VcGxvYWREcm9wWm9uZS5kcm9wT3V0c2lkZURpc2FibGVkICl7CgogICAgICAgICAgICBxcS5hdHRhY2goZG9jdW1lbnQsICdkcmFnb3ZlcicsIGZ1bmN0aW9uKGUpewogICAgICAgICAgICAgICAgaWYgKGUuZGF0YVRyYW5zZmVyKXsKICAgICAgICAgICAgICAgICAgICBlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsgCiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIAogICAgICAgICAgICBxcS5VcGxvYWREcm9wWm9uZS5kcm9wT3V0c2lkZURpc2FibGVkID0gdHJ1ZTsgCiAgICAgICAgfSAgICAgICAgCiAgICB9LAogICAgX2F0dGFjaEV2ZW50czogZnVuY3Rpb24oKXsKICAgICAgICB2YXIgc2VsZiA9IHRoaXM7ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgcXEuYXR0YWNoKHNlbGYuX2VsZW1lbnQsICdkcmFnb3ZlcicsIGZ1bmN0aW9uKGUpewogICAgICAgICAgICBpZiAoIXNlbGYuX2lzVmFsaWRGaWxlRHJhZyhlKSkgcmV0dXJuOwogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIGVmZmVjdCA9IGUuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQ7CiAgICAgICAgICAgIGlmIChlZmZlY3QgPT0gJ21vdmUnIHx8IGVmZmVjdCA9PSAnbGlua01vdmUnKXsKICAgICAgICAgICAgICAgIGUuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnbW92ZSc7IC8vIGZvciBGRiAob25seSBtb3ZlIGFsbG93ZWQpICAgIAogICAgICAgICAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gJ2NvcHknOyAvLyBmb3IgQ2hyb21lCiAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgfSk7CiAgICAgICAgCiAgICAgICAgcXEuYXR0YWNoKHNlbGYuX2VsZW1lbnQsICdkcmFnZW50ZXInLCBmdW5jdGlvbihlKXsKICAgICAgICAgICAgaWYgKCFzZWxmLl9pc1ZhbGlkRmlsZURyYWcoZSkpIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIHNlbGYuX29wdGlvbnMub25FbnRlcihlKTsKICAgICAgICB9KTsKICAgICAgICAKICAgICAgICBxcS5hdHRhY2goc2VsZi5fZWxlbWVudCwgJ2RyYWdsZWF2ZScsIGZ1bmN0aW9uKGUpewogICAgICAgICAgICBpZiAoIXNlbGYuX2lzVmFsaWRGaWxlRHJhZyhlKSkgcmV0dXJuOwogICAgICAgICAgICAKICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5vbkxlYXZlKGUpOwogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHJlbGF0ZWRUYXJnZXQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGUuY2xpZW50WCwgZS5jbGllbnRZKTsgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIGRvIG5vdCBmaXJlIHdoZW4gbW92aW5nIGEgbW91c2Ugb3ZlciBhIGRlc2NlbmRhbnQKICAgICAgICAgICAgaWYgKHFxLmNvbnRhaW5zKHRoaXMsIHJlbGF0ZWRUYXJnZXQpKSByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBzZWxmLl9vcHRpb25zLm9uTGVhdmVOb3REZXNjZW5kYW50cyhlKTsgCiAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAKICAgICAgICBxcS5hdHRhY2goc2VsZi5fZWxlbWVudCwgJ2Ryb3AnLCBmdW5jdGlvbihlKXsKICAgICAgICAgICAgaWYgKCFzZWxmLl9pc1ZhbGlkRmlsZURyYWcoZSkpIHJldHVybjsKICAgICAgICAgICAgCiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5vbkRyb3AoZSk7CiAgICAgICAgfSk7ICAgICAgICAgIAogICAgfSwKICAgIF9pc1ZhbGlkRmlsZURyYWc6IGZ1bmN0aW9uKGUpewogICAgICAgIHZhciBkdCA9IGUuZGF0YVRyYW5zZmVyLAogICAgICAgICAgICAvLyBkbyBub3QgY2hlY2sgZHQudHlwZXMuY29udGFpbnMgaW4gd2Via2l0LCBiZWNhdXNlIGl0IGNyYXNoZXMgc2FmYXJpIDQgICAgICAgICAgICAKICAgICAgICAgICAgaXNXZWJraXQgPSBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkFwcGxlV2ViS2l0IikgPiAtMTsgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgLy8gZHQuZWZmZWN0QWxsb3dlZCBpcyBub25lIGluIFNhZmFyaSA1CiAgICAgICAgLy8gZHQudHlwZXMuY29udGFpbnMgY2hlY2sgaXMgZm9yIGZpcmVmb3ggICAgICAgICAgICAKICAgICAgICByZXR1cm4gZHQgJiYgZHQuZWZmZWN0QWxsb3dlZCAhPSAnbm9uZScgJiYgCiAgICAgICAgICAgIChkdC5maWxlcyB8fCAoIWlzV2Via2l0ICYmIGR0LnR5cGVzLmNvbnRhaW5zICYmIGR0LnR5cGVzLmNvbnRhaW5zKCdGaWxlcycpKSk7CiAgICAgICAgCiAgICB9ICAgICAgICAKfTsgCgpxcS5VcGxvYWRCdXR0b24gPSBmdW5jdGlvbihvKXsKICAgIHRoaXMuX29wdGlvbnMgPSB7CiAgICAgICAgZWxlbWVudDogbnVsbCwgIAogICAgICAgIC8vIGlmIHNldCB0byB0cnVlIGFkZHMgbXVsdGlwbGUgYXR0cmlidXRlIHRvIGZpbGUgaW5wdXQgICAgICAKICAgICAgICBtdWx0aXBsZTogZmFsc2UsCiAgICAgICAgLy8gbmFtZSBhdHRyaWJ1dGUgb2YgZmlsZSBpbnB1dAogICAgICAgIG5hbWU6ICdmaWxlJywKICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24oaW5wdXQpe30sCiAgICAgICAgaG92ZXJDbGFzczogJ3FxLXVwbG9hZC1idXR0b24taG92ZXInLAogICAgICAgIGZvY3VzQ2xhc3M6ICdxcS11cGxvYWQtYnV0dG9uLWZvY3VzJyAgICAgICAgICAgICAgICAgICAgICAgCiAgICB9OwogICAgCiAgICBxcS5leHRlbmQodGhpcy5fb3B0aW9ucywgbyk7CiAgICAgICAgCiAgICB0aGlzLl9lbGVtZW50ID0gdGhpcy5fb3B0aW9ucy5lbGVtZW50OwogICAgCiAgICAvLyBtYWtlIGJ1dHRvbiBzdWl0YWJsZSBjb250YWluZXIgZm9yIGlucHV0CiAgICBxcS5jc3ModGhpcy5fZWxlbWVudCwgewogICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLAogICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJywKICAgICAgICAvLyBNYWtlIHN1cmUgYnJvd3NlIGJ1dHRvbiBpcyBpbiB0aGUgcmlnaHQgc2lkZQogICAgICAgIC8vIGluIEludGVybmV0IEV4cGxvcmVyCiAgICAgICAgZGlyZWN0aW9uOiAnbHRyJwogICAgfSk7ICAgCiAgICAKICAgIHRoaXMuX2lucHV0ID0gdGhpcy5fY3JlYXRlSW5wdXQoKTsKfTsKCnFxLlVwbG9hZEJ1dHRvbi5wcm90b3R5cGUgPSB7CiAgICAvKiByZXR1cm5zIGZpbGUgaW5wdXQgZWxlbWVudCAqLyAgICAKICAgIGdldElucHV0OiBmdW5jdGlvbigpewogICAgICAgIHJldHVybiB0aGlzLl9pbnB1dDsKICAgIH0sCiAgICAvKiBjbGVhbnMvcmVjcmVhdGVzIHRoZSBmaWxlIGlucHV0ICovCiAgICByZXNldDogZnVuY3Rpb24oKXsKICAgICAgICBpZiAodGhpcy5faW5wdXQucGFyZW50Tm9kZSl7CiAgICAgICAgICAgIHFxLnJlbW92ZSh0aGlzLl9pbnB1dCk7ICAgIAogICAgICAgIH0gICAgICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgcXEucmVtb3ZlQ2xhc3ModGhpcy5fZWxlbWVudCwgdGhpcy5fb3B0aW9ucy5mb2N1c0NsYXNzKTsKICAgICAgICB0aGlzLl9pbnB1dCA9IHRoaXMuX2NyZWF0ZUlucHV0KCk7CiAgICB9LCAgICAKICAgIF9jcmVhdGVJbnB1dDogZnVuY3Rpb24oKXsgICAgICAgICAgICAgICAgCiAgICAgICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKICAgICAgICAKICAgICAgICBpZiAodGhpcy5fb3B0aW9ucy5tdWx0aXBsZSl7CiAgICAgICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgibXVsdGlwbGUiLCAibXVsdGlwbGUiKTsKICAgICAgICB9CiAgICAgICAgICAgICAgICAKICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoInR5cGUiLCAiZmlsZSIpOwogICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgibmFtZSIsIHRoaXMuX29wdGlvbnMubmFtZSk7CiAgICAgICAgCiAgICAgICAgcXEuY3NzKGlucHV0LCB7CiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLAogICAgICAgICAgICAvLyBpbiBPcGVyYSBvbmx5ICdicm93c2UnIGJ1dHRvbgogICAgICAgICAgICAvLyBpcyBjbGlja2FibGUgYW5kIGl0IGlzIGxvY2F0ZWQgYXQKICAgICAgICAgICAgLy8gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGlucHV0CiAgICAgICAgICAgIHJpZ2h0OiAwLAogICAgICAgICAgICB0b3A6IDAsCiAgICAgICAgICAgIGZvbnRGYW1pbHk6ICdBcmlhbCcsCiAgICAgICAgICAgIC8vIDQgcGVyc29ucyByZXBvcnRlZCB0aGlzLCB0aGUgbWF4IHZhbHVlcyB0aGF0IHdvcmtlZCBmb3IgdGhlbSB3ZXJlIDI0MywgMjM2LCAyMzYsIDExOAogICAgICAgICAgICBmb250U2l6ZTogJzExOHB4JywKICAgICAgICAgICAgbWFyZ2luOiAwLAogICAgICAgICAgICBwYWRkaW5nOiAwLAogICAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJywKICAgICAgICAgICAgb3BhY2l0eTogMAogICAgICAgIH0pOwogICAgICAgIAogICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQoaW5wdXQpOwoKICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAgICAgcXEuYXR0YWNoKGlucHV0LCAnY2hhbmdlJywgZnVuY3Rpb24oKXsKICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5vbkNoYW5nZShpbnB1dCk7CiAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAKICAgICAgICBxcS5hdHRhY2goaW5wdXQsICdtb3VzZW92ZXInLCBmdW5jdGlvbigpewogICAgICAgICAgICBxcS5hZGRDbGFzcyhzZWxmLl9lbGVtZW50LCBzZWxmLl9vcHRpb25zLmhvdmVyQ2xhc3MpOwogICAgICAgIH0pOwogICAgICAgIHFxLmF0dGFjaChpbnB1dCwgJ21vdXNlb3V0JywgZnVuY3Rpb24oKXsKICAgICAgICAgICAgcXEucmVtb3ZlQ2xhc3Moc2VsZi5fZWxlbWVudCwgc2VsZi5fb3B0aW9ucy5ob3ZlckNsYXNzKTsKICAgICAgICB9KTsKICAgICAgICBxcS5hdHRhY2goaW5wdXQsICdmb2N1cycsIGZ1bmN0aW9uKCl7CiAgICAgICAgICAgIHFxLmFkZENsYXNzKHNlbGYuX2VsZW1lbnQsIHNlbGYuX29wdGlvbnMuZm9jdXNDbGFzcyk7CiAgICAgICAgfSk7CiAgICAgICAgcXEuYXR0YWNoKGlucHV0LCAnYmx1cicsIGZ1bmN0aW9uKCl7CiAgICAgICAgICAgIHFxLnJlbW92ZUNsYXNzKHNlbGYuX2VsZW1lbnQsIHNlbGYuX29wdGlvbnMuZm9jdXNDbGFzcyk7CiAgICAgICAgfSk7CgogICAgICAgIC8vIElFIGFuZCBPcGVyYSwgdW5mb3J0dW5hdGVseSBoYXZlIDIgdGFiIHN0b3BzIG9uIGZpbGUgaW5wdXQKICAgICAgICAvLyB3aGljaCBpcyB1bmFjY2VwdGFibGUgaW4gb3VyIGNhc2UsIGRpc2FibGUga2V5Ym9hcmQgYWNjZXNzCiAgICAgICAgaWYgKHdpbmRvdy5hdHRhY2hFdmVudCl7CiAgICAgICAgICAgIC8vIGl0IGlzIElFIG9yIE9wZXJhCiAgICAgICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndGFiSW5kZXgnLCAiLTEiKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBpbnB1dDsgICAgICAgICAgICAKICAgIH0gICAgICAgIAp9OwoKLyoqCiAqIENsYXNzIGZvciB1cGxvYWRpbmcgZmlsZXMsIHVwbG9hZGluZyBpdHNlbGYgaXMgaGFuZGxlZCBieSBjaGlsZCBjbGFzc2VzCiAqLwpxcS5VcGxvYWRIYW5kbGVyQWJzdHJhY3QgPSBmdW5jdGlvbihvKXsKICAgIHRoaXMuX29wdGlvbnMgPSB7CiAgICAgICAgZGVidWc6IGZhbHNlLAogICAgICAgIGFjdGlvbjogJy91cGxvYWQucGhwJywKICAgICAgICAvLyBtYXhpbXVtIG51bWJlciBvZiBjb25jdXJyZW50IHVwbG9hZHMgICAgICAgIAogICAgICAgIG1heENvbm5lY3Rpb25zOiA5OTksCiAgICAgICAgb25Qcm9ncmVzczogZnVuY3Rpb24oaWQsIGZpbGVOYW1lLCBsb2FkZWQsIHRvdGFsKXt9LAogICAgICAgIG9uQ29tcGxldGU6IGZ1bmN0aW9uKGlkLCBmaWxlTmFtZSwgcmVzcG9uc2Upe30sCiAgICAgICAgb25DYW5jZWw6IGZ1bmN0aW9uKGlkLCBmaWxlTmFtZSl7fQogICAgfTsKICAgIHFxLmV4dGVuZCh0aGlzLl9vcHRpb25zLCBvKTsgICAgCiAgICAKICAgIHRoaXMuX3F1ZXVlID0gW107CiAgICAvLyBwYXJhbXMgZm9yIGZpbGVzIGluIHF1ZXVlCiAgICB0aGlzLl9wYXJhbXMgPSBbXTsKfTsKcXEuVXBsb2FkSGFuZGxlckFic3RyYWN0LnByb3RvdHlwZSA9IHsKICAgIGxvZzogZnVuY3Rpb24oc3RyKXsKICAgICAgICBpZiAodGhpcy5fb3B0aW9ucy5kZWJ1ZyAmJiB3aW5kb3cuY29uc29sZSkgY29uc29sZS5sb2coJ1t1cGxvYWRlcl0gJyArIHN0cik7ICAgICAgICAKICAgIH0sCiAgICAvKioKICAgICAqIEFkZHMgZmlsZSBvciBmaWxlIGlucHV0IHRvIHRoZSBxdWV1ZQogICAgICogQHJldHVybnMgaWQKICAgICAqKi8gICAgCiAgICBhZGQ6IGZ1bmN0aW9uKGZpbGUpe30sCiAgICAvKioKICAgICAqIFNlbmRzIHRoZSBmaWxlIGlkZW50aWZpZWQgYnkgaWQgYW5kIGFkZGl0aW9uYWwgcXVlcnkgcGFyYW1zIHRvIHRoZSBzZXJ2ZXIKICAgICAqLwogICAgdXBsb2FkOiBmdW5jdGlvbihpZCwgcGFyYW1zKXsKICAgICAgICB2YXIgbGVuID0gdGhpcy5fcXVldWUucHVzaChpZCk7CgogICAgICAgIHZhciBjb3B5ID0ge307ICAgICAgICAKICAgICAgICBxcS5leHRlbmQoY29weSwgcGFyYW1zKTsKICAgICAgICB0aGlzLl9wYXJhbXNbaWRdID0gY29weTsgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgLy8gaWYgdG9vIG1hbnkgYWN0aXZlIHVwbG9hZHMsIHdhaXQuLi4KICAgICAgICBpZiAobGVuIDw9IHRoaXMuX29wdGlvbnMubWF4Q29ubmVjdGlvbnMpeyAgICAgICAgICAgICAgIAogICAgICAgICAgICB0aGlzLl91cGxvYWQoaWQsIHRoaXMuX3BhcmFtc1tpZF0pOwogICAgICAgIH0KICAgIH0sCiAgICAvKioKICAgICAqIENhbmNlbHMgZmlsZSB1cGxvYWQgYnkgaWQKICAgICAqLwogICAgY2FuY2VsOiBmdW5jdGlvbihpZCl7CiAgICAgICAgdGhpcy5fY2FuY2VsKGlkKTsKICAgICAgICB0aGlzLl9kZXF1ZXVlKGlkKTsKICAgIH0sCiAgICAvKioKICAgICAqIENhbmNlbGxzIGFsbCB1cGxvYWRzCiAgICAgKi8KICAgIGNhbmNlbEFsbDogZnVuY3Rpb24oKXsKICAgICAgICBmb3IgKHZhciBpPTA7IGk8dGhpcy5fcXVldWUubGVuZ3RoOyBpKyspewogICAgICAgICAgICB0aGlzLl9jYW5jZWwodGhpcy5fcXVldWVbaV0pOwogICAgICAgIH0KICAgICAgICB0aGlzLl9xdWV1ZSA9IFtdOwogICAgfSwKICAgIC8qKgogICAgICogUmV0dXJucyBuYW1lIG9mIHRoZSBmaWxlIGlkZW50aWZpZWQgYnkgaWQKICAgICAqLwogICAgZ2V0TmFtZTogZnVuY3Rpb24oaWQpe30sCiAgICAvKioKICAgICAqIFJldHVybnMgc2l6ZSBvZiB0aGUgZmlsZSBpZGVudGlmaWVkIGJ5IGlkCiAgICAgKi8gICAgICAgICAgCiAgICBnZXRTaXplOiBmdW5jdGlvbihpZCl7fSwKICAgIC8qKgogICAgICogUmV0dXJucyBpZCBvZiBmaWxlcyBiZWluZyB1cGxvYWRlZCBvcgogICAgICogd2FpdGluZyBmb3IgdGhlaXIgdHVybgogICAgICovCiAgICBnZXRRdWV1ZTogZnVuY3Rpb24oKXsKICAgICAgICByZXR1cm4gdGhpcy5fcXVldWU7CiAgICB9LAogICAgLyoqCiAgICAgKiBBY3R1YWwgdXBsb2FkIG1ldGhvZAogICAgICovCiAgICBfdXBsb2FkOiBmdW5jdGlvbihpZCl7fSwKICAgIC8qKgogICAgICogQWN0dWFsIGNhbmNlbCBtZXRob2QKICAgICAqLwogICAgX2NhbmNlbDogZnVuY3Rpb24oaWQpe30sICAgICAKICAgIC8qKgogICAgICogUmVtb3ZlcyBlbGVtZW50IGZyb20gcXVldWUsIHN0YXJ0cyB1cGxvYWQgb2YgbmV4dAogICAgICovCiAgICBfZGVxdWV1ZTogZnVuY3Rpb24oaWQpewogICAgICAgIHZhciBpID0gcXEuaW5kZXhPZih0aGlzLl9xdWV1ZSwgaWQpOwogICAgICAgIHRoaXMuX3F1ZXVlLnNwbGljZShpLCAxKTsKICAgICAgICAgICAgICAgIAogICAgICAgIHZhciBtYXggPSB0aGlzLl9vcHRpb25zLm1heENvbm5lY3Rpb25zOwogICAgICAgIAogICAgICAgIGlmICh0aGlzLl9xdWV1ZS5sZW5ndGggPj0gbWF4ICYmIGkgPCBtYXgpewogICAgICAgICAgICB2YXIgbmV4dElkID0gdGhpcy5fcXVldWVbbWF4LTFdOwogICAgICAgICAgICB0aGlzLl91cGxvYWQobmV4dElkLCB0aGlzLl9wYXJhbXNbbmV4dElkXSk7CiAgICAgICAgfQogICAgfSAgICAgICAgCn07CgovKioKICogQ2xhc3MgZm9yIHVwbG9hZGluZyBmaWxlcyB1c2luZyBmb3JtIGFuZCBpZnJhbWUKICogQGluaGVyaXRzIHFxLlVwbG9hZEhhbmRsZXJBYnN0cmFjdAogKi8KcXEuVXBsb2FkSGFuZGxlckZvcm0gPSBmdW5jdGlvbihvKXsKICAgIHFxLlVwbG9hZEhhbmRsZXJBYnN0cmFjdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICAgCiAgICB0aGlzLl9pbnB1dHMgPSB7fTsKfTsKLy8gQGluaGVyaXRzIHFxLlVwbG9hZEhhbmRsZXJBYnN0cmFjdApxcS5leHRlbmQocXEuVXBsb2FkSGFuZGxlckZvcm0ucHJvdG90eXBlLCBxcS5VcGxvYWRIYW5kbGVyQWJzdHJhY3QucHJvdG90eXBlKTsKCnFxLmV4dGVuZChxcS5VcGxvYWRIYW5kbGVyRm9ybS5wcm90b3R5cGUsIHsKICAgIGFkZDogZnVuY3Rpb24oZmlsZUlucHV0KXsKICAgICAgICBmaWxlSW5wdXQuc2V0QXR0cmlidXRlKCduYW1lJywgJ3FxZmlsZScpOwogICAgICAgIHZhciBpZCA9ICdxcS11cGxvYWQtaGFuZGxlci1pZnJhbWUnICsgcXEuZ2V0VW5pcXVlSWQoKTsgICAgICAgCiAgICAgICAgCiAgICAgICAgdGhpcy5faW5wdXRzW2lkXSA9IGZpbGVJbnB1dDsKICAgICAgICAKICAgICAgICAvLyByZW1vdmUgZmlsZSBpbnB1dCBmcm9tIERPTQogICAgICAgIGlmIChmaWxlSW5wdXQucGFyZW50Tm9kZSl7CiAgICAgICAgICAgIHFxLnJlbW92ZShmaWxlSW5wdXQpOwogICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgIHJldHVybiBpZDsKICAgIH0sCiAgICBnZXROYW1lOiBmdW5jdGlvbihpZCl7CiAgICAgICAgLy8gZ2V0IGlucHV0IHZhbHVlIGFuZCByZW1vdmUgcGF0aCB0byBub3JtYWxpemUKICAgICAgICByZXR1cm4gdGhpcy5faW5wdXRzW2lkXS52YWx1ZS5yZXBsYWNlKC8uKihcL3xcXCkvLCAiIik7CiAgICB9LCAgICAKICAgIF9jYW5jZWw6IGZ1bmN0aW9uKGlkKXsKICAgICAgICB0aGlzLl9vcHRpb25zLm9uQ2FuY2VsKGlkLCB0aGlzLmdldE5hbWUoaWQpKTsKICAgICAgICAKICAgICAgICBkZWxldGUgdGhpcy5faW5wdXRzW2lkXTsgICAgICAgIAoKICAgICAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwogICAgICAgIGlmIChpZnJhbWUpewogICAgICAgICAgICAvLyB0byBjYW5jZWwgcmVxdWVzdCBzZXQgc3JjIHRvIHNvbWV0aGluZyBlbHNlCiAgICAgICAgICAgIC8vIHdlIHVzZSBzcmM9ImphdmFzY3JpcHQ6ZmFsc2U7IiBiZWNhdXNlIGl0IGRvZXNuJ3QKICAgICAgICAgICAgLy8gdHJpZ2dlciBpZTYgcHJvbXB0IG9uIGh0dHBzCiAgICAgICAgICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoJ3NyYycsICdqYXZhc2NyaXB0OmZhbHNlOycpOwoKICAgICAgICAgICAgcXEucmVtb3ZlKGlmcmFtZSk7CiAgICAgICAgfQogICAgfSwgICAgIAogICAgX3VwbG9hZDogZnVuY3Rpb24oaWQsIHBhcmFtcyl7ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgdmFyIGlucHV0ID0gdGhpcy5faW5wdXRzW2lkXTsKICAgICAgICAKICAgICAgICBpZiAoIWlucHV0KXsKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdmaWxlIHdpdGggcGFzc2VkIGlkIHdhcyBub3QgYWRkZWQsIG9yIGFscmVhZHkgdXBsb2FkZWQgb3IgY2FuY2VsbGVkJyk7CiAgICAgICAgfSAgICAgICAgICAgICAgICAKCiAgICAgICAgdmFyIGZpbGVOYW1lID0gdGhpcy5nZXROYW1lKGlkKTsKICAgICAgICAgICAgICAgIAogICAgICAgIHZhciBpZnJhbWUgPSB0aGlzLl9jcmVhdGVJZnJhbWUoaWQpOwogICAgICAgIHZhciBmb3JtID0gdGhpcy5fY3JlYXRlRm9ybShpZnJhbWUsIHBhcmFtcyk7CiAgICAgICAgZm9ybS5hcHBlbmRDaGlsZChpbnB1dCk7CgogICAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgICB0aGlzLl9hdHRhY2hMb2FkRXZlbnQoaWZyYW1lLCBmdW5jdGlvbigpeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBzZWxmLmxvZygnaWZyYW1lIGxvYWRlZCcpOwogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHJlc3BvbnNlID0gc2VsZi5fZ2V0SWZyYW1lQ29udGVudEpTT04oaWZyYW1lKTsKCiAgICAgICAgICAgIHNlbGYuX29wdGlvbnMub25Db21wbGV0ZShpZCwgZmlsZU5hbWUsIHJlc3BvbnNlKTsKICAgICAgICAgICAgc2VsZi5fZGVxdWV1ZShpZCk7CiAgICAgICAgICAgIAogICAgICAgICAgICBkZWxldGUgc2VsZi5faW5wdXRzW2lkXTsKICAgICAgICAgICAgLy8gdGltZW91dCBhZGRlZCB0byBmaXggYnVzeSBzdGF0ZSBpbiBGRjMuNgogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBxcS5yZW1vdmUoaWZyYW1lKTsKICAgICAgICAgICAgfSwgMSk7CiAgICAgICAgfSk7CgogICAgICAgIGZvcm0uc3VibWl0KCk7ICAgICAgICAKICAgICAgICBxcS5yZW1vdmUoZm9ybSk7ICAgICAgICAKICAgICAgICAKICAgICAgICByZXR1cm4gaWQ7CiAgICB9LCAKICAgIF9hdHRhY2hMb2FkRXZlbnQ6IGZ1bmN0aW9uKGlmcmFtZSwgY2FsbGJhY2spewogICAgICAgIHFxLmF0dGFjaChpZnJhbWUsICdsb2FkJywgZnVuY3Rpb24oKXsKICAgICAgICAgICAgLy8gd2hlbiB3ZSByZW1vdmUgaWZyYW1lIGZyb20gZG9tCiAgICAgICAgICAgIC8vIHRoZSByZXF1ZXN0IHN0b3BzLCBidXQgaW4gSUUgbG9hZAogICAgICAgICAgICAvLyBldmVudCBmaXJlcwogICAgICAgICAgICBpZiAoIWlmcmFtZS5wYXJlbnROb2RlKXsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gZml4aW5nIE9wZXJhIDEwLjUzCiAgICAgICAgICAgIGlmIChpZnJhbWUuY29udGVudERvY3VtZW50ICYmCiAgICAgICAgICAgICAgICBpZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkgJiYKICAgICAgICAgICAgICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPT0gImZhbHNlIil7CiAgICAgICAgICAgICAgICAvLyBJbiBPcGVyYSBldmVudCBpcyBmaXJlZCBzZWNvbmQgdGltZQogICAgICAgICAgICAgICAgLy8gd2hlbiBib2R5LmlubmVySFRNTCBjaGFuZ2VkIGZyb20gZmFsc2UKICAgICAgICAgICAgICAgIC8vIHRvIHNlcnZlciByZXNwb25zZSBhcHByb3guIGFmdGVyIDEgc2VjCiAgICAgICAgICAgICAgICAvLyB3aGVuIHdlIHVwbG9hZCBmaWxlIHdpdGggaWZyYW1lCiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgfSk7CiAgICB9LAogICAgLyoqCiAgICAgKiBSZXR1cm5zIGpzb24gb2JqZWN0IHJlY2VpdmVkIGJ5IGlmcmFtZSBmcm9tIHNlcnZlci4KICAgICAqLwogICAgX2dldElmcmFtZUNvbnRlbnRKU09OOiBmdW5jdGlvbihpZnJhbWUpewogICAgICAgIC8vIGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50IC0gZm9yIElFPDcKICAgICAgICB2YXIgZG9jID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudCA/IGlmcmFtZS5jb250ZW50RG9jdW1lbnQ6IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50LAogICAgICAgICAgICByZXNwb25zZTsKICAgICAgICAKICAgICAgICB0aGlzLmxvZygiY29udmVydGluZyBpZnJhbWUncyBpbm5lckhUTUwgdG8gSlNPTiIpOwogICAgICAgIHRoaXMubG9nKCJpbm5lckhUTUwgPSAiICsgZG9jLmJvZHkuaW5uZXJIVE1MKTsKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgcmVzcG9uc2UgPSBldmFsKCIoIiArIGRvYy5ib2R5LmlubmVySFRNTCArICIpIik7CiAgICAgICAgfSBjYXRjaChlcnIpewogICAgICAgICAgICByZXNwb25zZSA9IHt9OwogICAgICAgIH0gICAgICAgIAoKICAgICAgICByZXR1cm4gcmVzcG9uc2U7CiAgICB9LAogICAgLyoqCiAgICAgKiBDcmVhdGVzIGlmcmFtZSB3aXRoIHVuaXF1ZSBuYW1lCiAgICAgKi8KICAgIF9jcmVhdGVJZnJhbWU6IGZ1bmN0aW9uKGlkKXsKICAgICAgICAvLyBXZSBjYW4ndCB1c2UgZm9sbG93aW5nIGNvZGUgYXMgdGhlIG5hbWUgYXR0cmlidXRlCiAgICAgICAgLy8gd29uJ3QgYmUgcHJvcGVybHkgcmVnaXN0ZXJlZCBpbiBJRTYsIGFuZCBuZXcgd2luZG93CiAgICAgICAgLy8gb24gZm9ybSBzdWJtaXQgd2lsbCBvcGVuCiAgICAgICAgLy8gdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwogICAgICAgIC8vIGlmcmFtZS5zZXRBdHRyaWJ1dGUoJ25hbWUnLCBpZCk7CgogICAgICAgIHZhciBpZnJhbWUgPSBxcS50b0VsZW1lbnQoJzxpZnJhbWUgc3JjPSJqYXZhc2NyaXB0OmZhbHNlOyIgbmFtZT0iJyArIGlkICsgJyIgLz4nKTsKICAgICAgICAvLyBzcmM9ImphdmFzY3JpcHQ6ZmFsc2U7IiByZW1vdmVzIGllNiBwcm9tcHQgb24gaHR0cHMKCiAgICAgICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgnaWQnLCBpZCk7CgogICAgICAgIGlmcmFtZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKCiAgICAgICAgcmV0dXJuIGlmcmFtZTsKICAgIH0sCiAgICAvKioKICAgICAqIENyZWF0ZXMgZm9ybSwgdGhhdCB3aWxsIGJlIHN1Ym1pdHRlZCB0byBpZnJhbWUKICAgICAqLwogICAgX2NyZWF0ZUZvcm06IGZ1bmN0aW9uKGlmcmFtZSwgcGFyYW1zKXsKICAgICAgICAvLyBXZSBjYW4ndCB1c2UgdGhlIGZvbGxvd2luZyBjb2RlIGluIElFNgogICAgICAgIC8vIHZhciBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpOwogICAgICAgIC8vIGZvcm0uc2V0QXR0cmlidXRlKCdtZXRob2QnLCAncG9zdCcpOwogICAgICAgIC8vIGZvcm0uc2V0QXR0cmlidXRlKCdlbmN0eXBlJywgJ211bHRpcGFydC9mb3JtLWRhdGEnKTsKICAgICAgICAvLyBCZWNhdXNlIGluIHRoaXMgY2FzZSBmaWxlIHdvbid0IGJlIGF0dGFjaGVkIHRvIHJlcXVlc3QKICAgICAgICB2YXIgZm9ybSA9IHFxLnRvRWxlbWVudCgnPGZvcm0gbWV0aG9kPSJwb3N0IiBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIj48L2Zvcm0+Jyk7CgogICAgICAgIHZhciBxdWVyeVN0cmluZyA9IHFxLm9iajJ1cmwocGFyYW1zLCB0aGlzLl9vcHRpb25zLmFjdGlvbik7CgogICAgICAgIGZvcm0uc2V0QXR0cmlidXRlKCdhY3Rpb24nLCBxdWVyeVN0cmluZyk7CiAgICAgICAgZm9ybS5zZXRBdHRyaWJ1dGUoJ3RhcmdldCcsIGlmcmFtZS5uYW1lKTsKICAgICAgICBmb3JtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmb3JtKTsKCiAgICAgICAgcmV0dXJuIGZvcm07CiAgICB9Cn0pOwoKLyoqCiAqIENsYXNzIGZvciB1cGxvYWRpbmcgZmlsZXMgdXNpbmcgeGhyCiAqIEBpbmhlcml0cyBxcS5VcGxvYWRIYW5kbGVyQWJzdHJhY3QKICovCnFxLlVwbG9hZEhhbmRsZXJYaHIgPSBmdW5jdGlvbihvKXsKICAgIHFxLlVwbG9hZEhhbmRsZXJBYnN0cmFjdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwoKICAgIHRoaXMuX2ZpbGVzID0gW107CiAgICB0aGlzLl94aHJzID0gW107CiAgICAKICAgIC8vIGN1cnJlbnQgbG9hZGVkIHNpemUgaW4gYnl0ZXMgZm9yIGVhY2ggZmlsZSAKICAgIHRoaXMuX2xvYWRlZCA9IFtdOwp9OwoKLy8gc3RhdGljIG1ldGhvZApxcS5VcGxvYWRIYW5kbGVyWGhyLmlzU3VwcG9ydGVkID0gZnVuY3Rpb24oKXsKICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CiAgICBpbnB1dC50eXBlID0gJ2ZpbGUnOyAgICAgICAgCiAgICAKICAgIHJldHVybiAoCiAgICAgICAgJ211bHRpcGxlJyBpbiBpbnB1dCAmJgogICAgICAgIHR5cGVvZiBGaWxlICE9ICJ1bmRlZmluZWQiICYmCiAgICAgICAgdHlwZW9mIChuZXcgWE1MSHR0cFJlcXVlc3QoKSkudXBsb2FkICE9ICJ1bmRlZmluZWQiICk7ICAgICAgIAp9OwoKLy8gQGluaGVyaXRzIHFxLlVwbG9hZEhhbmRsZXJBYnN0cmFjdApxcS5leHRlbmQocXEuVXBsb2FkSGFuZGxlclhoci5wcm90b3R5cGUsIHFxLlVwbG9hZEhhbmRsZXJBYnN0cmFjdC5wcm90b3R5cGUpCgpxcS5leHRlbmQocXEuVXBsb2FkSGFuZGxlclhoci5wcm90b3R5cGUsIHsKICAgIC8qKgogICAgICogQWRkcyBmaWxlIHRvIHRoZSBxdWV1ZQogICAgICogUmV0dXJucyBpZCB0byB1c2Ugd2l0aCB1cGxvYWQsIGNhbmNlbAogICAgICoqLyAgICAKICAgIGFkZDogZnVuY3Rpb24oZmlsZSl7CiAgICAgICAgaWYgKCEoZmlsZSBpbnN0YW5jZW9mIEZpbGUpKXsKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQYXNzZWQgb2JqIGluIG5vdCBhIEZpbGUgKGluIHFxLlVwbG9hZEhhbmRsZXJYaHIpJyk7CiAgICAgICAgfQogICAgICAgICAgICAgICAgCiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVzLnB1c2goZmlsZSkgLSAxOyAgICAgICAgCiAgICB9LAogICAgZ2V0TmFtZTogZnVuY3Rpb24oaWQpeyAgICAgICAgCiAgICAgICAgdmFyIGZpbGUgPSB0aGlzLl9maWxlc1tpZF07CiAgICAgICAgLy8gZml4IG1pc3NpbmcgbmFtZSBpbiBTYWZhcmkgNAogICAgICAgIHJldHVybiBmaWxlLmZpbGVOYW1lICE9IG51bGwgPyBmaWxlLmZpbGVOYW1lIDogZmlsZS5uYW1lOyAgICAgICAKICAgIH0sCiAgICBnZXRTaXplOiBmdW5jdGlvbihpZCl7CiAgICAgICAgdmFyIGZpbGUgPSB0aGlzLl9maWxlc1tpZF07CiAgICAgICAgcmV0dXJuIGZpbGUuZmlsZVNpemUgIT0gbnVsbCA/IGZpbGUuZmlsZVNpemUgOiBmaWxlLnNpemU7CiAgICB9LCAgICAKICAgIC8qKgogICAgICogUmV0dXJucyB1cGxvYWRlZCBieXRlcyBmb3IgZmlsZSBpZGVudGlmaWVkIGJ5IGlkIAogICAgICovICAgIAogICAgZ2V0TG9hZGVkOiBmdW5jdGlvbihpZCl7CiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRlZFtpZF0gfHwgMDsgCiAgICB9LAogICAgLyoqCiAgICAgKiBTZW5kcyB0aGUgZmlsZSBpZGVudGlmaWVkIGJ5IGlkIGFuZCBhZGRpdGlvbmFsIHF1ZXJ5IHBhcmFtcyB0byB0aGUgc2VydmVyCiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIG5hbWUtdmFsdWUgc3RyaW5nIHBhaXJzCiAgICAgKi8gICAgCiAgICBfdXBsb2FkOiBmdW5jdGlvbihpZCwgcGFyYW1zKXsKICAgICAgICB2YXIgZmlsZSA9IHRoaXMuX2ZpbGVzW2lkXSwKICAgICAgICAgICAgbmFtZSA9IHRoaXMuZ2V0TmFtZShpZCksCiAgICAgICAgICAgIHNpemUgPSB0aGlzLmdldFNpemUoaWQpOwogICAgICAgICAgICAgICAgCiAgICAgICAgdGhpcy5fbG9hZGVkW2lkXSA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgdmFyIHhociA9IHRoaXMuX3hocnNbaWRdID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgeGhyLnVwbG9hZC5vbnByb2dyZXNzID0gZnVuY3Rpb24oZSl7CiAgICAgICAgICAgIGlmIChlLmxlbmd0aENvbXB1dGFibGUpewogICAgICAgICAgICAgICAgc2VsZi5fbG9hZGVkW2lkXSA9IGUubG9hZGVkOwogICAgICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5vblByb2dyZXNzKGlkLCBuYW1lLCBlLmxvYWRlZCwgZS50b3RhbCk7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKXsgICAgICAgICAgICAKICAgICAgICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID09IDQpewogICAgICAgICAgICAgICAgc2VsZi5fb25Db21wbGV0ZShpZCwgeGhyKTsgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgLy8gYnVpbGQgcXVlcnkgc3RyaW5nCiAgICAgICAgcGFyYW1zID0gcGFyYW1zIHx8IHt9OwogICAgICAgIHBhcmFtc1sncXFmaWxlJ10gPSBuYW1lOwogICAgICAgIHZhciBxdWVyeVN0cmluZyA9IHFxLm9iajJ1cmwocGFyYW1zLCB0aGlzLl9vcHRpb25zLmFjdGlvbik7CgogICAgICAgIHhoci5vcGVuKCJQT1NUIiwgcXVlcnlTdHJpbmcsIHRydWUpOwogICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJYLVJlcXVlc3RlZC1XaXRoIiwgIlhNTEh0dHBSZXF1ZXN0Iik7CiAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIlgtRmlsZS1OYW1lIiwgZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpKTsKICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIpOwogICAgICAgIHhoci5zZW5kKGZpbGUpOwogICAgfSwKICAgIF9vbkNvbXBsZXRlOiBmdW5jdGlvbihpZCwgeGhyKXsKICAgICAgICAvLyB0aGUgcmVxdWVzdCB3YXMgYWJvcnRlZC9jYW5jZWxsZWQKICAgICAgICBpZiAoIXRoaXMuX2ZpbGVzW2lkXSkgcmV0dXJuOwogICAgICAgIAogICAgICAgIHZhciBuYW1lID0gdGhpcy5nZXROYW1lKGlkKTsKICAgICAgICB2YXIgc2l6ZSA9IHRoaXMuZ2V0U2l6ZShpZCk7CiAgICAgICAgCiAgICAgICAgdGhpcy5fb3B0aW9ucy5vblByb2dyZXNzKGlkLCBuYW1lLCBzaXplLCBzaXplKTsKICAgICAgICAgICAgICAgIAogICAgICAgIGlmICh4aHIuc3RhdHVzID09IDIwMCl7CiAgICAgICAgICAgIHRoaXMubG9nKCJ4aHIgLSBzZXJ2ZXIgcmVzcG9uc2UgcmVjZWl2ZWQiKTsKICAgICAgICAgICAgdGhpcy5sb2coInJlc3BvbnNlVGV4dCA9ICIgKyB4aHIucmVzcG9uc2VUZXh0KTsKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciByZXNwb25zZTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gZXZhbCgiKCIgKyB4aHIucmVzcG9uc2VUZXh0ICsgIikiKTsKICAgICAgICAgICAgfSBjYXRjaChlcnIpewogICAgICAgICAgICAgICAgcmVzcG9uc2UgPSB7fTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgdGhpcy5fb3B0aW9ucy5vbkNvbXBsZXRlKGlkLCBuYW1lLCByZXNwb25zZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICB0aGlzLl9vcHRpb25zLm9uQ29tcGxldGUoaWQsIG5hbWUsIHt9KTsKICAgICAgICB9CiAgICAgICAgICAgICAgICAKICAgICAgICB0aGlzLl9maWxlc1tpZF0gPSBudWxsOwogICAgICAgIHRoaXMuX3hocnNbaWRdID0gbnVsbDsgICAgCiAgICAgICAgdGhpcy5fZGVxdWV1ZShpZCk7ICAgICAgICAgICAgICAgICAgICAKICAgIH0sCiAgICBfY2FuY2VsOiBmdW5jdGlvbihpZCl7CiAgICAgICAgdGhpcy5fb3B0aW9ucy5vbkNhbmNlbChpZCwgdGhpcy5nZXROYW1lKGlkKSk7CiAgICAgICAgCiAgICAgICAgdGhpcy5fZmlsZXNbaWRdID0gbnVsbDsKICAgICAgICAKICAgICAgICBpZiAodGhpcy5feGhyc1tpZF0pewogICAgICAgICAgICB0aGlzLl94aHJzW2lkXS5hYm9ydCgpOwogICAgICAgICAgICB0aGlzLl94aHJzW2lkXSA9IG51bGw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICB9CiAgICB9Cn0pOw==]]></data>
	</file>
	<file>
	  <filename>/templates/js/fileuploader/loading.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhDwAPAKUAAEQ+PKSmpHx6fNTW1FxaXOzu7ExOTIyOjGRmZMTCxPz6/ERGROTi5Pz29JyanGxubMzKzIyKjGReXPT29FxWVGxmZExGROzq7ERCRLy6vISChNze3FxeXPTy9FROTJSSlMTGxPz+/OTm5JyenNTOzGxqbExKTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBgAhACwAAAAADwAPAAAGd8CQcEgsChuTZMNIDFgsC1Nn9GEwDwDAoqMBWEDFiweA2YoiZevwA9BkDAUhW0MkADYhiEJYwJj2QhYGTBwAE0MUGGp5IR1+RBEAEUMVDg4AAkQMJhgfFyEIWRgDRSALABKgWQ+HRQwaCCEVC7R0TEITHbmtt0xBACH5BAkGACYALAAAAAAPAA8AhUQ+PKSmpHRydNTW1FxWVOzu7MTCxIyKjExKTOTi5LSytHx+fPz6/ERGROTe3GxqbNTS1JyWlFRSVKympNze3FxeXPT29MzKzFROTOzq7ISGhERCRHx6fNza3FxaXPTy9MTGxJSSlExOTOTm5LS2tISChPz+/ExGRJyenKyqrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ6QJNQeIkUhsjkp+EhMZLITKgBAGigQgiiCtiAKJdkBgNYgDYLhmDjQIbKwgfF9C4hPYC5KSMsbBBIJyJYFQAWQwQbI0J8Jh8nDUgHAAcmDA+LKAAcSAkIEhYTAAEoGxsdSSAKIyJcGyRYJiQbVRwDsVkPXrhDDCQBSUEAIfkECQYAEAAsAAAAAA8ADwCFRD48pKKkdHZ01NLUXFpc7OrsTE5MlJKU9Pb03N7cREZExMbEhIKEbGpsXFZUVFZU/P78tLa0fH583NrcZGJk9PL0VE5MnJ6c/Pb05ObkTEZEREJErKqsfHp81NbUXF5c7O7slJaU5OLkzMrMjIaEdG5sVFJU/Pr8TEpMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABndAiHA4DICISCIllBQWQgSNY6NJJAcoAMCw0XaQBQtAYj0ANgcE0SwZlgSe04hI2FiFAyEFRdQYmh8AakIOJhgQHhVCFQoaRAsVGSQWihAXAF9EHFkNEBUXGxsTSBxaGx9dGxFJGKgKAAoSEydNIwoFg01DF7oQQQAh+QQJBgAYACwAAAAADwAPAIVEPjykoqR0cnTU0tRUUlSMiozs6uxMSkx8fnzc3txcXlyUlpT09vRcWlxMRkS0trR8enzc2txcVlSUkpRUTkyMhoTk5uScnpz8/vxEQkR8dnTU1tRUVlSMjoz08vRMTkyEgoTk4uRkYmSclpT8+vy8urwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGc0CMcEgsGo9Gw6LhkHRCmICFODgAAJ8M4FDJTIUGCgCRwIQKV+9wMiaWtIAvRqOACiMKwucjJzFIJEN+gEQiHAQcJUMeBROCBFcLRBcAEESQAB0GGB4XGRkbghwCnxkiWhkPRRMMCSAfABkIoUhCDLW4Q0EAIfkECQYAGQAsAAAAAA8ADwCFRD48pKKkdHJ01NLU7OrsXFZUjIqMvLq8TEpM3N7c9Pb0lJaUxMbErK6sfH58bGpsVFJUTEZE3Nrc9PL0XF5clJKUxMLEVE5M5Obk/P78nJ6ctLa0hIaEREJE1NbU7O7sXFpcjI6MvL68TE5M5OLk/Pr8nJqczM7MtLK0hIKEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnPAjHBILBqPRsICFCmESMcBAgAYdQAIi9HzSCUyJEOnAx0GBqUSsQJwYFAZyTiFGZZEgHGlJKACQBIZEwJXVR8iYwANE0MTAVMNGSISHAAhRSUYC2pCJFMhH4IaEAdGDGMdFFcdG0cJKSNYDoFIQgqctblBADs=]]></data>
	</file>
	<file>
	  <filename>/templates/js/jquery.colorpicker.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Lypqc2xpbnQgZGV2ZWw6IHRydWUsIGJpdHdpc2U6IHRydWUsIHJlZ2V4cDogdHJ1ZSwgYnJvd3NlcjogdHJ1ZSwgY29uZnVzaW9uOiB0cnVlLCB1bnBhcmFtOiB0cnVlLCBlcWVxOiB0cnVlLCB3aGl0ZTogdHJ1ZSwgbm9tZW46IHRydWUsIHBsdXNwbHVzOiB0cnVlLCBtYXhlcnI6IDUwLCBpbmRlbnQ6IDQgKi8KLypnbG9iYWxzIGpRdWVyeSxDb2xvciAqLwoKLyoKICogQ29sb3JQaWNrZXIKICoKICogQ29weXJpZ2h0IChjKSAyMDExLTIwMTIgTWFydGlqbiBXLiB2YW4gZGVyIExlZQogKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlULgogKgogKiBGdWxsLWZlYXR1cmVkIGNvbG9ycGlja2VyIGZvciBqUXVlcnlVSSB3aXRoIGZ1bGwgdGhlbWluZyBzdXBwb3J0LgogKiBNb3N0IGltYWdlcyBmcm9tIGpQaWNrZXIgYnkgQ2hyaXN0b3BoZXIgVC4gVGlsbG1hbi4KICogU291cmNlY29kZSBjcmVhdGVkIGZyb20gc2NyYXRjaCBieSBNYXJ0aWpuIFcuIHZhbiBkZXIgTGVlLgogKi8KCihmdW5jdGlvbiAoJCkgewoJInVzZSBzdHJpY3QiOwoKCSQuY29sb3JwaWNrZXIgPSBuZXcgZnVuY3Rpb24oKSB7CgkJdGhpcy5yZWdpb25hbCA9IFtdOwoJCXRoaXMucmVnaW9uYWxbJyddID0JewoJCQlvazoJCQkJJ09LJywKCQkJY2FuY2VsOgkJCSdDYW5jZWwnLAoJCQlub25lOgkJCSdOb25lJywKCQkJYnV0dG9uOgkJCSdDb2xvcicsCgkJCXRpdGxlOgkJCSdQaWNrIGEgY29sb3InLAoJCQl0cmFuc3BhcmVudDoJJ1RyYW5zcGFyZW50JywKCQkJaHN2SDoJCQknSCcsCgkJCWhzdlM6CQkJJ1MnLAoJCQloc3ZWOgkJCSdWJywKCQkJcmdiUjoJCQknUicsCgkJCXJnYkc6CQkJJ0cnLAoJCQlyZ2JCOgkJCSdCJywKCQkJbGFiTDoJCQknTCcsCgkJCWxhYkE6CQkJJ2EnLAoJCQlsYWJCOgkJCSdiJywKCQkJaHNsSDoJCQknSCcsCgkJCWhzbFM6CQkJJ1MnLAoJCQloc2xMOgkJCSdMJywKCQkJY215a0M6CQkJJ0MnLAoJCQljbXlrTToJCQknTScsCgkJCWNteWtZOgkJCSdZJywKCQkJY215a0s6CQkJJ0snLAoJCQlhbHBoYUE6CQkJJ0EnCgkJfTsKCX07CgoJdmFyIF9jb2xvcnBpY2tlcl9pbmRleCA9IDAsCgoJCV9jb250YWluZXJfcG9wdXAgPSAnPGRpdiBjbGFzcz0idWktY29sb3JwaWNrZXIgdWktY29sb3JwaWNrZXItZGlhbG9nIHVpLWRpYWxvZyB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWFsbCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij48L2Rpdj4nLAoKCQlfY29udGFpbmVyX2lubGluZSA9ICc8ZGl2IGNsYXNzPSJ1aS1jb2xvcnBpY2tlciB1aS1jb2xvcnBpY2tlci1pbmxpbmUgdWktZGlhbG9nIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIj48L2Rpdj4nLAoKCQlfcGFydHNfbGlzdHMgPSB7CgkJCSdmdWxsJzoJCQlbJ2hlYWRlcicsICdtYXAnLCAnYmFyJywgJ2hleCcsICdoc3YnLCAncmdiJywgJ2FscGhhJywgJ2xhYicsICdjbXlrJywgJ3ByZXZpZXcnLCAnc3dhdGNoZXMnLCAnZm9vdGVyJ10sCgkJCSdwb3B1cCc6CQlbJ21hcCcsICdiYXInLCAnaGV4JywgJ2hzdicsICdyZ2InLCAnYWxwaGEnLCAncHJldmlldycsICdmb290ZXInXSwKCQkJJ2RyYWdnYWJsZSc6CVsnaGVhZGVyJywgJ21hcCcsICdiYXInLCAnaGV4JywgJ2hzdicsICdyZ2InLCAnYWxwaGEnLCAncHJldmlldycsICdmb290ZXInXSwKCQkJJ2lubGluZSc6CQlbJ21hcCcsICdiYXInLCAnaGV4JywgJ2hzdicsICdyZ2InLCAnYWxwaGEnLCAncHJldmlldyddCgkJfSwKCgkJX2ludFRvSGV4ID0gZnVuY3Rpb24gKGRlYykgewoJCQl2YXIgcmVzdWx0ID0gTWF0aC5yb3VuZChkZWMpLnRvU3RyaW5nKDE2KTsKCQkJaWYgKHJlc3VsdC5sZW5ndGggPT09IDEpIHsKCQkJCXJlc3VsdCA9ICgnMCcgKyByZXN1bHQpOwoJCQl9CgkJCXJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKTsKCQl9LAoKCQlfZm9ybWF0cyA9IHsKCQkJJyNIRVgnOgkJZnVuY3Rpb24oY29sb3IpIHsKCQkJCQkJCXJldHVybiBfZm9ybWF0Q29sb3IoJyNyeGd4YngnLCBjb2xvcik7CgkJCQkJCX0KCQksCScjSEVYMyc6CWZ1bmN0aW9uKGNvbG9yKSB7CgkJCQkJCQl2YXIgaGV4MyA9IF9mb3JtYXRzLkhFWDMoY29sb3IpOwoJCQkJCQkJcmV0dXJuIGhleDMgPT09IGZhbHNlPyBmYWxzZSA6ICcjJytoZXgzOwoJCQkJCQl9CgkJLAknSEVYJzoJCWZ1bmN0aW9uKGNvbG9yKSB7CgkJCQkJCQlyZXR1cm4gX2Zvcm1hdENvbG9yKCdyeGd4YngnLCBjb2xvcik7CgkJCQkJCX0KCQksCSdIRVgzJzoJCWZ1bmN0aW9uKGNvbG9yKSB7CgkJCQkJCQl2YXIgcmdiID0gY29sb3IuZ2V0UkdCKCksCgkJCQkJCQkJciA9IE1hdGgucm91bmQocmdiLnIgKiAyNTUpLAoJCQkJCQkJCWcgPSBNYXRoLnJvdW5kKHJnYi5nICogMjU1KSwKCQkJCQkJCQliID0gTWF0aC5yb3VuZChyZ2IuYiAqIDI1NSk7CgoJCQkJCQkJaWYgKCgociA+Pj4gNCkgPT0gKHIgJj0gMHhmKSkKCQkJCQkJCSAmJiAoKGcgPj4+IDQpID09IChnICY9IDB4ZikpCgkJCQkJCQkgJiYgKChiID4+PiA0KSA9PSAoYiAmPSAweGYpKSkgewoJCQkJCQkJCXJldHVybiByLnRvU3RyaW5nKDE2KStnLnRvU3RyaW5nKDE2KStiLnRvU3RyaW5nKDE2KTsKCQkJCQkJCX0KCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfQoJCSwJJ1JHQic6CQlmdW5jdGlvbihjb2xvcikgewoJCQkJCQkJcmV0dXJuIGNvbG9yLmdldEFscGhhKCkgPj0gMQoJCQkJCQkJCQk/IF9mb3JtYXRDb2xvcigncmdiKHJkLGdkLGJkKScsIGNvbG9yKQoJCQkJCQkJCQk6IGZhbHNlOwoJCQkJCQl9CgkJLAknUkdCQSc6CQlmdW5jdGlvbihjb2xvcikgewoJCQkJCQkJcmV0dXJuIF9mb3JtYXRDb2xvcigncmdiYShyZCxnZCxiZCxhZiknLCBjb2xvcik7CgkJCQkJCX0KCQksCSdSR0IlJzoJZnVuY3Rpb24oY29sb3IpIHsKCQkJCQkJCXJldHVybiBjb2xvci5nZXRBbHBoYSgpID49IDEKCQkJCQkJCQkJPyBfZm9ybWF0Q29sb3IoJ3JnYihycCUsZ3AlLGJwJSknLCBjb2xvcikKCQkJCQkJCQkJOiBmYWxzZTsKCQkJCQkJfQoJCSwJJ1JHQkElJzoJZnVuY3Rpb24oY29sb3IpIHsKCQkJCQkJCXJldHVybiBfZm9ybWF0Q29sb3IoJ3JnYmEocnAlLGdwJSxicCUsYWYpJywgY29sb3IpOwoJCQkJCQl9CgkJLAknSFNMJzoJCWZ1bmN0aW9uKGNvbG9yKSB7CgkJCQkJCQlyZXR1cm4gY29sb3IuZ2V0QWxwaGEoKSA+PSAxCgkJCQkJCQkJCT8gX2Zvcm1hdENvbG9yKCdoc2woaGQsc2QsdmQpJywgY29sb3IpCgkJCQkJCQkJCTogZmFsc2U7CgkJCQkJCX0KCQksCSdIU0xBJzoJCWZ1bmN0aW9uKGNvbG9yKSB7CgkJCQkJCQlyZXR1cm4gX2Zvcm1hdENvbG9yKCdoc2xhKGhkLHNkLHZkLGFmKScsIGNvbG9yKTsKCQkJCQkJfQoJCSwJJ0hTTCUnOglmdW5jdGlvbihjb2xvcikgewoJCQkJCQkJcmV0dXJuIGNvbG9yLmdldEFscGhhKCkgPj0gMQoJCQkJCQkJCQk/IF9mb3JtYXRDb2xvcignaHNsKGhwJSxzcCUsdnAlKScsIGNvbG9yKQoJCQkJCQkJCQk6IGZhbHNlOwoJCQkJCQl9CgkJLAknSFNMQSUnOglmdW5jdGlvbihjb2xvcikgewoJCQkJCQkJcmV0dXJuIF9mb3JtYXRDb2xvcignaHNsYShocCUsc3AlLHZwJSxhZiknLCBjb2xvcik7CgkJCQkJCX0KCQksCSdOQU1FJzoJCWZ1bmN0aW9uKGNvbG9yKSB7CgkJCQkJCQlyZXR1cm4gX2Nsb3Nlc3ROYW1lKGNvbG9yKTsKCQkJCQkJfQoJCSwJJ0VYQUNUJzoJZnVuY3Rpb24oY29sb3IpIHsJCS8vQHRvZG8gZXhwZXJpbWVudGFsLiBJbXBsZW1lbnQgYSBnb29kIGZhbGxiYWNrIGxpc3QKCQkJCQkJCXJldHVybiBfZXhhY3ROYW1lKGNvbG9yKTsKCQkJCQkJfQoJCX0sCgoJCV9mb3JtYXRDb2xvciA9IGZ1bmN0aW9uIChmb3JtYXRzLCBjb2xvcikgewoJCQl2YXIgdGhhdAkJPSB0aGlzLAoJCQkJdGV4dAkJPSBudWxsLAoJCQkJdHlwZXMJCT0gewkneCc6CWZ1bmN0aW9uKHYpIHtyZXR1cm4gX2ludFRvSGV4KHYgKiAyNTUpO30KCQkJCQkJCSwJJ2QnOglmdW5jdGlvbih2KSB7cmV0dXJuIE1hdGgucm91bmQodiAqIDI1NSk7fQoJCQkJCQkJLAknZic6CWZ1bmN0aW9uKHYpIHtyZXR1cm4gdjt9CgkJCQkJCQksCSdwJzoJZnVuY3Rpb24odikge3JldHVybiB2ICogMTAwO30KCQkJCQkJCX0sCgkJCQljaGFubmVscwk9IGNvbG9yLmdldENoYW5uZWxzKCk7CgoJCQlpZiAoISQuaXNBcnJheShmb3JtYXRzKSkgewoJCQkJZm9ybWF0cyA9IFtmb3JtYXRzXTsKCQkJfQoKCQkJJC5lYWNoKGZvcm1hdHMsIGZ1bmN0aW9uKGluZGV4LCBmb3JtYXQpIHsKCQkJCWlmIChfZm9ybWF0c1tmb3JtYXRdKSB7CgkJCQkJdGV4dCA9IF9mb3JtYXRzW2Zvcm1hdF0oY29sb3IpOwoJCQkJCXJldHVybiAodGV4dCA9PT0gZmFsc2UpOwoJCQkJfSBlbHNlIHsKCQkJCQl0ZXh0ID0gZm9ybWF0LnJlcGxhY2UoL1xcP1thcmdiaHN2Y215a0xBQl1beGRmcF0vZywgZnVuY3Rpb24obSkgewoJCQkJCQlpZiAobS5tYXRjaCgvXlxcLykpIHsKCQkJCQkJCXJldHVybiBtLnNsaWNlKDEpOwoJCQkJCQl9CgkJCQkJCXJldHVybiB0eXBlc1ttLmNoYXJBdCgxKV0oY2hhbm5lbHNbbS5jaGFyQXQoMCldKTsKCQkJCQl9KTsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0pOwoKCQkJcmV0dXJuIHRleHQ7CgkJfSwKCgkJX2NvbG9ycyA9IHsKCQkJJ2JsYWNrJzoJCQkJe3I6IDAsIGc6IDAsIGI6IDB9LAoJCQknZGltZ3JheSc6CQkJCXtyOiAwLjQxMTc2NDcwNTg4MjM1MjksIGc6IDAuNDExNzY0NzA1ODgyMzUyOSwgYjogMC40MTE3NjQ3MDU4ODIzNTI5fSwKCQkJJ2dyYXknOgkJCQkJe3I6IDAuNTAxOTYwNzg0MzEzNzI1NSwgZzogMC41MDE5NjA3ODQzMTM3MjU1LCBiOiAwLjUwMTk2MDc4NDMxMzcyNTV9LAoJCQknZGFya2dyYXknOgkJCQl7cjogMC42NjI3NDUwOTgwMzkyMTU3LCBnOiAwLjY2Mjc0NTA5ODAzOTIxNTcsIGI6IDAuNjYyNzQ1MDk4MDM5MjE1N30sCgkJCSdzaWx2ZXInOgkJCQl7cjogMC43NTI5NDExNzY0NzA1ODgyLCBnOiAwLjc1Mjk0MTE3NjQ3MDU4ODIsIGI6IDAuNzUyOTQxMTc2NDcwNTg4Mn0sCgkJCSdsaWdodGdyZXknOgkJCXtyOiAwLjgyNzQ1MDk4MDM5MjE1NjgsIGc6IDAuODI3NDUwOTgwMzkyMTU2OCwgYjogMC44Mjc0NTA5ODAzOTIxNTY4fSwKCQkJJ2dhaW5zYm9ybyc6CQkJe3I6IDAuODYyNzQ1MDk4MDM5MjE1NywgZzogMC44NjI3NDUwOTgwMzkyMTU3LCBiOiAwLjg2Mjc0NTA5ODAzOTIxNTd9LAoJCQknd2hpdGVzbW9rZSc6CQkJe3I6IDAuOTYwNzg0MzEzNzI1NDkwMiwgZzogMC45NjA3ODQzMTM3MjU0OTAyLCBiOiAwLjk2MDc4NDMxMzcyNTQ5MDJ9LAoJCQknd2hpdGUnOgkJCQl7cjogMSwgZzogMSwgYjogMX0sCgkJCSdyb3N5YnJvd24nOgkJCXtyOiAwLjczNzI1NDkwMTk2MDc4NDQsIGc6IDAuNTYwNzg0MzEzNzI1NDkwMiwgYjogMC41NjA3ODQzMTM3MjU0OTAyfSwKCQkJJ2luZGlhbnJlZCc6CQkJe3I6IDAuODAzOTIxNTY4NjI3NDUxLCBnOiAwLjM2MDc4NDMxMzcyNTQ5MDIsIGI6IDAuMzYwNzg0MzEzNzI1NDkwMn0sCgkJCSdicm93bic6CQkJCXtyOiAwLjY0NzA1ODgyMzUyOTQxMTgsIGc6IDAuMTY0NzA1ODgyMzUyOTQxMTcsIGI6IDAuMTY0NzA1ODgyMzUyOTQxMTd9LAoJCQknZmlyZWJyaWNrJzoJCQl7cjogMC42OTgwMzkyMTU2ODYyNzQ1LCBnOiAwLjEzMzMzMzMzMzMzMzMzMzMzLCBiOiAwLjEzMzMzMzMzMzMzMzMzMzMzfSwKCQkJJ2xpZ2h0Y29yYWwnOgkJCXtyOiAwLjk0MTE3NjQ3MDU4ODIzNTMsIGc6IDAuNTAxOTYwNzg0MzEzNzI1NSwgYjogMC41MDE5NjA3ODQzMTM3MjU1fSwKCQkJJ21hcm9vbic6CQkJCXtyOiAwLjUwMTk2MDc4NDMxMzcyNTUsIGc6IDAsIGI6IDB9LAoJCQknZGFya3JlZCc6CQkJCXtyOiAwLjU0NTA5ODAzOTIxNTY4NjIsIGc6IDAsIGI6IDB9LAoJCQkncmVkJzoJCQkJCXtyOiAxLCBnOiAwLCBiOiAwfSwKCQkJJ3Nub3cnOgkJCQkJe3I6IDEsIGc6IDAuOTgwMzkyMTU2ODYyNzQ1MSwgYjogMC45ODAzOTIxNTY4NjI3NDUxfSwKCQkJJ3NhbG1vbic6CQkJCXtyOiAwLjk4MDM5MjE1Njg2Mjc0NTEsIGc6IDAuNTAxOTYwNzg0MzEzNzI1NSwgYjogMC40NDcwNTg4MjM1Mjk0MTE4fSwKCQkJJ21pc3R5cm9zZSc6CQkJe3I6IDEsIGc6IDAuODk0MTE3NjQ3MDU4ODIzNiwgYjogMC44ODIzNTI5NDExNzY0NzA2fSwKCQkJJ3RvbWF0byc6CQkJCXtyOiAxLCBnOiAwLjM4ODIzNTI5NDExNzY0NzA3LCBiOiAwLjI3ODQzMTM3MjU0OTAxOTZ9LAoJCQknZGFya3NhbG1vbic6CQkJe3I6IDAuOTEzNzI1NDkwMTk2MDc4NCwgZzogMC41ODgyMzUyOTQxMTc2NDcxLCBiOiAwLjQ3ODQzMTM3MjU0OTAxOTYzfSwKCQkJJ29yYW5nZXJlZCc6CQkJe3I6IDEsIGc6IDAuMjcwNTg4MjM1Mjk0MTE3NjMsIGI6IDB9LAoJCQknY29yYWwnOgkJCQl7cjogMSwgZzogMC40OTgwMzkyMTU2ODYyNzQ1LCBiOiAwLjMxMzcyNTQ5MDE5NjA3ODR9LAoJCQknbGlnaHRzYWxtb24nOgkJCXtyOiAxLCBnOiAwLjYyNzQ1MDk4MDM5MjE1NjksIGI6IDAuNDc4NDMxMzcyNTQ5MDE5NjN9LAoJCQknc2llbm5hJzoJCQkJe3I6IDAuNjI3NDUwOTgwMzkyMTU2OSwgZzogMC4zMjE1Njg2Mjc0NTA5ODA0LCBiOiAwLjE3NjQ3MDU4ODIzNTI5NDEzfSwKCQkJJ3NlYXNoZWxsJzoJCQkJe3I6IDEsIGc6IDAuOTYwNzg0MzEzNzI1NDkwMiwgYjogMC45MzMzMzMzMzMzMzMzMzMzfSwKCQkJJ2Nob2NvbGF0ZSc6CQkJe3I6IDAuODIzNTI5NDExNzY0NzA1OCwgZzogMC40MTE3NjQ3MDU4ODIzNTI5LCBiOiAwLjExNzY0NzA1ODgyMzUyOTQxfSwKCQkJJ3NhZGRsZWJyb3duJzoJCQl7cjogMC41NDUwOTgwMzkyMTU2ODYyLCBnOiAwLjI3MDU4ODIzNTI5NDExNzYzLCBiOiAwLjA3NDUwOTgwMzkyMTU2ODYzfSwKCQkJJ3NhbmR5YnJvd24nOgkJCXtyOiAwLjk1Njg2Mjc0NTA5ODAzOTMsIGc6IDAuNjQzMTM3MjU0OTAxOTYwOCwgYjogMC4zNzY0NzA1ODgyMzUyOTQxfSwKCQkJJ3BlYWNocHVmZic6CQkJe3I6IDEsIGc6IDAuODU0OTAxOTYwNzg0MzEzNywgYjogMC43MjU0OTAxOTYwNzg0MzEzfSwKCQkJJ3BlcnUnOgkJCQkJe3I6IDAuODAzOTIxNTY4NjI3NDUxLCBnOiAwLjUyMTU2ODYyNzQ1MDk4MDQsIGI6IDAuMjQ3MDU4ODIzNTI5NDExNzh9LAoJCQknbGluZW4nOgkJCQl7cjogMC45ODAzOTIxNTY4NjI3NDUxLCBnOiAwLjk0MTE3NjQ3MDU4ODIzNTMsIGI6IDAuOTAxOTYwNzg0MzEzNzI1NX0sCgkJCSdkYXJrb3JhbmdlJzoJCQl7cjogMSwgZzogMC41NDkwMTk2MDc4NDMxMzczLCBiOiAwfSwKCQkJJ2Jpc3F1ZSc6CQkJCXtyOiAxLCBnOiAwLjg5NDExNzY0NzA1ODgyMzYsIGI6IDAuNzY4NjI3NDUwOTgwMzkyMn0sCgkJCSdidXJseXdvb2QnOgkJCXtyOiAwLjg3MDU4ODIzNTI5NDExNzcsIGc6IDAuNzIxNTY4NjI3NDUwOTgwNCwgYjogMC41Mjk0MTE3NjQ3MDU4ODI0fSwKCQkJJ3Rhbic6CQkJCQl7cjogMC44MjM1Mjk0MTE3NjQ3MDU4LCBnOiAwLjcwNTg4MjM1Mjk0MTE3NjUsIGI6IDAuNTQ5MDE5NjA3ODQzMTM3M30sCgkJCSdhbnRpcXVld2hpdGUnOgkJCXtyOiAwLjk4MDM5MjE1Njg2Mjc0NTEsIGc6IDAuOTIxNTY4NjI3NDUwOTgwMywgYjogMC44NDMxMzcyNTQ5MDE5NjA4fSwKCQkJJ25hdmFqb3doaXRlJzoJCQl7cjogMSwgZzogMC44NzA1ODgyMzUyOTQxMTc3LCBiOiAwLjY3ODQzMTM3MjU0OTAxOTZ9LAoJCQknYmxhbmNoZWRhbG1vbmQnOgkJe3I6IDEsIGc6IDAuOTIxNTY4NjI3NDUwOTgwMywgYjogMC44MDM5MjE1Njg2Mjc0NTF9LAoJCQkncGFwYXlhd2hpcCc6CQkJe3I6IDEsIGc6IDAuOTM3MjU0OTAxOTYwNzg0MywgYjogMC44MzUyOTQxMTc2NDcwNTg5fSwKCQkJJ29yYW5nZSc6CQkJCXtyOiAxLCBnOiAwLjY0NzA1ODgyMzUyOTQxMTgsIGI6IDB9LAoJCQknbW9jY2FzaW4nOgkJCQl7cjogMSwgZzogMC44OTQxMTc2NDcwNTg4MjM2LCBiOiAwLjcwOTgwMzkyMTU2ODYyNzV9LAoJCQknd2hlYXQnOgkJCQl7cjogMC45NjA3ODQzMTM3MjU0OTAyLCBnOiAwLjg3MDU4ODIzNTI5NDExNzcsIGI6IDAuNzAxOTYwNzg0MzEzNzI1NH0sCgkJCSdvbGRsYWNlJzoJCQkJe3I6IDAuOTkyMTU2ODYyNzQ1MDk4MSwgZzogMC45NjA3ODQzMTM3MjU0OTAyLCBiOiAwLjkwMTk2MDc4NDMxMzcyNTV9LAoJCQknZmxvcmFsd2hpdGUnOgkJCXtyOiAxLCBnOiAwLjk4MDM5MjE1Njg2Mjc0NTEsIGI6IDAuOTQxMTc2NDcwNTg4MjM1M30sCgkJCSdnb2xkZW5yb2QnOgkJCXtyOiAwLjg1NDkwMTk2MDc4NDMxMzcsIGc6IDAuNjQ3MDU4ODIzNTI5NDExOCwgYjogMC4xMjU0OTAxOTYwNzg0MzEzN30sCgkJCSdkYXJrZ29sZGVucm9kJzoJCXtyOiAwLjcyMTU2ODYyNzQ1MDk4MDQsIGc6IDAuNTI1NDkwMTk2MDc4NDMxNCwgYjogMC4wNDMxMzcyNTQ5MDE5NjA3ODR9LAoJCQknY29ybnNpbGsnOgkJCQl7cjogMSwgZzogMC45NzI1NDkwMTk2MDc4NDMxLCBiOiAwLjg2Mjc0NTA5ODAzOTIxNTd9LAoJCQknZ29sZCc6CQkJCQl7cjogMSwgZzogMC44NDMxMzcyNTQ5MDE5NjA4LCBiOiAwfSwKCQkJJ3BhbGVnb2xkZW5yb2QnOgkJe3I6IDAuOTMzMzMzMzMzMzMzMzMzMywgZzogMC45MDk4MDM5MjE1Njg2Mjc0LCBiOiAwLjY2NjY2NjY2NjY2NjY2NjZ9LAoJCQkna2hha2knOgkJCQl7cjogMC45NDExNzY0NzA1ODgyMzUzLCBnOiAwLjkwMTk2MDc4NDMxMzcyNTUsIGI6IDAuNTQ5MDE5NjA3ODQzMTM3M30sCgkJCSdsZW1vbmNoaWZmb24nOgkJCXtyOiAxLCBnOiAwLjk4MDM5MjE1Njg2Mjc0NTEsIGI6IDAuODAzOTIxNTY4NjI3NDUxfSwKCQkJJ2RhcmtraGFraSc6CQkJe3I6IDAuNzQxMTc2NDcwNTg4MjM1MywgZzogMC43MTc2NDcwNTg4MjM1Mjk0LCBiOiAwLjQxOTYwNzg0MzEzNzI1NDl9LAoJCQknYmVpZ2UnOgkJCQl7cjogMC45NjA3ODQzMTM3MjU0OTAyLCBnOiAwLjk2MDc4NDMxMzcyNTQ5MDIsIGI6IDAuODYyNzQ1MDk4MDM5MjE1N30sCgkJCSdsaWdodGdvbGRlbnJvZHllbGxvdyc6CXtyOiAwLjk4MDM5MjE1Njg2Mjc0NTEsIGc6IDAuOTgwMzkyMTU2ODYyNzQ1MSwgYjogMC44MjM1Mjk0MTE3NjQ3MDU4fSwKCQkJJ29saXZlJzoJCQkJe3I6IDAuNTAxOTYwNzg0MzEzNzI1NSwgZzogMC41MDE5NjA3ODQzMTM3MjU1LCBiOiAwfSwKCQkJJ3llbGxvdyc6CQkJCXtyOiAxLCBnOiAxLCBiOiAwfSwKCQkJJ2xpZ2h0eWVsbG93JzoJCQl7cjogMSwgZzogMSwgYjogMC44Nzg0MzEzNzI1NDkwMTk2fSwKCQkJJ2l2b3J5JzoJCQkJe3I6IDEsIGc6IDEsIGI6IDAuOTQxMTc2NDcwNTg4MjM1M30sCgkJCSdvbGl2ZWRyYWInOgkJCXtyOiAwLjQxOTYwNzg0MzEzNzI1NDksIGc6IDAuNTU2ODYyNzQ1MDk4MDM5MiwgYjogMC4xMzcyNTQ5MDE5NjA3ODQzM30sCgkJCSd5ZWxsb3dncmVlbic6CQkJe3I6IDAuNjAzOTIxNTY4NjI3NDUwOSwgZzogMC44MDM5MjE1Njg2Mjc0NTEsIGI6IDAuMTk2MDc4NDMxMzcyNTQ5MDJ9LAoJCQknZGFya29saXZlZ3JlZW4nOgkJe3I6IDAuMzMzMzMzMzMzMzMzMzMzMywgZzogMC40MTk2MDc4NDMxMzcyNTQ5LCBiOiAwLjE4NDMxMzcyNTQ5MDE5NjF9LAoJCQknZ3JlZW55ZWxsb3cnOgkJCXtyOiAwLjY3ODQzMTM3MjU0OTAxOTYsIGc6IDEsIGI6IDAuMTg0MzEzNzI1NDkwMTk2MX0sCgkJCSdsYXduZ3JlZW4nOgkJCXtyOiAwLjQ4NjI3NDUwOTgwMzkyMTU2LCBnOiAwLjk4ODIzNTI5NDExNzY0NzEsIGI6IDB9LAoJCQknY2hhcnRyZXVzZSc6CQkJe3I6IDAuNDk4MDM5MjE1Njg2Mjc0NSwgZzogMSwgYjogMH0sCgkJCSdkYXJrc2VhZ3JlZW4nOgkJCXtyOiAwLjU2MDc4NDMxMzcyNTQ5MDIsIGc6IDAuNzM3MjU0OTAxOTYwNzg0NCwgYjogMC41NjA3ODQzMTM3MjU0OTAyfSwKCQkJJ2ZvcmVzdGdyZWVuJzoJCQl7cjogMC4xMzMzMzMzMzMzMzMzMzMzMywgZzogMC41NDUwOTgwMzkyMTU2ODYyLCBiOiAwLjEzMzMzMzMzMzMzMzMzMzMzfSwKCQkJJ2xpbWVncmVlbic6CQkJe3I6IDAuMTk2MDc4NDMxMzcyNTQ5MDIsIGc6IDAuODAzOTIxNTY4NjI3NDUxLCBiOiAwLjE5NjA3ODQzMTM3MjU0OTAyfSwKCQkJJ2xpZ2h0Z3JlZW4nOgkJCXtyOiAwLjU2NDcwNTg4MjM1Mjk0MTIsIGc6IDAuOTMzMzMzMzMzMzMzMzMzMywgYjogMC41NjQ3MDU4ODIzNTI5NDEyfSwKCQkJJ3BhbGVncmVlbic6CQkJe3I6IDAuNTk2MDc4NDMxMzcyNTQ5LCBnOiAwLjk4NDMxMzcyNTQ5MDE5NiwgYjogMC41OTYwNzg0MzEzNzI1NDl9LAoJCQknZGFya2dyZWVuJzoJCQl7cjogMCwgZzogMC4zOTIxNTY4NjI3NDUwOTgwMywgYjogMH0sCgkJCSdncmVlbic6CQkJCXtyOiAwLCBnOiAwLjUwMTk2MDc4NDMxMzcyNTUsIGI6IDB9LAoJCQknbGltZSc6CQkJCQl7cjogMCwgZzogMSwgYjogMH0sCgkJCSdob25leWRldyc6CQkJCXtyOiAwLjk0MTE3NjQ3MDU4ODIzNTMsIGc6IDEsIGI6IDAuOTQxMTc2NDcwNTg4MjM1M30sCgkJCSdtZWRpdW1zZWFncmVlbic6CQl7cjogMC4yMzUyOTQxMTc2NDcwNTg4MiwgZzogMC43MDE5NjA3ODQzMTM3MjU0LCBiOiAwLjQ0MzEzNzI1NDkwMTk2MDc2fSwKCQkJJ3NlYWdyZWVuJzoJCQkJe3I6IDAuMTgwMzkyMTU2ODYyNzQ1MSwgZzogMC41NDUwOTgwMzkyMTU2ODYyLCBiOiAwLjM0MTE3NjQ3MDU4ODIzNTN9LAoJCQknc3ByaW5nZ3JlZW4nOgkJCXtyOiAwLCBnOiAxLCBiOiAwLjQ5ODAzOTIxNTY4NjI3NDV9LAoJCQknbWludGNyZWFtJzoJCQl7cjogMC45NjA3ODQzMTM3MjU0OTAyLCBnOiAxLCBiOiAwLjk4MDM5MjE1Njg2Mjc0NTF9LAoJCQknbWVkaXVtc3ByaW5nZ3JlZW4nOgl7cjogMCwgZzogMC45ODAzOTIxNTY4NjI3NDUxLCBiOiAwLjYwMzkyMTU2ODYyNzQ1MDl9LAoJCQknbWVkaXVtYXF1YW1hcmluZSc6CQl7cjogMC40LCBnOiAwLjgwMzkyMTU2ODYyNzQ1MSwgYjogMC42NjY2NjY2NjY2NjY2NjY2fSwKCQkJJ2FxdWFtYXJpbmUnOgkJCXtyOiAwLjQ5ODAzOTIxNTY4NjI3NDUsIGc6IDEsIGI6IDAuODMxMzcyNTQ5MDE5NjA3OX0sCgkJCSd0dXJxdW9pc2UnOgkJCXtyOiAwLjI1MDk4MDM5MjE1Njg2Mjc0LCBnOiAwLjg3ODQzMTM3MjU0OTAxOTYsIGI6IDAuODE1Njg2Mjc0NTA5ODAzOX0sCgkJCSdsaWdodHNlYWdyZWVuJzoJCXtyOiAwLjEyNTQ5MDE5NjA3ODQzMTM3LCBnOiAwLjY5ODAzOTIxNTY4NjI3NDUsIGI6IDAuNjY2NjY2NjY2NjY2NjY2Nn0sCgkJCSdtZWRpdW10dXJxdW9pc2UnOgkJe3I6IDAuMjgyMzUyOTQxMTc2NDcwNiwgZzogMC44MTk2MDc4NDMxMzcyNTQ5LCBiOiAwLjh9LAoJCQknZGFya3NsYXRlZ3JheSc6CQl7cjogMC4xODQzMTM3MjU0OTAxOTYxLCBnOiAwLjMwOTgwMzkyMTU2ODYyNzQ2LCBiOiAwLjMwOTgwMzkyMTU2ODYyNzQ2fSwKCQkJJ3BhbGV0dXJxdW9pc2UnOgkJe3I6IDAuNjg2Mjc0NTA5ODAzOTIxNiwgZzogMC45MzMzMzMzMzMzMzMzMzMzLCBiOiAwLjkzMzMzMzMzMzMzMzMzMzN9LAoJCQkndGVhbCc6CQkJCQl7cjogMCwgZzogMC41MDE5NjA3ODQzMTM3MjU1LCBiOiAwLjUwMTk2MDc4NDMxMzcyNTV9LAoJCQknZGFya2N5YW4nOgkJCQl7cjogMCwgZzogMC41NDUwOTgwMzkyMTU2ODYyLCBiOiAwLjU0NTA5ODAzOTIxNTY4NjJ9LAoJCQknZGFya3R1cnF1b2lzZSc6CQl7cjogMCwgZzogMC44MDc4NDMxMzcyNTQ5MDIsIGI6IDAuODE5NjA3ODQzMTM3MjU0OX0sCgkJCSdhcXVhJzoJCQkJCXtyOiAwLCBnOiAxLCBiOiAxfSwKCQkJJ2N5YW4nOgkJCQkJe3I6IDAsIGc6IDEsIGI6IDF9LAoJCQknbGlnaHRjeWFuJzoJCQl7cjogMC44Nzg0MzEzNzI1NDkwMTk2LCBnOiAxLCBiOiAxfSwKCQkJJ2F6dXJlJzoJCQkJe3I6IDAuOTQxMTc2NDcwNTg4MjM1MywgZzogMSwgYjogMX0sCgkJCSdjYWRldGJsdWUnOgkJCXtyOiAwLjM3MjU0OTAxOTYwNzg0MzE1LCBnOiAwLjYxOTYwNzg0MzEzNzI1NDksIGI6IDAuNjI3NDUwOTgwMzkyMTU2OX0sCgkJCSdwb3dkZXJibHVlJzoJCQl7cjogMC42OTAxOTYwNzg0MzEzNzI1LCBnOiAwLjg3ODQzMTM3MjU0OTAxOTYsIGI6IDAuOTAxOTYwNzg0MzEzNzI1NX0sCgkJCSdsaWdodGJsdWUnOgkJCXtyOiAwLjY3ODQzMTM3MjU0OTAxOTYsIGc6IDAuODQ3MDU4ODIzNTI5NDExOCwgYjogMC45MDE5NjA3ODQzMTM3MjU1fSwKCQkJJ2RlZXBza3libHVlJzoJCQl7cjogMCwgZzogMC43NDkwMTk2MDc4NDMxMzczLCBiOiAxfSwKCQkJJ3NreWJsdWUnOgkJCQl7cjogMC41Mjk0MTE3NjQ3MDU4ODI0LCBnOiAwLjgwNzg0MzEzNzI1NDkwMiwgYjogMC45MjE1Njg2Mjc0NTA5ODAzfSwKCQkJJ2xpZ2h0c2t5Ymx1ZSc6CQkJe3I6IDAuNTI5NDExNzY0NzA1ODgyNCwgZzogMC44MDc4NDMxMzcyNTQ5MDIsIGI6IDAuOTgwMzkyMTU2ODYyNzQ1MX0sCgkJCSdzdGVlbGJsdWUnOgkJCXtyOiAwLjI3NDUwOTgwMzkyMTU2ODY1LCBnOiAwLjUwOTgwMzkyMTU2ODYyNzQsIGI6IDAuNzA1ODgyMzUyOTQxMTc2NX0sCgkJCSdhbGljZWJsdWUnOgkJCXtyOiAwLjk0MTE3NjQ3MDU4ODIzNTMsIGc6IDAuOTcyNTQ5MDE5NjA3ODQzMSwgYjogMX0sCgkJCSdkb2RnZXJibHVlJzoJCQl7cjogMC4xMTc2NDcwNTg4MjM1Mjk0MSwgZzogMC41NjQ3MDU4ODIzNTI5NDEyLCBiOiAxfSwKCQkJJ3NsYXRlZ3JheSc6CQkJe3I6IDAuNDM5MjE1Njg2Mjc0NTA5OCwgZzogMC41MDE5NjA3ODQzMTM3MjU1LCBiOiAwLjU2NDcwNTg4MjM1Mjk0MTJ9LAoJCQknbGlnaHRzbGF0ZWdyYXknOgkJe3I6IDAuNDY2NjY2NjY2NjY2NjY2NywgZzogMC41MzMzMzMzMzMzMzMzMzMzLCBiOiAwLjZ9LAoJCQknbGlnaHRzdGVlbGJsdWUnOgkJe3I6IDAuNjkwMTk2MDc4NDMxMzcyNSwgZzogMC43Njg2Mjc0NTA5ODAzOTIyLCBiOiAwLjg3MDU4ODIzNTI5NDExNzd9LAoJCQknY29ybmZsb3dlcmJsdWUnOgkJe3I6IDAuMzkyMTU2ODYyNzQ1MDk4MDMsIGc6IDAuNTg0MzEzNzI1NDkwMTk2MSwgYjogMC45Mjk0MTE3NjQ3MDU4ODI0fSwKCQkJJ3JveWFsYmx1ZSc6CQkJe3I6IDAuMjU0OTAxOTYwNzg0MzEzNywgZzogMC40MTE3NjQ3MDU4ODIzNTI5LCBiOiAwLjg4MjM1Mjk0MTE3NjQ3MDZ9LAoJCQknbWlkbmlnaHRibHVlJzoJCQl7cjogMC4wOTgwMzkyMTU2ODYyNzQ1MSwgZzogMC4wOTgwMzkyMTU2ODYyNzQ1MSwgYjogMC40MzkyMTU2ODYyNzQ1MDk4fSwKCQkJJ2xhdmVuZGVyJzoJCQkJe3I6IDAuOTAxOTYwNzg0MzEzNzI1NSwgZzogMC45MDE5NjA3ODQzMTM3MjU1LCBiOiAwLjk4MDM5MjE1Njg2Mjc0NTF9LAoJCQknbmF2eSc6CQkJCQl7cjogMCwgZzogMCwgYjogMC41MDE5NjA3ODQzMTM3MjU1fSwKCQkJJ2RhcmtibHVlJzoJCQkJe3I6IDAsIGc6IDAsIGI6IDAuNTQ1MDk4MDM5MjE1Njg2Mn0sCgkJCSdtZWRpdW1ibHVlJzoJCQl7cjogMCwgZzogMCwgYjogMC44MDM5MjE1Njg2Mjc0NTF9LAoJCQknYmx1ZSc6CQkJCQl7cjogMCwgZzogMCwgYjogMX0sCgkJCSdnaG9zdHdoaXRlJzoJCQl7cjogMC45NzI1NDkwMTk2MDc4NDMxLCBnOiAwLjk3MjU0OTAxOTYwNzg0MzEsIGI6IDF9LAoJCQknZGFya3NsYXRlYmx1ZSc6CQl7cjogMC4yODIzNTI5NDExNzY0NzA2LCBnOiAwLjIzOTIxNTY4NjI3NDUwOTgxLCBiOiAwLjU0NTA5ODAzOTIxNTY4NjJ9LAoJCQknc2xhdGVibHVlJzoJCQl7cjogMC40MTU2ODYyNzQ1MDk4MDM5NCwgZzogMC4zNTI5NDExNzY0NzA1ODgyNiwgYjogMC44MDM5MjE1Njg2Mjc0NTF9LAoJCQknbWVkaXVtc2xhdGVibHVlJzoJCXtyOiAwLjQ4MjM1Mjk0MTE3NjQ3MDYsIGc6IDAuNDA3ODQzMTM3MjU0OTAxOTYsIGI6IDAuOTMzMzMzMzMzMzMzMzMzM30sCgkJCSdtZWRpdW1wdXJwbGUnOgkJCXtyOiAwLjU3NjQ3MDU4ODIzNTI5NDEsIGc6IDAuNDM5MjE1Njg2Mjc0NTA5OCwgYjogMC44NTg4MjM1Mjk0MTE3NjQ3fSwKCQkJJ2JsdWV2aW9sZXQnOgkJCXtyOiAwLjU0MTE3NjQ3MDU4ODIzNTMsIGc6IDAuMTY4NjI3NDUwOTgwMzkyMTcsIGI6IDAuODg2Mjc0NTA5ODAzOTIxNX0sCgkJCSdpbmRpZ28nOgkJCQl7cjogMC4yOTQxMTc2NDcwNTg4MjM1NCwgZzogMCwgYjogMC41MDk4MDM5MjE1Njg2Mjc0fSwKCQkJJ2RhcmtvcmNoaWQnOgkJCXtyOiAwLjYsIGc6IDAuMTk2MDc4NDMxMzcyNTQ5MDIsIGI6IDAuOH0sCgkJCSdkYXJrdmlvbGV0JzoJCQl7cjogMC41ODAzOTIxNTY4NjI3NDUxLCBnOiAwLCBiOiAwLjgyNzQ1MDk4MDM5MjE1Njh9LAoJCQknbWVkaXVtb3JjaGlkJzoJCQl7cjogMC43Mjk0MTE3NjQ3MDU4ODIzLCBnOiAwLjMzMzMzMzMzMzMzMzMzMzMsIGI6IDAuODI3NDUwOTgwMzkyMTU2OH0sCgkJCSd0aGlzdGxlJzoJCQkJe3I6IDAuODQ3MDU4ODIzNTI5NDExOCwgZzogMC43NDkwMTk2MDc4NDMxMzczLCBiOiAwLjg0NzA1ODgyMzUyOTQxMTh9LAoJCQkncGx1bSc6CQkJCQl7cjogMC44NjY2NjY2NjY2NjY2NjY3LCBnOiAwLjYyNzQ1MDk4MDM5MjE1NjksIGI6IDAuODY2NjY2NjY2NjY2NjY2N30sCgkJCSd2aW9sZXQnOgkJCQl7cjogMC45MzMzMzMzMzMzMzMzMzMzLCBnOiAwLjUwOTgwMzkyMTU2ODYyNzQsIGI6IDAuOTMzMzMzMzMzMzMzMzMzM30sCgkJCSdwdXJwbGUnOgkJCQl7cjogMC41MDE5NjA3ODQzMTM3MjU1LCBnOiAwLCBiOiAwLjUwMTk2MDc4NDMxMzcyNTV9LAoJCQknZGFya21hZ2VudGEnOgkJCXtyOiAwLjU0NTA5ODAzOTIxNTY4NjIsIGc6IDAsIGI6IDAuNTQ1MDk4MDM5MjE1Njg2Mn0sCgkJCSdtYWdlbnRhJzoJCQkJe3I6IDEsIGc6IDAsIGI6IDF9LAoJCQknZnVjaHNpYSc6CQkJCXtyOiAxLCBnOiAwLCBiOiAxfSwKCQkJJ29yY2hpZCc6CQkJCXtyOiAwLjg1NDkwMTk2MDc4NDMxMzcsIGc6IDAuNDM5MjE1Njg2Mjc0NTA5OCwgYjogMC44MzkyMTU2ODYyNzQ1MDk4fSwKCQkJJ21lZGl1bXZpb2xldHJlZCc6CQl7cjogMC43ODAzOTIxNTY4NjI3NDUxLCBnOiAwLjA4MjM1Mjk0MTE3NjQ3MDU5LCBiOiAwLjUyMTU2ODYyNzQ1MDk4MDR9LAoJCQknZGVlcHBpbmsnOgkJCQl7cjogMSwgZzogMC4wNzg0MzEzNzI1NDkwMTk2LCBiOiAwLjU3NjQ3MDU4ODIzNTI5NDF9LAoJCQknaG90cGluayc6CQkJCXtyOiAxLCBnOiAwLjQxMTc2NDcwNTg4MjM1MjksIGI6IDAuNzA1ODgyMzUyOTQxMTc2NX0sCgkJCSdwYWxldmlvbGV0cmVkJzoJCXtyOiAwLjg1ODgyMzUyOTQxMTc2NDcsIGc6IDAuNDM5MjE1Njg2Mjc0NTA5OCwgYjogMC41NzY0NzA1ODgyMzUyOTQxfSwKCQkJJ2xhdmVuZGVyYmx1c2gnOgkJe3I6IDEsIGc6IDAuOTQxMTc2NDcwNTg4MjM1MywgYjogMC45NjA3ODQzMTM3MjU0OTAyfSwKCQkJJ2NyaW1zb24nOgkJCQl7cjogMC44NjI3NDUwOTgwMzkyMTU3LCBnOiAwLjA3ODQzMTM3MjU0OTAxOTYsIGI6IDAuMjM1Mjk0MTE3NjQ3MDU4ODJ9LAoJCQkncGluayc6CQkJCQl7cjogMSwgZzogMC43NTI5NDExNzY0NzA1ODgyLCBiOiAwLjc5NjA3ODQzMTM3MjU0OX0sCgkJCSdsaWdodHBpbmsnOgkJCXtyOiAxLCBnOiAwLjcxMzcyNTQ5MDE5NjA3ODQsIGI6IDAuNzU2ODYyNzQ1MDk4MDM5Mn0KCQl9LAoKCQlfZXhhY3ROYW1lID0gZnVuY3Rpb24oY29sb3IpIHsKCQkJdmFyIG5hbWUJPSBmYWxzZTsKCgkJCSQuZWFjaChfY29sb3JzLCBmdW5jdGlvbihuLCBjb2xvcl9iKSB7CgkJCQlpZiAoY29sb3IuZXF1YWxzKG5ldyBDb2xvcihjb2xvcl9iLnIsIGNvbG9yX2IuZywgY29sb3JfYi5iKSkpIHsKCQkJCQluYW1lID0gbjsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0pOwoKCQkJcmV0dXJuIG5hbWU7CgkJfSwKCgkJX2Nsb3Nlc3ROYW1lID0gZnVuY3Rpb24oY29sb3IpIHsKCQkJdmFyIHJnYgkJCT0gY29sb3IuZ2V0UkdCKCksCgkJCQlkaXN0YW5jZQk9IG51bGwsCgkJCQluYW1lCQk9IGZhbHNlLAoJCQkJZDsKCgkJCSQuZWFjaChfY29sb3JzLCBmdW5jdGlvbihuLCBjb2xvcl9iKSB7CgkJCQlkID0gY29sb3IuZGlzdGFuY2UobmV3IENvbG9yKGNvbG9yX2IuciwgY29sb3JfYi5nLCBjb2xvcl9iLmIpKTsKCQkJCWlmIChkIDwgZGlzdGFuY2UgfHwgZGlzdGFuY2UgPT09IG51bGwpIHsKCQkJCQluYW1lID0gbjsKCQkJCQlpZiAoZCA9PSAwKSB7CgkJCQkJCXJldHVybiBmYWxzZTsJLy8gY2FuJ3QgZ2V0IG11Y2ggY2xvc2VyIHRoYW4gMAoJCQkJCX0KCQkJCQlkaXN0YW5jZSA9IGQ7CgkJCQl9CgkJCX0pOwoKCQkJcmV0dXJuIG5hbWU7CgkJfSwKCiAgICAgICAgX3BhcnNlSGV4ID0gZnVuY3Rpb24oY29sb3IpIHsKICAgICAgICAgICAgdmFyIGMsCiAgICAgICAgICAgICAgICBtOwoKICAgICAgICAgICAgLy8geyN9cnJnZ2JiCiAgICAgICAgICAgIG0gPSAvXiM/KFthLWZBLUYwLTldezEsNn0pJC8uZXhlYyhjb2xvcik7CiAgICAgICAgICAgIGlmIChtKSB7CiAgICAgICAgICAgICAgICBjID0gcGFyc2VJbnQobVsxXSwgMTYpOwogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDb2xvcigKCQkJCQkoKGMgPj4gMTYpICYgMHhGRikgLyAyNTUsCiAgICAgICAgICAgICAgICAgICAgKChjID4+ICA4KSAmIDB4RkYpIC8gMjU1LAogICAgICAgICAgICAgICAgICAgIChjICYgMHhGRikgLyAyNTUKCQkJCSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9LAoKICAgICAgICBfcGFyc2VDb2xvciA9IGZ1bmN0aW9uKGNvbG9yKSB7CiAgICAgICAgICAgIHZhciBuYW1lID0gJC50cmltKGNvbG9yKS50b0xvd2VyQ2FzZSgpLAogICAgICAgICAgICAgICAgbTsKCiAgICAgICAgICAgIGlmIChjb2xvciA9PSAnJykgewogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDb2xvcigpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoX2NvbG9yc1tuYW1lXSkgewogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDb2xvcihfY29sb3JzW25hbWVdLnIsIF9jb2xvcnNbbmFtZV0uZywgX2NvbG9yc1tuYW1lXS5iKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gcmdiYShyLGcsYixhKQogICAgICAgICAgICBtID0gL15yZ2JhP1woXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KVxzKixccyooXGR7MSwzfSlccyooPzosXHMqKFxkKyg/OlwuXGQrKT8pXHMqKT9cKSQvLmV4ZWMoY29sb3IpOwogICAgICAgICAgICBpZiAobSkgewogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDb2xvcigKICAgICAgICAgICAgICAgICAgICBtWzFdIC8gMjU1LAogICAgICAgICAgICAgICAgICAgIG1bMl0gLyAyNTUsCiAgICAgICAgICAgICAgICAgICAgbVszXSAvIDI1NSwKICAgICAgICAgICAgICAgICAgICBwYXJzZUZsb2F0KG1bNF0pCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBoc2xhKHIsZyxiLGEpCiAgICAgICAgICAgIG0gPSAvXmhzbGE/XChccyooXGR7MSwzfSlccyosXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KVxzKig/OixccyooXGQrKD86XC5cZCspPylccyopP1wpJC8uZXhlYyhjb2xvcik7CiAgICAgICAgICAgIGlmIChtKSB7CgkJCQlyZXR1cm4gKG5ldyBDb2xvcigpKS5zZXRIU0woCgkJCQkJbVsxXSAvIDI1NSwKCQkJCQltWzJdIC8gMjU1LAoJCQkJCW1bM10gLyAyNTUpLnNldEFscGhhKHBhcnNlRmxvYXQobVs0XSkpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyByZ2JhKHIlLGclLGIlLGElKQogICAgICAgICAgICBtID0gL15yZ2JhP1woXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyooPzosXHMqKFxkKyg/OlwuXGQrKT8pXHMqKT9cKSQvLmV4ZWMoY29sb3IpOwogICAgICAgICAgICBpZiAobSkgewogICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDb2xvcigKICAgICAgICAgICAgICAgICAgICBtWzFdIC8gMTAwLAogICAgICAgICAgICAgICAgICAgIG1bMl0gLyAxMDAsCiAgICAgICAgICAgICAgICAgICAgbVszXSAvIDEwMCwKICAgICAgICAgICAgICAgICAgICBtWzRdIC8gMTAwCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBoc2xhKHIlLGclLGIlLGElKQogICAgICAgICAgICBtID0gL15oc2xhP1woXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyooPzosXHMqKFxkKyg/OlwuXGQrKT8pXHMqKT9cKSQvLmV4ZWMoY29sb3IpOwogICAgICAgICAgICBpZiAobSkgewoJCQkJcmV0dXJuIChuZXcgQ29sb3IoKSkuc2V0SFNMKAoJCQkJCW1bMV0gLyAxMDAsCgkJCQkJbVsyXSAvIDEwMCwKCQkJCQltWzNdIC8gMTAwKS5zZXRBbHBoYShtWzRdIC8gMTAwKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gI3JyZ2diYgogICAgICAgICAgICBtID0gL14jKFthLWZBLUYwLTldezJ9KShbYS1mQS1GMC05XXsyfSkoW2EtZkEtRjAtOV17Mn0pJC8uZXhlYyhjb2xvcik7CiAgICAgICAgICAgIGlmIChtKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IENvbG9yKAogICAgICAgICAgICAgICAgICAgIHBhcnNlSW50KG1bMV0sIDE2KSAvIDI1NSwKICAgICAgICAgICAgICAgICAgICBwYXJzZUludChtWzJdLCAxNikgLyAyNTUsCiAgICAgICAgICAgICAgICAgICAgcGFyc2VJbnQobVszXSwgMTYpIC8gMjU1CiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyAjcmdiCiAgICAgICAgICAgIG0gPSAvXiMoW2EtZkEtRjAtOV0pKFthLWZBLUYwLTldKShbYS1mQS1GMC05XSkkLy5leGVjKGNvbG9yKTsKICAgICAgICAgICAgaWYgKG0pIHsKICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ29sb3IoCiAgICAgICAgICAgICAgICAgICBwYXJzZUludChtWzFdICsgbVsxXSwgMTYpIC8gMjU1LAogICAgICAgICAgICAgICAgICAgcGFyc2VJbnQobVsyXSArIG1bMl0sIDE2KSAvIDI1NSwKICAgICAgICAgICAgICAgICAgIHBhcnNlSW50KG1bM10gKyBtWzNdLCAxNikgLyAyNTUKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBfcGFyc2VIZXgoY29sb3IpOwogICAgICAgIH0sCgoJCV9sYXlvdXRUYWJsZSA9IGZ1bmN0aW9uKGxheW91dCwgY2FsbGJhY2spIHsKCQkJdmFyIGJpdG1hcCwKCQkJCXgsCgkJCQl5LAoJCQkJd2lkdGgsIGhlaWdodCwKCQkJCWNvbHVtbnMsIHJvd3MsCgkJCQlpbmRleCwKCQkJCWNlbGwsCgkJCQlodG1sLAoJCQkJdywKCQkJCWgsCgkJCQljb2xzcGFuLAoJCQkJd2Fsa2VkOwoKCQkJbGF5b3V0LnNvcnQoZnVuY3Rpb24oYSwgYikgewoJCQkJaWYgKGEucG9zWzFdID09IGIucG9zWzFdKSB7CgkJCQkJcmV0dXJuIGEucG9zWzBdIC0gYi5wb3NbMF07CgkJCQl9CgkJCQlyZXR1cm4gYS5wb3NbMV0gLSBiLnBvc1sxXTsKCQkJfSk7CgoJCQkvLyBEZXRlcm1pbmUgZGltZW5zaW9ucyBvZiB0aGUgdGFibGUKCQkJd2lkdGggPSAwOwoJCQloZWlnaHQgPSAwOwoJCQkkLmVhY2ggKGxheW91dCwgZnVuY3Rpb24oaW5kZXgsIHBhcnQpIHsKCQkJCXdpZHRoID0gTWF0aC5tYXgod2lkdGgsIHBhcnQucG9zWzBdICsgcGFydC5wb3NbMl0pOwoJCQkJaGVpZ2h0ID0gTWF0aC5tYXgoaGVpZ2h0LCBwYXJ0LnBvc1sxXSArIHBhcnQucG9zWzNdKTsKCQkJfSk7CgoJCQkvLyBJbml0aWFsaXplIGJpdG1hcAoJCQliaXRtYXAgPSBbXTsKCQkJZm9yICh4ID0gMDsgeCA8IHdpZHRoOyArK3gpIHsKCQkJCWJpdG1hcC5wdXNoKFtdKTsKCQkJfQoKCQkJLy8gTWFyayByb3dzIGFuZCBjb2x1bW5zIHdoaWNoIGhhdmUgbGF5b3V0IGFzc2lnbmVkCgkJCXJvd3MJPSBbXTsKCQkJY29sdW1ucyA9IFtdOwoJCQkkLmVhY2gobGF5b3V0LCBmdW5jdGlvbihpbmRleCwgcGFydCkgewoJCQkJLy8gbWFyayBjb2x1bW5zCgkJCQlmb3IgKHggPSAwOyB4IDwgcGFydC5wb3NbMl07IHggKz0gMSkgewoJCQkJCWNvbHVtbnNbcGFydC5wb3NbMF0gKyB4XSA9IHRydWU7CgkJCQl9CgkJCQlmb3IgKHkgPSAwOyB5IDwgcGFydC5wb3NbM107IHkgKz0gMSkgewoJCQkJCXJvd3NbcGFydC5wb3NbMV0gKyB5XSA9IHRydWU7CgkJCQl9CgkJCX0pOwoKCQkJLy8gR2VuZXJhdGUgdGhlIHRhYmxlCgkJCWh0bWwgPSAnJzsKCQkJY2VsbCA9IGxheW91dFtpbmRleCA9IDBdOwoJCQlmb3IgKHkgPSAwOyB5IDwgaGVpZ2h0OyArK3kpIHsKCQkJCWh0bWwgKz0gJzx0cj4nOwoJCQkJZm9yICh4ID0gMDsgeCA8IHdpZHRoOyB4KSB7CgkJCQkJaWYgKHR5cGVvZiBjZWxsICE9PSAndW5kZWZpbmVkJyAmJiB4ID09IGNlbGwucG9zWzBdICYmIHkgPT0gY2VsbC5wb3NbMV0pIHsKCQkJCQkJLy8gQ3JlYXRlIGEgInJlYWwiIGNlbGwKCQkJCQkJaHRtbCArPSBjYWxsYmFjayhjZWxsLCB4LCB5KTsKCgkJCQkJCWZvciAoaCA9IDA7IGggPCBjZWxsLnBvc1szXTsgaCArPTEpIHsKCQkJCQkJCWZvciAodyA9IDA7IHcgPCBjZWxsLnBvc1syXTsgdyArPTEpIHsKCQkJCQkJCQliaXRtYXBbeCArIHddW3kgKyBoXSA9IHRydWU7CgkJCQkJCQl9CgkJCQkJCX0KCgkJCQkJCXggKz0gY2VsbC5wb3NbMl07CgkJCQkJCWNlbGwgPSBsYXlvdXRbKytpbmRleF07CgkJCQkJfSBlbHNlIHsKCQkJCQkJLy8gRmlsbCBpbiB0aGUgZ2FwcwoJCQkJCQljb2xzcGFuID0gMDsKCQkJCQkJd2Fsa2VkID0gZmFsc2U7CgoJCQkJCQl3aGlsZSAoeCA8IHdpZHRoICYmIGJpdG1hcFt4XVt5XSA9PT0gdW5kZWZpbmVkICYmIChjZWxsID09PSB1bmRlZmluZWQgfHwgeSA8IGNlbGwucG9zWzFdIHx8ICh5ID09IGNlbGwucG9zWzFdICYmIHggPCBjZWxsLnBvc1swXSkpKSB7CgkJCQkJCQlpZiAoY29sdW1uc1t4XSA9PT0gdHJ1ZSkgewoJCQkJCQkJCWNvbHNwYW4gKz0gMTsKCQkJCQkJCX0KCQkJCQkJCXdhbGtlZCA9IHRydWU7CgkJCQkJCQl4ICs9IDE7CgkJCQkJCX0KCgkJCQkJCWlmIChjb2xzcGFuID4gMCkgewoJCQkJCQkJaHRtbCArPSAnPHRkIGNvbHNwYW49IicrY29sc3BhbisnIj48L3RkPic7CgkJCQkJCX0gZWxzZSBpZiAoIXdhbGtlZCkgewoJCQkJCQkJeCArPSAxOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJaHRtbCArPSAnPC90cj4nOwoJCQl9CgoJCQlyZXR1cm4gJzx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGJvcmRlcj0iMCI+PHRib2R5PicgKyBodG1sICsgJzwvdGJvZHk+PC90YWJsZT4nOwoJCX0sCgogICAgICAgIF9wYXJ0cyA9IHsKICAgICAgICAgICAgaGVhZGVyOiBmdW5jdGlvbiAoaW5zdCkgewogICAgICAgICAgICAgICAgdmFyIHRoYXQJPSB0aGlzLAogICAgICAgICAgICAgICAgICAgIGUJCT0gbnVsbCwKICAgICAgICAgICAgICAgICAgICBfaHRtbAk9ZnVuY3Rpb24oKSB7CgkJCQkJCXZhciB0aXRsZSA9IGluc3Qub3B0aW9ucy50aXRsZSB8fCBpbnN0Ll9nZXRSZWdpb25hbCgndGl0bGUnKSwKCQkJCQkJCWh0bWwgPSAnPHNwYW4gY2xhc3M9InVpLWRpYWxvZy10aXRsZSI+JyArIHRpdGxlICsgJzwvc3Bhbj4nOwoKCQkJCQkJaWYgKCFpbnN0LmlubGluZSAmJiBpbnN0Lm9wdGlvbnMuc2hvd0Nsb3NlQnV0dG9uKSB7CgkJCQkJCQlodG1sICs9ICc8YSBocmVmPSIjIiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHVpLWNvcm5lci1hbGwiIHJvbGU9ImJ1dHRvbiI+JwoJCQkJCQkJCSsgJzxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2V0aGljayI+Y2xvc2U8L3NwYW4+PC9hPic7CgkJCQkJCX0KCgkJCQkJCXJldHVybiAnPGRpdiBjbGFzcz0idWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWFsbCB1aS1oZWxwZXItY2xlYXJmaXgiPicgKyBodG1sICsgJzwvZGl2Pic7CgkJCQkJfTsKCiAgICAgICAgICAgICAgICB0aGlzLmluaXQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBlID0gJChfaHRtbCgpKS5wcmVwZW5kVG8oaW5zdC5kaWFsb2cpOwoKICAgICAgICAgICAgICAgICAgICB2YXIgY2xvc2UgPSAkKCcudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlJywgZSk7CiAgICAgICAgICAgICAgICAgICAgaW5zdC5faG92ZXJhYmxlKGNsb3NlKTsKICAgICAgICAgICAgICAgICAgICBpbnN0Ll9mb2N1c2FibGUoY2xvc2UpOwogICAgICAgICAgICAgICAgICAgIGNsb3NlLmNsaWNrKGZ1bmN0aW9uKGV2ZW50KSB7CgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGluc3QuY2xvc2UoKTsKICAgICAgICAgICAgICAgICAgICB9KTsKCgkJCQkJaWYgKCFpbnN0LmlubGluZSAmJiBpbnN0Lm9wdGlvbnMuZHJhZ2dhYmxlKSB7CgkJCQkJCWluc3QuZGlhbG9nLmRyYWdnYWJsZSh7CgkJCQkJCQloYW5kbGU6IGUKCQkJCQkJfSk7CgkJCQkJfQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIG1hcDogZnVuY3Rpb24gKGluc3QpIHsKICAgICAgICAgICAgICAgIHZhciB0aGF0CT0gdGhpcywKICAgICAgICAgICAgICAgICAgICBlCQk9IG51bGwsCgkJCQkJbW91c2Vtb3ZlX3RpbWVvdXQgPSBudWxsLAogICAgICAgICAgICAgICAgICAgIF9tb3VzZWRvd24sIF9tb3VzZXVwLCBfbW91c2Vtb3ZlLCBfaHRtbDsKCiAgICAgICAgICAgICAgICBfbW91c2Vkb3duID0gZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFpbnN0Lm9wZW5lZCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB2YXIgZGl2CQk9ICQoJy51aS1jb2xvcnBpY2tlci1tYXAtbGF5ZXItcG9pbnRlcicsIGUpLAogICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQJPSBkaXYub2Zmc2V0KCksCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoCT0gZGl2LndpZHRoKCksCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodAk9IGRpdi5oZWlnaHQoKSwKICAgICAgICAgICAgICAgICAgICAgICAgeAkJPSBldmVudC5wYWdlWCAtIG9mZnNldC5sZWZ0LAogICAgICAgICAgICAgICAgICAgICAgICB5CQk9IGV2ZW50LnBhZ2VZIC0gb2Zmc2V0LnRvcDsKCiAgICAgICAgICAgICAgICAgICAgaWYgKHggPj0gMCAmJiB4IDwgd2lkdGggJiYgeSA+PSAwICYmIHkgPCBoZWlnaHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJCQkJCWUudW5iaW5kKCdtb3VzZWRvd24nLCBfbW91c2Vkb3duKTsKICAgICAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkuYmluZCgnbW91c2V1cCcsIF9tb3VzZXVwKTsKICAgICAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkuYmluZCgnbW91c2Vtb3ZlJywgX21vdXNlbW92ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIF9tb3VzZW1vdmUoZXZlbnQpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgX21vdXNldXAgPSBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLnVuYmluZCgnbW91c2V1cCcsIF9tb3VzZXVwKTsKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS51bmJpbmQoJ21vdXNlbW92ZScsIF9tb3VzZW1vdmUpOwogICAgICAgICAgICAgICAgICAgIGUuYmluZCgnbW91c2Vkb3duJywgX21vdXNlZG93bik7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIF9tb3VzZW1vdmUgPSBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQucGFnZVggPT09IHRoYXQueCAmJiBldmVudC5wYWdlWSA9PT0gdGhhdC55KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgdGhhdC54ID0gZXZlbnQucGFnZVg7CiAgICAgICAgICAgICAgICAgICAgdGhhdC55ID0gZXZlbnQucGFnZVk7CgogICAgICAgICAgICAgICAgICAgIHZhciBkaXYgPSAkKCcudWktY29sb3JwaWNrZXItbWFwLWxheWVyLXBvaW50ZXInLCBlKSwKICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ID0gZGl2Lm9mZnNldCgpLAogICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IGRpdi53aWR0aCgpLAogICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgPSBkaXYuaGVpZ2h0KCksCiAgICAgICAgICAgICAgICAgICAgICAgIHggPSBldmVudC5wYWdlWCAtIG9mZnNldC5sZWZ0LAogICAgICAgICAgICAgICAgICAgICAgICB5ID0gZXZlbnQucGFnZVkgLSBvZmZzZXQudG9wOwoKICAgICAgICAgICAgICAgICAgICB4ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oeCAvIHdpZHRoLCAxKSk7CiAgICAgICAgICAgICAgICAgICAgeSA9IE1hdGgubWF4KDAsIE1hdGgubWluKHkgLyBoZWlnaHQsIDEpKTsKCiAgICAgICAgICAgICAgICAgICAgLy8gaW50ZXJwcmV0IHZhbHVlcwogICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoaW5zdC5tb2RlKSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAnaCc6CgkJCQkJCWluc3QuY29sb3Iuc2V0SFNWKG51bGwsIHgsIDEgLSB5KTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3MnOgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ2EnOgoJCQkJCQlpbnN0LmNvbG9yLnNldEhTVih4LCBudWxsLCAxIC0geSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICd2JzoKCQkJCQkJaW5zdC5jb2xvci5zZXRIU1YoeCwgMSAtIHksIG51bGwpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAncic6CgkJCQkJCWluc3QuY29sb3Iuc2V0UkdCKG51bGwsIDEgLSB5LCB4KTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ2cnOgoJCQkJCQlpbnN0LmNvbG9yLnNldFJHQigxIC0geSwgbnVsbCwgeCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICdiJzoKCQkJCQkJaW5zdC5jb2xvci5zZXRSR0IoeCwgMSAtIHksIG51bGwpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGluc3QuX2NoYW5nZSgpOwogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICBfaHRtbCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaHRtbCA9ICc8ZGl2IGNsYXNzPSJ1aS1jb2xvcnBpY2tlci1tYXAgdWktY29sb3JwaWNrZXItYm9yZGVyIj4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICArICc8c3BhbiBjbGFzcz0idWktY29sb3JwaWNrZXItbWFwLWxheWVyLTEiPiZuYnNwOzwvc3Bhbj4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICArICc8c3BhbiBjbGFzcz0idWktY29sb3JwaWNrZXItbWFwLWxheWVyLTIiPiZuYnNwOzwvc3Bhbj4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICArIChpbnN0Lm9wdGlvbnMuYWxwaGEgPyAnPHNwYW4gY2xhc3M9InVpLWNvbG9ycGlja2VyLW1hcC1sYXllci1hbHBoYSI+Jm5ic3A7PC9zcGFuPicgOiAnJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgJzxzcGFuIGNsYXNzPSJ1aS1jb2xvcnBpY2tlci1tYXAtbGF5ZXItcG9pbnRlciI+PHNwYW4gY2xhc3M9InVpLWNvbG9ycGlja2VyLW1hcC1wb2ludGVyIj48L3NwYW4+PC9zcGFuPjwvZGl2Pic7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGh0bWw7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoaW5zdC5tb2RlKSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAnaCc6CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1tYXAtbGF5ZXItMScsIGUpLmNzcyh7J2JhY2tncm91bmQtcG9zaXRpb24nOiAnMCAwJywgJ29wYWNpdHknOiAnJ30pLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLW1hcC1sYXllci0yJywgZSkuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAncyc6CiAgICAgICAgICAgICAgICAgICAgY2FzZSAnYSc6CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1tYXAtbGF5ZXItMScsIGUpLmNzcyh7J2JhY2tncm91bmQtcG9zaXRpb24nOiAnMCAtMjYwcHgnLCAnb3BhY2l0eSc6ICcnfSkuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItbWFwLWxheWVyLTInLCBlKS5jc3MoeydiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJzAgLTUyMHB4JywgJ29wYWNpdHknOiAnJ30pLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3YnOgogICAgICAgICAgICAgICAgICAgICAgICAkKGUpLmNzcygnYmFja2dyb3VuZC1jb2xvcicsICdibGFjaycpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItbWFwLWxheWVyLTEnLCBlKS5jc3MoeydiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJzAgLTc4MHB4JywgJ29wYWNpdHknOiAnJ30pLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLW1hcC1sYXllci0yJywgZSkuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAncic6CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1tYXAtbGF5ZXItMScsIGUpLmNzcyh7J2JhY2tncm91bmQtcG9zaXRpb24nOiAnMCAtMTA0MHB4JywgJ29wYWNpdHknOiAnJ30pLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLW1hcC1sYXllci0yJywgZSkuY3NzKHsnYmFja2dyb3VuZC1wb3NpdGlvbic6ICcwIC0xMzAwcHgnLCAnb3BhY2l0eSc6ICcnfSkuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZyc6CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1tYXAtbGF5ZXItMScsIGUpLmNzcyh7J2JhY2tncm91bmQtcG9zaXRpb24nOiAnMCAtMTU2MHB4JywgJ29wYWNpdHknOiAnJ30pLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLW1hcC1sYXllci0yJywgZSkuY3NzKHsnYmFja2dyb3VuZC1wb3NpdGlvbic6ICcwIC0xODIwcHgnLCAnb3BhY2l0eSc6ICcnfSkuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnYic6CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1tYXAtbGF5ZXItMScsIGUpLmNzcyh7J2JhY2tncm91bmQtcG9zaXRpb24nOiAnMCAtMjA4MHB4JywgJ29wYWNpdHknOiAnJ30pLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLW1hcC1sYXllci0yJywgZSkuY3NzKHsnYmFja2dyb3VuZC1wb3NpdGlvbic6ICcwIC0yMzQwcHgnLCAnb3BhY2l0eSc6ICcnfSkuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgdGhhdC5yZXBhaW50KCk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMucmVwYWludCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZGl2ID0gJCgnLnVpLWNvbG9ycGlja2VyLW1hcC1sYXllci1wb2ludGVyJywgZSksCiAgICAgICAgICAgICAgICAgICAgICAgIHggPSAwLAogICAgICAgICAgICAgICAgICAgICAgICB5ID0gMDsKCiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChpbnN0Lm1vZGUpIHsKICAgICAgICAgICAgICAgICAgICBjYXNlICdoJzoKICAgICAgICAgICAgICAgICAgICAgICAgeCA9IGluc3QuY29sb3IuZ2V0SFNWKCkucyAqIGRpdi53aWR0aCgpOwogICAgICAgICAgICAgICAgICAgICAgICB5ID0gKDEgLSBpbnN0LmNvbG9yLmdldEhTVigpLnYpICogZGl2LndpZHRoKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoZSkuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJywgaW5zdC5jb2xvci5jb3B5KCkubm9ybWFsaXplKCkudG9DU1MoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICdzJzoKICAgICAgICAgICAgICAgICAgICBjYXNlICdhJzoKICAgICAgICAgICAgICAgICAgICAgICAgeCA9IGluc3QuY29sb3IuZ2V0SFNWKCkuaCAqIGRpdi53aWR0aCgpOwogICAgICAgICAgICAgICAgICAgICAgICB5ID0gKDEgLSBpbnN0LmNvbG9yLmdldEhTVigpLnYpICogZGl2LndpZHRoKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1tYXAtbGF5ZXItMicsIGUpLmNzcygnb3BhY2l0eScsIDEgLSBpbnN0LmNvbG9yLmdldEhTVigpLnMpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAndic6CiAgICAgICAgICAgICAgICAgICAgICAgIHggPSBpbnN0LmNvbG9yLmdldEhTVigpLmggKiBkaXYud2lkdGgoKTsKICAgICAgICAgICAgICAgICAgICAgICAgeSA9ICgxIC0gaW5zdC5jb2xvci5nZXRIU1YoKS5zKSAqIGRpdi53aWR0aCgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItbWFwLWxheWVyLTEnLCBlKS5jc3MoJ29wYWNpdHknLCBpbnN0LmNvbG9yLmdldEhTVigpLnYpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAncic6CiAgICAgICAgICAgICAgICAgICAgICAgIHggPSBpbnN0LmNvbG9yLmdldFJHQigpLmIgKiBkaXYud2lkdGgoKTsKICAgICAgICAgICAgICAgICAgICAgICAgeSA9ICgxIC0gaW5zdC5jb2xvci5nZXRSR0IoKS5nKSAqIGRpdi53aWR0aCgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItbWFwLWxheWVyLTInLCBlKS5jc3MoJ29wYWNpdHknLCBpbnN0LmNvbG9yLmdldFJHQigpLnIpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZyc6CiAgICAgICAgICAgICAgICAgICAgICAgIHggPSBpbnN0LmNvbG9yLmdldFJHQigpLmIgKiBkaXYud2lkdGgoKTsKICAgICAgICAgICAgICAgICAgICAgICAgeSA9ICgxIC0gaW5zdC5jb2xvci5nZXRSR0IoKS5yKSAqIGRpdi53aWR0aCgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItbWFwLWxheWVyLTInLCBlKS5jc3MoJ29wYWNpdHknLCBpbnN0LmNvbG9yLmdldFJHQigpLmcpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnYic6CiAgICAgICAgICAgICAgICAgICAgICAgIHggPSBpbnN0LmNvbG9yLmdldFJHQigpLnIgKiBkaXYud2lkdGgoKTsKICAgICAgICAgICAgICAgICAgICAgICAgeSA9ICgxIC0gaW5zdC5jb2xvci5nZXRSR0IoKS5nKSAqIGRpdi53aWR0aCgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItbWFwLWxheWVyLTInLCBlKS5jc3MoJ29wYWNpdHknLCBpbnN0LmNvbG9yLmdldFJHQigpLmIpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGlmIChpbnN0Lm9wdGlvbnMuYWxwaGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLW1hcC1sYXllci1hbHBoYScsIGUpLmNzcygnb3BhY2l0eScsIDEgLSBpbnN0LmNvbG9yLmdldEFscGhhKCkpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLW1hcC1wb2ludGVyJywgZSkuY3NzKHsKICAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnOiB4IC0gNywKICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6IHkgLSA3CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMuaW5pdCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBlID0gJChfaHRtbCgpKS5hcHBlbmRUbygkKCcudWktY29sb3JwaWNrZXItbWFwLWNvbnRhaW5lcicsIGluc3QuZGlhbG9nKSk7CgogICAgICAgICAgICAgICAgICAgIGUuYmluZCgnbW91c2Vkb3duJywgX21vdXNlZG93bik7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgYmFyOiBmdW5jdGlvbiAoaW5zdCkgewogICAgICAgICAgICAgICAgdmFyIHRoYXQJCT0gdGhpcywKICAgICAgICAgICAgICAgICAgICBlCQkJPSBudWxsLAogICAgICAgICAgICAgICAgICAgIF9tb3VzZWRvd24sIF9tb3VzZXVwLCBfbW91c2Vtb3ZlLCBfaHRtbDsKCiAgICAgICAgICAgICAgICBfbW91c2Vkb3duID0gZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFpbnN0Lm9wZW5lZCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB2YXIgZGl2CQk9ICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItcG9pbnRlcicsIGUpLAogICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQJPSBkaXYub2Zmc2V0KCksCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoCT0gZGl2LndpZHRoKCksCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodAk9IGRpdi5oZWlnaHQoKSwKICAgICAgICAgICAgICAgICAgICAgICAgeAkJPSBldmVudC5wYWdlWCAtIG9mZnNldC5sZWZ0LAogICAgICAgICAgICAgICAgICAgICAgICB5CQk9IGV2ZW50LnBhZ2VZIC0gb2Zmc2V0LnRvcDsKCiAgICAgICAgICAgICAgICAgICAgaWYgKHggPj0gMCAmJiB4IDwgd2lkdGggJiYgeSA+PSAwICYmIHkgPCBoZWlnaHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGUudW5iaW5kKCdtb3VzZWRvd24nLCBfbW91c2Vkb3duKTsKICAgICAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkuYmluZCgnbW91c2V1cCcsIF9tb3VzZXVwKTsKICAgICAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkuYmluZCgnbW91c2Vtb3ZlJywgX21vdXNlbW92ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIF9tb3VzZW1vdmUoZXZlbnQpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgX21vdXNldXAgPSBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLnVuYmluZCgnbW91c2V1cCcsIF9tb3VzZXVwKTsKICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS51bmJpbmQoJ21vdXNlbW92ZScsIF9tb3VzZW1vdmUpOwogICAgICAgICAgICAgICAgICAgIGUuYmluZCgnbW91c2Vkb3duJywgX21vdXNlZG93bik7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIF9tb3VzZW1vdmUgPSBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQucGFnZVkgPT09IHRoYXQueSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHRoYXQueSA9IGV2ZW50LnBhZ2VZOwoKICAgICAgICAgICAgICAgICAgICB2YXIgZGl2ID0gJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci1wb2ludGVyJywgZSksCiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldCAgPSBkaXYub2Zmc2V0KCksCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAgPSBkaXYuaGVpZ2h0KCksCiAgICAgICAgICAgICAgICAgICAgICAgIHkgPSBldmVudC5wYWdlWSAtIG9mZnNldC50b3A7CgogICAgICAgICAgICAgICAgICAgIHkgPSBNYXRoLm1heCgwLCBNYXRoLm1pbih5IC8gaGVpZ2h0LCAxKSk7CgogICAgICAgICAgICAgICAgICAgIC8vIGludGVycHJldCB2YWx1ZXMKICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGluc3QubW9kZSkgewogICAgICAgICAgICAgICAgICAgIGNhc2UgJ2gnOgogICAgICAgICAgICAgICAgICAgICAgICBpbnN0LmNvbG9yLnNldEhTVigxIC0geSwgbnVsbCwgbnVsbCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICdzJzoKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5jb2xvci5zZXRIU1YobnVsbCwgMSAtIHksIG51bGwpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAndic6CiAgICAgICAgICAgICAgICAgICAgICAgIGluc3QuY29sb3Iuc2V0SFNWKG51bGwsIG51bGwsIDEgLSB5KTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3InOgogICAgICAgICAgICAgICAgICAgICAgICBpbnN0LmNvbG9yLnNldFJHQigxIC0geSwgbnVsbCwgbnVsbCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICdnJzoKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5jb2xvci5zZXRSR0IobnVsbCwgMSAtIHksIG51bGwpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnYic6CiAgICAgICAgICAgICAgICAgICAgICAgIGluc3QuY29sb3Iuc2V0UkdCKG51bGwsIG51bGwsIDEgLSB5KTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ2EnOgogICAgICAgICAgICAgICAgICAgICAgICBpbnN0LmNvbG9yLnNldEFscGhhKDEgLSB5KTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpbnN0Ll9jaGFuZ2UoKTsKICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgX2h0bWwgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSAnPGRpdiBjbGFzcz0idWktY29sb3JwaWNrZXItYmFyIHVpLWNvbG9ycGlja2VyLWJvcmRlciI+JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAnPHNwYW4gY2xhc3M9InVpLWNvbG9ycGlja2VyLWJhci1sYXllci0xIj4mbmJzcDs8L3NwYW4+JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAnPHNwYW4gY2xhc3M9InVpLWNvbG9ycGlja2VyLWJhci1sYXllci0yIj4mbmJzcDs8L3NwYW4+JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAnPHNwYW4gY2xhc3M9InVpLWNvbG9ycGlja2VyLWJhci1sYXllci0zIj4mbmJzcDs8L3NwYW4+JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAnPHNwYW4gY2xhc3M9InVpLWNvbG9ycGlja2VyLWJhci1sYXllci00Ij4mbmJzcDs8L3NwYW4+JzsKCiAgICAgICAgICAgICAgICAgICAgaWYgKGluc3Qub3B0aW9ucy5hbHBoYSkgewogICAgICAgICAgICAgICAgICAgICAgICBodG1sICs9ICc8c3BhbiBjbGFzcz0idWktY29sb3JwaWNrZXItYmFyLWxheWVyLWFscGhhIj4mbmJzcDs8L3NwYW4+JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAnPHNwYW4gY2xhc3M9InVpLWNvbG9ycGlja2VyLWJhci1sYXllci1hbHBoYWJhciI+Jm5ic3A7PC9zcGFuPic7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBodG1sICs9ICc8c3BhbiBjbGFzcz0idWktY29sb3JwaWNrZXItYmFyLWxheWVyLXBvaW50ZXIiPjxzcGFuIGNsYXNzPSJ1aS1jb2xvcnBpY2tlci1iYXItcG9pbnRlciI+PC9zcGFuPjwvc3Bhbj48L2Rpdj4nOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gaHRtbDsKICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgdGhpcy51cGRhdGUgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChpbnN0Lm1vZGUpIHsKICAgICAgICAgICAgICAgICAgICBjYXNlICdoJzoKICAgICAgICAgICAgICAgICAgICBjYXNlICdzJzoKICAgICAgICAgICAgICAgICAgICBjYXNlICd2JzoKICAgICAgICAgICAgICAgICAgICBjYXNlICdyJzoKICAgICAgICAgICAgICAgICAgICBjYXNlICdnJzoKICAgICAgICAgICAgICAgICAgICBjYXNlICdiJzoKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci1hbHBoYScsIGUpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci1hbHBoYWJhcicsIGUpLmhpZGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ2EnOgogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItYmFyLWxheWVyLWFscGhhJywgZSkuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItYmFyLWxheWVyLWFscGhhYmFyJywgZSkuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoaW5zdC5tb2RlKSB7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAnaCc6CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItMScsIGUpLmNzcyh7J2JhY2tncm91bmQtcG9zaXRpb24nOiAnMCAwJywgJ29wYWNpdHknOiAnJ30pLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci0yJywgZSkuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItYmFyLWxheWVyLTMnLCBlKS5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItNCcsIGUpLmhpZGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ3MnOgogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItYmFyLWxheWVyLTEnLCBlKS5jc3MoeydiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJzAgLTI2MHB4JywgJ29wYWNpdHknOiAnJ30pLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci0yJywgZSkuY3NzKHsnYmFja2dyb3VuZC1wb3NpdGlvbic6ICcwIC01MjBweCcsICdvcGFjaXR5JzogJyd9KS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItMycsIGUpLmhpZGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci00JywgZSkuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAndic6CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItMScsIGUpLmNzcyh7J2JhY2tncm91bmQtcG9zaXRpb24nOiAnMCAtNTIwcHgnLCAnb3BhY2l0eSc6ICcnfSkuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItYmFyLWxheWVyLTInLCBlKS5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItMycsIGUpLmhpZGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci00JywgZSkuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAncic6CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItMScsIGUpLmNzcyh7J2JhY2tncm91bmQtcG9zaXRpb24nOiAnMCAtMTU2MHB4JywgJ29wYWNpdHknOiAnJ30pLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci0yJywgZSkuY3NzKHsnYmFja2dyb3VuZC1wb3NpdGlvbic6ICcwIC0xMzAwcHgnLCAnb3BhY2l0eSc6ICcnfSkuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItYmFyLWxheWVyLTMnLCBlKS5jc3MoeydiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJzAgLTc4MHB4JywgJ29wYWNpdHknOiAnJ30pLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci00JywgZSkuY3NzKHsnYmFja2dyb3VuZC1wb3NpdGlvbic6ICcwIC0xMDQwcHgnLCAnb3BhY2l0eSc6ICcnfSkuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZyc6CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItMScsIGUpLmNzcyh7J2JhY2tncm91bmQtcG9zaXRpb24nOiAnMCAtMjYwMHB4JywgJ29wYWNpdHknOiAnJ30pLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci0yJywgZSkuY3NzKHsnYmFja2dyb3VuZC1wb3NpdGlvbic6ICcwIC0yMzQwcHgnLCAnb3BhY2l0eSc6ICcnfSkuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItYmFyLWxheWVyLTMnLCBlKS5jc3MoeydiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJzAgLTE4MjBweCcsICdvcGFjaXR5JzogJyd9KS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItNCcsIGUpLmNzcyh7J2JhY2tncm91bmQtcG9zaXRpb24nOiAnMCAtMjA4MHB4JywgJ29wYWNpdHknOiAnJ30pLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ2InOgogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItYmFyLWxheWVyLTEnLCBlKS5jc3MoeydiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJzAgLTM2NDBweCcsICdvcGFjaXR5JzogJyd9KS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItMicsIGUpLmNzcyh7J2JhY2tncm91bmQtcG9zaXRpb24nOiAnMCAtMzM4MHB4JywgJ29wYWNpdHknOiAnJ30pLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci0zJywgZSkuY3NzKHsnYmFja2dyb3VuZC1wb3NpdGlvbic6ICcwIC0yODYwcHgnLCAnb3BhY2l0eSc6ICcnfSkuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItYmFyLWxheWVyLTQnLCBlKS5jc3MoeydiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJzAgLTMxMjBweCcsICdvcGFjaXR5JzogJyd9KS5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICdhJzoKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci0xJywgZSkuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItYmFyLWxheWVyLTInLCBlKS5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItMycsIGUpLmhpZGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci00JywgZSkuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgdGhhdC5yZXBhaW50KCk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMucmVwYWludCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZGl2ID0gJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci1wb2ludGVyJywgZSksCiAgICAgICAgICAgICAgICAgICAgICAgIHkgPSAwOwoKICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGluc3QubW9kZSkgewogICAgICAgICAgICAgICAgICAgIGNhc2UgJ2gnOgogICAgICAgICAgICAgICAgICAgICAgICB5ID0gKDEgLSBpbnN0LmNvbG9yLmdldEhTVigpLmgpICogZGl2LmhlaWdodCgpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAncyc6CiAgICAgICAgICAgICAgICAgICAgICAgIHkgPSAoMSAtIGluc3QuY29sb3IuZ2V0SFNWKCkucykgKiBkaXYuaGVpZ2h0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItMicsIGUpLmNzcygnb3BhY2l0eScsIDEgLSBpbnN0LmNvbG9yLmdldEhTVigpLnYpOwogICAgICAgICAgICAgICAgICAgICAgICAkKGUpLmNzcygnYmFja2dyb3VuZC1jb2xvcicsIGluc3QuY29sb3IuY29weSgpLm5vcm1hbGl6ZSgpLnRvQ1NTKCkpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAndic6CiAgICAgICAgICAgICAgICAgICAgICAgIHkgPSAoMSAtIGluc3QuY29sb3IuZ2V0SFNWKCkudikgKiBkaXYuaGVpZ2h0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoZSkuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJywgaW5zdC5jb2xvci5jb3B5KCkubm9ybWFsaXplKCkudG9DU1MoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICdyJzoKICAgICAgICAgICAgICAgICAgICAgICAgeSA9ICgxIC0gaW5zdC5jb2xvci5nZXRSR0IoKS5yKSAqIGRpdi5oZWlnaHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci0yJywgZSkuY3NzKCdvcGFjaXR5JywgTWF0aC5tYXgoMCwgKGluc3QuY29sb3IuZ2V0UkdCKCkuYiAtIGluc3QuY29sb3IuZ2V0UkdCKCkuZykpKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci0zJywgZSkuY3NzKCdvcGFjaXR5JywgTWF0aC5tYXgoMCwgKGluc3QuY29sb3IuZ2V0UkdCKCkuZyAtIGluc3QuY29sb3IuZ2V0UkdCKCkuYikpKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci00JywgZSkuY3NzKCdvcGFjaXR5JywgTWF0aC5taW4oaW5zdC5jb2xvci5nZXRSR0IoKS5iLCBpbnN0LmNvbG9yLmdldFJHQigpLmcpKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgIGNhc2UgJ2cnOgogICAgICAgICAgICAgICAgICAgICAgICB5ID0gKDEgLSBpbnN0LmNvbG9yLmdldFJHQigpLmcpICogZGl2LmhlaWdodCgpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItYmFyLWxheWVyLTInLCBlKS5jc3MoJ29wYWNpdHknLCBNYXRoLm1heCgwLCAoaW5zdC5jb2xvci5nZXRSR0IoKS5iIC0gaW5zdC5jb2xvci5nZXRSR0IoKS5yKSkpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItYmFyLWxheWVyLTMnLCBlKS5jc3MoJ29wYWNpdHknLCBNYXRoLm1heCgwLCAoaW5zdC5jb2xvci5nZXRSR0IoKS5yIC0gaW5zdC5jb2xvci5nZXRSR0IoKS5iKSkpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItYmFyLWxheWVyLTQnLCBlKS5jc3MoJ29wYWNpdHknLCBNYXRoLm1pbihpbnN0LmNvbG9yLmdldFJHQigpLnIsIGluc3QuY29sb3IuZ2V0UkdCKCkuYikpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgY2FzZSAnYic6CiAgICAgICAgICAgICAgICAgICAgICAgIHkgPSAoMSAtIGluc3QuY29sb3IuZ2V0UkdCKCkuYikgKiBkaXYuaGVpZ2h0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItMicsIGUpLmNzcygnb3BhY2l0eScsIE1hdGgubWF4KDAsIChpbnN0LmNvbG9yLmdldFJHQigpLnIgLSBpbnN0LmNvbG9yLmdldFJHQigpLmcpKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItMycsIGUpLmNzcygnb3BhY2l0eScsIE1hdGgubWF4KDAsIChpbnN0LmNvbG9yLmdldFJHQigpLmcgLSBpbnN0LmNvbG9yLmdldFJHQigpLnIpKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1iYXItbGF5ZXItNCcsIGUpLmNzcygnb3BhY2l0eScsIE1hdGgubWluKGluc3QuY29sb3IuZ2V0UkdCKCkuciwgaW5zdC5jb2xvci5nZXRSR0IoKS5nKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICBjYXNlICdhJzoKICAgICAgICAgICAgICAgICAgICAgICAgeSA9ICgxIC0gaW5zdC5jb2xvci5nZXRBbHBoYSgpKSAqIGRpdi5oZWlnaHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgJChlKS5jc3MoJ2JhY2tncm91bmQtY29sb3InLCBpbnN0LmNvbG9yLmNvcHkoKS5ub3JtYWxpemUoKS50b0NTUygpKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAoaW5zdC5tb2RlICE9PSAnYScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1sYXllci1hbHBoYScsIGUpLmNzcygnb3BhY2l0eScsIDEgLSBpbnN0LmNvbG9yLmdldEFscGhhKCkpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJhci1wb2ludGVyJywgZSkuY3NzKCd0b3AnLCB5IC0gMyk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMuaW5pdCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBlID0gJChfaHRtbCgpKS5hcHBlbmRUbygkKCcudWktY29sb3JwaWNrZXItYmFyLWNvbnRhaW5lcicsIGluc3QuZGlhbG9nKSk7CgogICAgICAgICAgICAgICAgICAgIGUuYmluZCgnbW91c2Vkb3duJywgX21vdXNlZG93bik7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgcHJldmlldzogZnVuY3Rpb24gKGluc3QpIHsKICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcywKICAgICAgICAgICAgICAgICAgICBlID0gbnVsbCwKICAgICAgICAgICAgICAgICAgICBfaHRtbDsKCiAgICAgICAgICAgICAgICBfaHRtbCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLXByZXZpZXcgdWktY29sb3JwaWNrZXItYm9yZGVyIj4nCiAgICAgICAgICAgICAgICAgICAgICAgICsgJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLXByZXZpZXctaW5pdGlhbCI+PGRpdiBjbGFzcz0idWktY29sb3JwaWNrZXItcHJldmlldy1pbml0aWFsLWFscGhhIj48L2Rpdj48L2Rpdj4nCiAgICAgICAgICAgICAgICAgICAgICAgICsgJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLXByZXZpZXctY3VycmVudCI+PGRpdiBjbGFzcz0idWktY29sb3JwaWNrZXItcHJldmlldy1jdXJyZW50LWFscGhhIj48L2Rpdj48L2Rpdj4nCiAgICAgICAgICAgICAgICAgICAgICAgICsgJzwvZGl2Pic7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMuaW5pdCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBlID0gJChfaHRtbCgpKS5hcHBlbmRUbygkKCcudWktY29sb3JwaWNrZXItcHJldmlldy1jb250YWluZXInLCBpbnN0LmRpYWxvZykpOwoKICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItcHJldmlldy1pbml0aWFsJywgZSkuY2xpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpbnN0LmNvbG9yID0gaW5zdC5jdXJyZW50Q29sb3IuY29weSgpOwogICAgICAgICAgICAgICAgICAgICAgICBpbnN0Ll9jaGFuZ2UoKTsKICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGlmIChpbnN0Lm9wdGlvbnMuYWxwaGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLXByZXZpZXctaW5pdGlhbC1hbHBoYSwgLnVpLWNvbG9ycGlja2VyLXByZXZpZXctY3VycmVudC1hbHBoYScsIGUpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItcHJldmlldy1pbml0aWFsLWFscGhhLCAudWktY29sb3JwaWNrZXItcHJldmlldy1jdXJyZW50LWFscGhhJywgZSkuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXBhaW50KCk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMucmVwYWludCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItcHJldmlldy1pbml0aWFsJywgZSkuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJywgaW5zdC5jdXJyZW50Q29sb3IudG9DU1MoKSkuYXR0cigndGl0bGUnLCBpbnN0LmN1cnJlbnRDb2xvci50b0hleCgpKTsKICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItcHJldmlldy1pbml0aWFsLWFscGhhJywgZSkuY3NzKCdvcGFjaXR5JywgMSAtIGluc3QuY3VycmVudENvbG9yLmdldEFscGhhKCkpOwogICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1wcmV2aWV3LWN1cnJlbnQnLCBlKS5jc3MoJ2JhY2tncm91bmQtY29sb3InLCBpbnN0LmNvbG9yLnRvQ1NTKCkpLmF0dHIoJ3RpdGxlJywgaW5zdC5jb2xvci50b0hleCgpKTsKICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItcHJldmlldy1jdXJyZW50LWFscGhhJywgZSkuY3NzKCdvcGFjaXR5JywgMSAtIGluc3QuY29sb3IuZ2V0QWxwaGEoKSk7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgaHN2OiBmdW5jdGlvbiAoaW5zdCkgewogICAgICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzLAogICAgICAgICAgICAgICAgICAgIGUgPSBudWxsLAogICAgICAgICAgICAgICAgICAgIF9odG1sOwoKICAgICAgICAgICAgICAgIF9odG1sID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHZhciBodG1sID0gJyc7CgogICAgICAgICAgICAgICAgICAgIGlmIChpbnN0Lm9wdGlvbnMuaHN2KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGh0bWwgKz0JJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLWhzdi1oIj48aW5wdXQgY2xhc3M9InVpLWNvbG9ycGlja2VyLW1vZGUiIHR5cGU9InJhZGlvIiB2YWx1ZT0iaCIvPjxsYWJlbD4nICsgaW5zdC5fZ2V0UmVnaW9uYWwoJ2hzdkgnKSArICc8L2xhYmVsPjxpbnB1dCBjbGFzcz0idWktY29sb3JwaWNrZXItbnVtYmVyIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSIzNjAiIHNpemU9IjEwIi8+PHNwYW4gY2xhc3M9InVpLWNvbG9ycGlja2VyLXVuaXQiPiZkZWc7PC9zcGFuPjwvZGl2PicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLWhzdi1zIj48aW5wdXQgY2xhc3M9InVpLWNvbG9ycGlja2VyLW1vZGUiIHR5cGU9InJhZGlvIiB2YWx1ZT0icyIvPjxsYWJlbD4nICsgaW5zdC5fZ2V0UmVnaW9uYWwoJ2hzdlMnKSArICc8L2xhYmVsPjxpbnB1dCBjbGFzcz0idWktY29sb3JwaWNrZXItbnVtYmVyIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSIxMDAiIHNpemU9IjEwIi8+PHNwYW4gY2xhc3M9InVpLWNvbG9ycGlja2VyLXVuaXQiPiU8L3NwYW4+PC9kaXY+JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAnPGRpdiBjbGFzcz0idWktY29sb3JwaWNrZXItaHN2LXYiPjxpbnB1dCBjbGFzcz0idWktY29sb3JwaWNrZXItbW9kZSIgdHlwZT0icmFkaW8iIHZhbHVlPSJ2Ii8+PGxhYmVsPicgKyBpbnN0Ll9nZXRSZWdpb25hbCgnaHN2VicpICsgJzwvbGFiZWw+PGlucHV0IGNsYXNzPSJ1aS1jb2xvcnBpY2tlci1udW1iZXIiIHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IjEwMCIgc2l6ZT0iMTAiLz48c3BhbiBjbGFzcz0idWktY29sb3JwaWNrZXItdW5pdCI+JTwvc3Bhbj48L2Rpdj4nOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJ1aS1jb2xvcnBpY2tlci1oc3YiPicgKyBodG1sICsgJzwvZGl2Pic7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMuaW5pdCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBlID0gJChfaHRtbCgpKS5hcHBlbmRUbygkKCcudWktY29sb3JwaWNrZXItaHN2LWNvbnRhaW5lcicsIGluc3QuZGlhbG9nKSk7CgogICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1tb2RlJywgZSkuY2xpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpbnN0Lm1vZGUgPSAkKHRoaXMpLnZhbCgpOwogICAgICAgICAgICAgICAgICAgICAgICBpbnN0Ll91cGRhdGVBbGxQYXJ0cygpOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItbnVtYmVyJywgZSkuYmluZCgnY2hhbmdlIGtleXVwJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpbnN0LmNvbG9yLnNldEhTVigKCQkJCQkJCSQoJy51aS1jb2xvcnBpY2tlci1oc3YtaCAudWktY29sb3JwaWNrZXItbnVtYmVyJywgZSkudmFsKCkgLyAzNjAsCgkJCQkJCQkkKCcudWktY29sb3JwaWNrZXItaHN2LXMgLnVpLWNvbG9ycGlja2VyLW51bWJlcicsIGUpLnZhbCgpIC8gMTAwLAoJCQkJCQkJJCgnLnVpLWNvbG9ycGlja2VyLWhzdi12IC51aS1jb2xvcnBpY2tlci1udW1iZXInLCBlKS52YWwoKSAvIDEwMAoJCQkJCQkpOwogICAgICAgICAgICAgICAgICAgICAgICBpbnN0Ll9jaGFuZ2UoKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgdGhpcy5yZXBhaW50ID0gZnVuY3Rpb24gKCkgewoJCQkJCXZhciBoc3YgPSBpbnN0LmNvbG9yLmdldEhTVigpOwoJCQkJCWhzdi5oICo9IDM2MDsKCQkJCQloc3YucyAqPSAxMDA7CgkJCQkJaHN2LnYgKj0gMTAwOwoKICAgICAgICAgICAgICAgICAgICAkLmVhY2goaHN2LCBmdW5jdGlvbiAoaW5kZXgsIHZhbHVlKSB7CgkJCQkJCXZhciBpbnB1dCA9ICQoJy51aS1jb2xvcnBpY2tlci1oc3YtJyArIGluZGV4ICsgJyAudWktY29sb3JwaWNrZXItbnVtYmVyJywgZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gTWF0aC5yb3VuZCh2YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dC52YWwoKSAhPT0gdmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0LnZhbCh2YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgdGhpcy51cGRhdGUgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLW1vZGUnLCBlKS5lYWNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hdHRyKCdjaGVja2VkJywgJCh0aGlzKS52YWwoKSA9PT0gaW5zdC5tb2RlKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB0aGlzLnJlcGFpbnQoKTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICByZ2I6IGZ1bmN0aW9uIChpbnN0KSB7CiAgICAgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgZSA9IG51bGwsCiAgICAgICAgICAgICAgICAgICAgX2h0bWw7CgogICAgICAgICAgICAgICAgX2h0bWwgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSAnJzsKCiAgICAgICAgICAgICAgICAgICAgaWYgKGluc3Qub3B0aW9ucy5yZ2IpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0idWktY29sb3JwaWNrZXItcmdiLXIiPjxpbnB1dCBjbGFzcz0idWktY29sb3JwaWNrZXItbW9kZSIgdHlwZT0icmFkaW8iIHZhbHVlPSJyIi8+PGxhYmVsPicgKyBpbnN0Ll9nZXRSZWdpb25hbCgncmdiUicpICsgJzwvbGFiZWw+PGlucHV0IGNsYXNzPSJ1aS1jb2xvcnBpY2tlci1udW1iZXIiIHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IjI1NSIvPjwvZGl2PicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLXJnYi1nIj48aW5wdXQgY2xhc3M9InVpLWNvbG9ycGlja2VyLW1vZGUiIHR5cGU9InJhZGlvIiB2YWx1ZT0iZyIvPjxsYWJlbD4nICsgaW5zdC5fZ2V0UmVnaW9uYWwoJ3JnYkcnKSArICc8L2xhYmVsPjxpbnB1dCBjbGFzcz0idWktY29sb3JwaWNrZXItbnVtYmVyIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSIyNTUiLz48L2Rpdj4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICArICc8ZGl2IGNsYXNzPSJ1aS1jb2xvcnBpY2tlci1yZ2ItYiI+PGlucHV0IGNsYXNzPSJ1aS1jb2xvcnBpY2tlci1tb2RlIiB0eXBlPSJyYWRpbyIgdmFsdWU9ImIiLz48bGFiZWw+JyArIGluc3QuX2dldFJlZ2lvbmFsKCdyZ2JCJykgKyAnPC9sYWJlbD48aW5wdXQgY2xhc3M9InVpLWNvbG9ycGlja2VyLW51bWJlciIgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG1heD0iMjU1Ii8+PC9kaXY+JzsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz0idWktY29sb3JwaWNrZXItcmdiIj4nICsgaHRtbCArICc8L2Rpdj4nOwogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICB0aGlzLmluaXQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgZSA9ICQoX2h0bWwoKSkuYXBwZW5kVG8oJCgnLnVpLWNvbG9ycGlja2VyLXJnYi1jb250YWluZXInLCBpbnN0LmRpYWxvZykpOwoKICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItbW9kZScsIGUpLmNsaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5tb2RlID0gJCh0aGlzKS52YWwoKTsKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5fdXBkYXRlQWxsUGFydHMoKTsKICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLW51bWJlcicsIGUpLmJpbmQoJ2NoYW5nZSBrZXl1cCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5jb2xvci5zZXRSR0IoCgkJCQkJCQkkKCcudWktY29sb3JwaWNrZXItcmdiLXIgLnVpLWNvbG9ycGlja2VyLW51bWJlcicsIGUpLnZhbCgpIC8gMjU1LAoJCQkJCQkJJCgnLnVpLWNvbG9ycGlja2VyLXJnYi1nIC51aS1jb2xvcnBpY2tlci1udW1iZXInLCBlKS52YWwoKSAvIDI1NSwKCQkJCQkJCSQoJy51aS1jb2xvcnBpY2tlci1yZ2ItYiAudWktY29sb3JwaWNrZXItbnVtYmVyJywgZSkudmFsKCkgLyAyNTUKCQkJCQkJKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIGluc3QuX2NoYW5nZSgpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICB0aGlzLnJlcGFpbnQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgJC5lYWNoKGluc3QuY29sb3IuZ2V0UkdCKCksIGZ1bmN0aW9uIChpbmRleCwgdmFsdWUpIHsKCQkJCQkJdmFyIGlucHV0ID0gJCgnLnVpLWNvbG9ycGlja2VyLXJnYi0nICsgaW5kZXggKyAnIC51aS1jb2xvcnBpY2tlci1udW1iZXInLCBlKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBNYXRoLnJvdW5kKHZhbHVlICogMjU1KTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0LnZhbCgpICE9PSB2YWx1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQudmFsKHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItbW9kZScsIGUpLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmF0dHIoJ2NoZWNrZWQnLCAkKHRoaXMpLnZhbCgpID09PSBpbnN0Lm1vZGUpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIHRoaXMucmVwYWludCgpOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIGxhYjogZnVuY3Rpb24gKGluc3QpIHsKICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcywKICAgICAgICAgICAgICAgICAgICBwYXJ0ID0gbnVsbCwKICAgICAgICAgICAgICAgICAgICBodG1sID0gZnVuY3Rpb24gKCkgewoJCQkJCQl2YXIgaHRtbCA9ICcnOwoKCQkJCQkJaWYgKGluc3Qub3B0aW9ucy5oc3YpIHsKCQkJCQkJCWh0bWwgKz0JJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLWxhYi1sIj48bGFiZWw+JyArIGluc3QuX2dldFJlZ2lvbmFsKCdsYWJMJykgKyAnPC9sYWJlbD48aW5wdXQgY2xhc3M9InVpLWNvbG9ycGlja2VyLW51bWJlciIgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG1heD0iMTAwIi8+PC9kaXY+JwoJCQkJCQkJCSsgJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLWxhYi1hIj48bGFiZWw+JyArIGluc3QuX2dldFJlZ2lvbmFsKCdsYWJBJykgKyAnPC9sYWJlbD48aW5wdXQgY2xhc3M9InVpLWNvbG9ycGlja2VyLW51bWJlciIgdHlwZT0ibnVtYmVyIiBtaW49Ii0xMjgiIG1heD0iMTI3Ii8+PC9kaXY+JwoJCQkJCQkJCSsgJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLWxhYi1iIj48bGFiZWw+JyArIGluc3QuX2dldFJlZ2lvbmFsKCdsYWJCJykgKyAnPC9sYWJlbD48aW5wdXQgY2xhc3M9InVpLWNvbG9ycGlja2VyLW51bWJlciIgdHlwZT0ibnVtYmVyIiBtaW49Ii0xMjgiIG1heD0iMTI3Ii8+PC9kaXY+JzsKCQkJCQkJfQoKCQkJCQkJcmV0dXJuICc8ZGl2IGNsYXNzPSJ1aS1jb2xvcnBpY2tlci1sYWIiPicgKyBodG1sICsgJzwvZGl2Pic7CgkJCQkJfTsKCiAgICAgICAgICAgICAgICB0aGlzLmluaXQgPSBmdW5jdGlvbiAoKSB7CgkJCQkJdmFyIGRhdGEgPSAwOwoKICAgICAgICAgICAgICAgICAgICBwYXJ0ID0gJChodG1sKCkpLmFwcGVuZFRvKCQoJy51aS1jb2xvcnBpY2tlci1sYWItY29udGFpbmVyJywgaW5zdC5kaWFsb2cpKTsKCiAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLW51bWJlcicsIHBhcnQpLm9uKCdjaGFuZ2Uga2V5dXAnLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5jb2xvci5zZXRMQUIoCgkJCQkJCQlwYXJzZUludCgkKCcudWktY29sb3JwaWNrZXItbGFiLWwgLnVpLWNvbG9ycGlja2VyLW51bWJlcicsIHBhcnQpLnZhbCgpLCAxMCkgLyAxMDAsCgkJCQkJCQkocGFyc2VJbnQoJCgnLnVpLWNvbG9ycGlja2VyLWxhYi1hIC51aS1jb2xvcnBpY2tlci1udW1iZXInLCBwYXJ0KS52YWwoKSwgMTApICsgMTI4KSAvIDI1NSwKCQkJCQkJCShwYXJzZUludCgkKCcudWktY29sb3JwaWNrZXItbGFiLWIgLnVpLWNvbG9ycGlja2VyLW51bWJlcicsIHBhcnQpLnZhbCgpLCAxMCkgKyAxMjgpIC8gMjU1CgkJCQkJCSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGluc3QuX2NoYW5nZSgpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICB0aGlzLnJlcGFpbnQgPSBmdW5jdGlvbiAoKSB7CgkJCQkJdmFyIGxhYiA9IGluc3QuY29sb3IuZ2V0TEFCKCk7CgkJCQkJbGFiLmwgKj0gMTAwOwoJCQkJCWxhYi5hID0gKGxhYi5hICogMjU1KSAtIDEyODsKCQkJCQlsYWIuYiA9IChsYWIuYiAqIDI1NSkgLSAxMjg7CgogICAgICAgICAgICAgICAgICAgICQuZWFjaChsYWIsIGZ1bmN0aW9uIChpbmRleCwgdmFsdWUpIHsKCQkJCQkJdmFyIGlucHV0ID0gJCgnLnVpLWNvbG9ycGlja2VyLWxhYi0nICsgaW5kZXggKyAnIC51aS1jb2xvcnBpY2tlci1udW1iZXInLCBwYXJ0KTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBNYXRoLnJvdW5kKHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0LnZhbCgpICE9PSB2YWx1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQudmFsKHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLnJlcGFpbnQoKTsKICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICB9LAoKICAgICAgICAgICAgY215azogZnVuY3Rpb24gKGluc3QpIHsKICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcywKICAgICAgICAgICAgICAgICAgICBwYXJ0ID0gbnVsbCwKICAgICAgICAgICAgICAgICAgICBodG1sID0gZnVuY3Rpb24gKCkgewoJCQkJCQl2YXIgaHRtbCA9ICcnOwoKCQkJCQkJaWYgKGluc3Qub3B0aW9ucy5oc3YpIHsKCQkJCQkJCWh0bWwgKz0JJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLWNteWstYyI+PGxhYmVsPicgKyBpbnN0Ll9nZXRSZWdpb25hbCgnY215a0MnKSArICc8L2xhYmVsPjxpbnB1dCBjbGFzcz0idWktY29sb3JwaWNrZXItbnVtYmVyIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSIxMDAiLz48c3BhbiBjbGFzcz0idWktY29sb3JwaWNrZXItdW5pdCI+JTwvc3Bhbj48L2Rpdj4nCgkJCQkJCQkJKyAnPGRpdiBjbGFzcz0idWktY29sb3JwaWNrZXItY215ay1tIj48bGFiZWw+JyArIGluc3QuX2dldFJlZ2lvbmFsKCdjbXlrTScpICsgJzwvbGFiZWw+PGlucHV0IGNsYXNzPSJ1aS1jb2xvcnBpY2tlci1udW1iZXIiIHR5cGU9Im51bWJlciIgbWluPSIwIiBtYXg9IjEwMCIvPjxzcGFuIGNsYXNzPSJ1aS1jb2xvcnBpY2tlci11bml0Ij4lPC9zcGFuPjwvZGl2PicKCQkJCQkJCQkrICc8ZGl2IGNsYXNzPSJ1aS1jb2xvcnBpY2tlci1jbXlrLXkiPjxsYWJlbD4nICsgaW5zdC5fZ2V0UmVnaW9uYWwoJ2NteWtZJykgKyAnPC9sYWJlbD48aW5wdXQgY2xhc3M9InVpLWNvbG9ycGlja2VyLW51bWJlciIgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG1heD0iMTAwIi8+PHNwYW4gY2xhc3M9InVpLWNvbG9ycGlja2VyLXVuaXQiPiU8L3NwYW4+PC9kaXY+JwoJCQkJCQkJCSsgJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLWNteWstayI+PGxhYmVsPicgKyBpbnN0Ll9nZXRSZWdpb25hbCgnY215a0snKSArICc8L2xhYmVsPjxpbnB1dCBjbGFzcz0idWktY29sb3JwaWNrZXItbnVtYmVyIiB0eXBlPSJudW1iZXIiIG1pbj0iMCIgbWF4PSIxMDAiLz48c3BhbiBjbGFzcz0idWktY29sb3JwaWNrZXItdW5pdCI+JTwvc3Bhbj48L2Rpdj4nOwoJCQkJCQl9CgoJCQkJCQlyZXR1cm4gJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLWNteWsiPicgKyBodG1sICsgJzwvZGl2Pic7CgkJCQkJfTsKCiAgICAgICAgICAgICAgICB0aGlzLmluaXQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcGFydCA9ICQoaHRtbCgpKS5hcHBlbmRUbygkKCcudWktY29sb3JwaWNrZXItY215ay1jb250YWluZXInLCBpbnN0LmRpYWxvZykpOwoKICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItbnVtYmVyJywgcGFydCkub24oJ2NoYW5nZSBrZXl1cCcsIGZ1bmN0aW9uIChldmVudCkgewogICAgICAgICAgICAgICAgICAgICAgICBpbnN0LmNvbG9yLnNldENNWUsoCgkJCQkJCQlwYXJzZUludCgkKCcudWktY29sb3JwaWNrZXItY215ay1jIC51aS1jb2xvcnBpY2tlci1udW1iZXInLCBwYXJ0KS52YWwoKSwgMTApIC8gMTAwLAoJCQkJCQkJcGFyc2VJbnQoJCgnLnVpLWNvbG9ycGlja2VyLWNteWstbSAudWktY29sb3JwaWNrZXItbnVtYmVyJywgcGFydCkudmFsKCksIDEwKSAvIDEwMCwKCQkJCQkJCXBhcnNlSW50KCQoJy51aS1jb2xvcnBpY2tlci1jbXlrLXkgLnVpLWNvbG9ycGlja2VyLW51bWJlcicsIHBhcnQpLnZhbCgpLCAxMCkgLyAxMDAsCgkJCQkJCQlwYXJzZUludCgkKCcudWktY29sb3JwaWNrZXItY215ay1rIC51aS1jb2xvcnBpY2tlci1udW1iZXInLCBwYXJ0KS52YWwoKSwgMTApIC8gMTAwCgkJCQkJCSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGluc3QuX2NoYW5nZSgpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICB0aGlzLnJlcGFpbnQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgJC5lYWNoKGluc3QuY29sb3IuZ2V0Q01ZSygpLCBmdW5jdGlvbiAoaW5kZXgsIHZhbHVlKSB7CgkJCQkJCXZhciBpbnB1dCA9ICQoJy51aS1jb2xvcnBpY2tlci1jbXlrLScgKyBpbmRleCArICcgLnVpLWNvbG9ycGlja2VyLW51bWJlcicsIHBhcnQpOwogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IE1hdGgucm91bmQodmFsdWUgKiAxMDApOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQudmFsKCkgIT09IHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dC52YWwodmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHRoaXMucmVwYWludCgpOwogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBhbHBoYTogZnVuY3Rpb24gKGluc3QpIHsKICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcywKICAgICAgICAgICAgICAgICAgICBlID0gbnVsbCwKICAgICAgICAgICAgICAgICAgICBfaHRtbDsKCiAgICAgICAgICAgICAgICBfaHRtbCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaHRtbCA9ICcnOwoKICAgICAgICAgICAgICAgICAgICBpZiAoaW5zdC5vcHRpb25zLmFscGhhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLWEiPjxpbnB1dCBjbGFzcz0idWktY29sb3JwaWNrZXItbW9kZSIgbmFtZT0ibW9kZSIgdHlwZT0icmFkaW8iIHZhbHVlPSJhIi8+PGxhYmVsPicgKyBpbnN0Ll9nZXRSZWdpb25hbCgnYWxwaGFBJykgKyAnPC9sYWJlbD48aW5wdXQgY2xhc3M9InVpLWNvbG9ycGlja2VyLW51bWJlciIgdHlwZT0ibnVtYmVyIiBtaW49IjAiIG1heD0iMTAwIi8+PHNwYW4gY2xhc3M9InVpLWNvbG9ycGlja2VyLXVuaXQiPiU8L3NwYW4+PC9kaXY+JzsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz0idWktY29sb3JwaWNrZXItYWxwaGEiPicgKyBodG1sICsgJzwvZGl2Pic7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMuaW5pdCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBlID0gJChfaHRtbCgpKS5hcHBlbmRUbygkKCcudWktY29sb3JwaWNrZXItYWxwaGEtY29udGFpbmVyJywgaW5zdC5kaWFsb2cpKTsKCiAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLW1vZGUnLCBlKS5jbGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGluc3QubW9kZSA9ICQodGhpcykudmFsKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGluc3QuX3VwZGF0ZUFsbFBhcnRzKCk7CiAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1udW1iZXInLCBlKS5iaW5kKCdjaGFuZ2Uga2V5dXAnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGluc3QuY29sb3Iuc2V0QWxwaGEoJCgnLnVpLWNvbG9ycGlja2VyLWEgLnVpLWNvbG9ycGlja2VyLW51bWJlcicsIGUpLnZhbCgpIC8gMTAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5fY2hhbmdlKCk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1tb2RlJywgZSkuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuYXR0cignY2hlY2tlZCcsICQodGhpcykudmFsKCkgPT09IGluc3QubW9kZSk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXBhaW50KCk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMucmVwYWludCA9IGZ1bmN0aW9uICgpIHsKCQkJCQl2YXIgaW5wdXQgPSAkKCcudWktY29sb3JwaWNrZXItYSAudWktY29sb3JwaWNrZXItbnVtYmVyJywgZSksCgkJCQkJCXZhbHVlID0gTWF0aC5yb3VuZChpbnN0LmNvbG9yLmdldEFscGhhKCkgKiAxMDApOwoJCQkJCWlmICghaW5wdXQuaXMoJzpmb2N1cycpICYmIGlucHV0LnZhbCgpICE9PSB2YWx1ZSkgewoJCQkJCQlpbnB1dC52YWwodmFsdWUpOwoJCQkJCX0KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBoZXg6IGZ1bmN0aW9uIChpbnN0KSB7CiAgICAgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgZSA9IG51bGwsCiAgICAgICAgICAgICAgICAgICAgX2h0bWw7CgogICAgICAgICAgICAgICAgX2h0bWwgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSAnJzsKCiAgICAgICAgICAgICAgICAgICAgaWYgKGluc3Qub3B0aW9ucy5hbHBoYSkgewogICAgICAgICAgICAgICAgICAgICAgICBodG1sICs9ICc8aW5wdXQgY2xhc3M9InVpLWNvbG9ycGlja2VyLWhleC1hbHBoYSIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIyIiBzaXplPSIyIi8+JzsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGh0bWwgKz0gJzxpbnB1dCBjbGFzcz0idWktY29sb3JwaWNrZXItaGV4LWlucHV0IiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjYiIHNpemU9IjYiLz4nOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLWhleCI+PGxhYmVsPiM8L2xhYmVsPicgKyBodG1sICsgJzwvZGl2Pic7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMuaW5pdCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBlID0gJChfaHRtbCgpKS5hcHBlbmRUbygkKCcudWktY29sb3JwaWNrZXItaGV4LWNvbnRhaW5lcicsIGluc3QuZGlhbG9nKSk7CgogICAgICAgICAgICAgICAgICAgIC8vIHJlcGVhdCBoZXJlIG1ha2VzIHRoZSBpbnZhbGlkIGlucHV0IGRpc2FwcGVhciBmYXN0ZXIKICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItaGV4LWlucHV0JywgZSkuYmluZCgnY2hhbmdlIGtleWRvd24ga2V5dXAnLCBmdW5jdGlvbiAoYSwgYiwgYykgewoJCQkJCQlpZiAoL1teYS1mQS1GMC05XS8udGVzdCgkKHRoaXMpLnZhbCgpKSkgewoJCQkJCQkJJCh0aGlzKS52YWwoJCh0aGlzKS52YWwoKS5yZXBsYWNlKC9bXmEtZkEtRjAtOV0vLCAnJykpOwoJCQkJCQl9CiAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1oZXgtaW5wdXQnLCBlKS5iaW5kKCdjaGFuZ2Uga2V5dXAnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlcGVhdCBoZXJlIG1ha2VzIHN1cmUgdGhhdCB0aGUgaW52YWxpZCBpbnB1dCBkb2Vzbid0IGdldCBwYXJzZWQKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5jb2xvciA9IF9wYXJzZUhleCgkKHRoaXMpLnZhbCgpKS5zZXRBbHBoYShpbnN0LmNvbG9yLmdldEFscGhhKCkpOwogICAgICAgICAgICAgICAgICAgICAgICBpbnN0Ll9jaGFuZ2UoKTsKICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWhleC1hbHBoYScsIGUpLmJpbmQoJ2NoYW5nZSBrZXlkb3duIGtleXVwJywgZnVuY3Rpb24gKCkgewoJCQkJCQlpZiAoL1teYS1mQS1GMC05XS8udGVzdCgkKHRoaXMpLnZhbCgpKSkgewoJCQkJCQkJJCh0aGlzKS52YWwoJCh0aGlzKS52YWwoKS5yZXBsYWNlKC9bXmEtZkEtRjAtOV0vLCAnJykpOwoJCQkJCQl9CiAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1oZXgtYWxwaGEnLCBlKS5iaW5kKCdjaGFuZ2Uga2V5dXAnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGluc3QuY29sb3Iuc2V0QWxwaGEocGFyc2VJbnQoJCgnLnVpLWNvbG9ycGlja2VyLWhleC1hbHBoYScsIGUpLnZhbCgpLCAxNikgLyAyNTUpOwogICAgICAgICAgICAgICAgICAgICAgICBpbnN0Ll9jaGFuZ2UoKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgdGhpcy51cGRhdGUgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXBhaW50KCk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMucmVwYWludCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoISQoJy51aS1jb2xvcnBpY2tlci1oZXgtaW5wdXQnLCBlKS5pcygnOmZvY3VzJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWhleC1pbnB1dCcsIGUpLnZhbChpbnN0LmNvbG9yLnRvSGV4KHRydWUpKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGlmICghJCgnLnVpLWNvbG9ycGlja2VyLWhleC1hbHBoYScsIGUpLmlzKCc6Zm9jdXMnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItaGV4LWFscGhhJywgZSkudmFsKF9pbnRUb0hleChpbnN0LmNvbG9yLmdldEFscGhhKCkgKiAyNTUpKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgc3dhdGNoZXM6IGZ1bmN0aW9uIChpbnN0KSB7CiAgICAgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCiAgICAgICAgICAgICAgICAgICAgcGFydCA9IG51bGwsCiAgICAgICAgICAgICAgICAgICAgaHRtbCA9IGZ1bmN0aW9uICgpIHsKCQkJCQkJdmFyIGh0bWwgPSAnJzsKCgkJCQkJCSQuZWFjaChpbnN0Lm9wdGlvbnMuc3dhdGNoZXMsIGZ1bmN0aW9uIChuYW1lLCBjb2xvcikgewoJCQkJCQkJdmFyIGMgPSBuZXcgQ29sb3IoY29sb3IuciwgY29sb3IuZywgY29sb3IuYiksCgkJCQkJCQkJY3NzID0gYy50b0NTUygpOwoJCQkJCQkJaHRtbCArPSAnPGRpdiBjbGFzcz0idWktY29sb3JwaWNrZXItc3dhdGNoIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogJyArIGNzcyArICciIHRpdGxlPSInICsgbmFtZSArICciPjwvZGl2Pic7CgkJCQkJCX0pOwoKCQkJCQkJcmV0dXJuICc8ZGl2IGNsYXNzPSJ1aS1jb2xvcnBpY2tlci1zd2F0Y2hlcyB1aS1jb2xvcnBpY2tlci1ib3JkZXIiPicgKyBodG1sICsgJzwvZGl2Pic7CgkJCQkJfTsKCiAgICAgICAgICAgICAgICB0aGlzLmluaXQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcGFydCA9ICQoaHRtbCgpKS5hcHBlbmRUbygkKCcudWktY29sb3JwaWNrZXItc3dhdGNoZXMtY29udGFpbmVyJywgaW5zdC5kaWFsb2cpKTsKCiAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLXN3YXRjaCcsIHBhcnQpLmNsaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5jb2xvcgk9IF9wYXJzZUNvbG9yKCQodGhpcykuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJykpOwogICAgICAgICAgICAgICAgICAgICAgICBpbnN0Ll9jaGFuZ2UoKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBmb290ZXI6IGZ1bmN0aW9uIChpbnN0KSB7CiAgICAgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXMsCgkJCQkJcGFydCA9IG51bGwsCgkJCQkJaWRfdHJhbnNwYXJlbnQgPSAndWktY29sb3JwaWNrZXItc3BlY2lhbC10cmFuc3BhcmVudC0nK19jb2xvcnBpY2tlcl9pbmRleCwKCQkJCQlpZF9ub25lID0gJ3VpLWNvbG9ycGlja2VyLXNwZWNpYWwtbm9uZS0nK19jb2xvcnBpY2tlcl9pbmRleCwKICAgICAgICAgICAgICAgICAgICBodG1sID0gZnVuY3Rpb24gKCkgewoJCQkJCQl2YXIgaHRtbCA9ICcnOwoKCQkJCQkJaWYgKGluc3Qub3B0aW9ucy5hbHBoYSB8fCAoIWluc3QuaW5saW5lICYmIGluc3Qub3B0aW9ucy5zaG93Tm9uZUJ1dHRvbikpIHsKCQkJCQkJCWh0bWwgKz0gJzxkaXYgY2xhc3M9InVpLWNvbG9ycGlja2VyLWJ1dHRvbnNldCI+JzsKCgkJCQkJCQlpZiAoaW5zdC5vcHRpb25zLmFscGhhKSB7CgkJCQkJCQkJaHRtbCArPSAnPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ1aS1jb2xvcnBpY2tlci1zcGVjaWFsIiBpZD0iJytpZF90cmFuc3BhcmVudCsnIiBjbGFzcz0idWktY29sb3JwaWNrZXItc3BlY2lhbC10cmFuc3BhcmVudCIvPjxsYWJlbCBmb3I9IicraWRfdHJhbnNwYXJlbnQrJyI+JyArIGluc3QuX2dldFJlZ2lvbmFsKCd0cmFuc3BhcmVudCcpICsgJzwvbGFiZWw+JzsKCQkJCQkJCX0KCQkJCQkJCWlmICghaW5zdC5pbmxpbmUgJiYgaW5zdC5vcHRpb25zLnNob3dOb25lQnV0dG9uKSB7CgkJCQkJCQkJaHRtbCArPSAnPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ1aS1jb2xvcnBpY2tlci1zcGVjaWFsIiBpZD0iJytpZF9ub25lKyciIGNsYXNzPSJ1aS1jb2xvcnBpY2tlci1zcGVjaWFsLW5vbmUiPjxsYWJlbCBmb3I9IicraWRfbm9uZSsnIj4nICsgaW5zdC5fZ2V0UmVnaW9uYWwoJ25vbmUnKSArICc8L2xhYmVsPic7CgkJCQkJCQl9CgkJCQkJCQlodG1sICs9ICc8L2Rpdj4nOwoJCQkJCQl9CgoJCQkJCQlpZiAoIWluc3QuaW5saW5lKSB7CgkJCQkJCQlodG1sICs9ICc8ZGl2IGNsYXNzPSJ1aS1kaWFsb2ctYnV0dG9uc2V0Ij4nOwoJCQkJCQkJaWYgKGluc3Qub3B0aW9ucy5zaG93Q2FuY2VsQnV0dG9uKSB7CgkJCQkJCQkJaHRtbCArPSAnPGJ1dHRvbiBjbGFzcz0idWktY29sb3JwaWNrZXItY2FuY2VsIj4nICsgaW5zdC5fZ2V0UmVnaW9uYWwoJ2NhbmNlbCcpICsgJzwvYnV0dG9uPic7CgkJCQkJCQl9CgkJCQkJCQlodG1sICs9ICc8YnV0dG9uIGNsYXNzPSJ1aS1jb2xvcnBpY2tlci1vayI+JyArIGluc3QuX2dldFJlZ2lvbmFsKCdvaycpICsgJzwvYnV0dG9uPic7CgkJCQkJCQlodG1sICs9ICc8L2Rpdj4nOwoJCQkJCQl9CgoJCQkJCQlyZXR1cm4gJzxkaXYgY2xhc3M9InVpLWRpYWxvZy1idXR0b25wYW5lIHVpLXdpZGdldC1jb250ZW50Ij4nICsgaHRtbCArICc8L2Rpdj4nOwoJCQkJCX07CgogICAgICAgICAgICAgICAgdGhpcy5pbml0ID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHBhcnQgPSAkKGh0bWwoKSkuYXBwZW5kVG8oaW5zdC5kaWFsb2cpOwoKICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItb2snLCBwYXJ0KS5idXR0b24oKS5jbGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGluc3QuY2xvc2UoKTsKICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWNhbmNlbCcsIHBhcnQpLmJ1dHRvbigpLmNsaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5jb2xvciA9IGluc3QuY3VycmVudENvbG9yLmNvcHkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5fY2hhbmdlKGluc3QuY29sb3Iuc2V0KTsKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5jbG9zZSgpOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAvL2luc3QuX2dldFJlZ2lvbmFsKCd0cmFuc3BhcmVudCcpCiAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWNvbG9ycGlja2VyLWJ1dHRvbnNldCcsIHBhcnQpLmJ1dHRvbnNldCgpOwoKICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItc3BlY2lhbC1jb2xvcicsIHBhcnQpLmNsaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5fY2hhbmdlKCk7CiAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICQoJyMnK2lkX25vbmUsIHBhcnQpLmNsaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5fY2hhbmdlKGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgJCgnIycraWRfdHJhbnNwYXJlbnQsIHBhcnQpLmNsaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5jb2xvci5zZXRBbHBoYSgwKTsKICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5fY2hhbmdlKCk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIHRoaXMucmVwYWludCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIWluc3QuY29sb3Iuc2V0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1zcGVjaWFsLW5vbmUnLCBwYXJ0KS5hdHRyKCdjaGVja2VkJywgdHJ1ZSkuYnV0dG9uKCAicmVmcmVzaCIgKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGluc3QuY29sb3IuZ2V0QWxwaGEoKSA9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS1jb2xvcnBpY2tlci1zcGVjaWFsLXRyYW5zcGFyZW50JywgcGFydCkuYXR0cignY2hlY2tlZCcsIHRydWUpLmJ1dHRvbiggInJlZnJlc2giICk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnaW5wdXQnLCBwYXJ0KS5hdHRyKCdjaGVja2VkJywgZmFsc2UpLmJ1dHRvbiggInJlZnJlc2giICk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkKCcudWktY29sb3JwaWNrZXItY2FuY2VsJywgcGFydCkuYnV0dG9uKGluc3QuY2hhbmdlZCA/ICdlbmFibGUnIDogJ2Rpc2FibGUnKTsKICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgdGhpcy51cGRhdGUgPSBmdW5jdGlvbiAoKSB7fTsKICAgICAgICAgICAgfQogICAgICAgIH0sCgogICAgICAgIENvbG9yID0gZnVuY3Rpb24gKCkgewoJCQl2YXIgc3BhY2VzID0gewlyZ2I6CXtyOiAwLCBnOiAwLCBiOiAwfSwKCQkJCQkJCWhzdjoJe2g6IDAsIHM6IDAsIHY6IDB9LAoJCQkJCQkJaHNsOgl7aDogMCwgczogMCwgbDogMH0sCgkJCQkJCQlsYWI6CXtsOiAwLCBhOiAwLCBiOiAwfSwKCQkJCQkJCWNteWs6CXtjOiAwLCBtOiAwLCB5OiAwLCBrOiAxfQoJCQkJCQl9LAoJCQkJYSA9IDEsCgkJCQlhcmdzID0gYXJndW1lbnRzLAoJCQkJX2NsaXAgPSBmdW5jdGlvbih2KSB7CgkJCQkJaWYgKGlzTmFOKHYpIHx8IHYgPT09IG51bGwpIHsKCQkJCQkJcmV0dXJuIDA7CgkJCQkJfQoJCQkJCWlmICh0eXBlb2YgdiA9PSAnc3RyaW5nJykgewoJCQkJCQl2ID0gcGFyc2VJbnQodiwgMTApOwoJCQkJCX0KCQkJCQlyZXR1cm4gTWF0aC5tYXgoMCwgTWF0aC5taW4odiwgMSkpOwoJCQkJfSwKCQkJCV9oZXhpZnkgPSBmdW5jdGlvbiAobnVtYmVyKSB7CgkJCQkJdmFyIGRpZ2l0cyA9ICcwMTIzNDU2Nzg5YWJjZGVmJywKCQkJCQkJbHNkID0gbnVtYmVyICUgMTYsCgkJCQkJCW1zZCA9IChudW1iZXIgLSBsc2QpIC8gMTYsCgkJCQkJCWhleGlmaWVkID0gZGlnaXRzLmNoYXJBdChtc2QpICsgZGlnaXRzLmNoYXJBdChsc2QpOwoJCQkJCXJldHVybiBoZXhpZmllZDsKCQkJCX0sCgkJCQlfcmdiX3RvX3h5eiA9IGZ1bmN0aW9uKHJnYikgewoJCQkJCXZhciByID0gKHJnYi5yID4gMC4wNDA0NSkgPyBNYXRoLnBvdygocmdiLnIgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSA6IHJnYi5yIC8gMTIuOTIsCgkJCQkJCWcgPSAocmdiLmcgPiAwLjA0MDQ1KSA/IE1hdGgucG93KChyZ2IuZyArIDAuMDU1KSAvIDEuMDU1LCAyLjQpIDogcmdiLmcgLyAxMi45MiwKCQkJCQkJYiA9IChyZ2IuYiA+IDAuMDQwNDUpID8gTWF0aC5wb3coKHJnYi5iICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkgOiByZ2IuYiAvIDEyLjkyOwoKCQkJCQlyZXR1cm4gewoJCQkJCQl4OiByICogMC40MTI0ICsgZyAqIDAuMzU3NiArIGIgKiAwLjE4MDUsCgkJCQkJCXk6IHIgKiAwLjIxMjYgKyBnICogMC43MTUyICsgYiAqIDAuMDcyMiwKCQkJCQkJejogciAqIDAuMDE5MyArIGcgKiAwLjExOTIgKyBiICogMC45NTA1CgkJCQkJfTsKCQkJCX0sCgkJCQlfeHl6X3RvX3JnYiA9IGZ1bmN0aW9uKHh5eikgewoJCQkJCXZhciByZ2IgPSB7CgkJCQkJCXI6IHh5ei54ICogIDMuMjQwNiArIHh5ei55ICogLTEuNTM3MiArIHh5ei56ICogLTAuNDk4NiwKCQkJCQkJZzogeHl6LnggKiAtMC45Njg5ICsgeHl6LnkgKiAgMS44NzU4ICsgeHl6LnogKiAgMC4wNDE1LAoJCQkJCQliOiB4eXoueCAqICAwLjA1NTcgKyB4eXoueSAqIC0wLjIwNDAgKyB4eXoueiAqICAxLjA1NzAKCQkJCQl9OwoKCQkJCQlyZ2IuciA9IChyZ2IuciA+IDAuMDAzMTMwOCkgPyAxLjA1NSAqIE1hdGgucG93KHJnYi5yLCAoMSAvIDIuNCkpIC0gMC4wNTUgOiAxMi45MiAqIHJnYi5yOwoJCQkJCXJnYi5nID0gKHJnYi5nID4gMC4wMDMxMzA4KSA/IDEuMDU1ICogTWF0aC5wb3cocmdiLmcsICgxIC8gMi40KSkgLSAwLjA1NSA6IDEyLjkyICogcmdiLmc7CgkJCQkJcmdiLmIgPSAocmdiLmIgPiAwLjAwMzEzMDgpID8gMS4wNTUgKiBNYXRoLnBvdyhyZ2IuYiwgKDEgLyAyLjQpKSAtIDAuMDU1IDogMTIuOTIgKiByZ2IuYjsKCgkJCQkJcmV0dXJuIHJnYjsKCQkJCX0sCgkJCQlfcmdiX3RvX2hzdiA9IGZ1bmN0aW9uKHJnYikgewoJCQkJCXZhciBtaW5WYWwgPSBNYXRoLm1pbihyZ2IuciwgcmdiLmcsIHJnYi5iKSwKCQkJCQkJbWF4VmFsID0gTWF0aC5tYXgocmdiLnIsIHJnYi5nLCByZ2IuYiksCgkJCQkJCWRlbHRhID0gbWF4VmFsIC0gbWluVmFsLAoJCQkJCQlkZWxfUiwgZGVsX0csIGRlbF9CLAoJCQkJCQloc3YgPSB7CgkJCQkJCQloOiAwLAoJCQkJCQkJczogMCwKCQkJCQkJCXY6IG1heFZhbAoJCQkJCQl9OwoKCQkJCQlpZiAoZGVsdGEgPT09IDApIHsKCQkJCQkJaHN2LmggPSAwOwoJCQkJCQloc3YucyA9IDA7CgkJCQkJfSBlbHNlIHsKCQkJCQkJaHN2LnMgPSBkZWx0YSAvIG1heFZhbDsKCgkJCQkJCWRlbF9SID0gKCgobWF4VmFsIC0gcmdiLnIpIC8gNikgKyAoZGVsdGEgLyAyKSkgLyBkZWx0YTsKCQkJCQkJZGVsX0cgPSAoKChtYXhWYWwgLSByZ2IuZykgLyA2KSArIChkZWx0YSAvIDIpKSAvIGRlbHRhOwoJCQkJCQlkZWxfQiA9ICgoKG1heFZhbCAtIHJnYi5iKSAvIDYpICsgKGRlbHRhIC8gMikpIC8gZGVsdGE7CgoJCQkJCQlpZiAocmdiLnIgPT09IG1heFZhbCkgewoJCQkJCQkJaHN2LmggPSBkZWxfQiAtIGRlbF9HOwoJCQkJCQl9IGVsc2UgaWYgKHJnYi5nID09PSBtYXhWYWwpIHsKCQkJCQkJCWhzdi5oID0gKDEgLyAzKSArIGRlbF9SIC0gZGVsX0I7CgkJCQkJCX0gZWxzZSBpZiAocmdiLmIgPT09IG1heFZhbCkgewoJCQkJCQkJaHN2LmggPSAoMiAvIDMpICsgZGVsX0cgLSBkZWxfUjsKCQkJCQkJfQoKCQkJCQkJaWYgKGhzdi5oIDwgMCkgewoJCQkJCQkJaHN2LmggKz0gMTsKCQkJCQkJfSBlbHNlIGlmIChoc3YuaCA+IDEpIHsKCQkJCQkJCWhzdi5oIC09IDE7CgkJCQkJCX0KCQkJCQl9CgoJCQkJCXJldHVybiBoc3Y7CgkJCQl9LAoJCQkJX2hzdl90b19yZ2IgPSBmdW5jdGlvbihoc3YpIHsKCQkJCQl2YXIgcmdiID0gewoJCQkJCQkJcjogMCwKCQkJCQkJCWc6IDAsCgkJCQkJCQliOiAwCgkJCQkJCX0sCgkJCQkJCXZhcl9oLAoJCQkJCQl2YXJfaSwKCQkJCQkJdmFyXzEsCgkJCQkJCXZhcl8yLAoJCQkJCQl2YXJfMzsKCgkJCQkJaWYgKGhzdi5zID09PSAwKSB7CgkJCQkJCXJnYi5yID0gcmdiLmcgPSByZ2IuYiA9IGhzdi52OwoJCQkJCX0gZWxzZSB7CgkJCQkJCXZhcl9oID0gaHN2LmggPT09IDEgPyAwIDogaHN2LmggKiA2OwoJCQkJCQl2YXJfaSA9IE1hdGguZmxvb3IodmFyX2gpOwoJCQkJCQl2YXJfMSA9IGhzdi52ICogKDEgLSBoc3Yucyk7CgkJCQkJCXZhcl8yID0gaHN2LnYgKiAoMSAtIGhzdi5zICogKHZhcl9oIC0gdmFyX2kpKTsKCQkJCQkJdmFyXzMgPSBoc3YudiAqICgxIC0gaHN2LnMgKiAoMSAtICh2YXJfaCAtIHZhcl9pKSkpOwoKCQkJCQkJaWYgKHZhcl9pID09PSAwKSB7CgkJCQkJCQlyZ2IuciA9IGhzdi52OwoJCQkJCQkJcmdiLmcgPSB2YXJfMzsKCQkJCQkJCXJnYi5iID0gdmFyXzE7CgkJCQkJCX0gZWxzZSBpZiAodmFyX2kgPT09IDEpIHsKCQkJCQkJCXJnYi5yID0gdmFyXzI7CgkJCQkJCQlyZ2IuZyA9IGhzdi52OwoJCQkJCQkJcmdiLmIgPSB2YXJfMTsKCQkJCQkJfSBlbHNlIGlmICh2YXJfaSA9PT0gMikgewoJCQkJCQkJcmdiLnIgPSB2YXJfMTsKCQkJCQkJCXJnYi5nID0gaHN2LnY7CgkJCQkJCQlyZ2IuYiA9IHZhcl8zOwoJCQkJCQl9IGVsc2UgaWYgKHZhcl9pID09PSAzKSB7CgkJCQkJCQlyZ2IuciA9IHZhcl8xOwoJCQkJCQkJcmdiLmcgPSB2YXJfMjsKCQkJCQkJCXJnYi5iID0gaHN2LnY7CgkJCQkJCX0gZWxzZSBpZiAodmFyX2kgPT09IDQpIHsKCQkJCQkJCXJnYi5yID0gdmFyXzM7CgkJCQkJCQlyZ2IuZyA9IHZhcl8xOwoJCQkJCQkJcmdiLmIgPSBoc3YudjsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCXJnYi5yID0gaHN2LnY7CgkJCQkJCQlyZ2IuZyA9IHZhcl8xOwoJCQkJCQkJcmdiLmIgPSB2YXJfMjsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJcmV0dXJuIHJnYjsKCQkJCX0sCgkJCQlfcmdiX3RvX2hzbCA9IGZ1bmN0aW9uKHJnYikgewoJCQkJCXZhciBtaW5WYWwgPSBNYXRoLm1pbihyZ2IuciwgcmdiLmcsIHJnYi5iKSwKCQkJCQkJbWF4VmFsID0gTWF0aC5tYXgocmdiLnIsIHJnYi5nLCByZ2IuYiksCgkJCQkJCWRlbHRhID0gbWF4VmFsIC0gbWluVmFsLAoJCQkJCQlkZWxfUiwgZGVsX0csIGRlbF9CLAoJCQkJCQloc2wgPSB7CgkJCQkJCQloOiAwLAoJCQkJCQkJczogMCwKCQkJCQkJCWw6IChtYXhWYWwgKyBtaW5WYWwpIC8gMgoJCQkJCQl9OwoKCQkJCQlpZiAoZGVsdGEgPT09IDApIHsKCQkJCQkJaHNsLmggPSAwOwoJCQkJCQloc2wucyA9IDA7CgkJCQkJfSBlbHNlIHsKCQkJCQkJaHNsLnMgPSBoc2wubCA8IDAuNSA/IGRlbHRhIC8gKG1heFZhbCArIG1pblZhbCkgOiBkZWx0YSAvICgyIC0gbWF4VmFsIC0gbWluVmFsKTsKCgkJCQkJCWRlbF9SID0gKCgobWF4VmFsIC0gcmdiLnIpIC8gNikgKyAoZGVsdGEgLyAyKSkgLyBkZWx0YTsKCQkJCQkJZGVsX0cgPSAoKChtYXhWYWwgLSByZ2IuZykgLyA2KSArIChkZWx0YSAvIDIpKSAvIGRlbHRhOwoJCQkJCQlkZWxfQiA9ICgoKG1heFZhbCAtIHJnYi5iKSAvIDYpICsgKGRlbHRhIC8gMikpIC8gZGVsdGE7CgoJCQkJCQlpZiAocmdiLnIgPT09IG1heFZhbCkgewoJCQkJCQkJaHNsLmggPSBkZWxfQiAtIGRlbF9HOwoJCQkJCQl9IGVsc2UgaWYgKHJnYi5nID09PSBtYXhWYWwpIHsKCQkJCQkJCWhzbC5oID0gKDEgLyAzKSArIGRlbF9SIC0gZGVsX0I7CgkJCQkJCX0gZWxzZSBpZiAocmdiLmIgPT09IG1heFZhbCkgewoJCQkJCQkJaHNsLmggPSAoMiAvIDMpICsgZGVsX0cgLSBkZWxfUjsKCQkJCQkJfQoKCQkJCQkJaWYgKGhzbC5oIDwgMCkgewoJCQkJCQkJaHNsLmggKz0gMTsKCQkJCQkJfSBlbHNlIGlmIChoc2wuaCA+IDEpIHsKCQkJCQkJCWhzbC5oIC09IDE7CgkJCQkJCX0KCQkJCQl9CgoJCQkJCXJldHVybiBoc2w7CgkJCQl9LAoJCQkJX2hzbF90b19yZ2IgPSBmdW5jdGlvbihoc2wpIHsKCQkJCQl2YXIgdmFyXzEsCgkJCQkJCXZhcl8yLAoJCQkJCQlodWVfdG9fcmdiCT0gZnVuY3Rpb24odjEsIHYyLCB2SCkgewoJCQkJCQkJCQkJaWYgKHZIIDwgMCkgewoJCQkJCQkJCQkJCXZIICs9IDE7CgkJCQkJCQkJCQl9CgkJCQkJCQkJCQlpZiAodkggPiAxKSB7CgkJCQkJCQkJCQkJdkggLT0gMTsKCQkJCQkJCQkJCX0KCQkJCQkJCQkJCWlmICgoNiAqIHZIKSA8IDEpIHsKCQkJCQkJCQkJCQlyZXR1cm4gdjEgKyAodjIgLSB2MSkgKiA2ICogdkg7CgkJCQkJCQkJCQl9CgkJCQkJCQkJCQlpZiAoKDIgKiB2SCkgPCAxKSB7CgkJCQkJCQkJCQkJcmV0dXJuIHYyOwoJCQkJCQkJCQkJfQoJCQkJCQkJCQkJaWYgKCgzICogdkgpIDwgMikgewoJCQkJCQkJCQkJCXJldHVybiB2MSArICh2MiAtIHYxKSAqICgoMiAvIDMpIC0gdkgpICogNjsKCQkJCQkJCQkJCX0KCQkJCQkJCQkJCXJldHVybiB2MTsKCQkJCQkJCQkJfTsKCgkJCQkJaWYgKGhzbC5zID09PSAwKSB7CgkJCQkJCXJldHVybiB7CgkJCQkJCQlyOiBoc2wubCwKCQkJCQkJCWc6IGhzbC5sLAoJCQkJCQkJYjogaHNsLmwKCQkJCQkJfTsKCQkJCQl9CgoJCQkJCXZhcl8yID0gKGhzbC5sIDwgMC41KSA/IGhzbC5sICogKDEgKyBoc2wucykgOiAoaHNsLmwgKyBoc2wucykgLSAoaHNsLnMgKiBoc2wubCk7CgkJCQkJdmFyXzEgPSAyICogaHNsLmwgLSB2YXJfMjsKCgkJCQkJcmV0dXJuIHsKCQkJCQkJcjogaHVlX3RvX3JnYih2YXJfMSwgdmFyXzIsIGhzbC5oICsgKDEgLyAzKSksCgkJCQkJCWc6IGh1ZV90b19yZ2IodmFyXzEsIHZhcl8yLCBoc2wuaCksCgkJCQkJCWI6IGh1ZV90b19yZ2IodmFyXzEsIHZhcl8yLCBoc2wuaCAtICgxIC8gMykpCgkJCQkJfTsKCQkJCX0sCgkJCQlfeHl6X3RvX2xhYiA9IGZ1bmN0aW9uKHh5eikgewoJCQkJCS8vIENJRS1MKmFiIEQ2NSAxOTMxCgkJCQkJdmFyIHggPSB4eXoueCAvIDAuOTUwNDcsCgkJCQkJCXkgPSB4eXoueSwKCQkJCQkJeiA9IHh5ei56IC8gMS4wODg4MzsKCgkJCQkJeCA9ICh4ID4gMC4wMDg4NTYpID8gTWF0aC5wb3coeCwgKDEvMykpIDogKDcuNzg3ICogeCkgKyAoMTYvMTE2KTsKCQkJCQl5ID0gKHkgPiAwLjAwODg1NikgPyBNYXRoLnBvdyh5LCAoMS8zKSkgOiAoNy43ODcgKiB5KSArICgxNi8xMTYpOwoJCQkJCXogPSAoeiA+IDAuMDA4ODU2KSA/IE1hdGgucG93KHosICgxLzMpKSA6ICg3Ljc4NyAqIHopICsgKDE2LzExNik7CgoJCQkJCXJldHVybiB7CgkJCQkJCWw6ICgoMTE2ICogeSkgLSAxNikgLyAxMDAsCS8vIFswLDEwMF0KCQkJCQkJYTogKCg1MDAgKiAoeCAtIHkpKSArIDEyOCkgLyAyNTUsCS8vIFstMTI4LDEyN10KCQkJCQkJYjogKCgyMDAgKiAoeSAtIHopKQkrIDEyOCkgLyAyNTUJLy8gWy0xMjgsMTI3XQoJCQkJCX07CgkJCQl9LAoJCQkJX2xhYl90b194eXogPSBmdW5jdGlvbihsYWIpIHsKCQkJCQl2YXIgbGFiMiA9IHsKCQkJCQkJCWw6IGxhYi5sICogMTAwLAoJCQkJCQkJYTogKGxhYi5hICogMjU1KSAtIDEyOCwKCQkJCQkJCWI6IChsYWIuYiAqIDI1NSkgLSAxMjgKCQkJCQkJfSwKCQkJCQkJeHl6ID0gewoJCQkJCQkJeDogMCwKCQkJCQkJCXk6IChsYWIyLmwgKyAxNikgLyAxMTYsCgkJCQkJCQl6OiAwCgkJCQkJCX07CgoJCQkJCXh5ei54ID0gbGFiMi5hIC8gNTAwICsgeHl6Lnk7CgkJCQkJeHl6LnogPSB4eXoueSAtIGxhYjIuYiAvIDIwMDsKCgkJCQkJeHl6LnggPSAoTWF0aC5wb3coeHl6LngsIDMpID4gMC4wMDg4NTYpID8gTWF0aC5wb3coeHl6LngsIDMpIDogKHh5ei54IC0gMTYgLyAxMTYpIC8gNy43ODc7CgkJCQkJeHl6LnkgPSAoTWF0aC5wb3coeHl6LnksIDMpID4gMC4wMDg4NTYpID8gTWF0aC5wb3coeHl6LnksIDMpIDogKHh5ei55IC0gMTYgLyAxMTYpIC8gNy43ODc7CgkJCQkJeHl6LnogPSAoTWF0aC5wb3coeHl6LnosIDMpID4gMC4wMDg4NTYpID8gTWF0aC5wb3coeHl6LnosIDMpIDogKHh5ei56IC0gMTYgLyAxMTYpIC8gNy43ODc7CgoJCQkJCXh5ei54ICo9IDAuOTUwNDc7CgkJCQkJeHl6LnkgKj0gMTsKCQkJCQl4eXoueiAqPSAxLjA4ODgzOwoKCQkJCQlyZXR1cm4geHl6OwoJCQkJfSwKCQkJCV9yZ2JfdG9fY215ID0gZnVuY3Rpb24ocmdiKSB7CgkJCQkJcmV0dXJuIHsKCQkJCQkJYzogMSAtIChyZ2IuciksCgkJCQkJCW06IDEgLSAocmdiLmcpLAoJCQkJCQl5OiAxIC0gKHJnYi5iKQoJCQkJCX07CgkJCQl9LAoJCQkJX2NteV90b19yZ2IgPSBmdW5jdGlvbihjbXkpIHsKCQkJCQlyZXR1cm4gewoJCQkJCQlyOiAxIC0gKGNteS5jKSwKCQkJCQkJZzogMSAtIChjbXkubSksCgkJCQkJCWI6IDEgLSAoY215LnkpCgkJCQkJfTsKCQkJCX0sCgkJCQlfY215X3RvX2NteWsgPSBmdW5jdGlvbihjbXkpIHsKCQkJCQl2YXIgSyA9IDE7CgoJCQkJCWlmIChjbXkuYyA8IEspIHsKCQkJCQkJSyA9IGNteS5jOwoJCQkJCX0KCQkJCQlpZiAoY215Lm0gPCBLKSB7CgkJCQkJCUsgPSBjbXkubTsKCQkJCQl9CgkJCQkJaWYgKGNteS55IDwgSykgewoJCQkJCQlLID0gY215Lnk7CgkJCQkJfQoKCQkJCQlpZiAoSyA9PSAxKSB7CgkJCQkJCXJldHVybiB7CgkJCQkJCQljOiAwLAoJCQkJCQkJbTogMCwKCQkJCQkJCXk6IDAsCgkJCQkJCQlrOiAxCgkJCQkJCX07CgkJCQkJfQoKCQkJCQlyZXR1cm4gewoJCQkJCQljOiAoY215LmMgLSBLKSAvICgxIC0gSyksCgkJCQkJCW06IChjbXkubSAtIEspIC8gKDEgLSBLKSwKCQkJCQkJeTogKGNteS55IC0gSykgLyAoMSAtIEspLAoJCQkJCQlrOiBLCgkJCQkJfTsKCQkJCX0sCgkJCQlfY215a190b19jbXkgPSBmdW5jdGlvbihjbXlrKSB7CgkJCQkJcmV0dXJuIHsKCQkJCQkJYzogY215ay5jICogKDEgLSBjbXlrLmspICsgY215ay5rLAoJCQkJCQltOiBjbXlrLm0gKiAoMSAtIGNteWsuaykgKyBjbXlrLmssCgkJCQkJCXk6IGNteWsueSAqICgxIC0gY215ay5rKSArIGNteWsuawoJCQkJCX07CgkJCQl9OwoKCQkJdGhpcy5zZXQgPSB0cnVlOwoKCQkJdGhpcy5zZXRBbHBoYSA9IGZ1bmN0aW9uKF9hKSB7CgkJCQlpZiAoX2EgIT09IG51bGwpIHsKCQkJCQlhID0gX2NsaXAoX2EpOwoJCQkJfQoKCQkJCXJldHVybiB0aGlzOwoJCQl9OwoKCQkJdGhpcy5nZXRBbHBoYSA9IGZ1bmN0aW9uKCkgewoJCQkJcmV0dXJuIGE7CgkJCX07CgoJCQl0aGlzLnNldFJHQiA9IGZ1bmN0aW9uKHIsIGcsIGIpIHsKCQkJCXNwYWNlcyA9IHtyZ2I6IHRoaXMuZ2V0UkdCKCl9OwoJCQkJaWYgKHIgIT09IG51bGwpIHsKCQkJCQlzcGFjZXMucmdiLnIgPSBfY2xpcChyKTsKCQkJCX0KCQkJCWlmIChnICE9PSBudWxsKSB7CgkJCQkJc3BhY2VzLnJnYi5nID0gX2NsaXAoZyk7CgkJCQl9CgkJCQlpZiAoYiAhPT0gbnVsbCkgewoJCQkJCXNwYWNlcy5yZ2IuYiA9IF9jbGlwKGIpOwoJCQkJfQoKCQkJCXJldHVybiB0aGlzOwoJCQl9OwoKCQkJdGhpcy5zZXRIU1YgPSBmdW5jdGlvbihoLCBzLCB2KSB7CgkJCQlzcGFjZXMgPSB7aHN2OiB0aGlzLmdldEhTVigpfTsKCQkJCWlmIChoICE9PSBudWxsKSB7CgkJCQkJc3BhY2VzLmhzdi5oID0gX2NsaXAoaCk7CgkJCQl9CgkJCQlpZiAocyAhPT0gbnVsbCkJewoJCQkJCXNwYWNlcy5oc3YucyA9IF9jbGlwKHMpOwoJCQkJfQoJCQkJaWYgKHYgIT09IG51bGwpCXsKCQkJCQlzcGFjZXMuaHN2LnYgPSBfY2xpcCh2KTsKCQkJCX0KCgkJCQlyZXR1cm4gdGhpczsKCQkJfTsKCgkJCXRoaXMuc2V0SFNMID0gZnVuY3Rpb24oaCwgcywgbCkgewoJCQkJc3BhY2VzID0ge2hzbDogdGhpcy5nZXRIU0woKX07CgkJCQlpZiAoaCAhPT0gbnVsbCkJewoJCQkJCXNwYWNlcy5oc2wuaCA9IF9jbGlwKGgpOwoJCQkJfQoJCQkJaWYgKHMgIT09IG51bGwpIHsKCQkJCQlzcGFjZXMuaHNsLnMgPSBfY2xpcChzKTsKCQkJCX0KCQkJCWlmIChsICE9PSBudWxsKSB7CgkJCQkJc3BhY2VzLmhzbC5sID0gX2NsaXAobCk7CgkJCQl9CgoJCQkJcmV0dXJuIHRoaXM7CgkJCX07CgoJCQl0aGlzLnNldExBQiA9IGZ1bmN0aW9uKGwsIGEsIGIpIHsKCQkJCXNwYWNlcyA9IHtsYWI6IHRoaXMuZ2V0TEFCKCl9OwoJCQkJaWYgKGwgIT09IG51bGwpIHsKCQkJCQlzcGFjZXMubGFiLmwgPSBfY2xpcChsKTsKCQkJCX0KCQkJCWlmIChhICE9PSBudWxsKSB7CgkJCQkJc3BhY2VzLmxhYi5hID0gX2NsaXAoYSk7CgkJCQl9CgkJCQlpZiAoYiAhPT0gbnVsbCkgewoJCQkJCXNwYWNlcy5sYWIuYiA9IF9jbGlwKGIpOwoJCQkJfQoKCQkJCXJldHVybiB0aGlzOwoJCQl9OwoKCQkJdGhpcy5zZXRDTVlLID0gZnVuY3Rpb24oYywgbSwgeSwgaykgewoJCQkJc3BhY2VzID0ge2NteWs6IHRoaXMuZ2V0Q01ZSygpfTsKCQkJCWlmIChjICE9PSBudWxsKSB7CgkJCQkJc3BhY2VzLmNteWsuYyA9IF9jbGlwKGMpOwoJCQkJfQoJCQkJaWYgKG0gIT09IG51bGwpIHsKCQkJCQlzcGFjZXMuY215ay5tID0gX2NsaXAobSk7CgkJCQl9CgkJCQlpZiAoeSAhPT0gbnVsbCkgewoJCQkJCXNwYWNlcy5jbXlrLnkgPSBfY2xpcCh5KTsKCQkJCX0KCQkJCWlmIChrICE9PSBudWxsKSB7CgkJCQkJc3BhY2VzLmNteWsuayA9IF9jbGlwKGspOwoJCQkJfQoKCQkJCXJldHVybiB0aGlzOwoJCQl9OwoKCQkJdGhpcy5nZXRSR0IgPSBmdW5jdGlvbigpIHsKCQkJCWlmICghc3BhY2VzLnJnYikgewoJCQkJCXNwYWNlcy5yZ2IJPSBzcGFjZXMubGFiID8JX3h5el90b19yZ2IoX2xhYl90b194eXooc3BhY2VzLmxhYikpCgkJCQkJCQkJOiBzcGFjZXMuaHN2ID8JX2hzdl90b19yZ2Ioc3BhY2VzLmhzdikKCQkJCQkJCQk6IHNwYWNlcy5oc2wgPwlfaHNsX3RvX3JnYihzcGFjZXMuaHNsKQoJCQkJCQkJCTogc3BhY2VzLmNteWsgPwlfY215X3RvX3JnYihfY215a190b19jbXkoc3BhY2VzLmNteWspKQoJCQkJCQkJCToge3I6IDAsIGc6IDAsIGI6IDB9OwoJCQkJCXNwYWNlcy5yZ2IuciA9IF9jbGlwKHNwYWNlcy5yZ2Iucik7CgkJCQkJc3BhY2VzLnJnYi5nID0gX2NsaXAoc3BhY2VzLnJnYi5nKTsKCQkJCQlzcGFjZXMucmdiLmIgPSBfY2xpcChzcGFjZXMucmdiLmIpOwoJCQkJfQoJCQkJcmV0dXJuICQuZXh0ZW5kKHt9LCBzcGFjZXMucmdiKTsKCQkJfTsKCgkJCXRoaXMuZ2V0SFNWID0gZnVuY3Rpb24oKSB7CgkJCQlpZiAoIXNwYWNlcy5oc3YpIHsKCQkJCQlzcGFjZXMuaHN2CT0gc3BhY2VzLmxhYiA/IF9yZ2JfdG9faHN2KHRoaXMuZ2V0UkdCKCkpCgkJCQkJCQkJOiBzcGFjZXMucmdiID8JX3JnYl90b19oc3Yoc3BhY2VzLnJnYikKCQkJCQkJCQk6IHNwYWNlcy5oc2wgPwlfcmdiX3RvX2hzdih0aGlzLmdldFJHQigpKQoJCQkJCQkJCTogc3BhY2VzLmNteWsgPwlfcmdiX3RvX2hzdih0aGlzLmdldFJHQigpKQoJCQkJCQkJCToge2g6IDAsIHM6IDAsIHY6IDB9OwoJCQkJCXNwYWNlcy5oc3YuaCA9IF9jbGlwKHNwYWNlcy5oc3YuaCk7CgkJCQkJc3BhY2VzLmhzdi5zID0gX2NsaXAoc3BhY2VzLmhzdi5zKTsKCQkJCQlzcGFjZXMuaHN2LnYgPSBfY2xpcChzcGFjZXMuaHN2LnYpOwoJCQkJfQoJCQkJcmV0dXJuICQuZXh0ZW5kKHt9LCBzcGFjZXMuaHN2KTsKCQkJfTsKCgkJCXRoaXMuZ2V0SFNMID0gZnVuY3Rpb24oKSB7CgkJCQlpZiAoIXNwYWNlcy5oc2wpIHsKCQkJCQlzcGFjZXMuaHNsCT0gc3BhY2VzLnJnYiA/CV9yZ2JfdG9faHNsKHNwYWNlcy5yZ2IpCgkJCQkJCQkJOiBzcGFjZXMuaHN2ID8JX3JnYl90b19oc2wodGhpcy5nZXRSR0IoKSkKCQkJCQkJCQk6IHNwYWNlcy5jbXlrID8JX3JnYl90b19oc2wodGhpcy5nZXRSR0IoKSkKCQkJCQkJCQk6IHNwYWNlcy5oc3YgPwlfcmdiX3RvX2hzbCh0aGlzLmdldFJHQigpKQoJCQkJCQkJCToge2g6IDAsIHM6IDAsIGw6IDB9OwoJCQkJCXNwYWNlcy5oc2wuaCA9IF9jbGlwKHNwYWNlcy5oc2wuaCk7CgkJCQkJc3BhY2VzLmhzbC5zID0gX2NsaXAoc3BhY2VzLmhzbC5zKTsKCQkJCQlzcGFjZXMuaHNsLmwgPSBfY2xpcChzcGFjZXMuaHNsLmwpOwoJCQkJfQoJCQkJcmV0dXJuICQuZXh0ZW5kKHt9LCBzcGFjZXMuaHNsKTsKCQkJfTsKCgkJCXRoaXMuZ2V0Q01ZSyA9IGZ1bmN0aW9uKCkgewoJCQkJaWYgKCFzcGFjZXMuY215aykgewoJCQkJCXNwYWNlcy5jbXlrCT0gc3BhY2VzLnJnYiA/CV9jbXlfdG9fY215ayhfcmdiX3RvX2NteShzcGFjZXMucmdiKSkKCQkJCQkJCQk6IHNwYWNlcy5oc3YgPwlfY215X3RvX2NteWsoX3JnYl90b19jbXkodGhpcy5nZXRSR0IoKSkpCgkJCQkJCQkJOiBzcGFjZXMuaHNsID8JX2NteV90b19jbXlrKF9yZ2JfdG9fY215KHRoaXMuZ2V0UkdCKCkpKQoJCQkJCQkJCTogc3BhY2VzLmxhYiA/CV9jbXlfdG9fY215ayhfcmdiX3RvX2NteSh0aGlzLmdldFJHQigpKSkKCQkJCQkJCQk6IHtjOiAwLCBtOiAwLCB5OiAwLCBrOiAxfTsKCQkJCQlzcGFjZXMuY215ay5jID0gX2NsaXAoc3BhY2VzLmNteWsuYyk7CgkJCQkJc3BhY2VzLmNteWsubSA9IF9jbGlwKHNwYWNlcy5jbXlrLm0pOwoJCQkJCXNwYWNlcy5jbXlrLnkgPSBfY2xpcChzcGFjZXMuY215ay55KTsKCQkJCQlzcGFjZXMuY215ay5rID0gX2NsaXAoc3BhY2VzLmNteWsuayk7CgkJCQl9CgkJCQlyZXR1cm4gJC5leHRlbmQoe30sIHNwYWNlcy5jbXlrKTsKCQkJfTsKCgkJCXRoaXMuZ2V0TEFCID0gZnVuY3Rpb24oKSB7CgkJCQlpZiAoIXNwYWNlcy5sYWIpIHsKCQkJCQlzcGFjZXMubGFiCT0gc3BhY2VzLnJnYiA/CV94eXpfdG9fbGFiKF9yZ2JfdG9feHl6KHNwYWNlcy5yZ2IpKQoJCQkJCQkJCTogc3BhY2VzLmhzdiA/CV94eXpfdG9fbGFiKF9yZ2JfdG9feHl6KHRoaXMuZ2V0UkdCKCkpKQoJCQkJCQkJCTogc3BhY2VzLmhzbCA/CV94eXpfdG9fbGFiKF9yZ2JfdG9feHl6KHRoaXMuZ2V0UkdCKCkpKQoJCQkJCQkJCTogc3BhY2VzLmNteWsgPwlfeHl6X3RvX2xhYihfcmdiX3RvX3h5eih0aGlzLmdldFJHQigpKSkKCQkJCQkJCQk6IHtsOiAwLCBhOiAwLCBiOiAwfTsKCQkJCQlzcGFjZXMubGFiLmwgPSBfY2xpcChzcGFjZXMubGFiLmwpOwoJCQkJCXNwYWNlcy5sYWIuYSA9IF9jbGlwKHNwYWNlcy5sYWIuYSk7CgkJCQkJc3BhY2VzLmxhYi5iID0gX2NsaXAoc3BhY2VzLmxhYi5iKTsKCQkJCX0KCQkJCXJldHVybiAkLmV4dGVuZCh7fSwgc3BhY2VzLmxhYik7CgkJCX07CgoJCQl0aGlzLmdldENoYW5uZWxzID0gZnVuY3Rpb24oKSB7CgkJCQlyZXR1cm4gewoJCQkJCXI6CXRoaXMuZ2V0UkdCKCkuciwKCQkJCQlnOgl0aGlzLmdldFJHQigpLmcsCgkJCQkJYjoJdGhpcy5nZXRSR0IoKS5iLAoJCQkJCWE6CXRoaXMuZ2V0QWxwaGEoKSwKCQkJCQloOgl0aGlzLmdldEhTVigpLmgsCgkJCQkJczoJdGhpcy5nZXRIU1YoKS5zLAoJCQkJCXY6CXRoaXMuZ2V0SFNWKCkudiwKCQkJCQljOgl0aGlzLmdldENNWUsoKS5jLAoJCQkJCW06CXRoaXMuZ2V0Q01ZSygpLm0sCgkJCQkJeToJdGhpcy5nZXRDTVlLKCkueSwKCQkJCQlrOgl0aGlzLmdldENNWUsoKS5rLAoJCQkJCUw6CXRoaXMuZ2V0TEFCKCkubCwKCQkJCQlBOgl0aGlzLmdldExBQigpLmEsCgkJCQkJQjoJdGhpcy5nZXRMQUIoKS5iCgkJCQl9OwoJCQl9OwoJCQkKCQkJdGhpcy5nZXRTcGFjZXMgPSBmdW5jdGlvbigpIHsKCQkJCXJldHVybiAkLmV4dGVuZCh0cnVlLCB7fSwgc3BhY2VzKTsKCQkJfTsKCQkJCgkJCXRoaXMuc2V0U3BhY2VzID0gZnVuY3Rpb24obmV3X3NwYWNlcykgewoJCQkJc3BhY2VzID0gbmV3X3NwYWNlczsKCQkJCXJldHVybiB0aGlzOwoJCQl9OwoJCQkKCQkJdGhpcy5kaXN0YW5jZSA9IGZ1bmN0aW9uKGNvbG9yKSB7CgkJCQl2YXIgc3BhY2UJPSAnbGFiJywKCQkJCQlnZXR0ZXIJPSAnZ2V0JytzcGFjZS50b1VwcGVyQ2FzZSgpLAoJCQkJCWEgPSB0aGlzW2dldHRlcl0oKSwKCQkJCQliID0gY29sb3JbZ2V0dGVyXSgpLAoJCQkJCWRpc3RhbmNlID0gMCwKCQkJCQljaGFubmVsOwoKCQkJCWZvciAoY2hhbm5lbCBpbiBhKSB7CgkJCQkJZGlzdGFuY2UgKz0gTWF0aC5wb3coYVtjaGFubmVsXSAtIGJbY2hhbm5lbF0sIDIpOwoJCQkJfQoKCQkJCXJldHVybiBkaXN0YW5jZTsKCQkJfTsKCgkJCXRoaXMuZXF1YWxzID0gZnVuY3Rpb24oY29sb3IpIHsKCQkJCXZhciBhID0gdGhpcy5nZXRSR0IoKSwKCQkJCQliID0gY29sb3IuZ2V0UkdCKCk7CgoJCQkJcmV0dXJuIHRoaXMuZ2V0QWxwaGEoKSA9PSBjb2xvci5nZXRBbHBoYSgpCgkJCQkJJiYgYS5yID09IGIucgoJCQkJCSYmIGEuZyA9PSBiLmcKCQkJCQkmJiBhLmIgPT0gYi5iOwoJCQl9OwoKCQkJdGhpcy5saW1pdCA9IGZ1bmN0aW9uKHN0ZXBzKSB7CgkJCQlzdGVwcyAtPSAxOwoJCQkJdmFyIHJnYiA9IHRoaXMuZ2V0UkdCKCk7CgkJCQl0aGlzLnNldFJHQigKCQkJCQlNYXRoLnJvdW5kKHJnYi5yICogc3RlcHMpIC8gc3RlcHMsCgkJCQkJTWF0aC5yb3VuZChyZ2IuZyAqIHN0ZXBzKSAvIHN0ZXBzLAoJCQkJCU1hdGgucm91bmQocmdiLmIgKiBzdGVwcykgLyBzdGVwcwoJCQkJKTsKCQkJfTsKCgkJCXRoaXMudG9IZXggPSBmdW5jdGlvbigpIHsKCQkJCXZhciByZ2IgPSB0aGlzLmdldFJHQigpOwoJCQkJcmV0dXJuIF9oZXhpZnkocmdiLnIgKiAyNTUpICsgX2hleGlmeShyZ2IuZyAqIDI1NSkgKyBfaGV4aWZ5KHJnYi5iICogMjU1KTsKCQkJfTsKCgkJCXRoaXMudG9DU1MgPSBmdW5jdGlvbigpIHsKCQkJCXJldHVybiAnIycgKyB0aGlzLnRvSGV4KCk7CgkJCX07CgoJCQl0aGlzLm5vcm1hbGl6ZSA9IGZ1bmN0aW9uKCkgewoJCQkJdGhpcy5zZXRIU1YobnVsbCwgMSwgMSk7CgkJCQlyZXR1cm4gdGhpczsKCQkJfTsKCgkJCXRoaXMuY29weSA9IGZ1bmN0aW9uKCkgewoJCQkJdmFyIHNwYWNlcyA9IHRoaXMuZ2V0U3BhY2VzKCksCgkJCQkJYSA9IHRoaXMuZ2V0QWxwaGEoKTsKCQkJCXJldHVybiBuZXcgQ29sb3Ioc3BhY2VzLCBhKTsKCQkJfTsKCgkJCS8vIENvbnN0cnVjdAoJCQlpZiAoYXJncy5sZW5ndGggPT0gMikgewoJCQkJdGhpcy5zZXRTcGFjZXMoYXJnc1swXSk7CgkJCQl0aGlzLnNldEFscGhhKGFyZ3NbMV0gPT09IDAgPyAwIDogYXJnc1sxXSB8fCAxKTsKCQkJfQoJCQlpZiAoYXJncy5sZW5ndGggPiAyKSB7CgkJCQl0aGlzLnNldFJHQihhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdKTsKCQkJCXRoaXMuc2V0QWxwaGEoYXJnc1szXSA9PT0gMCA/IDAgOiBhcmdzWzNdIHx8IDEpOwoJCQl9CgkJfTsKCgkkLndpZGdldCgidmFuZGVybGVlLmNvbG9ycGlja2VyIiwgewoJCW9wdGlvbnM6IHsKCQkJYWxwaGE6CQkJCWZhbHNlLAkJLy8gU2hvdyBhbHBoYSBjb250cm9scyBhbmQgbW9kZQoJCQlhbHRBbHBoYToJCQl0cnVlLAkJLy8gY2hhbmdlIG9wYWNpdHkgb2YgYWx0RmllbGQgYXMgd2VsbD8KCQkJYWx0RmllbGQ6CQkJJycsCQkJLy8gc2VsZWN0b3IgZm9yIERPTSBlbGVtZW50cyB3aGljaCBjaGFuZ2UgYmFja2dyb3VuZCBjb2xvciBvbiBjaGFuZ2UuCgkJCWFsdE9uQ2hhbmdlOgkJdHJ1ZSwJCS8vIHRydWUgdG8gdXBkYXRlIG9uIGVhY2ggY2hhbmdlLCBmYWxzZSB0byB1cGRhdGUgb25seSBvbiBjbG9zZS4KCQkJYWx0UHJvcGVydGllczoJCSdiYWNrZ3JvdW5kLWNvbG9yJywJLy8gY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgYW55IG9mICdiYWNrZ3JvdW5kLWNvbG9yJywgJ2NvbG9yJywgJ2JvcmRlci1jb2xvcicsICdvdXRsaW5lLWNvbG9yJwoJCQlhdXRvT3BlbjoJCQlmYWxzZSwJCS8vIE9wZW4gZGlhbG9nIGF1dG9tYXRpY2FsbHkgdXBvbiBjcmVhdGlvbgoJCQlidXR0b25Db2xvcml6ZToJCWZhbHNlLAoJCQlidXR0b25JbWFnZToJCSdpbWFnZXMvdWktY29sb3JwaWNrZXIucG5nJywKCQkJYnV0dG9uSW1hZ2VPbmx5OglmYWxzZSwKCQkJYnV0dG9uVGV4dDoJCQludWxsLAkJLy8gVGV4dCBvbiB0aGUgYnV0dG9uIGFuZC9vciB0aXRsZSBvZiBidXR0b24gaW1hZ2UuCgkJCWNsb3NlT25Fc2NhcGU6CQl0cnVlLAkJLy8gQ2xvc2UgdGhlIGRpYWxvZyB3aGVuIHRoZSBlc2NhcGUga2V5IGlzIHByZXNzZWQuCgkJCWNsb3NlT25PdXRzaWRlOgkJdHJ1ZSwJCS8vIENsb3NlIHRoZSBkaWFsb2cgd2hlbiBjbGlja2luZyBvdXRzaWRlIHRoZSBkaWFsb2cgKG5vdCBmb3IgaW5saW5lKQoJCQljb2xvcjoJCQkJJyMwMEZGMDAnLAkvLyBJbml0aWFsIGNvbG9yIChmb3IgaW5saW5lIG9ubHkpCgkJCWNvbG9yRm9ybWF0OgkJJ0hFWCcsCQkvLyBGb3JtYXQgc3RyaW5nIGZvciBvdXRwdXQgY29sb3IgZm9ybWF0CgkJCWRyYWdnYWJsZToJCQl0cnVlLAkJLy8gTWFrZSBwb3B1cCBkaWFsb2cgZHJhZ2dhYmxlIGlmIGhlYWRlciBpcyB2aXNpYmxlLgoJCQlkdXJhdGlvbjoJCQknZmFzdCcsCgkJCWhzdjoJCQkJdHJ1ZSwJCS8vIFNob3cgSFNWIGNvbnRyb2xzIGFuZCBtb2RlcwoJCQlpbmxpbmU6CQkJCXRydWUsCQkvLyBTaG93IGFueSBkaXZzIGFzIGlubGluZSBieSBkZWZhdWx0CgkJCWxheW91dDogewoJCQkJbWFwOgkJWzAsIDAsIDEsIDVdLAkvLyBMZWZ0LCBUb3AsIFdpZHRoLCBIZWlnaHQgKGluIHRhYmxlIGNlbGxzKS4KCQkJCWJhcjoJCVsxLCAwLCAxLCA1XSwKCQkJCXByZXZpZXc6CVsyLCAwLCAxLCAxXSwKCQkJCWhzdjoJCVsyLCAxLCAxLCAxXSwKCQkJCXJnYjoJCVsyLCAyLCAxLCAxXSwKCQkJCWFscGhhOgkJWzIsIDMsIDEsIDFdLAoJCQkJaGV4OgkJWzIsIDQsIDEsIDFdLAoJCQkJbGFiOgkJWzMsIDEsIDEsIDFdLAoJCQkJY215azoJCVszLCAyLCAxLCAyXSwKCQkJCXN3YXRjaGVzOglbNCwgMCwgMSwgNV0KCQkJfSwKCQkJbGltaXQ6CQkJCScnLAkJCS8vIExpbWl0IGNvbG9yICJyZXNvbHV0aW9uIjogJycsICd3ZWJzYWZlJywgJ25pYmJsZScsICdiaW5hcnknLCAnbmFtZScKCQkJbW9kYWw6CQkJCWZhbHNlLAkJLy8gTW9kYWwgZGlhbG9nPwoJCQltb2RlOgkJCQknaCcsCQkvLyBJbml0aWFsIGVkaXRpbmcgbW9kZSwgaCwgcywgdiwgciwgZywgYiBvciBhCgkJCXBhcnRzOgkJCQknJywJCQkvLyBsZWF2ZSBlbXB0eSBmb3IgYXV0b21hdGljIHNlbGVjdGlvbgoJCQlyZWdpb25hbDoJCQknJywKCQkJcmdiOgkJCQl0cnVlLAkJLy8gU2hvdyBSR0IgY29udHJvbHMgYW5kIG1vZGVzCgkJCXNob3dBbmltOgkJCSdmYWRlSW4nLAoJCQlzaG93Q2FuY2VsQnV0dG9uOgl0cnVlLAoJCQlzaG93Tm9uZUJ1dHRvbjoJCWZhbHNlLAoJCQlzaG93Q2xvc2VCdXR0b246CXRydWUsCgkJCXNob3dPbjoJCQkJJ2ZvY3VzJywJLy8gJ2ZvY3VzJywgJ2J1dHRvbicsICdib3RoJwoJCQlzaG93T3B0aW9uczoJCXt9LAoJCQlzd2F0Y2hlczoJCQludWxsLAoJCQl0aXRsZToJCQkJbnVsbCwKCgkJCWNsb3NlOiAgICAgICAgICAgICAgbnVsbCwKCQkJaW5pdDoJCQkJbnVsbCwKCQkJc2VsZWN0OiAgICAgICAgICAgICBudWxsLAoJCQlvcGVuOiAgICAgICAgICAgICAgIG51bGwKCQl9LAoKCQlfY3JlYXRlOiBmdW5jdGlvbiAoKSB7CgkJCXZhciB0aGF0ID0gdGhpcywKCQkJCXRleHQ7CgoJCQkrK19jb2xvcnBpY2tlcl9pbmRleDsKCgkJCXRoYXQud2lkZ2V0RXZlbnRQcmVmaXggPSAnY29sb3InOwoKCQkJdGhhdC5vcGVuZWQJCT0gZmFsc2U7CgkJCXRoYXQuZ2VuZXJhdGVkCT0gZmFsc2U7CgkJCXRoYXQuaW5saW5lCQk9IGZhbHNlOwoJCQl0aGF0LmNoYW5nZWQJPSBmYWxzZTsKCgkJCXRoYXQuZGlhbG9nCQk9IG51bGw7CgkJCXRoYXQuYnV0dG9uCQk9IG51bGw7CgkJCXRoYXQuaW1hZ2UJCT0gbnVsbDsKCQkJdGhhdC5vdmVybGF5CT0gbnVsbDsKCgkJCXRoYXQubW9kZQkJPSB0aGF0Lm9wdGlvbnMubW9kZTsKCgkJCWlmICh0aGF0Lm9wdGlvbnMuc3dhdGNoZXMgPT09IG51bGwpIHsKCQkJCXRoYXQub3B0aW9ucy5zd2F0Y2hlcyA9IF9jb2xvcnM7CgkJCX0KCgkJCWlmICh0aGlzLmVsZW1lbnRbMF0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2lucHV0JyB8fCAhdGhhdC5vcHRpb25zLmlubGluZSkgewoJCQkJdGhhdC5fc2V0Q29sb3IodGhhdC5lbGVtZW50LnZhbCgpKTsKCgkJCQl0aGlzLl9jYWxsYmFjaygnaW5pdCcpOwoKCQkJCSQoJ2JvZHknKS5hcHBlbmQoX2NvbnRhaW5lcl9wb3B1cCk7CgkJCQl0aGF0LmRpYWxvZyA9ICQoJy51aS1jb2xvcnBpY2tlcjpsYXN0Jyk7CgoJCQkJLy8gQ2xpY2sgb3V0c2lkZS9pbnNpZGUKCQkJCSQoZG9jdW1lbnQpLm1vdXNlZG93bihmdW5jdGlvbiAoZXZlbnQpIHsKCQkJCQlpZiAoIXRoYXQub3BlbmVkIHx8IGV2ZW50LnRhcmdldCA9PT0gdGhhdC5lbGVtZW50WzBdIHx8IHRoYXQub3ZlcmxheSkgewoJCQkJCQlyZXR1cm47CgkJCQkJfQoKCQkJCQkvLyBDaGVjayBpZiBjbGlja2VkIG9uIGFueSBwYXJ0IG9mIGRpYWxvZwoJCQkJCWlmICh0aGF0LmRpYWxvZy5pcyhldmVudC50YXJnZXQpIHx8IHRoYXQuZGlhbG9nLmhhcyhldmVudC50YXJnZXQpLmxlbmd0aCA+IDApIHsKCQkJCQkJdGhhdC5lbGVtZW50LmJsdXIoKTsJLy8gaW5zaWRlIHdpbmRvdyEKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJLy8gQ2hlY2sgaWYgY2xpY2tlZCBvbiBidXR0b24KCQkJCQl2YXIgcCwKCQkJCQkJcGFyZW50cyA9ICQoZXZlbnQudGFyZ2V0KS5wYXJlbnRzKCk7CgkJCQkJZm9yIChwID0gMDsgcCA8PSBwYXJlbnRzLmxlbmd0aDsgKytwKSB7CgkJCQkJCWlmICh0aGF0LmJ1dHRvbiAhPT0gbnVsbCAmJiBwYXJlbnRzW3BdID09PSB0aGF0LmJ1dHRvblswXSkgewoJCQkJCQkJcmV0dXJuOwoJCQkJCQl9CgkJCQkJfQoKCQkJCQkvLyBubyBjbG9zZU9uT3V0c2lkZQoJCQkJCWlmICghdGhhdC5vcHRpb25zLmNsb3NlT25PdXRzaWRlKSB7CgkJCQkJCXJldHVybjsKCQkJCQl9CgoJCQkJCXRoYXQuY2xvc2UoKTsKCQkJCX0pOwoKCQkJCSQoZG9jdW1lbnQpLmtleWRvd24oZnVuY3Rpb24gKGV2ZW50KSB7CgkJCQkJaWYgKGV2ZW50LmtleUNvZGUgPT0gMjcgJiYgdGhhdC5vcGVuZWQgJiYgdGhhdC5vcHRpb25zLmNsb3NlT25Fc2NhcGUpIHsKCQkJCQkJdGhhdC5jbG9zZSgpOwoJCQkJCX0KCQkJCX0pOwoKCQkJCWlmICh0aGF0Lm9wdGlvbnMuc2hvd09uID09PSAnZm9jdXMnIHx8IHRoYXQub3B0aW9ucy5zaG93T24gPT09ICdib3RoJykgewoJCQkJCXRoYXQuZWxlbWVudC5vbignZm9jdXMgY2xpY2snLCBmdW5jdGlvbiAoKSB7CgkJCQkJCXRoYXQub3BlbigpOwoJCQkJCX0pOwoJCQkJfQoJCQkJaWYgKHRoYXQub3B0aW9ucy5zaG93T24gPT09ICdidXR0b24nIHx8IHRoYXQub3B0aW9ucy5zaG93T24gPT09ICdib3RoJykgewoJCQkJCWlmICh0aGF0Lm9wdGlvbnMuYnV0dG9uSW1hZ2UgIT09ICcnKSB7CgkJCQkJCXRleHQgPSB0aGF0Lm9wdGlvbnMuYnV0dG9uVGV4dCB8fCB0aGF0Ll9nZXRSZWdpb25hbCgnYnV0dG9uJyk7CgoJCQkJCQl0aGF0LmltYWdlID0gJCgnPGltZy8+JykuYXR0cih7CgkJCQkJCQknc3JjJzoJCXRoYXQub3B0aW9ucy5idXR0b25JbWFnZSwKCQkJCQkJCSdhbHQnOgkJdGV4dCwKCQkJCQkJCSd0aXRsZSc6CXRleHQKCQkJCQkJfSk7CgoJCQkJCQl0aGF0Ll9zZXRJbWFnZUJhY2tncm91bmQoKTsKCQkJCQl9CgoJCQkJCWlmICh0aGF0Lm9wdGlvbnMuYnV0dG9uSW1hZ2VPbmx5ICYmIHRoYXQuaW1hZ2UpIHsKCQkJCQkJdGhhdC5idXR0b24gPSB0aGF0LmltYWdlOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXRoYXQuYnV0dG9uID0gJCgnPGJ1dHRvbiB0eXBlPSJidXR0b24iPjwvYnV0dG9uPicpLmh0bWwodGhhdC5pbWFnZSB8fCB0aGF0Lm9wdGlvbnMuYnV0dG9uVGV4dCkuYnV0dG9uKCk7CgkJCQkJCXRoYXQuaW1hZ2UgPSB0aGF0LmltYWdlID8gJCgnaW1nJywgdGhhdC5idXR0b24pLmZpcnN0KCkgOiBudWxsOwoJCQkJCX0KCQkJCQl0aGF0LmJ1dHRvbi5pbnNlcnRBZnRlcih0aGF0LmVsZW1lbnQpLmNsaWNrKGZ1bmN0aW9uICgpIHsKCQkJCQkJdGhhdFt0aGF0Lm9wZW5lZCA/ICdjbG9zZScgOiAnb3BlbiddKCk7CgkJCQkJfSk7CgkJCQl9CgoJCQkJaWYgKHRoYXQub3B0aW9ucy5hdXRvT3BlbikgewoJCQkJCXRoYXQub3BlbigpOwoJCQkJfQoKCQkJCXRoYXQuZWxlbWVudC5rZXlkb3duKGZ1bmN0aW9uIChldmVudCkgewoJCQkJCWlmIChldmVudC5rZXlDb2RlID09PSA5KSB7CgkJCQkJCXRoYXQuY2xvc2UoKTsKCQkJCQl9CgkJCQl9KS5rZXl1cChmdW5jdGlvbiAoZXZlbnQpIHsKCQkJCQl2YXIgY29sb3IgPSBfcGFyc2VDb2xvcih0aGF0LmVsZW1lbnQudmFsKCkpOwoJCQkJCWlmICghdGhhdC5jb2xvci5lcXVhbHMoY29sb3IpKSB7CgkJCQkJCXRoYXQuY29sb3IgPSBjb2xvcjsKCQkJCQkJdGhhdC5fY2hhbmdlKCk7CgkJCQkJfQoJCQkJfSk7CgkJCX0gZWxzZSB7CgkJCQl0aGF0LmlubGluZSA9IHRydWU7CgoJCQkJJCh0aGlzLmVsZW1lbnQpLmh0bWwoX2NvbnRhaW5lcl9pbmxpbmUpOwoJCQkJdGhhdC5kaWFsb2cgPSAkKCcudWktY29sb3JwaWNrZXInLCB0aGlzLmVsZW1lbnQpOwoKCQkJCXRoYXQuX2dlbmVyYXRlKCk7CgoJCQkJdGhhdC5vcGVuZWQgPSB0cnVlOwoJCQl9CgoJCQlyZXR1cm4gdGhpczsKCQl9LAoKCQlfc2V0T3B0aW9uOiBmdW5jdGlvbihrZXksIHZhbHVlKXsKCQkJdmFyIHRoYXQgPSB0aGlzOwoKCQkJc3dpdGNoIChrZXkpIHsKCQkJY2FzZSAiZGlzYWJsZWQiOgoJCQkJaWYgKHZhbHVlKSB7CgkJCQkJdGhhdC5kaWFsb2cuYWRkQ2xhc3MoJ3VpLWNvbG9ycGlja2VyLWRpc2FibGVkJyk7CgkJCQl9IGVsc2UgewoJCQkJCXRoYXQuZGlhbG9nLnJlbW92ZUNsYXNzKCd1aS1jb2xvcnBpY2tlci1kaXNhYmxlZCcpOwoJCQkJfQoJCQkJYnJlYWs7CgkJCX0KCgkJCSQuV2lkZ2V0LnByb3RvdHlwZS5fc2V0T3B0aW9uLmFwcGx5KHRoYXQsIGFyZ3VtZW50cyk7CgkJfSwKCgkJLyogc2V0QmFja2dyb3VuZCAqLwoJCV9zZXRJbWFnZUJhY2tncm91bmQ6IGZ1bmN0aW9uKCkgewoJCQlpZiAodGhpcy5pbWFnZSAmJiB0aGlzLm9wdGlvbnMuYnV0dG9uQ29sb3JpemUpIHsKCQkJCXRoaXMuaW1hZ2UuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJywgdGhpcy5jb2xvci5zZXQ/IF9mb3JtYXRDb2xvcignUkdCQScsIHRoaXMuY29sb3IpIDogJycpOwoJCQl9CgkJfSwKCgkJLyoqCgkJICogSWYgYW4gYWx0ZXJuYXRlIGZpZWxkIGlzIHNwZWNpZmllZCwgc2V0IGl0IGFjY29yZGluZyB0byB0aGUgY3VycmVudCBjb2xvci4KCQkgKi8KCQlfc2V0QWx0RmllbGQ6IGZ1bmN0aW9uICgpIHsKCQkJaWYgKHRoaXMub3B0aW9ucy5hbHRPbkNoYW5nZSAmJiB0aGlzLm9wdGlvbnMuYWx0RmllbGQgJiYgdGhpcy5vcHRpb25zLmFsdFByb3BlcnRpZXMpIHsKCQkJCXZhciBpbmRleCwKCQkJCQlwcm9wZXJ0eSwKCQkJCQlwcm9wZXJ0aWVzID0gdGhpcy5vcHRpb25zLmFsdFByb3BlcnRpZXMuc3BsaXQoJywnKTsKCgkJCQlmb3IgKGluZGV4ID0gMDsgaW5kZXggPD0gcHJvcGVydGllcy5sZW5ndGg7ICsraW5kZXgpIHsKCQkJCQlwcm9wZXJ0eSA9ICQudHJpbShwcm9wZXJ0aWVzW2luZGV4XSk7CgkJCQkJc3dpdGNoIChwcm9wZXJ0eSkgewoJCQkJCQljYXNlICdjb2xvcic6CgkJCQkJCWNhc2UgJ2JhY2tncm91bmQtY29sb3InOgoJCQkJCQljYXNlICdvdXRsaW5lLWNvbG9yJzoKCQkJCQkJY2FzZSAnYm9yZGVyLWNvbG9yJzoKCQkJCQkJCSQodGhpcy5vcHRpb25zLmFsdEZpZWxkKS5jc3MocHJvcGVydHksIHRoaXMuY29sb3Iuc2V0PyB0aGlzLmNvbG9yLnRvQ1NTKCkgOiAnJyk7CgkJCQkJCQlicmVhazsKCQkJCQl9CgkJCQl9CgoJCQkJaWYgKHRoaXMub3B0aW9ucy5hbHRBbHBoYSkgewoJCQkJCSQodGhpcy5vcHRpb25zLmFsdEZpZWxkKS5jc3MoJ29wYWNpdHknLCB0aGlzLmNvbG9yLnNldD8gdGhpcy5jb2xvci5nZXRBbHBoYSgpIDogJycpOwoJCQkJfQoJCQl9CgkJfSwKCgkJX3NldENvbG9yOiBmdW5jdGlvbih0ZXh0KSB7CgkJCXRoaXMuY29sb3IJCQk9IF9wYXJzZUNvbG9yKHRleHQpOwoJCQl0aGlzLmN1cnJlbnRDb2xvcgk9IHRoaXMuY29sb3IuY29weSgpOwoKCQkJdGhpcy5fc2V0SW1hZ2VCYWNrZ3JvdW5kKCk7CgkJCXRoaXMuX3NldEFsdEZpZWxkKCk7CgkJfSwKCgkJc2V0Q29sb3I6IGZ1bmN0aW9uKHRleHQpIHsKCQkJdGhpcy5fc2V0Q29sb3IodGV4dCk7CgkJCXRoaXMuX2NoYW5nZSh0aGlzLmNvbG9yLnNldCk7CgkJfSwKCgkJX2dlbmVyYXRlOiBmdW5jdGlvbiAoKSB7CgkJCXZhciB0aGF0ID0gdGhpcywKCQkJCWluZGV4LAoJCQkJcGFydCwKCQkJCXBhcnRzX2xpc3QsCgkJCQlsYXlvdXRfcGFydHM7CgoJCQkvLyBTZXQgY29sb3IgYmFzZWQgb24gZWxlbWVudD8KCQkJdGhhdC5fc2V0Q29sb3IodGhhdC5pbmxpbmU/IHRoYXQub3B0aW9ucy5jb2xvciA6IHRoYXQuZWxlbWVudC52YWwoKSk7CgoJCQkvLyBEZXRlcm1pbmUgdGhlIHBhcnRzIHRvIGluY2x1ZGUgaW4gdGhpcyBjb2xvcnBpY2tlcgoJCQlpZiAodHlwZW9mIHRoYXQub3B0aW9ucy5wYXJ0cyA9PT0gJ3N0cmluZycpIHsKCQkJCWlmIChfcGFydHNfbGlzdHNbdGhhdC5vcHRpb25zLnBhcnRzXSkgewoJCQkJCXBhcnRzX2xpc3QgPSBfcGFydHNfbGlzdHNbdGhhdC5vcHRpb25zLnBhcnRzXTsKCQkJCX0gZWxzZSB7CgkJCQkJLy8gYXV0b21hdGljCgkJCQkJcGFydHNfbGlzdCA9IF9wYXJ0c19saXN0c1t0aGF0LmlubGluZSA/ICdpbmxpbmUnIDogJ3BvcHVwJ107CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlwYXJ0c19saXN0ID0gdGhhdC5vcHRpb25zLnBhcnRzOwoJCQl9CgoJCQkvLyBBZGQgYW55IHBhcnRzIHRvIHRoZSBpbnRlcm5hbCBwYXJ0cyBsaXN0CgkJCXRoYXQucGFydHMgPSB7fTsKCQkJJC5lYWNoKHBhcnRzX2xpc3QsIGZ1bmN0aW9uKGluZGV4LCBwYXJ0KSB7CgkJCQlpZiAoX3BhcnRzW3BhcnRdKSB7CgkJCQkJdGhhdC5wYXJ0c1twYXJ0XSA9IG5ldyBfcGFydHNbcGFydF0odGhhdCk7CgkJCQl9CgkJCX0pOwoKCQkJaWYgKCF0aGF0LmdlbmVyYXRlZCkgewoJCQkJbGF5b3V0X3BhcnRzID0gW107CgoJCQkJJC5lYWNoKHRoYXQub3B0aW9ucy5sYXlvdXQsIGZ1bmN0aW9uKHBhcnQsIHBvcykgewoJCQkJCWlmICh0aGF0LnBhcnRzW3BhcnRdKSB7CgkJCQkJCWxheW91dF9wYXJ0cy5wdXNoKHsKCQkJCQkJCSdwYXJ0JzogcGFydCwKCQkJCQkJCSdwb3MnOiAgcG9zCgkJCQkJCX0pOwoJCQkJCX0KCQkJCX0pOwoKCQkJCSQoX2xheW91dFRhYmxlKGxheW91dF9wYXJ0cywgZnVuY3Rpb24oY2VsbCwgeCwgeSkgewoJCQkJCXZhciBjbGFzc2VzID0gWyd1aS1jb2xvcnBpY2tlci0nICsgY2VsbC5wYXJ0ICsgJy1jb250YWluZXInXTsKCgkJCQkJaWYgKHggPiAwKSB7CgkJCQkJCWNsYXNzZXMucHVzaCgndWktY29sb3JwaWNrZXItcGFkZGluZy1sZWZ0Jyk7CgkJCQkJfQoKCQkJCQlpZiAoeSA+IDApIHsKCQkJCQkJY2xhc3Nlcy5wdXNoKCd1aS1jb2xvcnBpY2tlci1wYWRkaW5nLXRvcCcpOwoJCQkJCX0KCgkJCQkJcmV0dXJuICc8dGQgIGNsYXNzPSInICsgY2xhc3Nlcy5qb2luKCcgJykgKyAnIicKCQkJCQkJKyAoY2VsbC5wb3NbMl0gPiAxID8gJyBjb2xzcGFuPSInICsgY2VsbC5wb3NbMl0gKyAnIicgOiAnJykKCQkJCQkJKyAoY2VsbC5wb3NbM10gPiAxID8gJyByb3dzcGFuPSInICsgY2VsbC5wb3NbM10gKyAnIicgOiAnJykKCQkJCQkJKyAnIHZhbGlnbj0idG9wIj48L3RkPic7CgkJCQl9KSkuYXBwZW5kVG8odGhhdC5kaWFsb2cpLmFkZENsYXNzKCd1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCcpOwoKCQkJCXRoYXQuX2luaXRBbGxQYXJ0cygpOwoJCQkJdGhhdC5fdXBkYXRlQWxsUGFydHMoKTsKCQkJCXRoYXQuZ2VuZXJhdGVkID0gdHJ1ZTsKCQkJfQoJCX0sCgoJCV9lZmZlY3RHZW5lcmljOiBmdW5jdGlvbiAoZWxlbWVudCwgc2hvdywgc2xpZGUsIGZhZGUsIGNhbGxiYWNrKSB7CgkJCXZhciB0aGF0ID0gdGhpczsKCgkJCWlmICgkLmVmZmVjdHMgJiYgJC5lZmZlY3RzW3RoYXQub3B0aW9ucy5zaG93QW5pbV0pIHsKCQkJCWVsZW1lbnRbc2hvd10odGhhdC5vcHRpb25zLnNob3dBbmltLCB0aGF0Lm9wdGlvbnMuc2hvd09wdGlvbnMsIHRoYXQub3B0aW9ucy5kdXJhdGlvbiwgY2FsbGJhY2spOwoJCQl9IGVsc2UgewoJCQkJZWxlbWVudFsodGhhdC5vcHRpb25zLnNob3dBbmltID09PSAnc2xpZGVEb3duJyA/CgkJCQkJCQkJc2xpZGUKCQkJCQkJCToJKHRoYXQub3B0aW9ucy5zaG93QW5pbSA9PT0gJ2ZhZGVJbicgPwoJCQkJCQkJCQlmYWRlCgkJCQkJCQkJOglzaG93KSldKCh0aGF0Lm9wdGlvbnMuc2hvd0FuaW0gPyB0aGF0Lm9wdGlvbnMuZHVyYXRpb24gOiBudWxsKSwgY2FsbGJhY2spOwoJCQkJaWYgKCF0aGF0Lm9wdGlvbnMuc2hvd0FuaW0gfHwgIXRoYXQub3B0aW9ucy5kdXJhdGlvbikgewoJCQkJCWNhbGxiYWNrKCk7CgkJCQl9CgkJCX0KCQl9LAoKCQlfZWZmZWN0U2hvdzogZnVuY3Rpb24oZWxlbWVudCwgY2FsbGJhY2spIHsKCQkJdGhpcy5fZWZmZWN0R2VuZXJpYyhlbGVtZW50LCAnc2hvdycsICdzbGlkZURvd24nLCAnZmFkZUluJywgY2FsbGJhY2spOwoJCX0sCgoJCV9lZmZlY3RIaWRlOiBmdW5jdGlvbihlbGVtZW50LCBjYWxsYmFjaykgewoJCQl0aGlzLl9lZmZlY3RHZW5lcmljKGVsZW1lbnQsICdoaWRlJywgJ3NsaWRlVXAnLCAnZmFkZU91dCcsIGNhbGxiYWNrKTsKCQl9LAoKCQlvcGVuOiBmdW5jdGlvbigpIHsKCQkJdmFyIHRoYXQgPSB0aGlzLAoJCQkJb2Zmc2V0LAoJCQkJYm90dG9tLAoJCQkJcmlnaHQsCgkJCQloZWlnaHQsCgkJCQl3aWR0aCwKCQkJCXgsCgkJCQl5LAoJCQkJekluZGV4OwoKCQkJaWYgKCF0aGF0Lm9wZW5lZCkgewoJCQkJdGhhdC5fZ2VuZXJhdGUoKTsKCgkJCQlvZmZzZXQJPSB0aGF0LmVsZW1lbnQub2Zmc2V0KCk7CgkJCQlib3R0b20JPSAkKHdpbmRvdykuaGVpZ2h0KCkgKyAkKHdpbmRvdykuc2Nyb2xsVG9wKCk7CgkJCQlyaWdodAk9ICQod2luZG93KS53aWR0aCgpICsgJCh3aW5kb3cpLnNjcm9sbExlZnQoKTsKCQkJCWhlaWdodAk9IHRoYXQuZGlhbG9nLm91dGVySGVpZ2h0KCk7CgkJCQl3aWR0aAk9IHRoYXQuZGlhbG9nLm91dGVyV2lkdGgoKTsKCQkJCXgJCT0gb2Zmc2V0LmxlZnQ7CgkJCQl5CQk9IG9mZnNldC50b3AgKyB0aGF0LmVsZW1lbnQub3V0ZXJIZWlnaHQoKTsKCgkJCQlpZiAoeCArIHdpZHRoID4gcmlnaHQpIHsKCQkJCQl4ID0gTWF0aC5tYXgoMCwgcmlnaHQgLSB3aWR0aCk7CgkJCQl9CgoJCQkJaWYgKHkgKyBoZWlnaHQgPiBib3R0b20pIHsKCQkJCQlpZiAob2Zmc2V0LnRvcCAtIGhlaWdodCA+PSAkKHdpbmRvdykuc2Nyb2xsVG9wKCkpIHsKCQkJCQkJeSA9IG9mZnNldC50b3AgLSBoZWlnaHQ7CgkJCQkJfSBlbHNlIHsKCQkJCQkJeSA9IE1hdGgubWF4KDAsIGJvdHRvbSAtIGhlaWdodCk7CgkJCQkJfQoJCQkJfQoKCQkJCXRoYXQuZGlhbG9nLmNzcyh7J2xlZnQnOiB4LCAndG9wJzogeX0pOwoKCQkJCS8vIEF1dG9tYXRpY2FsbHkgZmluZCBoaWdoZXN0IHotaW5kZXguCgkJCQl6SW5kZXggPSAwOwoJCQkJJCh0aGF0LmVsZW1lbnRbMF0pLnBhcmVudHMoKS5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJCXZhciB6ID0gJCh0aGlzKS5jc3MoJ3otaW5kZXgnKTsKCQkJCQlpZiAoKHR5cGVvZih6KSA9PT0gJ251bWJlcicgfHwgdHlwZW9mKHopID09PSAnc3RyaW5nJykgJiYgeiAhPT0gJycgJiYgIWlzTmFOKHopKSB7CgkJCQkJCXpJbmRleCA9IHo7CgkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQl9CgkJCQl9KTsKCgkJCQkvL0B0b2RvIHpJbmRleE9mZnNldCBvcHRpb24sIHRvIHJhaXNlIGFib3ZlIG90aGVyIGVsZW1lbnRzPwoJCQkJdGhhdC5kaWFsb2cuY3NzKCd6LWluZGV4JywgekluZGV4ICs9IDIpOwoKCQkJCXRoYXQub3ZlcmxheSA9IHRoYXQub3B0aW9ucy5tb2RhbCA/IG5ldyAkLnVpLmRpYWxvZy5vdmVybGF5KHRoYXQpIDogbnVsbDsKCgkJCQl0aGF0Ll9lZmZlY3RTaG93KHRoaXMuZGlhbG9nKTsKCQkJCXRoYXQub3BlbmVkID0gdHJ1ZTsKCQkJCXRoYXQuX2NhbGxiYWNrKCdvcGVuJywgdHJ1ZSk7CgoJCQkJLy8gV2l0aG91dCB3YWl0aW5nIGZvciBkb21yZWFkeSB0aGUgd2lkdGggb2YgdGhlIG1hcCBpcyAwIGFuZCB3ZQoJCQkJLy8gd2luZCB1cCB3aXRoIHRoZSBjdXJzb3Igc3R1Y2sgaW4gdGhlIHVwcGVyIGxlZnQgY29ybmVyCgkJCQkkKGZ1bmN0aW9uKCkgewoJCQkJCXRoYXQuX3JlcGFpbnRBbGxQYXJ0cygpOwoJCQkJfSk7CgkJCX0KCQl9LAoKCQljbG9zZTogZnVuY3Rpb24gKCkgewoJCQl2YXIgdGhhdCA9IHRoaXM7CgoJCQl0aGF0LmN1cnJlbnRDb2xvcgk9IHRoYXQuY29sb3IuY29weSgpOwoJCQl0aGF0LmNoYW5nZWQJCT0gZmFsc2U7CgoJCQkvLyB0ZWFyIGRvd24gdGhlIGludGVyZmFjZQoJCQl0aGF0Ll9lZmZlY3RIaWRlKHRoYXQuZGlhbG9nLCBmdW5jdGlvbiAoKSB7CgkJCQl0aGF0LmRpYWxvZy5lbXB0eSgpOwoJCQkJdGhhdC5nZW5lcmF0ZWQJPSBmYWxzZTsKCgkJCQl0aGF0Lm9wZW5lZAkJPSBmYWxzZTsKCQkJCXRoYXQuX2NhbGxiYWNrKCdjbG9zZScsIHRydWUpOwoJCQl9KTsKCgkJCWlmICh0aGF0Lm92ZXJsYXkpIHsKCQkJCXRoYXQub3ZlcmxheS5kZXN0cm95KCk7CgkJCX0KCQl9LAoKCQlkZXN0cm95OiBmdW5jdGlvbigpIHsKCQkJdGhpcy5lbGVtZW50LnVuYmluZCgpOwoKCQkJaWYgKHRoaXMuaW1hZ2UgIT09IG51bGwpIHsKCQkJCXRoaXMuaW1hZ2UucmVtb3ZlKCk7CgkJCX0KCgkJCWlmICh0aGlzLmJ1dHRvbiAhPT0gbnVsbCkgewoJCQkJdGhpcy5idXR0b24ucmVtb3ZlKCk7CgkJCX0KCgkJCWlmICh0aGlzLmRpYWxvZyAhPT0gbnVsbCkgewoJCQkJdGhpcy5kaWFsb2cucmVtb3ZlKCk7CgkJCX0KCgkJCWlmICh0aGlzLm92ZXJsYXkpIHsKCQkJCXRoaXMub3ZlcmxheS5kZXN0cm95KCk7CgkJCX0KCQl9LAoKCQlfY2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgc3BhY2VzKSB7CgkJCXZhciB0aGF0ID0gdGhpcywKCQkJCWRhdGEsCgkJCQlsYWI7CgoJCQlpZiAodGhhdC5jb2xvci5zZXQpIHsKCQkJCWRhdGEgPSB7CgkJCQkJZm9ybWF0dGVkOiBfZm9ybWF0Q29sb3IodGhhdC5vcHRpb25zLmNvbG9yRm9ybWF0LCB0aGF0LmNvbG9yKQoJCQkJfTsKCgkJCQlsYWIgPSB0aGF0LmNvbG9yLmdldExBQigpOwoJCQkJbGFiLmEgPSAobGFiLmEgKiAyKSAtIDE7CgkJCQlsYWIuYiA9IChsYWIuYiAqIDIpIC0gMTsKCgkJCQlpZiAoc3BhY2VzID09PSB0cnVlKSB7CgkJCQkJZGF0YS5hCQk9IHRoYXQuY29sb3IuZ2V0QWxwaGEoKTsKCQkJCQlkYXRhLnJnYgk9IHRoYXQuY29sb3IuZ2V0UkdCKCk7CgkJCQkJZGF0YS5oc3YJPSB0aGF0LmNvbG9yLmdldEhTVigpOwoJCQkJCWRhdGEuY215awk9IHRoYXQuY29sb3IuZ2V0Q01ZSygpOwoJCQkJCWRhdGEuaHNsCT0gdGhhdC5jb2xvci5nZXRIU0woKTsKCQkJCQlkYXRhLmxhYgk9IGxhYjsKCQkJCX0KCgkJCQlyZXR1cm4gdGhhdC5fdHJpZ2dlcihjYWxsYmFjaywgbnVsbCwgZGF0YSk7CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gdGhhdC5fdHJpZ2dlcihjYWxsYmFjaywgbnVsbCwgewoJCQkJCWZvcm1hdHRlZDogJycKCQkJCX0pOwoJCQl9CgkJfSwKCgkJX2luaXRBbGxQYXJ0czogZnVuY3Rpb24gKCkgewoJCQkkLmVhY2godGhpcy5wYXJ0cywgZnVuY3Rpb24gKGluZGV4LCBwYXJ0KSB7CgkJCQlpZiAocGFydC5pbml0KSB7CgkJCQkJcGFydC5pbml0KCk7CgkJCQl9CgkJCX0pOwoJCX0sCgoJCV91cGRhdGVBbGxQYXJ0czogZnVuY3Rpb24gKCkgewoJCQkkLmVhY2godGhpcy5wYXJ0cywgZnVuY3Rpb24gKGluZGV4LCBwYXJ0KSB7CgkJCQlpZiAocGFydC51cGRhdGUpIHsKCQkJCQlwYXJ0LnVwZGF0ZSgpOwoJCQkJfQoJCQl9KTsKCQl9LAoKCQlfcmVwYWludEFsbFBhcnRzOiBmdW5jdGlvbiAoKSB7CgkJCSQuZWFjaCh0aGlzLnBhcnRzLCBmdW5jdGlvbiAoaW5kZXgsIHBhcnQpIHsKCQkJCWlmIChwYXJ0LnJlcGFpbnQpIHsKCQkJCQlwYXJ0LnJlcGFpbnQoKTsKCQkJCX0KCQkJfSk7CgkJfSwKCgkJX2NoYW5nZTogZnVuY3Rpb24gKHNldCAvKiA9IHRydWUgKi8pIHsKCQkJdGhpcy5jb2xvci5zZXQgPSAoc2V0ICE9PSBmYWxzZSk7CgoJCQl0aGlzLmNoYW5nZWQgPSB0cnVlOwoKCQkJLy8gTGltaXQgY29sb3IgcGFsZXR0ZQoJCQlzd2l0Y2ggKHRoaXMub3B0aW9ucy5saW1pdCkgewoJCQkJY2FzZSAnd2Vic2FmZSc6CgkJCQkJdGhpcy5jb2xvci5saW1pdCg2KTsKCQkJCQlicmVhazsKCgkJCQljYXNlICduaWJibGUnOgoJCQkJCXRoaXMuY29sb3IubGltaXQoMTYpOwoJCQkJCWJyZWFrOwoKCQkJCWNhc2UgJ2JpbmFyeSc6CgkJCQkJdGhpcy5jb2xvci5saW1pdCgyKTsKCQkJCQlicmVhazsKCgkJCQljYXNlICduYW1lJzoKCQkJCQl2YXIgbmFtZSA9IF9jbG9zZXN0TmFtZSh0aGlzLmNvbG9yKTsKCQkJCQl0aGlzLmNvbG9yLnNldFJHQihfY29sb3JzW25hbWVdLnIsIF9jb2xvcnNbbmFtZV0uZywgX2NvbG9yc1tuYW1lXS5iKTsKCQkJCQlicmVhazsKCQkJfQoKCQkJLy8gdXBkYXRlIGlucHV0IGVsZW1lbnQgY29udGVudAoJCQlpZiAoIXRoaXMuaW5saW5lKSB7CgkJCQlpZiAoIXRoaXMuY29sb3Iuc2V0KSB7CgkJCQkJdGhpcy5lbGVtZW50LnZhbCgnJyk7CgkJCQl9IGVsc2UgaWYgKCF0aGlzLmNvbG9yLmVxdWFscyhfcGFyc2VDb2xvcih0aGlzLmVsZW1lbnQudmFsKCkpKSkgewoJCQkJCXRoaXMuZWxlbWVudC52YWwoX2Zvcm1hdENvbG9yKHRoaXMub3B0aW9ucy5jb2xvckZvcm1hdCwgdGhpcy5jb2xvcikpOwoJCQkJfQoKCQkJCXRoaXMuX3NldEltYWdlQmFja2dyb3VuZCgpOwoJCQkJdGhpcy5fc2V0QWx0RmllbGQoKTsKCQkJfQoKCQkJaWYgKHRoaXMub3BlbmVkKSB7CgkJCQl0aGlzLl9yZXBhaW50QWxsUGFydHMoKTsKCQkJfQoKCQkJLy8gY2FsbGJhY2sKCQkJdGhpcy5fY2FsbGJhY2soJ3NlbGVjdCcpOwoJCX0sCgoJCS8vIFRoaXMgd2lsbCBiZSBkZXByZWNhdGVkIGJ5IGpRdWVyeVVJIDEuOSB3aWRnZXQKCQlfaG92ZXJhYmxlOiBmdW5jdGlvbiAoZSkgewoJCQllLmhvdmVyKGZ1bmN0aW9uICgpIHsKCQkJCWUuYWRkQ2xhc3MoInVpLXN0YXRlLWhvdmVyIik7CgkJCX0sIGZ1bmN0aW9uICgpIHsKCQkJCWUucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWhvdmVyIik7CgkJCX0pOwoJCX0sCgoJCS8vIFRoaXMgd2lsbCBiZSBkZXByZWNhdGVkIGJ5IGpRdWVyeVVJIDEuOSB3aWRnZXQKCQlfZm9jdXNhYmxlOiBmdW5jdGlvbiAoZSkgewoJCQllLmZvY3VzKGZ1bmN0aW9uICgpIHsKCQkJCWUuYWRkQ2xhc3MoInVpLXN0YXRlLWZvY3VzIik7CgkJCX0pLmJsdXIoZnVuY3Rpb24gKCkgewoJCQkJZS5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMiKTsKCQkJfSk7CgkJfSwKCgkJX2dldFJlZ2lvbmFsOiBmdW5jdGlvbihuYW1lKSB7CgkJCXJldHVybiAkLmNvbG9ycGlja2VyLnJlZ2lvbmFsW3RoaXMub3B0aW9ucy5yZWdpb25hbF1bbmFtZV0gIT09IHVuZGVmaW5lZCA/CgkJCQkkLmNvbG9ycGlja2VyLnJlZ2lvbmFsW3RoaXMub3B0aW9ucy5yZWdpb25hbF1bbmFtZV0gOiAkLmNvbG9ycGlja2VyLnJlZ2lvbmFsWycnXVtuYW1lXTsKICAgICAgICB9Cgl9KTsKfShqUXVlcnkpKTs=]]></data>
	</file>
	<file>
	  <filename>/templates/js/jquery.periodicalupdater.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqCiogUGVyaW9kaWNhbFVwZGF0ZXIgLSBqUXVlcnkgcGx1Z2luIGZvciB0aW1lZCwgZGVjYXlpbmcgYWpheCBjYWxscwoqCiogaHR0cDovL3d3dy4zNjBpbm5vdmF0ZS5jby51ay9ibG9nLzIwMDkvMDMvcGVyaW9kaWNhbHVwZGF0ZXItZm9yLWpxdWVyeS8KKiBodHRwOi8vZW5mcmFuY2hpc2VkbWluZC5jb20vYmxvZy9wb3N0cy9qcXVlcnktcGVyaW9kaWNhbHVwZGF0ZXItYWpheC1wb2xsaW5nLwoqCiogQ29weXJpZ2h0IChjKSAyMDA5IGJ5IHRoZSBmb2xsb3dpbmc6CiogRnJhbmsgV2hpdGUgKGh0dHA6Ly9jdXN0b21jb2RlLmluZm8pCiogUm9iZXJ0IEZpc2NoZXIgKGh0dHA6Ly9zbW9rZWp1bXBlcml0LmNvbSkKKiAzNjBpbm5vdmF0ZSAoaHR0cDovL3d3dy4zNjBpbm5vdmF0ZS5jby51aykKKgoqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOgoqIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwCiogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sCioKKi8KCihmdW5jdGlvbigkKSB7CiAgICB2YXIgcHVfbG9nID0gZnVuY3Rpb24obXNnKSB7CiAgICAgIHRyeSB7CiAgICAgICAgY29uc29sZS5sb2cobXNnKTsKICAgICAgfSBjYXRjaChlcnIpIHt9CiAgICB9CgogICAgLy8gTm93IGJhY2sgdG8gb3VyIHJlZ3VsYXJseSBzY2hlZHVsZWQgd29yawogICAgJC5QZXJpb2RpY2FsVXBkYXRlciA9IGZ1bmN0aW9uKHVybCwgb3B0aW9ucywgY2FsbGJhY2ssIGF1dG9TdG9wQ2FsbGJhY2spewogICAgICB2YXIgc2V0dGluZ3MgPSBqUXVlcnkuZXh0ZW5kKHRydWUsIHsKICAgICAgICAgIHVybDogdXJsLCAvLyBVUkwgb2YgYWpheCByZXF1ZXN0CiAgICAgICAgICBjYWNoZTogZmFsc2UsIC8vIEJ5IGRlZmF1bHQsIGRvbid0IGFsbG93IGNhY2hpbmcKICAgICAgICAgIG1ldGhvZDogJ0dFVCcsIC8vIG1ldGhvZDsgZ2V0IG9yIHBvc3QKICAgICAgICAgIGRhdGE6ICcnLCAvLyBhcnJheSBvZiB2YWx1ZXMgdG8gYmUgcGFzc2VkIHRvIHRoZSBwYWdlIC0gZS5nLiB7bmFtZTogIkpvaG4iLCBncmVldGluZzogImhlbGxvIn0KICAgICAgICAgIG1pblRpbWVvdXQ6IDEwMDAsIC8vIHN0YXJ0aW5nIHZhbHVlIGZvciB0aGUgdGltZW91dCBpbiBtaWxsaXNlY29uZHMKICAgICAgICAgIG1heFRpbWVvdXQ6IDgwMDAsIC8vIG1heGltdW0gbGVuZ3RoIG9mIHRpbWUgYmV0d2VlbiByZXF1ZXN0cwogICAgICAgICAgbXVsdGlwbGllcjogMiwgLy8gaWYgc2V0IHRvIDIsIHRpbWVySW50ZXJ2YWwgd2lsbCBkb3VibGUgZWFjaCB0aW1lIHRoZSByZXNwb25zZSBoYXNuJ3QgY2hhbmdlZCAodXAgdG8gbWF4VGltZW91dCkKICAgICAgICAgIG1heENhbGxzOiAwLCAvLyBtYXhpbXVtIG51bWJlciBvZiBjYWxscy4gMCA9IG5vIGxpbWl0LgogICAgICAgICAgYXV0b1N0b3A6IDAgLy8gYXV0b21hdGljYWxseSBzdG9wIHJlcXVlc3RzIGFmdGVyIHRoaXMgbWFueSByZXR1cm5zIG9mIHRoZSBzYW1lIGRhdGEuIDAgPSBkaXNhYmxlZAogICAgICAgIH0sIG9wdGlvbnMpOwoKICAgICAgICAvLyBzZXQgc29tZSBpbml0aWFsIHZhbHVlcywgdGhlbiBiZWdpbgogICAgICAgIHZhciB0aW1lciA9IG51bGw7CiAgICAgICAgdmFyIHRpbWVySW50ZXJ2YWwgPSBzZXR0aW5ncy5taW5UaW1lb3V0OwogICAgICAgIHZhciBtYXhDYWxscyA9IHNldHRpbmdzLm1heENhbGxzOwogICAgICAgIHZhciBhdXRvU3RvcCA9IHNldHRpbmdzLmF1dG9TdG9wOwogICAgICAgIHZhciBjYWxscyA9IDA7CiAgICAgICAgdmFyIG5vQ2hhbmdlID0gMDsKICAgICAgICB2YXIgb3JpZ2luYWxNYXhDYWxscyA9IG1heENhbGxzOwoKICAgICAgICB2YXIgcmVzZXRfdGltZXIgPSBmdW5jdGlvbihpbnRlcnZhbCkgewogICAgICAgICAgaWYgKHRpbWVyICE9IG51bGwpIHsKICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTsKICAgICAgICAgIH0KICAgICAgICAgIHRpbWVySW50ZXJ2YWwgPSBpbnRlcnZhbDsKICAgICAgICAgIHB1X2xvZygncmVzZXR0aW5nIHRpbWVyIHRvICcrIHRpbWVySW50ZXJ2YWwgKycuJyk7CiAgICAgICAgICB0aW1lciA9IHNldFRpbWVvdXQoZ2V0ZGF0YSwgdGltZXJJbnRlcnZhbCk7CiAgICAgICAgfQoKICAgICAgICAvLyBGdW5jdGlvbiB0byBib29zdCB0aGUgdGltZXIKICAgICAgICB2YXIgYm9vc3RQZXJpb2QgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIGlmKHNldHRpbmdzLm11bHRpcGxpZXIgPj0gMSkgewogICAgICAgICAgICBiZWZvcmUgPSB0aW1lckludGVydmFsOwogICAgICAgICAgICB0aW1lckludGVydmFsID0gdGltZXJJbnRlcnZhbCAqIHNldHRpbmdzLm11bHRpcGxpZXI7CgogICAgICAgICAgICBpZih0aW1lckludGVydmFsID4gc2V0dGluZ3MubWF4VGltZW91dCkgewogICAgICAgICAgICAgIHRpbWVySW50ZXJ2YWwgPSBzZXR0aW5ncy5tYXhUaW1lb3V0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFmdGVyID0gdGltZXJJbnRlcnZhbDsKICAgICAgICAgICAgcHVfbG9nKCdhZGp1c3RpbmcgdGltZXIgZnJvbSAnKyBiZWZvcmUgKycgdG8gJysgYWZ0ZXIgKycuJyk7CiAgICAgICAgICAgIHJlc2V0X3RpbWVyKHRpbWVySW50ZXJ2YWwpOwogICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIC8vIENvbnN0cnVjdCB0aGUgc2V0dGluZ3MgZm9yICQuYWpheCBiYXNlZCBvbiBzZXR0aW5ncwogICAgICAgIHZhciBhamF4U2V0dGluZ3MgPSBqUXVlcnkuZXh0ZW5kKHRydWUsIHt9LCBzZXR0aW5ncyk7CiAgICAgICAgaWYoc2V0dGluZ3MudHlwZSAmJiAhYWpheFNldHRpbmdzLmRhdGFUeXBlKSBhamF4U2V0dGluZ3MuZGF0YVR5cGUgPSBzZXR0aW5ncy50eXBlOwogICAgICAgIGlmKHNldHRpbmdzLnNlbmREYXRhKSBhamF4U2V0dGluZ3MuZGF0YSA9IHNldHRpbmdzLnNlbmREYXRhOwogICAgICAgIGFqYXhTZXR0aW5ncy50eXBlID0gc2V0dGluZ3MubWV0aG9kOyAvLyAndHlwZScgaXMgdXNlZCBpbnRlcm5hbGx5IGZvciBqUXVlcnkuIFdobyBrbmV3PwogICAgICAgIGFqYXhTZXR0aW5ncy5pZk1vZGlmaWVkID0gdHJ1ZTsKCiAgICAgICAgdmFyIGhhbmRsZSA9IHsKCQkJCXJlc3RhcnQ6IGZ1bmN0aW9uKCkgewoJCQkJbWF4Q2FsbHMgPSBvcmlnaW5hbE1heENhbGxzOwoJCQkJY2FsbHMgPSAwOwoJCQkJcmVzZXRfdGltZXIodGltZXJJbnRlcnZhbCk7CgkJCQlyZXR1cm47CgkJCQl9LAogICAgICAgICAgc3RvcDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIG1heENhbGxzID0gLTE7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICAvLyBDcmVhdGUgdGhlIGZ1bmN0aW9uIHRvIGdldCBkYXRhCiAgICAgICAgLy8gVE9ETyBJdCdkIGJlIG5pY2UgdG8gZG8gdGhlIG9wdGlvbnMuZGF0YSBjaGVjayBvbmNlIChhIGxhIGJvb3N0UGVyaW9kKQogICAgICAgIGZ1bmN0aW9uIGdldGRhdGEoKSB7CiAgICAgICAgICB2YXIgdG9TZW5kID0galF1ZXJ5LmV4dGVuZCh0cnVlLCB7fSwgYWpheFNldHRpbmdzKTsgLy8galF1ZXJ5IHNjcmV3cyB3aXRoIHdoYXQgeW91IHBhc3MgaW4KICAgICAgICAgIGlmKHR5cGVvZihvcHRpb25zLmRhdGEpID09ICdmdW5jdGlvbicpIHsKICAgICAgICAgICAgdG9TZW5kLmRhdGEgPSBvcHRpb25zLmRhdGEoKTsKICAgICAgICAgICAgaWYodG9TZW5kLmRhdGEpIHsKICAgICAgICAgICAgICAvLyBIYW5kbGUgdHJhbnNmb3JtYXRpb25zIChvbmx5IHN0cmluZ3MgYW5kIG9iamVjdHMgYXJlIHVuZGVyc3Rvb2QpCiAgICAgICAgICAgICAgaWYodHlwZW9mKHRvU2VuZC5kYXRhKSA9PSAibnVtYmVyIikgewogICAgICAgICAgICAgICAgdG9TZW5kLmRhdGEgPSB0b1NlbmQuZGF0YS50b1N0cmluZygpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICAgIGlmKG1heENhbGxzID09IDApIHsKICAgICAgICAgICAgJC5hamF4KHRvU2VuZCk7CiAgICAgICAgICB9IGVsc2UgaWYobWF4Q2FsbHMgPiAwICYmIGNhbGxzIDwgbWF4Q2FsbHMpIHsKICAgICAgICAgICAgJC5hamF4KHRvU2VuZCk7CiAgICAgICAgICAgIGNhbGxzKys7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBJbXBsZW1lbnQgdGhlIHRyaWNreSBiZWhpbmQgbG9naWMKICAgICAgICB2YXIgcmVtb3RlRGF0YSA9IG51bGw7CiAgICAgICAgdmFyIHByZXZEYXRhID0gbnVsbDsKCiAgICAgICAgYWpheFNldHRpbmdzLnN1Y2Nlc3MgPSBmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgICBwdV9sb2coIlN1Y2Nlc3NmdWwgcnVuISAoSW4gJ3N1Y2Nlc3MnKSIpOwogICAgICAgICAgcmVtb3RlRGF0YSA9IGRhdGE7CiAgICAgICAgICAvLyB0aW1lckludGVydmFsID0gc2V0dGluZ3MubWluVGltZW91dDsKICAgICAgICB9OwoKICAgICAgICBhamF4U2V0dGluZ3MuY29tcGxldGUgPSBmdW5jdGlvbih4aHIsIHN1Y2Nlc3MpIHsKICAgICAgICAgIC8vcHVfbG9nKCJTdGF0dXMgb2YgY2FsbDogIiArIHN1Y2Nlc3MgKyAiIChJbiAnY29tcGxldGUnKSIpOwogICAgICAgICAgaWYobWF4Q2FsbHMgPT0gLTEpIHJldHVybjsKICAgICAgICAgIGlmKHN1Y2Nlc3MgPT0gInN1Y2Nlc3MiIHx8IHN1Y2Nlc3MgPT0gIm5vdG1vZGlmaWVkIikgewogICAgICAgICAgICB2YXIgcmF3RGF0YSA9ICQudHJpbSh4aHIucmVzcG9uc2VUZXh0KTsKICAgICAgICAgICAgaWYocmF3RGF0YSA9PSAnU1RPUF9BSkFYX0NBTExTJykgewoJCQkJCQkJaGFuZGxlLnN0b3AoKTsKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYocHJldkRhdGEgPT0gcmF3RGF0YSkgewogICAgICAgICAgICAgIGlmKGF1dG9TdG9wID4gMCkgewogICAgICAgICAgICAgICAgbm9DaGFuZ2UrKzsKICAgICAgICAgICAgICAgIGlmKG5vQ2hhbmdlID09IGF1dG9TdG9wKSB7CgkJCQkJCQkJCWhhbmRsZS5zdG9wKCk7CiAgICAgICAgICAgICAgICAgIGlmKGF1dG9TdG9wQ2FsbGJhY2spIGF1dG9TdG9wQ2FsbGJhY2sobm9DaGFuZ2UpOwogICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGJvb3N0UGVyaW9kKCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgbm9DaGFuZ2UgPSAwOwogICAgICAgICAgICAgIHJlc2V0X3RpbWVyKHNldHRpbmdzLm1pblRpbWVvdXQpOwogICAgICAgICAgICAgIHByZXZEYXRhID0gcmF3RGF0YTsKICAgICAgICAgICAgICBpZihyZW1vdGVEYXRhID09IG51bGwpIHJlbW90ZURhdGEgPSByYXdEYXRhOwogICAgICAgICAgICAgIC8vIGpRdWVyeSAxLjQrICQuYWpheCgpIGF1dG9tYXRpY2FsbHkgY29udmVydHMgImRhdGEiIGludG8gYSBKUyBPYmplY3QgZm9yICJ0eXBlOmpzb24iIHJlcXVlc3RzIG5vdwogICAgICAgICAgICAgIC8vIEZvciBjb21wYXRpYmlsaXR5IHdpdGggMS40KyBhbmQgcHJlMS40IGpRdWVyeSBvbmx5IHRyeSB0byBwYXJzZSBhY3R1YWwgc3RyaW5ncywgc2tpcCB3aGVuIHJlbW90ZURhdGEgaXMgYWxyZWFkeSBhbiBPYmplY3QKICAgICAgICAgICAgICBpZigoYWpheFNldHRpbmdzLmRhdGFUeXBlID09PSAnanNvbicpICYmICh0eXBlb2YocmVtb3RlRGF0YSkgPT09ICdzdHJpbmcnKSAmJiAoc3VjY2VzcyA9PSAic3VjY2VzcyIpKSB7CiAgICAgICAgICAgICAgICByZW1vdGVEYXRhID0gSlNPTi5wYXJzZShyZW1vdGVEYXRhKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYoc2V0dGluZ3Muc3VjY2VzcykgeyBzZXR0aW5ncy5zdWNjZXNzKHJlbW90ZURhdGEsIHN1Y2Nlc3MsIHhociwgaGFuZGxlKTsgfQogICAgICAgICAgICAgIGlmKGNhbGxiYWNrKSBjYWxsYmFjayhyZW1vdGVEYXRhLCBzdWNjZXNzLCB4aHIsIGhhbmRsZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIHJlbW90ZURhdGEgPSBudWxsOwogICAgICAgIH0KCgogICAgICAgCSBhamF4U2V0dGluZ3MuZXJyb3IgPSBmdW5jdGlvbiAoeGhyLCB0ZXh0U3RhdHVzKSB7CiAgICAgICAgICAvL3B1X2xvZygiRXJyb3IgbWVzc2FnZTogIiArIHRleHRTdGF0dXMgKyAiIChJbiAnZXJyb3InKSIpOwogICAgICAgICAgaWYodGV4dFN0YXR1cyAhPSAibm90bW9kaWZpZWQiKSB7CiAgICAgICAgICAgIHByZXZEYXRhID0gbnVsbDsKICAgICAgICAgICAgcmVzZXRfdGltZXIoc2V0dGluZ3MubWluVGltZW91dCk7CiAgICAgICAgICB9CiAgICAgICAgICBpZihzZXR0aW5ncy5lcnJvcikgeyBzZXR0aW5ncy5lcnJvcih4aHIsIHRleHRTdGF0dXMpOyB9CiAgICAgICAgfTsKCiAgICAgICAgLy8gTWFrZSB0aGUgZmlyc3QgY2FsbAogICAgICAgICQoZnVuY3Rpb24oKSB7IHJlc2V0X3RpbWVyKHRpbWVySW50ZXJ2YWwpOyB9KTsKCiAgICAgICAgcmV0dXJuIGhhbmRsZTsKICAgIH07Cn0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/templates/js/jquery.socialshareprivacy.fix.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICoganF1ZXJ5LnNvY2lhbHNoYXJlcHJpdmFjeS5qcyB8IDIgS2xpY2tzIGZ1ZXIgbWVociBEYXRlbnNjaHV0egogKgogKiBodHRwOi8vd3d3LmhlaXNlLmRlL2V4dHJhcy9zb2NpYWxzaGFyZXByaXZhY3kvCiAqIGh0dHA6Ly93d3cuaGVpc2UuZGUvY3QvYXJ0aWtlbC8yLUtsaWNrcy1mdWVyLW1laHItRGF0ZW5zY2h1dHotMTMzMzg3OS5odG1sCiAqCiAqIENvcHlyaWdodCAoYykgMjAxMSBIaWxrbyBIb2x3ZWcsIFNlYmFzdGlhbiBIaWxiaWcsIE5pY29sYXMgSGVpcmluZ2hvZmYsIEp1ZXJnZW4gU2NobWlkdCwKICogSGVpc2UgWmVpdHNjaHJpZnRlbiBWZXJsYWcgR21iSCAmIENvLiBLRywgaHR0cDovL3d3dy5oZWlzZS5kZQogKgogKiBpcyByZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHAKICoKICogU3ByZWFkIHRoZSB3b3JkLCBsaW5rIHRvIHVzIGlmIHlvdSBjYW4uCiAqLwooZnVuY3Rpb24gKCQpIHsKCiAgICAidXNlIHN0cmljdCI7CgoJLyoKCSAqIGhlbHBlciBmdW5jdGlvbnMKCSAqLyAKCiAgICAvLyBhYmJyZXZpYXRlIGF0IGxhc3QgYmxhbmsgYmVmb3JlIGxlbmd0aCBhbmQgYWRkICJcdTIwMjYiIChob3Jpem9udGFsIGVsbGlwc2lzKQogICAgZnVuY3Rpb24gYWJicmV2aWF0ZVRleHQodGV4dCwgbGVuZ3RoKSB7CiAgICAgICAgdmFyIGFiYnJldmlhdGVkID0gZGVjb2RlVVJJQ29tcG9uZW50KHRleHQpOwogICAgICAgIGlmIChhYmJyZXZpYXRlZC5sZW5ndGggPD0gbGVuZ3RoKSB7CiAgICAgICAgICAgIHJldHVybiB0ZXh0OwogICAgICAgIH0KCiAgICAgICAgdmFyIGxhc3RXaGl0ZXNwYWNlSW5kZXggPSBhYmJyZXZpYXRlZC5zdWJzdHJpbmcoMCwgbGVuZ3RoIC0gMSkubGFzdEluZGV4T2YoJyAnKTsKICAgICAgICBhYmJyZXZpYXRlZCA9IGVuY29kZVVSSUNvbXBvbmVudChhYmJyZXZpYXRlZC5zdWJzdHJpbmcoMCwgbGFzdFdoaXRlc3BhY2VJbmRleCkpICsgIlx1MjAyNiI7CgogICAgICAgIHJldHVybiBhYmJyZXZpYXRlZDsKICAgIH0KCiAgICAvLyByZXR1cm5zIGNvbnRlbnQgb2YgPG1ldGEgbmFtZT0iIiBjb250ZW50PSIiPiB0YWdzIG9yICcnIGlmIGVtcHR5L25vbiBleGlzdGFudAogICAgZnVuY3Rpb24gZ2V0TWV0YShuYW1lKSB7CiAgICAgICAgdmFyIG1ldGFDb250ZW50ID0gJCgnbWV0YVtuYW1lPSInICsgbmFtZSArICciXScpLmF0dHIoJ2NvbnRlbnQnKTsKICAgICAgICByZXR1cm4gbWV0YUNvbnRlbnQgfHwgJyc7CiAgICB9CiAgICAKICAgIC8vIGNyZWF0ZSB0d2VldCB0ZXh0IGZyb20gY29udGVudCBvZiA8bWV0YSBuYW1lPSJEQy50aXRsZSI+IGFuZCA8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIj4KICAgIC8vIGZhbGxiYWNrIHRvIGNvbnRlbnQgb2YgPHRpdGxlPiB0YWcKICAgIGZ1bmN0aW9uIGdldFR3ZWV0VGV4dCgpIHsKICAgICAgICB2YXIgdGl0bGUgPSBnZXRNZXRhKCdEQy50aXRsZScpOwogICAgICAgIHZhciBjcmVhdG9yID0gZ2V0TWV0YSgnREMuY3JlYXRvcicpOwoKICAgICAgICBpZiAodGl0bGUubGVuZ3RoID4gMCAmJiBjcmVhdG9yLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgdGl0bGUgKz0gJyAtICcgKyBjcmVhdG9yOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRpdGxlID0gJCgndGl0bGUnKS50ZXh0KCk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHRpdGxlKTsKICAgIH0KCiAgICAvLyBidWlsZCBVUkkgZnJvbSByZWw9ImNhbm9uaWNhbCIgb3IgZG9jdW1lbnQubG9jYXRpb24KICAgIGZ1bmN0aW9uIGdldFVSSSgpIHsKICAgICAgICB2YXIgdXJpID0gZG9jdW1lbnQubG9jYXRpb24uaHJlZjsKICAgICAgICB2YXIgY2Fub25pY2FsID0gJCgibGlua1tyZWw9Y2Fub25pY2FsXSIpLmF0dHIoImhyZWYiKTsKCiAgICAgICAgaWYgKGNhbm9uaWNhbCAmJiBjYW5vbmljYWwubGVuZ3RoID4gMCkgewogICAgICAgICAgICBpZiAoY2Fub25pY2FsLmluZGV4T2YoImh0dHAiKSA8IDApIHsKICAgICAgICAgICAgICAgIGNhbm9uaWNhbCA9IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sICsgIi8vIiArIGRvY3VtZW50LmxvY2F0aW9uLmhvc3QgKyBjYW5vbmljYWw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdXJpID0gY2Fub25pY2FsOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHVyaTsKICAgIH0KCiAgICBmdW5jdGlvbiBjb29raWVTZXQobmFtZSwgdmFsdWUsIGRheXMsIHBhdGgsIGRvbWFpbikgewogICAgICAgIHZhciBleHBpcmVzID0gbmV3IERhdGUoKTsKICAgICAgICBleHBpcmVzLnNldFRpbWUoZXhwaXJlcy5nZXRUaW1lKCkgKyAoZGF5cyAqIDI0ICogNjAgKiA2MCAqIDEwMDApKTsKICAgICAgICBkb2N1bWVudC5jb29raWUgPSBuYW1lICsgJz0nICsgdmFsdWUgKyAnOyBleHBpcmVzPScgKyBleHBpcmVzLnRvVVRDU3RyaW5nKCkgKyAnOyBwYXRoPScgKyBwYXRoICsgJzsgZG9tYWluPScgKyBkb21haW47CiAgICB9CiAgICBmdW5jdGlvbiBjb29raWVEZWwobmFtZSwgdmFsdWUsIHBhdGgsIGRvbWFpbikgewogICAgICAgIHZhciBleHBpcmVzID0gbmV3IERhdGUoKTsKICAgICAgICBleHBpcmVzLnNldFRpbWUoZXhwaXJlcy5nZXRUaW1lKCkgLSAxMDApOwogICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IG5hbWUgKyAnPScgKyB2YWx1ZSArICc7IGV4cGlyZXM9JyArIGV4cGlyZXMudG9VVENTdHJpbmcoKSArICc7IHBhdGg9JyArIHBhdGggKyAnOyBkb21haW49JyArIGRvbWFpbjsKICAgIH0KCiAgICAvLyBleHRlbmQganF1ZXJ5IHdpdGggb3VyIHBsdWdpbiBmdW5jdGlvbgogICAgJC5mbi5zb2NpYWxTaGFyZVByaXZhY3kgPSBmdW5jdGlvbiAoc2V0dGluZ3MpIHsKICAgICAgICB2YXIgZGVmYXVsdHMgPSB7CiAgICAgICAgICAgICdzZXJ2aWNlcycgOiB7CiAgICAgICAgICAgICAgICAnZmFjZWJvb2snIDogewogICAgICAgICAgICAgICAgICAgICdzdGF0dXMnICAgICAgICAgICAgOiAnb24nLAogICAgICAgICAgICAgICAgICAgICdkdW1teV9pbWcnICAgICAgICAgOiAnc29jaWFsc2hhcmVwcml2YWN5L2ltYWdlcy9kdW1teV9mYWNlYm9vay5wbmcnLAogICAgICAgICAgICAgICAgICAgICd0eHRfaW5mbycgICAgICAgICAgOiAnMiBLbGlja3MgZiZ1dW1sO3IgbWVociBEYXRlbnNjaHV0ejogRXJzdCB3ZW5uIFNpZSBoaWVyIGtsaWNrZW4sIHdpcmQgZGVyIEJ1dHRvbiBha3RpdiB1bmQgU2llIGsmb3VtbDtubmVuIElocmUgRW1wZmVobHVuZyBhbiBGYWNlYm9vayBzZW5kZW4uIFNjaG9uIGJlaW0gQWt0aXZpZXJlbiB3ZXJkZW4gRGF0ZW4gYW4gRHJpdHRlICZ1dW1sO2JlcnRyYWdlbiAmbmRhc2g7IHNpZWhlJm5ic3A7PGVtPmk8L2VtPi4nLAogICAgICAgICAgICAgICAgICAgICd0eHRfZmJfb2ZmJyAgICAgICAgOiAnbmljaHQgbWl0IEZhY2Vib29rIHZlcmJ1bmRlbicsCiAgICAgICAgICAgICAgICAgICAgJ3R4dF9mYl9vbicgICAgICAgICA6ICdtaXQgRmFjZWJvb2sgdmVyYnVuZGVuJywKICAgICAgICAgICAgICAgICAgICAncGVybWFfb3B0aW9uJyAgICAgIDogJ29uJywKICAgICAgICAgICAgICAgICAgICAnZGlzcGxheV9uYW1lJyAgICAgIDogJ0ZhY2Vib29rJywKICAgICAgICAgICAgICAgICAgICAncmVmZXJyZXJfdHJhY2snICAgIDogJycsCiAgICAgICAgICAgICAgICAgICAgJ2xhbmd1YWdlJyAgICAgICAgICA6ICdkZV9ERScsCiAgICAgICAgICAgICAgICAgICAgJ2FjdGlvbicgICAgICAgICAgICA6ICdyZWNvbW1lbmQnCiAgICAgICAgICAgICAgICB9LCAKICAgICAgICAgICAgICAgICd0d2l0dGVyJyA6IHsKICAgICAgICAgICAgICAgICAgICAnc3RhdHVzJyAgICAgICAgICAgIDogJ29uJywgCiAgICAgICAgICAgICAgICAgICAgJ2R1bW15X2ltZycgICAgICAgICA6ICdzb2NpYWxzaGFyZXByaXZhY3kvaW1hZ2VzL2R1bW15X3R3aXR0ZXIucG5nJywKICAgICAgICAgICAgICAgICAgICAndHh0X2luZm8nICAgICAgICAgIDogJzIgS2xpY2tzIGYmdXVtbDtyIG1laHIgRGF0ZW5zY2h1dHo6IEVyc3Qgd2VubiBTaWUgaGllciBrbGlja2VuLCB3aXJkIGRlciBCdXR0b24gYWt0aXYgdW5kIFNpZSBrJm91bWw7bm5lbiBJaHJlIEVtcGZlaGx1bmcgYW4gVHdpdHRlciBzZW5kZW4uIFNjaG9uIGJlaW0gQWt0aXZpZXJlbiB3ZXJkZW4gRGF0ZW4gYW4gRHJpdHRlICZ1dW1sO2JlcnRyYWdlbiAmbmRhc2g7IHNpZWhlJm5ic3A7PGVtPmk8L2VtPi4nLAogICAgICAgICAgICAgICAgICAgICd0eHRfdHdpdHRlcl9vZmYnICAgOiAnbmljaHQgbWl0IFR3aXR0ZXIgdmVyYnVuZGVuJywKICAgICAgICAgICAgICAgICAgICAndHh0X3R3aXR0ZXJfb24nICAgIDogJ21pdCBUd2l0dGVyIHZlcmJ1bmRlbicsCiAgICAgICAgICAgICAgICAgICAgJ3Blcm1hX29wdGlvbicgICAgICA6ICdvbicsCiAgICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXlfbmFtZScgICAgICA6ICdUd2l0dGVyJywKICAgICAgICAgICAgICAgICAgICAncmVmZXJyZXJfdHJhY2snICAgIDogJycsIAogICAgICAgICAgICAgICAgICAgICd0d2VldF90ZXh0JyAgICAgICAgOiBnZXRUd2VldFRleHQsCiAgICAgICAgICAgICAgICAgICAgJ2xhbmd1YWdlJyAgICAgICAgICA6ICdlbicKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAnZ3BsdXMnIDogewogICAgICAgICAgICAgICAgICAgICdzdGF0dXMnICAgICAgICAgICAgOiAnb24nLAogICAgICAgICAgICAgICAgICAgICdkdW1teV9pbWcnICAgICAgICAgOiAnc29jaWFsc2hhcmVwcml2YWN5L2ltYWdlcy9kdW1teV9ncGx1cy5wbmcnLAogICAgICAgICAgICAgICAgICAgICd0eHRfaW5mbycgICAgICAgICAgOiAnMiBLbGlja3MgZiZ1dW1sO3IgbWVociBEYXRlbnNjaHV0ejogRXJzdCB3ZW5uIFNpZSBoaWVyIGtsaWNrZW4sIHdpcmQgZGVyIEJ1dHRvbiBha3RpdiB1bmQgU2llIGsmb3VtbDtubmVuIElocmUgRW1wZmVobHVuZyBhbiBHb29nbGUrIHNlbmRlbi4gU2Nob24gYmVpbSBBa3RpdmllcmVuIHdlcmRlbiBEYXRlbiBhbiBEcml0dGUgJnV1bWw7YmVydHJhZ2VuICZuZGFzaDsgc2llaGUmbmJzcDs8ZW0+aTwvZW0+LicsCiAgICAgICAgICAgICAgICAgICAgJ3R4dF9ncGx1c19vZmYnICAgICA6ICduaWNodCBtaXQgR29vZ2xlKyB2ZXJidW5kZW4nLAogICAgICAgICAgICAgICAgICAgICd0eHRfZ3BsdXNfb24nICAgICAgOiAnbWl0IEdvb2dsZSsgdmVyYnVuZGVuJywKICAgICAgICAgICAgICAgICAgICAncGVybWFfb3B0aW9uJyAgICAgIDogJ29uJywKICAgICAgICAgICAgICAgICAgICAnZGlzcGxheV9uYW1lJyAgICAgIDogJ0dvb2dsZSsnLAogICAgICAgICAgICAgICAgICAgICdyZWZlcnJlcl90cmFjaycgICAgOiAnJywKICAgICAgICAgICAgICAgICAgICAnbGFuZ3VhZ2UnICAgICAgICAgIDogJ2RlJwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAnaW5mb19saW5rJyAgICAgICAgIDogJ2h0dHA6Ly93d3cuaGVpc2UuZGUvY3QvYXJ0aWtlbC8yLUtsaWNrcy1mdWVyLW1laHItRGF0ZW5zY2h1dHotMTMzMzg3OS5odG1sJywKICAgICAgICAgICAgJ3R4dF9oZWxwJyAgICAgICAgICA6ICdXZW5uIFNpZSBkaWVzZSBGZWxkZXIgZHVyY2ggZWluZW4gS2xpY2sgYWt0aXZpZXJlbiwgd2VyZGVuIEluZm9ybWF0aW9uZW4gYW4gRmFjZWJvb2ssIFR3aXR0ZXIgb2RlciBHb29nbGUgaW4gZGllIFVTQSAmdXVtbDtiZXJ0cmFnZW4gdW5kIHVudGVyIFVtc3QmYXVtbDtuZGVuIGF1Y2ggZG9ydCBnZXNwZWljaGVydC4gTiZhdW1sO2hlcmVzIGVyZmFocmVuIFNpZSBkdXJjaCBlaW5lbiBLbGljayBhdWYgZGFzJm5ic3A7PGVtPmk8L2VtPi4nLAogICAgICAgICAgICAnc2V0dGluZ3NfcGVybWEnICAgIDogJ0RhdWVyaGFmdCBha3RpdmllcmVuIHVuZCBEYXRlbiZ1dW1sO2JlciZzaHk7dHJhZ3VuZyB6dXN0aW1tZW46JywKICAgICAgICAgICAgJ2Nvb2tpZV9wYXRoJyAgICAgICA6ICcvJywKICAgICAgICAgICAgJ2Nvb2tpZV9kb21haW4nICAgICA6IGRvY3VtZW50LmxvY2F0aW9uLmhvc3QsCiAgICAgICAgICAgICdjb29raWVfZXhwaXJlcycgICAgOiAnMzY1JywKICAgICAgICAgICAgJ2Nzc19wYXRoJyAgICAgICAgICA6ICdzb2NpYWxzaGFyZXByaXZhY3kvc29jaWFsc2hhcmVwcml2YWN5LmNzcycsCiAgICAgICAgICAgICd1cmknICAgICAgICAgICAgICAgOiBnZXRVUkkKICAgICAgICB9OwoKICAgICAgICAvLyBTdGFuZGFyZHdlcnRlIGRlcyBQbHVnLUluZ3MgbWl0IGRlbiB2b20gVXNlciBhbmdlZ2ViZW5lbiBPcHRpb25lbiB1ZWJlcnNjaHJlaWJlbgogICAgICAgIHZhciBvcHRpb25zID0gJC5leHRlbmQodHJ1ZSwgZGVmYXVsdHMsIHNldHRpbmdzKTsKCiAgICAgICAgdmFyIGZhY2Vib29rX29uID0gKG9wdGlvbnMuc2VydmljZXMuZmFjZWJvb2suc3RhdHVzID09PSAnb24nKTsKICAgICAgICB2YXIgdHdpdHRlcl9vbiAgPSAob3B0aW9ucy5zZXJ2aWNlcy50d2l0dGVyLnN0YXR1cyAgPT09ICdvbicpOwogICAgICAgIHZhciBncGx1c19vbiAgICA9IChvcHRpb25zLnNlcnZpY2VzLmdwbHVzLnN0YXR1cyAgICA9PT0gJ29uJyk7CgogICAgICAgIC8vIGNoZWNrIGlmIGF0IGxlYXN0IG9uZSBzZXJ2aWNlIGlzICJvbiIKICAgICAgICBpZiAoIWZhY2Vib29rX29uICYmICF0d2l0dGVyX29uICYmICFncGx1c19vbikgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAvLyBpbnNlcnQgc3R5bGVzaGVldCBpbnRvIGRvY3VtZW50IGFuZCBwcmVwZW5kIHRhcmdldCBlbGVtZW50CiAgICAgICAgaWYgKG9wdGlvbnMuY3NzX3BhdGgubGVuZ3RoID4gMCkgewogICAgICAgICAgICAvLyBJRSBmaXggKG5vZXRpZyBmdWVyIElFIDwgOSAtIHdpcmQgaGllciBhYmVyIGZ1ZXIgYWxsZSBJRSBnZW1hY2h0KQogICAgICAgICAgICBpZiAoZG9jdW1lbnQuY3JlYXRlU3R5bGVTaGVldCkgewogICAgICAgICAgICAgICAgZG9jdW1lbnQuY3JlYXRlU3R5bGVTaGVldChvcHRpb25zLmNzc19wYXRoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICQoJ2hlYWQnKS5hcHBlbmQoJzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9IicgKyBvcHRpb25zLmNzc19wYXRoICsgJyIgLz4nKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7CgogICAgICAgICAgICAkKHRoaXMpLnByZXBlbmQoJzx1bCBjbGFzcz0ic29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYSI+PC91bD4nKTsKICAgICAgICAgICAgdmFyIGNvbnRleHQgPSAkKCcuc29jaWFsX3NoYXJlX3ByaXZhY3lfYXJlYScsIHRoaXMpOwoKICAgICAgICAgICAgLy8gY2Fub25pY2FsIHVyaSB0aGF0IHdpbGwgYmUgc2hhcmVkCiAgICAgICAgICAgIHZhciB1cmkgPSBvcHRpb25zLnVyaTsKICAgICAgICAgICAgaWYgKHR5cGVvZiB1cmkgPT09ICdmdW5jdGlvbicpIHsKICAgICAgICAgICAgICAgIHVyaSA9IHVyaShjb250ZXh0KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8KICAgICAgICAgICAgLy8gRmFjZWJvb2sKICAgICAgICAgICAgLy8KICAgICAgICAgICAgaWYgKGZhY2Vib29rX29uKSB7CiAgICAgICAgICAgICAgICB2YXIgZmJfZW5jX3VyaSA9IGVuY29kZVVSSUNvbXBvbmVudCh1cmkgKyBvcHRpb25zLnNlcnZpY2VzLmZhY2Vib29rLnJlZmVycmVyX3RyYWNrKTsKICAgICAgICAgICAgICAgIHZhciBmYl9jb2RlID0gJzxpZnJhbWUgc3JjPSJodHRwOi8vd3d3LmZhY2Vib29rLmNvbS9wbHVnaW5zL2xpa2UucGhwP2xvY2FsZT0nICsgb3B0aW9ucy5zZXJ2aWNlcy5mYWNlYm9vay5sYW5ndWFnZSArICcmYW1wO2hyZWY9JyArIGZiX2VuY191cmkgKyAnJmFtcDtzZW5kPWZhbHNlJmFtcDtsYXlvdXQ9YnV0dG9uX2NvdW50JmFtcDt3aWR0aD0xMjAmYW1wO3Nob3dfZmFjZXM9ZmFsc2UmYW1wO2FjdGlvbj0nICsgb3B0aW9ucy5zZXJ2aWNlcy5mYWNlYm9vay5hY3Rpb24gKyAnJmFtcDtjb2xvcnNjaGVtZT1saWdodCZhbXA7Zm9udCZhbXA7aGVpZ2h0PTIxIiBzY3JvbGxpbmc9Im5vIiBmcmFtZWJvcmRlcj0iMCIgc3R5bGU9ImJvcmRlcjpub25lOyBvdmVyZmxvdzpoaWRkZW47IHdpZHRoOjE0NXB4OyBoZWlnaHQ6MjFweDsiIGFsbG93VHJhbnNwYXJlbmN5PSJ0cnVlIj48L2lmcmFtZT4nOwogICAgICAgICAgICAgICAgdmFyIGZiX2R1bW15X2J0biA9ICc8aW1nIHNyYz0iJyArIG9wdGlvbnMuc2VydmljZXMuZmFjZWJvb2suZHVtbXlfaW1nICsgJyIgYWx0PSJGYWNlYm9vayAmcXVvdDtMaWtlJnF1b3Q7LUR1bW15IiBjbGFzcz0iZmJfbGlrZV9wcml2YWN5X2R1bW15IiAvPic7CgogICAgICAgICAgICAgICAgY29udGV4dC5hcHBlbmQoJzxsaSBjbGFzcz0iZmFjZWJvb2sgaGVscF9pbmZvIj48c3BhbiBjbGFzcz0iaW5mbyI+JyArIG9wdGlvbnMuc2VydmljZXMuZmFjZWJvb2sudHh0X2luZm8gKyAnPC9zcGFuPjxzcGFuIGNsYXNzPSJzd2l0Y2ggb2ZmIj4nICsgb3B0aW9ucy5zZXJ2aWNlcy5mYWNlYm9vay50eHRfZmJfb2ZmICsgJzwvc3Bhbj48ZGl2IGNsYXNzPSJmYl9saWtlIGR1bW15X2J0biI+JyArIGZiX2R1bW15X2J0biArICc8L2Rpdj48L2xpPicpOwoKICAgICAgICAgICAgICAgIHZhciAkY29udGFpbmVyX2ZiID0gJCgnbGkuZmFjZWJvb2snLCBjb250ZXh0KTsKCiAgICAgICAgICAgICAgICAkKCdsaS5mYWNlYm9vayBkaXYuZmJfbGlrZSBpbWcuZmJfbGlrZV9wcml2YWN5X2R1bW15LGxpLmZhY2Vib29rIHNwYW4uc3dpdGNoJywgY29udGV4dCkub24oJ2NsaWNrJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGlmICgkY29udGFpbmVyX2ZiLmZpbmQoJ3NwYW4uc3dpdGNoJykuaGFzQ2xhc3MoJ29mZicpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfZmIuYWRkQ2xhc3MoJ2luZm9fb2ZmJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfZmIuZmluZCgnc3Bhbi5zd2l0Y2gnKS5hZGRDbGFzcygnb24nKS5yZW1vdmVDbGFzcygnb2ZmJykuaHRtbChvcHRpb25zLnNlcnZpY2VzLmZhY2Vib29rLnR4dF9mYl9vbik7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfZmIuZmluZCgnaW1nLmZiX2xpa2VfcHJpdmFjeV9kdW1teScpLnJlcGxhY2VXaXRoKGZiX2NvZGUpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfZmIucmVtb3ZlQ2xhc3MoJ2luZm9fb2ZmJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfZmIuZmluZCgnc3Bhbi5zd2l0Y2gnKS5hZGRDbGFzcygnb2ZmJykucmVtb3ZlQ2xhc3MoJ29uJykuaHRtbChvcHRpb25zLnNlcnZpY2VzLmZhY2Vib29rLnR4dF9mYl9vZmYpOwogICAgICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyX2ZiLmZpbmQoJy5mYl9saWtlJykuaHRtbChmYl9kdW1teV9idG4pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLwogICAgICAgICAgICAvLyBUd2l0dGVyCiAgICAgICAgICAgIC8vCiAgICAgICAgICAgIGlmICh0d2l0dGVyX29uKSB7CiAgICAgICAgICAgICAgICB2YXIgdGV4dCA9IG9wdGlvbnMuc2VydmljZXMudHdpdHRlci50d2VldF90ZXh0OwogICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0ZXh0ID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgICAgICAgdGV4dCA9IHRleHQoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vIDEyMCBpcyB0aGUgbWF4IGNoYXJhY3RlciBjb3VudCBsZWZ0IGFmdGVyIHR3aXR0ZXJzIGF1dG9tYXRpYyB1cmwgc2hvcnRlbmluZyB3aXRoIHQuY28KICAgICAgICAgICAgICAgIHRleHQgPSBhYmJyZXZpYXRlVGV4dCh0ZXh0LCAnMTIwJyk7CgogICAgICAgICAgICAgICAgdmFyIHR3aXR0ZXJfZW5jX3VyaSA9IGVuY29kZVVSSUNvbXBvbmVudCh1cmkgKyBvcHRpb25zLnNlcnZpY2VzLnR3aXR0ZXIucmVmZXJyZXJfdHJhY2spOwogICAgICAgICAgICAgICAgdmFyIHR3aXR0ZXJfY291bnRfdXJsID0gZW5jb2RlVVJJQ29tcG9uZW50KHVyaSk7CiAgICAgICAgICAgICAgICB2YXIgdHdpdHRlcl9jb2RlID0gJzxpZnJhbWUgYWxsb3d0cmFuc3BhcmVuY3k9InRydWUiIGZyYW1lYm9yZGVyPSIwIiBzY3JvbGxpbmc9Im5vIiBzcmM9Imh0dHA6Ly9wbGF0Zm9ybS50d2l0dGVyLmNvbS93aWRnZXRzL3R3ZWV0X2J1dHRvbi5odG1sP3VybD0nICsgdHdpdHRlcl9lbmNfdXJpICsgJyZhbXA7Y291bnR1cmw9JyArIHR3aXR0ZXJfY291bnRfdXJsICsgJyZhbXA7dGV4dD0nICsgdGV4dCArICcmYW1wO2NvdW50PWhvcml6b250YWwmYW1wO2xhbmc9JyArIG9wdGlvbnMuc2VydmljZXMudHdpdHRlci5sYW5ndWFnZSArICciIHN0eWxlPSJ3aWR0aDoxMzBweDsgaGVpZ2h0OjI1cHg7Ij48L2lmcmFtZT4nOwogICAgICAgICAgICAgICAgdmFyIHR3aXR0ZXJfZHVtbXlfYnRuID0gJzxpbWcgc3JjPSInICsgb3B0aW9ucy5zZXJ2aWNlcy50d2l0dGVyLmR1bW15X2ltZyArICciIGFsdD0iJnF1b3Q7VHdlZXQgdGhpcyZxdW90Oy1EdW1teSIgY2xhc3M9InR3ZWV0X3RoaXNfZHVtbXkiIC8+JzsKCiAgICAgICAgICAgICAgICBjb250ZXh0LmFwcGVuZCgnPGxpIGNsYXNzPSJ0d2l0dGVyIGhlbHBfaW5mbyI+PHNwYW4gY2xhc3M9ImluZm8iPicgKyBvcHRpb25zLnNlcnZpY2VzLnR3aXR0ZXIudHh0X2luZm8gKyAnPC9zcGFuPjxzcGFuIGNsYXNzPSJzd2l0Y2ggb2ZmIj4nICsgb3B0aW9ucy5zZXJ2aWNlcy50d2l0dGVyLnR4dF90d2l0dGVyX29mZiArICc8L3NwYW4+PGRpdiBjbGFzcz0idHdlZXQgZHVtbXlfYnRuIj4nICsgdHdpdHRlcl9kdW1teV9idG4gKyAnPC9kaXY+PC9saT4nKTsKCiAgICAgICAgICAgICAgICB2YXIgJGNvbnRhaW5lcl90dyA9ICQoJ2xpLnR3aXR0ZXInLCBjb250ZXh0KTsKCiAgICAgICAgICAgICAgICAkKCdsaS50d2l0dGVyIGRpdi50d2VldCBpbWcsbGkudHdpdHRlciBzcGFuLnN3aXRjaCcsIGNvbnRleHQpLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoJGNvbnRhaW5lcl90dy5maW5kKCdzcGFuLnN3aXRjaCcpLmhhc0NsYXNzKCdvZmYnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyX3R3LmFkZENsYXNzKCdpbmZvX29mZicpOwogICAgICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyX3R3LmZpbmQoJ3NwYW4uc3dpdGNoJykuYWRkQ2xhc3MoJ29uJykucmVtb3ZlQ2xhc3MoJ29mZicpLmh0bWwob3B0aW9ucy5zZXJ2aWNlcy50d2l0dGVyLnR4dF90d2l0dGVyX29uKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lcl90dy5maW5kKCdpbWcudHdlZXRfdGhpc19kdW1teScpLnJlcGxhY2VXaXRoKHR3aXR0ZXJfY29kZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lcl90dy5yZW1vdmVDbGFzcygnaW5mb19vZmYnKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lcl90dy5maW5kKCdzcGFuLnN3aXRjaCcpLmFkZENsYXNzKCdvZmYnKS5yZW1vdmVDbGFzcygnb24nKS5odG1sKG9wdGlvbnMuc2VydmljZXMudHdpdHRlci50eHRfdHdpdHRlcl9vZmYpOwogICAgICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyX3R3LmZpbmQoJy50d2VldCcpLmh0bWwodHdpdHRlcl9kdW1teV9idG4pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLwogICAgICAgICAgICAvLyBHb29nbGUrCiAgICAgICAgICAgIC8vCiAgICAgICAgICAgIGlmIChncGx1c19vbikgewogICAgICAgICAgICAgICAgLy8gZnVlciBHKyB3aXJkIGRpZSBVUkwgbmljaHQgZW5jb2RlZCwgZGEgZGFzIHp1IGVpbmVtIEZlaGxlciBmdWVocnQKICAgICAgICAgICAgICAgIHZhciBncGx1c191cmkgPSB1cmkgKyBvcHRpb25zLnNlcnZpY2VzLmdwbHVzLnJlZmVycmVyX3RyYWNrOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAvLyB3ZSB1c2UgdGhlIEdvb2dsZSsgImFzeW5jaHJvbm91cyIgY29kZSwgc3RhbmRhcmQgY29kZSBpcyBmbGFreSBpZiBpbnNlcnRlZCBpbnRvIGRvbSBhZnRlciBsb2FkCiAgICAgICAgICAgICAgICB2YXIgZ3BsdXNfY29kZSA9ICc8ZGl2IGNsYXNzPSJnLXBsdXNvbmUiIGRhdGEtc2l6ZT0ibWVkaXVtIiBkYXRhLWhyZWY9IicgKyBncGx1c191cmkgKyAnIj48L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+d2luZG93Ll9fX2djZmcgPSB7bGFuZzogIicgKyBvcHRpb25zLnNlcnZpY2VzLmdwbHVzLmxhbmd1YWdlICsgJyJ9OyAoZnVuY3Rpb24oKSB7IHZhciBwbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOyBwby50eXBlID0gInRleHQvamF2YXNjcmlwdCI7IHBvLmFzeW5jID0gdHJ1ZTsgcG8uc3JjID0gImh0dHBzOi8vYXBpcy5nb29nbGUuY29tL2pzL3BsdXNvbmUuanMiOyB2YXIgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShwbywgcyk7IH0pKCk7IDwvc2NyaXB0Pic7CiAgICAgICAgICAgICAgICB2YXIgZ3BsdXNfZHVtbXlfYnRuID0gJzxpbWcgc3JjPSInICsgb3B0aW9ucy5zZXJ2aWNlcy5ncGx1cy5kdW1teV9pbWcgKyAnIiBhbHQ9IiZxdW90O0dvb2dsZSsxJnF1b3Q7LUR1bW15IiBjbGFzcz0iZ3BsdXNfb25lX2R1bW15IiAvPic7CgogICAgICAgICAgICAgICAgY29udGV4dC5hcHBlbmQoJzxsaSBjbGFzcz0iZ3BsdXMgaGVscF9pbmZvIj48c3BhbiBjbGFzcz0iaW5mbyI+JyArIG9wdGlvbnMuc2VydmljZXMuZ3BsdXMudHh0X2luZm8gKyAnPC9zcGFuPjxzcGFuIGNsYXNzPSJzd2l0Y2ggb2ZmIj4nICsgb3B0aW9ucy5zZXJ2aWNlcy5ncGx1cy50eHRfZ3BsdXNfb2ZmICsgJzwvc3Bhbj48ZGl2IGNsYXNzPSJncGx1c29uZSBkdW1teV9idG4iPicgKyBncGx1c19kdW1teV9idG4gKyAnPC9kaXY+PC9saT4nKTsKCiAgICAgICAgICAgICAgICB2YXIgJGNvbnRhaW5lcl9ncGx1cyA9ICQoJ2xpLmdwbHVzJywgY29udGV4dCk7CgogICAgICAgICAgICAgICAgJCgnbGkuZ3BsdXMgZGl2LmdwbHVzb25lIGltZyxsaS5ncGx1cyBzcGFuLnN3aXRjaCcsIGNvbnRleHQpLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoJGNvbnRhaW5lcl9ncGx1cy5maW5kKCdzcGFuLnN3aXRjaCcpLmhhc0NsYXNzKCdvZmYnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyX2dwbHVzLmFkZENsYXNzKCdpbmZvX29mZicpOwogICAgICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyX2dwbHVzLmZpbmQoJ3NwYW4uc3dpdGNoJykuYWRkQ2xhc3MoJ29uJykucmVtb3ZlQ2xhc3MoJ29mZicpLmh0bWwob3B0aW9ucy5zZXJ2aWNlcy5ncGx1cy50eHRfZ3BsdXNfb24pOwogICAgICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyX2dwbHVzLmZpbmQoJ2ltZy5ncGx1c19vbmVfZHVtbXknKS5yZXBsYWNlV2l0aChncGx1c19jb2RlKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyX2dwbHVzLnJlbW92ZUNsYXNzKCdpbmZvX29mZicpOwogICAgICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyX2dwbHVzLmZpbmQoJ3NwYW4uc3dpdGNoJykuYWRkQ2xhc3MoJ29mZicpLnJlbW92ZUNsYXNzKCdvbicpLmh0bWwob3B0aW9ucy5zZXJ2aWNlcy5ncGx1cy50eHRfZ3BsdXNfb2ZmKTsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lcl9ncGx1cy5maW5kKCcuZ3BsdXNvbmUnKS5odG1sKGdwbHVzX2R1bW15X2J0bik7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vCiAgICAgICAgICAgIC8vIERlciBJbmZvL1NldHRpbmdzLUJlcmVpY2ggd2lyZCBlaW5nZWJ1bmRlbgogICAgICAgICAgICAvLwogICAgICAgICAgICBjb250ZXh0LmFwcGVuZCgnPGxpIGNsYXNzPSJzZXR0aW5nc19pbmZvIj48ZGl2IGNsYXNzPSJzZXR0aW5nc19pbmZvX21lbnUgb2ZmIHBlcm1hX29wdGlvbl9vZmYiPjxhIGhyZWY9IicgKyBvcHRpb25zLmluZm9fbGluayArICciPjxzcGFuIGNsYXNzPSJoZWxwX2luZm8gaWNvbiI+PHNwYW4gY2xhc3M9ImluZm8iPicgKyBvcHRpb25zLnR4dF9oZWxwICsgJzwvc3Bhbj48L3NwYW4+PC9hPjwvZGl2PjwvbGk+Jyk7CgogICAgICAgICAgICAvLyBJbmZvLU92ZXJsYXlzIG1pdCBsZWljaHRlciBWZXJ6b2VnZXJ1bmcgZWluYmxlbmRlbgogICAgICAgICAgICAkKCcuaGVscF9pbmZvOm5vdCguaW5mb19vZmYpJywgY29udGV4dCkub24oJ21vdXNlZW50ZXInLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YXIgJGluZm9fd3JhcHBlciA9ICQodGhpcyk7CiAgICAgICAgICAgICAgICB2YXIgdGltZW91dF9pZCA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgJCgkaW5mb193cmFwcGVyKS5hZGRDbGFzcygnZGlzcGxheScpOyB9LCA1MDApOwogICAgICAgICAgICAgICAgJCh0aGlzKS5kYXRhKCd0aW1lb3V0X2lkJywgdGltZW91dF9pZCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICAkKCcuaGVscF9pbmZvJywgY29udGV4dCkub24oJ21vdXNlbGVhdmUnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YXIgdGltZW91dF9pZCA9ICQodGhpcykuZGF0YSgndGltZW91dF9pZCcpOwogICAgICAgICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aW1lb3V0X2lkKTsKICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLmhhc0NsYXNzKCdkaXNwbGF5JykpIHsKICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdkaXNwbGF5Jyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgdmFyIGZhY2Vib29rX3Blcm1hID0gKG9wdGlvbnMuc2VydmljZXMuZmFjZWJvb2sucGVybWFfb3B0aW9uID09PSAnb24nKTsKICAgICAgICAgICAgdmFyIHR3aXR0ZXJfcGVybWEgID0gKG9wdGlvbnMuc2VydmljZXMudHdpdHRlci5wZXJtYV9vcHRpb24gID09PSAnb24nKTsKICAgICAgICAgICAgdmFyIGdwbHVzX3Blcm1hICAgID0gKG9wdGlvbnMuc2VydmljZXMuZ3BsdXMucGVybWFfb3B0aW9uICAgID09PSAnb24nKTsKCiAgICAgICAgICAgIC8vIE1lbnVlIHp1bSBkYXVlcmhhZnRlbiBFaW5ibGVuZGVuIGRlciBha3RpdmVuIERpZW5zdGUgdmlhIENvb2tpZSBlaW5iaW5kZW4KICAgICAgICAgICAgLy8gRGllIElFNyB3aXJkIGhpZXIgYXVzZ2Vub21tZW4sIGRhIGVyIGtlaW4gSlNPTiBrYW5uIHVuZCBkaWUgQ29va2llcyBoaWVyIHVlYmVyIEpTT04tU3RydWt0dXIgYWJnZWJpbGRldCB3ZXJkZW4KICAgICAgICAgICAgaWYgKCgoZmFjZWJvb2tfb24gJiYgZmFjZWJvb2tfcGVybWEpCiAgICAgICAgICAgICAgICB8fCAodHdpdHRlcl9vbiAmJiB0d2l0dGVyX3Blcm1hKQogICAgICAgICAgICAgICAgfHwgKGdwbHVzX29uICYmIGdwbHVzX3Blcm1hKSkKICAgICAgICAgICAgICAgICAgICAmJiB3aW5kb3cuSlNPTiAmJiB3aW5kb3cuSlNPTi5wYXJzZSkgewoKICAgICAgICAgICAgICAgIC8vIENvb2tpZXMgYWJydWZlbgogICAgICAgICAgICAgICAgdmFyIGNvb2tpZV9saXN0ID0gZG9jdW1lbnQuY29va2llLnNwbGl0KCc7Jyk7CiAgICAgICAgICAgICAgICB2YXIgY29va2llcyA9ICd7JzsKICAgICAgICAgICAgICAgIHZhciBpID0gMDsKICAgICAgICAgICAgICAgIGZvciAoOyBpIDwgY29va2llX2xpc3QubGVuZ3RoOyBpICs9IDEpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZm9vID0gY29va2llX2xpc3RbaV0uc3BsaXQoJz0nKTsKICAgICAgICAgICAgICAgICAgICBjb29raWVzICs9ICciJyArICQudHJpbShmb29bMF0pICsgJyI6IicgKyAkLnRyaW0oZm9vWzFdKSArICciJzsKICAgICAgICAgICAgICAgICAgICBpZiAoaSA8IGNvb2tpZV9saXN0Lmxlbmd0aCAtIDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29va2llcyArPSAnLCc7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY29va2llcyArPSAnfSc7CiAgICAgICAgICAgICAgICBjb29raWVzID0gSlNPTi5wYXJzZShjb29raWVzKTsKCiAgICAgICAgICAgICAgICAvLyBDb250YWluZXIgZGVmaW5pZXJlbgogICAgICAgICAgICAgICAgdmFyICRjb250YWluZXJfc2V0dGluZ3NfaW5mbyA9ICQoJ2xpLnNldHRpbmdzX2luZm8nLCBjb250ZXh0KTsKCiAgICAgICAgICAgICAgICAvLyBLbGFzc2UgZW50ZmVybmVuLCBkaWUgZGFzIGktSWNvbiBhbGxlaW5lIGZvcm1hdGllcnQsIGRhIFBlcm1hLU9wdGlvbmVuIGVpbmdlYmxlbmRldCB3ZXJkZW4KICAgICAgICAgICAgICAgICRjb250YWluZXJfc2V0dGluZ3NfaW5mby5maW5kKCcuc2V0dGluZ3NfaW5mb19tZW51JykucmVtb3ZlQ2xhc3MoJ3Blcm1hX29wdGlvbl9vZmYnKTsKCiAgICAgICAgICAgICAgICAvLyBQZXJtYS1PcHRpb25lbi1JY29uICguc2V0dGluZ3MpIHVuZCBGb3JtdWxhciAobm9jaCB2ZXJzdGVja3QpIGVpbmJpbmRlbgogICAgICAgICAgICAgICAgJGNvbnRhaW5lcl9zZXR0aW5nc19pbmZvLmZpbmQoJy5zZXR0aW5nc19pbmZvX21lbnUnKS5hcHBlbmQoJzxzcGFuIGNsYXNzPSJzZXR0aW5ncyI+RWluc3RlbGx1bmdlbjwvc3Bhbj48Zm9ybT48ZmllbGRzZXQ+PGxlZ2VuZD4nICsgb3B0aW9ucy5zZXR0aW5nc19wZXJtYSArICc8L2xlZ2VuZD48L2ZpZWxkc2V0PjwvZm9ybT4nKTsKCgogICAgICAgICAgICAgICAgLy8gRGllIERpZW5zdGUgbWl0IDxpbnB1dD4gdW5kIDxsYWJlbD4sIHNvd2llIGNoZWNrZWQtU3RhdHVzIGxhdXQgQ29va2llLCBzY2hyZWliZW4KICAgICAgICAgICAgICAgIHZhciBjaGVja2VkID0gJyBjaGVja2VkPSJjaGVja2VkIic7CiAgICAgICAgICAgICAgICBpZiAoZmFjZWJvb2tfb24gJiYgZmFjZWJvb2tfcGVybWEpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcGVybWFfc3RhdHVzX2ZhY2Vib29rID0gY29va2llcy5zb2NpYWxTaGFyZVByaXZhY3lfZmFjZWJvb2sgPT09ICdwZXJtYV9vbicgPyBjaGVja2VkIDogJyc7CiAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lcl9zZXR0aW5nc19pbmZvLmZpbmQoJ2Zvcm0gZmllbGRzZXQnKS5hcHBlbmQoCiAgICAgICAgICAgICAgICAgICAgICAgICc8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InBlcm1hX3N0YXR1c19mYWNlYm9vayIgaWQ9InBlcm1hX3N0YXR1c19mYWNlYm9vayInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICArIHBlcm1hX3N0YXR1c19mYWNlYm9vayArICcgLz48bGFiZWwgZm9yPSJwZXJtYV9zdGF0dXNfZmFjZWJvb2siPicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgb3B0aW9ucy5zZXJ2aWNlcy5mYWNlYm9vay5kaXNwbGF5X25hbWUgKyAnPC9sYWJlbD4nCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAodHdpdHRlcl9vbiAmJiB0d2l0dGVyX3Blcm1hKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHBlcm1hX3N0YXR1c190d2l0dGVyID0gY29va2llcy5zb2NpYWxTaGFyZVByaXZhY3lfdHdpdHRlciA9PT0gJ3Blcm1hX29uJyA/IGNoZWNrZWQgOiAnJzsKICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyX3NldHRpbmdzX2luZm8uZmluZCgnZm9ybSBmaWVsZHNldCcpLmFwcGVuZCgKICAgICAgICAgICAgICAgICAgICAgICAgJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0icGVybWFfc3RhdHVzX3R3aXR0ZXIiIGlkPSJwZXJtYV9zdGF0dXNfdHdpdHRlciInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICArIHBlcm1hX3N0YXR1c190d2l0dGVyICsgJyAvPjxsYWJlbCBmb3I9InBlcm1hX3N0YXR1c190d2l0dGVyIj4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICArIG9wdGlvbnMuc2VydmljZXMudHdpdHRlci5kaXNwbGF5X25hbWUgKyAnPC9sYWJlbD4nCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoZ3BsdXNfb24gJiYgZ3BsdXNfcGVybWEpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcGVybWFfc3RhdHVzX2dwbHVzID0gY29va2llcy5zb2NpYWxTaGFyZVByaXZhY3lfZ3BsdXMgPT09ICdwZXJtYV9vbicgPyBjaGVja2VkIDogJyc7CiAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lcl9zZXR0aW5nc19pbmZvLmZpbmQoJ2Zvcm0gZmllbGRzZXQnKS5hcHBlbmQoCiAgICAgICAgICAgICAgICAgICAgICAgICc8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InBlcm1hX3N0YXR1c19ncGx1cyIgaWQ9InBlcm1hX3N0YXR1c19ncGx1cyInCiAgICAgICAgICAgICAgICAgICAgICAgICAgICArIHBlcm1hX3N0YXR1c19ncGx1cyArICcgLz48bGFiZWwgZm9yPSJwZXJtYV9zdGF0dXNfZ3BsdXMiPicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgb3B0aW9ucy5zZXJ2aWNlcy5ncGx1cy5kaXNwbGF5X25hbWUgKyAnPC9sYWJlbD4nCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBDdXJzb3IgYXVmIFBvaW50ZXIgc2V0emVuIGZ1ZXIgZGFzIFphaG5yYWQKICAgICAgICAgICAgICAgICRjb250YWluZXJfc2V0dGluZ3NfaW5mby5maW5kKCdzcGFuLnNldHRpbmdzJykuY3NzKCdjdXJzb3InLCAncG9pbnRlcicpOwoKICAgICAgICAgICAgICAgIC8vIEVpbnN0ZWxsdW5ncy1NZW51ZSBiZWkgbW91c2VvdmVyIGVpbi0vYXVzYmxlbmRlbgogICAgICAgICAgICAgICAgJCgkY29udGFpbmVyX3NldHRpbmdzX2luZm8uZmluZCgnc3Bhbi5zZXR0aW5ncycpLCBjb250ZXh0KS5vbignbW91c2VlbnRlcicsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdGltZW91dF9pZCA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgJGNvbnRhaW5lcl9zZXR0aW5nc19pbmZvLmZpbmQoJy5zZXR0aW5nc19pbmZvX21lbnUnKS5yZW1vdmVDbGFzcygnb2ZmJykuYWRkQ2xhc3MoJ29uJyk7IH0sIDUwMCk7CiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5kYXRhKCd0aW1lb3V0X2lkJywgdGltZW91dF9pZCk7CiAgICAgICAgICAgICAgICB9KTsgCiAgICAgICAgICAgICAgICAkKCRjb250YWluZXJfc2V0dGluZ3NfaW5mbywgY29udGV4dCkub24oJ21vdXNlbGVhdmUnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHRpbWVvdXRfaWQgPSAkKHRoaXMpLmRhdGEoJ3RpbWVvdXRfaWQnKTsKICAgICAgICAgICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVvdXRfaWQpOwogICAgICAgICAgICAgICAgICAgICRjb250YWluZXJfc2V0dGluZ3NfaW5mby5maW5kKCcuc2V0dGluZ3NfaW5mb19tZW51JykucmVtb3ZlQ2xhc3MoJ29uJykuYWRkQ2xhc3MoJ29mZicpOwogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgLy8gS2xpY2stSW50ZXJha3Rpb24gYXVmIDxpbnB1dD4gdW0gRGllbnN0ZSBkYXVlcmhhZnQgZWluLSBvZGVyIGF1c3p1c2NoYWx0ZW4gKENvb2tpZSB3aXJkIGdlc2V0enQgb2RlciBnZWxvZXNjaHQpCiAgICAgICAgICAgICAgICAkKCRjb250YWluZXJfc2V0dGluZ3NfaW5mby5maW5kKCdmaWVsZHNldCBpbnB1dCcpKS5vbignY2xpY2snLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgY2xpY2sgPSBldmVudC50YXJnZXQuaWQ7CiAgICAgICAgICAgICAgICAgICAgdmFyIHNlcnZpY2UgPSBjbGljay5zdWJzdHIoY2xpY2subGFzdEluZGV4T2YoJ18nKSArIDEsIGNsaWNrLmxlbmd0aCk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGNvb2tpZV9uYW1lID0gJ3NvY2lhbFNoYXJlUHJpdmFjeV8nICsgc2VydmljZTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCQoJyMnICsgZXZlbnQudGFyZ2V0LmlkICsgJzpjaGVja2VkJykubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvb2tpZVNldChjb29raWVfbmFtZSwgJ3Blcm1hX29uJywgb3B0aW9ucy5jb29raWVfZXhwaXJlcywgb3B0aW9ucy5jb29raWVfcGF0aCwgb3B0aW9ucy5jb29raWVfZG9tYWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnZm9ybSBmaWVsZHNldCBsYWJlbFtmb3I9JyArIGNsaWNrICsgJ10nLCBjb250ZXh0KS5hZGRDbGFzcygnY2hlY2tlZCcpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvb2tpZURlbChjb29raWVfbmFtZSwgJ3Blcm1hX29uJywgb3B0aW9ucy5jb29raWVfcGF0aCwgb3B0aW9ucy5jb29raWVfZG9tYWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnZm9ybSBmaWVsZHNldCBsYWJlbFtmb3I9JyArIGNsaWNrICsgJ10nLCBjb250ZXh0KS5yZW1vdmVDbGFzcygnY2hlY2tlZCcpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIC8vIERpZW5zdGUgYXV0b21hdGlzY2ggZWluYmluZGVuLCB3ZW5uIGVudHNwcmVjaGVuZGVzIENvb2tpZSB2b3JoYW5kZW4gaXN0CiAgICAgICAgICAgICAgICBpZiAoZmFjZWJvb2tfb24gJiYgZmFjZWJvb2tfcGVybWEgJiYgY29va2llcy5zb2NpYWxTaGFyZVByaXZhY3lfZmFjZWJvb2sgPT09ICdwZXJtYV9vbicpIHsKICAgICAgICAgICAgICAgICAgICAkKCdsaS5mYWNlYm9vayBzcGFuLnN3aXRjaCcsIGNvbnRleHQpLmNsaWNrKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAodHdpdHRlcl9vbiAmJiB0d2l0dGVyX3Blcm1hICYmIGNvb2tpZXMuc29jaWFsU2hhcmVQcml2YWN5X3R3aXR0ZXIgPT09ICdwZXJtYV9vbicpIHsKICAgICAgICAgICAgICAgICAgICAkKCdsaS50d2l0dGVyIHNwYW4uc3dpdGNoJywgY29udGV4dCkuY2xpY2soKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChncGx1c19vbiAmJiBncGx1c19wZXJtYSAmJiBjb29raWVzLnNvY2lhbFNoYXJlUHJpdmFjeV9ncGx1cyA9PT0gJ3Blcm1hX29uJykgewogICAgICAgICAgICAgICAgICAgICQoJ2xpLmdwbHVzIHNwYW4uc3dpdGNoJywgY29udGV4dCkuY2xpY2soKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0pOyAvLyB0aGlzLmVhY2goZnVuY3Rpb24gKCkKICAgIH07ICAgICAgLy8gJC5mbi5zb2NpYWxTaGFyZVByaXZhY3kgPSBmdW5jdGlvbiAoc2V0dGluZ3MpIHsKfShqUXVlcnkpKTsKCg==]]></data>
	</file>
	<file>
	  <filename>/templates/js/jquery.socialshareprivacy.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uKGYpe2Z1bmN0aW9uIGcoaixoKXt2YXIgaz1kZWNvZGVVUklDb21wb25lbnQoaik7aWYoay5sZW5ndGg8PWgpe3JldHVybiBqfXZhciBpPWsuc3Vic3RyaW5nKDAsaC0xKS5sYXN0SW5kZXhPZigiICIpO2s9ZW5jb2RlVVJJQ29tcG9uZW50KGsuc3Vic3RyaW5nKDAsaSkpKyJcdTIwMjYiO3JldHVybiBrfWZ1bmN0aW9uIGEoaSl7dmFyIGg9ZignbWV0YVtuYW1lPSInK2krJyJdJykuYXR0cigiY29udGVudCIpO3JldHVybiBofHwiIn1mdW5jdGlvbiBiKCl7dmFyIGk9YSgiREMudGl0bGUiKTt2YXIgaD1hKCJEQy5jcmVhdG9yIik7aWYoaS5sZW5ndGg+MCYmaC5sZW5ndGg+MCl7aSs9IiAtICIraH1lbHNle2k9ZigidGl0bGUiKS50ZXh0KCl9cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChpKX1mdW5jdGlvbiBlKCl7dmFyIGk9ZG9jdW1lbnQubG9jYXRpb24uaHJlZjt2YXIgaD1mKCJsaW5rW3JlbD1jYW5vbmljYWxdIikuYXR0cigiaHJlZiIpO2lmKGgmJmgubGVuZ3RoPjApe2lmKGguaW5kZXhPZigiaHR0cCIpPDApe2g9ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wrIi8vIitkb2N1bWVudC5sb2NhdGlvbi5ob3N0K2h9aT1ofXJldHVybiBpfWZ1bmN0aW9uIGMoaSxrLG0sbCxqKXt2YXIgaD1uZXcgRGF0ZSgpO2guc2V0VGltZShoLmdldFRpbWUoKSsobSoyNCo2MCo2MCoxMDAwKSk7ZG9jdW1lbnQuY29va2llPWkrIj0iK2srIjsgZXhwaXJlcz0iK2gudG9VVENTdHJpbmcoKSsiOyBwYXRoPSIrbCsiOyBkb21haW49IitqfWZ1bmN0aW9uIGQoaSxrLGwsail7dmFyIGg9bmV3IERhdGUoKTtoLnNldFRpbWUoaC5nZXRUaW1lKCktMTAwKTtkb2N1bWVudC5jb29raWU9aSsiPSIraysiOyBleHBpcmVzPSIraC50b1VUQ1N0cmluZygpKyI7IHBhdGg9IitsKyI7IGRvbWFpbj0iK2p9Zi5mbi5zb2NpYWxTaGFyZVByaXZhY3k9ZnVuY3Rpb24oaSl7dmFyIG09e3NlcnZpY2VzOntmYWNlYm9vazp7c3RhdHVzOiJvbiIsZHVtbXlfaW1nOiJzb2NpYWxzaGFyZXByaXZhY3kvaW1hZ2VzL2R1bW15X2ZhY2Vib29rLnBuZyIsdHh0X2luZm86IjIgS2xpY2tzIGYmdXVtbDtyIG1laHIgRGF0ZW5zY2h1dHo6IEVyc3Qgd2VubiBTaWUgaGllciBrbGlja2VuLCB3aXJkIGRlciBCdXR0b24gYWt0aXYgdW5kIFNpZSBrJm91bWw7bm5lbiBJaHJlIEVtcGZlaGx1bmcgYW4gRmFjZWJvb2sgc2VuZGVuLiBTY2hvbiBiZWltIEFrdGl2aWVyZW4gd2VyZGVuIERhdGVuIGFuIERyaXR0ZSAmdXVtbDtiZXJ0cmFnZW4gJm5kYXNoOyBzaWVoZSZuYnNwOzxlbT5pPC9lbT4uIix0eHRfZmJfb2ZmOiJuaWNodCBtaXQgRmFjZWJvb2sgdmVyYnVuZGVuIix0eHRfZmJfb246Im1pdCBGYWNlYm9vayB2ZXJidW5kZW4iLHBlcm1hX29wdGlvbjoib24iLGRpc3BsYXlfbmFtZToiRmFjZWJvb2siLHJlZmVycmVyX3RyYWNrOiIiLGxhbmd1YWdlOiJkZV9ERSIsYWN0aW9uOiJyZWNvbW1lbmQifSx0d2l0dGVyOntzdGF0dXM6Im9uIixkdW1teV9pbWc6InNvY2lhbHNoYXJlcHJpdmFjeS9pbWFnZXMvZHVtbXlfdHdpdHRlci5wbmciLHR4dF9pbmZvOiIyIEtsaWNrcyBmJnV1bWw7ciBtZWhyIERhdGVuc2NodXR6OiBFcnN0IHdlbm4gU2llIGhpZXIga2xpY2tlbiwgd2lyZCBkZXIgQnV0dG9uIGFrdGl2IHVuZCBTaWUgayZvdW1sO25uZW4gSWhyZSBFbXBmZWhsdW5nIGFuIFR3aXR0ZXIgc2VuZGVuLiBTY2hvbiBiZWltIEFrdGl2aWVyZW4gd2VyZGVuIERhdGVuIGFuIERyaXR0ZSAmdXVtbDtiZXJ0cmFnZW4gJm5kYXNoOyBzaWVoZSZuYnNwOzxlbT5pPC9lbT4uIix0eHRfdHdpdHRlcl9vZmY6Im5pY2h0IG1pdCBUd2l0dGVyIHZlcmJ1bmRlbiIsdHh0X3R3aXR0ZXJfb246Im1pdCBUd2l0dGVyIHZlcmJ1bmRlbiIscGVybWFfb3B0aW9uOiJvbiIsZGlzcGxheV9uYW1lOiJUd2l0dGVyIixyZWZlcnJlcl90cmFjazoiIix0d2VldF90ZXh0OmIsbGFuZ3VhZ2U6ImVuIn0sZ3BsdXM6e3N0YXR1czoib24iLGR1bW15X2ltZzoic29jaWFsc2hhcmVwcml2YWN5L2ltYWdlcy9kdW1teV9ncGx1cy5wbmciLHR4dF9pbmZvOiIyIEtsaWNrcyBmJnV1bWw7ciBtZWhyIERhdGVuc2NodXR6OiBFcnN0IHdlbm4gU2llIGhpZXIga2xpY2tlbiwgd2lyZCBkZXIgQnV0dG9uIGFrdGl2IHVuZCBTaWUgayZvdW1sO25uZW4gSWhyZSBFbXBmZWhsdW5nIGFuIEdvb2dsZSsgc2VuZGVuLiBTY2hvbiBiZWltIEFrdGl2aWVyZW4gd2VyZGVuIERhdGVuIGFuIERyaXR0ZSAmdXVtbDtiZXJ0cmFnZW4gJm5kYXNoOyBzaWVoZSZuYnNwOzxlbT5pPC9lbT4uIix0eHRfZ3BsdXNfb2ZmOiJuaWNodCBtaXQgR29vZ2xlKyB2ZXJidW5kZW4iLHR4dF9ncGx1c19vbjoibWl0IEdvb2dsZSsgdmVyYnVuZGVuIixwZXJtYV9vcHRpb246Im9uIixkaXNwbGF5X25hbWU6Ikdvb2dsZSsiLHJlZmVycmVyX3RyYWNrOiIiLGxhbmd1YWdlOiJkZSJ9fSxpbmZvX2xpbms6Imh0dHA6Ly93d3cuaGVpc2UuZGUvY3QvYXJ0aWtlbC8yLUtsaWNrcy1mdWVyLW1laHItRGF0ZW5zY2h1dHotMTMzMzg3OS5odG1sIix0eHRfaGVscDoiV2VubiBTaWUgZGllc2UgRmVsZGVyIGR1cmNoIGVpbmVuIEtsaWNrIGFrdGl2aWVyZW4sIHdlcmRlbiBJbmZvcm1hdGlvbmVuIGFuIEZhY2Vib29rLCBUd2l0dGVyIG9kZXIgR29vZ2xlIGluIGRpZSBVU0EgJnV1bWw7YmVydHJhZ2VuIHVuZCB1bnRlciBVbXN0JmF1bWw7bmRlbiBhdWNoIGRvcnQgZ2VzcGVpY2hlcnQuIE4mYXVtbDtoZXJlcyBlcmZhaHJlbiBTaWUgZHVyY2ggZWluZW4gS2xpY2sgYXVmIGRhcyZuYnNwOzxlbT5pPC9lbT4uIixzZXR0aW5nc19wZXJtYToiRGF1ZXJoYWZ0IGFrdGl2aWVyZW4gdW5kIERhdGVuJnV1bWw7YmVyJnNoeTt0cmFndW5nIHp1c3RpbW1lbjoiLGNvb2tpZV9wYXRoOiIvIixjb29raWVfZG9tYWluOmRvY3VtZW50LmxvY2F0aW9uLmhvc3QsY29va2llX2V4cGlyZXM6IjM2NSIsY3NzX3BhdGg6InNvY2lhbHNoYXJlcHJpdmFjeS9zb2NpYWxzaGFyZXByaXZhY3kuY3NzIix1cmk6ZX07dmFyIGg9Zi5leHRlbmQodHJ1ZSxtLGkpO3ZhciBsPShoLnNlcnZpY2VzLmZhY2Vib29rLnN0YXR1cz09PSJvbiIpO3ZhciBqPShoLnNlcnZpY2VzLnR3aXR0ZXIuc3RhdHVzPT09Im9uIik7dmFyIGs9KGguc2VydmljZXMuZ3BsdXMuc3RhdHVzPT09Im9uIik7aWYoIWwmJiFqJiYhayl7cmV0dXJufWlmKGguY3NzX3BhdGgubGVuZ3RoPjApe2lmKGRvY3VtZW50LmNyZWF0ZVN0eWxlU2hlZXQpe2RvY3VtZW50LmNyZWF0ZVN0eWxlU2hlZXQoaC5jc3NfcGF0aCl9ZWxzZXtmKCJoZWFkIikuYXBwZW5kKCc8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSInK2guY3NzX3BhdGgrJyIgLz4nKX19cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YodGhpcykucHJlcGVuZCgnPHVsIGNsYXNzPSJzb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIj48L3VsPicpO3ZhciBxPWYoIi5zb2NpYWxfc2hhcmVfcHJpdmFjeV9hcmVhIix0aGlzKTt2YXIgdT1oLnVyaTtpZih0eXBlb2YgdT09PSJmdW5jdGlvbiIpe3U9dShxKX1pZihsKXt2YXIgSD1lbmNvZGVVUklDb21wb25lbnQodStoLnNlcnZpY2VzLmZhY2Vib29rLnJlZmVycmVyX3RyYWNrKTt2YXIgbj0nPGlmcmFtZSBzcmM9Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL3BsdWdpbnMvbGlrZS5waHA/bG9jYWxlPScraC5zZXJ2aWNlcy5mYWNlYm9vay5sYW5ndWFnZSsiJmFtcDtocmVmPSIrSCsiJmFtcDtzZW5kPWZhbHNlJmFtcDtsYXlvdXQ9YnV0dG9uX2NvdW50JmFtcDt3aWR0aD0xMjAmYW1wO3Nob3dfZmFjZXM9ZmFsc2UmYW1wO2FjdGlvbj0iK2guc2VydmljZXMuZmFjZWJvb2suYWN0aW9uKycmYW1wO2NvbG9yc2NoZW1lPWxpZ2h0JmFtcDtmb250JmFtcDtoZWlnaHQ9MjEiIHNjcm9sbGluZz0ibm8iIGZyYW1lYm9yZGVyPSIwIiBzdHlsZT0iYm9yZGVyOm5vbmU7IG92ZXJmbG93OmhpZGRlbjsgd2lkdGg6MTQ1cHg7IGhlaWdodDoyMXB4OyIgYWxsb3dUcmFuc3BhcmVuY3k9InRydWUiPjwvaWZyYW1lPic7dmFyIE09JzxpbWcgc3JjPSInK2guc2VydmljZXMuZmFjZWJvb2suZHVtbXlfaW1nKyciIGFsdD0iRmFjZWJvb2sgJnF1b3Q7TGlrZSZxdW90Oy1EdW1teSIgY2xhc3M9ImZiX2xpa2VfcHJpdmFjeV9kdW1teSIgLz4nO3EuYXBwZW5kKCc8bGkgY2xhc3M9ImZhY2Vib29rIGhlbHBfaW5mbyI+PHNwYW4gY2xhc3M9ImluZm8iPicraC5zZXJ2aWNlcy5mYWNlYm9vay50eHRfaW5mbysnPC9zcGFuPjxzcGFuIGNsYXNzPSJzd2l0Y2ggb2ZmIj4nK2guc2VydmljZXMuZmFjZWJvb2sudHh0X2ZiX29mZisnPC9zcGFuPjxkaXYgY2xhc3M9ImZiX2xpa2UgZHVtbXlfYnRuIj4nK00rIjwvZGl2PjwvbGk+Iik7dmFyIHA9ZigibGkuZmFjZWJvb2siLHEpO2YoImxpLmZhY2Vib29rIGRpdi5mYl9saWtlIGltZy5mYl9saWtlX3ByaXZhY3lfZHVtbXksbGkuZmFjZWJvb2sgc3Bhbi5zd2l0Y2giLHEpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtpZihwLmZpbmQoInNwYW4uc3dpdGNoIikuaGFzQ2xhc3MoIm9mZiIpKXtwLmFkZENsYXNzKCJpbmZvX29mZiIpO3AuZmluZCgic3Bhbi5zd2l0Y2giKS5hZGRDbGFzcygib24iKS5yZW1vdmVDbGFzcygib2ZmIikuaHRtbChoLnNlcnZpY2VzLmZhY2Vib29rLnR4dF9mYl9vbik7cC5maW5kKCJpbWcuZmJfbGlrZV9wcml2YWN5X2R1bW15IikucmVwbGFjZVdpdGgobil9ZWxzZXtwLnJlbW92ZUNsYXNzKCJpbmZvX29mZiIpO3AuZmluZCgic3Bhbi5zd2l0Y2giKS5hZGRDbGFzcygib2ZmIikucmVtb3ZlQ2xhc3MoIm9uIikuaHRtbChoLnNlcnZpY2VzLmZhY2Vib29rLnR4dF9mYl9vZmYpO3AuZmluZCgiLmZiX2xpa2UiKS5odG1sKE0pfX0pfWlmKGope3ZhciBBPWguc2VydmljZXMudHdpdHRlci50d2VldF90ZXh0O2lmKHR5cGVvZiBBPT09ImZ1bmN0aW9uIil7QT1BKCl9QT1nKEEsIjEyMCIpO3ZhciBHPWVuY29kZVVSSUNvbXBvbmVudCh1K2guc2VydmljZXMudHdpdHRlci5yZWZlcnJlcl90cmFjayk7dmFyIEI9ZW5jb2RlVVJJQ29tcG9uZW50KHUpO3ZhciB5PSc8aWZyYW1lIGFsbG93dHJhbnNwYXJlbmN5PSJ0cnVlIiBmcmFtZWJvcmRlcj0iMCIgc2Nyb2xsaW5nPSJubyIgc3JjPSJodHRwOi8vcGxhdGZvcm0udHdpdHRlci5jb20vd2lkZ2V0cy90d2VldF9idXR0b24uaHRtbD91cmw9JytHKyImYW1wO2NvdW50dXJsPSIrQisiJmFtcDt0ZXh0PSIrQSsiJmFtcDtjb3VudD1ob3Jpem9udGFsJmFtcDtsYW5nPSIraC5zZXJ2aWNlcy50d2l0dGVyLmxhbmd1YWdlKyciIHN0eWxlPSJ3aWR0aDoxMzBweDsgaGVpZ2h0OjI1cHg7Ij48L2lmcmFtZT4nO3ZhciBDPSc8aW1nIHNyYz0iJytoLnNlcnZpY2VzLnR3aXR0ZXIuZHVtbXlfaW1nKyciIGFsdD0iJnF1b3Q7VHdlZXQgdGhpcyZxdW90Oy1EdW1teSIgY2xhc3M9InR3ZWV0X3RoaXNfZHVtbXkiIC8+JztxLmFwcGVuZCgnPGxpIGNsYXNzPSJ0d2l0dGVyIGhlbHBfaW5mbyI+PHNwYW4gY2xhc3M9ImluZm8iPicraC5zZXJ2aWNlcy50d2l0dGVyLnR4dF9pbmZvKyc8L3NwYW4+PHNwYW4gY2xhc3M9InN3aXRjaCBvZmYiPicraC5zZXJ2aWNlcy50d2l0dGVyLnR4dF90d2l0dGVyX29mZisnPC9zcGFuPjxkaXYgY2xhc3M9InR3ZWV0IGR1bW15X2J0biI+JytDKyI8L2Rpdj48L2xpPiIpO3ZhciB4PWYoImxpLnR3aXR0ZXIiLHEpO2YoImxpLnR3aXR0ZXIgZGl2LnR3ZWV0IGltZyxsaS50d2l0dGVyIHNwYW4uc3dpdGNoIixxKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7aWYoeC5maW5kKCJzcGFuLnN3aXRjaCIpLmhhc0NsYXNzKCJvZmYiKSl7eC5hZGRDbGFzcygiaW5mb19vZmYiKTt4LmZpbmQoInNwYW4uc3dpdGNoIikuYWRkQ2xhc3MoIm9uIikucmVtb3ZlQ2xhc3MoIm9mZiIpLmh0bWwoaC5zZXJ2aWNlcy50d2l0dGVyLnR4dF90d2l0dGVyX29uKTt4LmZpbmQoImltZy50d2VldF90aGlzX2R1bW15IikucmVwbGFjZVdpdGgoeSl9ZWxzZXt4LnJlbW92ZUNsYXNzKCJpbmZvX29mZiIpO3guZmluZCgic3Bhbi5zd2l0Y2giKS5hZGRDbGFzcygib2ZmIikucmVtb3ZlQ2xhc3MoIm9uIikuaHRtbChoLnNlcnZpY2VzLnR3aXR0ZXIudHh0X3R3aXR0ZXJfb2ZmKTt4LmZpbmQoIi50d2VldCIpLmh0bWwoQyl9fSl9aWYoayl7dmFyIHQ9dStoLnNlcnZpY2VzLmdwbHVzLnJlZmVycmVyX3RyYWNrO3ZhciBzPSc8ZGl2IGNsYXNzPSJnLXBsdXNvbmUiIGRhdGEtc2l6ZT0ibWVkaXVtIiBkYXRhLWhyZWY9IicrdCsnIj48L2Rpdj48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+d2luZG93Ll9fX2djZmcgPSB7bGFuZzogIicraC5zZXJ2aWNlcy5ncGx1cy5sYW5ndWFnZSsnIn07IChmdW5jdGlvbigpIHsgdmFyIHBvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7IHBvLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsgcG8uYXN5bmMgPSB0cnVlOyBwby5zcmMgPSAiaHR0cHM6Ly9hcGlzLmdvb2dsZS5jb20vanMvcGx1c29uZS5qcyI7IHZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdOyBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHBvLCBzKTsgfSkoKTsgPFwvc2NyaXB0Pic7dmFyIEw9JzxpbWcgc3JjPSInK2guc2VydmljZXMuZ3BsdXMuZHVtbXlfaW1nKyciIGFsdD0iJnF1b3Q7R29vZ2xlKzEmcXVvdDstRHVtbXkiIGNsYXNzPSJncGx1c19vbmVfZHVtbXkiIC8+JztxLmFwcGVuZCgnPGxpIGNsYXNzPSJncGx1cyBoZWxwX2luZm8iPjxzcGFuIGNsYXNzPSJpbmZvIj4nK2guc2VydmljZXMuZ3BsdXMudHh0X2luZm8rJzwvc3Bhbj48c3BhbiBjbGFzcz0ic3dpdGNoIG9mZiI+JytoLnNlcnZpY2VzLmdwbHVzLnR4dF9ncGx1c19vZmYrJzwvc3Bhbj48ZGl2IGNsYXNzPSJncGx1c29uZSBkdW1teV9idG4iPicrTCsiPC9kaXY+PC9saT4iKTt2YXIgRD1mKCJsaS5ncGx1cyIscSk7ZigibGkuZ3BsdXMgZGl2LmdwbHVzb25lIGltZyxsaS5ncGx1cyBzcGFuLnN3aXRjaCIscSkub24oImNsaWNrIixmdW5jdGlvbigpe2lmKEQuZmluZCgic3Bhbi5zd2l0Y2giKS5oYXNDbGFzcygib2ZmIikpe0QuYWRkQ2xhc3MoImluZm9fb2ZmIik7RC5maW5kKCJzcGFuLnN3aXRjaCIpLmFkZENsYXNzKCJvbiIpLnJlbW92ZUNsYXNzKCJvZmYiKS5odG1sKGguc2VydmljZXMuZ3BsdXMudHh0X2dwbHVzX29uKTtELmZpbmQoImltZy5ncGx1c19vbmVfZHVtbXkiKS5yZXBsYWNlV2l0aChzKX1lbHNle0QucmVtb3ZlQ2xhc3MoImluZm9fb2ZmIik7RC5maW5kKCJzcGFuLnN3aXRjaCIpLmFkZENsYXNzKCJvZmYiKS5yZW1vdmVDbGFzcygib24iKS5odG1sKGguc2VydmljZXMuZ3BsdXMudHh0X2dwbHVzX29mZik7RC5maW5kKCIuZ3BsdXNvbmUiKS5odG1sKEwpfX0pfXEuYXBwZW5kKCc8bGkgY2xhc3M9InNldHRpbmdzX2luZm8iPjxkaXYgY2xhc3M9InNldHRpbmdzX2luZm9fbWVudSBvZmYgcGVybWFfb3B0aW9uX29mZiI+PGEgaHJlZj0iJytoLmluZm9fbGluaysnIj48c3BhbiBjbGFzcz0iaGVscF9pbmZvIGljb24iPjxzcGFuIGNsYXNzPSJpbmZvIj4nK2gudHh0X2hlbHArIjwvc3Bhbj48L3NwYW4+PC9hPjwvZGl2PjwvbGk+Iik7ZigiLmhlbHBfaW5mbzpub3QoLmluZm9fb2ZmKSIscSkub24oIm1vdXNlZW50ZXIiLGZ1bmN0aW9uKCl7dmFyIFA9Zih0aGlzKTt2YXIgUT13aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpe2YoUCkuYWRkQ2xhc3MoImRpc3BsYXkiKX0sNTAwKTtmKHRoaXMpLmRhdGEoInRpbWVvdXRfaWQiLFEpfSk7ZigiLmhlbHBfaW5mbyIscSkub24oIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7dmFyIFA9Zih0aGlzKS5kYXRhKCJ0aW1lb3V0X2lkIik7d2luZG93LmNsZWFyVGltZW91dChQKTtpZihmKHRoaXMpLmhhc0NsYXNzKCJkaXNwbGF5Iikpe2YodGhpcykucmVtb3ZlQ2xhc3MoImRpc3BsYXkiKX19KTt2YXIgRT0oaC5zZXJ2aWNlcy5mYWNlYm9vay5wZXJtYV9vcHRpb249PT0ib24iKTt2YXIgST0oaC5zZXJ2aWNlcy50d2l0dGVyLnBlcm1hX29wdGlvbj09PSJvbiIpO3ZhciBPPShoLnNlcnZpY2VzLmdwbHVzLnBlcm1hX29wdGlvbj09PSJvbiIpO2lmKCgobCYmRSl8fChqJiZJKXx8KGsmJk8pKSYmd2luZG93LkpTT04mJndpbmRvdy5KU09OLnBhcnNlKXt2YXIgSz1kb2N1bWVudC5jb29raWUuc3BsaXQoIjsiKTt2YXIgcj0ieyI7dmFyIEY9MDtmb3IoO0Y8Sy5sZW5ndGg7Ris9MSl7dmFyIEo9S1tGXS5zcGxpdCgiPSIpO3IrPSciJytmLnRyaW0oSlswXSkrJyI6IicrZi50cmltKEpbMV0pKyciJztpZihGPEsubGVuZ3RoLTEpe3IrPSIsIn19cis9In0iO3I9SlNPTi5wYXJzZShyKTt2YXIgdj1mKCJsaS5zZXR0aW5nc19pbmZvIixxKTt2LmZpbmQoIi5zZXR0aW5nc19pbmZvX21lbnUiKS5yZW1vdmVDbGFzcygicGVybWFfb3B0aW9uX29mZiIpO3YuZmluZCgiLnNldHRpbmdzX2luZm9fbWVudSIpLmFwcGVuZCgnPHNwYW4gY2xhc3M9InNldHRpbmdzIj5FaW5zdGVsbHVuZ2VuPC9zcGFuPjxmb3JtPjxmaWVsZHNldD48bGVnZW5kPicraC5zZXR0aW5nc19wZXJtYSsiPC9sZWdlbmQ+PC9maWVsZHNldD48L2Zvcm0+Iik7dmFyIHc9JyBjaGVja2VkPSJjaGVja2VkIic7aWYobCYmRSl7dmFyIG89ci5zb2NpYWxTaGFyZVByaXZhY3lfZmFjZWJvb2s9PT0icGVybWFfb24iP3c6IiI7di5maW5kKCJmb3JtIGZpZWxkc2V0IikuYXBwZW5kKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InBlcm1hX3N0YXR1c19mYWNlYm9vayIgaWQ9InBlcm1hX3N0YXR1c19mYWNlYm9vayInK28rJyAvPjxsYWJlbCBmb3I9InBlcm1hX3N0YXR1c19mYWNlYm9vayI+JytoLnNlcnZpY2VzLmZhY2Vib29rLmRpc3BsYXlfbmFtZSsiPC9sYWJlbD4iKX1pZihqJiZJKXt2YXIgTj1yLnNvY2lhbFNoYXJlUHJpdmFjeV90d2l0dGVyPT09InBlcm1hX29uIj93OiIiO3YuZmluZCgiZm9ybSBmaWVsZHNldCIpLmFwcGVuZCgnPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJwZXJtYV9zdGF0dXNfdHdpdHRlciIgaWQ9InBlcm1hX3N0YXR1c190d2l0dGVyIicrTisnIC8+PGxhYmVsIGZvcj0icGVybWFfc3RhdHVzX3R3aXR0ZXIiPicraC5zZXJ2aWNlcy50d2l0dGVyLmRpc3BsYXlfbmFtZSsiPC9sYWJlbD4iKX1pZihrJiZPKXt2YXIgej1yLnNvY2lhbFNoYXJlUHJpdmFjeV9ncGx1cz09PSJwZXJtYV9vbiI/dzoiIjt2LmZpbmQoImZvcm0gZmllbGRzZXQiKS5hcHBlbmQoJzxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0icGVybWFfc3RhdHVzX2dwbHVzIiBpZD0icGVybWFfc3RhdHVzX2dwbHVzIicreisnIC8+PGxhYmVsIGZvcj0icGVybWFfc3RhdHVzX2dwbHVzIj4nK2guc2VydmljZXMuZ3BsdXMuZGlzcGxheV9uYW1lKyI8L2xhYmVsPiIpfXYuZmluZCgic3Bhbi5zZXR0aW5ncyIpLmNzcygiY3Vyc29yIiwicG9pbnRlciIpO2Yodi5maW5kKCJzcGFuLnNldHRpbmdzIikscSkub24oIm1vdXNlZW50ZXIiLGZ1bmN0aW9uKCl7dmFyIFA9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2LmZpbmQoIi5zZXR0aW5nc19pbmZvX21lbnUiKS5yZW1vdmVDbGFzcygib2ZmIikuYWRkQ2xhc3MoIm9uIil9LDUwMCk7Zih0aGlzKS5kYXRhKCJ0aW1lb3V0X2lkIixQKX0pO2YodixxKS5vbigibW91c2VsZWF2ZSIsZnVuY3Rpb24oKXt2YXIgUD1mKHRoaXMpLmRhdGEoInRpbWVvdXRfaWQiKTt3aW5kb3cuY2xlYXJUaW1lb3V0KFApO3YuZmluZCgiLnNldHRpbmdzX2luZm9fbWVudSIpLnJlbW92ZUNsYXNzKCJvbiIpLmFkZENsYXNzKCJvZmYiKX0pO2Yodi5maW5kKCJmaWVsZHNldCBpbnB1dCIpKS5vbigiY2xpY2siLGZ1bmN0aW9uKFIpe3ZhciBRPVIudGFyZ2V0LmlkO3ZhciBQPVEuc3Vic3RyKFEubGFzdEluZGV4T2YoIl8iKSsxLFEubGVuZ3RoKTt2YXIgUz0ic29jaWFsU2hhcmVQcml2YWN5XyIrUDtpZihmKCIjIitSLnRhcmdldC5pZCsiOmNoZWNrZWQiKS5sZW5ndGgpe2MoUywicGVybWFfb24iLGguY29va2llX2V4cGlyZXMsaC5jb29raWVfcGF0aCxoLmNvb2tpZV9kb21haW4pO2YoImZvcm0gZmllbGRzZXQgbGFiZWxbZm9yPSIrUSsiXSIscSkuYWRkQ2xhc3MoImNoZWNrZWQiKX1lbHNle2QoUywicGVybWFfb24iLGguY29va2llX3BhdGgsaC5jb29raWVfZG9tYWluKTtmKCJmb3JtIGZpZWxkc2V0IGxhYmVsW2Zvcj0iK1ErIl0iLHEpLnJlbW92ZUNsYXNzKCJjaGVja2VkIil9fSk7aWYobCYmRSYmci5zb2NpYWxTaGFyZVByaXZhY3lfZmFjZWJvb2s9PT0icGVybWFfb24iKXtmKCJsaS5mYWNlYm9vayBzcGFuLnN3aXRjaCIscSkuY2xpY2soKX1pZihqJiZJJiZyLnNvY2lhbFNoYXJlUHJpdmFjeV90d2l0dGVyPT09InBlcm1hX29uIil7ZigibGkudHdpdHRlciBzcGFuLnN3aXRjaCIscSkuY2xpY2soKX1pZihrJiZPJiZyLnNvY2lhbFNoYXJlUHJpdmFjeV9ncGx1cz09PSJwZXJtYV9vbiIpe2YoImxpLmdwbHVzIHNwYW4uc3dpdGNoIixxKS5jbGljaygpfX19KX19KGpRdWVyeSkpOw==]]></data>
	</file>
	<file>
	  <filename>/templates/js/ToolBoxBackendJS.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gQUNUSVZBVEUgQSBUQUIKZnVuY3Rpb24gdGJBY3RpdmF0ZXRhYihpbmRleCkgewoJdmFyIGNvbnRhaW5lciA9IGpRdWVyeSgnI3RibmF2dF90YWJzJyk7CglpZihjb250YWluZXIubGVuZ3RoID09PSAwKQoJewoJCWNvbnRhaW5lciA9IGpRdWVyeSgnI3RicGFnZV90YWJzJyk7Cgl9Cgljb250YWluZXIuZmluZCgnZGl2OmVxKCcgKyBpbmRleCArICcpJykubW91c2Vkb3duKCk7Cn0KCmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkgewoKCS8vIElOSVQgVG9vbEJveCBOQVYgVEFCUwoJdmFyIHRhYnMgPSAkKCcjdGJuYXZ0X3RhYnMsICN0YnBhZ2VfdGFicycpLmZpbmQoJ2RpdicpOwoJdGFicy5tb3VzZWRvd24oZnVuY3Rpb24oKXsKCQl0YWJzLmVhY2goZnVuY3Rpb24oKXsKCQkJJCh0aGlzKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7CgkJCSQoJyMnICsgJCh0aGlzKS5hdHRyKCdpZCcpICsgJ19jJykuaGlkZSgpOwoJCX0pOwoJCSQodGhpcykuYWRkQ2xhc3MoJ2FjdGl2ZScpOwoJCSQoJyMnICsgJCh0aGlzKS5hdHRyKCdpZCcpICsgJ19jJykuc2hvdygpOwoJCXJldHVybiB0cnVlOwoJfSk7CglpZih0YWJzLmZpbHRlcignLmFjdGl2ZScpLm1vdXNlZG93bigpLmxlbmd0aCA9PT0gMCl7CgkJdGJBY3RpdmF0ZXRhYigwKTsKCX0KCQp9KTs=]]></data>
	</file>
	<file>
	  <filename>/templates/logUpdater.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskbW9kLT5MYW5nKCd0YWlsX3RpdGxlJyl9PC9oMz4KPC9kaXY+CnskZm9ybXN0YXJ0fQp7JHRhYnRvfQp7JGxvZ0ZpbGV9CnskaGFzaH0KeyRrZXl9CnskbGluZXN9CjxmaWVsZHNldD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd0YWlsX3Byb21wdF9sb2cnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbG9nfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9PC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KeyRmb3JtZW5kfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/socialshareprivacy/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/stats_email.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CntpZiAkb2xkdXJsX3VzZX0KPGJyIC8+PGJyIC8+CjxoMj5VUkxzPC9oMj4KPHRhYmxlIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYm9yZGVyPSIxIiBiZ2NvbG9yPSIjYWFhYWFhIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCBiZ2NvbG9yPSIjY2NjY2NjIj57JHVybH08L3RoPgoJCQk8dGggYmdjb2xvcj0iI2NjY2NjYyI+eyRwYWdlfTwvdGg+CgkJCTx0aCBiZ2NvbG9yPSIjY2NjY2NjIj57JHZpc2l0c308L3RoPgoJCQk8dGggYmdjb2xvcj0iI2NjY2NjYyI+eyRzZWFyY2hlbmdpbmV9PC90aD4KCQkJPHRoIGJnY29sb3I9IiNjY2NjY2MiPnska2V5d29yZH08L3RoPgoJCQk8dGggYmdjb2xvcj0iI2NjY2NjYyI+eyRyZWZlcmVyfTwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgl7Zm9yZWFjaCBmcm9tPSR1cmxzIGl0ZW09ZW50cnl9CgkJe2N5Y2xlIHZhbHVlcz0iZWVlZWVlLGRkZGRkZCIgYXNzaWduPSdyb3djbGFzcyd9CgkJPHRyPgoJCQk8dGQgYmdjb2xvcj0iI3skcm93Y2xhc3N9Ij57JGVudHJ5LnVybH08L3RkPgoJCQk8dGQgYmdjb2xvcj0iI3skcm93Y2xhc3N9Ij57JGVudHJ5LnBhZ2V9PC90ZD4KCQkJPHRkIGJnY29sb3I9IiN7JHJvd2NsYXNzfSI+eyRlbnRyeS52aXNpdHN9PC90ZD4KCQkJPHRkIGJnY29sb3I9IiN7JHJvd2NsYXNzfSI+eyRlbnRyeS5zZWFyY2hlbmdpbmV9PC90ZD4KCQkJPHRkIGJnY29sb3I9IiN7JHJvd2NsYXNzfSI+eyRlbnRyeS5rZXl3b3JkfTwvdGQ+CgkJCTx0ZCBiZ2NvbG9yPSIjeyRyb3djbGFzc30iPnskZW50cnkucmVmZXJlcn08L3RkPgoJCTwvdHI+Cgl7L2ZvcmVhY2h9CjwvdGFibGU+CnsvaWZ9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/ToolBox-tpl-autolightbox-fancybox.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHRvb2xib3h0cGw+Cgk8bmFtZT5hbGJfZmFuY3lib3g8L25hbWU+Cgk8dmVyc2lvbj4yLjEuMzwvdmVyc2lvbj4KCTx0b29sYm94dmVyc2lvbj4xLjMuMzwvdG9vbGJveHZlcnNpb24+Cgk8YWJvdXQ+VkdocGN5QlViMjlzUW05NElFRjFkRzlNYVdkb2RFSnZlQ0IwWlcxd2JHRjBaU0IxYzJWeklIUm9aU0JtWVc1amVVSnZlQ0J6ZVhOMFpXMGdkbVZ5YzJsdmJpQXlMakV1TXp4aWNpQXZQaUE4WW5JZ0x6NGdSRzlqZFcxbGJuUmhkR2x2YmlCbWIzSWdaWGgwY21FZ2IzQjBhVzl1Y3lCallXNGdZbVVnWm05MWJtUWdZWFFnUEdFZ2FISmxaajBpYUhSMGNEb3ZMM2QzZHk1bVlXNWplV0p2ZUM1dVpYUXZJaUIwWVhKblpYUTlJbDlpYkdGdWF5SStkM2QzTG1aaGJtTjVZbTk0TG01bGREd3ZZVDQ4WW5JZ0x6NGdQR0p5SUM4K0lFWnBiR1Z6SUhSb1lYUWdZMjl0WlNCM2FYUm9JRVpoYm1ONVltOTRJR0Z5WlNCemRHOXlaV1FnYVc0Z2JXOWtkV3hsY3k5VWIyOXNRbTk0TDNSbGJYQnNZWFJsY3k5aGJHSmZabUZ1WTNsaWIzZ3ZQR0p5SUM4K0lEeGljaUF2UGlCbVlXNWplVUp2ZUNCM1lYTWdZblZwYkhRZ2RYTnBibWNnZEdobElEeGhJR2h5WldZOUltaDBkSEE2THk5cWNYVmxjbmt1WTI5dElpQjBZWEpuWlhROUlsOWliR0Z1YXlJK2FsRjFaWEo1UEM5aFBpQnNhV0p5WVhKNUxpQm1ZVzVqZVVKdmVDQnNhV05sYm5ObFpDQjFibVJsY2lBOFlTQm9jbVZtUFNKb2RIUndPaTh2WTNKbFlYUnBkbVZqYjIxdGIyNXpMbTl5Wnk5c2FXTmxibk5sY3k5aWVTMXVZeTh6TGpBdklpQjBZWEpuWlhROUlsOWliR0Z1YXlJK1EzSmxZWFJwZG1VZ1EyOXRiVzl1Y3lCQmRIUnlhV0oxZEdsdmJpMU9iMjVEYjIxdFpYSmphV0ZzSURNdU1Ed3ZZVDRnYkdsalpXNXpaUzRnUEdKeUlDOCtJRVp2Y2lCamIyMWxjbU5wWVd3Z2RYTmxJSFpwYzJsMElIUm9aWEpsSUR4aElHaHlaV1k5SW1oMGRIQTZMeTl6YVhSbGN5NW1ZWE4wYzNCeWFXNW5MbU52YlM5bVlXNWplV0Z3Y0hNdmNISnZaSFZqZEM5emRHOXlaU0lnZEdGeVoyVjBQU0pmYzJWc1ppSSthRzl0WlhCaFoyVXVQQzloUGc9PTwvYWJvdXQ+Cgk8c2VjdGlvbj5hdXRvbGlnaHRib3g8L3NlY3Rpb24+Cgk8dHBsc2VjdGlvbj48L3RwbHNlY3Rpb24+Cgk8anF1ZXJ5PjE8L2pxdWVyeT4KCTxqcXVlcnlfb3duPjA8L2pxdWVyeV9vd24+Cgk8b3B0aW9ucz5ZVG94T250ek9qRTRPaUoxYzJWZmJXOWlhV3hsZEdWdGNHeGhkR1VpTzNNNk1Ub2lNU0k3ZlE9PTwvb3B0aW9ucz4KCTx0cGxjb2RlPjwvdHBsY29kZT4KCTx0cGxjc3M+THlvZ1ptRnVZM2xDYjNnZ2RqSXVNUzR6SUdaaGJtTjVZWEJ3Y3k1amIyMGdmQ0JtWVc1amVXRndjSE11WTI5dEwyWmhibU41WW05NEx5TnNhV05sYm5ObElDb3ZEUW91Wm1GdVkzbGliM2d0ZDNKaGNDd05DaTVtWVc1amVXSnZlQzF6YTJsdUxBMEtMbVpoYm1ONVltOTRMVzkxZEdWeUxBMEtMbVpoYm1ONVltOTRMV2x1Ym1WeUxBMEtMbVpoYm1ONVltOTRMV2x0WVdkbExBMEtMbVpoYm1ONVltOTRMWGR5WVhBZ2FXWnlZVzFsTEEwS0xtWmhibU41WW05NExYZHlZWEFnYjJKcVpXTjBMQTBLTG1aaGJtTjVZbTk0TFc1aGRpd05DaTVtWVc1amVXSnZlQzF1WVhZZ2MzQmhiaXdOQ2k1bVlXNWplV0p2ZUMxMGJYQU5DbnNOQ2dsd1lXUmthVzVuT2lBd093MEtDVzFoY21kcGJqb2dNRHNOQ2dsaWIzSmtaWEk2SURBN0RRb0piM1YwYkdsdVpUb2dibTl1WlRzTkNnbDJaWEowYVdOaGJDMWhiR2xuYmpvZ2RHOXdPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RkM0poY0NCN0RRb0pjRzl6YVhScGIyNDZJR0ZpYzI5c2RYUmxPdzBLQ1hSdmNEb2dNRHNOQ2dsc1pXWjBPaUF3T3cwS0NYb3RhVzVrWlhnNklEZ3dNakE3RFFwOURRb05DaTVtWVc1amVXSnZlQzF6YTJsdUlIc05DZ2x3YjNOcGRHbHZiam9nY21Wc1lYUnBkbVU3RFFvSlltRmphMmR5YjNWdVpEb2dJMlk1WmpsbU9Uc05DZ2xqYjJ4dmNqb2dJelEwTkRzTkNnbDBaWGgwTFhOb1lXUnZkem9nYm05dVpUc05DZ2t0ZDJWaWEybDBMV0p2Y21SbGNpMXlZV1JwZFhNNklEUndlRHNOQ2drZ0lDQXRiVzk2TFdKdmNtUmxjaTF5WVdScGRYTTZJRFJ3ZURzTkNna2dJQ0FnSUNBZ0lHSnZjbVJsY2kxeVlXUnBkWE02SURSd2VEc05DbjBOQ2cwS0xtWmhibU41WW05NExXOXdaVzVsWkNCN0RRb0plaTFwYm1SbGVEb2dPREF6TURzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFc5d1pXNWxaQ0F1Wm1GdVkzbGliM2d0YzJ0cGJpQjdEUW9KTFhkbFltdHBkQzFpYjNndGMyaGhaRzkzT2lBd0lERXdjSGdnTWpWd2VDQnlaMkpoS0RBc0lEQXNJREFzSURBdU5TazdEUW9KSUNBZ0xXMXZlaTFpYjNndGMyaGhaRzkzT2lBd0lERXdjSGdnTWpWd2VDQnlaMkpoS0RBc0lEQXNJREFzSURBdU5TazdEUW9KSUNBZ0lDQWdJQ0JpYjNndGMyaGhaRzkzT2lBd0lERXdjSGdnTWpWd2VDQnlaMkpoS0RBc0lEQXNJREFzSURBdU5TazdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMXZkWFJsY2l3Z0xtWmhibU41WW05NExXbHVibVZ5SUhzTkNnbHdiM05wZEdsdmJqb2djbVZzWVhScGRtVTdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMXBibTVsY2lCN0RRb0piM1psY21ac2IzYzZJR2hwWkdSbGJqc05DbjBOQ2cwS0xtWmhibU41WW05NExYUjVjR1V0YVdaeVlXMWxJQzVtWVc1amVXSnZlQzFwYm01bGNpQjdEUW9KTFhkbFltdHBkQzF2ZG1WeVpteHZkeTF6WTNKdmJHeHBibWM2SUhSdmRXTm9PdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RaWEp5YjNJZ2V3MEtDV052Ykc5eU9pQWpORFEwT3cwS0NXWnZiblE2SURFMGNIZ3ZNakJ3ZUNBaVNHVnNkbVYwYVdOaElFNWxkV1VpTEVobGJIWmxkR2xqWVN4QmNtbGhiQ3h6WVc1ekxYTmxjbWxtT3cwS0NXMWhjbWRwYmpvZ01Ec05DZ2x3WVdSa2FXNW5PaUF4TlhCNE93MEtDWGRvYVhSbExYTndZV05sT2lCdWIzZHlZWEE3RFFwOURRb05DaTVtWVc1amVXSnZlQzFwYldGblpTd2dMbVpoYm1ONVltOTRMV2xtY21GdFpTQjdEUW9KWkdsemNHeGhlVG9nWW14dlkyczdEUW9KZDJsa2RHZzZJREV3TUNVN0RRb0phR1ZwWjJoME9pQXhNREFsT3cwS2ZRMEtEUW91Wm1GdVkzbGliM2d0YVcxaFoyVWdldzBLQ1cxaGVDMTNhV1IwYURvZ01UQXdKVHNOQ2dsdFlYZ3RhR1ZwWjJoME9pQXhNREFsT3cwS2ZRMEtEUW9qWm1GdVkzbGliM2d0Ykc5aFpHbHVaeXdnTG1aaGJtTjVZbTk0TFdOc2IzTmxMQ0F1Wm1GdVkzbGliM2d0Y0hKbGRpQnpjR0Z1TENBdVptRnVZM2xpYjNndGJtVjRkQ0J6Y0dGdUlIc05DZ2xpWVdOclozSnZkVzVrTFdsdFlXZGxPaUIxY213b0oxdGJjbTl2ZEY5MWNteGRYUzl0YjJSMWJHVnpMMVJ2YjJ4Q2IzZ3ZkR1Z0Y0d4aGRHVnpMMkZzWWw5bVlXNWplV0p2ZUM5bVlXNWplV0p2ZUY5emNISnBkR1V1Y0c1bkp5azdEUXA5RFFvTkNpTm1ZVzVqZVdKdmVDMXNiMkZrYVc1bklIc05DZ2x3YjNOcGRHbHZiam9nWm1sNFpXUTdEUW9KZEc5d09pQTFNQ1U3RFFvSmJHVm1kRG9nTlRBbE93MEtDVzFoY21kcGJpMTBiM0E2SUMweU1uQjRPdzBLQ1cxaGNtZHBiaTFzWldaME9pQXRNakp3ZURzTkNnbGlZV05yWjNKdmRXNWtMWEJ2YzJsMGFXOXVPaUF3SUMweE1EaHdlRHNOQ2dsdmNHRmphWFI1T2lBd0xqZzdEUW9KWTNWeWMyOXlPaUJ3YjJsdWRHVnlPdzBLQ1hvdGFXNWtaWGc2SURnd05qQTdEUXA5RFFvTkNpTm1ZVzVqZVdKdmVDMXNiMkZrYVc1bklHUnBkaUI3RFFvSmQybGtkR2c2SURRMGNIZzdEUW9KYUdWcFoyaDBPaUEwTkhCNE93MEtDV0poWTJ0bmNtOTFibVE2SUhWeWJDZ25XMXR5YjI5MFgzVnliRjFkTDIxdlpIVnNaWE12Vkc5dmJFSnZlQzkwWlcxd2JHRjBaWE12WVd4aVgyWmhibU41WW05NEwyWmhibU41WW05NFgyeHZZV1JwYm1jdVoybG1KeWtnWTJWdWRHVnlJR05sYm5SbGNpQnVieTF5WlhCbFlYUTdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMWpiRzl6WlNCN0RRb0pjRzl6YVhScGIyNDZJR0ZpYzI5c2RYUmxPdzBLQ1hSdmNEb2dMVEU0Y0hnN0RRb0pjbWxuYUhRNklDMHhPSEI0T3cwS0NYZHBaSFJvT2lBek5uQjRPdzBLQ1dobGFXZG9kRG9nTXpad2VEc05DZ2xqZFhKemIzSTZJSEJ2YVc1MFpYSTdEUW9KZWkxcGJtUmxlRG9nT0RBME1Ec05DbjBOQ2cwS0xtWmhibU41WW05NExXNWhkaUI3RFFvSmNHOXphWFJwYjI0NklHRmljMjlzZFhSbE93MEtDWFJ2Y0RvZ01Ec05DZ2wzYVdSMGFEb2dOREFsT3cwS0NXaGxhV2RvZERvZ01UQXdKVHNOQ2dsamRYSnpiM0k2SUhCdmFXNTBaWEk3RFFvSmRHVjRkQzFrWldOdmNtRjBhVzl1T2lCdWIyNWxPdzBLQ1dKaFkydG5jbTkxYm1RNklIUnlZVzV6Y0dGeVpXNTBJSFZ5YkNnbllteGhibXN1WjJsbUp5azdJQzhxSUdobGJIQnpJRWxGSUNvdkRRb0pMWGRsWW10cGRDMTBZWEF0YUdsbmFHeHBaMmgwTFdOdmJHOXlPaUJ5WjJKaEtEQXNNQ3d3TERBcE93MEtDWG90YVc1a1pYZzZJRGd3TkRBN0RRcDlEUW9OQ2k1bVlXNWplV0p2ZUMxd2NtVjJJSHNOQ2dsc1pXWjBPaUF3T3cwS2ZRMEtEUW91Wm1GdVkzbGliM2d0Ym1WNGRDQjdEUW9KY21sbmFIUTZJREE3RFFwOURRb05DaTVtWVc1amVXSnZlQzF1WVhZZ2MzQmhiaUI3RFFvSmNHOXphWFJwYjI0NklHRmljMjlzZFhSbE93MEtDWFJ2Y0RvZ05UQWxPdzBLQ1hkcFpIUm9PaUF6Tm5CNE93MEtDV2hsYVdkb2REb2dNelJ3ZURzTkNnbHRZWEpuYVc0dGRHOXdPaUF0TVRod2VEc05DZ2xqZFhKemIzSTZJSEJ2YVc1MFpYSTdEUW9KZWkxcGJtUmxlRG9nT0RBME1Ec05DZ2wyYVhOcFltbHNhWFI1T2lCb2FXUmtaVzQ3RFFwOURRb05DaTVtWVc1amVXSnZlQzF3Y21WMklITndZVzRnZXcwS0NXeGxablE2SURFd2NIZzdEUW9KWW1GamEyZHliM1Z1WkMxd2IzTnBkR2x2YmpvZ01DQXRNelp3ZURzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFc1bGVIUWdjM0JoYmlCN0RRb0pjbWxuYUhRNklERXdjSGc3RFFvSlltRmphMmR5YjNWdVpDMXdiM05wZEdsdmJqb2dNQ0F0TnpKd2VEc05DbjBOQ2cwS0xtWmhibU41WW05NExXNWhkanBvYjNabGNpQnpjR0Z1SUhzTkNnbDJhWE5wWW1sc2FYUjVPaUIyYVhOcFlteGxPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RkRzF3SUhzTkNnbHdiM05wZEdsdmJqb2dZV0p6YjJ4MWRHVTdEUW9KZEc5d09pQXRPVGs1T1Rsd2VEc05DZ2xzWldaME9pQXRPVGs1T1Rsd2VEc05DZ2wyYVhOcFltbHNhWFI1T2lCb2FXUmtaVzQ3RFFvSmJXRjRMWGRwWkhSb09pQTVPVGs1T1hCNE93MEtDVzFoZUMxb1pXbG5hSFE2SURrNU9UazVjSGc3RFFvSmIzWmxjbVpzYjNjNklIWnBjMmxpYkdVZ0lXbHRjRzl5ZEdGdWREc05DbjBOQ2cwS0x5b2dUM1psY214aGVTQm9aV3h3WlhJZ0tpOE5DZzBLTG1aaGJtTjVZbTk0TFd4dlkyc2dldzBLQ1c5MlpYSm1iRzkzT2lCb2FXUmtaVzQ3RFFwOURRb05DaTVtWVc1amVXSnZlQzF2ZG1WeWJHRjVJSHNOQ2dsd2IzTnBkR2x2YmpvZ1lXSnpiMngxZEdVN0RRb0pkRzl3T2lBd093MEtDV3hsWm5RNklEQTdEUW9KYjNabGNtWnNiM2M2SUdocFpHUmxianNOQ2dsa2FYTndiR0Y1T2lCdWIyNWxPdzBLQ1hvdGFXNWtaWGc2SURnd01UQTdEUW9KWW1GamEyZHliM1Z1WkRvZ2RYSnNLQ2RiVzNKdmIzUmZkWEpzWFYwdmJXOWtkV3hsY3k5VWIyOXNRbTk0TDNSbGJYQnNZWFJsY3k5aGJHSmZabUZ1WTNsaWIzZ3ZabUZ1WTNsaWIzaGZiM1psY214aGVTNXdibWNuS1RzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFc5MlpYSnNZWGt0Wm1sNFpXUWdldzBLQ1hCdmMybDBhVzl1T2lCbWFYaGxaRHNOQ2dsaWIzUjBiMjA2SURBN0RRb0pjbWxuYUhRNklEQTdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMXNiMk5ySUM1bVlXNWplV0p2ZUMxdmRtVnliR0Y1SUhzTkNnbHZkbVZ5Wm14dmR6b2dZWFYwYnpzTkNnbHZkbVZ5Wm14dmR5MTVPaUJ6WTNKdmJHdzdEUXA5RFFvTkNpOHFJRlJwZEd4bElHaGxiSEJsY2lBcUx3MEtEUW91Wm1GdVkzbGliM2d0ZEdsMGJHVWdldzBLQ1hacGMybGlhV3hwZEhrNklHaHBaR1JsYmpzTkNnbG1iMjUwT2lCdWIzSnRZV3dnTVROd2VDOHlNSEI0SUNKSVpXeDJaWFJwWTJFZ1RtVjFaU0lzU0dWc2RtVjBhV05oTEVGeWFXRnNMSE5oYm5NdGMyVnlhV1k3RFFvSmNHOXphWFJwYjI0NklISmxiR0YwYVhabE93MEtDWFJsZUhRdGMyaGhaRzkzT2lCdWIyNWxPdzBLQ1hvdGFXNWtaWGc2SURnd05UQTdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMXZjR1Z1WldRZ0xtWmhibU41WW05NExYUnBkR3hsSUhzTkNnbDJhWE5wWW1sc2FYUjVPaUIyYVhOcFlteGxPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RkR2wwYkdVdFpteHZZWFF0ZDNKaGNDQjdEUW9KY0c5emFYUnBiMjQ2SUdGaWMyOXNkWFJsT3cwS0NXSnZkSFJ2YlRvZ01Ec05DZ2x5YVdkb2REb2dOVEFsT3cwS0NXMWhjbWRwYmkxaWIzUjBiMjA2SUMwek5YQjRPdzBLQ1hvdGFXNWtaWGc2SURnd05UQTdEUW9KZEdWNGRDMWhiR2xuYmpvZ1kyVnVkR1Z5T3cwS2ZRMEtEUW91Wm1GdVkzbGliM2d0ZEdsMGJHVXRabXh2WVhRdGQzSmhjQ0F1WTJocGJHUWdldzBLQ1dScGMzQnNZWGs2SUdsdWJHbHVaUzFpYkc5amF6c05DZ2x0WVhKbmFXNHRjbWxuYUhRNklDMHhNREFsT3cwS0NYQmhaR1JwYm1jNklESndlQ0F5TUhCNE93MEtDV0poWTJ0bmNtOTFibVE2SUhSeVlXNXpjR0Z5Wlc1ME95QXZLaUJHWVd4c1ltRmpheUJtYjNJZ2QyVmlJR0p5YjNkelpYSnpJSFJvWVhRZ1pHOWxjMjRuZENCemRYQndiM0owSUZKSFFtRWdLaThOQ2dsaVlXTnJaM0p2ZFc1a09pQnlaMkpoS0RBc0lEQXNJREFzSURBdU9DazdEUW9KTFhkbFltdHBkQzFpYjNKa1pYSXRjbUZrYVhWek9pQXhOWEI0T3cwS0NTQWdJQzF0YjNvdFltOXlaR1Z5TFhKaFpHbDFjem9nTVRWd2VEc05DZ2tnSUNBZ0lDQWdJR0p2Y21SbGNpMXlZV1JwZFhNNklERTFjSGc3RFFvSmRHVjRkQzF6YUdGa2IzYzZJREFnTVhCNElESndlQ0FqTWpJeU93MEtDV052Ykc5eU9pQWpSa1pHT3cwS0NXWnZiblF0ZDJWcFoyaDBPaUJpYjJ4a093MEtDV3hwYm1VdGFHVnBaMmgwT2lBeU5IQjRPdzBLQ1hkb2FYUmxMWE53WVdObE9pQnViM2R5WVhBN0RRcDlEUW9OQ2k1bVlXNWplV0p2ZUMxMGFYUnNaUzF2ZFhSemFXUmxMWGR5WVhBZ2V3MEtDWEJ2YzJsMGFXOXVPaUJ5Wld4aGRHbDJaVHNOQ2dsdFlYSm5hVzR0ZEc5d09pQXhNSEI0T3cwS0NXTnZiRzl5T2lBalptWm1PdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RkR2wwYkdVdGFXNXphV1JsTFhkeVlYQWdldzBLQ1hCaFpHUnBibWN0ZEc5d09pQXhNSEI0T3cwS2ZRMEtEUW91Wm1GdVkzbGliM2d0ZEdsMGJHVXRiM1psY2kxM2NtRndJSHNOQ2dsd2IzTnBkR2x2YmpvZ1lXSnpiMngxZEdVN0RRb0pZbTkwZEc5dE9pQXdPdzBLQ1d4bFpuUTZJREE3RFFvSlkyOXNiM0k2SUNObVptWTdEUW9KY0dGa1pHbHVaem9nTVRCd2VEc05DZ2xpWVdOclozSnZkVzVrT2lBak1EQXdPdzBLQ1dKaFkydG5jbTkxYm1RNklISm5ZbUVvTUN3Z01Dd2dNQ3dnTGpncE93MEtmUTBLRFFvalptRnVZM2xpYjNndGRHaDFiV0p6SUhzTkNnbHdiM05wZEdsdmJqb2dabWw0WldRN0RRb0piR1ZtZERvZ01Ec05DZ2wzYVdSMGFEb2dNVEF3SlRzTkNnbHZkbVZ5Wm14dmR6b2dhR2xrWkdWdU93MEtDWG90YVc1a1pYZzZJRGd3TlRBN0RRcDlEUW9OQ2lObVlXNWplV0p2ZUMxMGFIVnRZbk11WW05MGRHOXRJSHNOQ2dsaWIzUjBiMjA2SURKd2VEc05DbjBOQ2cwS0kyWmhibU41WW05NExYUm9kVzFpY3k1MGIzQWdldzBLQ1hSdmNEb2dNbkI0T3cwS2ZRMEtEUW9qWm1GdVkzbGliM2d0ZEdoMWJXSnpJSFZzSUhzTkNnbHdiM05wZEdsdmJqb2djbVZzWVhScGRtVTdEUW9KYkdsemRDMXpkSGxzWlRvZ2JtOXVaVHNOQ2dsdFlYSm5hVzQ2SURBN0RRb0pjR0ZrWkdsdVp6b2dNRHNOQ24wTkNnMEtJMlpoYm1ONVltOTRMWFJvZFcxaWN5QjFiQ0JzYVNCN0RRb0pabXh2WVhRNklHeGxablE3RFFvSmNHRmtaR2x1WnpvZ01YQjRPdzBLQ1c5d1lXTnBkSGs2SURBdU5Uc05DbjBOQ2cwS0kyWmhibU41WW05NExYUm9kVzFpY3lCMWJDQnNhUzVoWTNScGRtVWdldzBLQ1c5d1lXTnBkSGs2SURBdU56VTdEUW9KY0dGa1pHbHVaem9nTURzTkNnbGliM0prWlhJNklERndlQ0J6YjJ4cFpDQWpabVptT3cwS2ZRMEtEUW9qWm1GdVkzbGliM2d0ZEdoMWJXSnpJSFZzSUd4cE9taHZkbVZ5SUhzTkNnbHZjR0ZqYVhSNU9pQXhPdzBLZlEwS0RRb2pabUZ1WTNsaWIzZ3RkR2gxYldKeklIVnNJR3hwSUdFZ2V3MEtDV1JwYzNCc1lYazZJR0pzYjJOck93MEtDWEJ2YzJsMGFXOXVPaUJ5Wld4aGRHbDJaVHNOQ2dsdmRtVnlabXh2ZHpvZ2FHbGtaR1Z1T3cwS0NXSnZjbVJsY2pvZ01YQjRJSE52Ykdsa0lDTXlNakk3RFFvSlltRmphMmR5YjNWdVpEb2dJekV4TVRzTkNnbHZkWFJzYVc1bE9pQnViMjVsT3cwS2ZRMEtEUW9qWm1GdVkzbGliM2d0ZEdoMWJXSnpJSFZzSUd4cElHbHRaeUI3RFFvSlpHbHpjR3hoZVRvZ1lteHZZMnM3RFFvSmNHOXphWFJwYjI0NklISmxiR0YwYVhabE93MEtDV0p2Y21SbGNqb2dNRHNOQ2dsd1lXUmthVzVuT2lBd093MEs8L3RwbGNzcz4KCTx0cGxqcz5QSE5qY21sd2RDQjBlWEJsUFNKMFpYaDBMMnBoZG1GelkzSnBjSFFpSUhOeVl6MGlXMXR5YjI5MFgzVnliRjFkTDIxdlpIVnNaWE12Vkc5dmJFSnZlQzkwWlcxd2JHRjBaWE12WVd4aVgyWmhibU41WW05NEwycHhkV1Z5ZVM1dGIzVnpaWGRvWldWc0xUTXVNQzQyTG5CaFkyc3Vhbk1pUGp3dmMyTnlhWEIwUGcwS1BITmpjbWx3ZENCMGVYQmxQU0owWlhoMEwycGhkbUZ6WTNKcGNIUWlJSE55WXowaVcxdHliMjkwWDNWeWJGMWRMMjF2WkhWc1pYTXZWRzl2YkVKdmVDOTBaVzF3YkdGMFpYTXZZV3hpWDJaaGJtTjVZbTk0TDJweGRXVnllUzVtWVc1amVXSnZlQzV3WVdOckxtcHpJajQ4TDNOamNtbHdkRDROQ2p4elkzSnBjSFFnZEhsd1pUMGlkR1Y0ZEM5cVlYWmhjMk55YVhCMElpQnpjbU05SWx0YmNtOXZkRjkxY214ZFhTOXRiMlIxYkdWekwxUnZiMnhDYjNndmRHVnRjR3hoZEdWekwyRnNZbDltWVc1amVXSnZlQzlxY1hWbGNua3VabUZ1WTNsaWIzZ3RkR2gxYldKekxtcHpJajQ4TDNOamNtbHdkRDROQ2p4elkzSnBjSFFnZEhsd1pUMGlkR1Y0ZEM5cVlYWmhjMk55YVhCMElqNE5DbXBSZFdWeWVTaGtiMk4xYldWdWRDa3VjbVZoWkhrb1puVnVZM1JwYjI0b0tTQjdEUW9KSkNnbllTNWhkWFJ2YkdsbmFIUmliM2duS1M1aGRIUnlLSHNuWkdGMFlTMW1ZVzVqZVdKdmVDMW5jbTkxY0NjNkluUm9kVzFpSW4wcExtWmhibU41WW05NEtIc05DZ2tKY0hKbGRrVm1abVZqZENBNklDZHViMjVsSnl3TkNna0pibVY0ZEVWbVptVmpkQ0E2SUNkdWIyNWxKeXdOQ2cwS0NRbGpiRzl6WlVKMGJpQWdPaUJtWVd4elpTd05DZ2tKWVhKeWIzZHpJQ0FnSURvZ2RISjFaU3dOQ2drSmJtVjRkRU5zYVdOcklEb2dkSEoxWlN3TkNna0phR1ZzY0dWeWN5QTZJSHNOQ2drSkNYUnBkR3hsQ1RvZ2V5QjBlWEJsSURvZ0oybHVjMmxrWlNjZ2ZTd05DZ2tKQ1hSb2RXMWljeUE2SUhzTkNna0pDUWwzYVdSMGFDQWdPaUExTUN3TkNna0pDUWxvWldsbmFIUWdPaUExTUEwS0NRa0pmUTBLQ1FsOURRb0pmU2s3RFFwOUtUc05Dand2YzJOeWFYQjBQZz09PC90cGxqcz4KCTx0cGxtb2JpbGVjb2RlPjwvdHBsbW9iaWxlY29kZT4KCTx0cGxtb2JpbGVjc3M+THlvZ2JXOWlhV3hsSUhSb1pXMWxJQ292RFFvdktpQm1ZVzVqZVVKdmVDQjJNaTR4TGpNZ1ptRnVZM2xoY0hCekxtTnZiU0I4SUdaaGJtTjVZWEJ3Y3k1amIyMHZabUZ1WTNsaWIzZ3ZJMnhwWTJWdWMyVWdLaThOQ2k1bVlXNWplV0p2ZUMxM2NtRndMQTBLTG1aaGJtTjVZbTk0TFhOcmFXNHNEUW91Wm1GdVkzbGliM2d0YjNWMFpYSXNEUW91Wm1GdVkzbGliM2d0YVc1dVpYSXNEUW91Wm1GdVkzbGliM2d0YVcxaFoyVXNEUW91Wm1GdVkzbGliM2d0ZDNKaGNDQnBabkpoYldVc0RRb3VabUZ1WTNsaWIzZ3RkM0poY0NCdlltcGxZM1FzRFFvdVptRnVZM2xpYjNndGJtRjJMQTBLTG1aaGJtTjVZbTk0TFc1aGRpQnpjR0Z1TEEwS0xtWmhibU41WW05NExYUnRjQTBLZXcwS0NYQmhaR1JwYm1jNklEQTdEUW9KYldGeVoybHVPaUF3T3cwS0NXSnZjbVJsY2pvZ01Ec05DZ2x2ZFhSc2FXNWxPaUJ1YjI1bE93MEtDWFpsY25ScFkyRnNMV0ZzYVdkdU9pQjBiM0E3RFFwOURRb05DaTVtWVc1amVXSnZlQzEzY21Gd0lIc05DZ2x3YjNOcGRHbHZiam9nWVdKemIyeDFkR1U3RFFvSmRHOXdPaUF3T3cwS0NXeGxablE2SURBN0RRb0plaTFwYm1SbGVEb2dPREF5TURzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFhOcmFXNGdldzBLQ1hCdmMybDBhVzl1T2lCeVpXeGhkR2wyWlRzTkNnbGlZV05yWjNKdmRXNWtPaUFqWmpsbU9XWTVPdzBLQ1dOdmJHOXlPaUFqTkRRME93MEtDWFJsZUhRdGMyaGhaRzkzT2lCdWIyNWxPdzBLQ1MxM1pXSnJhWFF0WW05eVpHVnlMWEpoWkdsMWN6b2dOSEI0T3cwS0NTQWdJQzF0YjNvdFltOXlaR1Z5TFhKaFpHbDFjem9nTkhCNE93MEtDU0FnSUNBZ0lDQWdZbTl5WkdWeUxYSmhaR2wxY3pvZ05IQjRPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RiM0JsYm1Wa0lIc05DZ2w2TFdsdVpHVjRPaUE0TURNd093MEtmUTBLRFFvdVptRnVZM2xpYjNndGIzQmxibVZrSUM1bVlXNWplV0p2ZUMxemEybHVJSHNOQ2drdGQyVmlhMmwwTFdKdmVDMXphR0ZrYjNjNklEQWdNVEJ3ZUNBeU5YQjRJSEpuWW1Fb01Dd2dNQ3dnTUN3Z01DNDFLVHNOQ2drZ0lDQXRiVzk2TFdKdmVDMXphR0ZrYjNjNklEQWdNVEJ3ZUNBeU5YQjRJSEpuWW1Fb01Dd2dNQ3dnTUN3Z01DNDFLVHNOQ2drZ0lDQWdJQ0FnSUdKdmVDMXphR0ZrYjNjNklEQWdNVEJ3ZUNBeU5YQjRJSEpuWW1Fb01Dd2dNQ3dnTUN3Z01DNDFLVHNOQ24wTkNnMEtMbVpoYm1ONVltOTRMVzkxZEdWeUxDQXVabUZ1WTNsaWIzZ3RhVzV1WlhJZ2V3MEtDWEJ2YzJsMGFXOXVPaUJ5Wld4aGRHbDJaVHNOQ24wTkNnMEtMbVpoYm1ONVltOTRMV2x1Ym1WeUlIc05DZ2x2ZG1WeVpteHZkem9nYUdsa1pHVnVPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RkSGx3WlMxcFpuSmhiV1VnTG1aaGJtTjVZbTk0TFdsdWJtVnlJSHNOQ2drdGQyVmlhMmwwTFc5MlpYSm1iRzkzTFhOamNtOXNiR2x1WnpvZ2RHOTFZMmc3RFFwOURRb05DaTVtWVc1amVXSnZlQzFsY25KdmNpQjdEUW9KWTI5c2IzSTZJQ00wTkRRN0RRb0pabTl1ZERvZ01UUndlQzh5TUhCNElDSklaV3gyWlhScFkyRWdUbVYxWlNJc1NHVnNkbVYwYVdOaExFRnlhV0ZzTEhOaGJuTXRjMlZ5YVdZN0RRb0piV0Z5WjJsdU9pQXdPdzBLQ1hCaFpHUnBibWM2SURFMWNIZzdEUW9KZDJocGRHVXRjM0JoWTJVNklHNXZkM0poY0RzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFdsdFlXZGxMQ0F1Wm1GdVkzbGliM2d0YVdaeVlXMWxJSHNOQ2dsa2FYTndiR0Y1T2lCaWJHOWphenNOQ2dsM2FXUjBhRG9nTVRBd0pUc05DZ2xvWldsbmFIUTZJREV3TUNVN0RRcDlEUW9OQ2k1bVlXNWplV0p2ZUMxcGJXRm5aU0I3RFFvSmJXRjRMWGRwWkhSb09pQXhNREFsT3cwS0NXMWhlQzFvWldsbmFIUTZJREV3TUNVN0RRcDlEUW9OQ2lObVlXNWplV0p2ZUMxc2IyRmthVzVuTENBdVptRnVZM2xpYjNndFkyeHZjMlVzSUM1bVlXNWplV0p2ZUMxd2NtVjJJSE53WVc0c0lDNW1ZVzVqZVdKdmVDMXVaWGgwSUhOd1lXNGdldzBLQ1dKaFkydG5jbTkxYm1RdGFXMWhaMlU2SUhWeWJDZ25XMXR5YjI5MFgzVnliRjFkTDIxdlpIVnNaWE12Vkc5dmJFSnZlQzkwWlcxd2JHRjBaWE12WVd4aVgyWmhibU41WW05NEwyWmhibU41WW05NFgzTndjbWwwWlM1d2JtY25LVHNOQ24wTkNnMEtJMlpoYm1ONVltOTRMV3h2WVdScGJtY2dldzBLQ1hCdmMybDBhVzl1T2lCbWFYaGxaRHNOQ2dsMGIzQTZJRFV3SlRzTkNnbHNaV1owT2lBMU1DVTdEUW9KYldGeVoybHVMWFJ2Y0RvZ0xUSXljSGc3RFFvSmJXRnlaMmx1TFd4bFpuUTZJQzB5TW5CNE93MEtDV0poWTJ0bmNtOTFibVF0Y0c5emFYUnBiMjQ2SURBZ0xURXdPSEI0T3cwS0NXOXdZV05wZEhrNklEQXVPRHNOQ2dsamRYSnpiM0k2SUhCdmFXNTBaWEk3RFFvSmVpMXBibVJsZURvZ09EQTJNRHNOQ24wTkNnMEtJMlpoYm1ONVltOTRMV3h2WVdScGJtY2daR2wySUhzTkNnbDNhV1IwYURvZ05EUndlRHNOQ2dsb1pXbG5hSFE2SURRMGNIZzdEUW9KWW1GamEyZHliM1Z1WkRvZ2RYSnNLQ2RiVzNKdmIzUmZkWEpzWFYwdmJXOWtkV3hsY3k5VWIyOXNRbTk0TDNSbGJYQnNZWFJsY3k5aGJHSmZabUZ1WTNsaWIzZ3ZabUZ1WTNsaWIzaGZiRzloWkdsdVp5NW5hV1luS1NCalpXNTBaWElnWTJWdWRHVnlJRzV2TFhKbGNHVmhkRHNOQ24wTkNnMEtMbVpoYm1ONVltOTRMV05zYjNObElIc05DZ2x3YjNOcGRHbHZiam9nWVdKemIyeDFkR1U3RFFvSmRHOXdPaUF0TVRod2VEc05DZ2x5YVdkb2REb2dMVEU0Y0hnN0RRb0pkMmxrZEdnNklETTJjSGc3RFFvSmFHVnBaMmgwT2lBek5uQjRPdzBLQ1dOMWNuTnZjam9nY0c5cGJuUmxjanNOQ2dsNkxXbHVaR1Y0T2lBNE1EUXdPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RibUYySUhzTkNnbHdiM05wZEdsdmJqb2dZV0p6YjJ4MWRHVTdEUW9KZEc5d09pQXdPdzBLQ1hkcFpIUm9PaUF3SlRzTkNnbG9aV2xuYUhRNklERXdNQ1U3RFFvSlkzVnljMjl5T2lCd2IybHVkR1Z5T3cwS0NYUmxlSFF0WkdWamIzSmhkR2x2YmpvZ2JtOXVaVHNOQ2dsaVlXTnJaM0p2ZFc1a09pQjBjbUZ1YzNCaGNtVnVkQ0IxY213b0oySnNZVzVyTG1kcFppY3BPeUF2S2lCb1pXeHdjeUJKUlNBcUx3MEtDUzEzWldKcmFYUXRkR0Z3TFdocFoyaHNhV2RvZEMxamIyeHZjam9nY21kaVlTZ3dMREFzTUN3d0tUc05DZ2w2TFdsdVpHVjRPaUE0TURRd093MEtmUTBLRFFvdVptRnVZM2xpYjNndGNISmxkaUI3RFFvSmJHVm1kRG9nTURzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFc1bGVIUWdldzBLQ1hKcFoyaDBPaUF3T3cwS2ZRMEtEUW91Wm1GdVkzbGliM2d0Ym1GMklITndZVzRnZXcwS0NYQnZjMmwwYVc5dU9pQmhZbk52YkhWMFpUc05DZ2wwYjNBNklEVXdKVHNOQ2dsM2FXUjBhRG9nTXpad2VEc05DZ2xvWldsbmFIUTZJRE0wY0hnN0RRb0piV0Z5WjJsdUxYUnZjRG9nTFRFNGNIZzdEUW9KWTNWeWMyOXlPaUJ3YjJsdWRHVnlPdzBLQ1hvdGFXNWtaWGc2SURnd05EQTdEUW9KZG1semFXSnBiR2wwZVRvZ2FHbGtaR1Z1T3cwS2ZRMEtEUW91Wm1GdVkzbGliM2d0Y0hKbGRpQnpjR0Z1SUhzTkNnbHNaV1owT2lBeE1IQjRPdzBLQ1dKaFkydG5jbTkxYm1RdGNHOXphWFJwYjI0NklEQWdMVE0yY0hnN0RRcDlEUW9OQ2k1bVlXNWplV0p2ZUMxdVpYaDBJSE53WVc0Z2V3MEtDWEpwWjJoME9pQXhNSEI0T3cwS0NXSmhZMnRuY205MWJtUXRjRzl6YVhScGIyNDZJREFnTFRjeWNIZzdEUXA5RFFvTkNpNW1ZVzVqZVdKdmVDMXVZWFk2YUc5MlpYSWdjM0JoYmlCN0RRb0pkbWx6YVdKcGJHbDBlVG9nZG1semFXSnNaVHNOQ24wTkNnMEtMbVpoYm1ONVltOTRMWFJ0Y0NCN0RRb0pjRzl6YVhScGIyNDZJR0ZpYzI5c2RYUmxPdzBLQ1hSdmNEb2dMVGs1T1RrNWNIZzdEUW9KYkdWbWREb2dMVGs1T1RrNWNIZzdEUW9KZG1semFXSnBiR2wwZVRvZ2FHbGtaR1Z1T3cwS0NXMWhlQzEzYVdSMGFEb2dPVGs1T1Rsd2VEc05DZ2x0WVhndGFHVnBaMmgwT2lBNU9UazVPWEI0T3cwS0NXOTJaWEptYkc5M09pQjJhWE5wWW14bElDRnBiWEJ2Y25SaGJuUTdEUXA5RFFvTkNpOHFJRTkyWlhKc1lYa2dhR1ZzY0dWeUlDb3ZEUW9OQ2k1bVlXNWplV0p2ZUMxc2IyTnJJSHNOQ2dsdmRtVnlabXh2ZHpvZ2FHbGtaR1Z1T3cwS2ZRMEtEUW91Wm1GdVkzbGliM2d0YjNabGNteGhlU0I3RFFvSmNHOXphWFJwYjI0NklHRmljMjlzZFhSbE93MEtDWFJ2Y0RvZ01Ec05DZ2xzWldaME9pQXdPdzBLQ1c5MlpYSm1iRzkzT2lCb2FXUmtaVzQ3RFFvSlpHbHpjR3hoZVRvZ2JtOXVaVHNOQ2dsNkxXbHVaR1Y0T2lBNE1ERXdPdzBLQ1dKaFkydG5jbTkxYm1RNklIVnliQ2duVzF0eWIyOTBYM1Z5YkYxZEwyMXZaSFZzWlhNdlZHOXZiRUp2ZUM5MFpXMXdiR0YwWlhNdllXeGlYMlpoYm1ONVltOTRMMlpoYm1ONVltOTRYMjkyWlhKc1lYa3VjRzVuSnlrN0RRcDlEUW9OQ2k1bVlXNWplV0p2ZUMxdmRtVnliR0Y1TFdacGVHVmtJSHNOQ2dsd2IzTnBkR2x2YmpvZ1ptbDRaV1E3RFFvSlltOTBkRzl0T2lBd093MEtDWEpwWjJoME9pQXdPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RiRzlqYXlBdVptRnVZM2xpYjNndGIzWmxjbXhoZVNCN0RRb0piM1psY21ac2IzYzZJR0YxZEc4N0RRb0piM1psY21ac2IzY3RlVG9nYzJOeWIyeHNPdzBLZlEwS0RRb3ZLaUJVYVhSc1pTQm9aV3h3WlhJZ0tpOE5DZzBLTG1aaGJtTjVZbTk0TFhScGRHeGxJSHNOQ2dsMmFYTnBZbWxzYVhSNU9pQm9hV1JrWlc0N0RRb0pabTl1ZERvZ2JtOXliV0ZzSURFemNIZ3ZNakJ3ZUNBaVNHVnNkbVYwYVdOaElFNWxkV1VpTEVobGJIWmxkR2xqWVN4QmNtbGhiQ3h6WVc1ekxYTmxjbWxtT3cwS0NYQnZjMmwwYVc5dU9pQnlaV3hoZEdsMlpUc05DZ2wwWlhoMExYTm9ZV1J2ZHpvZ2JtOXVaVHNOQ2dsNkxXbHVaR1Y0T2lBNE1EVXdPdzBLZlEwS0RRb3VabUZ1WTNsaWIzZ3RiM0JsYm1Wa0lDNW1ZVzVqZVdKdmVDMTBhWFJzWlNCN0RRb0pkbWx6YVdKcGJHbDBlVG9nZG1semFXSnNaVHNOQ24wTkNnMEtMbVpoYm1ONVltOTRMWFJwZEd4bExXWnNiMkYwTFhkeVlYQWdldzBLQ1hCdmMybDBhVzl1T2lCaFluTnZiSFYwWlRzTkNnbGliM1IwYjIwNklEQTdEUW9KY21sbmFIUTZJRFV3SlRzTkNnbHRZWEpuYVc0dFltOTBkRzl0T2lBdE16VndlRHNOQ2dsNkxXbHVaR1Y0T2lBNE1EVXdPdzBLQ1hSbGVIUXRZV3hwWjI0NklHTmxiblJsY2pzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFhScGRHeGxMV1pzYjJGMExYZHlZWEFnTG1Ob2FXeGtJSHNOQ2dsa2FYTndiR0Y1T2lCcGJteHBibVV0WW14dlkyczdEUW9KYldGeVoybHVMWEpwWjJoME9pQXRNVEF3SlRzTkNnbHdZV1JrYVc1bk9pQXljSGdnTWpCd2VEc05DZ2xpWVdOclozSnZkVzVrT2lCMGNtRnVjM0JoY21WdWREc2dMeW9nUm1Gc2JHSmhZMnNnWm05eUlIZGxZaUJpY205M2MyVnljeUIwYUdGMElHUnZaWE51SjNRZ2MzVndjRzl5ZENCU1IwSmhJQ292RFFvSlltRmphMmR5YjNWdVpEb2djbWRpWVNnd0xDQXdMQ0F3TENBd0xqZ3BPdzBLQ1MxM1pXSnJhWFF0WW05eVpHVnlMWEpoWkdsMWN6b2dNVFZ3ZURzTkNna2dJQ0F0Ylc5NkxXSnZjbVJsY2kxeVlXUnBkWE02SURFMWNIZzdEUW9KSUNBZ0lDQWdJQ0JpYjNKa1pYSXRjbUZrYVhWek9pQXhOWEI0T3cwS0NYUmxlSFF0YzJoaFpHOTNPaUF3SURGd2VDQXljSGdnSXpJeU1qc05DZ2xqYjJ4dmNqb2dJMFpHUmpzTkNnbG1iMjUwTFhkbGFXZG9kRG9nWW05c1pEc05DZ2xzYVc1bExXaGxhV2RvZERvZ01qUndlRHNOQ2dsM2FHbDBaUzF6Y0dGalpUb2dibTkzY21Gd093MEtmUTBLRFFvdVptRnVZM2xpYjNndGRHbDBiR1V0YjNWMGMybGtaUzEzY21Gd0lIc05DZ2x3YjNOcGRHbHZiam9nY21Wc1lYUnBkbVU3RFFvSmJXRnlaMmx1TFhSdmNEb2dNVEJ3ZURzTkNnbGpiMnh2Y2pvZ0kyWm1aanNOQ24wTkNnMEtMbVpoYm1ONVltOTRMWFJwZEd4bExXbHVjMmxrWlMxM2NtRndJSHNOQ2dsd1lXUmthVzVuTFhSdmNEb2dNVEJ3ZURzTkNuME5DZzBLTG1aaGJtTjVZbTk0TFhScGRHeGxMVzkyWlhJdGQzSmhjQ0I3RFFvSmNHOXphWFJwYjI0NklHRmljMjlzZFhSbE93MEtDV0p2ZEhSdmJUb2dNRHNOQ2dsc1pXWjBPaUF3T3cwS0NXTnZiRzl5T2lBalptWm1PdzBLQ1hCaFpHUnBibWM2SURFd2NIZzdEUW9KWW1GamEyZHliM1Z1WkRvZ0l6QXdNRHNOQ2dsaVlXTnJaM0p2ZFc1a09pQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DbjBOQ2cwS0kyWmhibU41WW05NExYUm9kVzFpY3lCN0RRb0pjRzl6YVhScGIyNDZJR1pwZUdWa093MEtDV3hsWm5RNklEQTdEUW9KZDJsa2RHZzZJREV3TUNVN0RRb0piM1psY21ac2IzYzZJR2hwWkdSbGJqc05DZ2w2TFdsdVpHVjRPaUE0TURVd093MEtmUTBLRFFvalptRnVZM2xpYjNndGRHaDFiV0p6TG1KdmRIUnZiU0I3RFFvSlltOTBkRzl0T2lBeWNIZzdEUXA5RFFvTkNpTm1ZVzVqZVdKdmVDMTBhSFZ0WW5NdWRHOXdJSHNOQ2dsMGIzQTZJREp3ZURzTkNuME5DZzBLSTJaaGJtTjVZbTk0TFhSb2RXMWljeUIxYkNCN0RRb0pjRzl6YVhScGIyNDZJSEpsYkdGMGFYWmxPdzBLQ1d4cGMzUXRjM1I1YkdVNklHNXZibVU3RFFvSmJXRnlaMmx1T2lBd093MEtDWEJoWkdScGJtYzZJREE3RFFwOURRb05DaU5tWVc1amVXSnZlQzEwYUhWdFluTWdkV3dnYkdrZ2V3MEtDV1pzYjJGME9pQnNaV1owT3cwS0NYQmhaR1JwYm1jNklERndlRHNOQ2dsdmNHRmphWFI1T2lBd0xqVTdEUXA5RFFvTkNpTm1ZVzVqZVdKdmVDMTBhSFZ0WW5NZ2RXd2diR2t1WVdOMGFYWmxJSHNOQ2dsdmNHRmphWFI1T2lBd0xqYzFPdzBLQ1hCaFpHUnBibWM2SURBN0RRb0pZbTl5WkdWeU9pQXhjSGdnYzI5c2FXUWdJMlptWmpzTkNuME5DZzBLSTJaaGJtTjVZbTk0TFhSb2RXMWljeUIxYkNCc2FUcG9iM1psY2lCN0RRb0piM0JoWTJsMGVUb2dNVHNOQ24wTkNnMEtJMlpoYm1ONVltOTRMWFJvZFcxaWN5QjFiQ0JzYVNCaElIc05DZ2xrYVhOd2JHRjVPaUJpYkc5amF6c05DZ2x3YjNOcGRHbHZiam9nY21Wc1lYUnBkbVU3RFFvSmIzWmxjbVpzYjNjNklHaHBaR1JsYmpzTkNnbGliM0prWlhJNklERndlQ0J6YjJ4cFpDQWpNakl5T3cwS0NXSmhZMnRuY205MWJtUTZJQ014TVRFN0RRb0piM1YwYkdsdVpUb2dibTl1WlRzTkNuME5DZzBLSTJaaGJtTjVZbTk0TFhSb2RXMWljeUIxYkNCc2FTQnBiV2NnZXcwS0NXUnBjM0JzWVhrNklHSnNiMk5yT3cwS0NYQnZjMmwwYVc5dU9pQnlaV3hoZEdsMlpUc05DZ2xpYjNKa1pYSTZJREE3RFFvSmNHRmtaR2x1WnpvZ01Ec05DZz09PC90cGxtb2JpbGVjc3M+Cgk8dHBsbW9iaWxlanM+UEhOamNtbHdkQ0IwZVhCbFBTSjBaWGgwTDJwaGRtRnpZM0pwY0hRaUlITnlZejBpVzF0eWIyOTBYM1Z5YkYxZEwyMXZaSFZzWlhNdlZHOXZiRUp2ZUM5MFpXMXdiR0YwWlhNdllXeGlYMlpoYm1ONVltOTRMMnB4ZFdWeWVTNTBiM1ZqYUZOM2FYQmxMbTFwYmk1cWN5SStQQzl6WTNKcGNIUStEUW84YzJOeWFYQjBJSFI1Y0dVOUluUmxlSFF2YW1GMllYTmpjbWx3ZENJZ2MzSmpQU0piVzNKdmIzUmZkWEpzWFYwdmJXOWtkV3hsY3k5VWIyOXNRbTk0TDNSbGJYQnNZWFJsY3k5aGJHSmZabUZ1WTNsaWIzZ3ZhbkYxWlhKNUxtWmhibU41WW05NExuQmhZMnN1YW5NaVBqd3ZjMk55YVhCMFBnMEtQSE5qY21sd2RDQjBlWEJsUFNKMFpYaDBMMnBoZG1GelkzSnBjSFFpUGcwS2FsRjFaWEo1S0dSdlkzVnRaVzUwS1M1eVpXRmtlU2htZFc1amRHbHZiaWdwSUhzTkNna2tLQ2RoTG1GMWRHOXNhV2RvZEdKdmVDY3BMbUYwZEhJb2V5ZGtZWFJoTFdaaGJtTjVZbTk0TFdkeWIzVndKem9pWVd4aVoyRnNiR1Z5ZVNKOUtTNW1ZVzVqZVdKdmVDaDdEUW9KQ1dOc2IzTmxRblJ1SUNBNklIUnlkV1VzRFFvSkNXRnljbTkzY3lBZ0lDQTZJR1poYkhObExBMEtDUWxvWld4d1pYSnpJRG9nZXcwS0NRa0pkR2wwYkdVSk9pQjdJSFI1Y0dVZ09pQW5hVzV6YVdSbEp5QjlMQTBLQ1FsOURRb0pmU2s3RFFwOUtUc05DaVFvWkc5amRXMWxiblFwTG5OM2FYQmxLSHNOQ2lBZ0lDQnpkMmx3WlV4bFpuUTZJR1oxYm1OMGFXOXVLQ2tnZXcwS0lDQWdJQ0FnSUNBa0xtWmhibU41WW05NExtNWxlSFFvS1RzTkNpQWdJQ0I5TEEwS0lDQWdJSE4zYVhCbFVtbG5hSFE2SUdaMWJtTjBhVzl1S0NrZ2V3MEtJQ0FnSUNBZ0lDQWtMbVpoYm1ONVltOTRMbkJ5WlhZb0tUc05DaUFnSUNCOUxBMEtJQ0FnSUhSeWFXZG5aWEpQYmxSdmRXTm9SVzVrT21aaGJITmxEUXA5S1RzTkNqd3ZjMk55YVhCMFBnPT08L3RwbG1vYmlsZWpzPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vYmxhbmsuZ2lmPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtSMGxHT0RsaEFRQUJBSUFBQVAvLy93QUFBQ0g1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlDUkFFQU93PT1dXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9mYW5jeWJveF9sb2FkaW5nLmdpZjwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbUjBsR09EbGhHQUFZQVBjSUFEbzZPa1ZGUlRRME5Nbkp5ZFBUMDR5TWpDOHZMN3k4dkIwZEhYbDVlWDUrZnU3dTdsSlNVcUdob1EwTkRTc3JLNjJ0cmVYbDVaU1VsTUxDd2hnWUdLZW5wN1MwdEx1N3UvWDE5ZnI2K2tORFE1eWNuQklTRWdRRUJGdGJXN0d4c1JjWEZ6QXdNQ01qSTJabVpvYUdoa3RMUzgzTnpRb0tDbHhjWEUxTlRjN096aFFVRkdWbFpRVUZCVlJVVkc5dmJ4a1pHWldWbGVibTV0emMzTlRVMU9MaTRqRXhNVmxaV1VCQVFKNmVuaVltSnFLaW9wcWFtb2VIaDYrdnI4UER3d2tKQ1Q4L1A1T1RrdzhQRHlrcEtSQVFFQ0VoSVltSmlZaUlpQ1FrSkYxZFhTMHRMU0FnSUxDd3NBZ0lDQkVSRVRNek00V0ZoYjI5dlNvcUtnc0xDNk9qbzcrL3Y1bVptZlQwOVBuNStUZzRPTGEydHJxNnV0RFEwQ0lpSXAyZG5hdXJxd3dNREQwOVBVZEhSNjZ1cmtSRVJFeE1UTlhWMWVIaDRaYVdsaE1URTl2YjI4L1B6enc4UEtDZ29CWVdGcXlzckw2K3ZscGFXbTV1YnArZm4wWkdSc0RBd0p1Ym16NCtQZzRPRGprNU9aQ1FrQVlHQmljbkp5d3NMREl5TW5oNGVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0gvQzA1RlZGTkRRVkJGTWk0d0F3RUFBQUFoL2kxTllXUmxJR0o1SUV0eVlYTnBiV2x5WVNCT1pXcGphR1YyWVNBb2QzZDNMbXh2WVdScGJtWnZMbTVsZENrQUlma0VCUW9BQ0FBc0FBQUFBQmdBR0FBQUIvK0FDSUtEaEFnMk5vV0ppVUF0Z2tNSEIwT0treXM4TDQ0cUtwSUlNRWFOa3dnckJ6UUdDRU9aa2tBMlJKK2dMakpDTGFlYW5BSkZsQ3VDUURzMUFVQ29SUUk2Z3kydExRVStLVUFJQURNeFFEYzNMVVkya2kxRlJFYkVMRDhFTVFKQUtjT0RRTGRBT2dJMk1JVkVQU29EQVpORGgwYkxpUzA0UjlxS1FFYTNoVUFDTXJJSFNsQXhRVWFFOEZpWUkwakJJZ2FJU0NUU0w4YU9IQmh4UENRU2tZaU9WRU9BaEd3MXFkSEJSRU04VGVyM2J4RTFHeTBMRmFGSFVCQU1HOElraFNSMHpSUTZkWVNNRUNuU1NKVzJJcmVvYlZxUmpXY3JkTGM0eXJLeEQ4SEpSRE8xdFpDSTBGWkJxMFJzTE52S3l0UXFrdmVNckJNVWNWQW50RjhJZFJENStsWGsxMEFBSWZrRUJRb0FCZ0FzQUFBQUFCZ0FHQUFBQi8rQUJvS0RoQzFMRDRTSmlvSXRUb0pPVFJBT2pDMkxpUVVzZ2c1U1VwTUdDUlVVbG9NUUU0aWJuUVpRRVNxaW93WXBCRkV0cUE0dERSbEtsazlQanhJcUdrNmNUaWtZVFk2TENodkJCZ0lEU0U0TURFNE5DeHFDVHc5TWhFcE5VbEZMVGdGSmhBOE10RWxRVUJTVmcwa0tGeFlBdStwTXlJb0FDZ2lXVGt5ZWhRYmF0WHMxcUpLVEpBOFNMdWsxNnNtaGhFbWNPRWp5OEFIRFhROFBUV3BSYVNCQmo0bWViTFBVZ3NuRlJFNFFxRHRKNkFrVUFmWVNVVkNYWkpJdFFoSU5UQlFBWlFVaEpnczFRZG5HeXdBVEtCdFhhQ09aUkVDdkIwdG9DU0JIME1BVG1JSVNDbUlpd0NkQnFNaTA2bHl5cENvVFZ5MFN0cU13c3VvZ3NXNEdGem01WnlrUUFDSDVCQVVLQUFJQUxBQUFBQUFZQUJnQUFBZi9nQUtDZzRRQ1UwbUZpWWtkSFlKVURRMVVqbzJLZ3h3S0hvSmhaR1JoZ2k5WElKV0NIRjlraUp0Z25nWTBYS0tqQW1OV0NRSlVaR0NTTVRJdWxZeU9TRnhhdHJnQk5aR0NNRENFWGxNY2dqWmJDVlJqWTFReE13QUNZUjVkVlpMSU5qWkpZUjFpQ0lSVDFXSWZXVElKbEk0SVdqYWVpZ3dMV0EwMmxXRmUzNGxUcXFTQU40Z1NRVVVHQjFHWndwQ2hzMUVjREV5Uk9JWEtRb1lTSDFiaTBGRGlQMWlMSUNMNFNJZ0tnbnFKd3NpanR6R2N2MEl3RElnakYrWWpGVTloa21neDhFcVFGd01Qdzlqd0lvQ0RNd1FHNm5Fa1dwQ2dGazhNaTJvaDVFc1JCeTFFTzBRVjRFV0x4bDRUdnpGc1JFWGl3VUlkdkNnVG9IWEtJQmhlQzg3Q1N1SVdKQ3lMSUFNQkFDSDVCQVVLQUFBQUxBSUFBQUFXQUJjQUFBZmVnQUNDZzRNaUlvU0lpWWdTQllxS0hTSXdnZzQ1VjFTQ0l3VWNqaDFUSVpkVWxaZFRFeEJxamdCcUFvZVVWeDBkSkFSbXFJSTZJUTZobGpoc0VvU25BSWVERGlFaUhUZzRIVWdEQWdCVUxoT3VnaUVoT2c0ZEhCMkVJbVZVQWxVUlp5K1hnaUlDdDQ1bWEyaHBENGtPd1lvNmFXV0oyYlNDVkZRT0hBNE9BQThBMjlHNndhWWdHeXNQcGt3Uk9OQWdtd2toQk5tanBhOWZQMElPSktHQzRROFJsWElDT2lxYUJpOVZDQUhWcnJrRDRFQ0hPWTA2SHZ4eUlFQWp1WE9wcHBRY1pHc1RJV3IzQUt4S0pDTGlQWWFJa01hanRaT1dEa1FUQndVQ0FDSDVCQVVLQUFFQUxBSUFBQUFXQUJjQUFBZlJnQUdDZzROVVZJU0lpWWhUU1lNZGlvZ1VnMU5UandGS0NwQ0pIWlNEUGp3Y21xR1RsUjBLRjJXYUFSMUpJUndkRDFOVWJSYzlneXNybWdnZEhLOEtGZytDWmhaSWdoUWhBbzBCRG9lRENBQlVJVEVFUHl5V2dpR3FaUU1xU0ZPcWlpSTliZUNxRHVmTUFaU2RxZ3cvRnhjL0Z1dFR3ZTN3OE1EbGtNMkRJdGVJSHV3d0EzQlFDRmVRR0N6QXNpT0VKVWtCbEswaTFNRkJoeklXc3NoSThFakVnMUVCUWlBUWxFdlFJU3BLVkZUb0o0Z1ZJa3NpQmxHQVNLaWtJSHUzd0lWd3NDK1JDSnFSZWdwS2txUWdva0FBSWZrRUJRb0FBQUFzQUFBQUFCZ0FHQUFBQjh1QUFJS0RoQUJBUUlXSmlva2RpNDZGUzRNVUlvMlBnZzZDUzFPTlFKcVZsb29pQWh5Z2hWT0NIQ0ZKZzIra2p5S0VJa3VZUUhWMENwYWZoZzRkSVVoeEVIS0ZpSlpCVzF3SnE0N0VpUWdKV282Nml4MkhEb2VHVTlsVGtZOHBFTjl3YmxOQTJwcVdKZC9mNG9MU3k0ZEExb211aTFNeGRZdk1qaWt6YURIY3BZS211QUNpcFVxRU0zTWdGWUlGZ0VNSE53c0NHSEpoSWtZN1FwZ0dwY0FBZ2RpYk40dEFEanBseUUwR1lhVVFkZGdtS0VRRUV4UUFadG9rS0VHVm1BQTdKQ0ZwS0Y5S240a0NBUUFoK1FRRkNnQUJBQ3dBQUFBQUdBQVlBQUFIMFlBQmdvT0VBVlJVaFltS2hBK0xqb0l3Z3crTmtJK1NJWWdCazRKVUJwU1BLNHlmbG91Ymd4MkNIYWlNbGdhREhBWWloSkdFSElXWkRra0NJYUdFbVk4Y0lTRWl2NHJGaEIwaURxU1dWQTdPaUZTVGs2NlBaWGZZYmtMRTA2YU9BSGM4UEhmYnpMNkhWQjNIQVE3RWl5SklBSXVaQnN1S1pRTUVQYU1CdElQUGhKS2tvQklpQmdFN0xBcU5pdFhoeGcwcU1XYklvNUxDUndGU0RsU29vRktteGc1N0szb2xFcGxSaFlNT1FtUzRJUFVneExLU3l3elFPQ0RTRVMwSEJFd0tlc0hESDBZN2R1eXBNemRJbUtWQUFDSDVCQVVLQUNrQUxBQUFBQUFZQUJnQUFBYXR3SlJ3U0V5ZFRzV2tjc2xVVXBiUEp0R1JSRXFGbktzMjZSQnNtYUVteGREc1pJVWhBNmhvVFozTFN3NmlyWHdQTzE4bC9jb3hQUHdQUjNrY2Z3K0dlMWQ0VFJ3aWlFSUlDVXlPUlFBV0Z3cEpJQVpoUWd3UFJDSUJIUVlrQnhBb1JXUkNHZ3NOSnd3TUp5UURYaWNCRzVoNkh4Z2xKd2NISnhvRUVsWWNka1FlR1EwZERyOG5IU1FFSlZJVUpoR2NFd2RDRHhNUWEwd1VGWkZDdjBNakJjZEpIVlluSHg5dGlsOS9Va0VBSWZrRUJRb0FBQUFzQUFBQUFCZ0FHQUFBQjltQUFJS0RoQUJVVklXSmlvdU1pVjZOU1kyRWlJVlVENUtFajRXYW1BQ2NneHdoalo5RElaOWVJVU9ERDU4QW9nQkRIVU9VZzdGRFNRSWhGSld0aVVNUEFsNjBoVVBDaTFTOW5ZVWRnc3lHRDlEUW1OSFFWTTdLZ3RGSnFzdVlIZGVFSFNrN2w0b2RYdHpMSVR0WUN3eUxvYWJESFFreVdSOTRWQ1dSZ3doNEhWUnc2UnBFcFVJWEQ0aTB6SWloTHdXOUxhODRzQ0pFWVplaEhUVUNVQUVEaDRxV0EwZ29mVnZFUUVZTWdCeXRKYkFTUU5LYkF6UXVEUUVEQmxFU09GODROSHB6NVlXZ21XQzRlVkRRaVJLVkhUdUdZUnZFajFFZ0FDSDVCQVVLQUFBQUxBQUFBQUFZQUJnQUFBZmpnQUNDZzRRQVFFQ0ZpWXFETFVrUGk0c3RJb2t0Z3lLVmtJSTJlUUNZZ2tBMkQ1NlprNHdBSWdKcWtaNUpOaHllZVRhRUxhT2xnckdUcXFjR25KYUZCcmNBZWFNdG5IbXRzb1ZBSWpiSmlyRTJJb2lLSEREVGxMYUVlZHZibVlXWU5uWXE0eW8zM2dZUDZROUFCbGJrNWQ2RDZNYmNlZGVRbzdNQmFVbVJJcjJKREtSQnM4WU1wR2JTWnIwNEU2R0tIaUFCc2dIaElFelRMQjUyWENBU01BQkpDeHc0V3NEWVJDaWJMa05wVklUa2tRTklySDZDYUMweWM4WWpFSmFjVUZITXBBYUNuVThzRWJFVHhiUEFDS0E1ZXFtNTVBMElKaUI3MHR5TFZ5amJva0FBSWZrRUJRb0FBUUFzQUFBQUFCZ0FHQUFBQi9lQUFZS0RoQUZVVklXSmlvUkVSSXVMZklXTmtZT1VrRVFoaUh5TmdsUitSSmFQaEg1K2xDRWNpeFFVZ3lJaFladEVWR0VoZlpSOGxud1ZYUjVoQWJPQ3FJS3VnNDZWQ1RKWkgySjhZWWlWcUdGOUFpRXJoU0U3V0FzTWk3TUNJczZGZkdZN3hZbWhoR0hwemVDUGZGU1VmaDhYY2ZUYm9wOUVuNTRmOVBXaUFZMEM5bEszN2wrQVcrY09pa0VpWWhFVkJMMFVFZW1oWWtDWlJ5RkNmQ1BFaDhXUExqRUVVQUdBZ0pBc1g5SkNjQ3pnd3d3aVB4WVM4T0dBQ3NHd0FDdktDVnBSelZDUE9BQUFPdUpBcTFKQ1FXWGl5T1R6NmVnaURqeDhGSnRrcUtrb0RnbzhDSUkxYUlVSXAwWUg5ZEZwTU5HaGY0RUFBQ0g1QkFVS0FBQUFMQUFBQUFBWUFCZ0FBQWovQUFFSUhFZ1F3SWtUQlJNbTVJTlFZSjgrQ2lNQ29GQWh3Y0FwVXdneWtTaVFnb2tJZndSaTVHTndTVWFPQUZCa3FJSnd5aEtCVFA0VWlmam1qY0F3VFRDazRJTlJZRWlKVitLNFFCaGtRUlUrUldiR0hGaGt5c2FCYzg1RXFLTGxCQU9JQTAvTVBOSG56eDhLQlpla1FUT2pSTVFpWHBtRWlSZ2dEZGFFSjlRcVBFZ1hwVUErZUFGTXFRSUJEaHdJWmlVV01ZbXhEOWNxZmlFQTVqZ1lJMGFFZE92YWxhZ0ZFSUtJY1djcTdKT0F5NVlnRWNQOEVjQ2s0VUE1RU9JZytZUFVOQUNrQTcwV1ZFQW5BT1EvVEpBcS9RbmdqVk9DUld3Ni9MUFdKWjh3QWlZRFFOc0hyMHVZQWpSTDVMbWs0Zk9TSjZjekFTdHlDc21KVDVYckNIMHJudUJCbEFFQkFEcz1dXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9mYW5jeWJveF9vdmVybGF5LnBuZzwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQTJacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TXkxak1ERXhJRFkyTGpFME5UWTJNU3dnTWpBeE1pOHdNaTh3TmkweE5EbzFOam95TnlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM4aUlIaHRjRTFOT2s5eWFXZHBibUZzUkc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRwQ01FTTRORGd6UWpsRFJUTkZNVEV4T0RFNE5VVkRPVGRGUTBJMFJEZ3hSU0lnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRHBHUkVVNU9FVkNRekF6TWpZeE1VVXlPVGc1T1VSRE1EbERSVEpETVRjMFJTSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEcEdSRVU1T0VWQ1FqQXpNall4TVVVeU9UZzVPVVJETURsRFJUSkRNVGMwUlNJZ2VHMXdPa055WldGMGIzSlViMjlzUFNKQlpHOWlaU0JRYUc5MGIzTm9iM0FnUTFNMklDaFhhVzVrYjNkektTSStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa0l4UXpnME9ETkNPVU5GTTBVeE1URTRNVGcxUlVNNU4wVkRRalJFT0RGRklpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09rSXdRemcwT0ROQ09VTkZNMFV4TVRFNE1UZzFSVU01TjBWRFFqUkVPREZGSWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K3MzWVJBUUFBQUJ0SlJFRlVlTnBpRk9EaDJjQkFCR0JpSUJLTUtxU09Rb0FBQXdCb2tRRHM1Ri84RkFBQUFBQkpSVTVFcmtKZ2dnPT1dXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9mYW5jeWJveF9zcHJpdGUucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ3dBQUFDWUNBTUFBQUNvQWZ0UUFBQUF2VkJNVkVVQUFBQUFBQUFBQUFBT0RnNEFBQUFBQUFBQUFBRE56YzBCQVFIWjJka0RBd01IQndjQUFBRGYzOThDQWdJL1B6OEJBUUVBQUFDQ2dvSWNIQnpsNWVVQUFBQy92Ny94OGZFR0JnWm5aMmNBQUFEczdPd0dCZ2I0K1BnL1B6L0p5Y21lbnA1bloyZjM5L2VEZzRNQUFBRFEwTkQ0K1BpdXJxN2EydHI4L1B6czdPd0FBQUQ1K2ZuOS9mM2UzdDRBQUFELy8vOU9UazdCd2NFMU5UV3NyS3lOalkyY25KeDZlbnBkWFYxb2FHZ3NMQ3k2dXJvaUlpTE96czVCUVVGdDNQQ05BQUFBTDNSU1RsTUFBUU1JRFJJWkhTTW5MVHBFU0ZOVlhXbHBiRzE1ZW4rSGlaQ1dvYUdzc3JPMnZzREZ5ZFBVM3VMNCtmcjkvWXd2NnhzQUFBUVZTVVJCVkhoZTdKWmJjNkpNR0lRWEFVT1FFTWkzdU1Za3Jtb3BaZ3FzNXVqWi8vK3p2cGROek1zTWxsaTFOM3VSdnRDYnB6bzlJK25taHlxTjlPTzZHTlE2SGExU0cwbWNyaHNrWGU5MHJ2S0U2a2JYN3I5TUY0dnAyODg3bmZCcnFQVzB4SmVtRDR3MzJlN2pISWoyNjAyU2JOWjdRZmdkMHpKTHRnS2kyQjArdFNzRTNoOHUwUlg3SEdHZkhXcks5b2lJYnJLNjlTaVFIeFRsaU81Vld0UDByck5FZW1ob2o2bXVhWXF4Mlh1R3lKcndiZ1VLb2hoYjNoSUZNNndDQzdabTQrTTVaczVmcEtOaVRZbmRFT1VIREZSWUNlQURMdkdpeTdEdEw3RTUvMTJnSlBhY2FsUGxxRWMyZW9GQWRtQ2EyVU9HeU9ob1V1UWd3bzdQeEN3Sk1HWFlHY1FNbHlDVlgzRGNoQ2tHczNWNmgwaUZneVVTWnN1UzZRUUxHYVlEaHVlVUh4aGYzUnB6T3FCOGRSTWN6ODRsZjVGUzlBMU5naTJQUW04UEY3UkJaT25FeXFGblNDL0JLWDZiSFFtdWNwQjEzbVJ6Q0p0VHNQVW93bHBsMTRpZjJKaWZVWGN3Z2VxZEEyT0xuMUMrUGRzYnpDS2tXMGEzS2VLeGJiQXhGNEZKOUVnQWFYR3F5Rk9SQXVMWk5ya01aTm9OS25OUzlQRTVkcGx0Rm9makI0UEpYSUFrNXJQL0hNdTRVa21tN1hqRWt3TGZjMnlUNjZ0Sms3bHAyVDJIMUxNdGsyd1ZWc1dwY0UwU2xXNERiZUxFL3hHM2VSdmZRdjdGcHR3NEt2cEROUktMdDEvM3JadHkveGJqclBlZjErNUQwMThJVFl0dGtpVHJmQVVzcm16SzNSVElUL3dvSHhIM0RhWmw5aDJyUkgyYVgweWRhWWIxQlZLMXpOZEEzMlJ2Tm43RGtWbW1veWVWSnZZQk1jZGw1VmcyL2xXMHpwU2JVTklLVDEyS0xWOHdWanNtTnZHVzYzZmVVM3FqODZ2ZUdRbUFBMWU1cXpiU3ROWmRtVlRsUnp6YlNqRys0K3Q0dTFpcWp4eGpSNnBjemFpTkJDQ1ZYb0d4MjVYN21VTkdnSkJITS9Rc1hXcCtkazRVNXhKalg0RVhTTTdBQ2NDeG5ubm0yekk4cnhWb0ZnTXIvbFV3VXB5TlB2WVZ4L2VSZmFVU1F6a3pMV3hFT1ZoaXd5bkNBZDJHdkNtLzJicXVCUEVvK0x4bkR2MFlYZHlmRk9IUVArOEVWL2tZMGVuU29yeHlpdG9MeHh3aWFiRFJxREltV0YySkpWQkllVk5FazJIZ3NER243dmtoY1B5NjdsTU9pQkdGNEFHUzN0WDh5WXFBZmI1ZUYva1JpTVBYNGNEakVETGQ4d2V6SlQ0bHd0SHJNSEJ0Ymc2VjlvTGhZRFlMdzNBMmVTVmJuMGVsU2RNQ2VjRmcrRWUwS3E3ZGxmdExYU0NyUnhORThsekg3aHAwTnUzcXBIUXR5N1p0cTJzYWJIdnRwYi9TTGF1aXNWVHllMU8rTjJVYmJ4aHUyeFNBcTZ4MVV3b0FXZnVtOFAzR3U1Wk5ZYVVBMmphRkpZQ29mVlBZT1duWkZENFRjTHB4VTFaQW5OMjRLUm5meFEyYnNoRUUvVnViOHIwcDM1dmkvdDllSFJvQkRNTlFESlV2TUxrT2tETU0rOEQ3YjljUitrT0tMUHk0anVvam5RZUFrV1dWQXlMTExJTlZkb3ZqNDROOExPcWkvM0RqeG8wYk41WnZkYldKdXdIaHJ3MklMWWRxQndEVDJmRUVYdHJaRm1WY0NXTGlBQUFBQUVsRlRrU3VRbUNDXV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vanF1ZXJ5LmZhbmN5Ym94LXRodW1icy5qczwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbSUM4cUlRb2dLaUJVYUhWdFltNWhhV3dnYUdWc2NHVnlJR1p2Y2lCbVlXNWplVUp2ZUFvZ0tpQjJaWEp6YVc5dU9pQXhMakF1TnlBb1RXOXVMQ0F3TVNCUFkzUWdNakF4TWlrS0lDb2dRSEpsY1hWcGNtVnpJR1poYm1ONVFtOTRJSFl5TGpBZ2IzSWdiR0YwWlhJS0lDb0tJQ29nVlhOaFoyVTZDaUFxSUNBZ0lDQWtLQ0l1Wm1GdVkzbGliM2dpS1M1bVlXNWplV0p2ZUNoN0NpQXFJQ0FnSUNBZ0lDQWdhR1ZzY0dWeWN5QTZJSHNLSUNvZ0lDQWdJQ0FnSUNBZ0lDQWdkR2gxYldKek9pQjdDaUFxSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IzYVdSMGFDQWdPaUExTUN3S0lDb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHaGxhV2RvZENBNklEVXdDaUFxSUNBZ0lDQWdJQ0FnSUNBZ0lIMEtJQ29nSUNBZ0lDQWdJQ0I5Q2lBcUlDQWdJQ0I5S1RzS0lDb0tJQ292Q2lobWRXNWpkR2x2YmlBb0pDa2dld29KTHk5VGFHOXlkR04xZENCbWIzSWdabUZ1WTNsQ2IzZ2diMkpxWldOMENnbDJZWElnUmlBOUlDUXVabUZ1WTNsaWIzZzdDZ29KTHk5QlpHUWdhR1ZzY0dWeUlHOWlhbVZqZEFvSlJpNW9aV3h3WlhKekxuUm9kVzFpY3lBOUlIc0tDUWxrWldaaGRXeDBjeUE2SUhzS0NRa0pkMmxrZEdnZ0lDQWdPaUExTUN3Z0lDQWdJQ0FnTHk4Z2RHaDFiV0p1WVdsc0lIZHBaSFJvQ2drSkNXaGxhV2RvZENBZ0lEb2dOVEFzSUNBZ0lDQWdJQzh2SUhSb2RXMWlibUZwYkNCb1pXbG5hSFFLQ1FrSmNHOXphWFJwYjI0Z09pQW5ZbTkwZEc5dEp5d2dMeThnSjNSdmNDY2diM0lnSjJKdmRIUnZiU2NLQ1FrSmMyOTFjbU5sSUNBZ09pQm1kVzVqZEdsdmJpQW9JR2wwWlcwZ0tTQjdJQ0F2THlCbWRXNWpkR2x2YmlCMGJ5QnZZblJoYVc0Z2RHaGxJRlZTVENCdlppQjBhR1VnZEdoMWJXSnVZV2xzSUdsdFlXZGxDZ2tKQ1FsMllYSWdhSEpsWmpzS0Nna0pDUWxwWmlBb2FYUmxiUzVsYkdWdFpXNTBLU0I3Q2drSkNRa0phSEpsWmlBOUlDUW9hWFJsYlM1bGJHVnRaVzUwS1M1bWFXNWtLQ2RwYldjbktTNWhkSFJ5S0NkemNtTW5LVHNLQ1FrSkNYMEtDZ2tKQ1FscFppQW9JV2h5WldZZ0ppWWdhWFJsYlM1MGVYQmxJRDA5UFNBbmFXMWhaMlVuSUNZbUlHbDBaVzB1YUhKbFppa2dld29KQ1FrSkNXaHlaV1lnUFNCcGRHVnRMbWh5WldZN0Nna0pDUWw5Q2dvSkNRa0pjbVYwZFhKdUlHaHlaV1k3Q2drSkNYMEtDUWw5TEFvS0NRbDNjbUZ3SUNBNklHNTFiR3dzQ2drSmJHbHpkQ0FnT2lCdWRXeHNMQW9KQ1hkcFpIUm9JRG9nTUN3S0Nna0phVzVwZERvZ1puVnVZM1JwYjI0Z0tHOXdkSE1zSUc5aWFpa2dld29KQ1FsMllYSWdkR2hoZENBOUlIUm9hWE1zQ2drSkNRbHNhWE4wTEFvSkNRa0pkR2gxYldKWGFXUjBhQ0FnUFNCdmNIUnpMbmRwWkhSb0xBb0pDUWtKZEdoMWJXSklaV2xuYUhRZ1BTQnZjSFJ6TG1obGFXZG9kQ3dLQ1FrSkNYUm9kVzFpVTI5MWNtTmxJRDBnYjNCMGN5NXpiM1Z5WTJVN0Nnb0pDUWt2TDBKMWFXeGtJR3hwYzNRZ2MzUnlkV04wZFhKbENna0pDV3hwYzNRZ1BTQW5KenNLQ2drSkNXWnZjaUFvZG1GeUlHNGdQU0F3T3lCdUlEd2diMkpxTG1keWIzVndMbXhsYm1kMGFEc2diaXNyS1NCN0Nna0pDUWxzYVhOMElDczlJQ2M4YkdrK1BHRWdjM1I1YkdVOUluZHBaSFJvT2ljZ0t5QjBhSFZ0WWxkcFpIUm9JQ3NnSjNCNE8yaGxhV2RvZERvbklDc2dkR2gxYldKSVpXbG5hSFFnS3lBbmNIZzdJaUJvY21WbVBTSnFZWFpoYzJOeWFYQjBPbXBSZFdWeWVTNW1ZVzVqZVdKdmVDNXFkVzF3ZEc4b0p5QXJJRzRnS3lBbktUc2lQand2WVQ0OEwyeHBQaWM3Q2drSkNYMEtDZ2tKQ1hSb2FYTXVkM0poY0NBOUlDUW9KenhrYVhZZ2FXUTlJbVpoYm1ONVltOTRMWFJvZFcxaWN5SStQQzlrYVhZK0p5a3VZV1JrUTJ4aGMzTW9iM0IwY3k1d2IzTnBkR2x2YmlrdVlYQndaVzVrVkc4b0oySnZaSGtuS1RzS0NRa0pkR2hwY3k1c2FYTjBJRDBnSkNnblBIVnNQaWNnS3lCc2FYTjBJQ3NnSnp3dmRXdytKeWt1WVhCd1pXNWtWRzhvZEdocGN5NTNjbUZ3S1RzS0Nna0pDUzh2VEc5aFpDQmxZV05vSUhSb2RXMWlibUZwYkFvSkNRa2tMbVZoWTJnb2IySnFMbWR5YjNWd0xDQm1kVzVqZEdsdmJpQW9hU2tnZXdvSkNRa0pkbUZ5SUdoeVpXWWdQU0IwYUhWdFlsTnZkWEpqWlNnZ2IySnFMbWR5YjNWd1d5QnBJRjBnS1RzS0Nna0pDUWxwWmlBb0lXaHlaV1lwSUhzS0NRa0pDUWx5WlhSMWNtNDdDZ2tKQ1FsOUNnb0pDUWtKSkNnaVBHbHRaeUF2UGlJcExteHZZV1FvWm5WdVkzUnBiMjRnS0NrZ2V3b0pDUWtKQ1haaGNpQjNhV1IwYUNBZ1BTQjBhR2x6TG5kcFpIUm9MQW9KQ1FrSkNRbG9aV2xuYUhRZ1BTQjBhR2x6TG1obGFXZG9kQ3dLQ1FrSkNRa0pkMmxrZEdoU1lYUnBieXdnYUdWcFoyaDBVbUYwYVc4c0lIQmhjbVZ1ZERzS0Nna0pDUWtKYVdZZ0tDRjBhR0YwTG14cGMzUWdmSHdnSVhkcFpIUm9JSHg4SUNGb1pXbG5hSFFwSUhzS0NRa0pDUWtKY21WMGRYSnVPd29KQ1FrSkNYMEtDZ2tKQ1FrSkx5OURZV3hqZFd4aGRHVWdkR2gxYldKdVlXbHNJSGRwWkhSb0wyaGxhV2RvZENCaGJtUWdZMlZ1ZEdWeUlHbDBDZ2tKQ1FrSmQybGtkR2hTWVhScGJ5QWdQU0IzYVdSMGFDQXZJSFJvZFcxaVYybGtkR2c3Q2drSkNRa0phR1ZwWjJoMFVtRjBhVzhnUFNCb1pXbG5hSFFnTHlCMGFIVnRZa2hsYVdkb2REc0tDZ2tKQ1FrSmNHRnlaVzUwSUQwZ2RHaGhkQzVzYVhOMExtTm9hV3hrY21WdUtDa3VaWEVvYVNrdVptbHVaQ2duWVNjcE93b0tDUWtKQ1FscFppQW9kMmxrZEdoU1lYUnBieUErUFNBeElDWW1JR2hsYVdkb2RGSmhkR2x2SUQ0OUlERXBJSHNLQ1FrSkNRa0phV1lnS0hkcFpIUm9VbUYwYVc4Z1BpQm9aV2xuYUhSU1lYUnBieWtnZXdvSkNRa0pDUWtKZDJsa2RHZ2dJRDBnVFdGMGFDNW1iRzl2Y2loM2FXUjBhQ0F2SUdobGFXZG9kRkpoZEdsdktUc0tDUWtKQ1FrSkNXaGxhV2RvZENBOUlIUm9kVzFpU0dWcFoyaDBPd29LQ1FrSkNRa0pmU0JsYkhObElIc0tDUWtKQ1FrSkNYZHBaSFJvSUNBOUlIUm9kVzFpVjJsa2RHZzdDZ2tKQ1FrSkNRbG9aV2xuYUhRZ1BTQk5ZWFJvTG1ac2IyOXlLR2hsYVdkb2RDQXZJSGRwWkhSb1VtRjBhVzhwT3dvSkNRa0pDUWw5Q2drSkNRa0pmUW9LQ1FrSkNRa2tLSFJvYVhNcExtTnpjeWg3Q2drSkNRa0pDWGRwWkhSb0lDQTZJSGRwWkhSb0xBb0pDUWtKQ1Fsb1pXbG5hSFFnT2lCb1pXbG5hSFFzQ2drSkNRa0pDWFJ2Y0NBZ0lDQTZJRTFoZEdndVpteHZiM0lvZEdoMWJXSklaV2xuYUhRZ0x5QXlJQzBnYUdWcFoyaDBJQzhnTWlrc0Nna0pDUWtKQ1d4bFpuUWdJQ0E2SUUxaGRHZ3VabXh2YjNJb2RHaDFiV0pYYVdSMGFDQXZJRElnTFNCM2FXUjBhQ0F2SURJcENna0pDUWtKZlNrN0Nnb0pDUWtKQ1hCaGNtVnVkQzUzYVdSMGFDaDBhSFZ0WWxkcFpIUm9LUzVvWldsbmFIUW9kR2gxYldKSVpXbG5hSFFwT3dvS0NRa0pDUWtrS0hSb2FYTXBMbWhwWkdVb0tTNWhjSEJsYm1SVWJ5aHdZWEpsYm5RcExtWmhaR1ZKYmlnek1EQXBPd29LQ1FrSkNYMHBMbUYwZEhJb0ozTnlZeWNzSUdoeVpXWXBPd29KQ1FsOUtUc0tDZ2tKQ1M4dlUyVjBJR2x1YVhScFlXd2dkMmxrZEdnS0NRa0pkR2hwY3k1M2FXUjBhQ0E5SUhSb2FYTXViR2x6ZEM1amFHbHNaSEpsYmlncExtVnhLREFwTG05MWRHVnlWMmxrZEdnb2RISjFaU2s3Q2dvSkNRbDBhR2x6TG14cGMzUXVkMmxrZEdnb2RHaHBjeTUzYVdSMGFDQXFJQ2h2WW1vdVozSnZkWEF1YkdWdVozUm9JQ3NnTVNrcExtTnpjeWduYkdWbWRDY3NJRTFoZEdndVpteHZiM0lvSkNoM2FXNWtiM2NwTG5kcFpIUm9LQ2tnS2lBd0xqVWdMU0FvYjJKcUxtbHVaR1Y0SUNvZ2RHaHBjeTUzYVdSMGFDQXJJSFJvYVhNdWQybGtkR2dnS2lBd0xqVXBLU2s3Q2drSmZTd0tDZ2tKWW1WbWIzSmxURzloWkRvZ1puVnVZM1JwYjI0Z0tHOXdkSE1zSUc5aWFpa2dld29KQ1FrdkwxSmxiVzkyWlNCelpXeG1JR2xtSUdkaGJHeGxjbmtnWkc4Z2JtOTBJR2hoZG1VZ1lYUWdiR1ZoYzNRZ2RIZHZJR2wwWlcxekNna0pDV2xtSUNodlltb3VaM0p2ZFhBdWJHVnVaM1JvSUR3Z01pa2dld29KQ1FrSmIySnFMbWhsYkhCbGNuTXVkR2gxYldKeklEMGdabUZzYzJVN0Nnb0pDUWtKY21WMGRYSnVPd29KQ1FsOUNnb0pDUWt2TDBsdVkzSmxZWE5sSUdKdmRIUnZiU0J0WVhKbmFXNGdkRzhnWjJsMlpTQnpjR0ZqWlNCbWIzSWdkR2gxYldKekNna0pDVzlpYWk1dFlYSm5hVzViSUc5d2RITXVjRzl6YVhScGIyNGdQVDA5SUNkMGIzQW5JRDhnTUNBNklESWdYU0FyUFNBb0tHOXdkSE11YUdWcFoyaDBLU0FySURFMUtUc0tDUWw5TEFvS0NRbGhablJsY2xOb2IzYzZJR1oxYm1OMGFXOXVJQ2h2Y0hSekxDQnZZbW9wSUhzS0NRa0pMeTlEYUdWamF5QnBaaUJsZUdsemRITWdZVzVrSUdOeVpXRjBaU0J2Y2lCMWNHUmhkR1VnYkdsemRBb0pDUWxwWmlBb2RHaHBjeTVzYVhOMEtTQjdDZ2tKQ1FsMGFHbHpMbTl1VlhCa1lYUmxLRzl3ZEhNc0lHOWlhaWs3Q2dvSkNRbDlJR1ZzYzJVZ2V3b0pDUWtKZEdocGN5NXBibWwwS0c5d2RITXNJRzlpYWlrN0Nna0pDWDBLQ2drSkNTOHZVMlYwSUdGamRHbDJaU0JsYkdWdFpXNTBDZ2tKQ1hSb2FYTXViR2x6ZEM1amFHbHNaSEpsYmlncExuSmxiVzkyWlVOc1lYTnpLQ2RoWTNScGRtVW5LUzVsY1Nodlltb3VhVzVrWlhncExtRmtaRU5zWVhOektDZGhZM1JwZG1VbktUc0tDUWw5TEFvS0NRa3ZMME5sYm5SbGNpQnNhWE4wQ2drSmIyNVZjR1JoZEdVNklHWjFibU4wYVc5dUlDaHZjSFJ6TENCdlltb3BJSHNLQ1FrSmFXWWdLSFJvYVhNdWJHbHpkQ2tnZXdvSkNRa0pkR2hwY3k1c2FYTjBMbk4wYjNBb2RISjFaU2t1WVc1cGJXRjBaU2g3Q2drSkNRa0pKMnhsWm5Rbk9pQk5ZWFJvTG1ac2IyOXlLQ1FvZDJsdVpHOTNLUzUzYVdSMGFDZ3BJQ29nTUM0MUlDMGdLRzlpYWk1cGJtUmxlQ0FxSUhSb2FYTXVkMmxrZEdnZ0t5QjBhR2x6TG5kcFpIUm9JQ29nTUM0MUtTa0tDUWtKQ1gwc0lERTFNQ2s3Q2drSkNYMEtDUWw5TEFvS0NRbGlaV1p2Y21WRGJHOXpaVG9nWm5WdVkzUnBiMjRnS0NrZ2V3b0pDUWxwWmlBb2RHaHBjeTUzY21Gd0tTQjdDZ2tKQ1FsMGFHbHpMbmR5WVhBdWNtVnRiM1psS0NrN0Nna0pDWDBLQ2drSkNYUm9hWE11ZDNKaGNDQWdQU0J1ZFd4c093b0pDUWwwYUdsekxteHBjM1FnSUQwZ2JuVnNiRHNLQ1FrSmRHaHBjeTUzYVdSMGFDQTlJREE3Q2drSmZRb0pmUW9LZlNocVVYVmxjbmtwS1RzPV1dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L2pxdWVyeS5mYW5jeWJveC5wYWNrLmpzPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtMeW9oSUdaaGJtTjVRbTk0SUhZeUxqRXVNeUJtWVc1amVXRndjSE11WTI5dElId2dabUZ1WTNsaGNIQnpMbU52YlM5bVlXNWplV0p2ZUM4amJHbGpaVzV6WlNBcUx3b29ablZ1WTNScGIyNG9RaXg0TEdZc2NTbDdkbUZ5SUhJOVppaENLU3h0UFdZb2VDa3NZajFtTG1aaGJtTjVZbTk0UFdaMWJtTjBhVzl1S0NsN1lpNXZjR1Z1TG1Gd2NHeDVLSFJvYVhNc1lYSm5kVzFsYm5SektYMHNkVDF1ZFd4c0xHNDllQzVqY21WaGRHVlViM1ZqYUNFOVBYRXNjejFtZFc1amRHbHZiaWhoS1h0eVpYUjFjbTRnWVNZbVlTNW9ZWE5QZDI1UWNtOXdaWEowZVNZbVlTQnBibk4wWVc1alpXOW1JR1o5TEhBOVpuVnVZM1JwYjI0b1lTbDdjbVYwZFhKdUlHRW1KaUp6ZEhKcGJtY2lQVDA5Wmk1MGVYQmxLR0VwZlN4RlBXWjFibU4wYVc5dUtHRXBlM0psZEhWeWJpQndLR0VwSmlZd1BHRXVhVzVrWlhoUFppZ2lKU0lwZlN4clBXWjFibU4wYVc5dUtHRXNaQ2w3ZG1GeUlHVTljR0Z5YzJWSmJuUW9ZU3d4TUNsOGZEQTdaQ1ltUlNoaEtTWW1LR1VxUFdJdVoyVjBWbWxsZDNCdmNuUW9LVnRrWFM4eE1EQXBPM0psZEhWeWJpQk5ZWFJvTG1ObGFXd29aU2w5TEhZOVpuVnVZM1JwYjI0b1lTeGlLWHR5WlhSMWNtNGdheWhoTEdJcEt5SndlQ0o5TzJZdVpYaDBaVzVrS0dJc2UzWmxjbk5wYjI0NklqSXVNUzR6SWl4a1pXWmhkV3gwY3pwN2NHRmtaR2x1WnpveE5TeHRZWEpuYVc0Nk1qQXNkMmxrZEdnNk9EQXdMR2hsYVdkb2REbzJNREFzYldsdVYybGtkR2c2TVRBd0xHMXBia2hsYVdkb2REb3hNREFzQ20xaGVGZHBaSFJvT2prNU9Ua3NiV0Y0U0dWcFoyaDBPams1T1Rrc1lYVjBiMU5wZW1VNklUQXNZWFYwYjBobGFXZG9kRG9oTVN4aGRYUnZWMmxrZEdnNklURXNZWFYwYjFKbGMybDZaVG9oTUN4aGRYUnZRMlZ1ZEdWeU9pRnVMR1pwZEZSdlZtbGxkem9oTUN4aGMzQmxZM1JTWVhScGJ6b2hNU3gwYjNCU1lYUnBiem93TGpVc2JHVm1kRkpoZEdsdk9qQXVOU3h6WTNKdmJHeHBibWM2SW1GMWRHOGlMSGR5WVhCRFUxTTZJaUlzWVhKeWIzZHpPaUV3TEdOc2IzTmxRblJ1T2lFd0xHTnNiM05sUTJ4cFkyczZJVEVzYm1WNGRFTnNhV05yT2lFeExHMXZkWE5sVjJobFpXdzZJVEFzWVhWMGIxQnNZWGs2SVRFc2NHeGhlVk53WldWa09qTkZNeXh3Y21Wc2IyRmtPak1zYlc5a1lXdzZJVEVzYkc5dmNEb2hNQ3hoYW1GNE9udGtZWFJoVkhsd1pUb2lhSFJ0YkNJc2FHVmhaR1Z5Y3pwN0lsZ3RabUZ1WTNsQ2IzZ2lPaUV3Zlgwc2FXWnlZVzFsT250elkzSnZiR3hwYm1jNkltRjFkRzhpTEhCeVpXeHZZV1E2SVRCOUxITjNaanA3ZDIxdlpHVTZJblJ5WVc1emNHRnlaVzUwSWl4aGJHeHZkMloxYkd4elkzSmxaVzQ2SW5SeWRXVWlMR0ZzYkc5M2MyTnlhWEIwWVdOalpYTnpPaUpoYkhkaGVYTWlmU3hyWlhsek9udHVaWGgwT25zeE16b2liR1ZtZENJc016UTZJblZ3SWl3ek9Ub2liR1ZtZENJc05EQTZJblZ3SW4wc0NuQnlaWFk2ZXpnNkluSnBaMmgwSWl3ek16b2laRzkzYmlJc016YzZJbkpwWjJoMElpd3pPRG9pWkc5M2JpSjlMR05zYjNObE9sc3lOMTBzY0d4aGVUcGJNekpkTEhSdloyZHNaVHBiTnpCZGZTeGthWEpsWTNScGIyNDZlMjVsZUhRNklteGxablFpTEhCeVpYWTZJbkpwWjJoMEluMHNjMk55YjJ4c1QzVjBjMmxrWlRvaE1DeHBibVJsZURvd0xIUjVjR1U2Ym5Wc2JDeG9jbVZtT201MWJHd3NZMjl1ZEdWdWREcHVkV3hzTEhScGRHeGxPbTUxYkd3c2RIQnNPbnQzY21Gd09pYzhaR2wySUdOc1lYTnpQU0ptWVc1amVXSnZlQzEzY21Gd0lpQjBZV0pKYm1SbGVEMGlMVEVpUGp4a2FYWWdZMnhoYzNNOUltWmhibU41WW05NExYTnJhVzRpUGp4a2FYWWdZMnhoYzNNOUltWmhibU41WW05NExXOTFkR1Z5SWo0OFpHbDJJR05zWVhOelBTSm1ZVzVqZVdKdmVDMXBibTVsY2lJK1BDOWthWFkrUEM5a2FYWStQQzlrYVhZK1BDOWthWFkrSnl4cGJXRm5aVG9uUEdsdFp5QmpiR0Z6Y3owaVptRnVZM2xpYjNndGFXMWhaMlVpSUhOeVl6MGllMmh5WldaOUlpQmhiSFE5SWlJZ0x6NG5MR2xtY21GdFpUb25QR2xtY21GdFpTQnBaRDBpWm1GdVkzbGliM2d0Wm5KaGJXVjdjbTVrZlNJZ2JtRnRaVDBpWm1GdVkzbGliM2d0Wm5KaGJXVjdjbTVrZlNJZ1kyeGhjM005SW1aaGJtTjVZbTk0TFdsbWNtRnRaU0lnWm5KaGJXVmliM0prWlhJOUlqQWlJSFp6Y0dGalpUMGlNQ0lnYUhOd1lXTmxQU0l3SWlCM1pXSnJhWFJCYkd4dmQwWjFiR3hUWTNKbFpXNGdiVzk2WVd4c2IzZG1kV3hzYzJOeVpXVnVJR0ZzYkc5M1JuVnNiRk5qY21WbGJpY3JDaWhtTG1KeWIzZHpaWEl1YlhOcFpUOG5JR0ZzYkc5M2RISmhibk53WVhKbGJtTjVQU0owY25WbElpYzZJaUlwS3lJK1BDOXBabkpoYldVK0lpeGxjbkp2Y2pvblBIQWdZMnhoYzNNOUltWmhibU41WW05NExXVnljbTl5SWo1VWFHVWdjbVZ4ZFdWemRHVmtJR052Ym5SbGJuUWdZMkZ1Ym05MElHSmxJR3h2WVdSbFpDNDhZbkl2UGxCc1pXRnpaU0IwY25rZ1lXZGhhVzRnYkdGMFpYSXVQQzl3UGljc1kyeHZjMlZDZEc0Nkp6eGhJSFJwZEd4bFBTSkRiRzl6WlNJZ1kyeGhjM005SW1aaGJtTjVZbTk0TFdsMFpXMGdabUZ1WTNsaWIzZ3RZMnh2YzJVaUlHaHlaV1k5SW1waGRtRnpZM0pwY0hRNk95SStQQzloUGljc2JtVjRkRG9uUEdFZ2RHbDBiR1U5SWs1bGVIUWlJR05zWVhOelBTSm1ZVzVqZVdKdmVDMXVZWFlnWm1GdVkzbGliM2d0Ym1WNGRDSWdhSEpsWmowaWFtRjJZWE5qY21sd2REbzdJajQ4YzNCaGJqNDhMM053WVc0K1BDOWhQaWNzY0hKbGRqb25QR0VnZEdsMGJHVTlJbEJ5WlhacGIzVnpJaUJqYkdGemN6MGlabUZ1WTNsaWIzZ3RibUYySUdaaGJtTjVZbTk0TFhCeVpYWWlJR2h5WldZOUltcGhkbUZ6WTNKcGNIUTZPeUkrUEhOd1lXNCtQQzl6Y0dGdVBqd3ZZVDRuZlN4dmNHVnVSV1ptWldOME9pSm1ZV1JsSWl4dmNHVnVVM0JsWldRNk1qVXdMRzl3Wlc1RllYTnBibWM2SW5OM2FXNW5JaXdLYjNCbGJrOXdZV05wZEhrNklUQXNiM0JsYmsxbGRHaHZaRG9pZW05dmJVbHVJaXhqYkc5elpVVm1abVZqZERvaVptRmtaU0lzWTJ4dmMyVlRjR1ZsWkRveU5UQXNZMnh2YzJWRllYTnBibWM2SW5OM2FXNW5JaXhqYkc5elpVOXdZV05wZEhrNklUQXNZMnh2YzJWTlpYUm9iMlE2SW5wdmIyMVBkWFFpTEc1bGVIUkZabVpsWTNRNkltVnNZWE4wYVdNaUxHNWxlSFJUY0dWbFpEb3lOVEFzYm1WNGRFVmhjMmx1WnpvaWMzZHBibWNpTEc1bGVIUk5aWFJvYjJRNkltTm9ZVzVuWlVsdUlpeHdjbVYyUldabVpXTjBPaUpsYkdGemRHbGpJaXh3Y21WMlUzQmxaV1E2TWpVd0xIQnlaWFpGWVhOcGJtYzZJbk4zYVc1bklpeHdjbVYyVFdWMGFHOWtPaUpqYUdGdVoyVlBkWFFpTEdobGJIQmxjbk02ZTI5MlpYSnNZWGs2SVRBc2RHbDBiR1U2SVRCOUxHOXVRMkZ1WTJWc09tWXVibTl2Y0N4aVpXWnZjbVZNYjJGa09tWXVibTl2Y0N4aFpuUmxja3h2WVdRNlppNXViMjl3TEdKbFptOXlaVk5vYjNjNlppNXViMjl3TEdGbWRHVnlVMmh2ZHpwbUxtNXZiM0FzWW1WbWIzSmxRMmhoYm1kbE9tWXVibTl2Y0N4aVpXWnZjbVZEYkc5elpUcG1MbTV2YjNBc1lXWjBaWEpEYkc5elpUcG1MbTV2YjNCOUxHZHliM1Z3T250OUxHOXdkSE02ZTMwc2NISmxkbWx2ZFhNNmJuVnNiQ3hqYjIxcGJtYzZiblZzYkN4amRYSnlaVzUwT201MWJHd3NDbWx6UVdOMGFYWmxPaUV4TEdselQzQmxiam9oTVN4cGMwOXdaVzVsWkRvaE1TeDNjbUZ3T201MWJHd3NjMnRwYmpwdWRXeHNMRzkxZEdWeU9tNTFiR3dzYVc1dVpYSTZiblZzYkN4d2JHRjVaWEk2ZTNScGJXVnlPbTUxYkd3c2FYTkJZM1JwZG1VNklURjlMR0ZxWVhoTWIyRmtPbTUxYkd3c2FXMW5VSEpsYkc5aFpEcHVkV3hzTEhSeVlXNXphWFJwYjI1ek9udDlMR2hsYkhCbGNuTTZlMzBzYjNCbGJqcG1kVzVqZEdsdmJpaGhMR1FwZTJsbUtHRW1KaWhtTG1selVHeGhhVzVQWW1wbFkzUW9aQ2w4ZkNoa1BYdDlLU3doTVNFOVBXSXVZMnh2YzJVb0lUQXBLU2x5WlhSMWNtNGdaaTVwYzBGeWNtRjVLR0VwZkh3b1lUMXpLR0VwUDJZb1lTa3VaMlYwS0NrNlcyRmRLU3htTG1WaFkyZ29ZU3htZFc1amRHbHZiaWhsTEdNcGUzWmhjaUJxUFh0OUxHY3NhQ3hwTEd3c2F6c2liMkpxWldOMElqMDlQV1l1ZEhsd1pTaGpLU1ltS0dNdWJtOWtaVlI1Y0dVbUppaGpQV1lvWXlrcExITW9ZeWsvS0dvOWUyaHlaV1k2WXk1a1lYUmhLQ0ptWVc1amVXSnZlQzFvY21WbUlpbDhmR011WVhSMGNpZ2lhSEpsWmlJcExIUnBkR3hsT21NdVpHRjBZU2dpWm1GdVkzbGliM2d0ZEdsMGJHVWlLWHg4WXk1aGRIUnlLQ0owYVhSc1pTSXBMR2x6Ukc5dE9pRXdMR1ZzWlcxbGJuUTZZMzBzWmk1dFpYUmhaR0YwWVNZbVppNWxlSFJsYm1Rb0lUQXNDbW9zWXk1dFpYUmhaR0YwWVNncEtTazZhajFqS1R0blBXUXVhSEpsWm54OGFpNW9jbVZtZkh3b2NDaGpLVDlqT201MWJHd3BPMmc5WkM1MGFYUnNaU0U5UFhFL1pDNTBhWFJzWlRwcUxuUnBkR3hsZkh3aUlqdHNQU2hwUFdRdVkyOXVkR1Z1ZEh4OGFpNWpiMjUwWlc1MEtUOGlhSFJ0YkNJNlpDNTBlWEJsZkh4cUxuUjVjR1U3SVd3bUptb3VhWE5FYjIwbUppaHNQV011WkdGMFlTZ2labUZ1WTNsaWIzZ3RkSGx3WlNJcExHeDhmQ2hzUFNoc1BXTXVjSEp2Y0NnaVkyeGhjM01pS1M1dFlYUmphQ2d2Wm1GdVkzbGliM2hjTGloY2R5c3BMeWtwUDJ4Yk1WMDZiblZzYkNrcE8zQW9aeWttSmloc2ZId29ZaTVwYzBsdFlXZGxLR2NwUDJ3OUltbHRZV2RsSWpwaUxtbHpVMWRHS0djcFAydzlJbk4zWmlJNklpTWlQVDA5Wnk1amFHRnlRWFFvTUNrL2JEMGlhVzVzYVc1bElqcHdLR01wSmlZb2JEMGlhSFJ0YkNJc2FUMWpLU2tzSW1GcVlYZ2lQVDA5YkNZbUtHczlaeTV6Y0d4cGRDZ3ZYSE1yTHl3eUtTeG5QV3N1YzJocFpuUW9LU3hyUFdzdWMyaHBablFvS1NrcE8ybDhmQ2dpYVc1c2FXNWxJajA5UFd3L1p6OXBQV1lvY0NobktUOW5MbkpsY0d4aFkyVW9MeTRxS0Q4OUkxdGVYSE5kS3lRcEx5d2lJaWs2WnlrNmFpNXBjMFJ2YlNZbUtHazlZeWs2SW1oMGJXd2lQVDA5YkQ5cFBXYzZJV3dtSmlnaFp5WW1DbW91YVhORWIyMHBKaVlvYkQwaWFXNXNhVzVsSWl4cFBXTXBLVHRtTG1WNGRHVnVaQ2hxTEh0b2NtVm1PbWNzZEhsd1pUcHNMR052Ym5SbGJuUTZhU3gwYVhSc1pUcG9MSE5sYkdWamRHOXlPbXQ5S1R0aFcyVmRQV3A5S1N4aUxtOXdkSE05Wmk1bGVIUmxibVFvSVRBc2UzMHNZaTVrWldaaGRXeDBjeXhrS1N4a0xtdGxlWE1oUFQxeEppWW9ZaTV2Y0hSekxtdGxlWE05WkM1clpYbHpQMll1WlhoMFpXNWtLSHQ5TEdJdVpHVm1ZWFZzZEhNdWEyVjVjeXhrTG10bGVYTXBPaUV4S1N4aUxtZHliM1Z3UFdFc1lpNWZjM1JoY25Rb1lpNXZjSFJ6TG1sdVpHVjRLWDBzWTJGdVkyVnNPbVoxYm1OMGFXOXVLQ2w3ZG1GeUlHRTlZaTVqYjIxcGJtYzdZU1ltSVRFaFBUMWlMblJ5YVdkblpYSW9JbTl1UTJGdVkyVnNJaWttSmloaUxtaHBaR1ZNYjJGa2FXNW5LQ2tzWWk1aGFtRjRURzloWkNZbVlpNWhhbUY0VEc5aFpDNWhZbTl5ZENncExHSXVZV3BoZUV4dllXUTliblZzYkN4aUxtbHRaMUJ5Wld4dllXUW1KaWhpTG1sdFoxQnlaV3h2WVdRdWIyNXNiMkZrUFdJdWFXMW5VSEpsYkc5aFpDNXZibVZ5Y205eVBXNTFiR3dwTEdFdWQzSmhjQ1ltWVM1M2NtRndMbk4wYjNBb0lUQXNJVEFwTG5SeWFXZG5aWElvSW05dVVtVnpaWFFpS1M1eVpXMXZkbVVvS1N4aUxtTnZiV2x1WnoxdWRXeHNMR0l1WTNWeWNtVnVkSHg4Q21JdVgyRm1kR1Z5V205dmJVOTFkQ2hoS1NsOUxHTnNiM05sT21aMWJtTjBhVzl1S0dFcGUySXVZMkZ1WTJWc0tDazdJVEVoUFQxaUxuUnlhV2RuWlhJb0ltSmxabTl5WlVOc2IzTmxJaWttSmloaUxuVnVZbWx1WkVWMlpXNTBjeWdwTEdJdWFYTkJZM1JwZG1VbUppZ2hZaTVwYzA5d1pXNThmQ0V3UFQwOVlUOG9aaWdpTG1aaGJtTjVZbTk0TFhkeVlYQWlLUzV6ZEc5d0tDRXdLUzUwY21sbloyVnlLQ0p2YmxKbGMyVjBJaWt1Y21WdGIzWmxLQ2tzWWk1ZllXWjBaWEphYjI5dFQzVjBLQ2twT2loaUxtbHpUM0JsYmoxaUxtbHpUM0JsYm1Wa1BTRXhMR0l1YVhORGJHOXphVzVuUFNFd0xHWW9JaTVtWVc1amVXSnZlQzFwZEdWdExDQXVabUZ1WTNsaWIzZ3RibUYySWlrdWNtVnRiM1psS0Nrc1lpNTNjbUZ3TG5OMGIzQW9JVEFzSVRBcExuSmxiVzkyWlVOc1lYTnpLQ0ptWVc1amVXSnZlQzF2Y0dWdVpXUWlLU3hpTG5SeVlXNXphWFJwYjI1elcySXVZM1Z5Y21WdWRDNWpiRzl6WlUxbGRHaHZaRjBvS1NrcEtYMHNjR3hoZVRwbWRXNWpkR2x2YmloaEtYdDJZWElnWkQxbWRXNWpkR2x2YmlncGUyTnNaV0Z5VkdsdFpXOTFkQ2hpTG5Cc1lYbGxjaTUwYVcxbGNpbDlMR1U5Wm5WdVkzUnBiMjRvS1h0a0tDazdZaTVqZFhKeVpXNTBKaVppTG5Cc1lYbGxjaTVwYzBGamRHbDJaU1ltS0dJdWNHeGhlV1Z5TG5ScGJXVnlQUXB6WlhSVWFXMWxiM1YwS0dJdWJtVjRkQ3hpTG1OMWNuSmxiblF1Y0d4aGVWTndaV1ZrS1NsOUxHTTlablZ1WTNScGIyNG9LWHRrS0NrN1ppZ2lZbTlrZVNJcExuVnVZbWx1WkNnaUxuQnNZWGxsY2lJcE8ySXVjR3hoZVdWeUxtbHpRV04wYVhabFBTRXhPMkl1ZEhKcFoyZGxjaWdpYjI1UWJHRjVSVzVrSWlsOU8ybG1LQ0V3UFQwOVlYeDhJV0l1Y0d4aGVXVnlMbWx6UVdOMGFYWmxKaVloTVNFOVBXRXBlMmxtS0dJdVkzVnljbVZ1ZENZbUtHSXVZM1Z5Y21WdWRDNXNiMjl3Zkh4aUxtTjFjbkpsYm5RdWFXNWtaWGc4WWk1bmNtOTFjQzVzWlc1bmRHZ3RNU2twWWk1d2JHRjVaWEl1YVhOQlkzUnBkbVU5SVRBc1ppZ2lZbTlrZVNJcExtSnBibVFvZXlKaFpuUmxjbE5vYjNjdWNHeGhlV1Z5SUc5dVZYQmtZWFJsTG5Cc1lYbGxjaUk2WlN3aWIyNURZVzVqWld3dWNHeGhlV1Z5SUdKbFptOXlaVU5zYjNObExuQnNZWGxsY2lJNll5d2lZbVZtYjNKbFRHOWhaQzV3YkdGNVpYSWlPbVI5S1N4bEtDa3NZaTUwY21sbloyVnlLQ0p2YmxCc1lYbFRkR0Z5ZENJcGZXVnNjMlVnWXlncGZTeHVaWGgwT21aMWJtTjBhVzl1S0dFcGUzWmhjaUJrUFdJdVkzVnljbVZ1ZER0a0ppWW9jQ2hoS1h4OEtHRTlaQzVrYVhKbFkzUnBiMjR1Ym1WNGRDa3NZaTVxZFcxd2RHOG9aQzVwYm1SbGVDc3hMR0VzSW01bGVIUWlLU2w5TEFwd2NtVjJPbVoxYm1OMGFXOXVLR0VwZTNaaGNpQmtQV0l1WTNWeWNtVnVkRHRrSmlZb2NDaGhLWHg4S0dFOVpDNWthWEpsWTNScGIyNHVjSEpsZGlrc1lpNXFkVzF3ZEc4b1pDNXBibVJsZUMweExHRXNJbkJ5WlhZaUtTbDlMR3AxYlhCMGJ6cG1kVzVqZEdsdmJpaGhMR1FzWlNsN2RtRnlJR005WWk1amRYSnlaVzUwTzJNbUppaGhQV3NvWVNrc1lpNWthWEpsWTNScGIyNDlaSHg4WXk1a2FYSmxZM1JwYjI1YllUNDlZeTVwYm1SbGVEOGlibVY0ZENJNkluQnlaWFlpWFN4aUxuSnZkWFJsY2oxbGZId2lhblZ0Y0hSdklpeGpMbXh2YjNBbUppZ3dQbUVtSmloaFBXTXVaM0p2ZFhBdWJHVnVaM1JvSzJFbFl5NW5jbTkxY0M1c1pXNW5kR2dwTEdFbFBXTXVaM0p2ZFhBdWJHVnVaM1JvS1N4akxtZHliM1Z3VzJGZElUMDljU1ltS0dJdVkyRnVZMlZzS0Nrc1lpNWZjM1JoY25Rb1lTa3BLWDBzY21Wd2IzTnBkR2x2YmpwbWRXNWpkR2x2YmloaExHUXBlM1poY2lCbFBXSXVZM1Z5Y21WdWRDeGpQV1UvWlM1M2NtRndPbTUxYkd3c2FqdGpKaVlvYWoxaUxsOW5aWFJRYjNOcGRHbHZiaWhrS1N4aEppWWljMk55YjJ4c0lqMDlQV0V1ZEhsd1pUOG9aR1ZzWlhSbElHb3VjRzl6YVhScGIyNHNZeTV6ZEc5d0tDRXdMQ0V3S1M1aGJtbHRZWFJsS0dvc01qQXdLU2s2S0dNdVkzTnpLR29wTEdVdWNHOXpQV1l1WlhoMFpXNWtLSHQ5TEFwbExtUnBiU3hxS1NrcGZTeDFjR1JoZEdVNlpuVnVZM1JwYjI0b1lTbDdkbUZ5SUdROVlTWW1ZUzUwZVhCbExHVTlJV1I4ZkNKdmNtbGxiblJoZEdsdmJtTm9ZVzVuWlNJOVBUMWtPMlVtSmloamJHVmhjbFJwYldWdmRYUW9kU2tzZFQxdWRXeHNLVHRpTG1selQzQmxiaVltSVhVbUppaDFQWE5sZEZScGJXVnZkWFFvWm5WdVkzUnBiMjRvS1h0MllYSWdZejFpTG1OMWNuSmxiblE3WXlZbUlXSXVhWE5EYkc5emFXNW5KaVlvWWk1M2NtRndMbkpsYlc5MlpVTnNZWE56S0NKbVlXNWplV0p2ZUMxMGJYQWlLU3dvWlh4OElteHZZV1FpUFQwOVpIeDhJbkpsYzJsNlpTSTlQVDFrSmlaakxtRjFkRzlTWlhOcGVtVXBKaVppTGw5elpYUkVhVzFsYm5OcGIyNG9LU3dpYzJOeWIyeHNJajA5UFdRbUptTXVZMkZ1VTJoeWFXNXJmSHhpTG5KbGNHOXphWFJwYjI0b1lTa3NZaTUwY21sbloyVnlLQ0p2YmxWd1pHRjBaU0lwTEhVOWJuVnNiQ2w5TEdVbUppRnVQekE2TXpBd0tTbDlMSFJ2WjJkc1pUcG1kVzVqZEdsdmJpaGhLWHRpTG1selQzQmxiaVltS0dJdVkzVnljbVZ1ZEM1bWFYUlViMVpwWlhjOUltSnZiMnhsWVc0aVBUMDlaaTUwZVhCbEtHRXBQMkU2SVdJdVkzVnljbVZ1ZEM1bWFYUlViMVpwWlhjc2JpWW1LR0l1ZDNKaGNDNXlaVzF2ZG1WQmRIUnlLQ0p6ZEhsc1pTSXBMbUZrWkVOc1lYTnpLQ0ptWVc1amVXSnZlQzEwYlhBaUtTd0tZaTUwY21sbloyVnlLQ0p2YmxWd1pHRjBaU0lwS1N4aUxuVndaR0YwWlNncEtYMHNhR2xrWlV4dllXUnBibWM2Wm5WdVkzUnBiMjRvS1h0dExuVnVZbWx1WkNnaUxteHZZV1JwYm1jaUtUdG1LQ0lqWm1GdVkzbGliM2d0Ykc5aFpHbHVaeUlwTG5KbGJXOTJaU2dwZlN4emFHOTNURzloWkdsdVp6cG1kVzVqZEdsdmJpZ3BlM1poY2lCaExHUTdZaTVvYVdSbFRHOWhaR2x1WnlncE8yRTlaaWduUEdScGRpQnBaRDBpWm1GdVkzbGliM2d0Ykc5aFpHbHVaeUkrUEdScGRqNDhMMlJwZGo0OEwyUnBkajRuS1M1amJHbGpheWhpTG1OaGJtTmxiQ2t1WVhCd1pXNWtWRzhvSW1KdlpIa2lLVHR0TG1KcGJtUW9JbXRsZVdSdmQyNHViRzloWkdsdVp5SXNablZ1WTNScGIyNG9ZU2w3YVdZb01qYzlQVDBvWVM1M2FHbGphSHg4WVM1clpYbERiMlJsS1NsaExuQnlaWFpsYm5SRVpXWmhkV3gwS0Nrc1lpNWpZVzVqWld3b0tYMHBPMkl1WkdWbVlYVnNkSE11Wm1sNFpXUjhmQ2hrUFdJdVoyVjBWbWxsZDNCdmNuUW9LU3hoTG1OemN5aDdjRzl6YVhScGIyNDZJbUZpYzI5c2RYUmxJaXgwYjNBNk1DNDFLbVF1YUN0a0xua3NiR1ZtZERvd0xqVXFaQzUzSzJRdWVIMHBLWDBzWjJWMFZtbGxkM0J2Y25RNlpuVnVZM1JwYjI0b0tYdDJZWElnWVQxaUxtTjFjbkpsYm5RbUptSXVZM1Z5Y21WdWRDNXNiMk5yWldSOGZBb2hNU3hrUFh0NE9uSXVjMk55YjJ4c1RHVm1kQ2dwTEhrNmNpNXpZM0p2Ykd4VWIzQW9LWDA3WVQ4b1pDNTNQV0ZiTUYwdVkyeHBaVzUwVjJsa2RHZ3NaQzVvUFdGYk1GMHVZMnhwWlc1MFNHVnBaMmgwS1Rvb1pDNTNQVzRtSmtJdWFXNXVaWEpYYVdSMGFEOUNMbWx1Ym1WeVYybGtkR2c2Y2k1M2FXUjBhQ2dwTEdRdWFEMXVKaVpDTG1sdWJtVnlTR1ZwWjJoMFAwSXVhVzV1WlhKSVpXbG5hSFE2Y2k1b1pXbG5hSFFvS1NrN2NtVjBkWEp1SUdSOUxIVnVZbWx1WkVWMlpXNTBjenBtZFc1amRHbHZiaWdwZTJJdWQzSmhjQ1ltY3loaUxuZHlZWEFwSmlaaUxuZHlZWEF1ZFc1aWFXNWtLQ0l1Wm1JaUtUdHRMblZ1WW1sdVpDZ2lMbVppSWlrN2NpNTFibUpwYm1Rb0lpNW1ZaUlwZlN4aWFXNWtSWFpsYm5Sek9tWjFibU4wYVc5dUtDbDdkbUZ5SUdFOVlpNWpkWEp5Wlc1MExHUTdZU1ltS0hJdVltbHVaQ2dpYjNKcFpXNTBZWFJwYjI1amFHRnVaMlV1Wm1JaUt5aHVQeUlpT2lJZ2NtVnphWHBsTG1aaUlpa3JLR0V1WVhWMGIwTmxiblJsY2lZbUlXRXViRzlqYTJWa1B5SWdjMk55YjJ4c0xtWmlJam9pSWlrc1lpNTFjR1JoZEdVcExDaGtQV0V1YTJWNWN5a21KbTB1WW1sdVpDZ2lhMlY1Wkc5M2JpNW1ZaUlzWm5WdVkzUnBiMjRvWlNsN2RtRnlJR005WlM1M2FHbGphSHg4WlM1clpYbERiMlJsTEdvOUNtVXVkR0Z5WjJWMGZIeGxMbk55WTBWc1pXMWxiblE3YVdZb01qYzlQVDFqSmlaaUxtTnZiV2x1WnlseVpYUjFjbTRoTVRzaFpTNWpkSEpzUzJWNUppWW9JV1V1WVd4MFMyVjVKaVloWlM1emFHbG1kRXRsZVNZbUlXVXViV1YwWVV0bGVTWW1LQ0ZxZkh3aGFpNTBlWEJsSmlZaFppaHFLUzVwY3lnaVcyTnZiblJsYm5SbFpHbDBZV0pzWlYwaUtTa3BKaVptTG1WaFkyZ29aQ3htZFc1amRHbHZiaWhrTEdvcGUybG1LREU4WVM1bmNtOTFjQzVzWlc1bmRHZ21KbXBiWTEwaFBUMXhLWEpsZEhWeWJpQmlXMlJkS0dwYlkxMHBMR1V1Y0hKbGRtVnVkRVJsWm1GMWJIUW9LU3doTVR0cFppZ3RNVHhtTG1sdVFYSnlZWGtvWXl4cUtTbHlaWFIxY200Z1lsdGtYU2dwTEdVdWNISmxkbVZ1ZEVSbFptRjFiSFFvS1N3aE1YMHBmU2tzWmk1bWJpNXRiM1Z6Wlhkb1pXVnNKaVpoTG0xdmRYTmxWMmhsWld3bUptSXVkM0poY0M1aWFXNWtLQ0p0YjNWelpYZG9aV1ZzTG1aaUlpeG1kVzVqZEdsdmJpaGtMR01zYWl4bktYdG1iM0lvZG1GeUlHZzlaaWhrTG5SaGNtZGxkSHg4Ym5Wc2JDa3NhVDBoTVR0b0xteGxibWQwYUNZbUlXa21KaUZvTG1sektDSXVabUZ1WTNsaWIzZ3RjMnRwYmlJcEppWWhhQzVwY3lnaUxtWmhibU41WW05NExYZHlZWEFpS1RzcGFUMW9XekJkSmlZaEtHaGJNRjB1YzNSNWJHVXViM1psY21ac2IzY21KZ29pYUdsa1pHVnVJajA5UFdoYk1GMHVjM1I1YkdVdWIzWmxjbVpzYjNjcEppWW9hRnN3WFM1amJHbGxiblJYYVdSMGFDWW1hRnN3WFM1elkzSnZiR3hYYVdSMGFENW9XekJkTG1Oc2FXVnVkRmRwWkhSb2ZIeG9XekJkTG1Oc2FXVnVkRWhsYVdkb2RDWW1hRnN3WFM1elkzSnZiR3hJWldsbmFIUSthRnN3WFM1amJHbGxiblJJWldsbmFIUXBMR2c5Wmlob0tTNXdZWEpsYm5Rb0tUdHBaaWd3SVQwOVl5WW1JV2ttSmpFOFlpNW5jbTkxY0M1c1pXNW5kR2dtSmlGaExtTmhibE5vY21sdWF5bDdhV1lvTUR4bmZId3dQR29wWWk1d2NtVjJLREE4Wno4aVpHOTNiaUk2SW14bFpuUWlLVHRsYkhObElHbG1LREErWjN4OE1ENXFLV0l1Ym1WNGRDZ3dQbWMvSW5Wd0lqb2ljbWxuYUhRaUtUdGtMbkJ5WlhabGJuUkVaV1poZFd4MEtDbDlmU2twZlN4MGNtbG5aMlZ5T21aMWJtTjBhVzl1S0dFc1pDbDdkbUZ5SUdVc1l6MWtmSHhpTG1OdmJXbHVaM3g4WWk1amRYSnlaVzUwTzJsbUtHTXBlMll1YVhOR2RXNWpkR2x2YmloalcyRmRLU1ltS0dVOVkxdGhYUzVoY0hCc2VTaGpMRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpiR2xqWlM1allXeHNLR0Z5WjNWdFpXNTBjeXd4S1NrcE8ybG1LQ0V4UFQwOVpTbHlaWFIxY200aE1UdGpMbWhsYkhCbGNuTW1KbVl1WldGamFDaGpMbWhsYkhCbGNuTXNablZ1WTNScGIyNG9aQ3dLWlNsN1pTWW1LR0l1YUdWc2NHVnljMXRrWFNZbVppNXBjMFoxYm1OMGFXOXVLR0l1YUdWc2NHVnljMXRrWFZ0aFhTa3BKaVlvWlQxbUxtVjRkR1Z1WkNnaE1DeDdmU3hpTG1obGJIQmxjbk5iWkYwdVpHVm1ZWFZzZEhNc1pTa3NZaTVvWld4d1pYSnpXMlJkVzJGZEtHVXNZeWtwZlNrN1ppNWxkbVZ1ZEM1MGNtbG5aMlZ5S0dFcklpNW1ZaUlwZlgwc2FYTkpiV0ZuWlRwbWRXNWpkR2x2YmloaEtYdHlaWFIxY200Z2NDaGhLU1ltWVM1dFlYUmphQ2d2S0Y1a1lYUmhPbWx0WVdkbFhDOHVLaXdwZkNoY0xpaHFjQ2hsZkdkOFpXY3BmR2RwWm54d2JtZDhZbTF3ZkhkbFluQXBLQ2hjUDN3aktTNHFLVDhrS1M5cEtYMHNhWE5UVjBZNlpuVnVZM1JwYjI0b1lTbDdjbVYwZFhKdUlIQW9ZU2ttSm1FdWJXRjBZMmdvTDF3dUtITjNaaWtvS0Z3L2ZDTXBMaW9wUHlRdmFTbDlMRjl6ZEdGeWREcG1kVzVqZEdsdmJpaGhLWHQyWVhJZ1pEMTdmU3hsTEdNc1lUMXJLR0VwTzJVOVlpNW5jbTkxY0Z0aFhYeDhiblZzYkR0cFppZ2haU2x5WlhSMWNtNGhNVHRrUFdZdVpYaDBaVzVrS0NFd0xIdDlMR0l1YjNCMGN5eGxLVHRsUFdRdWJXRnlaMmx1TzJNOVpDNXdZV1JrYVc1bk95SnVkVzFpWlhJaVBUMDlaaTUwZVhCbEtHVXBKaVlvWkM1dFlYSm5hVzQ5VzJVc1pTeGxMR1ZkS1RzaWJuVnRZbVZ5SWowOVBXWXVkSGx3WlNoaktTWW1DaWhrTG5CaFpHUnBibWM5VzJNc1l5eGpMR05kS1R0a0xtMXZaR0ZzSmlabUxtVjRkR1Z1WkNnaE1DeGtMSHRqYkc5elpVSjBiam9oTVN4amJHOXpaVU5zYVdOck9pRXhMRzVsZUhSRGJHbGphem9oTVN4aGNuSnZkM002SVRFc2JXOTFjMlZYYUdWbGJEb2hNU3hyWlhsek9tNTFiR3dzYUdWc2NHVnljenA3YjNabGNteGhlVHA3WTJ4dmMyVkRiR2xqYXpvaE1YMTlmU2s3WkM1aGRYUnZVMmw2WlNZbUtHUXVZWFYwYjFkcFpIUm9QV1F1WVhWMGIwaGxhV2RvZEQwaE1DazdJbUYxZEc4aVBUMDlaQzUzYVdSMGFDWW1LR1F1WVhWMGIxZHBaSFJvUFNFd0tUc2lZWFYwYnlJOVBUMWtMbWhsYVdkb2RDWW1LR1F1WVhWMGIwaGxhV2RvZEQwaE1DazdaQzVuY205MWNEMWlMbWR5YjNWd08yUXVhVzVrWlhnOVlUdGlMbU52YldsdVp6MWtPMmxtS0NFeFBUMDlZaTUwY21sbloyVnlLQ0ppWldadmNtVk1iMkZrSWlrcFlpNWpiMjFwYm1jOWJuVnNiRHRsYkhObGUyTTlaQzUwZVhCbE8yVTlaQzVvY21WbU8ybG1LQ0ZqS1hKbGRIVnliaUJpTG1OdmJXbHVaejF1ZFd4c0xHSXVZM1Z5Y21WdWRDWW1ZaTV5YjNWMFpYSW1KaUpxZFcxd2RHOGlJVDA5WWk1eWIzVjBaWEkvS0dJdVkzVnljbVZ1ZEM1cGJtUmxlRDFoTEdKYllpNXliM1YwWlhKZEtHSXVaR2x5WldOMGFXOXVLU2s2SVRFN1lpNXBjMEZqZEdsMlpUMEtJVEE3YVdZb0ltbHRZV2RsSWowOVBXTjhmQ0p6ZDJZaVBUMDlZeWxrTG1GMWRHOUlaV2xuYUhROVpDNWhkWFJ2VjJsa2RHZzlJVEVzWkM1elkzSnZiR3hwYm1jOUluWnBjMmxpYkdVaU95SnBiV0ZuWlNJOVBUMWpKaVlvWkM1aGMzQmxZM1JTWVhScGJ6MGhNQ2s3SW1sbWNtRnRaU0k5UFQxakppWnVKaVlvWkM1elkzSnZiR3hwYm1jOUluTmpjbTlzYkNJcE8yUXVkM0poY0QxbUtHUXVkSEJzTG5keVlYQXBMbUZrWkVOc1lYTnpLQ0ptWVc1amVXSnZlQzBpS3lodVB5SnRiMkpwYkdVaU9pSmtaWE5yZEc5d0lpa3JJaUJtWVc1amVXSnZlQzEwZVhCbExTSXJZeXNpSUdaaGJtTjVZbTk0TFhSdGNDQWlLMlF1ZDNKaGNFTlRVeWt1WVhCd1pXNWtWRzhvWkM1d1lYSmxiblI4ZkNKaWIyUjVJaWs3Wmk1bGVIUmxibVFvWkN4N2MydHBianBtS0NJdVptRnVZM2xpYjNndGMydHBiaUlzWkM1M2NtRndLU3h2ZFhSbGNqcG1LQ0l1Wm1GdVkzbGliM2d0YjNWMFpYSWlMR1F1ZDNKaGNDa3NhVzV1WlhJNlppZ2lMbVpoYm1ONVltOTRMV2x1Ym1WeUlpeGtMbmR5WVhBcGZTazdaaTVsWVdOb0tGc2lWRzl3SWl3aVVtbG5hSFFpTENKQ2IzUjBiMjBpTENKTVpXWjBJbDBzWm5WdVkzUnBiMjRvWVN4aUtYdGtMbk5yYVc0dVkzTnpLQ0p3WVdSa2FXNW5JaXRpTEhZb1pDNXdZV1JrYVc1blcyRmRLU2w5S1R0aUxuUnlhV2RuWlhJb0ltOXVVbVZoWkhraUtUc0thV1lvSW1sdWJHbHVaU0k5UFQxamZId2lhSFJ0YkNJOVBUMWpLWHRwWmlnaFpDNWpiMjUwWlc1MGZId2haQzVqYjI1MFpXNTBMbXhsYm1kMGFDbHlaWFIxY200Z1lpNWZaWEp5YjNJb0ltTnZiblJsYm5RaUtYMWxiSE5sSUdsbUtDRmxLWEpsZEhWeWJpQmlMbDlsY25KdmNpZ2lhSEpsWmlJcE95SnBiV0ZuWlNJOVBUMWpQMkl1WDJ4dllXUkpiV0ZuWlNncE9pSmhhbUY0SWowOVBXTS9ZaTVmYkc5aFpFRnFZWGdvS1RvaWFXWnlZVzFsSWowOVBXTS9ZaTVmYkc5aFpFbG1jbUZ0WlNncE9tSXVYMkZtZEdWeVRHOWhaQ2dwZlgwc1gyVnljbTl5T21aMWJtTjBhVzl1S0dFcGUyWXVaWGgwWlc1a0tHSXVZMjl0YVc1bkxIdDBlWEJsT2lKb2RHMXNJaXhoZFhSdlYybGtkR2c2SVRBc1lYVjBiMGhsYVdkb2REb2hNQ3h0YVc1WGFXUjBhRG93TEcxcGJraGxhV2RvZERvd0xITmpjbTlzYkdsdVp6b2libThpTEdoaGMwVnljbTl5T21Fc1kyOXVkR1Z1ZERwaUxtTnZiV2x1Wnk1MGNHd3VaWEp5YjNKOUtUdGlMbDloWm5SbGNreHZZV1FvS1gwc1gyeHZZV1JKYldGblpUcG1kVzVqZEdsdmJpZ3BlM1poY2lCaFBXSXVhVzFuVUhKbGJHOWhaRDF1WlhjZ1NXMWhaMlU3WVM1dmJteHZZV1E5Wm5WdVkzUnBiMjRvS1h0MGFHbHpMbTl1Ykc5aFpEMTBhR2x6TG05dVpYSnliM0k5Ym5Wc2JEdGlMbU52YldsdVp5NTNhV1IwYUQwS2RHaHBjeTUzYVdSMGFEdGlMbU52YldsdVp5NW9aV2xuYUhROWRHaHBjeTVvWldsbmFIUTdZaTVmWVdaMFpYSk1iMkZrS0NsOU8yRXViMjVsY25KdmNqMW1kVzVqZEdsdmJpZ3BlM1JvYVhNdWIyNXNiMkZrUFhSb2FYTXViMjVsY25KdmNqMXVkV3hzTzJJdVgyVnljbTl5S0NKcGJXRm5aU0lwZlR0aExuTnlZejFpTG1OdmJXbHVaeTVvY21WbU95RXdJVDA5WVM1amIyMXdiR1YwWlNZbVlpNXphRzkzVEc5aFpHbHVaeWdwZlN4ZmJHOWhaRUZxWVhnNlpuVnVZM1JwYjI0b0tYdDJZWElnWVQxaUxtTnZiV2x1Wnp0aUxuTm9iM2RNYjJGa2FXNW5LQ2s3WWk1aGFtRjRURzloWkQxbUxtRnFZWGdvWmk1bGVIUmxibVFvZTMwc1lTNWhhbUY0TEh0MWNtdzZZUzVvY21WbUxHVnljbTl5T21aMWJtTjBhVzl1S0dFc1pTbDdZaTVqYjIxcGJtY21KaUpoWW05eWRDSWhQVDFsUDJJdVgyVnljbTl5S0NKaGFtRjRJaXhoS1RwaUxtaHBaR1ZNYjJGa2FXNW5LQ2w5TEhOMVkyTmxjM002Wm5WdVkzUnBiMjRvWkN4bEtYc2ljM1ZqWTJWemN5STlQVDFsSmlZb1lTNWpiMjUwWlc1MFBXUXNZaTVmWVdaMFpYSk1iMkZrS0NrcGZYMHBLWDBzWDJ4dllXUkpabkpoYldVNlpuVnVZM1JwYjI0b0tYdDJZWElnWVQxaUxtTnZiV2x1Wnl4a1BXWW9ZUzUwY0d3dWFXWnlZVzFsTG5KbGNHeGhZMlVvTDF4N2NtNWtYSDB2Wnl3S0tHNWxkeUJFWVhSbEtTNW5aWFJVYVcxbEtDa3BLUzVoZEhSeUtDSnpZM0p2Ykd4cGJtY2lMRzQvSW1GMWRHOGlPbUV1YVdaeVlXMWxMbk5qY205c2JHbHVaeWt1WVhSMGNpZ2ljM0pqSWl4aExtaHlaV1lwTzJZb1lTNTNjbUZ3S1M1aWFXNWtLQ0p2YmxKbGMyVjBJaXhtZFc1amRHbHZiaWdwZTNSeWVYdG1LSFJvYVhNcExtWnBibVFvSW1sbWNtRnRaU0lwTG1ocFpHVW9LUzVoZEhSeUtDSnpjbU1pTENJdkwyRmliM1YwT21Kc1lXNXJJaWt1Wlc1a0tDa3VaVzF3ZEhrb0tYMWpZWFJqYUNoaEtYdDlmU2s3WVM1cFpuSmhiV1V1Y0hKbGJHOWhaQ1ltS0dJdWMyaHZkMHh2WVdScGJtY29LU3hrTG05dVpTZ2liRzloWkNJc1puVnVZM1JwYjI0b0tYdG1LSFJvYVhNcExtUmhkR0VvSW5KbFlXUjVJaXd4S1R0dWZIeG1LSFJvYVhNcExtSnBibVFvSW14dllXUXVabUlpTEdJdWRYQmtZWFJsS1R0bUtIUm9hWE1wTG5CaGNtVnVkSE1vSWk1bVlXNWplV0p2ZUMxM2NtRndJaWt1ZDJsa2RHZ29JakV3TUNVaUtTNXlaVzF2ZG1WRGJHRnpjeWdpWm1GdVkzbGliM2d0ZEcxd0lpa3VjMmh2ZHlncE8ySXVYMkZtZEdWeVRHOWhaQ2dwZlNrcE8yRXVZMjl1ZEdWdWREMWtMbUZ3Y0dWdVpGUnZLR0V1YVc1dVpYSXBPMkV1YVdaeVlXMWxMbkJ5Wld4dllXUjhmR0l1WDJGbWRHVnlURzloWkNncGZTeGZjSEpsYkc5aFpFbHRZV2RsY3pwbWRXNWpkR2x2YmlncGUzWmhjaUJoUFFwaUxtZHliM1Z3TEdROVlpNWpkWEp5Wlc1MExHVTlZUzVzWlc1bmRHZ3NZejFrTG5CeVpXeHZZV1EvVFdGMGFDNXRhVzRvWkM1d2NtVnNiMkZrTEdVdE1TazZNQ3htTEdjN1ptOXlLR2M5TVR0blBEMWpPMmNyUFRFcFpqMWhXeWhrTG1sdVpHVjRLMmNwSldWZExDSnBiV0ZuWlNJOVBUMW1MblI1Y0dVbUptWXVhSEpsWmlZbUtDaHVaWGNnU1cxaFoyVXBMbk55WXoxbUxtaHlaV1lwZlN4ZllXWjBaWEpNYjJGa09tWjFibU4wYVc5dUtDbDdkbUZ5SUdFOVlpNWpiMjFwYm1jc1pEMWlMbU4xY25KbGJuUXNaU3hqTEdvc1p5eG9PMkl1YUdsa1pVeHZZV1JwYm1jb0tUdHBaaWhoSmlZaE1TRTlQV0l1YVhOQlkzUnBkbVVwYVdZb0lURTlQVDFpTG5SeWFXZG5aWElvSW1GbWRHVnlURzloWkNJc1lTeGtLU2xoTG5keVlYQXVjM1J2Y0NnaE1Da3VkSEpwWjJkbGNpZ2liMjVTWlhObGRDSXBMbkpsYlc5MlpTZ3BMR0l1WTI5dGFXNW5QVzUxYkd3N1pXeHpaWHRrSmlZb1lpNTBjbWxuWjJWeUtDSmlaV1p2Y21WRGFHRnVaMlVpTEdRcExHUXVkM0poY0M1emRHOXdLQ0V3S1M1eVpXMXZkbVZEYkdGemN5Z2labUZ1WTNsaWIzZ3RiM0JsYm1Wa0lpa3VabWx1WkNnaUxtWmhibU41WW05NExXbDBaVzBzSUM1bVlXNWplV0p2ZUMxdVlYWWlLUzV5WlcxdmRtVW9LU2s3WWk1MWJtSnBibVJGZG1WdWRITW9LVHNLWlQxaExtTnZiblJsYm5RN1l6MWhMblI1Y0dVN2FqMWhMbk5qY205c2JHbHVaenRtTG1WNGRHVnVaQ2hpTEh0M2NtRndPbUV1ZDNKaGNDeHphMmx1T21FdWMydHBiaXh2ZFhSbGNqcGhMbTkxZEdWeUxHbHVibVZ5T21FdWFXNXVaWElzWTNWeWNtVnVkRHBoTEhCeVpYWnBiM1Z6T21SOUtUdG5QV0V1YUhKbFpqdHpkMmwwWTJnb1l5bDdZMkZ6WlNBaWFXNXNhVzVsSWpwallYTmxJQ0poYW1GNElqcGpZWE5sSUNKb2RHMXNJanBoTG5ObGJHVmpkRzl5UDJVOVppZ2lQR1JwZGo0aUtTNW9kRzFzS0dVcExtWnBibVFvWVM1elpXeGxZM1J2Y2lrNmN5aGxLU1ltS0dVdVpHRjBZU2dpWm1GdVkzbGliM2d0Y0d4aFkyVm9iMnhrWlhJaUtYeDhaUzVrWVhSaEtDSm1ZVzVqZVdKdmVDMXdiR0ZqWldodmJHUmxjaUlzWmlnblBHUnBkaUJqYkdGemN6MGlabUZ1WTNsaWIzZ3RjR3hoWTJWb2IyeGtaWElpUGp3dlpHbDJQaWNwTG1sdWMyVnlkRUZtZEdWeUtHVXBMbWhwWkdVb0tTa3NaVDFsTG5Ob2IzY29LUzVrWlhSaFkyZ29LU3hoTG5keVlYQXVZbWx1WkNnaWIyNVNaWE5sZENJc1puVnVZM1JwYjI0b0tYdG1LSFJvYVhNcExtWnBibVFvWlNrdWJHVnVaM1JvSmlabExtaHBaR1VvS1M1eVpYQnNZV05sUVd4c0tHVXVaR0YwWVNnaVptRnVZM2xpYjNndGNHeGhZMlZvYjJ4a1pYSWlLU2t1WkdGMFlTZ2labUZ1WTNsaWIzZ3RjR3hoWTJWb2IyeGtaWElpTEFvaE1TbDlLU2s3WW5KbFlXczdZMkZ6WlNBaWFXMWhaMlVpT21VOVlTNTBjR3d1YVcxaFoyVXVjbVZ3YkdGalpTZ2llMmh5WldaOUlpeG5LVHRpY21WaGF6dGpZWE5sSUNKemQyWWlPbVU5Snp4dlltcGxZM1FnYVdROUltWmhibU41WW05NExYTjNaaUlnWTJ4aGMzTnBaRDBpWTJ4emFXUTZSREkzUTBSQ05rVXRRVVUyUkMweE1XTm1MVGsyUWpndE5EUTBOVFV6TlRRd01EQXdJaUIzYVdSMGFEMGlNVEF3SlNJZ2FHVnBaMmgwUFNJeE1EQWxJajQ4Y0dGeVlXMGdibUZ0WlQwaWJXOTJhV1VpSUhaaGJIVmxQU0luSzJjckp5SStQQzl3WVhKaGJUNG5MR2c5SWlJc1ppNWxZV05vS0dFdWMzZG1MR1oxYm1OMGFXOXVLR0VzWWlsN1pTczlKenh3WVhKaGJTQnVZVzFsUFNJbksyRXJKeUlnZG1Gc2RXVTlJaWNyWWlzbklqNDhMM0JoY21GdFBpYzdhQ3M5SWlBaUsyRXJKejBpSnl0aUt5Y2lKMzBwTEdVclBTYzhaVzFpWldRZ2MzSmpQU0luSzJjckp5SWdkSGx3WlQwaVlYQndiR2xqWVhScGIyNHZlQzF6YUc5amEzZGhkbVV0Wm14aGMyZ2lJSGRwWkhSb1BTSXhNREFsSWlCb1pXbG5hSFE5SWpFd01DVWlKeXRvS3lJK1BDOWxiV0psWkQ0OEwyOWlhbVZqZEQ0aWZTZ2hjeWhsS1h4OElXVXVjR0Z5Wlc1MEtDa3VhWE1vWVM1cGJtNWxjaWtwSmlaaExtbHVibVZ5TG1Gd2NHVnVaQ2hsS1R0aUxuUnlhV2RuWlhJb0ltSmxabTl5WlZOb2IzY2lLVHNLWVM1cGJtNWxjaTVqYzNNb0ltOTJaWEptYkc5M0lpd2llV1Z6SWowOVBXby9Jbk5qY205c2JDSTZJbTV2SWowOVBXby9JbWhwWkdSbGJpSTZhaWs3WWk1ZmMyVjBSR2x0Wlc1emFXOXVLQ2s3WWk1eVpYQnZjMmwwYVc5dUtDazdZaTVwYzA5d1pXNDlJVEU3WWk1amIyMXBibWM5Ym5Wc2JEdGlMbUpwYm1SRmRtVnVkSE1vS1R0cFppaGlMbWx6VDNCbGJtVmtLWHRwWmloa0xuQnlaWFpOWlhSb2IyUXBZaTUwY21GdWMybDBhVzl1YzF0a0xuQnlaWFpOWlhSb2IyUmRLQ2w5Wld4elpTQm1LQ0l1Wm1GdVkzbGliM2d0ZDNKaGNDSXBMbTV2ZENoaExuZHlZWEFwTG5OMGIzQW9JVEFwTG5SeWFXZG5aWElvSW05dVVtVnpaWFFpS1M1eVpXMXZkbVVvS1R0aUxuUnlZVzV6YVhScGIyNXpXMkl1YVhOUGNHVnVaV1EvWVM1dVpYaDBUV1YwYUc5a09tRXViM0JsYmsxbGRHaHZaRjBvS1R0aUxsOXdjbVZzYjJGa1NXMWhaMlZ6S0NsOWZTeGZjMlYwUkdsdFpXNXphVzl1T21aMWJtTjBhVzl1S0NsN2RtRnlJR0U5WWk1blpYUldhV1YzY0c5eWRDZ3BMR1E5TUN4bFBTRXhMR005SVRFc1pUMWlMbmR5WVhBc2FqMWlMbk5yYVc0c1p6MWlMbWx1Ym1WeUxHZzlZaTVqZFhKeVpXNTBMR005YUM1M2FXUjBhQ3hwUFdndWFHVnBaMmgwTEd3OWFDNXRhVzVYYVdSMGFDeDBQV2d1YldsdVNHVnBaMmgwTEcwOWFDNXRZWGhYYVdSMGFDd0tiajFvTG0xaGVFaGxhV2RvZEN4eVBXZ3VjMk55YjJ4c2FXNW5MSEE5YUM1elkzSnZiR3hQZFhSemFXUmxQMmd1YzJOeWIyeHNZbUZ5VjJsa2RHZzZNQ3gzUFdndWJXRnlaMmx1TEhrOWF5aDNXekZkSzNkYk0xMHBMSEU5YXloM1d6QmRLM2RiTWwwcExIZ3NlaXh6TEVNc1FTeEdMRUlzUkN4MU8yVXVZV1JrS0dvcExtRmtaQ2huS1M1M2FXUjBhQ2dpWVhWMGJ5SXBMbWhsYVdkb2RDZ2lZWFYwYnlJcExuSmxiVzkyWlVOc1lYTnpLQ0ptWVc1amVXSnZlQzEwYlhBaUtUdDNQV3NvYWk1dmRYUmxjbGRwWkhSb0tDRXdLUzFxTG5kcFpIUm9LQ2twTzNnOWF5aHFMbTkxZEdWeVNHVnBaMmgwS0NFd0tTMXFMbWhsYVdkb2RDZ3BLVHQ2UFhrcmR6dHpQWEVyZUR0RFBVVW9ZeWsvS0dFdWR5MTZLU3ByS0dNcEx6RXdNRHBqTzBFOVJTaHBLVDhvWVM1b0xYTXBLbXNvYVNrdk1UQXdPbWs3YVdZb0ltbG1jbUZ0WlNJOVBUMW9MblI1Y0dVcGUybG1LSFU5YUM1amIyNTBaVzUwTEdndVlYVjBiMGhsYVdkb2RDWW1NVDA5UFhVdVpHRjBZU2dpY21WaFpIa2lLU2wwY25sN2RWc3dYUzVqYjI1MFpXNTBWMmx1Wkc5M0xtUnZZM1Z0Wlc1MExteHZZMkYwYVc5dUppWW9aeTUzYVdSMGFDaERLUzVvWldsbmFIUW9PVGs1T1Nrc1JqMTFMbU52Ym5SbGJuUnpLQ2t1Wm1sdVpDZ2lZbTlrZVNJcExIQW1Ka1l1WTNOektDSnZkbVZ5Wm14dmR5MTRJaXdLSW1ocFpHUmxiaUlwTEVFOVJpNW9aV2xuYUhRb0tTbDlZMkYwWTJnb1J5bDdmWDFsYkhObElHbG1LR2d1WVhWMGIxZHBaSFJvZkh4b0xtRjFkRzlJWldsbmFIUXBaeTVoWkdSRGJHRnpjeWdpWm1GdVkzbGliM2d0ZEcxd0lpa3NhQzVoZFhSdlYybGtkR2g4ZkdjdWQybGtkR2dvUXlrc2FDNWhkWFJ2U0dWcFoyaDBmSHhuTG1obGFXZG9kQ2hCS1N4b0xtRjFkRzlYYVdSMGFDWW1LRU05Wnk1M2FXUjBhQ2dwS1N4b0xtRjFkRzlJWldsbmFIUW1KaWhCUFdjdWFHVnBaMmgwS0NrcExHY3VjbVZ0YjNabFEyeGhjM01vSW1aaGJtTjVZbTk0TFhSdGNDSXBPMk05YXloREtUdHBQV3NvUVNrN1JEMURMMEU3YkQxcktFVW9iQ2svYXloc0xDSjNJaWt0ZWpwc0tUdHRQV3NvUlNodEtUOXJLRzBzSW5jaUtTMTZPbTBwTzNROWF5aEZLSFFwUDJzb2RDd2lhQ0lwTFhNNmRDazdiajFyS0VVb2Jpay9heWh1TENKb0lpa3RjenB1S1R0R1BXMDdRajF1TzJndVptbDBWRzlXYVdWM0ppWW9iVDFOWVhSb0xtMXBiaWhoTG5jdGVpeHRLU3h1UFUxaGRHZ3ViV2x1S0dFdWFDMXpMRzRwS1R0NlBXRXVkeTE1TzNFOVlTNW9MWEU3YUM1aGMzQmxZM1JTWVhScGJ6OG9ZejV0SmlZb1l6MXRMR2s5YXloakwwUXBLU3hwUG00bUppaHBQVzRzWXoxcktHa3FSQ2twTEdNOGJDWW1LR005YkN4cFBXc29ZeTlFS1Nrc2FUeDBKaVlLS0drOWRDeGpQV3NvYVNwRUtTa3BPaWhqUFUxaGRHZ3ViV0Y0S0d3c1RXRjBhQzV0YVc0b1l5eHRLU2tzYUM1aGRYUnZTR1ZwWjJoMEppWWlhV1p5WVcxbElpRTlQV2d1ZEhsd1pTWW1LR2N1ZDJsa2RHZ29ZeWtzYVQxbkxtaGxhV2RvZENncEtTeHBQVTFoZEdndWJXRjRLSFFzVFdGMGFDNXRhVzRvYVN4dUtTa3BPMmxtS0dndVptbDBWRzlXYVdWM0tXbG1LR2N1ZDJsa2RHZ29ZeWt1YUdWcFoyaDBLR2twTEdVdWQybGtkR2dvWXl0M0tTeGhQV1V1ZDJsa2RHZ29LU3g1UFdVdWFHVnBaMmgwS0Nrc2FDNWhjM0JsWTNSU1lYUnBieWxtYjNJb095aGhQbnA4ZkhrK2NTa21KaWhqUG13bUptaytkQ2ttSmlFb01UazhaQ3NyS1RzcGFUMU5ZWFJvTG0xaGVDaDBMRTFoZEdndWJXbHVLRzRzYVMweE1Da3BMR005YXlocEtrUXBMR004YkNZbUtHTTliQ3hwUFdzb1l5OUVLU2tzWXo1dEppWW9ZejF0TEdrOWF5aGpMMFFwS1N4bkxuZHBaSFJvS0dNcExtaGxhV2RvZENocEtTeGxMbmRwWkhSb0tHTXJkeWtzWVQxbExuZHBaSFJvS0Nrc2VUMWxMbWhsYVdkb2RDZ3BPMlZzYzJVZ1l6MU5ZWFJvTG0xaGVDaHNMRTFoZEdndWJXbHVLR01zWXkwb1lTMTZLU2twTEdrOVRXRjBhQzV0WVhnb2RDeE5ZWFJvTG0xcGJpaHBMR2t0S0hrdGNTa3BLVHR3SmlZb0ltRjFkRzhpUFQwOWNpWW1hVHhCSmlaakszY3JDbkE4ZWlrbUppaGpLejF3S1R0bkxuZHBaSFJvS0dNcExtaGxhV2RvZENocEtUdGxMbmRwWkhSb0tHTXJkeWs3WVQxbExuZHBaSFJvS0NrN2VUMWxMbWhsYVdkb2RDZ3BPMlU5S0dFK2VueDhlVDV4S1NZbVl6NXNKaVpwUG5RN1l6MW9MbUZ6Y0dWamRGSmhkR2x2UDJNOFJpWW1hVHhDSmlaalBFTW1KbWs4UVRvb1l6eEdmSHhwUEVJcEppWW9ZenhEZkh4cFBFRXBPMll1WlhoMFpXNWtLR2dzZTJScGJUcDdkMmxrZEdnNmRpaGhLU3hvWldsbmFIUTZkaWg1S1gwc2IzSnBaMWRwWkhSb09rTXNiM0pwWjBobGFXZG9kRHBCTEdOaGJsTm9jbWx1YXpwbExHTmhia1Y0Y0dGdVpEcGpMSGRRWVdSa2FXNW5PbmNzYUZCaFpHUnBibWM2ZUN4M2NtRndVM0JoWTJVNmVTMXFMbTkxZEdWeVNHVnBaMmgwS0NFd0tTeHphMmx1VTNCaFkyVTZhaTVvWldsbmFIUW9LUzFwZlNrN0lYVW1KaWhvTG1GMWRHOUlaV2xuYUhRbUptaytkQ1ltYVR4dUppWWhZeWttSm1jdWFHVnBaMmgwS0NKaGRYUnZJaWw5TEY5blpYUlFiM05wZEdsdmJqcG1kVzVqZEdsdmJpaGhLWHQyWVhJZ1pEMWlMbU4xY25KbGJuUXNaVDFpTG1kbGRGWnBaWGR3YjNKMEtDa3NZejFrTG0xaGNtZHBiaXhtUFdJdWQzSmhjQzUzYVdSMGFDZ3BLMk5iTVYwclkxc3pYU3huUFdJdWQzSmhjQzVvWldsbmFIUW9LU3RqV3pCZEsyTmJNbDBzWXoxN2NHOXphWFJwYjI0NkltRmljMjlzZFhSbElpd0tkRzl3T21OYk1GMHNiR1ZtZERwald6TmRmVHRrTG1GMWRHOURaVzUwWlhJbUptUXVabWw0WldRbUppRmhKaVpuUEQxbExtZ21KbVk4UFdVdWR6OWpMbkJ2YzJsMGFXOXVQU0ptYVhobFpDSTZaQzVzYjJOclpXUjhmQ2hqTG5SdmNDczlaUzU1TEdNdWJHVm1kQ3M5WlM1NEtUdGpMblJ2Y0QxMktFMWhkR2d1YldGNEtHTXVkRzl3TEdNdWRHOXdLeWhsTG1ndFp5a3FaQzUwYjNCU1lYUnBieWtwTzJNdWJHVm1kRDEyS0UxaGRHZ3ViV0Y0S0dNdWJHVm1kQ3hqTG14bFpuUXJLR1V1ZHkxbUtTcGtMbXhsWm5SU1lYUnBieWtwTzNKbGRIVnliaUJqZlN4ZllXWjBaWEphYjI5dFNXNDZablZ1WTNScGIyNG9LWHQyWVhJZ1lUMWlMbU4xY25KbGJuUTdZU1ltS0dJdWFYTlBjR1Z1UFdJdWFYTlBjR1Z1WldROUlUQXNZaTUzY21Gd0xtTnpjeWdpYjNabGNtWnNiM2NpTENKMmFYTnBZbXhsSWlrdVlXUmtRMnhoYzNNb0ltWmhibU41WW05NExXOXdaVzVsWkNJcExHSXVkWEJrWVhSbEtDa3NLR0V1WTJ4dmMyVkRiR2xqYTN4OFlTNXVaWGgwUTJ4cFkyc21KakU4WWk1bmNtOTFjQzVzWlc1bmRHZ3BKaVppTG1sdWJtVnlMbU56Y3lnaVkzVnljMjl5SWl3aWNHOXBiblJsY2lJcExtSnBibVFvSW1Oc2FXTnJMbVppSWl4bWRXNWpkR2x2Ymloa0tYc2haaWhrTG5SaGNtZGxkQ2t1YVhNb0ltRWlLU1ltSVdZb1pDNTBZWEpuWlhRcExuQmhjbVZ1ZENncExtbHpLQ0poSWlrbUpnb29aQzV3Y21WMlpXNTBSR1ZtWVhWc2RDZ3BMR0piWVM1amJHOXpaVU5zYVdOclB5SmpiRzl6WlNJNkltNWxlSFFpWFNncEtYMHBMR0V1WTJ4dmMyVkNkRzRtSm1Zb1lTNTBjR3d1WTJ4dmMyVkNkRzRwTG1Gd2NHVnVaRlJ2S0dJdWMydHBiaWt1WW1sdVpDaHVQeUowYjNWamFITjBZWEowTG1aaUlqb2lZMnhwWTJzdVptSWlMR1oxYm1OMGFXOXVLR0VwZTJFdWNISmxkbVZ1ZEVSbFptRjFiSFFvS1R0aUxtTnNiM05sS0NsOUtTeGhMbUZ5Y205M2N5WW1NVHhpTG1keWIzVndMbXhsYm1kMGFDWW1LQ2hoTG14dmIzQjhmREE4WVM1cGJtUmxlQ2ttSm1Zb1lTNTBjR3d1Y0hKbGRpa3VZWEJ3Wlc1a1ZHOG9ZaTV2ZFhSbGNpa3VZbWx1WkNnaVkyeHBZMnN1Wm1JaUxHSXVjSEpsZGlrc0tHRXViRzl2Y0h4OFlTNXBibVJsZUR4aUxtZHliM1Z3TG14bGJtZDBhQzB4S1NZbVppaGhMblJ3YkM1dVpYaDBLUzVoY0hCbGJtUlVieWhpTG05MWRHVnlLUzVpYVc1a0tDSmpiR2xqYXk1bVlpSXNZaTV1WlhoMEtTa3NZaTUwY21sbloyVnlLQ0poWm5SbGNsTm9iM2NpS1N3aFlTNXNiMjl3SmlaaExtbHVaR1Y0UFQwOVlTNW5jbTkxY0M1c1pXNW5kR2d0TVQ5aUxuQnNZWGtvSVRFcE9tSXViM0IwY3k1aGRYUnZVR3hoZVNZbUlXSXVjR3hoZVdWeUxtbHpRV04wYVhabEppWW9ZaTV2Y0hSekxtRjFkRzlRYkdGNVBRb2hNU3hpTG5Cc1lYa29LU2twZlN4ZllXWjBaWEphYjI5dFQzVjBPbVoxYm1OMGFXOXVLR0VwZTJFOVlYeDhZaTVqZFhKeVpXNTBPMllvSWk1bVlXNWplV0p2ZUMxM2NtRndJaWt1ZEhKcFoyZGxjaWdpYjI1U1pYTmxkQ0lwTG5KbGJXOTJaU2dwTzJZdVpYaDBaVzVrS0dJc2UyZHliM1Z3T250OUxHOXdkSE02ZTMwc2NtOTFkR1Z5T2lFeExHTjFjbkpsYm5RNmJuVnNiQ3hwYzBGamRHbDJaVG9oTVN4cGMwOXdaVzVsWkRvaE1TeHBjMDl3Wlc0NklURXNhWE5EYkc5emFXNW5PaUV4TEhkeVlYQTZiblZzYkN4emEybHVPbTUxYkd3c2IzVjBaWEk2Ym5Wc2JDeHBibTVsY2pwdWRXeHNmU2s3WWk1MGNtbG5aMlZ5S0NKaFpuUmxja05zYjNObElpeGhLWDE5S1R0aUxuUnlZVzV6YVhScGIyNXpQWHRuWlhSUGNtbG5VRzl6YVhScGIyNDZablZ1WTNScGIyNG9LWHQyWVhJZ1lUMWlMbU4xY25KbGJuUXNaRDFoTG1Wc1pXMWxiblFzWlQxaExtOXlhV2NzWXoxN2ZTeG1QVFV3TEdjOU5UQXNhRDFoTG1oUVlXUmthVzVuTEdrOVlTNTNVR0ZrWkdsdVp5eHNQV0l1WjJWMFZtbGxkM0J2Y25Rb0tUc2haU1ltS0dFdWFYTkViMjBtSm1RdWFYTW9JanAyYVhOcFlteGxJaWtwSmlZb1pUMWtMbVpwYm1Rb0ltbHRaenBtYVhKemRDSXBMR1V1YkdWdVozUm9mSHdvWlQxa0tTazdjeWhsS1Q4b1l6MWxMbTltWm5ObGRDZ3BMQXBsTG1sektDSnBiV2NpS1NZbUtHWTlaUzV2ZFhSbGNsZHBaSFJvS0Nrc1p6MWxMbTkxZEdWeVNHVnBaMmgwS0NrcEtUb29ZeTUwYjNBOWJDNTVLeWhzTG1ndFp5a3FZUzUwYjNCU1lYUnBieXhqTG14bFpuUTliQzU0S3loc0xuY3RaaWtxWVM1c1pXWjBVbUYwYVc4cE8ybG1LQ0ptYVhobFpDSTlQVDFpTG5keVlYQXVZM056S0NKd2IzTnBkR2x2YmlJcGZIeGhMbXh2WTJ0bFpDbGpMblJ2Y0MwOWJDNTVMR011YkdWbWRDMDliQzU0TzNKbGRIVnliaUJqUFh0MGIzQTZkaWhqTG5SdmNDMW9LbUV1ZEc5d1VtRjBhVzhwTEd4bFpuUTZkaWhqTG14bFpuUXRhU3BoTG14bFpuUlNZWFJwYnlrc2QybGtkR2c2ZGlobUsya3BMR2hsYVdkb2REcDJLR2NyYUNsOWZTeHpkR1Z3T21aMWJtTjBhVzl1S0dFc1pDbDdkbUZ5SUdVc1l5eG1QV1F1Y0hKdmNEdGpQV0l1WTNWeWNtVnVkRHQyWVhJZ1p6MWpMbmR5WVhCVGNHRmpaU3hvUFdNdWMydHBibE53WVdObE8ybG1LQ0ozYVdSMGFDSTlQVDFtZkh3aWFHVnBaMmgwSWowOVBXWXBaVDFrTG1WdVpEMDlQV1F1YzNSaGNuUS9NVG9vWVMxa0xuTjBZWEowS1M4b1pDNWxibVF0WkM1emRHRnlkQ2tzWWk1cGMwTnNiM05wYm1jbUppaGxQVEV0WlNrc1l6MGlkMmxrZEdnaVBUMDlaajlqTG5kUVlXUmthVzVuT21NdWFGQmhaR1JwYm1jc1l6MWhMV01zWWk1emEybHVXMlpkS0dzb0luZHBaSFJvSWowOVBRcG1QMk02WXkxbkttVXBLU3hpTG1sdWJtVnlXMlpkS0dzb0luZHBaSFJvSWowOVBXWS9ZenBqTFdjcVpTMW9LbVVwS1gwc2VtOXZiVWx1T21aMWJtTjBhVzl1S0NsN2RtRnlJR0U5WWk1amRYSnlaVzUwTEdROVlTNXdiM01zWlQxaExtOXdaVzVGWm1abFkzUXNZejBpWld4aGMzUnBZeUk5UFQxbExHbzlaaTVsZUhSbGJtUW9lMjl3WVdOcGRIazZNWDBzWkNrN1pHVnNaWFJsSUdvdWNHOXphWFJwYjI0N1l6OG9aRDEwYUdsekxtZGxkRTl5YVdkUWIzTnBkR2x2YmlncExHRXViM0JsYms5d1lXTnBkSGttSmloa0xtOXdZV05wZEhrOU1DNHhLU2s2SW1aaFpHVWlQVDA5WlNZbUtHUXViM0JoWTJsMGVUMHdMakVwTzJJdWQzSmhjQzVqYzNNb1pDa3VZVzVwYldGMFpTaHFMSHRrZFhKaGRHbHZiam9pYm05dVpTSTlQVDFsUHpBNllTNXZjR1Z1VTNCbFpXUXNaV0Z6YVc1bk9tRXViM0JsYmtWaGMybHVaeXh6ZEdWd09tTS9kR2hwY3k1emRHVndPbTUxYkd3c1kyOXRjR3hsZEdVNllpNWZZV1owWlhKYWIyOXRTVzU5S1gwc2VtOXZiVTkxZERwbWRXNWpkR2x2YmlncGUzWmhjaUJoUFdJdVkzVnljbVZ1ZEN4a1BXRXVZMnh2YzJWRlptWmxZM1FzWlQwaVpXeGhjM1JwWXlJOVBUMWtMR005ZTI5d1lXTnBkSGs2TUM0eGZUdGxKaVlvWXoxMGFHbHpMbWRsZEU5eWFXZFFiM05wZEdsdmJpZ3BMR0V1WTJ4dmMyVlBjR0ZqYVhSNUppWUtLR011YjNCaFkybDBlVDB3TGpFcEtUdGlMbmR5WVhBdVlXNXBiV0YwWlNoakxIdGtkWEpoZEdsdmJqb2libTl1WlNJOVBUMWtQekE2WVM1amJHOXpaVk53WldWa0xHVmhjMmx1WnpwaExtTnNiM05sUldGemFXNW5MSE4wWlhBNlpUOTBhR2x6TG5OMFpYQTZiblZzYkN4amIyMXdiR1YwWlRwaUxsOWhablJsY2xwdmIyMVBkWFI5S1gwc1kyaGhibWRsU1c0NlpuVnVZM1JwYjI0b0tYdDJZWElnWVQxaUxtTjFjbkpsYm5Rc1pEMWhMbTVsZUhSRlptWmxZM1FzWlQxaExuQnZjeXhqUFh0dmNHRmphWFI1T2pGOUxHWTlZaTVrYVhKbFkzUnBiMjRzWnp0bExtOXdZV05wZEhrOU1DNHhPeUpsYkdGemRHbGpJajA5UFdRbUppaG5QU0prYjNkdUlqMDlQV1o4ZkNKMWNDSTlQVDFtUHlKMGIzQWlPaUpzWldaMElpd2laRzkzYmlJOVBUMW1mSHdpY21sbmFIUWlQVDA5Wmo4b1pWdG5YVDEyS0dzb1pWdG5YU2t0TWpBd0tTeGpXMmRkUFNJclBUSXdNSEI0SWlrNktHVmJaMTA5ZGlocktHVmJaMTBwS3pJd01Da3NZMXRuWFQwaUxUMHlNREJ3ZUNJcEtUc2libTl1WlNJOVBUMWtQMkl1WDJGbWRHVnlXbTl2YlVsdUtDazZZaTUzY21Gd0xtTnpjeWhsS1M1aGJtbHRZWFJsS0dNc2UyUjFjbUYwYVc5dU9tRXVibVY0ZEZOd1pXVmtMR1ZoYzJsdVp6cGhMbTVsZUhSRllYTnBibWNzWTI5dGNHeGxkR1U2Wm5WdVkzUnBiMjRvS1h0elpYUlVhVzFsYjNWMEtHSXVYMkZtZEdWeVdtOXZiVWx1TEFveU1DbDlmU2w5TEdOb1lXNW5aVTkxZERwbWRXNWpkR2x2YmlncGUzWmhjaUJoUFdJdWNISmxkbWx2ZFhNc1pEMWhMbkJ5WlhaRlptWmxZM1FzWlQxN2IzQmhZMmwwZVRvd0xqRjlMR005WWk1a2FYSmxZM1JwYjI0N0ltVnNZWE4wYVdNaVBUMDlaQ1ltS0dWYkltUnZkMjRpUFQwOVkzeDhJblZ3SWowOVBXTS9JblJ2Y0NJNklteGxablFpWFQwb0luVndJajA5UFdOOGZDSnNaV1owSWowOVBXTS9JaTBpT2lJcklpa3JJajB5TURCd2VDSXBPMkV1ZDNKaGNDNWhibWx0WVhSbEtHVXNlMlIxY21GMGFXOXVPaUp1YjI1bElqMDlQV1EvTURwaExuQnlaWFpUY0dWbFpDeGxZWE5wYm1jNllTNXdjbVYyUldGemFXNW5MR052YlhCc1pYUmxPbVoxYm1OMGFXOXVLQ2w3WmloMGFHbHpLUzUwY21sbloyVnlLQ0p2YmxKbGMyVjBJaWt1Y21WdGIzWmxLQ2w5ZlNsOWZUdGlMbWhsYkhCbGNuTXViM1psY214aGVUMTdaR1ZtWVhWc2RITTZlMk5zYjNObFEyeHBZMnM2SVRBc2MzQmxaV1JQZFhRNk1qQXdMSE5vYjNkRllYSnNlVG9oTUN4amMzTTZlMzBzYkc5amEyVmtPaUZ1TEdacGVHVmtPaUV3ZlN4dmRtVnliR0Y1T201MWJHd3NabWw0WldRNklURXNZM0psWVhSbE9tWjFibU4wYVc5dUtHRXBlMkU5Wmk1bGVIUmxibVFvZTMwc2RHaHBjeTVrWldaaGRXeDBjeXhoS1R0MGFHbHpMbTkyWlhKc1lYa21KblJvYVhNdVkyeHZjMlVvS1RzS2RHaHBjeTV2ZG1WeWJHRjVQV1lvSnp4a2FYWWdZMnhoYzNNOUltWmhibU41WW05NExXOTJaWEpzWVhraVBqd3ZaR2wyUGljcExtRndjR1Z1WkZSdktDSmliMlI1SWlrN2RHaHBjeTVtYVhobFpEMGhNVHRoTG1acGVHVmtKaVppTG1SbFptRjFiSFJ6TG1acGVHVmtKaVlvZEdocGN5NXZkbVZ5YkdGNUxtRmtaRU5zWVhOektDSm1ZVzVqZVdKdmVDMXZkbVZ5YkdGNUxXWnBlR1ZrSWlrc2RHaHBjeTVtYVhobFpEMGhNQ2w5TEc5d1pXNDZablZ1WTNScGIyNG9ZU2w3ZG1GeUlHUTlkR2hwY3l4aFBXWXVaWGgwWlc1a0tIdDlMSFJvYVhNdVpHVm1ZWFZzZEhNc1lTazdkR2hwY3k1dmRtVnliR0Y1UDNSb2FYTXViM1psY214aGVTNTFibUpwYm1Rb0lpNXZkbVZ5YkdGNUlpa3VkMmxrZEdnb0ltRjFkRzhpS1M1b1pXbG5hSFFvSW1GMWRHOGlLVHAwYUdsekxtTnlaV0YwWlNoaEtUdDBhR2x6TG1acGVHVmtmSHdvY2k1aWFXNWtLQ0p5WlhOcGVtVXViM1psY214aGVTSXNaaTV3Y205NGVTaDBhR2x6TG5Wd1pHRjBaU3gwYUdsektTa3NkR2hwY3k1MWNHUmhkR1VvS1NrN1lTNWpiRzl6WlVOc2FXTnJKaVowYUdsekxtOTJaWEpzWVhrdVltbHVaQ2dpWTJ4cFkyc3ViM1psY214aGVTSXNablZ1WTNScGIyNG9ZU2w3WmloaExuUmhjbWRsZENrdWFHRnpRMnhoYzNNb0ltWmhibU41WW05NExXOTJaWEpzWVhraUtTWW1DaWhpTG1selFXTjBhWFpsUDJJdVkyeHZjMlVvS1Rwa0xtTnNiM05sS0NrcGZTazdkR2hwY3k1dmRtVnliR0Y1TG1OemN5aGhMbU56Y3lrdWMyaHZkeWdwZlN4amJHOXpaVHBtZFc1amRHbHZiaWdwZTJZb0lpNW1ZVzVqZVdKdmVDMXZkbVZ5YkdGNUlpa3VjbVZ0YjNabEtDazdjaTUxYm1KcGJtUW9JbkpsYzJsNlpTNXZkbVZ5YkdGNUlpazdkR2hwY3k1dmRtVnliR0Y1UFc1MWJHdzdJVEVoUFQxMGFHbHpMbTFoY21kcGJpWW1LR1lvSW1KdlpIa2lLUzVqYzNNb0ltMWhjbWRwYmkxeWFXZG9kQ0lzZEdocGN5NXRZWEpuYVc0cExIUm9hWE11YldGeVoybHVQU0V4S1R0MGFHbHpMbVZzSmlaMGFHbHpMbVZzTG5KbGJXOTJaVU5zWVhOektDSm1ZVzVqZVdKdmVDMXNiMk5ySWlsOUxIVndaR0YwWlRwbWRXNWpkR2x2YmlncGUzWmhjaUJoUFNJeE1EQWxJaXhpTzNSb2FYTXViM1psY214aGVTNTNhV1IwYUNoaEtTNW9aV2xuYUhRb0lqRXdNQ1VpS1R0bUxtSnliM2R6WlhJdWJYTnBaVDhvWWoxTllYUm9MbTFoZUNoNExtUnZZM1Z0Wlc1MFJXeGxiV1Z1ZEM1dlptWnpaWFJYYVdSMGFDeDRMbUp2WkhrdWIyWm1jMlYwVjJsa2RHZ3BMRzB1ZDJsa2RHZ29LVDVpSmlZb1lUMXRMbmRwWkhSb0tDa3BLVHB0TG5kcFpIUm9LQ2srY2k1M2FXUjBhQ2dwSmlZb1lUMXRMbmRwWkhSb0tDa3BPM1JvYVhNdWIzWmxjbXhoZVM1M2FXUjBhQ2hoS1M1b1pXbG5hSFFvYlM1b1pXbG5hSFFvS1NsOUxBcHZibEpsWVdSNU9tWjFibU4wYVc5dUtHRXNZaWw3WmlnaUxtWmhibU41WW05NExXOTJaWEpzWVhraUtTNXpkRzl3S0NFd0xDRXdLVHQwYUdsekxtOTJaWEpzWVhsOGZDaDBhR2x6TG0xaGNtZHBiajF0TG1obGFXZG9kQ2dwUG5JdWFHVnBaMmgwS0NsOGZDSnpZM0p2Ykd3aVBUMDlaaWdpWW05a2VTSXBMbU56Y3lnaWIzWmxjbVpzYjNjdGVTSXBQMllvSW1KdlpIa2lLUzVqYzNNb0ltMWhjbWRwYmkxeWFXZG9kQ0lwT2lFeExIUm9hWE11Wld3OWVDNWhiR3dtSmlGNExuRjFaWEo1VTJWc1pXTjBiM0kvWmlnaWFIUnRiQ0lwT21Zb0ltSnZaSGtpS1N4MGFHbHpMbU55WldGMFpTaGhLU2s3WVM1c2IyTnJaV1FtSm5Sb2FYTXVabWw0WldRbUppaGlMbXh2WTJ0bFpEMTBhR2x6TG05MlpYSnNZWGt1WVhCd1pXNWtLR0l1ZDNKaGNDa3NZaTVtYVhobFpEMGhNU2s3SVRBOVBUMWhMbk5vYjNkRllYSnNlU1ltZEdocGN5NWlaV1p2Y21WVGFHOTNMbUZ3Y0d4NUtIUm9hWE1zWVhKbmRXMWxiblJ6S1gwc1ltVm1iM0psVTJodmR6cG1kVzVqZEdsdmJpaGhMR0lwZTJJdWJHOWphMlZrSmlZb2RHaHBjeTVsYkM1aFpHUkRiR0Z6Y3lnaVptRnVZM2xpYjNndGJHOWpheUlwTENFeElUMDlkR2hwY3k1dFlYSm5hVzRtSm1Zb0ltSnZaSGtpS1M1amMzTW9JbTFoY21kcGJpMXlhV2RvZENJc2F5aDBhR2x6TG0xaGNtZHBiaWtyQ21JdWMyTnliMnhzWW1GeVYybGtkR2dwS1R0MGFHbHpMbTl3Wlc0b1lTbDlMRzl1VlhCa1lYUmxPbVoxYm1OMGFXOXVLQ2w3ZEdocGN5NW1hWGhsWkh4OGRHaHBjeTUxY0dSaGRHVW9LWDBzWVdaMFpYSkRiRzl6WlRwbWRXNWpkR2x2YmloaEtYdDBhR2x6TG05MlpYSnNZWGttSmlGaUxtbHpRV04wYVhabEppWjBhR2x6TG05MlpYSnNZWGt1Wm1Ga1pVOTFkQ2hoTG5Od1pXVmtUM1YwTEdZdWNISnZlSGtvZEdocGN5NWpiRzl6WlN4MGFHbHpLU2w5ZlR0aUxtaGxiSEJsY25NdWRHbDBiR1U5ZTJSbFptRjFiSFJ6T250MGVYQmxPaUptYkc5aGRDSXNjRzl6YVhScGIyNDZJbUp2ZEhSdmJTSjlMR0psWm05eVpWTm9iM2M2Wm5WdVkzUnBiMjRvWVNsN2RtRnlJR1E5WWk1amRYSnlaVzUwTEdVOVpDNTBhWFJzWlN4alBXRXVkSGx3WlR0bUxtbHpSblZ1WTNScGIyNG9aU2ttSmlobFBXVXVZMkZzYkNoa0xtVnNaVzFsYm5Rc1pDa3BPMmxtS0hBb1pTa21KaUlpSVQwOVppNTBjbWx0S0dVcEtYdGtQV1lvSnp4a2FYWWdZMnhoYzNNOUltWmhibU41WW05NExYUnBkR3hsSUdaaGJtTjVZbTk0TFhScGRHeGxMU2NyWXlzbkxYZHlZWEFpUGljclpTc2lQQzlrYVhZK0lpazdjM2RwZEdOb0tHTXBlMk5oYzJVZ0ltbHVjMmxrWlNJNll6MWlMbk5yYVc0N1luSmxZV3M3WTJGelpTQWliM1YwYzJsa1pTSTZZejBLWWk1M2NtRndPMkp5WldGck8yTmhjMlVnSW05MlpYSWlPbU05WWk1cGJtNWxjanRpY21WaGF6dGtaV1poZFd4ME9tTTlZaTV6YTJsdUxHUXVZWEJ3Wlc1a1ZHOG9JbUp2WkhraUtTeG1MbUp5YjNkelpYSXViWE5wWlNZbVpDNTNhV1IwYUNoa0xuZHBaSFJvS0NrcExHUXVkM0poY0VsdWJtVnlLQ2M4YzNCaGJpQmpiR0Z6Y3owaVkyaHBiR1FpUGp3dmMzQmhiajRuS1N4aUxtTjFjbkpsYm5RdWJXRnlaMmx1V3pKZEt6MU5ZWFJvTG1GaWN5aHJLR1F1WTNOektDSnRZWEpuYVc0dFltOTBkRzl0SWlrcEtYMWtXeUowYjNBaVBUMDlZUzV3YjNOcGRHbHZiajhpY0hKbGNHVnVaRlJ2SWpvaVlYQndaVzVrVkc4aVhTaGpLWDE5ZlR0bUxtWnVMbVpoYm1ONVltOTRQV1oxYm1OMGFXOXVLR0VwZTNaaGNpQmtMR1U5WmloMGFHbHpLU3hqUFhSb2FYTXVjMlZzWldOMGIzSjhmQ0lpTEdvOVpuVnVZM1JwYjI0b1p5bDdkbUZ5SUdnOVppaDBhR2x6S1M1aWJIVnlLQ2tzYVQxa0xHb3NhenNoWnk1amRISnNTMlY1SmlZb0lXY3VZV3gwUzJWNUppWWhaeTV6YUdsbWRFdGxlU1ltSVdjdWJXVjBZVXRsZVNrbUppRm9MbWx6S0NJdVptRnVZM2xpYjNndGQzSmhjQ0lwSmlZb2FqMWhMbWR5YjNWd1FYUjBjbng4SW1SaGRHRXRabUZ1WTNsaWIzZ3RaM0p2ZFhBaUxHczlhQzVoZEhSeUtHb3BMR3Q4ZkNocVBTSnlaV3dpTEFwclBXZ3VaMlYwS0RBcFcycGRLU3hySmlZb0lpSWhQVDFySmlZaWJtOW1iMnhzYjNjaUlUMDlheWttSmlob1BXTXViR1Z1WjNSb1AyWW9ZeWs2WlN4b1BXZ3VabWxzZEdWeUtDSmJJaXRxS3ljOUlpY3JheXNuSWwwbktTeHBQV2d1YVc1a1pYZ29kR2hwY3lrcExHRXVhVzVrWlhnOWFTd2hNU0U5UFdJdWIzQmxiaWhvTEdFcEppWm5MbkJ5WlhabGJuUkVaV1poZFd4MEtDa3BmU3hoUFdGOGZIdDlPMlE5WVM1cGJtUmxlSHg4TURzaFkzeDhJVEU5UFQxaExteHBkbVUvWlM1MWJtSnBibVFvSW1Oc2FXTnJMbVppTFhOMFlYSjBJaWt1WW1sdVpDZ2lZMnhwWTJzdVptSXRjM1JoY25RaUxHb3BPbTB1ZFc1a1pXeGxaMkYwWlNoakxDSmpiR2xqYXk1bVlpMXpkR0Z5ZENJcExtUmxiR1ZuWVhSbEtHTXJJanB1YjNRb0p5NW1ZVzVqZVdKdmVDMXBkR1Z0TENBdVptRnVZM2xpYjNndGJtRjJKeWtpTENKamJHbGpheTVtWWkxemRHRnlkQ0lzYWlrN2RHaHBjeTVtYVd4MFpYSW9JbHRrWVhSaExXWmhibU41WW05NExYTjBZWEowUFRGZElpa3VkSEpwWjJkbGNpZ2lZMnhwWTJzaUtUdHlaWFIxY200Z2RHaHBjMzA3YlM1eVpXRmtlU2htZFc1amRHbHZiaWdwZTJZdWMyTnliMnhzWW1GeVYybGtkR2c5UFQxeEppWW9aaTV6WTNKdmJHeGlZWEpYYVdSMGFEMW1kVzVqZEdsdmJpZ3BlM1poY2lCaFBXWW9KenhrYVhZZ2MzUjViR1U5SW5kcFpIUm9PalV3Y0hnN2FHVnBaMmgwT2pVd2NIZzdiM1psY21ac2IzYzZZWFYwYnlJK1BHUnBkaTgrUEM5a2FYWStKeWt1WVhCd1pXNWtWRzhvSW1KdlpIa2lLU3dLWWoxaExtTm9hV3hrY21WdUtDa3NZajFpTG1sdWJtVnlWMmxrZEdnb0tTMWlMbWhsYVdkb2RDZzVPU2t1YVc1dVpYSlhhV1IwYUNncE8yRXVjbVZ0YjNabEtDazdjbVYwZFhKdUlHSjlLVHRwWmlobUxuTjFjSEJ2Y25RdVptbDRaV1JRYjNOcGRHbHZiajA5UFhFcGUzWmhjaUJoUFdZdWMzVndjRzl5ZEN4a1BXWW9KenhrYVhZZ2MzUjViR1U5SW5CdmMybDBhVzl1T21acGVHVmtPM1J2Y0RveU1IQjRPeUkrUEM5a2FYWStKeWt1WVhCd1pXNWtWRzhvSW1KdlpIa2lLU3hsUFRJd1BUMDlaRnN3WFM1dlptWnpaWFJVYjNCOGZERTFQVDA5WkZzd1hTNXZabVp6WlhSVWIzQTdaQzV5WlcxdmRtVW9LVHRoTG1acGVHVmtVRzl6YVhScGIyNDlaWDFtTG1WNGRHVnVaQ2hpTG1SbFptRjFiSFJ6TEh0elkzSnZiR3hpWVhKWGFXUjBhRHBtTG5OamNtOXNiR0poY2xkcFpIUm9LQ2tzWm1sNFpXUTZaaTV6ZFhCd2IzSjBMbVpwZUdWa1VHOXphWFJwYjI0c2NHRnlaVzUwT21Zb0ltSnZaSGtpS1gwcGZTbDlLU2gzYVc1a2IzY3NaRzlqZFcxbGJuUXNhbEYxWlhKNUtUcz1dXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9qcXVlcnkubW91c2V3aGVlbC0zLjAuNi5wYWNrLmpzPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtMeW9oSUVOdmNIbHlhV2RvZENBb1l5a2dNakF4TVNCQ2NtRnVaRzl1SUVGaGNtOXVJQ2hvZEhSd09pOHZZbkpoYm1SdmJtRmhjbTl1TG01bGRDa0tJQ29nVEdsalpXNXpaV1FnZFc1a1pYSWdkR2hsSUUxSlZDQk1hV05sYm5ObElDaE1TVU5GVGxORkxuUjRkQ2t1Q2lBcUNpQXFJRlJvWVc1cmN5QjBiem9nYUhSMGNEb3ZMMkZrYjIxaGN5NXZjbWN2YW1GMllYTmpjbWx3ZEMxdGIzVnpaUzEzYUdWbGJDOGdabTl5SUhOdmJXVWdjRzlwYm5SbGNuTXVDaUFxSUZSb1lXNXJjeUIwYnpvZ1RXRjBhR2xoY3lCQ1lXNXJLR2gwZEhBNkx5OTNkM2N1YldGMGFHbGhjeTFpWVc1ckxtUmxLU0JtYjNJZ1lTQnpZMjl3WlNCaWRXY2dabWw0TGdvZ0tpQlVhR0Z1YTNNZ2RHODZJRk5sWVcxMWN5Qk1aV0ZvZVNCbWIzSWdZV1JrYVc1bklHUmxiSFJoV0NCaGJtUWdaR1ZzZEdGWkNpQXFDaUFxSUZabGNuTnBiMjQ2SURNdU1DNDJDaUFxSUFvZ0tpQlNaWEYxYVhKbGN6b2dNUzR5TGpJckNpQXFMd29vWm5WdVkzUnBiMjRvWkNsN1puVnVZM1JwYjI0Z1pTaGhLWHQyWVhJZ1lqMWhmSHgzYVc1a2IzY3VaWFpsYm5Rc1l6MWJYUzV6YkdsalpTNWpZV3hzS0dGeVozVnRaVzUwY3l3eEtTeG1QVEFzWlQwd0xHYzlNQ3hoUFdRdVpYWmxiblF1Wm1sNEtHSXBPMkV1ZEhsd1pUMGliVzkxYzJWM2FHVmxiQ0k3WWk1M2FHVmxiRVJsYkhSaEppWW9aajFpTG5kb1pXVnNSR1ZzZEdFdk1USXdLVHRpTG1SbGRHRnBiQ1ltS0dZOUxXSXVaR1YwWVdsc0x6TXBPMmM5Wmp0aUxtRjRhWE1oUFQxMmIybGtJREFtSm1JdVlYaHBjejA5UFdJdVNFOVNTVnBQVGxSQlRGOUJXRWxUSmlZb1p6MHdMR1U5TFRFcVppazdZaTUzYUdWbGJFUmxiSFJoV1NFOVBYWnZhV1FnTUNZbUtHYzlZaTUzYUdWbGJFUmxiSFJoV1M4eE1qQXBPMkl1ZDJobFpXeEVaV3gwWVZnaFBUMTJiMmxrSURBbUppaGxQUzB4S21JdWQyaGxaV3hFWld4MFlWZ3ZNVEl3S1R0akxuVnVjMmhwWm5Rb1lTeG1MR1VzWnlrN2NtVjBkWEp1S0dRdVpYWmxiblF1WkdsemNHRjBZMmg4ZkdRdVpYWmxiblF1YUdGdVpHeGxLUzVoY0hCc2VTaDBhR2x6TEdNcGZYWmhjaUJqUFZzaVJFOU5UVzkxYzJWVFkzSnZiR3dpTENKdGIzVnpaWGRvWldWc0lsMDdhV1lvWkM1bGRtVnVkQzVtYVhoSWIyOXJjeWxtYjNJb2RtRnlJR2c5WXk1c1pXNW5kR2c3YURzcFpDNWxkbVZ1ZEM1bWFYaEliMjlyYzF0ald5MHRhRjFkUFFwa0xtVjJaVzUwTG0xdmRYTmxTRzl2YTNNN1pDNWxkbVZ1ZEM1emNHVmphV0ZzTG0xdmRYTmxkMmhsWld3OWUzTmxkSFZ3T21aMWJtTjBhVzl1S0NsN2FXWW9kR2hwY3k1aFpHUkZkbVZ1ZEV4cGMzUmxibVZ5S1dadmNpaDJZWElnWVQxakxteGxibWQwYUR0aE95bDBhR2x6TG1Ga1pFVjJaVzUwVEdsemRHVnVaWElvWTFzdExXRmRMR1VzWm1Gc2MyVXBPMlZzYzJVZ2RHaHBjeTV2Ym0xdmRYTmxkMmhsWld3OVpYMHNkR1ZoY21SdmQyNDZablZ1WTNScGIyNG9LWHRwWmloMGFHbHpMbkpsYlc5MlpVVjJaVzUwVEdsemRHVnVaWElwWm05eUtIWmhjaUJoUFdNdWJHVnVaM1JvTzJFN0tYUm9hWE11Y21WdGIzWmxSWFpsYm5STWFYTjBaVzVsY2loald5MHRZVjBzWlN4bVlXeHpaU2s3Wld4elpTQjBhR2x6TG05dWJXOTFjMlYzYUdWbGJEMXVkV3hzZlgwN1pDNW1iaTVsZUhSbGJtUW9lMjF2ZFhObGQyaGxaV3c2Wm5WdVkzUnBiMjRvWVNsN2NtVjBkWEp1SUdFL2RHaHBjeTVpYVc1a0tDSnRiM1Z6Wlhkb1pXVnNJaXhoS1RwMGFHbHpMblJ5YVdkblpYSW9JbTF2ZFhObGQyaGxaV3dpS1gwc2RXNXRiM1Z6Wlhkb1pXVnNPbVoxYm1OMGFXOXVLR0VwZTNKbGRIVnliaUIwYUdsekxuVnVZbWx1WkNnaWJXOTFjMlYzYUdWbGJDSXNZU2w5ZlNsOUtTaHFVWFZsY25rcE93PT1dXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9qcXVlcnkudG91Y2hTd2lwZS5taW4uanM8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW0tHWjFibU4wYVc5dUtHUXBlM1poY2lCc1BTSnNaV1owSWl4clBTSnlhV2RvZENJc1l6MGlkWEFpTEhJOUltUnZkMjRpTEdJOUltbHVJaXh6UFNKdmRYUWlMR2s5SW01dmJtVWlMRzg5SW1GMWRHOGlMSFU5SW1odmNtbDZiMjUwWVd3aUxIQTlJblpsY25ScFkyRnNJaXhtUFNKaGJHd2lMR1U5SW5OMFlYSjBJaXhvUFNKdGIzWmxJaXhuUFNKbGJtUWlMRzA5SW1OaGJtTmxiQ0lzWVQwaWIyNTBiM1ZqYUhOMFlYSjBJaUJwYmlCM2FXNWtiM2NzZEQwaVZHOTFZMmhUZDJsd1pTSTdkbUZ5SUdvOWUyWnBibWRsY25NNk1TeDBhSEpsYzJodmJHUTZOelVzYldGNFZHbHRaVlJvY21WemFHOXNaRHB1ZFd4c0xITjNhWEJsT201MWJHd3NjM2RwY0dWTVpXWjBPbTUxYkd3c2MzZHBjR1ZTYVdkb2REcHVkV3hzTEhOM2FYQmxWWEE2Ym5Wc2JDeHpkMmx3WlVSdmQyNDZiblZzYkN4emQybHdaVk4wWVhSMWN6cHVkV3hzTEhCcGJtTm9TVzQ2Ym5Wc2JDeHdhVzVqYUU5MWREcHVkV3hzTEhCcGJtTm9VM1JoZEhWek9tNTFiR3dzWTJ4cFkyczZiblZzYkN4MGNtbG5aMlZ5VDI1VWIzVmphRVZ1WkRwMGNuVmxMR0ZzYkc5M1VHRm5aVk5qY205c2JEb2lZWFYwYnlJc1ptRnNiR0poWTJ0VWIwMXZkWE5sUlhabGJuUnpPblJ5ZFdVc1pYaGpiSFZrWldSRmJHVnRaVzUwY3pvaVluVjBkRzl1TENCcGJuQjFkQ3dnYzJWc1pXTjBMQ0IwWlhoMFlYSmxZU3dnWVN3Z0xtNXZVM2RwY0dVaWZUdGtMbVp1TG5OM2FYQmxQV1oxYm1OMGFXOXVLSGdwZTNaaGNpQjNQV1FvZEdocGN5a3NkajEzTG1SaGRHRW9kQ2s3YVdZb2RpWW1kSGx3Wlc5bUlIZzlQVDBpYzNSeWFXNW5JaWw3YVdZb2RsdDRYU2w3Y21WMGRYSnVJSFpiZUYwdVlYQndiSGtvZEdocGN5eEJjbkpoZVM1d2NtOTBiM1I1Y0dVdWMyeHBZMlV1WTJGc2JDaGhjbWQxYldWdWRITXNNU2twZldWc2MyVjdaQzVsY25KdmNpZ2lUV1YwYUc5a0lDSXJlQ3NpSUdSdlpYTWdibTkwSUdWNGFYTjBJRzl1SUdwUmRXVnllUzV6ZDJsd1pTSXBmWDFsYkhObGUybG1LQ0YySmlZb2RIbHdaVzltSUhnOVBUMGliMkpxWldOMElueDhJWGdwS1h0eVpYUjFjbTRnY1M1aGNIQnNlU2gwYUdsekxHRnlaM1Z0Wlc1MGN5bDlmWEpsZEhWeWJpQjNmVHRrTG1adUxuTjNhWEJsTG1SbFptRjFiSFJ6UFdvN1pDNW1iaTV6ZDJsd1pTNXdhR0Z6WlhNOWUxQklRVk5GWDFOVVFWSlVPbVVzVUVoQlUwVmZUVTlXUlRwb0xGQklRVk5GWDBWT1JEcG5MRkJJUVZORlgwTkJUa05GVERwdGZUdGtMbVp1TG5OM2FYQmxMbVJwY21WamRHbHZibk05ZTB4RlJsUTZiQ3hTU1VkSVZEcHJMRlZRT21Nc1JFOVhUanB5TEVsT09tSXNUMVZVT25OOU8yUXVabTR1YzNkcGNHVXVjR0ZuWlZOamNtOXNiRDE3VGs5T1JUcHBMRWhQVWtsYVQwNVVRVXc2ZFN4V1JWSlVTVU5CVERwd0xFRlZWRTg2YjMwN1pDNW1iaTV6ZDJsd1pTNW1hVzVuWlhKelBYdFBUa1U2TVN4VVYwODZNaXhVU0ZKRlJUb3pMRUZNVERwbWZUdG1kVzVqZEdsdmJpQnhLSFlwZTJsbUtIWW1KaWgyTG1Gc2JHOTNVR0ZuWlZOamNtOXNiRDA5UFhWdVpHVm1hVzVsWkNZbUtIWXVjM2RwY0dVaFBUMTFibVJsWm1sdVpXUjhmSFl1YzNkcGNHVlRkR0YwZFhNaFBUMTFibVJsWm1sdVpXUXBLU2w3ZGk1aGJHeHZkMUJoWjJWVFkzSnZiR3c5YVgxcFppZ2hkaWw3ZGoxN2ZYMTJQV1F1WlhoMFpXNWtLSHQ5TEdRdVptNHVjM2RwY0dVdVpHVm1ZWFZzZEhNc2RpazdjbVYwZFhKdUlIUm9hWE11WldGamFDaG1kVzVqZEdsdmJpZ3BlM1poY2lCNFBXUW9kR2hwY3lrN2RtRnlJSGM5ZUM1a1lYUmhLSFFwTzJsbUtDRjNLWHQzUFc1bGR5QnVLSFJvYVhNc2RpazdlQzVrWVhSaEtIUXNkeWw5ZlNsOVpuVnVZM1JwYjI0Z2JpaEtMRklwZTNaaGNpQmhhajBvWVh4OElWSXVabUZzYkdKaFkydFViMDF2ZFhObFJYWmxiblJ6S1N4aFpUMWhhajhpZEc5MVkyaHpkR0Z5ZENJNkltMXZkWE5sWkc5M2JpSXNTejFoYWo4aWRHOTFZMmh0YjNabElqb2liVzkxYzJWdGIzWmxJaXhoWXoxaGFqOGlkRzkxWTJobGJtUWlPaUp0YjNWelpYVndJaXhKUFNKMGIzVmphR05oYm1ObGJDSTdkbUZ5SUZBOU1EdDJZWElnUlQxdWRXeHNPM1poY2lCVFBUQTdkbUZ5SUdGbVBUQTdkbUZ5SUhjOU1EdDJZWElnVlQweE8zWmhjaUJoYXowd08zWmhjaUJCUFdRb1NpazdkbUZ5SUVZOUluTjBZWEowSWp0MllYSWdZV2s5TUR0MllYSWdWRDF1ZFd4c08zWmhjaUJDUFRBN2RtRnlJRTA5TUR0MGNubDdRUzVpYVc1a0tHRmxMR0ZoS1R0QkxtSnBibVFvU1N4RUtYMWpZWFJqYUNoaFp5bDdaQzVsY25KdmNpZ2laWFpsYm5SeklHNXZkQ0J6ZFhCd2IzSjBaV1FnSWl0aFpTc2lMQ0lyU1NzaUlHOXVJR3BSZFdWeWVTNXpkMmx3WlNJcGZYUm9hWE11Wlc1aFlteGxQV1oxYm1OMGFXOXVLQ2w3UVM1aWFXNWtLR0ZsTEdGaEtUdEJMbUpwYm1Rb1NTeEVLVHR5WlhSMWNtNGdRWDA3ZEdocGN5NWthWE5oWW14bFBXWjFibU4wYVc5dUtDbDdTQ2dwTzNKbGRIVnliaUJCZlR0MGFHbHpMbVJsYzNSeWIzazlablZ1WTNScGIyNG9LWHRJS0NrN1FTNWtZWFJoS0hRc2JuVnNiQ2s3Y21WMGRYSnVJRUY5TzJaMWJtTjBhVzl1SUdGaEtHRnZLWHRwWmloTUtDa3BlM0psZEhWeWJuMXBaaWhrS0dGdkxuUmhjbWRsZENrdVkyeHZjMlZ6ZENoU0xtVjRZMngxWkdWa1JXeGxiV1Z1ZEhNc1FTa3ViR1Z1WjNSb1BqQXBlM0psZEhWeWJuMWhiejFoYnk1dmNtbG5hVzVoYkVWMlpXNTBPM1poY2lCaGJpeGhiVDFoUDJGdkxuUnZkV05vWlhOYk1GMDZZVzg3UmoxbE8ybG1LR0VwZTJGcFBXRnZMblJ2ZFdOb1pYTXViR1Z1WjNSb2ZXVnNjMlY3WVc4dWNISmxkbVZ1ZEVSbFptRjFiSFFvS1gxUVBUQTdSVDF1ZFd4c08yRnJQVzUxYkd3N1V6MHdPMkZtUFRBN2R6MHdPMVU5TVR0VVBXRnNLQ2s3YVdZb0lXRjhmQ2hoYVQwOVBWSXVabWx1WjJWeWMzeDhVaTVtYVc1blpYSnpQVDA5WmlsOGZGY29LU2w3VkZzd1hTNXpkR0Z5ZEM1NFBWUmJNRjB1Wlc1a0xuZzlZVzB1Y0dGblpWZzdWRnN3WFM1emRHRnlkQzU1UFZSYk1GMHVaVzVrTG5rOVlXMHVjR0ZuWlZrN1FqMTRLQ2s3YVdZb1lXazlQVElwZTFSYk1WMHVjM1JoY25RdWVEMVVXekZkTG1WdVpDNTRQV0Z2TG5SdmRXTm9aWE5iTVYwdWNHRm5aVmc3VkZzeFhTNXpkR0Z5ZEM1NVBWUmJNVjB1Wlc1a0xuazlZVzh1ZEc5MVkyaGxjMXN4WFM1d1lXZGxXVHRoWmoxM1BVNG9WRnN3WFM1emRHRnlkQ3hVV3pGZExuTjBZWEowS1gxcFppaFNMbk4zYVhCbFUzUmhkSFZ6Zkh4U0xuQnBibU5vVTNSaGRIVnpLWHRoYmoxaGFDaGhieXhHS1gxOVpXeHpaWHRFS0dGdktUdGhiajFtWVd4elpYMXBaaWhoYmowOVBXWmhiSE5sS1h0R1BXMDdZV2dvWVc4c1JpazdjbVYwZFhKdUlHRnVmV1ZzYzJWN1ZpaDBjblZsS1R0QkxtSnBibVFvU3l4SEtUdEJMbUpwYm1Rb1lXTXNUeWw5ZldaMWJtTjBhVzl1SUVjb1lYQXBlMkZ3UFdGd0xtOXlhV2RwYm1Gc1JYWmxiblE3YVdZb1JqMDlQV2Q4ZkVZOVBUMXRLWHR5WlhSMWNtNTlkbUZ5SUdGdUxHRnRQV0UvWVhBdWRHOTFZMmhsYzFzd1hUcGhjRHRVV3pCZExtVnVaQzU0UFdFL1lYQXVkRzkxWTJobGMxc3dYUzV3WVdkbFdEcGhiUzV3WVdkbFdEdFVXekJkTG1WdVpDNTVQV0UvWVhBdWRHOTFZMmhsYzFzd1hTNXdZV2RsV1RwaGJTNXdZV2RsV1R0TlBYZ29LVHRGUFZvb1ZGc3dYUzV6ZEdGeWRDeFVXekJkTG1WdVpDazdhV1lvWVNsN1lXazlZWEF1ZEc5MVkyaGxjeTVzWlc1bmRHaDlSajFvTzJsbUtHRnBQVDB5S1h0cFppaGhaajA5TUNsN1ZGc3hYUzV6ZEdGeWRDNTRQV0Z3TG5SdmRXTm9aWE5iTVYwdWNHRm5aVmc3VkZzeFhTNXpkR0Z5ZEM1NVBXRndMblJ2ZFdOb1pYTmJNVjB1Y0dGblpWazdZV1k5ZHoxT0tGUmJNRjB1YzNSaGNuUXNWRnN4WFM1emRHRnlkQ2w5Wld4elpYdFVXekZkTG1WdVpDNTRQV0Z3TG5SdmRXTm9aWE5iTVYwdWNHRm5aVmc3VkZzeFhTNWxibVF1ZVQxaGNDNTBiM1ZqYUdWeld6RmRMbkJoWjJWWk8zYzlUaWhVV3pCZExtVnVaQ3hVV3pGZExtVnVaQ2s3WVdzOVdDaFVXekJkTG1WdVpDeFVXekZkTG1WdVpDbDlWVDEyS0dGbUxIY3BmV2xtS0NoaGFUMDlQVkl1Wm1sdVoyVnljM3g4VWk1bWFXNW5aWEp6UFQwOVppbDhmQ0ZoS1h0NUtHRndMRVVwTzFBOWVpaFVXekJkTG5OMFlYSjBMRlJiTUYwdVpXNWtLVHRUUFVNb1ZGc3dYUzV6ZEdGeWRDeFVXekJkTG1WdVpDazdhV1lvVWk1emQybHdaVk4wWVhSMWMzeDhVaTV3YVc1amFGTjBZWFIxY3lsN1lXNDlZV2dvWVhBc1JpbDlhV1lvSVZJdWRISnBaMmRsY2s5dVZHOTFZMmhGYm1RcGUzWmhjaUJoYnowaFdTZ3BPMmxtS0ZFb0tUMDlQWFJ5ZFdVcGUwWTlaenRoYmoxaGFDaGhjQ3hHS1gxbGJITmxlMmxtS0dGdktYdEdQVzA3WVdnb1lYQXNSaWw5ZlgxOVpXeHpaWHRHUFcwN1lXZ29ZWEFzUmlsOWFXWW9ZVzQ5UFQxbVlXeHpaU2w3UmoxdE8yRm9LR0Z3TEVZcGZYMW1kVzVqZEdsdmJpQlBLR0YwS1h0aGREMWhkQzV2Y21sbmFXNWhiRVYyWlc1ME8ybG1LR0YwTG5SdmRXTm9aWE1tSm1GMExuUnZkV05vWlhNdWJHVnVaM1JvUGpBcGUzSmxkSFZ5YmlCMGNuVmxmV0YwTG5CeVpYWmxiblJFWldaaGRXeDBLQ2s3VFQxNEtDazdhV1lvWVdZaFBUQXBlM2M5VGloVVd6QmRMbVZ1WkN4VVd6RmRMbVZ1WkNrN1ZUMTJLR0ZtTEhjcE8yRnJQVmdvVkZzd1hTNWxibVFzVkZzeFhTNWxibVFwZlZBOWVpaFVXekJkTG5OMFlYSjBMRlJiTUYwdVpXNWtLVHRGUFZvb1ZGc3dYUzV6ZEdGeWRDeFVXekJkTG1WdVpDazdVejFES0NrN2FXWW9VaTUwY21sbloyVnlUMjVVYjNWamFFVnVaSHg4S0ZJdWRISnBaMmRsY2s5dVZHOTFZMmhGYm1ROVBUMW1ZV3h6WlNZbVJqMDlQV2dwS1h0R1BXYzdkbUZ5SUdGd1BXRmtLQ2w4ZkNGWEtDazdkbUZ5SUdGdVBTZ29ZV2s5UFQxU0xtWnBibWRsY25OOGZGSXVabWx1WjJWeWN6MDlQV1lwZkh3aFlTazdkbUZ5SUdGdFBWUmJNRjB1Wlc1a0xuZ2hQVDB3TzNaaGNpQmhiejBvWVc0bUptRnRKaVpoY0NrN2FXWW9ZVzhwZTNaaGNpQmhjVDFaS0NrN2RtRnlJR0Z5UFZFb0tUdHBaaWdvWVhJOVBUMTBjblZsZkh4aGNqMDlQVzUxYkd3cEppWmhjU2w3WVdnb1lYUXNSaWw5Wld4elpYdHBaaWdoWVhGOGZHRnlQVDA5Wm1Gc2MyVXBlMFk5YlR0aGFDaGhkQ3hHS1gxOWZXVnNjMlY3UmoxdE8yRm9LR0YwTEVZcGZYMWxiSE5sZTJsbUtFWTlQVDFvS1h0R1BXMDdZV2dvWVhRc1JpbDlmVUV1ZFc1aWFXNWtLRXNzUnl4bVlXeHpaU2s3UVM1MWJtSnBibVFvWVdNc1R5eG1ZV3h6WlNrN1ZpaG1ZV3h6WlNsOVpuVnVZM1JwYjI0Z1JDZ3BlMkZwUFRBN1RUMHdPMEk5TUR0aFpqMHdPM2M5TUR0VlBURTdWaWhtWVd4elpTbDlablZ1WTNScGIyNGdZV2dvWVc4c1lXMHBlM1poY2lCaGJqMTFibVJsWm1sdVpXUTdhV1lvVWk1emQybHdaVk4wWVhSMWN5bDdZVzQ5VWk1emQybHdaVk4wWVhSMWN5NWpZV3hzS0VFc1lXOHNZVzBzUlh4OGJuVnNiQ3hRZkh3d0xGTjhmREFzWVdrcGZXbG1LRkl1Y0dsdVkyaFRkR0YwZFhNbUptRmtLQ2twZTJGdVBWSXVjR2x1WTJoVGRHRjBkWE11WTJGc2JDaEJMR0Z2TEdGdExHRnJmSHh1ZFd4c0xIZDhmREFzVTN4OE1DeGhhU3hWS1gxcFppaGhiVDA5UFcwcGUybG1LRkl1WTJ4cFkyc21KaWhoYVQwOVBURjhmQ0ZoS1NZbUtHbHpUbUZPS0ZBcGZIeFFQVDA5TUNrcGUyRnVQVkl1WTJ4cFkyc3VZMkZzYkNoQkxHRnZMR0Z2TG5SaGNtZGxkQ2w5ZldsbUtHRnRQVDFuS1h0cFppaFNMbk4zYVhCbEtYdGhiajFTTG5OM2FYQmxMbU5oYkd3b1FTeGhieXhGTEZBc1V5eGhhU2w5YzNkcGRHTm9LRVVwZTJOaGMyVWdiRHBwWmloU0xuTjNhWEJsVEdWbWRDbDdZVzQ5VWk1emQybHdaVXhsWm5RdVkyRnNiQ2hCTEdGdkxFVXNVQ3hUTEdGcEtYMWljbVZoYXp0allYTmxJR3M2YVdZb1VpNXpkMmx3WlZKcFoyaDBLWHRoYmoxU0xuTjNhWEJsVW1sbmFIUXVZMkZzYkNoQkxHRnZMRVVzVUN4VExHRnBLWDFpY21WaGF6dGpZWE5sSUdNNmFXWW9VaTV6ZDJsd1pWVndLWHRoYmoxU0xuTjNhWEJsVlhBdVkyRnNiQ2hCTEdGdkxFVXNVQ3hUTEdGcEtYMWljbVZoYXp0allYTmxJSEk2YVdZb1VpNXpkMmx3WlVSdmQyNHBlMkZ1UFZJdWMzZHBjR1ZFYjNkdUxtTmhiR3dvUVN4aGJ5eEZMRkFzVXl4aGFTbDlZbkpsWVd0OWMzZHBkR05vS0dGcktYdGpZWE5sSUdJNmFXWW9VaTV3YVc1amFFbHVLWHRoYmoxU0xuQnBibU5vU1c0dVkyRnNiQ2hCTEdGdkxHRnJmSHh1ZFd4c0xIZDhmREFzVTN4OE1DeGhhU3hWS1gxaWNtVmhhenRqWVhObElITTZhV1lvVWk1d2FXNWphRTkxZENsN1lXNDlVaTV3YVc1amFFOTFkQzVqWVd4c0tFRXNZVzhzWVd0OGZHNTFiR3dzZDN4OE1DeFRmSHd3TEdGcExGVXBmV0p5WldGcmZYMXBaaWhoYlQwOVBXMThmR0Z0UFQwOVp5bDdSQ2hoYnlsOWNtVjBkWEp1SUdGdWZXWjFibU4wYVc5dUlGRW9LWHRwWmloU0xuUm9jbVZ6YUc5c1pDRTlQVzUxYkd3cGUzSmxkSFZ5YmlCUVBqMVNMblJvY21WemFHOXNaSDF5WlhSMWNtNGdiblZzYkgxbWRXNWpkR2x2YmlCWktDbDdkbUZ5SUdGdE8ybG1LRkl1YldGNFZHbHRaVlJvY21WemFHOXNaQ2w3YVdZb1V6NDlVaTV0WVhoVWFXMWxWR2h5WlhOb2IyeGtLWHRoYlQxbVlXeHpaWDFsYkhObGUyRnRQWFJ5ZFdWOWZXVnNjMlY3WVcwOWRISjFaWDF5WlhSMWNtNGdZVzE5Wm5WdVkzUnBiMjRnZVNoaGJTeGhiaWw3YVdZb1VpNWhiR3h2ZDFCaFoyVlRZM0p2Ykd3OVBUMXBmSHhYS0NrcGUyRnRMbkJ5WlhabGJuUkVaV1poZFd4MEtDbDlaV3h6Wlh0MllYSWdZVzg5VWk1aGJHeHZkMUJoWjJWVFkzSnZiR3c5UFQxdk8zTjNhWFJqYUNoaGJpbDdZMkZ6WlNCc09tbG1LQ2hTTG5OM2FYQmxUR1ZtZENZbVlXOHBmSHdvSVdGdkppWlNMbUZzYkc5M1VHRm5aVk5qY205c2JDRTlkU2twZTJGdExuQnlaWFpsYm5SRVpXWmhkV3gwS0NsOVluSmxZV3M3WTJGelpTQnJPbWxtS0NoU0xuTjNhWEJsVW1sbmFIUW1KbUZ2S1h4OEtDRmhieVltVWk1aGJHeHZkMUJoWjJWVFkzSnZiR3doUFhVcEtYdGhiUzV3Y21WMlpXNTBSR1ZtWVhWc2RDZ3BmV0p5WldGck8yTmhjMlVnWXpwcFppZ29VaTV6ZDJsd1pWVndKaVpoYnlsOGZDZ2hZVzhtSmxJdVlXeHNiM2RRWVdkbFUyTnliMnhzSVQxd0tTbDdZVzB1Y0hKbGRtVnVkRVJsWm1GMWJIUW9LWDFpY21WaGF6dGpZWE5sSUhJNmFXWW9LRkl1YzNkcGNHVkViM2R1SmlaaGJ5bDhmQ2doWVc4bUpsSXVZV3hzYjNkUVlXZGxVMk55YjJ4c0lUMXdLU2w3WVcwdWNISmxkbVZ1ZEVSbFptRjFiSFFvS1gxaWNtVmhhMzE5ZldaMWJtTjBhVzl1SUVNb0tYdHlaWFIxY200Z1RTMUNmV1oxYm1OMGFXOXVJRTRvWVhBc1lXOHBlM1poY2lCaGJqMU5ZWFJvTG1GaWN5aGhjQzU0TFdGdkxuZ3BPM1poY2lCaGJUMU5ZWFJvTG1GaWN5aGhjQzU1TFdGdkxua3BPM0psZEhWeWJpQk5ZWFJvTG5KdmRXNWtLRTFoZEdndWMzRnlkQ2hoYmlwaGJpdGhiU3BoYlNrcGZXWjFibU4wYVc5dUlIWW9ZVzBzWVc0cGUzWmhjaUJoYnowb1lXNHZZVzBwS2pFN2NtVjBkWEp1SUdGdkxuUnZSbWw0WldRb01pbDlablZ1WTNScGIyNGdXQ2dwZTJsbUtGVThNU2w3Y21WMGRYSnVJSE45Wld4elpYdHlaWFIxY200Z1luMTlablZ1WTNScGIyNGdlaWhoYml4aGJTbDdjbVYwZFhKdUlFMWhkR2d1Y205MWJtUW9UV0YwYUM1emNYSjBLRTFoZEdndWNHOTNLR0Z0TG5ndFlXNHVlQ3d5S1N0TllYUm9MbkJ2ZHloaGJTNTVMV0Z1TG5rc01pa3BLWDFtZFc1amRHbHZiaUJoWWloaGNDeGhiaWw3ZG1GeUlHRnRQV0Z3TG5ndFlXNHVlRHQyWVhJZ1lYSTlZVzR1ZVMxaGNDNTVPM1poY2lCaGJ6MU5ZWFJvTG1GMFlXNHlLR0Z5TEdGdEtUdDJZWElnWVhFOVRXRjBhQzV5YjNWdVpDaGhieW94T0RBdlRXRjBhQzVRU1NrN2FXWW9ZWEU4TUNsN1lYRTlNell3TFUxaGRHZ3VZV0p6S0dGeEtYMXlaWFIxY200Z1lYRjlablZ1WTNScGIyNGdXaWhoYml4aGJTbDdkbUZ5SUdGdlBXRmlLR0Z1TEdGdEtUdHBaaWdvWVc4OFBUUTFLU1ltS0dGdlBqMHdLU2w3Y21WMGRYSnVJR3g5Wld4elpYdHBaaWdvWVc4OFBUTTJNQ2ttSmloaGJ6NDlNekUxS1NsN2NtVjBkWEp1SUd4OVpXeHpaWHRwWmlnb1lXOCtQVEV6TlNrbUppaGhienc5TWpJMUtTbDdjbVYwZFhKdUlHdDlaV3h6Wlh0cFppZ29ZVzgrTkRVcEppWW9ZVzg4TVRNMUtTbDdjbVYwZFhKdUlISjlaV3h6Wlh0eVpYUjFjbTRnWTMxOWZYMTlablZ1WTNScGIyNGdlQ2dwZTNaaGNpQmhiVDF1WlhjZ1JHRjBaU2dwTzNKbGRIVnliaUJoYlM1blpYUlVhVzFsS0NsOVpuVnVZM1JwYjI0Z1NDZ3BlMEV1ZFc1aWFXNWtLR0ZsTEdGaEtUdEJMblZ1WW1sdVpDaEpMRVFwTzBFdWRXNWlhVzVrS0Vzc1J5azdRUzUxYm1KcGJtUW9ZV01zVHlrN1ZpaG1ZV3h6WlNsOVpuVnVZM1JwYjI0Z1Z5Z3BlM0psZEhWeWJpQlNMbkJwYm1Ob1UzUmhkSFZ6Zkh4U0xuQnBibU5vU1c1OGZGSXVjR2x1WTJoUGRYUjlablZ1WTNScGIyNGdZV1FvS1h0eVpYUjFjbTRnWVdzbUpsY29LWDFtZFc1amRHbHZiaUJNS0NsN2NtVjBkWEp1SUVFdVpHRjBZU2gwS3lKZmFXNTBiM1ZqYUNJcFBUMDlkSEoxWlQ5MGNuVmxPbVpoYkhObGZXWjFibU4wYVc5dUlGWW9ZVzBwZTJGdFBXRnRQVDA5ZEhKMVpUOTBjblZsT21aaGJITmxPMEV1WkdGMFlTaDBLeUpmYVc1MGIzVmphQ0lzWVcwcGZXWjFibU4wYVc5dUlHRnNLQ2w3ZG1GeUlHRnRQVnRkTzJadmNpaDJZWElnWVc0OU1EdGhianc5TlR0aGJpc3JLWHRoYlM1d2RYTm9LSHR6ZEdGeWREcDdlRG93TEhrNk1IMHNaVzVrT250NE9qQXNlVG93ZlN4a1pXeDBZVHA3ZURvd0xIazZNSDE5S1gxeVpYUjFjbTRnWVcxOWZYMHBLR3BSZFdWeWVTazddXT48L2RhdGE+Cgk8L2ZpbGU+CjwvdG9vbGJveHRwbD4K]]></data>
	</file>
	<file>
	  <filename>/templates/ToolBox-tpl-autolightbox-foobox.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHRvb2xib3h0cGw+Cgk8bmFtZT5hbGJfZm9vYm94PC9uYW1lPgoJPHZlcnNpb24+MS4zLjE8L3ZlcnNpb24+Cgk8dG9vbGJveHZlcnNpb24+MS4zLjA8L3Rvb2xib3h2ZXJzaW9uPgoJPGFib3V0PlBIQStSbTl2UW05NElFSjFjMmx1WlhOeklGUmxiWEJzWVhSbFBDOXdQZzBLUEhBK3dxQThMM0ErPC9hYm91dD4KCTxzZWN0aW9uPmF1dG9saWdodGJveDwvc2VjdGlvbj4KCTx0cGxzZWN0aW9uPjwvdHBsc2VjdGlvbj4KCTxqcXVlcnk+MTwvanF1ZXJ5PgoJPGpxdWVyeV9vd24+PC9qcXVlcnlfb3duPgoJPG9wdGlvbnM+WVRvd09udDk8L29wdGlvbnM+Cgk8dHBsY29kZT48L3RwbGNvZGU+Cgk8dHBsY3NzPkxtWnZiMkp2ZUMxdGIyUmhiQ0I3RFFvZ0lDQWdlaTFwYm1SbGVEb2dNVEF3TURBd093MEtmUTBLTG1admIySnZlQzFwYldjdGJtVjRkQ0I3RFFvZ0lDQWdlaTFwYm1SbGVEb2dNVEF3TURBeE93MEtmUTBLTG1admIySnZlQzFwYldjdFkzVnljbVZ1ZENCN0RRb2dJQ0FnZWkxcGJtUmxlRG9nTVRBd01EQXlPdzBLSUNBZ0lDMTNaV0pyYVhRdGRYTmxjaTFrY21Gbk9pQnViMjVsT3cwS2ZRMEtMbVp2YjJKdmVDMWpZWEIwYVc5dUxDQXVabTl2WW05NExXTnZkVzUwSUhzTkNpQWdJQ0I2TFdsdVpHVjRPaUF4TURBd01ETTdEUXA5RFFvdVptOXZZbTk0TFhCeVpYWXNJQzVtYjI5aWIzZ3RibVY0ZEN3Z0xtWnZiMkp2ZUMxamJHOXpaU3dnTG1admIySnZlQzFqY21Wa2FYUXNJQzVtYjI5aWIzZ3RiRzloWkdWeUxDQXVabTl2WW05NExYUnBkR3hsSUhzTkNpQWdJQ0I2TFdsdVpHVjRPaUF4TURBd01EUTdEUXA5RFFvdVptOXZZbTk0TFcxdlpHRnNJSHNOQ2lBZ0lDQjNhV1IwYURvZ01UQXdKVHNOQ2lBZ0lDQm9aV2xuYUhRNklERXdNQ1U3RFFvZ0lDQWdjRzl6YVhScGIyNDZJR1pwZUdWa093MEtJQ0FnSUhSdmNEb2dNRHNOQ2lBZ0lDQnNaV1owT2lBd093MEtJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdEUXA5RFFvdVptOXZZbTk0TFcxdlpHRnNMbVp2YjJKdmVDMXphRzkzSUhzTkNpQWdJQ0JrYVhOd2JHRjVPaUJpYkc5amF6c05DbjBOQ2k1bWIyOWliM2d0YVc1dVpYSXRjM0JoWTJWeUlIc05DaUFnSUNCa2FYTndiR0Y1T2lCdWIyNWxPdzBLSUNBZ0lIQmhaR1JwYm1jNklEUXdjSGc3RFFwOURRb3VabTl2WW05NExXbHVibVZ5SUhzTkNpQWdJQ0J0YVc0dGQybGtkR2c2SURFd01IQjRPdzBLSUNBZ0lHMXBiaTFvWldsbmFIUTZJREV3TUhCNE93MEtJQ0FnSUhCdmMybDBhVzl1T2lCaFluTnZiSFYwWlRzTkNpQWdJQ0IwYjNBNklEVXdKVHNOQ2lBZ0lDQnNaV1owT2lBMU1DVTdEUW9nSUNBZ2JXRnlaMmx1TFhSdmNEb2dMVFV3Y0hnN0RRb2dJQ0FnYldGeVoybHVMV3hsWm5RNklDMDFNSEI0T3cwS0lDQWdJRzkyWlhKbWJHOTNPaUIyYVhOcFlteGxJV2x0Y0c5eWRHRnVkRHNOQ24wTkNpNW1iMjlpYjNndGFXNXVaWEl0YzNCaFkyVnlMQ0F1Wm05dlltOTRMV2x1Ym1WeUxDQXVabTl2WW05NExXbHVibVZ5UGlvZ2V3MEtJQ0FnSUMxM1pXSnJhWFF0WW05NExYTnBlbWx1WnpvZ1kyOXVkR1Z1ZEMxaWIzZ2hhVzF3YjNKMFlXNTBPdzBLSUNBZ0lDMXRiM290WW05NExYTnBlbWx1WnpvZ1kyOXVkR1Z1ZEMxaWIzZ2hhVzF3YjNKMFlXNTBPdzBLSUNBZ0lHSnZlQzF6YVhwcGJtYzZJR052Ym5SbGJuUXRZbTk0SVdsdGNHOXlkR0Z1ZERzTkNuME5DaTVtYjI5aWIzZ3RhVzV1WlhJdVptOXZZbTk0TFdsdFp5MWxjbkp2Y2lBdVptOXZZbTk0TFdOdmRXNTBJSHNOQ2lBZ0lDQmthWE53YkdGNU9pQnViMjVsT3cwS2ZRMEtMbVp2YjJKdmVDMXBiV2N0WTNWeWNtVnVkQ3dnTG1admIySnZlQzFwYldjdGJtVjRkQ0I3RFFvZ0lDQWdkMmxrZEdnNklERXdNQ1U3RFFvZ0lDQWdhR1ZwWjJoME9pQXhNREFsT3cwS0lDQWdJSEJ2YzJsMGFXOXVPaUJoWW5OdmJIVjBaVHNOQ2lBZ0lDQjBiM0E2SURBN0RRb2dJQ0FnYkdWbWREb2dNRHNOQ2lBZ0lDQndZV1JrYVc1bk9pQXdPdzBLSUNBZ0lHMWhjbWRwYmpvZ01Ec05DaUFnSUNCaWIzSmtaWEk2SUc1dmJtVTdEUW9nSUNBZ2IzVjBiR2x1WlRvZ2JtOXVaVHNOQ24wTkNpNW1iMjlpYjNndFkzSmxaR2wwSUhzTkNpQWdJQ0J3YjNOcGRHbHZiam9nWVdKemIyeDFkR1U3RFFvZ0lDQWdZbTkwZEc5dE9pQXRNalZ3ZURzTkNuME5DaTVtYjI5aWIzZ3RZM0psWkdsMElHVnRJSHNOQ2lBZ0lDQm1iMjUwTFhOMGVXeGxPaUJ1YjNKdFlXdzdEUXA5RFFvdVptOXZZbTk0TFdOdmRXNTBJSHNOQ2lBZ0lDQndiM05wZEdsdmJqb2dZV0p6YjJ4MWRHVTdEUW9nSUNBZ1ltOTBkRzl0T2lBdE1qVndlRHNOQ2lBZ0lDQjNhV1IwYURvZ01UQXdKVHNOQ2lBZ0lDQjBaWGgwTFdGc2FXZHVPaUJqWlc1MFpYSTdEUXA5RFFvdVptOXZZbTk0TFdOaGNIUnBiMjRnZXcwS0lDQWdJSGRwWkhSb09pQXhNREFsT3cwS0lDQWdJSEJ2YzJsMGFXOXVPaUJoWW5OdmJIVjBaVHNOQ2lBZ0lDQjBiM0E2SUdGMWRHODdEUW9nSUNBZ2NtbG5hSFE2SUdGMWRHODdEUW9nSUNBZ1ltOTBkRzl0T2lBd093MEtJQ0FnSUd4bFpuUTZJREE3RFFvZ0lDQWdZbTk0TFhOcGVtbHVaem9nWW05eVpHVnlMV0p2ZURzTkNpQWdJQ0F0YlhNdFltOTRMWE5wZW1sdVp6b2dZbTl5WkdWeUxXSnZlRHNOQ2lBZ0lDQXRiVzk2TFdKdmVDMXphWHBwYm1jNklHSnZjbVJsY2kxaWIzZzdEUW9nSUNBZ0xYZGxZbXRwZEMxaWIzZ3RjMmw2YVc1bk9pQmliM0prWlhJdFltOTRPdzBLSUNBZ0lHOTJaWEptYkc5M09pQm9hV1JrWlc0N0RRcDlEUW91Wm05dlltOTRMWEJ5WlhZc0lDNW1iMjlpYjNndGJtVjRkQ0I3RFFvZ0lDQWdkMmxrZEdnNklEUXdjSGc3RFFvZ0lDQWdhR1ZwWjJoME9pQXhNREJ3ZURzTkNpQWdJQ0J0WVhKbmFXNHRkRzl3T2lBdE5UQndlRHNOQ2lBZ0lDQndiM05wZEdsdmJqb2dZV0p6YjJ4MWRHVTdEUW9nSUNBZ2RHOXdPaUExTUNVN0RRb2dJQ0FnZEdWNGRDMWtaV052Y21GMGFXOXVPaUJ1YjI1bE93MEtJQ0FnSUdScGMzQnNZWGs2SUdKc2IyTnJPdzBLSUNBZ0lHOTFkR3hwYm1VNklHNXZibVU3RFFvZ0lDQWdZM1Z5YzI5eU9pQndiMmx1ZEdWeU93MEtmUTBLTG1admIySnZlQzF0YjJSaGJENHVabTl2WW05NExYQnlaWFlnZXcwS0lDQWdJR3hsWm5RNklEQTdEUW9nSUNBZ1pHbHpjR3hoZVRvZ2JtOXVaVHNOQ24wTkNpNW1iMjlpYjNndGJXOWtZV3crTG1admIySnZlQzF1WlhoMElIc05DaUFnSUNCeWFXZG9kRG9nTURzTkNpQWdJQ0JrYVhOd2JHRjVPaUJ1YjI1bE93MEtmUTBLTG1admIySnZlQzFwYm01bGNqNHVabTl2WW05NExYQnlaWFlnZXcwS0lDQWdJR3hsWm5RNklDMDBPSEI0T3cwS0lDQWdJQzEzWldKcmFYUXRZbTk0TFhOb1lXUnZkem9nTFRGd2VDQXdJREp3ZUNCeVoySmhLREFzSURBc0lEQXNJQzQ0S1RzTkNpQWdJQ0F0Ylc5NkxXSnZlQzF6YUdGa2IzYzZJQzB4Y0hnZ01DQXljSGdnY21kaVlTZ3dMQ0F3TENBd0xDQXVPQ2s3RFFvZ0lDQWdZbTk0TFhOb1lXUnZkem9nTFRGd2VDQXdJREo0SUhKblltRW9NQ3dnTUN3Z01Dd2dMamdwT3cwS2ZRMEtMbVp2YjJKdmVDMXBibTVsY2o0dVptOXZZbTk0TFc1bGVIUWdldzBLSUNBZ0lISnBaMmgwT2lBdE5EaHdlRHNOQ2lBZ0lDQXRkMlZpYTJsMExXSnZlQzF6YUdGa2IzYzZJREZ3ZUNBd0lESndlQ0J5WjJKaEtEQXNJREFzSURBc0lDNDRLVHNOQ2lBZ0lDQXRiVzk2TFdKdmVDMXphR0ZrYjNjNklERndlQ0F3SURKd2VDQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DaUFnSUNCaWIzZ3RjMmhoWkc5M09pQXhjSGdnTUNBeWNIZ2djbWRpWVNnd0xDQXdMQ0F3TENBdU9DazdEUXA5RFFvdVptOXZZbTk0TFdOc2IzTmxJSHNOQ2lBZ0lDQjNhV1IwYURvZ01qaHdlRHNOQ2lBZ0lDQm9aV2xuYUhRNklESTRjSGc3RFFvZ0lDQWdjRzl6YVhScGIyNDZJR0ZpYzI5c2RYUmxPdzBLSUNBZ0lIUnZjRG9nTFRJeGNIZzdEUW9nSUNBZ2NtbG5hSFE2SUMweU1YQjRPdzBLSUNBZ0lHeHBibVV0YUdWcFoyaDBPaUF5T0hCNE93MEtJQ0FnSUhSbGVIUXRZV3hwWjI0NklHTmxiblJsY2pzTkNpQWdJQ0IwWlhoMExXUmxZMjl5WVhScGIyNDZJRzV2Ym1VN0RRb2dJQ0FnWkdsemNHeGhlVG9nWW14dlkyczdEUW9nSUNBZ2IzVjBiR2x1WlRvZ2JtOXVaVHNOQ2lBZ0lDQmpkWEp6YjNJNklIQnZhVzUwWlhJN0RRcDlEUW91Wm05dlltOTRMV3h2WVdSbGNpQjdEUW9nSUNBZ2QybGtkR2c2SURnd2NIZzdEUW9nSUNBZ2FHVnBaMmgwT2lBNE1IQjRPdzBLSUNBZ0lIQnZjMmwwYVc5dU9pQmhZbk52YkhWMFpUc05DaUFnSUNCMGIzQTZJRFV3SlRzTkNpQWdJQ0JzWldaME9pQTFNQ1U3RFFvZ0lDQWdiV0Z5WjJsdUxXeGxablE2SUMwME1IQjRPdzBLSUNBZ0lHMWhjbWRwYmkxMGIzQTZJQzAwTUhCNE93MEtmUTBLTG1admIySnZlQzFqYkc5elpTd2dMbVp2YjJKdmVDMXBibTVsY2l3Z0xtWnZiMkp2ZUMxc2IyRmtaWElnZXcwS0lDQWdJQzEzWldKcmFYUXRZbTk0TFhOb1lXUnZkem9nTUNBd0lERXljSGdnY21kaVlTZ3dMQ0F3TENBd0xDQXVPQ2s3RFFvZ0lDQWdMVzF2ZWkxaWIzZ3RjMmhoWkc5M09pQXdJREFnTVRKd2VDQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DaUFnSUNCaWIzZ3RjMmhoWkc5M09pQXdJREFnTVRKd2VDQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DbjBOQ2k1bWIyOWliM2d0Ylc5a1lXd2dldzBLSUNBZ0lHSmhZMnRuY205MWJtUTZJSFJ5WVc1emNHRnlaVzUwSUhWeWJDaGJXM0p2YjNSZmRYSnNYVjB2Ylc5a2RXeGxjeTlVYjI5c1FtOTRMM1JsYlhCc1lYUmxjeTloYkdKZlptOXZZbTk0TDJKbkxuQnVaeWtnY21Wd1pXRjBJSFJ2Y0NCc1pXWjBPdzBLSUNBZ0lHSmhZMnRuY205MWJtUTZJSEpuWW1Fb01Dd2dNQ3dnTUN3Z0xqY3BJRzV2Ym1VN0RRcDlEUW91Wm05dlltOTRMV2x1Ym1WeUlIc05DaUFnSUNCaVlXTnJaM0p2ZFc1a09pQWpabVptT3cwS0lDQWdJR0p2Y21SbGNqb2djMjlzYVdRZ09IQjRJQ05tWm1ZN0RRb2dJQ0FnWW05eVpHVnlMWEpoWkdsMWN6b2dNVEJ3ZURzTkNuME5DaTVtYjI5aWIzZ3RhVzFuTFdOMWNuSmxiblFzSUM1bWIyOWliM2d0YVcxbkxXNWxlSFFnZXcwS0lDQWdJR0p2Y21SbGNpMXlZV1JwZFhNNklEVndlRHNOQ24wTkNpNW1iMjlpYjNndFkzSmxaR2wwSUhzTkNpQWdJQ0JtYjI1MExXWmhiV2xzZVRvZ1lYSnBZV3c3RFFvZ0lDQWdabTl1ZEMxemFYcGxPaUE0Y0hnN0RRb2dJQ0FnZEdWNGRDMTBjbUZ1YzJadmNtMDZJR3h2ZDJWeVkyRnpaVHNOQ24wTkNpNW1iMjlpYjNndFkzSmxaR2wwSUdFZ2V3MEtJQ0FnSUdOdmJHOXlPaUFqT0RnNElXbHRjRzl5ZEdGdWREc05DaUFnSUNCbWIyNTBMWE5wZW1VNklEbHdlRHNOQ2lBZ0lDQjBaWGgwTFdSbFkyOXlZWFJwYjI0NklHNXZibVU3RFFvZ0lDQWdkR1Y0ZEMxemFHRmtiM2M2SUNNeE5qRTJNVFlnTVhCNElERndlQ0F3T3cwS2ZRMEtMbVp2YjJKdmVDMWpjbVZrYVhRZ1lUcG9iM1psY2lCemNHRnVJSHNOQ2lBZ0lDQjBaWGgwTFdSbFkyOXlZWFJwYjI0NklIVnVaR1Z5YkdsdVpUc05DbjBOQ2k1bWIyOWliM2d0WTNKbFpHbDBJR0VnYzNCaGJpQjdEUW9nSUNBZ1kyOXNiM0k2SUNOa1pHUWhhVzF3YjNKMFlXNTBPdzBLSUNBZ0lHeGxkSFJsY2kxemNHRmphVzVuT2lBeGNIZzdEUXA5RFFvdVptOXZZbTk0TFdOdmRXNTBJSHNOQ2lBZ0lDQmpiMnh2Y2pvZ0l6ZzRPRHNOQ2lBZ0lDQm1iMjUwTFdaaGJXbHNlVG9nWVhKcFlXd3NJSE5oYm5NdGMyVnlhV1k3RFFvZ0lDQWdabTl1ZEMxemFYcGxPaUF4TUhCNE93MEtJQ0FnSUhSbGVIUXRjMmhoWkc5M09pQWpNVFl4TmpFMklERndlQ0F4Y0hnZ01Ec05DbjBOQ2k1bWIyOWliM2d0WTJGd2RHbHZiaUI3RFFvZ0lDQWdZMjlzYjNJNklDTm1abVk3RFFvZ0lDQWdiR2x1WlMxb1pXbG5hSFE2SURNd2NIZzdEUW9nSUNBZ2FHVnBaMmgwT2lBek1IQjRPdzBLSUNBZ0lHWnZiblF0Wm1GdGFXeDVPaUJoY21saGJDd2djMkZ1Y3kxelpYSnBaanNOQ2lBZ0lDQmlZV05yWjNKdmRXNWtPaUIwY21GdWMzQmhjbVZ1ZENCMWNtd29XMXR5YjI5MFgzVnliRjFkTDIxdlpIVnNaWE12Vkc5dmJFSnZlQzkwWlcxd2JHRjBaWE12WVd4aVgyWnZiMkp2ZUM5aVp5NXdibWNwSUhKbGNHVmhkQ0IwYjNBZ2JHVm1kRHNOQ2lBZ0lDQmlZV05yWjNKdmRXNWtPaUJ5WjJKaEtEQXNJREFzSURBc0lDNDNLU0J1YjI1bE93MEtJQ0FnSUdadmJuUXRjMmw2WlRvZ01UUndlRHNOQ2lBZ0lDQjBaWGgwTFdGc2FXZHVPaUJqWlc1MFpYSTdEUW9nSUNBZ1ltOXlaR1Z5TFdKdmRIUnZiUzF5YVdkb2RDMXlZV1JwZFhNNklEVndlRHNOQ2lBZ0lDQmliM0prWlhJdFltOTBkRzl0TFd4bFpuUXRjbUZrYVhWek9pQTFjSGc3RFFwOURRb3VabTl2WW05NExXTmhjSFJwYjI0dGRHbDBiR1VnZXcwS0lDQWdJR1p2Ym5RdGQyVnBaMmgwT2lCaWIyeGtPdzBLSUNBZ0lHWnZiblF0YzJsNlpUb2dNVFZ3ZURzTkNuME5DaTVtYjI5aWIzZ3RZMkZ3ZEdsdmJpMWtaWE5qSUhzTkNpQWdJQ0JzYVc1bExXaGxhV2RvZERvZ01qQndlRHNOQ2lBZ0lDQm1iMjUwTFhOcGVtVTZJREV5Y0hnN0RRb2dJQ0FnWTI5c2IzSTZJQ05sWldVN0RRcDlEUW91Wm05dlltOTRMV05oY0hScGIyNHRkR2wwYkdVckxtWnZiMkp2ZUMxallYQjBhVzl1TFdSbGMyTWdldzBLSUNBZ0lIQmhaR1JwYm1jNklEQWdOWEI0SURWd2VDQTFjSGc3RFFwOURRb3VabTl2WW05NExXTmhjSFJwYjI0dFpHVnpZeUJoSUhzTkNpQWdJQ0JqYjJ4dmNqb2dJMlJrWkRzTkNuME5DaTVtYjI5aWIzZ3RkR2wwYkdVZ2V3MEtJQ0FnSUhSbGVIUXRjMmhoWkc5M09pQWpNVFl4TmpFMklERndlQ0F4Y0hnZ01Ec05DbjBOQ2k1bWIyOWliM2d0WTJ4dmMyVWdldzBLSUNBZ0lHSmhZMnRuY205MWJtUTZJQ05tWm1ZZ2RYSnNLRnRiY205dmRGOTFjbXhkWFM5dGIyUjFiR1Z6TDFSdmIyeENiM2d2ZEdWdGNHeGhkR1Z6TDJGc1lsOW1iMjlpYjNndlkyeHZjMlV1Y0c1bktTQnVieTF5WlhCbFlYUWdZMlZ1ZEdWeUlHTmxiblJsY2pzTkNpQWdJQ0JpYjNKa1pYSTZJSE52Ykdsa0lETndlQ0FqWm1abU93MEtJQ0FnSUdKdmNtUmxjaTF5WVdScGRYTTZJRFV3SlRzTkNpQWdJQ0JqYjJ4dmNqb2dJMlptWmpzTkNuME5DaTVtYjI5aWIzZ3RjSEpsZGlCN0RRb2dJQ0FnWW1GamEyZHliM1Z1WkRvZ0kyWm1aaUIxY213b1cxdHliMjkwWDNWeWJGMWRMMjF2WkhWc1pYTXZWRzl2YkVKdmVDOTBaVzF3YkdGMFpYTXZZV3hpWDJadmIySnZlQzl3Y21WMkxuQnVaeWtnYm04dGNtVndaV0YwSUdObGJuUmxjaUJqWlc1MFpYSTdEUW9nSUNBZ1ltOXlaR1Z5TFhSdmNDMXNaV1owTFhKaFpHbDFjem9nTVRCd2VEc05DaUFnSUNCaWIzSmtaWEl0WW05MGRHOXRMV3hsWm5RdGNtRmthWFZ6T2lBeE1IQjRPdzBLZlEwS0xtWnZiMkp2ZUMxdVpYaDBJSHNOQ2lBZ0lDQmlZV05yWjNKdmRXNWtPaUFqWm1abUlIVnliQ2hiVzNKdmIzUmZkWEpzWFYwdmJXOWtkV3hsY3k5VWIyOXNRbTk0TDNSbGJYQnNZWFJsY3k5aGJHSmZabTl2WW05NEwyNWxlSFF1Y0c1bktTQnVieTF5WlhCbFlYUWdZMlZ1ZEdWeUlHTmxiblJsY2pzTkNpQWdJQ0JpYjNKa1pYSXRkRzl3TFhKcFoyaDBMWEpoWkdsMWN6b2dNVEJ3ZURzTkNpQWdJQ0JpYjNKa1pYSXRZbTkwZEc5dExYSnBaMmgwTFhKaFpHbDFjem9nTVRCd2VEc05DbjBOQ2k1bWIyOWliM2d0WTJ4dmMyVTZhRzkyWlhJZ2V3MEtJQ0FnSUMxM1pXSnJhWFF0WW05NExYTm9ZV1J2ZHpvZ01DQXdJRFJ3ZUNCeVoySmhLREFzSURBc0lEQXNJQzQ0S1RzTkNpQWdJQ0F0Ylc5NkxXSnZlQzF6YUdGa2IzYzZJREFnTUNBMGNIZ2djbWRpWVNnd0xDQXdMQ0F3TENBdU9DazdEUW9nSUNBZ1ltOTRMWE5vWVdSdmR6b2dNQ0F3SURSd2VDQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DbjBOQ2k1bWIyOWliM2d0Ykc5aFpHVnlJSHNOQ2lBZ0lDQmlZV05yWjNKdmRXNWtPaUFqWm1abUlIVnliQ2hiVzNKdmIzUmZkWEpzWFYwdmJXOWtkV3hsY3k5VWIyOXNRbTk0TDNSbGJYQnNZWFJsY3k5aGJHSmZabTl2WW05NEwyeHZZV1JsY2k1bmFXWXBJRzV2TFhKbGNHVmhkQ0JqWlc1MFpYSWdZMlZ1ZEdWeU93MEtJQ0FnSUdKdmNtUmxjaTF5WVdScGRYTTZJRFF3Y0hnN0RRcDlEUW91Wm05dlltOTRMWE5sYkdWamRHVmtJSHNOQ2lBZ0lDQmlZV05yWjNKdmRXNWtMV052Ykc5eU9pQWpPVFU1TlRrMUlXbHRjRzl5ZEdGdWREc05DbjBOQ2cwS0xtWnZiMkp2ZUMxamJHOXpaU3dnTG1admIySnZlQzFwYm1adklIc05DaUFnTFhkbFltdHBkQzFpYjNndGMyaGhaRzkzT2lBd2NIZ2dNSEI0SURod2VDQnlaMkpoS0RJMU5Td2dNalUxTENBeU5UVXNJREF1T0NrN0RRb2dJQzF0YjNvdFltOTRMWE5vWVdSdmR6b2dJQ0FnTUhCNElEQndlQ0E0Y0hnZ2NtZGlZU2d5TlRVc0lESTFOU3dnTWpVMUxDQXdMamdwT3cwS0lDQmliM2d0YzJoaFpHOTNPaUFnSUNBZ0lDQWdJREJ3ZUNBd2NIZ2dPSEI0SUhKblltRW9NalUxTENBeU5UVXNJREkxTlN3Z01DNDRLVHNOQ24wTkNnMEtMbVp2YjJKdmVDMWpiRzl6WlNBc0lDNW1iMjlpYjNndGFXNXVaWElnUGlBdVptOXZZbTk0TFhCc1lYa3NJQzVtYjI5aWIzZ3RhVzV1WlhJZ1BpQXVabTl2WW05NExYQmhkWE5sZXcwS0lDQmliM0prWlhJNklITnZiR2xrSUROd2VDQWpNREF3T3cwS0lDQmlZV05yWjNKdmRXNWtMV052Ykc5eU9pQWpNREF3T3cwS2ZRMEtEUW91Wm05dlltOTRMWEJ5WlhZZ2V3MEtJQ0JpWVdOclozSnZkVzVrTFdOdmJHOXlPaUFqTURBd093MEtmUTBLTG1admIySnZlQzF1WlhoMElIc05DaUFnWW1GamEyZHliM1Z1WkMxamIyeHZjam9nSXpBd01Ec05DbjBOQ2cwS0xtWnZiMkp2ZUMxcGJtNWxjaUI3RFFvZ0lHSnZjbVJsY2kxamIyeHZjam9nSXpBd01Ec05DaUFnWW1GamEyZHliM1Z1WkRvZ0l6QXdNRHNOQ2lBZ0xYZGxZbXRwZEMxaWIzZ3RjMmhoWkc5M09pQXdjSGdnTUhCNElEaHdlQ0J5WjJKaEtESTFOU3dnTWpVMUxDQXlOVFVzSURBdU9DazdEUW9nSUdKdmVDMXphR0ZrYjNjNklEQndlQ0F3Y0hnZ09IQjRJSEpuWW1Fb01qVTFMQ0F5TlRVc0lESTFOU3dnTUM0NEtUc05DbjBOQ2cwS0xtWnZiMkp2ZUMxc2IyRmtaWElnZXcwS0lDQmlZV05yWjNKdmRXNWtMV052Ykc5eU9pQWpNREF3T3cwS0lDQmlZV05yWjNKdmRXNWtMV2x0WVdkbE9uVnliQ2hiVzNKdmIzUmZkWEpzWFYwdmJXOWtkV3hsY3k5VWIyOXNRbTk0TDNSbGJYQnNZWFJsY3k5aGJHSmZabTl2WW05NEwyeHZZV1JsY2k1bmFXWXBPdzBLSUNBdGQyVmlhMmwwTFdKdmVDMXphR0ZrYjNjNklEQndlQ0F3Y0hnZ09IQjRJSEpuWW1Fb01qVTFMQ0F5TlRVc0lESTFOU3dnTUM0NEtUc05DaUFnTFcxdmVpMWliM2d0YzJoaFpHOTNPaUFnSUNBd2NIZ2dNSEI0SURod2VDQnlaMkpoS0RJMU5Td2dNalUxTENBeU5UVXNJREF1T0NrN0RRb2dJR0p2ZUMxemFHRmtiM2M2SUNBZ0lDQWdJQ0FnTUhCNElEQndlQ0E0Y0hnZ2NtZGlZU2d5TlRVc0lESTFOU3dnTWpVMUxDQXdMamdwT3cwS2ZRMEtEUW91Wm05dlltOTRMV2x1Ym1WeUlENGdMbVp2YjJKdmVDMXdjbVYySUhzZ0xYZGxZbXRwZEMxaWIzZ3RjMmhoWkc5M09pQXRNWEI0SURCd2VDQXljSGdnY21kaVlTZ3lOVFVzSURJMU5Td2dNalUxTENBd0xqZ3BPeUF0Ylc5NkxXSnZlQzF6YUdGa2IzYzZJQzB4Y0hnZ01IQjRJREp3ZUNCeVoySmhLREkxTlN3Z01qVTFMQ0F5TlRVc0lEQXVPQ2s3SUdKdmVDMXphR0ZrYjNjNklDMHhjSGdnTUhCNElESndlQ0J5WjJKaEtESTFOU3dnTWpVMUxDQXlOVFVzSURBdU9DazdJSDBOQ2k1bWIyOWliM2d0YVc1dVpYSWdQaUF1Wm05dlltOTRMVzVsZUhRZ2V5QXRkMlZpYTJsMExXSnZlQzF6YUdGa2IzYzZJREZ3ZUNBd2NIZ2dNbkI0SUhKblltRW9NalUxTENBeU5UVXNJREkxTlN3Z01DNDRLVHNnTFcxdmVpMWliM2d0YzJoaFpHOTNPaUF4Y0hnZ01IQjRJREp3ZUNCeVoySmhLREkxTlN3Z01qVTFMQ0F5TlRVc0lEQXVPQ2s3SUdKdmVDMXphR0ZrYjNjNklERndlQ0F3Y0hnZ01uQjRJSEpuWW1Fb01qVTFMQ0F5TlRVc0lESTFOU3dnTUM0NEtUc2dmUTBLRFFvdVptOXZZbTk0TFdOc2IzTmxMQ0F1Wm05dlltOTRMV2x1Ym1WeUxDQXVabTl2WW05NExXeHZZV1JsY2lCN0lDMTNaV0pyYVhRdFltOTRMWE5vWVdSdmR6b2dNSEI0SURCd2VDQXhNbkI0SUhKblltRW9NalUxTENBeU5UVXNJREkxTlN3Z01DNDRLVHNnTFcxdmVpMWliM2d0YzJoaFpHOTNPaUF3Y0hnZ01IQjRJREV5Y0hnZ2NtZGlZU2d5TlRVc0lESTFOU3dnTWpVMUxDQXdMamdwT3lCaWIzZ3RjMmhoWkc5M09pQXdjSGdnTUhCNElERXljSGdnY21kaVlTZ3lOVFVzSURJMU5Td2dNalUxTENBd0xqZ3BPeUI5RFFvTkNpNW1iMjlpYjNndGNHeGhlU3dnTG1admIySnZlQzF3WVhWelpTQjdJR0poWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ013TURBN0lIME5DaTVtYjI5aWIzZ3RhVzV1WlhJZ1BpQXVabTl2WW05NExYQnNZWGtzSUM1bWIyOWliM2d0YVc1dVpYSWdQaUF1Wm05dlltOTRMWEJoZFhObElIc2dZbTl5WkdWeU9pQnpiMnhwWkNBemNIZ2dJekF3TURzZ0xYZGxZbXRwZEMxaWIzZ3RjMmhoWkc5M09pQXdjSGdnTUhCNElERXljSGdnY21kaVlTZ3lOVFVzSURJMU5Td2dNalUxTENBd0xqZ3BPeUF0Ylc5NkxXSnZlQzF6YUdGa2IzYzZJREJ3ZUNBd2NIZ2dNVEp3ZUNCeVoySmhLREkxTlN3Z01qVTFMQ0F5TlRVc0lEQXVPQ2s3SUdKdmVDMXphR0ZrYjNjNklEQndlQ0F3Y0hnZ01USndlQ0J5WjJKaEtESTFOU3dnTWpVMUxDQXlOVFVzSURBdU9DazdJSDBOQ2k1bWIyOWliM2d0YVc1dVpYSWdQaUF1Wm05dlltOTRMWEJzWVhrNmFHOTJaWElzSUM1bWIyOWliM2d0YVc1dVpYSWdQaUF1Wm05dlltOTRMWEJoZFhObE9taHZkbVZ5SUhzZ0xYZGxZbXRwZEMxaWIzZ3RjMmhoWkc5M09pQXdjSGdnTUhCNElERXljSGdnY21kaVlTZ3lOVFVzSURJMU5Td2dNalUxTENBd0xqZ3BPeUF0Ylc5NkxXSnZlQzF6YUdGa2IzYzZJREJ3ZUNBd2NIZ2dNVEp3ZUNCeVoySmhLREkxTlN3Z01qVTFMQ0F5TlRVc0lEQXVPQ2s3SUdKdmVDMXphR0ZrYjNjNklEQndlQ0F3Y0hnZ01USndlQ0J5WjJKaEtESTFOU3dnTWpVMUxDQXlOVFVzSURBdU9DazdJSDBOQ2cwS0RRb05DZzBLRFFwQWJXVmthV0VnYjI1c2VTQnpZM0psWlc0Z1lXNWtJQ2h0WVhndGQybGtkR2dnT2pNeU1IQjRLU0JoYm1RZ0tHOXlhV1Z1ZEdGMGFXOXVJRHB3YjNKMGNtRnBkQ2tnZXcwS0lDQWdJQzVtYjI5aWIzZ3RhVzV1WlhJdGMzQmhZMlZ5SUhzTkNpQWdJQ0J3WVdSa2FXNW5PaUF4TlhCNElEVndlQ0F6TlhCNElEVndlRHNOQ2dsOURRb0pMbVp2YjJKdmVDMWpiM1Z1ZENCN0RRb0pJQ0FnSUdScGMzQnNZWGs2SUc1dmJtVTdEUW9KZlEwS0NTNW1iMjlpYjNndGNISmxkaXdnTG1admIySnZlQzF1WlhoMElIc05DZ2tnSUNBZ2FHVnBaMmgwT2lBME1IQjRPdzBLQ1NBZ0lDQjNhV1IwYURvZ1lYVjBienNOQ2drZ0lDQWdkRzl3T2lCaGRYUnZPdzBLQ1NBZ0lDQmliM1IwYjIwNklEQTdEUW9KSUNBZ0lHMWhjbWRwYmkxMGIzQTZJR0YxZEc4N0RRb0pmUTBLQ1M1bWIyOWliM2d0Y0hKbGRpQjdEUW9KSUNBZ0lHeGxablE2SURBN0RRb0pJQ0FnSUhKcFoyaDBPaUExTUNVN0RRb0pmUTBLQ1M1bWIyOWliM2d0Ym1WNGRDQjdEUW9KSUNBZ0lHeGxablE2SURVd0pUc05DZ2tnSUNBZ2NtbG5hSFE2SURBN0RRb0pmUTBLQ1M1bWIyOWliM2d0WTJ4dmMyVWdldzBLQ1NBZ0lDQjBiM0E2SURSd2VEc05DZ2tnSUNBZ2NtbG5hSFE2SURSd2VEc05DZ2w5RFFvSkxtWnZiMkp2ZUMxamNtVmthWFFnZXcwS0NTQWdJQ0JpYjNSMGIyMDZJREp3ZURzTkNna2dJQ0FnYkdWbWREb2dNbkI0T3cwS0NYME5DZ2t1Wm05dlltOTRMV055WldScGRDQmxiU0I3RFFvSklDQWdJR1JwYzNCc1lYazZJRzV2Ym1VN0RRb0pmUTBLQ1M1bWIyOWliM2d0WTJGd2RHbHZiaUI3RFFvSklDQWdJR3hwYm1VdGFHVnBaMmgwT2lBeU1IQjRPdzBLQ1NBZ0lDQm9aV2xuYUhRNklESXdjSGc3RFFvSmZRMEtDUzVtYjI5aWIzZ3RZMkZ3ZEdsdmJpMTBhWFJzWlNCN0RRb0pJQ0FnSUdadmJuUXRjMmw2WlRvZ01UTndlRHNOQ2dsOURRb0pMbVp2YjJKdmVDMWpZWEIwYVc5dUxXUmxjMk1nZXcwS0NTQWdJQ0JtYjI1MExYTnBlbVU2SURFeGNIZzdEUW9KSUNBZ0lHeHBibVV0YUdWcFoyaDBPaUF4TlhCNE93MEtDWDBOQ2drdVptOXZZbTk0TFdOaGNIUnBiMjR0ZEdsMGJHVWdLeUF1Wm05dlltOTRMV05oY0hScGIyNHRaR1Z6WXlCN0RRb0pJQ0FnSUhCaFpHUnBibWM2SURBZ00zQjRJRE53ZUNBemNIZzdEUW9KZlEwS0NTNW1iMjlpYjNndGJXOWtZV3dnUGlBdVptOXZZbTk0TFhCeVpYWXNJQzVtYjI5aWIzZ3RiVzlrWVd3Z1BpQXVabTl2WW05NExXNWxlSFFnZXcwS0NTQWdJQ0JrYVhOd2JHRjVPaUJpYkc5amF6c05DZ2w5RFFvSkxtWnZiMkp2ZUMxcGJtNWxjaUErSUM1bWIyOWliM2d0Y0hKbGRpd2dMbVp2YjJKdmVDMXBibTVsY2lBK0lDNW1iMjlpYjNndGJtVjRkQ0I3RFFvSklDQWdJR1JwYzNCc1lYazZJRzV2Ym1VN0RRb0pmUTBLZlEwS0RRb05DZzBLRFFvTkNnMEtEUXBBYldWa2FXRWdiMjVzZVNCelkzSmxaVzRnWVc1a0lDaHRZWGd0ZDJsa2RHZzZORGd3Y0hncElHRnVaQ0FvYjNKcFpXNTBZWFJwYjI0Z09teGhibVJ6WTJGd1pTa2dldzBLSUNBZ0lDNW1iMjlpYjNndGFXNXVaWEl0YzNCaFkyVnlJSHNOQ2lBZ0lDQndZV1JrYVc1bk9pQTFjSGc3RFFvSkNYME5DZ2tKTG1admIySnZlQzFqYjNWdWRDQjdEUW9KQ1NBZ0lDQmthWE53YkdGNU9pQnViMjVsT3cwS0NRbDlEUW9KQ1M1bWIyOWliM2d0Y0hKbGRpd2dMbVp2YjJKdmVDMXVaWGgwSUhzTkNna0pJQ0FnSUdobGFXZG9kRG9nT0RCd2VEc05DZ2tKSUNBZ0lIZHBaSFJvT2lBek5IQjRPdzBLQ1FrZ0lDQWdkRzl3T2lBMU1DVTdEUW9KQ1NBZ0lDQmliM1IwYjIwNklHRjFkRzg3RFFvSkNTQWdJQ0J0WVhKbmFXNHRkRzl3T2lBdE5EQndlRHNOQ2drSmZRMEtDUWt1Wm05dlltOTRMV05zYjNObElIc05DZ2tKSUNBZ0lIUnZjRG9nTkhCNE93MEtDUWtnSUNBZ2NtbG5hSFE2SURSd2VEc05DZ2tKZlEwS0NRa3VabTl2WW05NExXTnlaV1JwZENCN0RRb0pDU0FnSUNCaWIzUjBiMjA2SURKd2VEc05DZ2tKSUNBZ0lHeGxablE2SURKd2VEc05DZ2tKZlEwS0NRa3VabTl2WW05NExXTnlaV1JwZENCbGJTQjdEUW9KQ1NBZ0lDQmthWE53YkdGNU9pQnViMjVsT3cwS0NRbDlEUW9KQ1M1bWIyOWliM2d0WTJGd2RHbHZiaUI3RFFvSkNTQWdJQ0JzYVc1bExXaGxhV2RvZERvZ01qQndlRHNOQ2drSklDQWdJR2hsYVdkb2REb2dNakJ3ZURzTkNna0pmUTBLQ1FrdVptOXZZbTk0TFdOaGNIUnBiMjR0ZEdsMGJHVWdldzBLQ1FrZ0lDQWdabTl1ZEMxemFYcGxPaUF4TTNCNE93MEtDUWw5RFFvSkNTNW1iMjlpYjNndFkyRndkR2x2Ymkxa1pYTmpJSHNOQ2drSklDQWdJR1p2Ym5RdGMybDZaVG9nTVRGd2VEc05DZ2tKSUNBZ0lHeHBibVV0YUdWcFoyaDBPaUF4TlhCNE93MEtDUWw5RFFvSkNTNW1iMjlpYjNndFkyRndkR2x2YmkxMGFYUnNaU0FySUM1bWIyOWliM2d0WTJGd2RHbHZiaTFrWlhOaklIc05DZ2tKSUNBZ0lIQmhaR1JwYm1jNklEQWdNM0I0SUROd2VDQXpjSGc3RFFvSkNYME5DZ2tKTG1admIySnZlQzF0YjJSaGJDQStJQzVtYjI5aWIzZ3RjSEpsZGl3Z0xtWnZiMkp2ZUMxdGIyUmhiQ0ErSUM1bWIyOWliM2d0Ym1WNGRDQjdEUW9KQ1NBZ0lDQmthWE53YkdGNU9pQmliRzlqYXpzTkNna0pmUTBLQ1FrdVptOXZZbTk0TFdsdWJtVnlJRDRnTG1admIySnZlQzF3Y21WMkxDQXVabTl2WW05NExXbHVibVZ5SUQ0Z0xtWnZiMkp2ZUMxdVpYaDBJSHNOQ2drSklDQWdJR1JwYzNCc1lYazZJRzV2Ym1VN0RRb0pDWDBOQ2drSkxtWnZiMkp2ZUMxd2NtVjJJSHNOQ2drSklDQWdJR0p2Y21SbGNpMXlZV1JwZFhNNklEQWdNVEJ3ZUNBeE1IQjRJREE3RFFvSkNYME5DZ2tKTG1admIySnZlQzF1WlhoMElIc05DZ2tKSUNBZ0lHSnZjbVJsY2kxeVlXUnBkWE02SURFd2NIZ2dNQ0F3SURFd2NIZzdEUW9KQ1gwTkNuME5Da0J0WldScFlTQnZibXg1SUhOamNtVmxiaUJoYm1RZ0tHMXBiaTEzYVdSMGFDQTZNekl4Y0hncElHRnVaQ0FvYldGNExYZHBaSFJvSURvM05qaHdlQ2tnWVc1a0lDaHZjbWxsYm5SaGRHbHZiaUE2Y0c5eWRISmhhWFFwSUhzTkNpQWdJQ0F1Wm05dlltOTRMWEJ5WlhZc0lDNW1iMjlpYjNndGJtVjRkQ0I3RFFvSkNTQWdJQ0IzYVdSMGFEb2dOREJ3ZURzTkNna0pJQ0FnSUdobGFXZG9kRG9nTVRBd2NIZzdEUW9KQ1NBZ0lDQjBiM0E2SURVd0pUc05DZ2tKSUNBZ0lHSnZkSFJ2YlRvZ1lYVjBienNOQ2drSklDQWdJRzFoY21kcGJpMTBiM0E2SUMwMU1IQjRPdzBLQ1FsOURRb0pDUzVtYjI5aWIzZ3RZMnh2YzJVZ2V3MEtDUWtnSUNBZ2RHOXdPaUF0TVRsd2VEc05DZ2tKSUNBZ0lISnBaMmgwT2lBdE1qQndlRHNOQ2drSmZRMEtDUWt1Wm05dlltOTRMVzF2WkdGc0lENGdMbVp2YjJKdmVDMXdjbVYyTENBdVptOXZZbTk0TFcxdlpHRnNJRDRnTG1admIySnZlQzF1WlhoMElIc05DZ2tKSUNBZ0lHUnBjM0JzWVhrNklHSnNiMk5yT3cwS0NRbDlEUW9KQ1M1bWIyOWliM2d0YVc1dVpYSWdQaUF1Wm05dlltOTRMWEJ5WlhZc0lDNW1iMjlpYjNndGFXNXVaWElnUGlBdVptOXZZbTk0TFc1bGVIUWdldzBLQ1FrZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlRzTkNna0pmUTBLQ1FrdVptOXZZbTk0TFhCeVpYWWdldzBLQ1FrZ0lDQWdZbTl5WkdWeUxYSmhaR2wxY3pvZ01DQXhNSEI0SURFd2NIZ2dNRHNOQ2drSmZRMEtDUWt1Wm05dlltOTRMVzVsZUhRZ2V3MEtDUWtnSUNBZ1ltOXlaR1Z5TFhKaFpHbDFjem9nTVRCd2VDQXdJREFnTVRCd2VEc05DZ2tKZlEwS0NRbDlEUW9KQ1VCdFpXUnBZU0J2Ym14NUlITmpjbVZsYmlCaGJtUWdLRzFwYmkxM2FXUjBhQ0E2TkRneGNIZ3BJR0Z1WkNBb2JXRjRMWGRwWkhSb0lEb3hNREkwY0hncElHRnVaQ0FvYjNKcFpXNTBZWFJwYjI0Z09teGhibVJ6WTJGd1pTa2dldzBLQ1FrZ0lDQWdMbVp2YjJKdmVDMXdjbVYyTENBdVptOXZZbTk0TFc1bGVIUWdldzBLQ1FrZ0lDQWdkMmxrZEdnNklEUXdjSGc3RFFvSkNTQWdJQ0JvWldsbmFIUTZJREV3TUhCNE93MEtDUWtnSUNBZ2RHOXdPaUExTUNVN0RRb0pDU0FnSUNCaWIzUjBiMjA2SUdGMWRHODdEUW9KQ1NBZ0lDQnRZWEpuYVc0dGRHOXdPaUF0TlRCd2VEc05DZ2tKZlEwS0NRa3VabTl2WW05NExXTnNiM05sSUhzTkNna0pJQ0FnSUhSdmNEb2dMVEU1Y0hnN0RRb0pDU0FnSUNCeWFXZG9kRG9nTFRJd2NIZzdEUW9KQ1gwTkNna0pMbVp2YjJKdmVDMXRiMlJoYkNBK0lDNW1iMjlpYjNndGNISmxkaXdnTG1admIySnZlQzF0YjJSaGJDQStJQzVtYjI5aWIzZ3RibVY0ZENCN0RRb0pDU0FnSUNCa2FYTndiR0Y1T2lCaWJHOWphenNOQ2drSmZRMEtDUWt1Wm05dlltOTRMV2x1Ym1WeUlENGdMbVp2YjJKdmVDMXdjbVYyTENBdVptOXZZbTk0TFdsdWJtVnlJRDRnTG1admIySnZlQzF1WlhoMElIc05DZ2tKSUNBZ0lHUnBjM0JzWVhrNklHNXZibVU3RFFvSkNYME5DZ2tKTG1admIySnZlQzF3Y21WMklIc05DZ2tKSUNBZ0lHSnZjbVJsY2kxeVlXUnBkWE02SURBZ01UQndlQ0F4TUhCNElEQTdEUW9KQ1gwTkNna0pMbVp2YjJKdmVDMXVaWGgwSUhzTkNna0pJQ0FnSUdKdmNtUmxjaTF5WVdScGRYTTZJREV3Y0hnZ01DQXdJREV3Y0hnN0RRb0pDWDBOQ24wTkNrQnRaV1JwWVNCdmJteDVJSE5qY21WbGJpQmhibVFnS0cxaGVDMTNhV1IwYUNBNk16SXdjSGdwSUdGdVpDQW9iM0pwWlc1MFlYUnBiMjRnT25CdmNuUnlZV2wwS1NCN0RRb2dJQ0FnTG1admIySnZlQzFwYm01bGNpQjdEUW9KQ1NBZ0lDQmliM0prWlhJNklITnZiR2xrSURSd2VDQWpabVptT3cwS0NRa2dJQ0FnWW05eVpHVnlMWEpoWkdsMWN6b2dOWEI0T3cwS0NRbDlEUW9KQ1M1bWIyOWliM2d0WTJGd2RHbHZiaUI3RFFvSkNTQWdJQ0JtYjI1MExYTnBlbVU2SURFeWNIZzdEUW9KQ1gwTkNna0pMbVp2YjJKdmVDMXdjbVYyTENBdVptOXZZbTk0TFc1bGVIUWdldzBLQ1FrZ0lDQWdZbTl5WkdWeUxYSmhaR2wxY3pvZ01Ec05DZ2tKSUNBZ0lDMTNaV0pyYVhRdFltOTRMWE5vWVdSdmR6b2dibTl1WlRzTkNna0pJQ0FnSUMxdGIzb3RZbTk0TFhOb1lXUnZkem9nYm05dVpUc05DZ2tKSUNBZ0lHSnZlQzF6YUdGa2IzYzZJRzV2Ym1VN0RRb0pDWDBOQ2drSkxtWnZiMkp2ZUMxamJHOXpaU0I3RFFvSkNTQWdJQ0JpYjNKa1pYSTZJSE52Ykdsa0lESndlQ0FqUmtaR093MEtDUWtnSUNBZ2IzQmhZMmwwZVRvZ0xqVTdEUW9KQ1gwTkNna0pMbVp2YjJKdmVDMWpiRzl6WlRwb2IzWmxjaUI3RFFvSkNTQWdJQ0J2Y0dGamFYUjVPaUF4T3cwS0NRbDlEUW9KQ1M1bWIyOWliM2d0WTNKbFpHbDBJSHNOQ2drSklDQWdJRzl3WVdOcGRIazZJQzQxT3cwS0NRbDlEUW9KQ1M1bWIyOWliM2d0WTNKbFpHbDBPbWh2ZG1WeUlIc05DZ2tKSUNBZ0lHOXdZV05wZEhrNklERTdEUW9KQ1gwTkNuME5Da0J0WldScFlTQnZibXg1SUhOamNtVmxiaUJoYm1RZ0tHMWhlQzEzYVdSMGFEbzBPREJ3ZUNrZ1lXNWtJQ2h2Y21sbGJuUmhkR2x2YmlBNmJHRnVaSE5qWVhCbEtTQjdEUW9KQ1NBZ0lDQXVabTl2WW05NExXbHVibVZ5SUhzTkNna0pJQ0FnSUdKdmNtUmxjam9nYzI5c2FXUWdOSEI0SUNObVptWTdEUW9KQ1NBZ0lDQmliM0prWlhJdGNtRmthWFZ6T2lBMWNIZzdEUW9KQ1gwTkNna0pMbVp2YjJKdmVDMWpZWEIwYVc5dUlIc05DZ2tKSUNBZ0lHWnZiblF0YzJsNlpUb2dNVEp3ZURzTkNna0pmUTBLQ1FrdVptOXZZbTk0TFdOc2IzTmxJSHNOQ2drSklDQWdJR0p2Y21SbGNqb2djMjlzYVdRZ01uQjRJQ05HUmtZN0RRb0pDU0FnSUNCdmNHRmphWFI1T2lBdU5Uc05DZ2tKZlEwS0NRa3VabTl2WW05NExXTnNiM05sT21odmRtVnlJSHNOQ2drSklDQWdJRzl3WVdOcGRIazZJREU3RFFvSkNYME5DZ2tKTG1admIySnZlQzFqY21Wa2FYUWdldzBLQ1FrZ0lDQWdiM0JoWTJsMGVUb2dMalU3RFFvSkNYME5DZ2tKTG1admIySnZlQzFqY21Wa2FYUTZhRzkyWlhJZ2V3MEtDUWtnSUNBZ2IzQmhZMmwwZVRvZ01Uc05DZ2tKZlEwS2ZRMEtRRzFsWkdsaElHOXViSGtnYzJOeVpXVnVJR0Z1WkNBb2JXbHVMWGRwWkhSb0lEb3pNakZ3ZUNrZ1lXNWtJQ2h0WVhndGQybGtkR2dnT2pjMk9IQjRLU0JoYm1RZ0tHOXlhV1Z1ZEdGMGFXOXVJRHB3YjNKMGNtRnBkQ2tnZXcwS0lDQWdJQzVtYjI5aWIzZ3RhVzV1WlhJdGMzQmhZMlZ5SUhzTkNna0pJQ0FnSUhCaFpHUnBibWM2SURNd2NIZzdEUW9KQ1gwTkNna0pMbVp2YjJKdmVDMXBibTVsY2lCN0RRb0pDU0FnSUNCaWIzSmtaWEk2SUhOdmJHbGtJRFp3ZUNBalptWm1PdzBLQ1FsOURRcDlEUXBBYldWa2FXRWdiMjVzZVNCelkzSmxaVzRnWVc1a0lDaHRhVzR0ZDJsa2RHZ2dPalE0TVhCNEtTQmhibVFnS0cxaGVDMTNhV1IwYUNBNk1UQXlOSEI0S1NCaGJtUWdLRzl5YVdWdWRHRjBhVzl1SURwc1lXNWtjMk5oY0dVcElIc05DZ2tKSUNBZ0lDNW1iMjlpYjNndGFXNXVaWEl0YzNCaFkyVnlJSHNOQ2drSklDQWdJSEJoWkdScGJtYzZJRE13Y0hnN0RRb0pDWDBOQ2drSkxtWnZiMkp2ZUMxcGJtNWxjaUI3RFFvSkNTQWdJQ0JpYjNKa1pYSTZJSE52Ykdsa0lEWndlQ0FqWm1abU93MEtDUWw5RFFwOURRb3VabTl2WW05NExYQnliMmR5WlhOeklIc05DaUFnSUNCNkxXbHVaR1Y0T2lBeE1EQXdNRFE3RFFwOURRb3VabTl2WW05NExYQnNZWGtzSUM1bWIyOWliM2d0Y0dGMWMyVWdldzBLSUNBZ0lIb3RhVzVrWlhnNklERXdNREF3TkRzTkNuME5DaTVtYjI5aWIzZ3RjSEp2WjNKbGMzTWdldzBLSUNBZ0lIZHBaSFJvT2lBd0pUc05DaUFnSUNCd2IzTnBkR2x2YmpvZ1lXSnpiMngxZEdVN0RRb2dJQ0FnWkdsemNHeGhlVG9nYm05dVpUc05DaUFnSUNCMGIzQTZJR0YxZEc4N0RRb2dJQ0FnYkdWbWREb2dNRHNOQ2lBZ0lDQmliM1IwYjIwNklEQTdEUW9nSUNBZ1ltOTRMWE5wZW1sdVp6b2dZbTl5WkdWeUxXSnZlRHNOQ2lBZ0lDQXRiWE10WW05NExYTnBlbWx1WnpvZ1ltOXlaR1Z5TFdKdmVEc05DaUFnSUNBdGJXOTZMV0p2ZUMxemFYcHBibWM2SUdKdmNtUmxjaTFpYjNnN0RRb2dJQ0FnTFhkbFltdHBkQzFpYjNndGMybDZhVzVuT2lCaWIzSmtaWEl0WW05NE93MEtmUTBLTG1admIySnZlQzFwYm01bGNqNHVabTl2WW05NExYQnNZWGtzSUM1bWIyOWliM2d0YVc1dVpYSStMbVp2YjJKdmVDMXdZWFZ6WlNCN0RRb2dJQ0FnZDJsa2RHZzZJREk0Y0hnN0RRb2dJQ0FnYUdWcFoyaDBPaUF5T0hCNE93MEtJQ0FnSUhCdmMybDBhVzl1T2lCaFluTnZiSFYwWlRzTkNpQWdJQ0J5YVdkb2REb2dMVEl4Y0hnN0RRb2dJQ0FnWW05MGRHOXRPaUF0TWpGd2VEc05DaUFnSUNCc2FXNWxMV2hsYVdkb2REb2dNamh3ZURzTkNpQWdJQ0IwWlhoMExXRnNhV2R1T2lCalpXNTBaWEk3RFFvZ0lDQWdkR1Y0ZEMxa1pXTnZjbUYwYVc5dU9pQnViMjVsT3cwS0lDQWdJR1JwYzNCc1lYazZJR0pzYjJOck93MEtJQ0FnSUc5MWRHeHBibVU2SUc1dmJtVTdEUW9nSUNBZ1kzVnljMjl5T2lCd2IybHVkR1Z5T3cwS2ZRMEtMbVp2YjJKdmVDMXRiMlJoYkQ0dVptOXZZbTk0TFhCc1lYa3NJQzVtYjI5aWIzZ3RiVzlrWVd3K0xtWnZiMkp2ZUMxd1lYVnpaU0I3RFFvZ0lDQWdjRzl6YVhScGIyNDZJR0ZpYzI5c2RYUmxPdzBLSUNBZ0lIUnZjRG9nWVhWMGJ6c05DaUFnSUNCaWIzUjBiMjA2SURBN0RRb2dJQ0FnYkdWbWREb2dNek1sT3cwS0lDQWdJSEpwWjJoME9pQXpNeVU3RFFvZ0lDQWdaR2x6Y0d4aGVUb2dibTl1WlRzTkNpQWdJQ0IwWlhoMExXRnNhV2R1T2lCalpXNTBaWEk3RFFvZ0lDQWdkR1Y0ZEMxa1pXTnZjbUYwYVc5dU9pQnViMjVsT3cwS0lDQWdJRzkxZEd4cGJtVTZJRzV2Ym1VN0RRb2dJQ0FnWTNWeWMyOXlPaUJ3YjJsdWRHVnlPdzBLZlEwS0xtWnZiMkp2ZUMxd2NtOW5jbVZ6Y3lCN0RRb2dJQ0FnYUdWcFoyaDBPaUExY0hnN0RRb2dJQ0FnWW1GamEyZHliM1Z1WkRvZ2NtZGlZU2d5TlRVc0lESTFOU3dnTWpVMUxDQXVOU2s3RFFvZ0lDQWdZbTl5WkdWeUxXSnZkSFJ2YlMxc1pXWjBMWEpoWkdsMWN6b2dOWEI0T3cwS2ZRMEtMbVp2YjJKdmVDMXdiR0Y1SUhzTkNpQWdJQ0JpWVdOclozSnZkVzVrT2lBak1EQXdJSFZ5YkNoYlczSnZiM1JmZFhKc1hWMHZiVzlrZFd4bGN5OVViMjlzUW05NEwzUmxiWEJzWVhSbGN5OWhiR0pmWm05dlltOTRMM0JzWVhrdWNHNW5LU0J1YnkxeVpYQmxZWFFnWTJWdWRHVnlJR05sYm5SbGNqc05DbjBOQ2k1bWIyOWliM2d0Y0dGMWMyVWdldzBLSUNBZ0lHSmhZMnRuY205MWJtUTZJQ013TURBZ2RYSnNLRnRiY205dmRGOTFjbXhkWFM5dGIyUjFiR1Z6TDFSdmIyeENiM2d2ZEdWdGNHeGhkR1Z6TDJGc1lsOW1iMjlpYjNndmNHRjFjMlV1Y0c1bktTQnVieTF5WlhCbFlYUWdZMlZ1ZEdWeUlHTmxiblJsY2pzTkNuME5DaTVtYjI5aWIzZ3RhVzV1WlhJK0xtWnZiMkp2ZUMxd2JHRjVMQ0F1Wm05dlltOTRMV2x1Ym1WeVBpNW1iMjlpYjNndGNHRjFjMlVnZXcwS0lDQWdJR0p2Y21SbGNqb2djMjlzYVdRZ00zQjRJQ013TURBN0RRb2dJQ0FnWW05eVpHVnlMWEpoWkdsMWN6b2dOVEFsT3cwS0lDQWdJQzEzWldKcmFYUXRZbTk0TFhOb1lXUnZkem9nTUNBd0lERXljSGdnY21kaVlTZ3dMQ0F3TENBd0xDQXVPQ2s3RFFvZ0lDQWdMVzF2ZWkxaWIzZ3RjMmhoWkc5M09pQXdJREFnTVRKd2VDQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DaUFnSUNCaWIzZ3RjMmhoWkc5M09pQXdJREFnTVRKd2VDQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DbjBOQ2k1bWIyOWliM2d0YVc1dVpYSStMbVp2YjJKdmVDMXdiR0Y1T21odmRtVnlMQ0F1Wm05dlltOTRMV2x1Ym1WeVBpNW1iMjlpYjNndGNHRjFjMlU2YUc5MlpYSWdldzBLSUNBZ0lDMTNaV0pyYVhRdFltOTRMWE5vWVdSdmR6b2dNQ0F3SURSd2VDQnlaMkpoS0RBc0lEQXNJREFzSUM0NEtUc05DaUFnSUNBdGJXOTZMV0p2ZUMxemFHRmtiM2M2SURBZ01DQTBjSGdnY21kaVlTZ3dMQ0F3TENBd0xDQXVPQ2s3RFFvZ0lDQWdZbTk0TFhOb1lXUnZkem9nTUNBd0lEUndlQ0J5WjJKaEtEQXNJREFzSURBc0lDNDRLVHNOQ24wTkNpNW1iMjlpYjNndGJXOWtZV3crTG1admIySnZlQzF3YkdGNUxDQXVabTl2WW05NExXMXZaR0ZzUGk1bWIyOWliM2d0Y0dGMWMyVWdldzBLSUNBZ0lHaGxhV2RvZERvZ05EQndlRHNOQ2lBZ0lDQjNhV1IwYURvZ1lYVjBienNOQ24wTkNrQnRaV1JwWVNCdmJteDVJSE5qY21WbGJpQmhibVFnS0cxaGVDMTNhV1IwYUNBNk16SXdjSGdwSUdGdVpDQW9iM0pwWlc1MFlYUnBiMjRnT25CdmNuUnlZV2wwS1NCN0RRb2dJQ0FnTG1admIySnZlQzF3Y21WMklIc05DZ2tKSUNBZ0lHeGxablE2SURBN0RRb0pDU0FnSUNCeWFXZG9kRG9nTmpZbE93MEtDUWw5RFFvSkNTNW1iMjlpYjNndGJtVjRkQ0I3RFFvSkNTQWdJQ0JzWldaME9pQTJOaVU3RFFvSkNTQWdJQ0J5YVdkb2REb2dNRHNOQ2drSmZRMEtDUWt1Wm05dlltOTRMWEJ5YjJkeVpYTnpJSHNOQ2drSklDQWdJR2hsYVdkb2REb2dNM0I0T3cwS0NRbDlEUW9KQ1M1bWIyOWliM2d0YVc1dVpYSWdQaUF1Wm05dlltOTRMWEJzWVhrc0lDNW1iMjlpYjNndGFXNXVaWElnUGlBdVptOXZZbTk0TFhCaGRYTmxJSHNOQ2drSklDQWdJR1JwYzNCc1lYazZJRzV2Ym1VN0RRb0pDWDBOQ2drSkxtWnZiMkp2ZUMxdGIyUmhiQ0ErSUM1bWIyOWliM2d0Y0d4aGVTd2dMbVp2YjJKdmVDMXRiMlJoYkNBK0lDNW1iMjlpYjNndGNHRjFjMlVnZXcwS0NRa2dJQ0FnWkdsemNHeGhlVG9nWW14dlkyczdEUW9KQ1gwTkNuME5Da0J0WldScFlTQnZibXg1SUhOamNtVmxiaUJoYm1RZ0tHMWhlQzEzYVdSMGFEbzBPREJ3ZUNrZ1lXNWtJQ2h2Y21sbGJuUmhkR2x2YmlBNmJHRnVaSE5qWVhCbEtTQjdEUW9nSUNBZ0xtWnZiMkp2ZUMxd2NtOW5jbVZ6Y3lCN0RRb0pDU0FnSUNCb1pXbG5hSFE2SUROd2VEc05DZ2tKZlEwS0NRa3VabTl2WW05NExXbHVibVZ5SUQ0Z0xtWnZiMkp2ZUMxd2JHRjVMQ0F1Wm05dlltOTRMV2x1Ym1WeUlENGdMbVp2YjJKdmVDMXdZWFZ6WlNCN0RRb0pDU0FnSUNCaWIzUjBiMjA2SURSd2VEc05DZ2tKSUNBZ0lISnBaMmgwT2lBMGNIZzdEUW9KQ1NBZ0lDQnZjR0ZqYVhSNU9pQXVOVHNOQ2drSmZRMEtDUWt1Wm05dlltOTRMV2x1Ym1WeUlENGdMbVp2YjJKdmVDMXdiR0Y1T21odmRtVnlMQ0F1Wm05dlltOTRMV2x1Ym1WeUlENGdMbVp2YjJKdmVDMXdZWFZ6WlRwb2IzWmxjaUI3RFFvSkNTQWdJQ0J2Y0dGamFYUjVPaUF4T3cwS0NRbDlEUW9KQ1gwTkNna0pRRzFsWkdsaElHOXViSGtnYzJOeVpXVnVJR0Z1WkNBb2JXbHVMWGRwWkhSb0lEb3pNakZ3ZUNrZ1lXNWtJQ2h0WVhndGQybGtkR2dnT2pjMk9IQjRLU0JoYm1RZ0tHOXlhV1Z1ZEdGMGFXOXVJRHB3YjNKMGNtRnBkQ2tnZXcwS0NRa2dJQ0FnTG1admIySnZlQzFwYm01bGNpQStJQzVtYjI5aWIzZ3RjR3hoZVN3Z0xtWnZiMkp2ZUMxcGJtNWxjaUErSUM1bWIyOWliM2d0Y0dGMWMyVWdldzBLQ1FrZ0lDQWdZbTkwZEc5dE9pQXRNVGx3ZURzTkNna0pJQ0FnSUhKcFoyaDBPaUF0TWpCd2VEc05DZ2tKZlEwS0NRbDlEUW9KQ1VCdFpXUnBZU0J2Ym14NUlITmpjbVZsYmlCaGJtUWdLRzFwYmkxM2FXUjBhQ0E2TkRneGNIZ3BJR0Z1WkNBb2JXRjRMWGRwWkhSb0lEb3hNREkwY0hncElHRnVaQ0FvYjNKcFpXNTBZWFJwYjI0Z09teGhibVJ6WTJGd1pTa2dldzBLQ1FrZ0lDQWdMbVp2YjJKdmVDMXBibTVsY2lBK0lDNW1iMjlpYjNndGNHeGhlU3dnTG1admIySnZlQzFwYm01bGNpQStJQzVtYjI5aWIzZ3RjR0YxYzJVZ2V3MEtDUWtnSUNBZ1ltOTBkRzl0T2lBdE1UbHdlRHNOQ2drSklDQWdJSEpwWjJoME9pQXRNakJ3ZURzTkNna0pmUTBLZlEwS1FHMWxaR2xoSUc5dWJIa2djMk55WldWdUlHRnVaQ0FvYldGNExYZHBaSFJvSURvek1qQndlQ2tnWVc1a0lDaHZjbWxsYm5SaGRHbHZiaUE2Y0c5eWRISmhhWFFwSUhzTkNuME5Da0J0WldScFlTQnZibXg1SUhOamNtVmxiaUJoYm1RZ0tHMWhlQzEzYVdSMGFEbzBPREJ3ZUNrZ1lXNWtJQ2h2Y21sbGJuUmhkR2x2YmlBNmJHRnVaSE5qWVhCbEtTQjdEUXA5RFFwQWJXVmthV0VnYjI1c2VTQnpZM0psWlc0Z1lXNWtJQ2h0YVc0dGQybGtkR2dnT2pNeU1YQjRLU0JoYm1RZ0tHMWhlQzEzYVdSMGFDQTZOelk0Y0hncElHRnVaQ0FvYjNKcFpXNTBZWFJwYjI0Z09uQnZjblJ5WVdsMEtTQjdEUXA5RFFwQWJXVmthV0VnYjI1c2VTQnpZM0psWlc0Z1lXNWtJQ2h0YVc0dGQybGtkR2dnT2pRNE1YQjRLU0JoYm1RZ0tHMWhlQzEzYVdSMGFDQTZNVEF5TkhCNEtTQmhibVFnS0c5eWFXVnVkR0YwYVc5dUlEcHNZVzVrYzJOaGNHVXBJSHNOQ24wTkNpNW1iMjlpYjNndGMyOWphV0ZzSUhzTkNpQWdJQ0I2TFdsdVpHVjRPaUF4TURBd01ETTdEUW9nSUNBZ2NHOXphWFJwYjI0NklISmxiR0YwYVhabE93MEtJQ0FnSUdScGMzQnNZWGs2SUdKc2IyTnJPdzBLSUNBZ0lIQmhaR1JwYm1jNklEVndlRHNOQ2lBZ0lDQXRkMlZpYTJsMExXSnZlQzF6YVhwcGJtYzZJR0p2Y21SbGNpMWliM2c3RFFvZ0lDQWdMVzF2ZWkxaWIzZ3RjMmw2YVc1bk9pQmliM0prWlhJdFltOTRPdzBLSUNBZ0lHSnZlQzF6YVhwcGJtYzZJR0p2Y21SbGNpMWliM2c3RFFwOURRb3VabTl2WW05NExYTnZZMmxoYkM1bWIyOWliM2d0ZEc5d0lIc05DaUFnSUNCMFpYaDBMV0ZzYVdkdU9pQmpaVzUwWlhJN0RRcDlEUW91Wm05dlltOTRMWE52WTJsaGJDNW1iMjlpYjNndGRHOXdiR1ZtZENCN0RRb2dJQ0FnZEdWNGRDMWhiR2xuYmpvZ2JHVm1kRHNOQ24wTkNpNW1iMjlpYjNndGMyOWphV0ZzTG1admIySnZlQzEwYjNCeWFXZG9kQ0I3RFFvZ0lDQWdkR1Y0ZEMxaGJHbG5iam9nY21sbmFIUTdEUXA5RFFvdVptOXZZbTk0TFhOdlkybGhiQzVtYjI5aWIzZ3RZbTkwZEc5dElIc05DaUFnSUNCd2IzTnBkR2x2YmpvZ1lXSnpiMngxZEdVN0RRb2dJQ0FnWW05MGRHOXRPaUF3T3cwS0lDQWdJSGRwWkhSb09pQXhNREFsT3cwS0lDQWdJSFJsZUhRdFlXeHBaMjQ2SUdObGJuUmxjanNOQ24wTkNpNW1iMjlpYjNndGMyOWphV0ZzTG1admIySnZlQzFpYjNSMGIyMXNaV1owSUhzTkNpQWdJQ0J3YjNOcGRHbHZiam9nWVdKemIyeDFkR1U3RFFvZ0lDQWdZbTkwZEc5dE9pQXdPdzBLSUNBZ0lIZHBaSFJvT2lBeE1EQWxPdzBLSUNBZ0lIUmxlSFF0WVd4cFoyNDZJR3hsWm5RN0RRcDlEUW91Wm05dlltOTRMWE52WTJsaGJDNW1iMjlpYjNndFltOTBkRzl0Y21sbmFIUWdldzBLSUNBZ0lIQnZjMmwwYVc5dU9pQmhZbk52YkhWMFpUc05DaUFnSUNCaWIzUjBiMjA2SURBN0RRb2dJQ0FnZDJsa2RHZzZJREV3TUNVN0RRb2dJQ0FnZEdWNGRDMWhiR2xuYmpvZ2NtbG5hSFE3RFFwOURRb3VabTl2WW05NExYTm9iM2N0WTJGd2RHbHZiaUF1Wm05dlltOTRMWE52WTJsaGJDNW1iMjlpYjNndFltOTBkRzl0TENBdVptOXZZbTk0TFhOb2IzY3RZMkZ3ZEdsdmJpQXVabTl2WW05NExYTnZZMmxoYkM1bWIyOWliM2d0WW05MGRHOXRiR1ZtZEN3Z0xtWnZiMkp2ZUMxemFHOTNMV05oY0hScGIyNGdMbVp2YjJKdmVDMXpiMk5wWVd3dVptOXZZbTk0TFdKdmRIUnZiWEpwWjJoMElIc05DaUFnSUNCaWIzUjBiMjA2SURNd2NIZzdEUXA5RFFvdVptOXZZbTk0TFhOdlkybGhiQ0JoSUhzTkNpQWdJQ0IzYVdSMGFEb2dNekp3ZURzTkNpQWdJQ0JvWldsbmFIUTZJRE15Y0hnN0RRb2dJQ0FnWW1GamEyZHliM1Z1WkRvZ2RYSnNLRnRiY205dmRGOTFjbXhkWFM5dGIyUjFiR1Z6TDFSdmIyeENiM2d2ZEdWdGNHeGhkR1Z6TDJGc1lsOW1iMjlpYjNndmMyOWphV0ZzYzNCeWFYUmxMbkJ1WnlrZ2JtOHRjbVZ3WldGME93MEtJQ0FnSUcxaGNtZHBiam9nTlhCNE93MEtJQ0FnSUhSbGVIUXRhVzVrWlc1ME9pQXRPVGs1T1hCNE93MEtJQ0FnSUc5d1lXTnBkSGs2SUM0MU93MEtJQ0FnSUdScGMzQnNZWGs2SUdsdWJHbHVaUzFpYkc5amF6c05DbjBOQ2k1bWIyOWliM2d0YzI5amFXRnNMbVp2YjJKdmVDMXlhV2RvZENCaElIc05DaUFnSUNCMFpYaDBMV2x1WkdWdWREb2dPVGs1T1hCNE93MEtmUTBLTG1admIySnZlQzF6YjJOcFlXd2dZUzVtYjI5aWIzZ3RabUZqWldKdmIyc2dldzBLSUNBZ0lHSmhZMnRuY205MWJtUXRjRzl6YVhScGIyNDZJREFnTURzTkNuME5DaTVtYjI5aWIzZ3RjMjlqYVdGc0lHRXVabTl2WW05NExXZHZiMmRzWlMxd2JIVnpJSHNOQ2lBZ0lDQmlZV05yWjNKdmRXNWtMWEJ2YzJsMGFXOXVPaUF0TXpKd2VDQXdPdzBLZlEwS0xtWnZiMkp2ZUMxemIyTnBZV3dnWVM1bWIyOWliM2d0ZEhkcGRIUmxjaUI3RFFvZ0lDQWdZbUZqYTJkeWIzVnVaQzF3YjNOcGRHbHZiam9nTFRZMGNIZ2dNRHNOQ24wTkNpNW1iMjlpYjNndGMyOWphV0ZzSUdFdVptOXZZbTk0TFhCcGJuUmxjbVZ6ZENCN0RRb2dJQ0FnWW1GamEyZHliM1Z1WkMxd2IzTnBkR2x2YmpvZ0xUazJjSGdnTURzTkNuME5DaTVtYjI5aWIzZ3RjMjlqYVdGc0lHRXVabTl2WW05NExXeHBibXRsWkdsdUlIc05DaUFnSUNCaVlXTnJaM0p2ZFc1a0xYQnZjMmwwYVc5dU9pQXRNVEk0Y0hnZ01Ec05DbjBOQ2k1bWIyOWliM2d0YzI5amFXRnNJR0U2YUc5MlpYSWdldzBLSUNBZ0lHOXdZV05wZEhrNklERTdEUXA5RFFwQWJXVmthV0VnYjI1c2VTQnpZM0psWlc0Z1lXNWtJQ2h0WVhndGQybGtkR2dnT2pFd01qUndlQ2tnZXcwS0lDQWdJQzVtYjI5aWIzZ3RjMjlqYVdGc0lIc05DaUFnSUNCd1lXUmthVzVuT2lBemNIZzdEUXA5RFFvdVptOXZZbTk0TFhOdlkybGhiQ0JoSUhzTkNpQWdJQ0IzYVdSMGFEb2dNalJ3ZURzTkNpQWdJQ0JvWldsbmFIUTZJREkwY0hnN0RRb2dJQ0FnYldGeVoybHVPaUEwY0hnZ05YQjRPdzBLZlEwS0xtWnZiMkp2ZUMxemIyTnBZV3dnWVM1bWIyOWliM2d0Wm1GalpXSnZiMnNnZXcwS0lDQWdJR0poWTJ0bmNtOTFibVF0Y0c5emFYUnBiMjQ2SURBZ0xUTXljSGc3RFFwOURRb3VabTl2WW05NExYTnZZMmxoYkNCaExtWnZiMkp2ZUMxbmIyOW5iR1V0Y0d4MWN5QjdEUW9nSUNBZ1ltRmphMmR5YjNWdVpDMXdiM05wZEdsdmJqb2dMVEkwY0hnZ0xUTXljSGc3RFFwOURRb3VabTl2WW05NExYTnZZMmxoYkNCaExtWnZiMkp2ZUMxMGQybDBkR1Z5SUhzTkNpQWdJQ0JpWVdOclozSnZkVzVrTFhCdmMybDBhVzl1T2lBdE5EaHdlQ0F0TXpKd2VEc05DbjBOQ2k1bWIyOWliM2d0YzI5amFXRnNJR0V1Wm05dlltOTRMWEJwYm5SbGNtVnpkQ0I3RFFvZ0lDQWdZbUZqYTJkeWIzVnVaQzF3YjNOcGRHbHZiam9nTFRjeWNIZ2dMVE15Y0hnN0RRcDlEUW91Wm05dlltOTRMWE52WTJsaGJDQmhMbVp2YjJKdmVDMXNhVzVyWldScGJpQjdEUW9nSUNBZ1ltRmphMmR5YjNWdVpDMXdiM05wZEdsdmJqb2dMVGsyY0hnZ0xUTXljSGc3RFFwOURRcDlEUXBBYldWa2FXRWdiMjVzZVNCelkzSmxaVzRnWVc1a0lDaHRZWGd0ZDJsa2RHZ2dPak15TUhCNEtTQmhibVFnS0c5eWFXVnVkR0YwYVc5dUlEcHdiM0owY21GcGRDa2dldzBLSUNBZ0lDNW1iMjlpYjNndGMyaHZkeTFqWVhCMGFXOXVJQzVtYjI5aWIzZ3RjMjlqYVdGc0xtWnZiMkp2ZUMxaWIzUjBiMjBzSUM1bWIyOWliM2d0YzJodmR5MWpZWEIwYVc5dUlDNW1iMjlpYjNndGMyOWphV0ZzTG1admIySnZlQzFpYjNSMGIyMXNaV1owTENBdVptOXZZbTk0TFhOb2IzY3RZMkZ3ZEdsdmJpQXVabTl2WW05NExYTnZZMmxoYkM1bWIyOWliM2d0WW05MGRHOXRjbWxuYUhRZ2V3MEtJQ0FnSUdKdmRIUnZiVG9nTVRWd2VEc05DbjBOQ2cwS0RRbz08L3RwbGNzcz4KCTx0cGxqcz5QSE5qY21sd2RDQjBlWEJsUFNKMFpYaDBMMnBoZG1GelkzSnBjSFFpSUhOeVl6MGlXMXR5YjI5MFgzVnliRjFkTDIxdlpIVnNaWE12Vkc5dmJFSnZlQzkwWlcxd2JHRjBaWE12WVd4aVgyWnZiMkp2ZUM5bWIyOWliM2d0TVM0ekxqRXViV2x1TG1weklqNDhMM05qY21sd2RENE5Danh6WTNKcGNIUWdkSGx3WlQwaWRHVjRkQzlxWVhaaGMyTnlhWEIwSWo0dktpQkdiMjlDYjNnZ2FXNXBkQ0JqYjJSbElDb3ZEUW9vWm5WdVkzUnBiMjRvSUVaUFQwSlBXQ3dnSkN3Z2RXNWtaV1pwYm1Wa0lDa2dldzBLSUNCR1QwOUNUMWd1YnlBOUlIdGtaV1Z3YkdsdWEybHVaeUE2SUhzZ1pXNWhZbXhsWkRvZ1ptRnNjMlVnZlN3Z1lXWm1hV3hwWVhSbElEb2dleUJsYm1GaWJHVmtPaUJtWVd4elpTQjlMQ0JsY25KdmNqb2dleUJ6Y21NNklDZGJXM0p2YjNSZmRYSnNYVjB2Ylc5a2RXeGxjeTlVYjI5c1FtOTRMM1JsYlhCc1lYUmxjeTloYkdKZlptOXZZbTk0TDJWeWNtOXlMbkJ1Wnljc0lHMWxjM05oWjJVNkowaHZjSEJzWVN3Z1pHRnpJRUpwYkdRZ2EyOXViblJsSUc1cFkyaDBJR2RsYkdGa1pXNGdkMlZ5WkdWdUp5QjlMQ0J6Ykdsa1pYTm9iM2M2SUhzZ1pXNWhZbXhsWkRwMGNuVmxmU3dnYzI5amFXRnNPaUI3SUdWdVlXSnNaV1E2SUdaaGJITmxJSDBzSUhCeVpXeHZZV1JKYldGblpYTTZkSEoxWlgwN0RRb2dJRVpQVDBKUFdDNXBibWwwSUQwZ1puVnVZM1JwYjI0b0tTQjdEUW9nSUNBZ0pDZ2lMbVp2YjJKdmVDMXRiMlJoYkNJcExuSmxiVzkyWlNncE93MEtJQ0FnSUNRb0lpNW1iMjlpYjNndGJHbHVheUlwTG5KbGJXOTJaVU5zWVhOektDSm1iMjlpYjNndGJHbHVheUlwT3cwS0lDQWdJQ1FvWkc5amRXMWxiblFwTG1admIySnZlQ2hHVDA5Q1QxZ3VieWs3RFFvTkNpQWdmVHNOQ24wb0lIZHBibVJ2ZHk1R1QwOUNUMWdnUFNCM2FXNWtiM2N1Ums5UFFrOVlJSHg4SUh0OUxDQnFVWFZsY25rZ0tTazdEUW9OQ21wUmRXVnllU2htZFc1amRHbHZiaWdrS1NCN0RRb2dJRVpQVDBKUFdDNXBibWwwS0NrN0RRcDlLVHNOQ2p3dmMyTnlhWEIwUGcwS0RRbz08L3RwbGpzPgoJPHRwbG1vYmlsZWNvZGU+PC90cGxtb2JpbGVjb2RlPgoJPHRwbG1vYmlsZWNzcz48L3RwbG1vYmlsZWNzcz4KCTx0cGxtb2JpbGVqcz48L3RwbG1vYmlsZWpzPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vYmcucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBWUFBQUFmRmNTSkFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBQTlKUkVGVWVOcGlVRlJVUEFNUVlBQUIrZ0V3dmJWWDFRQUFBQUJKUlU1RXJrSmdnZz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vY2xvc2UucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQndBQUFBY0NBWUFBQUJ5RGQrVUFBQUFCR2RCVFVFQUFOanI5UndVcWdBQUFDQmpTRkpOQUFDSER3QUFqQTBBQVBtVEFBQ0U1UUFBZTRJQUFPdDFBQUEvdEFBQUlsaDFhMTZjQUFBQzBXbERRMUJKUTBNZ1VISnZabWxzWlFBQU9NdU5sTTlMRkdFWXg3K3pqUmdvUVdCbWU0aWhRMGlvVEJabFJPV3V2OWkwYlZsL2xCTEU3T3k3dTVPenM5UE03Sm9pRVY0Nlp0RTlLZzhlK2dNOGVPaVVsOExBTEFMcGJsRkVncGVTN1hsbnh0MFI3Y2NMTS9ONW54L2Y1M25mNFgyQkdsa3hUVDBrQVhuRHNaSjlVZW42NkpoVSt4RWhIRUVkd3FoVFZOdU1KQklEb01GanNXdHN2b2ZBdnl1dGUvdi9PdXJTdHBvSGhQMUE2RWVhMlNxdzd4ZlpDMWxxQkJDNVhzT0VZenJFOXpoYm52MHg1NVRIODY1OUtObEZ2RWg4UURVdEh2K2F1RVBOS1dtZ1JpUnV5UVppVWdITzYwWFY3K2NnUGZYTUdCNms3M0hxNlM2emUzd1dadEpLZHo5eEcvSG5OT3Z1NFpyRTh4bXROMGJjVE05YXh1b2Q5bGc0b1RteElZOURJNFllSC9DNXlVakZyL3Fhb3VsRWs5djZkbW13Wjl0K1M3bWNJQTRUSjhjTC9UeW1rWEk3cDNKRDF6d1c5S2xjVjl6bmQxWXh5ZXNlbzVnNVUzZi9GL1VXZW9WUjZHRFFZTkRiZ0lRaytoQkZLMHhZS0NCREhvMGlOTEl5TjhZaXRqRytaNlNPUklBbDhxOVR6cnFiY3h0Rnl1WlpJNGpHTWROU1VaRGtEL0pYZVZWK0tzL0pYMmJEeGVhcVo4YTZxYW5MRDc2VExxKzhyZXQ3L1o0OGZaWHFSc2lySTB2V2ZHVk5kcURUUUhjWll6WmNWZUkxMlAzNFptQ1ZMRkNwRlNsWGFkeXRWSEo5TnIwamdXcC8yajJLWFpwZWJLcldXaFVYYnF6VUwwM3YyS3ZDcmxXeHlxcDJ6cXR4d1h3bUhoVlBpakd4UXp3SFNid2tkb29YeFc2YW5SY0hLaG5EcEtKaHdsV3lvVkNXZ1VueW1qdittUmNMNzZ5NW82R1BHY3pTVkltZi80UlZ5R2c2Q3h6UmY3ai9jL0I3eGFPeEl2RENCZzZmcnRvMmt1NGRJalF1VjIzT0ZlRENON29QM2xadHpYUWVEajBCRnM2b1JhdmtTd3ZDRzRwbWR4dys2U3FZazVhV3pUbFN1eXlmbFNKMEpURXBacWh0TFpLaTY1THJzaVdMMmN3cXNYUWI3TXlwZGsrbG5uYWw1bE81dkVIbnIvWVJzUFd3WFA3NXJGemVlazQ5ckFFdjlkL0F2UDFGR05VWmlnQUFBQWx3U0ZsekFBQU93d0FBRHNNQngyK29aQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU5ENk56SFlBQUFFMFNVUkJWRWhMeFphOURZTkFESVdwa0pBb0tGbUNWVElETFFOUXNRUlNwTFFNa0JsU3BjME1WTmtnVWxyeUhQa1FYTzdIUWNSQmVoSndQbi9ZNXp1Y0pJSnJtcVlNT2tCSDZBTGRXSFJQNzJnc0U3Z0ttOEJKQ1oyZ0p4Uzd5SVpzeTAxZ1RPeWdSNHppR0tjNW5Saks2VHR2QU5sVHlFYzR6VEJJb2VzT01PT0NmS1hlYURFNDdBZ3pyZ1luRUtQMUQyREdaYjJDNG0wTzNSMUFpcmhnaGFLUDJaSHZmSWJpb2ZWRVZ5eS96SlB5VmNyNDQxenUyaVZ3bEFCcGdnWDlXSjhBY0h3RFlWQUYxczY1NEF3TmpmbGNWZ1JzSXNYaXJqSkg2UW1xdkNGZ0w2ak9LRlFBSTB4dnIwbUk3WVVLWWVSNytBdFFQYVhxUmFPN0xYZ3Y2bTE4QnFvZmJicUhOMGVwOTNzeXA5UVhHMWh3T00wbS9sTUtKcm90QnFlV2VsQ2RKc3I2MmVxMGlSWlVyeEcyd0x1MStpODllQndkK0pjdENRQUFBQUJKUlU1RXJrSmdnZz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vZXJyb3IucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBUG9BQUFENkNBWUFBQUNJN0ZvOUFBQUFDWEJJV1hNQUFBN0NBQUFPd2dFVktFcUFBQUFLVDJsRFExQlFhRzkwYjNOb2IzQWdTVU5ESUhCeWIyWnBiR1VBQUhqYW5WTm5WRlBwRmozMzN2UkNTNGlBbEV0dlVoVUlJRkpDaTRBVWtTWXFJUWtRU29naG9ka1ZVY0VSUlVVRUc4aWdpQU9Pam9DTUZWRXNESW9LMkFma0lhS09nNk9JaXNyNzRYdWphOWE4OStiTi9yWFhQdWVzODUyenp3ZkFDQXlXU0ROUk5ZQU1xVUllRWVDRHg4VEc0ZVF1UUlFS0pIQUFFQWl6WkNGei9TTUJBUGgrUER3cklzQUh2Z0FCZU5NTENBREFUWnZBTUJ5SC93L3FRcGxjQVlDRUFjQjBrVGhMQ0lBVUFFQjZqa0ttQUVCR0FZQ2RtQ1pUQUtBRUFHRExZMkxqQUZBdEFHQW5mK2JUQUlDZCtKbDdBUUJibENFVkFhQ1JBQ0FUWlloRUFHZzdBS3pQVm9wRkFGZ3dBQlJtUzhRNUFOZ3RBREJKVjJaSUFMQzNBTURPRUF1eUFBZ01BREJSaUlVcEFBUjdBR0RJSXlONEFJU1pBQlJHOGxjODhTdXVFT2NxQUFCNG1iSTh1U1E1UllGYkNDMXhCMWRYTGg0b3pra1hLeFEyWVFKaG1rQXV3bm1aR1RLQk5BL2c4OHdBQUtDUkZSSGdnL1A5ZU00T3JzN09ObzYyRGw4dDZyOEcveUppWXVQKzVjK3JjRUFBQU9GMGZ0SCtMQyt6R29BN0JvQnQvcUlsN2dSb1hndWdkZmVMWnJJUFFMVUFvT25hVi9OdytINDhQRVdoa0xuWjJlWGs1TmhLeEVKYlljcFhmZjVud2wvQVYvMXMrWDQ4L1BmMTRMN2lKSUV5WFlGSEJQamd3c3owVEtVY3o1SUpoR0xjNW85SC9MY0wvL3dkMHlMRVNXSzVXQ29VNDFFU2NZNUVtb3p6TXFVaWlVS1NLY1VsMHY5azR0OHMrd00rM3pVQXNHbytBWHVSTGFoZFl3UDJTeWNRV0hUQTR2Y0FBUEs3YjhIVUtBZ0RnR2lENGM5My8rOC8vVWVnSlFDQVprbVNjUUFBWGtRa0xsVEtzei9IQ0FBQVJLQ0JLckJCRy9UQkdDekFCaHpCQmR6QkMveGdOb1JDSk1UQ1FoQkNDbVNBSEhKZ0theUNRaWlHemJBZEttQXYxRUFkTk1CUmFJYVRjQTR1d2xXNERqMXdEL3BoQ0o3QktMeUJDUVJCeUFnVFlTSGFpQUZpaWxnampnZ1htWVg0SWNGSUJCS0xKQ0RKaUJSUklrdVJOVWd4VW9wVUlGVklIZkk5Y2dJNWgxeEd1cEU3eUFBeWd2eUd2RWN4bElHeVVUM1VETFZEdWFnM0dvUkdvZ3ZRWkhReG1vOFdvSnZRY3JRYVBZdzJvZWZRcTJnUDJvOCtROGN3d09nWUJ6UEViREF1eHNOQ3NUZ3NDWk5qeTdFaXJBeXJ4aHF3VnF3RHU0bjFZOCt4ZHdRU2dVWEFDVFlFZDBJZ1lSNUJTRmhNV0U3WVNLZ2dIQ1EwRWRvSk53a0RoRkhDSnlLVHFFdTBKcm9SK2NRWVlqSXhoMWhJTENQV0VvOFRMeEI3aUVQRU55UVNpVU15SjdtUUFrbXhwRlRTRXRKRzBtNVNJK2tzcVpzMFNCb2prOG5hWkd1eUJ6bVVMQ0FyeUlYa25lVEQ1RFBrRytRaDhsc0tuV0pBY2FUNFUrSW9Vc3BxU2hubEVPVTA1UVpsbURKQlZhT2FVdDJvb1ZRUk5ZOWFRcTJodGxLdlVZZW9FelIxbWpuTmd4WkpTNld0b3BYVEdtZ1hhUGRwcitoMHVoSGRsUjVPbDlCWDBzdnBSK2lYNkFQMGR3d05oaFdEeDRobktCbWJHQWNZWnhsM0dLK1lUS1laMDRzWngxUXdOekhybU9lWkQ1bHZWVmdxdGlwOEZaSEtDcFZLbFNhVkd5b3ZWS21xcHFyZXFndFY4MVhMVkkrcFhsTjlya1pWTTFQanFRblVscXRWcXAxUTYxTWJVMmVwTzZpSHFtZW9iMVEvcEg1Wi9Za0dXY05NdzA5RHBGR2dzVi9qdk1ZZ0MyTVpzM2dzSVdzTnE0WjFnVFhFSnJITjJYeDJLcnVZL1IyN2l6MnFxYUU1UXpOS00xZXpVdk9VWmo4SDQ1aHgrSngwVGdubktLZVg4MzZLM2hUdktlSXBHNlkwVExreFpWeHJxcGFYbGxpclNLdFJxMGZydlRhdTdhZWRwcjFGdTFuN2dRNUJ4MG9uWENkSFo0L09CWjNuVTlsVDNhY0tweFpOUFRyMXJpNnFhNlVib2J0RWQ3OXVwKzZZbnI1ZWdKNU1iNmZlZWIzbitoeDlMLzFVL1czNnAvVkhERmdHc3d3a0J0c016aGc4eFRWeGJ6d2RMOGZiOFZGRFhjTkFRNlZobFdHWDRZU1J1ZEU4bzlWR2pVWVBqR25HWE9NazQyM0diY2FqSmdZbUlTWkxUZXBON3BwU1RibW1LYVk3VER0TXg4M016YUxOMXBrMW16MHgxekxubStlYjE1dmZ0MkJhZUZvc3RxaTJ1R1ZKc3VSYXBsbnV0cnh1aFZvNVdhVllWVnBkczBhdG5hMGwxcnV0dTZjUnA3bE9rMDZybnRabnc3RHh0c20ycWJjWnNPWFlCdHV1dG0yMmZXRm5ZaGRudDhXdXcrNlR2Wk45dW4yTi9UMEhEWWZaRHFzZFdoMStjN1J5RkRwV090NmF6cHp1UDMzRjlKYnBMMmRZenhEUDJEUGp0aFBMS2NScG5WT2IwMGRuRjJlNWM0UHppSXVKUzRMTExwYytMcHNieHQzSXZlUktkUFZ4WGVGNjB2V2RtN09id3UybzI2L3VOdTVwN29mY244dzBueW1lV1ROejBNUElRK0JSNWRFL0M1K1ZNR3Zmckg1UFEwK0JaN1huSXk5akw1RlhyZGV3dDZWM3F2ZGg3eGMrOWo1eW4rTSs0enczM2pMZVdWL01OOEMzeUxmTFQ4TnZubCtGMzBOL0kvOWsvM3IvMFFDbmdDVUJad09KZ1VHQld3TDcrSHA4SWIrT1B6cmJaZmF5MmUxQmpLQzVRUlZCajRLdGd1WEJyU0ZveU95UXJTSDM1NWpPa2M1cERvVlFmdWpXMEFkaDVtR0x3MzRNSjRXSGhWZUdQNDV3aUZnYTBUR1hOWGZSM0VOejMwVDZSSlpFM3B0bk1VODVyeTFLTlNvK3FpNXFQTm8zdWpTNlA4WXVabG5NMVZpZFdFbHNTeHc1TGlxdU5tNXN2dC84N2ZPSDRwM2lDK043RjVndnlGMXdlYUhPd3ZTRnB4YXBMaElzT3BaQVRJaE9PSlR3UVJBcXFCYU1KZklUZHlXT0NubkNIY0puSWkvUk50R0kyRU5jS2g1TzhrZ3FUWHFTN0pHOE5Ya2t4VE9sTE9XNWhDZXBrTHhNRFV6ZG16cWVGcHAySUcweVBUcTlNWU9Ta1pCeFFxb2hUWk8yWitwbjVtWjJ5NnhsaGJMK3hXNkx0eThlbFFmSmE3T1FyQVZaTFFxMlFxYm9WRm9vMXlvSHNtZGxWMmEvelluS09aYXJuaXZON2N5enl0dVFONXp2bi8vdEVzSVM0WksycFlaTFZ5MGRXT2E5ckdvNXNqeHhlZHNLNHhVRks0WldCcXc4dUlxMkttM1ZUNnZ0VjVldWZyMG1lazFyZ1Y3QnlvTEJ0UUZyNnd0VkN1V0ZmZXZjMSsxZFQxZ3ZXZCsxWWZxR25ScytGWW1LcmhUYkY1Y1ZmOWdvM0hqbEc0ZHZ5citaM0pTMHFhdkV1V1RQWnRKbTZlYmVMWjViRHBhcWwrYVhEbTROMmRxMERkOVd0TzMxOWtYYkw1Zk5LTnU3ZzdaRHVhTy9QTGk4WmFmSnpzMDdQMVNrVlBSVStsUTI3dExkdFdIWCtHN1I3aHQ3dlBZMDdOWGJXN3ozL1Q3SnZ0dFZBVlZOMVdiVlpmdEorN1AzUDY2SnF1bjRsdnR0WGExT2JYSHR4d1BTQS8wSEl3NjIxN25VMVIzU1BWUlNqOVlyNjBjT3h4KysvcDN2ZHkwTk5nMVZqWnpHNGlOd1JIbms2ZmNKMy9jZURUcmFkb3g3ck9FSDB4OTJIV2NkTDJwQ212S2FScHRUbXZ0YllsdTZUOHcrMGRicTNucjhSOXNmRDV3MFBGbDVTdk5VeVduYTZZTFRrMmZ5ejR5ZGxaMTlmaTc1M0dEYm9yWjc1MlBPMzJvUGIrKzZFSFRoMGtYL2krYzd2RHZPWFBLNGRQS3kyK1VUVjdoWG1xODZYMjNxZE9vOC9wUFRUOGU3bkx1YXJybGNhN251ZXIyMWUyYjM2UnVlTjg3ZDlMMTU4UmIvMXRXZU9UM2R2Zk42Yi9mRjkvWGZGdDErY2lmOXpzdTcyWGNuN3EyOFQ3eGY5RUR0UWRsRDNZZlZQMXYrM05qdjNIOXF3SGVnODlIY1IvY0doWVBQL3BIMWp3OURCWStaajh1R0RZYnJuamcrT1RuaVAzTDk2ZnluUTg5a3p5YWVGLzZpL3N1dUZ4WXZmdmpWNjlmTzBaalJvWmZ5bDVPL2JYeWwvZXJBNnhtdjI4YkN4aDYreVhnek1WNzBWdnZ0d1hmY2R4M3ZvOThQVCtSOElIOG8vMmo1c2ZWVDBLZjdreG1Uay84RUE1anovR016TGRzQUFBQWdZMGhTVFFBQWVpVUFBSUNEQUFENS93QUFnT2tBQUhVd0FBRHFZQUFBT3BnQUFCZHZrbC9GUmdBQWNQcEpSRUZVZU5yc25YVjRYR1hhLzU5NEpsNUgya0lOYll1MlNFdUJVcVJBMGNYZFlYRXQ3bHJhSkRNWmphZmVKdU16NTR4UHBCcWR6Q1NwNERWa1lXSGxmWCt2ZjM1L25FbmFRbUhaM1NwN251djZYcE5LSmpPVDh6bVAzUGY5dlFVZ1ZLbFM5ZHVXK2lHb1VxV0Nya3FWS2hWMFZhcFVxYUNyVXFWS0JWMlZLbFVxNktwVXFWSkJWNlZLbFFxNktsV3FWTkJWcVZKQlY2VktsUXE2S2xXcVZOQlZxVktsZ3E1S2xTb1ZkRldxVkttZ3ExS2xTZ1ZkbFNwVkt1aXFWS21ncTFLbFNnVmRsU3BWS3VpcVZLbFNRVmVsU3BVS3VpcFZxbFRRVmFsU3BZS3VTcFVxRlhSVnFsVFExUTlCbFNvVmRGV3FWS21ncTFLbFNnVmRsU3BWS3VpcVZLbFNRVmVsU3BVS3VpcFZxbFRRVmFsU3BZS3VTcFVLdWlwVnFsVFFWYWxTcFlLdVNwVXFGWFJWcWxTcG9LdFNwVW9GWFpVcVZTcm9xbFNwVWtGWHBVb0ZYWlVxVlNyb3FsU3BVa0ZYcFVxVkN2by8vQUxWOFl0ajl1eUxNMmJNbUs0NWJNUmh3MHQxWmVPZmUvR0ZFODQ1ZitiTS9LSkI5MDA2NWVUWGI3bjk5amN2bXpQbm5Rc3V2dkM5ODJhZC8vNk1tVFBtblgvaHpIa1hYRHpydlV1dnVPeWQyKzY4ODgxSnA1ejZabDdSb0lkUE91MzB5NTU0OXRuSjg0cEx4bzgvWnNMd1UwK2RuSFB6elRka1RabHlXb3I2U2YvdG9ZS3VncjdYeGxuVHBxZGVmZTJjM1BmZmYzdlVzY2RPdUhUV3JKbFBubjMybWU4WEZSVjZ4eDB6SVQ1cXpKaStJU09HZjVHZGwvdHRabmJXWC9MejgvK2FrNXZ6YjVwY3piOXA4algvbmxPWTgrL1orZG4vcnNuVi9GdE9YczYvNVJjVS9EVXJOK2V2R1JyTkh3c0dEOTQrZXN6Ukc4Y2ZkMnhpOExDaDhpbW5URjV3N2JWWFBYL3FxU2ZmK05oamowdzQ5L3daK2FkUE9UVlYvUzJvb0t1ZzcrVngrcGxuNUUwKzliUWpmM2Y5VGVlZVBlMjh1YWVlUG1YNTRHR0RlZ3VLOHYrU2xwSDJQMElJUklwQXBBbUVTRUdrWlpHYW5rMW1WaTVaZVVYa0ZBNmhZTWpoREI0K21zRWpqbUxJaUtNVkRUK0t3aUZIa2xzMEhFMWVFZGs1aGFSbjVTSlNNaEFpVlhrdUlSQkNrSmFSOXI4RmcvTC92WEJRL3NjblRqNng0YlRUcDc1M3haVy91MmpxdExOSFR6amgyRUlWY1JWMEZmUi9ZSng1NXBtSFh6Sm45bmt6TDdyZzJXTk9PTjR4ZVBqaG40cTBMSVJJVDhLWFRXcEdJUVdEanVUSW80N254TWxuTXYzYzJWeDArVzFjZjhzVDNQUFF5enoyelB2TWZVWExhKytZZWV1RGF0NWJzSVQzRnl6bC9lSmx2UGZoWXQ2ZHQ1ZzMzNnZsNVRkTlBQZFNDWTgvOHo1M1AvQVMxOXo0Q0JkY2VodFR6cjZVaWFkTTRlanh4ekZvNk9Ga1pPY2pVaklINEJjcGdzRWpobTBiT1dhMGY4YXM2UytlZThuMGkwNmFPbW1VQ3JvS3VncjZMNHc1YytZTVBlbWtrK2FjZU9LSkM4YU9IYmNtdTZEZ3Z3YWdFbGxrNTQ5ZzFKaEpuREg5Q3E2ODVtRWVmZng5M25xdkJtTzVpOFhMb2pnOW5iaDlHL0g0TnlPSFBzWVgrUlE1L0FsUzZHTzh3WTE0Z2oxNEFnbmNnUVR1WUFKM3NBZFBxQWR2Y0JOdS95WWNVaDkyYnc5V1Y1eWxEZTBzWExhYThpcVplUXVXOCtLckZ1NTc0QzJ1dVBvUnpqN25Sc2FNUDVXY29pRTdaLzFVUVVaaHh2OGVmdlNJOXJGang1U2VmZGJaMTl4OTk5M0RWTkJWMEZYUWhSQUdneUZsenB3cnBwMXd3Z25GSTQ4OG9xT29xUEF2QTNDbjUzUEVVU2R5N3F4cnVQdWg1M25qdlhJczFXNnNybFk4Y2dKL2FBUEI2Q1lDMFkzNGduMTRmRDI0ZkwwNGZiM1lwUVIydVFlSG5NQWg5K0NRWTlqbGRrVytkaHkramdFNWZRbWNjby95UFZKY2taekFJZlhnOG03RTd1N0Y1dXloM2hwajBiTDFXQ3FqZkxDZ2dXZGUwSFA3dlM5eTdxenJHRFYrRXFtNWhRT3ovYUNpd3Y4M2V2U29qcU9QUHNwMDFWVlhuYXVDcm9MK0x3bjYxTE9tREQxLzVybjNIWC9pY2RHQ292enZVdE5TRVVLUWxaM0h1SEhIYzhXVk4vTENhMW9xRi9sd3lPMUlvUVMreUVhazBBYThnUjVjdmhnT3VRT24zSUZUN3NRcEtWL2JmUjAwU0syczlLeWpRV3JGS3JkaGxkdG9rRHBvOE1ZVWVXSllwVzVGY2pkV3VSMmJydzJidngyYnIxMTU5TGZqOEhYaWtCUTU1UzRjVWhjMmJ3Y09xWk42ZXcrTGw4ZXBXYmdPVTJXSWVTVXJlZkw1RXVaY2RUY1RqcGxJZG5ZdVFnalNNOUxKTDhqNzQvaGp4amRObTM3MkswOC85Y1FSS3VncTZMOXAwQytlYzBucTFMUE9PTzZpeXk1K3JXaFk0YWNpWGZ5ZlNCR2tacWR4K0poeFhIekZUYnorbHBrbHk5ZmdsamZnRFczRUhlakY2ZXVmbWZzVkgvamFMc1d4ZW1MWXZMdXFlNWZIWDZQWTM1RHlmNVNmRzhmcFMrRHk5ZUtRZWxqcDdHU1pyWTFGSzlkU3VTaUtxU3FBVnUva3VSZkxtRDNuTmthUFA0SDA3SXlCNWYzZ1FmbGZubjMybFBubm56OWo0bzAzM3BDcWdxNkMvcHNDL2RTelQ1MTAybG1ueng4MGRNZ2ZsT1Z0S3ZtRGhuSEtHZWZ3eURNdlU3UEVoUzhjSXhqZGlFZnV3K2xSbHRMOU1OcWwrSTlnM3duNnJ3ZjZuOU9lZnZhdWY3WkozU3l6dGxHN2FCMFYxVTFVMUlUNHNHUXA5ei84RWxPbVhjeWdJVWNtVC9NRmd3Y1ArZE01TTg0cG5qajV4Q2txNkNyb2h6em9WMXgrNWNrbm4zcUtmdmlvNFZ2Njk2K0RSNHpta2l0dTVhMzNMVGk4YllRYU4rTVBiOFR0UytEMHhuRjZFOWpkTVd5ZTJFRVBlcjkydnNZZTNOSUdHdXpkTEZxNmxzcmFScXJyR2pHVkIzbnBGVE9YWDM0blJ4eCtBa0lvcy95Z0lVTy9HM2ZNK05xYmI3NzVRaFYwRmZSRGJseDQ0WVVqVGoxMTZodUhIVGJ5YzVHU2hSQ0NvU05IODd0Yjc2WEV1QlJQc0p0ZzAwZDRmQnR4dUhxeHV4STRQVDFKMEdNNDlyRDAzaFdzWFFIYlg5clR6N2J1Y2pPeWVtTFl2ZDNZUGUyNHBFNDh2amdPVHhkTFY2eWp1cTZacXVvb0ZaVWgzbjEzSVRmYy9EaWp4cHlFRUJwRXVvWWpqeHo1eDVOUFBzbnd5aXV2SEs2Q3JvSiswSTgzMzNvbGEvYWxsOXd6ZlBoaGZSbnBlUWlSd2FEQm81bHovZDBZYTYxNHdoM0kwUjY4b1I3czNtNXNyaGdPZHdLSEo0N0QwNDNERThQaDZjTGg2ZHF2RU84OWRlSHd0dUx3cnNmaGJjWHBiY2ZqUytDVXVsaGUzMHAxN1NvcXFxTllxb0xNSzE3T2RUYyt3V0ZIVGxLU2N0SlNHRGx5WlB5Y2M4NTU5YlhYWHRPb29LdWdINVRqL0pubm5EVngwckhCbEZUeGYwSUk4bktIYzhXbHQxQlI0Y0FUN3NFVlN0QWdkOUFnZFdLWFl6ajgzVGprRGh6ZU5oeWVEaHllemdISUQxM1F1MzkwdytyRTRlM0U1ZTNDTGZmaGtUZXpvcUVMUzJVanBvb29sVFV0dlBmaENxNjY2bG9HRlNuaHVkVFVGQ1pObXVTNytaYWJwNnVncTZBZk5PT3lPUmNQdTJqMnJPY0xCeFg4SUlRZ05TT0hNODZjeGJ2dldnZ0dFZ1JDbTdCSjhWM0NXakVhcEU0YXBDN3NVZ2QyYndkMmJ5ZDJUeWQyYjB5UkozWklRbTczeHJGN0VrbkZjVWh4WEw0RURrOE1tN3NidXllQjI3OEJoN2VYUlN2V295OFBvalBMMU5USXZQcXFsalBQdXBnc2pRSjhlbmJHbjZlY2RjWXJNeStjZllRS3VncjZBUjJYejVrejllaHhSMGVWUEhQQmtVY2Z6KytmZUJXYmF3M2hwczI0cEQ0Y25oN3MzbC9hVDhjUDJkbjcxOGo2a3o4ck56R25MMEdEcDVPcXhVMlVHU09ZS3hveFYvcDQ4TkhYR1hQTVNVcldYVVltaHgwNWV1MXBVODY4U0FWZEJYMi9qOXR1dXluOXV0Lzk3dEZodzQvWUprUW1xWmxGekpyOU8welZLd2syeHZCSDRqaTluVGc5Y1p6ZW50ODB5UDhRL0o0WWRpbXVaT1I1NDlUYjQxUlVOVkptbEtpdUM3TkF1NUpMNTl4TFZzNXdoRWdscjNEUWQ1ZGRQdWV0a3RMaUhCVjBGZlQ5TXQ1Ly83WERUenp4MklhMDlNei9GaUtURVVlY3lKUFB6Y2ZsYThjWDdzSWx0ZUtTT25CSjNUaTljZHh5NzM0L0lUOGtsdm5KMDN1SG5NRGoyNERUMDB2dG9sWG9UVDRzbFZIS0s1cDU4dGxpUm8rZnFCVHpwS1J5MXJTem9yTXVQTzhVRlhRVjlIMDZMcDE5eWVsang0MXVGaW1DbEl4Y3pweCtHV1VXQjFKd0V5NDVsanhVMi9WZzdkRGRiKy9YQXp4M0hLZEhpY0V2VzltSndSU21WQmVrdkNiQ0I5cUZ6TGp3V2xLekNoRWloWUtpL0kvdmYrQ2VpMVhRVmREM3liajMzbnZ2ek12TC9Wb0lnU2Eza052dWVnU2JaelhlU0I4MnVVYzVmQm9JazNVUG5EcmJ2U3JvdndaMGh6dUJ3eDNITGZWaHRjZW9xRzZrV085QlYrSERVaGZnNWp1ZnBHaklTSVJJcGFDbzhJOVhYMzMxazQ4Ly9uaUtDcm9LK2w0Wlo1ODlKV1BLMUNtdlptVmwvNWNRZ2hHSGorWDVWejhnMU55TkZJNWprN3Rva0x0eGVCTURGNnNDdkJKaXNudTdWSmgvRmVoeEhPNXVuTjV1dklGZUhKNU9haGF2b2RnWXB0VGtvMjVaSTgrOXRJQ2p4azhlU0tVOWYrYjU4MTk0NGJuQkt1Z3E2UC9VbUhudU9RV1RKeDlmS1ZKU0VDS05TU2VmUjZuSlNYalZwN2dEUGRpOHlxR1NkU0MwMUsxa2grMGlGZVJmdVdmMzdDeXlzWHU3Y2NqZE9LUStGcTFvUjJmeW9UVzVxVndVNHYzU3haeDh4a1VJSVVoSlQrSE1zNlkyWEhmZDFZTlUwRlhRLzZGUlBPK0RRU2NjZDh5U3RMUTBoTWprN0dtWFVyWFFUNkQ1VTV5K1hxd2VGYzc5Y1dEbjh2ZXd6TGFPc25LSllvTVRTMjJRVXJPRG1iT3ZJUzFEU1MrZU9PbTQ4SVd6emp0YUJWMEYvZThheno3NzVPQ0pFMCt3Q1NGSVRkTncyWnhic0RuVzRROXR4QzRuQm9vODFOUDBmUXk2M0luRDE0RmQ3cVRlM1lHbE5zVDhNamY2OGhDV1NoKy91K0Voc2pRRkNDRVlQMzVNeTFsbm5uVzBDcm9LK3E4YVR6MzE1TkR4RTQ1MktmblgyVng3M2IyNHZPM0lnWTA0cFI1c1VyY0srSDREdlFPN3ZCNjczSUhEMTAyRHV4dHpkWlJpdlIrOXFaSEsyZ2czMy9Fb1dabzhoQkFjZmRTWU5WT21uakZTQlYwRi9XL0V5RDg0N0poakpyaUZFR1JtNW5MRHpRL2hranZ3aFRjcUJSdXlDdC8rTHBLeGVUdXdlVHVUcTZnZTZwMWRtS3JERkpmNUtMT0VLSzhOY3Z2ZHo1S1ROd0loMGpqcTZMR3JaczQ4Zjd3S3VncjZuc05uOTkwejZPU1RUN1lMSVVqUHlPT1dXeC9HSTNYZ0MyM0M1dTNDNm12RDV1dFE0ZHV2U21EejlBeWtDVnM5WFRoOFhkaDlIWmpyZ3N6VGV5Z3pOMUpUdDQ1NzczOFZUZDRRUktwZzNMaXhhMmJQdm5TOENyb0srbTdqbXFzdkw1ZzQ2Y1NWeW5JOWo5L2Q4SkJTVSszdlRSb254ckhKSFRqOEtud0hCdlRFTHBaV1hUZ0RYZGg5TWN5MUVUN1V5dWpOalZUVk5YSDczYytUblRzWUlRVEhIWGU4L09BRGp3OVhRVmRCVi9MV2I3MGg3WnpwWnhpVWc3Y0NmbmY5UXpSNE92R0VOZzJrYUE1Y2VPcEorMEdVSzY4OEdxc0NGT3U5NkN3aHltdlhjdU50ejVLVmw0TVFncG5uemE2LzdaYmI4MVRRVmRERlJSZWU5MUtLRUFpUnlVVVgzMHlEdlJWcEY4alZnN2VETmZRV3crbnJvY0VkdzFRVnB0Z2dveStQVWw0VDVkcnJIeVExdFFnaE1wZzZaY3A3OCtlL2w2S0MvaThNK29NUDN2RklqaWJydjRWSVplb1pGN04weFdyODRjOXdKQXRSK2gxWVZiQU9Oc2dWMEczZWJweitQbFk2dWlneit5azFCakJWdEdDcGFHTG1ySnNSS2Rta3BhWncrKzAzUGFXQy9pOEsrbXV2djNKbVRrNzJuNFFRSEh2OG1aUlhlUWxFUDhYdTdSdHdZRDBRM215cS9wNFQrWDVUeWo0V3JXaWwxQmlnV0JmQ1ZMa1duY25MU2FlZHJ6anVGdVgvOVk0N2I3MVFCZjFmRFBSSEgzMzA4T09PUDY1WkNNR3d3OGJ5M3J3NjVOQW1iSjQ0TmltR1RWSkJPbFJBdDNxNnNYdDdjZnMvb25yeGVrcjBRVXFNSVV6VllkNmJ2NGhSWTA5Q2lGUUdEeHVjZU9DaEI0NVJRZjhYQVYxWHBrMDc3ZlRUVFVJSU1yTUg4K2lUYnlINSszRDcrbkQ0ZTdENU9yRkthc1hab1FLNnpSdkhJZlhoa0RaaTkyeWtvbTQxQzR3U0pVYVppcm9tbm4xQlMrSFEwUWdobURKMXl2SmxLNVpucUtEL3hrRUhKdDU3LzcwZkNDSCtSNGdjcnJ6K2NhenVUdHlCdm1TUHNuaHk3NmVDZnZBcnRwc2RsOVd0Sk5Tc2RNYlFsMGNvTVRTaU02N0NVdDNDalhjOFRXcVcwaWJxOXJ2dWZGb0YvVGNPZW1XVnhaMlRsNHNRS1p4MDJvWFVMbHVOSjdqeHAxMUhWSkFPV2ZqdFVqZEw2dHZRbVpzb0xXdEdaMnJFV0IxZzJxeXJFQ0tOakt6c1AxNTIrUlZucUtEL1JrRXZyekFPR25uVWtUMUNDRWFNbk1CN0MrcVF3cHR3eUlrQkR6TVY5Ti9DaVh3WFRuOFhWWXRhS05XSEtkR0hzTlEyOGM2Q3BZd2VkekpDcERGMi9MRnQ3MzN3L2xBVjlOOGc2SGZjZWVzclFvai9TZGNVY3RlRHorTHlLMHU5WFR1Ty9KcFQ5ajExVERuUVhWUU9CdSszdi9XKzk5Zm5ZNWM2Y2ZoYXNYcTdNRlZHV2FBTFVHYUpVcmx3RFk4ODhRRzVlVWNnUkRwVHBwNyt1Z3I2Ynd6MHg1OTU5TXpoSTRadEYwSnc1b3lMV1dacndlMy94MHdiZjY0SDJxNHJnbjgxMEgrODdiRjZkbFZNTWViWVQ5c2p1OVNGdzllTzA1OWdhVU1iV2xPUUVuMFF2YVdKNnRvbXpwOTVJMEpra0orZjkvV2JiN3c4VFFYOU53TDZDNi9OelRwNTZrbkxoUkFNUHVJSTNpa3B4eEdJWTVkNy8rRm1nM1pKdVZoZGdUN2t5RWY0R3ovQjMvZ0pjdVFqWFA0KzVYRG9ONTB1R3gvUXJobUVkaW1CMDllTE43d1pYL1RqZ2M5RkNtL0c1ZDh3OExudFc5QVRBNzhqdDM4RDFZdGJXRkFtVVdvSVVsRzFpZ1h6bDNQVTZHTVJRakJwNG5HQmhwVkxDMVRRZndPZzMzekhkVmRsNVdUK1IycDZMcmZmOXpSV2I1c1NSa3UyK3QxakxyVzBTMzl3S1laRDZoNXdkSFY0dS9INmU0bXUrcFJnNDBaV090WlNzemhJOVpJZ3k1MXJrYU85aEZkL2lpZlFnOVhUcGVUSGUrTFl2UWtjVW53WG02bllJV0ExRlJ0NG5YWlBYTWt6OENTd2VqcG84TFJobFRxd1NsMDQvSEhrNkVkRTFueU9OeFJuYVgwanhrb0hDOHFXbzdmWVdMUWlnaWZZVFhqMUozaERHN0Y3ZTJod0s3VURqcjFjMzIrWEVqZ2s1V2JyOVBYUzRJNmhML2VqTS92UkdvTFUxTGJ3ME1PdmtabWRSMHFLK04vYmJydmxDUlgwUXh6MGUrKy9wMkRzTWFOYmhSQk1QT2tpeXF1YmNQcy94dWFOMDVDc2NkNlRHcVN1Wkp5MkM0ZlVpZHZiZ2NmYmdTUjFFb2xzd09sY3kzUFB2YytzaTM3SGhHTk9adVNvOFl3OCtsaU9tWGdhTTJkZnd4UFB2VXU5bzRWb3kwWmNVaGQyZHc4dWJ4OE9keHk3SzdhTGNlVEJHOGF6ZTJPNzlJTHJWZ3d2M1FrY3JoNmNVaGYxM3ZWWXZhMUkwUVJ5WXc4Vml3UGM5K2lybkhQdVJZeWJjQUlqRGgvTjBHRkhNbnpFS01aT09KNnpabHpJWTgrOHpuTGJHZ0xSVDNGS0czQjZlM0R1NDV3Rmg1eGc0WXJWNk1vOWxCaDlsT2pEbUtxYW1ETHRjb1FRSEhiRUVYMDFpNWFPVWtFL2hFSC8zZTkrOTZ3UWdyeUNJVHoxYkRFT3p3WmN2byt3U25FYWZzR2R0VUhxVDhqb3hDbDE0UEsySWNrZGhNSmR2UFdPbGhNbVRpRXpzd0NSa29GSVRVZWtwQ0JTQkNJMUZTRlN5TWpJWmV6NGlUejV6S3Q0NWJYNFE1dHdTbkdjM3U3ZEdpa2VPcURIZHNvZHcrRktJQWMyNGcvMW9UT3VaUFlWdHpEOHlER2tadWFTa3BKR2Ftb2E2YW5wcEtkbGtKR1dRVnBLR2lJdGxmVE1MTVlmZHhvdnY2N0hIOTZJNU8vQkxTc2hzWDMxUHB5K0h1eFNONFpLSDhWR21SSkRHSE5WTTgrL29xTmc4R0VJSVpoejFUVnZxS0Fmb3FBdlhicDA1TERodzc4UklvVnBNeTVqMGRJb0h0OUdwYjVaaW1QOWhlVml3OENGMTRIZHU0NUFwQk5KWHN0MU45NUZWbTRPcWVtcFpHcXl5YzdUa0oyZlRYWitKcmw1V2VUbmE4akp5VVNUblVWYWFpcnBhU21jYzg0RlZOUzZDRGIxNGZGMzR2QzBEVFI2T0xoQi8zRm5WS1h6cThjZkl4THRZL0ZDbVd1dXZvdTgvT0dJMUhUU3MxSkl6eFJrWnFTUm5abEJWa1k2V1JucFpHZGxrcXZSb01uUElpTXZFNUdhU2xwNlBqZmY5aWh5b0JNcEVNUG02ZG9uUGVnR0RnQ2xPSXZxMTFCaWtpazFCakNVaHpCWCs3ajBpbHNSSW9XOGdzS3Y2dXJxSnFpZ0g0S2dYM0hGbkplRkVBd2FmQlF2dmFMRkxjZHcrM3F4UzcyS3dhUDA4d2RDRFo1dTdISWNtN2VkUUxRYnF6UE1ySXV1UkloVXN2TXl5U25Vb01uWGtKMmZRMXAySnFtWm1XUmtaSktXa2tKcWluS3g1K1pweU05VlhFb1BHem1CZCthYmlheEs0UFYzNEpMYWNVbGRPT1dEOTZUZTdvM2o4dllrVzB2RmNNa2RoSnQ3a0VOdFBQdkN5NHdhTlVwcGM1d3VFR21LTXJMU3ljc2J4SkRCaHpONDBBZ0tDNGVoMFJTU2twS0ZFQ21rYTlMSUxjZ2pTNU9MRUpsY2RmVnRTUDQyM1A2RWtyTytsME52L1dGVGg1ekE3dTNHVkJObWZwbUhNbk9BaXVwRzNuMXZJWWNkb1J6TVRaOCtmWjRLK2lFRytyeDU4NDRhTm16b3gwS2tjUDc1MTdOeTVXbzhjaHluRk1jaDl5Z243ajhIdWhTbjNxMTg3UTMzWVBldTVwenpMMFVJUVZadURubUZoV2p5QzBqUHpFR2tacE9wR2NyUVllTVlNL1lreG95ZHpJakR4cUxKSFlRUXFhUmxaSkJUVUlCSVQ2ZGc4SENlZS9sZElpMEozTDUyN0o0MnBhWHdRUTk2SEtlM25XQmpONHRXU2x4OCtYV0lyRFJFaGtDa0M5S3lzeGgvNGlsY2NNazEzSDczRXp6MXpBZTg4TEtXRjE3V012ZUZFaDU2K0hVdXZmeHVUanBwQnZtNVF4RkNvTW5Sa0p1Zmh4RHAzSHp6Zy9paW0zRDRldllKNkxzbVF5MWN1WlpTc3dlZHlZL2VGS0dxcXBscnJyMmZ0UFFNc3JPenYzdjIyV2VQVlVFL2hFQ2ZmczcwK1NrcGdpRkRSdkRHNitWNHZJa2s2TW03dTl5TFRlclpZOTYwWFlwamxYcHcremZnQ1haejJiVjNJRVFxbWRsWjVCVVdrSlV6R0pHU3g5RGg0N2p3b2h0NTdMRjNlZlB0U3VZVkwyVmV5VkxlZUxlY0o1NTdqOWxYM3NUUUk4Y2hNckxKek5jZzBsTFI1QlF4OTVYM2lhenF3eTEzWXZkMEhjU2dKM0I1KzNCNjR3U2lmVlRVMmpsMjBwUmtPK05zMGdvR2M4cTBXVHo2M0R2TTB5L0hWT3VuY25FVEZZdFdZNjV1d2x6VFJIbHRNK1YxTFppckd6RVkzTHo0M0h6T21YNFJXZGxaWkdTbWtaV1pTVnA2RG84L1cweXc1WE5jdnQ2ZnlXWC81NUo1NmwyZHlpcE9UbUNzRGxCcWxORVpHcW1zV3N1OER4ZHg1T2h4Q0NHWWNlNE1pd3I2SVFMNkFsM0p1RUdEaXpZTGtjck1TNjVueVlyVk9MM0pzSmEwU3h4WWltR1QycFBxVURxRHlNbFFqN1FKWC9RakhuajhCVkxTMHNuTUZPVG5acEdlbGtWcTVqRE9uSEVOcjd4VmhhVXFSRlh0YWlxcTEyQ3Bic1pVRmNWY0hjRmNIYWE4TnNLYjg1WXo4NUxiME9RVmtwcVZoa2dURkE0WnhMc2Y2SWswYnNRcHhSUWZPcWtMdTZ3Yy90bWt6bDBxc3c1ZzhvdlVnOFBkaDllM2lVQTB6cXpMcmtRSWdVaFBaOFRvVTdqL2tROHhWb2NvcjJ2RVZCM0ZVQkZCWndsVFlneFFZZ3hRYkFoUXJQZFRhZ3lpczRReFdpSlVWalpTVVI3bXdRZmZadWlJWXhDWjZZaE13WWhSUjJHdXNCT0tmSTdkRzhmaGE4WHVYNDNOMTdaWGwvQ3VRQysxeTFzbzFyc3AwZnNvTTRXcFhyaUtTNis4QjVHZXpxQmhnNzUrY3U2VGsxWFFEd0hRSDNqa29VZUZFR2lLaHZIQ0d3WldPanR3K1hzSGxuRTdsK2dkMktUMTJLUTJiRkk3RGw4WERwOXlBaHhvL0l4aXcwbzBoWU1RbVFKTmJpWnBLV2tNSHphV094NTRFWE9kRDNOdEJMMGxqTTdVaE03VWdzNGNRV2NPb1RPSDBScURhSTBoOUJWTmxGZEhlT3p4TnhoKytHaGx1WnNxT096d1VWZ3NLd2swYnNBbWQyQ1RsTGkwOHBvNmtyQWZXTkNkVWc5MmR3K0I4Q2NzWGhsazFOaXhTcU9FRTAvaWpmY1hVVkc3bGpKTEJKMDVuSHpmaWtxTmdUMUthL0NqMHdmUjYxdW9ybWxqN2t0bURoOXpEQ0pUSUlUZ3ZQTXZ4eVAzNFExc3dPRmJqejJ3Q3B1dmRTOVh1OFZvY0hlaHMwaVVHTHlVR1AyWXExZnorcnVMS1JweEpDSlZNT09pODk1WFFUL0lRWC80MFVjR2p6OTJ3bW9oQkdmTW1FM1Zva0RTT1hRUCszR3BjeGV3T3BLZ2QrSU5KMmh3cjJiaUtkTVFLV2xrNWVjaVVqSVpkL1JrWG41WlIrWGlJS1VtTjZVR0NaMHBoTTdVaU03VXZBdm9JYlRtSUtYR0FHWG1FSHBMbU9xYUpsNStUYy9SNHljaVVsTVFRakRoaE1rc3RVV1FvMzNZSktVYnlVRUZ1aStPMDlORnRQbFQ1cFV1SnJkd0tFTVBQNHEzUHFpa3ZDYksvREtaRW9NZnJTbjRLMEgzb2RQNzBaVkYwZXFhcUtwZHcwdXZteWdhUGdhUkpzakt6dWVsMThvSXQyeFNMSjM5WGRqazdyME91dFBYUTlYaUprcU5Ib3IxTXFYR0lPVzFUY3ljZlMxQ0NFYVBPMnJqZ2xMdDBTcm9CekhvanozKzhEVnA2ZW4vbTVrOWlLZm56bU9aZFIwT3VXZmdRT2JINFNQRmUweHAvV09YMjdCSnJRUldKYmoxenZzUklvV2NnaUtFeU9Mb3NhZnk3anMxMUM1c1JHdVcwWnI5NkV3QlpUWXpOU3JhWldZcnN5aGZhMDBCeXN4UmRQcG1haGF1NXAwUGE1bDArblJFV29iaVVqcjdldHloQks1QU53NWYxMEVCdXRQWGcxMU80UGJGY1VrZE5EaGFlZmtOQzBPSGorUHVCNTZuZW1HTHNtTDVFZUFETnpsVGNJL1NHUU9VR1lLVUdhTG85YzJVR2FKVTE2N2huZ2ZmSURzL1g3Rm9ubndHOWE0VzNNRmViRklmTnFsM0w3ODM1UWEyM05aR2lkR0R6aHlneE9ESFhCM2x4VGYwWkJjT0ppVTlsUnR1dlhtdUN2cEJDdnJMcno2dm1YN3VtVXVGRUV3OCtUejBaamYxams2Y3ZwNmYrY1gzS000a2NvL1NnVVZ1SmRDU29OaTBpTUhEaHBHdDBaQ1dvZUdJVVNmd3h0c1YxQzF1d1dBT29UT0ZrNG9rRlZVZWYzU3hEL3paRkVGbmJLTE1GS0s4Tmt5cDJjcHQ5ejNObUdOT1JxUVA1ZGxYRFlSWGYzeFF6T2o5aDRJT1h3OE9xWnZheFZIS1RCTEZPaXRQUHZjaHBRWWJKa3NUWmViSUhpSC9KWldad3VpTllmVEdDR1dHTURwRG1ESmpDSE5GaVBNdnVCcVJrb1pJeitEeDUxNG4wTElabTlSSGd5ZXgxMEYzeUhGc1VnSkxiWlFTZzR6V0ZLRFVHTVJjRmVUVU04OUhDTUZwVTA1elZsUlY1cW1nSDRTZzMvL0FYY2ZsRldYOUlGSlR1UFdPWjFpNFpDMHVhZVBQNXBQYnBWNGMwaWJGOFZXTzRReDA0STYwTTIyV2tocVpucHJCa01FamVmN0YrU3hjRWtGZjdsVXVXbU96c2xRM05lMkUzQlQreVY1MXA0TG9MREk2aTR6VzVNTlVGYVY4WVRQemRDNGVmbW8rNzVVc3dSdnB4ZWsvOERPNk5ibTBkZnA2cUZ3WVJhdVhLRE1HTVpqOFZOVEtHQ3h1OUlZd1phYm8zdys2TVlyZUdGVmdOd2N4V0FLVTZ0MVUxMFI1L1RVTFE0WXBjZmxqVGo2VkJ1OTZuUDVlVnJxN3NPL0ZSQnJGUWFnYmQyQURpK3ZibUsvektxQWJ3bGdxbTNqZzBSY1JHWUtzM015L3Z2bjJXMmVyb0IrRW9OOTg2M1dQQ1NFNDRxanh2UG5lUWhvY1NuSER6NFd0SE41ZW5OSW1ITklHN1A0WXdkVTl2UHpPQXJMekJwT2Vua1oyVmk3MzN2c01OYlZCOUdZZldyT0UxaHhFWjJ4U05BQjYrQmRCMTFvQ2xKWjdLQzJYMEZvQ2xKakM2Q3hONk16TjFDeGJpOHVmd0NiRkZBc3JxU3Q1ZHRCNXdLclMzSUVOTEZ5eEJxMUpRbWNJb2ROSDBCa0M2RXd1OUJZSmd6bUMzdEw0RDRMZWlONFl3bUQyb1RONjBCcGRHTXQ5bEZkR09HL1dOWWowRk5KeWNuam1wWG40R2pkUzcrN2M2MFU2RGptT1ExWkNidnJ5QUZxVEg2MHhnc0hTeEx6U3hZd2FQd0VoQkxNdW52VzZDdnBCQnZvSzY4TE1ZeVlldlY0SXdka3pycUc4WmpWV1R4ODJ1Uk9yMVBVem9NZHhTYjNZcFEyNEdudXA5NFdZY3VaVUpZU1VJVGgzOWhWWWF2MlVtWnZRR1Z1U3kvT2djZ0NYUEYzL2RSZDVNS2xkdnk4cFU0aEZ5OXVWbFlXMFFha08yODM0Y0g5NXBDc2xwaTdmUnBZMmRDWVAyVUlEcjdGczRIMkVrdTgvL0hlRDNuOURMRE9IS0RNcisvWXljNUJTVXhETDRuVTgvT3lIWkJjVUlZUmc2dG5uNHZXMTQvYjE3dld0aWNQWGpkUGZnZFBmaGJrdXlJSXlENlhHRURwTEJFTkZpSXN1dncyUklqaHEzS2cxcjczMVZwRUsra0VFK3B2dnZIUjZXcmI0ejh6Y0F1NTU0RFdXTmNTeGVmcXcrMy9lNk5IaDdjWWw5ZUR3OXlHMTlQSE02MitTbnBHbVdBMGRONGtQall2UW1XVjB4a1owNWtaMGxnQTZpKzlIMFA1ejBwcEM2QzBSVmpxNmNjb2JkK2t4dGovajZGMjQvRDI0L0gyc2NNVFFsNGRZVU9hanhCRFlhKy96bDFScUNsRlcyOEtIQml0ampwbUVTQkhrRnc1bVFVa05vZVpQOW1wZHZ3SjZESWUvQTZlL2s3cmxMWlFZSklyMVN2VEFVdFBNNDNQbmsxVlFTRXE2K0orNzczdGdtZ3I2UVFUNmxWZGYvcVlRZ3NOSEhjdTdIeTZsd2RXTHk2Y3N5WCt1TXNvdWRlUHd4WEVIKzFqcFdjWEUwNVhadktEZ01KNTVvUmhMYlpBRlpSSTZVNFF5Y3dDZHhhTm9yMTdvWVJhVSthaW9hMUZ5OEFlMkdiSDlPS1BIY1BvU05MaTdLSytMSmtOT0FVcjAvdjBDdXRZY1lyNGxnSG1oc254UFRVOURwS1l3NStwYkNUWnQycXNtRlFPZyt6cHcrRHBaNld4SGEvSU5KUGtZSzVxWVgyYmxtSW1uSVlSZzJveno1NnVnSDBTZ1R6cDVZbFNJVk02ZWZoVTFpNXF4dTN1VXNKclV1UnZvdTFrWnlURnMvbTU4MFEzTWZma0RVdEl5RUNucFhEN25UaXBxR3ltelJOQU83TDM5U2RDOWV4MzBVcU95VDF4dTd4Z29xWFRJOGYxbkxDRjE0L1FsV0dacnBjemlRMnZ5NzF4cTd4ZlFnOHkzQktoWXZKcGJibithekd5bFFlS1lZMDVrYVVNVHZ1akhBNjR4ZStVOVM1M1lwRGJzY2djT09ZNmx1bEhKQ1RBRzBCb2pXS3Fqekw3aU5vUkk0YkFqUjMxUnMzaFpqZ3I2UVFENlBmZmNNNmxvY05IWDZWa0YzSFB2YXl4WjBhNDRsOGpkeXY3OFowQzMrcnV4QitNNGZlMU1tbndHUWdpT0huTThIeFl2cDd5bTVVY0hiRUVGZHZQZW5lVzBSbVg1WHF5WEthOXRUTGFDaXRQZzd0eVBvTWZ3QkhzcHJ3MmpOY25veklIa1djVCtBYjNVSEdDZVNjWlN0NWFubnRhU2x6OEVrU0hJRzF6RSt5VjFoRnMrMzd2MlUvMmcrenB3K2hMVUxsMUxzZDVIaWRGUHFUNUtaZTA2SG43aWJUVDVnMG5QMHZ6bnMzT2ZQMTBGL1NBQS9hcXJybm80TlMzdHY0c0dqK2J0dDVleWJFVU1wOXlqSktESVB3OTZ2UnpEdTJvekw3NmhJejA5aDZ5c1RPNTc4RW1xRjBhVFdXN0JYUzc2MEI3ajVYdGpqMTVpOEZOcTlLTTF5U3kzdCtQMHhiRjZPdlliNkE2NW01WE9kblFXU1RtVE9BQ2dmMWp1dzFTOWhyZmVYc3J3NGFOSXlSS2taS2Z4OEZOdkVWNzF4ZDV0ZGprd283ZmpEdlN3M05xRnpoeWsyT2lucEt3UlU4VWEzcHUvbUpGSEg0dElTZVBTeTY5NFZnWDlJQUQ5ekRQUFhDaFNCQ2VlTkFOTFJaamxLMks0NUY3c25tNGMzb1RpZGJZSHkyRlhzQmU3dkk1SnA1MkJFS21jZk5yRjZFMCs5QlZSdEQ4NUxROG40ZCs3b090TVlVcU5RY29zSVVxTk1qVkxXNVF5MnYzVUVzcnU2Y1loOVZHMWFCVmFrNDh5UytCSDd6bTBYMVJza05DYm81VHFQQnc5ZmpLcDJVcms0NDc3bnliUTlDbE9YKzlldEl1T0RZUXduWElDcTdzYmZXV1FZb01mclRGRW1UbENSVTJZTTZjcHBjbkhuM2ljcklKK2dFSC8vZTkvUDJqY3VIR2RJaVdOeTYrNWo3ckZhNmkzSm5CNWUzQzQ0empjdmJ1QnZyT2FxWnR3NDhmTW0xOU9WazRXR1RsRlBQNk1pY3E2Ymo3VUJmZmJCYjV6ZXhDazFDaGpyZ2tsMDNXN2R5L0EyWWNwcnpaUEgrYXFsdVJad1g1ODc3dUVIOHNNUHNyMFFjd1ZFUzY5Nmk0bFlTbEx3N012TDhBWC9XaWd1KzNldEl2ZVdhY2V4MXdicHNUa1V4S2J6SDdxRnEzbHBsdWVJQ1U5amNNT0gvYlo4ODgvUDB3Ri9RQ0NmdW1sbDU0M2ZOaXdiMFZhRHI5Ly9DMXFGcTdHNXVoTmVyTjE0M0QzN0JGMG16ZE9wUGxUN3J6emFhWDUzdlRaV0tvYTBabGFLREVGMFZuMkorakt4YTQxU1dqTlhwYloxdSszd3ppSG5HQ0ZQWWJPSEtaWTc2UFVHRGd3b0p2OGxCbUNHQzFoZEVZWE45N3lGTGZjOFJ6bUt2L0FERzcxeFBhNkwzeC9XbXpWNHVhZG9Kc0NWTmV1NXBublNzak9LeUF2UC9kUHQ5OSsrMndWOUFNSStvd1pNKzdPeXN6OHY2TEJvM243L2NYVUxscXJ1SzE2TzNCNE9uOFdkSWVjd0JmYXdEblRyeVV0ZlFndnZXN0VVdDFNcVNGTXFUbXdWMlBsdjI1R0Q2QTFTU3d3T0ZtNFloVk8zLzRCM2VucllVbDlPeVdHd0FFRVBVU1owWS9lR0VTbkQySXdSYWlxWFVONTVXb001U0hxWFIwRFMvVjlBM29QQzFlc3BjUWtLZWNVcGdEbThtWkt0WFpHSG5VY1Fvai92ZmJhYStlcW9COUEwTTgvLy96NVFnaU9PK0ZzRE9ZZ3RZdlc0WmJpT0x6ckZCUEdud0hkRzlwSXZhMlZvNDgrZzVtemJxR2lPb3pPcUVDbnRmaVRCMUw3RjNTZDJVZUowVTMxa2lZbFlyQVBsKzc5c0xnQ2ZTeGEwVXFKd2IvSGt0UDlKYVhZUlhrMEdKdlFHMVpScG05R2J3bXowdG1lTEVaSjdMUFBZcG05bFJLVGwxS1RGNjB4aU1IWVRHVlZJNmVjcWhTNXpKZ3hvMVlGL1FDQmZ1T05OMlpQbmp6WkpvUmcxb1UzVTE2NW1xWExPM0JKWFRpazFUaTg2M0c0RXo4QjNlcUo0UWx1WU1ueVpxNjc3akhlZldjWlJuTkVBZDBTUkd1UjlqUG8vVXQzbVJLakcwdHRlS0I4OWw4Q2RGTVl2YUVKdlNtSTNoUkFiNGlpTjdSUXBvK2dOL3RaNmV6WXU2ZnVQNTdWNVRncm5lMlVsY3VVbXR5VUdVTm90VTNVMXF6bHFxdnZWYndEeG85Yis4d3p6eFNxb0I4QTBDKysrS0pqeDQ0ZHMxa0l3VzIzUDR1NW9vVVZEVjI0NUM3czB1cmtyQjcvMlF1OXdkbE9SWVVQdlQ2QVZoK216QlJCWi9IL1RkQzE1aEJhYzFpUmFSZVp3OGwvMjExL0QrakZCamZHS2w4eXZoM2Y5NkQ3KzFpMGNqMGxCaCtsUnQrdkI5MFVRV3VLL09oOUI5R2FBOG5ISDMwT3Z4aXFDMU5tYkVadkNsRm04cU0zaGlrek5sSm05RkZta1ZqaGFOK25iWndjVXB3R1R3eGpkWUFTbzBjcHdTMXJwcnA2TFE4ODlBWXBxVmtjZGRUb3orNi8vLzVKS3VnSEF2UkxManh0eEdGRHZrMVBLK0NwcDdXWXF4dXBkM2JoOUNXd2VUc0d2T0IyVFNmZGVZSDNzc0xSaGQ2aTJENzF4N1IvV29DeXA3aHZPS2tvcGFZbVNrM05pc3doU2kwK1NpMyszYVMxQkg3RjBqMkUxdVNqV08rbXJGeW13ZDM1a3lhTyt3cjRKZGExNk13ZXRHWXBtUkFVM09XMUJmZjRtcldtRmtxTmE1THZPMEtwSlVDcFJVNHFRS2s1bVB5TUlnT2ZrWGEzU3I4ZkYveUU5NUJqb05RV0xMZTM3Wk1PclAxdU92MnJCVXROa0dLREI1MHhSS2t4akxrcXluT3ZtTW5VRENFdExlMlBjK2ZPdlZBRi9ZRE02QmRlblpZbUdGUTBpamZlV29pbHBoR3JwenRwTk5GZjE5MytzNkF2dDNjbTNVLzJZQmJ4aXdyc1RDclp0YUxMNGxNT2MzYVZXVUpuOXYzS0dkMUhpZEdEc2NxSDFkT1pMS2ZjdDZEYnBRVEw3YTNvSzJTMFptL3l0UVoyZ2RDWFZES0J4aFRkNmFoamlxSXpSZEVPMU9Ncm40TTIrZGxvVGFIa3YvVlgvelVsdnkreTI3bkV3UFB2d2FsR1h4RmdwYXRqbjh6bXU5bG15UWtxRm9Zb01VcG9qY21ibVRuQXV3dFdNdlF3eFN2dnBaZGYvcjBLK2dFQS9abG5ubmxFQ01IUlI1M0kvQVVOVk5RMTRaUjdjZmw3c081RDBQdExOc3ZNQWNyTWZzck1mblRtWkk2NEtiQzcvdFplZnhmUWRSWS9Xck1IVTdVL21lKytQenpmNDFnOW5aaXFBNVFZM1VsekRQOU9FQzNlNUEwcmtEVFlhRUZuWEtXY1o1Z0M2QzBoekZYTlZOU3VvcXB1RGRXTDExS3paQlhWaTVxcHJHdkJVdDJNd1JKRlo0eWdOVFlwM3p0Z3UrWGY1Zm4zRExxeE1qUVFIZGlYb0x2OFBkUXNhMEpya3RFYStyTUMvWlNhUFJ3L2NTb3BLWUpaczJhOW9vSitBRUEvNjZ3elh4SkNjTnFwTTlEcFhWUXRXb1hMMzVlY0Nic0d6QjV0ZThneWM4Z0paZWxlSGhrQS9SZVg2d01HaDJGMCttWjBaWTJVR2NJWUxWR001V0hLcTZOVTFxeWl2R28xNXZKbVRPWW1ETVlvQnBOeWtmK3RwWHVaSlVoWnVZOVNrNXZhWmMyNC9BbkYzbXJYeEpaOUZtSkxzTGgrRGNWR0Y2VkdMNlZHT1prOEUwaXVUSkpwc1NiRjhWWnJhc0pnamxDemNCVlZ0UkhtbDliendxdEdIbmowRGU2OC8zbnV2TzhsN24va1RaNTdVYytIcGZWVTFrYXBXZGlNb2J5UjRySUlXbU55UnJmcyt2ekJuOWh3bFJxRG1LckN5ZDlYejE2UFF1ejZtVHJrQkl2clZ5dCtnQ1lsTzY3TUVrQmY0ZVBzYVJjaGhHRGt5SkZWa3laTlNsVkIzNCtnSDNmY2lacFJvMFl0RVVKdzRRVlhZVEpMVkMxZWpjdmZsNXdOWTc4SXVwS0EwWU9oSWtxeC9wY1BvYlNtWUJKMFA2WDZFRVo5TXhXVzFWUldORk5WRmFGVVorUDlEeGJ6enJ0TGVldnRwYnovUVQxR2s0L2F1bVpxcWhveG1vTzdQYzlQOTdzaHRDWS9KUVlQaGdvL0t4d2R5WE9HL1ZPbXF0eFU0bFF1YXFSWTcwWm5EaVRMVklPNzVmZHJqWDUwSmovbTZrYU1GcGtubi9xUW1iTnU1T2p4cHpCbzJHZ3k4d3BKMStTU2xsbElldllRQ29wR01tcjBaTTZlUG9jSGYvOEtwUVluNXBwRzViRE9sRFRRSFBEZDIvbVpsQmo4QTQvbHRZMERONk45bXpnVVowbkRXa3BOc21LMFlZbWdOZnN4VnZtNUtPa09PMlhxVk9ucHA1OHVVRUhmajZCZmU4MzFRNlpNT1dPMUVJSnJycm9OYzdtUHFrVXRPUHRCOS8weTZNb3Zkd08xUzFvcEx2dmxSSkZTWXdDZEtZUytvcEh5cWxWb1Mxdzg4N1NXcTY1OGdKTlB2WUN4RTA3aXNDUEhNbmpZVVF3ZU5vWWpSaDNQaE9PbWNON01LN252L3FkNGYzNE54c3BHOUJXTk85Tk1reGQycVNGSWlkNVBxZEdIb1NMSWt2cFc3Rkppd1BWbC8yVEh4Wk5MNHpoVmkxclFtcFE2L0JKOUdLMWhIVnJES3NyTWpSaXJJcFJWU056LzJOc2NOL0VzTkRtRlNqZFprYXAwazAxTklTVXpoZFRNTkZJeTAwaEp6eUExSTV1VWRBMVptaUltbkRDTmV4OTVCMzI1SDFOVkkxcERJenJqYW5UR05ic1ZDNVVZL0JUcmxYRGYwb2IyZ2JPS2ZSdUYyQjEwblNsTXNWN0NWQlhndXB2dVJnakJLYWVjMnZqb280OE5VMEhmajZEUHV2akNvUk1ubmJoZUNNSE50ejVPZVhXWTZpV3Jrc1VQaXBtQ1hZNGx1NS9Fc0h1NnNYa1VpK2YrUjZmVWc4MmRvTHkya1ZLVFRMSEJTNGxKcHNUaVk0RXBTTEVoZ000Y29ieTZDVXVGbjlmZkxPZXFhKzdqcURHVFNjOG9SS1JrSTFMU2xSWkZLVW9UQXBHU1NscDZLdWtacWFSbHBKR1JtY3JoUjR4aTFrVzM4TnFiVlZpcUlwaXJHdEdhL1pSWVpFcE1mdlNXS0xWTDE3SGMzbjhBRjhNdWRlM1RPUHJ1RjduaXd1UHk5K0R5YldCSlF3ZVdtbVpNRlMzb2pNMll5bHVvcW12aXhUZE5uSHJXUmFSazVpbnZXUWpTTWpNcEhEcU1ZU05IY2ZoUlJ6UHNpSkVNR2pZY1RWNGVLUmxwaUZSQmFsWXE2VG5wcEdTbWtaNlZ4OW5uWGM3N0pVdW9YcnlLRW1PVStXV05sQnFEQTFWOEpRWWZDOG84bUt1amluSG5YaWxrK2R1Z0w3TzJVMnBTemlpMHBpQWxCZ2xUZFlpNzduc1dJVkk1NnVpajJpNllkZjVJRmZUOUNQb3BwNTgwZk5UWUkySWlKWlU3NzNrTlMwMlV1dVdyY1BsN2YzSkJLSzEvZnlxN3V4dW5sTUFwSlZqY3NJN3l4VkVzaXlLWUZrVXcxclZRdmFLRGxZNEVKVG9ybDExK0MwT0dEbGRnVGlvdE93ZE5iZ0VGUlVNb0dqS2NvcUpoNU9VVmtaR1pOZkIvc3JJRTJkbHBpQlRCNENHSGMrMTFEMUszTklvajBNc2krM3FXT1dJMHVIcHh5QnVTczJwbnNuTk0yMzUwbWVrYWtHSkMwWWZMdjRGNlJ6ZHU3d2Jzbm5ZZWVHd3VSY01PVjk1WGFob2p4eHpQeFhOdTVZbTU3N0Nnckk2S09qdTF5eVdxRjdreEdGYnkxdHNHN3JuL0NhYWZkd0hEanp3Y2thNThIaGxaeXVQNFl5ZnlYa2tWSzcwZEdCYzJVbGF1bkZPVUdIeG9UVDZxRmpmUjRJcnR0MVdOM1p0Z2hiMExyVW1tMUNnTlJBTXNOVkVlZVhJZUlpMmZJVU1IZnpKa2FPSHhLdWo3RWZSVEo1ODhhdWl3UVorbFptaDQrT0YzcWFpT1VMdThaWStnMndmNmUzZmg4Q3FQZGs4WGRrOGN1N2MzNlJUYmk4M2JpOTNiaTEzdXc5LzhHUTUvTi9jLy9pcEhqSm93QUs0bXI0Z1RKNTNGbGRmZXdhTlB2TXliNytnbzFsVlRxcStsdUt5R2R6ODA4ZWhUcjNEdFRYZHh5aG5US1J4MkJDSTFsWlEwUVdxMk1ndWVOR1U2V3N0S0dsdTM0cEQ3c0VzOWlsZWNwNzk4c24wL2d4N2JEWGFIM0kxZGppR0ZOdUNTT3JqMnBudEp5MVFhVGh3MmFoejNQdlFpZFVzYThZYzJFMm4rbkdEMFkveWhUVWlCUHVUQUppTFJ6Mmx1K1lMbVZaOFNhVXhRVVczbHZnZWY0YmpqVDBha3BpTXlsQjUwSTQ0Nm1qYytOQkpjdllrR2Q0eVZ6aGhMRzlwWVllOVFqQ3I5ZmZzc1NlYlhnbTZ1anZMMDgxcFNNd3JKek1yODQwMjNYRDlGQlgwL2dqN3FpTkVUODNQemY4aktMdUNacCtaUlVSMmhic1hxZ1RETXp1VmViS0Qxa2xWcXgrcHRUMzdkUVlNVW8xN3VvY0dib01HYndPNUo0UFQyRVloOFRJbHBNYWROT3dlUnBzQTVaT1NSWEh2elBjd3JxV09sYlEyK2NDL0J4bzFFV2pZVGJ0NU1wR1V6b1ZXYkNhemVoSC8xQm53dFBWamwxWlJVTHVmMkI1NWt3b21URUZrcGlDeWxqL2lRSTQvZ3hUZm00Vy9zdytydHhDNTM3ZExBNGFlSlB2dmVCVGE1M1pFNnNNbHRTTkVFeXh4UnpydDQ5c0JOYnRyTVM2aW9jeEJ0MlV5bzZWT2NubDdzN29TU1p1eUs0L0wwNFBUMDRQVDA0dkwyNHBJU1NJRWVJaTBiQ1RmM3NkemF5RU9QdnN4aG84Y3FQZWhTQlBsRGh2RDJmQVBCbGszWTVSZ09YMzhDU3k5T3FXOFhzOHdEQTdxcEtzSUxyNXJJeUI2Q1NFdjVQNC9rdmtBRmZUK0NQbWpRWWFlbnBtYjh0MGpUOE1UVDc2SXZsNmhic1hyZzBLWS8yOGtoeDdINjI2bjN0V0lMdEdNTGRORGdhNlZlWGsrOXY1M2xnVTZXUysyczlMYmg5bmNUaW16aTJia2xGQTBiaGhDQzdNSnNmbmZyTFpRdnN1TU45dUNMZm9JVTJxZ1lXL1N2SEpMNy93WnZOeXU5M2RUTE1XeitHSzV3Tjk3bUJKNW9uT1dPSmg2ZCt4cEhIM2ZNd0VXZVU1RExNeSs5aXhUdHhpNjNKbHRDSlNHWDlxZmRjLzluMVkzZDE0NFU3YUxlMjhLMFdSY25sK3FwWFBHN2UzRjZZNFNiUHNIaGFjTXBKYXNEUFowNHZEdmw5SGJpbEx0dytycHd5QjNZcEZaczN2WFk1VmJrU0MraGxrMVVMWEV4YmVaRmlQUTA1U1o2MkpITU55d210SHFqMGhwTGltSHp4ckY3ZXJGNWUvYlQ1eEFmQUYxcmtpbXorQ2t4ZURGVWhIanR6VW8wZWNNUjZhbVVHYlN6Vk5EM0kranpTOHVuRnc0YXpPUXpwMk9vc3hOYS9RbU5hN2NSYXZsc3Q4UVl1eHluM3Q5R2ZhQ1Y1ZEphNmdPdHVKcTZDYXpmUkNUK0daSGV6d2pITnRIYzlRbWg1amgzM1BrVTZXbURsQ1gyeWFkUlVsYUp2eW1PSjloRHZUZU9UZTVWV2k3dlFWWlB6NC9zbXR1VkMxM3V3QjNaU0tCbE15dnNqVngveXozazVPWXBXNEdDUXQ0dXJpQzBwZ2VudngvMC9kczJXUUc5QjdzY3d4M3F3QkZjdzh6THIwT2tLWWRwczYrNkhqblFnei8wR1U1UEh5NXZQQWw2T3c3dkh1VHJWd2QyZWVjS3BVRnF3eEdNSVVjMzR2Ykh1UDZtaDBoTHoxYTgraVpNcG1LSm0wQkxMM2FwSzdtVjJZRE4yN3ZmUVM4MVNoVHJQU3dvYzZNeiszbitaU09aMllNUnFZTFgzbmhGQlgxL2dCN2Y5azFLZlBzUEk1czZOeFF2bFVKMGZiNmR6ZC84QjdHUC9relR1cTM0R3ovZXBZZFlBcWMvd2NwQUcwdWwxZGdiTzFuVnM0V09UNzhsc2ZVdjlINzFGK0pmZjB2Zk45OFIvL3dyYnIvM0VlWEFLS09BNjYrN0I3ZDdEWUhRUnF6T09IYTVsM3BmTi9WeUYxWnZmSSt5ZStJNFBIRWNubGp5TEtBZGg3Y1ZtN2VWbFhJWDlkNXU1TkJIaEtPYmVPc2RQZVBHbjBCT2JnRTMzdjB3b2JVOU9IeXR5VXkrcnYxczk5eUxRMHJnQ1NYd1JycTQ2cWE3RVJuWmlOUk1wa3k3QUx0M0ZWNS9OelpYTnk3dkpseWV6VGpkdmNyNy9QRWhwN2NidXkrRzNkZU4zUmZISnZWL1BqMDArRHRZS2JkaTlmWWcrVDRsSE5uTUxiYzhRRXBhT2lJbGl6UE91eFJub0JWdlNBbjEyVHo5WnljL2hkTCtxODRkZG01TmRtMVVzZlBtdkxQRHFrM2FGWFF2MVl1YldXNXJaMmxERy9PS2x6RXNtUWI3K3R0dlRsZEIzNGVnYjlqeDlaR2RuMis3TGJibDI0VWRXNzV2N2ZycXIvKysrZC8raTQvLytCODB0MjdEVUJuQVV1dFBuaHpIQnc2NDdISVB5M3hyc0s5dVovWG5YOUQrMWRmMGZQVm40aC85aWRiRWRscGltMWdkMzh4eWQ1aHhKNXpLcUxISDhNalRyeE5zM0lnYzJvamRtOEFoS2JPNDFSdkRPakRUL25SR3QzdTdzZmMvZXJxeGUyUFl2VjNZdlYxWXZiSGtyQi9ISVNXSXJQcVU2c1VoM25pL2hvcEZJZHlCQkhZNTlyTXgvMzNyR3hmSDRla2kwTmlMdnJLZXpKeENoQkFNUFdJTWxRdUQrS0libFFRa0thNTBrbkhIc1hzVGUxN1o5RmNMU2pzaEgvaDhmREZzdmc1bEx5N0Y4UVI2OEFTN21UTHRja1M2QmlFeXVlT2V4L0NGdTdCNzI3RzZZMHJiWkg4M05wOVNUbXAzeDNHNGUzQzZlMzY1SjF2U0U4NHVkV0wzSmJNazVTNGMzbDRjN2cwNDNFbXJNVThuRG04YlRsK001YllZcFNiRkU4QWQ2S0hubzcrdzRiTy8wckh4YXhiYWZEejgzRXZZZzlFSFZkRDNrVFovK2MyUlBkdDJCTnUvMlA1L1hWdS9vM1BybjJuZC9nTTkzLytGbGVHMXZQSEJVdVpyblZRdGp1RDB4Wk4zY0tYRlVMMnJFL2VxT0cxYnY2THpteit3ZnNjTzFuMjBnK0NxemRnODdUUjRWMlAxcnNicVhjUEMraURWeTN6NG1ycHhCM3NIdk1UM1pvakg2bEhxNGEyZWJxVElSd1JiUGtlT2JON2w1dFI5WUVCM2QrTUw5V0NwZG5EOHBETTVZOXI1ek5OVzQ0OStQTkJHK1ordisrNVBZbEwyOEhhNWswRHpabDUrcHh5Um5rMXFlaWE1aFNNd1ZLMWdYZXdMSFA0dWxubldzekxRUVlPL0U2c2NVMnk4UFFrYzd0NWRadVdmTTM5VTZoM3N2azRjL2s0Y2NxZmk5Ky91dytGT0pGY2huVGc4NjNINVlpeXp4cFQwWDVNWG5kbU51VmJDSnJmU3MrVlBiUHMzK09TNy82QjMyeCsrVG16WjRlbjRmT3Z2T3o3Zk9rZ0ZmUytxZCt1WHIzVnMyMGJydHUxMGJmMldycTAvMFBQTlgxbjN5UlptWEg0OTl6ejhEcWJxRUZXTG13YkNNZjJkUjd5UlB0bysrWXI0bDkvVHRlTTdtdm8rd3hycW9FRnFWL2FDVWdjMmJ3Y091UXRmNDBaODBRMjRnL0Y5VmxDeTYwSGhyb1VWN2tEZmZvc1oveFQwWGh6dVhtV0c4M2F5M05xRTFiTWFPZHlOeTkrVGJDb1IzN3VnKzJQWTVVNDhvUjZXTzFaeDNJa25KVS8zMDVoNCtqbDBidHBPOTZmZkVtci9tSVp3Snl2a05ob0NNUnFrYm15ZStNLzRBUDRVZEt1M0hhYy9oaHp0dytHTDBlRHFUSVpWWTByT2dyY0RtN2NWcHkvR01tdG44akJPb3Rqb290amc0TU15RzJVTFBUVDNicUh2cTcvUzhkazN0SC8rTloxYnYvN3ZqaTkyZk42N1paczU4Y1hXQ1Nyb2V3UDBMZHNUNjdkc1lkMzI3YlIrdm9PdUw3N2prei8rSi9QTGF4RFpoVHp5ekh6TU5ZMVUxRFhqOHZVbFFZOWhrOXBaRTl0R2JPdDN4TFo5ejZxZXJWajliVFI0VzVYbG5OUTkwREJCU1R1TkR6aUQ3ajFyNFYvdVEyN3pkdFBnamgwd3lIY0h2UWVISjQ3WDM0dkhGOGNoeGJELzZMWCtjMzdxeWl4dWx6c1Z6LzFrZTJncEVzZFl2WVNwNTExQTBaQWpHSHZpNlRSM2JXVERsMyttZTlzUHJQLzRHK1QxRzFudWEyT0YxSWxON3Y0YjhmV2RvRGQ0MnZDRUVuVDBma3RINzdkNEl6M1VlMXFwOXlpSHBIWi9GdzNlVmx5Qk9Fc2EyaWl6K0JXVFRwUGlCbXVvQ1BIZ3N4OXc1WjJQRU4vMkE0bXYva0w3bGovU3V2V1B0Rzc5QTUxZmJDZjIrYlkvYnRqeDFYdGJ2LzlUdmdyNlA2RytyVHVXZG16Wnh2cXRXMW4vK1ZZUzI3N2owMi8reWgzM1BZZ1Fna2VmK3hCelRTUG1xbWJzMGtic1Vwd0dkeHZCbGw3aW4zeEwxOVp2YWYzNGF6eVJIbXh1SlZuRzVtM0hPdENhZU5mRG1mZ3ZMQWwvbStwZnVqdDJmZlFvaVVaN1BRTnZvUC83cm1yRDE5aUZKOXlLc2M3T0lrZUkxWDFiYVAva0c3cDMvRURuOXUvcDN2NG5JbDJmc1Z4dVk2WGNnVDJRK05VenV0WGJqaWVVb0d2REgrbmQ4aGVDclJ0WkthOWx1WGN0RGY0TzZwUFBWN2RpRFdYSkh2WksvWDBFYy9VcW5uaitROUp6aXlpdVhNeG5mL292V3JkOHkvcXQzN0YyNi9lMGJ2K090cTNmRU51eTQvOCsvL2FQRmhYMGYyWkcvMkw3K0o2dFgyN28ycjZEdG0zYjZOdngzU2ZONitPTjR5WWMvMWNoMHJudmliY3cxN1JnTEcvQjZ1ckQ3azFnbDlwcFMyeGp3OWJ2NmRqeUZmSzZQcXpPVHR5dUhwenV1SElSeU1rVGJ1bEgycStkVEErMFl0aTlIY25RV0VjeWd6Q0d3NU9zRDlnUG9OdWxEdXh5RjY1Z0FybDVJN1pJakdYK1ZweXJlMmphdUpXT0w3OGo5dVdmaUczOU15Mko3YXlVTzFqaGFmdFZlM1M3M0lITDM0M1YyNDYvYVNNOVcvNUkzNDd2V2QzN09jNW9GeXZrTmxiNlkxZ0RDYXFYTktFMWVaWHlYRk1FbmJFUlUrVjZubjMrUTRRUW5INzJETmIxYnFiM3ErOXAzZklOYTdkOXg5cXYvc0w2ci81RTZ4ZGZrdGkyZlpzSytqOTU2cjVwKzlmSHhMZnR1S2ZqaXkwdmJ2cnEreFBjY3RPNElZT0hkZ21SeWgzM1BvT2xxaEc5T1VxOU00NVY2c2JUbUNEMjZiZjBiZitldFp1L3BON1hqczNWamRQVmc5T3p5MFhuN2R5RHV2NmxablNidHdPN3R6MnBUaVZhNE5sWHFiWjcvcnl0VWh5YkhLZmVHNk5lN21LRjFNRXlxWTNsZ1E1QzNaL1J2dlZiT3JkK1IrTExINGpFUDJWNW9JMTZ1UU9yM0lWTmltUDM5bUQzS0VhZzl2N2ZyN2RUMlM0a2I5NTJPY2I2VFR2by92STdPcmQveS9yUHZzSzVKc0ZTdVIxN29KZnl1bWh5eVI1VWZPTk1VY3hWNjNqazBkZElTVW1sY01nd0d1UWdIMy8zRjFxLytKTDEyLzdBMnUxL3B1M0x2OUM1NVJ0aW4zemhVMEhmeXdremQ5L3pRUDVKSjUyMFJnakJEZGZkaGJrOGdNN3NaNW1qblhwZkY3NzFtK2phK2gzZDIzK2djZjNXQWZQL2Z5MkFEMzAxZUdLc2tOc0pkVzJtZThmWGRHN2JUdWVYZjhEWHZZbmxnWFdzOUhWZzlmVmc5VzdBN3U3RDRZN3Y0U2Fsbk5ZM3VMdUl4aituL2V0dldidGpCNjNmZk0zcXozYmdiRW5RSUhWanFtcmE2U0prVVp4L0xEVXQzSDdIa3dpUnd1RWpqOGEvYWoyYnYvMFRiVnUrcEhYck4zUnMrWUhZbGgvbzIvSUhQdHJ5VlZBRmZTK0RmdWFaWnhXZGNPS0pFU0VFbDgrK252SUt4WE50WWNNNjZ2MWROSFZ2SWZIbG4rajg0bHZjb1Y2bE5EVjUyS1lDZEFpZEgvamlXUDJkclBTdEpkcTlrZGoycituYy9nZGF2L2dEbnJVSlZ2amFzUHJpTkxoN2xFUEZuenRiOEhUVDRPa2lGUHVZanErL1pzMzJMYXpkc1pYdWI3NWozYVp0ckhDM0pkMkdncnVEWHJ1S2E2NjdEeUVFazA0KzliOC8vZm9QcTc3NDg3OXZiUDk4QjExYi8wQnN5M2ZFUHYyR25rOTM5SDcrNVhjelZkRDNNdWlISDM1RTVtR0hqU2dYUW5EK3VaZGpOTXVVbW54VUxXM0JFZTVoN1lhdmlPLzRnZWJlTGRoa0pVbEZCZWNRQkYyS1lmZkhXQ210cHo2d25wYmV6K2phK2kyeEhYOWsvVWZicVErMHNWTHF4SnBjdWpzOG5kZzluWHZzczJiMXhGalY5em1kWCsxZzNZNHZXTC85QzdwMmZFbjM1My9BNm0xSGx6UUYyYWtRNWJXcm1IbWg0akJ6NnRTcFRTdmRucHlQLy9EOXlBMWZmcnRvNDVmZi9rL2ZsbSsrNnZ2OG04VWJQdjlxc2hwZTIwZWVjWmRmZnZrTFFnaE9uandOWFptYlVwTVBVMjBJWjZTWHRvLytRR0xIbndoMGJLTGUwNmxDYzZpQzd1MGNpSkNzOUxaaWo4UlkvOUZYZEczNWx2ajI3L0N0NjJXNXB4V2JuRkRLa1pObkRYdEtJVzV3ZHhIdDJFejhxMjlvMzc2TnppOTNrTmp4TGExOTIxbmFzQnJ0ajF5R3RLWWcrdklJcDV4eEFTSmRjUFNFY2JwZHI3OHQzLzM1NWsrMmZ6TmRUWmpaeDZEZmQvOTlEd29oR0hYazhjeGIwSURXN0VOYkllT0s5Tkg1MmZkMGJma085NW80OWZ1dDE3aXFmUUc2dzlPQjNkT05WWXF6M04xT3FQVWp1cmY4Z2U2dDM5RDIwUTVzd1E3cVBaM1l2VjA0dkszWXBiYWYyZTkzWVE5MXNYckRGanEyL1lIT2JYK2diZlBYK0tKOVZOYzFEU3piZDEyK2Y2aVRHVDNoSkVTcTRKcWJybjFCZFlFOUFLQlBubnppaFpxY3pQOHFLamlTVjErdm9jd1NaSUhSamF1eGo4U1dQOVAyMmRjMFJGdlZHZjBRbHNQYmlkUFRpY01UeCs3dFk0V3JDMnVnbmJhUHQ5Tzk3V3ZpVzc4bDNQb1JEZDcyWkpody9jK0NicFBpclBCMFVCL3N3TFdtQjgvNmpUZ2lDYXllT09XVnpiczA4bEJNUFBYbFVkNlo3eUIvNkNoRWl1Q08rKys4VHdYOUFJQStkZXFVazBhT092S3IxTlIwSG4zMEhTem1GdWJyZk5qQ25mUjkvUTJ0SDMxT2c5eWVMQ2hSb1RrMFovVFl3T0ZhZi9iaUNsY3JUZTFmRVAvOGUrSmJ2MmYxcGkwMFJGcXBsOWJqbEpROEFKdm5GK0xydms3cXBYWldTaDFZcFc2czdoNE01U0ZLVFVucmFWTVl2YkdGaXNyVnpIMWVUMloyQVlPSEZuMDc1WXpUWjZxZ0h3RFFMN2xrOXBoeDQ4YkZoUkRjY3RNalZGV3VZVjZwbitXK1Z2cSsyY0hhdnMxSy9QUmZMTlB0dDMwNEY4ZnFqdUVLOU5HeDZUdTZ0LzVBMnhkZllWL1Z4bkpwRFE0cHBpUkUvVXdjMzVGTXYzWDZ1bkZJaWwvOE1sc0hXck5NcWRtak5KUXdoU2tyYTZHMmFpMTMzVDBYSVZJWk0yYk14MDg5OWZUeEt1Z0hBUFJISG5razQ0d3p6MXltbkx4ZlFVVkZFL08wQVpaNFcrbjcraHVhWXhzVm15YjF4UDAzb1YxRG8vWHVEaG83dnlDMjVYdTZ0bjlIc0dzRHkrVTFPT1Z1bko2L0RickRGeHVvY3F4ZHRwcGlnMWRwcm1tUktET0ZLTk0zVVZYWnlLeUxibENNTVk0K2V0VU5OOXhRb0lKK2dQcWp6NWx6K2J0S1c5dkpsT21kek5mNVdlSHJwdmVyNzRsMmJFaWV2cW96K204dmthWUxkMk9DenMrL0k3YmpPOVo4dkExcnNBMkhGTVBsU2Z3cTBCMXlITHZjZzZVbXlnSzlsMUt6aE5ic1JXc01ZREJHTVZ0a1RweDBKa0lJTHJqZ2dtcTFQL29CQlAybW0yNjZPVHNyKzcrS2lvYnh6bnZWbEJxQ0xKY1Q5SDc1SjhKdEd3WU1IMVE0Zm1PenV6ZUdOZENoaE5xMmYwZjdGMS9qYVk3ajhIYmg5UDQ2MEoyK09BM3VidlRsL2dGUC8xS2psMUtERDB0Rk0vTStYTUtJSTBjalVzVi8zbm5IblErcG9COUEwTys3Nzc0cEkwZU8zSmFTa3NhRHYzOE5mWGtqUzkwSkV0ditqSDl0TWlOT0JmMjNKNm1iZXJtVmFQd3p1clovUjllMmJ3bTFic2J1N2NMcCtiV2dKMWk4Y2kwbEJnOGxCcGtTbzQ5U2t4ZXRVYWE2ZGhXUFBmNDJHVG5aNUJma2YvZllZNCtkcFlKK0FFRi84c2tuTThlUEg3OUtwQWhtWDNZVHBvb21scmszRU4vMkY3eXJFbGc5Qi90aFhIOVpiR3huSlpmVW1UVEZVRUpDZHZtbjZyZHFVdjVQTjlhQlUrcnVYU3l0NGo4eWFlajZHY1VPeVJsOXBYYzk4dm9OZE8vNEkvRXZ2NmM1L2dWMnFST0g5NWYyNkYwNC9kM1k1VzZjY2crVkM1c29Mdk9pTlFjVTBJMSt0SVlRTlhVdFhIdmRmWWcwd2Fpamp2em8vZmZmTDFCQlA0Q2dDeUhFU1pNblY2WmtwakQrK0JNcFh1Qm1oWHN6bmR1L3g5SFVqYzNkbnF3L1AwZ3ZXaytmSXFrZHE3UWFoMzhObmxBbjdtQUNtOXlEVllyVDRPbW0zaDFqWlZJTm5pNXNjaGQyWHd4SElJNHJtTUFSVVByTk9hVVlUcWtMbDdjYnB5ZUd3eDNENFZiQ1ZJb2I2eDUwQ0ZicldUMWROTGpiY1RWMTAvWEZkeVMrK29FMW03Wmo4M2ZnOU1kKzFzWkw2Y3VYU0xyTTltQ3NqQ3J4YzB1UUVwT1hVbjBUT3VNYWpCWS9wMDQ5RnlFRVowMDd5eTUrNVZCQjM0ZWdUenY3N0ZzeWN0UC9YOTdnUVR6N25BRzcveVBXZi9FSGx2dmJzYm82c0IzTUNUT2VIbXllaEJMZmxkdXh5NTNVdXpwWnVLeVZ5b1ZyTUZjM1VWWWV4bEFlUmw4ZVFWOGV4VkFSd0ZRdFUxNFhvR3BKaEVVclcxamhXSS9WMDRIVDA0bGI3c0xqNjhZbGQrRHd0aWxKSk42Mm56Rjk2RGdrWjNTYk40YlYwNEV0Mk1IYVRkdUpmL2s5YlI5L2pTdlNuZXkzOXdzMThaNFlkcW1IcFEzdHlkcnpvREtqbTd5VTZodXhWSzduelhkckdISGtHRVNLK0wvcmJyaitJUlgwZ3dEMDU1K2ZlMVRSc01MdEtSa3BYUHU3UjNBRSsyamQ4Z2RxN2F1eE90djNnVlBLdm1qeWwyQ0ZvNVBLaGF2UW1TS1VHcEo5MVkxaHlrd1J5c3hSOUpZb0Jrc2plbk1FdlRtRXdSSWVlRFNVUnpCVlJMQlVCcWxkM01UeWhyWFlYRXFqQmFmVWhpUHBrV2ROMW4vYmQ2blR0aDJpQ1VWV2J5Y3JwZlUweGorbGU4Y2Y2ZnI4VzZUbW51Ujc3UDZGNWJ0aUgyYXFEbEZpa0Nnemg5R2FrcUFid2xUV3J1UHVCMTRtTlN1WHJCek52OS8vMElQSHFxQWZCS0FMSWNTSko1M2dFeW1DU1NkTlo2bDdOVzFidjhXeW9vbUZTMWZoVEdaVUhTejE2THNaVDhwZDJPVnVsalMwb2pVSEtUVUVLVFdFTVZVMVUxNGR4VndSb3JUTXpYdno2bm50ellYTWZiR0N1UytXODlLcmxieitWaDN2dkwrTStTVTI5Q1lKYzBVQVUzbUk4cW9vNVZWaExKVkJxdXVhV2Joa0RTdnRuVHNkWmVRRWJuL2ZubCtQRkQ5a1puUzcxRVc5YnozQnpvMGt2dnFCK0xZZjhLM2E4SXVnTzJTbGMycTl1NHV5Y2wvU05pcU0xaHlrMktna3k1aXJJc3k0NENxRUVCdzVlblRyN1hmZm5hR0NmcENBZnNVMVZ6NHJVZ1JGUTBkUVhMV1VycTkrd0xTc0dZTWxnR3VYaS9oZ3VKQjNCY3ZwajdITXZoYXRXYUxVNkVkZkVhSmlVU1BGUmh1L2YvUTFabDEwQThkUG5NR3d3MDRnci9Cb3NuS09KQ3QzQkpyOG9SUU1QcHpoUjQ1aHpER1RPUFgwNmN5NjVHcHV1ZU5Kbm5qMkE5NytvQmF0M2tWbFRUT1ZOYXVVMXMrMVVlcVdyMkdGb3hPSDFJdkwxNGREN2hub1AzNG9ncjVTWG8rdnRaZnU3ZCtSMlA0bkl1cy8vUnZ0ckxwdytYdFl1R0kxV3JOaUFLa3poOUdhRk5BTjVSSG1sZFl6ZXR5SkNDRzQrbmUvZTFIOEhVTUZmUitEL3VUelQ0M0xLa2o5WHFTbWNNL1R6OVA5elorcFhObEthWm1YNWRiMXVQeTlBeW1VQnd2b1RqbUJRKzZpY25HSUQzVU90Q1lmbHJvZ2p6NzNIc2VlZENZWm10eGs3L1UwVWpPelNNL1drSjJYVDJadURoazVXV1RrWkpLU3FiUk5HbWpubkM1SXo4L21zTkZqT1BuMEM3ajhxdC96NkJNbHZEdXZIa3RObFBMYUpzelZVU29YTnJPMHZoMmJ0eGVucncrbnJ6ZjVlaEtIRE9nT3VadmwzclY0MW5UVHNlVWJFdHYveEtxdXJUKzdSN2Q2WXJqOENaeStCS2Jxb0pMYmJsWktVN1htRUtWbUg1YWFSaDU0OUYweU5JV2tacVQ5djlmZWV1TVVGZlNEQ1BUWDMzczlkZkpwRTV1RkVKeDc2V3c2UC82U0pmWVlDM1FoS21xYmxkNWlVbUlYTThqTy9kckljSStnKzNxb2QzWlJadmFqMVV0VTFnYTQ1NEVYeUNzY2poQXBaT2RrazVPZlEyNWVEdm1GZWVRbXY4N0p6eVVuTjVmYy9EenlDdkxKU1Q3bTV1ZWh5YzhpUTVOR2Fsb3FRcVFpUkJhYW5LR01ISDBDWjAyL25EdnZtY3ZiNzlWaUxnOVNWYldhaXNvMTFDMWRUNzBuaml1d0VadVVZS1dyRTZ1c2VPOGR6T213ZGlsT2c3Y05aN1NUOWs5MkVOLzJSMWIxYktQZTE3Rkh5MjY3Rk1jZDJNU1NodmJra2oyZ3VMMmFRMmhOSWZUbUNPYXFFT2RmcUtTOUhudjhoT2E2cFlzTFZOQVBJdENGRU9LaHh4NitUd2pCOENNUFI0NjJZcE42bUtjTlUyTDBzOUxSaFR1d1lSY24wdjVtaGdjVzlLWDFuWlFadzVSWFJYanhKUjFGZzBhUm5wWk5ibTRPK1hsNTVQMmQ2ditlL1B4OGNuTnowV1JuazVHUlJscDZDaUpka0pHZHg3QVJZem56ekRuOC9zRjNLQ20yWXFyeVU3NG96QkxyT214U0hJZmNRNE0zR2FjL2FFSHZUcmJKNnNRUmFxZHQ4MWE2dDM3THFvM2JXT2xyMzIxNzFDK1h2eGVudkFsejlTcEtESDVLZHpXYU1JVXdtaHQ1OTRPbERCc3hBU0VFTjk1MC9lUEZ4UittcUtBZlpLQnI5YVdqQncwcjNDS0U0UFgzU25ENjRwUWFRc3pYZXFoYzFJelQzNXZzbDM2UWdPN3ZZZUh5Tmd6bUtKWktQMmRObTBOcVdqNzUrVVZKV1A5KzBIZFZibTR1T1RrNWluS3p5YzdQSkNNM2s3U3NUTkl5czBqUHltSDB1R081NUtxYmVlRXRMYm9LRzdYTG8xZzkzVGlrWHF6dStDRnc4dDZCUGRqR3VvMmYwNzMxTzladS9wS1YvcDhIWGVuR0VoeW9PZDlwQmhtaWVtRUx0OTcxUEVKa1UxQTArSnU3NzczckpQRjNEaFgwL1FCNmVZVTU4K0pMWittRkVKeDk3Z1VzYldoQ2IvR2pOZnJRbWlSV09OcHh5UEVCdis4RERickwzMHYxNHJWVVZMZncxbnUxRER0c0hHa1pPZVRrNXBPZlgvaFBRZDRQK29EeThzZ3RMQ1NuSUE5TlFTNmF3aHh5Q2pXa1phY2lNdFBKSGp5Y0tkTXY0dUduM3NCVTVjVXB4UWRPNWc5ZVE4MDRWbThIMXNCNlZ2ZCtTbnpiZDZ6NytCdnFnNTAvaVNUMHQ1V3kxRFJTYXZBUEdFenNsQjlEdWNUeGs4OURDTUcwR2VmWVhubjkxVUlWOUlNUWRDR0VlT3lKaDJkcWNyTCtvc25ONWRubjM2T3lKa0NKd1V1eDNrM2xva1ljY2p6Wjk2dmpieVJXN0NmUUY2Mmp1bVkxanozMUxwcUN3V1Jxc3NuTHl5Y3Z0MEI1L0NkaEg0QStyeEJOM2lBMCtVVm84Z3ZSNUJlZ3ljOGpweUFYVFdFZWFUazVpSlFNMGpXRE9XM3FMRjU5VTQvSDN6WFFFKzVnaVZqc1hwdWV3Q3AxWXZXdm95WCtFWW50ZjJUZHgxOWpEWFVOaEZQN0FYZjVlMWxjdjFiWm01dEN1em5KbEJnQ21LckNQUGJNQjZSbkRpSTlNK2YvUGZIc005ZUxmMkNvb084bjBPZDk4SmJtakROUGxZUVFURDVwR2thTGkxS0RoeEtqRjEyNXhBckhlbHdCcFhPSDR5QUF2WFpKTytWVkxkeDh4K09rWm1lUmxaZWh3SmxidUhkQno4OUZrNStyek9ZRmVUdVZuNGNtUHg5TlFRR2FnaUl5TkhrSWtVN1I0TU80ODc2bmFIQXJaeHNINDZ6K2EwRHZsOVVUdzF3VG9GZ3ZvVE9IZHdOZGF3cWhyd2h3K3ZUTEVTS0Q4Y2VmMERxdlpINitDdnBCRExvUVF0eDM3MjIzcGFTbS9GZG1aaUhQUFBNZWxUV05sSm1EbEJnOFdHckRPSDNkV0tYMlpQcm5nUVM5aDBWTFd5bXZhdWJxNng4Z0pUc1RUWDRHZVhrNXlSazlieStDcmlHbk1FTlJRUlk1QmRuazVHZVRVNUJMVG40Qk9mbUZ5VWNGL3JTTU5ESnpDcmpteGtleGVqcndCamRpOHlhU3A5MWR1L1NKUDdCdU16YXBpd2JmZXByam0wbHMveTRKZWd4N01qR20vL05lWEwrV1VxTTdlY3FlQk4wWVJHc0lVRkhUd3ZPdldzZ3RPQUtSa3NHTUMyWXVGUC9nVUVIZmo2QXZtUC8rNEZHalJyVUpJWmcyN1h5cUt5T1lqWTJVR2NMb2pDR1dXZHR4K0xxVWpxcTczUFVQeElXNjFMcU95cHBWWEhuTjQ0ak1iRFI1bWNuVDg5eTlDcnFpM0Qzb1IvOG5mK2VwdlNZbmk5U3NOSzY4NW5aYzNtNms0TWMwZUxxb2w5ZGg5M1VlQkhGMEpjdXZYdW9nMHJXQnhJNnZhUDMwR3hwQzNUaDhuZGlsRHB3K3hlYlpXT21uMUNTaFRVS3VNd2ZRR2NJWWpZMVVWNFdaZWNIVkNDRW9LaHIwNlYzMzNETldCZjBRQUYwSUlhNjg4c3FuVTFOVC95Y3ZyNGk1eitxb3ExbU53UkJHYXdoaXJBd3JQYmw4M1Rpa0F3djZjdHQ2eXF1YXVlYTZweEVaMldUblpmdzhoUHRUdVhrVUZPU1NvVWxEcEdadzdRMFBJQVY3OEFSN2FUZ29DbUYrSHZUNlFBeXJ0eTNwSXROTjNmSlZGQnZjbEpVSEtUV0gwU1pCTHpPR3FhcHE0ZVdYVFF3YU1ob2hCQmRlT090RjhVOE1GZlQ5RFBvVFR6d3hhT2pRb1gxQ3BITG1tWmRSVmVYSFhCNUVad3hTWXZCUnZiUUZ1eStCdzlkejRFQ1g0elM0T3FtdVhjM050NzlNV25ZdVdYbnBCd2ZveVJWQVRtNG1tWm9NUkhvbWQ5enpHSUZvSDI3ZkJxeWVuZTJ0RHN6Ky9lZEJ0NGJpMktST1hQNDRTNjNyS1N2M1VXS1FsT1c2SllUT0VrUm44bU13QjdCVStKaDEwZldJbEF3S0N3dTN2UGJhcThOVTBBOGgwQldYMkV2bWlwUlVjbktIOHZTejcxS3pNSUxlSEZEaXA1WVFLMXpLaFhLZ1RwVHRrbUlTc1dSWkJ3LysvbjJ5ODR2SXpFazlpRURQcHlBdmgvejhiREkxS1dUbDVQSDAzUGNJUmo5V3VwZktTdGpxd0tUTjdnNTZ0R3NEOFIxZjB2YnBOMWhEUGNuZlp4eExUWVJTbzV4Y3JvZFpZSkFwTWZvcE13Y3Byd255d2l2RjVBOGFnUkNDMjIrLzdTWHhUdzRWOUFNQXVsNnZ6eDg1YWxTbkVJS1RUajBiZzhXT3VUS0UxaENtV0IvR1hOdUN6UnM3Z0JlcllnaXgwcHJnNldmTHlCODhqSXpzbElNRzlQemNmQXB6OGluSTFaQmZtRTFHZGpwRlEwZndRWEVsZ2NaTk9PVGVBN1lhK2pIb2piR05KTDc4T3JsMFQrQ1UrNmhidW9aU28xSzBvak5GMFptamxKaGtTa3crOUpZd3hnbzNaNTkzTVVJSURqdnk4TVRycjc5MnVBcjZJUWk2RUVMY2ZNdk5ONldrQ3RLek5OeDEvMXdxNjVvbzFVY3BOVFN6UU85bjRZcFZTc0hMQVlvUk8rUTQ5ZFlFNzd5L2xDT1BIa2RhcGppb1FDL1NGRkdZazBkQlhnNjUrZG1JZE1GUng0eWhlb2tYZitQbkI3RGliWGZRbStLYjZmMzZENnovNUN2cUF3bVcyem9vc3dRb01malFtU0xvVEkyS0xENUtUVEtXbWhaKy84UTdaT2JsSVlUNG4zc2V2T3Nlc1JlR0N2b0JBdjN4SngvTFBlblVTUzRoQkdNbVRHWkIyWExLeXNPVUdKclJtWnZRVndSWlp1M0FLZmNsclliaVNiL3YvUVM2TDA2REs0YWh3c3VrMDg4aUpTdUZuUHdjOHZaQ1p0dy9EM29lQmJrRjVPZm1KNU51Y3RIa1pKR1NMampydkZrNEF1dVJJZ2thM0RGc1VvSUdPWUZWanU4MzBKMnlZaUt4VXU0a0d2K1l4STV2V2JmNUc1Wjd1akZYTjFKaThDbDkxRXpoSk93UmRLWVFla3NJcmRIR2NaT25Jb1RnK0luSGhUNlkvOEVnRmZSREdIUWhoTGpydnJ1bjVlVG5mUzlTMDduMDZsdXhMQXhTWWd5akwxOUZxU0dJb1NLQzFkV0RRK3BKWmxQdHY2V28zYTk0djlXdGFPU2lPVGVTbHBkRlpsNG0yWGtGNU83RmhKbTl1Vy9QenM1R3BBcnVmUEFoZ2kxeG5QNEVObDh2OWY0ZUd2YlRaMmYzeG5CSlhUamtPQ3Q4WFlRVG54SC84Z2ZXOUgyTHBXNE5PbE1vbVF3VDNMMURxajVLWlUyVUcyNTdrSlMwRklRUS8rKytleCs4VHV5bG9ZSitBRUV2MFpXbXo3endBb01RQWszQkNKNTlTWXU1cG9rU2ZaQVNnNTlpdlV4RlhUUE81SjdUNnRsLzlrcDJ2Mkk5dk1MZXl2MlB2RXhXWVNFWk9WbmtGaFNRbDM4d2dxN0UydFBTMDhrcEdzeDd4UldFV2piaDhDZXcrbnV3SGpEUVA2WG42ejhUNnRqQ0FxTWZuVW5waGxwbUNlL1dCcm04dW9rWFhqVlNOR1FVUWdoT20zcEtUWEZKY1pZSyttOEFkQ0dFZVAzTjE0ODVZdVFSdlVJSWpwODBIWjNaaWFrcVNvaytnTmJrcDlRb1VidXNKWmtidlIvM21yNTJITDV1VmpoaXZQRmVKWU5IakNJelIwTnVmdjVlVFlIZDYyRzN2RHlFU09IRWs4NWd1UzJDTjZUWVR1OGF4ZGlYZTNlN040YlQyNGxUanJOYzdpUVVWMEIzTlcva1E0T2M3SVlhMmFWNEpZU2hJb3ErM00zSlV5NUVpQXp5Q3ZPM3ZQREs4MlBFWGh3cTZBY1lkQ0dFdVBXMm0yN096TXo4TDVHYXcxVy91NC9xaFkxb2pTRktERExGZWcrbEpqZUw2OWZpOU1YMzI0eHVsZHR3K2hOWTNSc3hWZm80ZnRKWnBHUmtrcFdUUSs1QkNYbC9aVndlT2JrRmlKUjBicm5qSVVKTmlXUkR5MFRTbm1yZldsUFp2VEZjM2s0YTNGM1VCMkkwYmRoQzRxc2ZhQWgxODZGZUFWMHBXUEZUclBlaEw0OVNYcmVLbSs1K2tuUk5BU0kxbFd0dnZPNVJzWmVIQ3ZwQkFIcGpZMkRRQmJQT1h5NkVvS0RvQ0o2YVcwcmx3dlZvelFGS2pSSmFrd2V0MmN0UzY3cjlGakt5eW0wNGZOMDB1RGF6Y09rNjVseDlCeUk5ZzZ6Y25JTVc4djZpRzQwbWo0eXNMQW9HRGFQVXNKQkFaQk4yYnk5MktiRmZRTGU3MjdHNnUxamg3Nkt4YndzOVgvK1pKWEliODNZQnZWK1ZDOWZ4MGh0TEdYellHSVFRbkhqcVpGdW9PWktoZ3Y0YkJGMElJZVkrLzlTSXd3NC9MQ2FFWU95RWFTelFTY2tUV3FVMzlnS0RFMzJGbDVXdS9pNnNzZVRGR3R0RmUzZnBidmZGc1hzK1l1SFNOaDUvK24yeWNvdlE1T2FTZjdEdTBmUHl5TXZOSnljN2wreWNiRVJLQ2xQUHZCQXBrTURqMzVEMG5vc3JUUXovYWRCanUxaFN4M1krbnp1R3c5Tkp2Yk9MOHBWTlJIcy9vL2VidjFEbldNdThNaTlhcytJZ1UyendveStQVUtLWE9mR2t5MUFjaUlaL2Z2K2pENHdUKzJDb29COGtvQXNoeEZOUFBYbGVXbHJxWDRSSTQveFoxMk91OUdDMEJDZ3pCZEJhWklyTkxrdzFJZXFkTVZ6K1htWFB2bzljYWF5UzBoN0lJZlZRdDJRZDczMndrbUVqamlVek8vdWdudEZ6OC9QSXlkZVFVNUJOWm00bTZWbDV6SDMrUTVxYVAxSENYcjZZMHVOTVZ0b2dPZVF1eGQzbjcvNk1PckJKNjdGSnJkZ2s1VHpENlVzbTZYamlHR3RhMEMwTXNQN1Q3WFJ2L1lHcVpXdVpyL2RTWXZFb3pSbU1FY3FySTF4ODJVMklsQXp5OG5MK2NzNzUwNjhSKzJpb29COUVvQXNoeEhYWFhUZFhDRUZxZWc0MzMvb29sVFVoOUtZZ1drc0FyY1ZIcVZIQ1VoUEY1a2t1UDZYT2ZXTS9KY2V4U1RIY3ZqaDFTOVppTW9jNDdvUnpTTTNJT0tobjlKejhYRFFGMldnS3NzZ3V5Q1lsUFlzVEowM0Q0VjZQTDlxSGZhQ1o0VTc5dzZETDY3QkpyVmk5YlZpOUhjbWJiNXpLUlUyOFUrckJ0Q3hDKzVZdjZmajBPNHcxVFN3bzg3SEFJS0UxQlRCWGhiajk3cmxrWk9jcTdZOHZ2RUFuOXVGUVFUL0lRSC9sNVZkeXgwOFkyeUNFSUw5Z0dFOC8rd0hWQ3hzcE13VXBTM3FJbFJoa1RGVVI2cDFkU214ZDZ0enJmY3FzY2h5cnR3dFBzSTlGeTlaVFVkbkloUmZkbEFROTd5QUdQU2NKZWphYWdsd3lzM05KUzh2anVSZmVKN0w2WTV6KzJONEJYZW9jbU0xdFVxY1NGZkhHbGVhSWVpL3ZhVDFVMnBxSmYva3RxM3UvUkZzZW90UVFSbXVJVWxYWHlBdXZsbEE0V01sbFArYlk4ZjYzM242elNBWDlYd2gwSVlSNDhvbEhKaDE3N05pUGhCQ01ISFVzYjcxZFFXMWRNenBETXB2S0hFWnI4bU91anJEUzJUa1FZMWNjU0x2M3pvR2RMNDVOanVFTzlMSzhvUk96SmN4Tk56OUtTbnI2UUczNHdRbTZKZ201aHV5OFhISUtDaEVpaFpOUG4wYTllejNlY0s4Q3Q5eTVVLy9Raks0OGh3SzVjcUpmczJTTlVxaGlDakpQNzJXUmR6VWIvL2huL09zL3BjUWNwS1RNVDFYTld1WXRXTUxZQ1VvamhzTENuTStlZU9MaHlXSWZEeFgwZ3hCMElZUzQvOTQ3cjhwSVMvbEJpRlRHVHppRkJjWExxS3h1Ukdmc0w0UUlVV0wwWWFvS3N0TFpxVmdHK3hTbmxYNC9zbjkyNlc3M2RlUHk5N0RjMm9XbElzd0RENzZFU0UwOVNDcllmZ2IwZ213MGhjcHNyc2t2SUtjZ24zUk5LcG01R3Q2YVg0dXZjV01TMEgrdW1hTVNqNDhsVC9BVFZDNXNvZFM0TTdWMXZ0R0xOZHJHaHUvK2pDTzZpUS9MZkppcVFtajFWaWFkZEE1Q3BKQ2JwL256MDA4L2RwbllEME1GL1NBRlhRZ2g3cnoxMXBzMFdWa0lJVGoxMUpsb2RWWXNWYXVUaFJBUnlpeGhTbzAreXN3K2x0bmFkcmN5Mmd0N2RBWDBYcFpidXlpdmlQTFVNKytTbnBWRnprRWNZc3NweUVKVG1KbjBuQ3RFazU5TFRsRXFRZ2l1dlA1aDNLRmVuUDRZMW4rNmE2dnlQZld1THNwcm9zcnZ3UkpDWndwVG9nOHgzeVRoYjkvQXh1Lyt5bUpQakZKekJKM0Z4clJ6TDBTSUZESXlzdjd0Z2Z2dXUwdnNwNkdDZmhDRExvUVFOOTV3M1l1cHFXa0lrY21NR1plaE4za3hWelVyVFErTkVVcU1ZVXJNUVVyTkVyWExWdVB5OXcwVXdOaVRuVi8ra2FXcFltTFlqZHNmcDk2dXpPalBQRCtmN1B4Q05MbWFnL2pVWFVOT2dZYmMvRHh5OC9QSnpjOGxyeUNUdEF6QjBSTk9ZV2w5TXg1L0hQdHUwWXJZTDN3Ty9SMWV1M2N4czRqamtIcFlidXZFV0JtbXhDQlRaa21tdHByRGxCb0NsRlI0YWU1VHN1THFiT3ZSbVgxY2NOSDFDQ0ZJU1UxaHlwUXpYaEg3Y2FpZ0grU2dQL1AwazJsVHAwNTlOejA5bGRUVU5HWmNjQldHY2hjR1M1QVNRNFJTY3pNTHlpUE1OeWx1SmJWTFYySHpkdVAweFpOTDFQWmtHK0svczNyTm04QWx4ZkQ0dTdBNk9paXZDdlBjUzFweWlrYVFyZEVjM0VremUxQzJKcHU4d3NGb3l4YmpEMjNBN20xUG5wakhzUDVpdVc0bkRsOG5EcmticTZjTGg5eURVKzVqYVVNbnBxcW1ueFNuNkV3aFNzcDhsRlE0YVAxNEc0a2RmNkptWlpoWkY5MUNlbW9CUWdoR2pScGxuRDM3MGl3VmRCWDAzY2E1NTU2ckdUOSt2Q0ZMazQxSXplVDhpNjVEYjNaaHJtNml4QlNsMk54RXFVVlpQaGJyUFZocUl6UjR1bkQ1RmRoL3VTLzNMNFB1OW5YaWNIZFRWZHZFSzIrYUtSbzJpdXlEUEphK1ovLzRYRVJxQnMvT2ZaOXc0NlpmRDdvdkdYdVg0emo5UGRpbEh1cVdyVk9XNlVtNGQrMnNvaldGS0NrTFVyNGt5a2ZmL2h0dEgyM2xrcXZ2UUlnY1VsTXptVGh4b21QeTVNbDVZajhQRmZSREFIUWhoTGp3d2dzMUY4dzgzeXlFUUtSbE11UDhLekdVdXltdmJVRnJha0pyYktMTW9wekdGK3M5R0NyOExHbFE4dVAva2ZMV2Z0QmRjaWN1YjRLRlM5YncranNWRER0OERKbFpXUWQxaU8zbkt0dUVTT0grQjE4Z0VONkEzZHUyUjlEN2ZlWjJwc29xSmh3dS93WldPbUpZYXBvb05RUW9OUVozNjZpaXRFOVNxdEkrMUFWd0Judlp0T09QM0hUM0E0aFVEVUlJWnB4M2puVC8vZmNmSlE3QVVFRS9SRUFYUW9pYmJyb3g1K3l6ejFKZ0YybWNNWDAyeFdWV1RGV05hQTFoU2cyaDVBWG9vOVRvUld2MlVyT2tHYXVuNisrdTNMSjc0amc4blRpODdiaThjUnp1Qk1YNmxSeCsxQVRTMHcvdXBKbWZuZEZGS3I5LytHVUNrWTA0Zm1GRzc0ZTl2MldTMDlmTGt2cFdEQlVodE1ZQVdtTmt3SVA5SjdPNktZaXVJb3pEMTg0TnQ5MnR0SmNXZ25QT095Znd4Rk9QRGhVSGFLaWdIMEtnQ3lIRSt2VnJjMmJPbkZralVoVFlKNTgrazNjL1hJeWx1b2xTUTVSU1F6Z0p1eCt0eVVleDNvMitRbWE1by9YdkNydnRDcnJESGNQbDdjVWh0WEw2MlVvUHNFTU5kRTJ1aHJUTUxONSsxNFEvM0lkRDZ0Z2o2UDAzdy82T05RM3VHQlYxVFdoTi9hR3pmdnVuNk81N2Mwc1lyU21FcWFxSkR3MDJ6anp2VWtScUNpbENjT0VGRjljOCtkeFRCd3h5RmZSREVIUWhoTGpyempzeloxMTR3WHVwYWFuL0kwUUs0NCtkeXF0djFWQlJzdzZkS1VxcElUbXptUDJVbFFmUW1yeVVtcFFlYncxdXBUbUUvVzlZS3cyQTdtbkQ2VTNnbG5vSlJIdDUvSm1YRVVLUWtaRkJicTdTVUVGSm9NbE5QdVlmb0JtNy8yZm5EeXpWKzI5R0dvMnlkRDc1MUtsWTdVM0l3UjZjY2djMjczcXMzcTZmZ080TzlPSDA5YkJvNVJvTUZmMHJKTVUwWW5mUWxlNHFwY1lRZWt1RXFrWHJlT3VEQm80NzVUeEVpaExTbTNuT2pJcFhYM290Vnh6Z29ZSitDSUxlUHk2OTdOSzVCWVdGZnhZaWhaR2pqdU9KcDk2blptRWpsc3JrVXQ0WW9zVHNSMnNPVXF6M1VXS1FNVlFHV055d1ZpbkM4SGRqbDJKWVBaM0pDcXp1bmZKMlkvUEVrclhjY1J4U0hFK3dENnRuUGJNdnU0VnN6U0NFU0Vla3BwT2VsVTUyWGpxYWZBMDVlZm1LOHBNcUtGQmNhZkp5eU4ramNzblB6Zis3bEplWG4yelRWRUJ1ZmlFNWVRVms1K1NoeVNzZ08wZHA1YVRKVjBwVmxXMk80TGdUSnFNMUwwZU85T0NRMjNISTdkamxOaVVxSVNjUDIzektUTDdDMFVwNVhRQ3R5VTJweVlmV0xLR3p1TkZaUE9qTWZuU21KclRtQUF0TUxuVG1DQWJUT2lxclc1bjdncG5SWTA5RmlGUXlzck00NFlSanBldXZ2bWFvT0FpR0N2b2hETG9RUXR4MTExM1g1K1hsN2hCQ2tKczNoSnR2ZVl5cTJpamxWYXNvTVlRb01RVXAwWWVUeS9vZ3BRWWZXb3RNZVcySUpkWjF1KzNkZDIwQXVPc1N2Ly92N1ZJQ0tiUUpuei9PNjI4YW1YM1p6WXliTUluTTdGeVVyWVNpbEl3TTByS3p5Y3JOSlRzL0QwMUJQbmtGMmVRVlpPM3kySzhjOHZJS2ZwM3lDeFJ6eXZ4OE5JVzVhQXB6eVNuTUpTdGZRMFpPQmltWmFZalVuYThqVTFQRXhNbG5jUCtEejdEU0ZzSGZ0QkdiM0pGc1Q2MkVIcDMrVGx4K1pabGU3NHBSdGJnUnJkbkRBcjBEblVWTzdzVUQ2Q3plSk93K2RLWkdTbzFoUHRSNzBKYzNVVkc5aHR2dmZKV0NRc1VHcXFDdzRLLzMzWC8vaXpmZmROTlI0aUFaS3VpSE9PaENDSEhwcFpkT09mNzQ0NXFWSmZVZ3pwdDVJL05MYkZpcW15alJCeWpSaHlnMVJKUWx2YkgvOE1pSDF1ekRVaHRobWEwTmg5eUR5OStYZEdIcDJTUG9Eam1CUTBvZ0JmcUl0bnhNTU5MTDRoVkJQaXlwNHRFblgyYk9OVGN6ZGRyNWpCNTNQSVhEUnBLZFB4U1JyaHlDS2RFQ1FVcTZJRFV6bGJUTU5OS3owa2pQeWlRaks0ZU03Qnd5czNQSTFPVHVWTGJ5OXhuWk9XUmthVWpQMUpDV2tVMUtSaVlpSXhXUkxwUWJUS29nUFZkRC90QkJqRG51ZU02L2FBNTMzLzhrODRwcnNEclhFVzM2aEZEMEU2Vm51YmRkYVVzdGRlTDB4YkI2TzFqaGJLZG1hVFA2Q21YMkxqVzUwWnE5YU0zeVRqdG1VekM1VkEraE0wZlFHWnN3VmE1aXZ0Yk9ySXR2VEhaN0ZSeCt4TEN1U3k2NTZIcHhrQTBWOU44QTZFSUlNZXVDbVllUEhqMXFSV3BLSmtMa01tYmNHVHorZERIbE5WRU1GUkcwcGlBbCtrQXlEQlJGWndvcmYyZVEwRmw4bE5jMnNyU2hIYWU4QVpkL0V3NjVaeURNMUgrSTF6L1RPN3c5T0x4eHZJRSs1RkFmL21nUHZrZ1Bua0FNdTZlTkpmVk5tS3M4dkRkL0VYTmYxdlA3eDk3bTFqc2U0NHFyYnVmY21WY3k1WXhabkRoNU9tTW5uTVpSWXljeGV1eXhISEhVQkE0Zk9aWVJSNDRaMEdGSGp1WHcwZU1aZWZReGpCcDdMR09QbmNqeGswN2psQ25uY002c0s3bmkrcnU0OC80bmVlSzVOM2xybmhGelRUMUxyVkhjdmk3a2NDK2h4czM0d3B0eFNYM1lQY3FLcGNIZG1UU2VpTEhTMlU3MWtpajZjaCtsSmlucDVxUDRxK3ZNUG5UbUFGcGpZMUlSdE1ZZ1paWVFob29nVlF1YmVlNGxJK09PbXpLd2dqanA1Qk45RjE5OC9uaHhFQTRWOU44STZFSUlNZnVTU3pRM1huL3oyNFVGZzM4UUlwWHNuQ080NnRvSDBacWNWQzF1eEZEcFIydVNkbXZScXpNSDBKb1ZJOG95UzVEeTJtYVdXYnV3ZVpYbHJNdmZ1eE53T1pHOEFTUm5lOC9PdkcrNzFJMUQ2c1VwYjhUbDI0Z25zQmx2OENPazBNZklrVThKUkQ3R0g5cUl4OWVMVzByZ2tYdHdldUxVMjlleHJDSEVvdVUrYXBkS1ZDMXlENmhtaVplRnkzd3NxUSt5M0JyQjZtckJKYS9CNDIvREhZampEZmZpaTI1QWptN0FHK3JCRTB6Z0RtekE3ZCtNeTllSFErcFI3S09rZm1OSXhSUmltYjJOOHJvSVplVVNKVVkzSlVaSldaNy9SRUZLalVwNWFZaytTSmtsVE1YQ1Jzb3FIZHg0MjJQa0RUb0NJUVI1UmJuL2U4NjVaNzkvKyswMzU0cURkS2lnLzRaQTd4OXpMci84b2xHampvd3BNMDBteDAyZXdkTXZsMUJlNThWUzUwZG5rZENaNVYyV29ydGtkUm44eVRCUmtOcGx6YXh3dE5QZ1ZpcmlYTDVlYkZJM1ZxbERrYmR6NE5UYTZvMWpsYnF4U1YxWWs3TDF5eHZENGU3RzRZN2pjTWR4U1QwNHZRbGMzaDRGZkRtT1MrckdKY1h4Qm5vSDVQWWxjTWtKUEw0RWJqbUJ3eHZENGVuQzV1bkFKblhpOE1Wdyt2dC9aaWRXcVJPYjNJWEQxNDNEbDhEcDY4VWg5MkdUK3FoMzliQnd4VHBNVlNGS2pSTEZlamNsQmk5YWs1eUVPclFIQlNreFNwUVlmUmdxR3lsZjJNemMxdzJjZk5aTVJHb0dRZ2hHSDMxVXozWFhYZk9VT01pSEN2cHZFSFFoaExqK3hxdkh6THBvcGpFN0orYy9oUkRrRFJ2TlJYTnVaVjdwVXFvV1JURllBa3J5aHptb3lCSlNaaTlqRUswNU1tQk1XVmJ1dzFRZHBHWnBNdzB1cGY3YTVtL0Q1bS9INXV2QUtyZGpsVHV4eWpGc3ZrNXNjaHNOY2lzTjBucXNjaXRXYVQxV2J5czJUd2QyYnljT0taYk0xb3Zqa0pJbisyNWxkV0QzeEhGNEU0cWtCRTY1UjVtTnZmR0JmM05LUFVyZXVkeUdUVzdIbm53TkRYSWJWcmtkdXorR3d4L0hMaWRZNmVwbTRjb095aGV1Uld1SnNLQk1vc1NnTE05MTVUNzA1Y3FlWEdzS29EV0hsZmR0aWxCcUNsTnFqRkNxRDZFMythbXFpYktnMU1hVnYzdVkvS0ZLRytPTW5DeW1uek5qNldPUFAzRzBPQVNHQ3ZwdkZQVCtjY3FwcDF4Mnd1UVRPNFFRaVBSc1JoMDlpZHZ2bUl2SkpGTlIxVWlKVVVacjhxT3pKSUUzaHlnMWg5Q1pvMHBNM2hpazFDaFRhblNqdFhpdzFNclVMSXV5MUxZYXE2ZDl3TEhGNm0ybndkT08xZHVGVFZMQ2NsYVA4clZTK2FXWUtGbzlYY3IvMmMzVWNxZjZ6UnVWZmZUT2NsQzcxSTFUN3Q4K3hCVS9PN2ticHorQnk1L0E3bE9LVGxZNnUxbTBvcFB5bXBaa1NuQnd3SEZWU1ZYdFg1YjdrNnNhWldWVGFncFRhbEpnTHphRUtERkdzVlN2cHRJVTRxRjczMkRjbUNta3BpaTJUMGNlT1dMemVUTm4zRFgzK2VkenhTRXlWTkIvNDZBTEljVDlEOTA5L0t4cHA3K1hWNWp6NzBJSTB0STFUSm8wbGVlZS93QzlSV245VkZZZW9zeXlDd2ltQ0RwVEV6cHpGSzB4UUxGZW90amdwbGp2WW42WmsxS1RGMzJGbjRxNkNIWExWclBNMm9yVkhjTXVKWkpwbzMzSjAvc0VObTk4WUkvYy8rZWZrL0s5UFFPZFpIZUcvdnA3eGl2UGFmVW90ZURMSFIwc2FWaFA5ZEptakZYS2ErL2ZndnkwOVZGZzkrMktLWnhVVkhtLzVoQmxsZ0RHeWlDVzJnaFB6aTNsdEZObWtaVSttQlNSVFc1dTBYOU1telp0L3NzdlBYKzBPTVNHQ3ZxL0FPZ0RoM1dYWFhqMnVQRkh1ek95MHY5ZENFRjJUaTRuVGIyVUorYVdvTE40cWFpTFlxNXNwTXdVUnR2dlpHT0tvaldHS0RNcmpRQ0x5K1FrUVAyTkNIekpmWDBBZlhrUVUxV0lpb1dOMUM1ZHhlTDZ0U3kzZDFEdml0SGdqdEhnN3NicWlXUHpKckI1ZS9hZ0JIYXBkMEJXVHpjTnllOWQ2ZWhpYVVNYkM1ZXZvV3BSRTViYUNQcktBS1VtTDFxVEozbHE3cVhVNk51dHdHVDNQWGNTOUdSelE2MHhXUXhram1LdWlsSlIxNGl4VXVMcEYrZHorclJMeWNnZGdoQUNqVWJ6WDhPSGp3aWVjODY1RjRoRGRLaWcvd3VCM2ovT1AvZmNtNDgvOXRqR3JLeE14ZTBrZHhCVHpycVlSNS84QUlOSnBxWnVMZVhWVGVqTWZrcE5QcVZnd3hSS2h1U1VtNEJ5STBoK2JRb3JOd0p6L3pLL1g3NkJGVUtaSllDaE1veTV1cEdLdW1ZcUY3YjhSQlYxTFZUVU5WTlIyMHg1YlJPR2lqRDY4aUNHaWhCbDVzREE4eGJydlFNcU5jcVVXWlRuVjViandaODlXQ3MxS3JGd3JTbWc3TmYxQWN4VkxWVFZOV0d3dUhqaTJRODRlOFlWWk9jUFYwSm1xYWtjT1hKRXg1VlhYLzdneWFlY2tpb080YUdDL2k4SXVoQkNQUHJnWS9sblRKMzYwSmdKWTdwRnBwTFFrcEU5bUVrbnplRHVlNS9sdzlLbFZDME9VYjR3UUZtRnJDU1AvT3pwdEdLNDBBL1VybExLT1B0WEFINWxDNkNYZjFZbFJoOGxSbit5dFhCZ04rMThUdVc1K3JYN3o5ekRhN09FbEhDaUtZTFdHRW9tQ2dXcFdoemt2ZExGM1BQZ1hFNDU3VncwZWNPU2dHZHkvTVJKYTYrOTRib1g1OHk1WkxqNERRd1Y5SDlSMFB2SFpWZGVOdWJDMlJmZk1lN1k4ZEgrOU5HMHJGUkdqanVXaTY2OG5lZGVLOEZZNWFaaVVSaGpWWUF5c3o4NWMvYlBvSXJLTFA1ZGxzVS9WWmtsTW1DenBEVXFvYnc5cWN3Y0h0RFBQWmZXRkVvZUVpWm5hVk1TWkhNNHVmSlFubXZYMlZ4bmpsQm1icUs4ZGpXbTZnQXZ2bTFrOXJXM2NNVDRZMG5Mems1bTdxVncyTWhScTZlZU9lMnVPKys1N3dqeEd4b3E2UC9pb1BlUEs2KzVjdEJkOTl3eFovSkpFeDFabW96LzZML3djd3NHTWZta2FkeCt4N084OVdZTkpxT2Z5cG8xbUNwYUtETTNvamMzb3RXSDBCckQ2QzFSZEpZSUphWVFKY1lRcGFaR1NrMU5TWVVwTllYMkxITmdRRnBMYUdlNHp4eWkxQnoraVhUbUFHVm1tVEt6ak00a1UyWU9VR1lPb0RYNktUTkcwSnRhTUZxYU1WaWltQ3FqV0txYnNGUUZlUGQ5SS9mYzl6Z25uM28yUlVNT1E2U2xLeXVaelBUL25qaDVZdU4xTjF4MzA4V1hYanBFL0FhSENyb0srbTdqd1FjZVNMdmhoaHVubm56S3hNb2hRL00vemNySytDOGgwaEFpbDBFRll6aDUwa1hjZU10elBQOXlPY1ZhSithS0NKWFZxNm1zVXVEWGx5c2xuQ1dHS0RwakMxckRHclRHMWNtWjFiOEhCWDkrTy9DalZZTnVsOVZFbVRGQW1UR0kzaFRBWUFsaE1BY3hsUWVwcUY2THBXSU41b3BHdEFZM0w3OXA1c1k3bnVEVU04NW55T0JCcENhTGJ6UTUyZjlWVkZqdytZVHg0M1gzM1hmZnRMS3lzblR4R3g0cTZDcm9QenV1dnVheUkrYk11ZlNoU1pNbnVZWU5HLzVwV2xwR01xODdoYXlDSVl3NzdsUXV2UFFtN24zd05WNTZ4Y0o4clFPOUpZaWx1cG5LdXJWVTFiVlNVZE9HdVhJZGhvcW01UEk5c3NzeU95bGpKSmxMSGs0K1J0QVpJd1BOS2dhVzg1WW9odkpHTEpVdFZGV3ZvN3AySGJWMXE2bXBpMkt1a0ZpZ1c4a3JyMWR5ei8xdmN1SHNPemgyNHRua0ZBMGZ5RVhYWkdjemZQand6NDQ1NWhqdnRHblRIcHd6Wjg2UjRsOWtxS0Nyb1ArcWNlbGxGMCtlZWNHMDM1OTl6dW1PbzhhTy9DUWxjMmM1cUVqTm9HRFFDTVljZXpKVHo3bWN5Nis1bHp2dmY1R25ueS9tclE5cUtTNnpZYkEwVVYzYk5xQ3EydGFrMWxHOWNEVTFpOVpRdTJndDFRdlhVTE5vRFRVTDExQlZ1NDZxMmphcWExdXBybTJsc25vOVJrc0xwVm8vNzcrL2xCZGZNdkxBNzEvajJ1dnVZZHFNaXpoMjRza1VEVDBja1pLNTg3V2xwekp5ek1pTnA1MTUydEpUVGpubC91blRwNThrL2dXSENyb0srdDgxbm4zK2taeXp6enZ6K011dXVIVDJtZFBPZUd2OE1XUDlnNFlVYkUvSjJCVjhRVnBPTm5sRlF4aDIrR2pHVEpqTUthZGZ6UFJ6ZjhmRnMrL2ttdXNlNXFaYm4rVHUrMTdpb1VmZTRyRW4zK1h4cDk3anlXYys0TWxuUHVUeHA5N240Y2ZlNGQ0SFh1V1cyNS9obXVzZTVwTEw3bUw2dWRkeDhtbXpPZWJZYVJ4K3hBUUtpMGFRcGNuZnJSWmVwQW9HRGMzL2Z2U1lrZkxKcDU3ODlyUnpaMXgzOW96cEV4NTY5UGZwNGw5NHFLQ3JvUDlUNCtSVEp4V2VOL09jMGJmY2V1dEYwOCtkL3RyVXMwOWRYRGc4UDE0d05QOVBXYm5aL3lsU1V2OVBpQlJFU2dvaVBZMlU5SFJTMHROSnk4b2tNMGREVms0ZTJab0Nzbk9MME9RUFFwTmJSSFp1SVZrNUJXUnFja2pQekNRMVBaMlVqSFJTTWpNUTZXbjkyNGYveTlaay8zZHVydVl2QlFXNWZhZFBPV1h4R1dlZDl0YWRkOTEyMlgwUDNEMWg3UGpSaGVwdlJ3VmRCWDBmak5tWHowNDc3OEp6TkNlZWNzTFFOOTU1NDVqVHpqaGo5ckREam5oeCtua1hmRGhtd3JpYW5NS2M5Zm1EQ3I3SUs4cjdMRHN2ZTB0V2J1YU9qT3owcjlPelVyNU8xNlIvbmFGSi96b2pKLzNyZEUzYTErblpxVjluNVdYdXlDblFiTWtyeXZzc3J5anZzNXg4VGRmb2NhT1hYSGpKckErbVRwMzY0cVJKRTY5Kyt1bW5qNTgwYWVMdzZlZWNwYmxnMW5scDZtOUJCVjJWS2xVcTZLcFVxVkpCVjZWS2xRcTZLbFdxVk5CVnFWS2xncTVLbFFxNktsV3FWTkJWcVZLbGdxNUtsU29WZEZXcVZLbWdxMUtsU2dWZGxTcFZLdWlxVktsU1FWZWxTcFVLdWlwVkt1aXFWS2xTUVZlbFNwVUt1aXBWcWxUUVZhbFNwWUt1U3BVcUZYUlZxbFNwb0t0U3BVb0ZYWlVxRlhSVnFsU3BvS3RTcFVvRlhaVXFWU3JvcWxTcFVrRlhwVXFWQ3JvcVZhcFUwRldwVXFXQ3JrcVZDcm9xVmFwVTBGV3BVcVdDcmtxVktoVjBWYXBVcWFDclVxVktCVjJWS2xVcTZLcFVxVkpCVjZWS2xRcTZLbFVxNktwVXFWSkJWNlZLbFFxNktsV3FWTkJWcVZLbGdxNUtsU29WZEZXcVZQMTYvZjhCQUhVd0pYWnZsZmZ0QUFBQUFFbEZUa1N1UW1DQ11dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L2Zvb2JveC0xLjMuMS5taW4uanM8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW0x5b0tLaUJHYjI5Q2IzZ2dMU0JCSUhKbGMzQnZibk5wZG1VZ2FXMWhaMlVnYkdsbmFIUmliM2dnWm05eUlHcFJkV1Z5ZVFvcUlHaDBkSEE2THk5blpYUm1iMjlpYjNndVkyOXRDaW9LS2lCRGIzQjVjbWxuYUhRZ01qQXhNaXdnVTNSbGRtVnVJRlZ6YUdWeUlDWWdRbkpoWkNCV2FXNWpaVzUwQ2lvZ2FIUjBjRG92TDNSb1pXMWxjbWRsYm1ONUxtTnZiUW9xQ2lvZ1JHRjBaVG9nTVRjZ1UyVndkR1Z0WW1WeUlESXdNVElLS2lCV1pYSnphVzl1SURvZ01TNHlMakVLS2k4S2RtRnlJR052Ym5OdmJHVTdhV1lvSVhkcGJtUnZkeTVqYjI1emIyeGxLV052Ym5OdmJHVTllMzA3WTI5dWMyOXNaUzVzYjJjOVkyOXVjMjlzWlM1c2IyZDhmR1oxYm1OMGFXOXVLQ2w3ZlR0amIyNXpiMnhsTG5kaGNtNDlZMjl1YzI5c1pTNTNZWEp1Zkh4bWRXNWpkR2x2YmlncGUzMDdZMjl1YzI5c1pTNWxjbkp2Y2oxamIyNXpiMnhsTG1WeWNtOXlmSHhtZFc1amRHbHZiaWdwZTMwN1kyOXVjMjlzWlM1cGJtWnZQV052Ym5OdmJHVXVhVzVtYjN4OFpuVnVZM1JwYjI0b0tYdDlPM1poY2lCS1UwOU9PMmxtS0NGS1UwOU9LVXBUVDA0OWUzMDdTbE5QVGk1emRISnBibWRwWm5rOVNsTlBUaTV6ZEhKcGJtZHBabmw4ZkdaMWJtTjBhVzl1S0NsN2ZUc29ablZ1WTNScGIyNG9ZU3hpTEdZcGUySXVabTl2WW05NFBYdDJaWEp6YVc5dU9udHRZV3B2Y2pveExHMXBibTl5T2pJc2RHOVRkSEpwYm1jNlpuVnVZM1JwYjI0b0tYdHlaWFIxY200Z1lpNW1iMjlpYjNndWRtVnljMmx2Ymk1dFlXcHZjaXNpTGlJcllpNW1iMjlpYjNndWRtVnljMmx2Ymk1dGFXNXZjbjBzY0dGeWMyVTZablZ1WTNScGIyNG9ZU2w3ZG1WeWMybHZiajB2S0Z4a0t5bGNMajhvWEdRcktUOWNMajhvWEdRcktUOHZMbVY0WldNb1lTazdjbVYwZFhKdWUyMWhhbTl5T25CaGNuTmxTVzUwS0habGNuTnBiMjViTVYwcGZId3dMRzFwYm05eU9uQmhjbk5sU1c1MEtIWmxjbk5wYjI1Yk1sMHBmSHd3TEhCaGRHTm9PbkJoY25ObFNXNTBLSFpsY25OcGIyNWJNMTBwZkh3d2ZYMTlMRzl3ZEdsdmJuTTZlMlpwZEZSdlUyTnlaV1Z1T21aaGJITmxMR2hwWkdWVFkzSnZiR3hpWVhKek9uUnlkV1VzWTJGd2RHbHZibk02ZTJWdVlXSnNaV1E2ZEhKMVpTeDBhWFJzWlZOdmRYSmpaVG9pYVcxaFoyVWlMR1JsYzJOVGIzVnlZMlU2SW1acGJtUWlMR0Z1YVcxaGRHbHZiam9pYzJ4cFpHVWlmU3h6YUc5M1FuVjBkRzl1Y3pwMGNuVmxMR05zYjNObFQyNVBkbVZ5YkdGNVEyeHBZMnM2ZEhKMVpTeHphRzkzUTI5MWJuUTZkSEoxWlN4amIzVnVkRTFsYzNOaFoyVTZJbWx0WVdkbElDVnBibVJsZUNCdlppQWxkRzkwWVd3aUxITmxiR1ZqZEc5eU9pZGhXMmh5WldZa1BTSXVaMmxtSWwwc0lHRmJhSEpsWmlROUlpNUhTVVlpWFN3Z1lWdG9jbVZtSkQwaUxtcHdaeUpkTENCaFcyaHlaV1lrUFNJdVNsQkhJbDBzSUdGYmFISmxaaVE5SWk1cWNHVm5JbDBzSUdGYmFISmxaaVE5SWk1S1VFVkhJbDBzSUdGYmFISmxaaVE5SWk1d2JtY2lYU3dnWVZ0b2NtVm1KRDBpTGxCT1J5SmRMQ0JoVzJoeVpXWWtQU0l1WW0xd0lsMHNJR0ZiYUhKbFppUTlJaTVDVFZBaVhTY3NabWxzZEdWeVVtVm5aWGc2TDF3dUtHcHdaM3hxY0dWbmZIQnVaM3huYVdaOFltMXdLUzlwTEd4dllXUmxjbFJwYldWdmRYUTZNakF3TEhKbGMybDZaVlJwYldWdmRYUTZNekF3TEd4dllXUkVaV3hoZVRvd0xIQnlaV3h2WVdSSmJXRm5aWE02Wm1Gc2MyVXNaR1ZsY0d4cGJtdHBibWM2ZTJWdVlXSnNaV1E2ZEhKMVpTeHdjbVZtYVhnNkltWnZiMkp2ZUNKOUxHRm1abWxzYVdGMFpUcDdaVzVoWW14bFpEcDBjblZsTEhCeVpXWnBlRG9pVUc5M1pYSmxaQ0JpZVNBaUxIVnliRG9pYUhSMGNEb3ZMMmRsZEdadmIySnZlQzVqYjIwaWZTeGxjbkp2Y2pwN2JXVnpjMkZuWlRvaVQyOXdjeXdnZEdobElHbHRZV2RsSUdOdmRXeGtiaWQwSUd4dllXUWlMSE55WXpvaWFXMW5MMlZ5Y205eUxuQnVaeUo5TEdSbFluVm5PbVpoYkhObGZTeHdiSFZuYVc1ek9udGZkbUZzYVdSaGRHVTZablZ1WTNScGIyNG9ZeWw3YVdZb2RIbHdaVzltSUdNdWJtRnRaU0U5UFNKemRISnBibWNpS1h0aUxtWnZiMkp2ZUM1dmNIUnBiMjV6TG1SbFluVm5QVDEwY25WbEppWmpiMjV6YjJ4bExtVnljbTl5S0NkV1lXeHBaR0YwYVc5dUlHWmhhV3hsWkN3Z2NHeDFaMmx1SUdSdlpYTWdibTkwSUdsdGNHeGxiV1Z1ZENCaElITjBjbWx1WnlCd2NtOXdaWEowZVNCallXeHNaV1FnSW01aGJXVWlMaWNzWXlrN2NtVjBkWEp1SUdaaGJITmxmV2xtS0NGaExtbHpSblZ1WTNScGIyNG9ZeTVwYm1sMEtTbDdZaTVtYjI5aWIzZ3ViM0IwYVc5dWN5NWtaV0oxWnowOWRISjFaU1ltWTI5dWMyOXNaUzVsY25KdmNpZ25WbUZzYVdSaGRHbHZiaUJtWVdsc1pXUXNJSEJzZFdkcGJpQWlKeXRqTG01aGJXVXJKeUlnWkc5bGN5QnViM1FnYVcxd2JHVnRaVzUwSUdFZ1puVnVZM1JwYjI0Z1kyRnNiR1ZrSUNKcGJtbDBJaTRuTEdNcE8zSmxkSFZ5YmlCbVlXeHpaWDFpTG1admIySnZlQzV2Y0hScGIyNXpMbVJsWW5WblBUMTBjblZsSmlaamIyNXpiMnhsTG14dlp5Z25WbUZzYVdSaGRHbHZiaUJ6ZFdOalpXVmtaV1FnWm05eUlIQnNkV2RwYmlBaUp5dGpMbTVoYldVckp5SXVKeXhqS1R0eVpYUjFjbTRnZEhKMVpYMHNjbVZuYVhOMFpYSmxaRHBiWFN4eVpXZHBjM1JsY2pwbWRXNWpkR2x2YmloakxHUXBlMmxtS0dJdVptOXZZbTk0TG5Cc2RXZHBibk11WDNaaGJHbGtZWFJsS0dNcEtYdGlMbVp2YjJKdmVDNXdiSFZuYVc1ekxuSmxaMmx6ZEdWeVpXUXVjSFZ6YUNoaktUdGtJVDFtSmlaMGVYQmxiMllnWkQwOVBTSnZZbXBsWTNRaUppWmhMbVY0ZEdWdVpDaDBjblZsTEdJdVptOXZZbTk0TG05d2RHbHZibk1zWkNrN1lpNW1iMjlpYjNndWIzQjBhVzl1Y3k1a1pXSjFaejA5ZEhKMVpTWW1ZMjl1YzI5c1pTNXNiMmNvSjFCc2RXZHBiaUFpSnl0akxtNWhiV1VySnlJZ2FHRnpJR0psWlc0Z2NtVm5hWE4wWlhKbFpDQjNhWFJvSUhSb1pTQkdiMjlpYjNndUp5eGpLWDE5TEdsdWFYUTZablZ1WTNScGIyNG9ZeWw3Wm05eUtIWmhjaUJoUFRBN1lUeGlMbVp2YjJKdmVDNXdiSFZuYVc1ekxuSmxaMmx6ZEdWeVpXUXViR1Z1WjNSb08yRXJLeWwwY25sN1lpNW1iMjlpYjNndWNHeDFaMmx1Y3k1eVpXZHBjM1JsY21Wa1cyRmRMbWx1YVhRb1l5bDlZMkYwWTJnb1pDbDdZaTVtYjI5aWIzZ3ViM0IwYVc5dWN5NWtaV0oxWnowOWRISjFaU1ltWTI5dWMyOXNaUzVsY25KdmNpaGtLWDE5ZlgwN2RtRnlJR1U5WWk1bWIyOWliM2d1ZG1WeWMybHZiaTV3WVhKelpTaGhMbVp1TG1weGRXVnllU2s3YVdZb1pTNXRZV3B2Y2owOU1TWW1aUzV0YVc1dmNqdzJLWHRoTG1adUxtWnZiMkp2ZUQxbWRXNWpkR2x2YmlncGUyTnZibk52YkdVdVpYSnliM0lvSWtadmIySnZlQ0J5WlhGMWFYSmxjeUJxVVhWbGNua2dkbVZ5YzJsdmJpQXhMallnYjNJZ2FHbG5hR1Z5SUhSdklIZHZjbXNnWTI5eWNtVmpkR3g1TGlCUWJHVmhjMlVnZFhCbmNtRmtaU0JxVVhWbGNua2dkRzhnZEdobElHMXBibWx0ZFcwZ2RtVnljMmx2YmlCaGJtUWdjbVZzYjJGa0lIUm9aU0J3WVdkbExpSXBmVHR5WlhSMWNtNTlkbUZ5SUdROU1EdGhMbVp1TG1admIySnZlRDFtZFc1amRHbHZiaWhqS1h0alBXTjhmSHQ5TzNaaGNpQmxQV0V1WlhoMFpXNWtLSFJ5ZFdVc2UzMHNZaTVtYjI5aWIzZ3ViM0IwYVc5dWN5eGpLVHR5WlhSMWNtNGdkR2hwY3k1bFlXTm9LR1oxYm1OMGFXOXVLQ2w3WkNzck8zUm9hWE11Wm05dlltOTRQVzVsZHlCbktIUm9hWE1zWlN4a0tYMHBmVHRtZFc1amRHbHZiaUJqS0NsN2RtRnlJR0U5ZEdocGN6dGhMbWxrUFc1MWJHdzdZUzVpZFhONVBXWmhiSE5sTzJFdWMzUmhjblE5Wm5WdVkzUnBiMjRvWXl4aUtYdHBaaWhoTG1KMWMza3BjbVYwZFhKdU8yRXVjM1J2Y0NncE8yRXVhV1E5YzJWMFZHbHRaVzkxZENobWRXNWpkR2x2YmlncGUyTW9LVHRoTG1sa1BXNTFiR3c3WVM1aWRYTjVQV1poYkhObGZTeGlLVHRoTG1KMWMzazlkSEoxWlgwN1lTNXpkRzl3UFdaMWJtTjBhVzl1S0NsN2FXWW9ZUzVwWkNFOWJuVnNiQ2w3WTJ4bFlYSlVhVzFsYjNWMEtHRXVhV1FwTzJFdWFXUTliblZzYkR0aExtSjFjM2s5Wm1Gc2MyVjlmWDFtZFc1amRHbHZiaUJuS0djc2FDeGxLWHQyWVhJZ1pEMTBhR2x6TzJRdWFXUTlaVHRrTG1OdmJuUmhhVzVsY2oxbk8yUXViM0IwYVc5dWN6MW9PMlF1ZEdoMWJXSnpQVnRkTzJRdWJXOWtZV3c5Ym5Wc2JEdGtMbVJsWW5WblBXWjFibU4wYVc5dUtDbDdhV1lvWVhKbmRXMWxiblJ6TG14bGJtZDBhRDA5TUh4OFpDNXZjSFJwYjI1ekxtUmxZblZuUFQxbVlXeHpaU2x5WlhSMWNtNDdkbUZ5SUdFOVFYSnlZWGt1Y0hKdmRHOTBlWEJsTG5Oc2FXTmxMbU5oYkd3b1lYSm5kVzFsYm5SektTeGlQV0ZiTUYwN1lTNXphR2xtZENncE8ybG1LR0V1YkdWdVozUm9QakFwWTI5dWMyOXNaUzVzYjJjb1lpeGhLVHRsYkhObElHTnZibk52YkdVdWJHOW5LR0lwZlR0a0xtUmxZblZuS0NKbWIyOWliM2c2WW1WbmFXNGlLVHRrTG1sdWFYUTlablZ1WTNScGIyNG9LWHRrTG1SbFluVm5LQ0ptYjI5aWIzZ3VhVzVwZERwaVpXZHBiaUlwTzNaaGNpQmpQV0VvWkM1amIyNTBZV2x1WlhJcE8ybG1LR011YVhNb1pDNXZjSFJwYjI1ekxuTmxiR1ZqZEc5eUtTa2hZeTVwY3lnaUxtWnZiMkp2ZUMxc2FXNXJJaWttSm1NdVptbHNkR1Z5S0daMWJtTjBhVzl1S0NsN2NtVjBkWEp1SUdFb2RHaHBjeWt1WVhSMGNpZ2lhSEpsWmlJcEppWmhLSFJvYVhNcExtRjBkSElvSW1oeVpXWWlLUzV0WVhSamFDaGtMbTl3ZEdsdmJuTXVabWxzZEdWeVVtVm5aWGdwZlNrdVpXRmphQ2htZFc1amRHbHZiaWhpS1h0MGFHbHpMbWx1WkdWNFBXSTdaQzUwYUhWdFluTXVjSFZ6YUNoaEtIUm9hWE1wS1gwcExtRmtaRU5zWVhOektDSm1iMjlpYjNndGJHbHVheUlwTG5WdVltbHVaQ2dpWTJ4cFkyc3VabTl2WW05NElpa3VZbWx1WkNnaVkyeHBZMnN1Wm05dlltOTRJaXhtZFc1amRHbHZiaWhoS1h0aExuQnlaWFpsYm5SRVpXWmhkV3gwS0NrN1pDNXRiMlJoYkM1emFHOTNLSFJvYVhNdWFXNWtaWGdwZlNrN1pXeHpaU0JqTG1acGJtUW9aQzV2Y0hScGIyNXpMbk5sYkdWamRHOXlLUzV1YjNRb0lpNW1iMjlpYjNndGJHbHVheUlwTG1acGJIUmxjaWhtZFc1amRHbHZiaWdwZTNKbGRIVnliaUJoS0hSb2FYTXBMbUYwZEhJb0ltaHlaV1lpS1NZbVlTaDBhR2x6S1M1aGRIUnlLQ0pvY21WbUlpa3ViV0YwWTJnb1pDNXZjSFJwYjI1ekxtWnBiSFJsY2xKbFoyVjRLWDBwTG1WaFkyZ29ablZ1WTNScGIyNG9ZaWw3ZEdocGN5NXBibVJsZUQxaU8yUXVkR2gxYldKekxuQjFjMmdvWVNoMGFHbHpLU2w5S1M1aFpHUkRiR0Z6Y3lnaVptOXZZbTk0TFd4cGJtc2lLUzUxYm1KcGJtUW9JbU5zYVdOckxtWnZiMkp2ZUNJcExtSnBibVFvSW1Oc2FXTnJMbVp2YjJKdmVDSXNablZ1WTNScGIyNG9ZU2w3WVM1d2NtVjJaVzUwUkdWbVlYVnNkQ2dwTzJRdWJXOWtZV3d1YzJodmR5aDBhR2x6TG1sdVpHVjRLWDBwTzJRdVpHVmlkV2NvSW1admIySnZlQzVwYm1sME9uUm9kVzFpYzE5c2IyRmtaV1FpS1R0a0xtaGhjMDExYkhScGNHeGxTVzFoWjJWelBXUXVkR2gxYldKekxteGxibWQwYUQ0eE8yUXVhVzVrWlhobGN5NXpaWFFvS1R0aUxtWnZiMkp2ZUM1d2JIVm5hVzV6TG1sdWFYUW9aQ2s3WkM1a1pXSjFaeWdpWm05dlltOTRMbWx1YVhRNmNHeDFaMmx1YzE5cGJtbDBhV0ZzYVhwbFpDSXBPMlF1WTNKbFlYUmxUVzlrWVd3b0tUdGtMbTF2WkdGc0xtcHhMblZ1WW1sdVpDZ2lMbVp2YjJKdmVDSXBMbUpwYm1Rb0ltTnNhV05yTG1admIySnZlQ0lzWm5WdVkzUnBiMjRvWVNsN2FXWW9aQzV2Y0hScGIyNXpMbU5zYjNObFQyNVBkbVZ5YkdGNVEyeHBZMnM5UFhSeWRXVW1KbVF1Ylc5a1lXd3VhbkV1WjJWMEtEQXBQVDFoTG5SaGNtZGxkQ2w3WVM1d2NtVjJaVzUwUkdWbVlYVnNkQ2dwTzJRdWJXOWtZV3d1WTJ4dmMyVW9LVHR5WlhSMWNtNGdabUZzYzJWOWNtVjBkWEp1SUhSeWRXVjlLVHRrTG1SbFluVm5LQ0ptYjI5aWIzZ3VhVzVwZERwdmRtVnliR0Y1WDJOc2FXTnJYMkp2ZFc1a0lpazdaQzV0YjJSaGJDNXFjUzUxYm1SbGJHVm5ZWFJsS0NJdVptOXZZbTk0SWlrdVpHVnNaV2RoZEdVb0lpNW1iMjlpYjNndFkyeHZjMlVpTENKamJHbGpheTVtYjI5aWIzZ2lMR1oxYm1OMGFXOXVLR0VwZTJFdWNISmxkbVZ1ZEVSbFptRjFiSFFvS1R0a0xtMXZaR0ZzTG1Oc2IzTmxLQ2s3Y21WMGRYSnVJR1poYkhObGZTa3VaR1ZzWldkaGRHVW9JaTVtYjI5aWIzZ3RjSEpsZGlJc0ltTnNhV05yTG1admIySnZlQ0lzWm5WdVkzUnBiMjRvWVNsN1lTNXdjbVYyWlc1MFJHVm1ZWFZzZENncE8yUXViVzlrWVd3dWNISmxkaWdwTzNKbGRIVnliaUJtWVd4elpYMHBMbVJsYkdWbllYUmxLQ0l1Wm05dlltOTRMVzVsZUhRaUxDSmpiR2xqYXk1bWIyOWliM2dpTEdaMWJtTjBhVzl1S0dFcGUyRXVjSEpsZG1WdWRFUmxabUYxYkhRb0tUdGtMbTF2WkdGc0xtNWxlSFFvS1R0eVpYUjFjbTRnWm1Gc2MyVjlLUzVrWld4bFoyRjBaU2dpTG1admIySnZlQzFwYm01bGNpQXVabTl2WW05NExXbHRaeTFqZFhKeVpXNTBJaXdpWTJ4cFkyc3VabTl2WW05NElpeG1kVzVqZEdsdmJpZ3BlMlF1Ylc5a1lXd3VZblZ6ZVQwOVptRnNjMlVtSm1RdWJXOWtZV3d1YVcxaFoyVkRiR2xqYTJWa0tDbDlLUzVrWld4bFoyRjBaU2dpTG1admIySnZlQzFwYm01bGNpQXVabTl2WW05NExXbHRaeTFqZFhKeVpXNTBJaXdpYlc5MWMyVmxiblJsY2k1bWIyOWliM2dpTEdaMWJtTjBhVzl1S0dFcGUyRXVjSEpsZG1WdWRFUmxabUYxYkhRb0tUdGtMbTF2WkdGc0xtSjFjM2s5UFdaaGJITmxKaVprTG5KaGFYTmxLQ0ptYjI5aWIzaGZhVzFoWjJWZmJXOTFjMlZsYm5SbGNpSXNlM1JvZFcxaU9tUXViVzlrWVd3dVoyVjBRM1Z5Y21WdWRGUm9kVzFpS0NsOUtUdHlaWFIxY200Z1ptRnNjMlY5S1M1a1pXeGxaMkYwWlNnaUxtWnZiMkp2ZUMxcGJtNWxjaUF1Wm05dlltOTRMV2x0WnkxamRYSnlaVzUwSWl3aWJXOTFjMlZzWldGMlpTNW1iMjlpYjNnaUxHWjFibU4wYVc5dUtHRXBlMkV1Y0hKbGRtVnVkRVJsWm1GMWJIUW9LVHRrTG0xdlpHRnNMbUoxYzNrOVBXWmhiSE5sSmlaa0xuSmhhWE5sS0NKbWIyOWliM2hmYVcxaFoyVmZiVzkxYzJWc1pXRjJaU0lzZTNSb2RXMWlPbVF1Ylc5a1lXd3VaMlYwUTNWeWNtVnVkRlJvZFcxaUtDbDlLVHR5WlhSMWNtNGdabUZzYzJWOUtUdGtMbVJsWW5WbktDSm1iMjlpYjNndWFXNXBkRHBqYkdsamExOW9iM1psY2w5aWIzVnVaQ0lwTzJFb1pHOWpkVzFsYm5RcExtSnBibVFvSW10bGVXUnZkMjR1Wm05dlltOTRJaXhtZFc1amRHbHZiaWhpS1h0cFppaGtMbTF2WkdGc0xtcHhMbWhoYzBOc1lYTnpLQ0ptYjI5aWIzZ3RjMmh2ZHlJcFBUMW1ZV3h6WlNseVpYUjFjbTRnZEhKMVpUdDJZWElnWVQxaUxtdGxlVU52WkdVN2FXWW9ZVDA5UFRJM0tYdGlMbkJ5WlhabGJuUkVaV1poZFd4MEtDazdaQzV0YjJSaGJDNWpiRzl6WlNncE8zSmxkSFZ5YmlCbVlXeHpaWDFsYkhObElHbG1LR1F1YUdGelRYVnNkR2x3YkdWSmJXRm5aWE05UFhSeWRXVW1KbUU5UFQwek55bDdZaTV3Y21WMlpXNTBSR1ZtWVhWc2RDZ3BPMlF1Ylc5a1lXd3VjSEpsZGlncE8zSmxkSFZ5YmlCbVlXeHpaWDFsYkhObElHbG1LR1F1YUdGelRYVnNkR2x3YkdWSmJXRm5aWE05UFhSeWRXVW1KbUU5UFQwek9TbDdZaTV3Y21WMlpXNTBSR1ZtWVhWc2RDZ3BPMlF1Ylc5a1lXd3VibVY0ZENncE8zSmxkSFZ5YmlCbVlXeHpaWDFsYkhObElHUXViVzlrWVd3dVluVnplVDA5Wm1Gc2MyVW1KbVF1Y21GcGMyVW9JbVp2YjJKdmVGOXJaWGxrYjNkdUlpeDdhMlY1T21GOUtYMHBPMlF1WkdWaWRXY29JbVp2YjJKdmVDNXBibWwwT210bGVYTmZZbTkxYm1RaUtUdGtMbTF2WkdGc0xtcHhMbVpwYm1Rb0lpNW1iMjlpYjNndGFXNXVaWElpS1M1bWIyOWliM2h6ZDJsd1pTaDdjM2RwY0dWTVpXWjBPbVoxYm1OMGFXOXVLQ2w3WkM1dGIyUmhiQzV3Y21WMktDbDlMSE4zYVhCbFVtbG5hSFE2Wm5WdVkzUnBiMjRvS1h0a0xtMXZaR0ZzTG01bGVIUW9LWDE5S1R0a0xtUmxZblZuS0NKbWIyOWliM2d1YVc1cGREcDBiM1ZqYUY5aWIzVnVaQ0lwTzJFb1lpa3VZbWx1WkNnaWNtVnphWHBsTG1admIySnZlQ0lzWm5WdVkzUnBiMjRvS1h0cFppaGtMbTF2WkdGc0xtcHhMbWhoYzBOc1lYTnpLQ0ptYjI5aWIzZ3RjMmh2ZHlJcFBUMW1ZV3h6WlNseVpYUjFjbTRnZEhKMVpUdGtMblJwYldWeWN5NXlaWE5wZW1VdWMzUmhjblFvWm5WdVkzUnBiMjRvS1h0MllYSWdZVDFrTG0xdlpHRnNMbXB4TG1acGJtUW9JaTVtYjI5aWIzZ3RhVzFuTFdOMWNuSmxiblFpS1R0a0xtNWhkSFZ5WVd4SmJXRm5aVk5wZW1Vb1lTNW5aWFFvTUNrc1puVnVZM1JwYjI0b1lpbDdaQzV0YjJSaGJDNXlaWE5wZW1Vb1lpNXVZWFIxY21Gc1YybGtkR2dzWWk1dVlYUjFjbUZzU0dWcFoyaDBMR1oxYm1OMGFXOXVLQ2w3WkM1dGIyUmhiQzV5WldaeVpYTm9RMkZ3ZEdsdmJpZ3BPMkV1WTNOektDSnZjR0ZqYVhSNUlpd3hLWDBwZlNsOUxHUXViM0IwYVc5dWN5NXlaWE5wZW1WVWFXMWxiM1YwS1gwcE8yUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1cGJtbDBPbkpsYzJsNlpWOWliM1Z1WkNJcE8zWmhjaUJsUFdRdWJXOWtZV3d1WjJWMFNHRnphQ2dwTzJsbUtHVW1KbVF1YVdROVBXVXVabTl2WW05NFNXUXBlM1poY2lCbVBXUXVkR2gxYldKelcyVXVhVzFoWjJWSmJtUmxlRjA3WkM1eVlXbHpaU2dpWm05dlltOTRYMmhoYzE5b1lYTm9JaXg3ZEdoMWJXSTZabjBwTzNObGRGUnBiV1Z2ZFhRb1puVnVZM1JwYjI0b0tYdGhLR1F1WTI5dWRHRnBibVZ5S1M1bWFXNWtLR1F1YjNCMGFXOXVjeTV6Wld4bFkzUnZjaWt1WlhFb1pTNXBiV0ZuWlVsdVpHVjRLUzVqYkdsamF5Z3BmU3cxTUNsOVpDNWtaV0oxWnlnaVptOXZZbTk0TG1sdWFYUTZaVzVrSWlsOU8yUXVhVzVrWlhobGN6MTdjSEpsZGpvdE1TeGpkWEp5Wlc1ME9qQXNibVY0ZERveExDSnpaWFFpT21aMWJtTjBhVzl1S0dFcGUyUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1cGJtUmxlR1Z6TG5ObGREcGlaV2RwYmlJc1lTazdZVDFoZkh3d08yRTlZVDVrTG5Sb2RXMWljeTVzWlc1bmRHZ3RNVDh3T21FOE1EOWtMblJvZFcxaWN5NXNaVzVuZEdndE1UcGhPM1poY2lCalBXRXRNU3hpUFdFck1UdGtMbWx1WkdWNFpYTXVZM1Z5Y21WdWREMWhPMlF1YVc1a1pYaGxjeTV3Y21WMlBXTThNRDlrTG5Sb2RXMWljeTVzWlc1bmRHZ3RNVHBqTzJRdWFXNWtaWGhsY3k1dVpYaDBQV0krWkM1MGFIVnRZbk11YkdWdVozUm9MVEUvTURwaU8yUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1cGJtUmxlR1Z6TG5ObGREcGxibVFpTEdFcGZYMDdaQzUwYVcxbGNuTTllMlZ5Y205eU9tNWxkeUJqTEd4dllXUnBibWM2Ym1WM0lHTXNjbVZ6YVhwbE9tNWxkeUJqTEdodmRtVnlPbTVsZHlCamZUdGtMbkpoYVhObFBXWjFibU4wYVc5dUtHWXNZaWw3WWoxaWZIeDdmVHQyWVhJZ1l6MTdabUk2WkgwN1lTNWxlSFJsYm1Rb2RISjFaU3hqTEdJcE8zWmhjaUJsUFdFdVJYWmxiblFvWml4aktUdGhLR1F1WTI5dWRHRnBibVZ5S1M1MGNtbG5aMlZ5S0dVcE8zSmxkSFZ5YmlCbGZUdGtMbkJ5Wld4dllXUTlablZ1WTNScGIyNG9LWHRrTGw5d2NtVnNiMkZrU1cxaFoyVW9aQzUwYUhWdFluTmJaQzVwYm1SbGVHVnpMbkJ5WlhaZEtUdGtMbDl3Y21Wc2IyRmtTVzFoWjJVb1pDNTBhSFZ0WW5OYlpDNXBibVJsZUdWekxtNWxlSFJkS1gwN1pDNWZjSEpsYkc5aFpFbHRZV2RsUFdaMWJtTjBhVzl1S0dFcGUybG1LR0V1YkdWdVozUm9QakFtSm1FdVpHRjBZU2dpY0hKbGJHOWhaR1ZrSWlraFBTSjBjblZsSWlsN2RtRnlJR0k5Ym1WM0lFbHRZV2RsTzJJdWMzSmpQV0V1WVhSMGNpZ2lhSEpsWmlJcE8yRXVaR0YwWVNnaWNISmxiRzloWkdWa0lpd2lkSEoxWlNJcGZYMDdaQzV1WVhSMWNtRnNTVzFoWjJWVGFYcGxQV1oxYm1OMGFXOXVLR0lzWXlsN1pDNWtaV0oxWnlnaVptOXZZbTk0TG01aGRIVnlZV3hKYldGblpWTnBlbVU2WW1WbmFXNGlLVHR6WlhSVWFXMWxiM1YwS0daMWJtTjBhVzl1S0NsN2RtRnlJR1U5ZTI1aGRIVnlZV3hJWldsbmFIUTZNQ3h1WVhSMWNtRnNWMmxrZEdnNk1IMDdhV1lvSW01aGRIVnlZV3hYYVdSMGFDSnBiaUJpSmlZaWJtRjBkWEpoYkVobGFXZG9kQ0pwYmlCaUppWmlMbTVoZEhWeVlXeElaV2xuYUhRaFBUQW1KbUl1Ym1GMGRYSmhiRmRwWkhSb0lUMHdLWHRrTG1SbFluVm5LQ0ptYjI5aWIzZ3VibUYwZFhKaGJFbHRZV2RsVTJsNlpUcGxlR2x6ZEhNaUtUdGxMbTVoZEhWeVlXeElaV2xuYUhROVlpNXVZWFIxY21Gc1NHVnBaMmgwTzJVdWJtRjBkWEpoYkZkcFpIUm9QV0l1Ym1GMGRYSmhiRmRwWkhSb08yUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1dVlYUjFjbUZzU1cxaFoyVlRhWHBsT21WdVpDSXBPMkV1YVhOR2RXNWpkR2x2YmloaktTWW1ZeWhsS1gxbGJITmxlMlF1WkdWaWRXY29JbVp2YjJKdmVDNXVZWFIxY21Gc1NXMWhaMlZUYVhwbE9tNXZiaTFsZUdsemRHRnVkQ0lwTzNaaGNpQm1QVzVsZHlCSmJXRm5aVHRtTG05dWJHOWhaRDFtZFc1amRHbHZiaWdwZTJJdWJtRjBkWEpoYkVobGFXZG9kRDFsTG01aGRIVnlZV3hJWldsbmFIUTlaaTVvWldsbmFIUTdZaTV1WVhSMWNtRnNWMmxrZEdnOVpTNXVZWFIxY21Gc1YybGtkR2c5Wmk1M2FXUjBhRHRrTG1SbFluVm5LQ0ptYjI5aWIzZ3VibUYwZFhKaGJFbHRZV2RsVTJsNlpUcGxibVFpS1R0aExtbHpSblZ1WTNScGIyNG9ZeWttSm1Nb1pTbDlPMll1YjI1bGNuSnZjajFtZFc1amRHbHZiaWhpS1h0a0xtOXdkR2x2Ym5NdVpHVmlkV2M5UFhSeWRXVW1KbU52Ym5OdmJHVXVaWEp5YjNJb0owVnljbTl5SUd4dllXUnBibWNnYVcxaFoyVWdhVzRnWm5WdVkzUnBiMjRnSW01aGRIVnlZV3hKYldGblpWTnBlbVVpTGljc1lpazdaQzVrWldKMVp5Z2labTl2WW05NExtNWhkSFZ5WVd4SmJXRm5aVk5wZW1VNlpXNWtJaWs3WVM1cGMwWjFibU4wYVc5dUtHTXBKaVpqS0dVcGZUdG1Mbk55WXoxaUxuTnlZMzE5TEdRdWIzQjBhVzl1Y3k1c2IyRmtSR1ZzWVhrcGZUdGtMbU55WldGMFpVMXZaR0ZzUFdaMWJtTjBhVzl1S0NsN1pDNWtaV0oxWnlnaVptOXZZbTk0TG0xdlpHRnNPbUpsWjJsdUlpazdkbUZ5SUdJOWUzMDdZaTVpZFhONVBXWmhiSE5sTzNaaGNpQmpQWHRwYldjNlpuVnVZM1JwYjI0b0tYdDJZWElnWVQxdVpYY2dTVzFoWjJVN1lTNXpjbU05WkM1dmNIUnBiMjV6TG1WeWNtOXlMbk55WXp0eVpYUjFjbTRnWVgwb0tTeDBhSFZ0WWpwN2FuRTZiblZzYkN4MFlYSm5aWFE2WkM1dmNIUnBiMjV6TG1WeWNtOXlMbk55WXl4MGFYUnNaVHBrTG05d2RHbHZibk11WlhKeWIzSXViV1Z6YzJGblpTeGxjbkp2Y2pwMGNuVmxmWDA3WWk1cWNUMW1kVzVqZEdsdmJpZ3BlMlF1WkdWaWRXY29JbVp2YjJKdmVDNXRiMlJoYkM1cWNUcGlaV2RwYmlJcE8zWmhjaUJqUFdFb0lpNW1iMjlpYjNndGJXOWtZV3dpSzJRdWFXUXBPMmxtS0dNdWJHVnVaM1JvUEQwd0tYdGtMbVJsWW5WbktDSm1iMjlpYjNndWJXOWtZV3d1YW5FNlkzSmxZWFJwYm1kZmJXOWtZV3dpS1R0alBXRW9KenhrYVhZZ1kyeGhjM005SW1admIySnZlQzF0YjJSaGJDQm1iMjlpYjNndGJXOWtZV3d0Snl0a0xtbGtLeWNpUGp3dlpHbDJQaWNwTzJNdVlYQndaVzVrS0NjOFpHbDJJR05zWVhOelBTSm1iMjlpYjNndGFXNXVaWEl0YzNCaFkyVnlJajQ4TDJScGRqNG5LVHRqTG1Gd2NHVnVaQ2duUEdScGRpQmpiR0Z6Y3owaVptOXZZbTk0TFd4dllXUmxjaUkrUEM5a2FYWStKeWs3ZG1GeUlHSTlZU2duUEdScGRpQmpiR0Z6Y3owaVptOXZZbTk0TFdsdWJtVnlJajQ4TDJScGRqNG5LVHRpTG1Gd2NHVnVaQ2duUEdsdFp5QmpiR0Z6Y3owaVptOXZZbTk0TFdsdFp5MWpkWEp5Wlc1MElpQmhiSFE5SWlJZ2MzSmpQU0lpSUM4K1BHbHRaeUJqYkdGemN6MGlabTl2WW05NExXbHRaeTF1WlhoMElpQmhiSFE5SWlJZ2MzSmpQU0lpSUM4K0p5azdZaTVoY0hCbGJtUW9KenhoSUdoeVpXWTlJaU5qYkc5elpTSWdZMnhoYzNNOUltWnZiMkp2ZUMxamJHOXpaU0krUEM5aFBpY3BPMlF1YjNCMGFXOXVjeTVoWm1acGJHbGhkR1V1Wlc1aFlteGxaRDA5ZEhKMVpTWW1ZaTVoY0hCbGJtUW9KenhrYVhZZ1kyeGhjM005SW1admIySnZlQzFqY21Wa2FYUWlQanhoSUhSaGNtZGxkRDBpWDJKc1lXNXJJaUJvY21WbVBTSW5LMlF1YjNCMGFXOXVjeTVoWm1acGJHbGhkR1V1ZFhKc0t5Y2lQanhsYlQ0bksyUXViM0IwYVc5dWN5NWhabVpwYkdsaGRHVXVjSEpsWm1sNEt5SWdQQzlsYlQ0OGMzQmhiajVHYjI5Q2IzZzhMM053WVc0K1BDOWhQand2WkdsMlBpSXBPM1poY2lCbFBXRW9KenhrYVhZZ1kyeGhjM005SW1admIySnZlQzFqWVhCMGFXOXVJajQ4TDJScGRqNG5LVHRsTG1Gd2NHVnVaQ2duUEhOd1lXNGdZMnhoYzNNOUltWnZiMkp2ZUMxMGFYUnNaU0krUEM5emNHRnVQaWNwTzJJdVlYQndaVzVrS0dVcE8yUXViM0IwYVc5dWN5NXphRzkzUTI5MWJuUTlQWFJ5ZFdVbUptUXVhR0Z6VFhWc2RHbHdiR1ZKYldGblpYTW1KbUl1WVhCd1pXNWtLQ2M4YzNCaGJpQmpiR0Z6Y3owaVptOXZZbTk0TFdOdmRXNTBJaUF2UGljcE8yTXVZWEJ3Wlc1a0tHSXBPMkl1Wm1sdVpDZ2lMbVp2YjJKdmVDMXBiV2N0WTNWeWNtVnVkQ0lwTG1OemN5Z2liM0JoWTJsMGVTSXNNQ2s3YVdZb1pDNXZjSFJwYjI1ekxuTm9iM2RDZFhSMGIyNXpQVDEwY25WbEppWmtMbWhoYzAxMWJIUnBjR3hsU1cxaFoyVnpLWHRqTG5CeVpYQmxibVFvSnp4aElHaHlaV1k5SWlOd2NtVjJJaUJqYkdGemN6MGlabTl2WW05NExYQnlaWFlpUGp3dllUNG5LVHRqTG1Gd2NHVnVaQ2duUEdFZ2FISmxaajBpSTI1bGVIUWlJR05zWVhOelBTSm1iMjlpYjNndGJtVjRkQ0krUEM5aFBpY3BPMkl1Y0hKbGNHVnVaQ2duUEdFZ2FISmxaajBpSTNCeVpYWWlJR05zWVhOelBTSm1iMjlpYjNndGNISmxkaUkrUEM5aFBpY3BPMkl1WVhCd1pXNWtLQ2M4WVNCb2NtVm1QU0lqYm1WNGRDSWdZMnhoYzNNOUltWnZiMkp2ZUMxdVpYaDBJajQ4TDJFK0p5bDlZU2dpWW05a2VTSXBMbkJ5WlhCbGJtUW9ZeWw5WkM1a1pXSjFaeWdpWm05dlltOTRMbTF2WkdGc0xtcHhPbVZ1WkNJcE8zSmxkSFZ5YmlCamZTZ3BPMkl1Y21WemFYcGxQV1oxYm1OMGFXOXVLR1lzWlN4bktYdGtMbVJsWW5WbktDSm1iMjlpYjNndWJXOWtZV3d1Y21WemFYcGxPbUpsWjJsdUlpazdhV1lvSVdJdWFuRXVhR0Z6UTJ4aGMzTW9JbVp2YjJKdmVDMXphRzkzSWlrcGNtVjBkWEp1TzNaaGNpQmpQV0l1YW5FdVptbHVaQ2dpTG1admIySnZlQzFwYm01bGNpSXBMR2c5WWk1cWNTNW1hVzVrS0NJdVptOXZZbTk0TFdsdWJtVnlMWE53WVdObGNpSXBPMmxtS0dZOVBUQjhmR1U5UFRBcGUyTnZibk52YkdVdVpYSnliM0lvSWtWcGRHaGxjaUIwYUdVZ2MzVndjR3hwWldRZ2JtRjBkWEpoYkZkcFpIUm9JRzl5SUc1aGRIVnlZV3hJWldsbmFIUWdhWE1nTUM0aUxIdHVZWFIxY21Gc1YybGtkR2c2Wml4dVlYUjFjbUZzU0dWcFoyaDBPbVY5S1R0eVpYUjFjbTU5ZG1GeUlHODlaQzV2Y0hScGIyNXpMbk5vYjNkQ2RYUjBiMjV6UFQxMGNuVmxKaVprTG1oaGMwMTFiSFJwY0d4bFNXMWhaMlZ6TEcwOWNHRnljMlZKYm5Rb2FDNWpjM01vSW5CaFpHUnBibWN0ZEc5d0lpa3BMSFE5Y0dGeWMyVkpiblFvYUM1amMzTW9JbkJoWkdScGJtY3RZbTkwZEc5dElpa3BMSGc5Y0dGeWMyVkpiblFvYUM1amMzTW9JbkJoWkdScGJtY3RiR1ZtZENJcEtTeDVQWEJoY25ObFNXNTBLR2d1WTNOektDSndZV1JrYVc1bkxYSnBaMmgwSWlrcExITTljR0Z5YzJWSmJuUW9ZeTVqYzNNb0ltSnZjbVJsY2kxMGIzQXRkMmxrZEdnaUtTa3NjRDF3WVhKelpVbHVkQ2hqTG1OemN5Z2lZbTl5WkdWeUxXSnZkSFJ2YlMxM2FXUjBhQ0lwS1N4eFBYQmhjbk5sU1c1MEtHTXVZM056S0NKaWIzSmtaWEl0YkdWbWRDMTNhV1IwYUNJcEtTeHlQWEJoY25ObFNXNTBLR011WTNOektDSmliM0prWlhJdGNtbG5hSFF0ZDJsa2RHZ2lLU2tzYVQxd1lYSnpaVWx1ZENoakxtTnpjeWdpY0dGa1pHbHVaeTFzWldaMElpa3BMSG85Y0dGeWMyVkpiblFvWXk1amMzTW9JbWhsYVdkb2RDSXBLU3hCUFhCaGNuTmxTVzUwS0dNdVkzTnpLQ0ozYVdSMGFDSXBLU3gzUFNodlAyMHJkRHB0S2pJcEsya3FNaXR6SzNBc2RqMTRLM2tyYVNveUszRXJjaXh1UFdJdWFuRXVhR1ZwWjJoMEtDa3RkeXgxUFdJdWFuRXVkMmxrZEdnb0tTMTJMR285ZFM5bU8ybG1LR1VxYWo1dUtXbzliaTlsTzNaaGNpQnJQV1VzYkQxbU8ybG1LR1F1YjNCMGFXOXVjeTVtYVhSVWIxTmpjbVZsYmowOWRISjFaWHg4WlQ1dWZIeG1QblVwZTJzOVRXRjBhQzVtYkc5dmNpaGxLbW9wTzJ3OVRXRjBhQzVtYkc5dmNpaG1LbW9wZldsbUtHc2hQWHA4Zkd3aFBVRXBZeTVoYm1sdFlYUmxLSHRvWldsbmFIUTZheXgzYVdSMGFEcHNMQ0p0WVhKbmFXNHRkRzl3SWpvdEtHc3ZNaXRwS3loekszQXBMeklyS0c4L2RDMXRPakFwS1N3aWJXRnlaMmx1TFd4bFpuUWlPaTBvYkM4eUsya3JLSEVyY2lrdk1pbDlMRE13TUN4bWRXNWpkR2x2YmlncGUyUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1dGIyUmhiQzV5WlhOcGVtVTZaVzVrSWlrN1lTNXBjMFoxYm1OMGFXOXVLR2NwSmlabktDbDlLVHRsYkhObGUyUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1dGIyUmhiQzV5WlhOcGVtVTZaVzVrSWlrN1lTNXBjMFoxYm1OMGFXOXVLR2NwSmlabktDbDlmVHRpTG5SeVlXNXphWFJwYjI0OVpuVnVZM1JwYjI0b1l5eGxMR0lwZTJRdVpHVmlkV2NvSW1admIySnZlQzV0YjJSaGJDNTBjbUZ1YzJsMGFXOXVPbUpsWjJsdUlpazdZeTVoYm1sdFlYUmxLSHR2Y0dGamFYUjVPakI5TERJd01DazdaUzVoYm1sdFlYUmxLSHR2Y0dGamFYUjVPakY5TERVd01DeG1kVzVqZEdsdmJpZ3BlMlV1WVdSa0tHTXBMblJ2WjJkc1pVTnNZWE56S0NKbWIyOWliM2d0YVcxbkxXNWxlSFFnWm05dlltOTRMV2x0WnkxamRYSnlaVzUwSWlrN1pDNWtaV0oxWnlnaVptOXZZbTk0TG0xdlpHRnNMblJ5WVc1emFYUnBiMjQ2Wlc1a0lpazdZUzVwYzBaMWJtTjBhVzl1S0dJcEppWmlLQ2w5S1gwN1lpNW5aWFJEZFhKeVpXNTBWR2gxYldJOVpuVnVZM1JwYjI0b0tYdGtMbVJsWW5WbktDSm1iMjlpYjNndWJXOWtZV3d1WjJWMFEzVnljbVZ1ZEZSb2RXMWlPbUpsWjJsdUlpazdkbUZ5SUdFOWUycHhPbTUxYkd3c2RHRnlaMlYwT201MWJHd3NkR2wwYkdVNklpSXNaWEp5YjNJNlptRnNjMlY5TzNSeWVYdGhMbWx1WkdWNFBXUXVhVzVrWlhobGN5NWpkWEp5Wlc1ME8yRXVhbkU5WkM1MGFIVnRZbk5iWkM1cGJtUmxlR1Z6TG1OMWNuSmxiblJkTzJFdWRHRnlaMlYwUFdRdWRHaDFiV0p6VzJRdWFXNWtaWGhsY3k1amRYSnlaVzUwWFM1aGRIUnlLQ0pvY21WbUlpbDlZMkYwWTJnb1lpbDdaQzVrWldKMVp5Z2lSWEp5YjNJZ2IyTmpkWEp5WldRZ1kzSmxZWFJwYm1jZ2RHaDFiV0lnYjJKcVpXTjBMaUlzWWlrN1lUMWpMblJvZFcxaWZXUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1dGIyUmhiQzVuWlhSRGRYSnlaVzUwVkdoMWJXSTZaVzVrSWlrN2NtVjBkWEp1SUdGOU8ySXVZblZwYkdSVWFIVnRZa05oY0hScGIyNDlablZ1WTNScGIyNG9aaXhsS1h0cFppaGtMbTl3ZEdsdmJuTXVZMkZ3ZEdsdmJuTXVaVzVoWW14bFpDbDdkbUZ5SUdNc1lqdHBaaWhrTG05d2RHbHZibk11WTJGd2RHbHZibk11ZEdsMGJHVlRiM1Z5WTJVaFBTSnViMjVsSWlsN1l6MWhMblJ5YVcwb1pTNW1hVzVrS0NKcGJXYzZabWx5YzNRaUtTNWhkSFJ5S0NKMGFYUnNaU0lwS1R0cFppaGtMbTl3ZEdsdmJuTXVZMkZ3ZEdsdmJuTXVkR2wwYkdWVGIzVnlZMlU5UFNKaGJtTm9iM0lpS1dNOVlTNTBjbWx0S0dVdVlYUjBjaWdpZEdsMGJHVWlLU2w5YVdZb1pDNXZjSFJwYjI1ekxtTmhjSFJwYjI1ekxtUmxjMk5UYjNWeVkyVWhQU0p1YjI1bElpbDdZajFoTG5SeWFXMG9aUzVoZEhSeUtDSjBhWFJzWlNJcEtYeDhZUzUwY21sdEtHVXVabWx1WkNnaWFXMW5PbVpwY25OMElpa3VZWFIwY2lnaWRHbDBiR1VpS1NrN2FXWW9aQzV2Y0hScGIyNXpMbU5oY0hScGIyNXpMbVJsYzJOVGIzVnlZMlU5UFNKcGJXRm5aU0lwWWoxaExuUnlhVzBvWlM1bWFXNWtLQ0pwYldjNlptbHljM1FpS1M1aGRIUnlLQ0owYVhSc1pTSXBLVHRsYkhObElHbG1LR1F1YjNCMGFXOXVjeTVqWVhCMGFXOXVjeTVrWlhOalUyOTFjbU5sUFQwaVlXNWphRzl5SWlsaVBXRXVkSEpwYlNobExtRjBkSElvSW5ScGRHeGxJaWtwZlhaaGNpQm5QV1F1Y21GcGMyVW9JbVp2YjJKdmVGOXBiV0ZuWlY5amRYTjBiMjFmWTJGd2RHbHZiaUlzZTNSb2RXMWlPbVVzZEdsMGJHVTZZeXhrWlhOak9tSXNhR0Z1Wkd4bFpEcG1ZV3h6WlgwcE8ybG1LR2N1YUdGdVpHeGxaQ2w3WXoxbkxuUnBkR3hsTzJJOVp5NWtaWE5qZldsbUtHTW1KbU05UFdJcFlqMGlJanRwWmloaUppWmlJVDBpSWlsaVBTYzhaR2wySUdOc1lYTnpQU0ptYjI5aWIzZ3RZMkZ3ZEdsdmJpMWtaWE5qSWo0bksySXJJand2WkdsMlBpSTdaaTUwYVhSc1pUMWpPMll1WkdWell6MWlPMll1WTJGd2RHbHZiajBvWXo4blBHUnBkaUJqYkdGemN6MGlabTl2WW05NExXTmhjSFJwYjI0dGRHbDBiR1VpUGljcll5c2lQQzlrYVhZK0lqb2lJaWtyWW4xbGJITmxJR1l1WTJGd2RHbHZiajBpSW4wN1lpNXphRzkzUFdaMWJtTjBhVzl1S0dncGUyUXVaR1ZpZFdjb0ltWnZiMkp2ZUM1dGIyUmhiQzV6YUc5M09tSmxaMmx1SWlrN2FXWW9ZaTVpZFhONVBUMTBjblZsS1hKbGRIVnlianRpTG1KMWMzazlkSEoxWlR0aUxtcHhMbU5zYjNObGMzUW9JbWgwYld3aUtTNXNaVzVuZEdnOVBUQW1KbUVvSW1KdlpIa2lLUzV3Y21Wd1pXNWtLR0l1YW5FcE8yUXViM0IwYVc5dWN5NW9hV1JsVTJOeWIyeHNZbUZ5Y3owOWRISjFaU1ltWVNnaWFIUnRiQ3dnWW05a2VTSXBMbU56Y3lnaWIzWmxjbVpzYjNjaUxDSm9hV1JrWlc0aUtUdGtMbWx1WkdWNFpYTXVjMlYwS0dncE8zWmhjaUJtUFdJdVoyVjBRM1Z5Y21WdWRGUm9kVzFpS0NrN1pDNXZjSFJwYjI1ekxtTmhjSFJwYjI1ekxtVnVZV0pzWldRbUppRm1MbU5oY0hScGIyNG1KbUl1WW5WcGJHUlVhSFZ0WWtOaGNIUnBiMjRvWml4a0xuUm9kVzFpYzF0a0xtbHVaR1Y0WlhNdVkzVnljbVZ1ZEYwcE8yUXVjbUZwYzJVb0ltWnZiMkp2ZUY5cGJXRm5aVjlpWldadmNtVmZiRzloWkNJc2UzUm9kVzFpT21aOUtUdGtMblJwYldWeWN5NXNiMkZrYVc1bkxuTjBZWEowS0daMWJtTjBhVzl1S0NsN1lpNXFjUzVtYVc1a0tDSXVabTl2WW05NExXeHZZV1JsY2lJcExuTm9iM2NvS1gwc1pDNXZjSFJwYjI1ekxteHZZV1JsY2xScGJXVnZkWFFwTzNaaGNpQm5QV1F1YjNCMGFXOXVjeTV3Y21Wc2IyRmtTVzFoWjJWek8ybG1LR0l1YW5FdWFHRnpRMnhoYzNNb0ltWnZiMkp2ZUMxemFHOTNJaWs5UFdaaGJITmxLWHRpTG1weExtWnBibVFvSWk1bWIyOWliM2d0YVc1dVpYSXNJQzVtYjI5aWIzZ3RjSEpsZGl3Z0xtWnZiMkp2ZUMxdVpYaDBMQ0F1Wm05dlltOTRMWEJzWVhrc0lDNW1iMjlpYjNndGNHRjFjMlVpS1M1amMzTW9JbVJwYzNCc1lYa2lMQ0p1YjI1bElpazdZaTVxY1M1bWFXNWtLQ0l1Wm05dlltOTRMV2x1Ym1WeUlpa3VZM056S0h0M2FXUjBhRG9pTWpRd2NIZ2lMR2hsYVdkb2REb2lNalF3Y0hnaUxDSnRZWEpuYVc0dGRHOXdJam9pTFRFeU1IQjRJaXdpYldGeVoybHVMV3hsWm5RaU9pSXRNVEl3Y0hnaWZTazdZaTVxY1M1aFpHUkRiR0Z6Y3lnaVptOXZZbTk0TFhOb2IzY2lLVHRrTG5KaGFYTmxLQ0ptYjI5aWIzaGZiVzlrWVd4ZmMyaHZkeUlwZldWc2MyVWdaQzV2Y0hScGIyNXpMbU5oY0hScGIyNXpMbVZ1WVdKc1pXUW1KbUl1YUdsa1pVTmhjSFJwYjI0b0tUdGlMbXB4TG1acGJtUW9JaTVtYjI5aWIzZ3RZMjkxYm5RaUtTNTBaWGgwS0dRdWIzQjBhVzl1Y3k1amIzVnVkRTFsYzNOaFoyVXVjbVZ3YkdGalpTZ2lKV2x1WkdWNElpeGtMbWx1WkdWNFpYTXVZM1Z5Y21WdWRDc3hLUzV5WlhCc1lXTmxLQ0lsZEc5MFlXd2lMR1F1ZEdoMWJXSnpMbXhsYm1kMGFDa3BPMlF1YjNCMGFXOXVjeTVrWldWd2JHbHVhMmx1Wnk1bGJtRmliR1ZrUFQxMGNuVmxKaVppTG5ObGRFaGhjMmdvWmlrN2RtRnlJR1U5Ym1WM0lFbHRZV2RsTzJZdWFXMW5QV1U3WlM1dmJteHZZV1E5Wm5WdVkzUnBiMjRvS1h0bExtOXViRzloWkQxbExtOXVaWEp5YjNJOWJuVnNiRHRrTG5KaGFYTmxLQ0ptYjI5aWIzaGZhVzFoWjJWZmIyNXNiMkZrSWl4N2RHaDFiV0k2Wm4wcE8ySXVhbkV1Wm1sdVpDZ2lMbVp2YjJKdmVDMXBibTVsY2lJcExuSmxiVzkyWlVOc1lYTnpLQ0ptYjI5aWIzZ3RhVzFuTFdWeWNtOXlJaWs3WWk1cGJXRm5aVTl1Ykc5aFpDaG1MR1VzWkM1dmNIUnBiMjV6TG1OaGNIUnBiMjV6TG1WdVlXSnNaV1FzWnlrN1pUMXVkV3hzZlR0bExtOXVaWEp5YjNJOVpuVnVZM1JwYjI0b0tYdGxMbTl1Ykc5aFpEMWxMbTl1WlhKeWIzSTliblZzYkR0a0xuSmhhWE5sS0NKbWIyOWliM2hmYVcxaFoyVmZiMjVsY25KdmNpSXNlM1JvZFcxaU9tWjlLVHRpTG1weExtWnBibVFvSWk1bWIyOWliM2d0YVc1dVpYSWlLUzVoWkdSRGJHRnpjeWdpWm05dlltOTRMV2x0WnkxbGNuSnZjaUlwTzJJdWFXMWhaMlZQYm14dllXUW9ZeTUwYUhWdFlpeGpMbWx0Wnl4MGNuVmxLVHRsUFc1MWJHeDlPMlF1Ylc5a1lXd3VhbkV1Wm1sdVpDZ2lMbVp2YjJKdmVDMWpZWEIwYVc5dUlpa3VhR2xrWlNncE8yUXVjbUZwYzJVb0ltWnZiMkp2ZUY5cGJXRm5aVjlpWldadmNtVmZiRzloWkNJc2UzUm9kVzFpT21aOUtUdGxMbk55WXoxbUxuUmhjbWRsZER0a0xtUmxZblZuS0NKbWIyOWliM2d1Ylc5a1lXd3VjMmh2ZHpwbGJtUWlLWDA3WWk1cGJXRm5aVTl1Ykc5aFpEMW1kVzVqZEdsdmJpaGhMR2dzWml4bktYdGtMbVJsWW5WbktDSm1iMjlpYjNndWJXOWtZV3d1YVcxaFoyVlBibXh2WVdRNlltVm5hVzRpS1R0a0xuUnBiV1Z5Y3k1c2IyRmthVzVuTG5OMGIzQW9LVHRpTG1weExtWnBibVFvSWk1bWIyOWliM2d0Ykc5aFpHVnlJaWt1YUdsa1pTZ3BPM1poY2lCbFBXSXVhbkV1Wm1sdVpDZ2lMbVp2YjJKdmVDMXBiV2N0WTNWeWNtVnVkQ0lwTEdNOVlpNXFjUzVtYVc1a0tDSXVabTl2WW05NExXbHRaeTF1WlhoMElpazdaUzVoWkdRb1l5a3VZM056S0NKdmNHRmphWFI1SWl3aU1DSXBPMk11WVhSMGNpZ2ljM0pqSWl4aExuUmhjbWRsZENrN1pDNXVZWFIxY21Gc1NXMWhaMlZUYVhwbEtHZ3NablZ1WTNScGIyNG9hQ2w3WWk1cWNTNW1hVzVrS0NJdVptOXZZbTk0TFdsdWJtVnlMQ0F1Wm05dlltOTRMWEJ5WlhZc0lDNW1iMjlpYjNndGJtVjRkQ3dnTG1admIySnZlQzF3YkdGNUxDQXVabTl2WW05NExYQmhkWE5sSWlrdVkzTnpLQ0prYVhOd2JHRjVJaXdpSWlrN1lpNXlaWE5wZW1Vb2FDNXVZWFIxY21Gc1YybGtkR2dzYUM1dVlYUjFjbUZzU0dWcFoyaDBMR1oxYm1OMGFXOXVLQ2w3WWk1MGNtRnVjMmwwYVc5dUtHVXNZeXhtZFc1amRHbHZiaWdwZTJsbUtHWTlQWFJ5ZFdVcGUySXVhbkV1Wm1sdVpDZ2lMbVp2YjJKdmVDMWpZWEIwYVc5dUlDNW1iMjlpYjNndGRHbDBiR1VpS1M1b2RHMXNLR0V1WTJGd2RHbHZiaWs3WWk1emFHOTNRMkZ3ZEdsdmJpZ3BmV1F1Y21GcGMyVW9JbVp2YjJKdmVGOXBiV0ZuWlY5aFpuUmxjbDlzYjJGa0lpeDdkR2gxYldJNllYMHBPMkl1WW5WemVUMW1ZV3h6WlR0blBUMTBjblZsSmlaa0xuQnlaV3h2WVdRb0tUdGtMbVJsWW5WbktDSm1iMjlpYjNndWJXOWtZV3d1YVcxaFoyVlBibXh2WVdRNlpXNWtJaWw5S1gwcGZTbDlPMkl1YzJodmQwTmhjSFJwYjI0OVpuVnVZM1JwYjI0b0tYdDJZWElnWXoxaUxtcHhMbVpwYm1Rb0lpNW1iMjlpYjNndFkyRndkR2x2YmlJcExHVTlZaTVuWlhSRFlYQjBhVzl1U0dWcFoyaDBLQ2s3YVdZb1pDNXZjSFJwYjI1ekxtTmhjSFJwYjI1ekxtRnVhVzFoZEdsdmJqMDlJbk5zYVdSbElpbGpMbWhsYVdkb2RDZ3dLUzV6YUc5M0tDa3VZVzVwYldGMFpTaDdhR1ZwWjJoME9tVjlMR1oxYm1OMGFXOXVLQ2w3WVNoMGFHbHpLUzV5WlcxdmRtVkRiR0Z6Y3lnaVptOXZZbTk0TFdOaGNIUnBiMjR0YUdsa1pHVnVJaWw5S1R0bGJITmxJR2xtS0dRdWIzQjBhVzl1Y3k1allYQjBhVzl1Y3k1aGJtbHRZWFJwYjI0OVBTSm1ZV1JsSWlsakxtaGxhV2RvZENobEtTNW1ZV1JsU1c0b1puVnVZM1JwYjI0b0tYdGhLSFJvYVhNcExuSmxiVzkyWlVOc1lYTnpLQ0ptYjI5aWIzZ3RZMkZ3ZEdsdmJpMW9hV1JrWlc0aUtYMHBPMlZzYzJVZ1pDNXZjSFJwYjI1ekxtTmhjSFJwYjI1ekxtRnVhVzFoZEdsdmJqMDlJbk5vYjNjaUppWmpMbWhsYVdkb2RDaGxLUzV6YUc5M0tDa3VjbVZ0YjNabFEyeGhjM01vSW1admIySnZlQzFqWVhCMGFXOXVMV2hwWkdSbGJpSXBmVHRpTG1kbGRFTmhjSFJwYjI1SVpXbG5hSFE5Wm5WdVkzUnBiMjRvS1h0MllYSWdaRDFpTG1weExtWnBibVFvSWk1bWIyOWliM2d0WTJGd2RHbHZiaUF1Wm05dlltOTRMWFJwZEd4bElpa3NhVDFpTG1weExtWnBibVFvSWk1bWIyOWliM2d0WTJGd2RHbHZiaTFrWlhOaklpa3NaejFiWFN4bFBXUXVjR0Z5Wlc1MGN5Z3BMbUZ1WkZObGJHWW9LUzVtYVd4MFpYSW9JanBvYVdSa1pXNGlLU3hxUFNKMmFYTnBZbWxzYVhSNU9pQm9hV1JrWlc0Z0lXbHRjRzl5ZEdGdWREc2daR2x6Y0d4aGVUb2dZbXh2WTJzZ0lXbHRjRzl5ZEdGdWREc2dJanRsTG1WaFkyZ29ablZ1WTNScGIyNG9LWHQyWVhJZ1lqMWhLSFJvYVhNcE8yY3VjSFZ6YUNoaUxtRjBkSElvSW5OMGVXeGxJaWtwTzJJdVlYUjBjaWdpYzNSNWJHVWlMR29wZlNrN2RtRnlJR005WkM1dmRYUmxja2hsYVdkb2RDZ3BMR2c5YVM1dmRYUmxja2hsYVdkb2RDZ3BPMlV1WldGamFDaG1kVzVqZEdsdmJpaGtLWHQyWVhJZ1lqMWhLSFJvYVhNcExHTTlaMXRrWFR0cFppaGpQVDA5WmlsaUxuSmxiVzkyWlVGMGRISW9Jbk4wZVd4bElpazdaV3h6WlNCaUxtRjBkSElvSW5OMGVXeGxJaXhqS1gwcE8ybG1LR00rWWk1cWNTNW1hVzVrS0NJdVptOXZZbTk0TFdsdWJtVnlJaWt1YUdWcFoyaDBLQ2txTGpncFl6MWpMV2c3Y21WMGRYSnVJR045TzJJdWNtVm1jbVZ6YUVOaGNIUnBiMjQ5Wm5WdVkzUnBiMjRvS1h0MllYSWdZVDFpTG1weExtWnBibVFvSWk1bWIyOWliM2d0WTJGd2RHbHZianAyYVhOcFlteGxJaWtzWXoxaUxtcHhMbVpwYm1Rb0lpNW1iMjlpYjNndFkyRndkR2x2YmlBdVptOXZZbTk0TFhScGRHeGxJaWs3WVM1c1pXNW5kR2crTUNZbVlTNW9aV2xuYUhRb1lpNW5aWFJEWVhCMGFXOXVTR1ZwWjJoMEtDa3BmVHRpTG1ocFpHVkRZWEIwYVc5dVBXWjFibU4wYVc5dUtDbDdkbUZ5SUdNOVlpNXFjUzVtYVc1a0tDSXVabTl2WW05NExXTmhjSFJwYjI0aUtUdHBaaWhrTG05d2RHbHZibk11WTJGd2RHbHZibk11WVc1cGJXRjBhVzl1UFQwaWMyeHBaR1VpS1dNdVlXNXBiV0YwWlNoN2FHVnBaMmgwT2pCOUxHWjFibU4wYVc5dUtDbDdZU2gwYUdsektTNW9hV1JsS0NrdVlXUmtRMnhoYzNNb0ltWnZiMkp2ZUMxallYQjBhVzl1TFdocFpHUmxiaUlwZlNrN1pXeHpaU0JwWmloa0xtOXdkR2x2Ym5NdVkyRndkR2x2Ym5NdVlXNXBiV0YwYVc5dVBUMGlabUZrWlNJcFl5NW1ZV1JsVDNWMEtHWjFibU4wYVc5dUtDbDdZU2gwYUdsektTNW9hV1JsS0NrdVlXUmtRMnhoYzNNb0ltWnZiMkp2ZUMxallYQjBhVzl1TFdocFpHUmxiaUlwZlNrN1pXeHpaU0JrTG05d2RHbHZibk11WTJGd2RHbHZibk11WVc1cGJXRjBhVzl1UFQwaWMyaHZkeUltSm1NdWFHbGtaU2dwTG1Ga1pFTnNZWE56S0NKbWIyOWliM2d0WTJGd2RHbHZiaTFvYVdSa1pXNGlLWDA3WWk1amJHOXpaVDFtZFc1amRHbHZiaWdwZTJJdWFuRXVjbVZ0YjNabFEyeGhjM01vSW1admIySnZlQzF6YUc5M0lpa3VaR1YwWVdOb0tDazdZaTVpZFhONVBXWmhiSE5sTzJRdWIzQjBhVzl1Y3k1b2FXUmxVMk55YjJ4c1ltRnljejA5ZEhKMVpTWW1ZU2dpYUhSdGJDd2dZbTlrZVNJcExtTnpjeWdpYjNabGNtWnNiM2NpTENKaGRYUnZJaWs3WkM1eVlXbHpaU2dpWm05dlltOTRYMjF2WkdGc1gyTnNiM05sSWlrN1pDNXZjSFJwYjI1ekxtUmxaWEJzYVc1cmFXNW5MbVZ1WVdKc1pXUTlQWFJ5ZFdVbUptSXVZMnhsWVhKSVlYTm9LQ2w5TzJJdWNISmxkajFtZFc1amRHbHZiaWdwZTJJdWMyaHZkeWhrTG1sdVpHVjRaWE11Y0hKbGRpazdaQzV5WVdselpTZ2labTl2WW05NFgyMXZaR0ZzWDNCeVpYWWlLWDA3WWk1dVpYaDBQV1oxYm1OMGFXOXVLQ2w3WWk1emFHOTNLR1F1YVc1a1pYaGxjeTV1WlhoMEtUdGtMbkpoYVhObEtDSm1iMjlpYjNoZmJXOWtZV3hmYm1WNGRDSXBmVHRpTG1sdFlXZGxRMnhwWTJ0bFpEMW1kVzVqZEdsdmJpZ3BlMlF1Y21GcGMyVW9JbVp2YjJKdmVGOXRiMlJoYkY5cGJXRm5aVU5zYVdOclpXUWlMSHQwYUhWdFlqcGtMbTF2WkdGc0xtZGxkRU4xY25KbGJuUlVhSFZ0WWlncGZTazdhV1lvWkM1dmNIUnBiMjV6TG1OaGNIUnBiMjV6TG1WdVlXSnNaV1E5UFhSeWRXVXBhV1lvWWk1cWNTNW1hVzVrS0NJdVptOXZZbTk0TFdOaGNIUnBiMjQ2ZG1semFXSnNaU0lwTG14bGJtZDBhRDR3S1dJdWFHbGtaVU5oY0hScGIyNG9LVHRsYkhObElHSXVjMmh2ZDBOaGNIUnBiMjRvS1gwN1lpNXpaWFJJWVhOb1BXWjFibU4wYVc5dUtHRXBlM1poY2lCalBXUXViM0IwYVc5dWN5NWtaV1Z3YkdsdWEybHVaeTV3Y21WbWFYZ3NaVDFoTG5SaGNtZGxkQzV0WVhSamFDZ3ZMaXBjTHlndUtpa2tMeWs3YVdZb1pTbDdkbUZ5SUdJOVpWc3hYU3htUFdNcklpMGlLMlF1YVdRcklpOGlLMkV1YVc1a1pYZ3JJaThpSzJJN2FXWW9iRzlqWVhScGIyNHVhR0Z6YUM1eVpYQnNZV05sS0NJaklpd2lJaWtoUFdZcGJHOWpZWFJwYjI0dWFHRnphRDFqS3lJdElpdGtMbWxrS3lJdklpdGhMbWx1WkdWNEt5SXZJaXRpZlgwN1lpNWpiR1ZoY2toaGMyZzlablZ1WTNScGIyNG9LWHRwWmloc2IyTmhkR2x2Ymk1b1lYTm9MbWx1WkdWNFQyWW9JaU1pSzJRdWIzQjBhVzl1Y3k1a1pXVndiR2x1YTJsdVp5NXdjbVZtYVhncElUMDlMVEVwYkc5allYUnBiMjR1YUdGemFEMGlJeThpZlR0aUxtZGxkRWhoYzJnOVpuVnVZM1JwYjI0b0tYdHBaaWhzYjJOaGRHbHZiaTVvWVhOb0xtbHVaR1Y0VDJZb0lpTWlLMlF1YjNCMGFXOXVjeTVrWldWd2JHbHVhMmx1Wnk1d2NtVm1hWGdwSVQwOUxURXBlM1poY2lCaFBXeHZZMkYwYVc5dUxtaGhjMmc3YVdZb1lTNXpkV0p6ZEhJb0xURXBQVDBpTHlJcFlUMWhMbk4xWW5OMGNpZ3dMR0V1YkdWdVozUm9MVEVwTzNaaGNpQmpQV0V1YldGMFkyZ29MMXd2S0Z0ZVhDOWRLeWxjTDF0ZVhDOWRLeVF2S1ZzeFhTeGlQV0V1YzNWaWMzUnlhVzVuS0RBc1lTNXBibVJsZUU5bUtDSXZJaWtwTzJJOVlpNXlaWEJzWVdObEtDSWpJaXRrTG05d2RHbHZibk11WkdWbGNHeHBibXRwYm1jdWNISmxabWw0S3lJdElpd2lJaWs3Y21WMGRYSnVlMmx0WVdkbFNXNWtaWGc2WXl4bWIyOWliM2hKWkRwaWZYMXlaWFIxY200Z1ptRnNjMlY5TzJRdVpHVmlkV2NvSW1admIySnZlQzV0YjJSaGJEcGxibVFpS1R0a0xtMXZaR0ZzUFdJN1pDNXlZV2x6WlNnaVptOXZZbTk0WDIxdlpHRnNYMk55WldGMFpXUWlLWDA3WkM1cGJtbDBLQ2s3WkM1a1pXSjFaeWdpWm05dlltOTRPbVZ1WkNJcE8zSmxkSFZ5YmlCa2ZYMHBLR3BSZFdWeWVTeDNhVzVrYjNjcE95aG1kVzVqZEdsdmJpaGhLWHRoTG1adUxtWnZiMkp2ZUhOM2FYQmxQV1oxYm1OMGFXOXVLR01wZTNaaGNpQmlQWHR0YVc1ZmJXOTJaVG8yTUN4emQybHdaVXhsWm5RNlpuVnVZM1JwYjI0b0tYdDlMSE4zYVhCbFVtbG5hSFE2Wm5WdVkzUnBiMjRvS1h0OWZUdGpKaVpoTG1WNGRHVnVaQ2hpTEdNcE8zUm9hWE11WldGamFDaG1kVzVqZEdsdmJpZ3BlM1poY2lCakxHRTlabUZzYzJVN1puVnVZM1JwYjI0Z1ppZ3BlM1JvYVhNdWNtVnRiM1psUlhabGJuUk1hWE4wWlc1bGNpZ2lkRzkxWTJodGIzWmxJaXhrS1R0alBXNTFiR3c3WVQxbVlXeHpaWDFtZFc1amRHbHZiaUJrS0dVcGUyVXVjSEpsZG1WdWRFUmxabUYxYkhRb0tUdHBaaWhoS1h0MllYSWdaejFsTG5SdmRXTm9aWE5iTUYwdWNHRm5aVmdzWkQxakxXYzdhV1lvVFdGMGFDNWhZbk1vWkNrK1BXSXViV2x1WDIxdmRtVXBlMllvS1R0cFppaGtQakFwWWk1emQybHdaVXhsWm5Rb0tUdGxiSE5sSUdJdWMzZHBjR1ZTYVdkb2RDZ3BmWDE5Wm5WdVkzUnBiMjRnWlNoaUtYdHBaaWhpTG5SdmRXTm9aWE11YkdWdVozUm9QVDB4S1h0alBXSXVkRzkxWTJobGMxc3dYUzV3WVdkbFdEdGhQWFJ5ZFdVN2RHaHBjeTVoWkdSRmRtVnVkRXhwYzNSbGJtVnlLQ0owYjNWamFHMXZkbVVpTEdRc1ptRnNjMlVwZlgxMGFHbHpMbUZrWkVWMlpXNTBUR2x6ZEdWdVpYSW9JblJ2ZFdOb2MzUmhjblFpTEdVc1ptRnNjMlVwZlNrN2NtVjBkWEp1SUhSb2FYTjlmU2tvYWxGMVpYSjVLVHNvWm5WdVkzUnBiMjRvWVN4aUxHUXBlMmxtS0dJdVptOXZZbTk0UFQxa2ZIeGlMbVp2YjJKdmVEMDliblZzYkNsMGFISnZkeUJ1WlhjZ1JYSnliM0lvSWxCc1pXRnpaU0JqYUdWamF5QmhibVFnYldGclpTQnpkWEpsSUdadmIySnZlQzVxY3lCcGN5QnBibU5zZFdSbFpDQnBiaUIwYUdVZ2NHRm5aU0JoYm1RZ2FYTWdiRzloWkdWa0lIQnlhVzl5SUhSdklIUm9hWE1nYzJOeWFYQjBMaUlwTzNaaGNpQmxQWHR6Ykdsa1pYTm9iM2M2ZTJWdVlXSnNaV1E2ZEhKMVpTeGhkWFJ2YzNSaGNuUTZabUZzYzJVc2RHbHRaVzkxZERvMlpUTjlmVHRtZFc1amRHbHZiaUJqS0NsN2RtRnlJR0k5ZEdocGN6dGlMbTVoYldVOUlrWnZiMkp2ZUNCVGJHbGtaWE5vYjNjaU8ySXVjblZ1Ym1sdVp6MW1ZV3h6WlR0aUxuTjBiM0J3WldROU1EdGlMbkpsYldGcGJtbHVaejB3TzJJdVlYVjBiM04wWVhKMFBXWmhiSE5sTzJJdWFXNXBkRDFtZFc1amRHbHZiaWhqS1h0aUxtRjFkRzl6ZEdGeWREMWpMbTl3ZEdsdmJuTXVjMnhwWkdWemFHOTNMbUYxZEc5emRHRnlkRHRoS0dNdVkyOXVkR0ZwYm1WeUtTNWlhVzVrS0h0bWIyOWliM2hmYlc5a1lXeGZZM0psWVhSbFpEcG1kVzVqZEdsdmJpaGtLWHRwWmloa0xtWmlMbTl3ZEdsdmJuTXVjMnhwWkdWemFHOTNMbVZ1WVdKc1pXUTlQWFJ5ZFdVcGUzWmhjaUJsUFdRdVptSXViVzlrWVd3dWFuRXVabWx1WkNnaUxtWnZiMkp2ZUMxcGJtNWxjaUlwTG1Ga1pFTnNZWE56S0NKbWIyOWliM2d0YzJ4cFpHVnphRzkzSWlrN1pTNWhjSEJsYm1Rb0p6eGthWFlnWTJ4aGMzTTlJbVp2YjJKdmVDMXdjbTluY21WemN5SStQQzlrYVhZK0p5azdhV1lvWkM1bVlpNXZjSFJwYjI1ekxuTm9iM2RDZFhSMGIyNXpQVDEwY25WbEppWmpMbWhoYzAxMWJIUnBjR3hsU1cxaFoyVnpLWHRsTG1Gd2NHVnVaQ2duUEdFZ2FISmxaajBpSTNCc1lYbHdZWFZ6WlNJZ1kyeGhjM005SW1admIySnZlQzF3YkdGNUlqNDhMMkUrSnlrN1pDNW1ZaTV0YjJSaGJDNXFjUzVoY0hCbGJtUW9KenhoSUdoeVpXWTlJaU53YkdGNWNHRjFjMlVpSUdOc1lYTnpQU0ptYjI5aWIzZ3RjR3hoZVNJK1BDOWhQaWNwZldRdVptSXViVzlrWVd3dWFuRXVkVzVrWld4bFoyRjBaU2dpTG1admIySnZlQzF6Ykdsa1pYTm9iM2NpS1M1a1pXeGxaMkYwWlNnaUxtWnZiMkp2ZUMxd2JHRjVJaXdpWTJ4cFkyc3VabTl2WW05NExYTnNhV1JsYzJodmR5SXNablZ1WTNScGIyNG9ZeWw3WXk1d2NtVjJaVzUwUkdWbVlYVnNkQ2dwTzJsbUtHUXVabUl1Ylc5a1lXd3VZblZ6ZVQwOVptRnNjMlVwZTJFb0lpNW1iMjlpYjNndGNHeGhlU0lwTG5SdloyZHNaVU5zWVhOektDSm1iMjlpYjNndGNHeGhlU0JtYjI5aWIzZ3RjR0YxYzJVaUtUdGlMbk4wWVhKMEtHUXVabUlwZlhKbGRIVnliaUJtWVd4elpYMHBMbVJsYkdWbllYUmxLQ0l1Wm05dlltOTRMWEJoZFhObElpd2lZMnhwWTJzdVptOXZZbTk0TFhOc2FXUmxjMmh2ZHlJc1puVnVZM1JwYjI0b1l5bDdZeTV3Y21WMlpXNTBSR1ZtWVhWc2RDZ3BPMmxtS0dRdVptSXViVzlrWVd3dVluVnplVDA5Wm1Gc2MyVXBlMkVvSWk1bWIyOWliM2d0Y0dGMWMyVWlLUzUwYjJkbmJHVkRiR0Z6Y3lnaVptOXZZbTk0TFhCc1lYa2dabTl2WW05NExYQmhkWE5sSWlrN1lpNXdZWFZ6WlNoa0xtWmlLWDF5WlhSMWNtNGdabUZzYzJWOUtYMTlMR1p2YjJKdmVGOXRiMlJoYkY5amJHOXpaVHBtZFc1amRHbHZiaWhoS1h0aUxuTjBiM0FvWVM1bVlpeG1ZV3h6WlNsOUxDSm1iMjlpYjNoZmJXOWtZV3hmYm1WNGRDQm1iMjlpYjNoZmJXOWtZV3hmY0hKbGRpSTZablZ1WTNScGIyNG9ZU2w3WWk1emRHOXdLR0V1Wm1Jc1lpNWhkWFJ2YzNSaGNuUTlQWFJ5ZFdWOGZHSXVjblZ1Ym1sdVp6MDlkSEoxWlNsOUxHWnZiMkp2ZUY5cGJXRm5aVjloWm5SbGNsOXNiMkZrT21aMWJtTjBhVzl1S0dFcGUySXVZWFYwYjNOMFlYSjBQVDEwY25WbEppWmlMbk4wWVhKMEtHRXVabUlwZlN4bWIyOWliM2hmYTJWNVpHOTNianBtZFc1amRHbHZiaWhoS1h0cFppaGhMbXRsZVQwOU16SXBlMkV1Y0hKbGRtVnVkRVJsWm1GMWJIUW9LVHRwWmloaUxuSjFibTVwYm1jOVBYUnlkV1VwWWk1d1lYVnpaU2hoTG1aaUtUdGxiSE5sSUdJdWMzUmhjblFvWVM1bVlpazdjbVYwZFhKdUlHWmhiSE5sZlgxOUtYMDdZaTV6ZEdGeWREMW1kVzVqZEdsdmJpaGhLWHRwWmloaUxuSmxiV0ZwYm1sdVp6MDlNQ2xpTG5KbGJXRnBibWx1WnoxaExtOXdkR2x2Ym5NdWMyeHBaR1Z6YUc5M0xuUnBiV1Z2ZFhRN1lpNWhkWFJ2YzNSaGNuUTlabUZzYzJVN1lpNXlkVzV1YVc1blBYUnlkV1U3WVM1dGIyUmhiQzVxY1M1bWFXNWtLQ0l1Wm05dlltOTRMV05oY0hScGIyNDZhR2xrWkdWdUlpa3VjMmh2ZHlncE8yRXViVzlrWVd3dWFuRXVabWx1WkNnaUxtWnZiMkp2ZUMxd2NtOW5jbVZ6Y3lJcExtTnpjeWdpZDJsa2RHZ2lMR0l1YzNSdmNIQmxaQ3NpSlNJcExuTm9iM2NvS1M1aGJtbHRZWFJsS0h0M2FXUjBhRG9pTVRBd0pTSjlMR0l1Y21WdFlXbHVhVzVuTENKc2FXNWxZWElpTEdaMWJtTjBhVzl1S0NsN1lpNXpkRzl3Y0dWa1BUQTdZaTV5WlcxaGFXNXBibWM5WVM1dmNIUnBiMjV6TG5Oc2FXUmxjMmh2ZHk1MGFXMWxiM1YwTzJJdVlYVjBiM04wWVhKMFBYUnlkV1U3WVM1dGIyUmhiQzV1WlhoMEtDbDlLVHRoTG5KaGFYTmxLQ0ptYjI5aWIzaGZjMnhwWkdWemFHOTNYM04wWVhKMElpbDlPMkl1YzNSdmNEMW1kVzVqZEdsdmJpaGhMR01wZTJJdWMzUnZjSEJsWkQwd08yRXViVzlrWVd3dWFuRXVabWx1WkNnaUxtWnZiMkp2ZUMxd2NtOW5jbVZ6Y3lJcExuTjBiM0FvS1M1b2FXUmxLQ2t1WTNOektDSjNhV1IwYUNJc1lpNXpkRzl3Y0dWa0t5SWxJaWs3WWk1eWRXNXVhVzVuUFdaaGJITmxPMkl1WVhWMGIzTjBZWEowUFdNN1lpNXlaVzFoYVc1cGJtYzlZUzV2Y0hScGIyNXpMbk5zYVdSbGMyaHZkeTUwYVcxbGIzVjBPMkV1Y21GcGMyVW9JbVp2YjJKdmVGOXpiR2xrWlhOb2IzZGZjM1J2Y0NJcGZUdGlMbkJoZFhObFBXWjFibU4wYVc5dUtHRXBlM1poY2lCa1BXRXViVzlrWVd3dWFuRXVabWx1WkNnaUxtWnZiMkp2ZUMxd2NtOW5jbVZ6Y3lJcExuTjBiM0FvS1M1amMzTW9JbmRwWkhSb0lpa3NZejFoTG0xdlpHRnNMbXB4TG1acGJtUW9JaTVtYjI5aWIzZ3RhVzV1WlhJaUtTNWpjM01vSW5kcFpIUm9JaWs3WWk1eWRXNXVhVzVuUFdaaGJITmxPMkl1YzNSdmNIQmxaRDF3WVhKelpVbHVkQ2hrS1M5d1lYSnpaVWx1ZENoaktTb3hNREE3WWk1eVpXMWhhVzVwYm1jOVlTNXZjSFJwYjI1ekxuTnNhV1JsYzJodmR5NTBhVzFsYjNWMExXRXViM0IwYVc5dWN5NXpiR2xrWlhOb2IzY3VkR2x0Wlc5MWRDb29ZaTV6ZEc5d2NHVmtMekV3TUNrN1lTNXlZV2x6WlNnaVptOXZZbTk0WDNOc2FXUmxjMmh2ZDE5d1lYVnpaU0lwZlR0eVpYUjFjbTRnWW4xaUxtWnZiMkp2ZUM1d2JIVm5hVzV6TG5KbFoybHpkR1Z5S0c1bGR5QmpMR1VwZlNrb2FsRjFaWEo1TEhkcGJtUnZkeWs3S0daMWJtTjBhVzl1S0dFc1lpeGpLWHRwWmloaUxtWnZiMkp2ZUQwOVkzeDhZaTVtYjI5aWIzZzlQVzUxYkd3cGRHaHliM2NnYm1WM0lFVnljbTl5S0NKUWJHVmhjMlVnWTJobFkyc2dZVzVrSUcxaGEyVWdjM1Z5WlNCbWIyOWliM2d1YW5NZ2FYTWdhVzVqYkhWa1pXUWdhVzRnZEdobElIQmhaMlVnWVc1a0lHbHpJR3h2WVdSbFpDQndjbWx2Y2lCMGJ5QjBhR2x6SUhOamNtbHdkQzRpS1R0MllYSWdaRDE3YzI5amFXRnNPbnRsYm1GaWJHVmtPbVpoYkhObExIQnZjMmwwYVc5dU9pSjBiM0FpTEd4cGJtdHpPbHRkZlgwN1puVnVZM1JwYjI0Z1pTZ3BlM1poY2lCaVBYUm9hWE03WWk1dVlXMWxQU0pHYjI5aWIzZ2dVMjlqYVdGc0lqdGlMbWx1YVhROVpuVnVZM1JwYjI0b1lpbDdZU2hpTG1OdmJuUmhhVzVsY2lrdVltbHVaQ2g3Wm05dlltOTRYMjF2WkdGc1gyTnlaV0YwWldRNlpuVnVZM1JwYjI0b1lpbDdhV1lvWWk1bVlpNXZjSFJwYjI1ekxuTnZZMmxoYkM1bGJtRmliR1ZrUFQxMGNuVmxLWHQyWVhJZ1pqMWlMbVppTG0xdlpHRnNMbXB4TG1acGJtUW9JaTVtYjI5aWIzZ3RhVzV1WlhJaUtTeGpQV1l1Wm1sdVpDZ2lMbVp2YjJKdmVDMXpiMk5wWVd3aUtUdHBaaWhqTG14bGJtZDBhRDA5TUNsN1l6MWhLQ2M4WkdsMklHTnNZWE56UFNKbWIyOWliM2d0YzI5amFXRnNJajQ4TDJScGRqNG5LUzVvYVdSbEtDa3VZV1JrUTJ4aGMzTW9JbVp2YjJKdmVDMGlLMkl1Wm1JdWIzQjBhVzl1Y3k1emIyTnBZV3d1Y0c5emFYUnBiMjRwTzJadmNpaDJZWElnWlQwd08yVThZaTVtWWk1dmNIUnBiMjV6TG5OdlkybGhiQzVzYVc1cmN5NXNaVzVuZEdnN1pTc3JLWHQyWVhJZ1pEMWlMbVppTG05d2RHbHZibk11YzI5amFXRnNMbXhwYm10elcyVmRPMk11WVhCd1pXNWtLQ2M4WVNCb2NtVm1QU0luSzJRdWRYSnNLeWNpSUhKbGJEMGlibTltYjJ4c2IzY2lJSFJoY21kbGREMGlYMkpzWVc1cklpQmpiR0Z6Y3owaVptOXZZbTk0TFNjclpDNWpjM01ySnlJZ2RHbDBiR1U5SWljclpDNTBhWFJzWlNzbklqNDhMMkUrSnlsOVppNWhjSEJsYm1Rb1l5bDlmWDBzSW1admIySnZlRjlwYldGblpWOWlaV1p2Y21WZmJHOWhaQ0JtYjI5aWIzaGZiVzlrWVd4ZmJtVjRkQ0JtYjI5aWIzaGZiVzlrWVd4ZmNISmxkaUJtYjI5aWIzaGZhVzFoWjJWZmIyNWxjbkp2Y2lJNlpuVnVZM1JwYjI0b1lTbDdZUzVtWWk1dGIyUmhiQzVxY1M1bWFXNWtLQ0l1Wm05dlltOTRMWE52WTJsaGJDSXBMbWhwWkdVb0tYMHNabTl2WW05NFgybHRZV2RsWDJGbWRHVnlYMnh2WVdRNlpuVnVZM1JwYjI0b1l5bDdhV1lvWXk1MGFIVnRZaTVsY25KdmNqMDlabUZzYzJVbUppRmhLR011ZEdoMWJXSXVhbkVwTG1oaGMwTnNZWE56S0NKdWJ5MXpiMk5wWVd3aUtTbDdabTl5S0haaGNpQnBQV0VvSWk1bWIyOWliM2d0YzI5amFXRnNJaWtzWmowd08yWThZeTVtWWk1dmNIUnBiMjV6TG5OdlkybGhiQzVzYVc1cmN5NXNaVzVuZEdnN1ppc3JLWHQyWVhJZ2FEMWpMbVppTG05d2RHbHZibk11YzI5amFXRnNMbXhwYm10elcyWmRMR2M5YVM1bWFXNWtLQ0l1Wm05dlltOTRMU0lyYUM1amMzTXBPMmxtS0djdWJHVnVaM1JvS1h0MllYSWdZajFvTG5WeWJEdHBaaWhpTG1sdVpHVjRUMllvSW50MWNtd3RibVY5SWlraFBTMHhLV0k5WWk1eVpYQnNZV05sS0M5N2RYSnNMVzVsZlM4c2JHOWpZWFJwYjI0dWFISmxaaWs3YVdZb1lpNXBibVJsZUU5bUtDSjdkWEpzZlNJcElUMHRNU2xpUFdJdWNtVndiR0ZqWlNndmUzVnliSDB2TEdWdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENoc2IyTmhkR2x2Ymk1b2NtVm1LU2s3YVdZb1lpNXBibVJsZUU5bUtDSjdkR2wwYkdWOUlpa2hQUzB4S1h0MllYSWdaRDFrYjJOMWJXVnVkQzUwYVhSc1pTc29ZeTUwYUhWdFlpNTBhWFJzWlQ4aUlDMGdJaXRqTG5Sb2RXMWlMblJwZEd4bE9pSWlLVHRrUFdRdWNtVndiR0ZqWlNndktEd29XMTQrWFNzcFBpa3ZhV2NzSWlJcE8ySTlZaTV5WlhCc1lXTmxLQzk3ZEdsMGJHVjlMeXhsYm1OdlpHVlZVa2xEYjIxd2IyNWxiblFvWkNrcGZXbG1LR0l1YVc1a1pYaFBaaWdpZTJsdFozMGlLU0U5TFRFcGUzWmhjaUJxUFdNdWRHaDFiV0l1YVcxbkxuTnlZenRpUFdJdWNtVndiR0ZqWlNndmUybHRaMzB2TEdWdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENocUtTbDlhV1lvWWk1cGJtUmxlRTltS0NKN1pHVnpZMzBpS1NFOUxURXBlM1poY2lCbFBXTXVkR2gxYldJdVpHVnpZM3g4SWlJN1pUMWxMbkpsY0d4aFkyVW9MeWc4S0Z0ZVBsMHJLVDRwTDJsbkxDSWlLVHRpUFdJdWNtVndiR0ZqWlNndmUyUmxjMk45THl4bGJtTnZaR1ZWVWtsRGIyMXdiMjVsYm5Rb1pTa3BmV2N1WVhSMGNpZ2lhSEpsWmlJc1lpbDlmV011Wm1JdWJXOWtZV3d1YW5FdVptbHVaQ2dpTG1admIySnZlQzF6YjJOcFlXd2lLUzVtWVdSbFNXNG9LWDE5TEdadmIySnZlRjl0YjJSaGJGOXBiV0ZuWlVOc2FXTnJaV1E2Wm5WdVkzUnBiMjRvWXlsN2FXWW9ZeTUwYUhWdFlpNWxjbkp2Y2owOVptRnNjMlVtSmlGaEtHTXVkR2gxYldJdWFuRXBMbWhoYzBOc1lYTnpLQ0p1YnkxemIyTnBZV3dpS1NscFppaGpMbVppTG05d2RHbHZibk11YzI5amFXRnNMbVZ1WVdKc1pXUTlQWFJ5ZFdVcGUzWmhjaUJpUFdFb0lpNW1iMjlpYjNndGMyOWphV0ZzSWlrN2FXWW9ZaTVwY3lnaU9uWnBjMmxpYkdVaUtTbGlMbVpoWkdWUGRYUW9LVHRsYkhObElHSXVabUZrWlVsdUtDbDlmWDBwZlgxaUxtWnZiMkp2ZUM1d2JIVm5hVzV6TG5KbFoybHpkR1Z5S0c1bGR5QmxMR1FwZlNrb2FsRjFaWEo1TEhkcGJtUnZkeWs3S0daMWJtTjBhVzl1S0dFc1lpeGpLWHRwWmloaUxtWnZiMkp2ZUQwOVkzeDhZaTVtYjI5aWIzZzlQVzUxYkd3cGRHaHliM2NnYm1WM0lFVnljbTl5S0NKUWJHVmhjMlVnWTJobFkyc2dZVzVrSUcxaGEyVWdjM1Z5WlNCbWIyOWliM2d1YW5NZ2FYTWdhVzVqYkhWa1pXUWdhVzRnZEdobElIQmhaMlVnWVc1a0lHbHpJR3h2WVdSbFpDQndjbWx2Y2lCMGJ5QjBhR2x6SUhOamNtbHdkQzRpS1R0MllYSWdaVDE3ZDI5eVpIQnlaWE56T250bGJtRmliR1ZrT21aaGJITmxMR2RoYkd4bGNtbGxjenBtWVd4elpTeGpZWEIwYVc5dWN6cG1ZV3h6WlgxOU8yWjFibU4wYVc5dUlHUW9LWHQyWVhJZ1lqMTBhR2x6TzJJdWJtRnRaVDBpUm05dlltOTRJRmR2Y21Sd2NtVnpjeUk3WWk1cGJtbDBQV1oxYm1OMGFXOXVLR0lwZTJFb1lpNWpiMjUwWVdsdVpYSXBMbUpwYm1Rb2UyWnZiMkp2ZUY5cGJXRm5aVjlqZFhOMGIyMWZZMkZ3ZEdsdmJqcG1kVzVqZEdsdmJpaGlLWHRwWmloaUxtWmlMbTl3ZEdsdmJuTXVkMjl5WkhCeVpYTnpMbVZ1WVdKc1pXUTlQWFJ5ZFdVcGFXWW9ZaTVtWWk1dmNIUnBiMjV6TG5kdmNtUndjbVZ6Y3k1bllXeHNaWEpwWlhNOVBYUnlkV1VtSm1Fb1lpNW1ZaTVqYjI1MFlXbHVaWElwTG1oaGMwTnNZWE56S0NKbllXeHNaWEo1SWlrcGUySXVkR2wwYkdVOVlpNTBhSFZ0WWk1aGRIUnlLQ0owYVhSc1pTSXBPMkl1WkdWell6MWlMblJvZFcxaUxuQmhjbVZ1ZEhNb0lpNW5ZV3hzWlhKNUxXbDBaVzA2Wm1seWMzUWlLUzVtYVc1a0tDSXVkM0F0WTJGd2RHbHZiaTEwWlhoME9tWnBjbk4wSWlrdWFIUnRiQ2dwZkh3aUlqdGlMbWhoYm1Sc1pXUTlkSEoxWlgxbGJITmxJR2xtS0dJdVptSXViM0IwYVc5dWN5NTNiM0prY0hKbGMzTXVZMkZ3ZEdsdmJuTTlQWFJ5ZFdVbUptRW9ZaTVtWWk1amIyNTBZV2x1WlhJcExtaGhjME5zWVhOektDSjNjQzFqWVhCMGFXOXVJaWtwZTJJdWRHbDBiR1U5WWk1MGFIVnRZaTVtYVc1a0tDSnBiV2NpS1M1aGRIUnlLQ0owYVhSc1pTSXBPMkl1WkdWell6MWhLR0l1Wm1JdVkyOXVkR0ZwYm1WeUtTNW1hVzVrS0NJdWQzQXRZMkZ3ZEdsdmJpMTBaWGgwT21acGNuTjBJaWt1YUhSdGJDZ3BmSHdpSWp0aUxtaGhibVJzWldROWRISjFaWDE5ZlNsOWZXSXVabTl2WW05NExuQnNkV2RwYm5NdWNtVm5hWE4wWlhJb2JtVjNJR1FzWlNsOUtTaHFVWFZsY25rc2QybHVaRzkzS1E9PV1dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L2ljb24tZGVmYXVsdC5wbmc8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW2lWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCd0FBQUFjQ0FZQUFBQnlEZCtVQUFBQzdtbERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0ZWTTlyRTBFVS9qWnVxZEFpQ0ZwckRySjRrQ0pKV2F0b1JkUTIvUkZpYXd6Ykg3WkZrR1F6U2RadU51dnVKcldsaU9UaTBTcmVSZTJoQi8rQUhucndaQzlLaFZwRktONnJLR0toRnkzeHpXNU10cVhxd001Kzg5NDM3MzF2ZHQ4QURYTFNOUFdBQk9RTngxS2lFV2xzZkVKcS9JZ0FqcUlKUVRRbFZkdnNUaVFHUVlOeitYdm4ySG9QZ1Z0V3czdjdkN0ozclpyU3Rwb0hoUDFBNEVlYTJTcXc3eGR4Q2xrU0FvZzgzNkVweDNRSTMrUFk4dXlQT1U1NWVNRzFEeXM5eEZraWZFQTFMYzUvVGJoVHpTWFRRSU5JT0pUMWNWSStuTmVMbE5jZEIybHVac2JJRUwxUGtLYTd6TzZyWXFHY1R2WU9rTDJkOUg1T3M5NCt3aUhDQ3htdFAwYTRqWjcxak5VLzRtSGhwT2JFaGowY0dEWDArR0FWdHhxcCtEWENGRjhRVFNlaVZISFpMZzN4bUs3OVZ2SktnbkNRT01wa1lZQnpXa2hQMTB4dStMcUhCWDBtMXhPdjRuZFdVZUY1anhObjN0VGQ3MFhhQXE4d0RoME1HZ3lhRFVoUUVFVUVZWml3VUVDR1BCb3hOTEp5UHlPckJodVRlekoxSkdxN2RHSkVzVUY3TnR3OXQxR2szVHorS0NKeGxFTzFDSkw4UWY0cXI4bFA1WG41eTF5dzJGYjNsSzJibXJyeTREdkY1Wm01R2g3WDA4ampjMDFlZkpYVWRwTlhSNWFzZVhxOG11d2FQK3hYbHpIbWdqV1B4SE93Ky9FdFg1WE1seW1NRk1YalZmUHFTNFIxV2pFMzM1OXNmenM5NGk3UExyWFdjNjJKaXpkV201ZG4vV3BJKys2cXZKUG1WZmxQWHZYeC9HZk54R1BpS1RFbWRvcm5JWW1YeFM3eGt0aExxd3ZpWUczSENKMlZoaW5TYlpINkpOVmdZSnE4OVM5ZFAxdDR2VVovRFBWUmxCbk0wbFNKOTMvQ0ttUTBuYmtPYi9xUDI4ZjhGK1QzaXVlZktBSXZiT0RJbWJwdFUzSHZFS0ZscFc1enJnSVh2OUY5OExadWE2TitPUHdFV0R5ckZxMVNOWjhndkFFY2RvZDZIdWdwbU5PV2xzMDVVb2NzbjVPNjZjcGlVc3hRMjBOU1V0Y2wxMlZMRnJPWlZXTHBkdGlaMHgxdUhLRTVRdmZFcDBwbGsvcXY4Ukd3L2JCUytmbXNVdGwrVGhyV2daZjZiOEM4L1VYQWVJdUpBQUFDTzBsRVFWUklEYjFXUVVzQ1FSUjJjd21DQlZ0UGdhZTZGRUg5QVBFaXVmNkM4Qmg2aW83ZGdxQkRFSFRyR0oyVWp0SXZjQTB2NGcvb0VIV3BrOUJKRXhhQ1VPeDd3ODR5YXpQT2FPYkNNRy9ldlBkOU0yKy9tVjFyUEI0bmRFODJtMTF6SE1kRExMVmR5N0pTbEFON0FQc1p6UStDd085ME9sODZMR3NhWVQ2ZjM3QnQrd0lnWmJRMURSaVIxWWJENFdXcjFmcFF4U29KUGM4N1I5SVptcU5LVnZnRCtLOTkzNytTemY4aURNdDNqNTBmeWhKTWZTanpBOHA4TkZubUdHR3BWRnJ0OS91UEFNMlpBbXZpMnE3ckh0VHI5VzhldDhJTjZudTkzaDI2UlpFUlpDN0VKSnM5RVdHeFdDeWpET1hRciswZ0RwZWFMcEF3Q1p2SHNaSkNqUTdVK0FKbmhrOU02NGtJU3Z6a01SQ1k3bXgxa2JPRG5JRHRFR1FucG1TY1JPeWhTRXNjUyt4TXlKSGdKU1ZDNHdmSi9jbGdBMUxHWVJVS2hUMGtQMDBDbUl4bEpKcnk3dE1PNTFhbERGeTJDR0h4T1JzSGZCdEtpbndZMTBhajBha29pbWpTMENCUzJXS0lpM2JJTG1LTzlWY3lqcU00TWlrdUdoNzM3ejBSRGtTV1pESjVnM081THZybXNXVktKaTRiNys5VkJLU2JBY0ZsdkFQUnJiUmxJcEc5UHdJZ0x0cGhXNG1tbVppRkxJUnFzNnNOSzNxRFkxT0RINXVlZyt3ZE9WdGNOTGN4Tk0xQXBrQlZHUVVveHNFSUFVQ0RyakE1azJsQVJwYzNJNHcrd1BRSndjR3Ntakx4WFNyVUdJT0JXQ3FOUnFOR3pvaVFCcmhYcTZSU3NoZjEwTTNWYkRZckhJKy9RelpPcDlQSE1PWldMUWNWK25hSUdibGlPeVR2VW4raW9tWEFnQkNXODVzb2tpNzFSMWdrWHVTdi9nK0hVeU1YWXRSdjRnQUFBQUJKUlU1RXJrSmdnZz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vaWNvbi1pbnZlcnQucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQndBQUFBY0NBWUFBQUJ5RGQrVUFBQUFCR2RCVFVFQUFOanI5UndVcWdBQUFDQmpTRkpOQUFDSER3QUFqQTBBQVBtVEFBQ0U1UUFBZTRJQUFPdDFBQUEvdEFBQUlsaDFhMTZjQUFBQzBXbERRMUJKUTBNZ1VISnZabWxzWlFBQU9NdU5sTTlMRkdFWXg3K3pqUmdvUVdCbWU0aWhRMGlvVEJabFJPV3V2OWkwYlZsL2xCTEU3T3k3dTVPenM5UE03Sm9pRVY0Nlp0RTlLZzhlK2dNOGVPaVVsOExBTEFMcGJsRkVncGVTN1hsbnh0MFI3Y2NMTS9ONW54L2Y1M25mNFgyQkdsa3hUVDBrQVhuRHNaSjlVZW42NkpoVSt4RWhIRUVkd3FoVFZOdU1KQklEb01GanNXdHN2b2ZBdnl1dGUvdi9PdXJTdHBvSGhQMUE2RWVhMlNxdzd4ZlpDMWxxQkJDNVhzT0VZenJFOXpoYm52MHg1NVRIODY1OUtObEZ2RWg4UURVdEh2K2F1RVBOS1dtZ1JpUnV5UVppVWdITzYwWFY3K2NnUGZYTUdCNms3M0hxNlM2emUzd1dadEpLZHo5eEcvSG5OT3Z1NFpyRTh4bXROMGJjVE05YXh1b2Q5bGc0b1RteElZOURJNFllSC9DNXlVakZyL3Fhb3VsRWs5djZkbW13Wjl0K1M3bWNJQTRUSjhjTC9UeW1rWEk3cDNKRDF6d1c5S2xjVjl6bmQxWXh5ZXNlbzVnNVUzZi9GL1VXZW9WUjZHRFFZTkRiZ0lRaytoQkZLMHhZS0NCREhvMGlOTEl5TjhZaXRqRytaNlNPUklBbDhxOVR6cnFiY3h0Rnl1WlpJNGpHTWROU1VaRGtEL0pYZVZWK0tzL0pYMmJEeGVhcVo4YTZxYW5MRDc2VExxKzhyZXQ3L1o0OGZaWHFSc2lySTB2V2ZHVk5kcURUUUhjWll6WmNWZUkxMlAzNFptQ1ZMRkNwRlNsWGFkeXRWSEo5TnIwamdXcC8yajJLWFpwZWJLcldXaFVYYnF6VUwwM3YyS3ZDcmxXeHlxcDJ6cXR4d1h3bUhoVlBpakd4UXp3SFNid2tkb29YeFc2YW5SY0hLaG5EcEtKaHdsV3lvVkNXZ1VueW1qdittUmNMNzZ5NW82R1BHY3pTVkltZi80UlZ5R2c2Q3h6UmY3ai9jL0I3eGFPeEl2RENCZzZmcnRvMmt1NGRJalF1VjIzT0ZlRENON29QM2xadHpYUWVEajBCRnM2b1JhdmtTd3ZDRzRwbWR4dys2U3FZazVhV3pUbFN1eXlmbFNKMEpURXBacWh0TFpLaTY1THJzaVdMMmN3cXNYUWI3TXlwZGsrbG5uYWw1bE81dkVIbnIvWVJzUFd3WFA3NXJGemVlazQ5ckFFdjlkL0F2UDFGR05VWmlnQUFBQWx3U0ZsekFBQU93d0FBRHNNQngyK29aQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU5ENk56SFlBQUFFdVNVUkJWRWhMeFpaQkRvSXdFRVZabVpDd1lNa2x1SXBuY09zQldIRUpFaE8zSE1BenVITHJHVng1QXhPMytMK1pHcWdGcGtqR0pqOEJPbjllMnRKMmtrVFJ1cTVMb1MxMGdNN1FWY1JuZm1OZnFrZzFIWUlrQlhTRW50QmNZd3hqaTBWZ0dHdm9NVWNKOU5OVHE2RXlmYWNGSU4vQ0hOUFRqSUFOZEZrQjVsSXcxMlowdE9oc1Y0UzVWRzBRaU41ZEpDeEhQS1ZwdXdFVWpneTZhNXdTay9jVEtIek1uWDA4ZUtrVXBuN0lBTWhFQ24vVkI5NFVoa0ZJYUYxbWN0emVIZ1NWc1RBWHZ3QmFFcmhmQ3FRdkVyb25zUEdBM0JwZmE2UStPU1J3WkJBTmdRUk0vaEN4TUZtcTBKWnAvd0kwbjFMem44WjJXOGdDMjIxOEFab2ZiYmFIdDR6UzducHlHenR3Q1B4eTZqbHYrQUtXVWRxV0dBSmxEV3BUUkhtM3VFMlo2RUh0Q21FUHZGcXAvd0prYS9Ma2N0V1FGQUFBQUFCSlJVNUVya0pnZ2c9PV1dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L2ljb24tbWluaS1pbnZlcnQucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQndBQUFBY0NBWUFBQUJ5RGQrVUFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFBbHdTRmx6QUFBT3dBQUFEc0FCYXRhSkNRQUFBQmwwUlZoMFUyOW1kSGRoY21VQVVHRnBiblF1VGtWVUlIWXpMalV1TkQ2TnpIWUFBQUNXU1VSQlZFaExZMkFZQmFNaE1Cb0M1SWJBLy8vLzlZSDRQUkNmQjJKK2NzMGhTaCtTWlVBbUdORFdVcWpQWUpiUjNsS29qOUF0cEoxUFFYR0d6MUtpNG9WVVJZUFNVcHFrWHFDaCtkZ2lFNVo2U1EwNXZPcXhaQTlrdStmRE5GUEZwOFJhUmhVZjB0VXlrSXR4Wkh4UWNNS0RrU28rUTRxVCtWZ1NDbTBzdzJFcGJTMURzclFmNk5ONnFnYmZxR0dqSVREb1FnQUFBdlNDeUVnNFZFMEFBQUFBU1VWT1JLNUNZSUk9XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vaWNvbi1taW5pLnBuZzwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJ3QUFBQWNDQVlBQUFCeURkK1VBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQWx3U0ZsekFBQU93UUFBRHNFQnVKRnI3UUFBQUJsMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU5ENk56SFlBQUFEL1NVUkJWRWhMN1pOUmFvUXdFSVpYVUJBRVJjRUhRVVFVRVFTTm5xeEgyQ1BzRWZaSU9VcU9NUHRQNlVBb0JlTzJlU2hFK0VETU9OL2tqOTV1NFFvSmhBVGVUV0RmZDNVY2h3RWE5OFc3Zlp6ZVc5ZFZiZHRtQUgyaDhjeWZkRmtXQThnR1luL1NlWjQxSUJ1V2U1Tk8wMVNNNDZnQjJZalU2Vnl1RmczRFVQUjlyd0VKYmR0K3hzdzd2ZHJQcWI3cnVnSVN6U0lici9FMlRmTUJpQkZwbG1YeVFmM3RUdXU2VnNBQUVsaVdwaWtsU2ZLVW1MRDIrMSttTEV0VlZaVUJKUHdrY3pxYnM2STh6eFV3Z0FSdk1oNEd6UTBMYkw3SGVEYjBwWFUwZjdMQXhqNnpTODFjaTFrUXh6RXgzbVV5VkJSRkQzQjNIVExVaFFUK1p3SXZkZjF4ZmRoRWE1QUFBQUFBU1VWT1JLNUNZSUk9XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vbG9hZGVyLmdpZjwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbUjBsR09EbGhRQUJBQU1ZQUFBUUNCSVNDaEVSQ1JNVEN4Q1FpSktTaXBHUmlaT1RpNUJRU0ZKU1NsRlJTVk5UUzFEUXlOTFN5dEhSeWRQVHk5QXdLREl5S2pFeEtUTXpLekN3cUxLeXFyR3hxYk96cTdCd2FISnlhbkZ4YVhOemEzRHc2UEx5NnZIeDZmUHo2L0FRR0JJU0doRVJHUk1UR3hDUW1KS1NtcEdSbVpPVG01QlFXRkpTV2xGUldWTlRXMURRMk5MUzJ0SFIyZFBUMjlBd09ESXlPakV4T1RNek96Q3d1TEt5dXJHeHViT3p1N0J3ZUhKeWVuRnhlWE56ZTNEdytQTHkrdkh4K2ZQeisvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaCtRUUlDZ0FBQUN3QUFBQUFRQUJBQUFBSC9vQkFnb09FaFlhSGlJbUtpNHlIRUNJSkVZMUFMaGtTTUpPWml6UUpCejgvRFpNcG54Y1pMSnFvZ3h3dEg1K2ZvWTJqcmo4REFnQ3BqU1FWTDdPdm9yMmZIVFM0aVNBdUQ4QytzY2svTHdHWXhJUTRIY3pLakxMTU14VFJnZ0tlMWFDLzREY0swVG8zNEQ4SE5wTUdHK2tmN0trR3ZOVURFaUNhSUFJTnJkVWVxRFRVU3paQndDQVFIQ3dvMHNFRHdpQVdQY0E1eUNRQVhiSUhEdklCd2VGaHhZOGRpa1o4akVCQUVBQURGNWg5VU5FSXh6ZGdLN1lCUVJEQjRrZEZBMXk5U0lGQkVBNlJ5VzRNVXdRaVlySU9DQVNwZVBrSlpDS2dyaTZZdUFXakFMTVYwQkM1WUZiQklZd0V5WndpZ2pxclJGSUEySHJGU0VRQ0diQU8vZzVSVUFQMm9vQ2lCRzU3emNBQkJJUlZZQjlPSGFxUWJFVlNGR1EvM1NESkNJV0hsTDEybElSZ3ROY0lqWVE0K0p2MVlCdU11Yk1xOE0yRUlzUG1Ud3VTNG9EY3ExeWhGc2ttQWdITDJRUWhDajdXRnZJUmdRRWhCYXcvMWNpbklka016RUJvblA0MHdhR0NYamNrRENKUW9sVVBRMVkvdEJnS2hNR0pYdklhSkJOQmlIWXZnekNZUGpBb3lJVE42NFgrTnZPZ2tVSHdHeVZwREhRRkN3Z0VwcC9BRjBFdkN2VmxuanF5RWVKT1dRNEJJY05wZGdFaG55c1A5QVNFQ01uSUFBUUdlZjFRd1NBeFVPaEFWb1dBWUFKckZXZ1VvazdEc0pDTUFZSWMrTWtCK2Znd0MzNkNXT0RLQmlRdzhwTXJBUWlDd0E2elpDRElCTURBL2hKREEwdzJPUkVJN3dBcENBRVdiWURDSkFqazFBd0hPZDZZbEFwTk5wbkRMWWx3TU1zTEpRRlJ3aWNQOUpnSkJ0OE1RTlYzcnJpV2lnVTdIS0JuaENUNGsyQW1LcmpDUTR4NkhyQkRDTkVBb0NpWlFOaW9Eb21UQUxEQUp6a01zaWlqM0pUWHd3Qi9hcUxCcGhGbUt1cW9wSlpxNnFtb3BxcnFxcXkyNnVwdUJlU2dBekVTRkZDQWJxeXV1RUtEcUdqNVlha21ERENDc0pKMDV3K01xQWpnaW5TVVRPRHNDQURob3F3ck4xd0p4RnduV0lqbHBEOHNrQThFUkxxaXdTSWVKSkNDdWVhT0N3SlRMZ2pDUUQwRFFKb0lCR3Qrd214eEZQWWtRZ3I4OWh2QUxUbkFkTXVBcnB4Z3JhTS85S0J0SWdqVSs0T1Ivbkg3eWErVi9yblNnU0F5SkdNUUNmc2xJQWdJaE0yb0FxYUZDT0RSSi9FS3N0VXNYRkt3M0E4RkloQ2NjSUprTU1zSEdzNFVNbk1zRlNMQkFKc05rQlFRSEhSNDhXeUFwU2toWUw3aFlOTVBGd3dGUVFpYndVZkloQmxBZzBPNG43d3dESlZ2RWVMaVc3Zm9PTXNCTWhFTmxOV0QvTFVBc3h1ZTdBcWlRQVFNakoyQ2FObkxyQURzVEFyY0FBaGdxeUV4VklEUFExeWo3SkFBTDIrQTNJWEpYTUFYQWhKLzhrRUlKSkpzQ0FUSDlISUFYeWhFMlF1eWhBQlFzU3M5WUxJMU1EdVlJTy9tR2xST3lqQWdKN01BcjRTOG04eVlRQkFnKzR4MEkrSkE0cTRjTUZRSXpNQnRDTUhBSkpBUEN1S3hIbEl5QTR6bUFUT2hIZ0xENzVRNkJJSUQxeDNlbElqZVhZZmdmUURNSEdCdEloUThQWXZDVTFhd21WaUhrQ1dNa0g2ZnlkNGlHcnc4bzUwTXlBRXk2R2NJa1R5Z0FsenFodWlBMFNsRk9BQWNGVWdiQWhSUUxFVDRRQVBhd2tFTy9QZUpDazRDWWNsNFFRNThnd29LcENCOHZYQmVLanpBUWN1Tm9HZU1FRUVQV3RoQnpVMUNBeWpzUlg4V2taWVFOaEFWREpCYk1uYW9pQjU2Ym4vY1FFQUtPRWpFUkJqUkZRVlkzNmg0Z0tRa2lhTVhiMHNWQ0dLbnd5dCtZZ01Hd0IycVFDQ0JCdFNqaVlpUXhRYzZvQUl4c2dvSEptaEFwUm9SZ2c1WVFHbXZLb1FORDdGSFRRUUNBQ0g1QkFnS0FBQUFMQUFBQUFCQUFFQUFBQWYrZ0VDQ2c0U0Zob2VHSWdrbUFqZ0FpSkNSa3BPSU1qK1hIeXNaRWpDVW5wUWtqNU0wbDZXWEZ4a3NuNnVGSEMwUEdKUXdENmExUFNLc255UVZINWNjbmd1MXdoMDB1WkVRTGplbU9wNE53c0l2QVozR2hUZ2R3akdlRWMvUE14VFVnenduenkyZUFpUEszS1kzQ3VBYXRNOHJxd2c4RVN2cW1CYkdCaS9xRDlPRVFHQ0FBQW1FZ0JhOTFIbGdwYUVmdHdtNEJJSGc0S0hEamc4OEpuRzRwczdHSng3d2hEMXdBRUlRQmc4YmF1R0F4SUtBUkFNWHVIMVFRUW5IdUhqRmdDQUlFYkxVQ1ZHSENqeElFUXNJamhIY2J1U0VCSUhqTUFTQ0ZCemdOaUxTZ0ZNbUhzRW93RzBCd0VNdXVGVWdDQ01Gdmd3RmIxNHFBUldFMldmK0NTQ1I2Rm1xQTBFVVRrMjlhR0dBQmtGRU9CS1dXaEFMQkZkaEgzNGRxaEFQS2dLa3RSNkVjRG1KZ3RwU0cxWkM2UEZzQk5CQkhBU1hldkFOUnQ1TEZWWWlJb0NpRUlvTXdoWkF4UkZUR00xQ0xaNDVFUFIydEFsQ1h3VjFlREVod2xJZ0N0S1ZxbEZTUmJmUE5FUmZta0JRZ2VnYkFnYVJLRkhEVU84UERaWXlxRjFxTnhCbndqSU9TdkFzTzRJZHBoNUVCR0pCMlFaREJtcTk4RkFTeVBoMUpBQkJ3UTBiZEpDQ0FZMEFCY0ZsbHd3Z1NBaTEvQVlFQk94ZDhnSlVoRURBUXdncGxWTENYektJVm9JZ0NIeFdpQWpQeUFBRUJqMVZzTjVvTnZSbkNBUXdsVkpCZnpHWThzRnhpUFJXeWc0RThkRERBYjA4b0pvSnBheis4STBrR0VEMlF3QWtUbFVLV3BMTUlFeGNnd0NBQWdlS0VaRE9Da1ZOZ3NCVlAzeWdDbjNyWUlnSUJ0TDlrQjBrSlZ6eVFJQ2ZZQ0RsQUZxUjkwTTdrUEFnVW5DRVVPQ1FlYXVvOEVHQnFzRldTZzZSSUZuTEJKRUVjTWtCZjYyaTVXY29EaFpKanFkTVVJRUdrVUNXRFRpRW9PRFFEeGRDWW9BRkloQlFLU1FJd1BNbXFZTkVNQUNSUHpCQXEzWXJOQkFCb0xRS3hFTnJ1eFpyN0xISWZnS0JxOGtDQVlJR01iU2cySzRZdkhEQkJDVzRJQ090QkNURUl5SVFVQ0NCaW9pQWNCbWR1K2Izd3dYYkZzSkNBQlhNVUZzRFZwa0NLaUVBbU9nSlp6KzRDQWxqdFdDSkNJUTJDZ0pEQmozc1lFQXVtZjRnQVNRQTNGTUxNNUQrQ0xBT3NibjljRUtZbENBZzhRTHRFdEt0TU5NZUFvR1VsN2dnQ0FNT0RRQ3N5WEZlOGpBUUJCRFFyZ1hDM1BEcUlkdjRoS0VQcGZUQU1TSXdBUHdEbFJBRWM4SUlKYnpKcnlrZFRFTENxVDlnQ1lMUkJ5Z1E4aUFpU1B5RHk0SjRVTXN2RkxTcEQ4U0NLSW9KdVFnWS9jTUVGcERRTGdBb0Q0QWhCejNSQzRTUG1GQW15TElpV0pCQ0R4dW9nb0dlRitRRVFRalNMVlFJbVJsTWd3TjhwYnlnS3c1MC9SQzFkZ3hxL2dqT3BweXdKQkFjT1BsRGQ0VVVNTVBNUm5WWVNnaUM1UEFNbjRPUU9iR3pOZFJ5QWVzQThGREFWQXNZZ29HTUhLQjh5UWdFQ2REbUJ1MUs4TXdGS3lFUWpJNGhmQVVDQlFMbys3Y0h5azBhQ3dyK3Jwc2lJYjVQbXpJQVFUaUVmOGtPdWs3eXJOZWxKTzZzMjRQdHZETFZpNWFVUHNtUjBCTUI1YlU0UUU0SUpneldHYUpuVjNvRUN0Q0RpYUVSd2diZHE4VUFWQ08yWnhRZ0VqQ1luakF5UUJBUXVBQWVCOWlhSUdJR2pSQjBrSUFCSkJZa0JzUU5vUW1DQUx6b1FTUW04SXdPdEE4QkpOVFByQ0poS0c2Y2dIWU11STNKTHZPQUNreUxCK296QmFFbTRRQjhWR0IwY2luVEJrcWdnVERoSUFkdEtrVUVXQUUwZGJ3Z0IrMGpHZ05RWUNJQUpORVVDUkJoSkJ5UXhWSjhZQVFXb0lEMklHRTdZVVJnanBQUVFBUzVzWUVhekVjU2g5SFBFbzNCQVBqaDQ0S1VhR0lBZHdnT0JDU2dqYWFvQ2lXY1o0b0NxTEJZUEtBaFBrNDhvRVpDa0dBdzVFb1dBRFJnSlhYNDdSZ1gySUFCN0ljc0VFaWdBZmk3QkNQN3hNcG1DUUlIQm1pQm5zWm55MTFCZ0FFNlNFQU5QTkpMSUFRQ0FDSDVCQWdLQUFBQUxBQUFBQUJBQUVBQUFBZitnRUNDZzRTRmhvZEFBZzA5SFMwbE1TWWlHSWlVbFphWGhDUXZQNXlkUHg4TEdSSXdtS1dtbEJPZXFwd1hHU3luc0tjdXE3US9Bd0lBc1pnZ3BUUzF0UjAwdXBRZ0xnV2xBS20vcXk4QnBNT0VPQjAvTndpbFBzdTFNeFRRZ2dJSG5RcWxHRG9XQVFVakQ5bWNOK0xET2plZUZjTXdBaEViMlI4MnVnYWJuaGZQRUlIQVFJSUJBd0tHUUNqNnNNd0RMQTMrVkVsSXlNRkRoeDBNT1pXZ3hLTEhNZ2VtQk1TamxTT2FCM3kwWkZRQ1lPQkNyUThxTU9FQVIydUZNQ0FJSW95a1ZlMFNqaEcxYnR3azVwRldCMnRBRk5EOE5ZK1NCUk81SUJTb3RTTGdvVm0wS2tBQUFpUEJzaHNiSm9pb2xLcUVOUkFwYXNXZ1JFTGRxZzcrVzFGTVk5YkNBSTJ0bGloa25JRURDSWlwcWw0MFFHcW9RazFyS0lDcXVoRUJvU2tibm5ZZ2hGRDBRUU1Oa3hCeHlPanBBVGNZYytYMUxRU0NBdzhhS0E0cDdyVEFHbzRTQ2xKYmFrRUxKQkN2blUwSVhNRHB4WXdJREFncGNPbXBCcTllbkR0TjJLcGc4VVJCZUFsRlVQV2h4VkFHSjFUdEs0VmJsUUJCSVpZKytDN0lSQWRETEc0ay8vSEN3M0VHeE5rNXRnUmhhYWNlaENBSXlMRERnaUFRWG4zQVRTRVFvQ0JBQUNocGhKY015UjF6aVFncEhYTGNiWjI0VUFrRUxYVlN3WEV4ZVBMQ1VKUjAxOGtCRXg1aVFTY2JrT0RUQUowRUlBZ0NPM2lTd1NXOHFaSkFKUVNNdElGc2x5REE0Zzh6WkdhQ0p6MVJna0ZFblpEK2gwZ0puRHlnb2lrWWVNQkFMb0xBa0YwNGxmQ3d5Z05XRmFJWEo3WjFBMFFHbnBUazFDb1RWSUxORHdkME9ReUVyRlhTb1NvYm9jTEpXbUlLZ29GYjdCRm1DSk9xdUlnSURHNHBtZWNLbm9BNENBNGloTmFKYmdRRXdFQ0p2bnlTV1RmSEZjV0pvU1JZTU1BTEUyamFpUTVBTU1ESkNzQUpvdVVQRjVRSUN3MCt6T0JPQTU2b2hJQU5JM0MyZ2FnSEZOQVhDNTZNNE0wRkphZ0VUWTBhQ01KQkFjU3BKTUFxRzB4elFBWUNUR2hxbkVCQTRDWXNBRno1SEhRaUZQQ0tCS3ZNb0FJUHJnS0JBV2V0NWlrSUNSa3BTb2dHcXd4QWpIMVA1bWtBSnlkRVo4aWF4VlVpYXJMdS90Z1VJb2JaV01sMEdyb3JRa2JmR2dKQWdxUCtWdkpzSnpmd0NBUUtDbHlLQ1FLSS9yQkF1b01Rc040UEhGeG9uNFhaVnFET0FOc2VBZ0dnUDBSc3lKQ0wrWHNJdy96S0JuQVBIaU9DQU0wekN2eldKWnA0Y3FOZkNiT3BBcFdJcU5BSnpKVjhxWXAvbDVEWnlRZkd3bENESnhOWVFBTEpPR3d5QUZJc2pPQUREVkJUU04xOGxlQ3dFNnMzUVJEQ2VnY3N3SU1oSFdUd3pFeXN1Y0JMamtlWGNxSW5Cd3dJQkFlcmRXSW1JWmRpRUhJbklRaVNBeTN1N05JMEs5OENJRUFCU3gyZzh5QXN4T2pKQUZzSmNQSUdKQk1DQWdNKzlJVkFqWjNzNENvRUZFaWdnUXB1UXVBQ241d2MwQmNLRkhkaUFERWNoTEFDUXoyUWdvUHBuRGhZQ2dRYTBON0pCY0tBc0Rscm8vdDF6eXIrT2VSQ0FPMDJEOHJEOTZzY2NGTUl0WlEvQ1B1MEpNQUxDclJlMEwwZ0ZOVFF3UXpBcXpMQWFCNm9oZlFPQVFQcmxXa3JJSEJBQ3RTVWpSZUVBSUVCcU1VQk5IWUlHc3pORTBBVFJOc0tBUUFEcWlJWUw5cGVKMTVnS0VwbzRHVEJ5eHdpYUlEQ0IxUWdaWU9JWUMzQ2RBa0hMS01DaWpNRVZqanhnUTFVUUFNVVhGd3RJZ0FMZ05IaUJUa0lqaUVZSUFNRmlJQUJLTmlnNjZEWENmbkZ3Z01vM05vSUxFQ0IxbDBpTFo2SWdCUkxvWUgrMVdJRE5RaUJCaVRBZ3lBaTRtTHNvYUV1R0RDNWRWUnhldUE0UUFtSGdZQVVaUEdNWGl4RUJncmdSbWp3UUJsMlJGa3BZaVltRUZRdmtYaHlGelJBSUlFR0lLa21nWlJrS1hBY1lJSVd4R2NWcjlDa3V5REFBQjBrb0FZRFdNQUdOakFEVW9reUVBQWgrUVFJQ2dBQUFDd0FBQUFBUUFCQUFBQUgvb0JBZ29PRWhZYUVHRHdtTVNVdEhSME5KUWttQWpnQWg1aVptcHVEREM4L29LR2lvQjhyR1JJd25LcXJoeDJqcjZNWEdTeXN0YW84c0xtaVBTSzJ2cGd0dXNJL0hUUy94NEljSDhPNkx3R3B5TDROek1JekZORkFFS3cwSlFFV09nWVdBUVVURjlRM0NzZ2FMWmZZTUFJUks4TWZGcjhHbnhLc0lCZ2tMQXdVS0VBUUFpR2d4VEpkSG14cCtQUmpRanRNSURoNDZMRGpJS2tEUFRBVVl0RkRtQTFXUEI2SWtvRUpnNDhOdzNvY0FtSEFIS3dKS0ZUaE9ERnFna0JDQ0NMY29NWWpFNEVCbzFibzBNWUpncXRYS2dncE9FQ04yQ1lZQlVCdEdNcktSYTRFZ2lDa0VIWmh3NFFKQzA1dzRBUWloQUdpcTBpSWZOVkJHNHFqL3FOZXREQkFBMjIyVFJGd0hLc0Fhd1VDSUFoR3ZIb1Fnc0F2RGo4MjZMV2xiUEExSUFsZVZWZzhDQUVGSGh4b3hNd1U3TWVDdjdVNmozSXdDSVNHQmFBZW1EQTBVOVNMQ1JHTUZjSVZxc1pOVlRRc2hwcGdGd2pMRVFJd1JYMzFvWUZzUWRORWtWNFYrVlh3UXc4TnFiMXhRL2VQRng1dU1uQUo2Z1lKVlJCb2pocXdDWVFQMERnaFFNREFJUVRLVUNXSXl0QmRRcFVJV0NRMVJYWlIxQVQzRElQRUlNb0h4Mld5MVNnNzlGYUlDYUNjZ0o0bUdJeHdRd2dhQ1lJQVU2RUF1TWtNcjJEbDAwNC8rTFVLQWhVU3dtQW9OenhJQ0FYN1dQZkRjNWlVa05wMzBTQWdIaWpwRk1MTkJ3elFKc29EcVVCVENBVU1MWWROQnFMay9yQmlBUXhwY0tJb0V5Q1hBWTJEQkFES0FRcitjbDhvQ3doQ0FwT2lSQ0RnS1BVQndOUUxHUmdtaUdBL3hJQU5CZ0tod05CMWY0VWdHVitqQkFBRUNoYnRJQkFDYThIb0N3WXgzUEFZYXFFd0FJUUJyd3dnV2lqMWtDREtDb0xRUUVxSnRnRHdYaTlBZEJSS2NCSzhNb09ub3VnQUJBdFFDa0xiQmJmNThsNVNRQ1FIQ2tsYmlySUJxYUZvQUFRRG9vd2dpQUNnc0lxTVBEL0FXc05JUU5RYXlncVBncklhQmFKMENZU2wxMjNtQ3dnWTVnTUVYRC8wRXVvb0MrQXBpZzlBWUdDUnNCZzgwRUZQeHhCd2tHd1RpS0tvRG8wMkowb0J2dDM0QTQyS1JrUHZEOEx1V3NFeUg4Ums1U2dOV0ZBVHAwRGxpczBnRFZld1VRMHIvbHdpYmlnSjFEcURBcmRGSUlyRUQ0dHdrTGFGNkFVQXNhWGk4TUVDS3ZUbTR3ODNXSHNNQXNRdTBHb2g3cjdDQVFBUzNKd1ZocUR3VjRoNnEwQWdMc21IUElsaWxvUjRISXFEZzBDZ3dnSVpnYmNES0JwbWdpc29IWEJDd3B3L2VBakV3VDhjd0RFbkNnOGc1Q0VVdUZnUEowaUc4a0YrTUJ5N213VWszQlJkVmpuSWZJaTljcXU1Q1E3Y0FTd2JCQUZZZDhBQ0MreFE0Q29FZ0NoSzE2c29uT29nSExBcEdTWTROQ0RCM2tEa0FFdU9xb0JnTnlodkR3SUFEd1VBVGNwamhIQnc5UThEaVBDUUFDNXU0TE1tQ0NDNndkb0RVU0NCQmhwSXdDSWhFSGdnT1NqMUFmYmVLS3ZaZ2dOSzBkc0NnUVlvaDNLQk1RQmN6Q1hUL29NM0FQNGhNUEFRd2ZPaUhDQ2JuYkFnclFvSEx1eGVTSVFkMUZCQkJ3dXNCY3NBaTFuK0NyNnNZRUVObHBHQjhRR0JmY3g0UVFqUW9xeFFITUJ2bVdEQUFIZUJxWkxwVHhnZDZKZnFHaGFLRndncUV4QUEweXRPUUxwQ2pFa1hENmpBV0E3eHNoOFlpUk1PRUVZRllDY0lHRXdBYktUWVFBazBVRUZEa0NvQ3R2Q0JNRjZRQXcwS0FnVU1FSUVDRkNBQ0JxQUFkSmlnVFFMa3B3a0h1R2hBSTdBQUJhRG9pdzVFZ0l1YzBNRHlkTEdCR2dSQUJ6SVFBQTlrb0FFZkdQRXAyR0JBOXBveXVZZlZBZ0VKdUdKVFBtakhUZkFnWG5RVXhRREEyRWREQUVBREhBb2tLRGhWeUZXQVFBSU53T0V3QnRsSTZSbWdCWVVUQmlNckcxa0xDREJBQndtb3dRZ1dzSUVOekdBQURVaUFBVmdBdkY4RUFnQWgrUVFJQ2dBQUFDd0FBQUFBUUFCQUFBQUgvb0JBZ29PRWhZYUVHRHdtTVNVdEhUME5KVEVtSWhpSGw1aVpta0FRSWdrekx6K2lvNlNpSHdzWkVqQ2JySzJjTVFlbHNyT2lGeGtzcnJtWENiUzlzd01DQUxyRFFEQUx2c2lrSFRURXVqUVB5ZEV2QWF2TnJSYlIyVE1VMXF3QUZhSVBFeFVCRmpvR0pnRUZFemZSTnpMZG15Z1JBdFdYQ0R3Ukc3NFRKUEc1SURDUVlNQ0FCQVlRaEVBSWFQQ2gxSWNJOXY1aEFzSEJRNGNkRFVkOU9OQWpCQWNJZzFqMEdIVUNYak1PbGpiaDhMQXYyZzRKZ3dBWXVOQWdKVEVjQjFvZ3hJUWdCTFJzUDFZZ0tJUmdKekVRSFVTNXdLUWlGdEFmRDNCSkhPUmlWRlJETUhqMXVyRmh3b1FWRjBZNW1EcUl4RTlSRzRZaW1pRHJSUXNEL2pSQURvSkFRVWNBbzFQQmxjcUJOVUhHR3hFSWtHM0ZJU09wR3pZSnlUaFJBUWRSR2p4NDBFREJDZ1hsWEMxbWpiMFVFWU9QQ1dkL3ZKZ1JnUUVtQUExcTROVkV3L0NvQ1hMbE9aMzFvUVV6UXc1RTJjZ1VHNGpXVWdKeUNRajE0Y1lOMTZJOTRHWHg4NFpnUXhBOGxKZzdlMVNQWVNvRUhJU1FLRURMSHhNdUF3RnhiRlFCUXpoR1BrZ3BZcFpKVEwxNW16Z0FzVkFNVWk5dUMxSVJWcFFCUWIrTmNnQkNMS3dtaUFVNnVSS2ZJQWpzUUVvR2dtVGxXZ09DbEVkS0F1TnQwSUZqaEJEUXpsTHhZRFBLRFVNWklNc0ozSVVDSEJBYzFLSUFJU1dJY2tCRXhNQndBaWt2VWpBTEF6ekk4c0FxSHBDeUdRVXFna2dNQWlsbC9rQUtYeUI4TjRvR0lwSXlnU0JKamZJZkVEN0lTS01yRE16QUZ4RHRqYktBSUEzSUVzRjlwVXdIZ29PajNNYldEekdjMU02QVFHQncxZ3REaFNCTERUR1dFZ0FRS0JoMkFVZ3cvQlFjTVRyKzhBRTNRS3hBQ2pNbWxqSkFsYVNZQUVTaW9xd2dDQU9tSkFaUWZ5SUlNZ0Fwd2NrZ3l3d2psYUlERUp5T01vSWdQZjV3Z1lHdU9QcURDb0xVUUFvOEFzaXlRYXFrck1vQ0thOEMwYXVzQzdwU25nYTU3bXFzTEN0UU9vcWxyWW95SmhBMGlQS0NlTHFBY09NUE1BRWhiYWdTeUxLQVhxVDRVS2VnQ05rcENnZk5FSkRSYlJiK1lKb09zZ3dRb0NqbmVVdUtQMERNSUFxenhFU0tZakZuZlVCWmxxWFVFS1dyZ2dEN0E4RXgvdHh3SlRHcFZnQXJLUnNJZys0b0NZUjVHRWdSa0tJeEVDUUFUTXl4NEFvU3FTZ2FBMkJyc1BMS3dzT3pJM0pMREFCdkxtRFVUQU9qak53UEhNZ3N5NThnVkdla05ibTFUQWdKb0ZGbWdpdzNnSlNEcE0rVlRKTE9nZ2pUQ2dnTlFBaWRTYU9XMG9FZ3Bwb1NRR3drcUNnS2hvVm9NSU1LWG0rQ3dKYUVVREMwQlF5R2RjQ2hoQ2c1eWdWcUZTTTRlQmFRc0JNQUpOeXN5NzZLUGdkRUFSVndEUVFPN2ZpWFVBaklIYkRBQWlkODhFSzRyWGdveTltRHdGQzNJU0tlWndnSFpkTnlncWVaWEMzTGkxOVhrTllsQUFoUVFIVzFWTUNvSUxRS0lzTFFHeFIvajhyd1VTQ0JCaHBJUUFOZUVMaXdRcWpRelV6S3hZUHhwa0Y1L2grc2JjamhZaWJialFvaUZENElQaEd3U1VvUGtrZm9wTk5rQ2REUUF3dDBVRU1OSGN3UW1xUWNJZ1FEenVJNnNxQUFlTWw0UVFqTTE3UURXRTVCaGZqR1UzNndqRXlBN1FHQUd3WUVRckFCM0FtQ0JabEx4Z01xQUM5NXJLb1pKSWlkOE5hbmdBS3NZR2dmMkVBRk5QREE3dW1nUDZONFFRNU1FeE1VTUVBRUNwQ0JCQmlBZ3RWMWp5Z1pHSm9wUm1BQkNpZ1BDSXd6UUEwbElvSVErbUlETlFoQjlIZ2dBQW5vd0FjVmVPRVBhbURFN2pGQWV4T1V4VzZPU0FnRXBFQ0phWHdBRDlrNENCNjhLWTJsV0FEZXVnZUM3K0d4RkNtZ295RkFJSUVHdUcyQ0grakFGSStJQXhPMEFJZkl1RUVITEJBL1FWNENBZ3pRUVFKcUVUQ0FCV3hnQlFzWVFBTVNvSU9QL0NNUUFDSDVCQWdLQUFBQUxBQUFBQUJBQUVBQWhRUUNCSVNDaE1UQ3hFUkNSQ1FpSktTaXBPVGk1R1JpWkJRU0ZKU1NsTlRTMUZSU1ZEUXlOTFN5dFBUeTlIUjJkQXdLREl5S2pNekt6RXhLVEN3cUxLeXFyT3pxN0d4cWJCd2FISnlhbk56YTNGeGFYRHc2UEx5NnZQejYvSHgrZkFRR0JJU0doTVRHeEVSR1JDUW1KS1NtcE9UbTVHUm1aQlFXRkpTV2xOVFcxRlJXVkRRMk5MUzJ0UFQyOUh4NmZBd09ESXlPak16T3pFeE9UQ3d1TEt5dXJPenU3R3h1YkJ3ZUhKeWVuTnplM0Z4ZVhEdytQTHkrdlB6Ky9BQUFBQWIrd0o5d1NDd2FpUmplS1ZacWRUcU5VdUkwd0FHTzJLeDJDeGtsWkI2ZmVFd1dlMVNaQ1d6TGJoTnBDVU41VGhkYk1peTMvc2hwaGV1QWREMGplM3NFRlgrQmluTWROSVZ0TkNhTGsyVTJBNCtRa3BTVGxwaHVrWFFPRWlVQkZ6c0hGd0VGRWhaMG5aNXVESEppT2drRENGb3dBeEVxWTYrd255WUNFeEJFQUJna0xBd1VLQ0JFSUFNdEZwZkFlN2hDSUJ3dkhUcUpQaDRHUFNFOHhVTFgxWVVZSHhxVU9oRUU2SThJSVE2Yll3NHBPUEY2UERiMlpDNFc3Tk16b2w0WkN4b2tTRkRRcW95TERmRUlVTmd6d0orTEZnZG9sQk1DZ2NLT0J2VWU3c0hoNkVnRkV4TUpob0MzQmNVTGlIb3dxQkJ4cFFpSE1DaGh3YURCZ3dQK0RSU3daSXBaWWFURm1KeDdTQVFRWVZDTUN3a1JTc2JzSlVaR1RTRTB2Q0ZsZzZLRXR6a2VHcEJ3ZzRQcUdFSkRFc3d4Z0FzQkJ5MEllcER4WU1PR054VVl0TkNBQjBMR25CcERJR2dpMDBOSWlGOUg0aHFJTVFBREJBZ29lSVRRZ0ZldmdSSkNDc3h4a2ZmSENEb3pmdUNvaDlnSWhEVkhJSnc3QXNxREl3WjBEZ2hKTVVkSHNSZStxQTM4UVdPV2p3eENSTXhwSU1Sdm1RUS9RTEFiRTBJSWl0V1BJT2o3Y1lLTURWdzM1cGlBZ09Hcmowc2NBTElzMFFHNkhoQWxCRnlCMFZDTVFBcDBHUENZNDJETkJ6TEVmMUJ3NGFQSHh2TWxpTUdERUJtUWtjTVBBT2d3eHdiVmxTR0JFQjJRSWRzUDkvbGd3SDl1Z0NDQkdBZisvakFCR1FvSTBjQWNFY1F3QjJZZytPWkRTaHY2RUlNbkY0aGhnRE1vTk9VQ0xpSE1VVUVGY3dUd0F3cUpXRkFNQWdicFZnZ0pZNlNrQUJrTS9IREFIQUlZVmNZRlB5QTVoZ3BZbWRIWkl5QTBoRmFFWTF6eVlSa3l5RlhHRGord1FNYURQOHpuZ3dYT2VMSWNVVCtNT0Vab241V2hnWmxrUUFUYkdDSUlNWUFkY1dKQ0ZaMDFrSUhuSENwSVNjWUorb0dZcFE4dUFJVkppbUpNQUNFWmhJd0pJbzlsZlBCRGQyUEFPU3AvUHJ5RkNRRi9sTFRrR0UzdUFLVmFaUlNRM0dBK2pQWERxNkppOHVTYnpoQTVoZ2RBQlRCY2pHVUUrb01BZlFwaG9nOHFZT2lHbVJVSTRhWVlHbHlSNkhGNVdsZE1CR1JVK3dNRFlXaUEyaDcrRUppcDZRL1Bpb0VaQUdhTnNRTU8zZzA0cUMrV3RsQVpKZ2dJSUlNekVDd25Ca1FrZU1jQnZITTBCNEdLRHdoQndaYjhsclFCR1E3azFhQzNQK1RBNkJYZ09nWFRiaFdOSVM2ZlkzUWd4QXgwWEVJQ2Z5SmxBY0pWcG1reGdqK3A2b2NxR1ZUK2dFQjdZd0QyUXdZdFl3RkJDUktjUUVLY0FCQ3dnd0Fkbkh2RUJEYmtSK3RjTFAyZzJVRzQ0Q0JRRmtPVFlZSUNDcGlRU0EvbUVUSEFSQkRFSzRiSlE2aHBuWkZhNE1Dc0lqSkl0UVVEdVBxdzlSQnorMURhRmdEd1VJQ0tkbFF3UWFGdDREMkdCb2g3S01iZkdWSXd3UVliVEVCRDQzb283Z09rUlFEUUErUlpVSENBMDBKdk1HRG1YMHZMRzl4YjlHYWhMZWJCd0VQZ0JPeUFqZ1VOckdNQ0NzVXFkRkJEQlIwbzBOVGp1ZTltQkEwODIyTzc4VUlRNE5VL1lyU1FFdk5hTUpBRHpZczRVSUdxMUxzOEJBSXJGS0NDZHg1b1VNSUdXMkxldldnUzVOQWtFU2d3TU1BQ0M0ekFBQW93VTVDQ0N0T3ZMeHBWSGhEQkJTZ0FNeU1BZ0FRbjZNRWZ0dEs5c3RCQkF6VUl3QTVtTUFBZXpHQURINmpCK0xUVFArUGhRR0RRb3dNREIrTEFFQVppaFBHZ1FZdE1XQWNGRks4YUFOaUFjVmk0dUFPb2J5QWdtRUFEYnZZUEQzUmdCVGVrSGc0T0lBMUsyS0FETjZpYS80VEdnQjBrb0FZaVVJQUdOQ0FEQVRRZ0FRZGdnZW9LRVFRQUlma0VDQW9BQUFBc0FBQUFBRUFBUUFBQUIvNkFRSUtEaElXR2hCZzhKakVsTFIwOURTVXhKaUlZaDVlWW1acEFFQ0lKTXk4L29xT2tvaDhMR1JJd202eXRRRFFKQjZXenRLSVhHUWl1dW9VY0xSKzF3TE0xQUx1N0pCV2h3Y3FpQnlqRnJpQXVEOHZVSHdMUHJUZ2QxTndCMkt3Y0o5UVBFeFVCRmpvR0pnRUZFemVpQXhEZm05ckJCd2tDcTVnSVBCRUU4NnhBZUVoR2FvQUVFSVJBWUNEQmdBRUpEQWdCRnVPd1lkU0VhNEpBY1BEUVljZXZVUjhPOUFqQlFaN0VWaWdLUEhBUUVRaUxpdFIyK0dNRlE0UkVaNFFnOU9BbTZrVUtTNWt5M0tCeHNoQ0JDenh0bVNCMlNNZXZGYm1LRGxJeDZzYUdDUk5XSUFWV0lpcWhvNk5pU0NYa3dRQU5rNElnVU5EUllGcXBEZjRVQ2tFWVFlb0RpN0VvUFd6OVVjRHJvQUN6UnJSc0JRT29KaGcwZVBDZ2dYTVFpZ3dYZEJ5Q3NJT1dnbDBKSnFBMVJDTEFDSUkvWHN5WU9jaHZJYXF6Wmd6ZWJFaUJxQWlIU0pUNFNPc0dDVmNOYU5rY2xDQ0d2a0lJS3YvNElLT1FpWGQxYjl6NGFFQVhCZENpR2d5Q0lHdEczRUlSU0ozNERXRWJzeGdDSUVKSXBLRllnVmtQZ0lxb3VuUVFEdVNpS2hRU2VNSUZhMHdRQmh0aVFhczVrQVNsZENXSUQ2VGM4SThodjdHU2dUZUdBSEFYRUJQTUloMFFDOHdTQWhBZ3dDUUtnL05vRUJvSGhhQlF3UTI1MkRETENlTkI5OE0xSEpEeXdvSGZBREFEUEV3QklZQndsMUZBQ3dNOG9MY0tnYU8wSUFnR2pSWGpvU2c4Q1A2aUFVRTVZS2poS0JwWU1Nc0VnbmduaW44KzdJQlJNVEtLMGlRUTY0MnlnQ0M1bFJKQkRMT1VnS0Z3b2hBRllXaVhQV1BpRHdjZ2hJRmJvZVVTZ2pBbHpPSU5DclJkSUE4TWJtMjVpNDdEWGJjQ0tVUVpNTXNBVm81aUFoQ0lpcktDSUF5WVl0Z3VJR3kxMndDa1hDTkRhanVWSWxtbW80d2dTSTgvWEtDZkxvditvSUlnTlpCU25BQ3piRkFxS1pMeGw2b2d1TFo2bnlzVi9sQWVFTFdPY3Vzc0swUXF5cVNvaWpMbUt6MFZxUXNJNHZ3Z1FaV2syQ1RCTEF0VU1Jc1BRR0FRcUoxdWdmZ01BUis1V2F3b0RBQ2h3Nk1BbGxJQWh0bUtjaHNRTS81QTdqTUMvSUlpRUlTQzVBeVFwTlFnWlNtcUFyR3JzWUtnK2NNS3cvNnlJc0VKOGdIQnFpZ2JFQ051S1FtRVdhQTgyWTNDSUFQTWZZUEJkUkxIQndRQXNmTEs3aXhKQnJ0U1M5NGRVTEVyRUR4WkhnbTBqY0lCekJaeWNzQUNEdzdDUUNpd0FYU2tLT2tCNFdncE44aVRBN1BFcUhLSUQ1cTVVbU5PL2JvTUJBcGxqdEtCSUtQT1lxZ2hJRmliaVFBajJQQTFFQzZVb3U3TER1QnBnU0FJN0RWS0RST1JFQkVBSkJnd3dFYzFlSlVoS1djWHdzQ2lIOEI0WGlrZnhPc0tBdzk4Y01JQ0N4d1E5QThaSkNqQ1J5KzRDVndHUWc3aWF5a2R6STBKRE8vU3NzQzJodXo1dzRYN0ZBTHFMSkpkOGpVT0JjaFN5Z1VWSEhUSlhQSG9JaklwRjVnbUNBdWpKYWlXQkJwb0lBRU5yeHBDQUE2N0FQQndkUDc2Z2VBQWNqdVlrQ0JlbUN5dDNhWmpsejNLUFNJNHo0OS9lSlU4SE8yRWtBM01Bd3QwVUVNTkhaaUJXNDQxRnRpOTVoTGl3eE0zTHJDdnNWRGdCaU00bjFFcThEbGxKQzhuRWxIQWRUVEJnQndvTUJnUEtNNGdSTENCRkVnUWZhVlJRQUZXVU1FUGJLQUNHbWdNQVhMd2tRVllEb1crUXdFREpDQURCWWlBQVNqNEdnVlNBQitvV2NCMWVJR0JBU2lBeEVFUXpnUTlVTkVvS3VDMnNhUmdPQnVvUVFpc3h3TUJTRUFIUHFnQkM1ZnhndDZoVUFVVlRBb3BEckMyc2VEQWIycTBWeFdMMHAwNHlnNS9PRVNZSFRsbWdKM1JzUVpTckVZSFZPQkh2R0RBQkMyQUl6QnUwQUVMd0FpSG1ZQUFBM1NRZ0JvTVlBRWJXTUVDQmduUWdBVG9vQ1FTQ1FRQUlma0VDQW9BQUFBc0FBQUFBRUFBUUFBQUIvNkFRSUtEaElXR2hCZzhKakVsTFIwZERTVUpKZ0k0QUllWW1acWJFQ0lKTXg4L29xT2tvaDhTbTZtcWh6UUpCNld3cFFzZ3E3V3BIQzJoc2J1aUtyYS9oeVFWdXJ5N003VEF5UkF1TjhYT0NzbkpPQjNPemhQSTBiVThKOVUvRHhNbEFSWTZCaFlCQlNLMUVOa2FEODQ3Q1FJSTJZUUZOc2tHTDhVREV1dURBQmhJc0dCQUFRVzJWRFErZlBEd1M0TytYUlBTRVlMUllBZXhIeDhPOUFqQncxK21HcVB1cllMUVl0Y0RCd2NIRlhnWGdRQW1Cc1ErK0ZvRlFNYUVVaXRvWktMZ3p0bURGRGdNZ1NSMVEyY3RFQXBtaU9vd1QxT09iajh1bUxna2lNTkZVUXRnL0FLaElZSEhUQ1FPckpnd1ljV0ZZaVdhdXRpVklCdUtCUDRwQ3gyRVFFRkhnNTZ5TUFBQnNSTFdCdzdKVUl6NE1mTVhCZzluUzIwSUNxRkhyQkZVYThHZzltUEcxMEl3YUhEZ1FRTkZJUlFacnRZUWhDRnhxY0tyVXBEU1lJaUNqd2w0dlRFd3BLRFpqdzBtUEtxSU5TTnlLaFVYSVE4aVVlSmhxUTR2SjFqUVdxaEJMSW1wRUx3YTlVREFJQk8yUjMyNGNlTUY0Rjgwakk4YXJTcEVLUk9DSUNRZ2RTQ0dBQXdRSUhndUJNRUQ4MHg5U2IzUXV3bEg3QXFEK0VDZEE1Y2RzbHNGY1JIQ1FDd0dwT0lCS1E4RUpRZ0NIcHl3QWdtcVFMQ0FLQUZzTWxncERRZ3kyeUVnYkVCS0NJWWcwRlFxRUF4Z0NndWFPQURMQ1JCZzhFSUwzeEhDZ1g0dTBZUEJkQVA0VmdnRnNUREF3eWdOalA0b2lJQ2p0RURQSUJxTXdzTWhXZ0d3QXl3YW1FREtCeFVZUlprb0RUNEpCQUJLL1pCRElUZ2tNSUFnenBVU1FReXdsRERtZEtKUUlJaUUyVmdneWdISVlCQ0JPeS9NWTE0cEZWUUFTNGMyam5MQk9naWNrQUdHMFJDSmtaMUFmQ2pLYkFiQU1rQkpwVmdBQkFta3JDQUlEYUxjc09KVzNQd2drV09qV0NjQkxET3dTb29PUUxCQXlnU0NIQmxWZ2JXWVNCaWJwTWdBaEFpd2JDRHJLS3d0T01vSWdnZ2d5Z1VKcnJMaHIwQU1KWXF3eE9MRUtTbm9TWXJWcUtLOE1COHdJRXlIQ2hCZnFnckVxN0lZV29vUFFHQkF6QW0wSlBwRGpzQXdVTU1IUmsxN0tSQTZhTHBlS1FYc2xXb0hPVTRMTHowTTBJSUFYaDk0RmdBc0RmN29XUXF6UVBUUWczV0VSQ0RLQ3J3Q282c29HMXpDZ291a0pKQXRVZXZncWFBdVlUNEo1eWh5Q2dLQUFDai9vQU1PVi8wd1pTYWNuc0JmTmhENEtncHJoQUFnd1UwY0FMQUNMQ2htd3NCREE5ekhTWUVCVXpkMDB2MEE4UlJPUWhiQzVBMWJad0pEQlN2a05nZ0VUNDhDNENZeXhNSXhKaUFZR3ZVbUlyUnQ1aUFQa29JdkpnaVlOdDRtQ0dSUTlwaUNnRUNBRGdNUU0wQlRITVFXb2lyNWFhZGtMVGlzc01BQ0IxeVZBWE00MFBuREM1ZHJZaXNzSFlUTlF3MUdHVEl3TEF1Y0s0aTFvdHl0U3M2ejZzanBCYklQZ2tGMnoxWWdnWkFLa0RKQ3lKaXdXOG9GRXM2c1hRaFdnMENCQkJwb0lBRU4wWUp3MHc4SEhMNEpBUDdIampKQXkwYVBzb01CVnRmeTZnV3QyekoxTERuUWdrUDVveHdRejZtcEFGQkMrNzk0SEV1SFFFQkJtMkx4Z0JWMG9BWVY2TUFFK0ljSkN3Z2diSnVBZ2I5SUVUTVF1Q0EyYU5rRUNBYlZnNS9WZ2dMQXU4MWxDRENNYXZBckV5aHcxeWc2NEVGVkFDZDNoMkJBRGtJSWk3Y1pRZ0QwYXhMK1lqU0tCU0FQQ0FoUVFRRlcwTE1QTE1CbFFDQkFEbm8yaWdqOGdrbElVd1VLR0NBQ0JTaEFCQXhBZ1c4b2tBQWFwaXhhTWJxR21BQkFBaFAwUUR5eGlBQUVwVmdMRWdSQUJ6SVFBQTlrb0FFZjFJQ0kxWGlCQThTMGlzcEJoVDF6NDZNbUtJREdQLzZnQU9NU3BDWktZRWhTTEVCWWlrekYreHE1QVFQOE1KS0RVR0UzUGlyUUFSV0FFWk9FU0VnM2J0QUJHL1FJbEJsaWdBNFNVSU1STEdBREc1akJBQnFRQUFPdzRKS3FDQVFBSWZrRUNBb0FBQUFzQUFBQUFFQUFRQUFBQi82QVFJS0RoSVdHaEJnOEpqRWxMUjA5RFNxSGs1U1Zsb1VRSWdrekx6K2VuNTQ4bDZPa2xEUUpCNkNxbmdjZ3BhK2xIQzBmcTdVWnNMaVZKQldkdGJVQ3BLNjVreUF1RDc2K0J4Q2tJU0hMdzRRNEhjaklPY0ViUHpNVTBJSUNxZFNlRHhNVkFSWTZCS1FzbnpjSzBEbzM0QWNKQWpEREVhQWZOcmtHdmI0REVzS2lNV0JBQWtQQVF3QldyUElBUzBPL1ZST0FUUXJ4NmNPQkhpRTRQQ1BFZ05ZcUI2VUV3S3Yxd01GQlErcHE3WWlBYnBBUFh4OGtYY0x4YmRXS2JaWkFZUFAxSWdVR1FUaEcrTHBCSTJjUFh4MFFDRklSb0ZJTWNCZE1BQUFDb1lDdkZmVW91ZkJWWVJtTUJEOWFVV0l3WWNVRmFpV1Vna2poS3dZbEVQNGxqcW5xc0F6Rk5FOFNLMEdnb0tPQlhGVXpjQUFCWVhYVkJ4YVZFQ2lvTUhLRlVoUkNQeVY0aGNMRFdWVTcwRUU0dW1yRXlVTUlaQlRZQnVQdXB3MmZFZERnd1dQaklCUVpQSDVhb0JUSFpWWHRYb0VGOWNBRUlRbytKc2k5a05XUWd0dWVhcmpTVUd2R1owb3FWTjBRTVloRUNkbWVLaGpheU9DRUtuMUFHdFNpUGdwQnpSOFB5QU94TUxMaUJSbUdLbmdReHVEMmhSU3VLR0QzMUlDWktndUNnTEFiS3pFSVlKQWhLTUJUd2pNeUhGQ0FCSzRWeHR0UGx1RHcxdy9hQ2ZKVU9BNFVkMGgwMlFuelhFcXFHSENKQjZEYzBKSUZwNUV3VTJRL05GWEpCS3YwVjRsT29NZ0l3VjBib0VBS0FnTjQ4Z0lIbGRpd3lnbXVHZjdDQVNndnRBUUVBQlM0NEdJcEdId3p3RlNUVUZBTEE1V2crRWtMM0F3QzRnK2lFTE1US0JwVVl0b1BKb1k1MkFLZVdFT0plS3BFOE5aNVJibTVIaXZQQ1VLUktqWHc0Q1FoS01oMlFaTFFhT2tKVG9mb3NNb0Fzd3pnQXFOQUtPckpDZ0ZpQ1EwSWw2bjNKQTBlRkNYREtqTnc5c01IRS9qd0V3T2dqQ0FJRHd1RWdCZzBjUDRnRXdVQnpFQUxmQUtzc29HcG4rZ0FSRW8zMUNEQnE1NGNDbzBBQlp5UUpoQTFnQUlmQmltY3QwSUxxL2hHUVFFS0tEVUlEVUw2eUEwRVdhMnBIZ1FjSklETkFoV3M0Z01sR01oRnBKNUExT29KbDRXQXdJRU9BMzVTUUNVemVQS3VuZ2o4OVlHNGg3Q29pcXVVYkxnQ29ybndBTW9HbXY0YUlzSXFOMEFzU0VlZXRCbm1QWjlrT0FrQis1R3BwaWNuVVBpakNpcFR0UU9hbFNTMFNnaVZNQ0RYQUI3cVZjSVBMM1FnTG5PZlBORHlJVG5ZVkxFaEwzblN3OUNnN2V6SkxXK0NJaklsbzY2UzF5RWd0T3NKUTVVSVlDL09nbmo1eWJ5SklaZGNJUlE0TUFCOFFNQVE3US80NWt1QUFjQU80QzBMRjNaQWlvUVY0V3ZCQkI1ZGtDY0VJVXh3RWdVTG5MQmZCbG5SeEdTZWw1QUlTZ2RUS2Z6SkFZd3luVFFvQ3h3ckNBWUtnVUp6S1VHdUlpd0FXbjl5Z2VlSDBKaHNCUUFOd3NMTG9BeWc4U1FYcjNLQllBalk2OGtISWVSTWxRb2FTRUREWjY1ZkxoZ0tBYkRRSnlFQUFQdEpEL1hnUURzb081Z2dmQ1VCZ0NMNFlQNWFiNUFBRDg4RHdjQkRuK1F3RlFHK1g1NkFDTjVhd25GWWVmNkpmUXJiQ3dMeUtnbTRnZ0tkSkZsQUIycEFOa01BQUU0REVBd1F4S2FLZjFFQ0J1MUwzekpBNElBTDFjS0JrL0NCTXdiVHZWb2NBR0ZaYW84cWxpWUlBbFNnWko5QTBsc0VnWURVcWVJRlY2T0VCbEQ0QXd5YUx3Y1cvSVNuRGlHQU0zMmtGQTd3aFV3SW9aZ0NyQUE3VURzRUFYSkF3eC9ZNlJXYkMxcjhESWdDQmtoQUFUS1lGZHBTSUVMK2xXOFNIc0NPalhBQkFCS1lZQURvVzBVRWpsWUtEZnpsV1pkQWdBQWtvQU1mMU9DSTRPQVpTTGpCQUlVSWpSUkd5cU1xRGhERFlTQWdBV0FpQll3RVdVTVF1bW1LbFNBWkkzL1FPWHJsd25MZzJJQUJiaXhueVVxVURoa2Y2SUFLT05sSlN1QWdqWjY0UVFjc01LaFN3a0lFQzlqQUNoWXdnQVlrUUFjYWNWTWdBQUFoK1FRSUNnQUFBQ3dBQUFBQVFBQkFBQUFIL29CQWdvT0VoWWFFR0R3bU1UcUhqbytRa1pBUUlna3pIeitaRnBLY25aMDBDUWVabzVraW5SU2VxWVVjTFppa3BDU2NFQ2M5cHFxZEpCV3VyNk1YRUp3RXJoMDB0NU11Tjd5OEU1MENwQzhCTU1XR09CM0p5UldkSnJ3enFOS0NQQ2ZXcnc4VEtwMDV5VGNLM2hvUDRwazdDUUlJcVQzV0g1dTNCaS92QXhLL2prQmdBR0FJd0laM0hsUnA0R2R0Z2kxSUpENGM2QkdDQjBBZ0xPeUpzK0dKaDd0a0R4eUFFSVJCd0NNSUYwanRpRUJBRUFBREtaTjlNQ2NKUjdoa0s0Z0JRUkRoUmdkSU0zZzlTSUZERUk0UjFtN29QRmt0V1FkNlFCU0krckdEb0tNSzFpNllJQWlqZ0xVRjBSNjVzRmJoRjR3VXpsQTg4dkN1QkQwUS9taVRKWGhFNHVPckRyOVFOQ1hGNGlRRkhRM3NrbHFBQVFnSXI3dytjTGlLa3g0Q3BPTVdTMExoSVNhcERVVWhhSHcxd2lvaERydEdQVUFGWSsrb0NrVUpJWWpsQ0VVR1hndm80YkJNaWlhaEZza2NDSW9yMmdRaENqNG0zRmhnS0t3Z0JjaEkxUmlwSXRrTXowQW9NQ1ExNFplQzBEZE1DaUpSWW5vRFF5a2FMR1ZBKzRkdUlBMlNQUVFDQUljQUF3azZiSGhnRXNiTlRBOGVXa2crS29JaGV5OTRNQklRNUpGeVF5elM4VklESkFDRUZjRXJ2Z0VCUVFLa0hCQ0RBTWE1dE1Nb0pRQWtRMmdsQ0lLWU00VkZnb05nMkFoQ0lYNE9YRlRJUzVaVk1HQU1wSHhBREFQSkdDQUpXNktscGswbUs3QUdDUWFRL1JDQUlBaUkvaUpSRHhvSVV1UW8zMEVDd2tHamhDQUlBUit0VUtJa0NBeVF5UWQ5RWNnREJnTUtZZ012Sjdob0NBZk90QVJFQ2ZoMTB3a0dVdzBBWFNFVUpNTUFKRDZRMGdLU05jekhrVUtqOFBESWxMdzArWWhwT2c0Q0FBcGxlZ0pDVUQva0FFbDZyL2dYMEZTWnlPbU5JQlprY2tDa2hVaFF3Z1F4UG9JQlB5ZU1rQUdwM3VUNXd3ZWVCa1NBQ0JZTWVnZ0VBdUJ3NTZlQ2dCQkFEUXRJQnV5eG5meUs3TExNNHRKQkFqcW9pU3dFQkdSWWlBZ3lVR0J0YXd3WmU2d0ZwNTd3d1o2T3JEaGNEU0ZvNXdpbFBpeUxnRjBmcU9WSXFKeEJzdUlLMG5KeUp3K1hLU3VJQ0x6Y2tLOGdETGpTYUNvaUhEQkFEaVhTeUNFa09JU1dpYUdQL3VEMnd3bGJjb0xBQ3BuTU1CSUVHNDZpcUNNQWNQeUtsWVNBZ0VNM0REQTB3TGFPUUFCbkpoSUlvZ01wRDJSOENEcXZyRUFRQ3dVTUlPNEpVUFdaU1E4Nkh3SURWcGxrSUFnRUM1Q1NJaVF5SkdOU1hhVE1aUmpUUHh5Z2dMOUFpR0R5RHk4THd1TW8zanFDUUhrL0xBakVhNk44SUFPU1hMOGdyNk1FNkREQUxnTkF4WUZnVVlJdFltSjd6a2JLQlRwQkVBSW1HOXlwZ2NRWmhJVkR5Sm04VVBnS0Mxc2dBZ2xxc3VBVVFmU09jb0tjSEl6d1V5RU9aN0pBelVaUldlWGdyMXlRdHBlOE5BSkFEYkd6emw1cXQvMXdRUVVTZU1ZQ3A1bU04SXNBRXYrQWI2bkpYRkFVQWxIWEdBTE1nbkJBUWFRUWVDQlkxNFdoNERvcC92a1FBc0JtcEF6d0N3N2Z3Mk1BOVlVUUVQM2h4SURBOVdENXRweE1EaU9objh3QjhrRGxDQUc4T0lCT1FtQU4zUm5pUVhJaENBb3dCUkpOSFFJRXRCbEFhczcyaWdKQUFnYnZlMFVHZmdFQ0YyeHZGRDJBeEFRcUZ3SU9FbkIvZDNNRUJmanpDcVJkU1JlOHFNb2o0TlFCY2lGZ1pyeDRnYm9nb1lMa1plSUU2eUJZRGxqNGdhUU5RZ0xHNGtINlNIRWVUampnSFJXUUV3SlVVSUFWWUNKdGg4QkJEbnlZQ1FkMndtaFo4ZDhnVUVBRE1ScUNBaW40WU5aZ0pRa0hjTEZ4bmdBQUNVelFBeTcyUjNDUTBBQUxSM0U2U2JDZ0FsWjhSK1dhS0EwR2pHMFVLZWhFQUFRNWlnUHMwQnNJU0VCb0RoWUozREd5QUNrOEZnOUdQWmlKUno2Q1V1Sll3TnlhNVJJTkJJVjNrMUJqSmpaZ2dJRXRDd1FDd09OMlpOSUJGYkNSbEttUWdJRTZZQU0zNFJKWUNtaEFBZ3pBQWxkNkloQUFPdz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vbmV4dC5wbmc8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW2lWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCd0FBQUFjQ0FZQUFBQnlEZCtVQUFBQUJHZEJUVUVBQU5qcjlSd1VxZ0FBQUNCalNGSk5BQUNIRHdBQWpBMEFBUG1UQUFDRTVRQUFlNElBQU90MUFBQS90QUFBSWxoMWExNmNBQUFDMFdsRFExQkpRME1nVUhKdlptbHNaUUFBT011TmxNOUxGR0VZeDcrempSZ29RV0JtZTRpaFEwaW9UQlpsUk9XdXY5aTBiVmwvbEJMRTdPeTd1NU96czlQTTdKb2lFVjQ2WnRFOUtnOGUrZ004ZU9pVWw4TEFMQUxwYmxGRWdwZVM3WGxueHQwUjdjY0xNL041bngvZjUzbmY0WDJCR2xreFRUMGtBWG5Ec1pKOVVlbjY2SmhVK3hFaEhFRWR3cWhUVk51TUpCSURvTUZqc1d0c3ZvZkF2eXV0ZS92L091clN0cG9IaFAxQTZFZWEyU3F3N3hmWkMxbHFCQkM1WHNPRVl6ckU5emhibnYweDU1VEg4NjU5S05sRnZFaDhRRFV0SHYrYXVFUE5LV21nUmlSdXlRWmlVZ0hPNjBYVjcrY2dQZlhNR0I2azczSHE2UzZ6ZTN3V1p0Sktkejl4Ry9Ibk5PdnU0WnJFOHhtdE4wYmNUTTlheHVvZDlsZzRvVG14SVk5REk0WWVIL0M1eVVqRnIvcWFvdWxFazl2NmRtbXdaOXQrUzdtY0lBNFRKOGNML1R5bWtYSTdwM0pEMXp3VzlLbGNWOXpuZDFZeHllc2VvNWc1VTNmL0YvVVdlb1ZSNkdEUVlORGJnSVFrK2hCRksweFlLQ0JESG8waU5MSXlOOFlpdGpHK1o2U09SSUFsOHE5VHpycWJjeHRGeXVaWkk0akdNZE5TVVpEa0QvSlhlVlYrS3MvSlgyYkR4ZWFxWjhhNnFhbkxENzZUTHErOHJldDcvWjQ4ZlpYcVJzaXJJMHZXZkdWTmRxRFRRSGNaWXpaY1ZlSTEyUDM0Wm1DVkxGQ3BGU2xYYWR5dFZISjlOcjBqZ1dwLzJqMktYWnBlYktyV1doVVhicXpVTDAzdjJLdkNybFd4eXFwMnpxdHh3WHdtSGhWUGlqR3hRendIU2J3a2Rvb1h4VzZhblJjSEtobkRwS0pod2xXeW9WQ1dnVW55bWp2K21SY0w3Nnk1bzZHUEdjelNWSW1mLzRSVnlHZzZDeHpSZjdqL2MvQjd4YU94SXZEQ0JnNmZydG8ya3U0ZElqUXVWMjNPRmVEQ043b1AzbFp0elhRZURqMEJGczZvUmF2a1N3dkNHNHBtZHh3KzZTcVlrNWFXelRsU3V5eWZsU0owSlRFcFpxaHRMWktpNjVMcnNpV0wyY3dxc1hRYjdNeXBkaytsbm5hbDVsTzV2RUhuci9ZUnNQV3dYUDc1ckZ6ZWVrNDlyQUV2OWQvQXZQMUZHTlVaaWdBQUFBbHdTRmx6QUFBT3d3QUFEc01CeDIrb1pBQUFBQmwwUlZoMFUyOW1kSGRoY21VQVVHRnBiblF1VGtWVUlIWXpMalV1TkQ2TnpIWUFBQUV1U1VSQlZFaEx4WlpCRG9Jd0VFVlptWkN3WU1rbHVJcG5jT3NCV0hFSkVoTzNITUF6dUhMckdWeDVBeE8zK0wrWkdxZ0Zwa2pHSmo4Qk9uOWUydEoya2tUUnVxNUxvUzEwZ003UVZjUm5mbU5mcWtnMUhZSWtCWFNFbnRCY1l3eGppMFZnR0d2b01VY0o5Tk5UcTZFeWZhY0ZJTi9DSE5QVGpJQU5kRmtCNWxJdzEyWjB0T2hzVjRTNVZHMFFpTjVkSkN4SFBLVnB1d0VVamd5NmE1d1NrL2NUS0h6TW5YMDhlS2tVcG43SUFNaEVDbi9WQjk0VWhrRklhRjFtY3R6ZUhnU1ZzVEFYdndCYUVyaGZDcVF2RXJvbnNQR0EzQnBmYTZRK09TUndaQkFOZ1FSTS9oQ3hNRm1xMEpacC93STBuMUx6bjhaMlc4Z0MyMjE4QVpvZmJiYUh0NHpTN25weUd6dHdDUHh5NmpsditBS1dVZHFXR0FKbERXcFRSSG0zdUUyWjZFSHRDbUVQdkZxcC93SmthL0xrY3RXUUZBQUFBQUJKUlU1RXJrSmdnZz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vcGF1c2UucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQndBQUFBY0NBWUFBQUJ5RGQrVUFBQUFCR2RCVFVFQUFOanI5UndVcWdBQUFDQmpTRkpOQUFDSER3QUFqQTBBQVBtVEFBQ0U1UUFBZTRJQUFPdDFBQUEvdEFBQUlsaDFhMTZjQUFBQzBXbERRMUJKUTBNZ1VISnZabWxzWlFBQU9NdU5sTTlMRkdFWXg3K3pqUmdvUVdCbWU0aWhRMGlvVEJabFJPV3V2OWkwYlZsL2xCTEU3T3k3dTVPenM5UE03Sm9pRVY0Nlp0RTlLZzhlK2dNOGVPaVVsOExBTEFMcGJsRkVncGVTN1hsbnh0MFI3Y2NMTS9ONW54L2Y1M25mNFgyQkdsa3hUVDBrQVhuRHNaSjlVZW42NkpoVSt4RWhIRUVkd3FoVFZOdU1KQklEb01GanNXdHN2b2ZBdnl1dGUvdi9PdXJTdHBvSGhQMUE2RWVhMlNxdzd4ZlpDMWxxQkJDNVhzT0VZenJFOXpoYm52MHg1NVRIODY1OUtObEZ2RWg4UURVdEh2K2F1RVBOS1dtZ1JpUnV5UVppVWdITzYwWFY3K2NnUGZYTUdCNms3M0hxNlM2emUzd1dadEpLZHo5eEcvSG5OT3Z1NFpyRTh4bXROMGJjVE05YXh1b2Q5bGc0b1RteElZOURJNFllSC9DNXlVakZyL3Fhb3VsRWs5djZkbW13Wjl0K1M3bWNJQTRUSjhjTC9UeW1rWEk3cDNKRDF6d1c5S2xjVjl6bmQxWXh5ZXNlbzVnNVUzZi9GL1VXZW9WUjZHRFFZTkRiZ0lRaytoQkZLMHhZS0NCREhvMGlOTEl5TjhZaXRqRytaNlNPUklBbDhxOVR6cnFiY3h0Rnl1WlpJNGpHTWROU1VaRGtEL0pYZVZWK0tzL0pYMmJEeGVhcVo4YTZxYW5MRDc2VExxKzhyZXQ3L1o0OGZaWHFSc2lySTB2V2ZHVk5kcURUUUhjWll6WmNWZUkxMlAzNFptQ1ZMRkNwRlNsWGFkeXRWSEo5TnIwamdXcC8yajJLWFpwZWJLcldXaFVYYnF6VUwwM3YyS3ZDcmxXeHlxcDJ6cXR4d1h3bUhoVlBpakd4UXp3SFNid2tkb29YeFc2YW5SY0hLaG5EcEtKaHdsV3lvVkNXZ1VueW1qdittUmNMNzZ5NW82R1BHY3pTVkltZi80UlZ5R2c2Q3h6UmY3ai9jL0I3eGFPeEl2RENCZzZmcnRvMmt1NGRJalF1VjIzT0ZlRENON29QM2xadHpYUWVEajBCRnM2b1JhdmtTd3ZDRzRwbWR4dys2U3FZazVhV3pUbFN1eXlmbFNKMEpURXBacWh0TFpLaTY1THJzaVdMMmN3cXNYUWI3TXlwZGsrbG5uYWw1bE81dkVIbnIvWVJzUFd3WFA3NXJGemVlazQ5ckFFdjlkL0F2UDFGR05VWmlnQUFBQWx3U0ZsekFBQU93d0FBRHNNQngyK29aQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU5ENk56SFlBQUFFcVNVUkJWRWhMeFpZeERvSkFFRVdwU0Vnb0xMa0VWL0VNdEJ5QWlvSXJrSmpZY2dEUFlHWHJHYWpzTFV4czhYK3phOVlOdTR1NGppUS8wZDNsUDJka2hrbVNCZGMwVFJtMGhYYlFFVG9yOFRQWHVKY3RzUElmZ1VrQjdhRTdGTHA0aG1lTFZXRGMyRUszRUdWbW4vZTBpNkVxZlljVklQc1dldmpUakFNcGRJb0EweGIwU3AzUlluT0lDTk5Xd3l3UXU5VVBZTnF5ZW9OaU5ZY3VIaUFqM3lpWldYQ3QyMWIwemw5UWZHbDgwZGtwMFdkZDZ3NnZ4Z1NPQXNEeENRU29EUDEza1NJa3BpU3dGZ1RXQlBhQ3dKN0FZTzFGVE9ud0Y2QjRTc1VmR3RteVVMVW9WL2dLK0dscnU3S1V2bWx0b2ViZGFYTndPcU51WGV2KzVxMmlsSHM5R2I4KzJBUkNYV2xtZi80RnJLS1VIVEVVbERPb3pCQmxQbldBeW95SkZsUnVFTGJBMFViOUIrSkFJVkZpR2hXY0FBQUFBRWxGVGtTdVFtQ0NdXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9wbGF5LnBuZzwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJ3QUFBQWNDQVlBQUFCeURkK1VBQUFBQkdkQlRVRUFBTmpyOVJ3VXFnQUFBQ0JqU0ZKTkFBQ0hEd0FBakEwQUFQbVRBQUNFNVFBQWU0SUFBT3QxQUFBL3RBQUFJbGgxYTE2Y0FBQUMwV2xEUTFCSlEwTWdVSEp2Wm1sc1pRQUFPTXVObE05TEZHRVl4Nyt6alJnb1FXQm1lNGloUTBpb1RCWmxST1d1djlpMGJWbC9sQkxFN095N3U1T3pzOVBNN0pvaUVWNDZadEU5S2c4ZStnTThlT2lVbDhMQUxBTHBibEZFZ3BlUzdYbG54dDBSN2NjTE0vTjVueC9mNTNuZjRYMkJHbGt4VFQwa0FYbkRzWko5VWVuNjZKaFUreEVoSEVFZHdxaFRWTnVNSkJJRG9NRmpzV3Rzdm9mQXZ5dXRlL3YvT3VyU3Rwb0hoUDFBNkVlYTJTcXc3eGZaQzFscUJCQzVYc09FWXpyRTl6aGJudjB4NTVUSDg2NTlLTmxGdkVoOFFEVXRIdithdUVQTktXbWdSaVJ1eVFaaVVnSE82MFhWNytjZ1BmWE1HQjZrNzNIcTZTNnplM3dXWnRKS2R6OXhHL0huTk92dTRackU4eG10TjBiY1RNOWF4dW9kOWxnNG9UbXhJWTlESTRZZUgvQzV5VWpGci9xYW91bEVrOXY2ZG1td1o5dCtTN21jSUE0VEo4Y0wvVHlta1hJN3AzSkQxendXOUtsY1Y5em5kMVl4eWVzZW81ZzVVM2YvRi9VV2VvVlI2R0RRWU5EYmdJUWsraEJGSzB4WUtDQkRIbzBpTkxJeU44WWl0akcrWjZTT1JJQWw4cTlUenJxYmN4dEZ5dVpaSTRqR01kTlNVWkRrRC9KWGVWVitLcy9KWDJiRHhlYXFaOGE2cWFuTEQ3NlRMcSs4cmV0Ny9aNDhmWlhxUnNpckkwdldmR1ZOZHFEVFFIY1pZelpjVmVJMTJQMzRabUNWTEZDcEZTbFhhZHl0VkhKOU5yMGpnV3AvMmoyS1hacGViS3JXV2hVWGJxelVMMDN2Mkt2Q3JsV3h5cXAyenF0eHdYd21IaFZQaWpHeFF6d0hTYndrZG9vWHhXNmFuUmNIS2huRHBLSmh3bFd5b1ZDV2dVbnltanYrbVJjTDc2eTVvNkdQR2N6U1ZJbWYvNFJWeUdnNkN4elJmN2ovYy9CN3hhT3hJdkRDQmc2ZnJ0bzJrdTRkSWpRdVYyM09GZURDTjdvUDNsWnR6WFFlRGowQkZzNm9SYXZrU3d2Q0c0cG1keHcrNlNxWWs1YVd6VGxTdXl5ZmxTSjBKVEVwWnFodExaS2k2NUxyc2lXTDJjd3FzWFFiN015cGRrK2xubmFsNWxPNXZFSG5yL1lSc1BXd1hQNzVyRnplZWs0OXJBRXY5ZC9BdlAxRkdOVVppZ0FBQUFsd1NGbHpBQUFPd3dBQURzTUJ4MitvWkFBQUFCbDBSVmgwVTI5bWRIZGhjbVVBVUdGcGJuUXVUa1ZVSUhZekxqVXVORDZOekhZQUFBRWFTVVJCVkVoTHhaYk5DWU5BRUlVOUNRRUxzQWw3U0FXcHdhc0ZlTElKSVpDckJlU1FDbkxLTlRWNFNnZUJYTTE3TWh1TStET3VaaUk4VUhmbWZjeXlQeE1FaXFkcG1oMTBnSTdRRmJxTCtNNS9ITnNwcktaRFlCSkRKK2dGelQyTVlXenNCVVppQVQzbktBUGp6Q25VVUptK3N3ZW9uMEtQNldsR1FBamROb0E1QzNxRm85VmlzTm9RNXF5cVFTQkcweC9BbkdYNkJjWGZDSHBvZ0V6MG1BbDZSeDhvUG5JTmpERXV5UU9hZDRIMVVxQkhwWFVMQkNqUndyb1ZlbGFhRUppdEFTNnNOQ093WEFzVTZFWGhVeTVlY1dPYkdMQzlBbGo5QldnK3BlYUx4blpieUFxejIvZ0NORC9hYkE5dnFkTHVldkk4RnhYN3ZBMFp2b0NsU3RzV1E2RHNRVzJhcU80NUNhaE5tOWlEMmpYQ1BmQm1yZjRiWis3YUJ6QzFNS1FBQUFBQVNVVk9SSzVDWUlJPV1dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L3ByZXYucG5nPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQndBQUFBY0NBWUFBQUJ5RGQrVUFBQUFCR2RCVFVFQUFOanI5UndVcWdBQUFDQmpTRkpOQUFDSER3QUFqQTBBQVBtVEFBQ0U1UUFBZTRJQUFPdDFBQUEvdEFBQUlsaDFhMTZjQUFBQzBXbERRMUJKUTBNZ1VISnZabWxzWlFBQU9NdU5sTTlMRkdFWXg3K3pqUmdvUVdCbWU0aWhRMGlvVEJabFJPV3V2OWkwYlZsL2xCTEU3T3k3dTVPenM5UE03Sm9pRVY0Nlp0RTlLZzhlK2dNOGVPaVVsOExBTEFMcGJsRkVncGVTN1hsbnh0MFI3Y2NMTS9ONW54L2Y1M25mNFgyQkdsa3hUVDBrQVhuRHNaSjlVZW42NkpoVSt4RWhIRUVkd3FoVFZOdU1KQklEb01GanNXdHN2b2ZBdnl1dGUvdi9PdXJTdHBvSGhQMUE2RWVhMlNxdzd4ZlpDMWxxQkJDNVhzT0VZenJFOXpoYm52MHg1NVRIODY1OUtObEZ2RWg4UURVdEh2K2F1RVBOS1dtZ1JpUnV5UVppVWdITzYwWFY3K2NnUGZYTUdCNms3M0hxNlM2emUzd1dadEpLZHo5eEcvSG5OT3Z1NFpyRTh4bXROMGJjVE05YXh1b2Q5bGc0b1RteElZOURJNFllSC9DNXlVakZyL3Fhb3VsRWs5djZkbW13Wjl0K1M3bWNJQTRUSjhjTC9UeW1rWEk3cDNKRDF6d1c5S2xjVjl6bmQxWXh5ZXNlbzVnNVUzZi9GL1VXZW9WUjZHRFFZTkRiZ0lRaytoQkZLMHhZS0NCREhvMGlOTEl5TjhZaXRqRytaNlNPUklBbDhxOVR6cnFiY3h0Rnl1WlpJNGpHTWROU1VaRGtEL0pYZVZWK0tzL0pYMmJEeGVhcVo4YTZxYW5MRDc2VExxKzhyZXQ3L1o0OGZaWHFSc2lySTB2V2ZHVk5kcURUUUhjWll6WmNWZUkxMlAzNFptQ1ZMRkNwRlNsWGFkeXRWSEo5TnIwamdXcC8yajJLWFpwZWJLcldXaFVYYnF6VUwwM3YyS3ZDcmxXeHlxcDJ6cXR4d1h3bUhoVlBpakd4UXp3SFNid2tkb29YeFc2YW5SY0hLaG5EcEtKaHdsV3lvVkNXZ1VueW1qdittUmNMNzZ5NW82R1BHY3pTVkltZi80UlZ5R2c2Q3h6UmY3ai9jL0I3eGFPeEl2RENCZzZmcnRvMmt1NGRJalF1VjIzT0ZlRENON29QM2xadHpYUWVEajBCRnM2b1JhdmtTd3ZDRzRwbWR4dys2U3FZazVhV3pUbFN1eXlmbFNKMEpURXBacWh0TFpLaTY1THJzaVdMMmN3cXNYUWI3TXlwZGsrbG5uYWw1bE81dkVIbnIvWVJzUFd3WFA3NXJGemVlazQ5ckFFdjlkL0F2UDFGR05VWmlnQUFBQWx3U0ZsekFBQU93d0FBRHNNQngyK29aQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU5ENk56SFlBQUFFbFNVUkJWRWhMeFphOURZTXdFSVdwa0pBb0tGbUNWVElETFFPa1lnbWtTR2taSURPa1Nwc1pxTEpCcExUa3ZjaU93TEt4VGF5THBTY0Y3dWVMYlh5K0xBc1k4endYMEFFNlFWZm9yc1RmZkVkYkVaQnEyd1ZKYXVnTXZTRGZvQTk5NjExZ0JQYlEwMGV4MkJuVEIwUFY4bDEyZ013UTV0aGVaamprMEMwQlRLZGdydHc1V3hqSGhEQ2RhclFDWVcwRFlSWDhxSmpScnFDSUxLR0hMOE15S0JMSzNPVTNIZy9IR0JnREk0Rk1mMXdDcHkyZ2JROThmOUJpbno1NVlHZ0VZQnJSRU5pNWdJbG10a3pmRVRqWWdNR1Z3dUdvOXRnOFpnT0I1a3Z5cTErQmpnOXIvQXRRZkVuRlB4clpZNkUyVis3Z0s2QjRhWk10M21xV2N0ZVRQdVNPSXJDalRxOUM3QmV3bXFWc2k2R2c3RUZsbWlqalJwZHBFdzJvWENOc2dKTzErbThKd1BMa293T1c0QUFBQUFCSlJVNUVya0pnZ2c9PV1dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L3NvY2lhbHNwcml0ZS5wbmc8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW2lWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFLQUFBQUE0Q0FZQUFBQjYrdk1EQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUFsd1NGbHpBQUFPd2dBQURzSUJGU2hLZ0FBQUFCbDBSVmgwVTI5bWRIZGhjbVVBVUdGcGJuUXVUa1ZVSUhZekxqVXVORDZOekhZQUFDelFTVVJCVkhoZTFYMTNWRlhYOWpWL2ZLOGtMM2twSmpFbW1rUmpieWhZa0NKSWJ3clN4WWE5MTloN2I5aEZFY1NDRmJzaWlBVkZCRUVFYVNKaTR5SklsU0xDQlJGMGZtdGRPSmZiS0JwL0R0OGVZNDV6enQ1cno4azlkN0ZQM2ZPcXFkVVViZHZGYnZyT3EwUm13emZEY3RSMkRCaTc2Nk9DT1ptYk5WaEwwQldXbDMvODJTZjRsNThybzl2OGhzU09MZkZJdmZWSEJYTXk5L1d1djFmZWNPM3FvNmcvNVdEMDVERjdJNSs3ZVlkWERmTzZoZmVHZHpoRzdybFZMMGI3aEZlTjJ4dVpQdG4zem1SRi9ZaWVIZHlpZGJ1STdwbjF3UDhsV0lPMUZQVi9HSHZNN2M5WjUwVzkxMTZId2RZd1dPeU8rcWhnVHVabURkYVMwOWUxWDdaLzhMUTkySGY4RHE2R1BzYlZtMDhRL0pIQm5Nek5Ha05uN0FWckNuL0VwWithUHI3WHR6ZEtkbTdDNnlzQnFMaDZFUlhYZ2o0dWlKTzVXZU9CZ1JhdW1iVjVMT2lQM1hmNzNDQ2YyKzhPeHVZaThya1k4VGxsL3lkZ2J0WndKUzNXRlBSdmRtdXovNTVsYjRqbWpFWFdibmRrNy9kQXpyRjlIeFhNeWR5c3dWcXNLZWovT3Zuay9vR2VrZkNMejBORVdpa2luNGx4KzFuWlJ3VnpNamRyT1ByY0FXdEs5UHZZTG5Kem51eUYvWDdSMk9nZGhta3JBekI2NFZtNC9uWGlvNEk1bVpzMVdNdHBraWRZTytDSHBqNUoyaG9vOWQ2QjBnMHJVRHpKRFMrSE82REl3ZnlqZ2ptWm16VllLMEdyTzY0NXRmT1o3QnMxMmNrcjR0M0orNFhZRlBrQ1V5OWxZbHpnOC84VE1EZHJuRWdxaExQM3JYZVREa1JORHRObzR4WnZxZ25Sa21sSVd6c1BqeWxCSGswZmpwU0pMaDhWek1uY3JNRmFyTW5hUDR3NTZtWkx5WGNpUGg4N293b3dPemdiRTRNeU1kei8rVWNGY3pJM2E3Q1cxWTViWUcyMXZvNHJSSXZjQXpGMVJRQ2NaeHovSkdBdDFtVHRpei8vVkprL2ZSd2x4d2dVMnBsK0VyQVdhMTd1OUV2bGNLL3dyQlZYUlpnU1JEdjgzTE5QQXRaaXpkSGU0ZW0zZXJZVFBYQ3p3ZU5abzVFeXp1bVRnTFZZazdWYnpqZ2pXbk0xRFhPdVpHSG91ZlJQQXRaaVRkWldNeHE4QVpPWG5vUFQ5R09mRkt6SjJ1Ri8vSUtDMFlOUllHc2l3Y3V4UTFDNjNSMWxmZ2ZmQzRXRGJhVWNBaGZYdlZvMFN3TG1GZW9sUzlKa2JhZnRJVytuQjZaaDZKbFBDOVljdml1MDZvNU9SenlneEhzdzF1SFRnalJaVzJQNUpjd0tmQWJYTTZyaGRFSUVzd01wRXZCNlhYSHZXOCthcksxbVBHUWpuS2NkaGNQVVR3dldaTzNiclg1RnZvMEpTcmR0UUZYcUU3eHZlWnViZzVmVHhxRmdnTEVTaWhmOEphVXJPK1lyMTg2YXJEMXc2elVNUFpVSzExTzBjejhoaHAwV1ljaXVVRVJxdGNQOUVUWklIald3UVNSUTNIVVhjd1E1bU9DVVRUOGxCTmdiSTN5d0plNk50RzJRaXpWWlcydE5NSWFlVE1XZ2t5SWw2SGttd21CSE5OWmVUWlhBeGljT2hudVNWTWFxNmw5ZkhXdXl0cHJ4ME0yd20zemtiMlB3WDhmaEZ4aURwRWRwZVBMc3VSSlVhYkIyZks4dWNvbFhmdTRVaXVmUHhLdFZpL0U2K0pMS2ZLeUlERWZaRVY4Nmw5dUpBdWNCeUxjMlVnbm1FVXJaVVYvNW1QNUd1UHRuQzlodXVncm5ZNC9oY3Z6cDM4S2dFMDh4NDJJNlpsM0trSHloamVFYnZETUV0M3ExcVU2V0VaUTBkU0JoK0FBRU81cmk0bWdYUFBZL2lieDdjU3IzUzFIcVk4VHY4VUNBYTMrRVVxTFd4OG1hckszbmZoM094MU9WWUhmMHNTVGhGQXNuSkxlcDZ2TytkYXl0WmpoNEkyd25IdjVibUxEc0xCSWVwQ0k5aTBhajRoS1Vpc3RRVlZVbEIxVWFySjIxZEliME14Wk5Ib044eTM1eTRMcDNwU1Z5KzRHM1ZjVXE5bjA1dDVaYmZPU0FFbmQweTE4eFlOTVZPQng1Qk1kalQrUXcvbndhWENrcEZldFZiVys1bFlOOGNXVnRzcjk1QzcvRUFyajRQY1VjU3NpQWxDSkpRaXIyZGZHNGpqRE5QNUZNNTJQSmxHU3FFTzFxaWN1am5aRVdITlRvZzhNYjJqLzNqKzdIWlRzajNCdldYelUzYWJLMjd2cGdsWi9SeUR0Sk11b3BGcTdqdHNic2w0WmlXRnZOd05VZC9TY2MrbUR3dWVPdDJBZklMeXhTU2pyWkpGU2x3ZG81SzJkTFBxUDQwSDY4TURkUWlhS0pvNVdTOEcxT2RwM3hBcy9MT2RPbCswOThXSm4vRHAwRDl0OXdHWGFISHNMK3lHTTVCRDU4aWFpTVVob2RueWkxeWNadW8rU3JxNVJYdnBVMGJZL0lsaVN6b29iejltRGM3TjRTeVp3a1E2MlZFRDNJSEtIenBvQVRTckc4ZVpFTGNYS2lGS3IraHN6SW13Z2RTb210Z3BzMVdWdDc3VlhZSFg2c2hINWU5MVFtNEpHWUxIQ2Jxajd2VzhmYWFuMEhiWUQxK0lNZmpLMitONUNUWDFCdjhuRWlxdEpnN2V5YUViQmdxRFB5VFBYclJJbm5EcVY5L01wOXJWejhtNFE0eUtMeTZXTnBueXBLV01YMnlOK2F3V3A5RUd3UFBzQkFTa0paSkdWWGYrbjNjc1FZY2ZLSlVqdkhPaDE5aEZldnErb2RtWEtMeTVId3ZCZ0xMcWNyY1RodHZZcVFyci9qL2hBcjNLZHpOMWtrdWxvZ2pKSlBzWERTcGEyYXF4U2ZNc1lSZWFjUG8wcGNLdGNsamU1LzNuSXdWb3BuVGRidXZmb3lCaHg4cUFUTC9RK2d2LzJPa2o3WGNadXFQdTlieDlwcWVzN3JZVEhXOTRNUkVaZlNZUEp4QXFyU1lPM01CZFU3T2MrNGI0UGdKSkl0NVplRDVQbzAraGhWRTNpcitjK3dYSHNSQXc0a3c4WTNSUTUzMGdxbGRNWGxWZkNnVWN5T3Zpalp1TmtCb2dZbFg5TW91T29TblUvUlZhU2lodU9XSzdqV3FRWHVEN0xBZlRwbms4V05RVlpLSTEvZXlVTktjWXI5bnN5ZHFKU0VkemV0VnU1SG1xemRjK1VsV05IZnBncGFPK0l3WUUrczlDS0VrNC9yNm9wLzMzcldWdE4xV2dlek1RYytHTGtxUmovZmM3R040bVB0akRrVEpWOWlycUZ1Z3hDZk9pSDNoYitKajVYcjAyQTJLQVNFL2ZJVHpOY0V3bXIvZlZnZmVDQ0YxZjVrN0x5aGZFV2VWL29HZmduNW1FbUpaM3N3QmZQOFV4cVVQQkNhQXNOTk4rVDRCUzM3elpkeHRjT3ZTSEkyUTVLVHFSUUpqaVlRWFE2VTQ4NDdjVWpTem0yQkZybzRZYUtGczJiYWlLRXJYOW0rdk02eHN1Vk5TUWtpQnhyS3g1RW1hMnN1dXdpTGZROVVvdjNhMjJpMkpCVC9uUk1zQWE5ekhhUEZzakE1L0xFeUhBeXU1Nlg2cG1pWTdMbGZKemRyc3JhYWpzTWFtSTdhLzBGd25uRVV4YTlLbEViQUlYTk9OSXFQdFovTkhDZlpWemtHT2cyaWFORTh1UjFiRVJkYmI1L0M2Wk9sOGFVSDlpckYzbXoySTh4V1g0REYzbnV3M0hkZkR0WWU0UkM5a0QrY3lZcFh2bjJIb3JJM0RTYmd2bHNpSlc1QnkyN2pSVnh1MXd6M0tLbnUwV0ZTUUJTTmZyS2xOQ2xlMmhaa1o0SzgrTHVTNXRLY0xFUk9kcFByeXh6SncyMlYvcTZIYXhiSng1RW1hM2RmR2dBem4vc3EwWHpwVFNVZXJsTlZINUNVSnhmTDJ6eDZhbXlPcnBPZnRkWDYySyttWk5rSDQ1RWZockx5Y3FVRWJBd1hhN0syYU9vb3lSK2VQM0k0Y3ZwcTE0dkNxWk9VRTdDZVByTHhKZnQ5bExoRG12NEEwNVgrTVBOT2hEbmQzNUxGM2ZSaUpHWVVOWmhnRFFWc3ZKYXF4QzNvREhTL2lLQTJQK09lUFYydDJobEtrYnB0clJ4dDZ1SVprcll3YXowVVBYa28xMVowTzB5dXI4RERTU3RiY3YxODVlTklrN1hWRi9uRGhLNXFWZUY5RXJDdS9URCsrSDEwMzBpam9Rb04xbGJyYmJjS1pwUU1obTU3UHdpS3QxdDR1ekZjck1uYXFSUGRKSCs3K0lRZnNuWDcxSXVDS2RXSGE2RTAxRWMydm1TZmp6eTNuamF1LzlRRXhpdk93WGgzQWt6b3lrNkE4ZTVFSEw4cmY3N1pVS0xWMVQ3MmVMSWN0NnlPemZvQUJQN1pGSWwwZUV5a0c4c0Njbzhka05KVjVHWkw2MU8zckZHU0thVjdncko5VlhGd0orYVVpeU5OMXU2NjhEeDkva1FZMFUxblJmeTZSSGtFNURwVjlmWHRud0hlc1REWW1TREh6NXFzcmRiTGRpVXNSdStId2JBOWpVSmszRDNJUWxVQ0tzYnd0aUkvYTdMMkUzcEV4dVVkbmFma21Cb2pTN3QzblNqZXVrWCt2OXJldHQ3NC9Fa1RwUEVsZS9mSXhXYnI2K0xxRDkvRGFQbFptSGpHMDg3aEhWU0RYZkVZc1AwbWlzUVZINXAza240RkplWEVxY0JkbzJIcWxZZ0JheS9nd2g4LzRwNHRKV0IvZlNseTZSNmVVRW9US2NGcTJtVHJWYlhYeGNHeGhYUWZVYmFkTlZtNzgveHpzS0RrTTZRRVVVUnpPdWRUTEZ5bnFyNitIUlgydEJDZDE5Mlc0MmROMWxiclliTUMxblFSMG5mb25rYWg0czBiZkFnVStWbVR0UitOSENUOTI4c0NBNUNsMWF0T1ZOeXRQdmZoOG1vUEpWUTlzZHlXTjNRSXVBK2phT1Z5dWZoc2c3NjQwdVE3OUZ0eUdxYVVKUDEyeWtQWC9TYUdla2NnTlUvNUhseGpzL0xJclNkS3ZJS09HU1dnOVdwLytQLzJBNDFNaGtpdzBwTWk1OGcrcVVRaG5lOEpiYkwxUWtBaDNXYVI3U3VzcHgzMGtmc3p1YTlzSEd1eWRxZTVaMkMxSzRFZXVjVXI0WGNWNTRCY3A2citaWGtsTmdTTFlMTW5EcmRTaTVSMkVmZVIxV0JOMWxiVDdMOE1ObU1QUUhlSVY2TlEvdm8xUGdTSy9LekoyaWxESGVYK1dISEFCV1QyNnFtRW9oWExwWEhpQzZwalZQV3JxeTdiMEFDWHZ2OFdCb3RQdzl3empuWk9IUFJsMEhmN1hRemNFWTRyU1Zrb2ZWMzdsS094eWZlbTZpMXM2SlVqV1U3WmRRczY3RnV0T28rekxiNlhIQm9UTEhTa3lEbTh0M1lFek1wRUJGM3hjcnRvaGZ4RkdBZHhuV3hmWVQwM0xFUStBWWxUTm80MVdidmo3RlBvVDhtZ3Z5MVdDYTJYaHl0OVhLNVRWZDlsYlFSNnV0K1JjRmg2eHFyc0o2dkJtcXl0MXQxNktRYU84NFcyNis1R1FTd1c0ME9neU0rYXJCMnUxVVBwajYyNEc0TVg0OFloczBjUFpQVXp3TXRObTJwSFBpOHZTZjNmUmJheEVRSy8vUWI2aTA3U0lTZ09lcFJ3dXR2a29iUDVEaUtlRmpRMjUrVGl2SVB2UTJkemxCS25vR0hoRlErTEZXZHgrcGZ2a0RpZ0g3MmYxMGNLMGJLNWNseVJVOGRJMmhLR3lGL2RWdEZwaTJ3L1lmMjJjVytVVXVMS2xpZXpKc3JGc2lacmQvanJKR3hvOU5mYmNsY0o3VmJlVXZyc1hGZFh2Y0RSVUR2SHNTWnJxNmxiTG9FRFBRblJHclM3VVNncEtjV0hRSkdmTlZrNzRKdi9vbURXTEpTSHlQL0hxdnJXQzVjdXhYTU5qWStDYkZOVGlYYmZCU2ZvUHpZT09sdGpvTDFGSGxvYmJxSHY2a3U0ZnYvOUxraVMwZ3VndGZLeUVwOHN2NVZYQXN5WG44SEpadC9RdVZrL3hGSFNDRWkwTVVKVnlTdnBMc2k5ZTBmU2RtL01ZTG5ka25mNm1Gdy9vWCs0bTdQUzdwUGw1M1hXWk8xMjlBN29RSTk0Nkd5S1VVS25WUkZLUEZ4WFY3M0EwVkE3eDdFbWE2dDF0VmdFNTRtSDBOTjUxd2VodVBnVkZORVlMdFprYmYvL2ZvMHNNM05rZE9zdVFkN28wZlN5NkF5VUhENGk5K0hmcEtSSVk0VFl2N05rVGRiV20zY2MxblRJNkVPam5kWW1aV2l1Q0VhM0JlZmh1Q01FS1Zrdkd4d04wL05MWUxUcUFucHZ2SzJTVDlEbzd4VUgwMlduY0tMcGY1Rm9UUW5ZcjZjY1V1a2RSdG5DN1VreWIvZHdHMjhyOXJ1aFMvdnh4alc1dmdXWExpakZzU1pydDZWbitRNGVjZEIyajFhQytwcElwYy9MZFhYVkN4d050WE1jYTdLMldpZnpSWENkZEJnYVRycytDSVZGUlZCRVk3aFlrN1hQZmYwVnNpd3NrZEcxbXh5S1BUM2xQbnhWWnFaU2pHS2Y5OWxtVGRiV25ldUgvcFNBdlRkRzBUbU1Na3gzM3NXS2dCUTh6VzM0WWlRKzdRWDZMamtIelRVM1ZYTEo4ZytnUTdESjBwUHcrL0ZyU2tCRHhPbjNVRUxLU0ZlVXhNVWc3K1JSU1Z1YTMyRzVmWExmYXlkdWFIZkRIVDFOUk9wcTRLcVdPaUtYTGxCS21zZFR4eWx4c3lacnQ2YjNRQjEzeEVKcmZaUVNldENWcTJMaHVycnFCWTZHMmptT05WbGJyYjNKZkF5ZVJLT1IvZllQUW41QkFSVFJHQzdXWk8wei82RUV0T3FQOU03cWNpamVKWitBdkNPSzFtOVFpbFBzMTlodDFtUnRuVGxIWWJNN0ZqMDNSRUZ6L1cwSjdIMFNjRFdsQUxtdkduY2I1bFg1RzdqN3g2UHpYMzdvdGpKRXlpUHdxVnJhZU1mRGVORnhIRzN5RlJJdERSR3JvMWt2b3JTN296RGxnVncrVkx4NmhjakY4M0hlZ200cU93M0VQVThQcFlUSk8zNUVKUzlyc25ZcmVoZlVtWkpCa3g2dktZTDNpV0xodXJycWhmNE50WE1jYTdLMldpdTlxWEFjdVJOdFRaZDlFSEx6WGtBUmplRmlUZFkrOWVWL2tEWEFGczg2ZFpGRDNwUnBLZzkzK1FzV0tjVXE5bTNNTm11eWRwOVpSekNRRWxDVC9yTzdyNDJVb051cW05QllGWW9wUnhNUmxKaU52RmZsU24rTG1LNk1iejNNd2JLVE1kQ2NlNHBPcUU5RGZlVk5LWWZBVmRkeUlDV2cwVUkvSFA3dVA1U0FSb2p0MDcxZTNMR3hhUER3cnhoUTlpZ0ZDU1o5VmZLeUptdi9UcWRDcnBRTTNWWkhLS0VYSFNvVkM5ZlZWUzl3Tk5UT2NhekoybXA2WXoyeGNHOGliTmZjK2lCazUrUkNFWTNoWWszV1B2SEZsOGl5dGNlekRwMlZVQjZsL0RvUTc1RFNzK2VRMGF1UHlqNnFlRlRWc1NacmEvMTFHUFplc2VpK0pnTHFxMjlWWTFVNE9pKytnZzV6enFQOXJETm9UOG5WaXg0Ym1hNEpndVc2UzlCYjZrL25MMzVvTyswWTJzODhoVTZMTHRmMkZUZ2FXRHA0MCt2dDgvMXc4QnRPUUJQYzdkV3RYaVF0V1NpWEMva1h6dGVia0xuSERpUGVTSzlPVHRaazdlWVREbUlJSlVObnVycFZSQys2V0ZCS1FLcXJxMTdvMzFBN3g3RW1hNnRwT0cvQ3pJMTB0VGZ0d2djaE15c2JpbWdNRjJ1eXR0Ky92MENXblNOeWhyaWgrTUJCY05LOXBVTkxRNlVpK1FIU2UyZ2hyVzJuRHdKcnNuYXZtWWZnUUkrS09QRTYwMXNjU2xoeEU1MlczVUNucFNIb3VQUjZEVUlrZFoycFRXVWZWVHdLZFk1MHc5WmczakVjK1BwTEpGcVlJa1pUdlY1a1hndVd2eWloSnprUHg0NUN2djk1dklxSmxxQW81RHJTTjI2Z2MwcUxCdmxZazdWL0dYY0F3M2JjUlh1NnY2ZUkzblM3UkxGd1hWMzFRditHMmptT05WbGJUZE41STJadERJUGhqSUFQU3NDTTUzUnhvSUNHRXREa3IwQ0pKbXVmYTlZTTVjbkowczlaK2Z3NWl2ZlRCS0pWYTVFOWVEaUt0bm1nNVBSWmxmbklTZmhNZ3laMHQrNzRYa2pyU09lYkF4MXg4Ri8vUnM4WnZuRHl2b3N1SzhQUWNmbk5UNEpPbExqT1BuVGpkKzVoN1AvcUM5dzFNVUtNQmlWZ3R5NHFjYXRyWjFTOEtwYnVBekhkRWFncnRqSDFkelc3U3pSWnUrbW92UmkrOVE3YUxRL0RuMHZsb1VFdkVmVGVTaGRvTXVDNnV1cUYvZzIxZDFvUkx0RmtiYlVlenU2WXZTa1VBeGRjL3FBRWZKYWVBVVUwbElDc3hacXNIZEdESnFYVERxM01lSTRYcytkRDlHZDdsY2kwdGdVbm5HTGhCSzJyVDEzMXp6UzE4SlFTMEljU1VPc3YzN2NPbm5mb3NCdUdka3REUHdsWWl6VU41eDJwMnZmbHZ4RmwyQSt4OVBRbnBrdG5sYmhuYnkvM3NYTU9IYW96dGk0TzJYcldZazNXYnVLMkI4TTNSNkRIcWx2NG5WNDArQlJnTGRaa2JiVmVUbXRGbzVkZXdOUU5ZUitVZ0ttaVoxQkVRd25JV3F6SjJrRTllbFErbURRWldVNnVTRzNacmw2a2RlMkprcE5uNUw2TXQzUWZzcUYraXUzUHJXd1JwYWVQVGQ4M3FUUmFmQ0xMY00wVm1OUGJ2bTBXMy9na1lDM1d0RngrT24zM3YvOHR1cWl1amdSREkwUjM3S1FTeWNPSHkzM20rM2IyZGNiV3hTRmJ6MXFzeWRyZkR2RVVXUzBMZ2ozZEEyMis2TVluQVd1eEptdXI5Unl3ME0xZ3BDZm0wbHU3MCttOHpIN2hWWmpOdXRqb1pIeWFLb0lpVkNXZzRjeEFDVGRyc0JacnN2YUtiaG8rdnQ4MVFiS3RBNTViMnlGTlF3dXBiYnZnNmU5dDY4U3JrNmZsdnBEbkZqYjF4ak5YYXF1T0VtN1dZSzFEcExtd2MxY2ZwMDJYSjdjWjcvUE9jZGR0V0d5UFFwZmxvV2k5aUV4MEZuNWNNQ2R6c3dacnNTWnI3L3pYdjl6MmZmTU53dlVOa0dob2pGZ05HZ2s3ZFVWMHU0NVNKRTJvZlEreWdrNVJaTnNhdXg1REYzbk16UnFzeFpxcy9ZM0xUcmNXby9kaDZJYWJjS0RFNkU2SHgxYUxROUYwUWNoSFJmT0ZOeVRjck1GYXJNbmFFbitZSGphTDkzTkNUQ1RMak9VN0k3RFNNd3FydldJYWhaemNQQ2hDVlYvbVpHN1c2RGZLazk2RVdTdzF4MW5lc3RYamc5ODN3ZTEreG5qcU9nenBRMFlnZTlqb09wRTdmaXJlMFROcG9SU3NJVU9mZXVLNWpUbVptelVPa0JackN1WThWcXY4ejdVWnQrZWRNVTJTY2ZXNkE3ZDljWERiSC85eFFaek16UnFzeFpxQy9vNS8vbXYvWGtxSUlBMU5SSnRaSXM2eVA1TDYyMHFSZDlSUCtsbDVYYmF0c2V2TXlkeXN3VnFzS2VoL00yam4vdWFqOThLYVJxV3hXeUl4Zm5zMEpuckVmbFF3SjNPelJuTTY5Mk5OT1llc0h2MFh1UFYwV0MzU2RGeVA3bzdyb083UU9Cdzljd0dLVU5XWE9abWJOVmhMMFI1c2ZzY3VQdXUvL2E1eTEvLzdCN3dJZXh2QXhWOWJJT1RQTmhJYytjL1hEY1l6SjNPekJtc3A2anU0WDVwc3NNQXZTM1BLM3JlZHhudWp3N2lQQytaa2J0WmdMVVg5N2YvNHA1dkhQLzRwOHZ6SFA2RUkzNi8vaTVDMjdYQ3RkUnQ0MDNtcnFwakcxckVHYXlucWYrdmk0VVpKSWZwNjhDNThOY1FUWHczZC9YRkJuTXpOR3F3bHA5OTd3Q0p6MnpGYjRpY3NQbEkyZGJtZmVQcUtFK0pwRFlCakZNRjltWU81dEd3V21iT0kvMDgvZmhuOFowdVgyMzE2eHFWWUdVTmthNFowT3d1azI5Y0RiaGRpWk5aRnR1WmdEdWE2M3JxbEMzT3p4c3dqc1c3akR0ekpIYnpuOW1zWHI5c1Zmd2ZNd1Z6TUtleWtNSTIydHJHR0dxSUhkbjNwOVRGclBDUUhndzhGYzhTWjlCUXhwOERmWk93eDh6NHJMc2U3N1k4cG0zUWlVVHp0ZEpKNDJxbjNCUFdaZERKUnpCeDlWbHlKLzJIOGNjbisvK3hMei80TFRjZk05WDEzOEdRc0RwNkpoK2VSYUhnY2pNTE9RKzhIN3NOOW1lUGdxVmlNbWVmN3JxZjFmTlBnbHIrNVBMQ3h5SDY1ZGluNXY2eEhxVHZabzYybjlmWEwzaC9jbHppWWl6bXZFdmVNdzNmZEpoeU5yZkluOTRFRENZWHdpZnQ3WUE3bVlrN21EbFZ2Ylh0L29EN1MxODVIaHNjNlBOdXdtQ3pPRm53d21DTjlEYzNySlU3bS9tNzBFZE1oUG5mZW5VbCtpZE1wcFRpVVVJeDk4Y1U0SUFQZWJneTRMM09jZS9BS1EvYmVlZmZ0cU1PbW4zMENXZ3pia0xpQ1p1aFBvS3RTZTNvNGJEUHhDTGtrSE1hQTl3VDM0YjdNd1Z6TXlkemg2aDNqOHFlTUpuZXF3U2h5c1VZaCtmNFYycHRWdzY1bXFiZ3V0Q3N1MlRPUU9KZ3JmL0pvTVBmb3ZaRzVHOE96TWNvL0EyNWtML1l4d0Z6TXlkeTNkVHFKSGswZGhvZFRoaUJsUE5tbmZRUXcxK09aSTJrazd5alNYQktZdURVaUZ6T3Y1TURsYkRvY1RqMkR3K2wwMk5PeS8vRTAyUEUyZ2Jmcmd4RG5jaVpkd3NWMklScUxBeE0vK3dRY01NYWpjdFQ4TTdDbEI4T081RmpsU0krWEdySnE0NWdCWk9kaFB1b0F6YWlyd2NqOWtqb0hhbU11NW1UdXVHNGRVRGpjaVJ5c3hrTHNzUm12TDU3SDYrdVg2MFQ1K1pOa1RqUWRCWlNjRWhzMWNyRXFIT1lBOFY1UGxLeGZnY0pCTnRYMXp2M0IzSTY3d2w2UEpGKy9qMjJ2eHB6TWZhZHZaNlJNY3NXRE1mYjFJb2E4Vm1RUlJ3NVY5ZlZKbVRnSXpHMjArV2JscE1CTU9KNU1nOHZwTkF3bW03U0JmcWt3b0ttU2xqUmgzbmhmTWh5T2l5VDFycWNiQm5NdzE2U0xtVEFtN3M4K0FjMUhiQmM3VFBXRC9aU2pqY0pBZW8zS2Nvd3ZwcTN5aDhlUk1PdzZFbzZkUjI5aTc2a0l6Tm9RQ091eEJ5VTh6TW5jeVdiNktEOTdFbTh6TThnYUl4YXZRNjZpOGtHUzNHMlVkL1NhZitXamgzZ1RHNE9TTFJ0UTRHaU5ndjVrdDFhRGwvUTZFWmZLZS9Fb0drVmVnbFNmVDNaczk3cTBoYzIyMElwQkVudXhqdys3WGVIbGQvcDFxOVBxTElHU0x0akpETmRuakVFeXpUcVRSYnlQQjRMSHVTSmlzRldkL1ptNzM5Wnc4V0JLTEJmeTNuTTVRYTVhdERUeVRzQ1JtRXpFWlJUalpHd1dET2oxZFJleVR4UGFxMlByQjNNeTkyZWZnQ2JEdDRrSFRqcmFLSGVzQWZRV3M4Vm9YN2o3aEVDVW5vazNsV1djRm9ScUU1NFRRUW5vTzNpUGhJczVtVHVIcHhKV1ZxTHNsQjhLM1Z4bzVMS1JKRkhaaWFPU2VpN3ZLaXBRN244R1JXT0dJWitUeThxd0d2VEtFQy9aQ1l2TG04UjRGSTRZSksxUDZ0d0cxbHV1VnpqNVBZRUFaMW9mYzA0azNaWnQ0M1cyVVR0SkZybVpyOTdnQlRsYVhYcjBFaU5PcDJMQjFlZFllaTFUcnAvdGpwdmx0L1c3VnJ0WHVaSEpqd3dpeURnb2lpWjdpMm5hWkgwbGpieXVRMm1pK0wzaFpFQWt4MkVENWphaUpPRmtZaWNwSjNMVE10dVhndG4rOG5OLy96cjNFR2I3eVNDUzJodHluQkxhSlluOHY1Q0FSc08yaWdkSXp2c2Fkc2d5b2NQdHpMWCt5QzE0VWJQUDMxSDJFTUFBamdVa1FNZlZXOExGbk14ZDZPdUppdHNSS0hDMXh3c3pjcjhTTU1BTXBmdjM0RjBaSnpFeDBMSjR5ZnhxeHl1S0tSeEo1NHpraXNWNHRhWjZRbElsdlY1VXZIaXV0UDZlUm1kWWJycGVJZXM2TmU5U09wNFZWV0QwR1pGS1Y2dHJUMnFmcVFxSlUwV2ZJWnNTY3NtVkRMSnFxM1hKR3JEdFJubUViaWR5cjJMbktockphaERoWkFJMi9aRXRiMTdrb09EU09lU2RPVUl2QnNpL1NWeEVKa2tSNDEzbE9KaVR1ZnR1dWltMlA1YUtnZXhRUmRwR2U1SXgvYXk4NWNmeXk2bGtESmtzYWVlNHhvQTVtZnV6SHdFTmhtd1JXNDgvREt0eEIrdUZCUjFhVFdrdTc5V0krOVg3WFNieGhDL2kxS1VrOUhiZUxlRmhUdWJPMzdzRFlyOGp5RE0zUko0SnVWL0pJSCtRZzJSVUU0ckViSWplWDJPOERya0d0bUNUSUw4NjRYbWtmUHNpVDFxZlpHc05jL2ZnQ2x0eXFoS3c5cHBJRXN0K2ZjdXZQWmZXYy91SVUwL3JIS3dxYVJiYjVyQk11WGpyemRmTHc3VTY0RDQ1VlFtSUowK1ZwK2RxUFdyWWpTcDkwM0s1R0k1OU5IVTR5dE5xOVlxZVBzSnRkcW1TNFdKdTdRMDN4UDBwcWF6SkhJbGg1ZnNRT25RVCtFdzhUVWpQZW9XamRDaldwbGVYK2g5OFJIZ0lhNEt3NUhYSk52V3hscUNhZzhHY3pQM1pKNkMrNnlheE9TVlhRd1pGSnVSa1lFRlRLZk1LQk5lb2R5Z3RMY2ZHZldFWXYvdzhacXdMQkh2Q0dJM1lLK0ZpVHViTzg5cUtVdDk5eUtWMzAxU2haSyszTkNrcUh5UlhtdzBaNllLTmh4b3FpUTREWWJydVNrVi9NaFlTNEhZNFVhNWJmRllwTm9SbVlvamZJMHc3STM5b2t3M2NIWndNeXozeFVoN21zOXdVWEg2elo3c2E4eUEyRURKRDRzSmF6OEVxOHUxN01tZUN4Q0FvaU9iMU11TElQcGZqR0E5RzJJRmpoUEtFemd1Rk5qWWtZdTdlYTYrSkxYMGZTVTE4MkdHcXk4WVkvTHc0QksxV2hPSW5lb1RWZGkwOUlxUVhRVHZRUzdPTWRyeWtON2Q1dlN2UFkvRklnS2tQL2Yxa215WVlEVmtSSjNOLzlnblkxOFZkYkRhYVJyZDZESXBNcU0xdytGN1kwR3YwWW5JL0ZRNjVEMFY1Nk9Yc2lWNk9udEIyMlEzOVlUNlNVWks1bUpPNWMzWnVST25oZzhneDFLczFCOUt2TVNLaVpjSEVzYlVKK1BpUlNyT2hndEhWOWgxc1J2VEN4VjRhRTkzcU54aXZDYXFRTlJZYWZEQVJBWWxaS25PM25KeEw2eXFyZ2g0cW1RaVp1Vjh0djZIWldzNDhLRHU0OXRDYnV2UXZ4SlBIU296N1NyQURGU051L2xRNUU2RDhnTnJuMXV6cklqVWhJbk1nNXU2NTZxcllnczd2QklNZzg3M0o2RUJ2WlJmVFJPOHkrbnRMSzZyd3hheGdyTDJTaXJka2lNU21TQTl6UzVGZC9CcHZxdDRobzZnTXk0SWVveXZOYVRIMHFqVVpZazdtL3V3VFVNZHB2WmpQN1l4RzdGTUo5bm5SY3ZhQ3BzTXU5SEh4b2tucE5FOUNjdmdGNHBLejBOcHNNM282N2FZM1czWkRqeTVBak1qa2lMbVlrN216NmNieDY3QlE1TmxZSTF1dkQzTElrNFVock9lUEdDYk5DWjRQTE5UelVqR0dFekRQMFU1YUgvVkhDeGl1Q3Fvd0kyTWhBZk1EbFcxbEd4cEp1WDNLYVRyUmwrSGhkWk4xVjhxdnFiZXE5bTRaU040dGhOTHM2dVF1Sno5bTNvNGVJVCt4bnMyQ2hGaGVQbDFVYXhQTS9XcmJETUhjNUJRdk5xSHpPMlB5cHBHQVRIemEwY3l6dHpYN21QdjhjMll3M0srbjFmc3hmQ0l5b0U2anBMRlhrb1NIT1puNzgwOUF4L1ZpMDVFSHlMdkZSOG0vUlovc092b045OEh4aTVFNGVlazJJUXBWZE9YNjltMzFTUElpdnhpSHpvWFIxZTl0Qk42SXdXeDNmOGxveUZ6TXFVUGNtWnZXNE8zTGx5Z2duNVlzSGExYVNEeGd0RkE0cTlaSXZIZ3plVWJMeHRTc3Z4Zyt0SG9FakwyTFhQYURvWG8yTW9yOHZRVU1WZ1pVbUpETkJadmRNQXkzM1lZb3YyNWJOVlhmSXMvdllLOFdnWU9YSm16WXMrWlMrZFV1ZjVCekFiMnBNb0M4V3doQ2VVSDNLM2xiMGErbE9KSVNzQ2FXbDA4WFRKT1RsTFlSSjNOckxBMFNtOUhJMVUvd1p2RklSRHQ2WDQ3UFNibnc0cDh6cnNMOVd2MEp5TEZqL082am0zc01qSWlMT1puN2Z5QUIxNG5OYUxUU0hlS3Q1QTJqTzlnTC9XZ0VwSUcvWmllK3BWc3ZsVkp2bU1vcTRSWk05YzQ2Y0M0R0hmdHZoUTV4TWFlTzR6cHh4cm9Wa3JZMzkrOGoxNlkvc25xVDl3dUR2RnV5KyttajdHSWczcEhmVEZsUUVISXNMZVRhaGRnY2F5dVVIanVHbHh2cHJSYzJNT0wrdXRxNDlWdHo5RjErb2NLWURIOEV6eFdESFRIb3YvVUdJcDhJVityMURoeVN4alBSSWlVUEZ3bm55b3ZsVnpyK1RxKzQ2eVBCVWxjQ29hUWQzQ1BaenZUYUppZkEyMElzTHgvTnFmVW81RUNoalRtWlcyTkpvTmpjTTRrc1BLcTlXZlMzazJNQVRkb1JFcEQvMTcra0VYQ1RUQUxtbGxSZ1VlQVR1T3hQeE5NWDFYY1J1R3dKZVlhV3l5UFJqM2lZazdrLy93UjBXQ3MycC9PMlBxNmUwQm04V3c1OUJ1MkNIbzJDcjErWDRTMGwyNXNLOW9VcFIxbDVHY3JvdGdtdnY2RXIwOG8zcnlVN1lNL0pLTFMzM0F3dDRtSk9IZUorTksvMnR6ckt3OE9RUDM0Y2pXQTZ5RFl4UnZHMmJYaEw4NHJMTGw1RXJvTURNbnVTSjR3RVpMM1J3SHFXcmc3Q1dqU0g3dEt6RmNia1p0V1hyaFFGbUhsRW82U1JmaTc4UmR2dm9qa3hNdjE1M1hnWGVjV3NDQ2dQYXQ5Q1l1b1RiNjR0UVFXWlFuSXBvbHRDVWVUWjhtUzJ2R2RoOGpBN2FTekhQNktmQmhOS0dWMEpDenpNeWR3YUN3UEVGcnZ1UVcvclhmUWxzRzFGVnpvSHJLbzV5dkRpMjlraDJCcVNMdVhaUUZmNlRlYmRSTXRsRWRoNU0wTmF2KzFHT2xvdXBjOUNQTXpKM0o5OUFtcmJyUkZiMEdqVnk4VlR5WnFqRjdrbHNLbFFVVkd4eEk2am1INkNRVndxbHF5TDZmWkRhV2twWHI1a1p3UyswcXVpcHlLMzBKWVNzQ2R4TVNkelIvVHBEVFlUWXZzMWNySkVWVllXWFV6RW9TSXBDVytMaXlHbWtTL2J4S1RXYmtOVHMzcWRsL1dzWitucUlwUVNVSHZSbVFyam5iRVNhdzBCZlRaR1lzcWhPeWdzYlhoZTcvYWdSTExRdUNQWG4zbU1pRk4zcVg5NVlOdm1aT3FqaTNpeXMyQ3dIWVpRSHBCN1FYS052UnpYbGRGRmhoREh5N3RHdlpBV1dEdDdqZnNLN2N6SjNCcnovY1dXZEJXclRWZStiRm5CeTI0MGI3Ym1DQ3k1OFBocC9nMXNwK1FTeW82YVJQdGp5UzF3MGduRkk1UVNrT3EwaVljNW1mdC9JQUZYaXkxSEg2QjNBSGVxdE9iUXBIb3RNaTVpdTQwK2xJd0ZoY1Y0UmNsVSthYWNmQUtmb3AzMWx1cms1UmhhYXBMREFuTXhwN2JkYW5GSTgrWjRycXNuc2RYSUhUUUloY3VXb3lxNytxY04zdEtrOWx6WHdjcVdHK3JWTmgwUzFMSCtYRWNQekswMS8xU0ZrY2RkSlJzTXpaWEJNRmdkaEZoUnZ2UUxVbHc1ZnVzeGVsQ2NLa3NPUTVxMXBiMzRYSGxBNjErUllLb2p0YlpJN0crSXNzZlZ0M095RDNnamVVSHRPZXhUZWw0dGE1VVJQc3hKVGpLRmZoNU1hR2RPNXRhY2QwNXNSWWRNclEzVjFoaGE2NlBSZzI2eDFBeUFsSWp2MEh4aEtIYUcxbzUwbmpUcXRWck1ieTZIZzllRnd1c3RxYTQzY1RFbmMzLzJDZGpIbGhLUWJwdDBzdk5BTjBvY1JhZzc3Q1RIaEIzb1pMc042bzRlZE9GUlFLUGVTMVJVbE9CbXpDUDhhdUtPem5ZN0pPaHE3MEV4T3lWY3pNbmMxMzZ0U2NBdVpMMUJ5QnM1Q215endZVnZMQmN1WDRIMG1qWmVwbmRSbDhReDZsdm5wR2J1bm5NcEFTbFplcEN0Qm1QcXFSU3NveDhDUEp1WUo3bVZvYXE4cnF6Q2VqSlNWMThTSk8wbjlCZVcvY2d0UzJ2aDJYTC9Wci9RcUVVSnFFZldHVEo0dm0walRhYzBRTHFNWFVacDVuTmNNT2lEUzcyNjRxSTEvZkRpdzlwSlZDWDBuRnUyUDNNeXQ4YWNzMkxMclhFU1Y0SmU2Nktnc1lZc010d3BBYXR2TklDZjByUmFRb2tXVnB0b2U4SXo4TWNpTWdNbjhMcFF2R3ZxTllpTE9abjdzMC9BSHBhTHhDWkRkcUMxK1NwMHNGeGRKOXFhcjBRbjY3V1MxKzhMYU9RcUt5MUdTT1I5Tk5WYlJPZDk4djJZaXptWis2b2tBZnVTbTBGWGlhTkI5a0I3dkhsYWU2dWtLcGNtdHJ1NDFyZ2RWTWNJc2ZXdE15ZHo5NWg5dk1Kb2V3dzAxa1ZLb0VPT1Z1NlhuNUMvODB2SjZDRVV2cXZ4TktjWVhuVER1Uy85VUdLWEpaZWxmWVMrc2t2RGJUUWxjZjZaOG5OL05FTzhvVFppNlNkbEZSRkRiZ2FLZGhtc3AxakhUbGRKZGxaeS9abVR1ZFZublJaYjBiVEh6blRseTQ0QlBHbTdONDJFd2wvT3QyUCtwSE85M2ZTVVJpZytFWmxvdm9ETXdnbThybGpQWE16SjNKOTlBbHBOUHlnZXR6VWFwb3V2MDB5bGtEcGhzZVE2K2xON1ZsWXU4dkx5OEtvb0grR0p6NkE3K3lxc2FOSzJiRjlUbW9ERG5NeDltUlBReUJUUERVMlE3ZUNFbktIREliNTBSVzVnNHRzMEw3ZHVSNGFXRHA2MUo0ZUVSaUJEMXdETXJmR1hYNFVSSll2Z2F0Q1ZuaDUwV2hpRTlyUFBvdXZjczNTVkhBakRsWUhvT3VzVTJZR2RRTWY1RjhBeFVoZUVPaHdNREduZWFzODVKOHJQdEtBRTFOZkczWjdrWEtDQUtHdHo2ZWNvZTVpQ0NnVlBQbTdrQ2VQM0JsZ3E5V1ZPNWxiLzY1VFlraTQ4MnRHRW5VN3N2VWMvYzZDMVdkNlJvUFhLMnpnVVhmdlNneC85NlBWUGMra3BDWUhYaGNMclRlZUZvdTJ5Y0RBbmMzLzJDV2d5eGxzOGRQa05hRTA2RDcycC9uVkNlN0svWktaY1JrWW1zdWxtYkZGQkhtNUUweDM0VVdlZ08wVytYeC9pY3FNdjJaaTRyM1hYUUxIdklaUkgza2JGdlNTVTNZcEFxWDhBeW1QdW91cEY3YTBTbm1SVXZPOEFlTko0V2h1YXdkYW1FMFNTcGZJNnV5R2s2L1ZENEMvTjBXM21ZVXJBTy9UbGhYMVVHR3lsdytGc3YvSlR6WnZSb1pOK2owT2pxeEtlYmxnbi9mS3pkbnRLMmgrT0dZbDA5L1dTWmFLVnVjcCtIQmRIemdiSGZ5R1Q4T25IeFJiMG14cC9rSVV0Sjg2Zmk4UFFneTVFOWtYbDRFQjBEdlpHWmFNem5kT05QL2xJc3UxTG1IVG1DVm9zb3BsbEJGN25PcUgrdHlWaCtIM3hUWHFNR0lNdXhQM1pKNkRwMk4yVkU5YUhVUkpkZ003VXV1MDVkS2hkZjNvQVJNL1M4Zng1QnZMenNuQTk2aUhVeDV5bHBLM3R4eHk2aElrYndtRTZabmRscklzelhqOTdocEpUWjVGcFk0OE1mU004STB1TkRBTVQ1QXdmaGZLSVdndXdkK1d2a1RONlBFMDA3MUEvMm5WR1dqOFRuR2xHSi9FempydzJwWG0yN1pmZC9LaGdUdVkrL0dNVEpCZ1kwRVJ3Y2kxUVFQYlpzOUlFdk8vb29ESkdWVCt1U3pBMGhDOTVWSGVZZktUU2pyd0oyWG0rT2VFM1FrdHlLUGh1N2cxOE0rZUdaTm1LUnNWbWRDSEMyOS9RZHJORm9maURFbzNCNjF3bjFQOU9kY3hqUjFmMnpQM1pKNkR1WVBmRUdSdHV3SWtPc1p5RVBIcjFWb0VlRTg1QmkwYkJ4MDlGRUtXbElTY3JBNWZDazlIZTdSUjYxY1R6S01vY1R1U2h3cHpNSGRLclYxeXlJLzNhWXk4ZHBMYnVSSlBJMnlQMWo5b0o2S0wyNmpSQ0hzYmJtbW1XWlRmcEIyTGFkcTZPRWVKazE4bUdJNjBIM1pPalJON2Y1SWM0NDhVbmNtMDlJdEdGN0M0KzFzUnk1bUpPNXZiK3o1ZWlDSnBIRzl1ako2STcwTVJ4R2J5NlUyMmVKSm1ycTlCVzN6WnpoZW4xeFo3L2ZpMzYyYzA3MFlYbXlmYW1GdzZhMHNUd0pqUWY5N3Q1MXh2RTl4VERVSXh0U2k4dk1CZHpNdmRubjRBYTF2Tk1MY1o1djJPcmpGazBiM09pZXdUR2I0akFCQVdNV3hlQlNkU1duWk9EUEhvbHFyam9CZTRtMFUrOGs1L0toUFcxOFRPSlkvYm1VRmlPOTM3SDNMdSsrdHJsVk1zL3MrTnB4QktaV09LWmdTblM5VTJRM3JjV21RT2R3WW5IejVnckhqNUdwdjJnMmhpT3JZbC9Sa3VSTWMyYkpTN20zUEhGbHk3T202NjRxVTg3WEdXM0l4Sm1kTmcwb0h1QWZ3Zk13VnpNeWR3Ny92VXYyME0vLzR4d0Ezb1dUT2V5OGJyNmlOZW0rNEtFa3RqcU4zWmVuRGdwclJQYTZsb21HQmdob3A4Um1KTzUvK08wM2JUZHhFUHZCbEhDT0c2SmhpVmRnSmdSekQ4SWQrQkF2MHcwYVAxTnRKdHc2QjF6Zi9ZSnlIOWdkK3Y1NW5xdUcrSXR4KzB1TXgvbkpWWUYwekZlWWtvcWNjRFZFSEhROVJ2aWE2Rmg0bjNITDRuMWgrK1VpMmNPNW1KTzVuYi94eisrM0U2SjR0UGt4N2pqdi94S3h0ak5jZmFYRm5JNFIzTjhnM3Yzd1YyWFFZZ2kzNzRMcmRvb3hYQWY3c3NjekxXTk9KbWJOY2hod0szZmZML2NybE1Pdk80NHhiZjg3NEE1bUlzNWhTK1A1dEhhN3Y3cWE5SGU3NzdINForYTRsalRaaExjc3JKRzNKQ2hPTlc2cmJST2FLdHJTYU0yUEwvNGd1Zm0yZ3I4WHpsdE4vOTVtRmQ4dS9HK1plMG1IUkYzK0J0Z0R1Wml6ditGNVB2L3lQU3dwSTcvc1RBQUFBQUFTVVZPUks1Q1lJST1dXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9zdG9wLnBuZzwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJ3QUFBQWNDQVlBQUFCeURkK1VBQUFDN21sRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRlZNOXJFMEVVL2padXFkQWlDRnByRHJKNGtDSkpXYXRvUmRRMi9SRmlhd3piSDdaRmtHUXpTZFp1TnV2dUpyV2xpT1RpMFNyZVJlMmhCLytBSG5yd1pDOUtoVnBGS042cktHS2hGeTN4elc1TXRxWHF3TTUrODk0MzczMXZkdDhBRFhMU05QV0FCT1FOeDFLaUVXbHNmRUpxL0lnQWpxSUpRVFFsVmR2c1RpUUdRWU56K1h2bjJIb1BnVnRXdzN2N2Q3SjNyWnJTdHBvSGhQMUE0RWVhMlNxdzd4ZHhDbGtTQW9nODM2RXB4M1FJMytQWTh1eVBPVTU1ZU1HMUR5czl4RmtpZkVBMUxjNS9UYmhUelNYVFFJTklPSlQxY1ZJK25OZUxsTmNkQjJsdVpzYklFTDFQa0thN3pPNnJZcUdjVHZZT2tMMmQ5SDVPczk0K3dpSENDeG10UDBhNGpaNzFqTlUvNG1IaHBPYkVoajBjR0RYMCtHQVZ0eHFwK0RYQ0ZGOFFUU2VpVkhIWkxnM3htSzc5VnZKS2duQ1FPTXBrWVlCeldraFAxMHh1K0xxSEJYMG0xeE92NG5kV1VlRjVqeE5uM3RUZDcwWGFBcTh3RGgwTUdneWFEVWhRRUVVRVlaaXdVRUNHUEJveE5MSnlQeU9yQmh1VGV6SjFKR3E3ZEdKRXNVRjdOdHc5dDFHazNUeitLQ0p4bEVPMUNKTDhRZjRxcjhsUDVYbjV5MXl3MkZiM2xLMmJtcnJ5NER2RjVabTVHaDdYMDhqamMwMWVmSlhVZHBOWFI1YXNlWHE4bXV3YVAreFhsekhtZ2pXUHhIT3crL0V0WDVYTWx5bU1GTVhqVmZQcVM0UjFXakUzMzU5c2Z6czk0aTdQTHJYV2M2MkppemRXbTVkbi9XcEkrKzZxdkpQbVZmbFBYdlh4L0dmTnhHUGlLVEVtZG9ybklZbVh4Uzd4a3RoTHF3dmlZRzNIQ0oyVmhpblNiWkg2Sk5WZ1lKcTg5UzlkUDF0NHZVWi9EUFZSbEJuTTBsU0o5My9DS21RMG5ia09iL3FQMjhmOEYrVDNpdWVmS0FJdmJPREltYnB0VTNIdkVLRmxwVzV6cmdJWHY5Rjk4TFp1YTZOK09Qd0VXRHlyRnExU05aOGd2QUVjZG9kNkh1Z3BtTk9XbHMwNVVvY3NuNU82NmNwaVVzeFEyME5TVXRjbDEyVkxGck9aVldMcGR0aVoweDF1SEtFNVF2ZkVwMHBsay9xdjhSR3cvYkJTK2Ztc1V0bCtUaHJXZ1pmNmI4QzgvVVhBZUl1SkFBQUNBRWxFUVZSSURiMld2MHZEUUJUSFRWcUVRcUMyaytEVVNSSDhCMEtYWXRPL1FEcEtPNG1qZ3lJSUNvSWdPamlLVTR0ajhTOW9LbDFDL3dGQjdOU3A0TlJhQ0FqU1VyL3Z5SVUwSnQ3UkhBMGN1WHYzM3VlYnU3ejdvYzNuOHpYUlk1cG14akFNQzc1VWRqVk55MUlNNmhQVTMxRnMxM1h0WHEvM0xXSnAvd21XU3FYTmREcDlDVWdOSlNPQWtWaHpPcDFlZDd2ZHp6amZXRUhMc2k0UWRJNWl4QVhIMkYzWWIyM2J2b25xL3lQb1RkOHpSbjRRRlNCcnd6Uy9ZSm9QdzlPOElGaXRWdGZINC9Fcm9FVlpzTURQeWVWeSs2MVc2NGY3NmJ4Qzc5Rm85SVNYS2pGQ0ZqMG0xZG5qQzFZcWxScW1vZWJabGIySVNXd09aRk9LYkRTUWpSOHdidkVPZXVNL05tZXoyUW15N2l0b2o2dURzNUZLcFI0aVBueUk3TjBCeDJXQ3lNaFRRTzdDSUdTYUZyYkp0TUdMV3R4bjROM3pLVDJXQVNYMFlSbzZ2bVlQb0VKQ21FeDRnYlJvaENxelVpUmMxSkVZMnlJdlZmMmtSU05rRzdFcXFJQ1Q1VWtqOEZQWFRZSVRkVGdoYWFKamtmYUZib29jU0l0RzZDaml5V0FjSGF2L0RaNERHZStFUGdQUzRrbnptQkFtRTg0MG1DQTJWbW9NdzFIWUdhN0NObEU3Sm9ZMmJ5Ym9IOEIwaEdCaE5rVEFaZnFSTFBWMnU5MmtXRitRR3VWeXVSRnh0RkRYMGc4ZGNaMU9wODRCL0IreWRqNmZQMEpGWmRZNkhwUHJMWTZRckN1OVJQbWZnUXArL21xdWlVSFJsVjZFZzhJcXIvcS85aHZ1cS9LbVNUTUFBQUFBU1VWT1JLNUNZSUk9XV0+PC9kYXRhPgoJPC9maWxlPgo8L3Rvb2xib3h0cGw+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/ToolBox-tpl-autolightbox-jquery-lightbox.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHRvb2xib3h0cGw+Cgk8bmFtZT5hbGJfanF1ZXJ5LWxpZ2h0Ym94PC9uYW1lPgoJPHZlcnNpb24+MC41LjE8L3ZlcnNpb24+Cgk8dG9vbGJveHZlcnNpb24+MS4zLjM8L3Rvb2xib3h2ZXJzaW9uPgoJPGFib3V0PlZHaHBjeUJVYjI5c1FtOTRJRUYxZEc5TWFXZG9kRUp2ZUNCMFpXMXdiR0YwWlNCMWMyVnpJSFJvWlNCcWNYVmxjbmt1YkdsbmFIUmliM2dnYzNsemRHVnRJSFpsY25OcGIyNGdNQzQxUEdKeUlDOCtJRHhpY2lBdlBpQkViMk4xYldWdWRHRjBhVzl1SUdadmNpQmxlSFJ5WVNCdmNIUnBiMjV6SUdOaGJpQmlaU0JtYjNWdVpDQmhkQ0E4WVNCb2NtVm1QU0pvZEhSd09pOHZiR1ZoYm1SeWIzWnBaV2x5WVM1amIyMHZjSEp2YW1WamRITXZhbkYxWlhKNUwyeHBaMmgwWW05NEx5SWdkR0Z5WjJWMFBTSmZZbXhoYm1zaVBteGxZVzVrY205MmFXVnBjbUV1WTI5dEwzQnliMnBsWTNSekwycHhkV1Z5ZVM5c2FXZG9kR0p2ZUM4OEwyRStQR0p5SUM4K0lEeGljaUF2UGlCR2FXeGxjeUIwYUdGMElHTnZiV1VnZDJsMGFDQnFjWFZsY25rdGJHbG5hSFJpYjNnZ1lYSmxJSE4wYjNKbFpDQnBiaUJ0YjJSMWJHVnpMMVJ2YjJ4Q2IzZ3ZkR1Z0Y0d4aGRHVnpMMkZzWWw5cWNYVmxjbmt0YkdsbmFIUmliM2d2UEdKeUlDOCtJRHhpY2lBdlBpQnFjWFZsY25rdGJHbG5hSFJpYjNnZ2QyRnpJR0oxYVd4MElIVnphVzVuSUhSb1pTQThZU0JvY21WbVBTSm9kSFJ3T2k4dmFuRjFaWEo1TG1OdmJTSWdkR0Z5WjJWMFBTSmZZbXhoYm1zaVBtcFJkV1Z5ZVR3dllUNGdiR2xpY21GeWVTNGdhbkYxWlhKNUxXeHBaMmgwWW05NElHeHBZMlZ1YzJWa0lIVnVaR1Z5SUdFZ1BHRWdhSEpsWmowaWFIUjBjRG92TDJOeVpXRjBhWFpsWTI5dGJXOXVjeTV2Y21jdmJHbGpaVzV6WlhNdllua3RjMkV2TWk0MUwySnlMeUlnY21Wc1BTSnNhV05sYm5ObElqNURjbVZoZEdsMlpTQkRiMjF0YjI1eklFRjBkSEpwWW5WMGFXOXVMVk5vWVhKbElFRnNhV3RsSURJdU5TQkNjbUY2YVd3Z1RHbGpaVzV6WlR3dllUNHU8L2Fib3V0PgoJPHNlY3Rpb24+YXV0b2xpZ2h0Ym94PC9zZWN0aW9uPgoJPHRwbHNlY3Rpb24+PC90cGxzZWN0aW9uPgoJPGpxdWVyeT4xPC9qcXVlcnk+Cgk8anF1ZXJ5X293bj4wPC9qcXVlcnlfb3duPgoJPG9wdGlvbnM+WVRvd09udDk8L29wdGlvbnM+Cgk8dHBsY29kZT48L3RwbGNvZGU+Cgk8dHBsY3NzPkx5b3FEUW9nS2lCcVVYVmxjbmtnYkdsbmFIUkNiM2dnY0d4MVoybHVEUW9nS2lCVWFHbHpJR3BSZFdWeWVTQndiSFZuYVc0Z2QyRnpJR2x1YzNCcGNtVmtJR0Z1WkNCaVlYTmxaQ0J2YmlCTWFXZG9kR0p2ZUNBeUlHSjVJRXh2YTJWemFDQkVhR0ZyWVhJZ0tHaDBkSEE2THk5M2QzY3VhSFZrWkd4bGRHOW5aWFJvWlhJdVkyOXRMM0J5YjJwbFkzUnpMMnhwWjJoMFltOTRNaThwRFFvZ0tpQmhibVFnWVdSaGNIUmxaQ0IwYnlCdFpTQm1iM0lnZFhObElHeHBhMlVnWVNCd2JIVm5hVzRnWm5KdmJTQnFVWFZsY25rdURRb2dLaUJBYm1GdFpTQnFjWFZsY25rdGJHbG5hSFJpYjNndE1DNDFMbU56Y3cwS0lDb2dRR0YxZEdodmNpQk1aV0Z1WkhKdklGWnBaV2x5WVNCUWFXNW9ieUF0SUdoMGRIQTZMeTlzWldGdVpISnZkbWxsYVhKaExtTnZiUTBLSUNvZ1FIWmxjbk5wYjI0Z01DNDFEUW9nS2lCQVpHRjBaU0JCY0hKcGJDQXhNU3dnTWpBd09BMEtJQ29nUUdOaGRHVm5iM0o1SUdwUmRXVnllU0J3YkhWbmFXNE5DaUFxSUVCamIzQjVjbWxuYUhRZ0tHTXBJREl3TURnZ1RHVmhibVJ5YnlCV2FXVnBjbUVnVUdsdWFHOGdLR3hsWVc1a2NtOTJhV1ZwY21FdVkyOXRLUTBLSUNvZ1FHeHBZMlZ1YzJVZ1EwTWdRWFIwY21saWRYUnBiMjR0VG04Z1JHVnlhWFpoZEdsMlpTQlhiM0pyY3lBeUxqVWdRbkpoZW1sc0lDMGdhSFIwY0RvdkwyTnlaV0YwYVhabFkyOXRiVzl1Y3k1dmNtY3ZiR2xqWlc1elpYTXZZbmt0Ym1Rdk1pNDFMMkp5TDJSbFpXUXVaVzVmVlZNTkNpQXFJRUJsZUdGdGNHeGxJRlpwYzJsMElHaDBkSEE2THk5c1pXRnVaSEp2ZG1sbGFYSmhMbU52YlM5d2NtOXFaV04wY3k5cWNYVmxjbmt2YkdsbmFIUmliM2d2SUdadmNpQnRiM0psSUdsdVptOXliV0YwYVc5dWN5QmhZbTkxZENCMGFHbHpJR3BSZFdWeWVTQndiSFZuYVc0TkNpQXFMdzBLSTJweGRXVnllUzF2ZG1WeWJHRjVJSHNOQ2lBZ2NHOXphWFJwYjI0NklHRmljMjlzZFhSbE93MEtJQ0IwYjNBNklEQTdEUW9nSUd4bFpuUTZJREE3RFFvZ0lIb3RhVzVrWlhnNklEZ3dNRHNOQ2lBZ2QybGtkR2c2SURFd01DVTdEUW9nSUdobGFXZG9kRG9nTlRBd2NIZzdEUXA5RFFvamFuRjFaWEo1TFd4cFoyaDBZbTk0SUhzTkNpQWdjRzl6YVhScGIyNDZJR0ZpYzI5c2RYUmxPdzBLSUNCMGIzQTZJREE3RFFvZ0lHeGxablE2SURBN0RRb2dJSGRwWkhSb09pQXhNREFsT3cwS0lDQjZMV2x1WkdWNE9pQXhNREF3T3cwS0lDQjBaWGgwTFdGc2FXZHVPaUJqWlc1MFpYSTdEUW9nSUd4cGJtVXRhR1ZwWjJoME9pQXdPdzBLZlEwS0kycHhkV1Z5ZVMxc2FXZG9kR0p2ZUNCaElHbHRaeUI3SUdKdmNtUmxjam9nYm05dVpUc2dmUTBLSTJ4cFoyaDBZbTk0TFdOdmJuUmhhVzVsY2kxcGJXRm5aUzFpYjNnZ2V3MEtJQ0J3YjNOcGRHbHZiam9nY21Wc1lYUnBkbVU3RFFvZ0lHSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3RFFvZ0lIZHBaSFJvT2lBeU5UQndlRHNOQ2lBZ2FHVnBaMmgwT2lBeU5UQndlRHNOQ2lBZ2JXRnlaMmx1T2lBd0lHRjFkRzg3RFFwOURRb2piR2xuYUhSaWIzZ3RZMjl1ZEdGcGJtVnlMV2x0WVdkbElIc2djR0ZrWkdsdVp6b2dNVEJ3ZURzZ2ZRMEtJMnhwWjJoMFltOTRMV3h2WVdScGJtY2dldzBLSUNCd2IzTnBkR2x2YmpvZ1lXSnpiMngxZEdVN0RRb2dJSFJ2Y0RvZ05EQWxPdzBLSUNCc1pXWjBPaUF3SlRzTkNpQWdhR1ZwWjJoME9pQXlOU1U3RFFvZ0lIZHBaSFJvT2lBeE1EQWxPdzBLSUNCMFpYaDBMV0ZzYVdkdU9pQmpaVzUwWlhJN0RRb2dJR3hwYm1VdGFHVnBaMmgwT2lBd093MEtmUTBLSTJ4cFoyaDBZbTk0TFc1aGRpQjdEUW9nSUhCdmMybDBhVzl1T2lCaFluTnZiSFYwWlRzTkNpQWdkRzl3T2lBd093MEtJQ0JzWldaME9pQXdPdzBLSUNCb1pXbG5hSFE2SURFd01DVTdEUW9nSUhkcFpIUm9PaUF4TURBbE93MEtJQ0I2TFdsdVpHVjRPaUF4TURzTkNuME5DaU5zYVdkb2RHSnZlQzFqYjI1MFlXbHVaWEl0YVcxaFoyVXRZbTk0SUQ0Z0kyeHBaMmgwWW05NExXNWhkaUI3SUd4bFpuUTZJREE3SUgwTkNpTnNhV2RvZEdKdmVDMXVZWFlnWVNCN0lHOTFkR3hwYm1VNklHNXZibVU3ZlEwS0kyeHBaMmgwWW05NExXNWhkaTFpZEc1UWNtVjJMQ0FqYkdsbmFIUmliM2d0Ym1GMkxXSjBiazVsZUhRZ2V3MEtJQ0IzYVdSMGFEb2dORGtsT3cwS0lDQm9aV2xuYUhRNklERXdNQ1U3RFFvZ0lDOHFlbTl2YlRvZ01Uc3FMdzBLSUNCa2FYTndiR0Y1T2lCaWJHOWphenNOQ24wTkNpTnNhV2RvZEdKdmVDMXVZWFl0WW5SdVVISmxkaUI3RFFvZ0lHeGxablE2SURBN0RRb2dJR1pzYjJGME9pQnNaV1owT3cwS2ZRMEtJMnhwWjJoMFltOTRMVzVoZGkxaWRHNU9aWGgwSUhzTkNpQWdjbWxuYUhRNklEQTdEUW9nSUdac2IyRjBPaUJ5YVdkb2REc05DbjBOQ2lOc2FXZG9kR0p2ZUMxamIyNTBZV2x1WlhJdGFXMWhaMlV0WkdGMFlTMWliM2dnZXcwS0lDQm1iMjUwT2lBeE1IQjRJRlpsY21SaGJtRXNJRWhsYkhabGRHbGpZU3dnYzJGdWN5MXpaWEpwWmpzTkNpQWdZbUZqYTJkeWIzVnVaQzFqYjJ4dmNqb2dJMlptWmpzTkNpQWdiV0Z5WjJsdU9pQXdJR0YxZEc4N0RRb2dJR3hwYm1VdGFHVnBaMmgwT2lBeExqUmxiVHNOQ2lBZ2IzWmxjbVpzYjNjNklHRjFkRzg3RFFvZ0lIZHBaSFJvT2lBeE1EQWxPdzBLSUNCd1lXUmthVzVuT2lBd0lERXdjSGdnTURzTkNuME5DaU5zYVdkb2RHSnZlQzFqYjI1MFlXbHVaWEl0YVcxaFoyVXRaR0YwWVNCN0RRb2dJSEJoWkdScGJtYzZJREFnTVRCd2VEc05DaUFnWTI5c2IzSTZJQ00yTmpZN0RRcDlEUW9qYkdsbmFIUmliM2d0WTI5dWRHRnBibVZ5TFdsdFlXZGxMV1JoZEdFZ0kyeHBaMmgwWW05NExXbHRZV2RsTFdSbGRHRnBiSE1nZXcwS0lDQjNhV1IwYURvZ056QWxPdzBLSUNCbWJHOWhkRG9nYkdWbWREc05DaUFnZEdWNGRDMWhiR2xuYmpvZ2JHVm1kRHNOQ24wTkNpTnNhV2RvZEdKdmVDMXBiV0ZuWlMxa1pYUmhhV3h6TFdOaGNIUnBiMjRnZXlCbWIyNTBMWGRsYVdkb2REb2dZbTlzWkRzZ2ZRMEtJMnhwWjJoMFltOTRMV2x0WVdkbExXUmxkR0ZwYkhNdFkzVnljbVZ1ZEU1MWJXSmxjaUI3RFFvZ0lHUnBjM0JzWVhrNklHSnNiMk5yT3cwS0lDQmpiR1ZoY2pvZ2JHVm1kRHNOQ2lBZ2NHRmtaR2x1WnkxaWIzUjBiMjA2SURFdU1HVnRPdzBLZlEwS0kyeHBaMmgwWW05NExYTmxZMDVoZGkxaWRHNURiRzl6WlNCN0RRb2dJSGRwWkhSb09pQTJObkI0T3cwS0lDQm1iRzloZERvZ2NtbG5hSFE3RFFvZ0lIQmhaR1JwYm1jdFltOTBkRzl0T2lBd0xqZGxiVHNOQ2c9PTwvdHBsY3NzPgoJPHRwbGpzPlBITmpjbWx3ZENCMGVYQmxQU0owWlhoMEwycGhkbUZ6WTNKcGNIUWlJSE55WXowaVcxdHliMjkwWDNWeWJGMWRMMjF2WkhWc1pYTXZWRzl2YkVKdmVDOTBaVzF3YkdGMFpYTXZZV3hpWDJweGRXVnllUzFzYVdkb2RHSnZlQzlxY1hWbGNua3ViR2xuYUhSaWIzZ3RNQzQxTG5CaFkyc3Vhbk1pUGp3dmMyTnlhWEIwUGcwS1BITmpjbWx3ZENCMGVYQmxQU0owWlhoMEwycGhkbUZ6WTNKcGNIUWlQZzBLYWxGMVpYSjVLR1oxYm1OMGFXOXVLQ1FwSUhzTkNna2tLQ2RoTG1GMWRHOXNhV2RvZEdKdmVDY3BMbUYwZEhJb0lIdHlaV3c2SUNKd1lXZGxJbjBwTG14cFoyaDBRbTk0S0hzTkNna0phVzFoWjJWQ2RHNVFjbVYyT2lkYlczSnZiM1JmZFhKc1hWMHZiVzlrZFd4bGN5OVViMjlzUW05NEwzUmxiWEJzWVhSbGN5OWhiR0pmYW5GMVpYSjVMV3hwWjJoMFltOTRMMnhwWjJoMFltOTRMV1JsTFhCeVpYWXVaMmxtSnl3TkNna0phVzFoWjJWQ2RHNU9aWGgwT2lBblcxdHliMjkwWDNWeWJGMWRMMjF2WkhWc1pYTXZWRzl2YkVKdmVDOTBaVzF3YkdGMFpYTXZZV3hpWDJweGRXVnllUzFzYVdkb2RHSnZlQzlzYVdkb2RHSnZlQzFrWlMxdVpYaDBMbWRwWmljc0RRb0pDV2x0WVdkbFFuUnVRMnh2YzJVNklDZGJXM0p2YjNSZmRYSnNYVjB2Ylc5a2RXeGxjeTlVYjI5c1FtOTRMM1JsYlhCc1lYUmxjeTloYkdKZmFuRjFaWEo1TFd4cFoyaDBZbTk0TDJ4cFoyaDBZbTk0TFdSbExXTnNiM05sTG1kcFppY05DZ2w5S1RzZ0RRcDlLVHNOQ2p3dmMyTnlhWEIwUGc9PTwvdHBsanM+Cgk8dHBsbW9iaWxlY29kZT48L3RwbG1vYmlsZWNvZGU+Cgk8dHBsbW9iaWxlY3NzPjwvdHBsbW9iaWxlY3NzPgoJPHRwbG1vYmlsZWpzPjwvdHBsbW9iaWxlanM+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9qcXVlcnkubGlnaHRib3gtMC41LnBhY2suanM8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW0x5b3FEUW9nS2lCcVVYVmxjbmtnYkdsbmFIUkNiM2dnY0d4MVoybHVEUW9nS2lCVWFHbHpJR3BSZFdWeWVTQndiSFZuYVc0Z2QyRnpJR2x1YzNCcGNtVmtJR0Z1WkNCaVlYTmxaQ0J2YmlCTWFXZG9kR0p2ZUNBeUlHSjVJRXh2YTJWemFDQkVhR0ZyWVhJZ0tHaDBkSEE2THk5M2QzY3VhSFZrWkd4bGRHOW5aWFJvWlhJdVkyOXRMM0J5YjJwbFkzUnpMMnhwWjJoMFltOTRNaThwRFFvZ0tpQmhibVFnWVdSaGNIUmxaQ0IwYnlCdFpTQm1iM0lnZFhObElHeHBhMlVnWVNCd2JIVm5hVzRnWm5KdmJTQnFVWFZsY25rdURRb2dLaUJBYm1GdFpTQnFjWFZsY25rdGJHbG5hSFJpYjNndE1DNDFMbXB6RFFvZ0tpQkFZWFYwYUc5eUlFeGxZVzVrY204Z1ZtbGxhWEpoSUZCcGJtaHZJQzBnYUhSMGNEb3ZMMnhsWVc1a2NtOTJhV1ZwY21FdVkyOXREUW9nS2lCQWRtVnljMmx2YmlBd0xqVU5DaUFxSUVCa1lYUmxJRUZ3Y21sc0lERXhMQ0F5TURBNERRb2dLaUJBWTJGMFpXZHZjbmtnYWxGMVpYSjVJSEJzZFdkcGJnMEtJQ29nUUdOdmNIbHlhV2RvZENBb1l5a2dNakF3T0NCTVpXRnVaSEp2SUZacFpXbHlZU0JRYVc1b2J5QW9iR1ZoYm1SeWIzWnBaV2x5WVM1amIyMHBEUW9nS2lCQWJHbGpaVzV6WlNCRFEwRjBkSEpwWW5WMGFXOXVMVk5vWVhKbFFXeHBhMlVnTWk0MUlFSnlZWHBwYkNBdElHaDBkSEE2THk5amNtVmhkR2wyWldOdmJXMXZibk11YjNKbkwyeHBZMlZ1YzJWekwySjVMWE5oTHpJdU5TOWljaTlrWldWa0xtVnVYMVZURFFvZ0tpQkFaWGhoYlhCc1pTQldhWE5wZENCb2RIUndPaTh2YkdWaGJtUnliM1pwWldseVlTNWpiMjB2Y0hKdmFtVmpkSE12YW5GMVpYSjVMMnhwWjJoMFltOTRMeUJtYjNJZ2JXOXlaU0JwYm1admNtMWhkR2x2Ym5NZ1lXSnZkWFFnZEdocGN5QnFVWFZsY25rZ2NHeDFaMmx1RFFvZ0tpOE5DbVYyWVd3b1puVnVZM1JwYjI0b2NDeGhMR01zYXl4bExISXBlMlU5Wm5WdVkzUnBiMjRvWXlsN2NtVjBkWEp1S0dNOFlUOG5KenBsS0hCaGNuTmxTVzUwS0dNdllTa3BLU3NvS0dNOVl5VmhLVDR6TlQ5VGRISnBibWN1Wm5KdmJVTm9ZWEpEYjJSbEtHTXJNamtwT21NdWRHOVRkSEpwYm1jb016WXBLWDA3YVdZb0lTY25MbkpsY0d4aFkyVW9MMTR2TEZOMGNtbHVaeWtwZTNkb2FXeGxLR010TFNseVcyVW9ZeWxkUFd0YlkxMThmR1VvWXlrN2F6MWJablZ1WTNScGIyNG9aU2w3Y21WMGRYSnVJSEpiWlYxOVhUdGxQV1oxYm1OMGFXOXVLQ2w3Y21WMGRYSnVKMXhjZHlzbmZUdGpQVEY5TzNkb2FXeGxLR010TFNscFppaHJXMk5kS1hBOWNDNXlaWEJzWVdObEtHNWxkeUJTWldkRmVIQW9KMXhjWWljclpTaGpLU3NuWEZ4aUp5d25aeWNwTEd0YlkxMHBPM0psZEhWeWJpQndmU2duS0RZb0pDbDdKQzR5VGk0elp6MDJLRFFwZXpROU1qTXVNa2dvZXpKQ09sd25Jek0wWENjc01tYzZNQzQ0TERGa09rWXNNVTA2WENjeE9DODFMVE16TFZrdU1UWmNKeXd4ZGpwY0p6RTRMelV0TVhVdE1sRXVNVFpjSnl3eFJUcGNKekU0THpVdE1YVXRNa3d1TVRaY0p5d3hWenBjSnpFNEx6VXRNWFV0TWtrdU1UWmNKeXd4T1RwY0p6RTRMelV0TWtZdU1UWmNKeXd4WmpveE1Dd3lRVG96WkN3eWN6cGNKekZxWENjc01tODZYQ2N6TWx3bkxESnFPbHduWTF3bkxESm1PbHduY0Z3bkxESmtPbHduYmx3bkxHZzZXMTBzT1Rvd2ZTdzBLVHRtSUVrOVRqczJJREl3S0NsN01WZ29UaXhKS1R0MUlFWjlOaUF4V0NneFpTeEpLWHNrS0Z3bk1WVXNJREZUTENBeFVsd25LUzVzS0h0Y0p6RlJYQ2M2WENjeVJWd25mU2s3TVU4b0tUczBMbWd1UWowd096UXVPVDB3T3pjb1NTNUNQVDB4S1hzMExtZ3VNVW9vZGlBeGJTZ3haUzR4TnloY0owcGNKeWtzTVdVdU1UY29YQ2N5ZGx3bktTa3BmV3A3TXpZb1ppQnBQVEE3YVR4SkxrSTdhU3NyS1hzMExtZ3VNVW9vZGlBeGJTaEpXMmxkTGpFM0tGd25TbHduS1N4SlcybGRMakUzS0Z3bk1uWmNKeWtwS1gxOU1tNG9OQzVvV3pRdU9WMWJNRjBoUFRGbExqRTNLRnduU2x3bktTbDdOQzQ1S3l0OVJDZ3BmVFlnTVU4b0tYc2tLRnduYlZ3bktTNHpNU2hjSnp4bElHYzlJbkV0TVRNaVBqd3ZaVDQ4WlNCblBTSnhMVFVpUGp4bElHYzlJalV0Y3kxaUxYY2lQanhsSUdjOUlqVXRjeTFpSWo0OE1YY2daejBpTlMxaUlqNDhaU0F5VmowaUlpQm5QU0kxTFdzaVBqeGhJRW85SWlNaUlHYzlJalV0YXkxV0lqNDhMMkUrUEdFZ1NqMGlJeUlnWnowaU5TMXJMVmdpUGp3dllUNDhMMlUrUEdVZ1p6MGlOUzFaSWo0OFlTQktQU0lqSWlCblBTSTFMVmt0TWpraVBqd3hkeUJYUFNKY0p5czBMakZOSzF3bklqNDhMMkUrUEM5bFBqd3ZaVDQ4TDJVK1BHVWdaejBpTlMxekxXSXRWQzEzSWo0OFpTQm5QU0kxTFhNdFlpMVVJajQ4WlNCblBTSTFMV0l0UVNJK1BERnBJR2M5SWpVdFlpMUJMVEYwSWo0OEx6RnBQand4YVNCblBTSTFMV0l0UVMweFp5SStQQzh4YVQ0OEwyVStQR1VnWnowaU5TMHhjeUkrUEdFZ1NqMGlJeUlnWnowaU5TMHhjeTB5TWlJK1BERjNJRmM5SWx3bkt6UXVNVmNyWENjaVBqd3ZZVDQ4TDJVK1BDOWxQand2WlQ0OEwyVStYQ2NwTzJZZ2VqMHhSQ2dwT3lRb1hDY2pjUzB4TTF3bktTNXNLSHN5U3pvMExqSkNMREpLT2pRdU1tY3NVenA2V3pCZExGQTZlbHN4WFgwcExqRldLQ2s3WmlCU1BURndLQ2s3SkNoY0p5TnhMVFZjSnlrdWJDaDdNVlE2VWxzeFhTc29lbHN6WFM4eE1Da3NNV002VWxzd1hYMHBMa1VvS1Rza0tGd25JM0V0TVRNc0kzRXROVnduS1M1REtEWW9LWHN4WVNncGZTazdKQ2hjSnlNMUxWa3RNamtzSXpVdE1YTXRNakpjSnlrdVF5ZzJLQ2w3TVdFb0tUdDFJRVo5S1Rza0tFY3BMakpIS0RZb0tYdG1JSG85TVVRb0tUc2tLRnduSTNFdE1UTmNKeWt1YkNoN1V6cDZXekJkTEZBNmVsc3hYWDBwTzJZZ1VqMHhjQ2dwT3lRb1hDY2pjUzAxWENjcExtd29lekZVT2xKYk1WMHJLSHBiTTEwdk1UQXBMREZqT2xKYk1GMTlLWDBwZlRZZ1JDZ3BleVFvWENjak5TMVpYQ2NwTGtVb0tUczNLRFF1TVdRcGV5UW9YQ2NqTlMxaUxDTTFMWE10WWkxVUxYY3NJelV0WWkxQkxURm5YQ2NwTGpGaUtDbDlhbnNrS0Z3bkl6VXRZaXdqTlMxckxDTTFMV3N0Vml3ak5TMXJMVmdzSXpVdGN5MWlMVlF0ZHl3ak5TMWlMVUV0TVdkY0p5a3VNV0lvS1gxbUlGRTlkaUF4YWlncE8xRXVNVkE5TmlncGV5UW9YQ2NqTlMxaVhDY3BMakpFS0Z3blYxd25MRFF1YUZzMExqbGRXekJkS1RzeFRpaFJMbE1zVVM1UUtUdFJMakZRUFRZb0tYdDlmVHRSTGxjOU5DNW9XelF1T1YxYk1GMTlPellnTVU0b01XOHNNWElwZTJZZ01VdzlKQ2hjSnlNMUxYTXRZaTEzWENjcExsTW9LVHRtSURGTFBTUW9YQ2NqTlMxekxXSXRkMXduS1M1UUtDazdaaUF4Ymowb01XOHJLRFF1TVdZcU1pa3BPMllnTVhrOUtERnlLeWcwTGpGbUtqSXBLVHRtSURGSlBURk1MVEZ1TzJZZ01ubzlNVXN0TVhrN0pDaGNKeU0xTFhNdFlpMTNYQ2NwTGpObUtIdFRPakZ1TEZBNk1YbDlMRFF1TWtFc05pZ3Bleko1S0NsOUtUczNLQ2d4U1QwOU1Da21KaWd5ZWowOU1Da3BlemNvSkM0elpTNHpZeWw3TVVnb00ySXBmV3A3TVVnb00yRXBmWDBrS0Z3bkl6VXRjeTFpTFZRdGQxd25LUzVzS0h0VE9qRnZmU2s3SkNoY0p5TTFMV3N0Vml3ak5TMXJMVmhjSnlrdWJDaDdVRG94Y2lzb05DNHhaaW95S1gwcGZUczJJREo1S0NsN0pDaGNKeU0xTFZsY0p5a3VNV0lvS1Rza0tGd25JelV0WWx3bktTNHhWaWcyS0NsN01uVW9LVHN5ZENncGZTazdNbklvS1gwN05pQXlkU2dwZXlRb1hDY2pOUzF6TFdJdFZDMTNYQ2NwTGpNNEtGd25NelZjSnlrN0pDaGNKeU0xTFdJdFFTMHhkRnduS1M0eFlpZ3BPemNvTkM1b1d6UXVPVjFiTVYwcGV5UW9YQ2NqTlMxaUxVRXRNWFJjSnlrdU1uQW9OQzVvV3pRdU9WMWJNVjBwTGtVb0tYMDNLRFF1YUM1Q1BqRXBleVFvWENjak5TMWlMVUV0TVdkY0p5a3VNbkFvTkM0eWN5dGNKeUJjSnlzb05DNDVLekVwSzF3bklGd25LelF1TW04clhDY2dYQ2NyTkM1b0xrSXBMa1VvS1gxOU5pQXlkQ2dwZXlRb1hDY2pOUzFyWENjcExrVW9LVHNrS0Z3bkl6VXRheTFXTENNMUxXc3RXRnduS1M1c0tIdGNKMHRjSnpwY0p6RkRJRTBvWENjck5DNHhPU3RjSnlrZ1RDMVBYQ2Q5S1RzM0tEUXVPU0U5TUNsN055ZzBMakZrS1hza0tGd25JelV0YXkxV1hDY3BMbXdvZTF3blMxd25PbHduVFNoY0p5czBMakYySzF3bktTQXhZeUF4TlNVZ1RDMVBYQ2Q5S1M0eE1TZ3BMakZyS0Z3blExd25MRFlvS1hzMExqazlOQzQ1TFRFN1JDZ3BPM1VnUm4wcGZXcDdKQ2hjSnlNMUxXc3RWbHduS1M0eE1TZ3BMakp0S0RZb0tYc2tLRTRwTG13b2Uxd25TMXduT2x3blRTaGNKeXMwTGpGMksxd25LU0F4WXlBeE5TVWdUQzFQWENkOUtYMHNOaWdwZXlRb1Rpa3ViQ2g3WENkTFhDYzZYQ2N4UXlCTktGd25LelF1TVRrclhDY3BJRXd0VDF3bmZTbDlLUzVGS0NrdU1Xc29YQ2REWENjc05pZ3BlelF1T1QwMExqa3RNVHRFS0NrN2RTQkdmU2w5ZlRjb05DNDVJVDBvTkM1b0xrSXRNU2twZXpjb05DNHhaQ2w3SkNoY0p5TTFMV3N0V0Z3bktTNXNLSHRjSjB0Y0p6cGNKMDBvWENjck5DNHhSU3RjSnlrZ01td2dNVFVsSUV3dFQxd25mU2t1TVRFb0tTNHhheWhjSjBOY0p5dzJLQ2w3TkM0NVBUUXVPU3N4TzBRb0tUdDFJRVo5S1gxcWV5UW9YQ2NqTlMxckxWaGNKeWt1TVRFb0tTNHliU2cyS0NsN0pDaE9LUzVzS0h0Y0owdGNKenBjSjAwb1hDY3JOQzR4UlN0Y0p5a2dNbXdnTVRVbElFd3RUMXduZlNsOUxEWW9LWHNrS0U0cExtd29lMXduUzF3bk9sd25NVU1nVFNoY0p5czBMakU1SzF3bktTQk1MVTljSjMwcGZTa3VSU2dwTGpGcktGd25RMXduTERZb0tYczBMams5TkM0NUt6RTdSQ2dwTzNVZ1JuMHBmWDB5YXlncGZUWWdNbXNvS1hza0tHUXBMak13S0RZb01USXBlekpwS0RFeUtYMHBmVFlnTVVjb0tYc2tLR1FwTGpFeEtDbDlOaUF5YVNneE1pbDdOeWd4TWowOU1tZ3BlMVU5TWxvdU1tVTdNWGc5TWpkOWFudFZQVEV5TGpKbE96RjRQVEV5TGpKWmZURTBQVEpZTGpKWEtGVXBMakpWS0NrN055Z29NVFE5UFRRdU1tb3BmSHdvTVRROVBWd25lRnduS1h4OEtGVTlQVEY0S1NsN01XRW9LWDAzS0NneE5EMDlOQzR5WmlsOGZDaFZQVDB6TnlrcGV6Y29OQzQ1SVQwd0tYczBMams5TkM0NUxURTdSQ2dwT3pGSEtDbDlmVGNvS0RFMFBUMDBMakprS1h4OEtGVTlQVE01S1NsN055ZzBMamtoUFNnMExtZ3VRaTB4S1NsN05DNDVQVFF1T1NzeE8wUW9LVHN4UnlncGZYMTlOaUF5Y2lncGV6Y29LRFF1YUM1Q0xURXBQalF1T1NsN01tTTlkaUF4YWlncE96SmpMbGM5TkM1b1d6UXVPU3N4WFZzd1hYMDNLRFF1T1Q0d0tYc3lZajEySURGcUtDazdNbUl1VnowMExtaGJOQzQ1TFRGZFd6QmRmWDAySURGaEtDbDdKQ2hjSnlOeExUVmNKeWt1TW1Fb0tUc2tLRnduSTNFdE1UTmNKeWt1TWxRb05pZ3BleVFvWENjamNTMHhNMXduS1M0eVlTZ3BmU2s3SkNoY0p6RlZMQ0F4VXl3Z01WSmNKeWt1YkNoN1hDY3hVVnduT2x3bk1sTmNKMzBwZlRZZ01VUW9LWHRtSUc4c2NqczNLRWN1TVdnbUprY3VNamdwZTI4OVJ5NHlOaXRITGpKU08zSTlSeTR4YUN0SExqSTRmV29nTnloa0xtMHVNalUrWkM1dExqSTBLWHR2UFdRdWJTNHlVRHR5UFdRdWJTNHlOWDFxZTI4OVpDNXRMakpQTzNJOVpDNXRMakkwZldZZ2VTeElPemNvV2k0eGFDbDdOeWhrTG5RdU1Xd3BlM2s5WkM1MExqRnNmV3A3ZVQxYUxqSTJmVWc5V2k0eGFIMXFJRGNvWkM1MEppWmtMblF1TVVFcGUzazlaQzUwTGpGc08wZzlaQzUwTGpGQmZXb2dOeWhrTG0wcGUzazlaQzV0TGpGc08wZzlaQzV0TGpGQmZUY29janhJS1hzeGVqMUlmV3A3TVhvOWNuMDNLRzg4ZVNsN01VSTliMzFxZXpGQ1BYbDlNakU5ZGlBeGJTZ3hRaXd4ZWl4NUxFZ3BPM1VnTWpGOU96WWdNWEFvS1h0bUlHOHNjanMzS0ZvdU1Wb3BlM0k5V2k0eFdqdHZQVm91TWsxOWFpQTNLR1F1ZENZbVpDNTBMakZHS1h0eVBXUXVkQzR4Ump0dlBXUXVkQzR4V1gxcUlEY29aQzV0S1h0eVBXUXViUzR4Ump0dlBXUXViUzR4V1gweWNUMTJJREZ0S0c4c2NpazdkU0F5Y1gwN05pQXhTQ2d5UXlsN1ppQXllRDEySURKM0tDazdNWEU5TW1nN00yaDdaaUF4Y1QxMklESjNLQ2w5TW00b01YRXRNbmc4TWtNcGZUdDFJRTR1TVRFb1hDZERYQ2NwTGtNb01qQXBmWDBwS0RJektUc25MRFl5TERJd05Dd25mSHg4ZkhObGRIUnBibWR6Zkd4cFoyaDBZbTk0ZkdaMWJtTjBhVzl1ZkdsbWZIeGhZM1JwZG1WSmJXRm5aWHg4YVcxaFoyVjhmR1J2WTNWdFpXNTBmR1JwZG54MllYSjhhV1I4YVcxaFoyVkJjbkpoZVh4OFpXeHpaWHh1WVhaOFkzTnpmR0p2WkhsOGZIaFRZM0p2Ykd4OGZHcHhkV1Z5ZVh4NVUyTnliMnhzZkdOdmJuUmhhVzVsY254a2IyTjFiV1Z1ZEVWc1pXMWxiblI4Y21WMGRYSnVmRzVsZDN4aWIzaDhmSGRwYm1SdmQxZHBaSFJvZkdGeWNsQmhaMlZUYVhwbGMzeGtaWFJoYVd4emZHeGxibWQwYUh4amJHbGphM3hmYzJWMFgybHRZV2RsWDNSdlgzWnBaWGQ4YzJodmQzeG1ZV3h6Wlh4M2FXNWtiM2Q4ZDJsdVpHOTNTR1ZwWjJoMGZHcFJkV1Z5ZVUxaGRHTm9aV1JQWW1wOGFISmxabnhpWVdOclozSnZkVzVrZkc1dmZIVnliSHgwYUdsemZISmxjR1ZoZEh4b1pXbG5hSFI4YjJKcVNXMWhaMlZRY21Wc2IyRmtaWEo4WVhKeVVHRm5aVk5qY205c2JIeDNhV1IwYUh4a1lYUmhmR3RsZVdOdlpHVjhZblJ1VUhKbGRueHpjbU44WW5SdVRtVjRkSHhzYjJGa2FXNW5mSE5sYkdaOGZIVnVZbWx1Wkh4dlltcEZkbVZ1ZEh4dmRtVnliR0Y1Zkd0bGVYeDhaMmxtZkdkbGRFRjBkSEpwWW5WMFpYeHBiV0ZuWlhOOGFXMWhaMlZDYkdGdWEzeGZabWx1YVhOb2ZHaHBaR1Y4YkdWbWRIeG1hWGhsWkU1aGRtbG5ZWFJwYjI1OGIySnFRMnhwWTJ0bFpIeGpiMjUwWVdsdVpYSkNiM0prWlhKVGFYcGxmR04xY25KbGJuUk9kVzFpWlhKOGFXNXVaWEpJWldsbmFIUjhjM0JoYm54SmJXRm5aWHhpYVc1a2ZHTnNhV1Z1ZEZkcFpIUm9mRUZ5Y21GNWZHbHVkRmRwWkhSb2ZHbHVkRWx0WVdkbFYybGtkR2g4WDE5ZloyVjBVR0ZuWlZOamNtOXNiSHhqZFhKRVlYUmxmR2x1ZEVsdFlXZGxTR1ZwWjJoMGZITmxZMDVoZG54allYQjBhVzl1ZkdKMGJueHBiV0ZuWlVKMGJsQnlaWFo4YVcxbmZHVnpZMkZ3WlV0bGVYeHBiblJJWldsbmFIUjhjR0ZuWlVobGFXZG9kSHhqYkdsbGJuUklaV2xuYUhSOGNHRm5aVmRwWkhSb2ZIUnlZVzV6Y0dGeVpXNTBmRjlmWDJkbGRGQmhaMlZUYVhwbGZHbHRZV2RsUW5SdVRtVjRkSHh6WTNKdmJHeFViM0I4WDJScGMyRmliR1ZmYTJWNVltOWhjbVJmYm1GMmFXZGhkR2x2Ym54ZlgxOXdZWFZ6Wlh4cGJuUkVhV1ptVjN4d2RYTm9mR2x1ZEVOMWNuSmxiblJJWldsbmFIUjhhVzUwUTNWeWNtVnVkRmRwWkhSb2ZHbHRZV2RsVEc5aFpHbHVaM3hmY21WemFYcGxYMk52Ym5SaGFXNWxjbDlwYldGblpWOWliM2g4WDNObGRGOXBiblJsY21aaFkyVjhiMjVzYjJGa2ZIWnBjMmxpYVd4cGRIbDhjMlZzWldOMGZHOWlhbVZqZEh4MGIzQjhaVzFpWldSOFptRmtaVWx1ZkdsdFlXZGxRblJ1UTJ4dmMyVjhYM04wWVhKMGZITmpjbTlzYkV4bFpuUjhjR0ZuWlZsUFptWnpaWFI4WDJsdWFYUnBZV3hwZW1WOFlYSnlZWGxRWVdkbFUybDZaWHhpZEc1RGJHOXpaWHhxVVhWbGNubDhiMlptYzJWMFNHVnBaMmgwZkhOamNtOXNiRWhsYVdkb2RIeHBibTVsY2xkcFpIUm9mSHh6WTNKdmJHeE5ZWGhaZkd4cGJtdDhjbVZ0YjNabGZHOWlhbEJ5WlhaOGIySnFUbVY0ZEh4clpYbFViMDVsZUhSOGEyVjVRMjlrWlh4clpYbFViMUJ5WlhaOGIzWmxjbXhoZVU5d1lXTnBkSGw4Ym5Wc2JIeGZhMlY1WW05aGNtUmZZV04wYVc5dWZHdGxlVlJ2UTJ4dmMyVjhYMlZ1WVdKc1pWOXJaWGxpYjJGeVpGOXVZWFpwWjJGMGFXOXVmSEpwWjJoMGZHaHZkbVZ5Zkhkb2FXeGxmSFI0ZEU5bWZHaDBiV3g4WVhKeVlYbFFZV2RsVTJOeWIyeHNmRjl3Y21Wc2IyRmtYMjVsYVdkb1ltOXlYMmx0WVdkbGMzeDBlSFJKYldGblpYeGZjMlYwWDI1aGRtbG5ZWFJwYjI1OFgzTm9iM2RmYVcxaFoyVmZaR0YwWVh4MGFYUnNaWHhFWVhSbGZHUmhkR1Y4WDNOb2IzZGZhVzFoWjJWOGFXNTBSR2xtWmtoOFkyOXVkR0ZwYm1WeVVtVnphWHBsVTNCbFpXUjhiM1psY214aGVVSm5RMjlzYjNKOGJYTjhZWFIwY254b2FXUmtaVzU4WW14aGJtdDhjbVZ6YVhwbGZHVjRkR1Z1Wkh4amJHOXpaWHh2Y0dGamFYUjVmR0poWTJ0bmNtOTFibVJEYjJ4dmNueHVaWGgwZkhCaFoyVllUMlptYzJWMGZHWnVmRzltWm5ObGRGZHBaSFJvZkhOamNtOXNiRmRwWkhSb2ZIQnlaWFo4YzJOeWIyeHNUV0Y0V0h4MmFYTnBZbXhsZkdaaFpHVlBkWFI4ZEc5TWIzZGxja05oYzJWOGMzUjViR1Y4Wm5KdmJVTm9ZWEpEYjJSbGZGTjBjbWx1WjN4RVQwMWZWa3RmUlZORFFWQkZmR1YyWlc1MGZHdGxlV1J2ZDI1OFlYQndaVzVrZkc5bWZHbGpiM3d3TURCOFptRnpkSHhtYjNKOGZITnNhV1JsUkc5M2JueDhNVEF3ZkRJMU1IeHRjMmxsZkRRd01IeGljbTkzYzJWeWZHRnVhVzFoZEdWOGJHbG5hSFJDYjNoOFpHOG5Mbk53YkdsMEtDZDhKeWtzTUN4N2ZTa3BdXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9saWdodGJveC1ibGFuay5naWY8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW1IwbEdPRGxoQVFBQkFJRC9BTURBd0FBQUFDSDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9PV1dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L2xpZ2h0Ym94LWRlLWNsb3NlLmdpZjwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbUjBsR09EbGhRZ0FXQU9ZQUFGbFpXVkJRVUcxdGJWUlVWSnFhbWxaV1Z0M2QzVkpTVWxGUlVXSmlZdlQwOUZoWVdPbnA2VlZWVmJ5OHZGTlRVLzM5L2VycTZudDdlOHpNektLaW9ubDVlWStQajJabVpreE1UR0JnWVBmMzkwOVBUL2IyOXZyNitucDZlbXhzYlBEdzhPdnI2ODNOemQ3ZTNrdExTK3pzN01mSHgrRGc0RjlmWC92Nys3VzF0WlNVbEtHaG9mejgvSGg0ZUZwYVd1Zm41K1hsNVhaMmRwaVltTlhWMWFXbHBZNk9qcEtTa21Oalk4ckt5bVJrWk8vdjc5dmIyMlZsWmJTMHRMT3pzNGVIaDNOemM5L2YzNm1wcWR6YzNQSHg4VzV1YnBhV2xuQndjSjJkbmJtNXVZYUdobWRuWjJscGFaZVhsNGlJaUUxTlRVNU9Ubng4Zk9QajQyOXZiN0d4c1lTRWhOTFMwbGRYVi83Ky92Ly8vd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNINUJBQUFBQUFBTEFBQUFBQkNBQllBQUFmL2dGcUNnNFNGaG9lSWlZcUxqSTJPajVDUmtvMHRrNWFYV1psYUtUTTBXcG1nV1ZvVFNSMlhwNFdnR2s0WU9nYWZtbG9pS0JoSEhLaTRtajhrQUE4OVBMQ2pHUU1BR0VPSFZsakt5MWRhVlZpdmdsZFkwc3RZQ1FRSzFkWllWb09hRVI0YkFBRk1Rb0lUS0E4QVVVc2d5QVJYOHZMYXo5N1YxZk1PQWhYNTgxZlJZSW1LSUNFQWdBRWZUb2dZQmdBS0VBMklyRlE1VktWQ2dvbGFwdUVieENDQmc0elVFSVhTVWtMQ3VBWUNoaTBJOE9TV0tFTVNLVXBNb0UwanlFSUVDTndVT1RLRWxBTUFDbUFCY01BR3hGaUZyQWl3d3RSS0RVRlZ2Rm14c05QbW9LZ2dteklOR0VvVENCa05BQ3dZUU1FVUtHUVNxNmo5Nk15YkFTenkwMEphaGVwdG10cTdETDUxMWJLRFN0aURLMFNkaFlteEVGWm5Ba3pJRFRuSWdzNjVxVWFlQ0VLc1FRR2lMQ0FFSXl4VGtJS2xpd2wxTkxIejBNZ1JIeEQwYW5LaHdJSURGRFMvVEJydlg5N0RJQmZyVytydm4xNVJJeTZvRHVCaVNvNENyaEZranNnTnkwVGNXaXdzWGlZZzJ6WnVlclVZdUhEZ1JRQUpFUVFwUWI0QUFZVkt1RTZKSW9MRElQRVFud1NwUUtDTWhJLzA2clVVV1hGZ2c0ZndJNm53UUFCSUJJU2ZKSnFrY0VNRkpRZ1VTeFZHeEhBZ0pwcDA0RkpYbVVBQVEzd1RJamdZaGgvTzF1RWpJSllZU2lBQU93PT1dXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9saWdodGJveC1kZS1uZXh0LmdpZjwvZmlsZW5hbWU+CgkgIDxpc2Rpcj4wPC9pc2Rpcj4KCSAgPGRhdGE+PCFbQ0RBVEFbUjBsR09EbGhQd0FnQU1RYUFOWFYxYXVycTJ0cmE5L2YzMkZoWWZUMDlNREF3SFoyZG9HQmdiVzF0ZERRME1MQ3dwYVdsdXJxNnFDZ29JdUxpOHJLeXZyNitzM056YjYrdnRiVzF2bjUrY0hCd2MvUHoxZFhWLy8vLy8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUNINUJBRUFBQm9BTEFBQUFBQS9BQ0FBQUFYL29LWmxaR21lYUtxdUxEcTJjQ3pQZEczZmVLN3ZmTy8vd0tCd1NDd2FqeVRBNEZRQUZFd0FRT1BVaUVhblJvSGdGTUFzTXdZQ1pud3dsTHJqTk9JNWRIaE5nZ1BKZ0JFRUFJWUQ0ZHROUkNFUEdBNUVEWUlsQXhobUdRUUNiQmtOQkFRa1hRQndDRVVJa2lRTUdFOEFHQWxjR0pXVWh4Z01SWFFRSkFTb0dRbWpKeEFZQVJsZEJ3aTVkVjlFcldDeHY1VlF0TFlZdUFJWWwwY01CQVVQV3lTRmlpV3dwTUNjMDBTSXNLRWxXbzRGQXBxbEdlRnZSZ2ZJamhrRGtRNEFEcEY4d0JtZmNrYXdEeWdEQjJrSHZPUTJnVUt5b3NrNmdnaUJSTGlnb0tIRGhoSjRKVnhSd2NLQ2l4Z3ZUcUF3c2FQSGp5QkRpaHlwNGdWSkdDSk9BOElJQVFBN11dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L2xpZ2h0Ym94LWRlLXByZXYuZ2lmPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtSMGxHT0RsaFB3QWdBTVFiQUlHQmdmVDA5S3VycS8zOS9XRmhZZC9mMzl6YzNMcTZ1bloyZG10cmE1YVdsc0RBd0tDZ29Nckt5clcxdFl1TGkrcnE2cmEydHZ2Nys4ek16TnJhMnY3Ky9ydTd1K1hsNWRYVjFWZFhWLy8vLy8vLy93QUFBQUFBQUFBQUFBQUFBQ0g1QkFFQUFCc0FMQUFBQUFBL0FDQUFBQVh1b0NhT1pHbWVhS3FhMjdhK2NQeTZjbTNmZUs3dmZPLy93S0J3U0N3YWo4SUFac25FQkRTRkFrbjUxRFF4U0JFbXcrMW1zQUFBYVl2VmVMbUVjbEhKZEdRSXovRDRLOG9vbUFKQ0ppc0tJQWhTR25JalpIVUNKQXgwV1FBWkN5T0RXb29aaHlNUEdWVkhpUXdra0ZhU0NXRUFlcFJIQ3hsaW5LaVJaUm1nakJtQlJ3VUVDWmdpb25Pc2xBVVpDTFpEQVFtQUpncVhJMjY2SXdJWm0wYVdkMDFQRGIwTkRRb0VDQ09USkFpS0FvNUJyMmRsQzNwY3Z0cWtVSzExcW53aUVFN3Y4MFVYRkFiNCtmZ0Q5QzhURVFjQ0NqeGdRVUsvRlJVR0tGeTQ4S0REaHhBalNweklod1pGRlMxQ0FBQTddXT48L2RhdGE+Cgk8L2ZpbGU+Cgk8ZmlsZT4KCSAgPGZpbGVuYW1lPi9saWdodGJveC1lbi1jbG9zZS5naWY8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW1IwbEdPRGxoUWdBV0FOVUFBUC8vLy8zOS9mcjYrdmo0K1BYMTlmRHc4T3ZyNitucDZlYm01dVRrNU4vZjM5emMzTnJhMnRmWDE5WFYxZExTMHN2THk4akl5TDYrdnJlM3Q3UzB0TEt5c3ErdnI2aW9xS09qbzU2ZW5wdWJtNWFXbHBHUmtZK1BqNHlNakllSGg0S0Nnb0NBZ0gxOWZYWjJkbk56YzNGeGNXNXVibWxwYVdkbloyUmtaR0ppWWw5ZlgxMWRYVnBhV2xWVlZWTlRVMUJRVUU1T1RrdExTMGxKU1VaR1JnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNINUJBQUhBUDhBTEFBQUFBQkNBQllBQUFiL1FJQndTQ3dhajhpa2NzbHNPcC9RcUxRWm1GcXZSQUhuZ1l4c0JFYUN3M0VZSGh3RTVJRnlrWlNMWjdSUVBLNFBCeHphaW1HRXRHZ2NhWE1aTDRVdkgwSVhMdzVIRW9hRkYwTUVJbzhSQUE2UGhVTVdOQzh4S3cxRUVTMHhMelFZUTVRZlkyeUppMFlSaDJVS2xCUkNIQzhYRGhFWlpaZ2NkWXhDQmlRekx6SXFDMEtqcFRNaEJVSVVMeGxIaXNKRUtDaUNBQVFvTEVJdkpFYVlrVWNHSXpLZUtBdCtwVFFnQTBQZTIwVFdSUXJUUllTTUx5amp1VW5PR1lPQmd0UXhFTnNPSEVKaWo0ZzBTNklBNGdwRUJKT0lDeGpmRURtWERnYU1ZeC9pRFNISDhGVTlreU1CVG5yQmd1S2xUTmVJRkNqeDBaTUdNQlVCVmtQcEt1YkwyWEtYS0xGUThITkpnUk0xWTNRd2dvOURTWitPYkJGeEpLR0lJeEZGa3l3d1VjcmpNUTFWaUxEd3Q5T25Ra1JFY0drY1F1SkYxaU1MVUtTTGtXTEZSeGxnVHdLOTFOTUlKYUpDOEdFMTR1MXRrUVVyMHNrZ2tTQ0NWN3hodWJVRjVnQ1hKVVVjTUdKa3BJQUZDd2tPS0hnR25DSERtQS81TEdvR3lpQ3hDeGtqREFpWjhEanZIRXFGV0ZBRG9DaFRPUWNvREtFQURBQzFvZDJZTWdsaHdFSXhDZGxES3Nqd1NLTUNuREZRRkpBeEVxZEpnUTR5Wmp3M1VpR0dqQk44c0tqUDRtSDhFUXNuRUt5ZlAwUUF2U0lCNU5QZno3Ky8raUFBT3c9PV1dPjwvZGF0YT4KCTwvZmlsZT4KCTxmaWxlPgoJICA8ZmlsZW5hbWU+L2xpZ2h0Ym94LWVuLW5leHQuZ2lmPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtSMGxHT0RsaFB3QWdBT1lBQVAvLy8vMzkvZnY3Ky9uNStmZjM5L1gxOWZQejgvSHg4ZS92NyszdDdldnI2K25wNmVmbjUrYm01dVRrNU9MaTR1RGc0TjdlM3R6YzNOalkyTmJXMXRMUzB0RFEwTTdPenNyS3lzakl5TWJHeHNMQ3dzREF3THk4dkxxNnVyYTJ0clMwdExPenM3R3hzYSt2cjYydHJhdXJxNm1wcWFlbnA2V2xwYU9qbzUyZG5adWJtNW1abVpHUmtZK1BqNDJOall1TGk0ZUhoNFdGaFlPRGc0R0JnWUNBZ0g1K2ZucDZlbmg0ZUhaMmRuUjBkSEJ3Y0c1dWJteHNiR3BxYW1ob2FHWm1abVJrWkdKaVltQmdZRjVlWGx4Y1hGcGFXbGhZV0ZaV1ZsUlVWRkpTVWxCUVVFNU9UazFOVFV0TFMwbEpTVWRIUjBWRlJVTkRRLy8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0g1QkFFSEFGTUFMQUFBQUFBL0FDQUFBQWYvZ0ZOVEFJU0Zob2VJaVlxTGpJaURqWkNSa3BPVWxaYVhtSm1hbTV5ZG5wK2dvYUtqcEtXbXA2aWdBUm9tRjRVQ0hDSUFCaUFsSnJjbkR4UW9yb1FLSlJzT0tTWWxJeVVuSUFTZUFTNVBReEdFQXpaRkFBeENTVUZDUWtVWEREMUdFQURNVFJnV1NFSkdTa05ET0FmTExVbE1Nc29ETlVRQUMwVXpDUXo5eWhoTllBVEl3R1JGZ0FFTkZxaDRVbUhCZ2dETFhQeDR3UVFFQUFFMDdpMHc4aUlSQ3lVaGR2QkFZS2dFbEFXaG1QbG9nT09JQXdBWjhRM2hVUUpGQ2hJRkNCRzRzY1JJaFVNbW9EUklLWkhBaENUellpNElZa1NIeUJydXhNMTRVaVNjb2FCRFZVazhFQ0JGa3hJeGh1QXJJZ05CQWdVS0lBSVFvZVNFa0J0UmlRbGhKZnFEWklFZVJZSUF3V2VrQmFJSVIyb0ErUERreEZXaGRFa0NNTGZrQno0aU9UcEk5dkJnQUEwa0VnQU11SkZrUXFHNXFscnNpSnRDU1E5OFFKcEFXUzNsaEFnbmhnbFJPREphYnBTc29BZ1FVQ3RPdDdnRENNd21TRkRnUUZwREJ4WUlJRlJBd2ZKVTBDa0ZFQkNndW5YcjBUWHh6czY5dS9mdjRNT0xkelJla3FEeWtBSUJBRHM9XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vbGlnaHRib3gtZW4tcHJldi5naWY8L2ZpbGVuYW1lPgoJICA8aXNkaXI+MDwvaXNkaXI+CgkgIDxkYXRhPjwhW0NEQVRBW1IwbEdPRGxoUHdBZ0FPWUFBUC8vLy8zOS9mdjcrL241K2ZqNCtQYjI5dlQwOVBMeTh2RHc4Tzd1N3VycTZ1bnA2ZWZuNStYbDVlUGo0K0hoNGQvZjM5M2QzZHZiMjlyYTJ0alkyTmJXMXRUVTFORFEwTTdPenN6TXpNdkx5OG5KeWNmSHg4WEZ4Y1BEdzhIQndiKy92NzI5dmJ5OHZMcTZ1cmk0dUxhMnRyS3lzcTZ1cnEydHJhdXJxNm1wcWFlbnA2T2pvNkdob1orZm41NmVucHljbkpxYW1waVltSlNVbEpDUWtJK1BqNDJOallXRmhZT0RnNEdCZ1lDQWdIeDhmSHA2ZW5oNGVIWjJkblIwZEhKeWNuRnhjVzl2YjIxdGJXdHJhMmxwYVdWbFpXTmpZMkppWW1CZ1lGNWVYbHhjWEZwYVdsaFlXRlpXVmxSVVZGTlRVMUZSVVU5UFQwMU5UVXRMUzBsSlNVZEhSMEpDUWtCQVFQLy8vd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDSDVCQUVIQUZrQUxBQUFBQUEvQUNBQUFBZi9nQUNDZzRTRmhvZUlpWXFHV1ZtTGo1Q1JqNDZTbFphWG1KbWFtNXlkbnArZ29hS2pwS1dtcDZpcG13TVlJQ0FmRlFTQ0U2NGhHUXVDQng0ZnZMd01HaHdCZ3dNYkc2SUZPVkZKeXpzUUFDMVFTa3BJUmlrQUVVdE9TMHhNU2hjMVVSS0RFMG8yeHpwQ0JRY2xWRFlDTFVzU0F4RkJUUlFPVWpRUUZQd0JIMU11QnFtb2d1RWNFQUVBQWpEeFlZQ0ZrZ2FDVmtUNXdHREtpa0lJaUF3cEFLQ0FqeURDUWhYUUVRUkJnUkpXYkFSZ3NVVEVoQkJIa2tCdzhBUkhpQkVrUENDTThVUURBQXRWUkl3cWdDT0traVZKZWt3QXdBS0trU1ZQZ0hRQUlHR0praUpHanVBWUFHRENGQmtBWkNSaE1EU0hFUThkS01oNnRrUURDaW9qblFSSmlETERBWVFJRGtMdUVBTGh5QXlFNTM0WWNwRkVnUUFmU0E1UW5XTE5FSWNwTjVJVUhLb0RDRmRDTHBRNEFDQ0N5b3RyVVdoVUdHMGhnYUFFUTZyd0NIbU1CNUhMZzJBOGNXYWdSNVVORDU1WXVjSWJpd2xCQVdCY09WRXF3SUlHckFVcGtMQldRWVVGQXlSTW1ENGR3YUFERkRpcTJuNkp3SUFCQXNJTCtFNGdPZmRFQWdLb1g3Lyt2UHYzOE9QTG4wKy8vaVZLOWhVMUNnUUFPdz09XV0+PC9kYXRhPgoJPC9maWxlPgoJPGZpbGU+CgkgIDxmaWxlbmFtZT4vbGlnaHRib3gtaWNvLWxvYWRpbmcuZ2lmPC9maWxlbmFtZT4KCSAgPGlzZGlyPjA8L2lzZGlyPgoJICA8ZGF0YT48IVtDREFUQVtSMGxHT0RsaElBQWdBT1lBQVAvLy8vMzkvZnI2K3ZqNCtQWDE5ZlB6OC9EdzhPN3U3dXZyNitucDZlYm01dVRrNU9IaDRkL2YzOXpjM05yYTJ0ZlgxOVhWMWRMUzBzM056Y3ZMeThqSXlNYkd4c1BEdzhIQndiNit2cnk4dkxtNXViZTN0N1MwdExLeXNxK3ZyNjJ0cmFxcXFxaW9xS1dscFo2ZW5wYVdscFNVbEpHUmtZK1BqNHlNaklxS2lvZUhoNFdGaFlLQ2dvQ0FnSDE5Zlh0N2UzaDRlSFoyZG5OemMzRnhjV3hzYkdscGFXSmlZbDlmWDFwYVdsaFlXRlZWVlU1T1RrdExTMFJFUkVGQlFUOC9Qenc4UERjM056SXlNakF3TUMwdExTc3JLeWdvS0NZbUppTWpJeUVoSVI0ZUhod2NIQmtaR1JjWEZ4SVNFZzhQRHcwTkRRb0tDZ2dJQ0FVRkJmNEJBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0gvQzA1RlZGTkRRVkJGTWk0d0F3RUFBQUFoK1FRRkNnQlZBQ3dBQUFBQUlBQWdBQUFILzRBQWdvT0VoWWFIaUltS2k0eU5qUUdHQkFnQ2pvWUlFaGNSQ0lNQ0d5d1NsWVFQS3p4QVBDc1FrQVFuUHh1aGdnZ3dTbFMwU1RBSUFRRVFISnVFQ0EwRWlaMUJ0TVZDRzVBQXViNHVPUi9CaHdRa1I4VzFKTkNHRWtKUU5RZUlCQ05GMVZSSElaU0hDTTNQaUFFU1BGSFZQQlRKNkEvWWh3Y2lQazFQVEQ0akJWNFZDbERnQVlnVk1sSm84Q1p3RUFFTEttU28yTURnd0RsSHl6aHQ2TkVFaXI4S3J5Q1FJTUZnRUlNYTQyYmNXNFRneFpJa0tSaEs4REhPUjY5R0RITFFxdEVyQW85eFBHNHlLbEFDaUE4UkFRRWNXTEdrR0pNVEZ4c2RvRUNCb1RJSU5ZUWtFU0tqWk1PQkREYUUyQURCNHRkb0ZVaWM0RVV2VVVaMkZwVjJJRmtTeElSUVF3RW9rTGlRRkowTUo4VitZSEM3QVFnVElkY1FOZGdocGRnUkVja0lGTUIyUUFZVVdqWWNJRUpRNHpLdElCb0FDSmlBNGtXSVhnVldPSmtDeGNiZFFRRTJObWxDaEFVRFhUbWNRQ0ZDd2x1N0hFQnlkSWhhaUlBbkdDUWFCQUNIcEZpT0I0SUNQTWdRWWFVaEFRZ1FRQU9YaEJhVTU0VGFocEtRZXplSnZtZEZYMkF4ZzJUNlFnSU9hSGNVQ0FBaCtRUUZDZ0JWQUN3QUFBQUFId0FnQUFBSC80QlZnb09FaEFnT0RnaUZpNHlNQkJZdk96c3VGUVNObDRzWE9VMVVWRTA1RnBpaVZRZ3VTNTJkU3krS280VVNDQUlRT1ZPb25Ua1FyWVE3UERFWkZEbTFWRkMzdVF5RVRUc2ZMNmVvVEt1RENBRzVWVXNxVlR0T25VODZHSVF2REFDTkk0c3lDQk10UER3c0VwYWtOallRNFl3ZVFvUktKNVlFQ0FqdGdyRVFBdVF0WWpDRFV4VW5QQ3dJWkFTZzRTVUNGVjd3NkZGalE0R0YwNm9VaUlDQkFnUUpyd2hnbkZiZ1F3NGZPMGpBR3BrUlF3OG9uWVNFa0RidFVSVUpBUW1ZWUZZRmlneVIweHJrT0ZJREFRQUNKM2o2QkpycmdRMGtNc0JWeWRDelNoUWhJQUt3dkhTQkJFNTVIM0NnVkxuMUVnQ3RBamRpa0hEQVljWkdBSkVFQkJCUW9OOWJSZ2Myb0xocHQ1Ryt2b1UrK0JCa1l3TE5SZ2hJeUJDQnFjYWdKQ1VBRS9KQUJBcVFERnR0REZxQ29nQ2hnSU1DaUVoU1pVZ0hsZ1ZPRkRub1l3UG9DQ05HUkFBTm9NR01IaTZrTWtKdzR0Mkh0b1NUS0xIaFFCNEFCSy9LQmlqQVlHV1ZBQnlJQ0NMQzRYQkR0MmJkQXNBUVJGQVFETmJ2Q3VJOThZUlI4WXZNVFRpUGZ0SDFWb0VBQUNINUJBVUtBRlVBTEFBQUFBQWVBQjhBQUFmL2dGV0NnNFNFQUFBQkFJV0xqSXVJQ0JNWEVBU0tqWmFFQVJBdVBrQTVJZ2lYb1FBTUwwcUNVRDhnQklJRUJhdVdCQXhWc2dJYVA0Uk5NQXdGRkNRbklSQ05CUjgxT2pVY0NDQkRoVFpWSVRwRlNVSTFGUU9GdFQ1UVVGVThHeGs5aXlNOVVGVGxURFVPaFFjclRZUW5FQ3RKZ3owZktrbmwrRDRiaGdndlRvTk5WRlJCUUNKSEZSZ1hFTGhvZ3ErY0VCQ0ZDSVJZSmlqSWh3QlZNQTRpVU9JZXZpZy9OQlFDZ0dDRkR5STlUc2hpZEdISEUzeEpZRFFZU1FCQkJoQVlFR2hjTkN3SGtTTkNabEI0VmVWUXEwUUJFbDBpRU9IRENBNHJCUUVvSUdIRWlBZ0NRaEVpUUhTUWdBdzZqaURKWVVIcnlBQUVyQUZZMTY1S2t4Wm1tQTA5S1BHaEtBSVoyd1RWaURzSVFNdU5KSWJrSmNGWEtvSU5RKzJlTURpcmNLTUFDQjQ0NW50b2NxTkRCUTRvRlZYNXNRUVVMalIwWlVSU3dvS2RoaHJZYU9KRVh5Z0NKNERNaUdySWdwQkJKVUlocU9Ha3h3VFNFSFE0Z1dLeGJ5eFFYai9ZS0lGOEVZRzZPVWlzbkNyQ3hnc0pXeEVVMEFyaFFGOEk0SktjMkc2NWJ3UWVVTVNUTDEvMHdBanIyTm4zTFNCcjlLSkFBQ0g1QkFVS0FGVUFMQUFBQVFBZ0FCNEFBQWYvZ0ZXQ2c0U0ZWUjBaRElhTGpJVUVJenBDUHk0U2paYUZBUlE4VUZWVVJpb0lnZ0NqbDFVQUJBWUVvd1FnUm9OUU5oQUNDQk1XRUtxTkFBd2dLaU95QkI5RmhoSXJQRDQySUFnQWpBZ3JRazFFTHcwQkR6ZE9WVkJDSkJVeFNZSlFQUjBFaXdBVFBvTkFHNmNaTlQ0OEpBOGNRSVJOTDZHR0FCWHpna0llb3dFSUdqQWdJQUFFRVVLd0hwQkRVQ01KbENRMktva2lCU0NERDA2Q2tyQzRaeWhBaFJVNVhHUVl0NGhCaTROVm5PellRQklmUUFnSVdob1NBT0ZFRGg0MWZNWEV0NnlVcUFJUUxudzQ0VUxGQjBXaURBaVVXU3FBaFJwRW1DVDVnZUllZ3hNNmNvQTQ0Rk1RQWhsTXFJaWxJbVJFRlFFZGdxVGtJYUZuS1FsQXNNYUtkVktqQ2dFU1IvaHBjSHRKQWhHNVZLRGdxQkxnd280bFNXcEE2Rm9GUW84b2N1c040ckRpQkFXbWxnaWNJQ0psTGc4TWd3Z2dPQkNBc2FBSEtYd1FFV0xqQTFmVHpJUjJrRkNBRVVYWWxnQWdpS0NnOUNVQUFuem5hdURDUncySnVTQ2dZR2twd0ljaFZZeVErTDNCeDRyWGpBSm82TkZrRVlMYWhIWlJFSkFiQVFnWkl6Z0srRWlDbzZuZ3BVN3RISFJnUlpJZUY0VGpka1FDU0VTKyt3Mml5d1lWZ0JjZ1BzRUJ5RWdnQUNINUJBVUtBRlVBTEFBQUFBQWdBQjhBQUFmL2dGV0NnNFNGaG9lSWlZTVVFQVNLajRZY05qMDFIQVdRbUJFNVRsVk9OaE1CbUllaFZRRWFRb00vSEFKVkJBMFRtQkFqSkJTT0FSVTlVRlZRUEJjQ0J4czFQSkFOTVVSSU5oYWhDQ1kvUmo0a0NBUVlPazJkUG9vWWcwUWtqZ0FJR3lRWkNBQUZKa2lEU2l5S3VWVkNJZDVWQUFFQTlRY25TWU5NTHd5SkpEczlWalFnWllnQUJ4KzZvQVFaY1FrUkFnb1hHTkJEOUkwRUR5RTlVZ3hVRklBZUFFVUNFRlR3d0VFQ2d3SUVSUjJhQjA0UUNRbU9CczJicUpJQWlCMzVpdFNRUUlvQUJSSWV5S2xza0VPWG9DUXFFQWlDVU1QSXdwaVlMQkFoQkNWSGcxSVdzREZab1ZRVUJWU0RvTmh3SU9qQkN5QThPa0NGeE1DR05VRkdxRkEwRk5CQVE0VURIMVZ1d0RIa1NKQVhFUWdHRUpBUzBnRUlGa0NVTUFFQ2dvQzhLZ2NSa0hEQ3hvNGFKQ0NnaEJ4NWFZd2lWS2c0OFRHaUs2SUdGUlFSSUNGa1NtalJOaVJBUW1HNjBJRVdUVjZIRHVJaGtRUWRTMm8wNER3SWdZdmN1b0YwU0lSZ3hBeExuRkcySWpGRWQ1TWNzQ2dTa0ViODVVY0lMNGc4Z2RLa1IybEY5VGl2M3ZHQlZJVEtPV3FFcUsyeVFtYklDQ0JFT05sNWtBQUNOUFVub0NHQkFBQWgrUVFGQ2dCVkFDd0NBQUVBSGdBZkFBQUgvNEJWZ29PRWdnQUJCQU1BaFl5TmpBQUZGU01kREFLT2w0d0JGemxFUHljTW1JMEFpNE1FSlVsVlVEb1Vob2NCcEtJQkFxT0NCQ1JJZ2prU1ZZY01GUlFJQWFJSEZ4OFFsbFVDRXpSQlBJWUJFak0rUFN3UXdvVUNHenBCTHcra0JCQWRGb1lJS0xoVlFpTUZqQVVyUzFVK0d0ZVBERFZRaEFpTUJDQTlSRFc3amdBZ1dJR3F5aEFTK1JwOUlIR0JBQ1lDRm14VUFSSURZQ01DNjBKVklXQ1JBQ3lObUFLSUpFQmdGc2hMbzhCOUNGSGhBSzhBQlJBNFBNbExRTVFoUkhpUXFCSUF3UWdXR1dqeVl2RGkzU0FMQkREc1FBSUQxRWtBRW5iY3EwS0ZTQWlvTmFxVVNBZ1NBQVFiVTZjRTRiQXhRaFduVDMzK2FPS2tDSXdHUXJBSkhTTHdnSVFOR3lrbXpCUUtRQUFERFNKQVhLZ2lnV3ZjQUJCVStDQVNaRWJEZ0s5UUlpQWhaTkNSRjNBZkllQWdZYStCQ0w4WURJaGd3d21oSGhnYUNjREFRMFVDUVF4TThCZ1NwTWFHREZJTEJjMEVBY1dneVVLb0NGK1NZOFFNSllRa09wcFh4WUpVNGNLUnFBQ0JJMG1UdUJ5QVFCZnVKRVlWRENscXZPaEFNME9QS2R1YnNKQ0pvSUZoalJCbU1JRXVKUWlJdlhFSlpNaVJCSXFUSUN0a0ZsY3BGYWhnd3d3akNIaEpJQUFoK1FRRkNnQlZBQ3dDQUFFQUhnQWZBQUFILzRCVmdvT0VoQUNIaFltS2lnSUlEUWdCaTVLTEVTbzFKQWdBazV1REpFSk5PeGFSbkp4RlVENFhvMVVGREF3RWtnQUZDcStFTHprbG1ZSUlKRFkxSDVDS0J4OHRIQVdFREJFSUFvSUJGenhPVERrVXk0VUFFamxKTlJDVEJDSkhna0FjdElZTUt6MG9ESlBOUEV4Sk5oT3FoQUlRRzl1VEFNSXlMOFdTQWRTYkFBaTBJcUNKbE1FcWlBN2VFOGpnZ0NvQUFRb3FSRERDaGcwVER5SVJnR0FoMTBFQ0gzNDRxU0treEFFQURGTFl5QkNQRXdJVlRBUkJzZUdnQ29JUUtTUzAzSFRBeExjcVRHWWdRRmdBd1RpREFTcllJRkprQndoakNxc1JzR0RpQkFlUGdoaG9FUEZCd29GN0FBUUlJSURBYUNFSUszd01FV0xqdzFkRkFMOFFUTmpRTVdJaEJDaUlRS0ZDcFVtT0MzQVJpTWdCaE1lSkJpMHY3T0RMK01nSlNBWVdHQTI0b2NkSUtFSXdFU0xRQVlnVXhuMWpRTGl3SXNjbENBaEsvS3pTWkVhRFFoaDRnS2FpeEVVSGJGQ2dERmxCZ1FRUlFqQmVFM3J3SXNrVXZxZElxRUJDeUFlSURVQ2hPUG1oaUFBR0cwT1dIT2xSQW9PTUpvU0trR0RRd2NhT0hPTVZGZWpONGtTSFZpeVVFQklDNHBXRUN4S0dTaXBxbGdBSEgzdFZvWVFORWtnVVZWd2s2Q0FFRURWZ2NGUlVSRkh3d1FZTlBLaElJQUFoK1FRRkNnQlZBQ3dBQUFJQUlBQWVBQUFILzRCVmdvT0VoUUVEQVlXS2k0eUNCQklhRFltTmxJb0FFQzg3SlFpVm5ZTUFGRHRITUF5RkJ3UUFuWWVUZ2dna0x4d0ZoQ0FySUFpcGpRSU5HZ3lzVlFnTXNvVkpQQnVvalFja09pRENqUjlEVlVJang0d0VHU2tVQkpVUk5UMHlFcjZMQlFqYWxZOGFFdFNMNVo2REFnRzRoUVVRR2g0WHBlMlVCQmd4UFQ4N0tSN2tFeFNnUUlGM2dpallVRUtGQ3BRaUp6aTFlMFRpaEFaT3JvZzAzTmlEUXJ0TE1Zb2swV0dNQVF3bUd4c08yZEF1QUFZZmdveVlPSUJnUlpLVVZJSmthQ2toUnhNb1FhWVIrTkFEeWtZbk5RUzJReURDeGc0VkVCSTFRQUZraVJNa1BEbzA2d1FBQVlVTERkZzFDTEVpeGdvU0dpSWdFUEF4QUx4Q0JNZzRoWUNodzhZSkNXd1pDVURRWUcwakFoVnNKSUhpWkVpTEJ0VW9wS2loSWhzakJDZHVEdnJSUVJ1QXk2a0NRSWd4T0VtTkNPR3FkSDNSaEZBUkVnZ1FRSkRnQUpVQURUQUYrZURBamhBQ0ZaSUZDUkVCWVlSVEdCa0s3Q3RhQllvUERiVUhFZGpBbzNRVnp4bEUrSER5M0VZRkFnMVdDRWtpeE1XRDBLSVJnTERSZzRlTURSSUtEU0Z4S2dJSkZ5VFNOUXFBUU1LR0RCQlV6M0JlaFVpSkE2a0E0MWNsQWhTWVNFWlRGTmNEYlFPdEU0RUxQMVRCQXdrTXhOTmdJUTE4TU1JdjRCVVNDQUE3XV0+PC9kYXRhPgoJPC9maWxlPgo8L3Rvb2xib3h0cGw+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/ToolBox-tpl-socialshareprivacy-socialshareprivacy.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHRvb2xib3h0cGw+Cgk8bmFtZT5zb2NpYWxzaGFyZXByaXZhY3k8L25hbWU+Cgk8dmVyc2lvbj4xLjQ8L3ZlcnNpb24+Cgk8dG9vbGJveHZlcnNpb24+MS4zLjM8L3Rvb2xib3h2ZXJzaW9uPgoJPGFib3V0PjwvYWJvdXQ+Cgk8c2VjdGlvbj5zb2NpYWxzaGFyZXByaXZhY3k8L3NlY3Rpb24+Cgk8dHBsc2VjdGlvbj48L3RwbHNlY3Rpb24+Cgk8anF1ZXJ5PjE8L2pxdWVyeT4KCTxqcXVlcnlfb3duPjA8L2pxdWVyeV9vd24+Cgk8b3B0aW9ucz5ZVG95T250ek9qZzZJbWx1Wm05c2FXNXJJanR6T2pjME9pSm9kSFJ3T2k4dmQzZDNMbWhsYVhObExtUmxMMk4wTDJGeWRHbHJaV3d2TWkxTGJHbGphM010Wm5WbGNpMXRaV2h5TFVSaGRHVnVjMk5vZFhSNkxURXpNek00TnprdWFIUnRiQ0k3Y3pvNE9pSmhaSFpoYm1ObFpDSTdjem94T2lJeElqdDk8L29wdGlvbnM+Cgk8dHBsY29kZT5QR1JwZGlCcFpEMGljMjlqYVdGc2MyaGhjbVZ3Y21sMllXTjVJajQ4TDJScGRqND08L3RwbGNvZGU+Cgk8dHBsY3NzPkxuTnZZMmxoYkY5emFHRnlaVjl3Y21sMllXTjVYMkZ5WldFZ2V3MEtJQ0JqYkdWaGNqb2dZbTkwYURzTkNpQWdiV0Z5WjJsdU9pQXlNSEI0SURBZ0lXbHRjRzl5ZEdGdWREc05DaUFnYkdsemRDMXpkSGxzWlMxMGVYQmxPaUJ1YjI1bE93MEtJQ0J3WVdSa2FXNW5PaUF3SUNGcGJYQnZjblJoYm5RN0RRb2dJR2hsYVdkb2REb2dNalZ3ZURzTkNpQWdaR2x6Y0d4aGVUb2dZbXh2WTJzN0RRcDlEUW91YzI5amFXRnNYM05vWVhKbFgzQnlhWFpoWTNsZllYSmxZU0JzYVNCN0RRb2dJRzFoY21kcGJqb2dNQ0FoYVcxd2IzSjBZVzUwT3cwS0lDQndZV1JrYVc1bk9pQXdJQ0ZwYlhCdmNuUmhiblE3RFFvZ0lHaGxhV2RvZERvZ01qQndlRHNOQ2lBZ1pteHZZWFE2SUd4bFpuUTdEUXA5RFFvdWMyOWphV0ZzWDNOb1lYSmxYM0J5YVhaaFkzbGZZWEpsWVNCc2FTQXVaSFZ0YlhsZlluUnVJSHNOQ2lBZ1pteHZZWFE2SUd4bFpuUTdEUW9nSUcxaGNtZHBiaTFzWldaME9pQXhNSEI0T3cwS0lDQmpkWEp6YjNJNklIQnZhVzUwWlhJN0RRcDlEUW91YzI5amFXRnNYM05vWVhKbFgzQnlhWFpoWTNsZllYSmxZU0F1Wm1GalpXSnZiMnNnZXcwS0lDQjNhV1IwYURvZ01UZ3djSGc3RFFvZ0lHUnBjM0JzWVhrNklHbHViR2x1WlMxaWJHOWphenNOQ24wTkNpNXpiMk5wWVd4ZmMyaGhjbVZmY0hKcGRtRmplVjloY21WaElDNW1ZV05sWW05dmF5QXVabUpmYkdsclpTQnBabkpoYldVZ2V3MEtJQ0IzYVdSMGFEb2dNVFExY0hnN0RRb2dJR2hsYVdkb2REb2dNakZ3ZURzTkNuME5DaTV6YjJOcFlXeGZjMmhoY21WZmNISnBkbUZqZVY5aGNtVmhJQzUwZDJsMGRHVnlJSHNOQ2lBZ2QybGtkR2c2SURFME9IQjRPdzBLZlEwS0xuTnZZMmxoYkY5emFHRnlaVjl3Y21sMllXTjVYMkZ5WldFZ2JHa2daR2wyTG5SM1pXVjBJSHNOQ2lBZ2QybGtkR2c2SURFeE5YQjRPdzBLZlEwS0xuTnZZMmxoYkY5emFHRnlaVjl3Y21sMllXTjVYMkZ5WldFZ0xtZHdiSFZ6SUhzTkNpQWdkMmxrZEdnNklERXlNM0I0T3cwS2ZRMEtMbk52WTJsaGJGOXphR0Z5WlY5d2NtbDJZV041WDJGeVpXRWdiR2tnWkdsMkxtZHdiSFZ6YjI1bElIc05DaUFnZDJsa2RHZzZJRGt3Y0hnN0RRcDlEUW91YzI5amFXRnNYM05vWVhKbFgzQnlhWFpoWTNsZllYSmxZU0JzYVNBdWMzZHBkR05vSUhzTkNpQWdaR2x6Y0d4aGVUb2dhVzVzYVc1bExXSnNiMk5yT3cwS0lDQjBaWGgwTFdsdVpHVnVkRG9nTFRrNU9UbGxiVHNOQ2lBZ1ltRmphMmR5YjNWdVpEb2dkSEpoYm5Od1lYSmxiblFnZFhKc0tGdGJjbTl2ZEY5MWNteGRYUzl0YjJSMWJHVnpMMVJ2YjJ4Q2IzZ3ZhVzFoWjJWekwzTnZZMmxoYkhOb1lYSmxjSEpwZG1GamVTOXZibDl2Wm1ZdWNHNW5LU0J1YnkxeVpYQmxZWFFnTUNBd0lITmpjbTlzYkRzTkNpQWdkMmxrZEdnNklESXpjSGc3RFFvZ0lHaGxhV2RvZERvZ01USndlRHNOQ2lBZ2IzWmxjbVpzYjNjNklHaHBaR1JsYmpzTkNpQWdabXh2WVhRNklHeGxablE3RFFvZ0lHMWhjbWRwYmpvZ05IQjRJREFnTURzTkNpQWdZM1Z5YzI5eU9pQndiMmx1ZEdWeU93MEtmUTBLTG5OdlkybGhiRjl6YUdGeVpWOXdjbWwyWVdONVgyRnlaV0VnYkdrZ0xuTjNhWFJqYUM1dmJpQjdEUW9nSUdKaFkydG5jbTkxYm1RdGNHOXphWFJwYjI0NklEQWdMVEV5Y0hnN0RRcDlEUW91YzI5amFXRnNYM05vWVhKbFgzQnlhWFpoWTNsZllYSmxZU0JzYVM1b1pXeHdYMmx1Wm04Z2V3MEtJQ0J3YjNOcGRHbHZiam9nY21Wc1lYUnBkbVU3RFFwOURRb3VjMjlqYVdGc1gzTm9ZWEpsWDNCeWFYWmhZM2xmWVhKbFlTQnNhUzVvWld4d1gybHVabThnTG1sdVptOHNJQzV6YjJOcFlXeGZjMmhoY21WZmNISnBkbUZqZVY5aGNtVmhJR3hwSUM1b1pXeHdYMmx1Wm04dWFXTnZiaUF1YVc1bWJ5QjdEUW9nSUdScGMzQnNZWGs2SUc1dmJtVTdEUW9nSUhCdmMybDBhVzl1T2lCaFluTnZiSFYwWlRzTkNpQWdZbTkwZEc5dE9pQTBNSEI0T3cwS0lDQnNaV1owT2lBd093MEtJQ0IzYVdSMGFEb2dNamt3Y0hnN0RRb2dJSEJoWkdScGJtYzZJREV3Y0hnZ01UVndlRHNOQ2lBZ1ptOXVkQzF6YVhwbE9pQXhNbkI0T3cwS0lDQnNhVzVsTFdobGFXZG9kRG9nTVRad2VEc05DaUFnWm05dWRDMTNaV2xuYUhRNklHSnZiR1E3RFFvZ0lHSnZjbVJsY2pvZ01YQjRJSE52Ykdsa0lDTmpZMk03RFFvZ0lDMXRiM290WW05eVpHVnlMWEpoWkdsMWN6b2dOSEI0T3cwS0lDQXRkMlZpYTJsMExXSnZjbVJsY2kxeVlXUnBkWE02SURSd2VEc05DaUFnWW05eVpHVnlMWEpoWkdsMWN6b2dOSEI0T3cwS0lDQXRiVzk2TFdKdmVDMXphR0ZrYjNjNklEQWdNM0I0SURSd2VDQWpPVGs1T3cwS0lDQXRkMlZpYTJsMExXSnZlQzF6YUdGa2IzYzZJREFnTTNCNElEUndlQ0FqT1RrNU93MEtJQ0JpYjNndGMyaGhaRzkzT2lBd0lETndlQ0EwY0hnZ0l6azVPVHNOQ2lBZ1ltRmphMmR5YjNWdVpDMWpiMnh2Y2pvZ0kyWmtabUpsWXpzTkNpQWdZMjlzYjNJNklDTXdNREE3RFFvZ0lIb3RhVzVrWlhnNklEVXdNRHNOQ24wTkNpNXpiMk5wWVd4ZmMyaGhjbVZmY0hKcGRtRmplVjloY21WaElHeHBMbWR3YkhWekxtaGxiSEJmYVc1bWJ5QXVhVzVtYnlCN0RRb2dJR3hsWm5RNklDMDJNSEI0T3cwS2ZRMEtMbk52WTJsaGJGOXphR0Z5WlY5d2NtbDJZV041WDJGeVpXRWdiR2tnTG1obGJIQmZhVzVtYnk1cFkyOXVJQzVwYm1adklIc05DaUFnYkdWbWREb2dMVEkwTTNCNE93MEtJQ0IzYVdSMGFEb2dNelV3Y0hnN0RRcDlEUW91YzI5amFXRnNYM05vWVhKbFgzQnlhWFpoWTNsZllYSmxZU0JzYVNBdWFHVnNjRjlwYm1adkxtbGpiMjR1WkdsemNHeGhlU0F1YVc1bWJ5QjdEUW9nSUdScGMzQnNZWGs2SUdKc2IyTnJPdzBLZlEwS0xuTnZZMmxoYkY5emFHRnlaVjl3Y21sMllXTjVYMkZ5WldFZ2JHa3VhR1ZzY0Y5cGJtWnZMbWx1Wm05ZmIyWm1MbVJwYzNCc1lYa2dMbWx1Wm04Z2V3MEtJQ0JrYVhOd2JHRjVPaUJ1YjI1bE93MEtmUTBLTG5OdlkybGhiRjl6YUdGeVpWOXdjbWwyWVdONVgyRnlaV0VnYkdrZ0xtaGxiSEJmYVc1bWJ5NXBZMjl1SUhzTkNpQWdZbUZqYTJkeWIzVnVaRG9nSTJabVppQjFjbXdvVzF0eWIyOTBYM1Z5YkYxZEwyMXZaSFZzWlhNdlZHOXZiRUp2ZUM5cGJXRm5aWE12YzI5amFXRnNjMmhoY21Wd2NtbDJZV041TDJsdVptOHVjRzVuS1NCdWJ5MXlaWEJsWVhRZ1kyVnVkR1Z5SUdObGJuUmxjaUJ6WTNKdmJHdzdEUW9nSUhkcFpIUm9PaUF5TlhCNE93MEtJQ0JvWldsbmFIUTZJREl3Y0hnN0RRb2dJSEJ2YzJsMGFXOXVPaUJ5Wld4aGRHbDJaVHNOQ2lBZ1pHbHpjR3hoZVRvZ2FXNXNhVzVsTFdKc2IyTnJPdzBLSUNCMlpYSjBhV05oYkMxaGJHbG5iam9nZEc5d093MEtJQ0JpYjNKa1pYSTZJREp3ZUNCemIyeHBaQ0FqWlRkbE0yVXpPdzBLSUNCaWIzSmtaWEl0Y21sbmFIUXRkMmxrZEdnNklEQTdEUW9nSUMxdGIzb3RZbTl5WkdWeUxYSmhaR2wxY3pvZ05YQjRJREFnTUNBMWNIZzdEUW9nSUMxM1pXSnJhWFF0WW05eVpHVnlMWEpoWkdsMWN6b2dOWEI0SURBZ01DQTFjSGc3RFFvZ0lHSnZjbVJsY2kxeVlXUnBkWE02SURWd2VDQXdJREFnTlhCNE93MEtmUTBLTG5OdlkybGhiRjl6YUdGeVpWOXdjbWwyWVdONVgyRnlaV0VnYkdrdWMyVjBkR2x1WjNOZmFXNW1ieUF1YzJWMGRHbHVaM05mYVc1bWIxOXRaVzUxTG05dUlDNW9aV3h3WDJsdVptOHVhV052YmlCN0RRb2dJR0p2Y21SbGNpMTBiM0F0ZDJsa2RHZzZJREE3RFFvZ0lHSnZjbVJsY2kxc1pXWjBMWGRwWkhSb09pQXdPdzBLZlEwS0xuTnZZMmxoYkY5emFHRnlaVjl3Y21sMllXTjVYMkZ5WldFZ2JHa3VjMlYwZEdsdVozTmZhVzVtYnlBdWMyVjBkR2x1WjNOZmFXNW1iMTl0Wlc1MUxuQmxjbTFoWDI5d2RHbHZibDl2Wm1ZZ0xtaGxiSEJmYVc1bWJ5NXBZMjl1SUhzTkNpQWdZbTl5WkdWeUxYSnBaMmgwTFhkcFpIUm9PaUF5Y0hnN0RRb2dJQzF0YjNvdFltOXlaR1Z5TFhKaFpHbDFjem9nTlhCNE93MEtJQ0F0ZDJWaWEybDBMV0p2Y21SbGNpMXlZV1JwZFhNNklEVndlRHNOQ2lBZ1ltOXlaR1Z5TFhKaFpHbDFjem9nTlhCNE93MEtmUTBLTG5OdlkybGhiRjl6YUdGeVpWOXdjbWwyWVdONVgyRnlaV0VnYkdrdWMyVjBkR2x1WjNOZmFXNW1ieUI3RFFvZ0lIQnZjMmwwYVc5dU9pQnlaV3hoZEdsMlpUc05DaUFnZEc5d09pQXRNbkI0T3cwS2ZRMEtMbk52WTJsaGJGOXphR0Z5WlY5d2NtbDJZV041WDJGeVpXRWdiR2t1YzJWMGRHbHVaM05mYVc1bWJ5QmhJSHNOQ2lBZ2RHVjRkQzFrWldOdmNtRjBhVzl1T2lCdWIyNWxPdzBLSUNCdFlYSm5hVzQ2SURBZ0lXbHRjRzl5ZEdGdWREc05DbjBOQ2k1emIyTnBZV3hmYzJoaGNtVmZjSEpwZG1GamVWOWhjbVZoSUd4cExuTmxkSFJwYm1kelgybHVabThnTG5ObGRIUnBibWR6WDJsdVptOWZiV1Z1ZFNCN0RRb2dJR0poWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tTTJZMFpqVTdEUW9nSUdKdmNtUmxjam9nTW5CNElITnZiR2xrSUNObE4yVXpaVE03RFFvZ0lDMXRiM290WW05eVpHVnlMWEpoWkdsMWN6b2dOWEI0T3cwS0lDQXRkMlZpYTJsMExXSnZjbVJsY2kxeVlXUnBkWE02SURWd2VEc05DaUFnWW05eVpHVnlMWEpoWkdsMWN6b2dOWEI0T3cwS0lDQXRiVzk2TFdKdmVDMXphR0ZrYjNjNklESndlQ0F5Y0hnZ00zQjRJQ05qTVdNeFl6RTdEUW9nSUMxM1pXSnJhWFF0WW05NExYTm9ZV1J2ZHpvZ01uQjRJREp3ZUNBemNIZ2dJMk14WXpGak1Uc05DaUFnWW05NExYTm9ZV1J2ZHpvZ00zQjRJRE53ZUNBemNIZ2dJMk14WXpGak1Uc05DaUFnYkdWbWREb2dNRHNOQ2lBZ2NHOXphWFJwYjI0NklHRmljMjlzZFhSbE93MEtJQ0IwYjNBNklEQTdEUW9nSUhkcFpIUm9PaUF4TXpWd2VEc05DaUFnZWkxcGJtUmxlRG9nTVRBd01Ec05DbjBOQ2k1emIyTnBZV3hmYzJoaGNtVmZjSEpwZG1GamVWOWhjbVZoSUd4cExuTmxkSFJwYm1kelgybHVabThnTG5ObGRIUnBibWR6WDJsdVptOWZiV1Z1ZFM1dlptWWdldzBLSUNCaWIzSmtaWEl0ZDJsa2RHZzZJREE3RFFvZ0lDMXRiM290WW05NExYTm9ZV1J2ZHpvZ2JtOXVaVHNOQ2lBZ0xYZGxZbXRwZEMxaWIzZ3RjMmhoWkc5M09pQnViMjVsT3cwS0lDQmliM2d0YzJoaFpHOTNPaUJ1YjI1bE93MEtJQ0JpWVdOclozSnZkVzVrTFdOdmJHOXlPaUIwY21GdWMzQmhjbVZ1ZERzTkNuME5DaTV6YjJOcFlXeGZjMmhoY21WZmNISnBkbUZqZVY5aGNtVmhJR3hwTG5ObGRIUnBibWR6WDJsdVptOGdMbk5sZEhScGJtZHpYMmx1Wm05ZmJXVnVkUzV2Wm1ZZ1ptOXliU0I3RFFvZ0lHUnBjM0JzWVhrNklHNXZibVU3RFFwOURRb3VjMjlqYVdGc1gzTm9ZWEpsWDNCeWFYWmhZM2xmWVhKbFlTQnNhUzV6WlhSMGFXNW5jMTlwYm1adklDNXpaWFIwYVc1bmMxOXBibVp2WDIxbGJuVWdMbk5sZEhScGJtZHpJSHNOQ2lBZ2RHVjRkQzFwYm1SbGJuUTZJQzA1T1RrNVpXMDdEUW9nSUdScGMzQnNZWGs2SUdsdWJHbHVaUzFpYkc5amF6c05DaUFnWW1GamEyZHliM1Z1WkRvZ0kyWm1aaUIxY213b1cxdHliMjkwWDNWeWJGMWRMMjF2WkhWc1pYTXZWRzl2YkVKdmVDOXBiV0ZuWlhNdmMyOWphV0ZzYzJoaGNtVndjbWwyWVdONUwzTmxkSFJwYm1kekxuQnVaeWtnYm04dGNtVndaV0YwSUdObGJuUmxjaUJqWlc1MFpYSWdjMk55YjJ4c093MEtJQ0IzYVdSMGFEb2dNalZ3ZURzTkNpQWdhR1ZwWjJoME9pQXlNSEI0T3cwS0lDQmliM0prWlhJNklESndlQ0J6YjJ4cFpDQWpaVGRsTTJVek93MEtJQ0F0Ylc5NkxXSnZjbVJsY2kxeVlXUnBkWE02SURBZ05YQjRJRFZ3ZUNBd093MEtJQ0F0ZDJWaWEybDBMV0p2Y21SbGNpMXlZV1JwZFhNNklEQWdOWEI0SURWd2VDQXdPdzBLSUNCaWIzSmtaWEl0Y21Ga2FYVnpPaUF3SURWd2VDQTFjSGdnTURzTkNpQWdZbTl5WkdWeUxXeGxablE2SURGd2VDQnpiMnhwWkNBalpHUmtPdzBLZlEwS0xuTnZZMmxoYkY5emFHRnlaVjl3Y21sMllXTjVYMkZ5WldFZ2JHa3VjMlYwZEdsdVozTmZhVzVtYnlBdWMyVjBkR2x1WjNOZmFXNW1iMTl0Wlc1MUxtOXVJQzV6WlhSMGFXNW5jeUI3RFFvZ0lHSnZjbVJsY2kxMGIzQXRkMmxrZEdnNklEQTdEUXA5RFFvdWMyOWphV0ZzWDNOb1lYSmxYM0J5YVhaaFkzbGZZWEpsWVNCc2FTNXpaWFIwYVc1bmMxOXBibVp2SUM1elpYUjBhVzVuYzE5cGJtWnZYMjFsYm5VZ1ptOXliU0JtYVdWc1pITmxkQ0I3RFFvZ0lHSnZjbVJsY2kxM2FXUjBhRG9nTURzTkNpQWdiV0Z5WjJsdU9pQXdPdzBLSUNCd1lXUmthVzVuT2lBd0lERXdjSGdnTVRCd2VEc05DbjBOQ2k1emIyTnBZV3hmYzJoaGNtVmZjSEpwZG1GamVWOWhjbVZoSUd4cExuTmxkSFJwYm1kelgybHVabThnTG5ObGRIUnBibWR6WDJsdVptOWZiV1Z1ZFNCbWIzSnRJR1pwWld4a2MyVjBJR3hsWjJWdVpDQjdEUW9nSUdadmJuUXRjMmw2WlRvZ01URndlRHNOQ2lBZ1ptOXVkQzEzWldsbmFIUTZJR0p2YkdRN0RRb2dJR3hwYm1VdGFHVnBaMmgwT2lBeE5IQjRPdzBLSUNCdFlYSm5hVzQ2SURBN0RRb2dJSEJoWkdScGJtYzZJREV3Y0hnZ01Ec05DaUFnZDJsa2RHZzZJREV4TlhCNE93MEtmUTBLTG5OdlkybGhiRjl6YUdGeVpWOXdjbWwyWVdONVgyRnlaV0VnYkdrdWMyVjBkR2x1WjNOZmFXNW1ieUF1YzJWMGRHbHVaM05mYVc1bWIxOXRaVzUxSUdadmNtMGdabWxsYkdSelpYUWdhVzV3ZFhRZ2V3MEtJQ0JqYkdWaGNqb2dZbTkwYURzTkNpQWdabXh2WVhRNklHeGxablE3RFFvZ0lHMWhjbWRwYmpvZ05IQjRJREV3Y0hnZ05IQjRJREE3RFFwOURRb3VjMjlqYVdGc1gzTm9ZWEpsWDNCeWFYWmhZM2xmWVhKbFlTQnNhUzV6WlhSMGFXNW5jMTlwYm1adklDNXpaWFIwYVc1bmMxOXBibVp2WDIxbGJuVWdabTl5YlNCbWFXVnNaSE5sZENCc1lXSmxiQ0I3RFFvZ0lHUnBjM0JzWVhrNklHbHViR2x1WlMxaWJHOWphenNOQ2lBZ1pteHZZWFE2SUd4bFpuUTdEUW9nSUdadmJuUXRjMmw2WlRvZ01USndlRHNOQ2lBZ1ptOXVkQzEzWldsbmFIUTZJR0p2YkdRN0RRb2dJR3hwYm1VdGFHVnBaMmgwT2lBeU5IQjRPdzBLSUNBdGJXOTZMWFJ5WVc1emFYUnBiMjQ2SUdOdmJHOXlJQzQxY3lCbFlYTmxMV2x1T3cwS0lDQXRkMlZpYTJsMExYUnlZVzV6YVhScGIyNDZJR052Ykc5eUlDNDFjeUJsWVhObExXbHVPdzBLSUNCMGNtRnVjMmwwYVc5dU9pQmpiMnh2Y2lBdU5YTWdaV0Z6WlMxcGJqc05DbjBOQ2k1emIyTnBZV3hmYzJoaGNtVmZjSEpwZG1GamVWOWhjbVZoSUd4cExuTmxkSFJwYm1kelgybHVabThnTG5ObGRIUnBibWR6WDJsdVptOWZiV1Z1ZFNCbWIzSnRJR1pwWld4a2MyVjBJR3hoWW1Wc0xtTm9aV05yWldRZ2V3MEtJQ0JqYjJ4dmNqb2dJekE1TURzTkNuME5DaU50YVhSMFpTQWpiV2wwZEdWZmJHbHVhM01nZXcwS0lDQnZkbVZ5Wm14dmR6b2dkbWx6YVdKc1pTQWhhVzF3YjNKMFlXNTBPdzBLPC90cGxjc3M+Cgk8dHBsanM+UEhOamNtbHdkQ0IwZVhCbFBTSjBaWGgwTDJwaGRtRnpZM0pwY0hRaUlITnlZejBpVzF0eWIyOTBYM1Z5YkYxZEwyMXZaSFZzWlhNdlZHOXZiRUp2ZUM5MFpXMXdiR0YwWlhNdmFuTXZhbkYxWlhKNUxuTnZZMmxoYkhOb1lYSmxjSEpwZG1GamVTNXRhVzR1YW5NaVBqd3ZjMk55YVhCMFBnMEtEUW84YzJOeWFYQjBJSFI1Y0dVOUluUmxlSFF2YW1GMllYTmpjbWx3ZENJK0RRb3ZMendoVzBORVFWUkJXdzBLYWxGMVpYSjVLR1J2WTNWdFpXNTBLUzV5WldGa2VTaG1kVzVqZEdsdmJpZ2tLU0I3RFFvZ0lDQnBaaWdrS0NjamMyOWphV0ZzYzJoaGNtVndjbWwyWVdONUp5a3BldzBLSUNBZ0lDQWtLQ2NqYzI5amFXRnNjMmhoY21Wd2NtbDJZV041SnlrdWMyOWphV0ZzVTJoaGNtVlFjbWwyWVdONUtIc05DaUFnSUNBZ0lITmxjblpwWTJWeklEb2dldzBLSUNBZ0lDQWdJQ0JtWVdObFltOXZheUE2SUhzTkNpQWdJQ0FnSUNBZ0lDQW5jR1Z5YldGZmIzQjBhVzl1SnpvZ0oyOXVKeXdOQ2lBZ0lDQWdJQ0FnSUNBbmMzUmhkSFZ6SnpvZ0oyOXVKeXdOQ2lBZ0lDQWdJQ0FnSUNBblpIVnRiWGxmYVcxbkp6b2dKMXRiY205dmRGOTFjbXhkWFM5dGIyUjFiR1Z6TDFSdmIyeENiM2d2YVcxaFoyVnpMM052WTJsaGJITm9ZWEpsY0hKcGRtRmplUzltWVdObFltOXZheTV3Ym1jbkxBMEtJQ0FnSUNBZ0lDQWdJQ2QwZUhSZmFXNW1ieWM2SUNkYmRIaDBSbUpKYm1adlhTY3NEUW9nSUNBZ0lDQWdJQ0FnSjNSNGRGOW1ZbDl2Wm1Zbk9pQW5XM1I0ZEVaaVQyWm1YU2NzRFFvZ0lDQWdJQ0FnSUNBZ0ozUjRkRjltWWw5dmJpYzZJQ2RiZEhoMFJtSlBibDBuRFFvZ0lDQWdJQ0FnSUgwc0RRb2dJQ0FnSUNBZ0lIUjNhWFIwWlhJZ09pQjdEUW9nSUNBZ0lDQWdJQ0FnSjNCbGNtMWhYMjl3ZEdsdmJpY2dPaUFuYjI0bkxBMEtJQ0FnSUNBZ0lDQWdJQ2R6ZEdGMGRYTW5PaUFuYjI0bkxBMEtJQ0FnSUNBZ0lDQWdJQ2RrZFcxdGVWOXBiV2NuT2lBblcxdHliMjkwWDNWeWJGMWRMMjF2WkhWc1pYTXZWRzl2YkVKdmVDOXBiV0ZuWlhNdmMyOWphV0ZzYzJoaGNtVndjbWwyWVdONUwzUjNhWFIwWlhJdWNHNW5KeXdOQ2lBZ0lDQWdJQ0FnSUNBbmRIaDBYMmx1Wm04bk9pQW5XM1I0ZEZSM2FYUjBaWEpKYm1adlhTY3NEUW9nSUNBZ0lDQWdJQ0FnSjNSNGRGOTBkMmwwZEdWeVgyOW1aaWM2SUNkYmRIaDBWSGRwZEhSbGNrOW1abDBuTEEwS0lDQWdJQ0FnSUNBZ0lDZDBlSFJmZEhkcGRIUmxjbDl2YmljNklDZGJkSGgwVkhkcGRIUmxjazl1WFNjTkNpQWdJQ0FnSUNBZ2ZTd05DaUFnSUNBZ0lDQWdaM0JzZFhNZ09pQjdEUW9nSUNBZ0lDQWdJQ0FnSjJScGMzQnNZWGxmYm1GdFpTY2dPaUFuUjI5dloyeGxJRkJzZFhNbkxBMEtJQ0FnSUNBZ0lDQWdJQ2R3WlhKdFlWOXZjSFJwYjI0bk9pQW5iMjRuTEEwS0lDQWdJQ0FnSUNBZ0lDZHpkR0YwZFhNbk9pQW5iMjRuTEEwS0lDQWdJQ0FnSUNBZ0lDZGtkVzF0ZVY5cGJXY25PaUFuVzF0eWIyOTBYM1Z5YkYxZEwyMXZaSFZzWlhNdlZHOXZiRUp2ZUM5cGJXRm5aWE12YzI5amFXRnNjMmhoY21Wd2NtbDJZV041TDJkd2JIVnpMbkJ1Wnljc0RRb2dJQ0FnSUNBZ0lDQWdKM1I0ZEY5cGJtWnZKem9nSjF0MGVIUkhjR3gxYzBsdVptOWRKeXdOQ2lBZ0lDQWdJQ0FnSUNBbmRIaDBYMmR3YkhWelgyOW1aaWM2SUNkYmRIaDBSM0JzZFhOUFptWmRKeXdOQ2lBZ0lDQWdJQ0FnSUNBbmRIaDBYM0JzZFhOZmIyNG5PaUFuVzNSNGRFZHdiSFZ6VDI1ZEp3MEtJQ0FnSUNBZ0lDQjlEUW9nSUNBZ0lDQjlMQTBLSUNBZ0lDQWdJQ2RqYzNOZmNHRjBhQ2M2SUNkYlczSnZiM1JmZFhKc1hWMHZiVzlrZFd4bGN5OVViMjlzUW05NEwzUmxiWEJzWVhSbGN5OWpjM012YzI5amFXRnNjMmhoY21Wd2NtbDJZV041TG1OemN5Y3NEUW9nSUNBZ0lDQWdXMmx1Wm05TWFXNXJYUTBLSUNBZ0lDQWdJQ2QwZUhSZmFHVnNjQ2M2SUNkYmRIaDBTR1ZzY0YwbkxDQWdJQTBLSUNBZ0lDQWdJQ2R6WlhSMGFXNW5jMTl3WlhKdFlTYzZJQ2RiZEhoMFUyVjBkR2x1WjNOUVpYSnRZVjBuRFFvZ0lDQWdmU2s3RFFvZ0lIME5DaUFnZlNrN0RRb3ZMMTFkUGcwS1BDOXpZM0pwY0hRKzwvdHBsanM+Cgk8dHBsbW9iaWxlY29kZT48L3RwbG1vYmlsZWNvZGU+Cgk8dHBsbW9iaWxlY3NzPjwvdHBsbW9iaWxlY3NzPgoJPHRwbG1vYmlsZWpzPjwvdHBsbW9iaWxlanM+CjwvdG9vbGJveHRwbD4K]]></data>
	</file>
	<file>
	  <filename>/templates/ToolBox-tpl-twitterfeed-twitterfeed.xml</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHRvb2xib3h0cGw+Cgk8bmFtZT50d2ZfdHdpdHRlcmZlZWQ8L25hbWU+Cgk8dmVyc2lvbj4xLjA8L3ZlcnNpb24+Cgk8dG9vbGJveHZlcnNpb24+MS4zLjM8L3Rvb2xib3h2ZXJzaW9uPgoJPGFib3V0PjwvYWJvdXQ+Cgk8c2VjdGlvbj50d2l0dGVyZmVlZDwvc2VjdGlvbj4KCTx0cGxzZWN0aW9uPjwvdHBsc2VjdGlvbj4KCTxqcXVlcnk+MTwvanF1ZXJ5PgoJPGpxdWVyeV9vd24+MDwvanF1ZXJ5X293bj4KCTxvcHRpb25zPllUb3dPbnQ5PC9vcHRpb25zPgoJPHRwbGNvZGU+UEdScGRpQmpiR0Z6Y3owaWRHSlVkMmwwZEdWeVptVmxaQ0krRFFvOGRXd2dZMnhoYzNNOUluUjNaV1YwTFd4cGMzUWlQZzBLZTJadmNtVmhZMmdnWm5KdmJUMGtkSGRwZEhSbGNtWmxaV1FnYVhSbGJUMXBkR1Z0SUc1aGJXVTlKMlpsWldRbmZRMEtQR3hwZTJsbUlDUnpiV0Z5ZEhrdVptOXlaV0ZqYUM1bVpXVmtMbVpwY25OMGZTQmpiR0Z6Y3owaVptbHljM1FpZTJWc2MyVnBaaUFrYzIxaGNuUjVMbVp2Y21WaFkyZ3VabVZsWkM1c1lYTjBmU0JqYkdGemN6MGliR0Z6ZENKN0wybG1mVDROQ2p4cGJXY2dZMnhoYzNNOUluUjNaV1YwTFdGMllYUmhjaUlnZDJsa2RHZzlJalE0SWlCb1pXbG5hSFE5SWpRNElpQnpjbU05SW5za2FYUmxiUzArYVcxblgzVnliSDBpSUhScGRHeGxQU0o3SkdsMFpXMHRQbUYxZEdodmNuMGlJR0ZzZEQwaWV5UnBkR1Z0TFQ1aGRYUm9iM0o5SWlBdlBnMEtQSE53WVc0Z1kyeGhjM005SW5SM1pXVjBMWFJsZUhRaVBqeGhJR2h5WldZOUluc2thWFJsYlMwK2MyTnlaV1Z1Ym1GdFpWOTFjbXg5SWlCamJHRnpjejBpZEhkbFpYUXRZWFYwYUc5eUlqNTdKR2wwWlcwdFBuTmpjbVZsYm01aGJXVjlQQzloUGpvZ2V5UnBkR1Z0TFQ1MFpYaDBmVHd2YzNCaGJqNE5DbnRwWmlBa2FYUmxiUzArY21WMGQyVmxkRjl6WTNKbFpXNXVZVzFsSUNFOUlDY25mVHh6Y0dGdUlHTnNZWE56UFNKMGQyVmxkQzF5WlhSM1pXVjBaV1JpZVNJK2NtVjBkMlZsZEdWa0lHSjVJSHNrYVhSbGJTMCtjbVYwZDJWbGRGOWhkWFJvYjNKOVBDOXpjR0Z1UG5zdmFXWjlEUW84YzNCaGJpQmpiR0Z6Y3owaWRIZGxaWFF0YkdsdWEzTWlQbnNrYVhSbGJTMCtaR0YwWlY5c2FXNXJmU0FtYldsa1pHOTBPeUI3SkdsMFpXMHRQbkpsY0d4NVgyeHBibXQ5SUNadGFXUmtiM1E3SUhza2FYUmxiUzArY21WMGQyVmxkRjlzYVc1cmZTQW1iV2xrWkc5ME95QjdKR2wwWlcwdFBtWmhkbTl5YVhSbFgyeHBibXQ5UEM5emNHRnVQZzBLUEM5c2FUNE5DbnN2Wm05eVpXRmphSDBOQ2p3dmRXdytEUW84WkdsMklITjBlV3hsUFNKamJHVmhjanBpYjNSb095SStQQzlrYVhZK0RRbzhMMlJwZGo0TkNnPT08L3RwbGNvZGU+Cgk8dHBsY3NzPkxuUmlWSGRwZEhSbGNtWmxaV1FnZXcwS0lDQWdJR1p2Ym5RdFptRnRhV3g1T2lCb1pXeDJaWFJwWTJFc0lDZEhaVzl5WjJsaEp5d2dZWEpwWVd3c0lITmhibk10YzJWeWFXWTdEUW9nSUNBZ2QybGtkR2c2SURNeU1IQjRPdzBLSUNBZ0lIQmhaR1JwYm1jNklERXdjSGc3RFFvZ0lDQWdZbUZqYTJkeWIzVnVaQzFqYjJ4dmNqb2dJMlptWmpzTkNpQWdJQ0JpYjNKa1pYSXRjbUZrYVhWek9pQTJjSGc3RFFvZ0lDQWdiV0Z5WjJsdUxYSnBaMmgwT2lBeU1IQjRPdzBLSUNBZ0lHSnZjbVJsY2pvZ01YQjRJSE52Ykdsa0lDTkdNa1l5UmpJN0RRcDlEUW91ZEdKVWQybDBkR1Z5Wm1WbFpDQjFiQ0FnZXcwS0lDQWdJRzFoY21kcGJqb2dNQ0F4TUhCNElEQWdNRHNOQ2lBZ0lDQndZV1JrYVc1bk9pQXdPdzBLZlEwS0xuUmlWSGRwZEhSbGNtWmxaV1FnYkdrZ2V3MEtJQ0FnSUdKdmNtUmxjaTFpYjNSMGIyMDZJREZ3ZUNCemIyeHBaQ0FqUmpKR01rWXlPdzBLSUNBZ0lHeHBjM1F0YzNSNWJHVTZJRzV2Ym1VN0RRb2dJQ0FnY0dGa1pHbHVaem9nTVRCd2VDQXlNSEI0SURFd2NIZ2dNVEJ3ZURzTkNpQWdJQ0JtYjI1MExYTnBlbVU2SURFemNIZzdEUW9nSUNBZ2JHbHVaUzFvWldsbmFIUTZJREUyY0hnN0RRb2dJQ0FnYldsdUxXaGxhV2RvZERvZ05EaHdlRHNOQ24wTkNpNTBZbFIzYVhSMFpYSm1aV1ZrSUd4cExteGhjM1FnZXcwS0lDQWdJR0p2Y21SbGNqb2dibTl1WlRzTkNuME5DaTUwWWxSM2FYUjBaWEptWldWa0lHeHBJQ0I3RFFvZ0lDQWdMWGRsWW10cGRDMWliM0prWlhJdGNtRmthWFZ6T2lBNGNIZzdEUW9nSUNBZ0xXMXZlaTFpYjNKa1pYSXRjbUZrYVhWek9pQTRjSGc3RFFvZ0lDQWdMVzF6TFdKdmNtUmxjaTF5WVdScGRYTTZJRGh3ZURzTkNpQWdJQ0F0YnkxaWIzSmtaWEl0Y21Ga2FYVnpPaUE0Y0hnN0RRb2dJQ0FnWW05eVpHVnlMWEpoWkdsMWN6b2dPSEI0T3cwS0lDQWdJR1pzYjJGME9pQnNaV1owT3cwS0lDQWdJRzFoY21kcGJqb2dNQ0F4TUhCNElERXdjSGdnTURzTkNuME5DaTUwWWxSM2FYUjBaWEptWldWa0lHeHBJR2x0WnlCN0RRb2dJQ0FnTFhkbFltdHBkQzFpYjNKa1pYSXRjbUZrYVhWek9pQTRjSGc3RFFvZ0lDQWdMVzF2ZWkxaWIzSmtaWEl0Y21Ga2FYVnpPaUE0Y0hnN0RRb2dJQ0FnTFcxekxXSnZjbVJsY2kxeVlXUnBkWE02SURod2VEc05DaUFnSUNBdGJ5MWliM0prWlhJdGNtRmthWFZ6T2lBNGNIZzdEUW9nSUNBZ1ltOXlaR1Z5TFhKaFpHbDFjem9nT0hCNE93MEtJQ0FnSUdac2IyRjBPaUJzWldaME93MEtJQ0FnSUcxaGNtZHBiam9nTUNBeE1IQjRJREV3Y0hnZ01Ec05DbjBOQ2k1MFlsUjNhWFIwWlhKbVpXVmtJR3hwSUhOd1lXNGdldzBLSUNBZ0lHMWhjbWRwYmkxc1pXWjBPaUExT0hCNE93MEtJQ0FnSUdScGMzQnNZWGs2SUdKc2IyTnJPdzBLZlEwS0xuUmlWSGRwZEhSbGNtWmxaV1FnYkdrZ0xuUjNaV1YwTFdGMWRHaHZjaUI3RFFvZ0lDQWdabTl1ZEMxM1pXbG5hSFE2SUdKdmJHUTdEUW9nSUNBZ2RHVjRkQzFrWldOdmNtRjBhVzl1T2lCdWIyNWxPdzBLZlEwS0xuUmlWSGRwZEhSbGNtWmxaV1FnYkdrZ0xuUjNaV1YwTFd4cGJtdHpMQTBLTG5SaVZIZHBkSFJsY21abFpXUWdiR2tnTG5SM1pXVjBMWEpsZEhkbFpYUmxaR0o1SUhzTkNpQWdJQ0JrYVhOd2JHRjVPaUJpYkc5amF6c05DaUFnSUNCamIyeHZjam9nSXprNU9Uc05DaUFnSUNCbWIyNTBMWE5wZW1VNklERXhjSGc3RFFvZ0lDQWdjR0ZrWkdsdVp5MTBiM0E2SURWd2VEc05DbjBOQ2cwS0xuUmlWSGRwZEhSbGNtWmxaV1FnYkdrZ0xuUjNaV1YwTFd4cGJtdHpJR0VnZXcwS0lDQWdJR052Ykc5eU9pQWpPVGs1T3cwS0lDQWdJSFJsZUhRdFpHVmpiM0poZEdsdmJqb2dibTl1WlRzTkNuME5DZzBLTG5SaVZIZHBkSFJsY21abFpXUWdiR2tnTG5SM1pXVjBMV3hwYm10eklHRTZhRzkyWlhJZ2V3MEtJQ0FnSUhSbGVIUXRaR1ZqYjNKaGRHbHZianAxYm1SbGNteHBibVU3RFFwOURRb05DaTUwWWxSM2FYUjBaWEptWldWa0lHeHBJQzUwZDJWbGRDMXlaWFIzWldWMFpXUmllU0I3RFFvZ0lDQWdjR0ZrWkdsdVp6b2dNRHNOQ2lBZ0lDQnRZWEpuYVc0dFltOTBkRzl0T2lBdE5YQjRPdzBLPC90cGxjc3M+Cgk8dHBsanM+SUR4elkzSnBjSFFnZEhsd1pUMGlkR1Y0ZEM5cVlYWmhjMk55YVhCMElqNE5DaUFrS0NjdWRIZGxaWFF0Y0c5d2RYQW5LUzVqYkdsamF5aG1kVzVqZEdsdmJpaGxkbVZ1ZENrZ2V3MEtJQ0FnSUhaaGNpQjNhV1IwYUNBZ1BTQTFOallzRFFvZ0lDQWdJQ0FnSUdobGFXZG9kQ0E5SURVeE1pd05DaUFnSUNBZ0lDQWdiR1ZtZENBZ0lEMGdLQ1FvZDJsdVpHOTNLUzUzYVdSMGFDZ3BJQ0F0SUhkcFpIUm9LU0FnTHlBeUxBMEtJQ0FnSUNBZ0lDQjBiM0FnSUNBZ1BTQW9KQ2gzYVc1a2IzY3BMbWhsYVdkb2RDZ3BJQzBnYUdWcFoyaDBLU0F2SURJc0RRb2dJQ0FnSUNBZ0lIVnliQ0FnSUNBOUlIUm9hWE11YUhKbFppd05DaUFnSUNBZ0lDQWdiM0IwY3lBZ0lEMGdKM04wWVhSMWN6MHhKeUFyRFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNjc2QybGtkR2c5SnlBZ0t5QjNhV1IwYUNBZ0t3MEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW5MR2hsYVdkb2REMG5JQ3NnYUdWcFoyaDBJQ3NOQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSnl4MGIzQTlKeUFnSUNBcklIUnZjQ0FnSUNBckRRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDY3NiR1ZtZEQwbklDQWdLeUJzWldaME93MEtEUW9nSUNBZ2QybHVaRzkzTG05d1pXNG9kWEpzTENBbmRIZHBkSFJsY2ljc0lHOXdkSE1wT3cwS0RRb2dJQ0FnY21WMGRYSnVJR1poYkhObE93MEtJQ0I5S1RzOEwzTmpjbWx3ZEQ0TkNnPT08L3RwbGpzPgoJPHRwbG1vYmlsZWNvZGU+PC90cGxtb2JpbGVjb2RlPgoJPHRwbG1vYmlsZWNzcz48L3RwbG1vYmlsZWNzcz4KCTx0cGxtb2JpbGVqcz48L3RwbG1vYmlsZWpzPgo8L3Rvb2xib3h0cGw+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/twf_twitterfeed/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/ToolBox.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNb2R1bGU6CQlUb29sQm94ClRpdGxlOgkJTWFpbiBjbGFzcwpWZXJzaW9uOgkxLjMuNQpEZXNjcmlwdC46CUFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIG1hZGUgbGlmZSBlYXNpZXIKTGFzdCBNb2QuOgkyMy4wNS4yMDEzCkF1dGhvcjoJCUFuZGkgUGV0em9sZHQgLyBMdWthcyBCbGF0dGVyCkVtYWlsOgkJYW5kaUBwZXR6b2xkdC5uZXQgLyBsdWthcy5ibGF0dGVyQGJsYXR0ZXJ0ZWNoLmNoCk5vdGVzOgpMaWNlbmNlOglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQoJCQlpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQoJCQl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgoJCQkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoJCQlIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKCQkJYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCgkJCWluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKCQkJTWFkZSBTaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCgkJCXNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBTaW1wbGUuCgkJCUZpbmQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBDTVMgTWFkZSBTaW1wbGUgb24gaXRzIHdlYnNpdGU6CgkJCWh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcvCgkJCVRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAoJCQlidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgoJCQlNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCgkJCUdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgkJCVlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCgkJCWFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCgkJCUZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCgkJCU9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKCmRlZmluZSgnVE9PTEJPWF9TRVBBUkFUT1InLCAieyotLS0tLS0tLS0tIik7CmRlZmluZSgnVE9PTEJPWF9JREVOVCcsICI8IS0tIFRvb2xCb3ggLS0+XG4iKTsKZGVmaW5lKCdUT09MQk9YX0NBQ0hFJywgIjwhLS0gdGJjIC0tPlxuIik7CgovKioKICogSW5jbHVkZSBUb29sYm94IFNtYXJ0eSBGdW5jdGlvbnMKICovCgpyZXF1aXJlX29uY2UoY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwnZnVuY3Rpb25zJy5ESVJFQ1RPUllfU0VQQVJBVE9SLid0YmZ1bmN0aW9ucy5waHAnKSk7CnJlcXVpcmVfb25jZShjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCdmdW5jdGlvbnMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3RibW9kaWZpZXIucGhwJykpOwoKCi8qKgogKiBDbGFzcyBUb29sQm94LgogKgogKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGJhc2ljIGZ1bmN0aW9ucyBmb3IgdGhlIENNU21zIGFkZG9uICJUb29sQm94IgogKgogKi8KCmZpbmFsIGNsYXNzIFRvb2xCb3ggZXh0ZW5kcyBDTVNNb2R1bGUgewoKCS8vIGNsYXNzIHZhcnMKCXByaXZhdGUJCSRkYjsKCXByaXZhdGUJCSRzbWFydHk7Cglwcml2YXRlCQkkY29uZmlnOwoJcHVibGljCQkkcGFnZUlkOwoJcHJvdGVjdGVkIAkkdGJSZWRpcmVjdExvZzsKCXB1YmxpYwkJJHRiTWV0YSA9IGFycmF5KCk7CglwdWJsaWMJCSR0Yk1ldGFKcyA9IGFycmF5KCk7CglwdWJsaWMJCSR0YkpxdWVyeSA9IGZhbHNlOwoJcHVibGljCQkkdGJVc2VkOwoJcHJpdmF0ZQkJJHRiRXZlbnRzOwoJcHJvdGVjdGVkCSR0YkRvbmF0ZTsKCXByaXZhdGUJCSR0YmZwOwoJcHJvdGVjdGVkIAkkdGJMb2dQYXRoOwoJcHJvdGVjdGVkIAkkdGJMb2dGaWxlOwoJcHJvdGVjdGVkCSRsb2dVcGRhdGVyUGFyYW0gPSBhcnJheSgpOwoJcHVibGljCQkkdGJtb2JpbGU7CgkKCQoJLyoKCSogQ29uc3RydWN0b3IgZnVuY3Rpb24KCSovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSAKCXsKCQlwYXJlbnQ6OkNNU01vZHVsZSgpOwoJCXBhcmVudDo6X19jb25zdHJ1Y3QoKTsKCQkKCQkkdGhpcy0+ZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSR0aGlzLT5zbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKCQkkdGhpcy0+Y29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgoJICAgIC8vIFJlZ2lzdGVyIGZ1bmN0aW9ucwoJICAgICR0aGlzLT5zbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCd0YkltYWdlJywJCQkJJ3NtYXJ0eV9mdW5jdGlvbl90YkltYWdlJyk7CgkgICAgJHRoaXMtPnNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ3RiU2Vzc2lvblNldCcsCQknc21hcnR5X2Z1bmN0aW9uX3RiU2Vzc2lvblNldCcpOwoJICAgICR0aGlzLT5zbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCd0YlNlc3Npb25VbnNldCcsCQknc21hcnR5X2Z1bmN0aW9uX3RiU2Vzc2lvblVuc2V0Jyk7CgkgICAgJHRoaXMtPnNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ3RiR2V0UGFnZUhpZXJhcmNoeScsCSdzbWFydHlfZnVuY3Rpb25fdGJHZXRQYWdlSGllcmFyY2h5Jyk7CgkgICAgJHRoaXMtPnNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ3RiR2V0TmV3c0NhdGVnb3JpZXMnLAknc21hcnR5X2Z1bmN0aW9uX3RiR2V0TmV3c0NhdGVnb3JpZXMnKTsKCSAgICAkdGhpcy0+c21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbigndGJHZXRVc2VyR3JvdXBzJywJCSdzbWFydHlfZnVuY3Rpb25fdGJHZXRVc2VyR3JvdXBzJyk7CgkgICAgJHRoaXMtPnNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ3RiV3JpdGVMb2cnLAkJCSdzbWFydHlfZnVuY3Rpb25fdGJXcml0ZUxvZycpOwoJICAgICR0aGlzLT5zbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCd0YlZhckV4cG9ydCcsCQkJJ3NtYXJ0eV9mdW5jdGlvbl90YlZhckV4cG9ydCcpOwoJICAgICR0aGlzLT5zbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCd0YlJlZGlyZWN0JywJCQknc21hcnR5X2Z1bmN0aW9uX3RiUmVkaXJlY3QnKTsKCSAgICAkdGhpcy0+c21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbigndGJHZXRHYWxsZXJ5VHJlZScsCSdzbWFydHlfZnVuY3Rpb25fdGJHZXRHYWxsZXJ5VHJlZScpOwoJICAgICR0aGlzLT5zbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCd0YkdldENvbmZpZycsCQkJJ3NtYXJ0eV9mdW5jdGlvbl90YkdldENvbmZpZycpOwoJICAgIAoJICAgIC8vIFJlZ2lzdGVyIG1vZGlmaWVyCgkgICAgJHRoaXMtPnNtYXJ0eS0+cmVnaXN0ZXJfbW9kaWZpZXIoJ3RiVHJ1bmNhdGUnLAknc21hcnR5X21vZGlmaWVyX3RiVHJ1bmNhdGUnKTsKCQkKCSAgICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9saWIvY2xhc3MuTW9iaWxlX0RldGVjdC5waHAnKTsKCSAgICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9saWIvY2xhc3MudGJUb29scy5waHAnKTsKCSAgICByZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuJy9saWIvY2xhc3MudGJSZWRpcmVjdExvZy5waHAnKTsKCSAgICAKCSAgICAvLyBSZWdpc3RlciB0YnRvb2xzCgkgICAgJG9iaiA9IHRiVG9vbHM6OmdldF9pbnN0YW5jZSgpOwoJICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndGJ0b29scycsJG9iaik7CgovLwkgICAgJGluc3RhbmNlID0gdGJUb29sczo6Z2V0X2luc3RhbmNlKCk7Ci8vICAgCQkkdGhpcy0+c21hcnR5LT5hc3NpZ25fYnlfcmVmKCd0YnRvb2xzJywgJGluc3RhbmNlKTsKCSAgICAKCSAgICAKCSAgICAvLyBSZWdpc3RlciB0Ym1vYmlsZQoJICAgICRvYmogPSBuZXcgTW9iaWxlX0RldGVjdCgpOwoJICAgICR0aGlzLT50Ym1vYmlsZSA9ICRvYmo7CgkgICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0Ym1vYmlsZScsJG9iaik7CgkgICAgCgkgICAgLy8gZ2V0IExvZ1N1bSBJbnN0YW5jZQoJICAgICR0aGlzLT50YlJlZGlyZWN0TG9nID0gbmV3IHRiUmVkaXJlY3RMb2coJHRoaXMpOwoJCQoJICAgIC8vIExvZ2ZpbGUgUGZhZCBmZXN0bGVnZW4KCSAgICAkdGhpcy0+dGJMb2dQYXRoID0gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4nbG9nJy5ESVJFQ1RPUllfU0VQQVJBVE9SOwoJICAgICR0aGlzLT5zZXRMb2dGaWxlKCd0YkxvZycpOwoJICAgIAoJCSR0aGlzLT50YlVzZWQgPSBmYWxzZTsKCQkKCQkkdGhpcy0+dGJFdmVudHMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZG9udF91c2VfZXZlbnRfaGFuZGxlcicpID8gMCA6IDE7CgkJaWYgKCRfU0VSVkVSWydSRU1PVEVfQUREUiddICE9ICIxMjcuMC4wLjEiKSAkdGhpcy0+dGJEb25hdGUgPSAkdGhpcy0+TGFuZygnZG9uYXRlJyk7CgkJCgl9CgoJLyoqCgkqIEdldCB0aGUgcmVhbCBuYW1lIG9mIHRoaXMgbW9kdWxlLgoJKiBAcmV0dXJuIHN0cmluZwoJKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXROYW1lKCkgewoJCXJldHVybiAnVG9vbEJveCc7Cgl9CgoJLyoqCgkqIEdldCBhIGZyaWVuZGx5ICh0cmFuc2xhdGVkKSBuYW1lIG9mIHRoaXMgbW9kdWxlLgoJKiBAcmV0dXJuIHN0cmluZwoJKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKCX0KCgkvKioKCSogR2V0IHRoZSB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLgoJKiBAcmV0dXJuIHN0cmluZwoJKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRWZXJzaW9uKCkgewoJCXJldHVybiAnMS4zLjUnOwoJfQoKCS8qKgoJKiBJcyB0aGlzIGFuIG1vZHVsZSBvbmx5IGZvciB0aGUgQ01TbXMgYmFja2VuZD8uCgkqIEByZXR1cm4gYmxvb2xlYW4KCSovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gSXNBZG1pbk9ubHkoKSB7CgkJcmV0dXJuIGZhbHNlOwoJfQoKCS8qKgoJKiBHZXRzIGEgaGVscCB0ZXh0IGZvciB0aGlzIG1vZHVsZS4KCSogQHJldHVybiBzdHJpbmcKCSovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0SGVscCgpIHsKCQlyZXR1cm4gJHRoaXMtPnRiRG9uYXRlLiR0aGlzLT5MYW5nKCdoZWxwJyk7Cgl9CgoJLyoqCgkqIEdldHMgdGhlIGF1dGhvciBvZiB0aGlzIG1vZHVsZQoJKiBAcmV0dXJuIHN0cmluZwoJKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRBdXRob3IoKSB7CgkJcmV0dXJuICdBbmRpIFBldHpvbGR0IC8gTHVrYXMgQmxhdHRlcic7Cgl9CgoJLyoqCgkqIEdldHMgdGhlIG1vZHVsZSBhdXRob3JzIGVtYWlsIGFkZHJlc3MuCgkqIEByZXR1cm4gc3RyaW5nCgkqLwoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgewoJCXJldHVybiAnYW5kaUBwZXR6b2xkdC5uZXQgLyBsdWthcy5ibGF0dGVyQGJsYXR0ZXJ0ZWNoLmNoJzsKCX0KCgkvKioKCSogR2V0IHRoZSBjaGFuZ2Vsb2cgb2YgdGhpcyBtb2R1bGUKCSogQHJldHVybiBzdHJpbmcKCSovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkgewoJCXJldHVybiAkdGhpcy0+dGJEb25hdGUuJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOwoJfQoKCS8qKgoJKiBHZXQgdGhlIGRlcGVuZGVuY2llcyBmb3IgdGhpcyBtb2R1bGUuCgkqIEByZXR1cm4gYXJyYXkKCSovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkgewoJCXJldHVybiBhcnJheSgpOwoJfQoKCS8qKgoJKiBJcyB0aGlzIGFuIG9wdGlvbmFsIG1vZHVsZSBmb3IgQ01TbXM/CgkqIEByZXR1cm4gYm9vbGVhbgoJKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsKCQlyZXR1cm4gdHJ1ZTsKCX0KCgkvKioKCSogSGFzIHRoaXMgbW9kdWxlIGFuIGFkbWluCgkqIEByZXR1cm4gYm9vbGVhbgoJKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBIYXNBZG1pbigpIHsKCQlyZXR1cm4gdHJ1ZTsKCX0KCgkvKioKCSogU2hhbGwgdGhpcyBtb2R1bGUgaGFuZGxlIGV2ZW50cz8KCSogQHJldHVybiBib29sZWFuCgkqLwoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEhhbmRsZXNFdmVudHMoKSB7CgkJcmV0dXJuICR0aGlzLT50YkV2ZW50cyA/IHRydWUgOiBmYWxzZTsKCX0KCQoJLyoqCgkqIEluIHdoaWNoIG1haW4gbWVudSBvZiB0aGUgYmFja2VuZCBzaGFsbCB0aGlzIG1vZHVsZSBiZT8KCSogQHJldHVybiBzdHJpbmcKCSovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkgewoJCXJldHVybiAnZXh0ZW5zaW9ucyc7Cgl9CgoJLyoqCgkgKiBJbml0YWxpemUgRnJvbnRlbmQgUGFyYW1zCgkgKi8KCWZ1bmN0aW9uIEluaXRpYWxpemVGcm9udGVuZCgpIHsKCQkkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CgkJCgkJLy8gUHJldHR5IHVybCByb3V0ZSBmb3Igdmlld2luZyBhIHRvb2xib3ggaW4gYWxsIGl0cyB2YXJpYXRpb25zCgkJJHVybHByZWZpeCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxwcmVmaXgnLCAnW3RUXVtiQl0nKTsKCQkvLyR0aGlzLT5SZWdpc3RlclJvdXRlKCcvdGJcLyg/UDxtb2Q+LispXC8oP1A8aXRlbWlkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspXC90LCg/UDx0ZW1wbGF0ZT4uKj8pXC9kLCg/UDxkZXRhaWx0ZW1wbGF0ZT4uKj8pJC8nKTsKCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnLycuJHVybHByZWZpeC4nXC8oP1A8bW9kPi4rKVwvKD9QPGl0ZW1pZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJyxhcnJheSgnYWN0aW9uJyA9PiAnZGVmYXVsdCcpKTsKCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnLycuJHVybHByZWZpeC4nXC8oP1A8bW9kPi4rKVwvKD9QPGl0ZW1pZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPHRiYWN0aW9uPlthLXpBLVpdKykkLycsYXJyYXkoJ2FjdGlvbicgPT4gJ2RlZmF1bHQnKSk7Ci8vCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgnLycuJHVybHByZWZpeC4nXC8oP1A8bW9kPi4rKVwvKD9QPHRlbXBsYXRlPlthLXpBLVpdKyktKD9QPG51bWJlcj5bMC05XSspLSg/UDxzaG93PlthLXpBLVpdKyktKD9QPHJldHVybmlkPlswLTldKykkLycsIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsKLy8JCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvJy4kdXJscHJlZml4LidcLyg/UDxkaXI+LispXC8oP1A8c3RhcnQ+WzAtOV0rKS0oP1A8bnVtYmVyPlswLTldKyktKD9QPHJldHVybmlkPlswLTldKykkLycsIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsKLy8JCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvJy4kdXJscHJlZml4LidcLyg/UDxkaXI+LispXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywgYXJyYXkoJ2FjdGlvbic9PidkZWZhdWx0JykpOwovLwkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy8nLiR1cmxwcmVmaXguJ1wvKD9QPHN0YXJ0PlswLTldKyktKD9QPG51bWJlcj5bMC05XSspLSg/UDxzaG93PlthLXpBLVpdKyktKD9QPHJldHVybmlkPlswLTldKykkLycsIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsKLy8JCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvJy4kdXJscHJlZml4LidcLyg/UDxzdGFydD5bMC05XSspLSg/UDxudW1iZXI+WzAtOV0rKS0oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywgYXJyYXkoJ2FjdGlvbic9PidkZWZhdWx0JykpOwovLwkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy8nLiR1cmxwcmVmaXguJ1wvKD9QPHJldHVybmlkPlswLTldKykkLycsIGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsKCQkKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndGJhY3Rpb24nLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2l0ZW1pZCcsQ0xFQU5fSU5UKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncmV0dXJuaWQnLENMRUFOX0lOVCk7CgkJCgkJJHRoaXMtPlNldFBhcmFtZXRlcnMoKTsKCQkKCX0KCgkvKioKCSogR2V0IGFuIG1vZHVsZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGJhY2tlbmQuCgkqIEByZXR1cm4gc3RyaW5nCgkqLwoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdtb2RkZXNjcmlwdGlvbicpOwoJfQoKCS8qKgoJKiBXaGF0IGlzIHRoZSBtaW5pbXVtIHZlcnNpb24gb2YgQ01TbXMgZm9yIHRoaXMgbW9kdWxlPwoJKiBAcmV0dXJuIHN0cmluZwoJKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpIHsKCQlyZXR1cm4gJzEuMTAnOwoJfQoJCgoJLyoqCgkqIFJlZ2lzdGVyIEV2ZW50CgkqLwoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFJlZ2lzdGVyRXZlbnRzKCl7CgkJJHRoaXMtPkFkZEV2ZW50SGFuZGxlciggJ0NvcmUnLCAnQ29udGVudFBvc3RSZW5kZXInLCBmYWxzZSApOwoJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X3VzZScpKSB7CgkJCSR0aGlzLT5BZGRFdmVudEhhbmRsZXIoICdDb3JlJywgJ0NvbnRlbnRFZGl0UHJlJywgZmFsc2UgKTsJCgkJCSR0aGlzLT5BZGRFdmVudEhhbmRsZXIoICdOZXdzJywgJ05ld3NBcnRpY2xlQWRkZWQnLCBmYWxzZSApOwkKCQkJJHRoaXMtPkFkZEV2ZW50SGFuZGxlciggJ05ld3MnLCAnTmV3c0FydGljbGVFZGl0ZWQnLCBmYWxzZSApOwkKCQkJJG9iaiA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgiQ0dCbG9nIik7CgkJCWlmKCBpc19vYmplY3QoJG9iaikgKSAgewoJCQkgICAgJHRoaXMtPkFkZEV2ZW50SGFuZGxlciggJ0NHQmxvZycsICdDR0Jsb2dBcnRpY2xlQWRkZWQnLCBmYWxzZSApOwkKCQkJCSR0aGlzLT5BZGRFdmVudEhhbmRsZXIoICdDR0Jsb2cnLCAnQ0dCbG9nQXJ0aWNsZUVkaXRlZCcsIGZhbHNlICk7CgkJCX0KCQl9CgkJZWxzZSB7CgkJCSR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoICdDb3JlJywgJ0NvbnRlbnRFZGl0UHJlJyxmYWxzZSk7CgkJCSR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoICdOZXdzJywgJ05ld3NBcnRpY2xlQWRkZWQnLGZhbHNlKTsKCQkJJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlciggJ05ld3MnLCAnTmV3c0FydGljbGVFZGl0ZWQnLGZhbHNlKTsKCQkJJG9iaiA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgiQ0dCbG9nIik7CgkJCWlmKCBpc19vYmplY3QoJG9iaikgKSAgewoJCQkJJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlciggJ0NHQmxvZycsICdDR0Jsb2dBcnRpY2xlRWRpdGVkJyxmYWxzZSk7CgkJCX0KCQl9CgkJCi8vCQkyMDExLjEyLjIyIExCTCBhdXNrb21tZW50aWVydCwgZGEgZGlyZWt0IGluIERvRXZlbnQgZ2VzdGV1ZXJ0IC0+IENvbnRlbnRQb3N0UmVuZGVyIHdpcmQgYXVjaCBmw7xyIGFuZGVyZXMgZ2VudXR6dAovLwkJaWYgKCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZG9udF91c2VfZXZlbnRfaGFuZGxlcicpKSB7Ci8vCQkJJHRoaXMtPkFkZEV2ZW50SGFuZGxlciggJ0NvcmUnLCAnQ29udGVudFBvc3RSZW5kZXInLCBmYWxzZSApOwovLwkJCSMkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCAnQ29yZScsICdDb250ZW50UHJlQ29tcGlsZScsIGZhbHNlICk7ICAgLS0+IGRvZXNuJ3Qgd29yawovLwkJfQoJfQoKCS8qKgoJKiBSdW4gRXZlbnQKCSovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gRG9FdmVudCgkb3JpZ2luYXRvciwgJGV2ZW50bmFtZSwgJiRwYXJhbXMpIHsKCgkJJHRoaXMtPnBhZ2VJZCA9IChpbnQpY21zbXMoKS0+Z2V0X3ZhcmlhYmxlKCJjb250ZW50X2lkIik7CgkJCi8vCQlpZiAoJHRoaXMtPnRiRXZlbnRzIGFuZCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZG9udF91c2VfZXZlbnRfaGFuZGxlcicpKSB7CgkJaWYgKCR0aGlzLT50YkV2ZW50cykgewoJCQkvLyBDaGVjayBldmVudAoJCQlpZigkb3JpZ2luYXRvcj09J0NvcmUnICYmICRldmVudG5hbWU9PSdDb250ZW50UG9zdFJlbmRlcicpewoJCQkJLy8gQ2hlY2sgaWYgbW9kdWxlIHdhcyBhbHJlYWR5IHVzZWQKCQkJCWlmICghJHRoaXMtPnRiVXNlZCkgewoJCQkJCS8vIFNldCB0aGUgbW9kdWxlIHVzZWQKCQkJCQkkdGhpcy0+dGJVc2VkID0gdHJ1ZTsKCQkJCQkKCQkJCQkkbG9nID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3N0YXRzX3VzZScpID8gJHRoaXMtPnRiUmVkaXJlY3RMb2ctPlByZXBhcmVMb2dWaXNpdCgpIDogYXJyYXkoKTsJLy8gTG9nIHZpc2l0CgkJCQkJaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlYnVnX3VzZScpKSAkdGhpcy0+dGJSZWRpcmVjdExvZy0+RGVidWdNRCgpOwkJCQkJCQkvLyBMb2cgZGVidWcKCQkJCQlpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ29sZHVybF91c2UnKSkgJHRoaXMtPnRiUmVkaXJlY3RMb2ctPlJlZGlyZWN0VVJMKCRsb2cpOwkJCQkvLyBMb29rIGZvciByZWRpcmVjdCB1cmxzCgkJCQkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdGF0c180MDQnKSkgJHRoaXMtPnRiUmVkaXJlY3RMb2ctPkxvZ0Vycm9yKCRsb2cpOwkJCQkJLy8gTG9nIGVycm9ycyAoZS5nLiA0MDQpCgkJCQl9CgkJCX0KCQl9CgkJLy8gVGVtcGxhdGUgQ1NTIHVuZCBKYXZhc2NyaXB0IGVpbmJpbmRlbgkKCQlpZiAoJG9yaWdpbmF0b3IgPT0gJ0NvcmUnICYmICRldmVudG5hbWUgPT0gJ0NvbnRlbnRQb3N0UmVuZGVyJykKCQl7CgkJCS8vIEF1dG9MaWdodEJveCBlaW5iaW5kZW4KCQkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfdXNlJykgYW5kICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfbGlnaHRib3gnKSkgewoJCQkJCgkJCQkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiY3VycmVudF9hdXRvbGlnaHRib3hfdGVtcGxhdGUiKTsKCQkJCSR0ZW1wbGF0ZXByb3BzID0gdGJVdGlsczo6Z2V0VGVtcGxhdGVQcm9wcygkdGVtcGxhdGUpOwoJCQkJJGNvbnRlbnRzY29kZSA9IGV4cGxvZGUoVE9PTEJPWF9TRVBBUkFUT1IsICR0aGlzLT5HZXRUZW1wbGF0ZSgkdGVtcGxhdGUpKTsKCQkJCQoJCQkJLy8kY29udGVudCA9IGlzc2V0KCRjb250ZW50c2NvZGVbMF0pID8gJGNvbnRlbnRzY29kZVswXSA6ICcnOwoJCQkJJHN0eWxlc2hlZXQgPSBpc3NldCgkY29udGVudHNjb2RlWzFdKSA/IHN0cl9yZXBsYWNlKCIqfSIsICIiLCAkY29udGVudHNjb2RlWzFdKSA6ICcnOwoJCQkJJGphdmFzY3JpcHQgPSBpc3NldCgkY29udGVudHNjb2RlWzJdKSA/IHN0cl9yZXBsYWNlKCIqfSIsICIiLCAkY29udGVudHNjb2RlWzJdKSA6ICcnOwoJCQkJJHN0eWxlc2hlZXRtb2JpbGUgPSBpc3NldCgkY29udGVudHNjb2RlWzRdKSA/IHN0cl9yZXBsYWNlKCIqfSIsICIiLCAkY29udGVudHNjb2RlWzRdKSA6ICcnOwoJCQkJJGphdmFzY3JpcHRtb2JpbGUgPSBpc3NldCgkY29udGVudHNjb2RlWzVdKSA/IHN0cl9yZXBsYWNlKCIqfSIsICIiLCAkY29udGVudHNjb2RlWzVdKSA6ICcnOwoJCQkJCgkJCQkkbW9iaWxlID0gIiI7CgkJCQlpZiAoaXNzZXQoJHRlbXBsYXRlcHJvcHNbJ3VzZV9tb2JpbGV0ZW1wbGF0ZSddKSBhbmQgJHRoaXMtPnRibW9iaWxlLT5pc01vYmlsZSgpKSB7CgkJCQkJJHN0eWxlc2hlZXQgPSAkc3R5bGVzaGVldG1vYmlsZTsKCQkJCQkkamF2YXNjcmlwdCA9ICRqYXZhc2NyaXB0bW9iaWxlOwoJCQkJCSRtb2JpbGUgPSAiX21vYmlsZSI7CgkJCQl9CgkJCQkKCQkJCWlmICghaXNzZXQoJHRoaXMtPnRiTWV0YVskdGVtcGxhdGVdKSkgewoJCQkJCWlmICgkc3R5bGVzaGVldCkgJHRoaXMtPnRiTWV0YVskdGVtcGxhdGVdID0gJzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iJy4kdGhpcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9jc3MvJy4kdGVtcGxhdGUuJG1vYmlsZS4nLmNzcyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iIC8+Jy4iXG4iOwoJCQkJCWlmICgkdGVtcGxhdGVwcm9wc1snanF1ZXJ5J10pCSR0aGlzLT50YkpxdWVyeSA9IHRydWU7CQoJCQkJCWlmICgkamF2YXNjcmlwdCkJCQkJJHRoaXMtPnRiTWV0YUpzWyR0ZW1wbGF0ZV0gPSB0YlV0aWxzOjpleGVjdXRlVGVtcGxhdGVTbWFydHkoJGphdmFzY3JpcHQpLiJcbiI7CgkJCQl9CgkJCX0KCQkJCgkJCSRtZXRhZGF0YQk9IGltcGxvZGUoIlxuIiwkdGhpcy0+dGJNZXRhKTsKCQkJJG1ldGFqcyAJPSBpbXBsb2RlKCJcbiIsJHRoaXMtPnRiTWV0YUpzKTsKCQkJCgkJCWlmICgkdGhpcy0+dGJKcXVlcnkpIHsKCQkJCSRtZXRhanMgPSB0YlV0aWxzOjpnZXRqUXVlcnkoKS4iXG4iLiRtZXRhanM7CgkJCX0KCQkJCgkJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgibWluaWZ5IikpIHsKCQkJCSRtaW5pZnkgPSBidE1pbmlmeTo6bWluaWZ5RnJvbUh0bWwoJG1ldGFkYXRhLiRtZXRhanMpOwoJCQkJJG1ldGFkYXRhCT0gJG1pbmlmeS0+Y3NzOwoJCQkJJG1ldGFqcwkJPSAkbWluaWZ5LT5qcy4kbWluaWZ5LT5qc3NyYzsKCQkJfQoJCQkvLyBIZWFkZXIgTWV0YWRhdGVuIGVyZ8OkbnplbgoJCQlpZiAoKHN0cmxlbih0cmltKCRtZXRhZGF0YSwiXG4iKSkgPiAwIG9yIChzdHJsZW4odHJpbSgkbWV0YWpzLCJcbiIpKSA+IDApIGFuZCAhJHRoaXMtPkdldFByZWZlcmVuY2UoImpzX2Zvb3RlciIpKSkgewoJCQkJaWYgKCEkdGhpcy0+R2V0UHJlZmVyZW5jZSgianNfZm9vdGVyIikpICRtZXRhZGF0YSAuPSJcbiIuJG1ldGFqczsKCQkJCSRwYXJhbXNbImNvbnRlbnQiXSA9IHRiVXRpbHM6OmFkZEh0bWxCZWZvclRhZygkcGFyYW1zWyJjb250ZW50Il0sICRtZXRhZGF0YSwgIjwvaGVhZD4iKTsKCQkJfQoJCQkJCgkJCQkKCQkJLy8gSlMgdm9yIGRlbSA8L2JvZHk+IGVyZ8OkbnplbiwgZmFsbHMgYWt0aXZpZXJ0CgkJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgianNfZm9vdGVyIikgYW5kIHN0cmxlbih0cmltKCRtZXRhanMsIlxuIikpID4gMCkgewoJCQkJJHBhcmFtc1siY29udGVudCJdID0gdGJVdGlsczo6YWRkSHRtbEJlZm9yVGFnKCRwYXJhbXNbImNvbnRlbnQiXSwgJG1ldGFqcywgIjwvYm9keT4iKTsKCQkJfQoJCX0KCQkKCQkKCQkvLyBTZXQgQXV0b0xpZ2h0Qm94IEF0dHJpYnV0ZXMKCQkkYXR0cmlidXRlcyA9IGFycmF5KCk7CgkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfcmVsJykpCSRhdHRyaWJ1dGVzWydyZWwnXQkJPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X3JlbCcpOwoJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b2xpZ2h0Ym94X2NsYXNzJykpCSRhdHRyaWJ1dGVzWydjbGFzcyddCT0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF9jbGFzcycpOwoKCQkJCgkJLy8gRXhlY3V0ZSBBdXRvTGlnaHRCb3ggRXZlbnQKCQlpZiAoJG9yaWdpbmF0b3IgPT0gJ0NvcmUnICYmICRldmVudG5hbWUgPT0gJ0NvbnRlbnRFZGl0UHJlJykgewoJCQkvLyBhbHRlcm5hdGl2ZSB6dSBtZXRob2RfZXhpdHM6IGlzX2NhbGxhYmxlKGFycmF5KCRwYXJhbXNbJ2NvbnRlbnQnXSwgJ2dldF9jb250ZW50X2Jsb2NrcycpKQoJCQlpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF91c2UnKSAmJiBpc3NldCgkcGFyYW1zWydjb250ZW50J10pICYmIG1ldGhvZF9leGlzdHMoJHBhcmFtc1snY29udGVudCddLCAnZ2V0X2NvbnRlbnRfYmxvY2tzJykpIHsKCQkJCWZvcmVhY2goJHBhcmFtc1snY29udGVudCddLT5nZXRfY29udGVudF9ibG9ja3MoKSBhcyAkYmxvY2tfbmFtZSA9PiAkYmxvY2tfaW5mbykKCQkJCXsKCQkJCQkkcGFyYW1zWydjb250ZW50J10tPlNldFByb3BlcnR5VmFsdWUoJGJsb2NrX25hbWUsCgkJCQkJCUF1dG9saWdodGJveDo6SW1nMlRodW1iKCRwYXJhbXNbJ2NvbnRlbnQnXS0+R2V0UHJvcGVydHlWYWx1ZSgkYmxvY2tfbmFtZSksCSRhdHRyaWJ1dGVzKQoJCQkJCSk7CgkJCQl9CgkJCX0KCQl9CgkJCgkJaWYgKCRvcmlnaW5hdG9yID09ICdOZXdzJyAmJiAoJGV2ZW50bmFtZSA9PSAnTmV3c0FydGljbGVBZGRlZCcgb3IgJGV2ZW50bmFtZSA9PSAnTmV3c0FydGljbGVFZGl0ZWQnKSkgewoJCQlpZiAoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9saWdodGJveF91c2UnKSAmJiBpc3NldCgkcGFyYW1zWydjb250ZW50J10pICYmIGlzc2V0KCRwYXJhbXNbJ25ld3NfaWQnXSkpIAoJCQl7CgkJCQkkcGFyYW1zWydjb250ZW50J10gPSBBdXRvbGlnaHRib3g6OkltZzJUaHVtYigkcGFyYW1zWydjb250ZW50J10sICRhdHRyaWJ1dGVzKTsKCQkJCSR0aGlzLT5kYi0+RXhlY3V0ZSgKCQkJCQkiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfbmV3cyAKCQkJCQkJU0VUIG5ld3NfZGF0YSA9ID8gCgkJCQkJCVdIRVJFIG5ld3NfaWQgPSA/IiwgCgkJCQkJYXJyYXkoJHBhcmFtc1snY29udGVudCddLCAkcGFyYW1zWyduZXdzX2lkJ10pCgkJCQkpOwoJCQl9CgkJfQoJCQoJCWlmICgkb3JpZ2luYXRvciA9PSAnQ0dCbG9nJyAmJiAoJGV2ZW50bmFtZSA9PSAnQ0dCbG9nQXJ0aWNsZUFkZGVkJyBvciAkZXZlbnRuYW1lID09ICdDR0Jsb2dBcnRpY2xlRWRpdGVkJykpIHsKCQkJaWYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvbGlnaHRib3hfdXNlJykgJiYgaXNzZXQoJHBhcmFtc1snY29udGVudCddKSAmJiBpc3NldCgkcGFyYW1zWydjZ2Jsb2dfaWQnXSkpIAoJCQl7CgkJCQkkcGFyYW1zWydjb250ZW50J10gPSBBdXRvbGlnaHRib3g6OkltZzJUaHVtYigkcGFyYW1zWydjb250ZW50J10sICRhdHRyaWJ1dGVzKTsKCQkJCSR0aGlzLT5kYi0+RXhlY3V0ZSgKCQkJCQkiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfY2dibG9nIAoJCQkJCQlTRVQgY2dibG9nX2RhdGEgPSA/IAoJCQkJCQlXSEVSRSBjZ2Jsb2dfaWQgPSA/IiwKCQkJCQlhcnJheSgkcGFyYW1zWydjb250ZW50J10sICRwYXJhbXNbJ2NnYmxvZ19pZCddKQoJCQkJKTsKCQkJfQoJCX0KCX0KCQoJLyoqCgkgKiAKCSAqIEbDvGd0IGRlbSBCYWNrZW5kaGVhZCBlaW4gSmF2YXNjcmlwdCAvIENTUyBoaW56dQoJICoKCSAqIEBhY2Nlc3MgcHVibGljCgkgKiBAcmV0dXJuIEhlYWRlciBKUyBhbmQgQ1NTCgkgKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRIZWFkZXJIVE1MKCl7CgoJCWdsb2JhbCAkaWQ7CgkJJHNjcmlwdCA9ICI8IS0tIFRvb2xCb3ggLS0+XG4iOwoJCSRzY3JpcHQgLj0gJzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9IicuJHRoaXMtPmNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzL1Rvb2xCb3hCYWNrZW5kU3R5bGVzLmNzcyIgLz4nLiJcbiI7CgkJJHNjcmlwdC49ICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIgJy4kdGhpcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9qcy9Ub29sQm94QmFja2VuZEpTLmpzIj48L3NjcmlwdD4nLiJcbiI7CgkJJHNjcmlwdC49ICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIgJy4kdGhpcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9qcy9qcXVlcnkuY29sb3JwaWNrZXIuanMiPjwvc2NyaXB0PicuIlxuIjsKCQkkc2NyaXB0Lj0gJzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9IicuJHRoaXMtPmNvbmZpZ1sncm9vdF91cmwnXS4nL21vZHVsZXMvVG9vbEJveC90ZW1wbGF0ZXMvY3NzL2pxdWVyeS5jb2xvcnBpY2tlci5jc3MiIC8+Jy4iXG4iOwoJCQoJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGFpbF91c2UnKSkgewoJCQkkYXJyYXkgPSBhcnJheSgpOwoJCQkkYXJyYXlbJ2Rpc2FibGVfdGhlbWUnXSA9IHRydWU7CgkJCSR1cmwgPSBzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkb19sb2dVcGRhdGVyJywgJycsICcnLCAkYXJyYXksICcnLCB0cnVlKSk7IAoJCQkkc2NyaXB0Lj0gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IiAnLiR0aGlzLT5jb25maWdbJ3Jvb3RfdXJsJ10uJy9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzL2pxdWVyeS5wZXJpb2RpY2FsdXBkYXRlci5qcyI+PC9zY3JpcHQ+Jy4iXG4iOwoJCX0KCQkkc2NyaXB0Lj0iPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCI+CgkJCQlqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CgkJCQkJCgkgICAgICAgICAgICAgICAgJCgnIyIuJGlkLiJ3bXRfY29sb3InKS5jb2xvcnBpY2tlcih7CgkJCQkJYWx0RmllbGQ6ICcjIi4kaWQuIndtdF9jb2xvcicsCgkJCQkJYWx0UHJvcGVydGllczogJ2JhY2tncm91bmQtY29sb3IsY29sb3InLAoJCQkJCWFsdEFscGhhOiB0cnVlLAoJCQkJCWFscGhhOiB0cnVlCgkJCQl9KTsKCSAgICAgICAgICAgICAgICAKCSAgICAgICAgICAgICAgICAKCSAgICAgICAgICAgICAgICAiOwoJCWlmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGFpbF91c2UnKSkgewoJCQkkc2NyaXB0Lj0iCQoJCQkJCS8vIFdlbm4gVGFpbGxvZ2FyZWEgZXhpc3RpZXJ0LCBsb2dnaW5nIHN0YXJ0ZW4KCQkJCQlpZiAoJCgnI3RhaWxsb2dhcmVhJykubGVuZ3RoID4gMCl7CgkJCQkJCXZhciBsb2dGaWxlID0gJCgnaW5wdXRbbmFtZT1cIiIuJGlkLiJsb2dGaWxlXCJdJykudmFsKCk7IAoJCQkJCQl2YXIga2V5IAk9ICQoJ2lucHV0W25hbWU9XCIiLiRpZC4ia2V5XCJdJykudmFsKCk7CgkJCQkJCXZhciBoICAJCT0gJCgnaW5wdXRbbmFtZT1cIiIuJGlkLiJoXCJdJykudmFsKCk7CgkJCQkJCXZhciBsaW5lcyAgCT0gJCgnaW5wdXRbbmFtZT1cIiIuJGlkLiJsaW5lc1wiXScpLnZhbCgpOwoJCQkJCQkkKCcjdGFpbGxvZ2FyZWEnKVswXS5zY3JvbGxUb3AgPSAkKCcjdGFpbGxvZ2FyZWEnKVswXS5zY3JvbGxIZWlnaHQ7CgkJCQkJCSQuUGVyaW9kaWNhbFVwZGF0ZXIoJyIuJHVybC4iJiIuJGlkLiJmPScrbG9nRmlsZSsnJiIuJGlkLiJrPScra2V5KycmIi4kaWQuImg9JytoKycmIi4kaWQuImw9JytsaW5lcywgewoJCQkJCQkJbWV0aG9kOiAncG9zdCcsICAgICAgICAgCgkJCQkJCQltaW5UaW1lb3V0OiAxMDAwLAoJCQkJCQkJbWF4VGltZW91dDogODAwMCwKCQkJCQkJCW11bHRpcGxpZXI6IDIsCgkJCQkJCQl0eXBlOiAnaHRtbCcgCgkJCQkJCX0sIGZ1bmN0aW9uKGRhdGEpIHsKCQkJCQkJCQkkKCcjdGFpbGxvZ2FyZWEnKVswXS50ZXh0Q29udGVudCAgPSAkKCcjdGFpbGxvZ2FyZWEnKVswXS50ZXh0Q29udGVudCArIGRhdGEKCQkJCQkJCQkkKCcjdGFpbGxvZ2FyZWEnKVswXS5zY3JvbGxUb3AgPSAkKCcjdGFpbGxvZ2FyZWEnKVswXS5zY3JvbGxIZWlnaHQ7CgkJCQkJCX0pOwoJCQkJCX0KCQkJCQkiOwoJCX0KCQkkc2NyaXB0Lj0iCgkJCQlpZiAoISQoJyN1c2VfbW9iaWxldGVtcGxhdGUnKS5pcygnOmNoZWNrZWQnKSkgewoJCQkgICAgICAkKCcjbW9iaWxlJykuaGlkZSgpOwoJCQkgICAgICAkKCcjbW9iaWxlX2MnKS5oaWRlKCk7CgkJCSAgICB9CgkJCQkkKCcjdXNlX21vYmlsZXRlbXBsYXRlJykuY2xpY2soZnVuY3Rpb24oKXsKCQkJCSAgICBpZiggJCh0aGlzKS5hdHRyKCdjaGVja2VkJykgKSB7CgkJCQkgICAgICAkKCcjbW9iaWxlJykuc2hvdygpOwoJCQkJICAgICAgJCgnI21vYmlsZV9jJykuc2hvdygpOwoJCQkJICAgIH0KCQkJCSAgICBlbHNlIHsKCQkJCSAgICAgICQoJyNtb2JpbGUnKS5oaWRlKCk7CgkJCQkgICAgICAkKCcjbW9iaWxlX2MnKS5oaWRlKCk7CgkJCQkgICAgICAkKCcjZGVza3RvcCcpLmF0dHIoJ2NsYXNzJywnYWN0aXZlJyk7CgkJCQkgICAgICAkKCcjZGVza3RvcF9jJykuYXR0cignc3R5bGUnLCdkaXNwbGF5OmJsb2NrJyk7CgkJCQkgICAgICAkKCcjbW9iaWxlJykuYXR0cignY2xhc3MnLCcnKTsKCQkJCSAgICB9CgkJCQkgIH0pOwoJCQl9KTsKCQkJPC9zY3JpcHQ+IjsKCQkKCQkKCQkkc2NyaXB0IC49ICc8bGluayBocmVmPSInLiR0aGlzLT5jb25maWdbJ3Jvb3RfdXJsJ10uJy9tb2R1bGVzL1Rvb2xCb3gvdGVtcGxhdGVzL2pzL2ZpbGV1cGxvYWRlci9maWxldXBsb2FkZXIuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPicuIlxuIjsKCQkkc2NyaXB0IC49ICc8c2NyaXB0IHNyYz0iJy4kdGhpcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9Ub29sQm94L3RlbXBsYXRlcy9qcy9maWxldXBsb2FkZXIvZmlsZXVwbG9hZGVyLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwvc2NyaXB0PicuIlxuIjsKCQkKCQlyZXR1cm4gJHNjcmlwdDsKCX0KCgkvKioKCSogU2V0IHBhcmFtZXRlcnMgZm9yIHRoaXMgbW9kdWxlLgoJKiBAcmV0dXJuIHN0cmluZwoJKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBTZXRQYXJhbWV0ZXJzKCkgewoKCQkkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKCQkkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CgkJCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbW9kJywgJycsICR0aGlzLT5sYW5nKCdwYXJhbW1vZCcpKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbW9kJyxDTEVBTl9TVFJJTkcpOwoKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd0ZW1wbGF0ZScsICcnLCAkdGhpcy0+bGFuZygncGFyYW10ZW1wbGF0ZScpKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndGVtcGxhdGUnLENMRUFOX1NUUklORyk7CgoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2RldGFpbHRlbXBsYXRlJywgJycsICR0aGlzLT5sYW5nKCdwYXJhbWRldGFpbHRlbXBsYXRlJykpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdkZXRhaWx0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKCQkKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWxlJywgJycsICR0aGlzLT5sYW5nKCdwYXJhbWZpbGUnKSk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2ZpbGUnLENMRUFOX1NUUklORyk7CgkJCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZGVsaW1pdGVyJywgJycsICR0aGlzLT5sYW5nKCdwYXJhbWRlbGltaXRlcicpKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGVsaW1pdGVyJyxDTEVBTl9TVFJJTkcpOwoJCQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbGVjaGFyc2V0JywgJycsICR0aGlzLT5sYW5nKCdwYXJhbWZpbGVjaGFyc2V0JykpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdmaWxlY2hhcnNldCcsQ0xFQU5fU1RSSU5HKTsKCQkKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdhY3Rpb24nLCAnJywgJHRoaXMtPmxhbmcoJ3BhcmFtYWN0aW9uJykpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdhY3Rpb24nLENMRUFOX1NUUklORyk7CgkJCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc29ydGJ5JywgJycsICR0aGlzLT5sYW5nKCdwYXJhbXNvcnRieScpKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc29ydGJ5JyxDTEVBTl9TVFJJTkcpOwoJCQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3NvcnRvcmRlcicsICcnLCAkdGhpcy0+bGFuZygncGFyYW1zb3J0b3JkZXInKSk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NvcnRvcmRlcicsQ0xFQU5fU1RSSU5HKTsKCQkKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd1c2VybmFtZScsICcnLCAkdGhpcy0+bGFuZygncGFyYW11c2VybmFtZScpKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndXNlcm5hbWUnLENMRUFOX1NUUklORyk7CgkJCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbGlzdCcsICcnLCAkdGhpcy0+bGFuZygncGFyYW1saXN0JykpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdsaXN0JyxDTEVBTl9TVFJJTkcpOwoKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzZWFyY2gnLCAnJywgJHRoaXMtPmxhbmcoJ3BhcmFtc2VhcmNoJykpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzZWFyY2gnLENMRUFOX1NUUklORyk7CgkJCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignY291bnQnLCAnJywgJHRoaXMtPmxhbmcoJ3BhcmFtY291bnQnKSk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NvdW50JyxDTEVBTl9JTlQpOwoJCQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2RhdGVmb3JtYXQnLCAnJywgJHRoaXMtPmxhbmcoJ3BhcmFtZGF0ZWZvcm1hdCcpKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGF0ZWZvcm1hdCcsQ0xFQU5fU1RSSU5HKTsKCQkKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjYWNoZXRpbWUnLCAnJywgJHRoaXMtPmxhbmcoJ3BhcmFtY2FjaGV0aW1lJykpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjYWNoZXRpbWUnLENMRUFOX0lOVCk7CgkJCi8vCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdpbWFnZScsICcnLCAkdGhpcy0+bGFuZygncGFyYW1pbWFnZScpKTsKLy8JCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbWFnZScsQ0xFQU5fU1RSSU5HKTsKLy8JCQovLwkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaGVpZ2h0JywgJycsICR0aGlzLT5sYW5nKCdwYXJhbWhlaWdodCcpKTsKLy8JCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdoZWlnaHQnLENMRUFOX0lOVCk7Ci8vCQkKLy8JCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3dpZHRoJywgJycsICR0aGlzLT5sYW5nKCdwYXJhbXdpZHRoJykpOwovLwkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3dpZHRoJyxDTEVBTl9JTlQpOwovLwkJCi8vCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdhbHQnLCAnJywgJHRoaXMtPmxhbmcoJ3BhcmFtYWx0JykpOwovLwkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2FsdCcsQ0xFQU5fU1RSSU5HKTsKLy8KLy8JCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3RpdGxlJywgJycsICR0aGlzLT5sYW5nKCdwYXJhbXRpdGxlJykpOwovLwkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3RpdGxlJyxDTEVBTl9TVFJJTkcpOwovLwkJCi8vCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjbGFzcycsICcnLCAkdGhpcy0+bGFuZygncGFyYW1pZCcpKTsKLy8JCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjbGFzcycsQ0xFQU5fU1RSSU5HKTsKLy8KLy8JCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2lkJywgJycsICR0aGlzLT5sYW5nKCdwYXJhbWNsYXNzJykpOwovLwkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lkJyxDTEVBTl9TVFJJTkcpOwovLwovLwkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc3R5bGUnLCAnJywgJHRoaXMtPmxhbmcoJ3BhcmFtc3R5bGUnKSk7Ci8vCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3R5bGUnLENMRUFOX1NUUklORyk7Ci8vCQkKLy8JCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ25vX3RhZycsICcnLCAkdGhpcy0+bGFuZygncGFyYW1ub3RhZycpKTsKLy8JCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub190YWcnLENMRUFOX1NUUklORyk7CgkJCgkJIyR0aGlzLT5SZWdpc3RlclJvdXRlKCcvW3NTXWl0ZW1hcC54bWxcLyg/UDxtb2RlPlswLTldKykkLycpOwoKCQkvLyBNb2R1bGUgcGFyYW1zCgkJLy8gJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncGFyYW1OYW1lJywnZGVmYXVsdFZhbHVlJywnSGVscERlc2NyaXB0aW9uJyk7CgoJCS8vIEZvcm0gcGFyYW1zCgkJLy8gJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BhcmFtTmFtZScsQ0xFQU5fVFlQRSk7CgkJLy8gQ0xFQU5fVFlQRSBjb3VsZCBiZSBDTEVBTl9OT05FIC8gQ0xFQU5fU1RSSU5HIC8gQ0xFQU5fSU5UIC8gQ0xFQU5fRkxPQVQgLyBDTEVBTl9GSUxFCgkJIyR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYWdlaWQnLENMRUFOX0lOVCk7CgkJIyR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYWdlYWxpYXMnLENMRUFOX1NUUklORyk7CgkJIyR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdsaW5rdmFsdWUnLENMRUFOX1NUUklORyk7CgoJfQoKCS8qKgoJICogSW5pdGFsaXplIHBhcmFtcyBmb3IgYmFja2VuZAoJICovCglmdW5jdGlvbiBJbml0aWFsaXplQWRtaW4oKSB7CgkgICR0aGlzLT5TZXRQYXJhbWV0ZXJzKCk7Cgl9CgoJLyoqCgkgKiBFbmFibGUgTGF6eUxvYWQgaW4gRnJvbnRlbmQKCSAqIEByZXR1cm4gYm9vbGVhbgoJICovCglmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgewoJICByZXR1cm4gRkFMU0U7Cgl9CgkKCS8qKgoJKiBTZXRzIHRoZSBwZXJtaXNzaW9uIGZvciB0aGlzIG1vZHVsZS4KCSogQHJldHVybiBzdHJpbmcKCSovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkgewoJCXJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVG9vbEJveCcpOwoJfQoKCS8qKgoJKiBHZXRzIGEgbWVzc2FnZSB0byBkaXNwbGF5IGFmdGVyIGluc3RhbGxpbmcgdGhlIG1vZHVsZQoJKiBAcmV0dXJuIHN0cmluZwoJKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0aW5zdGFsbCcpOwoJfQoKCS8qKgoJKiBHZXRzIGEgbWVzc2FnZSB0byBkaXNwbHkgYWZ0ZXIgdW5pbnN0YWxsaW5nIHRoaXMgbW9kdWxlLgoJKiBAcmV0dXJuIHN0cmluZwoJKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpIHsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsKCX0KCgkvKioKCSogR2V0cyBhIG1lc3NhZ2UgYmVmb3JlIHVuaW5zdGFsbGluZyB0aGlzIG1vZHVsZQoJKiBAcmV0dXJuIHN0cmluZwoJKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkgewoJCXJldHVybiAkdGhpcy0+TGFuZygncHJldW5pbnN0YWxsJyk7Cgl9CgoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIGdldFRwbFRva2VuKCkKCXsKCQlyZXR1cm4gYXJyYXkoImFsYl8iLCJ0d2ZfIiwiY3N2c3VtXyIsImNzdmRldF8iKTsKCX0gICAKCQoJLyoqCgkgKiAKCSAqIERlZmluaWVydCBkZW4gTmFtZW4gZGVzIExvZ2ZpbGVzCgkgKiBAcGFyYW0gJGZpbGVuYW1lCgkgKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBzZXRMb2dGaWxlKCRmaWxlbmFtZSl7CgkJaWYgKCFAaXNfZGlyKCR0aGlzLT50YkxvZ1BhdGgpKSB7CgkJCUBta2RpcigkdGhpcy0+dGJMb2dQYXRoLDA3NTUpOwoJCX0JCgkJCgkJLy8gQWxsZXMgd2FzIG5pY2h0IGFscGhhbnVtZXJpc2NoIGlzdCwgZXJzZXR6ZW4KCQkkZmlsZW5hbWUgPSBwcmVnX3JlcGxhY2UoJy9bXmEtejAtOV8tXS9pc1UnLCAnJywgJGZpbGVuYW1lKTsKCQkJCQoJCSR0aGlzLT50YkxvZ0ZpbGUgPSAkZmlsZW5hbWUuIi5sb2ciOwoJCQoJCS8vIExvZ2ZpbGUgZXJzdGVsbGVuLCBmYWxscyBub2NoIG5pY2h0IHZvcmhhbmRlbgoJCWlmICghZmlsZV9leGlzdHMoJHRoaXMtPnRiTG9nUGF0aC4kdGhpcy0+dGJMb2dGaWxlKSkgewoJCQkkZnAgPSBAZm9wZW4oJHRoaXMtPnRiTG9nUGF0aC4kdGhpcy0+dGJMb2dGaWxlLCAidyIpOwoJCQlAZmNsb3NlKCRmcCk7CgkJfQoJfQoJCgkvKioKCSAqIAoJICogU2NocmVpYnQgaW5zIExvZ2ZpbGUKCSAqIEBwYXJhbSAkbWVzc2FnZQoJICovCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gbHdyaXRlKCRtZXNzYWdlKXsKCQlpZiAoISR0aGlzLT50YmZwKSAkdGhpcy0+bG9wZW4oKTsKCQkvLyRzY3JpcHRfbmFtZSA9IHBhdGhpbmZvKCRfU0VSVkVSWydQSFBfU0VMRiddLCBQQVRISU5GT19GSUxFTkFNRSk7CgkJJHRpbWUgPSBkYXRlKCdZLW0tZCBIOmk6cycpOwoJCWlmIChpc19hcnJheSgkbWVzc2FnZSkpICRtZXNzYWdlID0gcHJpbnRfcigkbWVzc2FnZSx0cnVlKTsKCQlmd3JpdGUoJHRoaXMtPmZwLCAkdGltZS4iICIuJG1lc3NhZ2UuIlxuIik7CgkKCX0KCQkKCS8qKgoJICogCgkgKiDDlmZmbmV0IGRhcyBMb2dmaWxlIHp1bSBzY2hyZWliZW4KCSAqLwoJcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBsb3BlbigpIHsKCQkkdGhpcy0+ZnAgPSBmb3BlbigkdGhpcy0+dGJMb2dQYXRoLiR0aGlzLT50YkxvZ0ZpbGUsICdhJyk7Cgl9CgoJLyoqCgkgKiAKCSAqIEVyemV1Z3QgZWluZSBadWZhbGxzcmVpaGUgYXVzIFphaGxlbiB1bmQgQnVjaHN0YWJlbgoJICogQGJhc2VkIG9uIGh0dHA6Ly93d3cucGhwLm5ldC9tYW51YWwvZGUvZnVuY3Rpb24ucmFuZC5waHAjMTA2MDA0CgkgKiBAcGFyYW0gaW50ICRsZW5ndGggLSBMw6RuZ2UgZGVzIFJhbmRvbS1TdHJpbmdzCgkgKi8KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiByYW5kb21BbHBoYU51bSgkbGVuZ3RoKSB7CgkgICAgJHJhbmdlTWluID0gcG93KDM2LCAkbGVuZ3RoLTEpOyAvL3NtYWxsZXN0IG51bWJlciB0byBnaXZlIGxlbmd0aCBkaWdpdHMgaW4gYmFzZSAzNgoJICAgICRyYW5nZU1heCA9IHBvdygzNiwgJGxlbmd0aCktMTsgLy9sYXJnZXN0IG51bWJlciB0byBnaXZlIGxlbmd0aCBkaWdpdHMgaW4gYmFzZSAzNgoJICAgICRiYXNlMTBSYW5kID0gbXRfcmFuZCgkcmFuZ2VNaW4sICRyYW5nZU1heCk7IC8vZ2V0IHRoZSByYW5kb20gbnVtYmVyCgkgICAgJG5ld1JhbmQgPSBiYXNlX2NvbnZlcnQoJGJhc2UxMFJhbmQsIDEwLCAzNik7IC8vY29udmVydCBpdAoJICAgCgkgICAgcmV0dXJuICRuZXdSYW5kOyAvL3NwaXQgaXQgb3V0Cgl9CgkKCn0gLy8gRW5kIG9mIGNsYXNzCgoKLy8gRU9G]]></data>
	</file>
</module>
